summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/i386
ModeNameSize
-rw-r--r--Makefile.add536logstatsplain
-rw-r--r--__longjmp.S491logstatsplain
-rw-r--r--__testandset.S143logstatsplain
-rw-r--r--clone.S938logstatsplain
-rw-r--r--mmap.c479logstatsplain
-rw-r--r--select.S69logstatsplain
-rw-r--r--setjmp.S822logstatsplain
-rw-r--r--start.S880logstatsplain
-rw-r--r--unified.S1161logstatsplain
s?h=topic/rp-pppoe'>docs/comparisons44
-rw-r--r--docs/diskdrake.TODO23
-rw-r--r--docs/draknet_advanced_doc.txt165
-rw-r--r--docs/mdk-vs-redhat43
-rw-r--r--docs/object_class.fig32
-rw-r--r--docs/wizard.doc31
-rw-r--r--live_update77
-rwxr-xr-xmake_boot_img433
-rwxr-xr-xmake_ks_from_floppy10
-rw-r--r--mdk-stage1/.cvsignore10
-rw-r--r--mdk-stage1/Makefile240
-rw-r--r--mdk-stage1/Makefile.common51
-rw-r--r--mdk-stage1/Makefile.mkinitrd_helper30
-rw-r--r--mdk-stage1/adsl.c106
-rw-r--r--mdk-stage1/adsl.h34
-rw-r--r--mdk-stage1/automatic.c148
-rw-r--r--mdk-stage1/automatic.h32
-rw-r--r--mdk-stage1/bzlib/Makefile55
-rw-r--r--mdk-stage1/bzlib/blocksort.c1138
-rw-r--r--mdk-stage1/bzlib/bzlib.c1567
-rw-r--r--mdk-stage1/bzlib/bzlib_private.h530
-rw-r--r--mdk-stage1/bzlib/compress.c720
-rw-r--r--mdk-stage1/bzlib/crctable.c148
-rw-r--r--mdk-stage1/bzlib/decompress.c664
-rw-r--r--mdk-stage1/bzlib/huffman.c232
-rw-r--r--mdk-stage1/bzlib/randtable.c128
-rw-r--r--mdk-stage1/cdrom.c181
-rw-r--r--mdk-stage1/cdrom.h29
-rw-r--r--mdk-stage1/config-stage1.h45
-rw-r--r--mdk-stage1/dhcp.c614
-rw-r--r--mdk-stage1/dhcp.h34
-rw-r--r--mdk-stage1/dietlibc/.cvsignore12
-rw-r--r--mdk-stage1/dietlibc/AUTHOR1
-rw-r--r--mdk-stage1/dietlibc/Makefile148
-rw-r--r--mdk-stage1/dietlibc/README43
-rw-r--r--mdk-stage1/dietlibc/alpha/Makefile.add5
-rw-r--r--mdk-stage1/dietlibc/alpha/__longjmp.S38
-rw-r--r--mdk-stage1/dietlibc/alpha/__time.c11
-rw-r--r--mdk-stage1/dietlibc/alpha/accept.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/bind.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/clone.S42
-rw-r--r--mdk-stage1/dietlibc/alpha/connect.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/divl.S101
-rw-r--r--mdk-stage1/dietlibc/alpha/divq.S102
-rw-r--r--mdk-stage1/dietlibc/alpha/getegid.S11
-rw-r--r--mdk-stage1/dietlibc/alpha/geteuid.S11
-rw-r--r--mdk-stage1/dietlibc/alpha/getgid.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getpeername.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getpid.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getppid.S11
-rw-r--r--mdk-stage1/dietlibc/alpha/getsockname.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getuid.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/listen.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/mmap.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/msgctl.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/msgget.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/msgrcv.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/msgsnd.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/pipe.S17
-rw-r--r--mdk-stage1/dietlibc/alpha/recv.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/recvfrom.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/recvmsg.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/reml.S101
-rw-r--r--mdk-stage1/dietlibc/alpha/remq.S97
-rw-r--r--mdk-stage1/dietlibc/alpha/semctl.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/semget.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/semop.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/send.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/sendmsg.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/sendto.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/seteuid.c7
-rw-r--r--mdk-stage1/dietlibc/alpha/setjmp.S46
-rw-r--r--mdk-stage1/dietlibc/alpha/setsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shmat.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shmctl.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shmdt.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shmget.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shutdown.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/signal.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/sigprocmask.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/socket.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/socketcall.S5
-rw-r--r--mdk-stage1/dietlibc/alpha/start.S35
-rw-r--r--mdk-stage1/dietlibc/alpha/strlen.c32
-rw-r--r--mdk-stage1/dietlibc/alpha/time.S0
-rw-r--r--mdk-stage1/dietlibc/alpha/unified.S29
-rw-r--r--mdk-stage1/dietlibc/alpha/utime.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/waitpid.S10
-rw-r--r--mdk-stage1/dietlibc/diet.c112
-rw-r--r--mdk-stage1/dietlibc/dietdirent.h6
-rw-r--r--mdk-stage1/dietlibc/dietfeatures.h42
-rw-r--r--mdk-stage1/dietlibc/dietstdarg.h12
-rw-r--r--mdk-stage1/dietlibc/dietstdio.h81
-rw-r--r--mdk-stage1/dietlibc/dietwarning.h23
-rw-r--r--mdk-stage1/dietlibc/dirstream.h78
-rw-r--r--mdk-stage1/dietlibc/i386/Makefile.add3
-rw-r--r--mdk-stage1/dietlibc/i386/__longjmp.S18
-rw-r--r--mdk-stage1/dietlibc/i386/__testandset.S8
-rw-r--r--mdk-stage1/dietlibc/i386/clone.S51
-rw-r--r--mdk-stage1/dietlibc/i386/mmap.c16
-rw-r--r--mdk-stage1/dietlibc/i386/select.S3
-rw-r--r--mdk-stage1/dietlibc/i386/setjmp.S62
-rw-r--r--mdk-stage1/dietlibc/i386/start.S42
-rw-r--r--mdk-stage1/dietlibc/i386/unified.S34
-rw-r--r--mdk-stage1/dietlibc/include/alloca.h0
-rw-r--r--mdk-stage1/dietlibc/include/arpa/inet.h19
-rw-r--r--mdk-stage1/dietlibc/include/arpa/nameser.h217
-rw-r--r--mdk-stage1/dietlibc/include/assert.h27
-rw-r--r--mdk-stage1/dietlibc/include/ctype.h28
-rw-r--r--mdk-stage1/dietlibc/include/daemon.h6
-rw-r--r--mdk-stage1/dietlibc/include/dirent.h26
-rw-r--r--mdk-stage1/dietlibc/include/dlfcn.h15
-rw-r--r--mdk-stage1/dietlibc/include/elf.h1
-rw-r--r--mdk-stage1/dietlibc/include/endian.h43
-rw-r--r--mdk-stage1/dietlibc/include/errno.h11
-rw-r--r--mdk-stage1/dietlibc/include/fcntl.h24
-rw-r--r--mdk-stage1/dietlibc/include/features.h3
-rw-r--r--mdk-stage1/dietlibc/include/fnmatch.h15
-rw-r--r--mdk-stage1/dietlibc/include/ftw.h51
-rw-r--r--mdk-stage1/dietlibc/include/getopt.h32
-rw-r--r--mdk-stage1/dietlibc/include/glob.h55
-rw-r--r--mdk-stage1/dietlibc/include/grp.h25
-rw-r--r--mdk-stage1/dietlibc/include/inttypes.h0
-rw-r--r--mdk-stage1/dietlibc/include/limits.h48
-rw-r--r--mdk-stage1/dietlibc/include/locale.h6
-rw-r--r--mdk-stage1/dietlibc/include/malloc.h1
-rw-r--r--mdk-stage1/dietlibc/include/math.h61
-rw-r--r--mdk-stage1/dietlibc/include/memory.h6
-rw-r--r--mdk-stage1/dietlibc/include/mntent.h72
-rw-r--r--mdk-stage1/dietlibc/include/net/if.h11
-rw-r--r--mdk-stage1/dietlibc/include/net/if_arp.h6
-rw-r--r--mdk-stage1/dietlibc/include/net/route.h6
-rw-r--r--mdk-stage1/dietlibc/include/netdb.h90
-rw-r--r--mdk-stage1/dietlibc/include/netinet/in.h9
-rw-r--r--mdk-stage1/dietlibc/include/netinet/in_systm.h0
-rw-r--r--mdk-stage1/dietlibc/include/netinet/ip.h6
-rw-r--r--mdk-stage1/dietlibc/include/paths.h16
-rw-r--r--mdk-stage1/dietlibc/include/pthread.h227
-rw-r--r--mdk-stage1/dietlibc/include/pwd.h24
-rw-r--r--mdk-stage1/dietlibc/include/regex.h67
-rw-r--r--mdk-stage1/dietlibc/include/resolv.h1
-rw-r--r--mdk-stage1/dietlibc/include/rpc/auth.h213
-rw-r--r--mdk-stage1/dietlibc/include/rpc/auth_des.h112
-rw-r--r--mdk-stage1/dietlibc/include/rpc/auth_unix.h90
-rw-r--r--mdk-stage1/dietlibc/include/rpc/clnt.h421
-rw-r--r--mdk-stage1/dietlibc/include/rpc/des_crypt.h97
-rw-r--r--mdk-stage1/dietlibc/include/rpc/key_prot.h346
-rw-r--r--mdk-stage1/dietlibc/include/rpc/netdb.h74
-rw-r--r--mdk-stage1/dietlibc/include/rpc/pmap_clnt.h98
-rw-r--r--mdk-stage1/dietlibc/include/rpc/pmap_prot.h108
-rw-r--r--mdk-stage1/dietlibc/include/rpc/pmap_rmt.h68
-rw-r--r--mdk-stage1/dietlibc/include/rpc/rpc.h72
-rw-r--r--mdk-stage1/dietlibc/include/rpc/rpc_des.h72
-rw-r--r--mdk-stage1/dietlibc/include/rpc/rpc_msg.h202
-rw-r--r--mdk-stage1/dietlibc/include/rpc/svc.h316
-rw-r--r--mdk-stage1/dietlibc/include/rpc/svc_auth.h54
-rw-r--r--mdk-stage1/dietlibc/include/rpc/types.h78
-rw-r--r--mdk-stage1/dietlibc/include/rpc/xdr.h379
-rw-r--r--mdk-stage1/dietlibc/include/sched.h74
-rw-r--r--mdk-stage1/dietlibc/include/scsi/scsi.h224
-rw-r--r--mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h34
-rw-r--r--mdk-stage1/dietlibc/include/scsi/sg.h274
-rw-r--r--mdk-stage1/dietlibc/include/setjmp.h123
-rw-r--r--mdk-stage1/dietlibc/include/shadow.h24
-rw-r--r--mdk-stage1/dietlibc/include/signal.h35
-rw-r--r--mdk-stage1/dietlibc/include/stdint.h6
-rw-r--r--mdk-stage1/dietlibc/include/stdio.h97
-rw-r--r--mdk-stage1/dietlibc/include/stdlib.h67
-rw-r--r--mdk-stage1/dietlibc/include/string.h57
-rw-r--r--mdk-stage1/dietlibc/include/strings.h2
-rw-r--r--mdk-stage1/dietlibc/include/sys/cdefs.h36
-rw-r--r--mdk-stage1/dietlibc/include/sys/file.h19
-rw-r--r--mdk-stage1/dietlibc/include/sys/io.h41
-rw-r--r--mdk-stage1/dietlibc/include/sys/ioctl.h10
-rw-r--r--mdk-stage1/dietlibc/include/sys/ipc.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/kd.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/mman.h33
-rw-r--r--mdk-stage1/dietlibc/include/sys/mount.h19
-rw-r--r--mdk-stage1/dietlibc/include/sys/msg.h13
-rw-r--r--mdk-stage1/dietlibc/include/sys/mtio.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/param.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/poll.h11
-rw-r--r--mdk-stage1/dietlibc/include/sys/ptrace.h10
-rw-r--r--mdk-stage1/dietlibc/include/sys/reboot.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/resource.h16
-rw-r--r--mdk-stage1/dietlibc/include/sys/select.h0
-rw-r--r--mdk-stage1/dietlibc/include/sys/sem.h11
-rw-r--r--mdk-stage1/dietlibc/include/sys/sendfile.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/shm.h17
-rw-r--r--mdk-stage1/dietlibc/include/sys/signal.h1
-rw-r--r--mdk-stage1/dietlibc/include/sys/socket.h46
-rw-r--r--mdk-stage1/dietlibc/include/sys/stat.h52
-rw-r--r--mdk-stage1/dietlibc/include/sys/syscall.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/sysinfo.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/syslog.h102
-rw-r--r--mdk-stage1/dietlibc/include/sys/time.h46
-rw-r--r--mdk-stage1/dietlibc/include/sys/times.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/types.h33
-rw-r--r--mdk-stage1/dietlibc/include/sys/uio.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/un.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/utsname.h35
-rw-r--r--mdk-stage1/dietlibc/include/sys/vfs.h11
-rw-r--r--mdk-stage1/dietlibc/include/sys/wait.h37
-rw-r--r--mdk-stage1/dietlibc/include/syslog.h1
-rw-r--r--mdk-stage1/dietlibc/include/termios.h22
-rw-r--r--mdk-stage1/dietlibc/include/time.h24
-rw-r--r--mdk-stage1/dietlibc/include/unistd.h168
-rw-r--r--mdk-stage1/dietlibc/include/utime.h16
-rw-r--r--mdk-stage1/dietlibc/include/utmp.h73
-rw-r--r--mdk-stage1/dietlibc/lib/__dtostr.c104
-rw-r--r--mdk-stage1/dietlibc/lib/__fstat64.c25
-rw-r--r--mdk-stage1/dietlibc/lib/__getcwd.c10
-rw-r--r--mdk-stage1/dietlibc/lib/__isnan.c14
-rw-r--r--mdk-stage1/dietlibc/lib/__lltostr.c31
-rw-r--r--mdk-stage1/dietlibc/lib/__lstat64.c25
-rw-r--r--mdk-stage1/dietlibc/lib/__ltostr.c31
-rw-r--r--mdk-stage1/dietlibc/lib/__stat64.c25
-rw-r--r--mdk-stage1/dietlibc/lib/__stat64_cvt.c18
-rw-r--r--mdk-stage1/dietlibc/lib/__xmknod.c6
-rw-r--r--mdk-stage1/dietlibc/lib/_brk.c14
-rw-r--r--mdk-stage1/dietlibc/lib/abort.c13
-rw-r--r--mdk-stage1/dietlibc/lib/abs.c6
-rw-r--r--mdk-stage1/dietlibc/lib/accept.c14
-rw-r--r--mdk-stage1/dietlibc/lib/alarm.c47
-rw-r--r--mdk-stage1/dietlibc/lib/alloc.c243
-rw-r--r--mdk-stage1/dietlibc/lib/assert_fail.c30
-rw-r--r--mdk-stage1/dietlibc/lib/atexit.c23
-rw-r--r--mdk-stage1/dietlibc/lib/atof.c10
-rw-r--r--mdk-stage1/dietlibc/lib/atoi.c8
-rw-r--r--mdk-stage1/dietlibc/lib/atol.c8
-rw-r--r--mdk-stage1/dietlibc/lib/bind.c12
-rw-r--r--mdk-stage1/dietlibc/lib/bsearch.c20
-rw-r--r--mdk-stage1/dietlibc/lib/cfmakeraw.c14
-rw-r--r--mdk-stage1/dietlibc/lib/closedir.c10
-rw-r--r--mdk-stage1/dietlibc/lib/connect.c14
-rw-r--r--mdk-stage1/dietlibc/lib/creat.c5
-rw-r--r--mdk-stage1/dietlibc/lib/creat64.c9
-rw-r--r--mdk-stage1/dietlibc/lib/errlist.c132
-rw-r--r--mdk-stage1/dietlibc/lib/errno_location.c5
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.c20
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.h9
-rw-r--r--mdk-stage1/dietlibc/lib/execl.c24
-rw-r--r--mdk-stage1/dietlibc/lib/execlp.c26
-rw-r--r--mdk-stage1/dietlibc/lib/execv.c13
-rw-r--r--mdk-stage1/dietlibc/lib/execvp.c38
-rw-r--r--mdk-stage1/dietlibc/lib/ftw.c52
-rw-r--r--mdk-stage1/dietlibc/lib/getdomainname.c17
-rw-r--r--mdk-stage1/dietlibc/lib/getenv.c17
-rw-r--r--mdk-stage1/dietlibc/lib/gethostname.c18
-rw-r--r--mdk-stage1/dietlibc/lib/getopt.c118
-rw-r--r--mdk-stage1/dietlibc/lib/getpeername.c13
-rw-r--r--mdk-stage1/dietlibc/lib/getpgrp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/getservent.c137
-rw-r--r--mdk-stage1/dietlibc/lib/getsockname.c13
-rw-r--r--mdk-stage1/dietlibc/lib/getsockopt.c13
-rw-r--r--mdk-stage1/dietlibc/lib/htonl.c12
-rw-r--r--mdk-stage1/dietlibc/lib/htons.c11
-rw-r--r--mdk-stage1/dietlibc/lib/if_indextoname.c29
-rw-r--r--mdk-stage1/dietlibc/lib/if_nametoindex.c27
-rw-r--r--mdk-stage1/dietlibc/lib/isalnum.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isalpha.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isascii.c6
-rw-r--r--mdk-stage1/dietlibc/lib/isatty.c20
-rw-r--r--mdk-stage1/dietlibc/lib/isblank.c6
-rw-r--r--mdk-stage1/dietlibc/lib/iscntrl.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isdigit.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isgraph.c5
-rw-r--r--mdk-stage1/dietlibc/lib/islower.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isprint.c6
-rw-r--r--mdk-stage1/dietlibc/lib/ispunct.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isspace.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isupper.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isxdigit.c5
-rw-r--r--mdk-stage1/dietlibc/lib/listen.c13
-rw-r--r--mdk-stage1/dietlibc/lib/lockf.c37
-rw-r--r--mdk-stage1/dietlibc/lib/longjmp.c51
-rw-r--r--mdk-stage1/dietlibc/lib/lseek64.c22
-rw-r--r--mdk-stage1/dietlibc/lib/memccmp.c17
-rw-r--r--mdk-stage1/dietlibc/lib/memccpy.c19
-rw-r--r--mdk-stage1/dietlibc/lib/memchr.c9
-rw-r--r--mdk-stage1/dietlibc/lib/memcmp.c16
-rw-r--r--mdk-stage1/dietlibc/lib/memcpy.c12
-rw-r--r--mdk-stage1/dietlibc/lib/memmove.c23
-rw-r--r--mdk-stage1/dietlibc/lib/memset.c9
-rw-r--r--mdk-stage1/dietlibc/lib/mkfifo.c6
-rw-r--r--mdk-stage1/dietlibc/lib/msgctl.c10
-rw-r--r--mdk-stage1/dietlibc/lib/msgget.c10
-rw-r--r--mdk-stage1/dietlibc/lib/msgrcv.c13
-rw-r--r--mdk-stage1/dietlibc/lib/msgsnd.c10
-rw-r--r--mdk-stage1/dietlibc/lib/nop.c7
-rw-r--r--mdk-stage1/dietlibc/lib/open64.c14
-rw-r--r--mdk-stage1/dietlibc/lib/opendir.c18
-rw-r--r--mdk-stage1/dietlibc/lib/perror.c22
-rw-r--r--mdk-stage1/dietlibc/lib/pread.c10
-rw-r--r--mdk-stage1/dietlibc/lib/pread64.c13
-rw-r--r--mdk-stage1/dietlibc/lib/putenv.c37
-rw-r--r--mdk-stage1/dietlibc/lib/puts.c12
-rw-r--r--mdk-stage1/dietlibc/lib/qsort.c125
-rw-r--r--mdk-stage1/dietlibc/lib/raise.c8
-rw-r--r--mdk-stage1/dietlibc/lib/rand.c9
-rw-r--r--mdk-stage1/dietlibc/lib/random.c9
-rw-r--r--mdk-stage1/dietlibc/lib/readdir.c13
-rw-r--r--mdk-stage1/dietlibc/lib/reboot.c8
-rw-r--r--mdk-stage1/dietlibc/lib/recv.c15
-rw-r--r--mdk-stage1/dietlibc/lib/recvfrom.c15
-rw-r--r--mdk-stage1/dietlibc/lib/recvmsg.c15
-rw-r--r--mdk-stage1/dietlibc/lib/remove.c11
-rw-r--r--mdk-stage1/dietlibc/lib/rewind.c6
-rw-r--r--mdk-stage1/dietlibc/lib/rewinddir.c8
-rw-r--r--mdk-stage1/dietlibc/lib/sbrk.c20
-rw-r--r--mdk-stage1/dietlibc/lib/seekdir.c8
-rw-r--r--mdk-stage1/dietlibc/lib/semctl.c10
-rw-r--r--mdk-stage1/dietlibc/lib/semget.c10
-rw-r--r--mdk-stage1/dietlibc/lib/semop.c10
-rw-r--r--mdk-stage1/dietlibc/lib/send.c15
-rw-r--r--mdk-stage1/dietlibc/lib/sendmsg.c15
-rw-r--r--mdk-stage1/dietlibc/lib/sendto.c15
-rw-r--r--mdk-stage1/dietlibc/lib/set_errno.c9
-rw-r--r--mdk-stage1/dietlibc/lib/setpgrp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/setsockopt.c13
-rw-r--r--mdk-stage1/dietlibc/lib/shmat.c15
-rw-r--r--mdk-stage1/dietlibc/lib/shmctl.c10
-rw-r--r--mdk-stage1/dietlibc/lib/shmdt.c10
-rw-r--r--mdk-stage1/dietlibc/lib/shmget.c10
-rw-r--r--mdk-stage1/dietlibc/lib/shutdown.c14
-rw-r--r--mdk-stage1/dietlibc/lib/sigaddset.c15
-rw-r--r--mdk-stage1/dietlibc/lib/sigdelset.c15
-rw-r--r--mdk-stage1/dietlibc/lib/sigemptyset.c14
-rw-r--r--mdk-stage1/dietlibc/lib/sigfillset.c11
-rw-r--r--mdk-stage1/dietlibc/lib/sigismember.c21
-rw-r--r--mdk-stage1/dietlibc/lib/sigjmp.c35
-rw-r--r--mdk-stage1/dietlibc/lib/sleep.c11
-rw-r--r--mdk-stage1/dietlibc/lib/snprintf.c14
-rw-r--r--mdk-stage1/dietlibc/lib/socket.c12
-rw-r--r--mdk-stage1/dietlibc/lib/speed.c67
-rw-r--r--mdk-stage1/dietlibc/lib/sprintf.c18
-rw-r--r--mdk-stage1/dietlibc/lib/sscanf.c13
-rw-r--r--mdk-stage1/dietlibc/lib/strcasecmp.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strcat.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strchr.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strcmp.c16
-rw-r--r--mdk-stage1/dietlibc/lib/strcpy.c15
-rw-r--r--mdk-stage1/dietlibc/lib/strcspn.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strdup.c9
-rw-r--r--mdk-stage1/dietlibc/lib/strerror.c10
-rw-r--r--mdk-stage1/dietlibc/lib/strlcat.c72
-rw-r--r--mdk-stage1/dietlibc/lib/strlcpy.3169
-rw-r--r--mdk-stage1/dietlibc/lib/strlcpy.c68
-rw-r--r--mdk-stage1/dietlibc/lib/strlen.c47
-rw-r--r--mdk-stage1/dietlibc/lib/strncasecmp.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strncat.c31
-rw-r--r--mdk-stage1/dietlibc/lib/strncmp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/strncpy.c10
-rw-r--r--mdk-stage1/dietlibc/lib/strpbrk.c11
-rw-r--r--mdk-stage1/dietlibc/lib/strrchr.c20
-rw-r--r--mdk-stage1/dietlibc/lib/strsep.c16
-rw-r--r--mdk-stage1/dietlibc/lib/strspn.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strstr.c15
-rw-r--r--mdk-stage1/dietlibc/lib/strtod.c52
-rw-r--r--mdk-stage1/dietlibc/lib/strtok.c8
-rw-r--r--mdk-stage1/dietlibc/lib/strtok_r.c21
-rw-r--r--mdk-stage1/dietlibc/lib/strtol.c15
-rw-r--r--mdk-stage1/dietlibc/lib/strtoll.c15
-rw-r--r--mdk-stage1/dietlibc/lib/strtoul.c32
-rw-r--r--mdk-stage1/dietlibc/lib/strtoull.c30
-rw-r--r--mdk-stage1/dietlibc/lib/sys_siglist.c37
-rw-r--r--mdk-stage1/dietlibc/lib/tcdrain.c8
-rw-r--r--mdk-stage1/dietlibc/lib/tcflush.c23
-rw-r--r--mdk-stage1/dietlibc/lib/tcgetattr.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tcgetpgrp.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tcsetattr.c27
-rw-r--r--mdk-stage1/dietlibc/lib/tcsetpgrp.c7
-rw-r--r--mdk-stage1/dietlibc/lib/telldir.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tolower.c6
-rw-r--r--mdk-stage1/dietlibc/lib/toupper.c6
-rw-r--r--mdk-stage1/dietlibc/lib/ttyname.c59
-rw-r--r--mdk-stage1/dietlibc/lib/usleep.c12
-rw-r--r--mdk-stage1/dietlibc/lib/vfork.c6
-rw-r--r--mdk-stage1/dietlibc/lib/vfprintf.c19
-rw-r--r--mdk-stage1/dietlibc/lib/vprintf.c14
-rw-r--r--mdk-stage1/dietlibc/lib/vsnprintf.c238
-rw-r--r--mdk-stage1/dietlibc/lib/vsprintf.c10
-rw-r--r--mdk-stage1/dietlibc/lib/vsscanf.c304
-rw-r--r--mdk-stage1/dietlibc/lib/wait.c6
-rw-r--r--mdk-stage1/dietlibc/lib/wait3.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/___div.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft.c115
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft2.c185
-rw-r--r--mdk-stage1/dietlibc/libcruft/entlib.c153
-rw-r--r--mdk-stage1/dietlibc/libcruft/entlib.h44
-rw-r--r--mdk-stage1/dietlibc/libcruft/getdtablesize.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrgid.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrnam.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr.c38
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c51
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname.c39
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname2.c40
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c36
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname_r.c30
-rw-r--r--mdk-stage1/dietlibc/libcruft/getlogin.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpagesize.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpass.c40
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwnam.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwuid.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspnam.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/grent.c54
-rw-r--r--mdk-stage1/dietlibc/libcruft/h_errno.c1
-rw-r--r--mdk-stage1/dietlibc/libcruft/herrno_location.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_addr.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_aton.c43
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntoa.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c22
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntop.c75
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_pton.c97
-rw-r--r--mdk-stage1/dietlibc/libcruft/initgroups.c23
-rw-r--r--mdk-stage1/dietlibc/libcruft/mkstemp.c23
-rw-r--r--mdk-stage1/dietlibc/libcruft/pwent.c43
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_init.c7
-rw-r--r--mdk-stage1/dietlibc/libcruft/spent.c45
-rw-r--r--mdk-stage1/dietlibc/libcrypt/crypt.c309
-rw-r--r--mdk-stage1/dietlibc/libdl/Makefile24
-rw-r--r--mdk-stage1/dietlibc/libdl/README6
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_int.h31
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_jump.S8
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_open.c207
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_search.c84
-rw-r--r--mdk-stage1/dietlibc/libdl/dlclose.c14
-rw-r--r--mdk-stage1/dietlibc/libdl/dlerror.c4
-rw-r--r--mdk-stage1/dietlibc/libdl/dlopen.c21
-rw-r--r--mdk-stage1/dietlibc/libdl/dlsym.c7
-rw-r--r--mdk-stage1/dietlibc/libdl/elf_hash.c12
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c5
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c4
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-islower.c5
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isprint.c4
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isupper.c5
-rw-r--r--mdk-stage1/dietlibc/libpthread/CHANGES45
-rw-r--r--mdk-stage1/dietlibc/libpthread/Makefile139
-rw-r--r--mdk-stage1/dietlibc/libpthread/README42
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_atfork.c77
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c14
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c14
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_init.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c23
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c25
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cancel.c35
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c27
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c23
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c23
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c19
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_init.c14
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c24
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c43
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c37
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_condattr.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_create.c76
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_detach.c36
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_exit.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_getspecific.c20
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_join.c50
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_create.c35
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_delete.c21
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c16
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c33
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c36
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c34
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_once.c9
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_self.c4
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c25
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c25
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setspecific.c21
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_spinlock.c38
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c26
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_close.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_create.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c31
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c11
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_open.c12
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_read.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_write.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_testcancel.c16
-rw-r--r--mdk-stage1/dietlibc/libpthread/test.c72
-rw-r--r--mdk-stage1/dietlibc/libpthread/thread_internal.c344
-rw-r--r--mdk-stage1/dietlibc/libpthread/thread_internal.h131
-rw-r--r--mdk-stage1/dietlibc/libpthread/thread_key.c41
-rw-r--r--mdk-stage1/dietlibc/libregex/rx.c434
-rw-r--r--mdk-stage1/dietlibc/librpc/auth_none.c128
-rw-r--r--mdk-stage1/dietlibc/librpc/auth_unix.c313
-rw-r--r--mdk-stage1/dietlibc/librpc/authunix_prot.c69
-rw-r--r--mdk-stage1/dietlibc/librpc/bindresvport.c79
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_generic.c112
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_perror.c302
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_raw.c230
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_simple.c116
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_tcp.c463
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_udp.c437
-rw-r--r--mdk-stage1/dietlibc/librpc/get_myaddress.c69
-rw-r--r--mdk-stage1/dietlibc/librpc/getrpcent.c274
-rw-r--r--mdk-stage1/dietlibc/librpc/getrpcport.c57
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_clnt.c118
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_getmaps.c85
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_getport.c90
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_prot.c58
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_prot2.c116
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_rmt.c403
-rw-r--r--mdk-stage1/dietlibc/librpc/rpc_callmsg.c189
-rw-r--r--mdk-stage1/dietlibc/librpc/rpc_commondata.c42
-rw-r--r--mdk-stage1/dietlibc/librpc/rpc_dtablesize.c50
-rw-r--r--mdk-stage1/dietlibc/librpc/rpc_prot.c281
-rw-r--r--mdk-stage1/dietlibc/librpc/svc.c479
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_auth.c115
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_auth_unix.c136
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_raw.c159
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_run.c71
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_simple.c144
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_tcp.c406
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_udp.c467
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr.c536
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_array.c152
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_float.c284
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_mem.c180
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_rec.c573
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_reference.c130
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_stdio.c187
-rw-r--r--mdk-stage1/dietlibc/libshell/fnmatch.c74
-rw-r--r--mdk-stage1/dietlibc/libshell/glob.c350
-rw-r--r--mdk-stage1/dietlibc/libshell/realpath.c31
-rw-r--r--mdk-stage1/dietlibc/libstdio/clearerr.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fclose.c24
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdglue.c49
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdopen.c21
-rw-r--r--mdk-stage1/dietlibc/libstdio/feof.c9
-rw-r--r--mdk-stage1/dietlibc/libstdio/ferror.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fflush.c62
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgetc.c40
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgets.c20
-rw-r--r--mdk-stage1/dietlibc/libstdio/fileno.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fopen.c21
-rw-r--r--mdk-stage1/dietlibc/libstdio/fprintf.c23
-rw-r--r--mdk-stage1/dietlibc/libstdio/fputc.c19
-rw-r--r--mdk-stage1/dietlibc/libstdio/fputs.c6
-rw-r--r--mdk-stage1/dietlibc/libstdio/fread.c51
-rw-r--r--mdk-stage1/dietlibc/libstdio/freopen.c9
-rw-r--r--mdk-stage1/dietlibc/libstdio/fseek.c11
-rw-r--r--mdk-stage1/dietlibc/libstdio/ftell.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/fwrite.c30
-rw-r--r--mdk-stage1/dietlibc/libstdio/printf.c29
-rw-r--r--mdk-stage1/dietlibc/libstdio/putchar.c6
-rw-r--r--mdk-stage1/dietlibc/libstdio/setvbuf.c18
-rw-r--r--mdk-stage1/dietlibc/libstdio/stderr.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/stdin.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/stdout.c14
-rw-r--r--mdk-stage1/dietlibc/libstdio/ungetc.c11
-rw-r--r--mdk-stage1/dietlibc/libugly/asctime.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/asctime_r.c29
-rw-r--r--mdk-stage1/dietlibc/libugly/asprintf.c22
-rw-r--r--mdk-stage1/dietlibc/libugly/ctime.c5
-rw-r--r--mdk-stage1/dietlibc/libugly/daemon.c35
-rw-r--r--mdk-stage1/dietlibc/libugly/endmntent.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/facilitynames.c32
-rw-r--r--mdk-stage1/dietlibc/libugly/getmntent.c30
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotoent.c130
-rw-r--r--mdk-stage1/dietlibc/libugly/gmtime.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/gmtime_r.c35
-rw-r--r--mdk-stage1/dietlibc/libugly/isleap.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/localtime.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/localtime_r.c21
-rw-r--r--mdk-stage1/dietlibc/libugly/logging.c211
-rw-r--r--mdk-stage1/dietlibc/libugly/mktime.c21
-rw-r--r--mdk-stage1/dietlibc/libugly/pclose.c11
-rw-r--r--mdk-stage1/dietlibc/libugly/popen.c32
-rw-r--r--mdk-stage1/dietlibc/libugly/prioritynames.c22
-rw-r--r--mdk-stage1/dietlibc/libugly/setenv.c17
-rw-r--r--mdk-stage1/dietlibc/libugly/setmntent.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/strftime.c182
-rw-r--r--mdk-stage1/dietlibc/libugly/strsignal.c92
-rw-r--r--mdk-stage1/dietlibc/libugly/system.c69
-rw-r--r--mdk-stage1/dietlibc/libugly/time_table_spd.c17
-rw-r--r--mdk-stage1/dietlibc/libugly/tzfile.c86
-rw-r--r--mdk-stage1/dietlibc/libugly/unsetenv.c6
-rw-r--r--mdk-stage1/dietlibc/ppc/Makefile.add3
-rw-r--r--mdk-stage1/dietlibc/ppc/__longjmp.S59
-rw-r--r--mdk-stage1/dietlibc/ppc/__testandset.S11
-rw-r--r--mdk-stage1/dietlibc/ppc/mmap.c37
-rw-r--r--mdk-stage1/dietlibc/ppc/setjmp.S56
-rw-r--r--mdk-stage1/dietlibc/ppc/start.S44
-rw-r--r--mdk-stage1/dietlibc/ppc/unified.S21
-rw-r--r--mdk-stage1/dietlibc/sparc/Makefile.add3
-rw-r--r--mdk-stage1/dietlibc/sparc/__longjmp.S67
-rw-r--r--mdk-stage1/dietlibc/sparc/__testandset.S6
-rw-r--r--mdk-stage1/dietlibc/sparc/clone.S45
-rw-r--r--mdk-stage1/dietlibc/sparc/fork.S25
-rw-r--r--mdk-stage1/dietlibc/sparc/mmap.c43
-rw-r--r--mdk-stage1/dietlibc/sparc/pipe.S26
-rw-r--r--mdk-stage1/dietlibc/sparc/setjmp.S37
-rw-r--r--mdk-stage1/dietlibc/sparc/shmat.c19
-rw-r--r--mdk-stage1/dietlibc/sparc/start.S46
-rw-r--r--mdk-stage1/dietlibc/sparc/udiv.S363
-rw-r--r--mdk-stage1/dietlibc/sparc/umul.S170
-rw-r--r--mdk-stage1/dietlibc/sparc/unified.S28
-rw-r--r--mdk-stage1/dietlibc/sparc/urem.S362
-rw-r--r--mdk-stage1/dietlibc/start.h14
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/_llseek.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/_newselect.c6
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/access.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/chdir.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/chmod.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/chown.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/chroot.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/clone.c1
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/close.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/dup.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/dup2.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/execve.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/exit.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fchdir.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fchmod.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fchown.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fcntl.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/flock.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fork.c6
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fsync.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/ftruncate.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getcwd.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getdents.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getegid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/geteuid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getgid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getgroups.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getpgid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getpid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getppid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getpriority.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getresgid.c8
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getresuid.c8
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getrlimit.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getrusage.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getsid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/gettimeofday.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getuid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/ioctl.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/kill.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/lchown.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/link.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/lseek.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mkdir.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mknod.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mount.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mprotect.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mremap.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/munmap.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/nanosleep.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/open.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/pipe.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/poll.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/read.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/readlink.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/reboot.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/rename.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/rmdir.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setdomainname.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setgid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setgroups.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sethostname.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setitimer.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setpgid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setpriority.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setregid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setresgid.c8
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setresuid.c8
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setreuid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setrlimit.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setsid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setuid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sigaction.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/signal.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sigpending.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sigprocmask.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sigsuspend.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/socketcall.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/swapoff.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/swapon.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/symlink.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sync.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/syslog.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/time.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/truncate.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/umask.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/umount.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/uname.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/unlink.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/utime.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/vhangup.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/wait4.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/waitpid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/write.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.h142
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__getpagesize.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__pread.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__reboot.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/_llseek.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/access.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/brk.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chdir.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chmod.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chown.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chroot.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/close.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/dup.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/dup2.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/execve.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/exit.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fchdir.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fchmod.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fchown.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fcntl.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/flock.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fork.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstat64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstatfs.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fsync.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ftruncate.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getcwd.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getdents.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getdents64.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getegid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/geteuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgroups.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getitimer.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getpgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getpid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getppid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getpriority.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getresgid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getresuid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getrlimit.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getrusage.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getsid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/gettimeofday.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ioctl.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ioperm.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/iopl.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ipc.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/kill.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lchown.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/link.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/llseek.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lseek.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lstat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lstat64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mkdir.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mknod.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mlockall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mount.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mprotect.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mremap.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munlockall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munmap.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nanosleep.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nice.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/open.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pause.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/personality.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pipe.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/poll.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ptrace.s3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pwrite.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/query_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/read.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/readlink.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/readv.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rename.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rmdir.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_getparam.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_setparam.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_yield.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/select.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sendfile.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setdomainname.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgroups.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sethostname.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setitimer.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setpgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setpriority.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setregid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresgid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresuid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setreuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setrlimit.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setsid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigaction.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigaltstack.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/signal.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigpending.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigprocmask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigsuspend.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/socketcall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/statfs.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stime.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/swapoff.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/swapon.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/symlink.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sync.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sysctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sysinfo.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/syslog.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/time.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/times.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/truncate.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umount.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umount2.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/uname.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/unlink.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/utime.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/vhangup.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/wait4.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/waitpid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/write.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/writev.S3
-rw-r--r--mdk-stage1/disk.c243
-rw-r--r--mdk-stage1/disk.h27
-rw-r--r--mdk-stage1/dns.c213
-rw-r--r--mdk-stage1/dns.h30
-rw-r--r--mdk-stage1/doc/HACKING31
-rw-r--r--mdk-stage1/doc/README185
-rw-r--r--mdk-stage1/doc/TECH-INFOS45
-rw-r--r--mdk-stage1/doc/WHY-DIETLIBC50
-rw-r--r--mdk-stage1/doc/documented..frontend.h69
-rw-r--r--mdk-stage1/frontend-common.c43
-rw-r--r--mdk-stage1/frontend.h50
-rw-r--r--mdk-stage1/init-data/emptyboot.img.bz2bin6342 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot-graphicallogo-2880.img.bz2bin30301 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot-graphicallogo.img.bz2bin28868 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot.img.bz2bin30378 -> 0 bytes-rw-r--r--mdk-stage1/init-libc-headers.h44
-rw-r--r--mdk-stage1/init.c464
-rw-r--r--mdk-stage1/insmod-busybox/.cvsignore2
-rw-r--r--mdk-stage1/insmod-busybox/Config.h132
-rw-r--r--mdk-stage1/insmod-busybox/Makefile65
-rw-r--r--mdk-stage1/insmod-busybox/README8
-rw-r--r--mdk-stage1/insmod-busybox/busybox.h467
-rw-r--r--mdk-stage1/insmod-busybox/insmod-frontend.c24
-rw-r--r--mdk-stage1/insmod-busybox/insmod.c2951
-rw-r--r--mdk-stage1/insmod-busybox/loop.h5
-rw-r--r--mdk-stage1/insmod-busybox/messages.c90
-rw-r--r--mdk-stage1/insmod-busybox/utility.c1759
-rw-r--r--mdk-stage1/insmod-modutils/Makefile63
-rw-r--r--mdk-stage1/insmod-modutils/include/config.h105
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_alpha.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_arm.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_hppa.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_hppa64.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_i386.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_ia64.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_m68k.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_mips.h24
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_ppc.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_s390.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_sparc.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_sparc64.h27
-rw-r--r--mdk-stage1/insmod-modutils/include/kallsyms.h131
-rw-r--r--mdk-stage1/insmod-modutils/include/kerneld.h46
-rw-r--r--mdk-stage1/insmod-modutils/include/modstat.h55
-rw-r--r--mdk-stage1/insmod-modutils/include/module.h210
-rw-r--r--mdk-stage1/insmod-modutils/include/obj.h275
-rw-r--r--mdk-stage1/insmod-modutils/include/util.h101
-rw-r--r--mdk-stage1/insmod-modutils/include/version.h1
-rw-r--r--mdk-stage1/insmod-modutils/insmod-frontend.c24
-rw-r--r--mdk-stage1/insmod-modutils/insmod.c1964
-rw-r--r--mdk-stage1/insmod-modutils/obj/Makefile33
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_alpha.c305
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_arm.c318
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_common.c399
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_hppa.c668
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_hppa64.c686
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_i386.c245
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_ia64.c1065
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_kallsyms.c292
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_load.c354
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_m68k.c147
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_mips.c238
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_ppc.c255
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_reloc.c435
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_s390.c245
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_sparc.c226
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_sparc64.c352
-rw-r--r--mdk-stage1/insmod-modutils/util/Makefile42
-rw-r--r--mdk-stage1/insmod-modutils/util/alias.h244
-rw-r--r--mdk-stage1/insmod-modutils/util/arch64.c35
-rw-r--r--mdk-stage1/insmod-modutils/util/config.c1591
-rw-r--r--mdk-stage1/insmod-modutils/util/gzfiles.c74
-rw-r--r--mdk-stage1/insmod-modutils/util/logger.c163
-rw-r--r--mdk-stage1/insmod-modutils/util/meta_expand.c339
-rw-r--r--mdk-stage1/insmod-modutils/util/modstat.c419
-rw-r--r--mdk-stage1/insmod-modutils/util/snap_shot.c154
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_cm.c88
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_dm.c37
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_gks.c37
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_nim.c53
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_oim.c40
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_qm.c56
-rw-r--r--mdk-stage1/insmod-modutils/util/xftw.c422
-rw-r--r--mdk-stage1/insmod-modutils/util/xmalloc.c39
-rw-r--r--mdk-stage1/insmod-modutils/util/xrealloc.c39
-rw-r--r--mdk-stage1/insmod-modutils/util/xstrcat.c40
-rw-r--r--mdk-stage1/insmod-modutils/util/xstrdup.c41
-rw-r--r--mdk-stage1/insmod-modutils/util/xsystem.c51
-rw-r--r--mdk-stage1/insmod.h20
-rw-r--r--mdk-stage1/linux-2.2/nfs.h226
-rw-r--r--mdk-stage1/linux-2.2/nfs_mount.h53
-rw-r--r--mdk-stage1/log.c85
-rw-r--r--mdk-stage1/log.h34
-rw-r--r--mdk-stage1/lomount.c171
-rw-r--r--mdk-stage1/lomount.h21
-rw-r--r--mdk-stage1/mar/.cvsignore1
-rw-r--r--mdk-stage1/mar/Makefile61
-rw-r--r--mdk-stage1/mar/mar-extract-only.c207
-rw-r--r--mdk-stage1/mar/mar-extract-only.h32
-rw-r--r--mdk-stage1/mar/mar-frontend.c199
-rw-r--r--mdk-stage1/mar/mar.h70
-rw-r--r--mdk-stage1/minilibc.c251
-rw-r--r--mdk-stage1/minilibc.h144
-rw-r--r--mdk-stage1/mkinitrd_helper/Makefile46
-rw-r--r--mdk-stage1/mkinitrd_helper/mkinitrd_helper.c308
-rw-r--r--mdk-stage1/modules.c377
-rw-r--r--mdk-stage1/modules.h34
-rw-r--r--mdk-stage1/modules_descr.h50
-rw-r--r--mdk-stage1/mount.c179
-rw-r--r--mdk-stage1/mount.h31
-rw-r--r--mdk-stage1/mount_rpcgen.h208
-rw-r--r--mdk-stage1/network.c823
-rw-r--r--mdk-stage1/network.h60
-rw-r--r--mdk-stage1/newt-frontend.c390
-rw-r--r--mdk-stage1/newt/Makefile56
-rw-r--r--mdk-stage1/newt/button.c190
-rw-r--r--mdk-stage1/newt/buttonbar.c46
-rw-r--r--mdk-stage1/newt/checkbox.c290
-rw-r--r--mdk-stage1/newt/checkboxtree.c714
-rw-r--r--mdk-stage1/newt/entry.c376
-rw-r--r--mdk-stage1/newt/form.c712
-rw-r--r--mdk-stage1/newt/grid.c389
-rw-r--r--mdk-stage1/newt/label.c81
-rw-r--r--mdk-stage1/newt/listbox.c752
-rw-r--r--mdk-stage1/newt/newt.c672
-rw-r--r--mdk-stage1/newt/newt.h362
-rw-r--r--mdk-stage1/newt/newt_pr.h82
-rw-r--r--mdk-stage1/newt/scale.c72
-rw-r--r--mdk-stage1/newt/scrollbar.c124
-rw-r--r--mdk-stage1/newt/textbox.c409
-rw-r--r--mdk-stage1/newt/windows.c275
-rw-r--r--mdk-stage1/nfsmount.c294
-rw-r--r--mdk-stage1/nfsmount.h328
-rw-r--r--mdk-stage1/pci-resource/.cvsignore1
-rw-r--r--mdk-stage1/pci-resource/Makefile25
-rwxr-xr-xmdk-stage1/pci-resource/update-pci-ids.pl65
-rw-r--r--mdk-stage1/pcmcia/Makefile48
-rw-r--r--mdk-stage1/pcmcia/bulkmem.h195
-rw-r--r--mdk-stage1/pcmcia/cardmgr.c805
-rw-r--r--mdk-stage1/pcmcia/cardmgr.h107
-rw-r--r--mdk-stage1/pcmcia/cirrus.h182
-rw-r--r--mdk-stage1/pcmcia/cistpl.h604
-rw-r--r--mdk-stage1/pcmcia/config.h59
-rw-r--r--mdk-stage1/pcmcia/cs.h464
-rw-r--r--mdk-stage1/pcmcia/cs_types.h65
-rw-r--r--mdk-stage1/pcmcia/driver_ops.h82
-rw-r--r--mdk-stage1/pcmcia/ds.h163
-rw-r--r--mdk-stage1/pcmcia/i82365.h154
-rw-r--r--mdk-stage1/pcmcia/lex_config.c2008
-rw-r--r--mdk-stage1/pcmcia/pcmcia.h21
-rw-r--r--mdk-stage1/pcmcia/pcmcia_probe.c401
-rw-r--r--mdk-stage1/pcmcia/tcic.h266
-rw-r--r--mdk-stage1/pcmcia/version.h4
-rw-r--r--mdk-stage1/pcmcia/vg468.h112
-rw-r--r--mdk-stage1/pcmcia/yacc_config.c1017
-rw-r--r--mdk-stage1/pcmcia/yacc_config.h37
-rw-r--r--mdk-stage1/ppp/Changes-2.3441
-rw-r--r--mdk-stage1/ppp/FAQ634
-rw-r--r--mdk-stage1/ppp/PLUGINS131
-rw-r--r--mdk-stage1/ppp/README168
-rw-r--r--mdk-stage1/ppp/README.MSCHAP80284
-rw-r--r--mdk-stage1/ppp/README.cbcp97
-rw-r--r--mdk-stage1/ppp/README.linux297
-rw-r--r--mdk-stage1/ppp/README.sol2220
-rw-r--r--mdk-stage1/ppp/README.sunos462
-rw-r--r--mdk-stage1/ppp/SETUP111
-rw-r--r--mdk-stage1/ppp/chat/Makefile.linux27
-rw-r--r--mdk-stage1/ppp/chat/Makefile.linux.makeopt27
-rw-r--r--mdk-stage1/ppp/chat/Makefile.sol219
-rw-r--r--mdk-stage1/ppp/chat/Makefile.sunos419
-rw-r--r--mdk-stage1/ppp/chat/chat.8515
-rw-r--r--mdk-stage1/ppp/chat/chat.c1756
-rw-r--r--mdk-stage1/ppp/common/zlib.c5376
-rw-r--r--mdk-stage1/ppp/common/zlib.h1010
-rwxr-xr-xmdk-stage1/ppp/configure141
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux16
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.818
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c92
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh7
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c218
-rw-r--r--mdk-stage1/ppp/etc.ppp/chap-secrets2
-rw-r--r--mdk-stage1/ppp/etc.ppp/options5
-rw-r--r--mdk-stage1/ppp/etc.ppp/options.options1
-rw-r--r--mdk-stage1/ppp/etc.ppp/pap-secrets2
-rw-r--r--mdk-stage1/ppp/include/linux/if_ppp.h155
-rw-r--r--mdk-stage1/ppp/include/linux/if_pppvar.h138
-rw-r--r--mdk-stage1/ppp/include/linux/ppp-comp.h203
-rw-r--r--mdk-stage1/ppp/include/linux/ppp_defs.h185
-rw-r--r--mdk-stage1/ppp/include/net/if_ppp.h133
-rw-r--r--mdk-stage1/ppp/include/net/ppp-comp.h165
-rw-r--r--mdk-stage1/ppp/include/net/ppp_defs.h184
-rw-r--r--mdk-stage1/ppp/include/net/pppio.h99
-rw-r--r--mdk-stage1/ppp/include/net/slcompress.h148
-rw-r--r--mdk-stage1/ppp/include/net/vjcompress.h144
-rw-r--r--mdk-stage1/ppp/include/pcap-int.h117
-rw-r--r--mdk-stage1/ppp/linux/Makefile.top55
-rw-r--r--mdk-stage1/ppp/modules/bsd-comp.c1116
-rw-r--r--mdk-stage1/ppp/modules/deflate.c760
-rw-r--r--mdk-stage1/ppp/modules/if_ppp.c865
-rw-r--r--mdk-stage1/ppp/modules/ppp.c2486
-rw-r--r--mdk-stage1/ppp/modules/ppp_ahdlc.c878
-rw-r--r--mdk-stage1/ppp/modules/ppp_comp.c1126
-rw-r--r--mdk-stage1/ppp/modules/ppp_mod.h190
-rw-r--r--mdk-stage1/ppp/modules/vjcompress.c587
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux129
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux.make131
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux.makeopt129
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.sol248
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.sunos426
-rw-r--r--mdk-stage1/ppp/pppd/auth.c1952
-rw-r--r--mdk-stage1/ppp/pppd/cbcp.c456
-rw-r--r--mdk-stage1/ppp/pppd/cbcp.h26
-rw-r--r--mdk-stage1/ppp/pppd/ccp.c1257
-rw-r--r--mdk-stage1/ppp/pppd/ccp.h48
-rw-r--r--mdk-stage1/ppp/pppd/chap.c860
-rw-r--r--mdk-stage1/ppp/pppd/chap.h124
-rw-r--r--mdk-stage1/ppp/pppd/chap_ms.c338
-rw-r--r--mdk-stage1/ppp/pppd/chap_ms.h33
-rw-r--r--mdk-stage1/ppp/pppd/demand.c351
-rw-r--r--mdk-stage1/ppp/pppd/eui64.c40
-rw-r--r--mdk-stage1/ppp/pppd/eui64.h97
-rw-r--r--mdk-stage1/ppp/pppd/fsm.c762
-rw-r--r--mdk-stage1/ppp/pppd/fsm.h144
-rw-r--r--mdk-stage1/ppp/pppd/ipcp.c2054
-rw-r--r--mdk-stage1/ppp/pppd/ipcp.h73
-rw-r--r--mdk-stage1/ppp/pppd/ipv6cp.c1512
-rw-r--r--mdk-stage1/ppp/pppd/ipv6cp.h126
-rw-r--r--mdk-stage1/ppp/pppd/ipxcp.c1570
-rw-r--r--mdk-stage1/ppp/pppd/ipxcp.h71
-rw-r--r--mdk-stage1/ppp/pppd/lcp.c2224
-rw-r--r--mdk-stage1/ppp/pppd/lcp.h95
-rw-r--r--mdk-stage1/ppp/pppd/magic.c87
-rw-r--r--mdk-stage1/ppp/pppd/magic.h23
-rw-r--r--mdk-stage1/ppp/pppd/main.c1831
-rw-r--r--mdk-stage1/ppp/pppd/md4.c298
-rw-r--r--mdk-stage1/ppp/pppd/md4.h64
-rw-r--r--mdk-stage1/ppp/pppd/md5.c306
-rw-r--r--mdk-stage1/ppp/pppd/md5.h58
-rw-r--r--mdk-stage1/ppp/pppd/multilink.c396
-rw-r--r--mdk-stage1/ppp/pppd/options.c1513
-rw-r--r--mdk-stage1/ppp/pppd/patchlevel.h4
-rw-r--r--mdk-stage1/ppp/pppd/pathnames.h57
-rw-r--r--mdk-stage1/ppp/pppd/plugins/Makefile.linux19
-rw-r--r--mdk-stage1/ppp/pppd/plugins/Makefile.sol227
-rw-r--r--mdk-stage1/ppp/pppd/plugins/minconn.c46
-rw-r--r--mdk-stage1/ppp/pppd/plugins/passprompt.c108
-rw-r--r--mdk-stage1/ppp/pppd/ppp.pam6
-rw-r--r--mdk-stage1/ppp/pppd/pppd.81591
-rw-r--r--mdk-stage1/ppp/pppd/pppd.h787
-rw-r--r--mdk-stage1/ppp/pppd/pppd.h.wtmp789
-rw-r--r--mdk-stage1/ppp/pppd/sys-linux.c2672
-rw-r--r--mdk-stage1/ppp/pppd/sys-linux.c.wtmp2750
-rw-r--r--mdk-stage1/ppp/pppd/sys-solaris.c2737
-rw-r--r--mdk-stage1/ppp/pppd/sys-sunos4.c1559
-rw-r--r--mdk-stage1/ppp/pppd/tdb.c1282
-rw-r--r--mdk-stage1/ppp/pppd/tdb.h77
-rw-r--r--mdk-stage1/ppp/pppd/tty.c1164
-rw-r--r--mdk-stage1/ppp/pppd/upap.c640
-rw-r--r--mdk-stage1/ppp/pppd/upap.h87
-rw-r--r--mdk-stage1/ppp/pppd/utils.c948
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux.makeopt17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.sol221
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.sunos421
-rw-r--r--mdk-stage1/ppp/pppdump/bsd-comp.c750
-rw-r--r--mdk-stage1/ppp/pppdump/deflate.c344
-rw-r--r--mdk-stage1/ppp/pppdump/ppp-comp.h150
-rw-r--r--mdk-stage1/ppp/pppdump/pppdump.862
-rw-r--r--mdk-stage1/ppp/pppdump/pppdump.c502
-rw-r--r--mdk-stage1/ppp/pppdump/zlib.c4614
-rw-r--r--mdk-stage1/ppp/pppdump/zlib.h631
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.linux32
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.sol220
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.sunos430
-rw-r--r--mdk-stage1/ppp/pppstats/pppstats.8217
-rw-r--r--mdk-stage1/ppp/pppstats/pppstats.c557
-rw-r--r--mdk-stage1/ppp/sample/auth-down17
-rw-r--r--mdk-stage1/ppp/sample/auth-up17
-rw-r--r--mdk-stage1/ppp/sample/ip-down22
-rw-r--r--mdk-stage1/ppp/sample/ip-up23
-rw-r--r--mdk-stage1/ppp/sample/options153
-rw-r--r--mdk-stage1/ppp/sample/options.ttyXX14
-rw-r--r--mdk-stage1/ppp/sample/pap-secrets28
-rw-r--r--mdk-stage1/ppp/scripts/README143
-rwxr-xr-xmdk-stage1/ppp/scripts/callback77
-rw-r--r--mdk-stage1/ppp/scripts/chat-callback98
-rw-r--r--mdk-stage1/ppp/scripts/chatchat/README134
-rw-r--r--mdk-stage1/ppp/scripts/chatchat/chatchat.c409
-rw-r--r--mdk-stage1/ppp/scripts/ip-down.local.add20
-rw-r--r--mdk-stage1/ppp/scripts/ip-up.local.add24
-rw-r--r--mdk-stage1/ppp/scripts/options-rsh-loc1
-rw-r--r--mdk-stage1/ppp/scripts/options-rsh-rem1
-rw-r--r--mdk-stage1/ppp/scripts/options-ssh-loc1
-rw-r--r--mdk-stage1/ppp/scripts/options-ssh-rem1
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-off34
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on36
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-dialer17
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-rsh72
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-ssh76
-rwxr-xr-xmdk-stage1/ppp/scripts/redialer96
-rw-r--r--mdk-stage1/ppp/scripts/secure-card111
-rw-r--r--mdk-stage1/ppp/solaris/Makedefs16
-rw-r--r--mdk-stage1/ppp/solaris/Makedefs.sol259
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.sol266
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.sol2-6485
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.top50
-rw-r--r--mdk-stage1/ppp/solaris/ppp.c2486
-rw-r--r--mdk-stage1/ppp/solaris/ppp.conf1
-rw-r--r--mdk-stage1/ppp/solaris/ppp_ahdlc.c878
-rw-r--r--mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c49
-rw-r--r--mdk-stage1/ppp/solaris/ppp_comp.c1126
-rw-r--r--mdk-stage1/ppp/solaris/ppp_comp_mod.c81
-rw-r--r--mdk-stage1/ppp/solaris/ppp_mod.c174
-rw-r--r--mdk-stage1/ppp/solaris/ppp_mod.h190
-rw-r--r--mdk-stage1/ppp/sunos4/Makedefs13
-rw-r--r--mdk-stage1/ppp/sunos4/Makefile57
-rw-r--r--mdk-stage1/ppp/sunos4/Makefile.top46
-rw-r--r--mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c57
-rwxr-xr-xmdk-stage1/ppp/sunos4/ppp.INSTALL104
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c57
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c57
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_vdcmd.c81
-rw-r--r--mdk-stage1/ppp/svr4/Makedefs16
-rw-r--r--mdk-stage1/ppp/svr4/Makedefs.sol259
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.sol266
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.sol2-6485
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.svr460
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.top50
-rw-r--r--mdk-stage1/ppp/svr4/ppp.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.Node1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.conf1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdl.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdl.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c49
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp_mod.c81
-rw-r--r--mdk-stage1/ppp/svr4/ppp_mod.c174
-rw-r--r--mdk-stage1/probing.c498
-rw-r--r--mdk-stage1/probing.h36
-rw-r--r--mdk-stage1/slang/Makefile56
-rw-r--r--mdk-stage1/slang/_slang.h743
-rw-r--r--mdk-stage1/slang/config.h163
-rw-r--r--mdk-stage1/slang/jdmacros.h53
-rw-r--r--mdk-stage1/slang/keywhash.c190
-rw-r--r--mdk-stage1/slang/sl-feat.h60
-rw-r--r--mdk-stage1/slang/slang.c5547
-rw-r--r--mdk-stage1/slang/slang.h1930
-rw-r--r--mdk-stage1/slang/slarith.c1656
-rw-r--r--mdk-stage1/slang/slarith.inc783
-rw-r--r--mdk-stage1/slang/slarray.c3139
-rw-r--r--mdk-stage1/slang/slarrfun.c464
-rw-r--r--mdk-stage1/slang/slarrfun.inc257
-rw-r--r--mdk-stage1/slang/slarrmis.c38
-rw-r--r--mdk-stage1/slang/slassoc.c713
-rw-r--r--mdk-stage1/slang/slbstr.c615
-rw-r--r--mdk-stage1/slang/slclass.c1391
-rw-r--r--mdk-stage1/slang/slcmd.c351
-rw-r--r--mdk-stage1/slang/slcmplex.c1142
-rw-r--r--mdk-stage1/slang/slcompat.c34
-rw-r--r--mdk-stage1/slang/slcurses.c972
-rw-r--r--mdk-stage1/slang/slcurses.h353
-rw-r--r--mdk-stage1/slang/sldisply.c2596
-rw-r--r--mdk-stage1/slang/slerr.c181
-rw-r--r--mdk-stage1/slang/slerrno.c219
-rw-r--r--mdk-stage1/slang/slgetkey.c306
-rw-r--r--mdk-stage1/slang/slimport.c281
-rw-r--r--mdk-stage1/slang/slinclud.h26
-rw-r--r--mdk-stage1/slang/slintall.c27
-rw-r--r--mdk-stage1/slang/slistruc.c218
-rw-r--r--mdk-stage1/slang/slkeymap.c596
-rw-r--r--mdk-stage1/slang/slkeypad.c163
-rw-r--r--mdk-stage1/slang/sllimits.h64
-rw-r--r--mdk-stage1/slang/slmalloc.c165
-rw-r--r--mdk-stage1/slang/slmath.c565
-rw-r--r--mdk-stage1/slang/slmemchr.c47
-rw-r--r--mdk-stage1/slang/slmemcmp.c76
-rw-r--r--mdk-stage1/slang/slmemcpy.c49
-rw-r--r--mdk-stage1/slang/slmemset.c39
-rw-r--r--mdk-stage1/slang/slmisc.c330
-rw-r--r--mdk-stage1/slang/slnspace.c242
-rw-r--r--mdk-stage1/slang/slospath.c73
-rw-r--r--mdk-stage1/slang/slpack.c785
-rw-r--r--mdk-stage1/slang/slparse.c1970
-rw-r--r--mdk-stage1/slang/slpath.c344
-rw-r--r--mdk-stage1/slang/slposdir.c1057
-rw-r--r--mdk-stage1/slang/slposio.c568
-rw-r--r--mdk-stage1/slang/slprepr.c427
-rw-r--r--mdk-stage1/slang/slproc.c155
-rw-r--r--mdk-stage1/slang/slregexp.c935
-rw-r--r--mdk-stage1/slang/slrline.c836
-rw-r--r--mdk-stage1/slang/slscanf.c718
-rw-r--r--mdk-stage1/slang/slscroll.c450
-rw-r--r--mdk-stage1/slang/slsearch.c239
-rw-r--r--mdk-stage1/slang/slsignal.c336
-rw-r--r--mdk-stage1/slang/slsmg.c1584
-rw-r--r--mdk-stage1/slang/slstd.c724
-rw-r--r--mdk-stage1/slang/slstdio.c1050
-rw-r--r--mdk-stage1/slang/slstring.c546
-rw-r--r--mdk-stage1/slang/slstrops.c1686
-rw-r--r--mdk-stage1/slang/slstruct.c932
-rw-r--r--mdk-stage1/slang/sltermin.c1155
-rw-r--r--mdk-stage1/slang/sltime.c310
-rw-r--r--mdk-stage1/slang/sltoken.c1702
-rw-r--r--mdk-stage1/slang/sltypes.c966
-rw-r--r--mdk-stage1/slang/slutty.c596
-rw-r--r--mdk-stage1/slang/slxstrng.c43
-rw-r--r--mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2bin92142 -> 0 bytes-rw-r--r--mdk-stage1/stage1-data/stage1-with-sash.tar.bz2bin345030 -> 0 bytes-rw-r--r--mdk-stage1/stage1-data/stage1.tar.bz2bin1957 -> 0 bytes-rw-r--r--mdk-stage1/stage1.c432
-rw-r--r--mdk-stage1/stage1.h54
-rw-r--r--mdk-stage1/stdio-frontend.c361
-rw-r--r--mdk-stage1/tools.c425
-rw-r--r--mdk-stage1/tools.h53
-rw-r--r--mdk-stage1/url.c501
-rw-r--r--mdk-stage1/url.h44
-rw-r--r--perl-install/.cvsignore6
-rw-r--r--perl-install/ChangeLog11700
-rw-r--r--perl-install/Makefile157
-rw-r--r--perl-install/Makefile.config21
-rw-r--r--perl-install/Makefile.drakxtools43
-rw-r--r--perl-install/Newt/.cvsignore6
-rw-r--r--perl-install/Newt/Av_CharPtrPtr.c99
-rw-r--r--perl-install/Newt/Av_CharPtrPtr.h4
-rw-r--r--perl-install/Newt/Makefile10
-rw-r--r--perl-install/Newt/Makefile.PL13
-rw-r--r--perl-install/Newt/Newt.pm16
-rw-r--r--perl-install/Newt/Newt.xs478
-rw-r--r--perl-install/Newt/typemap25
-rw-r--r--perl-install/Xconfig.pm212
-rw-r--r--perl-install/Xconfigurator.pm1455
-rw-r--r--perl-install/Xconfigurator_consts.pm828
-rw-r--r--perl-install/any.pm806
-rw-r--r--perl-install/bootloader.pm958
-rw-r--r--perl-install/bootlook.pm463
-rw-r--r--perl-install/c.pm12
-rw-r--r--perl-install/c/.cvsignore9
-rw-r--r--perl-install/c/Makefile18
-rw-r--r--perl-install/c/Makefile.PL23
-rw-r--r--perl-install/c/README3
-rw-r--r--perl-install/c/sbus.c156
-rw-r--r--perl-install/c/silo.c817
-rw-r--r--perl-install/c/smp-test.c6
-rw-r--r--perl-install/c/smp.c506
-rw-r--r--perl-install/c/smp.h6
-rw-r--r--perl-install/c/stuff.pm32
-rw-r--r--perl-install/c/stuff.xs.pm1026
-rw-r--r--perl-install/class_discard.pm11
-rwxr-xr-xperl-install/commands15
-rw-r--r--perl-install/commands.pm596
-rw-r--r--perl-install/common.pm703
-rw-r--r--perl-install/crypto.pm71
-rw-r--r--perl-install/detect_devices.pm362
-rw-r--r--perl-install/devices.pm148
-rwxr-xr-xperl-install/do_resize_fat18
-rw-r--r--perl-install/fs.pm464
-rw-r--r--perl-install/fsedit.pm474
-rw-r--r--perl-install/ftp.pm84
-rwxr-xr-xperl-install/g_auto_install12
-rwxr-xr-xperl-install/getpkgs_deps10
-rw-r--r--perl-install/help.pm1087
-rw-r--r--perl-install/http.pm42
-rwxr-xr-xperl-install/install231
-rw-r--r--perl-install/install2.pm619
-rw-r--r--perl-install/install_any.pm969
-rw-r--r--perl-install/install_gtk.pm435
-rw-r--r--perl-install/install_interactive.pm243
-rw-r--r--perl-install/install_steps.pm896
-rw-r--r--perl-install/install_steps_auto_install.pm99
-rw-r--r--perl-install/install_steps_gtk.pm723
-rw-r--r--perl-install/install_steps_interactive.pm1203
-rw-r--r--perl-install/install_steps_newt.pm60
-rw-r--r--perl-install/install_steps_stdio.pm41
-rw-r--r--perl-install/interactive.pm304
-rw-r--r--perl-install/interactive_gtk.pm545
-rw-r--r--perl-install/interactive_newt.pm241
-rw-r--r--perl-install/interactive_stdio.pm97
-rw-r--r--perl-install/keyboard.pm348
-rw-r--r--perl-install/lang.pm545
-rw-r--r--perl-install/list.sparc74
-rwxr-xr-xperl-install/live_install45
-rwxr-xr-xperl-install/live_install246
-rw-r--r--perl-install/log.pm60
-rw-r--r--perl-install/loopback.pm116
-rw-r--r--perl-install/lvm.pm98
-rw-r--r--perl-install/modparm.pm60
-rw-r--r--perl-install/modules.pm799
-rw-r--r--perl-install/mouse.pm361
-rw-r--r--perl-install/my_gtk.pm677
-rw-r--r--perl-install/network.pm482
-rw-r--r--perl-install/partition_table.pm707
-rw-r--r--perl-install/partition_table_bsd.pm145
-rw-r--r--perl-install/partition_table_dos.pm94
-rw-r--r--perl-install/partition_table_empty.pm38
-rw-r--r--perl-install/partition_table_mac.pm373
-rw-r--r--perl-install/partition_table_raw.pm166
-rw-r--r--perl-install/partition_table_sun.pm201
-rwxr-xr-xperl-install/perl2etags8
-rw-r--r--perl-install/pixmaps/X.pngbin2162 -> 0 bytes-rw-r--r--perl-install/pixmaps/bootdisk.pngbin1392 -> 0 bytes-rw-r--r--perl-install/pixmaps/bootloader.pngbin1959 -> 0 bytes-rw-r--r--perl-install/pixmaps/colors.pngbin275 -> 0 bytes-rw-r--r--perl-install/pixmaps/colors16.pngbin6414 -> 0 bytes-rw-r--r--perl-install/pixmaps/colors8.pngbin798 -> 0 bytes-rw-r--r--perl-install/pixmaps/default.pngbin875 -> 0 bytes-rw-r--r--perl-install/pixmaps/eth_card_mini.pngbin2265 -> 0 bytes-rw-r--r--perl-install/pixmaps/harddrive.pngbin1842 -> 0 bytes-rw-r--r--perl-install/pixmaps/keyboard.pngbin2107 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-1024.pngbin7833 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-1280.pngbin6123 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-640.pngbin11629 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-800.pngbin9544 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor.pngbin1813 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse.pngbin2178 -> 0 bytes-rw-r--r--perl-install/pixmaps/printer.pngbin2326 -> 0 bytes-rw-r--r--perl-install/pixmaps/rootpasswd.pngbin1467 -> 0 bytes-rw-r--r--perl-install/pixmaps/security.pngbin1467 -> 0 bytes-rw-r--r--perl-install/pixmaps/services.pngbin2751 -> 0 bytes-rw-r--r--perl-install/pixmaps/user.pngbin1937 -> 0 bytes-rw-r--r--perl-install/pkgs.pm1511
-rw-r--r--perl-install/printer.pm687
-rw-r--r--perl-install/printerdrake.pm519
-rw-r--r--perl-install/raid.pm160
-rw-r--r--perl-install/resize_fat/.cvsignore5
-rw-r--r--perl-install/resize_fat/Makefile10
-rw-r--r--perl-install/resize_fat/Makefile.PL13
-rw-r--r--perl-install/resize_fat/README8
-rw-r--r--perl-install/resize_fat/any.pm123
-rw-r--r--perl-install/resize_fat/boot_sector.pm110
-rw-r--r--perl-install/resize_fat/c_rewritten.pm14
-rw-r--r--perl-install/resize_fat/c_rewritten.xs259
-rw-r--r--perl-install/resize_fat/dir_entry.pm77
-rw-r--r--perl-install/resize_fat/directory.pm79
-rw-r--r--perl-install/resize_fat/fat.pm138
-rw-r--r--perl-install/resize_fat/info_sector.pm37
-rw-r--r--perl-install/resize_fat/io.pm71
-rw-r--r--perl-install/resize_fat/main.pm185
-rw-r--r--perl-install/run_program.pm70
-rw-r--r--perl-install/sbus_probing/main.pm138
-rw-r--r--perl-install/services.pm213
-rw-r--r--perl-install/share/aliases9
-rw-r--r--perl-install/share/compssList1665
-rw-r--r--perl-install/share/compssUsers94
-rw-r--r--perl-install/share/compssUsers.desktop39
-rw-r--r--perl-install/share/consolefonts/Cyr_a8x16bin9782 -> 0 bytes-rw-r--r--perl-install/share/consolefonts/lat0-sun16bin9770 -> 0 bytes-rw-r--r--perl-install/share/consolefonts/lat2-sun16bin9802 -> 0 bytes-rw-r--r--perl-install/share/consolefonts/ruscii_8x16bin9782 -> 0 bytes-rw-r--r--perl-install/share/diskdrake.rc43
-rw-r--r--perl-install/share/fonts.tar.bz2bin1117395 -> 0 bytes-rw-r--r--perl-install/share/ftin.pngbin190 -> 0 bytes-rw-r--r--perl-install/share/ftout.pngbin190 -> 0 bytes-rw-r--r--perl-install/share/help.pngbin1942 -> 0 bytes-rw-r--r--perl-install/share/install.rc21
-rw-r--r--perl-install/share/keyboards.tar.bz2bin19960 -> 0 bytes-rw-r--r--perl-install/share/keymaps.tar.bz2bin10929 -> 0 bytes-rwxr-xr-xperl-install/share/keymaps_generate18
-rwxr-xr-xperl-install/share/kmap2bkmap37
-rw-r--r--perl-install/share/list160
-rw-r--r--perl-install/share/list.alpha6
-rw-r--r--perl-install/share/list.i3866
-rw-r--r--perl-install/share/list.ppc8
-rw-r--r--perl-install/share/list.sparc84
-rw-r--r--perl-install/share/logo-mandrake.pngbin7663 -> 0 bytes-rwxr-xr-xperl-install/share/makedev.sh89
-rw-r--r--perl-install/share/modparm.lst1229
-rw-r--r--perl-install/share/po/.cvsignore2
-rw-r--r--perl-install/share/po/Changelog246
-rw-r--r--perl-install/share/po/DrakX.pot6717
-rw-r--r--perl-install/share/po/Makefile30
-rw-r--r--perl-install/share/po/af.po8674
-rw-r--r--perl-install/share/po/ar.po6774
-rw-r--r--perl-install/share/po/az.po8232
-rw-r--r--perl-install/share/po/be.po9120
-rw-r--r--perl-install/share/po/bg.po8696
-rw-r--r--perl-install/share/po/br.po8684
-rw-r--r--perl-install/share/po/ca.po10351
-rw-r--r--perl-install/share/po/cs.po8222
-rw-r--r--perl-install/share/po/cy.po7065
-rw-r--r--perl-install/share/po/da.po8345
-rw-r--r--perl-install/share/po/de.po8457
-rw-r--r--perl-install/share/po/el.po9473
-rw-r--r--perl-install/share/po/eo.po8034
-rw-r--r--perl-install/share/po/es.po10265
-rw-r--r--perl-install/share/po/et.po9615
-rw-r--r--perl-install/share/po/eu.po9012
-rw-r--r--perl-install/share/po/fi.po8161
-rw-r--r--perl-install/share/po/fr.po9493
-rw-r--r--perl-install/share/po/ga.po7367
-rw-r--r--perl-install/share/po/gl.po8156
-rw-r--r--perl-install/share/po/hr.po9160
-rw-r--r--perl-install/share/po/hu.po9118
-rw-r--r--perl-install/share/po/i18n_compssUsers38
-rw-r--r--perl-install/share/po/id.po8367
-rw-r--r--perl-install/share/po/is.po8476
-rw-r--r--perl-install/share/po/it.po8809
-rw-r--r--perl-install/share/po/ja.po10006
-rw-r--r--perl-install/share/po/ko.po7725
-rw-r--r--perl-install/share/po/lt.po9429
-rw-r--r--perl-install/share/po/lv.po8213
-rw-r--r--perl-install/share/po/nl.po8158
-rw-r--r--perl-install/share/po/no.po8622
-rw-r--r--perl-install/share/po/pl.po8811
-rw-r--r--perl-install/share/po/pt.po7701
-rw-r--r--perl-install/share/po/pt_BR.po8367
-rw-r--r--perl-install/share/po/ro.po8787
-rw-r--r--perl-install/share/po/ru.po8370
-rw-r--r--perl-install/share/po/sk.po7378
-rw-r--r--perl-install/share/po/sl.po7815
-rw-r--r--perl-install/share/po/sp.po9835
-rw-r--r--perl-install/share/po/sr.po9850
-rw-r--r--perl-install/share/po/sv.po8329
-rw-r--r--perl-install/share/po/th.po7408
-rw-r--r--perl-install/share/po/tr.po9204
-rw-r--r--perl-install/share/po/uk.po9985
-rwxr-xr-xperl-install/share/po/validate.pl86
-rw-r--r--perl-install/share/po/vi.po8404
-rw-r--r--perl-install/share/po/wa.po8647
-rw-r--r--perl-install/share/po/zh_CN.po5082
-rw-r--r--perl-install/share/reload.pngbin157 -> 0 bytes-rw-r--r--perl-install/share/rpm-base.pngbin386 -> 0 bytes-rw-r--r--perl-install/share/rpm-installed.pngbin344 -> 0 bytes-rw-r--r--perl-install/share/rpm-selected.pngbin344 -> 0 bytes-rw-r--r--perl-install/share/rpm-semiselected.pngbin238 -> 0 bytes-rw-r--r--perl-install/share/rpm-unselected.pngbin123 -> 0 bytes-rw-r--r--perl-install/share/rpmsrate491
-rw-r--r--perl-install/share/step-green-click.xpm174
-rw-r--r--perl-install/share/step-green-on.xpm198
-rw-r--r--perl-install/share/step-green.xpm211
-rw-r--r--perl-install/share/step-orange-click.xpm164
-rw-r--r--perl-install/share/step-orange-on.xpm206
-rw-r--r--perl-install/share/step-orange.xpm219
-rw-r--r--perl-install/share/step-red-click.xpm175
-rw-r--r--perl-install/share/step-red-on.xpm204
-rw-r--r--perl-install/share/step-red.xpm219
-rw-r--r--perl-install/share/themes-blackwhite.rc62
-rw-r--r--perl-install/share/themes-blue.rc62
-rw-r--r--perl-install/share/themes-marble3d.rc208
-rw-r--r--perl-install/share/themes-mdk-Desktop.rc203
-rw-r--r--perl-install/share/themes-mdk.rc225
-rw-r--r--perl-install/share/themes-savane.rc62
-rw-r--r--perl-install/share/themes.rc36
-rw-r--r--perl-install/share/themes/blueHeart-button_def.pngbin2735 -> 0 bytes-rw-r--r--perl-install/share/themes/focus.pngbin345 -> 0 bytes-rw-r--r--perl-install/share/themes/marble3d-bg1.pngbin9693 -> 0 bytes-rw-r--r--perl-install/share/themes/marble3d-button1.pngbin3454 -> 0 bytes-rw-r--r--perl-install/share/themes/marble3d-button2.pngbin3840 -> 0 bytes-rw-r--r--perl-install/share/themes/marble3d-button4.pngbin2936 -> 0 bytes-rw-r--r--perl-install/share/themes/marble3d-button_def.pngbin4888 -> 0 bytes-rw-r--r--perl-install/share/themes/marble3d-check1.pngbin180 -> 0 bytes-rw-r--r--perl-install/share/themes/marble3d-check2.pngbin231 -> 0 bytes-rw-r--r--perl-install/share/themes/mdk-Desktop-bg.pngbin153 -> 0 bytes-rw-r--r--perl-install/share/themes/mdk-bg.pngbin151 -> 0 bytes-rw-r--r--perl-install/share/themes/mdk-button1.pngbin628 -> 0 bytes-rw-r--r--perl-install/share/themes/mdk-button4.pngbin625 -> 0 bytes-rw-r--r--perl-install/share/themes/mdk-check_off.pngbin602 -> 0 bytes-rw-r--r--perl-install/share/themes/mdk-check_on.pngbin584 -> 0 bytes-rw-r--r--perl-install/share/themes/mdk-toggle_off.pngbin616 -> 0 bytes-rw-r--r--perl-install/share/themes/mdk-toggle_on.pngbin701 -> 0 bytes-rwxr-xr-xperl-install/share/verify_modules.pl102
-rw-r--r--perl-install/share/wizard.rc172
-rw-r--r--perl-install/standalone.pm16
-rwxr-xr-xperl-install/standalone/XFdrake88
-rwxr-xr-xperl-install/standalone/adduserdrake42
-rwxr-xr-xperl-install/standalone/diskdrake78
-rwxr-xr-xperl-install/standalone/drakboot56
-rwxr-xr-xperl-install/standalone/drakgw750
-rwxr-xr-xperl-install/standalone/draknet645
-rwxr-xr-xperl-install/standalone/draksec62
-rwxr-xr-xperl-install/standalone/drakxconf50
-rwxr-xr-xperl-install/standalone/drakxservices24
-rw-r--r--perl-install/standalone/icons/fileopen.xpm34
-rw-r--r--perl-install/standalone/icons/find.xpm34
-rw-r--r--perl-install/standalone/icons/findf.xpm31
-rw-r--r--perl-install/standalone/icons/ftin.xpm30
-rw-r--r--perl-install/standalone/icons/ftout.xpm30
-rw-r--r--perl-install/standalone/icons/reload.xpm31
-rwxr-xr-xperl-install/standalone/keyboarddrake72
-rwxr-xr-xperl-install/standalone/livedrake45
-rwxr-xr-xperl-install/standalone/mousedrake138
-rwxr-xr-xperl-install/standalone/net_monitor286
-rwxr-xr-xperl-install/standalone/printerdrake55
-rwxr-xr-xperl-install/standalone/tinyfirewall91
-rw-r--r--perl-install/swap.pm135
-rw-r--r--perl-install/timezone.pm136
-rw-r--r--perl-install/tinyfirewall.pm246
-rw-r--r--perl-install/unused/.cvsignore1
-rw-r--r--perl-install/unused/cdrom.pm41
-rw-r--r--perl-install/unused/christmas-karaoke.patch115
-rw-r--r--perl-install/unused/dns.pm64
-rw-r--r--perl-install/unused/otherinsmod.pm26
-rw-r--r--perl-install/unused/scsi.pm104
-rwxr-xr-xperl-install/verify_c14
-rw-r--r--rescue/.cvsignore2
-rw-r--r--rescue/Makefile14
-rw-r--r--rescue/aliases4
-rw-r--r--rescue/dirs7
-rwxr-xr-xrescue/drvinst70
-rwxr-xr-xrescue/guessmounts83
-rw-r--r--rescue/kernel_read_part.c26
-rw-r--r--rescue/list141
-rw-r--r--rescue/list.alpha2
-rw-r--r--rescue/list.i38610
-rw-r--r--rescue/list.ppc11
-rw-r--r--rescue/list.sparc3
-rwxr-xr-xrescue/make_rescue_img101
-rwxr-xr-xrescue/tree/bin/insmod3
-rwxr-xr-xrescue/tree/bin/login2
-rw-r--r--rescue/tree/boot/grub/menu.lst5
-rw-r--r--rescue/tree/etc/fstab4
-rw-r--r--rescue/tree/etc/group1
-rw-r--r--rescue/tree/etc/host.conf2
-rw-r--r--rescue/tree/etc/hosts1
-rw-r--r--rescue/tree/etc/inittab14
-rw-r--r--rescue/tree/etc/issue26
-rwxr-xr-xrescue/tree/etc/oem831
-rw-r--r--rescue/tree/etc/passwd3
-rw-r--r--rescue/tree/etc/profile24
-rwxr-xr-xrescue/tree/etc/rc.reboot8
-rwxr-xr-xrescue/tree/etc/rc.sysinit48
-rw-r--r--rescue/tree/etc/resolv.conf2
-rwxr-xr-xrescue/tree/sbin/modprobe40
-rw-r--r--rescue/tree/usr/lib/CVS.0
-rw-r--r--tools/.cvsignore3
-rw-r--r--tools/2adsldb.pm17
-rw-r--r--tools/2isdndb.pm25
-rw-r--r--tools/Makefile38
-rwxr-xr-xtools/addchangelog.pl18
-rw-r--r--tools/alpha/cd/Makefile8
-rw-r--r--tools/alpha/cd/README40
-rw-r--r--tools/alpha/cd/README.milo13
-rw-r--r--tools/alpha/cd/aboot.cnf3
-rw-r--r--tools/alpha/cd/up1000/5100440A.txt25
-rw-r--r--tools/alpha/cd/up1000/README.txt16
-rwxr-xr-xtools/alpha/cd/up1000/apb.cfg2
-rwxr-xr-xtools/alpha/cd/up1000/apb.exebin120832 -> 0 bytes-rw-r--r--tools/alpha/cd/up1000/install.txt356
-rw-r--r--tools/alpha/cd/up1000/up1000.palbin30464 -> 0 bytes-rwxr-xr-xtools/alpha/e2fsck.sharedbin111080 -> 0 bytes-rwxr-xr-xtools/closurepkgs108
-rwxr-xr-xtools/cvslog2changelog.pl74
-rw-r--r--tools/ddcprobe/.cvsignore1
-rw-r--r--tools/ddcprobe/COPYING483
-rw-r--r--tools/ddcprobe/Makefile28
-rw-r--r--tools/ddcprobe/README8
-rw-r--r--tools/ddcprobe/ddcxinfos.c66
-rw-r--r--tools/ddcprobe/lrmi.c911
-rw-r--r--tools/ddcprobe/lrmi.h85
-rw-r--r--tools/ddcprobe/not_handled.c1
-rw-r--r--tools/ddcprobe/vbe.c709
-rw-r--r--tools/ddcprobe/vbe.h312
-rw-r--r--tools/ddcprobe/vesamode.c132
-rw-r--r--tools/ddcprobe/vesamode.h31
-rw-r--r--tools/extractchangelog2
-rwxr-xr-xtools/gencompss14
-rwxr-xr-xtools/gencryptofiles115
-rwxr-xr-xtools/genmodparm145
-rwxr-xr-xtools/i386/e2fsck.sharedbin80308 -> 0 bytes-rwxr-xr-xtools/i386/mkreiserfsbin15868 -> 0 bytes-rw-r--r--tools/i386/netboot/.cvsignore4
-rwxr-xr-xtools/i386/netboot/grubbin323730 -> 0 bytes-rwxr-xr-xtools/i386/netboot/make_boot_network19
-rw-r--r--tools/i386/netboot/menu.lst.example7
-rwxr-xr-xtools/i386/netboot/stage1.3c59xbin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.3c90xbin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.rtl8139bin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.via-rhinebin512 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.3c59xbin80564 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.3c90xbin95652 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.eepro100bin104676 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.rtl8139bin103012 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.via-rhinebin88208 -> 0 bytes-rwxr-xr-xtools/i386/shbin153752 -> 0 bytes-rwxr-xr-xtools/mailchangelog.pl14
-rwxr-xr-xtools/make_mdkinst_stage278
-rwxr-xr-xtools/mkhdlist16
-rwxr-xr-xtools/oem-prepare397
-rw-r--r--tools/ppc/README39
-rwxr-xr-xtools/ppc/Xpmacbin3762427 -> 0 bytes-rwxr-xr-xtools/ppc/convert5
-rw-r--r--tools/ppc/e2fsck.sharedbin101469 -> 0 bytes-rwxr-xr-xtools/ppc/magic81
-rwxr-xr-xtools/ppc/mapping20
-rwxr-xr-xtools/ppc/mkINSTALLCD78
-rwxr-xr-xtools/ppc/mkhybrid-1.12b5.4bin488623 -> 0 bytes-rwxr-xr-xtools/ppc/mkhybrid-1.12b5.4-x86bin194471 -> 0 bytes-rw-r--r--tools/ppc/yabootbin58556 -> 0 bytes-rw-r--r--tools/serial_probe/.cvsignore1
-rw-r--r--tools/serial_probe/Makefile9
-rw-r--r--tools/serial_probe/device.h80
-rw-r--r--tools/serial_probe/serial.c1201
-rw-r--r--tools/serial_probe/serial.h43
-rw-r--r--tools/serial_probe/serial_probe.c92
-rwxr-xr-xtools/sparc/e2fsck.sharedbin125624 -> 0 bytes-rwxr-xr-xtools/specific_arch27
-rwxr-xr-xtools/syncrpms271
-rw-r--r--tools/xhost+.c11
-rwxr-xr-xupdate_kernel137
1665 files changed, 0 insertions, 668019 deletions
diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index f6f0748da..000000000
--- a/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-pictures
-docs
-images
-unused
-all.modules
-all.kernels
-drakxtools.tar.bz2
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 5f86cece6..000000000
--- a/Makefile
+++ /dev/null
@@ -1,138 +0,0 @@
-ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
-
-RELEASE_BOOT_IMG = cdrom.img hd.img network.img
-ifeq (i386,$(ARCH))
-RELEASE_BOOT_IMG += blank.img pcmcia.img other.img
-endif
-ifeq (sparc,$(ARCH))
-BOOT_IMG = live.img tftp.img tftprd.img live64.img tftp64.img tftprd64.img
-RELEASE_BOOT_IMG += hd64.img cdrom64.img network64.img
-endif
-ifeq (ppc,$(ARCH))
-BOOT_IMG =
-RELEASE_BOOT_IMG = all.img
-endif
-BOOT_IMG += $(RELEASE_BOOT_IMG)
-
-FRELEASE_BOOT_IMG = $(BOOT_IMG:%=images/%)
-FBOOT_IMG = $(BOOT_IMG:%=images/%)
-FBOOT_RDZ = $(FBOOT_IMG:%.img=%.rdz)
-
-BINS = mdk-stage1/init mdk-stage1/stage1-full mdk-stage1/stage1-cdrom mdk-stage1/stage1-network
-ifeq (ppc,$(ARCH))
-BINS = mdk-stage1/init mdk-stage1/stage1-full
-endif
-DIRS = tools mdk-stage1 perl-install
-
-ROOTDEST = /export
-UPLOAD_DEST_ = ~/cooker
-UPLOAD_DEST = $(UPLOAD_DEST_)/cooker
-UPLOAD_DEST_CONTRIB = $(UPLOAD_DEST_)/contrib
-UPLOAD_SPARC_DEST = /mnt/BIG/distrib/sparc
-
-.PHONY: dirs perl-install $(FLOPPY_IMG) install
-
-install: all.modules build rescue
- for i in images misc Mandrake Mandrake/base; do install -d $(ROOTDEST)/$$i ; done
-ifneq (ppc,$(ARCH))
- for i in $(FRELEASE_BOOT_IMG); do cp -f $${i}* $(ROOTDEST)/images; done
-endif
-ifeq (alpha,$(ARCH))
- for i in $(FBOOT_RDZ); do cp -f $${i}* $(ROOTDEST)/boot; done
- cp -f vmlinux.gz $(ROOTDEST)/boot/instboot.gz
- make -C tools/$(ARCH)/cd install ROOTDEST=$(ROOTDEST)
-endif
- cd $(ROOTDEST)/images; rm -rf alternatives
- if [ `ls $(ROOTDEST)/images/*.img-* 2>/dev/null | wc -l` -gt 0 ]; then \
- cd $(ROOTDEST)/images; mkdir alternatives; cd alternatives; mv ../*.img-* .; md5sum *.img-* > MD5SUM; \
- fi
- cd $(ROOTDEST)/images; md5sum *.img* > MD5SUM
-
- install live_update $(ROOTDEST)/live_update
- make -C perl-install full_stage2
-
-build: $(FBOOT_IMG)
-
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || $(MAKE) -C $$n all ;\
- done
-
-rescue: all.modules
- make -C $@
-
-$(FBOOT_RDZ): dirs all.modules
- ./make_boot_img $@ `basename $(@:%.rdz=%)`
-
-$(FBOOT_IMG): %.img: %.rdz
- ./make_boot_img $@ `basename $(@:%.img=%)`
-
-tar: clean
- rpm -qa > needed_rpms.lst
- cd .. ; tar cfj gi.tar.bz2 gi
- rm needed_rpms.lst
-
-perl-install:
- make -C perl-install all
-
-mdk-stage1/mar/mar:
- make -C mdk-stage1/mar
-
-all.modules: mdk-stage1/mar/mar perl-install
- `./tools/specific_arch ./update_kernel`
-
-$(FBOOT_IMG:%=%f): %f: %
- dd if=$< of=/dev/fd0
- xmessage "Floppy done"
-
-clean:
- rm -rf $(BINS) images all.modules all.modules64 install_pcmcia_modules
- for i in $(DIRS) rescue; do make -C $$i clean; done
- find . -name "*~" -o -name ".#*" | xargs rm -f
-
-check:
- @badrights=`find $(ROOTDEST)/Mandrake/mdkinst | perl -lne 'print if !((stat)[2] & 4)'`; [ -z "$$badrights" ] || { echo "bad rights for files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$badrights" ; echo "bad rights for files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; }
-
-upload:
- $(MAKE) clean
-
-# # done before make install to increment ChangeLog version
- tools/addchangelog.pl tools/cvslog2changelog.pl | tools/mailchangelog.pl &
-
- $(MAKE) install
- $(MAKE) check
-
- function upload() { rsync -qSavz --verbose --exclude '*~' -e ssh --delete $(ROOTDEST)/$$1/$$2 mandrake@kenobi:/c/cooker/$$1; } ;\
- upload Mandrake/mdkinst '' ;\
- upload Mandrake/base compss* ;\
- upload Mandrake/base rpmsrate ;\
- upload Mandrake/base *_stage2.bz2 ;\
- upload misc gendistrib ;\
- upload misc make_mdkinst_stage2 ;\
- upload misc packdrake ;\
- upload misc packdrake.pm ;\
- upload misc rpmtools.pm ;\
- upload misc auto ;\
- upload '' live_update ;\
- upload images MD5SUM ;\
- upload images *.img* ;\
- upload images/alternatives '' ;\
- echo
-
-upload_sparc:
- touch /tmp/mdkinst_done
- cp -a $(ROOTDEST)/images/* $(UPLOAD_SPARC_DEST)/images ; true
- cp -a $(ROOTDEST)/boot/* $(UPLOAD_SPARC_DEST)/boot; true
- cp -a $(ROOTDEST)/misc/* $(UPLOAD_SPARC_DEST)/misc; true
- rm -rf $(UPLOAD_SPARC_DEST)/Mandrake/mdkinst
- cp -a $(ROOTDEST)/Mandrake/mdkinst $(UPLOAD_SPARC_DEST)/Mandrake/mdkinst; true
- ( cd $(ROOTDEST)/Mandrake/base; cp mdkinst_stage2.bz2 rescue_stage2.bz2 compss compssList compssUsers compssUsers.desktop $(UPLOAD_SPARC_DEST)/Mandrake/base ); true
- rm -f /tmp/mdkinst_done
-
-# mkisofs -r -J -b images/cdrom.img -c images/boot.cat /tmp/r /mnt/disk/ | cdrecord -v -eject speed=6 dev=1,0 -
-# as distrib: mv ~/oxygen/oxygen/images ~/tmp/r
-# as mandrake: ~distrib/bin/mkisofs -r -b images/cdrom.img -c images/boot.cat -o /home/ftp/linux-mandrake/pub/mirror/oxyiso/oxygen-3.iso ~distrib/tmp/r ~distrib/oxygen/oxygen
-# as mandrake: remove old iso in /home/ftp/linux-mandrake/pub/mirror/oxyiso
-# as mandrake: cd /home/ftp/linux-mandrake/pub/mirror/oxyiso ; md5sum *.iso > md5sum
-# as distrib: mv ~/tmp/r/images ~/oxygen/oxygen
diff --git a/docs/.cvsignore b/docs/.cvsignore
deleted file mode 100644
index a0593a470..000000000
--- a/docs/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-pictures
diff --git a/docs/BUGS b/docs/BUGS
deleted file mode 100644
index 1d154fcf1..000000000
--- a/docs/BUGS
+++ /dev/null
@@ -1,10 +0,0 @@
-doInstallStep: if there's not enough room, error, but packages are marked installed :(
-
-when you click directly on setupFilesystems and you have scsi, you're fucked.
-Even if you go to setupSCSI, you won't be able to have partitions again.
-
-bug non reproductible:
-- /etc/passwd is empty after `root passwd' stage :(
-- reboot at the end of package installation with a lot of error messages from
-gtk about the progressbar
-
diff --git a/docs/COPYING b/docs/COPYING
deleted file mode 100644
index 60549be51..000000000
--- a/docs/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/docs/HACKING b/docs/HACKING
deleted file mode 100644
index d2ed0662b..000000000
--- a/docs/HACKING
+++ /dev/null
@@ -1,122 +0,0 @@
--=-=--
-DrakX is a very big project, and it needs special setups to work.
-The purpose of this file is to explain how you can setup your box to make it
-compile and run.
--=-=--
-
-Beware, don't try this on a production machine with important data.
-
-
---------------------------------------------------------------------------
-Sources installation:
-
- First grab the gi.tar.bz2 archive and untar it in your home directory,
-for example from DrakX-*.src.rpm on your Linux-Mandrake distribution.
-
-cd to gi
-for i in `du -a | grep CVS/Root | cut -f 2`
-do
- sed -e 's/prigaux/anoncvs/' $i > $i.tmp
- mv $i.tmp $i
-done
-
-Then, log yourself into the cvs:
-% export CVS_RSH=ssh
-% export CVSROOT=:ext:anoncvs@cvs.mandrakesoft.com:/cooker
-% cvs checkout gi
- (passwd: 'cvs')
-And update the gi package:
-cvs update -P
-
-
---------------------------------------------------------------------------
-Preparing the compilation process:
-
-(1) target directory
-
-create a /export directory and copy a recent Mandrake-Linux CD in there.
-(You don't have to put have all the RPMS...) ; you'll need roughly 1.5
-Gbytes for a full install.
-
-[gc@obiwan ~/cvs/gi] su -c "mkdir /export"
-
-
-(2) devel packages
-
-you need quite a few devel packages to run the stuff; roughly: gcc, make,
-glibc-devel, perl-devel, XFree86-devel, libglib-devel, libgtk+-devel,
-perl-GTK, ldetect*, libslang-devel, libnewt-devel, e2fsprogs, dosfstools,
-rpm-devel, popt-devel, rpmtools.
-
-
-(3) sudo
-
-never build or run DrakX as root; install package sudo, and set up
-relevant permissions; the following should be enough: (in your
-/etc/sudoers)
-
-gc ALL=(root) NOPASSWD:/usr/bin/patch,NOPASSWD:/bin/rpm,NOPASSWD:/bin/mount,NOPASSWD:/bin/cp,NOPASSWD:/bin/umount,NOPASSWD:/usr/bin/install,NOPASSWD:/bin/rm,NOPASSWD:/bin/mv,NOPASSWD:/bin/tar,NOPASSWD:/bin/cpio,NOPASSWD:/bin/chown,NOPASSWD:/bin/mkdir,NOPASSWD:/usr/bin/strip
-
-
-(4) boot kernel
-
-you need one or more kernels and (all?) their modules. it's located in
-subdirectory "all.kernels" in DrakX-*.src.rpm ; if you ever grab (or
-build) another boot kernel, replace or add an entry in "all.kernels" as:
-
- (a) create your modules subdir (useful to describe the
- VERSION_RELEASE) and untar your kernel
-
-[gc@obiwan ~/cvs/gi/all.kernels] mkdir 2.4.1-BOOTcustom
-[gc@obiwan ~/cvs/gi/all.kernels] cd 2.4.1-BOOTcustom
-[gc@obiwan ~/cvs/gi/all.kernels/2.4.1-BOOTcustom] tar jxvf ~/mycustomkernel.tar.bz2
-[gc@obiwan ~/cvs/gi/all.kernels/2.4.1-BOOTcustom] ls
-boot/ cardmgr/ lib/
-
- (c) build kernel/modules stuff for stage1 and stage2
-[gc@obiwan ~/cvs/gi] ./update_kernel
-
-
-(5) pray
-
-[gc@obiwan ~/cvs/gi] make
-
-
----------------------------------------------------------------------------
-The comments written with #- are automatically stripped out at install.
-
-
----------------------------------------------------------------------------
-testing all:
-
- go to the perl-install directory and execute ./g_auto_install --test
-
- You should be able to test the whole thing in a non-destructive way.
-
-NEVER compile and/or execute DrakX as root!
-
-
-
-
-Here is how I (dams) made it work on my computer.
--------------------------------------------------
-
-- get the sources
-- install the librairies needed included newt-devel gtk+-devel popt-devel popt gtk-engines
-- cd path/to/gi
-- make
-- mkdir /usr/share/gtk
-- ln -s path/to/gi/perl-install/share/themes /usr/share/gtk
-- ln -s path/to/gi/perl-install/share/step-* /usr/share
-- ln -s path/to/gi/perl-install/share/help.xpm /usr/share
-- ln -s path/to/gi/perl-install/share/isdn* /etc/sysconfdir/network-scripts
-- have a cd architecture linked on /export
-- ln -s /export /tmp/rhimage
-- export PERL_INSTALL_TEST=1
-- cd path/to/gi/perl-install
-- gendistrib --noclean --distrib /export
-- ./install2 in root (dangerous) or chmod a+r /dev/hd* and ./install2 in user
-
-
-
-address all bugreports to dave@null.com
diff --git a/docs/README b/docs/README
deleted file mode 100644
index 18cab9475..000000000
--- a/docs/README
+++ /dev/null
@@ -1,366 +0,0 @@
-Well here is a little description of what DrakX needs to work in comparison
-to the RH newt install.
-
-********************************************************************************
-* CVS **************************************************************************
-********************************************************************************
-Like all good free software, DrakX is in CVS :)
-
-You can access it at http://www.linux-mandrake.com/cgi-bin/cvsweb.cgi/gi
-
-or via
-
-export CVS_RSH=ssh
-export CVSROOT=:ext:anoncvs@cvs.mandrakesoft.com:/cooker
-cvs checkout gi
- (enter password 'cvs')
-
-
-This is only read-only access. If you want more, tell me (pixel@mandrakesoft.com)
-
-Alas, all is not in CVS as a lot of things are binary files.
-For the other things, take SRPMS/DrakX-*.src.rpm
-
-Please note that redoing *all* the stuff is not for the faint of heart. I myself
-sometimes wonder what the whole make does :-%
-Instead, changing some .pm files is quite easy (nice interpreted language)
-
-********************************************************************************
-* Making your custom install ***************************************************
-********************************************************************************
-If you have your own rpms you want to add, or make your own updated cdrom, you
-just have to issue:
-
-% gendistrib --noclean --distrib <DIRS>
-
-Where <DIRS> is the root of all the media that the install will see, this first
-one is the main one :
-
-(1) network or 1-cdrom installs
- DIRS == the root directory of the Distribution
-
-(2) multi-cdrom install
- DIRS == the root directories of all the media that the install will see
-
-``gendistrib'' will scan the file Mandrake/base/hdlists in the main root
-directory (the first one in DIRS) to search for all media used. Typically you
-use Mandrake/RPMS* for RPM packages repository.
-For multi-cd, please use Mandrake/RPMS or Mandrake/RPMS1, Mandrake/RPMS2, etc.
-For one CD or a network/hd volume, please use Mandrake/RPMS.
-
-Optionnally, you can modify ``Mandrake/base/rpmsrate''; this file manages
-the relative importance of the files, and thus their installation or not.
-
-Also, mdkinst_stage2.gz must be remade if you modify files in Mandrake/mdkinst.
-See below for information about these files.
-
-********************************************************************************
-* FILES ************************************************************************
-********************************************************************************
-First here are the different things needed :
-
-Mandrake/base/hdlists
- description of the available install media.
- format is one line for one medium as
- <hdlist_name> <rpms_directory> <description>
- <hdlist_name> should be match regexp /hdlist\S*.cz2?/
- for example (two cd install) you get
- hdlist1.cz Mandrake/RPMS1 Boot CD
- hdlist2.cz Mandrake/RPMS2 Extension CD
-
-Mandrake/base/hdlist*.cz
- table of rpm's headers, referred by ``hdlists''
- their contents can be listed using ``packdrake -l <hdlist_file>'' or
- or ``parsehdlist <hdlist_file>''.
- ! Need to be remade when Mandrake/RPMS* changes (with ``gendistrib'') !
-
-Mandrake/base/depslist.ordered
- for each packages, tell which package it depends on. Also contains the
- size for some (obscure) bloody reasons.
- ! Need to be remade when Mandrake/RPMS* changes !
- (with ``gendistrib --noclean --distrib .'')
-
-Mandrake/base/compss
- obsoletes comps. It store packages in different categories, generated
- from the %{GROUP} field
- ! Need to be remade when Mandrake/RPMS* changes !
- (with ``gendistrib --noclean --distrib .'')
-
-Mandrake/base/rpmsrate
- ranks and classify packages, so that the installer will know which
- ones to install. format is :
- <intern_group>
- <level> <packages>
- where <intern_group> is a symbolic name used in Mandrake/base/compssUsers* files,
- and <level> defines importance level as described below :
- 5 must have
- 4 important
- 3 very nice
- 2 nice
- 1 maybe
- by default (for non expert), group selects packages for level 4 (important)
- and 5 (must have). export mode add 3 (very nice) level. other level (below 2)
- can only be selected using individual package selection.
-
-Mandrake/mdkinst
- live system used on certain installs. See ``Ramdisk or not'' below for
- more.
-
-Mandrake/base/mdkinst_stage2.bz2
- for the ramdisk. live sytem in ext2 filesystem bzipped2.
- generated from Mandrake/mdkinst tree using misc/make_mdkinst_stage2
- See ``Ramdisk or not'' below for more.
-
-Mandrake/base/rescue_stage2.bz2
- rescue ramdisk. live sytem in ext2 filesystem bzipped2.
- this is the ramdisk loaded when typing rescue on boot prompt.
- there is no live system available, only the ramdisk is used.
-
-images/*.img
- boot images to use with DrakX. Use:
- - cdrom for cdrom install
- - network for ftp/nfs install (non-pcmcia devices)
- - hd for hard-disk install
- - pcmcia for pcmcia install (see ``PCMCIA install'' below for more)
-
- the following modules have been removed from:
- network.img: acenic sk98lin de4x5
- cdrom.img and hd.img: BusLogic seagate fdomain g_NCR5380 dc395x_trm tmscsim
- hd.img: dpt_i2o eata eata_pio eata_dma
- cdrom.img: aztcd gscd isp16 mcd mcdx optcd cm206 sjcd
- pcmcia.img: apa1480_cb
- they are now in "other.img",
-
- blank.img is a blank boot image without a kernel nor initrd. this image
- can be used to generate custom boot disk.
-
- if you think one of those modules is used a lot, tell me, i may find some room
- to put it back on the main floppies.
-
-
-********************************************************************************
-* logs *************************************************************************
-********************************************************************************
-During install, a lot of interesting stuff can be found in different places:
-in consoles and in files. To switch to console 2 for example, do Ctrl-Alt-F2
-from the X install.
-- alt-F1: the stdout of the install. Not very interesting stuff
-- alt-F2: simple shell. Quite a lot of commands are available but as they are
-written in perl (for space), they do not handle the very same options as normal.
-After install, you can do ``chroot /mnt'' to see your system just like after
-rebooting. ``rpm -qa'' works for example.
-- alt-F3: a lot of interesting things. Be carefull, some ``ERROR'' messages are
-not interesting.
-- alt-F4: kernel's place. aka the output of dmesg.
-- alt-F7: the graphical install lives there
-
-- command "bug" puts on floppy lots of interesting stuff.
-- /tmp/ddebug.log: same (or nearly the same) as alt-F3
-- /tmp/syslog: same as alt-F4
-- /mnt/root/ddebug.log: at the end of each step, DrakX tries to backup
-/tmp/ddebug.log to /mnt/root. Available only after mounting of /.
-- /mnt/root/install.log: the log of the installation (or upgrade) of the rpms
-(just like rpm's /mnt/tmp/(install|upgrade).log)
-- /mnt/root/auto_inst.cfg.pl: a kickstart file generated at the end of each
-step. Can be used in 2 ways: kickstart install or ``defcfg'' install. Hopefully
-you know about kickstart. ``defcfg'' is a way to customize the default values in
-install. For example, French can be the default language with a qwerty keyboard,
-the auto-partitionning partitions can be changed, the default user class can be
-set to developer (!)...
-
-********************************************************************************
-* po translation files *********************************************************
-********************************************************************************
-DrakX uses .po files for its translation. A script takes the different
-strings out of the .pm files. It generates the DrakX.pot file which contains
-all the english strings to translate.
-To add a new language, you just have to add it to lang.pm (if it's not there
-already) and put the .po in the perl-install/po directory (see ``Ramdisk or
-not'' to know if you have to regenerate the mdkinst_stage2.gz)
-
-********************************************************************************
-* PCMCIA install ***************************************************************
-********************************************************************************
-If the media you use to install is a pcmcia device, use the pcmcia boot disk.
-
-********************************************************************************
-* Ramdisk or not ***************************************************************
-********************************************************************************
-The DrakX install is much bigger than the newt one. So the ramdisk which was
-used is getting big, and costs a lot in memory
-(eg: the mdkinst_stage2 is 14MB - 23/09/99)
-(update! now size is 21MB - 24/01/01)
-(update! now size is 19MB - 26/04/01)
-
-| | newt | DrakX
-|-------+---------+----------------------------------------------------------
-| nfs | live | live
-| ftp | ramdisk | ramdisk
-| http | ramdisk | ramdisk
-| hd | ramdisk | live if Mandrake/mdkinst/usr/bin/runinstall2 is a link,
-| | | ramdisk otherwise
-| cdrom | ramdisk | live if memory < 52MB, ramdisk otherwise
-
-Where ramdisk is needed, if detected memory is below the limit allowed for
-ramdisk (maintained in file gi/mdk-stage1/config-stage1.h; currently 52 Mb),
-a failure dialog will be printed explaining that there is not enough memory
-to perform the installation.
-
-When i say live, it means that the stage1 will *mount* the
-Mandrake/mdkinst and use it that way.
-
-The ramdisk is used in place of the live in some cases. This ramdisk is filled
-with mdkinst_stage2.gz
-
-For cdrom install, the ramdisk is used to speed up things (access time is quite
-high on cdrom drives)
-
-For pcmcia, it depends on the type of install.
-
-
-********************************************************************************
-* modules **********************************************************************
-********************************************************************************
-Modules can be found in at least 2 places:
-- in /modules/modules.mar
-- in /lib/modules.cz<KERNEL_VERSION_RELEASE>
-
-/modules/modules.mar is used in mdk-stage1. It contains only modules
-interesting for one kind of install. For example in an hd install, it
-contains scsi modules. For a network install, it contains network card
-modules. (To create, extract or view files in a ``mar'' archive, please
-use gi/mdk-stage1/mar/mar; this is basically an archive format meant to
-be minimalistic)
-
-/lib/modules.cz<KERNEL_VERSION_RELEASE> contains all modules, it is used
-in stage2.
-
-
-To install a module, use modprobe which is in /usr/bin. It's a perl wrapper
-around /usr/bin/insmod. It uses the dependencies found in
-/modules/modules.dep (stage1).
-
-/usr/bin/insmod is a wrapper around /usr/bin/insmod_. It just extracts the
-module out of /lib/modules.cz in /tmp. Then it calls insmod_.
-
-/usr/bin/insmod_ is the real prog (which you usually find in /sbin/). You need
-to give it the complete path.
-
-********************************************************************************
-* Making screenshots ***********************************************************
-********************************************************************************
-On a test machine, make a network install, switch to console (ctrl-alt-F2), enter:
-% xhost+
-
-then, on another computer:
-% DISPLAY=test_machine:0 xwd -root | convert - screenshot.png
-
-********************************************************************************
-* Miscellaneous ****************************************************************
-********************************************************************************
-> o Media access methods: nfs, ftp, http, hd, cdrom
-> o Stages: init, stage1, stage2
-> - What exactly each stage does
-
-init loads stage1
-stage1 loads stage2, on various medium type
-
-stage2 is too big to fit on a floppy, that's why stage1 exists
-
-> - How each stage relates to the various media access methods
-
-stage1 knows only how to access to the media is compiled for. It contains only
-the kernel modules needed for that media. For eg, the nfs/ftp/http stage1
-doesn't contain scsi modules nor ide.
-
-> - How one stage terminates and another begins. i.e., How does
-> stage1 find, mount, and launch stage2?
-
-/sbin/init just starts /sbin/stage1
-/sbin/stage1 takes care of mounting stage2 (in ramdisk if necessary)
- then it runs /usr/bin/runinstall2
-
-> o Text and Graphic mode installers
-> - Architectural overview of each
-
-have a look at gi/docs/object_class.fig
-
-
-********************************************************************************
-* OEM **************************************************************************
-********************************************************************************
-> I am a system OEM in Bangalore,India selling systems bundled with
-> Mandrake Linux. The problem is that with every system I sell, I need to
-> install & configure the system which takes HOURS!. Can I do a diskcopy
-> instead?
->
-> Please Help. This is a major bottleneck for me.
-
-many solutions:
-
-- make an install on drive hdb, then :
- dd if=/dev/hdb of=/dev/hdc
- but you should make sure the hardware is *REALLY* identical.
-
-- try the oem feature
- 3. - burn a cd out of *latest* cooker or 8.0 and above.
- - boot on it telling "oem" to syslinux
- !! it will destroy every data on the harddrive or
- resize (or use free space) if *ONLY* one fat partition is defined !!
- - you now have a very automated install matrix
- (duplicate it with "dd if=/dev/hdb of=/dev/hdc bs=1M count=730")
-
- put the harddrive in the oem box, the user will now have an *very* automated
- install, just asking the root password and user password, and some other
- question according its hardware.
-
- 4. just like 3. but you may have to mount /cdrom after typing rescue on
- syslinux prompt (oem script do it automatically if a automatic boot nfs
- network has been done as server is known). under /cdrom may be anything
- as long as it provides an installation tree of Linux-Mandrake.
- after that run oem script by typing "/etc/oem -f" for normal installation
- or "/etc/oem -f server" for server installation (normal with server installed).
-
- 5. (just like 3. without burning a cd, doing the first part by hand)
- have a look at the /etc/oem script on the rescue and do it by hand...
-
-
-cu Pixel, fpons.
-
-
-comments:
-1. maybe copy unnecessary things -> take too long
- solution -> use bs=8k count=xxxx
-2. kernel_reread can be found on the new rescue, source is also at end of this
-mail. This solution works with one partition. Can be easily enhanced to many
-primary partitions... For extended partitions, more complicated, but not much :)
-3. has just been added in latest cooker. It may still have some pb. The main
-current limitation is IDE only, though it can be fixed easily for special cases.
-
---------------------------------------------------------------------------------
-#include <stdio.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-
-void die(char *msg)
-{
- perror(msg);
- exit(1);
-}
-
-void kernel_read(char *dev)
-{
- int fd;
- if ((fd = open(dev, O_RDONLY)) == -1) die("can't open device");
- ioctl(fd, BLKRRPART, 0);
- close(fd);
-}
-
-int main(int argc, char **argv)
-{
- if (argc != 2) {
- fprintf(stderr, "usage: kernel_read_part <hard drive device>\n");
- exit(1);
- }
- kernel_read(argv[1]);
-}
diff --git a/docs/README.devel b/docs/README.devel
deleted file mode 100644
index 0244557ba..000000000
--- a/docs/README.devel
+++ /dev/null
@@ -1,252 +0,0 @@
-Well here is a little description of how DrakX can be modified or extended.
-Please refer to README file for getting DrakX code source and to known more
-exactly how it works and what it can do.
-
-
-********************************************************************************
-* Execution of DrakX ***********************************************************
-********************************************************************************
-DrakX has originally be written by pixel in perl and C.
-entry point for stage2 is /usr/bin/runinstall2 which is typically a link to
-/usr/bin/install2 which simply load module install2.pm and execute
-install2::main with @ARGV.
-
-install2::main parse command line arguments, prepare installation, find the right
-install_interactive class (take a look at gi/docs/object_class.fig) according to
-command line, memory available and if the interactive chosen is initializing
-correctly, else it will try a less-demanding interactive object.
-Once done, $::o is set to this install & interactive object and main runs the
-various step of install2 defined in $o->{steps}, starting with $o->{steps}{first}
-and iterating with method install_any::getNextStep().
-while running step, it trap any errors that may arise and use perl exception to
-change step.
-
-********************************************************************************
-* DrakX modules descriptions ***************************************************
-********************************************************************************
-Here is a brief description of what each modules of DrakX is doing.
-
-install2: main module of DrakX as described above, main loop execution of DrakX.
-
-install_steps: generic installation module containing steps definition, all steps
- should always be defined here as some methods may be used on automatic mode.
- there is no interactivity available. typically are defined base operation for
- configuring each step according to $o.
-
-install_steps_interactive: generic installation module with generic interative
- methods. typically are found all interactive code of DrakX for each steps.
-
-install_steps_auto_install: implementation installation module without interactive
- methods to match auto_install mode. this is the simplest as almost no method are
- redefined (inherit module install_steps only, compared to other implementation
- modules described below).
-
-install_steps_stdio: implementation installation module with interactive stdio
- methods to match stdio mode. inherit modules install_steps_interactive and
- interactive_stdio.
-
-install_steps_newt: implementation installation module with interactive newt
- methods to match newt mode. inherit modules install_steps_interactive and
- interactive_newt.
-
-install_steps_gtk: implementation installation module with interactive gtk
- methods to match gtk mode. inherit modules install_steps_interactive and
- interactive_gtk.
-
-install_any: contains various methods using generic interactive interface but
- not used by standalone tools.
-
-install_gtk: contains various methods using gtk interface but not used by
- standalone tools.
-
-interactive_stdio: implementation methods for interactivity in stdio mode.
- inherit module interactive.
-
-interactive_newt: implementation methods for interactivity in newt mode.
- inherit module interactive.
-
-interactive_gtk: implementation methods for interactivity in gtk mode.
- inherit module interactive.
-
-my_gtk: basic gtk access methods.
-
-any: contains various methods using generic interactive interface. to compare
- against install_any module as this one is available for standalone tools.
-
-class_discard: simple module that implement every methods undefined to return
- nothing. this trick is used to ensure no undefined method can arise when using
- code that reference interactive method which are not defined.
-
-common: contains very simple and very usefull (common) methods to do various task.
- some methods inspired by functionnal language.
-
-c: contains wrapper to C definition of methods used by DrakX, use of C is necessary
- for C extern libraries interface (rpmlib, ldetect), kernel interface, XFree
- interface.
-
-commands: implement some un*x commands, conflicting name with perl contains
- trailing underscore (_). this module is used by commands perl script that
- determine which command to run according to $0 (this is used this way when DrakX
- is running).
-
-run_program: allow running a program with redirection but without using a shell.
- allow rooted execution.
-
-help: contains all help message displayed by DrakX.
-
-log: log facility methods.
-
-lang: language manipulation methods, get and set sysconfig file, load po.
-
-keyboard: keyboard manipulation methods, get and set sysconfig file, set console
- keyboard mapping.
-
-mouse: mouse manipulation methods, get and set sysconfig file, change mouse.
-
-timezone: time zone manipulation methods, get and set timezone.
-
-services: services manipulation methods, activate or delete services (see
- /etc/rc.d/init.d directories).
-
-detect_devices: manage detection of various class of hardware.
-
-devices: manage device file, create device special according device name.
-
-partition_table: base partition table management methods, it manages
- appriopriate partition_table_XXX object according to what has been read
- as XXX partition table type.
-
-partition_table_raw: generic class for the following partition_table_XXX.
-
-partition_table_emtpy: matches an empty partition table.
-
-partition_table_dos: matches a DOS partition table.
-
-partition_table_bsd: matches a BSD partition table.
-
-partition_table_mac: matches an Apple partition table.
-
-partition_table_sun: matches a Sun Label partition table.
-
-fs: read and write /etc/fstab file, mount and umount, format.
-
-fsedit: manage (modyfy, edit) mount point associated to partition (like editing
- /etc/fstab).
-
-swap: swap management methods, format and mount (activation).
-
-raid: raid (software only) management methods.
-
-lvm: lvm (Logical Volume Manager) management methods.
-
-loopback: loopback management methods, used for lnx4win type installation or using
- a file as a partition.
-
-diskdrake: diskdrake itself, disk graphical (using gtk) manipulation tools.
-
-ftp: ftp mangement methods, used when using ftp install.
-
-http: http management methods, used when using http install.
-
-modparm: kernel modules options management, allow building nice dialog with each
- module parameter available.
-
-modules: kernel modules management, allow loading or unloading (ala modprobe or
- insmod).
-
-printer: printer management methods, read and write both LPR or CUPS configuration.
-
-printerdrake: interactive printer management methods.
-
-network: network management methods, get and set sysconfig file.
-
-netconnect: network configuration wizard.
-
-netconnect_const: network configuration wirard data.
-
-Xconfig: X configuration (monitor + already existing config file) management.
-
-Xconfigurator: X configuration wizard.
-
-Xconfigurator_const: X configuration wizard data.
-
-booloader: bootloader (LILO, GRUB, LOADLIN, SILO) configuration management methods.
-
-pkgs: rpm package and hdlist, depslist management methods, allow selecting or
- unselecting packages, manage rpmsrate file and select group, installation and
- removal methods of rpm file.
-
-crypto: *obsoleted* module to manage crypto site and rpm file.
-
-standalone: standalone only, allow defining a standalone tools.
-
-bootlook: standalone only, interface with DrakConf to configure bootloader options.
-
-tinyfirewall: standalone only, interface with DrakConf to configure a tiny firewall.
-
-********************************************************************************
-* DrakX FAT resizer module description *****************************************
-********************************************************************************
-here is a fat resizer written in perl and C used by DrakX (diskdrake) to resize
-FAT16/FAT32 partition. it moves clusters to make sure a shrink can be done on the
-limit of the partition itself, if no cluster need to be moved, only boot sector
-partition limit are modified.
-
-any: various methods to flag cluster, compute min size.
-
-boot_sector: boot sector management methods.
-
-c_rewritten: originally resize_fat was only perl, this contains code section that
- are the most sensible to speed or memory contraints and have been rewritten to C
- using perl extension.
-
-dir_entry: manage directory structure.
-
-directory: traverse directory recursively, needed to move correctly cluster.
-
-fat: manage fat structure.
-
-info_sector: manage info sector.
-
-io: manage I/O on disk (need to take care of big file as partition size may be
- larger than 2GB).
-
-main: main resizer algortihm. if needed allocate new clusters, copy files, copy
- directories. update boot sector info.
-
-********************************************************************************
-* Adding a new step to DrakX ***************************************************
-********************************************************************************
-Say we want to add a question for setting "alawindows" option.
-We put it pretty early in the install, let's say after "Select Installation
-Class".
-
-1. in install2.pm
-
-add
-
- selectAlawindows => [ __("A la windows or not"), 0, 1, '' ],
-
-after
-
- selectInstallClass => [ __("Select installation class"), 1, 1, '' ],
-
-the 0, 1, '' means not "redoable", "skip on error", "don't hide"
-
-2. add your function selectAlawindows in install2.pm
-
-sub selectAlawindows { $o->selectAlawindows }
-
-3. add your function selectAlawindows in install_steps_interactive.pm
-
-sub selectAlawindows {
- my ($o) = @_;
- $o->{alawindows} = $o->ask_yesorno('', _("Throw everything away as windobe does?"), 1);
-}
-
-4. add your function selectAlawindows in install_steps.pm (not needed in that
-case, except for auto_install)
-
-sub selectAlawindows {}
-
-
diff --git a/docs/SHORTCUTS b/docs/SHORTCUTS
deleted file mode 100644
index bc8325625..000000000
--- a/docs/SHORTCUTS
+++ /dev/null
@@ -1,49 +0,0 @@
-********************************************************************************
-main shortcuts
-
-F11 -> previous step
-F12 -> next (reachable) step
-
-********************************************************************************
-diskdrake
-
-taken directly from diskdrake.pm:
-
- "a" => \&Active,
- "b" => \&Move,
- "c" => \&Create,
- "d" => \&Delete,
- "f" => \&Format,
- "m" => \&Mount_point,
- "M" => \&Mount,
- "n" => \&Create,
- "o" => \&ReadFromFile,
- "s" => \&SaveInFile,
- "q" => \&Exit,
- "r" => \&Resize,
- "t" => \&Type,
- "u" => \&Unmount,
- "w" => \&WritePartitions,
- "W" => \&WriteFstab,
-
-hopefully it is explicit enough :)
-
-********************************************************************************
-list choice
-
-- acceleration a la windows (default): enter a letter and the selection will move to the
-first entry beginning with that letter. If you enter another letter it will try
-to find the entry beginning with the 2 letters you have given. In case it fails
-the starting_word is reset.
-- incremental search a la emacs: searches trough the list
-
-Use control-s to use incremental search and then to search next occurence
-
-********************************************************************************
-in case of complete mouse sh**t
-
-XFree86 provides a way of moving the mouse pointer:
-- first, press Ctrl-Shift-NumLock
-- then move the pointer with the keypad arrows
-- press button is ``0'' (aka Inser)
-- release button is ``.'' (aka Suppr)
diff --git a/docs/TODO b/docs/TODO
deleted file mode 100644
index cb9399f82..000000000
--- a/docs/TODO
+++ /dev/null
@@ -1,515 +0,0 @@
--URGENT---------------------------------------------------------------------------------
-check for fpons/pixel BOTH that resize_fat is clean for current version
-relative to 7.0-2.
-
-heavy testing of diskdrake to avoid corrupting partition table, current version
-should be available to fix bogus partition table, writing enabled only when
-partition is Ok (fixme? allow primary partition inside extended one, but with
-warning on diskdrake startup, made them as warning ?).
-
--features-------------------------------------------------------------------------------
-add rpmdrake in menu
-
-(7.1 or later) clean SCSI CDROM autoboot.
-(done,gc,8.0) stage1 & cdrom: add ability in expert to choose the scsi cdrom drive to use
-
-(7.1)better help for partitioning in newbie
-
-(7.1)Improved network configuration (PPP and/or Ethernet)
-PPPoE install and configuration (SuSE includes it, DHCP-like)
-(7.1)standalone applications for configuration (netdrake, timetool, authentificationconf, soundcard)
-
-----
-(7.2) replace normal with standard (in the installClass's)
-
-(7.2 or later)horizontal sub-steps
-
-(7.2 or later)diskdrake in text mode
-
-ask "do you have SCSI?" before asking "probe PCI or not"
-
-(?) paride in stage1
-(done,gc,8.0) stage1 & network: add ability to choose the network interface to use
-
-(?) msec custom
-
-(?)firewall configuration (instant firewalling?)
-
-(?)widget for displaying fdisk (dindinx)
-add fdisk using the zvt widget (taken in gnome-libs)
-
-(?)help in some configuration files.
-
-ability to add nfs/weird_fs entries in fstab
-
-size of packages in crypto
-
--to test--------------------------------------------------------------------------------
-what's lseek64?
-
-ensure installClass is set to something in auto install.
-
-for axp, swriteboot -f1 if swriteboot failed.
-axp with swap part sigsegv
-
-tree for choosing monitors (buggy?)
-
-what happens if a module fails to insmod (scsi step), in beginner/normal/expert
-
-fstab must be sorted (/usr/local after /usr)
-
-RAID upgrades
-
-add choice clean /tmp or not in expert
-
-kernel chosen by default must be the one according to supermount/secure
-
-bug if ide-scsi, no more hdX, but scd0 (aka sr0)
- (and add alias block-major-11 ide-scsi ?)
-
-check on update for conf.modules and modules.conf !
-
-with /usr, /usr/local and /usr/local/e mount points i get an error at step mounting local filesystems
-
--easy fixes-----------------------------------------------------------------------------
-rpmdrake proposition for cdrom labels
-
-use option nocheck to mount for upgrades
-
--fixes needing thinking-----------------------------------------------------------------
-bug: changing mem= in miscellaneous doesn't modify lilo conf if you backtrack
-
-ask network configuration only if NIC found?
-
-configure DHCP for newbies if ethernet & DHCP card available
-
-xvidtune like screen configuration (see SuSE's yast)
-
-live cdrom for alpha (sparc?)
-
-network boot
-
-get the error when getting/reading .rpm files fail
-better timeout handling for network installs
-
-handle not enough room for update
-(fpons)verify the free space is big enough.
-
-the XFdrake test does not handle the fontset
-
-> Here I go into the printer configuration select 'HP Deskjet 722C Colour',
-> print a test ASCII page, pressing 'No' when prompted to indicate the page did
-> not print OK and then hitting cancel when prompted to choose a printer type
-> again.
-> ask_from_list cancel at /usr/lib/libDrakX/my_gtk.pm line 504.
-
-diskdrake: take from parted mklabel, hide(?)
-
-bug in kde desktop if keeps home but not an upgrade
-
-bug in users: mandrake user is added twice in strange installs
-(mixed of security 0 + ???)
-
-bugs rpmdrake:
-- just after installing a package, switch to `Installed', the package has wrong name
-- refresh the kde desktop after package installation in rpmdrake
-(restart kpanel)
-- rpmdrake and same name packages
-
-urpmi: pb if XXX-devel requires XXX = 1.2.3 and we updgrade XXX-1.2.3
-
-bug in defcfg in with lang=fr_FR, display is buggy
-
-bug keyboard focus: after switch in console at Xconfig step
-
-
-
--to look at--------------------------------------------------------------------------
-adduserdrake to remove/update users
-
-(???)free provider auto configuration facility (to be discussed).
-auto ppp-configure with free provider
-
-(?)on laptop, configure the MMU to use swap not very often
-
-(?)checkboxes in groups based on compssList (and availableSpace?)
-
-(?)see what can be done with nvram (50 bytes to save information)
-
-better wacom support
-
-(fpons)bug: CANON BJC 4X00 do not work with current rhs-printfilters
- (work with magicfilters (debian))
- (should be handled by ghostscript BJC600's driver)
-
-(pix)install text on mem=8M, mem=16M?
-
-(pix)kickstart
-partitioning? raid?
-X configuration and bootloader in kickstart
-
-XFdrake chooseResolutions with ask_from_list do not permit ``Show all''
-
-(?) options in mkfs, progress bar when formatting
-
-(?) when some error occurs, partition must be unset isFormatted
-
--hardware-------------------------------------------------------------------------------
-- with no floppy drive, mkbootdisk step fails badly
-- with bad floppy or write protected, mkbootdisk doesn't say anything
-- try detect_devices::floppies (and how are scsi floppies handled?)
-maybe: do a iotcl FDGETPRM to detect fd1, fd0.
-
-need a simple solution to precise mouse type (syslinux option?)
-
-ELSA Gloria has bad ddc info
-
-token ring is tr0 not eth0
-
-I have Mandrake 6.1 installed and working on a ThinkPad 770.
-To enable the PCMCIA Token ring I have to append the following line to
-/etc/pcmcia/config.opts
-module "ibmtr_cs" opts "mmiobase=0xd2000 srambase=0xd4000"
-
-smp not detected (mhoward@memphisonline.com on cooker, bios=BP6PW)
-
-UDMA66 (ultra66.o for promise)
-
-aha152x needs "insmod aha152x.o aha152x=0x140,11,7"
-
-(obsolete) usb module not removed if no mouse found
-
-(fpons)handle dat drives
-
-hibernation on laptop -> clock not restored
-
-# in 2.3.15 "Silicon Integrated Systems [SiS]|SiS900 10/100 Ethernet" is handled
-
-(?)enable the testing of the mouse type (under X) (wheel)
-possibility to specify the mouse
-
--(?)---------------------------------------------------------------------------------
-(?) handle NT (add entry for it in lilo, put it in fstab)
-
-(?) lilo-0.22-19mdk is buggy with boot=/dev/hde & root=/dev/sda13, it needs
-disk=/dev/hde bios=0x80 & disk=/dev/sda bios=0x81
-
-(?)using setxkb, enable the testing of the keyboard
-
-(?)XFdrake does not handle fbdev
-
-(?) Je viens de faire une installation sur une machine o seul Be tait
-install. Je l'ai supprim et install (mode recommand) Oxygen. Au
-redmarrage, le boot manager de Be apparat et il est impossible de
-dmarrer Linux.
-Pourquoi ne pas installer LILO si on supprime toutes les partitions ?
-
-(?)initrd in bzip2
-
-(?)smaller zsh (or ash in initrd)
-
-(?)is configureNetworkNet needed with dhcp/bootp?
-
-(?)bug in upgrade: install from hda1:/usr/local/blah with hda1:/
-
-(?)mandrake_desk was not installed while kdebase it there on upgrade
-
-(?)when clicking on X configuration, installation of packages is not displayed
-
-(?)maybe remove commented lines in /usr/lib/perl5/... files
-
-(?)timezone using a picture (pb: how to delimit zones)
-when asking GMT or not, display the time for each possibility
-the list is too big for USA
-
-(?)ability to select the type of install when booting of cdrom
-(?)use the ability of el torito to handle 2.88MB or more
-
-(obsolete)lilo-deinstallation in case of lilo auto-installation for beginners
-
-(?)loadFont sucks
-
-(obsolete)trash on the screen when X first starts
-
-(?)remove the gray line surrounding the logo
-
-(?)cleanup /etc/services & /etc/protocols
-
-(?)strange: no scsi of type 'fd', only 'tape'
-
-(?)remount ro before X test.
-
-(?)remove every << and >> (doesn't handle > 32bits)
-
-
--done---------------------------------------------------------------------------------
-(7.1,done,fpons) improve printerdrake to at least have the same functionalities as printtool.
-
-(done,fpons)diskdrake can olverlap partitions (resize lower, resize original typically
-after clear all and auto allocate, try maximal size available).
-
-(done,fpons)rewrite mouseconfig in perl?
-
-(done,pix)kudzu or not in miscellaneous
-
-(done,pix)warn the user if not enough ram to fulfill install
-
-(done,fpons)test after printer config
-
-(done,pix)ask for more than the memory size detected
-
-(done,fpons)modem config
-
-(done,pix)call kudzu in batch to initialize its list
-
-(done,pix)standalone generator of mdkinst_stage2.gz
-
-(done,pix)text install
-
-(done,pix) if u choose mouse usb != found mouse, it fails at X config
-
-(done,pix) diskdrake bug: saved information on floppy contains isMounted.
-
-(done,pix) update devices.c from modules.pm
-
-(done,pix) in lilo.conf, put
-disk=/dev/hdb
- bios=0x80
-
-(done,pix) diskdrake
-auto_partitions
-suggested partition tables must be better foreach installClass
-
-(done,pix) update the list of modules (in update_kernel)
-
-(done,pix) language support: only choose the right locales and upmark the packages requiring it
-
-(done,pix) move security question before isntallation of packages
-
-(done,pix) install ssh
-
-(done,fpons,pix) change the boot message of syslinux (have something different from RedHat)
-
-(done,pix) install_steps.pm: 569 (128M + 3)
-
-(done,pix) bug: mouse freeze just before network configuration (mouse primax)
- (was kudzu)
-
-(done,pix) signal 11 in stage1 nfs kickstart mount failed
-
-(done,pix) ask supermount or not, no supermount with kernel-secure
-
-(done,pix) fix bug in g_auto_install (can't go through all)
-
-(done,pix) bug: install from ciril.fr fails
-
-(done,pix)wizard for partitioning in case of one full vfat
-
-(done,dindinx)app for choosing drakxtools (drakxconf)
-(done,pix)verify being root
-(done,pix)log::l -> initlog
-
-(done,pix)install apmd for laptops (maybe not start apmd though)
-(done,pix)icewm apm (sh icewm_apm)
-(done,pix)kde apm (put Kapm.kdelnk in ~/Desktop/Autostart)
-
-(done,pix)bug in adduserdrake: missing pwconv in md5
-(done,pix)correct the default value of draksec (cp draksec)
-(done,pix)in draksec, (and maybe others) have --expert as default if /etc/sysconfig/system has TYPE=expert
-
-(done,pix)bug in XFdrake in install, cancel in choose Card do not close the window
-
-(done,pix)in XFdrake, testing should not overwrite /etc/X11/XF86Config
-
-(done,pix) hwiz and supermount and eject :(
-
-(done(replaced by msec's),pix) bug: usermod -G urpmi a not done (full install)
-
-(done,pix)perl and .ph's
-
-(done,pix) BUG bootp in network install sigsegv
-
-(done,pix) move the last done stuff before Xconfiguration if possible
-
-(done,pix)draksec is buggy, don't try security >= 4
-
-(done,pix)install apmd on laptops?? (maybe ask emcweb@btinernet.com (see alix))
-
-(done,pix)missing alias ll for root
-
-(done,pix)urpmi.addmedia: |gzip instead of doing it afterwards
-
-(done,pix)locale (and fonts?) buggy in case ramdisk is used
-
-(done,pix)rpmdrake: Installed packages not in hdlist should be there
-
-(done)in ftp install, locale not installed properly
-
-(done,pix)pcmcia.img does not handle hd/cdrom
-
-(done,pix)cyrillic font buggy in DrakX
-
-(done,fred)remove xfs user from kdm
-
-(done,pix)bug with 2 cdrom drives (.kdelnk to there for 1st drive)
-
-(done,pix(works))test ramdisk stage2 and romanian
-
-(done,pix)kfmrc
-
-(done,pix)on laptop, default to 1024x768
-
-(done,pix)mkinitrd and deps
-
-(done,fred(removed the call))XFdrake and mousedrake freeze if lothar launches them
-
-(done,pix)crypto message
-
-(done,pix)test bug with lilo and windows (if not on mbr)
-
-(done,pix)removed icons come back later (kde desktop)
-
-(done,pix(was bug in upgrade reading old config))
- segfault in linuxconf (adapter 1 empty)
- (test with the sysconfig sent)
-
-(done,fpons)bug: Lrosqu'on effectue une mise jour et que /etc/lilo.conf
-contient la variable default positionne sur autre chose que
- linux ou windows , DrakX est incapable de gnrer LILO.
-
-(done,fpons)bug: GeForce and hd.img?
-
-(done,fpons)for upgrade in expert, give choice of packages to install
- choosing packages available in upgrade?
-
-(done,pix)rpmdrake: pb uninstalling package with dependencies (rpmdrake is killed?!) (as root too)
-
-(done,pix)noatime option for ext2 fs on laptops (do not wake up the hd)
- Do not update inode access times on this
- file system (e.g, for faster access on the
- news spool to speed up news servers).
-
-(done,pix)kde's icons: 28 horiz and 25 vert grid for big icons
-
-(done,pix)bug: DrakConf don't follow the charset -> add setlocale(LC_ALL, "")
-(done,pix)for ko|ja|zh, gnome-terminal should point to rxvt (-CLE)
-(done,pix)group cdrom in /etc/group (gid=22)
-(done,pix)drakxtools should require urpmi
-(done,pix)bug: gdm unset LANG
-(done,pix) zip with automount -> ppa not autoloaded
-(done,pix)when you set the kde icons to Large, maybe it'd be good to chown the .kderc
-(done,pix)lilo in russian/japaneese is horrible
-(ok,pix)test ide burners
-(ok)test check bad blocks optional for mke2fs
-(done,pix)hd install: no umount is done at the end of install :(
-
-just before release:
-(done,pix)- mandrake_doc-xx, the symlink is no good in /usr/doc/mandrake as
-(done,pix)- crypto dependencies to update
-(done,pix)- update kudzu's pcitable
-(done,pix)- update pcitable for 86C368 if 3.3.6 (and other S3 3D's)
- ("ATI|3D Rage P/M Mobility AGP 2x" -> changed to Server:Mach64)
-
-(done,pix)with 2MB of video ram, chooses 8bpp instead of 16bpp
-
-(done,pix) replace
- { device => "loop7", type => 0x83, size => ((cat_('/dos/lnx4win/size.txt'))[0]*2048), mntpoint => "/", isFormatted => 1, isMounted => 1 },
-by
- { device => "loop7", type => 0x83, size => cat_('/dos/lnx4win/size.txt') * 2048, mntpoint => "/", isFormatted => 1, isMounted => 1 },
-
-(done,fpons)in ftp install, bug with X server install with wu-ftpd 2.6 (see http://www.wu-ftpd.org/broken-clients.html)
-
-(done,pix)ask package installation languages (must be put in RPM_INSTALL_LANG)
-
-(done,pix)bug (by dadou): Si la partition racine est trop petite pour installer le systme, un
-message d'erreur apparat pour signaler le problme (bien) mais on ne
-peut en sortir. La seule solution est de redmarrer.
-
-(obsolete)bug when selecting compssUsers, do not deselect after (if u deselect)
-
-(done,pix)detect ide burners and then add hdX=ide-scsi to kernel cmdline
-
-(done,pix)urpmi: handle many args on cmd-line
-
-(done,pix)fix any // in path to ftp server otherwise windobe server bug :(
-
-(done,pix)diskdrake and auto partitioning, may have the last creation of partition rejected,
-try to figure why?
-
-(done,pix)in chooseResolutions: display the graphic card found
-
-(done,pix)with pcmcia, need ONBOOT=no
-
-(fpons,done) XFree: handle by card options
-eg: SIS6326 needs "no_bitblt" "no_bltimage" and 24bpp instead of 32bpp
-
-(done,pix) Xconfiguration: if "can't open fixed font", relaunch xfs.
-
-(obsolete) pb with dependencies ``missing'': icewm do not require XFree86 and so you can have icewm but no X server
-
-(obsolete) bug in ext2resizing (no sparse superbloc, don't finish properly)
-
-(done,pix,7.1)manage a lot of language (ergonomic issue as it already exists)
-
-(done,pix,7.1)tree for choosing things like timezone, monitors, graphic cards, modules, mice, keyboard? ...
-
-(done,pix,7.1)sound config, although very simple, no dedicated steps and only PCI (or maybe ISA-PNP if time left ?)
-
-(done,pix,7.1)partitioning, keyboard shortcut.
-
-(done,fpons,7.1)index/compress hdlist? (for multi-cd)
-! for multi-cd live is mandatory, small transaction are mandatory too.
-
-(done,pix,7.1?)loopback partitions (even root one)
-
-(done,pix)in ok_cancel, focus has 3 states, should be 2 (ask dindinx)
-
-(done,pix,7.1)Generally improved package selection /ergonmic issue.
-Tree -> CTree, ``all'' branch with all packages
-show the value associated (100->a must, 90->great, 80->nice, ... 10->useless, 0->do not install)
-
-(done,pix)let diskdrake have dos/win partition automatically set up with mount point,
-this will help loopback too.
-
-(done,pix,7.1)grub
-
-(done,pix,7.1)feature missing: cancel installation
-
-(obsolete) bug in diskdrake: can in strange cases create a primary partition at sector #0
-
-(done,pix(partly, protection against bugging))bug in diskdrake:
-in expert: blank, create hda5 at beginning, create hda6 at the end, create hda7
-in the middle, remove the first one. Result hda5 at the end and bug.
-
-(obsolete) have a better time estimation of the remaining time in install packages
-
-(done,dindinx+pix)ask_many_from_list can't keyboard scroll
-
-(done,pix,7.1)individual package selection: double click is tiring...
-
-(done,fpons,7.1) sparc ehancement, avoid V7+ machine target (div and mul not in v7 standard)
-
-(done,fpons,7.1)syslinux in graphical mode to be improved for heavily bogus BIOSes.
-
-(done,pix)missing feature in lilo configuration: can't give hda2 with /boot/vmlinuz if
-already hda1 with /boot/vmlinuz
-
-(done,pix)in 640x480 install box is to small (cuz of 'Cancel' button beeing added)
-
-(done,pix)chooseGroup with individual alone
-
-(done)(7.1) rewrite crypto stuff
-(done)crypto: add a cancel & progress bar while downloading
-(done)error handling (like reading hdlist)
-(done)(7.1)progression bar on crypto.
-
-(done, daouda&pix,7.1, other persons)rescue:
-- small modification for stage1 to get the rescue stage2
-- create a stage2 with many tools (fdisk, bash...)
-the rescue could be on another cd (if multi-cd)
-! care must be taken about modules (if ide is in module...)
-
-(done,7.1)install in 800x600
-- need handling of both 640x480 (mostly for VGA16) and 800x600
-
-(done,NEED 7.1) auto-install for corporate, very important (need consolidation).
diff --git a/docs/advocacy b/docs/advocacy
deleted file mode 100644
index 9e7f00b6b..000000000
--- a/docs/advocacy
+++ /dev/null
@@ -1,87 +0,0 @@
-a little DrakX history:
-
-june 1999:
- i start rewriting redhat's install in perl, partly for the fun of it. I'm
- still working for the army
-
-5 july 1999:
- i start full time job at mandrakesoft. But we don't have many computers and i
- must share the accounting computer with Merieme who is working half-time. No
- test machine (i test on others box, and destroyed Jacques partitions once),
- guess how it slows things down?
-
-august 1999:
- at last computers, even test one
- first DrakX version which can install things, very very rough
-
-september 1999:
- a friend of mine help me 2 weeks on DrakX relayed by Francois
-
-november 1999:
- first released version of DrakX (goldpack). Not really stable yet.
-
-january 2000:
- 7.0 is out, with a DrakX quite stable
-
-july 2000:
- dams starts working on draknet
-
-mid-october -> mid-january 2000:
- gc rewrites the stage1 to win every kb we can
- -> size divided by 7 (!) for cdrom
-
-
-The DrakX team is also doing a lot of other things:
-- drakxtools
-- urpmi, early MandrakeUpdate, early rpmdrake...
-- Mandrake Control Center (new DrakConf)
-- packages maintenance/enhancing (esp. ghostscript, 3D-wrappers, lilo)
-- fixing core packages to make them installable
-- scoring packages, sorting them, flagging them... (compssList, rpmsrate)
-- reading/answering cooker and other MLs
-- helping non-perl gurus :)
-
-That doesn't give much. Me being the one more working on plain DrakX. It gives 2
-people working for 1.5 years. IMO it isn't ``spending an enormous amount of
-resources''.
-And what do you mean by ``compared to the code base size''??? DrakX is currently
-around 28K lines, which is big IMO. You can compare it with linuxconf which is
-170K lines. I think the achievement of DrakX is comparable (a 6 times code size
-win from dumb C++ to expressive perl is normal imo).
-
-
-Also it seems like we don't have the same understanding of the word
-"maintenance".
-DrakX functionalities have evolved *a lot* since the beginning:
-
-- hardware detection, configuration, debugging, work-arounding (multi-kernel installs...)
-- making things prettier
- - more bitmaps
- - "advanced" button
- - syslinux graphical boot
-- making it work with latest versions of software (eg: switching to rpm4)
-- finding out the best way to use rpmlib
-- multi-cd
-- draknet: configuring every piece of stupid protocols
-- diskdrake: raid, loopback, LVM, resizing, checking stupid users entry
-- XFdrake: multi-mice, multi-heads, 3D-accel
-- porting to axp/sparc/ppc (with Stew's help)
-- always more i18n
-- keeping things small
- - .cz format
- - moving to .png
- - getFile on demand from mdkinst for ramdisk installs
-
-[...]
-
-> You don't believe the books ? Count yourself; see the man/months spent
-> in 'pure' developoment in drakX, and the resources put in mantainance
-> of the code base; as far as i know, your count should confirm what the
-> books says; more probabily, you will discover that our numbers are
-> even worse.
-
-if you count enhancements, adding features... in maintenance, i confirm the
-numbers, and find them quite normal.
-
-if you only count bug fixing, the time would be much shorter (around 30%).
-
diff --git a/docs/comparisons b/docs/comparisons
deleted file mode 100644
index ea7725986..000000000
--- a/docs/comparisons
+++ /dev/null
@@ -1,44 +0,0 @@
-redhat 6.1 (fr?), install 766MB, df 900MB, 35min (asked for all groups except "everything")
-
-upgrade to redhat 6.2, sum 757MB, df 936MB, 20min
-
-mandrake 7.1, install 755MB, df 1091MB, 17min (asked install size 910MB), 515 packages
-
-upgrade to cooker, sum 1000MB, df 1404MB, 35min
-
-
-redhat 7.0b, install 815MB, df 960MB, 18min
-redhat 7.0, install 995MB, df MB, 26min
-
-7.2b, 3.3GB 2h26
-
-
-7.2b: (lang fr)
-compssLevel df rpm time fs df/time
-
-100 64 59 0:59 ext2 500M 1.08
- 90 132 127 1:50 ext2 500M 1.20
- 80 226 218 3:26 ext2 500M 1.10
- 70 449 387 5:52 ext2 1G 1.28
- 60 614 541 8:36 ext2 1G 1.19
- 50 1113 943 17:40 ext2 2G 1.05
- 40 1193 1013 20:39 ext2 2G 0.96
- 30 1262 1072 22:28 ext2 2G 0.94
- 20 1445 1219 27:34 ext2 2G 0.87
- 10 1649 1394 36:58 ext2 2G 0.74
- 0 1943 1638 48:02 ext2 2G 0.67
--10 2957 2519 101:49 ext2 4G 0.48
-
-7.2b: (lang all)
-compssLevel df rpm time fs df/time
-
-100 70 59 1:04 ext2 500M 1.09
- 90 289 281 4:20 ext2 500M 1.11
- 80 373 361 5:41 ext2 500M 1.09
- 70 890 794 13:28 ext2 1G 1.10
-
-
-mem used 7.2cooker
-gtk: runinstall2 13608(data 9572) + FBDev 2984(data 1544)
-newt: runinstall2 9516(data 7528)
-stdio: runinstall2 9160(data 7372)
diff --git a/docs/diskdrake.TODO b/docs/diskdrake.TODO
deleted file mode 100644
index e6f2da038..000000000
--- a/docs/diskdrake.TODO
+++ /dev/null
@@ -1,23 +0,0 @@
-- test what windows can handle (the number of partitions)
-- better keyboard focus handling
-- end sector in Create
-- add warnings for scsi drives if you create more than sdx15
-- the information put in save/restore partitions must be cleaned
-(remove mounted/formatted/..., also remove the Data::Dumper dependency)
-- test, test, test
-- do not allow swap partitions above 2Gigs
-- wanting the first partition to be extended is not used
-- maybe warn if a mounted partition change of dev number
-- text version
-- better error handling (what to do if we find a bad partition table?)
-- display the information about the correspondance color2type
-- handle the partition labels (missing information here)
-- add comments in the code
-- add documentation
-- handle the `luke' case (main extended partition must be extended)
-- ability to batch actions (like chained moves)
-- add a verification after fdiskReadPartitionTable that the start_cyl,
-end_cyl... do correspond to start and start+size. For the moment, this
-information is just discarded :(
-This verif can't be done in fdiskReadPartitionTable as start is relative in
-extended partitions
diff --git a/docs/draknet_advanced_doc.txt b/docs/draknet_advanced_doc.txt
deleted file mode 100644
index a0c0c63e0..000000000
--- a/docs/draknet_advanced_doc.txt
+++ /dev/null
@@ -1,165 +0,0 @@
-This document details the entry points you can call without the DrakX graohical
-toolkit. First, the general variables you will encounter further. If you don't
-know wht a variable is, look here. Any additional locally variables are
-commented 'in place'
-
-------------------------------
-Special types (in upper cases)
-------------------------------
- DB_FILE : file storing the ISDN ISP database. see share/isdndb.txt : file of lines in 'Unlisted - edit manually' or /^(.*)\|(.*)\|(.*)=>([0-9]*)=>(.*)=>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})=>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/ where $1=Land $2=City $3=ISP_name $4=phone_number $5=hostname $6=dns1 $7=dns2
-
----------------------------------------------------------------------------------------
-Summary of common variables used (local variables are described in the function itself)
----------------------------------------------------------------------------------------
-notation : keys : description : type : format (regexp or enumeration. `...' means it's not exhaustive
- $prefix : prefix path (empty in post-install) : string : path
- $isLaptop : flag for laptop : boolean or int : guess
- $isdn : hash table containing isdn infos
- $isdn->{login} : cnx login : string
- $isdn->{passwd} : cnx passwd : string
- $isdn->{phone_in} : user phone : /^[0-9]*$/
- $isdn->{phone_out} : ISP phone : /^[0-9]*$/
- $isdn->{dialing_mode} : dialing mode : "auto" or "manual"
- $isdn->{driver} : driver used for the card : "hisax" or "b1pci" or ...
- $isdn->{type} : type of card, used for the driver, see netconnect_consts : integer : /^[1-22]|[24-37]$/
- $isdn->{irq} : irq of the ISA card : integer |
- $isdn->{mem} : mem of the ISA card : string |
- $isdn->{io} : io of the ISA card : string | see netconnect_consts for examples.
- $isdn->{io0} : io0 of the ISA card : string |
- $isdn->{io1} : i01 of the ISA card : string |
- $isdn->{idl} : amount of time after the cnx times out in secs : int
- $isdn->{user_name} : not used anymore. Not explicit. It represented the name of the connexion.
- $isdn->{card_type} : card type : string : "isa" or "pci" or "pcmcia"
- $isdn->{protocol} : cnx protocol : int : 1|2|3 : 1 for old german specific (not used anymore), 2 for europe, 3 for rest of the world
- $isdn->{id} : card id. Associated with vendor, identify strictly the card. see pcitable : integer
- $isdn->{description} : card description from pcitable : string
- $isdn->{vendor} : card vendor : integer
- $isdn->{passwd2} : passwd verification : string
- $modem : hash table containing modem infos
- $modem->{device} : device of the modem : string : /ttyS[0-9]/
- $adsl : hash table containing modem infos
- $adsl->{login} : cnx login : string
- $adsl->{passwd} : cnx passwd : string
- $adsl->{atboot} :
- $netc : hash table containing system-wide networking infos (maybe not true, correct this) :
- $netc->{NET_DEVICE}
- $netc->{dnsServer2}
- $netc->{dnsServer3}
- $netc->{DOMAINNAME2}
- $netc->{NET_INTERFACE} is set to "ppp0"
- $in : interactive object
-
-------------
-Entry points
-------------
-
-isdn_write_config_backend : write isdn info, only for ippp0 -> ask_connect_now
-input :
- $prefix
- $isdn
-$isdn input:
- $isdn->{login} $isdn->{passwd} $isdn->{phone_in} $isdn->{phone_out} $isdn->{dialing_mode}
- $isdn->{driver} $isdn->{type} $isdn->{irq} $isdn->{mem} $isdn->{io} $isdn->{io0} $isdn->{io1}
-
-write_secret_backend : write login and passwd into /etc/ppp/{chap, pap}-secrets. Replace old passwd only if same login
-input :
- $a : login : string : /^.*$/
- $b : passwd : string : /^.*$/
-
-connect_backend : launch the cnx script
-input : $prefix
-
-connect_backend : launch the cnx script
-input : $prefix
-
-read_providers_backend : build the tree of isdn ISP
-input :
- $file : 1st location of the file : ISDN_DB_FILE
- $file2 : 2nd location of the file : ISDN_DB_FILE
-output : the list of ISP : array of strings : array of /^(.*)\|(.*)\|(.*)$/ where $1=Land $2=City $3=ISP_name
-
-get_info_isdn_backend : fills the infos from the line of the tree returned into $isdn and $netc
-input :
- $isdn
- $netc
- $name : the line choosen in the tree of ISP : string : /^(.*)\|(.*)\|(.*)$/ with $1=Land $2=City $3=ISP_name
- $file : 1st location of the file : ISDN_DB_FILE
- $file2 : 2nd location of the file : ISDN_DB_FILE
-$isdn ouput
- $isdn->{user_name}, $isdn->{phone_out}, $netc->{DOMAINNAME2}, $netc->{dnsServer2}, $netc->{dnsServer3},
-$netc output
- $netc->{DOMAINNAME2}, $netc->{dnsServer2}, $netc->{dnsServer3}
-
-isdn_detect_backend : detects isdn pci card and fills the infos in $isdn : only detects one card
-input
- $isdn
-$isdn output:
- $isdn->{description} $isdn->{vendor} $isdn->{id} $isdn->{driver} $isdn->{card_type} $isdn->{type}
-
-isdn_get_list : return isdn cards descriptions list. This function is not use internally.
-output : descriptions : list of strings
-
-isdn_get_info : return isdn card infos. This function is not use internally.
-input : the description of the card (see isdn_get_list)
-output : a reference on the decription of the card. : ref on a hash(description,type,irq,mem,io,io0,io1card,)
-
-conf_network_card_backend : configure the network cards and return the list of them, or configure one specified interface : WARNING, you have to setup the ethernet cards, by calling setup_thiskind($in, 'net', !$::expert, 1) or setup_thiskind_backend before calling this function. Basically, you call this function in 2 times.
-input
- $prefix
- $netc
- $intf
- $type : type of interface, must be given if $interface is : string : "static" or "dhcp"
- $interface : facultative, if given, set this interface and return it in a proper form. If not, return @all_cards
- $ipadr : facultative, ip address of the interface : string
- $netadr : facultative, netaddress of the interface : string
-when $interface is given, informations are written in $intf and $netc. If not, @all_cards is returned.
-$intf output: $device is the result of
- $intf->{$device}->{DEVICE} : which device is concerned : $device is the result of $interface =~ /(eth[0-9]+)/; my $device = $1;;
- $intf->{$device}->{BOOTPROTO} : $type
- $intf->{$device}->{NETMASK} : '255.255.255.0'
- $intf->{$device}->{NETWORK} : $netadr
- $intf->{$device}->{ONBOOT} : "yes"
-$netc output:
- $netc->{nb_cards} : nb of ethernet cards
- $netc->{NET_DEVICE} : this is used to indicate that this eth card is used to connect to internet : $device
-output:
- $all_cards : a list of a list ( (eth1, module1), ... , (ethn, modulen)). Pass the ethx as $interface in further call.
- $device : only returned in case $interface was given it's $interface, but filtered by /eth[0-9+]/ : string : /eth[0-9+]/
-
-adsl_conf_backend : write adsl configuration
-input :
- $prefix
- $adsl
- $netc
- $adsl_type : type of cnx : string : "pptp" or "pppoe"
-$adsl input:
- $adsl->{login}, $adsl->{passwd}, $adsl->{atboot}
-$netc input:
- $netc->{NET_DEVICE}
- $netc->{dnsServer2}
- $netc->{dnsServer3}
- $netc->{DOMAINNAME2}
-$netc output:
- $netc->{NET_INTERFACE} is set to "ppp0"
-
-modem_detect_backend : detects modem on serial ports and fills the infos in $modem : detects only one card
-input
- $modem
- $mouse : facultative, hash containing device to exclude not to test mouse port : ( device => /ttyS[0-9]/ )
-output:
- $modem->{device} : device where the modem were detected
-
-get_net_device : return the device choosen for the net cnx
-no input
-output : name of the internet device.
-
-read_net_conf : read the information stored in $prefix/etc/sysconfig/draknet and $prefix/etc/sysconfig/draknet.`type`
-input:
- $prefix
- $netcnx
- $netc
-
-set_net_conf : set the information from netcnx in $prefix/etc/sysconfig/draknet and $prefix/etc/sysconfig/draknet.`type`
- $prefix
- $netcnx
- $netc : useless! REMOVE ME
diff --git a/docs/mdk-vs-redhat b/docs/mdk-vs-redhat
deleted file mode 100644
index 4d0de8223..000000000
--- a/docs/mdk-vs-redhat
+++ /dev/null
@@ -1,43 +0,0 @@
-+ Open Development (at least DrakX)
-+ UDMA66 (HPT366)
-+ gamerz
-+ number of packages
-+ better packages(?)
-+ no automatic handling of ide burners
-+ urpmi/rpmdrake
-+ XFdrake
-+ no newbie install
-+ reiserfs
-+ fat resizing
-+ 3D handling (eg: Voodoo3)
-+ diskdrake (vs diskdruid)
-+ usb storage (?)
-+ KDE2
-+ faces in kdm/gdm
-+ menu
-+ alternatives
-+ /etc/emacs/site-start.d
-+ default config
-+ i18n (bootloader keyboard)
-
-+ More user-friendliness in general:
- + you can choose between multiple net devices when more than one are
- detected
- + you are presented with the media descriptions (disks, cdrom's)
- when you must choose between multiple media, and not only "sda",
- "hdc", ..
- + when installing from a disk partition, you are presented with an
- extract of the directory contents when you fail to give the
- correct location, which is very helpful to correct the input
- instead of simply rebooting to remember where on earth you
- mirrored the distribution on your disks
-
-+ Automatic mode (Redhat's equivalent is called "kickstart") is not
- performed according to a file on the floppy but from kernel parameters,
- which have many pros, among them: (1) we don't need the vfat filesystem
- for that purpose, and (2) with advanced bootloaders such as grub and
- lilo you can edit parameters on the fly at boot time.
-
-- no LABEL= in fstab (for auto renumbering of devices)
-- kerberos
-- LDAP
diff --git a/docs/object_class.fig b/docs/object_class.fig
deleted file mode 100644
index 44fd3fe89..000000000
--- a/docs/object_class.fig
+++ /dev/null
@@ -1,32 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 2625 1200 2625 1725
-2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 7575 1125 7575 1650
-2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 7575 2100 4350 3225
-2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 5025 2025 4350 3225
-2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 2625 2100 4350 3225
-2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 5025 2025 6075 4125
-2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 2625 1200 4950 1725
-2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 7575 1125 4950 1725
-4 0 0 100 0 0 12 0.0000 4 180 1755 1800 1050 install_steps_gtk\001
-4 0 0 100 0 0 12 0.0000 4 180 1440 6900 975 install_steps_stdio\001
-4 0 0 100 0 0 12 0.0000 4 180 1140 2100 1950 interactive_gtk\001
-4 0 0 100 0 0 12 0.0000 4 180 1275 6900 1950 interactive_stdio\001
-4 0 0 100 0 0 12 0.0000 4 180 1875 4125 1950 install_steps_interactive\001
-4 0 0 100 0 0 12 0.0000 4 135 810 3975 3450 interactive\001
-4 0 0 100 0 0 12 0.0000 4 180 975 5625 4350 install_steps\001
diff --git a/docs/wizard.doc b/docs/wizard.doc
deleted file mode 100644
index 0bbf8d254..000000000
--- a/docs/wizard.doc
+++ /dev/null
@@ -1,31 +0,0 @@
-How to handle wizard?
-
-to switch in wizard mode:
-set $::isWizard to true;
-if $::Wizard_no_previous is set to true, the wizard won't display the previous button. Usefull for first step
-if $::Wizard_finished is set to true, the wizard will display Finish instead of Next. Usefull for last step
-
-how to code:
-Code as if there were no wizard.
-OK button is displayed as Next
-Cancel is displayed as Previous
-a additional button Cancel is added, xhich die with the exception 'wizard_cancelled'
-
-You have to handle the previous button. For example:
-
-step 1:
-ask_from list( blablablabl) or return;
-step2:
-ask_from list( blablablabl) or goto step1;
-step3:
-ask_from list( blablablabl) or goto step2;
-
-etc... You don't have to handle the wizard Cancel button as it send an exception.
-
-Understood? If yes, you'll see that there is a pb with ask_yesorno. In this case, yes+next returns true, no+next returns false, Cancel send the exception 'wizard_canceled' and previous send the exception 'wizard previous'. So you have to handle the previous button manually.
-
-plop.
-
-dam's, pour vous servir
-
-
diff --git a/live_update b/live_update
deleted file mode 100644
index 02d46ea18..000000000
--- a/live_update
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-message=/usr/X11R6/bin/gmessage
-[ -x $message ] || message=/usr/X11R6/bin/xmessage
-[ -x $message ] || unset message
-
-if [ "$UID" -ne 0 ]; then
- if [ -x "$message" ]; then
- case "$LANG" in
- fr*) buttons="Arrter:0"
- msg="Mise jour en direct de Linux-Mandrake.
-
-Vous devez tre l'utilisateur root pour lancer cette application." ;;
- *) buttons="Abort:0"
- msg="Linux-Mandrake live upgrade.
-
-You need to be root to start this program." ;;
- esac
- $message -buttons "$buttons" -print "$msg"
- else
- echo >&2 "You need to be root to start this program."
- fi
- exit 3
-fi
-
-distrib=`pwd`;
-if [ ! -x "$distrib/Mandrake/mdkinst/usr/bin/perl-install/live_install" ]; then
- distrib="/mnt/cdrom"
-fi
-if [ ! -x "$distrib/Mandrake/mdkinst/usr/bin/perl-install/live_install" ]; then
- if [ -x "$message" ]; then
- case "$LANG" in
- fr*) buttons="Arrter:0"
- msg="Mise jour en direct de Linux-Mandrake.
-
-Impossible de trouver le Cdrom d'installation de Linux-Mandrake dans le premier lecteur." ;;
- *) buttons="Abort:0"
- msg="Linux-Mandrake live upgrade.
-
-Unable to find Linux-Mandrake Installation Cd-Rom in the first drive." ;;
- esac
- $message -buttons "$buttons" -print "$msg"
- else
- echo >&2 "Unable to find Linux-Mandrake Installation Cd-Rom in the first drive."
- fi
- exit 2
-fi
-
-if [ -x "$message" ]; then
- case "$LANG" in
- fr*) buttons="Mise jour:0,Annuler:1"
- msg="Mise jour en direct de Linux-Mandrake.
-
-Appuyez sur \"Mise jour\" pour lancer la mise jour de votre systme,
-cela prendra quelques minutes avant que l'cran de DrakX apparaisse.
-
-Appuyez sur \"Annuler\" pour ne pas mettre jour votre systme de cette manire." ;;
- *) buttons="Upgrade:0,Cancel:1"
- msg="Linux-Mandrake live upgrade.
-
-Press \"Upgrade\" to start live upgrade on your system, note this will
-take some time to prepare the system before DrakX screen appears.
-
-Press \"Cancel\" to avoid upgrading your system this way." ;;
- esac
- default=`echo $buttons | cut -d: -f1`
- $message -buttons "$buttons" -default "$default" -print "$msg"
- [ $? -ne 0 ] && exit 1
-else
- echo >&2 "Press ENTER to start live upgrade on your system, note this will
-take some time to prepare the system before DrakX screen appears.
-
-Press CTRL-C to avoid upgrading your system this way."
-fi
-
-cd "$distrib/Mandrake/mdkinst/usr/bin/perl-install" && exec ./live_install
-exit 2
diff --git a/make_boot_img b/make_boot_img
deleted file mode 100755
index 77a925f9d..000000000
--- a/make_boot_img
+++ /dev/null
@@ -1,433 +0,0 @@
-#!/usr/bin/perl
-
-@ARGV >= 2 or die "usage: $0 <image> all|other|cdrom|hd|network|blank|pcmcia|live|tftp|tftprd\n";
-
-use Config;
-Config->import;
-my ($arch) = $Config{archname} =~ /(.*)-/;
-my $corporate = $ENV{CORPORATE} && " corporate"; #- use this for building a corporate version.
-
-($img, $type) = @ARGV;
-
-$instdir = "mdk-stage1";
-$mnt = "/tmp/drakx_mnt";
-$mke2fs = "/sbin/mke2fs -q -m 0 -F -s 1";
-
-if ($>) {
- $sudo = "sudo";
- $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
-}
-
-sub __ { print @_, "\n"; system(@_); }
-sub _ { __ @_; $? and die; }
-
-_ "$sudo mkdir $mnt" unless -e $mnt;
-_ "$sudo mkdir ${mnt}2" unless -e "${mnt}2";
-
-$install = $ {{
- all => "stage1-full",
- other => "stage1-full",
- blank => "stage1-full",
- live => "stage1-full",
- tftp => "stage1-full",
- tftprd => "stage1-full",
- pcmcia => "stage1-full",
- network => "stage1-network",
- cdrom => "stage1-cdrom",
- hd => "stage1-disk",
- live64 => "stage1-full",
- tftp64 => "stage1-full",
- tftprd64 => "stage1-full",
- pcmcia64 => "stage1-full",
- network64 => "stage1-network",
- cdrom64 => "stage1-cdrom",
- hd64 => "stage1-disk",
-}}{$type} or die;
-
-mkdir "images";
-chomp($main = `cat all.kernels/.main`);
-
-if ($img =~ /blank|other/) {
- @kernels = $main;
-} else {
- @kernels = map { m|all.kernels/(.*)| } glob('all.kernels/*');
-}
-
-foreach (@kernels) {
- if ($img =~ /rdz$/) {
- initrd($mnt, "$img-$_");
- } else {
- $::{"boot_img_$arch"}->($mnt, "$img-$_", glob("all.kernels/$_/boot/vmlinu*"));
- }
-}
-rename("$img-$main", "$img");
-
-sub install_stripped { _ "strip $_[0]"; _ "$sudo install $_[0] $_[1]" }
-
-sub initrd {
- my ($mnt, $img) = @_;
- my ($ltype, $I) = $type =~ /(.*?)(64)/; $ltype ||= $type;
- my $tmp = "$ENV{HOME}/tmp/initrd";
- my $tar = "$instdir/stage1-data/stage1.tar.bz2";
-
- __ "$sudo umount $tmp $mnt 2>/dev/null";
- _ "dd if=/dev/zero of=$tmp bs=1k count=" . ($type eq "all" ? 4000 : 2000);
- _ "$mke2fs $tmp";
- _ "$sudo mount -t ext2 $tmp $mnt -o loop";
-
- _ "$sudo tar xjC $mnt -f $tar";
- install_stripped("$instdir/init", "$mnt/sbin");
- install_stripped("$instdir/$install", "$mnt/sbin/stage1");
-
- my $ftype = $type =~ /^(all)$/ ? "pcmcia" : $type;
- if ($ftype eq "pcmcia" && $arch !~ /ppc/) {
- _ "$sudo cp -a /etc/pcmcia $mnt/etc";
- _ "$sudo patch -p0 -d $mnt/etc < $instdir/pcmcia_config.patch";
- }
- my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)";
- $modz = "all.modules$I/$ext";
- _ "$sudo cp -f $modz/${ltype}_modules.mar $mnt/modules/modules$I.mar" if $type !~ /blank/;
- _ "$sudo cp -f $modz/modules.dep $mnt/modules/";
- _ "$sudo umount $mnt";
-
-
-# Workaround for vfat-loop bug (quite touchy)
- _ "gzip -9f $tmp";
- _ "cp -f $tmp.gz $img";
- _ "rm -f $tmp.gz";
-# _ "gzip -9 -c $tmp > $img";
-# _ "rm -f $tmp";
-}
-
-sub boot_img_i386 {
- my ($mnt, $img, $kernel) = @_;
-
- __ "$sudo umount $mnt 2>/dev/null";
- my $automatic = "";
-
- if ($type eq "hd") {
- _ "bunzip2 -c $instdir/init-data/msgboot.img.bz2 > $img";
- } elsif ($type eq "all") {
- _ "bunzip2 -c $instdir/init-data/msgboot-graphicallogo-2880.img.bz2 > $img";
- } else {
- _ "bunzip2 -c $instdir/init-data/msgboot-graphicallogo.img.bz2 > $img";
- }
-
- $automatic = "automatic=method:cdrom" if ($type eq "cdrom");
- $automatic = "automatic=method:disk" if ($type eq "hd");
-
- _ "$sudo mount -t vfat -o umask=0 $img $mnt -o loop";
- _ "cat $kernel > $mnt/vmlinuz" if $type !~ /blank/;
-
- my $rdz = $img; $rdz =~ s/\.img/.rdz/;
- initrd("${mnt}2", $rdz) if !-e $rdz;
- eval { _ "cp -f $rdz $mnt/$type.rdz" };
- if ($@) {
- unlink "$mnt/$type.rdz";
- my $avail = (split ' ', `df $mnt`)[-3];
- my $s = int((-s $rdz) / 1024);
- die sprintf("not enough room for $rdz: need %dKB (available %dKB < needed %dKB)\n", $s - $avail, $avail, $s);
- }
-
-# my $ftype = $type =~ /^(other|all)$/ ? "cdrom" : $type;
- my $timeout = 72;
- output("$mnt/syslinux.cfg",
-"default linux
-prompt 1
-timeout $timeout
-display boot.msg
-F1 help.msg
-F2 boot.msg
-label linux
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic vga=788
-label vgalo
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic vga=785
-label vgahi
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic vga=791
-label vga16
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic vga16
-label text
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic text
-label patch
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic patch vga=788
-label expert
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic expert vga=788
-label rescue
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic rescue rw
-label lnx4win
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic lnx4win vga=788
-label preinst
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz automatic=method:cdrom rescue oem rw
-label oem
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz automatic=method:cdrom rescue oem rw
-label auto
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic auto_install=Mandrake/base/auto_inst.cfg.pl
-label all
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz pcmcia vga=788
-label ackbar
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz automatic=method:nfs,network:static,ip:192.168.1.205,dns:192.168.1.11,domain:mandrakesoft.com,server:ackbar,directory:/export vga=788
-");
- _ "sync";
- _ "df $mnt";
-}
-
-sub boot_img_alpha {
- my ($mnt, $img) = @_;
-
- __ "$sudo umount $mnt 2>/dev/null";
- _ "dd if=/dev/zero of=$img bs=1k count=1440";
- _ "$mke2fs $img";
- _ "/sbin/e2writeboot $img /boot/bootlx";
- _ "$sudo mount -t ext2 $img $mnt -o loop";
- _ "cp -f vmlinux.gz $mnt" if $type !~ /blank/;
- -f "$type.rdz" ? _ "cp -f $type.rdz $mnt" : initrd("${mnt}2", "$mnt/$type.rdz");
-
- mkdir "$mnt/etc", 0777;
- output("$mnt/etc/aboot.conf",
-"0:vmlinux.gz initrd=$type.rdz rw ramdisk_size=32000 $type
-1:vmlinux.gz initrd=$type.rdz rw ramdisk_size=32000 text $type
-");
- _ "sync";
- _ "df $mnt";
-}
-
-sub boot_img_sparc {
- my ($mnt, $img) = @_;
- if ($type =~ /^live(.*)/) {
- #- hack to produce directly into /export the needed file for cdrom boot.
- my $dir = "/export";
- my $boot = "boot"; #- non-absolute pathname only!
-
- _ "mkdir -p $dir/$boot";
- _ "cp -f /boot/cd.b /boot/second.b $dir/$boot";
- _ "cp -f vmlinux$1 $dir/$boot/vmlinux$1";
- -f "live$1.rdz" ? _ "cp -f live$1.rdz $dir/$boot" : initrd("${mnt}2", "$dir/$boot/live$1.rdz");
-
- output("$dir/$boot/silo.conf", "
-partition=1
-default=linux
-timeout=100
-read-write
-message=/$boot/boot.msg
-image=\"cat /$boot/boot.msg\"
- label=1
- single-key
-image=\"cat /$boot/general.msg\"
- label=2
- single-key
-image=\"cat /$boot/expert.msg\"
- label=3
- single-key
-image=\"cat /$boot/rescue.msg\"
- label=4
- single-key
-image=\"cat /$boot/kickit.msg\"
- label=5
- single-key
-image=\"cat /$boot/param.msg\"
- label=6
- single-key
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=linux
- alias=install
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000$corporate\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=text
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000 text$corporate\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=expert
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000 expert$corporate\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=ks
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000 ks$corporate\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=rescue
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000 rescue rw root=/dev/ram3$corporate\"
-image[sun4u]=/$boot/vmlinux64
- label=linux
- alias=install
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000$corporate\"
-image[sun4u]=/$boot/vmlinux64
- label=text
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000 text$corporate\"
-image[sun4u]=/$boot/vmlinux64
- label=expert
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000 expert$corporate\"
-image[sun4u]=/$boot/vmlinux64
- label=ks
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000 ks$corporate\"
-image[sun4u]=/$boot/vmlinux64
- label=rescue
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000 rescue rw root=/dev/ram3$corporate\"
-");
-
- output("$dir/$boot/README", "
-To Build a Bootable CD-ROM, try:
- mkisofs -R -o t.iso -s /$boot/silo.conf /export
-");
- } elsif ($type =~ /^tftprd(.*)/) {
- my $dir = "/export";
- my $boot = "images";
- my $setarch = $1 ? "sparc64" : "sparc32";
-
- _ "mkdir -p $dir/$boot";
- -f "$type.rdz" or initrd("${mnt}2", "$type.rdz");
- _ "cp -f vmlinux$1.aout $dir/$boot/$type.img";
- _ "$setarch kernel$1/src/arch/sparc$1/boot/piggyback $dir/$boot/$type.img kernel$1/boot/System.map $type.rdz";
- } elsif ($type =~ /^tftp(.*)/) {
- my $dir = "/export";
- my $boot = "images";
-
- _ "mkdir -p $dir/$boot";
- _ "cp -f vmlinux$1.aout $dir/$boot/$type.img";
- } else {
- my $dir = "floppy";
- my ($ltype, $I) = $type =~ /(.*?)(64)/; $ltype ||= $type;
-
- __ "$sudo umount $mnt 2>/dev/null";
- _ "rm -rf $dir";
- _ "mkdir -p $dir";
- _ "cp -f /boot/fd.b /boot/second.b $dir";
- _ "cp -f vmlinuz$I $dir/vmlinux$I.gz" if $type !~ /blank/;
- -f "$type.rdz" ? _ "cp -f $type.rdz $dir" : initrd("${mnt}2", "$dir/$type.rdz");
-
- output("$dir/boot.msg", "
-Welcome to Linux-Mandrake 7.1
-
-Press <Enter> to install or upgrade a system 7mLinux-Mandrake7m
-");
-
- output("$dir/silo.conf", "
-partition=1
-default=linux
-timeout=100
-read-write
-message=/boot.msg
-image=/vmlinux$I.gz
- label=linux
- initrd=/$type.rdz
- append=\"ramdisk_size=32000 $ltype$corporate\"
-");
- _ "genromfs -d $dir -f /dev/ram -A 2048,/.. -a 512 -V \'DrakX boot disk\'";
- _ "$sudo mount -t romfs /dev/ram $mnt";
- _ "silo -r $mnt -F -i /fd.b -b /second.b -C /silo.conf";
- _ "$sudo umount $mnt";
- _ "dd if=/dev/ram of=$type.img bs=1440k count=1";
- _ "sync";
- _ "$sudo mount -t romfs /dev/ram $mnt";
- _ "df $mnt";
- }
-}
-
-sub boot_img_ppc {
- my ($mnt, $img, $kern, $modz) = @_;
- my $dir = "/export";
- my $boot = "boot"; #- non-absolute pathname only!
- my ($extension) = $modz =~ /.*\/([^\/]+)/;
- _ "mkdir -p $dir/$boot";
- _ "cp -f $kern $dir/$boot/vmlinux";
- _ "cp -f images/all.rdz$extension $dir/boot/all.gz";
- _ "cp -f tools/ppc/yaboot $dir/boot/yaboot";
-
- output("$dir/$boot/yaboot.conf", "
-init-message = \"\\nWelcome to Mandrake Linux PPC!\\nHit <TAB> for boot options.\\n\\n\"
-timeout = 150
-default = install-novideo
-
-image = cd:,\\\\\\\\vmlinux
- label = install-novideo
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-atyfb
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=atyfb:vmode:17\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-aty128fb
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=aty128fb:vmode:17\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-text
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" text video=ofonly\"
-
-image = enet:0,vmlinux
- label = install-net
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 32000
- append = \" video=ofonly\"
-
-image = enet:0,vmlinux
- label = install-net-text
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 32000
- append = \" text video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = rescue
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" rescue video=ofonly\"
-
-image = enet:0,vmlinux
- label = rescue-net
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 32000
- append = \" rescue video=ofonly\"
-");
- #- seem to need 2 yaboot.conf, one in the root, and one in boot
- _ "cp -f $dir/boot/yaboot.conf $dir/yaboot.conf";
-
- output("$dir/$boot/README", "
-To Build a Bootable CD-ROM, do:
-cd /tools/ppc
-./mkINSTALLCD /export ppc-cd.img
-");
-
-}
-
-sub output {
- my $f = shift;
- local *F;
- open F, "> $f" or die "error writing to $f";
- print F join '', @_;
-}
diff --git a/make_ks_from_floppy b/make_ks_from_floppy
deleted file mode 100755
index 0c2c48331..000000000
--- a/make_ks_from_floppy
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-ks="install/ks.cfg"
-
-[ -e $ks ] || { echo "missing file $ks, create one based on $ks.default"; exit 1; }
-
-sudo mount /mnt/floppy
-cp -f $ks /mnt/floppy
-perl -pi -e 's/prompt 1//; s/\s*kickstart=\S+//g; s/append/append kickstart=auto_inst.cfg.pl/' /mnt/floppy/syslinux.cfg
-sudo umount /mnt/floppy
diff --git a/mdk-stage1/.cvsignore b/mdk-stage1/.cvsignore
deleted file mode 100644
index c2cd01c54..000000000
--- a/mdk-stage1/.cvsignore
+++ /dev/null
@@ -1,10 +0,0 @@
-init
-stage1-full
-stage1-cdrom
-stage1-disk
-stage1-network
-debug.log
-.depend
-*.rdz*
-mkinitrd_helper.tar.bz2
-hack_*
diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile
deleted file mode 100644
index d52b0f8da..000000000
--- a/mdk-stage1/Makefile
+++ /dev/null
@@ -1,240 +0,0 @@
- #******************************************************************************
- #
- # mdk-stage1 - the program that will load second-stage install
- #
- # $Id$
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- # Portions from Erik Troan (ewt@redhat.com) Copyright 1996 Red Hat Software
- #
- #*****************************************************************************
- #
- # Currently:
- #
- # ix86
- # init with minilibc
- # stage1 with dietlibc except some targets
- #
- # ppc
- # init with dietlibc
- # stage1 with glibc
- #
- # ia64
- # init with glibc
- # stage1 with glibc
- #
- #*****************************************************************************
-
-
-VERSION = cooker
-
-top_dir = .
-
-include $(top_dir)/Makefile.common
-
-
-DEFS = -DVERSION=\"$(VERSION)\" -DSPAWN_SHELL
-
-COMPILE = $(CC) $(DEFS) $(CFLAGS)
-
-
- #- stage1 "loader"
-ifeq (i386, $(ARCH))
-INITSRC = minilibc.c init.c
-INIT_DEFS = -DINIT_HEADERS=\"minilibc.h\"
-else
-INITSRC = init.c
-ifeq (ia64, $(ARCH))
-INIT_DEFS = -DINIT_HEADERS=\"init-libc-headers.h\" $(GLIBC_INCLUDES)
-else
-INIT_DEFS = -DINIT_HEADERS=\"init-libc-headers.h\" $(DIETLIBC_INCLUDES)
-endif
-endif
-
-INITOBJS = $(subst .c,.o,$(INITSRC))
-
-
- #- frontends
-NEWT_FRONTEND_SRC = newt-frontend.c
-GLIBC_NEWT_FRONTEND_LIBS = newt/libnewt.a slang/libslang.a
-DIETLIBC_NEWT_FRONTEND_LIBS = $(subst .a,-DIET.a,$(GLIBC_NEWT_FRONTEND_LIBS))
-
-STDIO_FRONTEND_SRC = stdio-frontend.c
-GLIBC_STDIO_FRONTEND_LIBS =
-DIETLIBC_STDIO_FRONTEND_LIBS =
-
-
-FRONTEND_OBJS = $(subst .c,.o,$($(F)_FRONTEND_SRC))
-
-FRONTEND_LINK = $(FRONTEND_OBJS) $($(L)_$(F)_FRONTEND_LIBS)
-
-ifeq (i386, $(ARCH))
-INSMOD = insmod-busybox
-else
-INSMOD = insmod-modutils
-endif
-
-GLIBC_STAGE1_OWN_LIBS = $(INSMOD)/libinsmod.a mar/libmar.a bzlib/libbzlib.a
-DIETLIBC_STAGE1_OWN_LIBS = $(subst .a,-DIET.a,$(GLIBC_STAGE1_OWN_LIBS))
-STAGE1_OWN_LIBS = $($(L)_STAGE1_OWN_LIBS)
-
-
-ifeq (DIETLIBC, $(L))
-STAGE1_NETWORK_LIBS = $(top_dir)/dietlibc/bin-$(ARCH)/librpc.a
-endif
-
-ifeq (GLIBC, $(L))
-STAGE1_NETWORK_LIBS = /usr/lib/libresolv.a
-endif
-
- #- stage1 itself
-STAGE1SRC = stage1.c log.c tools.c modules.c probing.c mount.c automatic.c frontend-common.c
-CDROMSRC = cdrom.c
-DISKSRC = disk.c lomount.c
-NETWORKSRC = network.c nfsmount.c dhcp.c url.c dns.c adsl.c
-
-ALLSRC = $(INITSRC) $(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC)
-
-
-
-STAGE1OBJS-CDROM = $(subst .c,-CDROM.o,$(STAGE1SRC) $(CDROMSRC))
-
-CDROM_DEFS = -DDISABLE_DISK -DDISABLE_NETWORK
-
-
-STAGE1OBJS-DISK = $(subst .c,-DISK.o,$(STAGE1SRC) $(DISKSRC))
-
-DISK_DEFS = -DDISABLE_CDROM -DDISABLE_NETWORK
-
-
-STAGE1OBJS-NETWORK = $(subst .c,-NETWORK.o,$(STAGE1SRC) $(NETWORKSRC))
-
-NETWORK_DEFS = -DDISABLE_CDROM -DDISABLE_DISK
-
-
-STAGE1OBJS-FULL = $(subst .c,-FULL.o,$(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC))
-
-
-ifeq (i386, $(ARCH))
-LDFLAGS_INIT = -static -nostdlib /usr/lib/crt1.o
-else
-ifeq (ia64, $(ARCH))
-LDFLAGS_INIT = $(GLIBC_LDFLAGS_STAGE1)
-INIT_LIBC = $(GLIBC_LIBC)
-else
-LDFLAGS_INIT = $(DIETLIBC_LDFLAGS_STAGE1)
-INIT_LIBC = $(DIETLIBC_LIBC)
-endif
-endif
-
-
-BINS = init stage1-full
-
-ifeq (i386, $(ARCH))
-BINS += stage1-cdrom stage1-disk stage1-network
-endif
-
-ifneq (ia64, $(ARCH))
-DIRS = dietlibc
-endif
-DIRS += mar pci-resource bzlib $(INSMOD) slang newt
-ifeq (i386,$(ARCH))
-DIRS += pcmcia
-endif
-
-
-ifeq (i386,$(ARCH))
-GLIBC_PCMCIA_LIB = pcmcia/libpcmcia.a
-DIETLIBC_PCMCIA_LIB = $(subst .a,-DIET.a,$(GLIBC_PCMCIA_LIB))
-PCMCIA_LIB = $($(L)_PCMCIA_LIB)
-PCMCIA_DEFS = -DENABLE_PCMCIA
-endif
-
-
-all: dirs $(BINS)
-
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || make -C $$n ;\
- done
-
-init: $(INITOBJS) $(INIT_LIBC)
- $(CC) $(LDFLAGS_INIT) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-cdrom: $(STAGE1OBJS-CDROM) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-disk: $(STAGE1OBJS-DISK) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-network: $(STAGE1OBJS-NETWORK) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-full: $(STAGE1OBJS-FULL) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC)
- $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-
-$(INITOBJS): %.o: %.c
- $(COMPILE) $(INIT_DEFS) -c $<
-
-$(STAGE1OBJS-CDROM): %-CDROM.o: %.c .depend
- $(COMPILE) $(INCLUDES) $(CDROM_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-DISK): %-DISK.o: %.c .depend
- $(COMPILE) $(INCLUDES) $(DISK_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-NETWORK): %-NETWORK.o: %.c .depend
- $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-FULL): %-FULL.o: %.c .depend
- $(COMPILE) $(INCLUDES) $(PCMCIA_DEFS) -c $< -o $@
-
-.c.o: .depend
- $(COMPILE) $(INCLUDES) -c $<
-
-
-clean:
- @for n in $(DIRS); do \
- (cd $$n; make clean) \
- done
- rm -f *.o .depend *.rdz *.img $(BINS)
-
-
-tar-mkinitrd_helper: clean
- $(MAKE) -C mkinitrd_helper clean
- rm -rf mkinitrd_helper-subdir
- mkdir mkinitrd_helper-subdir
- cd mkinitrd_helper-subdir ; cp -a ../dietlibc ../insmod-busybox ../mkinitrd_helper ../Makefile.common ../insmod.h ../log.h . ; \
- cp ../Makefile.mkinitrd_helper Makefile
- tar cfj mkinitrd_helper.tar.bz2 mkinitrd_helper-subdir --exclude CVS
- rm -rf mkinitrd_helper-subdir
-
-
-.depend:
- $(CPP) $(CFLAGS) -DHAVE_CONFIG_H -M $(ALLSRC) > .depend
-
-ifeq (.depend,$(wildcard .depend))
-include .depend
-endif
-
-
-*-CDROM.o: %-CDROM.o: %.o
-
-*-DISK.o: %-DISK.o: %.o
-
-*-NETWORK.o: %-NETWORK.o: %.o
diff --git a/mdk-stage1/Makefile.common b/mdk-stage1/Makefile.common
deleted file mode 100644
index 58b43bcd7..000000000
--- a/mdk-stage1/Makefile.common
+++ /dev/null
@@ -1,51 +0,0 @@
- # -*- makefile -*-
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
-
- #- default lib is dietlibc (honoured by main Makefile whenever possible)
-L = DIETLIBC
-#L = GLIBC
-
- #- default frontend is newt (honoured by main Makefile whenever possible)
-F = NEWT
-# F = STDIO
-
- #- override in some situations
-ifeq (ia64, $(ARCH))
-L = GLIBC
-endif
-
-
- #- flags used by all stuff
-CFLAGS = -Os -pipe -Wall -Werror -fomit-frame-pointer
-
-
-DIETLIBC_INCLUDES = -I$(top_dir)/dietlibc/include -I.
-GLIBC_INCLUDES = -I.
-INCLUDES = $($(L)_INCLUDES)
-
-GLIBC_LDFLAGS_STAGE1 = -static
-DIETLIBC_LDFLAGS_STAGE1 = -nostdlib $(top_dir)/dietlibc/bin-$(ARCH)/start.o
-LDFLAGS_STAGE1 = $($(L)_LDFLAGS_STAGE1)
-
-GLIBC_LIBC =
-DIETLIBC_LIBC = $(top_dir)/dietlibc/bin-$(ARCH)/dietlibc.a
-STAGE1_LIBC = $($(L)_LIBC)
-
-STRIPCMD = strip -R .note -R .comment
-
diff --git a/mdk-stage1/Makefile.mkinitrd_helper b/mdk-stage1/Makefile.mkinitrd_helper
deleted file mode 100644
index 899fccb55..000000000
--- a/mdk-stage1/Makefile.mkinitrd_helper
+++ /dev/null
@@ -1,30 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-
-DIRS = dietlibc insmod-busybox mkinitrd_helper
-
-
-all: dirs
-
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || make -C $$n ;\
- done
-
-clean:
- @for n in $(DIRS); do \
- (cd $$n; make clean) \
- done
diff --git a/mdk-stage1/adsl.c b/mdk-stage1/adsl.c
deleted file mode 100644
index c1ecae32c..000000000
--- a/mdk-stage1/adsl.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <sys/ioctl.h>
-#include <errno.h>
-
-#include "stage1.h"
-#include "log.h"
-#include "network.h"
-#include "modules.h"
-#include "tools.h"
-#include "frontend.h"
-
-#include "adsl.h"
-
-enum return_type perform_adsl(struct interface_info * intf)
-{
- char * pppd_launch[] = { "/sbin/pppd", "pty", "/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -I eth0 -T 80 -U -m 1412",
- "noipdefault", "noauth", "default-asyncmap", "defaultroute", "hide-password", "nodetach", "usepeerdns",
- "local", "mtu", "1492", "mru", "1492", "noaccomp", "noccp", "nobsdcomp", "nodeflate", "nopcomp",
- "novj", "novjccomp", "user", "netissimo@netissimo", "lcp-echo-interval", "20", "lcp-echo-failure",
- "3", NULL };
- int fd;
-
- struct in_addr addr;
-
- if (strncmp(intf->device, "eth", 3)) {
- stg1_error_message("ADSL available only for Ethernet networking (through PPPoE).");
- return RETURN_ERROR;
- }
-
- inet_aton("10.0.0.10", &addr);
- memcpy(&intf->ip, &addr, sizeof(addr));
-
- inet_aton("255.255.255.0", &addr);
- memcpy(&intf->netmask, &addr, sizeof(addr));
-
- *((uint32_t *) &intf->broadcast) = (*((uint32_t *) &intf->ip) &
- *((uint32_t *) &intf->netmask)) | ~(*((uint32_t *) &intf->netmask));
-
- intf->is_ptp = 0;
-
- if (configure_net_device(intf)) {
- stg1_error_message("Could not configure..");
- return RETURN_ERROR;
- }
-
- my_insmod("ppp_generic", ANY_DRIVER_TYPE, NULL);
- my_insmod("ppp_async", ANY_DRIVER_TYPE, NULL);
- my_insmod("ppp_synctty", ANY_DRIVER_TYPE, NULL);
- my_insmod("ppp", ANY_DRIVER_TYPE, NULL);
-
- stg1_info_message("Interface %s seems ready.", intf->device);
-
-
- fd = open("/dev/tty6", O_RDWR);
- if (fd == -1) {
- log_message("cannot open /dev/tty6 -- no pppd");
- return RETURN_ERROR;
- }
- else if (access(pppd_launch[0], X_OK)) {
- log_message("cannot open pppd - %s doesn't exist", pppd_launch[0]);
- return RETURN_ERROR;
- }
-
- if (!fork()) {
- dup2(fd, 0);
- dup2(fd, 1);
- dup2(fd, 2);
-
- close(fd);
- setsid();
- if (ioctl(0, TIOCSCTTY, NULL))
- log_perror("could not set new controlling tty");
-
- execve(pppd_launch[0], pppd_launch, grab_env());
- log_message("execve of %s failed: %s", pppd_launch[0], strerror(errno));
- }
-
- close(fd);
-
- stg1_info_message("Forked for %s.", intf->device);
-
- return RETURN_OK;
-
-}
diff --git a/mdk-stage1/adsl.h b/mdk-stage1/adsl.h
deleted file mode 100644
index 9d32cc631..000000000
--- a/mdk-stage1/adsl.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * View the homepage: http://us.mandrakesoft.com/~gc/html/stage1.html
- *
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from GRUB -- GRand Unified Bootloader
- * Copyright (C) 2000 Free Software Foundation, Inc.
- *
- * Itself based on etherboot-4.6.4 by Martin Renters.
- *
- */
-
-#ifndef _ADSL_H_
-#define _ADSL_H_
-
-#include "stage1.h"
-#include "network.h"
-
-enum return_type perform_adsl(struct interface_info * intf);
-
-#endif
diff --git a/mdk-stage1/automatic.c b/mdk-stage1/automatic.c
deleted file mode 100644
index 486a829de..000000000
--- a/mdk-stage1/automatic.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * This is supposed to replace the redhat "kickstart", by name but
- * also by design (less code pollution).
- *
- */
-
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include "tools.h"
-#include "stage1.h"
-#include "frontend.h"
-#include "log.h"
-
-#include "automatic.h"
-
-
-static struct param_elem * automatic_params;
-static char * value_not_bound = "";
-
-void grab_automatic_params(char * line)
-{
- int i, p;
- struct param_elem tmp_params[50];
-
- i = 0; p = 0;
- while (line[i] != '\0') {
- char *name, *value;
- int k;
- int j = i;
- while (line[i] != ':' && line[i] != '\0')
- i++;
- name = memdup(&line[j], i-j + 1);
- name[i-j] = 0;
-
- k = i+1;
- i++;
- while (line[i] != ',' && line[i] != '\0')
- i++;
- value = memdup(&line[k], i-k + 1);
- value[i-k] = 0;
-
- tmp_params[p].name = name;
- tmp_params[p].value = value;
- p++;
- if (line[i] == '\0')
- break;
- i++;
- }
-
- tmp_params[p++].name = NULL;
- automatic_params = memdup(tmp_params, sizeof(struct param_elem) * p);
-
- log_message("AUTOMATIC MODE: got %d params", p-1);
-}
-
-
-char * get_auto_value(char * auto_param)
-{
- struct param_elem * ptr = automatic_params;
-
- while (ptr->name) {
- if (!strcmp(ptr->name, auto_param))
- return ptr->value;
- ptr++;
- }
-
- return value_not_bound;
-}
-
-
-enum return_type ask_from_list_auto(char *msg, char ** elems, char ** choice, char * auto_param, char ** elems_auto)
-{
- if (!IS_AUTOMATIC)
- return ask_from_list(msg, elems, choice);
- else {
- char ** sav_elems = elems;
- char * tmp = get_auto_value(auto_param);
- while (elems && *elems) {
- if (!strcmp(tmp, *elems_auto)) {
- *choice = *elems;
- log_message("AUTOMATIC: parameter %s for %s means returning %s", tmp, auto_param, *elems);
- return RETURN_OK;
- }
- elems++;
- elems_auto++;
- }
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
- return ask_from_list(msg, sav_elems, choice);
- }
-}
-
-enum return_type ask_from_list_comments_auto(char *msg, char ** elems, char ** elems_comments, char ** choice, char * auto_param, char ** elems_auto)
-{
- if (!IS_AUTOMATIC)
- return ask_from_list_comments(msg, elems, elems_comments, choice);
- else {
- char ** sav_elems = elems;
- char * tmp = get_auto_value(auto_param);
- while (elems && *elems) {
- if (!strcmp(tmp, *elems_auto)) {
- *choice = *elems;
- log_message("AUTOMATIC: parameter %s for %s means returning %s", tmp, auto_param, *elems);
- return RETURN_OK;
- }
- elems++;
- elems_auto++;
- }
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
- return ask_from_list_comments(msg, sav_elems, elems_comments, choice);
- }
-}
-
-
-enum return_type ask_from_entries_auto(char *msg, char ** questions, char *** answers, int entry_size, char ** questions_auto, void (*callback_func)(char ** strings))
-{
- if (!IS_AUTOMATIC)
- return ask_from_entries(msg, questions, answers, entry_size, callback_func);
- else {
- char * tmp_answers[50];
- int i = 0;
- while (questions && *questions) {
- tmp_answers[i] = get_auto_value(*questions_auto);
- log_message("AUTOMATIC: question %s answers %s because of param %s", *questions, tmp_answers[i], *questions_auto);
- i++;
- questions++;
- questions_auto++;
-
- }
- *answers = memdup(tmp_answers, sizeof(char *) * i);
- return RETURN_OK;
- }
-}
diff --git a/mdk-stage1/automatic.h b/mdk-stage1/automatic.h
deleted file mode 100644
index c2ac0a73d..000000000
--- a/mdk-stage1/automatic.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * This is supposed to replace the redhat "kickstart", by name but
- * also by design (no code pollution).
- *
- */
-
-#ifndef _AUTOMATIC_H_
-#define _AUTOMATIC_H_
-
-#include "stage1.h"
-
-void grab_automatic_params(char * line);
-
-enum return_type ask_from_list_auto(char *msg, char ** elems, char ** choice, char * auto_param, char ** elems_auto);
-enum return_type ask_from_list_comments_auto(char *msg, char ** elems, char ** elems_comments, char ** choice, char * auto_param, char ** elems_auto);
-enum return_type ask_from_entries_auto(char *msg, char ** questions, char *** answers, int entry_size, char ** questions_auto, void (*callback_func)(char ** strings));
-
-#endif
diff --git a/mdk-stage1/bzlib/Makefile b/mdk-stage1/bzlib/Makefile
deleted file mode 100644
index 6b4f29ffc..000000000
--- a/mdk-stage1/bzlib/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-LIBNAME = libbzlib
-
-OBJS = blocksort.o bzlib.o compress.o crctable.o decompress.o huffman.o randtable.o
-
-DEFS =
-
-INCS =
-
-
-TARGETS = $(LIBNAME).a
-
-ifeq (DIETLIBC, $(L))
-TARGETS += $(LIBNAME)-DIET.a
-endif
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(LIBNAME)-DIET.a: $(OBJS-DIET)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(DIETLIBC_INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/bzlib/blocksort.c b/mdk-stage1/bzlib/blocksort.c
deleted file mode 100644
index c1b78c483..000000000
--- a/mdk-stage1/bzlib/blocksort.c
+++ /dev/null
@@ -1,1138 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Block sorting machinery ---*/
-/*--- blocksort.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. 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. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 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.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
-
- To get some idea how the block sorting algorithms in this file
- work, read my paper
- On the Performance of BWT Sorting Algorithms
- in Proceedings of the IEEE Data Compression Conference 2000,
- Snowbird, Utah, USA, 27-30 March 2000. The main sort in this
- file implements the algorithm called cache in the paper.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-/*---------------------------------------------*/
-/*--- Fallback O(N log(N)^2) sorting ---*/
-/*--- algorithm, for repetitive blocks ---*/
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-__inline__
-void fallbackSimpleSort ( UInt32* fmap,
- UInt32* eclass,
- Int32 lo,
- Int32 hi )
-{
- Int32 i, j, tmp;
- UInt32 ec_tmp;
-
- if (lo == hi) return;
-
- if (hi - lo > 3) {
- for ( i = hi-4; i >= lo; i-- ) {
- tmp = fmap[i];
- ec_tmp = eclass[tmp];
- for ( j = i+4; j <= hi && ec_tmp > eclass[fmap[j]]; j += 4 )
- fmap[j-4] = fmap[j];
- fmap[j-4] = tmp;
- }
- }
-
- for ( i = hi-1; i >= lo; i-- ) {
- tmp = fmap[i];
- ec_tmp = eclass[tmp];
- for ( j = i+1; j <= hi && ec_tmp > eclass[fmap[j]]; j++ )
- fmap[j-1] = fmap[j];
- fmap[j-1] = tmp;
- }
-}
-
-
-/*---------------------------------------------*/
-#define fswap(zz1, zz2) \
- { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
-
-#define fvswap(zzp1, zzp2, zzn) \
-{ \
- Int32 yyp1 = (zzp1); \
- Int32 yyp2 = (zzp2); \
- Int32 yyn = (zzn); \
- while (yyn > 0) { \
- fswap(fmap[yyp1], fmap[yyp2]); \
- yyp1++; yyp2++; yyn--; \
- } \
-}
-
-
-#define fmin(a,b) ((a) < (b)) ? (a) : (b)
-
-#define fpush(lz,hz) { stackLo[sp] = lz; \
- stackHi[sp] = hz; \
- sp++; }
-
-#define fpop(lz,hz) { sp--; \
- lz = stackLo[sp]; \
- hz = stackHi[sp]; }
-
-#define FALLBACK_QSORT_SMALL_THRESH 10
-#define FALLBACK_QSORT_STACK_SIZE 100
-
-
-static
-void fallbackQSort3 ( UInt32* fmap,
- UInt32* eclass,
- Int32 loSt,
- Int32 hiSt )
-{
- Int32 unLo, unHi, ltLo, gtHi, n, m;
- Int32 sp, lo, hi;
- UInt32 med, r, r3;
- Int32 stackLo[FALLBACK_QSORT_STACK_SIZE];
- Int32 stackHi[FALLBACK_QSORT_STACK_SIZE];
-
- r = 0;
-
- sp = 0;
- fpush ( loSt, hiSt );
-
- while (sp > 0) {
-
- AssertH ( sp < FALLBACK_QSORT_STACK_SIZE, 1004 );
-
- fpop ( lo, hi );
- if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) {
- fallbackSimpleSort ( fmap, eclass, lo, hi );
- continue;
- }
-
- /* Random partitioning. Median of 3 sometimes fails to
- avoid bad cases. Median of 9 seems to help but
- looks rather expensive. This too seems to work but
- is cheaper. Guidance for the magic constants
- 7621 and 32768 is taken from Sedgewick's algorithms
- book, chapter 35.
- */
- r = ((r * 7621) + 1) % 32768;
- r3 = r % 3;
- if (r3 == 0) med = eclass[fmap[lo]]; else
- if (r3 == 1) med = eclass[fmap[(lo+hi)>>1]]; else
- med = eclass[fmap[hi]];
-
- unLo = ltLo = lo;
- unHi = gtHi = hi;
-
- while (1) {
- while (1) {
- if (unLo > unHi) break;
- n = (Int32)eclass[fmap[unLo]] - (Int32)med;
- if (n == 0) {
- fswap(fmap[unLo], fmap[ltLo]);
- ltLo++; unLo++;
- continue;
- };
- if (n > 0) break;
- unLo++;
- }
- while (1) {
- if (unLo > unHi) break;
- n = (Int32)eclass[fmap[unHi]] - (Int32)med;
- if (n == 0) {
- fswap(fmap[unHi], fmap[gtHi]);
- gtHi--; unHi--;
- continue;
- };
- if (n < 0) break;
- unHi--;
- }
- if (unLo > unHi) break;
- fswap(fmap[unLo], fmap[unHi]); unLo++; unHi--;
- }
-
- AssertD ( unHi == unLo-1, "fallbackQSort3(2)" );
-
- if (gtHi < ltLo) continue;
-
- n = fmin(ltLo-lo, unLo-ltLo); fvswap(lo, unLo-n, n);
- m = fmin(hi-gtHi, gtHi-unHi); fvswap(unLo, hi-m+1, m);
-
- n = lo + unLo - ltLo - 1;
- m = hi - (gtHi - unHi) + 1;
-
- if (n - lo > hi - m) {
- fpush ( lo, n );
- fpush ( m, hi );
- } else {
- fpush ( m, hi );
- fpush ( lo, n );
- }
- }
-}
-
-#undef fmin
-#undef fpush
-#undef fpop
-#undef fswap
-#undef fvswap
-#undef FALLBACK_QSORT_SMALL_THRESH
-#undef FALLBACK_QSORT_STACK_SIZE
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > 0
- eclass exists for [0 .. nblock-1]
- ((UChar*)eclass) [0 .. nblock-1] holds block
- ptr exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)eclass) [0 .. nblock-1] holds block
- All other areas of eclass destroyed
- fmap [0 .. nblock-1] holds sorted order
- bhtab [ 0 .. 2+(nblock/32) ] destroyed
-*/
-
-#define SET_BH(zz) bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
-#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
-#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
-#define WORD_BH(zz) bhtab[(zz) >> 5]
-#define UNALIGNED_BH(zz) ((zz) & 0x01f)
-
-static
-void fallbackSort ( UInt32* fmap,
- UInt32* eclass,
- UInt32* bhtab,
- Int32 nblock,
- Int32 verb )
-{
- Int32 ftab[257];
- Int32 ftabCopy[256];
- Int32 H, i, j, k, l, r, cc, cc1;
- Int32 nNotDone;
- Int32 nBhtab;
- UChar* eclass8 = (UChar*)eclass;
-
- /*--
- Initial 1-char radix sort to generate
- initial fmap and initial BH bits.
- --*/
- if (verb >= 4)
- VPrintf0 ( " bucket sorting ...\n" );
- for (i = 0; i < 257; i++) ftab[i] = 0;
- for (i = 0; i < nblock; i++) ftab[eclass8[i]]++;
- for (i = 0; i < 256; i++) ftabCopy[i] = ftab[i];
- for (i = 1; i < 257; i++) ftab[i] += ftab[i-1];
-
- for (i = 0; i < nblock; i++) {
- j = eclass8[i];
- k = ftab[j] - 1;
- ftab[j] = k;
- fmap[k] = i;
- }
-
- nBhtab = 2 + (nblock / 32);
- for (i = 0; i < nBhtab; i++) bhtab[i] = 0;
- for (i = 0; i < 256; i++) SET_BH(ftab[i]);
-
- /*--
- Inductively refine the buckets. Kind-of an
- "exponential radix sort" (!), inspired by the
- Manber-Myers suffix array construction algorithm.
- --*/
-
- /*-- set sentinel bits for block-end detection --*/
- for (i = 0; i < 32; i++) {
- SET_BH(nblock + 2*i);
- CLEAR_BH(nblock + 2*i + 1);
- }
-
- /*-- the log(N) loop --*/
- H = 1;
- while (1) {
-
- if (verb >= 4)
- VPrintf1 ( " depth %6d has ", H );
-
- j = 0;
- for (i = 0; i < nblock; i++) {
- if (ISSET_BH(i)) j = i;
- k = fmap[i] - H; if (k < 0) k += nblock;
- eclass[k] = j;
- }
-
- nNotDone = 0;
- r = -1;
- while (1) {
-
- /*-- find the next non-singleton bucket --*/
- k = r + 1;
- while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
- if (ISSET_BH(k)) {
- while (WORD_BH(k) == 0xffffffff) k += 32;
- while (ISSET_BH(k)) k++;
- }
- l = k - 1;
- if (l >= nblock) break;
- while (!ISSET_BH(k) && UNALIGNED_BH(k)) k++;
- if (!ISSET_BH(k)) {
- while (WORD_BH(k) == 0x00000000) k += 32;
- while (!ISSET_BH(k)) k++;
- }
- r = k - 1;
- if (r >= nblock) break;
-
- /*-- now [l, r] bracket current bucket --*/
- if (r > l) {
- nNotDone += (r - l + 1);
- fallbackQSort3 ( fmap, eclass, l, r );
-
- /*-- scan bucket and generate header bits-- */
- cc = -1;
- for (i = l; i <= r; i++) {
- cc1 = eclass[fmap[i]];
- if (cc != cc1) { SET_BH(i); cc = cc1; };
- }
- }
- }
-
- if (verb >= 4)
- VPrintf1 ( "%6d unresolved strings\n", nNotDone );
-
- H *= 2;
- if (H > nblock || nNotDone == 0) break;
- }
-
- /*--
- Reconstruct the original block in
- eclass8 [0 .. nblock-1], since the
- previous phase destroyed it.
- --*/
- if (verb >= 4)
- VPrintf0 ( " reconstructing block ...\n" );
- j = 0;
- for (i = 0; i < nblock; i++) {
- while (ftabCopy[j] == 0) j++;
- ftabCopy[j]--;
- eclass8[fmap[i]] = (UChar)j;
- }
- AssertH ( j < 256, 1005 );
-}
-
-#undef SET_BH
-#undef CLEAR_BH
-#undef ISSET_BH
-#undef WORD_BH
-#undef UNALIGNED_BH
-
-
-/*---------------------------------------------*/
-/*--- The main, O(N^2 log(N)) sorting ---*/
-/*--- algorithm. Faster for "normal" ---*/
-/*--- non-repetitive blocks. ---*/
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-__inline__
-Bool mainGtU ( UInt32 i1,
- UInt32 i2,
- UChar* block,
- UInt16* quadrant,
- UInt32 nblock,
- Int32* budget )
-{
- Int32 k;
- UChar c1, c2;
- UInt16 s1, s2;
-
- AssertD ( i1 != i2, "mainGtU" );
- /* 1 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 2 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 3 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 4 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 5 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 6 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 7 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 8 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 9 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 10 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 11 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 12 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
-
- k = nblock + 8;
-
- do {
- /* 1 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 2 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 3 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 4 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 5 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 6 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 7 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 8 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
-
- if (i1 >= nblock) i1 -= nblock;
- if (i2 >= nblock) i2 -= nblock;
-
- k -= 8;
- (*budget)--;
- }
- while (k >= 0);
-
- return False;
-}
-
-
-/*---------------------------------------------*/
-/*--
- Knuth's increments seem to work better
- than Incerpi-Sedgewick here. Possibly
- because the number of elems to sort is
- usually small, typically <= 20.
---*/
-static
-Int32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280,
- 9841, 29524, 88573, 265720,
- 797161, 2391484 };
-
-static
-void mainSimpleSort ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- Int32 nblock,
- Int32 lo,
- Int32 hi,
- Int32 d,
- Int32* budget )
-{
- Int32 i, j, h, bigN, hp;
- UInt32 v;
-
- bigN = hi - lo + 1;
- if (bigN < 2) return;
-
- hp = 0;
- while (incs[hp] < bigN) hp++;
- hp--;
-
- for (; hp >= 0; hp--) {
- h = incs[hp];
-
- i = lo + h;
- while (True) {
-
- /*-- copy 1 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- /*-- copy 2 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- /*-- copy 3 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- if (*budget < 0) return;
- }
- }
-}
-
-
-/*---------------------------------------------*/
-/*--
- The following is an implementation of
- an elegant 3-way quicksort for strings,
- described in a paper "Fast Algorithms for
- Sorting and Searching Strings", by Robert
- Sedgewick and Jon L. Bentley.
---*/
-
-#define mswap(zz1, zz2) \
- { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
-
-#define mvswap(zzp1, zzp2, zzn) \
-{ \
- Int32 yyp1 = (zzp1); \
- Int32 yyp2 = (zzp2); \
- Int32 yyn = (zzn); \
- while (yyn > 0) { \
- mswap(ptr[yyp1], ptr[yyp2]); \
- yyp1++; yyp2++; yyn--; \
- } \
-}
-
-static
-__inline__
-UChar mmed3 ( UChar a, UChar b, UChar c )
-{
- UChar t;
- if (a > b) { t = a; a = b; b = t; };
- if (b > c) {
- b = c;
- if (a > b) b = a;
- }
- return b;
-}
-
-#define mmin(a,b) ((a) < (b)) ? (a) : (b)
-
-#define mpush(lz,hz,dz) { stackLo[sp] = lz; \
- stackHi[sp] = hz; \
- stackD [sp] = dz; \
- sp++; }
-
-#define mpop(lz,hz,dz) { sp--; \
- lz = stackLo[sp]; \
- hz = stackHi[sp]; \
- dz = stackD [sp]; }
-
-
-#define mnextsize(az) (nextHi[az]-nextLo[az])
-
-#define mnextswap(az,bz) \
- { Int32 tz; \
- tz = nextLo[az]; nextLo[az] = nextLo[bz]; nextLo[bz] = tz; \
- tz = nextHi[az]; nextHi[az] = nextHi[bz]; nextHi[bz] = tz; \
- tz = nextD [az]; nextD [az] = nextD [bz]; nextD [bz] = tz; }
-
-
-#define MAIN_QSORT_SMALL_THRESH 20
-#define MAIN_QSORT_DEPTH_THRESH (BZ_N_RADIX + BZ_N_QSORT)
-#define MAIN_QSORT_STACK_SIZE 100
-
-static
-void mainQSort3 ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- Int32 nblock,
- Int32 loSt,
- Int32 hiSt,
- Int32 dSt,
- Int32* budget )
-{
- Int32 unLo, unHi, ltLo, gtHi, n, m, med;
- Int32 sp, lo, hi, d;
-
- Int32 stackLo[MAIN_QSORT_STACK_SIZE];
- Int32 stackHi[MAIN_QSORT_STACK_SIZE];
- Int32 stackD [MAIN_QSORT_STACK_SIZE];
-
- Int32 nextLo[3];
- Int32 nextHi[3];
- Int32 nextD [3];
-
- sp = 0;
- mpush ( loSt, hiSt, dSt );
-
- while (sp > 0) {
-
- AssertH ( sp < MAIN_QSORT_STACK_SIZE, 1001 );
-
- mpop ( lo, hi, d );
- if (hi - lo < MAIN_QSORT_SMALL_THRESH ||
- d > MAIN_QSORT_DEPTH_THRESH) {
- mainSimpleSort ( ptr, block, quadrant, nblock, lo, hi, d, budget );
- if (*budget < 0) return;
- continue;
- }
-
- med = (Int32)
- mmed3 ( block[ptr[ lo ]+d],
- block[ptr[ hi ]+d],
- block[ptr[ (lo+hi)>>1 ]+d] );
-
- unLo = ltLo = lo;
- unHi = gtHi = hi;
-
- while (True) {
- while (True) {
- if (unLo > unHi) break;
- n = ((Int32)block[ptr[unLo]+d]) - med;
- if (n == 0) {
- mswap(ptr[unLo], ptr[ltLo]);
- ltLo++; unLo++; continue;
- };
- if (n > 0) break;
- unLo++;
- }
- while (True) {
- if (unLo > unHi) break;
- n = ((Int32)block[ptr[unHi]+d]) - med;
- if (n == 0) {
- mswap(ptr[unHi], ptr[gtHi]);
- gtHi--; unHi--; continue;
- };
- if (n < 0) break;
- unHi--;
- }
- if (unLo > unHi) break;
- mswap(ptr[unLo], ptr[unHi]); unLo++; unHi--;
- }
-
- AssertD ( unHi == unLo-1, "mainQSort3(2)" );
-
- if (gtHi < ltLo) {
- mpush(lo, hi, d+1 );
- continue;
- }
-
- n = mmin(ltLo-lo, unLo-ltLo); mvswap(lo, unLo-n, n);
- m = mmin(hi-gtHi, gtHi-unHi); mvswap(unLo, hi-m+1, m);
-
- n = lo + unLo - ltLo - 1;
- m = hi - (gtHi - unHi) + 1;
-
- nextLo[0] = lo; nextHi[0] = n; nextD[0] = d;
- nextLo[1] = m; nextHi[1] = hi; nextD[1] = d;
- nextLo[2] = n+1; nextHi[2] = m-1; nextD[2] = d+1;
-
- if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
- if (mnextsize(1) < mnextsize(2)) mnextswap(1,2);
- if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
-
- AssertD (mnextsize(0) >= mnextsize(1), "mainQSort3(8)" );
- AssertD (mnextsize(1) >= mnextsize(2), "mainQSort3(9)" );
-
- mpush (nextLo[0], nextHi[0], nextD[0]);
- mpush (nextLo[1], nextHi[1], nextD[1]);
- mpush (nextLo[2], nextHi[2], nextD[2]);
- }
-}
-
-#undef mswap
-#undef mvswap
-#undef mpush
-#undef mpop
-#undef mmin
-#undef mnextsize
-#undef mnextswap
-#undef MAIN_QSORT_SMALL_THRESH
-#undef MAIN_QSORT_DEPTH_THRESH
-#undef MAIN_QSORT_STACK_SIZE
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > N_OVERSHOOT
- block32 exists for [0 .. nblock-1 +N_OVERSHOOT]
- ((UChar*)block32) [0 .. nblock-1] holds block
- ptr exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)block32) [0 .. nblock-1] holds block
- All other areas of block32 destroyed
- ftab [0 .. 65536 ] destroyed
- ptr [0 .. nblock-1] holds sorted order
- if (*budget < 0), sorting was abandoned
-*/
-
-#define BIGFREQ(b) (ftab[((b)+1) << 8] - ftab[(b) << 8])
-#define SETMASK (1 << 21)
-#define CLEARMASK (~(SETMASK))
-
-static
-void mainSort ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- UInt32* ftab,
- Int32 nblock,
- Int32 verb,
- Int32* budget )
-{
- Int32 i, j, k, ss, sb;
- Int32 runningOrder[256];
- Bool bigDone[256];
- Int32 copyStart[256];
- Int32 copyEnd [256];
- UChar c1;
- Int32 numQSorted;
- UInt16 s;
- if (verb >= 4) VPrintf0 ( " main sort initialise ...\n" );
-
- /*-- set up the 2-byte frequency table --*/
- for (i = 65536; i >= 0; i--) ftab[i] = 0;
-
- j = block[0] << 8;
- i = nblock-1;
- for (; i >= 3; i -= 4) {
- quadrant[i] = 0;
- j = (j >> 8) | ( ((UInt16)block[i]) << 8);
- ftab[j]++;
- quadrant[i-1] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-1]) << 8);
- ftab[j]++;
- quadrant[i-2] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-2]) << 8);
- ftab[j]++;
- quadrant[i-3] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-3]) << 8);
- ftab[j]++;
- }
- for (; i >= 0; i--) {
- quadrant[i] = 0;
- j = (j >> 8) | ( ((UInt16)block[i]) << 8);
- ftab[j]++;
- }
-
- /*-- (emphasises close relationship of block & quadrant) --*/
- for (i = 0; i < BZ_N_OVERSHOOT; i++) {
- block [nblock+i] = block[i];
- quadrant[nblock+i] = 0;
- }
-
- if (verb >= 4) VPrintf0 ( " bucket sorting ...\n" );
-
- /*-- Complete the initial radix sort --*/
- for (i = 1; i <= 65536; i++) ftab[i] += ftab[i-1];
-
- s = block[0] << 8;
- i = nblock-1;
- for (; i >= 3; i -= 4) {
- s = (s >> 8) | (block[i] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i;
- s = (s >> 8) | (block[i-1] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-1;
- s = (s >> 8) | (block[i-2] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-2;
- s = (s >> 8) | (block[i-3] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-3;
- }
- for (; i >= 0; i--) {
- s = (s >> 8) | (block[i] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i;
- }
-
- /*--
- Now ftab contains the first loc of every small bucket.
- Calculate the running order, from smallest to largest
- big bucket.
- --*/
- for (i = 0; i <= 255; i++) {
- bigDone [i] = False;
- runningOrder[i] = i;
- }
-
- {
- Int32 vv;
- Int32 h = 1;
- do h = 3 * h + 1; while (h <= 256);
- do {
- h = h / 3;
- for (i = h; i <= 255; i++) {
- vv = runningOrder[i];
- j = i;
- while ( BIGFREQ(runningOrder[j-h]) > BIGFREQ(vv) ) {
- runningOrder[j] = runningOrder[j-h];
- j = j - h;
- if (j <= (h - 1)) goto zero;
- }
- zero:
- runningOrder[j] = vv;
- }
- } while (h != 1);
- }
-
- /*--
- The main sorting loop.
- --*/
-
- numQSorted = 0;
-
- for (i = 0; i <= 255; i++) {
-
- /*--
- Process big buckets, starting with the least full.
- Basically this is a 3-step process in which we call
- mainQSort3 to sort the small buckets [ss, j], but
- also make a big effort to avoid the calls if we can.
- --*/
- ss = runningOrder[i];
-
- /*--
- Step 1:
- Complete the big bucket [ss] by quicksorting
- any unsorted small buckets [ss, j], for j != ss.
- Hopefully previous pointer-scanning phases have already
- completed many of the small buckets [ss, j], so
- we don't have to sort them at all.
- --*/
- for (j = 0; j <= 255; j++) {
- if (j != ss) {
- sb = (ss << 8) + j;
- if ( ! (ftab[sb] & SETMASK) ) {
- Int32 lo = ftab[sb] & CLEARMASK;
- Int32 hi = (ftab[sb+1] & CLEARMASK) - 1;
- if (hi > lo) {
- if (verb >= 4)
- VPrintf4 ( " qsort [0x%x, 0x%x] "
- "done %d this %d\n",
- ss, j, numQSorted, hi - lo + 1 );
- mainQSort3 (
- ptr, block, quadrant, nblock,
- lo, hi, BZ_N_RADIX, budget
- );
- numQSorted += (hi - lo + 1);
- if (*budget < 0) return;
- }
- }
- ftab[sb] |= SETMASK;
- }
- }
-
- AssertH ( !bigDone[ss], 1006 );
-
- /*--
- Step 2:
- Now scan this big bucket [ss] so as to synthesise the
- sorted order for small buckets [t, ss] for all t,
- including, magically, the bucket [ss,ss] too.
- This will avoid doing Real Work in subsequent Step 1's.
- --*/
- {
- for (j = 0; j <= 255; j++) {
- copyStart[j] = ftab[(j << 8) + ss] & CLEARMASK;
- copyEnd [j] = (ftab[(j << 8) + ss + 1] & CLEARMASK) - 1;
- }
- for (j = ftab[ss << 8] & CLEARMASK; j < copyStart[ss]; j++) {
- k = ptr[j]-1; if (k < 0) k += nblock;
- c1 = block[k];
- if (!bigDone[c1])
- ptr[ copyStart[c1]++ ] = k;
- }
- for (j = (ftab[(ss+1) << 8] & CLEARMASK) - 1; j > copyEnd[ss]; j--) {
- k = ptr[j]-1; if (k < 0) k += nblock;
- c1 = block[k];
- if (!bigDone[c1])
- ptr[ copyEnd[c1]-- ] = k;
- }
- }
-
- AssertH ( copyStart[ss]-1 == copyEnd[ss], 1007 );
-
- for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
-
- /*--
- Step 3:
- The [ss] big bucket is now done. Record this fact,
- and update the quadrant descriptors. Remember to
- update quadrants in the overshoot area too, if
- necessary. The "if (i < 255)" test merely skips
- this updating for the last bucket processed, since
- updating for the last bucket is pointless.
-
- The quadrant array provides a way to incrementally
- cache sort orderings, as they appear, so as to
- make subsequent comparisons in fullGtU() complete
- faster. For repetitive blocks this makes a big
- difference (but not big enough to be able to avoid
- the fallback sorting mechanism, exponential radix sort).
-
- The precise meaning is: at all times:
-
- for 0 <= i < nblock and 0 <= j <= nblock
-
- if block[i] != block[j],
-
- then the relative values of quadrant[i] and
- quadrant[j] are meaningless.
-
- else {
- if quadrant[i] < quadrant[j]
- then the string starting at i lexicographically
- precedes the string starting at j
-
- else if quadrant[i] > quadrant[j]
- then the string starting at j lexicographically
- precedes the string starting at i
-
- else
- the relative ordering of the strings starting
- at i and j has not yet been determined.
- }
- --*/
- bigDone[ss] = True;
-
- if (i < 255) {
- Int32 bbStart = ftab[ss << 8] & CLEARMASK;
- Int32 bbSize = (ftab[(ss+1) << 8] & CLEARMASK) - bbStart;
- Int32 shifts = 0;
-
- while ((bbSize >> shifts) > 65534) shifts++;
-
- for (j = bbSize-1; j >= 0; j--) {
- Int32 a2update = ptr[bbStart + j];
- UInt16 qVal = (UInt16)(j >> shifts);
- quadrant[a2update] = qVal;
- if (a2update < BZ_N_OVERSHOOT)
- quadrant[a2update + nblock] = qVal;
- }
- AssertH ( ((bbSize-1) >> shifts) <= 65535, 1002 );
- }
-
- }
-
- if (verb >= 4)
- VPrintf3 ( " %d pointers, %d sorted, %d scanned\n",
- nblock, numQSorted, nblock - numQSorted );
-}
-
-#undef BIGFREQ
-#undef SETMASK
-#undef CLEARMASK
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > 0
- arr2 exists for [0 .. nblock-1 +N_OVERSHOOT]
- ((UChar*)arr2) [0 .. nblock-1] holds block
- arr1 exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)arr2) [0 .. nblock-1] holds block
- All other areas of block destroyed
- ftab [ 0 .. 65536 ] destroyed
- arr1 [0 .. nblock-1] holds sorted order
-*/
-void BZ2_blockSort ( EState* s )
-{
- UInt32* ptr = s->ptr;
- UChar* block = s->block;
- UInt32* ftab = s->ftab;
- Int32 nblock = s->nblock;
- Int32 verb = s->verbosity;
- Int32 wfact = s->workFactor;
- UInt16* quadrant;
- Int32 budget;
- Int32 budgetInit;
- Int32 i;
-
- if (nblock < 10000) {
- fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
- } else {
- /* Calculate the location for quadrant, remembering to get
- the alignment right. Assumes that &(block[0]) is at least
- 2-byte aligned -- this should be ok since block is really
- the first section of arr2.
- */
- i = nblock+BZ_N_OVERSHOOT;
- if (i & 1) i++;
- quadrant = (UInt16*)(&(block[i]));
-
- /* (wfact-1) / 3 puts the default-factor-30
- transition point at very roughly the same place as
- with v0.1 and v0.9.0.
- Not that it particularly matters any more, since the
- resulting compressed stream is now the same regardless
- of whether or not we use the main sort or fallback sort.
- */
- if (wfact < 1 ) wfact = 1;
- if (wfact > 100) wfact = 100;
- budgetInit = nblock * ((wfact-1) / 3);
- budget = budgetInit;
-
- mainSort ( ptr, block, quadrant, ftab, nblock, verb, &budget );
- if (verb >= 3)
- VPrintf3 ( " %d work, %d block, ratio %5.2f\n",
- budgetInit - budget,
- nblock,
- (float)(budgetInit - budget) /
- (float)(nblock==0 ? 1 : nblock) );
- if (budget < 0) {
- if (verb >= 2)
- VPrintf0 ( " too repetitive; using fallback"
- " sorting algorithm\n" );
- fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
- }
- }
-
- s->origPtr = -1;
- for (i = 0; i < s->nblock; i++)
- if (ptr[i] == 0)
- { s->origPtr = i; break; };
-
- AssertH( s->origPtr != -1, 1003 );
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end blocksort.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/bzlib.c b/mdk-stage1/bzlib/bzlib.c
deleted file mode 100644
index ebf6e269b..000000000
--- a/mdk-stage1/bzlib/bzlib.c
+++ /dev/null
@@ -1,1567 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Library top-level functions. ---*/
-/*--- bzlib.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. 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. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 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.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-/*--
- CHANGES
- ~~~~~~~
- 0.9.0 -- original version.
-
- 0.9.0a/b -- no changes in this file.
-
- 0.9.0c
- * made zero-length BZ_FLUSH work correctly in bzCompress().
- * fixed bzWrite/bzRead to ignore zero-length requests.
- * fixed bzread to correctly handle read requests after EOF.
- * wrong parameter order in call to bzDecompressInit in
- bzBuffToBuffDecompress. Fixed.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-/*--- Compression stuff ---*/
-/*---------------------------------------------------*/
-
-
-/*---------------------------------------------------*/
-#ifndef BZ_NO_STDIO
-void BZ2_bz__AssertH__fail ( int errcode )
-{
- fprintf(stderr,
- "\n\nbzip2/libbzip2: internal error number %d.\n"
- "This is a bug in bzip2/libbzip2, %s.\n"
- "Please report it to me at: jseward@acm.org. If this happened\n"
- "when you were using some program which uses libbzip2 as a\n"
- "component, you should also report this bug to the author(s)\n"
- "of that program. Please make an effort to report this bug;\n"
- "timely and accurate bug reports eventually lead to higher\n"
- "quality software. Thanks. Julian Seward, 21 March 2000.\n\n",
- errcode,
- BZ2_bzlibVersion()
- );
- exit(3);
-}
-#endif
-
-
-/*---------------------------------------------------*/
-static
-int bz_config_ok ( void )
-{
- if (sizeof(int) != 4) return 0;
- if (sizeof(short) != 2) return 0;
- if (sizeof(char) != 1) return 0;
- return 1;
-}
-
-
-/*---------------------------------------------------*/
-static
-void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
-{
- void* v = malloc ( items * size );
- return v;
-}
-
-static
-void default_bzfree ( void* opaque, void* addr )
-{
- if (addr != NULL) free ( addr );
-}
-
-
-/*---------------------------------------------------*/
-static
-void prepare_new_block ( EState* s )
-{
- Int32 i;
- s->nblock = 0;
- s->numZ = 0;
- s->state_out_pos = 0;
- BZ_INITIALISE_CRC ( s->blockCRC );
- for (i = 0; i < 256; i++) s->inUse[i] = False;
- s->blockNo++;
-}
-
-
-/*---------------------------------------------------*/
-static
-void init_RL ( EState* s )
-{
- s->state_in_ch = 256;
- s->state_in_len = 0;
-}
-
-
-static
-Bool isempty_RL ( EState* s )
-{
- if (s->state_in_ch < 256 && s->state_in_len > 0)
- return False; else
- return True;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompressInit)
- ( bz_stream* strm,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- Int32 n;
- EState* s;
-
- if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-
- if (strm == NULL ||
- blockSize100k < 1 || blockSize100k > 9 ||
- workFactor < 0 || workFactor > 250)
- return BZ_PARAM_ERROR;
-
- if (workFactor == 0) workFactor = 30;
- if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
- if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
-
- s = BZALLOC( sizeof(EState) );
- if (s == NULL) return BZ_MEM_ERROR;
- s->strm = strm;
-
- s->arr1 = NULL;
- s->arr2 = NULL;
- s->ftab = NULL;
-
- n = 100000 * blockSize100k;
- s->arr1 = BZALLOC( n * sizeof(UInt32) );
- s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
- s->ftab = BZALLOC( 65537 * sizeof(UInt32) );
-
- if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {
- if (s->arr1 != NULL) BZFREE(s->arr1);
- if (s->arr2 != NULL) BZFREE(s->arr2);
- if (s->ftab != NULL) BZFREE(s->ftab);
- if (s != NULL) BZFREE(s);
- return BZ_MEM_ERROR;
- }
-
- s->blockNo = 0;
- s->state = BZ_S_INPUT;
- s->mode = BZ_M_RUNNING;
- s->combinedCRC = 0;
- s->blockSize100k = blockSize100k;
- s->nblockMAX = 100000 * blockSize100k - 19;
- s->verbosity = verbosity;
- s->workFactor = workFactor;
-
- s->block = (UChar*)s->arr2;
- s->mtfv = (UInt16*)s->arr1;
- s->zbits = NULL;
- s->ptr = (UInt32*)s->arr1;
-
- strm->state = s;
- strm->total_in_lo32 = 0;
- strm->total_in_hi32 = 0;
- strm->total_out_lo32 = 0;
- strm->total_out_hi32 = 0;
- init_RL ( s );
- prepare_new_block ( s );
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-static
-void add_pair_to_block ( EState* s )
-{
- Int32 i;
- UChar ch = (UChar)(s->state_in_ch);
- for (i = 0; i < s->state_in_len; i++) {
- BZ_UPDATE_CRC( s->blockCRC, ch );
- }
- s->inUse[s->state_in_ch] = True;
- switch (s->state_in_len) {
- case 1:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- case 2:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- case 3:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- default:
- s->inUse[s->state_in_len-4] = True;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = ((UChar)(s->state_in_len-4));
- s->nblock++;
- break;
- }
-}
-
-
-/*---------------------------------------------------*/
-static
-void flush_RL ( EState* s )
-{
- if (s->state_in_ch < 256) add_pair_to_block ( s );
- init_RL ( s );
-}
-
-
-/*---------------------------------------------------*/
-#define ADD_CHAR_TO_BLOCK(zs,zchh0) \
-{ \
- UInt32 zchh = (UInt32)(zchh0); \
- /*-- fast track the common case --*/ \
- if (zchh != zs->state_in_ch && \
- zs->state_in_len == 1) { \
- UChar ch = (UChar)(zs->state_in_ch); \
- BZ_UPDATE_CRC( zs->blockCRC, ch ); \
- zs->inUse[zs->state_in_ch] = True; \
- zs->block[zs->nblock] = (UChar)ch; \
- zs->nblock++; \
- zs->state_in_ch = zchh; \
- } \
- else \
- /*-- general, uncommon cases --*/ \
- if (zchh != zs->state_in_ch || \
- zs->state_in_len == 255) { \
- if (zs->state_in_ch < 256) \
- add_pair_to_block ( zs ); \
- zs->state_in_ch = zchh; \
- zs->state_in_len = 1; \
- } else { \
- zs->state_in_len++; \
- } \
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool copy_input_until_stop ( EState* s )
-{
- Bool progress_in = False;
-
- if (s->mode == BZ_M_RUNNING) {
-
- /*-- fast track the common case --*/
- while (True) {
- /*-- block full? --*/
- if (s->nblock >= s->nblockMAX) break;
- /*-- no input? --*/
- if (s->strm->avail_in == 0) break;
- progress_in = True;
- ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
- s->strm->next_in++;
- s->strm->avail_in--;
- s->strm->total_in_lo32++;
- if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
- }
-
- } else {
-
- /*-- general, uncommon case --*/
- while (True) {
- /*-- block full? --*/
- if (s->nblock >= s->nblockMAX) break;
- /*-- no input? --*/
- if (s->strm->avail_in == 0) break;
- /*-- flush/finish end? --*/
- if (s->avail_in_expect == 0) break;
- progress_in = True;
- ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
- s->strm->next_in++;
- s->strm->avail_in--;
- s->strm->total_in_lo32++;
- if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
- s->avail_in_expect--;
- }
- }
- return progress_in;
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool copy_output_until_stop ( EState* s )
-{
- Bool progress_out = False;
-
- while (True) {
-
- /*-- no output space? --*/
- if (s->strm->avail_out == 0) break;
-
- /*-- block done? --*/
- if (s->state_out_pos >= s->numZ) break;
-
- progress_out = True;
- *(s->strm->next_out) = s->zbits[s->state_out_pos];
- s->state_out_pos++;
- s->strm->avail_out--;
- s->strm->next_out++;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- return progress_out;
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool handle_compress ( bz_stream* strm )
-{
- Bool progress_in = False;
- Bool progress_out = False;
- EState* s = strm->state;
-
- while (True) {
-
- if (s->state == BZ_S_OUTPUT) {
- progress_out |= copy_output_until_stop ( s );
- if (s->state_out_pos < s->numZ) break;
- if (s->mode == BZ_M_FINISHING &&
- s->avail_in_expect == 0 &&
- isempty_RL(s)) break;
- prepare_new_block ( s );
- s->state = BZ_S_INPUT;
- if (s->mode == BZ_M_FLUSHING &&
- s->avail_in_expect == 0 &&
- isempty_RL(s)) break;
- }
-
- if (s->state == BZ_S_INPUT) {
- progress_in |= copy_input_until_stop ( s );
- if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) {
- flush_RL ( s );
- BZ2_compressBlock ( s, (Bool)(s->mode == BZ_M_FINISHING) );
- s->state = BZ_S_OUTPUT;
- }
- else
- if (s->nblock >= s->nblockMAX) {
- BZ2_compressBlock ( s, False );
- s->state = BZ_S_OUTPUT;
- }
- else
- if (s->strm->avail_in == 0) {
- break;
- }
- }
-
- }
-
- return progress_in || progress_out;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action )
-{
- Bool progress;
- EState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- preswitch:
- switch (s->mode) {
-
- case BZ_M_IDLE:
- return BZ_SEQUENCE_ERROR;
-
- case BZ_M_RUNNING:
- if (action == BZ_RUN) {
- progress = handle_compress ( strm );
- return progress ? BZ_RUN_OK : BZ_PARAM_ERROR;
- }
- else
- if (action == BZ_FLUSH) {
- s->avail_in_expect = strm->avail_in;
- s->mode = BZ_M_FLUSHING;
- goto preswitch;
- }
- else
- if (action == BZ_FINISH) {
- s->avail_in_expect = strm->avail_in;
- s->mode = BZ_M_FINISHING;
- goto preswitch;
- }
- else
- return BZ_PARAM_ERROR;
-
- case BZ_M_FLUSHING:
- if (action != BZ_FLUSH) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect != s->strm->avail_in)
- return BZ_SEQUENCE_ERROR;
- progress = handle_compress ( strm );
- if (s->avail_in_expect > 0 || !isempty_RL(s) ||
- s->state_out_pos < s->numZ) return BZ_FLUSH_OK;
- s->mode = BZ_M_RUNNING;
- return BZ_RUN_OK;
-
- case BZ_M_FINISHING:
- if (action != BZ_FINISH) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect != s->strm->avail_in)
- return BZ_SEQUENCE_ERROR;
- progress = handle_compress ( strm );
- if (!progress) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect > 0 || !isempty_RL(s) ||
- s->state_out_pos < s->numZ) return BZ_FINISH_OK;
- s->mode = BZ_M_IDLE;
- return BZ_STREAM_END;
- }
- return BZ_OK; /*--not reached--*/
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompressEnd) ( bz_stream *strm )
-{
- EState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- if (s->arr1 != NULL) BZFREE(s->arr1);
- if (s->arr2 != NULL) BZFREE(s->arr2);
- if (s->ftab != NULL) BZFREE(s->ftab);
- BZFREE(strm->state);
-
- strm->state = NULL;
-
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-/*--- Decompression stuff ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompressInit)
- ( bz_stream* strm,
- int verbosity,
- int small )
-{
- DState* s;
-
- if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-
- if (strm == NULL) return BZ_PARAM_ERROR;
- if (small != 0 && small != 1) return BZ_PARAM_ERROR;
- if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR;
-
- if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
- if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
-
- s = BZALLOC( sizeof(DState) );
- if (s == NULL) return BZ_MEM_ERROR;
- s->strm = strm;
- strm->state = s;
- s->state = BZ_X_MAGIC_1;
- s->bsLive = 0;
- s->bsBuff = 0;
- s->calculatedCombinedCRC = 0;
- strm->total_in_lo32 = 0;
- strm->total_in_hi32 = 0;
- strm->total_out_lo32 = 0;
- strm->total_out_hi32 = 0;
- s->smallDecompress = (Bool)small;
- s->ll4 = NULL;
- s->ll16 = NULL;
- s->tt = NULL;
- s->currBlockNo = 0;
- s->verbosity = verbosity;
-
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-static
-void unRLE_obuf_to_output_FAST ( DState* s )
-{
- UChar k1;
-
- if (s->blockRandomised) {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK;
- s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
- }
-
- } else {
-
- /* restore */
- UInt32 c_calculatedBlockCRC = s->calculatedBlockCRC;
- UChar c_state_out_ch = s->state_out_ch;
- Int32 c_state_out_len = s->state_out_len;
- Int32 c_nblock_used = s->nblock_used;
- Int32 c_k0 = s->k0;
- UInt32* c_tt = s->tt;
- UInt32 c_tPos = s->tPos;
- char* cs_next_out = s->strm->next_out;
- unsigned int cs_avail_out = s->strm->avail_out;
- /* end restore */
-
- UInt32 avail_out_INIT = cs_avail_out;
- Int32 s_save_nblockPP = s->save_nblock+1;
- unsigned int total_out_lo32_old;
-
- while (True) {
-
- /* try to finish existing run */
- if (c_state_out_len > 0) {
- while (True) {
- if (cs_avail_out == 0) goto return_notr;
- if (c_state_out_len == 1) break;
- *( (UChar*)(cs_next_out) ) = c_state_out_ch;
- BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
- c_state_out_len--;
- cs_next_out++;
- cs_avail_out--;
- }
- s_state_out_len_eq_one:
- {
- if (cs_avail_out == 0) {
- c_state_out_len = 1; goto return_notr;
- };
- *( (UChar*)(cs_next_out) ) = c_state_out_ch;
- BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
- cs_next_out++;
- cs_avail_out--;
- }
- }
- /* can a new run be started? */
- if (c_nblock_used == s_save_nblockPP) {
- c_state_out_len = 0; goto return_notr;
- };
- c_state_out_ch = c_k0;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (k1 != c_k0) {
- c_k0 = k1; goto s_state_out_len_eq_one;
- };
- if (c_nblock_used == s_save_nblockPP)
- goto s_state_out_len_eq_one;
-
- c_state_out_len = 2;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (c_nblock_used == s_save_nblockPP) continue;
- if (k1 != c_k0) { c_k0 = k1; continue; };
-
- c_state_out_len = 3;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (c_nblock_used == s_save_nblockPP) continue;
- if (k1 != c_k0) { c_k0 = k1; continue; };
-
- BZ_GET_FAST_C(k1); c_nblock_used++;
- c_state_out_len = ((Int32)k1) + 4;
- BZ_GET_FAST_C(c_k0); c_nblock_used++;
- }
-
- return_notr:
- total_out_lo32_old = s->strm->total_out_lo32;
- s->strm->total_out_lo32 += (avail_out_INIT - cs_avail_out);
- if (s->strm->total_out_lo32 < total_out_lo32_old)
- s->strm->total_out_hi32++;
-
- /* save */
- s->calculatedBlockCRC = c_calculatedBlockCRC;
- s->state_out_ch = c_state_out_ch;
- s->state_out_len = c_state_out_len;
- s->nblock_used = c_nblock_used;
- s->k0 = c_k0;
- s->tt = c_tt;
- s->tPos = c_tPos;
- s->strm->next_out = cs_next_out;
- s->strm->avail_out = cs_avail_out;
- /* end save */
- }
-}
-
-
-
-/*---------------------------------------------------*/
-__inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
-{
- Int32 nb, na, mid;
- nb = 0;
- na = 256;
- do {
- mid = (nb + na) >> 1;
- if (indx >= cftab[mid]) nb = mid; else na = mid;
- }
- while (na - nb != 1);
- return nb;
-}
-
-
-/*---------------------------------------------------*/
-static
-void unRLE_obuf_to_output_SMALL ( DState* s )
-{
- UChar k1;
-
- if (s->blockRandomised) {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK;
- s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
- }
-
- } else {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_SMALL(k1); s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- }
-
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
-{
- DState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- while (True) {
- if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
- if (s->state == BZ_X_OUTPUT) {
- if (s->smallDecompress)
- unRLE_obuf_to_output_SMALL ( s ); else
- unRLE_obuf_to_output_FAST ( s );
- if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
- BZ_FINALISE_CRC ( s->calculatedBlockCRC );
- if (s->verbosity >= 3)
- VPrintf2 ( " {0x%x, 0x%x}", s->storedBlockCRC,
- s->calculatedBlockCRC );
- if (s->verbosity >= 2) VPrintf0 ( "]" );
- if (s->calculatedBlockCRC != s->storedBlockCRC)
- return BZ_DATA_ERROR;
- s->calculatedCombinedCRC
- = (s->calculatedCombinedCRC << 1) |
- (s->calculatedCombinedCRC >> 31);
- s->calculatedCombinedCRC ^= s->calculatedBlockCRC;
- s->state = BZ_X_BLKHDR_1;
- } else {
- return BZ_OK;
- }
- }
- if (s->state >= BZ_X_MAGIC_1) {
- Int32 r = BZ2_decompress ( s );
- if (r == BZ_STREAM_END) {
- if (s->verbosity >= 3)
- VPrintf2 ( "\n combined CRCs: stored = 0x%x, computed = 0x%x",
- s->storedCombinedCRC, s->calculatedCombinedCRC );
- if (s->calculatedCombinedCRC != s->storedCombinedCRC)
- return BZ_DATA_ERROR;
- return r;
- }
- if (s->state != BZ_X_OUTPUT) return r;
- }
- }
-
- AssertH ( 0, 6001 );
-
- return 0; /*NOTREACHED*/
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompressEnd) ( bz_stream *strm )
-{
- DState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- if (s->tt != NULL) BZFREE(s->tt);
- if (s->ll16 != NULL) BZFREE(s->ll16);
- if (s->ll4 != NULL) BZFREE(s->ll4);
-
- BZFREE(strm->state);
- strm->state = NULL;
-
- return BZ_OK;
-}
-
-
-#ifndef BZ_NO_STDIO
-/*---------------------------------------------------*/
-/*--- File I/O stuff ---*/
-/*---------------------------------------------------*/
-
-#define BZ_SETERR(eee) \
-{ \
- if (bzerror != NULL) *bzerror = eee; \
- if (bzf != NULL) bzf->lastErr = eee; \
-}
-
-typedef
- struct {
- FILE* handle;
- Char buf[BZ_MAX_UNUSED];
- Int32 bufN;
- Bool writing;
- bz_stream strm;
- Int32 lastErr;
- Bool initialisedOk;
- }
- bzFile;
-
-
-/*---------------------------------------------*/
-static Bool myfeof ( FILE* f )
-{
- return feof(f) ? True : False;
-}
-
-
-/*---------------------------------------------------*/
-BZFILE* BZ_API(BZ2_bzWriteOpen)
- ( int* bzerror,
- FILE* f,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- Int32 ret;
- bzFile* bzf = NULL;
-
- BZ_SETERR(BZ_OK);
-
- if (f == NULL ||
- (blockSize100k < 1 || blockSize100k > 9) ||
- (workFactor < 0 || workFactor > 250) ||
- (verbosity < 0 || verbosity > 4))
- { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
-
- if (ferror(f))
- { BZ_SETERR(BZ_IO_ERROR); return NULL; };
-
- bzf = malloc ( sizeof(bzFile) );
- if (bzf == NULL)
- { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
-
- BZ_SETERR(BZ_OK);
- bzf->initialisedOk = False;
- bzf->bufN = 0;
- bzf->handle = f;
- bzf->writing = True;
- bzf->strm.bzalloc = NULL;
- bzf->strm.bzfree = NULL;
- bzf->strm.opaque = NULL;
-
- if (workFactor == 0) workFactor = 30;
- ret = BZ2_bzCompressInit ( &(bzf->strm), blockSize100k,
- verbosity, workFactor );
- if (ret != BZ_OK)
- { BZ_SETERR(ret); free(bzf); return NULL; };
-
- bzf->strm.avail_in = 0;
- bzf->initialisedOk = True;
- return bzf;
-}
-
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzWrite)
- ( int* bzerror,
- BZFILE* b,
- void* buf,
- int len )
-{
- Int32 n, n2, ret;
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
- if (bzf == NULL || buf == NULL || len < 0)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
- if (!(bzf->writing))
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
-
- if (len == 0)
- { BZ_SETERR(BZ_OK); return; };
-
- bzf->strm.avail_in = len;
- bzf->strm.next_in = buf;
-
- while (True) {
- bzf->strm.avail_out = BZ_MAX_UNUSED;
- bzf->strm.next_out = bzf->buf;
- ret = BZ2_bzCompress ( &(bzf->strm), BZ_RUN );
- if (ret != BZ_RUN_OK)
- { BZ_SETERR(ret); return; };
-
- if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
- n = BZ_MAX_UNUSED - bzf->strm.avail_out;
- n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar),
- n, bzf->handle );
- if (n != n2 || ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (bzf->strm.avail_in == 0)
- { BZ_SETERR(BZ_OK); return; };
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzWriteClose)
- ( int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out )
-{
- BZ2_bzWriteClose64 ( bzerror, b, abandon,
- nbytes_in, NULL, nbytes_out, NULL );
-}
-
-
-void BZ_API(BZ2_bzWriteClose64)
- ( int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32 )
-{
- Int32 n, n2, ret;
- bzFile* bzf = (bzFile*)b;
-
- if (bzf == NULL)
- { BZ_SETERR(BZ_OK); return; };
- if (!(bzf->writing))
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
-
- if (nbytes_in_lo32 != NULL) *nbytes_in_lo32 = 0;
- if (nbytes_in_hi32 != NULL) *nbytes_in_hi32 = 0;
- if (nbytes_out_lo32 != NULL) *nbytes_out_lo32 = 0;
- if (nbytes_out_hi32 != NULL) *nbytes_out_hi32 = 0;
-
- if ((!abandon) && bzf->lastErr == BZ_OK) {
- while (True) {
- bzf->strm.avail_out = BZ_MAX_UNUSED;
- bzf->strm.next_out = bzf->buf;
- ret = BZ2_bzCompress ( &(bzf->strm), BZ_FINISH );
- if (ret != BZ_FINISH_OK && ret != BZ_STREAM_END)
- { BZ_SETERR(ret); return; };
-
- if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
- n = BZ_MAX_UNUSED - bzf->strm.avail_out;
- n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar),
- n, bzf->handle );
- if (n != n2 || ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (ret == BZ_STREAM_END) break;
- }
- }
-
- if ( !abandon && !ferror ( bzf->handle ) ) {
- fflush ( bzf->handle );
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (nbytes_in_lo32 != NULL)
- *nbytes_in_lo32 = bzf->strm.total_in_lo32;
- if (nbytes_in_hi32 != NULL)
- *nbytes_in_hi32 = bzf->strm.total_in_hi32;
- if (nbytes_out_lo32 != NULL)
- *nbytes_out_lo32 = bzf->strm.total_out_lo32;
- if (nbytes_out_hi32 != NULL)
- *nbytes_out_hi32 = bzf->strm.total_out_hi32;
-
- BZ_SETERR(BZ_OK);
- BZ2_bzCompressEnd ( &(bzf->strm) );
- free ( bzf );
-}
-
-
-/*---------------------------------------------------*/
-BZFILE* BZ_API(BZ2_bzReadOpen)
- ( int* bzerror,
- FILE* f,
- int verbosity,
- int small,
- void* unused,
- int nUnused )
-{
- bzFile* bzf = NULL;
- int ret;
-
- BZ_SETERR(BZ_OK);
-
- if (f == NULL ||
- (small != 0 && small != 1) ||
- (verbosity < 0 || verbosity > 4) ||
- (unused == NULL && nUnused != 0) ||
- (unused != NULL && (nUnused < 0 || nUnused > BZ_MAX_UNUSED)))
- { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
-
- if (ferror(f))
- { BZ_SETERR(BZ_IO_ERROR); return NULL; };
-
- bzf = malloc ( sizeof(bzFile) );
- if (bzf == NULL)
- { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
-
- BZ_SETERR(BZ_OK);
-
- bzf->initialisedOk = False;
- bzf->handle = f;
- bzf->bufN = 0;
- bzf->writing = False;
- bzf->strm.bzalloc = NULL;
- bzf->strm.bzfree = NULL;
- bzf->strm.opaque = NULL;
-
- while (nUnused > 0) {
- bzf->buf[bzf->bufN] = *((UChar*)(unused)); bzf->bufN++;
- unused = ((void*)( 1 + ((UChar*)(unused)) ));
- nUnused--;
- }
-
- ret = BZ2_bzDecompressInit ( &(bzf->strm), verbosity, small );
- if (ret != BZ_OK)
- { BZ_SETERR(ret); free(bzf); return NULL; };
-
- bzf->strm.avail_in = bzf->bufN;
- bzf->strm.next_in = bzf->buf;
-
- bzf->initialisedOk = True;
- return bzf;
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzReadClose) ( int *bzerror, BZFILE *b )
-{
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
- if (bzf == NULL)
- { BZ_SETERR(BZ_OK); return; };
-
- if (bzf->writing)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
-
- if (bzf->initialisedOk)
- (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
- free ( bzf );
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzRead)
- ( int* bzerror,
- BZFILE* b,
- void* buf,
- int len )
-{
- Int32 n, ret;
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
-
- if (bzf == NULL || buf == NULL || len < 0)
- { BZ_SETERR(BZ_PARAM_ERROR); return 0; };
-
- if (bzf->writing)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return 0; };
-
- if (len == 0)
- { BZ_SETERR(BZ_OK); return 0; };
-
- bzf->strm.avail_out = len;
- bzf->strm.next_out = buf;
-
- while (True) {
-
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return 0; };
-
- if (bzf->strm.avail_in == 0 && !myfeof(bzf->handle)) {
- n = fread ( bzf->buf, sizeof(UChar),
- BZ_MAX_UNUSED, bzf->handle );
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return 0; };
- bzf->bufN = n;
- bzf->strm.avail_in = bzf->bufN;
- bzf->strm.next_in = bzf->buf;
- }
-
- ret = BZ2_bzDecompress ( &(bzf->strm) );
-
- if (ret != BZ_OK && ret != BZ_STREAM_END)
- { BZ_SETERR(ret); return 0; };
-
- if (ret == BZ_OK && myfeof(bzf->handle) &&
- bzf->strm.avail_in == 0 && bzf->strm.avail_out > 0)
- { BZ_SETERR(BZ_UNEXPECTED_EOF); return 0; };
-
- if (ret == BZ_STREAM_END)
- { BZ_SETERR(BZ_STREAM_END);
- return len - bzf->strm.avail_out; };
- if (bzf->strm.avail_out == 0)
- { BZ_SETERR(BZ_OK); return len; };
-
- }
-
- return 0; /*not reached*/
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzReadGetUnused)
- ( int* bzerror,
- BZFILE* b,
- void** unused,
- int* nUnused )
-{
- bzFile* bzf = (bzFile*)b;
- if (bzf == NULL)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
- if (bzf->lastErr != BZ_STREAM_END)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (unused == NULL || nUnused == NULL)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
-
- BZ_SETERR(BZ_OK);
- *nUnused = bzf->strm.avail_in;
- *unused = bzf->strm.next_in;
-}
-#endif
-
-
-/*---------------------------------------------------*/
-/*--- Misc convenience stuff ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzBuffToBuffCompress)
- ( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- bz_stream strm;
- int ret;
-
- if (dest == NULL || destLen == NULL ||
- source == NULL ||
- blockSize100k < 1 || blockSize100k > 9 ||
- verbosity < 0 || verbosity > 4 ||
- workFactor < 0 || workFactor > 250)
- return BZ_PARAM_ERROR;
-
- if (workFactor == 0) workFactor = 30;
- strm.bzalloc = NULL;
- strm.bzfree = NULL;
- strm.opaque = NULL;
- ret = BZ2_bzCompressInit ( &strm, blockSize100k,
- verbosity, workFactor );
- if (ret != BZ_OK) return ret;
-
- strm.next_in = source;
- strm.next_out = dest;
- strm.avail_in = sourceLen;
- strm.avail_out = *destLen;
-
- ret = BZ2_bzCompress ( &strm, BZ_FINISH );
- if (ret == BZ_FINISH_OK) goto output_overflow;
- if (ret != BZ_STREAM_END) goto errhandler;
-
- /* normal termination */
- *destLen -= strm.avail_out;
- BZ2_bzCompressEnd ( &strm );
- return BZ_OK;
-
- output_overflow:
- BZ2_bzCompressEnd ( &strm );
- return BZ_OUTBUFF_FULL;
-
- errhandler:
- BZ2_bzCompressEnd ( &strm );
- return ret;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzBuffToBuffDecompress)
- ( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity )
-{
- bz_stream strm;
- int ret;
-
- if (dest == NULL || destLen == NULL ||
- source == NULL ||
- (small != 0 && small != 1) ||
- verbosity < 0 || verbosity > 4)
- return BZ_PARAM_ERROR;
-
- strm.bzalloc = NULL;
- strm.bzfree = NULL;
- strm.opaque = NULL;
- ret = BZ2_bzDecompressInit ( &strm, verbosity, small );
- if (ret != BZ_OK) return ret;
-
- strm.next_in = source;
- strm.next_out = dest;
- strm.avail_in = sourceLen;
- strm.avail_out = *destLen;
-
- ret = BZ2_bzDecompress ( &strm );
- if (ret == BZ_OK) goto output_overflow_or_eof;
- if (ret != BZ_STREAM_END) goto errhandler;
-
- /* normal termination */
- *destLen -= strm.avail_out;
- BZ2_bzDecompressEnd ( &strm );
- return BZ_OK;
-
- output_overflow_or_eof:
- if (strm.avail_out > 0) {
- BZ2_bzDecompressEnd ( &strm );
- return BZ_UNEXPECTED_EOF;
- } else {
- BZ2_bzDecompressEnd ( &strm );
- return BZ_OUTBUFF_FULL;
- };
-
- errhandler:
- BZ2_bzDecompressEnd ( &strm );
- return ret;
-}
-
-
-/*---------------------------------------------------*/
-/*--
- Code contributed by Yoshioka Tsuneo
- (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
- to support better zlib compatibility.
- This code is not _officially_ part of libbzip2 (yet);
- I haven't tested it, documented it, or considered the
- threading-safeness of it.
- If this code breaks, please contact both Yoshioka and me.
---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-/*--
- return version like "0.9.0c".
---*/
-const char * BZ_API(BZ2_bzlibVersion)(void)
-{
- return BZ_VERSION;
-}
-
-
-#ifndef BZ_NO_STDIO
-/*---------------------------------------------------*/
-
-#if defined(_WIN32) || defined(OS2) || defined(MSDOS)
-# include <fcntl.h>
-# include <io.h>
-# define SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY)
-#else
-# define SET_BINARY_MODE(file)
-#endif
-static
-BZFILE * bzopen_or_bzdopen
- ( const char *path, /* no use when bzdopen */
- int fd, /* no use when bzdopen */
- const char *mode,
- int open_mode) /* bzopen: 0, bzdopen:1 */
-{
- int bzerr;
- char unused[BZ_MAX_UNUSED];
- int blockSize100k = 9;
- int writing = 0;
- char mode2[10] = "";
- FILE *fp = NULL;
- BZFILE *bzfp = NULL;
- int verbosity = 0;
- int workFactor = 30;
- int smallMode = 0;
- int nUnused = 0;
-
- if (mode == NULL) return NULL;
- while (*mode) {
- switch (*mode) {
- case 'r':
- writing = 0; break;
- case 'w':
- writing = 1; break;
- case 's':
- smallMode = 1; break;
- default:
- if (isdigit((int)(*mode))) {
- blockSize100k = *mode-'0';
- }
- }
- mode++;
- }
- strcat(mode2, writing ? "w" : "r" );
- strcat(mode2,"b"); /* binary mode */
-
- if (open_mode==0) {
- if (path==NULL || strcmp(path,"")==0) {
- fp = (writing ? stdout : stdin);
- SET_BINARY_MODE(fp);
- } else {
- fp = fopen(path,mode2);
- }
- } else {
-#ifdef BZ_STRICT_ANSI
- fp = NULL;
-#else
- fp = fdopen(fd,mode2);
-#endif
- }
- if (fp == NULL) return NULL;
-
- if (writing) {
- /* Guard against total chaos and anarchy -- JRS */
- if (blockSize100k < 1) blockSize100k = 1;
- if (blockSize100k > 9) blockSize100k = 9;
- bzfp = BZ2_bzWriteOpen(&bzerr,fp,blockSize100k,
- verbosity,workFactor);
- } else {
- bzfp = BZ2_bzReadOpen(&bzerr,fp,verbosity,smallMode,
- unused,nUnused);
- }
- if (bzfp == NULL) {
- if (fp != stdin && fp != stdout) fclose(fp);
- return NULL;
- }
- return bzfp;
-}
-
-
-/*---------------------------------------------------*/
-/*--
- open file for read or write.
- ex) bzopen("file","w9")
- case path="" or NULL => use stdin or stdout.
---*/
-BZFILE * BZ_API(BZ2_bzopen)
- ( const char *path,
- const char *mode )
-{
- return bzopen_or_bzdopen(path,-1,mode,/*bzopen*/0);
-}
-
-
-/*---------------------------------------------------*/
-BZFILE * BZ_API(BZ2_bzdopen)
- ( int fd,
- const char *mode )
-{
- return bzopen_or_bzdopen(NULL,fd,mode,/*bzdopen*/1);
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzread) (BZFILE* b, void* buf, int len )
-{
- int bzerr, nread;
- if (((bzFile*)b)->lastErr == BZ_STREAM_END) return 0;
- nread = BZ2_bzRead(&bzerr,b,buf,len);
- if (bzerr == BZ_OK || bzerr == BZ_STREAM_END) {
- return nread;
- } else {
- return -1;
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzwrite) (BZFILE* b, void* buf, int len )
-{
- int bzerr;
-
- BZ2_bzWrite(&bzerr,b,buf,len);
- if(bzerr == BZ_OK){
- return len;
- }else{
- return -1;
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzflush) (BZFILE *b)
-{
- /* do nothing now... */
- return 0;
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzclose) (BZFILE* b)
-{
- int bzerr;
- FILE *fp = ((bzFile *)b)->handle;
-
- if (b==NULL) {return;}
- if(((bzFile*)b)->writing){
- BZ2_bzWriteClose(&bzerr,b,0,NULL,NULL);
- if(bzerr != BZ_OK){
- BZ2_bzWriteClose(NULL,b,1,NULL,NULL);
- }
- }else{
- BZ2_bzReadClose(&bzerr,b);
- }
- if(fp!=stdin && fp!=stdout){
- fclose(fp);
- }
-}
-
-
-/*---------------------------------------------------*/
-/*--
- return last error code
---*/
-static char *bzerrorstrings[] = {
- "OK"
- ,"SEQUENCE_ERROR"
- ,"PARAM_ERROR"
- ,"MEM_ERROR"
- ,"DATA_ERROR"
- ,"DATA_ERROR_MAGIC"
- ,"IO_ERROR"
- ,"UNEXPECTED_EOF"
- ,"OUTBUFF_FULL"
- ,"CONFIG_ERROR"
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
-};
-
-
-const char * BZ_API(BZ2_bzerror) (BZFILE *b, int *errnum)
-{
- int err = ((bzFile *)b)->lastErr;
-
- if(err>0) err = 0;
- *errnum = err;
- return bzerrorstrings[err*-1];
-}
-#endif
-
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/bzlib_private.h b/mdk-stage1/bzlib/bzlib_private.h
deleted file mode 100644
index fb51c7a1d..000000000
--- a/mdk-stage1/bzlib/bzlib_private.h
+++ /dev/null
@@ -1,530 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Private header file for the library. ---*/
-/*--- bzlib_private.h ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. 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. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 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.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-
-#ifndef _BZLIB_PRIVATE_H
-#define _BZLIB_PRIVATE_H
-
-#include <stdlib.h>
-
-#ifndef BZ_NO_STDIO
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#endif
-
-#include "bzlib.h"
-
-
-
-/*-- General stuff. --*/
-
-#define BZ_VERSION "1.0.1, 23-June-2000"
-
-typedef char Char;
-typedef unsigned char Bool;
-typedef unsigned char UChar;
-typedef int Int32;
-typedef unsigned int UInt32;
-typedef short Int16;
-typedef unsigned short UInt16;
-
-#define True ((Bool)1)
-#define False ((Bool)0)
-
-#ifndef __GNUC__
-#define __inline__ /* */
-#endif
-
-#ifndef BZ_NO_STDIO
-extern void BZ2_bz__AssertH__fail ( int errcode );
-#define AssertH(cond,errcode) \
- { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
-#if BZ_DEBUG
-#define AssertD(cond,msg) \
- { if (!(cond)) { \
- fprintf ( stderr, \
- "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
- exit(1); \
- }}
-#else
-#define AssertD(cond,msg) /* */
-#endif
-#define VPrintf0(zf) \
- fprintf(stderr,zf)
-#define VPrintf1(zf,za1) \
- fprintf(stderr,zf,za1)
-#define VPrintf2(zf,za1,za2) \
- fprintf(stderr,zf,za1,za2)
-#define VPrintf3(zf,za1,za2,za3) \
- fprintf(stderr,zf,za1,za2,za3)
-#define VPrintf4(zf,za1,za2,za3,za4) \
- fprintf(stderr,zf,za1,za2,za3,za4)
-#define VPrintf5(zf,za1,za2,za3,za4,za5) \
- fprintf(stderr,zf,za1,za2,za3,za4,za5)
-#else
-extern void bz_internal_error ( int errcode );
-#define AssertH(cond,errcode) \
- { if (!(cond)) bz_internal_error ( errcode ); }
-#define AssertD(cond,msg) /* */
-#define VPrintf0(zf) /* */
-#define VPrintf1(zf,za1) /* */
-#define VPrintf2(zf,za1,za2) /* */
-#define VPrintf3(zf,za1,za2,za3) /* */
-#define VPrintf4(zf,za1,za2,za3,za4) /* */
-#define VPrintf5(zf,za1,za2,za3,za4,za5) /* */
-#endif
-
-
-#define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
-#define BZFREE(ppp) (strm->bzfree)(strm->opaque,(ppp))
-
-
-/*-- Constants for the back end. --*/
-
-#define BZ_MAX_ALPHA_SIZE 258
-#define BZ_MAX_CODE_LEN 23
-
-#define BZ_RUNA 0
-#define BZ_RUNB 1
-
-#define BZ_N_GROUPS 6
-#define BZ_G_SIZE 50
-#define BZ_N_ITERS 4
-
-#define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
-
-
-
-/*-- Stuff for randomising repetitive blocks. --*/
-
-extern Int32 BZ2_rNums[512];
-
-#define BZ_RAND_DECLS \
- Int32 rNToGo; \
- Int32 rTPos \
-
-#define BZ_RAND_INIT_MASK \
- s->rNToGo = 0; \
- s->rTPos = 0 \
-
-#define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
-
-#define BZ_RAND_UPD_MASK \
- if (s->rNToGo == 0) { \
- s->rNToGo = BZ2_rNums[s->rTPos]; \
- s->rTPos++; \
- if (s->rTPos == 512) s->rTPos = 0; \
- } \
- s->rNToGo--;
-
-
-
-/*-- Stuff for doing CRCs. --*/
-
-extern UInt32 BZ2_crc32Table[256];
-
-#define BZ_INITIALISE_CRC(crcVar) \
-{ \
- crcVar = 0xffffffffL; \
-}
-
-#define BZ_FINALISE_CRC(crcVar) \
-{ \
- crcVar = ~(crcVar); \
-}
-
-#define BZ_UPDATE_CRC(crcVar,cha) \
-{ \
- crcVar = (crcVar << 8) ^ \
- BZ2_crc32Table[(crcVar >> 24) ^ \
- ((UChar)cha)]; \
-}
-
-
-
-/*-- States and modes for compression. --*/
-
-#define BZ_M_IDLE 1
-#define BZ_M_RUNNING 2
-#define BZ_M_FLUSHING 3
-#define BZ_M_FINISHING 4
-
-#define BZ_S_OUTPUT 1
-#define BZ_S_INPUT 2
-
-#define BZ_N_RADIX 2
-#define BZ_N_QSORT 12
-#define BZ_N_SHELL 18
-#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
-
-
-
-
-/*-- Structure holding all the compression-side stuff. --*/
-
-typedef
- struct {
- /* pointer back to the struct bz_stream */
- bz_stream* strm;
-
- /* mode this stream is in, and whether inputting */
- /* or outputting data */
- Int32 mode;
- Int32 state;
-
- /* remembers avail_in when flush/finish requested */
- UInt32 avail_in_expect;
-
- /* for doing the block sorting */
- UInt32* arr1;
- UInt32* arr2;
- UInt32* ftab;
- Int32 origPtr;
-
- /* aliases for arr1 and arr2 */
- UInt32* ptr;
- UChar* block;
- UInt16* mtfv;
- UChar* zbits;
-
- /* for deciding when to use the fallback sorting algorithm */
- Int32 workFactor;
-
- /* run-length-encoding of the input */
- UInt32 state_in_ch;
- Int32 state_in_len;
- BZ_RAND_DECLS;
-
- /* input and output limits and current posns */
- Int32 nblock;
- Int32 nblockMAX;
- Int32 numZ;
- Int32 state_out_pos;
-
- /* map of bytes used in block */
- Int32 nInUse;
- Bool inUse[256];
- UChar unseqToSeq[256];
-
- /* the buffer for bit stream creation */
- UInt32 bsBuff;
- Int32 bsLive;
-
- /* block and combined CRCs */
- UInt32 blockCRC;
- UInt32 combinedCRC;
-
- /* misc administratium */
- Int32 verbosity;
- Int32 blockNo;
- Int32 blockSize100k;
-
- /* stuff for coding the MTF values */
- Int32 nMTF;
- Int32 mtfFreq [BZ_MAX_ALPHA_SIZE];
- UChar selector [BZ_MAX_SELECTORS];
- UChar selectorMtf[BZ_MAX_SELECTORS];
-
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 code [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 rfreq [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- /* second dimension: only 3 needed; 4 makes index calculations faster */
- UInt32 len_pack[BZ_MAX_ALPHA_SIZE][4];
-
- }
- EState;
-
-
-
-/*-- externs for compression. --*/
-
-extern void
-BZ2_blockSort ( EState* );
-
-extern void
-BZ2_compressBlock ( EState*, Bool );
-
-extern void
-BZ2_bsInitWrite ( EState* );
-
-extern void
-BZ2_hbAssignCodes ( Int32*, UChar*, Int32, Int32, Int32 );
-
-extern void
-BZ2_hbMakeCodeLengths ( UChar*, Int32*, Int32, Int32 );
-
-
-
-/*-- states for decompression. --*/
-
-#define BZ_X_IDLE 1
-#define BZ_X_OUTPUT 2
-
-#define BZ_X_MAGIC_1 10
-#define BZ_X_MAGIC_2 11
-#define BZ_X_MAGIC_3 12
-#define BZ_X_MAGIC_4 13
-#define BZ_X_BLKHDR_1 14
-#define BZ_X_BLKHDR_2 15
-#define BZ_X_BLKHDR_3 16
-#define BZ_X_BLKHDR_4 17
-#define BZ_X_BLKHDR_5 18
-#define BZ_X_BLKHDR_6 19
-#define BZ_X_BCRC_1 20
-#define BZ_X_BCRC_2 21
-#define BZ_X_BCRC_3 22
-#define BZ_X_BCRC_4 23
-#define BZ_X_RANDBIT 24
-#define BZ_X_ORIGPTR_1 25
-#define BZ_X_ORIGPTR_2 26
-#define BZ_X_ORIGPTR_3 27
-#define BZ_X_MAPPING_1 28
-#define BZ_X_MAPPING_2 29
-#define BZ_X_SELECTOR_1 30
-#define BZ_X_SELECTOR_2 31
-#define BZ_X_SELECTOR_3 32
-#define BZ_X_CODING_1 33
-#define BZ_X_CODING_2 34
-#define BZ_X_CODING_3 35
-#define BZ_X_MTF_1 36
-#define BZ_X_MTF_2 37
-#define BZ_X_MTF_3 38
-#define BZ_X_MTF_4 39
-#define BZ_X_MTF_5 40
-#define BZ_X_MTF_6 41
-#define BZ_X_ENDHDR_2 42
-#define BZ_X_ENDHDR_3 43
-#define BZ_X_ENDHDR_4 44
-#define BZ_X_ENDHDR_5 45
-#define BZ_X_ENDHDR_6 46
-#define BZ_X_CCRC_1 47
-#define BZ_X_CCRC_2 48
-#define BZ_X_CCRC_3 49
-#define BZ_X_CCRC_4 50
-
-
-
-/*-- Constants for the fast MTF decoder. --*/
-
-#define MTFA_SIZE 4096
-#define MTFL_SIZE 16
-
-
-
-/*-- Structure holding all the decompression-side stuff. --*/
-
-typedef
- struct {
- /* pointer back to the struct bz_stream */
- bz_stream* strm;
-
- /* state indicator for this stream */
- Int32 state;
-
- /* for doing the final run-length decoding */
- UChar state_out_ch;
- Int32 state_out_len;
- Bool blockRandomised;
- BZ_RAND_DECLS;
-
- /* the buffer for bit stream reading */
- UInt32 bsBuff;
- Int32 bsLive;
-
- /* misc administratium */
- Int32 blockSize100k;
- Bool smallDecompress;
- Int32 currBlockNo;
- Int32 verbosity;
-
- /* for undoing the Burrows-Wheeler transform */
- Int32 origPtr;
- UInt32 tPos;
- Int32 k0;
- Int32 unzftab[256];
- Int32 nblock_used;
- Int32 cftab[257];
- Int32 cftabCopy[257];
-
- /* for undoing the Burrows-Wheeler transform (FAST) */
- UInt32 *tt;
-
- /* for undoing the Burrows-Wheeler transform (SMALL) */
- UInt16 *ll16;
- UChar *ll4;
-
- /* stored and calculated CRCs */
- UInt32 storedBlockCRC;
- UInt32 storedCombinedCRC;
- UInt32 calculatedBlockCRC;
- UInt32 calculatedCombinedCRC;
-
- /* map of bytes used in block */
- Int32 nInUse;
- Bool inUse[256];
- Bool inUse16[16];
- UChar seqToUnseq[256];
-
- /* for decoding the MTF values */
- UChar mtfa [MTFA_SIZE];
- Int32 mtfbase[256 / MTFL_SIZE];
- UChar selector [BZ_MAX_SELECTORS];
- UChar selectorMtf[BZ_MAX_SELECTORS];
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
-
- Int32 limit [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 base [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 perm [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 minLens[BZ_N_GROUPS];
-
- /* save area for scalars in the main decompress code */
- Int32 save_i;
- Int32 save_j;
- Int32 save_t;
- Int32 save_alphaSize;
- Int32 save_nGroups;
- Int32 save_nSelectors;
- Int32 save_EOB;
- Int32 save_groupNo;
- Int32 save_groupPos;
- Int32 save_nextSym;
- Int32 save_nblockMAX;
- Int32 save_nblock;
- Int32 save_es;
- Int32 save_N;
- Int32 save_curr;
- Int32 save_zt;
- Int32 save_zn;
- Int32 save_zvec;
- Int32 save_zj;
- Int32 save_gSel;
- Int32 save_gMinlen;
- Int32* save_gLimit;
- Int32* save_gBase;
- Int32* save_gPerm;
-
- }
- DState;
-
-
-
-/*-- Macros for decompression. --*/
-
-#define BZ_GET_FAST(cccc) \
- s->tPos = s->tt[s->tPos]; \
- cccc = (UChar)(s->tPos & 0xff); \
- s->tPos >>= 8;
-
-#define BZ_GET_FAST_C(cccc) \
- c_tPos = c_tt[c_tPos]; \
- cccc = (UChar)(c_tPos & 0xff); \
- c_tPos >>= 8;
-
-#define SET_LL4(i,n) \
- { if (((i) & 0x1) == 0) \
- s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else \
- s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4); \
- }
-
-#define GET_LL4(i) \
- ((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
-
-#define SET_LL(i,n) \
- { s->ll16[i] = (UInt16)(n & 0x0000ffff); \
- SET_LL4(i, n >> 16); \
- }
-
-#define GET_LL(i) \
- (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
-
-#define BZ_GET_SMALL(cccc) \
- cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
- s->tPos = GET_LL(s->tPos);
-
-
-/*-- externs for decompression. --*/
-
-extern Int32
-BZ2_indexIntoF ( Int32, Int32* );
-
-extern Int32
-BZ2_decompress ( DState* );
-
-extern void
-BZ2_hbCreateDecodeTables ( Int32*, Int32*, Int32*, UChar*,
- Int32, Int32, Int32 );
-
-
-#endif
-
-
-/*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
-
-#ifdef BZ_NO_STDIO
-#ifndef NULL
-#define NULL 0
-#endif
-#endif
-
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib_private.h ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/compress.c b/mdk-stage1/bzlib/compress.c
deleted file mode 100644
index 58d5abe7c..000000000
--- a/mdk-stage1/bzlib/compress.c
+++ /dev/null
@@ -1,720 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Compression machinery (not incl block sorting) ---*/
-/*--- compress.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. 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. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 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.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-/*--
- CHANGES
- ~~~~~~~
- 0.9.0 -- original version.
-
- 0.9.0a/b -- no changes in this file.
-
- 0.9.0c
- * changed setting of nGroups in sendMTFValues() so as to
- do a bit better on small files
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-/*--- Bit stream I/O ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-void BZ2_bsInitWrite ( EState* s )
-{
- s->bsLive = 0;
- s->bsBuff = 0;
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsFinishWrite ( EState* s )
-{
- while (s->bsLive > 0) {
- s->zbits[s->numZ] = (UChar)(s->bsBuff >> 24);
- s->numZ++;
- s->bsBuff <<= 8;
- s->bsLive -= 8;
- }
-}
-
-
-/*---------------------------------------------------*/
-#define bsNEEDW(nz) \
-{ \
- while (s->bsLive >= 8) { \
- s->zbits[s->numZ] \
- = (UChar)(s->bsBuff >> 24); \
- s->numZ++; \
- s->bsBuff <<= 8; \
- s->bsLive -= 8; \
- } \
-}
-
-
-/*---------------------------------------------------*/
-static
-__inline__
-void bsW ( EState* s, Int32 n, UInt32 v )
-{
- bsNEEDW ( n );
- s->bsBuff |= (v << (32 - s->bsLive - n));
- s->bsLive += n;
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsPutUInt32 ( EState* s, UInt32 u )
-{
- bsW ( s, 8, (u >> 24) & 0xffL );
- bsW ( s, 8, (u >> 16) & 0xffL );
- bsW ( s, 8, (u >> 8) & 0xffL );
- bsW ( s, 8, u & 0xffL );
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsPutUChar ( EState* s, UChar c )
-{
- bsW( s, 8, (UInt32)c );
-}
-
-
-/*---------------------------------------------------*/
-/*--- The back end proper ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-static
-void makeMaps_e ( EState* s )
-{
- Int32 i;
- s->nInUse = 0;
- for (i = 0; i < 256; i++)
- if (s->inUse[i]) {
- s->unseqToSeq[i] = s->nInUse;
- s->nInUse++;
- }
-}
-
-
-/*---------------------------------------------------*/
-static
-void generateMTFValues ( EState* s )
-{
- UChar yy[256];
- Int32 i, j;
- Int32 zPend;
- Int32 wr;
- Int32 EOB;
-
- /*
- After sorting (eg, here),
- s->arr1 [ 0 .. s->nblock-1 ] holds sorted order,
- and
- ((UChar*)s->arr2) [ 0 .. s->nblock-1 ]
- holds the original block data.
-
- The first thing to do is generate the MTF values,
- and put them in
- ((UInt16*)s->arr1) [ 0 .. s->nblock-1 ].
- Because there are strictly fewer or equal MTF values
- than block values, ptr values in this area are overwritten
- with MTF values only when they are no longer needed.
-
- The final compressed bitstream is generated into the
- area starting at
- (UChar*) (&((UChar*)s->arr2)[s->nblock])
-
- These storage aliases are set up in bzCompressInit(),
- except for the last one, which is arranged in
- compressBlock().
- */
- UInt32* ptr = s->ptr;
- UChar* block = s->block;
- UInt16* mtfv = s->mtfv;
-
- makeMaps_e ( s );
- EOB = s->nInUse+1;
-
- for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;
-
- wr = 0;
- zPend = 0;
- for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;
-
- for (i = 0; i < s->nblock; i++) {
- UChar ll_i;
- AssertD ( wr <= i, "generateMTFValues(1)" );
- j = ptr[i]-1; if (j < 0) j += s->nblock;
- ll_i = s->unseqToSeq[block[j]];
- AssertD ( ll_i < s->nInUse, "generateMTFValues(2a)" );
-
- if (yy[0] == ll_i) {
- zPend++;
- } else {
-
- if (zPend > 0) {
- zPend--;
- while (True) {
- if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
- s->mtfFreq[BZ_RUNB]++;
- } else {
- mtfv[wr] = BZ_RUNA; wr++;
- s->mtfFreq[BZ_RUNA]++;
- }
- if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
- };
- zPend = 0;
- }
- {
- register UChar rtmp;
- register UChar* ryy_j;
- register UChar rll_i;
- rtmp = yy[1];
- yy[1] = yy[0];
- ryy_j = &(yy[1]);
- rll_i = ll_i;
- while ( rll_i != rtmp ) {
- register UChar rtmp2;
- ryy_j++;
- rtmp2 = rtmp;
- rtmp = *ryy_j;
- *ryy_j = rtmp2;
- };
- yy[0] = rtmp;
- j = ryy_j - &(yy[0]);
- mtfv[wr] = j+1; wr++; s->mtfFreq[j+1]++;
- }
-
- }
- }
-
- if (zPend > 0) {
- zPend--;
- while (True) {
- if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
- s->mtfFreq[BZ_RUNB]++;
- } else {
- mtfv[wr] = BZ_RUNA; wr++;
- s->mtfFreq[BZ_RUNA]++;
- }
- if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
- };
- zPend = 0;
- }
-
- mtfv[wr] = EOB; wr++; s->mtfFreq[EOB]++;
-
- s->nMTF = wr;
-}
-
-
-/*---------------------------------------------------*/
-#define BZ_LESSER_ICOST 0
-#define BZ_GREATER_ICOST 15
-
-static
-void sendMTFValues ( EState* s )
-{
- Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;
- Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;
- Int32 nGroups, nBytes;
-
- /*--
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- is a global since the decoder also needs it.
-
- Int32 code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- are also globals only used in this proc.
- Made global to keep stack frame size small.
- --*/
-
-
- UInt16 cost[BZ_N_GROUPS];
- Int32 fave[BZ_N_GROUPS];
-
- UInt16* mtfv = s->mtfv;
-
- if (s->verbosity >= 3)
- VPrintf3( " %d in block, %d after MTF & 1-2 coding, "
- "%d+2 syms in use\n",
- s->nblock, s->nMTF, s->nInUse );
-
- alphaSize = s->nInUse+2;
- for (t = 0; t < BZ_N_GROUPS; t++)
- for (v = 0; v < alphaSize; v++)
- s->len[t][v] = BZ_GREATER_ICOST;
-
- /*--- Decide how many coding tables to use ---*/
- AssertH ( s->nMTF > 0, 3001 );
- if (s->nMTF < 200) nGroups = 2; else
- if (s->nMTF < 600) nGroups = 3; else
- if (s->nMTF < 1200) nGroups = 4; else
- if (s->nMTF < 2400) nGroups = 5; else
- nGroups = 6;
-
- /*--- Generate an initial set of coding tables ---*/
- {
- Int32 nPart, remF, tFreq, aFreq;
-
- nPart = nGroups;
- remF = s->nMTF;
- gs = 0;
- while (nPart > 0) {
- tFreq = remF / nPart;
- ge = gs-1;
- aFreq = 0;
- while (aFreq < tFreq && ge < alphaSize-1) {
- ge++;
- aFreq += s->mtfFreq[ge];
- }
-
- if (ge > gs
- && nPart != nGroups && nPart != 1
- && ((nGroups-nPart) % 2 == 1)) {
- aFreq -= s->mtfFreq[ge];
- ge--;
- }
-
- if (s->verbosity >= 3)
- VPrintf5( " initial group %d, [%d .. %d], "
- "has %d syms (%4.1f%%)\n",
- nPart, gs, ge, aFreq,
- (100.0 * (float)aFreq) / (float)(s->nMTF) );
-
- for (v = 0; v < alphaSize; v++)
- if (v >= gs && v <= ge)
- s->len[nPart-1][v] = BZ_LESSER_ICOST; else
- s->len[nPart-1][v] = BZ_GREATER_ICOST;
-
- nPart--;
- gs = ge+1;
- remF -= aFreq;
- }
- }
-
- /*---
- Iterate up to BZ_N_ITERS times to improve the tables.
- ---*/
- for (iter = 0; iter < BZ_N_ITERS; iter++) {
-
- for (t = 0; t < nGroups; t++) fave[t] = 0;
-
- for (t = 0; t < nGroups; t++)
- for (v = 0; v < alphaSize; v++)
- s->rfreq[t][v] = 0;
-
- /*---
- Set up an auxiliary length table which is used to fast-track
- the common case (nGroups == 6).
- ---*/
- if (nGroups == 6) {
- for (v = 0; v < alphaSize; v++) {
- s->len_pack[v][0] = (s->len[1][v] << 16) | s->len[0][v];
- s->len_pack[v][1] = (s->len[3][v] << 16) | s->len[2][v];
- s->len_pack[v][2] = (s->len[5][v] << 16) | s->len[4][v];
- }
- }
-
- nSelectors = 0;
- totc = 0;
- gs = 0;
- while (True) {
-
- /*--- Set group start & end marks. --*/
- if (gs >= s->nMTF) break;
- ge = gs + BZ_G_SIZE - 1;
- if (ge >= s->nMTF) ge = s->nMTF-1;
-
- /*--
- Calculate the cost of this group as coded
- by each of the coding tables.
- --*/
- for (t = 0; t < nGroups; t++) cost[t] = 0;
-
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
- register UInt32 cost01, cost23, cost45;
- register UInt16 icv;
- cost01 = cost23 = cost45 = 0;
-
-# define BZ_ITER(nn) \
- icv = mtfv[gs+(nn)]; \
- cost01 += s->len_pack[icv][0]; \
- cost23 += s->len_pack[icv][1]; \
- cost45 += s->len_pack[icv][2]; \
-
- BZ_ITER(0); BZ_ITER(1); BZ_ITER(2); BZ_ITER(3); BZ_ITER(4);
- BZ_ITER(5); BZ_ITER(6); BZ_ITER(7); BZ_ITER(8); BZ_ITER(9);
- BZ_ITER(10); BZ_ITER(11); BZ_ITER(12); BZ_ITER(13); BZ_ITER(14);
- BZ_ITER(15); BZ_ITER(16); BZ_ITER(17); BZ_ITER(18); BZ_ITER(19);
- BZ_ITER(20); BZ_ITER(21); BZ_ITER(22); BZ_ITER(23); BZ_ITER(24);
- BZ_ITER(25); BZ_ITER(26); BZ_ITER(27); BZ_ITER(28); BZ_ITER(29);
- BZ_ITER(30); BZ_ITER(31); BZ_ITER(32); BZ_ITER(33); BZ_ITER(34);
- BZ_ITER(35); BZ_ITER(36); BZ_ITER(37); BZ_ITER(38); BZ_ITER(39);
- BZ_ITER(40); BZ_ITER(41); BZ_ITER(42); BZ_ITER(43); BZ_ITER(44);
- BZ_ITER(45); BZ_ITER(46); BZ_ITER(47); BZ_ITER(48); BZ_ITER(49);
-
-# undef BZ_ITER
-
- cost[0] = cost01 & 0xffff; cost[1] = cost01 >> 16;
- cost[2] = cost23 & 0xffff; cost[3] = cost23 >> 16;
- cost[4] = cost45 & 0xffff; cost[5] = cost45 >> 16;
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++) {
- UInt16 icv = mtfv[i];
- for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
- }
- }
-
- /*--
- Find the coding table which is best for this group,
- and record its identity in the selector table.
- --*/
- bc = 999999999; bt = -1;
- for (t = 0; t < nGroups; t++)
- if (cost[t] < bc) { bc = cost[t]; bt = t; };
- totc += bc;
- fave[bt]++;
- s->selector[nSelectors] = bt;
- nSelectors++;
-
- /*--
- Increment the symbol frequencies for the selected table.
- --*/
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
-
-# define BZ_ITUR(nn) s->rfreq[bt][ mtfv[gs+(nn)] ]++
-
- BZ_ITUR(0); BZ_ITUR(1); BZ_ITUR(2); BZ_ITUR(3); BZ_ITUR(4);
- BZ_ITUR(5); BZ_ITUR(6); BZ_ITUR(7); BZ_ITUR(8); BZ_ITUR(9);
- BZ_ITUR(10); BZ_ITUR(11); BZ_ITUR(12); BZ_ITUR(13); BZ_ITUR(14);
- BZ_ITUR(15); BZ_ITUR(16); BZ_ITUR(17); BZ_ITUR(18); BZ_ITUR(19);
- BZ_ITUR(20); BZ_ITUR(21); BZ_ITUR(22); BZ_ITUR(23); BZ_ITUR(24);
- BZ_ITUR(25); BZ_ITUR(26); BZ_ITUR(27); BZ_ITUR(28); BZ_ITUR(29);
- BZ_ITUR(30); BZ_ITUR(31); BZ_ITUR(32); BZ_ITUR(33); BZ_ITUR(34);
- BZ_ITUR(35); BZ_ITUR(36); BZ_ITUR(37); BZ_ITUR(38); BZ_ITUR(39);
- BZ_ITUR(40); BZ_ITUR(41); BZ_ITUR(42); BZ_ITUR(43); BZ_ITUR(44);
- BZ_ITUR(45); BZ_ITUR(46); BZ_ITUR(47); BZ_ITUR(48); BZ_ITUR(49);
-
-# undef BZ_ITUR
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++)
- s->rfreq[bt][ mtfv[i] ]++;
- }
-
- gs = ge+1;
- }
- if (s->verbosity >= 3) {
- VPrintf2 ( " pass %d: size is %d, grp uses are ",
- iter+1, totc/8 );
- for (t = 0; t < nGroups; t++)
- VPrintf1 ( "%d ", fave[t] );
- VPrintf0 ( "\n" );
- }
-
- /*--
- Recompute the tables based on the accumulated frequencies.
- --*/
- for (t = 0; t < nGroups; t++)
- BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]),
- alphaSize, 20 );
- }
-
-
- AssertH( nGroups < 8, 3002 );
- AssertH( nSelectors < 32768 &&
- nSelectors <= (2 + (900000 / BZ_G_SIZE)),
- 3003 );
-
-
- /*--- Compute MTF values for the selectors. ---*/
- {
- UChar pos[BZ_N_GROUPS], ll_i, tmp2, tmp;
- for (i = 0; i < nGroups; i++) pos[i] = i;
- for (i = 0; i < nSelectors; i++) {
- ll_i = s->selector[i];
- j = 0;
- tmp = pos[j];
- while ( ll_i != tmp ) {
- j++;
- tmp2 = tmp;
- tmp = pos[j];
- pos[j] = tmp2;
- };
- pos[0] = tmp;
- s->selectorMtf[i] = j;
- }
- };
-
- /*--- Assign actual codes for the tables. --*/
- for (t = 0; t < nGroups; t++) {
- minLen = 32;
- maxLen = 0;
- for (i = 0; i < alphaSize; i++) {
- if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
- if (s->len[t][i] < minLen) minLen = s->len[t][i];
- }
- AssertH ( !(maxLen > 20), 3004 );
- AssertH ( !(minLen < 1), 3005 );
- BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]),
- minLen, maxLen, alphaSize );
- }
-
- /*--- Transmit the mapping table. ---*/
- {
- Bool inUse16[16];
- for (i = 0; i < 16; i++) {
- inUse16[i] = False;
- for (j = 0; j < 16; j++)
- if (s->inUse[i * 16 + j]) inUse16[i] = True;
- }
-
- nBytes = s->numZ;
- for (i = 0; i < 16; i++)
- if (inUse16[i]) bsW(s,1,1); else bsW(s,1,0);
-
- for (i = 0; i < 16; i++)
- if (inUse16[i])
- for (j = 0; j < 16; j++) {
- if (s->inUse[i * 16 + j]) bsW(s,1,1); else bsW(s,1,0);
- }
-
- if (s->verbosity >= 3)
- VPrintf1( " bytes: mapping %d, ", s->numZ-nBytes );
- }
-
- /*--- Now the selectors. ---*/
- nBytes = s->numZ;
- bsW ( s, 3, nGroups );
- bsW ( s, 15, nSelectors );
- for (i = 0; i < nSelectors; i++) {
- for (j = 0; j < s->selectorMtf[i]; j++) bsW(s,1,1);
- bsW(s,1,0);
- }
- if (s->verbosity >= 3)
- VPrintf1( "selectors %d, ", s->numZ-nBytes );
-
- /*--- Now the coding tables. ---*/
- nBytes = s->numZ;
-
- for (t = 0; t < nGroups; t++) {
- Int32 curr = s->len[t][0];
- bsW ( s, 5, curr );
- for (i = 0; i < alphaSize; i++) {
- while (curr < s->len[t][i]) { bsW(s,2,2); curr++; /* 10 */ };
- while (curr > s->len[t][i]) { bsW(s,2,3); curr--; /* 11 */ };
- bsW ( s, 1, 0 );
- }
- }
-
- if (s->verbosity >= 3)
- VPrintf1 ( "code lengths %d, ", s->numZ-nBytes );
-
- /*--- And finally, the block data proper ---*/
- nBytes = s->numZ;
- selCtr = 0;
- gs = 0;
- while (True) {
- if (gs >= s->nMTF) break;
- ge = gs + BZ_G_SIZE - 1;
- if (ge >= s->nMTF) ge = s->nMTF-1;
- AssertH ( s->selector[selCtr] < nGroups, 3006 );
-
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
- UInt16 mtfv_i;
- UChar* s_len_sel_selCtr
- = &(s->len[s->selector[selCtr]][0]);
- Int32* s_code_sel_selCtr
- = &(s->code[s->selector[selCtr]][0]);
-
-# define BZ_ITAH(nn) \
- mtfv_i = mtfv[gs+(nn)]; \
- bsW ( s, \
- s_len_sel_selCtr[mtfv_i], \
- s_code_sel_selCtr[mtfv_i] )
-
- BZ_ITAH(0); BZ_ITAH(1); BZ_ITAH(2); BZ_ITAH(3); BZ_ITAH(4);
- BZ_ITAH(5); BZ_ITAH(6); BZ_ITAH(7); BZ_ITAH(8); BZ_ITAH(9);
- BZ_ITAH(10); BZ_ITAH(11); BZ_ITAH(12); BZ_ITAH(13); BZ_ITAH(14);
- BZ_ITAH(15); BZ_ITAH(16); BZ_ITAH(17); BZ_ITAH(18); BZ_ITAH(19);
- BZ_ITAH(20); BZ_ITAH(21); BZ_ITAH(22); BZ_ITAH(23); BZ_ITAH(24);
- BZ_ITAH(25); BZ_ITAH(26); BZ_ITAH(27); BZ_ITAH(28); BZ_ITAH(29);
- BZ_ITAH(30); BZ_ITAH(31); BZ_ITAH(32); BZ_ITAH(33); BZ_ITAH(34);
- BZ_ITAH(35); BZ_ITAH(36); BZ_ITAH(37); BZ_ITAH(38); BZ_ITAH(39);
- BZ_ITAH(40); BZ_ITAH(41); BZ_ITAH(42); BZ_ITAH(43); BZ_ITAH(44);
- BZ_ITAH(45); BZ_ITAH(46); BZ_ITAH(47); BZ_ITAH(48); BZ_ITAH(49);
-
-# undef BZ_ITAH
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++) {
- bsW ( s,
- s->len [s->selector[selCtr]] [mtfv[i]],
- s->code [s->selector[selCtr]] [mtfv[i]] );
- }
- }
-
-
- gs = ge+1;
- selCtr++;
- }
- AssertH( selCtr == nSelectors, 3007 );
-
- if (s->verbosity >= 3)
- VPrintf1( "codes %d\n", s->numZ-nBytes );
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_compressBlock ( EState* s, Bool is_last_block )
-{
- if (s->nblock > 0) {
-
- BZ_FINALISE_CRC ( s->blockCRC );
- s->combinedCRC = (s->combinedCRC << 1) | (s->combinedCRC >> 31);
- s->combinedCRC ^= s->blockCRC;
- if (s->blockNo > 1) s->numZ = 0;
-
- if (s->verbosity >= 2)
- VPrintf4( " block %d: crc = 0x%8x, "
- "combined CRC = 0x%8x, size = %d\n",
- s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
-
- BZ2_blockSort ( s );
- }
-
- s->zbits = (UChar*) (&((UChar*)s->arr2)[s->nblock]);
-
- /*-- If this is the first block, create the stream header. --*/
- if (s->blockNo == 1) {
- BZ2_bsInitWrite ( s );
- bsPutUChar ( s, 'B' );
- bsPutUChar ( s, 'Z' );
- bsPutUChar ( s, 'h' );
- bsPutUChar ( s, (UChar)('0' + s->blockSize100k) );
- }
-
- if (s->nblock > 0) {
-
- bsPutUChar ( s, 0x31 ); bsPutUChar ( s, 0x41 );
- bsPutUChar ( s, 0x59 ); bsPutUChar ( s, 0x26 );
- bsPutUChar ( s, 0x53 ); bsPutUChar ( s, 0x59 );
-
- /*-- Now the block's CRC, so it is in a known place. --*/
- bsPutUInt32 ( s, s->blockCRC );
-
- /*--
- Now a single bit indicating (non-)randomisation.
- As of version 0.9.5, we use a better sorting algorithm
- which makes randomisation unnecessary. So always set
- the randomised bit to 'no'. Of course, the decoder
- still needs to be able to handle randomised blocks
- so as to maintain backwards compatibility with
- older versions of bzip2.
- --*/
- bsW(s,1,0);
-
- bsW ( s, 24, s->origPtr );
- generateMTFValues ( s );
- sendMTFValues ( s );
- }
-
-
- /*-- If this is the last block, add the stream trailer. --*/
- if (is_last_block) {
-
- bsPutUChar ( s, 0x17 ); bsPutUChar ( s, 0x72 );
- bsPutUChar ( s, 0x45 ); bsPutUChar ( s, 0x38 );
- bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
- bsPutUInt32 ( s, s->combinedCRC );
- if (s->verbosity >= 2)
- VPrintf1( " final combined CRC = 0x%x\n ", s->combinedCRC );
- bsFinishWrite ( s );
- }
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end compress.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/crctable.c b/mdk-stage1/bzlib/crctable.c
deleted file mode 100644
index c0ea3f769..000000000
--- a/mdk-stage1/bzlib/crctable.c
+++ /dev/null
@@ -1,148 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Table for doing CRCs ---*/
-/*--- crctable.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. 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. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 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.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-/*--
- I think this is an implementation of the AUTODIN-II,
- Ethernet & FDDI 32-bit CRC standard. Vaguely derived
- from code by Rob Warnock, in Section 51 of the
- comp.compression FAQ.
---*/
-
-UInt32 BZ2_crc32Table[256] = {
-
- /*-- Ugly, innit? --*/
-
- 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
- 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
- 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
- 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
- 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
- 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
- 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
- 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
- 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
- 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
- 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
- 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
- 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
- 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
- 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
- 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
- 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
- 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
- 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
- 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
- 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
- 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
- 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
- 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
- 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
- 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
- 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
- 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
- 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
- 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
- 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
- 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
- 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
- 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
- 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
- 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
- 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
- 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
- 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
- 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
- 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
- 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
- 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
- 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
- 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
- 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
- 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
- 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
- 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
- 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
- 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
- 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
- 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
- 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
- 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
- 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
- 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
- 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
- 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
- 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
- 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
- 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
- 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
- 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
-};
-
-
-/*-------------------------------------------------------------*/
-/*--- end crctable.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/decompress.c b/mdk-stage1/bzlib/decompress.c
deleted file mode 100644
index 65cf75d8f..000000000
--- a/mdk-stage1/bzlib/decompress.c
+++ /dev/null
@@ -1,664 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Decompression machinery ---*/
-/*--- decompress.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. 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. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 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.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-static
-void makeMaps_d ( DState* s )
-{
- Int32 i;
- s->nInUse = 0;
- for (i = 0; i < 256; i++)
- if (s->inUse[i]) {
- s->seqToUnseq[s->nInUse] = i;
- s->nInUse++;
- }
-}
-
-
-/*---------------------------------------------------*/
-#define RETURN(rrr) \
- { retVal = rrr; goto save_state_and_return; };
-
-#define GET_BITS(lll,vvv,nnn) \
- case lll: s->state = lll; \
- while (True) { \
- if (s->bsLive >= nnn) { \
- UInt32 v; \
- v = (s->bsBuff >> \
- (s->bsLive-nnn)) & ((1 << nnn)-1); \
- s->bsLive -= nnn; \
- vvv = v; \
- break; \
- } \
- if (s->strm->avail_in == 0) RETURN(BZ_OK); \
- s->bsBuff \
- = (s->bsBuff << 8) | \
- ((UInt32) \
- (*((UChar*)(s->strm->next_in)))); \
- s->bsLive += 8; \
- s->strm->next_in++; \
- s->strm->avail_in--; \
- s->strm->total_in_lo32++; \
- if (s->strm->total_in_lo32 == 0) \
- s->strm->total_in_hi32++; \
- }
-
-#define GET_UCHAR(lll,uuu) \
- GET_BITS(lll,uuu,8)
-
-#define GET_BIT(lll,uuu) \
- GET_BITS(lll,uuu,1)
-
-/*---------------------------------------------------*/
-#define GET_MTF_VAL(label1,label2,lval) \
-{ \
- if (groupPos == 0) { \
- groupNo++; \
- if (groupNo >= nSelectors) \
- RETURN(BZ_DATA_ERROR); \
- groupPos = BZ_G_SIZE; \
- gSel = s->selector[groupNo]; \
- gMinlen = s->minLens[gSel]; \
- gLimit = &(s->limit[gSel][0]); \
- gPerm = &(s->perm[gSel][0]); \
- gBase = &(s->base[gSel][0]); \
- } \
- groupPos--; \
- zn = gMinlen; \
- GET_BITS(label1, zvec, zn); \
- while (1) { \
- if (zn > 20 /* the longest code */) \
- RETURN(BZ_DATA_ERROR); \
- if (zvec <= gLimit[zn]) break; \
- zn++; \
- GET_BIT(label2, zj); \
- zvec = (zvec << 1) | zj; \
- }; \
- if (zvec - gBase[zn] < 0 \
- || zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE) \
- RETURN(BZ_DATA_ERROR); \
- lval = gPerm[zvec - gBase[zn]]; \
-}
-
-
-/*---------------------------------------------------*/
-Int32 BZ2_decompress ( DState* s )
-{
- UChar uc;
- Int32 retVal;
- Int32 minLen, maxLen;
- bz_stream* strm = s->strm;
-
- /* stuff that needs to be saved/restored */
- Int32 i;
- Int32 j;
- Int32 t;
- Int32 alphaSize;
- Int32 nGroups;
- Int32 nSelectors;
- Int32 EOB;
- Int32 groupNo;
- Int32 groupPos;
- Int32 nextSym;
- Int32 nblockMAX;
- Int32 nblock;
- Int32 es;
- Int32 N;
- Int32 curr;
- Int32 zt;
- Int32 zn;
- Int32 zvec;
- Int32 zj;
- Int32 gSel;
- Int32 gMinlen;
- Int32* gLimit;
- Int32* gBase;
- Int32* gPerm;
-
- if (s->state == BZ_X_MAGIC_1) {
- /*initialise the save area*/
- s->save_i = 0;
- s->save_j = 0;
- s->save_t = 0;
- s->save_alphaSize = 0;
- s->save_nGroups = 0;
- s->save_nSelectors = 0;
- s->save_EOB = 0;
- s->save_groupNo = 0;
- s->save_groupPos = 0;
- s->save_nextSym = 0;
- s->save_nblockMAX = 0;
- s->save_nblock = 0;
- s->save_es = 0;
- s->save_N = 0;
- s->save_curr = 0;
- s->save_zt = 0;
- s->save_zn = 0;
- s->save_zvec = 0;
- s->save_zj = 0;
- s->save_gSel = 0;
- s->save_gMinlen = 0;
- s->save_gLimit = NULL;
- s->save_gBase = NULL;
- s->save_gPerm = NULL;
- }
-
- /*restore from the save area*/
- i = s->save_i;
- j = s->save_j;
- t = s->save_t;
- alphaSize = s->save_alphaSize;
- nGroups = s->save_nGroups;
- nSelectors = s->save_nSelectors;
- EOB = s->save_EOB;
- groupNo = s->save_groupNo;
- groupPos = s->save_groupPos;
- nextSym = s->save_nextSym;
- nblockMAX = s->save_nblockMAX;
- nblock = s->save_nblock;
- es = s->save_es;
- N = s->save_N;
- curr = s->save_curr;
- zt = s->save_zt;
- zn = s->save_zn;
- zvec = s->save_zvec;
- zj = s->save_zj;
- gSel = s->save_gSel;
- gMinlen = s->save_gMinlen;
- gLimit = s->save_gLimit;
- gBase = s->save_gBase;
- gPerm = s->save_gPerm;
-
- retVal = BZ_OK;
-
- switch (s->state) {
-
- GET_UCHAR(BZ_X_MAGIC_1, uc);
- if (uc != 'B') RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_UCHAR(BZ_X_MAGIC_2, uc);
- if (uc != 'Z') RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_UCHAR(BZ_X_MAGIC_3, uc)
- if (uc != 'h') RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8)
- if (s->blockSize100k < '1' ||
- s->blockSize100k > '9') RETURN(BZ_DATA_ERROR_MAGIC);
- s->blockSize100k -= '0';
-
- if (s->smallDecompress) {
- s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
- s->ll4 = BZALLOC(
- ((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar)
- );
- if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
- } else {
- s->tt = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
- if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
- }
-
- GET_UCHAR(BZ_X_BLKHDR_1, uc);
-
- if (uc == 0x17) goto endhdr_2;
- if (uc != 0x31) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_2, uc);
- if (uc != 0x41) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_3, uc);
- if (uc != 0x59) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_4, uc);
- if (uc != 0x26) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_5, uc);
- if (uc != 0x53) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_6, uc);
- if (uc != 0x59) RETURN(BZ_DATA_ERROR);
-
- s->currBlockNo++;
- if (s->verbosity >= 2)
- VPrintf1 ( "\n [%d: huff+mtf ", s->currBlockNo );
-
- s->storedBlockCRC = 0;
- GET_UCHAR(BZ_X_BCRC_1, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_2, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_3, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_4, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
-
- GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1);
-
- s->origPtr = 0;
- GET_UCHAR(BZ_X_ORIGPTR_1, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
- GET_UCHAR(BZ_X_ORIGPTR_2, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
- GET_UCHAR(BZ_X_ORIGPTR_3, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
-
- if (s->origPtr < 0)
- RETURN(BZ_DATA_ERROR);
- if (s->origPtr > 10 + 100000*s->blockSize100k)
- RETURN(BZ_DATA_ERROR);
-
- /*--- Receive the mapping table ---*/
- for (i = 0; i < 16; i++) {
- GET_BIT(BZ_X_MAPPING_1, uc);
- if (uc == 1)
- s->inUse16[i] = True; else
- s->inUse16[i] = False;
- }
-
- for (i = 0; i < 256; i++) s->inUse[i] = False;
-
- for (i = 0; i < 16; i++)
- if (s->inUse16[i])
- for (j = 0; j < 16; j++) {
- GET_BIT(BZ_X_MAPPING_2, uc);
- if (uc == 1) s->inUse[i * 16 + j] = True;
- }
- makeMaps_d ( s );
- if (s->nInUse == 0) RETURN(BZ_DATA_ERROR);
- alphaSize = s->nInUse+2;
-
- /*--- Now the selectors ---*/
- GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
- if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
- GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
- if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
- for (i = 0; i < nSelectors; i++) {
- j = 0;
- while (True) {
- GET_BIT(BZ_X_SELECTOR_3, uc);
- if (uc == 0) break;
- j++;
- if (j >= nGroups) RETURN(BZ_DATA_ERROR);
- }
- s->selectorMtf[i] = j;
- }
-
- /*--- Undo the MTF values for the selectors. ---*/
- {
- UChar pos[BZ_N_GROUPS], tmp, v;
- for (v = 0; v < nGroups; v++) pos[v] = v;
-
- for (i = 0; i < nSelectors; i++) {
- v = s->selectorMtf[i];
- tmp = pos[v];
- while (v > 0) { pos[v] = pos[v-1]; v--; }
- pos[0] = tmp;
- s->selector[i] = tmp;
- }
- }
-
- /*--- Now the coding tables ---*/
- for (t = 0; t < nGroups; t++) {
- GET_BITS(BZ_X_CODING_1, curr, 5);
- for (i = 0; i < alphaSize; i++) {
- while (True) {
- if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR);
- GET_BIT(BZ_X_CODING_2, uc);
- if (uc == 0) break;
- GET_BIT(BZ_X_CODING_3, uc);
- if (uc == 0) curr++; else curr--;
- }
- s->len[t][i] = curr;
- }
- }
-
- /*--- Create the Huffman decoding tables ---*/
- for (t = 0; t < nGroups; t++) {
- minLen = 32;
- maxLen = 0;
- for (i = 0; i < alphaSize; i++) {
- if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
- if (s->len[t][i] < minLen) minLen = s->len[t][i];
- }
- BZ2_hbCreateDecodeTables (
- &(s->limit[t][0]),
- &(s->base[t][0]),
- &(s->perm[t][0]),
- &(s->len[t][0]),
- minLen, maxLen, alphaSize
- );
- s->minLens[t] = minLen;
- }
-
- /*--- Now the MTF values ---*/
-
- EOB = s->nInUse+1;
- nblockMAX = 100000 * s->blockSize100k;
- groupNo = -1;
- groupPos = 0;
-
- for (i = 0; i <= 255; i++) s->unzftab[i] = 0;
-
- /*-- MTF init --*/
- {
- Int32 ii, jj, kk;
- kk = MTFA_SIZE-1;
- for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) {
- for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
- s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj);
- kk--;
- }
- s->mtfbase[ii] = kk + 1;
- }
- }
- /*-- end MTF init --*/
-
- nblock = 0;
- GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym);
-
- while (True) {
-
- if (nextSym == EOB) break;
-
- if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
-
- es = -1;
- N = 1;
- do {
- if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
- if (nextSym == BZ_RUNB) es = es + (1+1) * N;
- N = N * 2;
- GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym);
- }
- while (nextSym == BZ_RUNA || nextSym == BZ_RUNB);
-
- es++;
- uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ];
- s->unzftab[uc] += es;
-
- if (s->smallDecompress)
- while (es > 0) {
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
- s->ll16[nblock] = (UInt16)uc;
- nblock++;
- es--;
- }
- else
- while (es > 0) {
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
- s->tt[nblock] = (UInt32)uc;
- nblock++;
- es--;
- };
-
- continue;
-
- } else {
-
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
-
- /*-- uc = MTF ( nextSym-1 ) --*/
- {
- Int32 ii, jj, kk, pp, lno, off;
- UInt32 nn;
- nn = (UInt32)(nextSym - 1);
-
- if (nn < MTFL_SIZE) {
- /* avoid general-case expense */
- pp = s->mtfbase[0];
- uc = s->mtfa[pp+nn];
- while (nn > 3) {
- Int32 z = pp+nn;
- s->mtfa[(z) ] = s->mtfa[(z)-1];
- s->mtfa[(z)-1] = s->mtfa[(z)-2];
- s->mtfa[(z)-2] = s->mtfa[(z)-3];
- s->mtfa[(z)-3] = s->mtfa[(z)-4];
- nn -= 4;
- }
- while (nn > 0) {
- s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--;
- };
- s->mtfa[pp] = uc;
- } else {
- /* general case */
- lno = nn / MTFL_SIZE;
- off = nn % MTFL_SIZE;
- pp = s->mtfbase[lno] + off;
- uc = s->mtfa[pp];
- while (pp > s->mtfbase[lno]) {
- s->mtfa[pp] = s->mtfa[pp-1]; pp--;
- };
- s->mtfbase[lno]++;
- while (lno > 0) {
- s->mtfbase[lno]--;
- s->mtfa[s->mtfbase[lno]]
- = s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1];
- lno--;
- }
- s->mtfbase[0]--;
- s->mtfa[s->mtfbase[0]] = uc;
- if (s->mtfbase[0] == 0) {
- kk = MTFA_SIZE-1;
- for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
- for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
- s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
- kk--;
- }
- s->mtfbase[ii] = kk + 1;
- }
- }
- }
- }
- /*-- end uc = MTF ( nextSym-1 ) --*/
-
- s->unzftab[s->seqToUnseq[uc]]++;
- if (s->smallDecompress)
- s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else
- s->tt[nblock] = (UInt32)(s->seqToUnseq[uc]);
- nblock++;
-
- GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym);
- continue;
- }
- }
-
- /* Now we know what nblock is, we can do a better sanity
- check on s->origPtr.
- */
- if (s->origPtr < 0 || s->origPtr >= nblock)
- RETURN(BZ_DATA_ERROR);
-
- s->state_out_len = 0;
- s->state_out_ch = 0;
- BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
- s->state = BZ_X_OUTPUT;
- if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
-
- /*-- Set up cftab to facilitate generation of T^(-1) --*/
- s->cftab[0] = 0;
- for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
- for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
-
- if (s->smallDecompress) {
-
- /*-- Make a copy of cftab, used in generation of T --*/
- for (i = 0; i <= 256; i++) s->cftabCopy[i] = s->cftab[i];
-
- /*-- compute the T vector --*/
- for (i = 0; i < nblock; i++) {
- uc = (UChar)(s->ll16[i]);
- SET_LL(i, s->cftabCopy[uc]);
- s->cftabCopy[uc]++;
- }
-
- /*-- Compute T^(-1) by pointer reversal on T --*/
- i = s->origPtr;
- j = GET_LL(i);
- do {
- Int32 tmp = GET_LL(j);
- SET_LL(j, i);
- i = j;
- j = tmp;
- }
- while (i != s->origPtr);
-
- s->tPos = s->origPtr;
- s->nblock_used = 0;
- if (s->blockRandomised) {
- BZ_RAND_INIT_MASK;
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
- } else {
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- }
-
- } else {
-
- /*-- compute the T^(-1) vector --*/
- for (i = 0; i < nblock; i++) {
- uc = (UChar)(s->tt[i] & 0xff);
- s->tt[s->cftab[uc]] |= (i << 8);
- s->cftab[uc]++;
- }
-
- s->tPos = s->tt[s->origPtr] >> 8;
- s->nblock_used = 0;
- if (s->blockRandomised) {
- BZ_RAND_INIT_MASK;
- BZ_GET_FAST(s->k0); s->nblock_used++;
- BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
- } else {
- BZ_GET_FAST(s->k0); s->nblock_used++;
- }
-
- }
-
- RETURN(BZ_OK);
-
-
-
- endhdr_2:
-
- GET_UCHAR(BZ_X_ENDHDR_2, uc);
- if (uc != 0x72) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_3, uc);
- if (uc != 0x45) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_4, uc);
- if (uc != 0x38) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_5, uc);
- if (uc != 0x50) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_6, uc);
- if (uc != 0x90) RETURN(BZ_DATA_ERROR);
-
- s->storedCombinedCRC = 0;
- GET_UCHAR(BZ_X_CCRC_1, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_2, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_3, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_4, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
-
- s->state = BZ_X_IDLE;
- RETURN(BZ_STREAM_END);
-
- default: AssertH ( False, 4001 );
- }
-
- AssertH ( False, 4002 );
-
- save_state_and_return:
-
- s->save_i = i;
- s->save_j = j;
- s->save_t = t;
- s->save_alphaSize = alphaSize;
- s->save_nGroups = nGroups;
- s->save_nSelectors = nSelectors;
- s->save_EOB = EOB;
- s->save_groupNo = groupNo;
- s->save_groupPos = groupPos;
- s->save_nextSym = nextSym;
- s->save_nblockMAX = nblockMAX;
- s->save_nblock = nblock;
- s->save_es = es;
- s->save_N = N;
- s->save_curr = curr;
- s->save_zt = zt;
- s->save_zn = zn;
- s->save_zvec = zvec;
- s->save_zj = zj;
- s->save_gSel = gSel;
- s->save_gMinlen = gMinlen;
- s->save_gLimit = gLimit;
- s->save_gBase = gBase;
- s->save_gPerm = gPerm;
-
- return retVal;
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end decompress.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/huffman.c b/mdk-stage1/bzlib/huffman.c
deleted file mode 100644
index 8994f0bb9..000000000
--- a/mdk-stage1/bzlib/huffman.c
+++ /dev/null
@@ -1,232 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Huffman coding low-level stuff ---*/
-/*--- huffman.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. 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. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 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.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-/*---------------------------------------------------*/
-#define WEIGHTOF(zz0) ((zz0) & 0xffffff00)
-#define DEPTHOF(zz1) ((zz1) & 0x000000ff)
-#define MYMAX(zz2,zz3) ((zz2) > (zz3) ? (zz2) : (zz3))
-
-#define ADDWEIGHTS(zw1,zw2) \
- (WEIGHTOF(zw1)+WEIGHTOF(zw2)) | \
- (1 + MYMAX(DEPTHOF(zw1),DEPTHOF(zw2)))
-
-#define UPHEAP(z) \
-{ \
- Int32 zz, tmp; \
- zz = z; tmp = heap[zz]; \
- while (weight[tmp] < weight[heap[zz >> 1]]) { \
- heap[zz] = heap[zz >> 1]; \
- zz >>= 1; \
- } \
- heap[zz] = tmp; \
-}
-
-#define DOWNHEAP(z) \
-{ \
- Int32 zz, yy, tmp; \
- zz = z; tmp = heap[zz]; \
- while (True) { \
- yy = zz << 1; \
- if (yy > nHeap) break; \
- if (yy < nHeap && \
- weight[heap[yy+1]] < weight[heap[yy]]) \
- yy++; \
- if (weight[tmp] < weight[heap[yy]]) break; \
- heap[zz] = heap[yy]; \
- zz = yy; \
- } \
- heap[zz] = tmp; \
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbMakeCodeLengths ( UChar *len,
- Int32 *freq,
- Int32 alphaSize,
- Int32 maxLen )
-{
- /*--
- Nodes and heap entries run from 1. Entry 0
- for both the heap and nodes is a sentinel.
- --*/
- Int32 nNodes, nHeap, n1, n2, i, j, k;
- Bool tooLong;
-
- Int32 heap [ BZ_MAX_ALPHA_SIZE + 2 ];
- Int32 weight [ BZ_MAX_ALPHA_SIZE * 2 ];
- Int32 parent [ BZ_MAX_ALPHA_SIZE * 2 ];
-
- for (i = 0; i < alphaSize; i++)
- weight[i+1] = (freq[i] == 0 ? 1 : freq[i]) << 8;
-
- while (True) {
-
- nNodes = alphaSize;
- nHeap = 0;
-
- heap[0] = 0;
- weight[0] = 0;
- parent[0] = -2;
-
- for (i = 1; i <= alphaSize; i++) {
- parent[i] = -1;
- nHeap++;
- heap[nHeap] = i;
- UPHEAP(nHeap);
- }
-
- AssertH( nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001 );
-
- while (nHeap > 1) {
- n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
- n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
- nNodes++;
- parent[n1] = parent[n2] = nNodes;
- weight[nNodes] = ADDWEIGHTS(weight[n1], weight[n2]);
- parent[nNodes] = -1;
- nHeap++;
- heap[nHeap] = nNodes;
- UPHEAP(nHeap);
- }
-
- AssertH( nNodes < (BZ_MAX_ALPHA_SIZE * 2), 2002 );
-
- tooLong = False;
- for (i = 1; i <= alphaSize; i++) {
- j = 0;
- k = i;
- while (parent[k] >= 0) { k = parent[k]; j++; }
- len[i-1] = j;
- if (j > maxLen) tooLong = True;
- }
-
- if (! tooLong) break;
-
- for (i = 1; i < alphaSize; i++) {
- j = weight[i] >> 8;
- j = 1 + (j / 2);
- weight[i] = j << 8;
- }
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbAssignCodes ( Int32 *code,
- UChar *length,
- Int32 minLen,
- Int32 maxLen,
- Int32 alphaSize )
-{
- Int32 n, vec, i;
-
- vec = 0;
- for (n = minLen; n <= maxLen; n++) {
- for (i = 0; i < alphaSize; i++)
- if (length[i] == n) { code[i] = vec; vec++; };
- vec <<= 1;
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbCreateDecodeTables ( Int32 *limit,
- Int32 *base,
- Int32 *perm,
- UChar *length,
- Int32 minLen,
- Int32 maxLen,
- Int32 alphaSize )
-{
- Int32 pp, i, j, vec;
-
- pp = 0;
- for (i = minLen; i <= maxLen; i++)
- for (j = 0; j < alphaSize; j++)
- if (length[j] == i) { perm[pp] = j; pp++; };
-
- for (i = 0; i < BZ_MAX_CODE_LEN; i++) base[i] = 0;
- for (i = 0; i < alphaSize; i++) base[length[i]+1]++;
-
- for (i = 1; i < BZ_MAX_CODE_LEN; i++) base[i] += base[i-1];
-
- for (i = 0; i < BZ_MAX_CODE_LEN; i++) limit[i] = 0;
- vec = 0;
-
- for (i = minLen; i <= maxLen; i++) {
- vec += (base[i+1] - base[i]);
- limit[i] = vec-1;
- vec <<= 1;
- }
- for (i = minLen + 1; i <= maxLen; i++)
- base[i] = ((limit[i-1] + 1) << 1) - base[i];
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end huffman.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/randtable.c b/mdk-stage1/bzlib/randtable.c
deleted file mode 100644
index a1fc82cfb..000000000
--- a/mdk-stage1/bzlib/randtable.c
+++ /dev/null
@@ -1,128 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Table for randomising repetitive blocks ---*/
-/*--- randtable.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. 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. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 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.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------*/
-Int32 BZ2_rNums[512] = {
- 619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
- 985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
- 733, 859, 335, 708, 621, 574, 73, 654, 730, 472,
- 419, 436, 278, 496, 867, 210, 399, 680, 480, 51,
- 878, 465, 811, 169, 869, 675, 611, 697, 867, 561,
- 862, 687, 507, 283, 482, 129, 807, 591, 733, 623,
- 150, 238, 59, 379, 684, 877, 625, 169, 643, 105,
- 170, 607, 520, 932, 727, 476, 693, 425, 174, 647,
- 73, 122, 335, 530, 442, 853, 695, 249, 445, 515,
- 909, 545, 703, 919, 874, 474, 882, 500, 594, 612,
- 641, 801, 220, 162, 819, 984, 589, 513, 495, 799,
- 161, 604, 958, 533, 221, 400, 386, 867, 600, 782,
- 382, 596, 414, 171, 516, 375, 682, 485, 911, 276,
- 98, 553, 163, 354, 666, 933, 424, 341, 533, 870,
- 227, 730, 475, 186, 263, 647, 537, 686, 600, 224,
- 469, 68, 770, 919, 190, 373, 294, 822, 808, 206,
- 184, 943, 795, 384, 383, 461, 404, 758, 839, 887,
- 715, 67, 618, 276, 204, 918, 873, 777, 604, 560,
- 951, 160, 578, 722, 79, 804, 96, 409, 713, 940,
- 652, 934, 970, 447, 318, 353, 859, 672, 112, 785,
- 645, 863, 803, 350, 139, 93, 354, 99, 820, 908,
- 609, 772, 154, 274, 580, 184, 79, 626, 630, 742,
- 653, 282, 762, 623, 680, 81, 927, 626, 789, 125,
- 411, 521, 938, 300, 821, 78, 343, 175, 128, 250,
- 170, 774, 972, 275, 999, 639, 495, 78, 352, 126,
- 857, 956, 358, 619, 580, 124, 737, 594, 701, 612,
- 669, 112, 134, 694, 363, 992, 809, 743, 168, 974,
- 944, 375, 748, 52, 600, 747, 642, 182, 862, 81,
- 344, 805, 988, 739, 511, 655, 814, 334, 249, 515,
- 897, 955, 664, 981, 649, 113, 974, 459, 893, 228,
- 433, 837, 553, 268, 926, 240, 102, 654, 459, 51,
- 686, 754, 806, 760, 493, 403, 415, 394, 687, 700,
- 946, 670, 656, 610, 738, 392, 760, 799, 887, 653,
- 978, 321, 576, 617, 626, 502, 894, 679, 243, 440,
- 680, 879, 194, 572, 640, 724, 926, 56, 204, 700,
- 707, 151, 457, 449, 797, 195, 791, 558, 945, 679,
- 297, 59, 87, 824, 713, 663, 412, 693, 342, 606,
- 134, 108, 571, 364, 631, 212, 174, 643, 304, 329,
- 343, 97, 430, 751, 497, 314, 983, 374, 822, 928,
- 140, 206, 73, 263, 980, 736, 876, 478, 430, 305,
- 170, 514, 364, 692, 829, 82, 855, 953, 676, 246,
- 369, 970, 294, 750, 807, 827, 150, 790, 288, 923,
- 804, 378, 215, 828, 592, 281, 565, 555, 710, 82,
- 896, 831, 547, 261, 524, 462, 293, 465, 502, 56,
- 661, 821, 976, 991, 658, 869, 905, 758, 745, 193,
- 768, 550, 608, 933, 378, 286, 215, 979, 792, 961,
- 61, 688, 793, 644, 986, 403, 106, 366, 905, 644,
- 372, 567, 466, 434, 645, 210, 389, 550, 919, 135,
- 780, 773, 635, 389, 707, 100, 626, 958, 165, 504,
- 920, 176, 193, 713, 857, 265, 203, 50, 668, 108,
- 645, 990, 626, 197, 510, 357, 358, 850, 858, 364,
- 936, 638
-};
-
-
-/*-------------------------------------------------------------*/
-/*--- end randtable.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/cdrom.c b/mdk-stage1/cdrom.c
deleted file mode 100644
index d99877b7f..000000000
--- a/mdk-stage1/cdrom.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <sys/mount.h>
-#include "stage1.h"
-#include "frontend.h"
-#include "modules.h"
-#include "probing.h"
-#include "log.h"
-#include "mount.h"
-
-#include "cdrom.h"
-
-
-static int mount_that_cd_device(char * dev_name)
-{
- char device_fullname[50];
-
- strcpy(device_fullname, "/dev/");
- strcat(device_fullname, dev_name);
-
- return my_mount(device_fullname, IMAGE_LOCATION, "iso9660");
-}
-
-
-static int test_that_cd()
-{
- return access(IMAGE_LOCATION LIVE_LOCATION, R_OK);
-}
-
-
-static enum return_type try_with_device(char * dev_name, char * dev_model);
-
-static enum return_type do_with_device(char * dev_name, char * dev_model)
-{
- if (test_that_cd()) {
- enum return_type results;
- umount(IMAGE_LOCATION);
- results = ask_yes_no("That CDROM disc does not seem to be a " DISTRIB_NAME " Installation CDROM.\nRetry with another disc?");
- if (results == RETURN_OK)
- return try_with_device(dev_name, dev_model);
- return results;
- }
-
- log_message("found a " DISTRIB_NAME " CDROM, good news!");
-
- if (IS_SPECIAL_STAGE2 || ramdisk_possible())
- load_ramdisk(); /* we don't care about return code, we'll do it live if we failed */
-
- if (IS_RESCUE)
- umount(IMAGE_LOCATION);
-
- method_name = strdup("cdrom");
- return RETURN_OK;
-}
-
-static enum return_type try_with_device(char * dev_name, char * dev_model)
-{
- wait_message("Trying to access a CDROM disc (drive %s)", dev_model);
-
- if (mount_that_cd_device(dev_name) == -1) {
- enum return_type results;
- char msg[500];
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
- remove_wait_message();
-
- snprintf(msg, sizeof(msg), "I can't access a " DISTRIB_NAME " Installation disc in your CDROM drive (%s).\nRetry?", dev_model);
- results = ask_yes_no(msg);
- if (results == RETURN_OK)
- return try_with_device(dev_name, dev_model);
- return results;
- }
- remove_wait_message();
-
- return do_with_device(dev_name, dev_model);
-}
-
-enum return_type cdrom_prepare(void)
-{
- char ** medias, ** ptr, ** medias_models;
- char * choice;
- int i, count = 0;
- enum return_type results;
-
- my_insmod("ide-cd", ANY_DRIVER_TYPE, NULL);
- my_insmod("sr_mod", ANY_DRIVER_TYPE, NULL);
-
- get_medias(CDROM, &medias, &medias_models);
-
- ptr = medias;
- while (ptr && *ptr) {
- count++;
- ptr++;
- }
-
- if (count == 0) {
- stg1_error_message("No CDROM device found.");
- i = ask_insmod(SCSI_ADAPTERS);
- if (i == RETURN_BACK)
- return RETURN_BACK;
- return cdrom_prepare();
- }
-
- if (count == 1) {
- results = try_with_device(*medias, *medias_models);
- if (results == RETURN_OK)
- return RETURN_OK;
- i = ask_insmod(SCSI_ADAPTERS);
- if (i == RETURN_BACK)
- return RETURN_BACK;
- return cdrom_prepare();
- }
-
- if (IS_AUTOMATIC) {
- char ** model = medias_models;
- ptr = medias;
- while (ptr && *ptr) {
- wait_message("Trying to access " DISTRIB_NAME " CDROM disc (drive %s)", *model);
- if (mount_that_cd_device(*ptr) != -1) {
- if (!test_that_cd()) {
- remove_wait_message();
- return do_with_device(*ptr, *model);
- }
- else
- umount(IMAGE_LOCATION);
- }
- remove_wait_message();
- ptr++;
- model++;
- }
- unset_param(MODE_AUTOMATIC);
- return cdrom_prepare();
- }
- else {
- results = ask_from_list_comments("Please choose the CDROM drive to use for the installation.", medias, medias_models, &choice);
- if (results == RETURN_OK) {
- char ** model = medias_models;
- ptr = medias;
- while (ptr && *ptr && model && *model) {
- if (!strcmp(*ptr, choice))
- break;
- ptr++;
- model++;
- }
- results = try_with_device(choice, *model);
- } else
- return results;
- }
-
- if (results == RETURN_OK)
- return RETURN_OK;
- if (results == RETURN_BACK)
- return cdrom_prepare();
-
- i = ask_insmod(SCSI_ADAPTERS);
- if (i == RETURN_BACK)
- return RETURN_BACK;
- return cdrom_prepare();
-}
diff --git a/mdk-stage1/cdrom.h b/mdk-stage1/cdrom.h
deleted file mode 100644
index 639487eed..000000000
--- a/mdk-stage1/cdrom.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef _CDROM_H_
-#define _CDROM_H_
-
-#include "stage1.h"
-
-enum return_type cdrom_prepare(void);
-
-#endif
diff --git a/mdk-stage1/config-stage1.h b/mdk-stage1/config-stage1.h
deleted file mode 100644
index 11150314b..000000000
--- a/mdk-stage1/config-stage1.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _CONFIG_STAGE1_H_
-#define _CONFIG_STAGE1_H_
-
-#define _GNU_SOURCE 1
-
-
-/* If we have more than that amount of memory (in Mbytes), we assume we can load the second stage as a ramdisk */
-#define MEM_LIMIT_RAMDISK 52
-
-#define DISTRIB_NAME "Linux-Mandrake"
-
-#define RAMDISK_COMPRESSION_RATIO 1.95
-
-#define LIVE_LOCATION "/Mandrake/mdkinst/"
-#define RAMDISK_LOCATION "/Mandrake/base/"
-#define IMAGE_LOCATION "/tmp/image"
-#define STAGE2_LOCATION "/tmp/stage2"
-
-/* user-definable (in Makefile): DISABLE_NETWORK, DISABLE_DISK, DISABLE_CDROM, DISABLE_PCMCIA */
-
-
-/* some factorizing for disabling more features */
-
-#ifdef DISABLE_DISK
-#ifdef DISABLE_CDROM
-#define DISABLE_MEDIAS
-#endif
-#endif
-
-
-#endif
diff --git a/mdk-stage1/dhcp.c b/mdk-stage1/dhcp.c
deleted file mode 100644
index 78a0712f9..000000000
--- a/mdk-stage1/dhcp.c
+++ /dev/null
@@ -1,614 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-/*
- * Portions from GRUB -- GRand Unified Bootloader
- * Copyright (C) 2000 Free Software Foundation, Inc.
- */
-
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <net/if.h>
-#include <arpa/inet.h>
-#include <net/route.h>
-#include <errno.h>
-#include <net/ethernet.h>
-#include <netinet/ip.h>
-#include <netinet/udp.h>
-#include <sys/time.h>
-#include <time.h>
-#include <fcntl.h>
-#include <sys/poll.h>
-
-#include "stage1.h"
-#include "log.h"
-#include "network.h"
-#include "frontend.h"
-
-#include "dhcp.h"
-
-
-typedef int bp_int32;
-typedef short bp_int16;
-
-#define BOOTP_OPTION_NETMASK 1
-#define BOOTP_OPTION_GATEWAY 3
-#define BOOTP_OPTION_DNS 6
-#define BOOTP_OPTION_HOSTNAME 12
-#define BOOTP_OPTION_DOMAIN 15
-#define BOOTP_OPTION_BROADCAST 28
-
-#define DHCP_OPTION_REQADDR 50
-#define DHCP_OPTION_LEASE 51
-#define DHCP_OPTION_TYPE 53
-#define DHCP_OPTION_SERVER 54
-#define DHCP_OPTION_OPTIONREQ 55
-#define DHCP_OPTION_MAXSIZE 57
-
-#define BOOTP_CLIENT_PORT 68
-#define BOOTP_SERVER_PORT 67
-
-#define BOOTP_OPCODE_REQUEST 1
-#define BOOTP_OPCODE_REPLY 2
-
-#define DHCP_TYPE_DISCOVER 1
-#define DHCP_TYPE_OFFER 2
-#define DHCP_TYPE_REQUEST 3
-#define DHCP_TYPE_ACK 5
-#define DHCP_TYPE_RELEASE 7
-
-#define BOOTP_VENDOR_LENGTH 64
-#define DHCP_VENDOR_LENGTH 340
-
-struct bootp_request {
- char opcode;
- char hw;
- char hwlength;
- char hopcount;
- bp_int32 id;
- bp_int16 secs;
- bp_int16 flags;
- bp_int32 ciaddr, yiaddr, server_ip, bootp_gw_ip;
- char hwaddr[16];
- char servername[64];
- char bootfile[128];
- char vendor[DHCP_VENDOR_LENGTH];
-} ;
-
-static const char vendor_cookie[] = { 99, 130, 83, 99, 255 };
-
-
-static unsigned int verify_checksum(void * buf2, int length2)
-{
- unsigned int csum = 0;
- unsigned short * sp;
-
- for (sp = (unsigned short *) buf2; length2 > 0; (length2 -= 2), sp++)
- csum += *sp;
-
- while (csum >> 16)
- csum = (csum & 0xffff) + (csum >> 16);
-
- return (csum == 0xffff);
-}
-
-
-static int initial_setup_interface(char * device, int s) {
- struct sockaddr_in * addrp;
- struct ifreq req;
- struct rtentry route;
- int true = 1;
-
- addrp = (struct sockaddr_in *) &req.ifr_addr;
-
- strcpy(req.ifr_name, device);
- addrp->sin_family = AF_INET;
- addrp->sin_port = 0;
- memset(&addrp->sin_addr, 0, sizeof(addrp->sin_addr));
-
- req.ifr_flags = 0; /* take it down */
- if (ioctl(s, SIOCSIFFLAGS, &req)) {
- log_perror("SIOCSIFFLAGS (downing)");
- return -1;
- }
-
- addrp->sin_family = AF_INET;
- addrp->sin_addr.s_addr = htonl(0);
- if (ioctl(s, SIOCSIFADDR, &req)) {
- log_perror("SIOCSIFADDR");
- return -1;
- }
-
- req.ifr_flags = IFF_UP | IFF_BROADCAST | IFF_RUNNING;
- if (ioctl(s, SIOCSIFFLAGS, &req)) {
- log_perror("SIOCSIFFLAGS (upping)");
- return -1;
- }
-
- memset(&route, 0, sizeof(route));
- memcpy(&route.rt_gateway, addrp, sizeof(*addrp));
-
- addrp->sin_family = AF_INET;
- addrp->sin_port = 0;
- addrp->sin_addr.s_addr = INADDR_ANY;
- memcpy(&route.rt_dst, addrp, sizeof(*addrp));
- memcpy(&route.rt_genmask, addrp, sizeof(*addrp));
-
- route.rt_dev = device;
- route.rt_flags = RTF_UP;
- route.rt_metric = 0;
-
- if (ioctl(s, SIOCADDRT, &route)) {
- if (errno != EEXIST) {
- close(s);
- log_perror("SIOCADDRT");
- return -1;
- }
- }
-
- if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, &true, sizeof(true))) {
- close(s);
- log_perror("setsockopt");
- return -1;
- }
-
- /* I need to sleep a bit in order for kernel to finish init of the
- network device; this would allow to not send further multiple
- dhcp requests when only one is needed. */
- wait_message("Bringing up networking...");
- sleep(2);
- remove_wait_message();
-
- return 0;
-}
-
-
-void set_missing_ip_info(struct interface_info * intf)
-{
- bp_int32 ipNum = *((bp_int32 *) &intf->ip);
- bp_int32 nmNum;
-
- if (intf->netmask.s_addr == 0)
- inet_aton(guess_netmask(inet_ntoa(intf->ip)), &intf->netmask);
-
- nmNum = *((bp_int32 *) &intf->netmask);
-
- if (intf->broadcast.s_addr == 0)
- *((bp_int32 *) &intf->broadcast) = (ipNum & nmNum) | ~(nmNum);
-
- if (intf->network.s_addr == 0)
- *((bp_int32 *) &intf->network) = ipNum & nmNum;
-}
-
-static void parse_reply(struct bootp_request * breq, struct interface_info * intf)
-{
- unsigned char * chptr;
- unsigned char option, length;
-
- memcpy(&intf->ip, &breq->yiaddr, 4);
-
- chptr = breq->vendor;
- chptr += 4;
- while (*chptr != 0xFF && (void *) chptr < (void *) breq->vendor + DHCP_VENDOR_LENGTH) {
- char tmp_str[500];
- option = *chptr++;
- if (!option)
- continue;
- length = *chptr++;
-
- switch (option) {
- case BOOTP_OPTION_DNS:
- memcpy(&dns_server, chptr, sizeof(dns_server));
- log_message("got dns %s", inet_ntoa(dns_server));
- if (length >= sizeof(dns_server)*2) {
- memcpy(&dns_server2, chptr+sizeof(dns_server), sizeof(dns_server2));
- log_message("got dns2 %s", inet_ntoa(dns_server2));
- }
- break;
-
- case BOOTP_OPTION_NETMASK:
- memcpy(&intf->netmask, chptr, sizeof(intf->netmask));
- log_message("got netmask %s", inet_ntoa(intf->netmask));
- break;
-
- case BOOTP_OPTION_DOMAIN:
- memcpy(tmp_str, chptr, length);
- tmp_str[length] = '\0';
- domain = strdup(tmp_str);
- log_message("got domain %s", domain);
- break;
-
- case BOOTP_OPTION_BROADCAST:
- memcpy(&intf->broadcast, chptr, sizeof(intf->broadcast));
- log_message("got broadcast %s", inet_ntoa(intf->broadcast));
- break;
-
- case BOOTP_OPTION_GATEWAY:
- memcpy(&gateway, chptr, sizeof(gateway));
- log_message("got gateway %s", inet_ntoa(gateway));
- break;
-
- case BOOTP_OPTION_HOSTNAME:
- memcpy(tmp_str, chptr, length);
- tmp_str[length] = '\0';
- hostname = strdup(tmp_str);
- log_message("got hostname %s", hostname);
- break;
-
- }
-
- chptr += length;
- }
-
- set_missing_ip_info(intf);
-}
-
-
-static void init_vendor_codes(struct bootp_request * breq) {
- memcpy(breq->vendor, vendor_cookie, sizeof(vendor_cookie));
-}
-
-static char gen_hwaddr[16];
-
-static int prepare_request(struct bootp_request * breq, int sock, char * device)
-{
- struct ifreq req;
-
- memset(breq, 0, sizeof(*breq));
-
- breq->opcode = BOOTP_OPCODE_REQUEST;
-
- strcpy(req.ifr_name, device);
- if (ioctl(sock, SIOCGIFHWADDR, &req)) {
- log_perror("SIOCSIFHWADDR");
- return -1;
- }
-
- breq->hw = 1; /* ethernet */
- breq->hwlength = IFHWADDRLEN;
- memcpy(breq->hwaddr, req.ifr_hwaddr.sa_data, IFHWADDRLEN);
- memcpy(gen_hwaddr, req.ifr_hwaddr.sa_data, IFHWADDRLEN);
-
- breq->hopcount = 0;
-
- init_vendor_codes(breq);
-
- return 0;
-}
-
-static int get_vendor_code(struct bootp_request * bresp, unsigned char option, void * data)
-{
- unsigned char * chptr;
- unsigned int length, theOption;
-
- chptr = bresp->vendor + 4;
- while (*chptr != 0xFF && *chptr != option) {
- theOption = *chptr++;
- if (!theOption)
- continue;
- length = *chptr++;
- chptr += length;
- }
-
- if (*chptr++ == 0xff)
- return 1;
-
- length = *chptr++;
- memcpy(data, chptr, length);
-
- return 0;
-}
-
-
-static int currticks(void)
-{
- struct timeval tv;
- long csecs;
- int ticks_per_csec, ticks_per_usec;
-
- /* Note: 18.2 ticks/sec. */
-
- gettimeofday (&tv, 0);
- csecs = tv.tv_sec / 10;
- ticks_per_csec = csecs * 182;
- ticks_per_usec = (((tv.tv_sec - csecs * 10) * 1000000 + tv.tv_usec) * 182 / 10000000);
- return ticks_per_csec + ticks_per_usec;
-}
-
-
-#define BACKOFF_LIMIT 7
-#define TICKS_PER_SEC 18
-#define MAX_ARP_RETRIES 4
-
-static void rfc951_sleep(int exp)
-{
- static long seed = 0;
- long q;
- unsigned long tmo;
-
- if (exp > BACKOFF_LIMIT)
- exp = BACKOFF_LIMIT;
-
- if (!seed)
- /* Initialize linear congruential generator. */
- seed = (currticks () + *(long *) &gen_hwaddr + ((short *) gen_hwaddr)[2]);
-
- /* Simplified version of the LCG given in Bruce Scheier's
- "Applied Cryptography". */
- q = seed / 53668;
- if ((seed = 40014 * (seed - 53668 * q) - 12211 * q) < 0)
- seed += 2147483563l;
-
- /* Compute mask. */
- for (tmo = 63; tmo <= 60 * TICKS_PER_SEC && --exp > 0; tmo = 2 * tmo + 1)
- ;
-
- /* Sleep. */
- log_message("<sleep>");
-
- for (tmo = (tmo & seed) + currticks (); currticks () < tmo;);
-}
-
-
-static int handle_transaction(int s, struct bootp_request * breq, struct bootp_request * bresp,
- struct sockaddr_in * server_addr, int dhcp_type)
-{
- struct pollfd polls;
- int i, j;
- int retry = 1;
- int sin;
- char eth_packet[ETH_FRAME_LEN];
- struct iphdr * ip_hdr;
- struct udphdr * udp_hdr;
- unsigned char type;
- unsigned long starttime;
- int timeout = 1;
-
- breq->id = starttime = currticks();
- breq->secs = 0;
-
- sin = socket(AF_PACKET, SOCK_DGRAM, ntohs(ETH_P_IP));
- if (sin < 0) {
- log_perror("af_packet socket");
- return -1;
- }
-
- while (retry <= MAX_ARP_RETRIES) {
- i = sizeof(*breq);
-
- if (sendto(s, breq, i, 0, (struct sockaddr *) server_addr, sizeof(*server_addr)) != i) {
- close(s);
- log_perror("sendto");
- return -1;
- }
-
- polls.fd = sin;
- polls.events = POLLIN;
-
- while (poll(&polls, 1, timeout*1000) == 1) {
-
- if ((j = recv(sin, eth_packet, sizeof(eth_packet), 0)) == -1) {
- log_perror("recv");
- continue;
- }
-
- /* We need to do some basic sanity checking of the header */
- if (j < (sizeof(*ip_hdr) + sizeof(*udp_hdr)))
- continue;
-
- ip_hdr = (void *) eth_packet;
- if (!verify_checksum(ip_hdr, sizeof(*ip_hdr)))
- continue;
-
- if (ntohs(ip_hdr->tot_len) > j)
- continue;
-
- j = ntohs(ip_hdr->tot_len);
-
- if (ip_hdr->protocol != IPPROTO_UDP)
- continue;
-
- udp_hdr = (void *) (eth_packet + sizeof(*ip_hdr));
-
- if (ntohs(udp_hdr->source) != BOOTP_SERVER_PORT)
- continue;
-
- if (ntohs(udp_hdr->dest) != BOOTP_CLIENT_PORT)
- continue;
- /* Go on with this packet; it looks sane */
-
- /* Originally copied sizeof (*bresp) - this is a security
- problem due to a potential underflow of the source
- buffer. Also, it trusted that the packet was properly
- 0xFF terminated, which is not true in the case of the
- DHCP server on Cisco 800 series ISDN router. */
-
- memset (bresp, 0xFF, sizeof (*bresp));
- memcpy (bresp, (char *) udp_hdr + sizeof (*udp_hdr), j - sizeof (*ip_hdr) - sizeof (*udp_hdr));
-
- /* sanity checks */
- if (bresp->id != breq->id)
- continue;
- if (bresp->opcode != BOOTP_OPCODE_REPLY)
- continue;
- if (bresp->hwlength != breq->hwlength)
- continue;
- if (memcmp(bresp->hwaddr, breq->hwaddr, bresp->hwlength))
- continue;
- if (get_vendor_code(bresp, DHCP_OPTION_TYPE, &type) || type != dhcp_type)
- continue;
- if (memcmp(bresp->vendor, vendor_cookie, 4))
- continue;
- return 0;
- }
- rfc951_sleep(retry);
- breq->secs = htons ((currticks () - starttime) / 20);
- retry++;
- timeout *= 2;
- if (timeout > 5)
- timeout = 5;
- }
-
- stg1_error_message("No DHCP reply received.");
- return -1;
-}
-
-static void add_vendor_code(struct bootp_request * breq, unsigned char option, unsigned char length, void * data)
-{
- unsigned char * chptr;
- int theOption, theLength;
-
- chptr = breq->vendor;
- chptr += 4;
- while (*chptr != 0xFF && *chptr != option) {
- theOption = *chptr++;
- if (!theOption) continue;
- theLength = *chptr++;
- chptr += theLength;
- }
-
- *chptr++ = option;
- *chptr++ = length;
- memcpy(chptr, data, length);
- chptr[length] = 0xff;
-}
-
-
-
-enum return_type perform_dhcp(struct interface_info * intf)
-{
- int s, i;
- struct sockaddr_in server_addr;
- struct sockaddr_in client_addr;
- struct sockaddr_in broadcast_addr;
- struct bootp_request breq, bresp;
- unsigned char messageType;
- unsigned int lease;
- short aShort;
- int num_options;
- char requested_options[50];
-
- if (strncmp(intf->device, "eth", 3)) {
- stg1_error_message("DHCP available only for Ethernet networking.");
- return RETURN_ERROR;
- }
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0) {
- log_perror("socket");
- return RETURN_ERROR;
- }
-
- if (initial_setup_interface(intf->device, s) != 0) {
- close(s);
- return RETURN_ERROR;
- }
-
- if (prepare_request(&breq, s, intf->device) != 0) {
- close(s);
- return RETURN_ERROR;
- }
-
- messageType = DHCP_TYPE_DISCOVER;
- add_vendor_code(&breq, DHCP_OPTION_TYPE, 1, &messageType);
-
- memset(&client_addr.sin_addr, 0, sizeof(&client_addr.sin_addr));
- client_addr.sin_family = AF_INET;
- client_addr.sin_port = htons(BOOTP_CLIENT_PORT); /* bootp client */
-
- if (bind(s, (struct sockaddr *) &client_addr, sizeof(client_addr))) {
- log_perror("bind");
- return RETURN_ERROR;
- }
-
- broadcast_addr.sin_family = AF_INET;
- broadcast_addr.sin_port = htons(BOOTP_SERVER_PORT); /* bootp server */
- memset(&broadcast_addr.sin_addr, 0xff, sizeof(broadcast_addr.sin_addr)); /* broadcast */
-
- log_message("DHCP: sending DISCOVER");
-
- wait_message("Sending DHCP request...");
- i = handle_transaction(s, &breq, &bresp, &broadcast_addr, DHCP_TYPE_OFFER);
- remove_wait_message();
-
- if (i != 0) {
- close(s);
- return RETURN_ERROR;
- }
-
- server_addr.sin_family = AF_INET;
- server_addr.sin_port = htons(BOOTP_SERVER_PORT); /* bootp server */
- if (get_vendor_code(&bresp, DHCP_OPTION_SERVER, &server_addr.sin_addr)) {
- close(s);
- log_message("DHCPOFFER didn't include server address");
- return RETURN_ERROR;
- }
-
- init_vendor_codes(&breq);
- messageType = DHCP_TYPE_REQUEST;
- add_vendor_code(&breq, DHCP_OPTION_TYPE, 1, &messageType);
- add_vendor_code(&breq, DHCP_OPTION_SERVER, 4, &server_addr.sin_addr);
- add_vendor_code(&breq, DHCP_OPTION_REQADDR, 4, &bresp.yiaddr);
-
- aShort = ntohs(sizeof(struct bootp_request));
- add_vendor_code(&breq, DHCP_OPTION_MAXSIZE, 2, &aShort);
-
- num_options = 0;
- requested_options[num_options++] = BOOTP_OPTION_NETMASK;
- requested_options[num_options++] = BOOTP_OPTION_GATEWAY;
- requested_options[num_options++] = BOOTP_OPTION_DNS;
- requested_options[num_options++] = BOOTP_OPTION_DOMAIN;
- requested_options[num_options++] = BOOTP_OPTION_BROADCAST;
- add_vendor_code(&breq, DHCP_OPTION_OPTIONREQ, num_options, requested_options);
-
- /* request a lease of 1 hour */
- i = htonl(60 * 60);
- add_vendor_code(&breq, DHCP_OPTION_LEASE, 4, &i);
-
- log_message("DHCP: sending REQUEST");
-
- i = handle_transaction(s, &breq, &bresp, &broadcast_addr, DHCP_TYPE_ACK);
-
- if (i != 0) {
- close(s);
- return RETURN_ERROR;
- }
-
- if (get_vendor_code(&bresp, DHCP_OPTION_LEASE, &lease)) {
- log_message("failed to get lease time\n");
- return RETURN_ERROR;
- }
- lease = ntohl(lease);
-
- close(s);
-
- intf->netmask.s_addr = 0;
- intf->broadcast.s_addr = 0;
- intf->network.s_addr = 0;
-
- parse_reply(&bresp, intf);
-
- return RETURN_OK;
-}
diff --git a/mdk-stage1/dhcp.h b/mdk-stage1/dhcp.h
deleted file mode 100644
index 6fb121ea4..000000000
--- a/mdk-stage1/dhcp.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * View the homepage: http://us.mandrakesoft.com/~gc/html/stage1.html
- *
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from GRUB -- GRand Unified Bootloader
- * Copyright (C) 2000 Free Software Foundation, Inc.
- *
- * Itself based on etherboot-4.6.4 by Martin Renters.
- *
- */
-
-#ifndef _DHCP_H_
-#define _DHCP_H_
-
-#include "stage1.h"
-#include "network.h"
-
-enum return_type perform_dhcp(struct interface_info * intf);
-
-#endif
diff --git a/mdk-stage1/dietlibc/.cvsignore b/mdk-stage1/dietlibc/.cvsignore
deleted file mode 100644
index 7c88cb004..000000000
--- a/mdk-stage1/dietlibc/.cvsignore
+++ /dev/null
@@ -1,12 +0,0 @@
-t
-elftrunc
-mapfile
-t1
-load
-compile
-bin-alpha
-bin-arm
-bin-i386
-bin-mips
-bin-ppc
-bin-sparc
diff --git a/mdk-stage1/dietlibc/AUTHOR b/mdk-stage1/dietlibc/AUTHOR
deleted file mode 100644
index 6d8ab1a05..000000000
--- a/mdk-stage1/dietlibc/AUTHOR
+++ /dev/null
@@ -1 +0,0 @@
-Felix von Leitner <felix-dietlibc@fefe.de>
diff --git a/mdk-stage1/dietlibc/Makefile b/mdk-stage1/dietlibc/Makefile
deleted file mode 100644
index 81ef7a2e6..000000000
--- a/mdk-stage1/dietlibc/Makefile
+++ /dev/null
@@ -1,148 +0,0 @@
-ARCH=$(shell uname -m | sed 's/i[4-9]86/i386/')
-
-OBJDIR=bin-$(ARCH)
-
-all: $(OBJDIR) $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a $(OBJDIR)/liblatin1.a $(OBJDIR)/librpc.a $(OBJDIR)/diet
-
-CFLAGS=-pipe
-CROSS=
-
-CC=gcc
-
-VPATH=lib:libstdio:libugly:libcruft:libcrypt:libshell:liblatin1:librpc:libregex:syscalls.c
-
-SYSCALLOBJ=$(patsubst syscalls.s/%.S,$(OBJDIR)/%.o,$(wildcard syscalls.s/*.S))
-
-LIBOBJ=$(patsubst lib/%.c,$(OBJDIR)/%.o,$(wildcard lib/*.c))
-LIBUGLYOBJ=$(patsubst libugly/%.c,$(OBJDIR)/%.o,$(wildcard libugly/*.c))
-LIBSTDIOOBJ=$(patsubst libstdio/%.c,$(OBJDIR)/%.o,$(wildcard libstdio/*.c))
-LIBCRUFTOBJ=$(patsubst libcruft/%.c,$(OBJDIR)/%.o,$(wildcard libcruft/*.c))
-LIBCRYPTOBJ=$(patsubst libcrypt/%.c,$(OBJDIR)/%.o,$(wildcard libcrypt/*.c))
-LIBSHELLOBJ=$(patsubst libshell/%.c,$(OBJDIR)/%.o,$(wildcard libshell/*.c))
-
-LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(wildcard librpc/*.c))
-LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(wildcard libregex/*.c))
-
-include $(ARCH)/Makefile.add
-
-ifeq ($(CFLAGS),-pipe)
-CFLAGS+=-O -fomit-frame-pointer
-endif
-
-ifneq ($(DEBUG),)
-CFLAGS = -g
-COMMENT = :
-endif
-CFLAGS += -Wall -Wno-switch
-
-PWD=$(shell pwd)
-
-.SUFFIXES:
-.SUFFIXES: .S .c
-
-$(OBJDIR):
- mkdir $@
-
-% :: %,v
-
-$(OBJDIR)/%.o: %.S
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/%.o: %.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
- $(COMMENT) $(CROSS)strip -x -R .comment -R .note $@
-
-DIETLIBC_OBJ = $(SYSCALLOBJ) $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \
-$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ) \
-$(OBJDIR)/__longjmp.o $(OBJDIR)/setjmp.o $(OBJDIR)/unified.o \
-$(OBJDIR)/mmap.o $(OBJDIR)/clone.o
-
-$(OBJDIR)/dietlibc.a: $(DIETLIBC_OBJ) $(OBJDIR)/start.o
- $(CROSS)ar cru $@ $(DIETLIBC_OBJ)
-
-$(OBJDIR)/librpc.a: $(LIBRPCOBJ)
- $(CROSS)ar cru $@ $(LIBRPCOBJ)
-
-LIBLATIN1_OBJS=$(patsubst liblatin1/%.c,$(OBJDIR)/%.o,$(wildcard liblatin1/*.c))
-$(OBJDIR)/liblatin1.a: $(LIBLATIN1_OBJS)
- $(CROSS)ar cru $@ $^
-
-$(OBJDIR)/libdietc.so: $(OBJDIR)/dietlibc.a
- $(CROSS)ld -whole-archive -shared -o $@ $^
-
-$(SYSCALLOBJ): syscalls.h
-
-$(OBJDIR)/diet: diet.c $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(PWD)\"
- $(CROSS)strip -R .comment -R .note $@
-
-$(OBJDIR)/djb: $(OBJDIR)/compile $(OBJDIR)/load
-
-$(OBJDIR)/compile:
- echo 'exec gcc $(CFLAGS) -I$(PWD)/$(OBJDIR)/include -c $${1+"$$@"}' > $@
- chmod 755 $@
-
-$(OBJDIR)/load:
- echo 'main="$$1"; shift; exec gcc -nostdlib -o "$$main" $(PWD)/$(OBJDIR)/start.o "$$main".o $${1+"$$@"} $(PWD)/$(OBJDIR)/dietlibc.a -lgcc' > $@
- chmod 755 $@
-
-clean:
- rm -f *.o *.a t t1 compile load exports mapfile libdietc.so
- rm -rf bin-*
-
-tar: clean
- rm -f armv4l
- ln -sf arm armv4l
- cd ..; tar cvvf dietlibc.tar.bz2 dietlibc --use=bzip2 --exclude CVS
-
-$(OBJDIR)/exports: $(OBJDIR)/dietlibc.a
- nm -g $(OBJDIR)/dietlibc.a | grep -w T | awk '{ print $$3 }' | sort -u > $(OBJDIR)/exports
-
-.PHONY: t t1
-t:
- $(CROSS)$(CC) -g $(CFLAGS) -fno-builtin -nostdlib -Iinclude -o t t.c $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a -lgcc -Wl,-Map,mapfile
-
-t1:
- $(CROSS)$(CC) -g -o t1 t.c
-
-install: $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a $(OBJDIR)/liblatin1.a $(OBJDIR)/diet
- cp $(OBJDIR)/start.o $(INSTALLPREFIX)$(prefix)/lib/dietstart.o
- cp $(OBJDIR)/dietlibc.a $(INSTALLPREFIX)$(prefix)/lib/libdietc.a
- cp $(OBJDIR)/liblatin1.a $(INSTALLPREFIX)$(prefix)/lib/libdietlatin1.a
- cp $(OBJDIR)/diet $(INSTALLPREFIX)$(prefix)/bin/diet
-
-.PHONY: sparc ppc mips arm alpha i386
-
-arm sparc ppc alpha i386:
- $(MAKE) ARCH=$@ CROSS=$@-linux- all t bin-$@/libdietc.so
-
-mips:
- $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all t bin-$@/libdietc.so
-
-cross:
- $(MAKE) arm sparc ppc alpha i386 mips
-
-
-# these depend on dietfeatures.h for large file backward compatibility
-$(OBJDIR)/__fstat64.o $(OBJDIR)/__lstat64.o $(OBJDIR)/__stat64.o: dietfeatures.h
-
-# these depend on dietfeatures.h for thread support
-$(OBJDIR)/alloc.o $(OBJDIR)/perror.o $(OBJDIR)/logging.o $(OBJDIR)/unified.o: dietfeatures.h
-
-# these depend on dietfeatures.h for linker warnings
-$(OBJDIR)/assert_fail.o $(OBJDIR)/sprintf.o $(OBJDIR)/vsnprintf.o $(OBJDIR)/___div.o $(OBJDIR)/fflush.o $(OBJDIR)/setvbuf.o $(OBJDIR)/system.o $(OBJDIR)/sendfile.o $(OBJDIR)/setenv.o: dietfeatures.h
-
-# these depend on dietfeatures.h for buffered stdio
-fclose.o $(OBJDIR)/fdglue.o $(OBJDIR)/fflush.o $(OBJDIR)/fgetc.o $(OBJDIR)/fputc.o $(OBJDIR)/fread.o $(OBJDIR)/fseek.o $(OBJDIR)/printf.o $(OBJDIR)/setvbuf.o $(OBJDIR)/stderr.o $(OBJDIR)/stdin.o $(OBJDIR)/stdout.o $(OBJDIR)/fwrite.o $(OBJDIR)/puts.o: dietfeatures.h
-
-# these depend on dietfeatures.h for fast string routines
-strcasecmp.o $(OBJDIR)/strcat.o $(OBJDIR)/strchr.o $(OBJDIR)/strcmp.o $(OBJDIR)/strcpy.o $(OBJDIR)/strlen.o $(OBJDIR)/strncasecmp.o $(OBJDIR)/strncat.o $(OBJDIR)/strrchr.o: dietfeatures.h
-
-# these depend on dietfeatures.h for /proc
-$(OBJDIR)/tty.o: dietfeatures.h
-
-# these depend on dietfeatures.h for ungetc support ;-)
-$(OBJDIR)/ungetc.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_TZFILE_PARSER
-$(OBJDIR)/localtime_r.o: dietfeatures.h
diff --git a/mdk-stage1/dietlibc/README b/mdk-stage1/dietlibc/README
deleted file mode 100644
index ce9838832..000000000
--- a/mdk-stage1/dietlibc/README
+++ /dev/null
@@ -1,43 +0,0 @@
-diet libc to statically link programs that don't need all the bloat
-from glibc.
-
-malloc, printf and scanf contributed from Olaf Dreesen.
-
-To compile:
-
- $ make
-
-make should compile the diet libc itself without warnings. In addition
-to the diet libc, the default make target includes t, which is a test
-program and probably contains code which produces warnings. You can
-safely ignore them.
-
-When make is done, it will have created dietlibc.a in bin-i386 (or
-bin-ppc, bin-alpha, bin-sparc, bin-ppc or bin-arm, depending on your
-architecture). In that directory you will also find a program called
-"diet", which you need to copy in a directory in your $PATH:
-
- # install bin-i386/diet /usr/local/bin
-
-Then you can compile programs by prepending diet to the command line,
-i.e.
-
- $ diet gcc -s -Os -pipe -o t t.c
-
-diet is cross-compiler friendly and can also be used like this:
-
- $ diet sparc-linux-gcc -o t t.c
-
-diet will then link against dietlibc.a from bin-sparc, of course.
-diet comes with a man page (diet.1), which you can copy to an
-appropriate location, too:
-
- # cp diet.1 /usr/local/man/man1
-
-After you compiled the diet libc successfully, I invite you to check out
-the embedded utils (http://www.fefe.de/embutils/) and the diet libc
-binary repository (ftp://foobar.math.fu-berlin.de/pub/dietlibc/), too.
-The embedded utils are small replacements for common utilities like mv,
-chown, ls, and even a small tar that can extract tar files. The binary
-repository contains a few utilities I linked against the diet libc, for
-example gzip, bzip2 and fdisk.
diff --git a/mdk-stage1/dietlibc/alpha/Makefile.add b/mdk-stage1/dietlibc/alpha/Makefile.add
deleted file mode 100644
index 10ff0faef..000000000
--- a/mdk-stage1/dietlibc/alpha/Makefile.add
+++ /dev/null
@@ -1,5 +0,0 @@
-
-CFLAGS+=-Os -Iinclude -fomit-frame-pointer -fstrict-aliasing
-VPATH:=alpha:syscalls.s:$(VPATH)
-
-LIBOBJ+=$(patsubst %,$(OBJDIR)/%,divq.o divl.o remq.o reml.o seteuid.o __time.o)
diff --git a/mdk-stage1/dietlibc/alpha/__longjmp.S b/mdk-stage1/dietlibc/alpha/__longjmp.S
deleted file mode 100644
index d86d76717..000000000
--- a/mdk-stage1/dietlibc/alpha/__longjmp.S
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifdef __alpha__
-
-#include <setjmp.h>
-
-.text
-.align 2
-
-.global __longjmp
-__longjmp:
- mov $17, $0 /* a1 -> v0 */
-
- ldq $9, (JB_S0*8) ($16) /* s0 */
- ldq $10, (JB_S1*8) ($16) /* s1 */
- ldq $11, (JB_S2*8) ($16) /* s2 */
- ldq $12, (JB_S3*8) ($16) /* s3 */
- ldq $13, (JB_S4*8) ($16) /* s4 */
- ldq $14, (JB_S5*8) ($16) /* s5 */
-
- ldq $26, (JB_PC*8) ($16) /* ra */
- ldq $fp, (JB_FP*8) ($16) /* fp */
- ldq $1, (JB_SP*8) ($16) /* sp */
-
- ldt $f2, (JB_F2*8) ($16) /* f2 */
- ldt $f3, (JB_F3*8) ($16) /* f3 */
- ldt $f4, (JB_F4*8) ($16) /* f4 */
- ldt $f5, (JB_F5*8) ($16) /* f5 */
- ldt $f6, (JB_F6*8) ($16) /* f6 */
- ldt $f7, (JB_F7*8) ($16) /* f7 */
- ldt $f8, (JB_F8*8) ($16) /* f8 */
- ldt $f9, (JB_F9*8) ($16) /* f9 */
-
- cmoveq $0, 0x1, $0
- mov $1, $sp
-
- ret $31, ($26), 1
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/alpha/__time.c b/mdk-stage1/dietlibc/alpha/__time.c
deleted file mode 100644
index 07275e0e3..000000000
--- a/mdk-stage1/dietlibc/alpha/__time.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <time.h>
-#include <sys/time.h>
-
-time_t time(time_t *foo) {
- struct timeval tv;
- time_t tmp=(time_t)-1;
- if (gettimeofday(&tv,0)==0)
- tmp=(time_t)tv.tv_sec;
- if (foo) *foo=tmp;
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/alpha/accept.S b/mdk-stage1/dietlibc/alpha/accept.S
deleted file mode 100644
index 459c45d7a..000000000
--- a/mdk-stage1/dietlibc/alpha/accept.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(accept,accept,__libc_accept)
diff --git a/mdk-stage1/dietlibc/alpha/bind.S b/mdk-stage1/dietlibc/alpha/bind.S
deleted file mode 100644
index 86a04cb70..000000000
--- a/mdk-stage1/dietlibc/alpha/bind.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(bind,bind)
diff --git a/mdk-stage1/dietlibc/alpha/clone.S b/mdk-stage1/dietlibc/alpha/clone.S
deleted file mode 100644
index b7e32d707..000000000
--- a/mdk-stage1/dietlibc/alpha/clone.S
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "syscalls.h"
-#include <asm/errno.h>
-
-.text
-.align 2
-.weak clone
-clone:
-.global __clone
-.type __clone,@function
-__clone:
- ldiq $0, EINVAL
- beq $16, .Lerror
- beq $17, .Lerror
-
- subq $17, 16, $17
- stq $16, 0($17)
- stq $19, 8($17)
- mov $18, $16
-
- lda $0, __NR_clone($31)
- callsys
- bne $19, .Lerror
-
- beq $0, .Lstart_thread
-
- ret $31, ($26), 0x01
-
-.Lerror:
- jmp error_unified_syscall
-
-.Lstart_thread:
- clr $fp
-
- ldq $27, 0($sp)
- ldq $16, 8($sp)
-
- jsr $26, ($27), 0x04
-
- ldgp $gp, 0($26)
- mov $0, $16
- jsr $26, exit
-
diff --git a/mdk-stage1/dietlibc/alpha/connect.S b/mdk-stage1/dietlibc/alpha/connect.S
deleted file mode 100644
index c191ca808..000000000
--- a/mdk-stage1/dietlibc/alpha/connect.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(connect,connect,__libc_connect)
diff --git a/mdk-stage1/dietlibc/alpha/divl.S b/mdk-stage1/dietlibc/alpha/divl.S
deleted file mode 100644
index 3af22a5e8..000000000
--- a/mdk-stage1/dietlibc/alpha/divl.S
+++ /dev/null
@@ -1,101 +0,0 @@
-/* taken from glibc 2.2 */
-
- .set noreorder
- .set noat
-
- .ent __divlu
- .globl __divlu
-
- .align 3
-__divlu :
- lda $30 , - 48 ($30 )
- .frame $30 , 48 , $23 , 0
- .prologue 0
-.Ludiv:
- stq $1 , 0($30 )
- zapnot $25 ,15, $1
- stq $2 , 8($30 )
- zapnot $24 ,15, $2
- stq $0 , 16($30 )
- clr $27
- stq $3 , 24($30 )
- ldiq $0 , 1
- stq $4 ,32($30 )
- beq $1 , .Ldivbyzero
-
- .align 3
-
-
-1: cmpult $1 , $2 , $at
- s8addq $1 , $31 , $1
- s8addq $0 , $31 , $0
- bne $at , 1b
-
-
-
-3: addq $27 ,$0 , $4
- srl $0 , 1, $0
- cmpule $1 , $2 , $at
- subq $2 , $1 , $3
- cmovne $at ,$4 , $27
- srl $1 , 1, $1
- cmovne $at , $3 , $2
- bne $0 , 3b
-
-.Ldone: ldq $1 , 0($30 )
- ldq $2 , 8($30 )
- ldq $0 , 16($30 )
- ldq $3 , 24($30 )
- ldq $4 ,32($30 )
- lda $30 , 48 ($30 )
- ret $31 , ($23 ), 1
-
-.Ldivbyzero:
- mov $16 , $3
- ldiq $16 , -2
- call_pal 170
- mov $3 , $16
- clr $27
- br .Ldone
-
- .end __divlu
-
- .ent __divl
- .globl __divl
-
- .align 3
-__divl :
- lda $30 , - 48 ($30 )
- .frame $30 , 48 , $23 , 0
- .prologue 0
- or $24 , $25 , $at
- sextl $at , $at
- bge $at , .Ludiv
-
-
- stq $24 , 0($30 )
- negl $24 , $at
- stq $25 , 8($30 )
- cmovge $at , $at , $24
- stq $23 , 16($30 )
- negl $25 , $at
- stq $3 , 24($30 )
- cmovge $at , $at , $25
-
-
- bsr $23 , __divlu
-
-
- ldq $24 , 0($30 )
- ldq $25 , 8($30 )
- xor $24 , $25 , $at
- negl $27 , $3
- sextl $at , $at
- ldq $23 , 16($30 )
- cmovlt $at , $3 , $27
- ldq $3 , 24($30 )
-
- lda $30 , 48 ($30 )
- ret $31 , ($23 ), 1
-
- .end __divl
diff --git a/mdk-stage1/dietlibc/alpha/divq.S b/mdk-stage1/dietlibc/alpha/divq.S
deleted file mode 100644
index cf70862c4..000000000
--- a/mdk-stage1/dietlibc/alpha/divq.S
+++ /dev/null
@@ -1,102 +0,0 @@
-/* taken from glibc 2.2 */
-
- .set noreorder
- .set noat
-
- .ent __divqu
- .globl __divqu
-
- .align 3
-__divqu :
- lda $30 , - 48 ($30 )
- .frame $30 , 48 , $23 , 0
- .prologue 0
-$udiv:
- stq $1 , 0($30 )
- mov $25 , $1
- stq $2 , 8($30 )
- mov $24 , $2
- stq $0 , 16($30 )
- clr $27
- stq $3 , 24($30 )
- ldiq $0 , 1
- stq $4 ,32($30 )
- beq $1 , $divbyzero
-
- .align 3
-
-
-1: cmpult $1 , $2 , $at
- blt $1 , 2f
- addq $1 , $1 , $1
- addq $0 , $0 , $0
- bne $at , 1b
- unop
-2:
-3: addq $27 ,$0 , $4
- srl $0 , 1, $0
- cmpule $1 , $2 , $at
- subq $2 , $1 , $3
- cmovne $at ,$4 , $27
- srl $1 , 1, $1
- cmovne $at , $3 , $2
- bne $0 , 3b
-
-$done: ldq $1 , 0($30 )
- ldq $2 , 8($30 )
- ldq $0 , 16($30 )
- ldq $3 , 24($30 )
- ldq $4 ,32($30 )
- lda $30 , 48 ($30 )
- ret $31 , ($23 ), 1
-
-$divbyzero:
- mov $16 , $3
- ldiq $16 , -2
- call_pal 170
- mov $3 , $16
- clr $27
- br $done
-
- .end __divqu
-
- .ent __divq
- .globl __divq
-
- .align 3
-__divq :
- lda $30 , - 48 ($30 )
- .frame $30 , 48 , $23 , 0
- .prologue 0
- or $24 , $25 , $at
-
- bge $at , $udiv
-
-
- stq $24 , 0($30 )
- negq $24 , $at
- stq $25 , 8($30 )
- cmovge $at , $at , $24
- stq $23 , 16($30 )
- negq $25 , $at
- stq $3 , 24($30 )
- cmovge $at , $at , $25
-
-
- bsr $23 , __divqu
-
-
- ldq $24 , 0($30 )
- ldq $25 , 8($30 )
- xor $24 , $25 , $at
- negq $27 , $3
-
- ldq $23 , 16($30 )
- cmovlt $at , $3 , $27
- ldq $3 , 24($30 )
-
- lda $30 , 48 ($30 )
- ret $31 , ($23 ), 1
-
- .end __divq
-
diff --git a/mdk-stage1/dietlibc/alpha/getegid.S b/mdk-stage1/dietlibc/alpha/getegid.S
deleted file mode 100644
index 89c35d45e..000000000
--- a/mdk-stage1/dietlibc/alpha/getegid.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.align 2
-.global getegid
-getegid:
- lda $sp,-8($sp)
- stq $26, 0($sp)
- jsr getgid
- ldq $26, 0($sp)
- lda $sp, 8($sp)
- cmovge $0, $20, $0
- ret
diff --git a/mdk-stage1/dietlibc/alpha/geteuid.S b/mdk-stage1/dietlibc/alpha/geteuid.S
deleted file mode 100644
index 087ca7348..000000000
--- a/mdk-stage1/dietlibc/alpha/geteuid.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.align 2
-.global geteuid
-geteuid:
- lda $sp,-8($sp)
- stq $26, 0($sp)
- jsr getuid
- ldq $26, 0($sp)
- lda $sp, 8($sp)
- cmovge $0, $20, $0
- ret
diff --git a/mdk-stage1/dietlibc/alpha/getgid.S b/mdk-stage1/dietlibc/alpha/getgid.S
deleted file mode 100644
index 7350082f3..000000000
--- a/mdk-stage1/dietlibc/alpha/getgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getxgid,getgid)
diff --git a/mdk-stage1/dietlibc/alpha/getpeername.S b/mdk-stage1/dietlibc/alpha/getpeername.S
deleted file mode 100644
index 3b3f48b1a..000000000
--- a/mdk-stage1/dietlibc/alpha/getpeername.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpeername,getpeername)
diff --git a/mdk-stage1/dietlibc/alpha/getpid.S b/mdk-stage1/dietlibc/alpha/getpid.S
deleted file mode 100644
index d8b3523b2..000000000
--- a/mdk-stage1/dietlibc/alpha/getpid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getxpid,getpid)
diff --git a/mdk-stage1/dietlibc/alpha/getppid.S b/mdk-stage1/dietlibc/alpha/getppid.S
deleted file mode 100644
index e181268c3..000000000
--- a/mdk-stage1/dietlibc/alpha/getppid.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.align 2
-.global getppid
-getppid:
- lda $sp,-8($sp)
- stq $26, 0($sp)
- jsr getpid
- ldq $26, 0($sp)
- lda $sp, 8($sp)
- cmovge $0, $20, $0
- ret
diff --git a/mdk-stage1/dietlibc/alpha/getsockname.S b/mdk-stage1/dietlibc/alpha/getsockname.S
deleted file mode 100644
index 2727d88da..000000000
--- a/mdk-stage1/dietlibc/alpha/getsockname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockname,getsockname)
diff --git a/mdk-stage1/dietlibc/alpha/getsockopt.S b/mdk-stage1/dietlibc/alpha/getsockopt.S
deleted file mode 100644
index 44b4a910a..000000000
--- a/mdk-stage1/dietlibc/alpha/getsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockopt,getsockopt)
diff --git a/mdk-stage1/dietlibc/alpha/getuid.S b/mdk-stage1/dietlibc/alpha/getuid.S
deleted file mode 100644
index fcb5570c2..000000000
--- a/mdk-stage1/dietlibc/alpha/getuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getxuid,getuid)
diff --git a/mdk-stage1/dietlibc/alpha/listen.S b/mdk-stage1/dietlibc/alpha/listen.S
deleted file mode 100644
index 1102831d4..000000000
--- a/mdk-stage1/dietlibc/alpha/listen.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(listen,listen)
diff --git a/mdk-stage1/dietlibc/alpha/mmap.S b/mdk-stage1/dietlibc/alpha/mmap.S
deleted file mode 100644
index 2e57fbb74..000000000
--- a/mdk-stage1/dietlibc/alpha/mmap.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mmap,mmap)
diff --git a/mdk-stage1/dietlibc/alpha/msgctl.S b/mdk-stage1/dietlibc/alpha/msgctl.S
deleted file mode 100644
index d7caed2cc..000000000
--- a/mdk-stage1/dietlibc/alpha/msgctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgctl,msgctl)
diff --git a/mdk-stage1/dietlibc/alpha/msgget.S b/mdk-stage1/dietlibc/alpha/msgget.S
deleted file mode 100644
index 518d67ac4..000000000
--- a/mdk-stage1/dietlibc/alpha/msgget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgget,msgget)
diff --git a/mdk-stage1/dietlibc/alpha/msgrcv.S b/mdk-stage1/dietlibc/alpha/msgrcv.S
deleted file mode 100644
index ab62e6c30..000000000
--- a/mdk-stage1/dietlibc/alpha/msgrcv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgrcv,msgrcv)
diff --git a/mdk-stage1/dietlibc/alpha/msgsnd.S b/mdk-stage1/dietlibc/alpha/msgsnd.S
deleted file mode 100644
index 890a996a2..000000000
--- a/mdk-stage1/dietlibc/alpha/msgsnd.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgsnd,msgsnd)
diff --git a/mdk-stage1/dietlibc/alpha/pipe.S b/mdk-stage1/dietlibc/alpha/pipe.S
deleted file mode 100644
index 3dfef10bf..000000000
--- a/mdk-stage1/dietlibc/alpha/pipe.S
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "syscalls.h"
-
-.text
-.align 2
-.global pipe
-.type pipe,@function
-pipe:
- lda $0, __NR_pipe($31)
- callsys
- bne $19, .Lerror
- stl $0, 0($16)
- stl $20, 4($16)
- clr $0
- ret $31, ($26), 0x01
-.Lerror:
- br error_unified_syscall
-
diff --git a/mdk-stage1/dietlibc/alpha/recv.S b/mdk-stage1/dietlibc/alpha/recv.S
deleted file mode 100644
index 17664f2e2..000000000
--- a/mdk-stage1/dietlibc/alpha/recv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(recv,recv,__libc_recv)
diff --git a/mdk-stage1/dietlibc/alpha/recvfrom.S b/mdk-stage1/dietlibc/alpha/recvfrom.S
deleted file mode 100644
index d8e3922af..000000000
--- a/mdk-stage1/dietlibc/alpha/recvfrom.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(recvfrom,recvfrom,__libc_recvfrom)
diff --git a/mdk-stage1/dietlibc/alpha/recvmsg.S b/mdk-stage1/dietlibc/alpha/recvmsg.S
deleted file mode 100644
index 6ce87eebb..000000000
--- a/mdk-stage1/dietlibc/alpha/recvmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvmsg,recvmsg)
diff --git a/mdk-stage1/dietlibc/alpha/reml.S b/mdk-stage1/dietlibc/alpha/reml.S
deleted file mode 100644
index 2d89e3280..000000000
--- a/mdk-stage1/dietlibc/alpha/reml.S
+++ /dev/null
@@ -1,101 +0,0 @@
-/* taken from glibc 2.2 */
-
- .set noreorder
- .set noat
-
- .ent __remlu
- .globl __remlu
-
- .align 3
-__remlu :
- lda $30 , -32($30)
- .frame $30 , 32 , $23 , 0
- .prologue 0
-.Ludiv:
- stq $1 , 0($30)
- zapnot $25 , 15 , $1
- stq $2 , 8($30)
- zapnot $24 , 15 , $27
- stq $0 , 16($30)
- clr $2
- stq $3 , 24($30)
- ldiq $0 , 1
-
- beq $1 , .Ldivbyzero
-
- .align 3
-
-
-1: cmpult $1 , $27 , $at
- s8addq $1 , $31 , $1
- s8addq $0 , $31 , $0
- bne $at , 1b
-
-
-
-3:
- srl $0 , 1 , $0
- cmpule $1 , $27 , $at
- subq $27 , $1 , $3
-
- srl $1 , 1 , $1
- cmovne $at , $3 , $27
- bne $0 , 3b
-
-.Ldone: ldq $1 , 0($30)
- ldq $2 , 8($30)
- ldq $0 , 16($30)
- ldq $3 , 24($30)
-
- lda $30 , 32($30)
- ret $31 , ($23), 1
-
-.Ldivbyzero:
- mov $16 , $3
- ldiq $16 , -2
- call_pal 170
- mov $3 , $16
- clr $27
- br .Ldone
-
- .end __remlu
-
- .ent __reml
- .globl __reml
-
- .align 3
-__reml :
- lda $30 , - 32 ($30 )
- .frame $30 , 32 , $23 , 0
- .prologue 0
- or $24 , $25 , $at
- sextl $at , $at
- bge $at , .Ludiv
-
-
- stq $24 , 0($30 )
- negl $24 , $at
- stq $25 , 8($30 )
- cmovge $at , $at , $24
- stq $23 , 16($30 )
- negl $25 , $at
- stq $3 , 24($30 )
- cmovge $at , $at , $25
-
-
- bsr $23 , __remlu
-
-
- ldq $24 , 0($30 )
- ldq $25 , 8($30 )
- mov $24 , $at
- negl $27 , $3
- sextl $at , $at
- ldq $23 , 16($30 )
- cmovlt $at , $3 , $27
- ldq $3 , 24($30 )
-
- lda $30 , 32 ($30 )
- ret $31 , ($23 ), 1
-
- .end __reml
diff --git a/mdk-stage1/dietlibc/alpha/remq.S b/mdk-stage1/dietlibc/alpha/remq.S
deleted file mode 100644
index 713484da3..000000000
--- a/mdk-stage1/dietlibc/alpha/remq.S
+++ /dev/null
@@ -1,97 +0,0 @@
-/* taken from glibc 2.2 */
-
- .set noreorder
- .set noat
-
- .ent __remqu
- .globl __remqu
-
- .align 3
-__remqu :
- lda $30 , - 32 ($30 )
- .frame $30 , 32 , $23 , 0
- .prologue 0
-.Ludiv:
- stq $1 , 0($30 )
- mov $25 , $1
- stq $2 , 8($30 )
- mov $24 , $27
- stq $0 , 16($30 )
- clr $2
- stq $3 , 24($30 )
- ldiq $0 , 1
-
- beq $1 , .Ldivbyzero
-
- .align 3
-
-1: cmpult $1 , $27 , $at
- blt $1 , 2f
- addq $1 , $1 , $1
- addq $0 , $0 , $0
- bne $at , 1b
- unop
-2:
-3:
- srl $0 , 1, $0
- cmpule $1 , $27 , $at
- subq $27 , $1 , $3
-
- srl $1 , 1, $1
- cmovne $at , $3 , $27
- bne $0 , 3b
-
-.Ldone: ldq $1 , 0($30 )
- ldq $2 , 8($30 )
- ldq $0 , 16($30 )
- ldq $3 , 24($30 )
-
- lda $30 , 32 ($30 )
- ret $31 , ($23 ), 1
-
-.Ldivbyzero:
- mov $16 , $3
- ldiq $16 , -2
- call_pal 170
- mov $3 , $16
- clr $27
- br .Ldone
-
- .end __remqu
-
- .ent __remq
- .globl __remq
-
- .align 3
-__remq :
- lda $30 , - 32 ($30 )
- .frame $30 , 32 , $23 , 0
- .prologue 0
- or $24 , $25 , $at
-
- bge $at , .Ludiv
-
- stq $24 , 0($30 )
- negq $24 , $at
- stq $25 , 8($30 )
- cmovge $at , $at , $24
- stq $23 , 16($30 )
- negq $25 , $at
- stq $3 , 24($30 )
- cmovge $at , $at , $25
-
- bsr $23 , __remqu
-
- ldq $24 , 0($30 )
- ldq $25 , 8($30 )
- mov $24 , $at
- negq $27 , $3
-
- ldq $23 , 16($30 )
- cmovlt $at , $3 , $27
- ldq $3 , 24($30 )
-
- lda $30 , 32 ($30 )
- ret $31 , ($23 ), 1
-
- .end __remq
diff --git a/mdk-stage1/dietlibc/alpha/semctl.S b/mdk-stage1/dietlibc/alpha/semctl.S
deleted file mode 100644
index e215ed955..000000000
--- a/mdk-stage1/dietlibc/alpha/semctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semctl,semctl)
diff --git a/mdk-stage1/dietlibc/alpha/semget.S b/mdk-stage1/dietlibc/alpha/semget.S
deleted file mode 100644
index 67f488546..000000000
--- a/mdk-stage1/dietlibc/alpha/semget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semget,semget)
diff --git a/mdk-stage1/dietlibc/alpha/semop.S b/mdk-stage1/dietlibc/alpha/semop.S
deleted file mode 100644
index 81b6fc606..000000000
--- a/mdk-stage1/dietlibc/alpha/semop.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semop,semop)
diff --git a/mdk-stage1/dietlibc/alpha/send.S b/mdk-stage1/dietlibc/alpha/send.S
deleted file mode 100644
index cfd11be2a..000000000
--- a/mdk-stage1/dietlibc/alpha/send.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(send,send,__libc_send)
diff --git a/mdk-stage1/dietlibc/alpha/sendmsg.S b/mdk-stage1/dietlibc/alpha/sendmsg.S
deleted file mode 100644
index 14646ad68..000000000
--- a/mdk-stage1/dietlibc/alpha/sendmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendmsg,sendmsg)
diff --git a/mdk-stage1/dietlibc/alpha/sendto.S b/mdk-stage1/dietlibc/alpha/sendto.S
deleted file mode 100644
index 17a033011..000000000
--- a/mdk-stage1/dietlibc/alpha/sendto.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sendto,sendto,__libc_sendto)
diff --git a/mdk-stage1/dietlibc/alpha/seteuid.c b/mdk-stage1/dietlibc/alpha/seteuid.c
deleted file mode 100644
index a7cf47893..000000000
--- a/mdk-stage1/dietlibc/alpha/seteuid.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-
-#undef seteuid
-int seteuid(uid_t euid) {
- return setreuid(-1,euid);
-}
diff --git a/mdk-stage1/dietlibc/alpha/setjmp.S b/mdk-stage1/dietlibc/alpha/setjmp.S
deleted file mode 100644
index 3768056be..000000000
--- a/mdk-stage1/dietlibc/alpha/setjmp.S
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <setjmp.h>
-
-.text
-.global __sigsetjmp
-__sigsetjmp:
- ldgp $gp, 0($gp)
-
- mov $sp, $1
- lda $sp, -16($sp)
-
- stq $26, 0($sp) /* save ra */
-
- stq $9, (JB_S0*8) ($16) /* s0 */
- stq $10, (JB_S1*8) ($16) /* s1 */
- stq $11, (JB_S2*8) ($16) /* s2 */
- stq $12, (JB_S3*8) ($16) /* s3 */
- stq $13, (JB_S4*8) ($16) /* s4 */
- stq $14, (JB_S5*8) ($16) /* s5 */
-
- stq $26, (JB_PC*8) ($16) /* ra */
- stq $fp, (JB_FP*8) ($16) /* fp */
- stq $1, (JB_SP*8) ($16) /* sp */
-
- stt $f2, (JB_F2*8) ($16) /* f2 */
- stt $f3, (JB_F3*8) ($16) /* f3 */
- stt $f4, (JB_F4*8) ($16) /* f4 */
- stt $f5, (JB_F5*8) ($16) /* f5 */
- stt $f6, (JB_F6*8) ($16) /* f6 */
- stt $f7, (JB_F7*8) ($16) /* f7 */
- stt $f8, (JB_F8*8) ($16) /* f8 */
- stt $f9, (JB_F9*8) ($16) /* f9 */
-
- br $26, __sigjmp_save /* call __sigjmp_save */
-
- ldq $26, 0($sp) /* restore ra */
-
- lda $sp, 16($sp)
- ret $31, ($26), 1 /* back to caller */
-
-.weak setjmp
-setjmp:
-.weak __setjmp
-__setjmp:
- ldgp $gp, 0($gp)
- mov 0, $17
- br __sigsetjmp
diff --git a/mdk-stage1/dietlibc/alpha/setsockopt.S b/mdk-stage1/dietlibc/alpha/setsockopt.S
deleted file mode 100644
index e3fe1d321..000000000
--- a/mdk-stage1/dietlibc/alpha/setsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setsockopt,setsockopt)
diff --git a/mdk-stage1/dietlibc/alpha/shmat.S b/mdk-stage1/dietlibc/alpha/shmat.S
deleted file mode 100644
index 51248173d..000000000
--- a/mdk-stage1/dietlibc/alpha/shmat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmat,shmat)
diff --git a/mdk-stage1/dietlibc/alpha/shmctl.S b/mdk-stage1/dietlibc/alpha/shmctl.S
deleted file mode 100644
index d56caace4..000000000
--- a/mdk-stage1/dietlibc/alpha/shmctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmctl,shmctl)
diff --git a/mdk-stage1/dietlibc/alpha/shmdt.S b/mdk-stage1/dietlibc/alpha/shmdt.S
deleted file mode 100644
index d9812a799..000000000
--- a/mdk-stage1/dietlibc/alpha/shmdt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmdt,shmdt)
diff --git a/mdk-stage1/dietlibc/alpha/shmget.S b/mdk-stage1/dietlibc/alpha/shmget.S
deleted file mode 100644
index 82914223f..000000000
--- a/mdk-stage1/dietlibc/alpha/shmget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmget,shmget)
diff --git a/mdk-stage1/dietlibc/alpha/shutdown.S b/mdk-stage1/dietlibc/alpha/shutdown.S
deleted file mode 100644
index 9b5139325..000000000
--- a/mdk-stage1/dietlibc/alpha/shutdown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shutdown,shutdown)
diff --git a/mdk-stage1/dietlibc/alpha/signal.S b/mdk-stage1/dietlibc/alpha/signal.S
deleted file mode 100644
index ceca0f02d..000000000
--- a/mdk-stage1/dietlibc/alpha/signal.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(osf_signal,signal)
diff --git a/mdk-stage1/dietlibc/alpha/sigprocmask.S b/mdk-stage1/dietlibc/alpha/sigprocmask.S
deleted file mode 100644
index d9da836c2..000000000
--- a/mdk-stage1/dietlibc/alpha/sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(osf_sigprocmask,sigprocmask,__sigprocmask)
diff --git a/mdk-stage1/dietlibc/alpha/socket.S b/mdk-stage1/dietlibc/alpha/socket.S
deleted file mode 100644
index 85401f56e..000000000
--- a/mdk-stage1/dietlibc/alpha/socket.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socket,socket)
diff --git a/mdk-stage1/dietlibc/alpha/socketcall.S b/mdk-stage1/dietlibc/alpha/socketcall.S
deleted file mode 100644
index b150bd5d5..000000000
--- a/mdk-stage1/dietlibc/alpha/socketcall.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-/*
- * Doesn't exist on alpha ( accept, bind, ... are SYSCALLS !?! )
- */
diff --git a/mdk-stage1/dietlibc/alpha/start.S b/mdk-stage1/dietlibc/alpha/start.S
deleted file mode 100644
index 00b8e950d..000000000
--- a/mdk-stage1/dietlibc/alpha/start.S
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "start.h"
-
-#ifdef __alpha__
-
-.text
-.align 2
- .set noreorder
-
-.global __start
-__start:
-.global _start
-_start:
- clr $fp /* clear frame pointer */
-
- br $gp,.Lstart /* set global pointer */
-.Lstart:
- ldgp $gp, 0($gp)
-
-/* prepare to call main */
- ldl $16, 0($sp) /* argc */
-
- lda $17, 8($sp) /* argv */
-
- addq $16, 1, $18 /* argp */
- s8addq $18, $17, $18 /* (8*(argc+1))+argv -> argp */
-
- stq $18, environ
-
- mov $0, $21 /* mov v0(dynload) to a5 */
-
- jsr $26, main
- mov $0, $16
- jsr $26, exit /* YES, CALL! for threads and atexit ! (+4 byte) */
-
-#endif
diff --git a/mdk-stage1/dietlibc/alpha/strlen.c b/mdk-stage1/dietlibc/alpha/strlen.c
deleted file mode 100644
index ac532254a..000000000
--- a/mdk-stage1/dietlibc/alpha/strlen.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <string.h>
-
-static const unsigned long long magic = 0x0101010101010101LL;
-
-size_t strlen(const char *s)
-{
- const char *t = s;
- unsigned long long word;
-
- if (!s) return 0;
-
- /* Byte compare up until 64 bit word boundary */
- for (; ((unsigned long long) t & 7); t++)
- if (!*t) return t - s;
-
- /* Word compare */
- do {
- word = *((unsigned long long *) t); t += 8;
- word = (word - magic) &~ word;
- word &= (magic << 7);
- } while (word == 0);
-
- /* word & 0x8080808080808080 == word */
- word = (word - 1) & (magic << 8);
- word += (word << 32);
- word += (word << 16);
- word += (word << 8);
- t += word >> 56;
- return ((const char *) t) - 8 - s;
-}
-
-
diff --git a/mdk-stage1/dietlibc/alpha/time.S b/mdk-stage1/dietlibc/alpha/time.S
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/alpha/time.S
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/alpha/unified.S b/mdk-stage1/dietlibc/alpha/unified.S
deleted file mode 100644
index 02a1c9bcd..000000000
--- a/mdk-stage1/dietlibc/alpha/unified.S
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <dietfeatures.h>
-
-.global __unified_syscall
-__unified_syscall:
- callsys
- bne $19, .Lerror
- ret $31, ($26), 0x01
-
-.Lerror:
-.global error_unified_syscall
-error_unified_syscall:
-#ifdef WANT_THREAD_SAVE
- lda $sp, -16($sp) /* alloc 2 qwords on stack */
- stq $26, 0($sp) /* save ra to stack */
- stq $0, 8($sp) /* save v0 to stack */
-
- jsr $26, __errno_location /* call __errno_location */
-
- ldq $1, 8($sp) /* write old v0 to errno */
- stl $1, 0($0)
-
- lda $0, -1($31) /* new return value is -1 */
- ldq $26, 0($sp) /* restore return address */
- lda $sp, 16($sp) /* free 2 qwords on stack */
-#else
- lda $1, errno
- stl $0, 0($1)
-#endif
- ret $31, ($26), 0x01 /* return */
diff --git a/mdk-stage1/dietlibc/alpha/utime.S b/mdk-stage1/dietlibc/alpha/utime.S
deleted file mode 100644
index a9a8aada6..000000000
--- a/mdk-stage1/dietlibc/alpha/utime.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(utimes,utime)
diff --git a/mdk-stage1/dietlibc/alpha/waitpid.S b/mdk-stage1/dietlibc/alpha/waitpid.S
deleted file mode 100644
index 6dc1c99db..000000000
--- a/mdk-stage1/dietlibc/alpha/waitpid.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <syscalls.h>
-
-.text
-.align 2
-.weak waitpid
-waitpid:
-.global __libc_waitpid
-__libc_waitpid:
- clr $19
- br wait4
diff --git a/mdk-stage1/dietlibc/diet.c b/mdk-stage1/dietlibc/diet.c
deleted file mode 100644
index 1de6befc8..000000000
--- a/mdk-stage1/dietlibc/diet.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* goal:
- * when invoked as
- * "diet gcc -c t.c"
- * exec
- * "gcc -I/path/to/dietlibc/include -c t.c"
- *
- * when invoked as
- * "diet sparc-linux-gcc -o t t.o"
- * exec
- * "sparc-linux-gcc -nostdlib -static -o t t.o /path/to/dietlibc/bin-sparc/start.o /path/to/dietlibc/bin-sparc/dietlibc.a"
-*/
-
-void error(const char *message) {
- write(2,message,strlen(message));
- exit(1);
-}
-
-int main(int argc,char *argv[]) {
- int link=0;
- int compile=0;
- char diethome[]=DIETHOME;
- char platform[1000]=DIETHOME "/bin-";
- char *nostdlib="-nostdlib";
- char *libgcc="-lgcc";
- char dashL[1000]="-L";
- int i;
-
- if (argc<2) {
- error("usage: diet [gcc command line]\n"
- "e.g. diet gcc -c t.c\n"
- "or diet sparc-linux-gcc -o foo foo.c bar.o\n");
- }
- {
- char *tmp=strchr(argv[1],0)-2;
- char *tmp2;
- char *cc=argv[1];
- if (tmp<cc) goto donttouch;
- if ((tmp2=strchr(cc,'-'))) { /* cross compiling? */
- int len=strlen(platform);
- if (tmp2-cc>90) error("platform name too long!\n");
- memmove(platform+len,argv[1],tmp2-cc);
- platform[tmp2-cc+len]=0;
-/* printf("found platform %s\n",platform); */
- } else {
-#ifdef __sparc__
- strcat(platform,"sparc");
-#endif
-#ifdef __ppc__
- strcat(platform,"ppc");
-#endif
-#ifdef __i386__
- strcat(platform,"i386");
-#endif
-#ifdef __alpha__
- strcat(platform,"alpha");
-#endif
-#ifdef __arm__
- strcat(platform,"arm");
-#endif
-#ifdef __mips__
- strcat(platform,"mips");
-#endif
- }
- strcat(dashL,platform);
- if (!strcmp(tmp,"cc")) {
- char **newargv;
- char **dest;
- char *a,*b,*c;
-/* we need to add -I... if the command line contains -c, -S or -E */
- for (i=2; i<argc; ++i)
- if (!strcmp(argv[i],"-c") || !strcmp(argv[i],"-S") || !strcmp(argv[i],"-E"))
- compile=1;
-/* we need to add -nostdlib if we are not compiling*/
- link=!compile;
-#if 0
- for (i=2; i<argc; ++i)
- if (!strcmp(argv[i],"-o"))
- if (!compile) link=1;
-#endif
- newargv=alloca(sizeof(char*)*(argc+6));
- a=alloca(strlen(diethome)+20);
- b=alloca(strlen(platform)+20);
- c=alloca(strlen(platform)+20);
-
- strcpy(a,"-I"); strcat(a,diethome); strcat(a,"/include");
- strcpy(b,platform); strcat(b,"/start.o");
- strcpy(c,platform); strcat(c,"/dietlibc.a");
-
- dest=newargv;
- *dest++=argv[1];
- if (link) { *dest++=nostdlib; *dest++=dashL; }
- if (compile || link) *dest++=a;
- for (i=2; i<argc; ++i)
- *dest++=argv[i];
- if (link) { *dest++=b; *dest++=c; *dest++=libgcc; }
- *dest=0;
- execvp(newargv[0],newargv);
- goto error;
- } else if (!strcmp(tmp,"ld")) {
- }
- }
-donttouch:
- execvp(argv[1],argv+1);
-error:
- error("execvp failed!\n");
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/dietdirent.h b/mdk-stage1/dietlibc/dietdirent.h
deleted file mode 100644
index d732cf7dc..000000000
--- a/mdk-stage1/dietlibc/dietdirent.h
+++ /dev/null
@@ -1,6 +0,0 @@
-struct __dirstream {
- int fd;
- char buf[1024];
- unsigned int num;
- unsigned int cur;
-}; /* stream data from opendir() */
diff --git a/mdk-stage1/dietlibc/dietfeatures.h b/mdk-stage1/dietlibc/dietfeatures.h
deleted file mode 100644
index e1de38577..000000000
--- a/mdk-stage1/dietlibc/dietfeatures.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef _DIETFEATURES_H
-#define _DIETFEATURES_H
-
-/* feel free to comment some of these out to reduce code size */
-
-//#define WANT_FLOATING_POINT_IN_PRINTF
-//#define WANT_FLOATING_POINT_IN_SCANF
-#define WANT_CHARACTER_CLASSES_IN_SCANF
-#define WANT_NULL_PRINTF
-
-#define SLASH_PROC_OK
-
-// #define WANT_BUFFERED_STDIO
-
-/* use errno_location instead of errno */
-// #define WANT_THREAD_SAFE
-
-/* make the startcode, etc. dynamic aware */
-/* #undef WANT_DYNAMIC */
-
-/* do you want smaller or faster string routines? */
-/* #define WANT_FASTER_STRING_ROUTINES */
-
-/* do you want ungetc? makes fgetc more complex */
-#define WANT_UNGETC
-
-// #define WANT_LINKER_WARNINGS
-
-/* you need to define this if you want to run your programs with large
- * file support on kernel 2.2 or 2.4 */
-// #define WANT_LARGEFILE_BACKCOMPAT
-
-/* do you want localtime(3) to read /etc/localtime?
- * Needed for daylight saving time etc. */
-// #define WANT_TZFILE_PARSER
-
-/* stop uncommenting here ;-) */
-#ifndef WANT_FASTER_STRING_ROUTINES
-#define WANT_SMALL_STRING_ROUTINES
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/dietstdarg.h b/mdk-stage1/dietlibc/dietstdarg.h
deleted file mode 100644
index 827671b22..000000000
--- a/mdk-stage1/dietlibc/dietstdarg.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdarg.h>
-
-/* this assumes that va_copy() will be a macro, it is on gcc */
-#ifndef va_copy
-# ifdef __va_copy
-# define va_copy(x, y) __va_copy(x, y)
-# else
-/* assume copying it works... */
-# define va_copy(x, y) x = y
-# endif
-#endif
-
diff --git a/mdk-stage1/dietlibc/dietstdio.h b/mdk-stage1/dietlibc/dietstdio.h
deleted file mode 100644
index a1cbeba83..000000000
--- a/mdk-stage1/dietlibc/dietstdio.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* diet stdio -- no buffering ;-} */
-
-#include "dietfeatures.h"
-#include <sys/types.h>
-#ifdef WANT_THREAD_SAVE
-#include <pthread.h>
-#endif
-
-#define BUFSIZE 128
-
-typedef struct __file {
- int fd;
- int flags;
-#ifdef WANT_BUFFERED_STDIO
- unsigned int bs; /* read: bytes in buffer */
- unsigned int bm; /* position in buffer */
- char buf[BUFSIZE];
- struct __file *next; /* for fflush */
-#endif
- pid_t popen_kludge;
-#ifdef WANT_UNGETC
- char ungetbuf;
- char ungotten;
-#endif
-#ifdef WANT_THREAD_SAVE
- pthread_mutex_t m;
-#endif
-} FILE;
-
-extern FILE *__stdio_root;
-
-#define ERRORINDICATOR 1
-#define EOFINDICATOR 2
-#define BUFINPUT 4
-#define BUFLINEWISE 8
-#define NOBUF 16
-#define UNSEEKABLE 32
-
-#define _IONBF 0
-#define _IOLBF 1
-#define _IOFBF 2
-
-/* internal function to flush buffer.
- * However, if next is BUFINPUT and the buffer is an input buffer, it
- * will not be flushed. Vice versa for output */
-extern int __fflush4(FILE *stream,int next);
-
-FILE *fopen (const char *path, const char *mode);
-FILE *fdopen (int fildes, const char *mode);
-FILE *freopen (const char *path, const char *mode, FILE *stream);
-
-int fgetc(FILE *stream);
-char *fgets(char *s, int size, FILE *stream);
-int getc(FILE *stream);
-int getchar(void);
-char *gets(char *s);
-int ungetc(int c, FILE *stream);
-
-int fputc(int c, FILE *stream);
-int fputs(const char *s, FILE *stream);
-int putc(int c, FILE *stream);
-int putchar(int c);
-int puts(const char *s);
-
-long fseek( FILE *stream, long offset, int whence);
-long ftell( FILE *stream);
-void rewind( FILE *stream);
-int fgetpos( FILE *stream, fpos_t *pos);
-int fsetpos( FILE *stream, fpos_t *pos);
-
-size_t fread( void *ptr, size_t size, size_t nmemb, FILE *stream);
-
-size_t fwrite( const void *ptr, size_t size, size_t nmemb, FILE *stream);
-
-int fflush(FILE *stream);
-
-int fclose(FILE *stream);
-
-extern FILE *stdout, *stderr, *stdin;
-
-#define EOF (int)(-1)
diff --git a/mdk-stage1/dietlibc/dietwarning.h b/mdk-stage1/dietlibc/dietwarning.h
deleted file mode 100644
index f7c67a175..000000000
--- a/mdk-stage1/dietlibc/dietwarning.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LINKER_WARNINGS
-
-#ifndef __ASSEMBLER__
-
-#define link_warning(symbol,msg) \
- asm (".section .gnu.warning." symbol "\n\t.string \"" msg "\"\n\t.previous");
-
-#else
-
-#define link_warning(symbol,msg) \
- .section .gnu.warning.##symbol ;\
- .string msg ;\
- .previous
-
-#endif
-
-#else
-
-#define link_warning(foo,bar)
-
-#endif
diff --git a/mdk-stage1/dietlibc/dirstream.h b/mdk-stage1/dietlibc/dirstream.h
deleted file mode 100644
index dc8fba79c..000000000
--- a/mdk-stage1/dietlibc/dirstream.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-/*
- * POSIX Standard: 5.1.2 Directory Operations <dirent.h>
- */
-
-#ifndef _DIRSTREAM_H
-
-#define _DIRSTREAM_H 1
-
-#include <sys/types.h>
-#include <dirent.h>
-#ifdef _POSIX_THREADS
-#include <pthread.h>
-#endif
-
-/* For now, syscall readdir () only supports one entry at a time. It
- * will be changed in the future.
-#define NUMENT 3
-*/
-#ifndef NUMENT
-#define NUMENT 1
-#endif
-
-#define SINGLE_READDIR 11
-#define MULTI_READDIR 12
-#define NEW_READDIR 13
-
-/* Directory stream type. */
-struct __dirstream {
- /* file descriptor */
- int dd_fd;
-
- /* offset of the next dir entry in buffer */
- off_t dd_nextloc;
-
- /* bytes of valid entries in buffer */
- size_t dd_size;
-
- /* -> directory buffer */
- struct dirent *dd_buf;
-
- /* we have to convert */
- struct dirent convbuf;
-
- /* offset of the next dir entry in directory. */
- off_t dd_nextoff;
-
- /* total size of buffer */
- size_t dd_max;
-
- enum {unknown, have_getdents, no_getdents} dd_getdents;
-
- /* lock */
-#ifdef _POSIX_THREADS
- pthread_mutex_t *dd_lock;
-#else
- void *dd_lock;
-#endif
-}; /* stream data from opendir() */
-
-#endif /* dirent.h */
diff --git a/mdk-stage1/dietlibc/i386/Makefile.add b/mdk-stage1/dietlibc/i386/Makefile.add
deleted file mode 100644
index b685cc360..000000000
--- a/mdk-stage1/dietlibc/i386/Makefile.add
+++ /dev/null
@@ -1,3 +0,0 @@
-
-CFLAGS+=-march=i386 -mcpu=i386 -Os -fomit-frame-pointer
-VPATH:=i386:syscalls.s:$(VPATH)
diff --git a/mdk-stage1/dietlibc/i386/__longjmp.S b/mdk-stage1/dietlibc/i386/__longjmp.S
deleted file mode 100644
index 098275037..000000000
--- a/mdk-stage1/dietlibc/i386/__longjmp.S
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <setjmp.h>
-
-.text
-.global __longjmp
-__longjmp:
- movl 4(%esp), %ecx /* User's jmp_buf in %ecx. */
- movl 8(%esp), %eax /* Second argument is return value. */
- /* Save the return address now. */
- movl (JB_PC*4)(%ecx), %edx
- /* Restore registers. */
- movl (JB_BX*4)(%ecx), %ebx
- movl (JB_SI*4)(%ecx), %esi
- movl (JB_DI*4)(%ecx), %edi
- movl (JB_BP*4)(%ecx), %ebp
- movl (JB_SP*4)(%ecx), %esp
- /* Jump to saved PC. */
- jmp *%edx
-.size __longjmp,.-__longjmp;
diff --git a/mdk-stage1/dietlibc/i386/__testandset.S b/mdk-stage1/dietlibc/i386/__testandset.S
deleted file mode 100644
index af7b4d5a0..000000000
--- a/mdk-stage1/dietlibc/i386/__testandset.S
+++ /dev/null
@@ -1,8 +0,0 @@
-.text
-.global __testandset
-__testandset:
- xorl %eax, %eax
- movl 0x4(%esp),%edx
- incl %eax
- xchgl %eax,(%edx)
- ret
diff --git a/mdk-stage1/dietlibc/i386/clone.S b/mdk-stage1/dietlibc/i386/clone.S
deleted file mode 100644
index ac02eb468..000000000
--- a/mdk-stage1/dietlibc/i386/clone.S
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <asm/unistd.h>
-
-.text
-.weak clone
-clone:
-.global __clone
-__clone:
- movl 4(%esp), %ecx /* have non null thread_funcion */
- testl %ecx, %ecx
- je .Lclone_error
-
- movl 8(%esp), %ecx /* have non null child_stack pointer */
- testl %ecx, %ecx
- je .Lclone_error
-
- /* put the parameter on thread stack */
- subl $8, %ecx
-
- movl 16(%esp), %eax /* arg */
- movl %eax, 4(%ecx)
-
- movl 4(%esp), %eax /* thread_func */
- movl %eax, 0(%ecx)
-
- /* the syscall */
- pushl %ebx
- movl 16(%esp), %ebx /* flags */
- movl $__NR_clone, %eax
- int $0x80
- popl %ebx
-
- testl %eax, %eax
- jl .Lclone_error
- je .Lstart_thread
- ret
-
-.Lstart_thread:
- xorl %ebp,%ebp
- call *%ebx
- pushl %eax
- call _exit
-
-.Lclone_error:
- negl %eax
- pushl %eax
- call __errno_location
- popl %ecx
- movl %ecx, (%eax)
- xorl %eax, %eax
- decl %eax
- ret
diff --git a/mdk-stage1/dietlibc/i386/mmap.c b/mdk-stage1/dietlibc/i386/mmap.c
deleted file mode 100644
index 26ecb55c0..000000000
--- a/mdk-stage1/dietlibc/i386/mmap.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <linux/types.h>
-#include <linux/unistd.h>
-
-#define __NR__mmap __NR_mmap
-_syscall1(int,_mmap,unsigned long *,buffer)
-
-char *mmap(char *addr, size_t len, int prot, int flags, int fd, unsigned long off) {
- unsigned long buffer[6];
- buffer[0] = (unsigned long)addr;
- buffer[1] = (unsigned long)len;
- buffer[2] = (unsigned long)prot;
- buffer[3] = (unsigned long)flags;
- buffer[4] = (unsigned long)fd;
- buffer[5] = (unsigned long)off;
- return (char*) _mmap(buffer);
-}
diff --git a/mdk-stage1/dietlibc/i386/select.S b/mdk-stage1/dietlibc/i386/select.S
deleted file mode 100644
index 9e7066eae..000000000
--- a/mdk-stage1/dietlibc/i386/select.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(_newselect,select,__libc_select)
diff --git a/mdk-stage1/dietlibc/i386/setjmp.S b/mdk-stage1/dietlibc/i386/setjmp.S
deleted file mode 100644
index 9bfecf565..000000000
--- a/mdk-stage1/dietlibc/i386/setjmp.S
+++ /dev/null
@@ -1,62 +0,0 @@
-#include <setjmp.h>
-
-/* setjmp for i386.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-.section .rodata
-.text
-.weak setjmp
-setjmp:
-.globl __setjmp
-__setjmp:
- popl %eax /* Pop return address. */
- popl %ecx /* Pop jmp_buf. */
- pushl $0 /* Push zero argument. */
- pushl %ecx /* Push jmp_buf. */
- pushl %eax /* Push back return address. */
-
-.globl __sigsetjmp
-__sigsetjmp:
- movl 4(%esp), %eax /* User's jmp_buf in %eax. */
- /* Save registers. */
- movl %ebx, (JB_BX*4)(%eax)
- movl %esi, (JB_SI*4)(%eax)
- movl %edi, (JB_DI*4)(%eax)
- movl %ebp, (JB_BP*4)(%eax)
- leal 4(%esp), %ecx /* Save SP as it will be after we return. */
- movl %ecx, (JB_SP*4)(%eax)
- movl 0(%esp), %ecx /* Save PC we are returning to now. */
- movl %ecx, (JB_PC*4)(%eax)
-
- /* Make a tail call to __sigjmp_save; it takes the same args. */
-#ifdef PIC
- /* We cannot use the PLT, because it requires that %ebx be set, but
- we can't save and restore our caller's value. Instead, we do an
- indirect jump through the GOT, using for the temporary register
- %ecx, which is call-clobbered. */
- call L(here)
-L(here):
- popl %ecx
- addl $_GLOBAL_OFFSET_TABLE_+[.-L(here)], %ecx
- movl C_SYMBOL_NAME(__sigjmp_save@GOT)(%ecx), %ecx
- jmp *%ecx
-#else
- jmp __sigjmp_save
-#endif
-.size __sigsetjmp,.-__sigsetjmp;
diff --git a/mdk-stage1/dietlibc/i386/start.S b/mdk-stage1/dietlibc/i386/start.S
deleted file mode 100644
index 167bb779c..000000000
--- a/mdk-stage1/dietlibc/i386/start.S
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "start.h"
-
-#ifdef __i386__
-.text
-.globl _start
-_start:
-#if 0
- popl %ecx
- movl %esp, %esi
- leal 4(%esp,%ecx,4),%eax
-#else
- movl (%esp),%ecx /* %ecx = argc */
- leal 4(%esp),%esi /* %esi = argv */
-
- leal 4(%esi,%ecx,4),%eax /* eax = 4*ecx+4 = envp */
-#endif
- pushl %eax
- pushl %esi
- pushl %ecx
- movl %eax,environ
-
-#ifdef WANT_DYNAMIC
-/* in %edx we have the dynamic _fini ( register this if non null ) */
- test %edx, %edx
- je .Linit
- push %edx
- call atexit
- pop %edx
-.Linit:
- call _init
- push $_fini
- call atexit
- pop %edx
-#endif
-
- call main
- pushl %eax
- call exit
-.Lfefe:
- .size _start,.Lfefe-_start
-#endif
-
diff --git a/mdk-stage1/dietlibc/i386/unified.S b/mdk-stage1/dietlibc/i386/unified.S
deleted file mode 100644
index f182bdb4b..000000000
--- a/mdk-stage1/dietlibc/i386/unified.S
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <dietfeatures.h>
-
-.text
-.global __unified_syscall
-__unified_syscall:
- movzbl %al, %eax
- push %edi
- push %esi
- push %ebx
- movl %esp,%edi
- movl 0x10(%edi),%ebx
- movl 0x14(%edi),%ecx
- movl 0x18(%edi),%edx
- movl 0x1c(%edi),%esi
- movl 0x20(%edi),%edi
- int $0x80
- cmp $-124,%eax
- jbe .Lnoerror
-#ifdef WANT_THREAD_SAVE
- movl %eax,%ebx
- call __errno_location
- neg %ebx
- movl %ebx,(%eax)
-#else
- neg %eax
- mov %eax,errno
-#endif
- xor %eax,%eax
- dec %eax
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
- ret
diff --git a/mdk-stage1/dietlibc/include/alloca.h b/mdk-stage1/dietlibc/include/alloca.h
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/include/alloca.h
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/include/arpa/inet.h b/mdk-stage1/dietlibc/include/arpa/inet.h
deleted file mode 100644
index 6d5a6dc35..000000000
--- a/mdk-stage1/dietlibc/include/arpa/inet.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _ARPA_INET_H
-#define _ARPA_INET_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-
-int inet_aton(const char *cp, struct in_addr *inp) __THROW;
-unsigned long int inet_addr(const char *cp) __THROW;
-unsigned long int inet_network(const char *cp) __THROW;
-char *inet_ntoa(struct in_addr in) __THROW;
-struct in_addr inet_makeaddr(int net, int host) __THROW;
-unsigned long int inet_lnaof(struct in_addr in) __THROW;
-unsigned long int inet_netof(struct in_addr in) __THROW;
-
-int inet_pton (int AF, const char* CP, void* BUF) __THROW;
-const char* inet_ntop (int AF, const void* CP, char* BUF, size_t LEN) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/arpa/nameser.h b/mdk-stage1/dietlibc/include/arpa/nameser.h
deleted file mode 100644
index 1ee048d66..000000000
--- a/mdk-stage1/dietlibc/include/arpa/nameser.h
+++ /dev/null
@@ -1,217 +0,0 @@
-#ifndef _ARPA_NAMESER_H
-#define _ARPA_NAMESER_H
-
-#include <endian.h>
-
-#define NS_PACKETSZ 512 /* maximum packet size */
-#define NS_MAXDNAME 1025 /* maximum domain name */
-#define NS_MAXCDNAME 255 /* maximum compressed domain name */
-#define NS_MAXLABEL 63 /* maximum length of domain label */
-#define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */
-#define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */
-#define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
-#define NS_INT32SZ 4 /* #/bytes of data in a u_int32_t */
-#define NS_INT16SZ 2 /* #/bytes of data in a u_int16_t */
-#define NS_INT8SZ 1 /* #/bytes of data in a u_int8_t */
-#define NS_INADDRSZ 4 /* IPv4 T_A */
-#define NS_IN6ADDRSZ 16 /* IPv6 T_AAAA */
-#define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */
-#define NS_DEFAULTPORT 53 /* For both TCP and UDP. */
-
-/*
- * Currently defined type values for resources and queries.
- */
-typedef enum __ns_type {
- ns_t_invalid = 0, /* Cookie. */
- ns_t_a = 1, /* Host address. */
- ns_t_ns = 2, /* Authoritative server. */
- ns_t_md = 3, /* Mail destination. */
- ns_t_mf = 4, /* Mail forwarder. */
- ns_t_cname = 5, /* Canonical name. */
- ns_t_soa = 6, /* Start of authority zone. */
- ns_t_mb = 7, /* Mailbox domain name. */
- ns_t_mg = 8, /* Mail group member. */
- ns_t_mr = 9, /* Mail rename name. */
- ns_t_null = 10, /* Null resource record. */
- ns_t_wks = 11, /* Well known service. */
- ns_t_ptr = 12, /* Domain name pointer. */
- ns_t_hinfo = 13, /* Host information. */
- ns_t_minfo = 14, /* Mailbox information. */
- ns_t_mx = 15, /* Mail routing information. */
- ns_t_txt = 16, /* Text strings. */
- ns_t_rp = 17, /* Responsible person. */
- ns_t_afsdb = 18, /* AFS cell database. */
- ns_t_x25 = 19, /* X_25 calling address. */
- ns_t_isdn = 20, /* ISDN calling address. */
- ns_t_rt = 21, /* Router. */
- ns_t_nsap = 22, /* NSAP address. */
- ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */
- ns_t_sig = 24, /* Security signature. */
- ns_t_key = 25, /* Security key. */
- ns_t_px = 26, /* X.400 mail mapping. */
- ns_t_gpos = 27, /* Geographical position (withdrawn). */
- ns_t_aaaa = 28, /* Ip6 Address. */
- ns_t_loc = 29, /* Location Information. */
- ns_t_nxt = 30, /* Next domain (security). */
- ns_t_eid = 31, /* Endpoint identifier. */
- ns_t_nimloc = 32, /* Nimrod Locator. */
- ns_t_srv = 33, /* Server Selection. */
- ns_t_atma = 34, /* ATM Address */
- ns_t_naptr = 35, /* Naming Authority PoinTeR */
- ns_t_kx = 36, /* Key Exchange */
- ns_t_cert = 37, /* Certification record */
- ns_t_a6 = 38, /* IPv6 address (deprecates AAAA) */
- ns_t_dname = 39, /* Non-terminal DNAME (for IPv6) */
- ns_t_sink = 40, /* Kitchen sink (experimentatl) */
- ns_t_opt = 41, /* EDNS0 option (meta-RR) */
- ns_t_tsig = 250, /* Transaction signature. */
- ns_t_ixfr = 251, /* Incremental zone transfer. */
- ns_t_axfr = 252, /* Transfer zone of authority. */
- ns_t_mailb = 253, /* Transfer mailbox records. */
- ns_t_maila = 254, /* Transfer mail agent records. */
- ns_t_any = 255, /* Wildcard match. */
- ns_t_zxfr = 256, /* BIND-specific, nonstandard. */
- ns_t_max = 65536
-} ns_type;
-
-/*
- * Values for class field
- */
-typedef enum __ns_class {
- ns_c_invalid = 0, /* Cookie. */
- ns_c_in = 1, /* Internet. */
- ns_c_2 = 2, /* unallocated/unsupported. */
- ns_c_chaos = 3, /* MIT Chaos-net. */
- ns_c_hs = 4, /* MIT Hesiod. */
- /* Query class values which do not appear in resource records */
- ns_c_none = 254, /* for prereq. sections in update requests */
- ns_c_any = 255, /* Wildcard match. */
- ns_c_max = 65536
-} ns_class;
-
-typedef struct {
- unsigned id :16; /* query identification number */
-#if BYTE_ORDER == BIG_ENDIAN
- /* fields in third byte */
- unsigned qr: 1; /* response flag */
- unsigned opcode: 4; /* purpose of message */
- unsigned aa: 1; /* authoritive answer */
- unsigned tc: 1; /* truncated message */
- unsigned rd: 1; /* recursion desired */
- /* fields in fourth byte */
- unsigned ra: 1; /* recursion available */
- unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
- unsigned ad: 1; /* authentic data from named */
- unsigned cd: 1; /* checking disabled by resolver */
- unsigned rcode :4; /* response code */
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
- /* fields in third byte */
- unsigned rd :1; /* recursion desired */
- unsigned tc :1; /* truncated message */
- unsigned aa :1; /* authoritive answer */
- unsigned opcode :4; /* purpose of message */
- unsigned qr :1; /* response flag */
- /* fields in fourth byte */
- unsigned rcode :4; /* response code */
- unsigned cd: 1; /* checking disabled by resolver */
- unsigned ad: 1; /* authentic data from named */
- unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
- unsigned ra :1; /* recursion available */
-#endif
- /* remaining bytes */
- unsigned qdcount :16; /* number of question entries */
- unsigned ancount :16; /* number of answer entries */
- unsigned nscount :16; /* number of authority entries */
- unsigned arcount :16; /* number of resource entries */
-} HEADER;
-
-#define PACKETSZ NS_PACKETSZ
-#define MAXDNAME NS_MAXDNAME
-#define MAXCDNAME NS_MAXCDNAME
-#define MAXLABEL NS_MAXLABEL
-#define HFIXEDSZ NS_HFIXEDSZ
-#define QFIXEDSZ NS_QFIXEDSZ
-#define RRFIXEDSZ NS_RRFIXEDSZ
-#define INT32SZ NS_INT32SZ
-#define INT16SZ NS_INT16SZ
-#define INADDRSZ NS_INADDRSZ
-#define IN6ADDRSZ NS_IN6ADDRSZ
-#define INDIR_MASK NS_CMPRSFLGS
-#define NAMESERVER_PORT NS_DEFAULTPORT
-
-#define S_ZONE ns_s_zn
-#define S_PREREQ ns_s_pr
-#define S_UPDATE ns_s_ud
-#define S_ADDT ns_s_ar
-
-#define QUERY ns_o_query
-#define IQUERY ns_o_iquery
-#define STATUS ns_o_status
-#define NS_NOTIFY_OP ns_o_notify
-#define NS_UPDATE_OP ns_o_update
-
-#define NOERROR ns_r_noerror
-#define FORMERR ns_r_formerr
-#define SERVFAIL ns_r_servfail
-#define NXDOMAIN ns_r_nxdomain
-#define NOTIMP ns_r_notimpl
-#define REFUSED ns_r_refused
-#define YXDOMAIN ns_r_yxdomain
-#define YXRRSET ns_r_yxrrset
-#define NXRRSET ns_r_nxrrset
-#define NOTAUTH ns_r_notauth
-#define NOTZONE ns_r_notzone
-
-#define DELETE ns_uop_delete
-#define ADD ns_uop_add
-
-#define T_A ns_t_a
-#define T_NS ns_t_ns
-#define T_MD ns_t_md
-#define T_MF ns_t_mf
-#define T_CNAME ns_t_cname
-#define T_SOA ns_t_soa
-#define T_MB ns_t_mb
-#define T_MG ns_t_mg
-#define T_MR ns_t_mr
-#define T_NULL ns_t_null
-#define T_WKS ns_t_wks
-#define T_PTR ns_t_ptr
-#define T_HINFO ns_t_hinfo
-#define T_MINFO ns_t_minfo
-#define T_MX ns_t_mx
-#define T_TXT ns_t_txt
-#define T_RP ns_t_rp
-#define T_AFSDB ns_t_afsdb
-#define T_X25 ns_t_x25
-#define T_ISDN ns_t_isdn
-#define T_RT ns_t_rt
-#define T_NSAP ns_t_nsap
-#define T_NSAP_PTR ns_t_nsap_ptr
-#define T_SIG ns_t_sig
-#define T_KEY ns_t_key
-#define T_PX ns_t_px
-#define T_GPOS ns_t_gpos
-#define T_AAAA ns_t_aaaa
-#define T_LOC ns_t_loc
-#define T_NXT ns_t_nxt
-#define T_EID ns_t_eid
-#define T_NIMLOC ns_t_nimloc
-#define T_SRV ns_t_srv
-#define T_ATMA ns_t_atma
-#define T_NAPTR ns_t_naptr
-#define T_TSIG ns_t_tsig
-#define T_IXFR ns_t_ixfr
-#define T_AXFR ns_t_axfr
-#define T_MAILB ns_t_mailb
-#define T_MAILA ns_t_maila
-#define T_ANY ns_t_any
-
-#define C_IN ns_c_in
-#define C_CHAOS ns_c_chaos
-#define C_HS ns_c_hs
-#define C_NONE ns_c_none
-#define C_ANY ns_c_any
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/assert.h b/mdk-stage1/dietlibc/include/assert.h
deleted file mode 100644
index bb573d0f2..000000000
--- a/mdk-stage1/dietlibc/include/assert.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _ASSERT_H
-#define _ASSERT_H
-
-#include <sys/cdefs.h>
-
-/* This prints an "Assertion failed" message and aborts. */
-extern void __assert_fail (__const char *__assertion, __const char *__file,
- unsigned int __line, __const char *__function)
- __THROW __attribute__ ((__noreturn__));
-
-#ifdef __PRETTY_FUNCTION__
-#define __ASSERT_FUNCTION __PRETTY_FUNCTION__
-#else
-#define __ASSERT_FUNCTION __func__
-#endif
-
-#undef assert
-#ifdef NDEBUG
-#define assert(expr)
-#else
-# define assert(expr) \
- ((void) ((expr) ? 0 : \
- (__assert_fail (#expr, \
- __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/ctype.h b/mdk-stage1/dietlibc/include/ctype.h
deleted file mode 100644
index 9322e8c7b..000000000
--- a/mdk-stage1/dietlibc/include/ctype.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _CTYPE_H
-#define _CTYPE_H
-
-#include <sys/cdefs.h>
-
-extern int isascii (int c) __THROW __attribute__ ((__const__));
-extern int isblank (int c) __THROW __attribute__ ((__const__));
-extern int isalnum (int c) __THROW __attribute__ ((__const__));
-extern int isalpha (int c) __THROW __attribute__ ((__const__));
-extern int isdigit (int c) __THROW __attribute__ ((__const__));
-extern int isspace (int c) __THROW __attribute__ ((__const__));
-
-extern int isupper (int c) __THROW __attribute__ ((__const__));
-extern int islower (int c) __THROW __attribute__ ((__const__));
-
-extern int tolower(int c) __THROW __attribute__ ((__const__));
-extern int toupper(int c) __THROW __attribute__ ((__const__));
-
-extern int isprint(int c) __THROW __attribute__ ((__const__));
-extern int ispunct(int c) __THROW __attribute__ ((__const__));
-extern int iscntrl(int c) __THROW __attribute__ ((__const__));
-
-/* fscking GNU extensions! */
-extern int isxdigit(int c) __THROW __attribute__ ((__const__));
-
-extern int isgraph(int c) __THROW __attribute__ ((__const__));
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/daemon.h b/mdk-stage1/dietlibc/include/daemon.h
deleted file mode 100644
index 9049f367d..000000000
--- a/mdk-stage1/dietlibc/include/daemon.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _DAEMON_H
-#define _DAEMON_H
-
-extern int daemon (int nochdir,int noclose);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/dirent.h b/mdk-stage1/dietlibc/include/dirent.h
deleted file mode 100644
index b0ad4f5ec..000000000
--- a/mdk-stage1/dietlibc/include/dirent.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _DIRENT_H
-#define _DIRENT_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#include <linux/dirent.h>
-
-#define d_fileno d_ino /* Backwards compatibility. */
-
-#undef _DIRENT_HAVE_D_NAMLEN
-#define _DIRENT_HAVE_D_RECLEN
-#define _DIRENT_HAVE_D_OFF
-#define _DIRENT_HAVE_D_TYPE
-
-typedef struct __dirstream DIR;
-
-DIR *opendir (const char *__name) __THROW;
-int closedir (DIR *__dirp) __THROW;
-struct dirent *readdir (DIR *__dirp) __THROW;
-struct dirent64 *readdir64 (DIR *__dirp) __THROW;
-void rewinddir (DIR *__dirp) __THROW;
-void seekdir (DIR *__dirp, long int __pos) __THROW;
-long int telldir (DIR *__dirp) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/dlfcn.h b/mdk-stage1/dietlibc/include/dlfcn.h
deleted file mode 100644
index b96f8f615..000000000
--- a/mdk-stage1/dietlibc/include/dlfcn.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _DLFCN_H
-#define _DLFCN_H 1
-
-#define RTLD_LAZY 0x00000
-#define RTLD_NOW 0x00001
-
-#define RTLD_LOCAL 0x00000
-#define RTLD_GLOBAL 0x10000
-
-void *dlopen (const char *filename, int flag);
-const char *dlerror(void);
-void *dlsym(void *handle, char *symbol);
-int dlclose (void *handle);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/elf.h b/mdk-stage1/dietlibc/include/elf.h
deleted file mode 100644
index be09dbee4..000000000
--- a/mdk-stage1/dietlibc/include/elf.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <linux/elf.h>
diff --git a/mdk-stage1/dietlibc/include/endian.h b/mdk-stage1/dietlibc/include/endian.h
deleted file mode 100644
index 463c24fff..000000000
--- a/mdk-stage1/dietlibc/include/endian.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef _ENDIAN_H
-#define _ENDIAN_H
-
-#define __LITTLE_ENDIAN 1234
-#define __BIG_ENDIAN 4321
-
-#ifdef __i386__
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-
-#ifdef __sparc__
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-
-#ifdef __mips__
-#ifdef __MIPSEB__
-#define __BIG_ENDIAN__
-#endif
-#endif
-
-#ifndef __BYTE_ORDER
-#ifdef __BIG_ENDIAN__
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#else
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-#endif
-
-#define LITTLE_ENDIAN __LITTLE_ENDIAN
-#define BIG_ENDIAN __BIG_ENDIAN
-#define BYTE_ORDER __BYTE_ORDER
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define __LONG_LONG_PAIR(HI, LO) LO, HI
-#elif __BYTE_ORDER == __BIG_ENDIAN
-# define __LONG_LONG_PAIR(HI, LO) HI, LO
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/errno.h b/mdk-stage1/dietlibc/include/errno.h
deleted file mode 100644
index d1c68f39c..000000000
--- a/mdk-stage1/dietlibc/include/errno.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _ERRNO_H
-#define _ERRNO_H
-
-extern int errno;
-
-#include <linux/errno.h>
-
-extern int *__errno_location(void);
-extern void __set_errno(int error);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/fcntl.h b/mdk-stage1/dietlibc/include/fcntl.h
deleted file mode 100644
index b792502c1..000000000
--- a/mdk-stage1/dietlibc/include/fcntl.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _FCNTL_H
-#define _FCNTL_H
-
-#include <sys/cdefs.h>
-
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <asm/fcntl.h>
-
-extern int fcntl (int __fd, int __cmd, ...) __THROW;
-extern int open (const char *__file, int __oflag, ...) __THROW;
-extern int open64 (const char *__file, int __oflag, ...) __THROW;
-extern int creat (const char *__file, mode_t __mode) __THROW;
-extern int creat64 (const char *__file, mode_t __mode) __THROW;
-extern int lockf (int __fd, int __cmd, off_t __len) __THROW;
-extern int lockf64 (int __fd, int __cmd, off64_t __len) __THROW;
-
-#define F_ULOCK 0 /* Unlock a previously locked region. */
-#define F_LOCK 1 /* Lock a region for exclusive use. */
-#define F_TLOCK 2 /* Test and lock a region for exclusive use. */
-#define F_TEST 3 /* Test a region for other processes locks. */
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/features.h b/mdk-stage1/dietlibc/include/features.h
deleted file mode 100644
index 5b0283f20..000000000
--- a/mdk-stage1/dietlibc/include/features.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#warning "someone included features.h, apparently someone is including glibc headers!"
-
-#define __dietlibc__
diff --git a/mdk-stage1/dietlibc/include/fnmatch.h b/mdk-stage1/dietlibc/include/fnmatch.h
deleted file mode 100644
index 762b43ff7..000000000
--- a/mdk-stage1/dietlibc/include/fnmatch.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _FNMATCH_H
-#define _FNMATCH_H
-
-#include <sys/cdefs.h>
-
-int fnmatch(const char *pattern, const char *string, int flags) __THROW;
-
-#define FNM_NOESCAPE 1
-#define FNM_PATHNAME 2
-#define FNM_FILE_NAME 2
-#define FNM_PERIOD 4
-#define FNM_LEADING_DIR 8
-#define FNM_CASEFOLD 16
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/ftw.h b/mdk-stage1/dietlibc/include/ftw.h
deleted file mode 100644
index c888f0021..000000000
--- a/mdk-stage1/dietlibc/include/ftw.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _FTW_H
-#define _FTW_H
-
-#include <sys/cdefs.h>
-#include <sys/stat.h>
-
-struct FTW
- {
- int base;
- int level;
- };
-
-int ftw (const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag), int depth) __THROW;
-int nftw (const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag, struct FTW *s), int depth, int flags) __THROW;
-
-enum
-{
- FTW_F, /* Regular file. */
-#define FTW_F FTW_F
- FTW_D, /* Directory. */
-#define FTW_D FTW_D
- FTW_DNR, /* Unreadable directory. */
-#define FTW_DNR FTW_DNR
- FTW_NS, /* Unstatable file. */
-#define FTW_NS FTW_NS
- FTW_SL, /* Symbolic link. */
-# define FTW_SL FTW_SL
-/* These flags are only passed from the `nftw' function. */
- FTW_DP, /* Directory, all subdirs have been visited. */
-# define FTW_DP FTW_DP
- FTW_SLN /* Symbolic link naming non-existing file. */
-# define FTW_SLN FTW_SLN
-};
-
-typedef int (*__ftw_func_t) (__const char *__filename,
- __const struct stat *__status, int __flag) __THROW;
-
-typedef int (*__nftw_func_t) (__const char *__filename,
- __const struct stat *__status, int __flag,
- struct FTW *__info) __THROW;
-
-#ifndef __NO_STAT64
-typedef int (*__ftw64_func_t) (__const char *__filename,
- __const struct stat64 *__status, int __flag) __THROW;
-
-typedef int (*__nftw64_func_t) (__const char *__filename,
- __const struct stat64 *__status,
- int __flag, struct FTW *__info) __THROW;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/getopt.h b/mdk-stage1/dietlibc/include/getopt.h
deleted file mode 100644
index ebfc5522d..000000000
--- a/mdk-stage1/dietlibc/include/getopt.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __GETOPT_H__
-#define __GETOPT_H__
-
-extern int optind,opterr;
-extern char *optarg;
-int getopt(int argc, char *argv[], char *options);
-
-/* the following was taken from GNU getopt, it's not actually supported
- * by the diet libc! */
-extern int optopt;
-
-struct option {
- const char* name;
- int has_arg;
- int* flag;
- int val;
-};
-
-#define no_argument 0
-#define required_argument 1
-#define optional_argument 2
-
-extern int getopt_long(int argc, char *const *argv,
- const char *shortopts, const struct option *longopts,
- int *longind);
-
-extern int getopt_long_only(int argc, char *const *argv,
- const char *shortopts, const struct option *longopts,
- int *longind);
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/glob.h b/mdk-stage1/dietlibc/include/glob.h
deleted file mode 100644
index 80febbccf..000000000
--- a/mdk-stage1/dietlibc/include/glob.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _GLOB_H
-#define _GLOB_H
-
-
-typedef struct {
- size_t gl_pathc; /* Count of paths matched so far */
- char **gl_pathv; /* List of matched pathnames. */
- size_t gl_offs; /* Slots to reserve in `gl_pathv'. */
- int gl_flags; /* Set to FLAGS, maybe | GLOB_MAGCHAR. */
-} glob_t;
-
-
-int glob(const char *pattern, int flags,
- int errfunc(const char * epath, int eerrno),
- glob_t *pglob) __THROW;
-
-void globfree(glob_t *pglob) __THROW;
-
-
-
-/* Bits set in the FLAGS argument to `glob'. */
-#define GLOB_ERR (1 << 0)/* Return on read errors. */
-#define GLOB_MARK (1 << 1)/* Append a slash to each name. */
-#define GLOB_NOSORT (1 << 2)/* Don't sort the names. */
-#define GLOB_DOOFFS (1 << 3)/* Insert PGLOB->gl_offs NULLs. */
-#define GLOB_NOCHECK (1 << 4)/* If nothing matches, return the pattern. */
-#define GLOB_APPEND (1 << 5)/* Append to results of a previous call. */
-#define GLOB_NOESCAPE (1 << 6)/* Backslashes don't quote metacharacters. */
-#define GLOB_PERIOD (1 << 7)/* Leading `.' can be matched by metachars. */
-
-#define GLOB_MAGCHAR (1 << 8)/* Set in gl_flags if any metachars seen. */
-#define GLOB_ALTDIRFUNC (1 << 9)/* Use gl_opendir et al functions. */
-#define GLOB_BRACE (1 << 10)/* Expand "{a,b}" to "a" "b". */
-#define GLOB_NOMAGIC (1 << 11)/* If no magic chars, return the pattern. */
-#define GLOB_TILDE (1 << 12)/* Expand ~user and ~ to home directories. */
-#define GLOB_ONLYDIR (1 << 13)/* Match only directories. */
-#define GLOB_TILDE_CHECK (1 << 14)/* Like GLOB_TILDE but return an error
- if the user name is not available. */
-#define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
- GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND| \
- GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE| \
- GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK)
-
-
-/* Error returns from `glob'. */
-#define GLOB_NOSPACE 1 /* Ran out of memory. */
-#define GLOB_ABORTED 2 /* Read error. */
-#define GLOB_NOMATCH 3 /* No matches found. */
-#define GLOB_NOSYS 4 /* Not implemented. */
-/* Previous versions of this file defined GLOB_ABEND instead of
- GLOB_ABORTED. Provide a compatibility definition here. */
-#define GLOB_ABEND GLOB_ABORTED
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/grp.h b/mdk-stage1/dietlibc/include/grp.h
deleted file mode 100644
index 32bf49afc..000000000
--- a/mdk-stage1/dietlibc/include/grp.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _GRP_H
-#define _GRP_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct group
- {
- char *gr_name; /* Group name. */
- char *gr_passwd; /* Password. */
- gid_t gr_gid; /* Group ID. */
- char **gr_mem; /* Member list. */
- };
-
-extern struct group *getgrgid (gid_t uid) __THROW;
-extern struct group *getgrnam (const char *name) __THROW;
-
-extern struct group *getgrent(void) __THROW;
-extern void setgrent(void) __THROW;
-extern void endgrent(void) __THROW;
-
-extern int setgroups(size_t n, const gid_t *groups) __THROW;
-extern int initgroups(const char *user, gid_t group) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/inttypes.h b/mdk-stage1/dietlibc/include/inttypes.h
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/include/inttypes.h
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/include/limits.h b/mdk-stage1/dietlibc/include/limits.h
deleted file mode 100644
index a333debfd..000000000
--- a/mdk-stage1/dietlibc/include/limits.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef _LIMITS_H
-#define _LIMITS_H
-
-#include <linux/limits.h>
-
-#define __WORDSIZE 32
-
-#ifdef __alpha__
-#undef __WORDSIZE
-#define __WORDSIZE 64
-#endif
-
-#ifndef PATH_MAX
-#define PATH_MAX 4096
-#endif
-
-#define CHAR_BIT 8
-
-#define SCHAR_MIN (-128)
-#define SCHAR_MAX 0x7f
-#define UCHAR_MAX 0xff
-
-#define SHRT_MIN (-SHRT_MAX-1)
-#define SHRT_MAX 0x7fff
-#define USHRT_MAX 0xffff
-
-#define INT_MIN (-INT_MAX-1)
-#define INT_MAX 0x7fffffff
-#define UINT_MAX 0xffffffff
-
-#if __WORDSIZE == 64
-#define LONG_MAX 9223372036854775807L
-#define ULONG_MAX 18446744073709551615UL
-#else
-#define LONG_MAX 2147483647L
-#define ULONG_MAX 4294967295UL
-#endif
-#define LONG_MIN (-LONG_MAX - 1L)
-
-#define LLONG_MAX 9223372036854775807LL
-#define LLONG_MIN (-LLONG_MAX - 1LL)
-
-/* Maximum value an `unsigned long long int' can hold. (Minimum is 0.) */
-#define ULLONG_MAX 18446744073709551615ULL
-
-#define PASS_MAX 256
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/locale.h b/mdk-stage1/dietlibc/include/locale.h
deleted file mode 100644
index acbeec8c1..000000000
--- a/mdk-stage1/dietlibc/include/locale.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#warning "there is no locale support for diet libc yet"
-
-#define setlocale(a,b) 0
-#define bindtextdomain
-#define textdomain
-
diff --git a/mdk-stage1/dietlibc/include/malloc.h b/mdk-stage1/dietlibc/include/malloc.h
deleted file mode 100644
index c8b49f26d..000000000
--- a/mdk-stage1/dietlibc/include/malloc.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <stdlib.h>
diff --git a/mdk-stage1/dietlibc/include/math.h b/mdk-stage1/dietlibc/include/math.h
deleted file mode 100644
index 2f4f2e33f..000000000
--- a/mdk-stage1/dietlibc/include/math.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _MATH_H
-#define _MATH_H
-
-#include <sys/cdefs.h>
-
-#define M_E 2.7182818284590452354 /* e */
-#define M_LOG2E 1.4426950408889634074 /* log_2 e */
-#define M_LOG10E 0.43429448190325182765 /* log_10 e */
-#define M_LN2 0.69314718055994530942 /* log_e 2 */
-#define M_LN10 2.30258509299404568402 /* log_e 10 */
-#define M_PI 3.14159265358979323846 /* pi */
-#define M_PI_2 1.57079632679489661923 /* pi/2 */
-#define M_PI_4 0.78539816339744830962 /* pi/4 */
-#define M_1_PI 0.31830988618379067154 /* 1/pi */
-#define M_2_PI 0.63661977236758134308 /* 2/pi */
-#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
-#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
-#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
-
-#define M_El 2.7182818284590452353602874713526625L /* e */
-#define M_LOG2El 1.4426950408889634073599246810018922L /* log_2 e */
-#define M_LOG10El 0.4342944819032518276511289189166051L /* log_10 e */
-#define M_LN2l 0.6931471805599453094172321214581766L /* log_e 2 */
-#define M_LN10l 2.3025850929940456840179914546843642L /* log_e 10 */
-#define M_PIl 3.1415926535897932384626433832795029L /* pi */
-#define M_PI_2l 1.5707963267948966192313216916397514L /* pi/2 */
-#define M_PI_4l 0.7853981633974483096156608458198757L /* pi/4 */
-#define M_1_PIl 0.3183098861837906715377675267450287L /* 1/pi */
-#define M_2_PIl 0.6366197723675813430755350534900574L /* 2/pi */
-#define M_2_SQRTPIl 1.1283791670955125738961589031215452L /* 2/sqrt(pi) */
-#define M_SQRT2l 1.4142135623730950488016887242096981L /* sqrt(2) */
-#define M_SQRT1_2l 0.7071067811865475244008443621048490L /* 1/sqrt(2) */
-
-double sin(double d) __THROW __attribute__((__const__));
-double cos(double d) __THROW __attribute__((__const__));
-double tan(double d) __THROW __attribute__((__const__));
-
-double sinh(double d) __THROW __attribute__((__const__));
-double cosh(double d) __THROW __attribute__((__const__));
-double tanh(double d) __THROW __attribute__((__const__));
-
-double asin(double d) __THROW __attribute__((__const__));
-double acos(double d) __THROW __attribute__((__const__));
-double atan(double d) __THROW __attribute__((__const__));
-
-double asinh(double d) __THROW __attribute__((__const__));
-double acosh(double d) __THROW __attribute__((__const__));
-double atanh(double d) __THROW __attribute__((__const__));
-
-double exp(double d) __THROW __attribute__((__const__));
-double log(double d) __THROW __attribute__((__const__));
-double log10(double d) __THROW __attribute__((__const__));
-
-double pow(double x, double y) __THROW __attribute__((__const__));
-
-double sqrt(double x) __THROW __attribute__((__const__));
-double fabs(double x) __THROW __attribute__((__const__));
-double fmod(double x, double y) __THROW __attribute__((__const__));
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/memory.h b/mdk-stage1/dietlibc/include/memory.h
deleted file mode 100644
index 39adee705..000000000
--- a/mdk-stage1/dietlibc/include/memory.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _MEMORY_H
-#define _MEMORY_H
-
-#include <string.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/mntent.h b/mdk-stage1/dietlibc/include/mntent.h
deleted file mode 100644
index 301403224..000000000
--- a/mdk-stage1/dietlibc/include/mntent.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef _MNTENT_H
-#define _MNTENT_H
-
-#include <sys/cdefs.h>
-#include <stdio.h>
-#include <paths.h>
-
-#define MNTTAB _PATH_MNTTAB /* Deprecated alias. */
-#define MOUNTED _PATH_MOUNTED /* Deprecated alias. */
-
-/* General filesystem types. */
-#define MNTTYPE_IGNORE "ignore" /* Ignore this entry. */
-#define MNTTYPE_NFS "nfs" /* Network file system. */
-#define MNTTYPE_SWAP "swap" /* Swap device. */
-
-
-/* Generic mount options. */
-#define MNTOPT_DEFAULTS "defaults" /* Use all default options. */
-#define MNTOPT_RO "ro" /* Read only. */
-#define MNTOPT_RW "rw" /* Read/write. */
-#define MNTOPT_SUID "suid" /* Set uid allowed. */
-#define MNTOPT_NOSUID "nosuid" /* No set uid allowed. */
-#define MNTOPT_NOAUTO "noauto" /* Do not auto mount. */
-
-__BEGIN_DECLS
-
-/* Structure describing a mount table entry. */
-struct mntent
- {
- char *mnt_fsname; /* Device or server for filesystem. */
- char *mnt_dir; /* Directory mounted on. */
- char *mnt_type; /* Type of filesystem: ufs, nfs, etc. */
- char *mnt_opts; /* Comma-separated options for fs. */
- int mnt_freq; /* Dump frequency (in days). */
- int mnt_passno; /* Pass number for `fsck'. */
- };
-
-
-/* Prepare to begin reading and/or writing mount table entries from the
- beginning of FILE. MODE is as for `fopen'. */
-extern FILE *setmntent (const char *file, const char *mode) __THROW;
-
-/* Read one mount table entry from STREAM. Returns a pointer to storage
- reused on the next call, or null for EOF or error (use feof/ferror to
- check). */
-extern struct mntent *getmntent (FILE* stream) __THROW;
-
-#ifdef __USE_MISC
-/* Reentrant version of the above function. */
-extern struct mntent *getmntent_r (FILE* stream,
- struct mntent* result,
- char* buffer,
- int bufsize) __THROW;
-#endif
-
-/* Write the mount table entry described by MNT to STREAM.
- Return zero on success, nonzero on failure. */
-extern int addmntent (FILE* stream,
- const struct mntent* mnt) __THROW;
-
-/* Close a stream opened with `setmntent'. */
-extern int endmntent (FILE *stream) __THROW;
-
-/* Search MNT->mnt_opts for an option matching OPT.
- Returns the address of the substring, or null if none found. */
-extern char *hasmntopt (const struct mntent *__mnt,
- const char *opt) __THROW;
-
-
-__END_DECLS
-
-#endif /* mntent.h */
diff --git a/mdk-stage1/dietlibc/include/net/if.h b/mdk-stage1/dietlibc/include/net/if.h
deleted file mode 100644
index 88f386f46..000000000
--- a/mdk-stage1/dietlibc/include/net/if.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _NET_IF_H
-#define _NET_IF_H
-
-#include <sys/cdefs.h>
-
-#include <linux/if.h>
-
-unsigned int if_nametoindex (const char *ifname) __THROW;
-char *if_indextoname (unsigned int ifindex, char *ifname) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/net/if_arp.h b/mdk-stage1/dietlibc/include/net/if_arp.h
deleted file mode 100644
index fe37a22dc..000000000
--- a/mdk-stage1/dietlibc/include/net/if_arp.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _NET_IF_ARP_H
-#define _NET_IF_ARP_H
-
-#include <linux/if_arp.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/net/route.h b/mdk-stage1/dietlibc/include/net/route.h
deleted file mode 100644
index 5e5db7b1a..000000000
--- a/mdk-stage1/dietlibc/include/net/route.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _NET_IF_ROUTE_H
-#define _NET_IF_ROUTE_H
-
-#include <linux/route.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netdb.h b/mdk-stage1/dietlibc/include/netdb.h
deleted file mode 100644
index e90ea81ac..000000000
--- a/mdk-stage1/dietlibc/include/netdb.h
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifndef _NETDB_H
-#define _NETDB_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/* Absolute file name for network data base files. */
-#define _PATH_HEQUIV "/etc/hosts.equiv"
-#define _PATH_HOSTS "/etc/hosts"
-#define _PATH_NETWORKS "/etc/networks"
-#define _PATH_NSSWITCH_CONF "/etc/nsswitch.conf"
-#define _PATH_PROTOCOLS "/etc/protocols"
-#define _PATH_SERVICES "/etc/services"
-
-/* Description of data base entry for a single service. */
-struct servent
-{
- char *s_name; /* Official service name. */
- char **s_aliases; /* Alias list. */
- int s_port; /* Port number. */
- char *s_proto; /* Protocol to use. */
-};
-
-extern void endservent (void) __THROW;
-extern struct servent *getservent (void) __THROW;
-extern struct servent *getservbyname (const char *__name,
- const char *__proto) __THROW;
-extern struct servent *getservbyport (int __port, const char *__proto)
- __THROW;
-
-struct hostent
-{
- char *h_name; /* Official name of host. */
- char **h_aliases; /* Alias list. */
- int h_addrtype; /* Host address type. */
- socklen_t h_length; /* Length of address. */
- char **h_addr_list; /* List of addresses from name server. */
-#define h_addr h_addr_list[0] /* Address, for backward compatibility. */
-};
-
-extern void endhostent (void) __THROW;
-extern struct hostent *gethostent (void) __THROW;
-extern struct hostent *gethostbyaddr (const void *__addr, socklen_t __len,
- int __type) __THROW;
-extern struct hostent *gethostbyname (const char *__name) __THROW;
-extern struct hostent *gethostbyname2 (const char *__name, int __af) __THROW;
-
-/* this glibc "invention" is so ugly, I'm going to throw up any minute
- * now */
-extern int gethostbyname_r(const char* NAME, struct hostent* RESULT_BUF,char* BUF,
- size_t BUFLEN, struct hostent** RESULT,
- int* H_ERRNOP) __THROW;
-
-#define HOST_NOT_FOUND 1
-#define TRY_AGAIN 2
-#define NO_RECOVERY 3
-#define NO_ADDRESS 4
-
-extern int gethostbyaddr_r(const char* addr, size_t length, int format,
- struct hostent* result, char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) __THROW;
-
-struct protoent {
- char *p_name; /* official protocol name */
- char **p_aliases; /* alias list */
- int p_proto; /* protocol number */
-};
-
-struct protoent *getprotoent(void) __THROW;
-struct protoent *getprotobyname(const char *name) __THROW;
-struct protoent *getprotobynumber(int proto) __THROW;
-void setprotoent(int stayopen) __THROW;
-void endprotoent(void) __THROW;
-
-
-/* Description of data base entry for a single network. NOTE: here a
- poor assumption is made. The network number is expected to fit
- into an unsigned long int variable. */
-struct netent
-{
- char *n_name; /* Official name of network. */
- char **n_aliases; /* Alias list. */
- int n_addrtype; /* Net address type. */
- uint32_t n_net; /* Network number. */
-};
-
-extern struct netent *getnetbyname (__const char *__name) __THROW;
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/in.h b/mdk-stage1/dietlibc/include/netinet/in.h
deleted file mode 100644
index 0569c8289..000000000
--- a/mdk-stage1/dietlibc/include/netinet/in.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _NETINET_IN_H
-#define _NETINET_IN_H
-
-#include <linux/in.h>
-#include <linux/in6.h>
-
-#define IPPORT_RESERVED 1024
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/in_systm.h b/mdk-stage1/dietlibc/include/netinet/in_systm.h
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/include/netinet/in_systm.h
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/include/netinet/ip.h b/mdk-stage1/dietlibc/include/netinet/ip.h
deleted file mode 100644
index 35bf9cc42..000000000
--- a/mdk-stage1/dietlibc/include/netinet/ip.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _NETINET_IP_H
-#define _NETINET_IP_H
-
-#include <linux/ip.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/paths.h b/mdk-stage1/dietlibc/include/paths.h
deleted file mode 100644
index 0e36bb10e..000000000
--- a/mdk-stage1/dietlibc/include/paths.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _PATHS_H
-#define _PATHS_H
-
-#define _PATH_BSHELL "/bin/sh"
-#define _PATH_DEFPATH "/bin:/usr/bin:"
-
-#define _PATH_DEVNULL "/dev/null"
-
-#define _PATH_CONSOLE "/dev/console"
-#define _PATH_MOUNTED "/etc/mtab"
-
-#define _PATH_PASSWD "/etc/passwd"
-#define _PATH_GROUP "/etc/group"
-#define _PATH_SHADOW "/etc/shadow"
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pthread.h b/mdk-stage1/dietlibc/include/pthread.h
deleted file mode 100644
index e922ab28b..000000000
--- a/mdk-stage1/dietlibc/include/pthread.h
+++ /dev/null
@@ -1,227 +0,0 @@
-#ifndef _PTHREAD_H
-#define _PTHREAD_H 1
-
-#include <sched.h>
-#include <signal.h>
-#include <setjmp.h>
-
-/* arg... kernel haeder... */
-#define ENOTSUP 524 /* Operation is not supported */
-
-#define PTHREAD_STACK_SIZE 16384
-
-#define PTHREAD_THREADS_MAX 128
-
-#define MAX_SPIN_COUNT 50
-#define SPIN_SLEEP_DURATION 2000001
-
-#define PTHREAD_KEYS_MAX 7
-#define PTHREAD_DESTRUCTOR_ITERATIONS 10
-
-typedef struct _pthread_descr_struct *_pthread_descr;
-typedef unsigned long int pthread_t;
-
-/* Fast locks */
-struct _pthread_fastlock {
- int __spinlock;
-};
-
-/* Mutexes */
-typedef struct {
- struct _pthread_fastlock lock;
- _pthread_descr owner;
- int kind;
- unsigned int count;
-} pthread_mutex_t;
-
-enum {
- PTHREAD_MUTEX_FAST_NP,
- PTHREAD_MUTEX_RECURSIVE_NP,
- PTHREAD_MUTEX_ERRORCHECK_NP,
-};
-
-enum
-{
- PTHREAD_PROCESS_PRIVATE,
-#define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
- PTHREAD_PROCESS_SHARED
-#define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
-};
-
-#define PTHREAD_MUTEX_INITIALIZER \
-{{0}, 0, PTHREAD_MUTEX_FAST_NP, 0}
-
-#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
-{{0}, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0}
-
-#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
-{{0}, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0}
-
-typedef struct {
- int __mutexkind;
-} pthread_mutexattr_t;
-
-int pthread_mutex_init(pthread_mutex_t *mutex,
- const pthread_mutexattr_t *mutexattr);
-int pthread_mutex_lock(pthread_mutex_t *mutex);
-int pthread_mutex_unlock(pthread_mutex_t *mutex);
-int pthread_mutex_trylock(pthread_mutex_t *mutex);
-int pthread_mutex_destroy(pthread_mutex_t *mutex);
-
-/* Conditions */
-typedef void* pthread_condattr_t;
-
-typedef struct {
- struct _pthread_fastlock lock;
- _pthread_descr wait_chain;
-} pthread_cond_t;
-
-#define PTHREAD_COND_INITIALIZER \
-{{0},0}
-
-int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr);
-int pthread_cond_destroy(pthread_cond_t *cond);
-int pthread_cond_signal(pthread_cond_t *cond);
-int pthread_cond_broadcast(pthread_cond_t *cond);
-int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
- const struct timespec *abstime);
-int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
-
-/* only for completeness (always return NULL) */
-int pthread_condattr_init(pthread_condattr_t *attr);
-int pthread_condattr_destroy(pthread_condattr_t *attr);
-int pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared);
-int pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared);
-
-/* thread specific variables */
-typedef unsigned int pthread_key_t;
-
-int pthread_key_create(pthread_key_t *key, void (*destructor)(const void*));
-int pthread_key_delete(pthread_key_t key);
-int pthread_setspecific(pthread_key_t key, const void *value);
-const void *pthread_getspecific(pthread_key_t key);
-
-
-/* Attributes for threads. */
-typedef struct
-{
- int __detachstate;
- int __schedpolicy;
- struct sched_param __schedparam;
- int __inheritsched;
- int __scope;
- void * __stackaddr;
- unsigned long __stacksize;
-} pthread_attr_t;
-
-enum
-{
- PTHREAD_CREATE_JOINABLE,
-#define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
- PTHREAD_CREATE_DETACHED
-#define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
-};
-
-enum
-{
- PTHREAD_EXPLICIT_SCHED,
-#define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
- PTHREAD_INHERIT_SCHED
-#define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
-};
-
-enum /* for completeness */
-{
- PTHREAD_SCOPE_SYSTEM,
-#define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
- PTHREAD_SCOPE_PROCESS
-#define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
-};
-
-int pthread_attr_init(pthread_attr_t *attr);
-int pthread_attr_destroy(pthread_attr_t *attr);
-
-int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
-int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);
-
-int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
-int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy);
-
-int pthread_attr_setschedparam(pthread_attr_t *attr,
- const struct sched_param *param);
-int pthread_attr_getschedparam(const pthread_attr_t *attr,
- struct sched_param *param);
-
-int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit);
-int pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inherit);
-
-int pthread_attr_setscope(pthread_attr_t *attr, int scope);
-int pthread_attr_getscope(const pthread_attr_t *attr, int *scope);
-
-int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stack);
-int pthread_attr_getstackaddr(pthread_attr_t *attr, void **stack);
-
-int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
-int pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize);
-
-/* ONCE */
-typedef int pthread_once_t;
-#define PTHREAD_ONCE_INIT 0
-
-int __pthread_once(pthread_once_t* once_control, void (*init_routine)(void));
-int pthread_once(pthread_once_t* once_control, void (*init_routine)(void));
-
-/* CANCEL */
-
-enum {
- PTHREAD_CANCEL_ENABLE,
-#define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
- PTHREAD_CANCEL_DISABLE,
-#define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
-};
-
-enum {
- PTHREAD_CANCEL_ASYNCHRONOUS,
-#define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
- PTHREAD_CANCEL_DEFERRED,
-#define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
-};
-
-#define PTHREAD_CANCELED ((void *) -1)
-
-int pthread_cancel(pthread_t thread);
-int pthread_setcancelstate(int state, int *oldstate);
-
-int pthread_setcanceltype(int type, int *oldtype);
-
-void pthread_testcancel(void);
-
-/* CLEANUP */
-
-void pthread_cleanup_push(void (*routine)(void*), void *arg);
-void pthread_cleanup_pop (int execute);
-
-void pthread_cleanup_push_defer_np(void (*routine)(void *), void *arg);
-void pthread_cleanup_pop_restore_np(int execute);
-
-/* FORK */
-
-pid_t pthread_atfork(void (*prepare)(void), void (*parent)(void),
- void (*child)(void));
-
-/* THREADS */
-int pthread_create (pthread_t *__thread,
- const pthread_attr_t *__attr,
- void *(*__start_routine) (void *),
- void *__arg);
-
-void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
-
-int pthread_join (pthread_t __th, void **__thread_return);
-
-int pthread_detach (pthread_t __th);
-
-pthread_t pthread_self (void);
-int pthread_equal (pthread_t __thread1, pthread_t __thread2);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pwd.h b/mdk-stage1/dietlibc/include/pwd.h
deleted file mode 100644
index e6fb5d0be..000000000
--- a/mdk-stage1/dietlibc/include/pwd.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _PWD_H
-#define _PWD_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct passwd {
- char *pw_name; /* Username. */
- char *pw_passwd; /* Password. */
- uid_t pw_uid; /* User ID. */
- gid_t pw_gid; /* Group ID. */
- char *pw_gecos; /* Real name. */
- char *pw_dir; /* Home directory. */
- char *pw_shell; /* Shell program. */
-};
-
-extern struct passwd *getpwuid (uid_t __uid) __THROW;
-extern struct passwd *getpwnam (const char *__name) __THROW;
-
-extern struct passwd *getpwent(void) __THROW;
-extern void setpwent(void) __THROW;
-extern void endpwent(void) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/regex.h b/mdk-stage1/dietlibc/include/regex.h
deleted file mode 100644
index be609d9db..000000000
--- a/mdk-stage1/dietlibc/include/regex.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _REGEX_H
-#define _REGEX_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-typedef ptrdiff_t regoff_t;
-
-typedef struct {
- regoff_t rm_so;
- regoff_t rm_eo;
-} regmatch_t;
-
-#define REG_EXTENDED 1
-#define REG_ICASE 2
-#define REG_NOSUB 4
-#define REG_NEWLINE 8
-
-#define REG_NOTBOL 1
-#define REG_NOTEOL 2
-
-#define REG_NOMATCH -1
-
-#define RE_DUP_MAX 255
-
-struct __regex_t;
-
-typedef int (*matcher)(void*,const char*,int ofs,struct __regex_t *t,int plus,int eflags);
-
-typedef struct __regex_t {
- struct regex {
- matcher m;
- void* next;
- int pieces;
- int num;
- struct branch *b;
- } r;
- int brackets,cflags;
- regmatch_t *l;
-} regex_t;
-
-int regcomp(regex_t *preg, const char *regex, int cflags) __THROW;
-int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags) __THROW;
-size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size) __THROW;
-void regfree(regex_t *preg) __THROW;
-
-enum __regex_errors {
- REG_NOERROR,
- REG_BADRPT, /* Invalid use of repetition operators such as using `*' as the first character. */
- REG_BADBR, /* Invalid use of back reference operator. */
- REG_EBRACE, /* Un-matched brace interval operators. */
- REG_EBRACK, /* Un-matched bracket list operators. */
- REG_ERANGE, /* Invalid use of the range operator, eg. the ending point of the
- range occurs prior to the starting point. */
- REG_ECTYPE, /* Unknown character class name. */
- REG_ECOLLATE, /* Invalid collating element. */
- REG_EPAREN, /* Un-matched parenthesis group operators. */
- REG_ESUBREG, /* Invalid back reference to a subexpression. */
- REG_EEND, /* Non specific error. This is not defined by POSIX.2. */
- REG_EESCAPE, /* Trailing backslash. */
- REG_BADPAT, /* Invalid use of pattern operators such as group or list. */
- REG_ESIZE, /* Compiled regular expression requires a pattern buffer
- larger than 64Kb. This is not defined by POSIX.2. */
- REG_ESPACE, /* regcomp ran out of space */
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/resolv.h b/mdk-stage1/dietlibc/include/resolv.h
deleted file mode 100644
index 4e90799c2..000000000
--- a/mdk-stage1/dietlibc/include/resolv.h
+++ /dev/null
@@ -1 +0,0 @@
-void res_init(void);
diff --git a/mdk-stage1/dietlibc/include/rpc/auth.h b/mdk-stage1/dietlibc/include/rpc/auth.h
deleted file mode 100644
index 4aa7d21ce..000000000
--- a/mdk-stage1/dietlibc/include/rpc/auth.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/* @(#)auth.h 2.3 88/08/07 4.0 RPCSRC; from 1.17 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * auth.h, Authentication interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * The data structures are completely opaque to the client. The client
- * is required to pass a AUTH * to routines that create rpc
- * "sessions".
- */
-
-#ifndef _RPC_AUTH_H
-
-#define _RPC_AUTH_H 1
-#include <sys/cdefs.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-#define MAX_AUTH_BYTES 400
-#define MAXNETNAMELEN 255 /* maximum length of network user's name */
-
-/*
- * Status returned from authentication check
- */
-enum auth_stat {
- AUTH_OK=0,
- /*
- * failed at remote end
- */
- AUTH_BADCRED=1, /* bogus credentials (seal broken) */
- AUTH_REJECTEDCRED=2, /* client should begin new session */
- AUTH_BADVERF=3, /* bogus verifier (seal broken) */
- AUTH_REJECTEDVERF=4, /* verifier expired or was replayed */
- AUTH_TOOWEAK=5, /* rejected due to security reasons */
- /*
- * failed locally
- */
- AUTH_INVALIDRESP=6, /* bogus response verifier */
- AUTH_FAILED=7 /* some unknown reason */
-};
-
-union des_block {
- struct {
- u_int32_t high;
- u_int32_t low;
- } key;
- char c[8];
-};
-typedef union des_block des_block;
-extern bool_t xdr_des_block (XDR *__xdrs, des_block *__blkp) __THROW;
-
-/*
- * Authentication info. Opaque to client.
- */
-struct opaque_auth {
- enum_t oa_flavor; /* flavor of auth */
- caddr_t oa_base; /* address of more auth stuff */
- u_int oa_length; /* not to exceed MAX_AUTH_BYTES */
-};
-
-/*
- * Auth handle, interface to client side authenticators.
- */
-typedef struct AUTH AUTH;
-struct AUTH {
- struct opaque_auth ah_cred;
- struct opaque_auth ah_verf;
- union des_block ah_key;
- struct auth_ops {
- void (*ah_nextverf) (AUTH *);
- int (*ah_marshal) (AUTH *, XDR *); /* nextverf & serialize */
- int (*ah_validate) (AUTH *, struct opaque_auth *);
- /* validate verifier */
- int (*ah_refresh) (AUTH *); /* refresh credentials */
- void (*ah_destroy) (AUTH *); /* destroy this structure */
- } *ah_ops;
- caddr_t ah_private;
-};
-
-
-/*
- * Authentication ops.
- * The ops and the auth handle provide the interface to the authenticators.
- *
- * AUTH *auth;
- * XDR *xdrs;
- * struct opaque_auth verf;
- */
-#define AUTH_NEXTVERF(auth) \
- ((*((auth)->ah_ops->ah_nextverf))(auth))
-#define auth_nextverf(auth) \
- ((*((auth)->ah_ops->ah_nextverf))(auth))
-
-#define AUTH_MARSHALL(auth, xdrs) \
- ((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
-#define auth_marshall(auth, xdrs) \
- ((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
-
-#define AUTH_VALIDATE(auth, verfp) \
- ((*((auth)->ah_ops->ah_validate))((auth), verfp))
-#define auth_validate(auth, verfp) \
- ((*((auth)->ah_ops->ah_validate))((auth), verfp))
-
-#define AUTH_REFRESH(auth) \
- ((*((auth)->ah_ops->ah_refresh))(auth))
-#define auth_refresh(auth) \
- ((*((auth)->ah_ops->ah_refresh))(auth))
-
-#define AUTH_DESTROY(auth) \
- ((*((auth)->ah_ops->ah_destroy))(auth))
-#define auth_destroy(auth) \
- ((*((auth)->ah_ops->ah_destroy))(auth))
-
-
-extern struct opaque_auth _null_auth;
-
-
-/*
- * These are the various implementations of client side authenticators.
- */
-
-/*
- * Unix style authentication
- * AUTH *authunix_create(machname, uid, gid, len, aup_gids)
- * char *machname;
- * int uid;
- * int gid;
- * int len;
- * int *aup_gids;
- */
-extern AUTH *authunix_create (char *__machname,uid_t __uid, gid_t __gid,
- int __len, gid_t *__aup_gids) __THROW;
-extern AUTH *authunix_create_default (void) __THROW;
-extern AUTH *authnone_create (void) __THROW;
-extern AUTH *authdes_create (const char *__servername, u_int __window,
- struct sockaddr *__syncaddr, des_block *__ckey)
- __THROW;
-extern AUTH *authdes_pk_create (const char *, netobj *, u_int,
- struct sockaddr *, des_block *) __THROW;
-
-
-#define AUTH_NONE 0 /* no authentication */
-#define AUTH_NULL 0 /* backward compatibility */
-#define AUTH_SYS 1 /* unix style (uid, gids) */
-#define AUTH_UNIX AUTH_SYS
-#define AUTH_SHORT 2 /* short hand unix style */
-#define AUTH_DES 3 /* des style (encrypted timestamps) */
-#define AUTH_DH AUTH_DES /* Diffie-Hellman (this is DES) */
-#define AUTH_KERB 4 /* kerberos style */
-
-/*
- * Netname manipulating functions
- *
- */
-extern int getnetname (char *) __THROW;
-extern int host2netname (char *, __const char *, __const char *) __THROW;
-extern int user2netname (char *, __const uid_t, __const char *) __THROW;
-extern int netname2user (__const char *, uid_t *, gid_t *, int *, gid_t *)
- __THROW;
-extern int netname2host (__const char *, char *, __const int) __THROW;
-
-/*
- *
- * These routines interface to the keyserv daemon
- *
- */
-extern int key_decryptsession (char *, des_block *) __THROW;
-extern int key_decryptsession_pk (char *, netobj *, des_block *) __THROW;
-extern int key_encryptsession (char *, des_block *) __THROW;
-extern int key_encryptsession_pk (char *, netobj *, des_block *) __THROW;
-extern int key_gendes (des_block *) __THROW;
-extern int key_setsecret (char *) __THROW;
-extern int key_secretkey_is_set (void) __THROW;
-extern int key_get_conv (char *, des_block *) __THROW;
-
-/*
- * XDR an opaque authentication struct.
- */
-extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/auth.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/auth_des.h b/mdk-stage1/dietlibc/include/rpc/auth_des.h
deleted file mode 100644
index 198b299e7..000000000
--- a/mdk-stage1/dietlibc/include/rpc/auth_des.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef _RPC_AUTH_DES_H
-#define _RPC_AUTH_DES_H 1
-
-#include <sys/cdefs.h>
-#include <rpc/auth.h>
-
-__BEGIN_DECLS
-
-/* There are two kinds of "names": fullnames and nicknames */
-enum authdes_namekind
- {
- ADN_FULLNAME,
- ADN_NICKNAME
- };
-
-/* A fullname contains the network name of the client,
- a conversation key and the window */
-struct authdes_fullname
- {
- char *name; /* network name of client, up to MAXNETNAMELEN */
- des_block key; /* conversation key */
- uint32_t window; /* associated window */
- };
-
-/* A credential */
-struct authdes_cred
- {
- enum authdes_namekind adc_namekind;
- struct authdes_fullname adc_fullname;
- uint32_t adc_nickname;
- };
-
-/* A timeval replacement for !32bit platforms */
-struct rpc_timeval
- {
- uint32_t tv_sec; /* Seconds. */
- uint32_t tv_usec; /* Microseconds. */
- };
-
-/* A des authentication verifier */
-struct authdes_verf
- {
- union
- {
- struct rpc_timeval adv_ctime; /* clear time */
- des_block adv_xtime; /* crypt time */
- }
- adv_time_u;
- uint32_t adv_int_u;
- };
-
-/* des authentication verifier: client variety
-
- adv_timestamp is the current time.
- adv_winverf is the credential window + 1.
- Both are encrypted using the conversation key. */
-#define adv_timestamp adv_time_u.adv_ctime
-#define adv_xtimestamp adv_time_u.adv_xtime
-#define adv_winverf adv_int_u
-
-/* des authentication verifier: server variety
-
- adv_timeverf is the client's timestamp + client's window
- adv_nickname is the server's nickname for the client.
- adv_timeverf is encrypted using the conversation key. */
-#define adv_timeverf adv_time_u.adv_ctime
-#define adv_xtimeverf adv_time_u.adv_xtime
-#define adv_nickname adv_int_u
-
-/* Map a des credential into a unix cred. */
-extern int authdes_getucred (__const struct authdes_cred * __adc,
- uid_t * __uid, gid_t * __gid,
- short *__grouplen, gid_t * __groups) __THROW;
-
-/* Get the public key for NAME and place it in KEY. NAME can only be
- up to MAXNETNAMELEN bytes long and the destination buffer KEY should
- have HEXKEYBYTES + 1 bytes long to fit all characters from the key. */
-extern int getpublickey (__const char *__name, char *__key) __THROW;
-
-/* Get the secret key for NAME and place it in KEY. PASSWD is used to
- decrypt the encrypted key stored in the database. NAME can only be
- up to MAXNETNAMELEN bytes long and the destination buffer KEY
- should have HEXKEYBYTES + 1 bytes long to fit all characters from
- the key. */
-extern int getsecretkey (__const char *__name, char *__key,
- __const char *__passwd) __THROW;
-
-extern int rtime (struct sockaddr_in *__addrp, struct rpc_timeval *__timep,
- struct rpc_timeval *__timeout) __THROW;
-
-__END_DECLS
-
-
-#endif /* rpc/auth_des.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/auth_unix.h b/mdk-stage1/dietlibc/include/rpc/auth_unix.h
deleted file mode 100644
index 7a1bfa9f0..000000000
--- a/mdk-stage1/dietlibc/include/rpc/auth_unix.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* @(#)auth_unix.h 2.2 88/07/29 4.0 RPCSRC; from 1.8 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* @(#)auth_unix.h 1.5 86/07/16 SMI */
-
-/*
- * auth_unix.h, Protocol for UNIX style authentication parameters for RPC
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-/*
- * The system is very weak. The client uses no encryption for it
- * credentials and only sends null verifiers. The server sends backs
- * null verifiers or optionally a verifier that suggests a new short hand
- * for the credentials.
- */
-
-#ifndef _RPC_AUTH_UNIX_H
-#define _RPC_AUTH_UNIX_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/auth.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-/* The machine name is part of a credential; it may not exceed 255 bytes */
-#define MAX_MACHINE_NAME 255
-
-/* gids compose part of a credential; there may not be more than 16 of them */
-#define NGRPS 16
-
-/*
- * Unix style credentials.
- */
-struct authunix_parms
- {
- u_long aup_time;
- char *aup_machname;
- uid_t aup_uid;
- gid_t aup_gid;
- u_int aup_len;
- gid_t *aup_gids;
- };
-
-extern bool_t xdr_authunix_parms (XDR *__xdrs, struct authunix_parms *__p)
- __THROW;
-
-/*
- * If a response verifier has flavor AUTH_SHORT,
- * then the body of the response verifier encapsulates the following structure;
- * again it is serialized in the obvious fashion.
- */
-struct short_hand_verf
- {
- struct opaque_auth new_cred;
- };
-
-__END_DECLS
-
-#endif /* rpc/auth_unix.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/clnt.h b/mdk-stage1/dietlibc/include/rpc/clnt.h
deleted file mode 100644
index 60b0fafdf..000000000
--- a/mdk-stage1/dietlibc/include/rpc/clnt.h
+++ /dev/null
@@ -1,421 +0,0 @@
-/* @(#)clnt.h 2.1 88/07/29 4.0 RPCSRC; from 1.31 88/02/08 SMI*/
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * clnt.h - Client side remote procedure call interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_CLNT_H
-#define _RPC_CLNT_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/auth.h>
-#include <sys/un.h>
-
-__BEGIN_DECLS
-
-/*
- * Rpc calls return an enum clnt_stat. This should be looked at more,
- * since each implementation is required to live with this (implementation
- * independent) list of errors.
- */
-enum clnt_stat {
- RPC_SUCCESS=0, /* call succeeded */
- /*
- * local errors
- */
- RPC_CANTENCODEARGS=1, /* can't encode arguments */
- RPC_CANTDECODERES=2, /* can't decode results */
- RPC_CANTSEND=3, /* failure in sending call */
- RPC_CANTRECV=4, /* failure in receiving result */
- RPC_TIMEDOUT=5, /* call timed out */
- /*
- * remote errors
- */
- RPC_VERSMISMATCH=6, /* rpc versions not compatible */
- RPC_AUTHERROR=7, /* authentication error */
- RPC_PROGUNAVAIL=8, /* program not available */
- RPC_PROGVERSMISMATCH=9, /* program version mismatched */
- RPC_PROCUNAVAIL=10, /* procedure unavailable */
- RPC_CANTDECODEARGS=11, /* decode arguments error */
- RPC_SYSTEMERROR=12, /* generic "other problem" */
- RPC_NOBROADCAST = 21, /* Broadcasting not supported */
- /*
- * callrpc & clnt_create errors
- */
- RPC_UNKNOWNHOST=13, /* unknown host name */
- RPC_UNKNOWNPROTO=17, /* unknown protocol */
- RPC_UNKNOWNADDR = 19, /* Remote address unknown */
-
- /*
- * rpcbind errors
- */
- RPC_RPCBFAILURE=14, /* portmapper failed in its call */
-#define RPC_PMAPFAILURE RPC_RPCBFAILURE
- RPC_PROGNOTREGISTERED=15, /* remote program is not registered */
- RPC_N2AXLATEFAILURE = 22, /* Name to addr translation failed */
- /*
- * unspecified error
- */
- RPC_FAILED=16,
- RPC_INTR=18,
- RPC_TLIERROR=20,
- RPC_UDERROR=23,
- /*
- * asynchronous errors
- */
- RPC_INPROGRESS = 24,
- RPC_STALERACHANDLE = 25
-};
-
-
-/*
- * Error info.
- */
-struct rpc_err {
- enum clnt_stat re_status;
- union {
- int RE_errno; /* related system error */
- enum auth_stat RE_why; /* why the auth error occurred */
- struct {
- u_long low; /* lowest verion supported */
- u_long high; /* highest verion supported */
- } RE_vers;
- struct { /* maybe meaningful if RPC_FAILED */
- long s1;
- long s2;
- } RE_lb; /* life boot & debugging only */
- } ru;
-#define re_errno ru.RE_errno
-#define re_why ru.RE_why
-#define re_vers ru.RE_vers
-#define re_lb ru.RE_lb
-};
-
-
-/*
- * Client rpc handle.
- * Created by individual implementations, see e.g. rpc_udp.c.
- * Client is responsible for initializing auth, see e.g. auth_none.c.
- */
-typedef struct CLIENT CLIENT;
-struct CLIENT {
- AUTH *cl_auth; /* authenticator */
- struct clnt_ops {
- enum clnt_stat (*cl_call) (CLIENT *, u_long, xdrproc_t, caddr_t, xdrproc_t,
- caddr_t, struct timeval);
- /* call remote procedure */
- void (*cl_abort) (void); /* abort a call */
- void (*cl_geterr) (CLIENT *, struct rpc_err *);
- /* get specific error code */
- bool_t (*cl_freeres) (CLIENT *, xdrproc_t, caddr_t);
- /* frees results */
- void (*cl_destroy) (CLIENT *); /* destroy this structure */
- bool_t (*cl_control) (CLIENT *, int, char *);
- /* the ioctl() of rpc */
- } *cl_ops;
- caddr_t cl_private; /* private stuff */
-};
-
-
-/*
- * client side rpc interface ops
- *
- * Parameter types are:
- *
- */
-
-/*
- * enum clnt_stat
- * CLNT_CALL(rh, proc, xargs, argsp, xres, resp, timeout)
- * CLIENT *rh;
- * u_long proc;
- * xdrproc_t xargs;
- * caddr_t argsp;
- * xdrproc_t xres;
- * caddr_t resp;
- * struct timeval timeout;
- */
-#define CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs) \
- ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs))
-#define clnt_call(rh, proc, xargs, argsp, xres, resp, secs) \
- ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs))
-
-/*
- * void
- * CLNT_ABORT(rh);
- * CLIENT *rh;
- */
-#define CLNT_ABORT(rh) ((*(rh)->cl_ops->cl_abort)(rh))
-#define clnt_abort(rh) ((*(rh)->cl_ops->cl_abort)(rh))
-
-/*
- * struct rpc_err
- * CLNT_GETERR(rh);
- * CLIENT *rh;
- */
-#define CLNT_GETERR(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp))
-#define clnt_geterr(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp))
-
-
-/*
- * bool_t
- * CLNT_FREERES(rh, xres, resp);
- * CLIENT *rh;
- * xdrproc_t xres;
- * caddr_t resp;
- */
-#define CLNT_FREERES(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
-#define clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
-
-/*
- * bool_t
- * CLNT_CONTROL(cl, request, info)
- * CLIENT *cl;
- * u_int request;
- * char *info;
- */
-#define CLNT_CONTROL(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in))
-#define clnt_control(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in))
-
-/*
- * control operations that apply to all transports
- *
- * Note: options marked XXX are no-ops in this implementation of RPC.
- * The are present in TI-RPC but can't be implemented here since they
- * depend on the presence of STREAMS/TLI, which we don't have.
- */
-#define CLSET_TIMEOUT 1 /* set timeout (timeval) */
-#define CLGET_TIMEOUT 2 /* get timeout (timeval) */
-#define CLGET_SERVER_ADDR 3 /* get server's address (sockaddr) */
-#define CLGET_FD 6 /* get connections file descriptor */
-#define CLGET_SVC_ADDR 7 /* get server's address (netbuf) XXX */
-#define CLSET_FD_CLOSE 8 /* close fd while clnt_destroy */
-#define CLSET_FD_NCLOSE 9 /* Do not close fd while clnt_destroy*/
-#define CLGET_XID 10 /* Get xid */
-#define CLSET_XID 11 /* Set xid */
-#define CLGET_VERS 12 /* Get version number */
-#define CLSET_VERS 13 /* Set version number */
-#define CLGET_PROG 14 /* Get program number */
-#define CLSET_PROG 15 /* Set program number */
-#define CLSET_SVC_ADDR 16 /* get server's address (netbuf) XXX */
-#define CLSET_PUSH_TIMOD 17 /* push timod if not already present XXX */
-#define CLSET_POP_TIMOD 18 /* pop timod XXX */
-/*
- * Connectionless only control operations
- */
-#define CLSET_RETRY_TIMEOUT 4 /* set retry timeout (timeval) */
-#define CLGET_RETRY_TIMEOUT 5 /* get retry timeout (timeval) */
-
-/*
- * void
- * CLNT_DESTROY(rh);
- * CLIENT *rh;
- */
-#define CLNT_DESTROY(rh) ((*(rh)->cl_ops->cl_destroy)(rh))
-#define clnt_destroy(rh) ((*(rh)->cl_ops->cl_destroy)(rh))
-
-
-/*
- * RPCTEST is a test program which is accessible on every rpc
- * transport/port. It is used for testing, performance evaluation,
- * and network administration.
- */
-
-#define RPCTEST_PROGRAM ((u_long)1)
-#define RPCTEST_VERSION ((u_long)1)
-#define RPCTEST_NULL_PROC ((u_long)2)
-#define RPCTEST_NULL_BATCH_PROC ((u_long)3)
-
-/*
- * By convention, procedure 0 takes null arguments and returns them
- */
-
-#define NULLPROC ((u_long)0)
-
-/*
- * Below are the client handle creation routines for the various
- * implementations of client side rpc. They can return NULL if a
- * creation failure occurs.
- */
-
-/*
- * Memory based rpc (for speed check and testing)
- * CLIENT *
- * clntraw_create(prog, vers)
- * u_long prog;
- * u_long vers;
- */
-extern CLIENT *clntraw_create (__const u_long __prog, __const u_long __vers)
- __THROW;
-
-
-/*
- * Generic client creation routine. Supported protocols are "udp", "tcp" and
- * "unix"
- * CLIENT *
- * clnt_create(host, prog, vers, prot)
- * char *host; -- hostname
- * u_long prog; -- program number
- * u_ong vers; -- version number
- * char *prot; -- protocol
- */
-extern CLIENT *clnt_create (__const char *__host, __const u_long __prog,
- __const u_long __vers, __const char *__prot)
- __THROW;
-
-
-/*
- * TCP based rpc
- * CLIENT *
- * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
- * struct sockaddr_in *raddr;
- * u_long prog;
- * u_long version;
- * register int *sockp;
- * u_int sendsz;
- * u_int recvsz;
- */
-extern CLIENT *clnttcp_create (struct sockaddr_in *__raddr, u_long __prog,
- u_long __version, int *__sockp, u_int __sendsz,
- u_int __recvsz) __THROW;
-
-/*
- * UDP based rpc.
- * CLIENT *
- * clntudp_create(raddr, program, version, wait, sockp)
- * struct sockaddr_in *raddr;
- * u_long program;
- * u_long version;
- * struct timeval wait_resend;
- * int *sockp;
- *
- * Same as above, but you specify max packet sizes.
- * CLIENT *
- * clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz, recvsz)
- * struct sockaddr_in *raddr;
- * u_long program;
- * u_long version;
- * struct timeval wait_resend;
- * int *sockp;
- * u_int sendsz;
- * u_int recvsz;
- */
-extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, u_long __program,
- u_long __version, struct timeval __wait_resend,
- int *__sockp) __THROW;
-extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr,
- u_long __program, u_long __version,
- struct timeval __wait_resend, int *__sockp,
- u_int __sendsz, u_int __recvsz) __THROW;
-
-
-
-
-/*
- * AF_UNIX based rpc
- * CLIENT *
- * clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz)
- * struct sockaddr_un *raddr;
- * u_long prog;
- * u_long version;
- * register int *sockp;
- * u_int sendsz;
- * u_int recvsz;
- */
-extern CLIENT *clntunix_create (struct sockaddr_un *__raddr, u_long __program,
- u_long __version, int *__sockp,
- u_int __sendsz, u_int __recvsz) __THROW;
-
-
-extern int callrpc (__const char *__host, __const u_long __prognum,
- __const u_long __versnum, __const u_long __procnum,
- __const xdrproc_t __inproc, __const char *__in,
- __const xdrproc_t __outproc, char *__out) __THROW;
-extern int _rpc_dtablesize (void) __THROW;
-
-/*
- * Print why creation failed
- */
-extern void clnt_pcreateerror (__const char *__msg) __THROW; /* stderr */
-extern char *clnt_spcreateerror(__const char *__msg) __THROW; /* string */
-
-/*
- * Like clnt_perror(), but is more verbose in its output
- */
-extern void clnt_perrno (enum clnt_stat __num) __THROW; /* stderr */
-
-/*
- * Print an English error message, given the client error code
- */
-extern void clnt_perror (CLIENT *__clnt, __const char *__msg) __THROW;
- /* stderr */
-extern char *clnt_sperror (CLIENT *__clnt, __const char *__msg) __THROW;
- /* string */
-
-/*
- * If a creation fails, the following allows the user to figure out why.
- */
-struct rpc_createerr {
- enum clnt_stat cf_stat;
- struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */
-};
-
-extern struct rpc_createerr rpc_createerr;
-
-
-
-/*
- * Copy error message to buffer.
- */
-extern char *clnt_sperrno (enum clnt_stat __num) __THROW; /* string */
-
-/*
- * get the port number on the host for the rpc program,version and proto
- */
-extern int getrpcport (__const char * __host, u_long __prognum,
- u_long __versnum, u_int proto) __THROW;
-
-/*
- * get the local host's IP address without consulting
- * name service library functions
- */
-extern void get_myaddress (struct sockaddr_in *) __THROW;
-
-#define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */
-#define RPCSMALLMSGSIZE 400 /* a more reasonable packet size */
-
-__END_DECLS
-
-#endif /* rpc/clnt.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/des_crypt.h b/mdk-stage1/dietlibc/include/rpc/des_crypt.h
deleted file mode 100644
index 6a65887d3..000000000
--- a/mdk-stage1/dietlibc/include/rpc/des_crypt.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * @(#)des_crypt.h 2.1 88/08/11 4.0 RPCSRC; from 1.4 88/02/08 (C) 1986 SMI
- *
- * des_crypt.h, des library routine interface
- * Copyright (C) 1986, Sun Microsystems, Inc.
- */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-#ifndef __DES_CRYPT_H__
-#define __DES_CRYPT_H__ 1
-
-#include <features.h>
-
-__BEGIN_DECLS
-
-#define DES_MAXDATA 8192 /* max bytes encrypted in one call */
-#define DES_DIRMASK (1 << 0)
-#define DES_ENCRYPT (0*DES_DIRMASK) /* Encrypt */
-#define DES_DECRYPT (1*DES_DIRMASK) /* Decrypt */
-
-
-#define DES_DEVMASK (1 << 1)
-#define DES_HW (0*DES_DEVMASK) /* Use hardware device */
-#define DES_SW (1*DES_DEVMASK) /* Use software device */
-
-
-#define DESERR_NONE 0 /* succeeded */
-#define DESERR_NOHWDEVICE 1 /* succeeded, but hw device not available */
-#define DESERR_HWERROR 2 /* failed, hardware/driver error */
-#define DESERR_BADPARAM 3 /* failed, bad parameter to call */
-
-#define DES_FAILED(err) \
- ((err) > DESERR_NOHWDEVICE)
-
-/*
- * cbc_crypt()
- * ecb_crypt()
- *
- * Encrypt (or decrypt) len bytes of a buffer buf.
- * The length must be a multiple of eight.
- * The key should have odd parity in the low bit of each byte.
- * ivec is the input vector, and is updated to the new one (cbc only).
- * The mode is created by oring together the appropriate parameters.
- * DESERR_NOHWDEVICE is returned if DES_HW was specified but
- * there was no hardware to do it on (the data will still be
- * encrypted though, in software).
- */
-
-
-/*
- * Cipher Block Chaining mode
- */
-extern int cbc_crypt (char *__key, char *__buf, unsigned __len,
- unsigned __mode, char *__ivec) __THROW;
-
-/*
- * Electronic Code Book mode
- */
-extern int ecb_crypt (char *__key, char *__buf, unsigned __len,
- unsigned __mode) __THROW;
-
-/*
- * Set des parity for a key.
- * DES parity is odd and in the low bit of each byte
- */
-extern void des_setparity (char *__key) __THROW;
-
-__END_DECLS
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/rpc/key_prot.h b/mdk-stage1/dietlibc/include/rpc/key_prot.h
deleted file mode 100644
index 3e2eb7208..000000000
--- a/mdk-stage1/dietlibc/include/rpc/key_prot.h
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _KEY_PROT_H_RPCGEN
-#define _KEY_PROT_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if 0
-#pragma ident "@(#)key_prot.x 1.7 94/04/29 SMI"
-#endif
-/* Copyright (c) 1990, 1991 Sun Microsystems, Inc. */
-
-/*
- * Compiled from key_prot.x using rpcgen.
- * DO NOT EDIT THIS FILE!
- * This is NOT source code!
- */
-#define PROOT 3
-#define HEXMODULUS "d4a0ba0250b6fd2ec626e7efd637df76c716e22d0944b88b"
-#define HEXKEYBYTES 48
-#define KEYSIZE 192
-#define KEYBYTES 24
-#define KEYCHECKSUMSIZE 16
-
-enum keystatus {
- KEY_SUCCESS = 0,
- KEY_NOSECRET = 1,
- KEY_UNKNOWN = 2,
- KEY_SYSTEMERR = 3,
-};
-typedef enum keystatus keystatus;
-#ifdef __cplusplus
-extern "C" bool_t xdr_keystatus(XDR *, keystatus*);
-#elif __STDC__
-extern bool_t xdr_keystatus(XDR *, keystatus*);
-#else /* Old Style C */
-bool_t xdr_keystatus();
-#endif /* Old Style C */
-
-
-typedef char keybuf[HEXKEYBYTES];
-#ifdef __cplusplus
-extern "C" bool_t xdr_keybuf(XDR *, keybuf);
-#elif __STDC__
-extern bool_t xdr_keybuf(XDR *, keybuf);
-#else /* Old Style C */
-bool_t xdr_keybuf();
-#endif /* Old Style C */
-
-
-typedef char *netnamestr;
-#ifdef __cplusplus
-extern "C" bool_t xdr_netnamestr(XDR *, netnamestr*);
-#elif __STDC__
-extern bool_t xdr_netnamestr(XDR *, netnamestr*);
-#else /* Old Style C */
-bool_t xdr_netnamestr();
-#endif /* Old Style C */
-
-
-struct cryptkeyarg {
- netnamestr remotename;
- des_block deskey;
-};
-typedef struct cryptkeyarg cryptkeyarg;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
-#elif __STDC__
-extern bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyarg();
-#endif /* Old Style C */
-
-
-struct cryptkeyarg2 {
- netnamestr remotename;
- netobj remotekey;
- des_block deskey;
-};
-typedef struct cryptkeyarg2 cryptkeyarg2;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
-#elif __STDC__
-extern bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyarg2();
-#endif /* Old Style C */
-
-
-struct cryptkeyres {
- keystatus status;
- union {
- des_block deskey;
- } cryptkeyres_u;
-};
-typedef struct cryptkeyres cryptkeyres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
-#elif __STDC__
-extern bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyres();
-#endif /* Old Style C */
-
-#define MAXGIDS 16
-
-struct unixcred {
- u_int uid;
- u_int gid;
- struct {
- u_int gids_len;
- u_int *gids_val;
- } gids;
-};
-typedef struct unixcred unixcred;
-#ifdef __cplusplus
-extern "C" bool_t xdr_unixcred(XDR *, unixcred*);
-#elif __STDC__
-extern bool_t xdr_unixcred(XDR *, unixcred*);
-#else /* Old Style C */
-bool_t xdr_unixcred();
-#endif /* Old Style C */
-
-
-struct getcredres {
- keystatus status;
- union {
- unixcred cred;
- } getcredres_u;
-};
-typedef struct getcredres getcredres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_getcredres(XDR *, getcredres*);
-#elif __STDC__
-extern bool_t xdr_getcredres(XDR *, getcredres*);
-#else /* Old Style C */
-bool_t xdr_getcredres();
-#endif /* Old Style C */
-
-
-struct key_netstarg {
- keybuf st_priv_key;
- keybuf st_pub_key;
- netnamestr st_netname;
-};
-typedef struct key_netstarg key_netstarg;
-#ifdef __cplusplus
-extern "C" bool_t xdr_key_netstarg(XDR *, key_netstarg*);
-#elif __STDC__
-extern bool_t xdr_key_netstarg(XDR *, key_netstarg*);
-#else /* Old Style C */
-bool_t xdr_key_netstarg();
-#endif /* Old Style C */
-
-
-struct key_netstres {
- keystatus status;
- union {
- key_netstarg knet;
- } key_netstres_u;
-};
-typedef struct key_netstres key_netstres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_key_netstres(XDR *, key_netstres*);
-#elif __STDC__
-extern bool_t xdr_key_netstres(XDR *, key_netstres*);
-#else /* Old Style C */
-bool_t xdr_key_netstres();
-#endif /* Old Style C */
-
-
-#ifndef opaque
-#define opaque char
-#endif
-
-
-#define KEY_PROG ((u_long)100029)
-#define KEY_VERS ((u_long)1)
-
-#ifdef __cplusplus
-#define KEY_SET ((u_long)1)
-extern "C" keystatus * key_set_1(opaque *, CLIENT *);
-extern "C" keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((u_long)2)
-extern "C" cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((u_long)3)
-extern "C" cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((u_long)4)
-extern "C" des_block * key_gen_1(void *, CLIENT *);
-extern "C" des_block * key_gen_1_svc(void *, struct svc_req *);
-#define KEY_GETCRED ((u_long)5)
-extern "C" getcredres * key_getcred_1(netnamestr *, CLIENT *);
-extern "C" getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
-
-#elif __STDC__
-#define KEY_SET ((u_long)1)
-extern keystatus * key_set_1(opaque *, CLIENT *);
-extern keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((u_long)2)
-extern cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((u_long)3)
-extern cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((u_long)4)
-extern des_block * key_gen_1(void *, CLIENT *);
-extern des_block * key_gen_1_svc(void *, struct svc_req *);
-#define KEY_GETCRED ((u_long)5)
-extern getcredres * key_getcred_1(netnamestr *, CLIENT *);
-extern getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
-
-#else /* Old Style C */
-#define KEY_SET ((u_long)1)
-extern keystatus * key_set_1();
-extern keystatus * key_set_1_svc();
-#define KEY_ENCRYPT ((u_long)2)
-extern cryptkeyres * key_encrypt_1();
-extern cryptkeyres * key_encrypt_1_svc();
-#define KEY_DECRYPT ((u_long)3)
-extern cryptkeyres * key_decrypt_1();
-extern cryptkeyres * key_decrypt_1_svc();
-#define KEY_GEN ((u_long)4)
-extern des_block * key_gen_1();
-extern des_block * key_gen_1_svc();
-#define KEY_GETCRED ((u_long)5)
-extern getcredres * key_getcred_1();
-extern getcredres * key_getcred_1_svc();
-#endif /* Old Style C */
-#define KEY_VERS2 ((u_long)2)
-
-#ifdef __cplusplus
-extern "C" keystatus * key_set_2(opaque *, CLIENT *);
-extern "C" keystatus * key_set_2_svc(opaque *, struct svc_req *);
-extern "C" cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern "C" cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern "C" des_block * key_gen_2(void *, CLIENT *);
-extern "C" des_block * key_gen_2_svc(void *, struct svc_req *);
-extern "C" getcredres * key_getcred_2(netnamestr *, CLIENT *);
-extern "C" getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *);
-#define KEY_ENCRYPT_PK ((u_long)6)
-extern "C" cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_DECRYPT_PK ((u_long)7)
-extern "C" cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_NET_PUT ((u_long)8)
-extern "C" keystatus * key_net_put_2(key_netstarg *, CLIENT *);
-extern "C" keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *);
-#define KEY_NET_GET ((u_long)9)
-extern "C" key_netstres * key_net_get_2(void *, CLIENT *);
-extern "C" key_netstres * key_net_get_2_svc(void *, struct svc_req *);
-#define KEY_GET_CONV ((u_long)10)
-extern "C" cryptkeyres * key_get_conv_2(opaque *, CLIENT *);
-extern "C" cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *);
-
-#elif __STDC__
-extern keystatus * key_set_2(opaque *, CLIENT *);
-extern keystatus * key_set_2_svc(opaque *, struct svc_req *);
-extern cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern des_block * key_gen_2(void *, CLIENT *);
-extern des_block * key_gen_2_svc(void *, struct svc_req *);
-extern getcredres * key_getcred_2(netnamestr *, CLIENT *);
-extern getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *);
-#define KEY_ENCRYPT_PK ((u_long)6)
-extern cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_DECRYPT_PK ((u_long)7)
-extern cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_NET_PUT ((u_long)8)
-extern keystatus * key_net_put_2(key_netstarg *, CLIENT *);
-extern keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *);
-#define KEY_NET_GET ((u_long)9)
-extern key_netstres * key_net_get_2(void *, CLIENT *);
-extern key_netstres * key_net_get_2_svc(void *, struct svc_req *);
-#define KEY_GET_CONV ((u_long)10)
-extern cryptkeyres * key_get_conv_2(opaque *, CLIENT *);
-extern cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *);
-
-#else /* Old Style C */
-extern keystatus * key_set_2();
-extern keystatus * key_set_2_svc();
-extern cryptkeyres * key_encrypt_2();
-extern cryptkeyres * key_encrypt_2_svc();
-extern cryptkeyres * key_decrypt_2();
-extern cryptkeyres * key_decrypt_2_svc();
-extern des_block * key_gen_2();
-extern des_block * key_gen_2_svc();
-extern getcredres * key_getcred_2();
-extern getcredres * key_getcred_2_svc();
-#define KEY_ENCRYPT_PK ((u_long)6)
-extern cryptkeyres * key_encrypt_pk_2();
-extern cryptkeyres * key_encrypt_pk_2_svc();
-#define KEY_DECRYPT_PK ((u_long)7)
-extern cryptkeyres * key_decrypt_pk_2();
-extern cryptkeyres * key_decrypt_pk_2_svc();
-#define KEY_NET_PUT ((u_long)8)
-extern keystatus * key_net_put_2();
-extern keystatus * key_net_put_2_svc();
-#define KEY_NET_GET ((u_long)9)
-extern key_netstres * key_net_get_2();
-extern key_netstres * key_net_get_2_svc();
-#define KEY_GET_CONV ((u_long)10)
-extern cryptkeyres * key_get_conv_2();
-extern cryptkeyres * key_get_conv_2_svc();
-#endif /* Old Style C */
-
-#endif /* !_KEY_PROT_H_RPCGEN */
diff --git a/mdk-stage1/dietlibc/include/rpc/netdb.h b/mdk-stage1/dietlibc/include/rpc/netdb.h
deleted file mode 100644
index da4bddfc4..000000000
--- a/mdk-stage1/dietlibc/include/rpc/netdb.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* @(#)netdb.h 2.1 88/07/29 3.9 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* @(#)rpc.h 1.8 87/07/24 SMI */
-
-/* Cleaned up for GNU C library roland@gnu.ai.mit.edu:
- added multiple inclusion protection and use of <sys/cdefs.h>.
- In GNU this file is #include'd by <netdb.h>. */
-
-#ifndef _RPC_NETDB_H
-#define _RPC_NETDB_H 1
-
-#include <sys/cdefs.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-__BEGIN_DECLS
-
-struct rpcent
-{
- char *r_name; /* Name of server for this rpc program. */
- char **r_aliases; /* Alias list. */
- int r_number; /* RPC program number. */
-};
-
-extern void setrpcent (int __stayopen) __THROW;
-extern void endrpcent (void) __THROW;
-extern struct rpcent *getrpcbyname (__const char *__name) __THROW;
-extern struct rpcent *getrpcbynumber (int __number) __THROW;
-extern struct rpcent *getrpcent (void) __THROW;
-
-#ifdef __USE_MISC
-extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf,
- char *__buffer, size_t __buflen,
- struct rpcent **__result) __THROW;
-
-extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf,
- char *__buffer, size_t __buflen,
- struct rpcent **__result) __THROW;
-
-extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer,
- size_t __buflen, struct rpcent **__result) __THROW;
-#endif
-
-__END_DECLS
-
-#endif /* rpc/netdb.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h b/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h
deleted file mode 100644
index 68bc8d8ec..000000000
--- a/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* @(#)pmap_clnt.h 2.1 88/07/29 4.0 RPCSRC; from 1.11 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * pmap_clnt.h
- * Supplies C routines to get to portmap services.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_CLNT_H
-#define _RPC_PMAP_CLNT_H 1
-
-#include <sys/cdefs.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/clnt.h>
-
-__BEGIN_DECLS
-
-typedef bool_t (*resultproc_t) (caddr_t resp, struct sockaddr_in *raddr);
-
-/*
- * Usage:
- * success = pmap_set(program, version, protocol, port);
- * success = pmap_unset(program, version);
- * port = pmap_getport(address, program, version, protocol);
- * head = pmap_getmaps(address);
- * clnt_stat = pmap_rmtcall(address, program, version, procedure,
- * xdrargs, argsp, xdrres, resp, tout, port_ptr)
- * (works for udp only.)
- * clnt_stat = clnt_broadcast(program, version, procedure,
- * xdrargs, argsp, xdrres, resp, eachresult)
- * (like pmap_rmtcall, except the call is broadcasted to all
- * locally connected nets. For each valid response received,
- * the procedure eachresult is called. Its form is:
- * done = eachresult(resp, raddr)
- * bool_t done;
- * caddr_t resp;
- * struct sockaddr_in raddr;
- * where resp points to the results of the call and raddr is the
- * address if the responder to the broadcast.
- */
-
-extern bool_t pmap_set (__const u_long __program, __const u_long __vers,
- int __protocol, u_short __port) __THROW;
-extern bool_t pmap_unset (__const u_long __program, __const u_long __vers)
- __THROW;
-extern struct pmaplist *pmap_getmaps (struct sockaddr_in *__address) __THROW;
-extern enum clnt_stat pmap_rmtcall (struct sockaddr_in *__addr,
- __const u_long __prog,
- __const u_long __vers,
- __const u_long __proc,
- xdrproc_t __xdrargs,
- caddr_t __argsp, xdrproc_t __xdrres,
- caddr_t __resp, struct timeval __tout,
- u_long *__port_ptr) __THROW;
-extern enum clnt_stat clnt_broadcast (__const u_long __prog,
- __const u_long __vers,
- __const u_long __proc, xdrproc_t __xargs,
- caddr_t __argsp, xdrproc_t __xresults,
- caddr_t __resultsp,
- resultproc_t __eachresult) __THROW;
-extern u_short pmap_getport (struct sockaddr_in *__address,
- __const u_long __program,
- __const u_long __version, u_int __protocol)
- __THROW;
-
-__END_DECLS
-
-#endif /* rpc/pmap_clnt.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_prot.h b/mdk-stage1/dietlibc/include/rpc/pmap_prot.h
deleted file mode 100644
index fd7fb8e7e..000000000
--- a/mdk-stage1/dietlibc/include/rpc/pmap_prot.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* @(#)pmap_prot.h 2.1 88/07/29 4.0 RPCSRC; from 1.14 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * pmap_prot.h
- * Protocol for the local binder service, or pmap.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_PROT_H
-#define _RPC_PMAP_PROT_H 1
-
-#include <sys/cdefs.h>
-
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-/* The following procedures are supported by the protocol:
- *
- * PMAPPROC_NULL() returns ()
- * takes nothing, returns nothing
- *
- * PMAPPROC_SET(struct pmap) returns (bool_t)
- * TRUE is success, FALSE is failure. Registers the tuple
- * [prog, vers, prot, port].
- *
- * PMAPPROC_UNSET(struct pmap) returns (bool_t)
- * TRUE is success, FALSE is failure. Un-registers pair
- * [prog, vers]. prot and port are ignored.
- *
- * PMAPPROC_GETPORT(struct pmap) returns (long unsigned).
- * 0 is failure. Otherwise returns the port number where the pair
- * [prog, vers] is registered. It may lie!
- *
- * PMAPPROC_DUMP() RETURNS (struct pmaplist *)
- *
- * PMAPPROC_CALLIT(unsigned, unsigned, unsigned, string<>)
- * RETURNS (port, string<>);
- * usage: encapsulatedresults = PMAPPROC_CALLIT(prog, vers, proc, encapsulatedargs);
- * Calls the procedure on the local machine. If it is not registered,
- * this procedure is quite; ie it does not return error information!!!
- * This procedure only is supported on rpc/udp and calls via
- * rpc/udp. This routine only passes null authentication parameters.
- * This file has no interface to xdr routines for PMAPPROC_CALLIT.
- *
- * The service supports remote procedure calls on udp/ip or tcp/ip socket 111.
- */
-
-#define PMAPPORT ((u_short)111)
-#define PMAPPROG ((u_long)100000)
-#define PMAPVERS ((u_long)2)
-#define PMAPVERS_PROTO ((u_long)2)
-#define PMAPVERS_ORIG ((u_long)1)
-#define PMAPPROC_NULL ((u_long)0)
-#define PMAPPROC_SET ((u_long)1)
-#define PMAPPROC_UNSET ((u_long)2)
-#define PMAPPROC_GETPORT ((u_long)3)
-#define PMAPPROC_DUMP ((u_long)4)
-#define PMAPPROC_CALLIT ((u_long)5)
-
-struct pmap {
- long unsigned pm_prog;
- long unsigned pm_vers;
- long unsigned pm_prot;
- long unsigned pm_port;
-};
-
-extern bool_t xdr_pmap (XDR *__xdrs, struct pmap *__regs) __THROW;
-
-struct pmaplist {
- struct pmap pml_map;
- struct pmaplist *pml_next;
-};
-
-extern bool_t xdr_pmaplist (XDR *__xdrs, struct pmaplist **__rp) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/pmap_prot.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h b/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h
deleted file mode 100644
index 160f998ca..000000000
--- a/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* @(#)pmap_rmt.h 2.1 88/07/29 4.0 RPCSRC; from 1.2 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * Structures and XDR routines for parameters to and replies from
- * the portmapper remote-call-service.
- *
- * Copyright (C) 1986, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_RMT_H
-#define _RPC_PMAP_RMT_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-struct rmtcallargs {
- u_long prog, vers, proc, arglen;
- caddr_t args_ptr;
- xdrproc_t xdr_args;
-};
-
-extern bool_t xdr_rmtcall_args (XDR *__xdrs, struct rmtcallargs *__crp)
- __THROW;
-
-struct rmtcallres {
- u_long *port_ptr;
- u_long resultslen;
- caddr_t results_ptr;
- xdrproc_t xdr_results;
-};
-
-extern bool_t xdr_rmtcallres (XDR *__xdrs, struct rmtcallres *__crp) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/pmap_rmt.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/rpc.h b/mdk-stage1/dietlibc/include/rpc/rpc.h
deleted file mode 100644
index 20b341d74..000000000
--- a/mdk-stage1/dietlibc/include/rpc/rpc.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* @(#)rpc.h 2.3 88/08/10 4.0 RPCSRC; from 1.9 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * rpc.h, Just includes the billions of rpc header files necessary to
- * do remote procedure calling.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_RPC_H
-#define _RPC_RPC_H 1
-
-#include <rpc/types.h> /* some typedefs */
-#include <netinet/in.h>
-
-/* external data representation interfaces */
-#include <rpc/xdr.h> /* generic (de)serializer */
-
-/* Client side only authentication */
-#include <rpc/auth.h> /* generic authenticator (client side) */
-
-/* Client side (mostly) remote procedure call */
-#include <rpc/clnt.h> /* generic rpc stuff */
-
-/* semi-private protocol headers */
-#include <rpc/rpc_msg.h> /* protocol for rpc messages */
-#include <rpc/auth_unix.h> /* protocol for unix style cred */
-#include <rpc/auth_des.h> /* protocol for des style cred */
-
-/* Server side only remote procedure callee */
-#include <rpc/svc.h> /* service manager and multiplexer */
-#include <rpc/svc_auth.h> /* service side authenticator */
-
-/*
- * COMMENT OUT THE NEXT INCLUDE IF RUNNING ON SUN OS OR ON A VERSION
- * OF UNIX BASED ON NFSSRC. These systems will already have the structures
- * defined by <rpc/netdb.h> included in <netdb.h>.
- */
-/* routines for parsing /etc/rpc */
-#include <rpc/netdb.h> /* structures and routines to parse /etc/rpc */
-
-int bindresvport(int sd, struct sockaddr_in* sin) __THROW;
-
-#endif /* rpc/rpc.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/rpc_des.h b/mdk-stage1/dietlibc/include/rpc/rpc_des.h
deleted file mode 100644
index 0f36d1697..000000000
--- a/mdk-stage1/dietlibc/include/rpc/rpc_des.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/*
- * Generic DES driver interface
- * Keep this file hardware independent!
- * Copyright (c) 1986 by Sun Microsystems, Inc.
- */
-
-#ifndef _DES_H
-#define _DES_H
-
-#include <sys/types.h>
-
-#define DES_MAXLEN 65536 /* maximum # of bytes to encrypt */
-#define DES_QUICKLEN 16 /* maximum # of bytes to encrypt quickly */
-
-enum desdir
- {
- ENCRYPT, DECRYPT
- };
-enum desmode
- {
- CBC, ECB
- };
-
-/*
- * parameters to ioctl call
- */
-struct desparams
- {
- u_char des_key[8]; /* key (with low bit parity) */
- enum desdir des_dir; /* direction */
- enum desmode des_mode; /* mode */
- u_char des_ivec[8]; /* input vector */
- unsigned des_len; /* number of bytes to crypt */
- union
- {
- u_char UDES_data[DES_QUICKLEN];
- u_char *UDES_buf;
- }
- UDES;
-#define des_data UDES.UDES_data /* direct data here if quick */
-#define des_buf UDES.UDES_buf /* otherwise, pointer to data */
- };
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/rpc/rpc_msg.h b/mdk-stage1/dietlibc/include/rpc/rpc_msg.h
deleted file mode 100644
index 636d60ea9..000000000
--- a/mdk-stage1/dietlibc/include/rpc/rpc_msg.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/* @(#)rpc_msg.h 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* @(#)rpc_msg.h 1.7 86/07/16 SMI */
-
-#ifndef _RPC_MSG_H
-#define _RPC_MSG_H 1
-
-#include <sys/cdefs.h>
-
-#include <rpc/xdr.h>
-#include <rpc/clnt.h>
-
-/*
- * rpc_msg.h
- * rpc message definition
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#define RPC_MSG_VERSION ((u_long) 2)
-#define RPC_SERVICE_PORT ((u_short) 2048)
-
-__BEGIN_DECLS
-
-/*
- * Bottom up definition of an rpc message.
- * NOTE: call and reply use the same overall struct but
- * different parts of unions within it.
- */
-
-enum msg_type {
- CALL=0,
- REPLY=1
-};
-
-enum reply_stat {
- MSG_ACCEPTED=0,
- MSG_DENIED=1
-};
-
-enum accept_stat {
- SUCCESS=0,
- PROG_UNAVAIL=1,
- PROG_MISMATCH=2,
- PROC_UNAVAIL=3,
- GARBAGE_ARGS=4,
- SYSTEM_ERR=5
-};
-
-enum reject_stat {
- RPC_MISMATCH=0,
- AUTH_ERROR=1
-};
-
-/*
- * Reply part of an rpc exchange
- */
-
-/*
- * Reply to an rpc request that was accepted by the server.
- * Note: there could be an error even though the request was
- * accepted.
- */
-struct accepted_reply {
- struct opaque_auth ar_verf;
- enum accept_stat ar_stat;
- union {
- struct {
- u_long low;
- u_long high;
- } AR_versions;
- struct {
- caddr_t where;
- xdrproc_t proc;
- } AR_results;
- /* and many other null cases */
- } ru;
-#define ar_results ru.AR_results
-#define ar_vers ru.AR_versions
-};
-
-/*
- * Reply to an rpc request that was rejected by the server.
- */
-struct rejected_reply {
- enum reject_stat rj_stat;
- union {
- struct {
- u_long low;
- u_long high;
- } RJ_versions;
- enum auth_stat RJ_why; /* why authentication did not work */
- } ru;
-#define rj_vers ru.RJ_versions
-#define rj_why ru.RJ_why
-};
-
-/*
- * Body of a reply to an rpc request.
- */
-struct reply_body {
- enum reply_stat rp_stat;
- union {
- struct accepted_reply RP_ar;
- struct rejected_reply RP_dr;
- } ru;
-#define rp_acpt ru.RP_ar
-#define rp_rjct ru.RP_dr
-};
-
-/*
- * Body of an rpc request call.
- */
-struct call_body {
- u_long cb_rpcvers; /* must be equal to two */
- u_long cb_prog;
- u_long cb_vers;
- u_long cb_proc;
- struct opaque_auth cb_cred;
- struct opaque_auth cb_verf; /* protocol specific - provided by client */
-};
-
-/*
- * The rpc message
- */
-struct rpc_msg {
- u_long rm_xid;
- enum msg_type rm_direction;
- union {
- struct call_body RM_cmb;
- struct reply_body RM_rmb;
- } ru;
-#define rm_call ru.RM_cmb
-#define rm_reply ru.RM_rmb
-};
-#define acpted_rply ru.RM_rmb.ru.RP_ar
-#define rjcted_rply ru.RM_rmb.ru.RP_dr
-
-
-/*
- * XDR routine to handle a rpc message.
- * xdr_callmsg(xdrs, cmsg)
- * XDR *xdrs;
- * struct rpc_msg *cmsg;
- */
-extern bool_t xdr_callmsg (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW;
-
-/*
- * XDR routine to pre-serialize the static part of a rpc message.
- * xdr_callhdr(xdrs, cmsg)
- * XDR *xdrs;
- * struct rpc_msg *cmsg;
- */
-extern bool_t xdr_callhdr (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW;
-
-/*
- * XDR routine to handle a rpc reply.
- * xdr_replymsg(xdrs, rmsg)
- * XDR *xdrs;
- * struct rpc_msg *rmsg;
- */
-extern bool_t xdr_replymsg (XDR *__xdrs, struct rpc_msg *__rmsg) __THROW;
-
-/*
- * Fills in the error part of a reply message.
- * _seterr_reply(msg, error)
- * struct rpc_msg *msg;
- * struct rpc_err *error;
- */
-extern void _seterr_reply (struct rpc_msg *__msg, struct rpc_err *__error)
- __THROW;
-
-__END_DECLS
-
-#endif /* rpc/rpc_msg.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/svc.h b/mdk-stage1/dietlibc/include/rpc/svc.h
deleted file mode 100644
index 27c997dde..000000000
--- a/mdk-stage1/dietlibc/include/rpc/svc.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * svc.h, Server-side remote procedure call interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_SVC_H
-#define _RPC_SVC_H 1
-
-#include <sys/cdefs.h>
-#include <rpc/rpc_msg.h>
-
-__BEGIN_DECLS
-
-/*
- * This interface must manage two items concerning remote procedure calling:
- *
- * 1) An arbitrary number of transport connections upon which rpc requests
- * are received. The two most notable transports are TCP and UDP; they are
- * created and registered by routines in svc_tcp.c and svc_udp.c, respectively;
- * they in turn call xprt_register and xprt_unregister.
- *
- * 2) An arbitrary number of locally registered services. Services are
- * described by the following four data: program number, version number,
- * "service dispatch" function, a transport handle, and a boolean that
- * indicates whether or not the exported program should be registered with a
- * local binder service; if true the program's number and version and the
- * port number from the transport handle are registered with the binder.
- * These data are registered with the rpc svc system via svc_register.
- *
- * A service's dispatch function is called whenever an rpc request comes in
- * on a transport. The request's program and version numbers must match
- * those of the registered service. The dispatch function is passed two
- * parameters, struct svc_req * and SVCXPRT *, defined below.
- */
-
-enum xprt_stat {
- XPRT_DIED,
- XPRT_MOREREQS,
- XPRT_IDLE
-};
-
-/*
- * Server side transport handle
- */
-typedef struct SVCXPRT SVCXPRT;
-struct SVCXPRT {
- int xp_sock;
- u_short xp_port; /* associated port number */
- const struct xp_ops {
- bool_t (*xp_recv) (SVCXPRT *__xprt, struct rpc_msg *__msg);
- /* receive incoming requests */
- enum xprt_stat (*xp_stat) (SVCXPRT *__xprt);
- /* get transport status */
- bool_t (*xp_getargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
- caddr_t args_ptr); /* get arguments */
- bool_t (*xp_reply) (SVCXPRT *__xprt, struct rpc_msg *__msg);
- /* send reply */
- bool_t (*xp_freeargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
- caddr_t args_ptr);
- /* free mem allocated for args */
- void (*xp_destroy) (SVCXPRT *__xprt);
- /* destroy this struct */
- } *xp_ops;
- int xp_addrlen; /* length of remote address */
- struct sockaddr_in xp_raddr; /* remote address */
- struct opaque_auth xp_verf; /* raw response verifier */
- caddr_t xp_p1; /* private */
- caddr_t xp_p2; /* private */
- char xp_pad [256]; /* padding, internal use */
-};
-
-/*
- * Approved way of getting address of caller
- */
-#define svc_getcaller(x) (&(x)->xp_raddr)
-
-/*
- * Operations defined on an SVCXPRT handle
- *
- * SVCXPRT *xprt;
- * struct rpc_msg *msg;
- * xdrproc_t xargs;
- * caddr_t argsp;
- */
-#define SVC_RECV(xprt, msg) \
- (*(xprt)->xp_ops->xp_recv)((xprt), (msg))
-#define svc_recv(xprt, msg) \
- (*(xprt)->xp_ops->xp_recv)((xprt), (msg))
-
-#define SVC_STAT(xprt) \
- (*(xprt)->xp_ops->xp_stat)(xprt)
-#define svc_stat(xprt) \
- (*(xprt)->xp_ops->xp_stat)(xprt)
-
-#define SVC_GETARGS(xprt, xargs, argsp) \
- (*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp))
-#define svc_getargs(xprt, xargs, argsp) \
- (*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp))
-
-#define SVC_REPLY(xprt, msg) \
- (*(xprt)->xp_ops->xp_reply) ((xprt), (msg))
-#define svc_reply(xprt, msg) \
- (*(xprt)->xp_ops->xp_reply) ((xprt), (msg))
-
-#define SVC_FREEARGS(xprt, xargs, argsp) \
- (*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp))
-#define svc_freeargs(xprt, xargs, argsp) \
- (*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp))
-
-#define SVC_DESTROY(xprt) \
- (*(xprt)->xp_ops->xp_destroy)(xprt)
-#define svc_destroy(xprt) \
- (*(xprt)->xp_ops->xp_destroy)(xprt)
-
-
-/*
- * Service request
- */
-struct svc_req {
- rpcprog_t rq_prog; /* service program number */
- rpcvers_t rq_vers; /* service protocol version */
- rpcproc_t rq_proc; /* the desired procedure */
- struct opaque_auth rq_cred; /* raw creds from the wire */
- caddr_t rq_clntcred; /* read only cooked cred */
- SVCXPRT *rq_xprt; /* associated transport */
-};
-
-#ifndef __DISPATCH_FN_T
-#define __DISPATCH_FN_T
-typedef void (*__dispatch_fn_t) (struct svc_req*, SVCXPRT*);
-#endif
-
-/*
- * Service registration
- *
- * svc_register(xprt, prog, vers, dispatch, protocol)
- * SVCXPRT *xprt;
- * rpcprog_t prog;
- * rpcvers_t vers;
- * void (*dispatch)(struct svc_req*, SVCXPRT*);
- * rpcprot_t protocol; like TCP or UDP, zero means do not register
- */
-extern bool_t svc_register (SVCXPRT *__xprt, rpcprog_t __prog,
- rpcvers_t __vers, __dispatch_fn_t __dispatch,
- rpcprot_t __protocol) __THROW;
-
-/*
- * Service un-registration
- *
- * svc_unregister(prog, vers)
- * rpcprog_t prog;
- * rpcvers_t vers;
- */
-extern void svc_unregister (rpcprog_t __prog, rpcvers_t __vers) __THROW;
-
-/*
- * Transport registration.
- *
- * xprt_register(xprt)
- * SVCXPRT *xprt;
- */
-extern void xprt_register (SVCXPRT *__xprt) __THROW;
-
-/*
- * Transport un-register
- *
- * xprt_unregister(xprt)
- * SVCXPRT *xprt;
- */
-extern void xprt_unregister (SVCXPRT *__xprt) __THROW;
-
-
-/*
- * When the service routine is called, it must first check to see if it
- * knows about the procedure; if not, it should call svcerr_noproc
- * and return. If so, it should deserialize its arguments via
- * SVC_GETARGS (defined above). If the deserialization does not work,
- * svcerr_decode should be called followed by a return. Successful
- * decoding of the arguments should be followed the execution of the
- * procedure's code and a call to svc_sendreply.
- *
- * Also, if the service refuses to execute the procedure due to too-
- * weak authentication parameters, svcerr_weakauth should be called.
- * Note: do not confuse access-control failure with weak authentication!
- *
- * NB: In pure implementations of rpc, the caller always waits for a reply
- * msg. This message is sent when svc_sendreply is called.
- * Therefore pure service implementations should always call
- * svc_sendreply even if the function logically returns void; use
- * xdr.h - xdr_void for the xdr routine. HOWEVER, tcp based rpc allows
- * for the abuse of pure rpc via batched calling or pipelining. In the
- * case of a batched call, svc_sendreply should NOT be called since
- * this would send a return message, which is what batching tries to avoid.
- * It is the service/protocol writer's responsibility to know which calls are
- * batched and which are not. Warning: responding to batch calls may
- * deadlock the caller and server processes!
- */
-
-extern bool_t svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results,
- caddr_t __xdr_location) __THROW;
-
-extern void svcerr_decode (SVCXPRT *__xprt) __THROW;
-
-extern void svcerr_weakauth (SVCXPRT *__xprt) __THROW;
-
-extern void svcerr_noproc (SVCXPRT *__xprt) __THROW;
-
-extern void svcerr_progvers (SVCXPRT *__xprt, rpcvers_t __low_vers,
- rpcvers_t __high_vers) __THROW;
-
-extern void svcerr_auth (SVCXPRT *__xprt, enum auth_stat __why) __THROW;
-
-extern void svcerr_noprog (SVCXPRT *__xprt) __THROW;
-
-extern void svcerr_systemerr (SVCXPRT *__xprt) __THROW;
-
-/*
- * Lowest level dispatching -OR- who owns this process anyway.
- * Somebody has to wait for incoming requests and then call the correct
- * service routine. The routine svc_run does infinite waiting; i.e.,
- * svc_run never returns.
- * Since another (coexistent) package may wish to selectively wait for
- * incoming calls or other events outside of the rpc architecture, the
- * routine svc_getreq is provided. It must be passed readfds, the
- * "in-place" results of a select system call (see select, section 2).
- */
-
-/*
- * Global keeper of rpc service descriptors in use
- * dynamic; must be inspected before each call to select
- */
-
-extern struct pollfd *svc_pollfd;
-extern int svc_max_pollfd;
-extern fd_set svc_fdset;
-#define svc_fds svc_fdset.fds_bits[0] /* compatibility */
-
-/*
- * a small program implemented by the svc_rpc implementation itself;
- * also see clnt.h for protocol numbers.
- */
-extern void svc_getreq (int __rdfds) __THROW;
-extern void svc_getreq_common (const int __fd) __THROW;
-extern void svc_getreqset (fd_set *__readfds) __THROW;
-extern void svc_getreq_poll (struct pollfd *, const int) __THROW;
-extern void svc_exit (void) __THROW;
-extern void svc_run (void) __THROW;
-
-/*
- * Socket to use on svcxxx_create call to get default socket
- */
-#define RPC_ANYSOCK -1
-
-/*
- * These are the existing service side transport implementations
- */
-
-/*
- * Memory based rpc for testing and timing.
- */
-extern SVCXPRT *svcraw_create (void) __THROW;
-
-/*
- * Udp based rpc.
- */
-extern SVCXPRT *svcudp_create (int __sock) __THROW;
-extern SVCXPRT *svcudp_bufcreate (int __sock, u_int __sendsz, u_int __recvsz)
- __THROW;
-
-/*
- * Tcp based rpc.
- */
-extern SVCXPRT *svctcp_create (int __sock, u_int __sendsize, u_int __recvsize)
- __THROW;
-
-
-/*
- * Unix based rpc.
- */
-extern SVCXPRT *svcunix_create (int __sock, u_int __sendsize, u_int __recvsize,
- char *__path) __THROW;
-
-
-__END_DECLS
-
-#endif /* rpc/svc.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/svc_auth.h b/mdk-stage1/dietlibc/include/rpc/svc_auth.h
deleted file mode 100644
index cd4b8da29..000000000
--- a/mdk-stage1/dietlibc/include/rpc/svc_auth.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* @(#)svc_auth.h 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* @(#)svc_auth.h 1.6 86/07/16 SMI */
-
-/*
- * svc_auth.h, Service side of rpc authentication.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_SVC_AUTH_H
-#define _RPC_SVC_AUTH_H 1
-
-#include <sys/cdefs.h>
-#include <rpc/svc.h>
-
-__BEGIN_DECLS
-
-/*
- * Server side authenticator
- */
-extern enum auth_stat _authenticate (struct svc_req *__rqst,
- struct rpc_msg *__msg) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/svc_auth.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/types.h b/mdk-stage1/dietlibc/include/rpc/types.h
deleted file mode 100644
index e2e8402be..000000000
--- a/mdk-stage1/dietlibc/include/rpc/types.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* fixincludes should not add extern "C" to this file */
-/*
- * Rpc additions to <sys/types.h>
- */
-#ifndef _RPC_TYPES_H
-#define _RPC_TYPES_H 1
-
-typedef int bool_t;
-typedef int enum_t;
-/* This needs to be changed to uint32_t in the future */
-typedef unsigned long rpcprog_t;
-typedef unsigned long rpcvers_t;
-typedef unsigned long rpcproc_t;
-typedef unsigned long rpcprot_t;
-typedef unsigned long rpcport_t;
-
-#define __dontcare__ -1
-
-#ifndef FALSE
-# define FALSE (0)
-#endif
-
-#ifndef TRUE
-# define TRUE (1)
-#endif
-
-#ifndef NULL
-# define NULL 0
-#endif
-
-#include <stdlib.h> /* For malloc decl. */
-#define mem_alloc(bsize) malloc(bsize)
-#define mem_free(ptr, bsize) free(ptr)
-
-#ifndef makedev /* ie, we haven't already included it */
-#include <sys/types.h>
-#endif
-#include <sys/time.h>
-#include <sys/param.h>
-
-#include <netinet/in.h>
-
-#ifndef INADDR_LOOPBACK
-#define INADDR_LOOPBACK (u_long)0x7F000001
-#endif
-#ifndef MAXHOSTNAMELEN
-#define MAXHOSTNAMELEN 64
-#endif
-
-#endif /* rpc/types.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/xdr.h b/mdk-stage1/dietlibc/include/rpc/xdr.h
deleted file mode 100644
index ce092f085..000000000
--- a/mdk-stage1/dietlibc/include/rpc/xdr.h
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * xdr.h, External Data Representation Serialization Routines.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_XDR_H
-#define _RPC_XDR_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-
-/* We need FILE. */
-#include <stdio.h>
-
-__BEGIN_DECLS
-
-/*
- * XDR provides a conventional way for converting between C data
- * types and an external bit-string representation. Library supplied
- * routines provide for the conversion on built-in C data types. These
- * routines and utility routines defined here are used to help implement
- * a type encode/decode routine for each user-defined type.
- *
- * Each data type provides a single procedure which takes two arguments:
- *
- * bool_t
- * xdrproc(xdrs, argresp)
- * XDR *xdrs;
- * <type> *argresp;
- *
- * xdrs is an instance of a XDR handle, to which or from which the data
- * type is to be converted. argresp is a pointer to the structure to be
- * converted. The XDR handle contains an operation field which indicates
- * which of the operations (ENCODE, DECODE * or FREE) is to be performed.
- *
- * XDR_DECODE may allocate space if the pointer argresp is null. This
- * data can be freed with the XDR_FREE operation.
- *
- * We write only one procedure per data type to make it easy
- * to keep the encode and decode procedures for a data type consistent.
- * In many cases the same code performs all operations on a user defined type,
- * because all the hard work is done in the component type routines.
- * decode as a series of calls on the nested data types.
- */
-
-/*
- * Xdr operations. XDR_ENCODE causes the type to be encoded into the
- * stream. XDR_DECODE causes the type to be extracted from the stream.
- * XDR_FREE can be used to release the space allocated by an XDR_DECODE
- * request.
- */
-enum xdr_op {
- XDR_ENCODE = 0,
- XDR_DECODE = 1,
- XDR_FREE = 2
-};
-
-/*
- * This is the number of bytes per unit of external data.
- */
-#define BYTES_PER_XDR_UNIT (4)
-/*
- * This only works if the above is a power of 2. But it's defined to be
- * 4 by the appropriate RFCs. So it will work. And it's normally quicker
- * than the old routine.
- */
-#if 1
-#define RNDUP(x) (((x) + BYTES_PER_XDR_UNIT - 1) & ~(BYTES_PER_XDR_UNIT - 1))
-#else /* this is the old routine */
-#define RNDUP(x) ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \
- * BYTES_PER_XDR_UNIT)
-#endif
-
-/*
- * The XDR handle.
- * Contains operation which is being applied to the stream,
- * an operations vector for the particular implementation (e.g. see xdr_mem.c),
- * and two private fields for the use of the particular implementation.
- */
-typedef struct XDR XDR;
-struct XDR
- {
- enum xdr_op x_op; /* operation; fast additional param */
- struct xdr_ops
- {
- bool_t (*x_getlong) (XDR *__xdrs, long *__lp);
- /* get a long from underlying stream */
- bool_t (*x_putlong) (XDR *__xdrs, const long *__lp);
- /* put a long to " */
- bool_t (*x_getbytes) (XDR *__xdrs, caddr_t __addr, u_int __len);
- /* get some bytes from " */
- bool_t (*x_putbytes) (XDR *__xdrs, const char *__addr, u_int __len);
- /* put some bytes to " */
- u_int (*x_getpostn) (const XDR *__xdrs);
- /* returns bytes off from beginning */
- bool_t (*x_setpostn) (XDR *__xdrs, u_int __pos);
- /* lets you reposition the stream */
- int32_t *(*x_inline) (XDR *__xdrs, int __len);
- /* buf quick ptr to buffered data */
- void (*x_destroy) (XDR *__xdrs);
- /* free privates of this xdr_stream */
- bool_t (*x_getint32) (XDR *__xdrs, int32_t *__ip);
- /* get a int from underlying stream */
- bool_t (*x_putint32) (XDR *__xdrs, const int32_t *__ip);
- /* put a int to " */
- }
- *x_ops;
- caddr_t x_public; /* users' data */
- caddr_t x_private; /* pointer to private data */
- caddr_t x_base; /* private used for position info */
- int x_handy; /* extra private word */
- };
-
-/*
- * A xdrproc_t exists for each data type which is to be encoded or decoded.
- *
- * The second argument to the xdrproc_t is a pointer to an opaque pointer.
- * The opaque pointer generally points to a structure of the data type
- * to be decoded. If this pointer is 0, then the type routines should
- * allocate dynamic storage of the appropriate size and return it.
- * bool_t (*xdrproc_t)(XDR *, caddr_t *);
- */
-typedef bool_t (*xdrproc_t) (XDR *, void *,...);
-
-
-/*
- * Operations defined on a XDR handle
- *
- * XDR *xdrs;
- * int32_t *int32p;
- * long *longp;
- * caddr_t addr;
- * u_int len;
- * u_int pos;
- */
-#define XDR_GETINT32(xdrs, int32p) \
- (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
-#define xdr_getint32(xdrs, int32p) \
- (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
-
-#define XDR_PUTINT32(xdrs, int32p) \
- (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
-#define xdr_putint32(xdrs, int32p) \
- (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
-
-#define XDR_GETLONG(xdrs, longp) \
- (*(xdrs)->x_ops->x_getlong)(xdrs, longp)
-#define xdr_getlong(xdrs, longp) \
- (*(xdrs)->x_ops->x_getlong)(xdrs, longp)
-
-#define XDR_PUTLONG(xdrs, longp) \
- (*(xdrs)->x_ops->x_putlong)(xdrs, longp)
-#define xdr_putlong(xdrs, longp) \
- (*(xdrs)->x_ops->x_putlong)(xdrs, longp)
-
-#define XDR_GETBYTES(xdrs, addr, len) \
- (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
-#define xdr_getbytes(xdrs, addr, len) \
- (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
-
-#define XDR_PUTBYTES(xdrs, addr, len) \
- (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
-#define xdr_putbytes(xdrs, addr, len) \
- (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
-
-#define XDR_GETPOS(xdrs) \
- (*(xdrs)->x_ops->x_getpostn)(xdrs)
-#define xdr_getpos(xdrs) \
- (*(xdrs)->x_ops->x_getpostn)(xdrs)
-
-#define XDR_SETPOS(xdrs, pos) \
- (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
-#define xdr_setpos(xdrs, pos) \
- (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
-
-#define XDR_INLINE(xdrs, len) \
- (*(xdrs)->x_ops->x_inline)(xdrs, len)
-#define xdr_inline(xdrs, len) \
- (*(xdrs)->x_ops->x_inline)(xdrs, len)
-
-#define XDR_DESTROY(xdrs) \
- do { \
- if ((xdrs)->x_ops->x_destroy) \
- (*(xdrs)->x_ops->x_destroy)(xdrs); \
- } while (0)
-#define xdr_destroy(xdrs) \
- do { \
- if ((xdrs)->x_ops->x_destroy) \
- (*(xdrs)->x_ops->x_destroy)(xdrs); \
- } while (0)
-
-/*
- * Support struct for discriminated unions.
- * You create an array of xdrdiscrim structures, terminated with
- * a entry with a null procedure pointer. The xdr_union routine gets
- * the discriminant value and then searches the array of structures
- * for a matching value. If a match is found the associated xdr routine
- * is called to handle that part of the union. If there is
- * no match, then a default routine may be called.
- * If there is no match and no default routine it is an error.
- */
-#define NULL_xdrproc_t ((xdrproc_t)0)
-struct xdr_discrim
-{
- int value;
- xdrproc_t proc;
-};
-
-/*
- * Inline routines for fast encode/decode of primitive data types.
- * Caveat emptor: these use single memory cycles to get the
- * data from the underlying buffer, and will fail to operate
- * properly if the data is not aligned. The standard way to use these
- * is to say:
- * if ((buf = XDR_INLINE(xdrs, count)) == NULL)
- * return (FALSE);
- * <<< macro calls >>>
- * where ``count'' is the number of bytes of data occupied
- * by the primitive data types.
- *
- * N.B. and frozen for all time: each data type here uses 4 bytes
- * of external representation.
- */
-
-#define IXDR_GET_INT32(buf) ((int32_t)ntohl((uint32_t)*(buf)++))
-#define IXDR_PUT_INT32(buf, v) (*(buf)++ = (int32_t)htonl((uint32_t)(v)))
-#define IXDR_GET_U_INT32(buf) ((uint32_t)IXDR_GET_INT32(buf))
-#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_INT32(buf, (int32_t)(v))
-
-/* WARNING: The IXDR_*_LONG defines are removed by Sun for new platforms
- * and shouldn't be used any longer. Code which use this defines or longs
- * in the RPC code will not work on 64bit Solaris platforms !
- */
-#define IXDR_GET_LONG(buf) \
- ((long)ntohl((u_long)*__extension__((u_int32_t*)(buf))++))
-#define IXDR_PUT_LONG(buf, v) \
- (*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v)))
-#define IXDR_GET_U_LONG(buf) ((u_long)IXDR_GET_LONG(buf))
-#define IXDR_PUT_U_LONG(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-
-
-#define IXDR_GET_BOOL(buf) ((bool_t)IXDR_GET_LONG(buf))
-#define IXDR_GET_ENUM(buf, t) ((t)IXDR_GET_LONG(buf))
-#define IXDR_GET_SHORT(buf) ((short)IXDR_GET_LONG(buf))
-#define IXDR_GET_U_SHORT(buf) ((u_short)IXDR_GET_LONG(buf))
-
-#define IXDR_PUT_BOOL(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-#define IXDR_PUT_ENUM(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-#define IXDR_PUT_SHORT(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-#define IXDR_PUT_U_SHORT(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-
-/*
- * These are the "generic" xdr routines.
- * None of these can have const applied because it's not possible to
- * know whether the call is a read or a write to the passed parameter
- * also, the XDR structure is always updated by some of these calls.
- */
-extern bool_t xdr_void (void) __THROW;
-extern bool_t xdr_short (XDR *__xdrs, short *__sp) __THROW;
-extern bool_t xdr_u_short (XDR *__xdrs, u_short *__usp) __THROW;
-extern bool_t xdr_int (XDR *__xdrs, int *__ip) __THROW;
-extern bool_t xdr_u_int (XDR *__xdrs, u_int *__up) __THROW;
-extern bool_t xdr_long (XDR *__xdrs, long *__lp) __THROW;
-extern bool_t xdr_u_long (XDR *__xdrs, u_long *__ulp) __THROW;
-extern bool_t xdr_hyper (XDR *__xdrs, __quad_t *__llp) __THROW;
-extern bool_t xdr_u_hyper (XDR *__xdrs, __u_quad_t *__ullp) __THROW;
-extern bool_t xdr_longlong_t (XDR *__xdrs, __quad_t *__llp) __THROW;
-extern bool_t xdr_u_longlong_t (XDR *__xdrs, __u_quad_t *__ullp) __THROW;
-extern bool_t xdr_int8_t (XDR *__xdrs, int8_t *__ip) __THROW;
-extern bool_t xdr_uint8_t (XDR *__xdrs, uint8_t *__up) __THROW;
-extern bool_t xdr_int16_t (XDR *__xdrs, int16_t *__ip) __THROW;
-extern bool_t xdr_uint16_t (XDR *__xdrs, uint16_t *__up) __THROW;
-extern bool_t xdr_int32_t (XDR *__xdrs, int32_t *__ip) __THROW;
-extern bool_t xdr_uint32_t (XDR *__xdrs, uint32_t *__up) __THROW;
-extern bool_t xdr_int64_t (XDR *__xdrs, int64_t *__ip) __THROW;
-extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t *__up) __THROW;
-extern bool_t xdr_bool (XDR *__xdrs, bool_t *__bp) __THROW;
-extern bool_t xdr_enum (XDR *__xdrs, enum_t *__ep) __THROW;
-extern bool_t xdr_array (XDR * _xdrs, caddr_t *__addrp, u_int *__sizep,
- u_int __maxsize, u_int __elsize, xdrproc_t __elproc)
- __THROW;
-extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, u_int *__sizep,
- u_int __maxsize) __THROW;
-extern bool_t xdr_opaque (XDR *__xdrs, caddr_t __cp, u_int __cnt) __THROW;
-extern bool_t xdr_string (XDR *__xdrs, char **__cpp, u_int __maxsize) __THROW;
-extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp,
- const struct xdr_discrim *__choices,
- xdrproc_t dfault) __THROW;
-extern bool_t xdr_char (XDR *__xdrs, char *__cp) __THROW;
-extern bool_t xdr_u_char (XDR *__xdrs, u_char *__cp) __THROW;
-extern bool_t xdr_vector (XDR *__xdrs, char *__basep, u_int __nelem,
- u_int __elemsize, xdrproc_t __xdr_elem) __THROW;
-extern bool_t xdr_float (XDR *__xdrs, float *__fp) __THROW;
-extern bool_t xdr_double (XDR *__xdrs, double *__dp) __THROW;
-extern bool_t xdr_reference (XDR *__xdrs, caddr_t *__xpp, u_int __size,
- xdrproc_t __proc) __THROW;
-extern bool_t xdr_pointer (XDR *__xdrs, char **__objpp,
- u_int __obj_size, xdrproc_t __xdr_obj) __THROW;
-extern bool_t xdr_wrapstring (XDR *__xdrs, char **__cpp) __THROW;
-extern u_long xdr_sizeof (xdrproc_t, void *) __THROW;
-
-/*
- * Common opaque bytes objects used by many rpc protocols;
- * declared here due to commonality.
- */
-#define MAX_NETOBJ_SZ 1024
-struct netobj
-{
- u_int n_len;
- char *n_bytes;
-};
-typedef struct netobj netobj;
-extern bool_t xdr_netobj (XDR *__xdrs, struct netobj *__np) __THROW;
-
-/*
- * These are the public routines for the various implementations of
- * xdr streams.
- */
-
-/* XDR using memory buffers */
-extern void xdrmem_create (XDR *__xdrs, const caddr_t __addr,
- u_int __size, enum xdr_op __xop) __THROW;
-
-/* XDR using stdio library */
-extern void xdrstdio_create (XDR *__xdrs, FILE *__file, enum xdr_op __xop)
- __THROW;
-
-/* XDR pseudo records for tcp */
-extern void xdrrec_create (XDR *__xdrs, u_int __sendsize,
- u_int __recvsize, caddr_t __tcp_handle,
- int (*__readit) (char *, char *, int),
- int (*__writeit) (char *, char *, int)) __THROW;
-
-/* make end of xdr record */
-extern bool_t xdrrec_endofrecord (XDR *__xdrs, bool_t __sendnow) __THROW;
-
-/* move to beginning of next record */
-extern bool_t xdrrec_skiprecord (XDR *__xdrs) __THROW;
-
-/* true if no more input */
-extern bool_t xdrrec_eof (XDR *__xdrs) __THROW;
-
-/* free memory buffers for xdr */
-extern void xdr_free (xdrproc_t __proc, char *__objp) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/xdr.h */
diff --git a/mdk-stage1/dietlibc/include/sched.h b/mdk-stage1/dietlibc/include/sched.h
deleted file mode 100644
index 5e4430d29..000000000
--- a/mdk-stage1/dietlibc/include/sched.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _SCHED_H
-#define _SCHED_H 1
-
-#include <time.h>
-
-#include <sys/types.h>
-#ifndef u16
-#define u16 __u16
-#endif
-
-/* till those F**KIN' kernel headers are sane: A COPY !
- * #include <linux/sched.h>
- * A COPY OF THE STUFF WE NEED.... *GRUMBLE* */
-
-/*
- * cloning flags:
- */
-#define CSIGNAL 0x000000ff /* signal mask to be sent at exit */
-#define CLONE_VM 0x00000100 /* set if VM shared between processes */
-#define CLONE_FS 0x00000200 /* set if fs info shared between processes */
-#define CLONE_FILES 0x00000400 /* set if open files shared between processes */
-#define CLONE_SIGHAND 0x00000800 /* set if signal handlers and blocked signals shared */
-#define CLONE_PID 0x00001000 /* set if pid shared */
-#define CLONE_PTRACE 0x00002000 /* set if we want to let tracing continue on the child too */
-#define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */
-#define CLONE_PARENT 0x00008000 /* set if we want to have the same parent as the cloner */
-#define CLONE_THREAD 0x00010000 /* Same thread group? */
-
-#define CLONE_SIGNAL (CLONE_SIGHAND | CLONE_THREA)
-
-/*
- * Scheduling policies
- */
-#define SCHED_OTHER 0
-#define SCHED_FIFO 1
-#define SCHED_RR 2
-
-/*
- * This is an additional bit set when we want to
- * yield the CPU for one re-schedule..
- */
-#define SCHED_YIELD 0x10
-
-struct sched_param {
- int sched_priority;
-};
-
-/* END OF COPY form kernel-header */
-
-int __sched_setparam(pid_t pid, const struct sched_param *p);
-int sched_setparam(pid_t pid, const struct sched_param *p);
-
-int __sched_getparam(pid_t pid, struct sched_param *p);
-int sched_getparam(pid_t pid, struct sched_param *p);
-
-int __sched_getscheduler(pid_t pid);
-int sched_getscheduler(pid_t pid);
-
-int __sched_setscheduler(pid_t pid, int policy, const struct sched_param *p);
-int sched_setscheduler(pid_t pid, int policy, const struct sched_param *p);
-
-int __sched_yield(void);
-int sched_yield(void);
-
-int __sched_get_priority_max(int policy);
-int sched_get_priority_max(int policy);
-
-int __sched_get_priority_min(int policy);
-int sched_get_priority_min(int policy);
-
-int __sched_rr_get_interval(pid_t pid, struct timespec *tp);
-int sched_rr_get_interval(pid_t pid, struct timespec *tp);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/scsi/scsi.h b/mdk-stage1/dietlibc/include/scsi/scsi.h
deleted file mode 100644
index 652e44ee9..000000000
--- a/mdk-stage1/dietlibc/include/scsi/scsi.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/*
- * This header file contains public constants and structures used by
- * the scsi code for linux.
- */
-
-#ifndef _SCSI_SCSI_H
-#define _SCSI_SCSI_H 1
-
-/*
- * SCSI opcodes
- */
-
-#define TEST_UNIT_READY 0x00
-#define REZERO_UNIT 0x01
-#define REQUEST_SENSE 0x03
-#define FORMAT_UNIT 0x04
-#define READ_BLOCK_LIMITS 0x05
-#define REASSIGN_BLOCKS 0x07
-#define READ_6 0x08
-#define WRITE_6 0x0a
-#define SEEK_6 0x0b
-#define READ_REVERSE 0x0f
-#define WRITE_FILEMARKS 0x10
-#define SPACE 0x11
-#define INQUIRY 0x12
-#define RECOVER_BUFFERED_DATA 0x14
-#define MODE_SELECT 0x15
-#define RESERVE 0x16
-#define RELEASE 0x17
-#define COPY 0x18
-#define ERASE 0x19
-#define MODE_SENSE 0x1a
-#define START_STOP 0x1b
-#define RECEIVE_DIAGNOSTIC 0x1c
-#define SEND_DIAGNOSTIC 0x1d
-#define ALLOW_MEDIUM_REMOVAL 0x1e
-
-#define SET_WINDOW 0x24
-#define READ_CAPACITY 0x25
-#define READ_10 0x28
-#define WRITE_10 0x2a
-#define SEEK_10 0x2b
-#define WRITE_VERIFY 0x2e
-#define VERIFY 0x2f
-#define SEARCH_HIGH 0x30
-#define SEARCH_EQUAL 0x31
-#define SEARCH_LOW 0x32
-#define SET_LIMITS 0x33
-#define PRE_FETCH 0x34
-#define READ_POSITION 0x34
-#define SYNCHRONIZE_CACHE 0x35
-#define LOCK_UNLOCK_CACHE 0x36
-#define READ_DEFECT_DATA 0x37
-#define MEDIUM_SCAN 0x38
-#define COMPARE 0x39
-#define COPY_VERIFY 0x3a
-#define WRITE_BUFFER 0x3b
-#define READ_BUFFER 0x3c
-#define UPDATE_BLOCK 0x3d
-#define READ_LONG 0x3e
-#define WRITE_LONG 0x3f
-#define CHANGE_DEFINITION 0x40
-#define WRITE_SAME 0x41
-#define READ_TOC 0x43
-#define LOG_SELECT 0x4c
-#define LOG_SENSE 0x4d
-#define MODE_SELECT_10 0x55
-#define RESERVE_10 0x56
-#define RELEASE_10 0x57
-#define MODE_SENSE_10 0x5a
-#define PERSISTENT_RESERVE_IN 0x5e
-#define PERSISTENT_RESERVE_OUT 0x5f
-#define MOVE_MEDIUM 0xa5
-#define READ_12 0xa8
-#define WRITE_12 0xaa
-#define WRITE_VERIFY_12 0xae
-#define SEARCH_HIGH_12 0xb0
-#define SEARCH_EQUAL_12 0xb1
-#define SEARCH_LOW_12 0xb2
-#define READ_ELEMENT_STATUS 0xb8
-#define SEND_VOLUME_TAG 0xb6
-#define WRITE_LONG_2 0xea
-
-/*
- * Status codes
- */
-
-#define GOOD 0x00
-#define CHECK_CONDITION 0x01
-#define CONDITION_GOOD 0x02
-#define BUSY 0x04
-#define INTERMEDIATE_GOOD 0x08
-#define INTERMEDIATE_C_GOOD 0x0a
-#define RESERVATION_CONFLICT 0x0c
-#define COMMAND_TERMINATED 0x11
-#define QUEUE_FULL 0x14
-
-#define STATUS_MASK 0x3e
-
-/*
- * SENSE KEYS
- */
-
-#define NO_SENSE 0x00
-#define RECOVERED_ERROR 0x01
-#define NOT_READY 0x02
-#define MEDIUM_ERROR 0x03
-#define HARDWARE_ERROR 0x04
-#define ILLEGAL_REQUEST 0x05
-#define UNIT_ATTENTION 0x06
-#define DATA_PROTECT 0x07
-#define BLANK_CHECK 0x08
-#define COPY_ABORTED 0x0a
-#define ABORTED_COMMAND 0x0b
-#define VOLUME_OVERFLOW 0x0d
-#define MISCOMPARE 0x0e
-
-
-/*
- * DEVICE TYPES
- */
-
-#define TYPE_DISK 0x00
-#define TYPE_TAPE 0x01
-#define TYPE_PROCESSOR 0x03 /* HP scanners use this */
-#define TYPE_WORM 0x04 /* Treated as ROM by our system */
-#define TYPE_ROM 0x05
-#define TYPE_SCANNER 0x06
-#define TYPE_MOD 0x07 /* Magneto-optical disk -
- * - treated as TYPE_DISK */
-#define TYPE_MEDIUM_CHANGER 0x08
-#define TYPE_ENCLOSURE 0x0d /* Enclosure Services Device */
-#define TYPE_NO_LUN 0x7f
-
-/*
- * standard mode-select header prepended to all mode-select commands
- *
- * moved here from cdrom.h -- kraxel
- */
-
-struct ccs_modesel_head
- {
- unsigned char _r1; /* reserved. */
- unsigned char medium; /* device-specific medium type. */
- unsigned char _r2; /* reserved. */
- unsigned char block_desc_length; /* block descriptor length. */
- unsigned char density; /* device-specific density code. */
- unsigned char number_blocks_hi; /* number of blocks in this block
- desc. */
- unsigned char number_blocks_med;
- unsigned char number_blocks_lo;
- unsigned char _r3;
- unsigned char block_length_hi; /* block length for blocks in this
- desc. */
- unsigned char block_length_med;
- unsigned char block_length_lo;
- };
-
-/*
- * MESSAGE CODES
- */
-
-#define COMMAND_COMPLETE 0x00
-#define EXTENDED_MESSAGE 0x01
-#define EXTENDED_MODIFY_DATA_POINTER 0x00
-#define EXTENDED_SDTR 0x01
-#define EXTENDED_EXTENDED_IDENTIFY 0x02 /* SCSI-I only */
-#define EXTENDED_WDTR 0x03
-#define SAVE_POINTERS 0x02
-#define RESTORE_POINTERS 0x03
-#define DISCONNECT 0x04
-#define INITIATOR_ERROR 0x05
-#define ABORT 0x06
-#define MESSAGE_REJECT 0x07
-#define NOP 0x08
-#define MSG_PARITY_ERROR 0x09
-#define LINKED_CMD_COMPLETE 0x0a
-#define LINKED_FLG_CMD_COMPLETE 0x0b
-#define BUS_DEVICE_RESET 0x0c
-
-#define INITIATE_RECOVERY 0x0f /* SCSI-II only */
-#define RELEASE_RECOVERY 0x10 /* SCSI-II only */
-
-#define SIMPLE_QUEUE_TAG 0x20
-#define HEAD_OF_QUEUE_TAG 0x21
-#define ORDERED_QUEUE_TAG 0x22
-
-/*
- * Here are some scsi specific ioctl commands which are sometimes useful.
- */
-/* These are a few other constants only used by scsi devices. */
-
-#define SCSI_IOCTL_GET_IDLUN 0x5382
-
-/* Used to turn on and off tagged queuing for scsi devices. */
-
-#define SCSI_IOCTL_TAGGED_ENABLE 0x5383
-#define SCSI_IOCTL_TAGGED_DISABLE 0x5384
-
-/* Used to obtain the host number of a device. */
-#define SCSI_IOCTL_PROBE_HOST 0x5385
-
-/* Used to get the bus number for a device. */
-#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386
-
-#endif /* scsi/scsi.h */
diff --git a/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h b/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h
deleted file mode 100644
index bc9931838..000000000
--- a/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef _SCSI_IOCTL_H
-#define _SCSI_IOCTL_H
-
-/* IOCTLs for SCSI. */
-#define SCSI_IOCTL_SEND_COMMAND 1 /* Send a command to the SCSI host. */
-#define SCSI_IOCTL_TEST_UNIT_READY 2 /* Test if unit is ready. */
-#define SCSI_IOCTL_BENCHMARK_COMMAND 3
-#define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters. */
-#define SCSI_IOCTL_START_UNIT 5
-#define SCSI_IOCTL_STOP_UNIT 6
-#define SCSI_IOCTL_DOORLOCK 0x5380 /* Lock the eject mechanism. */
-#define SCSI_IOCTL_DOORUNLOCK 0x5381 /* Unlock the mechanism. */
-
-#endif
-
-
diff --git a/mdk-stage1/dietlibc/include/scsi/sg.h b/mdk-stage1/dietlibc/include/scsi/sg.h
deleted file mode 100644
index 00334654e..000000000
--- a/mdk-stage1/dietlibc/include/scsi/sg.h
+++ /dev/null
@@ -1,274 +0,0 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/*
- History:
- Started: Aug 9 by Lawrence Foard (entropy@world.std.com), to allow user
- process control of SCSI devices.
- Development Sponsored by Killy Corp. NY NY
-*/
-
-#ifndef _SCSI_SG_H
-#define _SCSI_SG_H 1
-
-#include <sys/types.h>
-
-/* New interface introduced in the 3.x SG drivers follows */
-
-/* Same structure as used by readv() Linux system call. It defines one
- scatter-gather element. */
-typedef struct sg_iovec
-{
- void * iov_base; /* Starting address */
- size_t iov_len; /* Length in bytes */
-} sg_iovec_t;
-
-
-typedef struct sg_io_hdr
-{
- int interface_id; /* [i] 'S' for SCSI generic (required) */
- int dxfer_direction; /* [i] data transfer direction */
- unsigned char cmd_len; /* [i] SCSI command length ( <= 16 bytes) */
- unsigned char mx_sb_len; /* [i] max length to write to sbp */
- unsigned short int iovec_count; /* [i] 0 implies no scatter gather */
- unsigned int dxfer_len; /* [i] byte count of data transfer */
- void * dxferp; /* [i], [*io] points to data transfer memory
- or scatter gather list */
- unsigned char * cmdp; /* [i], [*i] points to command to perform */
- unsigned char * sbp; /* [i], [*o] points to sense_buffer memory */
- unsigned int timeout; /* [i] MAX_UINT->no timeout (unit: millisec) */
- unsigned int flags; /* [i] 0 -> default, see SG_FLAG... */
- int pack_id; /* [i->o] unused internally (normally) */
- void * usr_ptr; /* [i->o] unused internally */
- unsigned char status; /* [o] scsi status */
- unsigned char masked_status;/* [o] shifted, masked scsi status */
- unsigned char msg_status; /* [o] messaging level data (optional) */
- unsigned char sb_len_wr; /* [o] byte count actually written to sbp */
- unsigned short int host_status; /* [o] errors from host adapter */
- unsigned short int driver_status;/* [o] errors from software driver */
- int resid; /* [o] dxfer_len - actual_transferred */
- unsigned int duration; /* [o] time taken by cmd (unit: millisec) */
- unsigned int info; /* [o] auxiliary information */
-} sg_io_hdr_t;
-
-
-/* Use negative values to flag difference from original sg_header structure. */
-#define SG_DXFER_NONE -1 /* e.g. a SCSI Test Unit Ready command */
-#define SG_DXFER_TO_DEV -2 /* e.g. a SCSI WRITE command */
-#define SG_DXFER_FROM_DEV -3 /* e.g. a SCSI READ command */
-#define SG_DXFER_TO_FROM_DEV -4 /* treated like SG_DXFER_FROM_DEV with the
- additional property than during indirect
- IO the user buffer is copied into the
- kernel buffers before the transfer */
-
-
-/* following flag values can be "or"-ed together */
-#define SG_FLAG_DIRECT_IO 1 /* default is indirect IO */
-#define SG_FLAG_LUN_INHIBIT 2 /* default is to put device's lun into */
- /* the 2nd byte of SCSI command */
-#define SG_FLAG_NO_DXFER 0x10000 /* no transfer of kernel buffers to/from */
- /* user space (debug indirect IO) */
-
-/* The following 'info' values are "or"-ed together. */
-#define SG_INFO_OK_MASK 0x1
-#define SG_INFO_OK 0x0 /* no sense, host nor driver "noise" */
-#define SG_INFO_CHECK 0x1 /* something abnormal happened */
-
-#define SG_INFO_DIRECT_IO_MASK 0x6
-#define SG_INFO_INDIRECT_IO 0x0 /* data xfer via kernel buffers (or no xfer) */
-#define SG_INFO_DIRECT_IO 0x2 /* direct IO requested and performed */
-#define SG_INFO_MIXED_IO 0x4 /* part direct, part indirect IO */
-
-
-/* Request information about a specific SG device, used by
- SG_GET_SCSI_ID ioctl (). */
-struct sg_scsi_id {
- /* Host number as in "scsi<n>" where 'n' is one of 0, 1, 2 etc. */
- int host_no;
- int channel;
- /* SCSI id of target device. */
- int scsi_id;
- int lun;
- /* TYPE_... defined in <scsi/scsi.h>. */
- int scsi_type;
- /* Host (adapter) maximum commands per lun. */
- short int h_cmd_per_lun;
- /* Device (or adapter) maximum queue length. */
- short int d_queue_depth;
- /* Unused, set to 0 for now. */
- int unused[2];
-};
-
-/* Used by SG_GET_REQUEST_TABLE ioctl(). */
-typedef struct sg_req_info {
- char req_state; /* 0 -> not used, 1 -> written, 2 -> ready to read */
- char orphan; /* 0 -> normal request, 1 -> from interruped SG_IO */
- char sg_io_owned; /* 0 -> complete with read(), 1 -> owned by SG_IO */
- char problem; /* 0 -> no problem detected, 1 -> error to report */
- int pack_id; /* pack_id associated with request */
- void * usr_ptr; /* user provided pointer (in new interface) */
- unsigned int duration; /* millisecs elapsed since written (req_state==1)
- or request duration (req_state==2) */
- int unused;
-} sg_req_info_t;
-
-
-/* IOCTLs: Those ioctls that are relevant to the SG 3.x drivers follow.
- [Those that only apply to the SG 2.x drivers are at the end of the file.]
- (_GET_s yield result via 'int *' 3rd argument unless otherwise indicated) */
-
-#define SG_EMULATED_HOST 0x2203 /* true for emulated host adapter (ATAPI) */
-
-/* Used to configure SCSI command transformation layer for ATAPI devices */
-/* Only supported by the ide-scsi driver */
-#define SG_SET_TRANSFORM 0x2204 /* N.B. 3rd arg is not pointer but value: */
- /* 3rd arg = 0 to disable transform, 1 to enable it */
-#define SG_GET_TRANSFORM 0x2205
-
-#define SG_SET_RESERVED_SIZE 0x2275 /* request a new reserved buffer size */
-#define SG_GET_RESERVED_SIZE 0x2272 /* actual size of reserved buffer */
-
-/* The following ioctl has a 'sg_scsi_id_t *' object as its 3rd argument. */
-#define SG_GET_SCSI_ID 0x2276 /* Yields fd's bus, chan, dev, lun + type */
-/* SCSI id information can also be obtained from SCSI_IOCTL_GET_IDLUN */
-
-/* Override host setting and always DMA using low memory ( <16MB on i386) */
-#define SG_SET_FORCE_LOW_DMA 0x2279 /* 0-> use adapter setting, 1-> force */
-#define SG_GET_LOW_DMA 0x227a /* 0-> use all ram for dma; 1-> low dma ram */
-
-/* When SG_SET_FORCE_PACK_ID set to 1, pack_id is input to read() which
- tries to fetch a packet with a matching pack_id, waits, or returns EAGAIN.
- If pack_id is -1 then read oldest waiting. When ...FORCE_PACK_ID set to 0
- then pack_id ignored by read() and oldest readable fetched. */
-#define SG_SET_FORCE_PACK_ID 0x227b
-#define SG_GET_PACK_ID 0x227c /* Yields oldest readable pack_id (or -1) */
-
-#define SG_GET_NUM_WAITING 0x227d /* Number of commands awaiting read() */
-
-/* Yields max scatter gather tablesize allowed by current host adapter */
-#define SG_GET_SG_TABLESIZE 0x227F /* 0 implies can't do scatter gather */
-
-#define SG_GET_VERSION_NUM 0x2282 /* Example: version 2.1.34 yields 20134 */
-
-/* Returns -EBUSY if occupied. 3rd argument pointer to int (see next) */
-#define SG_SCSI_RESET 0x2284
-/* Associated values that can be given to SG_SCSI_RESET follow */
-#define SG_SCSI_RESET_NOTHING 0
-#define SG_SCSI_RESET_DEVICE 1
-#define SG_SCSI_RESET_BUS 2
-#define SG_SCSI_RESET_HOST 3
-
-/* synchronous SCSI command ioctl, (only in version 3 interface) */
-#define SG_IO 0x2285 /* similar effect as write() followed by read() */
-
-#define SG_GET_REQUEST_TABLE 0x2286 /* yields table of active requests */
-
-/* How to treat EINTR during SG_IO ioctl(), only in SG 3.x series */
-#define SG_SET_KEEP_ORPHAN 0x2287 /* 1 -> hold for read(), 0 -> drop (def) */
-#define SG_GET_KEEP_ORPHAN 0x2288
-
-
-#define SG_SCATTER_SZ (8 * 4096) /* PAGE_SIZE not available to user */
-/* Largest size (in bytes) a single scatter-gather list element can have.
- The value must be a power of 2 and <= (PAGE_SIZE * 32) [131072 bytes on
- i386]. The minimum value is PAGE_SIZE. If scatter-gather not supported
- by adapter then this value is the largest data block that can be
- read/written by a single scsi command. The user can find the value of
- PAGE_SIZE by calling getpagesize() defined in unistd.h . */
-
-#define SG_DEFAULT_RETRIES 1
-
-/* Defaults, commented if they differ from original sg driver */
-#define SG_DEF_FORCE_LOW_DMA 0 /* was 1 -> memory below 16MB on i386 */
-#define SG_DEF_FORCE_PACK_ID 0
-#define SG_DEF_KEEP_ORPHAN 0
-#define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ /* load time option */
-
-/* maximum outstanding requests, write() yields EDOM if exceeded */
-#define SG_MAX_QUEUE 16
-
-#define SG_BIG_BUFF SG_DEF_RESERVED_SIZE /* for backward compatibility */
-
-/* Alternate style type names, "..._t" variants preferred */
-typedef struct sg_io_hdr Sg_io_hdr;
-typedef struct sg_io_vec Sg_io_vec;
-typedef struct sg_scsi_id Sg_scsi_id;
-typedef struct sg_req_info Sg_req_info;
-
-
-/* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
-/* The older SG interface based on the 'sg_header' structure follows. */
-/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
-
-#define SG_MAX_SENSE 16 /* this only applies to the sg_header interface */
-
-struct sg_header
- {
- /* Length of incoming packet (including header). */
- int pack_len;
- /* Maximal length of expected reply. */
- int reply_len;
- /* Id number of packet. */
- int pack_id;
- /* 0==ok, otherwise error number. */
- int result;
- /* Force 12 byte command length for group 6 & 7 commands. */
- unsigned int twelve_byte:1;
- /* SCSI status from target. */
- unsigned int target_status:5;
- /* Host status (see "DID" codes). */
- unsigned int host_status:8;
- /* Driver status+suggestion. */
- unsigned int driver_status:8;
- /* Unused. */
- unsigned int other_flags:10;
- /* Output in 3 cases:
- when target_status is CHECK_CONDITION or
- when target_status is COMMAND_TERMINATED or
- when (driver_status & DRIVER_SENSE) is true. */
- unsigned char sense_buffer[SG_MAX_SENSE];
- };
-
-
-/* IOCTLs: The following are not required (or ignored) when the sg_io_hdr_t
- interface is used. They are kept for backward compatibility with
- the original and version 2 drivers. */
-
-#define SG_SET_TIMEOUT 0x2201 /* Set timeout; *(int *)arg==timeout. */
-#define SG_GET_TIMEOUT 0x2202 /* Get timeout; return timeout. */
-
-/* Get/set command queuing state per fd (default is SG_DEF_COMMAND_Q). */
-#define SG_GET_COMMAND_Q 0x2270 /* Yields 0 (queuing off) or 1 (on). */
-#define SG_SET_COMMAND_Q 0x2271 /* Change queuing state with 0 or 1. */
-
-/* Turn on error sense trace (1..8), dump this device to log/console (9)
- or dump all sg device states ( >9 ) to log/console. */
-#define SG_SET_DEBUG 0x227e /* 0 -> turn off debug */
-
-#define SG_NEXT_CMD_LEN 0x2283 /* Override SCSI command length with given
- number on the next write() on this file
- descriptor. */
-
-/* Defaults, commented if they differ from original sg driver */
-#define SG_DEFAULT_TIMEOUT (60*HZ) /* HZ == 'jiffies in 1 second' */
-#define SG_DEF_COMMAND_Q 0 /* command queuing is always on when
- the new interface is used */
-#define SG_DEF_UNDERRUN_FLAG 0
-
-
-#endif /* scsi/sg.h */
diff --git a/mdk-stage1/dietlibc/include/setjmp.h b/mdk-stage1/dietlibc/include/setjmp.h
deleted file mode 100644
index 66fc288f4..000000000
--- a/mdk-stage1/dietlibc/include/setjmp.h
+++ /dev/null
@@ -1,123 +0,0 @@
-#ifndef _SETJMP_H
-#define _SETJMP_H
-
-#include <sys/cdefs.h>
-
-#ifdef __i386__
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[6];
-#endif
-# define JB_BX 0
-# define JB_SI 1
-# define JB_DI 2
-# define JB_BP 3
-# define JB_SP 4
-# define JB_PC 5
-# define JB_SIZE 24
-#endif
-
-#ifdef __alpha__
-#define JB_S0 0
-#define JB_S1 1
-#define JB_S2 2
-#define JB_S3 3
-#define JB_S4 4
-#define JB_S5 5
-#define JB_PC 6
-#define JB_FP 7
-#define JB_SP 8
-#define JB_F2 9
-#define JB_F3 10
-#define JB_F4 11
-#define JB_F5 12
-#define JB_F6 13
-#define JB_F7 14
-#define JB_F8 15
-#define JB_F9 16
-#ifndef __ASSEMBLER__
-typedef long int __jmp_buf[17];
-#endif
-#endif
-
-#ifdef __mips__
-#ifndef __ASSEMBLER__
-typedef struct
- {
- void * __pc; /* Program counter. */
- void * __sp; /* Stack pointer. */
- int __regs[8]; /* Callee-saved registers s0 through s7. */
- void * __fp; /* The frame pointer. */
- void * __gp; /* The global pointer. */
- int __fpc_csr; /* Floating point status register. */
- double __fpregs[6]; /* Callee-saved floating point registers. */
- } __jmp_buf[1];
-#endif
-#endif
-
-#ifdef __sparc__
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[3];
-#endif
-#endif
-
-#ifdef __arm__
-#define __JMP_BUF_SP 8
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[10];
-#endif
-#endif
-
-#ifdef __powerpc__
-# define JB_GPR1 0 /* Also known as the stack pointer */
-# define JB_GPR2 1
-# define JB_LR 2 /* The address we will return to */
-# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */
-# define JB_CR 21 /* Condition code registers. */
-# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */
-# define JB_SIZE (58*4)
-#ifndef __ASSEMBLER__
-typedef long int __jmp_buf[58];
-#endif
-#endif
-
-#ifndef __ASSEMBLER__
-
-typedef int sig_atomic_t;
-#define __sig_atomic_t sig_atomic_t
-
-# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
-typedef struct
- {
- unsigned long int __val[_SIGSET_NWORDS];
- } __sigset_t;
-
-/* Calling environment, plus possibly a saved signal mask. */
-typedef struct __jmp_buf_tag /* C++ doesn't like tagless structs. */
- {
- /* NOTE: The machine-dependent definitions of `__sigsetjmp'
- assume that a `jmp_buf' begins with a `__jmp_buf'.
- Do not move this member or add others before it. */
- __jmp_buf __jmpbuf; /* Calling environment. */
- int __mask_was_saved; /* Saved the signal mask? */
- __sigset_t __saved_mask; /* Saved signal mask. */
- } jmp_buf[1];
-
-extern int __sigsetjmp (jmp_buf __env, int __savemask) __THROW;
-
-extern void longjmp (jmp_buf __env, int __val)
- __THROW __attribute__ ((__noreturn__));
-
-typedef jmp_buf sigjmp_buf;
-
-extern void siglongjmp (sigjmp_buf __env, int __val)
- __THROW __attribute__ ((__noreturn__));
-
-#define setjmp(env) __sigsetjmp(env,0)
-#define sigsetjmp(a,b) __sigsetjmp(a,b)
-
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/shadow.h b/mdk-stage1/dietlibc/include/shadow.h
deleted file mode 100644
index 4d6341af1..000000000
--- a/mdk-stage1/dietlibc/include/shadow.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _SHADOW_H
-#define _SHADOW_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct spwd {
- char *sp_namp; /* user login name */
- char *sp_pwdp; /* encrypted password */
- long sp_lstchg; /* last password change */
- int sp_min; /* days until change allowed. */
- int sp_max; /* days before change required */
- int sp_warn; /* days warning for expiration */
- int sp_inact; /* days before account inactive */
- int sp_expire; /* date when account expires */
- int sp_flag; /* reserved for future use */
-};
-
-extern struct spwd *getspent(void) __THROW;
-extern void setspent(void) __THROW;
-extern void endspent(void) __THROW;
-extern struct spwd *getspnam (__const char *__name) __THROW;
-
-#endif /* _SHADOW_H */
diff --git a/mdk-stage1/dietlibc/include/signal.h b/mdk-stage1/dietlibc/include/signal.h
deleted file mode 100644
index 9ed93fe83..000000000
--- a/mdk-stage1/dietlibc/include/signal.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _SIGNAL_H
-#define _SIGNAL_H
-
-#include <sys/cdefs.h>
-
-#define __WANT_POSIX1B_SIGNALS__
-
-#include <linux/types.h>
-#include <linux/signal.h>
-
-typedef void (*sighandler_t)(int);
-
-int sigemptyset(sigset_t *set) __THROW;
-int sigfillset(sigset_t *set) __THROW;
-int sigaddset(sigset_t *set, int signum) __THROW;
-int sigdelset(sigset_t *set, int signum) __THROW;
-int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) __THROW;
-sighandler_t signal(int signum, sighandler_t action);
-int raise (int sig) __THROW;
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) __THROW;
-int sigaltstack(const struct sigaltstack *newstack, struct sigaltstack *oldstack) __THROW;
-
-#ifndef SIGCLD
-#define SIGCLD SIGCHLD
-#endif
-
-extern const char *const sys_siglist[];
-
-typedef __sighandler_t sig_t;
-
-#ifndef NSIG
-#define NSIG _NSIG
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdint.h b/mdk-stage1/dietlibc/include/stdint.h
deleted file mode 100644
index d287e6794..000000000
--- a/mdk-stage1/dietlibc/include/stdint.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _STDINT_H
-#define _STDINT_H
-
-#include <sys/types.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdio.h b/mdk-stage1/dietlibc/include/stdio.h
deleted file mode 100644
index 92d9dc0cb..000000000
--- a/mdk-stage1/dietlibc/include/stdio.h
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef _STDIO_H
-#define _STDIO_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-typedef struct __stdio_file FILE;
-
-FILE *fopen (const char *path, const char *mode) __THROW;
-FILE *fdopen (int fildes, const char *mode) __THROW;
-FILE *freopen (const char *path, const char *mode, FILE *stream) __THROW;
-
-int printf(const char *format, ...) __THROW;
-int fprintf(FILE *stream, const char *format, ...) __THROW;
-int sprintf(char *str, const char *format, ...) __THROW;
-int snprintf(char *str, size_t size, const char *format, ...) __THROW;
-int asprintf(char **ptr, const char* format, ...) __THROW;
-
-int scanf( const char *format, ...) __THROW;
-int fscanf( FILE *stream, const char *format, ...) __THROW;
-int sscanf( const char *str, const char *format, ...) __THROW;
-
-#include <stdarg.h>
-
-int vprintf(const char *format, va_list ap) __THROW;
-int vfprintf(FILE *stream, const char *format, va_list ap) __THROW;
-int vsprintf(char *str, const char *format, va_list ap) __THROW;
-int vsnprintf(char *str, size_t size, const char *format, va_list ap) __THROW;
-
-int vscanf( const char *format, va_list ap) __THROW;
-int vsscanf( const char *str, const char *format, va_list ap) __THROW;
-int vfscanf( FILE *stream, const char *format, va_list ap) __THROW;
-
-int fgetc(FILE *stream) __THROW;
-char *fgets(char *s, int size, FILE *stream) __THROW;
-int getc(FILE *stream) __THROW;
-int getchar(void) __THROW;
-char *gets(char *s) __THROW;
-int ungetc(int c, FILE *stream) __THROW;
-
-int fputc(int c, FILE *stream) __THROW;
-int fputs(const char *s, FILE *stream) __THROW;
-
-#define putc(c,stream) fputc(c,stream)
-#define putchar(c) fputc(c,stdout)
-
-#define getchar() fgetc(stdin)
-#define getc(stream) fgetc(stream)
-
-int puts(const char *s) __THROW;
-
-long fseek( FILE *stream, long offset, int whence) __THROW;
-long ftell( FILE *stream) __THROW;
-void rewind( FILE *stream) __THROW;
-int fgetpos( FILE *stream, fpos_t *pos) __THROW;
-int fsetpos( FILE *stream, fpos_t *pos) __THROW;
-
-size_t fread( void *ptr, size_t size, size_t nmemb, FILE *stream) __THROW;
-
-size_t fwrite( const void *ptr, size_t size, size_t nmemb, FILE *stream) __THROW;
-
-int fflush(FILE *stream) __THROW;
-
-int fclose(FILE *stream) __THROW;
-
-void clearerr(FILE *stream) __THROW;
-int feof (FILE *stream) __THROW;
-int ferror( FILE *stream) __THROW;
-int fileno( FILE *stream) __THROW;
-
-int remove(const char *pathname) __THROW;
-
-void perror(const char *s) __THROW;
-
-extern FILE *stdin, *stdout, *stderr;
-
-#define EOF (int)(-1)
-
-#define BUFSIZ 128
-
-#define _IONBF 0
-#define _IOLBF 1
-#define _IOFBF 2
-
-int setvbuf(FILE *stream, char *buf, int mode , size_t size) __THROW;
-
-#define setbuf(stream,buf) setvbuf(stream,buf,buf?_IOFBF:_IONBF,BUFSIZ)
-#define setbuffer(stream,buf,size) setvbuf(stream,buf,buf?_IOFBF:_IONBF,size)
-#define setlinebuf(stream) setvbuf(stream,0,_IOLBF,BUFSIZ)
-
-FILE *popen(const char *command, const char *type) __THROW;
-int pclose(FILE *stream) __THROW;
-
-#define getc_unlocked(stream) getc(stream)
-#define putc_unlocked(c,stream) putc(c,stream)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdlib.h b/mdk-stage1/dietlibc/include/stdlib.h
deleted file mode 100644
index 6a13a48ff..000000000
--- a/mdk-stage1/dietlibc/include/stdlib.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _STDLIB_H
-#define _STDLIB_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#define __LIBC_DIETLIBC__
-
-void *calloc(size_t nmemb, size_t size) __THROW;
-void *malloc(size_t size) __THROW;
-void free(void *ptr) __THROW;
-void *realloc(void *ptr, size_t size) __THROW;
-
-char *getenv(const char *name) __THROW __pure__;
-int putenv(const char *string) __THROW;
-int setenv(const char *name, const char *value, int overwrite) __THROW;
-void unsetenv(const char *name) __THROW;
-
-int atexit(void (*function)(void)) __THROW;
-
-double strtod(const char *nptr, char **endptr) __THROW;
-long int strtol(const char *nptr, char **endptr, int base) __THROW;
-unsigned long int strtoul(const char *nptr, char **endptr, int base) __THROW;
-
-int __ltostr(char *s, int size, unsigned long i, int base, char UpCase) __THROW;
-#ifdef __GNUC__
-long long int strtoll(const char *nptr, char **endptr, int base) __THROW;
-unsigned long long int strtoull(const char *nptr, char **endptr, int base) __THROW;
-int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase) __THROW;
-#endif
-
-int atoi(const char *nptr) __THROW;
-long int atol(const char *nptr) __THROW;
-double atof(const char *nptr) __THROW;
-
-void exit(int status) __THROW __attribute__((noreturn));
-void abort(void) __THROW;
-
-/* warning: the rand() implementation of the diet libc really sucks. */
-#define RAND_MAX 32767
-
-extern int rand(void) __THROW;
-extern void srand(unsigned int seed) __THROW;
-
-void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) __THROW;
-void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) __THROW;
-
-extern char **environ;
-
-#define EXIT_SUCCESS 0
-#define EXIT_FAILURE 1
-
-/* now this function is the greatest bullshit I have ever seen.
- * The ISO people must be out of their minds. */
-typedef struct { int quot,rem; } div_t;
-div_t div(int numer, int denom) __THROW __attribute__((const));
-
-void *alloca(size_t size) __THROW; /* gcc built-in */
-
-char *realpath(const char *path, char *resolved_path) __THROW;
-
-int abs(int j) __THROW;
-
-long int random(void) __THROW;
-void srandom(unsigned int seed) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/string.h b/mdk-stage1/dietlibc/include/string.h
deleted file mode 100644
index 1ef78ae54..000000000
--- a/mdk-stage1/dietlibc/include/string.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _STRING_H
-#define _STRING_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-char *strcpy(char *dest, const char *src) __THROW;
-char *strncpy(char *dest, const char *src, size_t n) __THROW;
-
-void *memccpy(void *dest, const void *src, int c, size_t n) __THROW;
-void *memcpy(void *dest, const void *src, size_t n) __THROW;
-void *memmove(void *dest, const void *src, size_t n) __THROW;
-
-int memccmp(const void *s1, const void *s2, int c, size_t n) __THROW __pure__;
-int memcmp(const void *s1, const void *s2, size_t n) __THROW __pure__;
-int strcmp(const char *s1, const char *s2) __THROW __pure__;
-int strncmp(const char *s1, const char *s2, size_t n) __THROW __pure__;
-
-int strcasecmp(const char *s1, const char *s2) __THROW __pure__;
-int strncasecmp(const char *s1, const char *s2, size_t n) __THROW __pure__;
-
-size_t strlen(const char *s) __THROW __pure__;
-
-char *strstr(const char *haystack, const char *needle) __THROW __pure__;
-
-char *strdup(const char *s) __THROW;
-
-char *strchr(const char *s, int c) __THROW __pure__;
-char *strrchr(const char *s, int c) __THROW __pure__;
-
-char *strcat(char *dest, const char *src) __THROW;
-char *strncat(char *dest, const char *src, size_t n) __THROW;
-
-size_t strspn(const char *s, const char *accept) __THROW;
-size_t strcspn(const char *s, const char *reject) __THROW;
-
-char *strpbrk(const char *s, const char *accept) __THROW;
-char *strsep(char **stringp, const char *delim) __THROW;
-
-void* memset(void *s, int c, size_t n) __THROW;
-
-#undef NULL
-#define NULL (void*)0
-
-#define bzero(s,n) memset(s,0,n)
-#define bcopy(src,dest,n) memmove(dest,src,n)
-#define bcmp(a,b,n) memcmp(a,b,n)
-
-char *strerror(int errnum) __THROW;
-char *strsignal(int signum) __THROW;
-
-char *strtok(char *s, const char *delim) __THROW;
-char *strtok_r(char *s, const char *delim, char **ptrptr) __THROW;
-
-int ffs(int i) __THROW __attribute__((__const__));
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/strings.h b/mdk-stage1/dietlibc/include/strings.h
deleted file mode 100644
index ec947a9b9..000000000
--- a/mdk-stage1/dietlibc/include/strings.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#warning "your code included obsolescent <strings.h>. Please change that to <string.h>!"
-#include <string.h>
diff --git a/mdk-stage1/dietlibc/include/sys/cdefs.h b/mdk-stage1/dietlibc/include/sys/cdefs.h
deleted file mode 100644
index 895bb74b8..000000000
--- a/mdk-stage1/dietlibc/include/sys/cdefs.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _SYS_CDEFS_H
-#define _SYS_CDEFS_H
-
-#define __dietlibc__
-
-#ifndef __cplusplus
-#define throw ()
-#define __THROW
-#define __BEGIN_DECLS
-#define __END_DECLS
-#else
-#define __THROW throw ()
-#define __BEGIN_DECLS extern "C" {
-#define __END_DECLS }
-#endif
-
-#ifndef __GNUC__
-#define __attribute__(xyz)
-#endif
-
-#define __pure__
-#ifdef __GNUC__
-#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96))
-#undef __pure__
-#define __pure__ __attribute__ ((__pure__))
-#endif
-
-#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
-#define __restrict__
-#endif
-
-#endif
-
-#define __P(x) x
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/file.h b/mdk-stage1/dietlibc/include/sys/file.h
deleted file mode 100644
index 93787fd42..000000000
--- a/mdk-stage1/dietlibc/include/sys/file.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _SYS_FILE_H
-#define _SYS_FILE_H
-
-#include <sys/cdefs.h>
-
-extern int fcntl(int fd, int cmd, ...) __THROW;
-extern int flock(int fd, int operation) __THROW;
-
-/* Operations for the `flock' call. */
-#define LOCK_SH 1 /* Shared lock. */
-#define LOCK_EX 2 /* Exclusive lock. */
-#define LOCK_UN 8 /* Unlock. */
-
-/* Can be OR'd in to one of the above. */
-#define LOCK_NB 4 /* Don't block when locking. */
-
-
-
-#endif /* _SYS_FILE_H */
diff --git a/mdk-stage1/dietlibc/include/sys/io.h b/mdk-stage1/dietlibc/include/sys/io.h
deleted file mode 100644
index cce841735..000000000
--- a/mdk-stage1/dietlibc/include/sys/io.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef _IO_H
-#define _IO_H
-
-int ioperm(unsigned long from, unsigned long num, int turn_on) __THROW;
-
-#ifdef __i386__
-
-static __inline void
-outb (unsigned char value, unsigned short int port)
-{
- __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
-}
-
-static __inline unsigned char
-inb (unsigned short int port)
-{
- unsigned char _v;
-
- __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port));
- return _v;
-}
-
-static __inline unsigned short int
-inw (unsigned short int port)
-{
- unsigned short _v;
-
- __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
- return _v;
-}
-
-static __inline void
-outw (unsigned short int value, unsigned short int port)
-{
- __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
-
-}
-
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/ioctl.h b/mdk-stage1/dietlibc/include/sys/ioctl.h
deleted file mode 100644
index fca1aeeab..000000000
--- a/mdk-stage1/dietlibc/include/sys/ioctl.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _IOCTL_H
-#define _IOCTL_H
-
-#include <sys/cdefs.h>
-#include <linux/ioctl.h>
-#include <asm/ioctls.h>
-
-int ioctl(int d, int request, ...) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/ipc.h b/mdk-stage1/dietlibc/include/sys/ipc.h
deleted file mode 100644
index 9184a2a82..000000000
--- a/mdk-stage1/dietlibc/include/sys/ipc.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_IPC_H
-#define _SYS_IPC_H
-
-#include <sys/cdefs.h>
-#include <linux/ipc.h>
-#include <asm/page.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/kd.h b/mdk-stage1/dietlibc/include/sys/kd.h
deleted file mode 100644
index 9e9a5152b..000000000
--- a/mdk-stage1/dietlibc/include/sys/kd.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SYS_KD_H
-#define _SYS_KD_H
-
-#include <linux/kd.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mman.h b/mdk-stage1/dietlibc/include/sys/mman.h
deleted file mode 100644
index dc398ba90..000000000
--- a/mdk-stage1/dietlibc/include/sys/mman.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _SYS_MMAN_H
-#define _SYS_MMAN_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/mman.h>
-#include <asm/page.h>
-
-#ifndef PAGE_SIZE
-#warning PAGE_SIZE undefined
-#endif
-
-#define MAP_FAILED ((void *) -1)
-
-extern void *mmap (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, off_t __offset);
-
-extern int munmap (void *__addr, size_t __len) __THROW;
-extern int mprotect (void *__addr, size_t __len, int __prot) __THROW;
-extern int msync (void *__addr, size_t __len, int __flags) __THROW;
-extern void *mremap (void *__addr, size_t __old_len, size_t __new_len,
- int __may_move) __THROW;
-extern int mincore (void *__start, size_t __len, unsigned char *__vec);
-
-#ifdef __quad_t
-extern void *mmap64 (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, off64_t __offset) __THROW;
-#endif
-
-int mlockall(int flags) __THROW;
-int munlockall(void) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mount.h b/mdk-stage1/dietlibc/include/sys/mount.h
deleted file mode 100644
index 2e9e86774..000000000
--- a/mdk-stage1/dietlibc/include/sys/mount.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _SYS_MOUNT_H
-#define _SYS_MOUNT_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/fs.h>
-
-int mount(const char* specialfile, const char* dir, const char* filesystemtype,
- unsigned long rwflag, const void * data) __THROW;
-
-int umount(const char *specialfile) __THROW;
-
-int umount(const char *dir) __THROW;
-
-int umount2(const char *specialfile, int mflag) __THROW;
-
-int umount2(const char *dir, int mflag) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/msg.h b/mdk-stage1/dietlibc/include/sys/msg.h
deleted file mode 100644
index ea1e470b6..000000000
--- a/mdk-stage1/dietlibc/include/sys/msg.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _SYS_MSG_H
-#define _SYS_MSG_H
-
-#include <linux/msg.h>
-#include <sys/ipc.h>
-#include <asm/page.h>
-
-extern int msgctl (int msqid, int cmd, struct msqid_ds *buf) __THROW;
-extern int msgget (key_t key, int msgflg) __THROW;
-extern int msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg) __THROW;
-extern int msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mtio.h b/mdk-stage1/dietlibc/include/sys/mtio.h
deleted file mode 100644
index e70663407..000000000
--- a/mdk-stage1/dietlibc/include/sys/mtio.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SYS_MTIO_H
-#define _SYS_MTIO_H
-
-#include <linux/mtio.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/param.h b/mdk-stage1/dietlibc/include/sys/param.h
deleted file mode 100644
index 05f4d40e2..000000000
--- a/mdk-stage1/dietlibc/include/sys/param.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_PARAM_H
-#define _SYS_PARAM_H
-
-#include <limits.h>
-
-#define MAXPATHLEN PATH_MAX
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/poll.h b/mdk-stage1/dietlibc/include/sys/poll.h
deleted file mode 100644
index adce26687..000000000
--- a/mdk-stage1/dietlibc/include/sys/poll.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _SYS_POLL_H
-#define _SYS_POLL_H
-
-#include <sys/cdefs.h>
-
-#include <linux/poll.h>
-
-extern int poll(struct pollfd *ufds, unsigned int nfds, int timeout) __THROW;
-
-
-#endif /* _SYS_POLL_H */
diff --git a/mdk-stage1/dietlibc/include/sys/ptrace.h b/mdk-stage1/dietlibc/include/sys/ptrace.h
deleted file mode 100644
index 9dd730bc6..000000000
--- a/mdk-stage1/dietlibc/include/sys/ptrace.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _SYS_PTRACE_H
-#define _SYS_PTRACE_H
-
-#include <sys/cdefs.h>
-
-#include <linux/ptrace.h>
-
-extern long int ptrace (int request, ...) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/reboot.h b/mdk-stage1/dietlibc/include/sys/reboot.h
deleted file mode 100644
index ba58d296a..000000000
--- a/mdk-stage1/dietlibc/include/sys/reboot.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_REBOOT_H
-#define _SYS_REBOOT_H
-
-#include <linux/reboot.h>
-
-/* Reboot or halt the system. */
-int reboot (int flag, void *arg);
-
-#endif /* _SYS_REBOOT_H */
diff --git a/mdk-stage1/dietlibc/include/sys/resource.h b/mdk-stage1/dietlibc/include/sys/resource.h
deleted file mode 100644
index 442434cd1..000000000
--- a/mdk-stage1/dietlibc/include/sys/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _SYS_RESOURCE_H
-#define _SYS_RESOURCE_H
-
-#include <sys/cdefs.h>
-#include <linux/resource.h>
-
-int getpriority(int which, int who) __THROW;
-int setpriority(int which, int who, int prio) __THROW;
-
-int getrlimit (int resource, struct rlimit *rlim);
-int getrusage (int who, struct rusage *usage);
-int setrlimit (int resource, const struct rlimit *rlim);
-
-typedef unsigned long rlim_t;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/select.h b/mdk-stage1/dietlibc/include/sys/select.h
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/include/sys/select.h
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/include/sys/sem.h b/mdk-stage1/dietlibc/include/sys/sem.h
deleted file mode 100644
index cc182649c..000000000
--- a/mdk-stage1/dietlibc/include/sys/sem.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _SYS_SEM_H
-#define _SYS_SEM_H
-
-#include <linux/sem.h>
-#include <sys/ipc.h>
-
-extern int semget( key_t key, int nsems, int semflg) __THROW;
-extern int semctl(int semid, int semnum, int cmd, union semun arg) __THROW;
-extern int semop(int semid, struct sembuf *sops, unsigned nsops) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sendfile.h b/mdk-stage1/dietlibc/include/sys/sendfile.h
deleted file mode 100644
index 2e0c04add..000000000
--- a/mdk-stage1/dietlibc/include/sys/sendfile.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_SENDFILE_H
-#define _SYS_SENDFILE_H
-
-#include <sys/cdefs.h>
-
-extern ssize_t sendfile (int __out_fd, int __in_fd, off_t *offset,
- size_t __count) __THROW;
-
-#endif /* sys/sendfile.h */
diff --git a/mdk-stage1/dietlibc/include/sys/shm.h b/mdk-stage1/dietlibc/include/sys/shm.h
deleted file mode 100644
index c27f5ddcf..000000000
--- a/mdk-stage1/dietlibc/include/sys/shm.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _SYS_SHM_H
-#define _SYS_SHM_H
-
-#include <linux/shm.h>
-#include <sys/ipc.h>
-#include <asm/page.h>
-
-#ifndef PAGE_SIZE
-#define PAGE_SIZE getpagesize()
-#endif
-
-extern int shmget(key_t key, int size, int shmflg) __THROW;
-extern void *shmat(int shmid, const void *shmaddr, int shmflg) __THROW;
-extern int shmdt (const void *shmaddr) __THROW;
-extern int shmctl(int shmid, int cmd, struct shmid_ds *buf) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/signal.h b/mdk-stage1/dietlibc/include/sys/signal.h
deleted file mode 100644
index 2e602dad8..000000000
--- a/mdk-stage1/dietlibc/include/sys/signal.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <signal.h>
diff --git a/mdk-stage1/dietlibc/include/sys/socket.h b/mdk-stage1/dietlibc/include/sys/socket.h
deleted file mode 100644
index a1435501c..000000000
--- a/mdk-stage1/dietlibc/include/sys/socket.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _SYS_SOCKET_H
-#define _SYS_SOCKET_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/socket.h>
-
-#ifndef SOCK_DGRAM
-/* the Linux kernel headers suck really badly on non-x86 */
-#define SOCK_STREAM 1 /* stream (connection) socket */
-#define SOCK_DGRAM 2 /* datagram (conn.less) socket */
-#define SOCK_RAW 3 /* raw socket */
-#define SOCK_RDM 4 /* reliably-delivered message */
-#define SOCK_SEQPACKET 5 /* sequential packet socket */
-#define SOCK_PACKET 10 /* linux specific way of */
-#endif
-
-struct sockaddr_storage {
- char __tmp[sizeof(struct sockaddr)];
-};
-
-int socket(int domain, int type, int protocol) __THROW;
-int accept(int s, struct sockaddr *addr, socklen_t *addrlen) __THROW;
-int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen) __THROW;
-int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen) __THROW;
-int recv(int s, void *buf, size_t len, int flags) __THROW;
-int recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) __THROW;
-int recvmsg(int s, struct msghdr *msg, int flags) __THROW;
-int send(int s, const void *msg, size_t len, int flags) __THROW;
-int sendto(int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) __THROW;
-int sendmsg(int s, const struct msghdr *msg, int flags) __THROW;
-
-int getpeername(int s, struct sockaddr *name, socklen_t *namelen) __THROW;
-int getsockname(int s , struct sockaddr * name , socklen_t * namelen) __THROW;
-
-int getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen) __THROW;
-int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen) __THROW;
-
-int listen(int s, int backlog) __THROW;
-
-#define SHUT_RD 0
-#define SHUT_WR 1
-#define SHUT_RDWR 2
-int shutdown(int s, int how) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/stat.h b/mdk-stage1/dietlibc/include/sys/stat.h
deleted file mode 100644
index 10fddfa42..000000000
--- a/mdk-stage1/dietlibc/include/sys/stat.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _SYS_STAT_H
-#define _SYS_STAT_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#include <linux/stat.h>
-#include <asm/stat.h>
-
-#ifndef STAT64_HAS_BROKEN_ST_INO
-#define __NO_STAT64
-#endif
-
-extern int stat(const char *__file, struct stat *__buf) __THROW;
-extern int fstat(int __fd, struct stat *__buf) __THROW;
-extern int lstat(const char *__file, struct stat *__buf) __THROW;
-
-#ifdef __NO_STAT64
-#undef _FILE_OFFSET_BITS
-#else
-extern int stat64(const char *__file, struct stat64 *__buf) __THROW;
-extern int fstat64(int __fd, struct stat64 *__buf) __THROW;
-extern int lstat64(const char *__file, struct stat64 *__buf) __THROW;
-#endif
-
-#if _FILE_OFFSET_BITS == 64
-#define lstat(file,buf) lstat64(file,buf)
-#define fstat(file,buf) fstat64(file,buf)
-#define stat stat64
-#endif
-
-#define major(dev) (((dev)>>8) & 0xff)
-#define minor(dev) ((dev) & 0xff)
-#define makedev(major, minor) ((((unsigned int) (major)) << 8) | ((unsigned int) (minor)))
-
-extern int chmod (const char *__file, mode_t __mode) __THROW;
-
-extern int fchmod (int __fd, mode_t __mode) __THROW;
-
-extern mode_t umask (mode_t __mask) __THROW;
-
-extern int mkdir (const char *__path, mode_t __mode) __THROW;
-
-extern int mknod (const char *__path, mode_t __mode, dev_t __dev) __THROW;
-
-extern int mkfifo (const char *__path, mode_t __mode) __THROW;
-
-#define S_IREAD S_IRUSR
-#define S_IWRITE S_IWUSR
-#define S_IEXEC S_IXUSR
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/syscall.h b/mdk-stage1/dietlibc/include/sys/syscall.h
deleted file mode 100644
index 5d6b5a4ad..000000000
--- a/mdk-stage1/dietlibc/include/sys/syscall.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SYSCALL_H
-#define _SYSCALL_H
-
-#include <asm/unistd.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sysinfo.h b/mdk-stage1/dietlibc/include/sys/sysinfo.h
deleted file mode 100644
index 5f059d469..000000000
--- a/mdk-stage1/dietlibc/include/sys/sysinfo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_SYSINFO_H
-#define _SYS_SYSINFO_H
-
-#include <sys/cdefs.h>
-#include <linux/kernel.h>
-
-int sysinfo(struct sysinfo *info) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/syslog.h b/mdk-stage1/dietlibc/include/sys/syslog.h
deleted file mode 100644
index 91bf0d1fa..000000000
--- a/mdk-stage1/dietlibc/include/sys/syslog.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _SYS_SYSLOG_H
-#define _SYS_SYSLOG_H 1
-
-#include <sys/cdefs.h>
-#include <stdarg.h>
-
-#define _PATH_LOG "/dev/log"
-
-/*
- * priorities/facilities are encoded into a single 32-bit quantity, where the
- * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
- * (0-big number). Both the priorities and the facilities map roughly
- * one-to-one to strings in the syslogd(8) source code. This mapping is
- * included in this file.
- *
- * priorities (these are ordered)
- */
-#define LOG_EMERG 0 /* system is unusable */
-#define LOG_ALERT 1 /* action must be taken immediately */
-#define LOG_CRIT 2 /* critical conditions */
-#define LOG_ERR 3 /* error conditions */
-#define LOG_WARNING 4 /* warning conditions */
-#define LOG_NOTICE 5 /* normal but significant condition */
-#define LOG_INFO 6 /* informational */
-#define LOG_DEBUG 7 /* debug-level messages */
-
-#define LOG_PRIMASK 0x07 /* mask to extract priority part (internal) */
- /* extract priority */
-#define LOG_PRI(p) ((p) & LOG_PRIMASK)
-#define LOG_MAKEPRI(fac, pri) (((fac) << 3) | (pri))
-
-/* facility codes */
-#define LOG_KERN (0<<3) /* kernel messages */
-#define LOG_USER (1<<3) /* random user-level messages */
-#define LOG_MAIL (2<<3) /* mail system */
-#define LOG_DAEMON (3<<3) /* system daemons */
-#define LOG_AUTH (4<<3) /* security/authorization messages */
-#define LOG_SYSLOG (5<<3) /* messages generated internally by syslogd */
-#define LOG_LPR (6<<3) /* line printer subsystem */
-#define LOG_NEWS (7<<3) /* network news subsystem */
-#define LOG_UUCP (8<<3) /* UUCP subsystem */
-#define LOG_CRON (9<<3) /* clock daemon */
-#define LOG_AUTHPRIV (10<<3) /* security/authorization messages (private) */
-#define LOG_FTP (11<<3) /* ftp daemon */
-
- /* other codes through 15 reserved for system use */
-#define LOG_LOCAL0 (16<<3) /* reserved for local use */
-#define LOG_LOCAL1 (17<<3) /* reserved for local use */
-#define LOG_LOCAL2 (18<<3) /* reserved for local use */
-#define LOG_LOCAL3 (19<<3) /* reserved for local use */
-#define LOG_LOCAL4 (20<<3) /* reserved for local use */
-#define LOG_LOCAL5 (21<<3) /* reserved for local use */
-#define LOG_LOCAL6 (22<<3) /* reserved for local use */
-#define LOG_LOCAL7 (23<<3) /* reserved for local use */
-
-#define LOG_NFACILITIES 24 /* current number of facilities */
-#define LOG_FACMASK 0x03f8 /* mask to extract facility part */
- /* facility of pri */
-#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3)
-
-/*
- * arguments to setlogmask.
- */
-#define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */
-#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */
-
-/*
- * Option flags for openlog.
- *
- * LOG_ODELAY no longer does anything.
- * LOG_NDELAY is the inverse of what it used to be.
- */
-#define LOG_PID 0x01 /* log the pid with each message */
-#define LOG_CONS 0x02 /* log on the console if errors in sending */
-#define LOG_ODELAY 0x04 /* delay open until first syslog() (default) */
-#define LOG_NDELAY 0x08 /* don't delay open */
-#define LOG_NOWAIT 0x10 /* don't wait for console forks: DEPRECATED */
-#define LOG_PERROR 0x20 /* log to stderr as well */
-
-/* Open connection to system logger. */
-/* against the glibc-routine ident has not to be const ! */
-/* instead ident is limited to 80 characters ! */
-void openlog (const char *ident, int option, int facility);
-
-void closelog (void) __THROW;
-
-int setlogmask (int mask) __THROW;
-
-void syslog (int priority, const char *format, ...) __THROW;
-
-void vsyslog (int priority, const char *format, va_list arg_ptr) __THROW;
-
-/* yuck yuck yuck, only needed for syslogd. */
-typedef struct _code {
- char *c_name;
- int c_val;
-} CODE;
-
-extern CODE prioritynames[];
-extern CODE facilitynames[];
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/time.h b/mdk-stage1/dietlibc/include/sys/time.h
deleted file mode 100644
index 11144f57b..000000000
--- a/mdk-stage1/dietlibc/include/sys/time.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _SYS_TIME_H
-#define _SYS_TIME_H 1
-
-#include <sys/cdefs.h>
-
-#include <sys/types.h>
-#include <linux/time.h>
-
-#if defined __USE_GNU || defined __USE_BSD
-typedef struct timezone *__timezone_ptr_t;
-#else
-typedef void *__timezone_ptr_t;
-#endif
-
-int getitimer(int which, struct itimerval *value) __THROW;
-int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue) __THROW;
-
-int gettimeofday(struct timeval *tv, struct timezone *tz) __THROW;
-int settimeofday(const struct timeval *tv , const struct timezone *tz) __THROW;
-
-extern int adjtime (const struct timeval *__delta,
- struct timeval *__olddelta) __THROW;
-
-struct tm
-{
- int tm_sec; /* Seconds. [0-60] (1 leap second) */
- int tm_min; /* Minutes. [0-59] */
- int tm_hour; /* Hours. [0-23] */
- int tm_mday; /* Day. [1-31] */
- int tm_mon; /* Month. [0-11] */
- int tm_year; /* Year - 1900. */
- int tm_wday; /* Day of week. [0-6] */
- int tm_yday; /* Days in year.[0-365] */
- int tm_isdst; /* DST. [-1/0/1]*/
-
- long int tm_gmtoff; /* Seconds east of UTC. */
- const char *tm_zone; /* Timezone abbreviation. */
-};
-
-struct tm* gmtime(const time_t *t) __THROW;
-struct tm* gmtime_r(const time_t *t, struct tm *r) __THROW;
-
-struct tm* localtime(const time_t *t) __THROW;
-struct tm* localtime_r(const time_t *t, struct tm *r) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/times.h b/mdk-stage1/dietlibc/include/sys/times.h
deleted file mode 100644
index 72ec62fec..000000000
--- a/mdk-stage1/dietlibc/include/sys/times.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_TIMES_H
-#define _SYS_TIMES_H
-
-#include <linux/times.h>
-
-clock_t times(struct tms *buf);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/types.h b/mdk-stage1/dietlibc/include/sys/types.h
deleted file mode 100644
index 34dbaa9f1..000000000
--- a/mdk-stage1/dietlibc/include/sys/types.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _SYS_TYPES_H
-#define _SYS_TYPES_H
-
-#include <linux/types.h>
-#include <linux/posix_types.h>
-#include <linux/socket.h>
-
-#ifdef __GNUC__
-#define __quad_t __quad_t
-typedef long long int __quad_t;
-typedef unsigned long long int __u_quad_t;
-#else
-#warning no long long support - no 64 bit file I/O support
-typedef long int __quad_t;
-typedef unsigned long int __u_quad_t;
-#endif
-
-
-#ifdef __quad_t
-typedef __quad_t off64_t;
-typedef __u_quad_t ino64_t;
-typedef __quad_t blkcnt64_t;
-#endif
-
-typedef long int fpos_t;
-
-#define socklen_t socklen_t
-typedef unsigned int socklen_t;
-
-typedef long int blksize_t;
-typedef long int blkcnt_t;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/uio.h b/mdk-stage1/dietlibc/include/sys/uio.h
deleted file mode 100644
index d64fd33c9..000000000
--- a/mdk-stage1/dietlibc/include/sys/uio.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_UIO
-#define _SYS_UIO 1
-
-#include <linux/uio.h>
-
-int readv(int filedes, const struct iovec *vector, size_t count);
-int writev(int filedes, const struct iovec *vector, size_t count);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/un.h b/mdk-stage1/dietlibc/include/sys/un.h
deleted file mode 100644
index 213d9290e..000000000
--- a/mdk-stage1/dietlibc/include/sys/un.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_UN_H
-#define _SYS_UN_H
-
-#include <sys/cdefs.h>
-
-#include <linux/un.h>
-
-#endif /* sys/un.h */
diff --git a/mdk-stage1/dietlibc/include/sys/utsname.h b/mdk-stage1/dietlibc/include/sys/utsname.h
deleted file mode 100644
index 37bf6c811..000000000
--- a/mdk-stage1/dietlibc/include/sys/utsname.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _SYS_UTSNAME_H
-#define _SYS_UTSNAME_H 1
-
-#include <sys/cdefs.h>
-
-/* Length of the entries in `struct utsname' is 65. */
-#define _UTSNAME_LENGTH 65
-#define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH
-
-/* Linux provides as additional information in the `struct utsname'
- the name of the current domain. Define _UTSNAME_DOMAIN_LENGTH
- to a value != 0 to activate this entry. */
-#define _UTSNAME_DOMAIN_LENGTH _UTSNAME_LENGTH
-
-struct utsname {
- /* Name of the implementation of the operating system. */
- char sysname[_UTSNAME_LENGTH];
-
- /* Name of this node on the network. */
- char nodename[_UTSNAME_NODENAME_LENGTH];
-
- /* Current release level of this implementation. */
- char release[_UTSNAME_LENGTH];
- /* Current version level of this release. */
- char version[_UTSNAME_LENGTH];
-
- /* Name of the hardware type the system is running on. */
- char machine[_UTSNAME_LENGTH];
-
- /* Name of the domain of this node on the network. */
- char domainname[_UTSNAME_DOMAIN_LENGTH];
-};
-
-extern int uname (struct utsname *__name) __THROW;
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/vfs.h b/mdk-stage1/dietlibc/include/sys/vfs.h
deleted file mode 100644
index e4740a225..000000000
--- a/mdk-stage1/dietlibc/include/sys/vfs.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _SYS_VFS_H
-#define _SYS_VFS_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/vfs.h>
-
-int statfs(const char *path, struct statfs *buf) __THROW;
-int fstatfs(int fd, struct statfs *buf) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/wait.h b/mdk-stage1/dietlibc/include/sys/wait.h
deleted file mode 100644
index eb70112e2..000000000
--- a/mdk-stage1/dietlibc/include/sys/wait.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _SYS_WAIT_H
-#define _SYS_WAIT_H
-
-#include <sys/cdefs.h>
-#include <sys/resource.h>
-#include <linux/wait.h>
-
-/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
-#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
-#define WEXITSTATUS __WEXITSTATUS
-
-/* If WIFSIGNALED(STATUS), the terminating signal. */
-#define __WTERMSIG(status) ((status) & 0x7f)
-#define WTERMSIG __WTERMSIG
-
-/* If WIFSTOPPED(STATUS), the signal that stopped the child. */
-#define __WSTOPSIG(status) __WEXITSTATUS(status)
-#define WSTOPSIG __WSTOPSIG
-
-/* Nonzero if STATUS indicates normal termination. */
-#define WIFEXITED(status) (__WTERMSIG(status) == 0)
-
-/* Nonzero if STATUS indicates termination by a signal. */
-#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
-
-/* Nonzero if STATUS indicates the child is stopped. */
-#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
-
-
-pid_t wait(int *status) __THROW;
-pid_t waitpid(pid_t pid, int *status, int options) __THROW;
-
-pid_t wait3(int *status, int options, struct rusage *rusage) __THROW;
-
-pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/syslog.h b/mdk-stage1/dietlibc/include/syslog.h
deleted file mode 100644
index 830b4928a..000000000
--- a/mdk-stage1/dietlibc/include/syslog.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/syslog.h>
diff --git a/mdk-stage1/dietlibc/include/termios.h b/mdk-stage1/dietlibc/include/termios.h
deleted file mode 100644
index f10909c1b..000000000
--- a/mdk-stage1/dietlibc/include/termios.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _TERMIOS_H
-#define _TERMIOS_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/* man, the Linux kernel headers suck */
-#define __USE_BSD
-#include <linux/termios.h>
-#undef __USE_BSD
-
-pid_t tcgetpgrp(int fd) __THROW;
-int tcsetpgrp(int fd, pid_t pgrpid) __THROW;
-int tcgetattr(int fd, struct termios *termios_p) __THROW;
-int tcsetattr(int fd, int optional_actions, struct termios *termios_p) __THROW;
-speed_t cfgetospeed(struct termios *termios_p) __THROW;
-int cfsetospeed(struct termios *termios_p, speed_t speed) __THROW;
-speed_t cfgetispeed(struct termios *termios_p) __THROW;
-int cfsetispeed(struct termios *termios_p, speed_t speed) __THROW;
-int tcflush(int fd, int queue_selector) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/time.h b/mdk-stage1/dietlibc/include/time.h
deleted file mode 100644
index 827c85b97..000000000
--- a/mdk-stage1/dietlibc/include/time.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _TIME_H
-#define _TIME_H
-
-#include <sys/cdefs.h>
-#include <sys/time.h>
-
-extern int __isleap(int year);
-
-int nanosleep(const struct timespec *req, struct timespec *rem) __THROW;
-unsigned int sleep(unsigned int secs) __THROW;
-
-time_t mktime(struct tm *timeptr) __THROW __pure__;
-
-char *asctime(const struct tm *timeptr) __THROW;
-char *asctime_r(const struct tm *timeptr, char *buf) __THROW;
-
-char *ctime(const time_t *timep) __THROW;
-
-size_t strftime(char *s, size_t max, const char *format, const struct tm *tm) __THROW;
-time_t time(time_t *t) __THROW;
-
-int stime(time_t *t) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/unistd.h b/mdk-stage1/dietlibc/include/unistd.h
deleted file mode 100644
index 1a528c0e4..000000000
--- a/mdk-stage1/dietlibc/include/unistd.h
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef _UNISTD_H
-#define _UNISTD_H
-
-#include <sys/cdefs.h>
-#include <dirent.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <getopt.h>
-#include <linux/sysctl.h>
-#include <sys/stat.h>
-
-/* Values for the second argument to access.
- These may be OR'd together. */
-#define R_OK 4 /* Test for read permission. */
-#define W_OK 2 /* Test for write permission. */
-#define X_OK 1 /* Test for execute permission. */
-#define F_OK 0 /* Test for existence. */
-
-/* Test for access to NAME using the real UID and real GID. */
-extern int access (__const char *__name, int __type) __THROW;
-
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-
-#define STDIN_FILENO 0
-#define STDOUT_FILENO 1
-#define STDERR_FILENO 2
-
-off_t lseek(int fildes, off_t offset, int whence) __THROW;
-int llseek(int fildes, unsigned long hi, unsigned long lo, loff_t* result,int whence) __THROW;
-#ifndef __NO_STAT64
-loff_t lseek64(int fildes, loff_t offset, int whence) __THROW;
-#endif
-#if _FILE_OFFSET_BITS == 64
-#define lseek(fildes,offset,whence) lseek64(fildes,offset,whence)
-#endif
-
-int chdir(const char *path) __THROW;
-int fchdir(int fd) __THROW;
-int mkdir(const char *pathname, mode_t mode) __THROW;
-int rmdir(const char *pathname) __THROW;
-char *getcwd(char *buf, size_t size) __THROW;
-
-int open(const char* pathname,int flags, ...) __THROW;
-int open64(const char* pathname,int flags, ...) __THROW;
-int creat(const char* pathname,mode_t mode) __THROW;
-int creat64(const char* pathname,mode_t mode) __THROW;
-int write(int fd,const void* buf,size_t len) __THROW;
-int read(int fd,void* buf,size_t len) __THROW;
-int close(int fd) __THROW;
-
-int unlink(const char *pathname) __THROW;
-
-int pread(int fd, void *buf, size_t count, off_t offset);
-int pwrite(int fd, const void *buf, size_t count, off_t offset);
-
-int execve(const char *filename, char *const argv [], char *const envp[]) __THROW;
-int execlp(const char *file, const char *arg, ...) __THROW;
-int execv(const char *path, char *const argv[]) __THROW;
-int execvp(const char *file, char *const argv[]) __THROW;
-int execl(const char *path, ...) __THROW;
-
-pid_t getpid(void) __attribute__((__const__)) __THROW;
-pid_t getppid(void) __THROW;
-int kill(pid_t pid, int sig) __THROW;
-
-int setpgid (pid_t pid,pid_t pgid) __THROW;
-pid_t getpgid (pid_t pid) __THROW;
-int setpgrp (void) __THROW;
-pid_t getpgrp (void) __THROW;
-pid_t setsid (void) __THROW;
-int dup (int oldfd) __THROW;
-int dup2 (int oldfd,int newfd) __THROW;
-
-int mknod(const char *pathname, mode_t mode, dev_t dev) __THROW;
-
-int getdents(unsigned int fd, struct dirent *dirp, unsigned int count) __THROW;
-int getdents64(unsigned int fd, struct dirent64 *dirp, unsigned int count) __THROW;
-
-pid_t fork(void) __THROW;
-pid_t vfork(void) __THROW;
-
-int readlink(const char *path, char *buf, size_t bufsiz) __THROW;
-int symlink(const char *oldpath, const char *newpath) __THROW;
-int link(const char *oldpath, const char *newpath) __THROW;
-
-int chown(const char *path, uid_t owner, gid_t group) __THROW;
-int fchown(int fd, uid_t owner, gid_t group) __THROW;
-int lchown(const char *path, uid_t owner, gid_t group) __THROW;
-
-int fsync(int fd) __THROW;
-
-int pipe(int filedes[2]) __THROW;
-
-char *ttyname (int desc) __THROW;
-
-int brk(void *end_data_segment) __THROW;
-void *sbrk(ptrdiff_t increment) __THROW;
-
-int gethostname(char *name, size_t len) __THROW;
-int sethostname(const char *name, size_t len) __THROW;
-
-void usleep(unsigned long usec) __THROW;
-unsigned int sleep(unsigned int seconds) __THROW;
-
-unsigned int alarm(unsigned int seconds) __THROW;
-int sync(void) __THROW;
-
-int isatty(int desc) __THROW;
-
-void _exit(int status) __THROW __attribute__((noreturn));
-
-extern int daemon (int nochdir,int noclose) __THROW;
-
-#if _FILE_OFFSET_BITS == 64
-#define open open64
-#define creat creat64
-#endif
-
-extern char* getlogin(void) __THROW;
-/* warning: the diet libc getlogin() simply returns getenv("LOGNAME") */
-
-int chroot(const char *path) __THROW;
-
-uid_t getuid(void) __THROW;
-uid_t geteuid(void) __THROW;
-gid_t getgid(void) __THROW;
-gid_t getegid(void) __THROW;
-int setuid(uid_t uid) __THROW;
-/* int seteuid(uid_t uid) __THROW; */
-int setgid(gid_t gid) __THROW;
-/* int setegid(gid_t gid) __THROW; */
-int setregid(gid_t rgid, gid_t egid) __THROW;
-int setreuid(uid_t ruid, uid_t euid) __THROW;
-#define seteuid(euid) setreuid(-1,euid)
-#define setegid(egid) setregid(-1,egid)
-
-int rename(const char *oldpath, const char *newpath) __THROW;
-int ftruncate(int fd, off_t length) __THROW;
-
-int mkstemp(char *Template) __THROW;
-
-int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) __THROW;
-
-int nice(int inc) __THROW;
-
-extern char *__environ[];
-
-char *crypt(const char *key, const char *salt) __THROW;
-void encrypt(char block[64], int edflag) __THROW;
-void setkey(const char *key) __THROW;
-
-size_t getpagesize(void) __attribute__((__const__)) __THROW;
-
-int getdomainname(char *name, size_t len) __THROW;
-int setdomainname(const char *name, size_t len) __THROW;
-
-int getgroups(int size, gid_t list[]) __THROW;
-
-/* warning: linux specific: */
-int _sysctl(struct __sysctl_args *args) __THROW;
-int sendfile(int out_fd, int in_fd, off_t *offset, size_t count) __THROW;
-
-int getdtablesize(void) __THROW;
-char *getpass(const char * prompt) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/utime.h b/mdk-stage1/dietlibc/include/utime.h
deleted file mode 100644
index 41674f379..000000000
--- a/mdk-stage1/dietlibc/include/utime.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _UTIME_H
-#define _UTIME_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <time.h>
-
-struct utimbuf {
- time_t actime; /* access time */
- time_t modtime; /* modification time */
-};
-
-int utime(const char *filename, struct utimbuf *buf) __THROW;
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/utmp.h b/mdk-stage1/dietlibc/include/utmp.h
deleted file mode 100644
index 2946be921..000000000
--- a/mdk-stage1/dietlibc/include/utmp.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef _UTMP_H
-#define _UTMP_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <time.h>
-
-#define UT_LINESIZE 32
-#define UT_NAMESIZE 32
-#define UT_HOSTSIZE 256
-
-#define _PATH_UTMP "/var/run/utmp"
-#define _PATH_WTMP "/var/log/wtmp"
-
-/* The structure describing an entry in the database of
- previous logins. */
-struct lastlog
- {
- time_t ll_time;
- char ll_line[UT_LINESIZE];
- char ll_host[UT_HOSTSIZE];
- };
-
-/* The structure describing the status of a terminated process. This
- type is used in `struct utmp' below. */
-struct exit_status
- {
- short int e_termination; /* Process termination status. */
- short int e_exit; /* Process exit status. */
- };
-
-/* The structure describing an entry in the user accounting database. */
-struct utmp
-{
- short int ut_type; /* Type of login. */
- pid_t ut_pid; /* Process ID of login process. */
- char ut_line[UT_LINESIZE]; /* Devicename. */
- char ut_id[4]; /* Inittab ID. */
- char ut_user[UT_NAMESIZE]; /* Username. */
- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
-#define ut_name ut_host
- struct exit_status ut_exit; /* Exit status of a process marked
- as DEAD_PROCESS. */
- long int ut_session; /* Session ID, used for windowing. */
- struct timeval ut_tv; /* Time entry was made. */
- int32_t ut_addr_v6[4]; /* Internet address of remote host. */
- char __unused[20]; /* Reserved for future use. */
-};
-
-/* Values for the `ut_type' field of a `struct utmp'. */
-#define EMPTY 0 /* No valid user accounting information. */
-
-#define RUN_LVL 1 /* The system's runlevel. */
-#define BOOT_TIME 2 /* Time of system boot. */
-#define NEW_TIME 3 /* Time after system clock changed. */
-#define OLD_TIME 4 /* Time when system clock changed. */
-
-#define INIT_PROCESS 5 /* Process spawned by the init process. */
-#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */
-#define USER_PROCESS 7 /* Normal process. */
-#define DEAD_PROCESS 8 /* Terminated process. */
-
-#define ACCOUNTING 9
-
-/* Tell the user that we have a modern system with UT_HOST, UT_PID,
- UT_TYPE, UT_ID and UT_TV fields. */
-#define _HAVE_UT_TYPE 1
-#define _HAVE_UT_PID 1
-#define _HAVE_UT_ID 1
-#define _HAVE_UT_TV 1
-#define _HAVE_UT_HOST 1
-
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__dtostr.c b/mdk-stage1/dietlibc/lib/__dtostr.c
deleted file mode 100644
index e9a8a83d3..000000000
--- a/mdk-stage1/dietlibc/lib/__dtostr.c
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <stdio.h>
-/* convert double to string. Helper for sprintf. */
-
-int __dtostr(double d,char *buf,int maxlen,int prec) {
- unsigned long long *x=(unsigned long long *)&d;
- /* step 1: extract sign, mantissa and exponent */
- signed int s=*x>>63;
- signed long e=((*x>>52)&((1<<11)-1))-1023;
-/* unsigned long long m=*x & ((1ull<<52)-1); */
- /* step 2: exponent is base 2, compute exponent for base 10 */
- signed long e10=1+(long)(e*0.30102999566398119802); /* log10(2) */
- /* step 3: calculate 10^e10 */
- int i;
- double tmp=10.0;
- char *oldbuf=buf;
- int initial=1;
-
- if (d==0.0) {
- *buf='0'; ++buf;
- goto done;
- }
- if (s) { d=-d; *buf='-'; --maxlen; buf++; }
-/* printf("e=%d e10=%d prec=%d\n",e,e10,prec); */
- if (e10>=0) {
- i=e10;
- while (i>10) { tmp=tmp*1e10; i-=10; }
- while (i>1) { tmp=tmp*10; --i; }
- } else {
- i=(e10=-e10);
- while (i>10) { tmp=tmp*1e-10; i-=10; }
- while (i>1) { tmp=tmp/10; --i; }
- }
- while (d/tmp<1) {
- --e10;
- tmp/=10.0;
- }
- /* step 4: see if precision is sufficient to display all digits */
- if (e10>prec) {
- /* use scientific notation */
- int len=__dtostr(d/tmp,buf,maxlen,prec);
- if (len==0) return 0;
- maxlen-=len; buf+=len;
- if (--maxlen>=0) {
- *buf='e';
- ++buf;
- }
- for (len=1000; len>0; len/=10) {
- if (e10>=len || !initial) {
- if (--maxlen>=0) {
- *buf=(e10/len)+'0';
- ++buf;
- }
- initial=0;
- e10=e10%len;
- }
- }
- if (maxlen>=0) return buf-oldbuf;
- return 0;
- }
- /* step 5: loop through the digits, inserting the decimal point when
- * appropriate */
- if (d<1.0) {
- double x=1.0;
- int first=1;
- do {
- if (--maxlen<0) return buf-oldbuf;
- *buf='0'; ++buf;
- if (first) {
- first=0;
- *buf='.'; ++buf;
- if (--maxlen<0) return buf-oldbuf;
- }
- x/=10.0;
- } while (x>d);
- }
- for (; prec>0; ) {
- double tmp2=d/tmp;
- char c;
- d-=((int)tmp2*tmp);
- c=((int)tmp2);
- if ((!initial)||c) {
- if (--maxlen>=0) {
- initial=0;
- *buf=c+'0';
- ++buf;
- } else
- return 0;
- --prec;
- }
- if (tmp>0.5 && tmp<1.5) {
- tmp=1e-1;
- initial=0;
- if (--maxlen>=0) {
- *buf='.';
- ++buf;
- } else
- return 0;
- } else
- tmp/=10.0;
- }
-done:
- *buf=0;
- return buf-oldbuf;
-}
diff --git a/mdk-stage1/dietlibc/lib/__fstat64.c b/mdk-stage1/dietlibc/lib/__fstat64.c
deleted file mode 100644
index 6f9fcb2c5..000000000
--- a/mdk-stage1/dietlibc/lib/__fstat64.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <errno.h>
-
-extern int __dietlibc_fstat64(int __fd, struct stat64 *__buf);
-extern void __stat64_cvt(const struct stat *src,struct stat64 *dest);
-
-int fstat64(int __fd, struct stat64 *__buf) {
- if (__dietlibc_fstat64(__fd,__buf)) {
- struct stat temp;
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()!=ENOSYS) return -1;
-#else
- if (errno!=ENOSYS) return -1;
-#endif
- if (fstat(__fd,&temp)) return -1;
- __stat64_cvt(&temp,__buf);
- }
- return 0;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__getcwd.c b/mdk-stage1/dietlibc/lib/__getcwd.c
deleted file mode 100644
index e97fc4520..000000000
--- a/mdk-stage1/dietlibc/lib/__getcwd.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdlib.h>
-
-extern int __syscall_getcwd(char* buf, size_t size);
-
-char *getcwd(char *buf, size_t size) {
- int tmp;
- if ((tmp=__syscall_getcwd(buf,size))<0) return 0;
- buf[tmp]=0;
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/lib/__isnan.c b/mdk-stage1/dietlibc/lib/__isnan.c
deleted file mode 100644
index 9d21e9824..000000000
--- a/mdk-stage1/dietlibc/lib/__isnan.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>
-
-int __isnan(double d) {
- unsigned long long *x=(unsigned long long *)&d;
- return (*x==0x7FF8002000000000ll || *x==0x7FF0002000000000);
-}
-
-#if 0
-TestFromIeeeExtended("7FFF0000000000000000"); /* +infinity */
-TestFromIeeeExtended("FFFF0000000000000000"); /* -infinity */
-TestFromIeeeExtended("7FFF8001000000000000"); /* Quiet NaN(1) */
-TestFromIeeeExtended("7FFF0001000000000000"); /* Signalling NaN(1) */
-TestFromIeeeExtended("3FFFFEDCBA9876543210"); /* accuracy test */
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__lltostr.c b/mdk-stage1/dietlibc/lib/__lltostr.c
deleted file mode 100644
index eb4a27cef..000000000
--- a/mdk-stage1/dietlibc/lib/__lltostr.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <string.h>
-
-int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase)
-{
- char *tmp;
- int j=0;
-
- s[--size]=0;
-
- tmp=s+size;
-
- if ((base==0)||(base>36)) base=10;
-
- j=0;
- if (!i)
- {
- *(--tmp)='0';
- j=1;
- }
-
- while((tmp>s)&&(i))
- {
- tmp--;
- if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1;
- i=i/base;
- j++;
- }
- memmove(s,tmp,j+1);
-
- return j;
-}
diff --git a/mdk-stage1/dietlibc/lib/__lstat64.c b/mdk-stage1/dietlibc/lib/__lstat64.c
deleted file mode 100644
index a871f3917..000000000
--- a/mdk-stage1/dietlibc/lib/__lstat64.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <errno.h>
-
-extern int __dietlibc_lstat64(const char *__file, struct stat64 *__buf);
-extern void __stat64_cvt(const struct stat *src,struct stat64 *dest);
-
-int lstat64(const char *__file, struct stat64 *__buf) {
- if (__dietlibc_lstat64(__file,__buf)) {
- struct stat temp;
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()!=ENOSYS) return -1;
-#else
- if (errno!=ENOSYS) return -1;
-#endif
- if (lstat(__file,&temp)) return -1;
- __stat64_cvt(&temp,__buf);
- }
- return 0;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__ltostr.c b/mdk-stage1/dietlibc/lib/__ltostr.c
deleted file mode 100644
index 57e0690d2..000000000
--- a/mdk-stage1/dietlibc/lib/__ltostr.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <string.h>
-
-int __ltostr(char *s, int size, unsigned long i, int base, char UpCase)
-{
- char *tmp;
- int j=0;
-
- s[--size]=0;
-
- tmp=s+size;
-
- if ((base==0)||(base>36)) base=10;
-
- j=0;
- if (!i)
- {
- *(--tmp)='0';
- j=1;
- }
-
- while((tmp>s)&&(i))
- {
- tmp--;
- if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1;
- i=i/base;
- j++;
- }
- memmove(s,tmp,j+1);
-
- return j;
-}
diff --git a/mdk-stage1/dietlibc/lib/__stat64.c b/mdk-stage1/dietlibc/lib/__stat64.c
deleted file mode 100644
index dfb0d4315..000000000
--- a/mdk-stage1/dietlibc/lib/__stat64.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <errno.h>
-
-extern int __dietlibc_stat64(const char *__file, struct stat64 *__buf);
-extern void __stat64_cvt(const struct stat *src,struct stat64 *dest);
-
-int stat64(const char *__file, struct stat64 *__buf) {
- if (__dietlibc_stat64(__file,__buf)) {
- struct stat temp;
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()!=ENOSYS) return -1;
-#else
- if (errno!=ENOSYS) return -1;
-#endif
- if (stat(__file,&temp)) return -1;
- __stat64_cvt(&temp,__buf);
- }
- return 0;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__stat64_cvt.c b/mdk-stage1/dietlibc/lib/__stat64_cvt.c
deleted file mode 100644
index dced352a4..000000000
--- a/mdk-stage1/dietlibc/lib/__stat64_cvt.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-void __stat64_cvt(const struct stat *src,struct stat64 *dest) {
- dest->st_dev=src->st_dev;
- dest->st_ino=src->st_ino;
- dest->st_mode=src->st_mode;
- dest->st_nlink=src->st_nlink;
- dest->st_uid=src->st_gid;
- dest->st_rdev=src->st_rdev;
- dest->st_size=src->st_size;
- dest->st_blksize=src->st_blksize;
- dest->st_blocks=src->st_blocks;
- dest->st_atime=src->st_atime;
- dest->st_mtime=src->st_mtime;
- dest->st_ctime=src->st_ctime;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__xmknod.c b/mdk-stage1/dietlibc/lib/__xmknod.c
deleted file mode 100644
index 4739a1f5f..000000000
--- a/mdk-stage1/dietlibc/lib/__xmknod.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/stat.h>
-
-int __xmknod(int ver,char* filename,mode_t mode,dev_t *dev) {
- return mknod(filename,mode,*dev);
-}
-
diff --git a/mdk-stage1/dietlibc/lib/_brk.c b/mdk-stage1/dietlibc/lib/_brk.c
deleted file mode 100644
index 6d0b29c03..000000000
--- a/mdk-stage1/dietlibc/lib/_brk.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <unistd.h>
-
-extern int __diet_brk(void *end_data_segment);
-
-void* __curbrk=0;
-
-int __brk(void *end_data_segment) {
- int res;
- if ((res=__diet_brk(end_data_segment))==0)
- __curbrk=end_data_segment;
- return res;
-}
-
-int brk (void *end_data_segment) __attribute__((weak,alias("__brk")));
diff --git a/mdk-stage1/dietlibc/lib/abort.c b/mdk-stage1/dietlibc/lib/abort.c
deleted file mode 100644
index 55bfb8f0f..000000000
--- a/mdk-stage1/dietlibc/lib/abort.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/types.h>
-#include <linux/signal.h>
-#include <signal.h>
-#include <stdlib.h>
-
-void abort() {
- sigset_t t;
- if (!sigemptyset(&t) && !sigaddset(&t, SIGABRT))
- sigprocmask(SIG_UNBLOCK, &t, 0);
- while (1)
- if (raise(SIGABRT))
- exit(127);
-}
diff --git a/mdk-stage1/dietlibc/lib/abs.c b/mdk-stage1/dietlibc/lib/abs.c
deleted file mode 100644
index 9d7055358..000000000
--- a/mdk-stage1/dietlibc/lib/abs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdlib.h>
-
-int abs(int j)
-{
- return (j < 0) ? -j : j;
-}
diff --git a/mdk-stage1/dietlibc/lib/accept.c b/mdk-stage1/dietlibc/lib/accept.c
deleted file mode 100644
index c7e8254ca..000000000
--- a/mdk-stage1/dietlibc/lib/accept.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_accept(int a, void * addr, void * addr2) {
-#ifdef __i386__
- return socketcall(SYS_ACCEPT, (long*)&a);
-#else
- unsigned long args[] = { a, (long) addr, (long) addr2 };
- return socketcall(SYS_ACCEPT, args);
-#endif
-}
-
-int accept(int a, void * addr, void * addr2) __attribute__((weak,alias("__libc_accept")));
diff --git a/mdk-stage1/dietlibc/lib/alarm.c b/mdk-stage1/dietlibc/lib/alarm.c
deleted file mode 100644
index fd35372f2..000000000
--- a/mdk-stage1/dietlibc/lib/alarm.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1991, 1992, 1994, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include <unistd.h>
-#include <sys/time.h>
-
-/* Schedule an alarm. In SECONDS seconds, the process will get a SIGALRM.
- If SECONDS is zero, any currently scheduled alarm will be cancelled.
- The function returns the number of seconds remaining until the last
- alarm scheduled would have signaled, or zero if there wasn't one.
- There is no return value to indicate an error, but you can set `errno'
- to 0 and check its value after calling `alarm', and this might tell you.
- The signal may come late due to processor scheduling. */
-unsigned int
-alarm (seconds)
- unsigned int seconds;
-{
- struct itimerval old, new;
- unsigned int retval;
-
- new.it_interval.tv_usec = 0;
- new.it_interval.tv_sec = 0;
- new.it_value.tv_usec = 0;
- new.it_value.tv_sec = (long int) seconds;
- if (setitimer (ITIMER_REAL, &new, &old) < 0)
- return 0;
-
- retval = old.it_value.tv_sec;
- if (old.it_value.tv_usec)
- ++retval;
- return retval;
-}
diff --git a/mdk-stage1/dietlibc/lib/alloc.c b/mdk-stage1/dietlibc/lib/alloc.c
deleted file mode 100644
index 8cb87a69b..000000000
--- a/mdk-stage1/dietlibc/lib/alloc.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * malloc/free by O.Dreesen
- */
-
-#include <linux/unistd.h>
-#include <asm/mman.h>
-#include <linux/errno.h>
-#include "dietfeatures.h"
-
-#if 0
-#include <sys/mman.h>
-#define _LIBC
-#include <errno.h>
-#endif
-
-#include <linux/types.h>
-
-#if defined(MAP_ANONYMOUS) && !defined(MAP_ANON)
-#define MAP_ANON MAP_ANONYMOUS
-#endif
-
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void*)-1)
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-extern void * mmap(void *start, size_t length, int prot , int flags, int fd, off_t offset);
-extern void *memset(void *s, int c, size_t n);
-extern void *memcpy(void *dest, const void *src, size_t n);
-
-typedef struct t_alloc_head {
- unsigned int magic1;
- struct t_alloc_head *ptr;
- unsigned long size;
- unsigned int magic2;
-} alloc_head;
-
-/* guess what ? the virtual block size */
-#define MEM_BLOCK_SIZE 4096
-
-/* minimum allocated bytes */
-#define MEM_ALLOC_MIN 4
-
-/* Initial start position in memory */
-#define MEM_ALLOC_START ((char*)0x18000000)
-
-/* Make every block align */
-#define MEM_ALIGN(s) (((s)+MEM_ALLOC_MIN-1)&(~(MEM_ALLOC_MIN-1)))
-#define PAGE_ALIGN(s) (((s)+MEM_BLOCK_SIZE-1)&(~(MEM_BLOCK_SIZE-1)))
-#define PAGE_ALIGNP(p) ((char*)PAGE_ALIGN((size_t)(p)))
-
-#define END_OF_BLOCK(p) ((alloc_head*)(((char*)(p))+((p)->size)))
-#define START_BLOCK(p) ((alloc_head*)(((char*)(p))-sizeof(alloc_head)))
-#define START_DATA(p) (((char*)(p))+sizeof(alloc_head))
-#define MIN_ALLOC(s) (((((s)+sizeof(alloc_head)-1)/MEM_ALLOC_MIN)+1)*MEM_ALLOC_MIN)
-
-#define ALLOC_MAGIC1 0xbad2f7ee
-#define ALLOC_MAGIC2 0xf7ee2bad
-
-/* freelist handler */
-static alloc_head base = {ALLOC_MAGIC1,&base,0,ALLOC_MAGIC2};
-static char *alloc_get_end = MEM_ALLOC_START;
-
-void __libc_free(void *ptr)
-{
- alloc_head *prev,*p,*block;
-
- if (ptr==NULL) return;
-
- block=START_BLOCK(ptr);
- if (block->magic1 != ALLOC_MAGIC1) return;
- if (block->magic2 != ALLOC_MAGIC2) return;
-
- prev=&base;
- for (p=prev->ptr ; ; prev=p, p=p->ptr)
- {
- if ((block>prev)&&(block<p)) break; /* found the gap block belongs */
- if ((prev>p)&&(block<p)) break; /* block pre freelist */
- if ((prev>p)&&(block>prev)) break; /* block after freelist */
-
- /* emergency escape: freelist has ONLY one entry the freelist base */
- if (p->ptr==p) break;
- }
- prev->ptr = block;
-
- if (END_OF_BLOCK(block)==p)
- { /* join right neighbor */
- block->ptr = p->ptr;
- block->size += p->size;
- }
- else
- block->ptr = p;
-
- if (END_OF_BLOCK(prev)==block)
- { /* join left neighbor */
- prev->size += block->size;
- prev->ptr = block->ptr;
- }
-}
-void free(void *ptr) __attribute__((weak,alias("__libc_free")));
-
-static void *alloc_get_mem(unsigned long size)
-{
- char *tmp;
- alloc_head *ah;
-
- size=PAGE_ALIGN(size);
-
- /* map free pages @ alloc_get_end */
- tmp=mmap(alloc_get_end, size, PROT_READ|PROT_WRITE,
- MAP_ANONYMOUS|MAP_PRIVATE|MAP_FIXED, -1, 0);
- if (tmp==MAP_FAILED)
- {
- /* OK we can't map free pages @ alloc_get_end so try free position */
- tmp=mmap(0, size, PROT_READ|PROT_WRITE,
- MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
- if (tmp==MAP_FAILED)
- {
- errno = ENOMEM;
- return NULL; /* PANIC ! */
- }
- alloc_get_end=tmp;
- }
-
- alloc_get_end+=size;
-
- /* make a header */
- ah=(alloc_head*)tmp;
- ah->magic1=ALLOC_MAGIC1;
- ah->magic2=ALLOC_MAGIC2;
- ah->ptr=ah;
- ah->size=size;
-
- /* link new free maped pages in freelist */
- __libc_free(START_DATA(tmp));
-
- return &base;
-}
-
-void *__libc_malloc(size_t size)
-{
- alloc_head *p, *prev;
- size_t need;
-
- /* needed MEM_ALLOC_MIN */
- need=MIN_ALLOC(size);
-
- prev=&base;
- for (p=prev->ptr;;prev=p,p=p->ptr)
- {
- if (p->size>=need)
- {
- if (p->size==need)
- { /* fit PERFECT */
- prev->ptr=p->ptr; /* relink freelist */
- }
- else
- {
- alloc_head *tmp=(alloc_head*)(((char*)p)+need);
- if ((p->size-need)<sizeof(alloc_head))
- { /* work around: if there is not enough space for freelist head.
- * this waste some bytes ( < sizeof(alloc_head) ) */
- need=p->size;
- prev->ptr=p->ptr; /* relink freelist */
- }
- else
- {
- prev->ptr=tmp;
- tmp->magic1=ALLOC_MAGIC1;
- tmp->magic2=ALLOC_MAGIC2;
- tmp->ptr=p->ptr;
- tmp->size=p->size-need; /* remaining size */
- }
-
- p->size=need; /* set size */
- }
- p->ptr=p; /* self-link */
-
- return (void*)START_DATA(p);
- }
- else if (p==&base)
- {
- if ((p=alloc_get_mem(need))==NULL) goto err_out;
- }
- }
-err_out:
- return NULL;
-}
-void *malloc(size_t size) __attribute__((weak,alias("__libc_malloc")));
-
-void *calloc(size_t nmemb,size_t size)
-{
- size_t n=nmemb*size;
- void *tmp=malloc(n);
- if (tmp) memset(tmp,0,n);
- return tmp;
-}
-
-void *realloc(void *ptr,size_t size)
-{
- alloc_head *tmp=0,*tf=0;
- long need=0;
- long diff=0;
-
- if (ptr)
- {
- if (size)
- {
- tmp=START_BLOCK(ptr);
- need=MIN_ALLOC(size); /* only this size will survive */
- diff=tmp->size-need;
- if (diff<0)
- {
- if ((tf=malloc(size)))
- {
- memcpy(tf,ptr,tmp->size-sizeof(alloc_head));
- free(ptr);
- return tf;
- }
- return NULL;
- }
- if (diff>=sizeof(alloc_head))
- {
- tmp->size=need;
- tf=END_OF_BLOCK(tmp);
- tf->magic1=ALLOC_MAGIC1;
- tf->magic2=ALLOC_MAGIC2;
- tf->ptr=tf;
- tf->size=diff;
- free(START_DATA(tf));
- }
- return ptr;
- }
- else
- free(ptr);
- }
- else if (size>0)
- return malloc(size);
- return NULL;
-}
diff --git a/mdk-stage1/dietlibc/lib/assert_fail.c b/mdk-stage1/dietlibc/lib/assert_fail.c
deleted file mode 100644
index 3d6ba65c1..000000000
--- a/mdk-stage1/dietlibc/lib/assert_fail.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "dietwarning.h"
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-
-void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function)
-{
- int alen=strlen(assertion);
- int flen=strlen(file);
- int fulen=strlen(function);
- char *buf=(char*)alloca(alen+flen+fulen+50);
- if (buf) {
- char *tmp;
- *buf=0;
- if (file) strcat(strcat(buf,file),":");
- tmp=buf+strlen(buf);
- __ltostr(tmp,10,line,10,0);
- strcat(buf,": ");
- if (function) strcat(strcat(buf,function),": ");
- strcat(buf,"Assertion `");
- strcat(buf,assertion);
- strcat(buf,"' failed.\n");
- write(2,buf,strlen(buf));
- }
- abort();
-}
-
-link_warning("__assert_fail","warning: your code still has assertions enabled!")
diff --git a/mdk-stage1/dietlibc/lib/atexit.c b/mdk-stage1/dietlibc/lib/atexit.c
deleted file mode 100644
index 8204af06c..000000000
--- a/mdk-stage1/dietlibc/lib/atexit.c
+++ /dev/null
@@ -1,23 +0,0 @@
-typedef void (*function)(void);
-
-static function __atexitlist[4];
-
-int atexit(function t) {
- int i;
- for (i=0; i<4; i++)
- if (__atexitlist[i]==0) {
- __atexitlist[i]=t;
- return 0;
- }
- return -1;
-}
-
-extern void _exit(int code) __attribute__((noreturn));
-
-void exit(int code) {
- if (__atexitlist[3]) __atexitlist[3]();
- if (__atexitlist[2]) __atexitlist[2]();
- if (__atexitlist[1]) __atexitlist[1]();
- if (__atexitlist[0]) __atexitlist[0]();
- _exit(code);
-}
diff --git a/mdk-stage1/dietlibc/lib/atof.c b/mdk-stage1/dietlibc/lib/atof.c
deleted file mode 100644
index 54221390e..000000000
--- a/mdk-stage1/dietlibc/lib/atof.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdlib.h>
-
-double atof(const char *nptr) {
-#if 0
- return strtod(nptr,0);
-#else
- double tmp=strtod(nptr,0);
- return tmp;
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/atoi.c b/mdk-stage1/dietlibc/lib/atoi.c
deleted file mode 100644
index fe952b8c4..000000000
--- a/mdk-stage1/dietlibc/lib/atoi.c
+++ /dev/null
@@ -1,8 +0,0 @@
-int atoi(const char* s) {
- int v=0;
- int sign=1;
- if (*s=='-') { sign=-1; ++s; } else if (*s=='+') ++s;
- while (*s && (*s>='0') && (*s<='9'))
- v=v*10+*s++-'0';
- return v*sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/atol.c b/mdk-stage1/dietlibc/lib/atol.c
deleted file mode 100644
index 558a004b9..000000000
--- a/mdk-stage1/dietlibc/lib/atol.c
+++ /dev/null
@@ -1,8 +0,0 @@
-long int atol(const char* s) {
- long int v=0;
- int sign=1;
- if (*s=='-') { sign=-1; ++s; } else if (*s=='+') ++s;
- while (*s && (*s>='0') && (*s<='9'))
- v=v*10+*s++-'0';
- return v*sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/bind.c b/mdk-stage1/dietlibc/lib/bind.c
deleted file mode 100644
index ec1c93e1b..000000000
--- a/mdk-stage1/dietlibc/lib/bind.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int bind(int a, void * b, int c) {
-#ifdef __i386__
- return socketcall(SYS_BIND, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_BIND, args);
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/bsearch.c b/mdk-stage1/dietlibc/lib/bsearch.c
deleted file mode 100644
index d2f5c74b2..000000000
--- a/mdk-stage1/dietlibc/lib/bsearch.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <stdlib.h>
-
-void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- const char *v, *r;
- int res;
- r=base+(nmemb-1)*size;
- do {
- register int num=nmemb/2;
- v=base+num*size;
- if ((res=compar(key,v))<0) {
- r=v-size;
- nmemb=num;
- } else {
- if (res==0) return (void*)v;
- base=v+size;
- nmemb-=num;
- }
- } while ((char*)base<=r);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/cfmakeraw.c b/mdk-stage1/dietlibc/lib/cfmakeraw.c
deleted file mode 100644
index 7f6df9913..000000000
--- a/mdk-stage1/dietlibc/lib/cfmakeraw.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-
-void cfmakeraw(struct termios *t)
-{
- t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
- t->c_oflag &= ~OPOST;
- t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
- t->c_cflag &= ~(CSIZE|PARENB);
- t->c_cflag |= CS8;
- t->c_cc[VMIN] = 1;
- t->c_cc[VTIME] = 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/closedir.c b/mdk-stage1/dietlibc/lib/closedir.c
deleted file mode 100644
index e73025eb1..000000000
--- a/mdk-stage1/dietlibc/lib/closedir.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-
-int closedir (DIR* d) {
- int res=close(d->fd);
- free(d);
- return res;
-}
diff --git a/mdk-stage1/dietlibc/lib/connect.c b/mdk-stage1/dietlibc/lib/connect.c
deleted file mode 100644
index 01fd61a6c..000000000
--- a/mdk-stage1/dietlibc/lib/connect.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_connect(int a, void * b, int c) {
-#ifdef __i386__
- return socketcall(SYS_CONNECT, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_CONNECT, args);
-#endif
-}
-
-int connect(int a, void * b, int c) __attribute__((weak,alias("__libc_connect")));
diff --git a/mdk-stage1/dietlibc/lib/creat.c b/mdk-stage1/dietlibc/lib/creat.c
deleted file mode 100644
index 82145b515..000000000
--- a/mdk-stage1/dietlibc/lib/creat.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <fcntl.h>
-
-int creat(const char *file,mode_t mode) {
- return open(file,O_WRONLY|O_CREAT|O_TRUNC,mode);
-}
diff --git a/mdk-stage1/dietlibc/lib/creat64.c b/mdk-stage1/dietlibc/lib/creat64.c
deleted file mode 100644
index 8cf897b57..000000000
--- a/mdk-stage1/dietlibc/lib/creat64.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <fcntl.h>
-
-#ifndef O_LARGEFILE
-#define O_LARGEFILE 0
-#endif
-
-int creat64(const char *file,mode_t mode) {
- return open(file,O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE,mode);
-}
diff --git a/mdk-stage1/dietlibc/lib/errlist.c b/mdk-stage1/dietlibc/lib/errlist.c
deleted file mode 100644
index d0e712190..000000000
--- a/mdk-stage1/dietlibc/lib/errlist.c
+++ /dev/null
@@ -1,132 +0,0 @@
-
-const char *const sys_errlist[] = {
- "Success", /* 0 */
- "Operation not permitted", /* EPERM */
- "No such file or directory", /* ENOENT */
- "No such process", /* ESRCH */
- "Interrupted system call", /* EINTR */
- "I/O error", /* EIO */
- "No such device or address", /* ENXIO */
- "Arg list too long", /* E2BIG */
- "Exec format error", /* ENOEXEC */
- "Bad file number", /* EBADF */
- "No child processes", /* ECHILD */
- "Try again", /* EAGAIN */
- "Out of memory", /* ENOMEM */
- "Permission denied", /* EACCES */
- "Bad address", /* EFAULT */
- "Block device required", /* ENOTBLK */
- "Device or resource busy", /* EBUSY */
- "File exists", /* EEXIST */
- "Cross-device link", /* EXDEV */
- "No such device", /* ENODEV */
- "Not a directory", /* ENOTDIR */
- "Is a directory", /* EISDIR */
- "Invalid argument", /* EINVAL */
- "File table overflow", /* ENFILE */
- "Too many open files", /* EMFILE */
- "Not a typewriter", /* ENOTTY */
- "Text file busy", /* ETXTBSY */
- "File too large", /* EFBIG */
- "No space left on device", /* ENOSPC */
- "Illegal seek", /* ESPIPE */
- "Read-only file system", /* EROFS */
- "Too many links", /* EMLINK */
- "Broken pipe", /* EPIPE */
- "Math argument out of domain of func", /* EDOM */
- "Math result not representable", /* ERANGE */
- "Resource deadlock would occur", /* EDEADLK */
- "File name too long", /* ENAMETOOLONG */
- "No record locks available", /* ENOLCK */
- "Function not implemented", /* ENOSYS */
- "Directory not empty", /* ENOTEMPTY */
- "Too many symbolic links encountered", /* ELOOP */
- "Operation would block", /* EWOULDBLOCK */
- "No message of desired type", /* ENOMSG */
- "Identifier removed", /* EIDRM */
- "Channel number out of range", /* ECHRNG */
- "Level 2 not synchronized", /* EL2NSYNC */
- "Level 3 halted", /* EL3HLT */
- "Level 3 reset", /* EL3RST */
- "Link number out of range", /* ELNRNG */
- "Protocol driver not attached", /* EUNATCH */
- "No CSI structure available", /* ENOCSI */
- "Level 2 halted", /* EL2HLT */
- "Invalid exchange", /* EBADE */
- "Invalid request descriptor", /* EBADR */
- "Exchange full", /* EXFULL */
- "No anode", /* ENOANO */
- "Invalid request code", /* EBADRQC */
- "Invalid slot", /* EBADSLT */
- "File locking deadlock error", /* EDEADLOCK */
- "Bad font file format", /* EBFONT */
- "Device not a stream", /* ENOSTR */
- "No data available", /* ENODATA */
- "Timer expired", /* ETIME */
- "Out of streams resources", /* ENOSR */
- "Machine is not on the network", /* ENONET */
- "Package not installed", /* ENOPKG */
- "Object is remote", /* EREMOTE */
- "Link has been severed", /* ENOLINK */
- "Advertise error", /* EADV */
- "Srmount error", /* ESRMNT */
- "Communication error on send", /* ECOMM */
- "Protocol error", /* EPROTO */
- "Multihop attempted", /* EMULTIHOP */
- "RFS specific error", /* EDOTDOT */
- "Not a data message", /* EBADMSG */
- "Value too large for defined data type", /* EOVERFLOW */
- "Name not unique on network", /* ENOTUNIQ */
- "File descriptor in bad state", /* EBADFD */
- "Remote address changed", /* EREMCHG */
- "Can not access a needed shared library", /* ELIBACC */
- "Accessing a corrupted shared library", /* ELIBBAD */
- ".lib section in a.out corrupted", /* ELIBSCN */
- "Attempting to link in too many shared libraries", /* ELIBMAX */
- "Cannot exec a shared library directly", /* ELIBEXEC */
- "Illegal byte sequence", /* EILSEQ */
- "Interrupted system call should be restarted", /* ERESTART */
- "Streams pipe error", /* ESTRPIPE */
- "Too many users", /* EUSERS */
- "Socket operation on non-socket", /* ENOTSOCK */
- "Destination address required", /* EDESTADDRREQ */
- "Message too long", /* EMSGSIZE */
- "Protocol wrong type for socket", /* EPROTOTYPE */
- "Protocol not available", /* ENOPROTOOPT */
- "Protocol not supported", /* EPROTONOSUPPORT */
- "Socket type not supported", /* ESOCKTNOSUPPORT */
- "Operation not supported on transport endpoint", /* EOPNOTSUPP */
- "Protocol family not supported", /* EPFNOSUPPORT */
- "Address family not supported by protocol", /* EAFNOSUPPORT */
- "Address already in use", /* EADDRINUSE */
- "Cannot assign requested address", /* EADDRNOTAVAIL */
- "Network is down", /* ENETDOWN */
- "Network is unreachable", /* ENETUNREACH */
- "Network dropped connection because of reset", /* ENETRESET */
- "Software caused connection abort", /* ECONNABORTED */
- "Connection reset by peer", /* ECONNRESET */
- "No buffer space available", /* ENOBUFS */
- "Transport endpoint is already connected", /* EISCONN */
- "Transport endpoint is not connected", /* ENOTCONN */
- "Cannot send after transport endpoint shutdown", /* ESHUTDOWN */
- "Too many references: cannot splice", /* ETOOMANYREFS */
- "Connection timed out", /* ETIMEDOUT */
- "Connection refused", /* ECONNREFUSED */
- "Host is down", /* EHOSTDOWN */
- "No route to host", /* EHOSTUNREACH */
- "Operation already in progress", /* EALREADY */
- "Operation now in progress", /* EINPROGRESS */
- "Stale NFS file handle", /* ESTALE */
- "Structure needs cleaning", /* EUCLEAN */
- "Not a XENIX named type file", /* ENOTNAM */
- "No XENIX semaphores available", /* ENAVAIL */
- "Is a named type file", /* EISNAM */
- "Remote I/O error", /* EREMOTEIO */
- "Quota exceeded", /* EDQUOT */
- "No medium found", /* ENOMEDIUM */
- "Wrong medium type", /* EMEDIUMTYPE */
- 0
-};
-
-
-const int sys_nerr = ((sizeof (sys_errlist))/(sizeof(char *))-1);
diff --git a/mdk-stage1/dietlibc/lib/errno_location.c b/mdk-stage1/dietlibc/lib/errno_location.c
deleted file mode 100644
index 286f833c9..000000000
--- a/mdk-stage1/dietlibc/lib/errno_location.c
+++ /dev/null
@@ -1,5 +0,0 @@
-extern int errno;
-
-int *__errno_location() { return &errno; }
-
-int *errno_location() __attribute__((weak,alias("__errno_location")));
diff --git a/mdk-stage1/dietlibc/lib/exec_lib.c b/mdk-stage1/dietlibc/lib/exec_lib.c
deleted file mode 100644
index 3129224a0..000000000
--- a/mdk-stage1/dietlibc/lib/exec_lib.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <unistd.h>
-#include <paths.h>
-
-extern char **environ;
-
-int __exec_shell(const char *file, char *const argv[]) {
- int i;
-
- for (i = 0; argv[i]; i++);
-
- {
- char *shell_argv[i + 1];
- shell_argv[0] = _PATH_BSHELL;
- shell_argv[1] = (char *) file;
- for (; i > 1; i--)
- shell_argv[i] = argv[i - 1];
- return execve(_PATH_BSHELL, shell_argv, environ);
- }
-}
-
diff --git a/mdk-stage1/dietlibc/lib/exec_lib.h b/mdk-stage1/dietlibc/lib/exec_lib.h
deleted file mode 100644
index 0971bd1fb..000000000
--- a/mdk-stage1/dietlibc/lib/exec_lib.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __EXEC_LIB_H
-#define __EXEC_LIB_H
-
-#include <paths.h>
-
-extern int __exec_shell(const char *file, char *const argv[]);
-
-#endif /* __EXEC_LIB_H */
-
diff --git a/mdk-stage1/dietlibc/lib/execl.c b/mdk-stage1/dietlibc/lib/execl.c
deleted file mode 100644
index 71459e71f..000000000
--- a/mdk-stage1/dietlibc/lib/execl.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.h>
-
-int execl( const char *path,...) {
- va_list ap;
- int n,i;
- char **argv,*tmp;
- va_start(ap, path);
- n=1;
- while ((tmp=va_arg(ap,char *)))
- ++n;
- va_end (ap);
- if ((argv=(char **)alloca(n*sizeof(char*)))) {
- va_start(ap, path);
- for (i=0; i<n; ++i)
- argv[i]=va_arg(ap,char *);
- va_end (ap);
- return execve(path,argv,environ);
- }
- __set_errno(ENOMEM);
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/execlp.c b/mdk-stage1/dietlibc/lib/execlp.c
deleted file mode 100644
index 3aea1e960..000000000
--- a/mdk-stage1/dietlibc/lib/execlp.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.h>
-#include "dietstdarg.h"
-
-int execlp(const char* file, const char *arg,...) {
- va_list ap,bak;
- int n,i;
- char **argv,*tmp;
- va_start(ap, arg);
- va_copy(bak,ap);
- n=2;
- while ((tmp=va_arg(ap,char *)))
- ++n;
- va_end (ap);
- if ((argv=(char **)alloca(n*sizeof(char*)))) {
- argv[0]=arg;
- for (i=0; i<n; ++i)
- argv[i+1]=va_arg(bak,char *);
- va_end (bak);
- return execvp(file,argv);
- }
- __set_errno(ENOMEM);
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/execv.c b/mdk-stage1/dietlibc/lib/execv.c
deleted file mode 100644
index efd760253..000000000
--- a/mdk-stage1/dietlibc/lib/execv.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include "exec_lib.h"
-
-int execv(const char *file, char *const argv[]) {
- if (execve(file,argv,environ)==-1) {
- if (errno==ENOEXEC) __exec_shell(file,argv);
- }
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/execvp.c b/mdk-stage1/dietlibc/lib/execvp.c
deleted file mode 100644
index 20521d69f..000000000
--- a/mdk-stage1/dietlibc/lib/execvp.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include "exec_lib.h"
-
-int execvp(const char *file, char *const argv[]) {
- char *path=getenv("PATH");
- char *cur,*next;
- char buf[PATH_MAX];
- if (strchr((char*)file,'/')) {
- if (execve(file,argv,environ)==-1) {
- if (errno==ENOEXEC) __exec_shell(file,argv);
- return -1;
- }
- }
- if (!path) path=_PATH_DEFPATH;
- for (cur=path; cur; cur=next) {
- next=strchr(cur,':');
- if (!next)
- next=cur+strlen(cur);
- if (next==cur) {
- buf[0]='.';
- cur--;
- } else
- memmove(buf,cur,next-cur);
- buf[next-cur]='/';
- memmove(&buf[next-cur+1],file,strlen(file)+1);
- if (execve(buf,argv,environ)==-1) {
- if (errno==ENOEXEC) return __exec_shell(buf,argv);
- if ((errno!=EACCES) && (errno!=ENOENT)) return -1;
- }
- if (*next==0) break;
- next++;
- }
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/ftw.c b/mdk-stage1/dietlibc/lib/ftw.c
deleted file mode 100644
index a3c04af9a..000000000
--- a/mdk-stage1/dietlibc/lib/ftw.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <linux/stat.h>
-#include <unistd.h>
-#include <limits.h>
-#include <ftw.h>
-#include <dirent.h>
-#include <string.h>
-#include <stdlib.h>
-
-int ftw(const char *dir,int (*fn)(const char *file, const struct stat *sb, int flag), int depth) {
- char *cwd;
- int cwdlen;
- DIR *d;
- struct dirent *de;
- struct stat sb;
- if (chdir(dir)) return -1;
- cwd=alloca(PATH_MAX+1);
- if (!getcwd(cwd,PATH_MAX)) return -1;
- cwd[PATH_MAX]=0;
- cwdlen=strlen(cwd);
-/* write(1,"ftw in ",7); puts(cwd); */
- if (!(d=opendir("."))) return -1;
- while ((de=readdir(d))) {
- int res;
- int flag;
- int nlen;
- char *filename;
- if (de->d_name[0]=='.' &&
- (de->d_name[1]==0 ||
- (de->d_name[1]=='.' && de->d_name[2]==0))) continue;
- nlen=strlen(de->d_name);
- filename=alloca(nlen+cwdlen+3);
- memmove(filename,cwd,cwdlen);
- filename[cwdlen]='/';
- memmove(filename+cwdlen+1,de->d_name,nlen+1);
- if (!lstat(de->d_name,&sb)) {
- if (S_ISLNK(sb.st_mode)) flag=FTW_SL; else
- if (S_ISDIR(sb.st_mode)) flag=FTW_D; else
- flag=FTW_F;
- } else
- flag=FTW_NS;
- res=fn(filename,&sb,flag);
- if (res) return res;
- if (flag==FTW_D && depth>0) {
- res=ftw(filename,fn,depth-1);
- chdir(dir);
- if (res) return res;
- }
-/* puts(de->d_name); */
- }
- closedir(d);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/getdomainname.c b/mdk-stage1/dietlibc/lib/getdomainname.c
deleted file mode 100644
index 2554fe4c3..000000000
--- a/mdk-stage1/dietlibc/lib/getdomainname.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#define _GNU_SOURCE
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-
-int getdomainname(char *name,size_t len) {
- struct utsname u;
- int res=uname(&u);
- if (res==0) {
- int i;
- if (len>=_UTSNAME_DOMAIN_LENGTH)
- len=_UTSNAME_DOMAIN_LENGTH;
- for (i=0; i<len; i++)
- name[i]=u.domainname[i];
- }
- return res;
-}
diff --git a/mdk-stage1/dietlibc/lib/getenv.c b/mdk-stage1/dietlibc/lib/getenv.c
deleted file mode 100644
index fc37e9927..000000000
--- a/mdk-stage1/dietlibc/lib/getenv.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <string.h>
-
-extern char **environ;
-
-extern char *getenv(const char *s)
-{
- int i;
- unsigned int len;
-
- if (!environ || !s) return 0;
- len = strlen(s);
- for (i = 0;environ[i];++i)
- if ((memcmp(environ[i],s,len)==0) && (environ[i][len] == '='))
- return environ[i] + len + 1;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/gethostname.c b/mdk-stage1/dietlibc/lib/gethostname.c
deleted file mode 100644
index ccc0fbc8e..000000000
--- a/mdk-stage1/dietlibc/lib/gethostname.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#define _GNU_SOURCE
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-
-int gethostname(char *name,size_t len) {
- struct utsname u;
- int res=uname(&u);
- if (res==0) {
- int i;
- if (len>=_UTSNAME_NODENAME_LENGTH)
- len=_UTSNAME_NODENAME_LENGTH;
- for (i=0; i<len; i++)
- name[i]=u.nodename[i];
- }
- return res;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/getopt.c b/mdk-stage1/dietlibc/lib/getopt.c
deleted file mode 100644
index 93097122f..000000000
--- a/mdk-stage1/dietlibc/lib/getopt.c
+++ /dev/null
@@ -1,118 +0,0 @@
-#include "getopt.h"
-#include <string.h>
-
-/*
- * by Olaf Dreesen
- */
-
-int opterr;
-
-int optind=1;
-char *optarg;
-
-static int opt_unknown=1,opt_unknown_len;
-
-static int getopt_check(int c,char*o,int ol)
-{
- int i;
- if (c==':') return 2;
- for (i=0;i<ol;i++)
- {
- if (o[i]==c)
- {
- if (o[i+1]==':') return 1;
- return 0;
- }
- }
- return 2;
-}
-
-static void getopt_sort(char*v[],int oi)
-{
- int i;
- char *tmp, *tmp2=0;
-
- if (opt_unknown_len)
- {
- tmp=v[optind-(1+oi)];
- if (oi) tmp2=v[optind-1];
-
- for (i=opt_unknown+opt_unknown_len;i>opt_unknown;i--) v[i+oi]=v[i-1];
-
- v[opt_unknown++]=tmp;
- if (oi) v[opt_unknown++]=tmp2;
- }
-}
-
-static char* nextchar;
-int getopt(int c,char*v[],char*o)
-{
- int ol=strlen(o);
- int ret=0;
- int oi=0;
-
- optarg=0;
-
- while (nextchar || (optind<c))
- {
- if (nextchar)
- {
- if ((ret=(*(++nextchar))))
- {
- switch (getopt_check(ret,o,ol))
- {
- case 1:
- if (*(++nextchar))
- optarg=nextchar;
- else
- {
- if (optind<c)
- {
- oi=1;
- optarg=v[optind++];
- }
- else
- ret='?';
- }
- nextchar=0;
- case 0:
- if (!nextchar)
- getopt_sort(v,oi);
- else
- if (!(*(nextchar+1)))
- getopt_sort(v,oi);
- return ret;
- break;
- default:
- return '?';
- break;
- }
- }
- else
- nextchar=0;
- }
- else
- {
- if ((v[optind][0]=='-')&&((v[optind][1]!=0)))
- {
- if ((v[optind][1]=='-')&&(v[optind][2]==0))
- {
- getopt_sort(v,oi);
- optind=opt_unknown;
- return -1;
- }
- else
- {
- nextchar=v[optind];
- }
- }
- else
- {
- ++opt_unknown_len;
- }
- ++optind;
- }
- }
- optind=opt_unknown;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/getpeername.c b/mdk-stage1/dietlibc/lib/getpeername.c
deleted file mode 100644
index 8adcddf55..000000000
--- a/mdk-stage1/dietlibc/lib/getpeername.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int getpeername(int a, void * b, int c) {
-#ifdef __i386__
- return socketcall(SYS_GETPEERNAME, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_GETPEERNAME, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/getpgrp.c b/mdk-stage1/dietlibc/lib/getpgrp.c
deleted file mode 100644
index ee2ab0257..000000000
--- a/mdk-stage1/dietlibc/lib/getpgrp.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <unistd.h>
-
-int getpgrp()
-{
- return getpgid(0);
-}
diff --git a/mdk-stage1/dietlibc/lib/getservent.c b/mdk-stage1/dietlibc/lib/getservent.c
deleted file mode 100644
index bf25d046b..000000000
--- a/mdk-stage1/dietlibc/lib/getservent.c
+++ /dev/null
@@ -1,137 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <ctype.h>
-
-static int servicesfd=-1;
-static char* servicesmap;
-static unsigned int serviceslen;
-
-static char* aliases[10];
-
-static char *cur;
-
-/* nameserver 42/tcp name # IEN 116 */
-struct servent *getservent(void) {
- static struct servent se;
- char *last;
- int aliasidx;
- if (servicesfd<0) {
- servicesfd=open(_PATH_SERVICES,O_RDONLY);
- if (servicesfd<0) return 0;
- serviceslen=lseek(servicesfd,0,SEEK_END);
- servicesmap=mmap(0,serviceslen,PROT_READ|PROT_WRITE,MAP_PRIVATE,servicesfd,0);
- if ((long)servicesmap==(-1)) goto error;
- cur=servicesmap;
- }
- last=servicesmap+serviceslen;
-again:
- se.s_name=0;
- se.s_aliases=aliases; aliases[0]=0;
- se.s_port=0;
- se.s_proto=0;
- if (cur>=last) return 0;
- if (*cur=='#' || *cur=='\n') goto parseerror;
- /* first, the primary name */
- if (!isalpha(*cur)) goto parseerror;
- se.s_name=cur;
- se.s_aliases=aliases;
- while (cur<last && isalnum(*cur)) cur++;
- if (cur>=last) return 0;
- if (*cur=='\n') goto parseerror;
- *cur=0; cur++;
- /* second, the port */
- while (cur<last && isblank(*cur)) cur++;
- while (cur<last && isdigit(*cur)) {
- se.s_port=se.s_port*10+*cur-'0';
- cur++;
- }
- se.s_port=htons(se.s_port);
- if (cur>=last) return 0;
- /* third, "/tcp" or "/udp" */
- if (*cur!='/') goto parseerror;
- cur++;
- se.s_proto=cur;
- while (cur<last && isalpha(*cur)) ++cur;
- if (cur>=last) return 0;
- if (*cur=='\n') { *cur++=0; return &se; }
- *cur=0; cur++;
- /* now the aliases */
- for (aliasidx=0;aliasidx<10;++aliasidx) {
- while (cur<last && isblank(*cur)) ++cur;
- aliases[aliasidx]=cur;
- while (cur<last && isalpha(*cur)) ++cur;
- if (*cur=='\n') { *cur++=0; ++aliasidx; break; }
- if (cur>=last || !isblank(*cur)) break;
- *cur++=0;
- }
- aliases[aliasidx]=0;
- return &se;
-parseerror:
- while (cur<last && *cur!='\n') cur++;
- cur++;
- goto again;
-error:
- if (servicesmap!=(char*)-1) munmap(servicesmap,serviceslen);
- if (servicesfd!=-1) close(servicesfd);
- servicesmap=(char*)-1;
- servicesfd=-1;
- errno=ENOMEM;
- return 0;
-}
-
-void setservent(int stayopen) {
- cur=servicesmap;
-}
-
-struct servent *getservbyname(const char *name, const char *proto) {
- struct servent *s;
- setservent(0);
- for (s=getservent(); s; s=getservent()) {
- char **tmp;
-#if 0
- write(1,"found ",6);
- write(1,s->s_name,strlen(s->s_name));
- write(1,"/",1);
- write(1,s->s_proto,strlen(s->s_proto));
- write(1,"\n",1);
- if (!strcmp(name,"auth")) {
- tmp=s->s_aliases;
- write(1," aka ",5);
- while (*tmp) {
- write(1,*tmp,strlen(*tmp));
- write(1,", ",2);
- ++tmp;
- }
- write(1,"\n",1);
- }
-#endif
- if (!strcmp(name,s->s_name) && !strcmp(proto,s->s_proto))
- return s;
- tmp=s->s_aliases;
- while (*tmp)
- if (!strcmp(name,*tmp++)) return s;
- }
- return 0;
-}
-
-struct servent *getservbyport(int port, const char *proto) {
- struct servent *s;
- for (s=getservent(); s; s=getservent()) {
- if (port==s->s_port && !strcmp(proto,s->s_proto))
- return s;
- }
- return 0;
-}
-
-void endservent(void) {
- if (servicesmap!=(char*)-1) munmap(servicesmap,serviceslen);
- if (servicesfd!=-1) close(servicesfd);
- servicesmap=(char*)-1;
- servicesfd=-1;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/getsockname.c b/mdk-stage1/dietlibc/lib/getsockname.c
deleted file mode 100644
index 61a3ea24a..000000000
--- a/mdk-stage1/dietlibc/lib/getsockname.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int getsockname(int a, void * b, int c) {
-#ifdef __i386__
- return socketcall(SYS_GETSOCKNAME, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_GETSOCKNAME, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/getsockopt.c b/mdk-stage1/dietlibc/lib/getsockopt.c
deleted file mode 100644
index 8c0a57557..000000000
--- a/mdk-stage1/dietlibc/lib/getsockopt.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int getsockopt(int a, int b, int c, void *d, int e) {
-#ifdef __i386__
- return socketcall(SYS_GETSOCKOPT, (long*)&a);
-#else
- unsigned long args[] = { a, b, c, (long)d, e };
- return socketcall(SYS_GETSOCKOPT, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/htonl.c b/mdk-stage1/dietlibc/lib/htonl.c
deleted file mode 100644
index 490de42c4..000000000
--- a/mdk-stage1/dietlibc/lib/htonl.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <endian.h>
-
-unsigned long int htonl(unsigned long int hostlong) {
-#if __BYTE_ORDER==__LITTLE_ENDIAN
- return (hostlong>>24) | ((hostlong&0xff0000)>>8) |
- ((hostlong&0xff00)<<8) | (hostlong<<24);
-#else
- return hostlong;
-#endif
-}
-
-unsigned long int ntohl(unsigned long int hostlong) __attribute__((weak,alias("htonl")));
diff --git a/mdk-stage1/dietlibc/lib/htons.c b/mdk-stage1/dietlibc/lib/htons.c
deleted file mode 100644
index 765d3bbc5..000000000
--- a/mdk-stage1/dietlibc/lib/htons.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <endian.h>
-
-unsigned short int htons(unsigned short int hostshort) {
-#if __BYTE_ORDER==__LITTLE_ENDIAN
- return ((hostshort>>8)&0xff) | (hostshort<<8);
-#else
- return hostshort;
-#endif
-}
-
-unsigned short int ntohs(unsigned short int hostshort) __attribute__((weak,alias("htons")));
diff --git a/mdk-stage1/dietlibc/lib/if_indextoname.c b/mdk-stage1/dietlibc/lib/if_indextoname.c
deleted file mode 100644
index e683755f6..000000000
--- a/mdk-stage1/dietlibc/lib/if_indextoname.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <linux/if.h>
-#include <linux/net.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <sys/socket.h>
-
-#ifndef SOCK_DGRAM
-#define SOCK_DGRAM 2
-#endif
-
-char* if_indextoname(unsigned int interface,char* blub) {
- struct ifreq ifr;
- int fd;
-
- fd=socket(AF_INET6,SOCK_DGRAM,0);
- if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0);
- ifr.ifr_ifindex=interface;
- if (ioctl(fd,SIOCGIFNAME,&ifr)==0) {
- int i;
- close(fd);
- for (i=0; i<IFNAMSIZ-1; i++)
- if (!(blub[i]=ifr.ifr_name[i]))
- return blub;
- blub[i]=0;
- return blub;
- }
- close(fd);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/if_nametoindex.c b/mdk-stage1/dietlibc/lib/if_nametoindex.c
deleted file mode 100644
index 5923963b1..000000000
--- a/mdk-stage1/dietlibc/lib/if_nametoindex.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <linux/if.h>
-#include <linux/net.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <sys/socket.h>
-
-#ifndef SOCK_DGRAM
-#define SOCK_DGRAM 2
-#endif
-
-int if_nametoindex(char* blub) {
- struct ifreq ifr;
- int fd;
- char *tmp;
- int len=sizeof(ifr.ifr_name);
- fd=socket(AF_INET6,SOCK_DGRAM,0);
- if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0);
- for (tmp=ifr.ifr_name; len>0; --len) {
- if ((*tmp++=*blub++)==0) break;
- }
- if (ioctl(fd,SIOCGIFINDEX,&ifr)==0) {
- close(fd);
- return ifr.ifr_ifindex;
- }
- close(fd);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/isalnum.c b/mdk-stage1/dietlibc/lib/isalnum.c
deleted file mode 100644
index 4d363fab9..000000000
--- a/mdk-stage1/dietlibc/lib/isalnum.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __isalnum_ascii(int c) {
- return isalpha(c) || isdigit(c);
-}
-
-int isalnum(int c) __attribute__((weak,alias("__isalnum_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isalpha.c b/mdk-stage1/dietlibc/lib/isalpha.c
deleted file mode 100644
index 07ea69696..000000000
--- a/mdk-stage1/dietlibc/lib/isalpha.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __isalpha_ascii(int c) {
- return (c>='a' && c<='z') || (c>='A' && c<='Z');
-}
-
-int isalpha(int c) __attribute__((weak,alias("__isalpha_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isascii.c b/mdk-stage1/dietlibc/lib/isascii.c
deleted file mode 100644
index e06994783..000000000
--- a/mdk-stage1/dietlibc/lib/isascii.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isascii(int c) {
- return (c & 0x80) == 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/isatty.c b/mdk-stage1/dietlibc/lib/isatty.c
deleted file mode 100644
index b31609720..000000000
--- a/mdk-stage1/dietlibc/lib/isatty.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#define ioctl libc_ioctl
-#include <termios.h>
-#undef ioctl
-#include <sys/ioctl.h>
-
-extern int errno;
-
-int isatty(int fd)
-{
- int save;
- int is_tty;
- struct termios term;
-
- save = errno;
- is_tty = ioctl(fd, TCGETS, &term) == 0;
- errno = save;
-
- return is_tty;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/isblank.c b/mdk-stage1/dietlibc/lib/isblank.c
deleted file mode 100644
index 034e543b1..000000000
--- a/mdk-stage1/dietlibc/lib/isblank.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isblank(int ch)
-{
- return ((ch==' ')||(ch=='\t'));
-}
diff --git a/mdk-stage1/dietlibc/lib/iscntrl.c b/mdk-stage1/dietlibc/lib/iscntrl.c
deleted file mode 100644
index a183a54f1..000000000
--- a/mdk-stage1/dietlibc/lib/iscntrl.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __iscntrl_ascii(int c) {
- return (c<32) || (c==127);
-}
-
-int iscntrl(int c) __attribute__((weak,alias("__iscntrl_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isdigit.c b/mdk-stage1/dietlibc/lib/isdigit.c
deleted file mode 100644
index 8a7c3e801..000000000
--- a/mdk-stage1/dietlibc/lib/isdigit.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __isdigit_ascii(int c) {
- return (c>='0' && c<='9');
-}
-
-int isdigit(int c) __attribute__((weak,alias("__isdigit_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isgraph.c b/mdk-stage1/dietlibc/lib/isgraph.c
deleted file mode 100644
index 807f90ff0..000000000
--- a/mdk-stage1/dietlibc/lib/isgraph.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int __isgraph_ascii(int c) {
- return (c>=33 && c<=126);
-}
-
-int isgraph(int c) __attribute__((weak,alias("__isgraph_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/islower.c b/mdk-stage1/dietlibc/lib/islower.c
deleted file mode 100644
index 6a9afa519..000000000
--- a/mdk-stage1/dietlibc/lib/islower.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __islower_ascii(int c) {
- return (c>='a' && c<='z');
-}
-
-int islower(int c) __attribute__((weak,alias("__islower_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isprint.c b/mdk-stage1/dietlibc/lib/isprint.c
deleted file mode 100644
index e980658a5..000000000
--- a/mdk-stage1/dietlibc/lib/isprint.c
+++ /dev/null
@@ -1,6 +0,0 @@
-
-int __isprint_ascii(int c) {
- return (c>=32 && c<=126);
-}
-
-int isprint(int c) __attribute__((weak,alias("__isprint_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/ispunct.c b/mdk-stage1/dietlibc/lib/ispunct.c
deleted file mode 100644
index 2fd1183b1..000000000
--- a/mdk-stage1/dietlibc/lib/ispunct.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __ispunct_ascii(int c) {
- return isprint(c) && !( isalnum(c) || isspace(c) );
-}
-
-int ispunct(int c) __attribute__((weak,alias("__ispunct_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isspace.c b/mdk-stage1/dietlibc/lib/isspace.c
deleted file mode 100644
index 916f784ab..000000000
--- a/mdk-stage1/dietlibc/lib/isspace.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __isspace_ascii(int ch)
-{
- return ((ch==' ')||(ch=='\f')||(ch=='\t')||(ch=='\v')||(ch=='\r')||(ch=='\n'));
-}
-
-int isspace(int c) __attribute__((weak,alias("__isspace_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isupper.c b/mdk-stage1/dietlibc/lib/isupper.c
deleted file mode 100644
index 933dfc169..000000000
--- a/mdk-stage1/dietlibc/lib/isupper.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __isupper_ascii(int c) {
- return (c>='A' && c<='Z');
-}
-
-int isupper(int c) __attribute__((weak,alias("__isupper_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isxdigit.c b/mdk-stage1/dietlibc/lib/isxdigit.c
deleted file mode 100644
index 22a711f2d..000000000
--- a/mdk-stage1/dietlibc/lib/isxdigit.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int __isxdigit_ascii(int c) {
- return ((c>='0'&&c<='9') || (c>='A'&&c<='F') || (c>='a'&&c<='f'));
-}
-
-int isxdigit(int c) __attribute__((weak,alias("__isxdigit_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/listen.c b/mdk-stage1/dietlibc/lib/listen.c
deleted file mode 100644
index 56a51be06..000000000
--- a/mdk-stage1/dietlibc/lib/listen.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int listen(int a, int b) {
-#ifdef __i386__
- return socketcall(SYS_LISTEN, (long*)&a);
-#else
- unsigned long args[] = { a, b, 0 };
- return socketcall(SYS_LISTEN, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/lockf.c b/mdk-stage1/dietlibc/lib/lockf.c
deleted file mode 100644
index 2b1d004ef..000000000
--- a/mdk-stage1/dietlibc/lib/lockf.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-
-int lockf(int fd, int cmd, off_t len) {
- struct flock fl;
- fl.l_whence=SEEK_CUR;
- fl.l_start=0;
- fl.l_len=len;
- fl.l_pid=0;
- switch (cmd) {
- case F_TEST:
- if (fcntl(fd,F_GETLK,&fl)<0)
- return -1;
- if (fl.l_type == F_UNLCK || fl.l_pid == getpid ())
- return 0;
- errno=EACCES;
- return -1;
- case F_ULOCK:
- fl.l_type=F_UNLCK;
- cmd=F_SETLK;
- break;
- case F_LOCK:
- fl.l_type = F_WRLCK;
- cmd = F_SETLKW;
- break;
- case F_TLOCK:
- fl.l_type = F_WRLCK;
- cmd = F_SETLK;
- break;
- default:
- errno=EINVAL;
- return -1;
- }
- return fcntl(fd,cmd,&fl);
-}
diff --git a/mdk-stage1/dietlibc/lib/longjmp.c b/mdk-stage1/dietlibc/lib/longjmp.c
deleted file mode 100644
index d0a5719c1..000000000
--- a/mdk-stage1/dietlibc/lib/longjmp.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1991, 92, 94, 95, 97, 98 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* #include <stddef.h> */
-#include <setjmp.h>
-#include <signal.h>
-
-extern int __sigprocmask(int how,void* set,void* oldset);
-extern void __longjmp(void* env, int val);
-
-/*
-extern void _longjmp_unwind (jmp_buf env, int val);
-*/
-/* Set the signal mask to the one specified in ENV, and jump
- to the position specified in ENV, causing the setjmp
- call there to return VAL, or 1 if VAL is 0. */
-void __siglongjmp (sigjmp_buf env, int val)
-{
- /* Perform any cleanups needed by the frames being unwound. */
- /*
- _longjmp_unwind (env, val);
- */
-
- if (env[0].__mask_was_saved)
- /* Restore the saved signal mask. */
- (void) __sigprocmask (SIG_SETMASK, &env[0].__saved_mask,
- (sigset_t *) NULL);
-
- /* Call the machine-dependent function to restore machine state. */
- __longjmp (env[0].__jmpbuf, val ?: 1);
-}
-
-void siglongjmp (sigjmp_buf env, int val) __attribute__((weak,alias("__siglongjmp")));
-void longjmp (sigjmp_buf env, int val) __attribute__((weak,alias("__siglongjmp")));
-void _longjmp (sigjmp_buf env, int val) __attribute__((weak,alias("__siglongjmp")));
-void __libc_longjmp (sigjmp_buf env, int val) __attribute__((weak,alias("__siglongjmp")));
diff --git a/mdk-stage1/dietlibc/lib/lseek64.c b/mdk-stage1/dietlibc/lib/lseek64.c
deleted file mode 100644
index f39e779f9..000000000
--- a/mdk-stage1/dietlibc/lib/lseek64.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <errno.h>
-#include <unistd.h>
-
-loff_t lseek64(int fildes, loff_t offset, int whence) {
- loff_t tmp;
- if (llseek(fildes,offset>>32,offset&0xffffffff,&tmp,whence)) {
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()!=ENOSYS) return -1;
-#else
- if (errno!=ENOSYS) return -1;
-#endif
- return (loff_t)lseek(fildes,(off_t)offset,whence);
- }
- return tmp;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/memccmp.c b/mdk-stage1/dietlibc/lib/memccmp.c
deleted file mode 100644
index 3a8c14f60..000000000
--- a/mdk-stage1/dietlibc/lib/memccmp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-
-int memccmp(const void *dst, const void *src, int c, size_t count)
-{
- register const char *a = dst;
- register const char *b = src;
- while (count--)
- {
- register int res=(*a - *b);
- if (res) return res;
- if (*a==c) return 0;
- ++a; ++b;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memccpy.c b/mdk-stage1/dietlibc/lib/memccpy.c
deleted file mode 100644
index 6d6ac98ab..000000000
--- a/mdk-stage1/dietlibc/lib/memccpy.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-
-void *memccpy(void *dst, const void *src, int c, size_t count)
-{
- char *a = dst;
- const char *b = src;
- while (count--)
- {
- *a++ = *b;
- if (*b==c)
- {
- return (void *)a;
- }
- b++;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memchr.c b/mdk-stage1/dietlibc/lib/memchr.c
deleted file mode 100644
index 93d81328a..000000000
--- a/mdk-stage1/dietlibc/lib/memchr.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-
-char *memchr(const char *s, int c, size_t n) {
- int i;
- for (i=n; i; --i)
- if (*s++==c)
- return (char*)s;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memcmp.c b/mdk-stage1/dietlibc/lib/memcmp.c
deleted file mode 100644
index c05a46863..000000000
--- a/mdk-stage1/dietlibc/lib/memcmp.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <sys/types.h>
-
-int memcmp(const void *dst, const void *src, size_t count) {
- register int r;
- register const char *d=dst;
- register const char *s=src;
- while (count--) {
- if ((r=(*d - *s)))
- return r;
- ++d;
- ++s;
- }
- return 0;
-}
-
-int bcmp(const char *a,const char *b,size_t c) __attribute__((weak,alias("memcmp")));
diff --git a/mdk-stage1/dietlibc/lib/memcpy.c b/mdk-stage1/dietlibc/lib/memcpy.c
deleted file mode 100644
index 0c688b509..000000000
--- a/mdk-stage1/dietlibc/lib/memcpy.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <sys/types.h>
-
-void* memcpy(void* dst, const void* src, size_t count) {
- register char *d=dst;
- register const char *s=src;
- ++count; /* this actually produces better code than using count-- */
- while (--count) {
- *d = *s;
- ++d; ++s;
- }
- return dst;
-}
diff --git a/mdk-stage1/dietlibc/lib/memmove.c b/mdk-stage1/dietlibc/lib/memmove.c
deleted file mode 100644
index 7adb2be91..000000000
--- a/mdk-stage1/dietlibc/lib/memmove.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-
-void *memmove(void *dst, const void *src, size_t count)
-{
- char *a = dst;
- const char *b = src;
- if (src!=dst)
- {
- if (src>dst)
- {
- while (count--) *a++ = *b++;
- }
- else
- {
- a+=count-1;
- b+=count-1;
- while (count--) *a-- = *b--;
- }
- }
- return dst;
-}
diff --git a/mdk-stage1/dietlibc/lib/memset.c b/mdk-stage1/dietlibc/lib/memset.c
deleted file mode 100644
index 5f9ae49ee..000000000
--- a/mdk-stage1/dietlibc/lib/memset.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-
-void * memset(void * dst, int s, size_t count) {
- register char * a = dst;
- count++; /* this actually creates smaller code than using count-- */
- while (--count)
- *a++ = s;
- return dst;
-}
diff --git a/mdk-stage1/dietlibc/lib/mkfifo.c b/mdk-stage1/dietlibc/lib/mkfifo.c
deleted file mode 100644
index 596efbe27..000000000
--- a/mdk-stage1/dietlibc/lib/mkfifo.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <linux/stat.h>
-#include <unistd.h>
-
-int mkfifo(const char *fn,mode_t mode) {
- return mknod(fn,S_IFIFO|mode,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgctl.c b/mdk-stage1/dietlibc/lib/msgctl.c
deleted file mode 100644
index 19ea6d8cf..000000000
--- a/mdk-stage1/dietlibc/lib/msgctl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int msgctl(int msqid, int cmd, struct msqid_ds *buf) {
- return __ipc(MSGCTL,msqid,cmd,0,buf);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgget.c b/mdk-stage1/dietlibc/lib/msgget.c
deleted file mode 100644
index 9bca09ebe..000000000
--- a/mdk-stage1/dietlibc/lib/msgget.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int msgget(key_t key,int flag) {
- return __ipc(MSGGET,key,flag,0,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgrcv.c b/mdk-stage1/dietlibc/lib/msgrcv.c
deleted file mode 100644
index b4ae9cc6c..000000000
--- a/mdk-stage1/dietlibc/lib/msgrcv.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int msgrcv(int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg) {
- struct ipc_kludge tmp;
- tmp.msgp = msgp;
- tmp.msgtyp = msgtyp;
- return __ipc(MSGRCV,msqid, msgsz, msgflg, &tmp);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgsnd.c b/mdk-stage1/dietlibc/lib/msgsnd.c
deleted file mode 100644
index 6203053f0..000000000
--- a/mdk-stage1/dietlibc/lib/msgsnd.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg) {
- return __ipc(MSGSND,msqid, msgsz, msgflg, msgp);
-}
diff --git a/mdk-stage1/dietlibc/lib/nop.c b/mdk-stage1/dietlibc/lib/nop.c
deleted file mode 100644
index c05bea813..000000000
--- a/mdk-stage1/dietlibc/lib/nop.c
+++ /dev/null
@@ -1,7 +0,0 @@
-
-int __fflush_stdin() __attribute__((weak,alias("__return0")));
-int __fflush_stdout() __attribute__((weak,alias("__return0")));
-int __fflush_stderr() __attribute__((weak,alias("__return0")));
-
-/* used for weak aliases */
-int __return0() { return 0; }
diff --git a/mdk-stage1/dietlibc/lib/open64.c b/mdk-stage1/dietlibc/lib/open64.c
deleted file mode 100644
index f1499d017..000000000
--- a/mdk-stage1/dietlibc/lib/open64.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <linux/types.h>
-#include <linux/fcntl.h>
-
-#ifndef O_LARGEFILE
-#define O_LARGEFILE 0
-#endif
-
-extern int open(const char* file,int oflag,int mode);
-
-int __libc_open64(const char* file,int oflag,int mode) {
- return open(file,oflag|O_LARGEFILE,mode);
-}
-
-int open64(const char* file,int oflag,int mode) __attribute__((weak,alias("__libc_open64")));
diff --git a/mdk-stage1/dietlibc/lib/opendir.c b/mdk-stage1/dietlibc/lib/opendir.c
deleted file mode 100644
index 5c0c4a305..000000000
--- a/mdk-stage1/dietlibc/lib/opendir.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-#include <fcntl.h>
-
-DIR *opendir (const char *name) {
- DIR *t=(DIR*)malloc(sizeof(DIR));
- if (t) {
- if ((t->fd=open(name,O_RDONLY|O_DIRECTORY))>=0) {
- t->num=t->cur=0;
- } else {
- free(t);
- t=0;
- }
- }
- return t;
-}
diff --git a/mdk-stage1/dietlibc/lib/perror.c b/mdk-stage1/dietlibc/lib/perror.c
deleted file mode 100644
index ecab7250b..000000000
--- a/mdk-stage1/dietlibc/lib/perror.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-
-extern char *sys_errlist[];
-extern int sys_nerr;
-extern int errno;
-
-void perror(const char *s) {
- register char *message="[unknown error]";
- write(2,s,strlen(s));
- write(2,": ",2);
- if (errno>=0 && errno<sys_nerr)
-#ifdef WANT_THREAD_SAFE
- message=sys_errlist[*__errno_location()];
-#else
- message=sys_errlist[errno];
-#endif
- write(2,message,strlen(message));
- write(2,"\n",1);
-}
diff --git a/mdk-stage1/dietlibc/lib/pread.c b/mdk-stage1/dietlibc/lib/pread.c
deleted file mode 100644
index b922aa93e..000000000
--- a/mdk-stage1/dietlibc/lib/pread.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <endian.h>
-#include <sys/types.h>
-
-extern size_t __pread(int fd, void *buf, size_t count, off_t a,off_t b);
-
-size_t __libc_pread(int fd, void *buf, size_t count, off_t offset) {
- return __pread(fd,buf,count,offset,0);
-}
-
-int pread(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pread")));
diff --git a/mdk-stage1/dietlibc/lib/pread64.c b/mdk-stage1/dietlibc/lib/pread64.c
deleted file mode 100644
index e6ba4d103..000000000
--- a/mdk-stage1/dietlibc/lib/pread64.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <endian.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifndef __NO_STAT64
-extern size_t __pread(int fd, void *buf, size_t count, off_t a,off_t b);
-
-size_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset) {
- return __pread(fd,buf,count,__LONG_LONG_PAIR (offset&0xffffffff,offset>>32));
-}
-
-int pread64(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pread64")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/putenv.c b/mdk-stage1/dietlibc/lib/putenv.c
deleted file mode 100644
index 274b16b0e..000000000
--- a/mdk-stage1/dietlibc/lib/putenv.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-
-int putenv(const char *string) {
- int len;
- int envc;
- char *tmp;
- const char **ep;
- char **newenv;
- static char **origenv=0;
- if (!origenv) origenv=environ;
- if (!(tmp=strchr(string,'=')))
- len=strlen(string);
- else
- len=tmp-string+1;
- for (envc=0, ep=(const char**)environ; *ep; ++ep) {
- if (!memcmp(string,*ep,len)) { /* found */
- if (!tmp) {
- for (; ep[1]; ++ep) ep[0]=ep[1];
- ep[0]=0;
- return 0;
- }
- *ep=string;
- return 0;
- }
- ++envc;
- }
- if (tmp) {
- newenv=(char**)malloc((envc+2)*sizeof(char*));
- if (!newenv) return -1;
- newenv[0]=(char*)string;
- memcpy(newenv+1,environ,(envc+1)*sizeof(char*));
- if (environ!=origenv) free(environ);
- environ=newenv;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/puts.c b/mdk-stage1/dietlibc/lib/puts.c
deleted file mode 100644
index 54415151d..000000000
--- a/mdk-stage1/dietlibc/lib/puts.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <unistd.h>
-#include <string.h>
-#include "dietstdio.h"
-#include "dietfeatures.h"
-
-int puts(const char *s) {
-#ifdef WANT_BUFFERED_STDIO
- return fwrite(s,1,strlen(s),stdout) && fputc('\n',stdout);
-#else
- return write(1,s,strlen(s)) && write(1,"\n",1);
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/qsort.c b/mdk-stage1/dietlibc/lib/qsort.c
deleted file mode 100644
index 2a8824bf3..000000000
--- a/mdk-stage1/dietlibc/lib/qsort.c
+++ /dev/null
@@ -1,125 +0,0 @@
-#include <stdlib.h>
-#include <assert.h>
-
-/* comments:
- 1. insertion sort sofort, nicht nachtrglich
- 2. threshold = 16
- */
-
-static inline void iswap(void *a,void *b,size_t size) {
- register char *x=a;
- register char *y=b;
- register char *z=x+size;
- while (x<z) {
- register char tmp=*x;
- *x=*y;
- *y=tmp;
- ++x; ++y;
- }
-}
-
-static inline void swap(void *base,size_t size,size_t a,size_t b) {
- iswap(base+a*size,base+b*size,size);
-}
-
-#if 0
-extern int array[];
-
-void dumparray() {
- printf("array now {%d,%d,%d,%d,%d}\n",array[0],array[1],array[2],array[3],array[4]);
-}
-#endif
-
-void isort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- int i;
- while (nmemb>1) {
- char *min=base;
- char *tmp=min+size;
- for (i=1; i<nmemb; ++i) {
- if (compar(tmp,min)<0)
- min=tmp;
- tmp+=size;
- }
- iswap(min,base,size);
- base+=size;
- nmemb-=1;
- }
-}
-
-void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
-#ifdef DEBUG
- char *dbase=base;
- char *dmax=base+(nmemb-1)*size;
- char dmemb=nmemb;
-#endif
- static int level=0;
- char* v; /* pivot */
- char* mid, *max, *min;
- int lmemb;
-
-#if 0
- int left,right;
- left=(int*)base-array;
- right=left+nmemb-1;
- ++level;
- { int i; for (i=0; i<level; ++i) printf(" "); }
- printf("qsort: level %d; base=%p, %dx%d; array[%d..%d]\n",level,base,nmemb,size,left,right);
- assert(left>=0 && right<=1000);
-#endif
- if (nmemb<=8) {
- --level;
- return isort(base,nmemb,size,compar);
- }
- {
- mid=base+(nmemb/2)*size;
- max=base+(nmemb-1)*size;
-
- if (compar(base,max)<0) /* a[left] < a[right] */
- if (compar(base,mid)<0) /* a[left] < a[med] */
- if (compar(max,mid)<0) /* a[left] < a[right] < a[med] */
- v=max;
- else /* a[left] < a[med] < a[right] */
- v=mid;
- else /* a[med] < a[left] < a[right] */
- v=base;
- else /* a[right] < a[left] */
- if (compar(base,mid)<0) /* a[right] < a[left] < a[med] */
- v=base;
- else /* a[right] < a[left] && a[med] < a[left] */
- if (compar(max,mid)<0) /* a[right] < a[med] < a[left] */
- v=mid;
- else
- v=max;
-// printf("%d %d %d -> median %d\n",*(int*)base,*(int*)mid,*(int*)max,*(int*)v);
- }
- if (v != max)
- iswap(v,max,size);
- v=max;
- min=base; lmemb=0;
- for (;;) {
- while (compar(min,v)<0) { min+=size; ++lmemb; }
- while (compar(max-=size,v)>0) ;
- if (min>=max) break;
- iswap(min,max,size);
- }
- iswap(min,v,size);
-#ifdef DEBUG
-// { int i; for (i=0; i<level; ++i) printf(" "); }
-// printf("-=< base=%p, min=%p, nmemb=%d, lmemb=%d (%d)\n",base,min,nmemb,lmemb,(min-(char*)base)/size);
- assert(lmemb==((min-(char*)base)/size));
-#endif
- if (min>(char*)base+size) {
-#ifdef DEBUG
- assert(base==dbase);
-#endif
-// { int i; for (i=0; i<level; ++i) printf(" "); }
-// printf("+-left %d [%d..%d] of [%d..%d]\n",level+1,left,left+lmemb,left,right);
- qsort(base,lmemb,size,compar);
- }
- if (nmemb>lmemb+1) {
-// { int i; for (i=0; i<level; ++i) printf(" "); }
-// printf("+-right %d [%d..%d] of [%d..%d]\n",level+1,left+lmemb,right,left,right);
- qsort(min+size,nmemb-lmemb-1,size,compar);
- }
- --level;
-}
diff --git a/mdk-stage1/dietlibc/lib/raise.c b/mdk-stage1/dietlibc/lib/raise.c
deleted file mode 100644
index 606546034..000000000
--- a/mdk-stage1/dietlibc/lib/raise.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include <unistd.h>
-#include <signal.h>
-#include "syscalls.h"
-
-int raise(int sig) {
- return kill(getpid(),sig);
-}
diff --git a/mdk-stage1/dietlibc/lib/rand.c b/mdk-stage1/dietlibc/lib/rand.c
deleted file mode 100644
index 10bfaf94d..000000000
--- a/mdk-stage1/dietlibc/lib/rand.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdlib.h>
-
-static unsigned int seed=1;
-
-int rand() {
- return ((seed = seed * 1103515245 + 12345) % ((unsigned int)RAND_MAX + 1));
-}
-
-void srand(unsigned int i) { seed=i; }
diff --git a/mdk-stage1/dietlibc/lib/random.c b/mdk-stage1/dietlibc/lib/random.c
deleted file mode 100644
index e7785c455..000000000
--- a/mdk-stage1/dietlibc/lib/random.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdlib.h>
-
-static unsigned int seed=1;
-
-long int random() {
- return ((seed = seed * 1103515245 + 12345) % ((unsigned int)RAND_MAX + 1));
-}
-
-void srandom(unsigned int i) { seed=i; }
diff --git a/mdk-stage1/dietlibc/lib/readdir.c b/mdk-stage1/dietlibc/lib/readdir.c
deleted file mode 100644
index 689f5d08b..000000000
--- a/mdk-stage1/dietlibc/lib/readdir.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-
-struct dirent* readdir(DIR *d) {
- if (!d->num || (d->cur += ((struct dirent*)(d->buf+d->cur))->d_reclen)>=d->num) {
- int res=getdents(d->fd,(struct dirent*)d->buf,1023);
- if (res<=0) return 0;
- d->num=res; d->cur=0;
- }
- return (struct dirent*)(d->buf+d->cur);
-}
diff --git a/mdk-stage1/dietlibc/lib/reboot.c b/mdk-stage1/dietlibc/lib/reboot.c
deleted file mode 100644
index 7f47a95dd..000000000
--- a/mdk-stage1/dietlibc/lib/reboot.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/reboot.h>
-
-int __reboot(int magic1, int magic2, int cmd, void * arg);
-
-int reboot(int cmd, void *arg)
-{
- return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, arg);
-}
diff --git a/mdk-stage1/dietlibc/lib/recv.c b/mdk-stage1/dietlibc/lib/recv.c
deleted file mode 100644
index bc6b1e5d7..000000000
--- a/mdk-stage1/dietlibc/lib/recv.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recv(int a, const void * b, size_t c, int flags) {
-#ifdef __i386__
- return socketcall(SYS_RECV,(long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c, flags };
- return socketcall(SYS_RECV, args);
-#endif
-}
-
-int recv(int a, const void * b, size_t c, int flags)
- __attribute__ ((weak, alias("__libc_recv")));
diff --git a/mdk-stage1/dietlibc/lib/recvfrom.c b/mdk-stage1/dietlibc/lib/recvfrom.c
deleted file mode 100644
index 802ad665f..000000000
--- a/mdk-stage1/dietlibc/lib/recvfrom.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen) {
-#ifdef __i386__
- return socketcall(SYS_RECVFROM, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c, flags, (long) to, (long) tolen };
- return socketcall(SYS_RECVFROM, args);
-#endif
-}
-
-int recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen)
- __attribute__ ((weak,alias("__libc_recvfrom"))) ;
diff --git a/mdk-stage1/dietlibc/lib/recvmsg.c b/mdk-stage1/dietlibc/lib/recvmsg.c
deleted file mode 100644
index c14c58c78..000000000
--- a/mdk-stage1/dietlibc/lib/recvmsg.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recvmsg(int a, struct msghdr* msg, int flags) {
-#ifdef __i386__
- return socketcall(SYS_RECVMSG, (long*)&a);
-#else
- unsigned long args[] = { a, (long) msg, flags };
- return socketcall(SYS_RECVMSG, args);
-#endif
-}
-
-int recvmsg(int a, struct msghdr *msg, int flags)
- __attribute__ ((weak,alias("__libc_recvmsg"))) ;
diff --git a/mdk-stage1/dietlibc/lib/remove.c b/mdk-stage1/dietlibc/lib/remove.c
deleted file mode 100644
index d5125bfed..000000000
--- a/mdk-stage1/dietlibc/lib/remove.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-int remove(const char* filename) {
- if (unlink(filename)) {
- if (errno==EISDIR)
- return rmdir(filename);
- return -1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/rewind.c b/mdk-stage1/dietlibc/lib/rewind.c
deleted file mode 100644
index 48434a316..000000000
--- a/mdk-stage1/dietlibc/lib/rewind.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-void rewind( FILE *stream) {
- fseek(stream, 0L, SEEK_SET);
-}
diff --git a/mdk-stage1/dietlibc/lib/rewinddir.c b/mdk-stage1/dietlibc/lib/rewinddir.c
deleted file mode 100644
index addc7bde9..000000000
--- a/mdk-stage1/dietlibc/lib/rewinddir.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-
-void rewinddir(DIR *d) {
- if (lseek(d->fd,0,SEEK_SET) != (off_t)-1)
- d->num=d->cur=0;
-}
diff --git a/mdk-stage1/dietlibc/lib/sbrk.c b/mdk-stage1/dietlibc/lib/sbrk.c
deleted file mode 100644
index 945ad5a16..000000000
--- a/mdk-stage1/dietlibc/lib/sbrk.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <unistd.h>
-
-extern int __brk(void *end_data_segment);
-
-extern void* __curbrk;
-
-void* __sbrk(ptrdiff_t increment) {
- void* oldbrk;
- if (__curbrk==0)
- if (__brk(0) < 0)
- return (void*)-1;
- if (increment==0)
- return __curbrk;
- oldbrk=__curbrk;
- if (__brk(oldbrk+increment)<0)
- return (void*)-1;
- return oldbrk;
-}
-
-void* sbrk (ptrdiff_t increment) __attribute__((weak,alias("__sbrk")));
diff --git a/mdk-stage1/dietlibc/lib/seekdir.c b/mdk-stage1/dietlibc/lib/seekdir.c
deleted file mode 100644
index cf111fbc8..000000000
--- a/mdk-stage1/dietlibc/lib/seekdir.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-
-void seekdir(DIR *d,off_t offset) {
- if (lseek(d->fd,offset,SEEK_SET) != (off_t)-1)
- d->num=d->cur=0;
-}
diff --git a/mdk-stage1/dietlibc/lib/semctl.c b/mdk-stage1/dietlibc/lib/semctl.c
deleted file mode 100644
index ddc0aae95..000000000
--- a/mdk-stage1/dietlibc/lib/semctl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int semctl(int semid, int semnum, int cmd, union semun arg) {
- return __ipc(SEMCTL,semid,semnum,cmd,&arg);
-}
diff --git a/mdk-stage1/dietlibc/lib/semget.c b/mdk-stage1/dietlibc/lib/semget.c
deleted file mode 100644
index 056aeae04..000000000
--- a/mdk-stage1/dietlibc/lib/semget.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int semget(key_t key, int nsems, int semflg) {
- return __ipc(SEMGET,key,nsems,semflg,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/semop.c b/mdk-stage1/dietlibc/lib/semop.c
deleted file mode 100644
index abfde73a7..000000000
--- a/mdk-stage1/dietlibc/lib/semop.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int semop(int semid,struct sembuf *sops,unsigned nsops) {
- return __ipc(SEMOP,semid,nsops,0,sops);
-}
diff --git a/mdk-stage1/dietlibc/lib/send.c b/mdk-stage1/dietlibc/lib/send.c
deleted file mode 100644
index c1adf1b5d..000000000
--- a/mdk-stage1/dietlibc/lib/send.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_send(int a, const void * b, size_t c, int flags) {
-#ifdef __i386__
- return socketcall(SYS_SEND, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c, flags };
- return socketcall(SYS_SEND, args);
-#endif
-}
-
-int send(int a, const void * b, size_t c, int flags)
- __attribute__ ((weak, alias("__libc_send")));
diff --git a/mdk-stage1/dietlibc/lib/sendmsg.c b/mdk-stage1/dietlibc/lib/sendmsg.c
deleted file mode 100644
index 277265985..000000000
--- a/mdk-stage1/dietlibc/lib/sendmsg.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_sendmsg(int a, const struct msghdr* msg, int flags) {
-#ifdef __i386__
- return socketcall(SYS_SENDMSG, (long*)&a);
-#else
- unsigned long args[] = { a, (long) msg, flags };
- return socketcall(SYS_SENDMSG, args);
-#endif
-}
-
-int sendmsg(int a, const struct msghdr *msg, int flags)
- __attribute__ ((weak,alias("__libc_sendmsg"))) ;
diff --git a/mdk-stage1/dietlibc/lib/sendto.c b/mdk-stage1/dietlibc/lib/sendto.c
deleted file mode 100644
index 078c010ea..000000000
--- a/mdk-stage1/dietlibc/lib/sendto.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_sendto(int a, const void * b, size_t c, int flags, void *to, int tolen) {
-#ifdef __i386__
- return socketcall(SYS_SENDTO, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c, flags, (long) to, tolen };
- return socketcall(SYS_SENDTO, args);
-#endif
-}
-
-int sendto(int a, const void * b, size_t c, int flags, void *to, int tolen)
- __attribute__ ((weak, alias("__libc_sendto")));
diff --git a/mdk-stage1/dietlibc/lib/set_errno.c b/mdk-stage1/dietlibc/lib/set_errno.c
deleted file mode 100644
index 6553bc496..000000000
--- a/mdk-stage1/dietlibc/lib/set_errno.c
+++ /dev/null
@@ -1,9 +0,0 @@
-extern int errno;
-
-void __set_errno(int error) __attribute__ ((weak));
-
-void __set_errno(int error)
-{
- errno=error;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/setpgrp.c b/mdk-stage1/dietlibc/lib/setpgrp.c
deleted file mode 100644
index 825ca3725..000000000
--- a/mdk-stage1/dietlibc/lib/setpgrp.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <unistd.h>
-
-int setpgrp()
-{
- return setpgid(0,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/setsockopt.c b/mdk-stage1/dietlibc/lib/setsockopt.c
deleted file mode 100644
index 781e9c31c..000000000
--- a/mdk-stage1/dietlibc/lib/setsockopt.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int setsockopt(int a, int b, int c, void *d, void *e) {
-#ifdef __i386__
- return socketcall(SYS_SETSOCKOPT, (long*)&a);
-#else
- unsigned long args[] = { a, b, c, (long)d, (long) e };
- return socketcall(SYS_SETSOCKOPT, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/shmat.c b/mdk-stage1/dietlibc/lib/shmat.c
deleted file mode 100644
index 63284b1ea..000000000
--- a/mdk-stage1/dietlibc/lib/shmat.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern void* __ipc();
-
-void* shmat(int shmid,const void* shmaddr,int shmflg) {
- void* raddr;
- register void* result;
- result=__ipc(SHMAT,shmid,shmflg,&raddr,shmaddr);
- if ((unsigned long)result <= -(unsigned long)SHMLBA)
- result=raddr;
- return result;
-}
diff --git a/mdk-stage1/dietlibc/lib/shmctl.c b/mdk-stage1/dietlibc/lib/shmctl.c
deleted file mode 100644
index 8f942f2a4..000000000
--- a/mdk-stage1/dietlibc/lib/shmctl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int shmctl(int shmid, int cmd, struct shmid_ds *buf) {
- return __ipc(SHMCTL,shmid,cmd,0,buf);
-}
diff --git a/mdk-stage1/dietlibc/lib/shmdt.c b/mdk-stage1/dietlibc/lib/shmdt.c
deleted file mode 100644
index 36db10f08..000000000
--- a/mdk-stage1/dietlibc/lib/shmdt.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int shmdt(const void* shmaddr) {
- return __ipc(SHMDT,0,0,0,shmaddr);
-}
diff --git a/mdk-stage1/dietlibc/lib/shmget.c b/mdk-stage1/dietlibc/lib/shmget.c
deleted file mode 100644
index 9b03f5deb..000000000
--- a/mdk-stage1/dietlibc/lib/shmget.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-int shmget(key_t key, int size, int shmflg) {
- return __ipc(SHMGET,key,size,shmflg,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/shutdown.c b/mdk-stage1/dietlibc/lib/shutdown.c
deleted file mode 100644
index 0a6be6c37..000000000
--- a/mdk-stage1/dietlibc/lib/shutdown.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_shutdown(int s, int how) {
-#ifdef __i386__
- return socketcall(SYS_SHUTDOWN, (long*)&s);
-#else
- unsigned long args[] = { s, (long) how, 0 };
- return socketcall(SYS_SHUTDOWN, args);
-#endif
-}
-
-int shutdown(int s, int how) __attribute__((weak,alias("__libc_shutdown")));
diff --git a/mdk-stage1/dietlibc/lib/sigaddset.c b/mdk-stage1/dietlibc/lib/sigaddset.c
deleted file mode 100644
index 8ce69ea77..000000000
--- a/mdk-stage1/dietlibc/lib/sigaddset.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define __KERNEL__
-#define sigaddset foobar
-#include <asm/signal.h>
-#undef sigaddset
-
-int __sigaddset(sigset_t *set, int signo) {
- unsigned long sig = signo - 1;
- if (_NSIG_WORDS == 1)
- set->sig[0] |= 1UL << sig;
- else
- set->sig[sig / _NSIG_BPW] |= 1UL << (sig % _NSIG_BPW);
- return 0;
-}
-
-int sigaddset (sigset_t *env, int signo) __attribute__((weak,alias("__sigaddset")));
diff --git a/mdk-stage1/dietlibc/lib/sigdelset.c b/mdk-stage1/dietlibc/lib/sigdelset.c
deleted file mode 100644
index 2c3385ea8..000000000
--- a/mdk-stage1/dietlibc/lib/sigdelset.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define __KERNEL__
-#define sigdelset foobar
-#include <asm/signal.h>
-#undef sigdelset
-
-int __sigdelset(sigset_t *set, int signo) {
- unsigned long sig = signo - 1;
- if (_NSIG_WORDS == 1)
- set->sig[0] &= ~(1UL << sig);
- else
- set->sig[sig / _NSIG_BPW] &= ~(1UL << (sig % _NSIG_BPW));
- return 0;
-}
-
-int sigdelset (sigset_t *env, int signo) __attribute__((weak,alias("__sigdelset")));
diff --git a/mdk-stage1/dietlibc/lib/sigemptyset.c b/mdk-stage1/dietlibc/lib/sigemptyset.c
deleted file mode 100644
index f4532f96e..000000000
--- a/mdk-stage1/dietlibc/lib/sigemptyset.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#define __USE_EXTERN_INLINES 1
-#include <signal.h>
-#include <errno.h>
-#include <string.h>
-
-int sigemptyset(sigset_t *set) {
- if (set==NULL) {
- __set_errno(EINVAL);
- return -1;
- }
- memset(set,0,sizeof(*set));
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/sigfillset.c b/mdk-stage1/dietlibc/lib/sigfillset.c
deleted file mode 100644
index ddac6e391..000000000
--- a/mdk-stage1/dietlibc/lib/sigfillset.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#define __KERNEL__
-#include <asm/signal.h>
-
-int __sigfillset (sigset_t *set) {
- int i;
- for (i=0; i<_NSIG_WORDS; i++)
- set->sig[i]=~0;
- return 0;
-}
-
-int sigfillset(sigset_t *env) __attribute__((weak,alias("__sigfillset")));
diff --git a/mdk-stage1/dietlibc/lib/sigismember.c b/mdk-stage1/dietlibc/lib/sigismember.c
deleted file mode 100644
index 67a258884..000000000
--- a/mdk-stage1/dietlibc/lib/sigismember.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#define __USE_EXTERN_INLINES 1
-#include <signal.h>
-
-# define __sigmask(sig) \
- (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned long int))))
-
-# define __sigword(sig) (((sig) - 1) / (8 * sizeof (unsigned long int)))
-
-# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
-typedef struct
- {
- unsigned long int __val[_SIGSET_NWORDS];
- } __sigset_t;
-
-int __sigismember(const __sigset_t *set, int signo) {
- unsigned long int __mask = __sigmask (signo);
- unsigned long int __word = __sigword (signo);
- return (set->__val[__word] & __mask);
-}
-
-int sigismember(const sigset_t *env, int signo) __attribute__((weak,alias("__sigismember")));
diff --git a/mdk-stage1/dietlibc/lib/sigjmp.c b/mdk-stage1/dietlibc/lib/sigjmp.c
deleted file mode 100644
index be97c62cc..000000000
--- a/mdk-stage1/dietlibc/lib/sigjmp.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include <setjmp.h>
-#include <signal.h>
-#include <string.h>
-
-/* This function is called by the `sigsetjmp' macro
- before doing a `__setjmp' on ENV[0].__jmpbuf.
- Always return zero. */
-
-int
-__sigjmp_save (sigjmp_buf env, int savemask)
-{
- env[0].__mask_was_saved = (savemask &&
- sigprocmask (SIG_BLOCK, (sigset_t *) NULL,
- (sigset_t*)&env[0].__saved_mask) == 0);
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/sleep.c b/mdk-stage1/dietlibc/lib/sleep.c
deleted file mode 100644
index ec5b99533..000000000
--- a/mdk-stage1/dietlibc/lib/sleep.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <linux/time.h>
-#include <time.h>
-
-unsigned int sleep(unsigned int secs) {
- struct timespec t;
- t.tv_sec=secs;
- t.tv_nsec=0;
- nanosleep(&t,&t);
- return secs-t.tv_sec;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/snprintf.c b/mdk-stage1/dietlibc/lib/snprintf.c
deleted file mode 100644
index 096c06115..000000000
--- a/mdk-stage1/dietlibc/lib/snprintf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int snprintf(char *str,size_t size,const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(str,size,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/socket.c b/mdk-stage1/dietlibc/lib/socket.c
deleted file mode 100644
index 1684a6a2b..000000000
--- a/mdk-stage1/dietlibc/lib/socket.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int socket(int a, int b, int c) {
-#ifdef __i386__
- return socketcall(SYS_SOCKET, (long*)&a);
-#else
- unsigned long args[] = { a, b, c };
- return socketcall(SYS_SOCKET, args);
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/speed.c b/mdk-stage1/dietlibc/lib/speed.c
deleted file mode 100644
index a7fcca7c9..000000000
--- a/mdk-stage1/dietlibc/lib/speed.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <unistd.h>
-#include <termios.h>
-#include <sys/types.h>
-
-#include <asm/errno.h>
-
-extern int errno;
-
-/* Hack around a kernel bug; value must correspond to the one used in tcsetattr.c */
-#define IBAUD0 020000000000
-
-
-/* Return the output baud rate stored in *TERMIOS_P. */
-speed_t cfgetospeed (struct termios *termios_p)
-{
- return termios_p->c_cflag & (CBAUD | CBAUDEX);
-}
-
-
-/* Return the input baud rate stored in *TERMIOS_P.
- Although for Linux there is no difference between input and output
- speed, the numerical 0 is a special case for the input baud rate. It
- should set the input baud rate to the output baud rate. */
-speed_t cfgetispeed (struct termios *termios_p)
-{
- return ((termios_p->c_iflag & IBAUD0)
- ? 0 : termios_p->c_cflag & (CBAUD | CBAUDEX));
-}
-
-
-/* Set the output baud rate stored in *TERMIOS_P to SPEED. */
-int cfsetospeed (struct termios *termios_p, speed_t speed)
-{
- if ((speed & ~CBAUD) != 0 && (speed < B57600 || speed > B460800)) {
- errno = EINVAL;
- return -1;
- }
-
- termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
- termios_p->c_cflag |= speed;
-
- return 0;
-}
-
-
-/* Set the input baud rate stored in *TERMIOS_P to SPEED.
- Although for Linux there is no difference between input and output
- speed, the numerical 0 is a special case for the input baud rate. It
- should set the input baud rate to the output baud rate. */
-int cfsetispeed (struct termios *termios_p, speed_t speed)
-{
- if ((speed & ~CBAUD) != 0 && (speed < B57600 || speed > B460800)) {
- errno = EINVAL;
- return -1;
- }
-
- if (speed == 0)
- termios_p->c_iflag |= IBAUD0;
- else
- {
- termios_p->c_iflag &= ~IBAUD0;
- termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
- termios_p->c_cflag |= speed;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/sprintf.c b/mdk-stage1/dietlibc/lib/sprintf.c
deleted file mode 100644
index b355d01f9..000000000
--- a/mdk-stage1/dietlibc/lib/sprintf.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int sprintf(char *dest,const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(dest,1000000,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
-
-link_warning("sprintf","warning: Avoid sprintf; use snprintf. It is more secure and faster.")
diff --git a/mdk-stage1/dietlibc/lib/sscanf.c b/mdk-stage1/dietlibc/lib/sscanf.c
deleted file mode 100644
index 341e74bba..000000000
--- a/mdk-stage1/dietlibc/lib/sscanf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-
-int vsscanf(const char *str, const char *format, va_list arg_ptr);
-
-int sscanf(const char *str, const char *format, ...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsscanf(str,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/strcasecmp.c b/mdk-stage1/dietlibc/lib/strcasecmp.c
deleted file mode 100644
index d978488a4..000000000
--- a/mdk-stage1/dietlibc/lib/strcasecmp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <ctype.h>
-#include "dietfeatures.h"
-
-int strcasecmp(register const char *s,register const char *t) {
- register char x;
-
- for (;;) {
- x = tolower(*s); if (x != tolower(*t)) break; if (!x) break; ++s; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- x = tolower(*s); if (x != tolower(*t)) break; if (!x) break; ++s; ++t;
- x = tolower(*s); if (x != tolower(*t)) break; if (!x) break; ++s; ++t;
- x = tolower(*s); if (x != tolower(*t)) break; if (!x) break; ++s; ++t;
-#endif
- }
- return ((int)(unsigned int)(unsigned char) x)
- - ((int)(unsigned int)(unsigned char) *t);
-}
diff --git a/mdk-stage1/dietlibc/lib/strcat.c b/mdk-stage1/dietlibc/lib/strcat.c
deleted file mode 100644
index 8a755afea..000000000
--- a/mdk-stage1/dietlibc/lib/strcat.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietfeatures.h"
-#include <string.h>
-
-char* strcat(register char* s,register const char* t)
-{
- char *dest=s;
- s+=strlen(s);
- for (;;) {
- if (!(*s = *t)) break; ++s; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (!(*s = *t)) break; ++s; ++t;
- if (!(*s = *t)) break; ++s; ++t;
- if (!(*s = *t)) break; ++s; ++t;
-#endif
- }
- return dest;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/strchr.c b/mdk-stage1/dietlibc/lib/strchr.c
deleted file mode 100644
index 0c2050da6..000000000
--- a/mdk-stage1/dietlibc/lib/strchr.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietfeatures.h"
-
-char *strchr(register const char *t, int c) {
- register char ch;
-
- ch = c;
- for (;;) {
- if (*t == ch) break; if (!*t) return 0; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (*t == ch) break; if (!*t) return 0; ++t;
- if (*t == ch) break; if (!*t) return 0; ++t;
- if (*t == ch) break; if (!*t) return 0; ++t;
-#endif
- }
- return (char*)t;
-}
-
-char *index(char *t,int c) __attribute__((weak,alias("strchr")));
diff --git a/mdk-stage1/dietlibc/lib/strcmp.c b/mdk-stage1/dietlibc/lib/strcmp.c
deleted file mode 100644
index 0db324e66..000000000
--- a/mdk-stage1/dietlibc/lib/strcmp.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "dietfeatures.h"
-
-int strcmp(register const char *s,register const char *t) {
- register char x;
-
- for (;;) {
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
-#endif
- }
- return ((int)(unsigned int)(unsigned char) x)
- - ((int)(unsigned int)(unsigned char) *t);
-}
diff --git a/mdk-stage1/dietlibc/lib/strcpy.c b/mdk-stage1/dietlibc/lib/strcpy.c
deleted file mode 100644
index 49693c30d..000000000
--- a/mdk-stage1/dietlibc/lib/strcpy.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "dietfeatures.h"
-
-char* strcpy(register char* s,register const char* t)
-{
- char *dest=s;
- for (;;) {
- if (!(*s = *t)) return dest; ++s; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
-#endif
- }
-}
-
diff --git a/mdk-stage1/dietlibc/lib/strcspn.c b/mdk-stage1/dietlibc/lib/strcspn.c
deleted file mode 100644
index 37053c72c..000000000
--- a/mdk-stage1/dietlibc/lib/strcspn.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-size_t strcspn(const char *s, const char *reject)
-{
- size_t l=0;
- int a=1,i,al=strlen(reject);
-
- while((a)&&(*s))
- {
- for(i=0;(a)&&(i<al);i++)
- if (*s==reject[i]) a=0;
- if (a) l++;
- s++;
- }
- return l;
-}
diff --git a/mdk-stage1/dietlibc/lib/strdup.c b/mdk-stage1/dietlibc/lib/strdup.c
deleted file mode 100644
index 6a2ea5f95..000000000
--- a/mdk-stage1/dietlibc/lib/strdup.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-
-char *strdup(const char *s) {
- char *tmp=(char *)malloc(strlen(s)+1);
- if (!tmp) return 0;
- strcpy(tmp,s);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/lib/strerror.c b/mdk-stage1/dietlibc/lib/strerror.c
deleted file mode 100644
index f15b86aae..000000000
--- a/mdk-stage1/dietlibc/lib/strerror.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <string.h>
-
-extern char *sys_errlist[];
-extern int sys_nerr;
-
-char *strerror(int errnum) {
- if (errnum>=0 && errnum<sys_nerr)
- return sys_errlist[errnum];
- return "[unknown error]";
-}
diff --git a/mdk-stage1/dietlibc/lib/strlcat.c b/mdk-stage1/dietlibc/lib/strlcat.c
deleted file mode 100644
index fd35ec8af..000000000
--- a/mdk-stage1/dietlibc/lib/strlcat.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* $OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $ */
-
-/*
- * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
- * 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. 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 ``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.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $";
-#endif /* LIBC_SCCS and not lint */
-
-#include <sys/types.h>
-#include <string.h>
-
-/*
- * Appends src to string dst of size siz (unlike strncat, siz is the
- * full size of dst, not space left). At most siz-1 characters
- * will be copied. Always NUL terminates (unless siz == 0).
- * Returns strlen(initial dst) + strlen(src); if retval >= siz,
- * truncation occurred.
- */
-size_t strlcat(dst, src, siz)
- char *dst;
- const char *src;
- size_t siz;
-{
- register char *d = dst;
- register const char *s = src;
- register size_t n = siz;
- size_t dlen;
-
- /* Find the end of dst and adjust bytes left but don't go past end */
- while (*d != '\0' && n-- != 0)
- d++;
- dlen = d - dst;
- n = siz - dlen;
-
- if (n == 0)
- return(dlen + strlen(s));
- while (*s != '\0') {
- if (n != 1) {
- *d++ = *s;
- n--;
- }
- s++;
- }
- *d = '\0';
-
- return(dlen + (s - src)); /* count does not include NUL */
-}
diff --git a/mdk-stage1/dietlibc/lib/strlcpy.3 b/mdk-stage1/dietlibc/lib/strlcpy.3
deleted file mode 100644
index e00af8d6b..000000000
--- a/mdk-stage1/dietlibc/lib/strlcpy.3
+++ /dev/null
@@ -1,169 +0,0 @@
-.\" $OpenBSD: strlcpy.3,v 1.10 2000/11/06 01:03:25 aaron Exp $
-.\"
-.\" Copyright (c) 1998, 2000 Todd C. Miller <Todd.Miller@courtesan.com>
-.\" 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. 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 ``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.
-.\"
-.Dd June 22, 1998
-.Dt STRLCPY 3
-.Os
-.Sh NAME
-.Nm strlcpy ,
-.Nm strlcat
-.Nd size-bounded string copying and concatenation
-.Sh SYNOPSIS
-.Fd #include <string.h>
-.Ft size_t
-.Fn strlcpy "char *dst" "const char *src" "size_t size"
-.Ft size_t
-.Fn strlcat "char *dst" "const char *src" "size_t size"
-.Sh DESCRIPTION
-The
-.Fn strlcpy
-and
-.Fn strlcat
-functions copy and concatenate strings respectively.
-They are designed
-to be safer, more consistent, and less error prone replacements for
-.Xr strncpy 3
-and
-.Xr strncat 3 .
-Unlike those functions,
-.Fn strlcpy
-and
-.Fn strlcat
-take the full size of the buffer (not just the length) and guarantee to
-NUL-terminate the result (as long as
-.Fa size
-is larger than 0 or, in the case of
-.Fn strlcat ,
-as long as there is at least one byte free in
-.Fa dst ) .
-Note that you should include a byte for the NUL in
-.Fa size .
-Also note that
-.Fn strlcpy
-and
-.Fn strlcat
-only operate on true
-.Dq C
-strings.
-This means that for
-.Fn strlcpy
-.Fa src
-must be NUL-terminated and for
-.Fn strlcat
-both
-.Fa src
-and
-.Fa dst
-must be NUL-terminated.
-.Pp
-The
-.Fn strlcpy
-function copies up to
-.Fa size
-- 1 characters from the NUL-terminated string
-.Fa src
-to
-.Fa dst ,
-NUL-terminating the result.
-.Pp
-The
-.Fn strlcat
-function appends the NUL-terminated string
-.Fa src
-to the end of
-.Fa dst .
-It will append at most
-.Fa size
-- strlen(dst) - 1 bytes, NUL-terminating the result.
-.Sh RETURN VALUES
-The
-.Fn strlcpy
-and
-.Fn strlcat
-functions return the total length of the string they tried to create.
-For
-.Fn strlcpy
-that means the length of
-.Fa src .
-For
-.Fn strlcat
-that means the initial length of
-.Fa dst
-plus
-the length of
-.Fa src .
-While this may seem somewhat confusing it was done to make
-truncation detection simple.
-.Sh EXAMPLES
-The following code fragment illustrates the simple case:
-.Bd -literal -offset indent
-char *s, *p, buf[BUFSIZ];
-
-\&...
-
-(void)strlcpy(buf, s, sizeof(buf));
-(void)strlcat(buf, p, sizeof(buf));
-.Ed
-.Pp
-To detect truncation, perhaps while building a pathname, something
-like the following might be used:
-.Bd -literal -offset indent
-char *dir, *file, pname[MAXPATHLEN];
-
-\&...
-
-if (strlcpy(pname, dir, sizeof(pname)) >= sizeof(pname))
- goto toolong;
-if (strlcat(pname, file, sizeof(pname)) >= sizeof(pname))
- goto toolong;
-.Ed
-.Pp
-Since we know how many characters we copied the first time, we can
-speed things up a bit by using a copy instead of an append:
-.Bd -literal -offset indent
-char *dir, *file, pname[MAXPATHLEN];
-size_t n;
-
-\&...
-
-n = strlcpy(pname, dir, sizeof(pname));
-if (n >= sizeof(pname))
- goto toolong;
-if (strlcpy(pname + n, file, sizeof(pname) - n) >= sizeof(pname) - n)
- goto toolong;
-.Ed
-.Pp
-However, one may question the validity of such optimizations, as they
-defeat the whole purpose of
-.Fn strlcpy
-and
-.Fn strlcat .
-As a matter of fact, the first version of this manual page got it wrong.
-.Sh SEE ALSO
-.Xr snprintf 3 ,
-.Xr strncat 3 ,
-.Xr strncpy 3
diff --git a/mdk-stage1/dietlibc/lib/strlcpy.c b/mdk-stage1/dietlibc/lib/strlcpy.c
deleted file mode 100644
index b935b9527..000000000
--- a/mdk-stage1/dietlibc/lib/strlcpy.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* $OpenBSD: strlcpy.c,v 1.3 1999/04/24 01:17:37 millert Exp $ */
-
-/*
- * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
- * 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. 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 ``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.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: strlcpy.c,v 1.3 1999/04/24 01:17:37 millert Exp $";
-#endif /* LIBC_SCCS and not lint */
-
-#include <sys/types.h>
-#include <string.h>
-
-/*
- * Copy src to string dst of size siz. At most siz-1 characters
- * will be copied. Always NUL terminates (unless siz == 0).
- * Returns strlen(src); if retval >= siz, truncation occurred.
- */
-size_t strlcpy(dst, src, siz)
- char *dst;
- const char *src;
- size_t siz;
-{
- register char *d = dst;
- register const char *s = src;
- register size_t n = siz;
-
- /* Copy as many bytes as will fit */
- if (n != 0 && --n != 0) {
- do {
- if ((*d++ = *s++) == 0)
- break;
- } while (--n != 0);
- }
-
- /* Not enough room in dst, add NUL and traverse rest of src */
- if (n == 0) {
- if (siz != 0)
- *d = '\0'; /* NUL-terminate dst */
- while (*s++)
- ;
- }
-
- return(s - src - 1); /* count does not include NUL */
-}
diff --git a/mdk-stage1/dietlibc/lib/strlen.c b/mdk-stage1/dietlibc/lib/strlen.c
deleted file mode 100644
index 56c085dac..000000000
--- a/mdk-stage1/dietlibc/lib/strlen.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <endian.h>
-#include "dietfeatures.h"
-#include <string.h>
-
-#ifdef WANT_SMALL_STRING_ROUTINES
-size_t strlen(const char *s) {
- register int i;
- if (!s) return 0;
- for (i=0; *s; ++s) ++i;
- return i;
-}
-#else
-static const unsigned long magic = 0x01010101;
-
-size_t strlen(const char *s)
-{
- const char *t = s;
- unsigned long word;
-
- if (!s) return 0;
-
- /* Byte compare up until word boundary */
- for (; ((unsigned long) t & 3); t++)
- if (!*t) return t - s;
-
- /* Word compare */
- do {
- word = *((unsigned long *) t); t += 4;
- word = (word - magic) &~ word;
- word &= (magic << 7);
- } while (word == 0);
-
-#if BYTE_ORDER == LITTLE_ENDIAN
- /* word & 0x80808080 == word */
- word = (word - 1) & (magic << 10);
- word += (word << 8) + (word << 16);
- t += word >> 26;
-#else
- if ((word & 0x80800000) == 0) {
- word <<= 16;
- t += 2;
- }
- if ((word & 0x80000000) == 0) t += 1;
-#endif
- return ((const char *) t) - 4 - s;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/strncasecmp.c b/mdk-stage1/dietlibc/lib/strncasecmp.c
deleted file mode 100644
index 8a5445e53..000000000
--- a/mdk-stage1/dietlibc/lib/strncasecmp.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <ctype.h>
-#include <sys/types.h>
-#include <string.h>
-
-int strncasecmp(const char *s, const char *t, size_t n) {
- register char x;
- register const char* u=s+n;
- for (;;) {
- x = tolower(*s); if (x!=tolower(*t)) break; if (!x) break; if (++s>=u) return 0; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- x = tolower(*s); if (x!=tolower(*t)) break; if (!x) break; if (++s>=u) return 0; ++t;
- x = tolower(*s); if (x!=tolower(*t)) break; if (!x) break; if (++s>=u) return 0; ++t;
- x = tolower(*s); if (x!=tolower(*t)) break; if (!x) break; if (++s>=u) return 0; ++t;
-#endif
- }
- return ((int)(unsigned int)(unsigned char) x)
- - ((int)(unsigned int)(unsigned char) *t);
-}
diff --git a/mdk-stage1/dietlibc/lib/strncat.c b/mdk-stage1/dietlibc/lib/strncat.c
deleted file mode 100644
index a08e97916..000000000
--- a/mdk-stage1/dietlibc/lib/strncat.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "dietfeatures.h"
-#include <string.h>
-
-#ifdef WANT_NON_COMPLIANT_STRNCAT
-/* this implementation is not standards compliant.
- * the standard says that strncat(dest,"foobar",3) should write 'f', 'o'
- * and 'o'. The programmer is then expected to overwrite the last byte
- * with '\0', which is often forgotten. This implementation makes sure
- * the last written bytes is always '\0'. */
-#endif
-
-char *strncat(char *s, const char *t, size_t n) {
- char *dest=s;
- register char *max;
- s+=strlen(s);
-#ifdef WANT_NON_COMPLIANT_STRNCAT
- max=s+n-1;
-#else
- max=s+n;
-#endif
- for (;;) {
- if (!(*s = *t)) break; if (++s==max) break; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (!(*s = *t)) break; if (++s==max) break; ++t;
- if (!(*s = *t)) break; if (++s==max) break; ++t;
- if (!(*s = *t)) break; if (++s==max) break; ++t;
-#endif
- }
- *s=0;
- return dest;
-}
diff --git a/mdk-stage1/dietlibc/lib/strncmp.c b/mdk-stage1/dietlibc/lib/strncmp.c
deleted file mode 100644
index 7c08c0fa7..000000000
--- a/mdk-stage1/dietlibc/lib/strncmp.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-int strncmp(const char *s1, const char *s2, size_t n) {
- return memccmp(s1,s2,0,n);
-}
diff --git a/mdk-stage1/dietlibc/lib/strncpy.c b/mdk-stage1/dietlibc/lib/strncpy.c
deleted file mode 100644
index 531387b7f..000000000
--- a/mdk-stage1/dietlibc/lib/strncpy.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-#include <string.h>
-
-char *strncpy(char *dest, const char *src, size_t n)
-{
- memccpy(dest,src,0,n);
- return dest;
-}
diff --git a/mdk-stage1/dietlibc/lib/strpbrk.c b/mdk-stage1/dietlibc/lib/strpbrk.c
deleted file mode 100644
index e18fd2a2d..000000000
--- a/mdk-stage1/dietlibc/lib/strpbrk.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-char *strpbrk(const char *s, const char *accept) {
- register int i,l=strlen(accept);
- for (; *s; s++)
- for (i=0; i<l; i++)
- if (*s == accept[i])
- return (char*)s;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/strrchr.c b/mdk-stage1/dietlibc/lib/strrchr.c
deleted file mode 100644
index 1abb655e2..000000000
--- a/mdk-stage1/dietlibc/lib/strrchr.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <string.h>
-#include "dietfeatures.h"
-
-char *strrchr(const char *t, int c) {
- register char ch;
- register const char *l=0;
-
- ch = c;
- for (;;) {
- if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
- if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
- if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
-#endif
- }
- return (char*)l;
-}
-
-char *rindex(const char *t,int c) __attribute__((weak,alias("strrchr")));
diff --git a/mdk-stage1/dietlibc/lib/strsep.c b/mdk-stage1/dietlibc/lib/strsep.c
deleted file mode 100644
index a1bf1872a..000000000
--- a/mdk-stage1/dietlibc/lib/strsep.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <string.h>
-
-char *strsep(char **stringp, const char *delim) {
- register char *tmp=*stringp;
- register char *tmp2=tmp;
- register const char *tmp3;
- for (tmp2=tmp; *tmp2; ++tmp2) {
- for (tmp3=delim; *tmp3; ++tmp3)
- if (*tmp2==*tmp3) { /* delimiter found */
- *tmp2=0;
- *stringp=tmp2+1;
- return tmp;
- }
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/strspn.c b/mdk-stage1/dietlibc/lib/strspn.c
deleted file mode 100644
index 2b3a4c116..000000000
--- a/mdk-stage1/dietlibc/lib/strspn.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-size_t strspn(const char *s, const char *accept)
-{
- size_t l=0;
- int a=1,i,al=strlen(accept);
-
- while((a)&&(*s))
- {
- for(a=i=0;(!a)&&(i<al);i++)
- if (*s==accept[i]) a=1;
- if (a) l++;
- s++;
- }
- return l;
-}
diff --git a/mdk-stage1/dietlibc/lib/strstr.c b/mdk-stage1/dietlibc/lib/strstr.c
deleted file mode 100644
index 641d9d7ac..000000000
--- a/mdk-stage1/dietlibc/lib/strstr.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-char *strstr(const char *haystack, const char *needle) {
- int nl=strlen(needle);
- int hl=strlen(haystack);
- int i;
- if (nl>hl) return 0;
- for (i=hl-nl+1; i; --i) {
- if (!memcmp(haystack,needle,nl))
- return (char*)haystack;
- ++haystack;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtod.c b/mdk-stage1/dietlibc/lib/strtod.c
deleted file mode 100644
index cbe983d84..000000000
--- a/mdk-stage1/dietlibc/lib/strtod.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <string.h>
-
-extern char isspace(char c);
-
-#ifdef __GNUC__
-static inline char isdigit(char c) { return (c>='0' && c<='9'); }
-#endif
-
-double strtod(const char *nptr, char **endptr) {
- double d=0;
- register const char *c=nptr;
- char neg=0;
- while (*c && isspace(*c)) ++c;
- switch (*c) {
- case '-': neg=1;
- case '+': c++; break;
- default: break;
- }
- while (isdigit(*c)) {
- d=d*10+(*c-'0');
- ++c;
- }
- if (*c=='.') {
- double factor=.1;
- while (isdigit(*++c)) {
- d=d+(factor*(*c-'0'));
- factor/=10;
- }
- }
- if ((*c|32)=='e') {
- int exp=0;
- double factor=10;
- if (c[1]<'0') {
- switch (c[1]) {
- case '-': factor=0.1;
- case '+': c++; break;
- default:
- d=0;
- c=nptr;
- goto done;
- }
- }
- while (isdigit(*++c))
- exp=exp*10+(*c-'0');
- while (exp) { /* XXX: this introduces rounding errors */
- d*=factor; --exp;
- }
- }
-done:
- if (endptr) *endptr=(char*)c;
- return d;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtok.c b/mdk-stage1/dietlibc/lib/strtok.c
deleted file mode 100644
index 86337da7b..000000000
--- a/mdk-stage1/dietlibc/lib/strtok.c
+++ /dev/null
@@ -1,8 +0,0 @@
-char *strtok_r(char *s, const char *delim, char **ptrptr);
-
-static char *strtok_pos;
-
-char *strtok(char *s, const char *delim)
-{
- return strtok_r(s,delim,&strtok_pos);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtok_r.c b/mdk-stage1/dietlibc/lib/strtok_r.c
deleted file mode 100644
index 93f9401de..000000000
--- a/mdk-stage1/dietlibc/lib/strtok_r.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <string.h>
-
-char *strtok_r(char *s, const char *delim, char **ptrptr)
-{
- int i;
- char *tmp=0;
-
- if (s) (*ptrptr)=s;
-
- if (**ptrptr)
- {
- while(!(i=strcspn(*ptrptr,delim))) (*ptrptr)++;
- if (**ptrptr)
- {
- tmp=(*ptrptr);
- (*ptrptr)+=i;
- if (**ptrptr) *(*ptrptr)++=0;
- }
- }
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtol.c b/mdk-stage1/dietlibc/lib/strtol.c
deleted file mode 100644
index ead89f408..000000000
--- a/mdk-stage1/dietlibc/lib/strtol.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <ctype.h>
-
-extern unsigned long int strtoul(const char *nptr, char **endptr, int base);
-
-long int strtol(const char *nptr, char **endptr, int base)
-{
- int neg=0;
- unsigned long int v;
-
- while(isspace(*nptr)) nptr++;
-
- if (*nptr == '-' && isdigit(nptr[1])) { neg=-1; nptr++; }
- v=strtoul(nptr,endptr,base);
- return (neg?-v:v);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoll.c b/mdk-stage1/dietlibc/lib/strtoll.c
deleted file mode 100644
index 7b8e28a1d..000000000
--- a/mdk-stage1/dietlibc/lib/strtoll.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <ctype.h>
-
-extern unsigned long int strtoull(const char *nptr, char **endptr, int base);
-
-long int strtoll(const char *nptr, char **endptr, int base)
-{
- int neg=0;
- unsigned long long int v;
-
- while(isspace(*nptr)) nptr++;
-
- if (*nptr == '-' && isdigit(nptr[1])) { neg=-1; nptr++; }
- v=strtoull(nptr,endptr,base);
- return (neg?-v:v);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoul.c b/mdk-stage1/dietlibc/lib/strtoul.c
deleted file mode 100644
index 3f93962a9..000000000
--- a/mdk-stage1/dietlibc/lib/strtoul.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <ctype.h>
-
-/* static char *num="0123456789abcdefghijklmnopqrstuvwxyz"; */
-
-unsigned long int strtoul(const char *nptr, char **endptr, int base)
-{
- long int v=0;
-
- while(isspace(*nptr)) ++nptr;
-
- if (*nptr == '+') ++nptr;
- if (!base) {
- if (*nptr=='0') {
- base=8;
- if ((*(nptr+1)=='x')||(*(nptr+1)=='X')) {
- nptr+=2;
- base=16;
- }
- }
- else
- base=10;
- }
- while(*nptr) {
- register unsigned char c=*nptr;
- c=(c>='a'?c-'a'+10:c>='A'?c-'A'+10:c-'0');
- if (c>=base) break;
- v=v*base+c;
- ++nptr;
- }
- if (endptr) *endptr=(char *)nptr;
- return v;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoull.c b/mdk-stage1/dietlibc/lib/strtoull.c
deleted file mode 100644
index 40818958d..000000000
--- a/mdk-stage1/dietlibc/lib/strtoull.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <ctype.h>
-
-unsigned long long int strtoull(const char *nptr, char **endptr, int base)
-{
- long long int v=0;
-
- while(isspace(*nptr)) ++nptr;
-
- if (*nptr == '+') ++nptr;
- if (!base) {
- if (*nptr=='0') {
- base=8;
- if ((*(nptr+1)=='x')||(*(nptr+1)=='X')) {
- nptr+=2;
- base=16;
- }
- }
- else
- base=10;
- }
- while(*nptr) {
- register unsigned char c=*nptr;
- c=(c>='a'?c-'a'+10:c>='A'?c-'A'+10:c-'0');
- if (c>=base) break;
- v=v*base+c;
- ++nptr;
- }
- if (endptr) *endptr=(char *)nptr;
- return v;
-}
diff --git a/mdk-stage1/dietlibc/lib/sys_siglist.c b/mdk-stage1/dietlibc/lib/sys_siglist.c
deleted file mode 100644
index 80d7b3fb0..000000000
--- a/mdk-stage1/dietlibc/lib/sys_siglist.c
+++ /dev/null
@@ -1,37 +0,0 @@
-const char *const sys_siglist[] =
- {
- "Signal 0",
- "Hangup",
- "Interrupt",
- "Quit",
- "Illegal instruction",
- "Trace/breakpoint trap",
- "IOT trap",
- "EMT trap",
- "Floating point exception",
- "Killed",
- "Bus error",
- "Segmentation fault",
- "Bad system call",
- "Broken pipe",
- "Alarm clock",
- "Terminated",
- "Urgent I/O condition",
- "Stopped (signal)",
- "Stopped",
- "Continued",
- "Child exited",
- "Stopped (tty input)",
- "Stopped (tty output)",
- "I/O possible",
- "CPU time limit exceeded",
- "File size limit exceeded",
- "Virtual timer expired",
- "Profiling timer expired",
- "Window changed",
- "Resource lost",
- "User defined signal 1",
- "User defined signal 2",
- 0
- };
-
diff --git a/mdk-stage1/dietlibc/lib/tcdrain.c b/mdk-stage1/dietlibc/lib/tcdrain.c
deleted file mode 100644
index 7a760f643..000000000
--- a/mdk-stage1/dietlibc/lib/tcdrain.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/ioctl.h>
-
-int __libc_tcdrain(int fd)
-{
- return ioctl(fd, TCSBRK, 1);
-}
-
-int tcdrain(int fd) __attribute__((weak,alias("__libc_tcdrain")));
diff --git a/mdk-stage1/dietlibc/lib/tcflush.c b/mdk-stage1/dietlibc/lib/tcflush.c
deleted file mode 100644
index a19fe11d1..000000000
--- a/mdk-stage1/dietlibc/lib/tcflush.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <unistd.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-
-#include <asm/errno.h>
-
-extern int errno;
-
-/* Flush pending data on FD. */
-int tcflush(int fd, int queue_selector)
-{
- switch (queue_selector) {
- case TCIFLUSH:
- return ioctl(fd, TCFLSH, 0);
- case TCOFLUSH:
- return ioctl(fd, TCFLSH, 1);
- case TCIOFLUSH:
- return ioctl(fd, TCFLSH, 2);
- default:
- errno = EINVAL;
- return -1;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/tcgetattr.c b/mdk-stage1/dietlibc/lib/tcgetattr.c
deleted file mode 100644
index f35d39442..000000000
--- a/mdk-stage1/dietlibc/lib/tcgetattr.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcgetattr(int fildes, struct termios *termios_p)
-{
- return ioctl(fildes, TCGETS, termios_p);
-}
diff --git a/mdk-stage1/dietlibc/lib/tcgetpgrp.c b/mdk-stage1/dietlibc/lib/tcgetpgrp.c
deleted file mode 100644
index f2a290651..000000000
--- a/mdk-stage1/dietlibc/lib/tcgetpgrp.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcgetpgrp(int fildes)
-{
- return ioctl(fildes, TIOCGPGRP);
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsetattr.c b/mdk-stage1/dietlibc/lib/tcsetattr.c
deleted file mode 100644
index cf70354d2..000000000
--- a/mdk-stage1/dietlibc/lib/tcsetattr.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#define tcsetattr libc_tcsetattr
-#include <termios.h>
-#include <sys/ioctl.h>
-#undef tcsetattr
-
-#include <asm/errno.h>
-
-extern int errno;
-
-/* Hack around a kernel bug; value must correspond to the one used in speed.c */
-#define IBAUD0 020000000000
-
-int tcsetattr(int fildes, int optional_actions, struct termios *termios_p)
-{
- termios_p->c_iflag &= ~IBAUD0;
- switch (optional_actions) {
- case TCSANOW:
- return ioctl(fildes, TCSETS, termios_p);
- case TCSADRAIN:
- return ioctl(fildes, TCSETSW, termios_p);
- case TCSAFLUSH:
- return ioctl(fildes, TCSETSF, termios_p);
- default:
- errno = EINVAL;
- return -1;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsetpgrp.c b/mdk-stage1/dietlibc/lib/tcsetpgrp.c
deleted file mode 100644
index 6c40b5c79..000000000
--- a/mdk-stage1/dietlibc/lib/tcsetpgrp.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcsetpgrp(int fildes, pid_t pgrpid)
-{
- return ioctl(fildes, TIOCSPGRP, &pgrpid);
-}
diff --git a/mdk-stage1/dietlibc/lib/telldir.c b/mdk-stage1/dietlibc/lib/telldir.c
deleted file mode 100644
index 58be5d034..000000000
--- a/mdk-stage1/dietlibc/lib/telldir.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-
-off_t telldir(DIR *d) {
- return lseek(d->fd,0,SEEK_CUR)-d->num+d->cur;
-}
diff --git a/mdk-stage1/dietlibc/lib/tolower.c b/mdk-stage1/dietlibc/lib/tolower.c
deleted file mode 100644
index 4b7c7cf2d..000000000
--- a/mdk-stage1/dietlibc/lib/tolower.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-inline int tolower(int c) {
- return (c>='A' && c<='Z')?c-'A'+'a':c;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/toupper.c b/mdk-stage1/dietlibc/lib/toupper.c
deleted file mode 100644
index c048e60bb..000000000
--- a/mdk-stage1/dietlibc/lib/toupper.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-inline int toupper(int c) {
- return (c>='a' && c<='z')?c-'a'+'A':c;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/ttyname.c b/mdk-stage1/dietlibc/lib/ttyname.c
deleted file mode 100644
index a6b479088..000000000
--- a/mdk-stage1/dietlibc/lib/ttyname.c
+++ /dev/null
@@ -1,59 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <sys/stat.h>
-
-#ifdef __linux__
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-
-char *ttyname(int fd) {
-#ifdef SLASH_PROC_OK
- char ibuf[20];
- static char obuf[20];
- strcpy(ibuf,"/proc/self/fd/");
- ibuf[__ltostr(ibuf+14,6,fd,10,0)+14]=0;
- if (readlink(ibuf,obuf,sizeof(obuf)-1)<0) return 0;
- return obuf;
-#else
- static char buf[20]="/dev/tty";
- struct stat s;
- char *c=buf+8;
- int n;
- if (fstat(fd,&s)) return 0;
- if (S_ISCHR(s.st_mode)) {
- n=minor(s.st_rdev);
- switch (major(s.st_rdev)) {
- case 4:
- buf[5]='t'; buf[7]='y';
- if (n>63) {
- n-=64;
- *c='S';
- ++c;
- }
-num:
- c[__ltostr(c,6,n,10,0)]=0;
- break;
- case 2:
- buf[5]='p'; buf[7]='y';
- buf[8]='p'-(n>>4);
- buf[9]=n%4+'0';
- if (buf[9]>'9') *c+='a'-'0';
- buf[10]=0;
- case 136:
- case 137:
- case 138:
- case 139:
- buf[5]='p'; buf[7]='s';
- n+=(major(s.st_rdev)-136)<<8;
- *c='/'; ++c;
- goto num;
- default:
- return 0;
- }
- return buf;
- }
- return 0;
-#endif
-}
-
-#endif
diff --git a/mdk-stage1/dietlibc/lib/usleep.c b/mdk-stage1/dietlibc/lib/usleep.c
deleted file mode 100644
index 494f99233..000000000
--- a/mdk-stage1/dietlibc/lib/usleep.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linux/time.h>
-#include <time.h>
-
-/* nano * 1000 == usecs
- * usecs * 1000 == msecs
- * msecs * 1000 = secs */
-void usleep(unsigned int usecs) {
- struct timespec t;
- t.tv_sec=usecs/1000000;
- t.tv_nsec=(usecs%1000000)*1000;
- nanosleep(&t,&t);
-}
diff --git a/mdk-stage1/dietlibc/lib/vfork.c b/mdk-stage1/dietlibc/lib/vfork.c
deleted file mode 100644
index 795cddb05..000000000
--- a/mdk-stage1/dietlibc/lib/vfork.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <linux/types.h>
-#include <unistd.h>
-
-pid_t vfork(void) {
- return fork();
-}
diff --git a/mdk-stage1/dietlibc/lib/vfprintf.c b/mdk-stage1/dietlibc/lib/vfprintf.c
deleted file mode 100644
index c33a2404b..000000000
--- a/mdk-stage1/dietlibc/lib/vfprintf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "dietstdarg.h"
-
-int vfprintf(FILE *fstream, const char *format, va_list ap)
-{
- char *tmp;
- va_list cp_ap;
- size_t n = 0;
-
- va_copy(cp_ap, ap);
- n=vsnprintf(0, 1000000, format, cp_ap);
- tmp=alloca(n+2);
- vsnprintf(tmp, n+1, format, ap);
- fwrite(tmp, n,1, fstream);
- return n;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/vprintf.c b/mdk-stage1/dietlibc/lib/vprintf.c
deleted file mode 100644
index 46ecc47a4..000000000
--- a/mdk-stage1/dietlibc/lib/vprintf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int vprintf(const char *format, va_list ap)
-{
- char tmp[1000000];
- size_t n = vsnprintf(tmp, sizeof(tmp), format, ap);
- write(1, tmp, n);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/vsnprintf.c b/mdk-stage1/dietlibc/lib/vsnprintf.c
deleted file mode 100644
index f425066e3..000000000
--- a/mdk-stage1/dietlibc/lib/vsnprintf.c
+++ /dev/null
@@ -1,238 +0,0 @@
-#include "dietfeatures.h"
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-#include "dietwarning.h"
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-extern int __dtostr(double d,char *buf,int maxlen,int prec);
-
-int vsnprintf (char *str, size_t size, const char *format, va_list arg_ptr)
-{
- size_t apos,i;
- char ch,buf[1024];
- char *pb;
- char flag_in_sign;
- char flag_hash,flag_zero,flag_left,flag_space,flag_sign,flag_dot,flag_long;
- long number,width,preci,buf_len,pad;
- char padwith;
-
- size--;
-
- apos=0;
- while (apos<size)
- {
- ch=*format++;
- switch (ch)
- {
- case '%':
- flag_hash=0;
- flag_zero=0;
- flag_left=0;
- flag_space=0;
- flag_sign=0;
- flag_dot=0;
- flag_in_sign=0;
- flag_long=0;
-
- width=0;
- padwith=' ';
-
-inn_vsnprintf:
- if (apos>=size) continue; /* ARGL !!! */
-
- ch=*format++;
- switch (ch)
- {
-/* Format end ?!? */
- case 0:
- return -1;
- break;
-
-/* Format flag chars */
- case '#':
- flag_hash=1;
- goto inn_vsnprintf;
-
- case 'l':
- ++flag_long;
- goto inn_vsnprintf;
-
- case '0':
- padwith='0';
- goto inn_vsnprintf;
-
- case '-':
- flag_left=1;
- goto inn_vsnprintf;
-
- case ' ':
- flag_space=1;
- goto inn_vsnprintf;
-
- case '+':
- flag_sign=1;
- goto inn_vsnprintf;
-
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if(flag_dot) return -1;
- width=strtol(--format,&pb,10);
- format=pb;
- goto inn_vsnprintf;
-
- case '*':
- width=va_arg(arg_ptr,int);
- goto inn_vsnprintf;
-
- case '.':
- flag_dot=1;
- if (*format=='*') {
- preci=va_arg(arg_ptr,int);
- ++format;
- } else {
- preci=strtol(format,&pb,10);
- format=pb;
- }
- goto inn_vsnprintf;
-
-/* Format conversion chars */
- case 'c':
- ch=(char)va_arg(arg_ptr,int);
- case '%':
- if (str) str[apos]=ch; ++apos;
- break;
-
- case 's':
- pb=va_arg(arg_ptr,char *);
-#ifdef WANT_NULL_PRINTF
- if (!pb) pb="(null)";
-#endif
- buf_len=strlen(pb);
- if (flag_dot && buf_len>preci) buf_len=preci;
- if (buf_len>size-apos) buf_len=size-apos;
-
-print_out:
- if (str) {
- if (width && (!flag_left))
- {
- for (pad=width-buf_len; pad>0; --pad) str[apos++]=padwith;
- }
- for(i=0;i<buf_len;++i) { str[apos++]=pb[i]; } /* strncpy */
- if (width && (flag_left))
- {
- for (pad=width-buf_len; pad>0; --pad) str[apos++]=padwith;
- }
- } else {
- if (width) {
- apos+=width>buf_len?width:buf_len;
- } else {
- apos+=size>buf_len?buf_len:size;
- }
- }
-
- break;
-
- /* Numbers */
- case 'b':
- i=2;
- goto num_vsnprintf;
- case 'p':
- flag_hash=1;
- width=sizeof(void *)<<1;
- padwith='0';
- ch='x';
- case 'X':
- case 'x':
- i=16;
- if (flag_hash)
- {
- if (str) {
- str[apos++]='0';
- str[apos++]=ch;
- } else
- apos+=2;
- }
- goto num_vsnprintf;
- case 'd':
- case 'i':
- flag_in_sign=1;
- case 'u':
- i=10;
- goto num_vsnprintf;
- case 'o':
- i=8;
- if (flag_hash) { if (str) str[apos]='0'; ++apos; }
-
-num_vsnprintf:
- if (apos>=size) continue; /* ARGL !!! */
-
- if (flag_long)
- number=va_arg(arg_ptr,long);
- else
- number=va_arg(arg_ptr,int);
-
- if (flag_in_sign && (number<0))
- {
- number*=-1;
- flag_in_sign=2;
- }
-
- buf_len=__ltostr(buf+1,sizeof(buf)-1,(unsigned long) number,i,0);
- pb=buf+1;
-
- if (flag_in_sign==2)
- {
- *(--pb)='-';
- buf_len++;
- }
- else if ((flag_in_sign)&&(flag_sign || flag_space))
- {
- *(--pb)=(flag_sign)?'+':' ';
- buf_len++;
- }
- goto print_out;
-
-#ifdef WANT_FLOATING_POINT_IN_PRINTF
- case 'f':
- case 'g':
- {
- double d=va_arg(arg_ptr,double);
- buf_len=__dtostr(d,buf,sizeof(buf),width?width:6);
- if (flag_dot) {
- char *tmp;
- if ((tmp=strchr(buf,'.'))) {
- while (preci>-1 && *++tmp) --preci;
- *tmp=0;
- }
- }
- pb=buf;
- goto print_out;
- }
-#endif
- default:
- break;
- }
- break;
- case 0:
- if (str) str[apos]=0;
- return apos;
- default:
- if (str) str[apos]=ch; apos++;
- break;
- }
- }
- if (str) str[apos]=0;
- return apos;
-}
-
-link_warning("vsnprintf","warning: the printf functions add several kilobytes of bloat.")
-
diff --git a/mdk-stage1/dietlibc/lib/vsprintf.c b/mdk-stage1/dietlibc/lib/vsprintf.c
deleted file mode 100644
index 10ff04bd7..000000000
--- a/mdk-stage1/dietlibc/lib/vsprintf.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <stdlib.h>
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int vsprintf(char *dest,const char *format, va_list arg_ptr)
-{
- return vsnprintf(dest,1000000,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/lib/vsscanf.c b/mdk-stage1/dietlibc/lib/vsscanf.c
deleted file mode 100644
index 1c4c9b787..000000000
--- a/mdk-stage1/dietlibc/lib/vsscanf.c
+++ /dev/null
@@ -1,304 +0,0 @@
-#include "dietfeatures.h"
-#include <stdarg.h>
-#include <sys/types.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-
-const char *skip_ws(const char *str)
-{
- while ((*str)&&(isspace(*str))) str++;
- return str;
-}
-
-extern double strtod(const char *s,char **f);
-
-int vsscanf(const char *str, const char *format, va_list arg_ptr)
-{
- int n=0,div;
- unsigned char ch;
-
- char flag_discard, flag_malloc, flag_half, flag_long, flag_longlong;
- char flag_width;
-
- unsigned long width;
-
- /* arg_ptr tmps */
-#ifdef WANT_FLOATING_POINT_IN_SCANF
- double d,*pd;
- float *pf;
-#endif
-
- long l=0,*pl;
- short *ph;
- int *pi;
- char *s;
-
- while ((*str)&&(*format))
- {
- const char *prevfmt=format;
- format=skip_ws(format);
- ch=*format++;
- if (!ch) continue;
-
- switch (ch)
- {
- case '%':
- div=0;
- flag_discard=0;
- flag_malloc=0;
- flag_half=0;
- flag_long=0;
- flag_longlong=0;
-
- flag_width=0;
- width=-1;
-
-inn_vsscanf:
- ch=*format++;
-
- switch (ch)
- {
- case 0:
- return 0;
-
- case '%':
- if (*(str++)!=ch) return n;
- break;
-
- /* flags */
- case '*':
- flag_discard=1;
- goto inn_vsscanf;
-
- case 'a':
- flag_malloc=1;
- goto inn_vsscanf;
-
- case 'h':
- flag_half=1;
- goto inn_vsscanf;
-
- case 'l':
- if (flag_long) flag_longlong=1;
- flag_long=1;
- goto inn_vsscanf;
-
- /* longlong ? NOT YET ! */
- case 'q':
- case 'L':
- flag_longlong=1;
- goto inn_vsscanf;
-
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- width=strtol(format-1,&s,10);
- format=s;
- flag_width=1;
- goto inn_vsscanf;
-
- /* conversion */
-
- case 'n':
- while (width && *str)
- {
- *(s++)=*(str++);
- --width;
- l++;
- }
- if (!flag_discard)
- {
- pl=(long *)va_arg(arg_ptr,long*);
- *pl=l;
- ++n;
- }
- break;
-
- case 'p':
- case 'X':
- case 'x':
- div+=6;
- case 'd':
- div+=2;
- case 'o':
- div+=8;
- case 'u':
- case 'i':
- if (*(str=skip_ws(str)))
- {
- l=strtol(str,&s,div);
- if (str!=s)
- {
- if (!flag_discard)
- {
- if (flag_long)
- {
- pl=(long *)va_arg(arg_ptr,long*);
- *pl=l;
- }
- else if (flag_half)
- {
- ph=(short *)va_arg(arg_ptr,short*);
- *ph=l;
- }
- else
- {
- pi=(int *)va_arg(arg_ptr,int*);
- *pi=l;
- }
- ++n;
- }
- str=s;
- }
- else
- return n;
- }
- break;
-
-#ifdef WANT_FLOATING_POINT_IN_SCANF
- case 'e':
- case 'E':
- case 'f':
- case 'g':
- if (*(str=skip_ws(str)))
- {
- d=strtod(str,&s);
- if (str!=s)
- {
- if (!flag_discard)
- {
- if (flag_long)
- {
- pd=(double *)va_arg(arg_ptr,double*);
- *pd=d;
- }
- else
- {
- pf=(float *)va_arg(arg_ptr,float*);
- *pf=d;
- }
- ++n;
- }
- str=s;
- }
- else
- return n;
- }
- break;
-#endif
-
- case 'c':
- if (!flag_discard)
- {
- s=(char *)va_arg(arg_ptr,char*);
- ++n;
- }
- if (!flag_width) width=1;
- while (width && *str)
- {
- if (!flag_discard) *(s++)=*(str);
- ++str;
- --width;
- }
- break;
-
- case 's':
- if (!flag_discard)
- {
- s=(char *)va_arg(arg_ptr,char*);
- ++n;
- }
- if (*(str=skip_ws(str)))
- {
- while (width && (!isspace(*str)))
- {
- if (!flag_discard) *(s++)=*(str);
- if (!*str) break;
- ++str;
- --width;
- }
- *s=0;
- }
- break;
-
-#ifdef WANT_CHARACTER_CLASSES_IN_SCANF
- case '[':
- {
- char cset[256];
- int flag_not=0;
- int flag_dash=0;
- memset(cset,0,sizeof(cset));
- ch=*format++;
-
- /* first char specials */
- if (ch=='^')
- {
- flag_not=1;
- ch=*format++;
- }
- if ((ch=='-')||(ch==']'))
- {
- cset[ch]=1;
- ch=*format++;
- }
-
- /* almost all non special chars */
- for (;(*format) && (*format!=']');++format) {
- if (flag_dash)
- {
- register unsigned char tmp=*format;
- for (;ch<=tmp;++ch) cset[ch]=1;
- flag_dash=0;
- ch=*(++format);
- }
- else if (*format=='-') flag_dash=1;
- else
- {
- cset[ch]=1;
- ch=*format;
- }
- }
-
- /* last char specials */
- if (flag_dash) cset['-']=1;
- else cset[ch]=1;
-
- /* like %c or %s */
- if (!flag_discard)
- {
- s=(char *)va_arg(arg_ptr,char*);
- ++n;
- }
- while (width && (cset[(unsigned char)(*str)]-flag_not))
- {
- if (!flag_discard) *(s++)=*(str);
- if (!*str) break;
- ++str;
- --width;
- }
- }
- break;
-#endif
- }
- break;
-
- default:
- if (prevfmt<format) {
- while (prevfmt<format) {
- if (*str!=*prevfmt) return n;
- ++str; ++prevfmt;
- }
- } else
- if (*(str++)!=ch) return n;
- break;
- }
- }
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/wait.c b/mdk-stage1/dietlibc/lib/wait.c
deleted file mode 100644
index 8459af18c..000000000
--- a/mdk-stage1/dietlibc/lib/wait.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/types.h>
-#include <sys/wait.h>
-
-pid_t wait(int *status) {
- return waitpid(-1,status,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/wait3.c b/mdk-stage1/dietlibc/lib/wait3.c
deleted file mode 100644
index 19e90740c..000000000
--- a/mdk-stage1/dietlibc/lib/wait3.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <sys/wait.h>
-
-int wait3(int* status,int opts,struct rusage* rusage) {
- return wait4(-1,status,opts,rusage);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/___div.c b/mdk-stage1/dietlibc/libcruft/___div.c
deleted file mode 100644
index d359dc47b..000000000
--- a/mdk-stage1/dietlibc/libcruft/___div.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "dietwarning.h"
-#include <stdlib.h>
-
-div_t div(int numer, int denom) {
- div_t temp;
- temp.quot=numer/denom;
- temp.rem=numer%denom;
- return temp;
-}
-
-link_warning("div","warning: your code uses div(), which is completely superfluous!");
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft.c b/mdk-stage1/dietlibc/libcruft/dnscruft.c
deleted file mode 100644
index d7a0efa50..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <arpa/inet.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-int __dns_fd=-1;
-
-void __dns_make_fd() {
- int tmp;
- struct sockaddr_in si;
- if (__dns_fd>0) return;
- tmp=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
- if (tmp<0) {
- perror("__dns_make_fd!socket");
- return;
- }
- si.sin_family=AF_INET;
- si.sin_port=0;
- si.sin_addr.s_addr=INADDR_ANY;
- if (bind(tmp,(struct sockaddr*)&si,sizeof(si))) {
- perror("__dns_make_fd!bind");
- return;
- }
- __dns_fd=tmp;
-}
-
-int __dns_servers=0;
-struct sockaddr __dns_server_ips[8];
-
-int __dns_search=0;
-char *__dns_domains[8];
-
-void __dns_readstartfiles() {
- int fd;
- char *buf=alloca(4096);
- int len;
- if (__dns_servers>0) return;
- {
- struct sockaddr_in to;
- char *cacheip=getenv("DNSCACHEIP");
- if (cacheip) {
- to.sin_port=htons(53);
- to.sin_family=AF_INET;
- if (inet_aton(cacheip,&to.sin_addr)) {
- memmove(__dns_server_ips,&to,sizeof(struct sockaddr));
- ++__dns_servers;
- }
- }
- }
- if ((fd=open("/etc/resolv.conf",O_RDONLY))<0) return;
- len=read(fd,buf,4096);
- close(fd);
- {
- char *last=buf+len;
- for (; buf<last;) {
- if (!strncmp(buf,"nameserver",10)) {
- buf+=10;
- while (buf<last && *buf!='\n') {
- while (buf<last && isblank(*buf)) ++buf;
- {
- char *tmp=buf;
- struct sockaddr_in i;
- while (buf<last && !isspace(*buf)) ++buf;
- if (buf>=last) break;
- *buf=0;
- if (inet_aton(tmp,&i.sin_addr)) {
- i.sin_family=AF_INET;
- i.sin_port=htons(53);
- memmove(&__dns_server_ips[__dns_servers],&i,sizeof(struct sockaddr));
- if (__dns_servers<8) ++__dns_servers;
- }
- }
- }
- }
- if (!strncmp(buf,"search",6) || !strncmp(buf,"domain",6)) {
- buf+=6;
- }
- while (buf<last && *buf!='\n') ++buf;
- while (buf<last && *buf=='\n') ++buf;
- }
- }
-}
-
-/* return length of decoded data or -1 */
-int __dns_decodename(unsigned char *packet,int offset,unsigned char *dest,int maxlen) {
- unsigned char *tmp;
- unsigned char *max=dest+maxlen;
- unsigned char *after=packet+offset;
- int ok=0;
- for (tmp=after; maxlen>0&&*tmp; ) {
- if ((*tmp>>6)==3) { /* goofy DNS decompression */
- unsigned int ofs=((unsigned int)(*tmp&0x3f)<<8)|*(tmp+1);
- if (ofs>=offset) return -1; /* RFC1035: "pointer to a _prior_ occurrance" */
- if (after<tmp+2) after=tmp+2;
- tmp=packet+ofs;
- ok=0;
- } else {
- unsigned int duh;
- if (dest+*tmp+1>max) return -1;
- for (duh=*tmp; duh>0; --duh)
- *dest++=*++tmp;
- *dest++='.'; ok=1;
- ++tmp;
- if (tmp>after) { after=tmp; if (!*tmp) ++after; }
- }
- }
- if (ok) --dest;
- *dest=0;
- return after-packet;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft2.c b/mdk-stage1/dietlibc/libcruft/dnscruft2.c
deleted file mode 100644
index b59207072..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft2.c
+++ /dev/null
@@ -1,185 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <stdio.h>
-
-extern int h_errno;
-
-static char dnspacket[]="\xfe\xfe\001\000\000\001\000\000\000\000\000\000";
-
-extern void __dns_make_fd();
-extern int __dns_fd;
-
-extern int __dns_servers;
-extern struct sockaddr __dns_server_ips[];
-
-extern void __dns_readstartfiles();
-
-extern int __dns_decodename(unsigned char *packet,int offset,unsigned char *dest,int maxlen);
-
-/* Oh boy, this interface sucks so badly, there are no words for it.
- * Not one, not two, but _three_ error signalling methods! (*h_errnop
- * nonzero? return value nonzero? *RESULT zero?) The glibc goons
- * really outdid themselves with this one. */
-int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor) {
- int names,ips;
- unsigned char *cur;
- unsigned char *max;
- unsigned char packet[512];
- __dns_make_fd();
-
- if (lookfor==1) {
- result->h_aliases=(char**)(buf+8*4);
- result->h_addrtype=AF_INET;
- result->h_length=4;
- result->h_addr_list=(char**)buf;
- } else {
- result->h_aliases=(char**)(buf+8*16);
- result->h_addrtype=AF_INET6;
- result->h_length=16;
- result->h_addr_list=(char**)buf;
- }
- result->h_aliases[0]=0;
-
- cur=buf+16*sizeof(char*);
- max=buf+buflen;
- names=ips=0;
-
- memmove(packet,dnspacket,12);
- *(unsigned short*)packet=rand();
- {
- unsigned char* x;
- const char* y,* tmp;
- x=packet+12; y=name;
- while (*y) {
- while (*y=='.') ++y;
- for (tmp=y; *tmp && *tmp!='.'; ++tmp) ;
- *x=tmp-y;
- if (!(tmp-y)) break;
- ++x;
- if (x>=packet+510-(tmp-y)) { *h_errnop=ERANGE; return 1; }
- memmove(x,y,tmp-y);
- x+=tmp-y;
- if (!*tmp) {
- *x=0;
- break;
- }
- y=tmp;
- }
- *++x= 0; *++x= lookfor; /* A */
- *++x= 0; *++x= 1; /* IN */
- ++x;
- {
- int i; /* current server */
- int j; /* timeout count down */
- struct pollfd duh;
- i=0; j=30;
- __dns_readstartfiles();
- duh.fd=__dns_fd;
- duh.events=POLLIN;
- for (j=30; j>0; --j) {
- sendto(__dns_fd,packet,x-packet,0,(struct sockaddr*)&(__dns_server_ips[i]),sizeof(struct sockaddr));
- if (++i > __dns_servers) i=0;
- if (poll(&duh,1,1) == 1) {
- /* read and parse answer */
- unsigned char inpkg[1500];
- /*int len=*/ read(__dns_fd,inpkg,1500);
-#if 0
- {
- int tft=open("duh",0);
- read(tft,inpkg,1500);
- close(tft);
- }
-#endif
- /* header, question, answer, authority, additional */
- if (inpkg[0]!=packet[0] || inpkg[1]!=packet[1]) continue; /* wrong ID */
- if ((inpkg[2]&0xf9) != 0x81) continue; /* not answer */
- if ((inpkg[3]&0x0f) != 0) break; /* error */
- tmp=inpkg+12;
- {
- char name[257];
- unsigned short q=((unsigned short)inpkg[4]<<8)+inpkg[5];
- while (q>0) {
- while (*tmp) tmp+=*tmp+1;
- tmp+=5;
- --q;
- }
- q=((unsigned short)inpkg[6]<<8)+inpkg[7];
- if (q<1) break;
- while (q>0) {
- int decofs=__dns_decodename(inpkg,tmp-(char*)inpkg,name,256);
- if (decofs<0) break;
- tmp=inpkg+decofs;
- --q;
- if (tmp[0]!=0 || tmp[1]!=lookfor || /* TYPE != A */
- tmp[2]!=0 || tmp[3]!=1) { /* CLASS != IN */
- if (tmp[1]==5) { /* CNAME */
- tmp+=10;
- decofs=__dns_decodename(inpkg,tmp-(char*)inpkg,name,256);
- if (decofs<0) break;
- tmp=inpkg+decofs;
- } else
- break;
- continue;
- }
- tmp+=10; /* skip type, class, TTL and length */
- {
- int slen;
- if (lookfor==1 || lookfor==28) /* A or AAAA*/ {
- slen=strlen(name);
- if (cur+slen+8+(lookfor==28?12:0)>=max) { *h_errnop=NO_RECOVERY; return 1; }
- } else if (lookfor==12) /* PTR */ {
- decofs=__dns_decodename(inpkg,tmp-(char*)inpkg,name,256);
- if (decofs<0) break;
- tmp=inpkg+decofs;
- slen=strlen(name);
- } else
- slen=strlen(name);
- strcpy(cur,name);
- if (names==0)
- result->h_name=cur;
- else
- result->h_aliases[names-1]=cur;
- result->h_aliases[names]=0;
- ++names;
-/* cur+=slen+1; */
- cur+=(slen|3)+1;
- result->h_addr_list[ips++] = cur;
- if (lookfor==1) /* A */ {
- *(int*)cur=*(int*)tmp;
- cur+=4;
- result->h_addr_list[ips]=0;
- } else if (lookfor==28) /* AAAA */ {
- {
- int i;
- for (i=0; i<16; ++i) cur[i]=tmp[i];
- }
- cur+=16;
- result->h_addr_list[ips]=0;
- }
- }
-/* puts(name); */
- }
- }
-/* printf("%d answers\n",((unsigned short)inpkg[6]<<8)+inpkg[7]);
- printf("ok\n");*/
- *h_errnop=0;
- *RESULT=result;
- return 0;
- }
-/*kaputt:*/
- }
- }
- }
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/entlib.c b/mdk-stage1/dietlibc/libcruft/entlib.c
deleted file mode 100644
index f88b3f057..000000000
--- a/mdk-stage1/dietlibc/libcruft/entlib.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * dietlibc/lib/entlib.c - Generic delimited-line parsing library
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-
-#include "entlib.h" /* this is our only include */
-
-
-/*
- * __ent_start
- *
- * Allocates and zeroes the module's state structure,
- * and open a handle to /etc/passwd.
- *
- * Returns -1 on failure and sets errno, or zero for success.
- */
-
-int __ent_start(const char *pathname, struct __ent_state **st_ref)
-{
- struct __ent_state *st;
-
- if (*st_ref)
- return 0;
-
- st = calloc(1, sizeof(*st));
- if (!st) {
- errno = ENOMEM;
- return -1;
- }
-
- st->fd = open(pathname, O_RDONLY);
- if (st->fd == -1) {
- /* errno should have been set by open(2) */
- free(st);
- st = NULL;
- return -1;
- }
-
- *st_ref = st;
- return 0;
-}
-
-
-/*
- * __ent_get_line
- *
- * Eliminates a previous line from the buffer, if any.
- * Then reads in a new line from /etc/passwd, if necessary.
- *
- * Returns -1 on failure, or zero for success.
- */
-
-int __ent_get_line(struct __ent_state *st)
-{
- int rc;
-
- /* overwrite previous line, by shifting the rest
- * of the rest to the front of the buffer
- */
- if (st->bufptr) {
- unsigned int slop = st->buflen - st->bufptr;
- memmove(st->ent_buf, &st->ent_buf[st->bufptr], slop);
- st->bufptr = 0;
- st->buflen = slop;
- st->ent_buf[st->buflen] = 0; /* null terminate */
- }
-
- if (st->buflen == __ENT_BUFSIZ || strchr(st->ent_buf, '\n'))
- return 0;
-
- rc = read(st->fd, &st->ent_buf[st->buflen], __ENT_BUFSIZ - st->buflen);
- if (rc < 0)
- return -1;
-
- st->buflen += rc;
- if (st->buflen == 0)
- return -1;
-
- return 0;
-}
-
-
-/*
- * __ent_split
- *
- * Splits a string into parts based on a delimiter.
- * Stops processing when \n is reached also.
- *
- * Returns -1 on failure, or zero on success.
- */
-
-int __ent_split(struct __ent_state *st, char **parts,
- int n_parts, int delimiter, int require_exact)
-{
- char *s = &st->ent_buf[st->bufptr];
- int idx = 0;
-
- /* empty list */
- if (!*s) {
- if (!require_exact)
- return 0;
- return -1;
- }
-
- /* scan through string, sticking string pointers
- * into parts[] as delimiters are found
- */
- parts[idx++] = s;
- while (*s) {
- st->bufptr++;
- if (*s == '\n') {
- *s = 0; /* null terminate */
- break;
- }
- if (*s == delimiter) {
- *s = 0; /* null terminate */
- /* boundary error: too many delimiters */
- if (idx == n_parts)
- return -1;
- s++;
- parts[idx++] = s;
- } else {
- s++;
- }
- }
-
- if (!require_exact)
- return 0;
- return (n_parts == idx) ? 0 : -1;
-}
-
-
-void __ent_set(struct __ent_state *st)
-{
- if (!st)
- return;
- st->buflen = st->bufptr = 0;
- lseek(st->fd, 0, SEEK_SET);
-}
-
-
-void __ent_end(struct __ent_state *st)
-{
- if (!st)
- return;
- close(st->fd);
- free(st);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/entlib.h b/mdk-stage1/dietlibc/libcruft/entlib.h
deleted file mode 100644
index 2659d542e..000000000
--- a/mdk-stage1/dietlibc/libcruft/entlib.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * dietlibc/lib/entlib.h - Generic delimited-line parsing library header
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-#ifndef __ENTLIB_H
-#define __ENTLIB_H
-
-#include <sys/types.h> /* for open(2), lseek(2) */
-#include <sys/stat.h> /* for open(2) */
-#include <fcntl.h> /* for open(2) */
-#include <unistd.h> /* for close(2), lseek(2) */
-#include <stdlib.h> /* for calloc(3), free(3) */
-#include <errno.h> /* for errno */
-#include <string.h> /* for memmove(3) */
-#include <stdlib.h> /* for atoi(3) */
-#include <paths.h> /* for the file locations */
-
-#include <pwd.h> /* for struct passwd */
-#include <grp.h> /* for struct group */
-#include <shadow.h> /* for struct spwd */
-
-/* should be a multiple of 64 to create decent alignment */
-#define __ENT_BUFSIZ (64 * 2)
-#define __ENT_RAW_BUFSIZ (__ENT_BUFSIZ + 2) /* some overlap required */
-
-struct __ent_state {
- char ent_buf[__ENT_RAW_BUFSIZ]; /* raw file data buffer */
- unsigned int buflen; /* amount of valid data in ent_buf */
- unsigned int bufptr; /* next valid position in ent_buf */
- int fd; /* /etc/passwd file descriptor */
-};
-
-extern int __ent_start(const char *pathname, struct __ent_state **st_ref);
-extern int __ent_get_line(struct __ent_state *st);
-extern int __ent_split(struct __ent_state *st, char **parts, int n_parts, int delimiter, int require_exact);
-extern void __ent_set(struct __ent_state *st);
-extern void __ent_end(struct __ent_state *st);
-
-#endif /* __ENTLIB_H */
diff --git a/mdk-stage1/dietlibc/libcruft/getdtablesize.c b/mdk-stage1/dietlibc/libcruft/getdtablesize.c
deleted file mode 100644
index 227354714..000000000
--- a/mdk-stage1/dietlibc/libcruft/getdtablesize.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <unistd.h>
-#include <limits.h>
-
-int getdtablesize(void) {
- return OPEN_MAX;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrgid.c b/mdk-stage1/dietlibc/libcruft/getgrgid.c
deleted file mode 100644
index 0c223056c..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrgid.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <grp.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct group *getgrgid(gid_t gid) {
- struct group *tmp;
- setgrent();
- for (;;) {
- tmp=getgrent();
- if (!tmp) return 0;
- if (tmp->gr_gid == gid)
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam.c b/mdk-stage1/dietlibc/libcruft/getgrnam.c
deleted file mode 100644
index 1bdbb42a8..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrnam.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <grp.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct group *getgrnam(const char* name) {
- struct group *tmp;
- setgrent();
- for (;;) {
- tmp=getgrent();
- if (!tmp) return 0;
- if (!strcmp(tmp->gr_name,name))
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c
deleted file mode 100644
index a4207d44d..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-
-extern int h_errno;
-
-struct hostent* gethostbyaddr(const void *addr, socklen_t len, int type) {
- static struct hostent hostbuf;
- struct hostent *hp;
- size_t hstbuflen;
- char *tmphstbuf;
- int res;
- int herr;
-
- hstbuflen = 1024;
- /* Allocate buffer, remember to free it to avoid a memory leakage. */
- tmphstbuf = malloc (hstbuflen);
-
- while ((res = gethostbyaddr_r (addr, len, type, &hostbuf, tmphstbuf, hstbuflen,
- &hp, &herr)) == ERANGE)
- {
- /* Enlarge the buffer. */
- hstbuflen *= 2;
- tmphstbuf = realloc (tmphstbuf, hstbuflen);
- }
- /* Check for errors. */
- if (res || hp == NULL)
- return NULL;
- return hp;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c
deleted file mode 100644
index 37174ab13..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <stdio.h>
-
-extern int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
-
-static int i2a(char* dest,unsigned int x) {
- register unsigned int tmp=x;
- register int len=0;
- if (x>=100) { *dest++=tmp/100+'0'; tmp=tmp%100; ++len; }
- if (x>=10) { *dest++=tmp/10+'0'; tmp=tmp%10; ++len; }
- *dest++=tmp+'0';
- return len+1;
-}
-
-/* Oh boy, this interface sucks so badly, there are no words for it.
- * Not one, not two, but _three_ error signalling methods! (*h_errnop
- * nonzero? return value nonzero? *RESULT zero?) The glibc goons
- * really outdid themselves with this one. */
-int gethostbyaddr_r(const char* addr, size_t length, int format,
- struct hostent* result, char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) {
- if (format==AF_INET) {
- char tmpbuf[50];
- char *tmp;
- int res;
- tmp=tmpbuf+i2a(tmpbuf,(unsigned char)addr[3]); *tmp++='.';
- tmp+=i2a(tmp,(unsigned char)addr[2]); *tmp++='.';
- tmp+=i2a(tmp,(unsigned char)addr[1]); *tmp++='.';
- tmp+=i2a(tmp,(unsigned char)addr[0]); strcpy(tmp,".in-addr.arpa");
- res= __dns_gethostbyx_r(tmpbuf,result,buf+4,buflen-4,RESULT,h_errnop,12); /* 12 == ns_t_ptr */
- if (res==0) {
- result->h_addr_list[0]=buf;
- result->h_addr_list[1]=buf;
- *(int*)buf=*(int*)addr;
- }
- return res;
- }
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname.c b/mdk-stage1/dietlibc/libcruft/gethostbyname.c
deleted file mode 100644
index 5db5bf3c5..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-
-extern int h_errno;
-
-struct hostent* gethostbyname (const char *host)
-{
- static struct hostent hostbuf;
- struct hostent *hp;
- size_t hstbuflen;
- char *tmphstbuf;
- int res;
- int herr;
-
- hstbuflen = 1024;
- /* Allocate buffer, remember to free it to avoid a memory leakage. */
- tmphstbuf = malloc (hstbuflen);
-
- while ((res = gethostbyname_r (host, &hostbuf, tmphstbuf, hstbuflen,
- &hp, &herr)) == ERANGE)
- {
- /* Enlarge the buffer. */
- hstbuflen *= 2;
- tmphstbuf = realloc (tmphstbuf, hstbuflen);
- }
- /* Check for errors. */
- if (res || hp == NULL)
- return NULL;
- return hp;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2.c
deleted file mode 100644
index 3d8296616..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-
-extern int h_errno;
-
-struct hostent* gethostbyname2(const char *host,int AF)
-{
- static struct hostent hostbuf;
- struct hostent *hp;
- size_t hstbuflen;
- char *tmphstbuf;
- int res;
- int herr;
-
- hstbuflen = 1024;
- /* Allocate buffer, remember to free it to avoid a memory leakage. */
- tmphstbuf = malloc (hstbuflen);
-
- while ((res = gethostbyname2_r (host, AF,&hostbuf, tmphstbuf, hstbuflen,
- &hp, &herr)) == ERANGE)
- {
- /* Enlarge the buffer. */
- hstbuflen *= 2;
- tmphstbuf = realloc (tmphstbuf, hstbuflen);
- }
- /* Check for errors. */
- if (res || hp == NULL)
- return NULL;
- return hp;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c
deleted file mode 100644
index b505ccfbc..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <stdio.h>
-
-extern int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
-
-/* Oh boy, this interface sucks so badly, there are no words for it.
- * Not one, not two, but _three_ error signalling methods! (*h_errnop
- * nonzero? return value nonzero? *RESULT zero?) The glibc goons
- * really outdid themselves with this one. */
-int gethostbyname2_r(const char* name, int AF, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) {
- int L=strlen(name);
- int lookfor=0;
- switch (AF) {
- case AF_INET: lookfor=1; break;
- case AF_INET6: lookfor=28; break;
- default: *h_errnop=EINVAL; return 1;
- }
- result->h_name=buf;
- if (buflen<L) { *h_errnop=ERANGE; return 1; }
- strcpy(buf,name);
- return __dns_gethostbyx_r(name,result,buf+L,buflen-L,RESULT,h_errnop,lookfor);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c
deleted file mode 100644
index d5a531f0f..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <stdio.h>
-
-extern int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
-
-/* Oh boy, this interface sucks so badly, there are no words for it.
- * Not one, not two, but _three_ error signalling methods! (*h_errnop
- * nonzero? return value nonzero? *RESULT zero?) The glibc goons
- * really outdid themselves with this one. */
-int gethostbyname_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) {
- int L=strlen(name);
- result->h_name=buf;
- if (buflen<L) { *h_errnop=ERANGE; return 1; }
- strcpy(buf,name);
- return __dns_gethostbyx_r(name,result,buf+L,buflen-L,RESULT,h_errnop,1);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getlogin.c b/mdk-stage1/dietlibc/libcruft/getlogin.c
deleted file mode 100644
index 359f44d9f..000000000
--- a/mdk-stage1/dietlibc/libcruft/getlogin.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <stdlib.h>
-
-char* getlogin() {
- return getenv("LOGNAME");
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpagesize.c b/mdk-stage1/dietlibc/libcruft/getpagesize.c
deleted file mode 100644
index dea4a9693..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpagesize.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-#ifndef PAGE_SIZE
-#define PAGE_SIZE 4096
-#endif
-
-size_t __libc_getpagesize(void) {
- return PAGE_SIZE;
-}
-
-size_t getpagesize(void) __attribute__((weak,alias("__libc_getpagesize")));
-
diff --git a/mdk-stage1/dietlibc/libcruft/getpass.c b/mdk-stage1/dietlibc/libcruft/getpass.c
deleted file mode 100644
index 3da7cd2b3..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpass.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <termios.h>
-#include <unistd.h>
-#include <limits.h>
-#include <fcntl.h>
-#include <string.h>
-
-char *getpass(const char* prompt) {
- struct termios old,tmp;
- int out,in=open("/dev/tty",O_RDWR);
- int doclose=(in>=0);
- static char buf[PASS_MAX];
- if (doclose) { in=0; out=2; } else out=in;
- if (!tcgetattr(in,&old)) {
- tmp=old;
- tmp.c_lflag &= ~(ECHO|ISIG);
- tcsetattr(in,TCSAFLUSH,&tmp);
- }
- write(out,prompt,strlen(prompt));
- {
- int nread,ofs=0;
- for (;;) {
- nread=read(in,buf+ofs,PASS_MAX-ofs);
- if (nread<0) {
- buf[ofs]=0;
- break;
- } else if (ofs+nread>=PASS_MAX) {
- buf[PASS_MAX-1]=0;
- break;
- } else if (buf[ofs+nread-1]=='\n') {
- buf[ofs+nread-1]=0;
- break;
- }
- ofs+=nread;
- }
- write(out,"\n",1);
- }
- tcsetattr(in,TCSAFLUSH,&old);
- if (doclose) close(in);
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwnam.c b/mdk-stage1/dietlibc/libcruft/getpwnam.c
deleted file mode 100644
index 53aae74d1..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwnam.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <pwd.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct passwd *getpwnam(const char * name) {
- struct passwd *tmp;
- setpwent();
- for (;;) {
- tmp=getpwent();
- if (!tmp) return 0;
- if (!strcmp(tmp->pw_name,name))
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid.c b/mdk-stage1/dietlibc/libcruft/getpwuid.c
deleted file mode 100644
index eef14e6e8..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwuid.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <pwd.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct passwd *getpwuid(uid_t uid) {
- struct passwd *tmp;
- setpwent();
- for (;;) {
- tmp=getpwent();
- if (!tmp) return 0;
- if (tmp->pw_uid==uid)
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspnam.c b/mdk-stage1/dietlibc/libcruft/getspnam.c
deleted file mode 100644
index e6573345d..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspnam.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <shadow.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct spwd *getspnam(const char * name) {
- struct spwd *tmp;
- setspent();
- for (;;) {
- tmp=getspent();
- if (!tmp) return 0;
- if (!strcmp(tmp->sp_namp,name))
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/grent.c b/mdk-stage1/dietlibc/libcruft/grent.c
deleted file mode 100644
index 0357657de..000000000
--- a/mdk-stage1/dietlibc/libcruft/grent.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * dietlibc/lib/grent.c - getgrent(3)/setgrent(3)/endgrent(3) implementation
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-
-#include "entlib.h" /* this is our only include */
-
-#define MAX_GROUP_MEMBERS 16 /* matches Linux kernel task struct */
-
-static struct __ent_state *st = NULL; /* state held across calls */
-static char *gr_mem[MAX_GROUP_MEMBERS+1];
-static struct group gr;
-
-struct group *getgrent(void)
-{
- char *parts[4], *grouplist;
- unsigned int bufptr;
-
- if (__ent_start(_PATH_GROUP, &st))
- return NULL;
- if (__ent_get_line(st))
- goto err_out;
- if (__ent_split(st, parts, 4, ':', 1) < 0)
- goto err_out;
-
- gr.gr_name = parts[0];
- gr.gr_passwd = parts[1];
- gr.gr_gid = (gid_t) atoi(parts[2]);
- grouplist = parts[3];
-
- memset(&gr_mem, 0, sizeof(gr_mem));
- gr.gr_mem = gr_mem;
-
- /* rewind bufptr to beginning of group list */
- bufptr = st->bufptr;
- st->bufptr = (int) (grouplist - st->ent_buf);
-
- __ent_split(st, gr_mem, MAX_GROUP_MEMBERS, ',', 0);
- st->bufptr = bufptr;
-
- return &gr;
-
-err_out:
- st->buflen = st->bufptr = 0; /* invalidate file data buffer */
- return NULL;
-}
-
-void setgrent(void) { __ent_set(st); }
-void endgrent(void) { __ent_end(st); st=NULL; }
diff --git a/mdk-stage1/dietlibc/libcruft/h_errno.c b/mdk-stage1/dietlibc/libcruft/h_errno.c
deleted file mode 100644
index 73ead0469..000000000
--- a/mdk-stage1/dietlibc/libcruft/h_errno.c
+++ /dev/null
@@ -1 +0,0 @@
-int h_errno;
diff --git a/mdk-stage1/dietlibc/libcruft/herrno_location.c b/mdk-stage1/dietlibc/libcruft/herrno_location.c
deleted file mode 100644
index 203f73d4b..000000000
--- a/mdk-stage1/dietlibc/libcruft/herrno_location.c
+++ /dev/null
@@ -1,5 +0,0 @@
-extern int h_errno;
-
-int *__h_errno_location() { return &h_errno; }
-
-int *h_errno_location() __attribute__((weak,alias("__h_errno_location")));
diff --git a/mdk-stage1/dietlibc/libcruft/inet_addr.c b/mdk-stage1/dietlibc/libcruft/inet_addr.c
deleted file mode 100644
index 0b8531ab1..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_addr.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-unsigned long int inet_addr(const char *cp) {
- struct in_addr foo;
- if (inet_aton(cp,&foo))
- return foo.s_addr;
- else
- return (unsigned long int)-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_aton.c b/mdk-stage1/dietlibc/libcruft/inet_aton.c
deleted file mode 100644
index ac7d9d007..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_aton.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <stdlib.h>
-
-/* inet_aton() converts the Internet host address cp from the standard
- * numbers-and-dots notation into binary data and stores it in the
- * structure that inp points to. inet_aton returns nonzero if the
- * address is valid, zero if not. */
-
-/* problem is, inet_aton is historically quite, uh, lenient.
- * the following are all acceptable:
- * 0x7f000001 == 127.1 == 127.0.0.1.0 == 127.0.0.1
- * btw: 127.0.0.x.y == 127.0.0.(x|y)
- * and: 10.1.1 == 10.1.0.1 (huh?!)
- * and: 10 == 0.0.0.10 (?!?!?)
- * The Berkeley people must have been so stoned that they are still high.
- */
-
-/* I hereby disclaim that I wrote this code. */
-int inet_aton(const char *cp, struct in_addr *inp) {
- int i;
- unsigned int ip=0;
- char *tmp=(char*)cp;
- for (i=24; ;) {
- long j;
- j=strtol(tmp,&tmp,0);
- if (*tmp==0) {
- ip|=j;
- break;
- }
- if (*tmp=='.') {
- if (j>255) return 0;
- ip|=(j<<i);
- if (i>0) i-=8;
- ++tmp;
- continue;
- }
- return 0;
- }
- inp->s_addr=htonl(ip);
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntoa.c b/mdk-stage1/dietlibc/libcruft/inet_ntoa.c
deleted file mode 100644
index f8c975f7a..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntoa.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-extern char *inet_ntoa_r(struct in_addr in,char* buf);
-
-char *inet_ntoa(struct in_addr in) {
- static char buf[20];
- return inet_ntoa_r(in,buf);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c b/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c
deleted file mode 100644
index dcf0eab7b..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-static unsigned int i2a(char* dest,unsigned int x) {
- register unsigned int tmp=x;
- register unsigned int len=0;
- if (x>=100) { *dest++=tmp/100+'0'; tmp=tmp%100; ++len; }
- if (x>=10) { *dest++=tmp/10+'0'; tmp=tmp%10; ++len; }
- *dest++=tmp+'0';
- return len+1;
-}
-
-char *inet_ntoa_r(struct in_addr in,char* buf) {
- unsigned int len;
- unsigned char *ip=(unsigned char*)&in;
- len=i2a(buf,ip[0]); buf[len]='.'; ++len;
- len+=i2a(buf+ len,ip[1]); buf[len]='.'; ++len;
- len+=i2a(buf+ len,ip[2]); buf[len]='.'; ++len;
- len+=i2a(buf+ len,ip[3]); buf[len]=0;
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntop.c b/mdk-stage1/dietlibc/libcruft/inet_ntop.c
deleted file mode 100644
index 77c47f239..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntop.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <arpa/inet.h>
-
-extern char *inet_ntoa_r(struct in_addr in,char* buf);
-
-static const unsigned char V4mappedprefix[12]={0,0,0,0,0,0,0,0,0,0,0xff,0xff};
-
-static char tohex(char hexdigit) {
- return hexdigit>9?hexdigit+'a'-10:hexdigit+'0';
-}
-
-static int fmt_xlong(char* s,unsigned int i) {
- char* bak=s;
- *s=tohex((i>>12)&0xf); if (s!=bak || *s!='0') ++s;
- *s=tohex((i>>8)&0xf); if (s!=bak || *s!='0') ++s;
- *s=tohex((i>>4)&0xf); if (s!=bak || *s!='0') ++s;
- *s=tohex(i&0xf);
- return s-bak+1;
-}
-
-unsigned int fmt_ip6(char *s,const char ip[16])
-{
- unsigned int len;
- unsigned int i;
- unsigned int temp;
- unsigned int compressing;
- int j;
-
- len = 0; compressing = 0;
- for (j=0; j<16; j+=2) {
- if (j==12 && !memcmp(ip,V4mappedprefix,12)) {
- inet_ntoa_r(*(struct in_addr*)(ip+12),s);
- temp=strlen(s);
- return len+temp;
- }
- temp = ((unsigned long) (unsigned char) ip[j] << 8) +
- (unsigned long) (unsigned char) ip[j+1];
- if (temp == 0) {
- if (!compressing) {
- compressing=1;
- if (j==0) {
- *s++=':'; ++len;
- }
- }
- } else {
- if (compressing) {
- compressing=0;
- *s++=':'; ++len;
- }
- i = fmt_xlong(s,temp); len += i; s += i;
- if (j<14) {
- *s++ = ':';
- ++len;
- }
- }
- }
- *s=0;
- return len;
-}
-
-const char* inet_ntop(int AF, const void *CP, char *BUF, size_t LEN) {
- char buf[100];
- int len;
- if (AF==AF_INET) {
- inet_ntoa_r(*(struct in_addr*)CP,buf);
- len=strlen(buf);
- } else if (AF==AF_INET6) {
- len=fmt_ip6(buf,CP);
- } else
- return 0;
- if (len<LEN) {
- strcpy(BUF,buf);
- return BUF;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_pton.c b/mdk-stage1/dietlibc/libcruft/inet_pton.c
deleted file mode 100644
index d5c17509c..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_pton.c
+++ /dev/null
@@ -1,97 +0,0 @@
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <errno.h>
-
-static unsigned int scan_ip6(const char *s,char ip[16])
-{
- unsigned int i;
- unsigned int len=0;
- unsigned long u;
-
- char suffix[16];
- int prefixlen=0;
- int suffixlen=0;
-
- for (i=0; i<16; i++) ip[i]=0;
-
- for (;;) {
- if (*s == ':') {
- len++;
- if (s[1] == ':') { /* Found "::", skip to part 2 */
- s+=2;
- len++;
- break;
- }
- s++;
- }
- {
- char *tmp;
- u=strtol(s,&tmp,16);
- i=tmp-s;
- }
-
- if (!i) return 0;
- if (prefixlen==12 && s[i]=='.') {
- /* the last 4 bytes may be written as IPv4 address */
- if (inet_aton(s,(struct in_addr*)(ip+12)))
- return i+len;
- else
- return 0;
- }
- ip[prefixlen++] = (u >> 8);
- ip[prefixlen++] = (u & 255);
- s += i; len += i;
- if (prefixlen==16)
- return len;
- }
-
-/* part 2, after "::" */
- for (;;) {
- if (*s == ':') {
- if (suffixlen==0)
- break;
- s++;
- len++;
- } else if (suffixlen!=0)
- break;
- {
- char *tmp;
- u=strtol(s,&tmp,16);
- i=tmp-s;
- }
- if (!i) {
- len--;
- break;
- }
- if (suffixlen+prefixlen<=12 && s[i]=='.') {
- if (inet_aton(s,(struct in_addr*)(suffix+suffixlen))) {
- suffixlen+=4;
- len+=strlen(s);
- break;
- } else
- prefixlen=12-suffixlen; /* make end-of-loop test true */
- }
- suffix[suffixlen++] = (u >> 8);
- suffix[suffixlen++] = (u & 255);
- s += i; len += i;
- if (prefixlen+suffixlen==16)
- break;
- }
- for (i=0; i<suffixlen; i++)
- ip[16-suffixlen+i] = suffix[i];
- return len;
-}
-
-int inet_pton(int AF, const char *CP, void *BUF) {
- if (AF==AF_INET) {
- if (!inet_aton(CP,(struct in_addr*)BUF))
- return 0;
- } else if (AF==AF_INET6) {
- if (CP[scan_ip6(CP,BUF)])
- return 0;
- } else {
- errno=EAFNOSUPPORT;
- return -1;
- }
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/initgroups.c b/mdk-stage1/dietlibc/libcruft/initgroups.c
deleted file mode 100644
index 7d24866e9..000000000
--- a/mdk-stage1/dietlibc/libcruft/initgroups.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <grp.h>
-#include <sys/types.h>
-#include <string.h>
-
-int initgroups(const char *user, gid_t group) {
- int n=0;
- gid_t grouplist[32];
- struct group *g;
- setgrent();
- while ((g=getgrent())) {
- char **duh=g->gr_mem;
- while (*duh) {
- if (!strcmp(*duh,user)) {
- grouplist[n]=g->gr_gid;
- if (++n>=32)
- break;
- }
- duh++;
- }
- }
- return setgroups(n,grouplist);
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/mkstemp.c b/mdk-stage1/dietlibc/libcruft/mkstemp.c
deleted file mode 100644
index 3b24ecb54..000000000
--- a/mdk-stage1/dietlibc/libcruft/mkstemp.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-
-int mkstemp(char* template) {
- char *tmp=template+strlen(template)-6;
- int randfd;
- int i,res;
- unsigned int random;
- for (i=0; i<6; ++i) if (tmp[i]!='X') { __set_errno(EINVAL); return -1; }
- randfd=open("/dev/urandom",O_RDONLY);
- for (;;) {
- read(randfd,&random,sizeof(random));
- for (i=0; i<6; ++i) {
- int hexdigit=(random>>(i*5))&0x1f;
- tmp[i]=hexdigit>9?hexdigit+'a'-10:hexdigit+'0';
- }
- res=open(template,O_CREAT|O_RDWR|O_EXCL,0600);
- if (res>=0) return res;
- }
- close(randfd);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/pwent.c b/mdk-stage1/dietlibc/libcruft/pwent.c
deleted file mode 100644
index 30a8a0957..000000000
--- a/mdk-stage1/dietlibc/libcruft/pwent.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * dietlibc/lib/pwent.c - getpwent(3)/setpwent(3)/endpwent(3) implementation
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-
-#include "entlib.h" /* this is our only include */
-
-static struct __ent_state *st = NULL; /* state held across calls */
-static struct passwd pw;
-
-struct passwd *getpwent(void)
-{
- char *parts[7];
-
- if (__ent_start(_PATH_PASSWD, &st))
- return NULL;
- if (__ent_get_line(st))
- goto err_out;
- if (__ent_split(st, parts, 7, ':', 1) < 0)
- goto err_out;
-
- pw.pw_name = parts[0];
- pw.pw_passwd = parts[1];
- pw.pw_uid = (uid_t) atoi(parts[2]);
- pw.pw_gid = (gid_t) atoi(parts[3]);
- pw.pw_gecos = parts[4];
- pw.pw_dir = parts[5];
- pw.pw_shell = parts[6];
-
- return &pw;
-
-err_out:
- st->buflen = st->bufptr = 0; /* invalidate file data buffer */
- return NULL;
-}
-
-void setpwent(void) { __ent_set(st); }
-void endpwent(void) { __ent_end(st); st=NULL; }
diff --git a/mdk-stage1/dietlibc/libcruft/res_init.c b/mdk-stage1/dietlibc/libcruft/res_init.c
deleted file mode 100644
index 9322af298..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_init.c
+++ /dev/null
@@ -1,7 +0,0 @@
-extern int __dns_servers;
-extern void __dns_readstartfiles(void);
-
-int res_init(void) {
- __dns_servers=0;
- __dns_readstartfiles();
-}
diff --git a/mdk-stage1/dietlibc/libcruft/spent.c b/mdk-stage1/dietlibc/libcruft/spent.c
deleted file mode 100644
index e4beb81e4..000000000
--- a/mdk-stage1/dietlibc/libcruft/spent.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * dietlibc/lib/spent.c - getspent(3)/setspent(3)/endspent(3) implementation
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-
-#include "entlib.h" /* this is our only include */
-
-static struct __ent_state *st = NULL; /* state held across calls */
-static struct spwd sp;
-
-struct spwd *getspent(void)
-{
- char *parts[9];
-
- if (__ent_start(_PATH_SHADOW, &st))
- return NULL;
- if (__ent_get_line(st))
- goto err_out;
- if (__ent_split(st, parts, 9, ':', 1) < 0)
- goto err_out;
-
- sp.sp_namp = parts[0];
- sp.sp_pwdp = parts[1];
- sp.sp_lstchg = atoi(parts[2]); /* XXX: atol */
- sp.sp_min = atoi(parts[3]);
- sp.sp_max = atoi(parts[4]);
- sp.sp_warn = atoi(parts[5]);
- sp.sp_inact = atoi(parts[6]);
- sp.sp_expire = atoi(parts[7]);
- sp.sp_flag = atoi(parts[8]);
-
- return &sp;
-
-err_out:
- st->buflen = st->bufptr = 0; /* invalidate file data buffer */
- return NULL;
-}
-
-void setspent(void) { __ent_set(st); }
-void endspent(void) { __ent_end(st); st=NULL; }
diff --git a/mdk-stage1/dietlibc/libcrypt/crypt.c b/mdk-stage1/dietlibc/libcrypt/crypt.c
deleted file mode 100644
index 933397f5f..000000000
--- a/mdk-stage1/dietlibc/libcrypt/crypt.c
+++ /dev/null
@@ -1,309 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-
-/* Initial permutation, */
-static char IP[] = {
- 57,49,41,33,25,17, 9, 1,
- 59,51,43,35,27,19,11, 3,
- 61,53,45,37,29,21,13, 5,
- 63,55,47,39,31,23,15, 7,
- 56,48,40,32,24,16, 8, 0,
- 58,50,42,34,26,18,10, 2,
- 60,52,44,36,28,20,12, 4,
- 62,54,46,38,30,22,14, 6
-};
-
-/* Final permutation, FP = IP^(-1) */
-static char FP[] = {
- 39, 7,47,15,55,23,63,31,
- 38, 6,46,14,54,22,62,30,
- 37, 5,45,13,53,21,61,29,
- 36, 4,44,12,52,20,60,28,
- 35, 3,43,11,51,19,59,27,
- 34, 2,42,10,50,18,58,26,
- 33, 1,41, 9,49,17,57,25,
- 32, 0,40, 8,48,16,56,24
-};
-
-/* Permuted-choice 1 from the key bits to yield C and D.
- * Note that bits 8,16... are left out: They are intended for a parity check.
- */
-static char PC1_C[] = {
- 56,48,40,32,24,16, 8,
- 0,57,49,41,33,25,17,
- 9, 1,58,50,42,34,26,
- 18,10, 2,59,51,43,35
-};
-
-static char PC1_D[] = {
- 62,54,46,38,30,22,14,
- 6,61,53,45,37,29,21,
- 13, 5,60,52,44,36,28,
- 20,12, 4,27,19,11, 3
-};
-
-/* Sequence of shifts used for the key schedule. */
-static char shifts[] = { 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1 };
-
-/*
- * Permuted-choice 2, to pick out the bits from the CD array that generate
- * the key schedule.
- */
-static char PC2_C[] = {
- 13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9,
- 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1
-};
-
-static char PC2_D[] = {
- 12, 23, 2, 8, 18, 26, 1, 11, 22, 16, 4, 19,
- 15, 20, 10, 27, 5, 24, 17, 13, 21, 7, 0, 3
-};
-
-/* The C and D arrays used to calculate the key schedule. */
-
-static char C[28];
-static char D[28];
-/* The key schedule. Generated from the key. */
-static char KS[16][48];
-
-/* The E bit-selection table. */
-static char E[48];
-static char e2[] = {
- 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9,
- 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17,
- 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25,
- 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1
-};
-
-/* Set up the key schedule from the key. */
-void setkey(const char *key)
-{
- register int i, j, k;
- int t;
- int s;
-
- /* First, generate C and D by permuting the key. The low order bit of each
- * 8-bit char is not used, so C and D are only 28 bits apiece.
- */
- for(i=0; i < 28; i++) {
- C[i] = key[(int)PC1_C[i]];
- D[i] = key[(int)PC1_D[i]];
- }
- /* To generate Ki, rotate C and D according to schedule and pick up a
- * permutation using PC2.
- */
- for(i=0; i < 16; i++) {
- /* rotate. */
- s = shifts[i];
- for(k=0; k < s; k++) {
- t = C[0];
- for(j=0; j < 27; j++)
- C[j] = C[j+1];
- C[27] = t;
- t = D[0];
- for(j=0; j < 27; j++)
- D[j] = D[j+1];
- D[27] = t;
- }
- /* get Ki. Note C and D are concatenated. */
- for(j=0; j < 24; j++) {
- KS[i][j] = C[(int)PC2_C[j]];
- KS[i][j+24] = D[(int)PC2_D[j]];
- }
- }
-
- for(i=0; i < 48; i++)
- E[i] = e2[i];
-}
-
-/* The 8 selection functions. For some reason, they give a 0-origin index,
- * unlike everything else.
- */
-static char S[8][64] = {
- {
- 14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7,
- 0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8,
- 4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0,
- 15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13
- },
-
- {
- 15, 1, 8,14, 6,11, 3, 4, 9, 7, 2,13,12, 0, 5,10,
- 3,13, 4, 7,15, 2, 8,14,12, 0, 1,10, 6, 9,11, 5,
- 0,14, 7,11,10, 4,13, 1, 5, 8,12, 6, 9, 3, 2,15,
- 13, 8,10, 1, 3,15, 4, 2,11, 6, 7,12, 0, 5,14, 9
- },
-
- {
- 10, 0, 9,14, 6, 3,15, 5, 1,13,12, 7,11, 4, 2, 8,
- 13, 7, 0, 9, 3, 4, 6,10, 2, 8, 5,14,12,11,15, 1,
- 13, 6, 4, 9, 8,15, 3, 0,11, 1, 2,12, 5,10,14, 7,
- 1,10,13, 0, 6, 9, 8, 7, 4,15,14, 3,11, 5, 2,12
- },
-
- {
- 7,13,14, 3, 0, 6, 9,10, 1, 2, 8, 5,11,12, 4,15,
- 13, 8,11, 5, 6,15, 0, 3, 4, 7, 2,12, 1,10,14, 9,
- 10, 6, 9, 0,12,11, 7,13,15, 1, 3,14, 5, 2, 8, 4,
- 3,15, 0, 6,10, 1,13, 8, 9, 4, 5,11,12, 7, 2,14
- },
-
- {
- 2,12, 4, 1, 7,10,11, 6, 8, 5, 3,15,13, 0,14, 9,
- 14,11, 2,12, 4, 7,13, 1, 5, 0,15,10, 3, 9, 8, 6,
- 4, 2, 1,11,10,13, 7, 8,15, 9,12, 5, 6, 3, 0,14,
- 11, 8,12, 7, 1,14, 2,13, 6,15, 0, 9,10, 4, 5, 3
- },
-
- {
- 12, 1,10,15, 9, 2, 6, 8, 0,13, 3, 4,14, 7, 5,11,
- 10,15, 4, 2, 7,12, 9, 5, 6, 1,13,14, 0,11, 3, 8,
- 9,14,15, 5, 2, 8,12, 3, 7, 0, 4,10, 1,13,11, 6,
- 4, 3, 2,12, 9, 5,15,10,11,14, 1, 7, 6, 0, 8,13
- },
-
- {
- 4,11, 2,14,15, 0, 8,13, 3,12, 9, 7, 5,10, 6, 1,
- 13, 0,11, 7, 4, 9, 1,10,14, 3, 5,12, 2,15, 8, 6,
- 1, 4,11,13,12, 3, 7,14,10,15, 6, 8, 0, 5, 9, 2,
- 6,11,13, 8, 1, 4,10, 7, 9, 5, 0,15,14, 2, 3,12
- },
-
- {
- 13, 2, 8, 4, 6,15,11, 1,10, 9, 3,14, 5, 0,12, 7,
- 1,15,13, 8,10, 3, 7, 4,12, 5, 6,11, 0,14, 9, 2,
- 7,11, 4, 1, 9,12,14, 2, 0, 6,10,13,15, 3, 5, 8,
- 2, 1,14, 7, 4,10, 8,13,15,12, 9, 0, 3, 5, 6,11
- }
-};
-
-/* P is a permutation on the selected combination of the current L and key. */
-static char P[] = {
- 15, 6,19,20, 28,11,27,16, 0,14,22,25, 4,17,30, 9,
- 1, 7,23,13, 31,26, 2, 8, 18,12,29, 5, 21,10, 3,24
-};
-
-/* The current block, divided into 2 halves. */
-static char L[32], R[32];
-static char tempL[32];
-static char f[32];
-
-/* The combination of the key and the input, before selection. */
-static char preS[48];
-
-/* The payoff: encrypt a block. */
-void encrypt(char block[64], int edflag)
-{
- int i, ii;
- register int t, j, k;
-
- /* First, permute the bits in the input */
- for(j=0; j < 64; j++)
- L[j] = block[(int)IP[j]];
- /* Perform an encryption operation 16 times. */
- for(ii=0; ii < 16; ii++) {
- i = ii;
- /* Save the R array, which will be the new L. */
- for(j=0; j < 32; j++)
- tempL[j] = R[j];
- /* Expand R to 48 bits using the E selector;
- * exclusive-or with the current key bits.
- */
- for(j=0; j < 48; j++)
- preS[j] = R[E[j]-1] ^ KS[i][j];
- /* The pre-select bits are now considered in 8 groups of 6 bits each.
- * The 8 selection functions map these 6-bit quantities into 4-bit
- * quantities and the results permuted to make an f(R, K).
- * The indexing into the selection functions is peculiar;
- * it could be simplified by rewriting the tables.
- */
- for(j=0; j < 8; j++) {
- t = ((j<<1)+j)<<1;
- k = S[j][(preS[t]<<5)+
- (preS[t+1]<<3)+
- (preS[t+2]<<2)+
- (preS[t+3]<<1)+
- (preS[t+4] )+
- (preS[t+5]<<4)];
- t = j << 2;
- f[t ] = (k>>3)&01;
- f[t+1] = (k>>2)&01;
- f[t+2] = (k>>1)&01;
- f[t+3] = (k )&01;
- }
- /* The new R is L ^ f(R, K). The f here has to be permuted first, though. */
- for(j=0; j < 32; j++)
- R[j] = L[j] ^ f[(int)P[j]];
- /* Finally, the new L (the original R) is copied back. */
- for(j=0; j < 32; j++)
- L[j] = tempL[j];
- }
- /* The output L and R are reversed. */
- for(j=0; j < 32; j++) {
- L[j] ^= R[j];
- R[j] ^= L[j];
- L[j] ^= R[j];
- }
- /* The final output gets the inverse permutation of the very original. */
- for(j=0; j < 64; j++)
- block[j] = L[(int)FP[j]];
-}
-
-char * crypt(const char *pw, const char *salt)
-{
- register int i, j, c;
- static char block[66], iobuf[16];
-
- for(i=0; i < 66; i++)
- block[i] = 0;
- for(i=0; (c= *pw) && i < 64; pw++) {
- for(j=0; j < 7; j++, i++)
- block[i] = (c>>(6-j)) & 01;
- i++;
- }
-
- setkey(block);
-
- for(i=0; i < 66; i++)
- block[i] = 0;
-
- for(i=0; i < 2; i++) {
- c = *salt++;
- iobuf[i] = c;
- if(c > 'Z')
- c -= 6;
- if(c > '9')
- c -= 7;
- c -= '.';
- for(j=0; j < 6; j++) {
- if((c>>j) & 01) {
- int ind1 = (((i<<1)+i)<< 1) + j;
- int ind2 = ind1 + 24;
- E[ind1] ^= E[ind2];
- E[ind2] ^= E[ind1];
- E[ind1] ^= E[ind2];
- }
- }
- }
-
- for(i=0; i < 25; i++)
- encrypt(block, 0);
-
- for(i=0; i < 11; i++) {
- c = 0;
- for(j=0; j < 6; j++) {
- c <<= 1;
- c |= block[(((i<<1)+i)<<1)+j];
- }
- c += '.';
- if(c > '9')
- c += 7;
- if(c > 'Z')
- c += 6;
- iobuf[i+2] = c;
- }
- iobuf[i+2] = 0;
- if(iobuf[1] == 0)
- iobuf[1] = iobuf[0];
- return(iobuf);
-}
diff --git a/mdk-stage1/dietlibc/libdl/Makefile b/mdk-stage1/dietlibc/libdl/Makefile
deleted file mode 100644
index c0463f887..000000000
--- a/mdk-stage1/dietlibc/libdl/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# local "test" make file
-
-SRC = $(wildcard *.c) test/test.c
-OBJ = _dl_jump.o $(SRC:.c=.o)
-
-#CFLAGS = -Wall -O2
-CFLAGS = -g
-
-%.o : %.S
- $(HOME)/bin/diet gcc $(CFLAGS) -c -o $@ $^
-
-%.o : %.c
- $(HOME)/bin/diet gcc $(CFLAGS) -c -o $@ $^
-
-all: test.out
-
-test.g: test.c
- gcc -o $@ $^ -ldl
-
-test.out: $(OBJ)
- $(HOME)/bin/diet gcc -o $@ $^
-
-clean:
- $(RM) *.o *.a *.out *~ # *.so
diff --git a/mdk-stage1/dietlibc/libdl/README b/mdk-stage1/dietlibc/libdl/README
deleted file mode 100644
index 5d77bde34..000000000
--- a/mdk-stage1/dietlibc/libdl/README
+++ /dev/null
@@ -1,6 +0,0 @@
-this is the experimental libdl test-pre-pre-alpha code
-
-written by Olaf Dreesen
-
-Shouldn't work yet had some problems with the elf specs...
-and more inconsistencies...
diff --git a/mdk-stage1/dietlibc/libdl/_dl_int.h b/mdk-stage1/dietlibc/libdl/_dl_int.h
deleted file mode 100644
index 659e6ee0f..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_int.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef ___DL_INT_H__
-#define ___DL_INT_H__
-
-#include <elf.h>
-
-struct _dl_handle {
- /* basic */
- void * mem_base; /* base address of maped *.so */
- unsigned long mem_size; /* len of mem block */
- unsigned int lnk_count; /* reference count */
-
- /* symbol resolve helper */
- unsigned long*hash_tab; /* hash table */
- Elf32_Sym * dyn_sym_tab; /* dynamic symbol table */
- char * dyn_str_tab; /* dyn_name table */
-
- Elf32_Rel * plt_rel; /* PLT relocation table */
-
- /* FINI */
- void (*fini)(void);
-};
-
-#define HASH_BUCKET_LEN(p) ((p))
-#define HASH_BUCKET(p) ((p)+2)
-
-#define HASH_CHAIN_LEN(p) ((p)+1)
-#define HASH_CHAIN(p) ((p)+2+HASH_BUCKET_LEN(p))
-
-unsigned long elf_hash(const unsigned char *name);
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_jump.S b/mdk-stage1/dietlibc/libdl/_dl_jump.S
deleted file mode 100644
index 134f31ea5..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_jump.S
+++ /dev/null
@@ -1,8 +0,0 @@
-.text
-.global _dl_jump
-_dl_jump:
- call do_rel
- pop %edx
- pop %edx
- jmp *%eax
-
diff --git a/mdk-stage1/dietlibc/libdl/_dl_open.c b/mdk-stage1/dietlibc/libdl/_dl_open.c
deleted file mode 100644
index 1f907db21..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_open.c
+++ /dev/null
@@ -1,207 +0,0 @@
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <dlfcn.h>
-#include <linux/elf.h>
-
-#include "_dl_int.h"
-
-struct _dl_handle dl_test;
-
-#define _ELF_DWN_ROUND(ps,n) ((n)&(~((ps)-1)))
-#define _ELF_UP_ROUND(ps,n) ((((n)&((ps)-1))?(ps):0)+ _ELF_DWN_ROUND((ps),(n)))
-#define _ELF_RST_ROUND(ps,n) ((n)&((ps)-1))
-
-void _dl_jump();
-
-/*
- * this file is a Q. & D. hack ... don't think this is bug free or meaningfull
- */
-
-static void *do_map_in(void *base, unsigned long length, int flags, int fd, unsigned long offset)
-{
- int perm = 0;
- if (flags & PF_X) perm|=PROT_EXEC;
- if (flags & PF_R) perm|=PROT_READ;
- if (flags & PF_W) perm|=PROT_WRITE;
- return mmap(base, length, perm, MAP_PRIVATE|((base)?MAP_FIXED:0), fd, offset);
-}
-
-unsigned long do_rel(struct _dl_handle * tmp_dl, unsigned long off)
-{
-// struct _dl_handle * tmp_dl = ((void*)*((&off)-1));
- Elf32_Rel *tmp = ((void*)tmp_dl->plt_rel)+off;
- int sym=ELF32_R_SYM(tmp->r_info);
- register unsigned long sym_val;
-
- printf("do_rel %08x %08x\n",tmp_dl,off);
-
- printf ("do_rel %08x+%x\n",tmp_dl->plt_rel,off);
- printf("do_rel @ %08x with type %d -> %d\n",tmp->r_offset,ELF32_R_TYPE(tmp->r_info),sym);
-
- printf("do_rel sym %08x\n",tmp_dl->dyn_sym_tab[sym].st_value);
-
- /* modify GOT for REAL symbol */
- sym_val=((unsigned long)(tmp_dl->mem_base+tmp_dl->dyn_sym_tab[sym].st_value));
- *((unsigned long*)(tmp_dl->mem_base+tmp->r_offset))=sym_val;
-
- printf("do_rel sym %08x\n",sym_val);
- /* HOWTO JUMP ?!? */
- return sym_val;
-}
-
-void *_dl_open(const char*pathname, int fd, int flag)
-{
- int ps=getpagesize();
- int i;
- unsigned char buf[1024];
- char *m=0,*d;
- struct _dl_handle *ret=0;
-
- unsigned long l;
-
- Elf32_Ehdr *eh;
- Elf32_Phdr *ph;
-
- int ld_nr=0;
- Elf32_Phdr *ld[4]={0,0,0,0};
- Elf32_Phdr *dyn=0;
-
- if (fd==-1) return 0;
-
- printf("_dl_open: %s\n",pathname);
-
- read(fd, buf, 1024);
- eh=(Elf32_Ehdr*)buf;
- ph=(Elf32_Phdr*)&buf[eh->e_phoff];
-
- for (i=0; i<eh->e_phnum; i++) {
- if (ph[i].p_type==PT_LOAD) {
- ld[ld_nr++]=ph+i;
- }
- if (ph[i].p_type==PT_DYNAMIC) {
- dyn=ph+i;
- }
- }
-
- if (ld_nr==1) {
- unsigned long offset = _ELF_DWN_ROUND(ps,ld[0]->p_offset);
- unsigned long off = _ELF_RST_ROUND(ps,ld[0]->p_offset);
- unsigned long length = _ELF_UP_ROUND(ps,ld[0]->p_memsz+off);
- m = (char*)do_map_in(0, length, ld[0]->p_flags, fd, offset);
-
- /* zero pad bss */
- l = ld[0]->p_offset+ld[0]->p_filesz;
- memset(m+l,0,length-l);
-
- dl_test.mem_base=m;
- dl_test.mem_size=length;
- dl_test.lnk_count=0;
-
- ret = &dl_test;
- }
- else if (ld_nr==2) { /* aem... yes Quick & Really Dirty / for the avarage 99% */
- //unsigned long text_addr = _ELF_DWN_ROUND(ps,ld[0]->p_vaddr);
- unsigned long text_offset = _ELF_DWN_ROUND(ps,ld[0]->p_offset);
- unsigned long text_off = _ELF_RST_ROUND(ps,ld[0]->p_offset);
- unsigned long text_size = _ELF_UP_ROUND(ps,ld[0]->p_memsz+text_off);
-
- unsigned long data_addr = _ELF_DWN_ROUND(ps,ld[1]->p_vaddr);
- unsigned long data_offset = _ELF_DWN_ROUND(ps,ld[1]->p_offset);
- unsigned long data_off = _ELF_RST_ROUND(ps,ld[1]->p_offset);
- unsigned long data_size = _ELF_UP_ROUND(ps,ld[1]->p_memsz+data_off);
- unsigned long data_fsize = _ELF_UP_ROUND(ps,ld[1]->p_filesz+data_off);
-
- /* mmap all mem_blocks for *.so */
- l = text_size+data_size;
-
- dl_test.mem_size=l;
-
- m = (char*) do_map_in(0,l,ld[0]->p_flags,fd,text_offset);
-
- /* release data,bss part */
- mprotect(m+data_addr, data_size, PROT_NONE);
-
- /* mmap data,bss part */
- d = (char*) do_map_in(m+data_addr,data_fsize,ld[1]->p_flags,fd,data_offset);
-
- /* zero pad bss */
- l = data_off+ld[1]->p_filesz;
- memset(d+l,0,data_size-l);
-
- /* more bss ? */
- if (data_size>data_fsize) {
- l = data_size-data_fsize;
- mmap(d+data_fsize, l, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
- }
-
- dl_test.mem_base=m;
- dl_test.lnk_count=0;
- ret = &dl_test;
- }
-
- printf("_dl_open pre resolv\n");
- if (ret) {
- Elf32_Dyn* dyn_tab = (void*)m+dyn->p_vaddr;
- void (*init)();
- unsigned long* got=0;
- void* jmprel=0;
- int pltreltype=0;
- int pltrelsize=0;
-
- printf("_dl_open IN resolv\n");
- for(i=0;dyn_tab[i].d_tag;i++) {
- if (dyn_tab[i].d_tag==DT_HASH) {
- ret->hash_tab = (unsigned long*)(m+dyn_tab[i].d_un.d_ptr);
- }
- if (dyn_tab[i].d_tag==DT_SYMTAB) {
- ret->dyn_sym_tab = (Elf32_Sym*)(m+dyn_tab[i].d_un.d_ptr);
- }
- if (dyn_tab[i].d_tag==DT_STRTAB) {
- ret->dyn_str_tab = (char*)(m+dyn_tab[i].d_un.d_ptr);
- }
- if (dyn_tab[i].d_tag==DT_FINI) {
- ret->fini = (void(*)(void))(m+dyn_tab[i].d_un.d_val);
- }
- if (dyn_tab[i].d_tag==DT_INIT) {
- init = (void(*)(void))(m+dyn_tab[i].d_un.d_val);
- printf("init @ %08x\n",init);
- }
- if (dyn_tab[i].d_tag==DT_PLTGOT) {
- got=(unsigned long*)(m+dyn_tab[i].d_un.d_val);
- }
- if (dyn_tab[i].d_tag==DT_PLTREL) {
- pltreltype=dyn_tab[i].d_un.d_val;
- }
- if (dyn_tab[i].d_tag==DT_PLTRELSZ) {
- pltrelsize=dyn_tab[i].d_un.d_val;
- }
- if (dyn_tab[i].d_tag==DT_JMPREL) {
- jmprel=(m+dyn_tab[i].d_un.d_val);
- dl_test.plt_rel=jmprel;
- }
- }
- /* GOT */
- got[0]+=(unsigned long)m;
- got[1]=(unsigned long)&dl_test;
-// got[2]=(unsigned long)do_rel;
- got[2]=(unsigned long)(_dl_jump);
- /* */
-
- if (pltreltype == DT_REL) {
- Elf32_Rel *tmp = jmprel;
- for (;(char*)tmp<(((char*)jmprel)+pltrelsize);(char*)tmp=((char*)tmp)+sizeof(Elf32_Rel)) {
- *((unsigned long*)(m+tmp->r_offset))+=(unsigned long)m;
-// *((unsigned long*)(m+tmp->r_offset))+=(unsigned long)do_rel;
- printf("rel @ %08x with type %d -> %d\n",tmp->r_offset,ELF32_R_TYPE(tmp->r_info),ELF32_R_SYM(tmp->r_info));
- }
- }
-
- printf("_dl_open post resolv, pre init\n");
- init();
- }
- printf("_dl_open post resolv, init\n");
-
- close(fd);
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_search.c b/mdk-stage1/dietlibc/libdl/_dl_search.c
deleted file mode 100644
index 5e3217d46..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_search.c
+++ /dev/null
@@ -1,84 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <dlfcn.h>
-
-#include <fcntl.h>
-#include <stdio.h>
-
-#define WANT_LD_SO_CONF_SEARCH
-
-static const char *_dl_search_rpath=0;
-void _dl_set_rpath(const char *path) { _dl_search_rpath=path; }
-
-/* search a colon (semicolon) seperated path for the libraray "filename" */
-static int _dl_search_path(char *buf, int len, const char*path, const int pathlen, const char *filename)
-{
- int fd,l=len,i=1;
- const char *c,*pe=path+pathlen;
-
- if (path) {
- for (c=path; c<pe; c+=i) {
- if ((*c==':')||(*c==';')) ++c;
- i=strcspn(c,":;");
- if (i) {
- strncpy(buf, c, i); buf[i]=0;
- l-=i;
- strncat(buf, "/", l);
- }
- else
- buf[0]=0;
- strncat(buf, filename, --l);
-// printf("_dl_search: %s\n",buf);
- if ((fd=open(buf,O_RDONLY))!=-1) return fd;
- }
- }
- return -1;
-}
-
-/* parse the SMALL file "conf" for lib directories (aem... hang me if you can :) ) */
-static int _dl_search_conf(char *buf, int len, const char *conf, const char *filename)
-{
- char ld_so_conf[1024];
- int i,l,fd=open(conf,O_RDONLY);
- if (fd!=-1) {
- l=read(fd,ld_so_conf,sizeof(ld_so_conf)-1);
- ld_so_conf[sizeof(ld_so_conf)-1]=0;
- close(fd);
- if (ld_so_conf[l-1]=='\n') ld_so_conf[--l]=0;
- for (i=0;i<l;i++) if (ld_so_conf[i]=='\n') ld_so_conf[i]=':';
- if ((fd=_dl_search_path(buf,len,ld_so_conf,l,filename))!=-1) return fd;
- }
- return -1;
-}
-
-int _dl_search(char *buf, int len, const char *filename)
-{
- int fd;
-
- /* 1. search the LD_RUN_PATH (from the executable */
- if (_dl_search_rpath) {
- if ((fd=_dl_search_path(buf,len,_dl_search_rpath,strlen(_dl_search_rpath),filename))!=-1) return fd;
- }
-
- /* 2. IF we have a "secure" enviroment THEN search LD_LIBRARY_PATH */
- if (getuid()==geteuid()) {
- char *p=getenv("LD_LIBRARY_PATH");
- if (p)
- if ((fd=_dl_search_path(buf,len,p,strlen(p),filename))!=-1) return fd;
- }
-
- /* 3. search all pathes in the the /etc/diet.ld.conf, a dietlibc extension :) */
- if ((fd=_dl_search_conf(buf,len,"/etc/diet.ld.conf",filename))!=-1) return fd;
-
-#ifdef WANT_LD_SO_CONF_SEARCH
- /* 4. search all pathes in the the /etc/ld.so.conf / can't handle this ...=lib?? crap */
- if ((fd=_dl_search_conf(buf,len,"/etc/ld.so.conf",filename))!=-1) return fd;
-#endif
-
- /* default path search */
- {
- const char* def_path="/usr/lib:/lib";
- return _dl_search_path(buf,len,def_path,strlen(def_path),filename);
- }
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlclose.c b/mdk-stage1/dietlibc/libdl/dlclose.c
deleted file mode 100644
index 384550c47..000000000
--- a/mdk-stage1/dietlibc/libdl/dlclose.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "_dl_int.h"
-
-int dlclose (void *handle)
-{
- if (handle) {
- struct _dl_handle *h = handle;
- if (h->lnk_count) {
- --h->lnk_count;
- return -1;
- }
- if (munmap(h->mem_base,h->mem_size)!=0) return -1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlerror.c b/mdk-stage1/dietlibc/libdl/dlerror.c
deleted file mode 100644
index 1e31bae54..000000000
--- a/mdk-stage1/dietlibc/libdl/dlerror.c
+++ /dev/null
@@ -1,4 +0,0 @@
-const char *dlerror(void)
-{
- return "HAE ?!?";
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlopen.c b/mdk-stage1/dietlibc/libdl/dlopen.c
deleted file mode 100644
index 1693d889f..000000000
--- a/mdk-stage1/dietlibc/libdl/dlopen.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <fcntl.h>
-#include <dlfcn.h>
-#include <limits.h>
-
-int _dl_search(char*buf, int bufsize, const char*filename);
-void *_dl_open(const char*pathname, int fd, int flag);
-
-void *dlopen (const char *filename, int flag)
-{
- int fd;
- char buf[PATH_MAX];
- const char *p;
- if (*filename=='/')
- fd=open(p=filename,O_RDONLY);
- else {
- p=buf;
- fd=_dl_search(buf,sizeof(buf),filename);
- }
-
- return _dl_open(p,fd,flag);
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlsym.c b/mdk-stage1/dietlibc/libdl/dlsym.c
deleted file mode 100644
index 2af940837..000000000
--- a/mdk-stage1/dietlibc/libdl/dlsym.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "_dl_int.h"
-
-void *dlsym(void *handle, char *symbol)
-{
- printf("dlsym(%08x,%s) -> %08x\n",handle,symbol,elf_hash(symbol)%17);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/elf_hash.c b/mdk-stage1/dietlibc/libdl/elf_hash.c
deleted file mode 100644
index 463dba0dd..000000000
--- a/mdk-stage1/dietlibc/libdl/elf_hash.c
+++ /dev/null
@@ -1,12 +0,0 @@
-unsigned long elf_hash(const unsigned char *name)
-{
- unsigned long h=0, g;
-
- while (*name)
- {
- h = (h<<4) + *(name++);
- if (g = h&0xf0000000) h ^= g>>24;
- h &= ~g;
- }
- return h;
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c b/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c
deleted file mode 100644
index b0c3605b0..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <ctype.h>
-
-int iscntrl(int c) {
- return (c<32) || (c>=127 && c<=160);
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c b/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c
deleted file mode 100644
index c8d4a5df0..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c
+++ /dev/null
@@ -1,4 +0,0 @@
-int isgraph(int c) {
- return (c>=33 && c<=126) || (c>=161 && c<=255);
-}
-
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-islower.c b/mdk-stage1/dietlibc/liblatin1/latin1-islower.c
deleted file mode 100644
index cab1a5171..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-islower.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <ctype.h>
-
-int islower(int c) {
- return (c>='a' && c<='z') || (c>=223 && c<=255 && c!=247);
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c b/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c
deleted file mode 100644
index f632483a0..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c
+++ /dev/null
@@ -1,4 +0,0 @@
-
-int isprint(int c) {
- return (c>=32 && c<=126) || (c>=160 && c<=255);
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c b/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c
deleted file mode 100644
index 1c1d59db8..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <ctype.h>
-
-int isupper(int c) {
- return (c>='A' && c<='Z') || (c>=192 && c<=222 && c!=215);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/CHANGES b/mdk-stage1/dietlibc/libpthread/CHANGES
deleted file mode 100644
index d39d990ba..000000000
--- a/mdk-stage1/dietlibc/libpthread/CHANGES
+++ /dev/null
@@ -1,45 +0,0 @@
-This is the pthread implementation of dietlibc.
-Written from scratch by Olaf Dreesen.
-
-Thu Apr 12 16:47:12 MEST 2001
-
- added conditional variables...
- except pthread_cond_timedwait all should work man-page like
- pthread_cond_timedwait dosen't handle cancel request according to man-page
-
- added thread specific key handling (all according to man-page)
-
-Fri Mar 30 18:47:37 MEST 2001
-
- uff found some logic errors and fixed them.
- pthread_create had a problem with user provided stacks.
-
-
-Fri Mar 23 14:09:54 MET 2001
-
- arg.. the kernel-header are so inconsistent...
- on x86 it works on arm and sparc not due to MISSING defines, miss-places
- includes and __KERNEL__ checks....
- the best in this category is that the kernel-header are changed that the
- buggy (g)libc haven't to change... (f..k glibc, the headers HAVE to be
- CONSISTENT)
- a public defined symbol on arch X have to be in Y to unless marked...
- that is mainly speaking SCHED.H ! arg....
-
-
-Wed Mar 14 04:28:45 MET 2001
-
- I have implemented the "Manager Thread" so that nested thread creation
- works. really ugly stuff... don't look at it unless you're sitting on solid
- ground.
-
-
-Mon Mar 12 16:16:00 CET 2001
-
- first of all:
- I strongly suggest NOT to use it yet, it's very, very, ... very
- experimental. I guess you got the point. there is still much debug code,
- incomplete functions and unusable states....
-
- I'm still working on the final alpha...
-
diff --git a/mdk-stage1/dietlibc/libpthread/Makefile b/mdk-stage1/dietlibc/libpthread/Makefile
deleted file mode 100644
index 06420f43a..000000000
--- a/mdk-stage1/dietlibc/libpthread/Makefile
+++ /dev/null
@@ -1,139 +0,0 @@
-all: libpthread.a
-
-ARCH=$(shell uname -m | sed 's/i[4-9]86/i386/')
-
-CFLAGS=-pipe
-CROSS=
-
-CC=gcc
-
-VPATH=../$(ARCH)/
-
-PTHREAD_OBJS = \
- __testandset.o \
- \
- thread_internal.o \
- thread_key.o \
- \
- pthread_once.o pthread_spinlock.o \
- \
- pthread_create.o pthread_detach.o \
- pthread_join.o pthread_self.o \
- pthread_exit.o \
- \
- pthread_cleanup_push.o \
- pthread_cleanup_pop.o \
- \
- pthread_attr_getdetachstate.o \
- pthread_attr_getinheritsched.o \
- pthread_attr_getschedparam.o \
- pthread_attr_getschedpolicy.o \
- pthread_attr_getscope.o \
- pthread_attr_getstackaddr.o \
- pthread_attr_getstacksize.o \
- pthread_attr_init.o \
- pthread_attr_setdetachstate.o \
- pthread_attr_setinheritsched.o \
- pthread_attr_setschedparam.o \
- pthread_attr_setschedpolicy.o \
- pthread_attr_setscope.o \
- pthread_attr_setstackaddr.o \
- pthread_attr_setstacksize.o \
- \
- pthread_cancel.o pthread_setcancelstate.o \
- pthread_setcanceltype.o pthread_testcancel.o \
- \
- pthread_mutex_init.o \
- pthread_mutex_destroy.o \
- pthread_mutex_lock.o \
- pthread_mutex_trylock.o \
- pthread_mutex_unlock.o \
- \
- pthread_mutexattr_getkind_np.o \
- pthread_mutexattr_init.o \
- pthread_mutexattr_setkind_np.o \
- \
- pthread_condattr.o \
- pthread_cond_broadcast.o \
- pthread_cond_destroy.o \
- pthread_cond_init.o \
- pthread_cond_signal.o \
- pthread_cond_timedwait.o \
- pthread_cond_wait.o \
- \
- pthread_key_create.o \
- pthread_key_delete.o \
- pthread_getspecific.o \
- pthread_setspecific.o \
- \
- pthread_atfork.o \
- pthread_sys_alloc.o \
- pthread_sys_close.o \
- pthread_sys_create.o \
- pthread_sys_fcntl.o \
- pthread_sys_fsync.o \
- pthread_sys_nanosleep.o \
- pthread_sys_logging.o \
- pthread_sys_open.o \
- pthread_sys_pause.o \
- pthread_sys_read.o \
- pthread_sys_sigsuspend.o \
- pthread_sys_tcdrain.o \
- pthread_sys_waitpid.o \
- pthread_sys_write.o
-
-%.o : %.c
- $(CC) $(CFLAGS) -c -o $@ $?
-
-include ../$(ARCH)/Makefile.add
-
-ifeq ($(CFLAGS),-pipe)
-CFLAGS+=-O -fomit-frame-pointer
-endif
-
-#CFLAGS = -g
-CFLAGS += -Wall
-
-CFLAGS += -I.. -I../include -Wall
-
-PWD=$(shell pwd)
-
-.SUFFIXES:
-.SUFFIXES: .S .c
-
-% :: %,v
-
-%.o: %.S
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $<
-
-%.o: %.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $<
-# $(CROSS)strip -x -R .comment -R .note $@
-
-libpthread.a: $(PTHREAD_OBJS)
- ar cr $@ $^
-
-libpthread.so: libpthread.a
- $(CROSS)ld -whole-archive -shared -o $@ $^
-
-
-clean:
- $(RM) *.o *.a *.so *.out *~
-
-exports: libpthread.a
- nm -g libpthread.a | grep -w T | awk '{ print $$3 }' | sort -u > exports
-
-.PHONY: test.out
-
-test.out: test.o libpthread.a $(LIBS)
- $(CROSS)$(CC) -g $(CFLAGS) -nostdlib ../bin-$(ARCH)/start.o -o $@ $^ ../bin-$(ARCH)/dietlibc.a -lgcc
-
-
-.PHONY: sparc ppc mips arm alpha i386
-
-sparc ppc alpha i386:
- $(MAKE) ARCH=$@ CROSS=$@-linux- all t libdietc.so
-
-mips arm:
- $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all t libdietc.so
-
diff --git a/mdk-stage1/dietlibc/libpthread/README b/mdk-stage1/dietlibc/libpthread/README
deleted file mode 100644
index 3139c731d..000000000
--- a/mdk-stage1/dietlibc/libpthread/README
+++ /dev/null
@@ -1,42 +0,0 @@
-LIBPTHREAD
-
- This is the pthread implementation of dietlibc.
- Written from scratch by Olaf Dreesen.
-
-1. STATUS: incomplete but should work (or not... I had a lot of heisen-bugs...)
- On non i386 archs the kernel header have major differences...
- NO workaround yet for this problems...
-
-It's like linuxthreads a clone base thread implementation.
-
-I have implemented a "Manager Thread" with all the pain it involves...
-Nested thread creation is now working fine...
-
-
-2. HOW-TO make this lib:
-
- 1. generate the dietlibc in the parent directory.
- and make sure you have WANT_THREAD_SAVE active in the file:
- dietfeatures.h
-
- 2. change back here and type make
-
- and then you should have a libpthread.a
-
-
-3. NOTES
-
-NON STANDARD SIGNAL HANDLING for the threads:
-
- SIGHUP the targeted thread is canceled
- depends on the cancel type of the thread.
-
- ASYNCHRONOUS: the signal handler will KILL the thread immediately.
-
- DEFERRED: the signal handler mark its thread as canceled.
- (only for the sig-handler to do some sane stuff...)
-
- SIGTERM the thread is KILLED
- if the thread signaled is the main thread, then ALL child-threads
- will get a SIGHUP and after some micros a SIGTERM....
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_atfork.c b/mdk-stage1/dietlibc/libpthread/pthread_atfork.c
deleted file mode 100644
index 2dc612dcc..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_atfork.c
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#define PTHREAD_NUM_ATFORK 4
-
-static struct _pthread_fastlock __atfork_struct_lock;
-static struct {
- int used;
- void (*prepare)(void);
- void (*parent)(void);
- void (*child)(void);
-} pthread_atfork_buf[PTHREAD_NUM_ATFORK];
-
-int pthread_atfork(void (*prepare)(void),
- void (*parent)(void),
- void (*child)(void))
-{
- int i,ret=-1;
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__atfork_struct_lock);
-
- for (i=0;i<PTHREAD_NUM_ATFORK; ++i) {
- if (!(pthread_atfork_buf[i].used)) {
- pthread_atfork_buf[i].prepare=prepare;
- pthread_atfork_buf[i].parent=parent;
- pthread_atfork_buf[i].child=child;
- ret=0;
- break;
- }
- }
-
- __pthread_unlock(&__atfork_struct_lock);
- __NO_ASYNC_CANCEL_END;
-
- if (ret) (*(__errno_location()))=ENOMEM;
- return ret;
-}
-
-pid_t fork(void)
-{
- pid_t pid;
- int i=PTHREAD_NUM_ATFORK;
-
- __NO_ASYNC_CANCEL_BEGIN;
-
- __TEST_CANCEL();
- __pthread_lock(&__atfork_struct_lock);
-
- while (i) {
- if (pthread_atfork_buf[--i].used)
- if (pthread_atfork_buf[i].prepare)
- pthread_atfork_buf[i].prepare();
- }
-
- pid=__libc_fork();
-
- if (pid>0) { /* parent */
- for (i=0;i<PTHREAD_NUM_ATFORK;++i)
- if (pthread_atfork_buf[i].used)
- if (pthread_atfork_buf[i].parent)
- pthread_atfork_buf[i].parent();
- } else if (pid==0) { /* child */
- for (i=0;i<PTHREAD_NUM_ATFORK;++i)
- if (pthread_atfork_buf[i].used)
- if (pthread_atfork_buf[i].child)
- pthread_atfork_buf[i].child();
- }
-
- __pthread_unlock(&__atfork_struct_lock);
- __NO_ASYNC_CANCEL_END;
-
- return pid;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c
deleted file mode 100644
index ccdfc0e47..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate)
-{
- __THREAD_INIT();
-
- *detachstate=attr->__detachstate;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c
deleted file mode 100644
index 314fd8ade..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inherit)
-{
- __THREAD_INIT();
-
- *inherit = attr->__inheritsched;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c
deleted file mode 100644
index f0a9a07d1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param)
-{
- __THREAD_INIT();
-
- param->sched_priority=attr->__schedparam.sched_priority;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c
deleted file mode 100644
index 53f1bed8c..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy)
-{
- __THREAD_INIT();
-
- *policy = attr->__schedpolicy;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c
deleted file mode 100644
index 99a33110d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getscope(const pthread_attr_t *attr, int *scope)
-{
- __THREAD_INIT();
-
- *scope=PTHREAD_SCOPE_SYSTEM;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c
deleted file mode 100644
index d71421901..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getstackaddr(pthread_attr_t *attr, void **stack)
-{
- __THREAD_INIT();
-
- *stack=attr->__stackaddr;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c
deleted file mode 100644
index 4785979a0..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)
-{
- __THREAD_INIT();
-
- *stacksize=attr->__stacksize;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c
deleted file mode 100644
index 726e88fe5..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_init(pthread_attr_t *attr)
-{
- __THREAD_INIT();
-
- memset(attr,0,sizeof(pthread_attr_t));
- attr->__stacksize=PTHREAD_STACK_SIZE;
- return 0;
-}
-
-int pthread_attr_destroy(pthread_attr_t *attr) __attribute__((alias("pthread_attr_init")));
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c
deleted file mode 100644
index 690ad5f8e..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate)
-{
- __THREAD_INIT();
-
- if ((detachstate == PTHREAD_CREATE_JOINABLE) ||
- (detachstate == PTHREAD_CREATE_DETACHED)) {
- attr->__detachstate=detachstate;
- return 0;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c
deleted file mode 100644
index f38e6e35e..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit)
-{
- __THREAD_INIT();
-
- if ((inherit==PTHREAD_INHERIT_SCHED) ||
- (inherit==PTHREAD_EXPLICIT_SCHED)) {
- attr->__inheritsched=inherit;
- return 0;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c
deleted file mode 100644
index 833c0111b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param)
-{
- __THREAD_INIT();
-
- if ((attr->__schedpolicy == SCHED_OTHER) && (param->sched_priority == 0)) {
- attr->__schedparam.sched_priority=0;
- return 0;
- }
- if (((attr->__schedpolicy == SCHED_RR) || (attr->__schedpolicy == SCHED_RR))
- && ((param->sched_priority > 0) && (param->sched_priority < 100))) {
- attr->__schedparam.sched_priority=param->sched_priority;
- return 0;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c
deleted file mode 100644
index e845bca32..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy)
-{
- __THREAD_INIT();
-
- if (policy==SCHED_OTHER) {
- attr->__schedpolicy=policy;
- return 0;
- }
- if ((policy==SCHED_FIFO) || (policy==SCHED_RR)) {
- if (geteuid()==0) {
- attr->__schedpolicy=policy;
- return 0;
- }
- (*(__errno_location()))=ENOTSUP;
- }
- else
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c
deleted file mode 100644
index 39088c9b2..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setscope(pthread_attr_t *attr, int scope)
-{
- __THREAD_INIT();
-
- if (scope==PTHREAD_SCOPE_SYSTEM) return 0;
-
- if (scope==PTHREAD_SCOPE_PROCESS)
- (*(__errno_location()))=ENOTSUP;
- else
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c
deleted file mode 100644
index 4b320cd9d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stack)
-{
- __THREAD_INIT();
-
- attr->__stackaddr=stack;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c
deleted file mode 100644
index cfbab7747..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize)
-{
- __THREAD_INIT();
-
- if (stacksize>=PTHREAD_STACK_SIZE) {
- attr->__stacksize=stacksize;
- return 0;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c b/mdk-stage1/dietlibc/libpthread/pthread_cancel.c
deleted file mode 100644
index 4c87a3ed1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cancel(pthread_t th)
-{
- pthread_t j;
- _pthread_descr thread;
-
- __THREAD_INIT();
-
- j=__find_thread_id(th);
-
- if (j==-1) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
- thread = __get_thread_struct(j);
-
- if (thread==0) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
-
- if (thread->cancelstate!=PTHREAD_CANCEL_DISABLE) {
- thread->canceled=1;
- if (thread->canceltype!=PTHREAD_CANCEL_DEFERRED) {
- kill(thread->pid,SIGHUP);
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c b/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c
deleted file mode 100644
index 641bb6083..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-void pthread_cleanup_pop(int execute)
-{
- _pthread_descr this;
- struct thread_cleanup_t tmp;
- int i=PTHREAD_MAX_CLEANUP;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- while(i>0) {
- if (this->cleanup_stack[--i].func) {
- tmp.func=this->cleanup_stack[i].func;
- tmp.arg=this->cleanup_stack[i].arg;
- this->cleanup_stack[i].func=0;
- break;
- }
- }
-
- if (execute) tmp.func(tmp.arg);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c b/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c
deleted file mode 100644
index cd2aabf71..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-void pthread_cleanup_push(void (*func)(void*), void *arg)
-{
- _pthread_descr this;
- int i;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- for (i=0; i<PTHREAD_MAX_CLEANUP; ++i) {
- if (this->cleanup_stack[i].func==0) {
- this->cleanup_stack[i].func=func;
- this->cleanup_stack[i].arg=arg;
- break;
- }
- }
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c
deleted file mode 100644
index d3c2274f3..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_broadcast(pthread_cond_t *cond)
-{
- _pthread_descr tmp;
-
- __THREAD_INIT();
-
- __pthread_lock(&(cond->lock));
- while ((tmp=cond->wait_chain)) {
- cond->wait_chain=tmp->waitnext;
- tmp->waitnext=0;
- tmp->waiting=0;
- }
- __pthread_unlock(&(cond->lock));
-
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c
deleted file mode 100644
index 9a6cc4f0b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_destroy(pthread_cond_t *cond)
-{
- __THREAD_INIT();
-
- if (cond->wait_chain) {
- (*__errno_location())=EBUSY;
- return 1;
- }
-
- memset(cond,0,sizeof(pthread_cond_t));
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c
deleted file mode 100644
index 20b38bef2..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr)
-{
- __THREAD_INIT();
-
- memset(cond,0,sizeof(pthread_cond_t));
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c
deleted file mode 100644
index 60bf2119c..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_signal(pthread_cond_t *cond)
-{
- _pthread_descr tmp=0;
-
- __THREAD_INIT();
-
- __pthread_lock(&(cond->lock));
- if ((tmp=cond->wait_chain)) cond->wait_chain=tmp->waitnext;
- __pthread_unlock(&(cond->lock));
-
- if (tmp) {
- tmp->waitnext=0;
- tmp->waiting=0;
- }
-
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c
deleted file mode 100644
index 6613f2ca9..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
- const struct timespec *abstime)
-{
- _pthread_descr tmp;
- _pthread_descr this;
- int ret;
-
- __THREAD_INIT();
-
- this=__thread_self();
-
- /* put in wait-chain */
- __pthread_lock(&(cond->lock));
- this->waiting=1;
- if (cond->wait_chain) {
- for(tmp=cond->wait_chain;tmp->waitnext;tmp=tmp->waitnext);
- tmp->waitnext=this;
- } else cond->wait_chain=this;
- __pthread_unlock(&(cond->lock));
-
- /* Aeh yeah / wait till signal */
- pthread_mutex_unlock(mutex);
- ret=nanosleep(abstime,0);
- pthread_mutex_lock(mutex);
-
- __TEST_CANCEL();
-
- if (ret) {
- if ((*__errno_location())!=EINTR) return -1;
- return 0;
- }
-
- (*__errno_location())=ETIMEDOUT;
- return -1;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c
deleted file mode 100644
index 0c6c0ae13..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
-{
- _pthread_descr tmp;
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this=__thread_self();
-
- /* put in wait-chain */
- __pthread_lock(&(cond->lock));
- this->waiting=1;
- if (cond->wait_chain) {
- for(tmp=cond->wait_chain;tmp->waitnext;tmp=tmp->waitnext);
- tmp->waitnext=this;
- } else cond->wait_chain=this;
- __pthread_unlock(&(cond->lock));
-
- /* Aeh yeah / wait till signal */
- pthread_mutex_unlock(mutex);
- while (this->waiting) {
- __thread_wait_some_time();
- if (this->canceled) this->waiting=0; /* we got a cancel signal */
- }
- pthread_mutex_lock(mutex);
-
- __TEST_CANCEL();
- return 0;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_condattr.c b/mdk-stage1/dietlibc/libpthread/pthread_condattr.c
deleted file mode 100644
index c537890ba..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_condattr.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <pthread.h>
-
-int pthread_condattr_init(pthread_condattr_t *attr)
-{
- return 0;
-}
-
-int pthread_condattr_destroy(pthread_condattr_t *attr)
-__attribute__((alias("pthread_condattr_init")));
-
-int pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared)
-__attribute__((alias("pthread_condattr_init")));
-
-int pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared)
-__attribute__((alias("pthread_condattr_init")));
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_create.c b/mdk-stage1/dietlibc/libpthread/pthread_create.c
deleted file mode 100644
index b4a499081..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_create.c
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_create (pthread_t *thread, const pthread_attr_t *attr,
- void *(*start_routine) (void *), void *arg)
-{
- int ret=0;
- _pthread_descr td;
- pthread_attr_t default_attr;
-
- __THREAD_INIT();
-
- if (start_routine==0) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
-
- td = __thread_get_free();
-
- if (td) {
- if (!(attr)) {
- pthread_attr_init(&default_attr);
- attr=&default_attr;
- }
-
- if ((td->policy!=SCHED_OTHER)&&(td->priority==0)) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
-
- if (attr->__inheritsched==PTHREAD_INHERIT_SCHED) {
- _pthread_descr this = __thread_self();
- td->policy = this->policy;
- td->priority = this->priority;
- } else {
- td->policy = attr->__schedpolicy;
- td->priority = attr->__schedparam.sched_priority;
- }
-
- td->func = start_routine;
- td->arg = arg;
-
- td->detached = attr->__detachstate;
-
- td->stack_size = attr->__stacksize;
-
- if (!(td->stack_addr)) {
- char *stack=(char*)malloc(td->stack_size);
- if (!(stack)) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
- td->stack_begin = stack;
- td->stack_addr = stack+td->stack_size;
- } else {
- td->stack_begin = 0;
- td->stack_addr = attr->__stackaddr;
- }
-
- ret = signal_manager_thread(td);
-
- if (ret>1)
- *thread=ret;
- else
- __thread_cleanup(td);
- }
- else
- (*(__errno_location()))=EAGAIN;
-
- if (ret<2) return -1;
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_detach.c b/mdk-stage1/dietlibc/libpthread/pthread_detach.c
deleted file mode 100644
index c07280389..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_detach.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_detach(pthread_t th)
-{
- pthread_t j;
- _pthread_descr thread;
-
- __THREAD_INIT();
-
- j=__find_thread_id(th);
-
- if (j==-1) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
- thread = __get_thread_struct(j);
-
- if (thread==0) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
-
- if (thread->detached) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
-
- if (!thread->joined) {
- thread->detached=1;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_exit.c b/mdk-stage1/dietlibc/libpthread/pthread_exit.c
deleted file mode 100644
index 41eac0a33..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_exit.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-void pthread_exit(void *retval)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
- this->retval = retval;
-
- longjmp(this->jmp_exit,1);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c b/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c
deleted file mode 100644
index c2f84c814..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-const void *pthread_getspecific(pthread_key_t key)
-{
- int id;
- __THREAD_INIT();
-
- id=__find_thread_id(getpid());
-
- if ((key<PTHREAD_KEYS_MAX) && (__thread_keys[key].used)) {
- return __thread_keys[key].tkd[id];
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_join.c b/mdk-stage1/dietlibc/libpthread/pthread_join.c
deleted file mode 100644
index 5b295bad1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_join.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include "thread_internal.h"
-#include <pthread.h>
-
-int pthread_join(pthread_t th, void **thread_return)
-{
- pthread_t j;
- _pthread_descr this, thread;
-
- __THREAD_INIT();
-
- this = __thread_self();
- j=__find_thread_id(th);
-
- if (j==-1) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
-
- thread = __get_thread_struct(j);
-
- /* error handling */
- if (thread==0) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
-
- if (this==thread) {
- (*(__errno_location()))=EDEADLK;
- return -1;
- }
-
- if (thread->detached || thread->joined) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
-
- thread->joined=this;
- this->join=1;
-
- while(this->join) __thread_wait_some_time();
-
- if (thread_return) *thread_return=this->retval;
-
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c b/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
deleted file mode 100644
index 44fccea6a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-extern struct _pthread_fastlock __thread_keys_lock;
-extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-int pthread_key_create(pthread_key_t *key, void (*destructor)(const void*))
-{
- int ret=-1,i;
-
- __THREAD_INIT();
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__thread_keys_lock);
-
- for (i=0; i<PTHREAD_KEYS_MAX; i++) {
- if (!__thread_keys[i].used) {
- __thread_keys[i].used=1;
- __thread_keys[i].destructor=destructor;
- memset(__thread_keys[i].tkd,0,PTHREAD_THREADS_MAX*sizeof(struct _thread_key));
- *key=i;
- ret=0;
- break;
- }
- }
-
- __pthread_unlock(&__thread_keys_lock);
- __NO_ASYNC_CANCEL_END;
-
- if (ret) (*__errno_location())=EAGAIN;
- return ret;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c b/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c
deleted file mode 100644
index b1bc366e2..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-int pthread_key_delete(pthread_key_t key)
-{
- __THREAD_INIT();
-
- if (key>=PTHREAD_KEYS_MAX) {
- (*__errno_location())=EINVAL;
- return -1;
- }
-
- __thread_keys[key].used=0;
-
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c
deleted file mode 100644
index 33a16abd4..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutex_destroy(pthread_mutex_t *mutex)
-{
- __THREAD_INIT();
-
- if ((mutex->owner)||(mutex->lock.__spinlock)) {
- (*(__errno_location()))=EBUSY;
- return -1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c
deleted file mode 100644
index b1797fb20..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutex_init(pthread_mutex_t *mutex,
- const pthread_mutexattr_t *mutexattr)
-{
- __THREAD_INIT();
-
- memset(mutex,0,sizeof(pthread_mutex_t));
- if (mutexattr) {
- mutex->kind=mutexattr->__mutexkind;
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c
deleted file mode 100644
index 0c3ade9e8..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <unistd.h>
-#include <sched.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-/* will never return EINVAL ! */
-
-int pthread_mutex_lock(pthread_mutex_t *mutex)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- if (this!=mutex->owner) {
- /* wait for mutex to free */
- __pthread_lock(&(mutex->lock));
-
- mutex->owner=this;
- }
- else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP)
- {
- (*(__errno_location()))=EDEADLK;
- return -1;
- }
-
- if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) ++(mutex->count);
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c
deleted file mode 100644
index fcf63f75e..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <unistd.h>
-#include <sched.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-/* will never return EINVAL ! */
-
-int pthread_mutex_trylock(pthread_mutex_t *mutex)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- if (this!=mutex->owner) {
- /* wait for mutex to free */
- if (__pthread_trylock(&(mutex->lock))) {
- (*(__errno_location()))=EBUSY;
- return -1;
- }
-
- mutex->owner=this;
- }
- else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP)
- {
- (*(__errno_location()))=EDEADLK;
- return -1;
- }
-
- if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) ++(mutex->count);
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c
deleted file mode 100644
index 0b5a1d0f7..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <unistd.h>
-#include <sched.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-/* will never return EINVAL ! */
-
-int pthread_mutex_unlock(pthread_mutex_t *mutex)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- if (this==mutex->owner) {
- if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) {
- if (--(mutex->count))
- return 0;
- }
-
- mutex->owner=0;
- __pthread_unlock(&(mutex->lock));
- }
- else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP)
- {
- (*(__errno_location()))=EPERM;
- return -1;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c
deleted file mode 100644
index 63cd9133c..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind)
-{
- __THREAD_INIT();
-
- *kind=attr->__mutexkind;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c
deleted file mode 100644
index ff60e4c74..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutexattr_init(pthread_mutexattr_t *attr)
-{
- __THREAD_INIT();
-
- attr->__mutexkind = 0;
- return 0;
-}
-
-int pthread_mutexattr_destroy(pthread_mutexattr_t *attr) __attribute__((alias ("pthread_mutexattr_init")));
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c
deleted file mode 100644
index ac600f8ed..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind)
-{
- __THREAD_INIT();
-
- if ((kind==PTHREAD_MUTEX_FAST_NP) || (kind==PTHREAD_MUTEX_RECURSIVE_NP) ||
- (kind==PTHREAD_MUTEX_ERRORCHECK_NP)) {
- attr->__mutexkind=kind;
- return 0;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_once.c b/mdk-stage1/dietlibc/libpthread/pthread_once.c
deleted file mode 100644
index 16d9cb392..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_once.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <pthread.h>
-#include "thread_internal.h"
-
-int __pthread_once (pthread_once_t* once_control, void (*init_routine)(void))
-{
- if (!(__testandset(once_control))) init_routine();
- return 0;
-}
-int pthread_once (pthread_once_t* once_control, void (*init_routine)(void)) __attribute__((alias("__pthread_once")));
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_self.c b/mdk-stage1/dietlibc/libpthread/pthread_self.c
deleted file mode 100644
index 394686dd4..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_self.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <unistd.h>
-#include <pthread.h>
-
-pthread_t pthread_self() { return getpid(); }
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c b/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c
deleted file mode 100644
index b906492fb..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_setcancelstate(int state, int *oldstate)
-{
- _pthread_descr thread;
-
- __THREAD_INIT();
-
- if ((state==PTHREAD_CANCEL_ENABLE) || (state==PTHREAD_CANCEL_DISABLE))
- {
- thread = __thread_self();
-
- if (oldstate) *oldstate = thread->cancelstate;
- thread->cancelstate = state;
-
- return 0;
- }
-
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c b/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c
deleted file mode 100644
index 03d1f53de..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_setcanceltype(int type, int *oldtype)
-{
- _pthread_descr thread;
-
- __THREAD_INIT();
-
- if ((type==PTHREAD_CANCEL_DEFERRED) || (type==PTHREAD_CANCEL_ASYNCHRONOUS))
- {
- thread = __thread_self();
-
- if (oldtype) *oldtype = thread->canceltype;
- thread->canceltype = type;
-
- return 0;
- }
-
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c b/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c
deleted file mode 100644
index 78339c20b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-int pthread_setspecific(pthread_key_t key, const void *value)
-{
- int id;
- __THREAD_INIT();
-
- id=__find_thread_id(getpid());
- if ((key<PTHREAD_KEYS_MAX) && (__thread_keys[key].used)) {
- __thread_keys[key].tkd[id]=value;
- return 0;
- }
- (*__errno_location())=EINVAL;
- return -1;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c b/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c
deleted file mode 100644
index 449782adf..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <time.h>
-#include <pthread.h>
-#include "thread_internal.h"
-
-static void __pthread_acquire(int * spinlock)
-{
- int cnt = 0;
- struct timespec tm;
-
- while (__testandset(spinlock)) {
- if (cnt < MAX_SPIN_COUNT) {
- sched_yield();
- cnt++;
- } else {
- tm.tv_sec = 0;
- tm.tv_nsec = SPIN_SLEEP_DURATION;
- __libc_nanosleep(&tm, 0);
- cnt = 0;
- }
- }
-}
-
-void __pthread_lock(struct _pthread_fastlock * lock)
-{
- __pthread_acquire(&lock->__spinlock);
-}
-
-int __pthread_trylock(struct _pthread_fastlock * lock)
-{
- return __testandset(&lock->__spinlock);
-}
-
-int __pthread_unlock(struct _pthread_fastlock * lock)
-{
- return (lock->__spinlock = 0);
-}
-
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c
deleted file mode 100644
index 9f7d23d79..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-static pthread_mutex_t mutex_alloc = PTHREAD_MUTEX_INITIALIZER;
-
-void free(void *ptr)
-{
- __NO_ASYNC_CANCEL_BEGIN;
- pthread_mutex_lock(&mutex_alloc);
- __libc_free(ptr);
- pthread_mutex_unlock(&mutex_alloc);
- __NO_ASYNC_CANCEL_END;
-}
-
-void *malloc(size_t size)
-{
- register void *ret;
- __NO_ASYNC_CANCEL_BEGIN;
- pthread_mutex_lock(&mutex_alloc);
- ret=__libc_malloc(size);
- pthread_mutex_unlock(&mutex_alloc);
- __NO_ASYNC_CANCEL_END;
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c
deleted file mode 100644
index 84d5d5f36..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int close(int fd)
-{
- __TEST_CANCEL();
- return __libc_close(fd);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c
deleted file mode 100644
index 9d47844f5..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int creat(const char *pathname, mode_t mode)
-{
- __TEST_CANCEL();
- return __libc_creat(pathname,mode);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c
deleted file mode 100644
index 99210a488..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int fcntl(int fd, int cmd, void *arg)
-{
- __TEST_CANCEL();
- return __libc_fcntl(fd,cmd,arg);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c
deleted file mode 100644
index a2c995069..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int fsync(int fd)
-{
- __TEST_CANCEL();
- return __libc_fsync(fd);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c
deleted file mode 100644
index 6070ad219..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <unistd.h>
-#include <stdarg.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-static pthread_mutex_t mutex_syslog = PTHREAD_MUTEX_INITIALIZER;
-
-void closelog(void)
-{
- pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog);
- pthread_mutex_lock(&mutex_syslog);
- __libc_closelog();
- pthread_cleanup_pop(1);
-}
-
-void openlog(const char *ident, int option, int facility)
-{
- pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog);
- pthread_mutex_lock(&mutex_syslog);
- __libc_openlog(ident, option, facility);
- pthread_cleanup_pop(1);
-}
-
-void vsyslog(int priority, const char *format, va_list arg_ptr)
-{
- pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog);
- pthread_mutex_lock(&mutex_syslog);
- __libc_vsyslog(priority, format, arg_ptr);
- pthread_cleanup_pop(1);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c
deleted file mode 100644
index 699de4654..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <time.h>
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int nanosleep(const struct timespec *req, struct timespec *rem)
-{
- __TEST_CANCEL();
- return __libc_nanosleep(req,rem);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c
deleted file mode 100644
index 513f6a323..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int __pthread_open(const char *pathname, int flags, mode_t mode)
-{
- __TEST_CANCEL();
- return __libc_open(pathname,flags,mode);
-}
-
-int open(const char *pathname, int flags, ...) __attribute__((alias("__pthread_open")));
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c
deleted file mode 100644
index ab15ead11..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pause()
-{
- __TEST_CANCEL();
- return __libc_pause();
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c
deleted file mode 100644
index 60f886003..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int read(int fd, void *buf, size_t count)
-{
- __TEST_CANCEL();
- return __libc_read(fd,buf,count);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c
deleted file mode 100644
index 72cd783ae..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int sigsuspend(const sigset_t *mask)
-{
- __TEST_CANCEL();
- return __libc_sigsuspend(mask);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c
deleted file mode 100644
index 1ac33adfc..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int tcdrain(int fd)
-{
- __TEST_CANCEL();
- return __libc_tcdrain(fd);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c
deleted file mode 100644
index 76d5ddca7..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-pid_t waitpid(pid_t pid, int *status, int options)
-{
- __TEST_CANCEL();
- return __libc_waitpid(pid,status,options);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c
deleted file mode 100644
index 37541ae42..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int write(int fd, const void *buf, size_t count)
-{
- __TEST_CANCEL();
- return __libc_write(fd,buf,count);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c b/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c
deleted file mode 100644
index 68f91e743..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-void pthread_testcancel()
-{
- _pthread_descr thread;
- __THREAD_INIT();
-
- thread=__thread_self();
-
- if (thread->canceled) {
- pthread_exit(PTHREAD_CANCELED);
- }
-}
diff --git a/mdk-stage1/dietlibc/libpthread/test.c b/mdk-stage1/dietlibc/libpthread/test.c
deleted file mode 100644
index 3272c1753..000000000
--- a/mdk-stage1/dietlibc/libpthread/test.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <stdio.h>
-#include <pthread.h>
-
-#include <unistd.h>
-#include <signal.h>
-
-#include <errno.h>
-
-int ra;
-
-void test(int sig)
-{
- printf("SIGNAL %d in %d\n",sig,getpid());
- fflush(stdout);
- signal(SIGHUP, test);
-}
-
-void* thread(void* arg)
-{
- int i;
- for (i=0;i<10; i++)
- {
- printf("child %ld %8p\n", pthread_self(),arg);
- sleep(1);
- }
- return arg;
-}
-
-void* thread2(void *arg)
-{
- pthread_t t;
- int i;
-
- printf("child %ld %8p\n", pthread_self(),arg);
- for (i=0; i<3; ++i) {
- printf("child starting next in %d secs %ld %8p\n", 3-i, pthread_self(),arg);
- sleep(1);
- }
- pthread_create(&t,0, thread, (void*)2);
- printf("new child @ %ld\n",t);
- return (void*)t;
-}
-
-int main(int argc, char*argv[])
-{
- pthread_t t;
-
- signal(SIGHUP, test);
-
- pthread_create(&t,0, thread2, 0);
- pthread_create(&t,0, thread, (void *)3);
- pthread_create(&t,0, thread, (void *)1);
-
- puts("main");
-
-#if 0
- {
- int i;
- for(i=0;i<4;i++) sleep(1);
- }
-#else
- {
- int *tt;
- int i = pthread_join(t,(void*)&tt);
- printf("join %d %p %d\n",i,tt,(*(__errno_location())));
- }
-#endif
-
- puts("main exit");
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/thread_internal.c b/mdk-stage1/dietlibc/libpthread/thread_internal.c
deleted file mode 100644
index a93806203..000000000
--- a/mdk-stage1/dietlibc/libpthread/thread_internal.c
+++ /dev/null
@@ -1,344 +0,0 @@
-#include <signal.h>
-#include <string.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <sched.h>
-#include <sys/resource.h>
-
-#include <stdio.h>
-#include "thread_internal.h"
-
-static struct _pthread_fastlock __thread_struct_lock = {0};
-static struct _pthread_descr_struct threads[PTHREAD_THREADS_MAX];
-static int _max_used_thread_id=1;
-pthread_once_t __thread_inited;
-
-static struct _pthread_fastlock __manager_thread_signal_lock = {0};
-static struct _pthread_fastlock __manager_thread_data_lock = {1};
-static struct _pthread_fastlock __manager_thread_data_go_lock = {1};
-
-//#define DEBUG
-
-/* find thread */
-int __find_thread_id(int pid)
-{
- register int i;
- for (i=0; i<_max_used_thread_id; i++)
- if (threads[i].pid==pid)
- return i;
- return -1;
-}
-
-/* get thread */
-_pthread_descr __get_thread_struct(int id)
-{
- return threads+id;
-}
-
-/* thread errno location */
-int *__errno_location(void)
-{
- int id=0;
- if (__thread_inited) id=__find_thread_id(getpid());
- if (id<0)
- return 0;
- else
- return &threads[id].errno;
-}
-
-/* thread self */
-_pthread_descr __thread_self()
-{
- register int i=__find_thread_id(getpid());
- if (i<0)
- return 0;
- else
- return threads+i;
-}
-
-/* allocate a thread slot */
-_pthread_descr __thread_get_free()
-{
- _pthread_descr ret=0;
- int i;
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__thread_struct_lock);
-
- for (i=0; i<PTHREAD_THREADS_MAX; i++) {
- if (threads[i].pid==0) {
- threads[i].pid=1; /* mark as taken */
- ret = threads+i;
- if (i>=_max_used_thread_id) _max_used_thread_id=i+1;
- break;
- }
- }
-
- __pthread_unlock(&__thread_struct_lock);
- __NO_ASYNC_CANCEL_END;
- return ret;
-}
-
-/* sleep a little (reschedule for this time) */
-void __thread_wait_some_time()
-{
- struct timespec reg;
- reg.tv_sec=0;
- reg.tv_nsec=SPIN_SLEEP_DURATION;
- __libc_nanosleep(&reg,0);
-}
-
-/* cleanup a thread struct */
-void __thread_cleanup(_pthread_descr th)
-{
- /* lib provided stack should be freed */
- if (th->stack_begin) free(th->stack_begin);
-
- /* an other thread has joined this on */
- if (th->joined) {
- th->joined->retval=th->retval;
- th->joined->join=0;
- th->joined=0;
- }
- th->pid=0; /* mark struct as free */
-}
-
-/* SIGHUP handler (thread cnacel) PTHREAD_CANCEL_ASYNCHRONOUS */
-static void __thread_cancel_handler(int sig)
-{
- _pthread_descr this;
- this = __thread_self();
- this->canceled=1;
- if (this->canceltype==PTHREAD_CANCEL_ASYNCHRONOUS)
- pthread_exit(PTHREAD_CANCELED);
- signal( SIGHUP, __thread_cancel_handler );
-}
-
-/* kill ALL threads / other then prime task and manager thread */
-static void __kill_all_threads()
-{
- int i;
-
- for (i=2; i<_max_used_thread_id; i++) {
- if (threads[i].pid>1) {
-#ifdef DEBUG
- printf("CANCEL ! %d\n",threads[i].pid);
-#endif
- threads[i].canceled=1;
- kill(threads[i].pid, SIGHUP); /* cancel thread */
- }
- }
-
- __thread_wait_some_time();
-
- for (i=2; i<_max_used_thread_id; i++) {
- if (threads[i].pid>1) {
-#ifdef DEBUG
- printf("KILL ! %d\n",threads[i].pid);
-#endif
- kill(threads[i].pid, SIGTERM); /* KILL thread */
- }
- }
-}
-
-__attribute__((weak)) volatile void __thread_start__key(int id) { return; }
-__attribute__((weak,alias("__thread_start__key"))) volatile void __thread_exit__key(int id);
-
-/* support for manager */
-static void *__mthread_starter(void *arg)
-{
- _pthread_descr td = (_pthread_descr)arg;
- int i = td->stack_size-4096;
-
- /* just to be sure */
- td->pid=getpid();
-
- /* signal handling for a thread */
- signal(SIGTERM, _exit);
- signal(SIGCHLD, SIG_DFL);
- signal(SIGHUP, __thread_cancel_handler );
-
- /* limit stack so that we NEVER have to worry */
- setrlimit(RLIMIT_STACK, (struct rlimit *)(&i));
-
- /* set scheduler */
- if (td->policy!=SCHED_OTHER) {
- struct sched_param sp;
- sp.sched_priority=td->priority;
- sched_setscheduler(td->pid,td->policy, &sp);
- }
-
- /* thread_key glue */
- __thread_start__key(td-threads);
-
-#ifdef DEBUG
- printf("in starter %d, parameter %8p\n", td->pid, td->func);
-#endif
-
- if (!td->canceled) {
- if (!(setjmp(td->jmp_exit))) {
- td->retval=td->func(td->arg);
-#ifdef DEBUG
- } else {
- printf("pthread_exit called in %d\n", td->pid);
-#endif
- }
- }
- pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED,0);
-
- /* thread_key glue */
- __thread_exit__key(td-threads);
-
-#ifdef DEBUG
- printf("end starter %d, retval %8p\n", td->pid, td->retval);
-#endif
-
- /* wake joined thread and put retval */
- if (td->joined) {
- td->joined->retval=td->retval;
- td->joined->join=0;
- td->joined=0;
- }
-
- /* execute all functions on the cleanup-stack */
- for (i=PTHREAD_MAX_CLEANUP;i;) {
- if (td->cleanup_stack[--i].func) {
- td->cleanup_stack[i].func(td->cleanup_stack[i].arg);
- }
- }
-
- return 0;
-}
-
-
-/* manager thread and signal handler */
-static char __manager_thread_stack[12*1024];
-static volatile _pthread_descr __manager_thread_data;
-static void __manager_SIGCHLD(int sig)
-{
- int pid, status, i;
-
- while(1) {
- pid = __libc_waitpid (-1, &status, WNOHANG);
- if (pid <= 0) break;
-
- for (i=0; i<_max_used_thread_id; i++) {
- if (threads[i].pid==pid) {
- __thread_cleanup(threads+i);
- break;
- }
- }
- }
-}
-
-static void __manager_SIGTERM(int sig)
-{
- __kill_all_threads();
- _exit(0);
-}
-
-static void* __manager_thread(void *arg)
-{
- struct sigaction sig_action_chld;
- sig_action_chld.sa_handler = __manager_SIGCHLD;
- sigemptyset(&sig_action_chld.sa_mask);
- sig_action_chld.sa_flags = SA_RESTART;
-
- sigaction(SIGCHLD, &sig_action_chld, 0);
- signal(SIGTERM, __manager_SIGTERM);
- signal(SIGHUP, SIG_IGN);
-
- __pthread_unlock(&__manager_thread_data_go_lock); /* release init */
- while(1) {
- do {
- __thread_wait_some_time();
- if (getppid()<0) __manager_SIGTERM(0);
- } while (__pthread_trylock(&__manager_thread_data_lock));
-
- __manager_thread_data->pid =
- __clone(__mthread_starter,
- __manager_thread_data->stack_addr,
- CLONE_VM | CLONE_FS | CLONE_FILES | SIGCHLD,
- __manager_thread_data);
- __thread_wait_some_time();
-#ifdef DEBUG
- printf("manager new thread %d\n",__manager_thread_data->pid);
-#endif
- __pthread_unlock(&__manager_thread_data_go_lock); /* release sender */
- }
- return 0;
-}
-
-/* pthread_create bottom half */
-int signal_manager_thread(_pthread_descr td)
-{
- __NO_ASYNC_CANCEL_BEGIN;
-
- __pthread_lock(&__manager_thread_signal_lock); /* lock */
-
- __manager_thread_data = td;
- __thread_wait_some_time();
- __pthread_unlock(&__manager_thread_data_lock); /* signal manager to start */
- __thread_wait_some_time();
- __pthread_lock(&__manager_thread_data_go_lock); /* wait for manager */
-
- __pthread_unlock(&__manager_thread_signal_lock); /* unlock */
-
- __NO_ASYNC_CANCEL_END;
-
- return td->pid;
-}
-
-
-/* thread stop */
-static void __thread_main_exit()
-{
- if (getpid()!=threads[0].pid) {
-#ifdef DEBUG
- printf("A THREAD ? %d\n",getpid());
-#endif
- kill(threads[0].pid, SIGTERM);
- while(1) __thread_wait_some_time();
- }
-#ifdef DEBUG
- else
- printf("EXIT ! %d\n",getpid());
-#endif
-
- /* stop ALL threads */
- kill(threads[1].pid, SIGTERM);
- __thread_wait_some_time();
- __kill_all_threads();
-}
-
-/* thread intern init */
-void __thread_init()
-{
- if (atexit(__thread_main_exit)==-1)
- exit(42);
-
-#ifdef DEBUG
- printf("INIT ! %d\n",getpid());
- memset(threads,0,sizeof(threads));
-#endif
-
- threads[0].pid = getpid();
-
- ++_max_used_thread_id;
- threads[1].stack_size=sizeof(__manager_thread_stack);
- threads[1].stack_addr=&__manager_thread_stack[sizeof(__manager_thread_stack)];
- threads[1].stack_begin=0;
- threads[1].func=__manager_thread;
-
- threads[1].pid = __clone(__mthread_starter, threads[1].stack_addr,
- CLONE_VM | CLONE_FS | CLONE_FILES, threads+1);
-
-#ifdef DEBUG
- printf("manager thread @ : %d\n",threads[1].pid);
-#endif
- __pthread_lock(&__manager_thread_data_go_lock); /* wait for manager to be ready */
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/thread_internal.h b/mdk-stage1/dietlibc/libpthread/thread_internal.h
deleted file mode 100644
index 5eb3bbd08..000000000
--- a/mdk-stage1/dietlibc/libpthread/thread_internal.h
+++ /dev/null
@@ -1,131 +0,0 @@
-#ifndef __THREAD_INTERNAL_H__
-#define __THREAD_INTERNAL_H__
-
-#include <pthread.h>
-#include <stdarg.h>
-#include <setjmp.h>
-#include "dietfeatures.h"
-#ifndef WANT_THREAD_SAFE
-#error "the diet libc is not compiled with thread safeness enabled!"
-#endif
-
-/* cleanup */
-#define PTHREAD_MAX_CLEANUP 8
-struct thread_cleanup_t {
- void (*func)(void*);
- void *arg;
-};
-
-/* the thread descriptor / internal */
-struct _pthread_descr_struct {
- /* runtime handling */
- struct _pthread_descr_struct *joined; /* a joined thread or NULL */
-
- /* conditional variables */
- struct _pthread_descr_struct *waitnext; /* an other waiting thread or NULL */
- int waiting; /* internal waiting "lock" */
-
- /* thread/process data */
- int pid; /* Process id */
-
- int policy; /* thread scheduling policy */
- int priority; /* thread priority */
-
- /* errno handling */
- int errno;
- int h_errno;
-
- /* stack handling */
- unsigned int stack_size; /* stack size for setrlimit */
- void *stack_addr; /* stack address for clone */
- void *stack_begin; /* begin of lib-stack / lowest address (free) */
-
- /* thread exit handling */
- void *retval; /* thread return value */
- int join; /* thread waits for other to return */
- jmp_buf jmp_exit; /* pthread_exit jump */
-
- /* thread flags */
- int detached; /* thread is detached */
- int canceled; /* thread canceled */
-
- /* cancel handling */
- int cancelstate; /* cancel state */
- int canceltype; /* type of cancellation */
-
- /* thread basics */
- void* (*func) (void* arg); /* thread function */
- void* arg; /* thread argument */
-
- /* create thread / manager thread lock */
- struct _pthread_fastlock *manager_lock;
-
- /* cleanup stack */
- struct thread_cleanup_t cleanup_stack[PTHREAD_MAX_CLEANUP];
-
-} __attribute__ ((aligned(32)));
-
-/* thread keys */
-struct _thread_key {
- int used;
- void (*destructor)(const void*);
- const void *tkd[PTHREAD_THREADS_MAX];
-};
-
-/* internal stuff */
-int __testandset(int *spinlock);
-
-void __pthread_lock(struct _pthread_fastlock * lock);
-int __pthread_trylock(struct _pthread_fastlock * lock);
-int __pthread_unlock(struct _pthread_fastlock * lock);
-
-int __clone(void* (*fn)(void*), void* stack, int flags, void *arg);
-
-int __find_thread_id(int pid);
-_pthread_descr __get_thread_struct(int id);
-
-_pthread_descr __thread_get_free();
-_pthread_descr __thread_self();
-
-void __thread_cleanup(_pthread_descr th);
-
-void __thread_wait_some_time();
-
-#define __NO_ASYNC_CANCEL_BEGIN { int oldtype; pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
-#define __NO_ASYNC_CANCEL_END pthread_setcanceltype(oldtype,0); pthread_testcancel(); }
-#define __NO_ASYNC_CANCEL_STOP pthread_setcanceltype(oldtype,0); }
-
-/* manager thread stuff */
-int signal_manager_thread(_pthread_descr td);
-
-/* init stuff */
-extern pthread_once_t __thread_inited;
-void __thread_init();
-#define __THREAD_INIT() __pthread_once(&__thread_inited, __thread_init)
-#define __TEST_CANCEL() pthread_testcancel()
-
-/* diet libc syscalls */
-
-void __libc_free(void *ptr);
-void *__libc_malloc(size_t size);
-
-void __libc_closelog(void);
-void __libc_openlog(const char *ident, int option, int facility);
-void __libc_vsyslog(int priority, const char *format, va_list arg_ptr);
-
-pid_t __libc_fork(void);
-
-int __libc_close(int fd);
-int __libc_creat(const char *pathname, mode_t mode);
-int __libc_fcntl(int fd, int cmd, void *arg);
-int __libc_fsync(int fd);
-int __libc_nanosleep(const struct timespec *req, struct timespec *rem);
-int __libc_open(const char *pathname, int flags, mode_t mode);
-int __libc_pause(void);
-int __libc_read(int fd, void *buf, size_t count);
-int __libc_sigsuspend(const sigset_t *mask);
-int __libc_tcdrain(int fd);
-pid_t __libc_waitpid(pid_t pid, int *status, int options);
-int __libc_write(int fd, const void *buf, size_t count);
-
-#endif
diff --git a/mdk-stage1/dietlibc/libpthread/thread_key.c b/mdk-stage1/dietlibc/libpthread/thread_key.c
deleted file mode 100644
index b0f719fc9..000000000
--- a/mdk-stage1/dietlibc/libpthread/thread_key.c
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-struct _pthread_fastlock __thread_keys_lock;
-struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-
-void __thread_start__key(int id)
-{
- int i;
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__thread_keys_lock);
-
- for (i=0; i<PTHREAD_KEYS_MAX; i++) {
- __thread_keys[i].tkd[id]=0;
- }
-
- __pthread_unlock(&__thread_keys_lock);
- __NO_ASYNC_CANCEL_END;
-}
-
-void __thread_exit__key(int id)
-{
- int i,try;
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__thread_keys_lock);
-
- for (i=0; i<PTHREAD_KEYS_MAX; i++) {
- if ((__thread_keys[i].used) && (__thread_keys[i].destructor)) {
- for (try=0;__thread_keys[i].tkd[id] && (try<PTHREAD_DESTRUCTOR_ITERATIONS);++try)
- __thread_keys[i].destructor(__thread_keys[i].tkd[id]);
- }
- }
-
- __pthread_unlock(&__thread_keys_lock);
- __NO_ASYNC_CANCEL_STOP;
-}
diff --git a/mdk-stage1/dietlibc/libregex/rx.c b/mdk-stage1/dietlibc/libregex/rx.c
deleted file mode 100644
index b28358c2e..000000000
--- a/mdk-stage1/dietlibc/libregex/rx.c
+++ /dev/null
@@ -1,434 +0,0 @@
-#include <regex.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <string.h>
-
-/* this is ugly.
- * the idea is to build a parse tree, then do some poor man's OOP with a
- * generic matcher function call that is always that the start of each
- * record, and a next pointer. When the parse tree is done, we need to
- * recursively set the next pointers to point to the part of the parse
- * tree that needs to match next.
- * This is the prototype of the generic match function call pointer.
- * The first argument is the "this" pointer, the second is the text to
- * be matched against, ofs is the offset from the start of the matched
- * text (so we can match "^") and matches is an array where match
- * positions are stored. */
-/* now declared in regex.h: */
-/* typedef int (*matcher)(void*,const char*,int ofs,regmatch_t* matches,int plus,int eflags); */
-
-/* one would think that this is approach is an order of magnitude slower
- * than the standard NFA approach, but it isn't. The busybox grep took
- * 0.26 seconds for a fixed string compared to 0.19 seconds for the
- * glibc regex. */
-
-/* first part: parse a regex into a parse tree */
-struct bracketed {
- unsigned int cc[32];
-};
-
-/* now declared in regex.h:
-struct regex {
- matcher m;
- void* next;
- int pieces;
- int num;
- struct branch *b;
-}; */
-
-struct atom {
- matcher m;
- void* next;
- enum { EMPTY, REGEX, BRACKET, ANY, LINESTART, LINEEND, WORDSTART, WORDEND, CHAR, } type;
- int bnum;
- union {
- struct regex r;
- struct bracketed b;
- char c;
- } u;
-};
-
-struct piece {
- matcher m;
- void* next;
- struct atom a;
- unsigned char min,max;
-};
-
-struct branch {
- matcher m;
- void* next;
- int num;
- struct piece *p;
-};
-
-static void clearcc(unsigned int* x) {
- memset(x,0,sizeof(*x));
-}
-
-static void setcc(unsigned int* x,unsigned int bit) {
- x[bit/32]|=(1<<((bit%32)-1));
-}
-
-static int issetcc(unsigned int* x,unsigned int bit) {
- return x[bit/32] & (1<<((bit%32)-1));
-}
-
-static const char* parsebracketed(struct bracketed*__restrict__ b,const char*__restrict__ s,regex_t*__restrict__ rx) {
- const char* t;
- int i,negflag=0;
- if (*s!='[') return s;
- t=s+1;
- clearcc(b->cc);
- if (*t=='^') { negflag=1; ++t; }
- do {
- if (*t==0) return s;
- setcc(b->cc,rx->cflags&REG_ICASE?*t:tolower(*t));
- if (t[1]=='-' && t[2]!=']') {
- for (i=*t+1; i<=t[2]; ++i) setcc(b->cc,rx->cflags&REG_ICASE?i:tolower(i));
- t+=2;
- }
- ++t;
- } while (*t!=']');
- if (negflag) for (i=0; i<32; ++i) b->cc[i]=~b->cc[i];
- return t+1;
-}
-
-static const char* parseregex(struct regex* r,const char* s,regex_t* rx);
-
-static int matchatom(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct atom* a=(struct atom*)x;
- int matchlen=0;
- switch (a->type) {
- case EMPTY:
-// printf("matching EMPTY against \"%s\"\n",s);
- preg->l[a->bnum].rm_so=preg->l[a->bnum].rm_eo=ofs;
- goto match;
- case REGEX:
-// printf("matching REGEX against \"%s\"\n",s);
- if ((matchlen=a->u.r.m(a,s,ofs,preg,0,eflags))>=0) {
- preg->l[a->bnum].rm_so=ofs;
- preg->l[a->bnum].rm_eo=ofs+matchlen;
- goto match;
- }
- break;
- case BRACKET:
-// printf("matching BRACKET against \"%s\"\n",s);
- matchlen=1;
- if (*s=='\n' && (preg->cflags&REG_NEWLINE)) break;
- if (*s && issetcc(a->u.b.cc,(preg->cflags&REG_ICASE?tolower(*s):*s)))
- goto match;
- break;
- case ANY:
-// printf("matching ANY against \"%s\"\n",s);
- if (*s=='\n' && (preg->cflags&REG_NEWLINE)) break;
- matchlen=1;
- if (*s) goto match;
- break;
- case LINESTART:
-// printf("matching LINESTART against \"%s\"\n",s);
- if (ofs==0 && (eflags&REG_NOTBOL)==0) {
- goto match;
- }
- break;
- case LINEEND:
-// printf("matching LINEEND against \"%s\"\n",s);
- if ((*s && *s!='\n') || (eflags&REG_NOTEOL)==0) break;
- goto match;
- case WORDSTART:
- if ((ofs==0 || isspace(s[-1])) && !isspace(*s))
- goto match;
- break;
- case WORDEND:
- if (ofs>0 && !isspace(s[-1]) && isspace(*s))
- goto match;
- break;
- case CHAR:
-// printf("matching CHAR %c against \"%s\"\n",a->u.c,s);
- matchlen=1;
- if (((preg->cflags&REG_ICASE)?tolower(*s):*s)==a->u.c) goto match;
- break;
- }
- return -1;
-match:
- if (a->next)
- return ((struct atom*)(a->next))->m(a->next,s+matchlen,ofs+matchlen,preg,plus+matchlen,eflags);
- else
- return plus+matchlen;
-}
-
-static const char* parseatom(struct atom*__restrict__ a,const char*__restrict__ s,regex_t*__restrict__ rx) {
- const char *tmp;
- a->m=matchatom;
- a->bnum=-1;
- switch (*s) {
- case '(':
- a->bnum=++rx->brackets;
- if (s[1]==')') {
- a->type=EMPTY;
- return s+2;
- }
- a->type=REGEX;
- if ((tmp=parseregex(&a->u.r,s+1,rx))!=s) {
- if (*tmp==')')
- return tmp+1;
- }
- case 0:
- case '|':
- case ')':
- return s;
- case '[':
- a->type=BRACKET;
- if ((tmp=parsebracketed(&a->u.b,s,rx))!=s)
- return tmp;
- return s;
- case '.':
- a->type=ANY;
- break;
- case '^':
- a->type=LINESTART;
- break;
- case '$':
- a->type=LINEEND;
- break;
- case '\\':
- if (!*++s) return s;
- if (*s=='<') {
- a->type=WORDSTART;
- break;
- } else if (*s=='>') {
- a->type=WORDEND;
- break;
- }
- default:
- a->type=CHAR;
- a->u.c=rx->cflags&REG_ICASE?*s:tolower(*s);
- break;
- }
- return s+1;
-}
-
-/* needs to do "greedy" matching, i.e. match as often as possible */
-static int matchpiece(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct piece* a=(struct piece*)x;
- int matchlen=0;
- int tmp,num=0;
- unsigned int *offsets=alloca(sizeof(int)*a->max);
- offsets[0]=0;
-// printf("matchpiece \"%s\"...\n",s);
- /* first, try to match the atom as often as possible, up to a->max times */
- if (a->max == 1 && a->min == 1)
- return a->a.m(&a->a,s+matchlen,ofs+matchlen,preg,0,eflags);
- while (num<a->max) {
- void* save=a->a.next;
- a->a.next=0;
- if ((tmp=a->a.m(&a->a,s+matchlen,ofs+matchlen,preg,0,eflags))>=0) {
- a->a.next=save;
- ++num;
- matchlen+=tmp;
- offsets[num]=tmp;
- } else {
- a->a.next=save;
- break;
- }
- }
- if (num<a->min) return -1; /* already at minimum matches; signal mismatch */
- /* then, while the rest does not match, back off */
- for (;;) {
- if (a->next)
- tmp=((struct atom*)(a->next))->m(a->next,s+matchlen,ofs+matchlen,preg,plus+matchlen,eflags);
- else
- tmp=plus+matchlen;
- if (tmp>=0) break; /* it did match; don't back off any further */
- matchlen-=offsets[num];
- --num;
- }
- return tmp;
-}
-
-static const char* parsepiece(struct piece*__restrict__ p,const char*__restrict__ s,regex_t*__restrict__ rx) {
- const char* tmp=parseatom(&p->a,s,rx);
- if (tmp==s) return s;
- p->m=matchpiece;
- p->min=p->max=1;
- switch (*tmp) {
- case '*': p->min=0; p->max=RE_DUP_MAX; break;
- case '+': p->min=1; p->max=RE_DUP_MAX; break;
- case '?': p->min=0; p->max=1; break;
- case '{':
- if (isdigit(*++tmp)) {
- p->min=*tmp-'0'; p->max=RE_DUP_MAX;
- while (isdigit(*++tmp)) p->min=p->min*10+*tmp-'0';
- if (*tmp==',') {
- if (isdigit(*++tmp)) {
- p->max=*tmp-'0';
- while (isdigit(*++tmp)) p->max=p->max*10+*tmp-'0';
- }
- }
- if (*tmp!='}') return s;
- ++tmp;
- }
- default:
- return tmp;
- }
- return tmp+1;
-}
-
-/* trivial, just pass through */
-static int matchbranch(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct branch* a=(struct branch*)x;
- int tmp;
- tmp=a->p->m(a->p,s,ofs,preg,plus,eflags);
- if (tmp>=0) {
- if (a->next)
- return ((struct atom*)(a->next))->m(a->next,s+tmp,ofs+tmp,preg,plus+tmp,eflags);
- else
- return plus+tmp;
- }
- return -1;
-}
-
-static const char* parsebranch(struct branch*__restrict__ b,const char*__restrict__ s,regex_t*__restrict__ rx,int*__restrict__ pieces) {
- struct piece p;
- const char *tmp;
- b->m=matchbranch;
- b->num=0; b->p=0;
- for (;;) {
- if (*s=='|') {
- if (b->num==0) {
- tmp=s+1;
- p.a.type=EMPTY;
- p.min=p.max=1;
- }
- } else {
- tmp=parsepiece(&p,s,rx);
- if (tmp==s) return s;
- }
- if (!(b->p=realloc(b->p,++b->num*sizeof(p)))) return s;
- b->p[b->num-1]=p;
- if (*s=='|') { ++tmp; break; }
- s=tmp;
- }
- *pieces+=b->num;
- return tmp;
-}
-
-/* try the branches one by one */
-static int matchregex(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct regex* a=(struct regex*)x;
- int i,tmp;
- for (i=0; i<a->num; ++i) {
- tmp=a->b[i].m(&a->b[i],s,ofs,preg,plus,eflags);
- if (tmp>=0) {
- if (a->next)
- return ((struct atom*)(a->next))->m(a->next,s+tmp,ofs+tmp,preg,plus+tmp,eflags);
- else
- return plus+tmp;
- }
- }
- return -1;
-}
-
-static const char* parseregex(struct regex*__restrict__ r,const char*__restrict__ s,regex_t*__restrict__ p) {
- struct branch b;
- const char *tmp;
- r->m=matchregex;
- r->num=0; r->b=0; r->pieces=0;
- for (;;) {
- tmp=parsebranch(&b,s,p,&r->pieces);
- if (tmp==s) return s;
- if (!(r->b=realloc(r->b,++r->num*sizeof(b)))) return s;
- r->b[r->num-1]=b;
- s=tmp;
- }
- return tmp;
-}
-
-
-/* The matcher relies on the presence of next pointers, of which the
- * parser does not know the correct destination. So we need an
- * additional pass through the data structure that sets the next
- * pointers correctly. */
-static void regex_putnext(struct regex* r,void* next);
-
-static void atom_putnext(struct atom*__restrict__ a,void*__restrict__ next) {
- a->next=next;
- if (a->type==REGEX)
- regex_putnext(&a->u.r,next);
-}
-
-static void piece_putnext(struct piece*__restrict__ p,void*__restrict__ next) {
- p->next=next;
- atom_putnext(&p->a,next);
-}
-
-static void branch_putnext(struct branch*__restrict__ b,void*__restrict__ next) {
- int i;
- for (i=0; i<b->num-1; ++i)
- piece_putnext(&b->p[i],&b->p[i+1]);
- piece_putnext(&b->p[i],0);
- b->next=next;
-}
-
-static void regex_putnext(struct regex*__restrict__ r,void*__restrict__ next) {
- int i;
- for (i=0; i<r->num; ++i)
- branch_putnext(&r->b[i],next);
- r->next=next;
-}
-
-
-
-int regcomp(regex_t*__restrict__ preg, const char*__restrict__ regex, int cflags) {
- const char* t=parseregex(&preg->r,regex,preg);
- if (t==regex) return -1;
- regex_putnext(&preg->r,0);
- preg->cflags=cflags;
- return 0;
-}
-
-int regexec(const regex_t*__restrict__ preg, const char*__restrict__ string, size_t nmatch, regmatch_t pmatch[], int eflags) {
- int matched;
- const char *orig=string;
- ((regex_t*)preg)->l=alloca(sizeof(regmatch_t)*(preg->brackets+1));
- while (*string) {
- matched=preg->r.m((void*)&preg->r,string,string-orig,(regex_t*)preg,0,eflags);
- if (matched>=0) {
- if ((preg->cflags&REG_NOSUB)==0) memmove(pmatch,preg->l,nmatch*sizeof(regmatch_t));
- return 0;
- }
- ++string; eflags|=REG_NOTBOL;
- }
- return REG_NOMATCH;
-}
-
-
-
-void regfree(regex_t* preg) {
- int i;
- for (i=0; i<preg->r.num; ++i) {
- free(preg->r.b[i].p);
- free(preg->r.b);
- }
-}
-
-size_t regerror(int errcode, const regex_t*__restrict__ preg, char*__restrict__ errbuf, size_t errbuf_size) {
- strncpy(errbuf,"invalid regular expression (sorry)",errbuf_size);
- return strlen(errbuf);
-}
-
-
-
-
-#if 0
-int main() {
- struct regex r;
- int bnum=-1;
- const char* t=parseregex(&r,"^a*ab$",&bnum);
- regex_putnext(&r,0);
- printf("%d pieces, %s\n",r.pieces,t);
- printf("%d\n",r.m(&r,"aaab",0,0,0));
- return 0;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/librpc/auth_none.c b/mdk-stage1/dietlibc/librpc/auth_none.c
deleted file mode 100644
index 7a4dffe87..000000000
--- a/mdk-stage1/dietlibc/librpc/auth_none.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* @(#)auth_none.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * auth_none.c
- * Creates a client authentication handle for passing "null"
- * credentials and verifiers to remote systems.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/auth.h>
-#define MAX_MARSHEL_SIZE 20
-
-/*
- * Authenticator operations routines
- */
-static void authnone_verf();
-static void authnone_destroy();
-static bool_t authnone_marshal();
-static bool_t authnone_validate();
-static bool_t authnone_refresh();
-
-static struct auth_ops ops = {
- authnone_verf,
- authnone_marshal,
- authnone_validate,
- authnone_refresh,
- authnone_destroy
-};
-
-static struct authnone_private {
- AUTH no_client;
- char marshalled_client[MAX_MARSHEL_SIZE];
- u_int mcnt;
-} *authnone_private;
-
-AUTH *authnone_create()
-{
- register struct authnone_private *ap = authnone_private;
- XDR xdr_stream;
- register XDR *xdrs;
-
- if (ap == 0) {
- ap = (struct authnone_private *) calloc(1, sizeof(*ap));
- if (ap == 0)
- return (0);
- authnone_private = ap;
- }
- if (!ap->mcnt) {
- ap->no_client.ah_cred = ap->no_client.ah_verf = _null_auth;
- ap->no_client.ah_ops = &ops;
- xdrs = &xdr_stream;
- xdrmem_create(xdrs, ap->marshalled_client,
- (u_int) MAX_MARSHEL_SIZE, XDR_ENCODE);
- (void) xdr_opaque_auth(xdrs, &ap->no_client.ah_cred);
- (void) xdr_opaque_auth(xdrs, &ap->no_client.ah_verf);
- ap->mcnt = XDR_GETPOS(xdrs);
- XDR_DESTROY(xdrs);
- }
- return (&ap->no_client);
-}
-
- /*ARGSUSED*/ static bool_t authnone_marshal(client, xdrs)
-AUTH *client;
-XDR *xdrs;
-{
- register struct authnone_private *ap = authnone_private;
-
- if (ap == 0)
- return (0);
- return ((*xdrs->x_ops->x_putbytes) (xdrs,
- ap->marshalled_client, ap->mcnt));
-}
-
-static void authnone_verf()
-{
-}
-
-static bool_t authnone_validate()
-{
-
- return (TRUE);
-}
-
-static bool_t authnone_refresh()
-{
-
- return (FALSE);
-}
-
-static void authnone_destroy()
-{
-}
diff --git a/mdk-stage1/dietlibc/librpc/auth_unix.c b/mdk-stage1/dietlibc/librpc/auth_unix.c
deleted file mode 100644
index 5daeb5f4a..000000000
--- a/mdk-stage1/dietlibc/librpc/auth_unix.c
+++ /dev/null
@@ -1,313 +0,0 @@
-/* @(#)auth_unix.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)auth_unix.c 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * auth_unix.c, Implements UNIX style authentication parameters.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * The system is very weak. The client uses no encryption for it's
- * credentials and only sends null verifiers. The server sends backs
- * null verifiers or optionally a verifier that suggests a new short hand
- * for the credentials.
- *
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <string.h>
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/auth.h>
-#include <rpc/auth_unix.h>
-
-/*
- * Unix authenticator operations vector
- */
-static void authunix_nextverf();
-static bool_t authunix_marshal();
-static bool_t authunix_validate();
-static bool_t authunix_refresh();
-static void authunix_destroy();
-
-static struct auth_ops auth_unix_ops = {
- authunix_nextverf,
- authunix_marshal,
- authunix_validate,
- authunix_refresh,
- authunix_destroy
-};
-
-/*
- * This struct is pointed to by the ah_private field of an auth_handle.
- */
-struct audata {
- struct opaque_auth au_origcred; /* original credentials */
- struct opaque_auth au_shcred; /* short hand cred */
- u_long au_shfaults; /* short hand cache faults */
- char au_marshed[MAX_AUTH_BYTES];
- u_int au_mpos; /* xdr pos at end of marshed */
-};
-
-#define AUTH_PRIVATE(auth) ((struct audata *)auth->ah_private)
-
-static void marshal_new_auth();
-
-
-/*
- * Create a unix style authenticator.
- * Returns an auth handle with the given stuff in it.
- */
-AUTH *authunix_create __P ((char *machname, uid_t uid,
- gid_t gid, int len,
- gid_t *aup_gids))
-{
- struct authunix_parms aup;
- char mymem[MAX_AUTH_BYTES];
- struct timeval now;
- XDR xdrs;
- register AUTH *auth;
- register struct audata *au;
-
- /*
- * Allocate and set up auth handle
- */
- auth = (AUTH *) mem_alloc(sizeof(*auth));
-#ifndef KERNEL
- if (auth == NULL) {
- (void) fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- au = (struct audata *) mem_alloc(sizeof(*au));
-#ifndef KERNEL
- if (au == NULL) {
- (void) fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- auth->ah_ops = &auth_unix_ops;
- auth->ah_private = (caddr_t) au;
- auth->ah_verf = au->au_shcred = _null_auth;
- au->au_shfaults = 0;
-
- /*
- * fill in param struct from the given params
- */
- (void) gettimeofday(&now, (struct timezone *) 0);
- aup.aup_time = now.tv_sec;
- aup.aup_machname = machname;
- aup.aup_uid = uid;
- aup.aup_gid = gid;
- aup.aup_len = (u_int) len;
- aup.aup_gids = aup_gids;
-
- /*
- * Serialize the parameters into origcred
- */
- xdrmem_create(&xdrs, mymem, MAX_AUTH_BYTES, XDR_ENCODE);
- if (!xdr_authunix_parms(&xdrs, &aup))
- abort();
- au->au_origcred.oa_length = len = XDR_GETPOS(&xdrs);
- au->au_origcred.oa_flavor = AUTH_UNIX;
-#ifdef KERNEL
- au->au_origcred.oa_base = mem_alloc((u_int) len);
-#else
- if ((au->au_origcred.oa_base = mem_alloc((u_int) len)) == NULL) {
- (void) fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- bcopy(mymem, au->au_origcred.oa_base, (u_int) len);
-
- /*
- * set auth handle to reflect new cred.
- */
- auth->ah_cred = au->au_origcred;
- marshal_new_auth(auth);
- return (auth);
-}
-
-/*
- * Returns an auth handle with parameters determined by doing lots of
- * syscalls.
- */
-AUTH *authunix_create_default()
-{
- register int len;
- char machname[MAX_MACHINE_NAME + 1];
- register int uid;
- register int gid;
- gid_t gids[NGRPS];
-
- if (gethostname(machname, MAX_MACHINE_NAME) == -1)
- abort();
- machname[MAX_MACHINE_NAME] = 0;
- uid = geteuid();
- gid = getegid();
- if ((len = getgroups(NGRPS, gids)) < 0)
- abort();
- return (authunix_create(machname, uid, gid, len, gids));
-}
-
-/*
- * authunix operations
- */
-
-static void authunix_nextverf(auth)
-AUTH *auth;
-{
- /* no action necessary */
-}
-
-static bool_t authunix_marshal(auth, xdrs)
-AUTH *auth;
-XDR *xdrs;
-{
- register struct audata *au = AUTH_PRIVATE(auth);
-
- return (XDR_PUTBYTES(xdrs, au->au_marshed, au->au_mpos));
-}
-
-static bool_t authunix_validate(auth, verf)
-register AUTH *auth;
-struct opaque_auth verf;
-{
- register struct audata *au;
- XDR xdrs;
-
- if (verf.oa_flavor == AUTH_SHORT) {
- au = AUTH_PRIVATE(auth);
- xdrmem_create(&xdrs, verf.oa_base, verf.oa_length, XDR_DECODE);
-
- if (au->au_shcred.oa_base != NULL) {
- mem_free(au->au_shcred.oa_base, au->au_shcred.oa_length);
- au->au_shcred.oa_base = NULL;
- }
- if (xdr_opaque_auth(&xdrs, &au->au_shcred)) {
- auth->ah_cred = au->au_shcred;
- } else {
- xdrs.x_op = XDR_FREE;
- (void) xdr_opaque_auth(&xdrs, &au->au_shcred);
- au->au_shcred.oa_base = NULL;
- auth->ah_cred = au->au_origcred;
- }
- marshal_new_auth(auth);
- }
- return (TRUE);
-}
-
-static bool_t authunix_refresh(auth)
-register AUTH *auth;
-{
- register struct audata *au = AUTH_PRIVATE(auth);
- struct authunix_parms aup;
- struct timeval now;
- XDR xdrs;
- register int stat;
-
- if (auth->ah_cred.oa_base == au->au_origcred.oa_base) {
- /* there is no hope. Punt */
- return (FALSE);
- }
- au->au_shfaults++;
-
- /* first deserialize the creds back into a struct authunix_parms */
- aup.aup_machname = NULL;
- aup.aup_gids = (gid_t *) NULL;
- xdrmem_create(&xdrs, au->au_origcred.oa_base,
- au->au_origcred.oa_length, XDR_DECODE);
- stat = xdr_authunix_parms(&xdrs, &aup);
- if (!stat)
- goto done;
-
- /* update the time and serialize in place */
- (void) gettimeofday(&now, (struct timezone *) 0);
- aup.aup_time = now.tv_sec;
- xdrs.x_op = XDR_ENCODE;
- XDR_SETPOS(&xdrs, 0);
- stat = xdr_authunix_parms(&xdrs, &aup);
- if (!stat)
- goto done;
- auth->ah_cred = au->au_origcred;
- marshal_new_auth(auth);
- done:
- /* free the struct authunix_parms created by deserializing */
- xdrs.x_op = XDR_FREE;
- (void) xdr_authunix_parms(&xdrs, &aup);
- XDR_DESTROY(&xdrs);
- return (stat);
-}
-
-static void authunix_destroy(auth)
-register AUTH *auth;
-{
- register struct audata *au = AUTH_PRIVATE(auth);
-
- mem_free(au->au_origcred.oa_base, au->au_origcred.oa_length);
-
- if (au->au_shcred.oa_base != NULL)
- mem_free(au->au_shcred.oa_base, au->au_shcred.oa_length);
-
- mem_free(auth->ah_private, sizeof(struct audata));
-
- if (auth->ah_verf.oa_base != NULL)
- mem_free(auth->ah_verf.oa_base, auth->ah_verf.oa_length);
-
- mem_free((caddr_t) auth, sizeof(*auth));
-}
-
-/*
- * Marshals (pre-serializes) an auth struct.
- * sets private data, au_marshed and au_mpos
- */
-static void marshal_new_auth(auth)
-register AUTH *auth;
-{
- XDR xdr_stream;
- register XDR *xdrs = &xdr_stream;
- register struct audata *au = AUTH_PRIVATE(auth);
-
- xdrmem_create(xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE);
- if ((!xdr_opaque_auth(xdrs, &(auth->ah_cred))) ||
- (!xdr_opaque_auth(xdrs, &(auth->ah_verf)))) {
- perror("auth_none.c - Fatal marshalling problem");
- } else {
- au->au_mpos = XDR_GETPOS(xdrs);
- }
- XDR_DESTROY(xdrs);
-}
diff --git a/mdk-stage1/dietlibc/librpc/authunix_prot.c b/mdk-stage1/dietlibc/librpc/authunix_prot.c
deleted file mode 100644
index ddcadb808..000000000
--- a/mdk-stage1/dietlibc/librpc/authunix_prot.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* @(#)authunix_prot.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)authunix_prot.c 1.15 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * authunix_prot.c
- * XDR for UNIX style authentication parameters for RPC
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/auth.h>
-#include <rpc/auth_unix.h>
-
-/*
- * XDR for unix authentication parameters.
- */
-bool_t xdr_authunix_parms(xdrs, p)
-register XDR *xdrs;
-register struct authunix_parms *p;
-{
- int a,b;
-
- if (xdr_u_long(xdrs, &(p->aup_time))
- && xdr_string(xdrs, &(p->aup_machname), MAX_MACHINE_NAME)
- && xdr_int(xdrs, &a)
- && xdr_int(xdrs, &b)
- && xdr_array(xdrs, (caddr_t *) & (p->aup_gids),
- &(p->aup_len), NGRPS, sizeof(int), (xdrproc_t)xdr_int)) {
- p->aup_uid=(uid_t)a;
- p->aup_gid=(gid_t)b;
- return (TRUE);
- }
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/bindresvport.c b/mdk-stage1/dietlibc/librpc/bindresvport.c
deleted file mode 100644
index 8b65261dd..000000000
--- a/mdk-stage1/dietlibc/librpc/bindresvport.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * Copyright (c) 1987 by Sun Microsystems, Inc.
- */
-
-#include <unistd.h>
-#include <string.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-
-/*
- * Bind a socket to a privileged IP port
- */
-int bindresvport(sd, sin)
-int sd;
-struct sockaddr_in *sin;
-{
- int res;
- static short port;
- struct sockaddr_in myaddr;
- extern int errno;
- int i;
-
-#define STARTPORT 600
-#define ENDPORT (IPPORT_RESERVED - 1)
-#define NPORTS (ENDPORT - STARTPORT + 1)
-
- if (sin == (struct sockaddr_in *) 0) {
- sin = &myaddr;
- bzero(sin, sizeof(*sin));
- sin->sin_family = AF_INET;
- } else if (sin->sin_family != AF_INET) {
- errno = EPFNOSUPPORT;
- return (-1);
- }
- if (port == 0) {
- port = (getpid() % NPORTS) + STARTPORT;
- }
- res = -1;
- errno = EADDRINUSE;
- for (i = 0; i < NPORTS && res < 0 && errno == EADDRINUSE; i++) {
- sin->sin_port = htons(port++);
- if (port > ENDPORT) {
- port = STARTPORT;
- }
- res = bind(sd, (struct sockaddr*)sin, sizeof(struct sockaddr_in));
- }
- return (res);
-}
diff --git a/mdk-stage1/dietlibc/librpc/clnt_generic.c b/mdk-stage1/dietlibc/librpc/clnt_generic.c
deleted file mode 100644
index 9bb81cc80..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_generic.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/* @(#)clnt_generic.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)clnt_generic.c 1.4 87/08/11 (C) 1987 SMI";
-#endif
-/*
- * Copyright (C) 1987, Sun Microsystems, Inc.
- */
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <errno.h>
-#include <netdb.h>
-#include <string.h>
-
-/*
- * Generic client creation: takes (hostname, program-number, protocol) and
- * returns client handle. Default options are set, which the user can
- * change using the rpc equivalent of ioctl()'s.
- */
-CLIENT *clnt_create __P ((const char *hostname, const u_long prog,
- const u_long vers, const char *proto))
-{
- struct hostent *h;
- struct protoent *p;
- struct sockaddr_in sin;
- int sock;
- struct timeval tv;
- CLIENT *client;
-
- h = gethostbyname(hostname);
- if (h == NULL) {
- rpc_createerr.cf_stat = RPC_UNKNOWNHOST;
- return (NULL);
- }
- if (h->h_addrtype != AF_INET) {
- /*
- * Only support INET for now
- */
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = EAFNOSUPPORT;
- return (NULL);
- }
-#ifdef __linux__
- bzero((char *) &sin, sizeof(sin));
-#endif
- sin.sin_family = h->h_addrtype;
- sin.sin_port = 0;
-#ifndef __linux__
- bzero(sin.sin_zero, sizeof(sin.sin_zero));
-#endif
- bcopy(h->h_addr, (char *) &sin.sin_addr, h->h_length);
- p = getprotobyname(proto);
- if (p == NULL) {
- rpc_createerr.cf_stat = RPC_UNKNOWNPROTO;
- rpc_createerr.cf_error.re_errno = EPFNOSUPPORT;
- return (NULL);
- }
- sock = RPC_ANYSOCK;
- switch (p->p_proto) {
- case IPPROTO_UDP:
- tv.tv_sec = 5;
- tv.tv_usec = 0;
- client = clntudp_create(&sin, prog, vers, tv, &sock);
- if (client == NULL) {
- return (NULL);
- }
- tv.tv_sec = 25;
- clnt_control(client, CLSET_TIMEOUT, (char*)&tv);
- break;
- case IPPROTO_TCP:
- client = clnttcp_create(&sin, prog, vers, &sock, 0, 0);
- if (client == NULL) {
- return (NULL);
- }
- tv.tv_sec = 25;
- tv.tv_usec = 0;
- clnt_control(client, CLSET_TIMEOUT, (char*)&tv);
- break;
- default:
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = EPFNOSUPPORT;
- return (NULL);
- }
- return (client);
-}
diff --git a/mdk-stage1/dietlibc/librpc/clnt_perror.c b/mdk-stage1/dietlibc/librpc/clnt_perror.c
deleted file mode 100644
index 4ede1a43e..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_perror.c
+++ /dev/null
@@ -1,302 +0,0 @@
-/* @(#)clnt_perror.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)clnt_perror.c 1.15 87/10/07 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_perror.c
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- */
-#include <stdio.h>
-
-#include <rpc/types.h>
-#include <rpc/auth.h>
-#include <rpc/clnt.h>
-
-//extern char *sys_errlist[];
-//static char *auth_errmsg();
-
-extern char *strcpy();
-
-#if 0
-static char *buf;
-
-static char *_buf()
-{
-
- if (buf == 0)
- buf = (char *) malloc(256);
- return (buf);
-}
-#endif
-
-/*
- * Print reply error info
- */
-char *clnt_sperror __P ((CLIENT *rpch, const char *s))
-{
-#if 0
- struct rpc_err e;
- void clnt_perrno();
- char *err;
- char *str = _buf();
- char *strstart = str;
-
- if (str == 0)
- return (0);
- CLNT_GETERR(rpch, &e);
-
- (void) sprintf(str, "%s: ", s);
- str += strlen(str);
-
- (void) strcpy(str, clnt_sperrno(e.re_status));
- str += strlen(str);
-
- switch (e.re_status) {
- case RPC_SUCCESS:
- case RPC_CANTENCODEARGS:
- case RPC_CANTDECODERES:
- case RPC_TIMEDOUT:
- case RPC_PROGUNAVAIL:
- case RPC_PROCUNAVAIL:
- case RPC_CANTDECODEARGS:
- case RPC_SYSTEMERROR:
- case RPC_UNKNOWNHOST:
- case RPC_UNKNOWNPROTO:
- case RPC_PMAPFAILURE:
- case RPC_PROGNOTREGISTERED:
- case RPC_FAILED:
- break;
-
- case RPC_CANTSEND:
- case RPC_CANTRECV:
- (void) sprintf(str, "; errno = %s", sys_errlist[e.re_errno]);
- str += strlen(str);
- break;
-
- case RPC_VERSMISMATCH:
- (void) sprintf(str,
- "; low version = %lu, high version = %lu",
- e.re_vers.low, e.re_vers.high);
- str += strlen(str);
- break;
-
- case RPC_AUTHERROR:
- err = auth_errmsg(e.re_why);
- (void) sprintf(str, "; why = ");
- str += strlen(str);
- if (err != NULL) {
- (void) sprintf(str, "%s", err);
- } else {
- (void) sprintf(str,
- "(unknown authentication error - %d)",
- (int) e.re_why);
- }
- str += strlen(str);
- break;
-
- case RPC_PROGVERSMISMATCH:
- (void) sprintf(str,
- "; low version = %lu, high version = %lu",
- e.re_vers.low, e.re_vers.high);
- str += strlen(str);
- break;
-
- default: /* unknown */
- (void) sprintf(str,
- "; s1 = %lu, s2 = %lu", e.re_lb.s1, e.re_lb.s2);
- str += strlen(str);
- break;
- }
- (void) sprintf(str, "\n");
- return (strstart);
-#endif
- return (0);
-}
-
-void clnt_perror __P ((CLIENT *rpch, const char *s))
-{
- (void) fprintf(stderr, "%s", clnt_sperror(rpch, s));
-}
-
-
-struct rpc_errtab {
- enum clnt_stat status;
- char *message;
-};
-
-#if 0
-static struct rpc_errtab rpc_errlist[] = {
- {RPC_SUCCESS,
- "RPC: Success"},
- {RPC_CANTENCODEARGS,
- "RPC: Can't encode arguments"},
- {RPC_CANTDECODERES,
- "RPC: Can't decode result"},
- {RPC_CANTSEND,
- "RPC: Unable to send"},
- {RPC_CANTRECV,
- "RPC: Unable to receive"},
- {RPC_TIMEDOUT,
- "RPC: Timed out"},
- {RPC_VERSMISMATCH,
- "RPC: Incompatible versions of RPC"},
- {RPC_AUTHERROR,
- "RPC: Authentication error"},
- {RPC_PROGUNAVAIL,
- "RPC: Program unavailable"},
- {RPC_PROGVERSMISMATCH,
- "RPC: Program/version mismatch"},
- {RPC_PROCUNAVAIL,
- "RPC: Procedure unavailable"},
- {RPC_CANTDECODEARGS,
- "RPC: Server can't decode arguments"},
- {RPC_SYSTEMERROR,
- "RPC: Remote system error"},
- {RPC_UNKNOWNHOST,
- "RPC: Unknown host"},
- {RPC_UNKNOWNPROTO,
- "RPC: Unknown protocol"},
- {RPC_PMAPFAILURE,
- "RPC: Port mapper failure"},
- {RPC_PROGNOTREGISTERED,
- "RPC: Program not registered"},
- {RPC_FAILED,
- "RPC: Failed (unspecified error)"}
-};
-#endif
-
-/*
- * This interface for use by clntrpc
- */
-char *clnt_sperrno(stat)
-enum clnt_stat stat;
-{
-#if 0
- int i;
-
- for (i = 0; i < sizeof(rpc_errlist) / sizeof(struct rpc_errtab); i++) {
- if (rpc_errlist[i].status == stat) {
- return (rpc_errlist[i].message);
- }
- }
-#endif
- return ("RPC: (unknown error code)");
-}
-
-void clnt_perrno(num)
-enum clnt_stat num;
-{
- (void) fprintf(stderr, "%s", clnt_sperrno(num));
-}
-
-
-char *clnt_spcreateerror __P ((__const char *s))
-{
-#if 0
- extern int sys_nerr;
- extern char *sys_errlist[];
- char *str = _buf();
-
- if (str == 0)
- return (0);
- (void) sprintf(str, "%s: ", s);
- (void) strcat(str, clnt_sperrno(rpc_createerr.cf_stat));
- switch (rpc_createerr.cf_stat) {
- case RPC_PMAPFAILURE:
- (void) strcat(str, " - ");
- (void) strcat(str, clnt_sperrno(rpc_createerr.cf_error.re_status));
- break;
-
- case RPC_SYSTEMERROR:
- (void) strcat(str, " - ");
- if (rpc_createerr.cf_error.re_errno > 0
- && rpc_createerr.cf_error.re_errno < sys_nerr)
- (void) strcat(str,
- sys_errlist[rpc_createerr.cf_error.re_errno]);
- else
- (void) sprintf(&str[strlen(str)], "Error %d",
- rpc_createerr.cf_error.re_errno);
- break;
- }
- (void) strcat(str, "\n");
- return (str);
-#endif
- return(0);
-}
-
-extern void clnt_pcreateerror __P ((__const char *s))
-{
- (void) fprintf(stderr, "%s", clnt_spcreateerror(s));
-}
-
-struct auth_errtab {
- enum auth_stat status;
- char *message;
-};
-
-#if 0
-static struct auth_errtab auth_errlist[] = {
- {AUTH_OK,
- "Authentication OK"},
- {AUTH_BADCRED,
- "Invalid client credential"},
- {AUTH_REJECTEDCRED,
- "Server rejected credential"},
- {AUTH_BADVERF,
- "Invalid client verifier"},
- {AUTH_REJECTEDVERF,
- "Server rejected verifier"},
- {AUTH_TOOWEAK,
- "Client credential too weak"},
- {AUTH_INVALIDRESP,
- "Invalid server verifier"},
- {AUTH_FAILED,
- "Failed (unspecified error)"},
-};
-
-static char *auth_errmsg(stat)
-enum auth_stat stat;
-{
- int i;
-
- for (i = 0; i < sizeof(auth_errlist) / sizeof(struct auth_errtab); i++) {
- if (auth_errlist[i].status == stat) {
- return (auth_errlist[i].message);
- }
- }
- return (NULL);
-}
-#endif
diff --git a/mdk-stage1/dietlibc/librpc/clnt_raw.c b/mdk-stage1/dietlibc/librpc/clnt_raw.c
deleted file mode 100644
index 7479b55d6..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_raw.c
+++ /dev/null
@@ -1,230 +0,0 @@
-/* @(#)clnt_raw.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)clnt_raw.c 1.22 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_raw.c
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * Memory based rpc for simple testing and timing.
- * Interface to create an rpc client and server in the same process.
- * This lets us similate rpc and get round trip overhead, without
- * any interference from the kernal.
- */
-
-#include <rpc/rpc.h>
-
-#define MCALL_MSG_SIZE 24
-
-/*
- * This is the "network" we will be moving stuff over.
- */
-static struct clntraw_private {
- CLIENT client_object;
- XDR xdr_stream;
- char _raw_buf[UDPMSGSIZE];
- char mashl_callmsg[MCALL_MSG_SIZE];
- u_int mcnt;
-} *clntraw_private;
-
-static enum clnt_stat clntraw_call();
-static void clntraw_abort();
-static void clntraw_geterr();
-static bool_t clntraw_freeres();
-static bool_t clntraw_control();
-static void clntraw_destroy();
-
-static struct clnt_ops client_ops = {
- clntraw_call,
- clntraw_abort,
- clntraw_geterr,
- clntraw_freeres,
- clntraw_destroy,
- clntraw_control
-};
-
-void svc_getreq();
-
-/*
- * Create a client handle for memory based rpc.
- */
-CLIENT *clntraw_create(prog, vers)
-u_long prog;
-u_long vers;
-{
- register struct clntraw_private *clp = clntraw_private;
- struct rpc_msg call_msg;
- XDR *xdrs = &clp->xdr_stream;
- CLIENT *client = &clp->client_object;
-
- if (clp == 0) {
- clp = (struct clntraw_private *) calloc(1, sizeof(*clp));
- if (clp == 0)
- return (0);
- clntraw_private = clp;
- }
- /*
- * pre-serialize the staic part of the call msg and stash it away
- */
- call_msg.rm_direction = CALL;
- call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
- call_msg.rm_call.cb_prog = prog;
- call_msg.rm_call.cb_vers = vers;
- xdrmem_create(xdrs, clp->mashl_callmsg, MCALL_MSG_SIZE, XDR_ENCODE);
- if (!xdr_callhdr(xdrs, &call_msg)) {
- perror("clnt_raw.c - Fatal header serialization error.");
- }
- clp->mcnt = XDR_GETPOS(xdrs);
- XDR_DESTROY(xdrs);
-
- /*
- * Set xdrmem for client/server shared buffer
- */
- xdrmem_create(xdrs, clp->_raw_buf, UDPMSGSIZE, XDR_FREE);
-
- /*
- * create client handle
- */
- client->cl_ops = &client_ops;
- client->cl_auth = authnone_create();
- return (client);
-}
-
-static enum clnt_stat
-clntraw_call(h, proc, xargs, argsp, xresults, resultsp, timeout)
-CLIENT *h;
-u_long proc;
-xdrproc_t xargs;
-caddr_t argsp;
-xdrproc_t xresults;
-caddr_t resultsp;
-struct timeval timeout;
-{
- register struct clntraw_private *clp = clntraw_private;
- register XDR *xdrs = &clp->xdr_stream;
- struct rpc_msg msg;
- enum clnt_stat status;
- struct rpc_err error;
-
- if (clp == 0)
- return (RPC_FAILED);
- call_again:
- /*
- * send request
- */
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, 0);
- ((struct rpc_msg *) clp->mashl_callmsg)->rm_xid++;
- if ((!XDR_PUTBYTES(xdrs, clp->mashl_callmsg, clp->mcnt)) ||
- (!XDR_PUTLONG(xdrs, (long *) &proc)) ||
- (!AUTH_MARSHALL(h->cl_auth, xdrs)) || (!(*xargs) (xdrs, argsp))) {
- return (RPC_CANTENCODEARGS);
- }
- (void) XDR_GETPOS(xdrs); /* called just to cause overhead */
-
- /*
- * We have to call server input routine here because this is
- * all going on in one process. Yuk.
- */
- svc_getreq(1);
-
- /*
- * get results
- */
- xdrs->x_op = XDR_DECODE;
- XDR_SETPOS(xdrs, 0);
- msg.acpted_rply.ar_verf = _null_auth;
- msg.acpted_rply.ar_results.where = resultsp;
- msg.acpted_rply.ar_results.proc = xresults;
- if (!xdr_replymsg(xdrs, &msg))
- return (RPC_CANTDECODERES);
- _seterr_reply(&msg, &error);
- status = error.re_status;
-
- if (status == RPC_SUCCESS) {
- if (!AUTH_VALIDATE(h->cl_auth, &msg.acpted_rply.ar_verf)) {
- status = RPC_AUTHERROR;
- }
- } /* end successful completion */
- else {
- if (AUTH_REFRESH(h->cl_auth))
- goto call_again;
- } /* end of unsuccessful completion */
-
- if (status == RPC_SUCCESS) {
- if (!AUTH_VALIDATE(h->cl_auth, &msg.acpted_rply.ar_verf)) {
- status = RPC_AUTHERROR;
- }
- if (msg.acpted_rply.ar_verf.oa_base != NULL) {
- xdrs->x_op = XDR_FREE;
- (void) xdr_opaque_auth(xdrs, &(msg.acpted_rply.ar_verf));
- }
- }
-
- return (status);
-}
-
-static void clntraw_geterr()
-{
-}
-
-
-static bool_t clntraw_freeres(cl, xdr_res, res_ptr)
-CLIENT *cl;
-xdrproc_t xdr_res;
-caddr_t res_ptr;
-{
- register struct clntraw_private *clp = clntraw_private;
- register XDR *xdrs = &clp->xdr_stream;
- bool_t rval;
-
- if (clp == 0) {
- rval = (bool_t) RPC_FAILED;
- return (rval);
- }
- xdrs->x_op = XDR_FREE;
- return ((*xdr_res) (xdrs, res_ptr));
-}
-
-static void clntraw_abort()
-{
-}
-
-static bool_t clntraw_control()
-{
- return (FALSE);
-}
-
-static void clntraw_destroy()
-{
-}
diff --git a/mdk-stage1/dietlibc/librpc/clnt_simple.c b/mdk-stage1/dietlibc/librpc/clnt_simple.c
deleted file mode 100644
index f309f86ff..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_simple.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* @(#)clnt_simple.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)clnt_simple.c 1.35 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_simple.c
- * Simplified front end to rpc.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <string.h>
-
-static struct callrpc_private {
- CLIENT *client;
- int socket;
- int oldprognum, oldversnum, valid;
- char *oldhost;
-} *callrpc_private;
-
-int callrpc (const char *host, const u_long prognum,
- const u_long versnum, const u_long procnum,
- const xdrproc_t inproc, const char *in,
- const xdrproc_t outproc, char *out)
-{
- register struct callrpc_private *crp = callrpc_private;
- struct sockaddr_in server_addr;
- enum clnt_stat clnt_stat;
- struct hostent *hp;
- struct timeval timeout, tottimeout;
-
- if (crp == 0) {
- crp = (struct callrpc_private *) calloc(1, sizeof(*crp));
- if (crp == 0)
- return (0);
- callrpc_private = crp;
- }
- if (crp->oldhost == NULL) {
- crp->oldhost = malloc(256);
- crp->oldhost[0] = 0;
- crp->socket = RPC_ANYSOCK;
- }
- if (crp->valid && crp->oldprognum == prognum
- && crp->oldversnum == versnum && strcmp(crp->oldhost, host) == 0) {
- /* reuse old client */
- } else {
- crp->valid = 0;
- (void) close(crp->socket);
- crp->socket = RPC_ANYSOCK;
- if (crp->client) {
- clnt_destroy(crp->client);
- crp->client = NULL;
- }
- if ((hp = gethostbyname(host)) == NULL)
- return ((int) RPC_UNKNOWNHOST);
- timeout.tv_usec = 0;
- timeout.tv_sec = 5;
- bcopy(hp->h_addr, (char *) &server_addr.sin_addr, hp->h_length);
- server_addr.sin_family = AF_INET;
- server_addr.sin_port = 0;
- if ((crp->client = clntudp_create(&server_addr, (u_long) prognum,
- (u_long) versnum, timeout,
- &crp->socket)) == NULL)
- return ((int) rpc_createerr.cf_stat);
- crp->valid = 1;
- crp->oldprognum = prognum;
- crp->oldversnum = versnum;
- (void) strcpy(crp->oldhost, host);
- }
- tottimeout.tv_sec = 25;
- tottimeout.tv_usec = 0;
- clnt_stat = clnt_call(crp->client, procnum, inproc, (char*)in,
- outproc, out, tottimeout);
- /*
- * if call failed, empty cache
- */
- if (clnt_stat != RPC_SUCCESS)
- crp->valid = 0;
- return ((int) clnt_stat);
-}
diff --git a/mdk-stage1/dietlibc/librpc/clnt_tcp.c b/mdk-stage1/dietlibc/librpc/clnt_tcp.c
deleted file mode 100644
index 8c39e8933..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_tcp.c
+++ /dev/null
@@ -1,463 +0,0 @@
-/* @(#)clnt_tcp.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_tcp.c, Implements a TCP/IP based, client side RPC.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * TCP based RPC supports 'batched calls'.
- * A sequence of calls may be batched-up in a send buffer. The rpc call
- * return immediately to the client even though the call was not necessarily
- * sent. The batching occurs if the results' xdr routine is NULL (0) AND
- * the rpc timeout value is zero (see clnt.h, rpc).
- *
- * Clients should NOT casually batch calls that in fact return results; that is,
- * the server side should be aware that a call is batched and not produce any
- * return message. Batched calls that produce many result messages can
- * deadlock (netlock) the client and the server....
- *
- * Now go hang yourself.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <errno.h>
-#include <rpc/pmap_clnt.h>
-#include <unistd.h>
-
-#define MCALL_MSG_SIZE 24
-
-extern int errno;
-
-static int readtcp();
-static int writetcp();
-
-static enum clnt_stat clnttcp_call();
-static void clnttcp_abort();
-static void clnttcp_geterr();
-static bool_t clnttcp_freeres();
-static bool_t clnttcp_control();
-static void clnttcp_destroy();
-
-static struct clnt_ops tcp_ops = {
- clnttcp_call,
- clnttcp_abort,
- clnttcp_geterr,
- clnttcp_freeres,
- clnttcp_destroy,
- clnttcp_control
-};
-
-struct ct_data {
- int ct_sock;
- bool_t ct_closeit;
- struct timeval ct_wait;
- bool_t ct_waitset; /* wait set by clnt_control? */
- struct sockaddr_in ct_addr;
- struct rpc_err ct_error;
- char ct_mcall[MCALL_MSG_SIZE]; /* marshalled callmsg */
- u_int ct_mpos; /* pos after marshal */
- XDR ct_xdrs;
-};
-
-/*
- * Create a client handle for a tcp/ip connection.
- * If *sockp<0, *sockp is set to a newly created TCP socket and it is
- * connected to raddr. If *sockp non-negative then
- * raddr is ignored. The rpc/tcp package does buffering
- * similar to stdio, so the client must pick send and receive buffer sizes,];
- * 0 => use the default.
- * If raddr->sin_port is 0, then a binder on the remote machine is
- * consulted for the right port number.
- * NB: *sockp is copied into a private area.
- * NB: It is the clients responsibility to close *sockp.
- * NB: The rpch->cl_auth is set null authentication. Caller may wish to set this
- * something more useful.
- */
-CLIENT *clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
-struct sockaddr_in *raddr;
-u_long prog;
-u_long vers;
-register int *sockp;
-u_int sendsz;
-u_int recvsz;
-{
- CLIENT *h;
- register struct ct_data *ct;
- struct timeval now;
- struct rpc_msg call_msg;
-
- h = (CLIENT *) mem_alloc(sizeof(*h));
- if (h == NULL) {
- (void) fprintf(stderr, "clnttcp_create: out of memory\n");
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
- ct = (struct ct_data *) mem_alloc(sizeof(*ct));
- if (ct == NULL) {
- (void) fprintf(stderr, "clnttcp_create: out of memory\n");
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
-
- /*
- * If no port number given ask the pmap for one
- */
- if (raddr->sin_port == 0) {
- u_short port;
-
- if ((port = pmap_getport(raddr, prog, vers, IPPROTO_TCP)) == 0) {
- mem_free((caddr_t) ct, sizeof(struct ct_data));
-
- mem_free((caddr_t) h, sizeof(CLIENT));
- return ((CLIENT *) NULL);
- }
- raddr->sin_port = htons(port);
- }
-
- /*
- * If no socket given, open one
- */
- if (*sockp < 0) {
- *sockp = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- (void) bindresvport(*sockp, (struct sockaddr_in *) 0);
- if ((*sockp < 0)
- || (connect(*sockp, (struct sockaddr *) raddr,
- sizeof(*raddr)) < 0)) {
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- (void) close(*sockp);
- goto fooy;
- }
- ct->ct_closeit = TRUE;
- } else {
- ct->ct_closeit = FALSE;
- }
-
- /*
- * Set up private data struct
- */
- ct->ct_sock = *sockp;
- ct->ct_wait.tv_usec = 0;
- ct->ct_waitset = FALSE;
- ct->ct_addr = *raddr;
-
- /*
- * Initialize call message
- */
- (void) gettimeofday(&now, (struct timezone *) 0);
- call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec;
- call_msg.rm_direction = CALL;
- call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
- call_msg.rm_call.cb_prog = prog;
- call_msg.rm_call.cb_vers = vers;
-
- /*
- * pre-serialize the staic part of the call msg and stash it away
- */
- xdrmem_create(&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE,
- XDR_ENCODE);
- if (!xdr_callhdr(&(ct->ct_xdrs), &call_msg)) {
- if (ct->ct_closeit) {
- (void) close(*sockp);
- }
- goto fooy;
- }
- ct->ct_mpos = XDR_GETPOS(&(ct->ct_xdrs));
- XDR_DESTROY(&(ct->ct_xdrs));
-
- /*
- * Create a client handle which uses xdrrec for serialization
- * and authnone for authentication.
- */
- xdrrec_create(&(ct->ct_xdrs), sendsz, recvsz,
- (caddr_t) ct, readtcp, writetcp);
- h->cl_ops = &tcp_ops;
- h->cl_private = (caddr_t) ct;
- h->cl_auth = authnone_create();
- return (h);
-
- fooy:
- /*
- * Something goofed, free stuff and barf
- */
- mem_free((caddr_t) ct, sizeof(struct ct_data));
-
- mem_free((caddr_t) h, sizeof(CLIENT));
- return ((CLIENT *) NULL);
-}
-
-static enum clnt_stat
-clnttcp_call(h, proc, xdr_args, args_ptr, xdr_results, results_ptr,
- timeout)
-register CLIENT *h;
-u_long proc;
-xdrproc_t xdr_args;
-caddr_t args_ptr;
-xdrproc_t xdr_results;
-caddr_t results_ptr;
-struct timeval timeout;
-{
- register struct ct_data *ct = (struct ct_data *) h->cl_private;
- register XDR *xdrs = &(ct->ct_xdrs);
- struct rpc_msg reply_msg;
- u_long x_id;
- u_long *msg_x_id = (u_long *) (ct->ct_mcall); /* yuk */
- register bool_t shipnow;
- int refreshes = 2;
-
- if (!ct->ct_waitset) {
- ct->ct_wait = timeout;
- }
-
- shipnow =
- (xdr_results == (xdrproc_t) 0 && timeout.tv_sec == 0
- && timeout.tv_usec == 0) ? FALSE : TRUE;
-
- call_again:
- xdrs->x_op = XDR_ENCODE;
- ct->ct_error.re_status = RPC_SUCCESS;
- x_id = ntohl(--(*msg_x_id));
- if ((!XDR_PUTBYTES(xdrs, ct->ct_mcall, ct->ct_mpos)) ||
- (!XDR_PUTLONG(xdrs, (long *) &proc)) ||
- (!AUTH_MARSHALL(h->cl_auth, xdrs)) ||
- (!(*xdr_args) (xdrs, args_ptr))) {
- if (ct->ct_error.re_status == RPC_SUCCESS)
- ct->ct_error.re_status = RPC_CANTENCODEARGS;
- (void) xdrrec_endofrecord(xdrs, TRUE);
- return (ct->ct_error.re_status);
- }
- if (!xdrrec_endofrecord(xdrs, shipnow))
- return (ct->ct_error.re_status = RPC_CANTSEND);
- if (!shipnow)
- return (RPC_SUCCESS);
- /*
- * Hack to provide rpc-based message passing
- */
- if (timeout.tv_sec == 0 && timeout.tv_usec == 0) {
- return (ct->ct_error.re_status = RPC_TIMEDOUT);
- }
-
-
- /*
- * Keep receiving until we get a valid transaction id
- */
- xdrs->x_op = XDR_DECODE;
- while (TRUE) {
- reply_msg.acpted_rply.ar_verf = _null_auth;
- reply_msg.acpted_rply.ar_results.where = NULL;
- reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
- if (!xdrrec_skiprecord(xdrs))
- return (ct->ct_error.re_status);
- /* now decode and validate the response header */
- if (!xdr_replymsg(xdrs, &reply_msg)) {
- if (ct->ct_error.re_status == RPC_SUCCESS)
- continue;
- return (ct->ct_error.re_status);
- }
- if (reply_msg.rm_xid == x_id)
- break;
- }
-
- /*
- * process header
- */
- _seterr_reply(&reply_msg, &(ct->ct_error));
- if (ct->ct_error.re_status == RPC_SUCCESS) {
- if (!AUTH_VALIDATE(h->cl_auth, &reply_msg.acpted_rply.ar_verf)) {
- ct->ct_error.re_status = RPC_AUTHERROR;
- ct->ct_error.re_why = AUTH_INVALIDRESP;
- } else if (!(*xdr_results) (xdrs, results_ptr)) {
- if (ct->ct_error.re_status == RPC_SUCCESS)
- ct->ct_error.re_status = RPC_CANTDECODERES;
- }
- /* free verifier ... */
- if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) {
- xdrs->x_op = XDR_FREE;
- (void) xdr_opaque_auth(xdrs, &(reply_msg.acpted_rply.ar_verf));
- }
- } /* end successful completion */
- else {
- /* maybe our credentials need to be refreshed ... */
- if (refreshes-- && AUTH_REFRESH(h->cl_auth))
- goto call_again;
- } /* end of unsuccessful completion */
- return (ct->ct_error.re_status);
-}
-
-static void clnttcp_geterr(h, errp)
-CLIENT *h;
-struct rpc_err *errp;
-{
- register struct ct_data *ct = (struct ct_data *) h->cl_private;
-
- *errp = ct->ct_error;
-}
-
-static bool_t clnttcp_freeres(cl, xdr_res, res_ptr)
-CLIENT *cl;
-xdrproc_t xdr_res;
-caddr_t res_ptr;
-{
- register struct ct_data *ct = (struct ct_data *) cl->cl_private;
- register XDR *xdrs = &(ct->ct_xdrs);
-
- xdrs->x_op = XDR_FREE;
- return ((*xdr_res) (xdrs, res_ptr));
-}
-
-static void clnttcp_abort()
-{
-}
-
-static bool_t clnttcp_control(cl, request, info)
-CLIENT *cl;
-int request;
-char *info;
-{
- register struct ct_data *ct = (struct ct_data *) cl->cl_private;
-
- switch (request) {
- case CLSET_TIMEOUT:
- ct->ct_wait = *(struct timeval *) info;
- ct->ct_waitset = TRUE;
- break;
- case CLGET_TIMEOUT:
- *(struct timeval *) info = ct->ct_wait;
- break;
- case CLGET_SERVER_ADDR:
- *(struct sockaddr_in *) info = ct->ct_addr;
- break;
- default:
- return (FALSE);
- }
- return (TRUE);
-}
-
-
-static void clnttcp_destroy(h)
-CLIENT *h;
-{
- register struct ct_data *ct = (struct ct_data *) h->cl_private;
-
- if (ct->ct_closeit) {
- (void) close(ct->ct_sock);
- }
- XDR_DESTROY(&(ct->ct_xdrs));
- mem_free((caddr_t) ct, sizeof(struct ct_data));
-
- mem_free((caddr_t) h, sizeof(CLIENT));
-}
-
-/*
- * Interface between xdr serializer and tcp connection.
- * Behaves like the system calls, read & write, but keeps some error state
- * around for the rpc level.
- */
-static int readtcp(ct, buf, len)
-register struct ct_data *ct;
-caddr_t buf;
-register int len;
-{
-#ifdef FD_SETSIZE
- fd_set mask;
- fd_set readfds;
-
- if (len == 0)
- return (0);
- FD_ZERO(&mask);
- FD_SET(ct->ct_sock, &mask);
-#else
- register int mask = 1 << (ct->ct_sock);
- int readfds;
-
- if (len == 0)
- return (0);
-
-#endif /* def FD_SETSIZE */
- while (TRUE) {
- readfds = mask;
- switch (select
- (_rpc_dtablesize(), &readfds, 0, 0,
- &(ct->ct_wait))) {
- case 0:
- ct->ct_error.re_status = RPC_TIMEDOUT;
- return (-1);
-
- case -1:
- if (errno == EINTR)
- continue;
- ct->ct_error.re_status = RPC_CANTRECV;
- ct->ct_error.re_errno = errno;
- return (-1);
- }
- break;
- }
- switch (len = read(ct->ct_sock, buf, len)) {
-
- case 0:
- /* premature eof */
- ct->ct_error.re_errno = ECONNRESET;
- ct->ct_error.re_status = RPC_CANTRECV;
- len = -1; /* it's really an error */
- break;
-
- case -1:
- ct->ct_error.re_errno = errno;
- ct->ct_error.re_status = RPC_CANTRECV;
- break;
- }
- return (len);
-}
-
-static int writetcp(ct, buf, len)
-struct ct_data *ct;
-caddr_t buf;
-int len;
-{
- register int i, cnt;
-
- for (cnt = len; cnt > 0; cnt -= i, buf += i) {
- if ((i = write(ct->ct_sock, buf, cnt)) == -1) {
- ct->ct_error.re_errno = errno;
- ct->ct_error.re_status = RPC_CANTSEND;
- return (-1);
- }
- }
- return (len);
-}
diff --git a/mdk-stage1/dietlibc/librpc/clnt_udp.c b/mdk-stage1/dietlibc/librpc/clnt_udp.c
deleted file mode 100644
index 7305d3ff1..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_udp.c
+++ /dev/null
@@ -1,437 +0,0 @@
-/* @(#)clnt_udp.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)clnt_udp.c 1.39 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_udp.c, Implements a UDP/IP based, client side RPC.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <netdb.h>
-#include <errno.h>
-#include <rpc/pmap_clnt.h>
-#include <unistd.h>
-
-extern int errno;
-
-/*
- * UDP bases client side rpc operations
- */
-static enum clnt_stat clntudp_call();
-static void clntudp_abort();
-static void clntudp_geterr();
-static bool_t clntudp_freeres();
-static bool_t clntudp_control();
-static void clntudp_destroy();
-
-static struct clnt_ops udp_ops = {
- clntudp_call,
- clntudp_abort,
- clntudp_geterr,
- clntudp_freeres,
- clntudp_destroy,
- clntudp_control
-};
-
-/*
- * Private data kept per client handle
- */
-struct cu_data {
- int cu_sock;
- bool_t cu_closeit;
- struct sockaddr_in cu_raddr;
- int cu_rlen;
- struct timeval cu_wait;
- struct timeval cu_total;
- struct rpc_err cu_error;
- XDR cu_outxdrs;
- u_int cu_xdrpos;
- u_int cu_sendsz;
- char *cu_outbuf;
- u_int cu_recvsz;
- char cu_inbuf[1];
-};
-
-/*
- * Create a UDP based client handle.
- * If *sockp<0, *sockp is set to a newly created UPD socket.
- * If raddr->sin_port is 0 a binder on the remote machine
- * is consulted for the correct port number.
- * NB: It is the clients responsibility to close *sockp.
- * NB: The rpch->cl_auth is initialized to null authentication.
- * Caller may wish to set this something more useful.
- *
- * wait is the amount of time used between retransmitting a call if
- * no response has been heard; retransmition occurs until the actual
- * rpc call times out.
- *
- * sendsz and recvsz are the maximum allowable packet sizes that can be
- * sent and received.
- */
-CLIENT *clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz,
- recvsz)
-struct sockaddr_in *raddr;
-u_long program;
-u_long version;
-struct timeval wait;
-register int *sockp;
-u_int sendsz;
-u_int recvsz;
-{
- CLIENT *cl;
- register struct cu_data *cu;
- struct timeval now;
- struct rpc_msg call_msg;
-
- cl = (CLIENT *) mem_alloc(sizeof(CLIENT));
- if (cl == NULL) {
- (void) fprintf(stderr, "clntudp_create: out of memory\n");
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
- sendsz = ((sendsz + 3) / 4) * 4;
- recvsz = ((recvsz + 3) / 4) * 4;
- cu = (struct cu_data *) mem_alloc(sizeof(*cu) + sendsz + recvsz);
- if (cu == NULL) {
- (void) fprintf(stderr, "clntudp_create: out of memory\n");
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
- cu->cu_outbuf = &cu->cu_inbuf[recvsz];
-
- (void) gettimeofday(&now, (struct timezone *) 0);
- if (raddr->sin_port == 0) {
- u_short port;
-
- if ((port =
- pmap_getport(raddr, program, version, IPPROTO_UDP)) == 0) {
- goto fooy;
- }
- raddr->sin_port = htons(port);
- }
- cl->cl_ops = &udp_ops;
- cl->cl_private = (caddr_t) cu;
- cu->cu_raddr = *raddr;
- cu->cu_rlen = sizeof(cu->cu_raddr);
- cu->cu_wait = wait;
- cu->cu_total.tv_sec = -1;
- cu->cu_total.tv_usec = -1;
- cu->cu_sendsz = sendsz;
- cu->cu_recvsz = recvsz;
- call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec;
- call_msg.rm_direction = CALL;
- call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
- call_msg.rm_call.cb_prog = program;
- call_msg.rm_call.cb_vers = version;
- xdrmem_create(&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE);
- if (!xdr_callhdr(&(cu->cu_outxdrs), &call_msg)) {
- goto fooy;
- }
- cu->cu_xdrpos = XDR_GETPOS(&(cu->cu_outxdrs));
- if (*sockp < 0) {
- int dontblock = 1;
-
- *sockp = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
- if (*sockp < 0) {
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
- /* attempt to bind to prov port */
- (void) bindresvport(*sockp, (struct sockaddr_in *) 0);
- /* the sockets rpc controls are non-blocking */
- (void) ioctl(*sockp, FIONBIO, (char *) &dontblock);
- cu->cu_closeit = TRUE;
- } else {
- cu->cu_closeit = FALSE;
- }
- cu->cu_sock = *sockp;
- cl->cl_auth = authnone_create();
- return (cl);
- fooy:
- if (cu)
- mem_free((caddr_t) cu, sizeof(*cu) + sendsz + recvsz);
- if (cl)
- mem_free((caddr_t) cl, sizeof(CLIENT));
- return ((CLIENT *) NULL);
-}
-
-CLIENT *clntudp_create(raddr, program, version, wait, sockp)
-struct sockaddr_in *raddr;
-u_long program;
-u_long version;
-struct timeval wait;
-register int *sockp;
-{
-
- return (clntudp_bufcreate(raddr, program, version, wait, sockp,
- UDPMSGSIZE, UDPMSGSIZE));
-}
-
-static enum clnt_stat
-clntudp_call(cl, proc, xargs, argsp, xresults, resultsp, utimeout)
-register CLIENT *cl; /* client handle */
-u_long proc; /* procedure number */
-xdrproc_t xargs; /* xdr routine for args */
-caddr_t argsp; /* pointer to args */
-xdrproc_t xresults; /* xdr routine for results */
-caddr_t resultsp; /* pointer to results */
-struct timeval utimeout; /* seconds to wait before giving up */
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
- register XDR *xdrs;
- register int outlen;
- register int inlen;
- int fromlen;
-
-#ifdef FD_SETSIZE
- fd_set readfds;
- fd_set mask;
-#else
- int readfds;
- register int mask;
-#endif /* def FD_SETSIZE */
- struct sockaddr_in from;
- struct rpc_msg reply_msg;
- XDR reply_xdrs;
- struct timeval time_waited;
- bool_t ok;
- int nrefreshes = 2; /* number of times to refresh cred */
- struct timeval timeout;
-
- if (cu->cu_total.tv_usec == -1) {
- timeout = utimeout; /* use supplied timeout */
- } else {
- timeout = cu->cu_total; /* use default timeout */
- }
-
- time_waited.tv_sec = 0;
- time_waited.tv_usec = 0;
- call_again:
- xdrs = &(cu->cu_outxdrs);
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, cu->cu_xdrpos);
- /*
- * the transaction is the first thing in the out buffer
- */
- (*(u_short *) (cu->cu_outbuf))++;
- if ((!XDR_PUTLONG(xdrs, (long *) &proc)) ||
- (!AUTH_MARSHALL(cl->cl_auth, xdrs)) || (!(*xargs) (xdrs, argsp)))
- return (cu->cu_error.re_status = RPC_CANTENCODEARGS);
- outlen = (int) XDR_GETPOS(xdrs);
-
- send_again:
- if (sendto(cu->cu_sock, cu->cu_outbuf, outlen, 0,
- (struct sockaddr *) &(cu->cu_raddr), cu->cu_rlen)
- != outlen) {
- cu->cu_error.re_errno = errno;
- return (cu->cu_error.re_status = RPC_CANTSEND);
- }
-
- /*
- * Hack to provide rpc-based message passing
- */
- if (timeout.tv_sec == 0 && timeout.tv_usec == 0) {
- return (cu->cu_error.re_status = RPC_TIMEDOUT);
- }
- /*
- * sub-optimal code appears here because we have
- * some clock time to spare while the packets are in flight.
- * (We assume that this is actually only executed once.)
- */
- reply_msg.acpted_rply.ar_verf = _null_auth;
- reply_msg.acpted_rply.ar_results.where = resultsp;
- reply_msg.acpted_rply.ar_results.proc = xresults;
-#ifdef FD_SETSIZE
- FD_ZERO(&mask);
- FD_SET(cu->cu_sock, &mask);
-#else
- mask = 1 << cu->cu_sock;
-#endif /* def FD_SETSIZE */
- for (;;) {
- readfds = mask;
- switch (select(_rpc_dtablesize(), &readfds, 0, 0, &(cu->cu_wait))) {
-
- case 0:
- time_waited.tv_sec += cu->cu_wait.tv_sec;
- time_waited.tv_usec += cu->cu_wait.tv_usec;
- while (time_waited.tv_usec >= 1000000) {
- time_waited.tv_sec++;
- time_waited.tv_usec -= 1000000;
- }
- if ((time_waited.tv_sec < timeout.tv_sec) ||
- ((time_waited.tv_sec == timeout.tv_sec) &&
- (time_waited.tv_usec < timeout.tv_usec)))
- goto send_again;
- return (cu->cu_error.re_status = RPC_TIMEDOUT);
-
- /*
- * buggy in other cases because time_waited is not being
- * updated.
- */
- case -1:
- if (errno == EINTR)
- continue;
- cu->cu_error.re_errno = errno;
- return (cu->cu_error.re_status = RPC_CANTRECV);
- }
- do {
- fromlen = sizeof(struct sockaddr);
-
- inlen = recvfrom(cu->cu_sock, cu->cu_inbuf,
- (int) cu->cu_recvsz, 0,
- (struct sockaddr *) &from, &fromlen);
- } while (inlen < 0 && errno == EINTR);
- if (inlen < 0) {
- if (errno == EWOULDBLOCK)
- continue;
- cu->cu_error.re_errno = errno;
- return (cu->cu_error.re_status = RPC_CANTRECV);
- }
- if (inlen < sizeof(u_long))
- continue;
- /* see if reply transaction id matches sent id */
- if (*((u_long *) (cu->cu_inbuf)) != *((u_long *) (cu->cu_outbuf)))
- continue;
- /* we now assume we have the proper reply */
- break;
- }
-
- /*
- * now decode and validate the response
- */
- xdrmem_create(&reply_xdrs, cu->cu_inbuf, (u_int) inlen, XDR_DECODE);
- ok = xdr_replymsg(&reply_xdrs, &reply_msg);
- /* XDR_DESTROY(&reply_xdrs); save a few cycles on noop destroy */
- if (ok) {
- _seterr_reply(&reply_msg, &(cu->cu_error));
- if (cu->cu_error.re_status == RPC_SUCCESS) {
- if (!AUTH_VALIDATE(cl->cl_auth,
- &reply_msg.acpted_rply.ar_verf)) {
- cu->cu_error.re_status = RPC_AUTHERROR;
- cu->cu_error.re_why = AUTH_INVALIDRESP;
- }
- if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) {
- xdrs->x_op = XDR_FREE;
- (void) xdr_opaque_auth(xdrs,
- &(reply_msg.acpted_rply.ar_verf));
- }
- } /* end successful completion */
- else {
- /* maybe our credentials need to be refreshed ... */
- if (nrefreshes > 0 && AUTH_REFRESH(cl->cl_auth)) {
- nrefreshes--;
- goto call_again;
- }
- } /* end of unsuccessful completion */
- } /* end of valid reply message */
- else {
- cu->cu_error.re_status = RPC_CANTDECODERES;
- }
- return (cu->cu_error.re_status);
-}
-
-static void clntudp_geterr(cl, errp)
-CLIENT *cl;
-struct rpc_err *errp;
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
-
- *errp = cu->cu_error;
-}
-
-
-static bool_t clntudp_freeres(cl, xdr_res, res_ptr)
-CLIENT *cl;
-xdrproc_t xdr_res;
-caddr_t res_ptr;
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
- register XDR *xdrs = &(cu->cu_outxdrs);
-
- xdrs->x_op = XDR_FREE;
- return ((*xdr_res) (xdrs, res_ptr));
-}
-
-static void clntudp_abort( /*h */ )
- /*CLIENT *h; */
-{
-}
-
-static bool_t clntudp_control(cl, request, info)
-CLIENT *cl;
-int request;
-char *info;
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
-
- switch (request) {
- case CLSET_TIMEOUT:
- cu->cu_total = *(struct timeval *) info;
- break;
- case CLGET_TIMEOUT:
- *(struct timeval *) info = cu->cu_total;
- break;
- case CLSET_RETRY_TIMEOUT:
- cu->cu_wait = *(struct timeval *) info;
- break;
- case CLGET_RETRY_TIMEOUT:
- *(struct timeval *) info = cu->cu_wait;
- break;
- case CLGET_SERVER_ADDR:
- *(struct sockaddr_in *) info = cu->cu_raddr;
- break;
- default:
- return (FALSE);
- }
- return (TRUE);
-}
-
-static void clntudp_destroy(cl)
-CLIENT *cl;
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
-
- if (cu->cu_closeit) {
- (void) close(cu->cu_sock);
- }
- XDR_DESTROY(&(cu->cu_outxdrs));
- mem_free((caddr_t) cu, (sizeof(*cu) + cu->cu_sendsz + cu->cu_recvsz));
- mem_free((caddr_t) cl, sizeof(CLIENT));
-}
diff --git a/mdk-stage1/dietlibc/librpc/get_myaddress.c b/mdk-stage1/dietlibc/librpc/get_myaddress.c
deleted file mode 100644
index cd63383d0..000000000
--- a/mdk-stage1/dietlibc/librpc/get_myaddress.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* @(#)get_myaddress.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)get_myaddress.c 1.4 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * get_myaddress.c
- *
- * Get client's IP address via ioctl. This avoids using the yellowpages.
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/types.h>
-#include <rpc/pmap_prot.h>
-#include <sys/socket.h>
-#include <stdio.h>
-//#include <net/if.h>
-#include <sys/ioctl.h>
-#include <arpa/inet.h>
-#include <netinet/in.h>
-
-/* DO use gethostbyname because it's portable */
-#include <unistd.h>
-#include <netdb.h>
-#include <string.h>
-void get_myaddress(struct sockaddr_in* addr)
-{
- char localhost[256 + 1];
- struct hostent *hp;
-
- gethostname(localhost, 256);
- if ((hp = gethostbyname(localhost)) == NULL) {
- perror("get_myaddress: gethostbyname");
- exit(1);
- }
- addr->sin_family = AF_INET;
- bcopy((char *) hp->h_addr, (char *) &addr->sin_addr, hp->h_length);
- addr->sin_port = htons(PMAPPORT);
-}
diff --git a/mdk-stage1/dietlibc/librpc/getrpcent.c b/mdk-stage1/dietlibc/librpc/getrpcent.c
deleted file mode 100644
index 5e7f694d2..000000000
--- a/mdk-stage1/dietlibc/librpc/getrpcent.c
+++ /dev/null
@@ -1,274 +0,0 @@
-/* @(#)getrpcent.c 2.2 88/07/29 4.0 RPCSRC */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)getrpcent.c 1.9 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * Copyright (c) 1985 by Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <rpc/rpc.h>
-#include <netdb.h>
-#include <sys/socket.h>
-#include <string.h>
-
-/*
- * Internet version.
- */
-struct rpcdata {
- FILE *rpcf;
- char *current;
- int currentlen;
- int stayopen;
-#define MAXALIASES 35
- char *rpc_aliases[MAXALIASES];
- struct rpcent rpc;
- char line[BUFSIZ + 1];
- char *domain;
-} *rpcdata;
-
-static struct rpcent *interpret();
-struct hostent *gethostent();
-char *inet_ntoa();
-
-#ifndef __linux__
-static char *index();
-#else
-char *index();
-#endif
-
-static char RPCDB[] = "/etc/rpc";
-
-static struct rpcdata *_rpcdata()
-{
- register struct rpcdata *d = rpcdata;
-
- if (d == 0) {
- d = (struct rpcdata *) calloc(1, sizeof(struct rpcdata));
-
- rpcdata = d;
- }
- return (d);
-}
-
-struct rpcent *getrpcbynumber(number)
-register int number;
-{
- register struct rpcdata *d = _rpcdata();
- register struct rpcent *p;
-
- if (d == 0)
- return (0);
- setrpcent(0);
- while ((p = getrpcent())) {
- if (p->r_number == number)
- break;
- }
- endrpcent();
- return (p);
-}
-
-struct rpcent *
-#ifdef __linux__
-getrpcbyname(const char *name)
-#else
-getrpcbyname(name)
-char *name;
-#endif
-{
- struct rpcent *rpc;
- char **rp;
-
- setrpcent(0);
- while ((rpc = getrpcent())) {
- if (strcmp(rpc->r_name, name) == 0)
- return (rpc);
- for (rp = rpc->r_aliases; *rp != NULL; rp++) {
- if (strcmp(*rp, name) == 0)
- return (rpc);
- }
- }
- endrpcent();
- return (NULL);
-}
-
-#ifdef __linux__
-void
-#endif
-setrpcent(f)
-int f;
-{
- register struct rpcdata *d = _rpcdata();
-
- if (d == 0)
- return;
- if (d->rpcf == NULL)
- d->rpcf = fopen(RPCDB, "r");
- else
- rewind(d->rpcf);
- if (d->current)
- free(d->current);
- d->current = NULL;
- d->stayopen |= f;
-}
-
-#ifdef __linux__
-void
-#endif
-endrpcent()
-{
- register struct rpcdata *d = _rpcdata();
-
- if (d == 0)
- return;
- if (d->current && !d->stayopen) {
- free(d->current);
- d->current = NULL;
- }
- if (d->rpcf && !d->stayopen) {
- fclose(d->rpcf);
- d->rpcf = NULL;
- }
-}
-
-struct rpcent *getrpcent()
-{
- register struct rpcdata *d = _rpcdata();
-
- if (d == 0)
- return (NULL);
- if (d->rpcf == NULL && (d->rpcf = fopen(RPCDB, "r")) == NULL)
- return (NULL);
- if (fgets(d->line, BUFSIZ, d->rpcf) == NULL)
- return (NULL);
- return interpret(d->line, strlen(d->line));
-}
-
-#ifdef __linux__
-static char *firstwhite(s)
-char *s;
-{
- char *s1, *s2;
-
- s1 = index(s, ' ');
- s2 = index(s, '\t');
- if (s1) {
- if (s2)
- return (s1 < s2) ? s1 : s2;
- else
- return s1;
- } else
- return s2;
-}
-#endif
-
-static struct rpcent *interpret(const char* val, int len)
-{
- register struct rpcdata *d = _rpcdata();
- char *p;
- register char *cp, **q;
-
- if (d == 0)
- return 0;
- strncpy(d->line, val, len);
- p = d->line;
- d->line[len] = '\n';
- if (*p == '#')
- return (getrpcent());
- cp = index(p, '#');
- if (cp == NULL) {
- cp = index(p, '\n');
- if (cp == NULL)
- return (getrpcent());
- }
- *cp = '\0';
-#ifdef __linux__
- if ((cp = firstwhite(p)))
- *cp++ = 0;
- else
- return (getrpcent());
-#else
- cp = index(p, ' ');
- if (cp == NULL) {
- cp = index(p, '\t');
- if (cp == NULL)
- return (getrpcent());
- }
- *cp++ = '\0';
-#endif
- /* THIS STUFF IS INTERNET SPECIFIC */
- d->rpc.r_name = d->line;
- while (*cp == ' ' || *cp == '\t')
- cp++;
- d->rpc.r_number = atoi(cp);
- q = d->rpc.r_aliases = d->rpc_aliases;
-#ifdef __linux__
- if ((cp = firstwhite(cp)))
- *cp++ = '\0';
-#else
- cp = index(p, ' ');
- if (cp != NULL)
- *cp++ = '\0';
- else {
- cp = index(p, '\t');
- if (cp != NULL)
- *cp++ = '\0';
- }
-#endif
- while (cp && *cp) {
- if (*cp == ' ' || *cp == '\t') {
- cp++;
- continue;
- }
- if (q < &(d->rpc_aliases[MAXALIASES - 1]))
- *q++ = cp;
-#ifdef __linux__
- if ((cp = firstwhite(cp)))
- *cp++ = '\0';
-#else
- cp = index(p, ' ');
- if (cp != NULL)
- *cp++ = '\0';
- else {
- cp = index(p, '\t');
- if (cp != NULL)
- *cp++ = '\0';
- }
-#endif
- }
- *q = NULL;
- return (&d->rpc);
-}
diff --git a/mdk-stage1/dietlibc/librpc/getrpcport.c b/mdk-stage1/dietlibc/librpc/getrpcport.c
deleted file mode 100644
index a7085cbe7..000000000
--- a/mdk-stage1/dietlibc/librpc/getrpcport.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* @(#)getrpcport.c 2.1 88/07/29 4.0 RPCSRC */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)getrpcport.c 1.3 87/08/11 SMI";
-#endif
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * Copyright (c) 1985 by Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <netdb.h>
-#include <sys/socket.h>
-#include <string.h>
-#include <rpc/pmap_clnt.h>
-
-extern int getrpcport (const char * host, u_long prognum,
- u_long versnum, u_int proto)
-{
- struct sockaddr_in addr;
- struct hostent *hp;
-
- if ((hp = gethostbyname(host)) == NULL)
- return (0);
- bcopy(hp->h_addr, (char *) &addr.sin_addr, hp->h_length);
- addr.sin_family = AF_INET;
- addr.sin_port = 0;
- return (pmap_getport(&addr, prognum, versnum, proto));
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_clnt.c b/mdk-stage1/dietlibc/librpc/pmap_clnt.c
deleted file mode 100644
index 428675656..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_clnt.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/* @(#)pmap_clnt.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_clnt.c 1.37 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_clnt.c
- * Client interface to pmap rpc service.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <unistd.h>
-
-static struct timeval timeout = { 5, 0 };
-static struct timeval tottimeout = { 60, 0 };
-
-void clnt_perror();
-
-
-/*
- * Set a mapping between program,version and port.
- * Calls the pmap service remotely to do the mapping.
- */
-bool_t pmap_set(program, version, protocol, port)
-u_long program;
-u_long version;
-int protocol;
-u_short port;
-{
- struct sockaddr_in myaddress;
- int socket = -1;
- register CLIENT *client;
- struct pmap parms;
- bool_t rslt;
-
- get_myaddress(&myaddress);
- client = clntudp_bufcreate(&myaddress, PMAPPROG, PMAPVERS,
- timeout, &socket, RPCSMALLMSGSIZE,
- RPCSMALLMSGSIZE);
- if (client == (CLIENT *) NULL)
- return (FALSE);
- parms.pm_prog = program;
- parms.pm_vers = version;
- parms.pm_prot = protocol;
- parms.pm_port = port;
- if (CLNT_CALL(client, PMAPPROC_SET, (xdrproc_t)xdr_pmap, (caddr_t)&parms, (xdrproc_t)xdr_bool, (caddr_t)&rslt,
- tottimeout) != RPC_SUCCESS) {
- clnt_perror(client, "Cannot register service");
- return (FALSE);
- }
- CLNT_DESTROY(client);
- (void) close(socket);
- return (rslt);
-}
-
-/*
- * Remove the mapping between program,version and port.
- * Calls the pmap service remotely to do the un-mapping.
- */
-bool_t pmap_unset(program, version)
-u_long program;
-u_long version;
-{
- struct sockaddr_in myaddress;
- int socket = -1;
- register CLIENT *client;
- struct pmap parms;
- bool_t rslt;
-
- get_myaddress(&myaddress);
- client = clntudp_bufcreate(&myaddress, PMAPPROG, PMAPVERS,
- timeout, &socket, RPCSMALLMSGSIZE,
- RPCSMALLMSGSIZE);
- if (client == (CLIENT *) NULL)
- return (FALSE);
- parms.pm_prog = program;
- parms.pm_vers = version;
- parms.pm_port = parms.pm_prot = 0;
- CLNT_CALL(client, PMAPPROC_UNSET, (xdrproc_t)xdr_pmap, (caddr_t)&parms, (xdrproc_t)xdr_bool, (caddr_t)&rslt,
- tottimeout);
- CLNT_DESTROY(client);
- (void) close(socket);
- return (rslt);
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_getmaps.c b/mdk-stage1/dietlibc/librpc/pmap_getmaps.c
deleted file mode 100644
index 6940783fb..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_getmaps.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* @(#)pmap_getmaps.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_getmaps.c 1.10 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_getmap.c
- * Client interface to pmap rpc service.
- * contains pmap_getmaps, which is only tcp service involved
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <stdio.h>
-#include <errno.h>
-//#include <net/if.h>
-#include <sys/ioctl.h>
-#define NAMELEN 255
-#define MAX_BROADCAST_SIZE 1400
-#include <unistd.h>
-
-extern int errno;
-
-/*
- * Get a copy of the current port maps.
- * Calls the pmap service remotely to do get the maps.
- */
-struct pmaplist *pmap_getmaps(address)
-struct sockaddr_in *address;
-{
- struct pmaplist *head = (struct pmaplist *) NULL;
- int socket = -1;
- struct timeval minutetimeout;
- register CLIENT *client;
-
- minutetimeout.tv_sec = 60;
- minutetimeout.tv_usec = 0;
- address->sin_port = htons(PMAPPORT);
- client = clnttcp_create(address, PMAPPROG, PMAPVERS, &socket, 50, 500);
- if (client != (CLIENT *) NULL) {
- if (CLNT_CALL(client, PMAPPROC_DUMP, (xdrproc_t)xdr_void, NULL, (xdrproc_t)xdr_pmaplist,
- (caddr_t)&head, minutetimeout) != RPC_SUCCESS) {
- clnt_perror(client, "pmap_getmaps rpc problem");
- }
- CLNT_DESTROY(client);
- }
- (void) close(socket);
- address->sin_port = 0;
- return (head);
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_getport.c b/mdk-stage1/dietlibc/librpc/pmap_getport.c
deleted file mode 100644
index 174dca41a..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_getport.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* @(#)pmap_getport.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_getport.c 1.9 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_getport.c
- * Client interface to pmap rpc service.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <sys/socket.h>
-//#include <net/if.h>
-#include <unistd.h>
-
-static struct timeval timeout = { 5, 0 };
-static struct timeval tottimeout = { 60, 0 };
-
-/*
- * Find the mapped port for program,version.
- * Calls the pmap service remotely to do the lookup.
- * Returns 0 if no map exists.
- */
-u_short pmap_getport(address, program, version, protocol)
-struct sockaddr_in *address;
-u_long program;
-u_long version;
-u_int protocol;
-{
- u_short port = 0;
- int socket = -1;
- register CLIENT *client;
- struct pmap parms;
-
- address->sin_port = htons(PMAPPORT);
- client = clntudp_bufcreate(address, PMAPPROG,
- PMAPVERS, timeout, &socket, RPCSMALLMSGSIZE,
- RPCSMALLMSGSIZE);
- if (client != (CLIENT *) NULL) {
- parms.pm_prog = program;
- parms.pm_vers = version;
- parms.pm_prot = protocol;
- parms.pm_port = 0; /* not needed or used */
- if (CLNT_CALL(client, PMAPPROC_GETPORT, (xdrproc_t)xdr_pmap, (caddr_t)&parms,
- (xdrproc_t)xdr_u_short, (caddr_t)&port, tottimeout) != RPC_SUCCESS) {
- rpc_createerr.cf_stat = RPC_PMAPFAILURE;
- clnt_geterr(client, &rpc_createerr.cf_error);
- } else if (port == 0) {
- rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED;
- }
- CLNT_DESTROY(client);
- }
- (void) close(socket);
- address->sin_port = 0;
- return (port);
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_prot.c b/mdk-stage1/dietlibc/librpc/pmap_prot.c
deleted file mode 100644
index ec8b5af79..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_prot.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* @(#)pmap_prot.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_prot.c 1.17 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_prot.c
- * Protocol for the local binder service, or pmap.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/pmap_prot.h>
-
-
-bool_t xdr_pmap(xdrs, regs)
-XDR *xdrs;
-struct pmap *regs;
-{
-
- if (xdr_u_long(xdrs, &regs->pm_prog) &&
- xdr_u_long(xdrs, &regs->pm_vers) &&
- xdr_u_long(xdrs, &regs->pm_prot))
- return (xdr_u_long(xdrs, &regs->pm_port));
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_prot2.c b/mdk-stage1/dietlibc/librpc/pmap_prot2.c
deleted file mode 100644
index 870c844ed..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_prot2.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* @(#)pmap_prot2.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_prot2.c 1.3 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_prot2.c
- * Protocol for the local binder service, or pmap.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/pmap_prot.h>
-
-
-/*
- * What is going on with linked lists? (!)
- * First recall the link list declaration from pmap_prot.h:
- *
- * struct pmaplist {
- * struct pmap pml_map;
- * struct pmaplist *pml_map;
- * };
- *
- * Compare that declaration with a corresponding xdr declaration that
- * is (a) pointer-less, and (b) recursive:
- *
- * typedef union switch (bool_t) {
- *
- * case TRUE: struct {
- * struct pmap;
- * pmaplist_t foo;
- * };
- *
- * case FALSE: struct {};
- * } pmaplist_t;
- *
- * Notice that the xdr declaration has no nxt pointer while
- * the C declaration has no bool_t variable. The bool_t can be
- * interpreted as ``more data follows me''; if FALSE then nothing
- * follows this bool_t; if TRUE then the bool_t is followed by
- * an actual struct pmap, and then (recursively) by the
- * xdr union, pamplist_t.
- *
- * This could be implemented via the xdr_union primitive, though this
- * would cause a one recursive call per element in the list. Rather than do
- * that we can ``unwind'' the recursion
- * into a while loop and do the union arms in-place.
- *
- * The head of the list is what the C programmer wishes to past around
- * the net, yet is the data that the pointer points to which is interesting;
- * this sounds like a job for xdr_reference!
- */
-bool_t xdr_pmaplist(XDR* xdrs, struct pmaplist** rp)
-{
- /*
- * more_elements is pre-computed in case the direction is
- * XDR_ENCODE or XDR_FREE. more_elements is overwritten by
- * xdr_bool when the direction is XDR_DECODE.
- */
- bool_t more_elements;
- register int freeing = (xdrs->x_op == XDR_FREE);
- register struct pmaplist **next=0;
-
- while (TRUE) {
- more_elements = (bool_t) (*rp != NULL);
- if (!xdr_bool(xdrs, &more_elements))
- return (FALSE);
- if (!more_elements)
- return (TRUE); /* we are done */
- /*
- * the unfortunate side effect of non-recursion is that in
- * the case of freeing we must remember the next object
- * before we free the current object ...
- */
- if (freeing)
- next = &((*rp)->pml_next);
- if (!xdr_reference(xdrs, (caddr_t *) rp,
- (u_int) sizeof(struct pmaplist), (xdrproc_t)xdr_pmap))
- return (FALSE);
-
- rp = (freeing) ? next : &((*rp)->pml_next);
- }
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_rmt.c b/mdk-stage1/dietlibc/librpc/pmap_rmt.c
deleted file mode 100644
index 02efcf91c..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_rmt.c
+++ /dev/null
@@ -1,403 +0,0 @@
-/* @(#)pmap_rmt.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)pmap_rmt.c 1.21 87/08/27 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_rmt.c
- * Client interface to pmap rpc service.
- * remote call and broadcast service
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <rpc/pmap_rmt.h>
-#include <sys/socket.h>
-#include <stdio.h>
-#include <errno.h>
-//#include <net/if.h>
-#include <sys/ioctl.h>
-#include <arpa/inet.h>
-#define MAX_BROADCAST_SIZE 1400
-#include <unistd.h>
-#include <string.h>
-
-extern int errno;
-static struct timeval timeout = { 3, 0 };
-
-
-/*
- * pmapper remote-call-service interface.
- * This routine is used to call the pmapper remote call service
- * which will look up a service program in the port maps, and then
- * remotely call that routine with the given parameters. This allows
- * programs to do a lookup and call in one step.
-*/
-enum clnt_stat
-pmap_rmtcall(addr, prog, vers, proc, xdrargs, argsp, xdrres, resp, tout,
- port_ptr)
-struct sockaddr_in *addr;
-u_long prog, vers, proc;
-xdrproc_t xdrargs, xdrres;
-caddr_t argsp, resp;
-struct timeval tout;
-u_long *port_ptr;
-{
- int socket = -1;
- register CLIENT *client;
- struct rmtcallargs a;
- struct rmtcallres r;
- enum clnt_stat stat;
-
- addr->sin_port = htons(PMAPPORT);
- client = clntudp_create(addr, PMAPPROG, PMAPVERS, timeout, &socket);
- if (client != (CLIENT *) NULL) {
- a.prog = prog;
- a.vers = vers;
- a.proc = proc;
- a.args_ptr = argsp;
- a.xdr_args = xdrargs;
- r.port_ptr = port_ptr;
- r.results_ptr = resp;
- r.xdr_results = xdrres;
- stat = CLNT_CALL(client, PMAPPROC_CALLIT, (xdrproc_t)xdr_rmtcall_args, (caddr_t)&a,
- (xdrproc_t)xdr_rmtcallres, (caddr_t)&r, tout);
- CLNT_DESTROY(client);
- } else {
- stat = RPC_FAILED;
- }
- (void) close(socket);
- addr->sin_port = 0;
- return (stat);
-}
-
-
-/*
- * XDR remote call arguments
- * written for XDR_ENCODE direction only
- */
-bool_t xdr_rmtcall_args(XDR* xdrs, struct rmtcallargs* cap)
-{
- u_int lenposition, argposition, position;
-
- if (xdr_u_long(xdrs, &(cap->prog)) &&
- xdr_u_long(xdrs, &(cap->vers)) && xdr_u_long(xdrs, &(cap->proc))) {
- lenposition = XDR_GETPOS(xdrs);
- if (!xdr_u_long(xdrs, &(cap->arglen)))
- return (FALSE);
- argposition = XDR_GETPOS(xdrs);
- if (!(*(cap->xdr_args)) (xdrs, cap->args_ptr))
- return (FALSE);
- position = XDR_GETPOS(xdrs);
- cap->arglen = (u_long) position - (u_long) argposition;
- XDR_SETPOS(xdrs, lenposition);
- if (!xdr_u_long(xdrs, &(cap->arglen)))
- return (FALSE);
- XDR_SETPOS(xdrs, position);
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * XDR remote call results
- * written for XDR_DECODE direction only
- */
-bool_t xdr_rmtcallres(XDR* xdrs, struct rmtcallres* crp)
-{
- caddr_t port_ptr;
-
- port_ptr = (caddr_t) crp->port_ptr;
- if (xdr_reference(xdrs, &port_ptr, sizeof(u_long),
- (xdrproc_t)xdr_u_long) && xdr_u_long(xdrs, &crp->resultslen)) {
- crp->port_ptr = (u_long *) port_ptr;
- return ((*(crp->xdr_results)) (xdrs, crp->results_ptr));
- }
- return (FALSE);
-}
-
-
-/*
- * The following is kludged-up support for simple rpc broadcasts.
- * Someday a large, complicated system will replace these trivial
- * routines which only support udp/ip .
- */
-
-static int getbroadcastnets(addrs, sock, buf)
-struct in_addr *addrs;
-int sock; /* any valid socket will do */
-char *buf; /* why allocxate more when we can use existing... */
-{
-#ifdef __linux__
- struct sockaddr_in addr;
-
- get_myaddress(&addr);
-#if 1
- printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__);
-#else
- addrs[0] = inet_makeaddr(inet_netof(addr.sin_addr), INADDR_ANY);
-#endif
- return 1;
-#else
- struct ifconf ifc;
- struct ifreq ifreq, *ifr;
- struct sockaddr_in *sin;
- int n, i;
-
- ifc.ifc_len = UDPMSGSIZE;
- ifc.ifc_buf = buf;
- if (ioctl(sock, SIOCGIFCONF, (char *) &ifc) < 0) {
- perror("broadcast: ioctl (get interface configuration)");
- return (0);
- }
- ifr = ifc.ifc_req;
- for (i = 0, n = ifc.ifc_len / sizeof(struct ifreq); n > 0; n--, ifr++) {
- ifreq = *ifr;
- if (ioctl(sock, SIOCGIFFLAGS, (char *) &ifreq) < 0) {
- perror("broadcast: ioctl (get interface flags)");
- continue;
- }
- if ((ifreq.ifr_flags & IFF_BROADCAST) &&
- (ifreq.ifr_flags & IFF_UP) &&
- ifr->ifr_addr.sa_family == AF_INET) {
- sin = (struct sockaddr_in *) &ifr->ifr_addr;
-#ifdef SIOCGIFBRDADDR /* 4.3BSD */
- if (ioctl(sock, SIOCGIFBRDADDR, (char *) &ifreq) < 0) {
-#if 1
- printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__);
-#else
- addrs[i++] = inet_makeaddr(inet_netof
- (sin->sin_addr.s_addr),
- INADDR_ANY);
-#endif
- } else {
- addrs[i++] = ((struct sockaddr_in *)
- &ifreq.ifr_addr)->sin_addr;
- }
-#else /* 4.2 BSD */
-#if 1
- printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__);
-#else
- addrs[i++] = inet_makeaddr(inet_netof
- (sin->sin_addr.s_addr), INADDR_ANY);
-#endif
-#endif
- }
- }
- return (i);
-#endif
-}
-
-enum clnt_stat
-clnt_broadcast(prog, vers, proc, xargs, argsp, xresults, resultsp,
- eachresult)
-u_long prog; /* program number */
-u_long vers; /* version number */
-u_long proc; /* procedure number */
-xdrproc_t xargs; /* xdr routine for args */
-caddr_t argsp; /* pointer to args */
-xdrproc_t xresults; /* xdr routine for results */
-caddr_t resultsp; /* pointer to results */
-resultproc_t eachresult; /* call with each result obtained */
-{
- enum clnt_stat stat;
- AUTH *unix_auth = authunix_create_default();
- XDR xdr_stream;
- register XDR *xdrs = &xdr_stream;
- int outlen, inlen, fromlen, nets;
- register int sock;
- int on = 1;
-
-#ifdef FD_SETSIZE
- fd_set mask;
- fd_set readfds;
-#else
- int readfds;
- register int mask;
-#endif /* def FD_SETSIZE */
- register int i;
- bool_t done = FALSE;
- register u_long xid;
- u_long port;
- struct in_addr addrs[20];
- struct sockaddr_in baddr, raddr; /* broadcast and response addresses */
- struct rmtcallargs a;
- struct rmtcallres r;
- struct rpc_msg msg;
- struct timeval t;
- char outbuf[MAX_BROADCAST_SIZE], inbuf[UDPMSGSIZE];
-
- /*
- * initialization: create a socket, a broadcast address, and
- * preserialize the arguments into a send buffer.
- */
- if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
- perror("Cannot create socket for broadcast rpc");
- stat = RPC_CANTSEND;
- goto done_broad;
- }
-#ifdef SO_BROADCAST
- if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)) < 0) {
- perror("Cannot set socket option SO_BROADCAST");
- stat = RPC_CANTSEND;
- goto done_broad;
- }
-#endif /* def SO_BROADCAST */
-#ifdef FD_SETSIZE
- FD_ZERO(&mask);
- FD_SET(sock, &mask);
-#else
- mask = (1 << sock);
-#endif /* def FD_SETSIZE */
- nets = getbroadcastnets(addrs, sock, inbuf);
- bzero((char *) &baddr, sizeof(baddr));
- baddr.sin_family = AF_INET;
- baddr.sin_port = htons(PMAPPORT);
- baddr.sin_addr.s_addr = htonl(INADDR_ANY);
-/* baddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY); */
- (void) gettimeofday(&t, (struct timezone *) 0);
- msg.rm_xid = xid = getpid() ^ t.tv_sec ^ t.tv_usec;
- t.tv_usec = 0;
- msg.rm_direction = CALL;
- msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
- msg.rm_call.cb_prog = PMAPPROG;
- msg.rm_call.cb_vers = PMAPVERS;
- msg.rm_call.cb_proc = PMAPPROC_CALLIT;
- msg.rm_call.cb_cred = unix_auth->ah_cred;
- msg.rm_call.cb_verf = unix_auth->ah_verf;
- a.prog = prog;
- a.vers = vers;
- a.proc = proc;
- a.xdr_args = xargs;
- a.args_ptr = argsp;
- r.port_ptr = &port;
- r.xdr_results = xresults;
- r.results_ptr = resultsp;
- xdrmem_create(xdrs, outbuf, MAX_BROADCAST_SIZE, XDR_ENCODE);
- if ((!xdr_callmsg(xdrs, &msg)) || (!xdr_rmtcall_args(xdrs, &a))) {
- stat = RPC_CANTENCODEARGS;
- goto done_broad;
- }
- outlen = (int) xdr_getpos(xdrs);
- xdr_destroy(xdrs);
- /*
- * Basic loop: broadcast a packet and wait a while for response(s).
- * The response timeout grows larger per iteration.
- */
- for (t.tv_sec = 4; t.tv_sec <= 14; t.tv_sec += 2) {
- for (i = 0; i < nets; i++) {
- baddr.sin_addr = addrs[i];
- if (sendto(sock, outbuf, outlen, 0,
- (struct sockaddr *) &baddr,
- sizeof(struct sockaddr)) != outlen) {
- perror("Cannot send broadcast packet");
- stat = RPC_CANTSEND;
- goto done_broad;
- }
- }
- if (eachresult == NULL) {
- stat = RPC_SUCCESS;
- goto done_broad;
- }
- recv_again:
- msg.acpted_rply.ar_verf = _null_auth;
- msg.acpted_rply.ar_results.where = (caddr_t) & r;
- msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_rmtcallres;
- readfds = mask;
- switch (select(_rpc_dtablesize(), &readfds, 0, 0, &t)) {
-
- case 0: /* timed out */
- stat = RPC_TIMEDOUT;
- continue;
-
- case -1: /* some kind of error */
- if (errno == EINTR)
- goto recv_again;
- perror("Broadcast select problem");
- stat = RPC_CANTRECV;
- goto done_broad;
-
- } /* end of select results switch */
- try_again:
- fromlen = sizeof(struct sockaddr);
-
- inlen = recvfrom(sock, inbuf, UDPMSGSIZE, 0,
- (struct sockaddr *) &raddr, &fromlen);
- if (inlen < 0) {
- if (errno == EINTR)
- goto try_again;
- perror("Cannot receive reply to broadcast");
- stat = RPC_CANTRECV;
- goto done_broad;
- }
- if (inlen < sizeof(u_long))
- goto recv_again;
- /*
- * see if reply transaction id matches sent id.
- * If so, decode the results.
- */
- xdrmem_create(xdrs, inbuf, (u_int) inlen, XDR_DECODE);
- if (xdr_replymsg(xdrs, &msg)) {
- if ((msg.rm_xid == xid) &&
- (msg.rm_reply.rp_stat == MSG_ACCEPTED) &&
- (msg.acpted_rply.ar_stat == SUCCESS)) {
- raddr.sin_port = htons((u_short) port);
- done = (*eachresult) (resultsp, &raddr);
- }
- /* otherwise, we just ignore the errors ... */
- } else {
-#ifdef notdef
- /* some kind of deserialization problem ... */
- if (msg.rm_xid == xid)
- fprintf(stderr, "Broadcast deserialization problem");
- /* otherwise, just random garbage */
-#endif
- }
- xdrs->x_op = XDR_FREE;
- msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
- (void) xdr_replymsg(xdrs, &msg);
- (void) (*xresults) (xdrs, resultsp);
- xdr_destroy(xdrs);
- if (done) {
- stat = RPC_SUCCESS;
- goto done_broad;
- } else {
- goto recv_again;
- }
- }
- done_broad:
- (void) close(sock);
- AUTH_DESTROY(unix_auth);
- return (stat);
-}
diff --git a/mdk-stage1/dietlibc/librpc/rpc_callmsg.c b/mdk-stage1/dietlibc/librpc/rpc_callmsg.c
deleted file mode 100644
index 4b3a9880e..000000000
--- a/mdk-stage1/dietlibc/librpc/rpc_callmsg.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/* @(#)rpc_callmsg.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)rpc_callmsg.c 1.4 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * rpc_callmsg.c
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- */
-
-#include <sys/param.h>
-
-#include <rpc/rpc.h>
-#include <string.h>
-
-/*
- * XDR a call message
- */
-bool_t xdr_callmsg(xdrs, cmsg)
-register XDR *xdrs;
-register struct rpc_msg *cmsg;
-{
- register int32_t *buf;
- register struct opaque_auth *oa;
-
- if (xdrs->x_op == XDR_ENCODE) {
- if (cmsg->rm_call.cb_cred.oa_length > MAX_AUTH_BYTES) {
- return (FALSE);
- }
- if (cmsg->rm_call.cb_verf.oa_length > MAX_AUTH_BYTES) {
- return (FALSE);
- }
- buf = XDR_INLINE(xdrs, 8 * BYTES_PER_XDR_UNIT
- + RNDUP(cmsg->rm_call.cb_cred.oa_length)
- + 2 * BYTES_PER_XDR_UNIT
- + RNDUP(cmsg->rm_call.cb_verf.oa_length));
- if (buf != NULL) {
- IXDR_PUT_LONG(buf, cmsg->rm_xid);
- IXDR_PUT_ENUM(buf, cmsg->rm_direction);
- if (cmsg->rm_direction != CALL) {
- return (FALSE);
- }
- IXDR_PUT_LONG(buf, cmsg->rm_call.cb_rpcvers);
- if (cmsg->rm_call.cb_rpcvers != RPC_MSG_VERSION) {
- return (FALSE);
- }
- IXDR_PUT_LONG(buf, cmsg->rm_call.cb_prog);
- IXDR_PUT_LONG(buf, cmsg->rm_call.cb_vers);
- IXDR_PUT_LONG(buf, cmsg->rm_call.cb_proc);
- oa = &cmsg->rm_call.cb_cred;
- IXDR_PUT_ENUM(buf, oa->oa_flavor);
- IXDR_PUT_LONG(buf, oa->oa_length);
- if (oa->oa_length) {
- bcopy(oa->oa_base, (caddr_t) buf, oa->oa_length);
- buf += RNDUP(oa->oa_length) / sizeof(long);
- }
- oa = &cmsg->rm_call.cb_verf;
- IXDR_PUT_ENUM(buf, oa->oa_flavor);
- IXDR_PUT_LONG(buf, oa->oa_length);
- if (oa->oa_length) {
- bcopy(oa->oa_base, (caddr_t) buf, oa->oa_length);
- /* no real need....
- buf += RNDUP(oa->oa_length) / sizeof (long);
- */
- }
- return (TRUE);
- }
- }
- if (xdrs->x_op == XDR_DECODE) {
- buf = XDR_INLINE(xdrs, 8 * BYTES_PER_XDR_UNIT);
- if (buf != NULL) {
- cmsg->rm_xid = IXDR_GET_LONG(buf);
- cmsg->rm_direction = IXDR_GET_ENUM(buf, enum msg_type);
-
- if (cmsg->rm_direction != CALL) {
- return (FALSE);
- }
- cmsg->rm_call.cb_rpcvers = IXDR_GET_LONG(buf);
- if (cmsg->rm_call.cb_rpcvers != RPC_MSG_VERSION) {
- return (FALSE);
- }
- cmsg->rm_call.cb_prog = IXDR_GET_LONG(buf);
- cmsg->rm_call.cb_vers = IXDR_GET_LONG(buf);
- cmsg->rm_call.cb_proc = IXDR_GET_LONG(buf);
- oa = &cmsg->rm_call.cb_cred;
- oa->oa_flavor = IXDR_GET_ENUM(buf, enum_t);
- oa->oa_length = IXDR_GET_LONG(buf);
- if (oa->oa_length) {
- if (oa->oa_length > MAX_AUTH_BYTES) {
- return (FALSE);
- }
- if (oa->oa_base == NULL) {
- oa->oa_base = (caddr_t)
- mem_alloc(oa->oa_length);
- }
- buf = XDR_INLINE(xdrs, RNDUP(oa->oa_length));
- if (buf == NULL) {
- if (xdr_opaque(xdrs, oa->oa_base,
- oa->oa_length) == FALSE) {
- return (FALSE);
- }
- } else {
- bcopy((caddr_t) buf, oa->oa_base, oa->oa_length);
- /* no real need....
- buf += RNDUP(oa->oa_length) /
- sizeof (long);
- */
- }
- }
- oa = &cmsg->rm_call.cb_verf;
- buf = XDR_INLINE(xdrs, 2 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (xdr_enum(xdrs, &oa->oa_flavor) == FALSE ||
- xdr_u_int(xdrs, &oa->oa_length) == FALSE) {
- return (FALSE);
- }
- } else {
- oa->oa_flavor = IXDR_GET_ENUM(buf, enum_t);
- oa->oa_length = IXDR_GET_LONG(buf);
- }
- if (oa->oa_length) {
- if (oa->oa_length > MAX_AUTH_BYTES) {
- return (FALSE);
- }
- if (oa->oa_base == NULL) {
- oa->oa_base = (caddr_t)
- mem_alloc(oa->oa_length);
- }
- buf = XDR_INLINE(xdrs, RNDUP(oa->oa_length));
- if (buf == NULL) {
- if (xdr_opaque(xdrs, oa->oa_base,
- oa->oa_length) == FALSE) {
- return (FALSE);
- }
- } else {
- bcopy((caddr_t) buf, oa->oa_base, oa->oa_length);
- /* no real need...
- buf += RNDUP(oa->oa_length) /
- sizeof (long);
- */
- }
- }
- return (TRUE);
- }
- }
- if (xdr_u_long(xdrs, &(cmsg->rm_xid)) &&
- xdr_enum(xdrs, (enum_t *) & (cmsg->rm_direction)) &&
- (cmsg->rm_direction == CALL) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_rpcvers)) &&
- (cmsg->rm_call.cb_rpcvers == RPC_MSG_VERSION) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_prog)) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_vers)) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_proc)) &&
- xdr_opaque_auth(xdrs, &(cmsg->rm_call.cb_cred)))
- return (xdr_opaque_auth(xdrs, &(cmsg->rm_call.cb_verf)));
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/rpc_commondata.c b/mdk-stage1/dietlibc/librpc/rpc_commondata.c
deleted file mode 100644
index 39648d284..000000000
--- a/mdk-stage1/dietlibc/librpc/rpc_commondata.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* @(#)rpc_commondata.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#include <rpc/rpc.h>
-/*
- * This file should only contain common data (global data) that is exported
- * by public interfaces
- */
-struct opaque_auth _null_auth;
-
-#ifdef FD_SETSIZE
-fd_set svc_fdset;
-#else
-int svc_fds;
-#endif /* def FD_SETSIZE */
-struct rpc_createerr rpc_createerr;
diff --git a/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c b/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c
deleted file mode 100644
index b08ebaccd..000000000
--- a/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* @(#)rpc_dtablesize.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)rpc_dtablesize.c 1.2 87/08/11 Copyr 1987 Sun Micro";
-#endif
-
-#include <unistd.h>
-
-/*
- * Cache the result of getdtablesize(), so we don't have to do an
- * expensive system call every time.
- */
-int _rpc_dtablesize()
-{
- static int size;
-
- if (size == 0) {
- size = getdtablesize();
- }
- return (size);
-}
diff --git a/mdk-stage1/dietlibc/librpc/rpc_prot.c b/mdk-stage1/dietlibc/librpc/rpc_prot.c
deleted file mode 100644
index 19a4db27f..000000000
--- a/mdk-stage1/dietlibc/librpc/rpc_prot.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/* @(#)rpc_prot.c 2.3 88/08/07 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)rpc_prot.c 1.36 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * rpc_prot.c
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * This set of routines implements the rpc message definition,
- * its serializer and some common rpc utility routines.
- * The routines are meant for various implementations of rpc -
- * they are NOT for the rpc client or rpc service implementations!
- * Because authentication stuff is easy and is part of rpc, the opaque
- * routines are also in this program.
- */
-
-#include <sys/param.h>
-
-#include <rpc/rpc.h>
-
-/* * * * * * * * * * * * * * XDR Authentication * * * * * * * * * * * */
-
-struct opaque_auth _null_auth;
-
-/*
- * XDR an opaque authentication struct
- * (see auth.h)
- */
-bool_t xdr_opaque_auth(xdrs, ap)
-register XDR *xdrs;
-register struct opaque_auth *ap;
-{
-
- if (xdr_enum(xdrs, &(ap->oa_flavor)))
- return (xdr_bytes(xdrs, &ap->oa_base,
- &ap->oa_length, MAX_AUTH_BYTES));
- return (FALSE);
-}
-
-/*
- * XDR a DES block
- */
-bool_t xdr_des_block(xdrs, blkp)
-register XDR *xdrs;
-register des_block *blkp;
-{
- return (xdr_opaque(xdrs, (caddr_t) blkp, sizeof(des_block)));
-}
-
-/* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */
-
-/*
- * XDR the MSG_ACCEPTED part of a reply message union
- */
-bool_t xdr_accepted_reply(xdrs, ar)
-register XDR *xdrs;
-register struct accepted_reply *ar;
-{
-
- /* personalized union, rather than calling xdr_union */
- if (!xdr_opaque_auth(xdrs, &(ar->ar_verf)))
- return (FALSE);
- if (!xdr_enum(xdrs, (enum_t *) & (ar->ar_stat)))
- return (FALSE);
- switch (ar->ar_stat) {
-
- case SUCCESS:
- return ((*(ar->ar_results.proc)) (xdrs, ar->ar_results.where));
-
- case PROG_MISMATCH:
- if (!xdr_u_long(xdrs, &(ar->ar_vers.low)))
- return (FALSE);
- return (xdr_u_long(xdrs, &(ar->ar_vers.high)));
- }
- return (TRUE); /* TRUE => open ended set of problems */
-}
-
-/*
- * XDR the MSG_DENIED part of a reply message union
- */
-bool_t xdr_rejected_reply(xdrs, rr)
-register XDR *xdrs;
-register struct rejected_reply *rr;
-{
-
- /* personalized union, rather than calling xdr_union */
- if (!xdr_enum(xdrs, (enum_t *) & (rr->rj_stat)))
- return (FALSE);
- switch (rr->rj_stat) {
-
- case RPC_MISMATCH:
- if (!xdr_u_long(xdrs, &(rr->rj_vers.low)))
- return (FALSE);
- return (xdr_u_long(xdrs, &(rr->rj_vers.high)));
-
- case AUTH_ERROR:
- return (xdr_enum(xdrs, (enum_t *) & (rr->rj_why)));
- }
- return (FALSE);
-}
-
-static struct xdr_discrim reply_dscrm[3] = {
- {(int) MSG_ACCEPTED, (xdrproc_t)xdr_accepted_reply},
- {(int) MSG_DENIED, (xdrproc_t)xdr_rejected_reply},
- {__dontcare__, NULL_xdrproc_t}
-};
-
-/*
- * XDR a reply message
- */
-bool_t xdr_replymsg(xdrs, rmsg)
-register XDR *xdrs;
-register struct rpc_msg *rmsg;
-{
- if (xdr_u_long(xdrs, &(rmsg->rm_xid)) &&
- xdr_enum(xdrs, (enum_t *) & (rmsg->rm_direction)) &&
- (rmsg->rm_direction == REPLY))
- return (xdr_union(xdrs, (enum_t *) & (rmsg->rm_reply.rp_stat),
- (caddr_t) & (rmsg->rm_reply.ru), reply_dscrm,
- NULL_xdrproc_t));
- return (FALSE);
-}
-
-
-/*
- * Serializes the "static part" of a call message header.
- * The fields include: rm_xid, rm_direction, rpcvers, prog, and vers.
- * The rm_xid is not really static, but the user can easily munge on the fly.
- */
-bool_t xdr_callhdr(xdrs, cmsg)
-register XDR *xdrs;
-register struct rpc_msg *cmsg;
-{
-
- cmsg->rm_direction = CALL;
- cmsg->rm_call.cb_rpcvers = RPC_MSG_VERSION;
- if (
- (xdrs->x_op == XDR_ENCODE) &&
- xdr_u_long(xdrs, &(cmsg->rm_xid)) &&
- xdr_enum(xdrs, (enum_t *) & (cmsg->rm_direction)) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_rpcvers)) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_prog)))
- return (xdr_u_long(xdrs, &(cmsg->rm_call.cb_vers)));
- return (FALSE);
-}
-
-/* ************************** Client utility routine ************* */
-
-static void accepted(acpt_stat, error)
-register enum accept_stat acpt_stat;
-register struct rpc_err *error;
-{
-
- switch (acpt_stat) {
-
- case PROG_UNAVAIL:
- error->re_status = RPC_PROGUNAVAIL;
- return;
-
- case PROG_MISMATCH:
- error->re_status = RPC_PROGVERSMISMATCH;
- return;
-
- case PROC_UNAVAIL:
- error->re_status = RPC_PROCUNAVAIL;
- return;
-
- case GARBAGE_ARGS:
- error->re_status = RPC_CANTDECODEARGS;
- return;
-
- case SYSTEM_ERR:
- error->re_status = RPC_SYSTEMERROR;
- return;
-
- case SUCCESS:
- error->re_status = RPC_SUCCESS;
- return;
- }
- /* something's wrong, but we don't know what ... */
- error->re_status = RPC_FAILED;
- error->re_lb.s1 = (long) MSG_ACCEPTED;
- error->re_lb.s2 = (long) acpt_stat;
-}
-
-static void rejected(rjct_stat, error)
-register enum reject_stat rjct_stat;
-register struct rpc_err *error;
-{
-
- switch (rjct_stat) {
-
- case RPC_VERSMISMATCH:
- error->re_status = RPC_VERSMISMATCH;
- return;
-
- case AUTH_ERROR:
- error->re_status = RPC_AUTHERROR;
- return;
- }
- /* something's wrong, but we don't know what ... */
- error->re_status = RPC_FAILED;
- error->re_lb.s1 = (long) MSG_DENIED;
- error->re_lb.s2 = (long) rjct_stat;
-}
-
-/*
- * given a reply message, fills in the error
- */
-void _seterr_reply(msg, error)
-register struct rpc_msg *msg;
-register struct rpc_err *error;
-{
-
- /* optimized for normal, SUCCESSful case */
- switch (msg->rm_reply.rp_stat) {
-
- case MSG_ACCEPTED:
- if (msg->acpted_rply.ar_stat == SUCCESS) {
- error->re_status = RPC_SUCCESS;
- return;
- };
- accepted(msg->acpted_rply.ar_stat, error);
- break;
-
- case MSG_DENIED:
- rejected(msg->rjcted_rply.rj_stat, error);
- break;
-
- default:
- error->re_status = RPC_FAILED;
- error->re_lb.s1 = (long) (msg->rm_reply.rp_stat);
- break;
- }
- switch (error->re_status) {
-
- case RPC_VERSMISMATCH:
- error->re_vers.low = msg->rjcted_rply.rj_vers.low;
- error->re_vers.high = msg->rjcted_rply.rj_vers.high;
- break;
-
- case RPC_AUTHERROR:
- error->re_why = msg->rjcted_rply.rj_why;
- break;
-
- case RPC_PROGVERSMISMATCH:
- error->re_vers.low = msg->acpted_rply.ar_vers.low;
- error->re_vers.high = msg->acpted_rply.ar_vers.high;
- break;
- }
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc.c b/mdk-stage1/dietlibc/librpc/svc.c
deleted file mode 100644
index 4fcdb5216..000000000
--- a/mdk-stage1/dietlibc/librpc/svc.c
+++ /dev/null
@@ -1,479 +0,0 @@
-/* @(#)svc.c 2.4 88/08/11 4.0 RPCSRC; from 1.44 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc.c 1.41 87/10/13 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc.c, Server-side remote procedure call interface.
- *
- * There are two sets of procedures here. The xprt routines are
- * for handling transport handles. The svc routines handle the
- * list of service routines.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <errno.h>
-#include <rpc/rpc.h>
-#include <rpc/pmap_clnt.h>
-#ifdef __linux__
-#include <sys/types.h>
-#endif
-
-extern int errno;
-
-#ifdef FD_SETSIZE
-static SVCXPRT **xports;
-#else
-#define NOFILE 32
-
-static SVCXPRT *xports[NOFILE];
-#endif /* def FD_SETSIZE */
-
-#define NULL_SVC ((struct svc_callout *)0)
-#define RQCRED_SIZE 400 /* this size is excessive */
-
-/*
- * The services list
- * Each entry represents a set of procedures (an rpc program).
- * The dispatch routine takes request structs and runs the
- * apropriate procedure.
- */
-static struct svc_callout {
- struct svc_callout *sc_next;
- u_long sc_prog;
- u_long sc_vers;
- void (*sc_dispatch) ();
-} *svc_head;
-
-static struct svc_callout *svc_find();
-
-/* *************** SVCXPRT related stuff **************** */
-
-/*
- * Activate a transport handle.
- */
-void xprt_register(xprt)
-SVCXPRT *xprt;
-{
- register int sock = xprt->xp_sock;
-
-#ifdef FD_SETSIZE
- if (xports == NULL) {
- xports = (SVCXPRT **)
- mem_alloc(FD_SETSIZE * sizeof(SVCXPRT *));
- }
- if (sock < _rpc_dtablesize()) {
- xports[sock] = xprt;
- FD_SET(sock, &svc_fdset);
- }
-#else
- if (sock < NOFILE) {
- xports[sock] = xprt;
- svc_fds |= (1 << sock);
- }
-#endif /* def FD_SETSIZE */
-
-}
-
-/*
- * De-activate a transport handle.
- */
-void xprt_unregister(xprt)
-SVCXPRT *xprt;
-{
- register int sock = xprt->xp_sock;
-
-#ifdef FD_SETSIZE
- if ((sock < _rpc_dtablesize()) && (xports[sock] == xprt)) {
- xports[sock] = (SVCXPRT *) 0;
- FD_CLR(sock, &svc_fdset);
- }
-#else
- if ((sock < NOFILE) && (xports[sock] == xprt)) {
- xports[sock] = (SVCXPRT *) 0;
- svc_fds &= ~(1 << sock);
- }
-#endif /* def FD_SETSIZE */
-}
-
-
-/* ********************** CALLOUT list related stuff ************* */
-
-/*
- * Add a service program to the callout list.
- * The dispatch routine will be called when a rpc request for this
- * program number comes in.
- */
-bool_t svc_register(xprt, prog, vers, dispatch, protocol)
-SVCXPRT *xprt;
-u_long prog;
-u_long vers;
-void (*dispatch) ();
-rpcprot_t protocol;
-{
- struct svc_callout *prev;
- register struct svc_callout *s;
-
- if ((s = svc_find(prog, vers, &prev)) != NULL_SVC) {
- if (s->sc_dispatch == dispatch)
- goto pmap_it; /* he is registering another xptr */
- return (FALSE);
- }
- s = (struct svc_callout *) mem_alloc(sizeof(struct svc_callout));
-
- if (s == (struct svc_callout *) 0) {
- return (FALSE);
- }
- s->sc_prog = prog;
- s->sc_vers = vers;
- s->sc_dispatch = dispatch;
- s->sc_next = svc_head;
- svc_head = s;
- pmap_it:
- /* now register the information with the local binder service */
- if (protocol) {
- return (pmap_set(prog, vers, protocol, xprt->xp_port));
- }
- return (TRUE);
-}
-
-/*
- * Remove a service program from the callout list.
- */
-void svc_unregister(prog, vers)
-u_long prog;
-u_long vers;
-{
- struct svc_callout *prev;
- register struct svc_callout *s;
-
- if ((s = svc_find(prog, vers, &prev)) == NULL_SVC)
- return;
- if (prev == NULL_SVC) {
- svc_head = s->sc_next;
- } else {
- prev->sc_next = s->sc_next;
- }
- s->sc_next = NULL_SVC;
- mem_free((char *) s, (u_int) sizeof(struct svc_callout));
-
- /* now unregister the information with the local binder service */
- (void) pmap_unset(prog, vers);
-}
-
-/*
- * Search the callout list for a program number, return the callout
- * struct.
- */
-static struct svc_callout *svc_find(prog, vers, prev)
-u_long prog;
-u_long vers;
-struct svc_callout **prev;
-{
- register struct svc_callout *s, *p;
-
- p = NULL_SVC;
- for (s = svc_head; s != NULL_SVC; s = s->sc_next) {
- if ((s->sc_prog == prog) && (s->sc_vers == vers))
- goto done;
- p = s;
- }
- done:
- *prev = p;
- return (s);
-}
-
-/* ******************* REPLY GENERATION ROUTINES ************ */
-
-/*
- * Send a reply to an rpc request
- */
-bool_t svc_sendreply(xprt, xdr_results, xdr_location)
-register SVCXPRT *xprt;
-xdrproc_t xdr_results;
-caddr_t xdr_location;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = SUCCESS;
- rply.acpted_rply.ar_results.where = xdr_location;
- rply.acpted_rply.ar_results.proc = xdr_results;
- return (SVC_REPLY(xprt, &rply));
-}
-
-/*
- * No procedure error reply
- */
-void svcerr_noproc(xprt)
-register SVCXPRT *xprt;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = PROC_UNAVAIL;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Can't decode args error reply
- */
-void svcerr_decode(xprt)
-register SVCXPRT *xprt;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = GARBAGE_ARGS;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Some system error
- */
-void svcerr_systemerr(xprt)
-register SVCXPRT *xprt;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = SYSTEM_ERR;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Authentication error reply
- */
-void svcerr_auth(xprt, why)
-SVCXPRT *xprt;
-enum auth_stat why;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_DENIED;
- rply.rjcted_rply.rj_stat = AUTH_ERROR;
- rply.rjcted_rply.rj_why = why;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Auth too weak error reply
- */
-void svcerr_weakauth(xprt)
-SVCXPRT *xprt;
-{
-
- svcerr_auth(xprt, AUTH_TOOWEAK);
-}
-
-/*
- * Program unavailable error reply
- */
-void svcerr_noprog(xprt)
-register SVCXPRT *xprt;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = PROG_UNAVAIL;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Program version mismatch error reply
- */
-void svcerr_progvers(xprt, low_vers, high_vers)
-register SVCXPRT *xprt;
-u_long low_vers;
-u_long high_vers;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = PROG_MISMATCH;
- rply.acpted_rply.ar_vers.low = low_vers;
- rply.acpted_rply.ar_vers.high = high_vers;
- SVC_REPLY(xprt, &rply);
-}
-
-/* ******************* SERVER INPUT STUFF ******************* */
-
-/*
- * Get server side input from some transport.
- *
- * Statement of authentication parameters management:
- * This function owns and manages all authentication parameters, specifically
- * the "raw" parameters (msg.rm_call.cb_cred and msg.rm_call.cb_verf) and
- * the "cooked" credentials (rqst->rq_clntcred).
- * However, this function does not know the structure of the cooked
- * credentials, so it make the following assumptions:
- * a) the structure is contiguous (no pointers), and
- * b) the cred structure size does not exceed RQCRED_SIZE bytes.
- * In all events, all three parameters are freed upon exit from this routine.
- * The storage is trivially management on the call stack in user land, but
- * is mallocated in kernel land.
- */
-
-void svc_getreq(rdfds)
-int rdfds;
-{
-#ifdef FD_SETSIZE
- fd_set readfds;
-
- FD_ZERO(&readfds);
-/*#ifdef __linux__*/
-#if 0
- readfds = rdfds;
-#else
- readfds.fds_bits[0] = rdfds;
-#endif
- svc_getreqset(&readfds);
-#else
- int readfds = rdfds & svc_fds;
-
- svc_getreqset(&readfds);
-#endif /* def FD_SETSIZE */
-}
-
-void svc_getreqset(readfds)
-#ifdef FD_SETSIZE
-fd_set *readfds;
-{
-#else
-int *readfds;
-{
- int readfds_local = *readfds;
-#endif /* def FD_SETSIZE */
- enum xprt_stat stat;
- struct rpc_msg msg;
- int prog_found;
- u_long low_vers;
- u_long high_vers;
- struct svc_req r;
- register SVCXPRT *xprt;
- register u_long mask;
- register int bit;
- register u_long *maskp;
- register int setsize;
- register int sock;
- char cred_area[2 * MAX_AUTH_BYTES + RQCRED_SIZE];
-
- msg.rm_call.cb_cred.oa_base = cred_area;
- msg.rm_call.cb_verf.oa_base = &(cred_area[MAX_AUTH_BYTES]);
- r.rq_clntcred = &(cred_area[2 * MAX_AUTH_BYTES]);
-
-
-#ifdef FD_SETSIZE
- setsize = _rpc_dtablesize();
-#ifdef __linux__
-/*#define NFDBITS 32*/
- maskp = (u_long *) readfds;
-#else
- maskp = (u_long *) readfds->fds_bits;
-#endif
- for (sock = 0; sock < setsize; sock += NFDBITS) {
- for (mask = *maskp++; (bit = ffs(mask)); mask ^= (1 << (bit - 1))) {
- /* sock has input waiting */
- xprt = xports[sock + bit - 1];
-#else
- for (sock = 0; readfds_local != 0; sock++, readfds_local >>= 1) {
- if ((readfds_local & 1) != 0) {
- /* sock has input waiting */
- xprt = xports[sock];
-#endif /* def FD_SETSIZE */
- /* now receive msgs from xprtprt (support batch calls) */
- do {
- if (SVC_RECV(xprt, &msg)) {
-
- /* now find the exported program and call it */
- register struct svc_callout *s;
- enum auth_stat why;
-
- r.rq_xprt = xprt;
- r.rq_prog = msg.rm_call.cb_prog;
- r.rq_vers = msg.rm_call.cb_vers;
- r.rq_proc = msg.rm_call.cb_proc;
- r.rq_cred = msg.rm_call.cb_cred;
- /* first authenticate the message */
- if ((why = _authenticate(&r, &msg)) != AUTH_OK) {
- svcerr_auth(xprt, why);
- goto call_done;
- }
- /* now match message with a registered service */
- prog_found = FALSE;
- low_vers = 0 - 1;
- high_vers = 0;
- for (s = svc_head; s != NULL_SVC; s = s->sc_next) {
- if (s->sc_prog == r.rq_prog) {
- if (s->sc_vers == r.rq_vers) {
- (*s->sc_dispatch) (&r, xprt);
- goto call_done;
- } /* found correct version */
- prog_found = TRUE;
- if (s->sc_vers < low_vers)
- low_vers = s->sc_vers;
- if (s->sc_vers > high_vers)
- high_vers = s->sc_vers;
- } /* found correct program */
- }
- /*
- * if we got here, the program or version
- * is not served ...
- */
- if (prog_found)
- svcerr_progvers(xprt, low_vers, high_vers);
- else
- svcerr_noprog(xprt);
- /* Fall through to ... */
- }
- call_done:
- if ((stat = SVC_STAT(xprt)) == XPRT_DIED) {
- SVC_DESTROY(xprt);
- break;
- }
- } while (stat == XPRT_MOREREQS);
- }
- }
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_auth.c b/mdk-stage1/dietlibc/librpc/svc_auth.c
deleted file mode 100644
index 336586d95..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_auth.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)svc_auth.c 2.1 88/08/07 4.0 RPCSRC; from 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * svc_auth_nodes.c, Server-side rpc authenticator interface,
- * *WITHOUT* DES authentication.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-
-/*
- * svcauthsw is the bdevsw of server side authentication.
- *
- * Server side authenticators are called from authenticate by
- * using the client auth struct flavor field to index into svcauthsw.
- * The server auth flavors must implement a routine that looks
- * like:
- *
- * enum auth_stat
- * flavorx_auth(rqst, msg)
- * register struct svc_req *rqst;
- * register struct rpc_msg *msg;
- *
- */
-
-enum auth_stat _svcauth_null(); /* no authentication */
-enum auth_stat _svcauth_unix(); /* unix style (uid, gids) */
-enum auth_stat _svcauth_short(); /* short hand unix style */
-
-static struct {
- enum auth_stat (*authenticator) ();
-} svcauthsw[] = {
- { _svcauth_null }, /* AUTH_NULL */
- { _svcauth_unix }, /* AUTH_UNIX */
- { _svcauth_short }, /* AUTH_SHORT */
-};
-
-#define AUTH_MAX 2 /* HIGHEST AUTH NUMBER */
-
-
-/*
- * The call rpc message, msg has been obtained from the wire. The msg contains
- * the raw form of credentials and verifiers. authenticate returns AUTH_OK
- * if the msg is successfully authenticated. If AUTH_OK then the routine also
- * does the following things:
- * set rqst->rq_xprt->verf to the appropriate response verifier;
- * sets rqst->rq_client_cred to the "cooked" form of the credentials.
- *
- * NB: rqst->rq_cxprt->verf must be pre-alloctaed;
- * its length is set appropriately.
- *
- * The caller still owns and is responsible for msg->u.cmb.cred and
- * msg->u.cmb.verf. The authentication system retains ownership of
- * rqst->rq_client_cred, the cooked credentials.
- *
- * There is an assumption that any flavour less than AUTH_NULL is
- * invalid.
- */
-enum auth_stat _authenticate(rqst, msg)
-register struct svc_req *rqst;
-struct rpc_msg *msg;
-{
- register int cred_flavor;
-
- rqst->rq_cred = msg->rm_call.cb_cred;
- rqst->rq_xprt->xp_verf.oa_flavor = _null_auth.oa_flavor;
- rqst->rq_xprt->xp_verf.oa_length = 0;
- cred_flavor = rqst->rq_cred.oa_flavor;
- if ((cred_flavor <= AUTH_MAX) && (cred_flavor >= AUTH_NULL)) {
- return ((*(svcauthsw[cred_flavor].authenticator)) (rqst, msg));
- }
-
- return (AUTH_REJECTEDCRED);
-}
-
-enum auth_stat _svcauth_null( /*rqst, msg */ )
- /*struct svc_req *rqst;
- struct rpc_msg *msg; */
-{
-
- return (AUTH_OK);
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_auth_unix.c b/mdk-stage1/dietlibc/librpc/svc_auth_unix.c
deleted file mode 100644
index 7e0305f0a..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_auth_unix.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* @(#)svc_auth_unix.c 2.3 88/08/01 4.0 RPCSRC; from 1.28 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)svc_auth_unix.c 1.28 88/02/08 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_auth_unix.c
- * Handles UNIX flavor authentication parameters on the service side of rpc.
- * There are two svc auth implementations here: AUTH_UNIX and AUTH_SHORT.
- * _svcauth_unix does full blown unix style uid,gid+gids auth,
- * _svcauth_short uses a shorthand auth to index into a cache of longhand auths.
- * Note: the shorthand has been gutted for efficiency.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <string.h>
-
-/*
- * Unix longhand authenticator
- */
-enum auth_stat _svcauth_unix(rqst, msg)
-register struct svc_req *rqst;
-register struct rpc_msg *msg;
-{
- register enum auth_stat stat;
- XDR xdrs;
- register struct authunix_parms *aup;
- register int32_t *buf;
- struct area {
- struct authunix_parms area_aup;
- char area_machname[MAX_MACHINE_NAME + 1];
- gid_t area_gids[NGRPS];
- } *area;
- u_int auth_len;
- int str_len, gid_len;
- register int i;
-
- area = (struct area *) rqst->rq_clntcred;
- aup = &area->area_aup;
- aup->aup_machname = area->area_machname;
- aup->aup_gids = area->area_gids;
- auth_len = (u_int) msg->rm_call.cb_cred.oa_length;
- xdrmem_create(&xdrs, msg->rm_call.cb_cred.oa_base, auth_len,
- XDR_DECODE);
- buf = XDR_INLINE(&xdrs, auth_len);
- if (buf != NULL) {
- aup->aup_time = IXDR_GET_LONG(buf);
- str_len = IXDR_GET_U_LONG(buf);
- if (str_len > MAX_MACHINE_NAME) {
- stat = AUTH_BADCRED;
- goto done;
- }
- bcopy((caddr_t) buf, aup->aup_machname, (u_int) str_len);
- aup->aup_machname[str_len] = 0;
- str_len = RNDUP(str_len);
- buf += str_len / sizeof(long);
-
- aup->aup_uid = IXDR_GET_LONG(buf);
- aup->aup_gid = IXDR_GET_LONG(buf);
- gid_len = IXDR_GET_U_LONG(buf);
- if (gid_len > NGRPS) {
- stat = AUTH_BADCRED;
- goto done;
- }
- aup->aup_len = gid_len;
- for (i = 0; i < gid_len; i++) {
- aup->aup_gids[i] = IXDR_GET_LONG(buf);
- }
- /*
- * five is the smallest unix credentials structure -
- * timestamp, hostname len (0), uid, gid, and gids len (0).
- */
- if ((5 + gid_len) * BYTES_PER_XDR_UNIT + str_len > auth_len) {
- (void) printf("bad auth_len gid %d str %d auth %d\n",
- gid_len, str_len, auth_len);
- stat = AUTH_BADCRED;
- goto done;
- }
- } else if (!xdr_authunix_parms(&xdrs, aup)) {
- xdrs.x_op = XDR_FREE;
- (void) xdr_authunix_parms(&xdrs, aup);
- stat = AUTH_BADCRED;
- goto done;
- }
- rqst->rq_xprt->xp_verf.oa_flavor = AUTH_NULL;
- rqst->rq_xprt->xp_verf.oa_length = 0;
- stat = AUTH_OK;
- done:
- XDR_DESTROY(&xdrs);
- return (stat);
-}
-
-
-/*
- * Shorthand unix authenticator
- * Looks up longhand in a cache.
- */
- /*ARGSUSED*/ enum auth_stat _svcauth_short(rqst, msg)
-struct svc_req *rqst;
-struct rpc_msg *msg;
-{
- return (AUTH_REJECTEDCRED);
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_raw.c b/mdk-stage1/dietlibc/librpc/svc_raw.c
deleted file mode 100644
index c13ea5e06..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_raw.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* @(#)svc_raw.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_raw.c 1.15 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_raw.c, This a toy for simple testing and timing.
- * Interface to create an rpc client and server in the same UNIX process.
- * This lets us similate rpc and get rpc (round trip) overhead, without
- * any interference from the kernal.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-
-
-/*
- * This is the "network" that we will be moving data over
- */
-static struct svcraw_private {
- char _raw_buf[UDPMSGSIZE];
- SVCXPRT server;
- XDR xdr_stream;
- char verf_body[MAX_AUTH_BYTES];
-} *svcraw_private;
-
-static bool_t svcraw_recv();
-static enum xprt_stat svcraw_stat();
-static bool_t svcraw_getargs();
-static bool_t svcraw_reply();
-static bool_t svcraw_freeargs();
-static void svcraw_destroy();
-
-static struct xp_ops server_ops = {
- svcraw_recv,
- svcraw_stat,
- svcraw_getargs,
- svcraw_reply,
- svcraw_freeargs,
- svcraw_destroy
-};
-
-SVCXPRT *svcraw_create()
-{
- register struct svcraw_private *srp = svcraw_private;
-
- if (srp == 0) {
- srp = (struct svcraw_private *) calloc(1, sizeof(*srp));
- if (srp == 0)
- return (0);
- }
- srp->server.xp_sock = 0;
- srp->server.xp_port = 0;
- srp->server.xp_ops = &server_ops;
- srp->server.xp_verf.oa_base = srp->verf_body;
- xdrmem_create(&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE);
- return (&srp->server);
-}
-
-static enum xprt_stat svcraw_stat()
-{
-
- return (XPRT_IDLE);
-}
-
-static bool_t svcraw_recv(xprt, msg)
-SVCXPRT *xprt;
-struct rpc_msg *msg;
-{
- register struct svcraw_private *srp = svcraw_private;
- register XDR *xdrs;
-
- if (srp == 0)
- return (0);
- xdrs = &srp->xdr_stream;
- xdrs->x_op = XDR_DECODE;
- XDR_SETPOS(xdrs, 0);
- if (!xdr_callmsg(xdrs, msg))
- return (FALSE);
- return (TRUE);
-}
-
-static bool_t svcraw_reply(xprt, msg)
-SVCXPRT *xprt;
-struct rpc_msg *msg;
-{
- register struct svcraw_private *srp = svcraw_private;
- register XDR *xdrs;
-
- if (srp == 0)
- return (FALSE);
- xdrs = &srp->xdr_stream;
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, 0);
- if (!xdr_replymsg(xdrs, msg))
- return (FALSE);
- (void) XDR_GETPOS(xdrs); /* called just for overhead */
- return (TRUE);
-}
-
-static bool_t svcraw_getargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-caddr_t args_ptr;
-{
- register struct svcraw_private *srp = svcraw_private;
-
- if (srp == 0)
- return (FALSE);
- return ((*xdr_args) (&srp->xdr_stream, args_ptr));
-}
-
-static bool_t svcraw_freeargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-caddr_t args_ptr;
-{
- register struct svcraw_private *srp = svcraw_private;
- register XDR *xdrs;
-
- if (srp == 0)
- return (FALSE);
- xdrs = &srp->xdr_stream;
- xdrs->x_op = XDR_FREE;
- return ((*xdr_args) (xdrs, args_ptr));
-}
-
-static void svcraw_destroy()
-{
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_run.c b/mdk-stage1/dietlibc/librpc/svc_run.c
deleted file mode 100644
index c7150e357..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_run.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* @(#)svc_run.c 2.1 88/07/29 4.0 RPCSRC */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_run.c 1.1 87/10/13 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * This is the rpc server side idle loop
- * Wait for input, call server program.
- */
-#include <rpc/rpc.h>
-#include <errno.h>
-#include <unistd.h>
-
-void svc_run()
-{
-#ifdef FD_SETSIZE
- fd_set readfds;
-#else
- int readfds;
-#endif /* def FD_SETSIZE */
- extern int errno;
-
- for (;;) {
-#ifdef FD_SETSIZE
- readfds = svc_fdset;
-#else
- readfds = svc_fds;
-#endif /* def FD_SETSIZE */
- switch (select(_rpc_dtablesize(), &readfds, 0, 0, 0)) {
- case -1:
- if (errno == EINTR) {
- continue;
- }
- perror("svc_run: - select failed");
- return;
- case 0:
- continue;
- default:
- svc_getreqset(&readfds);
- }
- }
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_simple.c b/mdk-stage1/dietlibc/librpc/svc_simple.c
deleted file mode 100644
index 0bb9a19eb..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_simple.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/* @(#)svc_simple.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)svc_simple.c 1.18 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_simple.c
- * Simplified front end to rpc.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <rpc/pmap_clnt.h>
-#include <string.h>
-
-static struct proglst {
- char *(*p_progname) ();
- int p_prognum;
- int p_procnum;
- xdrproc_t p_inproc, p_outproc;
- struct proglst *p_nxt;
-} *proglst;
-static void universal();
-static SVCXPRT *transp;
-struct proglst *pl;
-
-int registerrpc(int prognum, int versnum, int procnum, char *(*progname)(), xdrproc_t inproc, xdrproc_t outproc)
-{
-
- if (procnum == NULLPROC) {
- (void) fprintf(stderr,
- "can't reassign procedure number %d\n", NULLPROC);
- return (-1);
- }
- if (transp == 0) {
- transp = svcudp_create(RPC_ANYSOCK);
- if (transp == NULL) {
- (void) fprintf(stderr, "couldn't create an rpc server\n");
- return (-1);
- }
- }
- (void) pmap_unset((u_long) prognum, (u_long) versnum);
- if (!svc_register(transp, (u_long) prognum, (u_long) versnum,
- universal, IPPROTO_UDP)) {
- (void) fprintf(stderr, "couldn't register prog %d vers %d\n",
- prognum, versnum);
- return (-1);
- }
- pl = (struct proglst *) malloc(sizeof(struct proglst));
-
- if (pl == NULL) {
- (void) fprintf(stderr, "registerrpc: out of memory\n");
- return (-1);
- }
- pl->p_progname = progname;
- pl->p_prognum = prognum;
- pl->p_procnum = procnum;
- pl->p_inproc = inproc;
- pl->p_outproc = outproc;
- pl->p_nxt = proglst;
- proglst = pl;
- return (0);
-}
-
-static void universal(rqstp, transp)
-struct svc_req *rqstp;
-SVCXPRT *transp;
-{
- int prog, proc;
- char *outdata;
- char xdrbuf[UDPMSGSIZE];
- struct proglst *pl;
-
- /*
- * enforce "procnum 0 is echo" convention
- */
- if (rqstp->rq_proc == NULLPROC) {
- if (svc_sendreply(transp, (xdrproc_t)xdr_void, (char *) NULL) == FALSE) {
- (void) fprintf(stderr, "xxx\n");
- exit(1);
- }
- return;
- }
- prog = rqstp->rq_prog;
- proc = rqstp->rq_proc;
- for (pl = proglst; pl != NULL; pl = pl->p_nxt)
- if (pl->p_prognum == prog && pl->p_procnum == proc) {
- /* decode arguments into a CLEAN buffer */
- bzero(xdrbuf, sizeof(xdrbuf)); /* required ! */
- if (!svc_getargs(transp, pl->p_inproc, xdrbuf)) {
- svcerr_decode(transp);
- return;
- }
- outdata = (*(pl->p_progname)) (xdrbuf);
- if (outdata == NULL && pl->p_outproc != (xdrproc_t)xdr_void)
- /* there was an error */
- return;
- if (!svc_sendreply(transp, pl->p_outproc, outdata)) {
- (void) fprintf(stderr,
- "trouble replying to prog %d\n",
- pl->p_prognum);
- exit(1);
- }
- /* free the decoded arguments */
- (void) svc_freeargs(transp, pl->p_inproc, xdrbuf);
- return;
- }
- (void) fprintf(stderr, "never registered prog %d\n", prog);
- exit(1);
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_tcp.c b/mdk-stage1/dietlibc/librpc/svc_tcp.c
deleted file mode 100644
index 6edafa1b1..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_tcp.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/* @(#)svc_tcp.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_tcp.c 1.21 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_tcp.c, Server side for TCP/IP based RPC.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * Actually implements two flavors of transporter -
- * a tcp rendezvouser (a listner and connection establisher)
- * and a record/tcp stream.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-/*
- * Ops vector for TCP/IP based rpc service handle
- */
-static bool_t svctcp_recv();
-static enum xprt_stat svctcp_stat();
-static bool_t svctcp_getargs();
-static bool_t svctcp_reply();
-static bool_t svctcp_freeargs();
-static void svctcp_destroy();
-
-static struct xp_ops svctcp_op = {
- svctcp_recv,
- svctcp_stat,
- svctcp_getargs,
- svctcp_reply,
- svctcp_freeargs,
- svctcp_destroy
-};
-
-/*
- * Ops vector for TCP/IP rendezvous handler
- */
-static bool_t rendezvous_request();
-static enum xprt_stat rendezvous_stat();
-
-static struct xp_ops svctcp_rendezvous_op = {
- rendezvous_request,
- rendezvous_stat,
- (void*)abort,
- (void*)abort,
- (void*)abort,
- svctcp_destroy
-};
-
-static int readtcp(), writetcp();
-static SVCXPRT *makefd_xprt();
-
-struct tcp_rendezvous { /* kept in xprt->xp_p1 */
- u_int sendsize;
- u_int recvsize;
-};
-
-struct tcp_conn { /* kept in xprt->xp_p1 */
- enum xprt_stat strm_stat;
- u_long x_id;
- XDR xdrs;
- char verf_body[MAX_AUTH_BYTES];
-};
-
-/*
- * Usage:
- * xprt = svctcp_create(sock, send_buf_size, recv_buf_size);
- *
- * Creates, registers, and returns a (rpc) tcp based transporter.
- * Once *xprt is initialized, it is registered as a transporter
- * see (svc.h, xprt_register). This routine returns
- * a NULL if a problem occurred.
- *
- * If sock<0 then a socket is created, else sock is used.
- * If the socket, sock is not bound to a port then svctcp_create
- * binds it to an arbitrary port. The routine then starts a tcp
- * listener on the socket's associated port. In any (successful) case,
- * xprt->xp_sock is the registered socket number and xprt->xp_port is the
- * associated port number.
- *
- * Since tcp streams do buffered io similar to stdio, the caller can specify
- * how big the send and receive buffers are via the second and third parms;
- * 0 => use the system default.
- */
-SVCXPRT *svctcp_create(sock, sendsize, recvsize)
-register int sock;
-u_int sendsize;
-u_int recvsize;
-{
- bool_t madesock = FALSE;
- register SVCXPRT *xprt;
- register struct tcp_rendezvous *r;
- struct sockaddr_in addr;
- int len = sizeof(struct sockaddr_in);
-
- if (sock == RPC_ANYSOCK) {
- if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
- perror("svc_tcp.c - tcp socket creation problem");
- return ((SVCXPRT *) NULL);
- }
- madesock = TRUE;
- }
- bzero((char *) &addr, sizeof(addr));
- addr.sin_family = AF_INET;
- if (bindresvport(sock, &addr)) {
- addr.sin_port = 0;
- (void) bind(sock, (struct sockaddr *) &addr, len);
- }
- if ((getsockname(sock, (struct sockaddr *) &addr, &len) != 0) ||
- (listen(sock, 2) != 0)) {
- perror("svctcp_.c - cannot getsockname or listen");
- if (madesock)
- (void) close(sock);
- return ((SVCXPRT *) NULL);
- }
- r = (struct tcp_rendezvous *) mem_alloc(sizeof(*r));
- if (r == NULL) {
- (void) fprintf(stderr, "svctcp_create: out of memory\n");
- return (NULL);
- }
- r->sendsize = sendsize;
- r->recvsize = recvsize;
- xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT));
- if (xprt == NULL) {
- (void) fprintf(stderr, "svctcp_create: out of memory\n");
- return (NULL);
- }
- xprt->xp_p2 = NULL;
- xprt->xp_p1 = (caddr_t) r;
- xprt->xp_verf = _null_auth;
- xprt->xp_ops = &svctcp_rendezvous_op;
- xprt->xp_port = ntohs(addr.sin_port);
- xprt->xp_sock = sock;
- xprt_register(xprt);
- return (xprt);
-}
-
-/*
- * Like svtcp_create(), except the routine takes any *open* UNIX file
- * descriptor as its first input.
- */
-SVCXPRT *svcfd_create(fd, sendsize, recvsize)
-int fd;
-u_int sendsize;
-u_int recvsize;
-{
-
- return (makefd_xprt(fd, sendsize, recvsize));
-}
-
-static SVCXPRT *makefd_xprt(fd, sendsize, recvsize)
-int fd;
-u_int sendsize;
-u_int recvsize;
-{
- register SVCXPRT *xprt;
- register struct tcp_conn *cd;
-
- xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT));
- if (xprt == (SVCXPRT *) NULL) {
- (void) fprintf(stderr, "svc_tcp: makefd_xprt: out of memory\n");
- goto done;
- }
- cd = (struct tcp_conn *) mem_alloc(sizeof(struct tcp_conn));
-
- if (cd == (struct tcp_conn *) NULL) {
- (void) fprintf(stderr, "svc_tcp: makefd_xprt: out of memory\n");
- mem_free((char *) xprt, sizeof(SVCXPRT));
- xprt = (SVCXPRT *) NULL;
- goto done;
- }
- cd->strm_stat = XPRT_IDLE;
- xdrrec_create(&(cd->xdrs), sendsize, recvsize,
- (caddr_t) xprt, readtcp, writetcp);
- xprt->xp_p2 = NULL;
- xprt->xp_p1 = (caddr_t) cd;
- xprt->xp_verf.oa_base = cd->verf_body;
- xprt->xp_addrlen = 0;
- xprt->xp_ops = &svctcp_op; /* truely deals with calls */
- xprt->xp_port = 0; /* this is a connection, not a rendezvouser */
- xprt->xp_sock = fd;
- xprt_register(xprt);
- done:
- return (xprt);
-}
-
-static bool_t rendezvous_request(xprt)
-register SVCXPRT *xprt;
-{
- int sock;
- struct tcp_rendezvous *r;
- struct sockaddr_in addr;
- int len;
-
- r = (struct tcp_rendezvous *) xprt->xp_p1;
- again:
- len = sizeof(struct sockaddr_in);
-
- if ((sock = accept(xprt->xp_sock, (struct sockaddr *) &addr,
- &len)) < 0) {
- if (errno == EINTR)
- goto again;
- return (FALSE);
- }
- /*
- * make a new transporter (re-uses xprt)
- */
- xprt = makefd_xprt(sock, r->sendsize, r->recvsize);
- xprt->xp_raddr = addr;
- xprt->xp_addrlen = len;
- return (FALSE); /* there is never an rpc msg to be processed */
-}
-
-static enum xprt_stat rendezvous_stat()
-{
-
- return (XPRT_IDLE);
-}
-
-static void svctcp_destroy(xprt)
-register SVCXPRT *xprt;
-{
- register struct tcp_conn *cd = (struct tcp_conn *) xprt->xp_p1;
-
- xprt_unregister(xprt);
- (void) close(xprt->xp_sock);
- if (xprt->xp_port != 0) {
- /* a rendezvouser socket */
- xprt->xp_port = 0;
- } else {
- /* an actual connection socket */
- XDR_DESTROY(&(cd->xdrs));
- }
- mem_free((caddr_t) cd, sizeof(struct tcp_conn));
-
- mem_free((caddr_t) xprt, sizeof(SVCXPRT));
-}
-
-/*
- * All read operations timeout after 35 seconds.
- * A timeout is fatal for the connection.
- */
-static struct timeval wait_per_try = { 35, 0 };
-
-/*
- * reads data from the tcp conection.
- * any error is fatal and the connection is closed.
- * (And a read of zero bytes is a half closed stream => error.)
- */
-static int readtcp(xprt, buf, len)
-register SVCXPRT *xprt;
-caddr_t buf;
-register int len;
-{
- register int sock = xprt->xp_sock;
-
-#ifdef FD_SETSIZE
- fd_set mask;
- fd_set readfds;
-
- FD_ZERO(&mask);
- FD_SET(sock, &mask);
-#else
- register int mask = 1 << sock;
- int readfds;
-#endif /* def FD_SETSIZE */
- do {
- readfds = mask;
- if (select(_rpc_dtablesize(), &readfds, 0, 0, &wait_per_try) <= 0) {
- if (errno == EINTR) {
- continue;
- }
- goto fatal_err;
- }
-#ifdef FD_SETSIZE
- } while (!FD_ISSET(sock, &readfds));
-#else
- } while (readfds != mask);
-#endif /* def FD_SETSIZE */
- if ((len = read(sock, buf, len)) > 0) {
- return (len);
- }
- fatal_err:
- ((struct tcp_conn *) (xprt->xp_p1))->strm_stat = XPRT_DIED;
- return (-1);
-}
-
-/*
- * writes data to the tcp connection.
- * Any error is fatal and the connection is closed.
- */
-static int writetcp(xprt, buf, len)
-register SVCXPRT *xprt;
-caddr_t buf;
-int len;
-{
- register int i, cnt;
-
- for (cnt = len; cnt > 0; cnt -= i, buf += i) {
- if ((i = write(xprt->xp_sock, buf, cnt)) < 0) {
- ((struct tcp_conn *) (xprt->xp_p1))->strm_stat = XPRT_DIED;
- return (-1);
- }
- }
- return (len);
-}
-
-static enum xprt_stat svctcp_stat(xprt)
-SVCXPRT *xprt;
-{
- register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1);
-
- if (cd->strm_stat == XPRT_DIED)
- return (XPRT_DIED);
- if (!xdrrec_eof(&(cd->xdrs)))
- return (XPRT_MOREREQS);
- return (XPRT_IDLE);
-}
-
-static bool_t svctcp_recv(xprt, msg)
-SVCXPRT *xprt;
-register struct rpc_msg *msg;
-{
- register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1);
- register XDR *xdrs = &(cd->xdrs);
-
- xdrs->x_op = XDR_DECODE;
- (void) xdrrec_skiprecord(xdrs);
- if (xdr_callmsg(xdrs, msg)) {
- cd->x_id = msg->rm_xid;
- return (TRUE);
- }
- return (FALSE);
-}
-
-static bool_t svctcp_getargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-caddr_t args_ptr;
-{
-
- return ((*xdr_args)
- (&(((struct tcp_conn *) (xprt->xp_p1))->xdrs), args_ptr));
-}
-
-static bool_t svctcp_freeargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-caddr_t args_ptr;
-{
- register XDR *xdrs = &(((struct tcp_conn *) (xprt->xp_p1))->xdrs);
-
- xdrs->x_op = XDR_FREE;
- return ((*xdr_args) (xdrs, args_ptr));
-}
-
-static bool_t svctcp_reply(xprt, msg)
-SVCXPRT *xprt;
-register struct rpc_msg *msg;
-{
- register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1);
- register XDR *xdrs = &(cd->xdrs);
- register bool_t stat;
-
- xdrs->x_op = XDR_ENCODE;
- msg->rm_xid = cd->x_id;
- stat = xdr_replymsg(xdrs, msg);
- (void) xdrrec_endofrecord(xdrs, TRUE);
- return (stat);
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_udp.c b/mdk-stage1/dietlibc/librpc/svc_udp.c
deleted file mode 100644
index 1cdb5ce91..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_udp.c
+++ /dev/null
@@ -1,467 +0,0 @@
-/* @(#)svc_udp.c 2.2 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_udp.c 1.24 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_udp.c,
- * Server side for UDP/IP based RPC. (Does some caching in the hopes of
- * achieving execute-at-most-once semantics.)
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-
-#define rpc_buffer(xprt) ((xprt)->xp_p1)
-#define MAX(a, b) ((a > b) ? a : b)
-
-static bool_t svcudp_recv();
-static bool_t svcudp_reply();
-static enum xprt_stat svcudp_stat();
-static bool_t svcudp_getargs();
-static bool_t svcudp_freeargs();
-static void svcudp_destroy();
-
-static struct xp_ops svcudp_op = {
- svcudp_recv,
- svcudp_stat,
- svcudp_getargs,
- svcudp_reply,
- svcudp_freeargs,
- svcudp_destroy
-};
-
-extern int errno;
-
-/*
- * kept in xprt->xp_p2
- */
-struct svcudp_data {
- u_int su_iosz; /* byte size of send.recv buffer */
- u_long su_xid; /* transaction id */
- XDR su_xdrs; /* XDR handle */
- char su_verfbody[MAX_AUTH_BYTES]; /* verifier body */
- char *su_cache; /* cached data, NULL if no cache */
-};
-
-#define su_data(xprt) ((struct svcudp_data *)(xprt->xp_p2))
-
-static int cache_get(SVCXPRT* xprt, struct rpc_msg* msg, char** replyp, u_long* replylenp);
-static void cache_set(SVCXPRT* xprt, u_long replylen);
-
-/*
- * Usage:
- * xprt = svcudp_create(sock);
- *
- * If sock<0 then a socket is created, else sock is used.
- * If the socket, sock is not bound to a port then svcudp_create
- * binds it to an arbitrary port. In any (successful) case,
- * xprt->xp_sock is the registered socket number and xprt->xp_port is the
- * associated port number.
- * Once *xprt is initialized, it is registered as a transporter;
- * see (svc.h, xprt_register).
- * The routines returns NULL if a problem occurred.
- */
-SVCXPRT *svcudp_bufcreate(sock, sendsz, recvsz)
-register int sock;
-u_int sendsz, recvsz;
-{
- bool_t madesock = FALSE;
- register SVCXPRT *xprt;
- register struct svcudp_data *su;
- struct sockaddr_in addr;
- int len = sizeof(struct sockaddr_in);
-
- if (sock == RPC_ANYSOCK) {
- if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
- perror("svcudp_create: socket creation problem");
- return ((SVCXPRT *) NULL);
- }
- madesock = TRUE;
- }
- bzero((char *) &addr, sizeof(addr));
- addr.sin_family = AF_INET;
- if (bindresvport(sock, &addr)) {
- addr.sin_port = 0;
- (void) bind(sock, (struct sockaddr *) &addr, len);
- }
- if (getsockname(sock, (struct sockaddr *) &addr, &len) != 0) {
- perror("svcudp_create - cannot getsockname");
- if (madesock)
- (void) close(sock);
- return ((SVCXPRT *) NULL);
- }
- xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT));
- if (xprt == NULL) {
- (void) fprintf(stderr, "svcudp_create: out of memory\n");
- return (NULL);
- }
- su = (struct svcudp_data *) mem_alloc(sizeof(*su));
- if (su == NULL) {
- (void) fprintf(stderr, "svcudp_create: out of memory\n");
- return (NULL);
- }
- su->su_iosz = ((MAX(sendsz, recvsz) + 3) / 4) * 4;
- if ((rpc_buffer(xprt) = mem_alloc(su->su_iosz)) == NULL) {
- (void) fprintf(stderr, "svcudp_create: out of memory\n");
- return (NULL);
- }
- xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), su->su_iosz,
- XDR_DECODE);
- su->su_cache = NULL;
- xprt->xp_p2 = (caddr_t) su;
- xprt->xp_verf.oa_base = su->su_verfbody;
- xprt->xp_ops = &svcudp_op;
- xprt->xp_port = ntohs(addr.sin_port);
- xprt->xp_sock = sock;
- xprt_register(xprt);
- return (xprt);
-}
-
-SVCXPRT *svcudp_create(sock)
-int sock;
-{
-
- return (svcudp_bufcreate(sock, UDPMSGSIZE, UDPMSGSIZE));
-}
-
-static enum xprt_stat svcudp_stat(xprt)
-SVCXPRT *xprt;
-{
-
- return (XPRT_IDLE);
-}
-
-static bool_t svcudp_recv(xprt, msg)
-register SVCXPRT *xprt;
-struct rpc_msg *msg;
-{
- register struct svcudp_data *su = su_data(xprt);
- register XDR *xdrs = &(su->su_xdrs);
- register int rlen;
- char *reply;
- u_long replylen;
-
- again:
- xprt->xp_addrlen = sizeof(struct sockaddr_in);
-
- rlen = recvfrom(xprt->xp_sock, rpc_buffer(xprt), (int) su->su_iosz,
- 0, (struct sockaddr *) &(xprt->xp_raddr),
- &(xprt->xp_addrlen));
- if (rlen == -1 && errno == EINTR)
- goto again;
- if (rlen < 4 * sizeof(u_long))
- return (FALSE);
- xdrs->x_op = XDR_DECODE;
- XDR_SETPOS(xdrs, 0);
- if (!xdr_callmsg(xdrs, msg))
- return (FALSE);
- su->su_xid = msg->rm_xid;
- if (su->su_cache != NULL) {
- if (cache_get(xprt, msg, &reply, &replylen)) {
- (void) sendto(xprt->xp_sock, reply, (int) replylen, 0,
- (struct sockaddr *) &xprt->xp_raddr,
- xprt->xp_addrlen);
- return (TRUE);
- }
- }
- return (TRUE);
-}
-
-static bool_t svcudp_reply(xprt, msg)
-register SVCXPRT *xprt;
-struct rpc_msg *msg;
-{
- register struct svcudp_data *su = su_data(xprt);
- register XDR *xdrs = &(su->su_xdrs);
- register int slen;
- register bool_t stat = FALSE;
-
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, 0);
- msg->rm_xid = su->su_xid;
- if (xdr_replymsg(xdrs, msg)) {
- slen = (int) XDR_GETPOS(xdrs);
- if (sendto(xprt->xp_sock, rpc_buffer(xprt), slen, 0,
- (struct sockaddr *) &(xprt->xp_raddr), xprt->xp_addrlen)
- == slen) {
- stat = TRUE;
- if (su->su_cache && slen >= 0) {
- cache_set(xprt, (u_long) slen);
- }
- }
- }
- return (stat);
-}
-
-static bool_t svcudp_getargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-caddr_t args_ptr;
-{
-
- return ((*xdr_args) (&(su_data(xprt)->su_xdrs), args_ptr));
-}
-
-static bool_t svcudp_freeargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-caddr_t args_ptr;
-{
- register XDR *xdrs = &(su_data(xprt)->su_xdrs);
-
- xdrs->x_op = XDR_FREE;
- return ((*xdr_args) (xdrs, args_ptr));
-}
-
-static void svcudp_destroy(xprt)
-register SVCXPRT *xprt;
-{
- register struct svcudp_data *su = su_data(xprt);
-
- xprt_unregister(xprt);
- (void) close(xprt->xp_sock);
- XDR_DESTROY(&(su->su_xdrs));
- mem_free(rpc_buffer(xprt), su->su_iosz);
- mem_free((caddr_t) su, sizeof(struct svcudp_data));
-
- mem_free((caddr_t) xprt, sizeof(SVCXPRT));
-}
-
-
-/***********this could be a separate file*********************/
-
-/*
- * Fifo cache for udp server
- * Copies pointers to reply buffers into fifo cache
- * Buffers are sent again if retransmissions are detected.
- */
-
-#define SPARSENESS 4 /* 75% sparse */
-
-#define CACHE_PERROR(msg) \
- (void) fprintf(stderr,"%s\n", msg)
-
-#define ALLOC(type, size) \
- (type *) mem_alloc((unsigned) (sizeof(type) * (size)))
-
-#define BZERO(addr, type, size) \
- bzero((char *) addr, sizeof(type) * (int) (size))
-
-/*
- * An entry in the cache
- */
-typedef struct cache_node *cache_ptr;
-struct cache_node {
- /*
- * Index into cache is xid, proc, vers, prog and address
- */
- u_long cache_xid;
- u_long cache_proc;
- u_long cache_vers;
- u_long cache_prog;
- struct sockaddr_in cache_addr;
- /*
- * The cached reply and length
- */
- char *cache_reply;
- u_long cache_replylen;
- /*
- * Next node on the list, if there is a collision
- */
- cache_ptr cache_next;
-};
-
-
-
-/*
- * The entire cache
- */
-struct udp_cache {
- u_long uc_size; /* size of cache */
- cache_ptr *uc_entries; /* hash table of entries in cache */
- cache_ptr *uc_fifo; /* fifo list of entries in cache */
- u_long uc_nextvictim; /* points to next victim in fifo list */
- u_long uc_prog; /* saved program number */
- u_long uc_vers; /* saved version number */
- u_long uc_proc; /* saved procedure number */
- struct sockaddr_in uc_addr; /* saved caller's address */
-};
-
-
-/*
- * the hashing function
- */
-#define CACHE_LOC(transp, xid) \
- (xid % (SPARSENESS*((struct udp_cache *) su_data(transp)->su_cache)->uc_size))
-
-
-/*
- * Enable use of the cache.
- * Note: there is no disable.
- */
-int svcudp_enablecache(SVCXPRT* transp, u_long size)
-{
- struct svcudp_data *su = su_data(transp);
- struct udp_cache *uc;
-
- if (su->su_cache != NULL) {
- CACHE_PERROR("enablecache: cache already enabled");
- return (0);
- }
- uc = ALLOC(struct udp_cache, 1);
- if (uc == NULL) {
- CACHE_PERROR("enablecache: could not allocate cache");
- return (0);
- }
- uc->uc_size = size;
- uc->uc_nextvictim = 0;
- uc->uc_entries = ALLOC(cache_ptr, size * SPARSENESS);
- if (uc->uc_entries == NULL) {
- CACHE_PERROR("enablecache: could not allocate cache data");
- return (0);
- }
- BZERO(uc->uc_entries, cache_ptr, size * SPARSENESS);
- uc->uc_fifo = ALLOC(cache_ptr, size);
- if (uc->uc_fifo == NULL) {
- CACHE_PERROR("enablecache: could not allocate cache fifo");
- return (0);
- }
- BZERO(uc->uc_fifo, cache_ptr, size);
- su->su_cache = (char *) uc;
- return (1);
-}
-
-
-/*
- * Set an entry in the cache
- */
-static void cache_set(SVCXPRT* xprt, u_long replylen)
-{
- register cache_ptr victim;
- register cache_ptr *vicp;
- register struct svcudp_data *su = su_data(xprt);
- struct udp_cache *uc = (struct udp_cache *) su->su_cache;
- u_int loc;
- char *newbuf;
-
- /*
- * Find space for the new entry, either by
- * reusing an old entry, or by mallocing a new one
- */
- victim = uc->uc_fifo[uc->uc_nextvictim];
- if (victim != NULL) {
- loc = CACHE_LOC(xprt, victim->cache_xid);
- for (vicp = &uc->uc_entries[loc];
- *vicp != NULL && *vicp != victim;
- vicp = &(*vicp)->cache_next);
- if (*vicp == NULL) {
- CACHE_PERROR("cache_set: victim not found");
- return;
- }
- *vicp = victim->cache_next; /* remote from cache */
- newbuf = victim->cache_reply;
- } else {
- victim = ALLOC(struct cache_node, 1);
-
- if (victim == NULL) {
- CACHE_PERROR("cache_set: victim alloc failed");
- return;
- }
- newbuf = mem_alloc(su->su_iosz);
- if (newbuf == NULL) {
- CACHE_PERROR("cache_set: could not allocate new rpc_buffer");
- return;
- }
- }
-
- /*
- * Store it away
- */
- victim->cache_replylen = replylen;
- victim->cache_reply = rpc_buffer(xprt);
- rpc_buffer(xprt) = newbuf;
- xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), su->su_iosz,
- XDR_ENCODE);
- victim->cache_xid = su->su_xid;
- victim->cache_proc = uc->uc_proc;
- victim->cache_vers = uc->uc_vers;
- victim->cache_prog = uc->uc_prog;
- victim->cache_addr = uc->uc_addr;
- loc = CACHE_LOC(xprt, victim->cache_xid);
- victim->cache_next = uc->uc_entries[loc];
- uc->uc_entries[loc] = victim;
- uc->uc_fifo[uc->uc_nextvictim++] = victim;
- uc->uc_nextvictim %= uc->uc_size;
-}
-
-/*
- * Try to get an entry from the cache
- * return 1 if found, 0 if not found
- */
-static int cache_get(SVCXPRT* xprt, struct rpc_msg* msg, char** replyp, u_long* replylenp)
-{
- u_int loc;
- register cache_ptr ent;
- register struct svcudp_data *su = su_data(xprt);
- register struct udp_cache *uc = (struct udp_cache *) su->su_cache;
-
-# define EQADDR(a1, a2) (bcmp((char*)&a1, (char*)&a2, sizeof(a1)) == 0)
-
- loc = CACHE_LOC(xprt, su->su_xid);
- for (ent = uc->uc_entries[loc]; ent != NULL; ent = ent->cache_next) {
- if (ent->cache_xid == su->su_xid &&
- ent->cache_proc == uc->uc_proc &&
- ent->cache_vers == uc->uc_vers &&
- ent->cache_prog == uc->uc_prog &&
- EQADDR(ent->cache_addr, uc->uc_addr)) {
- *replyp = ent->cache_reply;
- *replylenp = ent->cache_replylen;
- return (1);
- }
- }
- /*
- * Failed to find entry
- * Remember a few things so we can do a set later
- */
- uc->uc_proc = msg->rm_call.cb_proc;
- uc->uc_vers = msg->rm_call.cb_vers;
- uc->uc_prog = msg->rm_call.cb_prog;
- uc->uc_addr = xprt->xp_raddr;
- return (0);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr.c b/mdk-stage1/dietlibc/librpc/xdr.c
deleted file mode 100644
index 864b47dea..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr.c
+++ /dev/null
@@ -1,536 +0,0 @@
-/* @(#)xdr.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)xdr.c 1.35 87/08/12";
-#endif
-
-/*
- * xdr.c, Generic XDR routines implementation.
- *
- * Copyright (C) 1986, Sun Microsystems, Inc.
- *
- * These are the "generic" xdr routines used to serialize and de-serialize
- * most common data items. See xdr.h for more info on the interface to
- * xdr.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <string.h>
-
-/*
- * constants specific to the xdr "protocol"
- */
-#define XDR_FALSE ((long) 0)
-#define XDR_TRUE ((long) 1)
-#define LASTUNSIGNED ((u_int) 0-1)
-
-/*
- * for unit alignment
- */
-static char xdr_zero[BYTES_PER_XDR_UNIT] = { 0, 0, 0, 0 };
-
-/*
- * Free a data structure using XDR
- * Not a filter, but a convenient utility nonetheless
- */
-void xdr_free(xdrproc_t proc, char* objp)
-{
- XDR x;
-
- x.x_op = XDR_FREE;
- (*proc) (&x, objp);
-}
-
-/*
- * XDR nothing
- */
-bool_t xdr_void( /* xdrs, addr */ )
- /* XDR *xdrs; */
- /* caddr_t addr; */
-{
-
- return (TRUE);
-}
-
-/*
- * XDR integers
- */
-bool_t xdr_int(XDR* xdrs, int* ip)
-{
-
-#ifdef lint
- (void) (xdr_short(xdrs, (short *) ip));
- return (xdr_long(xdrs, (long *) ip));
-#else
- if (sizeof(int) == sizeof(long)) {
- return (xdr_long(xdrs, (long *) ip));
- } else {
- return (xdr_short(xdrs, (short *) ip));
- }
-#endif
-}
-
-/*
- * XDR unsigned integers
- */
-bool_t xdr_u_int(XDR* xdrs, unsigned int* up)
-{
-
-#ifdef lint
- (void) (xdr_short(xdrs, (short *) up));
- return (xdr_u_long(xdrs, (u_long *) up));
-#else
- if (sizeof(u_int) == sizeof(u_long)) {
- return (xdr_u_long(xdrs, (u_long *) up));
- } else {
- return (xdr_short(xdrs, (short *) up));
- }
-#endif
-}
-
-/*
- * XDR long integers
- * same as xdr_u_long - open coded to save a proc call!
- */
-bool_t xdr_long(XDR* xdrs, long* lp)
-{
-
- if (xdrs->x_op == XDR_ENCODE)
- return (XDR_PUTLONG(xdrs, lp));
-
- if (xdrs->x_op == XDR_DECODE)
- return (XDR_GETLONG(xdrs, lp));
-
- if (xdrs->x_op == XDR_FREE)
- return (TRUE);
-
- return (FALSE);
-}
-
-/*
- * XDR unsigned long integers
- * same as xdr_long - open coded to save a proc call!
- */
-bool_t xdr_u_long(XDR* xdrs, unsigned long* ulp)
-{
-
- if (xdrs->x_op == XDR_DECODE)
- return (XDR_GETLONG(xdrs, (long *) ulp));
- if (xdrs->x_op == XDR_ENCODE)
- return (XDR_PUTLONG(xdrs, (long *) ulp));
- if (xdrs->x_op == XDR_FREE)
- return (TRUE);
- return (FALSE);
-}
-
-/*
- * XDR short integers
- */
-bool_t xdr_short(XDR* xdrs, short* sp)
-{
- long l;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- l = (long) *sp;
- return (XDR_PUTLONG(xdrs, &l));
-
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l)) {
- return (FALSE);
- }
- *sp = (short) l;
- return (TRUE);
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * XDR unsigned short integers
- */
-bool_t xdr_u_short(XDR* xdrs, unsigned short* usp)
-{
- u_long l;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- l = (u_long) * usp;
- return (XDR_PUTLONG(xdrs, &l));
-
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l)) {
- return (FALSE);
- }
- *usp = (u_short) l;
- return (TRUE);
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
-
-
-/*
- * XDR a char
- */
-bool_t xdr_char(XDR* xdrs, char* cp)
-{
- int i;
-
- i = (*cp);
- if (!xdr_int(xdrs, &i)) {
- return (FALSE);
- }
- *cp = i;
- return (TRUE);
-}
-
-/*
- * XDR an unsigned char
- */
-bool_t xdr_u_char(XDR* xdrs, unsigned char* cp)
-{
- u_int u;
-
- u = (*cp);
- if (!xdr_u_int(xdrs, &u)) {
- return (FALSE);
- }
- *cp = u;
- return (TRUE);
-}
-
-/*
- * XDR booleans
- */
-bool_t xdr_bool(xdrs, bp)
-register XDR *xdrs;
-bool_t *bp;
-{
- long lb;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- lb = *bp ? XDR_TRUE : XDR_FALSE;
- return (XDR_PUTLONG(xdrs, &lb));
-
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &lb)) {
- return (FALSE);
- }
- *bp = (lb == XDR_FALSE) ? FALSE : TRUE;
- return (TRUE);
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * XDR enumerations
- */
-bool_t xdr_enum(xdrs, ep)
-XDR *xdrs;
-enum_t *ep;
-{
-#ifndef lint
- enum sizecheck { SIZEVAL }; /* used to find the size of an enum */
-
- /*
- * enums are treated as ints
- */
- if (sizeof(enum sizecheck) == sizeof(long)) {
- return (xdr_long(xdrs, (long *) ep));
- } else if (sizeof(enum sizecheck) == sizeof(short)) {
- return (xdr_short(xdrs, (short *) ep));
- } else {
- return (FALSE);
- }
-#else
- (void) (xdr_short(xdrs, (short *) ep));
- return (xdr_long(xdrs, (long *) ep));
-#endif
-}
-
-/*
- * XDR opaque data
- * Allows the specification of a fixed size sequence of opaque bytes.
- * cp points to the opaque object and cnt gives the byte length.
- */
-bool_t xdr_opaque(xdrs, cp, cnt)
-register XDR *xdrs;
-caddr_t cp;
-register u_int cnt;
-{
- register u_int rndup;
- static char crud[BYTES_PER_XDR_UNIT];
-
- /*
- * if no data we are done
- */
- if (cnt == 0)
- return (TRUE);
-
- /*
- * round byte count to full xdr units
- */
- rndup = cnt % BYTES_PER_XDR_UNIT;
- if (rndup > 0)
- rndup = BYTES_PER_XDR_UNIT - rndup;
-
- if (xdrs->x_op == XDR_DECODE) {
- if (!XDR_GETBYTES(xdrs, cp, cnt)) {
- return (FALSE);
- }
- if (rndup == 0)
- return (TRUE);
- return (XDR_GETBYTES(xdrs, crud, rndup));
- }
-
- if (xdrs->x_op == XDR_ENCODE) {
- if (!XDR_PUTBYTES(xdrs, cp, cnt)) {
- return (FALSE);
- }
- if (rndup == 0)
- return (TRUE);
- return (XDR_PUTBYTES(xdrs, xdr_zero, rndup));
- }
-
- if (xdrs->x_op == XDR_FREE) {
- return (TRUE);
- }
-
- return (FALSE);
-}
-
-/*
- * XDR counted bytes
- * *cpp is a pointer to the bytes, *sizep is the count.
- * If *cpp is NULL maxsize bytes are allocated
- */
-bool_t xdr_bytes(xdrs, cpp, sizep, maxsize)
-register XDR *xdrs;
-char **cpp;
-register u_int *sizep;
-u_int maxsize;
-{
- register char *sp = *cpp; /* sp is the actual string pointer */
- register u_int nodesize;
-
- /*
- * first deal with the length since xdr bytes are counted
- */
- if (!xdr_u_int(xdrs, sizep)) {
- return (FALSE);
- }
- nodesize = *sizep;
- if ((nodesize > maxsize) && (xdrs->x_op != XDR_FREE)) {
- return (FALSE);
- }
-
- /*
- * now deal with the actual bytes
- */
- switch (xdrs->x_op) {
-
- case XDR_DECODE:
- if (nodesize == 0) {
- return (TRUE);
- }
- if (sp == NULL) {
- *cpp = sp = (char *) mem_alloc(nodesize);
- }
- if (sp == NULL) {
- (void) fprintf(stderr, "xdr_bytes: out of memory\n");
- return (FALSE);
- }
- /* fall into ... */
-
- case XDR_ENCODE:
- return (xdr_opaque(xdrs, sp, nodesize));
-
- case XDR_FREE:
- if (sp != NULL) {
- mem_free(sp, nodesize);
- *cpp = NULL;
- }
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * Implemented here due to commonality of the object.
- */
-bool_t xdr_netobj(xdrs, np)
-XDR *xdrs;
-struct netobj *np;
-{
-
- return (xdr_bytes(xdrs, &np->n_bytes, &np->n_len, MAX_NETOBJ_SZ));
-}
-
-/*
- * XDR a descriminated union
- * Support routine for discriminated unions.
- * You create an array of xdrdiscrim structures, terminated with
- * an entry with a null procedure pointer. The routine gets
- * the discriminant value and then searches the array of xdrdiscrims
- * looking for that value. It calls the procedure given in the xdrdiscrim
- * to handle the discriminant. If there is no specific routine a default
- * routine may be called.
- * If there is no specific or default routine an error is returned.
- */
-bool_t xdr_union(XDR* xdrs, enum_t* dscmp, char* unp, const struct xdr_discrim* choices, xdrproc_t dfault)
-{
- register enum_t dscm;
-
- /*
- * we deal with the discriminator; it's an enum
- */
- if (!xdr_enum(xdrs, dscmp)) {
- return (FALSE);
- }
- dscm = *dscmp;
-
- /*
- * search choices for a value that matches the discriminator.
- * if we find one, execute the xdr routine for that value.
- */
- for (; choices->proc != NULL_xdrproc_t; choices++) {
- if (choices->value == dscm)
- return ((*(choices->proc)) (xdrs, unp, LASTUNSIGNED));
- }
-
- /*
- * no match - execute the default xdr routine if there is one
- */
- return ((dfault == NULL_xdrproc_t) ? FALSE :
- (*dfault) (xdrs, unp, LASTUNSIGNED));
-}
-
-
-/*
- * Non-portable xdr primitives.
- * Care should be taken when moving these routines to new architectures.
- */
-
-
-/*
- * XDR null terminated ASCII strings
- * xdr_string deals with "C strings" - arrays of bytes that are
- * terminated by a NULL character. The parameter cpp references a
- * pointer to storage; If the pointer is null, then the necessary
- * storage is allocated. The last parameter is the max allowed length
- * of the string as specified by a protocol.
- */
-bool_t xdr_string(xdrs, cpp, maxsize)
-register XDR *xdrs;
-char **cpp;
-u_int maxsize;
-{
- register char *sp = *cpp; /* sp is the actual string pointer */
- u_int size;
- u_int nodesize;
-
- /*
- * first deal with the length since xdr strings are counted-strings
- */
- switch (xdrs->x_op) {
- case XDR_FREE:
- if (sp == NULL) {
- return (TRUE); /* already free */
- }
- /* fall through... */
- case XDR_ENCODE:
- size = strlen(sp);
- break;
- }
- if (!xdr_u_int(xdrs, &size)) {
- return (FALSE);
- }
- if (size > maxsize) {
- return (FALSE);
- }
- nodesize = size + 1;
-
- /*
- * now deal with the actual bytes
- */
- switch (xdrs->x_op) {
-
- case XDR_DECODE:
- if (nodesize == 0) {
- return (TRUE);
- }
- if (sp == NULL)
- *cpp = sp = (char *) mem_alloc(nodesize);
- if (sp == NULL) {
- (void) fprintf(stderr, "xdr_string: out of memory\n");
- return (FALSE);
- }
- sp[size] = 0;
- /* fall into ... */
-
- case XDR_ENCODE:
- return (xdr_opaque(xdrs, sp, size));
-
- case XDR_FREE:
- mem_free(sp, nodesize);
- *cpp = NULL;
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * Wrapper for xdr_string that can be called directly from
- * routines like clnt_call
- */
-bool_t xdr_wrapstring(xdrs, cpp)
-XDR *xdrs;
-char **cpp;
-{
- if (xdr_string(xdrs, cpp, LASTUNSIGNED)) {
- return (TRUE);
- }
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_array.c b/mdk-stage1/dietlibc/librpc/xdr_array.c
deleted file mode 100644
index f8ae12b19..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_array.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/* @(#)xdr_array.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)xdr_array.c 1.10 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_array.c, Generic XDR routines impelmentation.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * These are the "non-trivial" xdr primitives used to serialize and de-serialize
- * arrays. See xdr.h for more info on the interface to xdr.
- */
-
-#include <stdio.h>
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <string.h>
-
-#define LASTUNSIGNED ((u_int)0-1)
-
-
-/*
- * XDR an array of arbitrary elements
- * *addrp is a pointer to the array, *sizep is the number of elements.
- * If addrp is NULL (*sizep * elsize) bytes are allocated.
- * elsize is the size (in bytes) of each element, and elproc is the
- * xdr procedure to call to handle each element of the array.
- */
-bool_t xdr_array(xdrs, addrp, sizep, maxsize, elsize, elproc)
-register XDR *xdrs;
-caddr_t *addrp; /* array pointer */
-u_int *sizep; /* number of elements */
-u_int maxsize; /* max numberof elements */
-u_int elsize; /* size in bytes of each element */
-xdrproc_t elproc; /* xdr routine to handle each element */
-{
- register u_int i;
- register caddr_t target = *addrp;
- register u_int c; /* the actual element count */
- register bool_t stat = TRUE;
- register u_int nodesize;
-
- /* like strings, arrays are really counted arrays */
- if (!xdr_u_int(xdrs, sizep)) {
- return (FALSE);
- }
- c = *sizep;
- if ((c > maxsize) && (xdrs->x_op != XDR_FREE)) {
- return (FALSE);
- }
- nodesize = c * elsize;
-
- /*
- * if we are deserializing, we may need to allocate an array.
- * We also save time by checking for a null array if we are freeing.
- */
- if (target == NULL)
- switch (xdrs->x_op) {
- case XDR_DECODE:
- if (c == 0)
- return (TRUE);
- *addrp = target = mem_alloc(nodesize);
- if (target == NULL) {
- (void) fprintf(stderr, "xdr_array: out of memory\n");
- return (FALSE);
- }
- bzero(target, nodesize);
- break;
-
- case XDR_FREE:
- return (TRUE);
- }
-
- /*
- * now we xdr each element of array
- */
- for (i = 0; (i < c) && stat; i++) {
- stat = (*elproc) (xdrs, target, LASTUNSIGNED);
- target += elsize;
- }
-
- /*
- * the array may need freeing
- */
- if (xdrs->x_op == XDR_FREE) {
- mem_free(*addrp, nodesize);
- *addrp = NULL;
- }
- return (stat);
-}
-
-/*
- * xdr_vector():
- *
- * XDR a fixed length array. Unlike variable-length arrays,
- * the storage of fixed length arrays is static and unfreeable.
- * > basep: base of the array
- * > size: size of the array
- * > elemsize: size of each element
- * > xdr_elem: routine to XDR each element
- */
-bool_t xdr_vector(xdrs, basep, nelem, elemsize, xdr_elem)
-register XDR *xdrs;
-register char *basep;
-register u_int nelem;
-register u_int elemsize;
-register xdrproc_t xdr_elem;
-{
- register u_int i;
- register char *elptr;
-
- elptr = basep;
- for (i = 0; i < nelem; i++) {
- if (!(*xdr_elem) (xdrs, elptr, LASTUNSIGNED)) {
- return (FALSE);
- }
- elptr += elemsize;
- }
- return (TRUE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_float.c b/mdk-stage1/dietlibc/librpc/xdr_float.c
deleted file mode 100644
index f8eb5e99c..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_float.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/* @(#)xdr_float.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)xdr_float.c 1.12 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_float.c, Generic XDR routines impelmentation.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * These are the "floating point" xdr routines used to (de)serialize
- * most common data items. See xdr.h for more info on the interface to
- * xdr.
- */
-
-#include <stdio.h>
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-
-/*
- * NB: Not portable.
- * This routine works on Suns (Sky / 68000's) and Vaxen.
- */
-
-#ifdef __linux__
-/* cheat big time */
-#define sparc
-#endif
-
-#ifdef vax
-
-/* What IEEE single precision floating point looks like on a Vax */
-struct ieee_single {
- unsigned int mantissa:23;
- unsigned int exp:8;
- unsigned int sign:1;
-};
-
-/* Vax single precision floating point */
-struct vax_single {
- unsigned int mantissa1:7;
- unsigned int exp:8;
- unsigned int sign:1;
- unsigned int mantissa2:16;
-};
-
-#define VAX_SNG_BIAS 0x81
-#define IEEE_SNG_BIAS 0x7f
-
-static struct sgl_limits {
- struct vax_single s;
- struct ieee_single ieee;
-} sgl_limits[2] = {
- { {
- 0x7f, 0xff, 0x0, 0xffff}, /* Max Vax */
- {
- 0x0, 0xff, 0x0}}, /* Max IEEE */
- { {
- 0x0, 0x0, 0x0, 0x0}, /* Min Vax */
- {
- 0x0, 0x0, 0x0}} /* Min IEEE */
-};
-#endif /* vax */
-
-bool_t xdr_float(xdrs, fp)
-register XDR *xdrs;
-register float *fp;
-{
-#if !defined(mc68000) && !defined(sparc)
- struct ieee_single is;
- struct vax_single vs, *vsp;
- struct sgl_limits *lim;
- int i;
-#endif
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
-#if defined(mc68000) || defined(sparc)
- return (XDR_PUTLONG(xdrs, (long *) fp));
-#else
- vs = *((struct vax_single *) fp);
- for (i = 0, lim = sgl_limits;
-
- i < sizeof(sgl_limits) / sizeof(struct sgl_limits);
- i++, lim++) {
- if ((vs.mantissa2 == lim->s.mantissa2) &&
- (vs.exp == lim->s.exp) &&
- (vs.mantissa1 == lim->s.mantissa1)) {
- is = lim->ieee;
- goto shipit;
- }
- }
- is.exp = vs.exp - VAX_SNG_BIAS + IEEE_SNG_BIAS;
- is.mantissa = (vs.mantissa1 << 16) | vs.mantissa2;
- shipit:
- is.sign = vs.sign;
- return (XDR_PUTLONG(xdrs, (long *) &is));
-#endif
-
- case XDR_DECODE:
-#if defined(mc68000) || defined(sparc)
- return (XDR_GETLONG(xdrs, (long *) fp));
-#else
- vsp = (struct vax_single *) fp;
- if (!XDR_GETLONG(xdrs, (long *) &is))
- return (FALSE);
- for (i = 0, lim = sgl_limits;
-
- i < sizeof(sgl_limits) / sizeof(struct sgl_limits);
- i++, lim++) {
- if ((is.exp == lim->ieee.exp) &&
- (is.mantissa == lim->ieee.mantissa)) {
- *vsp = lim->s;
- goto doneit;
- }
- }
- vsp->exp = is.exp - IEEE_SNG_BIAS + VAX_SNG_BIAS;
- vsp->mantissa2 = is.mantissa;
- vsp->mantissa1 = (is.mantissa >> 16);
- doneit:
- vsp->sign = is.sign;
- return (TRUE);
-#endif
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * This routine works on Suns (Sky / 68000's) and Vaxen.
- */
-
-#ifdef vax
-/* What IEEE double precision floating point looks like on a Vax */
-struct ieee_double {
- unsigned int mantissa1:20;
- unsigned int exp:11;
- unsigned int sign:1;
- unsigned int mantissa2:32;
-};
-
-/* Vax double precision floating point */
-struct vax_double {
- unsigned int mantissa1:7;
- unsigned int exp:8;
- unsigned int sign:1;
- unsigned int mantissa2:16;
- unsigned int mantissa3:16;
- unsigned int mantissa4:16;
-};
-
-#define VAX_DBL_BIAS 0x81
-#define IEEE_DBL_BIAS 0x3ff
-#define MASK(nbits) ((1 << nbits) - 1)
-
-static struct dbl_limits {
- struct vax_double d;
- struct ieee_double ieee;
-} dbl_limits[2] = {
- { {
- 0x7f, 0xff, 0x0, 0xffff, 0xffff, 0xffff}, /* Max Vax */
- {
- 0x0, 0x7ff, 0x0, 0x0}}, /* Max IEEE */
- { {
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* Min Vax */
- {
- 0x0, 0x0, 0x0, 0x0}} /* Min IEEE */
-};
-
-#endif /* vax */
-
-
-bool_t xdr_double(xdrs, dp)
-register XDR *xdrs;
-double *dp;
-{
- register long *lp;
-
-#if !defined(mc68000) && !defined(sparc)
- struct ieee_double id;
- struct vax_double vd;
- register struct dbl_limits *lim;
- int i;
-#endif
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
-#if defined(mc68000) || defined(sparc)
- lp = (long *) dp;
-#else
- vd = *((struct vax_double *) dp);
- for (i = 0, lim = dbl_limits;
-
- i < sizeof(dbl_limits) / sizeof(struct dbl_limits);
- i++, lim++) {
- if ((vd.mantissa4 == lim->d.mantissa4) &&
- (vd.mantissa3 == lim->d.mantissa3) &&
- (vd.mantissa2 == lim->d.mantissa2) &&
- (vd.mantissa1 == lim->d.mantissa1) &&
- (vd.exp == lim->d.exp)) {
- id = lim->ieee;
- goto shipit;
- }
- }
- id.exp = vd.exp - VAX_DBL_BIAS + IEEE_DBL_BIAS;
- id.mantissa1 = (vd.mantissa1 << 13) | (vd.mantissa2 >> 3);
- id.mantissa2 = ((vd.mantissa2 & MASK(3)) << 29) |
- (vd.mantissa3 << 13) | ((vd.mantissa4 >> 3) & MASK(13));
- shipit:
- id.sign = vd.sign;
- lp = (long *) &id;
-#endif
- return (XDR_PUTLONG(xdrs, lp++) && XDR_PUTLONG(xdrs, lp));
-
- case XDR_DECODE:
-#if defined(mc68000) || defined(sparc)
- lp = (long *) dp;
- return (XDR_GETLONG(xdrs, lp++) && XDR_GETLONG(xdrs, lp));
-#else
- lp = (long *) &id;
- if (!XDR_GETLONG(xdrs, lp++) || !XDR_GETLONG(xdrs, lp))
- return (FALSE);
- for (i = 0, lim = dbl_limits;
-
- i < sizeof(dbl_limits) / sizeof(struct dbl_limits);
- i++, lim++) {
- if ((id.mantissa2 == lim->ieee.mantissa2) &&
- (id.mantissa1 == lim->ieee.mantissa1) &&
- (id.exp == lim->ieee.exp)) {
- vd = lim->d;
- goto doneit;
- }
- }
- vd.exp = id.exp - IEEE_DBL_BIAS + VAX_DBL_BIAS;
- vd.mantissa1 = (id.mantissa1 >> 13);
- vd.mantissa2 = ((id.mantissa1 & MASK(13)) << 3) |
- (id.mantissa2 >> 29);
- vd.mantissa3 = (id.mantissa2 >> 13);
- vd.mantissa4 = (id.mantissa2 << 3);
- doneit:
- vd.sign = id.sign;
- *dp = *((double *) &vd);
- return (TRUE);
-#endif
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_mem.c b/mdk-stage1/dietlibc/librpc/xdr_mem.c
deleted file mode 100644
index 755f6abf1..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_mem.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/* @(#)xdr_mem.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)xdr_mem.c 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_mem.h, XDR implementation using memory buffers.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * If you have some data to be interpreted as external data representation
- * or to be converted to external data representation in a memory buffer,
- * then this is the package for you.
- *
- */
-
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <netinet/in.h>
-#include <string.h>
-
-static bool_t xdrmem_getlong();
-static bool_t xdrmem_putlong();
-static bool_t xdrmem_getbytes();
-static bool_t xdrmem_putbytes();
-static u_int xdrmem_getpos();
-static bool_t xdrmem_setpos();
-static int32_t *xdrmem_inline();
-static void xdrmem_destroy();
-
-static struct xdr_ops xdrmem_ops = {
- xdrmem_getlong,
- xdrmem_putlong,
- xdrmem_getbytes,
- xdrmem_putbytes,
- xdrmem_getpos,
- xdrmem_setpos,
- xdrmem_inline,
- xdrmem_destroy
-};
-
-/*
- * The procedure xdrmem_create initializes a stream descriptor for a
- * memory buffer.
- */
-void xdrmem_create(xdrs, addr, size, op)
-register XDR *xdrs;
-caddr_t addr;
-u_int size;
-enum xdr_op op;
-{
-
- xdrs->x_op = op;
- xdrs->x_ops = &xdrmem_ops;
- xdrs->x_private = xdrs->x_base = addr;
- xdrs->x_handy = size;
-}
-
-static void xdrmem_destroy( /*xdrs */ )
- /*XDR *xdrs; */
-{
-}
-
-static bool_t xdrmem_getlong(xdrs, lp)
-register XDR *xdrs;
-long *lp;
-{
-
- if ((xdrs->x_handy -= sizeof(long)) < 0)
- return (FALSE);
-
- *lp = (long) ntohl((u_long) (*((long *) (xdrs->x_private))));
- xdrs->x_private += sizeof(long);
-
- return (TRUE);
-}
-
-static bool_t xdrmem_putlong(xdrs, lp)
-register XDR *xdrs;
-long *lp;
-{
-
- if ((xdrs->x_handy -= sizeof(long)) < 0)
- return (FALSE);
-
- *(long *) xdrs->x_private = (long) htonl((u_long) (*lp));
- xdrs->x_private += sizeof(long);
-
- return (TRUE);
-}
-
-static bool_t xdrmem_getbytes(xdrs, addr, len)
-register XDR *xdrs;
-caddr_t addr;
-register u_int len;
-{
-
- if ((xdrs->x_handy -= len) < 0)
- return (FALSE);
- bcopy(xdrs->x_private, addr, len);
- xdrs->x_private += len;
- return (TRUE);
-}
-
-static bool_t xdrmem_putbytes(xdrs, addr, len)
-register XDR *xdrs;
-caddr_t addr;
-register u_int len;
-{
-
- if ((xdrs->x_handy -= len) < 0)
- return (FALSE);
- bcopy(addr, xdrs->x_private, len);
- xdrs->x_private += len;
- return (TRUE);
-}
-
-static u_int xdrmem_getpos(xdrs)
-register XDR *xdrs;
-{
-
- return ((u_int) xdrs->x_private - (u_int) xdrs->x_base);
-}
-
-static bool_t xdrmem_setpos(xdrs, pos)
-register XDR *xdrs;
-u_int pos;
-{
- register caddr_t newaddr = xdrs->x_base + pos;
- register caddr_t lastaddr = xdrs->x_private + xdrs->x_handy;
-
- if ((long) newaddr > (long) lastaddr)
- return (FALSE);
- xdrs->x_private = newaddr;
- xdrs->x_handy = (int) lastaddr - (int) newaddr;
- return (TRUE);
-}
-
-static int32_t *xdrmem_inline(xdrs, len)
-register XDR *xdrs;
-int len;
-{
- int32_t *buf = 0;
-
- if (xdrs->x_handy >= len) {
- xdrs->x_handy -= len;
- buf = (int32_t *) xdrs->x_private;
- xdrs->x_private += len;
- }
- return (buf);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_rec.c b/mdk-stage1/dietlibc/librpc/xdr_rec.c
deleted file mode 100644
index 83e800f5e..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_rec.c
+++ /dev/null
@@ -1,573 +0,0 @@
-/* @(#)xdr_rec.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)xdr_rec.c 1.21 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_rec.c, Implements TCP/IP based XDR streams with a "record marking"
- * layer above tcp (for rpc's use).
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * These routines interface XDRSTREAMS to a tcp/ip connection.
- * There is a record marking layer between the xdr stream
- * and the tcp transport level. A record is composed on one or more
- * record fragments. A record fragment is a thirty-two bit header followed
- * by n bytes of data, where n is contained in the header. The header
- * is represented as a htonl(u_long). Thegh order bit encodes
- * whether or not the fragment is the last fragment of the record
- * (1 => fragment is last, 0 => more fragments to follow.
- * The other 31 bits encode the byte length of the fragment.
- */
-
-#include <stdio.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <netinet/in.h>
-#include <string.h>
-
-extern long lseek();
-
-static u_int fix_buf_size();
-
-static bool_t xdrrec_getlong();
-static bool_t xdrrec_putlong();
-static bool_t xdrrec_getbytes();
-static bool_t xdrrec_putbytes();
-static u_int xdrrec_getpos();
-static bool_t xdrrec_setpos();
-static int32_t *xdrrec_inline();
-static void xdrrec_destroy();
-
-static struct xdr_ops xdrrec_ops = {
- xdrrec_getlong,
- xdrrec_putlong,
- xdrrec_getbytes,
- xdrrec_putbytes,
- xdrrec_getpos,
- xdrrec_setpos,
- xdrrec_inline,
- xdrrec_destroy
-};
-
-/*
- * A record is composed of one or more record fragments.
- * A record fragment is a two-byte header followed by zero to
- * 2**32-1 bytes. The header is treated as a long unsigned and is
- * encode/decoded to the network via htonl/ntohl. The low order 31 bits
- * are a byte count of the fragment. The highest order bit is a boolean:
- * 1 => this fragment is the last fragment of the record,
- * 0 => this fragment is followed by more fragment(s).
- *
- * The fragment/record machinery is not general; it is constructed to
- * meet the needs of xdr and rpc based on tcp.
- */
-
-#define LAST_FRAG ((u_long)(1 << 31))
-
-typedef struct rec_strm {
- caddr_t tcp_handle;
- caddr_t the_buffer;
- /*
- * out-goung bits
- */
- int (*writeit) ();
- caddr_t out_base; /* output buffer (points to frag header) */
- caddr_t out_finger; /* next output position */
- caddr_t out_boundry; /* data cannot up to this address */
- u_long *frag_header; /* beginning of curren fragment */
- bool_t frag_sent; /* true if buffer sent in middle of record */
- /*
- * in-coming bits
- */
- int (*readit) ();
- u_long in_size; /* fixed size of the input buffer */
- caddr_t in_base;
- caddr_t in_finger; /* location of next byte to be had */
- caddr_t in_boundry; /* can read up to this location */
- long fbtbc; /* fragment bytes to be consumed */
- bool_t last_frag;
- u_int sendsize;
- u_int recvsize;
-} RECSTREAM;
-
-
-/*
- * Create an xdr handle for xdrrec
- * xdrrec_create fills in xdrs. Sendsize and recvsize are
- * send and recv buffer sizes (0 => use default).
- * tcp_handle is an opaque handle that is passed as the first parameter to
- * the procedures readit and writeit. Readit and writeit are read and
- * write respectively. They are like the system
- * calls expect that they take an opaque handle rather than an fd.
- */
-void xdrrec_create(xdrs, sendsize, recvsize, tcp_handle, readit, writeit)
-register XDR *xdrs;
-register u_int sendsize;
-register u_int recvsize;
-caddr_t tcp_handle;
-int (*readit) (); /* like read, but pass it a tcp_handle, not sock */
-int (*writeit) (); /* like write, but pass it a tcp_handle, not sock */
-{
- register RECSTREAM *rstrm = (RECSTREAM *) mem_alloc(sizeof(RECSTREAM));
-
- if (rstrm == NULL) {
- (void) fprintf(stderr, "xdrrec_create: out of memory\n");
- /*
- * This is bad. Should rework xdrrec_create to
- * return a handle, and in this case return NULL
- */
- return;
- }
- /*
- * adjust sizes and allocate buffer quad byte aligned
- */
- rstrm->sendsize = sendsize = fix_buf_size(sendsize);
- rstrm->recvsize = recvsize = fix_buf_size(recvsize);
- rstrm->the_buffer =
- mem_alloc(sendsize + recvsize + BYTES_PER_XDR_UNIT);
- if (rstrm->the_buffer == NULL) {
- (void) fprintf(stderr, "xdrrec_create: out of memory\n");
- return;
- }
- for (rstrm->out_base = rstrm->the_buffer;
- (u_int) rstrm->out_base % BYTES_PER_XDR_UNIT != 0;
- rstrm->out_base++);
- rstrm->in_base = rstrm->out_base + sendsize;
- /*
- * now the rest ...
- */
- xdrs->x_ops = &xdrrec_ops;
- xdrs->x_private = (caddr_t) rstrm;
- rstrm->tcp_handle = tcp_handle;
- rstrm->readit = readit;
- rstrm->writeit = writeit;
- rstrm->out_finger = rstrm->out_boundry = rstrm->out_base;
- rstrm->frag_header = (u_long *) rstrm->out_base;
- rstrm->out_finger += sizeof(u_long);
- rstrm->out_boundry += sendsize;
- rstrm->frag_sent = FALSE;
- rstrm->in_size = recvsize;
- rstrm->in_boundry = rstrm->in_base;
- rstrm->in_finger = (rstrm->in_boundry += recvsize);
- rstrm->fbtbc = 0;
- rstrm->last_frag = TRUE;
-}
-
-
-/*
- * The reoutines defined below are the xdr ops which will go into the
- * xdr handle filled in by xdrrec_create.
- */
-
-static bool_t xdrrec_getlong(xdrs, lp)
-XDR *xdrs;
-long *lp;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register long *buflp = (long *) (rstrm->in_finger);
- long mylong;
-
- /* first try the inline, fast case */
- if ((rstrm->fbtbc >= sizeof(long)) &&
- (((int) rstrm->in_boundry - (int) buflp) >= sizeof(long))) {
- *lp = (long) ntohl((u_long) (*buflp));
- rstrm->fbtbc -= sizeof(long);
- rstrm->in_finger += sizeof(long);
- } else {
- if (!xdrrec_getbytes(xdrs, (caddr_t) & mylong, sizeof(long)))
- return (FALSE);
-
- *lp = (long) ntohl((u_long) mylong);
- }
- return (TRUE);
-}
-
-/*
- * Internal useful routines
- */
-static bool_t flush_out(RECSTREAM* rstrm, bool_t eor)
-{
- register u_long eormask = (eor == TRUE) ? LAST_FRAG : 0;
- register u_long len = (u_long) (rstrm->out_finger) -
- (u_long) (rstrm->frag_header) - sizeof(u_long);
-
- *(rstrm->frag_header) = htonl(len | eormask);
- len = (u_long) (rstrm->out_finger) - (u_long) (rstrm->out_base);
- if ((*(rstrm->writeit)) (rstrm->tcp_handle, rstrm->out_base, (int) len)
- != (int) len)
- return (FALSE);
- rstrm->frag_header = (u_long *) rstrm->out_base;
- rstrm->out_finger = (caddr_t) rstrm->out_base + sizeof(u_long);
- return (TRUE);
-}
-
-static bool_t
-/* knows nothing about records! Only about input buffers */
-fill_input_buf(rstrm)
-register RECSTREAM *rstrm;
-{
- register caddr_t where;
- u_int i;
- register int len;
-
- where = rstrm->in_base;
- i = (u_int) rstrm->in_boundry % BYTES_PER_XDR_UNIT;
- where += i;
- len = rstrm->in_size - i;
- if ((len = (*(rstrm->readit)) (rstrm->tcp_handle, where, len)) == -1)
- return (FALSE);
- rstrm->in_finger = where;
- where += len;
- rstrm->in_boundry = where;
- return (TRUE);
-}
-
-static bool_t
-/* knows nothing about records! Only about input buffers */
-get_input_bytes(rstrm, addr, len)
-register RECSTREAM *rstrm;
-register caddr_t addr;
-register int len;
-{
- register int current;
-
- while (len > 0) {
- current = (int) rstrm->in_boundry - (int) rstrm->in_finger;
- if (current == 0) {
- if (!fill_input_buf(rstrm))
- return (FALSE);
- continue;
- }
- current = (len < current) ? len : current;
- bcopy(rstrm->in_finger, addr, current);
- rstrm->in_finger += current;
- addr += current;
- len -= current;
- }
- return (TRUE);
-}
-
-static bool_t
-/* next two bytes of the input stream are treated as a header */
-set_input_fragment(rstrm)
-register RECSTREAM *rstrm;
-{
- u_long header;
-
- if (!get_input_bytes(rstrm, (caddr_t) & header, sizeof(header)))
- return (FALSE);
- header = (long) ntohl(header);
- rstrm->last_frag = ((header & LAST_FRAG) == 0) ? FALSE : TRUE;
- rstrm->fbtbc = header & (~LAST_FRAG);
- return (TRUE);
-}
-
-static bool_t
-/* consumes input bytes; knows nothing about records! */
-skip_input_bytes(rstrm, cnt)
-register RECSTREAM *rstrm;
-long cnt;
-{
- register int current;
-
- while (cnt > 0) {
- current = (int) rstrm->in_boundry - (int) rstrm->in_finger;
- if (current == 0) {
- if (!fill_input_buf(rstrm))
- return (FALSE);
- continue;
- }
- current = (cnt < current) ? cnt : current;
- rstrm->in_finger += current;
- cnt -= current;
- }
- return (TRUE);
-}
-
-static u_int fix_buf_size(s)
-register u_int s;
-{
-
- if (s < 100)
- s = 4000;
- return (RNDUP(s));
-}
-static bool_t xdrrec_putlong(xdrs, lp)
-XDR *xdrs;
-long *lp;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register long *dest_lp = ((long *) (rstrm->out_finger));
-
- if ((rstrm->out_finger += sizeof(long)) > rstrm->out_boundry) {
- /*
- * this case should almost never happen so the code is
- * inefficient
- */
- rstrm->out_finger -= sizeof(long);
-
- rstrm->frag_sent = TRUE;
- if (!flush_out(rstrm, FALSE))
- return (FALSE);
- dest_lp = ((long *) (rstrm->out_finger));
- rstrm->out_finger += sizeof(long);
- }
- *dest_lp = (long) htonl((u_long) (*lp));
- return (TRUE);
-}
-
-static bool_t
-/* must manage buffers, fragments, and records */
-xdrrec_getbytes(xdrs, addr, len)
-XDR *xdrs;
-register caddr_t addr;
-register u_int len;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register int current;
-
- while (len > 0) {
- current = rstrm->fbtbc;
- if (current == 0) {
- if (rstrm->last_frag)
- return (FALSE);
- if (!set_input_fragment(rstrm))
- return (FALSE);
- continue;
- }
- current = (len < current) ? len : current;
- if (!get_input_bytes(rstrm, addr, current))
- return (FALSE);
- addr += current;
- rstrm->fbtbc -= current;
- len -= current;
- }
- return (TRUE);
-}
-
-static bool_t xdrrec_putbytes(xdrs, addr, len)
-XDR *xdrs;
-register caddr_t addr;
-register u_int len;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register int current;
-
- while (len > 0) {
- current = (u_int) rstrm->out_boundry - (u_int) rstrm->out_finger;
- current = (len < current) ? len : current;
- bcopy(addr, rstrm->out_finger, current);
- rstrm->out_finger += current;
- addr += current;
- len -= current;
- if (rstrm->out_finger == rstrm->out_boundry) {
- rstrm->frag_sent = TRUE;
- if (!flush_out(rstrm, FALSE))
- return (FALSE);
- }
- }
- return (TRUE);
-}
-
-static u_int xdrrec_getpos(xdrs)
-register XDR *xdrs;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- register long pos;
-
- pos = lseek((int) rstrm->tcp_handle, (long) 0, 1);
- if (pos != -1)
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- pos += rstrm->out_finger - rstrm->out_base;
- break;
-
- case XDR_DECODE:
- pos -= rstrm->in_boundry - rstrm->in_finger;
- break;
-
- default:
- pos = (u_int) - 1;
- break;
- }
- return ((u_int) pos);
-}
-
-static bool_t xdrrec_setpos(xdrs, pos)
-register XDR *xdrs;
-u_int pos;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- u_int currpos = xdrrec_getpos(xdrs);
- int delta = currpos - pos;
- caddr_t newpos;
-
- if ((int) currpos != -1)
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- newpos = rstrm->out_finger - delta;
- if ((newpos > (caddr_t) (rstrm->frag_header)) &&
- (newpos < rstrm->out_boundry)) {
- rstrm->out_finger = newpos;
- return (TRUE);
- }
- break;
-
- case XDR_DECODE:
- newpos = rstrm->in_finger - delta;
- if ((delta < (int) (rstrm->fbtbc)) &&
- (newpos <= rstrm->in_boundry) &&
- (newpos >= rstrm->in_base)) {
- rstrm->in_finger = newpos;
- rstrm->fbtbc -= delta;
- return (TRUE);
- }
- break;
- }
- return (FALSE);
-}
-
-static int32_t *xdrrec_inline(xdrs, len)
-register XDR *xdrs;
-int len;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- int32_t *buf = NULL;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- if ((rstrm->out_finger + len) <= rstrm->out_boundry) {
- buf = (int32_t *) rstrm->out_finger;
- rstrm->out_finger += len;
- }
- break;
-
- case XDR_DECODE:
- if ((len <= rstrm->fbtbc) &&
- ((rstrm->in_finger + len) <= rstrm->in_boundry)) {
- buf = (int32_t *) rstrm->in_finger;
- rstrm->fbtbc -= len;
- rstrm->in_finger += len;
- }
- break;
- }
- return (buf);
-}
-
-static void xdrrec_destroy(xdrs)
-register XDR *xdrs;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
-
- mem_free(rstrm->the_buffer,
- rstrm->sendsize + rstrm->recvsize + BYTES_PER_XDR_UNIT);
- mem_free((caddr_t) rstrm, sizeof(RECSTREAM));
-}
-
-
-/*
- * Exported routines to manage xdr records
- */
-
-/*
- * Before reading (deserializing from the stream, one should always call
- * this procedure to guarantee proper record alignment.
- */
-bool_t xdrrec_skiprecord(xdrs)
-XDR *xdrs;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
-
- while (rstrm->fbtbc > 0 || (!rstrm->last_frag)) {
- if (!skip_input_bytes(rstrm, rstrm->fbtbc))
- return (FALSE);
- rstrm->fbtbc = 0;
- if ((!rstrm->last_frag) && (!set_input_fragment(rstrm)))
- return (FALSE);
- }
- rstrm->last_frag = FALSE;
- return (TRUE);
-}
-
-/*
- * Look ahead fuction.
- * Returns TRUE iff there is no more input in the buffer
- * after consuming the rest of the current record.
- */
-bool_t xdrrec_eof(xdrs)
-XDR *xdrs;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
-
- while (rstrm->fbtbc > 0 || (!rstrm->last_frag)) {
- if (!skip_input_bytes(rstrm, rstrm->fbtbc))
- return (TRUE);
- rstrm->fbtbc = 0;
- if ((!rstrm->last_frag) && (!set_input_fragment(rstrm)))
- return (TRUE);
- }
- if (rstrm->in_finger == rstrm->in_boundry)
- return (TRUE);
- return (FALSE);
-}
-
-/*
- * The client must tell the package when an end-of-record has occurred.
- * The second paraemters tells whether the record should be flushed to the
- * (output) tcp stream. (This let's the package support batched or
- * pipelined procedure calls.) TRUE => immmediate flush to tcp connection.
- */
-bool_t xdrrec_endofrecord(xdrs, sendnow)
-XDR *xdrs;
-bool_t sendnow;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register u_long len; /* fragment length */
-
- if (sendnow || rstrm->frag_sent ||
- ((u_long) rstrm->out_finger + sizeof(u_long) >=
- (u_long) rstrm->out_boundry)) {
- rstrm->frag_sent = FALSE;
- return (flush_out(rstrm, TRUE));
- }
- len = (u_long) (rstrm->out_finger) - (u_long) (rstrm->frag_header) -
- sizeof(u_long);
- *(rstrm->frag_header) = htonl((u_long) len | LAST_FRAG);
- rstrm->frag_header = (u_long *) rstrm->out_finger;
- rstrm->out_finger += sizeof(u_long);
- return (TRUE);
-}
-
-
diff --git a/mdk-stage1/dietlibc/librpc/xdr_reference.c b/mdk-stage1/dietlibc/librpc/xdr_reference.c
deleted file mode 100644
index 7715d821c..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_reference.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* @(#)xdr_reference.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)xdr_reference.c 1.11 87/08/11 SMI";
-#endif
-
-/*
- * xdr_reference.c, Generic XDR routines impelmentation.
- *
- * Copyright (C) 1987, Sun Microsystems, Inc.
- *
- * These are the "non-trivial" xdr primitives used to serialize and de-serialize
- * "pointers". See xdr.h for more info on the interface to xdr.
- */
-
-#include <stdio.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <string.h>
-
-#define LASTUNSIGNED ((u_int)0-1)
-
-/*
- * XDR an indirect pointer
- * xdr_reference is for recursively translating a structure that is
- * referenced by a pointer inside the structure that is currently being
- * translated. pp references a pointer to storage. If *pp is null
- * the necessary storage is allocated.
- * size is the sizeof the referneced structure.
- * proc is the routine to handle the referenced structure.
- */
-bool_t xdr_reference(xdrs, pp, size, proc)
-register XDR *xdrs;
-caddr_t *pp; /* the pointer to work on */
-u_int size; /* size of the object pointed to */
-xdrproc_t proc; /* xdr routine to handle the object */
-{
- register caddr_t loc = *pp;
- register bool_t stat;
-
- if (loc == NULL)
- switch (xdrs->x_op) {
- case XDR_FREE:
- return (TRUE);
-
- case XDR_DECODE:
- *pp = loc = (caddr_t) mem_alloc(size);
- if (loc == NULL) {
- (void) fprintf(stderr, "xdr_reference: out of memory\n");
- return (FALSE);
- }
- bzero(loc, (int) size);
- break;
- }
-
- stat = (*proc) (xdrs, loc, LASTUNSIGNED);
-
- if (xdrs->x_op == XDR_FREE) {
- mem_free(loc, size);
- *pp = NULL;
- }
- return (stat);
-}
-
-
-/*
- * xdr_pointer():
- *
- * XDR a pointer to a possibly recursive data structure. This
- * differs with xdr_reference in that it can serialize/deserialiaze
- * trees correctly.
- *
- * What's sent is actually a union:
- *
- * union object_pointer switch (boolean b) {
- * case TRUE: object_data data;
- * case FALSE: void nothing;
- * }
- *
- * > objpp: Pointer to the pointer to the object.
- * > obj_size: size of the object.
- * > xdr_obj: routine to XDR an object.
- *
- */
-bool_t xdr_pointer(xdrs, objpp, obj_size, xdr_obj)
-register XDR *xdrs;
-char **objpp;
-u_int obj_size;
-xdrproc_t xdr_obj;
-{
-
- bool_t more_data;
-
- more_data = (*objpp != NULL);
- if (!xdr_bool(xdrs, &more_data)) {
- return (FALSE);
- }
- if (!more_data) {
- *objpp = NULL;
- return (TRUE);
- }
- return (xdr_reference(xdrs, objpp, obj_size, xdr_obj));
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_stdio.c b/mdk-stage1/dietlibc/librpc/xdr_stdio.c
deleted file mode 100644
index e3190e0a9..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_stdio.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/* @(#)xdr_stdio.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)xdr_stdio.c 1.16 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_stdio.c, XDR implementation on standard i/o file.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * This set of routines implements a XDR on a stdio stream.
- * XDR_ENCODE serializes onto the stream, XDR_DECODE de-serializes
- * from the stream.
- */
-
-#include <rpc/types.h>
-#include <stdio.h>
-#include <rpc/xdr.h>
-
-static bool_t xdrstdio_getlong();
-static bool_t xdrstdio_putlong();
-static bool_t xdrstdio_getbytes();
-static bool_t xdrstdio_putbytes();
-static u_int xdrstdio_getpos();
-static bool_t xdrstdio_setpos();
-static int32_t *xdrstdio_inline();
-static void xdrstdio_destroy();
-
-/*
- * Ops vector for stdio type XDR
- */
-static struct xdr_ops xdrstdio_ops = {
- xdrstdio_getlong, /* deseraialize a long int */
- xdrstdio_putlong, /* seraialize a long int */
- xdrstdio_getbytes, /* deserialize counted bytes */
- xdrstdio_putbytes, /* serialize counted bytes */
- xdrstdio_getpos, /* get offset in the stream */
- xdrstdio_setpos, /* set offset in the stream */
- xdrstdio_inline, /* prime stream for inline macros */
- xdrstdio_destroy /* destroy stream */
-};
-
-/*
- * Initialize a stdio xdr stream.
- * Sets the xdr stream handle xdrs for use on the stream file.
- * Operation flag is set to op.
- */
-void xdrstdio_create(xdrs, file, op)
-register XDR *xdrs;
-FILE *file;
-enum xdr_op op;
-{
-
- xdrs->x_op = op;
- xdrs->x_ops = &xdrstdio_ops;
- xdrs->x_private = (caddr_t) file;
- xdrs->x_handy = 0;
- xdrs->x_base = 0;
-}
-
-/*
- * Destroy a stdio xdr stream.
- * Cleans up the xdr stream handle xdrs previously set up by xdrstdio_create.
- */
-static void xdrstdio_destroy(xdrs)
-register XDR *xdrs;
-{
- (void) fflush((FILE *) xdrs->x_private);
- /* xx should we close the file ?? */
-};
-
-static bool_t xdrstdio_getlong(xdrs, lp)
-XDR *xdrs;
-register long *lp;
-{
-
- if (fread((caddr_t) lp, sizeof(long), 1, (FILE *) xdrs->x_private) !=
- 1) return (FALSE);
-
-#ifndef mc68000
- *lp = ntohl(*lp);
-#endif
- return (TRUE);
-}
-
-static bool_t xdrstdio_putlong(xdrs, lp)
-XDR *xdrs;
-long *lp;
-{
-
-#ifndef mc68000
- long mycopy = htonl(*lp);
-
- lp = &mycopy;
-#endif
- if (fwrite((caddr_t) lp, sizeof(long), 1, (FILE *) xdrs->x_private) !=
- 1) return (FALSE);
-
- return (TRUE);
-}
-
-static bool_t xdrstdio_getbytes(xdrs, addr, len)
-XDR *xdrs;
-caddr_t addr;
-u_int len;
-{
-
- if ((len != 0)
- && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1))
- return (FALSE);
- return (TRUE);
-}
-
-static bool_t xdrstdio_putbytes(xdrs, addr, len)
-XDR *xdrs;
-caddr_t addr;
-u_int len;
-{
-
- if ((len != 0)
- && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1))
- return (FALSE);
- return (TRUE);
-}
-
-static u_int xdrstdio_getpos(xdrs)
-XDR *xdrs;
-{
-
- return ((u_int) ftell((FILE *) xdrs->x_private));
-}
-
-static bool_t xdrstdio_setpos(xdrs, pos)
-XDR *xdrs;
-u_int pos;
-{
-
- return ((fseek((FILE *) xdrs->x_private, (long) pos, 0) < 0) ?
- FALSE : TRUE);
-}
-
-static int32_t *xdrstdio_inline(xdrs, len)
-XDR *xdrs;
-u_int len;
-{
-
- /*
- * Must do some work to implement this: must insure
- * enough data in the underlying stdio buffer,
- * that the buffer is aligned so that we can indirect through a
- * long *, and stuff this pointer in xdrs->x_buf. Doing
- * a fread or fwrite to a scratch buffer would defeat
- * most of the gains to be had here and require storage
- * management on this buffer, so we don't do this.
- */
- return (NULL);
-}
diff --git a/mdk-stage1/dietlibc/libshell/fnmatch.c b/mdk-stage1/dietlibc/libshell/fnmatch.c
deleted file mode 100644
index 4e7664510..000000000
--- a/mdk-stage1/dietlibc/libshell/fnmatch.c
+++ /dev/null
@@ -1,74 +0,0 @@
-#include <ctype.h>
-#include <fnmatch.h>
-
-#define NOTFIRST 128
-
-static int match(char c,char d,int flags) {
- if (flags&FNM_CASEFOLD)
- return (tolower(c)==tolower(d));
- else
- return (c==d);
-}
-
-int fnmatch(const char *pattern, const char *string, int flags) {
- if (*string==0) {
- while (*pattern=='*') ++pattern;
- return (!!*pattern);
- }
- if (*string=='.' && *pattern!='.' && (flags&FNM_PERIOD)) {
- /* don't match if FNM_PERIOD and this is the first char */
- if ((flags&FNM_PERIOD) && (!(flags&NOTFIRST)))
- return 1;
- /* don't match if FNM_PERIOD and FNM_FILE_NAME and previous was '/' */
- if ((flags&(FNM_FILE_NAME|FNM_PERIOD)) && string[-1]=='/')
- return 1;
- }
- flags|=NOTFIRST;
- switch (*pattern) {
- case '[':
- ++pattern;
- while (*pattern && *pattern!=']') {
- if (flags&FNM_PATHNAME || *string!='/') {
- int res=0;
- if (pattern[1]=='-') {
- if (*string>=*pattern && *string<=pattern[2]) res=1;
- if (flags&FNM_CASEFOLD) {
- if (tolower(*string)>=tolower(*pattern) && tolower(*string)<=tolower(pattern[2])) res=1;
- }
- } else
- res=match(*pattern,*string,flags);
- if (res) {
- while (*pattern && *pattern!=']') ++pattern;
- return fnmatch(pattern+1,string+1,flags);
- }
- }
- ++pattern;
- }
- break;
- case '\\':
- if (flags&FNM_NOESCAPE) {
- if (*string=='\\')
- return fnmatch(pattern+1,string+1,flags);
- } else {
- if (*string==pattern[1])
- return fnmatch(pattern+2,string+1,flags);
- }
- break;
- case '*':
- if (!pattern[1] || fnmatch(pattern+1,string,flags)==0)
- return 0;
- else
- if (*string!='/')
- return fnmatch(pattern,string+1,flags);
- break;
- case 0:
- if (*string==0 || (*string=='/' && (flags&FNM_LEADING_DIR)))
- return 0;
- break;
- default:
- if (match(*pattern,*string,flags))
- return fnmatch(pattern+1,string+1,flags);
- break;
- }
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libshell/glob.c b/mdk-stage1/dietlibc/libshell/glob.c
deleted file mode 100644
index 34d09d87a..000000000
--- a/mdk-stage1/dietlibc/libshell/glob.c
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * dietlibc/libshell/glob.c
- *
- * Copyright 2001 Guillaume Cottenceau <gc@mandrakesoft.com>
- *
- * This is free software, licensed under the Gnu General Public License.
- *
- */
-
-/*
- * unsupported: GLOB_BRACE GLOB_ALTDIRFUNC GLOB_MAGCHAR
- */
-
-#define DEBUG(x)
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <assert.h>
-#include <fnmatch.h>
-#include <dirent.h>
-#include <pwd.h>
-
-#include <glob.h>
-
-
-
-/* If i18n, should be using strcoll */
-static int cmp_func(const void * a, const void * b)
-{
- const char *const s1 = *(const char *const * const) a;
- const char *const s2 = *(const char *const * const) b;
- if (s1 == NULL)
- return 1;
- if (s2 == NULL)
- return -1;
- return strcmp(s1, s2);
-}
-
-
-/* Like `glob', but PATTERN is a final pathname component,
- and matches are searched for in DIRECTORY.
- The GLOB_NOSORT bit in FLAGS is ignored. No sorting is ever done.
- The GLOB_APPEND flag is assumed to be set (always appends).
- Prepends DIRECTORY in constructed PGLOB. */
-static int glob_in_dir(const char *pattern, const char *directory, int flags,
- int errfunc(const char * epath, int eerrno),
- glob_t *pglob)
-{
- DIR *dp = opendir(directory);
- int nfound = 0;
-
- int i;
- char * ptr;
-
- void close_dir_keep_errno(void) {
- int save = errno;
- if (dp)
- closedir (dp);
- __set_errno(save);
- }
- int add_entry(const char * name) {
- pglob->gl_pathv = (char **) realloc(pglob->gl_pathv,
- (pglob->gl_pathc + pglob->gl_offs + 2)
- * sizeof (char *));
- if (pglob->gl_pathv == NULL)
- return 1;
- pglob->gl_pathv[pglob->gl_offs + pglob->gl_pathc] = strdup(name);
- pglob->gl_pathv[pglob->gl_offs + pglob->gl_pathc + 1] = NULL;
- pglob->gl_pathc++;
- nfound++;
- return 0;
- }
- void build_fullname(char * fullname, int fullnamesize, const char * directory, const char * filename) {
- if (!strcmp(directory, "/"))
- snprintf(fullname, fullnamesize, "/%s", filename);
- else if (!strcmp(directory, "."))
- snprintf(fullname, fullnamesize, "%s", filename);
- else
- snprintf(fullname, fullnamesize, "%s/%s", directory, filename);
- }
-
- if (!dp) {
- if (errno != ENOTDIR
- && ((errfunc != NULL && (*errfunc) (directory, errno))
- || (flags & GLOB_ERR)))
- return GLOB_ABORTED;
- } else {
- int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0)
- | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0));
- struct dirent *ep;
- while ((ep = readdir(dp))) {
- i = strlen(directory) + strlen(ep->d_name) + 2;
- ptr = (char *) alloca(i);
- build_fullname(ptr, i, directory, ep->d_name);
- if (flags & GLOB_ONLYDIR) {
- struct stat statr;
- if (stat(ptr, &statr) || !S_ISDIR(statr.st_mode))
- continue;
- }
- if (fnmatch(pattern, ep->d_name, fnm_flags) == 0)
- if (add_entry(ptr))
- goto memory_error;
- }
- }
-
- close_dir_keep_errno();
-
- if (nfound != 0)
- pglob->gl_flags = flags;
- else if (flags & GLOB_NOCHECK) {
- /* nfound == 0 */
- i = strlen(directory) + strlen(pattern) + 2;
- ptr = (char *) alloca(i);
- build_fullname(ptr, i, directory, pattern);
- if (add_entry(ptr))
- goto memory_error;
- }
-
- return (nfound == 0) ? GLOB_NOMATCH : 0;
-
- memory_error:
- /* We're in trouble since we can't free the already allocated memory. [allocated from strdup(filame)]
- * Well, after all, when malloc returns NULL we're already in a bad mood, and no doubt the
- * program will manage to segfault by itself very soon :-). */
- close_dir_keep_errno();
- return GLOB_NOSPACE;
-}
-
-
-
-int glob(const char *pattern, int flags, int errfunc(const char * epath, int eerrno), glob_t *pglob)
-{
- char * pattern_;
- char * filename;
- char * dirname;
- size_t oldcount;
- struct stat statr;
-
- size_t i; /* tmp variables are declared here to save a bit of object space */
- int j, k; /* */
- char * ptr, * ptr2;
-
- if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0) {
- __set_errno (EINVAL);
- return -1;
- }
-
- if (!(flags & GLOB_DOOFFS))
- pglob->gl_offs = 0;
-
-
- /* Duplicate pattern so I can make modif to it later (to handle
- TILDE stuff replacing old contents, and to null-terminate the
- directory) */
- pattern_ = alloca(strlen(pattern) + 1);
- strcpy(pattern_, pattern);
-
- /* Check for TILDE stuff */
- if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern_[0] == '~') {
- char * home_dir = NULL;
- if (pattern_[1] == '\0' || pattern_[1] == '/') {
- /* She's asking for ~, her homedir */
- home_dir = getenv("HOME");
- } else {
- /* She's asking for another one's homedir */
- struct passwd * p;
- ptr2 = alloca(strlen(pattern_) + 1);
- strcpy(ptr2, pattern_ + 1);
- ptr = strchr(ptr2, '/');
- if (ptr != NULL)
- *ptr = '\0';
- if (((p = getpwnam(ptr2)) != NULL))
- home_dir = p->pw_dir;
- }
- if (home_dir != NULL) {
- i = strlen(home_dir) + strlen(pattern_); /* pessimistic (the ~ case) */
- ptr = alloca(i);
- strncpy(ptr, home_dir, i);
- ptr2 = pattern_ + 1;
- while (*ptr2 != '/' && *ptr2 != '\0')
- ptr2++;
- strncat(ptr, ptr2, i);
- pattern_ = ptr;
- } else if (flags & GLOB_TILDE_CHECK)
- return GLOB_NOMATCH;
- }
-
- /* Find the filename */
- filename = strrchr(pattern_, '/');
-
- if (filename == NULL) {
- /* We have no '/' in the pattern */
- filename = pattern_;
- dirname = ".";
- } else if (filename == pattern_) {
- /* "/pattern". */
- dirname = "/";
- filename++;
- } else {
- dirname = pattern_;
- filename++;
- /* allow dirname to be null terminated */
- *(filename-1) = '\0';
-
- if (filename[0] == '\0' && strcmp(pattern_, "/")) {
- /* "pattern/". Expand "pattern", appending slashes. */
- j = glob(dirname, flags | GLOB_MARK, errfunc, pglob);
- if (j == 0)
- pglob->gl_flags = ((pglob->gl_flags & ~GLOB_MARK)
- | (flags & GLOB_MARK));
- return j;
- }
- }
-
-
- /* Reserve memory for pglob */
- if (!(flags & GLOB_APPEND)) {
- pglob->gl_pathc = 0;
- if (!(flags & GLOB_DOOFFS))
- pglob->gl_pathv = NULL;
- else {
- pglob->gl_pathv = (char **) malloc((pglob->gl_offs + 1) * sizeof (char *));
- if (pglob->gl_pathv == NULL)
- return GLOB_NOSPACE;
- for (i = 0; i <= pglob->gl_offs; i++)
- pglob->gl_pathv[i] = NULL;
- }
- }
-
-
- oldcount = pglob->gl_pathc + pglob->gl_offs;
-
-
- /* Begin real work */
- if (!strcmp(dirname, "/") || !strcmp(dirname, ".")
- || (!strchr(dirname, '*') && !strchr(dirname, '?') && !strchr(dirname, '['))) {
- /* Approx of a terminal state, glob directly in dir. */
- j = glob_in_dir(filename, dirname, flags, errfunc, pglob);
- if (j != 0)
- return j;
- } else {
- /* We are not in a terminal state, so we have to glob for
- the directory, and then glob for the pattern in each
- directory found. */
- glob_t dirs;
-
- j = glob(dirname, ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE | GLOB_ALTDIRFUNC))
- | GLOB_NOSORT | GLOB_ONLYDIR),
- errfunc, &dirs);
- if (j != 0)
- return j;
-
- /* We have successfully globbed the directory name.
- For each name we found, call glob_in_dir on it and FILENAME,
- appending the results to PGLOB. */
- for (i = 0; i < dirs.gl_pathc; i++) {
- j = glob_in_dir(filename, dirs.gl_pathv[i], ((flags | GLOB_APPEND) & ~GLOB_NOCHECK),
- errfunc, pglob);
- if (j == GLOB_NOMATCH)
- /* No matches in this directory. Try the next. */
- continue;
- if (j != 0) {
- globfree(&dirs);
- globfree(pglob);
- return j;
- }
- }
-
- /* We have ignored the GLOB_NOCHECK flag in the `glob_in_dir' calls.
- But if we have not found any matching entry and the GLOB_NOCHECK
- flag was set we must return the list consisting of the disrectory
- names followed by the filename. */
- if (pglob->gl_pathc + pglob->gl_offs == oldcount)
- {
- /* No matches. */
- if (flags & GLOB_NOCHECK)
- {
- for (i = 0; i < dirs.gl_pathc; i++) {
- if (stat(dirs.gl_pathv[i], &statr) || !S_ISDIR(statr.st_mode))
- continue;
-
- /* stat is okay, we will add the entry, but before let's resize the pathv */
- j = pglob->gl_pathc + pglob->gl_offs;
- pglob->gl_pathv = (char **) realloc(pglob->gl_pathv, (j + 2) * sizeof (char *));
- if (pglob->gl_pathv == NULL) {
- globfree (&dirs);
- return GLOB_NOSPACE;
- }
-
- /* okay now we add the new entry */
- k = strlen(dirs.gl_pathv[i]) + 1 + strlen(filename) + 1;
- if ((pglob->gl_pathv[j] = malloc(k)) == NULL) {
- globfree(&dirs);
- globfree(pglob);
- return GLOB_NOSPACE;
- }
- snprintf(pglob->gl_pathv[j], k, "%s/%s", dirs.gl_pathv[i], filename);
- pglob->gl_pathc++;
- pglob->gl_pathv[j+1] = NULL;
- }
- } else {
- globfree(&dirs);
- return GLOB_NOMATCH;
- }
- }
-
- globfree (&dirs);
- }
-
-
- if (flags & GLOB_MARK) {
- for (i = oldcount; i < pglob->gl_pathc + pglob->gl_offs; i++)
- if (!stat(pglob->gl_pathv[i], &statr) && S_ISDIR(statr.st_mode)) {
- size_t len = strlen(pglob->gl_pathv[i]) + 2;
- ptr = realloc(pglob->gl_pathv[i], len);
- if (ptr == NULL) {
- globfree(pglob);
- return GLOB_NOSPACE;
- }
- strcpy(&ptr[len - 2], "/");
- pglob->gl_pathv[i] = ptr;
- }
- }
-
- if (!(flags & GLOB_NOSORT)) {
- qsort(&pglob->gl_pathv[oldcount],
- pglob->gl_pathc + pglob->gl_offs - oldcount,
- sizeof(char *), cmp_func);
- }
-
- return 0;
-}
-
-
-/* Free storage allocated in PGLOB by a previous `glob' call. */
-void globfree (glob_t * pglob)
-{
- if (pglob->gl_pathv != NULL) {
- size_t i;
- for (i = 0; i < pglob->gl_pathc; i++)
- if (pglob->gl_pathv[pglob->gl_offs + i] != NULL)
- free((void *) pglob->gl_pathv[pglob->gl_offs + i]);
- free((void *) pglob->gl_pathv);
- }
-}
diff --git a/mdk-stage1/dietlibc/libshell/realpath.c b/mdk-stage1/dietlibc/libshell/realpath.c
deleted file mode 100644
index 1377018e5..000000000
--- a/mdk-stage1/dietlibc/libshell/realpath.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-char *realpath(const char *path, char *resolved_path) {
- int fd=open(".",O_RDONLY);
- char *tmp="";
- if (chdir(path)) {
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()==ENOTDIR)
-#else
- if (errno==ENOTDIR)
-#endif
- {
- if ((tmp=strrchr(path,'/'))) {
- memmove(resolved_path,path,tmp-path);
- resolved_path[tmp-path]=0;
- if (chdir(resolved_path)) { resolved_path=0; goto abort; }
- }
- }
- }
- if (!getcwd(resolved_path,PATH_MAX)) { resolved_path=0; goto abort; }
- strcat(resolved_path,tmp);
-abort:
- fchdir(fd);
- close(fd);
- return resolved_path;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/clearerr.c b/mdk-stage1/dietlibc/libstdio/clearerr.c
deleted file mode 100644
index 8bde8c702..000000000
--- a/mdk-stage1/dietlibc/libstdio/clearerr.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "dietstdio.h"
-
-void clearerr( FILE *stream) {
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fclose.c b/mdk-stage1/dietlibc/libstdio/fclose.c
deleted file mode 100644
index 6958a48e7..000000000
--- a/mdk-stage1/dietlibc/libstdio/fclose.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "dietstdio.h"
-#include <stdlib.h>
-#include <unistd.h>
-
-int fclose(FILE *stream) {
- int res;
-#ifdef WANT_BUFFERED_STDIO
- FILE *f,*fl;
-#endif
- fflush(stream);
- res=close(stream->fd);
-#ifdef WANT_BUFFERED_STDIO
- for (fl=0,f=__stdio_root; f; fl=f,f=f->next)
- if (f==stream) {
- if (fl)
- fl->next=f->next;
- else
- __stdio_root=f->next;
- break;
- }
-#endif
- free(stream);
- return res;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fdglue.c b/mdk-stage1/dietlibc/libstdio/fdglue.c
deleted file mode 100644
index eeedd513d..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdglue.c
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifdef WANT_BUFFERED_STDIO
-extern int __stdio_atexit;
-extern void __stdio_flushall();
-#endif
-
-int __stdio_parse_mode(const char *mode) {
- int f=0;
- for (;;) {
- switch (*mode) {
- case 0: return f;
- case 'b': break;
- case 'r': f=O_RDONLY; break;
- case 'w': f=O_WRONLY|O_CREAT|O_TRUNC; break;
- case 'a': f=O_WRONLY|O_CREAT|O_APPEND; break;
- case '+': f=(f&(~O_WRONLY))|O_RDWR; break;
- }
- ++mode;
- }
-}
-
-FILE* __stdio_init_file(int fd) {
- FILE *tmp=(FILE*)malloc(sizeof(FILE));
- if (!tmp) {
- close(fd);
- errno=ENOMEM;
- return 0;
- }
- tmp->fd=fd;
-#ifdef WANT_BUFFERED_STDIO
- tmp->bm=0;
- tmp->bs=0;
-#endif
- tmp->flags=0;
-#ifdef WANT_BUFFERED_STDIO
- if (__stdio_atexit==0) {
- __stdio_atexit=1;
- atexit(__stdio_flushall);
- }
- tmp->next=__stdio_root;
- __stdio_root=tmp;
-#endif
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fdopen.c b/mdk-stage1/dietlibc/libstdio/fdopen.c
deleted file mode 100644
index aee14fb0c..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdopen.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-#define SEEK_END 2
-
-int __stdio_parse_mode(const char *mode);
-FILE* __stdio_init_file(int fd);
-
-FILE *fdopen (int filedes, const char *mode) {
- int f=0; /* O_RDONLY, O_WRONLY or O_RDWR */
- int fd;
-
- f=__stdio_parse_mode(mode);
- if ((fd=filedes)<0) return 0;
- {
- FILE * ret = __stdio_init_file(fd);
- ret->flags |= UNSEEKABLE;
- return ret;
- }
-}
diff --git a/mdk-stage1/dietlibc/libstdio/feof.c b/mdk-stage1/dietlibc/libstdio/feof.c
deleted file mode 100644
index b7e86fe3b..000000000
--- a/mdk-stage1/dietlibc/libstdio/feof.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <dietstdio.h>
-
-int feof(FILE *stream) {
-#ifdef WANT_UNGETC
- /* yuck!!! */
- if (stream->ungotten) return 0;
-#endif
- return (stream->flags&EOFINDICATOR);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ferror.c b/mdk-stage1/dietlibc/libstdio/ferror.c
deleted file mode 100644
index e86873be0..000000000
--- a/mdk-stage1/dietlibc/libstdio/ferror.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <dietstdio.h>
-
-int ferror(FILE *stream) {
- return (stream->flags&ERRORINDICATOR);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fflush.c b/mdk-stage1/dietlibc/libstdio/fflush.c
deleted file mode 100644
index 7078e04f4..000000000
--- a/mdk-stage1/dietlibc/libstdio/fflush.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-
-FILE *__stdio_root;
-
-#ifdef WANT_BUFFERED_STDIO
-int __stdio_atexit=0;
-
-void __stdio_flushall() {
- fflush(0);
-}
-
-extern int __fflush_stdin();
-extern int __fflush_stdout();
-extern int __fflush_stderr();
-
-int fflush(FILE *stream) {
- if (stream==0) {
- int res;
- FILE *f;
- __fflush_stdin();
- __fflush_stdout();
- __fflush_stderr();
- for (res=0, f=__stdio_root; f; f=f->next)
- if (fflush(f))
- res=-1;
- return res;
- }
- if (stream->flags&BUFINPUT) {
- register int tmp;
- if ((tmp=stream->bm-stream->bs)) lseek(stream->fd,tmp,SEEK_CUR);
- } else
- if (stream->bm && write(stream->fd,stream->buf,stream->bm)!=stream->bm) {
- stream->flags|=ERRORINDICATOR;
- return -1;
- }
- stream->bm=0;
- return 0;
-}
-
-int __fflush4(FILE *stream,int next) {
- if (!__stdio_atexit) {
- __stdio_atexit=1;
- atexit(__stdio_flushall);
- }
- if ((stream->flags&BUFINPUT)!=next) {
- int res=fflush(stream);
- stream->flags=(stream->flags&~BUFINPUT)|next;
- return res;
- }
- return 0;
-}
-
-#else
-int fflush(FILE *stream) {
- return 0;
-}
-#endif
-
-link_warning("fflush","warning: your code uses stdio (several kilobytes of bloat).")
diff --git a/mdk-stage1/dietlibc/libstdio/fgetc.c b/mdk-stage1/dietlibc/libstdio/fgetc.c
deleted file mode 100644
index 90d83961a..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgetc.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-
-extern int feof(FILE *stream);
-
-int fgetc(FILE *stream) {
- unsigned char c;
-#ifdef WANT_UNGETC
- if (stream->ungotten) {
- stream->ungotten=0;
- return stream->ungetbuf;
- }
-#endif
- if (feof(stream))
- return EOF;
-#ifdef WANT_BUFFERED_STDIO
- if (__fflush4(stream,BUFINPUT)) return EOF;
- if (stream->bm>=stream->bs) {
- int len=read(stream->fd,stream->buf,BUFSIZE);
- if (len==0) {
- stream->flags|=EOFINDICATOR;
- return EOF;
- } else if (len<0) {
- stream->flags|=ERRORINDICATOR;
- return EOF;
- }
- stream->bm=0;
- stream->bs=len;
- }
- c=stream->buf[stream->bm];
- ++stream->bm;
- return c;
-#else
- if (read(stream->fd,&c,1)!=1) {
- stream->flags|=ERRORINDICATOR;
- return EOF;
- }
- return c;
-#endif
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fgets.c b/mdk-stage1/dietlibc/libstdio/fgets.c
deleted file mode 100644
index c613d452d..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgets.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "dietstdio.h"
-
-extern int ferror(FILE *stream);
-
-char *fgets(char *s, int size, FILE *stream) {
- char *orig=s;
- int l;
- for (l=size; l>0;) {
- int c=fgetc(stream);
- if (c==EOF) break;
- *s=c;
- ++s;
- --l;
- if (c=='\n') break;
- }
- if (l==size || ferror(stream))
- return 0;
- *s=0;
- return orig;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fileno.c b/mdk-stage1/dietlibc/libstdio/fileno.c
deleted file mode 100644
index f021d3881..000000000
--- a/mdk-stage1/dietlibc/libstdio/fileno.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <dietstdio.h>
-
-int fileno(FILE *stream) {
- return stream->fd;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fopen.c b/mdk-stage1/dietlibc/libstdio/fopen.c
deleted file mode 100644
index aac17be42..000000000
--- a/mdk-stage1/dietlibc/libstdio/fopen.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-#define SEEK_END 2
-
-extern int __stdio_atexit;
-extern void __stdio_flushall();
-
-extern int __stdio_parse_mode(const char *mode);
-extern FILE* __stdio_init_file(int fd);
-
-FILE *fopen (const char *path, const char *mode) {
- int f=0; /* O_RDONLY, O_WRONLY or O_RDWR */
- int fd;
-
- f=__stdio_parse_mode(mode);
- if ((fd=open(path,f,0666))<0)
- return 0;
- return __stdio_init_file(fd);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fprintf.c b/mdk-stage1/dietlibc/libstdio/fprintf.c
deleted file mode 100644
index 237fd1e51..000000000
--- a/mdk-stage1/dietlibc/libstdio/fprintf.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int fprintf(FILE *f,const char *format,...) {
- int n;
- char *printf_buf;
-/* char printf_buf[1024]; */
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(0,1000000,format,arg_ptr);
-/* write(1,printf_buf,strlen(printf_buf)); */
- va_end (arg_ptr);
- va_start (arg_ptr, format);
- printf_buf=alloca(n+2);
- n=vsnprintf(printf_buf,n+1,format,arg_ptr);
- va_end (arg_ptr);
- fwrite(printf_buf,n,1,f);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fputc.c b/mdk-stage1/dietlibc/libstdio/fputc.c
deleted file mode 100644
index b816f7c4d..000000000
--- a/mdk-stage1/dietlibc/libstdio/fputc.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <dietstdio.h>
-#ifndef WANT_BUFFERED_STDIO
-#include <unistd.h>
-#endif
-
-int fputc(int c, FILE *stream) {
-#ifdef WANT_BUFFERED_STDIO
- if (__fflush4(stream,0)) return EOF;
- if (stream->bm>=BUFSIZE-1)
- if (fflush(stream)) return EOF;
- stream->buf[stream->bm]=c;
- ++stream->bm;
- if ((stream->flags&BUFLINEWISE) && c=='\n') /* puke */
- if (fflush(stream)) return EOF;
-#else
- write(stream->fd,&c,1);
-#endif
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fputs.c b/mdk-stage1/dietlibc/libstdio/fputs.c
deleted file mode 100644
index 51ee9a96e..000000000
--- a/mdk-stage1/dietlibc/libstdio/fputs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "dietstdio.h"
-#include <string.h>
-
-int fputs(const char *s, FILE *stream) {
- return fwrite(s,strlen(s),1,stream);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fread.c b/mdk-stage1/dietlibc/libstdio/fread.c
deleted file mode 100644
index 29afa1489..000000000
--- a/mdk-stage1/dietlibc/libstdio/fread.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-size_t fread( void *ptr, size_t size, size_t nmemb, FILE *stream) {
- int res;
-#ifdef WANT_BUFFERED_STDIO
- unsigned long i,j;
- j=size*nmemb;
-#ifdef WANT_UNGETC
- if (stream->ungotten) {
- *(char*)ptr=stream->ungetbuf;
- ptr=((char*)ptr)+1;
- --j;
- }
- if (!j) return 1;
-#endif
- for (i=0; i<j; ++i) {
- res=fgetc(stream);
- if (res==EOF)
- return i/size;
- else
- ((unsigned char*)ptr)[i]=(unsigned char)res;
- }
- return nmemb;
-#else
-#ifdef WANT_UNGETC
- unsigned long j=size*nmemb;
-#endif
- fflush(stream);
-#ifdef WANT_UNGETC
- if (stream->ungotten) {
- *(char*)ptr=stream->ungetbuf;
- ptr=((char*)ptr)+1;
- --j;
- }
- if (!j) return 1;
- res=read(stream->fd,ptr,j);
-#else
- res=read(stream->fd,ptr,size*nmemb);
-#endif
- if (res<0) {
- stream->flags|=ERRORINDICATOR;
- return 0;
- } else if (res<size*nmemb)
- if (!(stream->flags & UNSEEKABLE)
- || ((stream->flags & UNSEEKABLE) && res == 0))
- stream->flags|=EOFINDICATOR;
- return res/size;
-#endif
-}
diff --git a/mdk-stage1/dietlibc/libstdio/freopen.c b/mdk-stage1/dietlibc/libstdio/freopen.c
deleted file mode 100644
index 8d4644a10..000000000
--- a/mdk-stage1/dietlibc/libstdio/freopen.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-FILE *freopen (const char *path, const char *mode, FILE *stream) {
- fclose(stream);
- stream=fopen(path,mode);
- return stream;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fseek.c b/mdk-stage1/dietlibc/libstdio/fseek.c
deleted file mode 100644
index 5bb96bc6e..000000000
--- a/mdk-stage1/dietlibc/libstdio/fseek.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-long fseek(FILE *stream, long offset, int whence) {
- fflush(stream);
-#ifdef WANT_BUFFERED_STDIO
- stream->bm=0; stream->bs=0;
-#endif
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- return (lseek(stream->fd,offset,whence));
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ftell.c b/mdk-stage1/dietlibc/libstdio/ftell.c
deleted file mode 100644
index 42d2c9f26..000000000
--- a/mdk-stage1/dietlibc/libstdio/ftell.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-long ftell(FILE *stream) {
- fflush(stream);
- return (lseek(stream->fd,0,SEEK_CUR));
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fwrite.c b/mdk-stage1/dietlibc/libstdio/fwrite.c
deleted file mode 100644
index 5691661a5..000000000
--- a/mdk-stage1/dietlibc/libstdio/fwrite.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-size_t fwrite( const void *ptr, size_t size, size_t nmemb, FILE *stream) {
- int res;
-#ifdef WANT_BUFFERED_STDIO
- long len=size*nmemb;
- long i;
- if (len>BUFSIZE || (stream->flags&NOBUF)) {
- if (!(stream->flags&NOBUF)) fflush(stream);
- res=write(stream->fd,ptr,size*nmemb);
- } else {
- register const unsigned char *c=ptr;
- for (i=size*nmemb; i>0; --i,++c)
- if (fputc(*c,stream)) {
- res=-1;
- break;
- }
- res=size*nmemb;
- }
-#else
- res=write(stream->fd,ptr,size*nmemb);
-#endif
- if (res<0) {
- stream->flags|=ERRORINDICATOR;
- return 0;
- }
- return size?res/size:0;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/printf.c b/mdk-stage1/dietlibc/libstdio/printf.c
deleted file mode 100644
index 571420dc3..000000000
--- a/mdk-stage1/dietlibc/libstdio/printf.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int printf(const char *format,...)
-{
- int n;
- char *printf_buf;
-/* char printf_buf[1024]; */
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(0,1000000,format,arg_ptr);
-/* write(1,printf_buf,strlen(printf_buf)); */
- va_end (arg_ptr);
- va_start (arg_ptr, format);
- printf_buf=alloca(n+2);
- n=vsnprintf(printf_buf,n+1,format,arg_ptr);
-#ifdef WANT_BUFFERED_STDIO
- fwrite(printf_buf,n,1,stdout);
-#else
- write(1,printf_buf,n);
-#endif
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/putchar.c b/mdk-stage1/dietlibc/libstdio/putchar.c
deleted file mode 100644
index 7e5285a48..000000000
--- a/mdk-stage1/dietlibc/libstdio/putchar.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-#undef putchar
-int putchar(int c) {
- return fputc(c,stdout);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/setvbuf.c b/mdk-stage1/dietlibc/libstdio/setvbuf.c
deleted file mode 100644
index d0b1b7640..000000000
--- a/mdk-stage1/dietlibc/libstdio/setvbuf.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-#include "dietwarning.h"
-
-int setvbuf(FILE *stream, char *buf, int flags , size_t size) {
-#ifdef WANT_BUFFERED_STDIO
- switch (flags) {
- case _IONBF: stream->flags = (stream->flags & ~(BUFLINEWISE)) | NOBUF; break;
- case _IOLBF: stream->flags = (stream->flags & ~(BUFLINEWISE|NOBUF)) | BUFLINEWISE; break;
- case _IOFBF: stream->flags = stream->flags & ~(NOBUF | BUFLINEWISE); break;
- default: return -1;
- }
-#endif
- return 0;
-}
-
-link_warning("setvbuf","setvbuf does not implement changing the buffer in diet libc.")
diff --git a/mdk-stage1/dietlibc/libstdio/stderr.c b/mdk-stage1/dietlibc/libstdio/stderr.c
deleted file mode 100644
index a82b1b727..000000000
--- a/mdk-stage1/dietlibc/libstdio/stderr.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <dietstdio.h>
-
-#ifdef WANT_BUFFERED_STDIO
-static FILE __stderr = { 2, NOBUF, 0, 0 };
-
-int __fflush_stderr() {
- return fflush(stderr);
-}
-#else
-static FILE __stderr = { 2, 0 };
-#endif
-
-FILE *stderr=&__stderr;
diff --git a/mdk-stage1/dietlibc/libstdio/stdin.c b/mdk-stage1/dietlibc/libstdio/stdin.c
deleted file mode 100644
index 2db82f9ab..000000000
--- a/mdk-stage1/dietlibc/libstdio/stdin.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <dietstdio.h>
-
-#ifdef WANT_BUFFERED_STDIO
-static FILE __stdin = { 0, BUFINPUT, 0, 0 };
-
-int __fflush_stdin() {
- return fflush(stdin);
-}
-#else
-static FILE __stdin = { 0, 0 };
-#endif
-
-FILE *stdin=&__stdin;
diff --git a/mdk-stage1/dietlibc/libstdio/stdout.c b/mdk-stage1/dietlibc/libstdio/stdout.c
deleted file mode 100644
index 481fb1014..000000000
--- a/mdk-stage1/dietlibc/libstdio/stdout.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <dietstdio.h>
-
-#ifdef WANT_BUFFERED_STDIO
-static FILE __stdout = { 1, BUFLINEWISE, 0, 0 };
-
-int __fflush_stdout() {
- return fflush(stdout);
-}
-#else
-static FILE __stdout = { 1, 0 };
-#endif
-
-FILE *stdout=&__stdout;
-
diff --git a/mdk-stage1/dietlibc/libstdio/ungetc.c b/mdk-stage1/dietlibc/libstdio/ungetc.c
deleted file mode 100644
index ae03e9381..000000000
--- a/mdk-stage1/dietlibc/libstdio/ungetc.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "dietstdio.h"
-
-#ifdef WANT_UNGETC
-int ungetc(int c, FILE *stream) {
- if (stream->ungotten)
- return EOF;
- stream->ungotten=1;
- stream->ungetbuf=(char)(unsigned char)c;
- return c;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libugly/asctime.c b/mdk-stage1/dietlibc/libugly/asctime.c
deleted file mode 100644
index e1fcc8706..000000000
--- a/mdk-stage1/dietlibc/libugly/asctime.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <time.h>
-
-static char buf[25];
-
-char *asctime(const struct tm *timeptr) {
- return asctime_r(timeptr,buf);
-}
diff --git a/mdk-stage1/dietlibc/libugly/asctime_r.c b/mdk-stage1/dietlibc/libugly/asctime_r.c
deleted file mode 100644
index 46325927c..000000000
--- a/mdk-stage1/dietlibc/libugly/asctime_r.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <time.h>
-
-static const char days[] = "Sun Mon Tue Wed Thu Fri Sat ";
-static const char months[] = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ";
-
-static void num2str(char *c,int i) {
- c[0]=i/10+'0';
- c[1]=i%10+'0';
-}
-
-char *asctime_r(const struct tm *t, char *buf) {
- /* "Wed Jun 30 21:49:08 1993\n" */
- *(int*)buf=*(int*)(days+(t->tm_wday<<2));
- *(int*)(buf+4)=*(int*)(months+(t->tm_mon<<2));
- num2str(buf+8,t->tm_mday);
- if (buf[8]=='0') buf[8]=' ';
- buf[10]=' ';
- num2str(buf+11,t->tm_hour);
- if (buf[11]=='0') buf[11]=' ';
- buf[13]=':';
- num2str(buf+14,t->tm_min);
- buf[16]=':';
- num2str(buf+17,t->tm_sec);
- buf[19]=' ';
- num2str(buf+20,(t->tm_year+1900)/100);
- num2str(buf+22,(t->tm_year+1900)%100);
- buf[24]='\n';
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/libugly/asprintf.c b/mdk-stage1/dietlibc/libugly/asprintf.c
deleted file mode 100644
index d10c20b4a..000000000
--- a/mdk-stage1/dietlibc/libugly/asprintf.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-
-extern int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int asprintf(char **s, const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(0,1000000,format,arg_ptr);
- va_end (arg_ptr);
- va_start (arg_ptr, format);
- if ((*s=malloc(n+2))) {
- n=vsnprintf(*s,n+1,format,arg_ptr);
- va_end(arg_ptr);
- return n;
- }
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/ctime.c b/mdk-stage1/dietlibc/libugly/ctime.c
deleted file mode 100644
index a0e12d673..000000000
--- a/mdk-stage1/dietlibc/libugly/ctime.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <time.h>
-
-char *ctime(const time_t *timep) {
- return asctime(localtime(timep));
-}
diff --git a/mdk-stage1/dietlibc/libugly/daemon.c b/mdk-stage1/dietlibc/libugly/daemon.c
deleted file mode 100644
index 6748cc3c9..000000000
--- a/mdk-stage1/dietlibc/libugly/daemon.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <paths.h>
-
-#include "daemon.h"
-
-int daemon (int nochdir,int noclose)
-{
- int fd;
- switch (fork ())
- {
- case -1:
- return (-1);
- case 0:
- break;
- default:
- _exit (0);
- }
- if (setsid () == -1)
- return (-1);
- if (!nochdir) chdir ("/");
- if (!noclose)
- {
- fd = open (_PATH_DEVNULL,O_RDWR,0);
- if (fd == -1) return (-1);
- dup2 (fd,STDIN_FILENO);
- dup2 (fd,STDOUT_FILENO);
- dup2 (fd,STDERR_FILENO);
- close (fd);
- }
- return (0);
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/endmntent.c b/mdk-stage1/dietlibc/libugly/endmntent.c
deleted file mode 100644
index 00ade38e5..000000000
--- a/mdk-stage1/dietlibc/libugly/endmntent.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-#include <mntent.h>
-
-int endmntent(FILE *filep) {
- return fclose(filep);
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/facilitynames.c b/mdk-stage1/dietlibc/libugly/facilitynames.c
deleted file mode 100644
index 8b0e1f21f..000000000
--- a/mdk-stage1/dietlibc/libugly/facilitynames.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <sys/syslog.h>
-
-#ifndef INTERNAL_MARK
-#define INTERNAL_MARK 0x300
-#endif
-
-CODE facilitynames[] =
- {
- { "auth", LOG_AUTH },
- { "authpriv", LOG_AUTHPRIV },
- { "cron", LOG_CRON },
- { "daemon", LOG_DAEMON },
- { "ftp", LOG_FTP },
- { "kern", LOG_KERN },
- { "lpr", LOG_LPR },
- { "mail", LOG_MAIL },
- { "mark", INTERNAL_MARK }, /* INTERNAL */
- { "news", LOG_NEWS },
- { "security", LOG_AUTH }, /* DEPRECATED */
- { "syslog", LOG_SYSLOG },
- { "user", LOG_USER },
- { "uucp", LOG_UUCP },
- { "local0", LOG_LOCAL0 },
- { "local1", LOG_LOCAL1 },
- { "local2", LOG_LOCAL2 },
- { "local3", LOG_LOCAL3 },
- { "local4", LOG_LOCAL4 },
- { "local5", LOG_LOCAL5 },
- { "local6", LOG_LOCAL6 },
- { "local7", LOG_LOCAL7 },
- { 0, -1 }
- };
diff --git a/mdk-stage1/dietlibc/libugly/getmntent.c b/mdk-stage1/dietlibc/libugly/getmntent.c
deleted file mode 100644
index 250a77b7f..000000000
--- a/mdk-stage1/dietlibc/libugly/getmntent.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <mntent.h>
-#include <string.h>
-
-struct mntent *getmntent(FILE *filep) {
- static struct mntent m;
- char buf[1024];
- do {
- char *tmp=buf;
- int num;
- fgets(buf,1024,filep);
-/* "/dev/ide/host0/bus0/target0/lun0/part2 / reiserfs defaults 1 1" */
- for (num=0; num<6; ++num) {
- switch (num) {
- case 0: m.mnt_fsname=tmp; break;
- case 1: m.mnt_dir=tmp; break;
- case 2: m.mnt_type=tmp; break;
- case 3: m.mnt_opts=tmp; break;
- case 4: m.mnt_freq=strtol(tmp,&tmp,0); if (*tmp!=' ') continue; break;
- case 5: m.mnt_passno=strtol(tmp,&tmp,0); if (*tmp=='\n') return &m; break;
- }
- if ((tmp=strchr(tmp,' '))) {
- if (num<4) *tmp++=0;
- while (*tmp==' ') ++tmp;
- } else
- continue;
- }
- } while (1);
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotoent.c b/mdk-stage1/dietlibc/libugly/getprotoent.c
deleted file mode 100644
index a648e2307..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotoent.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <ctype.h>
-
-static int protofd=-1;
-static char* protomap;
-static unsigned int protolen;
-
-static char* aliases[10];
-
-static char *cur;
-
-/* ip 0 IP # internet protocol, pseudo protocol number */
-struct protoent *getprotoent(void) {
- static struct protoent pe;
- char *last;
- int aliasidx;
- if (protofd<0) {
- protofd=open(_PATH_SERVICES,O_RDONLY);
- if (protofd<0) return 0;
- protolen=lseek(protofd,0,SEEK_END);
- protomap=mmap(0,protolen,PROT_READ|PROT_WRITE,MAP_PRIVATE,protofd,0);
- if ((long)protomap==(-1)) goto error;
- cur=protomap;
- }
- last=protomap+protolen;
-again:
- pe.p_name=0;
- pe.p_aliases=aliases; aliases[0]=0;
- pe.p_proto=0;
- if (cur>=last) return 0;
- if (*cur=='#' || *cur=='\n') goto parseerror;
- /* first, the primary name */
- if (!isalpha(*cur)) goto parseerror;
- pe.p_name=cur;
- pe.p_aliases=aliases;
- while (cur<last && isalnum(*cur)) cur++;
- if (cur>=last) return 0;
- if (*cur=='\n') goto parseerror;
- *cur=0; cur++;
- /* second, the protocol number */
- while (cur<last && isblank(*cur)) cur++;
- while (cur<last && isdigit(*cur)) {
- pe.p_proto=pe.p_proto*10+*cur-'0';
- cur++;
- }
-/* pe.p_proto=htons(pe.s_proto); */
- if (cur>=last) return 0;
- if (*cur=='\n') { *cur++=0; return &pe; }
- *cur=0; cur++;
- /* now the aliases */
- for (aliasidx=0;aliasidx<10;++aliasidx) {
- while (cur<last && isblank(*cur)) ++cur;
- aliases[aliasidx]=cur;
- while (cur<last && isalpha(*cur)) ++cur;
- if (*cur=='\n') { *cur++=0; ++aliasidx; break; }
- if (cur>=last || !isblank(*cur)) break;
- *cur++=0;
- }
- aliases[aliasidx]=0;
- return &pe;
-parseerror:
- while (cur<last && *cur!='\n') cur++;
- cur++;
- goto again;
-error:
- if (protomap!=(char*)-1) munmap(protomap,protolen);
- if (protofd!=-1) close(protofd);
- protomap=(char*)-1;
- protofd=-1;
- errno=ENOMEM;
- return 0;
-}
-
-void setprotoent(int stayopen) {
- cur=protomap;
-}
-
-struct protoent *getprotobyname(const char *name) {
- struct protoent *s;
- setprotoent(0);
- for (s=getprotoent(); s; s=getprotoent()) {
- char **tmp;
-#if 0
- write(1,"found ",6);
- write(1,s->p_name,strlen(s->p_name));
- write(1,"/",1);
- write(1,s->p_proto,strlen(s->p_proto));
- write(1,"\n",1);
- if (!strcmp(name,"auth")) {
- tmp=s->p_aliases;
- write(1," aka ",5);
- while (*tmp) {
- write(1,*tmp,strlen(*tmp));
- write(1,", ",2);
- ++tmp;
- }
- write(1,"\n",1);
- }
-#endif
- if (!strcmp(name,s->p_name))
- return s;
- tmp=s->p_aliases;
- while (*tmp)
- if (!strcmp(name,*tmp++)) return s;
- }
- return 0;
-}
-
-struct protoent *getprotobynumber(int proto) {
- struct protoent *s;
- for (s=getprotoent(); s; s=getprotoent()) {
- if (proto==s->p_proto)
- return s;
- }
- return 0;
-}
-
-void endprotoent(void) {
- if (protomap!=(char*)-1) munmap(protomap,protolen);
- if (protofd!=-1) close(protofd);
- protomap=(char*)-1;
- protofd=-1;
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/gmtime.c b/mdk-stage1/dietlibc/libugly/gmtime.c
deleted file mode 100644
index d33af7972..000000000
--- a/mdk-stage1/dietlibc/libugly/gmtime.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <time.h>
-
-struct tm* gmtime(const time_t *t) {
- static struct tm tmp;
- return gmtime_r(t,&tmp);
-}
diff --git a/mdk-stage1/dietlibc/libugly/gmtime_r.c b/mdk-stage1/dietlibc/libugly/gmtime_r.c
deleted file mode 100644
index c102d10fa..000000000
--- a/mdk-stage1/dietlibc/libugly/gmtime_r.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <time.h>
-
-/* seconds per day */
-#define SPD 24*60*60
-
-extern unsigned int __spm[];
-
-struct tm *gmtime_r(const time_t *timep, struct tm *r) {
- time_t i;
- register time_t work=*timep%(SPD);
- r->tm_sec=work%60; work/=60;
- r->tm_min=work%60; r->tm_hour=work/60;
- work=*timep/(SPD);
- r->tm_wday=(4+work)%7;
- for (i=1970; ; ++i) {
- register time_t k=__isleap(i)?366:365;
- if (work>k)
- work-=k;
- else
- break;
- }
- r->tm_year=i-1900;
- r->tm_yday=work;
-
- r->tm_mday=1;
- if (__isleap(i) && (work>58)) {
- if (work==59) r->tm_mday=2; /* 29.2. */
- work-=1;
- }
-
- for (i=11; i && __spm[i]>work; --i) ;
- r->tm_mon=i;
- r->tm_mday+=work-__spm[i];
- return r;
-}
diff --git a/mdk-stage1/dietlibc/libugly/isleap.c b/mdk-stage1/dietlibc/libugly/isleap.c
deleted file mode 100644
index dcfa1ced6..000000000
--- a/mdk-stage1/dietlibc/libugly/isleap.c
+++ /dev/null
@@ -1,6 +0,0 @@
-int __isleap(int year) {
- /* every fourth year is a leap year except for century years that are
- * not divisible by 400. */
-/* return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); */
- return (!(year%4) && ((year%100) || !(year%400)));
-}
diff --git a/mdk-stage1/dietlibc/libugly/localtime.c b/mdk-stage1/dietlibc/libugly/localtime.c
deleted file mode 100644
index 6fa6acf8a..000000000
--- a/mdk-stage1/dietlibc/libugly/localtime.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <time.h>
-
-struct tm* localtime(const time_t* t) {
- static struct tm tmp;
- return localtime_r(t,&tmp);
-}
diff --git a/mdk-stage1/dietlibc/libugly/localtime_r.c b/mdk-stage1/dietlibc/libugly/localtime_r.c
deleted file mode 100644
index d4bc073ce..000000000
--- a/mdk-stage1/dietlibc/libugly/localtime_r.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "dietfeatures.h"
-#include <time.h>
-#include <sys/time.h>
-
-#ifdef WANT_TZFILE_PARSER
-extern void __maplocaltime();
-extern time_t __tzfile_map(time_t t, int *isdst);
-#endif
-
-struct tm* localtime_r(const time_t* t, struct tm* r) {
- time_t tmp;
-#ifdef WANT_TZFILE_PARSER
- __maplocaltime();
- tmp=__tzfile_map(*t,&r->tm_isdst);
-#else
- struct timezone tz;
- gettimeofday(0, &tz);
- tmp=*t-tz.tz_minuteswest*60L;
-#endif
- return gmtime_r(&tmp,r);
-}
diff --git a/mdk-stage1/dietlibc/libugly/logging.c b/mdk-stage1/dietlibc/libugly/logging.c
deleted file mode 100644
index 69c2c2337..000000000
--- a/mdk-stage1/dietlibc/libugly/logging.c
+++ /dev/null
@@ -1,211 +0,0 @@
-#include "dietfeatures.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <unistd.h>
-#include <asm/socket.h>
-#include <fcntl.h>
-#include <syslog.h>
-#include <string.h>
-#include <time.h>
-#include <sys/socket.h>
-#include <signal.h>
-
-#define _PATH_CONSOLE "/dev/console"
-#define BUF_SIZE 512 /* messagebuffer size (>= 200) */
-
-#define MAX_LOGTAG 80
-
-/* those have to be global *sigh* */
-static volatile int connected = 0; /* have done connect */
-static volatile int LogMask = 0xff; /* mask of priorities to be logged */
-static char LogTag[MAX_LOGTAG]; /* string to tag the entry with */
-static int LogFile = -1; /* fd for log */
-static int LogType = SOCK_DGRAM; /* type of socket connection */
-static int LogFacility = LOG_USER; /* default facility code */
-static int LogStat; /* status bits, set by openlog() */
-extern char *__progname; /* Program name, from crt0. */
-static struct sockaddr SyslogAddr; /* AF_UNIX address of local logger */
-
-static void closelog_intern(void)
-{
- if (!connected) return;
- close(LogFile);
- LogFile = -1;
- connected = 0;
-}
-
-void closelog(void)
-{
- closelog_intern();
-
- LogTag[0]=0;
- LogType = SOCK_DGRAM;
-}
-
-static void openlog_intern(int option, int facility)
-{
- LogStat = option;
- if (facility && ((facility & ~LOG_FACMASK) == 0))
- LogFacility = facility;
-
- /* yep, there is a continue inside ;) */
- while(1) {
- if (LogFile == -1) {
- SyslogAddr.sa_family = AF_UNIX;
- strncpy(SyslogAddr.sa_data, _PATH_LOG, sizeof(SyslogAddr.sa_data));
- if (LogStat & LOG_NDELAY)
- {
- if ((LogFile = socket(AF_UNIX, LogType, 0)) == -1) return;
- fcntl(LogFile, F_SETFD, 1);
- }
- }
- if ((LogFile != -1) && !connected) {
-#ifdef WANT_THREAD_SAFE
- int old_errno = (*(__errno_location()));
-#else
- int old_errno=errno;
-#endif
- if(connect(LogFile, &SyslogAddr, sizeof(SyslogAddr)) == -1) {
-#ifdef WANT_THREAD_SAFE
- int saved_errno = (*(__errno_location()));
-#else
- int saved_errno=errno;
-#endif
- close(LogFile);
- LogFile = -1;
- if((LogType == SOCK_DGRAM) && (saved_errno == EPROTOTYPE)) {
- /* retry with SOCK_STREAM instead of SOCK_DGRAM */
- LogType = SOCK_STREAM;
-#ifdef WANT_THREAD_SAFE
- (*(__errno_location()))=old_errno;
-#else
- errno=old_errno;
-#endif
- continue;
- }
- }
- else connected = 1;
- }
- break;
- }
-}
-
-/* has to be secured against multiple, simultanious call's in threaded environment */
-void openlog(const char *ident, int option, int facility)
-{
- if (ident) {
- strncpy(LogTag,ident,MAX_LOGTAG);
- LogTag[MAX_LOGTAG-1]=0;
- }
- openlog_intern(option, facility);
-}
-
-int setlogmask(int mask)
-{
- int old = LogMask;
- if (mask) LogMask = mask;
- return old;
-}
-
-void vsyslog(int priority, const char *format, va_list arg_ptr)
-{
- char buffer[BUF_SIZE];
- char time_buf[20];
- int buflen, headerlen;
- time_t now;
- struct tm now_tm;
- pid_t pid;
- int fd;
- int sigpipe;
- struct sigaction action, oldaction;
- struct sigaction *oldaction_ptr = NULL;
-#ifdef WANT_THREAD_SAFE
- int saved_errno = (*(__errno_location()));
-#else
- int saved_errno = errno;
-#endif
-
- /* check for invalid priority/facility bits */
- if (priority & ~(LOG_PRIMASK|LOG_FACMASK)) {
- syslog(LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID, "syslog: unknown facility/priorityority: %x", priority);
- priority &= LOG_PRIMASK|LOG_FACMASK;
- }
-
- /* check priority against setlogmask */
- if ((LOG_MASK(LOG_PRI(priority)) && LogMask) == 0) return;
-
- /* Set default facility if none specified. */
- if ((priority & LOG_FACMASK) == 0) priority |= LogFacility;
-
- pid = getpid();
- time(&now);
- strftime(time_buf, 20, "%h %e %T", localtime_r (&now, &now_tm));
-
- if (LogStat & LOG_PID)
- headerlen = snprintf(buffer, 130, "<%d>%s %s[%d]: ", priority, time_buf, LogTag, pid);
- else
- headerlen = snprintf(buffer, 130, "<%d>%s %s: ", priority, time_buf, LogTag);
-
- if (!LogTag[0]) {
- if ((LogStat & LOG_PID) != LOG_PID)
- headerlen = snprintf(buffer, 130, "<%d>%s (unknown)[%d]: ", priority, time_buf, pid);
- strcat(buffer+headerlen, "syslog without openlog w/ ident, please check code!");
- buflen = 41;
- }
- else {
-#ifdef WANT_THREAD_SAFE
- (*(__errno_location()))=saved_errno;
-#else
- errno=saved_errno;
-#endif
- buflen = vsnprintf(buffer+headerlen, BUF_SIZE - headerlen, format, arg_ptr);
- }
- if (LogStat & LOG_PERROR) {
- write(1, buffer+headerlen, buflen);
- if (buffer[headerlen+buflen] != '\n') write(1,"\n", 1);
- }
-
- /* prepare for broken connection */
- memset(&action, 0, sizeof(action));
- action.sa_handler = SIG_IGN;
- sigemptyset(&action.sa_mask);
-
- if ((sigpipe = sigaction (SIGPIPE, &action, &oldaction))==0)
- oldaction_ptr = &oldaction;
-
- if (!connected) openlog_intern(LogStat | LOG_NDELAY, 0);
-
- /* If we have a SOCK_STREAM connection, also send ASCII NUL as a
- * record terminator. */
- if (LogType == SOCK_STREAM) buflen++;
-
- if (!connected || (send(LogFile, buffer, buflen+headerlen, 0) != buflen+headerlen)) {
- if (LogType == SOCK_STREAM) buflen--;
- closelog_intern();
- /*
- * Output the message to the console; don't worry about blocking,
- * if console blocks everything will. Make sure the error reported
- * is the one from the syslogd failure.
- */
- if ((LogStat & LOG_CONS) &&
- ((fd = open(_PATH_CONSOLE, O_WRONLY|O_NOCTTY, 0)) >= 0))
- {
- write(fd, buffer, buflen+headerlen);
- write(fd, "\r\n", 2);
- }
- }
-
- if (sigpipe == 0)
- sigaction(SIGPIPE, &oldaction, (struct sigaction *) NULL);
-}
-
-void syslog(int priority, const char *format, ...)
-{
- va_list arg_ptr;
- va_start(arg_ptr, format);
- vsyslog(priority, format, arg_ptr);
- va_end(arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libugly/mktime.c b/mdk-stage1/dietlibc/libugly/mktime.c
deleted file mode 100644
index ee4dab6c1..000000000
--- a/mdk-stage1/dietlibc/libugly/mktime.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <time.h>
-
-/* seconds per day */
-#define SPD 24*60*60
-
-extern unsigned int __spm[];
-
-time_t mktime(struct tm *t) {
- time_t x=0;
- unsigned int i;
- if (t->tm_year<70) return (time_t)(-1);
- for (i=70; i<t->tm_year; ++i) {
- x+=__isleap(i+1900)?366:365;
- }
- t->tm_yday=__spm[t->tm_mon] + t->tm_mday-1 + ((t->tm_mon>2) && __isleap(t->tm_year)?1:0);
- x+=t->tm_yday;
- /* x is now the number of days since Jan 1 1970 */
- t->tm_wday=(4+x)%7;
- x = x*SPD + t->tm_hour*60*60 + t->tm_min*60 + t->tm_sec;
- return x;
-}
diff --git a/mdk-stage1/dietlibc/libugly/pclose.c b/mdk-stage1/dietlibc/libugly/pclose.c
deleted file mode 100644
index e33076c19..000000000
--- a/mdk-stage1/dietlibc/libugly/pclose.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <sys/wait.h>
-#include "dietstdio.h"
-
-int pclose(FILE *f) {
- int status;
- fclose(f);
- if (waitpid(f->popen_kludge,&status,0)>=0)
- return status;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/popen.c b/mdk-stage1/dietlibc/libugly/popen.c
deleted file mode 100644
index e0e441495..000000000
--- a/mdk-stage1/dietlibc/libugly/popen.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-
-extern char **environ;
-
-FILE *popen(const char *command, const char *type) {
- int pfd[2];
- int fd0;
- pid_t pid;
- if (pipe(pfd)<0) return 0;
- fd0=(*type=='r');
- if ((pid=vfork())<0) {
- close(pfd[0]);
- close(pfd[1]);
- return 0;
- }
- if (!pid) { /* child */
- char *argv[]={"sh","-c",0,0};
- close(pfd[!fd0]); close(fd0);
- dup2(pfd[fd0],fd0); close(pfd[fd0]);
- argv[2]=(char*)command;
- execve("/bin/sh",argv,environ);
- _exit(255);
- }
- close(pfd[fd0]);
- {
- register FILE* f;
- if ((f=fdopen(pfd[!fd0],type)))
- f->popen_kludge=pid;
- return f;
- }
-}
diff --git a/mdk-stage1/dietlibc/libugly/prioritynames.c b/mdk-stage1/dietlibc/libugly/prioritynames.c
deleted file mode 100644
index 87a99b76d..000000000
--- a/mdk-stage1/dietlibc/libugly/prioritynames.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <sys/syslog.h>
-
-#ifndef INTERNAL_NOPRI
-#define INTERNAL_NOPRI 0x10
-#endif
-
-CODE prioritynames[] =
- {
- { "alert", LOG_ALERT },
- { "crit", LOG_CRIT },
- { "debug", LOG_DEBUG },
- { "emerg", LOG_EMERG },
- { "err", LOG_ERR },
- { "error", LOG_ERR }, /* DEPRECATED */
- { "info", LOG_INFO },
- { "none", INTERNAL_NOPRI }, /* INTERNAL */
- { "notice", LOG_NOTICE },
- { "panic", LOG_EMERG }, /* DEPRECATED */
- { "warn", LOG_WARNING }, /* DEPRECATED */
- { "warning", LOG_WARNING },
- { 0, -1 }
- };
diff --git a/mdk-stage1/dietlibc/libugly/setenv.c b/mdk-stage1/dietlibc/libugly/setenv.c
deleted file mode 100644
index bf47cdb79..000000000
--- a/mdk-stage1/dietlibc/libugly/setenv.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-
-#include <dietwarning.h>
-link_warning("setenv","setenv calls malloc. Avoid it in small programs.");
-
-int setenv(const char *name, const char *value, int overwrite) {
- char *c=malloc(strlen(name)+strlen(value)+3);
- if (getenv(name)) {
- if (!overwrite) return 0;
- unsetenv(name);
- }
- strcpy(c,name);
- strcat(c,"=");
- strcat(c,value);
- return putenv(c);
-}
diff --git a/mdk-stage1/dietlibc/libugly/setmntent.c b/mdk-stage1/dietlibc/libugly/setmntent.c
deleted file mode 100644
index a91d3902b..000000000
--- a/mdk-stage1/dietlibc/libugly/setmntent.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-#include <mntent.h>
-
-FILE *setmntent(const char *filename, const char *type) {
- return fopen(filename,type);
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/strftime.c b/mdk-stage1/dietlibc/libugly/strftime.c
deleted file mode 100644
index b7e750ab1..000000000
--- a/mdk-stage1/dietlibc/libugly/strftime.c
+++ /dev/null
@@ -1,182 +0,0 @@
-#include <sys/types.h>
-#include <time.h>
-
-static char *sweekdays[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
-static char *weekdays[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
-static char *smonths[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
-static char *months[]={"January","February","March","April","May","June","July","August","September","October","November","December"};
-static char *ampm[]={"am","pm","AM","PM"};
-
-static int i2a(char* dest,unsigned int x) {
- register unsigned int tmp=x;
- register int len=0;
- *dest++=tmp/10+'0'; tmp=tmp%10; ++len;
- *dest++=tmp+'0';
- return 2;
-}
-
-static int i2as(char* dest,unsigned int x) {
- int len=i2a(dest,x);
- if (*dest=='0') *dest=' ';
- return len;
-}
-
-size_t strftime(char *s, size_t max, const char *format, const struct tm *tm) {
- char *t=s;
- const char *src;
- char buf[5];
- while (*format) {
- switch (*format) {
- case 0: break;
- case '%':
- switch (*++format) {
- case '%': *t='%'; ++t; break;
- case 'a': src=sweekdays[tm->tm_wday]; goto append;
- case 'A': src=weekdays[tm->tm_wday]; goto append;
- case 'h':
- case 'b': src=smonths[tm->tm_mon]; goto append;
- case 'B': src=months[tm->tm_mon]; goto append;
- case 'c': t+=strftime(t,max-(t-s),"%b %a %d %k:%M:%S %Z %Y",tm); break;
- case 'C': buf[i2a(buf,(tm->tm_year+1900)/100)]=0; src=buf; goto append;
- case 'd': buf[i2a(buf,tm->tm_mday)]=0; src=buf; goto append;
- case 'e': buf[i2as(buf,tm->tm_mday)]=0; src=buf; goto append;
- case 'H': buf[i2a(buf,tm->tm_hour)]=0; src=buf; goto append;
- case 'I': buf[i2a(buf,tm->tm_hour%12)]=0; src=buf; goto append;
- case 'j': buf[i2a(buf,tm->tm_yday)]=0; src=buf; goto append;
- case 'k': buf[i2as(buf,tm->tm_hour)]=0; src=buf; goto append;
- case 'l': buf[i2as(buf,tm->tm_hour%12)]=0; src=buf; goto append;
- case 'm': buf[i2a(buf,tm->tm_mon+1)]=0; src=buf; goto append;
- case 'M': buf[i2a(buf,tm->tm_min)]=0; src=buf; goto append;
- case 'n': *t='\n'; break;
- case 'p': src=ampm[tm->tm_hour>11?3:2]; goto append;
- case 'P': src=ampm[tm->tm_hour>11?1:0]; goto append;
- case 'r': t+=strftime(t,max-(t-s),"%I:%M:%S %p",tm); break;
- case 'R': t+=strftime(t,max-(t-s),"%H:%M",tm); break;
- case 'S': buf[i2a(buf,tm->tm_sec)]=0; src=buf; goto append;
- case 't': *t='\t'; break;
- case 'T': t+=strftime(t,max-(t-s),"%H:%M:%S",tm); break;
- case 'u': buf[i2a(buf,tm->tm_wday?tm->tm_wday:7)]=0; src=buf; goto append;
- case 'w': buf[i2a(buf,tm->tm_wday)]=0; src=buf; goto append;
- case 'x': t+=strftime(t,max-(t-s),"%b %a %d",tm); break;
- case 'X': t+=strftime(t,max-(t-s),"%k:%M:%S",tm); break;
- case 'y': buf[i2a(buf,tm->tm_year%100)]=0; src=buf; goto append;
- case 'Y': i2a(buf,(tm->tm_year+1900)/100); buf[i2a(buf+2,(tm->tm_year%100))+2]=0; src=buf; goto append;
- case 'Z': src="GMT"; goto append; /* hehe */
-append:
- while (*src && t<s+max) { *t=*src; ++t; ++src; }
- };
- break;
- default:
- *t=*format; ++t;
- }
- ++format;
- if (t>=s+max) break;
- continue;
- }
- *t=0; return t-s;
-}
-
-
-
-/*
- %u The day of the week as a decimal, range 1 to 7,
- Monday being 1. See also %w. (SU)
-
- %U The week number of the current year as a decimal
- number, range 00 to 53, starting with the first
- Sunday as the first day of week 01. See also %V and
- %W.
-
- %V The ISO 8601:1988 week number of the current year
- as a decimal number, range 01 to 53, where week 1
- is the first week that has at least 4 days in the
- current year, and with Monday as the first day of
- the week. See also %U and %W. (SU)
-
- %w The day of the week as a decimal, range 0 to 6,
- Sunday being 0. See also %u.
-
- %W The week number of the current year as a decimal
- number, range 00 to 53, starting with the first
- Monday as the first day of week 01.
-
- %x The preferred date representation for the current
- locale without the time.
-
- %X The preferred time representation for the current
- locale without the date.
-
- %y The year as a decimal number without a century
- (range 00 to 99).
-
- %Y The year as a decimal number including the century.
-
- %z The time-zone as hour offset from GMT. Required to
- emit RFC822-conformant dates (using "%a, %d %b %Y
- %H:%M:%S %z"). (GNU)
-
- %Z The time zone or name or abbreviation.
-
- %+ The date and time in date(1) format. (TZ)
-
- %% A literal `%' character.
-
- Some conversion specifiers can be modified by preceding
- them by the E or O modifier to indicate that an alterna
- tive format should be used. If the alternative format or
- specification does not exist for the current locale, the
- behaviour will be as if the unmodified conversion specifi
- cation were used. (SU) The Single Unix Specification men
- tions %Ec, %EC, %Ex, %EX, %Ry, %EY, %Od, %Oe, %OH, %OI,
- %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy, where the
- effect of the O modifier is to use alternative numeric
- symbols (say, roman numerals), and that of the E modifier
-
-
-
-GNU 29 March 1999 3
-
-
-
-
-
-STRFTIME(3) Linux Programmer's Manual STRFTIME(3)
-
-
- is to use a locale-dependent alternative representation.
-
- The broken-down time structure tm is defined in <time.h>.
- See also ctime(3).
-
-
-RETURN VALUE
- The strftime() function returns the number of characters
- placed in the array s, not including the terminating NUL
- character, provided the string, including the terminating
- NUL, fits. Otherwise, it returns 0, and the contents of
- the array is undefined. (Thus at least since libc 4.4.4;
- very old versions of libc, such as libc 4.4.1, would
- return max if the array was too small.)
-
- Note that the return value 0 does not necessarily indicate
- an error; for example, in many locales %p yields an empty
- string.
-
-ENVIRONMENT
- The environment variables TZ and LC_TIME are used.
-
-CONFORMING TO
- ANSI C, SVID 3, ISO 9899. There are strict inclusions
- between the set of conversions given in ANSI C (unmarked),
- those given in the Single Unix Specification (marked SU),
- those given in Olson's timezone package (marked TZ), and
- those given in glibc (marked GNU), except that %+ is not
- supported in glibc2. On the other hand glibc2 has several
- more extensions. POSIX.1 only refers to ANSI C; POSIX.2
- describes under date(1) several extensions that could
- apply to strftime as well.
-
-SEE ALSO
- date(1), time(2), ctime(3), setlocale(3), sprintf(3)
-
-*/
diff --git a/mdk-stage1/dietlibc/libugly/strsignal.c b/mdk-stage1/dietlibc/libugly/strsignal.c
deleted file mode 100644
index 54314d2c7..000000000
--- a/mdk-stage1/dietlibc/libugly/strsignal.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include <signal.h>
-/* F....ng Kernel haeder is damn broken... */
-#ifndef _NSIG
-#define _NSIG 64
-#endif
-#include <asm/signal.h>
-
-char * strsignal(int sig) {
- if (sig==SIGHUP)
- return "Hangup";
- else if (sig==SIGINT)
- return "Interrupt";
- else if (sig==SIGQUIT)
- return "Quit";
- else if (sig==SIGILL)
- return "Illegal instruction";
- else if (sig==SIGTRAP)
- return "Trace/breakpoint trap";
- else if (sig==SIGABRT)
- return "Aborted";
- else if (sig==SIGFPE)
- return "Floating point exception";
- else if (sig==SIGKILL)
- return "Killed";
- else if (sig==SIGBUS)
- return "Bus error";
- else if (sig==SIGSEGV)
- return "Segmentation fault";
- else if (sig==SIGPIPE)
- return "Broken pipe";
- else if (sig==SIGALRM)
- return "Alarm clock";
- else if (sig==SIGTERM)
- return "Terminated";
- else if (sig==SIGURG)
- return "Urgent I/O condition";
- else if (sig==SIGSTOP)
- return "Stopped (signal)";
- else if (sig==SIGTSTP)
- return "Stopped";
- else if (sig==SIGCONT)
- return "Continue";
- else if (sig==SIGCHLD)
- return "Child exited";
- else if (sig==SIGTTIN)
- return "Stopped (tty input)";
- else if (sig==SIGTTOU)
- return "Stopped (tty output)";
- else if (sig==SIGIO)
- return "I/O possible";
- else if (sig==SIGXCPU)
- return "CPU time limit exceeded";
- else if (sig==SIGXFSZ)
- return "File size limit exceeded";
- else if (sig==SIGVTALRM)
- return "Virtual timer expired";
- else if (sig==SIGPROF)
- return "Profiling timer expired";
- else if (sig==SIGWINCH)
- return "Window changed";
- else if (sig==SIGUSR1)
- return "User defined signal 1";
- else if (sig==SIGUSR2)
- return "User defined signal 1";
-#ifdef SIGEMT
- else if (sig==SIGEMT)
- return "EMT trap";
-#endif
-#ifdef SIGSYS
- else if (sig==SIGSYS)
- return "Bad system call";
-#endif
-#ifdef SIGSTKFLT
- else if (sig==SIGSTKFLT)
- return "Stack fault";
-#endif
-#ifdef SIGINFO
- else if (sig==SIGINFO)
- return "Information request";
-#elif defined(SIGPWR) && (!defined(SIGLOST) || (SIGPWR!=SIGLOST))
- else if (sig==SIGPWR)
- return "Power falure";
-#endif
-#ifdef SIGLOST
- else if (sig==SIGLOST)
- return "Resource lost";
-#endif
- else if ((sig>=SIGRTMIN)&&(sig<=SIGRTMAX))
- return "Real time signal";
- else
- return "(unknown signal)";
-}
diff --git a/mdk-stage1/dietlibc/libugly/system.c b/mdk-stage1/dietlibc/libugly/system.c
deleted file mode 100644
index b9eea20eb..000000000
--- a/mdk-stage1/dietlibc/libugly/system.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#include <signal.h>
-#include <asm/errno.h>
-#include <errno.h>
-#include <unistd.h>
-#include "dietwarning.h"
-
-#define SHELL_PATH "/bin/sh" /* Path of the shell. */
-#define SHELL_NAME "sh" /* Name to give it. */
-
-extern char **environ;
-
-int __libc_fork();
-int __libc_waitpid(int pid, int *status, int options);
-int execve(const char*filename, char *const argv[], char *const envp[]);
-void __set_errno(int errno);
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
-
-int __libc_system (const char *line)
-{
- struct sigaction sa, intr, quit;
- int save,pid,ret=-1;
-
- if (line == 0) return __libc_system("exit 0") == 0;
-
- sa.sa_handler = SIG_IGN;
- sa.sa_flags = 0;
- sigemptyset (&sa.sa_mask);
-
- if (sigaction(SIGINT, &sa, &intr)<0) return -1;
- if (sigaction(SIGQUIT, &sa, &quit)<0) {
- save = errno;
- sigaction (SIGINT, &intr, (struct sigaction*)0);
- __set_errno (save);
- return -1;
- }
-
- pid=__libc_fork();
- if (pid>0)
- { /* parent */
- int n;
- do
- n=__libc_waitpid(pid, &ret, 0);
- while ((n==-1) && (errno==EINTR));
- if (n!=pid) ret=-1;
- }
- else if (!pid)
- { /* child */
- const char *nargs[4];
- nargs[0] = SHELL_NAME;
- nargs[1] = "-c";
- nargs[2] = line;
- nargs[3] = 0;
-
- sigaction(SIGINT, &intr, (struct sigaction*)0);
- sigaction(SIGQUIT, &quit, (struct sigaction*)0);
-
- execve(SHELL_PATH,(char *const *)nargs, environ);
- _exit(127);
- }
- save = errno;
- sigaction (SIGINT, &intr, (struct sigaction *)0);
- sigaction (SIGQUIT, &quit, (struct sigaction *)0);
- __set_errno(save);
- return ret;
-}
-
-int system (const char *line) __attribute__((weak,alias("__libc_system")));
-
-link_warning("system","warning: system() is a security risk. Use fork and execvp instead!")
diff --git a/mdk-stage1/dietlibc/libugly/time_table_spd.c b/mdk-stage1/dietlibc/libugly/time_table_spd.c
deleted file mode 100644
index bfe1cf86d..000000000
--- a/mdk-stage1/dietlibc/libugly/time_table_spd.c
+++ /dev/null
@@ -1,17 +0,0 @@
-
-/* seconds per month -- nonleap! */
-const unsigned int __spm[12] =
- { 0,
- (31),
- (31+28),
- (31+28+31),
- (31+28+31+30),
- (31+28+31+30+31),
- (31+28+31+30+31+30),
- (31+28+31+30+31+30+31),
- (31+28+31+30+31+30+31+31),
- (31+28+31+30+31+30+31+31+30),
- (31+28+31+30+31+30+31+31+30+31),
- (31+28+31+30+31+30+31+31+30+31+30),
- };
-
diff --git a/mdk-stage1/dietlibc/libugly/tzfile.c b/mdk-stage1/dietlibc/libugly/tzfile.c
deleted file mode 100644
index 5702d4bea..000000000
--- a/mdk-stage1/dietlibc/libugly/tzfile.c
+++ /dev/null
@@ -1,86 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <netinet/in.h>
-
-#include <stdio.h>
-
-#ifdef WANT_TZFILE_PARSER
-static char *tzfile=0;
-static int tzlen=-1;
-
-void __maplocaltime() {
- int fd;
- unsigned int len;
- if (tzlen>=0) return;
- tzlen=0;
- if ((fd=open("/etc/localtime",O_RDONLY))<0) return;
- len=lseek(fd,0,SEEK_END);
- if ((tzfile=mmap(0,len,PROT_READ,MAP_SHARED,fd,0))==MAP_FAILED) return;
- close(fd);
- if (ntohl(*(int*)tzfile) != 0x545a6966) return;
- tzlen=len;
-}
-
-char *tzset(void) __attribute__((weak,alias("__maplocaltime")));
-
-static unsigned long __myntohl(const unsigned char* c) {
- return (((unsigned long)c[0])<<24) +
- (((unsigned long)c[1])<<16) +
- (((unsigned long)c[2])<<8) +
- ((unsigned long)c[3]);
-}
-
-time_t __tzfile_map(time_t t, int *isdst) {
- /* "TZif" plus 16 reserved bytes. */
- char *tmp;
- int i;
- int tzh_ttisgmtcnt, tzh_ttisstdcnt, tzh_leapcnt, tzh_timecnt, tzh_typecnt, tzh_charcnt;
- *isdst=0;
- if (!tzfile) return t;
- tzh_ttisgmtcnt=ntohl(*(int*)(tzfile+20));
- tzh_ttisstdcnt=ntohl(*(int*)(tzfile+24));
- tzh_leapcnt=ntohl(*(int*)(tzfile+28));
- tzh_timecnt=ntohl(*(int*)(tzfile+32));
- tzh_typecnt=ntohl(*(int*)(tzfile+36));
- tzh_charcnt=ntohl(*(int*)(tzfile+40));
-
-#if 0
- tmp=tzfile+20+6*4;
- printf("ttisgmtcnt %d ttisstdcnt %d leapcnt %d timecnt %d typecnt %d charcnt %d\n",tzh_ttisgmtcnt,tzh_ttisstdcnt, tzh_leapcnt, tzh_timecnt, tzh_typecnt, tzh_charcnt);
- printf("transition times: ");
- for (i=0; i<tzh_timecnt; ++i) {
- printf("%s%lu",i?", ":"",ntohl(*(int*)tmp)); tmp+=4;
- }
- printf("\n");
- printf("indices: ");
- for (i=0; i<tzh_timecnt; ++i) {
- printf("%s%d",i?", ":"",*tmp); ++tmp;
- }
- printf("\n");
- printf("transition times: ");
- for (i=0; i<tzh_typecnt; ++i) {
- printf("%s(%lu,%d,%d)",i?", ":"",ntohl(*(int*)tmp),tmp[4],tmp[5]); tmp+=6;
- }
- printf("\n");
-#endif
-
- tmp=tzfile+20+6*4;
- for (i=0; i<tzh_timecnt; ++i)
- if ((time_t)__myntohl(tmp+i*4) >= t) {
-/* printf("match at %d\n",i); */
- tmp+=tzh_timecnt*4;
- i=tmp[i-1];
-/* printf("using index %d\n",i); */
- tmp+=tzh_timecnt;
- tmp+=i*6;
-/* printf("(%lu,%d,%d)\n",ntohl(*(int*)tmp),tmp[4],tmp[5]); */
- *isdst=tmp[4];
- return t+__myntohl(tmp);
- }
- return t;
-}
-#else
-void tzset(void) __attribute__((weak,alias("return0")));
-#endif
diff --git a/mdk-stage1/dietlibc/libugly/unsetenv.c b/mdk-stage1/dietlibc/libugly/unsetenv.c
deleted file mode 100644
index 46e880271..000000000
--- a/mdk-stage1/dietlibc/libugly/unsetenv.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdlib.h>
-
-void unsetenv(const char *name) {
- putenv(name);
-}
-
diff --git a/mdk-stage1/dietlibc/ppc/Makefile.add b/mdk-stage1/dietlibc/ppc/Makefile.add
deleted file mode 100644
index 641cf1ade..000000000
--- a/mdk-stage1/dietlibc/ppc/Makefile.add
+++ /dev/null
@@ -1,3 +0,0 @@
-
-CFLAGS+=-mpowerpc-gpopt -mpowerpc-gfxopt -Os
-VPATH:=ppc:syscalls.s:$(VPATH)
diff --git a/mdk-stage1/dietlibc/ppc/__longjmp.S b/mdk-stage1/dietlibc/ppc/__longjmp.S
deleted file mode 100644
index 8113eeeea..000000000
--- a/mdk-stage1/dietlibc/ppc/__longjmp.S
+++ /dev/null
@@ -1,59 +0,0 @@
-#include <setjmp.h>
-
-
-#ifdef PIC
-#define JUMPTARGET(name) name##@plt
-#else
-#define JUMPTARGET(name) name
-#endif
-
-.global __longjmp
-.type __longjmp,@function
-.align 2
-__longjmp:
- lwz 1,(JB_GPR1*4)(3)
- lwz 2,(JB_GPR2*4)(3)
- lwz 0,(JB_LR*4)(3)
- lwz 14,((JB_GPRS+0)*4)(3)
- lfd 14,((JB_FPRS+0*2)*4)(3)
- lwz 15,((JB_GPRS+1)*4)(3)
- lfd 15,((JB_FPRS+1*2)*4)(3)
- lwz 16,((JB_GPRS+2)*4)(3)
- lfd 16,((JB_FPRS+2*2)*4)(3)
- lwz 17,((JB_GPRS+3)*4)(3)
- lfd 17,((JB_FPRS+3*2)*4)(3)
- lwz 18,((JB_GPRS+4)*4)(3)
- lfd 18,((JB_FPRS+4*2)*4)(3)
- lwz 19,((JB_GPRS+5)*4)(3)
- lfd 19,((JB_FPRS+5*2)*4)(3)
- lwz 20,((JB_GPRS+6)*4)(3)
- lfd 20,((JB_FPRS+6*2)*4)(3)
- mtlr 0
- lwz 21,((JB_GPRS+7)*4)(3)
- lfd 21,((JB_FPRS+7*2)*4)(3)
- lwz 22,((JB_GPRS+8)*4)(3)
- lfd 22,((JB_FPRS+8*2)*4)(3)
- lwz 0,(JB_CR*4)(3)
- lwz 23,((JB_GPRS+9)*4)(3)
- lfd 23,((JB_FPRS+9*2)*4)(3)
- lwz 24,((JB_GPRS+10)*4)(3)
- lfd 24,((JB_FPRS+10*2)*4)(3)
- lwz 25,((JB_GPRS+11)*4)(3)
- lfd 25,((JB_FPRS+11*2)*4)(3)
- mtcrf 0xFF,0
- lwz 26,((JB_GPRS+12)*4)(3)
- lfd 26,((JB_FPRS+12*2)*4)(3)
- lwz 27,((JB_GPRS+13)*4)(3)
- lfd 27,((JB_FPRS+13*2)*4)(3)
- lwz 28,((JB_GPRS+14)*4)(3)
- lfd 28,((JB_FPRS+14*2)*4)(3)
- lwz 29,((JB_GPRS+15)*4)(3)
- lfd 29,((JB_FPRS+15*2)*4)(3)
- lwz 30,((JB_GPRS+16)*4)(3)
- lfd 30,((JB_FPRS+16*2)*4)(3)
- lwz 31,((JB_GPRS+17)*4)(3)
- lfd 31,((JB_FPRS+17*2)*4)(3)
- mr 3,4
- blr
-.size __longjmp,.-__longjmp
-
diff --git a/mdk-stage1/dietlibc/ppc/__testandset.S b/mdk-stage1/dietlibc/ppc/__testandset.S
deleted file mode 100644
index a6063fbb2..000000000
--- a/mdk-stage1/dietlibc/ppc/__testandset.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.global __testandset
-.type __testandset,@function
-.align 2
-__testandset:
- lwarx 5,0,3
- add 0,4,5
- stwcx 0,0,3
- bne __testandset
- blr
-.size __testandset,.-__testandset
-
diff --git a/mdk-stage1/dietlibc/ppc/mmap.c b/mdk-stage1/dietlibc/ppc/mmap.c
deleted file mode 100644
index 25d2926b2..000000000
--- a/mdk-stage1/dietlibc/ppc/mmap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <linux/types.h>
-#include <linux/unistd.h>
-
-int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) {
- unsigned long __sc_ret, __sc_err;
- {
- register unsigned long __sc_0 __asm__ ("r0");
- register unsigned long __sc_3 __asm__ ("r3");
- register unsigned long __sc_4 __asm__ ("r4");
- register unsigned long __sc_5 __asm__ ("r5");
- register unsigned long __sc_6 __asm__ ("r6");
- register unsigned long __sc_7 __asm__ ("r7");
- register unsigned long __sc_8 __asm__ ("r8");
-
- __sc_3 = (unsigned long) (start);
- __sc_4 = (unsigned long) (length);
- __sc_5 = (unsigned long) (prot);
- __sc_6 = (unsigned long) (flags);
- __sc_7 = (unsigned long) (fd);
- __sc_8 = (unsigned long) (offset);
- __sc_0 = __NR_mmap;
- __asm__ __volatile__
- ("sc \n\t"
- "mfcr %1 "
- : "=&r" (__sc_3), "=&r" (__sc_0)
- : "0" (__sc_3), "1" (__sc_0),
- "r" (__sc_4),
- "r" (__sc_5),
- "r" (__sc_6),
- "r" (__sc_7),
- "r" (__sc_8)
- : __syscall_clobbers);
- __sc_ret = __sc_3;
- __sc_err = __sc_0;
- }
- __syscall_return (int);
-}
diff --git a/mdk-stage1/dietlibc/ppc/setjmp.S b/mdk-stage1/dietlibc/ppc/setjmp.S
deleted file mode 100644
index 50fa2bdd4..000000000
--- a/mdk-stage1/dietlibc/ppc/setjmp.S
+++ /dev/null
@@ -1,56 +0,0 @@
-#include <setjmp.h>
-
-#ifdef PIC
-#define JUMPTARGET(name) name##@plt
-#else
-#define JUMPTARGET(name) name
-#endif
-
-.global __sigsetjmp
-.type __sigsetjmp,@function
-.align 2
-__sigsetjmp:
- stw 1,(JB_GPR1*4)(3)
- mflr 0
- stw 2,(JB_GPR2*4)(3)
- stw 14,((JB_GPRS+0)*4)(3)
- stfd 14,((JB_FPRS+0*2)*4)(3)
- stw 0,(JB_LR*4)(3)
- stw 15,((JB_GPRS+1)*4)(3)
- stfd 15,((JB_FPRS+1*2)*4)(3)
- mfcr 0
- stw 16,((JB_GPRS+2)*4)(3)
- stfd 16,((JB_FPRS+2*2)*4)(3)
- stw 0,(JB_CR*4)(3)
- stw 17,((JB_GPRS+3)*4)(3)
- stfd 17,((JB_FPRS+3*2)*4)(3)
- stw 18,((JB_GPRS+4)*4)(3)
- stfd 18,((JB_FPRS+4*2)*4)(3)
- stw 19,((JB_GPRS+5)*4)(3)
- stfd 19,((JB_FPRS+5*2)*4)(3)
- stw 20,((JB_GPRS+6)*4)(3)
- stfd 20,((JB_FPRS+6*2)*4)(3)
- stw 21,((JB_GPRS+7)*4)(3)
- stfd 21,((JB_FPRS+7*2)*4)(3)
- stw 22,((JB_GPRS+8)*4)(3)
- stfd 22,((JB_FPRS+8*2)*4)(3)
- stw 23,((JB_GPRS+9)*4)(3)
- stfd 23,((JB_FPRS+9*2)*4)(3)
- stw 24,((JB_GPRS+10)*4)(3)
- stfd 24,((JB_FPRS+10*2)*4)(3)
- stw 25,((JB_GPRS+11)*4)(3)
- stfd 25,((JB_FPRS+11*2)*4)(3)
- stw 26,((JB_GPRS+12)*4)(3)
- stfd 26,((JB_FPRS+12*2)*4)(3)
- stw 27,((JB_GPRS+13)*4)(3)
- stfd 27,((JB_FPRS+13*2)*4)(3)
- stw 28,((JB_GPRS+14)*4)(3)
- stfd 28,((JB_FPRS+14*2)*4)(3)
- stw 29,((JB_GPRS+15)*4)(3)
- stfd 29,((JB_FPRS+15*2)*4)(3)
- stw 30,((JB_GPRS+16)*4)(3)
- stfd 30,((JB_FPRS+16*2)*4)(3)
- stw 31,((JB_GPRS+17)*4)(3)
- stfd 31,((JB_FPRS+17*2)*4)(3)
- b JUMPTARGET (__sigjmp_save)
-.size __sigsetjmp,.-__sigsetjmp
diff --git a/mdk-stage1/dietlibc/ppc/start.S b/mdk-stage1/dietlibc/ppc/start.S
deleted file mode 100644
index c7afeecd2..000000000
--- a/mdk-stage1/dietlibc/ppc/start.S
+++ /dev/null
@@ -1,44 +0,0 @@
-#include "start.h"
-
-#ifdef __powerpc__
-
-.text
-.global _start
-.type _start,@function
-_start:
- /* Save the stack pointer, in case we're statically linked under Linux. */
- mr 9,1
- /* Set up an initial stack frame, and clear the LR. */
- clrrwi 1,1,4
- li 0,0
- stwu 1,-16(1)
- mtlr 0
- stw 0,0(1)
-
- /* r9 enthlt den initialen Stackpointer.
- argc = (r9)
- argv = (r9+4)
- envp = argv+(argc+1)*4 */
-
- lwzu 3,0(9) /* argc */
- addi 4,9,4 /* argv */
- add 5,0,3 /* argc... */
- addi 5,5,1 /* argc+1...*/
- slwi 5,5,2 /* (argc+1)*4 */
- add 5,5,4 /* argv+(argc+1)*4 */
-
- lis 6,environ@ha
- stw 5,environ@l(6)
-
- bl main
- b exit
-.size _start,.-_start
-
-
-/* Define a symbol for the first piece of initialized data. */
- .section ".data"
-__data_start:
-
-
-#endif
-
diff --git a/mdk-stage1/dietlibc/ppc/unified.S b/mdk-stage1/dietlibc/ppc/unified.S
deleted file mode 100644
index d2b419f0b..000000000
--- a/mdk-stage1/dietlibc/ppc/unified.S
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <dietfeatures.h>
-
-.text
-.global __unified_syscall
-__unified_syscall:
- sc
- mfcr 0
- andis. 9,0,4096
- mr 0,3
- beq .L1
-#ifdef WANT_THREAD_SAVE
- bl __set_errno
-#else
- lis 9,errno@ha
- stw 3,errno@l(9)
-#endif
- li 0,-1
-.L1:
- mr 3,0
- blr
-
diff --git a/mdk-stage1/dietlibc/sparc/Makefile.add b/mdk-stage1/dietlibc/sparc/Makefile.add
deleted file mode 100644
index 0de05b1db..000000000
--- a/mdk-stage1/dietlibc/sparc/Makefile.add
+++ /dev/null
@@ -1,3 +0,0 @@
-
-CFLAGS+=-mcpu=supersparc -Os
-VPATH:=sparc:syscalls.s:$(VPATH)
diff --git a/mdk-stage1/dietlibc/sparc/__longjmp.S b/mdk-stage1/dietlibc/sparc/__longjmp.S
deleted file mode 100644
index 72e001a2f..000000000
--- a/mdk-stage1/dietlibc/sparc/__longjmp.S
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <setjmp.h>
-
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-
-#define ENV(base,reg) [%base + (reg * 4)]
-#define ST_FLUSH_WINDOWS 3
-#define RW_FP [%fp + 0x48]
-
-.text
-.global __longjmp
-__longjmp:
- /* Store our arguments in global registers so we can still
- use them while unwinding frames and their register windows. */
-
- ld ENV(o0,JB_FP), %g3 /* Cache target FP in register %g3. */
- mov %o0, %g1 /* ENV in %g1 */
- orcc %o1, %g0, %g2 /* VAL in %g2 */
- be,a 0f /* Branch if zero; else skip delay slot. */
- mov 1, %g2 /* Delay slot only hit if zero: VAL = 1. */
-0:
- xor %fp, %g3, %o0
- add %fp, 512, %o1
- andncc %o0, 4095, %o0
- bne .Lthread
- cmp %o1, %g3
- bl .Lthread
-
- /* Now we will loop, unwinding the register windows up the stack
- until the restored %fp value matches the target value in %g3. */
-
-.Lloop:
- cmp %fp, %g3 /* Have we reached the target frame? */
- bl,a .Lloop /* Loop while current fp is below target. */
- restore /* Unwind register window in delay slot. */
- be,a .Lfound /* Better have hit it exactly. */
- ld ENV(g1,JB_SP), %o0 /* Delay slot: extract target SP. */
-
-.Lthread:
- /*
- * Do a "flush register windows trap". The trap handler in the
- * kernel writes all the register windows to their stack slots, and
- * marks them all as invalid (needing to be sucked up from the
- * stack when used). This ensures that all information needed to
- * unwind to these callers is in memory, not in the register
- * windows.
- */
- ta ST_FLUSH_WINDOWS
- ld ENV(g1,JB_PC), %o7 /* Set return PC. */
- ld ENV(g1,JB_SP), %fp /* Set saved SP on restore below. */
- sub %fp, 64, %sp /* Allocate a register frame. */
- st %g3, RW_FP /* Set saved FP on restore below. */
- retl
- restore %g2, 0, %o0 /* Restore values from above register frame. */
-
-.Lfound:
- /* We have unwound register windows so %fp matches the target. */
- mov %o0, %sp /* OK, install new SP. */
-
-.Lsp_ok:
- ld ENV(g1,JB_PC), %o0 /* Extract target return PC. */
- jmp %o0 + 8 /* Return there. */
- mov %g2, %o0 /* Delay slot: set return value. */
-
-.size __longjmp, . - __longjmp
-
diff --git a/mdk-stage1/dietlibc/sparc/__testandset.S b/mdk-stage1/dietlibc/sparc/__testandset.S
deleted file mode 100644
index 84f6cf597..000000000
--- a/mdk-stage1/dietlibc/sparc/__testandset.S
+++ /dev/null
@@ -1,6 +0,0 @@
-.text
-.align 4
-.global __testandset
-__testandset:
- retl
- ldstub [%o0], %o0
diff --git a/mdk-stage1/dietlibc/sparc/clone.S b/mdk-stage1/dietlibc/sparc/clone.S
deleted file mode 100644
index 58b438249..000000000
--- a/mdk-stage1/dietlibc/sparc/clone.S
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <asm/errno.h>
-#include <asm/unistd.h>
-
-.text
-.align 4
-.weak clone
-clone:
-.global __clone
-__clone:
- save %sp, -96, %sp
-
- tst %i0 /* check for function pointer */
- be .Lerror
- tst %i1 /* check for stack pointer */
- be .Lerror
- nop
-
- mov %i1, %o1 /* child-stack */
- mov %i2, %o0 /* clone-flags */
- mov __NR_clone, %g1
- ta 0x10 /* syscall: clone */
- bcs .Lerror
-
- tst %o1
- bne .Lstart /* we are the child :) */
- nop
- mov %o0, %i0 /* return child pid */
- ret
- restore
-
-.Lerror:
- call __errno_location
- nop
- mov EINVAL, %l0
- st %l0, [%o0]
- ret
- restore %g0, -1, %o0
-
-.Lstart:
- call %i0 /* call child-function */
- mov %i3, %o0 /* put arg in the right place for the child */
-
- call _exit /* child returned */
- nop
-
diff --git a/mdk-stage1/dietlibc/sparc/fork.S b/mdk-stage1/dietlibc/sparc/fork.S
deleted file mode 100644
index 869c9b30c..000000000
--- a/mdk-stage1/dietlibc/sparc/fork.S
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "syscalls.h"
-
-.text
-.weak fork
-fork:
-.global __libc_fork
-__libc_fork:
- mov 2, %g1
- ta 0x10
- bcc,a 1f
- nop
- save %sp, -96, %sp
-#ifdef WANT_THREAD_SAVE
- call __errno_location
- nop
-#else
- sethi %hi(errno), %o0
- or %o0, %lo(errno), %o0
-#endif
- st %i0, [ %o0 ]
- retl
- restore %g0, -1, %o0
-1: dec %o1
- retl
- and %o0, %o1, %o0
diff --git a/mdk-stage1/dietlibc/sparc/mmap.c b/mdk-stage1/dietlibc/sparc/mmap.c
deleted file mode 100644
index 25ebdc24e..000000000
--- a/mdk-stage1/dietlibc/sparc/mmap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <linux/types.h>
-#include <linux/unistd.h>
-
-#define __SYSCALL_STRING \
- "ta 0x10;" \
- "bcs 2f;" \
- " nop;" \
- "1:" \
- ".subsection 2;" \
- "2:" \
- "save %%sp, -192, %%sp;" \
- "call __errno_location;" \
- " nop;" \
- "st %%i0,[%%o0];" \
- "ba 1b;" \
- " restore %%g0, -1, %%o0;" \
- ".previous;"
-
-#define __SYSCALL_CLOBBERS "g2", "g3", "g4", "g5", "g7", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \
- "cc", "memory"
-
-#define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6) \
-({ \
- register long __o0 __asm__ ("o0") = (long)(arg1); \
- register long __o1 __asm__ ("o1") = (long)(arg2); \
- register long __o2 __asm__ ("o2") = (long)(arg3); \
- register long __o3 __asm__ ("o3") = (long)(arg4); \
- register long __o4 __asm__ ("o4") = (long)(arg5); \
- register long __o5 __asm__ ("o5") = (long)(arg6); \
- register long __g1 __asm__ ("g1") = __NR_##name; \
- __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \
- "0" (__g1), "1" (__o0), "r" (__o1), "r" (__o2), \
- "r" (__o3), "r" (__o4), "r" (__o5) : \
- __SYSCALL_CLOBBERS); \
- __o0; \
-})
-int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) {
- return inline_syscall6(mmap,start,length,prot,flags,fd,offset);
-}
diff --git a/mdk-stage1/dietlibc/sparc/pipe.S b/mdk-stage1/dietlibc/sparc/pipe.S
deleted file mode 100644
index 820da2570..000000000
--- a/mdk-stage1/dietlibc/sparc/pipe.S
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "syscalls.h"
-
-.text
-.global pipe
-pipe:
- mov %o0, %o2
- mov __NR_pipe, %g1
- ta 0x10
- bcc,a 1f
- nop
- save %sp, -96, %sp
-#ifdef WANT_THREAD_SAVE
- call __errno_location
- nop
-#else
- sethi %hi(errno), %o0
- or %o0, %lo(errno), %o0
-#endif
- st %i0, [ %o0 ]
- ret
- restore %g0, -1, %o0
-
-1: st %o0, [ %o2 ]
- st %o1, [ %o2 + 4 ]
- retl
- mov %g0, %o0
diff --git a/mdk-stage1/dietlibc/sparc/setjmp.S b/mdk-stage1/dietlibc/sparc/setjmp.S
deleted file mode 100644
index efc5a7013..000000000
--- a/mdk-stage1/dietlibc/sparc/setjmp.S
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <setjmp.h>
-
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-
-#define ST_FLUSH_WINDOWS 0x03
-
-.section .rodata
-.text
-.globl __setjmp
-__setjmp:
- b 1f
- set 0, %o1
-.size __setjmp,.-__setjmp
-
-.globl setjmp
-setjmp:
- set 1, %o1
-.size setjmp,.-setjmp
-
-.globl __sigsetjmp
-__sigsetjmp:
-1:
- /* Save our PC, SP and FP. Save the signal mask if requested with
- a tail-call for simplicity; it always returns zero. */
- ta ST_FLUSH_WINDOWS
-
- st %o7, [%o0 + (JB_PC * 4)]
- st %sp, [%o0 + (JB_SP * 4)]
- st %fp, [%o0 + (JB_FP * 4)]
-
- mov %o7, %g1
- call __sigjmp_save
- mov %g1, %o7
-.size __sigsetjmp,.-__sigsetjmp
-
diff --git a/mdk-stage1/dietlibc/sparc/shmat.c b/mdk-stage1/dietlibc/sparc/shmat.c
deleted file mode 100644
index 73b2d89a9..000000000
--- a/mdk-stage1/dietlibc/sparc/shmat.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern void* __ipc();
-
-#ifndef PAGE_SIZE
-#define PAGE_SIZE 4096
-#endif
-
-void* shmat(int shmid,const void* shmaddr,int shmflg) {
- void* raddr;
- register void* result;
- result=__ipc(SHMAT,shmid,shmflg,&raddr,shmaddr);
- if ((unsigned long)result <= -(unsigned long)PAGE_SIZE)
- result=raddr;
- return result;
-}
diff --git a/mdk-stage1/dietlibc/sparc/start.S b/mdk-stage1/dietlibc/sparc/start.S
deleted file mode 100644
index e948aaddc..000000000
--- a/mdk-stage1/dietlibc/sparc/start.S
+++ /dev/null
@@ -1,46 +0,0 @@
-#include "start.h"
-
-#ifdef __sparc__
- .section ".text"
- .align 4
- .global _start
- .type _start,@function
-_start:
-
- /* Terminate the stack frame, and reserve space for functions to
- drop their arguments. */
- mov %g0, %fp
- sub %sp, 6*4, %sp
-
- /* Extract the arguments and environment as encoded on the stack. The
- argument info starts after one register window (16 words) past the SP. */
- ld [%sp+22*4], %o0
- add %sp, 23*4, %o1
- add %o1, %o0, %o2
- add %o2, %o0, %o2
- add %o2, %o0, %o2
- add %o2, %o0, %o2
- add %o2, 4, %o2
-
- sethi %hi(environ), %o3
- or %o3, %lo(environ), %o3
- st %o2, [%o3]
-
- /* When starting a binary via the dynamic linker, %g1 contains the
- address of the shared library termination function, which will be
- registered with atexit(). If we are statically linked, this will
- be NULL. */
-
- /* Let libc do the rest of the initialization, and call main. */
- call main
- mov %g1, %o5
-
- b exit
- mov %o0, %i0
-
- /* Die very horribly if exit returns. */
- unimp
-
- .size _start, .-_start
-#endif
-
diff --git a/mdk-stage1/dietlibc/sparc/udiv.S b/mdk-stage1/dietlibc/sparc/udiv.S
deleted file mode 100644
index 87479e7bd..000000000
--- a/mdk-stage1/dietlibc/sparc/udiv.S
+++ /dev/null
@@ -1,363 +0,0 @@
-#ifdef __sparc__
- /* This file is generated from divrem.m4; DO NOT EDIT! */
-/*
- * Division and remainder, from Appendix E of the Sparc Version 8
- * Architecture Manual, with fixes from Gordon Irlam.
- */
-
-/*
- * Input: dividend and divisor in %o0 and %o1 respectively.
- *
- * m4 parameters:
- * .udiv name of function to generate
- * div div=div => %o0 / %o1; div=rem => %o0 % %o1
- * false false=true => signed; false=false => unsigned
- *
- * Algorithm parameters:
- * N how many bits per iteration we try to get (4)
- * WORDSIZE total number of bits (32)
- *
- * Derived constants:
- * TOPBITS number of bits in the top decade of a number
- *
- * Important variables:
- * Q the partial quotient under development (initially 0)
- * R the remainder so far, initially the dividend
- * ITER number of main division loop iterations required;
- * equal to ceil(log2(quotient) / N). Note that this
- * is the log base (2^N) of the quotient.
- * V the current comparand, initially divisor*2^(ITER*N-1)
- *
- * Cost:
- * Current estimate for non-large dividend is
- * ceil(log2(quotient) / N) * (10 + 7N/2) + C
- * A large dividend is one greater than 2^(31-TOPBITS) and takes a
- * different path, as the upper bits of the quotient must be developed
- * one bit at a time.
- */
-
-
-
-#define C_LABEL(name) name:
-
-#define C_SYMBOL_NAME(name) name
-
-#define ENTRY(name) \
- .global C_SYMBOL_NAME(name); \
- .align 4;\
- C_LABEL(name);\
- .type name,@function;
-
-#define LOC(name) . ## L ## name
-
-#define END(name) \
- .size name, . - name
-
-#define ST_DIV0 0x02
-
-ENTRY(.udiv)
-
- ! Ready to divide. Compute size of quotient; scale comparand.
- orcc %o1, %g0, %o5
- bne 1f
- mov %o0, %o3
-
- ! Divide by zero trap. If it returns, return 0 (about as
- ! wrong as possible, but that is what SunOS does...).
- ta ST_DIV0
- retl
- clr %o0
-
-1:
- cmp %o3, %o5 ! if %o1 exceeds %o0, done
- blu LOC(got_result) ! (and algorithm fails otherwise)
- clr %o2
- sethi %hi(1 << (32 - 4 - 1)), %g1
- cmp %o3, %g1
- blu LOC(not_really_big)
- clr %o4
-
- ! Here the dividend is >= 2**(31-N) or so. We must be careful here,
- ! as our usual N-at-a-shot divide step will cause overflow and havoc.
- ! The number of bits in the result here is N*ITER+SC, where SC <= N.
- ! Compute ITER in an unorthodox manner: know we need to shift V into
- ! the top decade: so do not even bother to compare to R.
- 1:
- cmp %o5, %g1
- bgeu 3f
- mov 1, %g2
- sll %o5, 4, %o5
- b 1b
- add %o4, 1, %o4
-
- ! Now compute %g2.
- 2: addcc %o5, %o5, %o5
- bcc LOC(not_too_big)
- add %g2, 1, %g2
-
- ! We get here if the %o1 overflowed while shifting.
- ! This means that %o3 has the high-order bit set.
- ! Restore %o5 and subtract from %o3.
- sll %g1, 4, %g1 ! high order bit
- srl %o5, 1, %o5 ! rest of %o5
- add %o5, %g1, %o5
- b LOC(do_single_div)
- sub %g2, 1, %g2
-
- LOC(not_too_big):
- 3: cmp %o5, %o3
- blu 2b
- nop
- be LOC(do_single_div)
- nop
- /* NB: these are commented out in the V8-Sparc manual as well */
- /* (I do not understand this) */
- ! %o5 > %o3: went too far: back up 1 step
- ! srl %o5, 1, %o5
- ! dec %g2
- ! do single-bit divide steps
- !
- ! We have to be careful here. We know that %o3 >= %o5, so we can do the
- ! first divide step without thinking. BUT, the others are conditional,
- ! and are only done if %o3 >= 0. Because both %o3 and %o5 may have the high-
- ! order bit set in the first step, just falling into the regular
- ! division loop will mess up the first time around.
- ! So we unroll slightly...
- LOC(do_single_div):
- subcc %g2, 1, %g2
- bl LOC(end_regular_divide)
- nop
- sub %o3, %o5, %o3
- mov 1, %o2
- b LOC(end_single_divloop)
- nop
- LOC(single_divloop):
- sll %o2, 1, %o2
- bl 1f
- srl %o5, 1, %o5
- ! %o3 >= 0
- sub %o3, %o5, %o3
- b 2f
- add %o2, 1, %o2
- 1: ! %o3 < 0
- add %o3, %o5, %o3
- sub %o2, 1, %o2
- 2:
- LOC(end_single_divloop):
- subcc %g2, 1, %g2
- bge LOC(single_divloop)
- tst %o3
- b,a LOC(end_regular_divide)
-
-LOC(not_really_big):
-1:
- sll %o5, 4, %o5
- cmp %o5, %o3
- bleu 1b
- addcc %o4, 1, %o4
- be LOC(got_result)
- sub %o4, 1, %o4
-
- tst %o3 ! set up for initial iteration
-LOC(divloop):
- sll %o2, 4, %o2
- ! depth 1, accumulated bits 0
- bl LOC(1.16)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 2, accumulated bits 1
- bl LOC(2.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits 3
- bl LOC(3.19)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 7
- bl LOC(4.23)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2+1), %o2
-
-LOC(4.23):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2-1), %o2
-
-
-LOC(3.19):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 5
- bl LOC(4.21)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2+1), %o2
-
-LOC(4.21):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2-1), %o2
-
-
-
-LOC(2.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits 1
- bl LOC(3.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 3
- bl LOC(4.19)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2+1), %o2
-
-LOC(4.19):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2-1), %o2
-
-
-LOC(3.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 1
- bl LOC(4.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2+1), %o2
-
-LOC(4.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2-1), %o2
-
-
-
-
-LOC(1.16):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 2, accumulated bits -1
- bl LOC(2.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits -1
- bl LOC(3.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -1
- bl LOC(4.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2+1), %o2
-
-LOC(4.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2-1), %o2
-
-
-LOC(3.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -3
- bl LOC(4.13)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2+1), %o2
-
-LOC(4.13):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2-1), %o2
-
-
-
-LOC(2.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits -3
- bl LOC(3.13)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -5
- bl LOC(4.11)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2+1), %o2
-
-LOC(4.11):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2-1), %o2
-
-
-LOC(3.13):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -7
- bl LOC(4.9)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2+1), %o2
-
-LOC(4.9):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2-1), %o2
-
-
-
-
- 9:
-LOC(end_regular_divide):
- subcc %o4, 1, %o4
- bge LOC(divloop)
- tst %o3
- bl,a LOC(got_result)
- ! non-restoring fixup here (one instruction only!)
- sub %o2, 1, %o2
-
-
-LOC(got_result):
-
- retl
- mov %o2, %o0
-
-END(.udiv)
-
-#endif
diff --git a/mdk-stage1/dietlibc/sparc/umul.S b/mdk-stage1/dietlibc/sparc/umul.S
deleted file mode 100644
index 15038ab2a..000000000
--- a/mdk-stage1/dietlibc/sparc/umul.S
+++ /dev/null
@@ -1,170 +0,0 @@
-#ifdef __sparc__
-/*
- * Unsigned multiply. Returns %o0 * %o1 in %o1%o0 (i.e., %o1 holds the
- * upper 32 bits of the 64-bit product).
- *
- * This code optimizes short (less than 13-bit) multiplies. Short
- * multiplies require 25 instruction cycles, and long ones require
- * 45 instruction cycles.
- *
- * On return, overflow has occurred (%o1 is not zero) if and only if
- * the Z condition code is clear, allowing, e.g., the following:
- *
- * call .umul
- * nop
- * bnz overflow (or tnz)
- */
-
-#define C_LABEL(name) name:
-
-#define C_SYMBOL_NAME(name) name
-
-#define ENTRY(name) \
- .global C_SYMBOL_NAME(name); \
- .align 4;\
- C_LABEL(name);\
- .type name,@function;
-
-#define LOC(name) . ## L ## name
-
-#define END(name) \
- .size name, . - name
-
-ENTRY(.umul)
- or %o0, %o1, %o4
- mov %o0, %y ! multiplier -> Y
- andncc %o4, 0xfff, %g0 ! test bits 12..31 of *both* args
- be LOC(mul_shortway) ! if zero, can do it the short way
- andcc %g0, %g0, %o4 ! zero the partial product; clear N & V
-
- /*
- * Long multiply. 32 steps, followed by a final shift step.
- */
- mulscc %o4, %o1, %o4 ! 1
- mulscc %o4, %o1, %o4 ! 2
- mulscc %o4, %o1, %o4 ! 3
- mulscc %o4, %o1, %o4 ! 4
- mulscc %o4, %o1, %o4 ! 5
- mulscc %o4, %o1, %o4 ! 6
- mulscc %o4, %o1, %o4 ! 7
- mulscc %o4, %o1, %o4 ! 8
- mulscc %o4, %o1, %o4 ! 9
- mulscc %o4, %o1, %o4 ! 10
- mulscc %o4, %o1, %o4 ! 11
- mulscc %o4, %o1, %o4 ! 12
- mulscc %o4, %o1, %o4 ! 13
- mulscc %o4, %o1, %o4 ! 14
- mulscc %o4, %o1, %o4 ! 15
- mulscc %o4, %o1, %o4 ! 16
- mulscc %o4, %o1, %o4 ! 17
- mulscc %o4, %o1, %o4 ! 18
- mulscc %o4, %o1, %o4 ! 19
- mulscc %o4, %o1, %o4 ! 20
- mulscc %o4, %o1, %o4 ! 21
- mulscc %o4, %o1, %o4 ! 22
- mulscc %o4, %o1, %o4 ! 23
- mulscc %o4, %o1, %o4 ! 24
- mulscc %o4, %o1, %o4 ! 25
- mulscc %o4, %o1, %o4 ! 26
- mulscc %o4, %o1, %o4 ! 27
- mulscc %o4, %o1, %o4 ! 28
- mulscc %o4, %o1, %o4 ! 29
- mulscc %o4, %o1, %o4 ! 30
- mulscc %o4, %o1, %o4 ! 31
- mulscc %o4, %o1, %o4 ! 32
- mulscc %o4, %g0, %o4 ! final shift
-
- /*
- * Normally, with the shift-and-add approach, if both numbers are
- * positive you get the correct result. With 32-bit two's-complement
- * numbers, -x is represented as
- *
- * x 32
- * ( 2 - ------ ) mod 2 * 2
- * 32
- * 2
- *
- * (the `mod 2' subtracts 1 from 1.bbbb). To avoid lots of 2^32s,
- * we can treat this as if the radix point were just to the left
- * of the sign bit (multiply by 2^32), and get
- *
- * -x = (2 - x) mod 2
- *
- * Then, ignoring the `mod 2's for convenience:
- *
- * x * y = xy
- * -x * y = 2y - xy
- * x * -y = 2x - xy
- * -x * -y = 4 - 2x - 2y + xy
- *
- * For signed multiplies, we subtract (x << 32) from the partial
- * product to fix this problem for negative multipliers (see mul.s).
- * Because of the way the shift into the partial product is calculated
- * (N xor V), this term is automatically removed for the multiplicand,
- * so we don't have to adjust.
- *
- * But for unsigned multiplies, the high order bit wasn't a sign bit,
- * and the correction is wrong. So for unsigned multiplies where the
- * high order bit is one, we end up with xy - (y << 32). To fix it
- * we add y << 32.
- */
-#if 0
- tst %o1
- bl,a 1f ! if %o1 < 0 (high order bit = 1),
- add %o4, %o0, %o4 ! %o4 += %o0 (add y to upper half)
-1: rd %y, %o0 ! get lower half of product
- retl
- addcc %o4, %g0, %o1 ! put upper half in place and set Z for %o1==0
-#else
- /* Faster code from tege@sics.se. */
- sra %o1, 31, %o2 ! make mask from sign bit
- and %o0, %o2, %o2 ! %o2 = 0 or %o0, depending on sign of %o1
- rd %y, %o0 ! get lower half of product
- retl
- addcc %o4, %o2, %o1 ! add compensation and put upper half in place
-#endif
-
-LOC(mul_shortway):
- /*
- * Short multiply. 12 steps, followed by a final shift step.
- * The resulting bits are off by 12 and (32-12) = 20 bit positions,
- * but there is no problem with %o0 being negative (unlike above),
- * and overflow is impossible (the answer is at most 24 bits long).
- */
- mulscc %o4, %o1, %o4 ! 1
- mulscc %o4, %o1, %o4 ! 2
- mulscc %o4, %o1, %o4 ! 3
- mulscc %o4, %o1, %o4 ! 4
- mulscc %o4, %o1, %o4 ! 5
- mulscc %o4, %o1, %o4 ! 6
- mulscc %o4, %o1, %o4 ! 7
- mulscc %o4, %o1, %o4 ! 8
- mulscc %o4, %o1, %o4 ! 9
- mulscc %o4, %o1, %o4 ! 10
- mulscc %o4, %o1, %o4 ! 11
- mulscc %o4, %o1, %o4 ! 12
- mulscc %o4, %g0, %o4 ! final shift
-
- /*
- * %o4 has 20 of the bits that should be in the result; %y has
- * the bottom 12 (as %y's top 12). That is:
- *
- * %o4 %y
- * +----------------+----------------+
- * | -12- | -20- | -12- | -20- |
- * +------(---------+------)---------+
- * -----result-----
- *
- * The 12 bits of %o4 left of the `result' area are all zero;
- * in fact, all top 20 bits of %o4 are zero.
- */
-
- rd %y, %o5
- sll %o4, 12, %o0 ! shift middle bits left 12
- srl %o5, 20, %o5 ! shift low bits right 20
- or %o5, %o0, %o0
- retl
- addcc %g0, %g0, %o1 ! %o1 = zero, and set Z
-
-END(.umul)
-#endif
diff --git a/mdk-stage1/dietlibc/sparc/unified.S b/mdk-stage1/dietlibc/sparc/unified.S
deleted file mode 100644
index 3cd609da5..000000000
--- a/mdk-stage1/dietlibc/sparc/unified.S
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <dietfeatures.h>
-
-.text
-.global __unified_syscall
-__unified_syscall:
- ta 0x10
-
- bcc 1f
- save %sp, -104, %sp
-
- neg %i0, %i0
-1:
- add %i0, 0xff, %l2
- cmp %l2, 0xfe
- bgu 2f
- neg %i0, %l3
-#ifdef WANT_THREAD_SAVE
- call __errno_location
- nop
-#else
- sethi %hi(errno), %o0
- or %o0, %lo(errno), %o0
-#endif
- st %l3, [ %o0 ]
- mov -1, %i0
-2:
- ret
- restore
diff --git a/mdk-stage1/dietlibc/sparc/urem.S b/mdk-stage1/dietlibc/sparc/urem.S
deleted file mode 100644
index 943cb7873..000000000
--- a/mdk-stage1/dietlibc/sparc/urem.S
+++ /dev/null
@@ -1,362 +0,0 @@
-#ifdef __sparc__
- /* This file is generated from divrem.m4; DO NOT EDIT! */
-/*
- * Division and remainder, from Appendix E of the Sparc Version 8
- * Architecture Manual, with fixes from Gordon Irlam.
- */
-
-/*
- * Input: dividend and divisor in %o0 and %o1 respectively.
- *
- * m4 parameters:
- * .urem name of function to generate
- * rem rem=div => %o0 / %o1; rem=rem => %o0 % %o1
- * false false=true => signed; false=false => unsigned
- *
- * Algorithm parameters:
- * N how many bits per iteration we try to get (4)
- * WORDSIZE total number of bits (32)
- *
- * Derived constants:
- * TOPBITS number of bits in the top decade of a number
- *
- * Important variables:
- * Q the partial quotient under development (initially 0)
- * R the remainder so far, initially the dividend
- * ITER number of main division loop iterations required;
- * equal to ceil(log2(quotient) / N). Note that this
- * is the log base (2^N) of the quotient.
- * V the current comparand, initially divisor*2^(ITER*N-1)
- *
- * Cost:
- * Current estimate for non-large dividend is
- * ceil(log2(quotient) / N) * (10 + 7N/2) + C
- * A large dividend is one greater than 2^(31-TOPBITS) and takes a
- * different path, as the upper bits of the quotient must be developed
- * one bit at a time.
- */
-
-
-
-#define C_LABEL(name) name:
-
-#define C_SYMBOL_NAME(name) name
-
-#define ENTRY(name) \
- .global C_SYMBOL_NAME(name); \
- .align 4;\
- C_LABEL(name);\
- .type name,@function;
-
-#define LOC(name) . ## L ## name
-
-#define END(name) \
- .size name, . - name
-
-#define ST_DIV0 0x02
-
-ENTRY(.urem)
-
- ! Ready to divide. Compute size of quotient; scale comparand.
- orcc %o1, %g0, %o5
- bne 1f
- mov %o0, %o3
-
- ! Divide by zero trap. If it returns, return 0 (about as
- ! wrong as possible, but that is what SunOS does...).
- ta ST_DIV0
- retl
- clr %o0
-
-1:
- cmp %o3, %o5 ! if %o1 exceeds %o0, done
- blu LOC(got_result) ! (and algorithm fails otherwise)
- clr %o2
- sethi %hi(1 << (32 - 4 - 1)), %g1
- cmp %o3, %g1
- blu LOC(not_really_big)
- clr %o4
-
- ! Here the dividend is >= 2**(31-N) or so. We must be careful here,
- ! as our usual N-at-a-shot divide step will cause overflow and havoc.
- ! The number of bits in the result here is N*ITER+SC, where SC <= N.
- ! Compute ITER in an unorthodox manner: know we need to shift V into
- ! the top decade: so do not even bother to compare to R.
- 1:
- cmp %o5, %g1
- bgeu 3f
- mov 1, %g2
- sll %o5, 4, %o5
- b 1b
- add %o4, 1, %o4
-
- ! Now compute %g2.
- 2: addcc %o5, %o5, %o5
- bcc LOC(not_too_big)
- add %g2, 1, %g2
-
- ! We get here if the %o1 overflowed while shifting.
- ! This means that %o3 has the high-order bit set.
- ! Restore %o5 and subtract from %o3.
- sll %g1, 4, %g1 ! high order bit
- srl %o5, 1, %o5 ! rest of %o5
- add %o5, %g1, %o5
- b LOC(do_single_div)
- sub %g2, 1, %g2
-
- LOC(not_too_big):
- 3: cmp %o5, %o3
- blu 2b
- nop
- be LOC(do_single_div)
- nop
- /* NB: these are commented out in the V8-Sparc manual as well */
- /* (I do not understand this) */
- ! %o5 > %o3: went too far: back up 1 step
- ! srl %o5, 1, %o5
- ! dec %g2
- ! do single-bit divide steps
- !
- ! We have to be careful here. We know that %o3 >= %o5, so we can do the
- ! first divide step without thinking. BUT, the others are conditional,
- ! and are only done if %o3 >= 0. Because both %o3 and %o5 may have the high-
- ! order bit set in the first step, just falling into the regular
- ! division loop will mess up the first time around.
- ! So we unroll slightly...
- LOC(do_single_div):
- subcc %g2, 1, %g2
- bl LOC(end_regular_divide)
- nop
- sub %o3, %o5, %o3
- mov 1, %o2
- b LOC(end_single_divloop)
- nop
- LOC(single_divloop):
- sll %o2, 1, %o2
- bl 1f
- srl %o5, 1, %o5
- ! %o3 >= 0
- sub %o3, %o5, %o3
- b 2f
- add %o2, 1, %o2
- 1: ! %o3 < 0
- add %o3, %o5, %o3
- sub %o2, 1, %o2
- 2:
- LOC(end_single_divloop):
- subcc %g2, 1, %g2
- bge LOC(single_divloop)
- tst %o3
- b,a LOC(end_regular_divide)
-
-LOC(not_really_big):
-1:
- sll %o5, 4, %o5
- cmp %o5, %o3
- bleu 1b
- addcc %o4, 1, %o4
- be LOC(got_result)
- sub %o4, 1, %o4
-
- tst %o3 ! set up for initial iteration
-LOC(divloop):
- sll %o2, 4, %o2
- ! depth 1, accumulated bits 0
- bl LOC(1.16)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 2, accumulated bits 1
- bl LOC(2.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits 3
- bl LOC(3.19)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 7
- bl LOC(4.23)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2+1), %o2
-
-LOC(4.23):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2-1), %o2
-
-
-LOC(3.19):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 5
- bl LOC(4.21)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2+1), %o2
-
-LOC(4.21):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2-1), %o2
-
-
-
-LOC(2.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits 1
- bl LOC(3.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 3
- bl LOC(4.19)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2+1), %o2
-
-LOC(4.19):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2-1), %o2
-
-
-LOC(3.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 1
- bl LOC(4.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2+1), %o2
-
-LOC(4.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2-1), %o2
-
-
-
-
-LOC(1.16):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 2, accumulated bits -1
- bl LOC(2.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits -1
- bl LOC(3.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -1
- bl LOC(4.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2+1), %o2
-
-LOC(4.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2-1), %o2
-
-
-LOC(3.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -3
- bl LOC(4.13)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2+1), %o2
-
-LOC(4.13):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2-1), %o2
-
-
-
-LOC(2.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits -3
- bl LOC(3.13)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -5
- bl LOC(4.11)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2+1), %o2
-
-LOC(4.11):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2-1), %o2
-
-
-LOC(3.13):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -7
- bl LOC(4.9)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2+1), %o2
-
-LOC(4.9):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2-1), %o2
-
-
-
-
- 9:
-LOC(end_regular_divide):
- subcc %o4, 1, %o4
- bge LOC(divloop)
- tst %o3
- bl,a LOC(got_result)
- ! non-restoring fixup here (one instruction only!)
- add %o3, %o1, %o3
-
-
-LOC(got_result):
-
- retl
- mov %o3, %o0
-
-END(.urem)
-#endif
diff --git a/mdk-stage1/dietlibc/start.h b/mdk-stage1/dietlibc/start.h
deleted file mode 100644
index 7f9e6be28..000000000
--- a/mdk-stage1/dietlibc/start.h
+++ /dev/null
@@ -1,14 +0,0 @@
-.section ".bss"
-.align 8
-
-.weak errno
-errno:
-.global __errno
-__errno:
- .long 0
-
-.weak environ
-environ:
-.global __environ
-__environ:
- .long 0
diff --git a/mdk-stage1/dietlibc/syscalls.c/_llseek.c b/mdk-stage1/dietlibc/syscalls.c/_llseek.c
deleted file mode 100644
index fdf49eba5..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/_llseek.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <unistd.h>
-#include <sys/types.h>
-#include "syscalls.h"
-
-_syscall5(int,_llseek,uint,fd,ulong,hi,ulong,lo,loff_t*,res,uint,wh);
diff --git a/mdk-stage1/dietlibc/syscalls.c/_newselect.c b/mdk-stage1/dietlibc/syscalls.c/_newselect.c
deleted file mode 100644
index cb42193bd..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/_newselect.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <linux/types.h>
-#include <linux/time.h>
-#include "syscalls.h"
-
-_syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/access.c b/mdk-stage1/dietlibc/syscalls.c/access.c
deleted file mode 100644
index 80944733a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/access.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,access,const char*,pathname,int,mode)
diff --git a/mdk-stage1/dietlibc/syscalls.c/chdir.c b/mdk-stage1/dietlibc/syscalls.c/chdir.c
deleted file mode 100644
index a679f528d..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/chdir.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,chdir,void*,path)
diff --git a/mdk-stage1/dietlibc/syscalls.c/chmod.c b/mdk-stage1/dietlibc/syscalls.c/chmod.c
deleted file mode 100644
index 80ad33b40..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/chmod.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,chmod,const char * ,path,mode_t,mode)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/chown.c b/mdk-stage1/dietlibc/syscalls.c/chown.c
deleted file mode 100644
index 5a9352684..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/chown.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,chown,char*,path,uid_t,owner,gid_t,group)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/chroot.c b/mdk-stage1/dietlibc/syscalls.c/chroot.c
deleted file mode 100644
index ab39f7ebe..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/chroot.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,chroot,void*,path)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/clone.c b/mdk-stage1/dietlibc/syscalls.c/clone.c
deleted file mode 100644
index 985eee4c8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/clone.c
+++ /dev/null
@@ -1 +0,0 @@
-#warning "No CLONE support yet"
diff --git a/mdk-stage1/dietlibc/syscalls.c/close.c b/mdk-stage1/dietlibc/syscalls.c/close.c
deleted file mode 100644
index a7d7f0076..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/close.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,close,int,fd)
diff --git a/mdk-stage1/dietlibc/syscalls.c/dup.c b/mdk-stage1/dietlibc/syscalls.c/dup.c
deleted file mode 100644
index 9c28f0bd6..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/dup.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,dup,int,fd)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/dup2.c b/mdk-stage1/dietlibc/syscalls.c/dup2.c
deleted file mode 100644
index 399314aa8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/dup2.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,dup2,int,one,int,two)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/execve.c b/mdk-stage1/dietlibc/syscalls.c/execve.c
deleted file mode 100644
index c2bac0117..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/execve.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,execve,const char *,fn,void *,argv,void *,envp)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/exit.c b/mdk-stage1/dietlibc/syscalls.c/exit.c
deleted file mode 100644
index 87087c939..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/exit.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,exit,int,exitcode)
diff --git a/mdk-stage1/dietlibc/syscalls.c/fchdir.c b/mdk-stage1/dietlibc/syscalls.c/fchdir.c
deleted file mode 100644
index b3a41dc7a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fchdir.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,fchdir,int,fd)
diff --git a/mdk-stage1/dietlibc/syscalls.c/fchmod.c b/mdk-stage1/dietlibc/syscalls.c/fchmod.c
deleted file mode 100644
index 09e52b6c7..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fchmod.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,fchmod,int,filedes,mode_t,mode)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/fchown.c b/mdk-stage1/dietlibc/syscalls.c/fchown.c
deleted file mode 100644
index 58923a137..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fchown.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,fchown,int,fd,uid_t,owner,gid_t,group)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/fcntl.c b/mdk-stage1/dietlibc/syscalls.c/fcntl.c
deleted file mode 100644
index b21be9531..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fcntl.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,fcntl,int,fd,int,cmd,long,arg)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/flock.c b/mdk-stage1/dietlibc/syscalls.c/flock.c
deleted file mode 100644
index 6fcb336ef..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/flock.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,flock,int,fd,int,op)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/fork.c b/mdk-stage1/dietlibc/syscalls.c/fork.c
deleted file mode 100644
index 1d4b892b6..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fork.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "syscalls.h"
-
-#ifndef __sparc__
-
-_syscall0(int,fork)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/fsync.c b/mdk-stage1/dietlibc/syscalls.c/fsync.c
deleted file mode 100644
index db6198b8a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fsync.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,fsync,int,fd)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/ftruncate.c b/mdk-stage1/dietlibc/syscalls.c/ftruncate.c
deleted file mode 100644
index 5f002a899..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/ftruncate.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <sys/types.h>
-#include "syscalls.h"
-
-_syscall2(int,ftruncate,int,fd,off_t,length)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getcwd.c b/mdk-stage1/dietlibc/syscalls.c/getcwd.c
deleted file mode 100644
index 9e5e4a3e2..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getcwd.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-/* this syscall exists since Linux 2.1.92 */
-
-_syscall2(int,getcwd,char*,buf,unsigned long,size)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getdents.c b/mdk-stage1/dietlibc/syscalls.c/getdents.c
deleted file mode 100644
index be941b21e..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getdents.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int, getdents, unsigned int, fd, void *, dirp, unsigned int, count);
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/getegid.c b/mdk-stage1/dietlibc/syscalls.c/getegid.c
deleted file mode 100644
index 3213d640c..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getegid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(gid_t,getegid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/geteuid.c b/mdk-stage1/dietlibc/syscalls.c/geteuid.c
deleted file mode 100644
index 5b31a3cca..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/geteuid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(uid_t,geteuid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getgid.c b/mdk-stage1/dietlibc/syscalls.c/getgid.c
deleted file mode 100644
index 2f7d96286..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getgid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(gid_t,getgid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getgroups.c b/mdk-stage1/dietlibc/syscalls.c/getgroups.c
deleted file mode 100644
index 3e4d6797a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getgroups.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,getgroups,int,size,int*,list)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getpgid.c b/mdk-stage1/dietlibc/syscalls.c/getpgid.c
deleted file mode 100644
index 0b4ff528b..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getpgid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(pid_t,getpgid,pid_t,pid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getpid.c b/mdk-stage1/dietlibc/syscalls.c/getpid.c
deleted file mode 100644
index d60a8db9a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getpid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall0(int,getpid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getppid.c b/mdk-stage1/dietlibc/syscalls.c/getppid.c
deleted file mode 100644
index ee87a8eae..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getppid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall0(int,getppid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getpriority.c b/mdk-stage1/dietlibc/syscalls.c/getpriority.c
deleted file mode 100644
index 6f94bcf42..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getpriority.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,getpriority,int,which,int,who)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/getresgid.c b/mdk-stage1/dietlibc/syscalls.c/getresgid.c
deleted file mode 100644
index 264ec7dce..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getresgid.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-#ifdef __NR_getresgid
-
-_syscall3(int,getresgid,gid_t*,rgid,gid_t*,egid,gid_t*,sgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/getresuid.c b/mdk-stage1/dietlibc/syscalls.c/getresuid.c
deleted file mode 100644
index 74e2daec2..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getresuid.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-#ifdef __getresuid
-
-_syscall3(int,getresuid,uid_t*,ruid,uid_t*,euid,uid_t*,suid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/getrlimit.c b/mdk-stage1/dietlibc/syscalls.c/getrlimit.c
deleted file mode 100644
index 635b2baf4..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getrlimit.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,getrlimit,int,resource,void*,rlim)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getrusage.c b/mdk-stage1/dietlibc/syscalls.c/getrusage.c
deleted file mode 100644
index 815d3e617..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getrusage.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,getrusage,int,who,void*,rusage)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getsid.c b/mdk-stage1/dietlibc/syscalls.c/getsid.c
deleted file mode 100644
index 69974c36c..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getsid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(pid_t,getsid,pid_t,pid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/gettimeofday.c b/mdk-stage1/dietlibc/syscalls.c/gettimeofday.c
deleted file mode 100644
index 5f4931a0c..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/gettimeofday.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include <linux/time.h>
-#include "syscalls.h"
-
-_syscall2(int,gettimeofday,struct timeval *,tv,void *,tz)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getuid.c b/mdk-stage1/dietlibc/syscalls.c/getuid.c
deleted file mode 100644
index bf38447a6..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getuid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(uid_t,getuid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/ioctl.c b/mdk-stage1/dietlibc/syscalls.c/ioctl.c
deleted file mode 100644
index 1612109d3..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/ioctl.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,ioctl,int,fd,int,request,void *,argp)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/kill.c b/mdk-stage1/dietlibc/syscalls.c/kill.c
deleted file mode 100644
index e56b0ac1b..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/kill.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,kill,pid_t,pid,int,sig)
diff --git a/mdk-stage1/dietlibc/syscalls.c/lchown.c b/mdk-stage1/dietlibc/syscalls.c/lchown.c
deleted file mode 100644
index 976d2ee1f..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/lchown.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,lchown,char*,path,uid_t,owner,gid_t,group)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/link.c b/mdk-stage1/dietlibc/syscalls.c/link.c
deleted file mode 100644
index ab9b427d9..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/link.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,link,const char *,a,const char *,b)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/lseek.c b/mdk-stage1/dietlibc/syscalls.c/lseek.c
deleted file mode 100644
index 9925a2185..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/lseek.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(unsigned long,lseek,int,fd,unsigned long,offset,int,whence)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/mkdir.c b/mdk-stage1/dietlibc/syscalls.c/mkdir.c
deleted file mode 100644
index aac682c99..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mkdir.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,mkdir,void*,path,mode_t,mode)
diff --git a/mdk-stage1/dietlibc/syscalls.c/mknod.c b/mdk-stage1/dietlibc/syscalls.c/mknod.c
deleted file mode 100644
index 00e836b73..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mknod.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,mknod,const char*,pathname,mode_t,mode,dev_t,dev)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/mount.c b/mdk-stage1/dietlibc/syscalls.c/mount.c
deleted file mode 100644
index 2d71ee812..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mount.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall5(int,mount,const char *,spec,const char *,dir,const char *,type,unsigned long,rwflag,const void *,data);
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/mprotect.c b/mdk-stage1/dietlibc/syscalls.c/mprotect.c
deleted file mode 100644
index 634a12089..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mprotect.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,mprotect,const void *,addr, size_t, len, int, prot)
diff --git a/mdk-stage1/dietlibc/syscalls.c/mremap.c b/mdk-stage1/dietlibc/syscalls.c/mremap.c
deleted file mode 100644
index 37d066bac..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mremap.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall4(int,mremap,void*,old_address,size_t,old_size,size_t,new_size,unsigned long,flags)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/munmap.c b/mdk-stage1/dietlibc/syscalls.c/munmap.c
deleted file mode 100644
index 40bc98270..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/munmap.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,munmap,void*,start,size_t,len)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/nanosleep.c b/mdk-stage1/dietlibc/syscalls.c/nanosleep.c
deleted file mode 100644
index 71aca1f09..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/nanosleep.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include <linux/time.h>
-#include "syscalls.h"
-
-_syscall2(int,nanosleep,struct timeval *,in,struct timeval *,out)
diff --git a/mdk-stage1/dietlibc/syscalls.c/open.c b/mdk-stage1/dietlibc/syscalls.c/open.c
deleted file mode 100644
index 8b3ccfcc3..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/open.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,open,const char *,fn,int,flags,mode_t,mode)
diff --git a/mdk-stage1/dietlibc/syscalls.c/pipe.c b/mdk-stage1/dietlibc/syscalls.c/pipe.c
deleted file mode 100644
index 42197c881..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/pipe.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(int,pipe,int *,filedes)
diff --git a/mdk-stage1/dietlibc/syscalls.c/poll.c b/mdk-stage1/dietlibc/syscalls.c/poll.c
deleted file mode 100644
index 10d0d1f78..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/poll.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,poll,void *,ufds,int,nfds,int,timeout)
diff --git a/mdk-stage1/dietlibc/syscalls.c/read.c b/mdk-stage1/dietlibc/syscalls.c/read.c
deleted file mode 100644
index f5532054e..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/read.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,read,int,fd,const char *,buf,unsigned long,count)
diff --git a/mdk-stage1/dietlibc/syscalls.c/readlink.c b/mdk-stage1/dietlibc/syscalls.c/readlink.c
deleted file mode 100644
index 482f8fe27..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/readlink.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-#include <linux/types.h>
-
-_syscall3(int,readlink,char*,path,char*,buf,size_t,bufsiz)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/reboot.c b/mdk-stage1/dietlibc/syscalls.c/reboot.c
deleted file mode 100644
index 0ad474894..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/reboot.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,reboot,int,magic,int,magic_too,int,flag)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/rename.c b/mdk-stage1/dietlibc/syscalls.c/rename.c
deleted file mode 100644
index f86d50728..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/rename.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,rename,char*,oldpath,char*,newpath)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/rmdir.c b/mdk-stage1/dietlibc/syscalls.c/rmdir.c
deleted file mode 100644
index 303885264..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/rmdir.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,rmdir,void*,path)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setdomainname.c b/mdk-stage1/dietlibc/syscalls.c/setdomainname.c
deleted file mode 100644
index 83d3aa8b8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setdomainname.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,setdomainname,const char *,name,int,len)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/setgid.c b/mdk-stage1/dietlibc/syscalls.c/setgid.c
deleted file mode 100644
index 1f7263aeb..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setgid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,setgid,int,gid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setgroups.c b/mdk-stage1/dietlibc/syscalls.c/setgroups.c
deleted file mode 100644
index fed3b85c1..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setgroups.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,setgroups,int,size,const int*,list)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/sethostname.c b/mdk-stage1/dietlibc/syscalls.c/sethostname.c
deleted file mode 100644
index e4b736f87..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sethostname.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,sethostname,const char *,name,int,len)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/setitimer.c b/mdk-stage1/dietlibc/syscalls.c/setitimer.c
deleted file mode 100644
index 28935cab7..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setitimer.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,setitimer,int,which,void *,value,void *,ovalue)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/setpgid.c b/mdk-stage1/dietlibc/syscalls.c/setpgid.c
deleted file mode 100644
index 66fbf82dd..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setpgid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,setpgid,int,name,int,len)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setpriority.c b/mdk-stage1/dietlibc/syscalls.c/setpriority.c
deleted file mode 100644
index bc04227d2..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setpriority.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,setpriority,int,which,int,who,int,prio)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/setregid.c b/mdk-stage1/dietlibc/syscalls.c/setregid.c
deleted file mode 100644
index c6911aca8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setregid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,setregid,gid_t,rgid,gid_t,egid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setresgid.c b/mdk-stage1/dietlibc/syscalls.c/setresgid.c
deleted file mode 100644
index 817fd2942..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setresgid.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-#ifdef __NR_setresgid
-
-_syscall3(int,setresgid,gid_t*,rgid,gid_t*,egid,gid_t*,sgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/setresuid.c b/mdk-stage1/dietlibc/syscalls.c/setresuid.c
deleted file mode 100644
index 7073d8ac2..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setresuid.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-#ifdef __NR_setresuid
-
-_syscall3(int,setresuid,uid_t*,ruid,uid_t*,euid,uid_t*,suid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/setreuid.c b/mdk-stage1/dietlibc/syscalls.c/setreuid.c
deleted file mode 100644
index c0c23a12d..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setreuid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,setreuid,uid_t,ruid,uid_t,euid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setrlimit.c b/mdk-stage1/dietlibc/syscalls.c/setrlimit.c
deleted file mode 100644
index 213234282..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setrlimit.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,setrlimit,int,resource,void*,rlim)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setsid.c b/mdk-stage1/dietlibc/syscalls.c/setsid.c
deleted file mode 100644
index 4b35a1316..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setsid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(pid_t,setsid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setuid.c b/mdk-stage1/dietlibc/syscalls.c/setuid.c
deleted file mode 100644
index 620876c9f..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setuid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,setuid,int,uid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sigaction.c b/mdk-stage1/dietlibc/syscalls.c/sigaction.c
deleted file mode 100644
index cfa5c683f..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sigaction.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,sigaction,int,signum,void*,act,void*,oldact)
diff --git a/mdk-stage1/dietlibc/syscalls.c/signal.c b/mdk-stage1/dietlibc/syscalls.c/signal.c
deleted file mode 100644
index 1a913be45..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/signal.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,signal,int,num,void *,len)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sigpending.c b/mdk-stage1/dietlibc/syscalls.c/sigpending.c
deleted file mode 100644
index 08fb23991..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sigpending.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,sigpending,void*,set)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sigprocmask.c b/mdk-stage1/dietlibc/syscalls.c/sigprocmask.c
deleted file mode 100644
index e9dcc2d67..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sigprocmask.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,sigprocmask,int,how,void*,set,void*,oldset)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sigsuspend.c b/mdk-stage1/dietlibc/syscalls.c/sigsuspend.c
deleted file mode 100644
index 0fe90e623..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sigsuspend.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,sigsuspend,void*,mask)
diff --git a/mdk-stage1/dietlibc/syscalls.c/socketcall.c b/mdk-stage1/dietlibc/syscalls.c/socketcall.c
deleted file mode 100644
index eee1ae86d..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/socketcall.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,socketcall,int,code,unsigned long *, args)
diff --git a/mdk-stage1/dietlibc/syscalls.c/swapoff.c b/mdk-stage1/dietlibc/syscalls.c/swapoff.c
deleted file mode 100644
index e1daa89a9..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/swapoff.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,swapoff,const char *,fn)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/swapon.c b/mdk-stage1/dietlibc/syscalls.c/swapon.c
deleted file mode 100644
index 543e41e79..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/swapon.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,swapon,const char*,path,int,swapflags)
diff --git a/mdk-stage1/dietlibc/syscalls.c/symlink.c b/mdk-stage1/dietlibc/syscalls.c/symlink.c
deleted file mode 100644
index b3f4d0b1c..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/symlink.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,symlink,const char *,a,const char *,b)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sync.c b/mdk-stage1/dietlibc/syscalls.c/sync.c
deleted file mode 100644
index cca17461f..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sync.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall0(int,sync)
diff --git a/mdk-stage1/dietlibc/syscalls.c/syslog.c b/mdk-stage1/dietlibc/syscalls.c/syslog.c
deleted file mode 100644
index aace870ea..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/syslog.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,syslog,int, type, char *, buf, int, len);
diff --git a/mdk-stage1/dietlibc/syscalls.c/time.c b/mdk-stage1/dietlibc/syscalls.c/time.c
deleted file mode 100644
index dc15b28f9..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/time.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(time_t,time,time_t*,path)
diff --git a/mdk-stage1/dietlibc/syscalls.c/truncate.c b/mdk-stage1/dietlibc/syscalls.c/truncate.c
deleted file mode 100644
index 721bd7134..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/truncate.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,truncate,const char*,path,off_t,length)
diff --git a/mdk-stage1/dietlibc/syscalls.c/umask.c b/mdk-stage1/dietlibc/syscalls.c/umask.c
deleted file mode 100644
index 506038243..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/umask.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(int,umask,mode_t,mask)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/umount.c b/mdk-stage1/dietlibc/syscalls.c/umount.c
deleted file mode 100644
index 4d3ef7637..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/umount.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,umount,const char *,dir)
diff --git a/mdk-stage1/dietlibc/syscalls.c/uname.c b/mdk-stage1/dietlibc/syscalls.c/uname.c
deleted file mode 100644
index 68f135007..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/uname.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(int,uname,void *,utsname)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/unlink.c b/mdk-stage1/dietlibc/syscalls.c/unlink.c
deleted file mode 100644
index 860ccebbf..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/unlink.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,unlink,const char *,fn)
diff --git a/mdk-stage1/dietlibc/syscalls.c/utime.c b/mdk-stage1/dietlibc/syscalls.c/utime.c
deleted file mode 100644
index 185bdf9e8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/utime.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,utime,void*,filename,void*,buf)
diff --git a/mdk-stage1/dietlibc/syscalls.c/vhangup.c b/mdk-stage1/dietlibc/syscalls.c/vhangup.c
deleted file mode 100644
index bb0669765..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/vhangup.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall0(int,vhangup)
diff --git a/mdk-stage1/dietlibc/syscalls.c/wait4.c b/mdk-stage1/dietlibc/syscalls.c/wait4.c
deleted file mode 100644
index 4ae7eabcd..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/wait4.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall4(int,wait4,pid_t,pid,int *,status,int,opts,void *,rusage)
diff --git a/mdk-stage1/dietlibc/syscalls.c/waitpid.c b/mdk-stage1/dietlibc/syscalls.c/waitpid.c
deleted file mode 100644
index b7167f9ce..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/waitpid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,waitpid,int,pid,int *,status,int,options)
diff --git a/mdk-stage1/dietlibc/syscalls.c/write.c b/mdk-stage1/dietlibc/syscalls.c/write.c
deleted file mode 100644
index d1f7347d5..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/write.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,write,int,fd,const char *,buf,unsigned long,count)
diff --git a/mdk-stage1/dietlibc/syscalls.h b/mdk-stage1/dietlibc/syscalls.h
deleted file mode 100644
index eba7a3c00..000000000
--- a/mdk-stage1/dietlibc/syscalls.h
+++ /dev/null
@@ -1,142 +0,0 @@
-#ifdef __ASSEMBLER__
-
-#include <asm/unistd.h>
-
-#else
-
-#include <linux/unistd.h>
-
-#endif
-
-#ifdef __i386__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-sym: \
- movb $__NR_##name,%al; \
- jmp __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-sym: \
- movb $__NR_##name,%al; \
- jmp __unified_syscall
-
-#endif
-
-#ifdef __sparc__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-sym: \
- b __unified_syscall; \
- mov __NR_##name, %g1
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-sym: \
- b __unified_syscall; \
- mov __NR_##name, %g1
-
-#endif
-
-#ifdef __powerpc__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-sym: \
- li 0,__NR_##name; \
- b __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-sym: \
- li 0,__NR_##name; \
- b __unified_syscall
-
-#endif
-
-
-#ifdef __mips__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-.ent sym; \
-sym: \
- li $2,__NR_##name; \
- la $25,__unified_syscall; \
- jr $25; \
-.end sym
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-.ent sym; \
-sym: \
- li $2,__NR_##name; \
- la $25,__unified_syscall; \
- jr $25; \
-.end sym
-
-#endif
-
-#ifdef __arm__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-sym: \
- swi __NR_##name; \
- b __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-sym: \
- swi __NR_##name; \
- b __unified_syscall
-
-#endif
-
-
-#ifdef __alpha__
-
-#define syscall_weak(name,wsym,sym) \
-.text ; \
-.align 2 ; \
-.weak wsym; \
-.type wsym,@function ; \
-wsym: ; \
-.global sym ; \
-.type sym,@function ; \
-sym: ; \
- lda $0, __NR_##name($31) ; \
- br __unified_syscall
-
-#define syscall(name,sym) \
-.text ; \
-.align 2 ; \
-.global sym ; \
-.type sym,@function ; \
-sym: ; \
- lda $0, __NR_##name($31) ; \
- br __unified_syscall
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S b/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S
deleted file mode 100644
index c9fd97898..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getpagesize
-syscall(getpagesize,getpagesize)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/__pread.S b/mdk-stage1/dietlibc/syscalls.s/__pread.S
deleted file mode 100644
index ad47c7873..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__pread.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(pread,__pread,__libc__pread)
diff --git a/mdk-stage1/dietlibc/syscalls.s/__reboot.S b/mdk-stage1/dietlibc/syscalls.s/__reboot.S
deleted file mode 100644
index 0de4f25b2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__reboot.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(reboot,__reboot)
diff --git a/mdk-stage1/dietlibc/syscalls.s/_llseek.S b/mdk-stage1/dietlibc/syscalls.s/_llseek.S
deleted file mode 100644
index 3e240d822..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/_llseek.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(_llseek,_llseek)
diff --git a/mdk-stage1/dietlibc/syscalls.s/access.S b/mdk-stage1/dietlibc/syscalls.s/access.S
deleted file mode 100644
index d1edafd8c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/access.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(access,access)
diff --git a/mdk-stage1/dietlibc/syscalls.s/brk.S b/mdk-stage1/dietlibc/syscalls.s/brk.S
deleted file mode 100644
index 6e21810bd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/brk.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(brk,__diet_brk)
diff --git a/mdk-stage1/dietlibc/syscalls.s/chdir.S b/mdk-stage1/dietlibc/syscalls.s/chdir.S
deleted file mode 100644
index 204f3dd6c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chdir.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(chdir,chdir)
diff --git a/mdk-stage1/dietlibc/syscalls.s/chmod.S b/mdk-stage1/dietlibc/syscalls.s/chmod.S
deleted file mode 100644
index c1b85f5a4..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chmod.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(chmod,chmod)
diff --git a/mdk-stage1/dietlibc/syscalls.s/chown.S b/mdk-stage1/dietlibc/syscalls.s/chown.S
deleted file mode 100644
index daac3bf13..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(chown,chown)
diff --git a/mdk-stage1/dietlibc/syscalls.s/chroot.S b/mdk-stage1/dietlibc/syscalls.s/chroot.S
deleted file mode 100644
index 65de1e473..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chroot.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(chroot,chroot)
diff --git a/mdk-stage1/dietlibc/syscalls.s/close.S b/mdk-stage1/dietlibc/syscalls.s/close.S
deleted file mode 100644
index 361ca5272..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/close.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(close,close,__libc_close)
diff --git a/mdk-stage1/dietlibc/syscalls.s/dup.S b/mdk-stage1/dietlibc/syscalls.s/dup.S
deleted file mode 100644
index b2977fd43..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/dup.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(dup,dup)
diff --git a/mdk-stage1/dietlibc/syscalls.s/dup2.S b/mdk-stage1/dietlibc/syscalls.s/dup2.S
deleted file mode 100644
index 774bfbfe7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/dup2.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(dup2,dup2)
diff --git a/mdk-stage1/dietlibc/syscalls.s/execve.S b/mdk-stage1/dietlibc/syscalls.s/execve.S
deleted file mode 100644
index ff952ae7d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/execve.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(execve,execve)
diff --git a/mdk-stage1/dietlibc/syscalls.s/exit.S b/mdk-stage1/dietlibc/syscalls.s/exit.S
deleted file mode 100644
index 11c989529..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/exit.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(exit,exit,_exit)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fchdir.S b/mdk-stage1/dietlibc/syscalls.s/fchdir.S
deleted file mode 100644
index 0aeaf610b..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fchdir.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fchdir,fchdir)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fchmod.S b/mdk-stage1/dietlibc/syscalls.s/fchmod.S
deleted file mode 100644
index 30bc2e210..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fchmod.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fchmod,fchmod)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fchown.S b/mdk-stage1/dietlibc/syscalls.s/fchown.S
deleted file mode 100644
index bc2a296ea..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fchown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fchown,fchown)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fcntl.S b/mdk-stage1/dietlibc/syscalls.s/fcntl.S
deleted file mode 100644
index 2285929a0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fcntl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(fcntl,fcntl,__libc_fcntl)
diff --git a/mdk-stage1/dietlibc/syscalls.s/flock.S b/mdk-stage1/dietlibc/syscalls.s/flock.S
deleted file mode 100644
index 7b4daeff7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/flock.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(flock,flock)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fork.S b/mdk-stage1/dietlibc/syscalls.s/fork.S
deleted file mode 100644
index b40c3f708..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fork.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(fork,fork,__libc_fork)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat.S b/mdk-stage1/dietlibc/syscalls.s/fstat.S
deleted file mode 100644
index 9dd465cda..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fstat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fstat,fstat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat64.S b/mdk-stage1/dietlibc/syscalls.s/fstat64.S
deleted file mode 100644
index 0c7a41609..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fstat64.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(fstat64,__dietlibc_fstat64)
-#else
-syscall(fstat64,fstat64)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstatfs.S b/mdk-stage1/dietlibc/syscalls.s/fstatfs.S
deleted file mode 100644
index a23c8770c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fstatfs.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fstatfs,fstatfs)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fsync.S b/mdk-stage1/dietlibc/syscalls.s/fsync.S
deleted file mode 100644
index 66af59ef9..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fsync.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(fsync,fsync,__libc_fsync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/ftruncate.S b/mdk-stage1/dietlibc/syscalls.s/ftruncate.S
deleted file mode 100644
index dde57a615..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ftruncate.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ftruncate,ftruncate)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getcwd.S b/mdk-stage1/dietlibc/syscalls.s/getcwd.S
deleted file mode 100644
index e13262f20..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getcwd.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getcwd,__syscall_getcwd)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getdents.S b/mdk-stage1/dietlibc/syscalls.s/getdents.S
deleted file mode 100644
index f476e939d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getdents.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getdents,getdents)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getdents64.S b/mdk-stage1/dietlibc/syscalls.s/getdents64.S
deleted file mode 100644
index 16859addf..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getdents64.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getdents64
-syscall(getdents64,getdents64)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getegid.S b/mdk-stage1/dietlibc/syscalls.s/getegid.S
deleted file mode 100644
index 64843ee35..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getegid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getegid,getegid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/geteuid.S b/mdk-stage1/dietlibc/syscalls.s/geteuid.S
deleted file mode 100644
index 55dc00981..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/geteuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(geteuid,geteuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getgid.S b/mdk-stage1/dietlibc/syscalls.s/getgid.S
deleted file mode 100644
index 39f092685..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getgid,getgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getgroups.S b/mdk-stage1/dietlibc/syscalls.s/getgroups.S
deleted file mode 100644
index b4c57689c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getgroups.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getgroups,getgroups)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getitimer.S b/mdk-stage1/dietlibc/syscalls.s/getitimer.S
deleted file mode 100644
index 9a2084080..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getitimer.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getitimer,getitimer)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getpgid.S b/mdk-stage1/dietlibc/syscalls.s/getpgid.S
deleted file mode 100644
index e568f060f..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getpgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpgid,getpgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getpid.S b/mdk-stage1/dietlibc/syscalls.s/getpid.S
deleted file mode 100644
index 093884785..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getpid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpid,getpid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getppid.S b/mdk-stage1/dietlibc/syscalls.s/getppid.S
deleted file mode 100644
index b05e64ae3..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getppid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getppid,getppid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getpriority.S b/mdk-stage1/dietlibc/syscalls.s/getpriority.S
deleted file mode 100644
index 848b27ed7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getpriority.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpriority,getpriority)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getresgid.S b/mdk-stage1/dietlibc/syscalls.s/getresgid.S
deleted file mode 100644
index a1d873c15..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getresgid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getresgid
-
-syscall(getresgid,getresgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getresuid.S b/mdk-stage1/dietlibc/syscalls.s/getresuid.S
deleted file mode 100644
index 62f6d764f..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getresuid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __getresuid
-
-syscall(getresuid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getrlimit.S b/mdk-stage1/dietlibc/syscalls.s/getrlimit.S
deleted file mode 100644
index 1c63c0196..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getrlimit.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getrlimit,getrlimit)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getrusage.S b/mdk-stage1/dietlibc/syscalls.s/getrusage.S
deleted file mode 100644
index 2972c4938..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getrusage.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getrusage,getrusage)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getsid.S b/mdk-stage1/dietlibc/syscalls.s/getsid.S
deleted file mode 100644
index cf5cce9d5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getsid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsid,getsid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S b/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S
deleted file mode 100644
index f364b787a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(gettimeofday,gettimeofday)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getuid.S b/mdk-stage1/dietlibc/syscalls.s/getuid.S
deleted file mode 100644
index c53c25a7a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getuid,getuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/ioctl.S b/mdk-stage1/dietlibc/syscalls.s/ioctl.S
deleted file mode 100644
index 463d319dc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ioctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ioctl,ioctl)
diff --git a/mdk-stage1/dietlibc/syscalls.s/ioperm.S b/mdk-stage1/dietlibc/syscalls.s/ioperm.S
deleted file mode 100644
index 0acfde07a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ioperm.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ioperm,ioperm)
diff --git a/mdk-stage1/dietlibc/syscalls.s/iopl.S b/mdk-stage1/dietlibc/syscalls.s/iopl.S
deleted file mode 100644
index 06a6c53fb..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/iopl.S
+++ /dev/null
@@ -1,6 +0,0 @@
-
-#include "syscalls.h"
-
-#ifdef __NR_iopl
-syscall(iopl,iopl)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ipc.S b/mdk-stage1/dietlibc/syscalls.s/ipc.S
deleted file mode 100644
index 40479400d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ipc.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ipc,__ipc)
diff --git a/mdk-stage1/dietlibc/syscalls.s/kill.S b/mdk-stage1/dietlibc/syscalls.s/kill.S
deleted file mode 100644
index eb466dd33..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/kill.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(kill,kill)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lchown.S b/mdk-stage1/dietlibc/syscalls.s/lchown.S
deleted file mode 100644
index 19dfefaef..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lchown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(lchown,lchown)
diff --git a/mdk-stage1/dietlibc/syscalls.s/link.S b/mdk-stage1/dietlibc/syscalls.s/link.S
deleted file mode 100644
index 8015d11c8..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/link.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(link,link)
diff --git a/mdk-stage1/dietlibc/syscalls.s/llseek.S b/mdk-stage1/dietlibc/syscalls.s/llseek.S
deleted file mode 100644
index 0318b492e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/llseek.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR__llseek
-syscall(_llseek,llseek)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/lseek.S b/mdk-stage1/dietlibc/syscalls.s/lseek.S
deleted file mode 100644
index 93707a22a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lseek.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(lseek,lseek,__libc_lseek)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat.S b/mdk-stage1/dietlibc/syscalls.s/lstat.S
deleted file mode 100644
index 5720161c0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lstat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(lstat,lstat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat64.S b/mdk-stage1/dietlibc/syscalls.s/lstat64.S
deleted file mode 100644
index 33fd5ab94..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lstat64.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(lstat64,__dietlibc_lstat64)
-#else
-syscall(lstat64,lstat64)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/mkdir.S b/mdk-stage1/dietlibc/syscalls.s/mkdir.S
deleted file mode 100644
index d6214ee46..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mkdir.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mkdir,mkdir)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mknod.S b/mdk-stage1/dietlibc/syscalls.s/mknod.S
deleted file mode 100644
index c1b2af12d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mknod.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mknod,mknod)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mlockall.S b/mdk-stage1/dietlibc/syscalls.s/mlockall.S
deleted file mode 100644
index 6ad0eef9d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mlockall.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mlockall,mlockall)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mount.S b/mdk-stage1/dietlibc/syscalls.s/mount.S
deleted file mode 100644
index 2fd845561..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mount.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mount,mount)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mprotect.S b/mdk-stage1/dietlibc/syscalls.s/mprotect.S
deleted file mode 100644
index 73e9a8e17..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mprotect.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mprotect,mprotect)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mremap.S b/mdk-stage1/dietlibc/syscalls.s/mremap.S
deleted file mode 100644
index 259ccec99..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mremap.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mremap,mremap)
diff --git a/mdk-stage1/dietlibc/syscalls.s/munlockall.S b/mdk-stage1/dietlibc/syscalls.s/munlockall.S
deleted file mode 100644
index 776811dea..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/munlockall.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(munlockall,munlockall)
diff --git a/mdk-stage1/dietlibc/syscalls.s/munmap.S b/mdk-stage1/dietlibc/syscalls.s/munmap.S
deleted file mode 100644
index b43a7b22d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/munmap.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(munmap,munmap)
diff --git a/mdk-stage1/dietlibc/syscalls.s/nanosleep.S b/mdk-stage1/dietlibc/syscalls.s/nanosleep.S
deleted file mode 100644
index 279a52604..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/nanosleep.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(nanosleep,nanosleep,__libc_nanosleep)
diff --git a/mdk-stage1/dietlibc/syscalls.s/nice.S b/mdk-stage1/dietlibc/syscalls.s/nice.S
deleted file mode 100644
index 7d3f740b2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/nice.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(nice,nice)
diff --git a/mdk-stage1/dietlibc/syscalls.s/open.S b/mdk-stage1/dietlibc/syscalls.s/open.S
deleted file mode 100644
index 280efd0d9..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/open.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(open,open,__libc_open)
diff --git a/mdk-stage1/dietlibc/syscalls.s/pause.S b/mdk-stage1/dietlibc/syscalls.s/pause.S
deleted file mode 100644
index cdf42cabd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pause.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(pause,pause,__libc_pause)
diff --git a/mdk-stage1/dietlibc/syscalls.s/personality.S b/mdk-stage1/dietlibc/syscalls.s/personality.S
deleted file mode 100644
index 34b467084..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/personality.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_personality
-syscall(personality,personality)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/pipe.S b/mdk-stage1/dietlibc/syscalls.s/pipe.S
deleted file mode 100644
index 03994d055..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pipe.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(pipe,pipe)
diff --git a/mdk-stage1/dietlibc/syscalls.s/poll.S b/mdk-stage1/dietlibc/syscalls.s/poll.S
deleted file mode 100644
index 359f55ddd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/poll.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(poll,poll)
diff --git a/mdk-stage1/dietlibc/syscalls.s/ptrace.s b/mdk-stage1/dietlibc/syscalls.s/ptrace.s
deleted file mode 100644
index 392e6a4ed..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ptrace.s
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ptrace,ptrace)
diff --git a/mdk-stage1/dietlibc/syscalls.s/pwrite.S b/mdk-stage1/dietlibc/syscalls.s/pwrite.S
deleted file mode 100644
index f52ead7b2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pwrite.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(pwrite,__pwrite)
diff --git a/mdk-stage1/dietlibc/syscalls.s/query_module.S b/mdk-stage1/dietlibc/syscalls.s/query_module.S
deleted file mode 100644
index cb2f1d852..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/query_module.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_query_module
-syscall(query_module,query_module)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/read.S b/mdk-stage1/dietlibc/syscalls.s/read.S
deleted file mode 100644
index 33fdb7531..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/read.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(read,read,__libc_read)
diff --git a/mdk-stage1/dietlibc/syscalls.s/readlink.S b/mdk-stage1/dietlibc/syscalls.s/readlink.S
deleted file mode 100644
index 850e77c4e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/readlink.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(readlink,readlink)
diff --git a/mdk-stage1/dietlibc/syscalls.s/readv.S b/mdk-stage1/dietlibc/syscalls.s/readv.S
deleted file mode 100644
index 757c26bfb..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/readv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(readv,readv)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rename.S b/mdk-stage1/dietlibc/syscalls.s/rename.S
deleted file mode 100644
index f92f1dc5d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rename.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rename,rename)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rmdir.S b/mdk-stage1/dietlibc/syscalls.s/rmdir.S
deleted file mode 100644
index 341216e8c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rmdir.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rmdir,rmdir)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S
deleted file mode 100644
index caf403672..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_get_priority_max,sched_get_priority_max)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S
deleted file mode 100644
index a0c3337dc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_get_priority_min,sched_get_priority_min)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S b/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S
deleted file mode 100644
index 7190a40ae..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_getparam,sched_getparam)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S b/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S
deleted file mode 100644
index 08709b65e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_getscheduler,sched_getscheduler)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S b/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S
deleted file mode 100644
index 150b9a98d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_rr_get_interval,sched_rr_get_interval)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S b/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S
deleted file mode 100644
index 3a6dd1dcc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_setparam,sched_setparam)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S b/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S
deleted file mode 100644
index 27869d6ce..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_setscheduler,sched_setscheduler)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_yield.S b/mdk-stage1/dietlibc/syscalls.s/sched_yield.S
deleted file mode 100644
index ccb9ac1d0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_yield.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_yield,sched_yield)
diff --git a/mdk-stage1/dietlibc/syscalls.s/select.S b/mdk-stage1/dietlibc/syscalls.s/select.S
deleted file mode 100644
index f585d0449..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/select.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(select,select)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile.S b/mdk-stage1/dietlibc/syscalls.s/sendfile.S
deleted file mode 100644
index 12d6195dd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sendfile.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "syscalls.h"
-#include "dietwarning.h"
-
-syscall_weak(sendfile,sendfile,__libc_sendfile)
-
-link_warning(sendfile,"sendfile is not portable and does not support large files")
diff --git a/mdk-stage1/dietlibc/syscalls.s/setdomainname.S b/mdk-stage1/dietlibc/syscalls.s/setdomainname.S
deleted file mode 100644
index eaade25da..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setdomainname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setdomainname,setdomainname)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setgid.S b/mdk-stage1/dietlibc/syscalls.s/setgid.S
deleted file mode 100644
index 69b18a9c9..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setgid,setgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setgroups.S b/mdk-stage1/dietlibc/syscalls.s/setgroups.S
deleted file mode 100644
index ce8e800a6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setgroups.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setgroups,setgroups)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sethostname.S b/mdk-stage1/dietlibc/syscalls.s/sethostname.S
deleted file mode 100644
index 7616d4848..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sethostname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sethostname,sethostname)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setitimer.S b/mdk-stage1/dietlibc/syscalls.s/setitimer.S
deleted file mode 100644
index bcb0623ba..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setitimer.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setitimer,setitimer)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setpgid.S b/mdk-stage1/dietlibc/syscalls.s/setpgid.S
deleted file mode 100644
index e93db31dc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setpgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setpgid,setpgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setpriority.S b/mdk-stage1/dietlibc/syscalls.s/setpriority.S
deleted file mode 100644
index 57d7bc388..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setpriority.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setpriority,setpriority)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setregid.S b/mdk-stage1/dietlibc/syscalls.s/setregid.S
deleted file mode 100644
index 3a7abbc28..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setregid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setregid,setregid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid.S b/mdk-stage1/dietlibc/syscalls.s/setresgid.S
deleted file mode 100644
index 64cbac94e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresgid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __setresgid
-
-syscall(setresgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresuid.S b/mdk-stage1/dietlibc/syscalls.s/setresuid.S
deleted file mode 100644
index 20b6abee9..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresuid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __setresuid
-
-syscall(setresuid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setreuid.S b/mdk-stage1/dietlibc/syscalls.s/setreuid.S
deleted file mode 100644
index 33ca8deed..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setreuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setreuid,setreuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setrlimit.S b/mdk-stage1/dietlibc/syscalls.s/setrlimit.S
deleted file mode 100644
index 605105658..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setrlimit.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setrlimit,setrlimit)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setsid.S b/mdk-stage1/dietlibc/syscalls.s/setsid.S
deleted file mode 100644
index d1ef1c58e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setsid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setsid,setsid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setuid.S b/mdk-stage1/dietlibc/syscalls.s/setuid.S
deleted file mode 100644
index d20571cbf..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setuid,setuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigaction.S b/mdk-stage1/dietlibc/syscalls.s/sigaction.S
deleted file mode 100644
index 32382870c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigaction.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sigaction,sigaction)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S b/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S
deleted file mode 100644
index b07d90f40..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sigaltstack,sigaltstack,__sigaltstack)
diff --git a/mdk-stage1/dietlibc/syscalls.s/signal.S b/mdk-stage1/dietlibc/syscalls.s/signal.S
deleted file mode 100644
index 86c4d5db0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/signal.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(signal,signal)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigpending.S b/mdk-stage1/dietlibc/syscalls.s/sigpending.S
deleted file mode 100644
index 08715bef5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigpending.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sigpending,sigpending)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
deleted file mode 100644
index 07f5b9d26..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sigprocmask,sigprocmask,__sigprocmask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
deleted file mode 100644
index 062264ab6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sigsuspend,sigsuspend,__libc_sigsuspend)
diff --git a/mdk-stage1/dietlibc/syscalls.s/socketcall.S b/mdk-stage1/dietlibc/syscalls.s/socketcall.S
deleted file mode 100644
index 5837c049a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/socketcall.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socketcall,socketcall)
diff --git a/mdk-stage1/dietlibc/syscalls.s/stat.S b/mdk-stage1/dietlibc/syscalls.s/stat.S
deleted file mode 100644
index 2aa3bc088..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(stat,stat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/stat64.S b/mdk-stage1/dietlibc/syscalls.s/stat64.S
deleted file mode 100644
index 734fcab20..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stat64.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(stat64,__dietlibc_stat64)
-#else
-syscall(stat64,stat64)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/statfs.S b/mdk-stage1/dietlibc/syscalls.s/statfs.S
deleted file mode 100644
index 7560f569d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/statfs.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(statfs,statfs)
diff --git a/mdk-stage1/dietlibc/syscalls.s/stime.S b/mdk-stage1/dietlibc/syscalls.s/stime.S
deleted file mode 100644
index 9d9f5bf0a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stime.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(stime,stime)
diff --git a/mdk-stage1/dietlibc/syscalls.s/swapoff.S b/mdk-stage1/dietlibc/syscalls.s/swapoff.S
deleted file mode 100644
index f75ec94e0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/swapoff.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(swapoff,swapoff)
diff --git a/mdk-stage1/dietlibc/syscalls.s/swapon.S b/mdk-stage1/dietlibc/syscalls.s/swapon.S
deleted file mode 100644
index d10594168..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/swapon.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(swapon,swapon)
diff --git a/mdk-stage1/dietlibc/syscalls.s/symlink.S b/mdk-stage1/dietlibc/syscalls.s/symlink.S
deleted file mode 100644
index 07a6a7fdc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/symlink.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(symlink,symlink)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sync.S b/mdk-stage1/dietlibc/syscalls.s/sync.S
deleted file mode 100644
index 1ee021693..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sync.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sync,sync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sysctl.S b/mdk-stage1/dietlibc/syscalls.s/sysctl.S
deleted file mode 100644
index 536e62b3d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sysctl.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sysctl
-syscall(sysctl,_sysctl)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/sysinfo.S b/mdk-stage1/dietlibc/syscalls.s/sysinfo.S
deleted file mode 100644
index eaec7941e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sysinfo.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sysinfo,sysinfo)
diff --git a/mdk-stage1/dietlibc/syscalls.s/syslog.S b/mdk-stage1/dietlibc/syscalls.s/syslog.S
deleted file mode 100644
index 6af3c4eac..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/syslog.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(syslog,__syscall_syslog)
diff --git a/mdk-stage1/dietlibc/syscalls.s/time.S b/mdk-stage1/dietlibc/syscalls.s/time.S
deleted file mode 100644
index 26c79091c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/time.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(time,time)
diff --git a/mdk-stage1/dietlibc/syscalls.s/times.S b/mdk-stage1/dietlibc/syscalls.s/times.S
deleted file mode 100644
index dcc8a6dd0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/times.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(times,times)
diff --git a/mdk-stage1/dietlibc/syscalls.s/truncate.S b/mdk-stage1/dietlibc/syscalls.s/truncate.S
deleted file mode 100644
index 7052bdcee..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/truncate.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(truncate,truncate)
diff --git a/mdk-stage1/dietlibc/syscalls.s/umask.S b/mdk-stage1/dietlibc/syscalls.s/umask.S
deleted file mode 100644
index 9f8ffeda6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/umask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(umask,umask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/umount.S b/mdk-stage1/dietlibc/syscalls.s/umount.S
deleted file mode 100644
index 4a423d964..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/umount.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(umount,umount)
diff --git a/mdk-stage1/dietlibc/syscalls.s/umount2.S b/mdk-stage1/dietlibc/syscalls.s/umount2.S
deleted file mode 100644
index 4cdd6a200..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/umount2.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(umount2,umount2)
diff --git a/mdk-stage1/dietlibc/syscalls.s/uname.S b/mdk-stage1/dietlibc/syscalls.s/uname.S
deleted file mode 100644
index a460d2aa6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/uname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(uname,uname)
diff --git a/mdk-stage1/dietlibc/syscalls.s/unlink.S b/mdk-stage1/dietlibc/syscalls.s/unlink.S
deleted file mode 100644
index bd6713061..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/unlink.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(unlink,unlink)
diff --git a/mdk-stage1/dietlibc/syscalls.s/utime.S b/mdk-stage1/dietlibc/syscalls.s/utime.S
deleted file mode 100644
index 08cd22158..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/utime.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(utime,utime)
diff --git a/mdk-stage1/dietlibc/syscalls.s/vhangup.S b/mdk-stage1/dietlibc/syscalls.s/vhangup.S
deleted file mode 100644
index 6e2d1d343..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/vhangup.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(vhangup,vhangup)
diff --git a/mdk-stage1/dietlibc/syscalls.s/wait4.S b/mdk-stage1/dietlibc/syscalls.s/wait4.S
deleted file mode 100644
index ca6773569..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/wait4.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(wait4,wait4)
diff --git a/mdk-stage1/dietlibc/syscalls.s/waitpid.S b/mdk-stage1/dietlibc/syscalls.s/waitpid.S
deleted file mode 100644
index 5cdc18afb..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/waitpid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(waitpid,waitpid,__libc_waitpid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/write.S b/mdk-stage1/dietlibc/syscalls.s/write.S
deleted file mode 100644
index ba20395df..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/write.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(write,write,__libc_write)
diff --git a/mdk-stage1/dietlibc/syscalls.s/writev.S b/mdk-stage1/dietlibc/syscalls.s/writev.S
deleted file mode 100644
index 8ec7aa6b0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/writev.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(writev,writev)
diff --git a/mdk-stage1/disk.c b/mdk-stage1/disk.c
deleted file mode 100644
index 9b47ce466..000000000
--- a/mdk-stage1/disk.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/mount.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include "stage1.h"
-#include "frontend.h"
-#include "modules.h"
-#include "probing.h"
-#include "log.h"
-#include "mount.h"
-#include "lomount.h"
-#include "automatic.h"
-
-#include "disk.h"
-
-static char * disk_extract_list_directory(char * direct)
-{
- char ** full = list_directory(direct);
- char tmp[2000] = "";
- int i;
- for (i=0; i<5 ; i++) {
- if (!full || !*full)
- break;
- strcat(tmp, *full);
- strcat(tmp, "\n");
- full++;
- }
- return strdup(tmp);
-}
-
-static enum return_type try_with_device(char *dev_name)
-{
- char * questions_location[] = { "Directory or ISO image", NULL };
- char * questions_location_auto[] = { "directory", NULL };
- static char ** answers_location = NULL;
- char device_fullname[50];
- char location_full[500];
-
- char * disk_own_mount = "/tmp/hdimage";
-
- int major, minor, blocks;
- char name[100];
-
- char buf[512];
- FILE * f;
- char * parts[50];
- char * parts_comments[50];
- struct stat statbuf;
- int i = 0;
- enum return_type results;
- char * choice;
-
- if (!(f = fopen("/proc/partitions", "rb")) || !fgets(buf, sizeof(buf), f) || !fgets(buf, sizeof(buf), f)) {
- log_perror(dev_name);
- stg1_error_message("Could not read partitions information.");
- return RETURN_ERROR;
- }
-
- while (fgets(buf, sizeof(buf), f)) {
- bzero(name, sizeof(name));
- sscanf(buf, " %d %d %d %s", &major, &minor, &blocks, name);
- if ((strstr(name, dev_name) == name) && (blocks > 1) && (name[strlen(dev_name)] != '\0')) {
- parts[i] = strdup(name);
- parts_comments[i] = (char *) malloc(sizeof(char) * 25);
- snprintf(parts_comments[i], 24, "size: %d Mbytes", blocks >> 10);
- i++;
- }
- }
- parts[i] = NULL;
- fclose(f);
-
- if (parts[0] == NULL) {
- stg1_error_message("No partitions found.");
- return RETURN_ERROR;
- }
-
- results = ask_from_list_comments_auto("Please choose the partition where is copied the " DISTRIB_NAME " Distribution.",
- parts, parts_comments, &choice, "partition", parts);
- if (results != RETURN_OK)
- return results;
-
- strcpy(device_fullname, "/dev/");
- strcat(device_fullname, choice);
-
- if (my_mount(device_fullname, disk_own_mount, "ext2") == -1 &&
- my_mount(device_fullname, disk_own_mount, "vfat") == -1 &&
- my_mount(device_fullname, disk_own_mount, "reiserfs") == -1) {
- stg1_error_message("I can't find a valid filesystem (tried: ext2, vfat, reiserfs).");
- return try_with_device(dev_name);
- }
-
- if (ask_from_entries_auto("Please enter the directory (or ISO image file) containing the " DISTRIB_NAME " Distribution.",
- questions_location, &answers_location, 24, questions_location_auto, NULL) != RETURN_OK) {
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
-
- strcpy(location_full, disk_own_mount);
- strcat(location_full, "/");
- strcat(location_full, answers_location[0]);
-
- if (access(location_full, R_OK)) {
- stg1_error_message("Directory or ISO image file could not be found on partition.\n"
- "Here's a short extract of the files in the root of the partition:\n"
- "%s", disk_extract_list_directory(disk_own_mount));
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
-
- unlink(IMAGE_LOCATION);
-
- if (!stat(location_full, &statbuf) && !S_ISDIR(statbuf.st_mode)) {
- log_message("%s exists and is not a directory, assuming this is an ISO image", location_full);
- if (lomount(location_full, IMAGE_LOCATION)) {
- stg1_error_message("Could not mount file %s as an ISO image of the " DISTRIB_NAME " Distribution.", answers_location[0]);
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- } else
- symlink(location_full, IMAGE_LOCATION);
-
- if (IS_SPECIAL_STAGE2 || ramdisk_possible()) {
- /* RAMDISK install */
- if (access(IMAGE_LOCATION RAMDISK_LOCATION, R_OK)) {
- stg1_error_message("I can't find the " DISTRIB_NAME " Distribution in the specified directory. "
- "(I need the subdirectory " RAMDISK_LOCATION ")\n"
- "Here's a short extract of the files in the directory:\n"
- "%s", disk_extract_list_directory(IMAGE_LOCATION));
- loumount();
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- if (load_ramdisk() != RETURN_OK) {
- stg1_error_message("Could not load program into memory.");
- loumount();
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- } else {
- /* LIVE install */
- char p;
- if (access(IMAGE_LOCATION LIVE_LOCATION, R_OK)) {
- stg1_error_message("I can't find the " DISTRIB_NAME " Distribution in the specified directory. "
- "(I need the subdirectory " LIVE_LOCATION ")\n"
- "Here's a short extract of the files in the directory:\n"
- "%s", disk_extract_list_directory(IMAGE_LOCATION));
- loumount();
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- if (readlink(IMAGE_LOCATION LIVE_LOCATION "/usr/bin/runinstall2", &p, 1) != 1) {
- stg1_error_message("The " DISTRIB_NAME " Distribution seems to be copied on a Windows partition. "
- "You need more memory to perform an installation from a Windows partition. "
- "Another solution if to copy the " DISTRIB_NAME " Distribution on a Linux partition.");
- loumount();
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- log_message("found the " DISTRIB_NAME " Installation, good news!");
- }
-
- if (IS_RESCUE) {
- loumount();
- umount(disk_own_mount);
- }
-
- method_name = strdup("disk");
- return RETURN_OK;
-}
-
-enum return_type disk_prepare(void)
-{
- char ** medias, ** ptr, ** medias_models;
- char * choice;
- int i, count = 0;
- enum return_type results;
-
- my_insmod("sd_mod", ANY_DRIVER_TYPE, NULL);
-
- get_medias(DISK, &medias, &medias_models);
-
- ptr = medias;
- while (ptr && *ptr) {
- count++;
- ptr++;
- }
-
- if (count == 0) {
- stg1_error_message("No DISK drive found.");
- i = ask_insmod(SCSI_ADAPTERS);
- if (i == RETURN_BACK)
- return RETURN_BACK;
- return disk_prepare();
- }
-
- if (count == 1) {
- results = try_with_device(*medias);
- if (results == RETURN_OK)
- return RETURN_OK;
- i = ask_insmod(SCSI_ADAPTERS);
- if (i == RETURN_BACK)
- return RETURN_BACK;
- return disk_prepare();
- }
-
- results = ask_from_list_comments_auto("Please choose the DISK drive on which you copied the " DISTRIB_NAME " Distribution.",
- medias, medias_models, &choice, "disk", medias);
-
- if (results != RETURN_OK)
- return results;
-
- results = try_with_device(choice);
- if (results == RETURN_OK)
- return RETURN_OK;
- i = ask_insmod(SCSI_ADAPTERS);
- if (i == RETURN_BACK)
- return RETURN_BACK;
- return disk_prepare();
-}
diff --git a/mdk-stage1/disk.h b/mdk-stage1/disk.h
deleted file mode 100644
index 54213cf68..000000000
--- a/mdk-stage1/disk.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef _DISK_H_
-#define _DISK_H_
-
-enum return_type disk_prepare(void);
-
-#endif
diff --git a/mdk-stage1/dns.c b/mdk-stage1/dns.c
deleted file mode 100644
index d1e67c78d..000000000
--- a/mdk-stage1/dns.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-
-// dietlibc can do hostname lookup, whereas glibc can't when linked statically :-(
-
-#ifdef __LIBC_DIETLIBC__
-
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <netdb.h>
-#include <sys/socket.h>
-
-#include "network.h"
-#include "log.h"
-
-#include "dns.h"
-
-int mygethostbyname(char * name, struct in_addr * addr)
-{
- struct hostent * h = gethostbyname(name);
- if (!h) {
- if (domain) {
- // gethostbyname from dietlibc doesn't support domain handling
- char fully_qualified[500];
- sprintf(fully_qualified, "%s.%s", name, domain);
- h = gethostbyname(fully_qualified);
- if (!h) {
- log_message("unknown host %s", name);
- return -1;
- }
- } else
- return -1;
- }
-
- if (h->h_addr_list && (h->h_addr_list)[0]) {
- memcpy(addr, (h->h_addr_list)[0], sizeof(*addr));
- log_message("is-at: %s", inet_ntoa(*addr));
- return 0;
- }
- return -1;
-}
-
-char * mygethostbyaddr(char * ipnum)
-{
- struct in_addr in;
- struct hostent * host;
- if (!inet_aton(ipnum, &in))
- return NULL;
- host = gethostbyaddr(&in, strlen((void *) &in), AF_INET);
- if (host && host->h_name)
- return host->h_name;
- return NULL;
-}
-
-
-#else // __LIBC_DIETLIBC__
-
-#include <alloca.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <resolv.h>
-#include <arpa/nameser.h>
-#include <arpa/inet.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "log.h"
-
-#include "dns.h"
-
-/* This is dumb, but glibc doesn't like to do hostname lookups w/o libc.so */
-
-union dns_response {
- HEADER hdr;
- u_char buf[PACKETSZ];
-} ;
-
-static int do_query(char * query, int queryType, char ** domainName, struct in_addr * ipNum)
-{
- int len, ancount, type;
- u_char * data, * end;
- char name[MAXDNAME];
- union dns_response response;
-
-#ifdef __sparc__
- /* from jj: */
- /* We have to wait till ethernet negotiation is done */
- _res.retry = 3;
-#else
- _res.retry = 2;
-#endif
-
-
- len = res_search(query, C_IN, queryType, (void *) &response, sizeof(response));
- if (len <= 0)
- return -1;
-
- if (ntohs(response.hdr.rcode) != NOERROR)
- return -1;
-
- ancount = ntohs(response.hdr.ancount);
- if (ancount < 1)
- return -1;
-
- data = response.buf + sizeof(HEADER);
- end = response.buf + len;
-
- /* skip the question */
- data += dn_skipname(data, end) + QFIXEDSZ;
-
- /* parse the answer(s) */
- while (--ancount >= 0 && data < end) {
-
- /* skip the domain name portion of the RR record */
- data += dn_skipname(data, end);
-
- /* get RR information */
- GETSHORT(type, data);
- data += INT16SZ; /* skipp class */
- data += INT32SZ; /* skipp TTL */
- GETSHORT(len, data);
-
- if (type == T_PTR) {
- /* we got a pointer */
- len = dn_expand(response.buf, end, data, name, sizeof(name));
- if (len <= 0) return -1;
- if (queryType == T_PTR && domainName) {
- /* we wanted a pointer */
- *domainName = malloc(strlen(name) + 1);
- strcpy(*domainName, name);
- return 0;
- }
- } else if (type == T_A) {
- /* we got an address */
- if (queryType == T_A && ipNum) {
- /* we wanted an address */
- memcpy(ipNum, data, sizeof(*ipNum));
- return 0;
- }
- }
-
- /* move ahead to next RR */
- data += len;
- }
-
- return -1;
-}
-
-char * mygethostbyaddr(char * ipnum) {
- int rc;
- char * result;
- char * strbuf;
- char * chptr;
- char * splits[4];
- int i;
-
- _res.retry = 1;
-
- strbuf = alloca(strlen(ipnum) + 1);
- strcpy(strbuf, ipnum);
-
- ipnum = alloca(strlen(strbuf) + 20);
-
- for (i = 0; i < 4; i++) {
- chptr = strbuf;
- while (*chptr && *chptr != '.')
- chptr++;
- *chptr = '\0';
-
- if (chptr - strbuf > 3) return NULL;
- splits[i] = strbuf;
- strbuf = chptr + 1;
- }
-
- sprintf(ipnum, "%s.%s.%s.%s.in-addr.arpa", splits[3], splits[2], splits[1], splits[0]);
-
- rc = do_query(ipnum, T_PTR, &result, NULL);
-
- if (rc)
- return NULL;
- else
- return result;
-}
-
-int mygethostbyname(char * name, struct in_addr * addr) {
- int rc = do_query(name, T_A, NULL, addr);
- if (!rc)
- log_message("is-at %s", inet_ntoa(*addr));
- return rc;
-}
-
-#endif
diff --git a/mdk-stage1/dns.h b/mdk-stage1/dns.h
deleted file mode 100644
index 97af9c08a..000000000
--- a/mdk-stage1/dns.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef H_DNS
-#define H_DNS
-
-#include <netinet/in.h>
-
-int mygethostbyname(char * name, struct in_addr * addr);
-char * mygethostbyaddr(char * ipnum);
-
-#endif
diff --git a/mdk-stage1/doc/HACKING b/mdk-stage1/doc/HACKING
deleted file mode 100644
index d196c8010..000000000
--- a/mdk-stage1/doc/HACKING
+++ /dev/null
@@ -1,31 +0,0 @@
-If you have to boot pretty often, you'll appreciate to speed the things up
-a little.
-
-Here's what we use: the GRUB feature to boot from the network using the
-DHCP protocol and the TFTP protocol.
-
-Here's the "menu.lst" to do that:
-
--=-=--
-
-timeout 0
-
-title linux
-dhcp
-tftpserver 192.168.1.17
-kernel (nd)/tftpboot/gc/vmlinuz ramdisk=32000 vga=788
-initrd (nd)/tftpboot/gc/network.rdz
-
--=-=--
-
-
-The option "tftpserver" is used to override the tftpserver address given
-as an answer by the DHCP server. That way, you'll not need to bother your
-system administrator to modify his dhcp server configuration.
-
-The directory /tftpboot seems to be the only one defaultly accepted by the
-server, and its subdirs.
-
-
-Of course, your GRUB needs to be compiled with the specific code for your
-network card; use ./configure --help in the GRUB build dir for more infos.
diff --git a/mdk-stage1/doc/README b/mdk-stage1/doc/README
deleted file mode 100644
index e3747cf30..000000000
--- a/mdk-stage1/doc/README
+++ /dev/null
@@ -1,185 +0,0 @@
--------------------------------------------------------
-* Stage1 of the Linux-Mandrake installation program *
--------------------------------------------------------
-
-
-[ Author ]
-
- Guillaume Cottenceau (gc@mandrakesoft.com)
-
-
-[ Copyright ]
-
- Copyright 2000 MandrakeSoft
-
- Partially inspired by Redhat stuff (install from 5.x and 7.x) copyright
- Red Hat Software, and Debian stuff (boot-floppies) copyright by their
- respective holders.
-
-
-[ Licence ]
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
- *** WARNING! ***
-
- This General Public License does not permit incorporating any part
- of this program as a library into proprietary programs.
-
-
-[ Online ]
-
- http://us.mandrakesoft.com/~gc/html/stage1.html
-
-
-[ Purpose ]
-
- This code will take the control of the computer after that Linux
- kernel booted properly, and will try to run the main installer
- (also known as "stage 2") from a series of different media
- including harddrive, cdrom, and network.
-
- Use the source, Luke.
-
-
-
-
- -=-=-- Okay, now, more details --=-=-
-
-
- [ Installing Linux-Mandrake ]
-
-Per default, just insert your Linux-Mandrake Installation CD into your
-CDROM tray, be sure your system BIOS is configured to boot on your CDROM,
-and that's all.
-
-If you have multiple CDROM drives and the installer can't autodetect in
-which CDROM drive is the disc, it may ask you to choose the correct drive,
-between your CDROM drives.
-
-Also, if you want to install from an SCSI CDROM, the installer should
-detect your SCSI adapter; if it fails you may have to select the right
-driver and/or supply additional parameters.
-
-
- [ Position of the problem ]
-
-The need for alternate installation methods come with more specific
-hardware configuration and/or need for frequent updates of the Installer
-software.
-
-All of these methods will require to use a special boot disk. The method
-is to download it and then to copy it "physically" to a floppy with the
-command:
-
-# dd if=<boot-disk> of=/dev/fd0
-
-Our boot disks are called "cdrom.img", "network.img", etc.
-
-
- [ Installation from CDROM ]
-
-The first situation you may encounter is an old BIOS which does not permit
-you to boot from your CDROM drive.
-
-In that case, you'll need to use the "cdrom.img" image file. The steps are
-the same as with CDROM boot, and everything should be automatic.
-
-
- [ Installation from DISK ]
-
-If you like trying occasionnally our development version, the Cooker, one
-of the easiest way is to grab a local copy of the Distribution on one of
-your local hard drives, and to install from that location.
-
-At present time, you can install from IDE or SCSI drives, from Linux
-(ext2), Windows (vfat) or Reiserfs partition.
-
-In that case, you'll need to use the "hd.img" image file. The dialogs will
-ask you to choose the DISK drive to use to install from, then the
-partition on which you copied the Distribution, then the location
-(directory) in which you copied the Distribution.
-
-
- [ Installation from NETWORK ]
-
-For convenience, you can also install from a NFS volume, from a FTP
-server, or from a HTTP server. NFS installs are maybe the fastest
-and most convenient possible, so if you need to do frequent and/or
-multiple installs, you may like this option.
-
-In that case, you'll need to use the "network.img" image file. If you have
-PCI network card(s), you'll probably have to only setup your network
-options. If not, you'll have to choose the appropriate driver(s) and/or
-optional parameters. Supported network configurations include static IP
-allocation and DHCP automatic configuration.
-
-
- [ Installation from PCMCIA ]
-
-If you want to perform an installation on your laptop that is not based on
-local IDE CDROM or DISK, nor on built-in network card, but on PCMCIA
-extension (probably a network adapter or CDROM drive), you'll need the
-"pcmcia.img" image file.
-
-PCMCIA services should automatically start and be transparent to you.
-Then, you'll follow the instructions according to your preferred
-installation method.
-
-
- [ Monitoring a stage1 session ]
-
-Linux supports virtual consoles. You can switch between them by issueing
-Ctrl+Alt+Fx key, in which 'x' is the number of the console. Here's console
-occupancy during stage1.
-
-(#1) The user-interface of the stage1 is on the first console. In case of
-newt interaction, it's provided with a neat blue and black color scheme,
-and nice widgets. In case of stdio interaction (cdrom and disk installs),
-it's more basic but still usable :-).
-
-(#2) A shell is provided on second console in some cases (you need to
-compile it with -DSPAWN_SHELL and you need to provide a valid shell in the
-initrd) and of course it's not in, in image files of Linux-Mandrake
-releases because it's too much diskspace.
-
-(#3) The log is printed out on the third console. This is the location
-where you can find most valuable information, prefixed by a '*'. See
-"log.h" for calls that print things out to the log.
-
-(#4) The kernel messages are printed on the fourth console. There is a
-process forked very early in the init (the program before the stage1)
-which monitors /proc/kmsg for new kernel messages. Also, syslog stuff (the
-logs commited by the programs) should appear on the /dev/log Unix socket,
-this is also printed on this console.
-
-(#5) Former place for the stderr of insmod calls. It's not used anymore.
-
-(#6) Place where a trivial interactive communication with the stage1 is
-set up if the parameter -DSPAWN_INTERACTIVE is compiled in. Basically, you
-can set switches such as "expert" and "rescue" on the fly with this
-feature. It's implemented with a fork and a Unix pipe.
-
-
- [ Rescueing a system ]
-
-Since Linux-Mandrake 7.1, we provide a rescue system through each of the
-previously described methods. You don't need a special "rescue.img" file.
-Just hit "F1" at boot time, type in "rescue", and follow the first steps
-of the installation according to the method you chose (choose
-disks/partitions for disk method, network parameters for network method,
-etc). Then, you'll end up with a workable system, very useful to rescue a
-damaged system, or do other basic actions.
diff --git a/mdk-stage1/doc/TECH-INFOS b/mdk-stage1/doc/TECH-INFOS
deleted file mode 100644
index 563b97ee1..000000000
--- a/mdk-stage1/doc/TECH-INFOS
+++ /dev/null
@@ -1,45 +0,0 @@
-
-| (*) Automatic install
-\----------------------
-
-This feature is used to replace redhat kickstart. I use the kernel
-parameter "automatic" with the following keywords:
-
-from list:
- method nfs, ftp, http, cdrom, disk
- network static, dhcp
- interface eth0, eth1, ..
-
-giving (string) values:
- (static IP infos)
- ip
- dns
- gateway
- netmask
-
- (2nd step network config)
- hostname
- domain
-
- (3rd step nfs, ftp, http installs)
- server
- directory
-
- (3rd step ftp only)
- user
- pass
-
- (2nd step disk install)
- disk
-
- (3rd step disk install)
- partition
-
- (4th step disk install)
- directory
-
-
-Keywords must be passed with commas and colons, that is for example:
-
- automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i586
-
diff --git a/mdk-stage1/doc/WHY-DIETLIBC b/mdk-stage1/doc/WHY-DIETLIBC
deleted file mode 100644
index e7c526b49..000000000
--- a/mdk-stage1/doc/WHY-DIETLIBC
+++ /dev/null
@@ -1,50 +0,0 @@
-(the dietlibc is a replacement for the glibc, which aim is to produce
-smaller statically linked binaries)
-
-
-The use for dietlibc in the stage1 was clear because currently used
-install process on x86 is from a 1.44 Mbytes floppy. On this floppy we
-need to fit the kernel, modules (scsi and network access), and the code to
-do the basic things to load the stage2. The only part on which we could
-progress was the code.
-
-As always, figures demonstrate evidences. Here are the size of the
-binaries used for the cdrom, disk, network and full floppy installs, using
-newt as the UI library:
-
- - with glibc
-
--rwxr-xr-x 1 gc gc 569448 May 15 15:29 stage1-cdrom
--rwxr-xr-x 1 gc gc 572264 May 15 15:29 stage1-disk
--rwxr-xr-x 1 gc gc 624712 May 15 15:30 stage1-network
--rwxr-xr-x 1 gc gc 720360 May 15 15:29 stage1-full
-
- - with dietlibc
-
--rwxr-xr-x 1 gc gc 169332 May 15 14:26 stage1-cdrom
--rwxr-xr-x 1 gc gc 172180 May 15 14:26 stage1-disk
--rwxr-xr-x 1 gc gc 198612 May 15 14:26 stage1-network
--rwxr-xr-x 1 gc gc 251764 May 15 14:26 stage1-full
-
-
-The `stage1-full' binary has code for many things, most notably: data
-decrunching (bzlib), archive extraction (in-house format), module loading
-(insmod from busybox), PCI detection, ide and scsi handling,
-cdrom/disk/loopback mounting, DHCP client negociation (redhat+grub), NFS
-mounting (util-linux), FTP and HTTP transmission (redhat), pcmcia
-initializing (pcmcia-cs), UI interaction (slang/newt); with use of the
-dietlibc, the binary is only 250 kbytes!
-
-
-Due to the modular coding, it is also possible to choose to not use
-slang/newt as the UI, but a stdio-only UI. In that case, the binaries get
-even smaller:
-
--rwxr-xr-x 1 gc gc 104500 May 15 15:46 stage1-cdrom*
--rwxr-xr-x 1 gc gc 107348 May 15 15:46 stage1-disk*
--rwxr-xr-x 1 gc gc 133972 May 15 15:47 stage1-network*
--rwxr-xr-x 1 gc gc 187348 May 15 15:46 stage1-full*
-
-
-
-gc [Tue May 15 15:58:34 2001] \ No newline at end of file
diff --git a/mdk-stage1/doc/documented..frontend.h b/mdk-stage1/doc/documented..frontend.h
deleted file mode 100644
index 10417ef3b..000000000
--- a/mdk-stage1/doc/documented..frontend.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Using high-level UI.
- *
- * These functions are frontend-independant: your program won't know each
- * `frontend' (e.g. each way to grab user input) will be used.
- *
- * Then you may link your binary against any `frontend' that implement all
- * these functions (and possibly necessary libraries).
- */
-
-
-#ifndef _FRONTEND_H_
-#define _FRONTEND_H_
-
-/* this must be called before anything else */
-void init_frontend(void);
-
-/* this must be called before exit of program */
-void finish_frontend(void);
-
-
-void info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* (blocks program) */
-
-void error_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* (blocks program) */
-
-/* (doesn't block program)
- * (this is not necessarily stackable, e.g. only one wait_message at a time) */
-void wait_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
-
-/* call this to finish the wait on wait_message */
-void remove_wait_message(void);
-
-/* monitor progression of something (downloading a file, etc)
- * if size of progression is unknown, use `0' */
-void init_progression(char *msg, int size);
-void update_progression(int current_size);
-void end_progression(void);
-
-enum frontend_return { RETURN_OK, RETURN_BACK, RETURN_ERROR };
-
-/* Yes == RETURN_OK No == RETURN_ERROR Back == RETURN_BACK */
-enum frontend_return ask_yes_no(char *msg);
-
-/* [elems] NULL terminated array of char*
- * [choice] address of a (unitialized) char* */
-enum frontend_return ask_from_list(char *msg, char ** elems, char ** choice);
-
-enum frontend_return ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice);
-
-/* [questions] NULL terminated array of char*
- * [answers] address of a (unitialized) char**, will contain a non-NULL terminated array of char*
- * [callback_func] function called at most when the answers change; it can examine the array of char* and assign some new char* */
-enum frontend_return ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings));
-
-#endif
diff --git a/mdk-stage1/frontend-common.c b/mdk-stage1/frontend-common.c
deleted file mode 100644
index caddeb7d4..000000000
--- a/mdk-stage1/frontend-common.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#include "frontend.h"
-
-
-void info_message(char *msg, ...)
-{
- va_list args;
- va_start(args, msg);
- vinfo_message(msg, args);
- va_end(args);
-}
-
-void wait_message(char *msg, ...)
-{
- va_list args;
- va_start(args, msg);
- vwait_message(msg, args);
- va_end(args);
-}
-
-void error_message(char *msg, ...)
-{
- va_list args;
- va_start(args, msg);
- verror_message(msg, args);
- va_end(args);
-}
diff --git a/mdk-stage1/frontend.h b/mdk-stage1/frontend.h
deleted file mode 100644
index 167291798..000000000
--- a/mdk-stage1/frontend.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * For doc please read doc/documented..frontend.h
- */
-
-#ifndef _FRONTEND_H_
-#define _FRONTEND_H_
-
-#include <stdarg.h>
-
-
-enum return_type { RETURN_OK, RETURN_BACK, RETURN_ERROR };
-
-void init_frontend(char * welcome_msg);
-void finish_frontend(void);
-
-void error_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* blocking */
-void info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* blocking */
-void wait_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* non-blocking */
-void remove_wait_message(void);
-
-void init_progression(char *msg, int size);
-void update_progression(int current_size);
-void end_progression(void);
-
-enum return_type ask_yes_no(char *msg);
-enum return_type ask_from_list(char *msg, char ** elems, char ** choice);
-enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice);
-enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings));
-
-
-void verror_message(char *msg, va_list ap);
-void vinfo_message(char *msg, va_list ap);
-void vwait_message(char *msg, va_list ap);
-
-
-#endif
diff --git a/mdk-stage1/init-data/emptyboot.img.bz2 b/mdk-stage1/init-data/emptyboot.img.bz2
deleted file mode 100644
index 6ae939c1b..000000000
--- a/mdk-stage1/init-data/emptyboot.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-data/msgboot-graphicallogo-2880.img.bz2 b/mdk-stage1/init-data/msgboot-graphicallogo-2880.img.bz2
deleted file mode 100644
index 9d5d276fb..000000000
--- a/mdk-stage1/init-data/msgboot-graphicallogo-2880.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-data/msgboot-graphicallogo.img.bz2 b/mdk-stage1/init-data/msgboot-graphicallogo.img.bz2
deleted file mode 100644
index b7febd63e..000000000
--- a/mdk-stage1/init-data/msgboot-graphicallogo.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-data/msgboot.img.bz2 b/mdk-stage1/init-data/msgboot.img.bz2
deleted file mode 100644
index c5f3a7ed7..000000000
--- a/mdk-stage1/init-data/msgboot.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-libc-headers.h b/mdk-stage1/init-libc-headers.h
deleted file mode 100644
index 01761e869..000000000
--- a/mdk-stage1/init-libc-headers.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/mount.h>
-#include <linux/un.h>
-#include <errno.h>
-#include <signal.h>
-#include <sys/resource.h>
-#include <sys/wait.h>
-#include <linux/unistd.h>
-#include <sys/select.h>
-
-#ifndef SOCK_STREAM
-#define SOCK_STREAM 1
-#endif
-
-static inline _syscall3(int, syslog, int, type, char *, bufp, int, len);
-static inline _syscall3(int, reboot, int, magic, int, magic2, int, flag);
diff --git a/mdk-stage1/init.c b/mdk-stage1/init.c
deleted file mode 100644
index eb84c5e06..000000000
--- a/mdk-stage1/init.c
+++ /dev/null
@@ -1,464 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef INIT_HEADERS
-#include "init-libc-headers.h"
-#else
-#include INIT_HEADERS
-#endif
-
-#include "config-stage1.h"
-
-
-char * env[] = {
- "PATH=/usr/bin:/bin:/sbin:/usr/sbin:/mnt/sbin:/mnt/usr/sbin:/mnt/bin:/mnt/usr/bin",
- "LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/lib:/mnt/usr/lib:/usr/X11R6/lib:/mnt/usr/X11R6/lib",
- "HOME=/",
- "TERM=linux",
- "TERMINFO=/etc/terminfo",
- NULL
-};
-
-
-/*
- * this needs to handle the following cases:
- *
- * 1) run from a CD root filesystem
- * 2) run from a read only nfs rooted filesystem
- * 3) run from a floppy
- * 4) run from a floppy that's been loaded into a ramdisk
- *
- */
-
-int testing;
-int klog_pid;
-
-
-void fatal_error(char *msg)
-{
- printf("FATAL ERROR IN INIT: %s\n\nI can't recover from this, please reboot manually and send bugreport.\n", msg);
- while (1);
-}
-
-void print_error(char *msg)
-{
- printf("E: %s\n", msg);
-}
-
-void print_warning(char *msg)
-{
- printf("W: %s\n", msg);
-}
-
-void print_int_init(int fd, int i)
-{
- char buf[10];
- char * chptr = buf + 9;
- int j = 0;
-
- if (i < 0)
- {
- write(1, "-", 1);
- i = -1 * i;
- }
-
- while (i)
- {
- *chptr-- = '0' + (i % 10);
- j++;
- i = i / 10;
- }
-
- write(fd, chptr + 1, j);
-}
-
-void print_str_init(int fd, char * string)
-{
- write(fd, string, strlen(string));
-}
-
-
-/* fork to:
- * (1) watch /proc/kmsg and copy the stuff to /dev/tty4
- * (2) listens to /dev/log and copy also this stuff (log from programs)
- */
-void doklog()
-{
- fd_set readset, unixs;
- int in, out, i;
- int log;
- int s;
- int sock = -1;
- struct sockaddr_un sockaddr;
- char buf[1024];
- int readfd;
-
- /* open kernel message logger */
- in = open("/proc/kmsg", O_RDONLY,0);
- if (in < 0) {
- print_error("could not open /proc/kmsg");
- return;
- }
-
- if ((log = open("/tmp/syslog", O_WRONLY | O_CREAT, 0644)) < 0) {
- print_error("error opening /tmp/syslog");
- sleep(5);
- return;
- }
-
- if ((klog_pid = fork())) {
- close(in);
- close(log);
- return;
- } else {
- close(0);
- close(1);
- close(2);
- }
-
- out = open("/dev/tty4", O_WRONLY, 0);
- if (out < 0)
- print_warning("couldn't open tty for syslog -- still using /tmp/syslog\n");
-
- /* now open the syslog socket */
-// ############# LINUX 2.4 /dev/log IS BUGGED! --> apparently the syslogs can't reach me, and it's full up after a while
-// sockaddr.sun_family = AF_UNIX;
-// strncpy(sockaddr.sun_path, "/dev/log", UNIX_PATH_MAX);
-// sock = socket(AF_UNIX, SOCK_STREAM, 0);
-// if (sock < 0) {
-// printf("error creating socket: %d\n", errno);
-// sleep(5);
-// }
-//
-// print_str_init(log, "] got socket\n");
-// if (bind(sock, (struct sockaddr *) &sockaddr, sizeof(sockaddr.sun_family) + strlen(sockaddr.sun_path))) {
-// print_str_init(log, "] bind error: ");
-// print_int_init(log, errno);
-// print_str_init(log, "\n");
-// sleep(5);
-// }
-//
-// print_str_init(log, "] bound socket\n");
-// chmod("/dev/log", 0666);
-// if (listen(sock, 5)) {
-// print_str_init(log, "] listen error: ");
-// print_int_init(log, errno);
-// print_str_init(log, "\n");
-// sleep(5);
-// }
-
- /* disable on-console syslog output */
- syslog(8, NULL, 1);
-
- print_str_init(log, "] kernel/system logger ok\n");
- FD_ZERO(&unixs);
- while (1) {
- memcpy(&readset, &unixs, sizeof(unixs));
-
- if (sock >= 0)
- FD_SET(sock, &readset);
- FD_SET(in, &readset);
-
- i = select(20, &readset, NULL, NULL, NULL);
- if (i <= 0)
- continue;
-
- /* has /proc/kmsg things to tell us? */
- if (FD_ISSET(in, &readset)) {
- i = read(in, buf, sizeof(buf));
- if (i > 0) {
- if (out >= 0)
- write(out, buf, i);
- write(log, buf, i);
- }
- }
-
- /* examine some fd's in the hope to find some syslog outputs from programs */
- for (readfd = 0; readfd < 20; ++readfd) {
- if (FD_ISSET(readfd, &readset) && FD_ISSET(readfd, &unixs)) {
- i = read(readfd, buf, sizeof(buf));
- if (i > 0) {
- /* grep out the output of RPM telling that it installed/removed some packages */
- if (!strstr(buf, "mdk installed") && !strstr(buf, "mdk removed")) {
- if (out >= 0)
- write(out, buf, i);
- write(log, buf, i);
- }
- } else if (i == 0) {
- /* socket closed */
- close(readfd);
- FD_CLR(readfd, &unixs);
- }
- }
- }
-
- /* the socket has moved, new stuff to do */
- if (sock >= 0 && FD_ISSET(sock, &readset)) {
- s = sizeof(sockaddr);
- readfd = accept(sock, (struct sockaddr *) &sockaddr, &s);
- if (readfd < 0) {
- char * msg_error = "] error in accept\n";
- if (out >= 0)
- write(out, msg_error, strlen(msg_error));
- write(log, msg_error, strlen(msg_error));
- close(sock);
- sock = -1;
- }
- else
- FD_SET(readfd, &unixs);
- }
- }
-}
-
-
-#define LOOP_CLR_FD 0x4C01
-
-void del_loop(char *device)
-{
- int fd;
- if ((fd = open(device, O_RDONLY, 0)) < 0) {
- printf("del_loop open failed\n");
- return;
- }
-
- if (ioctl(fd, LOOP_CLR_FD, 0) < 0) {
- printf("del_loop ioctl failed");
- return;
- }
-
- close(fd);
-}
-
-struct filesystem
-{
- char * dev;
- char * name;
- char * fs;
- int mounted;
-};
-
-/* attempt to unmount all filesystems in /proc/mounts */
-void unmount_filesystems(void)
-{
- int fd, size;
- char buf[65535]; /* this should be big enough */
- char *p;
- struct filesystem fs[500];
- int numfs = 0;
- int i, nb;
-
- printf("unmounting filesystems...\n");
-
- fd = open("/proc/mounts", O_RDONLY, 0);
- if (fd < 1) {
- print_error("failed to open /proc/mounts");
- sleep(2);
- return;
- }
-
- size = read(fd, buf, sizeof(buf) - 1);
- buf[size] = '\0';
-
- close(fd);
-
- p = buf;
- while (*p) {
- fs[numfs].mounted = 1;
- fs[numfs].dev = p;
- while (*p != ' ') p++;
- *p++ = '\0';
- fs[numfs].name = p;
- while (*p != ' ') p++;
- *p++ = '\0';
- fs[numfs].fs = p;
- while (*p != ' ') p++;
- *p++ = '\0';
- while (*p != '\n') p++;
- p++;
- if (strcmp(fs[numfs].name, "/") != 0) numfs++; /* skip if root, no need to take initrd root in account */
- }
-
- /* Pixel's ultra-optimized sorting algorithm:
- multiple passes trying to umount everything until nothing moves
- anymore (a.k.a holy shotgun method) */
- do {
- nb = 0;
- for (i = 0; i < numfs; i++) {
- /*printf("trying with %s\n", fs[i].name);*/
- if (fs[i].mounted && umount(fs[i].name) == 0) {
- if (strncmp(fs[i].dev + sizeof("/dev/") - 1, "loop",
- sizeof("loop") - 1) == 0)
- del_loop(fs[i].dev);
-
- printf("\t%s\n", fs[i].name);
- fs[i].mounted = 0;
- nb++;
- }
- }
- } while (nb);
-
- for (i = nb = 0; i < numfs; i++)
- if (fs[i].mounted) {
- printf("\t%s umount failed\n", fs[i].name);
- if (strcmp(fs[i].fs, "ext2") == 0) nb++; /* don't count not-ext2 umount failed */
- }
-
- if (nb) {
- printf("failed to umount some filesystems\n");
- while (1);
- }
-}
-
-int exit_value_rescue = 66;
-
-int main(int argc, char **argv)
-{
- pid_t installpid, childpid;
- int wait_status;
- int fd;
- int abnormal_termination = 0;
- int end_stage2 = 0;
-
- /* getpid() != 1 should work, by linuxrc tends to get a larger pid */
- testing = (getpid() > 50);
-
- if (!testing) {
- /* turn off screen blanking */
- printf("\033[9;0]");
- printf("\033[8]");
- }
- else
- printf("*** TESTING MODE ***\n");
-
-
- printf("\n\t\t\t\033[1;40mWelcome to Linux-\033[1;36mMandrake\033[0;39m\n\n");
-
- if (!testing) {
- if (mount("/proc", "/proc", "proc", 0, NULL))
- fatal_error("Unable to mount proc filesystem");
- }
-
-
- /* ignore Control-C and keyboard stop signals */
- signal(SIGINT, SIG_IGN);
- signal(SIGTSTP, SIG_IGN);
-
-
- if (!testing) {
- fd = open("/dev/tty1", O_RDWR, 0);
- if (fd < 0)
- /* try with devfs */
- fd = open("/dev/vc/1", O_RDWR, 0);
-
- if (fd < 0)
- fatal_error("failed to open /dev/tty1 and /dev/vc/1");
-
- dup2(fd, 0);
- dup2(fd, 1);
- dup2(fd, 2);
- close(fd);
- }
-
-
- /* I set me up as session leader (probably not necessary?) */
- setsid();
- if (ioctl(0, TIOCSCTTY, NULL))
- print_error("could not set new controlling tty");
-
- if (!testing) {
- char * my_hostname = "localhost.localdomain";
- sethostname(my_hostname, strlen(my_hostname));
- /* the default domainname (as of 2.0.35) is "(none)", which confuses
- glibc */
- setdomainname("", 0);
- }
-
- if (!testing)
- doklog();
-
- /* Go into normal init mode - keep going, and then do a orderly shutdown
- when:
-
- 1) install exits
- 2) we receive a SIGHUP
- */
-
- printf("Cooker says: chopping a bunch of trees each morning builds a man! (c) Warly\n");
- printf("Running install...\n");
-
- if (!(installpid = fork())) {
- /* child */
- char * child_argv[2];
- child_argv[0] = "/sbin/stage1";
- child_argv[1] = NULL;
-
- execve(child_argv[0], child_argv, env);
- printf("error in exec of stage1 :-(\n");
- return 0;
- }
-
- while (!end_stage2) {
- childpid = wait4(-1, &wait_status, 0, NULL);
- if (childpid == installpid)
- end_stage2 = 1;
- }
-
- if (!WIFEXITED(wait_status) || (WEXITSTATUS(wait_status) != 0 && WEXITSTATUS(wait_status) != exit_value_rescue)) {
- printf("install exited abnormally :-( ");
- if (WIFSIGNALED(wait_status))
- printf("-- received signal %d", WTERMSIG(wait_status));
- printf("\n");
- abnormal_termination = 1;
- } else if (WIFEXITED(wait_status) && WEXITSTATUS(wait_status) == exit_value_rescue) {
- kill(klog_pid, 9);
- printf("exiting init -- giving hand to rescue\n");
- return 0;
- } else
- printf("install succeeded\n");
-
- if (testing)
- return 0;
-
- sync(); sync();
-
- printf("sending termination signals...");
- kill(-1, 15);
- sleep(2);
- printf("done\n");
-
- printf("sending kill signals...");
- kill(-1, 9);
- sleep(2);
- printf("done\n");
-
- unmount_filesystems();
-
- if (!abnormal_termination) {
- printf("rebooting system\n");
- sleep(2);
- reboot(0xfee1dead, 672274793, 0x01234567);
- } else {
- printf("you may safely reboot your system\n");
- while (1);
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-busybox/.cvsignore b/mdk-stage1/insmod-busybox/.cvsignore
deleted file mode 100644
index 26a2c08c9..000000000
--- a/mdk-stage1/insmod-busybox/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-insmod
-insmod-DIET
diff --git a/mdk-stage1/insmod-busybox/Config.h b/mdk-stage1/insmod-busybox/Config.h
deleted file mode 100644
index 8388416b7..000000000
--- a/mdk-stage1/insmod-busybox/Config.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* vi: set sw=4 ts=4: */
-// This file defines the feature set to be compiled into busybox.
-// When you turn things off here, they won't be compiled in at all.
-//
-//// This file is parsed by sed. You MUST use single line comments.
-// i.e. //#define BB_BLAH
-//
-//
-// BusyBox Applications
-#define BB_INSMOD
-// End of Applications List
-//
-//
-//
-// ---------------------------------------------------------
-// This is where feature definitions go. Generally speaking,
-// turning this stuff off makes things a bit smaller (and less
-// pretty/useful).
-//
-//
-//
-// Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
-// thereby eliminating the need for the /proc filesystem and thereby saving
-// lots and lots memory for more important things. You can not use this and
-// USE_PROCFS at the same time... NOTE: If you enable this feature, you
-// _must_ have patched the kernel to include the devps patch that is included
-// in the busybox/kernel-patches directory. You will also need to create some
-// device special files in /dev on your embedded system:
-// mknod /dev/mtab c 10 22
-// mknod /dev/ps c 10 21
-// I emailed Linus and this patch will not be going into the stock kernel.
-//#define BB_FEATURE_USE_DEVPS_PATCH
-//
-// enable features that use the /proc filesystem (apps that
-// break without this will tell you on compile)...
-// You can't use this and BB_FEATURE_USE_DEVPS_PATCH
-// at the same time...
-#define BB_FEATURE_USE_PROCFS
-
-//
-// Enable tab completion in the shell (not yet
-// working very well -- so don't turn this on)
-//#define BB_FEATURE_SH_TAB_COMPLETION
-//
-//Turn on extra fbset options
-//#define BB_FEATURE_FBSET_FANCY
-//
-//Turn on fbset readmode support
-//#define BB_FEATURE_FBSET_READMODE
-//
-// You must enable one or both of these features
-// Support installing modules from pre 2.1 kernels
-//#define BB_FEATURE_INSMOD_OLD_KERNEL
-// Support installing modules from kernel versions after 2.1.18
-#define BB_FEATURE_INSMOD_NEW_KERNEL
-//
-// Support module version checking
-//#define BB_FEATURE_INSMOD_VERSION_CHECKING
-//
-// Support for Minix filesystem, version 2
-//#define BB_FEATURE_MINIX2
-//
-//
-// Enable busybox --install [-s]
-// to create links (or symlinks) for all the commands that are
-// compiled into the binary. (needs /proc filesystem)
-// #define BB_FEATURE_INSTALLER
-//
-// Clean up all memory before exiting -- usually not needed
-// as the OS can clean up... Don't enable this unless you
-// have a really good reason for cleaning things up manually.
-//#define BB_FEATURE_CLEAN_UP
-//
-// End of Features List
-//
-//
-//
-//
-//
-//
-//---------------------------------------------------
-// Nothing beyond this point should ever be touched by
-// mere mortals so leave this stuff alone.
-//
-#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
-#define BB_MTAB
-#endif
-//
-#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
-#define BB_CMDEDIT
-#endif
-//
-#ifdef BB_KILLALL
-#ifndef BB_KILL
-#define BB_KILL
-#endif
-#endif
-//
-#ifdef BB_FEATURE_LINUXRC
-#ifndef BB_INIT
-#define BB_INIT
-#endif
-#define BB_LINUXRC
-#endif
-//
-#ifdef BB_GZIP
-#ifndef BB_GUNZIP
-#define BB_GUNZIP
-#endif
-#endif
-//
-#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
-#define BB_NFSMOUNT
-#endif
-//
-#if defined BB_FEATURE_SH_COMMAND_EDITING
-#ifndef BB_FEATURE_USE_TERMIOS
-#define BB_FEATURE_USE_TERMIOS
-#endif
-#endif
-//
-#if defined BB_FEATURE_AUTOWIDTH
-#ifndef BB_FEATURE_USE_TERMIOS
-#define BB_FEATURE_USE_TERMIOS
-#endif
-#endif
-//
-#if defined BB_INSMOD
-#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
-#define BB_FEATURE_INSMOD_NEW_KERNEL
-#endif
-#endif
diff --git a/mdk-stage1/insmod-busybox/Makefile b/mdk-stage1/insmod-busybox/Makefile
deleted file mode 100644
index 9c0a60b79..000000000
--- a/mdk-stage1/insmod-busybox/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
- #******************************************************************************
- #
- # insmod from busybox (i386 only)
- #
- # $Id$
- #
- # Copyright (C) 1999,2000 by Lineo, inc.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-all: insmod insmod-DIET libinsmod.a libinsmod-DIET.a
-
-clean:
- rm -f *.o insmod libinsmod.a libinsmod-DIET.a
-
-
-FLAGS = -c -Wall -Os -fomit-frame-pointer -D_GNU_SOURCE -DBB_VER='"0.47"' -DBB_BT='"2000.12.06-14:02+0000"'
-
-
-insmod: insmod-frontend.o insmod.o utility-standalone.o
- gcc -o $@ $^
- $(STRIPCMD) $@
-
-insmod-DIET: insmod-frontend-DIET.o insmod-DIET.o utility-standalone-DIET.o
- gcc $(DIETLIBC_LDFLAGS_STAGE1) -o $@ $^ $(DIETLIBC_LIBC)
- $(STRIPCMD) $@
-
-
-libinsmod.a: insmod.o utility.o
- ar cru $@ $^
- ranlib $@
-
-libinsmod-DIET.a: insmod-DIET.o utility-DIET.o
- ar cru $@ $^
- ranlib $@
-
-insmod-frontend.o: insmod-frontend.c busybox.h
- gcc $(FLAGS) $(GLIBC_INCLUDES) insmod-frontend.c
-
-insmod-frontend-DIET.o: insmod-frontend.c busybox.h
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -o $@ insmod-frontend.c
-
-utility.o: utility.c busybox.h
- gcc $(FLAGS) $(GLIBC_INCLUDES) utility.c
-
-utility-DIET.o: utility.c busybox.h
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -o $@ utility.c
-
-utility-standalone.o: utility.c busybox.h
- gcc $(FLAGS) $(GLIBC_INCLUDES) -o $@ -D_STANDALONE_ utility.c
-
-utility-standalone-DIET.o: utility.c busybox.h
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -o $@ -D_STANDALONE_ utility.c
-
-insmod.o: insmod.c busybox.h
- gcc $(FLAGS) $(GLIBC_INCLUDES) insmod.c
-
-insmod-DIET.o: insmod.c busybox.h
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -o $@ insmod.c
-
diff --git a/mdk-stage1/insmod-busybox/README b/mdk-stage1/insmod-busybox/README
deleted file mode 100644
index 06695074a..000000000
--- a/mdk-stage1/insmod-busybox/README
+++ /dev/null
@@ -1,8 +0,0 @@
-This insmod code comes from busybox-0.47
-
-ftp://ftp.lineo.com/pub/busybox
-
-It is cool but works only for ix86 architecture.
-
-
-gc
diff --git a/mdk-stage1/insmod-busybox/busybox.h b/mdk-stage1/insmod-busybox/busybox.h
deleted file mode 100644
index a2d620c8b..000000000
--- a/mdk-stage1/insmod-busybox/busybox.h
+++ /dev/null
@@ -1,467 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Busybox main internal header file
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
- * Permission has been granted to redistribute this code under the GPL.
- *
- */
-#ifndef _BB_INTERNAL_H_
-#define _BB_INTERNAL_H_ 1
-
-#include "Config.h"
-
-#ifdef DMALLOC
-#include "dmalloc.h"
-#endif
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/param.h>
-/* for the _syscall() macros */
-#include <sys/syscall.h>
-#include <linux/unistd.h>
-#include <linux/kernel.h>
-
-/* Some useful definitions */
-#define FALSE ((int) 1)
-#define TRUE ((int) 0)
-
-/* for mtab.c */
-#define MTAB_GETMOUNTPT '1'
-#define MTAB_GETDEVICE '2'
-
-#define BUF_SIZE 8192
-#define EXPAND_ALLOC 1024
-
-
-#define isBlank(ch) (((ch) == ' ') || ((ch) == '\t'))
-#define isDecimal(ch) (((ch) >= '0') && ((ch) <= '9'))
-#define isOctal(ch) (((ch) >= '0') && ((ch) <= '7'))
-#define isWildCard(ch) (((ch) == '*') || ((ch) == '?') || ((ch) == '['))
-
-/* Macros for min/max. */
-#ifndef MIN
-#define MIN(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef MAX
-#define MAX(a,b) (((a)>(b))?(a):(b))
-#endif
-
-
-/* I don't like nested includes, but the string and io functions are used
- * too often
- */
-#include <stdio.h>
-#if !defined(NO_STRING_H) || defined(STDC_HEADERS)
-# include <string.h>
-# if !defined(STDC_HEADERS) && !defined(NO_MEMORY_H) && !defined(__GNUC__)
-# include <memory.h>
-# endif
-# define memzero(s, n) memset ((void *)(s), 0, (n))
-#else
-# include <strings.h>
-# define strchr index
-# define strrchr rindex
-# define memcpy(d, s, n) bcopy((s), (d), (n))
-# define memcmp(s1, s2, n) bcmp((s1), (s2), (n))
-# define memzero(s, n) bzero((s), (n))
-#endif
-
-
-enum Location {
- _BB_DIR_ROOT = 0,
- _BB_DIR_BIN,
- _BB_DIR_SBIN,
- _BB_DIR_USR_BIN,
- _BB_DIR_USR_SBIN
-};
-
-struct BB_applet {
- const char* name;
- int (*main)(int argc, char** argv);
- enum Location location;
- const char* usage;
-};
-/* From busybox.c */
-extern const struct BB_applet applets[];
-
-extern int ar_main(int argc, char **argv);
-extern int basename_main(int argc, char **argv);
-extern int bogomips_main(int argc, char **argv);
-extern int busybox_main(int argc, char** argv);
-extern int cat_main(int argc, char** argv);
-extern int chmod_chown_chgrp_main(int argc, char** argv);
-extern int chroot_main(int argc, char** argv);
-extern int chvt_main(int argc, char** argv);
-extern int clear_main(int argc, char** argv);
-extern int cp_mv_main(int argc, char** argv);
-extern int cut_main(int argc, char** argv);
-extern int date_main(int argc, char** argv);
-extern int dc_main(int argc, char** argv);
-extern int dd_main(int argc, char** argv);
-extern int dirname_main(int argc, char** argv);
-extern int deallocvt_main(int argc, char** argv);
-extern int df_main(int argc, char** argv);
-extern int dmesg_main(int argc, char** argv);
-extern int dos2unix_main(int argc, char** argv);
-extern int du_main(int argc, char** argv);
-extern int dumpkmap_main(int argc, char** argv);
-extern int dutmp_main(int argc, char** argv);
-extern int echo_main(int argc, char** argv);
-extern int expr_main(int argc, char** argv);
-extern int false_main(int argc, char** argv);
-extern int fbset_main(int argc, char** argv);
-extern int fdisk_main(int argc, char** argv);
-extern int fdflush_main(int argc, char **argv);
-extern int fsck_minix_main(int argc, char **argv);
-extern int find_main(int argc, char** argv);
-extern int free_main(int argc, char** argv);
-extern int freeramdisk_main(int argc, char** argv);
-extern int getopt_main(int argc, char** argv);
-extern int grep_main(int argc, char** argv);
-extern int gunzip_main (int argc, char** argv);
-extern int gzip_main(int argc, char** argv);
-extern int halt_main(int argc, char** argv);
-extern int head_main(int argc, char** argv);
-extern int hostid_main(int argc, char** argv);
-extern int hostname_main(int argc, char** argv);
-extern int id_main(int argc, char** argv);
-extern int init_main(int argc, char** argv);
-extern int insmod_main(int argc, char** argv);
-extern int kill_main(int argc, char** argv);
-extern int length_main(int argc, char** argv);
-extern int ln_main(int argc, char** argv);
-extern int loadacm_main(int argc, char** argv);
-extern int loadfont_main(int argc, char** argv);
-extern int loadkmap_main(int argc, char** argv);
-extern int losetup_main(int argc, char** argv);
-extern int logger_main(int argc, char **argv);
-extern int logname_main(int argc, char **argv);
-extern int ls_main(int argc, char** argv);
-extern int lsmod_main(int argc, char** argv);
-extern int makedevs_main(int argc, char** argv);
-extern int md5sum_main(int argc, char** argv);
-extern int mkdir_main(int argc, char** argv);
-extern int mkfifo_main(int argc, char **argv);
-extern int mkfs_minix_main(int argc, char **argv);
-extern int mknod_main(int argc, char** argv);
-extern int mkswap_main(int argc, char** argv);
-extern int mktemp_main(int argc, char **argv);
-extern int nc_main(int argc, char** argv);
-extern int more_main(int argc, char** argv);
-extern int mount_main(int argc, char** argv);
-extern int mt_main(int argc, char** argv);
-extern int nslookup_main(int argc, char **argv);
-extern int ping_main(int argc, char **argv);
-extern int poweroff_main(int argc, char **argv);
-extern int printf_main(int argc, char** argv);
-extern int ps_main(int argc, char** argv);
-extern int pwd_main(int argc, char** argv);
-extern int rdate_main(int argc, char** argv);
-extern int reboot_main(int argc, char** argv);
-extern int renice_main(int argc, char** argv);
-extern int reset_main(int argc, char** argv);
-extern int rm_main(int argc, char** argv);
-extern int rmdir_main(int argc, char **argv);
-extern int rmmod_main(int argc, char** argv);
-extern int sed_main(int argc, char** argv);
-extern int sfdisk_main(int argc, char** argv);
-extern int setkeycodes_main(int argc, char** argv);
-extern int shell_main(int argc, char** argv);
-extern int sleep_main(int argc, char** argv);
-extern int sort_main(int argc, char** argv);
-extern int swap_on_off_main(int argc, char** argv);
-extern int sync_main(int argc, char** argv);
-extern int syslogd_main(int argc, char **argv);
-extern int tail_main(int argc, char** argv);
-extern int tar_main(int argc, char** argv);
-extern int tee_main(int argc, char** argv);
-extern int test_main(int argc, char** argv);
-extern int telnet_main(int argc, char** argv);
-extern int touch_main(int argc, char** argv);
-extern int tr_main(int argc, char** argv);
-extern int true_main(int argc, char** argv);
-extern int tput_main(int argc, char** argv);
-extern int tryopen_main(int argc, char** argv);
-extern int tty_main(int argc, char** argv);
-extern int umount_main(int argc, char** argv);
-extern int uname_main(int argc, char** argv);
-extern int uniq_main(int argc, char** argv);
-extern int unix2dos_main(int argc, char** argv);
-extern int unrpm_main(int argc, char** argv);
-extern int update_main(int argc, char** argv);
-extern int uptime_main(int argc, char** argv);
-extern int usleep_main(int argc, char** argv);
-extern int uuencode_main(int argc, char** argv);
-extern int uudecode_main(int argc, char** argv);
-extern int wc_main(int argc, char** argv);
-extern int wget_main(int argc, char** argv);
-extern int which_main(int argc, char** argv);
-extern int whoami_main(int argc, char** argv);
-extern int xargs_main(int argc, char** argv);
-extern int yes_main(int argc, char** argv);
-
-extern const char ar_usage[];
-extern const char basename_usage[];
-extern const char cat_usage[];
-extern const char chgrp_usage[];
-extern const char chmod_usage[];
-extern const char chown_usage[];
-extern const char chroot_usage[];
-extern const char chvt_usage[];
-extern const char clear_usage[];
-extern const char cp_usage[];
-extern const char cut_usage[];
-extern const char date_usage[];
-extern const char dc_usage[];
-extern const char dd_usage[];
-extern const char deallocvt_usage[];
-extern const char df_usage[];
-extern const char dirname_usage[];
-extern const char dmesg_usage[];
-extern const char dos2unix_usage[];
-extern const char du_usage[];
-extern const char dumpkmap_usage[];
-extern const char dutmp_usage[];
-extern const char echo_usage[];
-extern const char expr_usage[];
-extern const char false_usage[];
-extern const char fdflush_usage[];
-extern const char find_usage[];
-extern const char free_usage[];
-extern const char freeramdisk_usage[];
-extern const char fsck_minix_usage[];
-extern const char grep_usage[];
-extern const char gunzip_usage[];
-extern const char gzip_usage[];
-extern const char halt_usage[];
-extern const char head_usage[];
-extern const char hostid_usage[];
-extern const char hostname_usage[];
-extern const char id_usage[];
-extern const char insmod_usage[];
-extern const char kill_usage[];
-extern const char killall_usage[];
-extern const char length_usage[];
-extern const char ln_usage[];
-extern const char loadacm_usage[];
-extern const char loadfont_usage[];
-extern const char loadkmap_usage[];
-extern const char logger_usage[];
-extern const char logname_usage[];
-extern const char ls_usage[];
-extern const char lsmod_usage[];
-extern const char makedevs_usage[];
-extern const char md5sum_usage[];
-extern const char mkdir_usage[];
-extern const char mkfifo_usage[];
-extern const char mkfs_minix_usage[];
-extern const char mknod_usage[];
-extern const char mkswap_usage[];
-extern const char mktemp_usage[];
-extern const char more_usage[];
-extern const char mount_usage[];
-extern const char mt_usage[];
-extern const char mv_usage[];
-extern const char nc_usage[];
-extern const char nslookup_usage[];
-extern const char ping_usage[];
-extern const char poweroff_usage[];
-extern const char printf_usage[];
-extern const char ps_usage[];
-extern const char pwd_usage[];
-extern const char rdate_usage[];
-extern const char reboot_usage[];
-extern const char renice_usage[];
-extern const char reset_usage[];
-extern const char rm_usage[];
-extern const char rmdir_usage[];
-extern const char rmmod_usage[];
-extern const char sed_usage[];
-extern const char setkeycodes_usage[];
-extern const char shell_usage[];
-extern const char sleep_usage[];
-extern const char sort_usage[];
-extern const char swapoff_usage[];
-extern const char swapon_usage[];
-extern const char sync_usage[];
-extern const char syslogd_usage[];
-extern const char tail_usage[];
-extern const char tar_usage[];
-extern const char tee_usage[];
-extern const char telnet_usage[];
-extern const char test_usage[];
-extern const char touch_usage[];
-extern const char tr_usage[];
-extern const char true_usage[];
-extern const char tty_usage[];
-extern const char umount_usage[];
-extern const char uname_usage[];
-extern const char uniq_usage[];
-extern const char unix2dos_usage[];
-extern const char unrpm_usage[];
-extern const char update_usage[];
-extern const char uptime_usage[];
-extern const char usleep_usage[];
-extern const char uudecode_usage[];
-extern const char uuencode_usage[];
-extern const char wc_usage[];
-extern const char wget_usage[];
-extern const char which_usage[];
-extern const char whoami_usage[];
-extern const char xargs_usage[];
-extern const char yes_usage[];
-
-extern const char *applet_name;
-
-extern void usage(const char *usage) __attribute__ ((noreturn));
-extern void errorMsg(const char *s, ...) __attribute__ ((format (printf, 1, 2)));
-extern void logperror(char *s);
-extern void fatalError(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2)));
-
-const char *modeString(int mode);
-const char *timeString(time_t timeVal);
-int isDirectory(const char *name, const int followLinks, struct stat *statBuf);
-int isDevice(const char *name);
-
-typedef struct ino_dev_hash_bucket_struct {
- struct ino_dev_hash_bucket_struct *next;
- ino_t ino;
- dev_t dev;
- char name[1];
-} ino_dev_hashtable_bucket_t;
-int is_in_ino_dev_hashtable(const struct stat *statbuf, char **name);
-void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name);
-void reset_ino_dev_hashtable(void);
-
-int copyFile(const char *srcName, const char *destName,
- int setModes, int followLinks, int forceFlag);
-int copySubFile(int srcFd, int dstFd, size_t remaining);
-char *buildName(const char *dirName, const char *fileName);
-int makeString(int argc, const char **argv, char *buf, int bufLen);
-char *getChunk(int size);
-char *chunkstrdup(const char *str);
-void freeChunks(void);
-int fullWrite(int fd, const char *buf, int len);
-int fullRead(int fd, char *buf, int len);
-int recursiveAction(const char *fileName, int recurse, int followLinks, int depthFirst,
- int (*fileAction) (const char *fileName, struct stat* statbuf, void* userData),
- int (*dirAction) (const char *fileName, struct stat* statbuf, void* userData),
- void* userData);
-
-extern int createPath (const char *name, int mode);
-extern int parse_mode( const char* s, mode_t* theMode);
-
-extern int get_kernel_revision(void);
-
-extern int get_console_fd(char* tty_name);
-extern struct mntent *findMountPoint(const char *name, const char *table);
-extern void write_mtab(char* blockDevice, char* directory,
- char* filesystemType, long flags, char* string_flags);
-extern void erase_mtab(const char * name);
-extern void mtab_read(void);
-extern char *mtab_first(void **iter);
-extern char *mtab_next(void **iter);
-extern char *mtab_getinfo(const char *match, const char which);
-extern int check_wildcard_match(const char* text, const char* pattern);
-extern long getNum (const char *cp);
-extern pid_t* findPidByName( char* pidName);
-extern int find_real_root_device_name(char* name);
-extern char *get_line_from_file(FILE *file);
-extern void print_file(FILE *file);
-extern int print_file_by_name(char *filename);
-extern char process_escape_sequence(char **ptr);
-extern char *get_last_path_component(char *path);
-// extern void xregcomp(regex_t *preg, const char *regex, int cflags);
-
-#ifndef DMALLOC
-extern void *xmalloc (size_t size);
-extern void *xrealloc(void *old, size_t size);
-extern void *xcalloc(size_t nmemb, size_t size);
-extern char *xstrdup (const char *s);
-#endif
-extern char *xstrndup (const char *s, int n);
-
-
-/* These parse entries in /etc/passwd and /etc/group. This is desirable
- * for BusyBox since we want to avoid using the glibc NSS stuff, which
- * increases target size and is often not needed embedded systems. */
-extern long my_getpwnam(char *name);
-extern long my_getgrnam(char *name);
-extern void my_getpwuid(char *name, long uid);
-extern void my_getgrgid(char *group, long gid);
-extern long my_getpwnamegid(char *name);
-
-extern int device_open(char *device, int mode);
-
-#if defined BB_FEATURE_MOUNT_LOOP
-extern int del_loop(const char *device);
-extern int set_loop(const char *device, const char *file, int offset, int *loopro);
-extern char *find_unused_loop_device (void);
-#endif
-
-
-#if (__GLIBC__ < 2) && (defined BB_SYSLOGD || defined BB_INIT)
-extern int vdprintf(int d, const char *format, va_list ap);
-#endif
-
-#if defined BB_NFSMOUNT
-int nfsmount(const char *spec, const char *node, int *flags,
- char **extra_opts, char **mount_opts, int running_bg);
-#endif
-
-#ifndef RB_POWER_OFF
-/* Stop system and switch power off if possible. */
-#define RB_POWER_OFF 0x4321fedc
-#endif
-
-/* Include our own copy of struct sysinfo to avoid binary compatability
- * problems with Linux 2.4, which changed things. Grumble, grumble. */
-//struct sysinfo {
-// long uptime; /* Seconds since boot */
-// unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
-// unsigned long totalram; /* Total usable main memory size */
-// unsigned long freeram; /* Available memory size */
-// unsigned long sharedram; /* Amount of shared memory */
-// unsigned long bufferram; /* Memory used by buffers */
-// unsigned long totalswap; /* Total swap space size */
-// unsigned long freeswap; /* swap space still available */
-// unsigned short procs; /* Number of current processes */
-// unsigned long totalhigh; /* Total high memory size */
-// unsigned long freehigh; /* Available high memory size */
-// unsigned int mem_unit; /* Memory unit size in bytes */
-// char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */
-//};
-extern int sysinfo (struct sysinfo* info);
-
-/* Bit map related macros -- libc5 doens't provide these... sigh. */
-#ifndef setbit
-#define NBBY CHAR_BIT
-#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
-#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
-#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
-#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
-#endif
-
-#endif /* _BB_INTERNAL_H_ */
diff --git a/mdk-stage1/insmod-busybox/insmod-frontend.c b/mdk-stage1/insmod-busybox/insmod-frontend.c
deleted file mode 100644
index 3e5d6b3d7..000000000
--- a/mdk-stage1/insmod-busybox/insmod-frontend.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <stdio.h>
-
-
-int insmod_main( int argc, char **argv);
-
-int main( int argc, char **argv)
-{
- printf("Using insmod provided by busybox.\n");
- return insmod_main(argc, argv);
-}
diff --git a/mdk-stage1/insmod-busybox/insmod.c b/mdk-stage1/insmod-busybox/insmod.c
deleted file mode 100644
index bdf7ba5f7..000000000
--- a/mdk-stage1/insmod-busybox/insmod.c
+++ /dev/null
@@ -1,2951 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Mini insmod implementation for busybox
- *
- * Copyright (C) 1999,2000 by Lineo, inc.
- * Written by Erik Andersen <andersen@lineo.com>
- * and Ron Alder <alder@lineo.com>
- *
- * Modified by Bryan Rittmeyer <bryan@ixiacom.com> to support SH4
- * and (theoretically) SH3. Note that there is still no true
- * multiple architecture support. You just get SH3|SH4|i386, despite
- * the mention of ARM and m68k--which may or may not work (but
- * almost certainly do not, due to at least MATCH_MACHINE). I have
- * only tested SH4 in little endian mode.
- *
- * Based almost entirely on the Linux modutils-2.3.11 implementation.
- * Copyright 1996, 1997 Linux International.
- * New implementation contributed by Richard Henderson <rth@tamu.edu>
- * Based on original work by Bjorn Ekwall <bj0rn@blox.se>
- * Restructured (and partly rewritten) by:
- * Bjrn Ekwall <bj0rn@blox.se> February 1999
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "../insmod.h"
-#include "busybox.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <stddef.h>
-#include <errno.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <ctype.h>
-#include <assert.h>
-#include <sys/utsname.h>
-
-//----------------------------------------------------------------------------
-//--------modutils module.h, lines 45-242
-//----------------------------------------------------------------------------
-
-/* Definitions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#ifndef MODUTILS_MODULE_H
-#define MODUTILS_MODULE_H 1
-
-#ident "$Id$"
-
-/* This file contains the structures used by the 2.0 and 2.1 kernels.
- We do not use the kernel headers directly because we do not wish
- to be dependant on a particular kernel version to compile insmod. */
-
-
-/*======================================================================*/
-/* The structures used by Linux 2.0. */
-
-/* The symbol format used by get_kernel_syms(2). */
-struct old_kernel_sym
-{
- unsigned long value;
- char name[60];
-};
-
-struct old_module_ref
-{
- unsigned long module; /* kernel addresses */
- unsigned long next;
-};
-
-struct old_module_symbol
-{
- unsigned long addr;
- unsigned long name;
-};
-
-struct old_symbol_table
-{
- int size; /* total, including string table!!! */
- int n_symbols;
- int n_refs;
- struct old_module_symbol symbol[0]; /* actual size defined by n_symbols */
- struct old_module_ref ref[0]; /* actual size defined by n_refs */
-};
-
-struct old_mod_routines
-{
- unsigned long init;
- unsigned long cleanup;
-};
-
-struct old_module
-{
- unsigned long next;
- unsigned long ref; /* the list of modules that refer to me */
- unsigned long symtab;
- unsigned long name;
- int size; /* size of module in pages */
- unsigned long addr; /* address of module */
- int state;
- unsigned long cleanup; /* cleanup routine */
-};
-
-/* Sent to init_module(2) or'ed into the code size parameter. */
-#define OLD_MOD_AUTOCLEAN 0x40000000 /* big enough, but no sign problems... */
-
-int get_kernel_syms(struct old_kernel_sym *);
-int old_sys_init_module(const char *name, char *code, unsigned codesize,
- struct old_mod_routines *, struct old_symbol_table *);
-
-/*======================================================================*/
-/* For sizeof() which are related to the module platform and not to the
- environment isnmod is running in, use sizeof_xx instead of sizeof(xx). */
-
-#define tgt_sizeof_char sizeof(char)
-#define tgt_sizeof_short sizeof(short)
-#define tgt_sizeof_int sizeof(int)
-#define tgt_sizeof_long sizeof(long)
-#define tgt_sizeof_char_p sizeof(char *)
-#define tgt_sizeof_void_p sizeof(void *)
-#define tgt_long long
-
-#if defined(__sparc__) && !defined(__sparc_v9__) && defined(ARCH_sparc64)
-#undef tgt_sizeof_long
-#undef tgt_sizeof_char_p
-#undef tgt_sizeof_void_p
-#undef tgt_long
-#define tgt_sizeof_long 8
-#define tgt_sizeof_char_p 8
-#define tgt_sizeof_void_p 8
-#define tgt_long long long
-#endif
-
-/*======================================================================*/
-/* The structures used in Linux 2.1. */
-
-/* Note: new_module_symbol does not use tgt_long intentionally */
-struct new_module_symbol
-{
- unsigned long value;
- unsigned long name;
-};
-
-struct new_module_persist;
-
-struct new_module_ref
-{
- unsigned tgt_long dep; /* kernel addresses */
- unsigned tgt_long ref;
- unsigned tgt_long next_ref;
-};
-
-struct new_module
-{
- unsigned tgt_long size_of_struct; /* == sizeof(module) */
- unsigned tgt_long next;
- unsigned tgt_long name;
- unsigned tgt_long size;
-
- tgt_long usecount;
- unsigned tgt_long flags; /* AUTOCLEAN et al */
-
- unsigned nsyms;
- unsigned ndeps;
-
- unsigned tgt_long syms;
- unsigned tgt_long deps;
- unsigned tgt_long refs;
- unsigned tgt_long init;
- unsigned tgt_long cleanup;
- unsigned tgt_long ex_table_start;
- unsigned tgt_long ex_table_end;
-#ifdef __alpha__
- unsigned tgt_long gp;
-#endif
- /* Everything after here is extension. */
- unsigned tgt_long persist_start;
- unsigned tgt_long persist_end;
- unsigned tgt_long can_unload;
- unsigned tgt_long runsize;
-};
-
-struct new_module_info
-{
- unsigned long addr;
- unsigned long size;
- unsigned long flags;
- long usecount;
-};
-
-/* Bits of module.flags. */
-#define NEW_MOD_RUNNING 1
-#define NEW_MOD_DELETED 2
-#define NEW_MOD_AUTOCLEAN 4
-#define NEW_MOD_VISITED 8
-#define NEW_MOD_USED_ONCE 16
-
-int new_sys_init_module(const char *name, const struct new_module *);
-int query_module(const char *name, int which, void *buf, size_t bufsize,
- size_t *ret);
-
-/* Values for query_module's which. */
-
-#define QM_MODULES 1
-#define QM_DEPS 2
-#define QM_REFS 3
-#define QM_SYMBOLS 4
-#define QM_INFO 5
-
-/*======================================================================*/
-/* The system calls unchanged between 2.0 and 2.1. */
-
-unsigned long create_module(const char *, size_t);
-int delete_module(const char *);
-
-
-#endif /* module.h */
-
-//----------------------------------------------------------------------------
-//--------end of modutils module.h
-//----------------------------------------------------------------------------
-
-
-
-//----------------------------------------------------------------------------
-//--------modutils obj.h, lines 253-462
-//----------------------------------------------------------------------------
-
-/* Elf object file loading and relocation routines.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#ifndef MODUTILS_OBJ_H
-#define MODUTILS_OBJ_H 1
-
-#ident "$Id$"
-
-/* The relocatable object is manipulated using elfin types. */
-
-#include <stdio.h>
-#include <elf.h>
-
-
-/* Machine-specific elf macros for i386 et al. */
-
-/* the SH changes have only been tested on the SH4 in =little endian= mode */
-/* I'm not sure about big endian, so let's warn: */
-
-#if (defined(__SH4__) || defined(__SH3__)) && defined(__BIG_ENDIAN__)
-#error insmod.c may require changes for use on big endian SH4/SH3
-#endif
-
-/* it may or may not work on the SH1/SH2... So let's error on those
- also */
-#if (defined(__sh__) && (!(defined(__SH3__) || defined(__SH4__))))
-#error insmod.c may require changes for non-SH3/SH4 use
-#endif
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2LSB
-
-
-
-#if defined(__sh__)
-
-#define MATCH_MACHINE(x) (x == EM_SH)
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
-
-#else
-
-/* presumably we can use these for anything but the SH */
-/* this is the previous behavior, but it does result in
- insmod.c being broken on anything except i386 */
-
-#define MATCH_MACHINE(x) (x == EM_386)
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
-
-#endif
-
-#ifndef ElfW
-# if ELFCLASSM == ELFCLASS32
-# define ElfW(x) Elf32_ ## x
-# define ELFW(x) ELF32_ ## x
-# else
-# define ElfW(x) Elf64_ ## x
-# define ELFW(x) ELF64_ ## x
-# endif
-#endif
-
-/* For some reason this is missing from libc5. */
-#ifndef ELF32_ST_INFO
-# define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-#endif
-
-#ifndef ELF64_ST_INFO
-# define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-#endif
-
-struct obj_string_patch;
-struct obj_symbol_patch;
-
-struct obj_section
-{
- ElfW(Shdr) header;
- const char *name;
- char *contents;
- struct obj_section *load_next;
- int idx;
-};
-
-struct obj_symbol
-{
- struct obj_symbol *next; /* hash table link */
- const char *name;
- unsigned long value;
- unsigned long size;
- int secidx; /* the defining section index/module */
- int info;
- int ksymidx; /* for export to the kernel symtab */
- int referenced; /* actually used in the link */
-};
-
-/* Hardcode the hash table size. We shouldn't be needing so many
- symbols that we begin to degrade performance, and we get a big win
- by giving the compiler a constant divisor. */
-
-#define HASH_BUCKETS 521
-
-struct obj_file
-{
- ElfW(Ehdr) header;
- ElfW(Addr) baseaddr;
- struct obj_section **sections;
- struct obj_section *load_order;
- struct obj_section **load_order_search_start;
- struct obj_string_patch *string_patches;
- struct obj_symbol_patch *symbol_patches;
- int (*symbol_cmp)(const char *, const char *);
- unsigned long (*symbol_hash)(const char *);
- unsigned long local_symtab_size;
- struct obj_symbol **local_symtab;
- struct obj_symbol *symtab[HASH_BUCKETS];
-};
-
-enum obj_reloc
-{
- obj_reloc_ok,
- obj_reloc_overflow,
- obj_reloc_dangerous,
- obj_reloc_unhandled
-};
-
-struct obj_string_patch
-{
- struct obj_string_patch *next;
- int reloc_secidx;
- ElfW(Addr) reloc_offset;
- ElfW(Addr) string_offset;
-};
-
-struct obj_symbol_patch
-{
- struct obj_symbol_patch *next;
- int reloc_secidx;
- ElfW(Addr) reloc_offset;
- struct obj_symbol *sym;
-};
-
-
-/* Generic object manipulation routines. */
-
-unsigned long obj_elf_hash(const char *);
-
-unsigned long obj_elf_hash_n(const char *, unsigned long len);
-
-struct obj_symbol *obj_add_symbol (struct obj_file *f, const char *name,
- unsigned long symidx, int info, int secidx,
- ElfW(Addr) value, unsigned long size);
-
-struct obj_symbol *obj_find_symbol (struct obj_file *f,
- const char *name);
-
-ElfW(Addr) obj_symbol_final_value(struct obj_file *f,
- struct obj_symbol *sym);
-
-void obj_set_symbol_compare(struct obj_file *f,
- int (*cmp)(const char *, const char *),
- unsigned long (*hash)(const char *));
-
-struct obj_section *obj_find_section (struct obj_file *f,
- const char *name);
-
-void obj_insert_section_load_order (struct obj_file *f,
- struct obj_section *sec);
-
-struct obj_section *obj_create_alloced_section (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-struct obj_section *obj_create_alloced_section_first (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-void *obj_extend_section (struct obj_section *sec, unsigned long more);
-
-int obj_string_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string);
-
-int obj_symbol_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym);
-
-int obj_check_undefineds(struct obj_file *f);
-
-void obj_allocate_commons(struct obj_file *f);
-
-unsigned long obj_load_size (struct obj_file *f);
-
-int obj_relocate (struct obj_file *f, ElfW(Addr) base);
-
-struct obj_file *obj_load(FILE *f);
-
-int obj_create_image (struct obj_file *f, char *image);
-
-/* Architecture specific manipulation routines. */
-
-struct obj_file *arch_new_file (void);
-
-struct obj_section *arch_new_section (void);
-
-struct obj_symbol *arch_new_symbol (void);
-
-enum obj_reloc arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- ElfW(RelM) *rel, ElfW(Addr) value);
-
-int arch_create_got (struct obj_file *f);
-
-struct new_module;
-int arch_init_module (struct obj_file *f, struct new_module *);
-
-#endif /* obj.h */
-//----------------------------------------------------------------------------
-//--------end of modutils obj.h
-//----------------------------------------------------------------------------
-
-
-
-
-
-#define _PATH_MODULES "/lib/modules"
-#define STRVERSIONLEN 32
-
-#if !defined(BB_FEATURE_INSMOD_NEW_KERNEL) && !defined(BB_FEATURE_INSMOD_OLD_KERNEL)
-#error "Must have ether BB_FEATURE_INSMOD_NEW_KERNEL or BB_FEATURE_INSMOD_OLD_KERNEL defined"
-#endif
-
-/*======================================================================*/
-
-int flag_force_load = 1;
-int flag_autoclean = 0;
-int flag_export = 1;
-
-
-/*======================================================================*/
-
-/* previously, these were named i386_* but since we could be
- compiling for the sh, I've renamed them to the more general
- arch_* These structures are the same between the x86 and SH,
- and we can't support anything else right now anyway. In the
- future maybe they should be #if defined'd */
-
-struct arch_got_entry {
- int offset;
- unsigned offset_done:1;
- unsigned reloc_done:1;
-};
-
-struct arch_file {
- struct obj_file root;
- struct obj_section *got;
-};
-
-struct arch_symbol {
- struct obj_symbol root;
- struct arch_got_entry gotent;
-};
-
-
-struct external_module {
- const char *name;
- ElfW(Addr) addr;
- int used;
- size_t nsyms;
- struct new_module_symbol *syms;
-};
-
-struct new_module_symbol *ksyms;
-size_t nksyms;
-
-struct external_module *ext_modules;
-int n_ext_modules;
-int n_ext_modules_used;
-
-
-
-/* Some firendly syscalls to cheer everyone's day... */
-#define __NR_new_sys_init_module __NR_init_module
-_syscall2(int, new_sys_init_module, const char *, name,
- const struct new_module *, info)
-#define __NR_old_sys_init_module __NR_init_module
-_syscall5(int, old_sys_init_module, const char *, name, char *, code,
- unsigned, codesize, struct old_mod_routines *, routines,
- struct old_symbol_table *, symtab)
-#ifndef BB_RMMOD
-_syscall1(int, delete_module, const char *, name)
-#else
-extern int delete_module(const char *);
-#endif
-
-/* This is kind of troublesome. See, we don't actually support
- the m68k or the arm the same way we support i386 and (now)
- sh. In doing my SH patch, I just assumed that whatever works
- for i386 also works for m68k and arm since currently insmod.c
- does nothing special for them. If this isn't true, the below
- line is rather misleading IMHO, and someone should either
- change it or add more proper architecture-dependent support
- for these boys.
-
- -- Bryan Rittmeyer <bryan@ixiacom.com> */
-
-#if defined(__i386__) || defined(__m68k__) || defined(__arm__)
-/* Jump through hoops to fixup error return codes */
-#define __NR__create_module __NR_create_module
-static inline _syscall2(long, _create_module, const char *, name, size_t,
- size)
-unsigned long create_module(const char *name, size_t size)
-{
- long ret = _create_module(name, size);
-
- if (ret == -1 && errno > 125) {
- ret = -errno;
- errno = 0;
- }
- return ret;
-}
-#else
-_syscall2(unsigned long, create_module, const char *, name, size_t, size)
-#endif
-static char m_filename[BUFSIZ + 1] = "\0";
-static char m_fullName[BUFSIZ + 1] = "\0";
-
-/*======================================================================*/
-
-
-/*======================================================================*/
-
-struct obj_file *arch_new_file(void)
-{
- struct arch_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- return &f->root;
-}
-
-struct obj_section *arch_new_section(void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *arch_new_symbol(void)
-{
- struct arch_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- memset(&sym->gotent, 0, sizeof(sym->gotent));
- return &sym->root;
-}
-
-enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
-#if defined(__sh__)
- Elf32_Rela * rel, Elf32_Addr v)
-#else
- Elf32_Rel * rel, Elf32_Addr v)
-#endif
-{
- struct arch_file *ifile = (struct arch_file *) f;
- struct arch_symbol *isym = (struct arch_symbol *) sym;
-
- Elf32_Addr *loc = (Elf32_Addr *) (targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf32_Addr got = ifile->got ? ifile->got->header.sh_addr : 0;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info)) {
-
-/* even though these constants seem to be the same for
- the i386 and the sh, we "#if define" them for clarity
- and in case that ever changes */
-#if defined(__sh__)
- case R_SH_NONE:
-#else
- case R_386_NONE:
-#endif
- break;
-
-#if defined(__sh__)
- case R_SH_DIR32:
-#else
- case R_386_32:
-#endif
- *loc += v;
- break;
-
-#if defined(__sh__)
- case R_SH_REL32:
-#else
- case R_386_PLT32:
- case R_386_PC32:
-#endif
- *loc += v - dot;
- break;
-
-#if defined(__sh__)
- case R_SH_PLT32:
- *loc = v - dot;
- break;
-#endif
-
-
-#if defined(__sh__)
- case R_SH_GLOB_DAT:
- case R_SH_JMP_SLOT:
- *loc = v;
- break;
-#else
- case R_386_GLOB_DAT:
- case R_386_JMP_SLOT:
- *loc = v;
- break;
-#endif
-
-#if defined(__sh__)
- case R_SH_RELATIVE:
- *loc += f->baseaddr + rel->r_addend;
- break;
-#else
- case R_386_RELATIVE:
- *loc += f->baseaddr;
- break;
-#endif
-
-#if defined(__sh__)
- case R_SH_GOTPC:
- assert(got != 0);
- *loc += got - dot + rel->r_addend;;
- break;
-#else
- case R_386_GOTPC:
- assert(got != 0);
- *loc += got - dot;
- break;
-#endif
-
-#if defined(__sh__)
- case R_SH_GOT32:
- assert(isym != NULL);
- if (!isym->gotent.reloc_done) {
- isym->gotent.reloc_done = 1;
- *(Elf32_Addr *) (ifile->got->contents + isym->gotent.offset) =
- v;
- }
- *loc += isym->gotent.offset + rel->r_addend;
- break;
-#else
- case R_386_GOT32:
- assert(isym != NULL);
- if (!isym->gotent.reloc_done) {
- isym->gotent.reloc_done = 1;
- *(Elf32_Addr *) (ifile->got->contents + isym->gotent.offset) =
- v;
- }
- *loc += isym->gotent.offset;
- break;
-#endif
-
-#if defined(__sh__)
- case R_SH_GOTOFF:
-#else
- case R_386_GOTOFF:
-#endif
- assert(got != 0);
- *loc += v - got;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int arch_create_got(struct obj_file *f)
-{
- struct arch_file *ifile = (struct arch_file *) f;
- int i, n, offset = 0, gotneeded = 0;
-
- n = ifile->root.header.e_shnum;
- for (i = 0; i < n; ++i) {
- struct obj_section *relsec, *symsec, *strsec;
-#if defined(__sh__)
- Elf32_Rela *rel, *relend;
-#else
- Elf32_Rel *rel, *relend;
-#endif
- Elf32_Sym *symtab;
- const char *strtab;
-
- relsec = ifile->root.sections[i];
- if (relsec->header.sh_type != SHT_REL)
- continue;
-
- symsec = ifile->root.sections[relsec->header.sh_link];
- strsec = ifile->root.sections[symsec->header.sh_link];
-
-
-#if defined(__sh__)
- rel = (Elf32_Rela *) relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rela));
-#else
- rel = (Elf32_Rel *) relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rel));
-#endif
- symtab = (Elf32_Sym *) symsec->contents;
- strtab = (const char *) strsec->contents;
-
- for (; rel < relend; ++rel) {
- Elf32_Sym *extsym;
- struct arch_symbol *intsym;
- const char *name;
-
- switch (ELF32_R_TYPE(rel->r_info)) {
-#if defined(__sh__)
- case R_SH_GOTPC:
- case R_SH_GOTOFF:
-#else
- case R_386_GOTPC:
- case R_386_GOTOFF:
-#endif
- gotneeded = 1;
- default:
- continue;
-
-#if defined(__sh__)
- case R_SH_GOT32:
-#else
- case R_386_GOT32:
-#endif
- break;
- }
-
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym =
- (struct arch_symbol *) obj_find_symbol(&ifile->root, name);
-
- if (!intsym->gotent.offset_done) {
- intsym->gotent.offset_done = 1;
- intsym->gotent.offset = offset;
- offset += 4;
- }
- }
- }
-
- if (offset > 0 || gotneeded)
- ifile->got =
- obj_create_alloced_section(&ifile->root, ".got", 4, offset);
-
- return 1;
-}
-
-int arch_init_module(struct obj_file *f, struct new_module *mod)
-{
- return 1;
-}
-
-
-/*======================================================================*/
-
-/* Standard ELF hash function. */
-inline unsigned long obj_elf_hash_n(const char *name, unsigned long n)
-{
- unsigned long h = 0;
- unsigned long g;
- unsigned char ch;
-
- while (n > 0) {
- ch = *name++;
- h = (h << 4) + ch;
- if ((g = (h & 0xf0000000)) != 0) {
- h ^= g >> 24;
- h &= ~g;
- }
- n--;
- }
- return h;
-}
-
-unsigned long obj_elf_hash(const char *name)
-{
- return obj_elf_hash_n(name, strlen(name));
-}
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-/* Get the kernel version in the canonical integer form. */
-
-static int get_kernel_version(char str[STRVERSIONLEN])
-{
- struct utsname uts_info;
- char *p, *q;
- int a, b, c;
-
- if (uname(&uts_info) < 0)
- return -1;
- strncpy(str, uts_info.release, STRVERSIONLEN);
- p = uts_info.release;
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
-
- return a << 16 | b << 8 | c;
-}
-
-/* String comparison for non-co-versioned kernel and module. */
-
-static int ncv_strcmp(const char *a, const char *b)
-{
- size_t alen = strlen(a), blen = strlen(b);
-
- if (blen == alen + 10 && b[alen] == '_' && b[alen + 1] == 'R')
- return strncmp(a, b, alen);
- else if (alen == blen + 10 && a[blen] == '_' && a[blen + 1] == 'R')
- return strncmp(a, b, blen);
- else
- return strcmp(a, b);
-}
-
-/* String hashing for non-co-versioned kernel and module. Here
- we are simply forced to drop the crc from the hash. */
-
-static unsigned long ncv_symbol_hash(const char *str)
-{
- size_t len = strlen(str);
- if (len > 10 && str[len - 10] == '_' && str[len - 9] == 'R')
- len -= 10;
- return obj_elf_hash_n(str, len);
-}
-
-void
-obj_set_symbol_compare(struct obj_file *f,
- int (*cmp) (const char *, const char *),
- unsigned long (*hash) (const char *))
-{
- if (cmp)
- f->symbol_cmp = cmp;
- if (hash) {
- struct obj_symbol *tmptab[HASH_BUCKETS], *sym, *next;
- int i;
-
- f->symbol_hash = hash;
-
- memcpy(tmptab, f->symtab, sizeof(tmptab));
- memset(f->symtab, 0, sizeof(f->symtab));
-
- for (i = 0; i < HASH_BUCKETS; ++i)
- for (sym = tmptab[i]; sym; sym = next) {
- unsigned long h = hash(sym->name) % HASH_BUCKETS;
- next = sym->next;
- sym->next = f->symtab[h];
- f->symtab[h] = sym;
- }
- }
-}
-
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
-
-struct obj_symbol *obj_add_symbol(struct obj_file *f, const char *name,
- unsigned long symidx, int info,
- int secidx, ElfW(Addr) value,
- unsigned long size)
-{
- struct obj_symbol *sym;
- unsigned long hash = f->symbol_hash(name) % HASH_BUCKETS;
- int n_type = ELFW(ST_TYPE) (info);
- int n_binding = ELFW(ST_BIND) (info);
-
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0) {
- int o_secidx = sym->secidx;
- int o_info = sym->info;
- int o_type = ELFW(ST_TYPE) (o_info);
- int o_binding = ELFW(ST_BIND) (o_info);
-
- /* A redefinition! Is it legal? */
-
- if (secidx == SHN_UNDEF)
- return sym;
- else if (o_secidx == SHN_UNDEF)
- goto found;
- else if (n_binding == STB_GLOBAL && o_binding == STB_LOCAL) {
- /* Cope with local and global symbols of the same name
- in the same object file, as might have been created
- by ld -r. The only reason locals are now seen at this
- level at all is so that we can do semi-sensible things
- with parameters. */
-
- struct obj_symbol *nsym, **p;
-
- nsym = arch_new_symbol();
- nsym->next = sym->next;
- nsym->ksymidx = -1;
-
- /* Excise the old (local) symbol from the hash chain. */
- for (p = &f->symtab[hash]; *p != sym; p = &(*p)->next)
- continue;
- *p = sym = nsym;
- goto found;
- } else if (n_binding == STB_LOCAL) {
- /* Another symbol of the same name has already been defined.
- Just add this to the local table. */
- sym = arch_new_symbol();
- sym->next = NULL;
- sym->ksymidx = -1;
- f->local_symtab[symidx] = sym;
- goto found;
- } else if (n_binding == STB_WEAK)
- return sym;
- else if (o_binding == STB_WEAK)
- goto found;
- /* Don't unify COMMON symbols with object types the programmer
- doesn't expect. */
- else if (secidx == SHN_COMMON
- && (o_type == STT_NOTYPE || o_type == STT_OBJECT))
- return sym;
- else if (o_secidx == SHN_COMMON
- && (n_type == STT_NOTYPE || n_type == STT_OBJECT))
- goto found;
- else {
- /* Don't report an error if the symbol is coming from
- the kernel or some external module. */
- if (secidx <= SHN_HIRESERVE)
- errorMsg("%s multiply defined", name);
- return sym;
- }
- }
-
- /* Completely new symbol. */
- sym = arch_new_symbol();
- sym->next = f->symtab[hash];
- f->symtab[hash] = sym;
- sym->ksymidx = -1;
-
- if (ELFW(ST_BIND) (info) == STB_LOCAL)
- f->local_symtab[symidx] = sym;
-
- found:
- sym->name = name;
- sym->value = value;
- sym->size = size;
- sym->secidx = secidx;
- sym->info = info;
-
- return sym;
-}
-
-struct obj_symbol *obj_find_symbol(struct obj_file *f, const char *name)
-{
- struct obj_symbol *sym;
- unsigned long hash = f->symbol_hash(name) % HASH_BUCKETS;
-
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0)
- return sym;
-
- return NULL;
-}
-
-ElfW(Addr)
- obj_symbol_final_value(struct obj_file * f, struct obj_symbol * sym)
-{
- if (sym) {
- if (sym->secidx >= SHN_LORESERVE)
- return sym->value;
-
- return sym->value + f->sections[sym->secidx]->header.sh_addr;
- } else {
- /* As a special case, a NULL sym has value zero. */
- return 0;
- }
-}
-
-struct obj_section *obj_find_section(struct obj_file *f, const char *name)
-{
- int i, n = f->header.e_shnum;
-
- for (i = 0; i < n; ++i)
- if (strcmp(f->sections[i]->name, name) == 0)
- return f->sections[i];
-
- return NULL;
-}
-
-static int obj_load_order_prio(struct obj_section *a)
-{
- unsigned long af, ac;
-
- af = a->header.sh_flags;
-
- ac = 0;
- if (a->name[0] != '.' || strlen(a->name) != 10 ||
- strcmp(a->name + 5, ".init"))
- ac |= 32;
- if (af & SHF_ALLOC)
- ac |= 16;
- if (!(af & SHF_WRITE))
- ac |= 8;
- if (af & SHF_EXECINSTR)
- ac |= 4;
- if (a->header.sh_type != SHT_NOBITS)
- ac |= 2;
-
- return ac;
-}
-
-void
-obj_insert_section_load_order(struct obj_file *f, struct obj_section *sec)
-{
- struct obj_section **p;
- int prio = obj_load_order_prio(sec);
- for (p = f->load_order_search_start; *p; p = &(*p)->load_next)
- if (obj_load_order_prio(*p) < prio)
- break;
- sec->load_next = *p;
- *p = sec;
-}
-
-struct obj_section *obj_create_alloced_section(struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx + 1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
- return sec;
-}
-
-struct obj_section *obj_create_alloced_section_first(struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx + 1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- sec->load_next = f->load_order;
- f->load_order = sec;
- if (f->load_order_search_start == &f->load_order)
- f->load_order_search_start = &sec->load_next;
-
- return sec;
-}
-
-void *obj_extend_section(struct obj_section *sec, unsigned long more)
-{
- unsigned long oldsize = sec->header.sh_size;
- sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
- return sec->contents + oldsize;
-}
-
-
-
-/* Conditionally add the symbols from the given symbol set to the
- new module. */
-
-static int
-add_symbols_from(
- struct obj_file *f,
- int idx, struct new_module_symbol *syms, size_t nsyms)
-{
- struct new_module_symbol *s;
- size_t i;
- int used = 0;
-
- for (i = 0, s = syms; i < nsyms; ++i, ++s) {
-
- /* Only add symbols that are already marked external. If we
- override locals we may cause problems for argument initialization.
- We will also create a false dependency on the module. */
- struct obj_symbol *sym;
-
- sym = obj_find_symbol(f, (char *) s->name);
- if (sym && !ELFW(ST_BIND) (sym->info) == STB_LOCAL) {
- sym = obj_add_symbol(f, (char *) s->name, -1,
- ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- idx, s->value, 0);
- /* Did our symbol just get installed? If so, mark the
- module as "used". */
- if (sym->secidx == idx)
- used = 1;
- }
- }
-
- return used;
-}
-
-static void add_kernel_symbols(struct obj_file *f)
-{
- struct external_module *m;
- int i, nused = 0;
-
- /* Add module symbols first. */
-
- for (i = 0, m = ext_modules; i < n_ext_modules; ++i, ++m)
- if (m->nsyms
- && add_symbols_from(f, SHN_HIRESERVE + 2 + i, m->syms,
- m->nsyms)) m->used = 1, ++nused;
-
- n_ext_modules_used = nused;
-
- /* And finally the symbols from the kernel proper. */
-
- if (nksyms)
- add_symbols_from(f, SHN_HIRESERVE + 1, ksyms, nksyms);
-}
-
-static char *get_modinfo_value(struct obj_file *f, const char *key)
-{
- struct obj_section *sec;
- char *p, *v, *n, *ep;
- size_t klen = strlen(key);
-
- sec = obj_find_section(f, ".modinfo");
- if (sec == NULL)
- return NULL;
- p = sec->contents;
- ep = p + sec->header.sh_size;
- while (p < ep) {
- v = strchr(p, '=');
- n = strchr(p, '\0');
- if (v) {
- if (p + klen == v && strncmp(p, key, klen) == 0)
- return v + 1;
- } else {
- if (p + klen == n && strcmp(p, key) == 0)
- return n;
- }
- p = n + 1;
- }
-
- return NULL;
-}
-
-
-/*======================================================================*/
-/* Functions relating to module loading in pre 2.1 kernels. */
-
-static int
-old_process_module_arguments(struct obj_file *f, int argc, char **argv)
-{
- while (argc > 0) {
- char *p, *q;
- struct obj_symbol *sym;
- int *loc;
-
- p = *argv;
- if ((q = strchr(p, '=')) == NULL) {
- argc--;
- continue;
- }
- *q++ = '\0';
-
- sym = obj_find_symbol(f, p);
-
- /* Also check that the parameter was not resolved from the kernel. */
- if (sym == NULL || sym->secidx > SHN_HIRESERVE) {
- errorMsg("symbol for parameter %s not found", p);
- return 0;
- }
-
- loc = (int *) (f->sections[sym->secidx]->contents + sym->value);
-
- /* Do C quoting if we begin with a ". */
- if (*q == '"') {
- char *r, *str;
-
- str = alloca(strlen(q));
- for (r = str, q++; *q != '"'; ++q, ++r) {
- if (*q == '\0') {
- errorMsg("improperly terminated string argument for %s", p);
- return 0;
- } else if (*q == '\\')
- switch (*++q) {
- case 'a':
- *r = '\a';
- break;
- case 'b':
- *r = '\b';
- break;
- case 'e':
- *r = '\033';
- break;
- case 'f':
- *r = '\f';
- break;
- case 'n':
- *r = '\n';
- break;
- case 'r':
- *r = '\r';
- break;
- case 't':
- *r = '\t';
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- {
- int c = *q - '0';
- if (q[1] >= '0' && q[1] <= '7') {
- c = (c * 8) + *++q - '0';
- if (q[1] >= '0' && q[1] <= '7')
- c = (c * 8) + *++q - '0';
- }
- *r = c;
- }
- break;
-
- default:
- *r = *q;
- break;
- } else
- *r = *q;
- }
- *r = '\0';
- obj_string_patch(f, sym->secidx, sym->value, str);
- } else if (*q >= '0' && *q <= '9') {
- do
- *loc++ = strtoul(q, &q, 0);
- while (*q++ == ',');
- } else {
- char *contents = f->sections[sym->secidx]->contents;
- char *loc = contents + sym->value;
- char *r; /* To search for commas */
-
- /* Break the string with comas */
- while ((r = strchr(q, ',')) != (char *) NULL) {
- *r++ = '\0';
- obj_string_patch(f, sym->secidx, loc - contents, q);
- loc += sizeof(char *);
- q = r;
- }
-
- /* last part */
- obj_string_patch(f, sym->secidx, loc - contents, q);
- }
-
- argc--, argv++;
- }
-
- return 1;
-}
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-static int old_is_module_checksummed(struct obj_file *f)
-{
- return obj_find_symbol(f, "Using_Versions") != NULL;
-}
-/* Get the module's kernel version in the canonical integer form. */
-
-static int
-old_get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
-{
- struct obj_symbol *sym;
- char *p, *q;
- int a, b, c;
-
- sym = obj_find_symbol(f, "kernel_version");
- if (sym == NULL)
- return -1;
-
- p = f->sections[sym->secidx]->contents + sym->value;
- strncpy(str, p, STRVERSIONLEN);
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
-
- return a << 16 | b << 8 | c;
-}
-
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
-#ifdef BB_FEATURE_INSMOD_OLD_KERNEL
-
-/* Fetch all the symbols and divvy them up as appropriate for the modules. */
-
-static int old_get_kernel_symbols(const char *m_name)
-{
- struct old_kernel_sym *ks, *k;
- struct new_module_symbol *s;
- struct external_module *mod;
- int nks, nms, nmod, i;
-
- nks = get_kernel_syms(NULL);
- if (nks < 0) {
- errorMsg("get_kernel_syms: %s: %s", m_name, strerror(errno));
- return 0;
- }
-
- ks = k = xmalloc(nks * sizeof(*ks));
-
- if (get_kernel_syms(ks) != nks) {
- logperror("inconsistency with get_kernel_syms -- is someone else "
- "playing with modules?");
- free(ks);
- return 0;
- }
-
- /* Collect the module information. */
-
- mod = NULL;
- nmod = -1;
-
- while (k->name[0] == '#' && k->name[1]) {
- struct old_kernel_sym *k2;
- struct new_module_symbol *s;
-
- /* Find out how many symbols this module has. */
- for (k2 = k + 1; k2->name[0] != '#'; ++k2)
- continue;
- nms = k2 - k - 1;
-
- mod = xrealloc(mod, (++nmod + 1) * sizeof(*mod));
- mod[nmod].name = k->name + 1;
- mod[nmod].addr = k->value;
- mod[nmod].used = 0;
- mod[nmod].nsyms = nms;
- mod[nmod].syms = s = (nms ? xmalloc(nms * sizeof(*s)) : NULL);
-
- for (i = 0, ++k; i < nms; ++i, ++s, ++k) {
- s->name = (unsigned long) k->name;
- s->value = k->value;
- }
-
- k = k2;
- }
-
- ext_modules = mod;
- n_ext_modules = nmod + 1;
-
- /* Now collect the symbols for the kernel proper. */
-
- if (k->name[0] == '#')
- ++k;
-
- nksyms = nms = nks - (k - ks);
- ksyms = s = (nms ? xmalloc(nms * sizeof(*s)) : NULL);
-
- for (i = 0; i < nms; ++i, ++s, ++k) {
- s->name = (unsigned long) k->name;
- s->value = k->value;
- }
-
- return 1;
-}
-
-/* Return the kernel symbol checksum version, or zero if not used. */
-
-static int old_is_kernel_checksummed(void)
-{
- /* Using_Versions is the first symbol. */
- if (nksyms > 0
- && strcmp((char *) ksyms[0].name,
- "Using_Versions") == 0) return ksyms[0].value;
- else
- return 0;
-}
-
-
-static int old_create_mod_use_count(struct obj_file *f)
-{
- struct obj_section *sec;
-
- sec = obj_create_alloced_section_first(f, ".moduse", sizeof(long),
- sizeof(long));
-
- obj_add_symbol(f, "mod_use_count_", -1,
- ELFW(ST_INFO) (STB_LOCAL, STT_OBJECT), sec->idx, 0,
- sizeof(long));
-
- return 1;
-}
-
-static int
-old_init_module(const char *m_name, struct obj_file *f,
- unsigned long m_size)
-{
- char *image;
- struct old_mod_routines routines;
- struct old_symbol_table *symtab;
- int ret;
-
- /* Create the symbol table */
- {
- int nsyms = 0, strsize = 0, total;
-
- /* Size things first... */
- if (flag_export) {
- int i;
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (ELFW(ST_BIND) (sym->info) != STB_LOCAL
- && sym->secidx <= SHN_HIRESERVE)
- {
- sym->ksymidx = nsyms++;
- strsize += strlen(sym->name) + 1;
- }
- }
- }
-
- total = (sizeof(struct old_symbol_table)
- + nsyms * sizeof(struct old_module_symbol)
- + n_ext_modules_used * sizeof(struct old_module_ref)
- + strsize);
- symtab = xmalloc(total);
- symtab->size = total;
- symtab->n_symbols = nsyms;
- symtab->n_refs = n_ext_modules_used;
-
- if (flag_export && nsyms) {
- struct old_module_symbol *ksym;
- char *str;
- int i;
-
- ksym = symtab->symbol;
- str = ((char *) ksym + nsyms * sizeof(struct old_module_symbol)
- + n_ext_modules_used * sizeof(struct old_module_ref));
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->ksymidx >= 0) {
- ksym->addr = obj_symbol_final_value(f, sym);
- ksym->name =
- (unsigned long) str - (unsigned long) symtab;
-
- str = stpcpy(str, sym->name) + 1;
- ksym++;
- }
- }
- }
-
- if (n_ext_modules_used) {
- struct old_module_ref *ref;
- int i;
-
- ref = (struct old_module_ref *)
- ((char *) symtab->symbol + nsyms * sizeof(struct old_module_symbol));
-
- for (i = 0; i < n_ext_modules; ++i)
- if (ext_modules[i].used)
- ref++->module = ext_modules[i].addr;
- }
- }
-
- /* Fill in routines. */
-
- routines.init =
- obj_symbol_final_value(f, obj_find_symbol(f, "init_module"));
- routines.cleanup =
- obj_symbol_final_value(f, obj_find_symbol(f, "cleanup_module"));
-
- /* Whew! All of the initialization is complete. Collect the final
- module image and give it to the kernel. */
-
- image = xmalloc(m_size);
- obj_create_image(f, image);
-
- /* image holds the complete relocated module, accounting correctly for
- mod_use_count. However the old module kernel support assume that
- it is receiving something which does not contain mod_use_count. */
- ret = old_sys_init_module(m_name, image + sizeof(long),
- m_size | (flag_autoclean ? OLD_MOD_AUTOCLEAN
- : 0), &routines, symtab);
- if (ret)
- errorMsg("init_module: %s: %s", m_name, strerror(errno));
-
- free(image);
- free(symtab);
-
- return ret == 0;
-}
-
-#else
-
-#define old_create_mod_use_count(x) TRUE
-#define old_init_module(x, y, z) TRUE
-
-#endif /* BB_FEATURE_INSMOD_OLD_KERNEL */
-
-
-
-/*======================================================================*/
-/* Functions relating to module loading after 2.1.18. */
-
-static int
-new_process_module_arguments(struct obj_file *f, int argc, char **argv)
-{
- while (argc > 0) {
- char *p, *q, *key;
- struct obj_symbol *sym;
- char *contents, *loc;
- int min, max, n;
-
- p = *argv;
- if ((q = strchr(p, '=')) == NULL) {
- argc--;
- continue;
- }
-
- key = alloca(q - p + 6);
- memcpy(key, "parm_", 5);
- memcpy(key + 5, p, q - p);
- key[q - p + 5] = 0;
-
- p = get_modinfo_value(f, key);
- key += 5;
- if (p == NULL) {
- errorMsg("invalid parameter %s", key);
- return 0;
- }
-
- sym = obj_find_symbol(f, key);
-
- /* Also check that the parameter was not resolved from the kernel. */
- if (sym == NULL || sym->secidx > SHN_HIRESERVE) {
- errorMsg("symbol for parameter %s not found", key);
- return 0;
- }
-
- if (isdigit(*p)) {
- min = strtoul(p, &p, 10);
- if (*p == '-')
- max = strtoul(p + 1, &p, 10);
- else
- max = min;
- } else
- min = max = 1;
-
- contents = f->sections[sym->secidx]->contents;
- loc = contents + sym->value;
- n = (*++q != '\0');
-
- while (1) {
- if ((*p == 's') || (*p == 'c')) {
- char *str;
-
- /* Do C quoting if we begin with a ", else slurp the lot. */
- if (*q == '"') {
- char *r;
-
- str = alloca(strlen(q));
- for (r = str, q++; *q != '"'; ++q, ++r) {
- if (*q == '\0') {
- errorMsg("improperly terminated string argument for %s",
- key);
- return 0;
- } else if (*q == '\\')
- switch (*++q) {
- case 'a':
- *r = '\a';
- break;
- case 'b':
- *r = '\b';
- break;
- case 'e':
- *r = '\033';
- break;
- case 'f':
- *r = '\f';
- break;
- case 'n':
- *r = '\n';
- break;
- case 'r':
- *r = '\r';
- break;
- case 't':
- *r = '\t';
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- {
- int c = *q - '0';
- if (q[1] >= '0' && q[1] <= '7') {
- c = (c * 8) + *++q - '0';
- if (q[1] >= '0' && q[1] <= '7')
- c = (c * 8) + *++q - '0';
- }
- *r = c;
- }
- break;
-
- default:
- *r = *q;
- break;
- } else
- *r = *q;
- }
- *r = '\0';
- ++q;
- } else {
- char *r;
-
- /* In this case, the string is not quoted. We will break
- it using the coma (like for ints). If the user wants to
- include comas in a string, he just has to quote it */
-
- /* Search the next coma */
- r = strchr(q, ',');
-
- /* Found ? */
- if (r != (char *) NULL) {
- /* Recopy the current field */
- str = alloca(r - q + 1);
- memcpy(str, q, r - q);
-
- /* I don't know if it is usefull, as the previous case
- doesn't null terminate the string ??? */
- str[r - q] = '\0';
-
- /* Keep next fields */
- q = r;
- } else {
- /* last string */
- str = q;
- q = "";
- }
- }
-
- if (*p == 's') {
- /* Normal string */
- obj_string_patch(f, sym->secidx, loc - contents, str);
- loc += tgt_sizeof_char_p;
- } else {
- /* Array of chars (in fact, matrix !) */
- unsigned long charssize; /* size of each member */
-
- /* Get the size of each member */
- /* Probably we should do that outside the loop ? */
- if (!isdigit(*(p + 1))) {
- errorMsg("parameter type 'c' for %s must be followed by"
- " the maximum size", key);
- return 0;
- }
- charssize = strtoul(p + 1, (char **) NULL, 10);
-
- /* Check length */
- if (strlen(str) >= charssize) {
- errorMsg("string too long for %s (max %ld)", key,
- charssize - 1);
- return 0;
- }
-
- /* Copy to location */
- strcpy((char *) loc, str);
- loc += charssize;
- }
- } else {
- long v = strtoul(q, &q, 0);
- switch (*p) {
- case 'b':
- *loc++ = v;
- break;
- case 'h':
- *(short *) loc = v;
- loc += tgt_sizeof_short;
- break;
- case 'i':
- *(int *) loc = v;
- loc += tgt_sizeof_int;
- break;
- case 'l':
- *(long *) loc = v;
- loc += tgt_sizeof_long;
- break;
-
- default:
- errorMsg("unknown parameter type '%c' for %s", *p, key);
- return 0;
- }
- }
-
- retry_end_of_value:
- switch (*q) {
- case '\0':
- goto end_of_arg;
-
- case ' ':
- case '\t':
- case '\n':
- case '\r':
- ++q;
- goto retry_end_of_value;
-
- case ',':
- if (++n > max) {
- errorMsg("too many values for %s (max %d)", key, max);
- return 0;
- }
- ++q;
- break;
-
- default:
- errorMsg("invalid argument syntax for %s", key);
- return 0;
- }
- }
-
- end_of_arg:
- if (n < min) {
- errorMsg("too few values for %s (min %d)", key, min);
- return 0;
- }
-
- argc--, argv++;
- }
-
- return 1;
-}
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-static int new_is_module_checksummed(struct obj_file *f)
-{
- const char *p = get_modinfo_value(f, "using_checksums");
- if (p)
- return atoi(p);
- else
- return 0;
-}
-
-/* Get the module's kernel version in the canonical integer form. */
-
-static int
-new_get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
-{
- char *p, *q;
- int a, b, c;
-
- p = get_modinfo_value(f, "kernel_version");
- if (p == NULL)
- return -1;
- strncpy(str, p, STRVERSIONLEN);
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
-
- return a << 16 | b << 8 | c;
-}
-
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
-
-#ifdef BB_FEATURE_INSMOD_NEW_KERNEL
-
-/* Fetch the loaded modules, and all currently exported symbols. */
-
-static int new_get_kernel_symbols(void)
-{
- char *module_names, *mn;
- struct external_module *modules, *m;
- struct new_module_symbol *syms, *s;
- size_t ret, bufsize, nmod, nsyms, i, j;
-
- /* Collect the loaded modules. */
-
- module_names = xmalloc(bufsize = 256);
- retry_modules_load:
- if (query_module(NULL, QM_MODULES, module_names, bufsize, &ret)) {
- if (errno == ENOSPC) {
- module_names = xrealloc(module_names, bufsize = ret);
- goto retry_modules_load;
- }
- errorMsg("QM_MODULES: %s", strerror(errno));
- return 0;
- }
-
- n_ext_modules = nmod = ret;
- ext_modules = modules = xmalloc(nmod * sizeof(*modules));
- memset(modules, 0, nmod * sizeof(*modules));
-
- /* Collect the modules' symbols. */
-
- for (i = 0, mn = module_names, m = modules;
- i < nmod; ++i, ++m, mn += strlen(mn) + 1) {
- struct new_module_info info;
-
- if (query_module(mn, QM_INFO, &info, sizeof(info), &ret)) {
- if (errno == ENOENT) {
- /* The module was removed out from underneath us. */
- continue;
- }
- errorMsg("query_module: QM_INFO: %s: %s", mn, strerror(errno));
- return 0;
- }
-
- syms = xmalloc(bufsize = 1024);
- retry_mod_sym_load:
- if (query_module(mn, QM_SYMBOLS, syms, bufsize, &ret)) {
- switch (errno) {
- case ENOSPC:
- syms = xrealloc(syms, bufsize = ret);
- goto retry_mod_sym_load;
- case ENOENT:
- /* The module was removed out from underneath us. */
- continue;
- default:
- errorMsg("query_module: QM_SYMBOLS: %s: %s", mn, strerror(errno));
- return 0;
- }
- }
- nsyms = ret;
-
- m->name = mn;
- m->addr = info.addr;
- m->nsyms = nsyms;
- m->syms = syms;
-
- for (j = 0, s = syms; j < nsyms; ++j, ++s) {
- s->name += (unsigned long) syms;
- }
- }
-
- /* Collect the kernel's symbols. */
-
- syms = xmalloc(bufsize = 16 * 1024);
- retry_kern_sym_load:
- if (query_module(NULL, QM_SYMBOLS, syms, bufsize, &ret)) {
- if (errno == ENOSPC) {
- syms = xrealloc(syms, bufsize = ret);
- goto retry_kern_sym_load;
- }
- errorMsg("kernel: QM_SYMBOLS: %s", strerror(errno));
- return 0;
- }
- nksyms = nsyms = ret;
- ksyms = syms;
-
- for (j = 0, s = syms; j < nsyms; ++j, ++s) {
- s->name += (unsigned long) syms;
- }
- return 1;
-}
-
-
-/* Return the kernel symbol checksum version, or zero if not used. */
-
-static int new_is_kernel_checksummed(void)
-{
- struct new_module_symbol *s;
- size_t i;
-
- /* Using_Versions is not the first symbol, but it should be in there. */
-
- for (i = 0, s = ksyms; i < nksyms; ++i, ++s)
- if (strcmp((char *) s->name, "Using_Versions") == 0)
- return s->value;
-
- return 0;
-}
-
-
-static int new_create_this_module(struct obj_file *f, const char *m_name)
-{
- struct obj_section *sec;
-
- sec = obj_create_alloced_section_first(f, ".this", tgt_sizeof_long,
- sizeof(struct new_module));
- memset(sec->contents, 0, sizeof(struct new_module));
-
- obj_add_symbol(f, "__this_module", -1,
- ELFW(ST_INFO) (STB_LOCAL, STT_OBJECT), sec->idx, 0,
- sizeof(struct new_module));
-
- obj_string_patch(f, sec->idx, offsetof(struct new_module, name),
- m_name);
-
- return 1;
-}
-
-
-static int new_create_module_ksymtab(struct obj_file *f)
-{
- struct obj_section *sec;
- int i;
-
- /* We must always add the module references. */
-
- if (n_ext_modules_used) {
- struct new_module_ref *dep;
- struct obj_symbol *tm;
-
- sec = obj_create_alloced_section(f, ".kmodtab", tgt_sizeof_void_p,
- (sizeof(struct new_module_ref)
- * n_ext_modules_used));
- if (!sec)
- return 0;
-
- tm = obj_find_symbol(f, "__this_module");
- dep = (struct new_module_ref *) sec->contents;
- for (i = 0; i < n_ext_modules; ++i)
- if (ext_modules[i].used) {
- dep->dep = ext_modules[i].addr;
- obj_symbol_patch(f, sec->idx,
- (char *) &dep->ref - sec->contents, tm);
- dep->next_ref = 0;
- ++dep;
- }
- }
-
- if (flag_export && !obj_find_section(f, "__ksymtab")) {
- size_t nsyms;
- int *loaded;
-
- sec =
- obj_create_alloced_section(f, "__ksymtab", tgt_sizeof_void_p,
- 0);
-
- /* We don't want to export symbols residing in sections that
- aren't loaded. There are a number of these created so that
- we make sure certain module options don't appear twice. */
-
- loaded = alloca(sizeof(int) * (i = f->header.e_shnum));
- while (--i >= 0)
- loaded[i] = (f->sections[i]->header.sh_flags & SHF_ALLOC) != 0;
-
- for (nsyms = i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (ELFW(ST_BIND) (sym->info) != STB_LOCAL
- && sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE
- || loaded[sym->secidx])) {
- ElfW(Addr) ofs = nsyms * 2 * tgt_sizeof_void_p;
-
- obj_symbol_patch(f, sec->idx, ofs, sym);
- obj_string_patch(f, sec->idx, ofs + tgt_sizeof_void_p,
- sym->name);
-
- nsyms++;
- }
- }
-
- obj_extend_section(sec, nsyms * 2 * tgt_sizeof_char_p);
- }
-
- return 1;
-}
-
-
-static int
-new_init_module(const char *m_name, struct obj_file *f,
- unsigned long m_size)
-{
- struct new_module *module;
- struct obj_section *sec;
- void *image;
- int ret;
- tgt_long m_addr;
-
- sec = obj_find_section(f, ".this");
- module = (struct new_module *) sec->contents;
- m_addr = sec->header.sh_addr;
-
- module->size_of_struct = sizeof(*module);
- module->size = m_size;
- module->flags = flag_autoclean ? NEW_MOD_AUTOCLEAN : 0;
-
- sec = obj_find_section(f, "__ksymtab");
- if (sec && sec->header.sh_size) {
- module->syms = sec->header.sh_addr;
- module->nsyms = sec->header.sh_size / (2 * tgt_sizeof_char_p);
- }
-
- if (n_ext_modules_used) {
- sec = obj_find_section(f, ".kmodtab");
- module->deps = sec->header.sh_addr;
- module->ndeps = n_ext_modules_used;
- }
-
- module->init =
- obj_symbol_final_value(f, obj_find_symbol(f, "init_module"));
- module->cleanup =
- obj_symbol_final_value(f, obj_find_symbol(f, "cleanup_module"));
-
- sec = obj_find_section(f, "__ex_table");
- if (sec) {
- module->ex_table_start = sec->header.sh_addr;
- module->ex_table_end = sec->header.sh_addr + sec->header.sh_size;
- }
-
- sec = obj_find_section(f, ".text.init");
- if (sec) {
- module->runsize = sec->header.sh_addr - m_addr;
- }
- sec = obj_find_section(f, ".data.init");
- if (sec) {
- if (!module->runsize ||
- module->runsize > sec->header.sh_addr - m_addr)
- module->runsize = sec->header.sh_addr - m_addr;
- }
-
- if (!arch_init_module(f, module))
- return 0;
-
- /* Whew! All of the initialization is complete. Collect the final
- module image and give it to the kernel. */
-
- image = xmalloc(m_size);
- obj_create_image(f, image);
-
- ret = new_sys_init_module(m_name, (struct new_module *) image);
- if (ret)
- errorMsg("init_module: %s: %s", m_name, strerror(errno));
-
- free(image);
-
- return ret == 0;
-}
-
-#else
-
-#define new_init_module(x, y, z) TRUE
-#define new_create_this_module(x, y) 0
-#define new_create_module_ksymtab(x)
-
-#endif /* BB_FEATURE_INSMOD_OLD_KERNEL */
-
-
-/*======================================================================*/
-
-int
-obj_string_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string)
-{
- struct obj_string_patch *p;
- struct obj_section *strsec;
- size_t len = strlen(string) + 1;
- char *loc;
-
- p = xmalloc(sizeof(*p));
- p->next = f->string_patches;
- p->reloc_secidx = secidx;
- p->reloc_offset = offset;
- f->string_patches = p;
-
- strsec = obj_find_section(f, ".kstrtab");
- if (strsec == NULL) {
- strsec = obj_create_alloced_section(f, ".kstrtab", 1, len);
- p->string_offset = 0;
- loc = strsec->contents;
- } else {
- p->string_offset = strsec->header.sh_size;
- loc = obj_extend_section(strsec, len);
- }
- memcpy(loc, string, len);
-
- return 1;
-}
-
-int
-obj_symbol_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym)
-{
- struct obj_symbol_patch *p;
-
- p = xmalloc(sizeof(*p));
- p->next = f->symbol_patches;
- p->reloc_secidx = secidx;
- p->reloc_offset = offset;
- p->sym = sym;
- f->symbol_patches = p;
-
- return 1;
-}
-
-int obj_check_undefineds(struct obj_file *f)
-{
- unsigned long i;
- int ret = 1;
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx == SHN_UNDEF) {
- if (ELFW(ST_BIND) (sym->info) == STB_WEAK) {
- sym->secidx = SHN_ABS;
- sym->value = 0;
- } else {
- errorMsg("unresolved symbol %s", sym->name);
- ret = 0;
- }
- }
- }
-
- return ret;
-}
-
-void obj_allocate_commons(struct obj_file *f)
-{
- struct common_entry {
- struct common_entry *next;
- struct obj_symbol *sym;
- } *common_head = NULL;
-
- unsigned long i;
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx == SHN_COMMON) {
- /* Collect all COMMON symbols and sort them by size so as to
- minimize space wasted by alignment requirements. */
- {
- struct common_entry **p, *n;
- for (p = &common_head; *p; p = &(*p)->next)
- if (sym->size <= (*p)->sym->size)
- break;
-
- n = alloca(sizeof(*n));
- n->next = *p;
- n->sym = sym;
- *p = n;
- }
- }
- }
-
- for (i = 1; i < f->local_symtab_size; ++i) {
- struct obj_symbol *sym = f->local_symtab[i];
- if (sym && sym->secidx == SHN_COMMON) {
- struct common_entry **p, *n;
- for (p = &common_head; *p; p = &(*p)->next)
- if (sym == (*p)->sym)
- break;
- else if (sym->size < (*p)->sym->size) {
- n = alloca(sizeof(*n));
- n->next = *p;
- n->sym = sym;
- *p = n;
- break;
- }
- }
- }
-
- if (common_head) {
- /* Find the bss section. */
- for (i = 0; i < f->header.e_shnum; ++i)
- if (f->sections[i]->header.sh_type == SHT_NOBITS)
- break;
-
- /* If for some reason there hadn't been one, create one. */
- if (i == f->header.e_shnum) {
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (i + 1) * sizeof(sec));
- f->sections[i] = sec = arch_new_section();
- f->header.e_shnum = i + 1;
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
- sec->name = ".bss";
- sec->idx = i;
- }
-
- /* Allocate the COMMONS. */
- {
- ElfW(Addr) bss_size = f->sections[i]->header.sh_size;
- ElfW(Addr) max_align = f->sections[i]->header.sh_addralign;
- struct common_entry *c;
-
- for (c = common_head; c; c = c->next) {
- ElfW(Addr) align = c->sym->value;
-
- if (align > max_align)
- max_align = align;
- if (bss_size & (align - 1))
- bss_size = (bss_size | (align - 1)) + 1;
-
- c->sym->secidx = i;
- c->sym->value = bss_size;
-
- bss_size += c->sym->size;
- }
-
- f->sections[i]->header.sh_size = bss_size;
- f->sections[i]->header.sh_addralign = max_align;
- }
- }
-
- /* For the sake of patch relocation and parameter initialization,
- allocate zeroed data for NOBITS sections now. Note that after
- this we cannot assume NOBITS are really empty. */
- for (i = 0; i < f->header.e_shnum; ++i) {
- struct obj_section *s = f->sections[i];
- if (s->header.sh_type == SHT_NOBITS) {
- s->contents = memset(xmalloc(s->header.sh_size),
- 0, s->header.sh_size);
- s->header.sh_type = SHT_PROGBITS;
- }
- }
-}
-
-unsigned long obj_load_size(struct obj_file *f)
-{
- unsigned long dot = 0;
- struct obj_section *sec;
-
- /* Finalize the positions of the sections relative to one another. */
-
- for (sec = f->load_order; sec; sec = sec->load_next) {
- ElfW(Addr) align;
-
- align = sec->header.sh_addralign;
- if (align && (dot & (align - 1)))
- dot = (dot | (align - 1)) + 1;
-
- sec->header.sh_addr = dot;
- dot += sec->header.sh_size;
- }
-
- return dot;
-}
-
-int obj_relocate(struct obj_file *f, ElfW(Addr) base)
-{
- int i, n = f->header.e_shnum;
- int ret = 1;
-
- /* Finalize the addresses of the sections. */
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
-
- /* And iterate over all of the relocations. */
-
- for (i = 0; i < n; ++i) {
- struct obj_section *relsec, *symsec, *targsec, *strsec;
- ElfW(RelM) * rel, *relend;
- ElfW(Sym) * symtab;
- const char *strtab;
-
- relsec = f->sections[i];
- if (relsec->header.sh_type != SHT_RELM)
- continue;
-
- symsec = f->sections[relsec->header.sh_link];
- targsec = f->sections[relsec->header.sh_info];
- strsec = f->sections[symsec->header.sh_link];
-
- rel = (ElfW(RelM) *) relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *) symsec->contents;
- strtab = (const char *) strsec->contents;
-
- for (; rel < relend; ++rel) {
- ElfW(Addr) value = 0;
- struct obj_symbol *intsym = NULL;
- unsigned long symndx;
- ElfW(Sym) * extsym = 0;
- const char *errmsg;
-
- /* Attempt to find a value to use for this relocation. */
-
- symndx = ELFW(R_SYM) (rel->r_info);
- if (symndx) {
- /* Note we've already checked for undefined symbols. */
-
- extsym = &symtab[symndx];
- if (ELFW(ST_BIND) (extsym->st_info) == STB_LOCAL) {
- /* Local symbols we look up in the local table to be sure
- we get the one that is really intended. */
- intsym = f->local_symtab[symndx];
- } else {
- /* Others we look up in the hash table. */
- const char *name;
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = obj_find_symbol(f, name);
- }
-
- value = obj_symbol_final_value(f, intsym);
- intsym->referenced = 1;
- }
-#if SHT_RELM == SHT_RELA
-#if defined(__alpha__) && defined(AXP_BROKEN_GAS)
- /* Work around a nasty GAS bug, that is fixed as of 2.7.0.9. */
- if (!extsym || !extsym->st_name ||
- ELFW(ST_BIND) (extsym->st_info) != STB_LOCAL)
-#endif
- value += rel->r_addend;
-#endif
-
- /* Do it! */
- switch (arch_apply_relocation
- (f, targsec, symsec, intsym, rel, value)) {
- case obj_reloc_ok:
- break;
-
- case obj_reloc_overflow:
- errmsg = "Relocation overflow";
- goto bad_reloc;
- case obj_reloc_dangerous:
- errmsg = "Dangerous relocation";
- goto bad_reloc;
- case obj_reloc_unhandled:
- errmsg = "Unhandled relocation";
- bad_reloc:
- if (extsym) {
- errorMsg("%s of type %ld for %s", errmsg,
- (long) ELFW(R_TYPE) (rel->r_info),
- strtab + extsym->st_name);
- } else {
- errorMsg("%s of type %ld", errmsg,
- (long) ELFW(R_TYPE) (rel->r_info));
- }
- ret = 0;
- break;
- }
- }
- }
-
- /* Finally, take care of the patches. */
-
- if (f->string_patches) {
- struct obj_string_patch *p;
- struct obj_section *strsec;
- ElfW(Addr) strsec_base;
- strsec = obj_find_section(f, ".kstrtab");
- strsec_base = strsec->header.sh_addr;
-
- for (p = f->string_patches; p; p = p->next) {
- struct obj_section *targsec = f->sections[p->reloc_secidx];
- *(ElfW(Addr) *) (targsec->contents + p->reloc_offset)
- = strsec_base + p->string_offset;
- }
- }
-
- if (f->symbol_patches) {
- struct obj_symbol_patch *p;
-
- for (p = f->symbol_patches; p; p = p->next) {
- struct obj_section *targsec = f->sections[p->reloc_secidx];
- *(ElfW(Addr) *) (targsec->contents + p->reloc_offset)
- = obj_symbol_final_value(f, p->sym);
- }
- }
-
- return ret;
-}
-
-int obj_create_image(struct obj_file *f, char *image)
-{
- struct obj_section *sec;
- ElfW(Addr) base = f->baseaddr;
-
- for (sec = f->load_order; sec; sec = sec->load_next) {
- char *secimg;
-
- if (sec->header.sh_size == 0)
- continue;
-
- secimg = image + (sec->header.sh_addr - base);
-
- /* Note that we allocated data for NOBITS sections earlier. */
- memcpy(secimg, sec->contents, sec->header.sh_size);
- }
-
- return 1;
-}
-
-/*======================================================================*/
-
-struct obj_file *obj_load(FILE * fp)
-{
- struct obj_file *f;
- ElfW(Shdr) * section_headers;
- int shnum, i;
- char *shstrtab;
-
- /* Read the file header. */
-
- f = arch_new_file();
- memset(f, 0, sizeof(*f));
- f->symbol_cmp = strcmp;
- f->symbol_hash = obj_elf_hash;
- f->load_order_search_start = &f->load_order;
-
- fseek(fp, 0, SEEK_SET);
- if (fread(&f->header, sizeof(f->header), 1, fp) != 1) {
- errorMsg("error reading ELF header: %s", strerror(errno));
- return NULL;
- }
-
- if (f->header.e_ident[EI_MAG0] != ELFMAG0
- || f->header.e_ident[EI_MAG1] != ELFMAG1
- || f->header.e_ident[EI_MAG2] != ELFMAG2
- || f->header.e_ident[EI_MAG3] != ELFMAG3) {
- errorMsg("not an ELF file");
- return NULL;
- }
- if (f->header.e_ident[EI_CLASS] != ELFCLASSM
- || f->header.e_ident[EI_DATA] != ELFDATAM
- || f->header.e_ident[EI_VERSION] != EV_CURRENT
- || !MATCH_MACHINE(f->header.e_machine)) {
- errorMsg("ELF file not for this architecture");
- return NULL;
- }
- if (f->header.e_type != ET_REL) {
- errorMsg("ELF file not a relocatable object");
- return NULL;
- }
-
- /* Read the section headers. */
-
- if (f->header.e_shentsize != sizeof(ElfW(Shdr))) {
- errorMsg("section header size mismatch: %lu != %lu",
- (unsigned long) f->header.e_shentsize,
- (unsigned long) sizeof(ElfW(Shdr)));
- return NULL;
- }
-
- shnum = f->header.e_shnum;
- f->sections = xmalloc(sizeof(struct obj_section *) * shnum);
- memset(f->sections, 0, sizeof(struct obj_section *) * shnum);
-
- section_headers = alloca(sizeof(ElfW(Shdr)) * shnum);
- fseek(fp, f->header.e_shoff, SEEK_SET);
- if (fread(section_headers, sizeof(ElfW(Shdr)), shnum, fp) != shnum) {
- errorMsg("error reading ELF section headers: %s", strerror(errno));
- return NULL;
- }
-
- /* Read the section data. */
-
- for (i = 0; i < shnum; ++i) {
- struct obj_section *sec;
-
- f->sections[i] = sec = arch_new_section();
- memset(sec, 0, sizeof(*sec));
-
- sec->header = section_headers[i];
- sec->idx = i;
-
- switch (sec->header.sh_type) {
- case SHT_NULL:
- case SHT_NOTE:
- case SHT_NOBITS:
- /* ignore */
- break;
-
- case SHT_PROGBITS:
- case SHT_SYMTAB:
- case SHT_STRTAB:
- case SHT_RELM:
- if (sec->header.sh_size > 0) {
- sec->contents = xmalloc(sec->header.sh_size);
- fseek(fp, sec->header.sh_offset, SEEK_SET);
- if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) {
- errorMsg("error reading ELF section data: %s", strerror(errno));
- return NULL;
- }
- } else {
- sec->contents = NULL;
- }
- break;
-
-#if SHT_RELM == SHT_REL
- case SHT_RELA:
- errorMsg("RELA relocations not supported on this architecture");
- return NULL;
-#else
- case SHT_REL:
- errorMsg("REL relocations not supported on this architecture");
- return NULL;
-#endif
-
- default:
- if (sec->header.sh_type >= SHT_LOPROC) {
- /* Assume processor specific section types are debug
- info and can safely be ignored. If this is ever not
- the case (Hello MIPS?), don't put ifdefs here but
- create an arch_load_proc_section(). */
- break;
- }
-
- errorMsg("can't handle sections of type %ld",
- (long) sec->header.sh_type);
- return NULL;
- }
- }
-
- /* Do what sort of interpretation as needed by each section. */
-
- shstrtab = f->sections[f->header.e_shstrndx]->contents;
-
- for (i = 0; i < shnum; ++i) {
- struct obj_section *sec = f->sections[i];
- sec->name = shstrtab + sec->header.sh_name;
- }
-
- for (i = 0; i < shnum; ++i) {
- struct obj_section *sec = f->sections[i];
-
- if (sec->header.sh_flags & SHF_ALLOC)
- obj_insert_section_load_order(f, sec);
-
- switch (sec->header.sh_type) {
- case SHT_SYMTAB:
- {
- unsigned long nsym, j;
- char *strtab;
- ElfW(Sym) * sym;
-
- if (sec->header.sh_entsize != sizeof(ElfW(Sym))) {
- errorMsg("symbol size mismatch: %lu != %lu",
- (unsigned long) sec->header.sh_entsize,
- (unsigned long) sizeof(ElfW(Sym)));
- return NULL;
- }
-
- nsym = sec->header.sh_size / sizeof(ElfW(Sym));
- strtab = f->sections[sec->header.sh_link]->contents;
- sym = (ElfW(Sym) *) sec->contents;
-
- /* Allocate space for a table of local symbols. */
- j = f->local_symtab_size = sec->header.sh_info;
- f->local_symtab = xmalloc(j *=
- sizeof(struct obj_symbol *));
- memset(f->local_symtab, 0, j);
-
- /* Insert all symbols into the hash table. */
- for (j = 1, ++sym; j < nsym; ++j, ++sym) {
- const char *name;
- if (sym->st_name)
- name = strtab + sym->st_name;
- else
- name = f->sections[sym->st_shndx]->name;
-
- obj_add_symbol(f, name, j, sym->st_info, sym->st_shndx,
- sym->st_value, sym->st_size);
- }
- }
- break;
-
- case SHT_RELM:
- if (sec->header.sh_entsize != sizeof(ElfW(RelM))) {
- errorMsg("relocation entry size mismatch: %lu != %lu",
- (unsigned long) sec->header.sh_entsize,
- (unsigned long) sizeof(ElfW(RelM)));
- return NULL;
- }
- break;
- }
- }
-
- return f;
-}
-
-static void hide_special_symbols(struct obj_file *f)
-{
- static const char *const specials[] = {
- "cleanup_module",
- "init_module",
- "kernel_version",
- NULL
- };
-
- struct obj_symbol *sym;
- const char *const *p;
-
- for (p = specials; *p; ++p)
- if ((sym = obj_find_symbol(f, *p)) != NULL)
- sym->info =
- ELFW(ST_INFO) (STB_LOCAL, ELFW(ST_TYPE) (sym->info));
-}
-
-
-void my_usage(void)
-{
- printf("Usage.");
- exit(0);
-}
-
-extern int insmod_main( int argc, char **argv)
-{
- int k_crcs;
- int k_new_syscalls;
- int len;
- char *tmp;
- unsigned long m_size;
- ElfW(Addr) m_addr;
- FILE *fp;
- struct obj_file *f;
- char m_name[BUFSIZ + 1] = "\0";
- int exit_status = FALSE;
- int m_has_modinfo;
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
- int k_version;
- char k_strversion[STRVERSIONLEN];
- char m_strversion[STRVERSIONLEN];
- int m_version;
- int m_crcs;
-#endif
-
-
- if (argc <= 1)
- my_usage();
-
- argv++; argc--;
-
- /* Grab the module name */
- if ((tmp = strrchr(*argv, '/')) != NULL) {
- tmp++;
- } else {
- tmp = *argv;
- }
- len = strlen(tmp);
-
- if (len > 2 && tmp[len - 2] == '.' && tmp[len - 1] == 'o')
- len -= 2;
- memcpy(m_name, tmp, len);
- strcpy(m_fullName, m_name);
- strcat(m_fullName, ".o");
-
- /* Get a filedesc for the module */
- if ((fp = fopen(*argv, "r")) == NULL) {
- errorMsg("Module %s not found", *argv);
- return -1;
- } else
- memcpy(m_filename, *argv, strlen(*argv));
-
-
- if ((f = obj_load(fp)) == NULL) {
- logperror("Could not load the module");
- goto out;
- }
-
- if (get_modinfo_value(f, "kernel_version") == NULL)
- m_has_modinfo = 0;
- else
- m_has_modinfo = 1;
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
- /* Version correspondence? */
-
- k_version = get_kernel_version(k_strversion);
- if (m_has_modinfo) {
- m_version = new_get_module_version(f, m_strversion);
- } else {
- m_version = old_get_module_version(f, m_strversion);
- if (m_version == -1) {
- errorMsg("couldn't find the kernel version the module was "
- "compiled for");
- goto out;
- }
- }
-
- if (strncmp(k_strversion, m_strversion, STRVERSIONLEN) != 0) {
- if (flag_force_load) {
- errorMsg("Warning: kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s",
- m_filename, m_strversion, k_strversion);
- } else {
- errorMsg("kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s.",
- m_filename, m_strversion, k_strversion);
- goto out;
- }
- }
- k_crcs = 0;
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
- k_new_syscalls = !query_module(NULL, 0, NULL, 0, NULL);
-
- if (k_new_syscalls) {
-#ifdef BB_FEATURE_INSMOD_NEW_KERNEL
- if (!new_get_kernel_symbols())
- goto out;
- k_crcs = new_is_kernel_checksummed();
-#else
- errorMsg("Not configured to support new kernels");
- goto out;
-#endif
- } else {
-#ifdef BB_FEATURE_INSMOD_OLD_KERNEL
- if (!old_get_kernel_symbols(m_name))
- goto out;
- k_crcs = old_is_kernel_checksummed();
-#else
- errorMsg("Not configured to support old kernels");
- goto out;
-#endif
- }
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
- if (m_has_modinfo)
- m_crcs = new_is_module_checksummed(f);
- else
- m_crcs = old_is_module_checksummed(f);
-
- if (m_crcs != k_crcs)
- obj_set_symbol_compare(f, ncv_strcmp, ncv_symbol_hash);
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
- /* Let the module know about the kernel symbols. */
- add_kernel_symbols(f);
-
- /* Allocate common symbols, symbol tables, and string tables. */
-
- if (k_new_syscalls
- ? !new_create_this_module(f, m_name)
- : !old_create_mod_use_count(f))
- {
- goto out;
- }
-
- if (!obj_check_undefineds(f)) {
- goto out;
- }
- obj_allocate_commons(f);
-
- if (m_has_modinfo
- ? !new_process_module_arguments(f, argc-1, argv+1)
- : !old_process_module_arguments(f, argc-1, argv+1))
- {
- goto out;
- }
-
- arch_create_got(f);
- hide_special_symbols(f);
-
- if (k_new_syscalls)
- new_create_module_ksymtab(f);
-
- /* Find current size of the module */
- m_size = obj_load_size(f);
-
-
- errno = 0;
- m_addr = create_module(m_name, m_size);
- switch (errno) {
- case 0:
- break;
- case EEXIST:
- errorMsg("A module named %s already exists", m_name);
- /* Considered as a success in stage1 */
- fclose(fp);
- return(TRUE);
- case ENOMEM:
- errorMsg("Can't allocate kernel memory for module; needed %lu bytes",
- m_size);
- goto out;
- default:
- errorMsg("create_module: %s: %s", m_name, strerror(errno));
- goto out;
- }
-
- if (!obj_relocate(f, m_addr)) {
- delete_module(m_name);
- goto out;
- }
-
- if (k_new_syscalls
- ? !new_init_module(m_name, f, m_size)
- : !old_init_module(m_name, f, m_size))
- {
- delete_module(m_name);
- goto out;
- }
-
- exit_status = TRUE;
-
-out:
- fclose(fp);
- return(exit_status);
-}
-
-
-int insmod_call(char * full_filename, char * params)
-{
- int argc = 2;
- char *argv[50];
- char * ptr = params;
- argv[0] = "stage1";
- argv[1] = full_filename;
-
- while (ptr != NULL) {
- argv[argc] = ptr;
- argc++;
- ptr = strchr(ptr, ' ');
- if (ptr) {
- ptr[0] = '\0';
- ptr++;
- }
- }
-
- return insmod_main(argc, argv);
-}
diff --git a/mdk-stage1/insmod-busybox/loop.h b/mdk-stage1/insmod-busybox/loop.h
deleted file mode 100644
index cba8c6b2b..000000000
--- a/mdk-stage1/insmod-busybox/loop.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/posix_types.h>
-#undef dev_t
-#define dev_t __kernel_dev_t
-#include <linux/loop.h>
-#undef dev_t
diff --git a/mdk-stage1/insmod-busybox/messages.c b/mdk-stage1/insmod-busybox/messages.c
deleted file mode 100644
index 81fd9c75c..000000000
--- a/mdk-stage1/insmod-busybox/messages.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Copyright (C) 2000 by BitterSweet Enterprises, LLC.
- * Written by Karl M. Hegbloom <karlheg@debian.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/*
- * Let's put all of these messages in one place, and link this in as
- * a separate object module, so that there are not going to be
- * multiple non-unique but very similar strings in the binary.
- * Perhaps this will make it simpler to internationalize also, and
- * may make the binary slightly smaller.
- */
-
-// To use this header file, include something like this:
-//
-//#define BB_DECLARE_EXTERN
-//#define bb_need_memory_exhausted
-//#include "messages.c"
-//
-//Then just use the string memory_exhausted when it is needed.
-//
-
-#include "busybox.h"
-#ifndef _BB_MESSAGES_C
-#define _BB_MESSAGES_C
-
-#ifdef BB_DECLARE_EXTERN
-# define BB_DEF_MESSAGE(symbol, string_const) extern const char *symbol;
-#else
-# define BB_DEF_MESSAGE(symbol, string_const) const char *symbol = string_const;
-#endif
-
-
-#if defined bb_need_full_version || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(full_version,
- "BusyBox v" BB_VER " (" BB_BT ") multi-call binary -- GPL2")
-#endif
-#if defined bb_need_name_too_long || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(name_too_long, "file name too long\n")
-#endif
-#if defined bb_need_omitting_directory || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(omitting_directory, "%s: omitting directory\n")
-#endif
-#if defined bb_need_not_a_directory || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(not_a_directory, "%s: not a directory\n")
-#endif
-#if defined bb_need_memory_exhausted || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(memory_exhausted, "memory exhausted\n")
-#endif
-#if defined bb_need_invalid_date || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(invalid_date, "invalid date `%s'\n")
-#endif
-#if defined bb_need_invalid_option || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(invalid_option, "invalid option -- %c\n")
-#endif
-#if defined bb_need_io_error || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(io_error, "%s: input/output error -- %s\n")
-#endif
-#if defined bb_need_help || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(dash_dash_help, "--help")
-#endif
-#if defined bb_need_write_error || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(write_error, "Write Error\n")
-#endif
-#if defined bb_need_too_few_args || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(too_few_args, "too few arguments\n")
-#endif
-#if defined bb_need_name_longer_then_foo || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(name_longer_then_foo, "Names longer then %d chars not supported.\n")
-#endif
-
-
-#endif /* _BB_MESSAGES_C */
-
diff --git a/mdk-stage1/insmod-busybox/utility.c b/mdk-stage1/insmod-busybox/utility.c
deleted file mode 100644
index ffd323347..000000000
--- a/mdk-stage1/insmod-busybox/utility.c
+++ /dev/null
@@ -1,1759 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Utility routines.
- *
- * Copyright (C) tons of folks. Tracking down who wrote what
- * isn't something I'm going to worry about... If you wrote something
- * here, please feel free to acknowledge your work.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
- * Permission has been granted to redistribute this code under the GPL.
- *
- */
-
-#include "busybox.h"
-#if defined (BB_CHMOD_CHOWN_CHGRP) \
- || defined (BB_CP_MV) \
- || defined (BB_FIND) \
- || defined (BB_INSMOD) \
- || defined (BB_LS) \
- || defined (BB_RM) \
- || defined (BB_TAR)
-/* same conditions as recursiveAction */
-#define bb_need_name_too_long
-#endif
-#define bb_need_memory_exhausted
-#define bb_need_full_version
-#define BB_DECLARE_EXTERN
-#include "messages.c"
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <dirent.h>
-#include <time.h>
-#include <utime.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <sys/ioctl.h>
-#include <sys/utsname.h> /* for uname(2) */
-
-/* Busybox mount uses either /proc/filesystems or /dev/mtab to get the
- * list of available filesystems used for the -t auto option */
-#if defined BB_FEATURE_USE_PROCFS && defined BB_FEATURE_USE_DEVPS_PATCH
-//#error Sorry, but busybox can't use both /proc and /dev/ps at the same time -- Pick one and try again.
-#error "Sorry, but busybox can't use both /proc and /dev/ps at the same time -- Pick one and try again."
-#endif
-
-
-#if defined BB_MOUNT || defined BB_UMOUNT || defined BB_DF
-# if defined BB_MTAB
-const char mtab_file[] = "/etc/mtab";
-# else
-# if defined BB_FEATURE_USE_PROCFS
-const char mtab_file[] = "/proc/mounts";
-# else
-# if defined BB_FEATURE_USE_DEVPS_PATCH
-const char mtab_file[] = "/dev/mtab";
-# else
-# error With (BB_MOUNT||BB_UMOUNT||BB_DF) defined, you must define either BB_MTAB or ( BB_FEATURE_USE_PROCFS | BB_FEATURE_USE_DEVPS_PATCH)
-# endif
-# endif
-# endif
-#endif
-
-#ifdef _STANDALONE_
-void errorMsg(const char *s, ...)
-{
- va_list p;
-
- fflush(stdout);
- printf("busybox: ");
- va_start(p, s);
- vprintf(s, p);
- va_end(p);
- printf("\n");
- fflush(stdout);
-}
-
-extern void logperror(char *s)
-{
- perror(s);
-}
-
-void fatalError(const char *s, ...)
-{
- va_list p;
-
- fflush(stdout);
- fprintf(stdout, "busybox: ");
- va_start(p, s);
- vfprintf(stdout, s, p);
- va_end(p);
- fprintf(stdout, "\n");
- fflush(stdout);
- exit(FALSE);
-}
-#else /* _STANDALONE_ */
-#include "../log.h"
-extern void errorMsg(const char *s, ...)
-{
- va_list p;
-
- va_start(p, s);
- vlog_message(s, p);
- va_end(p);
-}
-
-extern void logperror(char *s)
-{
- log_perror(s);
-}
-
-extern void fatalError(const char *s, ...)
-{
- va_list p;
-
- va_start(p, s);
- vlog_message(s, p);
- va_end(p);
- while (1);
-}
-#endif /* _STANDALONE_ */
-
-
-#if defined BB_INIT
-/* Returns kernel version encoded as major*65536 + minor*256 + patch,
- * so, for example, to check if the kernel is greater than 2.2.11:
- * if (get_kernel_revision() <= 2*65536+2*256+11) { <stuff> }
- */
-extern int get_kernel_revision(void)
-{
- struct utsname name;
- int major = 0, minor = 0, patch = 0;
-
- if (uname(&name) == -1) {
- perror("cannot get system information");
- return (0);
- }
- sscanf(name.version, "%d.%d.%d", &major, &minor, &patch);
- return major * 65536 + minor * 256 + patch;
-}
-#endif /* BB_INIT */
-
-
-
-#if defined BB_FREE || defined BB_INIT || defined BB_UNAME || defined BB_UPTIME
-_syscall1(int, sysinfo, struct sysinfo *, info);
-#endif /* BB_INIT */
-
-#if defined BB_MOUNT || defined BB_UMOUNT
-
-#ifndef __NR_umount2
-#define __NR_umount2 52
-#endif
-
-/* Include our own version of <sys/mount.h>, since libc5 doesn't
- * know about umount2 */
-extern _syscall1(int, umount, const char *, special_file);
-extern _syscall2(int, umount2, const char *, special_file, int, flags);
-extern _syscall5(int, mount, const char *, special_file, const char *, dir,
- const char *, fstype, unsigned long int, rwflag, const void *, data);
-#endif
-
-#if defined BB_INSMOD || defined BB_LSMOD
-#ifndef __NR_query_module
-#define __NR_query_module 167
-#endif
-_syscall5(int, query_module, const char *, name, int, which,
- void *, buf, size_t, bufsize, size_t*, ret);
-#endif
-
-
-#if defined (BB_CP_MV) || defined (BB_DU)
-
-#define HASH_SIZE 311 /* Should be prime */
-#define hash_inode(i) ((i) % HASH_SIZE)
-
-static ino_dev_hashtable_bucket_t *ino_dev_hashtable[HASH_SIZE];
-
-/*
- * Return 1 if statbuf->st_ino && statbuf->st_dev are recorded in
- * `ino_dev_hashtable', else return 0
- *
- * If NAME is a non-NULL pointer to a character pointer, and there is
- * a match, then set *NAME to the value of the name slot in that
- * bucket.
- */
-int is_in_ino_dev_hashtable(const struct stat *statbuf, char **name)
-{
- ino_dev_hashtable_bucket_t *bucket;
-
- bucket = ino_dev_hashtable[hash_inode(statbuf->st_ino)];
- while (bucket != NULL) {
- if ((bucket->ino == statbuf->st_ino) &&
- (bucket->dev == statbuf->st_dev))
- {
- if (name) *name = bucket->name;
- return 1;
- }
- bucket = bucket->next;
- }
- return 0;
-}
-
-/* Add statbuf to statbuf hash table */
-void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name)
-{
- int i;
- size_t s;
- ino_dev_hashtable_bucket_t *bucket;
-
- i = hash_inode(statbuf->st_ino);
- s = name ? strlen(name) : 0;
- bucket = xmalloc(sizeof(ino_dev_hashtable_bucket_t) + s);
- bucket->ino = statbuf->st_ino;
- bucket->dev = statbuf->st_dev;
- if (name)
- strcpy(bucket->name, name);
- else
- bucket->name[0] = '\0';
- bucket->next = ino_dev_hashtable[i];
- ino_dev_hashtable[i] = bucket;
-}
-
-/* Clear statbuf hash table */
-void reset_ino_dev_hashtable(void)
-{
- int i;
- ino_dev_hashtable_bucket_t *bucket;
-
- for (i = 0; i < HASH_SIZE; i++) {
- while (ino_dev_hashtable[i] != NULL) {
- bucket = ino_dev_hashtable[i]->next;
- free(ino_dev_hashtable[i]);
- ino_dev_hashtable[i] = bucket;
- }
- }
-}
-
-#endif /* BB_CP_MV || BB_DU */
-
-#if defined (BB_CP_MV) || defined (BB_DU) || defined (BB_LN) || defined (BB_AR)
-/*
- * Return TRUE if a fileName is a directory.
- * Nonexistant files return FALSE.
- */
-int isDirectory(const char *fileName, const int followLinks, struct stat *statBuf)
-{
- int status;
- int didMalloc = 0;
-
- if (statBuf == NULL) {
- statBuf = (struct stat *)xmalloc(sizeof(struct stat));
- ++didMalloc;
- }
-
- if (followLinks == TRUE)
- status = stat(fileName, statBuf);
- else
- status = lstat(fileName, statBuf);
-
- if (status < 0 || !(S_ISDIR(statBuf->st_mode))) {
- status = FALSE;
- }
- else status = TRUE;
-
- if (didMalloc) {
- free(statBuf);
- statBuf = NULL;
- }
- return status;
-}
-#endif
-
-#if defined (BB_AR) || defined BB_CP_MV
-/*
- * Copy readSize bytes between two file descriptors
- */
-int copySubFile(int srcFd, int dstFd, size_t remaining)
-{
- size_t size;
- char buffer[BUFSIZ];
-
- while (remaining > 0) {
- if (remaining > BUFSIZ)
- size = BUFSIZ;
- else
- size = remaining;
- if (fullWrite(dstFd, buffer, fullRead(srcFd, buffer, size)) < size)
- return(FALSE);
- remaining -= size;
- }
- return (TRUE);
-}
-#endif
-
-
-#if defined (BB_CP_MV)
-/*
- * Copy one file to another, while possibly preserving its modes, times, and
- * modes. Returns TRUE if successful, or FALSE on a failure with an error
- * message output. (Failure is not indicated if attributes cannot be set.)
- * -Erik Andersen
- */
-int
-copyFile(const char *srcName, const char *destName,
- int setModes, int followLinks, int forceFlag)
-{
- int rfd;
- int wfd;
- int status;
- struct stat srcStatBuf;
- struct stat dstStatBuf;
- struct utimbuf times;
-
- if (followLinks == TRUE)
- status = stat(srcName, &srcStatBuf);
- else
- status = lstat(srcName, &srcStatBuf);
-
- if (status < 0) {
- perror(srcName);
- return FALSE;
- }
-
- if (followLinks == TRUE)
- status = stat(destName, &dstStatBuf);
- else
- status = lstat(destName, &dstStatBuf);
-
- if (status < 0 || forceFlag==TRUE) {
- unlink(destName);
- dstStatBuf.st_ino = -1;
- dstStatBuf.st_dev = -1;
- }
-
- if ((srcStatBuf.st_dev == dstStatBuf.st_dev) &&
- (srcStatBuf.st_ino == dstStatBuf.st_ino)) {
- errorMsg("Copying file \"%s\" to itself\n", srcName);
- return FALSE;
- }
-
- if (S_ISDIR(srcStatBuf.st_mode)) {
- //fprintf(stderr, "copying directory %s to %s\n", srcName, destName);
- /* Make sure the directory is writable */
- status = mkdir(destName, 0777777 ^ umask(0));
- if (status < 0 && errno != EEXIST) {
- perror(destName);
- return FALSE;
- }
- } else if (S_ISLNK(srcStatBuf.st_mode)) {
- char link_val[BUFSIZ + 1];
- int link_size;
-
- //fprintf(stderr, "copying link %s to %s\n", srcName, destName);
- /* Warning: This could possibly truncate silently, to BUFSIZ chars */
- link_size = readlink(srcName, &link_val[0], BUFSIZ);
- if (link_size < 0) {
- perror(srcName);
- return FALSE;
- }
- link_val[link_size] = '\0';
- status = symlink(link_val, destName);
- if (status < 0) {
- perror(destName);
- return FALSE;
- }
-#if (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1)
- if (setModes == TRUE) {
- /* Try to set owner, but fail silently like GNU cp */
- lchown(destName, srcStatBuf.st_uid, srcStatBuf.st_gid);
- }
-#endif
- return TRUE;
- } else if (S_ISFIFO(srcStatBuf.st_mode)) {
- //fprintf(stderr, "copying fifo %s to %s\n", srcName, destName);
- if (mkfifo(destName, 0644) < 0) {
- perror(destName);
- return FALSE;
- }
- } else if (S_ISBLK(srcStatBuf.st_mode) || S_ISCHR(srcStatBuf.st_mode)
- || S_ISSOCK(srcStatBuf.st_mode)) {
- //fprintf(stderr, "copying soc, blk, or chr %s to %s\n", srcName, destName);
- if (mknod(destName, srcStatBuf.st_mode, srcStatBuf.st_rdev) < 0) {
- perror(destName);
- return FALSE;
- }
- } else if (S_ISREG(srcStatBuf.st_mode)) {
- //fprintf(stderr, "copying regular file %s to %s\n", srcName, destName);
- rfd = open(srcName, O_RDONLY);
- if (rfd < 0) {
- perror(srcName);
- return FALSE;
- }
-
- wfd = open(destName, O_WRONLY | O_CREAT | O_TRUNC,
- srcStatBuf.st_mode);
- if (wfd < 0) {
- perror(destName);
- close(rfd);
- return FALSE;
- }
-
- if (copySubFile(rfd, wfd, srcStatBuf.st_size)==FALSE)
- goto error_exit;
-
- close(rfd);
- if (close(wfd) < 0) {
- return FALSE;
- }
- }
-
- if (setModes == TRUE) {
- /* This is fine, since symlinks never get here */
- if (chown(destName, srcStatBuf.st_uid, srcStatBuf.st_gid) < 0) {
- perror(destName);
- exit FALSE;
- }
- if (chmod(destName, srcStatBuf.st_mode) < 0) {
- perror(destName);
- exit FALSE;
- }
- times.actime = srcStatBuf.st_atime;
- times.modtime = srcStatBuf.st_mtime;
- if (utime(destName, &times) < 0) {
- perror(destName);
- exit FALSE;
- }
- }
-
- return TRUE;
-
- error_exit:
- perror(destName);
- close(rfd);
- close(wfd);
-
- return FALSE;
-}
-#endif /* BB_CP_MV */
-
-
-
-#if defined BB_TAR || defined BB_LS ||defined BB_AR
-
-#define TYPEINDEX(mode) (((mode) >> 12) & 0x0f)
-#define TYPECHAR(mode) ("0pcCd?bB-?l?s???" [TYPEINDEX(mode)])
-
-/* The special bits. If set, display SMODE0/1 instead of MODE0/1 */
-static const mode_t SBIT[] = {
- 0, 0, S_ISUID,
- 0, 0, S_ISGID,
- 0, 0, S_ISVTX
-};
-
-/* The 9 mode bits to test */
-static const mode_t MBIT[] = {
- S_IRUSR, S_IWUSR, S_IXUSR,
- S_IRGRP, S_IWGRP, S_IXGRP,
- S_IROTH, S_IWOTH, S_IXOTH
-};
-
-#define MODE1 "rwxrwxrwx"
-#define MODE0 "---------"
-#define SMODE1 "..s..s..t"
-#define SMODE0 "..S..S..T"
-
-/*
- * Return the standard ls-like mode string from a file mode.
- * This is static and so is overwritten on each call.
- */
-const char *modeString(int mode)
-{
- static char buf[12];
-
- int i;
-
- buf[0] = TYPECHAR(mode);
- for (i = 0; i < 9; i++) {
- if (mode & SBIT[i])
- buf[i + 1] = (mode & MBIT[i]) ? SMODE1[i] : SMODE0[i];
- else
- buf[i + 1] = (mode & MBIT[i]) ? MODE1[i] : MODE0[i];
- }
- return buf;
-}
-#endif /* BB_TAR || BB_LS */
-
-
-#if defined BB_TAR || defined BB_AR
-/*
- * Return the standard ls-like time string from a time_t
- * This is static and so is overwritten on each call.
- */
-const char *timeString(time_t timeVal)
-{
- time_t now;
- char *str;
- static char buf[26];
-
- time(&now);
-
- str = ctime(&timeVal);
-
- strcpy(buf, &str[4]);
- buf[12] = '\0';
-
- if ((timeVal > now) || (timeVal < now - 365 * 24 * 60 * 60L)) {
- strcpy(&buf[7], &str[20]);
- buf[11] = '\0';
- }
-
- return buf;
-}
-#endif /* BB_TAR || BB_AR */
-
-#if defined BB_TAR || defined BB_CP_MV || defined BB_AR
-/*
- * Write all of the supplied buffer out to a file.
- * This does multiple writes as necessary.
- * Returns the amount written, or -1 on an error.
- */
-int fullWrite(int fd, const char *buf, int len)
-{
- int cc;
- int total;
-
- total = 0;
-
- while (len > 0) {
- cc = write(fd, buf, len);
-
- if (cc < 0)
- return -1;
-
- buf += cc;
- total += cc;
- len -= cc;
- }
-
- return total;
-}
-#endif /* BB_TAR || BB_CP_MV || BB_AR */
-
-
-#if defined BB_TAR || defined BB_TAIL || defined BB_AR || defined BB_SH || defined BB_CP_MV
-/*
- * Read all of the supplied buffer from a file.
- * This does multiple reads as necessary.
- * Returns the amount read, or -1 on an error.
- * A short read is returned on an end of file.
- */
-int fullRead(int fd, char *buf, int len)
-{
- int cc;
- int total;
-
- total = 0;
-
- while (len > 0) {
- cc = read(fd, buf, len);
-
- if (cc < 0)
- return -1;
-
- if (cc == 0)
- break;
-
- buf += cc;
- total += cc;
- len -= cc;
- }
-
- return total;
-}
-#endif /* BB_TAR || BB_TAIL || BB_AR || BB_SH */
-
-
-#if defined (BB_CHMOD_CHOWN_CHGRP) \
- || defined (BB_CP_MV) \
- || defined (BB_FIND) \
- || defined (BB_INSMOD) \
- || defined (BB_LS) \
- || defined (BB_RM) \
- || defined (BB_TAR)
-
-/*
- * Walk down all the directories under the specified
- * location, and do something (something specified
- * by the fileAction and dirAction function pointers).
- *
- * Unfortunatly, while nftw(3) could replace this and reduce
- * code size a bit, nftw() wasn't supported before GNU libc 2.1,
- * and so isn't sufficiently portable to take over since glibc2.1
- * is so stinking huge.
- */
-int recursiveAction(const char *fileName,
- int recurse, int followLinks, int depthFirst,
- int (*fileAction) (const char *fileName,
- struct stat * statbuf,
- void* userData),
- int (*dirAction) (const char *fileName,
- struct stat * statbuf,
- void* userData),
- void* userData)
-{
- int status;
- struct stat statbuf;
- struct dirent *next;
-
- if (followLinks == TRUE)
- status = stat(fileName, &statbuf);
- else
- status = lstat(fileName, &statbuf);
-
- if (status < 0) {
-#ifdef BB_DEBUG_PRINT_SCAFFOLD
- fprintf(stderr,
- "status=%d followLinks=%d TRUE=%d\n",
- status, followLinks, TRUE);
-#endif
- perror(fileName);
- return FALSE;
- }
-
- if ((followLinks == FALSE) && (S_ISLNK(statbuf.st_mode))) {
- if (fileAction == NULL)
- return TRUE;
- else
- return fileAction(fileName, &statbuf, userData);
- }
-
- if (recurse == FALSE) {
- if (S_ISDIR(statbuf.st_mode)) {
- if (dirAction != NULL)
- return (dirAction(fileName, &statbuf, userData));
- else
- return TRUE;
- }
- }
-
- if (S_ISDIR(statbuf.st_mode)) {
- DIR *dir;
-
- dir = opendir(fileName);
- if (!dir) {
- perror(fileName);
- return FALSE;
- }
- if (dirAction != NULL && depthFirst == FALSE) {
- status = dirAction(fileName, &statbuf, userData);
- if (status == FALSE) {
- perror(fileName);
- return FALSE;
- }
- }
- while ((next = readdir(dir)) != NULL) {
- char nextFile[BUFSIZ + 1];
-
- if ((strcmp(next->d_name, "..") == 0)
- || (strcmp(next->d_name, ".") == 0)) {
- continue;
- }
- if (strlen(fileName) + strlen(next->d_name) + 1 > BUFSIZ) {
- errorMsg("name_too_long");
- return FALSE;
- }
- memset(nextFile, 0, sizeof(nextFile));
- sprintf(nextFile, "%s/%s", fileName, next->d_name);
- status =
- recursiveAction(nextFile, TRUE, followLinks, depthFirst,
- fileAction, dirAction, userData);
- if (status == FALSE) {
- closedir(dir);
- return FALSE;
- }
- }
- status = closedir(dir);
- if (status < 0) {
- perror(fileName);
- return FALSE;
- }
- if (dirAction != NULL && depthFirst == TRUE) {
- status = dirAction(fileName, &statbuf, userData);
- if (status == FALSE) {
- perror(fileName);
- return FALSE;
- }
- }
- } else {
- if (fileAction == NULL)
- return TRUE;
- else
- return fileAction(fileName, &statbuf, userData);
- }
- return TRUE;
-}
-
-#endif /* BB_CHMOD_CHOWN_CHGRP || BB_CP_MV || BB_FIND || BB_LS || BB_INSMOD */
-
-
-
-#if defined (BB_TAR) || defined (BB_MKDIR) || defined (BB_AR)
-/*
- * Attempt to create the directories along the specified path, except for
- * the final component. The mode is given for the final directory only,
- * while all previous ones get default protections. Errors are not reported
- * here, as failures to restore files can be reported later.
- */
-extern int createPath(const char *name, int mode)
-{
- char *cp;
- char *cpOld;
- char buf[BUFSIZ + 1];
- int retVal = 0;
-
- strcpy(buf, name);
- for (cp = buf; *cp == '/'; cp++);
- cp = strchr(cp, '/');
- while (cp) {
- cpOld = cp;
- cp = strchr(cp + 1, '/');
- *cpOld = '\0';
- retVal = mkdir(buf, cp ? 0777 : mode);
- if (retVal != 0 && errno != EEXIST) {
- perror(buf);
- return FALSE;
- }
- *cpOld = '/';
- }
- return TRUE;
-}
-#endif /* BB_TAR || BB_MKDIR */
-
-
-
-#if defined (BB_CHMOD_CHOWN_CHGRP) || defined (BB_MKDIR) \
- || defined (BB_MKFIFO) || defined (BB_MKNOD) || defined (BB_AR)
-/* [ugoa]{+|-|=}[rwxst] */
-
-
-
-extern int parse_mode(const char *s, mode_t * theMode)
-{
- mode_t andMode =
-
- S_ISVTX | S_ISUID | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO;
- mode_t orMode = 0;
- mode_t mode = 0;
- mode_t groups = 0;
- char type;
- char c;
-
- if (s==NULL)
- return (FALSE);
-
- do {
- for (;;) {
- switch (c = *s++) {
- case '\0':
- return -1;
- case 'u':
- groups |= S_ISUID | S_IRWXU;
- continue;
- case 'g':
- groups |= S_ISGID | S_IRWXG;
- continue;
- case 'o':
- groups |= S_IRWXO;
- continue;
- case 'a':
- groups |= S_ISUID | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO;
- continue;
- case '+':
- case '=':
- case '-':
- type = c;
- if (groups == 0) /* The default is "all" */
- groups |=
- S_ISUID | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO;
- break;
- default:
- if (isdigit(c) && c >= '0' && c <= '7' &&
- mode == 0 && groups == 0) {
- *theMode = strtol(--s, NULL, 8);
- return (TRUE);
- } else
- return (FALSE);
- }
- break;
- }
-
- while ((c = *s++) != '\0') {
- switch (c) {
- case ',':
- break;
- case 'r':
- mode |= S_IRUSR | S_IRGRP | S_IROTH;
- continue;
- case 'w':
- mode |= S_IWUSR | S_IWGRP | S_IWOTH;
- continue;
- case 'x':
- mode |= S_IXUSR | S_IXGRP | S_IXOTH;
- continue;
- case 's':
- mode |= S_IXGRP | S_ISUID | S_ISGID;
- continue;
- case 't':
- mode |= 0;
- continue;
- default:
- *theMode &= andMode;
- *theMode |= orMode;
- return (TRUE);
- }
- break;
- }
- switch (type) {
- case '=':
- andMode &= ~(groups);
- /* fall through */
- case '+':
- orMode |= mode & groups;
- break;
- case '-':
- andMode &= ~(mode & groups);
- orMode &= andMode;
- break;
- }
- } while (c == ',');
- *theMode &= andMode;
- *theMode |= orMode;
- return (TRUE);
-}
-
-
-#endif
-/* BB_CHMOD_CHOWN_CHGRP || BB_MKDIR || BB_MKFIFO || BB_MKNOD */
-
-
-
-
-
-#if defined BB_CHMOD_CHOWN_CHGRP || defined BB_PS || defined BB_LS \
- || defined BB_TAR || defined BB_ID || defined BB_LOGGER \
- || defined BB_LOGNAME || defined BB_WHOAMI
-
-/* This parses entries in /etc/passwd and /etc/group. This is desirable
- * for BusyBox, since we want to avoid using the glibc NSS stuff, which
- * increases target size and is often not needed or wanted for embedded
- * systems.
- *
- * /etc/passwd entries look like this:
- * root:x:0:0:root:/root:/bin/bash
- * and /etc/group entries look like this:
- * root:x:0:
- *
- * This uses buf as storage to hold things.
- *
- */
-unsigned long my_getid(const char *filename, char *name, long id, long *gid)
-{
- FILE *file;
- char *rname, *start, *end, buf[128];
- long rid;
- long rgid = 0;
-
- file = fopen(filename, "r");
- if (file == NULL) {
- /* Do not complain. It is ok for /etc/passwd and
- * friends to be missing... */
- return (-1);
- }
-
- while (fgets(buf, 128, file) != NULL) {
- if (buf[0] == '#')
- continue;
-
- /* username/group name */
- start = buf;
- end = strchr(start, ':');
- if (end == NULL)
- continue;
- *end = '\0';
- rname = start;
-
- /* password */
- start = end + 1;
- end = strchr(start, ':');
- if (end == NULL)
- continue;
-
- /* uid in passwd, gid in group */
- start = end + 1;
- rid = (unsigned long) strtol(start, &end, 10);
- if (end == start)
- continue;
-
- /* gid in passwd */
- start = end + 1;
- rgid = (unsigned long) strtol(start, &end, 10);
-
- if (name) {
- if (0 == strcmp(rname, name)) {
- if (gid) *gid = rgid;
- fclose(file);
- return (rid);
- }
- }
- if (id != -1 && id == rid) {
- strncpy(name, rname, 8);
- if (gid) *gid = rgid;
- fclose(file);
- return (TRUE);
- }
- }
- fclose(file);
- return (-1);
-}
-
-/* returns a uid given a username */
-long my_getpwnam(char *name)
-{
- return my_getid("/etc/passwd", name, -1, NULL);
-}
-
-/* returns a gid given a group name */
-long my_getgrnam(char *name)
-{
- return my_getid("/etc/group", name, -1, NULL);
-}
-
-/* gets a username given a uid */
-void my_getpwuid(char *name, long uid)
-{
- my_getid("/etc/passwd", name, uid, NULL);
-}
-
-/* gets a groupname given a gid */
-void my_getgrgid(char *group, long gid)
-{
- my_getid("/etc/group", group, gid, NULL);
-}
-
-/* gets a gid given a user name */
-long my_getpwnamegid(char *name)
-{
- long gid;
- my_getid("/etc/passwd", name, -1, &gid);
- return gid;
-}
-
-#endif
- /* BB_CHMOD_CHOWN_CHGRP || BB_PS || BB_LS || BB_TAR \
- || BB_ID || BB_LOGGER || BB_LOGNAME || BB_WHOAMI */
-
-
-#if (defined BB_CHVT) || (defined BB_DEALLOCVT) || (defined BB_SETKEYCODES)
-
-/* From <linux/kd.h> */
-#define KDGKBTYPE 0x4B33 /* get keyboard type */
-#define KB_84 0x01
-#define KB_101 0x02 /* this is what we always answer */
-
-int is_a_console(int fd)
-{
- char arg;
-
- arg = 0;
- return (ioctl(fd, KDGKBTYPE, &arg) == 0
- && ((arg == KB_101) || (arg == KB_84)));
-}
-
-static int open_a_console(char *fnam)
-{
- int fd;
-
- /* try read-only */
- fd = open(fnam, O_RDWR);
-
- /* if failed, try read-only */
- if (fd < 0 && errno == EACCES)
- fd = open(fnam, O_RDONLY);
-
- /* if failed, try write-only */
- if (fd < 0 && errno == EACCES)
- fd = open(fnam, O_WRONLY);
-
- /* if failed, fail */
- if (fd < 0)
- return -1;
-
- /* if not a console, fail */
- if (!is_a_console(fd)) {
- close(fd);
- return -1;
- }
-
- /* success */
- return fd;
-}
-
-/*
- * Get an fd for use with kbd/console ioctls.
- * We try several things because opening /dev/console will fail
- * if someone else used X (which does a chown on /dev/console).
- *
- * if tty_name is non-NULL, try this one instead.
- */
-
-int get_console_fd(char *tty_name)
-{
- int fd;
-
- if (tty_name) {
- if (-1 == (fd = open_a_console(tty_name)))
- return -1;
- else
- return fd;
- }
-
- fd = open_a_console("/dev/tty");
- if (fd >= 0)
- return fd;
-
- fd = open_a_console("/dev/tty0");
- if (fd >= 0)
- return fd;
-
- fd = open_a_console("/dev/console");
- if (fd >= 0)
- return fd;
-
- for (fd = 0; fd < 3; fd++)
- if (is_a_console(fd))
- return fd;
-
- errorMsg("Couldnt get a file descriptor referring to the console\n");
- return -1; /* total failure */
-}
-
-
-#endif /* BB_CHVT || BB_DEALLOCVT || BB_SETKEYCODES */
-
-
-#if defined BB_FIND || defined BB_INSMOD
-/*
- * Routine to see if a text string is matched by a wildcard pattern.
- * Returns TRUE if the text is matched, or FALSE if it is not matched
- * or if the pattern is invalid.
- * * matches zero or more characters
- * ? matches a single character
- * [abc] matches 'a', 'b' or 'c'
- * \c quotes character c
- * Adapted from code written by Ingo Wilken, and
- * then taken from sash, Copyright (c) 1999 by David I. Bell
- * Permission is granted to use, distribute, or modify this source,
- * provided that this copyright notice remains intact.
- * Permission to distribute this code under the GPL has been granted.
- */
-extern int check_wildcard_match(const char *text, const char *pattern)
-{
- const char *retryPat;
- const char *retryText;
- int ch;
- int found;
- int len;
-
- retryPat = NULL;
- retryText = NULL;
-
- while (*text || *pattern) {
- ch = *pattern++;
-
- switch (ch) {
- case '*':
- retryPat = pattern;
- retryText = text;
- break;
-
- case '[':
- found = FALSE;
-
- while ((ch = *pattern++) != ']') {
- if (ch == '\\')
- ch = *pattern++;
-
- if (ch == '\0')
- return FALSE;
-
- if (*text == ch)
- found = TRUE;
- }
- len=strlen(text);
- if (found == FALSE && len!=0) {
- return FALSE;
- }
- if (found == TRUE) {
- if (strlen(pattern)==0 && len==1) {
- return TRUE;
- }
- if (len!=0) {
- text++;
- continue;
- }
- }
-
- /* fall into next case */
-
- case '?':
- if (*text++ == '\0')
- return FALSE;
-
- break;
-
- case '\\':
- ch = *pattern++;
-
- if (ch == '\0')
- return FALSE;
-
- /* fall into next case */
-
- default:
- if (*text == ch) {
- if (*text)
- text++;
- break;
- }
-
- if (*text) {
- pattern = retryPat;
- text = ++retryText;
- break;
- }
-
- return FALSE;
- }
-
- if (pattern == NULL)
- return FALSE;
- }
-
- return TRUE;
-}
-#endif /* BB_FIND || BB_INSMOD */
-
-
-
-
-#if defined BB_DF || defined BB_MTAB
-/*
- * Given a block device, find the mount table entry if that block device
- * is mounted.
- *
- * Given any other file (or directory), find the mount table entry for its
- * filesystem.
- */
-extern struct mntent *findMountPoint(const char *name, const char *table)
-{
- struct stat s;
- dev_t mountDevice;
- FILE *mountTable;
- struct mntent *mountEntry;
-
- if (stat(name, &s) != 0)
- return 0;
-
- if ((s.st_mode & S_IFMT) == S_IFBLK)
- mountDevice = s.st_rdev;
- else
- mountDevice = s.st_dev;
-
-
- if ((mountTable = setmntent(table, "r")) == 0)
- return 0;
-
- while ((mountEntry = getmntent(mountTable)) != 0) {
- if (strcmp(name, mountEntry->mnt_dir) == 0
- || strcmp(name, mountEntry->mnt_fsname) == 0) /* String match. */
- break;
- if (stat(mountEntry->mnt_fsname, &s) == 0 && s.st_rdev == mountDevice) /* Match the device. */
- break;
- if (stat(mountEntry->mnt_dir, &s) == 0 && s.st_dev == mountDevice) /* Match the directory's mount point. */
- break;
- }
- endmntent(mountTable);
- return mountEntry;
-}
-#endif /* BB_DF || BB_MTAB */
-
-
-
-#if defined BB_DD || defined BB_TAIL
-/*
- * Read a number with a possible multiplier.
- * Returns -1 if the number format is illegal.
- */
-extern long getNum(const char *cp)
-{
- long value;
-
- if (!isDecimal(*cp))
- return -1;
-
- value = 0;
-
- while (isDecimal(*cp))
- value = value * 10 + *cp++ - '0';
-
- switch (*cp++) {
- case 'M':
- case 'm': /* `tail' uses it traditionally */
- value *= 1048576;
- break;
-
- case 'k':
- value *= 1024;
- break;
-
- case 'b':
- value *= 512;
- break;
-
- case 'w':
- value *= 2;
- break;
-
- case '\0':
- return value;
-
- default:
- return -1;
- }
-
- if (*cp)
- return -1;
-
- return value;
-}
-#endif /* BB_DD || BB_TAIL */
-
-
-#if defined BB_INIT || defined BB_SYSLOGD
-/* try to open up the specified device */
-extern int device_open(char *device, int mode)
-{
- int m, f, fd = -1;
-
- m = mode | O_NONBLOCK;
-
- /* Retry up to 5 times */
- for (f = 0; f < 5; f++)
- if ((fd = open(device, m, 0600)) >= 0)
- break;
- if (fd < 0)
- return fd;
- /* Reset original flags. */
- if (m != mode)
- fcntl(fd, F_SETFL, mode);
- return fd;
-}
-#endif /* BB_INIT BB_SYSLOGD */
-
-
-#if defined BB_KILLALL || ( defined BB_FEATURE_LINUXRC && ( defined BB_HALT || defined BB_REBOOT || defined BB_POWEROFF ))
-#ifdef BB_FEATURE_USE_DEVPS_PATCH
-#include <linux/devps.h> /* For Erik's nifty devps device driver */
-#endif
-
-#if defined BB_FEATURE_USE_DEVPS_PATCH
-/* findPidByName()
- *
- * This finds the pid of the specified process,
- * by using the /dev/ps device driver.
- *
- * Returns a list of all matching PIDs
- */
-extern pid_t* findPidByName( char* pidName)
-{
- int fd, i, j;
- char device[] = "/dev/ps";
- pid_t num_pids;
- pid_t* pid_array = NULL;
- pid_t* pidList=NULL;
-
- /* open device */
- fd = open(device, O_RDONLY);
- if (fd < 0)
- fatalError( "open failed for `%s': %s\n", device, strerror (errno));
-
- /* Find out how many processes there are */
- if (ioctl (fd, DEVPS_GET_NUM_PIDS, &num_pids)<0)
- fatalError( "\nDEVPS_GET_PID_LIST: %s\n", strerror (errno));
-
- /* Allocate some memory -- grab a few extras just in case
- * some new processes start up while we wait. The kernel will
- * just ignore any extras if we give it too many, and will trunc.
- * the list if we give it too few. */
- pid_array = (pid_t*) xcalloc( num_pids+10, sizeof(pid_t));
- pid_array[0] = num_pids+10;
-
- /* Now grab the pid list */
- if (ioctl (fd, DEVPS_GET_PID_LIST, pid_array)<0)
- fatalError( "\nDEVPS_GET_PID_LIST: %s\n", strerror (errno));
-
- /* Now search for a match */
- for (i=1, j=0; i<pid_array[0] ; i++) {
- char* p;
- struct pid_info info;
-
- info.pid = pid_array[i];
- if (ioctl (fd, DEVPS_GET_PID_INFO, &info)<0)
- fatalError( "\nDEVPS_GET_PID_INFO: %s\n", strerror (errno));
-
- /* Make sure we only match on the process name */
- p=info.command_line+1;
- while ((*p != 0) && !isspace(*(p)) && (*(p-1) != '\\')) {
- (p)++;
- }
- if (isspace(*(p)))
- *p='\0';
-
- if ((strstr(info.command_line, pidName) != NULL)
- && (strlen(pidName) == strlen(info.command_line))) {
- pidList=xrealloc( pidList, sizeof(pid_t) * (j+2));
- pidList[j++]=info.pid;
- }
- }
- if (pidList)
- pidList[j]=0;
-
- /* Free memory */
- free( pid_array);
-
- /* close device */
- if (close (fd) != 0)
- fatalError( "close failed for `%s': %s\n",device, strerror (errno));
-
- return pidList;
-}
-#else /* BB_FEATURE_USE_DEVPS_PATCH */
-#if ! defined BB_FEATURE_USE_PROCFS
-#error Sorry, I depend on the /proc filesystem right now.
-#endif
-
-/* findPidByName()
- *
- * This finds the pid of the specified process.
- * Currently, it's implemented by rummaging through
- * the proc filesystem.
- *
- * Returns a list of all matching PIDs
- */
-extern pid_t* findPidByName( char* pidName)
-{
- DIR *dir;
- struct dirent *next;
- pid_t* pidList=NULL;
- int i=0;
-
- dir = opendir("/proc");
- if (!dir)
- fatalError( "Cannot open /proc: %s\n", strerror (errno));
-
- while ((next = readdir(dir)) != NULL) {
- FILE *status;
- char filename[256];
- char buffer[256];
-
- /* If it isn't a number, we don't want it */
- if (!isdigit(*next->d_name))
- continue;
-
- sprintf(filename, "/proc/%s/cmdline", next->d_name);
- status = fopen(filename, "r");
- if (!status) {
- continue;
- }
- fgets(buffer, 256, status);
- fclose(status);
-
- if (strstr(get_last_path_component(buffer), pidName) != NULL) {
- pidList=xrealloc( pidList, sizeof(pid_t) * (i+2));
- pidList[i++]=strtol(next->d_name, NULL, 0);
- }
- }
-
- if (pidList)
- pidList[i]=0;
- return pidList;
-}
-#endif /* BB_FEATURE_USE_DEVPS_PATCH */
-#endif /* BB_KILLALL || ( BB_FEATURE_LINUXRC && ( BB_HALT || BB_REBOOT || BB_POWEROFF )) */
-
-#ifndef DMALLOC
-/* this should really be farmed out to libbusybox.a */
-extern void *xmalloc(size_t size)
-{
- void *ptr = malloc(size);
-
- if (!ptr)
- fatalError("memory_exhausted");
- return ptr;
-}
-
-extern void *xrealloc(void *old, size_t size)
-{
- void *ptr;
- if (!size)
- size = 1;
- ptr = realloc(old, size);
- if (!ptr)
- fatalError("memory_exhausted");
- return ptr;
-}
-
-extern void *xcalloc(size_t nmemb, size_t size)
-{
- void *ptr = calloc(nmemb, size);
- if (!ptr)
- fatalError("memory_exhausted");
- return ptr;
-}
-#endif
-
-#if defined BB_FEATURE_NFSMOUNT || defined BB_SH || defined BB_LS
-# ifndef DMALLOC
-extern char * xstrdup (const char *s) {
- char *t;
-
- if (s == NULL)
- return NULL;
-
- t = strdup (s);
-
- if (t == NULL)
- fatalError("memory_exhausted");
-
- return t;
-}
-# endif
-#endif
-
-#if defined BB_FEATURE_NFSMOUNT
-extern char * xstrndup (const char *s, int n) {
- char *t;
-
- if (s == NULL)
- fatalError("xstrndup bug");
-
- t = xmalloc(n+1);
- strncpy(t,s,n);
- t[n] = 0;
-
- return t;
-}
-#endif
-
-
-#if (__GLIBC__ < 2) && (defined BB_SYSLOGD || defined BB_INIT)
-extern int vdprintf(int d, const char *format, va_list ap)
-{
- char buf[BUF_SIZE];
- int len;
-
- len = vsprintf(buf, format, ap);
- return write(d, buf, len);
-}
-#endif /* BB_SYSLOGD */
-
-
-#if defined BB_FEATURE_MOUNT_LOOP
-#include <fcntl.h>
-#include "loop.h" /* Pull in loop device support */
-
-extern int del_loop(const char *device)
-{
- int fd;
-
- if ((fd = open(device, O_RDONLY)) < 0) {
- perror(device);
- return (FALSE);
- }
- if (ioctl(fd, LOOP_CLR_FD, 0) < 0) {
- perror("ioctl: LOOP_CLR_FD");
- return (FALSE);
- }
- close(fd);
- return (TRUE);
-}
-
-extern int set_loop(const char *device, const char *file, int offset,
- int *loopro)
-{
- struct loop_info loopinfo;
- int fd, ffd, mode;
-
- mode = *loopro ? O_RDONLY : O_RDWR;
- if ((ffd = open(file, mode)) < 0 && !*loopro
- && (errno != EROFS || (ffd = open(file, mode = O_RDONLY)) < 0)) {
- perror(file);
- return 1;
- }
- if ((fd = open(device, mode)) < 0) {
- close(ffd);
- perror(device);
- return 1;
- }
- *loopro = (mode == O_RDONLY);
-
- memset(&loopinfo, 0, sizeof(loopinfo));
- strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
- loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
-
- loopinfo.lo_offset = offset;
-
- loopinfo.lo_encrypt_key_size = 0;
- if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
- perror("ioctl: LOOP_SET_FD");
- close(fd);
- close(ffd);
- return 1;
- }
- if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
- (void) ioctl(fd, LOOP_CLR_FD, 0);
- perror("ioctl: LOOP_SET_STATUS");
- close(fd);
- close(ffd);
- return 1;
- }
- close(fd);
- close(ffd);
- return 0;
-}
-
-extern char *find_unused_loop_device(void)
-{
- char dev[20];
- int i, fd;
- struct stat statbuf;
- struct loop_info loopinfo;
-
- for (i = 0; i <= 7; i++) {
- sprintf(dev, "/dev/loop%d", i);
- if (stat(dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
- if ((fd = open(dev, O_RDONLY)) >= 0) {
- if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) == -1) {
- if (errno == ENXIO) { /* probably free */
- close(fd);
- return strdup(dev);
- }
- }
- close(fd);
- }
- }
- }
- return NULL;
-}
-#endif /* BB_FEATURE_MOUNT_LOOP */
-
-#if defined BB_MOUNT || defined BB_DF || ( defined BB_UMOUNT && ! defined BB_MTAB)
-extern int find_real_root_device_name(char* name)
-{
- DIR *dir;
- struct dirent *entry;
- struct stat statBuf, rootStat;
- char fileName[BUFSIZ];
-
- if (stat("/", &rootStat) != 0) {
- errorMsg("could not stat '/'\n");
- return( FALSE);
- }
-
- dir = opendir("/dev");
- if (!dir) {
- errorMsg("could not open '/dev'\n");
- return( FALSE);
- }
-
- while((entry = readdir(dir)) != NULL) {
-
- /* Must skip ".." since that is "/", and so we
- * would get a false positive on ".." */
- if (strcmp(entry->d_name, "..") == 0)
- continue;
-
- snprintf( fileName, strlen(name)+1, "/dev/%s", entry->d_name);
-
- if (stat(fileName, &statBuf) != 0)
- continue;
- /* Some char devices have the same dev_t as block
- * devices, so make sure this is a block device */
- if (! S_ISBLK(statBuf.st_mode))
- continue;
- if (statBuf.st_rdev == rootStat.st_rdev) {
- strcpy(name, fileName);
- return ( TRUE);
- }
- }
-
- return( FALSE);
-}
-#endif
-
-
-/* get_line_from_file() - This function reads an entire line from a text file
- * up to a newline. It returns a malloc'ed char * which must be stored and
- * free'ed by the caller. */
-extern char *get_line_from_file(FILE *file)
-{
- static const int GROWBY = 80; /* how large we will grow strings by */
-
- int ch;
- int idx = 0;
- char *linebuf = NULL;
- int linebufsz = 0;
-
- while (1) {
- ch = fgetc(file);
- if (ch == EOF)
- break;
- /* grow the line buffer as necessary */
- while (idx > linebufsz-2)
- linebuf = xrealloc(linebuf, linebufsz += GROWBY);
- linebuf[idx++] = (char)ch;
- if ((char)ch == '\n')
- break;
- }
-
- if (idx == 0)
- return NULL;
-
- linebuf[idx] = 0;
- return linebuf;
-}
-
-#if defined BB_CAT
-extern void print_file(FILE *file)
-{
- int c;
-
- while ((c = getc(file)) != EOF)
- putc(c, stdout);
- fclose(file);
- fflush(stdout);
-}
-
-extern int print_file_by_name(char *filename)
-{
- FILE *file;
- file = fopen(filename, "r");
- if (file == NULL) {
- return FALSE;
- }
- print_file(file);
- return TRUE;
-}
-#endif /* BB_CAT || BB_LSMOD */
-
-#if defined BB_ECHO || defined BB_TR
-char process_escape_sequence(char **ptr)
-{
- char c;
-
- switch (c = *(*ptr)++) {
- case 'a':
- c = '\a';
- break;
- case 'b':
- c = '\b';
- break;
- case 'f':
- c = '\f';
- break;
- case 'n':
- c = '\n';
- break;
- case 't':
- c = '\t';
- break;
- case 'v':
- c = '\v';
- break;
- case '\\':
- c = '\\';
- break;
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- c -= '0';
- if ('0' <= **ptr && **ptr <= '7') {
- c = c * 8 + (*(*ptr)++ - '0');
- if ('0' <= **ptr && **ptr <= '7')
- c = c * 8 + (*(*ptr)++ - '0');
- }
- break;
- default:
- (*ptr)--;
- c = '\\';
- break;
- }
- return c;
-}
-#endif
-
-#if defined BB_BASENAME || defined BB_LN || defined BB_SH
-char *get_last_path_component(char *path)
-{
- char *s=path+strlen(path)-1;
-
- /* strip trailing slashes */
- while (s && *s == '/') {
- *s-- = '\0';
- }
-
- /* find last component */
- s = strrchr(path, '/');
- if (s==NULL) return path;
- else return s+1;
-}
-#endif
-
-#if defined BB_GREP || defined BB_SED
-void xregcomp(regex_t *preg, const char *regex, int cflags)
-{
- int ret;
- if ((ret = regcomp(preg, regex, cflags)) != 0) {
- int errmsgsz = regerror(ret, preg, NULL, 0);
- char *errmsg = xmalloc(errmsgsz);
- regerror(ret, preg, errmsg, errmsgsz);
- fatalError("bb_regcomp: %s\n", errmsg);
- }
-}
-#endif
-
-/* END CODE */
-/*
-Local Variables:
-c-file-style: "linux"
-c-basic-offset: 4
-tab-width: 4
-End:
-*/
diff --git a/mdk-stage1/insmod-modutils/Makefile b/mdk-stage1/insmod-modutils/Makefile
deleted file mode 100644
index e8f78d2d0..000000000
--- a/mdk-stage1/insmod-modutils/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
- #******************************************************************************
- #
- # insmod from modutils (generic)
- #
- # $Id$
- #
- # Copyright 1996, 1997 Linux International.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-INCS = -I./include
-
-DEFS = -Wno-error -D_GNU_SOURCE -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH)
-
-
-DIRS = util obj
-
-all: dirs insmod libinsmod.a #libinsmod-DIET.a
-
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || make -C $$n ;\
- done
-
-clean:
- @for n in $(DIRS); do \
- (cd $$n; make clean) \
- done
- rm -rf t *.o insmod libinsmod.a libinsmod-DIET.a
-
-
-insmod: insmod-frontend.o insmod.o ./util/libutil-STANDALONE.a ./obj/libobj.a
- gcc -o $@ $^
- $(STRIPCMD) $@
-
-t/.create_stuff: util/libutil.a obj/libobj.a
- rm -rf t
- mkdir t
- cd t && for e in $^; do ar -x ../$$e; done
- touch t/.create_stuff
-
-libinsmod.a: insmod.o t/.create_stuff
- ar cru $@ insmod.o t/*
- ranlib $@
-
-libinsmod-DIET.a: insmod-DIET.o ./util/libutil-DIET.a ./obj/libobj-DIET.a
- ar cru $@ $^
- ranlib $@
-
-insmod-frontend.o: insmod-frontend.c insmod.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c insmod-frontend.c
-
-insmod.o: insmod.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c insmod.c
-
-insmod-DIET.o: insmod.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(DIETLIBC_INCLUDES) -o $@ -c insmod.c
-
diff --git a/mdk-stage1/insmod-modutils/include/config.h b/mdk-stage1/insmod-modutils/include/config.h
deleted file mode 100644
index 11da6a523..000000000
--- a/mdk-stage1/insmod-modutils/include/config.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Configuration file management
- *
- * Copyright 1994, 1995, 1996, 1997:
- * Jacques Gelinas <jack@solucorp.qc.ca>
- * Bjrn Ekwall <bj0rn@blox.se> February, March 1999
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef _CONFIG_H
-#define _CONFIG_H
-
-#include <stdio.h>
-#include <sys/utsname.h>
-
-#define ETC_MODULES_CONF "/etc/modules.conf"
-
-#define EXEC_PRE_INSTALL 0
-#define EXEC_POST_INSTALL 1
-#define EXEC_PRE_REMOVE 2
-#define EXEC_POST_REMOVE 3
-#define EXEC_INSTALL 4
-#define EXEC_REMOVE 5
-
-struct PATH_TYPE {
- char *type;
- char *path;
-};
-
-struct EXEC_TYPE {
- int when;
- char *module;
- char *cmd;
-};
-
-typedef struct {
- char *name;
- GLOB_LIST *opts;
- int autoclean;
-} OPT_LIST;
-
-/* config.c */
-extern int flag_autoclean;
-extern struct utsname uts_info;
-extern char *aliaslist[];
-extern struct PATH_TYPE *modpath;
-extern int nmodpath;
-extern struct EXEC_TYPE *execs;
-extern int nexecs;
-extern char *insmod_opt;
-extern char *config_file;
-extern char *optlist[];
-extern char *prune[];
-extern OPT_LIST *opt_list;
-extern OPT_LIST *abovelist;
-extern OPT_LIST *belowlist;
-extern OPT_LIST *prunelist;
-extern OPT_LIST *probe_list;
-extern OPT_LIST *probeall_list;
-extern OPT_LIST *aliases;
-extern time_t config_mtime;
-extern int root_check_off; /* Check modules are owned by root? */
-
-/* Information about generated files */
-struct gen_files {
- char *base; /* xxx in /lib/modules/`uname -r`/modules.xxx */
- char *name; /* name actually used */
- time_t mtime;
-};
-
-extern struct gen_files gen_file[];
-extern const int gen_file_count;
-/* The enum order must match the gen_file initialization order in config.c */
-enum gen_file_enum {
- GEN_GENERIC_STRINGFILE,
- GEN_PCIMAPFILE,
- GEN_ISAPNPMAPFILE,
- GEN_USBMAPFILE,
- GEN_PARPORTMAPFILE,
- GEN_DEPFILE,
-};
-
-extern char *persistdir;
-
-char *fgets_strip(char *buf, int sizebuf, FILE * fin, int *lineno);
-int config_read(int all, char *force_ver, char *base_dir, char *conf_file);
-GLOB_LIST *config_lstmod(const char *match, const char *type, int first_only);
-char *search_module_path(const char *base);
-
-#endif /* _CONFIG_H */
diff --git a/mdk-stage1/insmod-modutils/include/elf_alpha.h b/mdk-stage1/insmod-modutils/include/elf_alpha.h
deleted file mode 100644
index f1ec66f1c..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_alpha.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for the Alpha. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS64
-#define ELFDATAM ELFDATA2LSB
-
-#define MATCH_MACHINE(x) (x == EM_ALPHA)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_arm.h b/mdk-stage1/insmod-modutils/include/elf_arm.h
deleted file mode 100644
index f6b531e88..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_arm.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for ARM. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2LSB
-
-#define MATCH_MACHINE(x) (x == EM_ARM)
-
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
diff --git a/mdk-stage1/insmod-modutils/include/elf_hppa.h b/mdk-stage1/insmod-modutils/include/elf_hppa.h
deleted file mode 100644
index 9a1bd34ce..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_hppa.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for HP-PA. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_PARISC)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_hppa64.h b/mdk-stage1/insmod-modutils/include/elf_hppa64.h
deleted file mode 100644
index 05b201aef..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_hppa64.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for HP-PA64. */
-
-#define ELFCLASSM ELFCLASS64
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_PARISC)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_i386.h b/mdk-stage1/insmod-modutils/include/elf_i386.h
deleted file mode 100644
index c6c2d326e..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_i386.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for i386 et al. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2LSB
-
-#define MATCH_MACHINE(x) (x == EM_386)
-
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
diff --git a/mdk-stage1/insmod-modutils/include/elf_ia64.h b/mdk-stage1/insmod-modutils/include/elf_ia64.h
deleted file mode 100644
index b4d902956..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_ia64.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for ia64. */
-
-#define ELFCLASSM ELFCLASS64
-#define ELFDATAM ELFDATA2LSB
-
-#define MATCH_MACHINE(x) (x == EM_IA_64)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_m68k.h b/mdk-stage1/insmod-modutils/include/elf_m68k.h
deleted file mode 100644
index 817fc8f2c..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_m68k.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for m68k. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_68K)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_mips.h b/mdk-stage1/insmod-modutils/include/elf_mips.h
deleted file mode 100644
index 8a0430216..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_mips.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Machine-specific elf macros for MIPS. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS32
-#ifdef __MIPSEB__
-#define ELFDATAM ELFDATA2MSB
-#endif
-#ifdef __MIPSEL__
-#define ELFDATAM ELFDATA2LSB
-#endif
-
-/* Account for ELF spec changes. */
-#ifndef EM_MIPS_RS3_LE
-#ifdef EM_MIPS_RS4_BE
-#define EM_MIPS_RS3_LE EM_MIPS_RS4_BE
-#else
-#define EM_MIPS_RS3_LE 10
-#endif
-#endif /* !EM_MIPS_RS3_LE */
-
-#define MATCH_MACHINE(x) (x == EM_MIPS || x == EM_MIPS_RS3_LE)
-
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
diff --git a/mdk-stage1/insmod-modutils/include/elf_ppc.h b/mdk-stage1/insmod-modutils/include/elf_ppc.h
deleted file mode 100644
index 71596de8c..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_ppc.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for the PowerPC. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_PPC)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_s390.h b/mdk-stage1/insmod-modutils/include/elf_s390.h
deleted file mode 100644
index 547d66b83..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_s390.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for i386 et al. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_S390)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_sparc.h b/mdk-stage1/insmod-modutils/include/elf_sparc.h
deleted file mode 100644
index 9b5c348d9..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_sparc.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for the Sparc. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_SPARC)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_sparc64.h b/mdk-stage1/insmod-modutils/include/elf_sparc64.h
deleted file mode 100644
index 158edd7e1..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_sparc64.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Machine-specific elf macros for the Sparc. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS64
-#define ELFDATAM ELFDATA2MSB
-
-#ifndef EM_SPARCV9
-#define EM_SPARCV9 43
-#endif
-#ifndef EM_SPARC64
-#define EM_SPARC64 11
-#endif
-#define MATCH_MACHINE(x) ((x) == EM_SPARCV9 || (x) == EM_SPARC64)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
-
-#ifndef ELF64_R_SYM
-#define ELF64_R_SYM(x) ((x) >> 32)
-#define ELF64_R_TYPE(x) ((unsigned)(x))
-#endif
-
-#ifndef ELF64_ST_BIND
-#define ELF64_ST_BIND(x) ((x) >> 4)
-#define ELF64_ST_TYPE(x) ((x) & 0xf)
-#endif
-
diff --git a/mdk-stage1/insmod-modutils/include/kallsyms.h b/mdk-stage1/insmod-modutils/include/kallsyms.h
deleted file mode 100644
index 9748873cf..000000000
--- a/mdk-stage1/insmod-modutils/include/kallsyms.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* kallsyms headers
- Copyright 2000 Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils. It is exported to kernel
- space so debuggers can access the kallsyms data.
-
- The kallsyms data contains all the non-stack symbols from a kernel
- or a module. The kernel symbols are held between __start___kallsyms
- and __stop___kallsyms. The symbols for a module are accessed via
- the struct module chain which is based at module_list.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ident "$Id$"
-
-#ifndef MODUTILS_KALLSYMS_H
-#define MODUTILS_KALLSYMS_H 1
-
-/* Have to (re)define these ElfW entries here because external kallsyms
- * code does not have access to modutils/include/obj.h. This code is
- * included from user spaces tools (modutils) and kernel, they need
- * different includes.
- */
-
-#ifndef ELFCLASS32
-#ifdef __KERNEL__
-#include <linux/elf.h>
-#else /* __KERNEL__ */
-#include <elf.h>
-#endif /* __KERNEL__ */
-#endif /* ELFCLASS32 */
-
-#ifndef ELFCLASSM
-#define ELFCLASSM ELF_CLASS
-#endif
-
-#ifndef ElfW
-# if ELFCLASSM == ELFCLASS32
-# define ElfW(x) Elf32_ ## x
-# define ELFW(x) ELF32_ ## x
-# else
-# define ElfW(x) Elf64_ ## x
-# define ELFW(x) ELF64_ ## x
-# endif
-#endif
-
-/* Format of data in the kallsyms section.
- * Most of the fields are small numbers but the total size and all
- * offsets can be large so use the 32/64 bit types for these fields.
- *
- * Do not use sizeof() on these structures, modutils may be using extra
- * fields. Instead use the size fields in the header to access the
- * other bits of data.
- */
-
-struct kallsyms_header {
- int size; /* Size of this header */
- ElfW(Word) total_size; /* Total size of kallsyms data */
- int sections; /* Number of section entries */
- ElfW(Off) section_off; /* Offset to first section entry */
- int section_size; /* Size of one section entry */
- int symbols; /* Number of symbol entries */
- ElfW(Off) symbol_off; /* Offset to first symbol entry */
- int symbol_size; /* Size of one symbol entry */
- ElfW(Off) string_off; /* Offset to first string */
- ElfW(Addr) start; /* Start address of first section */
- ElfW(Addr) end; /* End address of last section */
-};
-
-struct kallsyms_section {
- ElfW(Addr) start; /* Start address of section */
- ElfW(Word) size; /* Size of this section */
- ElfW(Off) name_off; /* Offset to section name */
- ElfW(Word) flags; /* Flags from section */
-};
-
-struct kallsyms_symbol {
- ElfW(Off) section_off; /* Offset to section that owns this symbol */
- ElfW(Addr) symbol_addr; /* Address of symbol */
- ElfW(Off) name_off; /* Offset to symbol name */
-};
-
-#define KALLSYMS_SEC_NAME "__kallsyms"
-#define KALLSYMS_IDX 2 /* obj_kallsyms creates kallsyms as section 2 */
-
-#define kallsyms_next_sec(h,s) \
- ((s) = (struct kallsyms_section *)((char *)(s) + (h)->section_size))
-#define kallsyms_next_sym(h,s) \
- ((s) = (struct kallsyms_symbol *)((char *)(s) + (h)->symbol_size))
-
-int kallsyms_symbol_to_address(
- const char *name, /* Name to lookup */
- unsigned long *token, /* Which module to start with */
- const char **mod_name, /* Set to module name or "kernel" */
- unsigned long *mod_start, /* Set to start address of module */
- unsigned long *mod_end, /* Set to end address of module */
- const char **sec_name, /* Set to section name */
- unsigned long *sec_start, /* Set to start address of section */
- unsigned long *sec_end, /* Set to end address of section */
- const char **sym_name, /* Set to full symbol name */
- unsigned long *sym_start, /* Set to start address of symbol */
- unsigned long *sym_end /* Set to end address of symbol */
- );
-
-int kallsyms_address_to_symbol(
- unsigned long address, /* Address to lookup */
- const char **mod_name, /* Set to module name */
- unsigned long *mod_start, /* Set to start address of module */
- unsigned long *mod_end, /* Set to end address of module */
- const char **sec_name, /* Set to section name */
- unsigned long *sec_start, /* Set to start address of section */
- unsigned long *sec_end, /* Set to end address of section */
- const char **sym_name, /* Set to full symbol name */
- unsigned long *sym_start, /* Set to start address of symbol */
- unsigned long *sym_end /* Set to end address of symbol */
- );
-
-#endif /* kallsyms.h */
diff --git a/mdk-stage1/insmod-modutils/include/kerneld.h b/mdk-stage1/insmod-modutils/include/kerneld.h
deleted file mode 100644
index 3bc2c9d42..000000000
--- a/mdk-stage1/insmod-modutils/include/kerneld.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Definitions for the Linux kerneld SYSV IPC interface.
- This file was part of the Linux kernel, and so is covered by the GPL. */
-
-#ifndef MODUTILS_KERNELD_H
-#define MODUTILS_KERNELD_H
-
-#ident "$Id$"
-
-#define KERNELD_SYSTEM 1
-#define KERNELD_REQUEST_MODULE 2 /* "insmod" */
-#define KERNELD_RELEASE_MODULE 3 /* "rmmod" */
-#define KERNELD_DELAYED_RELEASE_MODULE 4 /* "rmmod" */
-#define KERNELD_CANCEL_RELEASE_MODULE 5 /* "rmmod" */
-#define KERNELD_REQUEST_ROUTE 6 /* net/ipv4/route.c */
-#define KERNELD_BLANKER 7 /* drivers/char/console.c */
-#define KERNELD_PNP 8 /* drivers/pnp/kerneld.c */
-#define KERNELD_ARP 256 /* net/ipv4/arp.c */
-
-#ifdef NEW_KERNELD_PROTOCOL
-# define OLDIPC_KERNELD 00040000 /* old kerneld message channel */
-# define IPC_KERNELD 00140000 /* new kerneld message channel */
-# define KDHDR (sizeof(long) + sizeof(short) + sizeof(short))
-# define NULL_KDHDR 0, 2, 0
-#else /* NEW_KERNELD_PROTOCOL */
-# define IPC_KERNELD 00040000
-# define KDHDR (sizeof(long))
-# define NULL_KDHDR 0
-#endif /* NEW_KERNELD_PROTOCOL */
-
-#define KERNELD_MAXCMD 0x7ffeffff
-#define KERNELD_MINSEQ 0x7fff0000 /* "commands" legal up to 0x7ffeffff */
-#define KERNELD_WAIT 0x80000000
-#define KERNELD_NOWAIT 0
-
-struct kerneld_msg
- {
- long mtype;
- long id;
-#ifdef NEW_KERNELD_PROTOCOL
- short version;
- short pid;
-#endif /* NEW_KERNELD_PROTOCOL */
- char text[1];
- };
-
-#endif /* kerneld.h */
diff --git a/mdk-stage1/insmod-modutils/include/modstat.h b/mdk-stage1/insmod-modutils/include/modstat.h
deleted file mode 100644
index b8a58eeae..000000000
--- a/mdk-stage1/insmod-modutils/include/modstat.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * For kernel module status and information
- *
- * Add module_name_list and l_module_name_list.
- * Keith Owens <kaos@ocs.com.au> November 1999.
- * Bjrn Ekwall <bj0rn@blox.se> February 1999.
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-#ifndef _KERNEL_H
-#define _KERNEL_H
-
-#define K_SYMBOLS 1 /* Want info about symbols */
-#define K_INFO 2 /* Want extended module info */
-#define K_REFS 4 /* Want info about references */
-
-struct module_stat {
- char *name;
- unsigned long addr;
- unsigned long modstruct; /* COMPAT_2_0! *//* depends on architecture? */
- unsigned long size;
- unsigned long flags;
- long usecount;
- size_t nsyms;
- struct module_symbol *syms;
- size_t nrefs;
- struct module_stat **refs;
- unsigned long status;
-};
-
-extern struct module_stat *module_stat;
-extern size_t n_module_stat;
-extern char *module_name_list;
-extern size_t l_module_name_list;
-extern struct module_symbol *ksyms;
-extern size_t nksyms;
-extern int k_new_syscalls;
-
-int get_kernel_info(int type);
-
-#endif /* _KERNEL_H */
diff --git a/mdk-stage1/insmod-modutils/include/module.h b/mdk-stage1/insmod-modutils/include/module.h
deleted file mode 100644
index db49ab2b2..000000000
--- a/mdk-stage1/insmod-modutils/include/module.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/* Definitions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#ifndef MODUTILS_MODULE_H
-#define MODUTILS_MODULE_H 1
-
-#ident "$Id$"
-
-/* This file contains the structures used by the 2.0 and 2.1 kernels.
- We do not use the kernel headers directly because we do not wish
- to be dependant on a particular kernel version to compile insmod. */
-
-
-/*======================================================================*/
-/* The structures used by Linux 2.0. */
-
-/* The symbol format used by get_kernel_syms(2). */
-struct old_kernel_sym
-{
- unsigned long value;
- char name[60];
-};
-
-struct old_module_ref
-{
- unsigned long module; /* kernel addresses */
- unsigned long next;
-};
-
-struct old_module_symbol
-{
- unsigned long addr;
- unsigned long name;
-};
-
-struct old_symbol_table
-{
- int size; /* total, including string table!!! */
- int n_symbols;
- int n_refs;
- struct old_module_symbol symbol[0]; /* actual size defined by n_symbols */
- struct old_module_ref ref[0]; /* actual size defined by n_refs */
-};
-
-struct old_mod_routines
-{
- unsigned long init;
- unsigned long cleanup;
-};
-
-struct old_module
-{
- unsigned long next;
- unsigned long ref; /* the list of modules that refer to me */
- unsigned long symtab;
- unsigned long name;
- int size; /* size of module in pages */
- unsigned long addr; /* address of module */
- int state;
- unsigned long cleanup; /* cleanup routine */
-};
-
-/* Sent to init_module(2) or'ed into the code size parameter. */
-#define OLD_MOD_AUTOCLEAN 0x40000000 /* big enough, but no sign problems... */
-
-int get_kernel_syms(struct old_kernel_sym *);
-int old_sys_init_module(const char *name, char *code, unsigned codesize,
- struct old_mod_routines *, struct old_symbol_table *);
-
-/*======================================================================*/
-/* For sizeof() which are related to the module platform and not to the
- environment isnmod is running in, use sizeof_xx instead of sizeof(xx). */
-
-#define tgt_sizeof_char sizeof(char)
-#define tgt_sizeof_short sizeof(short)
-#define tgt_sizeof_int sizeof(int)
-#define tgt_sizeof_long sizeof(long)
-#define tgt_sizeof_char_p sizeof(char *)
-#define tgt_sizeof_void_p sizeof(void *)
-#define tgt_long long
-#define tgt_long_fmt "l"
-
-/* This assumes that long long on a 32 bit system is equivalent to long on the
- * equivalent 64 bit system. Also that void and char pointers are 8 bytes on
- * all 64 bit systems. Add per system tweaks if it ever becomes necessary.
- */
-#if defined(COMMON_3264) && defined(ONLY_64)
-#undef tgt_long
-#undef tgt_long_fmt
-#undef tgt_sizeof_long
-#undef tgt_sizeof_char_p
-#undef tgt_sizeof_void_p
-#define tgt_long long long
-#define tgt_long_fmt "ll"
-#define tgt_sizeof_long 8
-#define tgt_sizeof_char_p 8
-#define tgt_sizeof_void_p 8
-#endif
-
-/*======================================================================*/
-/* The structures used in Linux 2.1 onwards. */
-
-/* Note: module_symbol does not use tgt_long intentionally */
-struct module_symbol
-{
- unsigned long value;
- unsigned long name;
-};
-
-struct module_ref
-{
- unsigned tgt_long dep; /* kernel addresses */
- unsigned tgt_long ref;
- unsigned tgt_long next_ref;
-};
-
-struct module
-{
- unsigned tgt_long size_of_struct; /* == sizeof(module) */
- unsigned tgt_long next;
- unsigned tgt_long name;
- unsigned tgt_long size;
-
- tgt_long usecount;
- unsigned tgt_long flags; /* AUTOCLEAN et al */
-
- unsigned nsyms;
- unsigned ndeps;
-
- unsigned tgt_long syms;
- unsigned tgt_long deps;
- unsigned tgt_long refs;
- unsigned tgt_long init;
- unsigned tgt_long cleanup;
- unsigned tgt_long ex_table_start;
- unsigned tgt_long ex_table_end;
-#ifdef __alpha__
- unsigned tgt_long gp;
-#endif
- /* Everything after here is extension. */
- unsigned tgt_long read_start; /* Read data from existing module */
- unsigned tgt_long read_end;
- unsigned tgt_long can_unload;
- unsigned tgt_long runsize;
- unsigned tgt_long kallsyms_start;
- unsigned tgt_long kallsyms_end;
- unsigned tgt_long archdata_start;
- unsigned tgt_long archdata_end;
- unsigned tgt_long kernel_data;
-};
-
-struct module_info
-{
- unsigned long addr;
- unsigned long size;
- unsigned long flags;
- long usecount;
-};
-
-/* Bits of module.flags. */
-#define NEW_MOD_RUNNING 1
-#define NEW_MOD_DELETED 2
-#define NEW_MOD_AUTOCLEAN 4
-#define NEW_MOD_VISITED 8
-#define NEW_MOD_USED_ONCE 16
-#define NEW_MOD_INITIALIZING 64
-
-int sys_init_module(const char *name, const struct module *);
-int query_module(const char *name, int which, void *buf, size_t bufsize,
- size_t *ret);
-
-/* Values for query_module's which. */
-
-#define QM_MODULES 1
-#define QM_DEPS 2
-#define QM_REFS 3
-#define QM_SYMBOLS 4
-#define QM_INFO 5
-
-/*======================================================================*/
-/* The system calls unchanged between 2.0 and 2.1. */
-
-unsigned long create_module(const char *, size_t);
-int delete_module(const char *);
-
-/* In safe mode the last parameter is forced to be a module name and meta
- * expansion is not allowed on that name.
- */
-extern unsigned int safemode;
-
-#endif /* module.h */
diff --git a/mdk-stage1/insmod-modutils/include/obj.h b/mdk-stage1/insmod-modutils/include/obj.h
deleted file mode 100644
index b140c65c3..000000000
--- a/mdk-stage1/insmod-modutils/include/obj.h
+++ /dev/null
@@ -1,275 +0,0 @@
-/* Elf object file loading and relocation routines.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
- obj_free() added by Bjrn Ekwall <bj0rn@blox.se> March 1999
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#ifndef MODUTILS_OBJ_H
-#define MODUTILS_OBJ_H 1
-
-#ident "$Id$"
-
-/* The relocatable object is manipulated using elfin types. */
-
-#include <stdio.h>
-#include <elf.h>
-#include ELF_MACHINE_H
-
-#ifndef ElfW
-# if ELFCLASSM == ELFCLASS32
-# define ElfW(x) Elf32_ ## x
-# define ELFW(x) ELF32_ ## x
-# else
-# define ElfW(x) Elf64_ ## x
-# define ELFW(x) ELF64_ ## x
-# endif
-#endif
-
-#if defined(COMMON_3264) && defined(ONLY_32)
-# define ObjW(x) obj32_ ## x
-#else
-# if defined(COMMON_3264) && defined(ONLY_64)
-# define ObjW(x) obj64_ ## x
-# else
-# define ObjW(x) obj_ ## x
-# endif
-#endif
-
-/* For some reason this is missing from lib5. */
-#ifndef ELF32_ST_INFO
-# define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-#endif
-
-#ifndef ELF64_ST_INFO
-# define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-#endif
-
-struct obj_string_patch_struct;
-struct obj_symbol_patch_struct;
-
-struct obj_section
-{
- ElfW(Shdr) header;
- const char *name;
- char *contents;
- struct obj_section *load_next;
- int idx;
-};
-
-struct obj_symbol
-{
- struct obj_symbol *next; /* hash table link */
- const char *name;
- unsigned long value;
- unsigned long size;
- int secidx; /* the defining section index/module */
- int info;
- int ksymidx; /* for export to the kernel symtab */
- int r_type; /* relocation type */
-};
-
-/* Hardcode the hash table size. We shouldn't be needing so many
- symbols that we begin to degrade performance, and we get a big win
- by giving the compiler a constant divisor. */
-
-#define HASH_BUCKETS 521
-
-struct obj_file
-{
- ElfW(Ehdr) header;
- ElfW(Addr) baseaddr;
- struct obj_section **sections;
- struct obj_section *load_order;
- struct obj_section **load_order_search_start;
- struct obj_string_patch_struct *string_patches;
- struct obj_symbol_patch_struct *symbol_patches;
- int (*symbol_cmp)(const char *, const char *);
- unsigned long (*symbol_hash)(const char *);
- unsigned long local_symtab_size;
- struct obj_symbol **local_symtab;
- struct obj_symbol *symtab[HASH_BUCKETS];
- const char *filename;
- char *persist;
-};
-
-enum obj_reloc
-{
- obj_reloc_ok,
- obj_reloc_overflow,
- obj_reloc_dangerous,
- obj_reloc_unhandled,
- obj_reloc_constant_gp
-};
-
-struct obj_string_patch_struct
-{
- struct obj_string_patch_struct *next;
- int reloc_secidx;
- ElfW(Addr) reloc_offset;
- ElfW(Addr) string_offset;
-};
-
-struct obj_symbol_patch_struct
-{
- struct obj_symbol_patch_struct *next;
- int reloc_secidx;
- ElfW(Addr) reloc_offset;
- struct obj_symbol *sym;
-};
-
-
-/* Generic object manipulation routines. */
-
-#define obj_elf_hash ObjW(elf_hash)
-#define obj_elf_hash_n ObjW(elf_hash_n)
-#define obj_add_symbol ObjW(add_symbol)
-#define obj_find_symbol ObjW(find_symbol)
-#define obj_symbol_final_value ObjW(symbol_final_value)
-#define obj_set_symbol_compare ObjW(set_symbol_compare)
-#define obj_find_section ObjW(find_section)
-#define obj_insert_section_load_order ObjW(insert_section_load_order)
-#define obj_create_alloced_section ObjW(create_alloced_section)
-#define obj_create_alloced_section_first \
- ObjW(create_alloced_section_first)
-#define obj_extend_section ObjW(extend_section)
-#define obj_string_patch ObjW(string_patch)
-#define obj_symbol_patch ObjW(symbol_patch)
-#define obj_check_undefineds ObjW(check_undefineds)
-#define obj_clear_undefineds ObjW(clear_undefineds)
-#define obj_allocate_commons ObjW(allocate_commons)
-#define obj_load_size ObjW(load_size)
-#define obj_relocate ObjW(relocate)
-#define obj_load ObjW(load)
-#define obj_free ObjW(free)
-#define obj_create_image ObjW(create_image)
-#define obj_addr_to_native_ptr ObjW(addr_to_native_ptr)
-#define obj_native_ptr_to_addr ObjW(native_ptr_to_addr)
-#define arch_new_file ObjW(arch_new_file)
-#define arch_new_section ObjW(arch_new_section)
-#define arch_new_symbol ObjW(arch_new_symbol)
-#define arch_apply_relocation ObjW(arch_apply_relocation)
-#define arch_create_got ObjW(arch_create_got)
-#define arch_init_module ObjW(arch_init_module)
-#define arch_load_proc_section ObjW(arch_load_proc_section)
-#define arch_finalize_section_address ObjW(arch_finalize_section_address)
-#define arch_archdata ObjW(arch_archdata)
-
-unsigned long obj_elf_hash (const char *);
-
-unsigned long obj_elf_hash_n (const char *, unsigned long len);
-
-struct obj_symbol *obj_add_symbol (struct obj_file *f, const char *name,
- unsigned long symidx, int info, int secidx,
- ElfW(Addr) value, unsigned long size);
-
-struct obj_symbol *obj_find_symbol (struct obj_file *f,
- const char *name);
-
-ElfW(Addr) obj_symbol_final_value (struct obj_file *f,
- struct obj_symbol *sym);
-
-void obj_set_symbol_compare (struct obj_file *f,
- int (*cmp)(const char *, const char *),
- unsigned long (*hash)(const char *));
-
-struct obj_section *obj_find_section (struct obj_file *f,
- const char *name);
-
-void obj_insert_section_load_order (struct obj_file *f,
- struct obj_section *sec);
-
-struct obj_section *obj_create_alloced_section (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-struct obj_section *obj_create_alloced_section_first (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-void *obj_extend_section (struct obj_section *sec, unsigned long more);
-
-int obj_string_patch (struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string);
-
-int obj_symbol_patch (struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym);
-
-int obj_check_undefineds (struct obj_file *f, int quiet);
-
-void obj_clear_undefineds (struct obj_file *f);
-
-void obj_allocate_commons (struct obj_file *f);
-
-unsigned long obj_load_size (struct obj_file *f);
-
-int obj_relocate (struct obj_file *f, ElfW(Addr) base);
-
-struct obj_file *obj_load (int f, Elf32_Half e_type, const char *filename);
-
-void obj_free (struct obj_file *f);
-
-int obj_create_image (struct obj_file *f, char *image);
-
-int obj_kallsyms (struct obj_file *fin, struct obj_file **fout);
-
-/* Architecture specific manipulation routines. */
-
-struct obj_file *arch_new_file (void);
-
-struct obj_section *arch_new_section (void);
-
-struct obj_symbol *arch_new_symbol (void);
-
-enum obj_reloc arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- ElfW(RelM) *rel, ElfW(Addr) value);
-
-int arch_create_got (struct obj_file *f);
-
-struct module;
-int arch_init_module (struct obj_file *f, struct module *);
-
-int arch_load_proc_section (struct obj_section *sec, int fp);
-
-int arch_finalize_section_address (struct obj_file *f, ElfW(Addr) base);
-
-int arch_archdata (struct obj_file *fin, struct obj_section *sec);
-
-#define ARCHDATA_SEC_NAME "__archdata"
-
-/* Pointers in objects can be 32 or 64 bit */
-union obj_ptr_4 {
- Elf32_Word addr;
- void *ptr;
-};
-union obj_ptr_8 {
- Elf64_Xword addr;
- void *ptr;
-};
-
-void *obj_addr_to_native_ptr(ElfW(Addr));
-
-ElfW(Addr) obj_native_ptr_to_addr(void *);
-
-#endif /* obj.h */
diff --git a/mdk-stage1/insmod-modutils/include/util.h b/mdk-stage1/insmod-modutils/include/util.h
deleted file mode 100644
index b2e4a67c3..000000000
--- a/mdk-stage1/insmod-modutils/include/util.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Miscelaneous utility functions.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#ifndef MODUTILS_UTIL_H
-#define MODUTILS_UTIL_H 1
-
-#ident "$Id$"
-
-#include <stdio.h>
-#include <sys/stat.h>
-
-#define SHELL_META "&();|<>$`\"'\\!{}[]~=+:?*" /* Sum of bj0rn and Debian */
-
-void *xmalloc(size_t);
-void *xrealloc(void *, size_t);
-char *xstrdup(const char *);
-char *xstrcat(char *, const char *, size_t);
-int xsystem(const char *, char *const[]);
-int arch64(void);
-
-typedef int (*xftw_func_t)(const char *, const struct stat *);
-extern int xftw(const char *directory, xftw_func_t);
-
-/* Error logging */
-extern int log;
-extern int errors;
-extern const char *error_file;
-
-extern int flag_verbose;
-extern void verbose(const char *ctl,...);
-
-void error(const char *fmt, ...)
-#ifdef __GNUC__
- __attribute__((format(printf, 1, 2)))
-#endif
- ;
-
-void lprintf(const char *fmt, ...)
-#ifdef __GNUC__
- __attribute__((format(printf, 1, 2)))
-#endif
- ;
-
-void setsyslog(const char *program);
-
-/*
- * Generic globlist <bj0rn@blox.se>
- */
-typedef struct {
- int pathc; /* Count of paths matched so far */
- char **pathv; /* List of matched pathnames. */
-} GLOB_LIST;
-int meta_expand(char *pt, GLOB_LIST *g, char *base_dir, char *version, int type);
-#define ME_BUILTIN_COMMAND 1
-#define ME_SHELL_COMMAND 2
-#define ME_GLOB 4
-#define ME_ALL (ME_GLOB|ME_SHELL_COMMAND|ME_BUILTIN_COMMAND)
-
-extern void snap_shot(const char *module_name, int number);
-extern void snap_shot_log(const char *fmt,...);
-
-#ifdef CONFIG_USE_ZLIB
-int gzf_open(const char *name, int mode);
-int gzf_read(int fd, void *buf, size_t count);
-off_t gzf_lseek(int fd, off_t offset, int whence);
-void gzf_close(int fd);
-
-#else /* ! CONFIG_USE_ZLIB */
-
-#include <unistd.h>
-
-#define gzf_open open
-#define gzf_read read
-#define gzf_lseek lseek
-#define gzf_close close
-
-#endif /* CONFIG_USE_ZLIB */
-
-#define SYMPREFIX "__insmod_";
-extern const char symprefix[10]; /* Must be sizeof(SYMPREFIX), including nul */
-
-#endif /* util.h */
diff --git a/mdk-stage1/insmod-modutils/include/version.h b/mdk-stage1/insmod-modutils/include/version.h
deleted file mode 100644
index 51ca0eb29..000000000
--- a/mdk-stage1/insmod-modutils/include/version.h
+++ /dev/null
@@ -1 +0,0 @@
-#define MODUTILS_VERSION "2.4.2"
diff --git a/mdk-stage1/insmod-modutils/insmod-frontend.c b/mdk-stage1/insmod-modutils/insmod-frontend.c
deleted file mode 100644
index 2b3aa1acb..000000000
--- a/mdk-stage1/insmod-modutils/insmod-frontend.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <stdio.h>
-
-
-int insmod_main( int argc, char **argv);
-
-int main( int argc, char **argv)
-{
- printf("Using insmod provided by modutils.\n");
- return insmod_main(argc, argv);
-}
diff --git a/mdk-stage1/insmod-modutils/insmod.c b/mdk-stage1/insmod-modutils/insmod.c
deleted file mode 100644
index 359b28837..000000000
--- a/mdk-stage1/insmod-modutils/insmod.c
+++ /dev/null
@@ -1,1964 +0,0 @@
-/* Insert a module into a running kernel.
- Copyright 1996, 1997 Linux International.
-
- New implementation contributed by Richard Henderson <rth@tamu.edu>
- Based on original work by Bjorn Ekwall <bj0rn@blox.se>
- Restructured (and partly rewritten) by:
- Bjrn Ekwall <bj0rn@blox.se> February 1999
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
- /*
- Fixes:
-
- Adjust module size for mod_use_count in old_init_module:
- B. James Phillippe <bryan@terran.org>
-
- Merged modprobe + many fixes: Bjrn Ekwall <bj0rn@blox.se> February 1999
- SMP "friendliness" (and -P): Bill Zumach <zumach+@transarc.com>
-
- Ksymoops support: Keith Owens <kaos@ocs.com.au> August 1999.
-
- Add -r flag: Keith Owens <kaos@ocs.com.au> October 1999.
-
- More flexible recognition of the way the utility was called.
- Suggested by Stepan Kasal, implemented in a different way by Keith
- Owens <kaos@ocs.com.au> December 1999.
-
- Rationalize common code for 32/64 bit architectures.
- Keith Owens <kaos@ocs.com.au> December 1999.
- Add arch64().
- Keith Owens <kaos@ocs.com.au> December 1999.
- kallsyms support
- Keith Owens <kaos@ocs.com.au> April 2000.
- archdata support
- Keith Owens <kaos@ocs.com.au> August 2000.
- Add insmod -O, move print map before sys_init_module.
- Keith Owens <kaos@ocs.com.au> October 2000.
- Add insmod -S.
- Keith Owens <kaos@ocs.com.au> November 2000.
- Add persistent data support.
- Keith Owens <kaos@ocs.com.au> November 2000.
- */
-
-#ident "$Id$"
-
-#include "../insmod.h"
-#include <sys/types.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-//#include <alloca.h> provided by stdlib
-#include <limits.h>
-#include <ctype.h>
-#include <errno.h>
-#include <stddef.h>
-#include <getopt.h>
-#include <sys/stat.h>
-#include <sys/file.h>
-
-#include "module.h"
-#include "obj.h"
-#include "kallsyms.h"
-#include "util.h"
-#include "version.h"
-
-#include "modstat.h"
-#include "config.h"
-
-#define STRVERSIONLEN 32
-
-/*======================================================================*/
-
-static int flag_force_load = 0;
-static int flag_silent_probe = 0;
-static int flag_export = 1;
-static int flag_load_map = 0;
-static int flag_ksymoops = 1;
-
-static int n_ext_modules_used;
-static int m_has_modinfo;
-
-extern int insmod_main(int argc, char **argv);
-extern int insmod_main_32(int argc, char **argv);
-extern int insmod_main_64(int argc, char **argv);
-extern int modprobe_main(int argc, char **argv);
-extern int rmmod_main(int argc, char **argv);
-extern int ksyms_main(int argc, char **argv);
-extern int lsmod_main(int argc, char **argv);
-extern int kallsyms_main(int argc, char **argv);
-
-/*======================================================================*/
-
-/* Get the kernel version in the canonical integer form. */
-
-static int get_kernel_version(char str[STRVERSIONLEN])
-{
- char *p, *q;
- int a, b, c;
-
- strncpy(str, uts_info.release, STRVERSIONLEN);
- p = uts_info.release;
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
-
- return a << 16 | b << 8 | c;
-}
-
-/* String comparison for non-co-versioned kernel and module.
- * prefix should be the same as used by genksyms for this kernel.
- */
-static char *ncv_prefix = NULL; /* Overridden by --prefix option */
-static int ncv_plen = 0;
-
-/* Only set prefix once. If set by the user, use it. If not set by the
- * user, look for a well known kernel symbol and derive the prefix from
- * there. Otherwise set the prefix depending on whether uts_info
- * includes SMP or not for backwards compatibility.
- */
-static void set_ncv_prefix(char *prefix)
-{
- static char derived_prefix[256];
- static const char *well_known_symbol[] = { "get_module_symbol_R",
- "inter_module_get_R",
- };
- struct module_symbol *s;
- int i, j, l, m, pl;
- const char *name;
- char *p;
-
- if (ncv_prefix)
- return;
-
- if (prefix)
- ncv_prefix = prefix;
- else {
- /* Extract the prefix (if any) from well known symbols */
- for (i = 0, s = ksyms; i < nksyms; ++i, ++s) {
- name = (char *) s->name;
- l = strlen(name);
- for (j = 0; j < sizeof(well_known_symbol)/sizeof(well_known_symbol[0]); ++j) {
- m = strlen(well_known_symbol[j]);
- if (m + 8 > l ||
- strncmp(name, well_known_symbol[j], m))
- continue;
- pl = l - m - 8;
- if (pl > sizeof(derived_prefix)-1)
- continue; /* Prefix is wrong length */
- /* Must end with 8 hex digits */
- (void) strtoul(name+l-8, &p, 16);
- if (*p == 0) {
- strncpy(derived_prefix, name+m, pl);
- *(derived_prefix+pl) = '\0';
- ncv_prefix = derived_prefix;
- break;
- }
- }
- }
- }
- if (!ncv_prefix) {
- p = strchr(uts_info.version, ' ');
- if (p && *(++p) && !strncmp(p, "SMP ", 4))
- ncv_prefix = "smp_";
- else
- ncv_prefix = "";
- }
- ncv_plen = strlen(ncv_prefix);
- if (flag_verbose)
- lprintf("Symbol version prefix '%s'", ncv_prefix);
-}
-
-static int ncv_strcmp(const char *a, const char *b)
-{
- size_t alen = strlen(a), blen = strlen(b);
-
- if (blen == alen + 10 + ncv_plen &&
- b[alen] == '_' &&
- b[alen + 1] == 'R' &&
- !(ncv_plen && strncmp(b + alen + 2, ncv_prefix, ncv_plen))) {
- return strncmp(a, b, alen);
- } else if (alen == blen + 10 + ncv_plen &&
- a[blen] == '_' && a[blen + 1] == 'R' &&
- !(ncv_plen && strncmp(a + blen + 2, ncv_prefix, ncv_plen))) {
- return strncmp(a, b, blen);
- } else
- return strcmp(a, b);
-}
-
-/*
- * String hashing for non-co-versioned kernel and module.
- * Here we are simply forced to drop the crc from the hash.
- */
-static unsigned long ncv_symbol_hash(const char *str)
-{
- size_t len = strlen(str);
-
- if (len > 10 + ncv_plen &&
- str[len - 10 - ncv_plen] == '_' &&
- str[len - 9 - ncv_plen] == 'R' &&
- !(
- ncv_plen &&
- strncmp(str + len - (8 + ncv_plen), ncv_prefix, ncv_plen)
- ))
- len -= 10 + ncv_plen;
- return obj_elf_hash_n(str, len);
-}
-
-/*
- * Conditionally add the symbols from the given symbol set
- * to the new module.
- */
-static int add_symbols_from(struct obj_file *f, int idx,
- struct module_symbol *syms, size_t nsyms)
-{
- struct module_symbol *s;
- size_t i;
- int used = 0;
-
- for (i = 0, s = syms; i < nsyms; ++i, ++s) {
- /*
- * Only add symbols that are already marked external.
- * If we override locals we may cause problems for
- * argument initialization.
- * We will also create a false dependency on the module.
- */
- struct obj_symbol *sym;
-
- sym = obj_find_symbol(f, (char *) s->name);
- if (sym && !ELFW(ST_BIND) (sym->info) == STB_LOCAL) {
- sym = obj_add_symbol(f, (char *) s->name, -1,
- ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- idx, s->value, 0);
- /*
- * Did our symbol just get installed?
- * If so, mark the module as "used".
- */
- if (sym->secidx == idx)
- used = 1;
- }
- }
-
- return used;
-}
-
-static void add_kernel_symbols(struct obj_file *f)
-{
- struct module_stat *m;
- size_t i, nused = 0;
-
- /* Add module symbols first. */
- for (i = 0, m = module_stat; i < n_module_stat; ++i, ++m)
- if (m->nsyms &&
- add_symbols_from(f, SHN_HIRESERVE + 2 + i, m->syms, m->nsyms))
- m->status = 1 /* used */, ++nused;
- n_ext_modules_used = nused;
-
- /* And finally the symbols from the kernel proper. */
- if (nksyms)
- add_symbols_from(f, SHN_HIRESERVE + 1, ksyms, nksyms);
-}
-
-static void hide_special_symbols(struct obj_file *f)
-{
- struct obj_symbol *sym;
- const char *const *p;
- static const char *const specials[] =
- {
- "cleanup_module",
- "init_module",
- "kernel_version",
- NULL
- };
-
- for (p = specials; *p; ++p)
- if ((sym = obj_find_symbol(f, *p)) != NULL)
- sym->info = ELFW(ST_INFO) (STB_LOCAL, ELFW(ST_TYPE) (sym->info));
-}
-
-static void print_load_map(struct obj_file *f)
-{
- struct obj_symbol *sym;
- struct obj_symbol **all, **p;
- struct obj_section *sec;
- int load_map_cmp(const void *a, const void *b) {
- struct obj_symbol **as = (struct obj_symbol **) a;
- struct obj_symbol **bs = (struct obj_symbol **) b;
- unsigned long aa = obj_symbol_final_value(f, *as);
- unsigned long ba = obj_symbol_final_value(f, *bs);
- return aa < ba ? -1 : aa > ba ? 1 : 0;
- }
- int i, nsyms, *loaded;
-
- /* Report on the section layout. */
-
- lprintf("Sections: Size %-*s Align",
- (int) (2 * sizeof(void *)), "Address");
-
- for (sec = f->load_order; sec; sec = sec->load_next) {
- int a;
- unsigned long tmp;
-
- for (a = -1, tmp = sec->header.sh_addralign; tmp; ++a)
- tmp >>= 1;
- if (a == -1)
- a = 0;
-
- lprintf("%-16s%08lx %0*lx 2**%d",
- sec->name,
- (long)sec->header.sh_size,
- (int) (2 * sizeof(void *)),
- (long)sec->header.sh_addr,
- a);
- }
-
- /* Quick reference which section indicies are loaded. */
-
- loaded = alloca(sizeof(int) * (i = f->header.e_shnum));
- while (--i >= 0)
- loaded[i] = (f->sections[i]->header.sh_flags & SHF_ALLOC) != 0;
-
- /* Collect the symbols we'll be listing. */
-
- for (nsyms = i = 0; i < HASH_BUCKETS; ++i)
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx]))
- ++nsyms;
-
- all = alloca(nsyms * sizeof(struct obj_symbol *));
-
- for (i = 0, p = all; i < HASH_BUCKETS; ++i)
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx]))
- *p++ = sym;
-
- /* Sort them by final value. */
- qsort(all, nsyms, sizeof(struct obj_file *), load_map_cmp);
-
- /* And list them. */
- lprintf("\nSymbols:");
- for (p = all; p < all + nsyms; ++p) {
- char type = '?';
- unsigned long value;
-
- sym = *p;
- if (sym->secidx == SHN_ABS) {
- type = 'A';
- value = sym->value;
- } else if (sym->secidx == SHN_UNDEF) {
- type = 'U';
- value = 0;
- } else {
- struct obj_section *sec = f->sections[sym->secidx];
-
- if (sec->header.sh_type == SHT_NOBITS)
- type = 'B';
- else if (sec->header.sh_flags & SHF_ALLOC) {
- if (sec->header.sh_flags & SHF_EXECINSTR)
- type = 'T';
- else if (sec->header.sh_flags & SHF_WRITE)
- type = 'D';
- else
- type = 'R';
- }
- value = sym->value + sec->header.sh_addr;
- }
-
- if (ELFW(ST_BIND) (sym->info) == STB_LOCAL)
- type = tolower(type);
-
- lprintf("%0*lx %c %s", (int) (2 * sizeof(void *)), value,
- type, sym->name);
- }
-}
-
-/************************************************************************/
-/* begin compat */
-
-static char * get_modinfo_value(struct obj_file *f, const char *key)
-{
- struct obj_section *sec;
- char *p, *v, *n, *ep;
- size_t klen = strlen(key);
-
- sec = obj_find_section(f, ".modinfo");
- if (sec == NULL)
- return NULL;
-
- p = sec->contents;
- ep = p + sec->header.sh_size;
- while (p < ep) {
- v = strchr(p, '=');
- n = strchr(p, '\0');
- if (v) {
- if (v - p == klen && strncmp(p, key, klen) == 0)
- return v + 1;
- } else {
- if (n - p == klen && strcmp(p, key) == 0)
- return n;
- }
- p = n + 1;
- }
-
- return NULL;
-}
-
-static int create_this_module(struct obj_file *f, const char *m_name)
-{
- struct obj_section *sec;
-
- sec = obj_create_alloced_section_first(f, ".this", tgt_sizeof_long,
- sizeof(struct module));
- memset(sec->contents, 0, sizeof(struct module));
-
- obj_add_symbol(f, "__this_module", -1, ELFW(ST_INFO) (STB_LOCAL, STT_OBJECT),
- sec->idx, 0, sizeof(struct module));
-
- obj_string_patch(f, sec->idx, offsetof(struct module, name), m_name);
-
- return 1;
-}
-
-#ifdef COMPAT_2_0
-static int old_create_mod_use_count(struct obj_file *f)
-{
- struct obj_section *sec;
- struct obj_symbol *got;
-
- sec = obj_create_alloced_section_first(f, ".moduse",
- sizeof(long), sizeof(long));
-
- obj_add_symbol(f, "mod_use_count_",
- -1, ELFW(ST_INFO)(STB_LOCAL, STT_OBJECT),
- sec->idx, 0, sizeof(long));
-
- /*
- * patb: if there is a _GLOBAL_OFFSET_TABLE_,
- * add .got section for PIC type modules;
- * we have to do this here, because obj_* calls are not made until
- * after obj_check_undefined
- * is there a better place for this exception?
- */
- got = obj_find_symbol(f, "_GLOBAL_OFFSET_TABLE_");
- if (got)
-{
- sec = obj_create_alloced_section(f, ".got",
- sizeof(long), sizeof(long));
- got->secidx = sec->idx; /* mark the symbol as defined */
- }
- return 1;
-}
-#endif
-
-/* add an entry to the __ksymtab section, creating it if necessary */
-static void add_ksymtab(struct obj_file *f, struct obj_symbol *sym)
-{
- struct obj_section *sec;
- ElfW(Addr) ofs;
-
- /* ensure __ksymtab is allocated, EXPORT_NOSYMBOLS creates a non-alloc section.
- * If __ksymtab is defined but not marked alloc, x out the first character
- * (no obj_delete routine) and create a new __ksymtab with the correct
- * characteristics.
- */
- sec = obj_find_section(f, "__ksymtab");
- if (sec && !(sec->header.sh_flags & SHF_ALLOC)) {
- *((char *)(sec->name)) = 'x'; /* override const */
- sec = NULL;
- }
- if (!sec)
- sec = obj_create_alloced_section(f, "__ksymtab", tgt_sizeof_void_p, 0);
- if (!sec)
- return;
- sec->header.sh_flags |= SHF_ALLOC;
-
- ofs = sec->header.sh_size;
- obj_symbol_patch(f, sec->idx, ofs, sym);
- obj_string_patch(f, sec->idx, ofs + tgt_sizeof_void_p, sym->name);
- obj_extend_section(sec, 2 * tgt_sizeof_char_p);
-}
-
-static int create_module_ksymtab(struct obj_file *f)
-{
- struct obj_section *sec;
- int i;
-
- /* We must always add the module references. */
-
- if (n_ext_modules_used) {
- struct module_ref *dep;
- struct obj_symbol *tm;
-
- sec = obj_create_alloced_section(f, ".kmodtab", tgt_sizeof_void_p,
- (sizeof(struct module_ref)
- * n_ext_modules_used));
- if (!sec)
- return 0;
-
- tm = obj_find_symbol(f, "__this_module");
- dep = (struct module_ref *) sec->contents;
- for (i = 0; i < n_module_stat; ++i)
- if (module_stat[i].status /* used */) {
- dep->dep = module_stat[i].addr;
- obj_symbol_patch(f, sec->idx, (char *) &dep->ref - sec->contents, tm);
- dep->next_ref = 0;
- ++dep;
- }
- }
- if (flag_export && !obj_find_section(f, "__ksymtab")) {
- int *loaded;
-
- /* We don't want to export symbols residing in sections that
- aren't loaded. There are a number of these created so that
- we make sure certain module options don't appear twice. */
-
- loaded = alloca(sizeof(int) * (i = f->header.e_shnum));
- while (--i >= 0)
- loaded[i] = (f->sections[i]->header.sh_flags & SHF_ALLOC) != 0;
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next) {
- if (ELFW(ST_BIND) (sym->info) != STB_LOCAL
- && sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE
- || loaded[sym->secidx])) {
- add_ksymtab(f, sym);
- }
- }
- }
- }
- return 1;
-}
-
-/* Get the module's kernel version in the canonical integer form. */
-static int get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
-{
- int a, b, c;
- char *p, *q;
-
- if ((p = get_modinfo_value(f, "kernel_version")) == NULL) {
- struct obj_symbol *sym;
-
- m_has_modinfo = 0;
- if ((sym = obj_find_symbol(f, "kernel_version")) == NULL)
- sym = obj_find_symbol(f, "__module_kernel_version");
- if (sym == NULL)
- return -1;
- p = f->sections[sym->secidx]->contents + sym->value;
- } else
- m_has_modinfo = 1;
-
- strncpy(str, p, STRVERSIONLEN);
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
-
- return a << 16 | b << 8 | c;
-}
-
-/* Return the kernel symbol checksum version, or zero if not used. */
-static int is_kernel_checksummed(void)
-{
- struct module_symbol *s;
- size_t i;
-
- /*
- * Using_Versions might not be the first symbol,
- * but it should be in there.
- */
- for (i = 0, s = ksyms; i < nksyms; ++i, ++s)
- if (strcmp((char *) s->name, "Using_Versions") == 0)
- return s->value;
-
- return 0;
-}
-
-static int is_module_checksummed(struct obj_file *f)
-{
- if (m_has_modinfo) {
- const char *p = get_modinfo_value(f, "using_checksums");
- if (p)
- return atoi(p);
- else
- return 0;
- } else
- return obj_find_symbol(f, "Using_Versions") != NULL;
-}
-
-/* add module source, timestamp, kernel version and a symbol for the
- * start of some sections. this info is used by ksymoops to do better
- * debugging.
- */
-static void add_ksymoops_symbols(struct obj_file *f, const char *filename,
- const char *m_name)
-{
- struct obj_section *sec;
- struct obj_symbol *sym;
- char *name, *absolute_filename;
- char str[STRVERSIONLEN], real[PATH_MAX];
- int i, l, lm_name, lfilename, use_ksymtab, version;
- struct stat statbuf;
-
- static const char *section_names[] = {
- ".text",
- ".rodata",
- ".data",
- ".bss"
- };
-
- if (realpath(filename, real)) {
- absolute_filename = xstrdup(real);
- }
- else {
- int save_errno = errno;
- error("cannot get realpath for %s", filename);
- errno = save_errno;
- absolute_filename = xstrdup(filename);
- }
-
- lm_name = strlen(m_name);
- lfilename = strlen(absolute_filename);
-
- /* add to ksymtab if it already exists or there is no ksymtab and other symbols
- * are not to be exported. otherwise leave ksymtab alone for now, the
- * "export all symbols" compatibility code will export these symbols later.
- */
-
- use_ksymtab = obj_find_section(f, "__ksymtab") || !flag_export;
-
- if ((sec = obj_find_section(f, ".this"))) {
- /* tag the module header with the object name, last modified
- * timestamp and module version. worst case for module version
- * is 0xffffff, decimal 16777215. putting all three fields in
- * one symbol is less readable but saves kernel space.
- */
- l = sizeof(symprefix)+ /* "__insmod_" */
- lm_name+ /* module name */
- 2+ /* "_O" */
- lfilename+ /* object filename */
- 2+ /* "_M" */
- 2*sizeof(statbuf.st_mtime)+ /* mtime in hex */
- 2+ /* "_V" */
- 8+ /* version in dec */
- 1; /* nul */
- name = xmalloc(l);
- if (stat(absolute_filename, &statbuf) != 0)
- statbuf.st_mtime = 0;
- version = get_module_version(f, str); /* -1 if not found */
- snprintf(name, l, "%s%s_O%s_M%0*lX_V%d",
- symprefix, m_name, absolute_filename,
- 2*sizeof(statbuf.st_mtime), statbuf.st_mtime,
- version);
- sym = obj_add_symbol(f, name, -1,
- ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- sec->idx, sec->header.sh_addr, 0);
- if (use_ksymtab)
- add_ksymtab(f, sym);
- }
- free(absolute_filename);
-
- /* record where the persistent data is going, same address as previous symbol */
-
- if (f->persist) {
- l = sizeof(symprefix)+ /* "__insmod_" */
- lm_name+ /* module name */
- 2+ /* "_P" */
- strlen(f->persist)+ /* data store */
- 1; /* nul */
- name = xmalloc(l);
- snprintf(name, l, "%s%s_P%s",
- symprefix, m_name, f->persist);
- sym = obj_add_symbol(f, name, -1, ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- sec->idx, sec->header.sh_addr, 0);
- if (use_ksymtab)
- add_ksymtab(f, sym);
- }
-
- /* tag the desired sections if size is non-zero */
-
- for (i = 0; i < sizeof(section_names)/sizeof(section_names[0]); ++i) {
- if ((sec = obj_find_section(f, section_names[i])) &&
- sec->header.sh_size) {
- l = sizeof(symprefix)+ /* "__insmod_" */
- lm_name+ /* module name */
- 2+ /* "_S" */
- strlen(sec->name)+ /* section name */
- 2+ /* "_L" */
- 8+ /* length in dec */
- 1; /* nul */
- name = xmalloc(l);
- snprintf(name, l, "%s%s_S%s_L%ld",
- symprefix, m_name, sec->name,
- (long)sec->header.sh_size);
- sym = obj_add_symbol(f, name, -1, ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- sec->idx, sec->header.sh_addr, 0);
- if (use_ksymtab)
- add_ksymtab(f, sym);
- }
- }
-}
-
-static int process_module_arguments(struct obj_file *f, int argc, char **argv, int required)
-{
- for (; argc > 0; ++argv, --argc) {
- struct obj_symbol *sym;
- int c;
- int min, max;
- int n;
- char *contents;
- char *input;
- char *fmt;
- char *key;
- char *loc;
-
- if ((input = strchr(*argv, '=')) == NULL)
- continue;
-
- n = input - *argv;
- input += 1; /* skip '=' */
-
- key = alloca(n + 6);
-
- if (m_has_modinfo) {
- memcpy(key, "parm_", 5);
- memcpy(key + 5, *argv, n);
- key[n + 5] = '\0';
- if ((fmt = get_modinfo_value(f, key)) == NULL) {
- if (required) {
- error("invalid parameter %s", key);
- return 0;
- }
- else {
- if (flag_verbose)
- lprintf("ignoring %s", *argv);
- continue; /* silently ignore optional parameters */
- }
- }
- key += 5;
-
- if (isdigit(*fmt)) {
- min = strtoul(fmt, &fmt, 10);
- if (*fmt == '-')
- max = strtoul(fmt + 1, &fmt, 10);
- else
- max = min;
- } else
- min = max = 1;
- } else { /* not m_has_modinfo */
- memcpy(key, *argv, n);
- key[n] = '\0';
-
- if (isdigit(*input))
- fmt = "i";
- else
- fmt = "s";
- min = max = 0;
- }
-
- sym = obj_find_symbol(f, key);
-
- /*
- * Also check that the parameter was not
- * resolved from the kernel.
- */
- if (sym == NULL || sym->secidx > SHN_HIRESERVE) {
- error("symbol for parameter %s not found", key);
- return 0;
- }
-
- contents = f->sections[sym->secidx]->contents;
- loc = contents + sym->value;
- n = 1;
-
- while (*input) {
- char *str;
-
- switch (*fmt) {
- case 's':
- case 'c':
- /*
- * Do C quoting if we begin with a ",
- * else slurp the lot.
- */
- if (*input == '"') {
- char *r;
-
- str = alloca(strlen(input));
- for (r = str, input++; *input != '"'; ++input, ++r) {
- if (*input == '\0') {
- error("improperly terminated string argument for %s", key);
- return 0;
- }
- /* else */
- if (*input != '\\') {
- *r = *input;
- continue;
- }
- /* else handle \ */
- switch (*++input) {
- case 'a': *r = '\a'; break;
- case 'b': *r = '\b'; break;
- case 'e': *r = '\033'; break;
- case 'f': *r = '\f'; break;
- case 'n': *r = '\n'; break;
- case 'r': *r = '\r'; break;
- case 't': *r = '\t'; break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- c = *input - '0';
- if ('0' <= input[1] && input[1] <= '7') {
- c = (c * 8) + *++input - '0';
- if ('0' <= input[1] && input[1] <= '7')
- c = (c * 8) + *++input - '0';
- }
- *r = c;
- break;
-
- default: *r = *input; break;
- }
- }
- *r = '\0';
- ++input;
- } else {
- /*
- * The string is not quoted.
- * We will break it using the comma
- * (like for ints).
- * If the user wants to include commas
- * in a string, he just has to quote it
- */
- char *r;
-
- /* Search the next comma */
- if ((r = strchr(input, ',')) != NULL) {
- /*
- * Found a comma
- * Recopy the current field
- */
- str = alloca(r - input + 1);
- memcpy(str, input, r - input);
- str[r - input] = '\0';
- /* Keep next fields */
- input = r;
- } else {
- /* last string */
- str = input;
- input = "";
- }
- }
-
- if (*fmt == 's') {
- /* Normal string */
- obj_string_patch(f, sym->secidx, loc - contents, str);
- loc += tgt_sizeof_char_p;
- } else {
- /* Array of chars (in fact, matrix !) */
- long charssize; /* size of each member */
-
- /* Get the size of each member */
- /* Probably we should do that outside the loop ? */
- if (!isdigit(*(fmt + 1))) {
- error("parameter type 'c' for %s must be followed by"
- " the maximum size", key);
- return 0;
- }
- charssize = strtoul(fmt + 1, (char **) NULL, 10);
-
- /* Check length */
- if (strlen(str) >= charssize-1) {
- error("string too long for %s (max %ld)",
- key, charssize - 1);
- return 0;
- }
- /* Copy to location */
- strcpy((char *) loc, str); /* safe, see check above */
- loc += charssize;
- }
- /*
- * End of 's' and 'c'
- */
- break;
-
- case 'b':
- *loc++ = strtoul(input, &input, 0);
- break;
-
- case 'h':
- *(short *) loc = strtoul(input, &input, 0);
- loc += tgt_sizeof_short;
- break;
-
- case 'i':
- *(int *) loc = strtoul(input, &input, 0);
- loc += tgt_sizeof_int;
- break;
-
- case 'l':
- *(long *) loc = strtoul(input, &input, 0);
- loc += tgt_sizeof_long;
- break;
-
- default:
- error("unknown parameter type '%c' for %s",
- *fmt, key);
- return 0;
- }
- /*
- * end of switch (*fmt)
- */
-
- while (*input && isspace(*input))
- ++input;
- if (*input == '\0')
- break; /* while (*input) */
- /* else */
-
- if (*input == ',') {
- if (max && (++n > max)) {
- error("too many values for %s (max %d)", key, max);
- return 0;
- }
- ++input;
- /* continue with while (*input) */
- } else {
- error("invalid argument syntax for %s: '%c'",
- key, *input);
- return 0;
- }
- } /* end of while (*input) */
-
- if (min && (n < min)) {
- error("too few values for %s (min %d)", key, min);
- return 0;
- }
- } /* end of for (;argc > 0;) */
-
- return 1;
-}
-
-
-/* Add a kallsyms section if the kernel supports all symbols. */
-static int add_kallsyms(struct obj_file *f,
- struct obj_section **module_kallsyms, int force_kallsyms)
-{
- struct module_symbol *s;
- struct obj_file *f_kallsyms;
- struct obj_section *sec_kallsyms;
- size_t i;
- int l;
- const char *p, *pt_R;
- unsigned long start = 0, stop = 0;
-
- for (i = 0, s = ksyms; i < nksyms; ++i, ++s) {
- p = (char *)s->name;
- pt_R = strstr(p, "_R");
- if (pt_R)
- l = pt_R - p;
- else
- l = strlen(p);
- if (strncmp(p, "__start_" KALLSYMS_SEC_NAME, l) == 0)
- start = s->value;
- else if (strncmp(p, "__stop_" KALLSYMS_SEC_NAME, l) == 0)
- stop = s->value;
- }
-
- if (start >= stop && !force_kallsyms)
- return(0);
-
- /* The kernel contains all symbols, do the same for this module. */
-
- /* Add an empty kallsyms section to the module if necessary */
- for (i = 0; i < f->header.e_shnum; ++i) {
- if (strcmp(f->sections[i]->name, KALLSYMS_SEC_NAME) == 0) {
- *module_kallsyms = f->sections[i];
- break;
- }
- }
- if (!*module_kallsyms)
- *module_kallsyms = obj_create_alloced_section(f, KALLSYMS_SEC_NAME, 0, 0);
-
- /* Size and populate kallsyms */
- if (obj_kallsyms(f, &f_kallsyms))
- return(1);
- sec_kallsyms = f_kallsyms->sections[KALLSYMS_IDX];
- (*module_kallsyms)->header.sh_addralign = sec_kallsyms->header.sh_addralign;
- (*module_kallsyms)->header.sh_size = sec_kallsyms->header.sh_size;
- free((*module_kallsyms)->contents);
- (*module_kallsyms)->contents = sec_kallsyms->contents;
- sec_kallsyms->contents = NULL;
- obj_free(f_kallsyms);
-
- return 0;
-}
-
-
-/* Add an arch data section if the arch wants it. */
-static int add_archdata(struct obj_file *f,
- struct obj_section **sec)
-{
- size_t i;
-
- *sec = NULL;
- /* Add an empty archdata section to the module if necessary */
- for (i = 0; i < f->header.e_shnum; ++i) {
- if (strcmp(f->sections[i]->name, ARCHDATA_SEC_NAME) == 0) {
- *sec = f->sections[i];
- break;
- }
- }
- if (!*sec)
- *sec = obj_create_alloced_section(f, ARCHDATA_SEC_NAME, 16, 0);
-
- /* Size and populate archdata */
- if (arch_archdata(f, *sec))
- return(1);
- return 0;
-}
-
-
-static int init_module(const char *m_name, struct obj_file *f,
- unsigned long m_size, const char *blob_name,
- unsigned int noload, unsigned int flag_load_map)
-{
- struct module *module;
- struct obj_section *sec;
- void *image;
- int ret = 0;
- tgt_long m_addr;
-
- sec = obj_find_section(f, ".this");
- module = (struct module *) sec->contents;
- m_addr = sec->header.sh_addr;
-
- module->size_of_struct = sizeof(*module);
- module->size = m_size;
- module->flags = flag_autoclean ? NEW_MOD_AUTOCLEAN : 0;
-
- sec = obj_find_section(f, "__ksymtab");
- if (sec && sec->header.sh_size) {
- module->syms = sec->header.sh_addr;
- module->nsyms = sec->header.sh_size / (2 * tgt_sizeof_char_p);
- }
- if (n_ext_modules_used) {
- sec = obj_find_section(f, ".kmodtab");
- module->deps = sec->header.sh_addr;
- module->ndeps = n_ext_modules_used;
- }
- module->init = obj_symbol_final_value(f, obj_find_symbol(f, "init_module"));
- module->cleanup = obj_symbol_final_value(f,
- obj_find_symbol(f, "cleanup_module"));
-
- sec = obj_find_section(f, "__ex_table");
- if (sec) {
- module->ex_table_start = sec->header.sh_addr;
- module->ex_table_end = sec->header.sh_addr + sec->header.sh_size;
- }
- sec = obj_find_section(f, ".text.init");
- if (sec) {
- module->runsize = sec->header.sh_addr - m_addr;
- }
- sec = obj_find_section(f, ".data.init");
- if (sec) {
- if (!module->runsize ||
- module->runsize > sec->header.sh_addr - m_addr)
- module->runsize = sec->header.sh_addr - m_addr;
- }
- sec = obj_find_section(f, ARCHDATA_SEC_NAME);
- if (sec && sec->header.sh_size) {
- module->archdata_start = sec->header.sh_addr;
- module->archdata_end = module->archdata_start + sec->header.sh_size;
- }
- sec = obj_find_section(f, KALLSYMS_SEC_NAME);
- if (sec && sec->header.sh_size) {
- module->kallsyms_start = sec->header.sh_addr;
- module->kallsyms_end = module->kallsyms_start + sec->header.sh_size;
- }
- if (!arch_init_module(f, module))
- return 0;
-
- /*
- * Whew! All of the initialization is complete.
- * Collect the final module image and give it to the kernel.
- */
- image = xmalloc(m_size);
- obj_create_image(f, image);
-
- if (flag_load_map)
- print_load_map(f);
-
- if (blob_name) {
- int fd, l;
- fd = open(blob_name, O_WRONLY|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
- if (fd < 0) {
- error("open %s failed %m", blob_name);
- ret = -1;
- }
- else {
- if ((l = write(fd, image, m_size)) != m_size) {
- error("write %s failed %m", blob_name);
- ret = -1;
- }
- close(fd);
- }
- }
-
- if (ret == 0 && !noload) {
- fflush(stdout); /* Flush any debugging output */
- ret = sys_init_module(m_name, (struct module *) image);
- if (ret) {
- error("init_module: %m");
- lprintf("Hint: insmod errors can be caused by incorrect module parameters, "
- "including invalid IO or IRQ parameters");
- }
- }
-
- free(image);
-
- return ret == 0;
-}
-
-#ifdef COMPAT_2_0
-static int old_init_module(const char *m_name, struct obj_file *f,
- unsigned long m_size)
-{
- char *image;
- struct old_mod_routines routines;
- struct old_symbol_table *symtab;
- int ret;
- int nsyms = 0, strsize = 0, total;
-
- /* Create the symbol table */
- /* Size things first... */
- if (flag_export) {
- int i;
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
-
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (ELFW(ST_BIND) (sym->info) != STB_LOCAL &&
- sym->secidx <= SHN_HIRESERVE) {
- sym->ksymidx = nsyms++;
- strsize += strlen(sym->name) + 1;
- }
- }
- }
- total = (sizeof(struct old_symbol_table) +
- nsyms * sizeof(struct old_module_symbol) +
- n_ext_modules_used * sizeof(struct old_module_ref) +
- strsize);
- symtab = xmalloc(total);
- symtab->size = total;
- symtab->n_symbols = nsyms;
- symtab->n_refs = n_ext_modules_used;
-
- if (flag_export && nsyms) {
- struct old_module_symbol *ksym;
- char *str;
- int i;
-
- ksym = symtab->symbol;
- str = ((char *) ksym +
- nsyms * sizeof(struct old_module_symbol) +
- n_ext_modules_used * sizeof(struct old_module_ref));
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->ksymidx >= 0) {
- ksym->addr = obj_symbol_final_value(f, sym);
- ksym->name = (unsigned long) str - (unsigned long) symtab;
-
- str = stpcpy(str, sym->name) + 1;
- ksym++;
- }
- }
- }
-
- if (n_ext_modules_used) {
- struct old_module_ref *ref;
- int i;
-
- ref = (struct old_module_ref *)
- ((char *) symtab->symbol + nsyms * sizeof(struct old_module_symbol));
-
- for (i = 0; i < n_module_stat; ++i) {
- if (module_stat[i].status /* used */) {
- ref++->module = module_stat[i].modstruct;
- }
- }
- }
-
- /* Fill in routines. */
-
- routines.init = obj_symbol_final_value(f, obj_find_symbol(f, "init_module"));
- routines.cleanup = obj_symbol_final_value(f,
- obj_find_symbol(f, "cleanup_module"));
-
- /*
- * Whew! All of the initialization is complete.
- * Collect the final module image and give it to the kernel.
- */
- image = xmalloc(m_size);
- obj_create_image(f, image);
-
- /*
- * image holds the complete relocated module,
- * accounting correctly for mod_use_count.
- * However the old module kernel support assume that it
- * is receiving something which does not contain mod_use_count.
- */
- ret = old_sys_init_module(m_name, image + sizeof(long),
- (m_size - sizeof(long)) |
- (flag_autoclean ? OLD_MOD_AUTOCLEAN : 0),
- &routines,
- symtab);
- if (ret)
- error("init_module: %m");
-
- free(image);
- free(symtab);
-
- return ret == 0;
-}
-#endif
-/* end compat */
-/************************************************************************/
-
-/* Check that a module parameter has a reasonable definition */
-static int check_module_parameter(struct obj_file *f, char *key, char *value, int *persist_flag)
-{
- struct obj_symbol *sym;
- int min, max;
- char *p = value;
-
- sym = obj_find_symbol(f, key);
- if (sym == NULL) {
- /* FIXME: For 2.2 kernel compatibility, only issue warnings for
- * most error conditions. Make these all errors in 2.5.
- */
- lprintf("Warning: %s symbol for parameter %s not found", error_file, key);
- return(1);
- }
-
- if (isdigit(*p)) {
- min = strtoul(p, &p, 10);
- if (*p == '-')
- max = strtoul(p + 1, &p, 10);
- else
- max = min;
- } else
- min = max = 1;
-
- if (max < min) {
- lprintf("Warning: %s parameter %s has max < min!", error_file, key);
- return(1);
- }
-
- switch (*p) {
- case 'c':
- if (!isdigit(p[1])) {
- lprintf("%s parameter %s has no size after 'c'!", error_file, key);
- return(1);
- }
- while (isdigit(p[1]))
- ++p; /* swallow c array size */
- break;
- case 'b': /* drop through */
- case 'h': /* drop through */
- case 'i': /* drop through */
- case 'l': /* drop through */
- case 's':
- break;
- case '\0':
- lprintf("%s parameter %s has no format character!", error_file, key);
- return(1);
- default:
- lprintf("%s parameter %s has unknown format character '%c'", error_file, key, *p);
- return(1);
- }
- switch (*++p) {
- case 'p':
- if (*(p-1) == 's') {
- error("parameter %s is invalid persistent string", key);
- return(1);
- }
- *persist_flag = 1;
- break;
- case '\0':
- break;
- default:
- lprintf("%s parameter %s has unknown format modifier '%c'", error_file, key, *p);
- return(1);
- }
- return(0);
-}
-
-/* Check that all module parameters have reasonable definitions */
-static void check_module_parameters(struct obj_file *f, int *persist_flag)
-{
- struct obj_section *sec;
- char *ptr, *value, *n, *endptr;
- int namelen, err = 0;
-
- sec = obj_find_section(f, ".modinfo");
- if (sec == NULL) {
- /* module does not support typed parameters */
- return;
- }
-
- ptr = sec->contents;
- endptr = ptr + sec->header.sh_size;
- while (ptr < endptr && !err) {
- value = strchr(ptr, '=');
- n = strchr(ptr, '\0');
- if (value) {
- namelen = value - ptr;
- if (namelen >= 5 && strncmp(ptr, "parm_", 5) == 0
- && !(namelen > 10 && strncmp(ptr, "parm_desc_", 10) == 0)) {
- char *pname = xmalloc(namelen + 1);
- strncpy(pname, ptr + 5, namelen - 5);
- pname[namelen - 5] = '\0';
- err = check_module_parameter(f, pname, value+1, persist_flag);
- free(pname);
- }
- } else {
- if (n - ptr >= 5 && strncmp(ptr, "parm_", 5) == 0) {
- error("parameter %s found with no value", ptr);
- err = 1;
- }
- }
- ptr = n + 1;
- }
-
- if (err)
- *persist_flag = 0;
- return;
-}
-
-
-/* For common 3264 code, only compile the usage message once, in the 64 bit version */
-#if defined(COMMON_3264) && defined(ONLY_32)
-extern void insmod_usage(void); /* Use the copy in the 64 bit version */
-#else /* Common 64 bit version or any non common code - compile usage routine */
-void insmod_usage(void)
-{
- fputs("Usage:\n"
- "insmod [-fhkLmnpqrsSvVxXyY] [-e persist_name] [-o module_name] [-O blob_name] [-P prefix] module [ symbol=value ... ]\n"
- "\n"
- " module Name of a loadable kernel module ('.o' can be omitted)\n"
- " -f, --force Force loading under wrong kernel version\n"
- " -h, --help Print this message\n"
- " -k, --autoclean Make module autoclean-able\n"
- " -L, --lock Prevent simultaneous loads of the same module\n"
- " -m, --map Generate load map (so crashes can be traced)\n"
- " -n, --noload Don't load, just show\n"
- " -p, --probe Probe mode; check if the module matches the kernel\n"
- " -q, --quiet Don't print unresolved symbols\n"
- " -r, --root Allow root to load modules not owned by root\n"
- " -s, --syslog Report errors via syslog\n"
- " -S, --kallsyms Force kallsyms on module\n"
- " -v, --verbose Verbose output\n"
- " -V, --version Show version\n"
- " -x, --noexport Do not export externs\n"
- " -X, --export Do export externs (default)\n"
- " -y, --noksymoops Do not add ksymoops symbols\n"
- " -Y, --ksymoops Do add ksymoops symbols (default)\n"
- " -e persist_name\n"
- " --persist=persist_name Filename to hold any persistent data from the module\n"
- " -o NAME, --name=NAME Set internal module name to NAME\n"
- " -O NAME, --blob=NAME Save the object as a binary blob in NAME\n"
- " -P PREFIX\n"
- " --prefix=PREFIX Prefix for kernel or module symbols\n"
- ,stderr);
- exit(1);
-}
-#endif /* defined(COMMON_3264) && defined(ONLY_32) */
-
-#if defined(COMMON_3264) && defined(ONLY_32)
-#define INSMOD_MAIN insmod_main_32 /* 32 bit version */
-#elif defined(COMMON_3264) && defined(ONLY_64)
-#define INSMOD_MAIN insmod_main_64 /* 64 bit version */
-#else
-#define INSMOD_MAIN insmod_main /* Not common code */
-#endif
-
-int INSMOD_MAIN(int argc, char **argv)
-{
- int k_version;
- int k_crcs;
- char k_strversion[STRVERSIONLEN];
- struct option long_opts[] = {
- {"force", 0, 0, 'f'},
- {"help", 0, 0, 'h'},
- {"autoclean", 0, 0, 'k'},
- {"lock", 0, 0, 'L'},
- {"map", 0, 0, 'm'},
- {"noload", 0, 0, 'n'},
- {"probe", 0, 0, 'p'},
- {"poll", 0, 0, 'p'}, /* poll is deprecated, remove in 2.5 */
- {"quiet", 0, 0, 'q'},
- {"root", 0, 0, 'r'},
- {"syslog", 0, 0, 's'},
- {"kallsyms", 0, 0, 'S'},
- {"verbose", 0, 0, 'v'},
- {"version", 0, 0, 'V'},
- {"noexport", 0, 0, 'x'},
- {"export", 0, 0, 'X'},
- {"noksymoops", 0, 0, 'y'},
- {"ksymoops", 0, 0, 'Y'},
-
- {"persist", 1, 0, 'e'},
- {"name", 1, 0, 'o'},
- {"blob", 1, 0, 'O'},
- {"prefix", 1, 0, 'P'},
- {0, 0, 0, 0}
- };
- char *m_name = NULL;
- char *blob_name = NULL; /* Save object as binary blob */
- int m_version;
- ElfW(Addr) m_addr;
- unsigned long m_size;
- int m_crcs;
- char m_strversion[STRVERSIONLEN];
- char *filename;
- char *persist_name = NULL; /* filename to hold any persistent data */
- int fp;
- struct obj_file *f;
- struct obj_section *kallsyms = NULL, *archdata = NULL;
- int o;
- int noload = 0;
- int dolock = 1; /*Note: was: 0; */
- int quiet = 0;
- int exit_status = 1;
- int force_kallsyms = 0;
- int persist_parms = 0; /* does module have persistent parms? */
- int i;
-
- error_file = "insmod";
-
- /* To handle repeated calls from combined modprobe */
- errors = optind = 0;
-
- /* Process the command line. */
- while ((o = getopt_long(argc, argv, "fhkLmnpqrsSvVxXyYe:o:O:P:R:",
- &long_opts[0], NULL)) != EOF)
- switch (o) {
- case 'f': /* force loading */
- flag_force_load = 1;
- break;
- case 'h': /* Print the usage message. */
- insmod_usage();
- break;
- case 'k': /* module loaded by kerneld, auto-cleanable */
- flag_autoclean = 1;
- break;
- case 'L': /* protect against recursion. */
- dolock = 1;
- break;
- case 'm': /* generate load map */
- flag_load_map = 1;
- break;
- case 'n': /* don't load, just check */
- noload = 1;
- break;
- case 'p': /* silent probe mode */
- flag_silent_probe = 1;
- break;
- case 'q': /* Don't print unresolved symbols */
- quiet = 1;
- break;
- case 'r': /* allow root to load non-root modules */
- root_check_off = !root_check_off;
- break;
- case 's': /* start syslog */
- setsyslog("insmod");
- break;
- case 'S': /* Force kallsyms */
- force_kallsyms = 1;
- break;
- case 'v': /* verbose output */
- flag_verbose = 1;
- break;
- case 'V':
- fputs("insmod version " MODUTILS_VERSION "\n", stderr);
- break;
- case 'x': /* do not export externs */
- flag_export = 0;
- break;
- case 'X': /* do export externs */
- flag_export = 1;
- break;
- case 'y': /* do not define ksymoops symbols */
- flag_ksymoops = 0;
- break;
- case 'Y': /* do define ksymoops symbols */
- flag_ksymoops = 1;
- break;
-
- case 'e': /* persistent data filename */
- free(persist_name);
- persist_name = xstrdup(optarg);
- break;
- case 'o': /* name the output module */
- m_name = optarg;
- break;
- case 'O': /* save the output module object */
- blob_name = optarg;
- break;
- case 'P': /* use prefix on crc */
- set_ncv_prefix(optarg);
- break;
-
- default:
- insmod_usage();
- break;
- }
-
- if (optind >= argc) {
- insmod_usage();
- }
- filename = argv[optind++];
-
- if (config_read(0, NULL, "", NULL) < 0) {
- error("Failed handle configuration");
- }
-
- if (persist_name && !*persist_name &&
- (!persistdir || !*persistdir)) {
- free(persist_name);
- persist_name = NULL;
- if (flag_verbose)
- lprintf("insmod: -e \"\" ignored, no persistdir");
- }
-
- if (m_name == NULL) {
- size_t len;
- char *p;
-
- if ((p = strrchr(filename, '/')) != NULL)
- p++;
- else
- p = filename;
- len = strlen(p);
- if (len > 2 && p[len - 2] == '.' && p[len - 1] == 'o')
- len -= 2;
- else if (len > 4 && p[len - 4] == '.' && p[len - 3] == 'm'
- && p[len - 2] == 'o' && p[len - 1] == 'd')
- len -= 4;
-#ifdef CONFIG_USE_ZLIB
- else if (len > 5 && !strcmp(p + len - 5, ".o.gz"))
- len -= 5;
-#endif
-
- m_name = xmalloc(len + 1);
- memcpy(m_name, p, len);
- m_name[len] = '\0';
- }
-
- /* Locate the file to be loaded. */
- if (!strchr(filename, '/') && !strchr(filename, '.')) {
- char *tmp = search_module_path(filename);
- if (tmp == NULL) {
- error("%s: no module by that name found", filename);
- return 1;
- }
- filename = tmp;
- lprintf("Using %s", filename);
- } else if (flag_verbose)
- lprintf("Using %s", filename);
-
- /* And open it. */
- if ((fp = gzf_open(filename, O_RDONLY)) == -1) {
- error("%s: %m", filename);
- return 1;
- }
- /* Try to prevent multiple simultaneous loads. */
- if (dolock)
- flock(fp, LOCK_EX);
-
- if (!get_kernel_info(K_SYMBOLS))
- goto out;
-
- /*
- * Set the genksyms prefix if this is a versioned kernel
- * and it's not already set.
- */
- set_ncv_prefix(NULL);
-
- for (i = 0; i < n_module_stat; ++i) {
- if (strcmp(module_stat[i].name, m_name) == 0) {
- error("a module named %s already exists", m_name);
- goto out;
- }
- }
-
- error_file = filename;
- if ((f = obj_load(fp, ET_REL, filename)) == NULL)
- goto out;
-
- /* Version correspondence? */
- k_version = get_kernel_version(k_strversion);
- m_version = get_module_version(f, m_strversion);
- if (m_version == -1) {
- error("couldn't find the kernel version the module was compiled for");
- goto out;
- }
-
- k_crcs = is_kernel_checksummed();
- m_crcs = is_module_checksummed(f);
- if ((m_crcs == 0 || k_crcs == 0) &&
- strncmp(k_strversion, m_strversion, STRVERSIONLEN) != 0) {
- if (flag_force_load) {
- lprintf("Warning: kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s",
- filename, m_strversion, k_strversion);
- } else {
- if (!quiet)
- error("kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s.",
- filename, m_strversion, k_strversion);
- goto out;
- }
- }
- if (m_crcs != k_crcs)
- obj_set_symbol_compare(f, ncv_strcmp, ncv_symbol_hash);
-
- /* Let the module know about the kernel symbols. */
- add_kernel_symbols(f);
-
- /* Allocate common symbols, symbol tables, and string tables.
- *
- * The calls marked DEPMOD indicate the bits of code that depmod
- * uses to do a pseudo relocation, ignoring undefined symbols.
- * Any changes made to the relocation sequence here should be
- * checked against depmod.
- */
-#ifdef COMPAT_2_0
- if (k_new_syscalls
- ? !create_this_module(f, m_name)
- : !old_create_mod_use_count(f))
- goto out;
-#else
- if (!create_this_module(f, m_name))
- goto out;
-#endif
-
- if (!obj_check_undefineds(f, quiet)) /* DEPMOD, obj_clear_undefineds */
- goto out;
- obj_allocate_commons(f); /* DEPMOD */
-
- check_module_parameters(f, &persist_parms);
-
- if (optind < argc) {
- if (!process_module_arguments(f, argc - optind, argv + optind, 1))
- goto out;
- }
- arch_create_got(f); /* DEPMOD */
- hide_special_symbols(f);
-
- if (persist_parms && persist_name && *persist_name) {
- f->persist = persist_name;
- persist_name = NULL;
- }
-
- if (persist_parms &&
- persist_name && !*persist_name) {
- /* -e "". This is ugly. Take the filename, compare it against
- * each of the module paths until we find a match on the start
- * of the filename, assume the rest is the relative path. Have
- * to do it this way because modprobe uses absolute filenames
- * for module names in modules.dep and the format of modules.dep
- * does not allow for any backwards compatible changes, so there
- * is nowhere to store the relative filename. The only way this
- * should fail to calculate a relative path is "insmod ./xxx", for
- * that case the user has to specify -e filename.
- */
- int j, l = strlen(filename);
- char *relative = NULL;
- char *p;
- for (i = 0; i < nmodpath; ++i) {
- p = modpath[i].path;
- j = strlen(p);
- while (j && p[j] == '/')
- --j;
- if (j < l && strncmp(filename, p, j) == 0 && filename[j] == '/') {
- while (filename[j] == '/')
- ++j;
- relative = xstrdup(filename+j);
- break;
- }
- }
- if (relative) {
- i = strlen(relative);
- if (i > 3 && strcmp(relative+i-3, ".gz") == 0)
- relative[i -= 3] = '\0';
- if (i > 2 && strcmp(relative+i-2, ".o") == 0)
- relative[i -= 2] = '\0';
- else if (i > 4 && strcmp(relative+i-4, ".mod") == 0)
- relative[i -= 4] = '\0';
- f->persist = xmalloc(strlen(persistdir) + 1 + i + 1);
- strcpy(f->persist, persistdir); /* safe, xmalloc */
- strcat(f->persist, "/"); /* safe, xmalloc */
- strcat(f->persist, relative); /* safe, xmalloc */
- free(relative);
- }
- else
- error("Cannot calculate persistent filename");
- }
-
- if (f->persist && *(f->persist) != '/') {
- error("Persistent filenames must be absolute, ignoring '%s'",
- f->persist);
- free(f->persist);
- f->persist = NULL;
- }
-
- if (f->persist && !flag_ksymoops) {
- error("has persistent data but ksymoops symbols are not available");
- free(f->persist);
- f->persist = NULL;
- }
-
- if (f->persist && !k_new_syscalls) {
- error("has persistent data but the kernel is too old to support it");
- free(f->persist);
- f->persist = NULL;
- }
-
- if (persist_parms && flag_verbose) {
- if (f->persist)
- lprintf("Persist filename '%s'", f->persist);
- else
- lprintf("No persistent filename available");
- }
-
- if (f->persist) {
- FILE *fp = fopen(f->persist, "r");
- if (!fp) {
- if (flag_verbose)
- lprintf("Cannot open persist file '%s' %m", f->persist);
- }
- else {
- int pargc = 0;
- char *pargv[1000]; /* hard coded but big enough */
- char line[3000]; /* hard coded but big enough */
- char *p;
- while (fgets(line, sizeof(line), fp)) {
- p = strchr(line, '\n');
- if (!p) {
- error("Persistent data line is too long\n%s", line);
- break;
- }
- *p = '\0';
- p = line;
- while (isspace(*p))
- ++p;
- if (!*p || *p == '#')
- continue;
- if (pargc == sizeof(pargv)/sizeof(pargv[0])) {
- error("More than %d persistent parameters", pargc);
- break;
- }
- pargv[pargc++] = xstrdup(p);
- }
- fclose(fp);
- if (!process_module_arguments(f, pargc, pargv, 0))
- goto out;
- while (pargc--)
- free(pargv[pargc]);
- }
- }
-
- if (flag_ksymoops)
- add_ksymoops_symbols(f, filename, m_name);
-
- if (k_new_syscalls)
- create_module_ksymtab(f);
-
- /* archdata based on relocatable addresses */
- if (add_archdata(f, &archdata))
- goto out;
-
- /* kallsyms based on relocatable addresses */
- if (add_kallsyms(f, &kallsyms, force_kallsyms))
- goto out;
- /**** No symbols or sections to be changed after kallsyms above ***/
-
- if (errors)
- goto out;
-
- /* If we were just checking, we made it. */
- if (flag_silent_probe) {
- exit_status = 0;
- goto out;
- }
- /* Module has now finished growing; find its size and install it. */
- m_size = obj_load_size(f); /* DEPMOD */
-
- if (noload) {
- /* Don't bother actually touching the kernel. */
- m_addr = 0x12340000;
- } else {
- errno = 0;
- m_addr = create_module(m_name, m_size);
- switch (errno) {
- case 0:
- break;
- case EEXIST:
- if (dolock) {
- /*
- * Assume that we were just invoked
- * simultaneous with another insmod
- * and return success.
- */
- exit_status = 0;
- goto out;
- }
- error("a module named %s already exists", m_name);
- goto out;
- case ENOMEM:
- error("can't allocate kernel memory for module; needed %lu bytes",
- m_size);
- goto out;
- default:
- error("create_module: %m");
- goto out;
- }
- }
-
- /* module is already built, complete with ksymoops symbols for the
- * persistent filename. If the kernel does not support persistent data
- * then give an error but continue. It is too difficult to clean up at
- * this stage and this error will only occur on backported modules.
- * rmmod will also get an error so warn the user now.
- */
- if (f->persist && !noload) {
- struct {
- struct module m;
- int data;
- } test_read;
- memset(&test_read, 0, sizeof(test_read));
- test_read.m.size_of_struct = -sizeof(test_read.m); /* -ve size => read, not write */
- test_read.m.read_start = m_addr + sizeof(struct module);
- test_read.m.read_end = test_read.m.read_start + sizeof(test_read.data);
- if (sys_init_module(m_name, (struct module *) &test_read)) {
- int old_errors = errors;
- error("has persistent data but the kernel is too old to support it."
- " Expect errors during rmmod as well");
- errors = old_errors;
- }
- }
-
- if (!obj_relocate(f, m_addr)) { /* DEPMOD */
- if (!noload)
- delete_module(m_name);
- goto out;
- }
-
- /* Do archdata again, this time we have the final addresses */
- if (add_archdata(f, &archdata))
- goto out;
-
- /* Do kallsyms again, this time we have the final addresses */
- if (add_kallsyms(f, &kallsyms, force_kallsyms))
- goto out;
-
-#ifdef COMPAT_2_0
- if (k_new_syscalls)
- init_module(m_name, f, m_size, blob_name, noload, flag_load_map);
- else if (!noload)
- old_init_module(m_name, f, m_size);
-#else
- init_module(m_name, f, m_size, blob_name, noload, flag_load_map);
-#endif
- if (errors) {
- if (!noload)
- delete_module(m_name);
- goto out;
- }
- exit_status = 0;
-
- out:
- if (dolock)
- flock(fp, LOCK_UN);
- close(fp);
- if (!noload)
- snap_shot(NULL, 0);
-
- return exit_status;
-}
-
-/* For common 3264 code, add an overall insmod_main, in the 64 bit version. */
-#if defined(COMMON_3264) && defined(ONLY_64)
-int insmod_main(int argc, char **argv)
-{
- if (arch64())
- return insmod_main_64(argc, argv);
- else
- return insmod_main_32(argc, argv);
-}
-#endif /* defined(COMMON_3264) && defined(ONLY_64) */
-
-
-
-int insmod_call(char * full_filename, char * params)
-{
- int argc = 2;
- char *argv[50];
- char * ptr = params;
- argv[0] = "stage1";
- argv[1] = full_filename;
-
- while (ptr != NULL) {
- argv[argc] = ptr;
- argc++;
- ptr = strchr(ptr, ' ');
- if (ptr) {
- ptr[0] = '\0';
- ptr++;
- }
- }
-
- return insmod_main(argc, argv);
-}
diff --git a/mdk-stage1/insmod-modutils/obj/Makefile b/mdk-stage1/insmod-modutils/obj/Makefile
deleted file mode 100644
index 34b5df2d9..000000000
--- a/mdk-stage1/insmod-modutils/obj/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
- #******************************************************************************
- #
- # insmod from modutils (generic)
- #
- # $Id$
- #
- # Copyright 1996, 1997 Linux International.
- #
- #*****************************************************************************
-
-top_dir = ../..
-
-include $(top_dir)/Makefile.common
-
-
-all: libobj.a
-
-clean:
- rm -f *.o *.a
-
-
-INCS = -I./../include
-
-DEFS = -D_GNU_SOURCE -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH) -DCONFIG_ROOT_CHECK_OFF=0
-
-OBJS = obj_kallsyms.o obj_common.o obj_load.o obj_reloc.o obj_$(ARCH).o
-
-libobj.a: $(OBJS)
- ar cru $@ $^
- ranlib $@
-
-.c.o:
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c $<
diff --git a/mdk-stage1/insmod-modutils/obj/obj_alpha.c b/mdk-stage1/insmod-modutils/obj/obj_alpha.c
deleted file mode 100644
index 4006b3442..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_alpha.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/* Alpha specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-/*======================================================================*/
-
-struct alpha_got_entry
-{
- struct alpha_got_entry *next;
- ElfW(Addr) addend;
- int offset;
- int reloc_done;
-};
-
-struct alpha_file
-{
- struct obj_file root;
- struct obj_section *got;
-};
-
-struct alpha_symbol
-{
- struct obj_symbol root;
- struct alpha_got_entry *got_entries;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct alpha_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct alpha_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- sym->got_entries = NULL;
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf64_Rela *rel,
- Elf64_Addr v)
-{
- struct alpha_file *af = (struct alpha_file *)f;
- struct alpha_symbol *asym = (struct alpha_symbol *)sym;
-
- unsigned long *lloc = (unsigned long *)(targsec->contents + rel->r_offset);
- unsigned int *iloc = (unsigned int *)lloc;
- Elf64_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf64_Addr gp = af->got->header.sh_addr + 0x8000;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF64_R_TYPE(rel->r_info))
- {
- case R_ALPHA_NONE:
- case R_ALPHA_LITUSE:
- break;
-
- case R_ALPHA_REFQUAD:
- *lloc += v;
- break;
-
- case R_ALPHA_GPREL32:
- v -= gp;
- if ((Elf64_Sxword)v > 0x7fffffff
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x80000000)
- ret = obj_reloc_overflow;
- *iloc = v;
- break;
-
- case R_ALPHA_LITERAL:
- {
- struct alpha_got_entry *gotent;
-
- assert(asym != NULL);
- gotent = asym->got_entries;
- while (gotent->addend != rel->r_addend)
- gotent = gotent->next;
-
- if (!gotent->reloc_done)
- {
- *(unsigned long *)(af->got->contents + gotent->offset) = v;
- gotent->reloc_done = 1;
- }
-
- *iloc = (*iloc & ~0xffff) | ((gotent->offset - 0x8000) & 0xffff);
- }
- break;
-
- case R_ALPHA_GPDISP:
- {
- unsigned int *p_ldah, *p_lda;
- unsigned int i_ldah, i_lda, hi, lo;
-
- p_ldah = iloc;
- p_lda = (unsigned int *)((char *)iloc + rel->r_addend);
- i_ldah = *p_ldah;
- i_lda = *p_lda;
-
- /* Make sure the instructions are righteous. */
- if ((i_ldah >> 26) != 9 || (i_lda >> 26) != 8)
- ret = obj_reloc_dangerous;
-
- /* Extract the existing addend. */
- v = (i_ldah & 0xffff) << 16 | (i_lda & 0xffff);
- v = (v ^ 0x80008000) - 0x80008000;
-
- v += gp - dot;
-
- if ((Elf64_Sxword)v >= 0x7fff8000
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x80000000)
- ret = obj_reloc_overflow;
-
- /* Modify the instructions and finish up. */
- lo = v & 0xffff;
- hi = ((v >> 16) + ((v >> 15) & 1)) & 0xffff;
-
- *p_ldah = (i_ldah & 0xffff0000) | hi;
- *p_lda = (i_lda & 0xffff0000) | lo;
- }
- break;
-
- case R_ALPHA_BRADDR:
- v -= dot + 4;
- if (v % 4)
- ret = obj_reloc_dangerous;
- else if ((Elf64_Sxword)v > 0x3fffff
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x400000)
- ret = obj_reloc_overflow;
- v /= 4;
-
- *iloc = (*iloc & ~0x1fffff) | (v & 0x1fffff);
- break;
-
- case R_ALPHA_HINT:
- v -= dot + 4;
- if (v % 4)
- ret = obj_reloc_dangerous;
- v /= 4;
-
- *iloc = (*iloc & ~0x3fff) | (v & 0x3fff);
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct alpha_file *af = (struct alpha_file *)f;
- int i, n, offset = 0;
-
- n = af->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf64_Rela *rel, *relend;
- Elf64_Sym *symtab;
- const char *strtab;
-
- relsec = af->root.sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = af->root.sections[relsec->header.sh_link];
- strsec = af->root.sections[symsec->header.sh_link];
-
- rel = (Elf64_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf64_Rela));
- symtab = (Elf64_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- struct alpha_got_entry *ent;
- Elf64_Sym *extsym;
- struct alpha_symbol *intsym;
- const char *name;
-
- if (ELF64_R_TYPE(rel->r_info) != R_ALPHA_LITERAL)
- continue;
-
- extsym = &symtab[ELF64_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct alpha_symbol *)obj_find_symbol(&af->root, name);
-
- for (ent = intsym->got_entries; ent ; ent = ent->next)
- if (ent->addend == rel->r_addend)
- goto found;
-
- ent = xmalloc(sizeof(*ent));
- ent->addend = rel->r_addend;
- ent->offset = offset;
- ent->reloc_done = 0;
- ent->next = intsym->got_entries;
- intsym->got_entries = ent;
- offset += 8;
-
- found:;
- }
- }
-
- if (offset > 0x10000)
- {
- error(".got section overflow: %#x > 0x10000", offset);
- return 0;
- }
-
- /* We always want a .got section so that we always have a GP for
- use with GPDISP and GPREL32 relocs. Besides, if the section
- is empty we don't use up space anyway. */
- af->got = obj_create_alloced_section(&af->root, ".got", 8, offset);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- struct alpha_file *af = (struct alpha_file *)f;
-
- mod->gp = af->got->header.sh_addr + 0x8000;
-
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf64_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_arm.c b/mdk-stage1/insmod-modutils/obj/obj_arm.c
deleted file mode 100644
index 7a843f947..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_arm.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/* ARM specific support for Elf loading and relocation.
- Copyright 1996, 1997, 1998 Linux International.
-
- Contributed by Phil Blundell <philb@gnu.org>
- and wms <woody@corelcomputer.com>
- based on the i386 code by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct arm_plt_entry
-{
- int offset;
- int allocated:1;
- int inited:1; // has been set up
-};
-
-struct arm_got_entry
-{
- int offset;
- int allocated : 1;
- unsigned reloc_done : 1;
-};
-
-struct arm_file
-{
- struct obj_file root;
- struct obj_section *plt;
- struct obj_section *got;
-};
-
-struct arm_symbol
-{
- struct obj_symbol root;
- struct arm_plt_entry pltent;
- struct arm_got_entry gotent;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct arm_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct arm_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- memset(&sym->gotent, 0, sizeof(sym->gotent));
- memset(&sym->pltent, 0, sizeof(sym->pltent));
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rel *rel,
- Elf32_Addr v)
-{
- struct arm_file *afile = (struct arm_file *)f;
- struct arm_symbol *asym = (struct arm_symbol *)sym;
-
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf32_Addr got = afile->got ? afile->got->header.sh_addr : 0;
- Elf32_Addr plt = afile->plt ? afile->plt->header.sh_addr : 0;
-
- struct arm_plt_entry *pe;
- unsigned long *ip;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_ARM_NONE:
- break;
-
- case R_ARM_ABS32:
- *loc += v;
- break;
-
- case R_ARM_GOT32:
- /* needs an entry in the .got: set it, once */
- if (! asym->gotent.reloc_done)
- {
- asym->gotent.reloc_done = 1;
- *(Elf32_Addr *)(afile->got->contents + asym->gotent.offset) = v;
- }
- /* make the reloc with_respect_to_.got */
- *loc += asym->gotent.offset;
- break;
-
- /* relative reloc, always to _GLOBAL_OFFSET_TABLE_ (which is .got)
- similar to branch, but is full 32 bits relative */
- case R_ARM_GOTPC:
- assert(got);
- *loc += got - dot;
- break;
-
- case R_ARM_PC24:
- case R_ARM_PLT32:
- /* find the plt entry and initialize it if necessary */
- assert(asym != NULL);
- pe = (struct arm_plt_entry*) &asym->pltent;
- if (! pe->inited)
- {
- ip = (unsigned long *) (afile->plt->contents + pe->offset);
- ip[0] = 0xe51ff004; /* ldr pc,[pc,#-4] */
- ip[1] = v; /* sym@ */
- pe->inited = 1;
- }
-
- /* relative distance to target */
- v -= dot;
- /* if the target is too far away.... */
- if ((int)v < -0x02000000 || (int)v >= 0x02000000)
- {
- /* go via the plt */
- v = plt + pe->offset - dot;
- }
- if (v & 3)
- ret = obj_reloc_dangerous;
-
- /* Convert to words. */
- v >>= 2;
-
- /* merge the offset into the instruction. */
- *loc = (*loc & ~0x00ffffff) | ((v + *loc) & 0x00ffffff);
- break;
-
- /* address relative to the got */
- case R_ARM_GOTOFF:
- assert(got);
- *loc += v - got;
- break;
-
- default:
- printf("Warning: unhandled reloc %d\n",ELF32_R_TYPE(rel->r_info));
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct arm_file *afile = (struct arm_file *) f;
- int i;
- struct obj_section *sec, *syms, *strs;
- ElfW(Rel) *rel, *relend;
- ElfW(Sym) *symtab, *extsym;
- const char *strtab, *name;
- struct arm_symbol *intsym;
- struct arm_plt_entry *pe;
- struct arm_got_entry *ge;
- int got_offset = 0, plt_offset = 0;
-
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- sec = f->sections[i];
- if (sec->header.sh_type != SHT_RELM)
- continue;
- syms = f->sections[sec->header.sh_link];
- strs = f->sections[syms->header.sh_link];
-
- rel = (ElfW(RelM) *) sec->contents;
- relend = rel + (sec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *) syms->contents;
- strtab = (const char *) strs->contents;
-
- for (; rel < relend; ++rel)
- {
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
-
- switch(ELF32_R_TYPE(rel->r_info)) {
- case R_ARM_PC24:
- case R_ARM_PLT32:
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct arm_symbol *) obj_find_symbol(f, name);
-
- pe = &intsym->pltent;
-
- if (! pe->allocated)
- {
- pe->allocated = 1;
- pe->offset = plt_offset;
- plt_offset += 8;
- pe->inited = 0;
- }
- break;
-
- /* these two don_t need got entries, but they need
- the .got to exist */
- case R_ARM_GOTOFF:
- case R_ARM_GOTPC:
- if (got_offset==0) got_offset = 4;
- break;
-
- case R_ARM_GOT32:
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct arm_symbol *) obj_find_symbol(f, name);
-
- ge = (struct arm_got_entry *) &intsym->gotent;
- if (! ge->allocated)
- {
- ge->allocated = 1;
- ge->offset = got_offset;
- got_offset += sizeof(void*);
- }
- break;
-
- default:
- continue;
- }
- }
- }
-
- /* if there was a _GLOBAL_OFFSET_TABLE_, then the .got section
- exists already; find it and use it */
- if (got_offset)
- {
- struct obj_section* sec = obj_find_section(f, ".got");
- if (sec)
- obj_extend_section(sec, got_offset);
- else
- {
- sec = obj_create_alloced_section(f, ".got", 8, got_offset);
- assert(sec);
- }
- afile->got = sec;
- }
-
- if (plt_offset)
- afile->plt = obj_create_alloced_section(f, ".plt", 8, plt_offset);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_common.c b/mdk-stage1/insmod-modutils/obj/obj_common.c
deleted file mode 100644
index 2a6606c94..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_common.c
+++ /dev/null
@@ -1,399 +0,0 @@
-/* Elf file, section, and symbol manipulation routines.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <obj.h>
-#include <util.h>
-#include <module.h>
-
-/*======================================================================*/
-
-/* Standard ELF hash function. */
-inline unsigned long
-obj_elf_hash_n(const char *name, unsigned long n)
-{
- unsigned long h = 0;
- unsigned long g;
- unsigned char ch;
-
- while (n > 0)
- {
- ch = *name++;
- h = (h << 4) + ch;
- if ((g = (h & 0xf0000000)) != 0)
- {
- h ^= g >> 24;
- h &= ~g;
- }
- n--;
- }
- return h;
-}
-
-unsigned long
-obj_elf_hash (const char *name)
-{
- return obj_elf_hash_n(name, strlen(name));
-}
-
-void
-obj_set_symbol_compare (struct obj_file *f,
- int (*cmp)(const char *, const char *),
- unsigned long (*hash)(const char *))
-{
- if (cmp)
- f->symbol_cmp = cmp;
- if (hash)
- {
- struct obj_symbol *tmptab[HASH_BUCKETS], *sym, *next;
- int i;
-
- f->symbol_hash = hash;
-
- memcpy(tmptab, f->symtab, sizeof(tmptab));
- memset(f->symtab, 0, sizeof(f->symtab));
-
- for (i = 0; i < HASH_BUCKETS; ++i)
- for (sym = tmptab[i]; sym ; sym = next)
- {
- unsigned long h = hash(sym->name) % HASH_BUCKETS;
- next = sym->next;
- sym->next = f->symtab[h];
- f->symtab[h] = sym;
- }
- }
-}
-
-struct obj_symbol *
-obj_add_symbol (struct obj_file *f, const char *name, unsigned long symidx,
- int info, int secidx, ElfW(Addr) value, unsigned long size)
-{
- struct obj_symbol *sym;
- unsigned long hash = f->symbol_hash(name) % HASH_BUCKETS;
- int n_type = ELFW(ST_TYPE)(info);
- int n_binding = ELFW(ST_BIND)(info);
-
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0)
- {
- int o_secidx = sym->secidx;
- int o_info = sym->info;
- int o_type = ELFW(ST_TYPE)(o_info);
- int o_binding = ELFW(ST_BIND)(o_info);
-
- /* A redefinition! Is it legal? */
-
- if (secidx == SHN_UNDEF)
- return sym;
- else if (o_secidx == SHN_UNDEF)
- goto found;
- else if (n_binding == STB_GLOBAL && o_binding == STB_LOCAL)
- {
- /* Cope with local and global symbols of the same name
- in the same object file, as might have been created
- by ld -r. The only reason locals are now seen at this
- level at all is so that we can do semi-sensible things
- with parameters. */
-
- struct obj_symbol *nsym, **p;
-
- nsym = arch_new_symbol();
- nsym->next = sym->next;
- nsym->ksymidx = -1;
-
- /* Excise the old (local) symbol from the hash chain. */
- for (p = &f->symtab[hash]; *p != sym; p = &(*p)->next)
- continue;
- *p = sym = nsym;
- goto found;
- }
- else if (n_binding == STB_LOCAL)
- {
- /* Another symbol of the same name has already been defined.
- Just add this to the local table. */
- sym = arch_new_symbol();
- sym->next = NULL;
- sym->ksymidx = -1;
- f->local_symtab[symidx] = sym;
- goto found;
- }
- else if (n_binding == STB_WEAK)
- return sym;
- else if (o_binding == STB_WEAK)
- goto found;
- /* Don't unify COMMON symbols with object types the programmer
- doesn't expect. */
- else if (secidx == SHN_COMMON
- && (o_type == STT_NOTYPE || o_type == STT_OBJECT))
- return sym;
- else if (o_secidx == SHN_COMMON
- && (n_type == STT_NOTYPE || n_type == STT_OBJECT))
- goto found;
- else
- {
- /* Don't report an error if the symbol is coming from
- the kernel or some external module. */
- if (secidx <= SHN_HIRESERVE)
- error("%s multiply defined", name);
- return sym;
- }
- }
-
- /* Completely new symbol. */
- sym = arch_new_symbol();
- sym->next = f->symtab[hash];
- f->symtab[hash] = sym;
- sym->ksymidx = -1;
-
- if (ELFW(ST_BIND)(info) == STB_LOCAL && symidx != -1) {
- if (symidx >= f->local_symtab_size)
- error("local symbol %s with index %ld exceeds local_symtab_size %ld",
- name, (long) symidx, (long) f->local_symtab_size);
- else
- f->local_symtab[symidx] = sym;
- }
-
-found:
- sym->name = name;
- sym->value = value;
- sym->size = size;
- sym->secidx = secidx;
- sym->info = info;
- sym->r_type = 0; /* should be R_arch_NONE for all arch */
-
- return sym;
-}
-
-struct obj_symbol *
-obj_find_symbol (struct obj_file *f, const char *name)
-{
- struct obj_symbol *sym;
- unsigned long hash = f->symbol_hash(name) % HASH_BUCKETS;
-
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0)
- return sym;
-
- return NULL;
-}
-
-ElfW(Addr)
-obj_symbol_final_value (struct obj_file *f, struct obj_symbol *sym)
-{
- if (sym)
- {
- if (sym->secidx >= SHN_LORESERVE)
- return sym->value;
-
- return sym->value + f->sections[sym->secidx]->header.sh_addr;
- }
- else
- {
- /* As a special case, a NULL sym has value zero. */
- return 0;
- }
-}
-
-struct obj_section *
-obj_find_section (struct obj_file *f, const char *name)
-{
- int i, n = f->header.e_shnum;
-
- for (i = 0; i < n; ++i)
- if (strcmp(f->sections[i]->name, name) == 0)
- return f->sections[i];
-
- return NULL;
-}
-
-static int
-obj_load_order_prio(struct obj_section *a)
-{
- unsigned long af, ac;
-
- af = a->header.sh_flags;
-
- ac = 0;
- if (a->name[0] != '.' || strlen(a->name) != 10 ||
- strcmp(a->name + 5, ".init")) ac |= 32;
- if (af & SHF_ALLOC) ac |= 16;
- if (!(af & SHF_WRITE)) ac |= 8;
- if (af & SHF_EXECINSTR) ac |= 4;
- if (a->header.sh_type != SHT_NOBITS) ac |= 2;
-#if defined(ARCH_ia64)
- if (af & SHF_IA_64_SHORT) ac -= 1;
-#endif
-
- return ac;
-}
-
-void
-obj_insert_section_load_order (struct obj_file *f, struct obj_section *sec)
-{
- struct obj_section **p;
- int prio = obj_load_order_prio(sec);
- for (p = f->load_order_search_start; *p ; p = &(*p)->load_next)
- if (obj_load_order_prio(*p) < prio)
- break;
- sec->load_next = *p;
- *p = sec;
-}
-
-struct obj_section *
-obj_create_alloced_section (struct obj_file *f, const char *name,
- unsigned long align, unsigned long size)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx+1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE|SHF_ALLOC;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
- return sec;
-}
-
-struct obj_section *
-obj_create_alloced_section_first (struct obj_file *f, const char *name,
- unsigned long align, unsigned long size)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx+1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE|SHF_ALLOC;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- sec->load_next = f->load_order;
- f->load_order = sec;
- if (f->load_order_search_start == &f->load_order)
- f->load_order_search_start = &sec->load_next;
-
- return sec;
-}
-
-void *
-obj_extend_section (struct obj_section *sec, unsigned long more)
-{
- unsigned long oldsize = sec->header.sh_size;
- sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
- return sec->contents + oldsize;
-}
-
-/* Convert an object pointer (address) to a native pointer and vice versa.
- * It gets interesting when the object has 64 bit pointers but modutils
- * is running 32 bit. This is nasty code but it stops the compiler giving
- * spurious warning messages. "I know what I am doing" ...
- */
-
-void *
-obj_addr_to_native_ptr (ElfW(Addr) addr)
-{
- unsigned int convert = (sizeof(void *) << 8) + sizeof(addr); /* to, from */
- union obj_ptr_4 p4;
- union obj_ptr_8 p8;
- switch (convert) {
- case 0x0404:
- p4.addr = addr;
- return(p4.ptr);
- break;
- case 0x0408:
- p4.addr = addr;
- if (p4.addr != addr) {
- error("obj_addr_to_native_ptr truncation %" tgt_long_fmt "x",
- (tgt_long) addr);
- exit(1);
- }
- return(p4.ptr);
- break;
- case 0x0804:
- p8.addr = addr;
- return(p8.ptr);
- break;
- case 0x0808:
- p8.addr = addr;
- return(p8.ptr);
- break;
- default:
- error("obj_addr_to_native_ptr unknown conversion 0x%04x", convert);
- exit(1);
- }
-}
-
-ElfW(Addr)
-obj_native_ptr_to_addr (void *ptr)
-{
- unsigned int convert = (sizeof(ElfW(Addr)) << 8) + sizeof(ptr); /* to, from */
- union obj_ptr_4 p4;
- union obj_ptr_8 p8;
- switch (convert) {
- case 0x0404:
- p4.ptr = ptr;
- return(p4.addr);
- break;
- case 0x0408:
- p8.ptr = ptr;
- p4.addr = p8.addr;
- if (p4.addr != p8.addr) {
- error("obj_native_ptr_to_addr truncation %" tgt_long_fmt "x",
- (tgt_long) p8.addr);
- exit(1);
- }
- return(p4.addr);
- break;
- case 0x0804:
- p4.ptr = ptr;
- return(p4.addr); /* compiler expands to 8 */
- break;
- case 0x0808:
- p8.ptr = ptr;
- return(p8.addr);
- break;
- default:
- error("obj_native_ptr_to_addr unknown conversion 0x%04x", convert);
- exit(1);
- }
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_hppa.c b/mdk-stage1/insmod-modutils/obj/obj_hppa.c
deleted file mode 100644
index 4207e692e..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_hppa.c
+++ /dev/null
@@ -1,668 +0,0 @@
-/*
- * PA-RISC specific support for Elf loading and relocation.
- * Copyright 2000 David Huggins-Daines <dhd@linuxcare.com>, Linuxcare Inc.
- * Copyright 2000 Richard Hirst <rhirst@linuxcare.com>, Linuxcare Inc.
- *
- * Based on the IA-64 support, which is:
- * Copyright 2000 Mike Stephens <mike.stephens@intel.com>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-#include <modstat.h> /* For ksyms */
-
-
-typedef struct _hppa_stub_t
-{
- struct _hppa_stub_t *next;
- int offset;
- int reloc_done;
-} hppa_stub_t;
-
-typedef struct _hppa_symbol_t
-{
- struct obj_symbol root;
- hppa_stub_t *stub;
-} hppa_symbol_t;
-
-typedef struct _hppa_file_t
-{
- struct obj_file root;
- struct obj_section *stub;
- Elf32_Addr dp;
-} hppa_file_t;
-
-/* The ABI defines various more esoteric types, but these are the only
- ones we actually need. */
-enum hppa_fsel
-{
- e_fsel,
- e_lsel,
- e_rsel,
- e_lrsel,
- e_rrsel
-};
-
-/* This could be a call to obj_create_alloced_section() followed
- * by an overwrite of sec->header.sh_flags.
- */
-
-struct obj_section *
-obj_hppa_create_alloced_section (struct obj_file *f, const char *name,
- unsigned long align, unsigned long size,
- unsigned long sh_flags)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx+1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = sh_flags;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
- return sec;
-}
-
-struct obj_file *
-arch_new_file (void)
-{
- hppa_file_t *f;
- f = xmalloc(sizeof(*f));
- f->stub = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- hppa_symbol_t *sym;
- sym = xmalloc(sizeof(*sym));
- sym->stub = NULL;
- return &sym->root;
-}
-
-/* This is called for architecture specific sections we might need to
- do special things to. */
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-/* =================================================================
-
- These functions are from libhppa.h in the GNU BFD library.
- (c) 1990, 91, 92, 93, 94, 95, 96, 98, 99, 2000
- Free Software Foundation, Inc.
-
- ================================================================= */
-
-/* The *sign_extend functions are used to assemble various bitfields
- taken from an instruction and return the resulting immediate
- value. */
-
-static inline int
-sign_extend (x, len)
- int x, len;
-{
- int signbit = (1 << (len - 1));
- int mask = (signbit << 1) - 1;
- return ((x & mask) ^ signbit) - signbit;
-}
-
-static inline int
-low_sign_extend (x, len)
- int x, len;
-{
- return (x >> 1) - ((x & 1) << (len - 1));
-}
-
-
-/* The re_assemble_* functions prepare an immediate value for
- insertion into an opcode. pa-risc uses all sorts of weird bitfields
- in the instruction to hold the value. */
-
-static inline int
-sign_unext (x, len)
- int x, len;
-{
- int len_ones;
-
- len_ones = (1 << len) - 1;
-
- return x & len_ones;
-}
-
-static inline int
-low_sign_unext (x, len)
- int x, len;
-{
- int temp;
- int sign;
-
- sign = (x >> (len-1)) & 1;
-
- temp = sign_unext (x, len-1);
-
- return (temp << 1) | sign;
-}
-
-static inline int
-re_assemble_3 (as3)
- int as3;
-{
- return (( (as3 & 4) << (13-2))
- | ((as3 & 3) << (13+1)));
-}
-
-static inline int
-re_assemble_12 (as12)
- int as12;
-{
- return (( (as12 & 0x800) >> 11)
- | ((as12 & 0x400) >> (10 - 2))
- | ((as12 & 0x3ff) << (1 + 2)));
-}
-
-static inline int
-re_assemble_14 (as14)
- int as14;
-{
- return (( (as14 & 0x1fff) << 1)
- | ((as14 & 0x2000) >> 13));
-}
-
-static inline int
-re_assemble_16 (as16)
- int as16;
-{
- int s, t;
-
- /* Unusual 16-bit encoding, for wide mode only. */
- t = (as16 << 1) & 0xffff;
- s = (as16 & 0x8000);
- return (t ^ s ^ (s >> 1)) | (s >> 15);
-}
-
-static inline int
-re_assemble_17 (as17)
- int as17;
-{
- return (( (as17 & 0x10000) >> 16)
- | ((as17 & 0x0f800) << (16 - 11))
- | ((as17 & 0x00400) >> (10 - 2))
- | ((as17 & 0x003ff) << (1 + 2)));
-}
-
-static inline int
-re_assemble_21 (as21)
- int as21;
-{
- return (( (as21 & 0x100000) >> 20)
- | ((as21 & 0x0ffe00) >> 8)
- | ((as21 & 0x000180) << 7)
- | ((as21 & 0x00007c) << 14)
- | ((as21 & 0x000003) << 12));
-}
-
-static inline int
-re_assemble_22 (as22)
- int as22;
-{
- return (( (as22 & 0x200000) >> 21)
- | ((as22 & 0x1f0000) << (21 - 16))
- | ((as22 & 0x00f800) << (16 - 11))
- | ((as22 & 0x000400) >> (10 - 2))
- | ((as22 & 0x0003ff) << (1 + 2)));
-}
-
-
-/* Handle field selectors for PA instructions.
- The L and R (and LS, RS etc.) selectors are used in pairs to form a
- full 32 bit address. eg.
-
- LDIL L'start,%r1 ; put left part into r1
- LDW R'start(%r1),%r2 ; add r1 and right part to form address
-
- This function returns sign extended values in all cases.
-*/
-
-static inline unsigned int
-hppa_field_adjust (value, addend, r_field)
- unsigned int value;
- int addend;
- enum hppa_fsel r_field;
-{
- unsigned int sym_val;
-
- sym_val = value - addend;
- switch (r_field)
- {
- case e_fsel:
- /* F: No change. */
- break;
-
- case e_lsel:
- /* L: Select top 21 bits. */
- value = value >> 11;
- break;
-
- case e_rsel:
- /* R: Select bottom 11 bits. */
- value = value & 0x7ff;
- break;
-
- case e_lrsel:
- /* LR: L with rounding of the addend to nearest 8k. */
- value = sym_val + ((addend + 0x1000) & -0x2000);
- value = value >> 11;
- break;
-
- case e_rrsel:
- /* RR: R with rounding of the addend to nearest 8k.
- We need to return a value such that 2048 * LR'x + RR'x == x
- ie. RR'x = s+a - (s + (((a + 0x1000) & -0x2000) & -0x800))
- . = s+a - ((s & -0x800) + ((a + 0x1000) & -0x2000))
- . = (s & 0x7ff) + a - ((a + 0x1000) & -0x2000) */
- value = (sym_val & 0x7ff) + (((addend & 0x1fff) ^ 0x1000) - 0x1000);
- break;
-
- default:
- abort();
- }
- return value;
-}
-
-/* Insert VALUE into INSN using R_FORMAT to determine exactly what
- bits to change. */
-
-static inline int
-hppa_rebuild_insn (insn, value, r_format)
- int insn;
- int value;
- int r_format;
-{
- switch (r_format)
- {
- case 11:
- return (insn & ~ 0x7ff) | low_sign_unext (value, 11);
-
- case 12:
- return (insn & ~ 0x1ffd) | re_assemble_12 (value);
-
-
- case 10:
- return (insn & ~ 0x3ff1) | re_assemble_14 (value & -8);
-
- case -11:
- return (insn & ~ 0x3ff9) | re_assemble_14 (value & -4);
-
- case 14:
- return (insn & ~ 0x3fff) | re_assemble_14 (value);
-
-
- case -10:
- return (insn & ~ 0xfff1) | re_assemble_16 (value & -8);
-
- case -16:
- return (insn & ~ 0xfff9) | re_assemble_16 (value & -4);
-
- case 16:
- return (insn & ~ 0xffff) | re_assemble_16 (value);
-
-
- case 17:
- return (insn & ~ 0x1f1ffd) | re_assemble_17 (value);
-
- case 21:
- return (insn & ~ 0x1fffff) | re_assemble_21 (value);
-
- case 22:
- return (insn & ~ 0x3ff1ffd) | re_assemble_22 (value);
-
- case 32:
- return value;
-
- default:
- abort ();
- }
- return insn;
-}
-
-/* ====================================================================
-
- End of functions from GNU BFD.
-
- ==================================================================== */
-
-/* This is where we get the opportunity to create any extra dynamic
- sections we might need. In our case we do not need a GOT because
- our code is not PIC, but we do need to create a stub section.
-
- This is significantly less complex than what we do for shared
- libraries because, obviously, modules are not shared. Also we have
- no issues related to symbol visibility, lazy linking, etc.
- The kernels dp is fixed (at symbol data_start), and we can fix up any
- DPREL refs in the module to use that same dp value.
- All PCREL17F refs result in a stub with the following format:
-
- ldil L'func_addr,%r1
- be,n R'func_addr(%sr4,%r1)
-
- Note, all PCREL17F get a stub, regardless of whether they are
- local or external. With local ones, and external ones to other
- modules, there is a good chance we could manage without the stub.
- I'll leave that for a future optimisation.
- */
-
-#define LDIL_R1 0x20200000 /* ldil L'XXX,%r1 */
-#define BE_N_SR4_R1 0xe0202002 /* be,n R'XXX(%sr4,%r1) */
-
-#define STUB_SIZE 8
-
-int
-arch_create_got(struct obj_file *f)
-{
- hppa_file_t *hfile = (hppa_file_t *)f;
- int i, n;
- int stub_offset = 0;
-
- /* Create stub section.
- * XXX set flags, see obj_ia64.c
- */
- hfile->stub = obj_create_alloced_section(f, ".stub", STUB_SIZE, 0);
-
- /* Actually this is a lot like check_relocs() in a BFD backend. We
- walk all sections and all their relocations and look for ones
- that need special treatment. */
- n = hfile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf32_Rela *rel, *relend;
- Elf32_Sym *symtab;
- char const *strtab;
-
- relsec = hfile->root.sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = hfile->root.sections[relsec->header.sh_link];
- strsec = hfile->root.sections[symsec->header.sh_link];
-
- rel = (Elf32_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rela));
- symtab = (Elf32_Sym *)symsec->contents;
- strtab = (char const *)strsec->contents;
-
- for (; rel < relend; rel++)
- {
- int need_stub = 0;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- default:
- continue;
-
- case R_PARISC_PCREL17F:
- need_stub = 1;
- break;
- }
-
- if (need_stub)
- {
- Elf32_Sym *extsym;
- hppa_symbol_t *hsym;
- char const *name;
- int local;
- unsigned long symndx;
-
- symndx = ELF32_R_SYM(rel->r_info);
- extsym = symtab + symndx;
- if (ELF32_ST_BIND(extsym->st_info) == STB_LOCAL)
- hsym = (hppa_symbol_t *) f->local_symtab[symndx];
- else
- {
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- hsym = (hppa_symbol_t *)obj_find_symbol(f, name);
- }
- local = hsym->root.secidx <= SHN_HIRESERVE;
-
- if (need_stub)
- {
- hppa_stub_t *stub;
-
- if (hsym->stub == NULL)
- {
- stub = (hppa_stub_t *) xmalloc(sizeof(hppa_stub_t));
- stub->offset = stub_offset;
- stub->reloc_done = 0;
- hsym->stub = stub;
- stub_offset += STUB_SIZE;
- need_stub = 0;
- }
- }
- }
- }
- }
- if (stub_offset)
- {
- hfile->stub->contents = xmalloc(stub_offset);
- hfile->stub->header.sh_size = stub_offset;
- }
- return 1;
-}
-
-
-enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- hppa_file_t *hfile = (hppa_file_t *) f;
- hppa_symbol_t *hsym = (hppa_symbol_t *) sym;
-
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = (targsec->header.sh_addr + rel->r_offset) & ~0x03;
- Elf32_Addr dp = hfile->dp;
- Elf32_Word r_info = ELF32_R_TYPE(rel->r_info);
-
- enum obj_reloc ret = obj_reloc_ok;
- enum hppa_fsel fsel = e_fsel; /* Avoid compiler warning */
- unsigned int r_format;
-
- /* Fix up the value, and determine whether we can handle this
- relocation. */
- switch (r_info)
- {
- case R_PARISC_PLABEL32:
- case R_PARISC_DIR32:
- case R_PARISC_DIR21L:
- case R_PARISC_DIR14R:
- /* Easy. */
- break;
-
- case R_PARISC_DPREL21L:
- case R_PARISC_DPREL14R:
- v -= dp;
- break;
-
- case R_PARISC_PCREL17F:
- /* Find an import stub. */
- assert(hsym->stub != NULL);
- assert(hfile->stub != NULL);
- /* XXX Optimise. We may not need a stub for short branches */
- if (!hsym->stub->reloc_done) {
- /* Need to create the .stub entry */
- Elf32_Addr *pstub, stubv;
-
- pstub = (Elf32_Addr *)(hfile->stub->contents + hsym->stub->offset);
- pstub[0] = LDIL_R1;
- pstub[1] = BE_N_SR4_R1;
- stubv = hppa_field_adjust(v, rel->r_addend, e_lrsel);
- pstub[0] = hppa_rebuild_insn(pstub[0], stubv, 21);
- stubv = hppa_field_adjust(v, rel->r_addend, e_rrsel);
- stubv >>= 2; /* Branch; divide by 4 */
- pstub[1] = hppa_rebuild_insn(pstub[1], stubv, 17);
- hsym->stub->reloc_done = 1;
- }
- v = hsym->stub->offset + hfile->stub->header.sh_addr;
- break;
-
- default:
- return obj_reloc_unhandled;
- }
-
- /* Find the field selector. */
- switch (r_info)
- {
- case R_PARISC_DIR32:
- case R_PARISC_PLABEL32:
- case R_PARISC_PCREL17F:
- fsel = e_fsel;
- break;
-
- case R_PARISC_DPREL21L:
- case R_PARISC_DIR21L:
- fsel = e_lrsel;
- break;
-
- case R_PARISC_DPREL14R:
- case R_PARISC_DIR14R:
- fsel = e_rrsel;
- break;
- }
-
- v = hppa_field_adjust(v, rel->r_addend, fsel);
-
- switch (r_info)
- {
- case R_PARISC_PCREL17F:
- case R_PARISC_PCREL17R:
- case R_PARISC_PCREL22F:
- v = v - dot - 8;
- case R_PARISC_DIR17F:
- case R_PARISC_DIR17R:
- /* This is a branch. Divide the offset by four. */
- v >>= 2;
- break;
- default:
- break;
- }
-
- /* Find the format. */
- switch (r_info)
- {
- case R_PARISC_DIR32:
- case R_PARISC_PLABEL32:
- r_format = 32;
- break;
-
- case R_PARISC_DPREL21L:
- case R_PARISC_DIR21L:
- r_format = 21;
- break;
-
- case R_PARISC_PCREL17F:
- r_format = 17;
- break;
-
- case R_PARISC_DPREL14R:
- case R_PARISC_DIR14R:
- r_format = 14;
- break;
-
- default:
- abort();
- }
-
- *loc = hppa_rebuild_insn(*loc, v, r_format);
-
- return ret;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *f, struct obj_section *sec)
-{
- struct module_symbol *s;
- int i;
- hppa_file_t *hfile = (hppa_file_t *)f;
-
- /* Initialise dp to the kernels dp (symbol data_start)
- */
- for (i = 0, s = ksyms; i < nksyms; i++, s++)
- if (!strcmp((char *)s->name, "data_start"))
- break;
- if (i >= nksyms) {
- error("Cannot initialise dp, 'data_start' not found\n");
- return 1;
- }
- hfile->dp = s->value;
-
- return 0;
-}
-
diff --git a/mdk-stage1/insmod-modutils/obj/obj_hppa64.c b/mdk-stage1/insmod-modutils/obj/obj_hppa64.c
deleted file mode 100644
index fe32911ff..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_hppa64.c
+++ /dev/null
@@ -1,686 +0,0 @@
-/*
- * hppa parisc64 specific support for Elf loading and relocation.
- * Copyright 2000 Richard Hirst <rhirst@linuxcare.com>, Linuxcare Inc.
- *
- * Based on ia64 specific support which was
- * Copyright 2000 Mike Stephens <mike.stephens@intel.com>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-#include <stdlib.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE ~FALSE
-#endif
-
-/*======================================================================*/
-
-typedef struct _hppa64_opd_t
-{
- int offset;
- int reloc_done;
-} hppa64_opd_t;
-
-typedef struct _hppa64_stub_t
-{
- struct _hppa64_stub_t *next;
- Elf64_Addr addend;
- int offset;
- int reloc_done;
-} hppa64_stub_t;
-
-typedef struct _hppa64_got_t
-{
- struct _hppa64_got_t *next;
- Elf64_Addr addend;
- int offset;
- int reloc_done;
-} hppa64_got_t;
-
-typedef struct _hppa64_symbol_t
-{
- struct obj_symbol root;
- hppa64_got_t *gotent;
- hppa64_opd_t *opdent;
- hppa64_stub_t *stubent;
-} hppa64_symbol_t;
-
-typedef struct _hppa64_file_t
-{
- struct obj_file root;
- struct obj_section *got;
- struct obj_section *opd;
- struct obj_section *stub;
- Elf64_Addr gp;
- Elf64_Addr text;
- Elf64_Addr data;
- Elf64_Addr bss;
-} hppa64_file_t;
-
-/*
- * XXX This stub assumes it can reach the .got entry with a +/- 8K offset
- * from dp. Perhaps we should use a .plt for these entries to give a
- * greater chance of that being true.
- *
- * 53 7b 00 00 ldd 0(dp),dp
- * R_PARISC_LTOFF14R <.got entry offset from dp>
- * 53 61 00 20 ldd 10(dp),r1
- * e8 20 d0 00 bve (r1)
- * 53 7b 00 30 ldd 18(dp),dp
- *
- * We need a different stub for millicode calls, which doesn't screw
- * dp:
- *
- * 53 61 00 00 ldd 0(dp),r1
- * R_PARISC_LTOFF14R <.got entry offset from dp>
- * 50 21 00 20 ldd 10(r1),r1
- * e8 20 d0 00 bve (r1)
- * 08 00 02 40 nop
- *
- */
-
-/* NOTE: to keep the code cleaner we make all stubs the same size.
- */
-
-#define SIZEOF_STUB 16
-
-unsigned char hppa64_stub_extern[] =
-{
- 0x53, 0x7b, 0x00, 0x00,
- 0x53, 0x61, 0x00, 0x20,
- 0xe8, 0x20, 0xd0, 0x00,
- 0x53, 0x7b, 0x00, 0x30,
-};
-
-unsigned char hppa64_stub_millicode[] =
-{
- 0x53, 0x61, 0x00, 0x00,
- 0x50, 0x21, 0x00, 0x20,
- 0xe8, 0x20, 0xd0, 0x00,
- 0x08, 0x00, 0x02, 0x40,
-};
-
-/*======================================================================*/
-
-enum obj_reloc
-patch_14r(Elf64_Xword v64, Elf64_Word *p)
-{
- Elf64_Word i = *p;
- Elf64_Word v = (Elf64_Word)v64;
-
- if (v & 0x80000000)
- v |= ~0x7ff;
- else
- v &= 0x7ff;
- i &= ~ 0x3fff;
- i |= (v & 0x1fff) << 1 |
- (v & 0x2000) >> 13;
- *p = i;
-
- return obj_reloc_ok;
-}
-
-enum obj_reloc
-patch_21l(Elf64_Xword v64, Elf64_Word *p)
-{
- Elf64_Word i = *p;
- Elf64_Word v = (Elf64_Word)v64;
-
- v &= 0xfffff800;
- if (v & 0x80000000)
- v += 0x800;
- i &= ~ 0x1fffff;
- i |= (v & 0x80000000) >> 31 |
- (v & 0x7ff00000) >> 19 |
- (v & 0x000c0000) >> 4 |
- (v & 0x0003e000) << 3 |
- (v & 0x00001800) << 1;
- *p = i;
-
- return obj_reloc_ok;
-}
-
-
-/* All 14 bits this time... This is used to patch the .got offset in
- * a stub for PCREL22F.
- */
-
-enum obj_reloc
-patch_14r2(Elf64_Xword v64, Elf64_Word *p)
-{
- Elf64_Word i = *p;
- Elf64_Word v = (Elf64_Word)v64;
-
- if ((Elf64_Sxword)v64 > 0x1fffL ||
- (Elf64_Sxword)v64 < -0x2000L)
- return obj_reloc_overflow;
- i &= ~ 0x3fff;
- i |= (v & 0x2000) >> 13 |
- (v & 0x1fff) << 1;
- *p = i;
-
- return obj_reloc_ok;
-}
-
-
-enum obj_reloc
-patch_22f(Elf64_Xword v64, Elf64_Word *p)
-{
- Elf64_Word i = *p;
- Elf64_Word v = (Elf64_Word)v64;
-
- if ((Elf64_Sxword)v64 > 0x800000-1 ||
- (Elf64_Sxword)v64 < -0x800000)
- return obj_reloc_overflow;
-
- i &= ~ 0x03ff1ffd;
- i |= (v & 0x00800000) >> 23 |
- (v & 0x007c0000) << 3 |
- (v & 0x0003e000) << 3 |
- (v & 0x00001000) >> 10 |
- (v & 0x00000ffc) << 1;
- *p = i;
-
- return obj_reloc_ok;
-}
-
-
-struct obj_section *
-obj_hppa64_create_alloced_section (struct obj_file *f, const char *name,
- unsigned long align, unsigned long size, unsigned long sh_flags)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx+1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = sh_flags;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
- return sec;
-}
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- hppa64_file_t *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- f->opd = NULL;
- f->stub = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- hppa64_symbol_t *sym;
- sym = xmalloc(sizeof(*sym));
- sym->gotent = NULL;
- sym->opdent = NULL;
- sym->stubent = NULL;
- return &sym->root;
-}
-
-/* This may not be needed, but does no harm (copied from ia64).
- */
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- switch (sec->header.sh_type)
- {
- case SHT_PARISC_EXT :
- sec->contents = NULL;
- break;
-
- case SHT_PARISC_UNWIND :
- if (sec->header.sh_size > 0)
- {
- sec->contents = xmalloc(sec->header.sh_size);
- gzf_lseek(fp, sec->header.sh_offset, SEEK_SET);
- if (gzf_read(fp, sec->contents, sec->header.sh_size) != sec->header.sh_size)
- {
- error("error reading ELF section data: %m");
- return -1;
- }
- }
- else
- sec->contents = NULL;
- break;
- default:
- error("Unknown section header type: %08x", sec->header.sh_type);
- return -1;
- }
- return 0;
-}
-
-int
-arch_create_got(struct obj_file *f)
-{
- hppa64_file_t *hfile = (hppa64_file_t *)f;
- int i;
- int n;
- int got_offset = 0;
- int opd_offset = 64;
- int stub_offset = 0;
-
- n = hfile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf64_Rela *rel, *relend;
- Elf64_Sym *symtab;
- const char *strtab;
-
- relsec = hfile->root.sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = hfile->root.sections[relsec->header.sh_link];
- strsec = hfile->root.sections[symsec->header.sh_link];
-
- rel = (Elf64_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf64_Rela));
- symtab = (Elf64_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- int need_got = FALSE;
- int need_opd = FALSE;
- int need_stub = FALSE;
-
- switch (ELF64_R_TYPE(rel->r_info))
- {
- default:
- {
- unsigned r_info = ELF64_R_TYPE(rel->r_info);
- printf("r_info 0x%x not handled\n", r_info);
- }
- continue;
- case R_PARISC_LTOFF14R:
- case R_PARISC_LTOFF21L:
- /* These are simple indirect references to symbols through the
- * DLT. We need to create a DLT entry for any symbols which
- * appears in a DLTIND relocation.
- */
- need_got = TRUE;
- break;
- case R_PARISC_PCREL22F:
- /* These are function calls. Depending on their precise
- * target we may need to make a stub for them. The stub
- * uses the dlt, so we need to create dlt entries for
- * these symbols too.
- */
- need_got = TRUE;
- need_stub = TRUE;
- break;
- case R_PARISC_DIR64:
- break;
- case R_PARISC_FPTR64:
- /* This is a simple OPD entry (only created for local symbols,
- * see below).
- */
- need_opd = TRUE;
- break;
- }
-
- if (need_got || need_opd || need_stub)
- {
- Elf64_Sym *extsym;
- hppa64_symbol_t *isym;
- const char *name;
- int local;
- unsigned long symndx;
-
- symndx = ELF64_R_SYM(rel->r_info);
- extsym = &symtab[symndx];
- if (ELF64_ST_BIND(extsym->st_info) == STB_LOCAL)
- {
- isym = (hppa64_symbol_t *) f->local_symtab[symndx];
- }
- else
- {
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- isym = (hppa64_symbol_t *)obj_find_symbol(f, name);
- }
- local = isym->root.secidx <= SHN_HIRESERVE;
-
- if (need_stub)
- {
- hppa64_stub_t *stub;
-
- for (stub = isym->stubent; stub != NULL; stub = stub->next)
- if (stub->addend == rel->r_addend)
- break;
- if (stub == NULL)
- {
- stub = (hppa64_stub_t *) xmalloc(sizeof(hppa64_stub_t));
- stub->next = isym->stubent;
- stub->addend = rel->r_addend;
- stub->offset = stub_offset;
- stub->reloc_done = FALSE;
- isym->stubent = stub;
- {
- stub_offset += SIZEOF_STUB;
- }
- need_stub = FALSE;
- }
- }
- if (need_got)
- {
- hppa64_got_t *got;
-
- for (got = isym->gotent; got != NULL; got = got->next)
- if (got->addend == rel->r_addend)
- break;
- if (got == NULL)
- {
- got = (hppa64_got_t *) xmalloc(sizeof(hppa64_got_t));
- got->next = isym->gotent;
- got->addend = rel->r_addend;
- got->offset = got_offset;
- got->reloc_done = FALSE;
- isym->gotent = got;
- got_offset += 8;
- need_got = FALSE;
- }
- }
- if (need_opd && local)
- {
- hppa64_opd_t *opd;
-
- if (isym->opdent == NULL)
- {
- opd = (hppa64_opd_t *) xmalloc(sizeof(hppa64_opd_t));
- opd->offset = opd_offset;
- opd->reloc_done = FALSE;
- isym->opdent = opd;
- opd_offset += 32;
- need_opd = FALSE;
- }
- }
- }
- }
- }
-
- hfile->got = obj_hppa64_create_alloced_section(f, ".got", 8, got_offset,
- (SHF_ALLOC | SHF_WRITE | SHF_PARISC_SHORT));
- assert(hfile->got != NULL);
-
- hfile->opd = obj_hppa64_create_alloced_section(f, ".opd", 16, opd_offset,
- (SHF_ALLOC | SHF_WRITE | SHF_PARISC_SHORT));
- assert(hfile->opd != NULL);
-
- if (stub_offset > 0)
- {
- hfile->stub = obj_hppa64_create_alloced_section(f, ".stub", 16,
- stub_offset, (SHF_ALLOC | SHF_EXECINSTR | SHF_PARISC_SHORT));
- assert(hfile->stub != NULL);
- }
-
- return 1;
-}
-
-
-/* This is a small simple version which seems to work fine. ia64 has
- * a much more complex algorithm. We point dp at the end of the .got,
- * which is the start of the .opd.
- */
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf64_Addr base)
-{
- hppa64_file_t *hfile = (hppa64_file_t *)f;
- int n = f->header.e_shnum;
- int i;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
-
- /* Pick a sensible value for gp */
- hfile->gp = hfile->got->header.sh_addr + hfile->got->header.sh_size;
-
- return 1;
-}
-
-
-enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf64_Rela *rel,
- Elf64_Addr v)
-{
- hppa64_file_t *hfile = (hppa64_file_t *) f;
- hppa64_symbol_t *isym = (hppa64_symbol_t *) sym;
-
- Elf64_Word *loc = (Elf64_Word *)(targsec->contents + rel->r_offset);
- Elf64_Addr dot = (targsec->header.sh_addr + rel->r_offset) & ~0x03;
-
- Elf64_Addr got = hfile->got->header.sh_addr;
- Elf64_Addr gp = hfile->gp;
-
- Elf64_Xword r_info = ELF64_R_TYPE(rel->r_info);
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (r_info)
- {
- default:
- ret = obj_reloc_unhandled;
- break;
- case R_PARISC_LTOFF14R:
- case R_PARISC_LTOFF21L:
- {
- hppa64_got_t *ge;
-
- assert(isym != NULL);
- for (ge = isym->gotent; ge != NULL && ge->addend != rel->r_addend; )
- ge = ge->next;
- assert(ge != NULL);
- if (!ge->reloc_done)
- {
- ge->reloc_done = TRUE;
- *(Elf64_Addr *)(hfile->got->contents + ge->offset) = v;
- }
- v = got + ge->offset - gp;
- if (r_info == R_PARISC_LTOFF14R)
- ret = patch_14r(v, loc);
- else
- ret = patch_21l(v, loc);
- }
- break;
- case R_PARISC_PCREL22F:
- {
- hppa64_got_t *ge;
-
- assert(isym != NULL);
- for (ge = isym->gotent; ge != NULL && ge->addend != rel->r_addend; )
- ge = ge->next;
- assert(ge != NULL);
- if (!ge->reloc_done)
- {
- ge->reloc_done = TRUE;
- *(Elf64_Addr *)(hfile->got->contents + ge->offset) = v;
- }
- if ((isym->root.secidx > SHN_HIRESERVE) ||
- ((Elf64_Sxword) (v - dot - 8) > 0x800000-1) ||
- ((Elf64_Sxword) (v - dot - 8) < -0x800000))
- {
- hppa64_stub_t *se;
-
- for (se = isym->stubent; se != NULL && se->addend != rel->r_addend; )
- se = se->next;
- assert(se != NULL);
- if (!se->reloc_done)
- {
- /* This requires that we can get from dp to the entry in +/- 8K,
- * or +/- 1000 entries. patch_14r2() will check that.
- * Only need these dlt entries for calls to external/far
- * functions, so should probably put them in a seperate section
- * before dlt and point dp at the section. Change to that
- * scheme if we hit problems with big modules.
- */
- unsigned char *stub;
-
- if (!strncmp(isym->root.name, "$$", 2))
- stub = hppa64_stub_millicode;
- else
- stub = hppa64_stub_extern;
- se->reloc_done = TRUE;
- memcpy((Elf64_Addr *)(hfile->stub->contents + se->offset),
- stub, SIZEOF_STUB);
- v = (Elf64_Addr)(hfile->got->header.sh_addr + ge->offset) - gp;
- ret = patch_14r2(v, (Elf64_Word *)(hfile->stub->contents + se->offset));
- }
- v = hfile->stub->header.sh_addr + se->offset;
- }
- v = v - dot - 8;
- if (ret == obj_reloc_ok)
- ret = patch_22f(v, loc);
- }
- break;
- case R_PARISC_DIR64:
- {
- loc[0] = v >> 32;
- loc[1] = v;
- }
- break;
- case R_PARISC_FPTR64:
- {
- assert(isym != NULL);
- if (isym->root.secidx <= SHN_HIRESERVE) /* local */
- {
- assert(isym->opdent != NULL);
- if (!isym->opdent->reloc_done)
- {
- isym->opdent->reloc_done = TRUE;
- *(Elf64_Addr *)(hfile->opd->contents + isym->opdent->offset + 16) = v;
- *(Elf64_Addr *)(hfile->opd->contents + isym->opdent->offset + 24) = gp;
- }
- v = hfile->opd->header.sh_addr + isym->opdent->offset;
- }
- loc[0] = v >> 32;
- loc[1] = v;
- }
- break;
- }
- return ret;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- hppa64_file_t *hfile = (hppa64_file_t *)f;
- Elf64_Addr *opd = (Elf64_Addr *)(hfile->opd->contents);
-
- opd[0] = 0;
- opd[1] = 0;
- if ((opd[2] = mod->init) != 0)
- {
- opd[3] = hfile->gp;
- mod->init = hfile->opd->header.sh_addr;
- }
-
- opd[4] = 0;
- opd[5] = 0;
- if ((opd[6] = mod->cleanup) != 0)
- {
- opd[7] = hfile->gp;
- mod->cleanup = hfile->opd->header.sh_addr + 32;
- }
-
- return 1;
-}
-
-/* XXX Is this relevant to parisc? */
-
-int
-arch_archdata (struct obj_file *f, struct obj_section *archdata_sec)
-{
- hppa64_file_t *hfile = (hppa64_file_t *)f;
- struct archdata {
- unsigned tgt_long unw_table;
- unsigned tgt_long segment_base;
- unsigned tgt_long unw_start;
- unsigned tgt_long unw_end;
- unsigned tgt_long gp;
- } *ad;
- int i;
- struct obj_section *sec;
-
- free(archdata_sec->contents);
- archdata_sec->contents = xmalloc(sizeof(struct archdata));
- memset(archdata_sec->contents, 0, sizeof(struct archdata));
- archdata_sec->header.sh_size = sizeof(struct archdata);
-
- ad = (struct archdata *)(archdata_sec->contents);
- ad->gp = hfile->gp;
- ad->unw_start = 0;
- ad->unw_end = 0;
- ad->unw_table = 0;
- ad->segment_base = f->sections[1]->header.sh_addr;
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- sec = f->sections[i];
- if (sec->header.sh_type == SHT_PARISC_UNWIND)
- {
- ad->unw_start = sec->header.sh_addr;
- ad->unw_end = sec->header.sh_addr + sec->header.sh_size;
- break;
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_i386.c b/mdk-stage1/insmod-modutils/obj/obj_i386.c
deleted file mode 100644
index 28df3448c..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_i386.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/* i386 specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct i386_got_entry
-{
- int offset;
- unsigned offset_done : 1;
- unsigned reloc_done : 1;
-};
-
-struct i386_file
-{
- struct obj_file root;
- struct obj_section *got;
-};
-
-struct i386_symbol
-{
- struct obj_symbol root;
- struct i386_got_entry gotent;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct i386_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct i386_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- memset(&sym->gotent, 0, sizeof(sym->gotent));
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rel *rel,
- Elf32_Addr v)
-{
- struct i386_file *ifile = (struct i386_file *)f;
- struct i386_symbol *isym = (struct i386_symbol *)sym;
-
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf32_Addr got = ifile->got ? ifile->got->header.sh_addr : 0;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_386_NONE:
- break;
-
- case R_386_32:
- *loc += v;
- break;
-
- case R_386_PLT32:
- case R_386_PC32:
- *loc += v - dot;
- break;
-
- case R_386_GLOB_DAT:
- case R_386_JMP_SLOT:
- *loc = v;
- break;
-
- case R_386_RELATIVE:
- *loc += f->baseaddr;
- break;
-
- case R_386_GOTPC:
- assert(got != 0);
- *loc += got - dot;
- break;
-
- case R_386_GOT32:
- assert(isym != NULL);
- if (!isym->gotent.reloc_done)
- {
- isym->gotent.reloc_done = 1;
- *(Elf32_Addr *)(ifile->got->contents + isym->gotent.offset) = v;
- }
- *loc += isym->gotent.offset;
- break;
-
- case R_386_GOTOFF:
- assert(got != 0);
- *loc += v - got;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct i386_file *ifile = (struct i386_file *)f;
- int i, n, offset = 0, gotneeded = 0;
-
- n = ifile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf32_Rel *rel, *relend;
- Elf32_Sym *symtab;
- const char *strtab;
-
- relsec = ifile->root.sections[i];
- if (relsec->header.sh_type != SHT_REL)
- continue;
-
- symsec = ifile->root.sections[relsec->header.sh_link];
- strsec = ifile->root.sections[symsec->header.sh_link];
-
- rel = (Elf32_Rel *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rel));
- symtab = (Elf32_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- Elf32_Sym *extsym;
- struct i386_symbol *intsym;
- const char *name;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_386_GOTPC:
- case R_386_GOTOFF:
- gotneeded = 1;
- default:
- continue;
-
- case R_386_GOT32:
- break;
- }
-
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct i386_symbol *)obj_find_symbol(&ifile->root, name);
-
- if (!intsym->gotent.offset_done)
- {
- intsym->gotent.offset_done = 1;
- intsym->gotent.offset = offset;
- offset += 4;
- }
- }
- }
-
- if (offset > 0 || gotneeded)
- ifile->got = obj_create_alloced_section(&ifile->root, ".got", 4, offset);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_ia64.c b/mdk-stage1/insmod-modutils/obj/obj_ia64.c
deleted file mode 100644
index 4f92c5d27..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_ia64.c
+++ /dev/null
@@ -1,1065 +0,0 @@
-/*
- * ia64 specific support for Elf loading and relocation.
- * Copyright 2000 Mike Stephens <mike.stephens@intel.com>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-#include <stdlib.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE ~FALSE
-#endif
-
-/*======================================================================*/
-
-typedef struct _ia64_opd_t
-{
- int offset;
- int reloc_done;
-} ia64_opd_t;
-
-typedef struct _ia64_plt_t
-{
- struct _ia64_plt_t *next;
- Elf64_Addr addend;
- int text_offset;
- int data_offset;
- int reloc_done;
-} ia64_plt_t;
-
-typedef struct _ia64_got_t
-{
- struct _ia64_got_t *next;
- Elf64_Addr addend;
- int offset;
- int reloc_done;
-} ia64_got_t;
-
-typedef struct _ia64_symbol_t
-{
- struct obj_symbol root;
- ia64_got_t *gotent;
- ia64_opd_t *opdent;
- ia64_plt_t *pltent;
-} ia64_symbol_t;
-
-typedef struct _ia64_file_t
-{
- struct obj_file root;
- struct obj_section *got;
- struct obj_section *opd;
- struct obj_section *pltt;
- struct obj_section *pltd;
- Elf64_Addr gp;
- Elf64_Addr text;
- Elf64_Addr data;
- Elf64_Addr bss;
-} ia64_file_t;
-
-/*
- * aa=gp rel address of the function descriptor in the .IA_64.pltoff section
- */
-unsigned char ia64_plt_local[] =
-{
- 0x0b, 0x78, 0x00, 0x02, 0x00, 0x24, /* [MMI] addl r15=aa,gp;; */
- 0x00, 0x41, 0x3c, 0x30, 0x28, 0xc0, /* ld8 r16=[r15],8 */
- 0x01, 0x08, 0x00, 0x84, /* mov r14=gp;; */
- 0x11, 0x08, 0x00, 0x1e, 0x18, 0x10, /* [MIB] ld8 gp=[r15] */
- 0x60, 0x80, 0x04, 0x80, 0x03, 0x00, /* mov b6=r16 */
- 0x60, 0x00, 0x80, 0x00 /* br.few b6;; */
-};
-
-unsigned char ia64_plt_extern[] =
-{
- 0x0b, 0x80, 0x00, 0x02, 0x00, 0x24, /* [MMI] addl r16=aa,gp;; */
- 0xf0, 0x00, 0x40, 0x30, 0x20, 0x00, /* ld8 r15=[r16] */
- 0x00, 0x00, 0x04, 0x00, /* nop.i 0x0;; */
- 0x0b, 0x80, 0x20, 0x1e, 0x18, 0x14, /* [MMI] ld8 r16=[r15],8;; */
- 0x10, 0x00, 0x3c, 0x30, 0x20, 0xc0, /* ld8 gp=[r15] */
- 0x00, 0x09, 0x00, 0x07, /* mov b6=r16;; */
- 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, /* [MIB] nop.m 0x0 */
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* nop.i 0x0 */
- 0x60, 0x00, 0x80, 0x00 /* br.few b6;; */
-};
-
-/*======================================================================*/
-
-/*
- * return the instruction at slot in bundle
- */
-Elf64_Xword
-obj_ia64_ins_extract_from_bundle(Elf64_Addr *bundle, Elf64_Xword slot)
-{
- switch (slot)
- {
- case 0 :
- return (*bundle >> 5) & 0x1ffffffffff;
-
- case 1 :
- return (((*bundle >> 46) & 0x3ffff) |
- (*(bundle + 1) << 18)) & 0x1ffffffffff;
-
- case 2 :
- return (*(bundle + 1) >> 23) & 0x1ffffffffff;
-
- default:
- }
- return (-1);
-}
-
-/*
- * insert a instruction at slot in bundle
- */
-void
-obj_ia64_ins_insert_in_bundle(Elf64_Addr *bundle, Elf64_Xword slot, Elf64_Xword ins)
-{
- Elf64_Xword i;
- Elf64_Xword in = ins & 0x1ffffffffff;
-
- switch (slot)
- {
- case 0 :
- i = *bundle & 0xffffc0000000001f;
- *bundle = i | (in << 5);
- break;
-
- case 1 :
- i = *bundle & 0x00003fffffffffff;
- *bundle = i | (in << 46);
-
- ++bundle;
- i = *bundle & 0xffffffffff800000;
- *bundle = i | (in >> 18);
- break;
-
- case 2 :
- ++bundle;
- i = *bundle & 0x00000000007fffff;
- *bundle = i | (in << 23);
- break;
- }
-}
-
-/*
- * add a immediate 14 value to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_imm14(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffee07f01fff;
- ins |= ((v & 0x2000) << 23) | ((v & 0x1f80) << 20) | ((v & 0x007f) << 13);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- if (((Elf64_Sxword) v > 8191) || ((Elf64_Sxword) v < -8192))
- return obj_reloc_overflow;
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 22 value to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_imm22(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffe000301fff;
- ins |= ((v & 0x200000) << 15) | ((v & 0x1f0000) << 6) |
- ((v & 0x00ff80) << 20) | ((v & 0x00007f) << 13);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- if (((Elf64_Sxword) v > 2097151) || ((Elf64_Sxword) v < -2097152))
- return obj_reloc_overflow;
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 21 value (form 1) to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_pcrel21b(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffee00001fff;
- ins |= ((v & 0x1000000) << 12) | ((v & 0x0fffff0) << 9);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 21 value (form 2) to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_pcrel21m(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffee000fe03f;
- ins |= ((v & 0x1000000) << 12) | ((v & 0x0fff800) << 9) |
- ((v & 0x00007f0) << 2);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 21 value (form 3) to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_pcrel21f(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffeffc00003f;
- ins |= ((v & 0x1000000) << 12) | ((v & 0x0fffff0) << 2);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 64 value to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_imm64(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- assert(slot == 1);
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffee000101ff;
- ins |= ((v & 0x8000000000000000) >> 28) | ((v & 0x0000000000200000)) |
- ((v & 0x00000000001f0000) << 6) | ((v & 0x000000000000ff80) << 20) |
- ((v & 0x000000000000007f) << 13);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- obj_ia64_ins_insert_in_bundle(bundle, ++slot, ((v & 0x7fffffffffc00000) >> 22));
- return obj_reloc_ok;
-}
-
-/*
- * create a plt entry
- */
-enum obj_reloc
-obj_ia64_generate_plt(Elf64_Addr v,
- Elf64_Addr gp,
- ia64_file_t *ifile,
- ia64_symbol_t *isym,
- ia64_plt_t *pltent)
-{
- *(Elf64_Addr *)(ifile->pltd->contents + pltent->data_offset) = v;
- if (isym->root.secidx <= SHN_HIRESERVE)
- {
- /* local entry */
- *(Elf64_Addr *)(ifile->pltd->contents + pltent->data_offset + 8) = gp;
- memcpy((Elf64_Addr *)(ifile->pltt->contents + pltent->text_offset),
- ia64_plt_local, sizeof(ia64_plt_local));
- }
- else
- {
- /* external entry */
- memcpy((Elf64_Addr *)(ifile->pltt->contents + pltent->text_offset),
- ia64_plt_extern, sizeof(ia64_plt_extern));
- }
- return obj_ia64_ins_imm22(
- (ifile->pltd->header.sh_addr + pltent->data_offset - gp),
- (Elf64_Addr *)(ifile->pltt->contents + pltent->text_offset), 0);
-}
-
-struct obj_section *
-obj_ia64_create_alloced_section (struct obj_file *f, const char *name,
- unsigned long align, unsigned long size, unsigned long sh_flags)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx+1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = sh_flags;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
- return sec;
-}
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- ia64_file_t *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- f->opd = NULL;
- f->pltt = NULL;
- f->pltd = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- ia64_symbol_t *sym;
- sym = xmalloc(sizeof(*sym));
- sym->gotent = NULL;
- sym->opdent = NULL;
- sym->pltent = NULL;
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- switch (sec->header.sh_type)
- {
- case SHT_IA_64_EXT :
- sec->contents = NULL;
- break;
-
- case SHT_IA_64_UNWIND :
- if (sec->header.sh_size > 0)
- {
- sec->contents = xmalloc(sec->header.sh_size);
- gzf_lseek(fp, sec->header.sh_offset, SEEK_SET);
- if (gzf_read(fp, sec->contents, sec->header.sh_size) != sec->header.sh_size)
- {
- error("error reading ELF section data: %m");
- return -1;
- }
- }
- else
- sec->contents = NULL;
- break;
-
- default:
- error("Unknown section header type: %08x", sec->header.sh_type);
- return -1;
- }
- return 0;
-}
-
-int
-arch_create_got(struct obj_file *f)
-{
- ia64_file_t *ifile = (ia64_file_t *)f;
- int i;
- int n;
- int got_offset = 0;
- int opd_offset = 32;
- int plt_text_offset = 0;
- int plt_data_offset = 0;
-
- n = ifile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf64_Rela *rel, *relend;
- Elf64_Sym *symtab;
- const char *strtab;
-
- relsec = ifile->root.sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = ifile->root.sections[relsec->header.sh_link];
- strsec = ifile->root.sections[symsec->header.sh_link];
-
- rel = (Elf64_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf64_Rela));
- symtab = (Elf64_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- int need_got = FALSE;
- int need_opd = FALSE;
- int need_plt = FALSE;
-
- switch (ELF64_R_TYPE(rel->r_info))
- {
- default:
- continue;
-
- case R_IA64_FPTR64I : /* @fptr(sym + add), mov imm64 */
- case R_IA64_FPTR32LSB : /* @fptr(sym + add), data4 LSB */
- case R_IA64_FPTR64LSB : /* @fptr(sym + add), data8 LSB */
- need_opd = TRUE;
- break;
-
- case R_IA64_LTOFF22 : /* @ltoff(sym + add), add imm22 */
- case R_IA64_LTOFF22X :
- case R_IA64_LTOFF64I : /* @ltoff(sym + add), mov imm64 */
- need_got = TRUE;
- break;
-
- case R_IA64_LTOFF_FPTR22 : /* @ltoff(@fptr(s+a)), imm22 */
- case R_IA64_LTOFF_FPTR64I : /* @ltoff(@fptr(s+a)), imm64 */
- case R_IA64_LTOFF_FPTR32LSB :
- case R_IA64_LTOFF_FPTR64LSB :
- need_got = TRUE;
- need_opd = TRUE;
- break;
-
- case R_IA64_PLTOFF22 : /* @pltoff(sym + add), add imm22 */
- case R_IA64_PLTOFF64I : /* @pltoff(sym + add), mov imm64 */
- case R_IA64_PLTOFF64LSB : /* @pltoff(sym + add), data8 LSB */
-
- case R_IA64_PCREL21B : /* @pcrel(sym + add), ptb, call */
- case R_IA64_PCREL21M : /* @pcrel(sym + add), chk.s */
- case R_IA64_PCREL21F : /* @pcrel(sym + add), fchkf */
- need_plt = TRUE;
- break;
- }
-
- if (need_got || need_opd || need_plt)
- {
- Elf64_Sym *extsym;
- ia64_symbol_t *isym;
- const char *name;
- int local;
- unsigned long symndx;
-
- symndx = ELF64_R_SYM(rel->r_info);
- extsym = &symtab[symndx];
- if (ELF64_ST_BIND(extsym->st_info) == STB_LOCAL)
- {
- isym = (ia64_symbol_t *) f->local_symtab[symndx];
- }
- else
- {
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- isym = (ia64_symbol_t *)obj_find_symbol(f, name);
- }
- local = isym->root.secidx <= SHN_HIRESERVE;
-
- if (need_plt)
- {
- ia64_plt_t *plt;
-
- for (plt = isym->pltent; plt != NULL; plt = plt->next)
- if (plt->addend == rel->r_addend)
- break;
- if (plt == NULL)
- {
- plt = (ia64_plt_t *) xmalloc(sizeof(ia64_plt_t));
- plt->next = isym->pltent;
- plt->addend = rel->r_addend;
- plt->text_offset = plt_text_offset;
- plt->data_offset = plt_data_offset;
- plt->reloc_done = FALSE;
- isym->pltent = plt;
- if (local)
- {
- plt_text_offset += sizeof(ia64_plt_local);
- plt_data_offset += 16;
- }
- else
- {
- plt_text_offset += sizeof(ia64_plt_extern);
- plt_data_offset += 8;
- }
- need_plt = FALSE;
- }
- }
- if (need_got)
- {
- ia64_got_t *got;
-
- for (got = isym->gotent; got != NULL; got = got->next)
- if (got->addend == rel->r_addend)
- break;
- if (got == NULL)
- {
- got = (ia64_got_t *) xmalloc(sizeof(ia64_got_t));
- got->next = isym->gotent;
- got->addend = rel->r_addend;
- got->offset = got_offset;
- got->reloc_done = FALSE;
- isym->gotent = got;
- got_offset += 8;
- need_got = FALSE;
- }
- }
- if (need_opd && local)
- {
- ia64_opd_t *opd;
-
- if (isym->opdent == NULL)
- {
- opd = (ia64_opd_t *) xmalloc(sizeof(ia64_opd_t));
- opd->offset = opd_offset;
- opd->reloc_done = FALSE;
- isym->opdent = opd;
- opd_offset += 16;
- need_opd = FALSE;
- }
- }
- }
- }
- }
-
- ifile->got = obj_ia64_create_alloced_section(f, ".got", 8, got_offset,
- (SHF_ALLOC | SHF_WRITE | SHF_IA_64_SHORT));
- assert(ifile->got != NULL);
-
- ifile->opd = obj_ia64_create_alloced_section(f, ".opd", 16, opd_offset,
- (SHF_ALLOC | SHF_WRITE | SHF_IA_64_SHORT));
- assert(ifile->opd != NULL);
-
- if (plt_text_offset > 0)
- {
- ifile->pltt = obj_ia64_create_alloced_section(f, ".plt", 16,
- plt_text_offset, (SHF_ALLOC | SHF_EXECINSTR | SHF_IA_64_SHORT));
- ifile->pltd = obj_ia64_create_alloced_section(f, ".IA_64.pltoff",
- 16, plt_data_offset, (SHF_ALLOC | SHF_WRITE | SHF_IA_64_SHORT));
- assert(ifile->pltt != NULL);
- assert(ifile->pltd != NULL);
- }
-
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf64_Addr base)
-{
- ia64_file_t *ifile = (ia64_file_t *)f;
- Elf64_Addr min_addr = (Elf64_Addr) -1;
- Elf64_Addr max_addr = 0;
- Elf64_Addr min_short_addr = (Elf64_Addr) -1;
- Elf64_Addr max_short_addr = 0;
- Elf64_Addr gp;
- Elf64_Addr text = (Elf64_Addr) -1;
- Elf64_Addr data = (Elf64_Addr) -1;
- Elf64_Addr bss = (Elf64_Addr) -1;
- int n = f->header.e_shnum;
- int i;
-
- /*
- * Finalize the addresses of the sections, find the min and max
- * address of all sections marked short, and collect min and max
- * address of any type, for use in selecting a nice gp.
- *
- * The algorithm used for selecting set the GP value was taken from
- * the ld/bfd code contributed by David Mosberger-Tang <davidm@hpl.hp.com>
- */
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- {
- Elf64_Shdr *header = &f->sections[i]->header;
- Elf64_Addr lo;
- Elf64_Addr hi;
-
- header->sh_addr += base;
- if (header->sh_flags & SHF_ALLOC)
- {
- lo = header->sh_addr;
- hi = header->sh_addr + header->sh_size;
- if (hi < lo)
- hi = (Elf64_Addr) -1;
-
- if (min_addr > lo)
- min_addr = lo;
- if (max_addr < hi)
- max_addr = hi;
- if (header->sh_flags & SHF_IA_64_SHORT)
- {
- if (min_short_addr > lo)
- min_short_addr = lo;
- if (max_short_addr < hi)
- max_short_addr = hi;
- }
- if ((header->sh_type & SHT_NOBITS) && (lo < bss))
- bss = lo;
- else if ((header->sh_flags & SHF_EXECINSTR) && (lo < text))
- text = lo;
- else if (lo < data)
- data = lo;
- }
- }
- /* Pick a sensible value for gp */
-
- /* Start with just the address of the .got */
- gp = ifile->got->header.sh_addr;
-
- /*
- * If it is possible to address the entire image, but we
- * don't with the choice above, adjust.
- */
- if ((max_addr - min_addr < 0x400000) && (max_addr - gp <= 0x200000) &&
- (gp - min_addr > 0x200000))
- {
- gp = min_addr + 0x200000;
- }
- else if (max_short_addr != 0)
- {
- /* If we don't cover all the short data, adjust */
- if (max_short_addr - gp >= 0x200000)
- gp = min_short_addr + 0x200000;
-
- /* If we're addressing stuff past the end, adjust back */
- if (gp > max_addr)
- gp = max_addr - 0x200000 + 8;
- }
-
- /*
- * Validate whether all SHF_IA_64_SHORT sections are within
- * range of the chosen GP.
- */
- if (max_short_addr != 0)
- {
- if (max_short_addr - min_short_addr >= 0x400000)
- {
- error("short data segment overflowed (0x%lx >= 0x400000)",
- (unsigned long)(max_short_addr - min_short_addr));
- return 0;
- }
- else if (((gp > min_short_addr) && (gp - min_short_addr > 0x200000)) ||
- ((gp < max_short_addr) && (max_short_addr - gp >= 0x200000)))
- {
- error("GP does not cover short data segment");
- return 0;
- }
- }
- ifile->gp = gp;
- ifile->text = text;
- ifile->data = data;
- ifile->bss = bss;
- return 1;
-}
-
-/* Targets can be unaligned, use memcpy instead of assignment */
-#define COPY_64LSB(loc, v) \
- do { \
- Elf64_Xword reloc = (v); \
- memcpy((void *)(loc), &reloc, 8); \
- } while(0)
-#define COPY_32LSB(loc, v) \
- do { \
- Elf32_Xword reloc = (v); \
- memcpy((void *)(loc), &reloc, 4); \
- if ((v) != reloc) \
- ret = obj_reloc_overflow; \
- } while(0)
-
-enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf64_Rela *rel,
- Elf64_Addr v)
-{
- ia64_file_t *ifile = (ia64_file_t *) f;
- ia64_symbol_t *isym = (ia64_symbol_t *) sym;
-
- Elf64_Addr loc = (Elf64_Addr)(targsec->contents + rel->r_offset);
- Elf64_Addr dot = (targsec->header.sh_addr + rel->r_offset) & ~0x03;
-
- Elf64_Addr got = ifile->got->header.sh_addr;
- Elf64_Addr gp = ifile->gp;
-
- Elf64_Addr *bundle = (Elf64_Addr *)(loc & ~0x03);
- Elf64_Xword slot = loc & 0x03;
-
- Elf64_Xword r_info = ELF64_R_TYPE(rel->r_info);
-
- enum obj_reloc ret = obj_reloc_ok;
-
- /* We cannot load modules compiled with -mconstant-gp */
-#ifndef EF_IA_64_CONS_GP
-#define EF_IA_64_CONS_GP 0x00000040
-#endif
-#ifndef EF_IA_64_NOFUNCDESC_CONS_GP
-#define EF_IA_64_NOFUNCDESC_CONS_GP 0x00000080
-#endif
- if (f->header.e_flags & (EF_IA_64_CONS_GP | EF_IA_64_NOFUNCDESC_CONS_GP))
- return obj_reloc_constant_gp;
-
- switch (r_info)
- {
- case R_IA64_NONE : /* none */
- case R_IA64_LDXMOV : /* Use of LTOFF22X. */
- break;
-
- case R_IA64_IMM14 : /* symbol + addend, add imm14 */
- ret = obj_ia64_ins_imm14(v, bundle, slot);
- break;
-
- case R_IA64_IMM22 : /* symbol + addend, add imm22 */
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- break;
-
- case R_IA64_IMM64 : /* symbol + addend, movl imm64 */
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_DIR32LSB : /* symbol + addend, data4 LSB */
- COPY_32LSB(loc, v);
- break;
-
- case R_IA64_DIR64LSB : /* symbol + addend, data8 LSB */
- COPY_64LSB(loc, v);
- break;
-
- case R_IA64_GPREL22 : /* @gprel(sym + add), add imm22 */
- v -= gp;
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- break;
-
- case R_IA64_GPREL64I : /* @gprel(sym + add), mov imm64 */
- v -= gp;
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_GPREL32LSB : /* @gprel(sym + add), data4 LSB */
- COPY_32LSB(loc, v-gp);
- break;
-
- case R_IA64_GPREL64LSB : /* @gprel(sym + add), data8 LSB */
- COPY_64LSB(loc, v-gp);
- break;
-
- case R_IA64_LTOFF22 : /* @ltoff(sym + add), add imm22 */
- case R_IA64_LTOFF22X : /* LTOFF22, relaxable. */
- case R_IA64_LTOFF64I : /* @ltoff(sym + add), mov imm64 */
- {
- ia64_got_t *ge;
-
- assert(isym != NULL);
- for (ge = isym->gotent; ge != NULL && ge->addend != rel->r_addend; )
- ge = ge->next;
- assert(ge != NULL);
- if (!ge->reloc_done)
- {
- ge->reloc_done = TRUE;
- *(Elf64_Addr *)(ifile->got->contents + ge->offset) = v;
- }
- v = got + ge->offset - gp;
- if (r_info == R_IA64_LTOFF64I)
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- else
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- }
- break;
-
- case R_IA64_PLTOFF22 : /* @pltoff(sym + add), add imm22 */
- case R_IA64_PLTOFF64I : /* @pltoff(sym + add), mov imm64 */
- case R_IA64_PLTOFF64LSB : /* @pltoff(sym + add), data8 LSB */
- {
- ia64_plt_t *pe;
-
- assert(isym != NULL);
- for (pe = isym->pltent; pe != NULL && pe->addend != rel->r_addend; )
- pe = pe->next;
- assert(pe != NULL);
- if (!pe->reloc_done)
- {
- pe->reloc_done = TRUE;
- ret = obj_ia64_generate_plt(v, gp, ifile, isym, pe);
- }
- v = ifile->pltt->header.sh_addr + pe->text_offset - gp;
- switch (r_info)
- {
- case R_IA64_PLTOFF22 :
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- break;
-
- case R_IA64_PLTOFF64I :
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_PLTOFF64LSB :
- COPY_64LSB(loc, v);
- break;
- }
- }
- break;
-
- case R_IA64_FPTR64I : /* @fptr(sym + add), mov imm64 */
- case R_IA64_FPTR32LSB : /* @fptr(sym + add), data4 LSB */
- case R_IA64_FPTR64LSB : /* @fptr(sym + add), data8 LSB */
- assert(isym != NULL);
- if (isym->root.secidx <= SHN_HIRESERVE)
- {
- assert(isym->opdent != NULL);
- if (!isym->opdent->reloc_done)
- {
- isym->opdent->reloc_done = TRUE;
- *(Elf64_Addr *)(ifile->opd->contents + isym->opdent->offset) = v;
- *(Elf64_Addr *)(ifile->opd->contents + isym->opdent->offset + 8) = gp;
- }
- v = ifile->opd->header.sh_addr + isym->opdent->offset;
- }
- switch (r_info)
- {
- case R_IA64_FPTR64I :
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_FPTR32LSB :
- COPY_32LSB(loc, v);
- break;
-
- case R_IA64_FPTR64LSB : /* @fptr(sym + add), data8 LSB */
- /* Target can be unaligned */
- COPY_64LSB(loc, v);
- break;
- }
- break;
-
- case R_IA64_PCREL21B : /* @pcrel(sym + add), ptb, call */
- case R_IA64_PCREL21M : /* @pcrel(sym + add), chk.s */
- case R_IA64_PCREL21F : /* @pcrel(sym + add), fchkf */
- assert(isym != NULL);
- if ((isym->root.secidx > SHN_HIRESERVE) ||
- ((Elf64_Sxword) (v - dot) > 16777215) ||
- ((Elf64_Sxword) (v - dot) < -16777216))
- {
- ia64_plt_t *pe;
-
- for (pe = isym->pltent; pe != NULL && pe->addend != rel->r_addend; )
- pe = pe->next;
- assert(pe != NULL);
- if (!pe->reloc_done)
- {
- pe->reloc_done = TRUE;
- ret = obj_ia64_generate_plt(v, gp, ifile, isym, pe);
- }
- v = ifile->pltt->header.sh_addr + pe->text_offset;
- }
- v -= dot;
- switch (r_info)
- {
- case R_IA64_PCREL21B :
- ret = obj_ia64_ins_pcrel21b(v, bundle, slot);
- break;
-
- case R_IA64_PCREL21M :
- ret = obj_ia64_ins_pcrel21m(v, bundle, slot);
- break;
-
- case R_IA64_PCREL21F :
- ret = obj_ia64_ins_pcrel21f(v, bundle, slot);
- break;
- }
- break;
-
- case R_IA64_PCREL32LSB : /* @pcrel(sym + add), data4 LSB */
- COPY_32LSB(loc, v-dot);
- break;
-
- case R_IA64_PCREL64LSB : /* @pcrel(sym + add), data8 LSB */
- COPY_64LSB(loc, v-dot);
- break;
-
- case R_IA64_LTOFF_FPTR22 : /* @ltoff(@fptr(s+a)), imm22 */
- case R_IA64_LTOFF_FPTR64I : /* @ltoff(@fptr(s+a)), imm64 */
- case R_IA64_LTOFF_FPTR32LSB : /* @ltoff(@fptr(s+a)), data4 */
- case R_IA64_LTOFF_FPTR64LSB : /* @ltoff(@fptr(s+a)), data8 */
- {
- ia64_got_t *ge;
-
- assert(isym != NULL);
- if (isym->root.secidx <= SHN_HIRESERVE)
- {
- assert(isym->opdent != NULL);
- if (!isym->opdent->reloc_done)
- {
- isym->opdent->reloc_done = TRUE;
- *(Elf64_Addr *)(ifile->opd->contents + isym->opdent->offset) = v;
- *(Elf64_Addr *)(ifile->opd->contents + isym->opdent->offset + 8) = gp;
- }
- v = ifile->opd->header.sh_addr + isym->opdent->offset;
- }
- for (ge = isym->gotent; ge != NULL && ge->addend != rel->r_addend; )
- ge = ge->next;
- assert(ge != NULL);
- if (!ge->reloc_done)
- {
- ge->reloc_done = TRUE;
- *(Elf64_Addr *)(ifile->got->contents + ge->offset) = v;
- }
- v = got + ge->offset - gp;
- switch (r_info)
- {
- case R_IA64_LTOFF_FPTR22 :
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- break;
-
- case R_IA64_LTOFF_FPTR64I :
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_LTOFF_FPTR32LSB :
- COPY_32LSB(loc, v);
- break;
-
- case R_IA64_LTOFF_FPTR64LSB :
- COPY_64LSB(loc, v);
- break;
- }
- }
- break;
-
- case R_IA64_SEGREL32LSB : /* @segrel(sym + add), data4 LSB */
- case R_IA64_SEGREL64LSB : /* @segrel(sym + add), data8 LSB */
- if (targsec->header.sh_type & SHT_NOBITS)
- v = ifile->bss - v;
- else if (targsec->header.sh_flags & SHF_EXECINSTR)
- v = ifile->text - v;
- else
- v = ifile->data - v;
- if (r_info == R_IA64_SEGREL32LSB)
- COPY_32LSB(loc, v);
- else
- COPY_64LSB(loc, v);
- break;
-
- case R_IA64_SECREL32LSB : /* @secrel(sym + add), data4 LSB */
- COPY_32LSB(loc, targsec->header.sh_addr - v);
- break;
-
- case R_IA64_SECREL64LSB : /* @secrel(sym + add), data8 LSB */
- COPY_64LSB(loc, targsec->header.sh_addr - v);
- break;
-
- /*
- * We don't handle the big-endian relocates
- *
- * R_IA64_DIR32MSB symbol + addend, data4 MSB
- * R_IA64_DIR64MSB symbol + addend, data8 MSB
- * R_IA64_GPREL32MSB @gprel(sym + add), data4 MSB
- * R_IA64_GPREL64MSB @gprel(sym + add), data8 MSB
- * R_IA64_PLTOFF64MSB @pltoff(sym + add), data8 MSB
- * R_IA64_FPTR32MSB @fptr(sym + add), data4 MSB
- * R_IA64_FPTR64MSB @fptr(sym + add), data8 MSB
- * R_IA64_PCREL32MSB @pcrel(sym + add), data4 MSB
- * R_IA64_PCREL64MSB @pcrel(sym + add), data8 MSB
- * R_IA64_SEGREL32MSB @segrel(sym + add), data4 MSB
- * R_IA64_SEGREL64MSB @segrel(sym + add), data8 MSB
- * R_IA64_SECREL32MSB @secrel(sym + add), data4 MSB
- * R_IA64_SECREL64MSB @secrel(sym + add), data8 MSB
- * R_IA64_REL32MSB data 4 + REL
- * R_IA64_REL64MSB data 8 + REL
- * R_IA64_LTV32MSB symbol + addend, data4 MSB
- * R_IA64_LTV64MSB symbol + addend, data8 MSB
- * R_IA64_IPLTMSB dynamic reloc, imported PLT, MSB
- */
- default:
- case R_IA64_REL32LSB : /* data 4 + REL */
- case R_IA64_REL64LSB : /* data 8 + REL */
- case R_IA64_LTV32LSB : /* symbol + addend, data4 LSB */
- case R_IA64_LTV64LSB : /* symbol + addend, data8 LSB */
- case R_IA64_IPLTLSB : /* dynamic reloc, imported PLT, LSB */
- ret = obj_reloc_unhandled;
- break;
- }
- return ret;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- ia64_file_t *ifile = (ia64_file_t *)f;
- Elf64_Addr *opd = (Elf64_Addr *)(ifile->opd->contents);
-
- if ((opd[0] = mod->init) != 0)
- {
- opd[1] = ifile->gp;
- mod->init = ifile->opd->header.sh_addr;
- }
-
- if ((opd[2] = mod->cleanup) != 0)
- {
- opd[3] = ifile->gp;
- mod->cleanup = ifile->opd->header.sh_addr + 16;
- }
-
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *f, struct obj_section *archdata_sec)
-{
- ia64_file_t *ifile = (ia64_file_t *)f;
- struct archdata {
- unsigned tgt_long unw_table;
- unsigned tgt_long segment_base;
- unsigned tgt_long unw_start;
- unsigned tgt_long unw_end;
- unsigned tgt_long gp;
- } *ad;
- int i;
- struct obj_section *sec;
-
- free(archdata_sec->contents);
- archdata_sec->contents = xmalloc(sizeof(struct archdata));
- memset(archdata_sec->contents, 0, sizeof(struct archdata));
- archdata_sec->header.sh_size = sizeof(struct archdata);
-
- ad = (struct archdata *)(archdata_sec->contents);
- ad->gp = ifile->gp;
- ad->unw_start = 0;
- ad->unw_end = 0;
- ad->unw_table = 0;
- ad->segment_base = f->sections[1]->header.sh_addr;
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- sec = f->sections[i];
- if (sec->header.sh_type == SHT_IA_64_UNWIND)
- {
- ad->unw_start = sec->header.sh_addr;
- ad->unw_end = sec->header.sh_addr + sec->header.sh_size;
- break;
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_kallsyms.c b/mdk-stage1/insmod-modutils/obj/obj_kallsyms.c
deleted file mode 100644
index 8385fb892..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_kallsyms.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/* Build a section containing all non-stack symbols.
- Copyright 2000 Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <string.h>
-#include <malloc.h>
-
-#include "obj.h"
-#include "kallsyms.h"
-#include "util.h"
-
-/*======================================================================*/
-
-#define EXPAND_BY 4096 /* Arbitrary */
-
-/* Append a string to the big list of strings */
-
-static void
-append_string (const char *s, char **strings,
- ElfW(Word) *strings_size, ElfW(Word) *strings_left)
-{
- int l = strlen(s) + 1;
- while (l > *strings_left) {
- *strings = xrealloc(*strings, *strings_size += EXPAND_BY);
- *strings_left += EXPAND_BY;
- }
- memcpy((char *)*strings+*strings_size-*strings_left, s, l);
- *strings_left -= l;
-}
-
-
-/* Append a symbol to the big list of symbols */
-
-static void
-append_symbol (const struct kallsyms_symbol *s,
- struct kallsyms_symbol **symbols,
- ElfW(Word) *symbols_size, ElfW(Word) *symbols_left)
-{
- int l = sizeof(*s);
- while (l > *symbols_left) {
- *symbols = xrealloc(*symbols, *symbols_size += EXPAND_BY);
- *symbols_left += EXPAND_BY;
- }
- memcpy((char *)*symbols+*symbols_size-*symbols_left, s, l);
- *symbols_left -= l;
-}
-
-/* qsort compare routine to sort symbols */
-
-static const char *sym_strings;
-
-static int
-symbol_compare (const void *a, const void *b)
-{
- struct kallsyms_symbol *c = (struct kallsyms_symbol *) a;
- struct kallsyms_symbol *d = (struct kallsyms_symbol *) b;
-
- if (c->symbol_addr > d->symbol_addr)
- return(1);
- if (c->symbol_addr < d->symbol_addr)
- return(-1);
- return(strcmp(sym_strings+c->name_off, sym_strings+d->name_off));
-}
-
-
-/* Extract all symbols from the input obj_file, ignore ones that are
- * no use for debugging, build an output obj_file containing only the
- * kallsyms section.
- *
- * The kallsyms section is a bit unusual. It deliberately has no
- * relocatable data, all "pointers" are represented as byte offsets
- * into the the section. This means it can be stored anywhere without
- * relocation problems. In particular it can be stored within a kernel
- * image, it can be stored separately from the kernel image, it can be
- * appended to a module just before loading, it can be stored in a
- * separate area etc.
- *
- * Format of the kallsyms section.
- *
- * Header:
- * Size of header.
- * Total size of kallsyms data, including strings.
- * Number of loaded sections.
- * Offset to first section entry from start of header.
- * Size of each section entry, excluding the name string.
- * Number of symbols.
- * Offset to first symbol entry from start of header.
- * Size of each symbol entry, excluding the name string.
- *
- * Section entry - one per loaded section.
- * Start of section[1].
- * Size of section.
- * Offset to name of section, from start of strings.
- * Section flags.
- *
- * Symbol entry - one per symbol in the input file[2].
- * Offset of section that owns this symbol, from start of section data.
- * Address of symbol within the real section[1].
- * Offset to name of symbol, from start of strings.
- *
- * Notes: [1] This is an exception to the "represent pointers as
- * offsets" rule, it is a value, not an offset. The start
- * address of a section or a symbol is extracted from the
- * obj_file data which may contain absolute or relocatable
- * addresses. If the addresses are relocatable then the
- * caller must adjust the section and/or symbol entries in
- * kallsyms after relocation.
- * [2] Only symbols that fall within loaded sections are stored.
- */
-
-int
-obj_kallsyms (struct obj_file *fin, struct obj_file **fout_result)
-{
- struct obj_file *fout;
- int i, loaded = 0, *fin_to_allsym_map;
- struct obj_section *isec, *osec;
- struct kallsyms_header *a_hdr;
- struct kallsyms_section *a_sec;
- ElfW(Off) sec_off;
- struct kallsyms_symbol *symbols = NULL, a_sym;
- ElfW(Word) symbols_size = 0, symbols_left = 0;
- char *strings = NULL, *p;
- ElfW(Word) strings_size = 0, strings_left = 0;
- ElfW(Off) file_offset;
- static char strtab[] = "\000" KALLSYMS_SEC_NAME;
-
- /* Create the kallsyms section. */
- fout = arch_new_file();
- memset(fout, 0, sizeof(*fout));
- fout->symbol_cmp = strcmp;
- fout->symbol_hash = obj_elf_hash;
- fout->load_order_search_start = &fout->load_order;
-
- /* Copy file characteristics from input file and modify to suit */
- memcpy(&fout->header, &fin->header, sizeof(fout->header));
- fout->header.e_type = ET_REL; /* Output is relocatable */
- fout->header.e_entry = 0; /* No entry point */
- fout->header.e_phoff = 0; /* No program header */
- file_offset = sizeof(fout->header); /* Step over Elf header */
- fout->header.e_shoff = file_offset; /* Section headers next */
- fout->header.e_phentsize = 0; /* No program header */
- fout->header.e_phnum = 0; /* No program header */
- fout->header.e_shnum = KALLSYMS_IDX+1; /* Initial, strtab, kallsyms */
- fout->header.e_shstrndx = KALLSYMS_IDX-1; /* strtab */
- file_offset += fout->header.e_shentsize * fout->header.e_shnum;
-
- /* Populate the section data for kallsyms itself */
- fout->sections = xmalloc(sizeof(*(fout->sections))*fout->header.e_shnum);
- memset(fout->sections, 0, sizeof(*(fout->sections))*fout->header.e_shnum);
-
- fout->sections[0] = osec = arch_new_section();
- memset(osec, 0, sizeof(*osec));
- osec->header.sh_type = SHT_NULL;
- osec->header.sh_link = SHN_UNDEF;
-
- fout->sections[KALLSYMS_IDX-1] = osec = arch_new_section();
- memset(osec, 0, sizeof(*osec));
- osec->name = ".strtab";
- osec->header.sh_type = SHT_STRTAB;
- osec->header.sh_link = SHN_UNDEF;
- osec->header.sh_offset = file_offset;
- osec->header.sh_size = sizeof(strtab);
- osec->contents = xmalloc(sizeof(strtab));
- memcpy(osec->contents, strtab, sizeof(strtab));
- file_offset += osec->header.sh_size;
-
- fout->sections[KALLSYMS_IDX] = osec = arch_new_section();
- memset(osec, 0, sizeof(*osec));
- osec->name = KALLSYMS_SEC_NAME;
- osec->header.sh_name = 1; /* Offset in strtab */
- osec->header.sh_type = SHT_PROGBITS; /* Load it */
- osec->header.sh_flags = SHF_ALLOC; /* Read only data */
- osec->header.sh_link = SHN_UNDEF;
- osec->header.sh_addralign = sizeof(ElfW(Word));
- file_offset = (file_offset + osec->header.sh_addralign - 1)
- & -(osec->header.sh_addralign);
- osec->header.sh_offset = file_offset;
-
- /* How many loaded sections are there? */
- for (i = 0; i < fin->header.e_shnum; ++i) {
- if (fin->sections[i]->header.sh_flags & SHF_ALLOC)
- ++loaded;
- }
-
- /* Initial contents, header + one entry per input section. No strings. */
- osec->header.sh_size = sizeof(*a_hdr) + loaded*sizeof(*a_sec);
- a_hdr = (struct kallsyms_header *) osec->contents =
- xmalloc(osec->header.sh_size);
- memset(osec->contents, 0, osec->header.sh_size);
- a_hdr->size = sizeof(*a_hdr);
- a_hdr->sections = loaded;
- a_hdr->section_off = a_hdr->size;
- a_hdr->section_size = sizeof(*a_sec);
- a_hdr->symbol_off = osec->header.sh_size;
- a_hdr->symbol_size = sizeof(a_sym);
- a_hdr->start = (ElfW(Addr))(~0);
-
- /* Map input section numbers to kallsyms section offsets. */
- sec_off = 0; /* Offset to first kallsyms section entry */
- fin_to_allsym_map = xmalloc(sizeof(*fin_to_allsym_map)*fin->header.e_shnum);
- for (i = 0; i < fin->header.e_shnum; ++i) {
- isec = fin->sections[i];
- if (isec->header.sh_flags & SHF_ALLOC) {
- fin_to_allsym_map[isec->idx] = sec_off;
- sec_off += a_hdr->section_size;
- }
- else
- fin_to_allsym_map[isec->idx] = -1; /* Ignore this section */
- }
-
- /* Copy the loaded section data. */
- a_sec = (struct kallsyms_section *) ((char *) a_hdr + a_hdr->section_off);
- for (i = 0; i < fin->header.e_shnum; ++i) {
- isec = fin->sections[i];
- if (!(isec->header.sh_flags & SHF_ALLOC))
- continue;
- a_sec->start = isec->header.sh_addr;
- a_sec->size = isec->header.sh_size;
- a_sec->flags = isec->header.sh_flags;
- a_sec->name_off = strings_size - strings_left;
- append_string(isec->name, &strings, &strings_size, &strings_left);
- if (a_sec->start < a_hdr->start)
- a_hdr->start = a_sec->start;
- if (a_sec->start+a_sec->size > a_hdr->end)
- a_hdr->end = a_sec->start+a_sec->size;
- ++a_sec;
- }
-
- /* Build the kallsyms symbol table from the symbol hashes. */
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym = fin->symtab[i];
- for (sym = fin->symtab[i]; sym ; sym = sym->next) {
- if (!sym || sym->secidx >= fin->header.e_shnum)
- continue;
- if ((a_sym.section_off = fin_to_allsym_map[sym->secidx]) == -1)
- continue;
- if (strcmp(sym->name, "gcc2_compiled.") == 0 ||
- strncmp(sym->name, "__insmod_", 9) == 0)
- continue;
- a_sym.symbol_addr = sym->value;
- if (fin->header.e_type == ET_REL)
- a_sym.symbol_addr += fin->sections[sym->secidx]->header.sh_addr;
- a_sym.name_off = strings_size - strings_left;
- append_symbol(&a_sym, &symbols, &symbols_size, &symbols_left);
- append_string(sym->name, &strings, &strings_size, &strings_left);
- ++a_hdr->symbols;
- }
- }
- free(fin_to_allsym_map);
-
- /* Sort the symbols into ascending order by address and name */
- sym_strings = strings; /* For symbol_compare */
- qsort((char *) symbols, (unsigned) a_hdr->symbols,
- sizeof(* symbols), symbol_compare);
- sym_strings = NULL;
-
- /* Put the lot together */
- osec->header.sh_size = a_hdr->total_size =
- a_hdr->symbol_off +
- a_hdr->symbols*a_hdr->symbol_size +
- strings_size - strings_left;
- a_hdr = (struct kallsyms_header *) osec->contents =
- xrealloc(a_hdr, a_hdr->total_size);
- p = (char *)a_hdr + a_hdr->symbol_off;
- memcpy(p, symbols, a_hdr->symbols*a_hdr->symbol_size);
- free(symbols);
- p += a_hdr->symbols*a_hdr->symbol_size;
- a_hdr->string_off = p - (char *)a_hdr;
- memcpy(p, strings, strings_size - strings_left);
- free(strings);
-
- *fout_result = fout;
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_load.c b/mdk-stage1/insmod-modutils/obj/obj_load.c
deleted file mode 100644
index 4db20a998..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_load.c
+++ /dev/null
@@ -1,354 +0,0 @@
-/* Elf file reader.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
- obj_free() added by Bjrn Ekwall <bj0rn@blox.se> March 1999
- Support for kallsyms Keith Owens <kaos@ocs.com.au> April 2000
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <alloca.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "obj.h"
-#include "util.h"
-
-/*======================================================================*/
-
-struct obj_file *
-obj_load (int fp, Elf32_Half e_type, const char *filename)
-{
- struct obj_file *f;
- ElfW(Shdr) *section_headers;
- int shnum, i;
- char *shstrtab;
-
- /* Read the file header. */
-
- f = arch_new_file();
- memset(f, 0, sizeof(*f));
- f->symbol_cmp = strcmp;
- f->symbol_hash = obj_elf_hash;
- f->load_order_search_start = &f->load_order;
-
- gzf_lseek(fp, 0, SEEK_SET);
- if (gzf_read(fp, &f->header, sizeof(f->header)) != sizeof(f->header))
- {
- error("error reading ELF header %s: %m", filename);
- return NULL;
- }
-
- if (f->header.e_ident[EI_MAG0] != ELFMAG0
- || f->header.e_ident[EI_MAG1] != ELFMAG1
- || f->header.e_ident[EI_MAG2] != ELFMAG2
- || f->header.e_ident[EI_MAG3] != ELFMAG3)
- {
- error("%s is not an ELF file", filename);
- return NULL;
- }
- if (f->header.e_ident[EI_CLASS] != ELFCLASSM
- || f->header.e_ident[EI_DATA] != ELFDATAM
- || f->header.e_ident[EI_VERSION] != EV_CURRENT
- || !MATCH_MACHINE(f->header.e_machine))
- {
- error("ELF file %s not for this architecture", filename);
- return NULL;
- }
- if (f->header.e_type != e_type && e_type != ET_NONE)
- {
- switch (e_type) {
- case ET_REL:
- error("ELF file %s not a relocatable object", filename);
- break;
- case ET_EXEC:
- error("ELF file %s not an executable object", filename);
- break;
- default:
- error("ELF file %s has wrong type, expecting %d got %d",
- filename, e_type, f->header.e_type);
- break;
- }
- return NULL;
- }
-
- /* Read the section headers. */
-
- if (f->header.e_shentsize != sizeof(ElfW(Shdr)))
- {
- error("section header size mismatch %s: %lu != %lu",
- filename,
- (unsigned long)f->header.e_shentsize,
- (unsigned long)sizeof(ElfW(Shdr)));
- return NULL;
- }
-
- shnum = f->header.e_shnum;
- f->sections = xmalloc(sizeof(struct obj_section *) * shnum);
- memset(f->sections, 0, sizeof(struct obj_section *) * shnum);
-
- section_headers = alloca(sizeof(ElfW(Shdr)) * shnum);
- gzf_lseek(fp, f->header.e_shoff, SEEK_SET);
- if (gzf_read(fp, section_headers, sizeof(ElfW(Shdr))*shnum) != sizeof(ElfW(Shdr))*shnum)
- {
- error("error reading ELF section headers %s: %m", filename);
- return NULL;
- }
-
- /* Read the section data. */
-
- for (i = 0; i < shnum; ++i)
- {
- struct obj_section *sec;
-
- f->sections[i] = sec = arch_new_section();
- memset(sec, 0, sizeof(*sec));
-
- sec->header = section_headers[i];
- sec->idx = i;
-
- switch (sec->header.sh_type)
- {
- case SHT_NULL:
- case SHT_NOTE:
- case SHT_NOBITS:
- /* ignore */
- break;
-
- case SHT_PROGBITS:
- case SHT_SYMTAB:
- case SHT_STRTAB:
- case SHT_RELM:
- if (sec->header.sh_size > 0)
- {
- sec->contents = xmalloc(sec->header.sh_size);
- gzf_lseek(fp, sec->header.sh_offset, SEEK_SET);
- if (gzf_read(fp, sec->contents, sec->header.sh_size) != sec->header.sh_size)
- {
- error("error reading ELF section data %s: %m", filename);
- return NULL;
- }
- }
- else
- sec->contents = NULL;
- break;
-
-#if SHT_RELM == SHT_REL
- case SHT_RELA:
- if (sec->header.sh_size) {
- error("RELA relocations not supported on this architecture %s", filename);
- return NULL;
- }
- break;
-#else
- case SHT_REL:
- if (sec->header.sh_size) {
- error("REL relocations not supported on this architecture %s", filename);
- return NULL;
- }
- break;
-#endif
-
- default:
- if (sec->header.sh_type >= SHT_LOPROC)
- {
- if (arch_load_proc_section(sec, fp) < 0)
- return NULL;
- break;
- }
-
- error("can't handle sections of type %ld %s",
- (long)sec->header.sh_type, filename);
- return NULL;
- }
- }
-
- /* Do what sort of interpretation as needed by each section. */
-
- shstrtab = f->sections[f->header.e_shstrndx]->contents;
-
- for (i = 0; i < shnum; ++i)
- {
- struct obj_section *sec = f->sections[i];
- sec->name = shstrtab + sec->header.sh_name;
- }
-
- for (i = 0; i < shnum; ++i)
- {
- struct obj_section *sec = f->sections[i];
-
- /* .modinfo and .modstring should be contents only but gcc has no
- * attribute for that. The kernel may have marked these sections as
- * ALLOC, ignore the allocate bit.
- */
- if (strcmp(sec->name, ".modinfo") == 0 ||
- strcmp(sec->name, ".modstring") == 0)
- sec->header.sh_flags &= ~SHF_ALLOC;
-
- if (sec->header.sh_flags & SHF_ALLOC)
- obj_insert_section_load_order(f, sec);
-
- switch (sec->header.sh_type)
- {
- case SHT_SYMTAB:
- {
- unsigned long nsym, j;
- char *strtab;
- ElfW(Sym) *sym;
-
- if (sec->header.sh_entsize != sizeof(ElfW(Sym)))
- {
- error("symbol size mismatch %s: %lu != %lu",
- filename,
- (unsigned long)sec->header.sh_entsize,
- (unsigned long)sizeof(ElfW(Sym)));
- return NULL;
- }
-
- nsym = sec->header.sh_size / sizeof(ElfW(Sym));
- strtab = f->sections[sec->header.sh_link]->contents;
- sym = (ElfW(Sym) *) sec->contents;
-
- /* Allocate space for a table of local symbols. */
- j = f->local_symtab_size = sec->header.sh_info;
- f->local_symtab = xmalloc(j *= sizeof(struct obj_symbol *));
- memset(f->local_symtab, 0, j);
-
- /* Insert all symbols into the hash table. */
- for (j = 1, ++sym; j < nsym; ++j, ++sym)
- {
- const char *name;
- if (sym->st_name)
- name = strtab+sym->st_name;
- else
- name = f->sections[sym->st_shndx]->name;
-
- obj_add_symbol(f, name, j, sym->st_info, sym->st_shndx,
- sym->st_value, sym->st_size);
-
- }
- }
- break;
- }
- }
-
- /* second pass to add relocation data to symbols */
- for (i = 0; i < shnum; ++i)
- {
- struct obj_section *sec = f->sections[i];
- switch (sec->header.sh_type)
- {
- case SHT_RELM:
- {
- unsigned long nrel, j;
- ElfW(RelM) *rel;
- struct obj_section *symtab;
- char *strtab;
- if (sec->header.sh_entsize != sizeof(ElfW(RelM)))
- {
- error("relocation entry size mismatch %s: %lu != %lu",
- filename,
- (unsigned long)sec->header.sh_entsize,
- (unsigned long)sizeof(ElfW(RelM)));
- return NULL;
- }
-
- nrel = sec->header.sh_size / sizeof(ElfW(RelM));
- rel = (ElfW(RelM) *) sec->contents;
- symtab = f->sections[sec->header.sh_link];
- strtab = f->sections[symtab->header.sh_link]->contents;
-
- /* Save the relocate type in each symbol entry. */
- for (j = 0; j < nrel; ++j, ++rel)
- {
- ElfW(Sym) *extsym;
- struct obj_symbol *intsym;
- unsigned long symndx;
- symndx = ELFW(R_SYM)(rel->r_info);
- if (symndx)
- {
- extsym = ((ElfW(Sym) *) symtab->contents) + symndx;
- if (ELFW(ST_BIND)(extsym->st_info) == STB_LOCAL)
- {
- /* Local symbols we look up in the local table to be sure
- we get the one that is really intended. */
- intsym = f->local_symtab[symndx];
- }
- else
- {
- /* Others we look up in the hash table. */
- const char *name;
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = obj_find_symbol(f, name);
- }
- intsym->r_type = ELFW(R_TYPE)(rel->r_info);
- }
- }
- }
- break;
- }
- }
-
- f->filename = xstrdup(filename);
-
- return f;
-}
-
-void obj_free(struct obj_file *f)
-{
- struct obj_section *sec;
- struct obj_symbol *sym;
- struct obj_symbol *next;
- int i;
- int n;
-
- if (f->sections) {
- n = f->header.e_shnum;
- for (i = 0; i < n; ++i) {
- if ((sec = f->sections[i]) != NULL) {
- if (sec->contents)
- free(sec->contents);
- free(sec);
- }
- }
- free(f->sections);
- }
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- for (sym = f->symtab[i]; sym; sym = next) {
- next = sym->next;
- free(sym);
- }
- }
-
- if (f->local_symtab)
- free(f->local_symtab);
-
- if (f->filename)
- free((char *)(f->filename));
-
- if (f->persist)
- free((char *)(f->persist));
-
- free(f);
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_m68k.c b/mdk-stage1/insmod-modutils/obj/obj_m68k.c
deleted file mode 100644
index cb485aed7..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_m68k.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* m68k specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stddef.h>
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- return xmalloc(sizeof(struct obj_file));
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- return xmalloc(sizeof(struct obj_symbol));
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *ef,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- char *loc = targsec->contents + rel->r_offset;
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_68K_NONE:
- break;
-
- case R_68K_8:
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *(char *)loc = v;
- break;
- case R_68K_16:
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *(short *)loc = v;
- break;
- case R_68K_32:
- *(int *)loc = v;
- break;
-
- case R_68K_PC8:
- v -= dot;
- if ((Elf32_Sword)v > 0x7f || (Elf32_Sword)v < -(Elf32_Sword)0x80)
- ret = obj_reloc_overflow;
- *(char *)loc = v;
- break;
- case R_68K_PC16:
- v -= dot;
- if ((Elf32_Sword)v > 0x7fff || (Elf32_Sword)v < -(Elf32_Sword)0x8000)
- ret = obj_reloc_overflow;
- *(short *)loc = v;
- break;
- case R_68K_PC32:
- *(int *)loc = v - dot;
- break;
-
- case R_68K_RELATIVE:
- *(int *)loc += ef->baseaddr;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *ef)
-{
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_mips.c b/mdk-stage1/insmod-modutils/obj/obj_mips.c
deleted file mode 100644
index c2315b659..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_mips.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/* MIPS specific support for Elf loading and relocation.
- Copyright 1997, 1998 Linux International.
- Contributed by Ralf Baechle <ralf@gnu.ai.mit.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct mips_hi16
-{
- struct mips_hi16 *next;
- Elf32_Addr *addr;
- Elf32_Addr value;
-};
-
-struct mips_file
-{
- struct obj_file root;
- struct mips_hi16 *mips_hi16_list;
-};
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct mips_file *mf;
-
- mf = xmalloc(sizeof(*mf));
- mf->mips_hi16_list = NULL;
-
- return (struct obj_file *) mf;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- return xmalloc(sizeof(struct obj_symbol));
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- switch (sec->header.sh_type)
- {
- case SHT_MIPS_DEBUG:
- case SHT_MIPS_REGINFO:
- /* Actually these two sections are as useless as something can be ... */
- sec->contents = NULL;
- break;
-
- case SHT_MIPS_LIBLIST:
- case SHT_MIPS_CONFLICT:
- case SHT_MIPS_GPTAB:
- case SHT_MIPS_UCODE:
- case SHT_MIPS_OPTIONS:
- case SHT_MIPS_DWARF:
- case SHT_MIPS_EVENTS:
- /* These shouldn't ever be in a module file. */
- error("Unhandled section header type: %08x", sec->header.sh_type);
-
- default:
- /* We don't even know the type. This time it might as well be a
- supernova. */
- error("Unknown section header type: %08x", sec->header.sh_type);
- return -1;
- }
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rel *rel,
- Elf32_Addr v)
-{
- struct mips_file *mf = (struct mips_file *)f;
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- enum obj_reloc ret = obj_reloc_ok;
-
- /* _gp_disp is a magic symbol for PIC which is not supported for
- the kernel and loadable modules. */
- if (strcmp(sym->name, "_gp_disp") == 0)
- ret = obj_reloc_unhandled;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_MIPS_NONE:
- break;
-
- case R_MIPS_32:
- *loc += v;
- break;
-
- case R_MIPS_26:
- if (v % 4)
- ret = obj_reloc_dangerous;
- if ((v & 0xf0000000) != ((dot + 4) & 0xf0000000))
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x03ffffff) | ((*loc + (v >> 2)) & 0x03ffffff);
- break;
-
- case R_MIPS_HI16:
- {
- struct mips_hi16 *n;
-
- /* We cannot relocate this one now because we don't know the value
- of the carry we need to add. Save the information, and let LO16
- do the actual relocation. */
- n = (struct mips_hi16 *) xmalloc (sizeof *n);
- n->addr = loc;
- n->value = v;
- n->next = mf->mips_hi16_list;
- mf->mips_hi16_list = n;
- break;
- }
-
- case R_MIPS_LO16:
- {
- unsigned long insnlo = *loc;
- Elf32_Addr val, vallo;
-
- /* Sign extend the addend we extract from the lo insn. */
- vallo = ((insnlo & 0xffff) ^ 0x8000) - 0x8000;
-
- if (mf->mips_hi16_list != NULL)
- {
- struct mips_hi16 *l;
-
- l = mf->mips_hi16_list;
- while (l != NULL)
- {
- struct mips_hi16 *next;
- unsigned long insn;
-
- /* The value for the HI16 had best be the same. */
- assert(v == l->value);
-
- /* Do the HI16 relocation. Note that we actually don't
- need to know anything about the LO16 itself, except where
- to find the low 16 bits of the addend needed by the LO16. */
- insn = *l->addr;
- val = ((insn & 0xffff) << 16) + vallo;
- val += v;
-
- /* Account for the sign extension that will happen in the
- low bits. */
- val = ((val >> 16) + ((val & 0x8000) != 0)) & 0xffff;
-
- insn = (insn &~ 0xffff) | val;
- *l->addr = insn;
-
- next = l->next;
- free(l);
- l = next;
- }
-
- mf->mips_hi16_list = NULL;
- }
-
- /* Ok, we're done with the HI16 relocs. Now deal with the LO16. */
- val = v + vallo;
- insnlo = (insnlo & ~0xffff) | (val & 0xffff);
- *loc = insnlo;
- break;
- }
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_ppc.c b/mdk-stage1/insmod-modutils/obj/obj_ppc.c
deleted file mode 100644
index 89bb8e46b..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_ppc.c
+++ /dev/null
@@ -1,255 +0,0 @@
-/* PowerPC specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Adapted by Paul Mackerras <paulus@cs.anu.edu.au> from the
- obj-sparc.c and obj-alpha.c files.
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stddef.h>
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-#include <assert.h>
-
-
-/*======================================================================*/
-
-/*
- * Unfortunately, the bl (branch-and-link) instruction used for
- * procedure calls on the PowerPC can only reach +/- 32MB from the
- * current instruction. If the module is loaded far enough away from
- * the main kernel text (or other modules) that this limit is
- * exceeded, we have to redirect procedure calls via a procedure
- * linkage table (PLT). Each entry in the PLT contains instructions
- * to put the address of the procedure in a register and jump to it.
- */
-
-typedef unsigned int instruction; /* a powerpc instruction (4 bytes) */
-
-struct ppc_plt_entry
-{
- struct ppc_plt_entry *next;
- ElfW(Addr) addend;
- int offset;
- int inited;
-};
-
-struct ppc_file
-{
- struct obj_file file;
- struct obj_section *plt;
-};
-
-struct ppc_symbol
-{
- struct obj_symbol sym;
- struct ppc_plt_entry *plt_entries;
-};
-
-struct obj_file *
-arch_new_file (void)
-{
- struct ppc_file *f;
-
- f = xmalloc(sizeof(struct ppc_file));
- f->plt = NULL;
- return &f->file;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct ppc_symbol *p;
-
- p = xmalloc(sizeof(struct ppc_symbol));
- p->plt_entries = NULL;
- return &p->sym;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *ef,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- struct ppc_file *pf = (struct ppc_file *) ef;
- struct ppc_symbol *psym = (struct ppc_symbol *) sym;
- struct ppc_plt_entry *pe;
- instruction *ip;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_PPC_ADDR16_HA:
- *(unsigned short *)loc = (v + 0x8000) >> 16;
- break;
-
- case R_PPC_ADDR16_HI:
- *(unsigned short *)loc = v >> 16;
- break;
-
- case R_PPC_ADDR16_LO:
- *(unsigned short *)loc = v;
- break;
-
- case R_PPC_REL24:
- /* find the plt entry and initialize it if necessary */
- assert(psym != NULL);
- for (pe = psym->plt_entries; pe != NULL && pe->addend != rel->r_addend; )
- pe = pe->next;
- assert(pe != NULL);
- if (!pe->inited)
- {
- ip = (instruction *) (pf->plt->contents + pe->offset);
- ip[0] = 0x3d600000 + ((v + 0x8000) >> 16); /* lis r11,sym@ha */
- ip[1] = 0x396b0000 + (v & 0xffff); /* addi r11,r11,sym@l */
- ip[2] = 0x7d6903a6; /* mtctr r11 */
- ip[3] = 0x4e800420; /* bctr */
- pe->inited = 1;
- }
-
- v -= dot;
- if ((int)v < -0x02000000 || (int)v >= 0x02000000)
- {
- /* go via the plt */
- v = pf->plt->header.sh_addr + pe->offset - dot;
- }
- if (v & 3)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x03fffffc) | (v & 0x03fffffc);
- break;
-
- case R_PPC_REL32:
- *loc = v - dot;
- break;
-
- case R_PPC_ADDR32:
- *loc = v;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct ppc_file *pf = (struct ppc_file *) f;
- int i, offset;
- struct obj_section *sec, *syms, *strs;
- ElfW(Rela) *rel, *relend;
- ElfW(Sym) *symtab, *extsym;
- const char *strtab, *name;
- struct ppc_symbol *intsym;
- struct ppc_plt_entry *pe;
-
- offset = 0;
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- sec = f->sections[i];
- if (sec->header.sh_type != SHT_RELM)
- continue;
- syms = f->sections[sec->header.sh_link];
- strs = f->sections[syms->header.sh_link];
-
- rel = (ElfW(RelM) *) sec->contents;
- relend = rel + (sec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *) syms->contents;
- strtab = (const char *) strs->contents;
-
- for (; rel < relend; ++rel)
- {
- if (ELF32_R_TYPE(rel->r_info) != R_PPC_REL24)
- continue;
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct ppc_symbol *) obj_find_symbol(f, name);
-
- for (pe = intsym->plt_entries; pe != NULL; pe = pe->next)
- if (pe->addend == rel->r_addend)
- break;
- if (pe == NULL)
- {
- pe = xmalloc(sizeof(struct ppc_plt_entry));
- pe->next = intsym->plt_entries;
- pe->addend = rel->r_addend;
- pe->offset = offset;
- pe->inited = 0;
- intsym->plt_entries = pe;
- offset += 16;
- }
- }
- }
-
- pf->plt = obj_create_alloced_section(f, ".plt", 16, offset);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_reloc.c b/mdk-stage1/insmod-modutils/obj/obj_reloc.c
deleted file mode 100644
index f5f2de90d..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_reloc.c
+++ /dev/null
@@ -1,435 +0,0 @@
-/* Elf relocation routines.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-#include <alloca.h>
-
-#include <obj.h>
-#include <util.h>
-
-/*======================================================================*/
-
-int
-obj_string_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string)
-{
- struct obj_string_patch_struct *p;
- struct obj_section *strsec;
- size_t len = strlen(string)+1;
- char *loc;
-
- p = xmalloc(sizeof(*p));
- p->next = f->string_patches;
- p->reloc_secidx = secidx;
- p->reloc_offset = offset;
- f->string_patches = p;
-
- strsec = obj_find_section(f, ".kstrtab");
- if (strsec == NULL)
- {
- strsec = obj_create_alloced_section(f, ".kstrtab", 1, len);
- p->string_offset = 0;
- loc = strsec->contents;
- }
- else
- {
- p->string_offset = strsec->header.sh_size;
- loc = obj_extend_section(strsec, len);
- }
- memcpy(loc, string, len);
-
- return 1;
-}
-
-int
-obj_symbol_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym)
-{
- struct obj_symbol_patch_struct *p;
-
- p = xmalloc(sizeof(*p));
- p->next = f->symbol_patches;
- p->reloc_secidx = secidx;
- p->reloc_offset = offset;
- p->sym = sym;
- f->symbol_patches = p;
-
- return 1;
-}
-
-int
-obj_check_undefineds(struct obj_file *f, int quiet)
-{
- unsigned long i;
- int ret = 1;
-
- for (i = 0; i < HASH_BUCKETS; ++i)
- {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym ; sym = sym->next)
- if (sym->secidx == SHN_UNDEF)
- {
- if (ELFW(ST_BIND)(sym->info) == STB_WEAK)
- {
- sym->secidx = SHN_ABS;
- sym->value = 0;
- }
- else if (sym->r_type) /* assumes R_arch_NONE is 0 on all arch */
- {
- if (!quiet)
- error("unresolved symbol %s", sym->name);
- ret = 0;
- }
- }
- }
-
- return ret;
-}
-
-void
-obj_clear_undefineds(struct obj_file *f)
-{
- unsigned long i;
- struct obj_symbol *sym;
- for (i = 0; i < HASH_BUCKETS; ++i)
- {
- for (sym = f->symtab[i]; sym ; sym = sym->next)
- if (sym->secidx == SHN_UNDEF)
- {
- sym->secidx = SHN_ABS;
- sym->value = 0;
- }
- }
-}
-
-void
-obj_allocate_commons(struct obj_file *f)
-{
- struct common_entry
- {
- struct common_entry *next;
- struct obj_symbol *sym;
- } *common_head = NULL;
-
- unsigned long i;
-
- for (i = 0; i < HASH_BUCKETS; ++i)
- {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym ; sym = sym->next)
- if (sym->secidx == SHN_COMMON)
- {
- /* Collect all COMMON symbols and sort them by size so as to
- minimize space wasted by alignment requirements. */
- {
- struct common_entry **p, *n;
- for (p = &common_head; *p ; p = &(*p)->next)
- if (sym->size <= (*p)->sym->size)
- break;
-
- n = alloca(sizeof(*n));
- n->next = *p;
- n->sym = sym;
- *p = n;
- }
- }
- }
-
- for (i = 1; i < f->local_symtab_size; ++i)
- {
- struct obj_symbol *sym = f->local_symtab[i];
- if (sym && sym->secidx == SHN_COMMON)
- {
- struct common_entry **p, *n;
- for (p = &common_head; *p ; p = &(*p)->next)
- if (sym == (*p)->sym)
- break;
- else if (sym->size < (*p)->sym->size)
- {
- n = alloca(sizeof(*n));
- n->next = *p;
- n->sym = sym;
- *p = n;
- break;
- }
- }
- }
-
- if (common_head)
- {
- /* Find the bss section. */
- for (i = 0; i < f->header.e_shnum; ++i)
- if (f->sections[i]->header.sh_type == SHT_NOBITS)
- break;
-
- /* If for some reason there hadn't been one, create one. */
- if (i == f->header.e_shnum)
- {
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (i+1) * sizeof(sec));
- f->sections[i] = sec = arch_new_section();
- f->header.e_shnum = i+1;
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE|SHF_ALLOC;
- sec->name = ".bss";
- sec->idx = i;
- }
-
- /* Allocate the COMMONS. */
- {
- ElfW(Addr) bss_size = f->sections[i]->header.sh_size;
- ElfW(Addr) max_align = f->sections[i]->header.sh_addralign;
- struct common_entry *c;
-
- for (c = common_head; c ; c = c->next)
- {
- ElfW(Addr) align = c->sym->value;
-
- if (align > max_align)
- max_align = align;
- if (bss_size & (align - 1))
- bss_size = (bss_size | (align - 1)) + 1;
-
- c->sym->secidx = i;
- c->sym->value = bss_size;
-
- bss_size += c->sym->size;
- }
-
- f->sections[i]->header.sh_size = bss_size;
- f->sections[i]->header.sh_addralign = max_align;
- }
- }
-
- /* For the sake of patch relocation and parameter initialization,
- allocate zeroed data for NOBITS sections now. Note that after
- this we cannot assume NOBITS are really empty. */
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- struct obj_section *s = f->sections[i];
- if (s->header.sh_type == SHT_NOBITS)
- {
- if (s->header.sh_size)
- s->contents = memset(xmalloc(s->header.sh_size),
- 0, s->header.sh_size);
- else
- s->contents = NULL;
- s->header.sh_type = SHT_PROGBITS;
- }
- }
-}
-
-unsigned long
-obj_load_size (struct obj_file *f)
-{
- unsigned long dot = 0;
- struct obj_section *sec;
-
- /* Finalize the positions of the sections relative to one another. */
-
- for (sec = f->load_order; sec ; sec = sec->load_next)
- {
- ElfW(Addr) align;
-
- align = sec->header.sh_addralign;
- if (align && (dot & (align - 1)))
- dot = (dot | (align - 1)) + 1;
-
- sec->header.sh_addr = dot;
- dot += sec->header.sh_size;
- }
-
- return dot;
-}
-
-int
-obj_relocate (struct obj_file *f, ElfW(Addr) base)
-{
- int i, n = f->header.e_shnum;
- int ret = 1;
-
- /* Finalize the addresses of the sections. */
-
- arch_finalize_section_address(f, base);
-
- /* And iterate over all of the relocations. */
-
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *targsec, *strsec;
- ElfW(RelM) *rel, *relend;
- ElfW(Sym) *symtab;
- const char *strtab;
-
- relsec = f->sections[i];
- if (relsec->header.sh_type != SHT_RELM)
- continue;
-
- symsec = f->sections[relsec->header.sh_link];
- targsec = f->sections[relsec->header.sh_info];
- strsec = f->sections[symsec->header.sh_link];
-
- rel = (ElfW(RelM) *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- ElfW(Addr) value = 0;
- struct obj_symbol *intsym = NULL;
- unsigned long symndx;
- ElfW(Sym) *extsym = 0;
- const char *errmsg;
-
- /* Attempt to find a value to use for this relocation. */
-
- symndx = ELFW(R_SYM)(rel->r_info);
- if (symndx)
- {
- /* Note we've already checked for undefined symbols. */
-
- extsym = &symtab[symndx];
- if (ELFW(ST_BIND)(extsym->st_info) == STB_LOCAL)
- {
- /* Local symbols we look up in the local table to be sure
- we get the one that is really intended. */
- intsym = f->local_symtab[symndx];
- }
- else
- {
- /* Others we look up in the hash table. */
- const char *name;
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = obj_find_symbol(f, name);
- }
-
- value = obj_symbol_final_value(f, intsym);
- }
-
-#if SHT_RELM == SHT_RELA
-#if defined(__alpha__) && defined(AXP_BROKEN_GAS)
- /* Work around a nasty GAS bug, that is fixed as of 2.7.0.9. */
- if (!extsym || !extsym->st_name ||
- ELFW(ST_BIND)(extsym->st_info) != STB_LOCAL)
-#endif
- value += rel->r_addend;
-#endif
-
- /* Do it! */
- switch (arch_apply_relocation(f,targsec,symsec,intsym,rel,value))
- {
- case obj_reloc_ok:
- break;
-
- case obj_reloc_overflow:
- errmsg = "Relocation overflow";
- goto bad_reloc;
- case obj_reloc_dangerous:
- errmsg = "Dangerous relocation";
- goto bad_reloc;
- case obj_reloc_unhandled:
- errmsg = "Unhandled relocation";
- goto bad_reloc;
- case obj_reloc_constant_gp:
- errmsg = "Modules compiled with -mconstant-gp cannot be loaded";
- goto bad_reloc;
- bad_reloc:
- if (extsym)
- {
- error("%s of type %ld for %s", errmsg,
- (long)ELFW(R_TYPE)(rel->r_info),
- strtab + extsym->st_name);
- }
- else
- {
- error("%s of type %ld", errmsg,
- (long)ELFW(R_TYPE)(rel->r_info));
- }
- ret = 0;
- break;
- }
- }
- }
-
- /* Finally, take care of the patches. */
-
- if (f->string_patches)
- {
- struct obj_string_patch_struct *p;
- struct obj_section *strsec;
- ElfW(Addr) strsec_base;
- strsec = obj_find_section(f, ".kstrtab");
- strsec_base = strsec->header.sh_addr;
-
- for (p = f->string_patches; p ; p = p->next)
- {
- struct obj_section *targsec = f->sections[p->reloc_secidx];
- *(ElfW(Addr) *)(targsec->contents + p->reloc_offset)
- = strsec_base + p->string_offset;
- }
- }
-
- if (f->symbol_patches)
- {
- struct obj_symbol_patch_struct *p;
-
- for (p = f->symbol_patches; p; p = p->next)
- {
- struct obj_section *targsec = f->sections[p->reloc_secidx];
- *(ElfW(Addr) *)(targsec->contents + p->reloc_offset)
- = obj_symbol_final_value(f, p->sym);
- }
- }
-
- return ret;
-}
-
-int
-obj_create_image (struct obj_file *f, char *image)
-{
- struct obj_section *sec;
- ElfW(Addr) base = f->baseaddr;
-
- for (sec = f->load_order; sec ; sec = sec->load_next)
- {
- char *secimg;
-
- if (sec->contents == 0)
- continue;
-
- secimg = image + (sec->header.sh_addr - base);
-
- /* Note that we allocated data for NOBITS sections earlier. */
- memcpy(secimg, sec->contents, sec->header.sh_size);
- }
-
- return 1;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_s390.c b/mdk-stage1/insmod-modutils/obj/obj_s390.c
deleted file mode 100644
index 3da72e771..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_s390.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/* S/390 specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct s390_got_entry
-{
- int offset;
- unsigned offset_done : 1;
- unsigned reloc_done : 1;
-};
-
-struct s390_file
-{
- struct obj_file root;
- struct obj_section *got;
-};
-
-struct s390_symbol
-{
- struct obj_symbol root;
- struct s390_got_entry gotent;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct s390_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct s390_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- memset(&sym->gotent, 0, sizeof(sym->gotent));
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- struct s390_file *ifile = (struct s390_file *)f;
- struct s390_symbol *isym = (struct s390_symbol *)sym;
-
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf32_Addr got = ifile->got ? ifile->got->header.sh_addr : 0;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_390_NONE:
- break;
-
- case R_390_32:
- *loc += v;
- break;
-
- case R_390_PLT32:
- case R_390_PC32:
- *loc += v - dot;
- break;
-
- case R_390_GLOB_DAT:
- case R_390_JMP_SLOT:
- *loc = v;
- break;
-
- case R_390_RELATIVE:
- *loc += f->baseaddr;
- break;
-
- case R_390_GOTPC:
- assert(got != 0);
- *loc += got - dot;
- break;
-
- case R_390_GOT32:
- assert(isym != NULL);
- if (!isym->gotent.reloc_done)
- {
- isym->gotent.reloc_done = 1;
- *(Elf32_Addr *)(ifile->got->contents + isym->gotent.offset) = v;
- }
- *loc += isym->gotent.offset;
- break;
-
- case R_390_GOTOFF:
- assert(got != 0);
- *loc += v - got;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct s390_file *ifile = (struct s390_file *)f;
- int i, n, offset = 0, gotneeded = 0;
-
- n = ifile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf32_Rel *rel, *relend;
- Elf32_Sym *symtab;
- const char *strtab;
-
- relsec = ifile->root.sections[i];
- if (relsec->header.sh_type != SHT_REL)
- continue;
-
- symsec = ifile->root.sections[relsec->header.sh_link];
- strsec = ifile->root.sections[symsec->header.sh_link];
-
- rel = (Elf32_Rel *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rel));
- symtab = (Elf32_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- Elf32_Sym *extsym;
- struct s390_symbol *intsym;
- const char *name;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_390_GOTPC:
- case R_390_GOTOFF:
- gotneeded = 1;
- default:
- continue;
-
- case R_390_GOT32:
- break;
- }
-
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct s390_symbol *)obj_find_symbol(&ifile->root, name);
-
- if (!intsym->gotent.offset_done)
- {
- intsym->gotent.offset_done = 1;
- intsym->gotent.offset = offset;
- offset += 4;
- }
- }
- }
-
- if (offset > 0 || gotneeded)
- ifile->got = obj_create_alloced_section(&ifile->root, ".got", 4, offset);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *m)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_sparc.c b/mdk-stage1/insmod-modutils/obj/obj_sparc.c
deleted file mode 100644
index 1a03c9090..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_sparc.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/* Sparc specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stddef.h>
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- return xmalloc(sizeof(struct obj_file));
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- return xmalloc(sizeof(struct obj_symbol));
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *ef,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_SPARC_NONE:
- break;
- case R_SPARC_8:
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xff) | (v & 0xff);
- break;
- case R_SPARC_16:
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xffff) | (v & 0xffff);
- break;
- case R_SPARC_32:
- *loc = v;
- break;
- case R_SPARC_DISP8:
- v -= dot;
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xff) | (v & 0xff);
- break;
- case R_SPARC_DISP16:
- v -= dot;
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xffff) | (v & 0xffff);
- break;
- case R_SPARC_DISP32:
- v -= dot;
- *loc = v;
- break;
- case R_SPARC_WDISP30:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x3fffffff) | (v >> 2);
- break;
- case R_SPARC_WDISP22:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x3fffff) | ((v >> 2) & 0x3fffff);
- break;
- case R_SPARC_HI22:
- *loc = (*loc & ~0x3fffff) | (v >> 10);
- break;
- case R_SPARC_22:
- if (v > 0x3fffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3fffff) | (v & 0x3fffff);
- break;
- case R_SPARC_13:
- if (v > 0x1fff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x1fff) | (v & 0x1fff);
- break;
- case R_SPARC_LO10:
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
-
- case R_SPARC_PC10:
- v -= dot;
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_PC22:
- v -= dot;
- *loc = (*loc & ~0x3fffff) | (v >> 10);
- break;
-
- case R_SPARC_UA32:
- *(((char *)loc) + 0) = (char)(v >> 24);
- *(((char *)loc) + 1) = (char)(v >> 16);
- *(((char *)loc) + 2) = (char)(v >> 8);
- *(((char *)loc) + 3) = (char)v;
- break;
-
-#ifdef R_SPARC_10
- case R_SPARC_10:
- if (v > 0x3ff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_11:
- if (v > 0x7ff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x7ff) | (v & 0x7ff);
- break;
- case R_SPARC_WDISP16:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x303fff) | ((v << 4) & 0x300000) | ((v >> 2) & 0x3fff);
- break;
- case R_SPARC_WDISP19:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x7ffff) | ((v >> 2) & 0x7ffff);
- break;
- case R_SPARC_7:
- if (v > 0x7f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x7f) | (v & 0x7f);
- break;
- case R_SPARC_5:
- if (v > 0x1f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x1f) | (v & 0x1f);
- break;
- case R_SPARC_6:
- if (v > 0x3f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3f) | (v & 0x3f);
- break;
-#endif /* R_SPARC_10 */
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *ef)
-{
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_sparc64.c b/mdk-stage1/insmod-modutils/obj/obj_sparc64.c
deleted file mode 100644
index 84e8d18a0..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_sparc64.c
+++ /dev/null
@@ -1,352 +0,0 @@
-/* Sparc64 specific support for Elf loading and relocation.
- Copyright 1997 Linux International.
-
- Contributed by Jakub Jelinek <jj@sunsite.mff.cuni.cz>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stddef.h>
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- return xmalloc(sizeof(struct obj_file));
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- return xmalloc(sizeof(struct obj_symbol));
-}
-
-#ifdef BROKEN_SPARC64_RELOCS
-
-#undef R_SPARC_PLT32
-#undef R_SPARC_HIPLT22
-#undef R_SPARC_LOPLT10
-#undef R_SPARC_PCPLT32
-#undef R_SPARC_PCPLT22
-#undef R_SPARC_PCPLT10
-#undef R_SPARC_10
-#undef R_SPARC_11
-#undef R_SPARC_64
-#undef R_SPARC_OLO10
-#undef R_SPARC_HH22
-#undef R_SPARC_HM10
-#undef R_SPARC_LM22
-#undef R_SPARC_PC_HH22
-#undef R_SPARC_PC_HM10
-#undef R_SPARC_PC_LM22
-#undef R_SPARC_WDISP16
-#undef R_SPARC_WDISP19
-#undef R_SPARC_GLOB_JMP
-#undef R_SPARC_7
-#undef R_SPARC_5
-#undef R_SPARC_6
-
-#define R_SPARC_10 24
-#define R_SPARC_11 25
-#define R_SPARC_64 26
-#define R_SPARC_OLO10 27
-#define R_SPARC_HH22 28
-#define R_SPARC_HM10 29
-#define R_SPARC_LM22 30
-#define R_SPARC_PC_HH22 31
-#define R_SPARC_PC_HM10 32
-#define R_SPARC_PC_LM22 33
-#define R_SPARC_WDISP16 34
-#define R_SPARC_WDISP19 35
-#define R_SPARC_GLOB_JMP 36
-#define R_SPARC_7 37
-#define R_SPARC_5 38
-#define R_SPARC_6 39
-
-#else
-
-#ifndef R_SPARC_64
-
-#define R_SPARC_64 32
-#define R_SPARC_OLO10 33
-#define R_SPARC_HH22 34
-#define R_SPARC_HM10 35
-#define R_SPARC_LM22 36
-#define R_SPARC_PC_HH22 37
-#define R_SPARC_PC_HM10 38
-#define R_SPARC_PC_LM22 39
-
-#endif
-
-#endif
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-#define ELF64_R_TYPE_ID(info) ((info) & 0xff)
-#define ELF64_R_TYPE_DATA(info) ((info) >> 8)
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *ef,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf64_Rela *rel,
- Elf64_Addr v)
-{
- unsigned int *loc = (unsigned int *)(targsec->contents + rel->r_offset);
- unsigned int dot = targsec->header.sh_addr + rel->r_offset;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF64_R_TYPE_ID(rel->r_info))
- {
- case R_SPARC_NONE:
- break;
-
- case R_SPARC_64:
- case R_SPARC_UA64:
- if (! ((long) loc & 3)) {
- /* Common in .eh_frame */
- ((unsigned int *) loc) [0] = v >> 32;
- ((unsigned int *) loc) [1] = v;
- break;
- }
- ((unsigned char *) loc) [0] = v >> 56;
- ((unsigned char *) loc) [1] = v >> 48;
- ((unsigned char *) loc) [2] = v >> 40;
- ((unsigned char *) loc) [3] = v >> 32;
- ((unsigned char *) loc) [4] = v >> 24;
- ((unsigned char *) loc) [5] = v >> 16;
- ((unsigned char *) loc) [6] = v >> 8;
- ((unsigned char *) loc) [7] = v;
- break;
- case R_SPARC_32:
- case R_SPARC_UA32:
- if (! ((long) loc & 3)) {
- *loc = v;
- break;
- }
- ((unsigned char *) loc) [0] = v >> 24;
- ((unsigned char *) loc) [1] = v >> 16;
- ((unsigned char *) loc) [2] = v >> 8;
- ((unsigned char *) loc) [3] = v;
- break;
- case R_SPARC_16:
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xffff) | (v & 0xffff);
- break;
- case R_SPARC_8:
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xff) | (v & 0xff);
- break;
-
- case R_SPARC_DISP32:
- v -= dot;
- *loc = v;
- break;
- case R_SPARC_DISP16:
- v -= dot;
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xffff) | (v & 0xffff);
- break;
- case R_SPARC_DISP8:
- v -= dot;
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xff) | (v & 0xff);
- break;
- case R_SPARC_WDISP30:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x3fffffff) | ((v >> 2) & 0x3fffffff);
- break;
-
- /* MEDLOW code model relocs */
- case R_SPARC_LO10:
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_HI22:
- *loc = (*loc & ~0x3fffff) | (v >> 10);
- break;
- case R_SPARC_OLO10:
- *loc = (*loc & ~0x1fff) | (((v & 0x3ff) + ELF64_R_TYPE_DATA (rel->r_info)) & 0x1fff);
- break;
-
- /* MEDMID code model relocs */
- case R_SPARC_H44:
- *loc = (*loc & ~0x3fffff) | (v >> 22);
- break;
- case R_SPARC_M44:
- *loc = (*loc & ~0x3ff) | ((v >> 12) & 0x3ff);
- break;
- case R_SPARC_L44:
- *loc = (*loc & ~0xfff) | (v & 0xfff);
- break;
-
- /* MEDANY code model relocs */
- case R_SPARC_HH22:
- *loc = (*loc & ~0x3fffff) | (v >> 42);
- break;
- case R_SPARC_HM10:
- *loc = (*loc & ~0x3ff) | ((v >> 32) & 0x3ff);
- break;
- case R_SPARC_LM22:
- *loc = (*loc & ~0x3fffff) | ((v >> 10) & 0x3fffff);
- break;
-
- case R_SPARC_WDISP22:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x3fffff) | ((v >> 2) & 0x3fffff);
- break;
- case R_SPARC_22:
- if (v > 0x3fffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3fffff) | (v & 0x3fffff);
- break;
- case R_SPARC_13:
- if (v > 0x1fff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x1fff) | (v & 0x1fff);
- break;
-
- case R_SPARC_PC10:
- v -= dot;
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_PC22:
- v -= dot;
- *loc = (*loc & ~0x3fffff) | ((v >> 10) & 0x3fffff);
- break;
-
-#ifdef R_SPARC_10
- case R_SPARC_10:
- if (v > 0x3ff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_11:
- if (v > 0x7ff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x7ff) | (v & 0x7ff);
- break;
-
-#ifdef R_SPARC_64
- case R_SPARC_PC_HH22:
- v -= dot;
- *loc = (*loc & ~0x3fffff) | (v >> 42);
- break;
- case R_SPARC_PC_HM10:
- v -= dot;
- *loc = (*loc & ~0x3ff) | ((v >> 32) & 0x3ff);
- break;
- case R_SPARC_PC_LM22:
- v -= dot;
- *loc = (*loc & ~0x3fffff) | ((v >> 10) & 0x3fffff);
- break;
-#endif
-
- case R_SPARC_WDISP16:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x303fff) | ((v << 4) & 0x300000) | ((v >> 2) & 0x3fff);
- break;
- case R_SPARC_WDISP19:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x7ffff) | ((v >> 2) & 0x7ffff);
- break;
- case R_SPARC_7:
- if (v > 0x7f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x7f) | (v & 0x7f);
- break;
- case R_SPARC_5:
- if (v > 0x1f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x1f) | (v & 0x1f);
- break;
- case R_SPARC_6:
- if (v > 0x3f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3f) | (v & 0x3f);
- break;
-#endif /* R_SPARC_10 */
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *ef)
-{
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf64_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/util/Makefile b/mdk-stage1/insmod-modutils/util/Makefile
deleted file mode 100644
index 763f046f2..000000000
--- a/mdk-stage1/insmod-modutils/util/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
- #******************************************************************************
- #
- # insmod from modutils (generic)
- #
- # $Id$
- #
- # Copyright 1996, 1997 Linux International.
- #
- #*****************************************************************************
-
-top_dir = ../..
-
-include $(top_dir)/Makefile.common
-
-
-all: libutil.a libutil-STANDALONE.a #libutil-DIET.a
-
-clean:
- rm -f *.o *.a
-
-
-INCS = -I./../include
-
-DEFS = -Wno-error -D_GNU_SOURCE -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH) -DHAVE_WORDEXP=1 -DHAVE_GLOB=1 -DCONFIG_ROOT_CHECK_OFF=0
-
-
-OBJS = xmalloc.o xrealloc.o xstrcat.o xstrdup.o xsystem.o xftw.o \
- modstat.o meta_expand.o config.o snap_shot.o arch64.o gzfiles.o sys_nim.o sys_oim.o
-
-libutil.a: $(OBJS) logger.o
- ar cru $@ $^
- ranlib $@
-
-libutil-STANDALONE.a: $(OBJS) logger-standalone.o
- ar cru $@ $^
- ranlib $@
-
-logger-standalone.o: logger.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -o $@ -D_STANDALONE_ -c logger.c
-
-.c.o:
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c $<
diff --git a/mdk-stage1/insmod-modutils/util/alias.h b/mdk-stage1/insmod-modutils/util/alias.h
deleted file mode 100644
index c925a04f3..000000000
--- a/mdk-stage1/insmod-modutils/util/alias.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * This file is split out from config.c for easier editing
- */
-
-/*
- * tbpath and tbtype are used to build the complete set of paths for finding
- * modules, but only when we search for individual directories, they are not
- * used for [boot] and [toplevel] searches.
- */
-static char *tbpath[] =
-{
- "/lib/modules",
- NULL /* marks the end of the list! */
-};
-
-char *tbtype[] =
-{
- "kernel", /* as of 2.3.14 this must be first */
- "fs",
- "net",
- "scsi",
- "block",
- "cdrom",
- "ipv4",
- "ipv6",
- "sound",
- "fc4",
- "video",
- "misc",
- "pcmcia",
- "atm",
- "usb",
- "ide",
- "ieee1394",
- "mtd",
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined aliases.
- * Each entry can be overridden by an entry in /etc/modules.conf
- */
-char *aliaslist[] =
-{
- "binfmt-204 binfmt_aout",
- "binfmt-263 binfmt_aout",
- "binfmt-264 binfmt_aout",
- "binfmt-267 binfmt_aout",
- "binfmt-387 binfmt_aout",
- "binfmt-332 iBCS",
- "binfmt--310 binfmt_java",
-
- "block-major-1 rd",
- "block-major-2 floppy",
- "block-major-3 ide-probe-mod",
- "block-major-7 loop",
- "block-major-8 sd_mod",
- "block-major-9 md", /* For modular RAID */
- "block-major-11 sr_mod",
- "block-major-13 xd",
- "block-major-15 cdu31a",
- "block-major-16 gscd",
- "block-major-17 optcd",
- "block-major-18 sjcd",
- "block-major-20 mcdx",
- "block-major-22 ide-probe-mod",
- "block-major-23 mcd",
- "block-major-24 sonycd535",
- "block-major-25 sbpcd",
- "block-major-26 sbpcd",
- "block-major-27 sbpcd",
- "block-major-29 aztcd",
- "block-major-32 cm206",
- "block-major-33 ide-probe-mod",
- "block-major-34 ide-probe-mod",
- "block-major-37 ide-tape",
- "block-major-44 ftl", /* from David Woodhouse <dwmw2@infradead.org> */
- "block-major-56 ide-probe-mod",
- "block-major-57 ide-probe-mod",
- "block-major-88 ide-probe-mod",
- "block-major-89 ide-probe-mod",
- "block-major-90 ide-probe-mod",
- "block-major-91 ide-probe-mod",
- "block-major-93 nftl", /* from David Woodhouse <dwmw2@infradead.org> */
-
- "char-major-4 serial",
- "char-major-5 serial",
- "char-major-6 lp",
- "char-major-9 st",
- "char-major-10 off", /* was: mouse, was: misc */
- "char-major-10-0 busmouse", /* /dev/logibm Logitech bus mouse */
- "char-major-10-1 off", /* /dev/psaux PS/2-style mouse port */
- "char-major-10-2 msbusmouse", /* /dev/inportbm Microsoft Inport bus mouse */
- "char-major-10-3 atixlmouse", /* /dev/atibm ATI XL bus mouse */
- /* /dev/jbm J-mouse */
- /* /dev/amigamouse Amiga mouse (68k/Amiga) */
- /* /dev/atarimouse Atari mouse */
- /* /dev/sunmouse Sun mouse */
- /* /dev/beep Fancy beep device */
- /* /dev/modreq Kernel module load request */
- "char-major-10-130 wdt", /* /dev/watchdog Watchdog timer port */
- "char-major-10-131 wdt", /* /dev/temperature Machine internal temperature */
- /* /dev/hwtrap Hardware fault trap */
- /* /dev/exttrp External device trap */
- "char-major-10-135 off", /* rtc cannot be compiled as a module */
- "char-major-10-139 openprom", /* /dev/openprom Linux/Sparc interface */
- "char-major-10-144 nvram", /* from Tigran Aivazian <tigran@sco.COM> */
- "char-major-10-157 applicom", /* from David Woodhouse <dwmw2@infradead.org> */
- "char-major-10-175 agpgart", /* /dev/agpgart GART AGP mapping access */
- "char-major-10-184 microcode", /* Tigran Aivazian <tigran@veritas.com> */
-
- "char-major-14 soundcore",
- "char-major-19 cyclades",
- "char-major-20 cyclades",
- "char-major-21 sg",
- "char-major-22 pcxx", /* ?? */
- "char-major-23 pcxx", /* ?? */
- "char-major-27 ftape",
- "char-major-34 scc",
- "char-major-35 tclmidi",
- "char-major-36 netlink",
- "char-major-37 ide-tape",
- "char-major-48 riscom8",
- "char-major-49 riscom8",
- "char-major-57 esp",
- "char-major-58 esp",
- "char-major-63 kdebug",
- "char-major-90 mtdchar", /* from David Woodhouse <dwmw2@infradead.org> */
- "char-major-99 ppdev",
- "char-major-107 3dfx", /* from Tigran Aivazian <tigran@sco.COM> */
- "char-major-161 ircomm-tty",
-
- "dos msdos",
- "dummy0 dummy",
- "dummy1 dummy",
- "eth0 off",
- "iso9660 isofs",
- "md-personality-1 linear",
- "md-personality-2 raid0",
- "md-personality-3 raid1",
- "md-personality-4 raid5",
-
- "net-pf-1 unix", /* PF_UNIX 1 Unix domain sockets */
- "net-pf-2 ipv4", /* PF_INET 2 Internet IP Protocol */
- "net-pf-3 off", /* PF_AX25 3 Amateur Radio AX.25 */
- "net-pf-4 ipx", /* PF_IPX 4 Novell IPX */
- "net-pf-5 appletalk", /* PF_APPLETALK 5 Appletalk DDP */
- "net-pf-6 off", /* PF_NETROM 6 Amateur radio NetROM */
- /* PF_BRIDGE 7 Multiprotocol bridge */
- /* PF_AAL5 8 Reserved for Werner's ATM */
- /* PF_X25 9 Reserved for X.25 project */
- /* PF_INET6 10 IP version 6 */
-
- /* next two from <dairiki@matthews.dairiki.org> Thanks! */
- "net-pf-17 af_packet",
- "net-pf-19 off", /* acorn econet */
-
- "netalias-2 ip_alias",
- "plip0 plip",
- "plip1 plip",
- "cipcb0 cipcb",
- "cipcb1 cipcb",
- "cipcb2 cipcb",
- "cipcb3 cipcb",
- "ppp0 ppp",
- "ppp1 ppp",
- "scsi_hostadapter off", /* if not in config file */
- "slip0 slip",
- "slip1 slip",
- "tty-ldisc-1 slip",
- "tty-ldisc-3 ppp",
- "ppp-compress-21 bsd_comp",
- "ppp-compress-24 ppp_deflate",
- "ppp-compress-26 ppp_deflate",
-
-#ifndef __sparc__
- "parport_lowlevel parport_pc",
-#else
- "parport_lowlevel parport_ax",
-#endif
-
- "tty-ldisc-11 irtty",
-
- "usbdevfs usbcore",
-
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined options.
- * Each entry can be overridden by an entry in /etc/modules.conf
- */
-char *optlist[] =
-{
- "dummy0 -o dummy0",
- "dummy1 -o dummy1",
- "sb io=0x220 irq=7 dma=1 dma16=5 mpu_io=0x330",
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined "above"s,
- * used for pull-in of additional modules
- * Each entry can be overridden by an entry in /etc/modules.conf
- */
-char *above[] =
-{
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined "below"s,
- * used for push-in of additional modules
- * Each entry can be overridden by an entry in /etc/modules.conf
- */
-char *below[] =
-{
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined "prune"s,
- * used to exclude paths from scan of /lib/modules.
- * /etc/modules.conf can add entries but not remove them.
- */
-char *prune[] =
-{
- ".rhkmvtag",
- "modules.dep",
- "modules.generic_string",
- "modules.pcimap",
- "modules.isapnpmap",
- "modules.usbmap",
- "modules.parportmap",
- "System.map",
- ".config",
- "build", /* symlink to source tree */
- "vmlinux",
- "vmlinuz",
- "bzImage",
- "zImage",
- ".rhkmvtag", /* wish RedHat had told me before they did this */
- NULL /* marks the end of the list! */
-};
diff --git a/mdk-stage1/insmod-modutils/util/arch64.c b/mdk-stage1/insmod-modutils/util/arch64.c
deleted file mode 100644
index 4d5ace223..000000000
--- a/mdk-stage1/insmod-modutils/util/arch64.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Misc utility functions.
- Copyright 1996, 1997 Linux International.
- Written by Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/utsname.h>
-#include "util.h"
-
-/*======================================================================*/
-
-/* Indicate if the current machine uses 64 bit architecture */
-int arch64(void)
-{
- struct utsname u;
- return(!uname(&u) && strstr(u.machine, "64"));
-}
diff --git a/mdk-stage1/insmod-modutils/util/config.c b/mdk-stage1/insmod-modutils/util/config.c
deleted file mode 100644
index a860920f6..000000000
--- a/mdk-stage1/insmod-modutils/util/config.c
+++ /dev/null
@@ -1,1591 +0,0 @@
-/*
- * Handle the configuration, including /etc/modules.conf
- *
- * Copyright 1994, 1995, 1996, 1997:
- * Jacques Gelinas <jack@solucorp.qc.ca>
- * Bjrn Ekwall <bj0rn@blox.se> February 1999
- * Keith Owens <kaos@ocs.com.au> October 1999
- *
- * "kernelversion" idea from the Debian release via:
- * Wichert Akkerman <wakkerma@cs.leidenuniv.nl>
- *
- * Bjrn, inspired by Richard Henderson <rth@twiddle.net>, cleaned up
- * the wildcard handling and started using ftw in March 1999
- * Cleanup of hardcoded arrays: Bjrn Ekwall <bj0rn@blox.se> March 1999
- * Many additional keywords: Bjrn Ekwall <bj0rn@blox.se> (C) March 1999
- * Standardize on /etc/modules.conf Keith Owens <kaos@ocs.com.au> October 1999
- *
- * Alpha typecast:Michal Jaegermann <michal@ellpspace.math.ualberta.ca>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/*
- * Specification: /etc/modules.conf / format
- * Modules may be located at different places in the filesystem.
- *
- * The file /etc/modules.conf contains different definitions to
- * control the manipulation of modules.
- *
- * Standard Unix style comments and continuation line are supported.
- * Comments begin with a # and continue until the end of the line.
- * A line continues on the next one if the last non-white character
- * is a \.
- */
-/* #Specification: /etc/modules.conf / format / official name */
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include <limits.h>
-#include <sys/param.h>
-#include <errno.h>
-
-#include "util.h"
-#include "config.h"
-#include "alias.h"
-
-int flag_autoclean; /* set/used by modprobe and insmod */
-
-struct utsname uts_info;
-
-struct PATH_TYPE *modpath;
-int nmodpath = 0;
-static int maxpath = 0;
-
-struct EXEC_TYPE *execs;
-int nexecs = 0;
-static int maxexecs = 0;
-
-OPT_LIST *opt_list;
-static int n_opt_list;
-
-OPT_LIST *abovelist;
-static int n_abovelist;
-
-OPT_LIST *belowlist;
-static int n_belowlist;
-
-OPT_LIST *prunelist;
-static int n_prunelist;
-
-OPT_LIST *probe_list;
-static int n_probe_list;
-
-OPT_LIST *probeall_list;
-static int n_probeall_list;
-
-OPT_LIST *aliases;
-static int n_aliases;
-
-char *persistdir = "/var/lib/modules/persist";
-
-const char symprefix[] = SYMPREFIX;
-
-char *insmod_opt = NULL;
-char *config_file = NULL; /* Which file was actually used */
-time_t config_mtime;
-int root_check_off = CONFIG_ROOT_CHECK_OFF; /* Default is modules must be owned by root */
-static char *config_version; /* Hack for config_add */
-int quick = 0; /* Option -A */
-
-/* The initialization order must match the gen_file_enum order in config.h */
-struct gen_files gen_file[] = {
- {"generic_string", NULL, 0},
- {"pcimap", NULL, 0},
- {"isapnpmap", NULL, 0},
- {"usbmap", NULL, 0},
- {"parportmap", NULL, 0},
- {"dep", NULL, 0},
-};
-
-const int gen_file_count = sizeof(gen_file)/sizeof(gen_file[0]);
-
-int flag_verbose;
-
-unsigned long safemode;
-
-void verbose(const char *ctl,...)
-{
- if (flag_verbose) {
- va_list list;
- va_start(list, ctl);
- vprintf(ctl, list);
- va_end(list);
- fflush(stdout);
- }
-}
-
-
-/*
- * Check to see if the existing modules.xxx files need updating,
- * based on the timestamps of the modules and the config file.
- */
-static int check_update (const char *file, const struct stat *sb)
-{
- int len = strlen(file);
- int i;
-
- if (!S_ISREG(sb->st_mode))
- return 0;
- for (i = 0; i < gen_file_count; ++i) {
- if (sb->st_mtime > gen_file[i].mtime)
- break;
- }
- if (i == gen_file_count)
- return 0; /* All generated files are up to date */
-
- if (len > 2 && !strcmp(file + len - 2, ".o"))
- return 1;
- else if (len > 4 && !strcmp(file + len - 4, ".mod"))
- return 1;
-#ifdef CONFIG_USE_ZLIB
- else if (len > 5 && !strcmp(file + len - 5, ".o.gz"))
- return 1;
-#endif
- return 0;
-}
-
-static int need_update (const char *force_ver, const char *base_dir)
-{
- struct stat tmp;
- char dep[PATH_MAX];
- int i;
- uname (&uts_info);
- if (!force_ver)
- force_ver = uts_info.release;
-
- if (strlen (force_ver) > 50)
- /* That's just silly. */
- return 1;
-
- for (i = 0; i < gen_file_count; ++i) {
- if (stat(gen_file[i].name, &tmp))
- return 1; /* No dependency file yet, so we need to build it. */
- gen_file[i].mtime = tmp.st_mtime;
- }
-
- if (stat ("/etc/modules.conf", &tmp) &&
- stat ("/etc/conf.modules", &tmp))
- return 1;
-
- for (i = 0; i < gen_file_count; ++i) {
- if (tmp.st_mtime > gen_file[i].mtime)
- return 1; /* Config file is newer. */
- }
-
- snprintf (dep, sizeof(dep), "%s/lib/modules/%s", base_dir, force_ver);
- return xftw (dep, check_update);
-}
-
-
-/*
- * Strip white char at the end of a string.
- * Return the address of the last non white char + 1 (point on the '\0').
- */
-static char *strip_end(char *str)
-{
- int len = strlen(str);
-
- for (str += len - 1; len > 0 && (isspace(*str)); --len, --str)
- *str = '\0';
- return str + 1;
-}
-
-/*
- * Read a line of a configuration file and process continuation lines.
- * Return buf, or NULL if EOF.
- * Blank at the end of line are always stripped.
- * Everything on a line following comchar is a comment.
- *
- * Continuation character is \
- * Comment character is #
- */
-char *fgets_strip(char *buf, int sizebuf, FILE * fin, int *lineno)
-{
- int nocomment = 1; /* No comments found ? */
- int contline = 0;
- char *start = buf;
- char *ret = NULL;
- char comchar = '#';
- char contchar = '\\';
-
- *buf = '\0';
-
- while (fgets(buf, sizebuf, fin) != NULL) {
- char *end = strip_end(buf);
- char *pt = strchr(buf, comchar);
-
- if (pt != NULL) {
- nocomment = 0;
- *pt = '\0';
- end = strip_end(buf);
- }
-
- if (lineno != NULL)
- (*lineno)++;
- ret = start;
- if (contline) {
- char *pt = buf;
-
- while (isspace(*pt))
- pt++;
- if (pt > buf + 1) {
- strcpy(buf + 1, pt); /* safe, backward copy */
- buf[0] = ' ';
- end -= (int) (pt - buf) - 1;
- } else if (pt == buf + 1) {
- buf[0] = ' ';
- }
- }
- if (end > buf && *(end - 1) == contchar) {
- if (end == buf + 1 || *(end - 2) != contchar) {
- /* Continuation */
- contline = 1;
- end--;
- *end = '\0';
- buf = end;
- } else {
- *(end - 1) = '\0';
- break;
- }
- } else {
- break;
- }
- }
-
- return ret;
-}
-
-static char *next_word(char *pt)
-{
- char *match;
- char *pt2;
-
- /* find end of word */
- for (pt2 = pt; *pt2 && !(isspace(*pt2)); ++pt2) {
- if ((match = strchr("\"'`", *pt2)) != NULL) {
- for (++pt2; *pt2 && *pt2 != *match; ++pt2) {
- if (*pt2 == '\\' && *(pt2 + 1) == *match)
- ++pt2;
- }
- }
- }
-
- /* skip leading whitespace before next word */
- if (*pt2) {
- *pt2++ = '\0'; /* terminate last word */
- while (*pt2 && isspace(*pt2))
- ++pt2;
- }
- return pt2;
-}
-
-static GLOB_LIST *addlist(GLOB_LIST *orig, GLOB_LIST *add)
-{
- if (!orig)
- return add;
- /* else */
- orig->pathv = (char **)xrealloc(orig->pathv,
- (orig->pathc + add->pathc + 1) *
- sizeof(char *));
- memcpy(orig->pathv + orig->pathc, add->pathv,
- add->pathc * sizeof(char *));
- orig->pathc += add->pathc;
- orig->pathv[orig->pathc] = NULL;
- /*
- free(add->pathv);
- free(add);
- */
- return orig;
-}
-
-static void decode_list(int *n, OPT_LIST **list, char *arg, int adding,
- char *version, int opts)
-{
- GLOB_LIST *pg;
- GLOB_LIST *prevlist = NULL;
- int i, autoclean = 1;
- int where = *n;
- char *arg2 = next_word(arg);
-
- if (opts && !strcmp (arg, "-k")) {
- if (!*arg2)
- error("Missing module argument after -k\n");
- arg = arg2;
- arg2 = next_word(arg);
- autoclean = 0;
- }
-
- for (i = 0; i < *n; ++i) {
- if (strcmp((*list)[i].name, arg) == 0) {
- if (adding)
- prevlist = (*list)[i].opts;
- else
- free((*list)[i].opts);
- (*list)[i].opts = NULL;
- where = i;
- break;
- }
- }
- if (where == *n) {
- (*list) = (OPT_LIST *)xrealloc((*list),
- (*n + 2) * sizeof(OPT_LIST));
- (*list)[*n].name = xstrdup(arg);
- (*list)[*n].autoclean = autoclean;
- *n += 1;
- memset(&(*list)[*n], 0, sizeof(OPT_LIST));
- } else if (!autoclean)
- (*list)[where].autoclean = 0;
- pg = (GLOB_LIST *)xmalloc(sizeof(GLOB_LIST));
- meta_expand(arg2, pg, NULL, version, ME_ALL);
- (*list)[where].opts = addlist(prevlist, pg);
-}
-
-static void decode_exec(char *arg, int type)
-{
- char *arg2;
-
- execs[nexecs].when = type;
- arg2 = next_word(arg);
- execs[nexecs].module = xstrdup(arg);
- execs[nexecs].cmd = xstrdup(arg2);
- if (++nexecs >= maxexecs) {
- maxexecs += 10;
- execs = (struct EXEC_TYPE *)xrealloc(execs,
- maxexecs * sizeof(struct EXEC_TYPE));
- }
-}
-
-static int build_list(char **in, OPT_LIST **out, char *version, int opts)
-{
- GLOB_LIST *pg;
- int i;
-
- for (i = 0; in[i]; ++i) {
- char *p = xstrdup(in[i]);
- char *pt = next_word(p);
- char *pn = p;
-
- *out = (OPT_LIST *)xrealloc(*out, (i + 2) * sizeof(OPT_LIST));
- (*out)[i].autoclean = 1;
- if (opts && !strcmp (p, "-k")) {
- pn = pt;
- pt = next_word(pn);
- (*out)[i].autoclean = 0;
- }
- pg = (GLOB_LIST *)xmalloc(sizeof(GLOB_LIST));
- meta_expand(pt, pg, NULL, version, ME_ALL);
- (*out)[i].name = xstrdup(pn);
- (*out)[i].opts = pg;
- free(p);
- }
- memset(&(*out)[i], 0, sizeof(OPT_LIST));
-
- return i;
-}
-
-/* Environment variables can override defaults, testing only */
-static void gen_file_env(struct gen_files *gf)
-{
- if (!safemode) {
- char *e = xmalloc(strlen(gf->base)+5), *p1 = gf->base, *p2 = e;
- while ((*p2++ = toupper(*p1++))) ;
- strcpy(p2-1, "PATH"); /* safe, xmalloc */
- if ((p2 = getenv(e)) != NULL) {
- free(gf->name);
- gf->name = xstrdup(p2);
- }
- free(e);
- }
-}
-
-/* Read a config option for a generated filename */
-static int gen_file_conf(struct gen_files *gf, int assgn, const char *parm, const char *arg)
-{
-
- int l = strlen(gf->base);
- if (assgn &&
- strncmp(parm, gf->base, l) == 0 &&
- strcmp(parm+l, "file") == 0 &&
- !gf->name) {
- gf->name = xstrdup(arg);
- return(0);
- }
- return(1);
-}
-
-/* Check we have a name for a generated file */
-static int gen_file_check(struct gen_files *gf, GLOB_LIST *g,
- char *base_dir, char *version)
-{
- char tmp[PATH_MAX];
- int ret = 0;
- if (!gf->name) {
- /*
- * Specification: config file / no xxxfile parameter
- * The default value for generated filename xxx is:
- *
- * xxxfile=/lib/modules/`uname -r`/modules.xxx
- *
- * If the config file exists but lacks an xxxfile
- * specification, the default value is used since
- * the system can't work without one.
- */
- snprintf(tmp, sizeof(tmp), "%s/lib/modules/%s/modules.%s",
- base_dir, version, gf->base);
- gf->name = xstrdup(tmp);
- } else { /* xxxfile defined in modules.conf */
- /*
- * If we have a xxxfile definition in the configuration file
- * we must resolve any shell meta-chars in its value.
- */
- if (meta_expand(gf->name, g, base_dir, version, ME_ALL))
- ret = -1;
- else if (!g->pathv || g->pathv[0] == NULL)
- ret = -1;
- else {
- free(gf->name);
- gf->name = xstrdup(g->pathv[0]);
- }
- }
- return(ret);
-}
-
-/*
- * Read the configuration file.
- * If parameter "all" == 0 then ignore everything except path info
- * Return -1 if any error.
- * Error messages generated.
- */
-static int do_read(int all, char *force_ver, char *base_dir, char *conf_file, int depth)
-{
- #define MAX_LEVEL 20
- FILE *fin;
- GLOB_LIST g;
- int i;
- int assgn;
- int drop_default_paths = 1;
- int lineno = 0;
- int ret = 0;
- int state[MAX_LEVEL + 1]; /* nested "if" */
- int level = 0;
- char buf[3000];
- char tmpline[100];
- char **pathp;
- char *envpath;
- char *version;
- char *type;
- char **glb;
- char old_name[] = "/etc/conf.modules";
- int conf_file_specified = 0;
-
- /*
- * The configuration file is optional.
- * No error is printed if it is missing.
- * If it is missing the following content is assumed.
- *
- * path[boot]=/lib/modules/boot
- *
- * path[toplevel]=/lib/modules/`uname -r`
- *
- * path[toplevel]=/lib/modules/`kernelversion`
- * (where kernelversion gives the major kernel version: "2.0", "2.2"...)
- *
- * path[toplevel]=/lib/modules/default
- *
- * path[kernel]=/lib/modules/kernel
- * path[fs]=/lib/modules/fs
- * path[net]=/lib/modules/net
- * path[scsi]=/lib/modules/scsi
- * path[block]=/lib/modules/block
- * path[cdrom]=/lib/modules/cdrom
- * path[ipv4]=/lib/modules/ipv4
- * path[ipv6]=/lib/modules/ipv6
- * path[sound]=/lib/modules/sound
- * path[fc4]=/lib/modules/fc4
- * path[video]=/lib/modules/video
- * path[misc]=/lib/modules/misc
- * path[pcmcia]=/lib/modules/pcmcia
- * path[atm]=/lib/modules/atm
- * path[usb]=/lib/modules/usb
- * path[ide]=/lib/modules/ide
- * path[ieee1394]=/lib/modules/ieee1394
- * path[mtd]=/lib/modules/mtd
- *
- * The idea is that modprobe will look first if the
- * modules are compiled for the current release of the kernel.
- * If not found, it will look for modules that fit for the
- * general kernelversion (2.0, 2.2 and so on).
- * If still not found, it will look into the default release.
- * And if still not found, it will look in the other directories.
- *
- * The strategy should be like this:
- * When you install a new linux kernel, the modules should go
- * into a directory related to the release (version) of the kernel.
- * Then you can do a symlink "default" to this directory.
- *
- * Each time you compile a new kernel, the make modules_install
- * will create a new directory, but it won't change thee default.
- *
- * When you get a module unrelated to the kernel distribution
- * you can place it in one of the last three directory types.
- *
- * This is the default strategy. Of course you can overide
- * this in /etc/modules.conf.
- *
- * 2.3.15 added a new file tree walk algorithm which made it possible to
- * point at a top level directory and get the same behaviour as earlier
- * versions of modutils. 2.3.16 takes this one stage further, it
- * removes all the individual directory names from most of the scans,
- * only pointing at the top level directory. The only exception is the
- * last ditch scan, scanning all of /lib/modules would be a bad idea(TM)
- * so the last ditch scan still runs individual directory names under
- * /lib/modules.
- *
- * Additional syntax:
- *
- * [add] above module module1 ...
- * Specify additional modules to pull in on top of a module
- *
- * [add] below module module1 ...
- * Specify additional modules needed to be able to load a module
- *
- * [add] prune filename ...
- *
- * [add] probe name module1 ...
- * When "name" is requested, modprobe tries to install each
- * module in the list until it succeeds.
- *
- * [add] probeall name module1 ...
- * When "name" is requested, modprobe tries to install all
- * modules in the list.
- * If any module is installed, the command has succeeded.
- *
- * [add] options module option_list
- *
- * For all of the above, the optional "add" prefix is used to
- * add to a list instead of replacing the contents.
- *
- * include FILE_TO_INCLUDE
- * This does what you expect. No limitation on include levels.
- *
- * persistdir=persist_directory
- * Name the directory to save persistent data from modules.
- *
- * In the following WORD is a sequence if non-white characters.
- * If ' " or ` is found in the string, all characters up to the
- * matching ' " or ` will also be included, even whitespace.
- * Every WORD will then be expanded w.r.t. meta-characters.
- * If the expanded result gives more than one word, then only
- * the first word of the result will be used.
- *
- *
- * define CODE WORD
- * Do a putenv("CODE=WORD")
- *
- * EXPRESSION below can be:
- * WORD compare_op WORD
- * where compare_op is one of == != < <= >= >
- * The string values of the WORDs are compared
- * or
- * -n WORD compare_op WORD
- * where compare_op is one of == != < <= >= >
- * The numeric values of the WORDs are compared
- * or
- * WORD
- * if the expansion of WORD fails, or if the
- * expansion is "0" (zero), "false" or "" (empty)
- * then the expansion has the value FALSE.
- * Otherwise the expansion has the value TRUE
- * or
- * -f FILENAME
- * Test if the file FILENAME exists
- * or
- * -k
- * Test if "autoclean" (i.e. called from the kernel)
- * or
- * ! EXPRESSION
- * A negated expression is also an expression
- *
- * if EXPRESSION
- * any config line
- * ...
- * elseif EXPRESSION
- * any config line
- * ...
- * else
- * any config line
- * ...
- * endif
- *
- * The else and elseif keywords are optional.
- * "if"-statements nest up to 20 levels.
- */
-
- state[0] = 1;
-
- if (force_ver)
- version = force_ver;
- else
- version = uts_info.release;
-
- config_version = xstrdup(version);
-
- /* Only read the default entries on the first file */
- if (depth == 0) {
- maxpath = 100;
- modpath = (struct PATH_TYPE *)xmalloc(maxpath * sizeof(struct PATH_TYPE));
- nmodpath = 0;
-
- maxexecs = 10;
- execs = (struct EXEC_TYPE *)xmalloc(maxexecs * sizeof(struct EXEC_TYPE));
- nexecs = 0;
-
- /*
- * Build predef options
- */
- if (all && optlist[0])
- n_opt_list = build_list(optlist, &opt_list, version, 1);
-
- /*
- * Build predef above
- */
- if (all && above[0])
- n_abovelist = build_list(above, &abovelist, version, 0);
-
- /*
- * Build predef below
- */
- if (all && below[0])
- n_belowlist = build_list(below, &belowlist, version, 0);
-
- /*
- * Build predef prune list
- */
- if (prune[0])
- n_prunelist = build_list(prune, &prunelist, version, 0);
-
- /*
- * Build predef aliases
- */
- if (all && aliaslist[0])
- n_aliases = build_list(aliaslist, &aliases, version, 0);
-
- /* Order and priority is now: (MODPATH + modules.conf) || (predefs + modules.conf) */
- if ((envpath = getenv("MODPATH")) != NULL && !safemode) {
- size_t len;
- char *p;
- char *path;
-
- /* Make a copy so's we can mung it with strtok. */
- len = strlen(envpath) + 1;
- p = alloca(len);
- memcpy(p, envpath, len);
- path = alloca(PATH_MAX);
-
- for (p = strtok(p, ":"); p != NULL; p = strtok(NULL, ":")) {
- len = snprintf(path, PATH_MAX, p, version);
- modpath[nmodpath].path = xstrdup(path);
- if ((type = strrchr(path, '/')) != NULL)
- type += 1;
- else
- type = "misc";
- modpath[nmodpath].type = xstrdup(type);
- if (++nmodpath >= maxpath) {
- maxpath += 100;
- modpath = (struct PATH_TYPE *)xrealloc(modpath,
- maxpath * sizeof(struct PATH_TYPE));
- }
-
- }
- } else {
- /*
- * Build the default "path[type]" configuration
- */
- int n;
- char *k;
-
- /* The first entry in the path list */
- modpath[nmodpath].type = xstrdup("boot");
- snprintf(tmpline, sizeof(tmpline), "%s/lib/modules/boot", base_dir);
- modpath[nmodpath].path = xstrdup(tmpline);
- ++nmodpath;
-
- /* The second entry in the path list, `uname -r` */
- modpath[nmodpath].type = xstrdup("toplevel");
- snprintf(tmpline, sizeof(tmpline), "%s/lib/modules/%s", base_dir, version);
- modpath[nmodpath].path = xstrdup(tmpline);
- ++nmodpath;
-
- /* The third entry in the path list, `kernelversion` */
- modpath[nmodpath].type = xstrdup("toplevel");
- for (n = 0, k = version; *k; ++k) {
- if (*k == '.' && ++n == 2)
- break;
- }
- snprintf(tmpline, sizeof(tmpline), "%s/lib/modules/%.*s", base_dir,
- (/* typecast for Alpha */ int)(k - version), version);
- modpath[nmodpath].path = xstrdup(tmpline);
- ++nmodpath;
-
- /* The rest of the entries in the path list */
- for (pathp = tbpath; *pathp; ++pathp) {
- char **type;
-
- for (type = tbtype; *type; ++type) {
- char path[PATH_MAX];
-
- snprintf(path, sizeof(path), "%s%s/%s", base_dir, *pathp, *type);
- if (meta_expand(path, &g, NULL, version, ME_ALL))
- return -1;
-
- for (glb = g.pathv; glb && *glb; ++glb) {
- modpath[nmodpath].type = xstrdup(*type);
- modpath[nmodpath].path = *glb;
- if (++nmodpath >= maxpath) {
- maxpath += 100;
- modpath = (struct PATH_TYPE *)xrealloc(modpath,
- maxpath * sizeof(struct PATH_TYPE));
- }
- }
- }
- }
- }
-
- /* Environment overrides for testing only, undocumented */
- for (i = 0; i < gen_file_count; ++i)
- gen_file_env(gen_file+i);
-
- } /* End of depth == 0 */
-
- if (conf_file ||
- ((conf_file = getenv("MODULECONFIG")) != NULL && *conf_file && !safemode)) {
- if (!(fin = fopen(conf_file, "r"))) {
- error("Can't open %s", conf_file);
- return -1;
- }
- conf_file_specified = 1;
- } else {
- if (!(fin = fopen((conf_file = ETC_MODULES_CONF), "r"))) {
- /* Fall back to non-standard name */
- if ((fin = fopen((conf_file = old_name), "r"))) {
- fprintf(stderr,
- "Warning: modutils is reading from %s because\n"
- " %s does not exist. The use of %s is\n"
- " deprecated, please rename %s to %s\n"
- " as soon as possible. Command\n"
- " mv %s %s\n",
- old_name, ETC_MODULES_CONF,
- old_name, old_name, ETC_MODULES_CONF,
- old_name, ETC_MODULES_CONF);
- }
- /* So what... use the default configuration */
- }
- }
-
- if (fin) {
- struct stat statbuf1, statbuf2;
- if (fstat(fileno(fin), &statbuf1) == 0)
- config_mtime = statbuf1.st_mtime;
- config_file = xstrdup(conf_file); /* Save name actually used */
- if (!conf_file_specified &&
- stat(ETC_MODULES_CONF, &statbuf1) == 0 &&
- stat(old_name, &statbuf2) == 0) {
- /* Both /etc files exist */
- if (statbuf1.st_dev == statbuf2.st_dev &&
- statbuf1.st_ino == statbuf2.st_ino) {
- if (lstat(ETC_MODULES_CONF, &statbuf1) == 0 &&
- S_ISLNK(statbuf1.st_mode))
- fprintf(stderr,
- "Warning: You do not need a link from %s to\n"
- " %s. The use of %s is deprecated,\n"
- " please remove %s and rename %s\n"
- " to %s as soon as possible. Commands.\n"
- " rm %s\n"
- " mv %s %s\n",
- ETC_MODULES_CONF, old_name,
- old_name, ETC_MODULES_CONF, old_name, ETC_MODULES_CONF,
- ETC_MODULES_CONF,
- old_name, ETC_MODULES_CONF);
- else {
-#ifndef NO_WARN_ON_OLD_LINK
- fprintf(stderr,
- "Warning: You do not need a link from %s to\n"
- " %s. The use of %s is deprecated,\n"
- " please remove %s as soon as possible. Command\n"
- " rm %s\n",
- old_name, ETC_MODULES_CONF,
- old_name, old_name,
- old_name);
-#endif
- }
- }
- else
- fprintf(stderr,
- "Warning: modutils is reading from %s and\n"
- " ignoring %s. The use of %s is deprecated,\n"
- " please remove %s as soon as possible. Command\n"
- " rm %s\n",
- ETC_MODULES_CONF, old_name,
- old_name, old_name,
- old_name);
- }
- }
-
- /*
- * Finally, decode the file
- */
- while (fin && fgets_strip(buf, sizeof(buf) - 1, fin, &lineno) != NULL) {
- char *arg2;
- char *parm = buf;
- char *arg;
- int one_err = 0;
- int adding;
-
- while (isspace(*parm))
- parm++;
-
- if (strncmp(parm, "add", 3) == 0) {
- adding = 1;
- parm += 3;
- while (isspace(*parm))
- parm++;
- } else
- adding = 0;
-
- arg = parm;
-
- if (*parm == '\0')
- continue;
-
- one_err = 1;
-
- while (*arg > ' ' && *arg != '=')
- arg++;
-
- if (*arg == '=')
- assgn = 1;
- else
- assgn = 0;
- *arg++ = '\0';
- while (isspace(*arg))
- arg++;
-
- /*
- * endif
- */
- if (!assgn && strcmp(parm, "endif") == 0) {
- if (level > 0)
- --level;
- else {
- error("unmatched endif in line %d", lineno);
- return -1;
- }
- continue;
- }
-
- /*
- * else
- */
- if (!assgn && strcmp(parm, "else") == 0) {
- if (level <= 0) {
- error("else without if in line %d", lineno);
- return -1;
- }
- state[level] = !state[level];
- continue;
- }
-
- /*
- * elseif
- */
- if (!assgn && strcmp(parm, "elseif") == 0) {
- if (level <= 0) {
- error("elseif without if in line %d", lineno);
- return -1;
- }
- if (state[level] != 0) {
- /*
- * We have already found a TRUE
- * if statement in this "chain".
- * That's what "2" means.
- */
- state[level] = 2;
- continue;
- }
- /* else: No TRUE if has been found, cheat */
- /*
- * The "if" handling increments level,
- * but this is the _same_ level as before.
- * So, compensate for it.
- */
- --level;
- parm = "if";
- /* Fallthru to "if" */
- }
-
- /*
- * if
- */
- if (strcmp(parm, "if") == 0) {
- char *cmp;
- int not = 0;
- int numeric = 0;
-
- if (level >= MAX_LEVEL) {
- error("Too many nested if's in line %d\n", lineno);
- return -1;
- }
- state[++level] = 0; /* default false */
-
- if (*arg == '!') {
- not = 1;
- arg = next_word(arg);
- }
-
- if (strncmp(arg, "-k", 2) == 0) {
- state[level] = flag_autoclean;
- continue;
- }
-
- if (strncmp(arg, "-f", 2) == 0) {
- char *file = next_word(arg);
- meta_expand(file, &g, NULL, version, ME_ALL);
- if (access(g.pathc ? g.pathv[0] : file, R_OK) == 0)
- state[level] = !not;
- else
- state[level] = not;
- continue;
- }
-
- if (strncmp(arg, "-n", 2) == 0) {
- numeric = 1;
- arg = next_word(arg);
- }
-
-
- cmp = next_word(arg);
- if (*cmp) {
- GLOB_LIST g2;
- long n1 = 0;
- long n2 = 0;
- char *w1 = "";
- char *w2 = "";
-
- arg2 = next_word(cmp);
-
- meta_expand(arg, &g, NULL, version, ME_ALL);
- if (g.pathc && g.pathv[0])
- w1 = g.pathv[0];
-
- meta_expand(arg2, &g2, NULL, version, ME_ALL);
- if (g2.pathc && g2.pathv[0])
- w2 = g2.pathv[0];
-
- if (numeric) {
- n1 = strtol(w1, NULL, 0);
- n2 = strtol(w2, NULL, 0);
- }
-
- if (strcmp(cmp, "==") == 0 ||
- strcmp(cmp, "=") == 0) {
- if (numeric)
- state[level] = (n1 == n2);
- else
- state[level] = strcmp(w1, w2) == 0;
- } else if (strcmp(cmp, "!=") == 0) {
- if (numeric)
- state[level] = (n1 != n2);
- else
- state[level] = strcmp(w1, w2) != 0;
- } else if (strcmp(cmp, ">=") == 0) {
- if (numeric)
- state[level] = (n1 >= n2);
- else
- state[level] = strcmp(w1, w2) >= 0;
- } else if (strcmp(cmp, "<=") == 0) {
- if (numeric)
- state[level] = (n1 <= n2);
- else
- state[level] = strcmp(w1, w2) <= 0;
- } else if (strcmp(cmp, ">") == 0) {
- if (numeric)
- state[level] = (n1 > n2);
- else
- state[level] = strcmp(w1, w2) > 0;
- } else if (strcmp(cmp, "<") == 0) {
- if (numeric)
- state[level] = (n1 < n2);
- else
- state[level] = strcmp(w1, w2) < 0;
- }
- } else { /* Check defined value, if any */
- /* undef or defined as
- * "" or "0" or "false" => false
- * defined => true
- */
- if (!meta_expand(arg, &g, NULL, version, ME_ALL) &&
- g.pathc > 0 &&
- strcmp(g.pathv[0], "0") != 0 &&
- strcmp(g.pathv[0], "false") != 0 &&
- strlen(g.pathv[0]) != 0)
- state[level] = 1; /* true */
- }
- if (not)
- state[level] = !state[level];
-
- continue;
- }
-
- /*
- * Should we bother?
- */
- if (state[level] != 1)
- continue;
-
- /*
- * define
- */
- if (!assgn && strcmp(parm, "define") == 0) {
- char env[PATH_MAX];
-
- arg2 = next_word(arg);
- meta_expand(arg2, &g, NULL, version, ME_ALL);
- snprintf(env, sizeof(env), "%s=%s", arg, (g.pathc ? g.pathv[0] : ""));
- putenv(env);
- one_err = 0;
- }
-
- /*
- * include
- */
- if (!assgn && strcmp(parm, "include") == 0) {
- meta_expand(arg, &g, NULL, version, ME_ALL);
-
- if (!do_read(all, version, base_dir, g.pathc ? g.pathv[0] : arg, depth+1))
- one_err = 0;
- else
- error("include %s failed\n", arg);
- }
-
- /*
- * above
- */
- else if (all && !assgn && strcmp(parm, "above") == 0) {
- decode_list(&n_abovelist, &abovelist, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * below
- */
- else if (all && !assgn && strcmp(parm, "below") == 0) {
- decode_list(&n_belowlist, &belowlist, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * prune
- */
- else if (all && !assgn && strcmp(parm, "prune") == 0) {
- decode_list(&n_prunelist, &prunelist, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * probe
- */
- else if (all && !assgn && strcmp(parm, "probe") == 0) {
- decode_list(&n_probe_list, &probe_list, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * probeall
- */
- else if (all && !assgn && strcmp(parm, "probeall") == 0) {
- decode_list(&n_probeall_list, &probeall_list, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * options
- */
- else if (all && !assgn && strcmp(parm, "options") == 0) {
- decode_list(&n_opt_list, &opt_list, arg, adding, version, 1);
- one_err = 0;
- }
-
- /*
- * alias
- */
- else if (all && !assgn && strcmp(parm, "alias") == 0) {
- /*
- * Replace any previous (default) definitions
- * for the same module
- */
- decode_list(&n_aliases, &aliases, arg, 0, version, 0);
- one_err = 0;
- }
-
- /*
- * Specification: /etc/modules.conf
- * The format of the commands in /etc/modules.conf are:
- *
- * pre-install module command
- * install module command
- * post-install module command
- * pre-remove module command
- * remove module command
- * post-remove module command
- *
- * The different words are separated by tabs or spaces.
- */
- /*
- * pre-install
- */
- else if (all && !assgn && (strcmp(parm, "pre-install") == 0)) {
- decode_exec(arg, EXEC_PRE_INSTALL);
- one_err = 0;
- }
-
- /*
- * install
- */
- else if (all && !assgn && (strcmp(parm, "install") == 0)) {
- decode_exec(arg, EXEC_INSTALL);
- one_err = 0;
- }
-
- /*
- * post-install
- */
- else if (all && !assgn && (strcmp(parm, "post-install") == 0)) {
- decode_exec(arg, EXEC_POST_INSTALL);
- one_err = 0;
- }
-
- /*
- * pre-remove
- */
- else if (all && !assgn && (strcmp(parm, "pre-remove") == 0)) {
- decode_exec(arg, EXEC_PRE_REMOVE);
- one_err = 0;
- }
-
- /*
- * remove
- */
- else if (all && !assgn && (strcmp(parm, "remove") == 0)) {
- decode_exec(arg, EXEC_REMOVE);
- one_err = 0;
- }
-
- /*
- * post-remove
- */
- else if (all && !assgn && (strcmp(parm, "post-remove") == 0)) {
- decode_exec(arg, EXEC_POST_REMOVE);
- one_err = 0;
- }
-
- /*
- * insmod_opt=
- */
- else if (assgn && (strcmp(parm, "insmod_opt") == 0)) {
- insmod_opt = xstrdup(arg);
- one_err = 0;
- }
-
- /*
- * keep
- */
- else if (!assgn && (strcmp(parm, "keep") == 0)) {
- drop_default_paths = 0;
- one_err = 0;
- }
-
- /*
- * path...=
- */
- else if (assgn && strncmp(parm, "path", 4) == 0) {
- /*
- * Specification: config file / path parameter
- * The path parameter specifies a directory to
- * search for modules.
- * This parameter may be repeated multiple times.
- *
- * Note that the actual path may be defined using
- * wildcards and other shell meta-chars, such as "*?`".
- * For example:
- * path[misc]=/lib/modules/1.1.5?/misc
- *
- * Optionally the path keyword carries a tag.
- * This tells us a little more about the purpose of
- * this directory and allows some automated operations.
- * A path is marked with a tag by adding the tag,
- * enclosed in square brackets, to the path keyword:
- * #
- * path[boot]=/lib/modules/boot
- * #
- * This case identifies the path a of directory
- * holding modules loadable a boot time.
- */
-
- if (drop_default_paths) {
- int n;
-
- /*
- * Specification: config file / path / default
- *
- * Whenever there is a path[] specification
- * in the config file, all the default
- * path are reset.
- *
- * If one instead wants to _add_ to the default
- * set of paths, one has to have the option
- * keep
- * before the first path[]-specification line
- * in the configuration file.
- */
- drop_default_paths = 0;
- for (n = 0; n < nmodpath; n++) {
- free(modpath[n].path);
- free(modpath[n].type);
- }
- nmodpath = 0;
- }
-
- /*
- * Get (the optional) tag
- * If the tag is missing, the word "misc"
- * is assumed.
- */
- type = "misc";
-
- if (parm[4] == '[') {
- char *pt_type = parm + 5;
-
- while (*pt_type != '\0' && *pt_type != ']')
- pt_type++;
-
- if (*pt_type == ']' && pt_type[1] == '\0') {
- *pt_type = '\0';
- type = parm + 5;
- } /* else CHECKME */
- }
-
- /*
- * Handle the actual path description
- */
- if (meta_expand(arg, &g, base_dir, version, ME_ALL))
- return -1;
- for (glb = g.pathv; glb && *glb; ++glb) {
- modpath[nmodpath].type = xstrdup(type);
- modpath[nmodpath].path = *glb;
- if (++nmodpath >= maxpath) {
- maxpath += 100;
- modpath = (struct PATH_TYPE *)xrealloc(modpath,
- maxpath * sizeof(struct PATH_TYPE));
- }
- }
- one_err = 0;
- }
-
- /*
- * persistdir
- */
- else if (assgn && strcmp(parm, "persistdir") == 0) {
- meta_expand(arg, &g, NULL, version, ME_ALL);
- persistdir = xstrdup(g.pathc ? g.pathv[0] : arg);
- one_err = 0;
- }
-
- /* Names for generated files in config file */
- for (i = 0; one_err && i < gen_file_count; ++i)
- one_err = gen_file_conf(gen_file+i, assgn, parm, arg);
-
- /*
- * any errors so far?
- */
- if (all == 0)
- one_err = 0;
- else if (one_err) {
- error("Invalid line %d in %s\n\t%s",
- lineno, conf_file, buf);
- ret = -1;
- }
- }
- if (fin)
- fclose(fin);
-
- if (level) {
- error("missing endif at %s EOF", conf_file);
- ret = -1;
- }
-
- if (ret)
- return ret;
- /* else */
-
- /* Check we have names for generated files */
- for (i = 0; !ret && i < gen_file_count; ++i)
- ret = gen_file_check(gen_file+i, &g, base_dir, version);
-
- return ret;
-}
-
-int config_read(int all, char *force_ver, char *base_dir, char *conf_file)
-{
- int r;
- if (modpath != NULL)
- return 0; /* already initialized */
-
- if (uname(&uts_info) < 0) {
- error("Failed to find kernel name information");
- return -1;
- }
-
- r = do_read(all, force_ver, base_dir, conf_file, 0);
-
- if (quick && !r && !need_update (force_ver, base_dir))
- exit (0);
-
- return r;
-}
-
-/****************************************************************************/
-/*
- * FIXME: Far too much global state. KAO.
- */
-static int found;
-static int favail;
-static int one_only;
-static int meta_expand_type;
-char **list;
-static const char *filter_by_file;
-static char *filter_by_dir;
-
-/*
- * Add a file name if it exist
- */
-static int config_add(const char *file, const struct stat *sb)
-{
- int i;
- int npaths = 0;
- char **paths = NULL;
-
- if (meta_expand_type) {
- GLOB_LIST g;
- char **p;
- char full[PATH_MAX];
-
- snprintf(full, sizeof(full), "%s/%s", file, filter_by_file);
-
- if (filter_by_dir && !strstr(full, filter_by_dir))
- return 0;
-
- if (meta_expand(full, &g, NULL, config_version, meta_expand_type))
- return 1;
- for (p = g.pathv; p && *p; ++p) {
- paths = (char **)xrealloc(paths,
- (npaths + 1) * sizeof(char *));
- paths[npaths++] = *p;
- }
- } else { /* normal path match or match with "*" */
- if (!S_ISREG(sb->st_mode))
- return 0;
-
- if (strcmp(filter_by_file, "*")) {
- char *p;
-
- if ((p = strrchr(file, '/')) == NULL)
- p = (char *)file;
- else
- p += 1;
-
- if (strcmp(p, filter_by_file))
- return 0;
- }
- if (filter_by_dir && !strstr(file, filter_by_dir))
- return 0;
- paths = (char **)xmalloc(sizeof(char **));
- *paths = xstrdup(file);
- npaths = 1;
- }
-
- for (i = 0; i < npaths; ++i) {
- struct stat sbuf;
-
- if (S_ISDIR(sb->st_mode)) {
- if (stat(paths[i], &sbuf) == 0)
- sb = &sbuf;
- }
- if (S_ISREG(sb->st_mode) && sb->st_mode & S_IRUSR) {
- int j;
- char **this;
-
- if (!root_check_off) {
- if (sb->st_uid != 0) {
- error("%s is not owned by root", paths[i]);
- continue;
- }
- }
-
- /* avoid duplicates */
- for (j = 0, this = list; j < found; ++j, ++this) {
- if (strcmp(*this, paths[i]) == 0) {
- free(paths[i]);
- goto next;
- }
- }
-
- list[found] = paths[i];
- if (++found >= favail)
- list = (char **)xrealloc(list,
- (favail += 100) * sizeof(char *));
-
- if (one_only) {
- for (j = i + 1; j < npaths; ++j)
- free(paths[j]);
- free(paths);
- return 1; /* finish xftw */
- }
- }
- next:
- }
-
- if (npaths > 0)
- free(paths);
-
- return 0;
-}
-
-/*
- * Find modules matching the name "match" in directory of type "type"
- * (type == NULL matches all)
- *
- * Return a pointer to the list of modules found (or NULL if error).
- * Update the counter (sent as parameter).
- */
-GLOB_LIST *config_lstmod(const char *match, const char *type, int first_only)
-{
- /*
- * Note:
- * There are _no_ wildcards remaining in the path descriptions!
- */
- struct stat sb;
- int i;
- int ret = 0;
- char *path = NULL;
- char this[PATH_MAX];
-
- if (!match)
- match = "*";
- one_only = first_only;
- found = 0;
- filter_by_file = match;
- filter_by_dir = NULL;
- if (type) {
- char tmpdir[PATH_MAX];
- snprintf(tmpdir, sizeof(tmpdir), "/%s/", type);
- filter_by_dir = xstrdup(tmpdir);
- }
- /* In safe mode, the module name is always handled as is, without meta
- * expansion. It might have come from an end user via kmod and must
- * not be trusted. Even in unsafe mode, only apply globbing to the
- * module name, not command expansion. We trust config file input so
- * applying command expansion is safe, we do not trust command line input.
- * This assumes that the only time the user can specify -C config file
- * is when they run under their own authority. In particular all
- * mechanisms that call modprobe as root on behalf of the user must
- * run in safe mode, without letting the user supply a config filename.
- */
- meta_expand_type = 0;
- if (strpbrk(match, SHELL_META) && strcmp(match, "*") && !safemode)
- meta_expand_type = ME_GLOB|ME_BUILTIN_COMMAND;
-
- list = (char **)xmalloc((favail = 100) * sizeof(char *));
-
- for (i = 0; i < nmodpath; i++) {
- path = modpath[i].path;
- /* Special case: insmod: handle single, non-wildcard match */
- if (first_only && strpbrk(match, SHELL_META) == NULL) {
- /* Fix for "2.1.121 syntax */
- snprintf(this, sizeof(this), "%s/%s/%s", path,
- modpath[i].type, match);
- if (stat(this, &sb) == 0 &&
- config_add(this, &sb))
- break;
- /* End fix for "2.1.121 syntax */
-
- snprintf(this, sizeof(this), "%s/%s", path, match);
- if (stat(this, &sb) == 0 &&
- config_add(this, &sb))
- break;
- }
-
- /* Start looking */
- if ((ret = xftw(path, config_add))) {
- break;
- }
- }
- if (ret >= 0) {
- GLOB_LIST *g = (GLOB_LIST *)xmalloc(sizeof(GLOB_LIST));
- g->pathc = found;
- g->pathv = list;
- free(filter_by_dir);
- return g;
- }
- free(list);
- free(filter_by_dir);
- return NULL;
-}
-
-/* Given a bare module name, poke through the module path to find the file. */
-char *search_module_path(const char *base)
-{
- GLOB_LIST *g;
-
- if (config_read(0, NULL, "", NULL) < 0)
- return NULL;
- /* else */
- g = config_lstmod(base, NULL, 1);
- if (g == NULL || g->pathc == 0) {
- char base_o[PATH_MAX];
-
- snprintf(base_o, sizeof(base_o), "%s.o", base);
- g = config_lstmod(base_o, NULL, 1);
-#ifdef CONFIG_USE_ZLIB
- if (g == NULL || g->pathc == 0) {
- snprintf(base_o, sizeof(base_o), "%s.o.gz", base);
- g = config_lstmod(base_o, NULL, 1);
- }
-#endif
- }
- if (g == NULL || g->pathc == 0)
- return NULL;
- /* else */
- return g->pathv[0];
-}
diff --git a/mdk-stage1/insmod-modutils/util/gzfiles.c b/mdk-stage1/insmod-modutils/util/gzfiles.c
deleted file mode 100644
index 8d02253bb..000000000
--- a/mdk-stage1/insmod-modutils/util/gzfiles.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This simple library intends to make it transparent to read gzipped and/or
- * standard files. This is simple enough to fit modutils' needs, but may be
- * easily adapted to anyone's needs. It's completely free, do what you want
- * with it . - Willy Tarreau <willy@meta-x.org> - 2000/05/05 -
- */
-
-#ifdef CONFIG_USE_ZLIB
-
-#include <stdio.h>
-#include <zlib.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-/* redefinition of gz_stream which isn't exported by zlib */
-typedef struct gz_stream {
- z_stream stream;
- int z_err; /* error code for last stream operation */
- int z_eof; /* set if end of input file */
- FILE *file; /* .gz file */
- Byte *inbuf; /* input buffer */
- Byte *outbuf; /* output buffer */
- uLong crc; /* crc32 of uncompressed data */
- char *msg; /* error message */
- char *path; /* path name for debugging only */
- int transparent; /* 1 if input file is not a .gz file */
- char mode; /* 'w' or 'r' */
- long startpos; /* start of compressed data in file (header skipped) */
-} gz_stream;
-
-/* maximum number of simultaneous open files, also greater file descriptor number */
-#define MAXFD 64
-
-/* this static list is assumed to be filled with NULLs at runtime */
-static gzFile gzf_fds[MAXFD];
-
-/* returns the filedesc of the opened file. */
-int gzf_open(const char *name, int mode) {
- int fd;
- gzFile g;
-
- if ((g=gzopen(name, "rb")) != NULL) {
- fd=fileno(((gz_stream*)g)->file);
- gzf_fds[fd]=g;
- }
- else if ((fd=open(name, mode)) != -1) {
- gzf_fds[fd]=NULL; /* NULL means not GZ mode */
- }
- return fd;
-}
-
-off_t gzf_lseek(int fd, off_t offset, int whence) {
- if (fd<0 || fd>=MAXFD || gzf_fds[fd]==NULL)
- return lseek(fd, offset, whence);
- else
- return gzseek(gzf_fds[fd], offset, whence);
-}
-
-int gzf_read(int fd, void *buf, size_t count) {
- if (fd<0 || fd>=MAXFD || gzf_fds[fd]==NULL)
- return read(fd, buf, count);
- else
- return gzread(gzf_fds[fd], buf, count);
-}
-
-void gzf_close(int fd) {
- if (fd<0 || fd>=MAXFD || gzf_fds[fd]==NULL)
- close(fd);
- else
- gzclose(gzf_fds[fd]);
-}
-#endif
-
diff --git a/mdk-stage1/insmod-modutils/util/logger.c b/mdk-stage1/insmod-modutils/util/logger.c
deleted file mode 100644
index 3b790df5a..000000000
--- a/mdk-stage1/insmod-modutils/util/logger.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Error logging facilities.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-
-#ident "$Id$"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <syslog.h>
-
-#include "util.h"
-
-/*======================================================================*/
-
-int errors;
-const char *error_file;
-int log;
-
-#define STOREMSG
-#ifdef STOREMSG
-struct cbuf {
- struct cbuf *next;
- int type;
- char *msg;
-} *head, *tail;
-
-static void savemsg(int type, char *msg)
-{
- struct cbuf *me = (struct cbuf *)xmalloc(sizeof(struct cbuf));
- char *s = xstrdup(msg);
-
- me->next = NULL;
- me->type = type;
- me->msg = s;
-
- if (tail)
- tail->next = me;
- else
- head = me;
- tail = me;
-}
-
-#endif /* STOREMSG */
-
-static void dumpmsg(void)
-{
- for (;head; head = head->next)
- syslog(head->type, "%s", head->msg);
-}
-
-void setsyslog(const char *program)
-{
- openlog(program, LOG_CONS, LOG_DAEMON);
-#ifdef STOREMSG
- atexit(dumpmsg);
-#endif
- log = 1;
-}
-
-
-
-#ifdef _STANDALONE_
-static int silent;
-
-const char *program_name;
-
-void error(const char *fmt,...)
-{
- va_list args;
-
- if (silent)
- ;
- else if (log) {
- char buf[1024];
- int n;
-
- if (error_file)
- n = snprintf(buf, sizeof(buf), "%s: ", error_file);
- else
- n = 0;
- va_start(args, fmt);
- vsnprintf(buf + n, sizeof(buf) - n, fmt, args);
- va_end(args);
-#ifdef STOREMSG
- savemsg(LOG_ERR, buf);
-#else
- syslog(LOG_ERR, "%s", buf);
-#endif
- } else {
- if (error_file)
- fprintf(stderr, "%s: ", error_file);
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- putc('\n', stderr);
- }
-
- errors++;
-}
-
-void lprintf(const char *fmt,...)
-{
- va_list args;
-
- if (silent);
- else if (log) {
- char buf[1024];
- va_start(args, fmt);
- vsnprintf(buf, sizeof(buf), fmt, args);
- va_end(args);
-#ifdef STOREMSG
- savemsg(LOG_INFO, buf);
-#else
- syslog(LOG_INFO, "%s", buf);
-#endif
- } else {
- va_start(args, fmt);
- vfprintf(stdout, fmt, args);
- va_end(args);
- putchar('\n');
- }
-}
-
-#else /* _STANDALONE_ */
-#include "../../log.h"
-void error(const char *s, ...)
-{
- va_list p;
-
- va_start(p, s);
- vlog_message(s, p);
- va_end(p);
-}
-
-void lprintf(const char *s, ...)
-{
- va_list p;
-
- va_start(p, s);
- vlog_message(s, p);
- va_end(p);
-}
-#endif
diff --git a/mdk-stage1/insmod-modutils/util/meta_expand.c b/mdk-stage1/insmod-modutils/util/meta_expand.c
deleted file mode 100644
index 41fb4024c..000000000
--- a/mdk-stage1/insmod-modutils/util/meta_expand.c
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * Handle expansion of meta charaters
- *
- * Copyright 1999 Bjrn Ekwall <bj0rn@blox.se>
- *
- * "kernelversion" idea from the Debian release via:
- * Wichert Akkerman <wakkerma@cs.leidenuniv.nl>
- *
- * Use wordexp(): idea from Tim Waugh <tim@cyberelk.demon.co.uk>
- *
- * Alpha typecast: Michal Jaegermann <michal@ellpspace.math.ualberta.ca>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_WORDEXP
-#undef HAVE_WORDEXP
-#define HAVE_WORDEXP 0
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <string.h>
-#include <ctype.h>
-#if HAVE_WORDEXP
-#include <wordexp.h>
-#elif HAVE_GLOB
-#include <glob.h>
-#endif
-#include "util.h"
-
-/*
- * Split into words delimited by whitespace,
- * handle remaining quotes though...
- * If strip_quotes != 0 then strip one level of quotes from the line.
- */
-static void split_line(GLOB_LIST *g, char *line, int strip_quotes)
-{
- int len;
- char *d;
- char *e;
- char *p;
- char tmpline[PATH_MAX];
-
- for (p = line; *p; p = e) {
- /* Skip leading whitespace */
- while (*p && isspace(*p))
- ++p;
-
- /* find end of word */
- d = tmpline;
- for (e = p; *e && !(isspace(*e)); ++e) {
- char match;
-
- /* Quote handling */
- switch (*e) {
- case '\\':
- if (!strip_quotes)
- *d++ = *e;
- break;
-
- case '"':
- case '\'':
- match = *e;
- if (!strip_quotes)
- *d++ = *e;
- for (++e; *e && *e != match; ++e) {
- *d++ = *e;
- if (*e == '\\' && *(e + 1) == match)
- *d++ = *++e;
- }
- if (!strip_quotes)
- *d++ = *e;
- break;
-
- default:
- *d++ = *e;
- break;
- }
- }
-
- if ((len = (int)(d - tmpline)) > 0) {
- char *str = xmalloc(len + 1);
- strncpy(str, tmpline, len);
- str[len] = '\0';
- g->pathv = (char **)xrealloc(g->pathv,
- (g->pathc + 2) * sizeof(char *));
- g->pathv[g->pathc++] = str;
- }
- }
-
- if (g->pathc)
- g->pathv[g->pathc] = NULL;
-}
-
-static int glob_it(char *pt, GLOB_LIST *g)
-{
-#if HAVE_WORDEXP
- wordexp_t w;
-
- memset(&w, 0, sizeof(w));
- if (wordexp(pt, &w, WRDE_UNDEF)) {
- /*
- error("wordexp %s failed", pt);
- */
- return -1;
- }
- /* else */
- g->pathc = w.we_wordc;
- g->pathv = w.we_wordv;
-
- return 0;
-#elif HAVE_GLOB /* but not wordexp */
- glob_t w;
-
- memset(&w, 0, sizeof(w));
- if (glob(pt, GLOB_NOSORT, NULL, &w)) {
- /*
- error("glob %s failed", pt);
- */
- return -1;
- }
- /* else */
- if (w.gl_pathc && strpbrk(w.gl_pathv[0], SHELL_META)) {
- globfree(&w);
- return -1;
- }
- g->pathc = w.gl_pathc;
- g->pathv = w.gl_pathv;
-
- return 0;
-#else /* Neither wordexp nor glob */
- return -1;
-#endif
-}
-
-/*
- * Expand the string (including meta-character) to a list of matches
- *
- * Return 0 if OK else -1
- */
-int meta_expand(char *pt, GLOB_LIST *g, char *base_dir, char *version, int type)
-{
- FILE *fin;
- int len = 0;
- char *line = NULL;
- char *p, *p1;
- char tmpline[PATH_MAX + 1];
- char wrk[sizeof(tmpline)];
- char tmpcmd[2*sizeof(tmpline)+20]; /* room for /bin/echo "text" */
-
- g->pathc = 0;
- g->pathv = NULL;
-
- /*
- * Take care of version dependent expansions
- * Needed for forced version handling
- */
- if ((p = strchr(pt, '`')) != NULL && (type & ME_BUILTIN_COMMAND)) {
- do {
- char *s;
-
- for (s = p + 1; isspace(*s); ++s)
- ;
-
- if (strncmp(s, "uname -r", 8) == 0) {
- while (*s && (*s != '`'))
- ++s;
- if (*s == '`') {
- *p = '\0';
- snprintf(wrk, sizeof(wrk), "%s%s%s",
- pt,
- version,
- s + 1);
- *p = '`';
- }
- strcpy(tmpline, wrk); /* safe, same size */
- pt = tmpline;
- } else if (strncmp(s, "kernelversion", 13) == 0) {
- while (*s && (*s != '`'))
- ++s;
- if (*s == '`') {
- int n;
- char *k;
-
- *p = '\0';
- for (n = 0, k = version; *k; ++k) {
- if (*k == '.' && ++n == 2)
- break;
- }
- snprintf(wrk, sizeof(wrk), "%s%.*s%s",
- pt,
- /* typecast for Alpha */
- (int)(k - version),
- version,
- s + 1);
- *p = '`';
- strcpy(tmpline, wrk); /* safe, same size */
- pt = tmpline;
- }
- } else
- break;
- } while ((p = strchr(pt, '`')) != NULL);
- }
-
- /*
- * Any remaining meta-chars?
- */
- if (strpbrk(pt, SHELL_META) == NULL) {
- /*
- * No meta-chars.
- * Split into words, delimited by whitespace.
- */
- snprintf(wrk, sizeof(wrk), "%s%s", (base_dir ? base_dir : ""), pt);
- strcpy(tmpline, wrk); /* safe, same size */
- if ((p = strtok(tmpline, " \t\n")) != NULL) {
- while (p) {
- g->pathv = (char **)xrealloc(g->pathv,
- (g->pathc + 2) * sizeof(char *));
- g->pathv[g->pathc++] = xstrdup(p);
- p = strtok(NULL, " \t\n");
- }
- }
- if (g->pathc)
- g->pathv[g->pathc] = NULL;
- return 0;
- }
- /* else */
- /*
- * Handle remaining meta-chars
- */
-
- /*
- * Just plain quotes?
- */
- if (strpbrk(pt, "&();|<>$`!{}[]~=+:?*") == NULL &&
- (p = strpbrk(pt, "\"'\\"))) {
- split_line(g, pt, 1);
- return 0;
- }
-
- if (strpbrk(pt, "&();|<>$`\"'\\!{}~+:[]~?*") == NULL) {
- /* Only "=" remaining, should be module options */
- split_line(g, pt, 0);
- return 0;
- }
-
- /*
- * If there are meta-characters and
- * if they are only shell glob meta-characters: do globbing
- */
-#if HAVE_WORDEXP
- if (strpbrk(pt, "&();|<>`\"'\\!{}~=+:") == NULL &&
- strpbrk(pt, "$[]~?*"))
-#else
- if (strpbrk(pt, "&();|<>$`\"'\\!{}~=+:") == NULL &&
- strpbrk(pt, "[]~?*"))
-#endif
- if ((type & ME_GLOB) && glob_it(pt, g) == 0)
- return 0;
-
- if (strpbrk(pt, "&();|<>$`\"'\\!{}~+:[]~?*") == NULL) {
- /* Only "=" remaining, should be module options */
- split_line(g, pt, 0);
- return 0;
- }
-
- /*
- * Last resort: Use "echo".
- * DANGER: Applying shell expansion to user supplied input is a
- * major security risk. Modutils code should only do meta
- * expansion via shell commands for trusted data. Basically
- * this means only for data in the config file. Even that
- * assumes that the user cannot run modprobe as root with
- * their own config file. Programs (including the kernel)
- * that invoke modprobe as root with user supplied input must
- * pass exactly one user supplied parameter and must set
- * safe mode.
- */
- if (!(type & ME_SHELL_COMMAND))
- return 0;
- snprintf(wrk, sizeof(wrk), "%s%s", (base_dir ? base_dir : ""), pt);
- strcpy(tmpline, wrk); /* safe, same size */
- snprintf(tmpcmd, sizeof(tmpcmd), "/bin/echo \"");
- for (p = tmpline, p1 = tmpcmd + strlen(tmpcmd); *p; ++p, ++p1) {
- if (*p == '"' || *p == '\\')
- *p1++ = '\\';
- *p1 = *p;
- }
- *p1++ = '"';
- *p1++ = '\0';
- if (p1 - tmpcmd > sizeof(tmpcmd)) {
- error("tmpcmd overflow, should never happen");
- exit(1);
- }
- if ((fin = popen(tmpcmd, "r")) == NULL) {
- error("Can't execute: %s", tmpcmd);
- return -1;
- }
- /* else */
-
- /*
- * Collect the result
- */
- while (fgets(tmpcmd, PATH_MAX, fin) != NULL) {
- int l = strlen(tmpcmd);
-
- line = (char *)xrealloc(line, len + l + 1);
- line[len] = '\0';
- strcat(line + len, tmpcmd); /* safe, realloc */
- len += l;
- }
- pclose(fin);
-
- if (line) {
- /* shell used to strip one set of quotes. Paranoia code in
- * 2.3.20 stops that strip so we do it ourselves.
- */
- split_line(g, line, 1);
- free(line);
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/util/modstat.c b/mdk-stage1/insmod-modutils/util/modstat.c
deleted file mode 100644
index ad82306c0..000000000
--- a/mdk-stage1/insmod-modutils/util/modstat.c
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * Get kernel symbol table(s) and other relevant module info.
- *
- * Add module_name_list and l_module_name_list.
- * Keith Owens <kaos@ocs.com.au> November 1999.
- * Bjrn Ekwall <bj0rn@blox.se> in February 1999 (C)
- * Initial work contributed by Richard Henderson <rth@tamu.edu>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include "util.h"
-#include "module.h"
-#include "obj.h"
-#include "modstat.h"
-
-struct module_stat *module_stat;
-size_t n_module_stat;
-char *module_name_list;
-size_t l_module_name_list;
-struct module_symbol *ksyms;
-size_t nksyms;
-int k_new_syscalls;
-
-static void *old_kernsym;
-
-/************************************************************************/
-static void drop(void)
-{
- /*
- * Clean the slate for multiple runs
- */
- if (module_stat) {
- struct module_stat *m;
- int i;
-
- for (i = 0, m = module_stat; i < n_module_stat; ++i, ++m) {
- if (m->syms)
- free(m->syms);
- if (m->refs)
- free(m->refs);
- }
- free(module_stat);
- module_stat = NULL;
- n_module_stat = 0;
- }
- if (module_name_list) {
- free(module_name_list);
- module_name_list = NULL;
- l_module_name_list = 0;
- }
- if (ksyms) {
- free(ksyms);
- ksyms = NULL;
- nksyms = 0;
- }
- if (old_kernsym) {
- free(old_kernsym);
- old_kernsym = NULL;
- }
-}
-
-static int new_get_kernel_info(int type)
-{
- struct module_stat *modules;
- struct module_stat *m;
- struct module_symbol *syms;
- struct module_symbol *s;
- size_t ret;
- size_t bufsize;
- size_t nmod;
- size_t nsyms;
- size_t i;
- size_t j;
- char *module_names;
- char *mn;
-
- drop();
-
- /*
- * Collect the loaded modules
- */
- module_names = xmalloc(bufsize = 256);
- while (query_module(NULL, QM_MODULES, module_names, bufsize, &ret)) {
- if (errno != ENOSPC) {
- error("QM_MODULES: %m\n");
- return 0;
- }
- module_names = xrealloc(module_names, bufsize = ret);
- }
- module_name_list = module_names;
- l_module_name_list = bufsize;
- n_module_stat = nmod = ret;
- module_stat = modules = xmalloc(nmod * sizeof(struct module_stat));
- memset(modules, 0, nmod * sizeof(struct module_stat));
-
- /* Collect the info from the modules */
- for (i = 0, mn = module_names, m = modules;
- i < nmod;
- ++i, ++m, mn += strlen(mn) + 1) {
- struct module_info info;
-
- m->name = mn;
- if (query_module(mn, QM_INFO, &info, sizeof(info), &ret)) {
- if (errno == ENOENT) {
- /* The module was removed out from underneath us. */
- m->flags = NEW_MOD_DELETED;
- continue;
- }
- /* else oops */
- error("module %s: QM_INFO: %m", mn);
- return 0;
- }
-
- m->addr = info.addr;
-
- if (type & K_INFO) {
- m->size = info.size;
- m->flags = info.flags;
- m->usecount = info.usecount;
- m->modstruct = info.addr;
- }
-
- if (type & K_REFS) {
- int mm;
- char *mrefs;
- char *mr;
-
- mrefs = xmalloc(bufsize = 64);
- while (query_module(mn, QM_REFS, mrefs, bufsize, &ret)) {
- if (errno != ENOSPC) {
- error("QM_REFS: %m");
- return 1;
- }
- mrefs = xrealloc(mrefs, bufsize = ret);
- }
- for (j = 0, mr = mrefs;
- j < ret;
- ++j, mr += strlen(mr) + 1) {
- for (mm = 0; mm < i; ++mm) {
- if (strcmp(mr, module_stat[mm].name) == 0) {
- m->nrefs += 1;
- m->refs = xrealloc(m->refs, m->nrefs * sizeof(struct module_stat **));
- m->refs[m->nrefs - 1] = module_stat + mm;
- break;
- }
- }
- }
- free(mrefs);
- }
-
- if (type & K_SYMBOLS) { /* Want info about symbols */
- syms = xmalloc(bufsize = 1024);
- while (query_module(mn, QM_SYMBOLS, syms, bufsize, &ret)) {
- if (errno == ENOSPC) {
- syms = xrealloc(syms, bufsize = ret);
- continue;
- }
- if (errno == ENOENT) {
- /*
- * The module was removed out
- * from underneath us.
- */
- m->flags = NEW_MOD_DELETED;
- free(syms);
- goto next;
- } else {
- error("module %s: QM_SYMBOLS: %m", mn);
- return 0;
- }
- }
- nsyms = ret;
-
- m->nsyms = nsyms;
- m->syms = syms;
-
- /* Convert string offsets to string pointers */
- for (j = 0, s = syms; j < nsyms; ++j, ++s)
- s->name += (unsigned long) syms;
- }
- next:
- }
-
- if (type & K_SYMBOLS) { /* Want info about symbols */
- /* Collect the kernel's symbols. */
- syms = xmalloc(bufsize = 16 * 1024);
- while (query_module(NULL, QM_SYMBOLS, syms, bufsize, &ret)) {
- if (errno != ENOSPC) {
- error("kernel: QM_SYMBOLS: %m");
- return 0;
- }
- syms = xrealloc(syms, bufsize = ret);
- }
- nksyms = nsyms = ret;
- ksyms = syms;
-
- /* Convert string offsets to string pointers */
- for (j = 0, s = syms; j < nsyms; ++j, ++s)
- s->name += (unsigned long) syms;
- }
-
- return 1;
-}
-
-#ifdef COMPAT_2_0
-/************************************************************************/
-
-#define mscan(offs,siz,ptr) \
- if (lseek(kmem_fd, (off_t)(offs), SEEK_SET) == -1 || \
- read(kmem_fd, (ptr), (siz)) != (siz)) { \
- if (kmem_fd != -1) \
- close(kmem_fd); \
- error("kmem: %m"); \
- return 0; \
- }
-
-#define OLD_MOD_RUNNING 1
-#define OLD_MOD_DELETED 2
-#define OLD_MOD_VISITED 0x20000000
-
-/* Fetch all the symbols and divvy them up as appropriate for the modules. */
-static int old_get_kernel_info(int type)
-{
- struct old_kernel_sym *kernsym;
- struct old_kernel_sym *k;
- struct module_stat *module;
- struct module_stat *mod;
- struct module_symbol *s = NULL;
- int kmem_fd = -1;
- int nkernsym;
- int nmod;
- int nm;
- int nms;
- int i;
-
- drop();
- module_name_list = xmalloc(1);
- *module_name_list = '\0';
-
- if ((nkernsym = get_kernel_syms(NULL)) < 0) {
- error("get_kernel_syms: %m");
- return 0;
- }
- kernsym = k = xmalloc(nkernsym * sizeof(struct old_kernel_sym));
- old_kernsym = kernsym;
- if (get_kernel_syms(kernsym) != nkernsym) {
- error("inconsistency with get_kernel_syms -- is someone else "
- "playing with modules?");
- free(kernsym);
- return 0;
- }
-
- /* Number of modules */
- for (k = kernsym, nmod = 0, i = 0; i < nkernsym; ++i, ++k) {
- if (k->name[0] == '#') {
- if (k->name[1]) {
- ++nmod;
- i = strlen(k->name+1) + 1;
- module_name_list =
- xrealloc(module_name_list,
- l_module_name_list + i);
- strcpy(module_name_list+l_module_name_list, /* safe, xrealloc */
- k->name+1);
- l_module_name_list += i; /* NUL separated strings */
- }
- else
- break;
- }
- }
- module_stat = mod = module = xmalloc(nmod * sizeof(struct module_stat));
- memset(module, 0, nmod * sizeof(struct module_stat));
- n_module_stat = nmod;
-
- /*
- * Will we need kernel internal info?
- */
- if ((type & K_INFO) || (type & K_REFS)) {
- if ((kmem_fd = open("/dev/kmem", O_RDONLY)) < 0) {
- perror("ksyms: open /dev/kmem");
- return 0;
- }
- }
-
- /*
- * Collect the module information.
- */
- for (k = kernsym, nm = 0, i = 0; i < nkernsym; ++i, ++k) {
- if (k->name[0] == '#') {
- struct old_kernel_sym *p;
- struct old_module info;
-
- if (k->name[1] == '\0')
- break; /* kernel resident symbols follow */
- /* else normal module */
-
- module = mod++;
- ++nm;
- module->name = k->name + 1;
- module->modstruct = k->value;
-
- if ((type & K_INFO) || (type & K_REFS)) {
- long tmp;
- /*
- * k->value is the address of the
- * struct old_module
- * in the kernel (for use via /dev/kmem)
- */
- mscan(k->value, sizeof(info), &info);
- module->addr = info.addr;
- module->size = info.size * getpagesize();
-
- mscan(info.addr, sizeof(long), &tmp);
- module->flags = info.state &
- (OLD_MOD_RUNNING | OLD_MOD_DELETED);
- module->flags |= NEW_MOD_USED_ONCE; /* Cheat */
- if (tmp & OLD_MOD_AUTOCLEAN)
- module->flags |= NEW_MOD_AUTOCLEAN;
- if (tmp & OLD_MOD_VISITED)
- module->flags |= NEW_MOD_VISITED;
-
- module->usecount = tmp & ~(OLD_MOD_AUTOCLEAN | OLD_MOD_VISITED);
- }
-
- if ((type & K_REFS) && info.ref) {
- struct old_module_ref mr;
- int j;
- unsigned long ref = info.ref;
-
- do {
- mscan(ref, sizeof(struct old_module_ref), &mr);
- for (j = 0; j < nm -1; ++j) {
- if (mr.module == module_stat[j].modstruct) {
- module->nrefs += 1;
- module->refs = xrealloc(module->refs, module->nrefs * sizeof(struct module_stat **));
- module->refs[module->nrefs - 1] = module_stat + j;
- break;
- }
- }
- } while ((ref = mr.next) != 0);
- }
-
- if (!(type & K_SYMBOLS))
- continue;
- /*
- * Find out how many symbols this module has.
- */
- for (nms = 0, p = k+1; p->name[0] != '#'; ++p)
- ++nms;
- s = xmalloc(nms * sizeof(struct module_symbol));
- module->syms = s;
- module->nsyms = nms;
- } else if (type & K_SYMBOLS) { /* Want info about symbols */
- s->name = (unsigned long) k->name;
- s->value = k->value;
- ++s;
- }
- }
- if ((type & K_INFO) || (type & K_REFS)) {
- if (kmem_fd != -1)
- close(kmem_fd);
- }
-
- /*
- * Kernel resident symbols follows
- */
- if (type & K_SYMBOLS) { /* Want info about symbols */
- if (k->name[0] == '#')
- ++k;
- nksyms = nkernsym - (k - kernsym);
- if (nksyms) {
- ksyms = s = xmalloc(nksyms * sizeof(struct module_symbol));
- for (i = 0; i < nksyms; ++i, ++k) {
- if (k->name[0] != '#') {
- s->name = (unsigned long) k->name;
- s->value = k->value;
- ++s;
- }
- }
- nksyms = s - ksyms;
- } else
- ksyms = NULL;
- }
-
- return 1;
-}
-#endif /* COMPAT_2_0 */
-
-int get_kernel_info(int type)
-{
- k_new_syscalls = !query_module(NULL, 0, NULL, 0, NULL);
-
-#ifdef COMPAT_2_0
- if (!k_new_syscalls)
- return old_get_kernel_info(type);
-#endif /* COMPAT_2_0 */
-
- return new_get_kernel_info(type);
-}
diff --git a/mdk-stage1/insmod-modutils/util/snap_shot.c b/mdk-stage1/insmod-modutils/util/snap_shot.c
deleted file mode 100644
index ae0cc7c79..000000000
--- a/mdk-stage1/insmod-modutils/util/snap_shot.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Take a snap shot of ksyms and modules for Oops debugging
- Copyright 1999 Linux International.
-
- Contributed by Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-
-#ident "$Id$"
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <time.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "module.h"
-#include "obj.h"
-#include "modstat.h"
-#include "util.h"
-
-static char snap_dir[] = "/var/log/ksymoops";
-
-/* If snap_dir exists, take a snap shot of ksyms and modules to snap_dir.
- * Prefix the files with the equivalent of
- * date +%Y%m%d%T%M%S | sed -e 's/://g'
- */
-void snap_shot(const char *module_names, int n_module_names)
-{
- char file[] = "ccyymmddhhmmss.modules", buffer[4096];
- static char *infile[] = { "/proc/ksyms", "/proc/modules" };
- static char *suffix[] = { "ksyms", "modules" };
- struct tm *local;
- time_t t;
- int i, l;
- FILE *in, *out;
-
- if (module_names) {
- /* Only snap shot if the list of modules has changed.
- * Otherwise auto cleanup takes a snap shot every time
- * and ends up with a large snap shot directory.
- */
- char *new_module_names;
- size_t n_new_module_names;
- get_kernel_info(0);
- new_module_names = module_name_list;
- n_new_module_names = n_module_stat;
- if (n_module_names && n_new_module_names == n_module_names) {
- while (n_module_names) {
- if (strcmp(module_names, new_module_names))
- break; /* difference detected */
- i = strlen(module_names) + 1;
- module_names += i;
- new_module_names += i;
- --n_module_names;
- }
- }
- if (!n_module_names)
- return; /* no difference, no need for snap shot */
- }
-
- if (chdir(snap_dir))
- return;
- t = time(NULL);
- local = localtime(&t);
- for (i = 0; i < sizeof(infile)/sizeof(infile[0]); ++i) {
- snprintf(file, sizeof(file), "%04d%02d%02d%02d%02d%02d.%s",
- local->tm_year+1900,
- local->tm_mon + 1,
- local->tm_mday,
- local->tm_hour,
- local->tm_min,
- local->tm_sec,
- suffix[i]);
- out = fopen(file, "w");
- if (!out) {
- error("cannot create %s/%s %m", snap_dir, file);
- return;
- }
- in = fopen(infile[i], "r");
- if (!in) {
- error("cannot open %s %m", infile[i]);
- return;
- }
- while ((l = fread(buffer, 1, sizeof(buffer), in)) > 0) {
- if (fwrite(buffer, l, 1, out) != 1) {
- error("unable to write to %s %m", file);
- fclose(in);
- fclose(out);
- return;
- }
- }
- if (ferror(in))
- error("unable to read from %s %m", infile[i]);
- fclose(in);
- fclose(out);
- }
-}
-
-/* If snap_dir exists, log a message to snap_dir. The log file is called the
- * equivalent of date +%Y%m%d | sed -e 's/://g'. Each line is prefixed with
- * timestamp down to seconds and followed by a newline.
- */
-void snap_shot_log(const char *fmt,...)
-{
- char date[] = "ccyymmdd", file[] = "ccyymmdd.log", stamp[] = "ccyymmdd hhmmss";
- struct tm *local;
- time_t t;
- FILE *log;
- va_list args;
- int save_errno = errno;
-
- if (chdir(snap_dir))
- return;
- t = time(NULL);
- local = localtime(&t);
- snprintf(date, sizeof(date), "%04d%02d%02d",
- local->tm_year+1900,
- local->tm_mon + 1,
- local->tm_mday);
- snprintf(file, sizeof(file), "%s.log", date);
- log = fopen(file, "a");
- if (!log) {
- error("cannot create %s/%s %m", snap_dir, file);
- return;
- }
- snprintf(stamp, sizeof(stamp), "%s %02d%02d%02d",
- date,
- local->tm_hour,
- local->tm_min,
- local->tm_sec);
- fprintf(log, "%s ", stamp);
- va_start(args, fmt);
- errno = save_errno; /* fmt may use %m */
- vfprintf(log, fmt, args);
- va_end(args);
- fprintf(log, "\n");
- fclose(log);
-}
diff --git a/mdk-stage1/insmod-modutils/util/sys_cm.c b/mdk-stage1/insmod-modutils/util/sys_cm.c
deleted file mode 100644
index 851fb709e..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_cm.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-#if defined(__i386__) || defined(__m68k__) || defined(__arm__)
-
-#define __NR__create_module __NR_create_module
-static inline _syscall2(long, _create_module, const char *, name, size_t, size)
-
-unsigned long create_module(const char *name, size_t size)
-{
- /* Why all this fuss?
-
- In linux 2.1, the address returned by create module point in
- kernel space which is now mapped at the top of user space (at
- 0xc0000000 on i386). This looks like a negative number for a
- long. The normal syscall macro of linux 2.0 (and all libc compile
- with linux 2.0 or below) consider that the return value is a
- negative number and consider it is an error number (A kernel
- convention, return value are positive or negative, indicating the
- error number).
-
- By checking the value of errno, we know if we have been fooled by
- the syscall2 macro and we fix it. */
-
- long ret = _create_module(name, size);
- if (ret == -1 && errno > 125)
- {
- ret = -errno;
- errno = 0;
- }
- return ret;
-}
-
-#elif defined(__alpha__)
-
-/* Alpha doesn't have the same problem, exactly, but a bug in older
- kernels fails to clear the error flag. Clear it here explicitly. */
-
-#define __NR__create_module __NR_create_module
-static inline _syscall4(unsigned long, _create_module, const char *, name,
- size_t, size, size_t, dummy, size_t, err);
-
-unsigned long create_module(const char *name, size_t size)
-{
- return _create_module(name, size, 0, 0);
-}
-
-#else
-
-/* Sparc, MIPS, (and Alpha, but that's another problem) don't mistake
- return values for errors due to the nature of the system call. */
-
-_syscall2(unsigned long, create_module, const char *, name, size_t, size)
-
-#endif
diff --git a/mdk-stage1/insmod-modutils/util/sys_dm.c b/mdk-stage1/insmod-modutils/util/sys_dm.c
deleted file mode 100644
index a166a30f4..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_dm.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-_syscall1(int, delete_module, const char *, name)
diff --git a/mdk-stage1/insmod-modutils/util/sys_gks.c b/mdk-stage1/insmod-modutils/util/sys_gks.c
deleted file mode 100644
index f71772c71..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_gks.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-_syscall1(int, get_kernel_syms, struct old_kernel_sym *, ksyms)
diff --git a/mdk-stage1/insmod-modutils/util/sys_nim.c b/mdk-stage1/insmod-modutils/util/sys_nim.c
deleted file mode 100644
index bbe42135c..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_nim.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-#ifndef CONFIG_USE_SYSCALL
-
-extern int init_module(const char *name, const struct module *info);
-
-int
-sys_init_module(const char *name, const struct module *info)
-{
- return init_module(name, info);
-}
-
-#else
-
-#define __NR_sys_init_module __NR_init_module
-_syscall2(int, sys_init_module, const char *, name,
- const struct module *, info)
-
-#endif
diff --git a/mdk-stage1/insmod-modutils/util/sys_oim.c b/mdk-stage1/insmod-modutils/util/sys_oim.c
deleted file mode 100644
index 73ac6be52..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_oim.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-#define __NR_old_sys_init_module __NR_init_module
-_syscall5(int, old_sys_init_module, const char *, name, char *, code,
- unsigned, codesize, struct old_mod_routines *, routines,
- struct old_symbol_table *, symtab)
diff --git a/mdk-stage1/insmod-modutils/util/sys_qm.c b/mdk-stage1/insmod-modutils/util/sys_qm.c
deleted file mode 100644
index 119a219a2..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_qm.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-/* I am fucking tired of the "this doesn't build on 2.0.x" questions.
- But if you ask, we still officially require 2.1.x to build. */
-#if !defined(__NR_query_module)
-# if defined(__i386__)
-# define __NR_query_module 167
-# elif defined(__alpha__)
-# define __NR_query_module 347
-# elif defined(__sparc__)
-# define __NR_query_module 184
-# elif defined(__mc68000__)
-# define __NR_query_module 167
-# elif defined(__arm__)
-# define __NR_query_module (__NR_SYSCALL_BASE + 167)
-# elif defined(__mips__)
-# define __NR_query_module 4187
-# endif
-#endif
-
-_syscall5(int, query_module, const char *, name, int, which,
- void *, buf, size_t, bufsize, size_t *, ret);
diff --git a/mdk-stage1/insmod-modutils/util/xftw.c b/mdk-stage1/insmod-modutils/util/xftw.c
deleted file mode 100644
index fe764a63c..000000000
--- a/mdk-stage1/insmod-modutils/util/xftw.c
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * modutils specific implementation of ftw().
- *
- * Copyright 2000:
- * Keith Owens <kaos@ocs.com.au> August 2000
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/*
- modutils requires special processing during the file tree walk
- of /lib/modules/<version> and any paths that the user specifies.
- The standard ftw() does a blind walk of all paths and can end
- up following the build symlink down the kernel source tree.
- Although nftw() has the option to get more control such as not
- automatically following symbolic links, even that is not enough
- for modutils. The requirements are:
-
- Paths must be directories or symlinks to directories.
-
- Each directory is read and sorted into alphabetical order
- before processing.
-
- A directory is type 1 iff it was specified on a path statement
- (either explicit or default) and the directory contains a
- subdirectory with one of the known names and the directory name
- does not end with "/kernel". Otherwise it is type 2.
-
- In a type 1 directory, walk the kernel subdirectory if it exists,
- then the old known names in their historical order then any
- remaining directory entries in alphabetical order and finally any
- non-directory entries in alphabetical order.
-
- Entries in a type 1 directory are filtered against the "prune"
- list. A type 1 directory can contain additional files which
- are not modules nor symlinks to modules. The prune list skips
- known additional files, if a distribution wants to store
- additional text files in the top level directory they should be
- added to the prune list.
-
- A type 2 directory must contain only modules or symlinks to
- modules. They are processed in alphabetical order, without
- pruning. Symlinks to directories are an error in type 2
- directories.
-
- The user function is not called for type 1 directories, nor for
- pruned entries. It is called for type 2 directories and their
- contents. It is also called for any files left in a type 1
- directory after pruning and processing type 2 subdirectories.
- The user function never sees symlinks, they are resolved before
- calling the function.
-
- Why have different directory types? The original file tree
- walk was not well defined. Some users specified each directory
- individually, others just pointed at the top level directory.
- Either version worked until the "build" symlink was added. Now
- users who specify the top level directory end up running the
- entire kernel source tree looking for modules, not nice. We
- cannot just ignore symlinks because pcmcia uses symlinks to
- modules for backwards compatibility.
-
- Type 1 is when a user specifies the top level directory which needs
- special processing, type 2 is individual subdirectories. But the
- only way to tell the difference is by looking at the contents. The
- "/kernel" directory introduced in 2.3.12 either contains nothing
- (old make modules_install) or contains all the kernel modules using
- the same tree structure as the source. Because "/kernel" can
- contain old names but is really a type 2 directory, it is detected
- as a special case.
- */
-
-#include <dirent.h>
-#include <errno.h>
-#include <limits.h>
-#include <malloc.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#include "util.h"
-#include "config.h"
-
-extern char *tbpath[];
-
-extern OPT_LIST *prune_list;
-extern int n_prune_list;
-
-extern char *tbtype[];
-
-struct xftw_dirent {
- struct stat statbuf;
- char *name;
- char *fullname;
-};
-
-#define XFTW_MAXDEPTH 64 /* Maximum directory depth handled */
-
-typedef struct {
- struct xftw_dirent *contents;
- int size;
- int used;
-} xftw_tree_t;
-
-static xftw_tree_t tree[XFTW_MAXDEPTH];
-
-/* Free all data for one tree level */
-static void xftw_free_tree(int depth)
-{
- int i;
- xftw_tree_t *t = tree+depth;
- for (i = 0; i < t->size; ++i) {
- free(t->contents[i].name);
- free(t->contents[i].fullname);
- }
- free(t->contents);
- t->contents = NULL;
- t->size = 0;
- t->used = 0;
-}
-
-/* Increment dirents used at this depth, resizing if necessary */
-static void xftw_add_dirent(int depth)
-{
- xftw_tree_t *t = tree+depth;
- int i, size = t->size;
- if (++t->used < size)
- return;
- size += 10; /* arbitrary increment */
- t->contents = xrealloc(t->contents, size*sizeof(*(t->contents)));
- for (i = t->size; i < size; ++i) {
- memset(&(t->contents[i].statbuf), 0, sizeof(t->contents[i].statbuf));
- t->contents[i].name = NULL;
- t->contents[i].fullname = NULL;
- }
- t->size = size;
-}
-
-/* Concatenate directory name and entry name into one string.
- * Note: caller must free result or leak.
- */
-static char *xftw_dir_name(const char *directory, const char *entry)
-{
- int i = strlen(directory);
- char *name;
- if (entry)
- i += strlen(entry);
- i += 2;
- name = xmalloc(i);
- strcpy(name, directory); /* safe, xmalloc */
- if (*directory && entry)
- strcat(name, "/"); /* safe, xmalloc */
- if (entry)
- strcat(name, entry); /* safe, xmalloc */
- return(name);
-}
-
-/* Call the user function for a directory entry */
-static int xftw_do_name(const char *directory, const char *entry, struct stat *sb, xftw_func_t funcptr)
-{
- int ret = 0;
- char *name = xftw_dir_name(directory, entry);
-
- if (S_ISLNK(sb->st_mode)) {
- char real[PATH_MAX], *newname;
- verbose("resolving %s symlink to ", name);
- if (!(newname = realpath(name, real))) {
- if (errno == ENOENT) {
- verbose("%s: does not exist, dangling symlink ignored\n", real);
- goto cleanup;
- }
- perror("... failed");
- goto cleanup;
- }
- verbose("%s ", newname);
- if (lstat(newname, sb)) {
- error("lstat on %s failed ", newname);
- perror("");
- goto cleanup;
- }
- free(name);
- name = xstrdup(newname);
- }
-
- if (!S_ISREG(sb->st_mode) &&
- !S_ISDIR(sb->st_mode)) {
- error("%s is not plain file nor directory\n", name);
- goto cleanup;
- }
-
- verbose("user function %s\n", name);
- ret = (*funcptr)(name, sb);
-cleanup:
- free(name);
- return(ret);
-}
-
-/* Sort directory entries into alphabetical order */
-static int xftw_sortdir(const void *a, const void *b)
-{
- return(strcmp(((struct xftw_dirent *)a)->name, ((struct xftw_dirent *)b)->name));
-}
-
-/* Read a directory and sort it, ignoring "." and ".." */
-static int xftw_readdir(const char *directory, int depth)
-{
- DIR *d;
- struct dirent *ent;
- verbose("xftw_readdir %s\n", directory);
- if (!(d = opendir(directory))) {
- perror(directory);
- return(1);
- }
- while ((ent = readdir(d))) {
- char *name;
- struct xftw_dirent *f;
- if (strcmp(ent->d_name, ".") == 0 ||
- strcmp(ent->d_name, "..") == 0)
- continue;
- name = xftw_dir_name(directory, ent->d_name);
- xftw_add_dirent(depth);
- f = tree[depth].contents+tree[depth].used-1;
- f->name = xstrdup(ent->d_name);
- f->fullname = name; /* do not free name, it is in use */
- if (lstat(name, &(f->statbuf))) {
- perror(name);
- return(1);
- }
- }
- closedir(d);
- qsort(tree[depth].contents, tree[depth].used, sizeof(*(tree[0].contents)), &xftw_sortdir);
- return(0);
-}
-
-/* Process a type 2 directory */
-int xftw_type2(const char *directory, const char *entry, int depth, xftw_func_t funcptr)
-{
- int ret, i;
- xftw_tree_t *t = tree+depth;
- struct stat statbuf;
- char *dirname = xftw_dir_name(directory, entry);
-
- verbose("type 2 %s\n", dirname);
- if (depth > XFTW_MAXDEPTH) {
- error("xftw_type2 exceeded maxdepth\n");
- ret = 1;
- goto cleanup;
- }
- if ((ret = xftw_readdir(dirname, depth)))
- goto cleanup;
-
- t = tree+depth;
- /* user function sees type 2 directories */
- if ((ret = lstat(dirname, &statbuf)) ||
- (ret = xftw_do_name("", dirname, &statbuf, funcptr)))
- goto cleanup;
-
- /* user sees all contents of type 2 directory, no pruning */
- for (i = 0; i < t->used; ++i) {
- struct xftw_dirent *c = t->contents+i;
- if (S_ISLNK(c->statbuf.st_mode)) {
- if (!stat(c->name, &(c->statbuf))) {
- if (S_ISDIR(c->statbuf.st_mode)) {
- error("symlink to directory is not allowed, %s ignored\n", c->name);
- *(c->name) = '\0'; /* ignore it */
- }
- }
- }
- if (!*(c->name))
- continue;
- if (S_ISDIR(c->statbuf.st_mode)) {
- /* recursion is the curse of the programming classes */
- ret = xftw_type2(dirname, c->name, depth+1, funcptr);
- if (ret)
- goto cleanup;
- }
- else if ((ret = xftw_do_name(dirname, c->name, &(c->statbuf), funcptr)))
- goto cleanup;
- *(c->name) = '\0'; /* processed */
- }
-
- ret = 0;
-cleanup:
- free(dirname);
- return(ret);
-}
-
-/* Only external visible function. Decide on the type of directory and
- * process accordingly.
- */
-int xftw(const char *directory, xftw_func_t funcptr)
-{
- struct stat statbuf;
- int ret, i, j, type;
- xftw_tree_t *t;
- struct xftw_dirent *c;
-
- verbose("xftw starting at %s ", directory);
- if (lstat(directory, &statbuf)) {
- verbose("lstat on %s failed\n", directory);
- return(0);
- }
- if (S_ISLNK(statbuf.st_mode)) {
- char real[PATH_MAX];
- verbose("resolving symlink to ");
- if (!(directory = realpath(directory, real))) {
- if (errno == ENOENT) {
- verbose("%s: does not exist, dangling symlink ignored\n", real);
- return(0);
- }
- perror("... failed");
- return(-1);
- }
- verbose("%s ", directory);
- if (lstat(directory, &statbuf)) {
- error("lstat on %s failed ", directory);
- perror("");
- return(-1);
- }
- }
- if (!S_ISDIR(statbuf.st_mode)) {
- error("%s is not a directory\n", directory);
- return(-1);
- }
- verbose("\n");
-
- /* All returns after this point must be via cleanup */
-
- if ((ret = xftw_readdir(directory, 0)))
- goto cleanup;
-
- t = tree; /* depth 0 */
- type = 2;
- for (i = 0 ; type == 2 && i < t->used; ++i) {
- c = t->contents+i;
- for (j = 0; tbtype[j]; ++j) {
- if (strcmp(c->name, tbtype[j]) == 0 &&
- S_ISDIR(c->statbuf.st_mode)) {
- const char *p = directory + strlen(directory) - 1;
- if (*p == '/')
- --p;
- if (p - directory >= 6 && strncmp(p-6, "/kernel", 7) == 0)
- continue; /* "/kernel" path is a special case, type 2 */
- type = 1; /* known subdirectory */
- break;
- }
- }
- }
-
- if (type == 1) {
- OPT_LIST *p;
- /* prune entries in type 1 directories only */
- for (i = 0 ; i < t->used; ++i) {
- for (p = prunelist; p->name; ++p) {
- c = t->contents+i;
- if (strcmp(p->name, c->name) == 0) {
- verbose("pruned %s\n", c->name);
- *(c->name) = '\0'; /* ignore */
- }
- }
- }
- /* run known subdirectories first in historical order, "kernel" is now top of list */
- for (i = 0 ; i < t->used; ++i) {
- c = t->contents+i;
- for (j = 0; tbtype[j]; ++j) {
- if (*(c->name) &&
- strcmp(c->name, tbtype[j]) == 0 &&
- S_ISDIR(c->statbuf.st_mode)) {
- if ((ret = xftw_type2(directory, c->name, 1, funcptr)))
- goto cleanup;
- *(c->name) = '\0'; /* processed */
- }
- }
- }
- /* any other directories left, in alphabetical order */
- for (i = 0 ; i < t->used; ++i) {
- c = t->contents+i;
- if (*(c->name) &&
- S_ISDIR(c->statbuf.st_mode)) {
- if ((ret = xftw_type2(directory, c->name, 1, funcptr)))
- goto cleanup;
- *(c->name) = '\0'; /* processed */
- }
- }
- /* anything else is passed to the user function */
- for (i = 0 ; i < t->used; ++i) {
- c = t->contents+i;
- if (*(c->name)) {
- verbose("%s found in type 1 directory %s\n", c->name, directory);
- if ((ret = xftw_do_name(directory, c->name, &(c->statbuf), funcptr)))
- goto cleanup;
- *(c->name) = '\0'; /* processed */
- }
- }
- }
- else {
- /* type 2 */
- xftw_free_tree(0);
- if ((ret = xftw_type2(directory, NULL, 0, funcptr)))
- goto cleanup;
- }
-
- /* amazing, it all worked */
- ret = 0;
-cleanup:
- for (i = 0; i < XFTW_MAXDEPTH; ++i)
- xftw_free_tree(i);
- return(ret);
-}
diff --git a/mdk-stage1/insmod-modutils/util/xmalloc.c b/mdk-stage1/insmod-modutils/util/xmalloc.c
deleted file mode 100644
index 9113d47fe..000000000
--- a/mdk-stage1/insmod-modutils/util/xmalloc.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Misc utility functions.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-void *
-xmalloc(size_t size)
-{
- void *ptr = malloc(size);
- if (!ptr)
- {
- error("Out of memory");
- exit(1);
- }
- return ptr;
-}
diff --git a/mdk-stage1/insmod-modutils/util/xrealloc.c b/mdk-stage1/insmod-modutils/util/xrealloc.c
deleted file mode 100644
index d287486f7..000000000
--- a/mdk-stage1/insmod-modutils/util/xrealloc.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Misc utility functions.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-void *
-xrealloc(void *old, size_t size)
-{
- void *ptr = realloc(old, size);
- if (!ptr)
- {
- error("Out of memory");
- exit(1);
- }
- return ptr;
-}
diff --git a/mdk-stage1/insmod-modutils/util/xstrcat.c b/mdk-stage1/insmod-modutils/util/xstrcat.c
deleted file mode 100644
index abb075c83..000000000
--- a/mdk-stage1/insmod-modutils/util/xstrcat.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Misc utility functions.
- Copyright 2000 Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id"
-
-#include <stdlib.h>
-#include <string.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-char *
-xstrcat(char *dest, const char *src, size_t size)
-{
- int ldest = strlen(dest);
- int lsrc = strlen(src);
- if ((size - ldest - 1) < lsrc) {
- error("xstrcat: destination overflow");
- exit(1);
- }
- memcpy(dest+ldest, src, lsrc+1);
- return(dest);
-}
diff --git a/mdk-stage1/insmod-modutils/util/xstrdup.c b/mdk-stage1/insmod-modutils/util/xstrdup.c
deleted file mode 100644
index 11b289eb0..000000000
--- a/mdk-stage1/insmod-modutils/util/xstrdup.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Misc utility functions.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-char *
-xstrdup(const char *s)
-{
- char *n = strdup(s);
- if (!n)
- {
- error("Out of memory");
- exit(1);
- }
- return n;
-}
diff --git a/mdk-stage1/insmod-modutils/util/xsystem.c b/mdk-stage1/insmod-modutils/util/xsystem.c
deleted file mode 100644
index edb995268..000000000
--- a/mdk-stage1/insmod-modutils/util/xsystem.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Misc utility functions.
- Copyright 2000 Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ident "$Id"
-
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include <unistd.h>
-
-
-/*======================================================================*/
-
-/* Clone of the system() function From Steven's Advanced Programming in a Unix
- * Environment. Modified to use *argv[] and execvp to avoid shell expansion
- * problems, modutils runs as root so system() is unsafe.
- */
-
-int
-xsystem(const char *file, char *const argv[])
-{
- pid_t pid;
- int status;
- if ((pid = fork()) < 0)
- return(-1);
- if (pid == 0) {
- execvp(file, argv);
- _exit(127);
- }
- while (waitpid(pid, &status, 0) < 0) {
- if (errno != EINTR)
- return(-1);
- }
- return(status);
-}
diff --git a/mdk-stage1/insmod.h b/mdk-stage1/insmod.h
deleted file mode 100644
index d91f239cf..000000000
--- a/mdk-stage1/insmod.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _INSMOD_INTERFACE_H_
-#define _INSMOD_INTERFACE_H_
-
-int insmod_call(char * full_filename, char * params);
-
-#endif
diff --git a/mdk-stage1/linux-2.2/nfs.h b/mdk-stage1/linux-2.2/nfs.h
deleted file mode 100644
index 7936d5a71..000000000
--- a/mdk-stage1/linux-2.2/nfs.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * NFS protocol definitions
- */
-#ifndef _LINUX_NFS_H
-#define _LINUX_NFS_H
-
-#include <linux/sunrpc/msg_prot.h>
-
-#define NFS_PORT 2049
-#define NFS_MAXDATA 8192
-#define NFS_MAXPATHLEN 1024
-#define NFS_MAXNAMLEN 255
-#define NFS_MAXGROUPS 16
-#define NFS_FHSIZE 32
-#define NFS_COOKIESIZE 4
-#define NFS_FIFO_DEV (-1)
-#define NFSMODE_FMT 0170000
-#define NFSMODE_DIR 0040000
-#define NFSMODE_CHR 0020000
-#define NFSMODE_BLK 0060000
-#define NFSMODE_REG 0100000
-#define NFSMODE_LNK 0120000
-#define NFSMODE_SOCK 0140000
-#define NFSMODE_FIFO 0010000
-
-
-enum nfs_stat {
- NFS_OK = 0,
- NFSERR_PERM = 1,
- NFSERR_NOENT = 2,
- NFSERR_IO = 5,
- NFSERR_NXIO = 6,
- NFSERR_EAGAIN = 11,
- NFSERR_ACCES = 13,
- NFSERR_EXIST = 17,
- NFSERR_XDEV = 18,
- NFSERR_NODEV = 19,
- NFSERR_NOTDIR = 20,
- NFSERR_ISDIR = 21,
- NFSERR_INVAL = 22, /* that Sun forgot */
- NFSERR_FBIG = 27,
- NFSERR_NOSPC = 28,
- NFSERR_ROFS = 30,
- NFSERR_OPNOTSUPP = 45,
- NFSERR_NAMETOOLONG = 63,
- NFSERR_NOTEMPTY = 66,
- NFSERR_DQUOT = 69,
- NFSERR_STALE = 70,
- NFSERR_WFLUSH = 99
-};
-
-enum nfs_ftype {
- NFNON = 0,
- NFREG = 1,
- NFDIR = 2,
- NFBLK = 3,
- NFCHR = 4,
- NFLNK = 5,
- NFSOCK = 6,
- NFBAD = 7,
- NFFIFO = 8
-};
-
-struct nfs_fh {
- char data[NFS_FHSIZE];
-};
-
-#define NFS_PROGRAM 100003
-#define NFS_VERSION 2
-#define NFSPROC_NULL 0
-#define NFSPROC_GETATTR 1
-#define NFSPROC_SETATTR 2
-#define NFSPROC_ROOT 3
-#define NFSPROC_LOOKUP 4
-#define NFSPROC_READLINK 5
-#define NFSPROC_READ 6
-#define NFSPROC_WRITECACHE 7
-#define NFSPROC_WRITE 8
-#define NFSPROC_CREATE 9
-#define NFSPROC_REMOVE 10
-#define NFSPROC_RENAME 11
-#define NFSPROC_LINK 12
-#define NFSPROC_SYMLINK 13
-#define NFSPROC_MKDIR 14
-#define NFSPROC_RMDIR 15
-#define NFSPROC_READDIR 16
-#define NFSPROC_STATFS 17
-
-/* Mount support for NFSroot */
-#ifdef __KERNEL__
-#define NFS_MNT_PROGRAM 100005
-#define NFS_MNT_VERSION 1
-#define NFS_MNT_PORT 627
-#define NFS_MNTPROC_MNT 1
-#define NFS_MNTPROC_UMNT 3
-#endif
-
-#if defined(__KERNEL__) || defined(NFS_NEED_KERNEL_TYPES)
-
-extern struct rpc_program nfs_program;
-extern struct rpc_stat nfs_rpcstat;
-
-struct nfs_time {
- __u32 seconds;
- __u32 useconds;
-};
-
-struct nfs_fattr {
- enum nfs_ftype type;
- __u32 mode;
- __u32 nlink;
- __u32 uid;
- __u32 gid;
- __u32 size;
- __u32 blocksize;
- __u32 rdev;
- __u32 blocks;
- __u32 fsid;
- __u32 fileid;
- struct nfs_time atime;
- struct nfs_time mtime;
- struct nfs_time ctime;
-};
-
-struct nfs_sattr {
- __u32 mode;
- __u32 uid;
- __u32 gid;
- __u32 size;
- struct nfs_time atime;
- struct nfs_time mtime;
-};
-
-struct nfs_fsinfo {
- __u32 tsize;
- __u32 bsize;
- __u32 blocks;
- __u32 bfree;
- __u32 bavail;
-};
-
-struct nfs_writeargs {
- struct nfs_fh * fh;
- __u32 offset;
- __u32 count;
- const void * buffer;
-};
-
-#ifdef NFS_NEED_XDR_TYPES
-
-struct nfs_sattrargs {
- struct nfs_fh * fh;
- struct nfs_sattr * sattr;
-};
-
-struct nfs_diropargs {
- struct nfs_fh * fh;
- const char * name;
-};
-
-struct nfs_readargs {
- struct nfs_fh * fh;
- __u32 offset;
- __u32 count;
- void * buffer;
-};
-
-struct nfs_createargs {
- struct nfs_fh * fh;
- const char * name;
- struct nfs_sattr * sattr;
-};
-
-struct nfs_renameargs {
- struct nfs_fh * fromfh;
- const char * fromname;
- struct nfs_fh * tofh;
- const char * toname;
-};
-
-struct nfs_linkargs {
- struct nfs_fh * fromfh;
- struct nfs_fh * tofh;
- const char * toname;
-};
-
-struct nfs_symlinkargs {
- struct nfs_fh * fromfh;
- const char * fromname;
- const char * topath;
- struct nfs_sattr * sattr;
-};
-
-struct nfs_readdirargs {
- struct nfs_fh * fh;
- __u32 cookie;
- void * buffer;
- unsigned int bufsiz;
-};
-
-struct nfs_diropok {
- struct nfs_fh * fh;
- struct nfs_fattr * fattr;
-};
-
-struct nfs_readres {
- struct nfs_fattr * fattr;
- unsigned int count;
-};
-
-struct nfs_readlinkres {
- char ** string;
- unsigned int * lenp;
- unsigned int maxlen;
- void * buffer;
-};
-
-struct nfs_readdirres {
- void * buffer;
- unsigned int bufsiz;
-};
-
-#endif /* NFS_NEED_XDR_TYPES */
-#endif /* __KERNEL__ */
-
-#endif
diff --git a/mdk-stage1/linux-2.2/nfs_mount.h b/mdk-stage1/linux-2.2/nfs_mount.h
deleted file mode 100644
index 60493b150..000000000
--- a/mdk-stage1/linux-2.2/nfs_mount.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _LINUX_NFS_MOUNT_H
-#define _LINUX_NFS_MOUNT_H
-
-/*
- * linux/include/linux/nfs_mount.h
- *
- * Copyright (C) 1992 Rick Sladkey
- *
- * structure passed from user-space to kernel-space during an nfs mount
- */
-
-/*
- * WARNING! Do not delete or change the order of these fields. If
- * a new field is required then add it to the end. The version field
- * tracks which fields are present. This will ensure some measure of
- * mount-to-kernel version compatibility. Some of these aren't used yet
- * but here they are anyway.
- */
-#define NFS_MOUNT_VERSION 3
-
-struct nfs_mount_data {
- int version; /* 1 */
- int fd; /* 1 */
- struct nfs_fh root; /* 1 */
- int flags; /* 1 */
- int rsize; /* 1 */
- int wsize; /* 1 */
- int timeo; /* 1 */
- int retrans; /* 1 */
- int acregmin; /* 1 */
- int acregmax; /* 1 */
- int acdirmin; /* 1 */
- int acdirmax; /* 1 */
- struct sockaddr_in addr; /* 1 */
- char hostname[256]; /* 1 */
- int namlen; /* 2 */
- unsigned int bsize; /* 3 */
-};
-
-/* bits in the flags field */
-
-#define NFS_MOUNT_SOFT 0x0001 /* 1 */
-#define NFS_MOUNT_INTR 0x0002 /* 1 */
-#define NFS_MOUNT_SECURE 0x0004 /* 1 */
-#define NFS_MOUNT_POSIX 0x0008 /* 1 */
-#define NFS_MOUNT_NOCTO 0x0010 /* 1 */
-#define NFS_MOUNT_NOAC 0x0020 /* 1 */
-#define NFS_MOUNT_TCP 0x0040 /* 2 */
-#define NFS_MOUNT_VER3 0x0080 /* 3 */
-#define NFS_MOUNT_KERBEROS 0x0100 /* 3 */
-#define NFS_MOUNT_NONLM 0x0200 /* 3 */
-
-#endif
diff --git a/mdk-stage1/log.c b/mdk-stage1/log.c
deleted file mode 100644
index 5379c96dd..000000000
--- a/mdk-stage1/log.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include "stage1.h"
-
-#include "log.h"
-
-static FILE * logfile = NULL;
-
-
-void vlog_message(const char * s, va_list args)
-{
- fprintf(logfile, "* ");
- vfprintf(logfile, s, args);
- fprintf(logfile, "\n");
- fflush(logfile);
-}
-
-
-void log_message(const char * s, ...)
-{
- va_list args;
-
- if (!logfile) {
- fprintf(stderr, "Log is not open!\n");
- return;
- }
-
- va_start(args, s);
- vlog_message(s, args);
- va_end(args);
-
- return;
-}
-
-void log_perror(char *msg)
-{
- log_message("%s: %s", msg, strerror(errno));
-}
-
-
-void open_log(void)
-{
- if (!IS_TESTING) {
- logfile = fopen("/dev/tty3", "w");
- if (!logfile)
- logfile = fopen("/tmp/install.log", "a");
- }
- else
- logfile = fopen("debug.log", "w");
-}
-
-void close_log(void)
-{
- if (logfile) {
- log_message("stage1: disconnecting life support systems");
- fclose(logfile);
- }
-}
diff --git a/mdk-stage1/log.h b/mdk-stage1/log.h
deleted file mode 100644
index 90aa3f6e6..000000000
--- a/mdk-stage1/log.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-
-#ifndef _LOG_H_
-#define _LOG_H_
-
-#include <stdarg.h>
-
-void log_message(const char * s, ...) __attribute__ ((format (printf, 1, 2)));
-void vlog_message(const char * s, va_list args);
-void log_perror(char *msg);
-void open_log(void);
-void close_log(void);
-
-#endif
diff --git a/mdk-stage1/lomount.c b/mdk-stage1/lomount.c
deleted file mode 100644
index 7d34948b0..000000000
--- a/mdk-stage1/lomount.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/* This code comes from util-linux-2.10n (mount/lomount.c)
- * (this is a simplified version of this code)
- */
-
-#include <sys/types.h>
-#include <sys/mount.h>
-#include <sys/ioctl.h>
-#include <sys/mount.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "stage1.h"
-#include "frontend.h"
-#include "log.h"
-#include "mount.h"
-#include "modules.h"
-
-#include "lomount.h"
-
-
-#define LO_NAME_SIZE 64
-#define LO_KEY_SIZE 32
-
-struct loop_info
-{
- int lo_number; /* ioctl r/o */
- dev_t lo_device; /* ioctl r/o */
- unsigned long lo_inode; /* ioctl r/o */
- dev_t lo_rdevice; /* ioctl r/o */
- int lo_offset;
- int lo_encrypt_type;
- int lo_encrypt_key_size; /* ioctl w/o */
- int lo_flags; /* ioctl r/o */
- char lo_name[LO_NAME_SIZE];
- unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
- unsigned long lo_init[2];
- char reserved[4];
-};
-
-#define LOOP_SET_FD 0x4C00
-#define LOOP_CLR_FD 0x4C01
-#define LOOP_SET_STATUS 0x4C02
-#define LOOP_GET_STATUS 0x4C03
-
-int
-set_loop (const char *device, const char *file)
-{
- struct loop_info loopinfo;
- int fd, ffd, mode;
-
- mode = O_RDONLY;
-
- if ((ffd = open (file, mode)) < 0)
- return 1;
-
- if ((fd = open (device, mode)) < 0) {
- close(ffd);
- return 1;
- }
-
- memset(&loopinfo, 0, sizeof (loopinfo));
- strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
- loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
- loopinfo.lo_offset = 0;
-
-#ifdef MCL_FUTURE
- /*
- * Oh-oh, sensitive data coming up. Better lock into memory to prevent
- * passwd etc being swapped out and left somewhere on disk.
- */
-
- if(mlockall(MCL_CURRENT|MCL_FUTURE)) {
- log_message("CRITICAL Couldn't lock into memory! %s (memlock)", strerror(errno));
- return 1;
- }
-#endif
-
- if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
- close(fd);
- close(ffd);
- return 1;
- }
-
- if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
- (void) ioctl (fd, LOOP_CLR_FD, 0);
- close(fd);
- close(ffd);
- return 1;
- }
-
- close(fd);
- close(ffd);
- return 0;
-}
-
-
-char * loopdev = "/dev/loop3"; /* Ugly. But do I care? */
-
-void
-del_loop(void)
-{
- int fd;
-
- if ((fd = open (loopdev, O_RDONLY)) < 0)
- return;
-
- if (ioctl (fd, LOOP_CLR_FD, 0) < 0)
- return;
-
- close (fd);
-}
-
-
-static char * where_mounted = NULL;
-
-int
-lomount(char *loopfile, char *where)
-{
-
- long int flag;
-
- flag = MS_MGC_VAL;
- flag |= MS_RDONLY;
-
- my_insmod("loop", ANY_DRIVER_TYPE, NULL);
-
- if (set_loop(loopdev, loopfile)) {
- log_message("set_loop failed on %s (%s)", loopdev, strerror(errno));
- return 1;
- }
-
- if (my_mount(loopdev, where, "iso9660")) {
- del_loop();
- return 1;
- }
-
- where_mounted = strdup(where);
- log_message("lomount succeeded for %s on %s", loopfile, where);
- return 0;
-}
-
-
-int
-loumount()
-{
- if (where_mounted) {
- umount(where_mounted);
- where_mounted = NULL;
- }
- del_loop();
- return 0;
-}
-
-
diff --git a/mdk-stage1/lomount.h b/mdk-stage1/lomount.h
deleted file mode 100644
index 3b8a30ac1..000000000
--- a/mdk-stage1/lomount.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef LOMOUNT_H
-#define LOMOUNT_H
-
-int lomount(char *loopfile, char *where);
-int loumount(void);
-
-#endif
diff --git a/mdk-stage1/mar/.cvsignore b/mdk-stage1/mar/.cvsignore
deleted file mode 100644
index bfde37886..000000000
--- a/mdk-stage1/mar/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-mar
diff --git a/mdk-stage1/mar/Makefile b/mdk-stage1/mar/Makefile
deleted file mode 100644
index 801785947..000000000
--- a/mdk-stage1/mar/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
- #******************************************************************************
- #
- # mar - The Mandrake Archiver
- #
- # $Id$
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-TARGETS = libmar.a mar
-
-
-ifeq (DIETLIBC, $(L))
-TARGETS += libmar-DIET.a
-endif
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o libmar.a libmar-DIET.a mar
-
-
-mar: mar-frontend.o mar-extract-only-standalone.o
- gcc -o mar mar-frontend.o mar-extract-only-standalone.o -lbz2
- $(STRIPCMD) $@
-
-libmar.a: mar-extract-only.o
- ar -cru $@ $^
- ranlib $@
-
-libmar-DIET.a: mar-extract-only-DIET.o
- ar -cru $@ $^
- ranlib $@
-
-mar-extract-only.o: mar-extract-only.c mar-extract-only.h mar.h
- gcc $(CFLAGS) $(GLIBC_INCLUDES) -c mar-extract-only.c
-
-mar-extract-only-DIET.o: mar-extract-only.c mar-extract-only.h mar.h
- gcc $(CFLAGS) $(DIETLIBC_INCLUDES) -o $@ -c mar-extract-only.c
-
-mar-frontend.o: mar-frontend.c mar.h mar-extract-only.h
- gcc $(CFLAGS) $(GLIBC_INCLUDES) -c mar-frontend.c
-
-mar-extract-only-standalone.o: mar-extract-only.c mar-extract-only.h mar.h
- gcc $(CFLAGS) $(GLIBC_INCLUDES) -o $@ -D_STANDALONE_ -c mar-extract-only.c
diff --git a/mdk-stage1/mar/mar-extract-only.c b/mdk-stage1/mar/mar-extract-only.c
deleted file mode 100644
index 723cc376d..000000000
--- a/mdk-stage1/mar/mar-extract-only.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * mar - The Mandrake Archiver
- *
- * An archiver that supports compression (through zlib).
- *
- */
-
-/*
- * This code should suffice for stage1 on-the-fly uncompression of kernel modules.
- * (and it DOES perform tests and return values, blaaaah..)
- */
-
-#include "mar-extract-only.h"
-#include "mar.h"
-
-#ifdef _STANDALONE_
-void
-zerr(BZFILE * f) /* decrease code size */
-{
- fprintf(stderr, BZ2_bzerror(f, &z_errnum));
-}
-
-inline void
-log_perror(char *msg)
-{
- perror(msg);
-}
-void
-log_message(char *msg)
-{
- fprintf(stderr, msg);
-}
-#else /* _STANDALONE_ */
-#include "../log.h"
-void
-zerr(BZFILE * f) /* decrease code size */
-{
- log_message(BZ2_bzerror(f, &z_errnum));
-}
-#endif /* _STANDALONE_ */
-
-
-static int
-mar_open_file(char *filename, struct mar_stream *s)
-{
- int end_filetable = 0;
- struct mar_element * previous_element = NULL;
-
- /* mar_zfile */
- s->mar_zfile = BZ2_bzopen(filename, "rb");
- if (!s->mar_zfile)
- {
- log_perror(filename);
- return -1;
- }
-
- while (end_filetable == 0)
- {
- char buf[512];
- int ptr = 0;
- /* read filename */
- do
- {
- if (BZ2_bzread(s->mar_zfile, &(buf[ptr]), sizeof(char)) != sizeof(char))
- {
- zerr(s->mar_zfile);
- return -1;
- }
- ptr++;
- } while ((buf[ptr-1] != 0) && (ptr < 512));
- /* ptr == 1 when we arrive on the "char 0" of the end of the filetable */
- if (ptr > 1)
- {
- struct mar_element * e = (struct mar_element *) malloc(sizeof(struct mar_element));
- e->filename = strdup(buf);
- /* read file_length */
- if (BZ2_bzread(s->mar_zfile, &(e->file_length), sizeof(int)) != sizeof(int))
- {
- zerr(s->mar_zfile);
- return -1;
- }
- /* read data_offset */
- if (BZ2_bzread(s->mar_zfile, &(e->data_offset), sizeof(int)) != sizeof(int))
- {
- zerr(s->mar_zfile);
- return -1;
- }
- /* write down chaining */
- if (previous_element)
- previous_element->next_element = e;
- else
- s->first_element = e;
- previous_element = e;
- }
- else
- end_filetable = 1;
-
- }
- /* chaining for last element */
- previous_element->next_element = NULL;
-
- return 0;
-}
-
-
-char **
-mar_list_contents(char * mar_filename)
-{
- struct mar_stream s;
- struct mar_element * elem;
- char * tmp_contents[500];
- char ** answ;
- int i = 0;
-
- if (mar_open_file(mar_filename, &s))
- return NULL;
-
- elem = s.first_element;
- while (elem)
- {
- tmp_contents[i++] = strdup(elem->filename);
- elem = elem->next_element;
- }
- tmp_contents[i++] = NULL;
- answ = (char **) malloc(sizeof(char *) * i);
- memcpy(answ, tmp_contents, sizeof(char *) * i);
- return answ;
-}
-
-
-int
-mar_extract_file(char *mar_filename, char *filename_to_extract, char *dest_dir)
-{
- struct mar_stream s;
- struct mar_element * elem;
-
- if (mar_open_file(mar_filename, &s))
- return -1;
-
- elem = s.first_element;
- while (elem)
- {
- if (strcmp(elem->filename, filename_to_extract) == 0)
- {
- char garb_buf[4096];
- char *buf;
- char *dest_file;
- int fd, i;
- dest_file = (char *) alloca(strlen(dest_dir) + strlen(filename_to_extract) + 1);
- strcpy(dest_file, dest_dir);
- strcat(dest_file, filename_to_extract);
- fd = creat(dest_file, 00660);
- if (fd == -1)
- {
- log_perror(dest_file);
- return -1;
- }
- buf = (char *) alloca(elem->file_length);
- if (!buf)
- {
- log_perror(dest_file);
- return -1;
- }
- i = elem->data_offset;
- while (i > 0) {
- int to_read = i > sizeof(garb_buf) ? sizeof(garb_buf) : i;
- if (BZ2_bzread(s.mar_zfile, garb_buf, to_read) != to_read) {
- log_message("MAR: unexpected EOF in stream");
- return -1;
- }
- i -= to_read;
- }
- if (BZ2_bzread(s.mar_zfile, buf, elem->file_length) != elem->file_length)
- {
- zerr(s.mar_zfile);
- return -1;
- }
- if (write(fd, buf, elem->file_length) != elem->file_length)
- {
- log_perror(dest_file);
- return -1;
- }
- close(fd); /* do not check return value for code size */
- BZ2_bzclose(s.mar_zfile);
- return 0;
- }
- elem = elem->next_element;
- }
- BZ2_bzclose(s.mar_zfile);
- return 1; /* 1 for file_not_found_in_archive */
-}
-
-
diff --git a/mdk-stage1/mar/mar-extract-only.h b/mdk-stage1/mar/mar-extract-only.h
deleted file mode 100644
index 6fa34efe4..000000000
--- a/mdk-stage1/mar/mar-extract-only.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * mar - The Mandrake Archiver
- *
- * An archiver that supports compression (through zlib).
- *
- */
-
-/*
- * Header for stage1 on-the-fly needs.
- */
-
-#ifndef MAR_EXTRACT_ONLY_H
-#define MAR_EXTRACT_ONLY_H
-
-int mar_extract_file(char *mar_filename, char *filename_to_extract, char *dest_dir);
-char ** mar_list_contents(char *mar_filename);
-
-#endif
diff --git a/mdk-stage1/mar/mar-frontend.c b/mdk-stage1/mar/mar-frontend.c
deleted file mode 100644
index 2e87626db..000000000
--- a/mdk-stage1/mar/mar-frontend.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * mar - The Mandrake Archiver
- *
- * An archiver that supports compression (through zlib).
- *
- */
-
-/*
- * This code includes the extracting and creating features.
- *
- */
-
-#include "mar.h"
-#include "mar-extract-only.h"
-
-
-int
-file_size(char *filename)
-{
- struct stat buf;
- if (stat(filename, &buf) != 0)
- {
- perror(filename);
- return -1;
- }
- return buf.st_size;
-}
-
-
-/* Yes I don't use the datastructure I directly write the final fileformat in memory then write down it.
- * Yes it's bad.
- */
-/* ``files'' is a NULL-terminated array of char* */
-
-char * fnf_tag = "FILE_NOT_FOUND&";
-
-int
-mar_create_file(char *dest_file, char **files)
-{
- int filenum = 0;
- int current_offset_filetable = 0;
- int current_delta_rawdata = 0;
- int filetable_size;
- char * temp_marfile_buffer;
- int total_length = 0;
-
- filetable_size = sizeof(char); /* ``char 0'' */
- while (files[filenum])
- {
- int fsiz = file_size(files[filenum]);
- if (fsiz == -1)
- files[filenum] = fnf_tag;
- else {
- filetable_size += 2*sizeof(int) /* file_length, data_offset */ + strlen(files[filenum]) + 1;
- total_length += fsiz;
- }
- filenum++;
- }
-
- total_length += filetable_size;
-
- temp_marfile_buffer = (char *) malloc(total_length); /* create the whole file in-memory (not with alloca! it can be bigger than typical limit for stack of programs (ulimit -s) */
- DEBUG_MAR(printf("D: mar::create_marfile total-length %d\n", total_length););
-
- filenum = 0;
- while (files[filenum])
- {
- if (strcmp(files[filenum], fnf_tag)) {
- FILE * f = fopen(files[filenum], "r");
- int fsize;
- if (!f)
- {
- perror(files[filenum]);
- return -1;
- }
-
- /* filename */
- strcpy(&(temp_marfile_buffer[current_offset_filetable]), files[filenum]);
- current_offset_filetable += strlen(files[filenum]) + 1;
-
- /* file_length */
- fsize = file_size(files[filenum]);
- if (fsize == -1) return -1;
- memcpy(&temp_marfile_buffer[current_offset_filetable], &fsize, sizeof(int));
- current_offset_filetable += sizeof(int);
-
- /* data_offset */
- memcpy(&temp_marfile_buffer[current_offset_filetable], &current_delta_rawdata, sizeof(int));
- current_offset_filetable += sizeof(int);
-
- /* data_raw_data */
- if (fread(&temp_marfile_buffer[current_delta_rawdata + filetable_size], 1, fsize, f) != fsize)
- {
- perror(files[filenum]);
- return -1;
- }
- fclose(f);
-
- current_delta_rawdata += fsize;
- }
-
- filenum++;
- }
-
- /* write down ``char 0'' to terminate file table */
- memset(&temp_marfile_buffer[current_offset_filetable], 0, sizeof(char));
-
- /* ok, buffer is ready, let's write it on-disk */
- {
- BZFILE * f = BZ2_bzopen(dest_file, "w9");
- if (!f)
- {
- perror(dest_file);
- return -1;
- }
- if (BZ2_bzwrite(f, temp_marfile_buffer, total_length) != total_length)
- {
- fprintf(stderr, BZ2_bzerror(f, &z_errnum));
- return -1;
- }
- BZ2_bzclose(f);
- }
-
- printf("mar: created archive %s (%d files, length %d)\n", dest_file, filenum, total_length);
- return 0;
-}
-
-
-void
-print_usage(char *progname)
-{
- printf("Usage: %s [-lxc] [files..]\n", progname);
- exit(0);
-}
-
-int
-main(int argc, char **argv)
-{
- if (argc <= 2)
- print_usage(argv[0]);
-
- if (argc >= 3)
- {
- if (strcmp(argv[1], "-l") == 0)
- {
- char ** contents = mar_list_contents(argv[2]);
- if (contents)
- while (contents && *contents) {
- printf("\t%s\n", *contents);
- contents++;
- }
- exit(0);
- }
- if ((strcmp(argv[1], "-x") == 0) && argc == 4)
- {
- int res = mar_extract_file(argv[2], argv[3], "./");
- if (res == 1)
- fprintf(stderr, "W: file-not-found-in-archive %s\n", argv[3]);
- if (res == -1)
- exit(-1);
- exit(0);
- }
- if ((strcmp(argv[1], "-c") == 0) && argc >= 4)
- {
- char **files = (char **) alloca(((argc-3)+1) * sizeof(char *));
- int i = 3;
- while (i < argc)
- {
- files[i-3] = argv[i];
- i++;
- }
- files[argc-3] = NULL;
- {
- int results;
- results = mar_create_file(argv[2], files);
- if (results != 0)
- fprintf(stderr, "E: create-marfile-failed\n");
- exit(results);
- }
-
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/mar/mar.h b/mdk-stage1/mar/mar.h
deleted file mode 100644
index 672d7ded8..000000000
--- a/mdk-stage1/mar/mar.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * mar - The Mandrake Archiver
- *
- * An archiver that supports compression (through bzlib).
- *
- * Designed to be small so these bad designs are inside:
- * . archive and compression are mixed together
- * . create the mar file in-memory
- * . does not free memory
- *
- */
-
-#ifndef MAR_H
-#define MAR_H
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <unistd.h>
-
-#include <bzlib.h>
-
-/*
- * Format of a mar file:
- *
- * ASCIIZ filename \ |
- * int file_length | repeated | bzipped
- * int pointer_in_archive / |
- * char 0 |
- * raw_files_data /
- *
- */
-
-struct mar_element
-{
- char * filename; /* filename (ASCIIZ) of the element */
- int file_length; /* length (in bytes) of the raw data of the element */
- int data_offset; /* seek start of the raw data in the underlying mar stream */
- struct mar_element * next_element; /* pointer to the next element in the mar stream; NULL if last */
-};
-
-struct mar_stream
-{
- struct mar_element * first_element; /* pointer to the first element inside the mar stream */
- BZFILE * mar_zfile; /* associated zfile (opened) */
-};
-
-int z_errnum;
-
-#define DEBUG_MAR(x)
-
-#endif
diff --git a/mdk-stage1/minilibc.c b/mdk-stage1/minilibc.c
deleted file mode 100644
index 77b65accc..000000000
--- a/mdk-stage1/minilibc.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-
-#define MINILIBC_INTERNAL
-
-#include "minilibc.h"
-
-int atexit (void (*__func) (void))
-{
- return 0;
-}
-
-void exit()
-{
- _do_exit(0);
- for (;;); /* Shut up gcc */
-}
-
-
-char ** _environ = NULL;
-int errno = 0;
-
-void _init (int __status)
-{
-}
-
-void __libc_init_first (int __status)
-{
-}
-
-int __libc_start_main (int (*main) (int, char **, char **), int argc,
- char **argv, void (*init) (void), void (*fini) (void),
- void (*rtld_fini) (void), void *stack_end)
-{
- exit ((*main) (argc, argv, NULL));
- /* never get here */
- return 0;
-}
-
-void _fini (int __status)
-{
-}
-
-inline int socket(int a, int b, int c)
-{
- unsigned long args[] = { a, b, c };
-
- return socketcall(SYS_SOCKET, args);
-}
-
-inline int bind(int a, void * b, int c)
-{
- unsigned long args[] = { a, (long) b, c };
-
- return socketcall(SYS_BIND, args);
-}
-
-inline int listen(int a, int b)
-{
- unsigned long args[] = { a, b, 0 };
-
- return socketcall(SYS_LISTEN, args);
-}
-
-inline int accept(int a, void * addr, void * addr2)
-{
- unsigned long args[] = { a, (long) addr, (long) addr2 };
-
- return socketcall(SYS_ACCEPT, args);
-}
-
-
-void sleep(int secs)
-{
- struct timeval tv;
-
- tv.tv_sec = secs;
- tv.tv_usec = 0;
-
- select(0, NULL, NULL, NULL, &tv);
-}
-
-
-int strlen(const char * string)
-{
- int i = 0;
-
- while (*string++) i++;
-
- return i;
-}
-
-char * strncpy(char * dst, const char * src, int len)
-{
- char * chptr = dst;
- int i = 0;
-
- while (*src && i < len) *dst++ = *src++, i++;
- if (i < len) *dst = '\0';
-
- return chptr;
-}
-
-char * strcpy(char * dst, const char * src)
-{
- char * chptr = dst;
-
- while (*src) *dst++ = *src++;
- *dst = '\0';
-
- return chptr;
-}
-
-void * memcpy(void * dst, const void * src, size_t count)
-{
- char * a = dst;
- const char * b = src;
-
- while (count--)
- *a++ = *b++;
-
- return dst;
-}
-
-
-int strcmp(const char * a, const char * b)
-{
- int i, j;
-
- i = strlen(a); j = strlen(b);
- if (i < j)
- return -1;
- else if (j < i)
- return 1;
-
- while (*a && (*a == *b)) a++, b++;
-
- if (!*a) return 0;
-
- if (*a < *b)
- return -1;
- else
- return 1;
-}
-
-int strncmp(const char * a, const char * b, int len)
-{
- char buf1[1000], buf2[1000];
-
- strncpy(buf1, a, len);
- strncpy(buf2, b, len);
- buf1[len] = '\0';
- buf2[len] = '\0';
-
- return strcmp(buf1, buf2);
-}
-
-char * strchr(char * str, int ch)
-{
- char * chptr;
-
- chptr = str;
- while (*chptr)
- {
- if (*chptr == ch) return chptr;
- chptr++;
- }
-
- return NULL;
-}
-
-
-char * strstr(char *haystack, char *needle)
-{
- char * tmp = haystack;
- while ((tmp = strchr(tmp, needle[0])) != NULL) {
- int i = 1;
- while (i < strlen(tmp) && i < strlen(needle) && tmp[i] == needle[i])
- i++;
- if (needle[i] == '\0')
- return tmp;
- tmp++;
- }
- return NULL;
-}
-
-
-/* Minimum printf which handles only characters, %d's and %s's */
-void printf(char * fmt, ...)
-{
- char buf[2048];
- char * start = buf;
- char * chptr = buf;
- va_list args;
- char * strarg;
- int numarg;
-
- strncpy(buf, fmt, sizeof(buf));
- va_start(args, fmt);
-
- while (start)
- {
- while (*chptr != '%' && *chptr) chptr++;
-
- if (*chptr == '%')
- {
- *chptr++ = '\0';
- print_str_init(1, start);
-
- switch (*chptr++)
- {
- case 's':
- strarg = va_arg(args, char *);
- print_str_init(1, strarg);
- break;
-
- case 'd':
- numarg = va_arg(args, int);
- print_int_init(1, numarg);
- break;
- }
-
- start = chptr;
- }
- else
- {
- print_str_init(1, start);
- start = NULL;
- }
- }
-}
-
diff --git a/mdk-stage1/minilibc.h b/mdk-stage1/minilibc.h
deleted file mode 100644
index e0775e3a0..000000000
--- a/mdk-stage1/minilibc.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-
-#include <stdarg.h>
-
-#define _LOOSE_KERNEL_NAMES 1
-
-#define NULL ((void *) 0)
-
-#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
-#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
-#define WEXITSTATUS(status) (((status) & 0xff00) >> 8)
-#define WTERMSIG(status) ((status) & 0x7f)
-#define WSTOPSIG(status) WEXITSTATUS(status)
-#define WIFEXITED(status) (WTERMSIG(status) == 0)
-
-#define MS_MGC_VAL 0xc0ed0000
-
-#define isspace(a) (a == ' ' || a == '\t')
-
-extern char ** _environ;
-
-extern int errno;
-
-/* Aieee, gcc 2.95+ creates a stub for posix_types.h on i386 which brings
- glibc headers in and thus makes __FD_SET etc. not defined with 2.3+ kernels. */
-#define _FEATURES_H 1
-#include <linux/socket.h>
-#include <linux/types.h>
-#include <linux/time.h>
-#include <linux/if.h>
-#include <linux/un.h>
-#include <linux/loop.h>
-#include <linux/net.h>
-#include <asm/posix_types.h>
-#include <asm/termios.h>
-#include <asm/ioctls.h>
-#include <asm/unistd.h>
-#include <asm/fcntl.h>
-#include <asm/signal.h>
-
-
-#ifndef MINILIBC_INTERNAL
-static inline _syscall5(int,mount,const char *,spec,const char *,dir,const char *,type,unsigned long,rwflag,const void *,data);
-static inline _syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
-static inline _syscall4(int,wait4,pid_t,pid,int *,status,int,opts,void *,rusage)
-static inline _syscall3(int,write,int,fd,const char *,buf,unsigned long,count)
-static inline _syscall3(int,reboot,int,magic,int,magic_too,int,flag)
-static inline _syscall3(int,execve,const char *,fn,void *,argv,void *,envp)
-static inline _syscall3(int,read,int,fd,const char *,buf,unsigned long,count)
-static inline _syscall3(int,open,const char *,fn,int,flags,mode_t,mode)
-static inline _syscall3(int,ioctl,int,fd,int,request,void *,argp)
-static inline _syscall2(int,dup2,int,one,int,two)
-static inline _syscall2(int,kill,pid_t,pid,int,sig)
-static inline _syscall2(int,symlink,const char *,a,const char *,b)
-static inline _syscall2(int,chmod,const char * ,path,mode_t,mode)
-static inline _syscall2(int,sethostname,const char *,name,int,len)
-static inline _syscall2(int,setdomainname,const char *,name,int,len)
-static inline _syscall2(int,setpgid,int,name,int,len)
-static inline _syscall2(int,signal,int,num,void *,len)
-static inline _syscall1(int,umount,const char *,dir)
-static inline _syscall1(int,unlink,const char *,fn)
-static inline _syscall1(int,close,int,fd)
-static inline _syscall1(int,swapoff,const char *,fn)
-static inline _syscall0(int,getpid)
-static inline _syscall0(int,sync)
-#ifdef __sparc__
-/* Nonstandard fork calling convention :( */
-static inline int fork(void) {
- int __res;
- __asm__ __volatile__ (
- "mov %0, %%g1\n\t"
- "t 0x10\n\t"
- "bcc 1f\n\t"
- "dec %%o1\n\t"
- "sethi %%hi(%2), %%g1\n\t"
- "st %%o0, [%%g1 + %%lo(%2)]\n\t"
- "b 2f\n\t"
- "mov -1, %0\n\t"
- "1:\n\t"
- "and %%o0, %%o1, %0\n\t"
- "2:\n\t"
- : "=r" (__res)
- : "0" (__NR_fork), "i" (&errno)
- : "g1", "o0", "cc");
- return __res;
-}
-#else
-static inline _syscall0(int,fork)
-#endif
-static inline _syscall0(pid_t,setsid)
-static inline _syscall3(int,syslog,int, type, char *, buf, int, len);
-#else
-static inline _syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
-static inline _syscall3(int,write,int,fd,const char *,buf,unsigned long,count)
-static inline _syscall2(int,socketcall,int,code,unsigned long *, args)
-#define __NR__do_exit __NR_exit
-extern inline _syscall1(int,_do_exit,int,exitcode)
-#endif
-
-#define select _newselect
-
-extern int errno;
-
-inline int socket(int a, int b, int c);
-inline int bind(int a, void * b, int c);
-inline int listen(int a, int b);
-inline int accept(int a, void * addr, void * addr2);
-
-void sleep(int secs);
-
-int strlen(const char * string);
-char * strcpy(char * dst, const char * src);
-void * memcpy(void * dst, const void * src, size_t count);
-int strcmp(const char * a, const char * b);
-int strncmp(const char * a, const char * b, int len);
-char * strchr(char * str, int ch);
-char * strstr(char *haystack, char *needle);
-char * strncpy(char * dst, const char * src, int len);
-
-void print_str_init(int fd, char * string);
-void print_int_init(int fd, int i);
-/* Minimum printf which handles only characters, %d's and %s's */
-void printf(char * fmt, ...) __attribute__ ((format (printf, 1, 2)));
-
diff --git a/mdk-stage1/mkinitrd_helper/Makefile b/mdk-stage1/mkinitrd_helper/Makefile
deleted file mode 100644
index 1fa6a345a..000000000
--- a/mdk-stage1/mkinitrd_helper/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-VERSION = 1.1.1
-
-DEFS = -DVERSION=\"$(VERSION)\"
-
-
-MKINITRD_HELPER_SRC = mkinitrd_helper.c
-MKINITRD_HELPER_LIBS = ../insmod-busybox/libinsmod-DIET.a
-
-MKINITRD_HELPER_OBJS = $(subst .c,.o,$(MKINITRD_HELPER_SRC))
-
-BIN = mkinitrd_helper
-
-all: $(BIN)
-
-clean:
- rm -f *.o $(BIN)
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer -c
-
-
-$(MKINITRD_HELPER_OBJS): %.o: %.c
- $(CC) $(DEFS) $(DIETLIBC_INCLUDES) -I.. -c $< -o $@
-
-mkinitrd_helper: $(MKINITRD_HELPER_OBJS) $(MKINITRD_HELPER_LIBS) $(DIETLIBC_LIBC)
- $(CC) $(DIETLIBC_LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
diff --git a/mdk-stage1/mkinitrd_helper/mkinitrd_helper.c b/mdk-stage1/mkinitrd_helper/mkinitrd_helper.c
deleted file mode 100644
index 67be7c340..000000000
--- a/mdk-stage1/mkinitrd_helper/mkinitrd_helper.c
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2001 MandrakeSoft
- *
- * This software is covered by the GPL license.
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *
- * This little program replaces usual sash and insmod.static based script
- * from mkinitrd (that insmod modules, plus possibly mount a partition and
- * losetup a loopback-based / on the partition).
- *
- *
- * On my machine:
- * gzipped sash + insmod.static 502491 bytes
- * gzipped <this-program> 14243 bytes
- *
- * There will be room for linux-2.4 and many modules, now. Cool.
- *
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/mount.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <signal.h>
-
-#include "insmod.h"
-
-int quiet = 0;
-
-void vlog_message(const char * s, va_list args)
-{
- vprintf(s, args);
- printf("\n");
-}
-
-void log_perror(char *msg)
-{
- perror(msg);
-}
-
-
-static void fatal_error(char *msg)
-{
- printf("[] E: %s\n[] giving hand to kernel.\n", msg);
- exit(-1);
-}
-
-static void warning(char *msg)
-{
- printf("[] W: %s\n", msg);
-}
-
-static void parse_parms(const char * parm, char ** parm1, char ** parm2, char ** parm3)
-{
- char * ptr;
-
- ptr = strchr(parm, '\n');
- if (!ptr)
- fatal_error("bad config file: no newline after parms");
-
- *parm1 = malloc(ptr-parm+1); /* yup, never freed :-) */
- memcpy(*parm1, parm, ptr-parm);
- (*parm1)[ptr-parm] = '\0';
-
- if (!parm2)
- return;
-
- *parm2 = strchr(*parm1, ' ');
- if (!*parm2)
- return;
- **parm2 = '\0';
- (*parm2)++;
-
- if (!parm3)
- return;
-
- *parm3 = strchr(*parm2, ' ');
- if (!*parm3)
- return;
- **parm3 = '\0';
- (*parm3)++;
-}
-
-
-static void insmod_(const char * parm)
-{
- char * mod_name, * options;
-
- parse_parms(parm, &mod_name, &options, NULL);
-
-#ifdef DEBUG
- printf("insmod %s options %s\n", mod_name, options);
-#endif
- if (!quiet)
- printf("[] Loading module %s\n", mod_name);
-
- if (insmod_call(mod_name, options))
- perror("insmod failed");
-}
-
-
-static void mount_(const char * parm)
-{
- char * dev, * location, * fs;
- unsigned long flags;
- char * opts = NULL;
-
- parse_parms(parm, &dev, &location, &fs);
-
-#ifdef DEBUG
- printf("mounting %s on %s as type %s\n", dev, location, fs);
-#endif
- if (!quiet)
- printf("[] Mounting device containing loopback root filesystem\n");
-
- flags = MS_MGC_VAL;
-
- if (!strcmp(fs, "vfat"))
- opts = "check=relaxed";
-
- if (mount(dev, location, fs, flags, opts))
- perror("mount failed");
-}
-
-
-#define LO_NAME_SIZE 64
-#define LO_KEY_SIZE 32
-
-struct loop_info
-{
- int lo_number; /* ioctl r/o */
- dev_t lo_device; /* ioctl r/o */
- unsigned long lo_inode; /* ioctl r/o */
- dev_t lo_rdevice; /* ioctl r/o */
- int lo_offset;
- int lo_encrypt_type;
- int lo_encrypt_key_size; /* ioctl w/o */
- int lo_flags; /* ioctl r/o */
- char lo_name[LO_NAME_SIZE];
- unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
- unsigned long lo_init[2];
- char reserved[4];
-};
-
-#define LOOP_SET_FD 0x4C00
-#define LOOP_CLR_FD 0x4C01
-#define LOOP_SET_STATUS 0x4C02
-
-static void set_loop_(const char * parm)
-{
- struct loop_info loopinfo;
- int fd, ffd;
- char * device, * file;
-
- parse_parms(parm, &device, &file, NULL);
-
-#ifdef DEBUG
- printf("set_looping %s with %s\n", device, file);
-#endif
- if (!quiet)
- printf("[] Setting up loopback file %s\n", file);
-
- if ((ffd = open(file, O_RDWR)) < 0) {
- perror("set_loop, opening file in rw");
- exit(-1);
- }
-
- if ((fd = open(device, O_RDWR)) < 0) {
- perror("set_loop, opening loop device in rw");
- close(ffd);
- exit(-1);
- }
-
- memset(&loopinfo, 0, sizeof (loopinfo));
- strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
- loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
- loopinfo.lo_offset = 0;
-
- if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
- close(fd);
- close(ffd);
- perror("LOOP_SET_FD");
- exit(-1);
- }
-
- if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
- (void) ioctl (fd, LOOP_CLR_FD, 0);
- close(fd);
- close(ffd);
- perror("LOOP_SET_STATUS");
- exit(-1);
- }
-
- close(fd);
- close(ffd);
-}
-
-
-#define MD_MAJOR 9
-#define RAID_AUTORUN _IO (MD_MAJOR, 0x14)
-#include <linux/raid/md_u.h>
-
-static void raidautorun_(const char * parm)
-{
- char * device;
- int fd;
-
- parse_parms(parm, &device, NULL, NULL);
-
- if (!quiet)
- printf("[] Calling raid autorun for %s\n", device);
-
- fd = open(device, O_RDWR, 0);
- if (fd < 0) {
- printf("raidautorun: failed to open %s: %d\n", device, errno);
- return;
- }
-
- if (ioctl(fd, RAID_AUTORUN, 0)) {
- printf("raidautorun: RAID_AUTORUN failed: %d\n", errno);
- }
-
- close(fd);
-}
-
-static int handle_command(char ** ptr, char * cmd_name, void (*cmd_func)(const char * parm))
-{
- if (!strncmp(*ptr, cmd_name, strlen(cmd_name))) {
- *ptr = strchr(*ptr, '\n');
- if (!*ptr)
- fatal_error("Bad config file: no newline after command");
- (*ptr)++;
- cmd_func(*ptr);
- *ptr = strchr(*ptr, '\n');
- if (!*ptr)
- exit(0);
- (*ptr)++;
- return 1;
- }
- return 0;
-}
-
-
-int main(int argc, char **argv)
-{
- int fd_conf, i;
- char buf[5000];
- char * ptr;
-
- if (strstr(argv[0], "modprobe"))
- exit(0);
-
- if (mount("/proc", "/loopfs", "proc", 0, NULL))
- printf("[] couldn't mount proc filesystem\n");
- else {
- int fd_cmdline = open("/loopfs/cmdline", O_RDONLY);
- if (fd_cmdline > 0) {
- i = read(fd_cmdline, buf, sizeof(buf));
- if (i == -1)
- warning("could not read cmdline");
- else {
- buf[i] = '\0';
- if (strstr(buf, "quiet"))
- quiet = 1;
- }
- close(fd_cmdline);
- }
- umount("/loopfs");
- }
-
- if (!quiet)
- printf("[] initrd_helper v" VERSION "\n");
-
- if ((fd_conf = open("/mkinitrd_helper.conf", O_RDONLY)) < 0)
- fatal_error("could not open mkinitrd_helper config file");
-
- i = read(fd_conf, buf, sizeof(buf));
- if (i == -1)
- fatal_error("could not read mkinitrd_helper config file");
- buf[i] = '\0';
- close(fd_conf);
-
- ptr = buf;
-
- while (*ptr)
- if (!(handle_command(&ptr, "insmod", insmod_) +
- handle_command(&ptr, "mount", mount_) +
- handle_command(&ptr, "raidautorun", raidautorun_) +
- handle_command(&ptr, "set_loop", set_loop_)))
- warning("unkown command (trying to continue)");
-
- return 0;
-}
diff --git a/mdk-stage1/modules.c b/mdk-stage1/modules.c
deleted file mode 100644
index 31d20bbaa..000000000
--- a/mdk-stage1/modules.c
+++ /dev/null
@@ -1,377 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * (1) calculate dependencies
- * (2) unarchive relevant modules
- * (3) insmod them
- */
-
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include "insmod.h"
-#include "stage1.h"
-#include "log.h"
-#include "mar/mar-extract-only.h"
-#include "frontend.h"
-#include "modules_descr.h"
-
-#include "modules.h"
-
-static struct module_deps_elem * modules_deps = NULL;
-
-static char * archive_name = "/modules/modules.mar";
-static int disable_modules = 0;
-
-
-/* unarchive and insmod given module
- * WARNING: module must not contain the trailing ".o"
- */
-static enum insmod_return insmod_archived_file(const char * mod_name, char * options)
-{
- char module_name[50];
- char final_name[50] = "/tmp/";
- int i, rc;
-
- strncpy(module_name, mod_name, sizeof(module_name));
- strcat(module_name, ".o");
- i = mar_extract_file(archive_name, module_name, "/tmp/");
- if (i == 1) {
- log_message("file-not-found-in-archive %s", module_name);
- return INSMOD_FAILED_FILE_NOT_FOUND;
- }
- if (i != 0)
- return INSMOD_FAILED;
-
- strcat(final_name, mod_name);
- strcat(final_name, ".o");
-
- rc = insmod_call(final_name, options);
- unlink(final_name); /* sucking no space left on device */
- if (rc) {
- log_message("\tfailed");
- return INSMOD_FAILED;
- }
- return INSMOD_OK;
-}
-
-
-
-static int load_modules_dependencies(void)
-{
- char * deps_file = "/modules/modules.dep";
- char * buf, * ptr, * start, * end;
- struct stat s;
- int fd, line, i;
-
- log_message("loading modules dependencies");
-
- if (IS_TESTING)
- return 0;
-
- fd = open(deps_file, O_RDONLY);
- if (fd == -1) {
- log_perror(deps_file);
- return -1;
- }
-
- fstat(fd, &s);
- buf = alloca(s.st_size + 1);
- if (read(fd, buf, s.st_size) != s.st_size) {
- log_perror(deps_file);
- return -1;
- }
- buf[s.st_size] = '\0';
- close(fd);
-
- ptr = buf;
- line = 0;
- while (ptr) {
- line++;
- ptr = strchr(ptr + 1, '\n');
- }
-
- modules_deps = malloc(sizeof(*modules_deps) * (line+1));
-
- start = buf;
- line = 0;
- while (start < (buf+s.st_size) && *start) {
- char * tmp_deps[50];
-
- end = strchr(start, '\n');
- *end = '\0';
-
- ptr = strchr(start, ':');
- if (!ptr) {
- start = end + 1;
- continue;
- }
- *ptr = '\0';
- ptr++;
-
- while (*ptr && (*ptr == ' ')) ptr++;
- if (!*ptr) {
- start = end + 1;
- continue;
- }
-
- /* sort of a good line */
- modules_deps[line].name = strdup(start);
-
- start = ptr;
- i = 0;
- while (start && *start) {
- ptr = strchr(start, ' ');
- if (ptr) *ptr = '\0';
- tmp_deps[i++] = strdup(start);
- if (ptr)
- start = ptr + 1;
- else
- start = NULL;
- while (start && *start && *start == ' ')
- start++;
- }
- tmp_deps[i++] = NULL;
-
- modules_deps[line].deps = memdup(tmp_deps, sizeof(char *) * i);
-
- line++;
- start = end + 1;
- }
- modules_deps[line].name = NULL;
-
- return 0;
-}
-
-
-void init_modules_insmoding(void)
-{
- if (load_modules_dependencies()) {
- log_message("warning, error initing modules stuff, modules loading disabled");
- disable_modules = 1;
- }
-}
-
-
-static void add_modules_conf(char * str)
-{
- static char data[500] = "";
- char * target = "/etc/modules.conf";
- int fd;
-
- if (strlen(data) + strlen(str) >= sizeof(data))
- return;
-
- strcat(data, str);
- strcat(data, "\n");
-
- fd = open(target, O_CREAT|O_WRONLY|O_TRUNC, 00660);
-
- if (fd == -1) {
- log_perror(str);
- return;
- }
-
- if (write(fd, data, strlen(data) + 1) != strlen(data) + 1)
- log_perror(str);
-
- close(fd);
-}
-
-
-static int module_already_present(const char * name)
-{
- FILE * f;
- int answ = 0;
- f = fopen("/proc/modules", "rb");
- while (1) {
- char buf[500];
- if (!fgets(buf, sizeof(buf), f)) break;
- if (!strncmp(name, buf, strlen(name)) && buf[strlen(name)] == ' ')
- answ = 1;
- }
- fclose(f);
- return answ;
-}
-
-
-static enum insmod_return insmod_with_deps(const char * mod_name, char * options)
-{
- struct module_deps_elem * dep;
-
- dep = modules_deps;
- while (dep && dep->name && strcmp(dep->name, mod_name)) dep++;
-
- if (dep && dep->name && dep->deps) {
- char ** one_dep;
- one_dep = dep->deps;
- while (*one_dep) {
- /* here, we can fail but we don't care, if the error is
- * important, the desired module will fail also */
- insmod_with_deps(*one_dep, NULL);
- one_dep++;
- }
- }
-
- if (module_already_present(mod_name))
- return INSMOD_OK;
-
- log_message("needs %s", mod_name);
- return insmod_archived_file(mod_name, options);
-}
-
-
-enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options)
-{
- char alias[500];
- int i;
-#ifndef DISABLE_MEDIAS
- static int number_scsi = 0;
-#endif
-#ifndef DISABLE_NETWORK
- char ** net_devices = NULL; /* fucking compiler */
-#endif
-
- log_message("have to insmod %s", mod_name);
-
- if (disable_modules) {
- log_message("\tdisabled");
- return INSMOD_OK;
- }
-
-#ifndef DISABLE_NETWORK
- if (type == NETWORK_DEVICES)
- net_devices = get_net_devices();
-#endif
-
- if (IS_TESTING)
- return INSMOD_OK;
-
- i = insmod_with_deps(mod_name, options);
- if (i == 0) {
- log_message("\tsucceeded %s", mod_name);
-#ifndef DISABLE_MEDIAS
- if (type == SCSI_ADAPTERS) {
- if (number_scsi > 0)
- sprintf(alias, "alias scsi_hostadapter%d %s", number_scsi, mod_name);
- else
- sprintf(alias, "alias scsi_hostadapter %s", mod_name);
- number_scsi++;
- add_modules_conf(alias);
- log_message("SCSI: %s", alias);
- }
-#endif
-#ifndef DISABLE_NETWORK
- if (type == NETWORK_DEVICES) {
- char ** new_net_devices = get_net_devices();
- while (new_net_devices && *new_net_devices) {
- char ** ptr = net_devices;
- while (ptr && *ptr) {
- if (!strcmp(*new_net_devices, *ptr))
- goto already_present;
- ptr++;
- }
- sprintf(alias, "alias %s %s", *new_net_devices, mod_name);
- add_modules_conf(alias);
- log_message("NET: %s", alias);
- net_discovered_interface(*new_net_devices);
-
- already_present:
- new_net_devices++;
- }
- }
-#endif
- } else
- log_message("warning, insmod failed (%s %s) (%d)", mod_name, options, i);
-
- return i;
-
-}
-
-static enum return_type insmod_with_options(char * mod, enum driver_type type)
-{
- char * questions[] = { "Options", NULL };
- static char ** answers = NULL;
- enum return_type results;
- char options[500] = "options ";
-
- results = ask_from_entries("Please enter the parameters to give to the kernel:", questions, &answers, 24, NULL);
- if (results != RETURN_OK)
- return results;
-
- strcat(options, mod);
- strcat(options, " ");
- strcat(options, answers[0]); // because my_insmod will eventually modify the string
-
- if (my_insmod(mod, type, answers[0]) != INSMOD_OK) {
- stg1_error_message("Insmod failed.");
- return RETURN_ERROR;
- }
-
- add_modules_conf(options);
-
- return RETURN_OK;
-}
-
-enum return_type ask_insmod(enum driver_type type)
-{
- char * mytype;
- char msg[200];
- enum return_type results;
- char * choice;
-
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
-
- if (type == SCSI_ADAPTERS)
- mytype = "SCSI";
- else if (type == NETWORK_DEVICES)
- mytype = "NET";
- else
- return RETURN_ERROR;
-
- if (disable_modules)
- return RETURN_BACK;
-
- snprintf(msg, sizeof(msg), "Which driver should I try to gain %s access?", mytype);
-
- {
- char ** drivers = mar_list_contents(archive_name);
- char ** descrs = malloc(sizeof(char *) * string_array_length(drivers));
- char ** p_drivers = drivers;
- char ** p_descrs = descrs;
- while (p_drivers && *p_drivers) {
- int i;
- *p_descrs = NULL;
- for (i = 0 ; i < modules_descriptions_num ; i++) {
- if (!strncmp(*p_drivers, modules_descriptions[i].module, strlen(modules_descriptions[i].module))
- && (*p_drivers)[strlen(modules_descriptions[i].module)] == '.') /* one contains '.o' not the other */
- *p_descrs = modules_descriptions[i].descr;
- }
- p_drivers++;
- p_descrs++;
- }
- results = ask_from_list_comments(msg, drivers, descrs, &choice);
- }
-
- if (results == RETURN_OK) {
- choice[strlen(choice)-2] = '\0'; /* remove trailing .o */
- return insmod_with_options(choice, type);
- } else
- return results;
-}
diff --git a/mdk-stage1/modules.h b/mdk-stage1/modules.h
deleted file mode 100644
index 9ed992033..000000000
--- a/mdk-stage1/modules.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _MODULES_H_
-#define _MODULES_H_
-
-#include "stage1.h"
-#include "probing.h"
-
-enum insmod_return { INSMOD_OK, INSMOD_FAILED, INSMOD_FAILED_FILE_NOT_FOUND };
-
-void init_modules_insmoding(void);
-enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options);
-enum return_type ask_insmod(enum driver_type);
-
-struct module_deps_elem {
- char * name;
- char ** deps;
-};
-
-
-
-#endif
diff --git a/mdk-stage1/modules_descr.h b/mdk-stage1/modules_descr.h
deleted file mode 100644
index 356605137..000000000
--- a/mdk-stage1/modules_descr.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2001 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _MODULES_DESCR_H_
-#define _MODULES_DESCR_H_
-
-struct module_descr {
- const char * module;
- char * descr;
-};
-
-struct module_descr modules_descriptions[] = {
- /* description of network drivers that have not very explicit names */
- { "ne", "NE1000/NE2000/clones" },
- { "ne2k-pci", "PCI NE2000" },
- { "depca", "DEC DEPCA/DE100/DE101/DE200/DE201/DE202/DE210/DE422" },
- { "dgrs", "Digi RightSwitch SE-X" },
- { "ewrk3", "DEC DE203/DE204/DE205" },
- { "lance", "Allied Telesis AT1500, HP J2405A, NE2100/NE2500" },
- { "sis900", "SiS 900/7016/630E, Am79c901, RTL8201" },
- { "via-rhine", "VIA VT86c100A Rhine-II, 3043 Rhine-I" },
- { "tulip", "DEC 21040-family based cards" },
- { "wd", "WD8003/WD8013" },
-
- /* description of scsi drivers that have not very explicit names */
- { "53c7,8xx", "NCR53c810/700" },
- { "sim710", "NCR53c710" },
- { "aic7xxx", "Adaptec 7xxx family (AIC/AHA/etc)" },
- { "atp870u", "ACARD/ARTOP AEC-6710/6712" },
- { "ncr53c8xx", "Symbios 53c family" },
- { "sym53c8xx", "Symbios 53c family" },
- { "sim710", "NCR53C710 family" },
-
-};
-
-int modules_descriptions_num = sizeof(modules_descriptions) / sizeof(struct module_descr);
-
-
-#endif
diff --git a/mdk-stage1/mount.c b/mdk-stage1/mount.c
deleted file mode 100644
index 171bf30b5..000000000
--- a/mdk-stage1/mount.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/mount.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include "log.h"
-#include "modules.h"
-
-#include "mount.h"
-
-
-
-#ifndef DISABLE_MEDIAS
-/* WARNING: this won't work if the argument is not /dev/ based */
-static int ensure_dev_exists(char *dev)
-{
- int major, minor;
- int type = S_IFBLK; /* my default type is block. don't forget to change for chars */
- char * name;
- struct stat buf;
-
- name = &dev[5]; /* we really need that dev be passed as /dev/something.. */
-
- if (!stat(dev, &buf))
- return 0; /* if the file already exists, we assume it's correct */
-
- if (name[0] == 's' && name[1] == 'd') {
- /* SCSI disks */
- major = 8;
- minor = (name[2] - 'a') << 4;
- if (name[3] && name[4])
- minor += 10 + (name[4] - '0');
- else if (name[3])
- minor += (name[3] - '0');
- } else if (name[0] == 'h' && name[1] == 'd') {
- /* IDE disks/cd's */
- if (name[2] == 'a')
- major = 3, minor = 0;
- else if (name[2] == 'b')
- major = 3, minor = 64;
- else if (name[2] == 'c')
- major = 22, minor = 0;
- else if (name[2] == 'd')
- major = 22, minor = 64;
- else if (name[2] == 'e')
- major = 33, minor = 0;
- else if (name[2] == 'f')
- major = 33, minor = 64;
- else if (name[2] == 'g')
- major = 34, minor = 0;
- else if (name[2] == 'h')
- major = 34, minor = 64;
- else
- return -1;
-
- if (name[3] && name[4])
- minor += 10 + (name[4] - '0');
- else if (name[3])
- minor += (name[3] - '0');
- } else if (name[0] == 's' && name[1] == 'c' && name[2] == 'd') {
- /* SCSI cd's */
- major = 11;
- minor = name[3] - '0';
- } else {
- log_message("I don't know how to create device %s, please post bugreport to me!", dev);
- return -1;
- }
-
- if (mknod(dev, type | 0600, makedev(major, minor))) {
- log_perror(dev);
- return -1;
- }
-
- return 0;
-}
-#endif /* DISABLE_MEDIAS */
-
-
-/* mounts, creating the device if needed+possible */
-int my_mount(char *dev, char *location, char *fs)
-{
- unsigned long flags;
- char * opts = NULL;
- struct stat buf;
- int rc;
-
-#ifndef DISABLE_MEDIAS
- if (strcmp(fs, "nfs")) {
- rc = ensure_dev_exists(dev);
- if (rc != 0) {
- log_message("could not create required device file");
- return -1;
- }
- }
-#endif
-
- log_message("mounting %s on %s as type %s", dev, location, fs);
-
- if (stat(location, &buf)) {
- if (mkdir(location, 0755)) {
- log_perror("could not create location dir");
- return -1;
- }
- } else if (!S_ISDIR(buf.st_mode)) {
- log_message("not a dir %s, will unlink and mkdir", location);
- if (unlink(location)) {
- log_perror("could not unlink");
- return -1;
- }
- if (mkdir(location, 0755)) {
- log_perror("could not create location dir");
- return -1;
- }
- }
-
- flags = MS_MGC_VAL;
-
-#ifndef DISABLE_MEDIAS
- if (!strcmp(fs, "vfat")) {
- my_insmod("vfat", ANY_DRIVER_TYPE, NULL);
- opts = "check=relaxed";
- }
-
- if (!strcmp(fs, "reiserfs")) {
- my_insmod("reiserfs", ANY_DRIVER_TYPE, NULL);
- }
-
- if (!strcmp(fs, "iso9660")) {
- my_insmod("isofs", ANY_DRIVER_TYPE, NULL);
- flags |= MS_RDONLY;
- }
-#endif
-
-#ifndef DISABLE_NETWORK
- if (!strcmp(fs, "nfs")) {
- int flags = 0;
-
- my_insmod("nfs", ANY_DRIVER_TYPE, NULL);
- flags |= MS_RDONLY;
-
- log_message("preparing nfsmount for %s", dev);
-
- rc = nfsmount_prepare(dev, &flags, &opts);
- if (rc != 0)
- return rc;
- }
-#endif
-
- rc = mount(dev, location, fs, flags, opts);
-
- if (rc != 0) {
- log_perror("mount failed");
- rmdir(location);
- }
-
- return rc;
-}
diff --git a/mdk-stage1/mount.h b/mdk-stage1/mount.h
deleted file mode 100644
index b679e5c30..000000000
--- a/mdk-stage1/mount.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef _MOUNT_H_
-#define _MOUNT_H_
-
-#ifndef DISABLE_NETWORK
-#include "nfsmount.h"
-#endif
-
-int my_mount(char *dev, char *location, char *fs);
-
-#endif
diff --git a/mdk-stage1/mount_rpcgen.h b/mdk-stage1/mount_rpcgen.h
deleted file mode 100644
index d70ccaf9d..000000000
--- a/mdk-stage1/mount_rpcgen.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _MOUNT_H_RPCGEN
-#define _MOUNT_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-#define MNTPATHLEN 1024
-#define MNTNAMLEN 255
-#define FHSIZE 32
-
-typedef char fhandle[FHSIZE];
-#ifdef __cplusplus
-extern "C" bool_t xdr_fhandle(XDR *, fhandle);
-#elif __STDC__
-extern bool_t xdr_fhandle(XDR *, fhandle);
-#else /* Old Style C */
-bool_t xdr_fhandle();
-#endif /* Old Style C */
-
-
-struct fhstatus {
- u_int fhs_status;
- union {
- fhandle fhs_fhandle;
- } fhstatus_u;
-};
-typedef struct fhstatus fhstatus;
-#ifdef __cplusplus
-extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
-#elif __STDC__
-extern bool_t xdr_fhstatus(XDR *, fhstatus*);
-#else /* Old Style C */
-bool_t xdr_fhstatus();
-#endif /* Old Style C */
-
-
-typedef char *dirpath;
-#ifdef __cplusplus
-extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
-#elif __STDC__
-extern bool_t xdr_dirpath(XDR *, dirpath*);
-#else /* Old Style C */
-bool_t xdr_dirpath();
-#endif /* Old Style C */
-
-
-typedef char *name;
-#ifdef __cplusplus
-extern "C" bool_t xdr_name(XDR *, name*);
-#elif __STDC__
-extern bool_t xdr_name(XDR *, name*);
-#else /* Old Style C */
-bool_t xdr_name();
-#endif /* Old Style C */
-
-
-typedef struct mountbody *mountlist;
-#ifdef __cplusplus
-extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
-#elif __STDC__
-extern bool_t xdr_mountlist(XDR *, mountlist*);
-#else /* Old Style C */
-bool_t xdr_mountlist();
-#endif /* Old Style C */
-
-
-struct mountbody {
- name ml_hostname;
- dirpath ml_directory;
- mountlist ml_next;
-};
-typedef struct mountbody mountbody;
-#ifdef __cplusplus
-extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
-#elif __STDC__
-extern bool_t xdr_mountbody(XDR *, mountbody*);
-#else /* Old Style C */
-bool_t xdr_mountbody();
-#endif /* Old Style C */
-
-
-typedef struct groupnode *groups;
-#ifdef __cplusplus
-extern "C" bool_t xdr_groups(XDR *, groups*);
-#elif __STDC__
-extern bool_t xdr_groups(XDR *, groups*);
-#else /* Old Style C */
-bool_t xdr_groups();
-#endif /* Old Style C */
-
-
-struct groupnode {
- name gr_name;
- groups gr_next;
-};
-typedef struct groupnode groupnode;
-#ifdef __cplusplus
-extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
-#elif __STDC__
-extern bool_t xdr_groupnode(XDR *, groupnode*);
-#else /* Old Style C */
-bool_t xdr_groupnode();
-#endif /* Old Style C */
-
-
-typedef struct exportnode *exports;
-#ifdef __cplusplus
-extern "C" bool_t xdr_exports(XDR *, exports*);
-#elif __STDC__
-extern bool_t xdr_exports(XDR *, exports*);
-#else /* Old Style C */
-bool_t xdr_exports();
-#endif /* Old Style C */
-
-
-struct exportnode {
- dirpath ex_dir;
- groups ex_groups;
- exports ex_next;
-};
-typedef struct exportnode exportnode;
-#ifdef __cplusplus
-extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
-#elif __STDC__
-extern bool_t xdr_exportnode(XDR *, exportnode*);
-#else /* Old Style C */
-bool_t xdr_exportnode();
-#endif /* Old Style C */
-
-
-#define MOUNTPROG ((u_long)100005)
-#define MOUNTVERS ((u_long)1)
-
-#ifdef __cplusplus
-#define MOUNTPROC_NULL ((u_long)0)
-extern "C" void * mountproc_null_1(void *, CLIENT *);
-extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern "C" void * mountproc_umntall_1(void *, CLIENT *);
-extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern "C" exports * mountproc_export_1(void *, CLIENT *);
-extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#elif __STDC__
-#define MOUNTPROC_NULL ((u_long)0)
-extern void * mountproc_null_1(void *, CLIENT *);
-extern void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern mountlist * mountproc_dump_1(void *, CLIENT *);
-extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern void * mountproc_umntall_1(void *, CLIENT *);
-extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern exports * mountproc_export_1(void *, CLIENT *);
-extern exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern exports * mountproc_exportall_1(void *, CLIENT *);
-extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#else /* Old Style C */
-#define MOUNTPROC_NULL ((u_long)0)
-extern void * mountproc_null_1();
-extern void * mountproc_null_1_svc();
-#define MOUNTPROC_MNT ((u_long)1)
-extern fhstatus * mountproc_mnt_1();
-extern fhstatus * mountproc_mnt_1_svc();
-#define MOUNTPROC_DUMP ((u_long)2)
-extern mountlist * mountproc_dump_1();
-extern mountlist * mountproc_dump_1_svc();
-#define MOUNTPROC_UMNT ((u_long)3)
-extern void * mountproc_umnt_1();
-extern void * mountproc_umnt_1_svc();
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern void * mountproc_umntall_1();
-extern void * mountproc_umntall_1_svc();
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern exports * mountproc_export_1();
-extern exports * mountproc_export_1_svc();
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern exports * mountproc_exportall_1();
-extern exports * mountproc_exportall_1_svc();
-#endif /* Old Style C */
-
-#endif /* !_MOUNT_H_RPCGEN */
diff --git a/mdk-stage1/network.c b/mdk-stage1/network.c
deleted file mode 100644
index e3052b149..000000000
--- a/mdk-stage1/network.c
+++ /dev/null
@@ -1,823 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <net/if.h>
-#include <arpa/inet.h>
-#include <net/route.h>
-#include <sys/ioctl.h>
-#include <sys/mount.h>
-#include <stdio.h>
-#include <netdb.h>
-#include <resolv.h>
-
-#include "stage1.h"
-#include "frontend.h"
-#include "modules.h"
-#include "probing.h"
-#include "log.h"
-#include "mount.h"
-#include "automatic.h"
-#include "dhcp.h"
-#include "adsl.h"
-#include "url.h"
-#include "dns.h"
-
-#include "network.h"
-
-
-static void error_message_net(void) /* reduce code size */
-{
- stg1_error_message("Could not configure network.");
-}
-
-
-int configure_net_device(struct interface_info * intf)
-{
- struct ifreq req;
- struct rtentry route;
- int s;
- struct sockaddr_in addr;
- struct in_addr ia;
- char ip[20], nm[20], nw[20], bc[20];
-
- addr.sin_family = AF_INET;
- addr.sin_port = 0;
-
- memcpy(&ia, &intf->ip, sizeof(intf->ip));
- strcpy(ip, inet_ntoa(ia));
-
- memcpy(&ia, &intf->netmask, sizeof(intf->netmask));
- strcpy(nm, inet_ntoa(ia));
-
- memcpy(&ia, &intf->broadcast, sizeof(intf->broadcast));
- strcpy(bc, inet_ntoa(ia));
-
- memcpy(&ia, &intf->network, sizeof(intf->network));
- strcpy(nw, inet_ntoa(ia));
-
- log_message("configuring device %s ip: %s nm: %s nw: %s bc: %s", intf->device, ip, nm, nw, bc);
-
- if (IS_TESTING)
- return 0;
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0) {
- log_perror("socket");
- error_message_net();
- return 1;
- }
-
- strcpy(req.ifr_name, intf->device);
-
- if (intf->is_up == 1) {
- log_message("interface already up, downing before reconfigure");
-
- req.ifr_flags = 0;
- if (ioctl(s, SIOCSIFFLAGS, &req)) {
- close(s);
- log_perror("SIOCSIFFLAGS (downing)");
- error_message_net();
- return 1;
- }
- }
-
- /* sets IP address */
- addr.sin_port = 0;
- memcpy(&addr.sin_addr, &intf->ip, sizeof(intf->ip));
- memcpy(&req.ifr_addr, &addr, sizeof(addr));
- if (ioctl(s, SIOCSIFADDR, &req)) {
- close(s);
- log_perror("SIOCSIFADDR");
- error_message_net();
- return 1;
- }
-
- /* sets broadcast */
- memcpy(&addr.sin_addr, &intf->broadcast, sizeof(intf->broadcast));
- memcpy(&req.ifr_broadaddr, &addr, sizeof(addr));
- if (ioctl(s, SIOCSIFBRDADDR, &req)) {
- close(s);
- log_perror("SIOCSIFBRDADDR");
- error_message_net();
- return 1;
- }
-
- /* sets netmask */
- memcpy(&addr.sin_addr, &intf->netmask, sizeof(intf->netmask));
- memcpy(&req.ifr_netmask, &addr, sizeof(addr));
- if (ioctl(s, SIOCSIFNETMASK, &req)) {
- close(s);
- log_perror("SIOCSIFNETMASK");
- error_message_net();
- return 1;
- }
-
- if (intf->is_ptp)
- req.ifr_flags = IFF_UP | IFF_RUNNING | IFF_POINTOPOINT | IFF_NOARP;
- else
- req.ifr_flags = IFF_UP | IFF_RUNNING | IFF_BROADCAST;
-
- /* brings up networking! */
- if (ioctl(s, SIOCSIFFLAGS, &req)) {
- close(s);
- log_perror("SIOCSIFFLAGS (upping)");
- error_message_net();
- return 1;
- }
-
- memset(&route, 0, sizeof(route));
- route.rt_dev = intf->device;
- route.rt_flags = RTF_UP;
-
- memcpy(&addr.sin_addr, &intf->network, sizeof(intf->network));
- memcpy(&route.rt_dst, &addr, sizeof(addr));
-
- memcpy(&addr.sin_addr, &intf->netmask, sizeof(intf->netmask));
- memcpy(&route.rt_genmask, &addr, sizeof(addr));
-
- /* adds route */
- if (ioctl(s, SIOCADDRT, &route)) {
- close(s);
- log_perror("SIOCADDRT");
- error_message_net();
- return 1;
- }
-
- close(s);
-
- intf->is_up = 1;
-
- if (intf->boot_proto == BOOTPROTO_STATIC && !streq(intf->device, "lo")) {
- /* I need to sleep a bit in order for kernel to finish
- init of the network device; if not, first sendto() for
- gethostbyaddr will get an EINVAL. */
- wait_message("Bringing up networking...");
- sleep(2);
- remove_wait_message();
- }
-
- return 0;
-}
-
-/* host network informations */
-char * hostname = NULL;
-char * domain = NULL;
-struct in_addr gateway = { 0 };
-struct in_addr dns_server = { 0 };
-struct in_addr dns_server2 = { 0 };
-
-static int add_default_route(void)
-{
- int s;
- struct rtentry route;
- struct sockaddr_in addr;
-
- if (IS_TESTING)
- return 0;
-
- if (gateway.s_addr == 0) {
- log_message("no gateway provided, can't add default route");
- return 0;
- }
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0) {
- close(s);
- log_perror("socket");
- error_message_net();
- return 1;
- }
-
- memset(&route, 0, sizeof(route));
-
- addr.sin_family = AF_INET;
- addr.sin_port = 0;
- addr.sin_addr = gateway;
- memcpy(&route.rt_gateway, &addr, sizeof(addr));
-
- addr.sin_addr.s_addr = INADDR_ANY;
- memcpy(&route.rt_dst, &addr, sizeof(addr));
- memcpy(&route.rt_genmask, &addr, sizeof(addr));
-
- route.rt_flags = RTF_UP | RTF_GATEWAY;
- route.rt_metric = 0;
-
- if (ioctl(s, SIOCADDRT, &route)) {
- close(s);
- log_perror("SIOCADDRT");
- error_message_net();
- return 1;
- }
-
- close(s);
-
- return 0;
-}
-
-
-static int write_resolvconf(void) {
- char * filename = "/etc/resolv.conf";
- FILE * f;
-
- if (dns_server.s_addr == 0) {
- log_message("resolvconf needs a dns server");
- return -1;
- }
-
- f = fopen(filename, "w");
- if (!f) {
- log_perror(filename);
- return -1;
- }
-
- if (domain)
- fprintf(f, "search %s\n", domain); /* we can live without the domain search (user will have to enter fully-qualified names) */
- fprintf(f, "nameserver %s\n", inet_ntoa(dns_server));
- if (dns_server2.s_addr != 0)
- fprintf(f, "nameserver %s\n", inet_ntoa(dns_server2));
-
- fclose(f);
- res_init(); /* reinit the resolver so DNS changes take affect */
-
- return 0;
-}
-
-
-static int save_netinfo(struct interface_info * intf) {
- char * file_network = "/tmp/network";
- char file_intf[500];
- FILE * f;
-
- f = fopen(file_network, "w");
- if (!f) {
- log_perror(file_network);
- return -1;
- }
-
- fprintf(f, "NETWORKING=yes\n");
- fprintf(f, "FORWARD_IPV4=false\n");
-
- if (hostname)
- fprintf(f, "HOSTNAME=%s\n", hostname);
- if (domain)
- fprintf(f, "DOMAINNAME=%s\n", domain);
-
- if (gateway.s_addr != 0)
- fprintf(f, "GATEWAY=%s\n", inet_ntoa(gateway));
-
- fclose(f);
-
-
- strcpy(file_intf, "/tmp/ifcfg-");
- strcat(file_intf, intf->device);
-
- f = fopen(file_intf, "w");
- if (!f) {
- log_perror(file_intf);
- return -1;
- }
-
- fprintf(f, "DEVICE=%s\n", intf->device);
-
- if (intf->boot_proto == BOOTPROTO_DHCP)
- fprintf(f, "BOOTPROTO=dhcp\n");
- else {
- fprintf(f, "BOOTPROTO=static\n");
- fprintf(f, "IPADDR=%s\n", inet_ntoa(intf->ip));
- fprintf(f, "NETMASK=%s\n", inet_ntoa(intf->netmask));
- fprintf(f, "NETWORK=%s\n", inet_ntoa(intf->network));
- fprintf(f, "BROADCAST=%s\n", inet_ntoa(intf->broadcast));
- }
-
- fclose(f);
-
- return 0;
-}
-
-
-char * guess_netmask(char * ip_addr)
-{
- struct in_addr addr;
- unsigned long int tmp;
-
- if (streq(ip_addr, "") || !inet_aton(ip_addr, &addr))
- return "";
-
- log_message("guessing netmask");
-
- tmp = ntohl(addr.s_addr);
-
- if (((tmp & 0xFF000000) >> 24) <= 127)
- return "255.0.0.0";
- else if (((tmp & 0xFF000000) >> 24) <= 191)
- return "255.255.0.0";
- else
- return "255.255.255.0";
-}
-
-
-static void static_ip_callback(char ** strings)
-{
- struct in_addr addr;
-
- if (!inet_aton(strings[0], &addr))
- return;
-
- if (!strcmp(strings[1], "")) {
- char * ptr;
- strings[1] = strdup(strings[0]);
- ptr = strrchr(strings[1], '.');
- if (ptr)
- *(ptr+1) = '\0';
- }
-
- if (!strcmp(strings[2], ""))
- strings[2] = strdup(strings[1]);
-
- if (!strcmp(strings[3], ""))
- strings[3] = strdup(guess_netmask(strings[0]));
-}
-
-
-static enum return_type setup_network_interface(struct interface_info * intf)
-{
- enum return_type results;
- char * bootprotos[] = { "Static", "DHCP", "ADSL", NULL };
- char * bootprotos_auto[] = { "static", "dhcp", "adsl" };
- char * choice;
-
- results = ask_from_list_auto("Please choose the desired IP attribution.", bootprotos, &choice, "network", bootprotos_auto);
- if (results != RETURN_OK)
- return results;
-
- if (!strcmp(choice, "Static")) {
- char * questions[] = { "IP of this machine", "IP of DNS", "IP of default gateway", "Netmask", NULL };
- char * questions_auto[] = { "ip", "dns", "gateway", "netmask" };
- static char ** answers = NULL;
- struct in_addr addr;
-
- results = ask_from_entries_auto("Please enter the network information. (leave netmask void for Internet standard)",
- questions, &answers, 16, questions_auto, static_ip_callback);
- if (results != RETURN_OK)
- return setup_network_interface(intf);
-
- if (streq(answers[0], "") || !inet_aton(answers[0], &addr)) {
- stg1_error_message("Invalid IP address.");
- return setup_network_interface(intf);
- }
- memcpy(&intf->ip, &addr, sizeof(addr));
-
- if (!inet_aton(answers[1], &dns_server)) {
- log_message("invalid DNS");
- dns_server.s_addr = 0; /* keep an understandable state */
- }
-
- if (!inet_aton(answers[2], &gateway)) {
- log_message("invalid gateway");
- gateway.s_addr = 0; /* keep an understandable state */
- }
-
- if ((streq(answers[3], "") && inet_aton(guess_netmask(answers[0]), &addr))
- || inet_aton(answers[3], &addr))
- memcpy(&intf->netmask, &addr, sizeof(addr));
- else {
- stg1_error_message("Invalid netmask.");
- return setup_network_interface(intf);
- }
-
- *((uint32_t *) &intf->broadcast) = (*((uint32_t *) &intf->ip) &
- *((uint32_t *) &intf->netmask)) | ~(*((uint32_t *) &intf->netmask));
-
- inet_aton("255.255.255.255", &addr);
- if (!memcmp(&addr, &intf->netmask, sizeof(addr))) {
- log_message("netmask is 255.255.255.255 -> point to point device");
- intf->network = gateway;
- intf->is_ptp = 1;
- } else {
- *((uint32_t *) &intf->network) = *((uint32_t *) &intf->ip) & *((uint32_t *) &intf->netmask);
- intf->is_ptp = 0;
- }
- intf->boot_proto = BOOTPROTO_STATIC;
-
- if (configure_net_device(intf))
- return RETURN_ERROR;
-
- } else if (streq(choice, "DHCP")) {
- results = perform_dhcp(intf);
-
- if (results == RETURN_BACK)
- return setup_network_interface(intf);
- if (results == RETURN_ERROR)
- return results;
- intf->boot_proto = BOOTPROTO_DHCP;
-
- if (configure_net_device(intf))
- return RETURN_ERROR;
-
- } else if (streq(choice, "ADSL")) {
- intf->boot_proto = BOOTPROTO_STATIC;
-
- results = perform_adsl(intf);
-
- if (results == RETURN_BACK)
- return setup_network_interface(intf);
- if (results == RETURN_ERROR)
- return results;
- } else
- return RETURN_ERROR;
-
- return add_default_route();
-}
-
-
-static enum return_type configure_network(struct interface_info * intf)
-{
- char * dnshostname;
-
- if (hostname && domain)
- return RETURN_OK;
-
- dnshostname = mygethostbyaddr(inet_ntoa(intf->ip));
-
- if (dnshostname) {
- hostname = strdup(dnshostname);
- domain = strchr(strdup(hostname), '.') + 1;
- log_message("got hostname and domain from dns entry, %s and %s", hostname, domain);
- return RETURN_OK;
- }
-
- log_message("reverse name lookup on self failed");
-
- if (domain)
- return RETURN_OK;
-
- if (dns_server.s_addr != 0) {
- wait_message("Trying to resolve dns...");
- dnshostname = mygethostbyaddr(inet_ntoa(dns_server));
- remove_wait_message();
- }
-
- if (dnshostname) {
- domain = strchr(strdup(dnshostname), '.') + 1;
- log_message("got domain from DNS fullname, %s", domain);
- } else {
- enum return_type results;
- char * questions[] = { "Host name", "Domain name", NULL };
- char * questions_auto[] = { "hostname", "domain" };
- static char ** answers = NULL;
- char * boulet;
-
- log_message("reverse name lookup on DNS failed");
-
- results = ask_from_entries_auto("I could not guess hostname and domain name; please fill in this information. "
- "Valid answers are for example: `mybox' for hostname and `mynetwork.com' for "
- "domain name, for a machine called `mybox.mynetwork.com' on the Internet.",
- questions, &answers, 32, questions_auto, NULL);
- if (results != RETURN_OK)
- return results;
-
- hostname = answers[0];
- if ((boulet = strchr(hostname, '.')) != NULL)
- boulet[0] = '\0';
- domain = answers[1];
- }
-
- return RETURN_OK;
-}
-
-
-static enum return_type bringup_networking(struct interface_info * intf)
-{
- static struct interface_info loopback;
- enum return_type results = RETURN_ERROR;
-
- my_insmod("af_packet", ANY_DRIVER_TYPE, NULL);
-
- while (results != RETURN_OK) {
- results = setup_network_interface(intf);
- if (results != RETURN_OK)
- return results;
- write_resolvconf();
- results = configure_network(intf);
- }
-
- write_resolvconf(); /* maybe we have now domain to write also */
-
- if (loopback.is_up == 0) {
- int rc;
- strcpy(loopback.device, "lo");
- loopback.is_ptp = 0;
- loopback.is_up = 0;
- loopback.ip.s_addr = htonl(0x7f000001);
- loopback.netmask.s_addr = htonl(0xff000000);
- loopback.broadcast.s_addr = htonl(0x7fffffff);
- loopback.network.s_addr = htonl(0x7f000000);
- rc = configure_net_device(&loopback);
- if (rc)
- return RETURN_ERROR;
- }
-
- return RETURN_OK;
-}
-
-
-static char * interface_select(void)
-{
- char ** interfaces, ** ptr;
- char * descriptions[50];
- char * choice;
- int i, count = 0;
- enum return_type results;
-
- interfaces = get_net_devices();
-
- ptr = interfaces;
- while (ptr && *ptr) {
- count++;
- ptr++;
- }
-
- if (count == 0) {
- stg1_error_message("No NET device found.");
- i = ask_insmod(NETWORK_DEVICES);
- if (i == RETURN_BACK)
- return NULL;
- return interface_select();
- }
-
- if (count == 1)
- return *interfaces;
-
- i = 0;
- while (interfaces[i]) {
- descriptions[i] = get_net_intf_description(interfaces[i]);
- i++;
- }
-
- results = ask_from_list_comments_auto("Please choose the NET device to use for the installation.",
- interfaces, descriptions, &choice, "interface", interfaces);
-
- if (results != RETURN_OK)
- return NULL;
-
- return choice;
-}
-
-
-
-/* -=-=-- */
-
-
-static enum return_type intf_select_and_up(void)
-{
- static struct interface_info intf[20];
- static int num_interfaces = 0;
- struct interface_info * sel_intf = NULL;
- int i;
- enum return_type results;
- char * iface = interface_select();
-
- if (iface == NULL)
- return RETURN_BACK;
-
- for (i = 0; i < num_interfaces ; i++)
- if (!strcmp(intf[i].device, iface))
- sel_intf = &(intf[i]);
-
- if (sel_intf == NULL) {
- sel_intf = &(intf[num_interfaces]);
- strcpy(sel_intf->device, iface);
- sel_intf->is_up = 0;
- num_interfaces++;
- }
-
- results = bringup_networking(sel_intf);
-
- if (results == RETURN_OK)
- save_netinfo(sel_intf);
-
- return results;
-}
-
-
-
-enum return_type nfs_prepare(void)
-{
- char * questions[] = { "NFS server name", DISTRIB_NAME " directory", NULL };
- char * questions_auto[] = { "server", "directory", NULL };
- static char ** answers = NULL;
- char * nfsmount_location;
- enum return_type results = intf_select_and_up();
-
- if (results != RETURN_OK)
- return results;
-
- do {
- results = ask_from_entries_auto("Please enter the name or IP address of your NFS server, "
- "and the directory containing the " DISTRIB_NAME " Distribution.",
- questions, &answers, 40, questions_auto, NULL);
- if (results != RETURN_OK)
- return nfs_prepare();
-
- nfsmount_location = malloc(strlen(answers[0]) + strlen(answers[1]) + 2);
- strcpy(nfsmount_location, answers[0]);
- strcat(nfsmount_location, ":");
- strcat(nfsmount_location, answers[1]);
-
- if (my_mount(nfsmount_location, IMAGE_LOCATION, "nfs") == -1) {
- stg1_error_message("I can't mount the directory from the NFS server.");
- results = RETURN_BACK;
- continue;
- }
-
- if (access(IMAGE_LOCATION LIVE_LOCATION, R_OK)) {
- stg1_error_message("That NFS volume does not seem to contain the " DISTRIB_NAME " Distribution.");
- umount(IMAGE_LOCATION);
- results = RETURN_BACK;
- }
- }
- while (results == RETURN_BACK);
-
- log_message("found the " DISTRIB_NAME " Installation, good news!");
-
- if (IS_SPECIAL_STAGE2) {
- if (load_ramdisk() != RETURN_OK) {
- stg1_error_message("Could not load program into memory.");
- return nfs_prepare();
- }
- }
-
- if (IS_RESCUE)
- umount(IMAGE_LOCATION);
-
- method_name = strdup("nfs");
- return RETURN_OK;
-}
-
-
-enum return_type ftp_prepare(void)
-{
- char * questions[] = { "FTP server", DISTRIB_NAME " directory", "Login", "Password", NULL };
- char * questions_auto[] = { "server", "directory", "user", "pass", NULL };
- static char ** answers = NULL;
- enum return_type results;
-
- if (!ramdisk_possible()) {
- stg1_error_message("FTP install needs more than %d Mbytes of memory (detected %d Mbytes).",
- MEM_LIMIT_RAMDISK, total_memory());
- return RETURN_ERROR;
- }
-
- results = intf_select_and_up();
-
- if (results != RETURN_OK)
- return results;
-
- do {
- char location_full[500];
- int ftp_serv_response;
- int fd, size;
-
- results = ask_from_entries_auto("Please enter the name or IP address of the FTP server, "
- "the directory containing the " DISTRIB_NAME " Distribution, "
- "and the login/pass if necessary (leave login blank for anonymous).",
- questions, &answers, 40, questions_auto, NULL);
- if (results != RETURN_OK)
- return ftp_prepare();
-
- log_message("FTP: trying to connect to %s", answers[0]);
-
- ftp_serv_response = ftp_open_connection(answers[0], answers[2], answers[3], "");
- if (ftp_serv_response < 0) {
- log_message("FTP: error connect %d", ftp_serv_response);
- if (ftp_serv_response == FTPERR_BAD_HOSTNAME)
- stg1_error_message("Error: bad hostname.");
- else if (ftp_serv_response == FTPERR_FAILED_CONNECT)
- stg1_error_message("Error: failed to connect to remote host.");
- else
- stg1_error_message("Error: couldn't connect.");
- results = RETURN_BACK;
- continue;
- }
-
- strcpy(location_full, answers[1]);
- strcat(location_full, get_ramdisk_realname());
-
- log_message("FTP: trying to retrieve %s", location_full);
-
- fd = ftp_start_download(ftp_serv_response, location_full, &size);
- if (fd < 0) {
- log_message("FTP: error get %d", fd);
- if (fd == FTPERR_PASSIVE_ERROR)
- stg1_error_message("Error: error with passive connection.");
- else if (fd == FTPERR_FILE_NOT_FOUND)
- stg1_error_message("Error: file not found (%s).", location_full);
- else if (fd == FTPERR_BAD_SERVER_RESPONSE)
- stg1_error_message("Error: bad server response (server too busy?).");
- else
- stg1_error_message("Error: couldn't retrieve Installation program.");
- results = RETURN_BACK;
- continue;
- }
-
- log_message("FTP: size of download %d bytes", size);
-
- results = load_ramdisk_fd(fd, size);
- if (results == RETURN_OK)
- ftp_end_data_command(ftp_serv_response);
- else
- return results;
-
- method_name = strdup("ftp");
- add_to_env("HOST", answers[0]);
- add_to_env("PREFIX", answers[1]);
- if (strcmp(answers[2], "")) {
- add_to_env("LOGIN", answers[2]);
- add_to_env("PASSWORD", answers[3]);
- }
- }
- while (results == RETURN_BACK);
-
- return RETURN_OK;
-}
-
-enum return_type http_prepare(void)
-{
- char * questions[] = { "HTTP server", DISTRIB_NAME " directory", NULL };
- char * questions_auto[] = { "server", "directory", NULL };
- static char ** answers = NULL;
- enum return_type results;
-
- if (!ramdisk_possible()) {
- stg1_error_message("HTTP install needs more than %d Mbytes of memory (detected %d Mbytes).",
- MEM_LIMIT_RAMDISK, total_memory());
- return RETURN_ERROR;
- }
-
- results = intf_select_and_up();
-
- if (results != RETURN_OK)
- return results;
-
- do {
- char location_full[500];
- int fd, size;
-
- results = ask_from_entries_auto("Please enter the name or IP address of the HTTP server, "
- "and the directory containing the " DISTRIB_NAME " Distribution.",
- questions, &answers, 40, questions_auto, NULL);
- if (results != RETURN_OK)
- return http_prepare();
-
- strcpy(location_full, answers[1]);
- strcat(location_full, get_ramdisk_realname());
-
- log_message("HTTP: trying to retrieve %s", location_full);
-
- fd = http_download_file(answers[0], location_full, &size);
- if (fd < 0) {
- log_message("HTTP: error %d", fd);
- if (fd == FTPERR_FAILED_CONNECT)
- stg1_error_message("Error: couldn't connect to server.");
- else
- stg1_error_message("Error: couldn't get file (%s).", location_full);
- results = RETURN_BACK;
- continue;
- }
-
- log_message("HTTP: size of download %d bytes", size);
-
- if (load_ramdisk_fd(fd, size) != RETURN_OK)
- return RETURN_ERROR;
-
- method_name = strdup("http");
- sprintf(location_full, "http://%s/%s", answers[0], answers[1]);
- add_to_env("URLPREFIX", location_full);
- }
- while (results == RETURN_BACK);
-
- return RETURN_OK;
-
-}
diff --git a/mdk-stage1/network.h b/mdk-stage1/network.h
deleted file mode 100644
index 0848c715e..000000000
--- a/mdk-stage1/network.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef _NETWORK_H_
-#define _NETWORK_H_
-
-#include <netinet/in.h>
-#include <netinet/ip.h>
-#include <arpa/inet.h>
-
-
-enum return_type nfs_prepare(void);
-enum return_type ftp_prepare(void);
-enum return_type http_prepare(void);
-
-
-enum boot_proto_type { BOOTPROTO_STATIC, BOOTPROTO_DHCP };
-
-/* all of these in_addr things are in network byte order! */
-struct interface_info {
- char device[10];
- int is_ptp, is_up;
- struct in_addr ip, netmask, broadcast, network;
- enum boot_proto_type boot_proto;
-};
-
-
-/* these are to be used only by dhcp.c */
-
-char * guess_netmask(char * ip_addr);
-
-int configure_net_device(struct interface_info * intf);
-
-extern char * hostname;
-extern char * domain;
-extern struct in_addr gateway;
-extern struct in_addr dns_server;
-extern struct in_addr dns_server2;
-
-
-
-#endif
diff --git a/mdk-stage1/newt-frontend.c b/mdk-stage1/newt-frontend.c
deleted file mode 100644
index c9f498260..000000000
--- a/mdk-stage1/newt-frontend.c
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-
-/*
- * Each different frontend must implement all functions defined in frontend.h
- */
-
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <sys/time.h>
-#include "newt/newt.h"
-
-#include "frontend.h"
-
-void init_frontend(char * welcome_msg)
-{
- newtInit();
- newtCls();
-
- newtDrawRootText(0, 0, welcome_msg);
-
- newtPushHelpLine(" <Alt-F1> for here, <Alt-F3> to see the logs, <Alt-F4> for kernel msg");
- newtRefresh();
-}
-
-
-void finish_frontend(void)
-{
- newtFinished();
-}
-
-
-void verror_message(char *msg, va_list ap)
-{
- newtWinMessagev("Error", "Ok", msg, ap);
-}
-
-void vinfo_message(char *msg, va_list ap)
-{
- newtWinMessagev("Notice", "Ok", msg, ap);
-}
-
-
-void vwait_message(char *msg, va_list ap)
-{
- int width, height;
- char * title = "Please wait...";
- newtComponent c, f;
- newtGrid grid;
- char * buf = NULL;
- char * flowed;
- int size = 0;
- int i = 0;
-
- do {
- size += 1000;
- if (buf) free(buf);
- buf = malloc(size);
- i = vsnprintf(buf, size, msg, ap);
- } while (i >= size || i == -1);
-
- flowed = newtReflowText(buf, 60, 5, 5, &width, &height);
-
- c = newtTextbox(-1, -1, width, height, NEWT_TEXTBOX_WRAP);
- newtTextboxSetText(c, flowed);
-
- grid = newtCreateGrid(1, 1);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, c, 0, 0, 0, 0, 0, 0);
- newtGridWrappedWindow(grid, title);
-
- free(flowed);
- free(buf);
-
- f = newtForm(NULL, NULL, 0);
- newtFormAddComponent(f, c);
-
- newtDrawForm(f);
- newtRefresh();
- newtFormDestroy(f);
-}
-
-void remove_wait_message(void)
-{
- newtPopWindow();
-}
-
-
-static newtComponent form = NULL, scale = NULL;
-static int size_progress;
-static int actually_drawn;
-static char * msg_progress;
-
-void init_progression(char *msg, int size)
-{
- size_progress = size;
- if (size) {
- actually_drawn = 0;
- newtCenteredWindow(70, 5, "Please wait...");
- form = newtForm(NULL, NULL, 0);
- newtFormAddComponent(form, newtLabel(1, 1, msg));
- scale = newtScale(1, 3, 68, size);
- newtFormAddComponent(form, scale);
- newtDrawForm(form);
- newtRefresh();
- }
- else {
- wait_message(msg);
- msg_progress = msg;
- }
-}
-
-void update_progression(int current_size)
-{
- if (size_progress) {
- if (current_size <= size_progress)
- newtScaleSet(scale, current_size);
- newtRefresh();
- }
- else {
- struct timeval t;
- int time;
- static int last_time = -1;
- gettimeofday(&t, NULL);
- time = t.tv_sec*3 + t.tv_usec/300000;
- if (time != last_time) {
- char msg_prog_final[500];
- sprintf(msg_prog_final, "%s (%d bytes read) ", msg_progress, current_size);
- remove_wait_message();
- wait_message(msg_prog_final);
- }
- last_time = time;
- }
-}
-
-void end_progression(void)
-{
- if (size_progress) {
- newtPopWindow();
- newtFormDestroy(form);
- }
- else
- remove_wait_message();
-}
-
-
-enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice)
-{
- char * items[50];
- int answer = 0, rc;
- char ** sav_elems = elems;
- int i;
-
- i = 0;
- while (elems && *elems) {
- int j = (*elems_comments) ? strlen(*elems_comments) : 0;
- items[i] = malloc(sizeof(char) * (strlen(*elems) + j + 4));
- strcpy(items[i], *elems);
- if (*elems_comments) {
- strcat(items[i], " (");
- strcat(items[i], *elems_comments);
- strcat(items[i], ")");
- }
- elems_comments++;
- i++;
- elems++;
- }
- items[i] = NULL;
-
- rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, items, &answer, "Ok", "Cancel", NULL);
-
- if (rc == 2)
- return RETURN_BACK;
-
- *choice = strdup(sav_elems[answer]);
-
- return RETURN_OK;
-}
-
-
-enum return_type ask_from_list(char *msg, char ** elems, char ** choice)
-{
- int answer = 0, rc;
-
- rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, elems, &answer, "Ok", "Cancel", NULL);
-
- if (rc == 2)
- return RETURN_BACK;
-
- *choice = strdup(elems[answer]);
-
- return RETURN_OK;
-}
-
-
-enum return_type ask_yes_no(char *msg)
-{
- int rc;
-
- rc = newtWinTernary("Please answer...", "Yes", "No", "Back", msg);
-
- if (rc == 1)
- return RETURN_OK;
- else if (rc == 3)
- return RETURN_BACK;
- else return RETURN_ERROR;
-}
-
-
-static void (*callback_real_function)(char ** strings) = NULL;
-
-static void default_callback(newtComponent co, void * data)
-{
- newtComponent * entries = data;
- char * strings[50], ** ptr;
-
- if (!callback_real_function)
- return;
-
- ptr = strings;
- while (entries && *entries) {
- *ptr = newtEntryGetValue(*entries);
- entries++;
- ptr++;
- }
-
- callback_real_function(strings);
-
- ptr = strings;
- entries = data;
- while (entries && *entries) {
- newtEntrySet(*entries, strdup(*ptr), 1);
- entries++;
- ptr++;
- }
-}
-
-/* only supports up to 50 buttons and entries -- shucks! */
-static int mynewtWinEntries(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int dataWidth, void (*callback_func)(char ** strings),
- struct newtWinEntry * items, char * button1, ...) {
- newtComponent buttons[50], result, form, textw;
- newtGrid grid, buttonBar, subgrid;
- int numItems;
- int rc, i;
- int numButtons;
- char * buttonName;
- newtComponent entries[50];
-
- va_list args;
-
- textw = newtTextboxReflowed(-1, -1, text, suggestedWidth, flexDown,
- flexUp, 0);
-
- for (numItems = 0; items[numItems].text; numItems++);
-
- buttonName = button1, numButtons = 0;
- va_start(args, button1);
- while (buttonName) {
- buttons[numButtons] = newtButton(-1, -1, buttonName);
- numButtons++;
- buttonName = va_arg(args, char *);
- }
-
- va_end(args);
-
- buttonBar = newtCreateGrid(numButtons, 1);
- for (i = 0; i < numButtons; i++) {
- newtGridSetField(buttonBar, i, 0, NEWT_GRID_COMPONENT,
- buttons[i],
- i ? 1 : 0, 0, 0, 0, 0, 0);
- }
-
- if (callback_func) {
- callback_real_function = callback_func;
- entries[numItems] = NULL;
- }
- else
- callback_real_function = NULL;
-
- subgrid = newtCreateGrid(2, numItems);
- for (i = 0; i < numItems; i++) {
- newtComponent entr = newtEntry(-1, -1, items[i].value ?
- *items[i].value : NULL, dataWidth,
- items[i].value, items[i].flags);
-
- newtGridSetField(subgrid, 0, i, NEWT_GRID_COMPONENT,
- newtLabel(-1, -1, items[i].text),
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(subgrid, 1, i, NEWT_GRID_COMPONENT,
- entr,
- 1, 0, 0, 0, 0, 0);
- if (callback_func) {
- entries[i] = entr;
- newtComponentAddCallback(entr, default_callback, entries);
- }
- }
-
-
- grid = newtCreateGrid(1, 3);
- form = newtForm(NULL, 0, 0);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, textw,
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, subgrid,
- 0, 1, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttonBar,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
- newtGridAddComponentsToForm(grid, form, 1);
- newtGridWrappedWindow(grid, title);
- newtGridFree(grid, 1);
-
- result = newtRunForm(form);
-
- for (rc = 0; rc < numItems; rc++)
- *items[rc].value = strdup(*items[rc].value);
-
- for (rc = 0; result != buttons[rc] && rc < numButtons; rc++);
- if (rc == numButtons)
- rc = 0; /* F12 */
- else
- rc++;
-
- newtFormDestroy(form);
- newtPopWindow();
-
- return rc;
-}
-
-
-enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings))
-{
- struct newtWinEntry entries[50];
- int j, i = 0;
- int rc;
- char ** already_answers = NULL;
-
- while (questions && *questions) {
- entries[i].text = *questions;
- entries[i].flags = NEWT_FLAG_SCROLL | (!strcmp(*questions, "Password") ? NEWT_FLAG_HIDDEN : 0);
- i++;
- questions++;
- }
- entries[i].text = NULL;
- entries[i].value = NULL;
-
- if (*answers == NULL)
- *answers = (char **) malloc(sizeof(char *) * i);
- else
- already_answers = *answers;
-
- for (j = 0 ; j < i ; j++) {
- entries[j].value = &((*answers)[j]);
- if (already_answers && *already_answers) {
- *(entries[j].value) = *already_answers;
- already_answers++;
- } else
- *(entries[j].value) = NULL;
- }
-
- rc = mynewtWinEntries("Please fill entries...", msg, 52, 5, 5, entry_size, callback_func, entries, "Ok", "Cancel", NULL);
-
- if (rc == 3)
- return RETURN_BACK;
- if (rc != 1)
- return RETURN_ERROR;
-
- return RETURN_OK;
-}
diff --git a/mdk-stage1/newt/Makefile b/mdk-stage1/newt/Makefile
deleted file mode 100644
index 171bcf0cb..000000000
--- a/mdk-stage1/newt/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-LIBNAME = libnewt
-
-OBJS = newt.o button.o form.o checkbox.o entry.o label.o listbox.o scrollbar.o textbox.o scale.o grid.o windows.o buttonbar.o checkboxtree.o
-
-DEFS = -DVERSION=\"0.50.19\"
-
-INCS = -I../slang
-
-
-TARGETS = $(LIBNAME).a
-
-ifeq (DIETLIBC, $(L))
-TARGETS += $(LIBNAME)-DIET.a
-endif
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(LIBNAME)-DIET.a: $(OBJS-DIET)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(DIETLIBC_INCLUDES) -c $< -o $@
-
diff --git a/mdk-stage1/newt/button.c b/mdk-stage1/newt/button.c
deleted file mode 100644
index 1ff360dc5..000000000
--- a/mdk-stage1/newt/button.c
+++ /dev/null
@@ -1,190 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct button {
- char * text;
- int compact;
-};
-
-static void buttonDrawIt(newtComponent co, int active, int pushed);
-static void buttonDrawText(newtComponent co, int active, int pushed);
-
-static void buttonDraw(newtComponent c);
-static void buttonDestroy(newtComponent co);
-static struct eventResult buttonEvent(newtComponent c,
- struct event ev);
-static void buttonPlace(newtComponent co, int newLeft, int newTop);
-
-static struct componentOps buttonOps = {
- buttonDraw,
- buttonEvent,
- buttonDestroy,
- buttonPlace,
- newtDefaultMappedHandler,
-} ;
-
-static newtComponent createButton(int left, int row, const char * text, int compact) {
- newtComponent co;
- struct button * bu;
-
- co = malloc(sizeof(*co));
- bu = malloc(sizeof(struct button));
- co->data = bu;
-
- bu->text = strdup(text);
- bu->compact = compact;
- co->ops = &buttonOps;
-
- if (bu->compact) {
- co->height = 1;
- co->width = strlen(text) + 3;
- } else {
- co->height = 4;
- co->width = strlen(text) + 5;
- }
-
- co->top = row;
- co->left = left;
- co->takesFocus = 1;
- co->isMapped = 0;
-
- newtGotorc(co->top, co->left);
-
- return co;
-}
-
-newtComponent newtCompactButton(int left, int row, const char * text) {
- return createButton(left, row, text, 1);
-}
-
-newtComponent newtButton(int left, int row, const char * text) {
- return createButton(left, row, text, 0);
-}
-
-static void buttonDestroy(newtComponent co) {
- struct button * bu = co->data;
-
- free(bu->text);
- free(bu);
- free(co);
-}
-
-static void buttonPlace(newtComponent co, int newLeft, int newTop) {
- co->top = newTop;
- co->left = newLeft;
-
- newtGotorc(co->top, co->left);
-}
-
-static void buttonDraw(newtComponent co) {
- buttonDrawIt(co, 0, 0);
-}
-
-static void buttonDrawIt(newtComponent co, int active, int pushed) {
- struct button * bu = co->data;
-
- if (!co->isMapped) return;
-
- SLsmg_set_color(NEWT_COLORSET_BUTTON);
-
- if (bu->compact) {
- if (active)
- SLsmg_set_color(NEWT_COLORSET_COMPACTBUTTON);
- else
- SLsmg_set_color(NEWT_COLORSET_BUTTON);
- newtGotorc(co->top+ pushed, co->left + 1 + pushed);
- SLsmg_write_char('<');
- SLsmg_write_string(bu->text);
- SLsmg_write_char('>');
- } else {
- if (pushed) {
- SLsmg_set_color(NEWT_COLORSET_BUTTON);
- newtDrawBox(co->left + 1, co->top + 1, co->width - 1, 3, 0);
-
- SLsmg_set_color(NEWT_COLORSET_WINDOW);
- newtClearBox(co->left, co->top, co->width, 1);
- newtClearBox(co->left, co->top, 1, co->height);
- } else {
- newtDrawBox(co->left, co->top, co->width - 1, 3, 1);
- }
-
- buttonDrawText(co, active, pushed);
- }
-}
-
-static void buttonDrawText(newtComponent co, int active, int pushed) {
- struct button * bu = co->data;
-
- if (pushed) pushed = 1;
-
- if (active)
- SLsmg_set_color(NEWT_COLORSET_ACTBUTTON);
- else
- SLsmg_set_color(NEWT_COLORSET_BUTTON);
-
- newtGotorc(co->top + 1 + pushed, co->left + 1 + pushed);
- SLsmg_write_char(' ');
- SLsmg_write_string(bu->text);
- SLsmg_write_char(' ');
-}
-
-static struct eventResult buttonEvent(newtComponent co,
- struct event ev) {
- struct eventResult er;
- struct button * bu = co->data;
-
- if (ev.when == EV_NORMAL) {
- switch (ev.event) {
- case EV_FOCUS:
- buttonDrawIt(co, 1, 0);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- buttonDrawIt(co, 0, 0);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_KEYPRESS:
- if (ev.u.key == ' ' || ev.u.key == '\r') {
- if (!bu->compact) {
- /* look pushed */
- buttonDrawIt(co, 1, 1);
- newtRefresh();
- newtDelay(150000);
- buttonDrawIt(co, 1, 0);
- newtRefresh();
- newtDelay(150000);
- }
-
- er.result = ER_EXITFORM;
- } else
- er.result = ER_IGNORED;
- break;
- case EV_MOUSE:
- if (ev.u.mouse.type == MOUSE_BUTTON_DOWN &&
- co->top <= ev.u.mouse.y &&
- co->top + co->height - !bu->compact > ev.u.mouse.y &&
- co->left <= ev.u.mouse.x &&
- co->left + co->width - !bu->compact > ev.u.mouse.x) {
- if (!bu->compact) {
- buttonDrawIt(co, 1, 1);
- newtRefresh();
- newtDelay(150000);
- buttonDrawIt(co, 1, 0);
- newtRefresh();
- newtDelay(150000);
- }
- er.result = ER_EXITFORM;
- }
- break;
- }
- } else
- er.result = ER_IGNORED;
-
- return er;
-}
diff --git a/mdk-stage1/newt/buttonbar.c b/mdk-stage1/newt/buttonbar.c
deleted file mode 100644
index 45473c9d2..000000000
--- a/mdk-stage1/newt/buttonbar.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <stdarg.h>
-
-#include "newt.h"
-
-/* if they try and pack more then 50 buttons, screw 'em */
-newtGrid newtButtonBarv(char * button1, newtComponent * b1comp, va_list args) {
- newtGrid grid;
- struct buttonInfo {
- char * name;
- newtComponent * compPtr;
- } buttons[50];
- int num;
- int i;
-
- buttons[0].name = button1, buttons[0].compPtr = b1comp, num = 1;
- while (1) {
- buttons[num].name = va_arg(args, char *);
- if (!buttons[num].name) break;
- buttons[num].compPtr = va_arg(args, newtComponent *);
- num++;
- }
-
- grid = newtCreateGrid(num, 1);
-
- for (i = 0; i < num; i++) {
- *buttons[i].compPtr = newtButton(-1, -1, buttons[i].name);
- newtGridSetField(grid, i, 0, NEWT_GRID_COMPONENT,
- *buttons[i].compPtr,
- num ? 1 : 0, 0, 0, 0, 0, 0);
- }
-
- return grid;
-}
-
-newtGrid newtButtonBar(char * button1, newtComponent * b1comp, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, b1comp);
-
- grid = newtButtonBarv(button1, b1comp, args);
-
- va_end(args);
-
- return grid;
-}
diff --git a/mdk-stage1/newt/checkbox.c b/mdk-stage1/newt/checkbox.c
deleted file mode 100644
index eee514c98..000000000
--- a/mdk-stage1/newt/checkbox.c
+++ /dev/null
@@ -1,290 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-enum type { CHECK, RADIO };
-
-struct checkbox {
- char * text;
- char * seq;
- char * result;
- newtComponent prevButton, lastButton;
- enum type type;
- char value;
- int active, inactive;
- const void * data;
- int flags;
- int hasFocus;
-};
-
-static void makeActive(newtComponent co);
-
-static void cbDraw(newtComponent c);
-static void cbDestroy(newtComponent co);
-struct eventResult cbEvent(newtComponent co, struct event ev);
-
-static struct componentOps cbOps = {
- cbDraw,
- cbEvent,
- cbDestroy,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-newtComponent newtRadiobutton(int left, int top, const char * text, int isDefault,
- newtComponent prevButton) {
- newtComponent co;
- newtComponent curr;
- struct checkbox * rb;
- char initialValue;
-
- if (isDefault)
- initialValue = '*';
- else
- initialValue = ' ';
-
- co = newtCheckbox(left, top, text, initialValue, " *", NULL);
- rb = co->data;
- rb->type = RADIO;
-
- rb->prevButton = prevButton;
-
- for (curr = co; curr; curr = rb->prevButton) {
- rb = curr->data;
- rb->lastButton = co;
- }
-
- return co;
-}
-
-newtComponent newtRadioGetCurrent(newtComponent setMember) {
- struct checkbox * rb = setMember->data;
-
- setMember = rb->lastButton;
- rb = setMember->data;
-
- while (rb && rb->value != '*') {
- setMember = rb->prevButton;
- if (!setMember)
- return NULL;
- rb = setMember->data;
- }
-
- return setMember;
-}
-
-char newtCheckboxGetValue(newtComponent co) {
- struct checkbox * cb = co->data;
-
- return cb->value;
-}
-
-void newtCheckboxSetValue(newtComponent co, char value) {
- struct checkbox * cb = co->data;
-
- *cb->result = value;
- cbDraw(co);
-}
-
-newtComponent newtCheckbox(int left, int top, const char * text, char defValue,
- const char * seq, char * result) {
- newtComponent co;
- struct checkbox * cb;
-
- if (!seq) seq = " *";
-
- co = malloc(sizeof(*co));
- cb = malloc(sizeof(struct checkbox));
- co->data = cb;
- cb->flags = 0;
- if (result)
- cb->result = result;
- else
- cb->result = &cb->value;
-
- cb->text = strdup(text);
- cb->seq = strdup(seq);
- cb->type = CHECK;
- cb->hasFocus = 0;
- cb->inactive = COLORSET_CHECKBOX;
- cb->active = COLORSET_ACTCHECKBOX;
- defValue ? (*cb->result = defValue) : (*cb->result = cb->seq[0]);
-
- co->ops = &cbOps;
-
- co->callback = NULL;
- co->height = 1;
- co->width = strlen(text) + 4;
- co->top = top;
- co->left = left;
- co->takesFocus = 1;
-
- return co;
-}
-
-void newtCheckboxSetFlags(newtComponent co, int flags, enum newtFlagsSense sense) {
- struct checkbox * cb = co->data;
- int row, col;
-
- cb->flags = newtSetFlags(cb->flags, flags, sense);
-
- if (!(cb->flags & NEWT_FLAG_DISABLED))
- co->takesFocus = 1;
- else
- co->takesFocus = 0;
-
- newtGetrc(&row, &col);
- cbDraw(co);
- newtGotorc(row, col);
-}
-
-static void cbDraw(newtComponent c) {
- struct checkbox * cb = c->data;
-
- if (c->top == -1 || !c->isMapped) return;
-
- if (cb->flags & NEWT_FLAG_DISABLED) {
- cb->inactive = NEWT_COLORSET_DISENTRY;
- cb->active = NEWT_COLORSET_DISENTRY;
- } else {
- cb->inactive = COLORSET_CHECKBOX;
- cb->active = COLORSET_ACTCHECKBOX;
- }
-
- SLsmg_set_color(cb->inactive);
-
- newtGotorc(c->top, c->left);
-
- switch (cb->type) {
- case RADIO:
- SLsmg_write_string("( ) ");
- break;
-
- case CHECK:
- SLsmg_write_string("[ ] ");
- break;
-
- default:
- break;
- }
-
- SLsmg_write_string(cb->text);
-
- if (cb->hasFocus)
- SLsmg_set_color(cb->active);
-
- newtGotorc(c->top, c->left + 1);
- SLsmg_write_char(*cb->result);
-}
-
-static void cbDestroy(newtComponent co) {
- struct checkbox * cb = co->data;
-
- free(cb->text);
- free(cb->seq);
- free(cb);
- free(co);
-}
-
-struct eventResult cbEvent(newtComponent co, struct event ev) {
- struct checkbox * cb = co->data;
- struct eventResult er;
- const char * cur;
-
- if (ev.when == EV_NORMAL) {
- switch (ev.event) {
- case EV_FOCUS:
- cb->hasFocus = 1;
- cbDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- cb->hasFocus = 0;
- cbDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_KEYPRESS:
- if (ev.u.key == ' ') {
- if (cb->type == RADIO) {
- makeActive(co);
- } else if (cb->type == CHECK) {
- cur = strchr(cb->seq, *cb->result);
- if (!cur)
- *cb->result = *cb->seq;
- else {
- cur++;
- if (! *cur)
- *cb->result = *cb->seq;
- else
- *cb->result = *cur;
- }
- cbDraw(co);
- er.result = ER_SWALLOWED;
-
- if (co->callback)
- co->callback(co, co->callbackData);
- } else {
- er.result = ER_IGNORED;
- }
- } else if(ev.u.key == NEWT_KEY_ENTER) {
- er.result = ER_IGNORED;
- } else {
- er.result = ER_IGNORED;
- }
- break;
- case EV_MOUSE:
- if (ev.u.mouse.type == MOUSE_BUTTON_DOWN) {
- if (cb->type == RADIO) {
- makeActive(co);
- } else if (cb->type == CHECK) {
- cur = strchr(cb->seq, *cb->result);
- if (!cur)
- *cb->result = *cb->seq;
- else {
- cur++;
- if (! *cur)
- *cb->result = *cb->seq;
- else
- *cb->result = *cur;
- }
- cbDraw(co);
- er.result = ER_SWALLOWED;
-
- if (co->callback)
- co->callback(co, co->callbackData);
- }
- }
- }
- } else
- er.result = ER_IGNORED;
-
- return er;
-}
-
-static void makeActive(newtComponent co) {
- struct checkbox * cb = co->data;
- struct checkbox * rb;
- newtComponent curr;
-
- /* find the one that's turned off */
- curr = cb->lastButton;
- rb = curr->data;
- while (curr && rb->value == rb->seq[0]) {
- curr = rb->prevButton;
- if (curr) rb = curr->data;
- }
- if (curr) {
- rb->value = rb->seq[0];
- cbDraw(curr);
- }
- cb->value = cb->seq[1];
- cbDraw(co);
-
- if (co->callback)
- co->callback(co, co->callbackData);
-}
diff --git a/mdk-stage1/newt/checkboxtree.c b/mdk-stage1/newt/checkboxtree.c
deleted file mode 100644
index b56bd1e9f..000000000
--- a/mdk-stage1/newt/checkboxtree.c
+++ /dev/null
@@ -1,714 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct items {
- char * text;
- const void *data;
- unsigned char selected;
- struct items *next;
- struct items *prev;
- struct items *branch;
- int flags;
- int depth;
-};
-
-struct CheckboxTree {
- newtComponent sb;
- int curWidth; /* size of text w/o scrollbar or border*/
- int curHeight; /* size of text w/o border */
- struct items * itemlist;
- struct items ** flatList, ** currItem, ** firstItem;
- int flatCount;
- int flags;
- int pad;
- char * seq;
- char * result;
-};
-
-static void ctDraw(newtComponent c);
-static void ctDestroy(newtComponent co);
-static void ctPlace(newtComponent co, int newLeft, int newTop);
-struct eventResult ctEvent(newtComponent co, struct event ev);
-static void ctMapped(newtComponent co, int isMapped);
-static struct items * findItem(struct items * items, const void * data);
-static void buildFlatList(newtComponent co);
-static void doBuildFlatList(struct CheckboxTree * ct, struct items * item);
-enum countWhat { COUNT_EXPOSED=0, COUNT_SELECTED=1 };
-static int countItems(struct items * item, enum countWhat justExposed);
-
-static struct componentOps ctOps = {
- ctDraw,
- ctEvent,
- ctDestroy,
- ctPlace,
- ctMapped,
-} ;
-
-static int countItems(struct items * item, enum countWhat what) {
- int count = 0;
-
- while (item) {
- if ((!item->branch && item->selected == what) || (what == COUNT_EXPOSED))
- count++;
- if (item->branch || (what == COUNT_EXPOSED && item->selected))
- count += countItems(item->branch, what);
- item = item->next;
- }
-
- return count;
-}
-
-static void doBuildFlatList(struct CheckboxTree * ct, struct items * item) {
- while (item) {
- ct->flatList[ct->flatCount++] = item;
- if (item->branch && item->selected) doBuildFlatList(ct, item->branch);
- item = item->next;
- }
-}
-
-static void buildFlatList(newtComponent co) {
- struct CheckboxTree * ct = co->data;
-
- if (ct->flatList) free(ct->flatList);
- ct->flatCount = countItems(ct->itemlist, COUNT_EXPOSED);
-
- ct->flatList = malloc(sizeof(*ct->flatList) * (ct->flatCount+1));
- ct->flatCount = 0;
- doBuildFlatList(ct, ct->itemlist);
- ct->flatList[ct->flatCount] = NULL;
-}
-
-int newtCheckboxTreeAddItem(newtComponent co,
- const char * text, const void * data,
- int flags, int index, ...) {
- va_list argList;
- int numIndexes;
- int * indexes;
- int i;
-
- va_start(argList, index);
- numIndexes = 0;
- i = index;
- while (i != NEWT_ARG_LAST) {
- numIndexes++;
- i = va_arg(argList, int);
- }
-
- va_end(argList);
-
- indexes = alloca(sizeof(*indexes) * (numIndexes + 1));
- va_start(argList, index);
- numIndexes = 0;
- i = index;
- va_start(argList, index);
- while (i != NEWT_ARG_LAST) {
- indexes[numIndexes++] = i;
- i = va_arg(argList, int);
- }
- va_end(argList);
-
- indexes[numIndexes++] = NEWT_ARG_LAST;
-
- return newtCheckboxTreeAddArray(co, text, data, flags, indexes);
-}
-
-static int doFindItemPath(struct items * items, void * data, int * path,
- int * len) {
- int where = 0;
-
- while (items) {
- if (items->data == data) {
- if (path) path[items->depth] = where;
- if (len) *len = items->depth + 1;
- return 1;
- }
-
- if (items->branch && doFindItemPath(items->branch, data, path, len)) {
- if (path) path[items->depth] = where;
- return 1;
- }
-
- items = items->next;
- where++;
- }
-
- return 0;
-}
-
-int * newtCheckboxTreeFindItem(newtComponent co, void * data) {
- int len;
- int * path;
- struct CheckboxTree * ct = co->data;
-
- if (!doFindItemPath(ct->itemlist, data, NULL, &len)) return NULL;
-
- path = malloc(sizeof(*path) * (len + 1));
- doFindItemPath(ct->itemlist, data, path, NULL);
- path[len] = NEWT_ARG_LAST;
-
- return path;
-}
-
-int newtCheckboxTreeAddArray(newtComponent co,
- const char * text, const void * data,
- int flags, int * indexes) {
- struct items * curList, * newNode, * item = NULL;
- struct items ** listPtr = NULL;
- int i, index, numIndexes;
- struct CheckboxTree * ct = co->data;
-
- numIndexes = 0;
- while (indexes[numIndexes] != NEWT_ARG_LAST) numIndexes++;
-
- if (!ct->itemlist) {
- if (numIndexes > 1) return -1;
-
- ct->itemlist = malloc(sizeof(*ct->itemlist));
- item = ct->itemlist;
- item->prev = NULL;
- item->next = NULL;
- } else {
- curList = ct->itemlist;
- listPtr = &ct->itemlist;
-
- i = 0;
- index = indexes[i];
- while (i < numIndexes) {
- item = curList;
-
- if (index == NEWT_ARG_APPEND) {
- item = NULL;
- } else {
- while (index && item)
- item = item->next, index--;
- }
-
- i++;
- if (i < numIndexes) {
- curList = item->branch;
- listPtr = &item->branch;
- if (!curList && (i + 1 != numIndexes)) return -1;
-
- index = indexes[i];
- }
- }
-
- if (!curList) { /* create a new branch */
- item = malloc(sizeof(*curList->prev));
- item->next = item->prev = NULL;
- *listPtr = item;
- } else if (!item) { /* append to end */
- item = curList;
- while (item->next) item = item->next;
- item->next = malloc(sizeof(*curList->prev));
- item->next->prev = item;
- item = item->next;
- item->next = NULL;
- } else {
- newNode = malloc(sizeof(*newNode));
- newNode->prev = item->prev;
- newNode->next = item;
-
- if (item->prev) item->prev->next = newNode;
- item->prev = newNode;
- item = newNode;
- if (!item->prev) *listPtr = item;
- }
- }
-
- item->text = strdup(text);
- item->data = data;
- if (flags & NEWT_FLAG_SELECTED) {
- item->selected = 1;
- } else {
- item->selected = 0;
- }
- item->flags = flags;
- item->branch = NULL;
- item->depth = numIndexes - 1;
-
- i = 4 + (3 * item->depth);
-
- if ((strlen(text) + i + ct->pad) > co->width) {
- co->width = strlen(text) + i + ct->pad;
- }
-
- return 0;
-}
-
-static struct items * findItem(struct items * items, const void * data) {
- struct items * i;
-
- while (items) {
- if (items->data == data) return items;
- if (items->branch) {
- i = findItem(items->branch, data);
- if (i) return i;
- }
-
- items = items->next;
- }
-
- return NULL;
-}
-
-static void listSelected(struct items * items, int * num, const void ** list, int seqindex) {
- while (items) {
- if ((seqindex ? items->selected==seqindex : items->selected) && !items->branch)
- list[(*num)++] = (void *) items->data;
- if (items->branch)
- listSelected(items->branch, num, list, seqindex);
- items = items->next;
- }
-}
-
-const void ** newtCheckboxTreeGetSelection(newtComponent co, int *numitems)
-{
- return newtCheckboxTreeGetMultiSelection(co, numitems, 0);
-}
-
-const void ** newtCheckboxTreeGetMultiSelection(newtComponent co, int *numitems, char seqnum)
-{
- struct CheckboxTree * ct;
- const void **retval;
- int seqindex=0;
-
- if(!co || !numitems) return NULL;
-
- ct = co->data;
-
- if (seqnum) {
- while( ct->seq[seqindex] && ( ct->seq[seqindex] != seqnum )) seqindex++;
- } else {
- seqindex = 0;
- }
-
- *numitems = countItems(ct->itemlist, (seqindex ? seqindex : COUNT_SELECTED));
- if (!*numitems) return NULL;
-
- retval = malloc(*numitems * sizeof(void *));
- *numitems = 0;
- listSelected(ct->itemlist, numitems, retval, seqindex);
-
- return retval;
-}
-
-newtComponent newtCheckboxTree(int left, int top, int height, int flags) {
- return newtCheckboxTreeMulti(left, top, height, NULL, flags);
-}
-
-newtComponent newtCheckboxTreeMulti(int left, int top, int height, char *seq, int flags) {
- newtComponent co;
- struct CheckboxTree * ct;
-
- co = malloc(sizeof(*co));
- ct = malloc(sizeof(struct CheckboxTree));
- co->callback = NULL;
- co->data = ct;
- co->ops = &ctOps;
- co->takesFocus = 1;
- co->height = height;
- co->width = 0;
- co->isMapped = 0;
- ct->itemlist = NULL;
- ct->firstItem = NULL;
- ct->currItem = NULL;
- ct->flatList = NULL;
- if (seq)
- ct->seq = strdup(seq);
- else
- ct->seq = strdup(" *");
- if (flags & NEWT_FLAG_SCROLL) {
- ct->sb = newtVerticalScrollbar(left, top, height,
- COLORSET_LISTBOX, COLORSET_ACTLISTBOX);
- ct->pad = 2;
- } else {
- ct->sb = NULL;
- ct->pad = 0;
- }
-
- return co;
-}
-
-static void ctMapped(newtComponent co, int isMapped) {
- struct CheckboxTree * ct = co->data;
-
- co->isMapped = isMapped;
- if (ct->sb)
- ct->sb->ops->mapped(ct->sb, isMapped);
-}
-
-static void ctPlace(newtComponent co, int newLeft, int newTop) {
- struct CheckboxTree * ct = co->data;
-
- co->top = newTop;
- co->left = newLeft;
-
- if (ct->sb)
- ct->sb->ops->place(ct->sb, co->left + co->width - 1, co->top);
-}
-
-int ctSetItem(newtComponent co, struct items *item, enum newtFlagsSense sense)
-{
- struct CheckboxTree * ct = co->data;
- struct items * currItem;
- struct items * firstItem;
-
- if (!item)
- return 1;
-
- switch(sense) {
- case NEWT_FLAGS_RESET:
- item->selected = 0;
- break;
- case NEWT_FLAGS_SET:
- item->selected = 1;
- break;
- case NEWT_FLAGS_TOGGLE:
- if (item->branch)
- item->selected = !item->selected;
- else {
- item->selected++;
- if (item->selected==strlen(ct->seq))
- item->selected = 0;
- }
- break;
- }
-
- if (item->branch) {
- currItem = *ct->currItem;
- firstItem = *ct->firstItem;
-
- buildFlatList(co);
-
- ct->currItem = ct->flatList;
- while (*ct->currItem != currItem) ct->currItem++;
-
- ct->firstItem = ct->flatList;
- if (ct->flatCount > co->height) {
- struct items ** last = ct->flatList + ct->flatCount - co->height;
- while (*ct->firstItem != firstItem && ct->firstItem != last)
- ct->firstItem++;
- }
- }
-
- return 0;
-}
-
-static void ctSetItems(struct items *item, int selected)
-{
- for (; item; item = item->next) {
- if (!item->branch)
- item->selected = selected;
- else
- ctSetItems(item->branch, selected);
- }
-}
-
-static void ctDraw(newtComponent co) {
- struct CheckboxTree * ct = co->data;
- struct items ** item;
- int i, j;
- char * spaces = NULL;
- int currRow = -1;
-
- if (!co->isMapped) return ;
-
- if (!ct->firstItem) {
- buildFlatList(co);
- ct->firstItem = ct->currItem = ct->flatList;
- }
-
- item = ct->firstItem;
-
- i = 0;
- while (*item && i < co->height) {
- newtGotorc(co->top + i, co->left);
- if (*item == *ct->currItem) {
- SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
- currRow = co->top + i;
- } else
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
-
- for (j = 0; j < (*item)->depth; j++)
- SLsmg_write_string(" ");
-
- if ((*item)->branch) {
- if ((*item)->selected)
- SLsmg_write_string("<-> ");
- else
- SLsmg_write_string("<+> ");
- } else {
- char tmp[5];
- snprintf(tmp,5,"[%c] ",ct->seq[(*item)->selected]);
- SLsmg_write_string(tmp);
- }
-
- SLsmg_write_nstring((*item)->text, co->width - 4 -
- (3 * (*item)->depth));
- item++;
- i++;
- }
-
- /* There could be empty lines left (i.e. if the user closes an expanded
- list which is the last thing in the tree, and whose elements are
- displayed at the bottom of the screen */
- if (i < co->height) {
- spaces = alloca(co->width);
- memset(spaces, ' ', co->width);
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
- }
- while (i < co->height) {
- newtGotorc(co->top + i, co->left);
- SLsmg_write_nstring(spaces, co->width);
- i++;
- }
-
- if(ct->sb) {
- newtScrollbarSet(ct->sb, ct->currItem - ct->flatList,
- ct->flatCount - 1);
- ct->sb->ops->draw(ct->sb);
- }
-
- newtGotorc(currRow, co->left + 1);
-}
-
-static void ctDestroy(newtComponent co) {
- struct CheckboxTree * ct = co->data;
- struct items * item, * nextitem;
-
- nextitem = item = ct->itemlist;
-
- while (item != NULL) {
- nextitem = item->next;
- free(item->text);
- free(item);
- item = nextitem;
- }
-
- free(ct->seq);
- free(ct);
- free(co);
-}
-
-struct eventResult ctEvent(newtComponent co, struct event ev) {
- struct CheckboxTree * ct = co->data;
- struct eventResult er;
- struct items ** listEnd, ** lastItem;
- int key, selnum = 1;
-
- er.result = ER_IGNORED;
-
- if(ev.when == EV_EARLY || ev.when == EV_LATE) {
- return er;
- }
-
- switch(ev.event) {
- case EV_KEYPRESS:
- key = ev.u.key;
- if (key == (char) key && key != ' ') {
- for (selnum = 0; ct->seq[selnum]; selnum++)
- if (key == ct->seq[selnum])
- break;
- if (!ct->seq[selnum])
- switch (key) {
- case '-': selnum = 0; break;
- case '+':
- case '*': selnum = 1; break;
- }
- if (ct->seq[selnum])
- key = '*';
- }
- switch(key) {
- case ' ':
- case NEWT_KEY_ENTER:
- ctSetItem(co, *ct->currItem, NEWT_FLAGS_TOGGLE);
- er.result = ER_SWALLOWED;
- if (!(*ct->currItem)->branch || (*ct->currItem)->selected)
- key = NEWT_KEY_DOWN;
- else
- key = '*';
- break;
- case '*':
- if ((*ct->currItem)->branch) {
- ctSetItems((*ct->currItem)->branch, selnum);
- if (!(*ct->currItem)->selected)
- key = NEWT_KEY_DOWN;
- } else {
- (*ct->currItem)->selected = selnum;
- key = NEWT_KEY_DOWN;
- }
- er.result = ER_SWALLOWED;
- break;
- }
- switch (key) {
- case '*':
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- return er;
- case NEWT_KEY_HOME:
- ct->currItem = ct->flatList;
- ct->firstItem = ct->flatList;
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- case NEWT_KEY_END:
- ct->currItem = ct->flatList + ct->flatCount - 1;
- if (ct->flatCount <= co->height)
- ct->firstItem = ct->flatList;
- else
- ct->firstItem = ct->flatList + ct->flatCount - co->height;
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- case NEWT_KEY_DOWN:
- if (ev.u.key != NEWT_KEY_DOWN) {
- if(co->callback) co->callback(co, co->callbackData);
- if (strlen(ct->seq) != 2) {
- ctDraw(co);
- return er;
- }
- }
- if ((ct->currItem - ct->flatList + 1) < ct->flatCount) {
- ct->currItem++;
-
- if (ct->currItem - ct->firstItem >= co->height)
- ct->firstItem++;
-
- ctDraw(co);
- } else if (ev.u.key != NEWT_KEY_DOWN)
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- case NEWT_KEY_UP:
- if (ct->currItem != ct->flatList) {
- ct->currItem--;
-
- if (ct->currItem < ct->firstItem)
- ct->firstItem = ct->currItem;
-
- ctDraw(co);
- }
- er.result = ER_SWALLOWED;
- if(co->callback) co->callback(co, co->callbackData);
- return er;
- case NEWT_KEY_PGUP:
- if (ct->firstItem - co->height < ct->flatList) {
- ct->firstItem = ct->currItem = ct->flatList;
- } else {
- ct->currItem -= co->height;
- ct->firstItem -= co->height;
- }
-
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- case NEWT_KEY_PGDN:
- listEnd = ct->flatList + ct->flatCount - 1;
- lastItem = ct->firstItem + co->height - 1;
-
- if (lastItem + co->height > listEnd) {
- ct->firstItem = listEnd - co->height + 1;
- ct->currItem = listEnd;
- } else {
- ct->currItem += co->height;
- ct->firstItem += co->height;
- }
-
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- }
- break;
-
- case EV_FOCUS:
- ctDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- ctDraw(co);
- er.result = ER_SWALLOWED;
- break;
- default:
- break;
- }
-
- return er;
-}
-
-const void * newtCheckboxTreeGetCurrent(newtComponent co) {
- struct CheckboxTree * ct = co->data;
-
- if (!ct->currItem) return NULL;
- return (*ct->currItem)->data;
-}
-
-void newtCheckboxTreeSetEntry(newtComponent co, const void * data, const char * text)
-{
- struct CheckboxTree * ct;
- struct items * item;
- int i;
-
- if (!co) return;
- ct = co->data;
- item = findItem(ct->itemlist, data);
- if (!item) return;
-
- free(item->text);
- item->text = strdup(text);
-
- i = 4 + (3 * item->depth);
-
- if ((strlen(text) + i + ct->pad) > co->width) {
- co->width = strlen(text) + i + ct->pad;
- }
-
- ctDraw(co);
-}
-
-char newtCheckboxTreeGetEntryValue(newtComponent co, const void * data)
-{
- struct CheckboxTree * ct;
- struct items * item;
-
- if (!co) return -1;
- ct = co->data;
- item = findItem(ct->itemlist, data);
- if (!item) return -1;
- if (item->branch)
- return item->selected ? NEWT_CHECKBOXTREE_EXPANDED : NEWT_CHECKBOXTREE_COLLAPSED;
- else
- return ct->seq[item->selected];
-}
-
-void newtCheckboxTreeSetEntryValue(newtComponent co, const void * data, char value)
-{
- struct CheckboxTree * ct;
- struct items * item;
- int i;
-
- if (!co) return;
- ct = co->data;
- item = findItem(ct->itemlist, data);
- if (!item || item->branch) return;
-
- for(i = 0; ct->seq[i]; i++)
- if (value == ct->seq[i])
- break;
-
- if (!ct->seq[i]) return;
- item->selected = i;
-
- ctDraw(co);
-}
-
diff --git a/mdk-stage1/newt/entry.c b/mdk-stage1/newt/entry.c
deleted file mode 100644
index 154edba71..000000000
--- a/mdk-stage1/newt/entry.c
+++ /dev/null
@@ -1,376 +0,0 @@
-#include <ctype.h>
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct entry {
- int flags;
- char * buf;
- char ** resultPtr;
- int bufAlloced;
- int bufUsed; /* amount of the buffer that's been used */
- int cursorPosition; /* cursor *in the string* on on screen */
- int firstChar; /* first character position being shown */
- newtEntryFilter filter;
- void * filterData;
-};
-
-static void entryDraw(newtComponent co);
-static void entryDestroy(newtComponent co);
-static struct eventResult entryEvent(newtComponent co,
- struct event ev);
-
-static struct eventResult entryHandleKey(newtComponent co, int key);
-
-static struct componentOps entryOps = {
- entryDraw,
- entryEvent,
- entryDestroy,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-void newtEntrySet(newtComponent co, const char * value, int cursorAtEnd) {
- struct entry * en = co->data;
-
- if ((strlen(value) + 1) > (unsigned int)en->bufAlloced) {
- free(en->buf);
- en->bufAlloced = strlen(value) + 1;
- en->buf = malloc(en->bufAlloced);
- if (en->resultPtr) *en->resultPtr = en->buf;
- }
- memset(en->buf, 0, en->bufAlloced); /* clear the buffer */
- strcpy(en->buf, value);
- en->bufUsed = strlen(value);
- en->firstChar = 0;
- if (cursorAtEnd)
- en->cursorPosition = en->bufUsed;
- else
- en->cursorPosition = 0;
-
- entryDraw(co);
-} ;
-
-newtComponent newtEntry(int left, int top, const char * initialValue, int width,
- char ** resultPtr, int flags) {
- newtComponent co;
- struct entry * en;
-
- co = malloc(sizeof(*co));
- en = malloc(sizeof(struct entry));
- co->data = en;
-
- co->top = top;
- co->left = left;
- co->height = 1;
- co->width = width;
- co->isMapped = 0;
- co->callback = NULL;
-
- co->ops = &entryOps;
-
- en->flags = flags;
- en->cursorPosition = 0;
- en->firstChar = 0;
- en->bufUsed = 0;
- en->bufAlloced = width + 1;
- en->filter = NULL;
-
- if (!(en->flags & NEWT_FLAG_DISABLED))
- co->takesFocus = 1;
- else
- co->takesFocus = 0;
-
- if (initialValue && strlen(initialValue) > (unsigned int)width) {
- en->bufAlloced = strlen(initialValue) + 1;
- }
- en->buf = malloc(en->bufAlloced);
- en->resultPtr = resultPtr;
- if (en->resultPtr) *en->resultPtr = en->buf;
-
- memset(en->buf, 0, en->bufAlloced);
- if (initialValue) {
- strcpy(en->buf, initialValue);
- en->bufUsed = strlen(initialValue);
- en->cursorPosition = en->bufUsed;
- } else {
- *en->buf = '\0';
- en->bufUsed = 0;
- en->cursorPosition = 0;
- }
-
- return co;
-}
-
-static void entryDraw(newtComponent co) {
- struct entry * en = co->data;
- int i;
- char * chptr;
- int len;
-
- if (!co->isMapped) return;
-
- if (en->flags & NEWT_FLAG_DISABLED)
- SLsmg_set_color(NEWT_COLORSET_DISENTRY);
- else
- SLsmg_set_color(NEWT_COLORSET_ENTRY);
-
- if (en->flags & NEWT_FLAG_HIDDEN) {
- newtGotorc(co->top, co->left);
- for (i = 0; i < co->width; i++)
- SLsmg_write_char('_');
- newtGotorc(co->top, co->left);
-
- return;
- }
-
- newtGotorc(co->top, co->left);
-
- if (en->cursorPosition < en->firstChar) {
- /* scroll to the left */
- en->firstChar = en->cursorPosition;
- } else if ((en->firstChar + co->width) <= en->cursorPosition) {
- /* scroll to the right */
- en->firstChar = en->cursorPosition - co->width + 1;
- }
-
- chptr = en->buf + en->firstChar;
-
- if (en->flags & NEWT_FLAG_PASSWORD) {
- char *tmpptr, *p;
-
- tmpptr = alloca(strlen(chptr+2));
- strcpy(tmpptr, chptr);
- for (p = tmpptr; *p; p++)
- *p = '*';
- chptr = tmpptr;
- }
-
- len = strlen(chptr);
-
- if (len <= co->width) {
- i = len;
- SLsmg_write_string(chptr);
- while (i < co->width) {
- SLsmg_write_char('_');
- i++;
- }
- } else {
- SLsmg_write_nstring(chptr, co->width);
- }
-
- if (en->flags & NEWT_FLAG_HIDDEN)
- newtGotorc(co->top, co->left);
- else
- newtGotorc(co->top, co->left + (en->cursorPosition - en->firstChar));
-}
-
-void newtEntrySetFlags(newtComponent co, int flags, enum newtFlagsSense sense) {
- struct entry * en = co->data;
- int row, col;
-
- en->flags = newtSetFlags(en->flags, flags, sense);
-
- if (!(en->flags & NEWT_FLAG_DISABLED))
- co->takesFocus = 1;
- else
- co->takesFocus = 0;
-
- newtGetrc(&row, &col);
- entryDraw(co);
- newtGotorc(row, col);
-}
-
-static void entryDestroy(newtComponent co) {
- struct entry * en = co->data;
-
- free(en->buf);
- free(en);
- free(co);
-}
-
-static struct eventResult entryEvent(newtComponent co,
- struct event ev) {
- struct entry * en = co->data;
- struct eventResult er;
- int ch;
-
- if (ev.when == EV_NORMAL) {
- switch (ev.event) {
- case EV_FOCUS:
- newtCursorOn();
- if (en->flags & NEWT_FLAG_HIDDEN)
- newtGotorc(co->top, co->left);
- else
- newtGotorc(co->top, co->left +
- (en->cursorPosition - en->firstChar));
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- newtCursorOff();
- newtGotorc(0, 0);
- er.result = ER_SWALLOWED;
- if (co->callback)
- co->callback(co, co->callbackData);
- break;
-
- case EV_KEYPRESS:
- ch = ev.u.key;
- if (en->filter)
- ch = en->filter(co, en->filterData, ch, en->cursorPosition);
- if (ch) er = entryHandleKey(co, ch);
- break;
-
- case EV_MOUSE:
- if ((ev.u.mouse.type == MOUSE_BUTTON_DOWN) &&
- (en->flags ^ NEWT_FLAG_HIDDEN)) {
- if (strlen(en->buf) >= ev.u.mouse.x - co->left) {
- en->cursorPosition = ev.u.mouse.x - co->left;
- newtGotorc(co->top,
- co->left +(en->cursorPosition - en->firstChar));
- } else {
- en->cursorPosition = strlen(en->buf);
- newtGotorc(co->top,
- co->left +(en->cursorPosition - en->firstChar));
- }
- }
- break;
- }
- } else
- er.result = ER_IGNORED;
-
- return er;
-}
-
-static struct eventResult entryHandleKey(newtComponent co, int key) {
- struct entry * en = co->data;
- struct eventResult er;
- char * chptr, * insPoint;
-
- er.result = ER_SWALLOWED;
- switch (key) {
- case '\r': /* Return */
- if (en->flags & NEWT_FLAG_RETURNEXIT) {
- er.result = ER_EXITFORM;
- } else {
- er.result = ER_NEXTCOMP;
- }
- break;
-
- case '\001': /* ^A */
- case NEWT_KEY_HOME:
- en->cursorPosition = 0;
- break;
-
- case '\005': /* ^E */
- case NEWT_KEY_END:
- en->cursorPosition = en->bufUsed;
- break;
-
- case '\013': /* ^K */
- en->bufUsed = en->cursorPosition;
- memset(en->buf + en->bufUsed, 0, en->bufAlloced - en->bufUsed);
- break;
-
- case '\002': /* ^B */
- case NEWT_KEY_LEFT:
- if (en->cursorPosition)
- en->cursorPosition--;
- break;
-
- case '\004':
- case NEWT_KEY_DELETE:
- chptr = en->buf + en->cursorPosition;
- if (*chptr) {
- chptr++;
- while (*chptr) {
- *(chptr - 1) = *chptr;
- chptr++;
- }
- *(chptr - 1) = '\0';
- en->bufUsed--;
- }
- break;
-
- case NEWT_KEY_BKSPC:
- if (en->cursorPosition) {
- /* if this isn't true, there's nothing to erase */
- chptr = en->buf + en->cursorPosition;
- en->bufUsed--;
- en->cursorPosition--;
- while (*chptr) {
- *(chptr - 1) = *chptr;
- chptr++;
- }
- *(chptr - 1) = '\0';
- }
- break;
-
- case '\006': /* ^B */
- case NEWT_KEY_RIGHT:
- if (en->cursorPosition < en->bufUsed)
- en->cursorPosition++;
- break;
-
- default:
- if ((key >= 0x20 && key <= 0x7e) || (key >= 0xa0 && key <= 0xff)) {
- if (!(en->flags & NEWT_FLAG_SCROLL) && en->bufUsed >= co->width) {
- SLtt_beep();
- break;
- }
-
- if ((en->bufUsed + 1) == en->bufAlloced) {
- en->bufAlloced += 20;
- en->buf = realloc(en->buf, en->bufAlloced);
- if (en->resultPtr) *en->resultPtr = en->buf;
- memset(en->buf + en->bufUsed + 1, 0, 20);
- }
-
- if (en->cursorPosition == en->bufUsed) {
- en->bufUsed++;
- } else {
- /* insert the new character */
-
- /* chptr is the last character in the string */
- chptr = (en->buf + en->bufUsed) - 1;
- if ((en->bufUsed + 1) == en->bufAlloced) {
- /* this string fills the buffer, so clip it */
- chptr--;
- } else
- en->bufUsed++;
-
- insPoint = en->buf + en->cursorPosition;
-
- while (chptr >= insPoint) {
- *(chptr + 1) = *chptr;
- chptr--;
- }
-
- }
-
- en->buf[en->cursorPosition++] = key;
- } else {
- er.result = ER_IGNORED;
- }
- }
-
- entryDraw(co);
-
- return er;
-}
-
-char * newtEntryGetValue(newtComponent co) {
- struct entry * en = co->data;
-
- return en->buf;
-}
-
-void newtEntrySetFilter(newtComponent co, newtEntryFilter filter, void * data) {
- struct entry * en = co->data;
- en->filter = filter;
- en->filterData = data;
-}
diff --git a/mdk-stage1/newt/form.c b/mdk-stage1/newt/form.c
deleted file mode 100644
index 4ad465e38..000000000
--- a/mdk-stage1/newt/form.c
+++ /dev/null
@@ -1,712 +0,0 @@
-#include <unistd.h>
-#include <slang.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <sys/types.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-
-/****************************************************************************
- These forms handle vertical scrolling of components with a height of 1
-
- Horizontal scrolling won't work, and scrolling large widgets will fail
- miserably. It shouldn't be too hard to fix either of those if anyone
- cares to. I only use scrolling for listboxes and text boxes though so
- I didn't bother.
-*****************************************************************************/
-
-struct element {
- int top, left; /* Actual, not virtual. These are translated */
- newtComponent co; /* into actual through vertOffset */
-};
-
-struct fdInfo {
- int fd;
- int flags;
-};
-
-struct form {
- int numCompsAlloced;
- struct element * elements;
- int numComps;
- int currComp;
- int fixedHeight;
- int flags;
- int vertOffset;
- newtComponent vertBar, exitComp;
- const char * help;
- int numRows;
- int * hotKeys;
- int numHotKeys;
- int background;
- int beenSet;
- int numFds;
- struct fdInfo * fds;
- int maxFd;
- int timer; /* in milliseconds */
- struct timeval lastTimeout;
- void * helpTag;
- newtCallback helpCb;
-};
-
-static void gotoComponent(struct form * form, int newComp);
-static struct eventResult formEvent(newtComponent co, struct event ev);
-static struct eventResult sendEvent(newtComponent comp, struct event ev);
-static void formPlace(newtComponent co, int left, int top);
-
-/* Global, ick */
-static newtCallback helpCallback;
-
-/* this isn't static as grid.c tests against it to find forms */
-struct componentOps formOps = {
- newtDrawForm,
- formEvent,
- newtFormDestroy,
- formPlace,
- newtDefaultMappedHandler,
-} ;
-
-static inline int componentFits(newtComponent co, int compNum) {
- struct form * form = co->data;
- struct element * el = form->elements + compNum;
-
- if ((co->top + form->vertOffset) > el->top) return 0;
- if ((co->top + form->vertOffset + co->height) <
- (el->top + el->co->height)) return 0;
-
- return 1;
-}
-
-newtComponent newtForm(newtComponent vertBar, void * help, int flags) {
- newtComponent co;
- struct form * form;
-
- co = malloc(sizeof(*co));
- form = malloc(sizeof(*form));
- co->data = form;
- co->width = 0;
- co->height = 0;
- co->top = -1;
- co->left = -1;
- co->isMapped = 0;
-
- co->takesFocus = 0; /* we may have 0 components */
- co->ops = &formOps;
-
- form->help = help;
- form->flags = flags;
- form->numCompsAlloced = 5;
- form->numComps = 0;
- form->currComp = -1;
- form->vertOffset = 0;
- form->fixedHeight = 0;
- form->numRows = 0;
- form->numFds = 0;
- form->maxFd = 0;
- form->fds = NULL;
- form->beenSet = 0;
- form->elements = malloc(sizeof(*(form->elements)) * form->numCompsAlloced);
-
- form->background = COLORSET_WINDOW;
- form->hotKeys = malloc(sizeof(int));
- form->numHotKeys = 0;
- form->timer = 0;
- form->lastTimeout.tv_sec = form->lastTimeout.tv_usec = 0;
- if (!(form->flags & NEWT_FLAG_NOF12)) {
- newtFormAddHotKey(co, NEWT_KEY_F12);
- }
-
- if (vertBar)
- form->vertBar = vertBar;
- else
- form->vertBar = NULL;
-
- form->helpTag = help;
- form->helpCb = helpCallback;
-
- return co;
-}
-
-newtComponent newtFormGetCurrent(newtComponent co) {
- struct form * form = co->data;
-
- return form->elements[form->currComp].co;
-}
-
-void newtFormSetCurrent(newtComponent co, newtComponent subco) {
- struct form * form = co->data;
- int i, new;
-
- for (i = 0; i < form->numComps; i++) {
- if (form->elements[i].co == subco) break;
- }
-
- if (form->elements[i].co != subco) return;
- new = i;
-
- if (co->isMapped && !componentFits(co, new)) {
- gotoComponent(form, -1);
- form->vertOffset = form->elements[new].top - co->top - 1;
- if (form->vertOffset > (form->numRows - co->height))
- form->vertOffset = form->numRows - co->height;
- }
-
- gotoComponent(form, new);
-}
-
-void newtFormSetTimer(newtComponent co, int millisecs) {
- struct form * form = co->data;
-
- form->timer = millisecs;
- form->lastTimeout.tv_usec = 0;
- form->lastTimeout.tv_sec = 0;
-}
-
-void newtFormSetHeight(newtComponent co, int height) {
- struct form * form = co->data;
-
- form->fixedHeight = 1;
- co->height = height;
-}
-
-void newtFormSetWidth(newtComponent co, int width) {
- co->width = width;
-}
-
-void newtFormAddComponent(newtComponent co, newtComponent newco) {
- struct form * form = co->data;
-
- co->takesFocus = 1;
-
- if (form->numCompsAlloced == form->numComps) {
- form->numCompsAlloced += 5;
- form->elements = realloc(form->elements,
- sizeof(*(form->elements)) * form->numCompsAlloced);
- }
-
- /* we grab real values for these a bit later */
- form->elements[form->numComps].left = -2;
- form->elements[form->numComps].top = -2;
- form->elements[form->numComps].co = newco;
-
- if (newco->takesFocus && form->currComp == -1)
- form->currComp = form->numComps;
-
- form->numComps++;
-}
-
-void newtFormAddComponents(newtComponent co, ...) {
- va_list ap;
- newtComponent subco;
-
- va_start(ap, co);
-
- while ((subco = va_arg(ap, newtComponent)))
- newtFormAddComponent(co, subco);
-
- va_end(ap);
-}
-
-static void formPlace(newtComponent co, int left, int top) {
- struct form * form = co->data;
- int vertDelta, horizDelta;
- struct element * el;
- int i;
-
- newtFormSetSize(co);
-
- vertDelta = top - co->top;
- horizDelta = left - co->left;
- co->top = top;
- co->left = left;
-
- for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
- el->co->top += vertDelta;
- el->top += vertDelta;
- el->co->left += horizDelta;
- el->left += horizDelta;
- }
-}
-
-void newtDrawForm(newtComponent co) {
- struct form * form = co->data;
- struct element * el;
- int i;
-
- newtFormSetSize(co);
-
- SLsmg_set_color(form->background);
- newtClearBox(co->left, co->top, co->width, co->height);
- for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
- /* the scrollbar *always* fits somewhere */
- if (el->co == form->vertBar) {
- el->co->ops->mapped(el->co, 1);
- el->co->ops->draw(el->co);
- } else {
- /* only draw it if it'll fit on the screen vertically */
- if (componentFits(co, i)) {
- el->co->top = el->top - form->vertOffset;
- el->co->ops->mapped(el->co, 1);
- el->co->ops->draw(el->co);
- } else {
- el->co->ops->mapped(el->co, 0);
- }
- }
- }
-
- if (form->vertBar)
- newtScrollbarSet(form->vertBar, form->vertOffset,
- form->numRows - co->height);
-}
-
-static struct eventResult formEvent(newtComponent co, struct event ev) {
- struct form * form = co->data;
- newtComponent subco = form->elements[form->currComp].co;
- int new, wrap = 0;
- struct eventResult er;
- int dir = 0, page = 0;
- int i, num, found;
- struct element * el;
-
- er.result = ER_IGNORED;
- if (!form->numComps) return er;
-
- subco = form->elements[form->currComp].co;
-
- switch (ev.when) {
- case EV_EARLY:
- if (ev.event == EV_KEYPRESS) {
- if (ev.u.key == NEWT_KEY_TAB) {
- er.result = ER_SWALLOWED;
- dir = 1;
- wrap = 1;
- } else if (ev.u.key == NEWT_KEY_UNTAB) {
- er.result = ER_SWALLOWED;
- dir = -1;
- wrap = 1;
- }
- }
-
- if (form->numComps) {
- i = form->currComp;
- num = 0;
- while (er.result == ER_IGNORED && num != form->numComps ) {
- er = form->elements[i].co->ops->event(form->elements[i].co, ev);
-
- num++;
- i++;
- if (i == form->numComps) i = 0;
- }
- }
-
- break;
-
- case EV_NORMAL:
- if (ev.event == EV_MOUSE) {
- found = 0;
- for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
- if ((el->co->top <= ev.u.mouse.y) &&
- (el->co->top + el->co->height > ev.u.mouse.y) &&
- (el->co->left <= ev.u.mouse.x) &&
- (el->co->left + el->co->width > ev.u.mouse.x)) {
- found = 1;
- if (el->co->takesFocus) {
- gotoComponent(form, i);
- subco = form->elements[form->currComp].co;
- }
- }
- /* If we did not find a co to send this event to, we
- should just swallow the event here. */
- }
- if (!found) {
- er.result = ER_SWALLOWED;
-
- return er;
- }
- }
- er = subco->ops->event(subco, ev);
- switch (er.result) {
- case ER_NEXTCOMP:
- er.result = ER_SWALLOWED;
- dir = 1;
- break;
-
- case ER_EXITFORM:
- form->exitComp = subco;
- break;
-
- default:
- break;
- }
- break;
-
- case EV_LATE:
- er = subco->ops->event(subco, ev);
-
- if (er.result == ER_IGNORED) {
- switch (ev.u.key) {
- case NEWT_KEY_UP:
- case NEWT_KEY_LEFT:
- case NEWT_KEY_BKSPC:
- er.result = ER_SWALLOWED;
- dir = -1;
- break;
-
- case NEWT_KEY_DOWN:
- case NEWT_KEY_RIGHT:
- er.result = ER_SWALLOWED;
- dir = 1;
- break;
-
- case NEWT_KEY_PGUP:
- er.result = ER_SWALLOWED;
- dir = -1;
- page = 1;
- break;
-
- case NEWT_KEY_PGDN:
- er.result = ER_SWALLOWED;
- dir = 1;
- page = 1;
- break;
- }
- }
- }
-
- if (dir) {
- new = form->currComp;
-
- if (page) {
- new += dir * co->height;
- if (new < 0)
- new = 0;
- else if (new >= form->numComps)
- new = (form->numComps - 1);
-
- while (!form->elements[new].co->takesFocus)
- new = new - dir;
- } else {
- do {
- new += dir;
-
- if (wrap) {
- if (new < 0)
- new = form->numComps - 1;
- else if (new >= form->numComps)
- new = 0;
- } else if (new < 0 || new >= form->numComps)
- return er;
- } while (!form->elements[new].co->takesFocus);
- }
-
- /* make sure this component is visible */
- if (!componentFits(co, new)) {
- gotoComponent(form, -1);
-
- if (dir < 0) {
- /* make the new component the first one */
- form->vertOffset = form->elements[new].top - co->top;
- } else {
- /* make the new component the last one */
- form->vertOffset = (form->elements[new].top +
- form->elements[new].co->height) -
- (co->top + co->height);
- }
-
- if (form->vertOffset < 0) form->vertOffset = 0;
- if (form->vertOffset > (form->numRows - co->height))
- form->vertOffset = form->numRows - co->height;
-
- newtDrawForm(co);
- }
-
- gotoComponent(form, new);
- er.result = ER_SWALLOWED;
- }
-
- return er;
-}
-
-/* this also destroys all of the components on the form */
-void newtFormDestroy(newtComponent co) {
- newtComponent subco;
- struct form * form = co->data;
- int i;
-
- /* first, destroy all of the components */
- for (i = 0; i < form->numComps; i++) {
- subco = form->elements[i].co;
- if (subco->ops->destroy) {
- subco->ops->destroy(subco);
- } else {
- if (subco->data) free(subco->data);
- free(subco);
- }
- }
-
- if (form->hotKeys) free(form->hotKeys);
-
- free(form->elements);
- free(form);
- free(co);
-}
-
-newtComponent newtRunForm(newtComponent co) {
- struct newtExitStruct es;
-
- newtFormRun(co, &es);
- if (es.reason == NEWT_EXIT_HOTKEY) {
- if (es.u.key == NEWT_KEY_F12) {
- es.reason = NEWT_EXIT_COMPONENT;
- es.u.co = co;
- } else {
- return NULL;
- }
- }
-
- return es.u.co;
-}
-
-void newtFormAddHotKey(newtComponent co, int key) {
- struct form * form = co->data;
-
- form->numHotKeys++;
- form->hotKeys = realloc(form->hotKeys, sizeof(int) * form->numHotKeys);
- form->hotKeys[form->numHotKeys - 1] = key;
-}
-
-void newtFormSetSize(newtComponent co) {
- struct form * form = co->data;
- int delta, i;
- struct element * el;
-
- if (form->beenSet) return;
-
- form->beenSet = 1;
-
- if (!form->numComps) return;
-
- co->width = 0;
- if (!form->fixedHeight) co->height = 0;
-
- co->top = form->elements[0].co->top;
- co->left = form->elements[0].co->left;
- for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
- if (el->co->ops == &formOps)
- newtFormSetSize(el->co);
-
- el->left = el->co->left;
- el->top = el->co->top;
-
- if (co->left > el->co->left) {
- delta = co->left - el->co->left;
- co->left -= delta;
- co->width += delta;
- }
-
- if (co->top > el->co->top) {
- delta = co->top - el->co->top;
- co->top -= delta;
- if (!form->fixedHeight)
- co->height += delta;
- }
-
- if ((co->left + co->width) < (el->co->left + el->co->width))
- co->width = (el->co->left + el->co->width) - co->left;
-
- if (!form->fixedHeight) {
- if ((co->top + co->height) < (el->co->top + el->co->height))
- co->height = (el->co->top + el->co->height) - co->top;
- }
-
- if ((el->co->top + el->co->height - co->top) > form->numRows) {
- form->numRows = el->co->top + el->co->height - co->top;
- }
- }
-}
-
-void newtFormRun(newtComponent co, struct newtExitStruct * es) {
- struct form * form = co->data;
- struct event ev;
- struct eventResult er;
- int key, i, max;
- int done = 0;
- fd_set readSet, writeSet;
- struct timeval nextTimeout, now, timeout;
-
- newtFormSetSize(co);
- /* draw all of the components */
- newtDrawForm(co);
-
- if (form->currComp == -1) {
- gotoComponent(form, 0);
- } else
- gotoComponent(form, form->currComp);
-
- while (!done) {
- newtRefresh();
-
- FD_ZERO(&readSet);
- FD_ZERO(&writeSet);
- FD_SET(0, &readSet);
- max = form->maxFd;
-
- for (i = 0; i < form->numFds; i++) {
- if (form->fds[i].flags & NEWT_FD_READ)
- FD_SET(form->fds[i].fd, &readSet);
- if (form->fds[i].flags & NEWT_FD_WRITE)
- FD_SET(form->fds[i].fd, &writeSet);
- }
-
- if (form->timer) {
- /* Calculate when we next need to return with a timeout. Do
- this inside the loop in case a callback resets the timer. */
- if (!form->lastTimeout.tv_sec && !form->lastTimeout.tv_usec)
- gettimeofday(&form->lastTimeout, NULL);
-
- nextTimeout.tv_sec = form->lastTimeout.tv_sec +
- (form->timer / 1000);
- nextTimeout.tv_usec = form->lastTimeout.tv_usec +
- (form->timer % 1000) * 1000;
-
- gettimeofday(&now, 0);
-
- if (now.tv_sec > nextTimeout.tv_sec) {
- timeout.tv_sec = timeout.tv_usec = 0;
- } else if (now.tv_sec == nextTimeout.tv_sec) {
- timeout.tv_sec = 0;
- if (now.tv_usec > nextTimeout.tv_usec)
- timeout.tv_usec = 0;
- else
- timeout.tv_usec = nextTimeout.tv_usec - now.tv_usec;
- } else if (now.tv_sec < nextTimeout.tv_sec) {
- timeout.tv_sec = nextTimeout.tv_sec - now.tv_sec;
- if (now.tv_usec > nextTimeout.tv_usec)
- timeout.tv_sec--,
- timeout.tv_usec = nextTimeout.tv_usec + 1000000 -
- now.tv_usec;
- else
- timeout.tv_usec = nextTimeout.tv_usec - now.tv_usec;
- }
- } else {
- timeout.tv_sec = timeout.tv_usec = 0;
- }
-
- i = select(max + 1, &readSet, &writeSet, NULL,
- form->timer ? &timeout : NULL);
- if (i < 0) continue; /* ?? What should we do here? */
-
- if (i == 0) {
- done = 1;
- es->reason = NEWT_EXIT_TIMER;
- gettimeofday(&form->lastTimeout, NULL);
- } else
- {
- if (FD_ISSET(0, &readSet)) {
-
- key = newtGetKey();
-
- if (key == NEWT_KEY_RESIZE) {
- /* newtResizeScreen(1); */
- continue;
- }
-
- for (i = 0; i < form->numHotKeys; i++) {
- if (form->hotKeys[i] == key) {
- es->reason = NEWT_EXIT_HOTKEY;
- es->u.key = key;
- done = 1;
- break;
- }
- }
-
- if (key == NEWT_KEY_F1 && form->helpTag && form->helpCb)
- form->helpCb(co, form->helpTag);
-
- if (!done) {
- ev.event = EV_KEYPRESS;
- ev.u.key = key;
-
- er = sendEvent(co, ev);
-
- if (er.result == ER_EXITFORM) {
- done = 1;
- es->reason = NEWT_EXIT_COMPONENT;
- es->u.co = form->exitComp;
- }
- }
- } else {
- es->reason = NEWT_EXIT_FDREADY;
- done = 1;
- }
- }
- }
- newtRefresh();
-}
-
-static struct eventResult sendEvent(newtComponent co, struct event ev) {
- struct eventResult er;
-
- ev.when = EV_EARLY;
- er = co->ops->event(co, ev);
-
- if (er.result == ER_IGNORED) {
- ev.when = EV_NORMAL;
- er = co->ops->event(co, ev);
- }
-
- if (er.result == ER_IGNORED) {
- ev.when = EV_LATE;
- er = co->ops->event(co, ev);
- }
-
- return er;
-}
-
-static void gotoComponent(struct form * form, int newComp) {
- struct event ev;
-
- if (form->currComp != -1) {
- ev.event = EV_UNFOCUS;
- sendEvent(form->elements[form->currComp].co, ev);
- }
-
- form->currComp = newComp;
-
- if (form->currComp != -1) {
- ev.event = EV_FOCUS;
- ev.when = EV_NORMAL;
- sendEvent(form->elements[form->currComp].co, ev);
- }
-}
-
-void newtComponentAddCallback(newtComponent co, newtCallback f, void * data) {
- co->callback = f;
- co->callbackData = data;
-}
-
-void newtComponentTakesFocus(newtComponent co, int val) {
- co->takesFocus = val;
-}
-
-void newtFormSetBackground(newtComponent co, int color) {
- struct form * form = co->data;
-
- form->background = color;
-}
-
-void newtFormWatchFd(newtComponent co, int fd, int fdFlags) {
- struct form * form = co->data;
-
- form->fds = realloc(form->fds, (form->numFds + 1) * sizeof(*form->fds));
- form->fds[form->numFds].fd = fd;
- form->fds[form->numFds++].flags = fdFlags;
- if (form->maxFd < fd) form->maxFd = fd;
-}
-
-void newtSetHelpCallback(newtCallback cb) {
- helpCallback = cb;
-}
diff --git a/mdk-stage1/newt/grid.c b/mdk-stage1/newt/grid.c
deleted file mode 100644
index 433011396..000000000
--- a/mdk-stage1/newt/grid.c
+++ /dev/null
@@ -1,389 +0,0 @@
-#include <alloca.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct gridField {
- enum newtGridElement type;
- union {
- newtGrid grid;
- newtComponent co;
- } u;
- int padLeft, padTop, padRight, padBottom;
- int anchor;
- int flags;
-};
-
-struct grid_s {
- int rows, cols;
- int width, height; /* totals, -1 means unknown */
- struct gridField ** fields;
-};
-
-/* this is a bit of a hack */
-extern struct componentOps formOps[];
-
-newtGrid newtCreateGrid(int cols, int rows) {
- newtGrid grid;
-
- grid = malloc(sizeof(*grid));
- grid->rows = rows;
- grid->cols = cols;
-
- grid->fields = malloc(sizeof(*grid->fields) * cols);
- while (cols--) {
- grid->fields[cols] = malloc(sizeof(**(grid->fields)) * rows);
- memset(grid->fields[cols], 0, sizeof(**(grid->fields)) * rows);
- }
-
- grid->width = grid->height = -1;
-
- return grid;
-}
-
-void newtGridSetField(newtGrid grid, int col, int row,
- enum newtGridElement type, void * val, int padLeft,
- int padTop, int padRight, int padBottom, int anchor,
- int flags) {
- struct gridField * field = &grid->fields[col][row];
-
- if (field->type == NEWT_GRID_SUBGRID)
- newtGridFree(field->u.grid, 1);
-
- field->type = type;
- field->u.co = (void *) val;
-
- field->padLeft = padLeft;
- field->padRight = padRight;
- field->padTop = padTop;
- field->padBottom = padBottom;
- field->anchor = anchor;
- field->flags = flags;
-
- grid->width = grid->height = -1;
-}
-
-static void distSpace(int extra, int items, int * list) {
- int all, some, i;
-
- all = extra / items;
- some = extra % items;
- for (i = 0; i < items; i++) {
- list[i] += all;
- if (some) {
- list[i]++;
- some--;
- }
- }
-}
-
-static void shuffleGrid(newtGrid grid, int left, int top, int set) {
- struct gridField * field;
- int row, col;
- int i, j;
- int minWidth, minHeight;
- int * widths, * heights;
- int thisLeft, thisTop;
- int x, y, remx, remy;
-
- widths = alloca(sizeof(*widths) * grid->cols);
- memset(widths, 0, sizeof(*widths) * grid->cols);
- heights = alloca(sizeof(*heights) * grid->rows);
- memset(heights, 0, sizeof(*heights) * grid->rows);
-
- minWidth = 0;
- for (row = 0; row < grid->rows; row++) {
- i = 0;
- for (col = 0; col < grid->cols; col++) {
- field = &grid->fields[col][row];
- if (field->type == NEWT_GRID_SUBGRID) {
- /* we'll have to redo this later */
- if (field->u.grid->width == -1)
- shuffleGrid(field->u.grid, left, top, 0);
- j = field->u.grid->width;
- } else if (field->type == NEWT_GRID_COMPONENT) {
- if (field->u.co->ops == formOps)
- newtFormSetSize(field->u.co);
- j = field->u.co->width;
- } else
- j = 0;
-
- j += field->padLeft + field->padRight;
-
- if (j > widths[col]) widths[col] = j;
- i += widths[col];
- }
-
- if (i > minWidth) minWidth = i;
- }
-
- minHeight = 0;
- for (col = 0; col < grid->cols; col++) {
- i = 0;
- for (row = 0; row < grid->rows; row++) {
- field = &grid->fields[col][row];
- if (field->type == NEWT_GRID_SUBGRID) {
- /* we'll have to redo this later */
- if (field->u.grid->height == -1)
- shuffleGrid(field->u.grid, 0, 0, 0);
- j = field->u.grid->height;
- } else if (field->type == NEWT_GRID_COMPONENT){
- j = field->u.co->height;
- } else
- j = 0;
-
- j += field->padTop + field->padBottom;
-
- if (j > heights[row]) heights[row] = j;
- i += heights[row];
- }
-
- if (i > minHeight) minHeight = i;
- }
-
- /* this catches the -1 case */
- if (grid->width < minWidth) grid->width = minWidth; /* ack! */
- if (grid->height < minHeight) grid->height = minHeight; /* ditto! */
-
- if (!set) return;
-
- distSpace(grid->width - minWidth, grid->cols, widths);
- distSpace(grid->height - minHeight, grid->rows, heights);
-
- thisTop = top;
- for (row = 0; row < grid->rows; row++) {
- i = 0;
- thisLeft = left;
- for (col = 0; col < grid->cols; col++) {
- field = &grid->fields[col][row];
-
- if (field->type == NEWT_GRID_EMPTY) continue;
-
- x = thisLeft + field->padLeft;
- remx = widths[col] - field->padLeft - field->padRight;
- y = thisTop + field->padTop;
- remy = heights[row] - field->padTop - field->padBottom;
-
- if (field->type == NEWT_GRID_SUBGRID) {
- remx -= field->u.grid->width;
- remy -= field->u.grid->height;
- } else if (field->type == NEWT_GRID_COMPONENT) {
- remx -= field->u.co->width;
- remy -= field->u.co->height;
- }
-
- if (!(field->flags & NEWT_GRID_FLAG_GROWX)) {
- if (field->anchor & NEWT_ANCHOR_RIGHT)
- x += remx;
- else if (!(field->anchor & NEWT_ANCHOR_LEFT))
- x += (remx / 2);
- }
-
- if (!(field->flags & NEWT_GRID_FLAG_GROWY)) {
- if (field->anchor & NEWT_ANCHOR_BOTTOM)
- y += remx;
- else if (!(field->anchor & NEWT_ANCHOR_TOP))
- y += (remy / 2);
- }
-
- if (field->type == NEWT_GRID_SUBGRID) {
- if (field->flags & NEWT_GRID_FLAG_GROWX)
- field->u.grid->width = widths[col] - field->padLeft
- - field->padRight;
- if (field->flags & NEWT_GRID_FLAG_GROWY)
- field->u.grid->height = heights[col] - field->padTop
- - field->padBottom;
-
- shuffleGrid(field->u.grid, x, y, 1);
- } else if (field->type == NEWT_GRID_COMPONENT) {
- field->u.co->ops->place(field->u.co, x, y);
- }
-
- thisLeft += widths[col];
- }
-
- thisTop += heights[row];
- }
-}
-
-void newtGridPlace(newtGrid grid, int left, int top) {
- shuffleGrid(grid, left, top, 1);
-}
-
-void newtGridFree(newtGrid grid, int recurse) {
- int row, col;
-
- for (col = 0; col < grid->cols; col++) {
- if (recurse) {
- for (row = 0; row < grid->rows; row++) {
- if (grid->fields[col][row].type == NEWT_GRID_SUBGRID)
- newtGridFree(grid->fields[col][row].u.grid, 1);
- }
- }
-
- free(grid->fields[col]);
- }
-
- free(grid->fields);
- free(grid);
-}
-
-void newtGridGetSize(newtGrid grid, int * width, int * height) {
- if (grid->width == -1 || grid->height == -1) {
- grid->width = grid->height = -1;
- shuffleGrid(grid, 0, 0, 1);
- }
-
- *width = grid->width;
- *height = grid->height;
-}
-
-void newtGridWrappedWindow(newtGrid grid, char * title) {
- int width, height, offset = 0;
-
- newtGridGetSize(grid, &width, &height);
- if (width < strlen(title) + 2) {
- offset = ((strlen(title) + 2) - width) / 2;
- width = strlen(title) + 2;
- }
- newtCenteredWindow(width + 2, height + 2, title);
- newtGridPlace(grid, 1 + offset, 1);
-}
-
-void newtGridWrappedWindowAt(newtGrid grid, char * title, int left, int top) {
- int width, height;
-
- newtGridGetSize(grid, &width, &height);
- newtOpenWindow(left, top, width + 2, height + 2, title);
- newtGridPlace(grid, 1, 1);
-}
-
-void newtGridAddComponentsToForm(newtGrid grid, newtComponent form,
- int recurse) {
- int row, col;
-
- for (col = 0; col < grid->cols; col++) {
- for (row = 0; row < grid->rows; row++) {
- if (grid->fields[col][row].type == NEWT_GRID_SUBGRID && recurse)
- newtGridAddComponentsToForm(grid->fields[col][row].u.grid,
- form, 1);
- else if (grid->fields[col][row].type == NEWT_GRID_COMPONENT)
- newtFormAddComponent(form, grid->fields[col][row].u.co);
- }
- }
-}
-
-/* this handles up to 50 items */
-static newtGrid stackem(int isVert, enum newtGridElement type1, void * what1,
- va_list args, int close) {
- struct item {
- enum newtGridElement type;
- void * what;
- } items[50];
- int i, num;
- newtGrid grid;
-
- items[0].type = type1, items[0].what = what1, num = 1;
- while (1) {
- items[num].type = va_arg(args, enum newtGridElement);
- if (items[num].type == NEWT_GRID_EMPTY) break;
-
- items[num].what = va_arg(args, void *);
- num++;
- }
-
- grid = newtCreateGrid(isVert ? 1 : num, isVert ? num : 1);
-
- for (i = 0; i < num; i++) {
- newtGridSetField(grid, isVert ? 0 : i, isVert ? i : 0,
- items[i].type, items[i].what,
- close ? 0 : (i ? (isVert ? 0 : 1) : 0),
- close ? 0 : (i ? (isVert ? 1 : 0) : 0), 0, 0, 0, 0);
- }
-
- return grid;
-}
-
-newtGrid newtGridHCloseStacked(enum newtGridElement type1, void * what1, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, what1);
-
- grid = stackem(0, type1, what1, args, 1);
-
- va_start(args, what1);
-
- return grid;
-}
-
-newtGrid newtGridVCloseStacked(enum newtGridElement type1, void * what1, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, what1);
-
- grid = stackem(1, type1, what1, args, 1);
-
- va_start(args, what1);
-
- return grid;
-}
-
-newtGrid newtGridVStacked(enum newtGridElement type1, void * what1, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, what1);
-
- grid = stackem(1, type1, what1, args, 0);
-
- va_start(args, what1);
-
- return grid;
-}
-
-newtGrid newtGridHStacked(enum newtGridElement type1, void * what1, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, what1);
-
- grid = stackem(0, type1, what1, args, 0);
-
- va_start(args, what1);
-
- return grid;
-}
-
-newtGrid newtGridBasicWindow(newtComponent text, newtGrid middle,
- newtGrid buttons) {
- newtGrid grid;
-
- grid = newtCreateGrid(1, 3);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, text,
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, middle,
- 0, 1, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttons,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
-
- return grid;
-}
-
-newtGrid newtGridSimpleWindow(newtComponent text, newtComponent middle,
- newtGrid buttons) {
- newtGrid grid;
-
- grid = newtCreateGrid(1, 3);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, text,
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_COMPONENT, middle,
- 0, 1, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttons,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
-
- return grid;
-}
diff --git a/mdk-stage1/newt/label.c b/mdk-stage1/newt/label.c
deleted file mode 100644
index f1a9cebbf..000000000
--- a/mdk-stage1/newt/label.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct label {
- char * text;
- int length;
-};
-
-static void labelDraw(newtComponent co);
-static void labelDestroy(newtComponent co);
-
-static struct componentOps labelOps = {
- labelDraw,
- newtDefaultEventHandler,
- labelDestroy,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-newtComponent newtLabel(int left, int top, const char * text) {
- newtComponent co;
- struct label * la;
-
- co = malloc(sizeof(*co));
- la = malloc(sizeof(struct label));
- co->data = la;
-
- co->ops = &labelOps;
-
- co->height = 1;
- co->width = strlen(text);
- co->top = top;
- co->left = left;
- co->takesFocus = 0;
-
- la->length = strlen(text);
- la->text = strdup(text);
-
- return co;
-}
-
-void newtLabelSetText(newtComponent co, const char * text) {
- int newLength;
- struct label * la = co->data;
-
- newLength = strlen(text);
- if (newLength <= la->length) {
- memset(la->text, ' ', la->length);
- memcpy(la->text, text, newLength);
- } else {
- free(la->text);
- la->text = strdup(text);
- la->length = newLength;
- co->width = newLength;
- }
-
- labelDraw(co);
-}
-
-static void labelDraw(newtComponent co) {
- struct label * la = co->data;
-
- if (co->isMapped == -1) return;
-
- SLsmg_set_color(COLORSET_LABEL);
-
- newtGotorc(co->top, co->left);
- SLsmg_write_string(la->text);
-}
-
-static void labelDestroy(newtComponent co) {
- struct label * la = co->data;
-
- free(la->text);
- free(la);
- free(co);
-}
diff --git a/mdk-stage1/newt/listbox.c b/mdk-stage1/newt/listbox.c
deleted file mode 100644
index ef276aeb4..000000000
--- a/mdk-stage1/newt/listbox.c
+++ /dev/null
@@ -1,752 +0,0 @@
-/* This goofed-up box whacked into shape by Elliot Lee <sopwith@cuc.edu>
- (from the original listbox by Erik Troan <ewt@redhat.com>)
- and contributed to newt for use under the LGPL license.
- Copyright (C) 1996, 1997 Elliot Lee */
-
-#include <slang.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-
-/* Linked list of items in the listbox */
-struct items {
- char * text;
- const void *data;
- unsigned char isSelected;
- struct items *next;
-};
-
-/* Holds all the relevant information for this listbox */
-struct listbox {
- newtComponent sb; /* Scrollbar on right side of listbox */
- int curWidth; /* size of text w/o scrollbar or border*/
- int curHeight; /* size of text w/o border */
- int sbAdjust;
- int bdxAdjust, bdyAdjust;
- int numItems, numSelected;
- int userHasSetWidth;
- int currItem, startShowItem; /* startShowItem is the first item displayed
- on the screen */
- int isActive; /* If we handle key events all the time, it seems
- to do things even when they are supposed to be for
- another button/whatever */
- struct items *boxItems;
- int grow;
- int flags; /* flags for this listbox, right now just
- NEWT_FLAG_RETURNEXIT */
-};
-
-static void listboxDraw(newtComponent co);
-static void listboxDestroy(newtComponent co);
-static struct eventResult listboxEvent(newtComponent co, struct event ev);
-static void newtListboxRealSetCurrent(newtComponent co);
-static void listboxPlace(newtComponent co, int newLeft, int newTop);
-static inline void updateWidth(newtComponent co, struct listbox * li,
- int maxField);
-static void listboxMapped(newtComponent co, int isMapped);
-
-static struct componentOps listboxOps = {
- listboxDraw,
- listboxEvent,
- listboxDestroy,
- listboxPlace,
- listboxMapped,
-};
-
-static void listboxMapped(newtComponent co, int isMapped) {
- struct listbox * li = co->data;
-
- co->isMapped = isMapped;
- if (li->sb)
- li->sb->ops->mapped(li->sb, isMapped);
-}
-
-static void listboxPlace(newtComponent co, int newLeft, int newTop) {
- struct listbox * li = co->data;
-
- co->top = newTop;
- co->left = newLeft;
-
- if (li->sb)
- li->sb->ops->place(li->sb, co->left + co->width - li->bdxAdjust - 1,
- co->top);
-}
-
-newtComponent newtListbox(int left, int top, int height, int flags) {
- newtComponent co, sb;
- struct listbox * li;
-
- if (!(co = malloc(sizeof(*co))))
- return NULL;
-
- if (!(li = malloc(sizeof(struct listbox)))) {
- free(co);
- return NULL;
- }
-
- li->boxItems = NULL;
- li->numItems = 0;
- li->currItem = 0;
- li->numSelected = 0;
- li->isActive = 0;
- li->userHasSetWidth = 0;
- li->startShowItem = 0;
- li->sbAdjust = 0;
- li->bdxAdjust = 0;
- li->bdyAdjust = 0;
- li->flags = flags & (NEWT_FLAG_RETURNEXIT | NEWT_FLAG_BORDER |
- NEWT_FLAG_MULTIPLE);
-
- if (li->flags & NEWT_FLAG_BORDER) {
- li->bdxAdjust = 2;
- li->bdyAdjust = 1;
- }
-
- co->height = height;
- li->curHeight = co->height - (2 * li->bdyAdjust);
-
- if (height) {
- li->grow = 0;
- if (flags & NEWT_FLAG_SCROLL) {
- sb = newtVerticalScrollbar(left, top + li->bdyAdjust,
- li->curHeight,
- COLORSET_LISTBOX, COLORSET_ACTLISTBOX);
- li->sbAdjust = 3;
- } else {
- sb = NULL;
- }
- } else {
- li->grow = 1;
- sb = NULL;
- }
-
- li->sb = sb;
- co->data = li;
- co->isMapped = 0;
- co->left = left;
- co->top = top;
- co->ops = &listboxOps;
- co->takesFocus = 1;
- co->callback = NULL;
-
- updateWidth(co, li, 5);
-
- return co;
-}
-
-static inline void updateWidth(newtComponent co, struct listbox * li,
- int maxField) {
- li->curWidth = maxField;
- co->width = li->curWidth + li->sbAdjust + 2 * li->bdxAdjust;
-
- if (li->sb)
- li->sb->left = co->left + co->width - li->bdxAdjust - 1;
-}
-
-void newtListboxSetCurrentByKey(newtComponent co, void * key) {
- struct listbox * li = co->data;
- struct items * item;
- int i;
-
- item = li->boxItems, i = 0;
- while (item && item->data != key)
- item = item->next, i++;
-
- if (item)
- newtListboxSetCurrent(co, i);
-}
-
-void newtListboxSetCurrent(newtComponent co, int num)
-{
- struct listbox * li = co->data;
-
- if (num >= li->numItems)
- li->currItem = li->numItems - 1;
- else if (num < 0)
- li->currItem = 0;
- else
- li->currItem = num;
-
- if (li->currItem < li->startShowItem)
- li->startShowItem = li->currItem;
- else if (li->currItem - li->startShowItem > li->curHeight - 1)
- li->startShowItem = li->currItem - li->curHeight + 1;
- if (li->startShowItem + li->curHeight > li->numItems)
- li->startShowItem = li->numItems - li->curHeight;
- if(li->startShowItem < 0)
- li->startShowItem = 0;
-
- newtListboxRealSetCurrent(co);
-}
-
-static void newtListboxRealSetCurrent(newtComponent co)
-{
- struct listbox * li = co->data;
-
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
-}
-
-void newtListboxSetWidth(newtComponent co, int width) {
- struct listbox * li = co->data;
-
- co->width = width;
- li->curWidth = co->width - li->sbAdjust - 2 * li->bdxAdjust;
- li->userHasSetWidth = 1;
- if (li->sb) li->sb->left = co->width + co->left - 1;
- listboxDraw(co);
-}
-
-void * newtListboxGetCurrent(newtComponent co) {
- struct listbox * li = co->data;
- int i;
- struct items *item;
-
- for(i = 0, item = li->boxItems; item != NULL && i < li->currItem;
- i++, item = item->next);
-
- if (item)
- return (void *)item->data;
- else
- return NULL;
-}
-
-void newtListboxSelectItem(newtComponent co, const void * key,
- enum newtFlagsSense sense)
-{
- struct listbox * li = co->data;
- int i;
- struct items * item;
-
- item = li->boxItems, i = 0;
- while (item && item->data != key)
- item = item->next, i++;
-
- if (!item) return;
-
- if (item->isSelected)
- li->numSelected--;
-
- switch(sense) {
- case NEWT_FLAGS_RESET:
- item->isSelected = 0; break;
- case NEWT_FLAGS_SET:
- item->isSelected = 1; break;
- case NEWT_FLAGS_TOGGLE:
- item->isSelected = !item->isSelected;
- }
-
- if (item->isSelected)
- li->numSelected++;
-
- listboxDraw(co);
-}
-
-void newtListboxClearSelection(newtComponent co)
-{
- struct items *item;
- struct listbox * li = co->data;
-
- for(item = li->boxItems; item != NULL;
- item = item->next)
- item->isSelected = 0;
- li->numSelected = 0;
- listboxDraw(co);
-}
-
-/* Free the returned array after use, but NOT the values in the array */
-void ** newtListboxGetSelection(newtComponent co, int *numitems)
-{
- struct listbox * li;
- int i;
- void **retval;
- struct items *item;
-
- if(!co || !numitems) return NULL;
-
- li = co->data;
- if(!li || !li->numSelected) return NULL;
-
- retval = malloc(li->numSelected * sizeof(void *));
- for(i = 0, item = li->boxItems; item != NULL;
- item = item->next)
- if(item->isSelected)
- retval[i++] = (void *)item->data;
- *numitems = li->numSelected;
- return retval;
-}
-
-void newtListboxSetEntry(newtComponent co, int num, const char * text) {
- struct listbox * li = co->data;
- int i;
- struct items *item;
-
- for(i = 0, item = li->boxItems; item != NULL && i < num;
- i++, item = item->next);
-
- if(!item)
- return;
- else {
- free(item->text);
- item->text = strdup(text);
- }
- if (li->userHasSetWidth == 0 && strlen(text) > li->curWidth) {
- updateWidth(co, li, strlen(text));
- }
-
- if (num >= li->startShowItem && num <= li->startShowItem + co->height)
- listboxDraw(co);
-}
-
-void newtListboxSetData(newtComponent co, int num, void * data) {
- struct listbox * li = co->data;
- int i;
- struct items *item;
-
- for(i = 0, item = li->boxItems; item != NULL && i < num;
- i++, item = item->next);
-
- item->data = data;
-}
-
-int newtListboxAppendEntry(newtComponent co, const char * text,
- const void * data) {
- struct listbox * li = co->data;
- struct items *item;
-
- if(li->boxItems) {
- for (item = li->boxItems; item->next != NULL; item = item->next);
-
- item = item->next = malloc(sizeof(struct items));
- } else {
- item = li->boxItems = malloc(sizeof(struct items));
- }
-
- if (!li->userHasSetWidth && text && (strlen(text) > li->curWidth))
- updateWidth(co, li, strlen(text));
-
- item->text = strdup(text); item->data = data; item->next = NULL;
- item->isSelected = 0;
-
- if (li->grow)
- co->height++, li->curHeight++;
- li->numItems++;
-
- return 0;
-}
-
-int newtListboxInsertEntry(newtComponent co, const char * text,
- const void * data, void * key) {
- struct listbox * li = co->data;
- struct items *item, *t;
-
- if (li->boxItems) {
- if (key) {
- item = li->boxItems;
- while (item && item->data != key) item = item->next;
-
- if (!item) return 1;
-
- t = item->next;
- item = item->next = malloc(sizeof(struct items));
- item->next = t;
- } else {
- t = li->boxItems;
- item = li->boxItems = malloc(sizeof(struct items));
- item->next = t;
- }
- } else if (key) {
- return 1;
- } else {
- item = li->boxItems = malloc(sizeof(struct items));
- item->next = NULL;
- }
-
- if (!li->userHasSetWidth && text && (strlen(text) > li->curWidth))
- updateWidth(co, li, strlen(text));
-
- item->text = strdup(text?text:"(null)"); item->data = data;
- item->isSelected = 0;
-
- if (li->sb)
- li->sb->left = co->left + co->width - li->bdxAdjust - 1;
- li->numItems++;
-
- listboxDraw(co);
-
- return 0;
-}
-
-int newtListboxDeleteEntry(newtComponent co, void * key) {
- struct listbox * li = co->data;
- int widest = 0, t;
- struct items *item, *item2 = NULL;
- int num;
-
- if (li->boxItems == NULL || li->numItems <= 0)
- return 0;
-
- num = 0;
-
- item2 = NULL, item = li->boxItems;
- while (item && item->data != key) {
- item2 = item;
- item = item->next;
- num++;
- }
-
- if (!item)
- return -1;
-
- if (item2)
- item2->next = item->next;
- else
- li->boxItems = item->next;
-
- free(item->text);
- free(item);
- li->numItems--;
-
- if (!li->userHasSetWidth) {
- widest = 0;
- for (item = li->boxItems; item != NULL; item = item->next)
- if ((t = strlen(item->text)) > widest) widest = t;
- }
-
- if (li->currItem >= num)
- li->currItem--;
-
- if (!li->userHasSetWidth) {
- updateWidth(co, li, widest);
- }
-
- listboxDraw(co);
-
- return 0;
-}
-
-void newtListboxClear(newtComponent co)
-{
- struct listbox * li;
- struct items *anitem, *nextitem;
- if(co == NULL || (li = co->data) == NULL)
- return;
- for(anitem = li->boxItems; anitem != NULL; anitem = nextitem) {
- nextitem = anitem->next;
- free(anitem->text);
- free(anitem);
- }
- li->numItems = li->numSelected = li->currItem = li->startShowItem = 0;
- li->boxItems = NULL;
- if (!li->userHasSetWidth)
- updateWidth(co, li, 5);
-}
-
-/* If you don't want to get back the text, pass in NULL for the ptr-ptr. Same
- goes for the data. */
-void newtListboxGetEntry(newtComponent co, int num, char **text, void **data) {
- struct listbox * li = co->data;
- int i;
- struct items *item;
-
- if (!li->boxItems || num >= li->numItems) {
- if(text)
- *text = NULL;
- if(data)
- *data = NULL;
- return;
- }
-
- i = 0;
- item = li->boxItems;
- while (item && i < num) {
- i++, item = item->next;
- }
-
- if (item) {
- if (text)
- *text = item->text;
- if (data)
- *data = (void *)item->data;
- }
-}
-
-static void listboxDraw(newtComponent co)
-{
- struct listbox * li = co->data;
- struct items *item;
- int i, j;
-
- if (!co->isMapped) return ;
-
- if(li->flags & NEWT_FLAG_BORDER) {
- if(li->isActive)
- SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
- else
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
-
- newtDrawBox(co->left, co->top, co->width, co->height, 0);
- }
-
- if(li->sb)
- li->sb->ops->draw(li->sb);
-
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
-
- for(i = 0, item = li->boxItems; item != NULL && i < li->startShowItem;
- i++, item = item->next);
-
- j = i;
-
- for (i = 0; item != NULL && i < li->curHeight; i++, item = item->next) {
- if (!item->text) continue;
-
- newtGotorc(co->top + i + li->bdyAdjust, co->left + li->bdxAdjust);
- if(j + i == li->currItem) {
- if(item->isSelected)
- SLsmg_set_color(NEWT_COLORSET_ACTSELLISTBOX);
- else
- SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
- } else if(item->isSelected)
- SLsmg_set_color(NEWT_COLORSET_SELLISTBOX);
- else
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
-
- SLsmg_write_nstring(item->text, li->curWidth);
-
- }
- newtGotorc(co->top + (li->currItem - li->startShowItem), co->left);
-}
-
-static struct eventResult listboxEvent(newtComponent co, struct event ev) {
- struct eventResult er;
- struct listbox * li = co->data;
- struct items *item;
- int i;
-
- er.result = ER_IGNORED;
-
- if(ev.when == EV_EARLY || ev.when == EV_LATE) {
- return er;
- }
-
- switch(ev.event) {
- case EV_KEYPRESS:
- if (!li->isActive) break;
-
- switch(ev.u.key) {
- case ' ':
- if(!(li->flags & NEWT_FLAG_MULTIPLE)) break;
- newtListboxSelectItem(co, li->boxItems[li->currItem].data,
- NEWT_FLAGS_TOGGLE);
- er.result = ER_SWALLOWED;
- /* We don't break here, because it is cool to be able to
- hold space to select a bunch of items in a list at once */
-
- case NEWT_KEY_DOWN:
- if(li->numItems <= 0) break;
- if(li->currItem < li->numItems - 1) {
- li->currItem++;
- if(li->currItem > (li->startShowItem + li->curHeight - 1)) {
- li->startShowItem = li->currItem - li->curHeight + 1;
- if(li->startShowItem + li->curHeight > li->numItems)
- li->startShowItem = li->numItems - li->curHeight;
- }
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- }
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_ENTER:
- if(li->numItems <= 0) break;
- if(li->flags & NEWT_FLAG_RETURNEXIT)
- er.result = ER_EXITFORM;
- break;
-
- case NEWT_KEY_UP:
- if(li->numItems <= 0) break;
- if(li->currItem > 0) {
- li->currItem--;
- if(li->currItem < li->startShowItem)
- li->startShowItem = li->currItem;
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- }
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_PGUP:
- if(li->numItems <= 0) break;
- li->startShowItem -= li->curHeight - 1;
- if(li->startShowItem < 0)
- li->startShowItem = 0;
- li->currItem -= li->curHeight - 1;
- if(li->currItem < 0)
- li->currItem = 0;
- newtListboxRealSetCurrent(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_PGDN:
- if(li->numItems <= 0) break;
- li->startShowItem += li->curHeight;
- if(li->startShowItem > (li->numItems - li->curHeight)) {
- li->startShowItem = li->numItems - li->curHeight;
- }
- li->currItem += li->curHeight;
- if(li->currItem >= li->numItems) {
- li->currItem = li->numItems - 1;
- }
- newtListboxRealSetCurrent(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_HOME:
- if(li->numItems <= 0) break;
- newtListboxSetCurrent(co, 0);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_END:
- if(li->numItems <= 0) break;
- li->startShowItem = li->numItems - li->curHeight;
- if(li->startShowItem < 0)
- li->startShowItem = 0;
- li->currItem = li->numItems - 1;
- newtListboxRealSetCurrent(co);
- er.result = ER_SWALLOWED;
- break;
- default:
- if (li->numItems <= 0) break;
- if (ev.u.key < NEWT_KEY_EXTRA_BASE && isalpha(ev.u.key)) {
- for(i = 0, item = li->boxItems; item != NULL &&
- i < li->currItem; i++, item = item->next);
-
- if (item && item->text && (toupper(*item->text) == toupper(ev.u.key))) {
- item = item->next;
- i++;
- } else {
- item = li->boxItems;
- i = 0;
- }
- while (item && item->text &&
- toupper(*item->text) != toupper(ev.u.key)) {
- item = item->next;
- i++;
- }
- if (item) {
- li->currItem = i;
- if(li->currItem < li->startShowItem ||
- li->currItem > li->startShowItem)
- li->startShowItem =
- li->currItem > li->numItems - li->curHeight ?
- li->startShowItem = li->numItems - li->curHeight :
- li->currItem;
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- newtListboxRealSetCurrent(co);
- er.result = ER_SWALLOWED;
- }
- }
- }
- break;
-
- case EV_FOCUS:
- li->isActive = 1;
- listboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- li->isActive = 0;
- listboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_MOUSE:
- /* if this mouse click was within the listbox, make the current
- item the item clicked on. */
- /* Up scroll arrow */
- if (li->sb &&
- ev.u.mouse.x == co->left + co->width - li->bdxAdjust - 1 &&
- ev.u.mouse.y == co->top + li->bdyAdjust) {
- if(li->numItems <= 0) break;
- if(li->currItem > 0) {
- li->currItem--;
- if(li->currItem < li->startShowItem)
- li->startShowItem = li->currItem;
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- }
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
- }
- /* Down scroll arrow */
- if (li->sb &&
- ev.u.mouse.x == co->left + co->width - li->bdxAdjust - 1 &&
- ev.u.mouse.y == co->top + co->height - li->bdyAdjust - 1) {
- if(li->numItems <= 0) break;
- if(li->currItem < li->numItems - 1) {
- li->currItem++;
- if(li->currItem > (li->startShowItem + li->curHeight - 1)) {
- li->startShowItem = li->currItem - li->curHeight + 1;
- if(li->startShowItem + li->curHeight > li->numItems)
- li->startShowItem = li->numItems - li->curHeight;
- }
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- }
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
- }
- if ((ev.u.mouse.y >= co->top + li->bdyAdjust) &&
- (ev.u.mouse.y <= co->top + co->height - (li->bdyAdjust * 2)) &&
- (ev.u.mouse.x >= co->left + li->bdxAdjust) &&
- (ev.u.mouse.x <= co->left + co->width + (li->bdxAdjust * 2))) {
- li->currItem = li->startShowItem +
- (ev.u.mouse.y - li->bdyAdjust - co->top);
- newtListboxRealSetCurrent(co);
- listboxDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
- }
- }
-
- return er;
-}
-
-static void listboxDestroy(newtComponent co) {
- struct listbox * li = co->data;
- struct items * item, * nextitem;
-
- nextitem = item = li->boxItems;
-
- while (item != NULL) {
- nextitem = item->next;
- free(item->text);
- free(item);
- item = nextitem;
- }
-
- if (li->sb) li->sb->ops->destroy(li->sb);
-
- free(li);
- free(co);
-}
diff --git a/mdk-stage1/newt/newt.c b/mdk-stage1/newt/newt.c
deleted file mode 100644
index 1cfe3ac93..000000000
--- a/mdk-stage1/newt/newt.c
+++ /dev/null
@@ -1,672 +0,0 @@
-#include <slang.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/signal.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <termios.h>
-#include <unistd.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct Window {
- int height, width, top, left;
- short * buffer;
- char * title;
-};
-
-struct keymap {
- char * str;
- int code;
- char * tc;
-};
-
-static struct Window windowStack[20];
-static struct Window * currentWindow = NULL;
-
-static char * helplineStack[20];
-static char ** currentHelpline = NULL;
-
-static int cursorRow, cursorCol;
-static int needResize;
-static int cursorOn = 1;
-
-static const char * defaultHelpLine =
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
-;
-
-const struct newtColors newtDefaultColorPalette = {
- "cyan", "black", /* root fg, bg */
- "black", "blue", /* border fg, bg */
- "white", "blue", /* window fg, bg */
- "white", "black", /* shadow fg, bg */
- "white", "blue", /* title fg, bg */
- "black", "cyan", /* button fg, bg */
- "yellow", "cyan", /* active button fg, bg */
- "yellow", "blue", /* checkbox fg, bg */
- "blue", "brown", /* active checkbox fg, bg */
- "yellow", "blue", /* entry box fg, bg */
- "white", "blue", /* label fg, bg */
- "black", "cyan", /* listbox fg, bg */
- "yellow", "cyan", /* active listbox fg, bg */
- "white", "blue", /* textbox fg, bg */
- "cyan", "black", /* active textbox fg, bg */
- "white", "blue", /* help line */
- "yellow", "blue", /* root text */
- "blue", /* scale full */
- "red", /* scale empty */
- "blue", "cyan", /* disabled entry fg, bg */
- "white", "blue", /* compact button fg, bg */
- "yellow", "red", /* active & sel listbox */
- "black", "brown" /* selected listbox */
-};
-
-static const struct keymap keymap[] = {
- { "\033OA", NEWT_KEY_UP, "kh" },
- { "\033[A", NEWT_KEY_UP, "ku" },
- { "\033OB", NEWT_KEY_DOWN, "kd" },
- { "\033[B", NEWT_KEY_DOWN, "kd" },
- { "\033[C", NEWT_KEY_RIGHT, "kr" },
- { "\033OC", NEWT_KEY_RIGHT, "kr" },
- { "\033[D", NEWT_KEY_LEFT, "kl" },
- { "\033OD", NEWT_KEY_LEFT, "kl" },
- { "\033[H", NEWT_KEY_HOME, "kh" },
- { "\033[1~", NEWT_KEY_HOME, "kh" },
- { "\033Ow", NEWT_KEY_END, "kH" },
- { "\033[4~", NEWT_KEY_END, "kH" },
-
- { "\033[3~", NEWT_KEY_DELETE, "kl" },
- { "\033[2~", NEWT_KEY_INSERT, NULL },
-
- { "\033\t", NEWT_KEY_UNTAB, NULL },
-
- { "\033[5~", NEWT_KEY_PGUP, NULL },
- { "\033[6~", NEWT_KEY_PGDN, NULL },
- { "\033V", NEWT_KEY_PGUP, "kH" },
- { "\033v", NEWT_KEY_PGUP, "kH" },
-
- { "\033[[A", NEWT_KEY_F1, NULL },
- { "\033[[B", NEWT_KEY_F2, NULL },
- { "\033[[C", NEWT_KEY_F3, NULL },
- { "\033[[D", NEWT_KEY_F4, NULL },
- { "\033[[E", NEWT_KEY_F5, NULL },
-
- { "\033OP", NEWT_KEY_F1, NULL },
- { "\033OQ", NEWT_KEY_F2, NULL },
- { "\033OR", NEWT_KEY_F3, NULL },
- { "\033OS", NEWT_KEY_F4, NULL },
-
- { "\033[11~", NEWT_KEY_F1, NULL },
- { "\033[12~", NEWT_KEY_F2, NULL },
- { "\033[13~", NEWT_KEY_F3, NULL },
- { "\033[14~", NEWT_KEY_F4, NULL },
- { "\033[15~", NEWT_KEY_F5, NULL },
- { "\033[17~", NEWT_KEY_F6, NULL },
- { "\033[18~", NEWT_KEY_F7, NULL },
- { "\033[19~", NEWT_KEY_F8, NULL },
- { "\033[20~", NEWT_KEY_F9, NULL },
- { "\033[21~", NEWT_KEY_F10, NULL },
- { "\033[23~", NEWT_KEY_F11, NULL },
- { "\033[24~", NEWT_KEY_F12, NULL },
-
- { NULL, 0, NULL }, /* LEAVE this one */
-};
-static char keyPrefix = '\033';
-
-static const char * version = "Newt windowing library version " VERSION
- " - (C) 1996-2000 Red Hat Software. "
- "Redistributable under the term of the Library "
- "GNU Public License. "
- "Written by Erik Troan\n";
-
-static newtSuspendCallback suspendCallback = NULL;
-static void * suspendCallbackData = NULL;
-
-void newtSetSuspendCallback(newtSuspendCallback cb, void * data) {
- suspendCallback = cb;
- suspendCallbackData = data;
-}
-
-static void handleSigwinch(int signum) {
- needResize = 1;
-}
-
-static int getkeyInterruptHook(void) {
- return -1;
-}
-
-void newtFlushInput(void) {
- while (SLang_input_pending(0)) {
- SLang_getkey();
- }
-}
-
-void newtRefresh(void) {
- SLsmg_refresh();
-}
-
-void newtSuspend(void) {
- SLtt_set_cursor_visibility (1);
- SLsmg_suspend_smg();
- SLang_reset_tty();
- SLtt_set_cursor_visibility (cursorOn);
-}
-
-void newtResume(void) {
- SLsmg_resume_smg ();
- SLsmg_refresh();
- SLang_init_tty(0, 0, 0);
-}
-
-void newtCls(void) {
- SLsmg_set_color(NEWT_COLORSET_ROOT);
- SLsmg_gotorc(0, 0);
- SLsmg_erase_eos();
-
- newtRefresh();
-}
-
-#if defined(THIS_DOESNT_WORK)
-void newtResizeScreen(int redraw) {
- newtPushHelpLine("");
-
- SLtt_get_screen_size();
- SLang_init_tty(0, 0, 0);
-
- SLsmg_touch_lines (0, SLtt_Screen_Rows - 1);
-
- /* I don't know why I need this */
- SLsmg_refresh();
-
- newtPopHelpLine();
-
- if (redraw)
- SLsmg_refresh();
-}
-#endif
-
-int newtInit(void) {
- char * MonoValue, * MonoEnv = "NEWT_MONO";
-
- /* use the version variable just to be sure it gets included */
- strlen(version);
-
- SLtt_get_terminfo();
- SLtt_get_screen_size();
-
- MonoValue = getenv(MonoEnv);
- if ( MonoValue == NULL ) {
- SLtt_Use_Ansi_Colors = 1;
- } else {
- SLtt_Use_Ansi_Colors = 0;
- }
-
- SLsmg_init_smg();
- SLang_init_tty(0, 0, 0);
-
- newtSetColors(newtDefaultColorPalette);
- newtCursorOff();
- /*initKeymap();*/
-
- /*memset(&sa, 0, sizeof(sa));
- sa.sa_handler = handleSigwinch;
- sigaction(SIGWINCH, &sa, NULL);*/
-
- SLsignal_intr(SIGWINCH, handleSigwinch);
- SLang_getkey_intr_hook = getkeyInterruptHook;
-
-
-
- return 0;
-}
-
-int newtFinished(void) {
- SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
- newtCursorOn();
- SLsmg_refresh();
- SLsmg_reset_smg();
- SLang_reset_tty();
-
- return 0;
-}
-
-void newtSetColors(struct newtColors colors) {
- SLtt_set_color(NEWT_COLORSET_ROOT, "", colors.rootFg, colors.rootBg);
- SLtt_set_color(NEWT_COLORSET_BORDER, "", colors.borderFg, colors.borderBg);
- SLtt_set_color(NEWT_COLORSET_WINDOW, "", colors.windowFg, colors.windowBg);
- SLtt_set_color(NEWT_COLORSET_SHADOW, "", colors.shadowFg, colors.shadowBg);
- SLtt_set_color(NEWT_COLORSET_TITLE, "", colors.titleFg, colors.titleBg);
- SLtt_set_color(NEWT_COLORSET_BUTTON, "", colors.buttonFg, colors.buttonBg);
- SLtt_set_color(NEWT_COLORSET_ACTBUTTON, "", colors.actButtonFg,
- colors.actButtonBg);
- SLtt_set_color(NEWT_COLORSET_CHECKBOX, "", colors.checkboxFg,
- colors.checkboxBg);
- SLtt_set_color(NEWT_COLORSET_ACTCHECKBOX, "", colors.actCheckboxFg,
- colors.actCheckboxBg);
- SLtt_set_color(NEWT_COLORSET_ENTRY, "", colors.entryFg, colors.entryBg);
- SLtt_set_color(NEWT_COLORSET_LABEL, "", colors.labelFg, colors.labelBg);
- SLtt_set_color(NEWT_COLORSET_LISTBOX, "", colors.listboxFg,
- colors.listboxBg);
- SLtt_set_color(NEWT_COLORSET_ACTLISTBOX, "", colors.actListboxFg,
- colors.actListboxBg);
- SLtt_set_color(NEWT_COLORSET_TEXTBOX, "", colors.textboxFg,
- colors.textboxBg);
- SLtt_set_color(NEWT_COLORSET_ACTTEXTBOX, "", colors.actTextboxFg,
- colors.actTextboxBg);
- SLtt_set_color(NEWT_COLORSET_HELPLINE, "", colors.helpLineFg,
- colors.helpLineBg);
- SLtt_set_color(NEWT_COLORSET_ROOTTEXT, "", colors.rootTextFg,
- colors.rootTextBg);
-
- SLtt_set_color(NEWT_COLORSET_EMPTYSCALE, "", "black",
- colors.emptyScale);
- SLtt_set_color(NEWT_COLORSET_FULLSCALE, "", "black",
- colors.fullScale);
- SLtt_set_color(NEWT_COLORSET_DISENTRY, "", colors.disabledEntryFg,
- colors.disabledEntryBg);
-
- SLtt_set_color(NEWT_COLORSET_COMPACTBUTTON, "", colors.compactButtonFg,
- colors.compactButtonBg);
-
- SLtt_set_color(NEWT_COLORSET_ACTSELLISTBOX, "", colors.actSelListboxFg,
- colors.actSelListboxBg);
- SLtt_set_color(NEWT_COLORSET_SELLISTBOX, "", colors.selListboxFg,
- colors.selListboxBg);
-}
-
-int newtGetKey(void) {
- int key;
- char buf[10], * chptr = buf;
- const struct keymap * curr;
-
- do {
- key = SLang_getkey();
- if (key == 0xFFFF) {
- if (needResize)
- return NEWT_KEY_RESIZE;
-
- /* ignore other signals */
- continue;
- }
-
- if (key == NEWT_KEY_SUSPEND && suspendCallback)
- suspendCallback(suspendCallbackData);
- } while (key == NEWT_KEY_SUSPEND);
-
- switch (key) {
- case 'v' | 0x80:
- case 'V' | 0x80:
- return NEWT_KEY_PGUP;
-
- case 22:
- return NEWT_KEY_PGDN;
-
- return NEWT_KEY_BKSPC;
- case 0x7f:
- return NEWT_KEY_BKSPC;
-
- case 0x08:
- return NEWT_KEY_BKSPC;
-
- default:
- if (key != keyPrefix) return key;
- }
-
- memset(buf, 0, sizeof(buf));
-
- *chptr++ = key;
- while (SLang_input_pending(5)) {
- key = SLang_getkey();
- if (key == keyPrefix) {
- /* he hit unknown keys too many times -- start over */
- memset(buf, 0, sizeof(buf));
- chptr = buf;
- }
-
- *chptr++ = key;
-
- /* this search should use bsearch(), but when we only look through
- a list of 20 (or so) keymappings, it's probably faster just to
- do a inline linear search */
-
- for (curr = keymap; curr->code; curr++) {
- if (curr->str) {
- if (!strcmp(curr->str, buf))
- return curr->code;
- }
- }
- }
-
- for (curr = keymap; curr->code; curr++) {
- if (curr->str) {
- if (!strcmp(curr->str, buf))
- return curr->code;
- }
- }
-
- /* Looks like we were a bit overzealous in reading characters. Return
- just the first character, and put everything else back in the buffer
- for later */
-
- chptr--;
- while (chptr > buf)
- SLang_ungetkey(*chptr--);
-
- return *chptr;
-}
-
-void newtWaitForKey(void) {
- newtRefresh();
-
- SLang_getkey();
- newtClearKeyBuffer();
-}
-
-void newtClearKeyBuffer(void) {
- while (SLang_input_pending(1)) {
- SLang_getkey();
- }
-}
-
-int newtOpenWindow(int left, int top, int width, int height,
- const char * title) {
- int j, row, col;
- int n;
- int i;
-
- newtFlushInput();
-
- if (!currentWindow) {
- currentWindow = windowStack;
- } else {
- currentWindow++;
- }
-
- currentWindow->left = left;
- currentWindow->top = top;
- currentWindow->width = width;
- currentWindow->height = height;
- currentWindow->title = title ? strdup(title) : NULL;
-
- currentWindow->buffer = malloc(sizeof(short) * (width + 3) * (height + 3));
-
- row = top - 1;
- col = left - 1;
- n = 0;
- for (j = 0; j < height + 3; j++, row++) {
- SLsmg_gotorc(row, col);
- SLsmg_read_raw(currentWindow->buffer + n,
- currentWindow->width + 3);
- n += currentWindow->width + 3;
- }
-
- SLsmg_set_color(NEWT_COLORSET_BORDER);
- SLsmg_draw_box(top - 1, left - 1, height + 2, width + 2);
-
- if (currentWindow->title) {
- i = strlen(currentWindow->title) + 4;
- i = ((width - i) / 2) + left;
- SLsmg_gotorc(top - 1, i);
- SLsmg_set_char_set(1);
- SLsmg_write_char(SLSMG_RTEE_CHAR);
- SLsmg_set_char_set(0);
- SLsmg_write_char(' ');
- SLsmg_set_color(NEWT_COLORSET_TITLE);
- SLsmg_write_string((char *)currentWindow->title);
- SLsmg_set_color(NEWT_COLORSET_BORDER);
- SLsmg_write_char(' ');
- SLsmg_set_char_set(1);
- SLsmg_write_char(SLSMG_LTEE_CHAR);
- SLsmg_set_char_set(0);
- }
-
- SLsmg_set_color(NEWT_COLORSET_WINDOW);
- SLsmg_fill_region(top, left, height, width, ' ');
-
- SLsmg_set_color(NEWT_COLORSET_SHADOW);
- SLsmg_fill_region(top + height + 1, left, 1, width + 2, ' ');
- SLsmg_fill_region(top, left + width + 1, height + 1, 1, ' ');
-
- for (i = top; i < (top + height + 1); i++) {
- SLsmg_gotorc(i, left + width + 1);
- SLsmg_write_string(" ");
- }
-
- return 0;
-}
-
-int newtCenteredWindow(int width, int height, const char * title) {
- int top, left;
-
- top = (SLtt_Screen_Rows - height) / 2;
-
- /* I don't know why, but this seems to look better */
- if ((SLtt_Screen_Rows % 2) && (top % 2)) top--;
-
- left = (SLtt_Screen_Cols - width) / 2;
-
- newtOpenWindow(left, top, width, height, title);
-
- return 0;
-}
-
-void newtPopWindow(void) {
- int j, row, col;
- int n = 0;
-
- row = col = 0;
-
- row = currentWindow->top - 1;
- col = currentWindow->left - 1;
- for (j = 0; j < currentWindow->height + 3; j++, row++) {
- SLsmg_gotorc(row, col);
- SLsmg_write_raw(currentWindow->buffer + n,
- currentWindow->width + 3);
- n += currentWindow->width + 3;
- }
-
- free(currentWindow->buffer);
- free(currentWindow->title);
-
- if (currentWindow == windowStack)
- currentWindow = NULL;
- else
- currentWindow--;
-
- SLsmg_set_char_set(0);
-
- newtRefresh();
-}
-
-void newtGetWindowPos(int * x, int * y) {
- if (currentWindow) {
- *x = currentWindow->left;
- *y = currentWindow->top;
- } else
- *x = *y = 0;
-}
-
-void newtGetrc(int * row, int * col) {
- *row = cursorRow;
- *col = cursorCol;
-}
-
-void newtGotorc(int newRow, int newCol) {
- if (currentWindow) {
- newRow += currentWindow->top;
- newCol += currentWindow->left;
- }
-
- cursorRow = newRow;
- cursorCol = newCol;
- SLsmg_gotorc(cursorRow, cursorCol);
-}
-
-void newtDrawBox(int left, int top, int width, int height, int shadow) {
- if (currentWindow) {
- top += currentWindow->top;
- left += currentWindow->left;
- }
-
- SLsmg_draw_box(top, left, height, width);
-
- if (shadow) {
- SLsmg_set_color(NEWT_COLORSET_SHADOW);
- SLsmg_fill_region(top + height, left + 1, 1, width - 1, ' ');
- SLsmg_fill_region(top + 1, left + width, height, 1, ' ');
- }
-}
-
-void newtClearBox(int left, int top, int width, int height) {
- if (currentWindow) {
- top += currentWindow->top;
- left += currentWindow->left;
- }
-
- SLsmg_fill_region(top, left, height, width, ' ');
-}
-
-#if 0
-/* This doesn't seem to work quite right. I don't know why not, but when
- I rsh from an rxvt into a box and run this code, the machine returns
- console key's (\033[B) rather then xterm ones (\033OB). */
-static void initKeymap(void) {
- struct keymap * curr;
-
- for (curr = keymap; curr->code; curr++) {
- if (!curr->str)
- curr->str = SLtt_tgetstr(curr->tc);
- }
-
- /* Newt's keymap handling is a bit broken. It assumes that any extended
- keystrokes begin with ESC. If you're using a homebrek terminal you
- will probably need to fix this, or just yell at me and I'll be so
- ashamed of myself for doing it this way I'll fix it */
-
- keyPrefix = 0x1b; /* ESC */
-}
-#endif
-
-void newtDelay(int usecs) {
- fd_set set;
- struct timeval tv;
-
- FD_ZERO(&set);
-
- tv.tv_sec = usecs / 1000000;
- tv.tv_usec = usecs % 1000000;
-
- select(0, &set, &set, &set, &tv);
-}
-
-struct eventResult newtDefaultEventHandler(newtComponent c,
- struct event ev) {
- struct eventResult er;
-
- er.result = ER_IGNORED;
- return er;
-}
-
-void newtRedrawHelpLine(void) {
- char * buf;
-
- SLsmg_set_color(NEWT_COLORSET_HELPLINE);
-
- buf = alloca(SLtt_Screen_Cols + 1);
- memset(buf, ' ', SLtt_Screen_Cols);
- buf[SLtt_Screen_Cols] = '\0';
-
- if (currentHelpline)
- memcpy(buf, *currentHelpline, strlen(*currentHelpline));
-
- SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
- SLsmg_write_string(buf);
-}
-
-void newtPushHelpLine(const char * text) {
- if (!text)
- text = defaultHelpLine;
-
- if (currentHelpline)
- (*(++currentHelpline)) = strdup(text);
- else {
- currentHelpline = helplineStack;
- *currentHelpline = strdup(text);
- }
-
- newtRedrawHelpLine();
-}
-
-void newtPopHelpLine(void) {
- if (!currentHelpline) return;
-
- free(*currentHelpline);
- if (currentHelpline == helplineStack)
- currentHelpline = NULL;
- else
- currentHelpline--;
-
- newtRedrawHelpLine();
-}
-
-void newtDrawRootText(int col, int row, const char * text) {
- SLsmg_set_color(NEWT_COLORSET_ROOTTEXT);
-
- if (col < 0) {
- col = SLtt_Screen_Cols + col;
- }
-
- if (row < 0) {
- row = SLtt_Screen_Rows + row;
- }
-
- SLsmg_gotorc(row, col);
- SLsmg_write_string((char *)text);
-}
-
-int newtSetFlags(int oldFlags, int newFlags, enum newtFlagsSense sense) {
- switch (sense) {
- case NEWT_FLAGS_SET:
- return oldFlags | newFlags;
-
- case NEWT_FLAGS_RESET:
- return oldFlags & (~newFlags);
-
- case NEWT_FLAGS_TOGGLE:
- return oldFlags ^ newFlags;
-
- default:
- return oldFlags;
- }
-}
-
-void newtBell(void)
-{
- SLtt_beep();
-}
-
-void newtGetScreenSize(int * cols, int * rows) {
- if (rows) *rows = SLtt_Screen_Rows;
- if (cols) *cols = SLtt_Screen_Cols;
-}
-
-void newtDefaultPlaceHandler(newtComponent c, int newLeft, int newTop) {
- c->left = newLeft;
- c->top = newTop;
-}
-
-void newtDefaultMappedHandler(newtComponent c, int isMapped) {
- c->isMapped = isMapped;
-}
-
-void newtCursorOff(void) {
- cursorOn = 0;
- SLtt_set_cursor_visibility (cursorOn);
-}
-
-void newtCursorOn(void) {
- cursorOn = 1;
- SLtt_set_cursor_visibility (cursorOn);
-}
diff --git a/mdk-stage1/newt/newt.h b/mdk-stage1/newt/newt.h
deleted file mode 100644
index d3fd8bedc..000000000
--- a/mdk-stage1/newt/newt.h
+++ /dev/null
@@ -1,362 +0,0 @@
-#ifndef H_NEWT
-#define H_NEWT
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-
-#define NEWT_COLORSET_ROOT 2
-#define NEWT_COLORSET_BORDER 3
-#define NEWT_COLORSET_WINDOW 4
-#define NEWT_COLORSET_SHADOW 5
-#define NEWT_COLORSET_TITLE 6
-#define NEWT_COLORSET_BUTTON 7
-#define NEWT_COLORSET_ACTBUTTON 8
-#define NEWT_COLORSET_CHECKBOX 9
-#define NEWT_COLORSET_ACTCHECKBOX 10
-#define NEWT_COLORSET_ENTRY 11
-#define NEWT_COLORSET_LABEL 12
-#define NEWT_COLORSET_LISTBOX 13
-#define NEWT_COLORSET_ACTLISTBOX 14
-#define NEWT_COLORSET_TEXTBOX 15
-#define NEWT_COLORSET_ACTTEXTBOX 16
-#define NEWT_COLORSET_HELPLINE 17
-#define NEWT_COLORSET_ROOTTEXT 18
-#define NEWT_COLORSET_EMPTYSCALE 19
-#define NEWT_COLORSET_FULLSCALE 20
-#define NEWT_COLORSET_DISENTRY 21
-#define NEWT_COLORSET_COMPACTBUTTON 22
-#define NEWT_COLORSET_ACTSELLISTBOX 23
-#define NEWT_COLORSET_SELLISTBOX 24
-
-#define NEWT_ARG_LAST -100000
-#define NEWT_ARG_APPEND -1
-
-struct newtColors {
- char * rootFg, * rootBg;
- char * borderFg, * borderBg;
- char * windowFg, * windowBg;
- char * shadowFg, * shadowBg;
- char * titleFg, * titleBg;
- char * buttonFg, * buttonBg;
- char * actButtonFg, * actButtonBg;
- char * checkboxFg, * checkboxBg;
- char * actCheckboxFg, * actCheckboxBg;
- char * entryFg, * entryBg;
- char * labelFg, * labelBg;
- char * listboxFg, * listboxBg;
- char * actListboxFg, * actListboxBg;
- char * textboxFg, * textboxBg;
- char * actTextboxFg, * actTextboxBg;
- char * helpLineFg, * helpLineBg;
- char * rootTextFg, * rootTextBg;
- char * emptyScale, * fullScale;
- char * disabledEntryFg, * disabledEntryBg;
- char * compactButtonFg, * compactButtonBg;
- char * actSelListboxFg, * actSelListboxBg;
- char * selListboxFg, * selListboxBg;
-};
-
-enum newtFlagsSense { NEWT_FLAGS_SET, NEWT_FLAGS_RESET, NEWT_FLAGS_TOGGLE };
-
-#define NEWT_FLAG_RETURNEXIT (1 << 0)
-#define NEWT_FLAG_HIDDEN (1 << 1)
-#define NEWT_FLAG_SCROLL (1 << 2)
-#define NEWT_FLAG_DISABLED (1 << 3)
-/* OBSOLETE #define NEWT_FLAG_NOSCROLL (1 << 4) for listboxes */
-#define NEWT_FLAG_BORDER (1 << 5)
-#define NEWT_FLAG_WRAP (1 << 6)
-#define NEWT_FLAG_NOF12 (1 << 7)
-#define NEWT_FLAG_MULTIPLE (1 << 8)
-#define NEWT_FLAG_SELECTED (1 << 9)
-#define NEWT_FLAG_CHECKBOX (1 << 10)
-#define NEWT_FLAG_PASSWORD (1 << 11) /* draw '*' of chars in entrybox */
-#define NEWT_FD_READ (1 << 0)
-#define NEWT_FD_WRITE (1 << 1)
-
-#define NEWT_CHECKBOXTREE_COLLAPSED '\0'
-#define NEWT_CHECKBOXTREE_EXPANDED '\1'
-#define NEWT_CHECKBOXTREE_UNSELECTED ' '
-#define NEWT_CHECKBOXTREE_SELECTED '*'
-
-/* Backwards compatibility */
-#define NEWT_LISTBOX_RETURNEXIT NEWT_FLAG_RETURNEXIT
-#define NEWT_ENTRY_SCROLL NEWT_FLAG_SCROLL
-#define NEWT_ENTRY_HIDDEN NEWT_FLAG_HIDDEN
-#define NEWT_ENTRY_RETURNEXIT NEWT_FLAG_RETURNEXIT
-#define NEWT_ENTRY_DISABLED NEWT_FLAG_DISABLED
-
-#define NEWT_TEXTBOX_WRAP NEWT_FLAG_WRAP
-#define NEWT_TEXTBOX_SCROLL NEWT_FLAG_SCROLL
-#define NEWT_FORM_NOF12 NEWT_FLAG_NOF12
-
-#define newtListboxAddEntry newtListboxAppendEntry
-
-
-typedef struct newtComponent_struct * newtComponent;
-
-extern const struct newtColors newtDefaultColorPalette;
-
-typedef void (*newtCallback)(newtComponent, void *);
-typedef void (*newtSuspendCallback)(void * data);
-
-int newtInit(void);
-int newtFinished(void);
-void newtCls(void);
-void newtResizeScreen(int redraw);
-void newtWaitForKey(void);
-void newtClearKeyBuffer(void);
-void newtDelay(int usecs);
-/* top, left are *not* counting the border */
-int newtOpenWindow(int left, int top, int width, int height,
- const char * title);
-int newtCenteredWindow(int width, int height, const char * title);
-void newtPopWindow(void);
-void newtSetColors(struct newtColors colors);
-void newtRefresh(void);
-void newtSuspend(void);
-void newtSetSuspendCallback(newtSuspendCallback cb, void * data);
-void newtSetHelpCallback(newtCallback cb);
-void newtResume(void);
-void newtPushHelpLine(const char * text);
-void newtRedrawHelpLine(void);
-void newtPopHelpLine(void);
-void newtDrawRootText(int col, int row, const char * text);
-void newtBell(void);
-void newtCursorOff(void);
-void newtCursorOn(void);
-
-/* Components */
-
-newtComponent newtCompactButton(int left, int top, const char * text);
-newtComponent newtButton(int left, int top, const char * text);
-newtComponent newtCheckbox(int left, int top, const char * text, char defValue,
- const char * seq, char * result);
-char newtCheckboxGetValue(newtComponent co);
-void newtCheckboxSetValue(newtComponent co, char value);
-void newtCheckboxSetFlags(newtComponent co, int flags, enum newtFlagsSense sense);
-
-
-newtComponent newtRadiobutton(int left, int top, const char * text, int isDefault,
- newtComponent prevButton);
-newtComponent newtRadioGetCurrent(newtComponent setMember);
-newtComponent newtListitem(int left, int top, const char * text, int isDefault,
- newtComponent prevItem, const void * data, int flags);
-void newtListitemSet(newtComponent co, const char * text);
-void * newtListitemGetData(newtComponent co);
-void newtGetScreenSize(int * cols, int * rows);
-
-newtComponent newtLabel(int left, int top, const char * text);
-void newtLabelSetText(newtComponent co, const char * text);
-newtComponent newtVerticalScrollbar(int left, int top, int height,
- int normalColorset, int thumbColorset);
-void newtScrollbarSet(newtComponent co, int where, int total);
-
-newtComponent newtListbox(int left, int top, int height, int flags);
-void * newtListboxGetCurrent(newtComponent co);
-void newtListboxSetCurrent(newtComponent co, int num);
-void newtListboxSetCurrentByKey(newtComponent co, void * key);
-void newtListboxSetEntry(newtComponent co, int num, const char * text);
-void newtListboxSetWidth(newtComponent co, int width);
-void newtListboxSetData(newtComponent co, int num, void * data);
-int newtListboxAppendEntry(newtComponent co, const char * text,
- const void * data);
-/* Send the key to insert after, or NULL to insert at the top */
-int newtListboxInsertEntry(newtComponent co, const char * text, const void * data, void * key);
-int newtListboxDeleteEntry(newtComponent co, void * data);
-void newtListboxClear(newtComponent co); /* removes all entries from listbox */
-void newtListboxGetEntry(newtComponent co, int num, char **text, void **data);
-/* Returns an array of data pointers from items, last element is NULL */
-void **newtListboxGetSelection(newtComponent co, int *numitems);
-void newtListboxClearSelection(newtComponent co);
-void newtListboxSelectItem(newtComponent co, const void * key,
- enum newtFlagsSense sense);
-
-newtComponent newtCheckboxTree(int left, int top, int height, int flags);
-newtComponent newtCheckboxTreeMulti(int left, int top, int height, char *seq, int flags);
-const void ** newtCheckboxTreeGetSelection(newtComponent co, int *numitems);
-const void * newtCheckboxTreeGetCurrent(newtComponent co);
-const void ** newtCheckboxTreeGetMultiSelection(newtComponent co, int *numitems, char seqnum);
-/* last item is NEWT_ARG_LAST for all of these */
-int newtCheckboxTreeAddItem(newtComponent co,
- const char * text, const void * data,
- int flags, int index, ...);
-int newtCheckboxTreeAddArray(newtComponent co,
- const char * text, const void * data,
- int flags, int * indexes);
-int * newtCheckboxTreeFindItem(newtComponent co, void * data);
-void newtCheckboxTreeSetEntry(newtComponent co, const void * data,
- const char * text);
-char newtCheckboxTreeGetEntryValue(newtComponent co, const void * data);
-void newtCheckboxTreeSetEntryValue(newtComponent co, const void * data,
- char value);
-
-newtComponent newtTextboxReflowed(int left, int top, char * text, int width,
- int flexDown, int flexUp, int flags);
-newtComponent newtTextbox(int left, int top, int width, int height, int flags);
-void newtTextboxSetText(newtComponent co, const char * text);
-void newtTextboxSetHeight(newtComponent co, int height);
-int newtTextboxGetNumLines(newtComponent co);
-char * newtReflowText(char * text, int width, int flexDown, int flexUp,
- int * actualWidth, int * actualHeight);
-
-struct newtExitStruct {
- enum { NEWT_EXIT_HOTKEY, NEWT_EXIT_COMPONENT, NEWT_EXIT_FDREADY,
- NEWT_EXIT_TIMER } reason;
- union {
- int key;
- newtComponent co;
- } u;
-} ;
-
-newtComponent newtForm(newtComponent vertBar, void * helpTag, int flags);
-void newtFormSetTimer(newtComponent form, int millisecs);
-void newtFormWatchFd(newtComponent form, int fd, int fdFlags);
-void newtFormSetSize(newtComponent co);
-newtComponent newtFormGetCurrent(newtComponent co);
-void newtFormSetBackground(newtComponent co, int color);
-void newtFormSetCurrent(newtComponent co, newtComponent subco);
-void newtFormAddComponent(newtComponent form, newtComponent co);
-void newtFormAddComponents(newtComponent form, ...);
-void newtFormSetHeight(newtComponent co, int height);
-void newtFormSetWidth(newtComponent co, int width);
-newtComponent newtRunForm(newtComponent form); /* obsolete */
-void newtFormRun(newtComponent co, struct newtExitStruct * es);
-void newtDrawForm(newtComponent form);
-void newtFormAddHotKey(newtComponent co, int key);
-
-typedef int (*newtEntryFilter)(newtComponent entry, void * data, int ch,
- int cursor);
-newtComponent newtEntry(int left, int top, const char * initialValue, int width,
- char ** resultPtr, int flags);
-void newtEntrySet(newtComponent co, const char * value, int cursorAtEnd);
-void newtEntrySetFilter(newtComponent co, newtEntryFilter filter, void * data);
-char * newtEntryGetValue(newtComponent co);
-void newtEntrySetFlags(newtComponent co, int flags, enum newtFlagsSense sense);
-
-newtComponent newtScale(int left, int top, int width, int fullValue);
-void newtScaleSet(newtComponent co, unsigned int amount);
-
-void newtComponentAddCallback(newtComponent co, newtCallback f, void * data);
-void newtComponentTakesFocus(newtComponent co, int val);
-
-/* this also destroys all of the components (including other forms) on the
- form */
-void newtFormDestroy(newtComponent form);
-
-/* Key codes */
-
-#define NEWT_KEY_TAB '\t'
-#define NEWT_KEY_ENTER '\r'
-#define NEWT_KEY_SUSPEND '\032' /* ctrl - z*/
-#define NEWT_KEY_RETURN NEWT_KEY_ENTER
-
-#define NEWT_KEY_EXTRA_BASE 0x8000
-#define NEWT_KEY_UP NEWT_KEY_EXTRA_BASE + 1
-#define NEWT_KEY_DOWN NEWT_KEY_EXTRA_BASE + 2
-#define NEWT_KEY_LEFT NEWT_KEY_EXTRA_BASE + 4
-#define NEWT_KEY_RIGHT NEWT_KEY_EXTRA_BASE + 5
-#define NEWT_KEY_BKSPC NEWT_KEY_EXTRA_BASE + 6
-#define NEWT_KEY_DELETE NEWT_KEY_EXTRA_BASE + 7
-#define NEWT_KEY_HOME NEWT_KEY_EXTRA_BASE + 8
-#define NEWT_KEY_END NEWT_KEY_EXTRA_BASE + 9
-#define NEWT_KEY_UNTAB NEWT_KEY_EXTRA_BASE + 10
-#define NEWT_KEY_PGUP NEWT_KEY_EXTRA_BASE + 11
-#define NEWT_KEY_PGDN NEWT_KEY_EXTRA_BASE + 12
-#define NEWT_KEY_INSERT NEWT_KEY_EXTRA_BASE + 13
-
-#define NEWT_KEY_F1 NEWT_KEY_EXTRA_BASE + 101
-#define NEWT_KEY_F2 NEWT_KEY_EXTRA_BASE + 102
-#define NEWT_KEY_F3 NEWT_KEY_EXTRA_BASE + 103
-#define NEWT_KEY_F4 NEWT_KEY_EXTRA_BASE + 104
-#define NEWT_KEY_F5 NEWT_KEY_EXTRA_BASE + 105
-#define NEWT_KEY_F6 NEWT_KEY_EXTRA_BASE + 106
-#define NEWT_KEY_F7 NEWT_KEY_EXTRA_BASE + 107
-#define NEWT_KEY_F8 NEWT_KEY_EXTRA_BASE + 108
-#define NEWT_KEY_F9 NEWT_KEY_EXTRA_BASE + 109
-#define NEWT_KEY_F10 NEWT_KEY_EXTRA_BASE + 110
-#define NEWT_KEY_F11 NEWT_KEY_EXTRA_BASE + 111
-#define NEWT_KEY_F12 NEWT_KEY_EXTRA_BASE + 112
-
-/* not really a key, but newtGetKey returns it */
-#define NEWT_KEY_RESIZE NEWT_KEY_EXTRA_BASE + 113
-
-#define NEWT_ANCHOR_LEFT (1 << 0)
-#define NEWT_ANCHOR_RIGHT (1 << 1)
-#define NEWT_ANCHOR_TOP (1 << 2)
-#define NEWT_ANCHOR_BOTTOM (1 << 3)
-
-#define NEWT_GRID_FLAG_GROWX (1 << 0)
-#define NEWT_GRID_FLAG_GROWY (1 << 1)
-
-typedef struct grid_s * newtGrid;
-enum newtGridElement { NEWT_GRID_EMPTY = 0,
- NEWT_GRID_COMPONENT, NEWT_GRID_SUBGRID };
-
-newtGrid newtCreateGrid(int cols, int rows);
-/* TYPE, what, TYPE, what, ..., NULL */
-newtGrid newtGridVStacked(enum newtGridElement type, void * what, ...);
-newtGrid newtGridVCloseStacked(enum newtGridElement type, void * what, ...);
-newtGrid newtGridHStacked(enum newtGridElement type1, void * what1, ...);
-newtGrid newtGridHCloseStacked(enum newtGridElement type1, void * what1, ...);
-newtGrid newtGridBasicWindow(newtComponent text, newtGrid middle,
- newtGrid buttons);
-newtGrid newtGridSimpleWindow(newtComponent text, newtComponent middle,
- newtGrid buttons);
-void newtGridSetField(newtGrid grid, int col, int row,
- enum newtGridElement type, void * val, int padLeft,
- int padTop, int padRight, int padBottom, int anchor,
- int flags);
-void newtGridPlace(newtGrid grid, int left, int top);
-#define newtGridDestroy newtGridFree
-void newtGridFree(newtGrid grid, int recurse);
-void newtGridGetSize(newtGrid grid, int * width, int * height);
-void newtGridWrappedWindow(newtGrid grid, char * title);
-void newtGridWrappedWindowAt(newtGrid grid, char * title, int left, int top);
-void newtGridAddComponentsToForm(newtGrid grid, newtComponent form,
- int recurse);
-
-/* convienve */
-newtGrid newtButtonBarv(char * button1, newtComponent * b1comp, va_list args);
-newtGrid newtButtonBar(char * button1, newtComponent * b1comp, ...);
-
-/* automatically centered and shrink wrapped */
-void newtWinMessage(char * title, char * buttonText, char * text, ...);
-void newtWinMessagev(char * title, char * buttonText, char * text,
- va_list argv);
-
-/* having separate calls for these two seems silly, but having two separate
- variable length-arg lists seems like a bad idea as well */
-
-/* Returns 0 if F12 was pressed, 1 for button1, 2 for button2 */
-int newtWinChoice(char * title, char * button1, char * button2,
- char * text, ...);
-/* Returns 0 if F12 was pressed, 1 for button1, 2 for button2,
- 3 for button3 */
-int newtWinTernary(char * title, char * button1, char * button2,
- char * button3, char * message, ...);
-
-/* Returns the button number pressed, 0 on F12 */
-int newtWinMenu(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int maxListHeight, char ** items, int * listItem,
- char * button1, ...);
-
-struct newtWinEntry {
- char * text;
- char ** value; /* may be initialized to set default */
- int flags;
-};
-
-/* Returns the button number pressed, 0 on F12. The final values are
- dynamically allocated, and need to be freed. */
-int newtWinEntries(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int dataWidth,
- struct newtWinEntry * items, char * button1, ...);
-
-#ifdef __cplusplus
-} /* End of extern "C" { */
-#endif
-
-#endif /* H_NEWT */
diff --git a/mdk-stage1/newt/newt_pr.h b/mdk-stage1/newt/newt_pr.h
deleted file mode 100644
index 76f5e2f6f..000000000
--- a/mdk-stage1/newt/newt_pr.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef H_NEWT_PR
-#define H_NEWT_PR
-
-#define COLORSET_ROOT NEWT_COLORSET_ROOT
-#define COLORSET_BORDER NEWT_COLORSET_BORDER
-#define COLORSET_WINDOW NEWT_COLORSET_WINDOW
-#define COLORSET_SHADOW NEWT_COLORSET_SHADOW
-#define COLORSET_TITLE NEWT_COLORSET_TITLE
-#define COLORSET_BUTTON NEWT_COLORSET_BUTTON
-#define COLORSET_ACTBUTTON NEWT_COLORSET_ACTBUTTON
-#define COLORSET_CHECKBOX NEWT_COLORSET_CHECKBOX
-#define COLORSET_ACTCHECKBOX NEWT_COLORSET_ACTCHECKBOX
-#define COLORSET_ENTRY NEWT_COLORSET_ENTRY
-#define COLORSET_LABEL NEWT_COLORSET_LABEL
-#define COLORSET_LISTBOX NEWT_COLORSET_LISTBOX
-#define COLORSET_ACTLISTBOX NEWT_COLORSET_ACTLISTBOX
-#define COLORSET_TEXTBOX NEWT_COLORSET_TEXTBOX
-#define COLORSET_ACTTEXTBOX NEWT_COLORSET_ACTTEXTBOX
-
-int newtSetFlags(int oldFlags, int newFlags, enum newtFlagsSense sense);
-
-void newtGotorc(int row, int col);
-void newtGetrc(int * row, int * col);
-void newtGetWindowPos(int * x, int * y);
-void newtDrawBox(int left, int top, int width, int height, int shadow);
-void newtClearBox(int left, int top, int width, int height);
-
-int newtGetKey(void);
-
-struct newtComponent_struct {
- /* common data */
- int height, width;
- int top, left;
- int takesFocus;
- int isMapped;
-
- struct componentOps * ops;
-
- newtCallback callback;
- void * callbackData;
-
- void * data;
-} ;
-
-enum eventResultTypes { ER_IGNORED, ER_SWALLOWED, ER_EXITFORM, ER_SETFOCUS,
- ER_NEXTCOMP };
-struct eventResult {
- enum eventResultTypes result;
- union {
- newtComponent focus;
- } u;
-};
-
-enum eventTypes { EV_FOCUS, EV_UNFOCUS, EV_KEYPRESS, EV_MOUSE };
-enum eventSequence { EV_EARLY, EV_NORMAL, EV_LATE };
-
-struct event {
- enum eventTypes event;
- enum eventSequence when;
- union {
- int key;
- struct {
- enum { MOUSE_MOTION, MOUSE_BUTTON_DOWN, MOUSE_BUTTON_UP } type;
- int x, y;
- } mouse;
- } u;
-} ;
-
-struct componentOps {
- void (* draw)(newtComponent c);
- struct eventResult (* event)(newtComponent c, struct event ev);
- void (* destroy)(newtComponent c);
- void (* place)(newtComponent c, int newLeft, int newTop);
- void (* mapped)(newtComponent c, int isMapped);
-} ;
-
-void newtDefaultPlaceHandler(newtComponent c, int newLeft, int newTop);
-void newtDefaultMappedHandler(newtComponent c, int isMapped);
-struct eventResult newtDefaultEventHandler(newtComponent c,
- struct event ev);
-
-#endif /* H_NEWT_PR */
diff --git a/mdk-stage1/newt/scale.c b/mdk-stage1/newt/scale.c
deleted file mode 100644
index 800958580..000000000
--- a/mdk-stage1/newt/scale.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct scale {
- int fullValue;
- int charsSet;
-};
-
-static void scaleDraw(newtComponent co);
-
-static struct componentOps scaleOps = {
- scaleDraw,
- newtDefaultEventHandler,
- NULL,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-newtComponent newtScale(int left, int top, int width, int fullValue) {
- newtComponent co;
- struct scale * sc;
-
- co = malloc(sizeof(*co));
- sc = malloc(sizeof(struct scale));
- co->data = sc;
-
- co->ops = &scaleOps;
-
- co->height = 1;
- co->width = width;
- co->top = top;
- co->left = left;
- co->takesFocus = 0;
-
- sc->fullValue = fullValue;
- sc->charsSet = 0;
-
- return co;
-}
-
-void newtScaleSet(newtComponent co, unsigned int amount) {
- struct scale * sc = co->data;
- int newCharsSet;
-
- newCharsSet = (amount * co->width) / sc->fullValue;
-
- if (newCharsSet != sc->charsSet) {
- sc->charsSet = newCharsSet;
- scaleDraw(co);
- }
-}
-
-static void scaleDraw(newtComponent co) {
- struct scale * sc = co->data;
- int i;
-
- if (co->top == -1) return;
-
- newtGotorc(co->top, co->left);
-
- SLsmg_set_color(NEWT_COLORSET_FULLSCALE);
- for (i = 0; i < sc->charsSet; i++)
- SLsmg_write_string(" ");
-
- SLsmg_set_color(NEWT_COLORSET_EMPTYSCALE);
- for (i = 0; i < (co->width - sc->charsSet); i++)
- SLsmg_write_string(" ");
-}
diff --git a/mdk-stage1/newt/scrollbar.c b/mdk-stage1/newt/scrollbar.c
deleted file mode 100644
index cb4bc2757..000000000
--- a/mdk-stage1/newt/scrollbar.c
+++ /dev/null
@@ -1,124 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct scrollbar {
- int curr;
- int cs, csThumb;
- int arrows;
-} ;
-
-static void sbDraw(newtComponent co);
-static void sbDestroy(newtComponent co);
-static void sbDrawThumb(newtComponent co, int isOn);
-
-static struct componentOps sbOps = {
- sbDraw,
- newtDefaultEventHandler,
- sbDestroy,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-void newtScrollbarSet(newtComponent co, int where, int total) {
- struct scrollbar * sb = co->data;
- int new;
-
- if (sb->arrows)
- new = (where * (co->height - 3)) / (total ? total : 1) + 1;
- else
- new = (where * (co->height - 1)) / (total ? total : 1);
- if (new != sb->curr) {
- sbDrawThumb(co, 0);
- sb->curr = new;
- sbDrawThumb(co, 1);
- }
-}
-
-newtComponent newtVerticalScrollbar(int left, int top, int height,
- int normalColorset, int thumbColorset) {
- newtComponent co;
- struct scrollbar * sb;
-
- co = malloc(sizeof(*co));
- sb = malloc(sizeof(*sb));
- co->data = sb;
-
- if (!strcmp(getenv("TERM"), "linux") && height >= 2) {
- sb->arrows = 1;
- sb->curr = 1;
- } else {
- sb->arrows = 0;
- sb->curr = 0;
- }
- sb->cs = normalColorset;
- sb->csThumb = thumbColorset;
-
- co->ops = &sbOps;
- co->isMapped = 0;
- co->left = left;
- co->top = top;
- co->height = height;
- co->width = 1;
- co->takesFocus = 0;
-
- return co;
-}
-
-static void sbDraw(newtComponent co) {
- struct scrollbar * sb = co->data;
- int i;
-
- if (!co->isMapped) return;
-
- SLsmg_set_color(sb->cs);
-
- SLsmg_set_char_set(1);
- if (sb->arrows) {
- newtGotorc(co->top, co->left);
- SLsmg_write_char('\x2d');
- for (i = 1; i < co->height - 1; i++) {
- newtGotorc(i + co->top, co->left);
- SLsmg_write_char('\x61');
- }
- newtGotorc(co->top + co->height - 1, co->left);
- SLsmg_write_char('\x2e');
- } else {
- for (i = 0; i < co->height; i++) {
- newtGotorc(i + co->top, co->left);
- SLsmg_write_char('\x61');
- }
- }
-
- SLsmg_set_char_set(0);
-
- sbDrawThumb(co, 1);
-}
-
-static void sbDrawThumb(newtComponent co, int isOn) {
- struct scrollbar * sb = co->data;
- char ch = isOn ? '#' : '\x61';
-
- if (!co->isMapped) return;
-
- newtGotorc(sb->curr + co->top, co->left);
- SLsmg_set_char_set(1);
-
- /*if (isOn)
- SLsmg_set_color(sb->csThumb);
- else*/
- SLsmg_set_color(sb->cs);
-
- SLsmg_write_char(ch);
- SLsmg_set_char_set(0);
-}
-
-static void sbDestroy(newtComponent co) {
- struct scrollbar * sb = co->data;
-
- free(sb);
- free(co);
-}
diff --git a/mdk-stage1/newt/textbox.c b/mdk-stage1/newt/textbox.c
deleted file mode 100644
index 2f2880fe2..000000000
--- a/mdk-stage1/newt/textbox.c
+++ /dev/null
@@ -1,409 +0,0 @@
-#include <ctype.h>
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct textbox {
- char ** lines;
- int numLines;
- int linesAlloced;
- int doWrap;
- newtComponent sb;
- int topLine;
- int textWidth;
-};
-
-static char * expandTabs(const char * text);
-static void textboxDraw(newtComponent co);
-static void addLine(newtComponent co, const char * s, int len);
-static void doReflow(const char * text, char ** resultPtr, int width,
- int * badness, int * heightPtr);
-static struct eventResult textboxEvent(newtComponent c,
- struct event ev);
-static void textboxDestroy(newtComponent co);
-static void textboxPlace(newtComponent co, int newLeft, int newTop);
-static void textboxMapped(newtComponent co, int isMapped);
-
-static struct componentOps textboxOps = {
- textboxDraw,
- textboxEvent,
- textboxDestroy,
- textboxPlace,
- textboxMapped,
-} ;
-
-static void textboxMapped(newtComponent co, int isMapped) {
- struct textbox * tb = co->data;
-
- co->isMapped = isMapped;
- if (tb->sb)
- tb->sb->ops->mapped(tb->sb, isMapped);
-}
-
-static void textboxPlace(newtComponent co, int newLeft, int newTop) {
- struct textbox * tb = co->data;
-
- co->top = newTop;
- co->left = newLeft;
-
- if (tb->sb)
- tb->sb->ops->place(tb->sb, co->left + co->width - 1, co->top);
-}
-
-void newtTextboxSetHeight(newtComponent co, int height) {
- co->height = height;
-}
-
-int newtTextboxGetNumLines(newtComponent co) {
- struct textbox * tb = co->data;
-
- return (tb->numLines);
-}
-
-newtComponent newtTextboxReflowed(int left, int top, char * text, int width,
- int flexDown, int flexUp, int flags) {
- newtComponent co;
- char * reflowedText;
- int actWidth, actHeight;
-
- reflowedText = newtReflowText(text, width, flexDown, flexUp,
- &actWidth, &actHeight);
-
- co = newtTextbox(left, top, actWidth, actHeight, NEWT_FLAG_WRAP);
- newtTextboxSetText(co, reflowedText);
- free(reflowedText);
-
- return co;
-}
-
-newtComponent newtTextbox(int left, int top, int width, int height, int flags) {
- newtComponent co;
- struct textbox * tb;
-
- co = malloc(sizeof(*co));
- tb = malloc(sizeof(*tb));
- co->data = tb;
-
- co->ops = &textboxOps;
-
- co->height = height;
- co->top = top;
- co->left = left;
- co->takesFocus = 0;
- co->width = width;
-
- tb->doWrap = flags & NEWT_FLAG_WRAP;
- tb->numLines = 0;
- tb->linesAlloced = 0;
- tb->lines = NULL;
- tb->topLine = 0;
- tb->textWidth = width;
-
- if (flags & NEWT_FLAG_SCROLL) {
- co->width += 2;
- tb->sb = newtVerticalScrollbar(co->left + co->width - 1, co->top,
- co->height, COLORSET_TEXTBOX, COLORSET_TEXTBOX);
- } else {
- tb->sb = NULL;
- }
-
- return co;
-}
-
-static char * expandTabs(const char * text) {
- int bufAlloced = strlen(text) + 40;
- char * buf, * dest;
- const char * src;
- int bufUsed = 0;
- int linePos = 0;
- int i;
-
- buf = malloc(bufAlloced + 1);
- for (src = text, dest = buf; *src; src++) {
- if ((bufUsed + 10) > bufAlloced) {
- bufAlloced += strlen(text) / 2;
- buf = realloc(buf, bufAlloced + 1);
- dest = buf + bufUsed;
- }
- if (*src == '\t') {
- i = 8 - (linePos & 8);
- memset(dest, ' ', i);
- dest += i, bufUsed += i, linePos += i;
- } else {
- if (*src == '\n')
- linePos = 0;
- else
- linePos++;
-
- *dest++ = *src;
- bufUsed++;
- }
- }
-
- *dest = '\0';
- return buf;
-}
-
-#define iseuckanji(c) (0xa1 <= (unsigned char)(c&0xff) && (unsigned char)(c&0xff) <= 0xfe)
-
-static void doReflow(const char * text, char ** resultPtr, int width,
- int * badness, int * heightPtr) {
- char * result = NULL;
- const char * chptr, * end;
- int i;
- int howbad = 0;
- int height = 0;
- int kanji = 0;
-
- if (resultPtr) {
- /* XXX I think this will work */
- result = malloc(strlen(text) + (strlen(text) / width) + 50);
- *result = '\0';
- }
-
- while (*text) {
- kanji = 0;
- end = strchr(text, '\n');
- if (!end)
- end = text + strlen(text);
-
- while (*text && text < end) {
- if (end - text < width) {
- if (result) {
- strncat(result, text, end - text);
- strcat(result, "\n");
- height++;
- }
-
- if (end - text < (width / 2))
- howbad += ((width / 2) - (end - text)) / 2;
- text = end;
- if (*text) text++;
- } else {
- chptr = text;
- kanji = 0;
- for ( i = 0; i < width - 1; i++ ) {
- if ( !iseuckanji(*chptr)) {
- kanji = 0;
- } else if ( kanji == 1 ) {
- kanji = 2;
- } else {
- kanji = 1;
- }
- chptr++;
- }
- if (kanji == 0) {
- while (chptr > text && !isspace(*chptr)) chptr--;
- while (chptr > text && isspace(*chptr)) chptr--;
- chptr++;
- }
-
- if (chptr-text == 1 && !isspace(*chptr))
- chptr = text + width - 1;
-
- if (chptr > text)
- howbad += width - (chptr - text) + 1;
- if (result) {
- if (kanji == 1) {
- strncat(result, text, chptr - text + 1);
- chptr++;
- kanji = 0;
- } else {
- strncat(result, text, chptr - text);
- }
- strcat(result, "\n");
- height++;
- }
-
- if (isspace(*chptr))
- text = chptr + 1;
- else
- text = chptr;
- while (isspace(*text)) text++;
- }
- }
- }
-
-// if (result) printf("result: %s\n", result);
-
- if (badness) *badness = howbad;
- if (resultPtr) *resultPtr = result;
- if (heightPtr) *heightPtr = height;
-}
-
-char * newtReflowText(char * text, int width, int flexDown, int flexUp,
- int * actualWidth, int * actualHeight) {
- int min, max;
- int i;
- char * result;
- int minbad, minbadwidth, howbad;
- char * expandedText;
-
- expandedText = expandTabs(text);
-
- if (flexDown || flexUp) {
- min = width - flexDown;
- max = width + flexUp;
-
- minbad = -1;
- minbadwidth = width;
-
- for (i = min; i <= max; i++) {
- doReflow(expandedText, NULL, i, &howbad, NULL);
-
- if (minbad == -1 || howbad < minbad) {
- minbad = howbad;
- minbadwidth = i;
- }
- }
-
- width = minbadwidth;
- }
-
- doReflow(expandedText, &result, width, NULL, actualHeight);
- free(expandedText);
- if (actualWidth) *actualWidth = width;
- return result;
-}
-
-void newtTextboxSetText(newtComponent co, const char * text) {
- const char * start, * end;
- struct textbox * tb = co->data;
- char * reflowed, * expanded;
- int badness, height;
-
- if (tb->lines) {
- free(tb->lines);
- tb->linesAlloced = tb->numLines = 0;
- }
-
- expanded = expandTabs(text);
-
- if (tb->doWrap) {
- doReflow(expanded, &reflowed, tb->textWidth, &badness, &height);
- free(expanded);
- expanded = reflowed;
- }
-
- for (start = expanded; *start; start++)
- if (*start == '\n') tb->linesAlloced++;
-
- /* This ++ leaves room for an ending line w/o a \n */
- tb->linesAlloced++;
- tb->lines = malloc(sizeof(char *) * tb->linesAlloced);
-
- start = expanded;
- while ((end = strchr(start, '\n'))) {
- addLine(co, start, end - start);
- start = end + 1;
- }
-
- if (*start)
- addLine(co, start, strlen(start));
-
- free(expanded);
-}
-
-/* This assumes the buffer is allocated properly! */
-static void addLine(newtComponent co, const char * s, int len) {
- struct textbox * tb = co->data;
-
- if (len > tb->textWidth) len = tb->textWidth;
-
- tb->lines[tb->numLines] = malloc(tb->textWidth + 1);
- memset(tb->lines[tb->numLines], ' ', tb->textWidth);
- memcpy(tb->lines[tb->numLines], s, len);
- tb->lines[tb->numLines++][tb->textWidth] = '\0';
-}
-
-static void textboxDraw(newtComponent c) {
- int i;
- struct textbox * tb = c->data;
- int size;
-
- if (tb->sb) {
- size = tb->numLines - c->height;
- newtScrollbarSet(tb->sb, tb->topLine, size ? size : 0);
- tb->sb->ops->draw(tb->sb);
- }
-
- SLsmg_set_color(NEWT_COLORSET_TEXTBOX);
-
- for (i = 0; (i + tb->topLine) < tb->numLines && i < c->height; i++) {
- newtGotorc(c->top + i, c->left);
- SLsmg_write_string(tb->lines[i + tb->topLine]);
- }
-}
-
-static struct eventResult textboxEvent(newtComponent co,
- struct event ev) {
- struct textbox * tb = co->data;
- struct eventResult er;
-
- er.result = ER_IGNORED;
-
- if (ev.when == EV_EARLY && ev.event == EV_KEYPRESS && tb->sb) {
- switch (ev.u.key) {
- case NEWT_KEY_UP:
- if (tb->topLine) tb->topLine--;
- textboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_DOWN:
- if (tb->topLine < (tb->numLines - co->height)) tb->topLine++;
- textboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_PGDN:
- tb->topLine += co->height;
- if (tb->topLine > (tb->numLines - co->height)) {
- tb->topLine = tb->numLines - co->height;
- if (tb->topLine < 0) tb->topLine = 0;
- }
- textboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_PGUP:
- tb->topLine -= co->height;
- if (tb->topLine < 0) tb->topLine = 0;
- textboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
- }
- }
- if (ev.when == EV_EARLY && ev.event == EV_MOUSE && tb->sb) {
- /* Top scroll arrow */
- if (ev.u.mouse.x == co->width && ev.u.mouse.y == co->top) {
- if (tb->topLine) tb->topLine--;
- textboxDraw(co);
-
- er.result = ER_SWALLOWED;
- }
- /* Bottom scroll arrow */
- if (ev.u.mouse.x == co->width &&
- ev.u.mouse.y == co->top + co->height - 1) {
- if (tb->topLine < (tb->numLines - co->height)) tb->topLine++;
- textboxDraw(co);
-
- er.result = ER_SWALLOWED;
- }
- }
- return er;
-}
-
-static void textboxDestroy(newtComponent co) {
- int i;
- struct textbox * tb = co->data;
-
- for (i = 0; i < tb->numLines; i++)
- free(tb->lines[i]);
- free(tb->lines);
- free(tb);
- free(co);
-}
diff --git a/mdk-stage1/newt/windows.c b/mdk-stage1/newt/windows.c
deleted file mode 100644
index 30a8d526c..000000000
--- a/mdk-stage1/newt/windows.c
+++ /dev/null
@@ -1,275 +0,0 @@
-#include <errno.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "errno.h"
-#include "newt.h"
-
-static void * newtvwindow(char * title, char * button1, char * button2,
- char * button3, char * message, va_list args) {
- newtComponent b1, b2 = NULL, b3 = NULL, t, f, answer;
- char * buf = NULL;
- int size = 0;
- int i = 0;
- int scroll = 0;
- int width, height;
- char * flowedText;
- newtGrid grid, buttonGrid;
-
- do {
- size += 1000;
- if (buf) free(buf);
- buf = malloc(size);
- i = vsnprintf(buf, size, message, args);
- } while (i >= size || i == -1);
-
- flowedText = newtReflowText(buf, 50, 5, 5, &width, &height);
- if (height > 6) {
- free(flowedText);
- flowedText = newtReflowText(buf, 60, 5, 5, &width, &height);
- }
- free(buf);
-
- if (height > 12) {
- height = 12;
- scroll = NEWT_FLAG_SCROLL;
- }
- t = newtTextbox(-1, -1, width, height, NEWT_TEXTBOX_WRAP | scroll);
- newtTextboxSetText(t, flowedText);
- free(flowedText);
-
- if (button3) {
- buttonGrid = newtButtonBar(button1, &b1, button2, &b2,
- button3, &b3, NULL);
- } else if (button2) {
- buttonGrid = newtButtonBar(button1, &b1, button2, &b2, NULL);
- } else {
- buttonGrid = newtButtonBar(button1, &b1, NULL);
- }
-
- newtGridSetField(buttonGrid, 0, 0, NEWT_GRID_COMPONENT, b1,
- 0, 0, button2 ? 1 : 0, 0, 0, 0);
-
- grid = newtCreateGrid(1, 2);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, t, 0, 0, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, buttonGrid,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
- newtGridWrappedWindow(grid, title);
-
- f = newtForm(NULL, NULL, 0);
- newtFormAddComponents(f, t, b1, NULL);
-
- if (button2)
- newtFormAddComponent(f, b2);
- if (button3)
- newtFormAddComponent(f, b3);
-
- answer = newtRunForm(f);
- newtGridFree(grid, 1);
-
- newtFormDestroy(f);
- newtPopWindow();
-
- if (answer == f)
- return NULL;
- else if (answer == b1)
- return button1;
- else if (answer == b2)
- return button2;
-
- return button3;
-}
-
-int newtWinChoice(char * title, char * button1, char * button2,
- char * message, ...) {
- va_list args;
- void * rc;
-
- va_start(args, message);
- rc = newtvwindow(title, button1, button2, NULL, message, args);
- va_end(args);
-
- if (rc == button1)
- return 1;
- else if (rc == button2)
- return 2;
-
- return 0;
-}
-
-void newtWinMessage(char * title, char * buttonText, char * text, ...) {
- va_list args;
-
- va_start(args, text);
- newtvwindow(title, buttonText, NULL, NULL, text, args);
- va_end(args);
-}
-
-void newtWinMessagev(char * title, char * buttonText, char * text,
- va_list argv) {
- newtvwindow(title, buttonText, NULL, NULL, text, argv);
-}
-
-int newtWinTernary(char * title, char * button1, char * button2,
- char * button3, char * message, ...) {
- va_list args;
- void * rc;
-
- va_start(args, message);
- rc = newtvwindow(title, button1, button2, button3, message, args);
- va_end(args);
-
- if (rc == button1)
- return 1;
- else if (rc == button2)
- return 2;
- else if (rc == button3)
- return 3;
-
- return 0;
-}
-
-/* only supports up to 50 buttons -- shucks! */
-int newtWinMenu(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int maxListHeight, char ** items, int * listItem,
- char * button1, ...) {
- newtComponent textbox, listbox, result, form;
- va_list args;
- newtComponent buttons[50];
- newtGrid grid, buttonBar;
- int numButtons;
- int i, rc;
- int needScroll;
- char * buttonName;
-
- textbox = newtTextboxReflowed(-1, -1, text, suggestedWidth, flexDown,
- flexUp, 0);
-
- for (i = 0; items[i]; i++) ;
- if (i < maxListHeight) maxListHeight = i;
- needScroll = i > maxListHeight;
-
- listbox = newtListbox(-1, -1, maxListHeight,
- (needScroll ? NEWT_FLAG_SCROLL : 0) | NEWT_FLAG_RETURNEXIT);
- for (i = 0; items[i]; i++) {
- newtListboxAddEntry(listbox, items[i], (void *) (long)i);
- }
-
- newtListboxSetCurrent(listbox, *listItem);
-
- buttonName = button1, numButtons = 0;
- va_start(args, button1);
- while (buttonName) {
- buttons[numButtons] = newtButton(-1, -1, buttonName);
- numButtons++;
- buttonName = va_arg(args, char *);
- }
-
- va_end(args);
-
- buttonBar = newtCreateGrid(numButtons, 1);
- for (i = 0; i < numButtons; i++) {
- newtGridSetField(buttonBar, i, 0, NEWT_GRID_COMPONENT,
- buttons[i],
- i ? 1 : 0, 0, 0, 0, 0, 0);
- }
-
- grid = newtGridSimpleWindow(textbox, listbox, buttonBar);
- newtGridWrappedWindow(grid, title);
-
- form = newtForm(NULL, 0, 0);
- newtGridAddComponentsToForm(grid, form, 1);
- newtGridFree(grid, 1);
-
- result = newtRunForm(form);
-
- *listItem = ((long) newtListboxGetCurrent(listbox));
-
- for (rc = 0; result != buttons[rc] && rc < numButtons; rc++);
- if (rc == numButtons)
- rc = 0; /* F12 or return-on-exit (which are the same for us) */
- else
- rc++;
-
- newtFormDestroy(form);
- newtPopWindow();
-
- return rc;
-}
-
-/* only supports up to 50 buttons and entries -- shucks! */
-int newtWinEntries(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int dataWidth,
- struct newtWinEntry * items, char * button1, ...) {
- newtComponent buttons[50], result, form, textw;
- newtGrid grid, buttonBar, subgrid;
- int numItems;
- int rc, i;
- int numButtons;
- char * buttonName;
- va_list args;
-
- textw = newtTextboxReflowed(-1, -1, text, suggestedWidth, flexDown,
- flexUp, 0);
-
- for (numItems = 0; items[numItems].text; numItems++);
-
- buttonName = button1, numButtons = 0;
- va_start(args, button1);
- while (buttonName) {
- buttons[numButtons] = newtButton(-1, -1, buttonName);
- numButtons++;
- buttonName = va_arg(args, char *);
- }
-
- va_end(args);
-
- buttonBar = newtCreateGrid(numButtons, 1);
- for (i = 0; i < numButtons; i++) {
- newtGridSetField(buttonBar, i, 0, NEWT_GRID_COMPONENT,
- buttons[i],
- i ? 1 : 0, 0, 0, 0, 0, 0);
- }
-
- subgrid = newtCreateGrid(2, numItems);
- for (i = 0; i < numItems; i++) {
- newtGridSetField(subgrid, 0, i, NEWT_GRID_COMPONENT,
- newtLabel(-1, -1, items[i].text),
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(subgrid, 1, i, NEWT_GRID_COMPONENT,
- newtEntry(-1, -1, items[i].value ?
- *items[i].value : NULL, dataWidth,
- items[i].value, items[i].flags),
- 1, 0, 0, 0, 0, 0);
- }
-
- grid = newtCreateGrid(1, 3);
- form = newtForm(NULL, 0, 0);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, textw,
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, subgrid,
- 0, 1, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttonBar,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
- newtGridAddComponentsToForm(grid, form, 1);
- newtGridWrappedWindow(grid, title);
- newtGridFree(grid, 1);
-
- result = newtRunForm(form);
-
- for (rc = 0; rc < numItems; rc++)
- *items[rc].value = strdup(*items[rc].value);
-
- for (rc = 0; result != buttons[rc] && rc < numButtons; rc++);
- if (rc == numButtons)
- rc = 0; /* F12 */
- else
- rc++;
-
- newtFormDestroy(form);
- newtPopWindow();
-
- return rc;
-}
diff --git a/mdk-stage1/nfsmount.c b/mdk-stage1/nfsmount.c
deleted file mode 100644
index 032fde60c..000000000
--- a/mdk-stage1/nfsmount.c
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/* this is based on work from redhat, made it lighter (gc)
- */
-
-
-/* MODIFIED for Red Hat Linux installer
- * msw@redhat.com
- * o always mounts without lockd
- * o uses our own host resolution
- */
-
-/*
- * nfsmount.c -- Linux NFS mount
- * Copyright (C) 1993 Rick Sladkey <jrs@world.std.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Wed Feb 8 12:51:48 1995, biro@yggdrasil.com (Ross Biro): allow all port
- * numbers to be specified on the command line.
- *
- * Fri, 8 Mar 1996 18:01:39, Swen Thuemmler <swen@uni-paderborn.de>:
- * Omit the call to connect() for Linux version 1.3.11 or later.
- *
- * Wed Oct 1 23:55:28 1997: Dick Streefland <dick_streefland@tasking.com>
- * Implemented the "bg", "fg" and "retry" mount options for NFS.
- */
-
-/*
- * nfsmount.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
- */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <netdb.h>
-#include <sys/mount.h>
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <sys/utsname.h>
-#include <sys/stat.h>
-#include <arpa/inet.h>
-#include "linux-2.2/nfs.h"
-#include "linux-2.2/nfs_mount.h" //#include "mount_constants.h"
-
-#include "log.h"
-#include "dns.h"
-
-#include "nfsmount.h"
-
-
-bool_t
-xdr_fhandle(XDR *xdrs, fhandle objp)
-{
- if (!xdr_opaque(xdrs, objp, FHSIZE)) {
- return (FALSE);
- }
- return (TRUE);
-}
-
-bool_t
-xdr_fhstatus(XDR *xdrs, fhstatus *objp)
-{
-
- if (!xdr_u_int(xdrs, &objp->fhs_status)) {
- return (FALSE);
- }
- switch (objp->fhs_status) {
- case 0:
- if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle)) {
- return (FALSE);
- }
- break;
- default:
- break;
- }
- return (TRUE);
-}
-
-bool_t
-xdr_dirpath(XDR *xdrs, dirpath *objp)
-{
-
- if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
- return (FALSE);
- }
- return (TRUE);
-}
-
-
-static int nfs_mount_version = 3; /* kernel >= 2.1.32 */ /* *********** TODO for kernel 2.4, nfs-mount version 4 */
-
-
-int nfsmount_prepare(const char *spec, int *flags, char **mount_opts)
-{
- char hostdir[1024];
- CLIENT *mclient;
- char *hostname, *dirname;
- fhandle root_fhandle;
- struct timeval total_timeout;
- enum clnt_stat clnt_stat;
- static struct nfs_mount_data data;
- struct sockaddr_in server_addr;
- struct sockaddr_in mount_server_addr;
- int msock, fsock;
- struct timeval retry_timeout;
- struct fhstatus status;
- char *s;
- int port;
-
- msock = fsock = -1;
- mclient = NULL;
-
- strncpy(hostdir, spec, sizeof(hostdir));
- if ((s = (strchr(hostdir, ':')))) {
- hostname = hostdir;
- dirname = s + 1;
- *s = '\0';
- } else {
- log_message("nfsmount: format not host:dir");
- goto fail;
- }
-
- server_addr.sin_family = AF_INET;
-
- /* first, try as IP address */
- if (!inet_aton(hostname, &server_addr.sin_addr)) {
- /* failure, try as machine name */
- if (mygethostbyname(hostname, &server_addr.sin_addr))
- goto fail;
- }
-
- memcpy (&mount_server_addr, &server_addr, sizeof (mount_server_addr));
-
-
-
- /* Set default options.
- * timeo is filled in after we know whether it'll be TCP or UDP. */
- memset(&data, 0, sizeof(data));
- data.retrans = 3;
- data.acregmin = 3;
- data.acregmax = 60;
- data.acdirmin = 30;
- data.acdirmax = 60;
- data.rsize = 8192;
- data.wsize = 8192;
- data.bsize = 8192;
-#if NFS_MOUNT_VERSION >= 2
- data.namlen = NAME_MAX;
-#endif
-
-#if NFS_MOUNT_VERSION >= 3
- if (nfs_mount_version >= 3)
- data.flags |= NFS_MOUNT_NONLM; /* HACK HACK msw */
-#endif
-
- /* Adjust options if none specified */
- if (!data.timeo)
- data.timeo = 7; /* udp */
-
-
- data.version = nfs_mount_version;
- *mount_opts = (char *) &data;
-
- if (*flags & MS_REMOUNT)
- return 0;
-
-
- retry_timeout.tv_sec = 3;
- retry_timeout.tv_usec = 0;
- total_timeout.tv_sec = 20;
- total_timeout.tv_usec = 0;
-
-
- /* contact the mount daemon via TCP */
- mount_server_addr.sin_port = htons(0);
- msock = RPC_ANYSOCK;
- mclient = clnttcp_create(&mount_server_addr, MOUNTPROG, MOUNTVERS, &msock, 0, 0);
-
- /* if this fails, contact the mount daemon via UDP */
- if (!mclient) {
- mount_server_addr.sin_port = htons(0);
- msock = RPC_ANYSOCK;
- mclient = clntudp_create(&mount_server_addr, MOUNTPROG, MOUNTVERS, retry_timeout, &msock);
- }
- if (mclient) {
- /* try to mount hostname:dirname */
- mclient->cl_auth = authunix_create_default();
- clnt_stat = clnt_call(mclient, MOUNTPROC_MNT,
- (xdrproc_t) xdr_dirpath, (caddr_t) &dirname,
- (xdrproc_t) xdr_fhstatus, (caddr_t) &status,
- total_timeout);
- if (clnt_stat != RPC_SUCCESS) {
- if (errno != ECONNREFUSED) {
- log_message(clnt_sperror(mclient, "mount"));
- goto fail; /* don't retry */
- }
- log_message(clnt_sperror(mclient, "mount"));
- auth_destroy(mclient->cl_auth);
- clnt_destroy(mclient);
- mclient = 0;
- close(msock);
- }
- } else
- goto fail;
-
- if (status.fhs_status != 0) {
- if (status.fhs_status == 2)
- log_message("NFS server says: No such file or directory");
- else if (status.fhs_status == 13)
- log_message("NFS server says: Permission denied");
- else
- log_message("nfsmount prepare failed, reason given by server: %d", status.fhs_status);
- goto fail;
- }
-
- memcpy((char *) &root_fhandle, (char *) status.fhstatus_u.fhs_fhandle, sizeof (root_fhandle));
-
- /* create nfs socket for kernel */
-
- fsock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
- if (fsock < 0) {
- log_perror("nfs socket");
- goto fail;
- }
- if (bindresvport(fsock, 0) < 0) {
- log_perror("nfs bindresvport");
- goto fail;
- }
- server_addr.sin_port = PMAPPORT;
- port = pmap_getport(&server_addr, NFS_PROGRAM, NFS_VERSION, IPPROTO_UDP);
- if (port == 0)
- port = NFS_PORT;
-#ifdef NFS_MOUNT_DEBUG
- else
- log_message("used portmapper to find NFS port\n");
- log_message("using port %d for nfs deamon\n", port);
-#endif
- server_addr.sin_port = htons(port);
-
- /* prepare data structure for kernel */
-
- data.fd = fsock;
- memcpy((char *) &data.root, (char *) &root_fhandle, sizeof (root_fhandle));
- memcpy((char *) &data.addr, (char *) &server_addr, sizeof(data.addr));
- strncpy(data.hostname, hostname, sizeof(data.hostname));
-
- /* clean up */
-
- auth_destroy(mclient->cl_auth);
- clnt_destroy(mclient);
- close(msock);
- return 0;
-
- /* abort */
-
- fail:
- if (msock != -1) {
- if (mclient) {
- auth_destroy(mclient->cl_auth);
- clnt_destroy(mclient);
- }
- close(msock);
- }
- if (fsock != -1)
- close(fsock);
-
- return -1;
-}
-
diff --git a/mdk-stage1/nfsmount.h b/mdk-stage1/nfsmount.h
deleted file mode 100644
index 12ffa69a6..000000000
--- a/mdk-stage1/nfsmount.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _NFSMOUNT_H_RPCGEN
-#define _NFSMOUNT_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-int nfsmount_prepare(const char *spec, int *flags, char **mount_opts);
-
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user or with the express written consent of
- * Sun Microsystems, Inc.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/*
- * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
- */
-
-/* from @(#)mount.x 1.3 91/03/11 TIRPC 1.0 */
-#ifndef _rpcsvc_mount_h
-#define _rpcsvc_mount_h
-#define MNTPATHLEN 1024
-#define MNTNAMLEN 255
-#define FHSIZE 32
-
-typedef char fhandle[FHSIZE];
-#ifdef __cplusplus
-extern "C" bool_t xdr_fhandle(XDR *, fhandle);
-#elif __STDC__
-extern bool_t xdr_fhandle(XDR *, fhandle);
-#else /* Old Style C */
-bool_t xdr_fhandle();
-#endif /* Old Style C */
-
-
-struct fhstatus {
- u_int fhs_status;
- union {
- fhandle fhs_fhandle;
- } fhstatus_u;
-};
-typedef struct fhstatus fhstatus;
-#ifdef __cplusplus
-extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
-#elif __STDC__
-extern bool_t xdr_fhstatus(XDR *, fhstatus*);
-#else /* Old Style C */
-bool_t xdr_fhstatus();
-#endif /* Old Style C */
-
-
-typedef char *dirpath;
-#ifdef __cplusplus
-extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
-#elif __STDC__
-extern bool_t xdr_dirpath(XDR *, dirpath*);
-#else /* Old Style C */
-bool_t xdr_dirpath();
-#endif /* Old Style C */
-
-
-typedef char *name;
-#ifdef __cplusplus
-extern "C" bool_t xdr_name(XDR *, name*);
-#elif __STDC__
-extern bool_t xdr_name(XDR *, name*);
-#else /* Old Style C */
-bool_t xdr_name();
-#endif /* Old Style C */
-
-
-typedef struct mountbody *mountlist;
-#ifdef __cplusplus
-extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
-#elif __STDC__
-extern bool_t xdr_mountlist(XDR *, mountlist*);
-#else /* Old Style C */
-bool_t xdr_mountlist();
-#endif /* Old Style C */
-
-
-struct mountbody {
- name ml_hostname;
- dirpath ml_directory;
- mountlist ml_next;
-};
-typedef struct mountbody mountbody;
-#ifdef __cplusplus
-extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
-#elif __STDC__
-extern bool_t xdr_mountbody(XDR *, mountbody*);
-#else /* Old Style C */
-bool_t xdr_mountbody();
-#endif /* Old Style C */
-
-
-typedef struct groupnode *groups;
-#ifdef __cplusplus
-extern "C" bool_t xdr_groups(XDR *, groups*);
-#elif __STDC__
-extern bool_t xdr_groups(XDR *, groups*);
-#else /* Old Style C */
-bool_t xdr_groups();
-#endif /* Old Style C */
-
-
-struct groupnode {
- name gr_name;
- groups gr_next;
-};
-typedef struct groupnode groupnode;
-#ifdef __cplusplus
-extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
-#elif __STDC__
-extern bool_t xdr_groupnode(XDR *, groupnode*);
-#else /* Old Style C */
-bool_t xdr_groupnode();
-#endif /* Old Style C */
-
-
-typedef struct exportnode *exports;
-#ifdef __cplusplus
-extern "C" bool_t xdr_exports(XDR *, exports*);
-#elif __STDC__
-extern bool_t xdr_exports(XDR *, exports*);
-#else /* Old Style C */
-bool_t xdr_exports();
-#endif /* Old Style C */
-
-
-struct exportnode {
- dirpath ex_dir;
- groups ex_groups;
- exports ex_next;
-};
-typedef struct exportnode exportnode;
-#ifdef __cplusplus
-extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
-#elif __STDC__
-extern bool_t xdr_exportnode(XDR *, exportnode*);
-#else /* Old Style C */
-bool_t xdr_exportnode();
-#endif /* Old Style C */
-
-
-struct ppathcnf {
- int pc_link_max;
- short pc_max_canon;
- short pc_max_input;
- short pc_name_max;
- short pc_path_max;
- short pc_pipe_buf;
- u_char pc_vdisable;
- char pc_xxx;
- short pc_mask[2];
-};
-typedef struct ppathcnf ppathcnf;
-#ifdef __cplusplus
-extern "C" bool_t xdr_ppathcnf(XDR *, ppathcnf*);
-#elif __STDC__
-extern bool_t xdr_ppathcnf(XDR *, ppathcnf*);
-#else /* Old Style C */
-bool_t xdr_ppathcnf();
-#endif /* Old Style C */
-
-#endif /*!_rpcsvc_mount_h*/
-
-#define MOUNTPROG ((u_long)100005)
-#define MOUNTVERS ((u_long)1)
-
-#ifdef __cplusplus
-#define MOUNTPROC_NULL ((u_long)0)
-extern "C" void * mountproc_null_1(void *, CLIENT *);
-extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern "C" void * mountproc_umntall_1(void *, CLIENT *);
-extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern "C" exports * mountproc_export_1(void *, CLIENT *);
-extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#elif __STDC__
-#define MOUNTPROC_NULL ((u_long)0)
-extern void * mountproc_null_1(void *, CLIENT *);
-extern void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern mountlist * mountproc_dump_1(void *, CLIENT *);
-extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern void * mountproc_umntall_1(void *, CLIENT *);
-extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern exports * mountproc_export_1(void *, CLIENT *);
-extern exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern exports * mountproc_exportall_1(void *, CLIENT *);
-extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#else /* Old Style C */
-#define MOUNTPROC_NULL ((u_long)0)
-extern void * mountproc_null_1();
-extern void * mountproc_null_1_svc();
-#define MOUNTPROC_MNT ((u_long)1)
-extern fhstatus * mountproc_mnt_1();
-extern fhstatus * mountproc_mnt_1_svc();
-#define MOUNTPROC_DUMP ((u_long)2)
-extern mountlist * mountproc_dump_1();
-extern mountlist * mountproc_dump_1_svc();
-#define MOUNTPROC_UMNT ((u_long)3)
-extern void * mountproc_umnt_1();
-extern void * mountproc_umnt_1_svc();
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern void * mountproc_umntall_1();
-extern void * mountproc_umntall_1_svc();
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern exports * mountproc_export_1();
-extern exports * mountproc_export_1_svc();
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern exports * mountproc_exportall_1();
-extern exports * mountproc_exportall_1_svc();
-#endif /* Old Style C */
-#define MOUNTVERS_POSIX ((u_long)2)
-
-#ifdef __cplusplus
-extern "C" void * mountproc_null_2(void *, CLIENT *);
-extern "C" void * mountproc_null_2_svc(void *, struct svc_req *);
-extern "C" fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
-extern "C" mountlist * mountproc_dump_2(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
-extern "C" void * mountproc_umnt_2(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
-extern "C" void * mountproc_umntall_2(void *, CLIENT *);
-extern "C" void * mountproc_umntall_2_svc(void *, struct svc_req *);
-extern "C" exports * mountproc_export_2(void *, CLIENT *);
-extern "C" exports * mountproc_export_2_svc(void *, struct svc_req *);
-extern "C" exports * mountproc_exportall_2(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_2_svc(void *, struct svc_req *);
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern "C" ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
-extern "C" ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
-
-#elif __STDC__
-extern void * mountproc_null_2(void *, CLIENT *);
-extern void * mountproc_null_2_svc(void *, struct svc_req *);
-extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
-extern fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
-extern mountlist * mountproc_dump_2(void *, CLIENT *);
-extern mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
-extern void * mountproc_umnt_2(dirpath *, CLIENT *);
-extern void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
-extern void * mountproc_umntall_2(void *, CLIENT *);
-extern void * mountproc_umntall_2_svc(void *, struct svc_req *);
-extern exports * mountproc_export_2(void *, CLIENT *);
-extern exports * mountproc_export_2_svc(void *, struct svc_req *);
-extern exports * mountproc_exportall_2(void *, CLIENT *);
-extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
-extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
-
-#else /* Old Style C */
-extern void * mountproc_null_2();
-extern void * mountproc_null_2_svc();
-extern fhstatus * mountproc_mnt_2();
-extern fhstatus * mountproc_mnt_2_svc();
-extern mountlist * mountproc_dump_2();
-extern mountlist * mountproc_dump_2_svc();
-extern void * mountproc_umnt_2();
-extern void * mountproc_umnt_2_svc();
-extern void * mountproc_umntall_2();
-extern void * mountproc_umntall_2_svc();
-extern exports * mountproc_export_2();
-extern exports * mountproc_export_2_svc();
-extern exports * mountproc_exportall_2();
-extern exports * mountproc_exportall_2_svc();
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern ppathcnf * mountproc_pathconf_2();
-extern ppathcnf * mountproc_pathconf_2_svc();
-#endif /* Old Style C */
-
-#endif /* !_NFSMOUNT_H_RPCGEN */
diff --git a/mdk-stage1/pci-resource/.cvsignore b/mdk-stage1/pci-resource/.cvsignore
deleted file mode 100644
index 4c7b0844b..000000000
--- a/mdk-stage1/pci-resource/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-pci-ids.h
diff --git a/mdk-stage1/pci-resource/Makefile b/mdk-stage1/pci-resource/Makefile
deleted file mode 100644
index 8627ab03c..000000000
--- a/mdk-stage1/pci-resource/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
- #******************************************************************************
- #
- # $Id$
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-
-all: pci-ids.h
-
-pci-ids.h: /usr/share/ldetect-lst/pcitable update-pci-ids.pl
- perl update-pci-ids.pl > $@ || rm -f $@
-
-clean:
- rm -f pci-ids.h
diff --git a/mdk-stage1/pci-resource/update-pci-ids.pl b/mdk-stage1/pci-resource/update-pci-ids.pl
deleted file mode 100755
index 1ea4ffc60..000000000
--- a/mdk-stage1/pci-resource/update-pci-ids.pl
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/perl
-
-require '/usr/bin/merge2pcitable.pl';
-
-my $drivers = read_pcitable("/usr/share/ldetect-lst/pcitable");
-
-
-print '
-#define PCI_REVISION_ID 0x08 /* Revision ID */
-
-struct pci_module_map {
- unsigned short vendor; /* PCI vendor id */
- unsigned short device; /* PCI device id */
- const char *name; /* PCI human readable name */
- const char *module; /* module to load */
-};
-
-';
-
-my %t = (scsi => 'scsi', eth => 'net');
-
-my @modulz = sort grep { -d $_ } glob("../../all.modules/*");
-my $selected_mod = pop @modulz;
-my ($kern) = $selected_mod =~ /.*\/([^\/]+)/;
-
-if (-x "../mar/mar" && -f "../../all.modules/$kern/network_modules.mar" && -f "../../all.modules/$kern/hd_modules.mar") {
- $modulez{'eth'} = [ `../mar/mar -l ../../all.modules/$kern/network_modules.mar` ];
- $modulez{'scsi'} = [ `../mar/mar -l ../../all.modules/$kern/hd_modules.mar` ];
- $check_marfiles = 1;
-}
-
-
-foreach $type (keys %t) {
- print "#ifndef DISABLE_NETWORK\n" if ($type eq 'eth');
- print "#ifndef DISABLE_MEDIAS\n" if ($type eq 'scsi');
-
- print "
-struct pci_module_map ${type}_pci_ids[] = {
-";
- my %l;
- foreach (glob("../../all.kernels/$kern/lib/modules/*/$t{$type}/*.o"), glob("../../all.kernels/$kern/lib/modules/*/kernel/drivers/$t{$type}/{*/,}*.o")) {
- m|([^/]*)\.o$|;
- $l{$1} = 1;
- }
- my %absent;
- while (my ($k, $v) = each %$drivers) {
- $l{$v->[0]} or next;
- $k =~ /^(....)(....)/;
- printf qq|\t{0x%s , 0x%s , ( "%s" ), ( "%s" )} ,\n|,
- $1, $2, $v->[1], $v->[0];
- if (defined($check_marfiles)) {
- ($absent{$v->[0]} = 1) if (!grep(/^\t$v->[0]\.o\s/, @{$modulez{$type}}));
- }
- }
-
- if (%absent) { print STDERR "\tmissing for $type: "; foreach (keys %absent) { print STDERR "$_ " } print STDERR "\n"; };
-
-print "
-};
-int ${type}_num_ids=sizeof(${type}_pci_ids)/sizeof(struct pci_module_map);
-";
-
- print "#endif\n";
-
-}
diff --git a/mdk-stage1/pcmcia/Makefile b/mdk-stage1/pcmcia/Makefile
deleted file mode 100644
index fb93f10b8..000000000
--- a/mdk-stage1/pcmcia/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-all: libpcmcia.a libpcmcia-DIET.a
-
-clean:
- rm -f *.o libpcmcia.a
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer -pipe -c -I..
-
-
-OBJS = pcmcia_probe.o cardmgr.o lex_config.o yacc_config.o
-
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-
-libpcmcia.a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-libpcmcia-DIET.a: $(OBJS-DIET)
- ar -cru $@ $^
- ranlib $@
-
-
-$(OBJS): %.o: %.c
- gcc $(FLAGS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -c $< -o $@
-
diff --git a/mdk-stage1/pcmcia/bulkmem.h b/mdk-stage1/pcmcia/bulkmem.h
deleted file mode 100644
index 1b0bcbd1e..000000000
--- a/mdk-stage1/pcmcia/bulkmem.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Definitions for bulk memory services
- *
- * bulkmem.h 1.12 2000/06/12 21:55:41
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- * bulkmem.h 1.3 1995/05/27 04:49:49
- */
-
-#ifndef _LINUX_BULKMEM_H
-#define _LINUX_BULKMEM_H
-
-/* For GetFirstRegion and GetNextRegion */
-typedef struct region_info_t {
- u_int Attributes;
- u_int CardOffset;
- u_int RegionSize;
- u_int AccessSpeed;
- u_int BlockSize;
- u_int PartMultiple;
- u_char JedecMfr, JedecInfo;
- memory_handle_t next;
-} region_info_t;
-
-#define REGION_TYPE 0x0001
-#define REGION_TYPE_CM 0x0000
-#define REGION_TYPE_AM 0x0001
-#define REGION_PREFETCH 0x0008
-#define REGION_CACHEABLE 0x0010
-#define REGION_BAR_MASK 0xe000
-#define REGION_BAR_SHIFT 13
-
-/* For OpenMemory */
-typedef struct open_mem_t {
- u_int Attributes;
- u_int Offset;
-} open_mem_t;
-
-/* Attributes for OpenMemory */
-#define MEMORY_TYPE 0x0001
-#define MEMORY_TYPE_CM 0x0000
-#define MEMORY_TYPE_AM 0x0001
-#define MEMORY_EXCLUSIVE 0x0002
-#define MEMORY_PREFETCH 0x0008
-#define MEMORY_CACHEABLE 0x0010
-#define MEMORY_BAR_MASK 0xe000
-#define MEMORY_BAR_SHIFT 13
-
-typedef struct eraseq_entry_t {
- memory_handle_t Handle;
- u_char State;
- u_int Size;
- u_int Offset;
- void *Optional;
-} eraseq_entry_t;
-
-typedef struct eraseq_hdr_t {
- int QueueEntryCnt;
- eraseq_entry_t *QueueEntryArray;
-} eraseq_hdr_t;
-
-#define ERASE_QUEUED 0x00
-#define ERASE_IN_PROGRESS(n) (((n) > 0) && ((n) < 0x80))
-#define ERASE_IDLE 0xff
-#define ERASE_PASSED 0xe0
-#define ERASE_FAILED 0xe1
-
-#define ERASE_MISSING 0x80
-#define ERASE_MEDIA_WRPROT 0x84
-#define ERASE_NOT_ERASABLE 0x85
-#define ERASE_BAD_OFFSET 0xc1
-#define ERASE_BAD_TECH 0xc2
-#define ERASE_BAD_SOCKET 0xc3
-#define ERASE_BAD_VCC 0xc4
-#define ERASE_BAD_VPP 0xc5
-#define ERASE_BAD_SIZE 0xc6
-
-/* For CopyMemory */
-typedef struct copy_op_t {
- u_int Attributes;
- u_int SourceOffset;
- u_int DestOffset;
- u_int Count;
-} copy_op_t;
-
-/* For ReadMemory and WriteMemory */
-typedef struct mem_op_t {
- u_int Attributes;
- u_int Offset;
- u_int Count;
-} mem_op_t;
-
-#define MEM_OP_BUFFER 0x01
-#define MEM_OP_BUFFER_USER 0x00
-#define MEM_OP_BUFFER_KERNEL 0x01
-#define MEM_OP_DISABLE_ERASE 0x02
-#define MEM_OP_VERIFY 0x04
-
-/* For RegisterMTD */
-typedef struct mtd_reg_t {
- u_int Attributes;
- u_int Offset;
- u_long MediaID;
-} mtd_reg_t;
-
-/*
- * Definitions for MTD requests
- */
-
-typedef struct mtd_request_t {
- u_int SrcCardOffset;
- u_int DestCardOffset;
- u_int TransferLength;
- u_int Function;
- u_long MediaID;
- u_int Status;
- u_int Timeout;
-} mtd_request_t;
-
-/* Fields in MTD Function */
-#define MTD_REQ_ACTION 0x003
-#define MTD_REQ_ERASE 0x000
-#define MTD_REQ_READ 0x001
-#define MTD_REQ_WRITE 0x002
-#define MTD_REQ_COPY 0x003
-#define MTD_REQ_NOERASE 0x004
-#define MTD_REQ_VERIFY 0x008
-#define MTD_REQ_READY 0x010
-#define MTD_REQ_TIMEOUT 0x020
-#define MTD_REQ_LAST 0x040
-#define MTD_REQ_FIRST 0x080
-#define MTD_REQ_KERNEL 0x100
-
-/* Status codes */
-#define MTD_WAITREQ 0x00
-#define MTD_WAITTIMER 0x01
-#define MTD_WAITRDY 0x02
-#define MTD_WAITPOWER 0x03
-
-/*
- * Definitions for MTD helper functions
- */
-
-/* For MTDModifyWindow */
-typedef struct mtd_mod_win_t {
- u_int Attributes;
- u_int AccessSpeed;
- u_int CardOffset;
-} mtd_mod_win_t;
-
-/* For MTDSetVpp */
-typedef struct mtd_vpp_req_t {
- u_char Vpp1, Vpp2;
-} mtd_vpp_req_t;
-
-/* For MTDRDYMask */
-typedef struct mtd_rdy_req_t {
- u_int Mask;
-} mtd_rdy_req_t;
-
-enum mtd_helper {
- MTDRequestWindow, MTDModifyWindow, MTDReleaseWindow,
- MTDSetVpp, MTDRDYMask
-};
-
-#ifdef IN_CARD_SERVICES
-extern int MTDHelperEntry(int func, void *a1, void *a2);
-#else
-extern int MTDHelperEntry(int func, ...);
-#endif
-
-#endif /* _LINUX_BULKMEM_H */
diff --git a/mdk-stage1/pcmcia/cardmgr.c b/mdk-stage1/pcmcia/cardmgr.c
deleted file mode 100644
index 40b5e6a0f..000000000
--- a/mdk-stage1/pcmcia/cardmgr.c
+++ /dev/null
@@ -1,805 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/* Code comes from /anonymous@projects.sourceforge.net:/pub/pcmcia-cs/pcmcia-cs-3.1.23.tar.bz2
- *
- * Licence of this code follows:
-
- PCMCIA Card Manager daemon
-
- cardmgr.c 1.150 2000/12/14 17:12:59
-
- The contents of this file are subject to the Mozilla Public
- License Version 1.1 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of
- the License at http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS
- IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- implied. See the License for the specific language governing
- rights and limitations under the License.
-
- The initial developer of the original code is David A. Hinds
- <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-
- Alternatively, the contents of this file may be used under the
- terms of the GNU Public License version 2 (the "GPL"), in which
- case the provisions of the GPL are applicable instead of the
- above. If you wish to allow the use of your version of this file
- only under the terms of the GPL and not to allow others to use
- your version of this file under the MPL, indicate your decision
- by deleting the provisions above and replace them with the notice
- and other provisions required by the GPL. If you do not delete
- the provisions above, a recipient may use your version of this
- file under either the MPL or the GPL.
-
- */
-
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <sys/ioctl.h>
-#include <sys/wait.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <sys/file.h>
-
-#include <pcmcia/version.h>
-#include <pcmcia/config.h>
-#include <pcmcia/cs_types.h>
-#include <pcmcia/cs.h>
-#include <pcmcia/cistpl.h>
-#include <pcmcia/ds.h>
-
-#include "../log.h"
-#include "modules.h"
-
-#include "cardmgr.h"
-#include "pcmcia.h"
-
-/*====================================================================*/
-
-typedef struct socket_info_t {
- int fd;
- int state;
- card_info_t *card;
- bind_info_t *bind[MAX_BINDINGS];
- mtd_ident_t *mtd[2*CISTPL_MAX_DEVICES];
-} socket_info_t;
-
-#define SOCKET_PRESENT 0x01
-#define SOCKET_READY 0x02
-#define SOCKET_BOUND 0x04
-
-/* Linked list of resource adjustments */
-struct adjust_list_t *root_adjust = NULL;
-
-/* Linked list of device definitions */
-struct device_info_t *root_device = NULL;
-
-/* Special pointer to "anonymous" card definition */
-struct card_info_t *blank_card = NULL;
-
-/* Linked list of card definitions */
-struct card_info_t *root_card = NULL;
-
-/* Linked list of function definitions */
-struct card_info_t *root_func = NULL;
-
-/* Linked list of MTD definitions */
-struct mtd_ident_t *root_mtd = NULL;
-
-/* Default MTD */
-struct mtd_ident_t *default_mtd = NULL;
-
-static int sockets;
-static struct socket_info_t socket[MAX_SOCKS];
-
-static char *configpath = "/etc/pcmcia";
-
-/* Default path for socket info table */
-static char *stabfile;
-
-/*====================================================================*/
-
-static int major = 0;
-
-static int lookup_dev(char *name)
-{
- FILE *f;
- int n;
- char s[32], t[32];
-
- f = fopen("/proc/devices", "r");
- if (f == NULL)
- return -errno;
- while (fgets(s, 32, f) != NULL) {
- bzero(t, 32);
- if (sscanf(s, "%d %s", &n, t) == 2)
- if (strcmp(name, t) == 0)
- break;
- }
- fclose(f);
- if (strcmp(name, t) == 0)
- return n;
- else
- return -ENODEV;
-}
-
-static int open_dev(dev_t dev, int mode)
-{
- char * fn = "/tmp/cardmgr_tmp";
- int fd;
- unlink(fn);
- if (mknod(fn, mode, dev) != 0)
- return -1;
- fd = open(fn, (mode&S_IWRITE) ? O_RDWR : O_RDONLY);
- if (fd < 0)
- fd = open(fn, O_NONBLOCK|((mode&S_IWRITE) ? O_RDWR : O_RDONLY));
- unlink(fn);
- return fd;
-}
-
-static int open_sock(int sock, int mode)
-{
- dev_t dev = (major<<8) + sock;
- return open_dev(dev, mode);
-}
-
-/*======================================================================
-
- xlate_scsi_name() is a sort-of-hack used to deduce the minor
- device numbers of SCSI devices, from the information available to
- the low-level driver.
-
-======================================================================*/
-
-
-#include <linux/major.h>
-#include <scsi/scsi.h>
-
-static int xlate_scsi_name(bind_info_t *bind)
-{
- int i, fd, mode, minor;
- u_long arg[2], id1, id2;
-
- id1 = strtol(bind->name+3, NULL, 16);
- if ((bind->major == SCSI_DISK0_MAJOR) ||
- (bind->major == SCSI_CDROM_MAJOR))
- mode = S_IREAD|S_IFBLK;
- else
- mode = S_IREAD|S_IFCHR;
-
- for (i = 0; i < 16; i++) {
- minor = (bind->major == SCSI_DISK0_MAJOR) ? (i<<4) : i;
- fd = open_dev((bind->major<<8)+minor, mode);
- if (fd < 0)
- continue;
- if (ioctl(fd, SCSI_IOCTL_GET_IDLUN, arg) == 0) {
- id2 = (arg[0]&0x0f) + ((arg[0]>>4)&0xf0) +
- ((arg[0]>>8)&0xf00) + ((arg[0]>>12)&0xf000);
- if (id1 == id2) {
- close(fd);
- switch (bind->major) {
- case SCSI_DISK0_MAJOR:
- case SCSI_GENERIC_MAJOR:
- sprintf(bind->name+2, "%c", 'a'+i); break;
- case SCSI_CDROM_MAJOR:
- sprintf(bind->name, "scd%d", i); break;
- case SCSI_TAPE_MAJOR:
- sprintf(bind->name+2, "%d", i); break;
- }
- bind->minor = minor;
- return 0;
- }
- }
- close(fd);
- }
- return -1;
-}
-
-
-/*====================================================================*/
-
-static void write_stab(void)
-{
- int i, j, k;
- FILE *f;
- socket_info_t *s;
- bind_info_t *bind;
-
- f = fopen(stabfile, "w");
- if (f == NULL) {
- log_message("CM: fopen(stabfile) failed: %m");
- return;
- }
- if (flock(fileno(f), LOCK_EX) != 0) {
- log_message("CM: flock(stabfile) failed: %m");
- return;
- }
- for (i = 0; i < sockets; i++) {
- s = &socket[i];
- if (!(s->state & SOCKET_PRESENT))
- fprintf(f, "Socket %d: empty\n", i);
- else if (!s->card)
- fprintf(f, "Socket %d: unsupported card\n", i);
- else {
- fprintf(f, "Socket %d: %s\n", i, s->card->name);
- for (j = 0; j < s->card->bindings; j++)
- for (k = 0, bind = s->bind[j];
- bind != NULL;
- k++, bind = bind->next) {
- char *class = s->card->device[j]->class;
- fprintf(f, "%d\t%s\t%s\t%d\t%s",
- i, (class ? class : "none"),
- bind->dev_info, k, bind->name);
- if (bind->major)
- fprintf(f, "\t%d\t%d\n",
- bind->major, bind->minor);
- else
- fputc('\n', f);
- }
- }
- }
- fflush(f);
- fclose(f);
-}
-
-/*====================================================================*/
-
-static int get_tuple(int ns, cisdata_t code, ds_ioctl_arg_t *arg)
-{
- socket_info_t *s = &socket[ns];
-
- arg->tuple.DesiredTuple = code;
- arg->tuple.Attributes = 0;
- if (ioctl(s->fd, DS_GET_FIRST_TUPLE, arg) != 0)
- return -1;
- arg->tuple.TupleOffset = 0;
- if (ioctl(s->fd, DS_GET_TUPLE_DATA, arg) != 0) {
- log_message("CM: error reading CIS data on socket %d: %m", ns);
- return -1;
- }
- if (ioctl(s->fd, DS_PARSE_TUPLE, arg) != 0) {
- log_message("CM: error parsing CIS on socket %d: %m", ns);
- return -1;
- }
- return 0;
-}
-
-/*====================================================================*/
-
-typedef struct {
- u_short vendor, device;
-} pci_id_t;
-
-
-static card_info_t *lookup_card(int ns)
-{
- socket_info_t *s = &socket[ns];
- card_info_t *card = NULL;
- ds_ioctl_arg_t arg;
- cistpl_vers_1_t *vers = NULL;
- cistpl_manfid_t manfid = { 0, 0 };
- pci_id_t pci_id = { 0, 0 };
- cistpl_funcid_t funcid = { 0xff, 0xff };
- cs_status_t status;
- config_info_t config;
- int i, ret, match;
- int has_cis = 0;
-
- /* Do we have a CIS structure? */
- ret = ioctl(s->fd, DS_VALIDATE_CIS, &arg);
- has_cis = ((ret == 0) && (arg.cisinfo.Chains > 0));
-
- /* Try to read VERS_1, MANFID tuples */
- if (has_cis) {
- /* rule of thumb: cards with no FUNCID, but with common memory
- device geometry information, are probably memory cards */
- if (get_tuple(ns, CISTPL_FUNCID, &arg) == 0)
- memcpy(&funcid, &arg.tuple_parse.parse.funcid,
- sizeof(funcid));
- else if (get_tuple(ns, CISTPL_DEVICE_GEO, &arg) == 0)
- funcid.func = CISTPL_FUNCID_MEMORY;
- if (get_tuple(ns, CISTPL_MANFID, &arg) == 0)
- memcpy(&manfid, &arg.tuple_parse.parse.manfid,
- sizeof(manfid));
- if (get_tuple(ns, CISTPL_VERS_1, &arg) == 0)
- vers = &arg.tuple_parse.parse.version_1;
-
- match = 0;
- for (card = root_card; card; card = card->next) {
- switch (card->ident_type) {
-
- case VERS_1_IDENT:
- if (vers == NULL)
- break;
- for (i = 0; i < card->id.vers.ns; i++) {
- if (strcmp(card->id.vers.pi[i], "*") == 0)
- continue;
- if (i >= vers->ns)
- break;
- if (strcmp(card->id.vers.pi[i],
- vers->str+vers->ofs[i]) != 0)
- break;
- }
- if (i < card->id.vers.ns)
- break;
- match = 1;
- break;
-
- case MANFID_IDENT:
- if ((manfid.manf == card->id.manfid.manf) &&
- (manfid.card == card->id.manfid.card))
- match = 1;
- break;
-
- case TUPLE_IDENT:
- arg.tuple.DesiredTuple = card->id.tuple.code;
- arg.tuple.Attributes = 0;
- ret = ioctl(s->fd, DS_GET_FIRST_TUPLE, &arg);
- if (ret != 0) break;
- arg.tuple.TupleOffset = card->id.tuple.ofs;
- ret = ioctl(s->fd, DS_GET_TUPLE_DATA, &arg);
- if (ret != 0) break;
- if (strncmp((char *)arg.tuple_parse.data,
- card->id.tuple.info,
- strlen(card->id.tuple.info)) != 0)
- break;
- match = 1;
- break;
-
- default:
- /* Skip */
- break;
- }
- if (match) break;
- }
- }
-
- /* Check PCI vendor/device info */
- status.Function = config.Function = config.ConfigBase = 0;
- if ((ioctl(s->fd, DS_GET_CONFIGURATION_INFO, &config) == 0) &&
- (config.IntType == INT_CARDBUS)) {
- pci_id.vendor = config.ConfigBase & 0xffff;
- pci_id.device = config.ConfigBase >> 16;
- if (!card) {
- for (card = root_card; card; card = card->next)
- if ((card->ident_type == PCI_IDENT) &&
- (pci_id.vendor == card->id.manfid.manf) &&
- (pci_id.device == card->id.manfid.card))
- break;
- }
- }
-
- /* Try for a FUNCID match */
- if (!card && (funcid.func != 0xff)) {
- for (card = root_func; card; card = card->next)
- if (card->id.func.funcid == funcid.func)
- break;
- }
-
- if (card) {
- log_message("CM: socket %d: %s", ns, card->name);
- return card;
- }
-
- status.Function = 0;
- if (!blank_card || (status.CardState & CS_EVENT_CB_DETECT) ||
- manfid.manf || manfid.card || pci_id.vendor || vers) {
- log_message("CM: unsupported card in socket %d", ns);
- return NULL;
- } else {
- card = blank_card;
- log_message("CM: socket %d: %s", ns, card->name);
- return card;
- }
-}
-
-
-static void cardmgr_fail(void)
-{
- log_message("CM: cardmgr: failed");
-}
-
-/*====================================================================*/
-
-static int load_config(void)
-{
- if (chdir(configpath)) {
- log_message("CM: chdir to %s failed: %m", configpath);
- return -1;
- }
-
- if (parse_configfile("config"))
- return -1;
-
- if (!root_device)
- log_message("CM: no device drivers defined");
-
- if (!root_card && !root_func)
- log_message("CM: no cards defined");
-
- return 0;
-}
-
-
-/*====================================================================*/
-
-static void install_module(char *mod, char *opts)
-{
- my_insmod(mod, ANY_DRIVER_TYPE, opts);
-}
-
-/*====================================================================*/
-
-static mtd_ident_t *lookup_mtd(region_info_t *region)
-{
- mtd_ident_t *mtd;
- int match = 0;
-
- for (mtd = root_mtd; mtd; mtd = mtd->next) {
- switch (mtd->mtd_type) {
- case JEDEC_MTD:
- if ((mtd->jedec_mfr == region->JedecMfr) &&
- (mtd->jedec_info == region->JedecInfo)) {
- match = 1;
- break;
- }
- case DTYPE_MTD:
- break;
- default:
- break;
- }
- if (match) break;
- }
- if (mtd)
- return mtd;
- else
- return default_mtd;
-}
-
-/*====================================================================*/
-
-static void bind_mtd(int sn)
-{
- socket_info_t *s = &socket[sn];
- region_info_t region;
- bind_info_t bind;
- mtd_info_t mtd_info;
- mtd_ident_t *mtd;
- int i, attr, ret, nr;
-
- nr = 0;
- for (attr = 0; attr < 2; attr++) {
- region.Attributes = attr;
- ret = ioctl(s->fd, DS_GET_FIRST_REGION, &region);
- while (ret == 0) {
- mtd = lookup_mtd(&region);
- if (mtd) {
- /* Have we seen this MTD before? */
- for (i = 0; i < nr; i++)
- if (s->mtd[i] == mtd) break;
- if (i == nr) {
- install_module(mtd->module, mtd->opts);
- s->mtd[nr] = mtd;
- mtd->refs++;
- nr++;
- }
- log_message("CM: %s memory region at 0x%lx: %s",
- attr ? "Attribute" : "Common", (long unsigned int) region.CardOffset,
- mtd->name);
- /* Bind MTD to this region */
- strcpy(mtd_info.dev_info, s->mtd[i]->module);
- mtd_info.Attributes = region.Attributes;
- mtd_info.CardOffset = region.CardOffset;
- if (ioctl(s->fd, DS_BIND_MTD, &mtd_info) != 0) {
- log_message( "bind MTD '%s' to region at 0x%lx failed: %m",
- (char *)mtd_info.dev_info, (long unsigned int) region.CardOffset);
- }
- }
- ret = ioctl(s->fd, DS_GET_NEXT_REGION, &region);
- }
- }
- s->mtd[nr] = NULL;
-
- /* Now bind each unique MTD as a normal client of this socket */
- for (i = 0; i < nr; i++) {
- strcpy(bind.dev_info, s->mtd[i]->module);
- bind.function = 0;
- if (ioctl(s->fd, DS_BIND_REQUEST, &bind) != 0)
- log_message("CM: bind MTD '%s' to socket %d failed: %m",
- (char *)bind.dev_info, sn);
- }
-}
-
-/*====================================================================*/
-
-static void update_cis(socket_info_t *s)
-{
- cisdump_t cis;
- FILE *f = fopen(s->card->cis_file, "r");
- if (f == NULL)
- log_message("CM: could not open '%s': %m", s->card->cis_file);
- else {
- cis.Length = fread(cis.Data, 1, CISTPL_MAX_CIS_SIZE, f);
- fclose(f);
- if (ioctl(s->fd, DS_REPLACE_CIS, &cis) != 0)
- log_message("CM: could not replace CIS: %m");
- }
-}
-
-/*====================================================================*/
-
-static void do_insert(int sn)
-{
- socket_info_t *s = &socket[sn];
- card_info_t *card;
- device_info_t **dev;
- bind_info_t *bind, **tail;
- int i, j, ret;
-
- /* Already identified? */
- if (s->card && (s->card != blank_card))
- return;
-
- log_message("CM: initializing socket %d", sn);
- card = lookup_card(sn);
- /* Make sure we've learned something new before continuing */
- if (card == s->card)
- return;
- s->card = card;
- card->refs++;
- if (card->cis_file)
- update_cis(s);
-
- dev = card->device;
-
- /* Set up MTD's */
- for (i = 0; i < card->bindings; i++)
- if (dev[i]->needs_mtd)
- break;
-
- if (i < card->bindings)
- bind_mtd(sn);
-
- /* Install kernel modules */
- for (i = 0; i < card->bindings; i++) {
- dev[i]->refs++;
- for (j = 0; j < dev[i]->modules; j++)
- install_module(dev[i]->module[j], dev[i]->opts[j]);
- }
-
- /* Bind drivers by their dev_info identifiers */
- for (i = 0; i < card->bindings; i++) {
- bind = calloc(1, sizeof(bind_info_t));
- strcpy((char *)bind->dev_info, (char *)dev[i]->dev_info);
- if (strcmp(bind->dev_info, "cb_enabler") == 0)
- bind->function = BIND_FN_ALL;
- else
- bind->function = card->dev_fn[i];
- if (ioctl(s->fd, DS_BIND_REQUEST, bind) != 0) {
- if (errno == EBUSY) {
- log_message("CM: '%s' already bound to socket %d",
- (char *)bind->dev_info, sn);
- } else {
- log_message("CM: bind '%s' to socket %d failed: %m",
- (char *)bind->dev_info, sn);
- write_stab();
- return;
- }
- }
-
- for (ret = j = 0; j < 10; j++) {
- ret = ioctl(s->fd, DS_GET_DEVICE_INFO, bind);
- if ((ret == 0) || (errno != EAGAIN))
- break;
- usleep(100000);
- }
- if (ret != 0) {
- log_message("CM: get dev info on socket %d failed: %m",
- sn);
- ioctl(s->fd, DS_UNBIND_REQUEST, bind);
- write_stab();
- return;
- }
- tail = &s->bind[i];
- while (ret == 0) {
- bind_info_t *old;
- if ((strlen(bind->name) > 3) && (bind->name[2] == '#'))
- xlate_scsi_name(bind);
- old = *tail = bind; tail = (bind_info_t **)&bind->next;
- bind = (bind_info_t *)malloc(sizeof(bind_info_t));
- memcpy(bind, old, sizeof(bind_info_t));
- ret = ioctl(s->fd, DS_GET_NEXT_DEVICE, bind);
- }
- *tail = NULL; free(bind);
- write_stab();
- }
-}
-
-/*====================================================================*/
-
-static void wait_for_pending(void)
-{
- cs_status_t status;
- int i;
- status.Function = 0;
- for (;;) {
- usleep(100000);
- for (i = 0; i < sockets; i++)
- if ((ioctl(socket[i].fd, DS_GET_STATUS, &status) == 0) && (status.CardState & CS_EVENT_CARD_INSERTION))
- break;
- if (i == sockets)
- break;
- }
-}
-
-/*====================================================================*/
-
-static void adjust_resources(void)
-{
- adjust_list_t *al;
- int ret;
- char tmp[64];
- int fd = socket[0].fd;
-
- for (al = root_adjust; al; al = al->next) {
- ret = ioctl(fd, DS_ADJUST_RESOURCE_INFO, &al->adj);
- if (ret != 0) {
- switch (al->adj.Resource) {
- case RES_MEMORY_RANGE:
- sprintf(tmp, "memory %#lx-%#lx",
- al->adj.resource.memory.Base,
- al->adj.resource.memory.Base +
- al->adj.resource.memory.Size - 1);
- break;
- case RES_IO_RANGE:
- sprintf(tmp, "IO ports %#x-%#x",
- al->adj.resource.io.BasePort,
- al->adj.resource.io.BasePort +
- al->adj.resource.io.NumPorts - 1);
- break;
- case RES_IRQ:
- sprintf(tmp, "irq %u", al->adj.resource.irq.IRQ);
- break;
- }
- log_message("CM: could not adjust resource: %s: %s", tmp, strerror(errno));
- }
- }
-}
-
-/*====================================================================*/
-
-static int init_sockets(void)
-{
- int fd, i;
- servinfo_t serv;
-
- major = lookup_dev("pcmcia");
- if (major < 0) {
- if (major == -ENODEV)
- log_message("CM: no pcmcia driver in /proc/devices");
- else
- log_message("CM: could not open /proc/devices: %m");
- return -1;
- }
-
- for (fd = -1, i = 0; i < MAX_SOCKS; i++) {
- fd = open_sock(i, S_IFCHR|S_IREAD|S_IWRITE);
- if (fd < 0)
- break;
- socket[i].fd = fd;
- socket[i].state = 0;
- }
-
- if ((fd < 0) && (errno != ENODEV) && (errno != ENOENT))
- log_message("CM: open_sock(socket %d) failed: %m", i);
- sockets = i;
- if (sockets == 0) {
- log_message("CM: no sockets found!");
- return -1;
- } else
- log_message("CM: found %d sockets", sockets);
-
- if (ioctl(socket[0].fd, DS_GET_CARD_SERVICES_INFO, &serv) == 0) {
- if (serv.Revision != CS_RELEASE_CODE)
- log_message("CM: warning, Card Services release does not match kernel");
- } else {
- log_message("CM: could not get CS revision info!");
- return -1;
- }
- adjust_resources();
- return 0;
-}
-
-/*====================================================================*/
-
-int cardmgr_call(void)
-{
- int i, max_fd, ret, event;
- struct timeval tv;
- fd_set fds;
-
- stabfile = "/var/run/stab";
-
- log_message("CM: cardmgr/hacked starting, version is " CS_RELEASE);
-
- if (load_config()) {
- cardmgr_fail();
- return -1;
- }
-
- if (init_sockets()) {
- cardmgr_fail();
- return -1;
- }
-
- /* If we've gotten this far, then clean up pid and stab at exit */
- write_stab();
-
- for (i = max_fd = 0; i < sockets; i++)
- max_fd = (socket[i].fd > max_fd) ? socket[i].fd : max_fd;
-
- /* First select() call: poll, don't wait */
- tv.tv_sec = tv.tv_usec = 0;
-
- /* Wait for sockets in setup-pending state to settle */
- wait_for_pending();
-
-
- FD_ZERO(&fds);
- for (i = 0; i < sockets; i++)
- FD_SET(socket[i].fd, &fds);
-
- if (select(max_fd+1, &fds, NULL, NULL, &tv) < 0) {
- log_perror("CM: select fails");
- return -1;
- }
-
- for (i = 0; i < sockets; i++) {
- if (!FD_ISSET(socket[i].fd, &fds))
- continue;
- ret = read(socket[i].fd, &event, 4);
- if ((ret == -1) && (errno != EAGAIN))
- log_message("CM: read(%d): %m\n", i);
- if (ret != 4)
- continue;
-
- switch (event) {
- case CS_EVENT_CARD_INSERTION:
- case CS_EVENT_INSERTION_REQUEST:
- socket[i].state |= SOCKET_PRESENT;
- case CS_EVENT_CARD_RESET:
- socket[i].state |= SOCKET_READY;
- do_insert(i);
- break;
- case CS_EVENT_RESET_PHYSICAL:
- socket[i].state &= ~SOCKET_READY;
- break;
- }
-
- }
-
- return 0;
-
-}
diff --git a/mdk-stage1/pcmcia/cardmgr.h b/mdk-stage1/pcmcia/cardmgr.h
deleted file mode 100644
index fe04044e5..000000000
--- a/mdk-stage1/pcmcia/cardmgr.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * cardmgr.h 1.35 2000/06/12 21:33:03
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#define MAX_SOCKS 8
-#define MAX_BINDINGS 4
-#define MAX_MODULES 4
-
-typedef struct adjust_list_t {
- adjust_t adj;
- struct adjust_list_t *next;
-} adjust_list_t;
-
-typedef struct func_ident_t {
- u_char funcid;
-} func_ident_t;
-
-typedef struct manfid_ident_t {
- u_short manf;
- u_short card;
-} manfid_ident_t;
-
-typedef struct vers_ident_t {
- int ns;
- char *pi[4];
-} vers_ident_t;
-
-typedef struct tuple_ident_t {
- cisdata_t code;
- long ofs;
- char *info;
-} tuple_ident_t;
-
-typedef struct device_info_t {
- dev_info_t dev_info;
- int needs_mtd;
- int modules;
- char *module[MAX_MODULES];
- char *opts[MAX_MODULES];
- char *class;
- int refs;
- struct device_info_t *next;
-} device_info_t;
-
-typedef struct card_info_t {
- char *name;
- enum {
- VERS_1_IDENT=1, MANFID_IDENT, TUPLE_IDENT, FUNC_IDENT,
- BLANK_IDENT, PCI_IDENT
- } ident_type;
- union {
- vers_ident_t vers;
- manfid_ident_t manfid;
- tuple_ident_t tuple;
- func_ident_t func;
- } id;
- int bindings;
- device_info_t *device[MAX_BINDINGS];
- int dev_fn[MAX_BINDINGS];
- char *cis_file;
- int refs;
- struct card_info_t *next;
-} card_info_t;
-
-typedef struct mtd_ident_t {
- char *name;
- enum {
- JEDEC_MTD=1, DTYPE_MTD, DEFAULT_MTD
- } mtd_type;
- int dtype, jedec_mfr, jedec_info;
- char *module, *opts;
- int refs;
- struct mtd_ident_t *next;
-} mtd_ident_t;
-
-extern adjust_list_t *root_adjust;
-extern device_info_t *root_device;
-extern card_info_t *blank_card;
-extern card_info_t *root_card, *root_func;
-extern mtd_ident_t *root_mtd, *default_mtd;
-
-int parse_configfile(char *fn);
diff --git a/mdk-stage1/pcmcia/cirrus.h b/mdk-stage1/pcmcia/cirrus.h
deleted file mode 100644
index b7aad5894..000000000
--- a/mdk-stage1/pcmcia/cirrus.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * cirrus.h 1.9 2000/06/12 21:29:37
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_CIRRUS_H
-#define _LINUX_CIRRUS_H
-
-#ifndef PCI_VENDOR_ID_CIRRUS
-#define PCI_VENDOR_ID_CIRRUS 0x1013
-#endif
-#ifndef PCI_DEVICE_ID_CIRRUS_6729
-#define PCI_DEVICE_ID_CIRRUS_6729 0x1100
-#endif
-#ifndef PCI_DEVICE_ID_CIRRUS_6832
-#define PCI_DEVICE_ID_CIRRUS_6832 0x1110
-#endif
-
-#define PD67_MISC_CTL_1 0x16 /* Misc control 1 */
-#define PD67_FIFO_CTL 0x17 /* FIFO control */
-#define PD67_MISC_CTL_2 0x1E /* Misc control 2 */
-#define PD67_CHIP_INFO 0x1f /* Chip information */
-#define PD67_ATA_CTL 0x026 /* 6730: ATA control */
-#define PD67_EXT_INDEX 0x2e /* Extension index */
-#define PD67_EXT_DATA 0x2f /* Extension data */
-
-#define pd67_ext_get(s, r) \
- (i365_set(s, PD67_EXT_INDEX, r), i365_get(s, PD67_EXT_DATA))
-#define pd67_ext_set(s, r, v) \
- (i365_set(s, PD67_EXT_INDEX, r), i365_set(s, PD67_EXT_DATA, v))
-
-/* PD6722 extension registers -- indexed in PD67_EXT_INDEX */
-#define PD67_DATA_MASK0 0x01 /* Data mask 0 */
-#define PD67_DATA_MASK1 0x02 /* Data mask 1 */
-#define PD67_DMA_CTL 0x03 /* DMA control */
-
-/* PD6730 extension registers -- indexed in PD67_EXT_INDEX */
-#define PD67_EXT_CTL_1 0x03 /* Extension control 1 */
-#define PD67_MEM_PAGE(n) ((n)+5) /* PCI window bits 31:24 */
-#define PD67_EXTERN_DATA 0x0a
-#define PD67_MISC_CTL_3 0x25
-#define PD67_SMB_PWR_CTL 0x26
-
-/* I/O window address offset */
-#define PD67_IO_OFF(w) (0x36+((w)<<1))
-
-/* Timing register sets */
-#define PD67_TIME_SETUP(n) (0x3a + 3*(n))
-#define PD67_TIME_CMD(n) (0x3b + 3*(n))
-#define PD67_TIME_RECOV(n) (0x3c + 3*(n))
-
-/* Flags for PD67_MISC_CTL_1 */
-#define PD67_MC1_5V_DET 0x01 /* 5v detect */
-#define PD67_MC1_MEDIA_ENA 0x01 /* 6730: Multimedia enable */
-#define PD67_MC1_VCC_3V 0x02 /* 3.3v Vcc */
-#define PD67_MC1_PULSE_MGMT 0x04
-#define PD67_MC1_PULSE_IRQ 0x08
-#define PD67_MC1_SPKR_ENA 0x10
-#define PD67_MC1_INPACK_ENA 0x80
-
-/* Flags for PD67_FIFO_CTL */
-#define PD67_FIFO_EMPTY 0x80
-
-/* Flags for PD67_MISC_CTL_2 */
-#define PD67_MC2_FREQ_BYPASS 0x01
-#define PD67_MC2_DYNAMIC_MODE 0x02
-#define PD67_MC2_SUSPEND 0x04
-#define PD67_MC2_5V_CORE 0x08
-#define PD67_MC2_LED_ENA 0x10 /* IRQ 12 is LED enable */
-#define PD67_MC2_FAST_PCI 0x10 /* 6729: PCI bus > 25 MHz */
-#define PD67_MC2_3STATE_BIT7 0x20 /* Floppy change bit */
-#define PD67_MC2_DMA_MODE 0x40
-#define PD67_MC2_IRQ15_RI 0x80 /* IRQ 15 is ring enable */
-
-/* Flags for PD67_CHIP_INFO */
-#define PD67_INFO_SLOTS 0x20 /* 0 = 1 slot, 1 = 2 slots */
-#define PD67_INFO_CHIP_ID 0xc0
-#define PD67_INFO_REV 0x1c
-
-/* Fields in PD67_TIME_* registers */
-#define PD67_TIME_SCALE 0xc0
-#define PD67_TIME_SCALE_1 0x00
-#define PD67_TIME_SCALE_16 0x40
-#define PD67_TIME_SCALE_256 0x80
-#define PD67_TIME_SCALE_4096 0xc0
-#define PD67_TIME_MULT 0x3f
-
-/* Fields in PD67_DMA_CTL */
-#define PD67_DMA_MODE 0xc0
-#define PD67_DMA_OFF 0x00
-#define PD67_DMA_DREQ_INPACK 0x40
-#define PD67_DMA_DREQ_WP 0x80
-#define PD67_DMA_DREQ_BVD2 0xc0
-#define PD67_DMA_PULLUP 0x20 /* Disable socket pullups? */
-
-/* Fields in PD67_EXT_CTL_1 */
-#define PD67_EC1_VCC_PWR_LOCK 0x01
-#define PD67_EC1_AUTO_PWR_CLEAR 0x02
-#define PD67_EC1_LED_ENA 0x04
-#define PD67_EC1_INV_CARD_IRQ 0x08
-#define PD67_EC1_INV_MGMT_IRQ 0x10
-#define PD67_EC1_PULLUP_CTL 0x20
-
-/* Fields in PD67_EXTERN_DATA */
-#define PD67_EXD_VS1(s) (0x01 << ((s)<<1))
-#define PD67_EXD_VS2(s) (0x02 << ((s)<<1))
-
-/* Fields in PD67_MISC_CTL_3 */
-#define PD67_MC3_IRQ_MASK 0x03
-#define PD67_MC3_IRQ_PCPCI 0x00
-#define PD67_MC3_IRQ_EXTERN 0x01
-#define PD67_MC3_IRQ_PCIWAY 0x02
-#define PD67_MC3_IRQ_PCI 0x03
-#define PD67_MC3_PWR_MASK 0x0c
-#define PD67_MC3_PWR_SERIAL 0x00
-#define PD67_MC3_PWR_TI2202 0x08
-#define PD67_MC3_PWR_SMB 0x0c
-
-/* Register definitions for Cirrus PD6832 PCI-to-CardBus bridge */
-
-/* PD6832 extension registers -- indexed in PD67_EXT_INDEX */
-#define PD68_EXT_CTL_2 0x0b
-#define PD68_PCI_SPACE 0x22
-#define PD68_PCCARD_SPACE 0x23
-#define PD68_WINDOW_TYPE 0x24
-#define PD68_EXT_CSC 0x2e
-#define PD68_MISC_CTL_4 0x2f
-#define PD68_MISC_CTL_5 0x30
-#define PD68_MISC_CTL_6 0x31
-
-/* Extra flags in PD67_MISC_CTL_3 */
-#define PD68_MC3_HW_SUSP 0x10
-#define PD68_MC3_MM_EXPAND 0x40
-#define PD68_MC3_MM_ARM 0x80
-
-/* Bridge Control Register */
-#define PD6832_BCR_MGMT_IRQ_ENA 0x0800
-
-/* Socket Number Register */
-#define PD6832_SOCKET_NUMBER 0x004c /* 8 bit */
-
-/* Data structure for tracking vendor-specific state */
-typedef struct cirrus_state_t {
- u_char misc1; /* PD67_MISC_CTL_1 */
- u_char misc2; /* PD67_MISC_CTL_2 */
- u_char ectl1; /* PD67_EXT_CTL_1 */
- u_char timer[6]; /* PD67_TIME_* */
-} cirrus_state_t;
-
-#define CIRRUS_PCIC_ID \
- IS_PD6729, IS_PD6730, IS_PD6832
-
-#define CIRRUS_PCIC_INFO \
- { "Cirrus PD6729", IS_CIRRUS|IS_PCI, ID(CIRRUS, 6729) }, \
- { "Cirrus PD6730", IS_CIRRUS|IS_PCI, PCI_VENDOR_ID_CIRRUS, -1 }, \
- { "Cirrus PD6832", IS_CIRRUS|IS_CARDBUS, ID(CIRRUS, 6832) }
-
-#endif /* _LINUX_CIRRUS_H */
diff --git a/mdk-stage1/pcmcia/cistpl.h b/mdk-stage1/pcmcia/cistpl.h
deleted file mode 100644
index a4b16a6e4..000000000
--- a/mdk-stage1/pcmcia/cistpl.h
+++ /dev/null
@@ -1,604 +0,0 @@
-/*
- * cistpl.h 1.34 2000/06/19 23:18:12
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_CISTPL_H
-#define _LINUX_CISTPL_H
-
-#define CISTPL_NULL 0x00
-#define CISTPL_DEVICE 0x01
-#define CISTPL_LONGLINK_CB 0x02
-#define CISTPL_INDIRECT 0x03
-#define CISTPL_CONFIG_CB 0x04
-#define CISTPL_CFTABLE_ENTRY_CB 0x05
-#define CISTPL_LONGLINK_MFC 0x06
-#define CISTPL_BAR 0x07
-#define CISTPL_PWR_MGMNT 0x08
-#define CISTPL_EXTDEVICE 0x09
-#define CISTPL_CHECKSUM 0x10
-#define CISTPL_LONGLINK_A 0x11
-#define CISTPL_LONGLINK_C 0x12
-#define CISTPL_LINKTARGET 0x13
-#define CISTPL_NO_LINK 0x14
-#define CISTPL_VERS_1 0x15
-#define CISTPL_ALTSTR 0x16
-#define CISTPL_DEVICE_A 0x17
-#define CISTPL_JEDEC_C 0x18
-#define CISTPL_JEDEC_A 0x19
-#define CISTPL_CONFIG 0x1a
-#define CISTPL_CFTABLE_ENTRY 0x1b
-#define CISTPL_DEVICE_OC 0x1c
-#define CISTPL_DEVICE_OA 0x1d
-#define CISTPL_DEVICE_GEO 0x1e
-#define CISTPL_DEVICE_GEO_A 0x1f
-#define CISTPL_MANFID 0x20
-#define CISTPL_FUNCID 0x21
-#define CISTPL_FUNCE 0x22
-#define CISTPL_SWIL 0x23
-#define CISTPL_END 0xff
-/* Layer 2 tuples */
-#define CISTPL_VERS_2 0x40
-#define CISTPL_FORMAT 0x41
-#define CISTPL_GEOMETRY 0x42
-#define CISTPL_BYTEORDER 0x43
-#define CISTPL_DATE 0x44
-#define CISTPL_BATTERY 0x45
-#define CISTPL_FORMAT_A 0x47
-/* Layer 3 tuples */
-#define CISTPL_ORG 0x46
-#define CISTPL_SPCL 0x90
-
-typedef struct cistpl_longlink_t {
- u_int addr;
-} cistpl_longlink_t;
-
-typedef struct cistpl_checksum_t {
- u_short addr;
- u_short len;
- u_char sum;
-} cistpl_checksum_t;
-
-#define CISTPL_MAX_FUNCTIONS 8
-#define CISTPL_MFC_ATTR 0x00
-#define CISTPL_MFC_COMMON 0x01
-
-typedef struct cistpl_longlink_mfc_t {
- u_char nfn;
- struct {
- u_char space;
- u_int addr;
- } fn[CISTPL_MAX_FUNCTIONS];
-} cistpl_longlink_mfc_t;
-
-#define CISTPL_MAX_ALTSTR_STRINGS 4
-
-typedef struct cistpl_altstr_t {
- u_char ns;
- u_char ofs[CISTPL_MAX_ALTSTR_STRINGS];
- char str[254];
-} cistpl_altstr_t;
-
-#define CISTPL_DTYPE_NULL 0x00
-#define CISTPL_DTYPE_ROM 0x01
-#define CISTPL_DTYPE_OTPROM 0x02
-#define CISTPL_DTYPE_EPROM 0x03
-#define CISTPL_DTYPE_EEPROM 0x04
-#define CISTPL_DTYPE_FLASH 0x05
-#define CISTPL_DTYPE_SRAM 0x06
-#define CISTPL_DTYPE_DRAM 0x07
-#define CISTPL_DTYPE_FUNCSPEC 0x0d
-#define CISTPL_DTYPE_EXTEND 0x0e
-
-#define CISTPL_MAX_DEVICES 4
-
-typedef struct cistpl_device_t {
- u_char ndev;
- struct {
- u_char type;
- u_char wp;
- u_int speed;
- u_int size;
- } dev[CISTPL_MAX_DEVICES];
-} cistpl_device_t;
-
-#define CISTPL_DEVICE_MWAIT 0x01
-#define CISTPL_DEVICE_3VCC 0x02
-
-typedef struct cistpl_device_o_t {
- u_char flags;
- cistpl_device_t device;
-} cistpl_device_o_t;
-
-#define CISTPL_VERS_1_MAX_PROD_STRINGS 4
-
-typedef struct cistpl_vers_1_t {
- u_char major;
- u_char minor;
- u_char ns;
- u_char ofs[CISTPL_VERS_1_MAX_PROD_STRINGS];
- char str[254];
-} cistpl_vers_1_t;
-
-typedef struct cistpl_jedec_t {
- u_char nid;
- struct {
- u_char mfr;
- u_char info;
- } id[CISTPL_MAX_DEVICES];
-} cistpl_jedec_t;
-
-typedef struct cistpl_manfid_t {
- u_short manf;
- u_short card;
-} cistpl_manfid_t;
-
-#define CISTPL_FUNCID_MULTI 0x00
-#define CISTPL_FUNCID_MEMORY 0x01
-#define CISTPL_FUNCID_SERIAL 0x02
-#define CISTPL_FUNCID_PARALLEL 0x03
-#define CISTPL_FUNCID_FIXED 0x04
-#define CISTPL_FUNCID_VIDEO 0x05
-#define CISTPL_FUNCID_NETWORK 0x06
-#define CISTPL_FUNCID_AIMS 0x07
-#define CISTPL_FUNCID_SCSI 0x08
-
-#define CISTPL_SYSINIT_POST 0x01
-#define CISTPL_SYSINIT_ROM 0x02
-
-typedef struct cistpl_funcid_t {
- u_char func;
- u_char sysinit;
-} cistpl_funcid_t;
-
-typedef struct cistpl_funce_t {
- u_char type;
- u_char data[0];
-} cistpl_funce_t;
-
-/*======================================================================
-
- Modem Function Extension Tuples
-
-======================================================================*/
-
-#define CISTPL_FUNCE_SERIAL_IF 0x00
-#define CISTPL_FUNCE_SERIAL_CAP 0x01
-#define CISTPL_FUNCE_SERIAL_SERV_DATA 0x02
-#define CISTPL_FUNCE_SERIAL_SERV_FAX 0x03
-#define CISTPL_FUNCE_SERIAL_SERV_VOICE 0x04
-#define CISTPL_FUNCE_SERIAL_CAP_DATA 0x05
-#define CISTPL_FUNCE_SERIAL_CAP_FAX 0x06
-#define CISTPL_FUNCE_SERIAL_CAP_VOICE 0x07
-#define CISTPL_FUNCE_SERIAL_IF_DATA 0x08
-#define CISTPL_FUNCE_SERIAL_IF_FAX 0x09
-#define CISTPL_FUNCE_SERIAL_IF_VOICE 0x0a
-
-/* UART identification */
-#define CISTPL_SERIAL_UART_8250 0x00
-#define CISTPL_SERIAL_UART_16450 0x01
-#define CISTPL_SERIAL_UART_16550 0x02
-#define CISTPL_SERIAL_UART_8251 0x03
-#define CISTPL_SERIAL_UART_8530 0x04
-#define CISTPL_SERIAL_UART_85230 0x05
-
-/* UART capabilities */
-#define CISTPL_SERIAL_UART_SPACE 0x01
-#define CISTPL_SERIAL_UART_MARK 0x02
-#define CISTPL_SERIAL_UART_ODD 0x04
-#define CISTPL_SERIAL_UART_EVEN 0x08
-#define CISTPL_SERIAL_UART_5BIT 0x01
-#define CISTPL_SERIAL_UART_6BIT 0x02
-#define CISTPL_SERIAL_UART_7BIT 0x04
-#define CISTPL_SERIAL_UART_8BIT 0x08
-#define CISTPL_SERIAL_UART_1STOP 0x10
-#define CISTPL_SERIAL_UART_MSTOP 0x20
-#define CISTPL_SERIAL_UART_2STOP 0x40
-
-typedef struct cistpl_serial_t {
- u_char uart_type;
- u_char uart_cap_0;
- u_char uart_cap_1;
-} cistpl_serial_t;
-
-typedef struct cistpl_modem_cap_t {
- u_char flow;
- u_char cmd_buf;
- u_char rcv_buf_0, rcv_buf_1, rcv_buf_2;
- u_char xmit_buf_0, xmit_buf_1, xmit_buf_2;
-} cistpl_modem_cap_t;
-
-#define CISTPL_SERIAL_MOD_103 0x01
-#define CISTPL_SERIAL_MOD_V21 0x02
-#define CISTPL_SERIAL_MOD_V23 0x04
-#define CISTPL_SERIAL_MOD_V22 0x08
-#define CISTPL_SERIAL_MOD_212A 0x10
-#define CISTPL_SERIAL_MOD_V22BIS 0x20
-#define CISTPL_SERIAL_MOD_V26 0x40
-#define CISTPL_SERIAL_MOD_V26BIS 0x80
-#define CISTPL_SERIAL_MOD_V27BIS 0x01
-#define CISTPL_SERIAL_MOD_V29 0x02
-#define CISTPL_SERIAL_MOD_V32 0x04
-#define CISTPL_SERIAL_MOD_V32BIS 0x08
-#define CISTPL_SERIAL_MOD_V34 0x10
-
-#define CISTPL_SERIAL_ERR_MNP2_4 0x01
-#define CISTPL_SERIAL_ERR_V42_LAPM 0x02
-
-#define CISTPL_SERIAL_CMPR_V42BIS 0x01
-#define CISTPL_SERIAL_CMPR_MNP5 0x02
-
-#define CISTPL_SERIAL_CMD_AT1 0x01
-#define CISTPL_SERIAL_CMD_AT2 0x02
-#define CISTPL_SERIAL_CMD_AT3 0x04
-#define CISTPL_SERIAL_CMD_MNP_AT 0x08
-#define CISTPL_SERIAL_CMD_V25BIS 0x10
-#define CISTPL_SERIAL_CMD_V25A 0x20
-#define CISTPL_SERIAL_CMD_DMCL 0x40
-
-typedef struct cistpl_data_serv_t {
- u_char max_data_0;
- u_char max_data_1;
- u_char modulation_0;
- u_char modulation_1;
- u_char error_control;
- u_char compression;
- u_char cmd_protocol;
- u_char escape;
- u_char encrypt;
- u_char misc_features;
- u_char ccitt_code[0];
-} cistpl_data_serv_t;
-
-typedef struct cistpl_fax_serv_t {
- u_char max_data_0;
- u_char max_data_1;
- u_char modulation;
- u_char encrypt;
- u_char features_0;
- u_char features_1;
- u_char ccitt_code[0];
-} cistpl_fax_serv_t;
-
-typedef struct cistpl_voice_serv_t {
- u_char max_data_0;
- u_char max_data_1;
-} cistpl_voice_serv_t;
-
-/*======================================================================
-
- LAN Function Extension Tuples
-
-======================================================================*/
-
-#define CISTPL_FUNCE_LAN_TECH 0x01
-#define CISTPL_FUNCE_LAN_SPEED 0x02
-#define CISTPL_FUNCE_LAN_MEDIA 0x03
-#define CISTPL_FUNCE_LAN_NODE_ID 0x04
-#define CISTPL_FUNCE_LAN_CONNECTOR 0x05
-
-/* LAN technologies */
-#define CISTPL_LAN_TECH_ARCNET 0x01
-#define CISTPL_LAN_TECH_ETHERNET 0x02
-#define CISTPL_LAN_TECH_TOKENRING 0x03
-#define CISTPL_LAN_TECH_LOCALTALK 0x04
-#define CISTPL_LAN_TECH_FDDI 0x05
-#define CISTPL_LAN_TECH_ATM 0x06
-#define CISTPL_LAN_TECH_WIRELESS 0x07
-
-typedef struct cistpl_lan_tech_t {
- u_char tech;
-} cistpl_lan_tech_t;
-
-typedef struct cistpl_lan_speed_t {
- u_int speed;
-} cistpl_lan_speed_t;
-
-/* LAN media definitions */
-#define CISTPL_LAN_MEDIA_UTP 0x01
-#define CISTPL_LAN_MEDIA_STP 0x02
-#define CISTPL_LAN_MEDIA_THIN_COAX 0x03
-#define CISTPL_LAN_MEDIA_THICK_COAX 0x04
-#define CISTPL_LAN_MEDIA_FIBER 0x05
-#define CISTPL_LAN_MEDIA_900MHZ 0x06
-#define CISTPL_LAN_MEDIA_2GHZ 0x07
-#define CISTPL_LAN_MEDIA_5GHZ 0x08
-#define CISTPL_LAN_MEDIA_DIFF_IR 0x09
-#define CISTPL_LAN_MEDIA_PTP_IR 0x0a
-
-typedef struct cistpl_lan_media_t {
- u_char media;
-} cistpl_lan_media_t;
-
-typedef struct cistpl_lan_node_id_t {
- u_char nb;
- u_char id[16];
-} cistpl_lan_node_id_t;
-
-typedef struct cistpl_lan_connector_t {
- u_char code;
-} cistpl_lan_connector_t;
-
-/*======================================================================
-
- IDE Function Extension Tuples
-
-======================================================================*/
-
-#define CISTPL_IDE_INTERFACE 0x01
-
-typedef struct cistpl_ide_interface_t {
- u_char interface;
-} cistpl_ide_interface_t;
-
-/* First feature byte */
-#define CISTPL_IDE_SILICON 0x04
-#define CISTPL_IDE_UNIQUE 0x08
-#define CISTPL_IDE_DUAL 0x10
-
-/* Second feature byte */
-#define CISTPL_IDE_HAS_SLEEP 0x01
-#define CISTPL_IDE_HAS_STANDBY 0x02
-#define CISTPL_IDE_HAS_IDLE 0x04
-#define CISTPL_IDE_LOW_POWER 0x08
-#define CISTPL_IDE_REG_INHIBIT 0x10
-#define CISTPL_IDE_HAS_INDEX 0x20
-#define CISTPL_IDE_IOIS16 0x40
-
-typedef struct cistpl_ide_feature_t {
- u_char feature1;
- u_char feature2;
-} cistpl_ide_feature_t;
-
-#define CISTPL_FUNCE_IDE_IFACE 0x01
-#define CISTPL_FUNCE_IDE_MASTER 0x02
-#define CISTPL_FUNCE_IDE_SLAVE 0x03
-
-/*======================================================================
-
- Configuration Table Entries
-
-======================================================================*/
-
-#define CISTPL_BAR_SPACE 0x07
-#define CISTPL_BAR_SPACE_IO 0x10
-#define CISTPL_BAR_PREFETCH 0x20
-#define CISTPL_BAR_CACHEABLE 0x40
-#define CISTPL_BAR_1MEG_MAP 0x80
-
-typedef struct cistpl_bar_t {
- u_char attr;
- u_int size;
-} cistpl_bar_t;
-
-typedef struct cistpl_config_t {
- u_char last_idx;
- u_int base;
- u_int rmask[4];
- u_char subtuples;
-} cistpl_config_t;
-
-/* These are bits in the 'present' field, and indices in 'param' */
-#define CISTPL_POWER_VNOM 0
-#define CISTPL_POWER_VMIN 1
-#define CISTPL_POWER_VMAX 2
-#define CISTPL_POWER_ISTATIC 3
-#define CISTPL_POWER_IAVG 4
-#define CISTPL_POWER_IPEAK 5
-#define CISTPL_POWER_IDOWN 6
-
-#define CISTPL_POWER_HIGHZ_OK 0x01
-#define CISTPL_POWER_HIGHZ_REQ 0x02
-
-typedef struct cistpl_power_t {
- u_char present;
- u_char flags;
- u_int param[7];
-} cistpl_power_t;
-
-typedef struct cistpl_timing_t {
- u_int wait, waitscale;
- u_int ready, rdyscale;
- u_int reserved, rsvscale;
-} cistpl_timing_t;
-
-#define CISTPL_IO_LINES_MASK 0x1f
-#define CISTPL_IO_8BIT 0x20
-#define CISTPL_IO_16BIT 0x40
-#define CISTPL_IO_RANGE 0x80
-
-#define CISTPL_IO_MAX_WIN 16
-
-typedef struct cistpl_io_t {
- u_char flags;
- u_char nwin;
- struct {
- u_int base;
- u_int len;
- } win[CISTPL_IO_MAX_WIN];
-} cistpl_io_t;
-
-typedef struct cistpl_irq_t {
- u_int IRQInfo1;
- u_int IRQInfo2;
-} cistpl_irq_t;
-
-#define CISTPL_MEM_MAX_WIN 8
-
-typedef struct cistpl_mem_t {
- u_char flags;
- u_char nwin;
- struct {
- u_int len;
- u_int card_addr;
- u_int host_addr;
- } win[CISTPL_MEM_MAX_WIN];
-} cistpl_mem_t;
-
-#define CISTPL_CFTABLE_DEFAULT 0x0001
-#define CISTPL_CFTABLE_BVDS 0x0002
-#define CISTPL_CFTABLE_WP 0x0004
-#define CISTPL_CFTABLE_RDYBSY 0x0008
-#define CISTPL_CFTABLE_MWAIT 0x0010
-#define CISTPL_CFTABLE_AUDIO 0x0800
-#define CISTPL_CFTABLE_READONLY 0x1000
-#define CISTPL_CFTABLE_PWRDOWN 0x2000
-
-typedef struct cistpl_cftable_entry_t {
- u_char index;
- u_short flags;
- u_char interface;
- cistpl_power_t vcc, vpp1, vpp2;
- cistpl_timing_t timing;
- cistpl_io_t io;
- cistpl_irq_t irq;
- cistpl_mem_t mem;
- u_char subtuples;
-} cistpl_cftable_entry_t;
-
-#define CISTPL_CFTABLE_MASTER 0x000100
-#define CISTPL_CFTABLE_INVALIDATE 0x000200
-#define CISTPL_CFTABLE_VGA_PALETTE 0x000400
-#define CISTPL_CFTABLE_PARITY 0x000800
-#define CISTPL_CFTABLE_WAIT 0x001000
-#define CISTPL_CFTABLE_SERR 0x002000
-#define CISTPL_CFTABLE_FAST_BACK 0x004000
-#define CISTPL_CFTABLE_BINARY_AUDIO 0x010000
-#define CISTPL_CFTABLE_PWM_AUDIO 0x020000
-
-typedef struct cistpl_cftable_entry_cb_t {
- u_char index;
- u_int flags;
- cistpl_power_t vcc, vpp1, vpp2;
- u_char io;
- cistpl_irq_t irq;
- u_char mem;
- u_char subtuples;
-} cistpl_cftable_entry_cb_t;
-
-typedef struct cistpl_device_geo_t {
- u_char ngeo;
- struct {
- u_char buswidth;
- u_int erase_block;
- u_int read_block;
- u_int write_block;
- u_int partition;
- u_int interleave;
- } geo[CISTPL_MAX_DEVICES];
-} cistpl_device_geo_t;
-
-typedef struct cistpl_vers_2_t {
- u_char vers;
- u_char comply;
- u_short dindex;
- u_char vspec8, vspec9;
- u_char nhdr;
- u_char vendor, info;
- char str[244];
-} cistpl_vers_2_t;
-
-typedef struct cistpl_org_t {
- u_char data_org;
- char desc[30];
-} cistpl_org_t;
-
-#define CISTPL_ORG_FS 0x00
-#define CISTPL_ORG_APPSPEC 0x01
-#define CISTPL_ORG_XIP 0x02
-
-typedef struct cistpl_format_t {
- u_char type;
- u_char edc;
- u_int offset;
- u_int length;
-} cistpl_format_t;
-
-#define CISTPL_FORMAT_DISK 0x00
-#define CISTPL_FORMAT_MEM 0x01
-
-#define CISTPL_EDC_NONE 0x00
-#define CISTPL_EDC_CKSUM 0x01
-#define CISTPL_EDC_CRC 0x02
-#define CISTPL_EDC_PCC 0x03
-
-typedef union cisparse_t {
- cistpl_device_t device;
- cistpl_checksum_t checksum;
- cistpl_longlink_t longlink;
- cistpl_longlink_mfc_t longlink_mfc;
- cistpl_vers_1_t version_1;
- cistpl_altstr_t altstr;
- cistpl_jedec_t jedec;
- cistpl_manfid_t manfid;
- cistpl_funcid_t funcid;
- cistpl_funce_t funce;
- cistpl_bar_t bar;
- cistpl_config_t config;
- cistpl_cftable_entry_t cftable_entry;
- cistpl_cftable_entry_cb_t cftable_entry_cb;
- cistpl_device_geo_t device_geo;
- cistpl_vers_2_t vers_2;
- cistpl_org_t org;
- cistpl_format_t format;
-} cisparse_t;
-
-typedef struct tuple_t {
- u_int Attributes;
- cisdata_t DesiredTuple;
- u_int Flags; /* internal use */
- u_int LinkOffset; /* internal use */
- u_int CISOffset; /* internal use */
- cisdata_t TupleCode;
- cisdata_t TupleLink;
- cisdata_t TupleOffset;
- cisdata_t TupleDataMax;
- cisdata_t TupleDataLen;
- cisdata_t *TupleData;
-} tuple_t;
-
-/* Special cisdata_t value */
-#define RETURN_FIRST_TUPLE 0xff
-
-/* Attributes for tuple calls */
-#define TUPLE_RETURN_LINK 0x01
-#define TUPLE_RETURN_COMMON 0x02
-
-/* For ValidateCIS */
-typedef struct cisinfo_t {
- u_int Chains;
-} cisinfo_t;
-
-#define CISTPL_MAX_CIS_SIZE 0x200
-
-/* For ReplaceCIS */
-typedef struct cisdump_t {
- u_int Length;
- cisdata_t Data[CISTPL_MAX_CIS_SIZE];
-} cisdump_t;
-
-#endif /* LINUX_CISTPL_H */
diff --git a/mdk-stage1/pcmcia/config.h b/mdk-stage1/pcmcia/config.h
deleted file mode 100644
index 4ad8fe81a..000000000
--- a/mdk-stage1/pcmcia/config.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- Automatically generated by 'make config' -- don't edit!
-*/
-#ifndef _PCMCIA_CONFIG_H
-#define _PCMCIA_CONFIG_H
-
-#define AUTOCONF_INCLUDED
-#define __IN_PCMCIA_PACKAGE__
-
-#define LINUX "/home/gc/rpm/BUILD/linux"
-#define PREFIX "/home/gc/rpm/tmp/kernel-2.4.0-build"
-#define CC "/usr/bin/kgcc"
-#define LD "ld"
-#define KFLAGS ""
-#define UFLAGS ""
-#define PCDEBUG ""
-#define USE_PM 1
-#define UNSAFE_TOOLS 1
-#define CONFIG_CARDBUS 1
-#undef CONFIG_PNP_BIOS
-#define MODDIR "/lib/modules/2.4.0-6mdk"
-
-/* Options from /home/gc/rpm/BUILD/linux/.config */
-#define CONFIG_MODULES 1
-#undef CONFIG_PCMCIA
-#undef CONFIG_SMP
-#define CONFIG_PCI 1
-#define CONFIG_PCI_QUIRKS 1
-#define CONFIG_PM 1
-#define CONFIG_SCSI 1
-#define CONFIG_IEEE1394 1
-#define CONFIG_INET 1
-#define CONFIG_NET_PCMCIA_RADIO 1
-#define CONFIG_TR 1
-#undef CONFIG_NET_FASTROUTE
-#undef CONFIG_NET_DIVERT
-#define CONFIG_MODVERSIONS 1
-#define CONFIG_X86_L1_CACHE_BYTES 32
-#define CONFIG_X86_L1_CACHE_SHIFT 5
-#define CONFIG_PROC_FS 1
-#define ARCH "i386"
-#define HOST_ARCH "i386"
-#define AFLAGS ""
-#define CONFIG_ISA 1
-#define CONFIG_UID16 1
-
-#define UTS_RELEASE "2.4.0-6mdk"
-#define UTS_VERSION "#1 Wed Jan 24 16:10:16 CET 2001"
-#define LINUX_VERSION_CODE 132096
-#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
-
-#define HAS_PROC_BUS 1
-#define SYSV_INIT 1
-#define RC_DIR "/etc/rc.d"
-#undef HAS_FORMS
-#define MANDIR "/usr/share/man"
-#define XMANDIR "/usr/X11R6/man"
-
-#endif /* _PCMCIA_CONFIG_H */
diff --git a/mdk-stage1/pcmcia/cs.h b/mdk-stage1/pcmcia/cs.h
deleted file mode 100644
index be6f92d65..000000000
--- a/mdk-stage1/pcmcia/cs.h
+++ /dev/null
@@ -1,464 +0,0 @@
-/*
- * cs.h 1.71 2000/08/29 00:54:20
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_CS_H
-#define _LINUX_CS_H
-
-/* For AccessConfigurationRegister */
-typedef struct conf_reg_t {
- u_char Function;
- u_int Action;
- off_t Offset;
- u_int Value;
-} conf_reg_t;
-
-/* Actions */
-#define CS_READ 1
-#define CS_WRITE 2
-
-/* for AdjustResourceInfo */
-typedef struct adjust_t {
- u_int Action;
- u_int Resource;
- u_int Attributes;
- union {
- struct memory {
- u_long Base;
- u_long Size;
- } memory;
- struct io {
- ioaddr_t BasePort;
- ioaddr_t NumPorts;
- u_int IOAddrLines;
- } io;
- struct irq {
- u_int IRQ;
- } irq;
- } resource;
-} adjust_t;
-
-/* Action field */
-#define REMOVE_MANAGED_RESOURCE 1
-#define ADD_MANAGED_RESOURCE 2
-#define GET_FIRST_MANAGED_RESOURCE 3
-#define GET_NEXT_MANAGED_RESOURCE 4
-/* Resource field */
-#define RES_MEMORY_RANGE 1
-#define RES_IO_RANGE 2
-#define RES_IRQ 3
-/* Attribute field */
-#define RES_IRQ_TYPE 0x03
-#define RES_IRQ_TYPE_EXCLUSIVE 0
-#define RES_IRQ_TYPE_TIME 1
-#define RES_IRQ_TYPE_DYNAMIC 2
-#define RES_IRQ_CSC 0x04
-#define RES_SHARED 0x08
-#define RES_RESERVED 0x10
-#define RES_ALLOCATED 0x20
-#define RES_REMOVED 0x40
-
-typedef struct servinfo_t {
- char Signature[2];
- u_int Count;
- u_int Revision;
- u_int CSLevel;
- char *VendorString;
-} servinfo_t;
-
-typedef struct event_callback_args_t {
- client_handle_t client_handle;
- void *info;
- void *mtdrequest;
- void *buffer;
- void *misc;
- void *client_data;
- struct bus_operations *bus;
-} event_callback_args_t;
-
-/* for GetConfigurationInfo */
-typedef struct config_info_t {
- u_char Function;
- u_int Attributes;
- u_int Vcc, Vpp1, Vpp2;
- u_int IntType;
- u_int ConfigBase;
- u_char Status, Pin, Copy, Option, ExtStatus;
- u_int Present;
- u_int CardValues;
- u_int AssignedIRQ;
- u_int IRQAttributes;
- ioaddr_t BasePort1;
- ioaddr_t NumPorts1;
- u_int Attributes1;
- ioaddr_t BasePort2;
- ioaddr_t NumPorts2;
- u_int Attributes2;
- u_int IOAddrLines;
-} config_info_t;
-
-/* For CardValues field */
-#define CV_OPTION_VALUE 0x01
-#define CV_STATUS_VALUE 0x02
-#define CV_PIN_REPLACEMENT 0x04
-#define CV_COPY_VALUE 0x08
-#define CV_EXT_STATUS 0x10
-
-/* For GetFirst/NextClient */
-typedef struct client_req_t {
- socket_t Socket;
- u_int Attributes;
-} client_req_t;
-
-#define CLIENT_THIS_SOCKET 0x01
-
-/* For RegisterClient */
-typedef struct client_reg_t {
- dev_info_t *dev_info;
- u_int Attributes;
- u_int EventMask;
- int (*event_handler)(event_t event, int priority,
- event_callback_args_t *);
- event_callback_args_t event_callback_args;
- u_int Version;
-} client_reg_t;
-
-/* ModifyConfiguration */
-typedef struct modconf_t {
- u_int Attributes;
- u_int Vcc, Vpp1, Vpp2;
-} modconf_t;
-
-/* Attributes for ModifyConfiguration */
-#define CONF_IRQ_CHANGE_VALID 0x100
-#define CONF_VCC_CHANGE_VALID 0x200
-#define CONF_VPP1_CHANGE_VALID 0x400
-#define CONF_VPP2_CHANGE_VALID 0x800
-
-/* For RequestConfiguration */
-typedef struct config_req_t {
- u_int Attributes;
- u_int Vcc, Vpp1, Vpp2;
- u_int IntType;
- u_int ConfigBase;
- u_char Status, Pin, Copy, ExtStatus;
- u_char ConfigIndex;
- u_int Present;
-} config_req_t;
-
-/* Attributes for RequestConfiguration */
-#define CONF_ENABLE_IRQ 0x01
-#define CONF_ENABLE_DMA 0x02
-#define CONF_ENABLE_SPKR 0x04
-#define CONF_VALID_CLIENT 0x100
-
-/* IntType field */
-#define INT_MEMORY 0x01
-#define INT_MEMORY_AND_IO 0x02
-#define INT_CARDBUS 0x04
-
-/* For RequestIO and ReleaseIO */
-typedef struct io_req_t {
- ioaddr_t BasePort1;
- ioaddr_t NumPorts1;
- u_int Attributes1;
- ioaddr_t BasePort2;
- ioaddr_t NumPorts2;
- u_int Attributes2;
- u_int IOAddrLines;
-} io_req_t;
-
-/* Attributes for RequestIO and ReleaseIO */
-#define IO_SHARED 0x01
-#define IO_FIRST_SHARED 0x02
-#define IO_FORCE_ALIAS_ACCESS 0x04
-#define IO_DATA_PATH_WIDTH 0x18
-#define IO_DATA_PATH_WIDTH_8 0x00
-#define IO_DATA_PATH_WIDTH_16 0x08
-#define IO_DATA_PATH_WIDTH_AUTO 0x10
-
-/* For RequestIRQ and ReleaseIRQ */
-typedef struct irq_req_t {
- u_int Attributes;
- u_int AssignedIRQ;
- u_int IRQInfo1, IRQInfo2;
- void *Handler;
- void *Instance;
-} irq_req_t;
-
-/* Attributes for RequestIRQ and ReleaseIRQ */
-#define IRQ_TYPE 0x03
-#define IRQ_TYPE_EXCLUSIVE 0x00
-#define IRQ_TYPE_TIME 0x01
-#define IRQ_TYPE_DYNAMIC_SHARING 0x02
-#define IRQ_FORCED_PULSE 0x04
-#define IRQ_FIRST_SHARED 0x08
-#define IRQ_HANDLE_PRESENT 0x10
-#define IRQ_PULSE_ALLOCATED 0x100
-
-/* Bits in IRQInfo1 field */
-#define IRQ_MASK 0x0f
-#define IRQ_NMI_ID 0x01
-#define IRQ_IOCK_ID 0x02
-#define IRQ_BERR_ID 0x04
-#define IRQ_VEND_ID 0x08
-#define IRQ_INFO2_VALID 0x10
-#define IRQ_LEVEL_ID 0x20
-#define IRQ_PULSE_ID 0x40
-#define IRQ_SHARE_ID 0x80
-
-typedef struct eventmask_t {
- u_int Attributes;
- u_int EventMask;
-} eventmask_t;
-
-#define CONF_EVENT_MASK_VALID 0x01
-
-/* Configuration registers present */
-#define PRESENT_OPTION 0x001
-#define PRESENT_STATUS 0x002
-#define PRESENT_PIN_REPLACE 0x004
-#define PRESENT_COPY 0x008
-#define PRESENT_EXT_STATUS 0x010
-#define PRESENT_IOBASE_0 0x020
-#define PRESENT_IOBASE_1 0x040
-#define PRESENT_IOBASE_2 0x080
-#define PRESENT_IOBASE_3 0x100
-#define PRESENT_IOSIZE 0x200
-
-/* For GetMemPage, MapMemPage */
-typedef struct memreq_t {
- u_int CardOffset;
- page_t Page;
-} memreq_t;
-
-/* For ModifyWindow */
-typedef struct modwin_t {
- u_int Attributes;
- u_int AccessSpeed;
-} modwin_t;
-
-/* For RequestWindow */
-typedef struct win_req_t {
- u_int Attributes;
- u_long Base;
- u_int Size;
- u_int AccessSpeed;
-} win_req_t;
-
-/* Attributes for RequestWindow */
-#define WIN_ADDR_SPACE 0x0001
-#define WIN_ADDR_SPACE_MEM 0x0000
-#define WIN_ADDR_SPACE_IO 0x0001
-#define WIN_MEMORY_TYPE 0x0002
-#define WIN_MEMORY_TYPE_CM 0x0000
-#define WIN_MEMORY_TYPE_AM 0x0002
-#define WIN_ENABLE 0x0004
-#define WIN_DATA_WIDTH 0x0018
-#define WIN_DATA_WIDTH_8 0x0000
-#define WIN_DATA_WIDTH_16 0x0008
-#define WIN_DATA_WIDTH_32 0x0010
-#define WIN_PAGED 0x0020
-#define WIN_SHARED 0x0040
-#define WIN_FIRST_SHARED 0x0080
-#define WIN_USE_WAIT 0x0100
-#define WIN_STRICT_ALIGN 0x0200
-#define WIN_MAP_BELOW_1MB 0x0400
-#define WIN_PREFETCH 0x0800
-#define WIN_CACHEABLE 0x1000
-#define WIN_BAR_MASK 0xe000
-#define WIN_BAR_SHIFT 13
-
-/* Attributes for RegisterClient */
-#define INFO_MASTER_CLIENT 0x01
-#define INFO_IO_CLIENT 0x02
-#define INFO_MTD_CLIENT 0x04
-#define INFO_MEM_CLIENT 0x08
-#define MAX_NUM_CLIENTS 3
-
-#define INFO_CARD_SHARE 0x10
-#define INFO_CARD_EXCL 0x20
-
-typedef struct cs_status_t {
- u_char Function;
- event_t CardState;
- event_t SocketState;
-} cs_status_t;
-
-typedef struct error_info_t {
- int func;
- int retcode;
-} error_info_t;
-
-/* Special stuff for binding drivers to sockets */
-typedef struct bind_req_t {
- socket_t Socket;
- u_char Function;
- dev_info_t *dev_info;
-} bind_req_t;
-
-/* Flag to bind to all functions */
-#define BIND_FN_ALL 0xff
-
-typedef struct mtd_bind_t {
- socket_t Socket;
- u_int Attributes;
- u_int CardOffset;
- dev_info_t *dev_info;
-} mtd_bind_t;
-
-/* Events */
-#define CS_EVENT_PRI_LOW 0
-#define CS_EVENT_PRI_HIGH 1
-
-#define CS_EVENT_WRITE_PROTECT 0x000001
-#define CS_EVENT_CARD_LOCK 0x000002
-#define CS_EVENT_CARD_INSERTION 0x000004
-#define CS_EVENT_CARD_REMOVAL 0x000008
-#define CS_EVENT_BATTERY_DEAD 0x000010
-#define CS_EVENT_BATTERY_LOW 0x000020
-#define CS_EVENT_READY_CHANGE 0x000040
-#define CS_EVENT_CARD_DETECT 0x000080
-#define CS_EVENT_RESET_REQUEST 0x000100
-#define CS_EVENT_RESET_PHYSICAL 0x000200
-#define CS_EVENT_CARD_RESET 0x000400
-#define CS_EVENT_REGISTRATION_COMPLETE 0x000800
-#define CS_EVENT_RESET_COMPLETE 0x001000
-#define CS_EVENT_PM_SUSPEND 0x002000
-#define CS_EVENT_PM_RESUME 0x004000
-#define CS_EVENT_INSERTION_REQUEST 0x008000
-#define CS_EVENT_EJECTION_REQUEST 0x010000
-#define CS_EVENT_MTD_REQUEST 0x020000
-#define CS_EVENT_ERASE_COMPLETE 0x040000
-#define CS_EVENT_REQUEST_ATTENTION 0x080000
-#define CS_EVENT_CB_DETECT 0x100000
-#define CS_EVENT_3VCARD 0x200000
-#define CS_EVENT_XVCARD 0x400000
-
-/* Return codes */
-#define CS_SUCCESS 0x00
-#define CS_BAD_ADAPTER 0x01
-#define CS_BAD_ATTRIBUTE 0x02
-#define CS_BAD_BASE 0x03
-#define CS_BAD_EDC 0x04
-#define CS_BAD_IRQ 0x06
-#define CS_BAD_OFFSET 0x07
-#define CS_BAD_PAGE 0x08
-#define CS_READ_FAILURE 0x09
-#define CS_BAD_SIZE 0x0a
-#define CS_BAD_SOCKET 0x0b
-#define CS_BAD_TYPE 0x0d
-#define CS_BAD_VCC 0x0e
-#define CS_BAD_VPP 0x0f
-#define CS_BAD_WINDOW 0x11
-#define CS_WRITE_FAILURE 0x12
-#define CS_NO_CARD 0x14
-#define CS_UNSUPPORTED_FUNCTION 0x15
-#define CS_UNSUPPORTED_MODE 0x16
-#define CS_BAD_SPEED 0x17
-#define CS_BUSY 0x18
-#define CS_GENERAL_FAILURE 0x19
-#define CS_WRITE_PROTECTED 0x1a
-#define CS_BAD_ARG_LENGTH 0x1b
-#define CS_BAD_ARGS 0x1c
-#define CS_CONFIGURATION_LOCKED 0x1d
-#define CS_IN_USE 0x1e
-#define CS_NO_MORE_ITEMS 0x1f
-#define CS_OUT_OF_RESOURCE 0x20
-#define CS_BAD_HANDLE 0x21
-
-#define CS_BAD_TUPLE 0x40
-
-#ifdef __KERNEL__
-
-/*
- * Calls to set up low-level "Socket Services" drivers
- */
-
-typedef int (*ss_entry_t)(u_int sock, u_int cmd, void *arg);
-extern int register_ss_entry(int nsock, ss_entry_t entry);
-extern void unregister_ss_entry(ss_entry_t entry);
-
-/*
- * The main Card Services entry point
- */
-
-enum service {
- AccessConfigurationRegister, AddSocketServices,
- AdjustResourceInfo, CheckEraseQueue, CloseMemory, CopyMemory,
- DeregisterClient, DeregisterEraseQueue, GetCardServicesInfo,
- GetClientInfo, GetConfigurationInfo, GetEventMask,
- GetFirstClient, GetFirstPartion, GetFirstRegion, GetFirstTuple,
- GetNextClient, GetNextPartition, GetNextRegion, GetNextTuple,
- GetStatus, GetTupleData, MapLogSocket, MapLogWindow, MapMemPage,
- MapPhySocket, MapPhyWindow, ModifyConfiguration, ModifyWindow,
- OpenMemory, ParseTuple, ReadMemory, RegisterClient,
- RegisterEraseQueue, RegisterMTD, RegisterTimer,
- ReleaseConfiguration, ReleaseExclusive, ReleaseIO, ReleaseIRQ,
- ReleaseSocketMask, ReleaseWindow, ReplaceSocketServices,
- RequestConfiguration, RequestExclusive, RequestIO, RequestIRQ,
- RequestSocketMask, RequestWindow, ResetCard, ReturnSSEntry,
- SetEventMask, SetRegion, ValidateCIS, VendorSpecific,
- WriteMemory, BindDevice, BindMTD, ReportError,
- SuspendCard, ResumeCard, EjectCard, InsertCard, ReplaceCIS,
- GetFirstWindow, GetNextWindow, GetMemPage
-};
-
-#ifdef IN_CARD_SERVICES
-extern int CardServices(int func, void *a1, void *a2, void *a3);
-#else
-extern int CardServices(int func, ...);
-#endif
-
-#ifdef __BEOS__
-#define SS_MODULE_NAME(s) ("busses/pcmcia/" s "/v1")
-#define MTD_MODULE_NAME(s) ("busses/pcmcia/" s "/v1")
-#define CS_CLIENT_MODULE_NAME "bus_managers/pcmcia_cs/client/v1"
-typedef struct cs_client_module_info {
- bus_manager_info binfo;
- int (*_CardServices)(int, ...);
- int (*_MTDHelperEntry)(int, ...);
- void (*_add_timer)(struct timer_list *);
- void (*_del_timer)(struct timer_list *);
-} cs_client_module_info;
-#define CS_SOCKET_MODULE_NAME "bus_managers/pcmcia_cs/socket/v1"
-typedef struct cs_socket_module_info {
- bus_manager_info binfo;
- int (*_register_ss_entry)(int, ss_entry_t);
- void (*_unregister_ss_entry)(ss_entry_t);
- void (*_add_timer)(struct timer_list *);
- void (*_del_timer)(struct timer_list *);
- int (*register_resource)(int, u_long, u_long);
- int (*release_resource)(int, u_long, u_long);
- int (*check_resource)(int, u_long, u_long);
-} cs_socket_module_info;
-#endif
-
-#endif /* __KERNEL__ */
-
-#endif /* _LINUX_CS_H */
diff --git a/mdk-stage1/pcmcia/cs_types.h b/mdk-stage1/pcmcia/cs_types.h
deleted file mode 100644
index 40cf84b51..000000000
--- a/mdk-stage1/pcmcia/cs_types.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * cs_types.h 1.18 2000/06/12 21:55:40
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_CS_TYPES_H
-#define _LINUX_CS_TYPES_H
-
-#ifdef __linux__
-#ifdef __KERNEL__
-#include <linux/types.h>
-#else
-#include <sys/types.h>
-#endif
-#endif
-
-typedef u_short socket_t;
-typedef u_short ioaddr_t;
-typedef u_int event_t;
-typedef u_char cisdata_t;
-typedef u_short page_t;
-
-struct client_t;
-typedef struct client_t *client_handle_t;
-
-struct window_t;
-typedef struct window_t *window_handle_t;
-
-struct region_t;
-typedef struct region_t *memory_handle_t;
-
-struct eraseq_t;
-typedef struct eraseq_t *eraseq_handle_t;
-
-#ifndef DEV_NAME_LEN
-#define DEV_NAME_LEN 32
-#endif
-
-typedef char dev_info_t[DEV_NAME_LEN];
-
-#endif /* _LINUX_CS_TYPES_H */
diff --git a/mdk-stage1/pcmcia/driver_ops.h b/mdk-stage1/pcmcia/driver_ops.h
deleted file mode 100644
index 00cde3336..000000000
--- a/mdk-stage1/pcmcia/driver_ops.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * driver_ops.h 1.15 2000/06/12 21:55:40
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_DRIVER_OPS_H
-#define _LINUX_DRIVER_OPS_H
-
-#ifndef DEV_NAME_LEN
-#define DEV_NAME_LEN 32
-#endif
-
-#ifdef __KERNEL__
-
-typedef struct dev_node_t {
- char dev_name[DEV_NAME_LEN];
- u_short major, minor;
- struct dev_node_t *next;
-} dev_node_t;
-
-typedef struct dev_locator_t {
- enum { LOC_ISA, LOC_PCI } bus;
- union {
- struct {
- u_short io_base_1, io_base_2;
- u_long mem_base;
- u_char irq, dma;
- } isa;
- struct {
- u_char bus;
- u_char devfn;
- } pci;
- } b;
-} dev_locator_t;
-
-typedef struct driver_operations {
- char *name;
- dev_node_t *(*attach) (dev_locator_t *loc);
- void (*suspend) (dev_node_t *dev);
- void (*resume) (dev_node_t *dev);
- void (*detach) (dev_node_t *dev);
-} driver_operations;
-
-int register_driver(struct driver_operations *ops);
-void unregister_driver(struct driver_operations *ops);
-
-#ifdef __BEOS__
-#define CB_ENABLER_MODULE_NAME "bus_managers/cb_enabler/v1"
-typedef struct cb_enabler_module_info {
- bus_manager_info binfo;
- int (*register_driver)(struct driver_operations *ops);
- void (*unregister_driver)(struct driver_operations *ops);
-} cb_enabler_module_info;
-#endif /* __BEOS__ */
-
-#endif /* __KERNEL__ */
-
-#endif /* _LINUX_DRIVER_OPS_H */
diff --git a/mdk-stage1/pcmcia/ds.h b/mdk-stage1/pcmcia/ds.h
deleted file mode 100644
index 975ba596a..000000000
--- a/mdk-stage1/pcmcia/ds.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * ds.h 1.56 2000/06/12 21:55:40
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_DS_H
-#define _LINUX_DS_H
-
-#include <pcmcia/driver_ops.h>
-#include <pcmcia/bulkmem.h>
-
-typedef struct tuple_parse_t {
- tuple_t tuple;
- cisdata_t data[255];
- cisparse_t parse;
-} tuple_parse_t;
-
-typedef struct win_info_t {
- window_handle_t handle;
- win_req_t window;
- memreq_t map;
-} win_info_t;
-
-typedef struct bind_info_t {
- dev_info_t dev_info;
- u_char function;
- struct dev_link_t *instance;
- char name[DEV_NAME_LEN];
- u_short major, minor;
- void *next;
-} bind_info_t;
-
-typedef struct mtd_info_t {
- dev_info_t dev_info;
- u_int Attributes;
- u_int CardOffset;
-} mtd_info_t;
-
-typedef union ds_ioctl_arg_t {
- servinfo_t servinfo;
- adjust_t adjust;
- config_info_t config;
- tuple_t tuple;
- tuple_parse_t tuple_parse;
- client_req_t client_req;
- cs_status_t status;
- conf_reg_t conf_reg;
- cisinfo_t cisinfo;
- region_info_t region;
- bind_info_t bind_info;
- mtd_info_t mtd_info;
- win_info_t win_info;
- cisdump_t cisdump;
-} ds_ioctl_arg_t;
-
-#define DS_GET_CARD_SERVICES_INFO _IOR ('d', 1, servinfo_t)
-#define DS_ADJUST_RESOURCE_INFO _IOWR('d', 2, adjust_t)
-#define DS_GET_CONFIGURATION_INFO _IOWR('d', 3, config_info_t)
-#define DS_GET_FIRST_TUPLE _IOWR('d', 4, tuple_t)
-#define DS_GET_NEXT_TUPLE _IOWR('d', 5, tuple_t)
-#define DS_GET_TUPLE_DATA _IOWR('d', 6, tuple_parse_t)
-#define DS_PARSE_TUPLE _IOWR('d', 7, tuple_parse_t)
-#define DS_RESET_CARD _IO ('d', 8)
-#define DS_GET_STATUS _IOWR('d', 9, cs_status_t)
-#define DS_ACCESS_CONFIGURATION_REGISTER _IOWR('d', 10, conf_reg_t)
-#define DS_VALIDATE_CIS _IOR ('d', 11, cisinfo_t)
-#define DS_SUSPEND_CARD _IO ('d', 12)
-#define DS_RESUME_CARD _IO ('d', 13)
-#define DS_EJECT_CARD _IO ('d', 14)
-#define DS_INSERT_CARD _IO ('d', 15)
-#define DS_GET_FIRST_REGION _IOWR('d', 16, region_info_t)
-#define DS_GET_NEXT_REGION _IOWR('d', 17, region_info_t)
-#define DS_REPLACE_CIS _IOWR('d', 18, cisdump_t)
-#define DS_GET_FIRST_WINDOW _IOR ('d', 19, win_info_t)
-#define DS_GET_NEXT_WINDOW _IOWR('d', 20, win_info_t)
-#define DS_GET_MEM_PAGE _IOWR('d', 21, win_info_t)
-
-#define DS_BIND_REQUEST _IOWR('d', 60, bind_info_t)
-#define DS_GET_DEVICE_INFO _IOWR('d', 61, bind_info_t)
-#define DS_GET_NEXT_DEVICE _IOWR('d', 62, bind_info_t)
-#define DS_UNBIND_REQUEST _IOW ('d', 63, bind_info_t)
-#define DS_BIND_MTD _IOWR('d', 64, mtd_info_t)
-
-#ifdef __KERNEL__
-
-typedef struct dev_link_t {
- dev_node_t *dev;
- u_int state, open;
- wait_queue_head_t pending;
- struct timer_list release;
- client_handle_t handle;
- io_req_t io;
- irq_req_t irq;
- config_req_t conf;
- window_handle_t win;
- void *priv;
- struct dev_link_t *next;
-} dev_link_t;
-
-/* Flags for device state */
-#define DEV_PRESENT 0x01
-#define DEV_CONFIG 0x02
-#define DEV_STALE_CONFIG 0x04 /* release on close */
-#define DEV_STALE_LINK 0x08 /* detach on release */
-#define DEV_CONFIG_PENDING 0x10
-#define DEV_RELEASE_PENDING 0x20
-#define DEV_SUSPEND 0x40
-#define DEV_BUSY 0x80
-
-#define DEV_OK(l) \
- ((l) && ((l->state & ~DEV_BUSY) == (DEV_CONFIG|DEV_PRESENT)))
-
-int register_pccard_driver(dev_info_t *dev_info,
- dev_link_t *(*attach)(void),
- void (*detach)(dev_link_t *));
-
-int unregister_pccard_driver(dev_info_t *dev_info);
-
-#define register_pcmcia_driver register_pccard_driver
-#define unregister_pcmcia_driver unregister_pccard_driver
-
-#ifdef __BEOS__
-#define DS_MODULE_NAME "bus_managers/pcmcia_ds/v1"
-typedef struct ds_module_info {
- bus_manager_info binfo;
- int (*_register_pccard_driver)(dev_info_t *,
- dev_link_t *(*)(void),
- void (*)(dev_link_t *));
- int (*_unregister_pccard_driver)(dev_info_t *);
- struct driver_info_t **root_driver;
- int *sockets;
- struct socket_info_t **socket_table;
- sem_id *list_sem;
-} ds_module_info;
-#endif /* __BEOS__ */
-
-#endif /* __KERNEL__ */
-
-#endif /* _LINUX_DS_H */
diff --git a/mdk-stage1/pcmcia/i82365.h b/mdk-stage1/pcmcia/i82365.h
deleted file mode 100644
index 15e8e2540..000000000
--- a/mdk-stage1/pcmcia/i82365.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * i82365.h 1.20 2000/07/20 23:00:27
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_I82365_H
-#define _LINUX_I82365_H
-
-/* register definitions for the Intel 82365SL PCMCIA controller */
-
-/* Offsets for PCIC registers */
-#define I365_IDENT 0x00 /* Identification and revision */
-#define I365_STATUS 0x01 /* Interface status */
-#define I365_POWER 0x02 /* Power and RESETDRV control */
-#define I365_INTCTL 0x03 /* Interrupt and general control */
-#define I365_CSC 0x04 /* Card status change */
-#define I365_CSCINT 0x05 /* Card status change interrupt control */
-#define I365_ADDRWIN 0x06 /* Address window enable */
-#define I365_IOCTL 0x07 /* I/O control */
-#define I365_GENCTL 0x16 /* Card detect and general control */
-#define I365_GBLCTL 0x1E /* Global control register */
-
-/* Offsets for I/O and memory window registers */
-#define I365_IO(map) (0x08+((map)<<2))
-#define I365_MEM(map) (0x10+((map)<<3))
-#define I365_W_START 0
-#define I365_W_STOP 2
-#define I365_W_OFF 4
-
-/* Flags for I365_STATUS */
-#define I365_CS_BVD1 0x01
-#define I365_CS_STSCHG 0x01
-#define I365_CS_BVD2 0x02
-#define I365_CS_SPKR 0x02
-#define I365_CS_DETECT 0x0C
-#define I365_CS_WRPROT 0x10
-#define I365_CS_READY 0x20 /* Inverted */
-#define I365_CS_POWERON 0x40
-#define I365_CS_GPI 0x80
-
-/* Flags for I365_POWER */
-#define I365_PWR_OFF 0x00 /* Turn off the socket */
-#define I365_PWR_OUT 0x80 /* Output enable */
-#define I365_PWR_NORESET 0x40 /* Disable RESETDRV on resume */
-#define I365_PWR_AUTO 0x20 /* Auto pwr switch enable */
-#define I365_VCC_MASK 0x18 /* Mask for turning off Vcc */
-/* There are different layouts for B-step and DF-step chips: the B
- step has independent Vpp1/Vpp2 control, and the DF step has only
- Vpp1 control, plus 3V control */
-#define I365_VCC_5V 0x10 /* Vcc = 5.0v */
-#define I365_VCC_3V 0x18 /* Vcc = 3.3v */
-#define I365_VPP2_MASK 0x0c /* Mask for turning off Vpp2 */
-#define I365_VPP2_5V 0x04 /* Vpp2 = 5.0v */
-#define I365_VPP2_12V 0x08 /* Vpp2 = 12.0v */
-#define I365_VPP1_MASK 0x03 /* Mask for turning off Vpp1 */
-#define I365_VPP1_5V 0x01 /* Vpp2 = 5.0v */
-#define I365_VPP1_12V 0x02 /* Vpp2 = 12.0v */
-
-/* Flags for I365_INTCTL */
-#define I365_RING_ENA 0x80
-#define I365_PC_RESET 0x40
-#define I365_PC_IOCARD 0x20
-#define I365_INTR_ENA 0x10
-#define I365_IRQ_MASK 0x0F
-
-/* Flags for I365_CSC and I365_CSCINT*/
-#define I365_CSC_BVD1 0x01
-#define I365_CSC_STSCHG 0x01
-#define I365_CSC_BVD2 0x02
-#define I365_CSC_READY 0x04
-#define I365_CSC_DETECT 0x08
-#define I365_CSC_ANY 0x0F
-#define I365_CSC_GPI 0x10
-
-/* Flags for I365_ADDRWIN */
-#define I365_ADDR_MEMCS16 0x20
-#define I365_ENA_IO(map) (0x40 << (map))
-#define I365_ENA_MEM(map) (0x01 << (map))
-
-/* Flags for I365_IOCTL */
-#define I365_IOCTL_MASK(map) (0x0F << (map<<2))
-#define I365_IOCTL_WAIT(map) (0x08 << (map<<2))
-#define I365_IOCTL_0WS(map) (0x04 << (map<<2))
-#define I365_IOCTL_IOCS16(map) (0x02 << (map<<2))
-#define I365_IOCTL_16BIT(map) (0x01 << (map<<2))
-
-/* Flags for I365_GENCTL */
-#define I365_CTL_16DELAY 0x01
-#define I365_CTL_RESET 0x02
-#define I365_CTL_GPI_ENA 0x04
-#define I365_CTL_GPI_CTL 0x08
-#define I365_CTL_RESUME 0x10
-#define I365_CTL_SW_IRQ 0x20
-
-/* Flags for I365_GBLCTL */
-#define I365_GBL_PWRDOWN 0x01
-#define I365_GBL_CSC_LEV 0x02
-#define I365_GBL_WRBACK 0x04
-#define I365_GBL_IRQ_0_LEV 0x08
-#define I365_GBL_IRQ_1_LEV 0x10
-
-/* Flags for memory window registers */
-#define I365_MEM_16BIT 0x8000 /* In memory start high byte */
-#define I365_MEM_0WS 0x4000
-#define I365_MEM_WS1 0x8000 /* In memory stop high byte */
-#define I365_MEM_WS0 0x4000
-#define I365_MEM_WRPROT 0x8000 /* In offset high byte */
-#define I365_MEM_REG 0x4000
-
-#define I365_REG(slot, reg) (((slot) << 6) | (reg))
-
-/* Default ISA interrupt mask */
-#define I365_ISA_IRQ_MASK 0xdeb8 /* irq's 3-5,7,9-12,14,15 */
-
-/* Device ID's for PCI-to-PCMCIA bridges */
-
-#ifndef PCI_VENDOR_ID_INTEL
-#define PCI_VENDOR_ID_INTEL 0x8086
-#endif
-#ifndef PCI_DEVICE_ID_INTEL_82092AA_0
-#define PCI_DEVICE_ID_INTEL_82092AA_0 0x1221
-#endif
-#ifndef PCI_VENDOR_ID_OMEGA
-#define PCI_VENDOR_ID_OMEGA 0x119b
-#endif
-#ifndef PCI_DEVICE_ID_OMEGA_82C092G
-#define PCI_DEVICE_ID_OMEGA_82C092G 0x1221
-#endif
-
-#endif /* _LINUX_I82365_H */
diff --git a/mdk-stage1/pcmcia/lex_config.c b/mdk-stage1/pcmcia/lex_config.c
deleted file mode 100644
index b374c8bf4..000000000
--- a/mdk-stage1/pcmcia/lex_config.c
+++ /dev/null
@@ -1,2008 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* Scanner skeleton version:
- * $Header$
- */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-
-#include <stdio.h>
-
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#include <stdlib.h>
-#include <unistd.h>
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else /* ! __cplusplus */
-
-#if __STDC__
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
-
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index. If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition. This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state. The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START ((yy_start - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#define YY_BUF_SIZE 16384
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator). This
- * avoids problems with code like:
- *
- * if ( condition_holds )
- * yyless( 5 );
- * else
- * do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
-#define yyless(n) \
- do \
- { \
- /* Undo effects of setting up yytext. */ \
- *yy_cp = yy_hold_char; \
- YY_RESTORE_YY_MORE_OFFSET \
- yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
- YY_DO_BEFORE_ACTION; /* set up yytext again */ \
- } \
- while ( 0 )
-
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
-struct yy_buffer_state
- {
- FILE *yy_input_file;
-
- char *yy_ch_buf; /* input buffer */
- char *yy_buf_pos; /* current position in input buffer */
-
- /* Size of input buffer in bytes, not including room for EOB
- * characters.
- */
- yy_size_t yy_buf_size;
-
- /* Number of characters read into yy_ch_buf, not including EOB
- * characters.
- */
- int yy_n_chars;
-
- /* Whether we "own" the buffer - i.e., we know we created it,
- * and can realloc() it to grow it, and should free() it to
- * delete it.
- */
- int yy_is_our_buffer;
-
- /* Whether this is an "interactive" input source; if so, and
- * if we're using stdio for input, then we want to use getc()
- * instead of fread(), to make sure we stop fetching input after
- * each newline.
- */
- int yy_is_interactive;
-
- /* Whether we're considered to be at the beginning of a line.
- * If so, '^' rules will be active on the next match, otherwise
- * not.
- */
- int yy_at_bol;
-
- /* Whether to try to fill the input buffer when we reach the
- * end of it.
- */
- int yy_fill_buffer;
-
- int yy_buffer_status;
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
- /* When an EOF's been seen but there's still some text to process
- * then we mark the buffer as YY_EOF_PENDING, to indicate that we
- * shouldn't try reading from the input source any more. We might
- * still have a bunch of tokens to match, though, because of
- * possible backing-up.
- *
- * When we actually see the EOF, we change the status to "new"
- * (via yyrestart()), so that the user can continue scanning by
- * just pointing yyin at a new input file.
- */
-#define YY_BUFFER_EOF_PENDING 2
- };
-
-static YY_BUFFER_STATE yy_current_buffer = 0;
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-
-static int yy_n_chars; /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1; /* whether we need to initialize */
-static int yy_start = 0; /* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin. A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
- { \
- if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
- yy_current_buffer->yy_is_interactive = is_interactive; \
- }
-
-#define yy_set_bol(at_bol) \
- { \
- if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
- yy_current_buffer->yy_at_bol = at_bol; \
- }
-
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-typedef int yy_state_type;
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
- yytext_ptr = yy_bp; \
- yyleng = (int) (yy_cp - yy_bp); \
- yy_hold_char = *yy_cp; \
- *yy_cp = '\0'; \
- yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 45
-#define YY_END_OF_BUFFER 46
-static yyconst short int yy_accept[247] =
- { 0,
- 5, 5, 2, 2, 46, 44, 5, 4, 5, 44,
- 6, 41, 41, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 3,
- 2, 45, 5, 5, 6, 0, 43, 0, 6, 41,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
- 0, 0, 3, 2, 0, 43, 0, 42, 0, 0,
- 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 18, 0, 0, 0, 0, 23, 0, 0, 0,
-
- 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 8, 10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
- 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 11, 0, 0, 14, 0, 0, 0, 0,
- 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 31, 0, 0, 0, 0, 0, 13, 0,
- 0, 0, 0, 20, 21, 22, 0, 0, 0, 28,
- 0, 0, 0, 1, 0, 0, 0, 0, 12, 15,
- 0, 0, 17, 0, 0, 0, 0, 29, 0, 0,
-
- 32, 0, 0, 0, 0, 16, 0, 0, 0, 0,
- 0, 0, 0, 39, 7, 0, 0, 24, 0, 0,
- 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
- 33, 0, 0, 0, 34, 0, 0, 0, 40, 0,
- 0, 35, 37, 0, 38, 0
- } ;
-
-static yyconst int yy_ec[256] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 1, 5, 6, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 7, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 1, 6, 1,
- 1, 1, 1, 1, 9, 9, 9, 9, 9, 9,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 10, 1, 1, 11, 1, 12, 13, 14, 15,
-
- 16, 17, 18, 1, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1
- } ;
-
-static yyconst int yy_meta[36] =
- { 0,
- 1, 2, 3, 2, 1, 1, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1
- } ;
-
-static yyconst short int yy_base[253] =
- { 0,
- 0, 0, 34, 37, 293, 294, 40, 294, 41, 41,
- 0, 41, 45, 31, 273, 42, 40, 257, 38, 34,
- 274, 47, 273, 262, 53, 271, 57, 35, 60, 0,
- 79, 294, 82, 83, 0, 83, 294, 87, 0, 87,
- 0, 263, 260, 260, 255, 253, 269, 74, 245, 265,
- 244, 253, 262, 248, 259, 249, 249, 256, 255, 80,
- 239, 240, 248, 238, 80, 236, 236, 232, 294, 236,
- 233, 245, 0, 97, 95, 97, 108, 0, 230, 234,
- 242, 241, 294, 226, 242, 234, 226, 229, 234, 235,
- 226, 294, 231, 229, 220, 213, 294, 228, 209, 212,
-
- 228, 294, 209, 219, 221, 217, 216, 206, 211, 203,
- 215, 219, 194, 294, 294, 199, 196, 212, 209, 193,
- 208, 192, 190, 206, 200, 190, 195, 187, 190, 294,
- 192, 294, 188, 184, 200, 198, 195, 192, 188, 181,
- 191, 181, 294, 181, 186, 294, 186, 189, 180, 183,
- 294, 182, 161, 179, 183, 165, 170, 167, 158, 177,
- 166, 171, 294, 161, 174, 172, 158, 152, 294, 165,
- 165, 154, 162, 294, 166, 294, 153, 154, 158, 294,
- 157, 157, 160, 294, 146, 157, 140, 136, 294, 294,
- 147, 141, 294, 150, 133, 151, 139, 294, 148, 133,
-
- 294, 143, 142, 127, 126, 294, 142, 138, 140, 140,
- 124, 124, 136, 294, 294, 126, 118, 294, 130, 118,
- 113, 114, 115, 294, 125, 127, 108, 116, 99, 87,
- 294, 90, 87, 86, 294, 96, 78, 74, 294, 75,
- 64, 294, 294, 46, 294, 294, 118, 122, 126, 130,
- 134, 64
- } ;
-
-static yyconst short int yy_def[253] =
- { 0,
- 246, 1, 247, 247, 246, 246, 246, 246, 246, 248,
- 249, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 250,
- 246, 246, 246, 246, 249, 248, 246, 251, 249, 246,
- 252, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 250, 246, 248, 248, 251, 252, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 0, 246, 246, 246, 246,
- 246, 246
- } ;
-
-static yyconst short int yy_nxt[330] =
- { 0,
- 6, 7, 8, 9, 10, 11, 12, 13, 6, 6,
- 6, 14, 15, 16, 17, 18, 19, 6, 20, 21,
- 6, 6, 22, 23, 24, 25, 6, 26, 27, 28,
- 6, 29, 6, 6, 6, 31, 32, 31, 31, 32,
- 31, 33, 33, 33, 34, 37, 35, 40, 40, 42,
- 38, 40, 40, 45, 43, 48, 51, 53, 56, 69,
- 46, 54, 57, 47, 62, 70, 63, 78, 52, 49,
- 66, 58, 67, 245, 41, 71, 59, 64, 72, 244,
- 74, 68, 74, 33, 33, 33, 34, 37, 35, 36,
- 85, 76, 38, 40, 40, 98, 77, 104, 74, 37,
-
- 74, 37, 243, 242, 38, 86, 38, 241, 105, 99,
- 36, 240, 76, 239, 238, 237, 236, 77, 30, 30,
- 30, 30, 36, 36, 36, 36, 39, 39, 235, 39,
- 73, 234, 233, 73, 75, 75, 75, 75, 232, 231,
- 230, 229, 228, 227, 226, 225, 224, 223, 222, 221,
- 220, 219, 218, 217, 216, 215, 214, 213, 212, 211,
- 210, 209, 208, 207, 206, 205, 204, 203, 202, 201,
- 200, 199, 198, 197, 196, 195, 194, 193, 192, 191,
- 190, 189, 188, 187, 186, 185, 184, 183, 182, 181,
- 180, 179, 178, 177, 176, 175, 174, 173, 172, 171,
-
- 170, 169, 168, 167, 166, 165, 164, 163, 162, 161,
- 160, 159, 158, 157, 156, 155, 154, 153, 152, 151,
- 150, 149, 148, 147, 146, 145, 144, 143, 142, 141,
- 140, 139, 138, 137, 136, 135, 134, 133, 132, 131,
- 130, 129, 128, 127, 126, 125, 124, 123, 122, 121,
- 120, 119, 118, 117, 116, 115, 114, 113, 112, 111,
- 110, 109, 108, 107, 106, 103, 102, 101, 100, 97,
- 96, 95, 94, 93, 92, 91, 90, 89, 88, 87,
- 84, 83, 82, 81, 80, 79, 65, 61, 60, 55,
- 50, 44, 246, 5, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246
- } ;
-
-static yyconst short int yy_chk[330] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 3, 3, 4, 4,
- 4, 7, 9, 7, 9, 10, 9, 12, 12, 14,
- 10, 13, 13, 16, 14, 17, 19, 20, 22, 28,
- 16, 20, 22, 16, 25, 28, 25, 252, 19, 17,
- 27, 22, 27, 244, 12, 29, 22, 25, 29, 241,
- 31, 27, 31, 33, 34, 33, 34, 36, 34, 38,
- 48, 38, 36, 40, 40, 60, 38, 65, 74, 75,
-
- 74, 76, 240, 238, 75, 48, 76, 237, 65, 60,
- 77, 236, 77, 234, 233, 232, 230, 77, 247, 247,
- 247, 247, 248, 248, 248, 248, 249, 249, 229, 249,
- 250, 228, 227, 250, 251, 251, 251, 251, 226, 225,
- 223, 222, 221, 220, 219, 217, 216, 213, 212, 211,
- 210, 209, 208, 207, 205, 204, 203, 202, 200, 199,
- 197, 196, 195, 194, 192, 191, 188, 187, 186, 185,
- 183, 182, 181, 179, 178, 177, 175, 173, 172, 171,
- 170, 168, 167, 166, 165, 164, 162, 161, 160, 159,
- 158, 157, 156, 155, 154, 153, 152, 150, 149, 148,
-
- 147, 145, 144, 142, 141, 140, 139, 138, 137, 136,
- 135, 134, 133, 131, 129, 128, 127, 126, 125, 124,
- 123, 122, 121, 120, 119, 118, 117, 116, 113, 112,
- 111, 110, 109, 108, 107, 106, 105, 104, 103, 101,
- 100, 99, 98, 96, 95, 94, 93, 91, 90, 89,
- 88, 87, 86, 85, 84, 82, 81, 80, 79, 72,
- 71, 70, 68, 67, 66, 64, 63, 62, 61, 59,
- 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
- 47, 46, 45, 44, 43, 42, 26, 24, 23, 21,
- 18, 15, 5, 246, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246
- } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "lex_config.l"
-#define INITIAL 0
-/* Special state for handling include files */
-#define src 1
-
-#line 5 "lex_config.l"
-/*
- * lex_config.l 1.39 2000/06/12 21:33:02
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#undef src
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <syslog.h>
-#include <glob.h>
-#define src 1
-
-#include <pcmcia/cs_types.h>
-#include <pcmcia/cs.h>
-
-#include "yacc_config.h"
-
-/* For assembling nice error messages */
-char *current_file;
-int current_lineno;
-
-static int lex_number(char *s);
-static int lex_string(char *s);
-static void do_source(char *fn);
-static int do_eof(void);
-
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
-#else
-extern int yywrap YY_PROTO(( void ));
-#endif
-#endif
-
-#ifndef YY_NO_UNPUT
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
-#endif
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
-
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines. This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
-#endif
-
-/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
- if ( yy_current_buffer->yy_is_interactive ) \
- { \
- int c = '*', n; \
- for ( n = 0; n < max_size && \
- (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
- buf[n] = (char) c; \
- if ( c == '\n' ) \
- buf[n++] = (char) c; \
- if ( c == EOF && ferror( yyin ) ) \
- YY_FATAL_ERROR( "input in flex scanner failed" ); \
- result = n; \
- } \
- else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
- && ferror( yyin ) ) \
- YY_FATAL_ERROR( "input in flex scanner failed" );
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
- YY_USER_ACTION
-
-YY_DECL
- {
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
-
-#line 63 "lex_config.l"
-
-
-
- if ( yy_init )
- {
- yy_init = 0;
-
-#ifdef YY_USER_INIT
- YY_USER_INIT;
-#endif
-
- if ( ! yy_start )
- yy_start = 1; /* first start state */
-
- if ( ! yyin )
- yyin = stdin;
-
- if ( ! yyout )
- yyout = stdout;
-
- if ( ! yy_current_buffer )
- yy_current_buffer =
- yy_create_buffer( yyin, YY_BUF_SIZE );
-
- yy_load_buffer_state();
- }
-
- while ( 1 ) /* loops until end-of-file is reached */
- {
- yy_cp = yy_c_buf_p;
-
- /* Support of yytext. */
- *yy_cp = yy_hold_char;
-
- /* yy_bp points to the position in yy_ch_buf of the start of
- * the current run.
- */
- yy_bp = yy_cp;
-
- yy_current_state = yy_start;
-yy_match:
- do
- {
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 247 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- ++yy_cp;
- }
- while ( yy_base[yy_current_state] != 294 );
-
-yy_find_action:
- yy_act = yy_accept[yy_current_state];
- if ( yy_act == 0 )
- { /* have to back up */
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
- yy_act = yy_accept[yy_current_state];
- }
-
- YY_DO_BEFORE_ACTION;
-
-
-do_action: /* This label is used only to access EOF actions. */
-
-
- switch ( yy_act )
- { /* beginning of action switch */
- case 0: /* must back up */
- /* undo the effects of YY_DO_BEFORE_ACTION */
- *yy_cp = yy_hold_char;
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
- goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 65 "lex_config.l"
-BEGIN(src);
- YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 66 "lex_config.l"
-/* skip */ ;
- YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 67 "lex_config.l"
-do_source(yytext); BEGIN(INITIAL);
- YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(src):
-#line 68 "lex_config.l"
-if (do_eof()) yyterminate();
- YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 70 "lex_config.l"
-current_lineno++;
- YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 71 "lex_config.l"
-/* skip */ ;
- YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 72 "lex_config.l"
-/* skip */ ;
- YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 74 "lex_config.l"
-return ANONYMOUS;
- YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 75 "lex_config.l"
-return BIND;
- YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 76 "lex_config.l"
-return CIS;
- YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 77 "lex_config.l"
-return CARD;
- YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 78 "lex_config.l"
-return CLASS;
- YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 79 "lex_config.l"
-return DEFAULT;
- YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 80 "lex_config.l"
-return DEVICE;
- YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 81 "lex_config.l"
-return DTYPE;
- YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 82 "lex_config.l"
-return EXCLUDE;
- YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 83 "lex_config.l"
-return FUNCTION;
- YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 84 "lex_config.l"
-return INCLUDE;
- YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 85 "lex_config.l"
-return IRQ_NO;
- YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 86 "lex_config.l"
-return JEDEC;
- YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 87 "lex_config.l"
-return MANFID;
- YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 88 "lex_config.l"
-return MEMORY;
- YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 89 "lex_config.l"
-return MODULE;
- YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 90 "lex_config.l"
-return MTD;
- YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 91 "lex_config.l"
-return NEEDS_MTD;
- YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 92 "lex_config.l"
-return OPTS;
- YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 93 "lex_config.l"
-return PCI;
- YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 94 "lex_config.l"
-return PORT;
- YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 95 "lex_config.l"
-return REGION;
- YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 96 "lex_config.l"
-return RESERVE;
- YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 97 "lex_config.l"
-return TO;
- YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 98 "lex_config.l"
-return TUPLE;
- YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 99 "lex_config.l"
-return VERSION;
- YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 101 "lex_config.l"
-return lex_number("1");
- YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 102 "lex_config.l"
-return lex_number("2");
- YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 103 "lex_config.l"
-return lex_number("3");
- YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 104 "lex_config.l"
-return lex_number("4");
- YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 105 "lex_config.l"
-return lex_number("5");
- YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 106 "lex_config.l"
-return lex_number("6");
- YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 107 "lex_config.l"
-return lex_number("7");
- YY_BREAK
-case 40:
-YY_RULE_SETUP
-#line 108 "lex_config.l"
-return lex_number("8");
- YY_BREAK
-case 41:
-YY_RULE_SETUP
-#line 110 "lex_config.l"
-return lex_number(yytext);
- YY_BREAK
-case 42:
-YY_RULE_SETUP
-#line 112 "lex_config.l"
-return lex_number(yytext);
- YY_BREAK
-case 43:
-YY_RULE_SETUP
-#line 114 "lex_config.l"
-return lex_string(yytext);
- YY_BREAK
-case 44:
-YY_RULE_SETUP
-#line 116 "lex_config.l"
-return yytext[0];
- YY_BREAK
-case 45:
-YY_RULE_SETUP
-#line 118 "lex_config.l"
-ECHO;
- YY_BREAK
-
- case YY_END_OF_BUFFER:
- {
- /* Amount of text matched not including the EOB char. */
- int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
- /* Undo the effects of YY_DO_BEFORE_ACTION. */
- *yy_cp = yy_hold_char;
- YY_RESTORE_YY_MORE_OFFSET
-
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
- {
- /* We're scanning a new file or input source. It's
- * possible that this happened because the user
- * just pointed yyin at a new source and called
- * yylex(). If so, then we have to assure
- * consistency between yy_current_buffer and our
- * globals. Here is the right place to do so, because
- * this is the first action (other than possibly a
- * back-up) that will match for the new input source.
- */
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yy_current_buffer->yy_input_file = yyin;
- yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
- }
-
- /* Note that here we test for yy_c_buf_p "<=" to the position
- * of the first EOB in the buffer, since yy_c_buf_p will
- * already have been incremented past the NUL character
- * (since all states make transitions on EOB to the
- * end-of-buffer state). Contrast this with the test
- * in input().
- */
- if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
- { /* This was really a NUL. */
- yy_state_type yy_next_state;
-
- yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
- yy_current_state = yy_get_previous_state();
-
- /* Okay, we're now positioned to make the NUL
- * transition. We couldn't have
- * yy_get_previous_state() go ahead and do it
- * for us because it doesn't know how to deal
- * with the possibility of jamming (and we don't
- * want to build jamming into it because then it
- * will run more slowly).
- */
-
- yy_next_state = yy_try_NUL_trans( yy_current_state );
-
- yy_bp = yytext_ptr + YY_MORE_ADJ;
-
- if ( yy_next_state )
- {
- /* Consume the NUL. */
- yy_cp = ++yy_c_buf_p;
- yy_current_state = yy_next_state;
- goto yy_match;
- }
-
- else
- {
- yy_cp = yy_c_buf_p;
- goto yy_find_action;
- }
- }
-
- else switch ( yy_get_next_buffer() )
- {
- case EOB_ACT_END_OF_FILE:
- {
- yy_did_buffer_switch_on_eof = 0;
-
- if ( yywrap() )
- {
- /* Note: because we've taken care in
- * yy_get_next_buffer() to have set up
- * yytext, we can now set up
- * yy_c_buf_p so that if some total
- * hoser (like flex itself) wants to
- * call the scanner after we return the
- * YY_NULL, it'll still work - another
- * YY_NULL will get returned.
- */
- yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
- yy_act = YY_STATE_EOF(YY_START);
- goto do_action;
- }
-
- else
- {
- if ( ! yy_did_buffer_switch_on_eof )
- YY_NEW_FILE;
- }
- break;
- }
-
- case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p =
- yytext_ptr + yy_amount_of_matched_text;
-
- yy_current_state = yy_get_previous_state();
-
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
- goto yy_match;
-
- case EOB_ACT_LAST_MATCH:
- yy_c_buf_p =
- &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
- yy_current_state = yy_get_previous_state();
-
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
- goto yy_find_action;
- }
- break;
- }
-
- default:
- YY_FATAL_ERROR(
- "fatal flex scanner internal error--no action found" );
- } /* end of action switch */
- } /* end of scanning one token */
- } /* end of yylex */
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- * EOB_ACT_LAST_MATCH -
- * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- * EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
- {
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr;
- register int number_to_move, i;
- int ret_val;
-
- if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
- YY_FATAL_ERROR(
- "fatal flex scanner internal error--end of buffer missed" );
-
- if ( yy_current_buffer->yy_fill_buffer == 0 )
- { /* Don't try to fill the buffer, so this is an EOF. */
- if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
- {
- /* We matched a single character, the EOB, so
- * treat this as a final EOF.
- */
- return EOB_ACT_END_OF_FILE;
- }
-
- else
- {
- /* We matched some text prior to the EOB, first
- * process it.
- */
- return EOB_ACT_LAST_MATCH;
- }
- }
-
- /* Try to read more data. */
-
- /* First move last chars to start of buffer. */
- number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
- for ( i = 0; i < number_to_move; ++i )
- *(dest++) = *(source++);
-
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
- /* don't do the read, it's not guaranteed to return an EOF,
- * just force an EOF
- */
- yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
- else
- {
- int num_to_read =
- yy_current_buffer->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
- { /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
- YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
-
- /* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = yy_current_buffer;
-
- int yy_c_buf_p_offset =
- (int) (yy_c_buf_p - b->yy_ch_buf);
-
- if ( b->yy_is_our_buffer )
- {
- int new_size = b->yy_buf_size * 2;
-
- if ( new_size <= 0 )
- b->yy_buf_size += b->yy_buf_size / 8;
- else
- b->yy_buf_size *= 2;
-
- b->yy_ch_buf = (char *)
- /* Include room in for 2 EOB chars. */
- yy_flex_realloc( (void *) b->yy_ch_buf,
- b->yy_buf_size + 2 );
- }
- else
- /* Can't grow it, we don't own it. */
- b->yy_ch_buf = 0;
-
- if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR(
- "fatal error - scanner input buffer overflow" );
-
- yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
- num_to_read = yy_current_buffer->yy_buf_size -
- number_to_move - 1;
-#endif
- }
-
- if ( num_to_read > YY_READ_BUF_SIZE )
- num_to_read = YY_READ_BUF_SIZE;
-
- /* Read in more data. */
- YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
- yy_n_chars, num_to_read );
-
- yy_current_buffer->yy_n_chars = yy_n_chars;
- }
-
- if ( yy_n_chars == 0 )
- {
- if ( number_to_move == YY_MORE_ADJ )
- {
- ret_val = EOB_ACT_END_OF_FILE;
- yyrestart( yyin );
- }
-
- else
- {
- ret_val = EOB_ACT_LAST_MATCH;
- yy_current_buffer->yy_buffer_status =
- YY_BUFFER_EOF_PENDING;
- }
- }
-
- else
- ret_val = EOB_ACT_CONTINUE_SCAN;
-
- yy_n_chars += number_to_move;
- yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
- yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
- yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
-
- return ret_val;
- }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-static yy_state_type yy_get_previous_state()
- {
- register yy_state_type yy_current_state;
- register char *yy_cp;
-
- yy_current_state = yy_start;
-
- for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
- {
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 247 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- }
-
- return yy_current_state;
- }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- * next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
- {
- register int yy_is_jam;
- register char *yy_cp = yy_c_buf_p;
-
- register YY_CHAR yy_c = 1;
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 247 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 246);
-
- return yy_is_jam ? 0 : yy_current_state;
- }
-
-
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
- {
- int c;
-
- *yy_c_buf_p = yy_hold_char;
-
- if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
- {
- /* yy_c_buf_p now points to the character we want to return.
- * If this occurs *before* the EOB characters, then it's a
- * valid NUL; if not, then we've hit the end of the buffer.
- */
- if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
- /* This was really a NUL. */
- *yy_c_buf_p = '\0';
-
- else
- { /* need more input */
- int offset = yy_c_buf_p - yytext_ptr;
- ++yy_c_buf_p;
-
- switch ( yy_get_next_buffer() )
- {
- case EOB_ACT_LAST_MATCH:
- /* This happens because yy_g_n_b()
- * sees that we've accumulated a
- * token and flags that we need to
- * try matching the token before
- * proceeding. But for input(),
- * there's no matching to consider.
- * So convert the EOB_ACT_LAST_MATCH
- * to EOB_ACT_END_OF_FILE.
- */
-
- /* Reset buffer status. */
- yyrestart( yyin );
-
- /* fall through */
-
- case EOB_ACT_END_OF_FILE:
- {
- if ( yywrap() )
- return EOF;
-
- if ( ! yy_did_buffer_switch_on_eof )
- YY_NEW_FILE;
-#ifdef __cplusplus
- return yyinput();
-#else
- return input();
-#endif
- }
-
- case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p = yytext_ptr + offset;
- break;
- }
- }
- }
-
- c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
- *yy_c_buf_p = '\0'; /* preserve yytext */
- yy_hold_char = *++yy_c_buf_p;
-
-
- return c;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
- {
- if ( ! yy_current_buffer )
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
- yy_init_buffer( yy_current_buffer, input_file );
- yy_load_buffer_state();
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
- {
- if ( yy_current_buffer == new_buffer )
- return;
-
- if ( yy_current_buffer )
- {
- /* Flush out information for old buffer. */
- *yy_c_buf_p = yy_hold_char;
- yy_current_buffer->yy_buf_pos = yy_c_buf_p;
- yy_current_buffer->yy_n_chars = yy_n_chars;
- }
-
- yy_current_buffer = new_buffer;
- yy_load_buffer_state();
-
- /* We don't actually know whether we did this switch during
- * EOF (yywrap()) processing, but the only time this flag
- * is looked at is after yywrap() is called, so it's safe
- * to go ahead and always set it.
- */
- yy_did_buffer_switch_on_eof = 1;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
- {
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
- yyin = yy_current_buffer->yy_input_file;
- yy_hold_char = *yy_c_buf_p;
- }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
- {
- YY_BUFFER_STATE b;
-
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
- if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
- b->yy_buf_size = size;
-
- /* yy_ch_buf has to be 2 characters longer than the size given because
- * we need to put in 2 end-of-buffer characters.
- */
- b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
- if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
- b->yy_is_our_buffer = 1;
-
- yy_init_buffer( b, file );
-
- return b;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
- {
- if ( ! b )
- return;
-
- if ( b == yy_current_buffer )
- yy_current_buffer = (YY_BUFFER_STATE) 0;
-
- if ( b->yy_is_our_buffer )
- yy_flex_free( (void *) b->yy_ch_buf );
-
- yy_flex_free( (void *) b );
- }
-
-
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
-
- {
- yy_flush_buffer( b );
-
- b->yy_input_file = file;
- b->yy_fill_buffer = 1;
-
-#if YY_ALWAYS_INTERACTIVE
- b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
- b->yy_is_interactive = 0;
-#else
- b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
- {
- if ( ! b )
- return;
-
- b->yy_n_chars = 0;
-
- /* We always need two end-of-buffer characters. The first causes
- * a transition to the end-of-buffer state. The second causes
- * a jam in that state.
- */
- b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
- b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
- b->yy_buf_pos = &b->yy_ch_buf[0];
-
- b->yy_at_bol = 1;
- b->yy_buffer_status = YY_BUFFER_NEW;
-
- if ( b == yy_current_buffer )
- yy_load_buffer_state();
- }
-
-
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
- {
- YY_BUFFER_STATE b;
-
- if ( size < 2 ||
- base[size-2] != YY_END_OF_BUFFER_CHAR ||
- base[size-1] != YY_END_OF_BUFFER_CHAR )
- /* They forgot to leave room for the EOB's. */
- return 0;
-
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
- if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
- b->yy_buf_pos = b->yy_ch_buf = base;
- b->yy_is_our_buffer = 0;
- b->yy_input_file = 0;
- b->yy_n_chars = b->yy_buf_size;
- b->yy_is_interactive = 0;
- b->yy_at_bol = 1;
- b->yy_fill_buffer = 0;
- b->yy_buffer_status = YY_BUFFER_NEW;
-
- yy_switch_to_buffer( b );
-
- return b;
- }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
- {
- int len;
- for ( len = 0; yy_str[len]; ++len )
- ;
-
- return yy_scan_bytes( yy_str, len );
- }
-#endif
-
-
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
- {
- YY_BUFFER_STATE b;
- char *buf;
- yy_size_t n;
- int i;
-
- /* Get memory for full buffer, including space for trailing EOB's. */
- n = len + 2;
- buf = (char *) yy_flex_alloc( n );
- if ( ! buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
- for ( i = 0; i < len; ++i )
- buf[i] = bytes[i];
-
- buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
- b = yy_scan_buffer( buf, n );
- if ( ! b )
- YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
- /* It's okay to grow etc. this buffer, and we should throw it
- * away when we're done.
- */
- b->yy_is_our_buffer = 1;
-
- return b;
- }
-#endif
-
-
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
- {
- if ( yy_start_stack_ptr >= yy_start_stack_depth )
- {
- yy_size_t new_size;
-
- yy_start_stack_depth += YY_START_STACK_INCR;
- new_size = yy_start_stack_depth * sizeof( int );
-
- if ( ! yy_start_stack )
- yy_start_stack = (int *) yy_flex_alloc( new_size );
-
- else
- yy_start_stack = (int *) yy_flex_realloc(
- (void *) yy_start_stack, new_size );
-
- if ( ! yy_start_stack )
- YY_FATAL_ERROR(
- "out of memory expanding start-condition stack" );
- }
-
- yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
- BEGIN(new_state);
- }
-#endif
-
-
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
- {
- if ( --yy_start_stack_ptr < 0 )
- YY_FATAL_ERROR( "start-condition stack underflow" );
-
- BEGIN(yy_start_stack[yy_start_stack_ptr]);
- }
-#endif
-
-
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
- {
- return yy_start_stack[yy_start_stack_ptr - 1];
- }
-#endif
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
- {
- (void) fprintf( stderr, "%s\n", msg );
- exit( YY_EXIT_FAILURE );
- }
-
-
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
- do \
- { \
- /* Undo effects of setting up yytext. */ \
- yytext[yyleng] = yy_hold_char; \
- yy_c_buf_p = yytext + n; \
- yy_hold_char = *yy_c_buf_p; \
- *yy_c_buf_p = '\0'; \
- yyleng = n; \
- } \
- while ( 0 )
-
-
-/* Internal utility routines. */
-
-#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
- {
- register int i;
- for ( i = 0; i < n; ++i )
- s1[i] = s2[i];
- }
-#endif
-
-#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
- {
- register int n;
- for ( n = 0; s[n]; ++n )
- ;
-
- return n;
- }
-#endif
-
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
- {
- return (void *) malloc( size );
- }
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
- {
- /* The cast to (char *) in the following accommodates both
- * implementations that use char* generic pointers, and those
- * that use void* generic pointers. It works with the latter
- * because both ANSI C and C++ allow castless assignment from
- * any pointer type to void*, and deal with argument conversions
- * as though doing an assignment.
- */
- return (void *) realloc( (char *) ptr, size );
- }
-
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
- {
- free( ptr );
- }
-
-#if YY_MAIN
-int main()
- {
- yylex();
- return 0;
- }
-#endif
-#line 118 "lex_config.l"
-
-
-#ifndef yywrap
-int yywrap() { return 1; }
-#endif
-
-/*======================================================================
-
- Stuff to parse basic data types
-
-======================================================================*/
-
-static int lex_number(char *s)
-{
- yylval.num = strtoul(s, NULL, 0);
- return NUMBER;
-}
-
-static int lex_string(char *s)
-{
- int n = strlen(s);
- yylval.str = malloc(n-1);
- strncpy(yylval.str, s+1, n-2);
- yylval.str[n-2] = '\0';
- return STRING;
-}
-
-/*======================================================================
-
- Code to support nesting of configuration files
-
-======================================================================*/
-
-#define MAX_SOURCE_DEPTH 4
-struct source_stack {
- YY_BUFFER_STATE buffer;
- char *filename;
- int lineno, fileno;
- FILE *file;
- glob_t glob;
-} source_stack[MAX_SOURCE_DEPTH];
-static int source_stack_ptr = 0;
-static int parse_env = 0;
-
-static int get_glob(void)
-{
- struct source_stack *s = &source_stack[source_stack_ptr];
- while (s->fileno < s->glob.gl_pathc) {
- char *fn = s->glob.gl_pathv[s->fileno];
- s->file = fopen(fn, "r");
- if (s->file == NULL) {
- if (strpbrk(fn, "?*[") == NULL)
- syslog(LOG_INFO, "could not open '%s': %m", fn);
- s->fileno++;
- } else {
- current_lineno = 1;
- current_file = strdup(fn);
- yy_switch_to_buffer(yy_create_buffer(s->file, YY_BUF_SIZE));
- source_stack_ptr++;
- s->fileno++;
- return 0;
- }
- }
- return -1;
-}
-
-static void do_source(char *fn)
-{
- struct source_stack *s = &source_stack[source_stack_ptr];
-
- if (source_stack_ptr >= MAX_SOURCE_DEPTH) {
- syslog(LOG_INFO, "source depth limit exceeded");
- return;
- }
- glob(fn, GLOB_NOCHECK, NULL, &s->glob);
- s->fileno = 0;
- s->buffer = YY_CURRENT_BUFFER;
- s->lineno = current_lineno;
- s->filename = current_file;
- get_glob();
-}
-
-static int do_eof(void)
-{
- struct source_stack *s = &source_stack[--source_stack_ptr];
- if (source_stack_ptr < 0) {
- if (parse_env == 0) {
- char *t = getenv("PCMCIA_OPTS");
- if (t == NULL) return -1;
- parse_env = 1;
- source_stack_ptr = 0;
- current_file = "PCMCIA_OPTS";
- current_lineno = 1;
- yy_scan_string(t);
- return 0;
- } else
- return -1;
- }
- fclose(s->file);
- free(current_file);
- yy_delete_buffer(YY_CURRENT_BUFFER);
- if (get_glob() != 0) {
- yy_switch_to_buffer(s->buffer);
- current_lineno = s->lineno;
- current_file = s->filename;
- }
- return 0;
-}
-
-/*======================================================================
-
- The main entry point... returns -1 if the file can't be accessed.
-
-======================================================================*/
-int yyparse(void);
-
-int parse_configfile(char *fn)
-{
- FILE *f;
-
- f = fopen(fn, "r");
- if (!f) {
- syslog(LOG_INFO, "could not open '%s': %m", fn);
- return -1;
- }
- current_lineno = 1;
- current_file = fn;
- source_stack_ptr = 0;
- yyrestart(f);
- yyparse();
- fclose(f);
- return 0;
-}
-
diff --git a/mdk-stage1/pcmcia/pcmcia.h b/mdk-stage1/pcmcia/pcmcia.h
deleted file mode 100644
index 1967b3497..000000000
--- a/mdk-stage1/pcmcia/pcmcia.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _PCMCIA_CARDMGR_INTERFACE_H_
-#define _PCMCIA_CARDMGR_INTERFACE_H_
-
-char * pcmcia_probe(void);
-int cardmgr_call(void);
-
-#endif
diff --git a/mdk-stage1/pcmcia/pcmcia_probe.c b/mdk-stage1/pcmcia/pcmcia_probe.c
deleted file mode 100644
index 0d9dd7462..000000000
--- a/mdk-stage1/pcmcia/pcmcia_probe.c
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/* Code comes from /anonymous@projects.sourceforge.net:/pub/pcmcia-cs/pcmcia-cs-3.1.23.tar.bz2
- *
- * Licence of this code follows:
-
- PCMCIA controller probe
-
- probe.c 1.52 2000/06/12 21:33:02
-
- The contents of this file are subject to the Mozilla Public
- License Version 1.1 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of
- the License at http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS
- IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- implied. See the License for the specific language governing
- rights and limitations under the License.
-
- The initial developer of the original code is David A. Hinds
- <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-
- Alternatively, the contents of this file may be used under the
- terms of the GNU Public License version 2 (the "GPL"), in which
- case the provisions of the GPL are applicable instead of the
- above. If you wish to allow the use of your version of this file
- only under the terms of the GPL and not to allow others to use
- your version of this file under the MPL, indicate your decision
- by deleting the provisions above and replace them with the notice
- and other provisions required by the GPL. If you do not delete
- the provisions above, a recipient may use your version of this
- file under either the MPL or the GPL.
-
-======================================================================*/
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#include "log.h"
-#include "pcmcia.h"
-
-/*====================================================================*/
-
-typedef struct {
- u_short vendor, device;
- char *tag;
- char *name;
-} pci_id_t;
-
-pci_id_t pci_id[] = {
- { 0x1013, 0x1100, "Cirrus Logic CL 6729", "Cirrus PD6729" },
- { 0x1013, 0x1110, "Cirrus Logic PD 6832", "Cirrus PD6832" },
- { 0x10b3, 0xb106, "SMC 34C90", "SMC 34C90" },
- { 0x1180, 0x0465, "Ricoh RL5C465", "Ricoh RL5C465" },
- { 0x1180, 0x0466, "Ricoh RL5C466", "Ricoh RL5C466" },
- { 0x1180, 0x0475, "Ricoh RL5C475", "Ricoh RL5C475" },
- { 0x1180, 0x0476, "Ricoh RL5C476", "Ricoh RL5C476" },
- { 0x1180, 0x0478, "Ricoh RL5C478", "Ricoh RL5C478" },
- { 0x104c, 0xac12, "Texas Instruments PCI1130", "TI 1130" },
- { 0x104c, 0xac13, "Texas Instruments PCI1031", "TI 1031" },
- { 0x104c, 0xac15, "Texas Instruments PCI1131", "TI 1131" },
- { 0x104c, 0xac16, "Texas Instruments PCI1250", "TI 1250A" },
- { 0x104c, 0xac17, "Texas Instruments PCI1220", "TI 1220" },
- { 0x104c, 0xac19, "Texas Instruments PCI1221", "TI 1221" },
- { 0x104c, 0xac1a, "Texas Instruments PCI1210", "TI 1210" },
- { 0x104c, 0xac1d, "Texas Instruments PCI1251A", "TI 1251A" },
- { 0x104c, 0xac1f, "Texas Instruments PCI1251B", "TI 1251B" },
- { 0x104c, 0xac1b, "Texas Instruments PCI1450", "TI 1450" },
- { 0x104c, 0xac1c, "Texas Instruments PCI1225", "TI 1225" },
- { 0x104c, 0xac1e, "Texas Instruments PCI1211", "TI 1211" },
- { 0x104c, 0xac50, "Texas Instruments PCI1410", "TI 1410" },
- { 0x104c, 0xac51, "Texas Instruments PCI1420", "TI 1420" },
- { 0x1217, 0x6729, "O2 Micro 6729", "O2Micro OZ6729" },
- { 0x1217, 0x673a, "O2 Micro 6730", "O2Micro OZ6730" },
- { 0x1217, 0x6832, "O2 Micro 6832/6833", "O2Micro OZ6832/OZ6833" },
- { 0x1217, 0x6836, "O2 Micro 6836/6860", "O2Micro OZ6836/OZ6860" },
- { 0x1217, 0x6872, "O2 Micro 6812", "O2Micro OZ6812" },
- { 0x1179, 0x0603, "Toshiba ToPIC95-A", "Toshiba ToPIC95-A" },
- { 0x1179, 0x060a, "Toshiba ToPIC95-B", "Toshiba ToPIC95-B" },
- { 0x1179, 0x060f, "Toshiba ToPIC97", "Toshiba ToPIC97" },
- { 0x1179, 0x0617, "Toshiba ToPIC100", "Toshiba ToPIC100" },
- { 0x119b, 0x1221, "Omega Micro 82C092G", "Omega Micro 82C092G" },
- { 0x8086, 0x1221, "Intel 82092AA", "Intel 82092AA" }
-};
-#define PCI_COUNT (sizeof(pci_id)/sizeof(pci_id_t))
-
-static int pci_probe(void)
-{
- char s[256], *name = NULL;
- u_int device, vendor, i;
- FILE *f;
-
- log_message("PCMCIA: probing PCI bus..");
-
- f = fopen("/proc/bus/pci/devices", "r");
-
- if (!f) {
- log_message("where are you going without /proc/bus/pci/devices ??");
- return -1;
- }
-
- while (fgets(s, 256, f) != NULL) {
- u_int n = strtoul(s+5, NULL, 16);
- vendor = (n >> 16); device = (n & 0xffff);
- for (i = 0; i < PCI_COUNT; i++)
- if ((vendor == pci_id[i].vendor) &&
- (device == pci_id[i].device)) break;
- if (i < PCI_COUNT) {
- name = pci_id[i].name;
- break;
- }
- }
-
- fclose(f);
-
- if (name) {
- log_message("\t%s found, 2 sockets.", name);
- return 0;
- } else {
- log_message("\tnot found.");
- return -ENODEV;
- }
-}
-
-/*====================================================================*/
-
-#include <sys/io.h>
-typedef u_short ioaddr_t;
-
-#include "i82365.h"
-#include "cirrus.h"
-#include "vg468.h"
-
-static ioaddr_t i365_base = 0x03e0;
-
-static u_char i365_get(u_short sock, u_short reg)
-{
- u_char val = I365_REG(sock, reg);
- outb(val, i365_base); val = inb(i365_base+1);
- return val;
-}
-
-static void i365_set(u_short sock, u_short reg, u_char data)
-{
- u_char val = I365_REG(sock, reg);
- outb(val, i365_base); outb(data, i365_base+1);
-}
-
-static void i365_bset(u_short sock, u_short reg, u_char mask)
-{
- u_char d = i365_get(sock, reg);
- d |= mask;
- i365_set(sock, reg, d);
-}
-
-static void i365_bclr(u_short sock, u_short reg, u_char mask)
-{
- u_char d = i365_get(sock, reg);
- d &= ~mask;
- i365_set(sock, reg, d);
-}
-
-static int i365_probe(void)
-{
- int val, sock, done;
- char *name = "i82365sl";
-
- log_message("PCMCIA: probing for Intel PCIC (ISA)..");
-
- sock = done = 0;
- if (ioperm(i365_base, 4, 1)) {
- log_perror("PCMCIA: ioperm");
- return -1;
- }
- ioperm(0x80, 1, 1);
- for (; sock < 2; sock++) {
- val = i365_get(sock, I365_IDENT);
- switch (val) {
- case 0x82:
- name = "i82365sl A step";
- break;
- case 0x83:
- name = "i82365sl B step";
- break;
- case 0x84:
- name = "VLSI 82C146";
- break;
- case 0x88: case 0x89: case 0x8a:
- name = "IBM Clone";
- break;
- case 0x8b: case 0x8c:
- break;
- default:
- done = 1;
- }
- if (done) break;
- }
-
- if (sock == 0) {
- log_message("\tnot found.");
- return -ENODEV;
- }
-
- if ((sock == 2) && (strcmp(name, "VLSI 82C146") == 0))
- name = "i82365sl DF";
-
- /* Check for Vadem chips */
- outb(0x0e, i365_base);
- outb(0x37, i365_base);
- i365_bset(0, VG468_MISC, VG468_MISC_VADEMREV);
- val = i365_get(0, I365_IDENT);
- if (val & I365_IDENT_VADEM) {
- if ((val & 7) < 4)
- name = "Vadem VG-468";
- else
- name = "Vadem VG-469";
- i365_bclr(0, VG468_MISC, VG468_MISC_VADEMREV);
- }
-
- /* Check for Cirrus CL-PD67xx chips */
- i365_set(0, PD67_CHIP_INFO, 0);
- val = i365_get(0, PD67_CHIP_INFO);
- if ((val & PD67_INFO_CHIP_ID) == PD67_INFO_CHIP_ID) {
- val = i365_get(0, PD67_CHIP_INFO);
- if ((val & PD67_INFO_CHIP_ID) == 0) {
- if (val & PD67_INFO_SLOTS)
- name = "Cirrus CL-PD672x";
- else {
- name = "Cirrus CL-PD6710";
- sock = 1;
- }
- i365_set(0, PD67_EXT_INDEX, 0xe5);
- if (i365_get(0, PD67_EXT_INDEX) != 0xe5)
- name = "VIA VT83C469";
- }
- }
-
- log_message("\t%s found, %d sockets.", name, sock);
- return 0;
-
-} /* i365_probe */
-
-
-/*====================================================================*/
-
-#include "tcic.h"
-
-static u_char tcic_getb(ioaddr_t base, u_char reg)
-{
- u_char val = inb(base+reg);
- return val;
-}
-
-static void tcic_setb(ioaddr_t base, u_char reg, u_char data)
-{
- outb(data, base+reg);
-}
-
-static u_short tcic_getw(ioaddr_t base, u_char reg)
-{
- u_short val = inw(base+reg);
- return val;
-}
-
-static void tcic_setw(ioaddr_t base, u_char reg, u_short data)
-{
- outw(data, base+reg);
-}
-
-static u_short tcic_aux_getw(ioaddr_t base, u_short reg)
-{
- u_char mode = (tcic_getb(base, TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
- tcic_setb(base, TCIC_MODE, mode);
- return tcic_getw(base, TCIC_AUX);
-}
-
-static void tcic_aux_setw(ioaddr_t base, u_short reg, u_short data)
-{
- u_char mode = (tcic_getb(base, TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
- tcic_setb(base, TCIC_MODE, mode);
- tcic_setw(base, TCIC_AUX, data);
-}
-
-static int get_tcic_id(ioaddr_t base)
-{
- u_short id;
- tcic_aux_setw(base, TCIC_AUX_TEST, TCIC_TEST_DIAG);
- id = tcic_aux_getw(base, TCIC_AUX_ILOCK);
- id = (id & TCIC_ILOCKTEST_ID_MASK) >> TCIC_ILOCKTEST_ID_SH;
- tcic_aux_setw(base, TCIC_AUX_TEST, 0);
- return id;
-}
-
-static int tcic_probe_at(ioaddr_t base)
-{
- int i;
- u_short old;
-
- /* Anything there?? */
- for (i = 0; i < 0x10; i += 2)
- if (tcic_getw(base, i) == 0xffff)
- return -1;
-
- log_message("\tat %#3.3x: ", base);
-
- /* Try to reset the chip */
- tcic_setw(base, TCIC_SCTRL, TCIC_SCTRL_RESET);
- tcic_setw(base, TCIC_SCTRL, 0);
-
- /* Can we set the addr register? */
- old = tcic_getw(base, TCIC_ADDR);
- tcic_setw(base, TCIC_ADDR, 0);
- if (tcic_getw(base, TCIC_ADDR) != 0) {
- tcic_setw(base, TCIC_ADDR, old);
- return -2;
- }
-
- tcic_setw(base, TCIC_ADDR, 0xc3a5);
- if (tcic_getw(base, TCIC_ADDR) != 0xc3a5)
- return -3;
-
- return 2;
-}
-
-static int tcic_probe(void)
-{
- int sock, id;
-
- log_message("PCMCIA: probing for Databook TCIC-2 (ISA)..");
-
- if (ioperm(TCIC_BASE, 16, 1)) {
- log_perror("PCMCIA: ioperm");
- return -1;
- }
-
- ioperm(0x80, 1, 1);
- sock = tcic_probe_at(TCIC_BASE);
-
- if (sock <= 0) {
- log_message("\tnot found.");
- return -ENODEV;
- }
-
- id = get_tcic_id(TCIC_BASE);
- switch (id) {
- case TCIC_ID_DB86082:
- log_message("DB86082"); break;
- case TCIC_ID_DB86082A:
- log_message("DB86082A"); break;
- case TCIC_ID_DB86084:
- log_message("DB86084"); break;
- case TCIC_ID_DB86084A:
- log_message("DB86084A"); break;
- case TCIC_ID_DB86072:
- log_message("DB86072"); break;
- case TCIC_ID_DB86184:
- log_message("DB86184"); break;
- case TCIC_ID_DB86082B:
- log_message("DB86082B"); break;
- default:
- log_message("Unknown TCIC-2 ID 0x%02x", id);
- }
- log_message("\tfound at %#6x, %d sockets.\n", TCIC_BASE, sock);
-
- return 0;
-
-} /* tcic_probe */
-
-
-/*====================================================================*/
-
-char * pcmcia_probe(void)
-{
- if (!pci_probe())
- return "i82365";
- else if (!i365_probe())
- return "i82365";
- else if (!tcic_probe())
- return "tcic";
- else
- return NULL;
-}
diff --git a/mdk-stage1/pcmcia/tcic.h b/mdk-stage1/pcmcia/tcic.h
deleted file mode 100644
index 92347cef6..000000000
--- a/mdk-stage1/pcmcia/tcic.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * tcic.h 1.14 2000/06/12 21:29:37
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_TCIC_H
-#define _LINUX_TCIC_H
-
-#define TCIC_BASE 0x240
-
-/* offsets of registers from TCIC_BASE */
-#define TCIC_DATA 0x00
-#define TCIC_ADDR 0x02
-#define TCIC_SCTRL 0x06
-#define TCIC_SSTAT 0x07
-#define TCIC_MODE 0x08
-#define TCIC_PWR 0x09
-#define TCIC_EDC 0x0A
-#define TCIC_ICSR 0x0C
-#define TCIC_IENA 0x0D
-#define TCIC_AUX 0x0E
-
-#define TCIC_SS_SHFT 12
-#define TCIC_SS_MASK 0x7000
-
-/* Flags for TCIC_ADDR */
-#define TCIC_ADR2_REG 0x8000
-#define TCIC_ADR2_INDREG 0x0800
-
-#define TCIC_ADDR_REG 0x80000000
-#define TCIC_ADDR_SS_SHFT (TCIC_SS_SHFT+16)
-#define TCIC_ADDR_SS_MASK (TCIC_SS_MASK<<16)
-#define TCIC_ADDR_INDREG 0x08000000
-#define TCIC_ADDR_IO 0x04000000
-#define TCIC_ADDR_MASK 0x03ffffff
-
-/* Flags for TCIC_SCTRL */
-#define TCIC_SCTRL_ENA 0x01
-#define TCIC_SCTRL_INCMODE 0x18
-#define TCIC_SCTRL_INCMODE_HOLD 0x00
-#define TCIC_SCTRL_INCMODE_WORD 0x08
-#define TCIC_SCTRL_INCMODE_REG 0x10
-#define TCIC_SCTRL_INCMODE_AUTO 0x18
-#define TCIC_SCTRL_EDCSUM 0x20
-#define TCIC_SCTRL_RESET 0x80
-
-/* Flags for TCIC_SSTAT */
-#define TCIC_SSTAT_6US 0x01
-#define TCIC_SSTAT_10US 0x02
-#define TCIC_SSTAT_PROGTIME 0x04
-#define TCIC_SSTAT_LBAT1 0x08
-#define TCIC_SSTAT_LBAT2 0x10
-#define TCIC_SSTAT_RDY 0x20 /* Inverted */
-#define TCIC_SSTAT_WP 0x40
-#define TCIC_SSTAT_CD 0x80 /* Card detect */
-
-/* Flags for TCIC_MODE */
-#define TCIC_MODE_PGMMASK 0x1f
-#define TCIC_MODE_NORMAL 0x00
-#define TCIC_MODE_PGMWR 0x01
-#define TCIC_MODE_PGMRD 0x02
-#define TCIC_MODE_PGMCE 0x04
-#define TCIC_MODE_PGMDBW 0x08
-#define TCIC_MODE_PGMWORD 0x10
-#define TCIC_MODE_AUXSEL_MASK 0xe0
-
-/* Registers accessed through TCIC_AUX, by setting TCIC_MODE */
-#define TCIC_AUX_TCTL (0<<5)
-#define TCIC_AUX_PCTL (1<<5)
-#define TCIC_AUX_WCTL (2<<5)
-#define TCIC_AUX_EXTERN (3<<5)
-#define TCIC_AUX_PDATA (4<<5)
-#define TCIC_AUX_SYSCFG (5<<5)
-#define TCIC_AUX_ILOCK (6<<5)
-#define TCIC_AUX_TEST (7<<5)
-
-/* Flags for TCIC_PWR */
-#define TCIC_PWR_VCC(sock) (0x01<<(sock))
-#define TCIC_PWR_VCC_MASK 0x03
-#define TCIC_PWR_VPP(sock) (0x08<<(sock))
-#define TCIC_PWR_VPP_MASK 0x18
-#define TCIC_PWR_CLIMENA 0x40
-#define TCIC_PWR_CLIMSTAT 0x80
-
-/* Flags for TCIC_ICSR */
-#define TCIC_ICSR_CLEAR 0x01
-#define TCIC_ICSR_SET 0x02
-#define TCIC_ICSR_JAM (TCIC_ICSR_CLEAR|TCIC_ICSR_SET)
-#define TCIC_ICSR_STOPCPU 0x04
-#define TCIC_ICSR_ILOCK 0x08
-#define TCIC_ICSR_PROGTIME 0x10
-#define TCIC_ICSR_ERR 0x20
-#define TCIC_ICSR_CDCHG 0x40
-#define TCIC_ICSR_IOCHK 0x80
-
-/* Flags for TCIC_IENA */
-#define TCIC_IENA_CFG_MASK 0x03
-#define TCIC_IENA_CFG_OFF 0x00 /* disabled */
-#define TCIC_IENA_CFG_OD 0x01 /* active low, open drain */
-#define TCIC_IENA_CFG_LOW 0x02 /* active low, totem pole */
-#define TCIC_IENA_CFG_HIGH 0x03 /* active high, totem pole */
-#define TCIC_IENA_ILOCK 0x08
-#define TCIC_IENA_PROGTIME 0x10
-#define TCIC_IENA_ERR 0x20 /* overcurrent or iochk */
-#define TCIC_IENA_CDCHG 0x40
-
-/* Flags for TCIC_AUX_WCTL */
-#define TCIC_WAIT_COUNT_MASK 0x001f
-#define TCIC_WAIT_ASYNC 0x0020
-#define TCIC_WAIT_SENSE 0x0040
-#define TCIC_WAIT_SRC 0x0080
-#define TCIC_WCTL_WR 0x0100
-#define TCIC_WCTL_RD 0x0200
-#define TCIC_WCTL_CE 0x0400
-#define TCIC_WCTL_LLBAT1 0x0800
-#define TCIC_WCTL_LLBAT2 0x1000
-#define TCIC_WCTL_LRDY 0x2000
-#define TCIC_WCTL_LWP 0x4000
-#define TCIC_WCTL_LCD 0x8000
-
-/* Flags for TCIC_AUX_SYSCFG */
-#define TCIC_SYSCFG_IRQ_MASK 0x000f
-#define TCIC_SYSCFG_MCSFULL 0x0010
-#define TCIC_SYSCFG_IO1723 0x0020
-#define TCIC_SYSCFG_MCSXB 0x0040
-#define TCIC_SYSCFG_ICSXB 0x0080
-#define TCIC_SYSCFG_NOPDN 0x0100
-#define TCIC_SYSCFG_MPSEL_SHFT 9
-#define TCIC_SYSCFG_MPSEL_MASK 0x0e00
-#define TCIC_SYSCFG_MPSENSE 0x2000
-#define TCIC_SYSCFG_AUTOBUSY 0x4000
-#define TCIC_SYSCFG_ACC 0x8000
-
-#define TCIC_ILOCK_OUT 0x01
-#define TCIC_ILOCK_SENSE 0x02
-#define TCIC_ILOCK_CRESET 0x04
-#define TCIC_ILOCK_CRESENA 0x08
-#define TCIC_ILOCK_CWAIT 0x10
-#define TCIC_ILOCK_CWAITSNS 0x20
-#define TCIC_ILOCK_HOLD_MASK 0xc0
-#define TCIC_ILOCK_HOLD_CCLK 0xc0
-
-#define TCIC_ILOCKTEST_ID_SH 8
-#define TCIC_ILOCKTEST_ID_MASK 0x7f00
-#define TCIC_ILOCKTEST_MCIC_1 0x8000
-
-#define TCIC_ID_DB86082 0x02
-#define TCIC_ID_DB86082A 0x03
-#define TCIC_ID_DB86084 0x04
-#define TCIC_ID_DB86084A 0x08
-#define TCIC_ID_DB86072 0x15
-#define TCIC_ID_DB86184 0x14
-#define TCIC_ID_DB86082B 0x17
-
-#define TCIC_TEST_DIAG 0x8000
-
-/*
- * Indirectly addressed registers
- */
-
-#define TCIC_SCF1(sock) ((sock)<<3)
-#define TCIC_SCF2(sock) (((sock)<<3)+2)
-
-/* Flags for SCF1 */
-#define TCIC_SCF1_IRQ_MASK 0x000f
-#define TCIC_SCF1_IRQ_OFF 0x0000
-#define TCIC_SCF1_IRQOC 0x0010
-#define TCIC_SCF1_PCVT 0x0020
-#define TCIC_SCF1_IRDY 0x0040
-#define TCIC_SCF1_ATA 0x0080
-#define TCIC_SCF1_DMA_SHIFT 8
-#define TCIC_SCF1_DMA_MASK 0x0700
-#define TCIC_SCF1_DMA_OFF 0
-#define TCIC_SCF1_DREQ2 2
-#define TCIC_SCF1_IOSTS 0x0800
-#define TCIC_SCF1_SPKR 0x1000
-#define TCIC_SCF1_FINPACK 0x2000
-#define TCIC_SCF1_DELWR 0x4000
-#define TCIC_SCF1_HD7IDE 0x8000
-
-/* Flags for SCF2 */
-#define TCIC_SCF2_RI 0x0001
-#define TCIC_SCF2_IDBR 0x0002
-#define TCIC_SCF2_MDBR 0x0004
-#define TCIC_SCF2_MLBAT1 0x0008
-#define TCIC_SCF2_MLBAT2 0x0010
-#define TCIC_SCF2_MRDY 0x0020
-#define TCIC_SCF2_MWP 0x0040
-#define TCIC_SCF2_MCD 0x0080
-#define TCIC_SCF2_MALL 0x00f8
-
-/* Indirect addresses for memory window registers */
-#define TCIC_MWIN(sock,map) (0x100+(((map)+((sock)<<2))<<3))
-#define TCIC_MBASE_X 2
-#define TCIC_MMAP_X 4
-#define TCIC_MCTL_X 6
-
-#define TCIC_MBASE_4K_BIT 0x4000
-#define TCIC_MBASE_HA_SHFT 12
-#define TCIC_MBASE_HA_MASK 0x0fff
-
-#define TCIC_MMAP_REG 0x8000
-#define TCIC_MMAP_CA_SHFT 12
-#define TCIC_MMAP_CA_MASK 0x3fff
-
-#define TCIC_MCTL_WSCNT_MASK 0x001f
-#define TCIC_MCTL_WCLK 0x0020
-#define TCIC_MCTL_WCLK_CCLK 0x0000
-#define TCIC_MCTL_WCLK_BCLK 0x0020
-#define TCIC_MCTL_QUIET 0x0040
-#define TCIC_MCTL_WP 0x0080
-#define TCIC_MCTL_ACC 0x0100
-#define TCIC_MCTL_KE 0x0200
-#define TCIC_MCTL_EDC 0x0400
-#define TCIC_MCTL_B8 0x0800
-#define TCIC_MCTL_SS_SHFT TCIC_SS_SHFT
-#define TCIC_MCTL_SS_MASK TCIC_SS_MASK
-#define TCIC_MCTL_ENA 0x8000
-
-/* Indirect addresses for I/O window registers */
-#define TCIC_IWIN(sock,map) (0x200+(((map)+((sock)<<1))<<2))
-#define TCIC_IBASE_X 0
-#define TCIC_ICTL_X 2
-
-#define TCIC_ICTL_WSCNT_MASK TCIC_MCTL_WSCNT_MASK
-#define TCIC_ICTL_QUIET TCIC_MCTL_QUIET
-#define TCIC_ICTL_1K 0x0080
-#define TCIC_ICTL_PASS16 0x0100
-#define TCIC_ICTL_ACC TCIC_MCTL_ACC
-#define TCIC_ICTL_TINY 0x0200
-#define TCIC_ICTL_B16 0x0400
-#define TCIC_ICTL_B8 TCIC_MCTL_B8
-#define TCIC_ICTL_BW_MASK (TCIC_ICTL_B16|TCIC_ICTL_B8)
-#define TCIC_ICTL_BW_DYN 0
-#define TCIC_ICTL_BW_8 TCIC_ICTL_B8
-#define TCIC_ICTL_BW_16 TCIC_ICTL_B16
-#define TCIC_ICTL_BW_ATA (TCIC_ICTL_B16|TCIC_ICTL_B8)
-#define TCIC_ICTL_SS_SHFT TCIC_SS_SHFT
-#define TCIC_ICTL_SS_MASK TCIC_SS_MASK
-#define TCIC_ICTL_ENA TCIC_MCTL_ENA
-
-#endif /* _LINUX_TCIC_H */
diff --git a/mdk-stage1/pcmcia/version.h b/mdk-stage1/pcmcia/version.h
deleted file mode 100644
index 7a567ea2c..000000000
--- a/mdk-stage1/pcmcia/version.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* version.h 1.95 2000/11/07 22:55:28 (David Hinds) */
-
-#define CS_RELEASE "3.1.23"
-#define CS_RELEASE_CODE 0x3117
diff --git a/mdk-stage1/pcmcia/vg468.h b/mdk-stage1/pcmcia/vg468.h
deleted file mode 100644
index bb5faae87..000000000
--- a/mdk-stage1/pcmcia/vg468.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * vg468.h 1.13 2000/06/12 21:29:37
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_VG468_H
-#define _LINUX_VG468_H
-
-/* Special bit in I365_IDENT used for Vadem chip detection */
-#define I365_IDENT_VADEM 0x08
-
-/* Special definitions in I365_POWER */
-#define VG468_VPP2_MASK 0x0c
-#define VG468_VPP2_5V 0x04
-#define VG468_VPP2_12V 0x08
-
-/* Unique Vadem registers */
-#define VG469_VSENSE 0x1f /* Card voltage sense */
-#define VG469_VSELECT 0x2f /* Card voltage select */
-#define VG468_CTL 0x38 /* Control register */
-#define VG468_TIMER 0x39 /* Timer control */
-#define VG468_MISC 0x3a /* Miscellaneous */
-#define VG468_GPIO_CFG 0x3b /* GPIO configuration */
-#define VG469_EXT_MODE 0x3c /* Extended mode register */
-#define VG468_SELECT 0x3d /* Programmable chip select */
-#define VG468_SELECT_CFG 0x3e /* Chip select configuration */
-#define VG468_ATA 0x3f /* ATA control */
-
-/* Flags for VG469_VSENSE */
-#define VG469_VSENSE_A_VS1 0x01
-#define VG469_VSENSE_A_VS2 0x02
-#define VG469_VSENSE_B_VS1 0x04
-#define VG469_VSENSE_B_VS2 0x08
-
-/* Flags for VG469_VSELECT */
-#define VG469_VSEL_VCC 0x03
-#define VG469_VSEL_5V 0x00
-#define VG469_VSEL_3V 0x03
-#define VG469_VSEL_MAX 0x0c
-#define VG469_VSEL_EXT_STAT 0x10
-#define VG469_VSEL_EXT_BUS 0x20
-#define VG469_VSEL_MIXED 0x40
-#define VG469_VSEL_ISA 0x80
-
-/* Flags for VG468_CTL */
-#define VG468_CTL_SLOW 0x01 /* 600ns memory timing */
-#define VG468_CTL_ASYNC 0x02 /* Asynchronous bus clocking */
-#define VG468_CTL_TSSI 0x08 /* Tri-state some outputs */
-#define VG468_CTL_DELAY 0x10 /* Card detect debounce */
-#define VG468_CTL_INPACK 0x20 /* Obey INPACK signal? */
-#define VG468_CTL_POLARITY 0x40 /* VCCEN polarity */
-#define VG468_CTL_COMPAT 0x80 /* Compatibility stuff */
-
-#define VG469_CTL_WS_COMPAT 0x04 /* Wait state compatibility */
-#define VG469_CTL_STRETCH 0x10 /* LED stretch */
-
-/* Flags for VG468_TIMER */
-#define VG468_TIMER_ZEROPWR 0x10 /* Zero power control */
-#define VG468_TIMER_SIGEN 0x20 /* Power up */
-#define VG468_TIMER_STATUS 0x40 /* Activity timer status */
-#define VG468_TIMER_RES 0x80 /* Timer resolution */
-#define VG468_TIMER_MASK 0x0f /* Activity timer timeout */
-
-/* Flags for VG468_MISC */
-#define VG468_MISC_GPIO 0x04 /* General-purpose IO */
-#define VG468_MISC_DMAWSB 0x08 /* DMA wait state control */
-#define VG469_MISC_LEDENA 0x10 /* LED enable */
-#define VG468_MISC_VADEMREV 0x40 /* Vadem revision control */
-#define VG468_MISC_UNLOCK 0x80 /* Unique register lock */
-
-/* Flags for VG469_EXT_MODE_A */
-#define VG469_MODE_VPPST 0x03 /* Vpp steering control */
-#define VG469_MODE_INT_SENSE 0x04 /* Internal voltage sense */
-#define VG469_MODE_CABLE 0x08
-#define VG469_MODE_COMPAT 0x10 /* i82365sl B or DF step */
-#define VG469_MODE_TEST 0x20
-#define VG469_MODE_RIO 0x40 /* Steer RIO to INTR? */
-
-/* Flags for VG469_EXT_MODE_B */
-#define VG469_MODE_B_3V 0x01 /* 3.3v for socket B */
-
-/* Data structure for tracking vendor-specific state */
-typedef struct vg46x_state_t {
- u_char ctl; /* VG468_CTL */
- u_char ema; /* VG468_EXT_MODE_A */
-} vg46x_state_t;
-
-#endif /* _LINUX_VG468_H */
diff --git a/mdk-stage1/pcmcia/yacc_config.c b/mdk-stage1/pcmcia/yacc_config.c
deleted file mode 100644
index e68e17cb3..000000000
--- a/mdk-stage1/pcmcia/yacc_config.c
+++ /dev/null
@@ -1,1017 +0,0 @@
-#define YYBYACC 1
-#define YYMAJOR 1
-#define YYMINOR 9
-#define yyclearin (yychar=(-1))
-#define yyerrok (yyerrflag=0)
-#define YYRECOVERING (yyerrflag!=0)
-#define YYPREFIX "yy"
-#line 2 "yacc_config.y"
-/*
- * yacc_config.y 1.51 2000/06/12 21:33:02
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-#include <syslog.h>
-#include <sys/types.h>
-
-#include <pcmcia/cs_types.h>
-#include <pcmcia/cs.h>
-#include <pcmcia/cistpl.h>
-#include <pcmcia/ds.h>
-
-#include "cardmgr.h"
-
-/* If bison: generate nicer error messages */
-#define YYERROR_VERBOSE 1
-
-/* from lex_config, for nice error messages */
-extern char *current_file;
-extern int current_lineno;
-
-void yyerror(char *msg, ...);
-
-static int add_binding(card_info_t *card, char *name, int fn);
-static int add_module(device_info_t *card, char *name);
-
-#line 65 "yacc_config.y"
-typedef union {
- char *str;
- u_long num;
- struct device_info_t *device;
- struct card_info_t *card;
- struct mtd_ident_t *mtd;
- struct adjust_list_t *adjust;
-} YYSTYPE;
-#line 77 "y.tab.c"
-#define DEVICE 257
-#define CARD 258
-#define ANONYMOUS 259
-#define TUPLE 260
-#define MANFID 261
-#define VERSION 262
-#define FUNCTION 263
-#define PCI 264
-#define BIND 265
-#define CIS 266
-#define TO 267
-#define NEEDS_MTD 268
-#define MODULE 269
-#define OPTS 270
-#define CLASS 271
-#define REGION 272
-#define JEDEC 273
-#define DTYPE 274
-#define DEFAULT 275
-#define MTD 276
-#define INCLUDE 277
-#define EXCLUDE 278
-#define RESERVE 279
-#define IRQ_NO 280
-#define PORT 281
-#define MEMORY 282
-#define STRING 283
-#define NUMBER 284
-#define YYERRCODE 256
-short yylhs[] = { -1,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
- 1, 1, 2, 2, 2, 3, 3, 3, 3, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 8, 9,
- 10, 11, 12, 12, 13, 15, 14, 14, 14, 14,
- 4, 21, 5, 5, 5, 6, 16, 16, 16, 16,
- 18, 17, 19, 20, 20, 22,
-};
-short yylen[] = { 2,
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 3, 2, 4, 4, 2, 1, 1, 1, 2,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 7,
- 5, 5, 3, 3, 3, 3, 3, 5, 3, 5,
- 2, 4, 3, 3, 3, 3, 2, 1, 1, 1,
- 3, 4, 2, 3, 3, 4,
-};
-short yydefred[] = { 1,
- 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 17, 0, 19, 0, 21, 22, 23, 24,
- 0, 26, 0, 28, 0, 49, 48, 50, 0, 6,
- 7, 16, 20, 0, 47, 0, 0, 0, 0, 9,
- 10, 11, 0, 41, 0, 0, 0, 0, 29, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 53, 0, 0, 0, 0, 13, 0, 0, 12, 43,
- 46, 44, 45, 0, 0, 33, 35, 0, 0, 36,
- 34, 0, 0, 51, 54, 55, 42, 56, 0, 0,
- 0, 0, 0, 0, 0, 52, 14, 15, 0, 31,
- 32, 38, 40, 0, 30,
-};
-short yydgoto[] = { 1,
- 11, 40, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31,
-};
-short yysindex[] = { 0,
- -250, 0, -279, -278, -274, -265, -259, -242, -242, -242,
- -10, -248, 0, -44, 0, -249, 0, 0, 0, 0,
- -9, 0, -3, 0, -243, 0, 0, 0, -233, 0,
- 0, 0, 0, -228, 0, -227, -240, -238, -237, 0,
- 0, 0, -242, 0, -235, -232, -231, -230, 0, -234,
- -229, -226, -225, -224, -222, -221, -220, -219, -218, -217,
- 0, -215, -213, -212, -211, 0, 9, 11, 0, 0,
- 0, 0, 0, 14, 21, 0, 0, 30, -192, 0,
- 0, -191, -207, 0, 0, 0, 0, 0, -206, -205,
- -204, -203, -202, -201, -200, 0, 0, 0, 41, 0,
- 0, 0, 0, -197, 0,
-};
-short yyrindex[] = { 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 107, 149, 0, 90, 0, 124, 0, 0, 0, 0,
- 49, 0, 73, 0, 0, 0, 0, 0, 141, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
-};
-short yygindex[] = { 0,
- 0, -7, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,
-};
-#define YYTABLESIZE 428
-short yytable[] = { 48,
- 37, 41, 42, 32, 33, 2, 3, 4, 34, 49,
- 50, 51, 52, 53, 54, 55, 56, 35, 5, 44,
- 45, 6, 46, 36, 39, 7, 8, 9, 10, 59,
- 60, 61, 62, 43, 57, 69, 63, 37, 38, 39,
- 58, 64, 65, 66, 37, 67, 68, 70, 25, 74,
- 71, 72, 73, 89, 75, 90, 76, 91, 77, 78,
- 79, 80, 81, 82, 92, 83, 84, 85, 39, 86,
- 87, 88, 27, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 0, 0, 0, 18,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 47, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 0, 0, 37,
- 0, 0, 37, 0, 0, 0, 37, 37, 37, 37,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 0, 0, 39, 0, 0, 39, 0, 0, 0,
- 39, 39, 39, 39, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 0, 0, 25, 0, 0,
- 25, 0, 0, 0, 25, 25, 25, 25, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 0,
- 0, 27, 0, 0, 27, 18, 18, 18, 27, 27,
- 27, 27, 0, 0, 0, 0, 0, 18, 18, 0,
- 18, 18, 2, 2, 2, 18, 18, 18, 18, 0,
- 0, 0, 0, 0, 0, 2, 0, 0, 2, 5,
- 5, 5, 2, 2, 2, 2, 0, 0, 0, 0,
- 0, 0, 5, 0, 0, 5, 4, 4, 4, 5,
- 5, 5, 5, 0, 3, 3, 3, 0, 0, 4,
- 0, 0, 4, 0, 0, 0, 4, 4, 4, 4,
- 3, 0, 0, 0, 3, 3, 3, 3,
-};
-short yycheck[] = { 44,
- 0, 9, 10, 283, 283, 256, 257, 258, 283, 259,
- 260, 261, 262, 263, 264, 265, 266, 283, 269, 268,
- 269, 272, 271, 283, 0, 276, 277, 278, 279, 273,
- 274, 275, 276, 44, 44, 43, 270, 280, 281, 282,
- 44, 270, 270, 284, 44, 284, 284, 283, 0, 284,
- 283, 283, 283, 45, 284, 45, 283, 44, 284, 284,
- 283, 283, 283, 283, 44, 284, 284, 283, 44, 283,
- 283, 283, 0, 44, 267, 267, 284, 284, 284, 284,
- 284, 284, 284, 284, 44, 283, -1, -1, -1, 0,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 0, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 270, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, -1, -1, 269,
- -1, -1, 272, -1, -1, -1, 276, 277, 278, 279,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, -1, -1, 269, -1, -1, 272, -1, -1, -1,
- 276, 277, 278, 279, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 266, -1, -1, 269, -1, -1,
- 272, -1, -1, -1, 276, 277, 278, 279, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, -1,
- -1, 269, -1, -1, 272, 256, 257, 258, 276, 277,
- 278, 279, -1, -1, -1, -1, -1, 268, 269, -1,
- 271, 272, 256, 257, 258, 276, 277, 278, 279, -1,
- -1, -1, -1, -1, -1, 269, -1, -1, 272, 256,
- 257, 258, 276, 277, 278, 279, -1, -1, -1, -1,
- -1, -1, 269, -1, -1, 272, 256, 257, 258, 276,
- 277, 278, 279, -1, 256, 257, 258, -1, -1, 269,
- -1, -1, 272, -1, -1, -1, 276, 277, 278, 279,
- 272, -1, -1, -1, 276, 277, 278, 279,
-};
-#define YYFINAL 1
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 284
-#if YYDEBUG
-char *yyname[] = {
-"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,"','","'-'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"DEVICE","CARD",
-"ANONYMOUS","TUPLE","MANFID","VERSION","FUNCTION","PCI","BIND","CIS","TO",
-"NEEDS_MTD","MODULE","OPTS","CLASS","REGION","JEDEC","DTYPE","DEFAULT","MTD",
-"INCLUDE","EXCLUDE","RESERVE","IRQ_NO","PORT","MEMORY","STRING","NUMBER",
-};
-char *yyrule[] = {
-"$accept : list",
-"list :",
-"list : list adjust",
-"list : list device",
-"list : list mtd",
-"list : list card",
-"list : list opts",
-"list : list mtd_opts",
-"list : list error",
-"adjust : INCLUDE resource",
-"adjust : EXCLUDE resource",
-"adjust : RESERVE resource",
-"adjust : adjust ',' resource",
-"resource : IRQ_NO NUMBER",
-"resource : PORT NUMBER '-' NUMBER",
-"resource : MEMORY NUMBER '-' NUMBER",
-"device : DEVICE STRING",
-"device : needs_mtd",
-"device : module",
-"device : class",
-"card : CARD STRING",
-"card : anonymous",
-"card : tuple",
-"card : manfid",
-"card : pci",
-"card : version",
-"card : function",
-"card : bind",
-"card : cis",
-"anonymous : card ANONYMOUS",
-"tuple : card TUPLE NUMBER ',' NUMBER ',' STRING",
-"manfid : card MANFID NUMBER ',' NUMBER",
-"pci : card PCI NUMBER ',' NUMBER",
-"version : card VERSION STRING",
-"version : version ',' STRING",
-"function : card FUNCTION NUMBER",
-"cis : card CIS STRING",
-"bind : card BIND STRING",
-"bind : card BIND STRING TO NUMBER",
-"bind : bind ',' STRING",
-"bind : bind ',' STRING TO NUMBER",
-"needs_mtd : device NEEDS_MTD",
-"opts : MODULE STRING OPTS STRING",
-"module : device MODULE STRING",
-"module : module OPTS STRING",
-"module : module ',' STRING",
-"class : device CLASS STRING",
-"region : REGION STRING",
-"region : dtype",
-"region : jedec",
-"region : default",
-"dtype : region DTYPE NUMBER",
-"jedec : region JEDEC NUMBER NUMBER",
-"default : region DEFAULT",
-"mtd : region MTD STRING",
-"mtd : mtd OPTS STRING",
-"mtd_opts : MTD STRING OPTS STRING",
-};
-#endif
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
-#endif
-#endif
-int yydebug;
-int yynerrs;
-int yyerrflag;
-int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
-YYSTYPE yyval;
-YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
-#define yystacksize YYSTACKSIZE
-#line 468 "yacc_config.y"
-void yyerror(char *msg, ...)
-{
- va_list ap;
- char str[256];
-
- va_start(ap, msg);
- sprintf(str, "config error, file '%s' line %d: ",
- current_file, current_lineno);
- vsprintf(str+strlen(str), msg, ap);
-#if YYDEBUG
- fprintf(stderr, "%s\n", str);
-#else
- syslog(LOG_ERR, "%s", str);
-#endif
- va_end(ap);
-}
-
-static int add_binding(card_info_t *card, char *name, int fn)
-{
- device_info_t *dev = root_device;
- if (card->bindings == MAX_BINDINGS) {
- yyerror("too many bindings\n");
- return -1;
- }
- for (; dev; dev = dev->next)
- if (strcmp((char *)dev->dev_info, name) == 0) break;
- if (dev == NULL) {
- yyerror("unknown device: %s", name);
- return -1;
- }
- card->device[card->bindings] = dev;
- card->dev_fn[card->bindings] = fn;
- card->bindings++;
- free(name);
- return 0;
-}
-
-static int add_module(device_info_t *dev, char *name)
-{
- if (dev->modules == MAX_MODULES) {
- yyerror("too many modules");
- return -1;
- }
- dev->module[dev->modules] = name;
- dev->opts[dev->modules] = NULL;
- dev->modules++;
- return 0;
-}
-
-int yylex(void);
-
-#if YYDEBUG
-adjust_list_t *root_adjust = NULL;
-device_info_t *root_device = NULL;
-card_info_t *root_card = NULL, *blank_card = NULL, *root_func = NULL;
-mtd_ident_t *root_mtd = NULL, *default_mtd = NULL;
-
-
-void main(int argc, char *argv[])
-{
- yydebug = 1;
- if (argc > 1)
- parse_configfile(argv[1]);
-}
-#endif
-#line 426 "y.tab.c"
-#define YYABORT goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
-int
-yyparse(void)
-{
- register int yym, yyn, yystate;
-#if YYDEBUG
- register char *yys;
- extern char *getenv();
-
- if (yys = getenv("YYDEBUG"))
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
-#endif
-
- yynerrs = 0;
- yyerrflag = 0;
- yychar = (-1);
-
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
-
-yyloop:
- if ((yyn = yydefred[yystate])) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, shifting to state %d\n",
- YYPREFIX, yystate, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- yychar = (-1);
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
- yyerror("syntax error");
-#ifdef lint
- goto yyerrlab;
-#endif
-yyerrlab:
- ++yynerrs;
-yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, error recovery shifting\
- to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: error recovery discarding state %d\n",
- YYPREFIX, *yyssp);
-#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- yychar = (-1);
- goto yyloop;
- }
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, reducing by rule %d (%s)\n",
- YYPREFIX, yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- yyval = yyvsp[1-yym];
- switch (yyn)
- {
-case 2:
-#line 84 "yacc_config.y"
-{
- adjust_list_t **tail = &root_adjust;
- while (*tail != NULL) tail = &(*tail)->next;
- *tail = yyvsp[0].adjust;
- }
-break;
-case 3:
-#line 90 "yacc_config.y"
-{
- yyvsp[0].device->next = root_device;
- root_device = yyvsp[0].device;
- }
-break;
-case 4:
-#line 95 "yacc_config.y"
-{
- if (yyvsp[0].mtd->mtd_type == 0) {
- yyerror("no ID method for this card");
- YYERROR;
- }
- if (yyvsp[0].mtd->module == NULL) {
- yyerror("no MTD module specified");
- YYERROR;
- }
- yyvsp[0].mtd->next = root_mtd;
- root_mtd = yyvsp[0].mtd;
- }
-break;
-case 5:
-#line 108 "yacc_config.y"
-{
- if (yyvsp[0].card->ident_type == 0) {
- yyerror("no ID method for this card");
- YYERROR;
- }
- if (yyvsp[0].card->bindings == 0) {
- yyerror("no function bindings");
- YYERROR;
- }
- if (yyvsp[0].card->ident_type == FUNC_IDENT) {
- yyvsp[0].card->next = root_func;
- root_func = yyvsp[0].card;
- } else {
- yyvsp[0].card->next = root_card;
- root_card = yyvsp[0].card;
- }
- }
-break;
-case 9:
-#line 131 "yacc_config.y"
-{
- yyvsp[0].adjust->adj.Action = ADD_MANAGED_RESOURCE;
- yyval.adjust = yyvsp[0].adjust;
- }
-break;
-case 10:
-#line 136 "yacc_config.y"
-{
- yyvsp[0].adjust->adj.Action = REMOVE_MANAGED_RESOURCE;
- yyval.adjust = yyvsp[0].adjust;
- }
-break;
-case 11:
-#line 141 "yacc_config.y"
-{
- yyvsp[0].adjust->adj.Action = ADD_MANAGED_RESOURCE;
- yyvsp[0].adjust->adj.Attributes |= RES_RESERVED;
- yyval.adjust = yyvsp[0].adjust;
- }
-break;
-case 12:
-#line 147 "yacc_config.y"
-{
- yyvsp[0].adjust->adj.Action = yyvsp[-2].adjust->adj.Action;
- yyvsp[0].adjust->adj.Attributes = yyvsp[-2].adjust->adj.Attributes;
- yyvsp[0].adjust->next = yyvsp[-2].adjust;
- yyval.adjust = yyvsp[0].adjust;
- }
-break;
-case 13:
-#line 156 "yacc_config.y"
-{
- yyval.adjust = calloc(sizeof(adjust_list_t), 1);
- yyval.adjust->adj.Resource = RES_IRQ;
- yyval.adjust->adj.resource.irq.IRQ = yyvsp[0].num;
- }
-break;
-case 14:
-#line 162 "yacc_config.y"
-{
- if ((yyvsp[0].num < yyvsp[-2].num) || (yyvsp[0].num > 0xffff)) {
- yyerror("invalid port range");
- YYERROR;
- }
- yyval.adjust = calloc(sizeof(adjust_list_t), 1);
- yyval.adjust->adj.Resource = RES_IO_RANGE;
- yyval.adjust->adj.resource.io.BasePort = yyvsp[-2].num;
- yyval.adjust->adj.resource.io.NumPorts = yyvsp[0].num - yyvsp[-2].num + 1;
- }
-break;
-case 15:
-#line 173 "yacc_config.y"
-{
- if (yyvsp[0].num < yyvsp[-2].num) {
- yyerror("invalid address range");
- YYERROR;
- }
- yyval.adjust = calloc(sizeof(adjust_list_t), 1);
- yyval.adjust->adj.Resource = RES_MEMORY_RANGE;
- yyval.adjust->adj.resource.memory.Base = yyvsp[-2].num;
- yyval.adjust->adj.resource.memory.Size = yyvsp[0].num - yyvsp[-2].num + 1;
- }
-break;
-case 16:
-#line 186 "yacc_config.y"
-{
- yyval.device = calloc(sizeof(device_info_t), 1);
- yyval.device->refs = 1;
- strcpy(yyval.device->dev_info, yyvsp[0].str);
- free(yyvsp[0].str);
- }
-break;
-case 20:
-#line 198 "yacc_config.y"
-{
- yyval.card = calloc(sizeof(card_info_t), 1);
- yyval.card->refs = 1;
- yyval.card->name = yyvsp[0].str;
- }
-break;
-case 29:
-#line 214 "yacc_config.y"
-{
- if (yyvsp[-1].card->ident_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- if (blank_card) {
- yyerror("Anonymous card already defined");
- YYERROR;
- }
- yyvsp[-1].card->ident_type = BLANK_IDENT;
- blank_card = yyvsp[-1].card;
- }
-break;
-case 30:
-#line 229 "yacc_config.y"
-{
- if (yyvsp[-6].card->ident_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-6].card->ident_type = TUPLE_IDENT;
- yyvsp[-6].card->id.tuple.code = yyvsp[-4].num;
- yyvsp[-6].card->id.tuple.ofs = yyvsp[-2].num;
- yyvsp[-6].card->id.tuple.info = yyvsp[0].str;
- }
-break;
-case 31:
-#line 242 "yacc_config.y"
-{
- if (yyvsp[-4].card->ident_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-4].card->ident_type = MANFID_IDENT;
- yyvsp[-4].card->id.manfid.manf = yyvsp[-2].num;
- yyvsp[-4].card->id.manfid.card = yyvsp[0].num;
- }
-break;
-case 32:
-#line 253 "yacc_config.y"
-{
- if (yyvsp[-4].card->ident_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-4].card->ident_type = PCI_IDENT;
- yyvsp[-4].card->id.manfid.manf = yyvsp[-2].num;
- yyvsp[-4].card->id.manfid.card = yyvsp[0].num;
- }
-break;
-case 33:
-#line 264 "yacc_config.y"
-{
- if (yyvsp[-2].card->ident_type != 0) {
- yyerror("ID method already defined\n");
- YYERROR;
- }
- yyvsp[-2].card->ident_type = VERS_1_IDENT;
- yyvsp[-2].card->id.vers.ns = 1;
- yyvsp[-2].card->id.vers.pi[0] = yyvsp[0].str;
- }
-break;
-case 34:
-#line 274 "yacc_config.y"
-{
- if (yyvsp[-2].card->id.vers.ns == 4) {
- yyerror("too many version strings");
- YYERROR;
- }
- yyvsp[-2].card->id.vers.pi[yyvsp[-2].card->id.vers.ns] = yyvsp[0].str;
- yyvsp[-2].card->id.vers.ns++;
- }
-break;
-case 35:
-#line 285 "yacc_config.y"
-{
- if (yyvsp[-2].card->ident_type != 0) {
- yyerror("ID method already defined\n");
- YYERROR;
- }
- yyvsp[-2].card->ident_type = FUNC_IDENT;
- yyvsp[-2].card->id.func.funcid = yyvsp[0].num;
- }
-break;
-case 36:
-#line 296 "yacc_config.y"
-{ yyvsp[-2].card->cis_file = strdup(yyvsp[0].str); }
-break;
-case 37:
-#line 300 "yacc_config.y"
-{
- if (add_binding(yyvsp[-2].card, yyvsp[0].str, 0) != 0)
- YYERROR;
- }
-break;
-case 38:
-#line 305 "yacc_config.y"
-{
- if (add_binding(yyvsp[-4].card, yyvsp[-2].str, yyvsp[0].num) != 0)
- YYERROR;
- }
-break;
-case 39:
-#line 310 "yacc_config.y"
-{
- if (add_binding(yyvsp[-2].card, yyvsp[0].str, 0) != 0)
- YYERROR;
- }
-break;
-case 40:
-#line 315 "yacc_config.y"
-{
- if (add_binding(yyvsp[-4].card, yyvsp[-2].str, yyvsp[0].num) != 0)
- YYERROR;
- }
-break;
-case 41:
-#line 322 "yacc_config.y"
-{
- yyvsp[-1].device->needs_mtd = 1;
- }
-break;
-case 42:
-#line 328 "yacc_config.y"
-{
- device_info_t *d;
- int i, found = 0;
- for (d = root_device; d; d = d->next) {
- for (i = 0; i < d->modules; i++)
- if (strcmp(yyvsp[-2].str, d->module[i]) == 0) break;
- if (i < d->modules) {
- if (d->opts[i])
- free(d->opts[i]);
- d->opts[i] = strdup(yyvsp[0].str);
- found = 1;
- }
- }
- free(yyvsp[-2].str); free(yyvsp[0].str);
- if (!found) {
- yyerror("module name not found!");
- YYERROR;
- }
- }
-break;
-case 43:
-#line 350 "yacc_config.y"
-{
- if (add_module(yyvsp[-2].device, yyvsp[0].str) != 0)
- YYERROR;
- }
-break;
-case 44:
-#line 355 "yacc_config.y"
-{
- if (yyvsp[-2].device->opts[yyvsp[-2].device->modules-1] == NULL) {
- yyvsp[-2].device->opts[yyvsp[-2].device->modules-1] = yyvsp[0].str;
- } else {
- yyerror("too many options");
- YYERROR;
- }
- }
-break;
-case 45:
-#line 364 "yacc_config.y"
-{
- if (add_module(yyvsp[-2].device, yyvsp[0].str) != 0)
- YYERROR;
- }
-break;
-case 46:
-#line 371 "yacc_config.y"
-{
- if (yyvsp[-2].device->class != NULL) {
- yyerror("extra class string");
- YYERROR;
- }
- yyvsp[-2].device->class = yyvsp[0].str;
- }
-break;
-case 47:
-#line 381 "yacc_config.y"
-{
- yyval.mtd = calloc(sizeof(mtd_ident_t), 1);
- yyval.mtd->refs = 1;
- yyval.mtd->name = yyvsp[0].str;
- }
-break;
-case 51:
-#line 392 "yacc_config.y"
-{
- if (yyvsp[-2].mtd->mtd_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-2].mtd->mtd_type = DTYPE_MTD;
- yyvsp[-2].mtd->dtype = yyvsp[0].num;
- }
-break;
-case 52:
-#line 403 "yacc_config.y"
-{
- if (yyvsp[-3].mtd->mtd_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-3].mtd->mtd_type = JEDEC_MTD;
- yyvsp[-3].mtd->jedec_mfr = yyvsp[-1].num;
- yyvsp[-3].mtd->jedec_info = yyvsp[0].num;
- }
-break;
-case 53:
-#line 415 "yacc_config.y"
-{
- if (yyvsp[-1].mtd->mtd_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- if (default_mtd) {
- yyerror("Default MTD already defined");
- YYERROR;
- }
- yyvsp[-1].mtd->mtd_type = DEFAULT_MTD;
- default_mtd = yyvsp[-1].mtd;
- }
-break;
-case 54:
-#line 430 "yacc_config.y"
-{
- if (yyvsp[-2].mtd->module != NULL) {
- yyerror("extra MTD entry");
- YYERROR;
- }
- yyvsp[-2].mtd->module = yyvsp[0].str;
- }
-break;
-case 55:
-#line 438 "yacc_config.y"
-{
- if (yyvsp[-2].mtd->opts == NULL) {
- yyvsp[-2].mtd->opts = yyvsp[0].str;
- } else {
- yyerror("too many options");
- YYERROR;
- }
- }
-break;
-case 56:
-#line 449 "yacc_config.y"
-{
- mtd_ident_t *m;
- int found = 0;
- for (m = root_mtd; m; m = m->next)
- if (strcmp(yyvsp[-2].str, m->module) == 0) break;
- if (m) {
- if (m->opts) free(m->opts);
- m->opts = strdup(yyvsp[0].str);
- found = 1;
- }
- free(yyvsp[-2].str); free(yyvsp[0].str);
- if (!found) {
- yyerror("MTD name not found!");
- YYERROR;
- }
- }
-break;
-#line 966 "y.tab.c"
- }
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state 0 to\
- state %d\n", YYPREFIX, YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state %d \
-to state %d\n", YYPREFIX, *yyssp, yystate);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
-yyoverflow:
- yyerror("yacc stack overflow");
-yyabort:
- return (1);
-yyaccept:
- return (0);
-}
diff --git a/mdk-stage1/pcmcia/yacc_config.h b/mdk-stage1/pcmcia/yacc_config.h
deleted file mode 100644
index b4902c8e6..000000000
--- a/mdk-stage1/pcmcia/yacc_config.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#define DEVICE 257
-#define CARD 258
-#define ANONYMOUS 259
-#define TUPLE 260
-#define MANFID 261
-#define VERSION 262
-#define FUNCTION 263
-#define PCI 264
-#define BIND 265
-#define CIS 266
-#define TO 267
-#define NEEDS_MTD 268
-#define MODULE 269
-#define OPTS 270
-#define CLASS 271
-#define REGION 272
-#define JEDEC 273
-#define DTYPE 274
-#define DEFAULT 275
-#define MTD 276
-#define INCLUDE 277
-#define EXCLUDE 278
-#define RESERVE 279
-#define IRQ_NO 280
-#define PORT 281
-#define MEMORY 282
-#define STRING 283
-#define NUMBER 284
-typedef union {
- char *str;
- u_long num;
- struct device_info_t *device;
- struct card_info_t *card;
- struct mtd_ident_t *mtd;
- struct adjust_list_t *adjust;
-} YYSTYPE;
-extern YYSTYPE yylval;
diff --git a/mdk-stage1/ppp/Changes-2.3 b/mdk-stage1/ppp/Changes-2.3
deleted file mode 100644
index f5c954b4b..000000000
--- a/mdk-stage1/ppp/Changes-2.3
+++ /dev/null
@@ -1,441 +0,0 @@
-What was new in ppp-2.3.11.
-***************************
-
-* Support for Solaris 8 has been added, including support for
- replumbing and IPV6.
-
-* The Solaris `snoop' utility should now work on ppp interfaces.
-
-* New hooks have been added - pap_logout_hook, ip_up_hook, and
- ip_down_hook.
-
-* A new `passprompt' plugin is included, thanks to Alan Curry, which
- makes it possible for pppd to call an external program to get the
- PAP password to send to the peer.
-
-* The error messages for the situation where authentication is
- required because the system has a default route have been improved.
-
-* There is a new connect_delay option which specifies how long pppd
- should pause after the connect script finishes. Previously this
- delay was fixed at 1 second. (This delay terminates as soon as pppd
- sees a valid PPP frame from the peer.)
-
-* The `hide-password' option is now the default, and there is a new
- `show-password' option to enable the printing of password strings in
- the debug output.
-
-* A fairly complete list of the names of PPP protocols has been added
- so that when pppd rejects a frame because its protocol is not
- supported, it can print the name of the unsupported protocol.
-
-* Synchronous serial lines are supported under Linux 2.3.x.
-
-* The bug where pppd would not recognize a modem hangup under Linux
- 2.3.x kernels has been fixed.
-
-
-What was new in ppp-2.3.10.
-***************************
-
-* Pppd now supports `plugins', which are pieces of code (packaged as
- shared libraries) which can be loaded into pppd at runtime and which
- can affect its behaviour. The intention is that plugins provide a
- way for people to customize the behaviour of pppd for their own
- needs without needing to change the base pppd source. I have added
- some hooks into pppd (places where pppd will call a function
- pointer, if non-zero, to replace some of pppd's code) and I will be
- receptive to suggestions about places to add more hooks. Plugins
- are supported under Linux and Solaris at present.
-
-* We have a new maintainer for the Solaris port, Adi Masputra of Sun
- Microsystems, and he has updated the Solaris port so that it should
- work on 64-bit machines under Solaris 7 and later.
-
-* Pppd now has an `allow-ip' option, which takes an argument which is
- an IP address (or subnet) which peers are permitted to use without
- authenticating themselves. The argument takes the same form as each
- element of the allowed IP address list in the secrets files. The
- allow-ip option is privileged and may be specified multiple times.
- Using the allow-ip option should be cleaner than putting a line like
- `"" * "" address' in /etc/ppp/pap-secrets.
-
-* Chat can now substitute environment variables into the script. This
- is enabled by the -E flag. (Thanks to Andreas Arens for the patch.)
-
-* If the PAP username and password from the peer contains unprintable
- characters, they will be translated to a printable form before
- looking in the pap-secrets file. Characters >= 0x80 are translated
- to a M- form, and characters from 0 to 0x1f (and 0x7f as well) are
- translated to a ^X form. If this change causes you grief, let me
- know what would be a better translation. It appears that some peers
- send nulls or other control characters in their usernames and
- passwords.
-
-* Pppd has new `ktune' and `noktune' options, which enable/disable
- it to change kernel settings as appropriate. This is only
- implemented under Linux, and requires the /proc filesystem to be
- mounted. Under Linux, with the ktune option, pppd will enable IP
- forwarding in the kernel if the proxyarp option is used, and will
- enable the dynamic IP address kernel option in demand mode if the
- local IP address changes.
-
-* Pppd no longer requires a remote address to be specified for demand
- dialling. If none is specified, it will use a default value of
- 10.112.112.112+unit_number. (It will not propose this default to
- the peer.)
-
-* The default holdoff is now 0 if no connect script is given.
-
-* The IPV6 code from Tommi Komulainen, which I unfortunately only
- partially merged in to ppp-2.3.9, has been fixed and updated.
-
-* The linux compilation glitches should be fixed now.
-
-
-What was new in ppp-2.3.9.
-**************************
-
-* Support for the new generic PPP layer under development for the
- Linux kernel.
-
-* You can now place extra options to apply to specific users at the
- end of the line with their password in the pap-secrets or
- chap-secrets file, separated from the IP address(es) with a "--"
- separator. These options are parsed after the peer is authenticated
- but before network protocol (IPCP, IPXCP) or CCP negotiation
- commences.
-
-* Pppd will apply the holdoff period if the link was terminated by the
- peer. It doesn't apply it if the link was terminated because the
- local pppd thought it was idle.
-
-* Synchronous support for Solaris has been added, thanks to John
- Morrison, and for FreeBSD, thanks to Paul Fulghum.
-
-* IPV6 support has been merged in, from Tommi Komulainen. At the
- moment it only supports Linux and it is not tested by me.
-
-* The `nodefaultip' option can be used in demand mode to say that pppd
- should not suggest its local IP address to the peer.
-
-* The `init' option has been added; this causes pppd to run a script
- to initialize the serial device (e.g. by sending an init string to
- the modem). Unlike the connect option, this can be used in a
- dial-in situation. (Thanks to Tobias Ringstrom.)
-
-* There is a new `logfile' option to send log messages to a file as
- well as syslog.
-
-* There is a new, privileged `linkname' option which sets a logical
- name for the link. Pppd will create a /var/run/ppp-<linkname>.pid
- file containing its process ID.
-
-* There is a new `maxfail' option which specifies how many consecutive
- failed connection attempts are permitted before pppd will exit. The
- default value is 10, and 0 means infinity. :-)
-
-* Sundry bugs fixed.
-
-
-What was new in ppp-2.3.8.
-**************************
-
-* The exit status of pppd will now indicate whether the link was
- successfully established, or if not, what error was encountered.
-
-* Pppd has two new options: fdlog <n> will send log messages to file
- descriptor <n> instead of standard output, and nofdlog will stop log
- messages from being sent to any file descriptor (they will still be
- sent to syslog). Pppd now will not send log messages to a file
- descriptor if the serial port is open on that file descriptor.
-
-* Pppd sets an environment variable called PPPLOGNAME for scripts that
- it runs, indicating the login name of the user who invoked pppd.
-
-* Pppd sets environment variables CONNECT_TIME, BYTES_SENT and
- BYTES_RCVD for the ip-down and auth-down scripts indicating the
- statistics for the connection just terminated. (CONNECT_TIME is in
- seconds.)
-
-* If the user has the serial device open on standard input and
- specifies a symbolic link to the serial device on the command line,
- pppd will detect this and behave correctly (i.e. not detach from its
- controlling terminal). Furthermore, if the serial port is open for
- reading and writing on standard input, pppd will assume that it is
- locked by its invoker and not lock it itself.
-
-* Chat now has a feature where if a string to be sent begins with an
- at sign (@), the rest of the string is taken as the name of a file
- (regular file or named pipe), and the actual string to send is taken
- from that file.
-
-* Support for FreeBSD-2.2.8 and 3.0 has been added, thanks to Paul
- Fulghum.
-
-* The Tru64 (aka Digital Unix aka OSF/1) port has been updated.
-
-* The system panics on Solaris SMP systems related to PPP connections
- being established and terminated should no longer occur.
-
-* Fixed quite a few bugs.
-
-
-What was new in ppp-2.3.7.
-**************************
-
-* Pppd can now automatically allocate itself a pseudo-tty to use as
- the serial device. This has made three new options possible:
-
- - `pty script' will run `script' with its standard input and output
- connected to the master side of the pty. For example:
- pppd pty 'ssh -t server.my.net pppd'
- is a basic command for setting up a PPP link (tunnel) over ssh.
- (In practice you may need to specify other options such as IP
- addresses, etc.)
-
- - `notty' tells pppd to communicate over its standard input and
- output, which do not have to be a terminal device.
-
- - `record filename' tells pppd to record all of the characters sent
- and received over the serial device to a file called `filename'.
- The data is recorded in a tagged format with timestamps, which can
- be printed in a readable form with the pppdump program, which is
- included in this distribution.
-
-* Pppd now logs the connect time and number of bytes sent and received
- (at the level of the serial device) when the connection is
- terminated.
-
-* If you use the updetach or nodetach option, pppd will print its
- messages to standard output as well as logging them with syslog
- (provided of course pppd isn't using its standard input or output as
- its serial device).
-
-* There is a new `privgroup groupname' option (a privileged option).
- If the user running pppd is in group `groupname', s/he can use
- privileged options without restriction.
-
-* There is a new `receive-all' option, which causes pppd to accept all
- control characters, even the ones that the peer should be escaping
- (i.e. the receive asyncmap is 0). This is useful with some buggy
- peers.
-
-* The default asyncmap is now 0.
-
-* There is a new `sync' option, currently only implemented under
- Linux, which allows pppd to run on synchronous HDLC devices.
-
-* If a value for the device name or for the connect, disconnect,
- welcome or pty option is given in a privileged option file
- (i.e. /etc/ppp/options or a file loaded with the `call' option), it
- cannot be overridden by a non-privileged user.
-
-* Many bugs have been fixed, notably:
- - signals are not blocked unnecessarily, as they were in 2.3.6.
- - the usepeerdns option should work now.
- - the SPEED environment variable for scripts is set correctly.
- - the /etc/ppp/auth-down script is not run until auth-up completes.
- - the device is opened as root if it is the device on standard
- input.
- - pppd doesn't die with the ioctl(PPPIOCSASYNCMAP) error under linux
- if a hangup occurs at the wrong time.
-
-* Some error messages have been changed to be clearer (I hope :-)
-
-
-What was new in ppp-2.3.6.
-**************************
-
-* Pppd now opens the tty device as the user (rather than as root) if
- the device name was given by the user, i.e. on the command line or
- in the ~/.ppprc file. If the device name was given in
- /etc/ppp/options or in a file loaded with the `call' option, the
- device is opened as root.
-
-* The default behaviour of pppd is now to let a peer which has not
- authenticated itself (e.g. your ISP) use any IP address to which the
- system does not already have a route. (This is currently only
- supported under Linux, Solaris and Digital Unix; on the other
- systems, the peer must now authenticate itself unless the noauth
- option is used.)
-
-* Added new option `usepeerdns', thanks to Nick Walker
- <nickwalker@email.com>. If the peer supplies DNS addresses, these
- will be written to /etc/ppp/resolv.conf. The ip-up script can then
- be used to add these addresses to /etc/resolv.conf if desired (see
- the ip-up.local.add and ip-down.local.add files in the scripts
- directory).
-
-* The Solaris ppp driver should now work correctly on SMP systems.
-
-* Minor corrections so that the code can compile under Solaris 7,
- and under Linux with glibc-2.1.
-
-* The Linux kernel driver has been restructured for improved
- performance.
-
-* Pppd now won't start the ip-down script until the ip-up script has
- finished.
-
-
-What was new in ppp-2.3.5.
-**************************
-
-* Minor corrections to the Digital UNIX and NetBSD ports.
-
-* A workaround to avoid tickling a bug in the `se' serial port driver
-on Sun PCI Ultra machines running Solaris.
-
-* Fixed a bug in the negotiation of the Microsoft WINS server address
-option.
-
-* Fixed a bug in the Linux port where it would fail for kernel
-versions above 2.1.99.
-
-
-What was new in ppp-2.3.4.
-**************************
-
-* The NeXT port has been updated, thanks to Steve Perkins.
-
-* ppp-2.3.4 compiles and works under Solaris 2.6, using either gcc or
-cc.
-
-* With the Solaris, SVR4 and SunOS ports, you can control the choice
-of C compiler, C compiler options, and installation directories by
-editing the svr4/Makedefs or sunos4/Makedefs file.
-
-* Until now, we have been using the number 24 to identify Deflate
-compression in the CCP negotiations, which was the number in the draft
-RFC describing Deflate. The number actually assigned to Deflate is
-26. The code has been changed to use 26, but to allow the use of 24
-for now for backwards compatibility. (This can be disabled with the
-`nodeflatedraft' option to pppd.)
-
-* Fixed some bugs in the linux driver and deflate compressor which
-were causing compression problems, including corrupting long
-incompressible packets sometimes.
-
-* Fixes to the PAM and shadow password support in pppd, from Al
-Longyear and others.
-
-* Pppd now sets some environment variables for scripts it invokes
-(ip-up/down, auth-ip/down), giving information about the connection.
-The variables it sets are PEERNAME, IPLOCAL, IPREMOTE, UID, DEVICE,
-SPEED, and IFNAME.
-
-* Pppd now has an `updetach' option, which will cause it to detach
-from its controlling terminal once the link has come up (i.e. once it
-is available for IP traffic).
-
-
-What was new in ppp-2.3.3.
-**************************
-
-* Fixed compilation problems under SunOS.
-
-* Fixed a bug introduced into chat in 2.3.2, and compilation problems
-introduced into the MS-CHAP implementation in 2.3.2.
-
-* The linux kernel driver has been updated for recent 2.1-series
-kernel changes, and it now will ask kerneld to load compression
-modules when required, if the kernel is configured to support kerneld.
-
-* Pppd should now compile correctly under linux on systems with glibc.
-
-
-What was new in ppp-2.3.2.
-**************************
-
-* In 2.3.1, I made a change which was intended to make pppd able to
-detect loss of CD during or immediately after the connection script
-runs. Unfortunately, this had the side-effect that the connection
-script wouldn't work at all on some systems. This change has been
-reversed.
-
-* Fix compilation problems in the Linux kernel driver.
-
-
-What was new in ppp-2.3.1.
-**************************
-
-* Enhancements to chat, thanks to Francis Demierre. Chat can now
-accept comments in the chat script file, and has new SAY, HANGUP,
-CLR_ABORT and CLR_REPORT keywords.
-
-* Fixed a bug which causes 2.3.0 to crash Solaris systems.
-
-* Bug-fixes and restructuring of the Linux kernel driver.
-
-* The holdoff behaviour of pppd has been changed slightly: now, if
-the link comes up for IP (or other network protocol) traffic, we
-consider that the link has been successfully established, and don't
-enforce the holdoff period after the link goes down.
-
-* Pppd should now correctly wait for CD (carrier detect) from the
-modem, even when the serial port initially had CLOCAL set, and it
-should also detect loss of CD during or immediately after the
-connection script runs.
-
-* Under linux, pppd will work with older 2.2.0* version kernel
-drivers, although demand-dialling is not supported with them.
-
-* Minor bugfixes for pppd.
-
-
-What was new in ppp-2.3.
-************************
-
-* Demand-dialling. Pppd now has a mode where it will establish the
-network interface immediately when it starts, but not actually bring
-the link up until it sees some data to be sent. Look for the demand
-option description in the pppd man page. Demand-dialling is not
-supported under Ultrix or NeXTStep.
-
-* Idle timeout. Pppd will optionally terminate the link if no data
-packets are sent or received within a certain time interval.
-
-* Pppd now runs the /etc/ppp/auth-up script, if it exists, when the
-peer successfully authenticates itself, and /etc/ppp/auth-down when
-the connection is subsequently terminated. This can be useful for
-accounting purposes.
-
-* A new packet compression scheme, Deflate, has been implemented.
-This uses the same compression method as `gzip'. This method is free
-of patent or copyright restrictions, and it achieves better
-compression than BSD-Compress. It does consume more CPU cycles for
-compression than BSD-Compress, but this shouldn't be a problem for
-links running at 100kbit/s or less.
-
-* There is no code in this distribution which is covered by Brad
-Clements' restrictive copyright notice. The STREAMS modules for SunOS
-and OSF/1 have been rewritten, based on the Solaris 2 modules, which
-were written from scratch without any Clements code.
-
-* Pppstats has been reworked to clean up the output format somewhat.
-It also has a new -d option which displays data rate in kbyte/s for
-those columns which would normally display bytes.
-
-* Pppd options beginning with - or + have been renamed, e.g. -ip
-became noip, +chap became require-chap, etc. The old options are
-still accepted for compatibility but may be removed in future.
-
-* Pppd now has some options (such as the new `noauth' option) which
-can only be specified if it is being run by root, or in an
-"privileged" options file: /etc/ppp/options or an options file in the
-/etc/ppp/peers directory. There is a new "call" option to read
-options from a file in /etc/ppp/peers, making it possible for non-root
-users to make unauthenticated connections, but only to certain trusted
-peers. My intention is to make the `auth' option the default in a
-future release.
-
-* Several minor new features have been added to pppd, including the
-maxconnect and welcome options. Pppd will now terminate the
-connection when there are no network control protocols running. The
-allowed IP address(es) field in the secrets files can now specify
-subnets (with a notation like 123.45.67.89/24) and addresses which are
-not acceptable (put a ! on the front).
-
-* Numerous bugs have been fixed (no doubt some have been introduced :-)
-Thanks to those who reported bugs in ppp-2.2.
diff --git a/mdk-stage1/ppp/FAQ b/mdk-stage1/ppp/FAQ
deleted file mode 100644
index 96bc5c708..000000000
--- a/mdk-stage1/ppp/FAQ
+++ /dev/null
@@ -1,634 +0,0 @@
-This is a list of Frequently Asked Questions about using ppp-2.x and
-their answers.
-
-
-------------------------------------------------------------------------
-
-Q: Can you give me an example of how I might set up my machine to dial
-out to an ISP?
-
-A: Here's an example for dialling out to an ISP via a modem on
-/dev/tty02. The modem uses hardware (CTS/RTS) flow control, and the
-serial port is run at 38400 baud. The ISP assigns our IP address.
-
-To configure pppd for this connection, create a file under
-/etc/ppp/peers called (say) my-isp containing the following:
-
-tty02 crtscts 38400
-connect 'chat -v -f /etc/ppp/chat/my-isp'
-defaultroute
-
-The ppp connection is then initiated using the following command:
-
-pppd call my-isp
-
-Of course, if the directory containing pppd is not in your path, you
-will need to give the full pathname for pppd, for example,
-/usr/sbin/pppd.
-
-When you run this, pppd will use the chat program to dial the ISP and
-invoke its ppp service. Chat will read the file specified with -f,
-namely /etc/ppp/chat/my-isp, to find a list of strings to expect to
-receive, and strings to send. This file would contain something like
-this:
-
-ABORT "NO CARRIER"
-ABORT "NO DIALTONE"
-ABORT "ERROR"
-ABORT "NO ANSWER"
-ABORT "BUSY"
-ABORT "Username/Password Incorrect"
-"" "at"
-OK "at&d2&c1"
-OK "atdt2479381"
-"name:" "^Uusername"
-"word:" "\qpassword"
-"annex" "\q^Uppp"
-"Switching to PPP-ppp-Switching to PPP"
-
-You will need to change the details here. The first string on each
-line is a string to expect to receive; the second is the string to
-send. You can add or delete lines according to the dialog required to
-access your ISP's system. This example is for a modem with a standard
-AT command set, dialling out to an Annex terminal server. The \q
-toggles "quiet" mode; when quiet mode is on, the strings to be sent
-are replaced by ?????? in the log. You may need to go through the
-dialog manually using kermit or tip first to determine what should go
-in the script.
-
-To terminate the link, run the following script, called (say)
-kill-ppp:
-
-#!/bin/sh
-unit=ppp${1-0}
-piddir=/var/run
-if [ -f $piddir/$unit.pid ]; then
- kill -1 `cat $piddir/$unit.pid`
-fi
-
-On some systems (SunOS, Solaris, Ultrix), you will need to change
-/var/run to /etc/ppp.
-
-
-------------------------------------------------------------------------
-
-Q: Can you give me an example of how I could set up my office machine
-so I can dial in to it from home?
-
-A: Let's assume that the office machine is called "office" and is on a
-local ethernet subnet. Call the home machine "home" and give it an IP
-address on the same subnet as "office". We'll require both machines
-to authenticate themselves to each other.
-
-Set up the files on "office" as follows:
-
-/etc/ppp/options contains:
-
-auth # require the peer to authenticate itself
-lock
-# other options can go here if desired
-
-/etc/ppp/chap-secrets contains:
-
-home office "beware the frub-jub" home
-office home "bird, my son!%&*" -
-
-Set up a modem on a serial port so that users can dial in to the
-modem and get a login prompt.
-
-On "home", set up the files as follows:
-
-/etc/ppp/options contains the same as on "office".
-
-/etc/ppp/chap-secrets contains:
-
-home office "beware the frub-jub" -
-office home "bird, my son!%&*" office
-
-Create a file called /etc/ppp/peers/office containing the following:
-
-tty02 crtscts 38400
-connect 'chat -v -f /etc/ppp/chat/office'
-defaultroute
-
-(You may need to change some of the details here.)
-
-Create the /etc/ppp/chat/office file containing the following:
-
-ABORT "NO CARRIER"
-ABORT "NO DIALTONE"
-ABORT "ERROR"
-ABORT "NO ANSWER"
-ABORT "BUSY"
-ABORT "ogin incorrect"
-"" "at"
-OK "at&d2&c1"
-OK "atdt2479381"
-"name:" "^Uusername"
-"word:" "\qpassword"
-"$" "\q^U/usr/sbin/pppd proxyarp"
-"~"
-
-You will need to change the details. Note that the "$" in the
-second-last line is expecting the shell prompt after a successful
-login - you may need to change it to "%" or something else.
-
-You then initiate the connection (from home) with the command:
-
-pppd call office
-
-------------------------------------------------------------------------
-
-Q: When I try to establish a connection, the modem successfully dials
-the remote system, but then hangs up a few seconds later. How do I
-find out what's going wrong?
-
-A: There are a number of possible problems here. The first thing to
-do is to ensure that pppd's messages are visible. Pppd uses the
-syslog facility to log messages which help to identify specific
-problems. Messages from pppd have facility "daemon" and levels
-ranging from "debug" to "error".
-
-Usually it is useful to see messages of level "notice" or higher on
-the console. To see these, find the line in /etc/syslog.conf which
-has /dev/console on the right-hand side, and add "daemon.notice" in
-the list on the left. The line will end up looking something like
-this:
-
-*.err;kern.debug;auth.notice;mail.crit;daemon.notice /dev/console
-
-Note that the whitespace is tabs, *not* spaces.
-
-If you are having problems, it may be useful to see messages of level
-"info" as well, in which case you would change "daemon.notice" to
-"daemon.info".
-
-In addition, it is useful to collect pppd's debugging output in a
-file - the debug option to pppd causes it to log the contents of all
-control packets sent and received in human-readable form. To do this,
-add a line like this to /etc/syslog.conf:
-
-daemon,local2.debug /etc/ppp/log
-
-and create an empty /etc/ppp/log file.
-
-When you change syslog.conf, you will need to send a HUP signal to
-syslogd to causes it to re-read syslog.conf. You can do this with a
-command like this (as root):
-
- kill -HUP `cat /etc/syslogd.pid`
-
-(On some systems, you need to use /var/run/syslog.pid instead of
-/etc/syslogd.pid.)
-
-After setting up syslog like this, you can use the -v flag to chat and
-the `debug' option to pppd to get more information. Try initiating
-the connection again; when it fails, inspect /etc/ppp/log to see what
-happened and where the connection failed.
-
-
-------------------------------------------------------------------------
-
-Q: When I try to establish a connection, I get an error message saying
-"Serial link is not 8-bit clean". Why?
-
-A: The most common cause is that your connection script hasn't
-successfully dialled out to the remote system and invoked ppp service
-there. Instead, pppd is talking to something (a shell or login
-process on the remote machine, or maybe just the modem) which is only
-outputting 7-bit characters.
-
-This can also arise with a modem which uses an AT command set if the
-dial command is issued before pppd is invoked, rather than within a
-connect script started by pppd. If the serial port is set to 7
-bits/character plus parity when the last AT command is issued, the
-modem serial port will be set to the same setting.
-
-Note that pppd *always* sets the local serial port to 8 bits per
-character, with no parity and 1 stop bit. So you shouldn't need to
-issue an stty command before invoking pppd.
-
-
-------------------------------------------------------------------------
-
-Q: When I try to establish a connection, I get an error message saying
-"Serial line is looped back". Why?
-
-A: Probably your connection script hasn't successfully dialled out to
-the remote system and invoked ppp service there. Instead, pppd is
-talking to something which is just echoing back the characters it
-receives. The -v option to chat can help you find out what's going
-on. It can be useful to include "~" as the last expect string to
-chat, so chat won't return until it's seen the start of the first PPP
-frame from the remote system.
-
-Another possibility is that your phone connection has dropped for some
-obscure reason and the modem is echoing the characters it receives
-from your system.
-
-
-------------------------------------------------------------------------
-
-Q: I installed pppd successfully, but when I try to run it, I get a
-message saying something like "peer authentication required but no
-authentication files accessible".
-
-A: When pppd is used on a machine which already has a connection to
-the Internet (or to be more precise, one which has a default route in
-its routing table), it will require all peers to authenticate
-themselves. The reason for this is that if you don't require
-authentication, you have a security hole, because the peer can
-basically choose any IP address it wants, even the IP address of some
-trusted host (for example, a host mentioned in some .rhosts file).
-
-On machines which don't have a default route, pppd does not require
-the peer to authenticate itself. The reason is that such machines
-would mostly be using pppd to dial out to an ISP which will refuse to
-authenticate itself. In that case the peer can use any IP address as
-long as the system does not already have a route to that address.
-For example, if you have a local ethernet network, the peer can't use
-an address on that network. (In fact it could if it authenticated
-itself and it was permitted to use that address by the pap-secrets or
-chap-secrets file.)
-
-There are 3 ways around the problem:
-
-1. If possible, arrange for the peer to authenticate itself, and
-create the necessary secrets files (/etc/ppp/pap-secrets and/or
-/etc/ppp/chap-secrets).
-
-2. If the peer refuses to authenticate itself, and will always be
-using the same IP address, or one of a small set of IP addresses, you
-can create an entry in the /etc/ppp/pap-secrets file like this:
-
- "" * "" his-ip.his-domain his-other-ip.other-domain
-
-(that is, using the empty string for the client name and password
-fields). Of couse, you replace the 4th and following fields in the
-example above with the IP address(es) that the peer may use. You can
-use either hostnames or numeric IP addresses.
-
-3. You can add the `noauth' option to the /etc/ppp/options file.
-Pppd will then not ask the peer to authenticate itself. If you do
-this, I *strongly* recommend that you remove the set-uid bit from the
-permissions on the pppd executable, with a command like this:
-
- chmod u-s /usr/sbin/pppd
-
-Then, an intruder could only use pppd maliciously if they had already
-become root, in which case they couldn't do any more damage using pppd
-than they could anyway.
-
-
-------------------------------------------------------------------------
-
-Q: What do I need to put in the secrets files?
-
-A: Three things:
- - secrets (i.e. passwords) to use for authenticating this host to
- other hosts (i.e., for proving our identity to others);
- - secrets which other hosts can use for authenticating themselves
- to us (i.e., so that they can prove their identity to us); and
- - information about which IP addresses other hosts may use, once
- they have authenticated themselves.
-
-There are two authentication files: /etc/ppp/pap-secrets, which
-contains secrets for use with PAP (the Password Authentication
-Protocol), and /etc/ppp/chap-secrets, which contains secrets for use
-with CHAP (the Challenge Handshake Authentication Protocol). Both
-files have the same simple format, which is as follows:
-
-- The file contains a series of entries, each of which contains a
-secret for authenticating one machine to another.
-
-- Each entry is contained on a single logical line. A logical line
-may be continued across several lines by placing a backslash (\) at
-the end of each line except the last.
-
-- Each entry has 3 or more fields, separated by whitespace (spaces
-and/or tabs). These fields are, in order:
- * The name of the machine that is authenticating itself
- (the "client").
- * The name of the machine that is authenticating the client
- (the "server").
- * The secret to be used for authenticating that client to that
- server. If this field begins with the at-sign `@', the rest
- of the field is taken as the name of a file containing the
- actual secret.
- * The 4th and any following fields list the IP address(es)
- that the client may use.
-
-- The file may contain comments, which begin with a `#' and continue
-to the end of the line.
-
-- Double quotes `"' should be used around a field if it contains
-characters with special significance, such as space, tab, `#', etc.
-
-- The backslash `\' may be used before characters with special
-significance (space, tab, `#', `\', etc.) to remove that significance.
-
-Some important points to note:
-
-* A machine can be *both* a "client" and a "server" for the purposes
-of authentication - this happens when both peers require the other to
-authenticate itself. So A would authenticate itself to B, and B would
-also authenticate itself to A (possibly using a different
-authentication protocol).
-
-* If both the "client" and the "server" are running ppp-2.x, they need
-to have a similar entry in the appropriate secrets file; the first two
-fields are *not* swapped on the client, compared to the server. So
-the client might have an entry like this:
-
- ay bee "our little secret" -
-
-and the corresponding entry on the server could look like this:
-
- ay bee "our little secret" 123.45.67.89
-
-
-------------------------------------------------------------------------
-
-Q: Explain about PAP and CHAP?
-
-PAP stands for the Password Authentication Protocol. With this
-protocol, the "client" (the machine that needs to authenticate itself)
-sends its name and a password, in clear text, to the "server". The
-server returns a message indicating whether the name and password are
-valid.
-
-CHAP stands for the Challenge Handshake Authentication Protocol. It
-is designed to address some of the deficiencies and vulnerabilities of
-PAP. Like PAP, it is based on the client and server having a shared
-secret, but the secret is never passed in clear text over the link.
-Instead, the server sends a "challenge" - an arbitrary string of
-bytes, and the client must prove it knows the shared secret by
-generating a hash value from the challenge combined with the shared
-secret, and sending the hash value back to the server. The server
-also generates the hash value and compares it with the value received
-from the client.
-
-At a practical level, CHAP can be slightly easier to configure than
-PAP because the server sends its name with the challenge. Thus, when
-finding the appropriate secret in the secrets file, the client knows
-the server's name. In contrast, with PAP, the client has to find its
-password (i.e. the shared secret) before it has received anything from
-the server. Thus, it may be necessary to use the `remotename' option
-to pppd when using PAP authentication so that it can select the
-appropriate secret from /etc/ppp/pap-secrets.
-
-Microsoft also has a variant of CHAP which uses a different hashing
-arrangement from normal CHAP. There is a client-side implementation
-of Microsoft's CHAP in ppp-2.3; see README.MSCHAP80.
-
-
-------------------------------------------------------------------------
-
-Q: When the modem hangs up, without the remote system having
-terminated the connection properly, pppd does not notice the hangup,
-but just keeps running. How do I get pppd to notice the hangup and
-exit?
-
-A: Pppd detects modem hangup by looking for an end-of-file indication
-from the serial driver, which should be generated when the CD (carrier
-detect) signal on the serial port is deasserted. For this to work:
-
-- The modem has to be set to assert CD when the connection is made and
-deassert it when the phone line hangs up. Usually the AT&C1 modem
-command sets this mode.
-
-- The cable from the modem to the serial port must connect the CD
-signal (on pin 8).
-
-- Some serial drivers have a "software carrier detect" mode, which
-must be *disabled*. The method of doing this varies between systems.
-Under SunOS, use the ttysoftcar command. Under NetBSD, edit /etc/ttys
-to remove the "softcar" flag from the line for the serial port, and
-run ttyflags.
-
-
-------------------------------------------------------------------------
-
-Q: Why should I use PPP compression (BSD-Compress or Deflate) when my
-modem already does V.42 compression? Won't it slow the CPU down a
-lot?
-
-A: Using PPP compression is preferable, especially when using modems
-over phone lines, for the following reasons:
-
-- The V.42 compression in the modem isn't very strong - it's an LZW
-technique (same as BSD-Compress) with a 10, 11 or 12 bit code size.
-With BSD-Compress you can use a code size of up to 15 bits and get
-much better compression, or you can use Deflate and get even better
-compression ratios.
-
-- I have found that enabling V.42 compression in my 14.4k modem
-increases the round-trip time for a character to be sent, echoed and
-returned by around 40ms, from 160ms to 200ms (with error correction
-enabled). This is enough to make it feel less responsive on rlogin or
-telnet sessions. Using PPP compression adds less than 5ms (small
-enough that I couldn't measure it reliably). I admit my modem is a
-cheapie and other modems may well perform better.
-
-- While compression and decompression do require some CPU time, they
-reduce the amount of time spent in the serial driver to transmit a
-given amount of data. Many machines require an interrupt for each
-character sent or received, and the interrupt handler can take a
-significant amount of CPU time. So the increase in CPU load isn't as
-great as you might think. My measurements indicate that a system with
-a 33MHz 486 CPU should be able to do Deflate compression for serial
-link speeds of up to 100kb/s or more. It depends somewhat on the type
-of data, of course; for example, when compressing a string of nulls
-with Deflate, it's hard to get a high output data rate from the
-compressor, simply because it compresses strings of nulls so well that
-it has to eat a very large amount of input data to get each byte of
-output.
-
-
-------------------------------------------------------------------------
-
-Q: I get messages saying "Unsupported protocol (...) received". What do
-these mean?
-
-A: If you only get one or two when pppd starts negotiating with the
-peer, they mean that the peer wanted to negotiate some PPP protocol
-that pppd doesn't understand. This doesn't represent a problem, it
-simply means that there is some functionality that the peer supports
-that pppd doesn't, so that functionality can't be used.
-
-If you get them sporadically while the link is operating, or if the
-protocol numbers (in parentheses) don't correspond to any valid PPP
-protocol that the peer might be using, then the problem is probably
-that characters are getting corrupted on the receive side, or that
-extra characters are being inserted into the receive stream somehow.
-If this is happening, most packets that get corrupted should get
-discarded by the FCS (Frame Check Sequence, a 16-bit CRC) check, but a
-small number may get through.
-
-One possibility may be that you are receiving broadcast messages on
-the remote system which are being sent over your serial link. Another
-possibility is that your modem is set for XON/XOFF (software) flow
-control and is inserting ^Q and ^S characters into the receive data
-stream.
-
-
-------------------------------------------------------------------------
-
-Q: I get messages saying "Protocol-Reject for unsupported protocol ...".
-What do these mean?
-
-A: This is the other side of the previous question. If characters are
-getting corrupted on the way to the peer, or if your system is
-inserting extra bogus characters into the transmit data stream, the
-peer may send protocol-reject messages to you, resulting in the above
-message (since your pppd doesn't recognize the protocol number
-either.)
-
-
-------------------------------------------------------------------------
-
-Q: I get a message saying something like "ioctl(TIOCSETD): Operation
-not permitted". How do I fix this?
-
-A: This is because pppd is not running as root. If you have not
-installed pppd setuid-root, you will have to be root to run it. If
-you have installed pppd setuid-root and you still get this message, it
-is probably because your shell is using some other copy of pppd than
-the installed one - for example, if you are in the pppd directory
-where you've just built pppd and your $PATH has . before /usr/sbin (or
-wherever pppd gets installed).
-
-
-------------------------------------------------------------------------
-
-Q: Has your package been ported to HP/UX or IRIX or AIX?
-
-A: No. I don't have access to systems running HP/UX or AIX. No-one
-has volunteered to port it to HP/UX. I had someone who did a port for
-AIX 4.x, but who is no longer able to maintain it. And apparently AIX
-3.x is quite different, so it would need a separate port.
-
-IRIX includes a good PPP implementation in the standard distribution,
-as far as I know.
-
-
-------------------------------------------------------------------------
-
-Q: Under SunOS 4, when I try to modload the ppp modules, I get the
-message "can't open /dev/vd: No such device".
-
-A: First check in /dev that there is an entry like this:
-
-crw-r--r-- 1 root 57, 0 Oct 2 1991 vd
-
-If not, make one (mknod /dev/vd c 57 0). If the problem still exists,
-probably your kernel has been configured without the vd driver
-included. The vd driver is needed for loadable module support.
-
-First, identify the config file that was used. When you boot your
-machine, or if you run /etc/dmesg, you'll see a line that looks
-something like this:
-
-SunOS Release 4.1.3_U1 (CAP_XBOX) #7: Thu Mar 21 15:31:56 EST 1996
- ^^^^^^^^
- this is the config file name
-
-The config file will be in the /sys/`arch -k`/conf directory (arch -k
-should return sun4m for a SparcStation 10, sun3x for a Sun 3/80,
-etc.). Look in there for a line saying "options VDDRV". If that line
-isn't present (or is commented out), add it (or uncomment it).
-
-You then need to rebuild the kernel as described in the SunOS
-manuals. Basically you need to run config and make like this:
-
- /usr/etc/config CAP_XBOX
- cd ../CAP_XBOX
- make
-
-(replacing the string CAP_XBOX by the name of the config file for your
-kernel, of course).
-
-Then copy the new kernel to /:
-
- mv /vmunix /vmunix.working
- cp vmunix /
-
-and reboot. Modload should then work.
-
-
-------------------------------------------------------------------------
-
-Q: I'm running Linux (or NetBSD or FreeBSD), and my system comes with
-PPP already. Should I consider installing this package? Why?
-
-A: The PPP that is already installed in your system is (or is derived
-from) some version of this PPP package. You can find out what version
-of this package is already installed with the command "pppd --help".
-If this is older than the latest version, you may wish to install the
-latest version so that you can take advantage of the new features or
-bug fixes.
-
-
-------------------------------------------------------------------------
-
-Q: I'm running pppd in demand mode, and I find that pppd often dials
-out unnecessarily when I try to make a connection within my local
-machine or with a machine on my local LAN. What can I do about this?
-
-A: Very often the cause of this is that a program is trying to contact
-a nameserver to resolve a hostname, and the nameserver (specified in
-/etc/resolv.conf, usually) is on the far side of the ppp link. You
-can try executing a command such as `ping myhost' (where myhost is the
-name of the local machine, or some other machine on a local LAN), to
-see whether that starts the ppp link. If it does, check the setup of
-your /etc/hosts file to make sure you have the local machine and any
-hosts on your local LAN listed, and /etc/resolv.conf and/or
-/etc/nsswitch.conf files to make sure you resolve hostnames from
-/etc/hosts if possible before trying to contact a nameserver.
-
-
-------------------------------------------------------------------------
-
-Q: Since I installed ppp-2.3.6, dialin users to my server have been
-getting this message when they run pppd:
-
-peer authentication required but no suitable secret(s) found for
-authenticating any peer to us (ispserver)
-
-A: In 2.3.6, the default is to let an unauthenticated peer only use IP
-addresses to which the machine doesn't already have a route. So on a
-machine with a default route, everyone has to authenticate. If you
-really don't want that, you can put `noauth' in the /etc/ppp/options
-file. Note that there is then no check on who is using which IP
-address. IMHO, this is undesirably insecure, but I guess it may be
-tolerable as long as you don't use any .rhosts files or anything like
-that. I recommend that you require dialin users to authenticate, even
-if just with PAP using their login password (using the `login' option
-to pppd). If you do use `noauth', you should at least have a pppusers
-group and set the permissions on pppd to allow only user and group to
-execute it.
-
-------------------------------------------------------------------------
-
-Q: When running pppd as a dial-in server, I often get the message
-"LCP: timeout sending Config-Requests" from pppd. It seems to be
-random, but dial-out always works fine. What is wrong?
-
-A: Most modern modems auto-detects the speed of the serial line
-between the modem and the computer. This auto-detection occurs when
-the computer sends characters to the modem, when the modem is in
-command mode. It does not occur when the modem is in data mode.
-Thus, if you send commands to the modem at 2400 bps, and then change
-the serial port speed to 115200 bps, the modem will not detect this
-change until something is transmitted from the computer to the modem.
-When running pppd in dial-in mode (i.e. without a connect script),
-pppd sets the speed of the serial port, but does not transmit
-anything. If the modem was already running at the specified speed,
-everything is fine, but if not, you will just receive garbage from the
-modem. To cure this, use an init script such as the following:
-
- pppd ttyS0 115200 modem crtscts init "chat '' AT OK"
-
-To reset the modem and enable auto-answer, use:
-
- pppd ttyS0 115200 modem crtscts init "chat '' ATZ OK ATS0=1 OK"
diff --git a/mdk-stage1/ppp/PLUGINS b/mdk-stage1/ppp/PLUGINS
deleted file mode 100644
index 0eeabe249..000000000
--- a/mdk-stage1/ppp/PLUGINS
+++ /dev/null
@@ -1,131 +0,0 @@
-Starting with version 2.3.10, pppd includes support for `plugins' -
-pieces of code which can be loaded into pppd at runtime and which can
-affect its behaviour in various ways. The idea of plugins is to
-provide a way for people to customize the behaviour of pppd without
-having to either apply local patches to each version or get their
-patches accepted into the standard distribution. My aim is that
-plugins will be able to be used with successive versions of pppd
-without needing to recompile the plugins.
-
-A plugin is a standard shared library object, typically with a name
-ending in .so. They are loaded using the standard dlopen() library
-call, so plugins are only supported on systems which support shared
-libraries and the dlopen call. At present pppd is compiled with
-plugin support only under Linux and Solaris.
-
-Plugins are loaded into pppd using the `plugin' option, which takes
-one argument, the name of a shared object file. The plugin option is
-a privileged option. I suggest that you give the full path name of
-the shared object file; if you don't, it may be possible for
-unscrupulous users to substitute another shared object file for the
-one you mean to load, e.g. by setting the LD_LIBRARY_PATH variable.
-
-Plugins are usually written in C and compiled and linked to a shared
-object file in the appropriate manner for your platform. Using gcc
-under Linux, a plugin called `xyz' could be compiled and linked with
-the following commands:
-
- gcc -c -O xyz.c
- gcc -shared -o xyz.so xyz.o
-
-There are some example plugins in the pppd/plugins directory in the
-ppp distribution. Currently there is one example, minconn.c, which
-implements a `minconnect' option, which specifies a minimum connect
-time before the idle timeout applies.
-
-Plugins can access global variables within pppd, so it is useful for
-them to #include "pppd.h" from the pppd source directory.
-
-Every plugin must contain a global procedure called `plugin_init'.
-This procedure will get called (with no arguments) immediately after
-the plugin is loaded.
-
-Plugins can affect the behaviour of pppd in at least three ways:
-
-1. They can add extra options which pppd will then recognize. This is
- done by calling the add_options() procedure with a pointer to an
- array of option_t structures. The last entry in the array must
- have its name field set to NULL.
-
-2. Pppd contains `hook' variables which are procedure pointers. If a
- given hook is not NULL, pppd will call the procedure it points to
- at the appropriate point in its processing. The plugin can set any
- of these hooks to point to its own procedures. See below for a
- description of the hooks which are currently implemented.
-
-3. Plugin code can call any global procedures and access any global
- variables in pppd.
-
-Here is a list of the currently implemented hooks in pppd.
-
-
-int (*idle_time_hook)(struct ppp_idle *idlep);
-
-The idle_time_hook is called when the link first comes up (i.e. when
-the first network protocol comes up) and at intervals thereafter. On
-the first call, the idlep parameter is NULL, and the return value is
-the number of seconds before pppd should check the link activity, or 0
-if there is to be no idle timeout.
-
-On subsequent calls, idlep points to a structure giving the number of
-seconds since the last packets were sent and received. If the return
-value is > 0, pppd will wait that many seconds before checking again.
-If it is <= 0, that indicates that the link should be terminated due
-to lack of activity.
-
-
-int (*holdoff_hook)(void);
-
-The holdoff_hook is called when an attempt to bring up the link fails,
-or the link is terminated, and the persist or demand option was used.
-It returns the number of seconds that pppd should wait before trying
-to reestablish the link (0 means immediately).
-
-
-int (*pap_check_hook)(void);
-int (*pap_passwd_hook)(char *user, char *passwd);
-int (*pap_auth_hook)(char *user, int userlen,
- char *passwd, int passlen,
- char **msgp, int *msglenp,
- struct wordlist **paddrs,
- struct wordlist **popts);
-
-These hooks are designed to allow a plugin to replace the normal PAP
-password processing in pppd with something different (e.g. contacting
-an external server).
-
-The pap_check_hook is called to check whether there is any possibility
-that the peer could authenticate itself to us. If it returns 1, pppd
-will ask the peer to authenticate itself. If it returns 0, pppd will
-not ask the peer to authenticate itself (but if authentication is
-required, pppd may exit, or terminate the link before network protocol
-negotiation). If it returns -1, pppd will look in the pap-secrets
-file as it would normally.
-
-The pap_passwd_hook is called to determine what username and password
-pppd should use in authenticating itself to the peer with PAP. The
-user string will already be initialized, by the `user' option, the
-`name' option, or from the hostname, but can be changed if necessary.
-MAXNAMELEN bytes of space are available at *user, and MAXSECRETLEN
-bytes of space at *passwd. If this hook returns 0, pppd will use the
-values at *user and *passwd; if it returns -1, pppd will look in the
-pap-secrets file, or use the value from the +ua or password option, as
-it would normally.
-
-The pap_auth_hook is called to determine whether the username and
-password supplied by the peer are valid. user and passwd point to
-null-terminated strings containing the username and password supplied
-by the peer, with non-printable characters converted to a printable
-form. The pap_auth_hook function should set msg to a string to be
-returned to the peer and return 1 if the username/password was valid
-and 0 if not. If the hook returns -1, pppd will look in the
-pap-secrets file as usual.
-
-If the username/password was valid, the hook can set *paddrs to point
-to a wordlist containing the IP address(es) which the peer is
-permitted to use, formatted as in the pap-secrets file. It can also
-set *popts to a wordlist containing any extra options for this user
-which pppd should apply at this point.
-
-
-## $Id$ ##
diff --git a/mdk-stage1/ppp/README b/mdk-stage1/ppp/README
deleted file mode 100644
index aa1e5f9c2..000000000
--- a/mdk-stage1/ppp/README
+++ /dev/null
@@ -1,168 +0,0 @@
-This is the README file for ppp-2.4, a package which implements the
-Point-to-Point Protocol (PPP) to provide Internet connections over
-serial lines.
-
-
-Introduction.
-*************
-
-The Point-to-Point Protocol (PPP) provides a standard way to establish
-a network connection over a serial link. At present, this package
-supports IP and the protocols layered above IP, such as TCP and UDP.
-The Linux and Solaris ports of this package have optional support for
-IPV6; the Linux port of this package also has support for IPX.
-
-This software consists of two parts:
-
-- Kernel code, which establishes a network interface and passes
-packets between the serial port, the kernel networking code and the
-PPP daemon (pppd). This code is implemented using STREAMS modules on
-SunOS 4.x and Solaris, and as a line discipline under Linux and FreeBSD.
-
-- The PPP daemon (pppd), which negotiates with the peer to establish
-the link and sets up the ppp network interface. Pppd includes support
-for authentication, so you can control which other systems may make a
-PPP connection and what IP addresses they may use.
-
-The primary platforms supported by this package are Linux and Solaris.
-Code for SunOS 4.x is included here but is largely untested. I have
-code for NeXTStep, FreeBSD, SVR4, Tru64 (Digital Unix), AIX and Ultrix
-but no active maintainers for these platforms. Code for all of these
-except AIX is included in the ppp-2.3.11 release.
-
-
-Installation.
-*************
-
-The file SETUP contains general information about setting up your
-system for using PPP. There is also a README file for each supported
-system, which contains more specific details for installing PPP on
-that system. The supported systems, and the corresponding README
-files, are:
-
- Linux README.linux
- Solaris 2 README.sol2
- SunOS 4.x README.sunos4
-
-In each case you start by running the ./configure script. This works
-out which operating system you are using and creates symbolic links to
-the appropriate makefiles. You then run `make' to compile the
-user-level code, and (as root) `make install' to install the
-user-level programs pppd, chat and pppstats.
-
-N.B. Since 2.3.0, leaving the permitted IP addresses column of the
-pap-secrets or chap-secrets file empty means that no addresses are
-permitted. You need to put a "*" in that column to allow the peer to
-use any IP address. (This only applies where the peer is
-authenticating itself to you, of course.)
-
-
-What's new in ppp-2.4.1.
-************************
-
-* Pppd can now print out the set of options that are in effect. The
- new `dump' option causes pppd to print out the option values after
- option parsing is complete. The `dryrun' option causes pppd to
- print the options and then exit.
-
-* The option parsing code has been fixed so that options in the
- per-tty options file are parsed correctly, and don't override values
- from the command line in most cases.
-
-* The plugin option now looks in /usr/lib/pppd/<pppd-version> (for
- example, /usr/lib/pppd/2.4.1b1) for shared objects for plugins if
- there is no slash in the plugin name.
-
-* When loading a plugin, pppd will now check the version of pppd for
- which the plugin was compiled, and refuse to load it if it is
- different to pppd's version string. To enable this, the plugin
- source needs to #include "pppd.h" and have a line saying:
- char pppd_version[] = VERSION;
-
-* There is a bug in zlib, discovered by James Carlson, which can cause
- kernel memory corruption if Deflate is used with the lowest setting,
- 8. As a workaround pppd will now insist on using at least 9.
-
-* Pppd should compile on Solaris and SunOS again.
-
-* Pppd should now set the MTU correctly on demand-dialled interfaces.
-
-
-What was new in ppp-2.4.0.
-**************************
-
-* Multilink: this package now allows you to combine multiple serial
- links into one logical link or `bundle', for increased bandwidth and
- reduced latency. This is currently only supported under the
- Linux-2.3.99pre5 or later kernels.
-
-* All the pppd processes running on a system now write information
- into a common database. I used the `tdb' code from samba for this.
-
-* New hooks have been added.
-
-For a list of the changes made during the 2.3 series releases of this
-package, see the Changes-2.3 file.
-
-
-Compression methods.
-********************
-
-This package supports two packet compression methods: Deflate and
-BSD-Compress. Other compression methods which are in common use
-include Predictor, LZS, and MPPC. These methods are not supported for
-two reasons - they are patent-encumbered, and they cause some packets
-to expand slightly, which pppd doesn't currently allow for.
-BSD-Compress is also patent-encumbered (its inclusion in this package
-can be considered a historical anomaly :-) but it doesn't ever expand
-packets. Neither does Deflate, which uses the same algorithm as gzip.
-
-
-Patents.
-********
-
-The BSD-Compress algorithm used for packet compression is the same as
-that used in the Unix "compress" command. It is apparently covered by
-U.S. patents 4,814,746 (owned by IBM) and 4,558,302 (owned by Unisys),
-and corresponding patents in various other countries (but not
-Australia). If this is of concern, you can build the package without
-including BSD-Compress. To do this, edit net/ppp-comp.h to change the
-definition of DO_BSD_COMPRESS to 0. The bsd-comp.c files are then no
-longer needed, so the references to bsd-comp.o may optionally be
-removed from the Makefiles.
-
-
-Contacts.
-*********
-
-The comp.protocols.ppp newsgroup is a useful place to get help if you
-have trouble getting your ppp connections to work. Please do not send
-me questions of the form "please help me get connected to my ISP" -
-I'm sorry, but I simply do not have the time to answer all the
-questions like this that I get.
-
-If you find bugs in this package, please report them to the maintainer
-for the port for the operating system you are using:
-
-Linux Paul Mackerras <paulus@linuxcare.com>
-Solaris 2 James Carlson <james.d.carlson@east.sun.com>
-SunOS 4.x Adi Masputra <adi.masputra@sun.com>
-
-
-Copyrights:
-***********
-
-All of the code can be freely used and redistributed. The individual
-source files each have their own copyright and permission notice; some
-have a BSD-style notice and some are under the GPL.
-
-
-Distribution:
-*************
-
-The primary site for releases of this software is:
-
- ftp://linuxcare.com.au/pub/ppp/
-
-
-($Id$)
diff --git a/mdk-stage1/ppp/README.MSCHAP80 b/mdk-stage1/ppp/README.MSCHAP80
deleted file mode 100644
index d3ed291b7..000000000
--- a/mdk-stage1/ppp/README.MSCHAP80
+++ /dev/null
@@ -1,284 +0,0 @@
-PPP Client Support for Microsoft's CHAP-80
-==========================================
-
-Eric Rosenquist rosenqui@strataware.com
-(updated by Paul Mackerras)
-(updated by Al Longyear)
-(updated by Farrell Woods)
-
-INTRODUCTION
-
-Microsoft has introduced an extension to the Challenge/Handshake
-Authentication Protocol (CHAP) which avoids storing cleartext
-passwords on a server. (Unfortunately, this is not as secure as it
-sounds, because the encrypted password stored on a server can be used
-by a bogus client to gain access to the server just as easily as if
-the password were stored in cleartext.) The details of the Microsoft
-extensions can be found in the document:
-
- <ftp://ftp.microsoft.com/developr/rfc/chapexts.txt>
-
-In short, MS-CHAP is identified as <auth chap 80> since the hex value
-of 80 is used to designate Microsoft's scheme. Standard PPP CHAP uses
-a value of 5. If you enable PPP debugging with the "debug" option and
-see something like the following in your logs, the remote server is
-requesting MS-CHAP:
-
- rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]
- ^^^^^^^^^^^^
-
-The standard pppd implementation will indicate its lack of support for
-MS-CHAP by NAKing it:
-
- sent [LCP ConfNak id=0x2 <auth chap 05>]
-
-Windows NT Server systems are often configured to "Accept only
-Microsoft Authentication" (this is intended to enhance security). Up
-until now, that meant that you couldn't use this version of PPPD to
-connect to such a system. I've managed to get a client-only
-implementation of MS-CHAP working; it will authenticate itself to
-another system using MS-CHAP, but if you're using PPPD as a dial-in
-server, you won't be able to use MS-CHAP to authenticate the clients.
-This would not be a lot of extra work given that the framework is in
-place, but I didn't need it myself so I didn't implement it.
-
-
-BUILDING THE PPPD
-
-MS-CHAP uses a combination of MD4 hashing and DES encryption for
-authentication. You may need to get Eric Young's libdes library in
-order to use my MS-CHAP extensions. A lot of UNIX systems already
-have DES encryption available via the crypt(3), encrypt(3) and
-setkey(3) interfaces. Some may (such as that on Digital UNIX)
-provide only the encryption mechanism and will not perform
-decryption. This is okay. We only need to encrypt to perform
-MS-CHAP authentication.
-
-If you have encrypt/setkey available, then hopefully you need only
-define these two things in your Makefile: -DUSE_CRYPT and -DCHAPMS.
-Skip the paragraphs below about obtaining and building libdes. Do
-the "make clean" and "make" as described below. Linux users
-should not need to modify their Makefiles. Instead,
-just do "make CHAPMS=1 USE_CRYPT=1".
-
-If you don't have encrypt and setkey, you will need Eric Young's
-libdes library. You can find it in:
-
-ftp://ftp.funet.fi/pub/crypt/mirrors/ftp.psy.uq.oz.au/DES/libdes-3.06.tar.gz
-
-Australian residents can get libdes from Eric Young's site:
-
-ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-3.06.tar.gz
-
-It is also available on many other sites (ask Archie).
-
-I used libdes-3.06, but hopefully anything newer than that will work
-also. Get the library, build and test it on your system, and install
-it somewhere (typically /usr/local/lib and /usr/local/include).
-
-
-
-You should now be ready to (re)compile the PPPD. Go to the pppd
-subdirectory and make sure the Makefile contains "-DCHAPMS" in the
-CFLAGS or COMPILE_FLAGS macro, and that the LIBS macro (or LDADD for
-BSD systems) contains "-ldes". Depending on your system and where the
-DES library was installed, you may also need to alter the include and
-library paths used by your compiler.
-
-Do a "make clean" and then a "make" to rebuild pppd. Assuming all
-goes well, install the new pppd and move on to the CONFIGURATION
-section.
-
-
-CONFIGURATION
-
-If you've never used PPPD with CHAP before, read the man page (type
-"man pppd") and read the description in there. Basically, you need to
-edit the "chap-secrets" file typically named /etc/ppp/chap-secrets.
-This should contain the following two lines for each system with which
-you use CHAP (with no leading blanks):
-
- RemoteHost Account Secret
- Account RemoteHost Secret
-
-Note that you need both lines and that item 1 and 2 are swapped in the
-second line. I'm not sure why you need it twice, but it works and I didn't
-have time to look into it further. The "RemoteHost" is a somewhat
-arbitrary name for the remote Windows NT system you're dialing. It doesn't
-have to match the NT system's name, but it *does* have to match what you
-use with the "remotename" parameter. The "Account" is the Windows NT
-account name you have been told to use when dialing, and the "Secret" is
-the password for that account. For example, if your service provider calls
-their machine "DialupNT" and tells you your account and password are
-"customer47" and "foobar", add the following to your chap-secrets file:
-
- DialupNT customer47 foobar
- customer47 DialupNT foobar
-
-The only other thing you need to do for MS-CHAP (compared to normal CHAP)
-is to always use the "remotename" option, either on the command line or in
-your "options" file (see the pppd man page for details). In the case of
-the above example, you would need to use the following command line:
-
- pppd name customer47 remotename DialupNT <other options>
-
-or add:
-
- name customer47
- remotename DialupNT
-
-to your PPPD "options" file.
-
-The "remotename" option is required for MS-CHAP since Microsoft PPP servers
-don't send their system name in the CHAP challenge packet.
-
-
-E=691 (AUTHENTICATION_FAILURE) ERRORS WHEN YOU HAVE THE VALID SECRET (PASSWORD)
-
-If your RAS server is not the domain controller and is not a 'stand-alone'
-server then it must make a query to the domain controller for your domain.
-
-You need to specify the domain name with the user name when you attempt to
-use this type of a configuration. The domain name is specified with the
-local name in the chap-secrets file and with the option for the 'name'
-parameter.
-
-For example, the previous example would become:
-
- DialupNT domain\\customer47 foobar
- domain\\customer47 DialupNT foobar
-
-and
-
- pppd name 'domain\\customer47' remotename DialupNT <other options>
-
-or add:
-
- name domain\\customer47
- remotename DialupNT
-
-when the Windows NT domain name is simply called 'domain'.
-
-
-TROUBLESHOOTING
-
-Assuming that everything else has been configured correctly for PPP and
-CHAP, the MS-CHAP-specific problems you're likely to encounter are mostly
-related to your Windows NT account and its settings. A Microsoft server
-returns error codes in its CHAP response. The following are extracted from
-Microsoft's "chapexts.txt" file referenced above:
-
- 646 ERROR_RESTRICTED_LOGON_HOURS
- 647 ERROR_ACCT_DISABLED
- 648 ERROR_PASSWD_EXPIRED
- 649 ERROR_NO_DIALIN_PERMISSION
- 691 ERROR_AUTHENTICATION_FAILURE
- 709 ERROR_CHANGING_PASSWORD
-
-You'll see these in your pppd log as a line similar to:
-
- Remote message: E=649 R=0
-
-The "E=" is the error number from the table above, and the "R=" flag
-indicates whether the error is transient and the client should retry. If
-you consistently get error 691, then either you're using the wrong account
-name/password, or the DES library or MD4 hashing (in md4.c) aren't working
-properly. Verify your account name and password (use a Windows NT or
-Windows 95 system to dial-in if you have one available). If that checks
-out, test the DES library with the "destest" program included with the DES
-library. If DES checks out, the md4.c routines are probably failing
-(system byte ordering may be a problem) or my code is screwing up. I've
-only got access to a Linux system, so you're on your own for anything else.
-
-Another thing that might cause problems is that some RAS servers won't
-respond at all to LCP config requests without seeing the word "CLIENT"
-from the other end. If you see pppd sending out LCP config requests
-without getting any reply, try putting something in your chat script
-to send the word CLIENT after the modem has connected.
-
-If everything compiles cleanly, but fails at authentication time, then
-it might be a case of the MD4 or DES code screwing up. The following
-small program can be used to test the MS-CHAP code to see if it
-produces a known response:
-
------------------
-#include <stdio.h>
-
-#include "pppd.h"
-#include "chap.h"
-#include "chap_ms.h"
-
-int main(argc, argv)
- int argc;
- char *argv[];
-{
- u_char challenge[8];
- int challengeInt[sizeof(challenge)];
- chap_state cstate;
- int i;
-
- if (argc != 3) {
- fprintf(stderr, "Usage: %s <16-hexchar challenge> <password>\n",
- argv[0]); exit(1);
- }
-
- sscanf(argv[1], "%2x%2x%2x%2x%2x%2x%2x%2x",
- challengeInt + 0, challengeInt + 1, challengeInt + 2,
- challengeInt + 3, challengeInt + 4, challengeInt + 5,
- challengeInt + 6, challengeInt + 7);
-
- for (i = 0; i < sizeof(challenge); i++)
- challenge[i] = (u_char)challengeInt[i];
-
- ChapMS(&cstate, challenge, sizeof(challenge), argv[2], strlen(argv[2]));
- printf("Response length is %d, response is:", cstate.resp_length);
-
- for (i = 0; i < cstate.resp_length; i++) {
- if (i % 8 == 0)
- putchar('\n');
- printf("%02X ", (unsigned int)cstate.response[i]);
- }
-
- putchar('\n');
-
- exit(0);
-}
--------------
-
-This needs to link against chap_ms.o, md4.o, and the DES library. When
-you run it with the command line:
-
- $ testchap 00000000000000000000000000000000 hello
-
-it should output the following:
-
- Response length is 49, response is:
- 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 00 00
- F4 D9 9D AF 82 64 DC 3C
- 53 F9 BC 92 14 B5 5D 9E
- 78 C4 21 48 9D B7 A8 B4
- 01
-
-if not, then either the DES library is not working, the MD4 code isn't
-working, or there are some problems with the port of the code in
-chap_ms.c.
-
-
-STILL TO DO
-
-A site using only MS-CHAP to authenticate has no need to store cleartext
-passwords in the "chap-secrets" file. A utility that spits out the ASCII
-hex MD4 hash of a given password would be nice, and would allow that hash
-to be used in chap-secrets in place of the password. The code to do this
-could quite easily be lifted from chap_ms.c (you have to convert the
-password to Unicode before hashing it). The chap_ms.c file would also have
-to be changed to recognize a password hash (16 binary bytes == 32 ASCII hex
-characters) and skip the hashing stage.
-
-A server implementation would allow MS-CHAP to be used with Windows NT and
-Windows 95 clients for enhanced security. Some new command-line options
-would be required, as would code to generate the Challenge packet and
-verify the response. Most of the helper functions are in place, so this
-shouldn't be too hard for someone to add.
diff --git a/mdk-stage1/ppp/README.cbcp b/mdk-stage1/ppp/README.cbcp
deleted file mode 100644
index 6f7b7685e..000000000
--- a/mdk-stage1/ppp/README.cbcp
+++ /dev/null
@@ -1,97 +0,0 @@
- Microsoft Call Back Configuration Protocol.
- by Pedro Roque Marques
- (updated by Paul Mackerras)
-
-The CBCP is a method by which the Microsoft Windows NT Server may
-implement additional security. It is possible to configure the server
-in such a manner so as to require that the client systems which
-connect with it are required that following a valid authentication to
-leave a method by which the number may be returned call.
-
-It is a requirement of servers so configured that the protocol be
-exchanged.
-
-So, this set of patches may be applied to the pppd process to enable
-the cbcp client *only* portion of the specification. It is primarily
-meant to permit connection with Windows NT Servers.
-
-The ietf-working specification may be obtained from ftp.microsoft.com
-in the developr/rfc directory.
-
-The ietf task group has decided to recommend that the LCP sequence be
-extended to permit the callback operation. For this reason, these
-patches are not 'part' of pppd but are an adjunct to the code.
-
-To enable CBCP support, all that is required is to change the
-appropriate Makefile in the pppd subdirectory to add "-DCBCP_SUPPORT"
-to the CFLAGS definition and add cbcp.o to the list of object files,
-and then recompile pppd. The patch below does this for Makefile.bsd
-and Makefile.linux.
-
-
---------------------------------cut here-------------------------------
-diff -r -c ppp-2.3.orig/pppd/Makefile.bsd ppp-2.3/pppd/Makefile.bsd
-*** ppp-2.3.orig/pppd/Makefile.bsd Tue Oct 8 13:33:33 1996
---- ppp-2.3/pppd/Makefile.bsd Fri Apr 11 23:59:15 1997
-***************
-*** 4,14 ****
- # -D_BITYPES is for FreeBSD, which doesn't define anything to
- # tell us that u_int32_t gets defined if <sys/types.h> is included.
- # Remove for older *BSD systems for which this isn't true.
-! CFLAGS+= -g -I.. -DHAVE_PATHS_H -D_BITYPES
-
- PROG= pppd
- SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
-! demand.c auth.c options.c sys-bsd.c
- MAN= pppd.cat8
- MAN8= pppd.8
- BINMODE=4555
---- 4,14 ----
- # -D_BITYPES is for FreeBSD, which doesn't define anything to
- # tell us that u_int32_t gets defined if <sys/types.h> is included.
- # Remove for older *BSD systems for which this isn't true.
-! CFLAGS+= -I.. -DHAVE_PATHS_H -D_BITYPES -DCBCP_SUPPORT
-
- PROG= pppd
- SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
-! demand.c auth.c options.c sys-bsd.c cbcp.c
- MAN= pppd.cat8
- MAN8= pppd.8
- BINMODE=4555
-diff -r -c ppp-2.3.orig/pppd/Makefile.linux ppp-2.3/pppd/Makefile.linux
-*** ppp-2.3.orig/pppd/Makefile.linux Tue Oct 8 15:42:41 1996
---- ppp-2.3/pppd/Makefile.linux Sat Apr 12 00:02:28 1997
-***************
-*** 14,20 ****
- ipxcp.h cbcp.h
- MANPAGES = pppd.8
- PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
-! auth.o options.o demand.o sys-linux.o ipxcp.o
-
- all: pppd
-
---- 14,20 ----
- ipxcp.h cbcp.h
- MANPAGES = pppd.8
- PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
-! auth.o options.o demand.o sys-linux.o ipxcp.o cbcp.o
-
- all: pppd
-
-***************
-*** 36,42 ****
- #INCLUDE_DIRS= -I/usr/include -I..
- INCLUDE_DIRS=
-
-! COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE
-
- CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
---- 36,42 ----
- #INCLUDE_DIRS= -I/usr/include -I..
- INCLUDE_DIRS=
-
-! COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DCBCP_SUPPORT
-
- CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
diff --git a/mdk-stage1/ppp/README.linux b/mdk-stage1/ppp/README.linux
deleted file mode 100644
index 62ed9ca7f..000000000
--- a/mdk-stage1/ppp/README.linux
+++ /dev/null
@@ -1,297 +0,0 @@
- PPP for Linux
- -------------
-
- Paul Mackerras
- 8 March 2001
-
- for ppp-2.4.1
-
-1. Introduction
----------------
-
-The Linux PPP implementation includes both kernel and user-level
-parts. This package contains the user-level part, which consists of
-the PPP daemon (pppd) and associated utilities. In the past this
-package has contained updated kernel drivers. This is no longer
-necessary, as the current 2.2 and 2.4 kernel sources contain
-up-to-date drivers.
-
-The Linux PPP implementation is capable of being used both for
-initiating PPP connections (as a `client') or for handling incoming
-PPP connections (as a `server'). Note that this is an operational
-distinction, based on how the connection is created, rather than a
-distinction that is made in the PPP protocols themselves.
-
-Mostly this package is used for PPP connections over modems connected
-via asynchronous serial ports, so this guide concentrates on this
-situation.
-
-The PPP protocol consists of two parts. One is a scheme for framing
-and encoding packets, the other is a series of protocols called LCP,
-IPCP, PAP and CHAP, for negotiating link options and for
-authentication. This package similarly consists of two parts: a
-kernel module which handles PPP's low-level framing protocol, and a
-user-level program called pppd which implements PPP's negotiation
-protocols.
-
-The kernel module assembles/disassembles PPP frames, handles error
-detection, and forwards packets between the serial port and either the
-kernel network code or the user-level program pppd. IP packets go
-directly to the kernel network code. So once pppd has negotiated the
-link, it in practice lies completely dormant until you want to take
-the link down, when it negotiates a graceful disconnect.
-
-
-2. Installation
----------------
-
-2.1 Kernel driver
-
-Assuming you are running a recent 2.2 or 2.4 (or later) series kernel,
-the kernel source code will contain an up-to-date kernel PPP driver.
-If the PPP driver was included in your kernel configuration when your
-kernel was built, then you only need to install the user-level
-programs. Otherwise you will need to get the source tree for your
-kernel version, configure it with PPP included, and recompile. Most
-Linux distribution vendors ship kernels with PPP included in the
-configuration.
-
-The PPP driver can be either compiled into the kernel or compiled as a
-kernel module. If it is compiled into the kernel, the PPP driver is
-included in the kernel image which is loaded at boot time. If it is
-compiled as a module, the PPP driver is present in one or more files
-under /lib/modules and is loaded into the kernel when needed.
-
-The 2.2 series kernels contain an older version of the kernel PPP
-driver, one which doesn't support multilink. If you want multilink,
-you need to run the latest 2.4 series kernel. The kernel PPP driver
-was completely rewritten for the 2.4 series kernels to support
-multilink and to allow it to operate over diverse kinds of
-communication medium (the 2.2 driver only operates over serial ports
-and devices which look like serial ports, such as pseudo-ttys).
-
-Under the 2.2 kernels, if PPP is compiled as a module, the PPP driver
-modules should be present in the /lib/modules/`uname -r`/net directory
-(where `uname -r` represents the kernel version number). The PPP
-driver module itself is called ppp.o, and there will usually be
-compression modules there, ppp_deflate.o and bsd_comp.o, as well as
-slhc.o, which handles TCP/IP header compression. If the PPP driver is
-compiled into the kernel, the compression code will still be compiled
-as modules, for kernels before 2.2.17pre12. For 2.2.17pre12 and later,
-if the PPP driver is compiled in, the compression code will also.
-
-Under the 2.4 kernels, there are two PPP modules, ppp_generic.o and
-ppp_async.o, plus the compression modules (ppp_deflate.o, bsd_comp.o
-and slhc.o). If the PPP generic driver is compiled into the kernel,
-the other four can then be present either as modules or compiled into
-the kernel. There is a sixth module, ppp_synctty.o, which is used for
-synchronous tty devices such as high-speed WAN adaptors.
-
-
-2.2 User-level programs
-
-If you obtained this package in .rpm or .deb format, you simply follow
-the usual procedure for installing the package.
-
-If you are using the .tar.gz form of this package, then cd into the
-ppp-2.4.1b1 directory you obtained by unpacking the archive and issue
-the following commands:
-
-$ ./configure
-$ make
-# make install
-
-The `make install' has to be done as root. This makes and installs
-four programs and their man pages: pppd, chat, pppstats and pppdump.
-If the /etc/ppp configuration directory doesn't exist, the `make
-install' step will create it and install some default configuration
-files.
-
-
-2.3 System setup for 2.4 kernels
-
-Under the 2.4 series kernels, pppd needs to be able to open /dev/ppp,
-character device (108,0). If you are using devfs (the device
-filesystem), the /dev/ppp node will automagically appear when the
-ppp_generic module is loaded, or at startup if ppp_generic is compiled
-in.
-
-If you have ppp_generic as a module, and you are using devfsd (the
-devfs daemon), you will need to add a line like this to your
-/etc/devfsd.conf:
-
-LOOKUP ppp MODLOAD
-
-Otherwise you will need to create a /dev/ppp device node with the
-commands:
-
-# mknod /dev/ppp c 108 0
-# chmod 600 /dev/ppp
-
-If you use module autoloading and have PPP as a module, you will need
-to add the following to your /etc/modules.conf or /etc/conf.modules:
-
-alias /dev/ppp ppp_generic
-alias char-major-108 ppp_generic
-alias tty-ldisc-3 ppp_async
-alias tty-ldisc-14 ppp_synctty
-alias ppp-compress-21 bsd_comp
-alias ppp-compress-24 ppp_deflate
-alias ppp-compress-26 ppp_deflate
-
-
-2.4 System setup under 2.2 series kernels
-
-Under the 2.2 series kernels, you should add the following to your
-/etc/modules.conf or /etc/conf.modules:
-
-alias tty-ldisc-3 ppp
-alias ppp-compress-21 bsd_comp
-alias ppp-compress-24 ppp_deflate
-alias ppp-compress-26 ppp_deflate
-
-
-3. Getting help with problems
------------------------------
-
-If you have problems with your PPP setup, or you just want to ask some
-questions, or better yet if you can help others with their PPP
-questions, then you should join the linux-ppp mailing list. Send an
-email to majordomo@vger.kernel.org with a line in the body saying
-
-subscribe linux-ppp
-
-To leave the mailing list, send an email to majordomo@vger.kernel.org
-with a line in the body saying
-
-unsubscribe linux-ppp
-
-To send a message to the list, email it to linux-ppp@vger.kernel.org.
-You don't have to be subscribed to send messages to the list.
-
-You can also email me (paulus@linuxcare.com.au) but I am overloaded
-with email and I can't respond to most messages I get in a timely
-fashion.
-
-There are also several relevant news groups, such as comp.protocols.ppp,
-comp.os.linux.networking, or comp.os.linux.setup.
-
-
-4. Configuring your dial-out PPP connections
---------------------------------------------
-
-Some Linux distribution makers include tools in their distributions
-for setting up PPP connections. For example, for Red Hat Linux and
-derivatives, you should probably use linuxconf or netcfg to set up
-your PPP connections.
-
-The two main windowing environments for Linux, KDE and Gnome, both
-come with GUI utilities for configuring and controlling PPP dial-out
-connections. They are convenient and relatively easy to configure.
-
-A third alternative is to use a PPP front-end package such as wvdial
-or ezppp. These also will handle most of the details of talking to
-the modem and setting up the PPP connection for you.
-
-Assuming that you don't want to use any of these tools, you want to
-set up the configuration manually yourself, then read on. This
-document gives a brief description and example. More details can be
-found by reading the pppd and chat man pages and the PPP-HOWTO.
-
-We assume that you have a modem that uses the Hayes-compatible AT
-command set connected to an async serial port (e.g. /dev/ttyS0) and
-that you are dialling out to an ISP.
-
-The trickiest and most variable part of setting up a dial-out PPP
-connection is the part which involves getting the modem to dial and
-then invoking PPP service at the far end. Generally, once both ends
-are talking PPP the rest is relatively straightforward.
-
-Now in fact pppd doesn't know anything about how to get modems to dial
-or what you have to say to the system at the far end to get it to talk
-PPP. That's handled by an external program such as chat, specified
-with the connect option to pppd. Chat takes a series of strings to
-expect from the modem interleaved with a series of strings to send to
-the modem. See the chat man page for more information. Here is a
-simple example for connecting to an ISP, assuming that the ISP's
-system starts talking PPP as soon as it answers the phone:
-
-pppd connect 'chat -v "" AT OK ATDT5551212 ~' \
- /dev/ttyS0 57600 crtscts debug defaultroute
-
-Going through pppd's options in order:
- connect 'chat ...' This gives a command to run to contact the
- PPP server. Here the supplied 'chat' program is used to dial a
- remote computer. The whole command is enclosed in single quotes
- because pppd expects a one-word argument for the 'connect' option.
- The options to 'chat' itself are:
-
- -v verbose mode; log what we do to syslog
- "" don't wait for any prompt, but instead...
- AT send the string "AT"
- OK expect the response "OK", then
- ATDT5551212 dial the modem, then
- ~ wait for a ~ character, indicating the start
- of a PPP frame from the server
-
- /dev/ttyS0 specifies which serial port the modem is connected to
- 57600 specifies the baud rate to use
- crtscts use hardware flow control using the RTS & CTS signals
- debug log the PPP negotiation with syslog
- defaultroute add default network route via the PPP link
-
-Pppd will write error messages and debugging logs to the syslogd
-daemon using the facility name "daemon". These messages may already
-be logged to the console or to a file like /var/log/messages; consult
-your /etc/syslog.conf file to see. If you want to make all pppd
-messages go to a file such as /var/log/ppp-debug, add the line
-
-daemon.* /var/log/ppp-debug
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- This is one or more tabs. Do not use spaces.
-
-to syslog.conf; make sure to put one or more TAB characters (not
-spaces!) between the two fields. Then you need to create an empty
-/var/log/ppp-debug file with a command such as
-
- touch /var/log/ppp-debug
-
-and then restart syslogd, usually by sending it a SIGHUP signal with a
-command like this:
-
- killall -HUP syslogd
-
-
-4.1 Is the link up?
-
-The main way to tell if your PPP link is up and operational is the
-ifconfig ("interface configuration") command. Type
-
- /sbin/ifconfig
-
-at a shell prompt. It should print a list of interfaces including one
-like this example:
-
-ppp0 Link encap Point-to-Point Protocol
- inet addr 192.76.32.3 P-t-P 129.67.1.165 Mask 255.255.255.0
- UP POINTOPOINT RUNNING MTU 1500 Metric 1
- RX packets 33 errors 0 dropped 0 overrun 0
- TX packets 42 errors 0 dropped 0 overrun 0
-
-Assuming that ifconfig shows the ppp network interface, you can test
-the link using the ping command like this:
-
- /sbin/ping -c 3 129.67.1.165
-
-where the address you give is the address shown as the P-t-P address
-in the ifconfig output. If the link is operating correctly, you
-should see output like this:
-
- PING 129.67.1.165 (129.67.1.165): 56 data bytes
- 64 bytes from 129.67.1.165: icmp_seq=0 ttl=255 time=268 ms
- 64 bytes from 129.67.1.165: icmp_seq=1 ttl=255 time=247 ms
- 64 bytes from 129.67.1.165: icmp_seq=2 ttl=255 time=266 ms
- --- 129.67.1.165 ping statistics ---
- 3 packets transmitted, 3 packets received, 0% packet loss
- round-trip min/avg/max = 247/260/268 ms
-
diff --git a/mdk-stage1/ppp/README.sol2 b/mdk-stage1/ppp/README.sol2
deleted file mode 100644
index 4c862208f..000000000
--- a/mdk-stage1/ppp/README.sol2
+++ /dev/null
@@ -1,220 +0,0 @@
-This file describes the installation process for ppp-2.3 on systems
-running Solaris 2. The Solaris 2 and SVR4 ports share a lot of code
-but are not identical. The STREAMS kernel modules and driver for
-Solaris 2 are in the svr4 directory (and use some code from the
-modules directory).
-
-NOTE: Although the kernel driver and modules have been designed to
-operate correctly on SMP systems, they have not been extensively
-tested on SMP machines. Some users of SMP Solaris x86 systems have
-reported system problems apparently linked to the use of previous
-versions of this software. I believe these problems have been fixed.
-
-
-Installation.
-*************
-
-1. Run the configure script and make the user-level programs and the
-kernel modules.
-
- ./configure
- make
-
-If you wish to use gcc (or another compiler) instead of Sun's cc, edit
-the svr4/Makedefs file and uncomment the definition of CC. You can
-also change the options passed to the C compiler by editing the COPTS
-definition.
-
-2. Install the programs and kernel modules: as root, do
-
- make install
-
-This installs pppd, chat and pppstats in /usr/local/bin and the kernel
-modules in /kernel/drv and /kernel/strmod, and creates the /etc/ppp
-directory and populates it with default configuration files. You can
-change the installation directories by editing svr4/Makedefs.
-
-If your system normally has only one network interface, the default
-Solaris 2 system startup scripts will disable IP forwarding in the IP
-kernel module. This will prevent the remote machine from using the
-local machine as a gateway to access other hosts. The solution is to
-create an /etc/ppp/ip-up script containing something like this:
-
- #!/bin/sh
- /usr/sbin/ndd -set /dev/ip ip_forwarding 1
-
-See the man page for ip(7p) for details.
-
-Dynamic STREAMS Re-Plumbing Support.
-************************************
-
-Solaris 8 includes dynamic re-plumbing support. With this, modules
-below ip can be inserted, or removed, without having the ip stream be
-unplumbed, and re-plumbed again. All states in ip for an interface
-will therefore now be preserved. Users can install (or upgrade)
-modules like firewall, bandwidth manager, cache manager, tunneling,
-etc., without shutting the machine down.
-
-To support this, ppp driver now uses /dev/udp instead of /dev/ip for
-the ip stream. The interface stream (where ip module pushed on top of
-ppp) is then I_PLINK'ed below the ip stream. /dev/udp is used because
-STREAMS will not let a driver be PLINK'ed under itself, and /dev/ip is
-typically the driver at the bottom of the tunneling interfaces
-stream. The mux ids of the ip streams are then added using
-SIOCSxIFMUXID ioctl.
-
-Users will be able to see the modules on the interface stream by, for
-example:
-
- pikapon% ifconfig ppp modlist
- 0 ip
- 1 ppp
-
-Or arbitrarily if bandwidth manager and firewall modules are installed:
-
- pikapon% ifconfig hme0 modlist
- 0 arp
- 1 ip
- 2 ipqos
- 3 firewall
- 4 hme
-
-Snoop Support.
-**************
-
-This version includes support for /usr/sbin/snoop. Tests has been done
-on both Solaris 7 and 8. Only IPv4 and IPv6 packets will be sent up to
-stream(s) marked as promiscuous, e.g, snoop et al.
-
-Users will be able to see the packets on the ppp interface by, for example:
-
- snoop -d ppp0
-
-See the man page for snoop(1M) for details.
-
-IPv6 Support.
-*************
-
-This is for Solaris 8 and later.
-
-This version has been tested under Solaris 8 running IPv6. As of now,
-interoperability testing has only been done between Solaris machines
-in terms of the IPV6 NCP. An additional command line option for the
-pppd daemon has been added: ipv6cp-use-persistent.
-
-By default, compilation for IPv6 support is not enabled. Uncomment
-the necessary lines in pppd/Makefile.sol2 to enable it. Once done, the
-quickest way to get IPv6 running is to add the following somewhere in
-the command line option:
-
- +ipv6 ipv6cp-use-persistent
-
-The persistent id for the link-local address was added to conform to
-RFC 2472; such that if there's an EUI-48 available, use that to make
-up the EUI-64. As of now, the Solaris implementation extracts the
-EUI-48 id from the Ethernet's MAC address (the ethernet interface
-needs to be up). Future works might support other ways of obtaining a
-unique yet persistent id, such as EEPROM serial numbers, etc.
-
-There need not be any up/down scripts for ipv6, e.g. /etc/ppp/ipv6-up
-or /etc/ppp/ipv6-down, to trigger IPv6 neighbor discovery for auto
-configuration and routing. The in.ndpd daemon will perform all of the
-necessary jobs in the background. /etc/inet/ndpd.conf can be further
-customized to enable the machine as an IPv6 router. See the man page
-for in.ndpd(1M) and ndpd.conf(4) for details.
-
-Below is a sample output of "ifconfig -a" with persistent link-local
-address. Note the UNNUMBERED flag is set because hme0 and ppp0 both
-have identical link-local IPv6 addresses:
-
-lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
- inet 127.0.0.1 netmask ff000000
-hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
- inet 129.146.86.248 netmask ffffff00 broadcast 129.146.86.255
- ether 8:0:20:8d:38:c1
-lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
- inet6 ::1/128
-hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
- ether 8:0:20:8d:38:c1
- inet6 fe80::a00:20ff:fe8d:38c1/10
-hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
- inet6 fec0::56:a00:20ff:fe8d:38c1/64
-hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
- inet6 2000::56:a00:20ff:fe8d:38c1/64
-hme0:3: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
- inet6 2::56:a00:20ff:fe8d:38c1/64
-ppp0: flags=10008d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST,IPv4> mtu 1500 index 12
- inet 172.16.1.1 --> 172.16.1.2 netmask ffffff00
-ppp0: flags=2202851<UP,POINTOPOINT,RUNNING,MULTICAST,UNNUMBERED,NONUD,IPv6> mtu 1500 index 12
- inet6 fe80::a00:20ff:fe8d:38c1/10 --> fe80::a00:20ff:fe7a:24fb
-
-Note also that a plumbed ipv6 interface stream will exist throughout
-the entire PPP session in the case where the peer rejects IPV6CP,
-which further causes the interface state to stay down. Unplumbing will
-happen when the daemon exits. This is done by design and is not a bug.
-
-64-bit Support.
-***************
-
-This version has been tested under Solaris 7 (and Solaris 8 ) in both
-32- and 64-bits environments (Ultra class machines). Installing the
-package by executing "make install" will result in additional files
-residing in /kernel/drv/sparcv9 and /kernel/strmod/sparcv9
-subdirectories.
-
-64-bit modules and driver have been compiled and tested using Sun's cc.
-
-Synchronous Serial Support.
-***************************
-
-This version has working but limited support for the on-board
-synchronous HDLC interfaces. It has been tested with the /dev/se_hdlc
-and /dev/zsh drivers. Synchronous mode was tested with a Cisco
-router.
-
-There ppp daemon does not directly support controlling the serial
-interface. It relies on the /usr/sbin/syncinit command to initialize
-HDLC mode and clocking.
-
-Some bugs remain: large sized frames are not sent/received properly,
-and may be related to the IP mtu. This may be due to bugs in pppd
-itself, bugs in Solaris or the serial drivers. The /dev/zsh driver
-seems more larger and can send/receive larger frames than the
-/dev/se_hdlc driver. There is a confirmed bug with NRZ/NRZI mode in
-the /dev/se_hdlc driver, and Solaris patch 104596-11 is needed to
-correct it. (However this patch seems to introduce other serial
-problems. If you don't apply the patch, the workaround is to change
-the nrzi mode to yes or no, whichever works)
-
-How to start pppd with synchronous support:
-
-#!/bin/sh
-
-local=1.1.1.1 # your ip address here
-baud=38400 # needed, but ignored by serial driver
-
-# Change to the correct serial driver/port
-#dev=/dev/zsh0
-dev=/dev/se_hdlc0
-
-# Change the driver, nrzi mode, speed and clocking to match your setup
-# This configuration is for external clocking from the DCE
-connect="syncinit se_hdlc0 nrzi=no speed=64000 txc=rxc rxc=rxc"
-
-/usr/sbin/pppd $dev sync $baud novj noauth $local: connect "$connect"
-
-
-Sample Cisco router config excerpt:
-
-!
-! Cisco router setup as DCE with RS-232 DCE cable
-!
-!
-interface Serial0
- ip address 1.1.1.2 255.255.255.0
- encapsulation ppp
- clockrate 64000
- no nrzi-encoding
- no shutdown
-!
-
diff --git a/mdk-stage1/ppp/README.sunos4 b/mdk-stage1/ppp/README.sunos4
deleted file mode 100644
index b48aec377..000000000
--- a/mdk-stage1/ppp/README.sunos4
+++ /dev/null
@@ -1,62 +0,0 @@
-This file describes the installation process for ppp-2.3 on systems
-running SunOS 4.1.x (or the equivalent).
-
-The STREAMS modules in the sunos4 directory provide kernel support for
-PPP on SunOS 4.1.x systems. They have been tested under SunOS 4.1.3
-on a SparcStation 1+. They should work under earlier SunOS 4.1.x
-systems, but no guarantees are given.
-
-These modules are designed to be loaded into the running kernel using
-the `modload' command.
-
-
-Installation.
-*************
-
-1. Run the configure script and make the user-level programs and the
-kernel modules.
-
- ./configure
- make
-
-If you wish to compile using gcc instead of cc, edit the
-sunos4/Makedefs file and uncomment the line saying "CC = gcc". You
-can also change the C compiler options by editing the COPTS
-definition.
-
-2. Install the pppd, pppstats and chat programs and the loadable
-module object files (you need to be root to do this):
-
- make install
-
-By default, the programs and the loadable module object files go into
-/usr/local/etc. Doing `make install' also copies a script called
-ppp.INSTALL into /dev, and makes ppp.LOAD, ppp.UNLOAD, ppp.MKDEV and
-ppp.RMDEV links to it. You can change the installation directories by
-editing sunos4/Makedefs.
-
-3. Load the ppp modules (you need to be root for this too):
-
- /dev/ppp.LOAD
-
-You will want to do this in your /etc/rc.local file once you have
-everything installed. I suggest you put something like the following
-in /etc/rc.local (or /etc/loadable, if you have one):
-
- if [ -f /dev/ppp.AUTOLOAD ]; then
- /dev/ppp.LOAD
- fi
-
-and then create a /dev/ppp.AUTOLOAD file with the command
-
- touch /dev/ppp.AUTOLOAD
-
-It is not advisable to unload the "if_ppp" module, because it creates
-network interface units, and SunOS does not provide any way to destroy
-network interfaces once created. If you do unload it, the system will
-probably crash at some later stage.
-
-If you have previously had ppp-2.2 installed, you may have statements
-in your /etc/rc.local to load the ppp module. You will need to remove
-those. Having done this, you will need to reboot to remove the old
-ppp module and load the new modules.
diff --git a/mdk-stage1/ppp/SETUP b/mdk-stage1/ppp/SETUP
deleted file mode 100644
index fb28a2138..000000000
--- a/mdk-stage1/ppp/SETUP
+++ /dev/null
@@ -1,111 +0,0 @@
- Configuring a PPP link.
-
-After you have compiled and installed this package, there are some
-configuration files which will generally need to be set up. The
-pppd(8) man page is the best reference for the full details; this file
-outlines the configuration process for the most common case, where
-this package is being used to enable a machine to dial an ISP and
-connect to the internet. The FAQ and README.linux files also provide
-useful information about setting up PPP.
-
-Dialling an ISP.
-****************
-
-Usually, an ISP will assign an IP address to your machine, and will
-refuse to authenticate itself to you. Some ISPs require a username
-and password to be entered before PPP service commences, while others
-use PPP authentication (using either the PAP or CHAP protocols).
-
-The recommended way to set up to dial an ISP is for the system
-administrator to create a file under /etc/ppp/peers, named for the ISP
-that you will be dialling. For example, suppose the file is called
-/etc/ppp/peers/isp. This file would contain something like this:
-
-cua0 # modem is connected to /dev/cua0
-38400 # run the serial port at 38400 baud
-crtscts # use hardware flow control
-noauth # don't require the ISP to authenticate itself
-defaultroute # use the ISP as our default route
-connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
-
-If there are any other pppd options that should apply when calling
-this ISP, they can also be placed in this file.
-
-The /etc/ppp/chat-isp file named in the last line contains the script
-for chat(8) to use to dial the ISP and go through any username/
-password authentication required before PPP service starts. Here is
-an example (for dialling an Annex terminal server):
-
-ABORT "NO CARRIER"
-ABORT "NO DIALTONE"
-ABORT "ERROR"
-ABORT "NO ANSWER"
-ABORT "BUSY"
-ABORT "Username/Password Incorrect"
-"" "at"
-OK "at&d2&c1"
-OK "atdt2479381"
-"name:" "^Uusername"
-"word:" "\qpassword"
-"annex" "ppp"
-"Switching to PPP-ppp-Switching to PPP"
-
-See the chat(8) man page for details of the script. If you are not
-sure how the initial dialog with your ISP will go, you could use
-a terminal emulator such as kermit or minicom to go through the
-process manually.
-
-If your ISP requires PAP or CHAP authentication, you will have to
-create a line in /etc/ppp/pap-secrets or /etc/ppp/chap-secrets like
-this:
-
-myhostname * "password"
-
-(Replace myhostname with the hostname of your machine.)
-
-At this point, you can initiate the link with the command:
-
-/usr/sbin/pppd call isp
-
-(N.B.: pppd might be installed in a different directory on some
-systems).
-
-This will return to the shell prompt immediately, as pppd will detach
-itself from its controlling terminal. (If you don't want it to do
-this, use the "nodetach" option.)
-
-Pppd will log messages describing the progress of the connection and
-any errors using the syslog facility (see the syslogd(8) and
-syslog.conf(5) man pages). Pppd issues messages using syslog facility
-daemon (or local2 if it has been compiled with debugging enabled);
-chat uses facility local2. It is often useful to see messages of
-priority notice or higher on the console. To see these, find the line
-in /etc/syslog.conf which has /dev/console on the right-hand side, and
-add `daemon.notice' on the left. This line should end up something
-like this:
-
-*.err;kern.debug;daemon,local2,auth.notice;mail.crit /dev/console
-
-If you want to see more messages from pppd, request messages of
-priority info or higher for facility daemon, like this:
-
-*.err;kern.debug;daemon.info;local2,auth.notice;mail.crit /dev/console
-
-It is also useful to add a line like this:
-
-daemon,local2.debug /etc/ppp/ppp-log
-
-If you do this, you will need to create an empty /etc/ppp/ppp-log
-file.
-
-After modifying syslog.conf, you will then need to send a HUP signal
-to syslogd (or reboot).
-
-When you wish terminate the PPP link, you should send a TERM or INTR
-signal to pppd. Pppd writes its process ID to a file called
-ppp<n>.pid in /var/run (or /etc/ppp on older systems such as SunOS or
-Ultrix). Here <n> is the PPP interface unit number, which will be 0
-unless you have more than one PPP link running simultaneously. Thus
-you can terminate the link with a command like
-
- kill `cat /var/run/ppp0.pid`
diff --git a/mdk-stage1/ppp/chat/Makefile.linux b/mdk-stage1/ppp/chat/Makefile.linux
deleted file mode 100644
index 586cbd876..000000000
--- a/mdk-stage1/ppp/chat/Makefile.linux
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id$
-
-CDEF1= -DTERMIOS # Use the termios structure
-CDEF2= -DSIGTYPE=void # Standard definition
-CDEF3= -UNO_SLEEP # Use the usleep function
-CDEF4= -DFNDELAY=O_NDELAY # Old name value
-CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
-
-CFLAGS= $(RPM_OPT_FLAGS) $(CDEFS)
-
-INSTALL= install
-
-all: chat
-
-chat: chat.o
- $(CC) -o chat chat.o
-
-chat.o: chat.c
- $(CC) -c $(CFLAGS) -o chat.o chat.c
-
-install: chat
- mkdir -p $(BINDIR)
- $(INSTALL) -s -c chat $(BINDIR)
- $(INSTALL) -c -m 644 chat.8 $(MANDIR)/man8
-
-clean:
- rm -f chat.o chat *~
diff --git a/mdk-stage1/ppp/chat/Makefile.linux.makeopt b/mdk-stage1/ppp/chat/Makefile.linux.makeopt
deleted file mode 100644
index 974680a93..000000000
--- a/mdk-stage1/ppp/chat/Makefile.linux.makeopt
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id$
-
-CDEF1= -DTERMIOS # Use the termios structure
-CDEF2= -DSIGTYPE=void # Standard definition
-CDEF3= -UNO_SLEEP # Use the usleep function
-CDEF4= -DFNDELAY=O_NDELAY # Old name value
-CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
-
-CFLAGS= -O2 -g -pipe $(CDEFS)
-
-INSTALL= install
-
-all: chat
-
-chat: chat.o
- $(CC) -o chat chat.o
-
-chat.o: chat.c
- $(CC) -c $(CFLAGS) -o chat.o chat.c
-
-install: chat
- mkdir -p $(BINDIR)
- $(INSTALL) -s -c chat $(BINDIR)
- $(INSTALL) -c -m 644 chat.8 $(MANDIR)/man8
-
-clean:
- rm -f chat.o chat *~
diff --git a/mdk-stage1/ppp/chat/Makefile.sol2 b/mdk-stage1/ppp/chat/Makefile.sol2
deleted file mode 100644
index f566cc68b..000000000
--- a/mdk-stage1/ppp/chat/Makefile.sol2
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Makefile for chat on Solaris 2
-#
-
-include ../solaris/Makedefs
-
-CFLAGS = $(COPTS) -DNO_USLEEP -DSOL2
-
-all: chat
-
-chat: chat.o
- $(CC) -o chat chat.o
-
-install: chat
- $(INSTALL) -f $(BINDIR) chat
- $(INSTALL) -m 444 -f $(MANDIR)/man8 chat.8
-
-clean:
- rm -f *~ *.o chat
diff --git a/mdk-stage1/ppp/chat/Makefile.sunos4 b/mdk-stage1/ppp/chat/Makefile.sunos4
deleted file mode 100644
index b3507360e..000000000
--- a/mdk-stage1/ppp/chat/Makefile.sunos4
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Makefile for chat on suns
-#
-
-include ../sunos4/Makedefs
-
-CFLAGS = -DSUNOS $(COPTS)
-
-all: chat
-
-chat: chat.o
- $(CC) -o chat chat.o
-
-install: chat
- $(INSTALL) -c chat $(BINDIR)/chat
- $(INSTALL) -c -m 444 chat.8 $(MANDIR)/man8/chat.8
-
-clean:
- rm -f *~ *.o chat
diff --git a/mdk-stage1/ppp/chat/chat.8 b/mdk-stage1/ppp/chat/chat.8
deleted file mode 100644
index 8d2029609..000000000
--- a/mdk-stage1/ppp/chat/chat.8
+++ /dev/null
@@ -1,515 +0,0 @@
-.\" -*- nroff -*-
-.\" manual page [] for chat 1.8
-.\" $Id$
-.\" SH section heading
-.\" SS subsection heading
-.\" LP paragraph
-.\" IP indented paragraph
-.\" TP hanging label
-.TH CHAT 8 "22 May 1999" "Chat Version 1.22"
-.SH NAME
-chat \- Automated conversational script with a modem
-.SH SYNOPSIS
-.B chat
-[
-.I options
-]
-.I script
-.SH DESCRIPTION
-.LP
-The \fIchat\fR program defines a conversational exchange between the
-computer and the modem. Its primary purpose is to establish the
-connection between the Point-to-Point Protocol Daemon (\fIpppd\fR) and
-the remote's \fIpppd\fR process.
-.SH OPTIONS
-.TP
-.B -f \fI<chat file>
-Read the chat script from the chat \fIfile\fR. The use of this option
-is mutually exclusive with the chat script parameters. The user must
-have read access to the file. Multiple lines are permitted in the
-file. Space or horizontal tab characters should be used to separate
-the strings.
-.TP
-.B -t \fI<timeout>
-Set the timeout for the expected string to be received. If the string
-is not received within the time limit then the reply string is not
-sent. An alternate reply may be sent or the script will fail if there
-is no alternate reply string. A failed script will cause the
-\fIchat\fR program to terminate with a non-zero error code.
-.TP
-.B -r \fI<report file>
-Set the file for output of the report strings. If you use the keyword
-\fIREPORT\fR, the resulting strings are written to this file. If this
-option is not used and you still use \fIREPORT\fR keywords, the
-\fIstderr\fR file is used for the report strings.
-.TP
-.B -e
-Start with the echo option turned on. Echoing may also be turned on
-or off at specific points in the chat script by using the \fIECHO\fR
-keyword. When echoing is enabled, all output from the modem is echoed
-to \fIstderr\fR.
-.TP
-.B -E
-Enables environment variable substituion within chat scripts using the
-standard \fI$xxx\fR syntax.
-.TP
-.B -v
-Request that the \fIchat\fR script be executed in a verbose mode. The
-\fIchat\fR program will then log the execution state of the chat
-script as well as all text received from the modem and the output
-strings sent to the modem. The default is to log through the SYSLOG;
-the logging method may be altered with the -S and -s flags.
-.TP
-.B -V
-Request that the \fIchat\fR script be executed in a stderr verbose
-mode. The \fIchat\fR program will then log all text received from the
-modem and the output strings sent to the modem to the stderr device. This
-device is usually the local console at the station running the chat or
-pppd program.
-.TP
-.B -s
-Use stderr. All log messages from '-v' and all error messages will be
-sent to stderr.
-.TP
-.B -S
-Do not use the SYSLOG. By default, error messages are sent to the
-SYSLOG. The use of -S will prevent both log messages from '-v' and
-error messages from being sent to the SYSLOG.
-.TP
-.B -T \fI<phone number>
-Pass in an arbitary string, usually a phone number, that will be
-substituted for the \\T substitution metacharacter in a send string.
-.TP
-.B -U \fI<phone number 2>
-Pass in a second string, usually a phone number, that will be
-substituted for the \\U substitution metacharacter in a send string.
-This is useful when dialing an ISDN terminal adapter that requires two
-numbers.
-.TP
-.B script
-If the script is not specified in a file with the \fI-f\fR option then
-the script is included as parameters to the \fIchat\fR program.
-.SH CHAT SCRIPT
-.LP
-The \fIchat\fR script defines the communications.
-.LP
-A script consists of one or more "expect-send" pairs of strings,
-separated by spaces, with an optional "subexpect-subsend" string pair,
-separated by a dash as in the following example:
-.IP
-ogin:-BREAK-ogin: ppp ssword: hello2u2
-.LP
-This line indicates that the \fIchat\fR program should expect the string
-"ogin:". If it fails to receive a login prompt within the time interval
-allotted, it is to send a break sequence to the remote and then expect the
-string "ogin:". If the first "ogin:" is received then the break sequence is
-not generated.
-.LP
-Once it received the login prompt the \fIchat\fR program will send the
-string ppp and then expect the prompt "ssword:". When it receives the
-prompt for the password, it will send the password hello2u2.
-.LP
-A carriage return is normally sent following the reply string. It is not
-expected in the "expect" string unless it is specifically requested by using
-the \\r character sequence.
-.LP
-The expect sequence should contain only what is needed to identify the
-string. Since it is normally stored on a disk file, it should not contain
-variable information. It is generally not acceptable to look for time
-strings, network identification strings, or other variable pieces of data as
-an expect string.
-.LP
-To help correct for characters which may be corrupted during the initial
-sequence, look for the string "ogin:" rather than "login:". It is possible
-that the leading "l" character may be received in error and you may never
-find the string even though it was sent by the system. For this reason,
-scripts look for "ogin:" rather than "login:" and "ssword:" rather than
-"password:".
-.LP
-A very simple script might look like this:
-.IP
-ogin: ppp ssword: hello2u2
-.LP
-In other words, expect ....ogin:, send ppp, expect ...ssword:, send hello2u2.
-.LP
-In actual practice, simple scripts are rare. At the vary least, you
-should include sub-expect sequences should the original string not be
-received. For example, consider the following script:
-.IP
-ogin:--ogin: ppp ssword: hello2u2
-.LP
-This would be a better script than the simple one used earlier. This would look
-for the same login: prompt, however, if one was not received, a single
-return sequence is sent and then it will look for login: again. Should line
-noise obscure the first login prompt then sending the empty line will
-usually generate a login prompt again.
-.SH COMMENTS
-Comments can be embedded in the chat script. A comment is a line which
-starts with the \fB#\fR (hash) character in column 1. Such comment
-lines are just ignored by the chat program. If a '#' character is to
-be expected as the first character of the expect sequence, you should
-quote the expect string.
-If you want to wait for a prompt that starts with a # (hash)
-character, you would have to write something like this:
-.IP
-# Now wait for the prompt and send logout string
-.br
-\'# ' logout
-.LP
-
-.SH SENDING DATA FROM A FILE
-If the string to send starts with an at sign (@), the rest of the
-string is taken to be the name of a file to read to get the string to
-send. If the last character of the data read is a newline, it is
-removed. The file can be a named pipe (or fifo) instead of a regular
-file. This provides a way for \fBchat\fR to communicate with another
-program, for example, a program to prompt the user and receive a
-password typed in.
-.LP
-
-.SH ABORT STRINGS
-Many modems will report the status of the call as a string. These
-strings may be \fBCONNECTED\fR or \fBNO CARRIER\fR or \fBBUSY\fR. It
-is often desirable to terminate the script should the modem fail to
-connect to the remote. The difficulty is that a script would not know
-exactly which modem string it may receive. On one attempt, it may
-receive \fBBUSY\fR while the next time it may receive \fBNO CARRIER\fR.
-.LP
-These "abort" strings may be specified in the script using the \fIABORT\fR
-sequence. It is written in the script as in the following example:
-.IP
-ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATDT5551212 CONNECT
-.LP
-This sequence will expect nothing; and then send the string ATZ. The
-expected response to this is the string \fIOK\fR. When it receives \fIOK\fR,
-the string ATDT5551212 to dial the telephone. The expected string is
-\fICONNECT\fR. If the string \fICONNECT\fR is received the remainder of the
-script is executed. However, should the modem find a busy telephone, it will
-send the string \fIBUSY\fR. This will cause the string to match the abort
-character sequence. The script will then fail because it found a match to
-the abort string. If it received the string \fINO CARRIER\fR, it will abort
-for the same reason. Either string may be received. Either string will
-terminate the \fIchat\fR script.
-.SH CLR_ABORT STRINGS
-This sequence allows for clearing previously set \fBABORT\fR strings.
-\fBABORT\fR strings are kept in an array of a pre-determined size (at
-compilation time); \fBCLR_ABORT\fR will reclaim the space for cleared
-entries so that new strings can use that space.
-.SH SAY STRINGS
-The \fBSAY\fR directive allows the script to send strings to the user
-at the terminal via standard error. If \fBchat\fR is being run by
-pppd, and pppd is running as a daemon (detached from its controlling
-terminal), standard error will normally be redirected to the file
-/etc/ppp/connect-errors.
-.LP
-\fBSAY\fR strings must be enclosed in single or double quotes. If
-carriage return and line feed are needed in the string to be output,
-you must explicitely add them to your string.
-.LP
-The SAY strings could be used to give progress messages in sections of
-the script where you want to have 'ECHO OFF' but still let the user
-know what is happening. An example is:
-.IP
-ABORT BUSY
-.br
-ECHO OFF
-.br
-SAY "Dialling your ISP...\\n"
-.br
-\'' ATDT5551212
-.br
-TIMEOUT 120
-.br
-SAY "Waiting up to 2 minutes for connection ... "
-.br
-CONNECT ''
-.br
-SAY "Connected, now logging in ...\n"
-.br
-ogin: account
-.br
-ssword: pass
-.br
-$ \c
-SAY "Logged in OK ...\n"
-\fIetc ...\fR
-.LP
-This sequence will only present the SAY strings to the user and all
-the details of the script will remain hidden. For example, if the
-above script works, the user will see:
-.IP
-Dialling your ISP...
-.br
-Waiting up to 2 minutes for connection ... Connected, now logging in ...
-.br
-Logged in OK ...
-.LP
-
-.SH REPORT STRINGS
-A \fBreport\fR string is similar to the ABORT string. The difference
-is that the strings, and all characters to the next control character
-such as a carriage return, are written to the report file.
-.LP
-The report strings may be used to isolate the transmission rate of the
-modem's connect string and return the value to the chat user. The
-analysis of the report string logic occurs in conjunction with the
-other string processing such as looking for the expect string. The use
-of the same string for a report and abort sequence is probably not
-very useful, however, it is possible.
-.LP
-The report strings to no change the completion code of the program.
-.LP
-These "report" strings may be specified in the script using the \fIREPORT\fR
-sequence. It is written in the script as in the following example:
-.IP
-REPORT CONNECT ABORT BUSY '' ATDT5551212 CONNECT '' ogin: account
-.LP
-This sequence will expect nothing; and then send the string
-ATDT5551212 to dial the telephone. The expected string is
-\fICONNECT\fR. If the string \fICONNECT\fR is received the remainder
-of the script is executed. In addition the program will write to the
-expect-file the string "CONNECT" plus any characters which follow it
-such as the connection rate.
-.SH CLR_REPORT STRINGS
-This sequence allows for clearing previously set \fBREPORT\fR strings.
-\fBREPORT\fR strings are kept in an array of a pre-determined size (at
-compilation time); \fBCLR_REPORT\fR will reclaim the space for cleared
-entries so that new strings can use that space.
-.SH ECHO
-The echo options controls whether the output from the modem is echoed
-to \fIstderr\fR. This option may be set with the \fI-e\fR option, but
-it can also be controlled by the \fIECHO\fR keyword. The "expect-send"
-pair \fIECHO\fR \fION\fR enables echoing, and \fIECHO\fR \fIOFF\fR
-disables it. With this keyword you can select which parts of the
-conversation should be visible. For instance, with the following
-script:
-.IP
-ABORT 'BUSY'
-.br
-ABORT 'NO CARRIER'
-.br
-'' ATZ
-.br
-OK\\r\\n ATD1234567
-.br
-\\r\\n \\c
-.br
-ECHO ON
-.br
-CONNECT \\c
-.br
-ogin: account
-.LP
-all output resulting from modem configuration and dialing is not visible,
-but starting with the \fICONNECT\fR (or \fIBUSY\fR) message, everything
-will be echoed.
-.SH HANGUP
-The HANGUP options control whether a modem hangup should be considered
-as an error or not. This option is useful in scripts for dialling
-systems which will hang up and call your system back. The HANGUP
-options can be \fBON\fR or \fBOFF\fR.
-.br
-When HANGUP is set OFF and the modem hangs up (e.g., after the first
-stage of logging in to a callback system), \fBchat\fR will continue
-running the script (e.g., waiting for the incoming call and second
-stage login prompt). As soon as the incoming call is connected, you
-should use the \fBHANGUP ON\fR directive to reinstall normal hang up
-signal behavior. Here is an (simple) example script:
-.IP
-ABORT 'BUSY'
-.br
-'' ATZ
-.br
-OK\\r\\n ATD1234567
-.br
-\\r\\n \\c
-.br
-CONNECT \\c
-.br
-\'Callback login:' call_back_ID
-.br
-HANGUP OFF
-.br
-ABORT "Bad Login"
-.br
-\'Callback Password:' Call_back_password
-.br
-TIMEOUT 120
-.br
-CONNECT \\c
-.br
-HANGUP ON
-.br
-ABORT "NO CARRIER"
-.br
-ogin:--BREAK--ogin: real_account
-.br
-\fIetc ...\fR
-.LP
-.SH TIMEOUT
-The initial timeout value is 45 seconds. This may be changed using the \fB-t\fR
-parameter.
-.LP
-To change the timeout value for the next expect string, the following
-example may be used:
-.IP
-ATZ OK ATDT5551212 CONNECT TIMEOUT 10 ogin:--ogin: TIMEOUT 5 assword: hello2u2
-.LP
-This will change the timeout to 10 seconds when it expects the login:
-prompt. The timeout is then changed to 5 seconds when it looks for the
-password prompt.
-.LP
-The timeout, once changed, remains in effect until it is changed again.
-.SH SENDING EOT
-The special reply string of \fIEOT\fR indicates that the chat program
-should send an EOT character to the remote. This is normally the
-End-of-file character sequence. A return character is not sent
-following the EOT.
-.PR
-The EOT sequence may be embedded into the send string using the
-sequence \fI^D\fR.
-.SH GENERATING BREAK
-The special reply string of \fIBREAK\fR will cause a break condition
-to be sent. The break is a special signal on the transmitter. The
-normal processing on the receiver is to change the transmission rate.
-It may be used to cycle through the available transmission rates on
-the remote until you are able to receive a valid login prompt.
-.PR
-The break sequence may be embedded into the send string using the
-\fI\\K\fR sequence.
-.SH ESCAPE SEQUENCES
-The expect and reply strings may contain escape sequences. All of the
-sequences are legal in the reply string. Many are legal in the expect.
-Those which are not valid in the expect sequence are so indicated.
-.TP
-.B ''
-Expects or sends a null string. If you send a null string then it will still
-send the return character. This sequence may either be a pair of apostrophe
-or quote characters.
-.TP
-.B \\\\b
-represents a backspace character.
-.TP
-.B \\\\c
-Suppresses the newline at the end of the reply string. This is the only
-method to send a string without a trailing return character. It must
-be at the end of the send string. For example,
-the sequence hello\\c will simply send the characters h, e, l, l, o.
-.I (not valid in expect.)
-.TP
-.B \\\\d
-Delay for one second. The program uses sleep(1) which will delay to a
-maximum of one second.
-.I (not valid in expect.)
-.TP
-.B \\\\K
-Insert a BREAK
-.I (not valid in expect.)
-.TP
-.B \\\\n
-Send a newline or linefeed character.
-.TP
-.B \\\\N
-Send a null character. The same sequence may be represented by \\0.
-.I (not valid in expect.)
-.TP
-.B \\\\p
-Pause for a fraction of a second. The delay is 1/10th of a second.
-.I (not valid in expect.)
-.TP
-.B \\\\q
-Suppress writing the string to the SYSLOG file. The string ?????? is
-written to the log in its place.
-.I (not valid in expect.)
-.TP
-.B \\\\r
-Send or expect a carriage return.
-.TP
-.B \\\\s
-Represents a space character in the string. This may be used when it
-is not desirable to quote the strings which contains spaces. The
-sequence 'HI TIM' and HI\\sTIM are the same.
-.TP
-.B \\\\t
-Send or expect a tab character.
-.TP
-.B \\\\T
-Send the phone number string as specified with the \fI-T\fR option
-.I (not valid in expect.)
-.TP
-.B \\\\U
-Send the phone number 2 string as specified with the \fI-U\fR option
-.I (not valid in expect.)
-.TP
-.B \\\\\\\\
-Send or expect a backslash character.
-.TP
-.B \\\\ddd
-Collapse the octal digits (ddd) into a single ASCII character and send that
-character.
-.I (some characters are not valid in expect.)
-.TP
-.B \^^C
-Substitute the sequence with the control character represented by C.
-For example, the character DC1 (17) is shown as \^^Q.
-.I (some characters are not valid in expect.)
-.SH ENVIRONMENT VARIABLES
-Environment variables are available within chat scripts, if the \fI-E\fR
-option was specified in the command line. The metacharacter \fI$\fR is used
-to introduce the name of the environment variable to substitute. If the
-substition fails, because the requested environment variable is not set,
-\fInothing\fR is replaced for the variable.
-.SH TERMINATION CODES
-The \fIchat\fR program will terminate with the following completion
-codes.
-.TP
-.B 0
-The normal termination of the program. This indicates that the script
-was executed without error to the normal conclusion.
-.TP
-.B 1
-One or more of the parameters are invalid or an expect string was too
-large for the internal buffers. This indicates that the program as not
-properly executed.
-.TP
-.B 2
-An error occurred during the execution of the program. This may be due
-to a read or write operation failing for some reason or chat receiving
-a signal such as SIGINT.
-.TP
-.B 3
-A timeout event occurred when there was an \fIexpect\fR string without
-having a "-subsend" string. This may mean that you did not program the
-script correctly for the condition or that some unexpected event has
-occurred and the expected string could not be found.
-.TP
-.B 4
-The first string marked as an \fIABORT\fR condition occurred.
-.TP
-.B 5
-The second string marked as an \fIABORT\fR condition occurred.
-.TP
-.B 6
-The third string marked as an \fIABORT\fR condition occurred.
-.TP
-.B 7
-The fourth string marked as an \fIABORT\fR condition occurred.
-.TP
-.B ...
-The other termination codes are also strings marked as an \fIABORT\fR
-condition.
-.LP
-Using the termination code, it is possible to determine which event
-terminated the script. It is possible to decide if the string "BUSY"
-was received from the modem as opposed to "NO DIAL TONE". While the
-first event may be retried, the second will probably have little
-chance of succeeding during a retry.
-.SH SEE ALSO
-Additional information about \fIchat\fR scripts may be found with UUCP
-documentation. The \fIchat\fR script was taken from the ideas proposed
-by the scripts used by the \fIuucico\fR program.
-.LP
-uucico(1), uucp(1)
-.SH COPYRIGHT
-The \fIchat\fR program is in public domain. This is not the GNU public
-license. If it breaks then you get to keep both pieces.
diff --git a/mdk-stage1/ppp/chat/chat.c b/mdk-stage1/ppp/chat/chat.c
deleted file mode 100644
index 1b22907a8..000000000
--- a/mdk-stage1/ppp/chat/chat.c
+++ /dev/null
@@ -1,1756 +0,0 @@
-/*
- * Chat -- a program for automatic session establishment (i.e. dial
- * the phone and log in).
- *
- * Standard termination codes:
- * 0 - successful completion of the script
- * 1 - invalid argument, expect string too large, etc.
- * 2 - error on an I/O operation or fatal error condition.
- * 3 - timeout waiting for a simple string.
- * 4 - the first string declared as "ABORT"
- * 5 - the second string declared as "ABORT"
- * 6 - ... and so on for successive ABORT strings.
- *
- * This software is in the public domain.
- *
- * -----------------
- * 22-May-99 added environment substitutuion, enabled with -E switch.
- * Andreas Arens <andras@cityweb.de>.
- *
- * 12-May-99 added a feature to read data to be sent from a file,
- * if the send string starts with @. Idea from gpk <gpk@onramp.net>.
- *
- * added -T and -U option and \T and \U substitution to pass a phone
- * number into chat script. Two are needed for some ISDN TA applications.
- * Keith Dart <kdart@cisco.com>
- *
- *
- * Added SAY keyword to send output to stderr.
- * This allows to turn ECHO OFF and to output specific, user selected,
- * text to give progress messages. This best works when stderr
- * exists (i.e.: pppd in nodetach mode).
- *
- * Added HANGUP directives to allow for us to be called
- * back. When HANGUP is set to NO, chat will not hangup at HUP signal.
- * We rely on timeouts in that case.
- *
- * Added CLR_ABORT to clear previously set ABORT string. This has been
- * dictated by the HANGUP above as "NO CARRIER" (for example) must be
- * an ABORT condition until we know the other host is going to close
- * the connection for call back. As soon as we have completed the
- * first stage of the call back sequence, "NO CARRIER" is a valid, non
- * fatal string. As soon as we got called back (probably get "CONNECT"),
- * we should re-arm the ABORT "NO CARRIER". Hence the CLR_ABORT command.
- * Note that CLR_ABORT packs the abort_strings[] array so that we do not
- * have unused entries not being reclaimed.
- *
- * In the same vein as above, added CLR_REPORT keyword.
- *
- * Allow for comments. Line starting with '#' are comments and are
- * ignored. If a '#' is to be expected as the first character, the
- * expect string must be quoted.
- *
- *
- * Francis Demierre <Francis@SwissMail.Com>
- * Thu May 15 17:15:40 MET DST 1997
- *
- *
- * Added -r "report file" switch & REPORT keyword.
- * Robert Geer <bgeer@xmission.com>
- *
- * Added -s "use stderr" and -S "don't use syslog" switches.
- * June 18, 1997
- * Karl O. Pinc <kop@meme.com>
- *
- *
- * Added -e "echo" switch & ECHO keyword
- * Dick Streefland <dicks@tasking.nl>
- *
- *
- * Considerable updates and modifications by
- * Al Longyear <longyear@pobox.com>
- * Paul Mackerras <paulus@cs.anu.edu.au>
- *
- *
- * The original author is:
- *
- * Karl Fox <karl@MorningStar.Com>
- * Morning Star Technologies, Inc.
- * 1760 Zollinger Road
- * Columbus, OH 43221
- * (614)451-1883
- *
- */
-
-#ifndef __STDC__
-#define const
-#endif
-
-#ifndef lint
-static const char rcsid[] = "$Id$";
-#endif
-
-#include <stdio.h>
-#include <ctype.h>
-#include <time.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <syslog.h>
-
-#ifndef TERMIO
-#undef TERMIOS
-#define TERMIOS
-#endif
-
-#ifdef TERMIO
-#include <termio.h>
-#endif
-#ifdef TERMIOS
-#include <termios.h>
-#endif
-
-#define STR_LEN 1024
-
-#ifndef SIGTYPE
-#define SIGTYPE void
-#endif
-
-#undef __P
-#undef __V
-
-#ifdef __STDC__
-#include <stdarg.h>
-#define __V(x) x
-#define __P(x) x
-#else
-#include <varargs.h>
-#define __V(x) (va_alist) va_dcl
-#define __P(x) ()
-#define const
-#endif
-
-#ifndef O_NONBLOCK
-#define O_NONBLOCK O_NDELAY
-#endif
-
-#ifdef SUNOS
-extern int sys_nerr;
-extern char *sys_errlist[];
-#define memmove(to, from, n) bcopy(from, to, n)
-#define strerror(n) ((unsigned)(n) < sys_nerr? sys_errlist[(n)] :\
- "unknown error")
-#endif
-
-/*************** Micro getopt() *********************************************/
-#define OPTION(c,v) (_O&2&&**v?*(*v)++:!c||_O&4?0:(!(_O&1)&& \
- (--c,++v),_O=4,c&&**v=='-'&&v[0][1]?*++*v=='-'\
- &&!v[0][1]?(--c,++v,0):(_O=2,*(*v)++):0))
-#define OPTARG(c,v) (_O&2?**v||(++v,--c)?(_O=1,--c,*v++): \
- (_O=4,(char*)0):(char*)0)
-#define OPTONLYARG(c,v) (_O&2&&**v?(_O=1,--c,*v++):(char*)0)
-#define ARG(c,v) (c?(--c,*v++):(char*)0)
-
-static int _O = 0; /* Internal state */
-/*************** Micro getopt() *********************************************/
-
-char *program_name;
-
-#define MAX_ABORTS 50
-#define MAX_REPORTS 50
-#define DEFAULT_CHAT_TIMEOUT 45
-
-int echo = 0;
-int verbose = 0;
-int to_log = 1;
-int to_stderr = 0;
-int Verbose = 0;
-int quiet = 0;
-int report = 0;
-int use_env = 0;
-int exit_code = 0;
-FILE* report_fp = (FILE *) 0;
-char *report_file = (char *) 0;
-char *chat_file = (char *) 0;
-char *phone_num = (char *) 0;
-char *phone_num2 = (char *) 0;
-int timeout = DEFAULT_CHAT_TIMEOUT;
-
-int have_tty_parameters = 0;
-
-#ifdef TERMIO
-#define term_parms struct termio
-#define get_term_param(param) ioctl(0, TCGETA, param)
-#define set_term_param(param) ioctl(0, TCSETA, param)
-struct termio saved_tty_parameters;
-#endif
-
-#ifdef TERMIOS
-#define term_parms struct termios
-#define get_term_param(param) tcgetattr(0, param)
-#define set_term_param(param) tcsetattr(0, TCSANOW, param)
-struct termios saved_tty_parameters;
-#endif
-
-char *abort_string[MAX_ABORTS], *fail_reason = (char *)0,
- fail_buffer[50];
-int n_aborts = 0, abort_next = 0, timeout_next = 0, echo_next = 0;
-int clear_abort_next = 0;
-
-char *report_string[MAX_REPORTS] ;
-char report_buffer[50] ;
-int n_reports = 0, report_next = 0, report_gathering = 0 ;
-int clear_report_next = 0;
-
-int say_next = 0, hup_next = 0;
-
-void *dup_mem __P((void *b, size_t c));
-void *copy_of __P((char *s));
-void usage __P((void));
-void logf __P((const char *fmt, ...));
-void fatal __P((int code, const char *fmt, ...));
-SIGTYPE sigalrm __P((int signo));
-SIGTYPE sigint __P((int signo));
-SIGTYPE sigterm __P((int signo));
-SIGTYPE sighup __P((int signo));
-void unalarm __P((void));
-void init __P((void));
-void set_tty_parameters __P((void));
-void echo_stderr __P((int));
-void break_sequence __P((void));
-void terminate __P((int status));
-void do_file __P((char *chat_file));
-int get_string __P((register char *string));
-int put_string __P((register char *s));
-int write_char __P((int c));
-int put_char __P((int c));
-int get_char __P((void));
-void chat_send __P((register char *s));
-char *character __P((int c));
-void chat_expect __P((register char *s));
-char *clean __P((register char *s, int sending));
-void break_sequence __P((void));
-void terminate __P((int status));
-void pack_array __P((char **array, int end));
-char *expect_strtok __P((char *, char *));
-int vfmtmsg __P((char *, int, const char *, va_list)); /* vsprintf++ */
-
-int main __P((int, char *[]));
-
-void *dup_mem(b, c)
-void *b;
-size_t c;
-{
- void *ans = malloc (c);
- if (!ans)
- fatal(2, "memory error!");
-
- memcpy (ans, b, c);
- return ans;
-}
-
-void *copy_of (s)
-char *s;
-{
- return dup_mem (s, strlen (s) + 1);
-}
-
-/*
- * chat [ -v ] [ -E ] [ -T number ] [ -U number ] [ -t timeout ] [ -f chat-file ] \
- * [ -r report-file ] \
- * [...[[expect[-say[-expect...]] say expect[-say[-expect]] ...]]]
- *
- * Perform a UUCP-dialer-like chat script on stdin and stdout.
- */
-int
-main(argc, argv)
- int argc;
- char **argv;
-{
- int option;
- char *arg;
-
- program_name = *argv;
- tzset();
-
- while ((option = OPTION(argc, argv)) != 0) {
- switch (option) {
- case 'e':
- ++echo;
- break;
-
- case 'E':
- ++use_env;
- break;
-
- case 'v':
- ++verbose;
- break;
-
- case 'V':
- ++Verbose;
- break;
-
- case 's':
- ++to_stderr;
- break;
-
- case 'S':
- to_log = 0;
- break;
-
- case 'f':
- if ((arg = OPTARG(argc, argv)) != NULL)
- chat_file = copy_of(arg);
- else
- usage();
- break;
-
- case 't':
- if ((arg = OPTARG(argc, argv)) != NULL)
- timeout = atoi(arg);
- else
- usage();
- break;
-
- case 'r':
- arg = OPTARG (argc, argv);
- if (arg) {
- if (report_fp != NULL)
- fclose (report_fp);
- report_file = copy_of (arg);
- report_fp = fopen (report_file, "a");
- if (report_fp != NULL) {
- if (verbose)
- fprintf (report_fp, "Opening \"%s\"...\n",
- report_file);
- report = 1;
- }
- }
- break;
-
- case 'T':
- if ((arg = OPTARG(argc, argv)) != NULL)
- phone_num = copy_of(arg);
- else
- usage();
- break;
-
- case 'U':
- if ((arg = OPTARG(argc, argv)) != NULL)
- phone_num2 = copy_of(arg);
- else
- usage();
- break;
-
- default:
- usage();
- break;
- }
- }
-/*
- * Default the report file to the stderr location
- */
- if (report_fp == NULL)
- report_fp = stderr;
-
- if (to_log) {
-#ifdef ultrix
- openlog("chat", LOG_PID);
-#else
- openlog("chat", LOG_PID | LOG_NDELAY, LOG_LOCAL2);
-
- if (verbose)
- setlogmask(LOG_UPTO(LOG_INFO));
- else
- setlogmask(LOG_UPTO(LOG_WARNING));
-#endif
- }
-
- init();
-
- if (chat_file != NULL) {
- arg = ARG(argc, argv);
- if (arg != NULL)
- usage();
- else
- do_file (chat_file);
- } else {
- while ((arg = ARG(argc, argv)) != NULL) {
- chat_expect(arg);
-
- if ((arg = ARG(argc, argv)) != NULL)
- chat_send(arg);
- }
- }
-
- terminate(0);
- return 0;
-}
-
-/*
- * Process a chat script when read from a file.
- */
-
-void do_file (chat_file)
-char *chat_file;
-{
- int linect, sendflg;
- char *sp, *arg, quote;
- char buf [STR_LEN];
- FILE *cfp;
-
- cfp = fopen (chat_file, "r");
- if (cfp == NULL)
- fatal(1, "%s -- open failed: %m", chat_file);
-
- linect = 0;
- sendflg = 0;
-
- while (fgets(buf, STR_LEN, cfp) != NULL) {
- sp = strchr (buf, '\n');
- if (sp)
- *sp = '\0';
-
- linect++;
- sp = buf;
-
- /* lines starting with '#' are comments. If a real '#'
- is to be expected, it should be quoted .... */
- if ( *sp == '#' )
- continue;
-
- while (*sp != '\0') {
- if (*sp == ' ' || *sp == '\t') {
- ++sp;
- continue;
- }
-
- if (*sp == '"' || *sp == '\'') {
- quote = *sp++;
- arg = sp;
- while (*sp != quote) {
- if (*sp == '\0')
- fatal(1, "unterminated quote (line %d)", linect);
-
- if (*sp++ == '\\') {
- if (*sp != '\0')
- ++sp;
- }
- }
- }
- else {
- arg = sp;
- while (*sp != '\0' && *sp != ' ' && *sp != '\t')
- ++sp;
- }
-
- if (*sp != '\0')
- *sp++ = '\0';
-
- if (sendflg)
- chat_send (arg);
- else
- chat_expect (arg);
- sendflg = !sendflg;
- }
- }
- fclose (cfp);
-}
-
-/*
- * We got an error parsing the command line.
- */
-void usage()
-{
- fprintf(stderr, "\
-Usage: %s [-e] [-E] [-v] [-V] [-t timeout] [-r report-file]\n\
- [-T phone-number] [-U phone-number2] {-f chat-file | chat-script}\n", program_name);
- exit(1);
-}
-
-char line[1024];
-
-/*
- * Send a message to syslog and/or stderr.
- */
-void logf __V((const char *fmt, ...))
-{
- va_list args;
-
-#ifdef __STDC__
- va_start(args, fmt);
-#else
- char *fmt;
- va_start(args);
- fmt = va_arg(args, char *);
-#endif
-
- vfmtmsg(line, sizeof(line), fmt, args);
- if (to_log)
- syslog(LOG_INFO, "%s", line);
- if (to_stderr)
- fprintf(stderr, "%s\n", line);
-}
-
-/*
- * Print an error message and terminate.
- */
-
-void fatal __V((int code, const char *fmt, ...))
-{
- va_list args;
-
-#ifdef __STDC__
- va_start(args, fmt);
-#else
- int code;
- char *fmt;
- va_start(args);
- code = va_arg(args, int);
- fmt = va_arg(args, char *);
-#endif
-
- vfmtmsg(line, sizeof(line), fmt, args);
- if (to_log)
- syslog(LOG_ERR, "%s", line);
- if (to_stderr)
- fprintf(stderr, "%s\n", line);
- terminate(code);
-}
-
-int alarmed = 0;
-
-SIGTYPE sigalrm(signo)
-int signo;
-{
- int flags;
-
- alarm(1);
- alarmed = 1; /* Reset alarm to avoid race window */
- signal(SIGALRM, sigalrm); /* that can cause hanging in read() */
-
- if ((flags = fcntl(0, F_GETFL, 0)) == -1)
- fatal(2, "Can't get file mode flags on stdin: %m");
-
- if (fcntl(0, F_SETFL, flags | O_NONBLOCK) == -1)
- fatal(2, "Can't set file mode flags on stdin: %m");
-
- if (verbose)
- logf("alarm");
-}
-
-void unalarm()
-{
- int flags;
-
- if ((flags = fcntl(0, F_GETFL, 0)) == -1)
- fatal(2, "Can't get file mode flags on stdin: %m");
-
- if (fcntl(0, F_SETFL, flags & ~O_NONBLOCK) == -1)
- fatal(2, "Can't set file mode flags on stdin: %m");
-}
-
-SIGTYPE sigint(signo)
-int signo;
-{
- fatal(2, "SIGINT");
-}
-
-SIGTYPE sigterm(signo)
-int signo;
-{
- fatal(2, "SIGTERM");
-}
-
-SIGTYPE sighup(signo)
-int signo;
-{
- fatal(2, "SIGHUP");
-}
-
-void init()
-{
- signal(SIGINT, sigint);
- signal(SIGTERM, sigterm);
- signal(SIGHUP, sighup);
-
- set_tty_parameters();
- signal(SIGALRM, sigalrm);
- alarm(0);
- alarmed = 0;
-}
-
-void set_tty_parameters()
-{
-#if defined(get_term_param)
- term_parms t;
-
- if (get_term_param (&t) < 0)
- fatal(2, "Can't get terminal parameters: %m");
-
- saved_tty_parameters = t;
- have_tty_parameters = 1;
-
- t.c_iflag |= IGNBRK | ISTRIP | IGNPAR;
- t.c_oflag = 0;
- t.c_lflag = 0;
- t.c_cc[VERASE] =
- t.c_cc[VKILL] = 0;
- t.c_cc[VMIN] = 1;
- t.c_cc[VTIME] = 0;
-
- if (set_term_param (&t) < 0)
- fatal(2, "Can't set terminal parameters: %m");
-#endif
-}
-
-void break_sequence()
-{
-#ifdef TERMIOS
- tcsendbreak (0, 0);
-#endif
-}
-
-void terminate(status)
-int status;
-{
- static int terminating = 0;
-
- if (terminating)
- exit(status);
- terminating = 1;
- echo_stderr(-1);
-/*
- * Allow the last of the report string to be gathered before we terminate.
- */
- if (report_gathering) {
- int c, rep_len;
-
- rep_len = strlen(report_buffer);
- while (rep_len + 1 <= sizeof(report_buffer)) {
- alarm(1);
- c = get_char();
- alarm(0);
- if (c < 0 || iscntrl(c))
- break;
- report_buffer[rep_len] = c;
- ++rep_len;
- }
- report_buffer[rep_len] = 0;
- fprintf (report_fp, "chat: %s\n", report_buffer);
- }
- if (report_file != (char *) 0 && report_fp != (FILE *) NULL) {
- if (verbose)
- fprintf (report_fp, "Closing \"%s\".\n", report_file);
- fclose (report_fp);
- report_fp = (FILE *) NULL;
- }
-
-#if defined(get_term_param)
- if (have_tty_parameters) {
- if (set_term_param (&saved_tty_parameters) < 0)
- fatal(2, "Can't restore terminal parameters: %m");
- }
-#endif
-
- exit(status);
-}
-
-/*
- * 'Clean up' this string.
- */
-char *clean(s, sending)
-register char *s;
-int sending; /* set to 1 when sending (putting) this string. */
-{
- char temp[STR_LEN], env_str[STR_LEN], cur_chr;
- register char *s1, *phchar;
- int add_return = sending;
-#define isoctal(chr) (((chr) >= '0') && ((chr) <= '7'))
-#define isalnumx(chr) ((((chr) >= '0') && ((chr) <= '9')) \
- || (((chr) >= 'a') && ((chr) <= 'z')) \
- || (((chr) >= 'A') && ((chr) <= 'Z')) \
- || (chr) == '_')
-
- s1 = temp;
- while (*s) {
- cur_chr = *s++;
- if (cur_chr == '^') {
- cur_chr = *s++;
- if (cur_chr == '\0') {
- *s1++ = '^';
- break;
- }
- cur_chr &= 0x1F;
- if (cur_chr != 0) {
- *s1++ = cur_chr;
- }
- continue;
- }
-
- if (use_env && cur_chr == '$') { /* ARI */
- phchar = env_str;
- while (isalnumx(*s))
- *phchar++ = *s++;
- *phchar = '\0';
- phchar = getenv(env_str);
- if (phchar)
- while (*phchar)
- *s1++ = *phchar++;
- continue;
- }
-
- if (cur_chr != '\\') {
- *s1++ = cur_chr;
- continue;
- }
-
- cur_chr = *s++;
- if (cur_chr == '\0') {
- if (sending) {
- *s1++ = '\\';
- *s1++ = '\\';
- }
- break;
- }
-
- switch (cur_chr) {
- case 'b':
- *s1++ = '\b';
- break;
-
- case 'c':
- if (sending && *s == '\0')
- add_return = 0;
- else
- *s1++ = cur_chr;
- break;
-
- case '\\':
- case 'K':
- case 'p':
- case 'd':
- if (sending)
- *s1++ = '\\';
- *s1++ = cur_chr;
- break;
-
- case 'T':
- if (sending && phone_num) {
- for (phchar = phone_num; *phchar != '\0'; phchar++)
- *s1++ = *phchar;
- }
- else {
- *s1++ = '\\';
- *s1++ = 'T';
- }
- break;
-
- case 'U':
- if (sending && phone_num2) {
- for (phchar = phone_num2; *phchar != '\0'; phchar++)
- *s1++ = *phchar;
- }
- else {
- *s1++ = '\\';
- *s1++ = 'U';
- }
- break;
-
- case 'q':
- quiet = 1;
- break;
-
- case 'r':
- *s1++ = '\r';
- break;
-
- case 'n':
- *s1++ = '\n';
- break;
-
- case 's':
- *s1++ = ' ';
- break;
-
- case 't':
- *s1++ = '\t';
- break;
-
- case 'N':
- if (sending) {
- *s1++ = '\\';
- *s1++ = '\0';
- }
- else
- *s1++ = 'N';
- break;
-
- case '$': /* ARI */
- if (use_env) {
- *s1++ = cur_chr;
- break;
- }
- /* FALL THROUGH */
-
- default:
- if (isoctal (cur_chr)) {
- cur_chr &= 0x07;
- if (isoctal (*s)) {
- cur_chr <<= 3;
- cur_chr |= *s++ - '0';
- if (isoctal (*s)) {
- cur_chr <<= 3;
- cur_chr |= *s++ - '0';
- }
- }
-
- if (cur_chr != 0 || sending) {
- if (sending && (cur_chr == '\\' || cur_chr == 0))
- *s1++ = '\\';
- *s1++ = cur_chr;
- }
- break;
- }
-
- if (sending)
- *s1++ = '\\';
- *s1++ = cur_chr;
- break;
- }
- }
-
- if (add_return)
- *s1++ = '\r';
-
- *s1++ = '\0'; /* guarantee closure */
- *s1++ = '\0'; /* terminate the string */
- return dup_mem (temp, (size_t) (s1 - temp)); /* may have embedded nuls */
-}
-
-/*
- * A modified version of 'strtok'. This version skips \ sequences.
- */
-
-char *expect_strtok (s, term)
- char *s, *term;
-{
- static char *str = "";
- int escape_flag = 0;
- char *result;
-
-/*
- * If a string was specified then do initial processing.
- */
- if (s)
- str = s;
-
-/*
- * If this is the escape flag then reset it and ignore the character.
- */
- if (*str)
- result = str;
- else
- result = (char *) 0;
-
- while (*str) {
- if (escape_flag) {
- escape_flag = 0;
- ++str;
- continue;
- }
-
- if (*str == '\\') {
- ++str;
- escape_flag = 1;
- continue;
- }
-
-/*
- * If this is not in the termination string, continue.
- */
- if (strchr (term, *str) == (char *) 0) {
- ++str;
- continue;
- }
-
-/*
- * This is the terminator. Mark the end of the string and stop.
- */
- *str++ = '\0';
- break;
- }
- return (result);
-}
-
-/*
- * Process the expect string
- */
-
-void chat_expect (s)
-char *s;
-{
- char *expect;
- char *reply;
-
- if (strcmp(s, "HANGUP") == 0) {
- ++hup_next;
- return;
- }
-
- if (strcmp(s, "ABORT") == 0) {
- ++abort_next;
- return;
- }
-
- if (strcmp(s, "CLR_ABORT") == 0) {
- ++clear_abort_next;
- return;
- }
-
- if (strcmp(s, "REPORT") == 0) {
- ++report_next;
- return;
- }
-
- if (strcmp(s, "CLR_REPORT") == 0) {
- ++clear_report_next;
- return;
- }
-
- if (strcmp(s, "TIMEOUT") == 0) {
- ++timeout_next;
- return;
- }
-
- if (strcmp(s, "ECHO") == 0) {
- ++echo_next;
- return;
- }
-
- if (strcmp(s, "SAY") == 0) {
- ++say_next;
- return;
- }
-
-/*
- * Fetch the expect and reply string.
- */
- for (;;) {
- expect = expect_strtok (s, "-");
- s = (char *) 0;
-
- if (expect == (char *) 0)
- return;
-
- reply = expect_strtok (s, "-");
-
-/*
- * Handle the expect string. If successful then exit.
- */
- if (get_string (expect))
- return;
-
-/*
- * If there is a sub-reply string then send it. Otherwise any condition
- * is terminal.
- */
- if (reply == (char *) 0 || exit_code != 3)
- break;
-
- chat_send (reply);
- }
-
-/*
- * The expectation did not occur. This is terminal.
- */
- if (fail_reason)
- logf("Failed (%s)", fail_reason);
- else
- logf("Failed");
- terminate(exit_code);
-}
-
-/*
- * Translate the input character to the appropriate string for printing
- * the data.
- */
-
-char *character(c)
-int c;
-{
- static char string[10];
- char *meta;
-
- meta = (c & 0x80) ? "M-" : "";
- c &= 0x7F;
-
- if (c < 32)
- sprintf(string, "%s^%c", meta, (int)c + '@');
- else if (c == 127)
- sprintf(string, "%s^?", meta);
- else
- sprintf(string, "%s%c", meta, c);
-
- return (string);
-}
-
-/*
- * process the reply string
- */
-void chat_send (s)
-register char *s;
-{
- char file_data[STR_LEN];
-
- if (say_next) {
- say_next = 0;
- s = clean(s, 1);
- write(2, s, strlen(s));
- free(s);
- return;
- }
-
- if (hup_next) {
- hup_next = 0;
- if (strcmp(s, "OFF") == 0)
- signal(SIGHUP, SIG_IGN);
- else
- signal(SIGHUP, sighup);
- return;
- }
-
- if (echo_next) {
- echo_next = 0;
- echo = (strcmp(s, "ON") == 0);
- return;
- }
-
- if (abort_next) {
- char *s1;
-
- abort_next = 0;
-
- if (n_aborts >= MAX_ABORTS)
- fatal(2, "Too many ABORT strings");
-
- s1 = clean(s, 0);
-
- if (strlen(s1) > strlen(s)
- || strlen(s1) + 1 > sizeof(fail_buffer))
- fatal(1, "Illegal or too-long ABORT string ('%v')", s);
-
- abort_string[n_aborts++] = s1;
-
- if (verbose)
- logf("abort on (%v)", s);
- return;
- }
-
- if (clear_abort_next) {
- char *s1;
- int i;
- int old_max;
- int pack = 0;
-
- clear_abort_next = 0;
-
- s1 = clean(s, 0);
-
- if (strlen(s1) > strlen(s)
- || strlen(s1) + 1 > sizeof(fail_buffer))
- fatal(1, "Illegal or too-long CLR_ABORT string ('%v')", s);
-
- old_max = n_aborts;
- for (i=0; i < n_aborts; i++) {
- if ( strcmp(s1,abort_string[i]) == 0 ) {
- free(abort_string[i]);
- abort_string[i] = NULL;
- pack++;
- n_aborts--;
- if (verbose)
- logf("clear abort on (%v)", s);
- }
- }
- free(s1);
- if (pack)
- pack_array(abort_string,old_max);
- return;
- }
-
- if (report_next) {
- char *s1;
-
- report_next = 0;
- if (n_reports >= MAX_REPORTS)
- fatal(2, "Too many REPORT strings");
-
- s1 = clean(s, 0);
-
- if (strlen(s1) > strlen(s) || strlen(s1) > sizeof fail_buffer - 1)
- fatal(1, "Illegal or too-long REPORT string ('%v')", s);
-
- report_string[n_reports++] = s1;
-
- if (verbose)
- logf("report (%v)", s);
- return;
- }
-
- if (clear_report_next) {
- char *s1;
- int i;
- int old_max;
- int pack = 0;
-
- clear_report_next = 0;
-
- s1 = clean(s, 0);
-
- if (strlen(s1) > strlen(s) || strlen(s1) > sizeof fail_buffer - 1)
- fatal(1, "Illegal or too-long REPORT string ('%v')", s);
-
- old_max = n_reports;
- for (i=0; i < n_reports; i++) {
- if ( strcmp(s1,report_string[i]) == 0 ) {
- free(report_string[i]);
- report_string[i] = NULL;
- pack++;
- n_reports--;
- if (verbose)
- logf("clear report (%v)", s);
- }
- }
- free(s1);
- if (pack)
- pack_array(report_string,old_max);
-
- return;
- }
-
- if (timeout_next) {
- timeout_next = 0;
- timeout = atoi(s);
-
- if (timeout <= 0)
- timeout = DEFAULT_CHAT_TIMEOUT;
-
- if (verbose)
- logf("timeout set to %d seconds", timeout);
-
- return;
- }
-
- /*
- * The syntax @filename means read the string to send from the
- * file `filename'.
- */
- if (s[0] == '@') {
- /* skip the @ and any following white-space */
- char *fn = s;
- while (*++fn == ' ' || *fn == '\t')
- ;
-
- if (*fn != 0) {
- FILE *f;
- int n = 0;
-
- /* open the file and read until STR_LEN-1 bytes or end-of-file */
- f = fopen(fn, "r");
- if (f == NULL)
- fatal(1, "%s -- open failed: %m", fn);
- while (n < STR_LEN - 1) {
- int nr = fread(&file_data[n], 1, STR_LEN - 1 - n, f);
- if (nr < 0)
- fatal(1, "%s -- read error", fn);
- if (nr == 0)
- break;
- n += nr;
- }
- fclose(f);
-
- /* use the string we got as the string to send,
- but trim off the final newline if any. */
- if (n > 0 && file_data[n-1] == '\n')
- --n;
- file_data[n] = 0;
- s = file_data;
- }
- }
-
- if (strcmp(s, "EOT") == 0)
- s = "^D\\c";
- else if (strcmp(s, "BREAK") == 0)
- s = "\\K\\c";
-
- if (!put_string(s))
- fatal(1, "Failed");
-}
-
-int get_char()
-{
- int status;
- char c;
-
- status = read(0, &c, 1);
-
- switch (status) {
- case 1:
- return ((int)c & 0x7F);
-
- default:
- logf("warning: read() on stdin returned %d", status);
-
- case -1:
- if ((status = fcntl(0, F_GETFL, 0)) == -1)
- fatal(2, "Can't get file mode flags on stdin: %m");
-
- if (fcntl(0, F_SETFL, status & ~O_NONBLOCK) == -1)
- fatal(2, "Can't set file mode flags on stdin: %m");
-
- return (-1);
- }
-}
-
-int put_char(c)
-int c;
-{
- int status;
- char ch = c;
-
- usleep(10000); /* inter-character typing delay (?) */
-
- status = write(1, &ch, 1);
-
- switch (status) {
- case 1:
- return (0);
-
- default:
- logf("warning: write() on stdout returned %d", status);
-
- case -1:
- if ((status = fcntl(0, F_GETFL, 0)) == -1)
- fatal(2, "Can't get file mode flags on stdin, %m");
-
- if (fcntl(0, F_SETFL, status & ~O_NONBLOCK) == -1)
- fatal(2, "Can't set file mode flags on stdin: %m");
-
- return (-1);
- }
-}
-
-int write_char (c)
-int c;
-{
- if (alarmed || put_char(c) < 0) {
- alarm(0);
- alarmed = 0;
-
- if (verbose) {
- if (errno == EINTR || errno == EWOULDBLOCK)
- logf(" -- write timed out");
- else
- logf(" -- write failed: %m");
- }
- return (0);
- }
- return (1);
-}
-
-int put_string (s)
-register char *s;
-{
- quiet = 0;
- s = clean(s, 1);
-
- if (verbose) {
- if (quiet)
- logf("send (??????)");
- else
- logf("send (%v)", s);
- }
-
- alarm(timeout); alarmed = 0;
-
- while (*s) {
- register char c = *s++;
-
- if (c != '\\') {
- if (!write_char (c))
- return 0;
- continue;
- }
-
- c = *s++;
- switch (c) {
- case 'd':
- sleep(1);
- break;
-
- case 'K':
- break_sequence();
- break;
-
- case 'p':
- usleep(10000); /* 1/100th of a second (arg is microseconds) */
- break;
-
- default:
- if (!write_char (c))
- return 0;
- break;
- }
- }
-
- alarm(0);
- alarmed = 0;
- return (1);
-}
-
-/*
- * Echo a character to stderr.
- * When called with -1, a '\n' character is generated when
- * the cursor is not at the beginning of a line.
- */
-void echo_stderr(n)
-int n;
-{
- static int need_lf;
- char *s;
-
- switch (n) {
- case '\r': /* ignore '\r' */
- break;
- case -1:
- if (need_lf == 0)
- break;
- /* fall through */
- case '\n':
- write(2, "\n", 1);
- need_lf = 0;
- break;
- default:
- s = character(n);
- write(2, s, strlen(s));
- need_lf = 1;
- break;
- }
-}
-
-/*
- * 'Wait for' this string to appear on this file descriptor.
- */
-int get_string(string)
-register char *string;
-{
- char temp[STR_LEN];
- int c, printed = 0, len, minlen;
- register char *s = temp, *end = s + STR_LEN;
- char *logged = temp;
-
- fail_reason = (char *)0;
- string = clean(string, 0);
- len = strlen(string);
- minlen = (len > sizeof(fail_buffer)? len: sizeof(fail_buffer)) - 1;
-
- if (verbose)
- logf("expect (%v)", string);
-
- if (len > STR_LEN) {
- logf("expect string is too long");
- exit_code = 1;
- return 0;
- }
-
- if (len == 0) {
- if (verbose)
- logf("got it");
- return (1);
- }
-
- alarm(timeout);
- alarmed = 0;
-
- while ( ! alarmed && (c = get_char()) >= 0) {
- int n, abort_len, report_len;
-
- if (echo)
- echo_stderr(c);
- if (verbose && c == '\n') {
- if (s == logged)
- logf(""); /* blank line */
- else
- logf("%0.*v", s - logged, logged);
- logged = s + 1;
- }
-
- *s++ = c;
-
- if (verbose && s >= logged + 80) {
- logf("%0.*v", s - logged, logged);
- logged = s;
- }
-
- if (Verbose) {
- if (c == '\n')
- fputc( '\n', stderr );
- else if (c != '\r')
- fprintf( stderr, "%s", character(c) );
- }
-
- if (!report_gathering) {
- for (n = 0; n < n_reports; ++n) {
- if ((report_string[n] != (char*) NULL) &&
- s - temp >= (report_len = strlen(report_string[n])) &&
- strncmp(s - report_len, report_string[n], report_len) == 0) {
- time_t time_now = time ((time_t*) NULL);
- struct tm* tm_now = localtime (&time_now);
-
- strftime (report_buffer, 20, "%b %d %H:%M:%S ", tm_now);
- strcat (report_buffer, report_string[n]);
-
- report_string[n] = (char *) NULL;
- report_gathering = 1;
- break;
- }
- }
- }
- else {
- if (!iscntrl (c)) {
- int rep_len = strlen (report_buffer);
- report_buffer[rep_len] = c;
- report_buffer[rep_len + 1] = '\0';
- }
- else {
- report_gathering = 0;
- fprintf (report_fp, "chat: %s\n", report_buffer);
- }
- }
-
- if (s - temp >= len &&
- c == string[len - 1] &&
- strncmp(s - len, string, len) == 0) {
- if (verbose) {
- if (s > logged)
- logf("%0.*v", s - logged, logged);
- logf(" -- got it\n");
- }
-
- alarm(0);
- alarmed = 0;
- return (1);
- }
-
- for (n = 0; n < n_aborts; ++n) {
- if (s - temp >= (abort_len = strlen(abort_string[n])) &&
- strncmp(s - abort_len, abort_string[n], abort_len) == 0) {
- if (verbose) {
- if (s > logged)
- logf("%0.*v", s - logged, logged);
- logf(" -- failed");
- }
-
- alarm(0);
- alarmed = 0;
- exit_code = n + 4;
- strcpy(fail_reason = fail_buffer, abort_string[n]);
- return (0);
- }
- }
-
- if (s >= end) {
- if (logged < s - minlen) {
- if (verbose)
- logf("%0.*v", s - logged, logged);
- logged = s;
- }
- s -= minlen;
- memmove(temp, s, minlen);
- logged = temp + (logged - s);
- s = temp + minlen;
- }
-
- if (alarmed && verbose)
- logf("warning: alarm synchronization problem");
- }
-
- alarm(0);
-
- if (verbose && printed) {
- if (alarmed)
- logf(" -- read timed out");
- else
- logf(" -- read failed: %m");
- }
-
- exit_code = 3;
- alarmed = 0;
- return (0);
-}
-
-/*
- * Gross kludge to handle Solaris versions >= 2.6 having usleep.
- */
-#ifdef SOL2
-#include <sys/param.h>
-#if MAXUID > 65536 /* then this is Solaris 2.6 or later */
-#undef NO_USLEEP
-#endif
-#endif /* SOL2 */
-
-#ifdef NO_USLEEP
-#include <sys/types.h>
-#include <sys/time.h>
-
-/*
- usleep -- support routine for 4.2BSD system call emulations
- last edit: 29-Oct-1984 D A Gwyn
- */
-
-extern int select();
-
-int
-usleep( usec ) /* returns 0 if ok, else -1 */
- long usec; /* delay in microseconds */
-{
- static struct { /* `timeval' */
- long tv_sec; /* seconds */
- long tv_usec; /* microsecs */
- } delay; /* _select() timeout */
-
- delay.tv_sec = usec / 1000000L;
- delay.tv_usec = usec % 1000000L;
-
- return select(0, (long *)0, (long *)0, (long *)0, &delay);
-}
-#endif
-
-void
-pack_array (array, end)
- char **array; /* The address of the array of string pointers */
- int end; /* The index of the next free entry before CLR_ */
-{
- int i, j;
-
- for (i = 0; i < end; i++) {
- if (array[i] == NULL) {
- for (j = i+1; j < end; ++j)
- if (array[j] != NULL)
- array[i++] = array[j];
- for (; i < end; ++i)
- array[i] = NULL;
- break;
- }
- }
-}
-
-/*
- * vfmtmsg - format a message into a buffer. Like vsprintf except we
- * also specify the length of the output buffer, and we handle the
- * %m (error message) format.
- * Doesn't do floating-point formats.
- * Returns the number of chars put into buf.
- */
-#define OUTCHAR(c) (buflen > 0? (--buflen, *buf++ = (c)): 0)
-
-int
-vfmtmsg(buf, buflen, fmt, args)
- char *buf;
- int buflen;
- const char *fmt;
- va_list args;
-{
- int c, i, n;
- int width, prec, fillch;
- int base, len, neg, quoted;
- unsigned long val = 0;
- char *str, *buf0;
- const char *f;
- unsigned char *p;
- char num[32];
- static char hexchars[] = "0123456789abcdef";
-
- buf0 = buf;
- --buflen;
- while (buflen > 0) {
- for (f = fmt; *f != '%' && *f != 0; ++f)
- ;
- if (f > fmt) {
- len = f - fmt;
- if (len > buflen)
- len = buflen;
- memcpy(buf, fmt, len);
- buf += len;
- buflen -= len;
- fmt = f;
- }
- if (*fmt == 0)
- break;
- c = *++fmt;
- width = prec = 0;
- fillch = ' ';
- if (c == '0') {
- fillch = '0';
- c = *++fmt;
- }
- if (c == '*') {
- width = va_arg(args, int);
- c = *++fmt;
- } else {
- while (isdigit(c)) {
- width = width * 10 + c - '0';
- c = *++fmt;
- }
- }
- if (c == '.') {
- c = *++fmt;
- if (c == '*') {
- prec = va_arg(args, int);
- c = *++fmt;
- } else {
- while (isdigit(c)) {
- prec = prec * 10 + c - '0';
- c = *++fmt;
- }
- }
- }
- str = 0;
- base = 0;
- neg = 0;
- ++fmt;
- switch (c) {
- case 'd':
- i = va_arg(args, int);
- if (i < 0) {
- neg = 1;
- val = -i;
- } else
- val = i;
- base = 10;
- break;
- case 'o':
- val = va_arg(args, unsigned int);
- base = 8;
- break;
- case 'x':
- val = va_arg(args, unsigned int);
- base = 16;
- break;
- case 'p':
- val = (unsigned long) va_arg(args, void *);
- base = 16;
- neg = 2;
- break;
- case 's':
- str = va_arg(args, char *);
- break;
- case 'c':
- num[0] = va_arg(args, int);
- num[1] = 0;
- str = num;
- break;
- case 'm':
- str = strerror(errno);
- break;
- case 'v': /* "visible" string */
- case 'q': /* quoted string */
- quoted = c == 'q';
- p = va_arg(args, unsigned char *);
- if (fillch == '0' && prec > 0) {
- n = prec;
- } else {
- n = strlen((char *)p);
- if (prec > 0 && prec < n)
- n = prec;
- }
- while (n > 0 && buflen > 0) {
- c = *p++;
- --n;
- if (!quoted && c >= 0x80) {
- OUTCHAR('M');
- OUTCHAR('-');
- c -= 0x80;
- }
- if (quoted && (c == '"' || c == '\\'))
- OUTCHAR('\\');
- if (c < 0x20 || (0x7f <= c && c < 0xa0)) {
- if (quoted) {
- OUTCHAR('\\');
- switch (c) {
- case '\t': OUTCHAR('t'); break;
- case '\n': OUTCHAR('n'); break;
- case '\b': OUTCHAR('b'); break;
- case '\f': OUTCHAR('f'); break;
- default:
- OUTCHAR('x');
- OUTCHAR(hexchars[c >> 4]);
- OUTCHAR(hexchars[c & 0xf]);
- }
- } else {
- if (c == '\t')
- OUTCHAR(c);
- else {
- OUTCHAR('^');
- OUTCHAR(c ^ 0x40);
- }
- }
- } else
- OUTCHAR(c);
- }
- continue;
- default:
- *buf++ = '%';
- if (c != '%')
- --fmt; /* so %z outputs %z etc. */
- --buflen;
- continue;
- }
- if (base != 0) {
- str = num + sizeof(num);
- *--str = 0;
- while (str > num + neg) {
- *--str = hexchars[val % base];
- val = val / base;
- if (--prec <= 0 && val == 0)
- break;
- }
- switch (neg) {
- case 1:
- *--str = '-';
- break;
- case 2:
- *--str = 'x';
- *--str = '0';
- break;
- }
- len = num + sizeof(num) - 1 - str;
- } else {
- len = strlen(str);
- if (prec > 0 && len > prec)
- len = prec;
- }
- if (width > 0) {
- if (width > buflen)
- width = buflen;
- if ((n = width - len) > 0) {
- buflen -= n;
- for (; n > 0; --n)
- *buf++ = fillch;
- }
- }
- if (len > buflen)
- len = buflen;
- memcpy(buf, str, len);
- buf += len;
- buflen -= len;
- }
- *buf = 0;
- return buf - buf0;
-}
diff --git a/mdk-stage1/ppp/common/zlib.c b/mdk-stage1/ppp/common/zlib.c
deleted file mode 100644
index 503076886..000000000
--- a/mdk-stage1/ppp/common/zlib.c
+++ /dev/null
@@ -1,5376 +0,0 @@
-/*
- * This file is derived from various .h and .c files from the zlib-1.0.4
- * distribution by Jean-loup Gailly and Mark Adler, with some additions
- * by Paul Mackerras to aid in implementing Deflate compression and
- * decompression for PPP packets. See zlib.h for conditions of
- * distribution and use.
- *
- * Changes that have been made include:
- * - added Z_PACKET_FLUSH (see zlib.h for details)
- * - added inflateIncomp and deflateOutputPending
- * - allow strm->next_out to be NULL, meaning discard the output
- *
- * $Id$
- */
-
-/*
- * ==FILEVERSION 971210==
- *
- * This marker is used by the Linux installation script to determine
- * whether an up-to-date version of this file is already installed.
- */
-
-#define NO_DUMMY_DECL
-#define NO_ZCFUNCS
-#define MY_ZCALLOC
-
-#if defined(__FreeBSD__) && (defined(KERNEL) || defined(_KERNEL))
-#define inflate inflate_ppp /* FreeBSD already has an inflate :-( */
-#endif
-
-
-/* +++ zutil.h */
-/* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995-1996 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* From: zutil.h,v 1.16 1996/07/24 13:41:13 me Exp $ */
-
-#ifndef _Z_UTIL_H
-#define _Z_UTIL_H
-
-#include "zlib.h"
-
-#if defined(KERNEL) || defined(_KERNEL)
-/* Assume this is a *BSD or SVR4 kernel */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/systm.h>
-#undef u
-# define HAVE_MEMCPY
-# define memcpy(d, s, n) bcopy((s), (d), (n))
-# define memset(d, v, n) bzero((d), (n))
-# define memcmp bcmp
-
-#else
-#if defined(__KERNEL__)
-/* Assume this is a Linux kernel */
-#include <linux/string.h>
-#define HAVE_MEMCPY
-
-#else /* not kernel */
-
-#if defined(MSDOS)||defined(VMS)||defined(CRAY)||defined(WIN32)||defined(RISCOS)
-# include <stddef.h>
-# include <errno.h>
-#else
- extern int errno;
-#endif
-#ifdef STDC
-# include <string.h>
-# include <stdlib.h>
-#endif
-#endif /* __KERNEL__ */
-#endif /* _KERNEL || KERNEL */
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-typedef unsigned char uch;
-typedef uch FAR uchf;
-typedef unsigned short ush;
-typedef ush FAR ushf;
-typedef unsigned long ulg;
-
-extern const char *z_errmsg[10]; /* indexed by 2-zlib_error */
-/* (size given to avoid silly warnings with Visual C++) */
-
-#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
-
-#define ERR_RETURN(strm,err) \
- return (strm->msg = (char*)ERR_MSG(err), (err))
-/* To be used only when the state is known to be valid */
-
- /* common constants */
-
-#ifndef DEF_WBITS
-# define DEF_WBITS MAX_WBITS
-#endif
-/* default windowBits for decompression. MAX_WBITS is for compression only */
-
-#if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-#else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-#endif
-/* default memLevel */
-
-#define STORED_BLOCK 0
-#define STATIC_TREES 1
-#define DYN_TREES 2
-/* The three kinds of block type */
-
-#define MIN_MATCH 3
-#define MAX_MATCH 258
-/* The minimum and maximum match lengths */
-
-#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
-
- /* target dependencies */
-
-#ifdef MSDOS
-# define OS_CODE 0x00
-# ifdef __TURBOC__
-# include <alloc.h>
-# else /* MSC or DJGPP */
-# include <malloc.h>
-# endif
-#endif
-
-#ifdef OS2
-# define OS_CODE 0x06
-#endif
-
-#ifdef WIN32 /* Window 95 & Windows NT */
-# define OS_CODE 0x0b
-#endif
-
-#if defined(VAXC) || defined(VMS)
-# define OS_CODE 0x02
-# define FOPEN(name, mode) \
- fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
-#endif
-
-#ifdef AMIGA
-# define OS_CODE 0x01
-#endif
-
-#if defined(ATARI) || defined(atarist)
-# define OS_CODE 0x05
-#endif
-
-#ifdef MACOS
-# define OS_CODE 0x07
-#endif
-
-#ifdef __50SERIES /* Prime/PRIMOS */
-# define OS_CODE 0x0F
-#endif
-
-#ifdef TOPS20
-# define OS_CODE 0x0a
-#endif
-
-#if defined(_BEOS_) || defined(RISCOS)
-# define fdopen(fd,mode) NULL /* No fdopen() */
-#endif
-
- /* Common defaults */
-
-#ifndef OS_CODE
-# define OS_CODE 0x03 /* assume Unix */
-#endif
-
-#ifndef FOPEN
-# define FOPEN(name, mode) fopen((name), (mode))
-#endif
-
- /* functions */
-
-#ifdef HAVE_STRERROR
- extern char *strerror OF((int));
-# define zstrerror(errnum) strerror(errnum)
-#else
-# define zstrerror(errnum) ""
-#endif
-
-#if defined(pyr)
-# define NO_MEMCPY
-#endif
-#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(_MSC_VER)
- /* Use our own functions for small and medium model with MSC <= 5.0.
- * You may have to use the same strategy for Borland C (untested).
- */
-# define NO_MEMCPY
-#endif
-#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
-# define HAVE_MEMCPY
-#endif
-#ifdef HAVE_MEMCPY
-# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
-# define zmemcpy _fmemcpy
-# define zmemcmp _fmemcmp
-# define zmemzero(dest, len) _fmemset(dest, 0, len)
-# else
-# define zmemcpy memcpy
-# define zmemcmp memcmp
-# define zmemzero(dest, len) memset(dest, 0, len)
-# endif
-#else
- extern void zmemcpy OF((Bytef* dest, Bytef* source, uInt len));
- extern int zmemcmp OF((Bytef* s1, Bytef* s2, uInt len));
- extern void zmemzero OF((Bytef* dest, uInt len));
-#endif
-
-/* Diagnostic functions */
-#ifdef DEBUG_ZLIB
-# include <stdio.h>
-# ifndef verbose
-# define verbose 0
-# endif
- extern void z_error OF((char *m));
-# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
-# define Trace(x) fprintf x
-# define Tracev(x) {if (verbose) fprintf x ;}
-# define Tracevv(x) {if (verbose>1) fprintf x ;}
-# define Tracec(c,x) {if (verbose && (c)) fprintf x ;}
-# define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}
-#else
-# define Assert(cond,msg)
-# define Trace(x)
-# define Tracev(x)
-# define Tracevv(x)
-# define Tracec(c,x)
-# define Tracecv(c,x)
-#endif
-
-
-typedef uLong (*check_func) OF((uLong check, const Bytef *buf, uInt len));
-
-voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
-void zcfree OF((voidpf opaque, voidpf ptr));
-
-#define ZALLOC(strm, items, size) \
- (*((strm)->zalloc))((strm)->opaque, (items), (size))
-#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
-#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
-
-#endif /* _Z_UTIL_H */
-/* --- zutil.h */
-
-/* +++ deflate.h */
-/* deflate.h -- internal compression state
- * Copyright (C) 1995-1996 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* From: deflate.h,v 1.10 1996/07/02 12:41:00 me Exp $ */
-
-#ifndef _DEFLATE_H
-#define _DEFLATE_H
-
-/* #include "zutil.h" */
-
-/* ===========================================================================
- * Internal compression state.
- */
-
-#define LENGTH_CODES 29
-/* number of length codes, not counting the special END_BLOCK code */
-
-#define LITERALS 256
-/* number of literal bytes 0..255 */
-
-#define L_CODES (LITERALS+1+LENGTH_CODES)
-/* number of Literal or Length codes, including the END_BLOCK code */
-
-#define D_CODES 30
-/* number of distance codes */
-
-#define BL_CODES 19
-/* number of codes used to transfer the bit lengths */
-
-#define HEAP_SIZE (2*L_CODES+1)
-/* maximum heap size */
-
-#define MAX_BITS 15
-/* All codes must not exceed MAX_BITS bits */
-
-#define INIT_STATE 42
-#define BUSY_STATE 113
-#define FINISH_STATE 666
-/* Stream status */
-
-
-/* Data structure describing a single value and its code string. */
-typedef struct ct_data_s {
- union {
- ush freq; /* frequency count */
- ush code; /* bit string */
- } fc;
- union {
- ush dad; /* father node in Huffman tree */
- ush len; /* length of bit string */
- } dl;
-} FAR ct_data;
-
-#define Freq fc.freq
-#define Code fc.code
-#define Dad dl.dad
-#define Len dl.len
-
-typedef struct static_tree_desc_s static_tree_desc;
-
-typedef struct tree_desc_s {
- ct_data *dyn_tree; /* the dynamic tree */
- int max_code; /* largest code with non zero frequency */
- static_tree_desc *stat_desc; /* the corresponding static tree */
-} FAR tree_desc;
-
-typedef ush Pos;
-typedef Pos FAR Posf;
-typedef unsigned IPos;
-
-/* A Pos is an index in the character window. We use short instead of int to
- * save space in the various tables. IPos is used only for parameter passing.
- */
-
-typedef struct deflate_state {
- z_streamp strm; /* pointer back to this zlib stream */
- int status; /* as the name implies */
- Bytef *pending_buf; /* output still pending */
- ulg pending_buf_size; /* size of pending_buf */
- Bytef *pending_out; /* next pending byte to output to the stream */
- int pending; /* nb of bytes in the pending buffer */
- int noheader; /* suppress zlib header and adler32 */
- Byte data_type; /* UNKNOWN, BINARY or ASCII */
- Byte method; /* STORED (for zip only) or DEFLATED */
- int last_flush; /* value of flush param for previous deflate call */
-
- /* used by deflate.c: */
-
- uInt w_size; /* LZ77 window size (32K by default) */
- uInt w_bits; /* log2(w_size) (8..16) */
- uInt w_mask; /* w_size - 1 */
-
- Bytef *window;
- /* Sliding window. Input bytes are read into the second half of the window,
- * and move to the first half later to keep a dictionary of at least wSize
- * bytes. With this organization, matches are limited to a distance of
- * wSize-MAX_MATCH bytes, but this ensures that IO is always
- * performed with a length multiple of the block size. Also, it limits
- * the window size to 64K, which is quite useful on MSDOS.
- * To do: use the user input buffer as sliding window.
- */
-
- ulg window_size;
- /* Actual size of window: 2*wSize, except when the user input buffer
- * is directly used as sliding window.
- */
-
- Posf *prev;
- /* Link to older string with same hash index. To limit the size of this
- * array to 64K, this link is maintained only for the last 32K strings.
- * An index in this array is thus a window index modulo 32K.
- */
-
- Posf *head; /* Heads of the hash chains or NIL. */
-
- uInt ins_h; /* hash index of string to be inserted */
- uInt hash_size; /* number of elements in hash table */
- uInt hash_bits; /* log2(hash_size) */
- uInt hash_mask; /* hash_size-1 */
-
- uInt hash_shift;
- /* Number of bits by which ins_h must be shifted at each input
- * step. It must be such that after MIN_MATCH steps, the oldest
- * byte no longer takes part in the hash key, that is:
- * hash_shift * MIN_MATCH >= hash_bits
- */
-
- long block_start;
- /* Window position at the beginning of the current output block. Gets
- * negative when the window is moved backwards.
- */
-
- uInt match_length; /* length of best match */
- IPos prev_match; /* previous match */
- int match_available; /* set if previous match exists */
- uInt strstart; /* start of string to insert */
- uInt match_start; /* start of matching string */
- uInt lookahead; /* number of valid bytes ahead in window */
-
- uInt prev_length;
- /* Length of the best match at previous step. Matches not greater than this
- * are discarded. This is used in the lazy match evaluation.
- */
-
- uInt max_chain_length;
- /* To speed up deflation, hash chains are never searched beyond this
- * length. A higher limit improves compression ratio but degrades the
- * speed.
- */
-
- uInt max_lazy_match;
- /* Attempt to find a better match only when the current match is strictly
- * smaller than this value. This mechanism is used only for compression
- * levels >= 4.
- */
-# define max_insert_length max_lazy_match
- /* Insert new strings in the hash table only if the match length is not
- * greater than this length. This saves time but degrades compression.
- * max_insert_length is used only for compression levels <= 3.
- */
-
- int level; /* compression level (1..9) */
- int strategy; /* favor or force Huffman coding*/
-
- uInt good_match;
- /* Use a faster search when the previous match is longer than this */
-
- int nice_match; /* Stop searching when current match exceeds this */
-
- /* used by trees.c: */
- /* Didn't use ct_data typedef below to supress compiler warning */
- struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
- struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
- struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
-
- struct tree_desc_s l_desc; /* desc. for literal tree */
- struct tree_desc_s d_desc; /* desc. for distance tree */
- struct tree_desc_s bl_desc; /* desc. for bit length tree */
-
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
- int heap_len; /* number of elements in the heap */
- int heap_max; /* element of largest frequency */
- /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
- * The same heap array is used to build all trees.
- */
-
- uch depth[2*L_CODES+1];
- /* Depth of each subtree used as tie breaker for trees of equal frequency
- */
-
- uchf *l_buf; /* buffer for literals or lengths */
-
- uInt lit_bufsize;
- /* Size of match buffer for literals/lengths. There are 4 reasons for
- * limiting lit_bufsize to 64K:
- * - frequencies can be kept in 16 bit counters
- * - if compression is not successful for the first block, all input
- * data is still in the window so we can still emit a stored block even
- * when input comes from standard input. (This can also be done for
- * all blocks if lit_bufsize is not greater than 32K.)
- * - if compression is not successful for a file smaller than 64K, we can
- * even emit a stored file instead of a stored block (saving 5 bytes).
- * This is applicable only for zip (not gzip or zlib).
- * - creating new Huffman trees less frequently may not provide fast
- * adaptation to changes in the input data statistics. (Take for
- * example a binary file with poorly compressible code followed by
- * a highly compressible string table.) Smaller buffer sizes give
- * fast adaptation but have of course the overhead of transmitting
- * trees more frequently.
- * - I can't count above 4
- */
-
- uInt last_lit; /* running index in l_buf */
-
- ushf *d_buf;
- /* Buffer for distances. To simplify the code, d_buf and l_buf have
- * the same number of elements. To use different lengths, an extra flag
- * array would be necessary.
- */
-
- ulg opt_len; /* bit length of current block with optimal trees */
- ulg static_len; /* bit length of current block with static trees */
- ulg compressed_len; /* total bit length of compressed file */
- uInt matches; /* number of string matches in current block */
- int last_eob_len; /* bit length of EOB code for last block */
-
-#ifdef DEBUG_ZLIB
- ulg bits_sent; /* bit length of the compressed data */
-#endif
-
- ush bi_buf;
- /* Output buffer. bits are inserted starting at the bottom (least
- * significant bits).
- */
- int bi_valid;
- /* Number of valid bits in bi_buf. All bits above the last valid bit
- * are always zero.
- */
-
-} FAR deflate_state;
-
-/* Output a byte on the stream.
- * IN assertion: there is enough room in pending_buf.
- */
-#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
-
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
-/* In order to simplify the code, particularly on 16 bit machines, match
- * distances are limited to MAX_DIST instead of WSIZE.
- */
-
- /* in trees.c */
-void _tr_init OF((deflate_state *s));
-int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
-ulg _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-void _tr_align OF((deflate_state *s));
-void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-void _tr_stored_type_only OF((deflate_state *));
-
-#endif
-/* --- deflate.h */
-
-/* +++ deflate.c */
-/* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995-1996 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process depends on being able to identify portions
- * of the input text which are identical to earlier input (within a
- * sliding window trailing behind the input currently being processed).
- *
- * The most straightforward technique turns out to be the fastest for
- * most input files: try all possible matches and select the longest.
- * The key feature of this algorithm is that insertions into the string
- * dictionary are very simple and thus fast, and deletions are avoided
- * completely. Insertions are performed at each input character, whereas
- * string matches are performed only when the previous match ends. So it
- * is preferable to spend more time in matches to allow very fast string
- * insertions and avoid deletions. The matching algorithm for small
- * strings is inspired from that of Rabin & Karp. A brute force approach
- * is used to find longer strings when a small match has been found.
- * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
- * (by Leonid Broukhis).
- * A previous version of this file used a more sophisticated algorithm
- * (by Fiala and Greene) which is guaranteed to run in linear amortized
- * time, but has a larger average cost, uses more memory and is patented.
- * However the F&G algorithm may be faster for some highly redundant
- * files if the parameter max_chain_length (described below) is too large.
- *
- * ACKNOWLEDGEMENTS
- *
- * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
- * I found it in 'freeze' written by Leonid Broukhis.
- * Thanks to many people for bug reports and testing.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification".
- * Available in ftp://ds.internic.net/rfc/rfc1951.txt
- *
- * A description of the Rabin and Karp algorithm is given in the book
- * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
- *
- * Fiala,E.R., and Greene,D.H.
- * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
- *
- */
-
-/* From: deflate.c,v 1.15 1996/07/24 13:40:58 me Exp $ */
-
-/* #include "deflate.h" */
-
-char deflate_copyright[] = " deflate 1.0.4 Copyright 1995-1996 Jean-loup Gailly ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-/* ===========================================================================
- * Function prototypes.
- */
-typedef enum {
- need_more, /* block not completed, need more input or more output */
- block_done, /* block flush performed */
- finish_started, /* finish started, need only more output at next deflate */
- finish_done /* finish done, accept no more input or output */
-} block_state;
-
-typedef block_state (*compress_func) OF((deflate_state *s, int flush));
-/* Compression function. Returns the block state after the call. */
-
-local void fill_window OF((deflate_state *s));
-local block_state deflate_stored OF((deflate_state *s, int flush));
-local block_state deflate_fast OF((deflate_state *s, int flush));
-local block_state deflate_slow OF((deflate_state *s, int flush));
-local void lm_init OF((deflate_state *s));
-local void putShortMSB OF((deflate_state *s, uInt b));
-local void flush_pending OF((z_streamp strm));
-local int read_buf OF((z_streamp strm, charf *buf, unsigned size));
-#ifdef ASMV
- void match_init OF((void)); /* asm code initialization */
- uInt longest_match OF((deflate_state *s, IPos cur_match));
-#else
-local uInt longest_match OF((deflate_state *s, IPos cur_match));
-#endif
-
-#ifdef DEBUG_ZLIB
-local void check_match OF((deflate_state *s, IPos start, IPos match,
- int length));
-#endif
-
-/* ===========================================================================
- * Local data
- */
-
-#define NIL 0
-/* Tail of hash chains */
-
-#ifndef TOO_FAR
-# define TOO_FAR 4096
-#endif
-/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-/* Values for max_lazy_match, good_match and max_chain_length, depending on
- * the desired pack level (0..9). The values given below have been tuned to
- * exclude worst case performance for pathological files. Better values may be
- * found for specific files.
- */
-typedef struct config_s {
- ush good_length; /* reduce lazy search above this match length */
- ush max_lazy; /* do not perform lazy search above this match length */
- ush nice_length; /* quit search above this match length */
- ush max_chain;
- compress_func func;
-} config;
-
-local config configuration_table[10] = {
-/* good lazy nice chain */
-/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */
-/* 1 */ {4, 4, 8, 4, deflate_fast}, /* maximum speed, no lazy matches */
-/* 2 */ {4, 5, 16, 8, deflate_fast},
-/* 3 */ {4, 6, 32, 32, deflate_fast},
-
-/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */
-/* 5 */ {8, 16, 32, 32, deflate_slow},
-/* 6 */ {8, 16, 128, 128, deflate_slow},
-/* 7 */ {8, 32, 128, 256, deflate_slow},
-/* 8 */ {32, 128, 258, 1024, deflate_slow},
-/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* maximum compression */
-
-/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
- * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
- * meaning.
- */
-
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-#ifndef NO_DUMMY_DECL
-struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
-#endif
-
-/* ===========================================================================
- * Update a hash value with the given input byte
- * IN assertion: all calls to to UPDATE_HASH are made with consecutive
- * input characters, so that a running hash key can be computed from the
- * previous key instead of complete recalculation each time.
- */
-#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
-
-
-/* ===========================================================================
- * Insert string str in the dictionary and set match_head to the previous head
- * of the hash chain (the most recent string with same hash key). Return
- * the previous length of the hash chain.
- * IN assertion: all calls to to INSERT_STRING are made with consecutive
- * input characters and the first MIN_MATCH bytes of str are valid
- * (except for the last MIN_MATCH-1 bytes of the input file).
- */
-#define INSERT_STRING(s, str, match_head) \
- (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
- s->prev[(str) & s->w_mask] = match_head = s->head[s->ins_h], \
- s->head[s->ins_h] = (Pos)(str))
-
-/* ===========================================================================
- * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
- * prev[] will be initialized on the fly.
- */
-#define CLEAR_HASH(s) \
- s->head[s->hash_size-1] = NIL; \
- zmemzero((charf *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
-
-/* ========================================================================= */
-int deflateInit_(strm, level, version, stream_size)
- z_streamp strm;
- int level;
- const char *version;
- int stream_size;
-{
- return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
- Z_DEFAULT_STRATEGY, version, stream_size);
- /* To do: ignore strm->next_in if we use it as window */
-}
-
-/* ========================================================================= */
-int deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
- version, stream_size)
- z_streamp strm;
- int level;
- int method;
- int windowBits;
- int memLevel;
- int strategy;
- const char *version;
- int stream_size;
-{
- deflate_state *s;
- int noheader = 0;
- static char* my_version = ZLIB_VERSION;
-
- ushf *overlay;
- /* We overlay pending_buf and d_buf+l_buf. This works since the average
- * output size for (length,distance) codes is <= 24 bits.
- */
-
- if (version == Z_NULL || version[0] != my_version[0] ||
- stream_size != sizeof(z_stream)) {
- return Z_VERSION_ERROR;
- }
- if (strm == Z_NULL) return Z_STREAM_ERROR;
-
- strm->msg = Z_NULL;
-#ifndef NO_ZCFUNCS
- if (strm->zalloc == Z_NULL) {
- strm->zalloc = zcalloc;
- strm->opaque = (voidpf)0;
- }
- if (strm->zfree == Z_NULL) strm->zfree = zcfree;
-#endif
-
- if (level == Z_DEFAULT_COMPRESSION) level = 6;
-
- if (windowBits < 0) { /* undocumented feature: suppress zlib header */
- noheader = 1;
- windowBits = -windowBits;
- }
- if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
- windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
- strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
- return Z_STREAM_ERROR;
- }
- s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
- if (s == Z_NULL) return Z_MEM_ERROR;
- strm->state = (struct internal_state FAR *)s;
- s->strm = strm;
-
- s->noheader = noheader;
- s->w_bits = windowBits;
- s->w_size = 1 << s->w_bits;
- s->w_mask = s->w_size - 1;
-
- s->hash_bits = memLevel + 7;
- s->hash_size = 1 << s->hash_bits;
- s->hash_mask = s->hash_size - 1;
- s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
-
- s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
- s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
- s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
-
- s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
-
- overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
- s->pending_buf = (uchf *) overlay;
- s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L);
-
- if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
- s->pending_buf == Z_NULL) {
- strm->msg = (char*)ERR_MSG(Z_MEM_ERROR);
- deflateEnd (strm);
- return Z_MEM_ERROR;
- }
- s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
- s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
-
- s->level = level;
- s->strategy = strategy;
- s->method = (Byte)method;
-
- return deflateReset(strm);
-}
-
-/* ========================================================================= */
-int deflateSetDictionary (strm, dictionary, dictLength)
- z_streamp strm;
- const Bytef *dictionary;
- uInt dictLength;
-{
- deflate_state *s;
- uInt length = dictLength;
- uInt n;
- IPos hash_head = 0;
-
- if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL)
- return Z_STREAM_ERROR;
-
- s = (deflate_state *) strm->state;
- if (s->status != INIT_STATE) return Z_STREAM_ERROR;
-
- strm->adler = adler32(strm->adler, dictionary, dictLength);
-
- if (length < MIN_MATCH) return Z_OK;
- if (length > MAX_DIST(s)) {
- length = MAX_DIST(s);
-#ifndef USE_DICT_HEAD
- dictionary += dictLength - length; /* use the tail of the dictionary */
-#endif
- }
- zmemcpy((charf *)s->window, dictionary, length);
- s->strstart = length;
- s->block_start = (long)length;
-
- /* Insert all strings in the hash table (except for the last two bytes).
- * s->lookahead stays null, so s->ins_h will be recomputed at the next
- * call of fill_window.
- */
- s->ins_h = s->window[0];
- UPDATE_HASH(s, s->ins_h, s->window[1]);
- for (n = 0; n <= length - MIN_MATCH; n++) {
- INSERT_STRING(s, n, hash_head);
- }
- if (hash_head) hash_head = 0; /* to make compiler happy */
- return Z_OK;
-}
-
-/* ========================================================================= */
-int deflateReset (strm)
- z_streamp strm;
-{
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- strm->zalloc == Z_NULL || strm->zfree == Z_NULL) return Z_STREAM_ERROR;
-
- strm->total_in = strm->total_out = 0;
- strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
- strm->data_type = Z_UNKNOWN;
-
- s = (deflate_state *)strm->state;
- s->pending = 0;
- s->pending_out = s->pending_buf;
-
- if (s->noheader < 0) {
- s->noheader = 0; /* was set to -1 by deflate(..., Z_FINISH); */
- }
- s->status = s->noheader ? BUSY_STATE : INIT_STATE;
- strm->adler = 1;
- s->last_flush = Z_NO_FLUSH;
-
- _tr_init(s);
- lm_init(s);
-
- return Z_OK;
-}
-
-/* ========================================================================= */
-int deflateParams(strm, level, strategy)
- z_streamp strm;
- int level;
- int strategy;
-{
- deflate_state *s;
- compress_func func;
- int err = Z_OK;
-
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
- s = (deflate_state *) strm->state;
-
- if (level == Z_DEFAULT_COMPRESSION) {
- level = 6;
- }
- if (level < 0 || level > 9 || strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
- return Z_STREAM_ERROR;
- }
- func = configuration_table[s->level].func;
-
- if (func != configuration_table[level].func && strm->total_in != 0) {
- /* Flush the last buffer: */
- err = deflate(strm, Z_PARTIAL_FLUSH);
- }
- if (s->level != level) {
- s->level = level;
- s->max_lazy_match = configuration_table[level].max_lazy;
- s->good_match = configuration_table[level].good_length;
- s->nice_match = configuration_table[level].nice_length;
- s->max_chain_length = configuration_table[level].max_chain;
- }
- s->strategy = strategy;
- return err;
-}
-
-/* =========================================================================
- * Put a short in the pending buffer. The 16-bit value is put in MSB order.
- * IN assertion: the stream state is correct and there is enough room in
- * pending_buf.
- */
-local void putShortMSB (s, b)
- deflate_state *s;
- uInt b;
-{
- put_byte(s, (Byte)(b >> 8));
- put_byte(s, (Byte)(b & 0xff));
-}
-
-/* =========================================================================
- * Flush as much pending output as possible. All deflate() output goes
- * through this function so some applications may wish to modify it
- * to avoid allocating a large strm->next_out buffer and copying into it.
- * (See also read_buf()).
- */
-local void flush_pending(strm)
- z_streamp strm;
-{
- deflate_state *s = (deflate_state *) strm->state;
- unsigned len = s->pending;
-
- if (len > strm->avail_out) len = strm->avail_out;
- if (len == 0) return;
-
- if (strm->next_out != Z_NULL) {
- zmemcpy(strm->next_out, s->pending_out, len);
- strm->next_out += len;
- }
- s->pending_out += len;
- strm->total_out += len;
- strm->avail_out -= len;
- s->pending -= len;
- if (s->pending == 0) {
- s->pending_out = s->pending_buf;
- }
-}
-
-/* ========================================================================= */
-int deflate (strm, flush)
- z_streamp strm;
- int flush;
-{
- int old_flush; /* value of flush param for previous deflate call */
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- flush > Z_FINISH || flush < 0) {
- return Z_STREAM_ERROR;
- }
- s = (deflate_state *) strm->state;
-
- if ((strm->next_in == Z_NULL && strm->avail_in != 0) ||
- (s->status == FINISH_STATE && flush != Z_FINISH)) {
- ERR_RETURN(strm, Z_STREAM_ERROR);
- }
- if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
-
- s->strm = strm; /* just in case */
- old_flush = s->last_flush;
- s->last_flush = flush;
-
- /* Write the zlib header */
- if (s->status == INIT_STATE) {
-
- uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
- uInt level_flags = (s->level-1) >> 1;
-
- if (level_flags > 3) level_flags = 3;
- header |= (level_flags << 6);
- if (s->strstart != 0) header |= PRESET_DICT;
- header += 31 - (header % 31);
-
- s->status = BUSY_STATE;
- putShortMSB(s, header);
-
- /* Save the adler32 of the preset dictionary: */
- if (s->strstart != 0) {
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
- }
- strm->adler = 1L;
- }
-
- /* Flush as much pending output as possible */
- if (s->pending != 0) {
- flush_pending(strm);
- if (strm->avail_out == 0) {
- /* Since avail_out is 0, deflate will be called again with
- * more output space, but possibly with both pending and
- * avail_in equal to zero. There won't be anything to do,
- * but this is not an error situation so make sure we
- * return OK instead of BUF_ERROR at next call of deflate:
- */
- s->last_flush = -1;
- return Z_OK;
- }
-
- /* Make sure there is something to do and avoid duplicate consecutive
- * flushes. For repeated and useless calls with Z_FINISH, we keep
- * returning Z_STREAM_END instead of Z_BUFF_ERROR.
- */
- } else if (strm->avail_in == 0 && flush <= old_flush &&
- flush != Z_FINISH) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* User must not provide more input after the first FINISH: */
- if (s->status == FINISH_STATE && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* Start a new block or continue the current one.
- */
- if (strm->avail_in != 0 || s->lookahead != 0 ||
- (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
- block_state bstate;
-
- bstate = (*(configuration_table[s->level].func))(s, flush);
-
- if (bstate == finish_started || bstate == finish_done) {
- s->status = FINISH_STATE;
- }
- if (bstate == need_more || bstate == finish_started) {
- if (strm->avail_out == 0) {
- s->last_flush = -1; /* avoid BUF_ERROR next call, see above */
- }
- return Z_OK;
- /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
- * of deflate should use the same flush parameter to make sure
- * that the flush is complete. So we don't have to output an
- * empty block here, this will be done at next call. This also
- * ensures that for a very small output buffer, we emit at most
- * one empty block.
- */
- }
- if (bstate == block_done) {
- if (flush == Z_PARTIAL_FLUSH) {
- _tr_align(s);
- } else if (flush == Z_PACKET_FLUSH) {
- /* Output just the 3-bit `stored' block type value,
- but not a zero length. */
- _tr_stored_type_only(s);
- } else { /* FULL_FLUSH or SYNC_FLUSH */
- _tr_stored_block(s, (char*)0, 0L, 0);
- /* For a full flush, this empty block will be recognized
- * as a special marker by inflate_sync().
- */
- if (flush == Z_FULL_FLUSH) {
- CLEAR_HASH(s); /* forget history */
- }
- }
- flush_pending(strm);
- if (strm->avail_out == 0) {
- s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */
- return Z_OK;
- }
- }
- }
- Assert(strm->avail_out > 0, "bug2");
-
- if (flush != Z_FINISH) return Z_OK;
- if (s->noheader) return Z_STREAM_END;
-
- /* Write the zlib trailer (adler32) */
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
- flush_pending(strm);
- /* If avail_out is zero, the application will call deflate again
- * to flush the rest.
- */
- s->noheader = -1; /* write the trailer only once! */
- return s->pending != 0 ? Z_OK : Z_STREAM_END;
-}
-
-/* ========================================================================= */
-int deflateEnd (strm)
- z_streamp strm;
-{
- int status;
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
- s = (deflate_state *) strm->state;
-
- status = s->status;
- if (status != INIT_STATE && status != BUSY_STATE &&
- status != FINISH_STATE) {
- return Z_STREAM_ERROR;
- }
-
- /* Deallocate in reverse order of allocations: */
- TRY_FREE(strm, s->pending_buf);
- TRY_FREE(strm, s->head);
- TRY_FREE(strm, s->prev);
- TRY_FREE(strm, s->window);
-
- ZFREE(strm, s);
- strm->state = Z_NULL;
-
- return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK;
-}
-
-/* =========================================================================
- * Copy the source state to the destination state.
- */
-int deflateCopy (dest, source)
- z_streamp dest;
- z_streamp source;
-{
- deflate_state *ds;
- deflate_state *ss;
- ushf *overlay;
-
- if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL)
- return Z_STREAM_ERROR;
- ss = (deflate_state *) source->state;
-
- zmemcpy(dest, source, sizeof(*dest));
-
- ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
- if (ds == Z_NULL) return Z_MEM_ERROR;
- dest->state = (struct internal_state FAR *) ds;
- zmemcpy(ds, ss, sizeof(*ds));
- ds->strm = dest;
-
- ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
- ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos));
- ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos));
- overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
- ds->pending_buf = (uchf *) overlay;
-
- if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
- ds->pending_buf == Z_NULL) {
- deflateEnd (dest);
- return Z_MEM_ERROR;
- }
- /* ??? following zmemcpy doesn't work for 16-bit MSDOS */
- zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
- zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos));
- zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos));
- zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
-
- ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
- ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
- ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;
-
- ds->l_desc.dyn_tree = ds->dyn_ltree;
- ds->d_desc.dyn_tree = ds->dyn_dtree;
- ds->bl_desc.dyn_tree = ds->bl_tree;
-
- return Z_OK;
-}
-
-/* ===========================================================================
- * Return the number of bytes of output which are immediately available
- * for output from the decompressor.
- */
-int deflateOutputPending (strm)
- z_streamp strm;
-{
- if (strm == Z_NULL || strm->state == Z_NULL) return 0;
-
- return ((deflate_state *)(strm->state))->pending;
-}
-
-/* ===========================================================================
- * Read a new buffer from the current input stream, update the adler32
- * and total number of bytes read. All deflate() input goes through
- * this function so some applications may wish to modify it to avoid
- * allocating a large strm->next_in buffer and copying from it.
- * (See also flush_pending()).
- */
-local int read_buf(strm, buf, size)
- z_streamp strm;
- charf *buf;
- unsigned size;
-{
- unsigned len = strm->avail_in;
-
- if (len > size) len = size;
- if (len == 0) return 0;
-
- strm->avail_in -= len;
-
- if (!((deflate_state *)(strm->state))->noheader) {
- strm->adler = adler32(strm->adler, strm->next_in, len);
- }
- zmemcpy(buf, strm->next_in, len);
- strm->next_in += len;
- strm->total_in += len;
-
- return (int)len;
-}
-
-/* ===========================================================================
- * Initialize the "longest match" routines for a new zlib stream
- */
-local void lm_init (s)
- deflate_state *s;
-{
- s->window_size = (ulg)2L*s->w_size;
-
- CLEAR_HASH(s);
-
- /* Set the default configuration parameters:
- */
- s->max_lazy_match = configuration_table[s->level].max_lazy;
- s->good_match = configuration_table[s->level].good_length;
- s->nice_match = configuration_table[s->level].nice_length;
- s->max_chain_length = configuration_table[s->level].max_chain;
-
- s->strstart = 0;
- s->block_start = 0L;
- s->lookahead = 0;
- s->match_length = s->prev_length = MIN_MATCH-1;
- s->match_available = 0;
- s->ins_h = 0;
-#ifdef ASMV
- match_init(); /* initialize the asm code */
-#endif
-}
-
-/* ===========================================================================
- * Set match_start to the longest match starting at the given string and
- * return its length. Matches shorter or equal to prev_length are discarded,
- * in which case the result is equal to prev_length and match_start is
- * garbage.
- * IN assertions: cur_match is the head of the hash chain for the current
- * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
- * OUT assertion: the match length is not greater than s->lookahead.
- */
-#ifndef ASMV
-/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
- * match.S. The code will be functionally equivalent.
- */
-local uInt longest_match(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- unsigned chain_length = s->max_chain_length;/* max hash chain length */
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
- int nice_match = s->nice_match; /* stop if match long enough */
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
- s->strstart - (IPos)MAX_DIST(s) : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- Posf *prev = s->prev;
- uInt wmask = s->w_mask;
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
- register ush scan_start = *(ushf*)scan;
- register ush scan_end = *(ushf*)(scan+best_len-1);
-#else
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
- register Byte scan_end1 = scan[best_len-1];
- register Byte scan_end = scan[best_len];
-#endif
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- /* Do not waste too much time if we already have a good match: */
- if (s->prev_length >= s->good_match) {
- chain_length >>= 2;
- }
- /* Do not look for matches beyond the end of the input. This is necessary
- * to make deflate deterministic.
- */
- if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- do {
- Assert(cur_match < s->strstart, "no future");
- match = s->window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ushf*)(match+best_len-1) != scan_end ||
- *(ushf*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- Assert(scan[2] == match[2], "scan[2]?");
- scan++, match++;
- do {
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- s->match_start = cur_match;
- best_len = len;
- if (len >= nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ushf*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & wmask]) > limit
- && --chain_length != 0);
-
- if ((uInt)best_len <= s->lookahead) return best_len;
- return s->lookahead;
-}
-#endif /* ASMV */
-
-#ifdef DEBUG_ZLIB
-/* ===========================================================================
- * Check that the match at match_start is indeed a match.
- */
-local void check_match(s, start, match, length)
- deflate_state *s;
- IPos start, match;
- int length;
-{
- /* check that the match is indeed a match */
- if (zmemcmp((charf *)s->window + match,
- (charf *)s->window + start, length) != EQUAL) {
- fprintf(stderr, " start %u, match %u, length %d\n",
- start, match, length);
- do {
- fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
- } while (--length != 0);
- z_error("invalid match");
- }
- if (z_verbose > 1) {
- fprintf(stderr,"\\[%d,%d]", start-match, length);
- do { putc(s->window[start++], stderr); } while (--length != 0);
- }
-}
-#else
-# define check_match(s, start, match, length)
-#endif
-
-/* ===========================================================================
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead.
- *
- * IN assertion: lookahead < MIN_LOOKAHEAD
- * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
- * At least one byte has been read, or avail_in == 0; reads are
- * performed for at least two bytes (required for the zip translate_eol
- * option -- not supported here).
- */
-local void fill_window(s)
- deflate_state *s;
-{
- register unsigned n, m;
- register Posf *p;
- unsigned more; /* Amount of free space at the end of the window. */
- uInt wsize = s->w_size;
-
- do {
- more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
-
- /* Deal with !@#$% 64K limit: */
- if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
- more = wsize;
-
- } else if (more == (unsigned)(-1)) {
- /* Very unlikely, but possible on 16 bit machine if strstart == 0
- * and lookahead == 1 (input done one byte at time)
- */
- more--;
-
- /* If the window is almost full and there is insufficient lookahead,
- * move the upper half to the lower one to make room in the upper half.
- */
- } else if (s->strstart >= wsize+MAX_DIST(s)) {
-
- zmemcpy((charf *)s->window, (charf *)s->window+wsize,
- (unsigned)wsize);
- s->match_start -= wsize;
- s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
- s->block_start -= (long) wsize;
-
- /* Slide the hash table (could be avoided with 32 bit values
- at the expense of memory usage). We slide even when level == 0
- to keep the hash table consistent if we switch back to level > 0
- later. (Using level 0 permanently is not an optimal usage of
- zlib, so we don't care about this pathological case.)
- */
- n = s->hash_size;
- p = &s->head[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- } while (--n);
-
- n = wsize;
- p = &s->prev[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- } while (--n);
- more += wsize;
- }
- if (s->strm->avail_in == 0) return;
-
- /* If there was no sliding:
- * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
- * more == window_size - lookahead - strstart
- * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
- * => more >= window_size - 2*WSIZE + 2
- * In the BIG_MEM or MMAP case (not yet supported),
- * window_size == input_size + MIN_LOOKAHEAD &&
- * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
- * Otherwise, window_size == 2*WSIZE so more >= 2.
- * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
- */
- Assert(more >= 2, "more < 2");
-
- n = read_buf(s->strm, (charf *)s->window + s->strstart + s->lookahead,
- more);
- s->lookahead += n;
-
- /* Initialize the hash value now that we have some input: */
- if (s->lookahead >= MIN_MATCH) {
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- }
- /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
- * but this is not important since only literal bytes will be emitted.
- */
-
- } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
-}
-
-/* ===========================================================================
- * Flush the current block, with given end-of-file flag.
- * IN assertion: strstart is set to the end of the current match.
- */
-#define FLUSH_BLOCK_ONLY(s, eof) { \
- _tr_flush_block(s, (s->block_start >= 0L ? \
- (charf *)&s->window[(unsigned)s->block_start] : \
- (charf *)Z_NULL), \
- (ulg)((long)s->strstart - s->block_start), \
- (eof)); \
- s->block_start = s->strstart; \
- flush_pending(s->strm); \
- Tracev((stderr,"[FLUSH]")); \
-}
-
-/* Same but force premature exit if necessary. */
-#define FLUSH_BLOCK(s, eof) { \
- FLUSH_BLOCK_ONLY(s, eof); \
- if (s->strm->avail_out == 0) return (eof) ? finish_started : need_more; \
-}
-
-/* ===========================================================================
- * Copy without compression as much as possible from the input stream, return
- * the current block state.
- * This function does not insert new strings in the dictionary since
- * uncompressible data is probably not useful. This function is used
- * only for the level=0 compression option.
- * NOTE: this function should be optimized to avoid extra copying from
- * window to pending_buf.
- */
-local block_state deflate_stored(s, flush)
- deflate_state *s;
- int flush;
-{
- /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
- * to pending_buf_size, and each stored block has a 5 byte header:
- */
- ulg max_block_size = 0xffff;
- ulg max_start;
-
- if (max_block_size > s->pending_buf_size - 5) {
- max_block_size = s->pending_buf_size - 5;
- }
-
- /* Copy as much as possible from input to output: */
- for (;;) {
- /* Fill the window as much as possible: */
- if (s->lookahead <= 1) {
-
- Assert(s->strstart < s->w_size+MAX_DIST(s) ||
- s->block_start >= (long)s->w_size, "slide too late");
-
- fill_window(s);
- if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more;
-
- if (s->lookahead == 0) break; /* flush the current block */
- }
- Assert(s->block_start >= 0L, "block gone");
-
- s->strstart += s->lookahead;
- s->lookahead = 0;
-
- /* Emit a stored block if pending_buf will be full: */
- max_start = s->block_start + max_block_size;
- if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
- /* strstart == 0 is possible when wraparound on 16-bit machine */
- s->lookahead = (uInt)(s->strstart - max_start);
- s->strstart = (uInt)max_start;
- FLUSH_BLOCK(s, 0);
- }
- /* Flush if we may have to slide, otherwise block_start may become
- * negative and the data will be gone:
- */
- if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
- FLUSH_BLOCK(s, 0);
- }
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-
-/* ===========================================================================
- * Compress as much as possible from the input stream, return the current
- * block state.
- * This function does not perform lazy evaluation of matches and inserts
- * new strings in the dictionary only for unmatched strings or for short
- * matches. It is used only for the fast compression options.
- */
-local block_state deflate_fast(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of the hash chain */
- int bflush; /* set if current block must be flushed */
-
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
- return need_more;
- }
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- * At this point we have always match_length < MIN_MATCH
- */
- if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
- }
- if (s->match_length >= MIN_MATCH) {
- check_match(s, s->strstart, s->match_start, s->match_length);
-
- bflush = _tr_tally(s, s->strstart - s->match_start,
- s->match_length - MIN_MATCH);
-
- s->lookahead -= s->match_length;
-
- /* Insert new strings in the hash table only if the match length
- * is not too large. This saves time but degrades compression.
- */
- if (s->match_length <= s->max_insert_length &&
- s->lookahead >= MIN_MATCH) {
- s->match_length--; /* string at strstart already in hash table */
- do {
- s->strstart++;
- INSERT_STRING(s, s->strstart, hash_head);
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- } while (--s->match_length != 0);
- s->strstart++;
- } else {
- s->strstart += s->match_length;
- s->match_length = 0;
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
- * matter since it will be recomputed at next deflate call.
- */
- }
- } else {
- /* No match, output a literal byte */
- Tracevv((stderr,"%c", s->window[s->strstart]));
- bflush = _tr_tally (s, 0, s->window[s->strstart]);
- s->lookahead--;
- s->strstart++;
- }
- if (bflush) FLUSH_BLOCK(s, 0);
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-
-/* ===========================================================================
- * Same as above, but achieves better compression. We use a lazy
- * evaluation for matches: a match is finally adopted only if there is
- * no better match at the next window position.
- */
-local block_state deflate_slow(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of hash chain */
- int bflush; /* set if current block must be flushed */
-
- /* Process the input block. */
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
- return need_more;
- }
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- */
- s->prev_length = s->match_length, s->prev_match = s->match_start;
- s->match_length = MIN_MATCH-1;
-
- if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
- s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
-
- if (s->match_length <= 5 && (s->strategy == Z_FILTERED ||
- (s->match_length == MIN_MATCH &&
- s->strstart - s->match_start > TOO_FAR))) {
-
- /* If prev_match is also MIN_MATCH, match_start is garbage
- * but we will ignore the current match anyway.
- */
- s->match_length = MIN_MATCH-1;
- }
- }
- /* If there was a match at the previous step and the current
- * match is not better, output the previous match:
- */
- if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
- uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
- /* Do not insert strings in hash table beyond this. */
-
- check_match(s, s->strstart-1, s->prev_match, s->prev_length);
-
- bflush = _tr_tally(s, s->strstart -1 - s->prev_match,
- s->prev_length - MIN_MATCH);
-
- /* Insert in hash table all strings up to the end of the match.
- * strstart-1 and strstart are already inserted. If there is not
- * enough lookahead, the last two strings are not inserted in
- * the hash table.
- */
- s->lookahead -= s->prev_length-1;
- s->prev_length -= 2;
- do {
- if (++s->strstart <= max_insert) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
- } while (--s->prev_length != 0);
- s->match_available = 0;
- s->match_length = MIN_MATCH-1;
- s->strstart++;
-
- if (bflush) FLUSH_BLOCK(s, 0);
-
- } else if (s->match_available) {
- /* If there was no match at the previous position, output a
- * single literal. If there was a match but the current match
- * is longer, truncate the previous match to a single literal.
- */
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- if (_tr_tally (s, 0, s->window[s->strstart-1])) {
- FLUSH_BLOCK_ONLY(s, 0);
- }
- s->strstart++;
- s->lookahead--;
- if (s->strm->avail_out == 0) return need_more;
- } else {
- /* There is no previous match to compare with, wait for
- * the next step to decide.
- */
- s->match_available = 1;
- s->strstart++;
- s->lookahead--;
- }
- }
- Assert (flush != Z_NO_FLUSH, "no flush?");
- if (s->match_available) {
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- _tr_tally (s, 0, s->window[s->strstart-1]);
- s->match_available = 0;
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-/* --- deflate.c */
-
-/* +++ trees.c */
-/* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995-1996 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process uses several Huffman trees. The more
- * common source values are represented by shorter bit sequences.
- *
- * Each code tree is stored in a compressed form which is itself
- * a Huffman encoding of the lengths of all the code strings (in
- * ascending order by source values). The actual code strings are
- * reconstructed from the lengths in the inflate process, as described
- * in the deflate specification.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
- * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
- *
- * Storer, James A.
- * Data Compression: Methods and Theory, pp. 49-50.
- * Computer Science Press, 1988. ISBN 0-7167-8156-5.
- *
- * Sedgewick, R.
- * Algorithms, p290.
- * Addison-Wesley, 1983. ISBN 0-201-06672-6.
- */
-
-/* From: trees.c,v 1.11 1996/07/24 13:41:06 me Exp $ */
-
-/* #include "deflate.h" */
-
-#ifdef DEBUG_ZLIB
-# include <ctype.h>
-#endif
-
-/* ===========================================================================
- * Constants
- */
-
-#define MAX_BL_BITS 7
-/* Bit length codes must not exceed MAX_BL_BITS bits */
-
-#define END_BLOCK 256
-/* end of block literal code */
-
-#define REP_3_6 16
-/* repeat previous bit length 3-6 times (2 bits of repeat count) */
-
-#define REPZ_3_10 17
-/* repeat a zero length 3-10 times (3 bits of repeat count) */
-
-#define REPZ_11_138 18
-/* repeat a zero length 11-138 times (7 bits of repeat count) */
-
-local int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
- = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
-
-local int extra_dbits[D_CODES] /* extra bits for each distance code */
- = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
-
-local int extra_blbits[BL_CODES]/* extra bits for each bit length code */
- = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
-
-local uch bl_order[BL_CODES]
- = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
-/* The lengths of the bit length codes are sent in order of decreasing
- * probability, to avoid transmitting the lengths for unused bit length codes.
- */
-
-#define Buf_size (8 * 2*sizeof(char))
-/* Number of bits used within bi_buf. (bi_buf might be implemented on
- * more than 16 bits on some systems.)
- */
-
-/* ===========================================================================
- * Local data. These are initialized only once.
- */
-
-local ct_data static_ltree[L_CODES+2];
-/* The static literal tree. Since the bit lengths are imposed, there is no
- * need for the L_CODES extra codes used during heap construction. However
- * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
- * below).
- */
-
-local ct_data static_dtree[D_CODES];
-/* The static distance tree. (Actually a trivial tree since all codes use
- * 5 bits.)
- */
-
-local uch dist_code[512];
-/* distance codes. The first 256 values correspond to the distances
- * 3 .. 258, the last 256 values correspond to the top 8 bits of
- * the 15 bit distances.
- */
-
-local uch length_code[MAX_MATCH-MIN_MATCH+1];
-/* length code for each normalized match length (0 == MIN_MATCH) */
-
-local int base_length[LENGTH_CODES];
-/* First normalized length for each code (0 = MIN_MATCH) */
-
-local int base_dist[D_CODES];
-/* First normalized distance for each code (0 = distance of 1) */
-
-struct static_tree_desc_s {
- ct_data *static_tree; /* static tree or NULL */
- intf *extra_bits; /* extra bits for each code or NULL */
- int extra_base; /* base index for extra_bits */
- int elems; /* max number of elements in the tree */
- int max_length; /* max bit length for the codes */
-};
-
-local static_tree_desc static_l_desc =
-{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
-
-local static_tree_desc static_d_desc =
-{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
-
-local static_tree_desc static_bl_desc =
-{(ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
-
-/* ===========================================================================
- * Local (static) routines in this file.
- */
-
-local void tr_static_init OF((void));
-local void init_block OF((deflate_state *s));
-local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
-local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
-local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
-local void build_tree OF((deflate_state *s, tree_desc *desc));
-local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local int build_bl_tree OF((deflate_state *s));
-local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
- int blcodes));
-local void compress_block OF((deflate_state *s, ct_data *ltree,
- ct_data *dtree));
-local void set_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned value, int length));
-local void bi_windup OF((deflate_state *s));
-local void bi_flush OF((deflate_state *s));
-local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
- int header));
-
-#ifndef DEBUG_ZLIB
-# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
- /* Send a code of the given tree. c and tree must not have side effects */
-
-#else /* DEBUG_ZLIB */
-# define send_code(s, c, tree) \
- { if (verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
- send_bits(s, tree[c].Code, tree[c].Len); }
-#endif
-
-#define d_code(dist) \
- ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)])
-/* Mapping from a distance to a distance code. dist is the distance - 1 and
- * must not have side effects. dist_code[256] and dist_code[257] are never
- * used.
- */
-
-/* ===========================================================================
- * Output a short LSB first on the stream.
- * IN assertion: there is enough room in pendingBuf.
- */
-#define put_short(s, w) { \
- put_byte(s, (uch)((w) & 0xff)); \
- put_byte(s, (uch)((ush)(w) >> 8)); \
-}
-
-/* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
-#ifdef DEBUG_ZLIB
-local void send_bits OF((deflate_state *s, int value, int length));
-
-local void send_bits(s, value, length)
- deflate_state *s;
- int value; /* value to send */
- int length; /* number of bits */
-{
- Tracevv((stderr," l %2d v %4x ", length, value));
- Assert(length > 0 && length <= 15, "invalid length");
- s->bits_sent += (ulg)length;
-
- /* If not enough room in bi_buf, use (valid) bits from bi_buf and
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
- * unused bits in value.
- */
- if (s->bi_valid > (int)Buf_size - length) {
- s->bi_buf |= (value << s->bi_valid);
- put_short(s, s->bi_buf);
- s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
- s->bi_valid += length - Buf_size;
- } else {
- s->bi_buf |= value << s->bi_valid;
- s->bi_valid += length;
- }
-}
-#else /* !DEBUG_ZLIB */
-
-#define send_bits(s, value, length) \
-{ int len = length;\
- if (s->bi_valid > (int)Buf_size - len) {\
- int val = value;\
- s->bi_buf |= (val << s->bi_valid);\
- put_short(s, s->bi_buf);\
- s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
- s->bi_valid += len - Buf_size;\
- } else {\
- s->bi_buf |= (value) << s->bi_valid;\
- s->bi_valid += len;\
- }\
-}
-#endif /* DEBUG_ZLIB */
-
-
-#define MAX(a,b) (a >= b ? a : b)
-/* the arguments must not have side effects */
-
-/* ===========================================================================
- * Initialize the various 'constant' tables. In a multi-threaded environment,
- * this function may be called by two threads concurrently, but this is
- * harmless since both invocations do exactly the same thing.
- */
-local void tr_static_init()
-{
- static int static_init_done = 0;
- int n; /* iterates over tree elements */
- int bits; /* bit counter */
- int length; /* length value */
- int code; /* code value */
- int dist; /* distance index */
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- if (static_init_done) return;
-
- /* Initialize the mapping length (0..255) -> length code (0..28) */
- length = 0;
- for (code = 0; code < LENGTH_CODES-1; code++) {
- base_length[code] = length;
- for (n = 0; n < (1<<extra_lbits[code]); n++) {
- length_code[length++] = (uch)code;
- }
- }
- Assert (length == 256, "tr_static_init: length != 256");
- /* Note that the length 255 (match length 258) can be represented
- * in two different ways: code 284 + 5 bits or code 285, so we
- * overwrite length_code[255] to use the best encoding:
- */
- length_code[length-1] = (uch)code;
-
- /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
- dist = 0;
- for (code = 0 ; code < 16; code++) {
- base_dist[code] = dist;
- for (n = 0; n < (1<<extra_dbits[code]); n++) {
- dist_code[dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "tr_static_init: dist != 256");
- dist >>= 7; /* from now on, all distances are divided by 128 */
- for ( ; code < D_CODES; code++) {
- base_dist[code] = dist << 7;
- for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
- dist_code[256 + dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "tr_static_init: 256+dist != 512");
-
- /* Construct the codes of the static literal tree */
- for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
- n = 0;
- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
- /* Codes 286 and 287 do not exist, but we must include them in the
- * tree construction to get a canonical Huffman tree (longest code
- * all ones)
- */
- gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
-
- /* The static distance tree is trivial: */
- for (n = 0; n < D_CODES; n++) {
- static_dtree[n].Len = 5;
- static_dtree[n].Code = bi_reverse((unsigned)n, 5);
- }
- static_init_done = 1;
-}
-
-/* ===========================================================================
- * Initialize the tree data structures for a new zlib stream.
- */
-void _tr_init(s)
- deflate_state *s;
-{
- tr_static_init();
-
- s->compressed_len = 0L;
-
- s->l_desc.dyn_tree = s->dyn_ltree;
- s->l_desc.stat_desc = &static_l_desc;
-
- s->d_desc.dyn_tree = s->dyn_dtree;
- s->d_desc.stat_desc = &static_d_desc;
-
- s->bl_desc.dyn_tree = s->bl_tree;
- s->bl_desc.stat_desc = &static_bl_desc;
-
- s->bi_buf = 0;
- s->bi_valid = 0;
- s->last_eob_len = 8; /* enough lookahead for inflate */
-#ifdef DEBUG_ZLIB
- s->bits_sent = 0L;
-#endif
-
- /* Initialize the first block of the first file: */
- init_block(s);
-}
-
-/* ===========================================================================
- * Initialize a new block.
- */
-local void init_block(s)
- deflate_state *s;
-{
- int n; /* iterates over tree elements */
-
- /* Initialize the trees. */
- for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
- for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
- for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
-
- s->dyn_ltree[END_BLOCK].Freq = 1;
- s->opt_len = s->static_len = 0L;
- s->last_lit = s->matches = 0;
-}
-
-#define SMALLEST 1
-/* Index within the heap array of least frequent node in the Huffman tree */
-
-
-/* ===========================================================================
- * Remove the smallest element from the heap and recreate the heap with
- * one less element. Updates heap and heap_len.
- */
-#define pqremove(s, tree, top) \
-{\
- top = s->heap[SMALLEST]; \
- s->heap[SMALLEST] = s->heap[s->heap_len--]; \
- pqdownheap(s, tree, SMALLEST); \
-}
-
-/* ===========================================================================
- * Compares to subtrees, using the tree depth as tie breaker when
- * the subtrees have equal frequency. This minimizes the worst case length.
- */
-#define smaller(tree, n, m, depth) \
- (tree[n].Freq < tree[m].Freq || \
- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
-
-/* ===========================================================================
- * Restore the heap property by moving down the tree starting at node k,
- * exchanging a node with the smallest of its two sons if necessary, stopping
- * when the heap property is re-established (each father smaller than its
- * two sons).
- */
-local void pqdownheap(s, tree, k)
- deflate_state *s;
- ct_data *tree; /* the tree to restore */
- int k; /* node to move down */
-{
- int v = s->heap[k];
- int j = k << 1; /* left son of k */
- while (j <= s->heap_len) {
- /* Set j to the smallest of the two sons: */
- if (j < s->heap_len &&
- smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
- j++;
- }
- /* Exit if v is smaller than both sons */
- if (smaller(tree, v, s->heap[j], s->depth)) break;
-
- /* Exchange v with the smallest son */
- s->heap[k] = s->heap[j]; k = j;
-
- /* And continue down the tree, setting j to the left son of k */
- j <<= 1;
- }
- s->heap[k] = v;
-}
-
-/* ===========================================================================
- * Compute the optimal bit lengths for a tree and update the total bit length
- * for the current block.
- * IN assertion: the fields freq and dad are set, heap[heap_max] and
- * above are the tree nodes sorted by increasing frequency.
- * OUT assertions: the field len is set to the optimal bit length, the
- * array bl_count contains the frequencies for each bit length.
- * The length opt_len is updated; static_len is also updated if stree is
- * not null.
- */
-local void gen_bitlen(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- int max_code = desc->max_code;
- ct_data *stree = desc->stat_desc->static_tree;
- intf *extra = desc->stat_desc->extra_bits;
- int base = desc->stat_desc->extra_base;
- int max_length = desc->stat_desc->max_length;
- int h; /* heap index */
- int n, m; /* iterate over the tree elements */
- int bits; /* bit length */
- int xbits; /* extra bits */
- ush f; /* frequency */
- int overflow = 0; /* number of elements with bit length too large */
-
- for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
-
- /* In a first pass, compute the optimal bit lengths (which may
- * overflow in the case of the bit length tree).
- */
- tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
-
- for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
- n = s->heap[h];
- bits = tree[tree[n].Dad].Len + 1;
- if (bits > max_length) bits = max_length, overflow++;
- tree[n].Len = (ush)bits;
- /* We overwrite tree[n].Dad which is no longer needed */
-
- if (n > max_code) continue; /* not a leaf node */
-
- s->bl_count[bits]++;
- xbits = 0;
- if (n >= base) xbits = extra[n-base];
- f = tree[n].Freq;
- s->opt_len += (ulg)f * (bits + xbits);
- if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
- }
- if (overflow == 0) return;
-
- Trace((stderr,"\nbit length overflow\n"));
- /* This happens for example on obj2 and pic of the Calgary corpus */
-
- /* Find the first bit length which could increase: */
- do {
- bits = max_length-1;
- while (s->bl_count[bits] == 0) bits--;
- s->bl_count[bits]--; /* move one leaf down the tree */
- s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
- s->bl_count[max_length]--;
- /* The brother of the overflow item also moves one step up,
- * but this does not affect bl_count[max_length]
- */
- overflow -= 2;
- } while (overflow > 0);
-
- /* Now recompute all bit lengths, scanning in increasing frequency.
- * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
- * lengths instead of fixing only the wrong ones. This idea is taken
- * from 'ar' written by Haruhiko Okumura.)
- */
- for (bits = max_length; bits != 0; bits--) {
- n = s->bl_count[bits];
- while (n != 0) {
- m = s->heap[--h];
- if (m > max_code) continue;
- if (tree[m].Len != (unsigned) bits) {
- Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
- s->opt_len += ((long)bits - (long)tree[m].Len)
- *(long)tree[m].Freq;
- tree[m].Len = (ush)bits;
- }
- n--;
- }
- }
-}
-
-/* ===========================================================================
- * Generate the codes for a given tree and bit counts (which need not be
- * optimal).
- * IN assertion: the array bl_count contains the bit length statistics for
- * the given tree and the field len is set for all tree elements.
- * OUT assertion: the field code is set for all tree elements of non
- * zero code length.
- */
-local void gen_codes (tree, max_code, bl_count)
- ct_data *tree; /* the tree to decorate */
- int max_code; /* largest code with non zero frequency */
- ushf *bl_count; /* number of codes at each bit length */
-{
- ush next_code[MAX_BITS+1]; /* next code value for each bit length */
- ush code = 0; /* running code value */
- int bits; /* bit index */
- int n; /* code index */
-
- /* The distribution counts are first used to generate the code values
- * without bit reversal.
- */
- for (bits = 1; bits <= MAX_BITS; bits++) {
- next_code[bits] = code = (code + bl_count[bits-1]) << 1;
- }
- /* Check that the bit counts in bl_count are consistent. The last code
- * must be all ones.
- */
- Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
- "inconsistent bit counts");
- Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
-
- for (n = 0; n <= max_code; n++) {
- int len = tree[n].Len;
- if (len == 0) continue;
- /* Now reverse the bits */
- tree[n].Code = bi_reverse(next_code[len]++, len);
-
- Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
- n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
- }
-}
-
-/* ===========================================================================
- * Construct one Huffman tree and assigns the code bit strings and lengths.
- * Update the total bit length for the current block.
- * IN assertion: the field freq is set for all tree elements.
- * OUT assertions: the fields len and code are set to the optimal bit length
- * and corresponding code. The length opt_len is updated; static_len is
- * also updated if stree is not null. The field max_code is set.
- */
-local void build_tree(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- ct_data *stree = desc->stat_desc->static_tree;
- int elems = desc->stat_desc->elems;
- int n, m; /* iterate over heap elements */
- int max_code = -1; /* largest code with non zero frequency */
- int node; /* new node being created */
-
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
- * heap[0] is not used.
- */
- s->heap_len = 0, s->heap_max = HEAP_SIZE;
-
- for (n = 0; n < elems; n++) {
- if (tree[n].Freq != 0) {
- s->heap[++(s->heap_len)] = max_code = n;
- s->depth[n] = 0;
- } else {
- tree[n].Len = 0;
- }
- }
-
- /* The pkzip format requires that at least one distance code exists,
- * and that at least one bit should be sent even if there is only one
- * possible code. So to avoid special checks later on we force at least
- * two codes of non zero frequency.
- */
- while (s->heap_len < 2) {
- node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
- tree[node].Freq = 1;
- s->depth[node] = 0;
- s->opt_len--; if (stree) s->static_len -= stree[node].Len;
- /* node is 0 or 1 so it does not have extra bits */
- }
- desc->max_code = max_code;
-
- /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
- * establish sub-heaps of increasing lengths:
- */
- for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
-
- /* Construct the Huffman tree by repeatedly combining the least two
- * frequent nodes.
- */
- node = elems; /* next internal node of the tree */
- do {
- pqremove(s, tree, n); /* n = node of least frequency */
- m = s->heap[SMALLEST]; /* m = node of next least frequency */
-
- s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
- s->heap[--(s->heap_max)] = m;
-
- /* Create a new node father of n and m */
- tree[node].Freq = tree[n].Freq + tree[m].Freq;
- s->depth[node] = (uch) (MAX(s->depth[n], s->depth[m]) + 1);
- tree[n].Dad = tree[m].Dad = (ush)node;
-#ifdef DUMP_BL_TREE
- if (tree == s->bl_tree) {
- fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
- node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
- }
-#endif
- /* and insert the new node in the heap */
- s->heap[SMALLEST] = node++;
- pqdownheap(s, tree, SMALLEST);
-
- } while (s->heap_len >= 2);
-
- s->heap[--(s->heap_max)] = s->heap[SMALLEST];
-
- /* At this point, the fields freq and dad are set. We can now
- * generate the bit lengths.
- */
- gen_bitlen(s, (tree_desc *)desc);
-
- /* The field len is now set, we can generate the bit codes */
- gen_codes ((ct_data *)tree, max_code, s->bl_count);
-}
-
-/* ===========================================================================
- * Scan a literal or distance tree to determine the frequencies of the codes
- * in the bit length tree.
- */
-local void scan_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- if (nextlen == 0) max_count = 138, min_count = 3;
- tree[max_code+1].Len = (ush)0xffff; /* guard */
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- s->bl_tree[curlen].Freq += count;
- } else if (curlen != 0) {
- if (curlen != prevlen) s->bl_tree[curlen].Freq++;
- s->bl_tree[REP_3_6].Freq++;
- } else if (count <= 10) {
- s->bl_tree[REPZ_3_10].Freq++;
- } else {
- s->bl_tree[REPZ_11_138].Freq++;
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Send a literal or distance tree in compressed form, using the codes in
- * bl_tree.
- */
-local void send_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- /* tree[max_code+1].Len = -1; */ /* guard already set */
- if (nextlen == 0) max_count = 138, min_count = 3;
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
-
- } else if (curlen != 0) {
- if (curlen != prevlen) {
- send_code(s, curlen, s->bl_tree); count--;
- }
- Assert(count >= 3 && count <= 6, " 3_6?");
- send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
-
- } else if (count <= 10) {
- send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
-
- } else {
- send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Construct the Huffman tree for the bit lengths and return the index in
- * bl_order of the last bit length code to send.
- */
-local int build_bl_tree(s)
- deflate_state *s;
-{
- int max_blindex; /* index of last bit length code of non zero freq */
-
- /* Determine the bit length frequencies for literal and distance trees */
- scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
- scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
-
- /* Build the bit length tree: */
- build_tree(s, (tree_desc *)(&(s->bl_desc)));
- /* opt_len now includes the length of the tree representations, except
- * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
- */
-
- /* Determine the number of bit length codes to send. The pkzip format
- * requires that at least 4 bit length codes be sent. (appnote.txt says
- * 3 but the actual value used is 4.)
- */
- for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
- if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
- }
- /* Update opt_len to include the bit length tree and counts */
- s->opt_len += 3*(max_blindex+1) + 5+5+4;
- Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
- s->opt_len, s->static_len));
-
- return max_blindex;
-}
-
-/* ===========================================================================
- * Send the header for a block using dynamic Huffman trees: the counts, the
- * lengths of the bit length codes, the literal tree and the distance tree.
- * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
- */
-local void send_all_trees(s, lcodes, dcodes, blcodes)
- deflate_state *s;
- int lcodes, dcodes, blcodes; /* number of codes for each tree */
-{
- int rank; /* index in bl_order */
-
- Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
- Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
- "too many codes");
- Tracev((stderr, "\nbl counts: "));
- send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
- send_bits(s, dcodes-1, 5);
- send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
- for (rank = 0; rank < blcodes; rank++) {
- Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
- send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
- }
- Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
- Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
- Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
-}
-
-/* ===========================================================================
- * Send a stored block
- */
-void _tr_stored_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
- s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
- s->compressed_len += (stored_len + 4) << 3;
-
- copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
-}
-
-/* Send just the `stored block' type code without any length bytes or data.
- */
-void _tr_stored_type_only(s)
- deflate_state *s;
-{
- send_bits(s, (STORED_BLOCK << 1), 3);
- bi_windup(s);
- s->compressed_len = (s->compressed_len + 3) & ~7L;
-}
-
-
-/* ===========================================================================
- * Send one empty static block to give enough lookahead for inflate.
- * This takes 10 bits, of which 7 may remain in the bit buffer.
- * The current inflate code requires 9 bits of lookahead. If the
- * last two codes for the previous block (real code plus EOB) were coded
- * on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode
- * the last real code. In this case we send two empty static blocks instead
- * of one. (There are no problems if the previous block is stored or fixed.)
- * To simplify the code, we assume the worst case of last real code encoded
- * on one bit only.
- */
-void _tr_align(s)
- deflate_state *s;
-{
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
- s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
- bi_flush(s);
- /* Of the 10 bits for the empty block, we have already sent
- * (10 - bi_valid) bits. The lookahead for the last real code (before
- * the EOB of the previous block) was thus at least one plus the length
- * of the EOB plus what we have just sent of the empty static block.
- */
- if (1 + s->last_eob_len + 10 - s->bi_valid < 9) {
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
- s->compressed_len += 10L;
- bi_flush(s);
- }
- s->last_eob_len = 7;
-}
-
-/* ===========================================================================
- * Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file. This function
- * returns the total compressed length for the file so far.
- */
-ulg _tr_flush_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block, or NULL if too old */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
- int max_blindex = 0; /* index of last bit length code of non zero freq */
-
- /* Build the Huffman trees unless a stored block is forced */
- if (s->level > 0) {
-
- /* Check if the file is ascii or binary */
- if (s->data_type == Z_UNKNOWN) set_data_type(s);
-
- /* Construct the literal and distance trees */
- build_tree(s, (tree_desc *)(&(s->l_desc)));
- Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
-
- build_tree(s, (tree_desc *)(&(s->d_desc)));
- Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
- /* At this point, opt_len and static_len are the total bit lengths of
- * the compressed block data, excluding the tree representations.
- */
-
- /* Build the bit length tree for the above two trees, and get the index
- * in bl_order of the last bit length code to send.
- */
- max_blindex = build_bl_tree(s);
-
- /* Determine the best encoding. Compute first the block length in bytes*/
- opt_lenb = (s->opt_len+3+7)>>3;
- static_lenb = (s->static_len+3+7)>>3;
-
- Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
- opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
- s->last_lit));
-
- if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
-
- } else {
- Assert(buf != (char*)0, "lost buf");
- opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
- }
-
- /* If compression failed and this is the first and last block,
- * and if the .zip file can be seeked (to rewrite the local header),
- * the whole file is transformed into a stored file:
- */
-#ifdef STORED_FILE_OK
-# ifdef FORCE_STORED_FILE
- if (eof && s->compressed_len == 0L) { /* force stored file */
-# else
- if (stored_len <= opt_lenb && eof && s->compressed_len==0L && seekable()) {
-# endif
- /* Since LIT_BUFSIZE <= 2*WSIZE, the input data must be there: */
- if (buf == (charf*)0) error ("block vanished");
-
- copy_block(s, buf, (unsigned)stored_len, 0); /* without header */
- s->compressed_len = stored_len << 3;
- s->method = STORED;
- } else
-#endif /* STORED_FILE_OK */
-
-#ifdef FORCE_STORED
- if (buf != (char*)0) { /* force stored block */
-#else
- if (stored_len+4 <= opt_lenb && buf != (char*)0) {
- /* 4: two words for the lengths */
-#endif
- /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
- * Otherwise we can't have processed more than WSIZE input bytes since
- * the last block flush, because compression would have been
- * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
- * transform a block into a stored block.
- */
- _tr_stored_block(s, buf, stored_len, eof);
-
-#ifdef FORCE_STATIC
- } else if (static_lenb >= 0) { /* force static trees */
-#else
- } else if (static_lenb == opt_lenb) {
-#endif
- send_bits(s, (STATIC_TREES<<1)+eof, 3);
- compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
- s->compressed_len += 3 + s->static_len;
- } else {
- send_bits(s, (DYN_TREES<<1)+eof, 3);
- send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
- max_blindex+1);
- compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
- s->compressed_len += 3 + s->opt_len;
- }
- Assert (s->compressed_len == s->bits_sent, "bad compressed size");
- init_block(s);
-
- if (eof) {
- bi_windup(s);
- s->compressed_len += 7; /* align on byte boundary */
- }
- Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
- s->compressed_len-7*eof));
-
- return s->compressed_len >> 3;
-}
-
-/* ===========================================================================
- * Save the match info and tally the frequency counts. Return true if
- * the current block must be flushed.
- */
-int _tr_tally (s, dist, lc)
- deflate_state *s;
- unsigned dist; /* distance of matched string */
- unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
-{
- s->d_buf[s->last_lit] = (ush)dist;
- s->l_buf[s->last_lit++] = (uch)lc;
- if (dist == 0) {
- /* lc is the unmatched char */
- s->dyn_ltree[lc].Freq++;
- } else {
- s->matches++;
- /* Here, lc is the match length - MIN_MATCH */
- dist--; /* dist = match distance - 1 */
- Assert((ush)dist < (ush)MAX_DIST(s) &&
- (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
- (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
-
- s->dyn_ltree[length_code[lc]+LITERALS+1].Freq++;
- s->dyn_dtree[d_code(dist)].Freq++;
- }
-
- /* Try to guess if it is profitable to stop the current block here */
- if (s->level > 2 && (s->last_lit & 0xfff) == 0) {
- /* Compute an upper bound for the compressed length */
- ulg out_length = (ulg)s->last_lit*8L;
- ulg in_length = (ulg)((long)s->strstart - s->block_start);
- int dcode;
- for (dcode = 0; dcode < D_CODES; dcode++) {
- out_length += (ulg)s->dyn_dtree[dcode].Freq *
- (5L+extra_dbits[dcode]);
- }
- out_length >>= 3;
- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
- s->last_lit, in_length, out_length,
- 100L - out_length*100L/in_length));
- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
- }
- return (s->last_lit == s->lit_bufsize-1);
- /* We avoid equality with lit_bufsize because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
-}
-
-/* ===========================================================================
- * Send the block data compressed using the given Huffman trees
- */
-local void compress_block(s, ltree, dtree)
- deflate_state *s;
- ct_data *ltree; /* literal tree */
- ct_data *dtree; /* distance tree */
-{
- unsigned dist; /* distance of matched string */
- int lc; /* match length or unmatched char (if dist == 0) */
- unsigned lx = 0; /* running index in l_buf */
- unsigned code; /* the code to send */
- int extra; /* number of extra bits to send */
-
- if (s->last_lit != 0) do {
- dist = s->d_buf[lx];
- lc = s->l_buf[lx++];
- if (dist == 0) {
- send_code(s, lc, ltree); /* send a literal byte */
- Tracecv(isgraph(lc), (stderr," '%c' ", lc));
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- code = length_code[lc];
- send_code(s, code+LITERALS+1, ltree); /* send the length code */
- extra = extra_lbits[code];
- if (extra != 0) {
- lc -= base_length[code];
- send_bits(s, lc, extra); /* send the extra length bits */
- }
- dist--; /* dist is now the match distance - 1 */
- code = d_code(dist);
- Assert (code < D_CODES, "bad d_code");
-
- send_code(s, code, dtree); /* send the distance code */
- extra = extra_dbits[code];
- if (extra != 0) {
- dist -= base_dist[code];
- send_bits(s, dist, extra); /* send the extra distance bits */
- }
- } /* literal or match pair ? */
-
- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
- Assert(s->pending < s->lit_bufsize + 2*lx, "pendingBuf overflow");
-
- } while (lx < s->last_lit);
-
- send_code(s, END_BLOCK, ltree);
- s->last_eob_len = ltree[END_BLOCK].Len;
-}
-
-/* ===========================================================================
- * Set the data type to ASCII or BINARY, using a crude approximation:
- * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
- * IN assertion: the fields freq of dyn_ltree are set and the total of all
- * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
- */
-local void set_data_type(s)
- deflate_state *s;
-{
- int n = 0;
- unsigned ascii_freq = 0;
- unsigned bin_freq = 0;
- while (n < 7) bin_freq += s->dyn_ltree[n++].Freq;
- while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq;
- while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq;
- s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? Z_BINARY : Z_ASCII);
-}
-
-/* ===========================================================================
- * Reverse the first len bits of a code, using straightforward code (a faster
- * method would use a table)
- * IN assertion: 1 <= len <= 15
- */
-local unsigned bi_reverse(code, len)
- unsigned code; /* the value to invert */
- int len; /* its bit length */
-{
- register unsigned res = 0;
- do {
- res |= code & 1;
- code >>= 1, res <<= 1;
- } while (--len > 0);
- return res >> 1;
-}
-
-/* ===========================================================================
- * Flush the bit buffer, keeping at most 7 bits in it.
- */
-local void bi_flush(s)
- deflate_state *s;
-{
- if (s->bi_valid == 16) {
- put_short(s, s->bi_buf);
- s->bi_buf = 0;
- s->bi_valid = 0;
- } else if (s->bi_valid >= 8) {
- put_byte(s, (Byte)s->bi_buf);
- s->bi_buf >>= 8;
- s->bi_valid -= 8;
- }
-}
-
-/* ===========================================================================
- * Flush the bit buffer and align the output on a byte boundary
- */
-local void bi_windup(s)
- deflate_state *s;
-{
- if (s->bi_valid > 8) {
- put_short(s, s->bi_buf);
- } else if (s->bi_valid > 0) {
- put_byte(s, (Byte)s->bi_buf);
- }
- s->bi_buf = 0;
- s->bi_valid = 0;
-#ifdef DEBUG_ZLIB
- s->bits_sent = (s->bits_sent+7) & ~7;
-#endif
-}
-
-/* ===========================================================================
- * Copy a stored block, storing first the length and its
- * one's complement if requested.
- */
-local void copy_block(s, buf, len, header)
- deflate_state *s;
- charf *buf; /* the input data */
- unsigned len; /* its length */
- int header; /* true if block header must be written */
-{
- bi_windup(s); /* align on byte boundary */
- s->last_eob_len = 8; /* enough lookahead for inflate */
-
- if (header) {
- put_short(s, (ush)len);
- put_short(s, (ush)~len);
-#ifdef DEBUG_ZLIB
- s->bits_sent += 2*16;
-#endif
- }
-#ifdef DEBUG_ZLIB
- s->bits_sent += (ulg)len<<3;
-#endif
- /* bundle up the put_byte(s, *buf++) calls */
- zmemcpy(&s->pending_buf[s->pending], buf, len);
- s->pending += len;
-}
-/* --- trees.c */
-
-/* +++ inflate.c */
-/* inflate.c -- zlib interface to inflate modules
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-
-/* +++ infblock.h */
-/* infblock.h -- header to use infblock.c
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_blocks_state;
-typedef struct inflate_blocks_state FAR inflate_blocks_statef;
-
-extern inflate_blocks_statef * inflate_blocks_new OF((
- z_streamp z,
- check_func c, /* check function */
- uInt w)); /* window size */
-
-extern int inflate_blocks OF((
- inflate_blocks_statef *,
- z_streamp ,
- int)); /* initial return code */
-
-extern void inflate_blocks_reset OF((
- inflate_blocks_statef *,
- z_streamp ,
- uLongf *)); /* check value on output */
-
-extern int inflate_blocks_free OF((
- inflate_blocks_statef *,
- z_streamp ,
- uLongf *)); /* check value on output */
-
-extern void inflate_set_dictionary OF((
- inflate_blocks_statef *s,
- const Bytef *d, /* dictionary */
- uInt n)); /* dictionary length */
-
-extern int inflate_addhistory OF((
- inflate_blocks_statef *,
- z_streamp));
-
-extern int inflate_packet_flush OF((
- inflate_blocks_statef *));
-/* --- infblock.h */
-
-#ifndef NO_DUMMY_DECL
-struct inflate_blocks_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* inflate private state */
-struct internal_state {
-
- /* mode */
- enum {
- METHOD, /* waiting for method byte */
- FLAG, /* waiting for flag byte */
- DICT4, /* four dictionary check bytes to go */
- DICT3, /* three dictionary check bytes to go */
- DICT2, /* two dictionary check bytes to go */
- DICT1, /* one dictionary check byte to go */
- DICT0, /* waiting for inflateSetDictionary */
- BLOCKS, /* decompressing blocks */
- CHECK4, /* four check bytes to go */
- CHECK3, /* three check bytes to go */
- CHECK2, /* two check bytes to go */
- CHECK1, /* one check byte to go */
- DONE, /* finished check, done */
- BAD} /* got an error--stay here */
- mode; /* current inflate mode */
-
- /* mode dependent information */
- union {
- uInt method; /* if FLAGS, method byte */
- struct {
- uLong was; /* computed check value */
- uLong need; /* stream check value */
- } check; /* if CHECK, check values to compare */
- uInt marker; /* if BAD, inflateSync's marker bytes count */
- } sub; /* submode */
-
- /* mode independent information */
- int nowrap; /* flag for no wrapper */
- uInt wbits; /* log2(window size) (8..15, defaults to 15) */
- inflate_blocks_statef
- *blocks; /* current inflate_blocks state */
-
-};
-
-
-int inflateReset(z)
-z_streamp z;
-{
- uLong c;
-
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- z->total_in = z->total_out = 0;
- z->msg = Z_NULL;
- z->state->mode = z->state->nowrap ? BLOCKS : METHOD;
- inflate_blocks_reset(z->state->blocks, z, &c);
- Trace((stderr, "inflate: reset\n"));
- return Z_OK;
-}
-
-
-int inflateEnd(z)
-z_streamp z;
-{
- uLong c;
-
- if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->blocks != Z_NULL)
- inflate_blocks_free(z->state->blocks, z, &c);
- ZFREE(z, z->state);
- z->state = Z_NULL;
- Trace((stderr, "inflate: end\n"));
- return Z_OK;
-}
-
-
-int inflateInit2_(z, w, version, stream_size)
-z_streamp z;
-int w;
-const char *version;
-int stream_size;
-{
- if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
- stream_size != sizeof(z_stream))
- return Z_VERSION_ERROR;
-
- /* initialize state */
- if (z == Z_NULL)
- return Z_STREAM_ERROR;
- z->msg = Z_NULL;
-#ifndef NO_ZCFUNCS
- if (z->zalloc == Z_NULL)
- {
- z->zalloc = zcalloc;
- z->opaque = (voidpf)0;
- }
- if (z->zfree == Z_NULL) z->zfree = zcfree;
-#endif
- if ((z->state = (struct internal_state FAR *)
- ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)
- return Z_MEM_ERROR;
- z->state->blocks = Z_NULL;
-
- /* handle undocumented nowrap option (no zlib header or check) */
- z->state->nowrap = 0;
- if (w < 0)
- {
- w = - w;
- z->state->nowrap = 1;
- }
-
- /* set window size */
- if (w < 8 || w > 15)
- {
- inflateEnd(z);
- return Z_STREAM_ERROR;
- }
- z->state->wbits = (uInt)w;
-
- /* create inflate_blocks state */
- if ((z->state->blocks =
- inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, (uInt)1 << w))
- == Z_NULL)
- {
- inflateEnd(z);
- return Z_MEM_ERROR;
- }
- Trace((stderr, "inflate: allocated\n"));
-
- /* reset state */
- inflateReset(z);
- return Z_OK;
-}
-
-
-int inflateInit_(z, version, stream_size)
-z_streamp z;
-const char *version;
-int stream_size;
-{
- return inflateInit2_(z, DEF_WBITS, version, stream_size);
-}
-
-
-#define NEEDBYTE {if(z->avail_in==0)goto empty;r=Z_OK;}
-#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)
-
-int inflate(z, f)
-z_streamp z;
-int f;
-{
- int r;
- uInt b;
-
- if (z == Z_NULL || z->state == Z_NULL || z->next_in == Z_NULL || f < 0)
- return Z_STREAM_ERROR;
- r = Z_BUF_ERROR;
- while (1) switch (z->state->mode)
- {
- case METHOD:
- NEEDBYTE
- if (((z->state->sub.method = NEXTBYTE) & 0xf) != Z_DEFLATED)
- {
- z->state->mode = BAD;
- z->msg = (char*)"unknown compression method";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- if ((z->state->sub.method >> 4) + 8 > z->state->wbits)
- {
- z->state->mode = BAD;
- z->msg = (char*)"invalid window size";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- z->state->mode = FLAG;
- case FLAG:
- NEEDBYTE
- b = NEXTBYTE;
- if (((z->state->sub.method << 8) + b) % 31)
- {
- z->state->mode = BAD;
- z->msg = (char*)"incorrect header check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Trace((stderr, "inflate: zlib header ok\n"));
- if (!(b & PRESET_DICT))
- {
- z->state->mode = BLOCKS;
- break;
- }
- z->state->mode = DICT4;
- case DICT4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = DICT3;
- case DICT3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = DICT2;
- case DICT2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = DICT1;
- case DICT1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
- z->adler = z->state->sub.check.need;
- z->state->mode = DICT0;
- return Z_NEED_DICT;
- case DICT0:
- z->state->mode = BAD;
- z->msg = (char*)"need dictionary";
- z->state->sub.marker = 0; /* can try inflateSync */
- return Z_STREAM_ERROR;
- case BLOCKS:
- r = inflate_blocks(z->state->blocks, z, r);
- if (f == Z_PACKET_FLUSH && z->avail_in == 0 && z->avail_out != 0)
- r = inflate_packet_flush(z->state->blocks);
- if (r == Z_DATA_ERROR)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0; /* can try inflateSync */
- break;
- }
- if (r != Z_STREAM_END)
- return r;
- r = Z_OK;
- inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);
- if (z->state->nowrap)
- {
- z->state->mode = DONE;
- break;
- }
- z->state->mode = CHECK4;
- case CHECK4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = CHECK3;
- case CHECK3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = CHECK2;
- case CHECK2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = CHECK1;
- case CHECK1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
-
- if (z->state->sub.check.was != z->state->sub.check.need)
- {
- z->state->mode = BAD;
- z->msg = (char*)"incorrect data check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Trace((stderr, "inflate: zlib check ok\n"));
- z->state->mode = DONE;
- case DONE:
- return Z_STREAM_END;
- case BAD:
- return Z_DATA_ERROR;
- default:
- return Z_STREAM_ERROR;
- }
-
- empty:
- if (f != Z_PACKET_FLUSH)
- return r;
- z->state->mode = BAD;
- z->msg = (char *)"need more for packet flush";
- z->state->sub.marker = 0; /* can try inflateSync */
- return Z_DATA_ERROR;
-}
-
-
-int inflateSetDictionary(z, dictionary, dictLength)
-z_streamp z;
-const Bytef *dictionary;
-uInt dictLength;
-{
- uInt length = dictLength;
-
- if (z == Z_NULL || z->state == Z_NULL || z->state->mode != DICT0)
- return Z_STREAM_ERROR;
-
- if (adler32(1L, dictionary, dictLength) != z->adler) return Z_DATA_ERROR;
- z->adler = 1L;
-
- if (length >= ((uInt)1<<z->state->wbits))
- {
- length = (1<<z->state->wbits)-1;
- dictionary += dictLength - length;
- }
- inflate_set_dictionary(z->state->blocks, dictionary, length);
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-/*
- * This subroutine adds the data at next_in/avail_in to the output history
- * without performing any output. The output buffer must be "caught up";
- * i.e. no pending output (hence s->read equals s->write), and the state must
- * be BLOCKS (i.e. we should be willing to see the start of a series of
- * BLOCKS). On exit, the output will also be caught up, and the checksum
- * will have been updated if need be.
- */
-
-int inflateIncomp(z)
-z_stream *z;
-{
- if (z->state->mode != BLOCKS)
- return Z_DATA_ERROR;
- return inflate_addhistory(z->state->blocks, z);
-}
-
-
-int inflateSync(z)
-z_streamp z;
-{
- uInt n; /* number of bytes to look at */
- Bytef *p; /* pointer to bytes */
- uInt m; /* number of marker bytes found in a row */
- uLong r, w; /* temporaries to save total_in and total_out */
-
- /* set up */
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->mode != BAD)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0;
- }
- if ((n = z->avail_in) == 0)
- return Z_BUF_ERROR;
- p = z->next_in;
- m = z->state->sub.marker;
-
- /* search */
- while (n && m < 4)
- {
- if (*p == (Byte)(m < 2 ? 0 : 0xff))
- m++;
- else if (*p)
- m = 0;
- else
- m = 4 - m;
- p++, n--;
- }
-
- /* restore */
- z->total_in += p - z->next_in;
- z->next_in = p;
- z->avail_in = n;
- z->state->sub.marker = m;
-
- /* return no joy or set up to restart on a new block */
- if (m != 4)
- return Z_DATA_ERROR;
- r = z->total_in; w = z->total_out;
- inflateReset(z);
- z->total_in = r; z->total_out = w;
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-#undef NEEDBYTE
-#undef NEXTBYTE
-/* --- inflate.c */
-
-/* +++ infblock.c */
-/* infblock.c -- interpret and process block types to last block
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "infblock.h" */
-
-/* +++ inftrees.h */
-/* inftrees.h -- header to use inftrees.c
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* Huffman code lookup table entry--this entry is four bytes for machines
- that have 16-bit pointers (e.g. PC's in the small or medium model). */
-
-typedef struct inflate_huft_s FAR inflate_huft;
-
-struct inflate_huft_s {
- union {
- struct {
- Byte Exop; /* number of extra bits or operation */
- Byte Bits; /* number of bits in this code or subcode */
- } what;
- Bytef *pad; /* pad structure to a power of 2 (4 bytes for */
- } word; /* 16-bit, 8 bytes for 32-bit machines) */
- union {
- uInt Base; /* literal, length base, or distance base */
- inflate_huft *Next; /* pointer to next level of table */
- } more;
-};
-
-#ifdef DEBUG_ZLIB
- extern uInt inflate_hufts;
-#endif
-
-extern int inflate_trees_bits OF((
- uIntf *, /* 19 code lengths */
- uIntf *, /* bits tree desired/actual depth */
- inflate_huft * FAR *, /* bits tree result */
- z_streamp )); /* for zalloc, zfree functions */
-
-extern int inflate_trees_dynamic OF((
- uInt, /* number of literal/length codes */
- uInt, /* number of distance codes */
- uIntf *, /* that many (total) code lengths */
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *, /* distance tree result */
- z_streamp )); /* for zalloc, zfree functions */
-
-extern int inflate_trees_fixed OF((
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *)); /* distance tree result */
-
-extern int inflate_trees_free OF((
- inflate_huft *, /* tables to free */
- z_streamp )); /* for zfree function */
-
-/* --- inftrees.h */
-
-/* +++ infcodes.h */
-/* infcodes.h -- header to use infcodes.c
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_codes_state;
-typedef struct inflate_codes_state FAR inflate_codes_statef;
-
-extern inflate_codes_statef *inflate_codes_new OF((
- uInt, uInt,
- inflate_huft *, inflate_huft *,
- z_streamp ));
-
-extern int inflate_codes OF((
- inflate_blocks_statef *,
- z_streamp ,
- int));
-
-extern void inflate_codes_free OF((
- inflate_codes_statef *,
- z_streamp ));
-
-/* --- infcodes.h */
-
-/* +++ infutil.h */
-/* infutil.h -- types and macros common to blocks and codes
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-#ifndef _INFUTIL_H
-#define _INFUTIL_H
-
-typedef enum {
- TYPE, /* get type bits (3, including end bit) */
- LENS, /* get lengths for stored */
- STORED, /* processing stored block */
- TABLE, /* get table lengths */
- BTREE, /* get bit lengths tree for a dynamic block */
- DTREE, /* get length, distance trees for a dynamic block */
- CODES, /* processing fixed or dynamic block */
- DRY, /* output remaining window bytes */
- DONEB, /* finished last block, done */
- BADB} /* got a data error--stuck here */
-inflate_block_mode;
-
-/* inflate blocks semi-private state */
-struct inflate_blocks_state {
-
- /* mode */
- inflate_block_mode mode; /* current inflate_block mode */
-
- /* mode dependent information */
- union {
- uInt left; /* if STORED, bytes left to copy */
- struct {
- uInt table; /* table lengths (14 bits) */
- uInt index; /* index into blens (or border) */
- uIntf *blens; /* bit lengths of codes */
- uInt bb; /* bit length tree depth */
- inflate_huft *tb; /* bit length decoding tree */
- } trees; /* if DTREE, decoding info for trees */
- struct {
- inflate_huft *tl;
- inflate_huft *td; /* trees to free */
- inflate_codes_statef
- *codes;
- } decode; /* if CODES, current state */
- } sub; /* submode */
- uInt last; /* true if this block is the last block */
-
- /* mode independent information */
- uInt bitk; /* bits in bit buffer */
- uLong bitb; /* bit buffer */
- Bytef *window; /* sliding window */
- Bytef *end; /* one byte after sliding window */
- Bytef *read; /* window read pointer */
- Bytef *write; /* window write pointer */
- check_func checkfn; /* check function */
- uLong check; /* check on output */
-
-};
-
-
-/* defines for inflate input/output */
-/* update pointers and return */
-#define UPDBITS {s->bitb=b;s->bitk=k;}
-#define UPDIN {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
-#define UPDOUT {s->write=q;}
-#define UPDATE {UPDBITS UPDIN UPDOUT}
-#define LEAVE {UPDATE return inflate_flush(s,z,r);}
-/* get bytes and bits */
-#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
-#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
-#define NEXTBYTE (n--,*p++)
-#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define DUMPBITS(j) {b>>=(j);k-=(j);}
-/* output bytes */
-#define WAVAIL (uInt)(q<s->read?s->read-q-1:s->end-q)
-#define LOADOUT {q=s->write;m=(uInt)WAVAIL;}
-#define WWRAP {if(q==s->end&&s->read!=s->window){q=s->window;m=(uInt)WAVAIL;}}
-#define FLUSH {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
-#define NEEDOUT {if(m==0){WWRAP if(m==0){FLUSH WWRAP if(m==0) LEAVE}}r=Z_OK;}
-#define OUTBYTE(a) {*q++=(Byte)(a);m--;}
-/* load local pointers */
-#define LOAD {LOADIN LOADOUT}
-
-/* masks for lower bits (size given to avoid silly warnings with Visual C++) */
-extern uInt inflate_mask[17];
-
-/* copy as much as possible from the sliding window to the output area */
-extern int inflate_flush OF((
- inflate_blocks_statef *,
- z_streamp ,
- int));
-
-#ifndef NO_DUMMY_DECL
-struct internal_state {int dummy;}; /* for buggy compilers */
-#endif
-
-#endif
-/* --- infutil.h */
-
-#ifndef NO_DUMMY_DECL
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* Table for deflate from PKZIP's appnote.txt. */
-local const uInt border[] = { /* Order of the bit length code lengths */
- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
-
-/*
- Notes beyond the 1.93a appnote.txt:
-
- 1. Distance pointers never point before the beginning of the output
- stream.
- 2. Distance pointers can point back across blocks, up to 32k away.
- 3. There is an implied maximum of 7 bits for the bit length table and
- 15 bits for the actual data.
- 4. If only one code exists, then it is encoded using one bit. (Zero
- would be more efficient, but perhaps a little confusing.) If two
- codes exist, they are coded using one bit each (0 and 1).
- 5. There is no way of sending zero distance codes--a dummy must be
- sent if there are none. (History: a pre 2.0 version of PKZIP would
- store blocks with no distance codes, but this was discovered to be
- too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
- zero distance codes, which is sent as one code of zero bits in
- length.
- 6. There are up to 286 literal/length codes. Code 256 represents the
- end-of-block. Note however that the static length tree defines
- 288 codes just to fill out the Huffman codes. Codes 286 and 287
- cannot be used though, since there is no length base or extra bits
- defined for them. Similarily, there are up to 30 distance codes.
- However, static trees define 32 codes (all 5 bits) to fill out the
- Huffman codes, but the last two had better not show up in the data.
- 7. Unzip can check dynamic Huffman blocks for complete code sets.
- The exception is that a single code would not be complete (see #4).
- 8. The five bits following the block type is really the number of
- literal codes sent minus 257.
- 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
- (1+6+6). Therefore, to output three times the length, you output
- three codes (1+1+1), whereas to output four times the same length,
- you only need two codes (1+3). Hmm.
- 10. In the tree reconstruction algorithm, Code = Code + Increment
- only if BitLength(i) is not zero. (Pretty obvious.)
- 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
- 12. Note: length code 284 can represent 227-258, but length code 285
- really is 258. The last length deserves its own, short code
- since it gets used a lot in very redundant files. The length
- 258 is special since 258 - 3 (the min match length) is 255.
- 13. The literal/length and distance code bit lengths are read as a
- single stream of lengths. It is possible (and advantageous) for
- a repeat code (16, 17, or 18) to go across the boundary between
- the two sets of lengths.
- */
-
-
-void inflate_blocks_reset(s, z, c)
-inflate_blocks_statef *s;
-z_streamp z;
-uLongf *c;
-{
- if (s->checkfn != Z_NULL)
- *c = s->check;
- if (s->mode == BTREE || s->mode == DTREE)
- ZFREE(z, s->sub.trees.blens);
- if (s->mode == CODES)
- {
- inflate_codes_free(s->sub.decode.codes, z);
- inflate_trees_free(s->sub.decode.td, z);
- inflate_trees_free(s->sub.decode.tl, z);
- }
- s->mode = TYPE;
- s->bitk = 0;
- s->bitb = 0;
- s->read = s->write = s->window;
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(0L, Z_NULL, 0);
- Trace((stderr, "inflate: blocks reset\n"));
-}
-
-
-inflate_blocks_statef *inflate_blocks_new(z, c, w)
-z_streamp z;
-check_func c;
-uInt w;
-{
- inflate_blocks_statef *s;
-
- if ((s = (inflate_blocks_statef *)ZALLOC
- (z,1,sizeof(struct inflate_blocks_state))) == Z_NULL)
- return s;
- if ((s->window = (Bytef *)ZALLOC(z, 1, w)) == Z_NULL)
- {
- ZFREE(z, s);
- return Z_NULL;
- }
- s->end = s->window + w;
- s->checkfn = c;
- s->mode = TYPE;
- Trace((stderr, "inflate: blocks allocated\n"));
- inflate_blocks_reset(s, z, &s->check);
- return s;
-}
-
-
-#ifdef DEBUG_ZLIB
- extern uInt inflate_hufts;
-#endif
-int inflate_blocks(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt t; /* temporary storage */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input based on current state */
- while (1) switch (s->mode)
- {
- case TYPE:
- NEEDBITS(3)
- t = (uInt)b & 7;
- s->last = t & 1;
- switch (t >> 1)
- {
- case 0: /* stored */
- Trace((stderr, "inflate: stored block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- t = k & 7; /* go to byte boundary */
- DUMPBITS(t)
- s->mode = LENS; /* get length of stored block */
- break;
- case 1: /* fixed */
- Trace((stderr, "inflate: fixed codes block%s\n",
- s->last ? " (last)" : ""));
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
-
- inflate_trees_fixed(&bl, &bd, &tl, &td);
- s->sub.decode.codes = inflate_codes_new(bl, bd, tl, td, z);
- if (s->sub.decode.codes == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.decode.tl = Z_NULL; /* don't try to free these */
- s->sub.decode.td = Z_NULL;
- }
- DUMPBITS(3)
- s->mode = CODES;
- break;
- case 2: /* dynamic */
- Trace((stderr, "inflate: dynamic codes block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- s->mode = TABLE;
- break;
- case 3: /* illegal */
- DUMPBITS(3)
- s->mode = BADB;
- z->msg = (char*)"invalid block type";
- r = Z_DATA_ERROR;
- LEAVE
- }
- break;
- case LENS:
- NEEDBITS(32)
- if ((((~b) >> 16) & 0xffff) != (b & 0xffff))
- {
- s->mode = BADB;
- z->msg = (char*)"invalid stored block lengths";
- r = Z_DATA_ERROR;
- LEAVE
- }
- s->sub.left = (uInt)b & 0xffff;
- b = k = 0; /* dump bits */
- Tracev((stderr, "inflate: stored length %u\n", s->sub.left));
- s->mode = s->sub.left ? STORED : (s->last ? DRY : TYPE);
- break;
- case STORED:
- if (n == 0)
- LEAVE
- NEEDOUT
- t = s->sub.left;
- if (t > n) t = n;
- if (t > m) t = m;
- zmemcpy(q, p, t);
- p += t; n -= t;
- q += t; m -= t;
- if ((s->sub.left -= t) != 0)
- break;
- Tracev((stderr, "inflate: stored end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- s->mode = s->last ? DRY : TYPE;
- break;
- case TABLE:
- NEEDBITS(14)
- s->sub.trees.table = t = (uInt)b & 0x3fff;
-#ifndef PKZIP_BUG_WORKAROUND
- if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)
- {
- s->mode = BADB;
- z->msg = (char*)"too many length or distance symbols";
- r = Z_DATA_ERROR;
- LEAVE
- }
-#endif
- t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
- if (t < 19)
- t = 19;
- if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- DUMPBITS(14)
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: table sizes ok\n"));
- s->mode = BTREE;
- case BTREE:
- while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
- {
- NEEDBITS(3)
- s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
- DUMPBITS(3)
- }
- while (s->sub.trees.index < 19)
- s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
- s->sub.trees.bb = 7;
- t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
- &s->sub.trees.tb, z);
- if (t != Z_OK)
- {
- ZFREE(z, s->sub.trees.blens);
- r = t;
- if (r == Z_DATA_ERROR)
- s->mode = BADB;
- LEAVE
- }
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: bits tree ok\n"));
- s->mode = DTREE;
- case DTREE:
- while (t = s->sub.trees.table,
- s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
- {
- inflate_huft *h;
- uInt i, j, c;
-
- t = s->sub.trees.bb;
- NEEDBITS(t)
- h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
- t = h->word.what.Bits;
- c = h->more.Base;
- if (c < 16)
- {
- DUMPBITS(t)
- s->sub.trees.blens[s->sub.trees.index++] = c;
- }
- else /* c == 16..18 */
- {
- i = c == 18 ? 7 : c - 14;
- j = c == 18 ? 11 : 3;
- NEEDBITS(t + i)
- DUMPBITS(t)
- j += (uInt)b & inflate_mask[i];
- DUMPBITS(i)
- i = s->sub.trees.index;
- t = s->sub.trees.table;
- if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) ||
- (c == 16 && i < 1))
- {
- inflate_trees_free(s->sub.trees.tb, z);
- ZFREE(z, s->sub.trees.blens);
- s->mode = BADB;
- z->msg = (char*)"invalid bit length repeat";
- r = Z_DATA_ERROR;
- LEAVE
- }
- c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
- do {
- s->sub.trees.blens[i++] = c;
- } while (--j);
- s->sub.trees.index = i;
- }
- }
- inflate_trees_free(s->sub.trees.tb, z);
- s->sub.trees.tb = Z_NULL;
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
- inflate_codes_statef *c;
-
- bl = 9; /* must be <= 9 for lookahead assumptions */
- bd = 6; /* must be <= 9 for lookahead assumptions */
- t = s->sub.trees.table;
-#ifdef DEBUG_ZLIB
- inflate_hufts = 0;
-#endif
- t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
- s->sub.trees.blens, &bl, &bd, &tl, &td, z);
- ZFREE(z, s->sub.trees.blens);
- if (t != Z_OK)
- {
- if (t == (uInt)Z_DATA_ERROR)
- s->mode = BADB;
- r = t;
- LEAVE
- }
- Tracev((stderr, "inflate: trees ok, %d * %d bytes used\n",
- inflate_hufts, sizeof(inflate_huft)));
- if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
- {
- inflate_trees_free(td, z);
- inflate_trees_free(tl, z);
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.decode.codes = c;
- s->sub.decode.tl = tl;
- s->sub.decode.td = td;
- }
- s->mode = CODES;
- case CODES:
- UPDATE
- if ((r = inflate_codes(s, z, r)) != Z_STREAM_END)
- return inflate_flush(s, z, r);
- r = Z_OK;
- inflate_codes_free(s->sub.decode.codes, z);
- inflate_trees_free(s->sub.decode.td, z);
- inflate_trees_free(s->sub.decode.tl, z);
- LOAD
- Tracev((stderr, "inflate: codes end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- if (!s->last)
- {
- s->mode = TYPE;
- break;
- }
- if (k > 7) /* return unused byte, if any */
- {
- Assert(k < 16, "inflate_codes grabbed too many bytes")
- k -= 8;
- n++;
- p--; /* can always return one */
- }
- s->mode = DRY;
- case DRY:
- FLUSH
- if (s->read != s->write)
- LEAVE
- s->mode = DONEB;
- case DONEB:
- r = Z_STREAM_END;
- LEAVE
- case BADB:
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-int inflate_blocks_free(s, z, c)
-inflate_blocks_statef *s;
-z_streamp z;
-uLongf *c;
-{
- inflate_blocks_reset(s, z, c);
- ZFREE(z, s->window);
- ZFREE(z, s);
- Trace((stderr, "inflate: blocks freed\n"));
- return Z_OK;
-}
-
-
-void inflate_set_dictionary(s, d, n)
-inflate_blocks_statef *s;
-const Bytef *d;
-uInt n;
-{
- zmemcpy((charf *)s->window, d, n);
- s->read = s->write = s->window + n;
-}
-
-/*
- * This subroutine adds the data at next_in/avail_in to the output history
- * without performing any output. The output buffer must be "caught up";
- * i.e. no pending output (hence s->read equals s->write), and the state must
- * be BLOCKS (i.e. we should be willing to see the start of a series of
- * BLOCKS). On exit, the output will also be caught up, and the checksum
- * will have been updated if need be.
- */
-int inflate_addhistory(s, z)
-inflate_blocks_statef *s;
-z_stream *z;
-{
- uLong b; /* bit buffer */ /* NOT USED HERE */
- uInt k; /* bits in bit buffer */ /* NOT USED HERE */
- uInt t; /* temporary storage */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- if (s->read != s->write)
- return Z_STREAM_ERROR;
- if (s->mode != TYPE)
- return Z_DATA_ERROR;
-
- /* we're ready to rock */
- LOAD
- /* while there is input ready, copy to output buffer, moving
- * pointers as needed.
- */
- while (n) {
- t = n; /* how many to do */
- /* is there room until end of buffer? */
- if (t > m) t = m;
- /* update check information */
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(s->check, q, t);
- zmemcpy(q, p, t);
- q += t;
- p += t;
- n -= t;
- z->total_out += t;
- s->read = q; /* drag read pointer forward */
-/* WWRAP */ /* expand WWRAP macro by hand to handle s->read */
- if (q == s->end) {
- s->read = q = s->window;
- m = WAVAIL;
- }
- }
- UPDATE
- return Z_OK;
-}
-
-
-/*
- * At the end of a Deflate-compressed PPP packet, we expect to have seen
- * a `stored' block type value but not the (zero) length bytes.
- */
-int inflate_packet_flush(s)
- inflate_blocks_statef *s;
-{
- if (s->mode != LENS)
- return Z_DATA_ERROR;
- s->mode = TYPE;
- return Z_OK;
-}
-/* --- infblock.c */
-
-/* +++ inftrees.c */
-/* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "inftrees.h" */
-
-char inflate_copyright[] = " inflate 1.0.4 Copyright 1995-1996 Mark Adler ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-#ifndef NO_DUMMY_DECL
-struct internal_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-
-local int huft_build OF((
- uIntf *, /* code lengths in bits */
- uInt, /* number of codes */
- uInt, /* number of "simple" codes */
- const uIntf *, /* list of base values for non-simple codes */
- const uIntf *, /* list of extra bits for non-simple codes */
- inflate_huft * FAR*,/* result: starting table */
- uIntf *, /* maximum lookup bits (returns actual) */
- z_streamp )); /* for zalloc function */
-
-local voidpf falloc OF((
- voidpf, /* opaque pointer (not used) */
- uInt, /* number of items */
- uInt)); /* size of item */
-
-/* Tables for deflate from PKZIP's appnote.txt. */
-local const uInt cplens[31] = { /* Copy lengths for literal codes 257..285 */
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
- 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
- /* see note #13 above about 258 */
-local const uInt cplext[31] = { /* Extra bits for literal codes 257..285 */
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
- 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112}; /* 112==invalid */
-local const uInt cpdist[30] = { /* Copy offsets for distance codes 0..29 */
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
- 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
- 8193, 12289, 16385, 24577};
-local const uInt cpdext[30] = { /* Extra bits for distance codes */
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
- 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
- 12, 12, 13, 13};
-
-/*
- Huffman code decoding is performed using a multi-level table lookup.
- The fastest way to decode is to simply build a lookup table whose
- size is determined by the longest code. However, the time it takes
- to build this table can also be a factor if the data being decoded
- is not very long. The most common codes are necessarily the
- shortest codes, so those codes dominate the decoding time, and hence
- the speed. The idea is you can have a shorter table that decodes the
- shorter, more probable codes, and then point to subsidiary tables for
- the longer codes. The time it costs to decode the longer codes is
- then traded against the time it takes to make longer tables.
-
- This results of this trade are in the variables lbits and dbits
- below. lbits is the number of bits the first level table for literal/
- length codes can decode in one step, and dbits is the same thing for
- the distance codes. Subsequent tables are also less than or equal to
- those sizes. These values may be adjusted either when all of the
- codes are shorter than that, in which case the longest code length in
- bits is used, or when the shortest code is *longer* than the requested
- table size, in which case the length of the shortest code in bits is
- used.
-
- There are two different values for the two tables, since they code a
- different number of possibilities each. The literal/length table
- codes 286 possible values, or in a flat code, a little over eight
- bits. The distance table codes 30 possible values, or a little less
- than five bits, flat. The optimum values for speed end up being
- about one bit more than those, so lbits is 8+1 and dbits is 5+1.
- The optimum values may differ though from machine to machine, and
- possibly even between compilers. Your mileage may vary.
- */
-
-
-/* If BMAX needs to be larger than 16, then h and x[] should be uLong. */
-#define BMAX 15 /* maximum bit length of any code */
-#define N_MAX 288 /* maximum number of codes in any set */
-
-#ifdef DEBUG_ZLIB
- uInt inflate_hufts;
-#endif
-
-local int huft_build(b, n, s, d, e, t, m, zs)
-uIntf *b; /* code lengths in bits (all assumed <= BMAX) */
-uInt n; /* number of codes (assumed <= N_MAX) */
-uInt s; /* number of simple-valued codes (0..s-1) */
-const uIntf *d; /* list of base values for non-simple codes */
-const uIntf *e; /* list of extra bits for non-simple codes */
-inflate_huft * FAR *t; /* result: starting table */
-uIntf *m; /* maximum lookup bits, returns actual */
-z_streamp zs; /* for zalloc function */
-/* Given a list of code lengths and a maximum table size, make a set of
- tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
- if the given code set is incomplete (the tables are still built in this
- case), Z_DATA_ERROR if the input is invalid (an over-subscribed set of
- lengths), or Z_MEM_ERROR if not enough memory. */
-{
-
- uInt a; /* counter for codes of length k */
- uInt c[BMAX+1]; /* bit length count table */
- uInt f; /* i repeats in table every f entries */
- int g; /* maximum code length */
- int h; /* table level */
- register uInt i; /* counter, current code */
- register uInt j; /* counter */
- register int k; /* number of bits in current code */
- int l; /* bits per table (returned in m) */
- register uIntf *p; /* pointer into c[], b[], or v[] */
- inflate_huft *q; /* points to current table */
- struct inflate_huft_s r; /* table entry for structure assignment */
- inflate_huft *u[BMAX]; /* table stack */
- uInt v[N_MAX]; /* values in order of bit length */
- register int w; /* bits before this table == (l * h) */
- uInt x[BMAX+1]; /* bit offsets, then code stack */
- uIntf *xp; /* pointer into x */
- int y; /* number of dummy codes added */
- uInt z; /* number of entries in current table */
-
-
- /* Generate counts for each bit length */
- p = c;
-#define C0 *p++ = 0;
-#define C2 C0 C0 C0 C0
-#define C4 C2 C2 C2 C2
- C4 /* clear c[]--assume BMAX+1 is 16 */
- p = b; i = n;
- do {
- c[*p++]++; /* assume all entries <= BMAX */
- } while (--i);
- if (c[0] == n) /* null input--all zero length codes */
- {
- *t = (inflate_huft *)Z_NULL;
- *m = 0;
- return Z_OK;
- }
-
-
- /* Find minimum and maximum length, bound *m by those */
- l = *m;
- for (j = 1; j <= BMAX; j++)
- if (c[j])
- break;
- k = j; /* minimum code length */
- if ((uInt)l < j)
- l = j;
- for (i = BMAX; i; i--)
- if (c[i])
- break;
- g = i; /* maximum code length */
- if ((uInt)l > i)
- l = i;
- *m = l;
-
-
- /* Adjust last length count to fill out codes, if needed */
- for (y = 1 << j; j < i; j++, y <<= 1)
- if ((y -= c[j]) < 0)
- return Z_DATA_ERROR;
- if ((y -= c[i]) < 0)
- return Z_DATA_ERROR;
- c[i] += y;
-
-
- /* Generate starting offsets into the value table for each length */
- x[1] = j = 0;
- p = c + 1; xp = x + 2;
- while (--i) { /* note that i == g from above */
- *xp++ = (j += *p++);
- }
-
-
- /* Make a table of values in order of bit lengths */
- p = b; i = 0;
- do {
- if ((j = *p++) != 0)
- v[x[j]++] = i;
- } while (++i < n);
- n = x[g]; /* set n to length of v */
-
-
- /* Generate the Huffman codes and for each, make the table entries */
- x[0] = i = 0; /* first Huffman code is zero */
- p = v; /* grab values in bit order */
- h = -1; /* no tables yet--level -1 */
- w = -l; /* bits decoded == (l * h) */
- u[0] = (inflate_huft *)Z_NULL; /* just to keep compilers happy */
- q = (inflate_huft *)Z_NULL; /* ditto */
- z = 0; /* ditto */
-
- /* go through the bit lengths (k already is bits in shortest code) */
- for (; k <= g; k++)
- {
- a = c[k];
- while (a--)
- {
- /* here i is the Huffman code of length k bits for value *p */
- /* make tables up to required level */
- while (k > w + l)
- {
- h++;
- w += l; /* previous table always l bits */
-
- /* compute minimum size table less than or equal to l bits */
- z = g - w;
- z = z > (uInt)l ? l : z; /* table size upper limit */
- if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
- { /* too few codes for k-w bit table */
- f -= a + 1; /* deduct codes from patterns left */
- xp = c + k;
- if (j < z)
- while (++j < z) /* try smaller tables up to z bits */
- {
- if ((f <<= 1) <= *++xp)
- break; /* enough codes to use up j bits */
- f -= *xp; /* else deduct codes from patterns */
- }
- }
- z = 1 << j; /* table entries for j-bit table */
-
- /* allocate and link in new table */
- if ((q = (inflate_huft *)ZALLOC
- (zs,z + 1,sizeof(inflate_huft))) == Z_NULL)
- {
- if (h)
- inflate_trees_free(u[0], zs);
- return Z_MEM_ERROR; /* not enough memory */
- }
-#ifdef DEBUG_ZLIB
- inflate_hufts += z + 1;
-#endif
- *t = q + 1; /* link to list for huft_free() */
- *(t = &(q->next)) = Z_NULL;
- u[h] = ++q; /* table starts after link */
-
- /* connect to last table, if there is one */
- if (h)
- {
- x[h] = i; /* save pattern for backing up */
- r.bits = (Byte)l; /* bits to dump before this table */
- r.exop = (Byte)j; /* bits in this table */
- r.next = q; /* pointer to this table */
- j = i >> (w - l); /* (get around Turbo C bug) */
- u[h-1][j] = r; /* connect to last table */
- }
- }
-
- /* set up table entry in r */
- r.bits = (Byte)(k - w);
- if (p >= v + n)
- r.exop = 128 + 64; /* out of values--invalid code */
- else if (*p < s)
- {
- r.exop = (Byte)(*p < 256 ? 0 : 32 + 64); /* 256 is end-of-block */
- r.base = *p++; /* simple code is just the value */
- }
- else
- {
- r.exop = (Byte)(e[*p - s] + 16 + 64);/* non-simple--look up in lists */
- r.base = d[*p++ - s];
- }
-
- /* fill code-like entries with r */
- f = 1 << (k - w);
- for (j = i >> w; j < z; j += f)
- q[j] = r;
-
- /* backwards increment the k-bit code i */
- for (j = 1 << (k - 1); i & j; j >>= 1)
- i ^= j;
- i ^= j;
-
- /* backup over finished tables */
- while ((i & ((1 << w) - 1)) != x[h])
- {
- h--; /* don't need to update q */
- w -= l;
- }
- }
- }
-
-
- /* Return Z_BUF_ERROR if we were given an incomplete table */
- return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;
-}
-
-
-int inflate_trees_bits(c, bb, tb, z)
-uIntf *c; /* 19 code lengths */
-uIntf *bb; /* bits tree desired/actual depth */
-inflate_huft * FAR *tb; /* bits tree result */
-z_streamp z; /* for zfree function */
-{
- int r;
-
- r = huft_build(c, 19, 19, (uIntf*)Z_NULL, (uIntf*)Z_NULL, tb, bb, z);
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed dynamic bit lengths tree";
- else if (r == Z_BUF_ERROR || *bb == 0)
- {
- inflate_trees_free(*tb, z);
- z->msg = (char*)"incomplete dynamic bit lengths tree";
- r = Z_DATA_ERROR;
- }
- return r;
-}
-
-
-int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, z)
-uInt nl; /* number of literal/length codes */
-uInt nd; /* number of distance codes */
-uIntf *c; /* that many (total) code lengths */
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-z_streamp z; /* for zfree function */
-{
- int r;
-
- /* build literal/length tree */
- r = huft_build(c, nl, 257, cplens, cplext, tl, bl, z);
- if (r != Z_OK || *bl == 0)
- {
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed literal/length tree";
- else if (r != Z_MEM_ERROR)
- {
- inflate_trees_free(*tl, z);
- z->msg = (char*)"incomplete literal/length tree";
- r = Z_DATA_ERROR;
- }
- return r;
- }
-
- /* build distance tree */
- r = huft_build(c + nl, nd, 0, cpdist, cpdext, td, bd, z);
- if (r != Z_OK || (*bd == 0 && nl > 257))
- {
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed distance tree";
- else if (r == Z_BUF_ERROR) {
-#ifdef PKZIP_BUG_WORKAROUND
- r = Z_OK;
- }
-#else
- inflate_trees_free(*td, z);
- z->msg = (char*)"incomplete distance tree";
- r = Z_DATA_ERROR;
- }
- else if (r != Z_MEM_ERROR)
- {
- z->msg = (char*)"empty distance tree with lengths";
- r = Z_DATA_ERROR;
- }
- inflate_trees_free(*tl, z);
- return r;
-#endif
- }
-
- /* done */
- return Z_OK;
-}
-
-
-/* build fixed tables only once--keep them here */
-local int fixed_built = 0;
-#define FIXEDH 530 /* number of hufts used by fixed tables */
-local inflate_huft fixed_mem[FIXEDH];
-local uInt fixed_bl;
-local uInt fixed_bd;
-local inflate_huft *fixed_tl;
-local inflate_huft *fixed_td;
-
-
-local voidpf falloc(q, n, s)
-voidpf q; /* opaque pointer */
-uInt n; /* number of items */
-uInt s; /* size of item */
-{
- Assert(s == sizeof(inflate_huft) && n <= *(intf *)q,
- "inflate_trees falloc overflow");
- *(intf *)q -= n+s-s; /* s-s to avoid warning */
- return (voidpf)(fixed_mem + *(intf *)q);
-}
-
-
-int inflate_trees_fixed(bl, bd, tl, td)
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-{
- /* build fixed tables if not already (multiple overlapped executions ok) */
- if (!fixed_built)
- {
- int k; /* temporary variable */
- unsigned c[288]; /* length list for huft_build */
- z_stream z; /* for falloc function */
- int f = FIXEDH; /* number of hufts left in fixed_mem */
-
- /* set up fake z_stream for memory routines */
- z.zalloc = falloc;
- z.zfree = Z_NULL;
- z.opaque = (voidpf)&f;
-
- /* literal table */
- for (k = 0; k < 144; k++)
- c[k] = 8;
- for (; k < 256; k++)
- c[k] = 9;
- for (; k < 280; k++)
- c[k] = 7;
- for (; k < 288; k++)
- c[k] = 8;
- fixed_bl = 7;
- huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl, &z);
-
- /* distance table */
- for (k = 0; k < 30; k++)
- c[k] = 5;
- fixed_bd = 5;
- huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd, &z);
-
- /* done */
- Assert(f == 0, "invalid build of fixed tables");
- fixed_built = 1;
- }
- *bl = fixed_bl;
- *bd = fixed_bd;
- *tl = fixed_tl;
- *td = fixed_td;
- return Z_OK;
-}
-
-
-int inflate_trees_free(t, z)
-inflate_huft *t; /* table to free */
-z_streamp z; /* for zfree function */
-/* Free the malloc'ed tables built by huft_build(), which makes a linked
- list of the tables it made, with the links in a dummy first entry of
- each table. */
-{
- register inflate_huft *p, *q, *r;
-
- /* Reverse linked list */
- p = Z_NULL;
- q = t;
- while (q != Z_NULL)
- {
- r = (q - 1)->next;
- (q - 1)->next = p;
- p = q;
- q = r;
- }
- /* Go through linked list, freeing from the malloced (t[-1]) address. */
- while (p != Z_NULL)
- {
- q = (--p)->next;
- ZFREE(z,p);
- p = q;
- }
- return Z_OK;
-}
-/* --- inftrees.c */
-
-/* +++ infcodes.c */
-/* infcodes.c -- process literals and length/distance pairs
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "inftrees.h" */
-/* #include "infblock.h" */
-/* #include "infcodes.h" */
-/* #include "infutil.h" */
-
-/* +++ inffast.h */
-/* inffast.h -- header to use inffast.c
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-extern int inflate_fast OF((
- uInt,
- uInt,
- inflate_huft *,
- inflate_huft *,
- inflate_blocks_statef *,
- z_streamp ));
-/* --- inffast.h */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* inflate codes private state */
-struct inflate_codes_state {
-
- /* mode */
- enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- START, /* x: set up for LEN */
- LEN, /* i: get length/literal/eob next */
- LENEXT, /* i: getting length extra (have base) */
- DIST, /* i: get distance next */
- DISTEXT, /* i: getting distance extra */
- COPY, /* o: copying bytes in window, waiting for space */
- LIT, /* o: got literal, waiting for output space */
- WASH, /* o: got eob, possibly still output waiting */
- END, /* x: got eob and all data flushed */
- BADCODE} /* x: got error */
- mode; /* current inflate_codes mode */
-
- /* mode dependent information */
- uInt len;
- union {
- struct {
- inflate_huft *tree; /* pointer into tree */
- uInt need; /* bits needed */
- } code; /* if LEN or DIST, where in tree */
- uInt lit; /* if LIT, literal */
- struct {
- uInt get; /* bits to get for extra */
- uInt dist; /* distance back to copy from */
- } copy; /* if EXT or COPY, where and how much */
- } sub; /* submode */
-
- /* mode independent information */
- Byte lbits; /* ltree bits decoded per branch */
- Byte dbits; /* dtree bits decoder per branch */
- inflate_huft *ltree; /* literal/length/eob tree */
- inflate_huft *dtree; /* distance tree */
-
-};
-
-
-inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-z_streamp z;
-{
- inflate_codes_statef *c;
-
- if ((c = (inflate_codes_statef *)
- ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
- {
- c->mode = START;
- c->lbits = (Byte)bl;
- c->dbits = (Byte)bd;
- c->ltree = tl;
- c->dtree = td;
- Tracev((stderr, "inflate: codes new\n"));
- }
- return c;
-}
-
-
-int inflate_codes(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt j; /* temporary storage */
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- Bytef *f; /* pointer to copy strings from */
- inflate_codes_statef *c = s->sub.decode.codes; /* codes state */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input and output based on current state */
- while (1) switch (c->mode)
- { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- case START: /* x: set up for LEN */
-#ifndef SLOW
- if (m >= 258 && n >= 10)
- {
- UPDATE
- r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
- LOAD
- if (r != Z_OK)
- {
- c->mode = r == Z_STREAM_END ? WASH : BADCODE;
- break;
- }
- }
-#endif /* !SLOW */
- c->sub.code.need = c->lbits;
- c->sub.code.tree = c->ltree;
- c->mode = LEN;
- case LEN: /* i: get length/literal/eob next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e == 0) /* literal */
- {
- c->sub.lit = t->base;
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: literal '%c'\n" :
- "inflate: literal 0x%02x\n", t->base));
- c->mode = LIT;
- break;
- }
- if (e & 16) /* length */
- {
- c->sub.copy.get = e & 15;
- c->len = t->base;
- c->mode = LENEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t->next;
- break;
- }
- if (e & 32) /* end of block */
- {
- Tracevv((stderr, "inflate: end of block\n"));
- c->mode = WASH;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = (char*)"invalid literal/length code";
- r = Z_DATA_ERROR;
- LEAVE
- case LENEXT: /* i: getting length extra (have base) */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->len += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- c->sub.code.need = c->dbits;
- c->sub.code.tree = c->dtree;
- Tracevv((stderr, "inflate: length %u\n", c->len));
- c->mode = DIST;
- case DIST: /* i: get distance next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e & 16) /* distance */
- {
- c->sub.copy.get = e & 15;
- c->sub.copy.dist = t->base;
- c->mode = DISTEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t->next;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = (char*)"invalid distance code";
- r = Z_DATA_ERROR;
- LEAVE
- case DISTEXT: /* i: getting distance extra */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->sub.copy.dist += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- Tracevv((stderr, "inflate: distance %u\n", c->sub.copy.dist));
- c->mode = COPY;
- case COPY: /* o: copying bytes in window, waiting for space */
-#ifndef __TURBOC__ /* Turbo C bug for following expression */
- f = (uInt)(q - s->window) < c->sub.copy.dist ?
- s->end - (c->sub.copy.dist - (q - s->window)) :
- q - c->sub.copy.dist;
-#else
- f = q - c->sub.copy.dist;
- if ((uInt)(q - s->window) < c->sub.copy.dist)
- f = s->end - (c->sub.copy.dist - (uInt)(q - s->window));
-#endif
- while (c->len)
- {
- NEEDOUT
- OUTBYTE(*f++)
- if (f == s->end)
- f = s->window;
- c->len--;
- }
- c->mode = START;
- break;
- case LIT: /* o: got literal, waiting for output space */
- NEEDOUT
- OUTBYTE(c->sub.lit)
- c->mode = START;
- break;
- case WASH: /* o: got eob, possibly more output */
- FLUSH
- if (s->read != s->write)
- LEAVE
- c->mode = END;
- case END:
- r = Z_STREAM_END;
- LEAVE
- case BADCODE: /* x: got error */
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-void inflate_codes_free(c, z)
-inflate_codes_statef *c;
-z_streamp z;
-{
- ZFREE(z, c);
- Tracev((stderr, "inflate: codes free\n"));
-}
-/* --- infcodes.c */
-
-/* +++ infutil.c */
-/* inflate_util.c -- data and routines common to blocks and codes
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "infblock.h" */
-/* #include "inftrees.h" */
-/* #include "infcodes.h" */
-/* #include "infutil.h" */
-
-#ifndef NO_DUMMY_DECL
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* And'ing with mask[n] masks the lower n bits */
-uInt inflate_mask[17] = {
- 0x0000,
- 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
-};
-
-
-/* copy as much as possible from the sliding window to the output area */
-int inflate_flush(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt n;
- Bytef *p;
- Bytef *q;
-
- /* local copies of source and destination pointers */
- p = z->next_out;
- q = s->read;
-
- /* compute number of bytes to copy as far as end of window */
- n = (uInt)((q <= s->write ? s->write : s->end) - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy as far as end of window */
- if (p != Z_NULL) {
- zmemcpy(p, q, n);
- p += n;
- }
- q += n;
-
- /* see if more to copy at beginning of window */
- if (q == s->end)
- {
- /* wrap pointers */
- q = s->window;
- if (s->write == s->end)
- s->write = s->window;
-
- /* compute bytes to copy */
- n = (uInt)(s->write - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy */
- if (p != Z_NULL) {
- zmemcpy(p, q, n);
- p += n;
- }
- q += n;
- }
-
- /* update pointers */
- z->next_out = p;
- s->read = q;
-
- /* done */
- return r;
-}
-/* --- infutil.c */
-
-/* +++ inffast.c */
-/* inffast.c -- process literals and length/distance pairs fast
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "inftrees.h" */
-/* #include "infblock.h" */
-/* #include "infcodes.h" */
-/* #include "infutil.h" */
-/* #include "inffast.h" */
-
-#ifndef NO_DUMMY_DECL
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* macros for bit input with no checking and for returning unused bytes */
-#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define UNGRAB {n+=(c=k>>3);p-=c;k&=7;}
-
-/* Called with number of bytes left to write in window at least 258
- (the maximum string length) and number of input bytes available
- at least ten. The ten bytes are six bytes for the longest length/
- distance pair plus four bytes for overloading the bit buffer. */
-
-int inflate_fast(bl, bd, tl, td, s, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-inflate_blocks_statef *s;
-z_streamp z;
-{
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- uInt ml; /* mask for literal/length tree */
- uInt md; /* mask for distance tree */
- uInt c; /* bytes to copy */
- uInt d; /* distance back to copy from */
- Bytef *r; /* copy source pointer */
-
- /* load input, output, bit values */
- LOAD
-
- /* initialize masks */
- ml = inflate_mask[bl];
- md = inflate_mask[bd];
-
- /* do until not enough input or output space for fast loop */
- do { /* assume called with m >= 258 && n >= 10 */
- /* get literal/length code */
- GRABBITS(20) /* max bits for literal/length code */
- if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- continue;
- }
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits for length */
- e &= 15;
- c = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * length %u\n", c));
-
- /* decode distance base of block to copy */
- GRABBITS(15); /* max bits for distance code */
- e = (t = td + ((uInt)b & md))->exop;
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits to add to distance base */
- e &= 15;
- GRABBITS(e) /* get extra bits (up to 13) */
- d = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * distance %u\n", d));
-
- /* do the copy */
- m -= c;
- if ((uInt)(q - s->window) >= d) /* offset before dest */
- { /* just copy */
- r = q - d;
- *q++ = *r++; c--; /* minimum count is three, */
- *q++ = *r++; c--; /* so unroll loop a little */
- }
- else /* else offset after destination */
- {
- e = d - (uInt)(q - s->window); /* bytes from offset to end */
- r = s->end - e; /* pointer to offset */
- if (c > e) /* if source crosses, */
- {
- c -= e; /* copy to end of window */
- do {
- *q++ = *r++;
- } while (--e);
- r = s->window; /* copy rest from start of window */
- }
- }
- do { /* copy all or what's left */
- *q++ = *r++;
- } while (--c);
- break;
- }
- else if ((e & 64) == 0)
- e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop;
- else
- {
- z->msg = (char*)"invalid distance code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- break;
- }
- if ((e & 64) == 0)
- {
- if ((e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- break;
- }
- }
- else if (e & 32)
- {
- Tracevv((stderr, "inflate: * end of block\n"));
- UNGRAB
- UPDATE
- return Z_STREAM_END;
- }
- else
- {
- z->msg = (char*)"invalid literal/length code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- } while (m >= 258 && n >= 10);
-
- /* not enough input or output--restore pointers and return */
- UNGRAB
- UPDATE
- return Z_OK;
-}
-/* --- inffast.c */
-
-/* +++ zutil.c */
-/* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995-1996 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: zutil.c,v 1.17 1996/07/24 13:41:12 me Exp $ */
-
-#ifdef DEBUG_ZLIB
-#include <stdio.h>
-#endif
-
-/* #include "zutil.h" */
-
-#ifndef NO_DUMMY_DECL
-struct internal_state {int dummy;}; /* for buggy compilers */
-#endif
-
-#ifndef STDC
-extern void exit OF((int));
-#endif
-
-const char *z_errmsg[10] = {
-"need dictionary", /* Z_NEED_DICT 2 */
-"stream end", /* Z_STREAM_END 1 */
-"", /* Z_OK 0 */
-"file error", /* Z_ERRNO (-1) */
-"stream error", /* Z_STREAM_ERROR (-2) */
-"data error", /* Z_DATA_ERROR (-3) */
-"insufficient memory", /* Z_MEM_ERROR (-4) */
-"buffer error", /* Z_BUF_ERROR (-5) */
-"incompatible version",/* Z_VERSION_ERROR (-6) */
-""};
-
-
-const char *zlibVersion()
-{
- return ZLIB_VERSION;
-}
-
-#ifdef DEBUG_ZLIB
-void z_error (m)
- char *m;
-{
- fprintf(stderr, "%s\n", m);
- exit(1);
-}
-#endif
-
-#ifndef HAVE_MEMCPY
-
-void zmemcpy(dest, source, len)
- Bytef* dest;
- Bytef* source;
- uInt len;
-{
- if (len == 0) return;
- do {
- *dest++ = *source++; /* ??? to be unrolled */
- } while (--len != 0);
-}
-
-int zmemcmp(s1, s2, len)
- Bytef* s1;
- Bytef* s2;
- uInt len;
-{
- uInt j;
-
- for (j = 0; j < len; j++) {
- if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
- }
- return 0;
-}
-
-void zmemzero(dest, len)
- Bytef* dest;
- uInt len;
-{
- if (len == 0) return;
- do {
- *dest++ = 0; /* ??? to be unrolled */
- } while (--len != 0);
-}
-#endif
-
-#ifdef __TURBOC__
-#if (defined( __BORLANDC__) || !defined(SMALL_MEDIUM)) && !defined(__32BIT__)
-/* Small and medium model in Turbo C are for now limited to near allocation
- * with reduced MAX_WBITS and MAX_MEM_LEVEL
- */
-# define MY_ZCALLOC
-
-/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
- * and farmalloc(64K) returns a pointer with an offset of 8, so we
- * must fix the pointer. Warning: the pointer must be put back to its
- * original form in order to free it, use zcfree().
- */
-
-#define MAX_PTR 10
-/* 10*64K = 640K */
-
-local int next_ptr = 0;
-
-typedef struct ptr_table_s {
- voidpf org_ptr;
- voidpf new_ptr;
-} ptr_table;
-
-local ptr_table table[MAX_PTR];
-/* This table is used to remember the original form of pointers
- * to large buffers (64K). Such pointers are normalized with a zero offset.
- * Since MSDOS is not a preemptive multitasking OS, this table is not
- * protected from concurrent access. This hack doesn't work anyway on
- * a protected system like OS/2. Use Microsoft C instead.
- */
-
-voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
-{
- voidpf buf = opaque; /* just to make some compilers happy */
- ulg bsize = (ulg)items*size;
-
- /* If we allocate less than 65520 bytes, we assume that farmalloc
- * will return a usable pointer which doesn't have to be normalized.
- */
- if (bsize < 65520L) {
- buf = farmalloc(bsize);
- if (*(ush*)&buf != 0) return buf;
- } else {
- buf = farmalloc(bsize + 16L);
- }
- if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
- table[next_ptr].org_ptr = buf;
-
- /* Normalize the pointer to seg:0 */
- *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
- *(ush*)&buf = 0;
- table[next_ptr++].new_ptr = buf;
- return buf;
-}
-
-void zcfree (voidpf opaque, voidpf ptr)
-{
- int n;
- if (*(ush*)&ptr != 0) { /* object < 64K */
- farfree(ptr);
- return;
- }
- /* Find the original pointer */
- for (n = 0; n < next_ptr; n++) {
- if (ptr != table[n].new_ptr) continue;
-
- farfree(table[n].org_ptr);
- while (++n < next_ptr) {
- table[n-1] = table[n];
- }
- next_ptr--;
- return;
- }
- ptr = opaque; /* just to make some compilers happy */
- Assert(0, "zcfree: ptr not found");
-}
-#endif
-#endif /* __TURBOC__ */
-
-
-#if defined(M_I86) && !defined(__32BIT__)
-/* Microsoft C in 16-bit mode */
-
-# define MY_ZCALLOC
-
-#if (!defined(_MSC_VER) || (_MSC_VER < 600))
-# define _halloc halloc
-# define _hfree hfree
-#endif
-
-voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
-{
- if (opaque) opaque = 0; /* to make compiler happy */
- return _halloc((long)items, size);
-}
-
-void zcfree (voidpf opaque, voidpf ptr)
-{
- if (opaque) opaque = 0; /* to make compiler happy */
- _hfree(ptr);
-}
-
-#endif /* MSC */
-
-
-#ifndef MY_ZCALLOC /* Any system without a special alloc function */
-
-#ifndef STDC
-extern voidp calloc OF((uInt items, uInt size));
-extern void free OF((voidpf ptr));
-#endif
-
-voidpf zcalloc (opaque, items, size)
- voidpf opaque;
- unsigned items;
- unsigned size;
-{
- if (opaque) items += size - size; /* make compiler happy */
- return (voidpf)calloc(items, size);
-}
-
-void zcfree (opaque, ptr)
- voidpf opaque;
- voidpf ptr;
-{
- free(ptr);
- if (opaque) return; /* make compiler happy */
-}
-
-#endif /* MY_ZCALLOC */
-/* --- zutil.c */
-
-/* +++ adler32.c */
-/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: adler32.c,v 1.10 1996/05/22 11:52:18 me Exp $ */
-
-/* #include "zlib.h" */
-
-#define BASE 65521L /* largest prime smaller than 65536 */
-#define NMAX 5552
-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
-
-#define DO1(buf,i) {s1 += buf[i]; s2 += s1;}
-#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
-#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
-#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
-#define DO16(buf) DO8(buf,0); DO8(buf,8);
-
-/* ========================================================================= */
-uLong adler32(adler, buf, len)
- uLong adler;
- const Bytef *buf;
- uInt len;
-{
- unsigned long s1 = adler & 0xffff;
- unsigned long s2 = (adler >> 16) & 0xffff;
- int k;
-
- if (buf == Z_NULL) return 1L;
-
- while (len > 0) {
- k = len < NMAX ? len : NMAX;
- len -= k;
- while (k >= 16) {
- DO16(buf);
- buf += 16;
- k -= 16;
- }
- if (k != 0) do {
- s1 += *buf++;
- s2 += s1;
- } while (--k);
- s1 %= BASE;
- s2 %= BASE;
- }
- return (s2 << 16) | s1;
-}
-/* --- adler32.c */
diff --git a/mdk-stage1/ppp/common/zlib.h b/mdk-stage1/ppp/common/zlib.h
deleted file mode 100644
index 188ddaff9..000000000
--- a/mdk-stage1/ppp/common/zlib.h
+++ /dev/null
@@ -1,1010 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is derived from zlib.h and zconf.h from the zlib-1.0.4
- * distribution by Jean-loup Gailly and Mark Adler, with some additions
- * by Paul Mackerras to aid in implementing Deflate compression and
- * decompression for PPP packets.
- */
-
-/*
- * ==FILEVERSION 971127==
- *
- * This marker is used by the Linux installation script to determine
- * whether an up-to-date version of this file is already installed.
- */
-
-
-/* +++ zlib.h */
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.0.4, Jul 24th, 1996.
-
- Copyright (C) 1995-1996 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- gzip@prep.ai.mit.edu madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
-*/
-
-#ifndef _ZLIB_H
-#define _ZLIB_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* +++ zconf.h */
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-1996 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: zconf.h,v 1.20 1996/07/02 15:09:28 me Exp $ */
-
-#ifndef _ZCONF_H
-#define _ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- */
-#ifdef Z_PREFIX
-# define deflateInit_ z_deflateInit_
-# define deflate z_deflate
-# define deflateEnd z_deflateEnd
-# define inflateInit_ z_inflateInit_
-# define inflate z_inflate
-# define inflateEnd z_inflateEnd
-# define deflateInit2_ z_deflateInit2_
-# define deflateSetDictionary z_deflateSetDictionary
-# define deflateCopy z_deflateCopy
-# define deflateReset z_deflateReset
-# define deflateParams z_deflateParams
-# define inflateInit2_ z_inflateInit2_
-# define inflateSetDictionary z_inflateSetDictionary
-# define inflateSync z_inflateSync
-# define inflateReset z_inflateReset
-# define compress z_compress
-# define uncompress z_uncompress
-# define adler32 z_adler32
-# define crc32 z_crc32
-# define get_crc_table z_get_crc_table
-
-# define Byte z_Byte
-# define uInt z_uInt
-# define uLong z_uLong
-# define Bytef z_Bytef
-# define charf z_charf
-# define intf z_intf
-# define uIntf z_uIntf
-# define uLongf z_uLongf
-# define voidpf z_voidpf
-# define voidp z_voidp
-#endif
-
-#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
-# define WIN32
-#endif
-#if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386)
-# ifndef __32BIT__
-# define __32BIT__
-# endif
-#endif
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#if defined(MSDOS) && !defined(__32BIT__)
-# define MAXSEG_64K
-#endif
-#ifdef MSDOS
-# define UNALIGNED_OK
-#endif
-
-#if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC)
-# define STDC
-#endif
-#if (defined(__STDC__) || defined(__cplusplus)) && !defined(STDC)
-# define STDC
-#endif
-
-#ifndef STDC
-# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-# define const
-# endif
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__)
-# define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2 */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- 1 << (windowBits+2) + 1 << (memLevel+9)
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__)
- /* MSC small or medium model */
-# define SMALL_MEDIUM
-# ifdef _MSC_VER
-# define FAR __far
-# else
-# define FAR far
-# endif
-#endif
-#if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__))
-# ifndef __32BIT__
-# define SMALL_MEDIUM
-# define FAR __far
-# endif
-#endif
-#ifndef FAR
-# define FAR
-#endif
-
-typedef unsigned char Byte; /* 8 bits */
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-#if defined(__BORLANDC__) && defined(SMALL_MEDIUM)
- /* Borland C/C++ ignores FAR inside typedef */
-# define Bytef Byte FAR
-#else
- typedef Byte FAR Bytef;
-#endif
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-
-/* Compile with -DZLIB_DLL for Windows DLL support */
-#if (defined(_WINDOWS) || defined(WINDOWS)) && defined(ZLIB_DLL)
-# include <windows.h>
-# define EXPORT WINAPI
-#else
-# define EXPORT
-#endif
-
-#endif /* _ZCONF_H */
-/* --- zconf.h */
-
-#define ZLIB_VERSION "1.0.4P"
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms may be added later and will have the same
- stream interface.
-
- For compression the application must provide the output buffer and
- may optionally provide the input buffer for optimization. For decompression,
- the application must provide the input buffer and may optionally provide
- the output buffer for optimization.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The library does not install any signal handler. It is recommended to
- add at least a handler for SIGSEGV when decompressing; the library checks
- the consistency of the input data whenever possible but may go nuts
- for some forms of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: ascii or binary */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1
-#define Z_PACKET_FLUSH 2
-#define Z_SYNC_FLUSH 3
-#define Z_FULL_FLUSH 4
-#define Z_FINISH 5
-/* Allowed flush values; see deflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative
- * values are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_ASCII 1
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
- /* basic functions */
-
-extern const char * EXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- This check is automatically made by deflateInit and inflateInit.
- */
-
-/*
-extern int EXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at
- all (the input data is simply copied a block at a time).
- Z_DEFAULT_COMPRESSION requests a default compromise between speed and
- compression (currently equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level,
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION).
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-extern int EXPORT deflate OF((z_streamp strm, int flush));
-/*
- Performs one or both of the following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
- and with zero avail_out, it must be called again after making room in the
- output buffer because there might be more output pending.
-
- If the parameter flush is set to Z_PARTIAL_FLUSH, the current compression
- block is terminated and flushed to the output buffer so that the
- decompressor can get all input data available so far. For method 9, a future
- variant on method 8, the current block will be flushed but not terminated.
- Z_SYNC_FLUSH has the same effect as partial flush except that the compressed
- output is byte aligned (the compressor can clear its internal bit buffer)
- and the current block is always terminated; this can be useful if the
- compressor has to be restarted from scratch after an interruption (in which
- case the internal state of the compressor may be lost).
- If flush is set to Z_FULL_FLUSH, the compression block is terminated, a
- special marker is output and the compression dictionary is discarded; this
- is useful to allow the decompressor to synchronize if one compressed block
- has been damaged (see inflateSync below). Flushing degrades compression and
- so should be used only when necessary. Using Z_FULL_FLUSH too often can
- seriously degrade the compression. If deflate returns with avail_out == 0,
- this function must be called again with the same value of the flush
- parameter and more output space (updated avail_out), until the flush is
- complete (deflate returns with non-zero avail_out).
-
- If the parameter flush is set to Z_PACKET_FLUSH, the compression
- block is terminated, and a zero-length stored block is output,
- omitting the length bytes (the effect of this is that the 3-bit type
- code 000 for a stored block is output, and the output is then
- byte-aligned). This is designed for use at the end of a PPP packet.
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- 0.1% larger than avail_in plus 12 bytes. If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() may update data_type if it can make a good guess about
- the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible.
-*/
-
-
-extern int EXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case,
- msg may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-extern int EXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- zalloc, zfree and opaque must be initialized before by the caller. If
- zalloc and zfree are set to Z_NULL, inflateInit updates them to use default
- allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_VERSION_ERROR if the zlib library version is incompatible
- with the version assumed by the caller. msg is set to null if there is no
- error message. inflateInit does not perform any decompression: this will be
- done by inflate().
-*/
-
-
-extern int EXPORT inflate OF((z_streamp strm, int flush));
-/*
- Performs one or both of the following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there
- is no more input data or no more space in the output buffer (see below
- about the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate(). If inflate returns Z_OK and with zero avail_out, it
- must be called again after making room in the output buffer because there
- might be more output pending.
-
- If the parameter flush is set to Z_PARTIAL_FLUSH or Z_PACKET_FLUSH,
- inflate flushes as much output as possible to the output buffer. The
- flushing behavior of inflate is not specified for values of the flush
- parameter other than Z_PARTIAL_FLUSH, Z_PACKET_FLUSH or Z_FINISH, but the
- current implementation actually flushes as much output as possible
- anyway. For Z_PACKET_FLUSH, inflate checks that once all the input data
- has been consumed, it is expecting to see the length field of a stored
- block; if not, it returns Z_DATA_ERROR.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster routine
- may be used for the single inflate() call.
-
- inflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if the end of the
- compressed data has been reached and all uncompressed output has been
- produced, Z_NEED_DICT if a preset dictionary is needed at this point (see
- inflateSetDictionary below), Z_DATA_ERROR if the input data was corrupted,
- Z_STREAM_ERROR if the stream structure was inconsistent (for example if
- next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in
- the output buffer when Z_FINISH is used. In the Z_DATA_ERROR case, the
- application may then call inflateSync to look for a good compression block.
- In the Z_NEED_DICT case, strm->adler is set to the Adler32 value of the
- dictionary chosen by the compressor.
-*/
-
-
-extern int EXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-extern int EXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library. (Method 9 will allow a 64K history buffer and
- partial block flushes.)
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library (the value 16 will be allowed for method 9). Larger
- values of this parameter result in better compression at the expense of
- memory usage. The default value is 15 if deflateInit is used instead.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match). Filtered data consists mostly of small values with a
- somewhat random distribution. In this case, the compression algorithm is
- tuned to compress them better. The effect of Z_FILTERED is to force more
- Huffman coding and less string matching; it is somewhat intermediate
- between Z_DEFAULT and Z_HUFFMAN_ONLY. The strategy parameter only affects
- the compression ratio but not the correctness of the compressed output even
- if it is not set appropriately.
-
- If next_in is not null, the library will use this buffer to hold also
- some history information; the buffer must either hold the entire input
- data, or have at least 1<<(windowBits+1) bytes and be writable. If next_in
- is null, the library will allocate its own history buffer (and leave next_in
- null). next_out need not be provided here but must be provided by the
- application for the next call of deflate().
-
- If the history buffer is provided by the application, next_in must
- must never be changed by the application since the compressor maintains
- information inside this buffer from call to call; the application
- must provide more input only by increasing avail_in. next_in is always
- reset by the library in this case.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
- not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
- an invalid method). msg is set to null if there is no error message.
- deflateInit2 does not perform any compression: this will be done by
- deflate().
-*/
-
-extern int EXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary (history buffer) from the given
- byte sequence without producing any compressed output. This function must
- be called immediately after deflateInit or deflateInit2, before any call
- of deflate. The compressor and decompressor must use exactly the same
- dictionary (see inflateSetDictionary).
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and
- can be predicted with good accuracy; the data can then be compressed better
- than with the default empty dictionary. In this version of the library,
- only the last 32K bytes of the dictionary are used.
- Upon return of this function, strm->adler is set to the Adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The Adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.)
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state
- is inconsistent (for example if deflate has already been called for this
- stream). deflateSetDictionary does not perform any compression: this will
- be done by deflate().
-*/
-
-extern int EXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream. If
- the source stream is using an application-supplied history buffer, a new
- buffer is allocated for the destination stream. The compressed output
- buffer is always application-supplied. It's the responsibility of the
- application to provide the correct values of next_out and avail_out for the
- next call of deflate.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-extern int EXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-extern int EXPORT deflateParams OF((z_streamp strm, int level, int strategy));
-/*
- Dynamically update the compression level and compression strategy.
- This can be used to switch between compression and straight copy of
- the input data, or to switch to a different kind of input data requiring
- a different strategy. If the compression level is changed, the input
- available so far is compressed with the old level (and may be flushed);
- the new level will take effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to
- be compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
- if strm->avail_out was zero.
-*/
-
-extern int EXPORT deflateOutputPending OF((z_streamp strm));
-/*
- Returns the number of bytes of output which are immediately
- available from the compressor (i.e. without any further input
- or flush).
-*/
-
-/*
-extern int EXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with more compression options. The
- fields next_out, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library (the value 16 will be allowed soon). The
- default value is 15 if inflateInit is used instead. If a compressed stream
- with a larger window size is given as input, inflate() will return with
- the error code Z_DATA_ERROR instead of trying to allocate a larger window.
-
- If next_out is not null, the library will use this buffer for the history
- buffer; the buffer must either be large enough to hold the entire output
- data, or have at least 1<<windowBits bytes. If next_out is null, the
- library will allocate its own buffer (and leave next_out null). next_in
- need not be provided here but must be provided by the application for the
- next call of inflate().
-
- If the history buffer is provided by the application, next_out must
- never be changed by the application since the decompressor maintains
- history information inside this buffer from call to call; the application
- can only reset next_out to the beginning of the history buffer when
- avail_out is zero and all output has been consumed.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
- not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
- windowBits < 8). msg is set to null if there is no error message.
- inflateInit2 does not perform any decompression: this will be done by
- inflate().
-*/
-
-extern int EXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary (history buffer) from the given
- uncompressed byte sequence. This function must be called immediately after
- a call of inflate if this call returned Z_NEED_DICT. The dictionary chosen
- by the compressor can be determined from the Adler32 value returned by this
- call of inflate. The compressor and decompressor must use exactly the same
- dictionary (see deflateSetDictionary).
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect Adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-extern int EXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until the special marker (see deflate()
- above) can be found, or until all available input is skipped. No output
- is provided.
-
- inflateSync returns Z_OK if the special marker has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no marker has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-extern int EXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-extern int inflateIncomp OF((z_stream *strm));
-/*
- This function adds the data at next_in (avail_in bytes) to the output
- history without performing any output. There must be no pending output,
- and the decompressor must be expecting to see the start of a block.
- Calling this function is equivalent to decompressing a stored block
- containing the data at next_in (except that the data is not output).
-*/
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the
- basic stream-oriented functions. To simplify the interface, some
- default options are assumed (compression level, window size,
- standard memory allocation functions). The source code of these
- utility functions can easily be modified if you need special options.
-*/
-
-extern int EXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be at least 0.1% larger than
- sourceLen plus 12 bytes. Upon exit, destLen is the actual size of the
- compressed buffer.
- This function can be used to compress a whole file at once if the
- input file is mmap'ed.
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-extern int EXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted.
-*/
-
-
-typedef voidp gzFile;
-
-extern gzFile EXPORT gzopen OF((const char *path, const char *mode));
-/*
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb") but can also include a compression level
- ("wb9"). gzopen can be used to read a file which is not in gzip format;
- in this case gzread will directly read from the file without decompression.
- gzopen returns NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR).
-*/
-
-extern gzFile EXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen() associates a gzFile with the file descriptor fd. File
- descriptors are obtained from calls like open, dup, creat, pipe or
- fileno (in the file has been previously opened with fopen).
- The mode parameter is as in gzopen.
- The next call of gzclose on the returned gzFile will also close the
- file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
- descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
- gzdopen returns NULL if there was insufficient memory to allocate
- the (de)compression state.
-*/
-
-extern int EXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file.
- If the input file was not in gzip format, gzread copies the given number
- of bytes into the buffer.
- gzread returns the number of uncompressed bytes actually read (0 for
- end of file, -1 for error). */
-
-extern int EXPORT gzwrite OF((gzFile file, const voidp buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes actually written
- (0 in case of error).
-*/
-
-extern int EXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function. The return value is the zlib
- error number (see function gzerror below). gzflush returns Z_OK if
- the flush parameter is Z_FINISH and all output could be flushed.
- gzflush should be called only when strictly necessary because it can
- degrade compression.
-*/
-
-extern int EXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state. The return value is the zlib
- error number (see function gzerror below).
-*/
-
-extern const char * EXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the
- given compressed file. errnum is set to zlib error number. If an
- error occurred in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the
- compression library.
-*/
-
-extern uLong EXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-extern uLong EXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running crc with the bytes buf[0..len-1] and return the updated
- crc. If buf is NULL, this function returns the required initial value
- for the crc. Pre- and post-conditioning (one's complement) is performed
- within this function so it shouldn't be done by the application.
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-extern int EXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-extern int EXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-extern int EXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel, int strategy,
- const char *version, int stream_size));
-extern int EXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-
-#if !defined(_Z_UTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-uLongf *get_crc_table OF((void)); /* can be used by asm versions of crc32() */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ZLIB_H */
-/* --- zlib.h */
diff --git a/mdk-stage1/ppp/configure b/mdk-stage1/ppp/configure
deleted file mode 100755
index 544fb0d71..000000000
--- a/mdk-stage1/ppp/configure
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/sh
-# $Id$
-
-# if [ -d /NextApps ]; then
-# system="NeXTStep"
-# else
- system=`uname -s`
- release=`uname -r`
- machine=`uname -p`
- arch=`uname -m`
-# fi
-state="unknown"
-
-case $system in
- Linux)
- makext="linux";
- ksrc="linux";
- state="known";;
- SunOS)
- case $release in
-# [0-3]*) state="ancient";;
-# 4*) state="known"; ksrc="sunos4"; makext="sunos4";;
- 5.[1-6]*) state="known"; ksrc="solaris"; makext="sol2";;
- 5.[7-9]*) state="known"; ksrc="solaris"; makext="sol2";
- case $arch in
- sun4u) lp64='y';;
- *) ;;
- esac;;
- esac;;
- NetBSD|FreeBSD|ULTRIX|OSF1|NeXTStep|SINIX-?|UNIX_SV|UNIX_System_V)
- state="notincluded";;
-# NetBSD)
-# makext="bsd";
-# case $release in
-# 0.*) state="ancient";;
-# 1.0*) state="ancient";;
-# 1.1*) state="known"; ksrc="netbsd-1.1";;
-# 1.2*) state="known"; ksrc="netbsd-1.2"; makext="netbsd-1.2";;
-# 1.[3-9]*|[2-9]*)
-# state="late"; ksrc="netbsd-1.2";;
-# esac;;
-# ULTRIX)
-# makext="ultrix";
-# case $release in
-# [0-3]*) state="ancient";;
-# 4.[01]*) state="early"; ksrc="ultrix";;
-# 4.[234]) state="known"; ksrc="ultrix";;
-# esac;;
-# OSF1)
-# makext="osf";
-# case $release in
-# V1.*) state="neolithic"; ksrc="osf1";;
-# V[23].*) state="neolithic"; ksrc="osf1";;
-# V4.*) state="known"; ksrc="osf1";;
-# V[5-9]*) state="late"; ksrc="osf1";;
-# esac;;
-# FreeBSD)
-# makext="bsd";
-# case $release in
-# 1.*) state="known"; ksrc="freebsd-old";;
-# 2.[01]*) state="known"; ksrc="freebsd-2.0";;
-# 2.2.[2-7]*) state="late"; ksrc="freebsd-2.0";;
-# 2.2.8*) state="known"; ksrc="freebsd-2.2.8";;
-# 3.[0-1]*) state="known"; ksrc="freebsd-3.0";;
-# esac;;
-# NeXTStep)
-# makext="NeXT";
-# ksrc="NeXT";
-# state="known";;
-# SINIX-?)
-# case $release in
-# 5.4[01]) state=known; ksrc=svr4; makext=svr4;;
-# 5.4[2-9]) state=late; ksrc=svr4; makext=svr4;;
-# esac;;
-# # Intel SVR4 systems come with a bug in the uname program. Unless
-# # your provider fixed the bug, or you get a fix for it, uname -S will
-# # overwrite the system name with the node name!
-# UNIX_SV|UNIX_System_V|`uname -n`)
-# case $release in
-# 4.0) state=known; ksrc=svr4; makext=svr4;;
-# 4.2) state=late; ksrc=svr4; makext=svr4;;
-# esac;;
-esac
-
-if [ -d "$ksrc" ]; then :; else
- state="notincluded"
- unset ksrc
-fi
-
-case $state in
- neolithic)
- echo "This is a newer release on an outdated OS ($system)."
- echo " This software may or may not work on this OS."
- echo " You may want to download an older version of PPP for this OS.";;
- ancient)
- echo "This is an old release of a supported OS ($system)."
- echo "This software cannot be used as-is on this system,"
- echo "but you may be able to port it. Good luck!"
- exit;;
- early)
- echo "This is an old release of a supported OS ($system)."
- echo "This software should install and run on this system,"
- echo "but it hasn't been tested.";;
- late)
- echo "This is a newer release of $system than is supported by"
- echo "this software. It may or may not work.";;
- unknown)
- echo "This software has not been ported to this system. Sorry.";;
- notincluded)
- echo "Support for this system has not been included"
- echo "in this distribution. Sorry.";;
-esac
-
-orig_makext=$makext
-
-if [ -d "$ksrc" ]; then
- echo "Creating links to Makefiles."
- rm -f Makefile
- ln -s $ksrc/Makefile.top Makefile
- echo " Makefile -> $ksrc/Makefile.top"
- if [ "$ksrc" = solaris ]; then
- # Point to 64-bit Makefile extension
- if [ "$lp64" = y ]; then
- makext=$makext-64
- fi
- rm -f $ksrc/Makefile
- ln -s Makefile.$makext $ksrc/Makefile
- echo " $ksrc/Makefile -> Makefile.$makext"
- # Restore extension
- if [ "$lp64" = y ]; then
- makext=$orig_makext
- fi
- fi
- for dir in pppd pppstats chat pppdump; do
- rm -f $dir/Makefile
- if [ -f $dir/Makefile.$makext ]; then
- ln -s Makefile.$makext $dir/Makefile
- echo " $dir/Makefile -> Makefile.$makext"
- fi
- done
-fi
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux b/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux
deleted file mode 100644
index 7eb217dac..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux
+++ /dev/null
@@ -1,16 +0,0 @@
-all: pppgetpass.vt pppgetpass.gtk
-
-pppgetpass.vt: pppgetpass.vt.o
-
-pppgetpass.gtk: pppgetpass.gtk.o
- $(CC) $(LDFLAGS) pppgetpass.gtk.o `gtk-config --libs` -o pppgetpass.gtk
-pppgetpass.gtk.o: pppgetpass.gtk.c
- $(CC) $(CFLAGS) -c pppgetpass.gtk.c `gtk-config --cflags`
-
-install: all
- install -m 755 pppgetpass.sh /usr/bin/pppgetpass
- install -m 4755 -o root -g root pppgetpass.vt /usr/bin/
- install -m 755 -o root -g root pppgetpass.gtk /usr/X11/bin/
-
-clean:
- rm -f *.o pppgetpass.gtk pppgetpass.vt core
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8 b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8
deleted file mode 100644
index ade576970..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8
+++ /dev/null
@@ -1,18 +0,0 @@
-.TH PPPGETPASS 8 "26 Sep 1999"
-.SH NAME
-pppgetpass \- prompt for PAP password
-.SH SYNOPSIS
-.B pppgetpass
-.I client server fd
-.SH DESCRIPTION
-.B pppgetpass
-the outer half of a plugin for PAP password prompting in pppd.
-If the peer requires PAP, and the
-.B passprompt.so
-plugin is loaded into pppd, it will run
-.B /usr/sbin/pppgetpass
-(or another program specified by the
-.B promptprog
-option) to prompt the user for the password.
-.SH SEE ALSO
-pppd(8)
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c
deleted file mode 100644
index 48ca04202..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include <glib.h>
-#include <gdk/gdk.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtkmain.h>
-#include <gtk/gtkbutton.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtksignal.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <syslog.h>
-
-int outfd;
-int err;
-
-static void okpressed(void *widget, void *clientdata)
-{
- GtkWidget *answer=clientdata;
- gchar *pass;
- int passlen;
- ssize_t wrote;
- (void)widget;
-
- pass=gtk_entry_get_text(GTK_ENTRY(answer));
-
- passlen=strlen(pass);
- if(!passlen)
- return;
-
- if((wrote=write(outfd, pass, passlen))!=passlen) {
- if(wrote<0)
- syslog(LOG_ERR, "write error on outpipe: %m");
- else
- syslog(LOG_ERR, "short write on outpipe");
- err=1;
- }
- gtk_main_quit();
-}
-
-int main(int argc, char **argv)
-{
- GtkWidget *mainwindow, *vbox, *question, *answer, *ok;
- char buf[1024];
- gtk_init(&argc, &argv);
-
- openlog(argv[0], LOG_PID, LOG_DAEMON);
- if(argc!=4) {
- syslog(LOG_WARNING, "Usage error");
- return 1;
- }
- outfd=atoi(argv[3]);
- mainwindow=gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title(GTK_WINDOW(mainwindow), "pppgetpass");
- gtk_signal_connect(GTK_OBJECT(mainwindow), "destroy",
- GTK_SIGNAL_FUNC(gtk_main_quit), 0);
-
- vbox=gtk_vbox_new(FALSE, 5);
- gtk_container_add(GTK_CONTAINER(mainwindow), vbox);
- gtk_widget_show(vbox);
-
- if(argv[1][0] && argv[2][0])
- snprintf(buf, sizeof buf, "Password for PPP client %s on server %s: ", argv[1], argv[2]);
- else if(argv[1][0] && !argv[2][0])
- snprintf(buf, sizeof buf, "Password for PPP client %s: ", argv[1]);
- else if(!argv[1][0] && argv[2][0])
- snprintf(buf, sizeof buf, "Password for PPP on server %s: ", argv[2]);
- else
- snprintf(buf, sizeof buf, "Enter PPP password: ");
- question=gtk_label_new(buf);
- gtk_box_pack_start(GTK_BOX(vbox), question, FALSE, TRUE, 0);
- gtk_widget_show(question);
-
- answer=gtk_entry_new();
- gtk_entry_set_visibility(GTK_ENTRY(answer), 0);
- gtk_box_pack_start(GTK_BOX(vbox), answer, FALSE, TRUE, 0);
- gtk_widget_show(answer);
-
- ok=gtk_button_new_with_label("OK");
- gtk_box_pack_start(GTK_BOX(vbox), ok, FALSE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(ok), "clicked",
- GTK_SIGNAL_FUNC(okpressed), answer);
- gtk_widget_show(ok);
-
- gtk_widget_show(mainwindow);
- gtk_main();
-
- return err;
-}
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh
deleted file mode 100644
index 09c480519..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-if [ -z "$DISPLAY" ]; then
- exec pppgetpass.vt "$@"
-else
- exec pppgetpass.gtk "$@"
-fi
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c
deleted file mode 100644
index a1520883c..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c
+++ /dev/null
@@ -1,218 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <syslog.h>
-#include <termios.h>
-#include <sys/vt.h>
-
-static int console_owner(uid_t, int);
-
-int main(int argc, char **argv)
-{
- int console;
- uid_t uid;
- struct vt_stat origstate;
- int openvtnum;
- char openvtname[256];
- int openvt;
- gid_t gid;
- int chowned;
- FILE *fp;
- struct termios t;
- char pass[256], *nl;
- int outfd, passlen;
- ssize_t wrote;
- console=open("/dev/console", O_RDWR);
-
- uid=getuid();
- gid=getgid();
- seteuid(uid);
-
- openlog(argv[0], LOG_PID, LOG_DAEMON);
-
- if(argc!=4) {
- syslog(LOG_WARNING, "Usage error");
- return 1;
- }
-
- if(console<0) {
- syslog(LOG_ERR, "open(/dev/console): %m");
- return 1;
- }
-
- if(ioctl(console, VT_GETSTATE, &origstate)<0) {
- syslog(LOG_ERR, "VT_GETSTATE: %m");
- return 1;
- }
-
- if(uid) {
- if(!console_owner(uid, origstate.v_active)) {
- int i;
- for(i=0;i<64;++i) {
- if(i!=origstate.v_active && console_owner(uid, i))
- break;
- }
- if(i==64) {
- syslog(LOG_WARNING, "run by uid %lu not at console", (unsigned long)uid);
- return 1;
- }
- }
- }
-
- if(ioctl(console, VT_OPENQRY, &openvtnum)<0) {
- syslog(LOG_ERR, "VT_OPENQRY: %m");
- return 1;
- }
- if(openvtnum==-1) {
- syslog(LOG_ERR, "No free VTs");
- return 1;
- }
-
- snprintf(openvtname, sizeof openvtname, "/dev/tty%d", openvtnum);
- seteuid(0);
- openvt=open(openvtname, O_RDWR);
- if(openvt<0) {
- seteuid(uid);
- syslog(LOG_ERR, "open(%s): %m", openvtname);
- return 1;
- }
-
- chowned=fchown(openvt, uid, gid);
- if(chowned<0) {
- seteuid(uid);
- syslog(LOG_ERR, "fchown(%s): %m", openvtname);
- return 1;
- }
-
- close(console);
-
- if(ioctl(openvt, VT_ACTIVATE, openvtnum)<0) {
- seteuid(uid);
- syslog(LOG_ERR, "VT_ACTIVATE(%d): %m", openvtnum);
- return 1;
- }
-
- while(ioctl(openvt, VT_WAITACTIVE, openvtnum)<0) {
- if(errno!=EINTR) {
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "VT_WAITACTIVE(%d): %m", openvtnum);
- return 1;
- }
- }
-
- seteuid(uid);
- fp=fdopen(openvt, "r+");
- if(!fp) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "fdopen(%s): %m", openvtname);
- return 1;
- }
-
- if(tcgetattr(openvt, &t)<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "tcgetattr(%s): %m", openvtname);
- return 1;
- }
- t.c_lflag &= ~ECHO;
- if(tcsetattr(openvt, TCSANOW, &t)<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "tcsetattr(%s): %m", openvtname);
- return 1;
- }
-
- if(fprintf(fp, "\033[2J\033[H")<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- return 1;
- }
- if(argv[1][0] && argv[2][0]) {
- if(fprintf(fp, "Password for PPP client %s on server %s: ", argv[1], argv[2])<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- return 1;
- }
- } else if(argv[1][0] && !argv[2][0]) {
- if(fprintf(fp, "Password for PPP client %s: ", argv[1])<0) {
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- return 1;
- }
- } else if(!argv[1][0] && argv[2][0]) {
- if(fprintf(fp, "Password for PPP on server %s: ", argv[2])<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- return 1;
- }
- } else {
- if(fprintf(fp, "Enter PPP password: ")<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- return 1;
- }
- }
-
- if(!fgets(pass, sizeof pass, fp)) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- if(ferror(fp)) {
- syslog(LOG_ERR, "read error on %s: %m", openvtname);
- }
- return 1;
- }
- if((nl=strchr(pass, '\n')))
- *nl=0;
- passlen=strlen(pass);
-
- outfd=atoi(argv[3]);
- if((wrote=write(outfd, pass, passlen))!=passlen) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- if(wrote<0)
- syslog(LOG_ERR, "write error on outpipe: %m");
- else
- syslog(LOG_ERR, "short write on outpipe");
- return 1;
- }
-
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- return 0;
-}
-
-static int console_owner(uid_t uid, int cons)
-{
- char name[256];
- struct stat st;
- snprintf(name, sizeof name, "/dev/tty%d", cons);
- if(stat(name, &st)<0) {
- if(errno!=ENOENT)
- syslog(LOG_ERR, "stat(%s): %m", name);
- return 0;
- }
- return uid==st.st_uid;
-}
diff --git a/mdk-stage1/ppp/etc.ppp/chap-secrets b/mdk-stage1/ppp/etc.ppp/chap-secrets
deleted file mode 100644
index 7d1c3cd7c..000000000
--- a/mdk-stage1/ppp/etc.ppp/chap-secrets
+++ /dev/null
@@ -1,2 +0,0 @@
-# Secrets for authentication using CHAP
-# client server secret IP addresses
diff --git a/mdk-stage1/ppp/etc.ppp/options b/mdk-stage1/ppp/etc.ppp/options
deleted file mode 100644
index 0f77a9aa0..000000000
--- a/mdk-stage1/ppp/etc.ppp/options
+++ /dev/null
@@ -1,5 +0,0 @@
-lock
-noauth
-noipdefault
-usepeerdns
-
diff --git a/mdk-stage1/ppp/etc.ppp/options.options b/mdk-stage1/ppp/etc.ppp/options.options
deleted file mode 100644
index 4b67b6a0d..000000000
--- a/mdk-stage1/ppp/etc.ppp/options.options
+++ /dev/null
@@ -1 +0,0 @@
-lock
diff --git a/mdk-stage1/ppp/etc.ppp/pap-secrets b/mdk-stage1/ppp/etc.ppp/pap-secrets
deleted file mode 100644
index f8b7dce3c..000000000
--- a/mdk-stage1/ppp/etc.ppp/pap-secrets
+++ /dev/null
@@ -1,2 +0,0 @@
-# Secrets for authentication using PAP
-# client server secret IP addresses
diff --git a/mdk-stage1/ppp/include/linux/if_ppp.h b/mdk-stage1/ppp/include/linux/if_ppp.h
deleted file mode 100644
index 1febf0931..000000000
--- a/mdk-stage1/ppp/include/linux/if_ppp.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* $Id$ */
-
-/*
- * if_ppp.h - Point-to-Point Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-/*
- * ==FILEVERSION 20000724==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
- * if_ppp.h is shipped with a PPP distribution as well as with the kernel;
- * if everyone increases the FILEVERSION number above, then scripts
- * can do the right thing when deciding whether to install a new if_ppp.h
- * file. Don't change the format of that line otherwise, so the
- * installation script can recognize it.
- */
-
-#ifndef _IF_PPP_H_
-#define _IF_PPP_H_
-
-/*
- * Packet sizes
- */
-
-#define PPP_MTU 1500 /* Default MTU (size of Info field) */
-#define PPP_MAXMRU 65000 /* Largest MRU we allow */
-#define PROTO_IPX 0x002b /* protocol numbers */
-#define PROTO_DNA_RT 0x0027 /* DNA Routing */
-
-
-/*
- * Bit definitions for flags.
- */
-
-#define SC_COMP_PROT 0x00000001 /* protocol compression (output) */
-#define SC_COMP_AC 0x00000002 /* header compression (output) */
-#define SC_COMP_TCP 0x00000004 /* TCP (VJ) compression (output) */
-#define SC_NO_TCP_CCID 0x00000008 /* disable VJ connection-id comp. */
-#define SC_REJ_COMP_AC 0x00000010 /* reject adrs/ctrl comp. on input */
-#define SC_REJ_COMP_TCP 0x00000020 /* reject TCP (VJ) comp. on input */
-#define SC_CCP_OPEN 0x00000040 /* Look at CCP packets */
-#define SC_CCP_UP 0x00000080 /* May send/recv compressed packets */
-#define SC_ENABLE_IP 0x00000100 /* IP packets may be exchanged */
-#define SC_LOOP_TRAFFIC 0x00000200 /* send traffic to pppd */
-#define SC_MULTILINK 0x00000400 /* do multilink encapsulation */
-#define SC_MP_SHORTSEQ 0x00000800 /* use short MP sequence numbers */
-#define SC_COMP_RUN 0x00001000 /* compressor has been inited */
-#define SC_DECOMP_RUN 0x00002000 /* decompressor has been inited */
-#define SC_MP_XSHORTSEQ 0x00004000 /* transmit short MP seq numbers */
-#define SC_DEBUG 0x00010000 /* enable debug messages */
-#define SC_LOG_INPKT 0x00020000 /* log contents of good pkts recvd */
-#define SC_LOG_OUTPKT 0x00040000 /* log contents of pkts sent */
-#define SC_LOG_RAWIN 0x00080000 /* log all chars received */
-#define SC_LOG_FLUSH 0x00100000 /* log all chars flushed */
-#define SC_SYNC 0x00200000 /* synchronous serial mode */
-#define SC_MASK 0x0f200fff /* bits that user can change */
-
-/* state bits */
-#define SC_XMIT_BUSY 0x10000000 /* (used by isdn_ppp?) */
-#define SC_RCV_ODDP 0x08000000 /* have rcvd char with odd parity */
-#define SC_RCV_EVNP 0x04000000 /* have rcvd char with even parity */
-#define SC_RCV_B7_1 0x02000000 /* have rcvd char with bit 7 = 1 */
-#define SC_RCV_B7_0 0x01000000 /* have rcvd char with bit 7 = 0 */
-#define SC_DC_FERROR 0x00800000 /* fatal decomp error detected */
-#define SC_DC_ERROR 0x00400000 /* non-fatal decomp error detected */
-
-/*
- * Ioctl definitions.
- */
-
-struct npioctl {
- int protocol; /* PPP protocol, e.g. PPP_IP */
- enum NPmode mode;
-};
-
-/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
-struct ppp_option_data {
- __u8 *ptr;
- __u32 length;
- int transmit;
-};
-
-struct ifpppstatsreq {
- struct ifreq b;
- struct ppp_stats stats; /* statistic information */
-};
-
-struct ifpppcstatsreq {
- struct ifreq b;
- struct ppp_comp_stats stats;
-};
-
-#define ifr__name b.ifr_ifrn.ifrn_name
-#define stats_ptr b.ifr_ifru.ifru_data
-
-/*
- * Ioctl definitions.
- */
-
-#define PPPIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */
-#define PPPIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */
-#define PPPIOCGASYNCMAP _IOR('t', 88, int) /* get async map */
-#define PPPIOCSASYNCMAP _IOW('t', 87, int) /* set async map */
-#define PPPIOCGUNIT _IOR('t', 86, int) /* get ppp unit number */
-#define PPPIOCGRASYNCMAP _IOR('t', 85, int) /* get receive async map */
-#define PPPIOCSRASYNCMAP _IOW('t', 84, int) /* set receive async map */
-#define PPPIOCGMRU _IOR('t', 83, int) /* get max receive unit */
-#define PPPIOCSMRU _IOW('t', 82, int) /* set max receive unit */
-#define PPPIOCSMAXCID _IOW('t', 81, int) /* set VJ max slot ID */
-#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
-#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
-#define PPPIOCXFERUNIT _IO('t', 78) /* transfer PPP unit */
-#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
-#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) /* get NP mode */
-#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) /* set NP mode */
-#define PPPIOCSPASS _IOW('t', 71, struct sock_fprog) /* set pass filter */
-#define PPPIOCSACTIVE _IOW('t', 70, struct sock_fprog) /* set active filt */
-#define PPPIOCGDEBUG _IOR('t', 65, int) /* Read debug level */
-#define PPPIOCSDEBUG _IOW('t', 64, int) /* Set debug level */
-#define PPPIOCGIDLE _IOR('t', 63, struct ppp_idle) /* get idle time */
-#define PPPIOCNEWUNIT _IOWR('t', 62, int) /* create new ppp unit */
-#define PPPIOCATTACH _IOW('t', 61, int) /* attach to ppp unit */
-#define PPPIOCDETACH _IOW('t', 60, int) /* detach from ppp unit/chan */
-#define PPPIOCSMRRU _IOW('t', 59, int) /* set multilink MRU */
-#define PPPIOCCONNECT _IOW('t', 58, int) /* connect channel to unit */
-#define PPPIOCDISCONN _IO('t', 57) /* disconnect channel */
-#define PPPIOCATTCHAN _IOW('t', 56, int) /* attach to ppp channel */
-#define PPPIOCGCHAN _IOR('t', 55, int) /* get ppp channel number */
-
-#define SIOCGPPPSTATS (SIOCDEVPRIVATE + 0)
-#define SIOCGPPPVER (SIOCDEVPRIVATE + 1) /* NEVER change this!! */
-#define SIOCGPPPCSTATS (SIOCDEVPRIVATE + 2)
-
-#if !defined(ifr_mtu)
-#define ifr_mtu ifr_ifru.ifru_metric
-#endif
-
-#endif /* _IF_PPP_H_ */
diff --git a/mdk-stage1/ppp/include/linux/if_pppvar.h b/mdk-stage1/ppp/include/linux/if_pppvar.h
deleted file mode 100644
index b2485cd9d..000000000
--- a/mdk-stage1/ppp/include/linux/if_pppvar.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/* From: if_pppvar.h,v 1.2 1995/06/12 11:36:51 paulus Exp */
-/*
- * if_pppvar.h - private structures and declarations for PPP.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/*
- * ==FILEVERSION 990911==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
- * if_pppvar.h is shipped with a PPP distribution as well as with the kernel;
- * if everyone increases the FILEVERSION number above, then scripts
- * can do the right thing when deciding whether to install a new if_pppvar.h
- * file. Don't change the format of that line otherwise, so the
- * installation script can recognize it.
- */
-
-/*
- * Supported network protocols. These values are used for
- * indexing sc_npmode.
- */
-
-#define NP_IP 0 /* Internet Protocol */
-#define NP_IPX 1 /* IPX protocol */
-#define NP_AT 2 /* Appletalk protocol */
-#define NP_IPV6 3 /* Internet Protocol */
-#define NUM_NP 4 /* Number of NPs. */
-
-#define OBUFSIZE 256 /* # chars of output buffering */
-
-/*
- * Structure describing each ppp unit.
- */
-
-struct ppp {
- int magic; /* magic value for structure */
- struct ppp *next; /* unit with next index */
- unsigned long inuse; /* are we allocated? */
- int line; /* network interface unit # */
- __u32 flags; /* miscellaneous control flags */
- int mtu; /* maximum xmit frame size */
- int mru; /* maximum receive frame size */
- struct slcompress *slcomp; /* for TCP header compression */
- struct sk_buff_head xmt_q; /* frames to send from pppd */
- struct sk_buff_head rcv_q; /* frames for pppd to read */
- unsigned long xmit_busy; /* bit 0 set when xmitter busy */
-
- /* Information specific to using ppp on async serial lines. */
- struct tty_struct *tty; /* ptr to TTY structure */
- struct tty_struct *backup_tty; /* TTY to use if tty gets closed */
- __u8 escape; /* 0x20 if prev char was PPP_ESC */
- __u8 toss; /* toss this frame */
- volatile __u8 tty_pushing; /* internal state flag */
- volatile __u8 woke_up; /* internal state flag */
- __u32 xmit_async_map[8]; /* 1 bit means that given control
- character is quoted on output*/
- __u32 recv_async_map; /* 1 bit means that given control
- character is ignored on input*/
- __u32 bytes_sent; /* Bytes sent on frame */
- __u32 bytes_rcvd; /* Bytes recvd on frame */
-
- /* Async transmission information */
- struct sk_buff *tpkt; /* frame currently being sent */
- int tpkt_pos; /* how much of it we've done */
- __u16 tfcs; /* FCS so far for it */
- unsigned char *optr; /* where we're up to in sending */
- unsigned char *olim; /* points past last valid char */
-
- /* Async reception information */
- struct sk_buff *rpkt; /* frame currently being rcvd */
- __u16 rfcs; /* FCS so far of rpkt */
-
- /* Queues for select() functionality */
- struct wait_queue *read_wait; /* queue for reading processes */
-
- /* info for detecting idle channels */
- unsigned long last_xmit; /* time of last transmission */
- unsigned long last_recv; /* time last packet received */
-
- /* Statistic information */
- struct pppstat stats; /* statistic information */
-
- /* PPP compression protocol information */
- struct compressor *sc_xcomp; /* transmit compressor */
- void *sc_xc_state; /* transmit compressor state */
- struct compressor *sc_rcomp; /* receive decompressor */
- void *sc_rc_state; /* receive decompressor state */
-
- enum NPmode sc_npmode[NUM_NP]; /* what to do with each NP */
- int sc_xfer; /* PID of reserved PPP table */
- char name[8]; /* space for unit name */
- struct device dev; /* net device structure */
- struct enet_statistics estats; /* more detailed stats */
-
- /* tty output buffer */
- unsigned char obuf[OBUFSIZE]; /* buffer for characters to send */
-};
-
-#define PPP_MAGIC 0x5002
-#define PPP_VERSION "2.3.11"
diff --git a/mdk-stage1/ppp/include/linux/ppp-comp.h b/mdk-stage1/ppp/include/linux/ppp-comp.h
deleted file mode 100644
index 3184d0731..000000000
--- a/mdk-stage1/ppp/include/linux/ppp-comp.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * ppp-comp.h - Definitions for doing PPP packet compression.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * ==FILEVERSION 980319==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
- * ppp-comp.h is shipped with a PPP distribution as well as with the kernel;
- * if everyone increases the FILEVERSION number above, then scripts
- * can do the right thing when deciding whether to install a new ppp-comp.h
- * file. Don't change the format of that line otherwise, so the
- * installation script can recognize it.
- */
-
-#ifndef _NET_PPP_COMP_H
-#define _NET_PPP_COMP_H
-
-/*
- * The following symbols control whether we include code for
- * various compression methods.
- */
-
-#ifndef DO_BSD_COMPRESS
-#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
-#endif
-#ifndef DO_DEFLATE
-#define DO_DEFLATE 1 /* by default, include Deflate */
-#endif
-#define DO_PREDICTOR_1 0
-#define DO_PREDICTOR_2 0
-
-/*
- * Structure giving methods for compression/decompression.
- */
-
-struct compressor {
- int compress_proto; /* CCP compression protocol number */
-
- /* Allocate space for a compressor (transmit side) */
- void *(*comp_alloc) (unsigned char *options, int opt_len);
-
- /* Free space used by a compressor */
- void (*comp_free) (void *state);
-
- /* Initialize a compressor */
- int (*comp_init) (void *state, unsigned char *options,
- int opt_len, int unit, int opthdr, int debug);
-
- /* Reset a compressor */
- void (*comp_reset) (void *state);
-
- /* Compress a packet */
- int (*compress) (void *state, unsigned char *rptr,
- unsigned char *obuf, int isize, int osize);
-
- /* Return compression statistics */
- void (*comp_stat) (void *state, struct compstat *stats);
-
- /* Allocate space for a decompressor (receive side) */
- void *(*decomp_alloc) (unsigned char *options, int opt_len);
-
- /* Free space used by a decompressor */
- void (*decomp_free) (void *state);
-
- /* Initialize a decompressor */
- int (*decomp_init) (void *state, unsigned char *options,
- int opt_len, int unit, int opthdr, int mru,
- int debug);
-
- /* Reset a decompressor */
- void (*decomp_reset) (void *state);
-
- /* Decompress a packet. */
- int (*decompress) (void *state, unsigned char *ibuf, int isize,
- unsigned char *obuf, int osize);
-
- /* Update state for an incompressible packet received */
- void (*incomp) (void *state, unsigned char *ibuf, int icnt);
-
- /* Return decompression statistics */
- void (*decomp_stat) (void *state, struct compstat *stats);
-};
-
-/*
- * The return value from decompress routine is the length of the
- * decompressed packet if successful, otherwise DECOMP_ERROR
- * or DECOMP_FATALERROR if an error occurred.
- *
- * We need to make this distinction so that we can disable certain
- * useful functionality, namely sending a CCP reset-request as a result
- * of an error detected after decompression. This is to avoid infringing
- * a patent held by Motorola.
- * Don't you just lurve software patents.
- */
-
-#define DECOMP_ERROR -1 /* error detected before decomp. */
-#define DECOMP_FATALERROR -2 /* error detected after decomp. */
-
-/*
- * CCP codes.
- */
-
-#define CCP_CONFREQ 1
-#define CCP_CONFACK 2
-#define CCP_TERMREQ 5
-#define CCP_TERMACK 6
-#define CCP_RESETREQ 14
-#define CCP_RESETACK 15
-
-/*
- * Max # bytes for a CCP option
- */
-
-#define CCP_MAX_OPTION_LENGTH 32
-
-/*
- * Parts of a CCP packet.
- */
-
-#define CCP_CODE(dp) ((dp)[0])
-#define CCP_ID(dp) ((dp)[1])
-#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
-#define CCP_HDRLEN 4
-
-#define CCP_OPT_CODE(dp) ((dp)[0])
-#define CCP_OPT_LENGTH(dp) ((dp)[1])
-#define CCP_OPT_MINLEN 2
-
-/*
- * Definitions for BSD-Compress.
- */
-
-#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
-#define CILEN_BSD_COMPRESS 3 /* length of config. option */
-
-/* Macros for handling the 3rd byte of the BSD-Compress config option. */
-#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
-#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
-#define BSD_CURRENT_VERSION 1 /* current version number */
-#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
-
-#define BSD_MIN_BITS 9 /* smallest code size supported */
-#define BSD_MAX_BITS 15 /* largest code size supported */
-
-/*
- * Definitions for Deflate.
- */
-
-#define CI_DEFLATE 26 /* config option for Deflate */
-#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
-#define CILEN_DEFLATE 4 /* length of its config option */
-
-#define DEFLATE_MIN_SIZE 8
-#define DEFLATE_MAX_SIZE 15
-#define DEFLATE_METHOD_VAL 8
-#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
-#define DEFLATE_METHOD(x) ((x) & 0x0F)
-#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
- + DEFLATE_METHOD_VAL)
-#define DEFLATE_CHK_SEQUENCE 0
-
-/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-
-#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
-#define CILEN_PREDICTOR_1 2 /* length of its config option */
-#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
-#define CILEN_PREDICTOR_2 2 /* length of its config option */
-
-#ifdef __KERNEL__
-extern int ppp_register_compressor(struct compressor *);
-extern void ppp_unregister_compressor(struct compressor *);
-#endif /* __KERNEL__ */
-
-#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/include/linux/ppp_defs.h b/mdk-stage1/ppp/include/linux/ppp_defs.h
deleted file mode 100644
index 46946fbdc..000000000
--- a/mdk-stage1/ppp/include/linux/ppp_defs.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/* $Id$ */
-
-/*
- * ppp_defs.h - PPP definitions.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-/*
- * ==FILEVERSION 20000114==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
- * ppp_defs.h is shipped with a PPP distribution as well as with the kernel;
- * if everyone increases the FILEVERSION number above, then scripts
- * can do the right thing when deciding whether to install a new ppp_defs.h
- * file. Don't change the format of that line otherwise, so the
- * installation script can recognize it.
- */
-
-#ifndef _PPP_DEFS_H_
-#define _PPP_DEFS_H_
-
-/*
- * The basic PPP frame.
- */
-#define PPP_HDRLEN 4 /* octets for standard ppp header */
-#define PPP_FCSLEN 2 /* octets for FCS */
-#define PPP_MRU 1500 /* default MRU = max length of info field */
-
-#define PPP_ADDRESS(p) (((__u8 *)(p))[0])
-#define PPP_CONTROL(p) (((__u8 *)(p))[1])
-#define PPP_PROTOCOL(p) ((((__u8 *)(p))[2] << 8) + ((__u8 *)(p))[3])
-
-/*
- * Significant octet values.
- */
-#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */
-#define PPP_UI 0x03 /* Unnumbered Information */
-#define PPP_FLAG 0x7e /* Flag Sequence */
-#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */
-#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */
-
-/*
- * Protocol field values.
- */
-#define PPP_IP 0x21 /* Internet Protocol */
-#define PPP_AT 0x29 /* AppleTalk Protocol */
-#define PPP_IPX 0x2b /* IPX protocol */
-#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
-#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
-#define PPP_MP 0x3d /* Multilink protocol */
-#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
-#define PPP_COMPFRAG 0xfb /* fragment compressed below bundle */
-#define PPP_COMP 0xfd /* compressed packet */
-#define PPP_IPCP 0x8021 /* IP Control Protocol */
-#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
-#define PPP_IPXCP 0x802b /* IPX Control Protocol */
-#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
-#define PPP_CCPFRAG 0x80fb /* CCP at link level (below MP bundle) */
-#define PPP_CCP 0x80fd /* Compression Control Protocol */
-#define PPP_LCP 0xc021 /* Link Control Protocol */
-#define PPP_PAP 0xc023 /* Password Authentication Protocol */
-#define PPP_LQR 0xc025 /* Link Quality Report protocol */
-#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
-#define PPP_CBCP 0xc029 /* Callback Control Protocol */
-
-/*
- * Values for FCS calculations.
- */
-
-#define PPP_INITFCS 0xffff /* Initial FCS value */
-#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */
-#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
-
-/*
- * Extended asyncmap - allows any character to be escaped.
- */
-
-typedef __u32 ext_accm[8];
-
-/*
- * What to do with network protocol (NP) packets.
- */
-enum NPmode {
- NPMODE_PASS, /* pass the packet through */
- NPMODE_DROP, /* silently drop the packet */
- NPMODE_ERROR, /* return an error */
- NPMODE_QUEUE /* save it up for later. */
-};
-
-/*
- * Statistics for LQRP and pppstats
- */
-struct pppstat {
- __u32 ppp_discards; /* # frames discarded */
-
- __u32 ppp_ibytes; /* bytes received */
- __u32 ppp_ioctects; /* bytes received not in error */
- __u32 ppp_ipackets; /* packets received */
- __u32 ppp_ierrors; /* receive errors */
- __u32 ppp_ilqrs; /* # LQR frames received */
-
- __u32 ppp_obytes; /* raw bytes sent */
- __u32 ppp_ooctects; /* frame bytes sent */
- __u32 ppp_opackets; /* packets sent */
- __u32 ppp_oerrors; /* transmit errors */
- __u32 ppp_olqrs; /* # LQR frames sent */
-};
-
-struct vjstat {
- __u32 vjs_packets; /* outbound packets */
- __u32 vjs_compressed; /* outbound compressed packets */
- __u32 vjs_searches; /* searches for connection state */
- __u32 vjs_misses; /* times couldn't find conn. state */
- __u32 vjs_uncompressedin; /* inbound uncompressed packets */
- __u32 vjs_compressedin; /* inbound compressed packets */
- __u32 vjs_errorin; /* inbound unknown type packets */
- __u32 vjs_tossed; /* inbound packets tossed because of error */
-};
-
-struct compstat {
- __u32 unc_bytes; /* total uncompressed bytes */
- __u32 unc_packets; /* total uncompressed packets */
- __u32 comp_bytes; /* compressed bytes */
- __u32 comp_packets; /* compressed packets */
- __u32 inc_bytes; /* incompressible bytes */
- __u32 inc_packets; /* incompressible packets */
-
- /* the compression ratio is defined as in_count / bytes_out */
- __u32 in_count; /* Bytes received */
- __u32 bytes_out; /* Bytes transmitted */
-
- double ratio; /* not computed in kernel. */
-};
-
-struct ppp_stats {
- struct pppstat p; /* basic PPP statistics */
- struct vjstat vj; /* VJ header compression statistics */
-};
-
-struct ppp_comp_stats {
- struct compstat c; /* packet compression statistics */
- struct compstat d; /* packet decompression statistics */
-};
-
-/*
- * The following structure records the time in seconds since
- * the last NP packet was sent or received.
- */
-struct ppp_idle {
- time_t xmit_idle; /* time since last NP packet sent */
- time_t recv_idle; /* time since last NP packet received */
-};
-
-#ifndef __P
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-#endif
-
-#endif /* _PPP_DEFS_H_ */
diff --git a/mdk-stage1/ppp/include/net/if_ppp.h b/mdk-stage1/ppp/include/net/if_ppp.h
deleted file mode 100644
index 1527ecf3f..000000000
--- a/mdk-stage1/ppp/include/net/if_ppp.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* $Id$ */
-
-/*
- * if_ppp.h - Point-to-Point Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _IF_PPP_H_
-#define _IF_PPP_H_
-
-/*
- * Bit definitions for flags.
- */
-#define SC_COMP_PROT 0x00000001 /* protocol compression (output) */
-#define SC_COMP_AC 0x00000002 /* header compression (output) */
-#define SC_COMP_TCP 0x00000004 /* TCP (VJ) compression (output) */
-#define SC_NO_TCP_CCID 0x00000008 /* disable VJ connection-id comp. */
-#define SC_REJ_COMP_AC 0x00000010 /* reject adrs/ctrl comp. on input */
-#define SC_REJ_COMP_TCP 0x00000020 /* reject TCP (VJ) comp. on input */
-#define SC_CCP_OPEN 0x00000040 /* Look at CCP packets */
-#define SC_CCP_UP 0x00000080 /* May send/recv compressed packets */
-#define SC_DEBUG 0x00010000 /* enable debug messages */
-#define SC_LOG_INPKT 0x00020000 /* log contents of good pkts recvd */
-#define SC_LOG_OUTPKT 0x00040000 /* log contents of pkts sent */
-#define SC_LOG_RAWIN 0x00080000 /* log all chars received */
-#define SC_LOG_FLUSH 0x00100000 /* log all chars flushed */
-#define SC_RCV_B7_0 0x01000000 /* have rcvd char with bit 7 = 0 */
-#define SC_RCV_B7_1 0x02000000 /* have rcvd char with bit 7 = 1 */
-#define SC_RCV_EVNP 0x04000000 /* have rcvd char with even parity */
-#define SC_RCV_ODDP 0x08000000 /* have rcvd char with odd parity */
-#define SC_SYNC 0x00200000 /* use synchronous HDLC framing */
-#define SC_MASK 0x0fff00ff /* bits that user can change */
-
-/*
- * State bits in sc_flags, not changeable by user.
- */
-#define SC_TIMEOUT 0x00000400 /* timeout is currently pending */
-#define SC_VJ_RESET 0x00000800 /* need to reset VJ decomp */
-#define SC_COMP_RUN 0x00001000 /* compressor has been inited */
-#define SC_DECOMP_RUN 0x00002000 /* decompressor has been inited */
-#define SC_DC_ERROR 0x00004000 /* non-fatal decomp error detected */
-#define SC_DC_FERROR 0x00008000 /* fatal decomp error detected */
-#define SC_TBUSY 0x10000000 /* xmitter doesn't need a packet yet */
-#define SC_PKTLOST 0x20000000 /* have lost or dropped a packet */
-#define SC_FLUSH 0x40000000 /* flush input until next PPP_FLAG */
-#define SC_ESCAPED 0x80000000 /* saw a PPP_ESCAPE */
-
-/*
- * Ioctl definitions.
- */
-
-struct npioctl {
- int protocol; /* PPP procotol, e.g. PPP_IP */
- enum NPmode mode;
-};
-
-/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
-struct ppp_option_data {
- u_char *ptr;
- u_int length;
- int transmit;
-};
-
-struct ifpppstatsreq {
- char ifr_name[IFNAMSIZ];
- struct ppp_stats stats;
-};
-
-struct ifpppcstatsreq {
- char ifr_name[IFNAMSIZ];
- struct ppp_comp_stats stats;
-};
-
-/*
- * Ioctl definitions.
- */
-
-#define PPPIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */
-#define PPPIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */
-#define PPPIOCGASYNCMAP _IOR('t', 88, int) /* get async map */
-#define PPPIOCSASYNCMAP _IOW('t', 87, int) /* set async map */
-#define PPPIOCGUNIT _IOR('t', 86, int) /* get ppp unit number */
-#define PPPIOCGRASYNCMAP _IOR('t', 85, int) /* get receive async map */
-#define PPPIOCSRASYNCMAP _IOW('t', 84, int) /* set receive async map */
-#define PPPIOCGMRU _IOR('t', 83, int) /* get max receive unit */
-#define PPPIOCSMRU _IOW('t', 82, int) /* set max receive unit */
-#define PPPIOCSMAXCID _IOW('t', 81, int) /* set VJ max slot ID */
-#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
-#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
-#define PPPIOCXFERUNIT _IO('t', 78) /* transfer PPP unit */
-#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
-#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) /* get NP mode */
-#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) /* set NP mode */
-#define PPPIOCGIDLE _IOR('t', 74, struct ppp_idle) /* get idle time */
-#ifdef PPP_FILTER
-#define PPPIOCSPASS _IOW('t', 71, struct bpf_program) /* set pass filter */
-#define PPPIOCSACTIVE _IOW('t', 70, struct bpf_program) /* set active filt */
-#endif /* PPP_FILTER */
-
-/* PPPIOC[GS]MTU are alternatives to SIOC[GS]IFMTU, used under Ultrix */
-#define PPPIOCGMTU _IOR('t', 73, int) /* get interface MTU */
-#define PPPIOCSMTU _IOW('t', 72, int) /* set interface MTU */
-
-/*
- * These two are interface ioctls so that pppstats can do them on
- * a socket without having to open the serial device.
- */
-#define SIOCGPPPSTATS _IOWR('i', 123, struct ifpppstatsreq)
-#define SIOCGPPPCSTATS _IOWR('i', 122, struct ifpppcstatsreq)
-
-#if !defined(ifr_mtu)
-#define ifr_mtu ifr_ifru.ifru_metric
-#endif
-
-#if (defined(_KERNEL) || defined(KERNEL)) && !defined(NeXT)
-void pppattach __P((void));
-void pppintr __P((void));
-#endif
-#endif /* _IF_PPP_H_ */
diff --git a/mdk-stage1/ppp/include/net/ppp-comp.h b/mdk-stage1/ppp/include/net/ppp-comp.h
deleted file mode 100644
index 0e6a9c672..000000000
--- a/mdk-stage1/ppp/include/net/ppp-comp.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * ppp-comp.h - Definitions for doing PPP packet compression.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#ifndef _NET_PPP_COMP_H
-#define _NET_PPP_COMP_H
-
-/*
- * The following symbols control whether we include code for
- * various compression methods.
- */
-#ifndef DO_BSD_COMPRESS
-#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
-#endif
-#ifndef DO_DEFLATE
-#define DO_DEFLATE 1 /* by default, include Deflate */
-#endif
-#define DO_PREDICTOR_1 0
-#define DO_PREDICTOR_2 0
-
-/*
- * Structure giving methods for compression/decompression.
- */
-#ifdef PACKETPTR
-struct compressor {
- int compress_proto; /* CCP compression protocol number */
-
- /* Allocate space for a compressor (transmit side) */
- void *(*comp_alloc) __P((u_char *options, int opt_len));
- /* Free space used by a compressor */
- void (*comp_free) __P((void *state));
- /* Initialize a compressor */
- int (*comp_init) __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int debug));
- /* Reset a compressor */
- void (*comp_reset) __P((void *state));
- /* Compress a packet */
- int (*compress) __P((void *state, PACKETPTR *mret,
- PACKETPTR mp, int orig_len, int max_len));
- /* Return compression statistics */
- void (*comp_stat) __P((void *state, struct compstat *stats));
-
- /* Allocate space for a decompressor (receive side) */
- void *(*decomp_alloc) __P((u_char *options, int opt_len));
- /* Free space used by a decompressor */
- void (*decomp_free) __P((void *state));
- /* Initialize a decompressor */
- int (*decomp_init) __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
- /* Reset a decompressor */
- void (*decomp_reset) __P((void *state));
- /* Decompress a packet. */
- int (*decompress) __P((void *state, PACKETPTR mp,
- PACKETPTR *dmpp));
- /* Update state for an incompressible packet received */
- void (*incomp) __P((void *state, PACKETPTR mp));
- /* Return decompression statistics */
- void (*decomp_stat) __P((void *state, struct compstat *stats));
-};
-#endif /* PACKETPTR */
-
-/*
- * Return values for decompress routine.
- * We need to make these distinctions so that we can disable certain
- * useful functionality, namely sending a CCP reset-request as a result
- * of an error detected after decompression. This is to avoid infringing
- * a patent held by Motorola.
- * Don't you just lurve software patents.
- */
-#define DECOMP_OK 0 /* everything went OK */
-#define DECOMP_ERROR 1 /* error detected before decomp. */
-#define DECOMP_FATALERROR 2 /* error detected after decomp. */
-
-/*
- * CCP codes.
- */
-#define CCP_CONFREQ 1
-#define CCP_CONFACK 2
-#define CCP_TERMREQ 5
-#define CCP_TERMACK 6
-#define CCP_RESETREQ 14
-#define CCP_RESETACK 15
-
-/*
- * Max # bytes for a CCP option
- */
-#define CCP_MAX_OPTION_LENGTH 32
-
-/*
- * Parts of a CCP packet.
- */
-#define CCP_CODE(dp) ((dp)[0])
-#define CCP_ID(dp) ((dp)[1])
-#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
-#define CCP_HDRLEN 4
-
-#define CCP_OPT_CODE(dp) ((dp)[0])
-#define CCP_OPT_LENGTH(dp) ((dp)[1])
-#define CCP_OPT_MINLEN 2
-
-/*
- * Definitions for BSD-Compress.
- */
-#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
-#define CILEN_BSD_COMPRESS 3 /* length of config. option */
-
-/* Macros for handling the 3rd byte of the BSD-Compress config option. */
-#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
-#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
-#define BSD_CURRENT_VERSION 1 /* current version number */
-#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
-
-#define BSD_MIN_BITS 9 /* smallest code size supported */
-#define BSD_MAX_BITS 15 /* largest code size supported */
-
-/*
- * Definitions for Deflate.
- */
-#define CI_DEFLATE 26 /* config option for Deflate */
-#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
-#define CILEN_DEFLATE 4 /* length of its config option */
-
-#define DEFLATE_MIN_SIZE 8
-#define DEFLATE_MAX_SIZE 15
-#define DEFLATE_METHOD_VAL 8
-#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
-#define DEFLATE_METHOD(x) ((x) & 0x0F)
-#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
- + DEFLATE_METHOD_VAL)
-#define DEFLATE_CHK_SEQUENCE 0
-
-/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
-#define CILEN_PREDICTOR_1 2 /* length of its config option */
-#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
-#define CILEN_PREDICTOR_2 2 /* length of its config option */
-
-#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/include/net/ppp_defs.h b/mdk-stage1/ppp/include/net/ppp_defs.h
deleted file mode 100644
index c35020eab..000000000
--- a/mdk-stage1/ppp/include/net/ppp_defs.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/* $Id$ */
-
-/*
- * ppp_defs.h - PPP definitions.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-#ifndef _PPP_DEFS_H_
-#define _PPP_DEFS_H_
-
-/*
- * The basic PPP frame.
- */
-#define PPP_HDRLEN 4 /* octets for standard ppp header */
-#define PPP_FCSLEN 2 /* octets for FCS */
-
-/*
- * Packet sizes
- *
- * Note - lcp shouldn't be allowed to negotiate stuff outside these
- * limits. See lcp.h in the pppd directory.
- * (XXX - these constants should simply be shared by lcp.c instead
- * of living in lcp.h)
- */
-#define PPP_MTU 1500 /* Default MTU (size of Info field) */
-#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN)
-#define PPP_MINMTU 64
-#define PPP_MRU 1500 /* default MRU = max length of info field */
-#define PPP_MAXMRU 65000 /* Largest MRU we allow */
-#define PPP_MINMRU 128
-
-#define PPP_ADDRESS(p) (((u_char *)(p))[0])
-#define PPP_CONTROL(p) (((u_char *)(p))[1])
-#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3])
-
-/*
- * Significant octet values.
- */
-#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */
-#define PPP_UI 0x03 /* Unnumbered Information */
-#define PPP_FLAG 0x7e /* Flag Sequence */
-#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */
-#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */
-
-/*
- * Protocol field values.
- */
-#define PPP_IP 0x21 /* Internet Protocol */
-#define PPP_AT 0x29 /* AppleTalk Protocol */
-#define PPP_IPX 0x2b /* IPX protocol */
-#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
-#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
-#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
-#define PPP_COMP 0xfd /* compressed packet */
-#define PPP_IPCP 0x8021 /* IP Control Protocol */
-#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
-#define PPP_IPXCP 0x802b /* IPX Control Protocol */
-#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
-#define PPP_CCP 0x80fd /* Compression Control Protocol */
-#define PPP_LCP 0xc021 /* Link Control Protocol */
-#define PPP_PAP 0xc023 /* Password Authentication Protocol */
-#define PPP_LQR 0xc025 /* Link Quality Report protocol */
-#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
-#define PPP_CBCP 0xc029 /* Callback Control Protocol */
-
-/*
- * Values for FCS calculations.
- */
-#define PPP_INITFCS 0xffff /* Initial FCS value */
-#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */
-#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
-
-/*
- * A 32-bit unsigned integral type.
- */
-
-#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \
- && !defined(__FreeBSD__) && (NS_TARGET < 40)
-#ifdef UINT32_T
-typedef UINT32_T u_int32_t;
-#else
-typedef unsigned int u_int32_t;
-typedef unsigned short u_int16_t;
-#endif
-#endif
-
-/*
- * Extended asyncmap - allows any character to be escaped.
- */
-typedef u_int32_t ext_accm[8];
-
-/*
- * What to do with network protocol (NP) packets.
- */
-enum NPmode {
- NPMODE_PASS, /* pass the packet through */
- NPMODE_DROP, /* silently drop the packet */
- NPMODE_ERROR, /* return an error */
- NPMODE_QUEUE /* save it up for later. */
-};
-
-/*
- * Statistics.
- */
-struct pppstat {
- unsigned int ppp_ibytes; /* bytes received */
- unsigned int ppp_ipackets; /* packets received */
- unsigned int ppp_ierrors; /* receive errors */
- unsigned int ppp_obytes; /* bytes sent */
- unsigned int ppp_opackets; /* packets sent */
- unsigned int ppp_oerrors; /* transmit errors */
-};
-
-struct vjstat {
- unsigned int vjs_packets; /* outbound packets */
- unsigned int vjs_compressed; /* outbound compressed packets */
- unsigned int vjs_searches; /* searches for connection state */
- unsigned int vjs_misses; /* times couldn't find conn. state */
- unsigned int vjs_uncompressedin; /* inbound uncompressed packets */
- unsigned int vjs_compressedin; /* inbound compressed packets */
- unsigned int vjs_errorin; /* inbound unknown type packets */
- unsigned int vjs_tossed; /* inbound packets tossed because of error */
-};
-
-struct ppp_stats {
- struct pppstat p; /* basic PPP statistics */
- struct vjstat vj; /* VJ header compression statistics */
-};
-
-struct compstat {
- unsigned int unc_bytes; /* total uncompressed bytes */
- unsigned int unc_packets; /* total uncompressed packets */
- unsigned int comp_bytes; /* compressed bytes */
- unsigned int comp_packets; /* compressed packets */
- unsigned int inc_bytes; /* incompressible bytes */
- unsigned int inc_packets; /* incompressible packets */
- unsigned int ratio; /* recent compression ratio << 8 */
-};
-
-struct ppp_comp_stats {
- struct compstat c; /* packet compression statistics */
- struct compstat d; /* packet decompression statistics */
-};
-
-/*
- * The following structure records the time in seconds since
- * the last NP packet was sent or received.
- */
-struct ppp_idle {
- time_t xmit_idle; /* time since last NP packet sent */
- time_t recv_idle; /* time since last NP packet received */
-};
-
-#ifndef __P
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-#endif
-
-#endif /* _PPP_DEFS_H_ */
diff --git a/mdk-stage1/ppp/include/net/pppio.h b/mdk-stage1/ppp/include/net/pppio.h
deleted file mode 100644
index 9db1ca9ab..000000000
--- a/mdk-stage1/ppp/include/net/pppio.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * pppio.h - ioctl and other misc. definitions for STREAMS modules.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#define _PPPIO(n) (('p' << 8) + (n))
-
-#define PPPIO_NEWPPA _PPPIO(130) /* allocate a new PPP unit */
-#define PPPIO_GETSTAT _PPPIO(131) /* get PPP statistics */
-#define PPPIO_GETCSTAT _PPPIO(132) /* get PPP compression stats */
-#define PPPIO_MTU _PPPIO(133) /* set max transmission unit */
-#define PPPIO_MRU _PPPIO(134) /* set max receive unit */
-#define PPPIO_CFLAGS _PPPIO(135) /* set/clear/get compression flags */
-#define PPPIO_XCOMP _PPPIO(136) /* alloc transmit compressor */
-#define PPPIO_RCOMP _PPPIO(137) /* alloc receive decompressor */
-#define PPPIO_XACCM _PPPIO(138) /* set transmit asyncmap */
-#define PPPIO_RACCM _PPPIO(139) /* set receive asyncmap */
-#define PPPIO_VJINIT _PPPIO(140) /* initialize VJ comp/decomp */
-#define PPPIO_ATTACH _PPPIO(141) /* attach to a ppa (without putmsg) */
-#define PPPIO_LASTMOD _PPPIO(142) /* mark last ppp module */
-#define PPPIO_GCLEAN _PPPIO(143) /* get 8-bit-clean flags */
-#define PPPIO_DEBUG _PPPIO(144) /* request debug information */
-#define PPPIO_BIND _PPPIO(145) /* bind to SAP */
-#define PPPIO_NPMODE _PPPIO(146) /* set mode for handling data pkts */
-#define PPPIO_GIDLE _PPPIO(147) /* get time since last data pkt */
-#define PPPIO_PASSFILT _PPPIO(148) /* set filter for packets to pass */
-#define PPPIO_ACTIVEFILT _PPPIO(149) /* set filter for "link active" pkts */
-
-/*
- * Values for PPPIO_CFLAGS
- */
-#define COMP_AC 0x1 /* compress address/control */
-#define DECOMP_AC 0x2 /* decompress address/control */
-#define COMP_PROT 0x4 /* compress PPP protocol */
-#define DECOMP_PROT 0x8 /* decompress PPP protocol */
-
-#define COMP_VJC 0x10 /* compress TCP/IP headers */
-#define COMP_VJCCID 0x20 /* compress connection ID as well */
-#define DECOMP_VJC 0x40 /* decompress TCP/IP headers */
-#define DECOMP_VJCCID 0x80 /* accept compressed connection ID */
-
-#define CCP_ISOPEN 0x100 /* look at CCP packets */
-#define CCP_ISUP 0x200 /* do packet comp/decomp */
-#define CCP_ERROR 0x400 /* (status) error in packet decomp */
-#define CCP_FATALERROR 0x800 /* (status) fatal error ditto */
-#define CCP_COMP_RUN 0x1000 /* (status) seen CCP ack sent */
-#define CCP_DECOMP_RUN 0x2000 /* (status) seen CCP ack rcvd */
-
-/*
- * Values for 8-bit-clean flags.
- */
-#define RCV_B7_0 1 /* have rcvd char with bit 7 = 0 */
-#define RCV_B7_1 2 /* have rcvd char with bit 7 = 1 */
-#define RCV_EVNP 4 /* have rcvd char with even parity */
-#define RCV_ODDP 8 /* have rcvd char with odd parity */
-
-/*
- * Values for the first byte of M_CTL messages passed between
- * PPP modules.
- */
-#define PPPCTL_OERROR 0xe0 /* output error [up] */
-#define PPPCTL_IERROR 0xe1 /* input error (e.g. FCS) [up] */
-#define PPPCTL_MTU 0xe2 /* set MTU [down] */
-#define PPPCTL_MRU 0xe3 /* set MRU [down] */
-#define PPPCTL_UNIT 0xe4 /* note PPP unit number [down] */
-
-/*
- * Values for the integer argument to PPPIO_DEBUG.
- */
-#define PPPDBG_DUMP 0x10000 /* print out debug info now */
-#define PPPDBG_LOG 0x100 /* log various things */
-#define PPPDBG_DRIVER 0 /* identifies ppp driver as target */
-#define PPPDBG_IF 1 /* identifies ppp network i/f target */
-#define PPPDBG_COMP 2 /* identifies ppp compression target */
-#define PPPDBG_AHDLC 3 /* identifies ppp async hdlc target */
diff --git a/mdk-stage1/ppp/include/net/slcompress.h b/mdk-stage1/ppp/include/net/slcompress.h
deleted file mode 100644
index 9e19bc0ed..000000000
--- a/mdk-stage1/ppp/include/net/slcompress.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Definitions for tcp compression routines.
- *
- * $Id$
- *
- * Copyright (c) 1989 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
- * - Initial distribution.
- */
-
-#ifndef _SLCOMPRESS_H_
-#define _SLCOMPRESS_H_
-
-#define MAX_STATES 16 /* must be > 2 and < 256 */
-#define MAX_HDR MLEN /* XXX 4bsd-ism: should really be 128 */
-
-/*
- * Compressed packet format:
- *
- * The first octet contains the packet type (top 3 bits), TCP
- * 'push' bit, and flags that indicate which of the 4 TCP sequence
- * numbers have changed (bottom 5 bits). The next octet is a
- * conversation number that associates a saved IP/TCP header with
- * the compressed packet. The next two octets are the TCP checksum
- * from the original datagram. The next 0 to 15 octets are
- * sequence number changes, one change per bit set in the header
- * (there may be no changes and there are two special cases where
- * the receiver implicitly knows what changed -- see below).
- *
- * There are 5 numbers which can change (they are always inserted
- * in the following order): TCP urgent pointer, window,
- * acknowlegement, sequence number and IP ID. (The urgent pointer
- * is different from the others in that its value is sent, not the
- * change in value.) Since typical use of SLIP links is biased
- * toward small packets (see comments on MTU/MSS below), changes
- * use a variable length coding with one octet for numbers in the
- * range 1 - 255 and 3 octets (0, MSB, LSB) for numbers in the
- * range 256 - 65535 or 0. (If the change in sequence number or
- * ack is more than 65535, an uncompressed packet is sent.)
- */
-
-/*
- * Packet types (must not conflict with IP protocol version)
- *
- * The top nibble of the first octet is the packet type. There are
- * three possible types: IP (not proto TCP or tcp with one of the
- * control flags set); uncompressed TCP (a normal IP/TCP packet but
- * with the 8-bit protocol field replaced by an 8-bit connection id --
- * this type of packet syncs the sender & receiver); and compressed
- * TCP (described above).
- *
- * LSB of 4-bit field is TCP "PUSH" bit (a worthless anachronism) and
- * is logically part of the 4-bit "changes" field that follows. Top
- * three bits are actual packet type. For backward compatibility
- * and in the interest of conserving bits, numbers are chosen so the
- * IP protocol version number (4) which normally appears in this nibble
- * means "IP packet".
- */
-
-/* packet types */
-#define TYPE_IP 0x40
-#define TYPE_UNCOMPRESSED_TCP 0x70
-#define TYPE_COMPRESSED_TCP 0x80
-#define TYPE_ERROR 0x00
-
-/* Bits in first octet of compressed packet */
-#define NEW_C 0x40 /* flag bits for what changed in a packet */
-#define NEW_I 0x20
-#define NEW_S 0x08
-#define NEW_A 0x04
-#define NEW_W 0x02
-#define NEW_U 0x01
-
-/* reserved, special-case values of above */
-#define SPECIAL_I (NEW_S|NEW_W|NEW_U) /* echoed interactive traffic */
-#define SPECIAL_D (NEW_S|NEW_A|NEW_W|NEW_U) /* unidirectional data */
-#define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)
-
-#define TCP_PUSH_BIT 0x10
-
-
-/*
- * "state" data for each active tcp conversation on the wire. This is
- * basically a copy of the entire IP/TCP header from the last packet
- * we saw from the conversation together with a small identifier
- * the transmit & receive ends of the line use to locate saved header.
- */
-struct cstate {
- struct cstate *cs_next; /* next most recently used cstate (xmit only) */
- u_short cs_hlen; /* size of hdr (receive only) */
- u_char cs_id; /* connection # associated with this state */
- u_char cs_filler;
- union {
- char csu_hdr[MAX_HDR];
- struct ip csu_ip; /* ip/tcp hdr from most recent packet */
- } slcs_u;
-};
-#define cs_ip slcs_u.csu_ip
-#define cs_hdr slcs_u.csu_hdr
-
-/*
- * all the state data for one serial line (we need one of these
- * per line).
- */
-struct slcompress {
- struct cstate *last_cs; /* most recently used tstate */
- u_char last_recv; /* last rcvd conn. id */
- u_char last_xmit; /* last sent conn. id */
- u_short flags;
-#ifndef SL_NO_STATS
- int sls_packets; /* outbound packets */
- int sls_compressed; /* outbound compressed packets */
- int sls_searches; /* searches for connection state */
- int sls_misses; /* times couldn't find conn. state */
- int sls_uncompressedin; /* inbound uncompressed packets */
- int sls_compressedin; /* inbound compressed packets */
- int sls_errorin; /* inbound unknown type packets */
- int sls_tossed; /* inbound packets tossed because of error */
-#endif
- struct cstate tstate[MAX_STATES]; /* xmit connection states */
- struct cstate rstate[MAX_STATES]; /* receive connection states */
-};
-/* flag values */
-#define SLF_TOSS 1 /* tossing rcvd frames because of input err */
-
-void sl_compress_init __P((struct slcompress *));
-void sl_compress_setup __P((struct slcompress *, int));
-u_int sl_compress_tcp __P((struct mbuf *,
- struct ip *, struct slcompress *, int));
-int sl_uncompress_tcp __P((u_char **, int, u_int, struct slcompress *));
-int sl_uncompress_tcp_core __P((u_char *, int, int, u_int,
- struct slcompress *, u_char **, u_int *));
-
-#endif /* _SLCOMPRESS_H_ */
diff --git a/mdk-stage1/ppp/include/net/vjcompress.h b/mdk-stage1/ppp/include/net/vjcompress.h
deleted file mode 100644
index c64596926..000000000
--- a/mdk-stage1/ppp/include/net/vjcompress.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Definitions for tcp compression routines.
- *
- * $Id$
- *
- * Copyright (c) 1989 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
- * - Initial distribution.
- */
-
-#ifndef _VJCOMPRESS_H_
-#define _VJCOMPRESS_H_
-
-#define MAX_STATES 16 /* must be > 2 and < 256 */
-#define MAX_HDR 128
-
-/*
- * Compressed packet format:
- *
- * The first octet contains the packet type (top 3 bits), TCP
- * 'push' bit, and flags that indicate which of the 4 TCP sequence
- * numbers have changed (bottom 5 bits). The next octet is a
- * conversation number that associates a saved IP/TCP header with
- * the compressed packet. The next two octets are the TCP checksum
- * from the original datagram. The next 0 to 15 octets are
- * sequence number changes, one change per bit set in the header
- * (there may be no changes and there are two special cases where
- * the receiver implicitly knows what changed -- see below).
- *
- * There are 5 numbers which can change (they are always inserted
- * in the following order): TCP urgent pointer, window,
- * acknowlegement, sequence number and IP ID. (The urgent pointer
- * is different from the others in that its value is sent, not the
- * change in value.) Since typical use of SLIP links is biased
- * toward small packets (see comments on MTU/MSS below), changes
- * use a variable length coding with one octet for numbers in the
- * range 1 - 255 and 3 octets (0, MSB, LSB) for numbers in the
- * range 256 - 65535 or 0. (If the change in sequence number or
- * ack is more than 65535, an uncompressed packet is sent.)
- */
-
-/*
- * Packet types (must not conflict with IP protocol version)
- *
- * The top nibble of the first octet is the packet type. There are
- * three possible types: IP (not proto TCP or tcp with one of the
- * control flags set); uncompressed TCP (a normal IP/TCP packet but
- * with the 8-bit protocol field replaced by an 8-bit connection id --
- * this type of packet syncs the sender & receiver); and compressed
- * TCP (described above).
- *
- * LSB of 4-bit field is TCP "PUSH" bit (a worthless anachronism) and
- * is logically part of the 4-bit "changes" field that follows. Top
- * three bits are actual packet type. For backward compatibility
- * and in the interest of conserving bits, numbers are chosen so the
- * IP protocol version number (4) which normally appears in this nibble
- * means "IP packet".
- */
-
-/* packet types */
-#define TYPE_IP 0x40
-#define TYPE_UNCOMPRESSED_TCP 0x70
-#define TYPE_COMPRESSED_TCP 0x80
-#define TYPE_ERROR 0x00
-
-/* Bits in first octet of compressed packet */
-#define NEW_C 0x40 /* flag bits for what changed in a packet */
-#define NEW_I 0x20
-#define NEW_S 0x08
-#define NEW_A 0x04
-#define NEW_W 0x02
-#define NEW_U 0x01
-
-/* reserved, special-case values of above */
-#define SPECIAL_I (NEW_S|NEW_W|NEW_U) /* echoed interactive traffic */
-#define SPECIAL_D (NEW_S|NEW_A|NEW_W|NEW_U) /* unidirectional data */
-#define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)
-
-#define TCP_PUSH_BIT 0x10
-
-
-/*
- * "state" data for each active tcp conversation on the wire. This is
- * basically a copy of the entire IP/TCP header from the last packet
- * we saw from the conversation together with a small identifier
- * the transmit & receive ends of the line use to locate saved header.
- */
-struct cstate {
- struct cstate *cs_next; /* next most recently used state (xmit only) */
- u_short cs_hlen; /* size of hdr (receive only) */
- u_char cs_id; /* connection # associated with this state */
- u_char cs_filler;
- union {
- char csu_hdr[MAX_HDR];
- struct ip csu_ip; /* ip/tcp hdr from most recent packet */
- } vjcs_u;
-};
-#define cs_ip vjcs_u.csu_ip
-#define cs_hdr vjcs_u.csu_hdr
-
-/*
- * all the state data for one serial line (we need one of these per line).
- */
-struct vjcompress {
- struct cstate *last_cs; /* most recently used tstate */
- u_char last_recv; /* last rcvd conn. id */
- u_char last_xmit; /* last sent conn. id */
- u_short flags;
-#ifndef VJ_NO_STATS
- struct vjstat stats;
-#endif
- struct cstate tstate[MAX_STATES]; /* xmit connection states */
- struct cstate rstate[MAX_STATES]; /* receive connection states */
-};
-
-/* flag values */
-#define VJF_TOSS 1 /* tossing rcvd frames because of input err */
-
-extern void vj_compress_init __P((struct vjcompress *comp, int max_state));
-extern u_int vj_compress_tcp __P((struct ip *ip, u_int mlen,
- struct vjcompress *comp, int compress_cid_flag,
- u_char **vjhdrp));
-extern void vj_uncompress_err __P((struct vjcompress *comp));
-extern int vj_uncompress_uncomp __P((u_char *buf, int buflen,
- struct vjcompress *comp));
-extern int vj_uncompress_tcp __P((u_char *buf, int buflen, int total_len,
- struct vjcompress *comp, u_char **hdrp,
- u_int *hlenp));
-
-#endif /* _VJCOMPRESS_H_ */
diff --git a/mdk-stage1/ppp/include/pcap-int.h b/mdk-stage1/ppp/include/pcap-int.h
deleted file mode 100644
index 323994929..000000000
--- a/mdk-stage1/ppp/include/pcap-int.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 1994, 1995, 1996
- * The Regents of the University of California. 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 the Computer Systems
- * Engineering Group at Lawrence Berkeley Laboratory.
- * 4. Neither the name of the University nor of the Laboratory may be used
- * to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
- *
- * @(#) $Header$ (LBL)
- */
-
-#ifndef pcap_int_h
-#define pcap_int_h
-
-#include <pcap.h>
-
-/*
- * Savefile
- */
-struct pcap_sf {
- FILE *rfile;
- int swapped;
- int version_major;
- int version_minor;
- u_char *base;
-};
-
-struct pcap_md {
- struct pcap_stat stat;
- /*XXX*/
- int use_bpf;
- u_long TotPkts; /* can't oflow for 79 hrs on ether */
- u_long TotAccepted; /* count accepted by filter */
- u_long TotDrops; /* count of dropped packets */
- long TotMissed; /* missed by i/f during this run */
- long OrigMissed; /* missed by i/f before this run */
-#ifdef linux
- int pad;
- int skip;
- char *device;
-#endif
-};
-
-struct pcap {
- int fd;
- int snapshot;
- int linktype;
- int tzoff; /* timezone offset */
- int offset; /* offset for proper alignment */
-
- struct pcap_sf sf;
- struct pcap_md md;
-
- /*
- * Read buffer.
- */
- int bufsize;
- u_char *buffer;
- u_char *bp;
- int cc;
-
- /*
- * Place holder for pcap_next().
- */
- u_char *pkt;
-
-
- /*
- * Placeholder for filter code if bpf not in kernel.
- */
- struct bpf_program fcode;
-
- char errbuf[PCAP_ERRBUF_SIZE];
-};
-
-int yylex(void);
-
-#ifndef min
-#define min(a, b) ((a) > (b) ? (b) : (a))
-#endif
-
-/* XXX should these be in pcap.h? */
-int pcap_offline_read(pcap_t *, int, pcap_handler, u_char *);
-int pcap_read(pcap_t *, int cnt, pcap_handler, u_char *);
-
-/* Ultrix pads to make everything line up on a nice boundary */
-#if defined(ultrix) || defined(__alpha)
-#define PCAP_FDDIPAD 3
-#endif
-
-/* XXX */
-extern int pcap_fddipad;
-#endif
diff --git a/mdk-stage1/ppp/linux/Makefile.top b/mdk-stage1/ppp/linux/Makefile.top
deleted file mode 100644
index fa34ce59f..000000000
--- a/mdk-stage1/ppp/linux/Makefile.top
+++ /dev/null
@@ -1,55 +0,0 @@
-# PPP top-level Makefile for Linux.
-
-
-BINDIR = $(DESTDIR)/usr/sbin
-MANDIR = $(DESTDIR)/usr/man
-ETCDIR = $(DESTDIR)/etc/ppp
-
-# uid 0 = root
-INSTALL= install
-
-all:
- cd chat; $(MAKE) $(MFLAGS) all
- cd pppd; $(MAKE) $(MFLAGS) all
- cd pppstats; $(MAKE) $(MFLAGS) all
- cd pppdump; $(MAKE) $(MFLAGS) all
-
-install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
-
-install-progs:
- cd chat; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
- cd pppd; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
- cd pppstats; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
- cd pppdump; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
-
-install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
- $(ETCDIR)/chap-secrets
-
-$(ETCDIR)/options:
- $(INSTALL) -c -m 644 etc.ppp/options $@
-$(ETCDIR)/pap-secrets:
- $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@
-$(ETCDIR)/chap-secrets:
- $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@
-
-$(BINDIR):
- $(INSTALL) -d -m 755 $@
-$(MANDIR)/man8:
- $(INSTALL) -d -m 755 $@
-$(ETCDIR):
- $(INSTALL) -d -m 755 $@
-
-clean:
- rm -f `find . -name '*.[oas]' -print`
- rm -f `find . -name 'core' -print`
- rm -f `find . -name '*~' -print`
- cd chat; $(MAKE) clean
- cd pppd; $(MAKE) clean
- cd pppstats; $(MAKE) clean
- cd pppdump; $(MAKE) clean
-
-dist-clean: clean
- rm -f Makefile `find . -name Makefile -print`
-
-#kernel:
-# cd linux; ./kinstall.sh
diff --git a/mdk-stage1/ppp/modules/bsd-comp.c b/mdk-stage1/ppp/modules/bsd-comp.c
deleted file mode 100644
index b1b9325c7..000000000
--- a/mdk-stage1/ppp/modules/bsd-comp.c
+++ /dev/null
@@ -1,1116 +0,0 @@
-/* Because this code is derived from the 4.3BSD compress source:
- *
- *
- * Copyright (c) 1985, 1986 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * James A. Woods, derived from original work by Spencer Thomas
- * and Joseph Orost.
- *
- * 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 the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
- */
-
-/*
- * This version is for use with STREAMS under SunOS 4.x,
- * Digital UNIX, AIX 4.x, and SVR4 systems including Solaris 2.
- *
- * $Id$
- */
-
-#ifdef AIX4
-#include <net/net_globals.h>
-#endif
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/stream.h>
-#include <net/ppp_defs.h>
-#include "ppp_mod.h"
-
-#ifdef SVR4
-#include <sys/byteorder.h>
-#ifndef _BIG_ENDIAN
-#define BSD_LITTLE_ENDIAN
-#endif
-#endif
-
-#ifdef __osf__
-#undef FIRST
-#undef LAST
-#define BSD_LITTLE_ENDIAN
-#endif
-
-#define PACKETPTR mblk_t *
-#include <net/ppp-comp.h>
-
-#if DO_BSD_COMPRESS
-
-/*
- * PPP "BSD compress" compression
- * The differences between this compression and the classic BSD LZW
- * source are obvious from the requirement that the classic code worked
- * with files while this handles arbitrarily long streams that
- * are broken into packets. They are:
- *
- * When the code size expands, a block of junk is not emitted by
- * the compressor and not expected by the decompressor.
- *
- * New codes are not necessarily assigned every time an old
- * code is output by the compressor. This is because a packet
- * end forces a code to be emitted, but does not imply that a
- * new sequence has been seen.
- *
- * The compression ratio is checked at the first end of a packet
- * after the appropriate gap. Besides simplifying and speeding
- * things up, this makes it more likely that the transmitter
- * and receiver will agree when the dictionary is cleared when
- * compression is not going well.
- */
-
-/*
- * A dictionary for doing BSD compress.
- */
-struct bsd_db {
- int totlen; /* length of this structure */
- u_int hsize; /* size of the hash table */
- u_char hshift; /* used in hash function */
- u_char n_bits; /* current bits/code */
- u_char maxbits;
- u_char debug;
- u_char unit;
- u_short seqno; /* sequence number of next packet */
- u_int hdrlen; /* header length to preallocate */
- u_int mru;
- u_int maxmaxcode; /* largest valid code */
- u_int max_ent; /* largest code in use */
- u_int in_count; /* uncompressed bytes, aged */
- u_int bytes_out; /* compressed bytes, aged */
- u_int ratio; /* recent compression ratio */
- u_int checkpoint; /* when to next check the ratio */
- u_int clear_count; /* times dictionary cleared */
- u_int incomp_count; /* incompressible packets */
- u_int incomp_bytes; /* incompressible bytes */
- u_int uncomp_count; /* uncompressed packets */
- u_int uncomp_bytes; /* uncompressed bytes */
- u_int comp_count; /* compressed packets */
- u_int comp_bytes; /* compressed bytes */
- u_short *lens; /* array of lengths of codes */
- struct bsd_dict {
- union { /* hash value */
- u_int32_t fcode;
- struct {
-#ifdef BSD_LITTLE_ENDIAN
- u_short prefix; /* preceding code */
- u_char suffix; /* last character of new code */
- u_char pad;
-#else
- u_char pad;
- u_char suffix; /* last character of new code */
- u_short prefix; /* preceding code */
-#endif
- } hs;
- } f;
- u_short codem1; /* output of hash table -1 */
- u_short cptr; /* map code to hash table entry */
- } dict[1];
-};
-
-#define BSD_OVHD 2 /* BSD compress overhead/packet */
-#define BSD_INIT_BITS BSD_MIN_BITS
-
-static void *bsd_comp_alloc __P((u_char *options, int opt_len));
-static void *bsd_decomp_alloc __P((u_char *options, int opt_len));
-static void bsd_free __P((void *state));
-static int bsd_comp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int debug));
-static int bsd_decomp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
-static int bsd_compress __P((void *state, mblk_t **mret,
- mblk_t *mp, int slen, int maxolen));
-static void bsd_incomp __P((void *state, mblk_t *dmsg));
-static int bsd_decompress __P((void *state, mblk_t *cmp, mblk_t **dmpp));
-static void bsd_reset __P((void *state));
-static void bsd_comp_stats __P((void *state, struct compstat *stats));
-
-/*
- * Procedures exported to ppp_comp.c.
- */
-struct compressor ppp_bsd_compress = {
- CI_BSD_COMPRESS, /* compress_proto */
- bsd_comp_alloc, /* comp_alloc */
- bsd_free, /* comp_free */
- bsd_comp_init, /* comp_init */
- bsd_reset, /* comp_reset */
- bsd_compress, /* compress */
- bsd_comp_stats, /* comp_stat */
- bsd_decomp_alloc, /* decomp_alloc */
- bsd_free, /* decomp_free */
- bsd_decomp_init, /* decomp_init */
- bsd_reset, /* decomp_reset */
- bsd_decompress, /* decompress */
- bsd_incomp, /* incomp */
- bsd_comp_stats, /* decomp_stat */
-};
-
-/*
- * the next two codes should not be changed lightly, as they must not
- * lie within the contiguous general code space.
- */
-#define CLEAR 256 /* table clear output code */
-#define FIRST 257 /* first free entry */
-#define LAST 255
-
-#define MAXCODE(b) ((1 << (b)) - 1)
-#define BADCODEM1 MAXCODE(BSD_MAX_BITS)
-
-#define BSD_HASH(prefix,suffix,hshift) ((((u_int32_t)(suffix)) << (hshift)) \
- ^ (u_int32_t)(prefix))
-#define BSD_KEY(prefix,suffix) ((((u_int32_t)(suffix)) << 16) \
- + (u_int32_t)(prefix))
-
-#define CHECK_GAP 10000 /* Ratio check interval */
-
-#define RATIO_SCALE_LOG 8
-#define RATIO_SCALE (1<<RATIO_SCALE_LOG)
-#define RATIO_MAX (0x7fffffff>>RATIO_SCALE_LOG)
-
-#define DECOMP_CHUNK 256
-
-/*
- * clear the dictionary
- */
-static void
-bsd_clear(db)
- struct bsd_db *db;
-{
- db->clear_count++;
- db->max_ent = FIRST-1;
- db->n_bits = BSD_INIT_BITS;
- db->ratio = 0;
- db->bytes_out = 0;
- db->in_count = 0;
- db->checkpoint = CHECK_GAP;
-}
-
-/*
- * If the dictionary is full, then see if it is time to reset it.
- *
- * Compute the compression ratio using fixed-point arithmetic
- * with 8 fractional bits.
- *
- * Since we have an infinite stream instead of a single file,
- * watch only the local compression ratio.
- *
- * Since both peers must reset the dictionary at the same time even in
- * the absence of CLEAR codes (while packets are incompressible), they
- * must compute the same ratio.
- */
-static int /* 1=output CLEAR */
-bsd_check(db)
- struct bsd_db *db;
-{
- u_int new_ratio;
-
- if (db->in_count >= db->checkpoint) {
- /* age the ratio by limiting the size of the counts */
- if (db->in_count >= RATIO_MAX
- || db->bytes_out >= RATIO_MAX) {
- db->in_count -= db->in_count/4;
- db->bytes_out -= db->bytes_out/4;
- }
-
- db->checkpoint = db->in_count + CHECK_GAP;
-
- if (db->max_ent >= db->maxmaxcode) {
- /* Reset the dictionary only if the ratio is worse,
- * or if it looks as if it has been poisoned
- * by incompressible data.
- *
- * This does not overflow, because
- * db->in_count <= RATIO_MAX.
- */
- new_ratio = db->in_count << RATIO_SCALE_LOG;
- if (db->bytes_out != 0)
- new_ratio /= db->bytes_out;
-
- if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE) {
- bsd_clear(db);
- return 1;
- }
- db->ratio = new_ratio;
- }
- }
- return 0;
-}
-
-/*
- * Return statistics.
- */
-static void
-bsd_comp_stats(state, stats)
- void *state;
- struct compstat *stats;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int out;
-
- stats->unc_bytes = db->uncomp_bytes;
- stats->unc_packets = db->uncomp_count;
- stats->comp_bytes = db->comp_bytes;
- stats->comp_packets = db->comp_count;
- stats->inc_bytes = db->incomp_bytes;
- stats->inc_packets = db->incomp_count;
- stats->ratio = db->in_count;
- out = db->bytes_out;
- if (stats->ratio <= 0x7fffff)
- stats->ratio <<= 8;
- else
- out >>= 8;
- if (out != 0)
- stats->ratio /= out;
-}
-
-/*
- * Reset state, as on a CCP ResetReq.
- */
-static void
-bsd_reset(state)
- void *state;
-{
- struct bsd_db *db = (struct bsd_db *) state;
-
- db->seqno = 0;
- bsd_clear(db);
- db->clear_count = 0;
-}
-
-/*
- * Allocate space for a (de) compressor.
- */
-static void *
-bsd_alloc(options, opt_len, decomp)
- u_char *options;
- int opt_len, decomp;
-{
- int bits;
- u_int newlen, hsize, hshift, maxmaxcode;
- struct bsd_db *db;
-
- if (opt_len != 3 || options[0] != CI_BSD_COMPRESS || options[1] != 3
- || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION)
- return NULL;
-
- bits = BSD_NBITS(options[2]);
- switch (bits) {
- case 9: /* needs 82152 for both directions */
- case 10: /* needs 84144 */
- case 11: /* needs 88240 */
- case 12: /* needs 96432 */
- hsize = 5003;
- hshift = 4;
- break;
- case 13: /* needs 176784 */
- hsize = 9001;
- hshift = 5;
- break;
- case 14: /* needs 353744 */
- hsize = 18013;
- hshift = 6;
- break;
- case 15: /* needs 691440 */
- hsize = 35023;
- hshift = 7;
- break;
- case 16: /* needs 1366160--far too much, */
- /* hsize = 69001; */ /* and 69001 is too big for cptr */
- /* hshift = 8; */ /* in struct bsd_db */
- /* break; */
- default:
- return NULL;
- }
-
- maxmaxcode = MAXCODE(bits);
- newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0]));
-#ifdef __osf__
- db = (struct bsd_db *) ALLOC_SLEEP(newlen);
-#else
- db = (struct bsd_db *) ALLOC_NOSLEEP(newlen);
-#endif
- if (!db)
- return NULL;
- bzero(db, sizeof(*db) - sizeof(db->dict));
-
- if (!decomp) {
- db->lens = NULL;
- } else {
-#ifdef __osf__
- db->lens = (u_short *) ALLOC_SLEEP((maxmaxcode+1) * sizeof(db->lens[0]));
-#else
- db->lens = (u_short *) ALLOC_NOSLEEP((maxmaxcode+1) * sizeof(db->lens[0]));
-#endif
- if (!db->lens) {
- FREE(db, newlen);
- return NULL;
- }
- }
-
- db->totlen = newlen;
- db->hsize = hsize;
- db->hshift = hshift;
- db->maxmaxcode = maxmaxcode;
- db->maxbits = bits;
-
- return (void *) db;
-}
-
-static void
-bsd_free(state)
- void *state;
-{
- struct bsd_db *db = (struct bsd_db *) state;
-
- if (db->lens)
- FREE(db->lens, (db->maxmaxcode+1) * sizeof(db->lens[0]));
- FREE(db, db->totlen);
-}
-
-static void *
-bsd_comp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- return bsd_alloc(options, opt_len, 0);
-}
-
-static void *
-bsd_decomp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- return bsd_alloc(options, opt_len, 1);
-}
-
-/*
- * Initialize the database.
- */
-static int
-bsd_init(db, options, opt_len, unit, hdrlen, mru, debug, decomp)
- struct bsd_db *db;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug, decomp;
-{
- int i;
-
- if (opt_len < CILEN_BSD_COMPRESS
- || options[0] != CI_BSD_COMPRESS || options[1] != CILEN_BSD_COMPRESS
- || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION
- || BSD_NBITS(options[2]) != db->maxbits
- || decomp && db->lens == NULL)
- return 0;
-
- if (decomp) {
- i = LAST+1;
- while (i != 0)
- db->lens[--i] = 1;
- }
- i = db->hsize;
- while (i != 0) {
- db->dict[--i].codem1 = BADCODEM1;
- db->dict[i].cptr = 0;
- }
-
- db->unit = unit;
- db->hdrlen = hdrlen;
- db->mru = mru;
- if (debug)
- db->debug = 1;
-
- bsd_reset(db);
-
- return 1;
-}
-
-static int
-bsd_comp_init(state, options, opt_len, unit, hdrlen, debug)
- void *state;
- u_char *options;
- int opt_len, unit, hdrlen, debug;
-{
- return bsd_init((struct bsd_db *) state, options, opt_len,
- unit, hdrlen, 0, debug, 0);
-}
-
-static int
-bsd_decomp_init(state, options, opt_len, unit, hdrlen, mru, debug)
- void *state;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug;
-{
- return bsd_init((struct bsd_db *) state, options, opt_len,
- unit, hdrlen, mru, debug, 1);
-}
-
-
-/*
- * compress a packet
- * One change from the BSD compress command is that when the
- * code size expands, we do not output a bunch of padding.
- *
- * N.B. at present, we ignore the hdrlen specified in the comp_init call.
- */
-static int /* new slen */
-bsd_compress(state, mretp, mp, slen, maxolen)
- void *state;
- mblk_t **mretp; /* return compressed mbuf chain here */
- mblk_t *mp; /* from here */
- int slen; /* uncompressed length */
- int maxolen; /* max compressed length */
-{
- struct bsd_db *db = (struct bsd_db *) state;
- int hshift = db->hshift;
- u_int max_ent = db->max_ent;
- u_int n_bits = db->n_bits;
- u_int bitno = 32;
- u_int32_t accm = 0, fcode;
- struct bsd_dict *dictp;
- u_char c;
- int hval, disp, ent, ilen;
- mblk_t *np, *mret;
- u_char *rptr, *wptr;
- u_char *cp_end;
- int olen;
- mblk_t *m, **mnp;
-
-#define PUTBYTE(v) { \
- if (wptr) { \
- *wptr++ = (v); \
- if (wptr >= cp_end) { \
- m->b_wptr = wptr; \
- m = m->b_cont; \
- if (m) { \
- wptr = m->b_wptr; \
- cp_end = m->b_datap->db_lim; \
- } else \
- wptr = NULL; \
- } \
- } \
- ++olen; \
-}
-
-#define OUTPUT(ent) { \
- bitno -= n_bits; \
- accm |= ((ent) << bitno); \
- do { \
- PUTBYTE(accm >> 24); \
- accm <<= 8; \
- bitno += 8; \
- } while (bitno <= 24); \
-}
-
- /*
- * First get the protocol and check that we're
- * interested in this packet.
- */
- *mretp = NULL;
- rptr = mp->b_rptr;
- if (rptr + PPP_HDRLEN > mp->b_wptr) {
- if (!pullupmsg(mp, PPP_HDRLEN))
- return 0;
- rptr = mp->b_rptr;
- }
- ent = PPP_PROTOCOL(rptr); /* get the protocol */
- if (ent < 0x21 || ent > 0xf9)
- return 0;
-
- /* Don't generate compressed packets which are larger than
- the uncompressed packet. */
- if (maxolen > slen)
- maxolen = slen;
-
- /* Allocate enough message blocks to give maxolen total space. */
- mnp = &mret;
- for (olen = maxolen; olen > 0; ) {
- m = allocb((olen < 4096? olen: 4096), BPRI_MED);
- *mnp = m;
- if (m == NULL) {
- if (mret != NULL) {
- freemsg(mret);
- mnp = &mret;
- }
- break;
- }
- mnp = &m->b_cont;
- olen -= m->b_datap->db_lim - m->b_wptr;
- }
- *mnp = NULL;
-
- if ((m = mret) != NULL) {
- wptr = m->b_wptr;
- cp_end = m->b_datap->db_lim;
- } else
- wptr = cp_end = NULL;
- olen = 0;
-
- /*
- * Copy the PPP header over, changing the protocol,
- * and install the 2-byte sequence number.
- */
- if (wptr) {
- wptr[0] = PPP_ADDRESS(rptr);
- wptr[1] = PPP_CONTROL(rptr);
- wptr[2] = 0; /* change the protocol */
- wptr[3] = PPP_COMP;
- wptr[4] = db->seqno >> 8;
- wptr[5] = db->seqno;
- wptr += PPP_HDRLEN + BSD_OVHD;
- }
- ++db->seqno;
- rptr += PPP_HDRLEN;
-
- slen = mp->b_wptr - rptr;
- ilen = slen + 1;
- np = mp->b_cont;
- for (;;) {
- if (slen <= 0) {
- if (!np)
- break;
- rptr = np->b_rptr;
- slen = np->b_wptr - rptr;
- np = np->b_cont;
- if (!slen)
- continue; /* handle 0-length buffers */
- ilen += slen;
- }
-
- slen--;
- c = *rptr++;
- fcode = BSD_KEY(ent, c);
- hval = BSD_HASH(ent, c, hshift);
- dictp = &db->dict[hval];
-
- /* Validate and then check the entry. */
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- if (dictp->f.fcode == fcode) {
- ent = dictp->codem1+1;
- continue; /* found (prefix,suffix) */
- }
-
- /* continue probing until a match or invalid entry */
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- } while (dictp->f.fcode != fcode);
- ent = dictp->codem1 + 1; /* finally found (prefix,suffix) */
- continue;
-
- nomatch:
- OUTPUT(ent); /* output the prefix */
-
- /* code -> hashtable */
- if (max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- /* expand code size if needed */
- if (max_ent >= MAXCODE(n_bits))
- db->n_bits = ++n_bits;
-
- /* Invalidate old hash table entry using
- * this code, and then take it over.
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent)
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- }
- ent = c;
- }
-
- OUTPUT(ent); /* output the last code */
- db->bytes_out += olen;
- db->in_count += ilen;
- if (bitno < 32)
- ++db->bytes_out; /* count complete bytes */
-
- if (bsd_check(db))
- OUTPUT(CLEAR); /* do not count the CLEAR */
-
- /*
- * Pad dribble bits of last code with ones.
- * Do not emit a completely useless byte of ones.
- */
- if (bitno != 32)
- PUTBYTE((accm | (0xff << (bitno-8))) >> 24);
-
- /*
- * Increase code size if we would have without the packet
- * boundary and as the decompressor will.
- */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
- db->n_bits++;
-
- db->uncomp_bytes += ilen;
- ++db->uncomp_count;
- if (olen + PPP_HDRLEN + BSD_OVHD > maxolen && mret != NULL) {
- /* throw away the compressed stuff if it is longer than uncompressed */
- freemsg(mret);
- mret = NULL;
- ++db->incomp_count;
- db->incomp_bytes += ilen;
- } else if (wptr != NULL) {
- m->b_wptr = wptr;
- if (m->b_cont) {
- freemsg(m->b_cont);
- m->b_cont = NULL;
- }
- ++db->comp_count;
- db->comp_bytes += olen + BSD_OVHD;
- }
-
- *mretp = mret;
- return olen + PPP_HDRLEN + BSD_OVHD;
-#undef OUTPUT
-#undef PUTBYTE
-}
-
-
-/*
- * Update the "BSD Compress" dictionary on the receiver for
- * incompressible data by pretending to compress the incoming data.
- */
-static void
-bsd_incomp(state, dmsg)
- void *state;
- mblk_t *dmsg;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int hshift = db->hshift;
- u_int max_ent = db->max_ent;
- u_int n_bits = db->n_bits;
- struct bsd_dict *dictp;
- u_int32_t fcode;
- u_char c;
- long hval, disp;
- int slen, ilen;
- u_int bitno = 7;
- u_char *rptr;
- u_int ent;
-
- rptr = dmsg->b_rptr;
- if (rptr + PPP_HDRLEN > dmsg->b_wptr) {
- if (!pullupmsg(dmsg, PPP_HDRLEN))
- return;
- rptr = dmsg->b_rptr;
- }
- ent = PPP_PROTOCOL(rptr); /* get the protocol */
- if (ent < 0x21 || ent > 0xf9)
- return;
-
- db->seqno++;
- ilen = 1; /* count the protocol as 1 byte */
- rptr += PPP_HDRLEN;
- for (;;) {
- slen = dmsg->b_wptr - rptr;
- if (slen <= 0) {
- dmsg = dmsg->b_cont;
- if (!dmsg)
- break;
- rptr = dmsg->b_rptr;
- continue; /* skip zero-length buffers */
- }
- ilen += slen;
-
- do {
- c = *rptr++;
- fcode = BSD_KEY(ent, c);
- hval = BSD_HASH(ent, c, hshift);
- dictp = &db->dict[hval];
-
- /* validate and then check the entry */
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- if (dictp->f.fcode == fcode) {
- ent = dictp->codem1+1;
- continue; /* found (prefix,suffix) */
- }
-
- /* continue probing until a match or invalid entry */
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- } while (dictp->f.fcode != fcode);
- ent = dictp->codem1+1;
- continue; /* finally found (prefix,suffix) */
-
- nomatch: /* output (count) the prefix */
- bitno += n_bits;
-
- /* code -> hashtable */
- if (max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- /* expand code size if needed */
- if (max_ent >= MAXCODE(n_bits))
- db->n_bits = ++n_bits;
-
- /* Invalidate previous hash table entry
- * assigned this code, and then take it over.
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent)
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- db->lens[max_ent] = db->lens[ent]+1;
- }
- ent = c;
- } while (--slen != 0);
- }
- bitno += n_bits; /* output (count) the last code */
- db->bytes_out += bitno/8;
- db->in_count += ilen;
- (void)bsd_check(db);
-
- ++db->incomp_count;
- db->incomp_bytes += ilen;
- ++db->uncomp_count;
- db->uncomp_bytes += ilen;
-
- /* Increase code size if we would have without the packet
- * boundary and as the decompressor will.
- */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
- db->n_bits++;
-}
-
-
-/*
- * Decompress "BSD Compress"
- *
- * Because of patent problems, we return DECOMP_ERROR for errors
- * found by inspecting the input data and for system problems, but
- * DECOMP_FATALERROR for any errors which could possibly be said to
- * be being detected "after" decompression. For DECOMP_ERROR,
- * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
- * infringing a patent of Motorola's if we do, so we take CCP down
- * instead.
- *
- * Given that the frame has the correct sequence number and a good FCS,
- * errors such as invalid codes in the input most likely indicate a
- * bug, so we return DECOMP_FATALERROR for them in order to turn off
- * compression, even though they are detected by inspecting the input.
- */
-static int
-bsd_decompress(state, cmsg, dmpp)
- void *state;
- mblk_t *cmsg, **dmpp;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int max_ent = db->max_ent;
- u_int32_t accm = 0;
- u_int bitno = 32; /* 1st valid bit in accm */
- u_int n_bits = db->n_bits;
- u_int tgtbitno = 32-n_bits; /* bitno when we have a code */
- struct bsd_dict *dictp;
- int explen, i, seq, len;
- u_int incode, oldcode, finchar;
- u_char *p, *rptr, *wptr;
- mblk_t *dmsg, *mret;
- int adrs, ctrl, ilen;
- int dlen, space, codelen, extra;
-
- /*
- * Get at least the BSD Compress header in the first buffer
- */
- rptr = cmsg->b_rptr;
- if (rptr + PPP_HDRLEN + BSD_OVHD >= cmsg->b_wptr) {
- if (!pullupmsg(cmsg, PPP_HDRLEN + BSD_OVHD + 1)) {
- if (db->debug)
- printf("bsd_decomp%d: failed to pullup\n", db->unit);
- return DECOMP_ERROR;
- }
- rptr = cmsg->b_rptr;
- }
-
- /*
- * Save the address/control from the PPP header
- * and then get the sequence number.
- */
- adrs = PPP_ADDRESS(rptr);
- ctrl = PPP_CONTROL(rptr);
- rptr += PPP_HDRLEN;
- seq = (rptr[0] << 8) + rptr[1];
- rptr += BSD_OVHD;
- ilen = len = cmsg->b_wptr - rptr;
-
- /*
- * Check the sequence number and give up if it is not what we expect.
- */
- if (seq != db->seqno++) {
- if (db->debug)
- printf("bsd_decomp%d: bad sequence # %d, expected %d\n",
- db->unit, seq, db->seqno - 1);
- return DECOMP_ERROR;
- }
-
- /*
- * Allocate one message block to start with.
- */
- if ((dmsg = allocb(DECOMP_CHUNK + db->hdrlen, BPRI_MED)) == NULL)
- return DECOMP_ERROR;
- mret = dmsg;
- dmsg->b_wptr += db->hdrlen;
- dmsg->b_rptr = wptr = dmsg->b_wptr;
-
- /* Fill in the ppp header, but not the last byte of the protocol
- (that comes from the decompressed data). */
- wptr[0] = adrs;
- wptr[1] = ctrl;
- wptr[2] = 0;
- wptr += PPP_HDRLEN - 1;
- space = dmsg->b_datap->db_lim - wptr;
-
- oldcode = CLEAR;
- explen = 0;
- for (;;) {
- if (len == 0) {
- cmsg = cmsg->b_cont;
- if (!cmsg) /* quit at end of message */
- break;
- rptr = cmsg->b_rptr;
- len = cmsg->b_wptr - rptr;
- ilen += len;
- continue; /* handle 0-length buffers */
- }
-
- /*
- * Accumulate bytes until we have a complete code.
- * Then get the next code, relying on the 32-bit,
- * unsigned accm to mask the result.
- */
- bitno -= 8;
- accm |= *rptr++ << bitno;
- --len;
- if (tgtbitno < bitno)
- continue;
- incode = accm >> tgtbitno;
- accm <<= n_bits;
- bitno += n_bits;
-
- if (incode == CLEAR) {
- /*
- * The dictionary must only be cleared at
- * the end of a packet. But there could be an
- * empty message block at the end.
- */
- if (len > 0 || cmsg->b_cont != 0) {
- if (cmsg->b_cont)
- len += msgdsize(cmsg->b_cont);
- if (len > 0) {
- freemsg(dmsg);
- if (db->debug)
- printf("bsd_decomp%d: bad CLEAR\n", db->unit);
- return DECOMP_FATALERROR;
- }
- }
- bsd_clear(db);
- explen = ilen = 0;
- break;
- }
-
- if (incode > max_ent + 2 || incode > db->maxmaxcode
- || incode > max_ent && oldcode == CLEAR) {
- freemsg(dmsg);
- if (db->debug) {
- printf("bsd_decomp%d: bad code 0x%x oldcode=0x%x ",
- db->unit, incode, oldcode);
- printf("max_ent=0x%x dlen=%d seqno=%d\n",
- max_ent, dlen, db->seqno);
- }
- return DECOMP_FATALERROR; /* probably a bug */
- }
-
- /* Special case for KwKwK string. */
- if (incode > max_ent) {
- finchar = oldcode;
- extra = 1;
- } else {
- finchar = incode;
- extra = 0;
- }
-
- codelen = db->lens[finchar];
- explen += codelen + extra;
- if (explen > db->mru + 1) {
- freemsg(dmsg);
- if (db->debug)
- printf("bsd_decomp%d: ran out of mru\n", db->unit);
- return DECOMP_FATALERROR;
- }
-
- /*
- * Decode this code and install it in the decompressed buffer.
- */
- space -= codelen + extra;
- if (space < 0) {
- /* Allocate another message block. */
- dmsg->b_wptr = wptr;
- dlen = codelen + extra;
- if (dlen < DECOMP_CHUNK)
- dlen = DECOMP_CHUNK;
- if ((dmsg->b_cont = allocb(dlen, BPRI_MED)) == NULL) {
- freemsg(dmsg);
- return DECOMP_ERROR;
- }
- dmsg = dmsg->b_cont;
- wptr = dmsg->b_wptr;
- space = dmsg->b_datap->db_lim - wptr - codelen - extra;
- }
- p = (wptr += codelen);
- while (finchar > LAST) {
- dictp = &db->dict[db->dict[finchar].cptr];
-#ifdef DEBUG
- --codelen;
- if (codelen <= 0) {
- freemsg(dmsg);
- printf("bsd_decomp%d: fell off end of chain ", db->unit);
- printf("0x%x at 0x%x by 0x%x, max_ent=0x%x\n",
- incode, finchar, db->dict[finchar].cptr, max_ent);
- return DECOMP_FATALERROR;
- }
- if (dictp->codem1 != finchar-1) {
- freemsg(dmsg);
- printf("bsd_decomp%d: bad code chain 0x%x finchar=0x%x ",
- db->unit, incode, finchar);
- printf("oldcode=0x%x cptr=0x%x codem1=0x%x\n", oldcode,
- db->dict[finchar].cptr, dictp->codem1);
- return DECOMP_FATALERROR;
- }
-#endif
- *--p = dictp->f.hs.suffix;
- finchar = dictp->f.hs.prefix;
- }
- *--p = finchar;
-
-#ifdef DEBUG
- if (--codelen != 0)
- printf("bsd_decomp%d: short by %d after code 0x%x, max_ent=0x%x\n",
- db->unit, codelen, incode, max_ent);
-#endif
-
- if (extra) /* the KwKwK case again */
- *wptr++ = finchar;
-
- /*
- * If not first code in a packet, and
- * if not out of code space, then allocate a new code.
- *
- * Keep the hash table correct so it can be used
- * with uncompressed packets.
- */
- if (oldcode != CLEAR && max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- u_int32_t fcode;
- int hval, disp;
-
- fcode = BSD_KEY(oldcode,finchar);
- hval = BSD_HASH(oldcode,finchar,db->hshift);
- dictp = &db->dict[hval];
-
- /* look for a free hash table entry */
- if (dictp->codem1 < max_ent) {
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- } while (dictp->codem1 < max_ent);
- }
-
- /*
- * Invalidate previous hash table entry
- * assigned this code, and then take it over
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent) {
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- }
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- db->lens[max_ent] = db->lens[oldcode]+1;
-
- /* Expand code size if needed. */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode) {
- db->n_bits = ++n_bits;
- tgtbitno = 32-n_bits;
- }
- }
- oldcode = incode;
- }
- dmsg->b_wptr = wptr;
-
- /*
- * Keep the checkpoint right so that incompressible packets
- * clear the dictionary at the right times.
- */
- db->bytes_out += ilen;
- db->in_count += explen;
- if (bsd_check(db) && db->debug) {
- printf("bsd_decomp%d: peer should have cleared dictionary\n",
- db->unit);
- }
-
- ++db->comp_count;
- db->comp_bytes += ilen + BSD_OVHD;
- ++db->uncomp_count;
- db->uncomp_bytes += explen;
-
- *dmpp = mret;
- return DECOMP_OK;
-}
-#endif /* DO_BSD_COMPRESS */
diff --git a/mdk-stage1/ppp/modules/deflate.c b/mdk-stage1/ppp/modules/deflate.c
deleted file mode 100644
index 1b9054412..000000000
--- a/mdk-stage1/ppp/modules/deflate.c
+++ /dev/null
@@ -1,760 +0,0 @@
-/*
- * ppp_deflate.c - interface the zlib procedures for Deflate compression
- * and decompression (as used by gzip) to the PPP code.
- * This version is for use with STREAMS under SunOS 4.x, Solaris 2,
- * SVR4, OSF/1 and AIX 4.x.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#ifdef AIX4
-#include <net/net_globals.h>
-#endif
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/stream.h>
-#include <net/ppp_defs.h>
-#include "ppp_mod.h"
-
-#define PACKETPTR mblk_t *
-#include <net/ppp-comp.h>
-
-#ifdef __osf__
-#include "zlib.h"
-#else
-#include "../common/zlib.h"
-#endif
-
-#if DO_DEFLATE
-
-#define DEFLATE_DEBUG 1
-
-/*
- * State for a Deflate (de)compressor.
- */
-struct deflate_state {
- int seqno;
- int w_size;
- int unit;
- int hdrlen;
- int mru;
- int debug;
- z_stream strm;
- struct compstat stats;
-};
-
-#define DEFLATE_OVHD 2 /* Deflate overhead/packet */
-
-static void *z_alloc __P((void *, u_int items, u_int size));
-static void *z_alloc_init __P((void *, u_int items, u_int size));
-static void z_free __P((void *, void *ptr));
-static void *z_comp_alloc __P((u_char *options, int opt_len));
-static void *z_decomp_alloc __P((u_char *options, int opt_len));
-static void z_comp_free __P((void *state));
-static void z_decomp_free __P((void *state));
-static int z_comp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int debug));
-static int z_decomp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
-static int z_compress __P((void *state, mblk_t **mret,
- mblk_t *mp, int slen, int maxolen));
-static void z_incomp __P((void *state, mblk_t *dmsg));
-static int z_decompress __P((void *state, mblk_t *cmp,
- mblk_t **dmpp));
-static void z_comp_reset __P((void *state));
-static void z_decomp_reset __P((void *state));
-static void z_comp_stats __P((void *state, struct compstat *stats));
-
-/*
- * Procedures exported to ppp_comp.c.
- */
-struct compressor ppp_deflate = {
- CI_DEFLATE, /* compress_proto */
- z_comp_alloc, /* comp_alloc */
- z_comp_free, /* comp_free */
- z_comp_init, /* comp_init */
- z_comp_reset, /* comp_reset */
- z_compress, /* compress */
- z_comp_stats, /* comp_stat */
- z_decomp_alloc, /* decomp_alloc */
- z_decomp_free, /* decomp_free */
- z_decomp_init, /* decomp_init */
- z_decomp_reset, /* decomp_reset */
- z_decompress, /* decompress */
- z_incomp, /* incomp */
- z_comp_stats, /* decomp_stat */
-};
-
-struct compressor ppp_deflate_draft = {
- CI_DEFLATE_DRAFT, /* compress_proto */
- z_comp_alloc, /* comp_alloc */
- z_comp_free, /* comp_free */
- z_comp_init, /* comp_init */
- z_comp_reset, /* comp_reset */
- z_compress, /* compress */
- z_comp_stats, /* comp_stat */
- z_decomp_alloc, /* decomp_alloc */
- z_decomp_free, /* decomp_free */
- z_decomp_init, /* decomp_init */
- z_decomp_reset, /* decomp_reset */
- z_decompress, /* decompress */
- z_incomp, /* incomp */
- z_comp_stats, /* decomp_stat */
-};
-
-#define DECOMP_CHUNK 512
-
-/*
- * Space allocation and freeing routines for use by zlib routines.
- */
-struct zchunk {
- u_int size;
- u_int guard;
-};
-
-#define GUARD_MAGIC 0x77a6011a
-
-static void *
-z_alloc_init(notused, items, size)
- void *notused;
- u_int items, size;
-{
- struct zchunk *z;
-
- size = items * size + sizeof(struct zchunk);
-#ifdef __osf__
- z = (struct zchunk *) ALLOC_SLEEP(size);
-#else
- z = (struct zchunk *) ALLOC_NOSLEEP(size);
-#endif
- z->size = size;
- z->guard = GUARD_MAGIC;
- return (void *) (z + 1);
-}
-
-static void *
-z_alloc(notused, items, size)
- void *notused;
- u_int items, size;
-{
- struct zchunk *z;
-
- size = items * size + sizeof(struct zchunk);
- z = (struct zchunk *) ALLOC_NOSLEEP(size);
- z->size = size;
- z->guard = GUARD_MAGIC;
- return (void *) (z + 1);
-}
-
-static void
-z_free(notused, ptr)
- void *notused;
- void *ptr;
-{
- struct zchunk *z = ((struct zchunk *) ptr) - 1;
-
- if (z->guard != GUARD_MAGIC) {
- printf("ppp: z_free of corrupted chunk at %x (%x, %x)\n",
- z, z->size, z->guard);
- return;
- }
- FREE(z, z->size);
-}
-
-/*
- * Allocate space for a compressor.
- */
-static void *
-z_comp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- struct deflate_state *state;
- int w_size;
-
- if (opt_len != CILEN_DEFLATE
- || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return NULL;
- w_size = DEFLATE_SIZE(options[2]);
- /*
- * N.B. the 9 below should be DEFLATE_MIN_SIZE (8), but using
- * 8 will cause kernel crashes because of a bug in zlib.
- */
- if (w_size < 9 || w_size > DEFLATE_MAX_SIZE)
- return NULL;
-
-
-#ifdef __osf__
- state = (struct deflate_state *) ALLOC_SLEEP(sizeof(*state));
-#else
- state = (struct deflate_state *) ALLOC_NOSLEEP(sizeof(*state));
-#endif
-
- if (state == NULL)
- return NULL;
-
- state->strm.next_in = NULL;
- state->strm.zalloc = (alloc_func) z_alloc_init;
- state->strm.zfree = (free_func) z_free;
- if (deflateInit2(&state->strm, Z_DEFAULT_COMPRESSION, DEFLATE_METHOD_VAL,
- -w_size, 8, Z_DEFAULT_STRATEGY) != Z_OK) {
- FREE(state, sizeof(*state));
- return NULL;
- }
-
- state->strm.zalloc = (alloc_func) z_alloc;
- state->w_size = w_size;
- bzero(&state->stats, sizeof(state->stats));
- return (void *) state;
-}
-
-static void
-z_comp_free(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- deflateEnd(&state->strm);
- FREE(state, sizeof(*state));
-}
-
-static int
-z_comp_init(arg, options, opt_len, unit, hdrlen, debug)
- void *arg;
- u_char *options;
- int opt_len, unit, hdrlen, debug;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- if (opt_len < CILEN_DEFLATE
- || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || DEFLATE_SIZE(options[2]) != state->w_size
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
-
- state->seqno = 0;
- state->unit = unit;
- state->hdrlen = hdrlen;
- state->debug = debug;
-
- deflateReset(&state->strm);
-
- return 1;
-}
-
-static void
-z_comp_reset(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- state->seqno = 0;
- deflateReset(&state->strm);
-}
-
-static int
-z_compress(arg, mret, mp, orig_len, maxolen)
- void *arg;
- mblk_t **mret; /* compressed packet (out) */
- mblk_t *mp; /* uncompressed packet (in) */
- int orig_len, maxolen;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_char *rptr, *wptr;
- int proto, olen, wspace, r, flush;
- mblk_t *m;
-
- /*
- * Check that the protocol is in the range we handle.
- */
- *mret = NULL;
- rptr = mp->b_rptr;
- if (rptr + PPP_HDRLEN > mp->b_wptr) {
- if (!pullupmsg(mp, PPP_HDRLEN))
- return 0;
- rptr = mp->b_rptr;
- }
- proto = PPP_PROTOCOL(rptr);
- if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
- return orig_len;
-
- /* Allocate one mblk initially. */
- if (maxolen > orig_len)
- maxolen = orig_len;
- if (maxolen <= PPP_HDRLEN + 2) {
- wspace = 0;
- m = NULL;
- } else {
- wspace = maxolen + state->hdrlen;
- if (wspace > 4096)
- wspace = 4096;
- m = allocb(wspace, BPRI_MED);
- }
- if (m != NULL) {
- *mret = m;
- if (state->hdrlen + PPP_HDRLEN + 2 < wspace) {
- m->b_rptr += state->hdrlen;
- m->b_wptr = m->b_rptr;
- wspace -= state->hdrlen;
- }
- wptr = m->b_wptr;
-
- /*
- * Copy over the PPP header and store the 2-byte sequence number.
- */
- wptr[0] = PPP_ADDRESS(rptr);
- wptr[1] = PPP_CONTROL(rptr);
- wptr[2] = PPP_COMP >> 8;
- wptr[3] = PPP_COMP;
- wptr += PPP_HDRLEN;
- wptr[0] = state->seqno >> 8;
- wptr[1] = state->seqno;
- wptr += 2;
- state->strm.next_out = wptr;
- state->strm.avail_out = wspace - (PPP_HDRLEN + 2);
- } else {
- state->strm.next_out = NULL;
- state->strm.avail_out = 1000000;
- }
- ++state->seqno;
-
- rptr += (proto > 0xff)? 2: 3; /* skip 1st proto byte if 0 */
- state->strm.next_in = rptr;
- state->strm.avail_in = mp->b_wptr - rptr;
- mp = mp->b_cont;
- flush = (mp == NULL)? Z_PACKET_FLUSH: Z_NO_FLUSH;
- olen = 0;
- for (;;) {
- r = deflate(&state->strm, flush);
- if (r != Z_OK) {
- printf("z_compress: deflate returned %d (%s)\n",
- r, (state->strm.msg? state->strm.msg: ""));
- break;
- }
- if (flush != Z_NO_FLUSH && state->strm.avail_out != 0)
- break; /* all done */
- if (state->strm.avail_in == 0 && mp != NULL) {
- state->strm.next_in = mp->b_rptr;
- state->strm.avail_in = mp->b_wptr - mp->b_rptr;
- mp = mp->b_cont;
- if (mp == NULL)
- flush = Z_PACKET_FLUSH;
- }
- if (state->strm.avail_out == 0) {
- if (m != NULL) {
- m->b_wptr += wspace;
- olen += wspace;
- wspace = maxolen - olen;
- if (wspace <= 0) {
- wspace = 0;
- m->b_cont = NULL;
- } else {
- if (wspace < 32)
- wspace = 32;
- else if (wspace > 4096)
- wspace = 4096;
- m->b_cont = allocb(wspace, BPRI_MED);
- }
- m = m->b_cont;
- if (m != NULL) {
- state->strm.next_out = m->b_wptr;
- state->strm.avail_out = wspace;
- }
- }
- if (m == NULL) {
- state->strm.next_out = NULL;
- state->strm.avail_out = 1000000;
- }
- }
- }
- if (m != NULL) {
- m->b_wptr += wspace - state->strm.avail_out;
- olen += wspace - state->strm.avail_out;
- }
-
- /*
- * See if we managed to reduce the size of the packet.
- */
- if (olen < orig_len && m != NULL) {
- state->stats.comp_bytes += olen;
- state->stats.comp_packets++;
- } else {
- if (*mret != NULL) {
- freemsg(*mret);
- *mret = NULL;
- }
- state->stats.inc_bytes += orig_len;
- state->stats.inc_packets++;
- olen = orig_len;
- }
- state->stats.unc_bytes += orig_len;
- state->stats.unc_packets++;
-
- return olen;
-}
-
-static void
-z_comp_stats(arg, stats)
- void *arg;
- struct compstat *stats;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_int out;
-
- *stats = state->stats;
- stats->ratio = stats->unc_bytes;
- out = stats->comp_bytes + stats->unc_bytes;
- if (stats->ratio <= 0x7ffffff)
- stats->ratio <<= 8;
- else
- out >>= 8;
- if (out != 0)
- stats->ratio /= out;
-}
-
-/*
- * Allocate space for a decompressor.
- */
-static void *
-z_decomp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- struct deflate_state *state;
- int w_size;
-
- if (opt_len != CILEN_DEFLATE
- || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return NULL;
- w_size = DEFLATE_SIZE(options[2]);
- /*
- * N.B. the 9 below should be DEFLATE_MIN_SIZE (8), but using
- * 8 will cause kernel crashes because of a bug in zlib.
- */
- if (w_size < 9 || w_size > DEFLATE_MAX_SIZE)
- return NULL;
-
-#ifdef __osf__
- state = (struct deflate_state *) ALLOC_SLEEP(sizeof(*state));
-#else
- state = (struct deflate_state *) ALLOC_NOSLEEP(sizeof(*state));
-#endif
- if (state == NULL)
- return NULL;
-
- state->strm.next_out = NULL;
- state->strm.zalloc = (alloc_func) z_alloc_init;
- state->strm.zfree = (free_func) z_free;
- if (inflateInit2(&state->strm, -w_size) != Z_OK) {
- FREE(state, sizeof(*state));
- return NULL;
- }
-
- state->strm.zalloc = (alloc_func) z_alloc;
- state->w_size = w_size;
- bzero(&state->stats, sizeof(state->stats));
- return (void *) state;
-}
-
-static void
-z_decomp_free(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- inflateEnd(&state->strm);
- FREE(state, sizeof(*state));
-}
-
-static int
-z_decomp_init(arg, options, opt_len, unit, hdrlen, mru, debug)
- void *arg;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- if (opt_len < CILEN_DEFLATE
- || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || DEFLATE_SIZE(options[2]) != state->w_size
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
-
- state->seqno = 0;
- state->unit = unit;
- state->hdrlen = hdrlen;
- state->debug = debug;
- state->mru = mru;
-
- inflateReset(&state->strm);
-
- return 1;
-}
-
-static void
-z_decomp_reset(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- state->seqno = 0;
- inflateReset(&state->strm);
-}
-
-/*
- * Decompress a Deflate-compressed packet.
- *
- * Because of patent problems, we return DECOMP_ERROR for errors
- * found by inspecting the input data and for system problems, but
- * DECOMP_FATALERROR for any errors which could possibly be said to
- * be being detected "after" decompression. For DECOMP_ERROR,
- * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
- * infringing a patent of Motorola's if we do, so we take CCP down
- * instead.
- *
- * Given that the frame has the correct sequence number and a good FCS,
- * errors such as invalid codes in the input most likely indicate a
- * bug, so we return DECOMP_FATALERROR for them in order to turn off
- * compression, even though they are detected by inspecting the input.
- */
-static int
-z_decompress(arg, mi, mop)
- void *arg;
- mblk_t *mi, **mop;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- mblk_t *mo, *mo_head;
- u_char *rptr, *wptr;
- int rlen, olen, ospace;
- int seq, i, flush, r, decode_proto;
- u_char hdr[PPP_HDRLEN + DEFLATE_OVHD];
-
- *mop = NULL;
- rptr = mi->b_rptr;
- for (i = 0; i < PPP_HDRLEN + DEFLATE_OVHD; ++i) {
- while (rptr >= mi->b_wptr) {
- mi = mi->b_cont;
- if (mi == NULL)
- return DECOMP_ERROR;
- rptr = mi->b_rptr;
- }
- hdr[i] = *rptr++;
- }
-
- /* Check the sequence number. */
- seq = (hdr[PPP_HDRLEN] << 8) + hdr[PPP_HDRLEN+1];
- if (seq != state->seqno) {
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_decompress%d: bad seq # %d, expected %d\n",
- state->unit, seq, state->seqno);
- return DECOMP_ERROR;
- }
- ++state->seqno;
-
- /* Allocate an output message block. */
- mo = allocb(DECOMP_CHUNK + state->hdrlen, BPRI_MED);
- if (mo == NULL)
- return DECOMP_ERROR;
- mo_head = mo;
- mo->b_cont = NULL;
- mo->b_rptr += state->hdrlen;
- mo->b_wptr = wptr = mo->b_rptr;
- ospace = DECOMP_CHUNK;
- olen = 0;
-
- /*
- * Fill in the first part of the PPP header. The protocol field
- * comes from the decompressed data.
- */
- wptr[0] = PPP_ADDRESS(hdr);
- wptr[1] = PPP_CONTROL(hdr);
- wptr[2] = 0;
-
- /*
- * Set up to call inflate. We set avail_out to 1 initially so we can
- * look at the first byte of the output and decide whether we have
- * a 1-byte or 2-byte protocol field.
- */
- state->strm.next_in = rptr;
- state->strm.avail_in = mi->b_wptr - rptr;
- mi = mi->b_cont;
- flush = (mi == NULL)? Z_PACKET_FLUSH: Z_NO_FLUSH;
- rlen = state->strm.avail_in + PPP_HDRLEN + DEFLATE_OVHD;
- state->strm.next_out = wptr + 3;
- state->strm.avail_out = 1;
- decode_proto = 1;
-
- /*
- * Call inflate, supplying more input or output as needed.
- */
- for (;;) {
- r = inflate(&state->strm, flush);
- if (r != Z_OK) {
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_decompress%d: inflate returned %d (%s)\n",
- state->unit, r, (state->strm.msg? state->strm.msg: ""));
- freemsg(mo_head);
- return DECOMP_FATALERROR;
- }
- if (flush != Z_NO_FLUSH && state->strm.avail_out != 0)
- break; /* all done */
- if (state->strm.avail_in == 0 && mi != NULL) {
- state->strm.next_in = mi->b_rptr;
- state->strm.avail_in = mi->b_wptr - mi->b_rptr;
- rlen += state->strm.avail_in;
- mi = mi->b_cont;
- if (mi == NULL)
- flush = Z_PACKET_FLUSH;
- }
- if (state->strm.avail_out == 0) {
- if (decode_proto) {
- state->strm.avail_out = ospace - PPP_HDRLEN;
- if ((wptr[3] & 1) == 0) {
- /* 2-byte protocol field */
- wptr[2] = wptr[3];
- --state->strm.next_out;
- ++state->strm.avail_out;
- }
- decode_proto = 0;
- } else {
- mo->b_wptr += ospace;
- olen += ospace;
- mo->b_cont = allocb(DECOMP_CHUNK, BPRI_MED);
- mo = mo->b_cont;
- if (mo == NULL) {
- freemsg(mo_head);
- return DECOMP_ERROR;
- }
- state->strm.next_out = mo->b_rptr;
- state->strm.avail_out = ospace = DECOMP_CHUNK;
- }
- }
- }
- if (decode_proto) {
- freemsg(mo_head);
- return DECOMP_ERROR;
- }
- mo->b_wptr += ospace - state->strm.avail_out;
- olen += ospace - state->strm.avail_out;
-
-#if DEFLATE_DEBUG
- if (olen > state->mru + PPP_HDRLEN)
- printf("ppp_deflate%d: exceeded mru (%d > %d)\n",
- state->unit, olen, state->mru + PPP_HDRLEN);
-#endif
-
- state->stats.unc_bytes += olen;
- state->stats.unc_packets++;
- state->stats.comp_bytes += rlen;
- state->stats.comp_packets++;
-
- *mop = mo_head;
- return DECOMP_OK;
-}
-
-/*
- * Incompressible data has arrived - add it to the history.
- */
-static void
-z_incomp(arg, mi)
- void *arg;
- mblk_t *mi;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_char *rptr;
- int rlen, proto, r;
-
- /*
- * Check that the protocol is one we handle.
- */
- rptr = mi->b_rptr;
- if (rptr + PPP_HDRLEN > mi->b_wptr) {
- if (!pullupmsg(mi, PPP_HDRLEN))
- return;
- rptr = mi->b_rptr;
- }
- proto = PPP_PROTOCOL(rptr);
- if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
- return;
-
- ++state->seqno;
-
- /*
- * Iterate through the message blocks, adding the characters in them
- * to the decompressor's history. For the first block, we start
- * at the either the 1st or 2nd byte of the protocol field,
- * depending on whether the protocol value is compressible.
- */
- rlen = mi->b_wptr - mi->b_rptr;
- state->strm.next_in = rptr + 3;
- state->strm.avail_in = rlen - 3;
- if (proto > 0xff) {
- --state->strm.next_in;
- ++state->strm.avail_in;
- }
- for (;;) {
- r = inflateIncomp(&state->strm);
- if (r != Z_OK) {
- /* gak! */
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_incomp%d: inflateIncomp returned %d (%s)\n",
- state->unit, r, (state->strm.msg? state->strm.msg: ""));
- return;
- }
- mi = mi->b_cont;
- if (mi == NULL)
- break;
- state->strm.next_in = mi->b_rptr;
- state->strm.avail_in = mi->b_wptr - mi->b_rptr;
- rlen += state->strm.avail_in;
- }
-
- /*
- * Update stats.
- */
- state->stats.inc_bytes += rlen;
- state->stats.inc_packets++;
- state->stats.unc_bytes += rlen;
- state->stats.unc_packets++;
-}
-
-#endif /* DO_DEFLATE */
diff --git a/mdk-stage1/ppp/modules/if_ppp.c b/mdk-stage1/ppp/modules/if_ppp.c
deleted file mode 100644
index 14e89eb4a..000000000
--- a/mdk-stage1/ppp/modules/if_ppp.c
+++ /dev/null
@@ -1,865 +0,0 @@
-/*
- * if_ppp.c - a network interface connected to a STREAMS module.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under SunOS 4 and Digital UNIX.
- *
- * This file provides the glue between PPP and IP.
- */
-
-#define INET 1
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/errno.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <net/if.h>
-#include <net/netisr.h>
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include <netinet/in.h>
-#include <netinet/in_var.h>
-#ifdef __osf__
-#include <sys/ioctl.h>
-#include <net/if_types.h>
-#else
-#include <sys/sockio.h>
-#endif
-#include "ppp_mod.h"
-
-#include <sys/stream.h>
-
-#ifdef SNIT_SUPPORT
-#include <sys/time.h>
-#include <net/nit_if.h>
-#include <netinet/if_ether.h>
-#endif
-
-#ifdef __osf__
-#define SIOCSIFMTU SIOCSIPMTU
-#define SIOCGIFMTU SIOCRIPMTU
-#define IFA_ADDR(ifa) (*(ifa)->ifa_addr)
-#else
-#define IFA_ADDR(ifa) ((ifa)->ifa_addr)
-#endif
-
-#define ifr_mtu ifr_metric
-
-static int if_ppp_open __P((queue_t *, int, int, int));
-static int if_ppp_close __P((queue_t *, int));
-static int if_ppp_wput __P((queue_t *, mblk_t *));
-static int if_ppp_rput __P((queue_t *, mblk_t *));
-
-#define PPP_IF_ID 0x8021
-static struct module_info minfo = {
- PPP_IF_ID, "if_ppp", 0, INFPSZ, 4096, 128
-};
-
-static struct qinit rinit = {
- if_ppp_rput, NULL, if_ppp_open, if_ppp_close, NULL, &minfo, NULL
-};
-
-static struct qinit winit = {
- if_ppp_wput, NULL, NULL, NULL, NULL, &minfo, NULL
-};
-
-struct streamtab if_pppinfo = {
- &rinit, &winit, NULL, NULL
-};
-
-typedef struct if_ppp_state {
- int unit;
- queue_t *q;
- int flags;
-} if_ppp_t;
-
-/* Values for flags */
-#define DBGLOG 1
-
-static int if_ppp_count; /* Number of currently-active streams */
-
-static int ppp_nalloc; /* Number of elements of ifs and states */
-static struct ifnet **ifs; /* Array of pointers to interface structs */
-static if_ppp_t **states; /* Array of pointers to state structs */
-
-static int if_ppp_output __P((struct ifnet *, struct mbuf *,
- struct sockaddr *));
-static int if_ppp_ioctl __P((struct ifnet *, u_int, caddr_t));
-static struct mbuf *make_mbufs __P((mblk_t *, int));
-static mblk_t *make_message __P((struct mbuf *, int));
-
-#ifdef SNIT_SUPPORT
-/* Fake ether header for SNIT */
-static struct ether_header snit_ehdr = {{0}, {0}, ETHERTYPE_IP};
-#endif
-
-#ifndef __osf__
-static void ppp_if_detach __P((struct ifnet *));
-
-/*
- * Detach all the interfaces before unloading.
- * Not sure this works.
- */
-int
-if_ppp_unload()
-{
- int i;
-
- if (if_ppp_count > 0)
- return EBUSY;
- for (i = 0; i < ppp_nalloc; ++i)
- if (ifs[i] != 0)
- ppp_if_detach(ifs[i]);
- if (ifs) {
- FREE(ifs, ppp_nalloc * sizeof (struct ifnet *));
- FREE(states, ppp_nalloc * sizeof (struct if_ppp_t *));
- }
- ppp_nalloc = 0;
- return 0;
-}
-#endif /* __osf__ */
-
-/*
- * STREAMS module entry points.
- */
-static int
-if_ppp_open(q, dev, flag, sflag)
- queue_t *q;
- int dev;
- int flag, sflag;
-{
- if_ppp_t *sp;
-
- if (q->q_ptr == 0) {
- sp = (if_ppp_t *) ALLOC_SLEEP(sizeof (if_ppp_t));
- if (sp == 0)
- return OPENFAIL;
- bzero(sp, sizeof (if_ppp_t));
- q->q_ptr = (caddr_t) sp;
- WR(q)->q_ptr = (caddr_t) sp;
- sp->unit = -1; /* no interface unit attached at present */
- sp->q = WR(q);
- sp->flags = 0;
- ++if_ppp_count;
- }
- return 0;
-}
-
-static int
-if_ppp_close(q, flag)
- queue_t *q;
- int flag;
-{
- if_ppp_t *sp;
- struct ifnet *ifp;
-
- sp = (if_ppp_t *) q->q_ptr;
- if (sp != 0) {
- if (sp->flags & DBGLOG)
- printf("if_ppp closed, q=%x sp=%x\n", q, sp);
- if (sp->unit >= 0) {
- if (sp->unit < ppp_nalloc) {
- states[sp->unit] = 0;
- ifp = ifs[sp->unit];
- if (ifp != 0)
- ifp->if_flags &= ~(IFF_UP | IFF_RUNNING);
-#ifdef DEBUG
- } else {
- printf("if_ppp: unit %d nonexistent!\n", sp->unit);
-#endif
- }
- }
- FREE(sp, sizeof (if_ppp_t));
- --if_ppp_count;
- }
- return 0;
-}
-
-static int
-if_ppp_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- if_ppp_t *sp;
- struct iocblk *iop;
- int error, unit;
- struct ifnet *ifp;
-
- sp = (if_ppp_t *) q->q_ptr;
- switch (mp->b_datap->db_type) {
- case M_DATA:
- /*
- * Now why would we be getting data coming in here??
- */
- if (sp->flags & DBGLOG)
- printf("if_ppp: got M_DATA len=%d\n", msgdsize(mp));
- freemsg(mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
-
- if (sp->flags & DBGLOG)
- printf("if_ppp: got ioctl cmd=%x count=%d\n",
- iop->ioc_cmd, iop->ioc_count);
-
- switch (iop->ioc_cmd) {
- case PPPIO_NEWPPA: /* well almost */
- if (iop->ioc_count != sizeof(int) || sp->unit >= 0)
- break;
- if ((error = NOTSUSER()) != 0)
- break;
- unit = *(int *)mp->b_cont->b_rptr;
-
- /* Check that this unit isn't already in use */
- if (unit < ppp_nalloc && states[unit] != 0) {
- error = EADDRINUSE;
- break;
- }
-
- /* Extend ifs and states arrays if necessary. */
- error = ENOSR;
- if (unit >= ppp_nalloc) {
- int newn;
- struct ifnet **newifs;
- if_ppp_t **newstates;
-
- newn = unit + 4;
- if (sp->flags & DBGLOG)
- printf("if_ppp: extending ifs to %d\n", newn);
- newifs = (struct ifnet **)
- ALLOC_NOSLEEP(newn * sizeof (struct ifnet *));
- if (newifs == 0)
- break;
- bzero(newifs, newn * sizeof (struct ifnet *));
- newstates = (if_ppp_t **)
- ALLOC_NOSLEEP(newn * sizeof (struct if_ppp_t *));
- if (newstates == 0) {
- FREE(newifs, newn * sizeof (struct ifnet *));
- break;
- }
- bzero(newstates, newn * sizeof (struct if_ppp_t *));
- bcopy(ifs, newifs, ppp_nalloc * sizeof(struct ifnet *));
- bcopy(states, newstates, ppp_nalloc * sizeof(if_ppp_t *));
- if (ifs) {
- FREE(ifs, ppp_nalloc * sizeof(struct ifnet *));
- FREE(states, ppp_nalloc * sizeof(if_ppp_t *));
- }
- ifs = newifs;
- states = newstates;
- ppp_nalloc = newn;
- }
-
- /* Allocate a new ifnet struct if necessary. */
- ifp = ifs[unit];
- if (ifp == 0) {
- ifp = (struct ifnet *) ALLOC_NOSLEEP(sizeof (struct ifnet));
- if (ifp == 0)
- break;
- bzero(ifp, sizeof (struct ifnet));
- ifs[unit] = ifp;
- ifp->if_name = "ppp";
- ifp->if_unit = unit;
- ifp->if_mtu = PPP_MTU;
- ifp->if_flags = IFF_POINTOPOINT | IFF_RUNNING;
-#ifndef __osf__
-#ifdef IFF_MULTICAST
- ifp->if_flags |= IFF_MULTICAST;
-#endif
-#endif /* __osf__ */
- ifp->if_output = if_ppp_output;
-#ifdef __osf__
- ifp->if_version = "Point-to-Point Protocol, version 2.3.11";
- ifp->if_mediamtu = PPP_MTU;
- ifp->if_type = IFT_PPP;
- ifp->if_hdrlen = PPP_HDRLEN;
- ifp->if_addrlen = 0;
- ifp->if_flags |= IFF_NOARP | IFF_SIMPLEX | IFF_NOTRAILERS;
-#ifdef IFF_VAR_MTU
- ifp->if_flags |= IFF_VAR_MTU;
-#endif
-#ifdef NETMASTERCPU
- ifp->if_affinity = NETMASTERCPU;
-#endif
-#endif
- ifp->if_ioctl = if_ppp_ioctl;
- ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
- if_attach(ifp);
- if (sp->flags & DBGLOG)
- printf("if_ppp: created unit %d\n", unit);
- } else {
- ifp->if_mtu = PPP_MTU;
- ifp->if_flags |= IFF_RUNNING;
- }
-
- states[unit] = sp;
- sp->unit = unit;
-
- error = 0;
- iop->ioc_count = 0;
- if (sp->flags & DBGLOG)
- printf("if_ppp: attached unit %d, sp=%x q=%x\n", unit,
- sp, sp->q);
- break;
-
- case PPPIO_DEBUG:
- error = -1;
- if (iop->ioc_count == sizeof(int)) {
- if (*(int *)mp->b_cont->b_rptr == PPPDBG_LOG + PPPDBG_IF) {
- printf("if_ppp: debug log enabled, q=%x sp=%x\n", q, sp);
- sp->flags |= DBGLOG;
- error = 0;
- iop->ioc_count = 0;
- }
- }
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (sp->flags & DBGLOG)
- printf("if_ppp: ioctl result %d\n", error);
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_count = 0;
- iop->ioc_error = error;
- qreply(q, mp);
- }
- break;
-
- default:
- putnext(q, mp);
- }
- return 0;
-}
-
-static int
-if_ppp_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- if_ppp_t *sp;
- int proto, s;
- struct mbuf *mb;
- struct ifqueue *inq;
- struct ifnet *ifp;
- int len;
-
- sp = (if_ppp_t *) q->q_ptr;
- switch (mp->b_datap->db_type) {
- case M_DATA:
- /*
- * Convert the message into an mbuf chain
- * and inject it into the network code.
- */
- if (sp->flags & DBGLOG)
- printf("if_ppp: rput pkt len %d data %x %x %x %x %x %x %x %x\n",
- msgdsize(mp), mp->b_rptr[0], mp->b_rptr[1], mp->b_rptr[2],
- mp->b_rptr[3], mp->b_rptr[4], mp->b_rptr[5], mp->b_rptr[6],
- mp->b_rptr[7]);
-
- if (sp->unit < 0) {
- freemsg(mp);
- break;
- }
- if (sp->unit >= ppp_nalloc || (ifp = ifs[sp->unit]) == 0) {
-#ifdef DEBUG
- printf("if_ppp: no unit %d!\n", sp->unit);
-#endif
- freemsg(mp);
- break;
- }
-
- if ((ifp->if_flags & IFF_UP) == 0) {
- freemsg(mp);
- break;
- }
- ++ifp->if_ipackets;
-
- proto = PPP_PROTOCOL(mp->b_rptr);
- adjmsg(mp, PPP_HDRLEN);
- len = msgdsize(mp);
- mb = make_mbufs(mp, sizeof(struct ifnet *));
- freemsg(mp);
- if (mb == NULL) {
- if (sp->flags & DBGLOG)
- printf("if_ppp%d: make_mbufs failed\n", ifp->if_unit);
- ++ifp->if_ierrors;
- break;
- }
-
-#ifdef SNIT_SUPPORT
- if (proto == PPP_IP && (ifp->if_flags & IFF_PROMISC)) {
- struct nit_if nif;
-
- nif.nif_header = (caddr_t) &snit_ehdr;
- nif.nif_hdrlen = sizeof(snit_ehdr);
- nif.nif_bodylen = len;
- nif.nif_promisc = 0;
- snit_intr(ifp, mb, &nif);
- }
-#endif
-
-/*
- * For Digital UNIX, there's space set aside in the header mbuf
- * for the interface info.
- *
- * For Sun it's smuggled around via a pointer at the front of the mbuf.
- */
-#ifdef __osf__
- mb->m_pkthdr.rcvif = ifp;
- mb->m_pkthdr.len = len;
-#else
- mb->m_off -= sizeof(struct ifnet *);
- mb->m_len += sizeof(struct ifnet *);
- *mtod(mb, struct ifnet **) = ifp;
-#endif
-
- inq = 0;
- switch (proto) {
- case PPP_IP:
- inq = &ipintrq;
- schednetisr(NETISR_IP);
- }
-
- if (inq != 0) {
- s = splhigh();
- if (IF_QFULL(inq)) {
- IF_DROP(inq);
- ++ifp->if_ierrors;
- if (sp->flags & DBGLOG)
- printf("if_ppp: inq full, proto=%x\n", proto);
- m_freem(mb);
- } else {
- IF_ENQUEUE(inq, mb);
- }
- splx(s);
- } else {
- if (sp->flags & DBGLOG)
- printf("if_ppp%d: proto=%x?\n", ifp->if_unit, proto);
- ++ifp->if_ierrors;
- m_freem(mb);
- }
- break;
-
- default:
- putnext(q, mp);
- }
- return 0;
-}
-
-/*
- * Network code wants to output a packet.
- * Turn it into a STREAMS message and send it down.
- */
-static int
-if_ppp_output(ifp, m0, dst)
- struct ifnet *ifp;
- struct mbuf *m0;
- struct sockaddr *dst;
-{
- mblk_t *mp;
- int proto, s;
- if_ppp_t *sp;
- u_char *p;
-
- if ((ifp->if_flags & IFF_UP) == 0) {
- m_freem(m0);
- return ENETDOWN;
- }
-
- if ((unsigned)ifp->if_unit >= ppp_nalloc) {
-#ifdef DEBUG
- printf("if_ppp_output: unit %d?\n", ifp->if_unit);
-#endif
- m_freem(m0);
- return EINVAL;
- }
- sp = states[ifp->if_unit];
- if (sp == 0) {
-#ifdef DEBUG
- printf("if_ppp_output: no queue?\n");
-#endif
- m_freem(m0);
- return ENETDOWN;
- }
-
- if (sp->flags & DBGLOG) {
- p = mtod(m0, u_char *);
- printf("if_ppp_output%d: af=%d data=%x %x %x %x %x %x %x %x q=%x\n",
- ifp->if_unit, dst->sa_family, p[0], p[1], p[2], p[3], p[4],
- p[5], p[6], p[7], sp->q);
- }
-
- switch (dst->sa_family) {
- case AF_INET:
- proto = PPP_IP;
-#ifdef SNIT_SUPPORT
- if (ifp->if_flags & IFF_PROMISC) {
- struct nit_if nif;
- struct mbuf *m;
- int len;
-
- for (len = 0, m = m0; m != NULL; m = m->m_next)
- len += m->m_len;
- nif.nif_header = (caddr_t) &snit_ehdr;
- nif.nif_hdrlen = sizeof(snit_ehdr);
- nif.nif_bodylen = len;
- nif.nif_promisc = 0;
- snit_intr(ifp, m0, &nif);
- }
-#endif
- break;
-
- default:
- m_freem(m0);
- return EAFNOSUPPORT;
- }
-
- ++ifp->if_opackets;
- mp = make_message(m0, PPP_HDRLEN);
- m_freem(m0);
- if (mp == 0) {
- ++ifp->if_oerrors;
- return ENOBUFS;
- }
- mp->b_rptr -= PPP_HDRLEN;
- mp->b_rptr[0] = PPP_ALLSTATIONS;
- mp->b_rptr[1] = PPP_UI;
- mp->b_rptr[2] = proto >> 8;
- mp->b_rptr[3] = proto;
-
- s = splstr();
- if (sp->flags & DBGLOG)
- printf("if_ppp: putnext(%x, %x), r=%x w=%x p=%x\n",
- sp->q, mp, mp->b_rptr, mp->b_wptr, proto);
- putnext(sp->q, mp);
- splx(s);
-
- return 0;
-}
-
-/*
- * Socket ioctl routine for ppp interfaces.
- */
-static int
-if_ppp_ioctl(ifp, cmd, data)
- struct ifnet *ifp;
- u_int cmd;
- caddr_t data;
-{
- int s, error;
- struct ifreq *ifr = (struct ifreq *) data;
- struct ifaddr *ifa = (struct ifaddr *) data;
- u_short mtu;
-
- error = 0;
- s = splimp();
- switch (cmd) {
- case SIOCSIFFLAGS:
- if ((ifp->if_flags & IFF_RUNNING) == 0)
- ifp->if_flags &= ~IFF_UP;
- break;
-
- case SIOCSIFADDR:
- if (IFA_ADDR(ifa).sa_family != AF_INET)
- error = EAFNOSUPPORT;
- break;
-
- case SIOCSIFDSTADDR:
- if (IFA_ADDR(ifa).sa_family != AF_INET)
- error = EAFNOSUPPORT;
- break;
-
- case SIOCSIFMTU:
- if ((error = NOTSUSER()) != 0)
- break;
-#ifdef __osf__
- /* this hack is necessary because ifioctl checks ifr_data
- * in 4.0 and 5.0, but ifr_data and ifr_metric overlay each
- * other in the definition of struct ifreq so pppd can't set both.
- */
- bcopy(ifr->ifr_data, &mtu, sizeof (u_short));
- ifr->ifr_mtu = mtu;
-#endif
-
- if (ifr->ifr_mtu < PPP_MINMTU || ifr->ifr_mtu > PPP_MAXMTU) {
- error = EINVAL;
- break;
- }
- ifp->if_mtu = ifr->ifr_mtu;
- break;
-
- case SIOCGIFMTU:
- ifr->ifr_mtu = ifp->if_mtu;
- break;
-
- case SIOCADDMULTI:
- case SIOCDELMULTI:
- switch(ifr->ifr_addr.sa_family) {
- case AF_INET:
- break;
- default:
- error = EAFNOSUPPORT;
- break;
- }
- break;
-
- default:
- error = EINVAL;
- }
- splx(s);
- return (error);
-}
-
-/*
- * Turn a STREAMS message into an mbuf chain.
- */
-static struct mbuf *
-make_mbufs(mp, off)
- mblk_t *mp;
- int off;
-{
- struct mbuf *head, **prevp, *m;
- int len, space, n;
- unsigned char *cp, *dp;
-
- len = msgdsize(mp);
- if (len == 0)
- return 0;
- prevp = &head;
- space = 0;
- cp = mp->b_rptr;
-#ifdef __osf__
- MGETHDR(m, M_DONTWAIT, MT_DATA);
- m->m_len = 0;
- space = MHLEN;
- *prevp = m;
- prevp = &m->m_next;
- dp = mtod(m, unsigned char *);
- len -= space;
- off = 0;
-#endif
- for (;;) {
- while (cp >= mp->b_wptr) {
- mp = mp->b_cont;
- if (mp == 0) {
- *prevp = 0;
- return head;
- }
- cp = mp->b_rptr;
- }
- n = mp->b_wptr - cp;
- if (space == 0) {
- MGET(m, M_DONTWAIT, MT_DATA);
- *prevp = m;
- if (m == 0) {
- if (head != 0)
- m_freem(head);
- return 0;
- }
- if (len + off > 2 * MLEN) {
-#ifdef __osf__
- MCLGET(m, M_DONTWAIT);
-#else
- MCLGET(m);
-#endif
- }
-#ifdef __osf__
- space = ((m->m_flags & M_EXT) ? MCLBYTES : MLEN);
-#else
- space = (m->m_off > MMAXOFF? MCLBYTES: MLEN) - off;
- m->m_off += off;
-#endif
- m->m_len = 0;
- len -= space;
- dp = mtod(m, unsigned char *);
- off = 0;
- prevp = &m->m_next;
- }
- if (n > space)
- n = space;
- bcopy(cp, dp, n);
- cp += n;
- dp += n;
- space -= n;
- m->m_len += n;
- }
-}
-
-/*
- * Turn an mbuf chain into a STREAMS message.
- */
-#define ALLOCB_MAX 4096
-
-static mblk_t *
-make_message(m, off)
- struct mbuf *m;
- int off;
-{
- mblk_t *head, **prevp, *mp;
- int len, space, n, nb;
- unsigned char *cp, *dp;
- struct mbuf *nm;
-
- len = 0;
- for (nm = m; nm != 0; nm = nm->m_next)
- len += nm->m_len;
- prevp = &head;
- space = 0;
- cp = mtod(m, unsigned char *);
- nb = m->m_len;
- for (;;) {
- while (nb <= 0) {
- m = m->m_next;
- if (m == 0) {
- *prevp = 0;
- return head;
- }
- cp = mtod(m, unsigned char *);
- nb = m->m_len;
- }
- if (space == 0) {
- space = len + off;
- if (space > ALLOCB_MAX)
- space = ALLOCB_MAX;
- mp = allocb(space, BPRI_LO);
- *prevp = mp;
- if (mp == 0) {
- if (head != 0)
- freemsg(head);
- return 0;
- }
- dp = mp->b_rptr += off;
- space -= off;
- len -= space;
- off = 0;
- prevp = &mp->b_cont;
- }
- n = nb < space? nb: space;
- bcopy(cp, dp, n);
- cp += n;
- dp += n;
- nb -= n;
- space -= n;
- mp->b_wptr = dp;
- }
-}
-
-/*
- * Digital UNIX doesn't allow for removing ifnet structures
- * from the list. But then we're not using this as a loadable
- * module anyway, so that's OK.
- *
- * Under SunOS, this should allow the module to be unloaded.
- * Unfortunately, it doesn't seem to detach all the references,
- * so your system may well crash after you unload this module :-(
- */
-#ifndef __osf__
-
-/*
- * Remove an interface from the system.
- * This routine contains magic.
- */
-#include <net/route.h>
-#include <netinet/in_pcb.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/udp.h>
-#include <netinet/udp_var.h>
-
-static void
-ppp_if_detach(ifp)
- struct ifnet *ifp;
-{
- int s;
- struct inpcb *pcb;
- struct ifaddr *ifa;
- struct in_ifaddr **inap;
- struct ifnet **ifpp;
-
- s = splhigh();
-
- /*
- * Clear the interface from any routes currently cached in
- * TCP or UDP protocol control blocks.
- */
- for (pcb = tcb.inp_next; pcb != &tcb; pcb = pcb->inp_next)
- if (pcb->inp_route.ro_rt && pcb->inp_route.ro_rt->rt_ifp == ifp)
- in_losing(pcb);
- for (pcb = udb.inp_next; pcb != &udb; pcb = pcb->inp_next)
- if (pcb->inp_route.ro_rt && pcb->inp_route.ro_rt->rt_ifp == ifp)
- in_losing(pcb);
-
- /*
- * Delete routes through all addresses of the interface.
- */
- for (ifa = ifp->if_addrlist; ifa != 0; ifa = ifa->ifa_next) {
- rtinit(ifa, ifa, SIOCDELRT, RTF_HOST);
- rtinit(ifa, ifa, SIOCDELRT, 0);
- }
-
- /*
- * Unlink the interface's address(es) from the in_ifaddr list.
- */
- for (inap = &in_ifaddr; *inap != 0; ) {
- if ((*inap)->ia_ifa.ifa_ifp == ifp)
- *inap = (*inap)->ia_next;
- else
- inap = &(*inap)->ia_next;
- }
-
- /*
- * Delete the interface from the ifnet list.
- */
- for (ifpp = &ifnet; (*ifpp) != 0; ) {
- if (*ifpp == ifp)
- break;
- ifpp = &(*ifpp)->if_next;
- }
- if (*ifpp == 0)
- printf("couldn't find interface ppp%d in ifnet list\n", ifp->if_unit);
- else
- *ifpp = ifp->if_next;
-
- splx(s);
-}
-
-#endif /* __osf__ */
diff --git a/mdk-stage1/ppp/modules/ppp.c b/mdk-stage1/ppp/modules/ppp.c
deleted file mode 100644
index 44bf08dff..000000000
--- a/mdk-stage1/ppp/modules/ppp.c
+++ /dev/null
@@ -1,2486 +0,0 @@
-/*
- * ppp.c - STREAMS multiplexing pseudo-device driver for PPP.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/errno.h>
-#ifdef __osf__
-#include <sys/ioctl.h>
-#include <sys/cmn_err.h>
-#define queclass(mp) ((mp)->b_band & QPCTL)
-#else
-#include <sys/ioccom.h>
-#endif
-#include <sys/time.h>
-#ifdef SVR4
-#include <sys/cmn_err.h>
-#include <sys/conf.h>
-#include <sys/dlpi.h>
-#include <sys/ddi.h>
-#ifdef SOL2
-#include <sys/ksynch.h>
-#include <sys/kstat.h>
-#include <sys/sunddi.h>
-#include <sys/ethernet.h>
-#else
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <net/if.h>
-#include <netinet/in.h>
-#endif /* SOL2 */
-#else /* not SVR4 */
-#include <sys/user.h>
-#endif /* SVR4 */
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-/*
- * Modifications marked with #ifdef PRIOQ are for priority queueing of
- * interactive traffic, and are due to Marko Zec <zec@japa.tel.fer.hr>.
- */
-#ifdef PRIOQ
-#endif /* PRIOQ */
-
-#include <netinet/in.h> /* leave this outside of PRIOQ for htons */
-
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-
-/*
- * The IP module may use this SAP value for IP packets.
- */
-#ifndef ETHERTYPE_IP
-#define ETHERTYPE_IP 0x800
-#endif
-
-#if !defined(ETHERTYPE_IPV6)
-#define ETHERTYPE_IPV6 0x86dd
-#endif /* !defined(ETHERTYPE_IPV6) */
-
-#if !defined(ETHERTYPE_ALLSAP) && defined(SOL2)
-#define ETHERTYPE_ALLSAP 0
-#endif /* !defined(ETHERTYPE_ALLSAP) && defined(SOL2) */
-
-#if !defined(PPP_ALLSAP) && defined(SOL2)
-#define PPP_ALLSAP PPP_ALLSTATIONS
-#endif /* !defined(PPP_ALLSAP) && defined(SOL2) */
-
-extern time_t time;
-
-#ifdef SOL2
-/*
- * We use this reader-writer lock to ensure that the lower streams
- * stay connected to the upper streams while the lower-side put and
- * service procedures are running. Essentially it is an existence
- * lock for the upper stream associated with each lower stream.
- */
-krwlock_t ppp_lower_lock;
-#define LOCK_LOWER_W rw_enter(&ppp_lower_lock, RW_WRITER)
-#define LOCK_LOWER_R rw_enter(&ppp_lower_lock, RW_READER)
-#define TRYLOCK_LOWER_R rw_tryenter(&ppp_lower_lock, RW_READER)
-#define UNLOCK_LOWER rw_exit(&ppp_lower_lock)
-
-#define MT_ENTER(x) mutex_enter(x)
-#define MT_EXIT(x) mutex_exit(x)
-
-/*
- * Notes on multithreaded implementation for Solaris 2:
- *
- * We use an inner perimeter around each queue pair and an outer
- * perimeter around the whole driver. The inner perimeter is
- * entered exclusively for all entry points (open, close, put,
- * service). The outer perimeter is entered exclusively for open
- * and close and shared for put and service. This is all done for
- * us by the streams framework.
- *
- * I used to think that the perimeters were entered for the lower
- * streams' put and service routines as well as for the upper streams'.
- * Because of problems experienced by people, and after reading the
- * documentation more closely, I now don't think that is true. So we
- * now use ppp_lower_lock to give us an existence guarantee on the
- * upper stream controlling each lower stream.
- *
- * Shared entry to the outer perimeter protects the existence of all
- * the upper streams and their upperstr_t structures, and guarantees
- * that the following fields of any upperstr_t won't change:
- * nextmn, next, nextppa. It guarantees that the lowerq field of an
- * upperstr_t won't go from non-zero to zero, that the global `ppas'
- * won't change and that the no lower stream will get unlinked.
- *
- * Shared (reader) access to ppa_lower_lock guarantees that no lower
- * stream will be unlinked and that the lowerq field of all upperstr_t
- * structures won't change.
- */
-
-#else /* SOL2 */
-#define LOCK_LOWER_W 0
-#define LOCK_LOWER_R 0
-#define TRYLOCK_LOWER_R 1
-#define UNLOCK_LOWER 0
-#define MT_ENTER(x) 0
-#define MT_EXIT(x) 0
-
-#endif /* SOL2 */
-
-/*
- * Private information; one per upper stream.
- */
-typedef struct upperstr {
- minor_t mn; /* minor device number */
- struct upperstr *nextmn; /* next minor device */
- queue_t *q; /* read q associated with this upper stream */
- int flags; /* flag bits, see below */
- int state; /* current DLPI state */
- int sap; /* service access point */
- int req_sap; /* which SAP the DLPI client requested */
- struct upperstr *ppa; /* control stream for our ppa */
- struct upperstr *next; /* next stream for this ppa */
- uint ioc_id; /* last ioctl ID for this stream */
- enum NPmode npmode; /* what to do with packets on this SAP */
- unsigned char rblocked; /* flow control has blocked upper read strm */
- /* N.B. rblocked is only changed by control stream's put/srv procs */
- /*
- * There is exactly one control stream for each PPA.
- * The following fields are only used for control streams.
- */
- int ppa_id;
- queue_t *lowerq; /* write queue attached below this PPA */
- struct upperstr *nextppa; /* next control stream */
- int mru;
- int mtu;
- struct pppstat stats; /* statistics */
- time_t last_sent; /* time last NP packet sent */
- time_t last_recv; /* time last NP packet rcvd */
-#ifdef SOL2
- kmutex_t stats_lock; /* lock for stats updates */
- kstat_t *kstats; /* stats for netstat */
-#endif /* SOL2 */
-#ifdef LACHTCP
- int ifflags;
- char ifname[IFNAMSIZ];
- struct ifstats ifstats;
-#endif /* LACHTCP */
-} upperstr_t;
-
-/* Values for flags */
-#define US_PRIV 1 /* stream was opened by superuser */
-#define US_CONTROL 2 /* stream is a control stream */
-#define US_BLOCKED 4 /* flow ctrl has blocked lower write stream */
-#define US_LASTMOD 8 /* no PPP modules below us */
-#define US_DBGLOG 0x10 /* log various occurrences */
-#define US_RBLOCKED 0x20 /* flow ctrl has blocked upper read stream */
-
-#if defined(SOL2)
-#if DL_CURRENT_VERSION >= 2
-#define US_PROMISC 0x40 /* stream is promiscuous */
-#endif /* DL_CURRENT_VERSION >= 2 */
-#define US_RAWDATA 0x80 /* raw M_DATA, no DLPI header */
-#endif /* defined(SOL2) */
-
-#ifdef PRIOQ
-static u_char max_band=0;
-static u_char def_band=0;
-
-#define IPPORT_DEFAULT 65535
-
-/*
- * Port priority table
- * Highest priority ports are listed first, lowest are listed last.
- * ICMP & packets using unlisted ports will be treated as "default".
- * If IPPORT_DEFAULT is not listed here, "default" packets will be
- * assigned lowest priority.
- * Each line should be terminated with "0".
- * Line containing only "0" marks the end of the list.
- */
-
-static u_short prioq_table[]= {
- 113, 53, 0,
- 22, 23, 513, 517, 518, 0,
- 514, 21, 79, 111, 0,
- 25, 109, 110, 0,
- IPPORT_DEFAULT, 0,
- 20, 70, 80, 8001, 8008, 8080, 0, /* 8001,8008,8080 - common proxy ports */
-0 };
-
-#endif /* PRIOQ */
-
-
-static upperstr_t *minor_devs = NULL;
-static upperstr_t *ppas = NULL;
-
-#ifdef SVR4
-static int pppopen __P((queue_t *, dev_t *, int, int, cred_t *));
-static int pppclose __P((queue_t *, int, cred_t *));
-#else
-static int pppopen __P((queue_t *, int, int, int));
-static int pppclose __P((queue_t *, int));
-#endif /* SVR4 */
-static int pppurput __P((queue_t *, mblk_t *));
-static int pppuwput __P((queue_t *, mblk_t *));
-static int pppursrv __P((queue_t *));
-static int pppuwsrv __P((queue_t *));
-static int ppplrput __P((queue_t *, mblk_t *));
-static int ppplwput __P((queue_t *, mblk_t *));
-static int ppplrsrv __P((queue_t *));
-static int ppplwsrv __P((queue_t *));
-#ifndef NO_DLPI
-static void dlpi_request __P((queue_t *, mblk_t *, upperstr_t *));
-static void dlpi_error __P((queue_t *, upperstr_t *, int, int, int));
-static void dlpi_ok __P((queue_t *, int));
-#endif
-static int send_data __P((mblk_t *, upperstr_t *));
-static void new_ppa __P((queue_t *, mblk_t *));
-static void attach_ppa __P((queue_t *, mblk_t *));
-static void detach_ppa __P((queue_t *, mblk_t *));
-static void detach_lower __P((queue_t *, mblk_t *));
-static void debug_dump __P((queue_t *, mblk_t *));
-static upperstr_t *find_dest __P((upperstr_t *, int));
-#if defined(SOL2)
-static upperstr_t *find_promisc __P((upperstr_t *, int));
-static mblk_t *prepend_ether __P((upperstr_t *, mblk_t *, int));
-static mblk_t *prepend_udind __P((upperstr_t *, mblk_t *, int));
-static void promisc_sendup __P((upperstr_t *, mblk_t *, int, int));
-#endif /* defined(SOL2) */
-static int putctl2 __P((queue_t *, int, int, int));
-static int putctl4 __P((queue_t *, int, int, int));
-static int pass_packet __P((upperstr_t *ppa, mblk_t *mp, int outbound));
-#ifdef FILTER_PACKETS
-static int ip_hard_filter __P((upperstr_t *ppa, mblk_t *mp, int outbound));
-#endif /* FILTER_PACKETS */
-
-#define PPP_ID 0xb1a6
-static struct module_info ppp_info = {
-#ifdef PRIOQ
- PPP_ID, "ppp", 0, 512, 512, 384
-#else
- PPP_ID, "ppp", 0, 512, 512, 128
-#endif /* PRIOQ */
-};
-
-static struct qinit pppurint = {
- pppurput, pppursrv, pppopen, pppclose, NULL, &ppp_info, NULL
-};
-
-static struct qinit pppuwint = {
- pppuwput, pppuwsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-static struct qinit ppplrint = {
- ppplrput, ppplrsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-static struct qinit ppplwint = {
- ppplwput, ppplwsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-#ifdef LACHTCP
-extern struct ifstats *ifstats;
-int pppdevflag = 0;
-#endif
-
-struct streamtab pppinfo = {
- &pppurint, &pppuwint,
- &ppplrint, &ppplwint
-};
-
-int ppp_count;
-
-/*
- * How we maintain statistics.
- */
-#ifdef SOL2
-#define INCR_IPACKETS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[0].value.ul++; \
- }
-#define INCR_IERRORS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[1].value.ul++; \
- }
-#define INCR_OPACKETS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[2].value.ul++; \
- }
-#define INCR_OERRORS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[3].value.ul++; \
- }
-#endif
-
-#ifdef LACHTCP
-#define INCR_IPACKETS(ppa) ppa->ifstats.ifs_ipackets++;
-#define INCR_IERRORS(ppa) ppa->ifstats.ifs_ierrors++;
-#define INCR_OPACKETS(ppa) ppa->ifstats.ifs_opackets++;
-#define INCR_OERRORS(ppa) ppa->ifstats.ifs_oerrors++;
-#endif
-
-/*
- * STREAMS driver entry points.
- */
-static int
-#ifdef SVR4
-pppopen(q, devp, oflag, sflag, credp)
- queue_t *q;
- dev_t *devp;
- int oflag, sflag;
- cred_t *credp;
-#else
-pppopen(q, dev, oflag, sflag)
- queue_t *q;
- int dev; /* really dev_t */
- int oflag, sflag;
-#endif
-{
- upperstr_t *up;
- upperstr_t **prevp;
- minor_t mn;
-#ifdef PRIOQ
- u_short *ptr;
- u_char new_band;
-#endif /* PRIOQ */
-
- if (q->q_ptr)
- DRV_OPEN_OK(dev); /* device is already open */
-
-#ifdef PRIOQ
- /* Calculate max_bband & def_band from definitions in prioq.h
- This colud be done at some more approtiate time (less often)
- but this way it works well so I'll just leave it here */
-
- max_band = 1;
- def_band = 0;
- ptr = prioq_table;
- while (*ptr) {
- new_band = 1;
- while (*ptr)
- if (*ptr++ == IPPORT_DEFAULT) {
- new_band = 0;
- def_band = max_band;
- }
- max_band += new_band;
- ptr++;
- }
- if (def_band)
- def_band = max_band - def_band;
- --max_band;
-#endif /* PRIOQ */
-
- if (sflag == CLONEOPEN) {
- mn = 0;
- for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
- if (up->mn != mn)
- break;
- ++mn;
- }
- } else {
-#ifdef SVR4
- mn = getminor(*devp);
-#else
- mn = minor(dev);
-#endif
- for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
- if (up->mn >= mn)
- break;
- }
- if (up->mn == mn) {
- /* this can't happen */
- q->q_ptr = WR(q)->q_ptr = (caddr_t) up;
- DRV_OPEN_OK(dev);
- }
- }
-
- /*
- * Construct a new minor node.
- */
- up = (upperstr_t *) ALLOC_SLEEP(sizeof(upperstr_t));
- bzero((caddr_t) up, sizeof(upperstr_t));
- if (up == 0) {
- DPRINT("pppopen: out of kernel memory\n");
- OPEN_ERROR(ENXIO);
- }
- up->nextmn = *prevp;
- *prevp = up;
- up->mn = mn;
-#ifdef SVR4
- *devp = makedevice(getmajor(*devp), mn);
-#endif
- up->q = q;
- if (NOTSUSER() == 0)
- up->flags |= US_PRIV;
-#ifndef NO_DLPI
- up->state = DL_UNATTACHED;
-#endif
-#ifdef LACHTCP
- up->ifflags = IFF_UP | IFF_POINTOPOINT;
-#endif
- up->sap = -1;
- up->last_sent = up->last_recv = time;
- up->npmode = NPMODE_DROP;
- q->q_ptr = (caddr_t) up;
- WR(q)->q_ptr = (caddr_t) up;
- noenable(WR(q));
-#ifdef SOL2
- mutex_init(&up->stats_lock, NULL, MUTEX_DRIVER, NULL);
-#endif
- ++ppp_count;
-
- qprocson(q);
- DRV_OPEN_OK(makedev(major(dev), mn));
-}
-
-static int
-#ifdef SVR4
-pppclose(q, flag, credp)
- queue_t *q;
- int flag;
- cred_t *credp;
-#else
-pppclose(q, flag)
- queue_t *q;
- int flag;
-#endif
-{
- upperstr_t *up, **upp;
- upperstr_t *as, *asnext;
- upperstr_t **prevp;
-
- qprocsoff(q);
-
- up = (upperstr_t *) q->q_ptr;
- if (up == 0) {
- DPRINT("pppclose: q_ptr = 0\n");
- return 0;
- }
- if (up->flags & US_DBGLOG)
- DPRINT2("ppp/%d: close, flags=%x\n", up->mn, up->flags);
- if (up->flags & US_CONTROL) {
-#ifdef LACHTCP
- struct ifstats *ifp, *pifp;
-#endif
- if (up->lowerq != 0) {
- /* Gack! the lower stream should have be unlinked earlier! */
- DPRINT1("ppp%d: lower stream still connected on close?\n",
- up->mn);
- LOCK_LOWER_W;
- up->lowerq->q_ptr = 0;
- RD(up->lowerq)->q_ptr = 0;
- up->lowerq = 0;
- UNLOCK_LOWER;
- }
-
- /*
- * This stream represents a PPA:
- * For all streams attached to the PPA, clear their
- * references to this PPA.
- * Then remove this PPA from the list of PPAs.
- */
- for (as = up->next; as != 0; as = asnext) {
- asnext = as->next;
- as->next = 0;
- as->ppa = 0;
- if (as->flags & US_BLOCKED) {
- as->flags &= ~US_BLOCKED;
- flushq(WR(as->q), FLUSHDATA);
- }
- }
- for (upp = &ppas; *upp != 0; upp = &(*upp)->nextppa)
- if (*upp == up) {
- *upp = up->nextppa;
- break;
- }
-#ifdef LACHTCP
- /* Remove the statistics from the active list. */
- for (ifp = ifstats, pifp = 0; ifp; ifp = ifp->ifs_next) {
- if (ifp == &up->ifstats) {
- if (pifp)
- pifp->ifs_next = ifp->ifs_next;
- else
- ifstats = ifp->ifs_next;
- break;
- }
- pifp = ifp;
- }
-#endif
- } else {
- /*
- * If this stream is attached to a PPA,
- * remove it from the PPA's list.
- */
- if ((as = up->ppa) != 0) {
- for (; as->next != 0; as = as->next)
- if (as->next == up) {
- as->next = up->next;
- break;
- }
- }
- }
-
-#ifdef SOL2
- if (up->kstats)
- kstat_delete(up->kstats);
- mutex_destroy(&up->stats_lock);
-#endif
-
- q->q_ptr = NULL;
- WR(q)->q_ptr = NULL;
-
- for (prevp = &minor_devs; *prevp != 0; prevp = &(*prevp)->nextmn) {
- if (*prevp == up) {
- *prevp = up->nextmn;
- break;
- }
- }
- FREE(up, sizeof(upperstr_t));
- --ppp_count;
-
- return 0;
-}
-
-/*
- * A message from on high. We do one of three things:
- * - qreply()
- * - put the message on the lower write stream
- * - queue it for our service routine
- */
-static int
-pppuwput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *ppa, *nps;
- struct iocblk *iop;
- struct linkblk *lb;
-#ifdef LACHTCP
- struct ifreq *ifr;
- int i;
-#endif
- queue_t *lq;
- int error, n, sap;
- mblk_t *mq;
- struct ppp_idle *pip;
-#ifdef PRIOQ
- queue_t *tlq;
-#endif /* PRIOQ */
-#ifdef NO_DLPI
- upperstr_t *os;
-#endif
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppuwput: q_ptr = 0!\n");
- return 0;
- }
- if (mp == 0) {
- DPRINT1("pppuwput/%d: mp = 0!\n", us->mn);
- return 0;
- }
- if (mp->b_datap == 0) {
- DPRINT1("pppuwput/%d: mp->b_datap = 0!\n", us->mn);
- return 0;
- }
- switch (mp->b_datap->db_type) {
-#ifndef NO_DLPI
- case M_PCPROTO:
- case M_PROTO:
- dlpi_request(q, mp, us);
- break;
-#endif /* NO_DLPI */
-
- case M_DATA:
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: uwput M_DATA len=%d flags=%x\n",
- us->mn, msgdsize(mp), us->flags);
- if (us->ppa == 0 || msgdsize(mp) > us->ppa->mtu + PPP_HDRLEN
-#ifndef NO_DLPI
- || (us->flags & US_CONTROL) == 0
-#endif /* NO_DLPI */
- ) {
- DPRINT1("pppuwput: junk data len=%d\n", msgdsize(mp));
- freemsg(mp);
- break;
- }
-#ifdef NO_DLPI
- if ((us->flags & US_CONTROL) == 0 && !pass_packet(us, mp, 1))
- break;
-#endif
- if (!send_data(mp, us))
- putq(q, mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: ioctl %x count=%d\n",
- us->mn, iop->ioc_cmd, iop->ioc_count);
- switch (iop->ioc_cmd) {
-#if defined(SOL2)
- case DLIOCRAW: /* raw M_DATA mode */
- us->flags |= US_RAWDATA;
- error = 0;
- break;
-#endif /* defined(SOL2) */
- case I_LINK:
- if ((us->flags & US_CONTROL) == 0 || us->lowerq != 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl I_LINK b_cont = 0!\n", us->mn);
- break;
- }
- lb = (struct linkblk *) mp->b_cont->b_rptr;
- lq = lb->l_qbot;
- if (lq == 0) {
- DPRINT1("pppuwput/%d: ioctl I_LINK l_qbot = 0!\n", us->mn);
- break;
- }
- LOCK_LOWER_W;
- us->lowerq = lq;
- lq->q_ptr = (caddr_t) q;
- RD(lq)->q_ptr = (caddr_t) us->q;
- UNLOCK_LOWER;
- iop->ioc_count = 0;
- error = 0;
- us->flags &= ~US_LASTMOD;
- /* Unblock upper streams which now feed this lower stream. */
- qenable(q);
- /* Send useful information down to the modules which
- are now linked below us. */
- putctl2(lq, M_CTL, PPPCTL_UNIT, us->ppa_id);
- putctl4(lq, M_CTL, PPPCTL_MRU, us->mru);
- putctl4(lq, M_CTL, PPPCTL_MTU, us->mtu);
-#ifdef PRIOQ
- /* Lower tty driver's queue hiwat/lowat from default 4096/128
- to 256/128 since we don't want queueing of data on
- output to physical device */
-
- freezestr(lq);
- for (tlq = lq; tlq->q_next != NULL; tlq = tlq->q_next)
- ;
- strqset(tlq, QHIWAT, 0, 256);
- strqset(tlq, QLOWAT, 0, 128);
- unfreezestr(lq);
-#endif /* PRIOQ */
- break;
-
- case I_UNLINK:
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl I_UNLINK b_cont = 0!\n", us->mn);
- break;
- }
- lb = (struct linkblk *) mp->b_cont->b_rptr;
-#if DEBUG
- if (us->lowerq != lb->l_qbot) {
- DPRINT2("ppp unlink: lowerq=%x qbot=%x\n",
- us->lowerq, lb->l_qbot);
- break;
- }
-#endif
- iop->ioc_count = 0;
- qwriter(q, mp, detach_lower, PERIM_OUTER);
- error = -1;
- break;
-
- case PPPIO_NEWPPA:
- if (us->flags & US_CONTROL)
- break;
- if ((us->flags & US_PRIV) == 0) {
- error = EPERM;
- break;
- }
- /* Arrange to return an int */
- if ((mq = mp->b_cont) == 0
- || mq->b_datap->db_lim - mq->b_rptr < sizeof(int)) {
- mq = allocb(sizeof(int), BPRI_HI);
- if (mq == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = mq;
- mq->b_cont = 0;
- }
- iop->ioc_count = sizeof(int);
- mq->b_wptr = mq->b_rptr + sizeof(int);
- qwriter(q, mp, new_ppa, PERIM_OUTER);
- error = -1;
- break;
-
- case PPPIO_ATTACH:
- /* like dlpi_attach, for programs which can't write to
- the stream (like pppstats) */
- if (iop->ioc_count != sizeof(int) || us->ppa != 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_ATTACH b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
- if (ppa->ppa_id == n)
- break;
- if (ppa == 0)
- break;
- us->ppa = ppa;
- iop->ioc_count = 0;
- qwriter(q, mp, attach_ppa, PERIM_OUTER);
- error = -1;
- break;
-
-#ifdef NO_DLPI
- case PPPIO_BIND:
- /* Attach to a given SAP. */
- if (iop->ioc_count != sizeof(int) || us->ppa == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_BIND b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- /* n must be a valid PPP network protocol number. */
- if (n < 0x21 || n > 0x3fff || (n & 0x101) != 1)
- break;
- /* check that no other stream is bound to this sap already. */
- for (os = us->ppa; os != 0; os = os->next)
- if (os->sap == n)
- break;
- if (os != 0)
- break;
- us->sap = n;
- iop->ioc_count = 0;
- error = 0;
- break;
-#endif /* NO_DLPI */
-
- case PPPIO_MRU:
- if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_MRU b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n <= 0 || n > PPP_MAXMRU)
- break;
- if (n < PPP_MRU)
- n = PPP_MRU;
- us->mru = n;
- if (us->lowerq)
- putctl4(us->lowerq, M_CTL, PPPCTL_MRU, n);
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_MTU:
- if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_MTU b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n <= 0 || n > PPP_MAXMTU)
- break;
- us->mtu = n;
-#ifdef LACHTCP
- /* The MTU reported in netstat, not used as IP max packet size! */
- us->ifstats.ifs_mtu = n;
-#endif
- if (us->lowerq)
- putctl4(us->lowerq, M_CTL, PPPCTL_MTU, n);
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_LASTMOD:
- us->flags |= US_LASTMOD;
- error = 0;
- break;
-
- case PPPIO_DEBUG:
- if (iop->ioc_count != sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_DEBUG b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n == PPPDBG_DUMP + PPPDBG_DRIVER) {
- qwriter(q, NULL, debug_dump, PERIM_OUTER);
- iop->ioc_count = 0;
- error = -1;
- } else if (n == PPPDBG_LOG + PPPDBG_DRIVER) {
- DPRINT1("ppp/%d: debug log enabled\n", us->mn);
- us->flags |= US_DBGLOG;
- iop->ioc_count = 0;
- error = 0;
- } else {
- if (us->ppa == 0 || us->ppa->lowerq == 0)
- break;
- putnext(us->ppa->lowerq, mp);
- error = -1;
- }
- break;
-
- case PPPIO_NPMODE:
- if (iop->ioc_count != 2 * sizeof(int))
- break;
- if ((us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_NPMODE b_cont = 0!\n", us->mn);
- break;
- }
- sap = ((int *)mp->b_cont->b_rptr)[0];
- for (nps = us->next; nps != 0; nps = nps->next) {
- if (us->flags & US_DBGLOG)
- DPRINT2("us = 0x%x, us->next->sap = 0x%x\n", nps, nps->sap);
- if (nps->sap == sap)
- break;
- }
- if (nps == 0) {
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: no stream for sap %x\n", us->mn, sap);
- break;
- }
- /* XXX possibly should use qwriter here */
- nps->npmode = (enum NPmode) ((int *)mp->b_cont->b_rptr)[1];
- if (nps->npmode != NPMODE_QUEUE && (nps->flags & US_BLOCKED) != 0)
- qenable(WR(nps->q));
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_GIDLE:
- if ((ppa = us->ppa) == 0)
- break;
- mq = allocb(sizeof(struct ppp_idle), BPRI_HI);
- if (mq == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = mq;
- mq->b_cont = 0;
- pip = (struct ppp_idle *) mq->b_wptr;
- pip->xmit_idle = time - ppa->last_sent;
- pip->recv_idle = time - ppa->last_recv;
- mq->b_wptr += sizeof(struct ppp_idle);
- iop->ioc_count = sizeof(struct ppp_idle);
- error = 0;
- break;
-
-#ifdef LACHTCP
- case SIOCSIFNAME:
- /* Sent from IP down to us. Attach the ifstats structure. */
- if (iop->ioc_count != sizeof(struct ifreq) || us->ppa == 0)
- break;
- ifr = (struct ifreq *)mp->b_cont->b_rptr;
- /* Find the unit number in the interface name. */
- for (i = 0; i < IFNAMSIZ; i++) {
- if (ifr->ifr_name[i] == 0 ||
- (ifr->ifr_name[i] >= '0' &&
- ifr->ifr_name[i] <= '9'))
- break;
- else
- us->ifname[i] = ifr->ifr_name[i];
- }
- us->ifname[i] = 0;
-
- /* Convert the unit number to binary. */
- for (n = 0; i < IFNAMSIZ; i++) {
- if (ifr->ifr_name[i] == 0) {
- break;
- }
- else {
- n = n * 10 + ifr->ifr_name[i] - '0';
- }
- }
-
- /* Verify the ppa. */
- if (us->ppa->ppa_id != n)
- break;
- ppa = us->ppa;
-
- /* Set up the netstat block. */
- strncpy (ppa->ifname, us->ifname, IFNAMSIZ);
-
- ppa->ifstats.ifs_name = ppa->ifname;
- ppa->ifstats.ifs_unit = n;
- ppa->ifstats.ifs_active = us->state != DL_UNBOUND;
- ppa->ifstats.ifs_mtu = ppa->mtu;
-
- /* Link in statistics used by netstat. */
- ppa->ifstats.ifs_next = ifstats;
- ifstats = &ppa->ifstats;
-
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case SIOCGIFFLAGS:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- ((struct iocblk_in *)iop)->ioc_ifflags = us->ifflags;
- error = 0;
- break;
-
- case SIOCSIFFLAGS:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- us->ifflags = ((struct iocblk_in *)iop)->ioc_ifflags;
- error = 0;
- break;
-
- case SIOCSIFADDR:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- us->ifflags |= IFF_RUNNING;
- ((struct iocblk_in *)iop)->ioc_ifflags |= IFF_RUNNING;
- error = 0;
- break;
-
- case SIOCSIFMTU:
- /*
- * Vanilla SVR4 systems don't handle SIOCSIFMTU, rather
- * they take the MTU from the DL_INFO_ACK we sent in response
- * to their DL_INFO_REQ. Fortunately, they will update the
- * MTU if we send an unsolicited DL_INFO_ACK up.
- */
- if ((mq = allocb(sizeof(dl_info_req_t), BPRI_HI)) == 0)
- break; /* should do bufcall */
- ((union DL_primitives *)mq->b_rptr)->dl_primitive = DL_INFO_REQ;
- mq->b_wptr = mq->b_rptr + sizeof(dl_info_req_t);
- dlpi_request(q, mq, us);
- error = 0;
- break;
-
- case SIOCGIFNETMASK:
- case SIOCSIFNETMASK:
- case SIOCGIFADDR:
- case SIOCGIFDSTADDR:
- case SIOCSIFDSTADDR:
- case SIOCGIFMETRIC:
- error = 0;
- break;
-#endif /* LACHTCP */
-
- default:
- if (us->ppa == 0 || us->ppa->lowerq == 0)
- break;
- us->ioc_id = iop->ioc_id;
- error = -1;
- switch (iop->ioc_cmd) {
- case PPPIO_GETSTAT:
- case PPPIO_GETCSTAT:
- if (us->flags & US_LASTMOD) {
- error = EINVAL;
- break;
- }
- putnext(us->ppa->lowerq, mp);
- break;
- default:
- if (us->flags & US_PRIV)
- putnext(us->ppa->lowerq, mp);
- else {
- DPRINT1("ppp ioctl %x rejected\n", iop->ioc_cmd);
- error = EPERM;
- }
- break;
- }
- break;
- }
-
- if (error > 0) {
- iop->ioc_error = error;
- mp->b_datap->db_type = M_IOCNAK;
- qreply(q, mp);
- } else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- }
- break;
-
- case M_FLUSH:
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: flush %x\n", us->mn, *mp->b_rptr);
- if (*mp->b_rptr & FLUSHW)
- flushq(q, FLUSHDATA);
- if (*mp->b_rptr & FLUSHR) {
- *mp->b_rptr &= ~FLUSHW;
- qreply(q, mp);
- } else
- freemsg(mp);
- break;
-
- default:
- freemsg(mp);
- break;
- }
- return 0;
-}
-
-#ifndef NO_DLPI
-static void
-dlpi_request(q, mp, us)
- queue_t *q;
- mblk_t *mp;
- upperstr_t *us;
-{
- union DL_primitives *d = (union DL_primitives *) mp->b_rptr;
- int size = mp->b_wptr - mp->b_rptr;
- mblk_t *reply, *np;
- upperstr_t *ppa, *os;
- int sap, len;
- dl_info_ack_t *info;
- dl_bind_ack_t *ackp;
-#if DL_CURRENT_VERSION >= 2
- dl_phys_addr_ack_t *paddrack;
- static struct ether_addr eaddr = {0};
-#endif
-
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: dlpi prim %x len=%d\n", us->mn,
- d->dl_primitive, size);
- switch (d->dl_primitive) {
- case DL_INFO_REQ:
- if (size < sizeof(dl_info_req_t))
- goto badprim;
- if ((reply = allocb(sizeof(dl_info_ack_t), BPRI_HI)) == 0)
- break; /* should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- info = (dl_info_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_info_ack_t);
- bzero((caddr_t) info, sizeof(dl_info_ack_t));
- info->dl_primitive = DL_INFO_ACK;
- info->dl_max_sdu = us->ppa? us->ppa->mtu: PPP_MAXMTU;
- info->dl_min_sdu = 1;
- info->dl_addr_length = sizeof(uint);
- info->dl_mac_type = DL_ETHER; /* a bigger lie */
- info->dl_current_state = us->state;
- info->dl_service_mode = DL_CLDLS;
- info->dl_provider_style = DL_STYLE2;
-#if DL_CURRENT_VERSION >= 2
- info->dl_sap_length = sizeof(uint);
- info->dl_version = DL_CURRENT_VERSION;
-#endif
- qreply(q, reply);
- break;
-
- case DL_ATTACH_REQ:
- if (size < sizeof(dl_attach_req_t))
- goto badprim;
- if (us->state != DL_UNATTACHED || us->ppa != 0) {
- dlpi_error(q, us, DL_ATTACH_REQ, DL_OUTSTATE, 0);
- break;
- }
- for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
- if (ppa->ppa_id == d->attach_req.dl_ppa)
- break;
- if (ppa == 0) {
- dlpi_error(q, us, DL_ATTACH_REQ, DL_BADPPA, 0);
- break;
- }
- us->ppa = ppa;
- qwriter(q, mp, attach_ppa, PERIM_OUTER);
- return;
-
- case DL_DETACH_REQ:
- if (size < sizeof(dl_detach_req_t))
- goto badprim;
- if (us->state != DL_UNBOUND || us->ppa == 0) {
- dlpi_error(q, us, DL_DETACH_REQ, DL_OUTSTATE, 0);
- break;
- }
- qwriter(q, mp, detach_ppa, PERIM_OUTER);
- return;
-
- case DL_BIND_REQ:
- if (size < sizeof(dl_bind_req_t))
- goto badprim;
- if (us->state != DL_UNBOUND || us->ppa == 0) {
- dlpi_error(q, us, DL_BIND_REQ, DL_OUTSTATE, 0);
- break;
- }
-#if 0
- /* apparently this test fails (unnecessarily?) on some systems */
- if (d->bind_req.dl_service_mode != DL_CLDLS) {
- dlpi_error(q, us, DL_BIND_REQ, DL_UNSUPPORTED, 0);
- break;
- }
-#endif
-
- /* saps must be valid PPP network protocol numbers,
- except that we accept ETHERTYPE_IP in place of PPP_IP. */
- sap = d->bind_req.dl_sap;
- us->req_sap = sap;
-
-#if defined(SOL2)
- if (us->flags & US_DBGLOG)
- DPRINT2("DL_BIND_REQ: ip gives sap = 0x%x, us = 0x%x", sap, us);
-
- if (sap == ETHERTYPE_IP) /* normal IFF_IPV4 */
- sap = PPP_IP;
- else if (sap == ETHERTYPE_IPV6) /* when IFF_IPV6 is set */
- sap = PPP_IPV6;
- else if (sap == ETHERTYPE_ALLSAP) /* snoop gives sap of 0 */
- sap = PPP_ALLSAP;
- else {
- DPRINT2("DL_BIND_REQ: unrecognized sap = 0x%x, us = 0x%x", sap, us);
- dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
- break;
- }
-#else
- if (sap == ETHERTYPE_IP)
- sap = PPP_IP;
- if (sap < 0x21 || sap > 0x3fff || (sap & 0x101) != 1) {
- dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
- break;
- }
-#endif /* defined(SOL2) */
-
- /* check that no other stream is bound to this sap already. */
- for (os = us->ppa; os != 0; os = os->next)
- if (os->sap == sap)
- break;
- if (os != 0) {
- dlpi_error(q, us, DL_BIND_REQ, DL_NOADDR, 0);
- break;
- }
-
- us->sap = sap;
- us->state = DL_IDLE;
-
- if ((reply = allocb(sizeof(dl_bind_ack_t) + sizeof(uint),
- BPRI_HI)) == 0)
- break; /* should do bufcall */
- ackp = (dl_bind_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_bind_ack_t) + sizeof(uint);
- reply->b_datap->db_type = M_PCPROTO;
- bzero((caddr_t) ackp, sizeof(dl_bind_ack_t));
- ackp->dl_primitive = DL_BIND_ACK;
- ackp->dl_sap = sap;
- ackp->dl_addr_length = sizeof(uint);
- ackp->dl_addr_offset = sizeof(dl_bind_ack_t);
- *(uint *)(ackp+1) = sap;
- qreply(q, reply);
- break;
-
- case DL_UNBIND_REQ:
- if (size < sizeof(dl_unbind_req_t))
- goto badprim;
- if (us->state != DL_IDLE) {
- dlpi_error(q, us, DL_UNBIND_REQ, DL_OUTSTATE, 0);
- break;
- }
- us->sap = -1;
- us->state = DL_UNBOUND;
-#ifdef LACHTCP
- us->ppa->ifstats.ifs_active = 0;
-#endif
- dlpi_ok(q, DL_UNBIND_REQ);
- break;
-
- case DL_UNITDATA_REQ:
- if (size < sizeof(dl_unitdata_req_t))
- goto badprim;
- if (us->state != DL_IDLE) {
- dlpi_error(q, us, DL_UNITDATA_REQ, DL_OUTSTATE, 0);
- break;
- }
- if ((ppa = us->ppa) == 0) {
- cmn_err(CE_CONT, "ppp: in state dl_idle but ppa == 0?\n");
- break;
- }
- len = mp->b_cont == 0? 0: msgdsize(mp->b_cont);
- if (len > ppa->mtu) {
- DPRINT2("dlpi data too large (%d > %d)\n", len, ppa->mtu);
- break;
- }
-
-#if defined(SOL2)
- /*
- * Should there be any promiscuous stream(s), send the data
- * up for each promiscuous stream that we recognize.
- */
- if (mp->b_cont)
- promisc_sendup(ppa, mp->b_cont, us->sap, 0);
-#endif /* defined(SOL2) */
-
- mp->b_band = 0;
-#ifdef PRIOQ
- /* Extract s_port & d_port from IP-packet, the code is a bit
- dirty here, but so am I, too... */
- if (mp->b_datap->db_type == M_PROTO && us->sap == PPP_IP
- && mp->b_cont != 0) {
- u_char *bb, *tlh;
- int iphlen, len;
- u_short *ptr;
- u_char band_unset, cur_band, syn;
- u_short s_port, d_port;
-
- bb = mp->b_cont->b_rptr; /* bb points to IP-header*/
- len = mp->b_cont->b_wptr - mp->b_cont->b_rptr;
- syn = 0;
- s_port = IPPORT_DEFAULT;
- d_port = IPPORT_DEFAULT;
- if (len >= 20) { /* 20 = minimum length of IP header */
- iphlen = (bb[0] & 0x0f) * 4;
- tlh = bb + iphlen;
- len -= iphlen;
- switch (bb[9]) {
- case IPPROTO_TCP:
- if (len >= 20) { /* min length of TCP header */
- s_port = (tlh[0] << 8) + tlh[1];
- d_port = (tlh[2] << 8) + tlh[3];
- syn = tlh[13] & 0x02;
- }
- break;
- case IPPROTO_UDP:
- if (len >= 8) { /* min length of UDP header */
- s_port = (tlh[0] << 8) + tlh[1];
- d_port = (tlh[2] << 8) + tlh[3];
- }
- break;
- }
- }
-
- /*
- * Now calculate b_band for this packet from the
- * port-priority table.
- */
- ptr = prioq_table;
- cur_band = max_band;
- band_unset = 1;
- while (*ptr) {
- while (*ptr && band_unset)
- if (s_port == *ptr || d_port == *ptr++) {
- mp->b_band = cur_band;
- band_unset = 0;
- break;
- }
- ptr++;
- cur_band--;
- }
- if (band_unset)
- mp->b_band = def_band;
- /* It may be usable to urge SYN packets a bit */
- if (syn)
- mp->b_band++;
- }
-#endif /* PRIOQ */
- /* this assumes PPP_HDRLEN <= sizeof(dl_unitdata_req_t) */
- if (mp->b_datap->db_ref > 1) {
- np = allocb(PPP_HDRLEN, BPRI_HI);
- if (np == 0)
- break; /* gak! */
- np->b_cont = mp->b_cont;
- mp->b_cont = 0;
- freeb(mp);
- mp = np;
- } else
- mp->b_datap->db_type = M_DATA;
- /* XXX should use dl_dest_addr_offset/length here,
- but we would have to translate ETHERTYPE_IP -> PPP_IP */
- mp->b_wptr = mp->b_rptr + PPP_HDRLEN;
- mp->b_rptr[0] = PPP_ALLSTATIONS;
- mp->b_rptr[1] = PPP_UI;
- mp->b_rptr[2] = us->sap >> 8;
- mp->b_rptr[3] = us->sap;
- if (pass_packet(us, mp, 1)) {
- if (!send_data(mp, us))
- putq(q, mp);
- }
- return;
-
-#if DL_CURRENT_VERSION >= 2
- case DL_PHYS_ADDR_REQ:
- if (size < sizeof(dl_phys_addr_req_t))
- goto badprim;
-
- /*
- * Don't check state because ifconfig sends this one down too
- */
-
- if ((reply = allocb(sizeof(dl_phys_addr_ack_t)+ETHERADDRL,
- BPRI_HI)) == 0)
- break; /* should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- paddrack = (dl_phys_addr_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_phys_addr_ack_t);
- bzero((caddr_t) paddrack, sizeof(dl_phys_addr_ack_t)+ETHERADDRL);
- paddrack->dl_primitive = DL_PHYS_ADDR_ACK;
- paddrack->dl_addr_length = ETHERADDRL;
- paddrack->dl_addr_offset = sizeof(dl_phys_addr_ack_t);
- bcopy(&eaddr, reply->b_wptr, ETHERADDRL);
- reply->b_wptr += ETHERADDRL;
- qreply(q, reply);
- break;
-
-#if defined(SOL2)
- case DL_PROMISCON_REQ:
- if (size < sizeof(dl_promiscon_req_t))
- goto badprim;
- us->flags |= US_PROMISC;
- dlpi_ok(q, DL_PROMISCON_REQ);
- break;
-
- case DL_PROMISCOFF_REQ:
- if (size < sizeof(dl_promiscoff_req_t))
- goto badprim;
- us->flags &= ~US_PROMISC;
- dlpi_ok(q, DL_PROMISCOFF_REQ);
- break;
-#else
- case DL_PROMISCON_REQ: /* fall thru */
- case DL_PROMISCOFF_REQ: /* fall thru */
-#endif /* defined(SOL2) */
-#endif /* DL_CURRENT_VERSION >= 2 */
-
-#if DL_CURRENT_VERSION >= 2
- case DL_SET_PHYS_ADDR_REQ:
- case DL_SUBS_BIND_REQ:
- case DL_SUBS_UNBIND_REQ:
- case DL_ENABMULTI_REQ:
- case DL_DISABMULTI_REQ:
- case DL_XID_REQ:
- case DL_TEST_REQ:
- case DL_REPLY_UPDATE_REQ:
- case DL_REPLY_REQ:
- case DL_DATA_ACK_REQ:
-#endif
- case DL_CONNECT_REQ:
- case DL_TOKEN_REQ:
- dlpi_error(q, us, d->dl_primitive, DL_NOTSUPPORTED, 0);
- break;
-
- case DL_CONNECT_RES:
- case DL_DISCONNECT_REQ:
- case DL_RESET_REQ:
- case DL_RESET_RES:
- dlpi_error(q, us, d->dl_primitive, DL_OUTSTATE, 0);
- break;
-
- case DL_UDQOS_REQ:
- dlpi_error(q, us, d->dl_primitive, DL_BADQOSTYPE, 0);
- break;
-
-#if DL_CURRENT_VERSION >= 2
- case DL_TEST_RES:
- case DL_XID_RES:
- break;
-#endif
-
- default:
- cmn_err(CE_CONT, "ppp: unknown dlpi prim 0x%x\n", d->dl_primitive);
- /* fall through */
- badprim:
- dlpi_error(q, us, d->dl_primitive, DL_BADPRIM, 0);
- break;
- }
- freemsg(mp);
-}
-
-static void
-dlpi_error(q, us, prim, err, uerr)
- queue_t *q;
- upperstr_t *us;
- int prim, err, uerr;
-{
- mblk_t *reply;
- dl_error_ack_t *errp;
-
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: dlpi error, prim=%x, err=%x\n", us->mn, prim, err);
- reply = allocb(sizeof(dl_error_ack_t), BPRI_HI);
- if (reply == 0)
- return; /* XXX should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- errp = (dl_error_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_error_ack_t);
- errp->dl_primitive = DL_ERROR_ACK;
- errp->dl_error_primitive = prim;
- errp->dl_errno = err;
- errp->dl_unix_errno = uerr;
- qreply(q, reply);
-}
-
-static void
-dlpi_ok(q, prim)
- queue_t *q;
- int prim;
-{
- mblk_t *reply;
- dl_ok_ack_t *okp;
-
- reply = allocb(sizeof(dl_ok_ack_t), BPRI_HI);
- if (reply == 0)
- return; /* XXX should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- okp = (dl_ok_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_ok_ack_t);
- okp->dl_primitive = DL_OK_ACK;
- okp->dl_correct_primitive = prim;
- qreply(q, reply);
-}
-#endif /* NO_DLPI */
-
-static int
-pass_packet(us, mp, outbound)
- upperstr_t *us;
- mblk_t *mp;
- int outbound;
-{
- int pass;
- upperstr_t *ppa;
-
- if ((ppa = us->ppa) == 0) {
- freemsg(mp);
- return 0;
- }
-
-#ifdef FILTER_PACKETS
- pass = ip_hard_filter(us, mp, outbound);
-#else
- /*
- * Here is where we might, in future, decide whether to pass
- * or drop the packet, and whether it counts as link activity.
- */
- pass = 1;
-#endif /* FILTER_PACKETS */
-
- if (pass < 0) {
- /* pass only if link already up, and don't update time */
- if (ppa->lowerq == 0) {
- freemsg(mp);
- return 0;
- }
- pass = 1;
- } else if (pass) {
- if (outbound)
- ppa->last_sent = time;
- else
- ppa->last_recv = time;
- }
-
- return pass;
-}
-
-/*
- * We have some data to send down to the lower stream (or up the
- * control stream, if we don't have a lower stream attached).
- * Returns 1 if the message was dealt with, 0 if it wasn't able
- * to be sent on and should therefore be queued up.
- */
-static int
-send_data(mp, us)
- mblk_t *mp;
- upperstr_t *us;
-{
- upperstr_t *ppa;
-
- if ((us->flags & US_BLOCKED) || us->npmode == NPMODE_QUEUE)
- return 0;
- ppa = us->ppa;
- if (ppa == 0 || us->npmode == NPMODE_DROP || us->npmode == NPMODE_ERROR) {
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: dropping pkt (npmode=%d)\n", us->mn, us->npmode);
- freemsg(mp);
- return 1;
- }
- if (ppa->lowerq == 0) {
- /* try to send it up the control stream */
- if (bcanputnext(ppa->q, mp->b_band)) {
- /*
- * The message seems to get corrupted for some reason if
- * we just send the message up as it is, so we send a copy.
- */
- mblk_t *np = copymsg(mp);
- freemsg(mp);
- if (np != 0)
- putnext(ppa->q, np);
- return 1;
- }
- } else {
- if (bcanputnext(ppa->lowerq, mp->b_band)) {
- MT_ENTER(&ppa->stats_lock);
- ppa->stats.ppp_opackets++;
- ppa->stats.ppp_obytes += msgdsize(mp);
-#ifdef INCR_OPACKETS
- INCR_OPACKETS(ppa);
-#endif
- MT_EXIT(&ppa->stats_lock);
- /*
- * The lower queue is only ever detached while holding an
- * exclusive lock on the whole driver. So we can be confident
- * that the lower queue is still there.
- */
- putnext(ppa->lowerq, mp);
- return 1;
- }
- }
- us->flags |= US_BLOCKED;
- return 0;
-}
-
-/*
- * Allocate a new PPA id and link this stream into the list of PPAs.
- * This procedure is called with an exclusive lock on all queues in
- * this driver.
- */
-static void
-new_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *up, **usp;
- int ppa_id;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("new_ppa: q_ptr = 0!\n");
- return;
- }
-
- usp = &ppas;
- ppa_id = 0;
- while ((up = *usp) != 0 && ppa_id == up->ppa_id) {
- ++ppa_id;
- usp = &up->nextppa;
- }
- us->ppa_id = ppa_id;
- us->ppa = us;
- us->next = 0;
- us->nextppa = *usp;
- *usp = us;
- us->flags |= US_CONTROL;
- us->npmode = NPMODE_PASS;
-
- us->mtu = PPP_MTU;
- us->mru = PPP_MRU;
-
-#ifdef SOL2
- /*
- * Create a kstats record for our statistics, so netstat -i works.
- */
- if (us->kstats == 0) {
- char unit[32];
-
- sprintf(unit, "ppp%d", us->ppa->ppa_id);
- us->kstats = kstat_create("ppp", us->ppa->ppa_id, unit,
- "net", KSTAT_TYPE_NAMED, 4, 0);
- if (us->kstats != 0) {
- kstat_named_t *kn = KSTAT_NAMED_PTR(us->kstats);
-
- strcpy(kn[0].name, "ipackets");
- kn[0].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[1].name, "ierrors");
- kn[1].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[2].name, "opackets");
- kn[2].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[3].name, "oerrors");
- kn[3].data_type = KSTAT_DATA_ULONG;
- kstat_install(us->kstats);
- }
- }
-#endif /* SOL2 */
-
- *(int *)mp->b_cont->b_rptr = ppa_id;
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-static void
-attach_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *t;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("attach_ppa: q_ptr = 0!\n");
- return;
- }
-
-#ifndef NO_DLPI
- us->state = DL_UNBOUND;
-#endif
- for (t = us->ppa; t->next != 0; t = t->next)
- ;
- t->next = us;
- us->next = 0;
- if (mp->b_datap->db_type == M_IOCTL) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
-#ifndef NO_DLPI
- dlpi_ok(q, DL_ATTACH_REQ);
-#endif
- }
-}
-
-static void
-detach_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *t;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("detach_ppa: q_ptr = 0!\n");
- return;
- }
-
- for (t = us->ppa; t->next != 0; t = t->next)
- if (t->next == us) {
- t->next = us->next;
- break;
- }
- us->next = 0;
- us->ppa = 0;
-#ifndef NO_DLPI
- us->state = DL_UNATTACHED;
- dlpi_ok(q, DL_DETACH_REQ);
-#endif
-}
-
-/*
- * We call this with qwriter in order to give the upper queue procedures
- * the guarantee that the lower queue is not going to go away while
- * they are executing.
- */
-static void
-detach_lower(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("detach_lower: q_ptr = 0!\n");
- return;
- }
-
- LOCK_LOWER_W;
- us->lowerq->q_ptr = 0;
- RD(us->lowerq)->q_ptr = 0;
- us->lowerq = 0;
- UNLOCK_LOWER;
-
- /* Unblock streams which now feed back up the control stream. */
- qenable(us->q);
-
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-static int
-pppuwsrv(q)
- queue_t *q;
-{
- upperstr_t *us, *as;
- mblk_t *mp;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppuwsrv: q_ptr = 0!\n");
- return 0;
- }
-
- /*
- * If this is a control stream, then this service procedure
- * probably got enabled because of flow control in the lower
- * stream being enabled (or because of the lower stream going
- * away). Therefore we enable the service procedure of all
- * attached upper streams.
- */
- if (us->flags & US_CONTROL) {
- for (as = us->next; as != 0; as = as->next)
- qenable(WR(as->q));
- }
-
- /* Try to send on any data queued here. */
- us->flags &= ~US_BLOCKED;
- while ((mp = getq(q)) != 0) {
- if (!send_data(mp, us)) {
- putbq(q, mp);
- break;
- }
- }
-
- return 0;
-}
-
-/* should never get called... */
-static int
-ppplwput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- putnext(q, mp);
- return 0;
-}
-
-static int
-ppplwsrv(q)
- queue_t *q;
-{
- queue_t *uq;
-
- /*
- * Flow control has back-enabled this stream:
- * enable the upper write service procedure for
- * the upper control stream for this lower stream.
- */
- LOCK_LOWER_R;
- uq = (queue_t *) q->q_ptr;
- if (uq != 0)
- qenable(uq);
- UNLOCK_LOWER;
- return 0;
-}
-
-/*
- * This should only get called for control streams.
- */
-static int
-pppurput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *ppa, *us;
- int proto, len;
- struct iocblk *iop;
-
- ppa = (upperstr_t *) q->q_ptr;
- if (ppa == 0) {
- DPRINT("pppurput: q_ptr = 0!\n");
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_CTL:
- MT_ENTER(&ppa->stats_lock);
- switch (*mp->b_rptr) {
- case PPPCTL_IERROR:
-#ifdef INCR_IERRORS
- INCR_IERRORS(ppa);
-#endif
- ppa->stats.ppp_ierrors++;
- break;
- case PPPCTL_OERROR:
-#ifdef INCR_OERRORS
- INCR_OERRORS(ppa);
-#endif
- ppa->stats.ppp_oerrors++;
- break;
- }
- MT_EXIT(&ppa->stats_lock);
- freemsg(mp);
- break;
-
- case M_IOCACK:
- case M_IOCNAK:
- /*
- * Attempt to match up the response with the stream
- * that the request came from.
- */
- iop = (struct iocblk *) mp->b_rptr;
- for (us = ppa; us != 0; us = us->next)
- if (us->ioc_id == iop->ioc_id)
- break;
- if (us == 0)
- freemsg(mp);
- else
- putnext(us->q, mp);
- break;
-
- case M_HANGUP:
- /*
- * The serial device has hung up. We don't want to send
- * the M_HANGUP message up to pppd because that will stop
- * us from using the control stream any more. Instead we
- * send a zero-length message as an end-of-file indication.
- */
- freemsg(mp);
- mp = allocb(1, BPRI_HI);
- if (mp == 0) {
- DPRINT1("ppp/%d: couldn't allocate eof message!\n", ppa->mn);
- break;
- }
- putnext(ppa->q, mp);
- break;
-
- default:
- if (mp->b_datap->db_type == M_DATA) {
- len = msgdsize(mp);
- if (mp->b_wptr - mp->b_rptr < PPP_HDRLEN) {
- PULLUP(mp, PPP_HDRLEN);
- if (mp == 0) {
- DPRINT1("ppp_urput: msgpullup failed (len=%d)\n", len);
- break;
- }
- }
- MT_ENTER(&ppa->stats_lock);
- ppa->stats.ppp_ipackets++;
- ppa->stats.ppp_ibytes += len;
-#ifdef INCR_IPACKETS
- INCR_IPACKETS(ppa);
-#endif
- MT_EXIT(&ppa->stats_lock);
-
- proto = PPP_PROTOCOL(mp->b_rptr);
-
-#if defined(SOL2)
- /*
- * Should there be any promiscuous stream(s), send the data
- * up for each promiscuous stream that we recognize.
- */
- promisc_sendup(ppa, mp, proto, 1);
-#endif /* defined(SOL2) */
-
- if (proto < 0x8000 && (us = find_dest(ppa, proto)) != 0) {
- /*
- * A data packet for some network protocol.
- * Queue it on the upper stream for that protocol.
- * XXX could we just putnext it? (would require thought)
- * The rblocked flag is there to ensure that we keep
- * messages in order for each network protocol.
- */
- if (!pass_packet(us, mp, 0))
- break;
- if (!us->rblocked && !canput(us->q))
- us->rblocked = 1;
- if (!us->rblocked)
- putq(us->q, mp);
- else
- putq(q, mp);
- break;
- }
- }
- /*
- * A control frame, a frame for an unknown protocol,
- * or some other message type.
- * Send it up to pppd via the control stream.
- */
- if (queclass(mp) == QPCTL || canputnext(ppa->q))
- putnext(ppa->q, mp);
- else
- putq(q, mp);
- break;
- }
-
- return 0;
-}
-
-static int
-pppursrv(q)
- queue_t *q;
-{
- upperstr_t *us, *as;
- mblk_t *mp, *hdr;
-#ifndef NO_DLPI
- dl_unitdata_ind_t *ud;
-#endif
- int proto;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppursrv: q_ptr = 0!\n");
- return 0;
- }
-
- if (us->flags & US_CONTROL) {
- /*
- * A control stream.
- * If there is no lower queue attached, run the write service
- * routines of other upper streams attached to this PPA.
- */
- if (us->lowerq == 0) {
- as = us;
- do {
- if (as->flags & US_BLOCKED)
- qenable(WR(as->q));
- as = as->next;
- } while (as != 0);
- }
-
- /*
- * Messages get queued on this stream's read queue if they
- * can't be queued on the read queue of the attached stream
- * that they are destined for. This is for flow control -
- * when this queue fills up, the lower read put procedure will
- * queue messages there and the flow control will propagate
- * down from there.
- */
- while ((mp = getq(q)) != 0) {
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto < 0x8000 && (as = find_dest(us, proto)) != 0) {
- if (!canput(as->q))
- break;
- putq(as->q, mp);
- } else {
- if (!canputnext(q))
- break;
- putnext(q, mp);
- }
- }
- if (mp) {
- putbq(q, mp);
- } else {
- /* can now put stuff directly on network protocol streams again */
- for (as = us->next; as != 0; as = as->next)
- as->rblocked = 0;
- }
-
- /*
- * If this stream has a lower stream attached,
- * enable the read queue's service routine.
- * XXX we should really only do this if the queue length
- * has dropped below the low-water mark.
- */
- if (us->lowerq != 0)
- qenable(RD(us->lowerq));
-
- } else {
- /*
- * A network protocol stream. Put a DLPI header on each
- * packet and send it on.
- * (Actually, it seems that the IP module will happily
- * accept M_DATA messages without the DL_UNITDATA_IND header.)
- */
- while ((mp = getq(q)) != 0) {
- if (!canputnext(q)) {
- putbq(q, mp);
- break;
- }
-#ifndef NO_DLPI
- proto = PPP_PROTOCOL(mp->b_rptr);
- mp->b_rptr += PPP_HDRLEN;
- hdr = allocb(sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint),
- BPRI_MED);
- if (hdr == 0) {
- /* XXX should put it back and use bufcall */
- freemsg(mp);
- continue;
- }
- hdr->b_datap->db_type = M_PROTO;
- ud = (dl_unitdata_ind_t *) hdr->b_wptr;
- hdr->b_wptr += sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint);
- hdr->b_cont = mp;
- ud->dl_primitive = DL_UNITDATA_IND;
- ud->dl_dest_addr_length = sizeof(uint);
- ud->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
- ud->dl_src_addr_length = sizeof(uint);
- ud->dl_src_addr_offset = ud->dl_dest_addr_offset + sizeof(uint);
-#if DL_CURRENT_VERSION >= 2
- ud->dl_group_address = 0;
-#endif
- /* Send the DLPI client the data with the SAP they requested,
- (e.g. ETHERTYPE_IP) rather than the PPP protocol number
- (e.g. PPP_IP) */
- ((uint *)(ud + 1))[0] = us->req_sap; /* dest SAP */
- ((uint *)(ud + 1))[1] = us->req_sap; /* src SAP */
- putnext(q, hdr);
-#else /* NO_DLPI */
- putnext(q, mp);
-#endif /* NO_DLPI */
- }
- /*
- * Now that we have consumed some packets from this queue,
- * enable the control stream's read service routine so that we
- * can process any packets for us that might have got queued
- * there for flow control reasons.
- */
- if (us->ppa)
- qenable(us->ppa->q);
- }
-
- return 0;
-}
-
-static upperstr_t *
-find_dest(ppa, proto)
- upperstr_t *ppa;
- int proto;
-{
- upperstr_t *us;
-
- for (us = ppa->next; us != 0; us = us->next)
- if (proto == us->sap)
- break;
- return us;
-}
-
-#if defined (SOL2)
-/*
- * Test upstream promiscuous conditions. As of now, only pass IPv4 and
- * Ipv6 packets upstream (let PPP packets be decoded elsewhere).
- */
-static upperstr_t *
-find_promisc(us, proto)
- upperstr_t *us;
- int proto;
-{
-
- if ((proto != PPP_IP) && (proto != PPP_IPV6))
- return (upperstr_t *)0;
-
- for ( ; us; us = us->next) {
- if ((us->flags & US_PROMISC) && (us->state == DL_IDLE))
- return us;
- }
-
- return (upperstr_t *)0;
-}
-
-/*
- * Prepend an empty Ethernet header to msg for snoop, et al.
- */
-static mblk_t *
-prepend_ether(us, mp, proto)
- upperstr_t *us;
- mblk_t *mp;
- int proto;
-{
- mblk_t *eh;
- int type;
-
- if ((eh = allocb(sizeof(struct ether_header), BPRI_HI)) == 0) {
- freemsg(mp);
- return (mblk_t *)0;
- }
-
- if (proto == PPP_IP)
- type = ETHERTYPE_IP;
- else if (proto == PPP_IPV6)
- type = ETHERTYPE_IPV6;
- else
- type = proto; /* What else? Let decoder decide */
-
- eh->b_wptr += sizeof(struct ether_header);
- bzero((caddr_t)eh->b_rptr, sizeof(struct ether_header));
- ((struct ether_header *)eh->b_rptr)->ether_type = htons((short)type);
- eh->b_cont = mp;
- return (eh);
-}
-
-/*
- * Prepend DL_UNITDATA_IND mblk to msg
- */
-static mblk_t *
-prepend_udind(us, mp, proto)
- upperstr_t *us;
- mblk_t *mp;
- int proto;
-{
- dl_unitdata_ind_t *dlu;
- mblk_t *dh;
- size_t size;
-
- size = sizeof(dl_unitdata_ind_t);
- if ((dh = allocb(size, BPRI_MED)) == 0) {
- freemsg(mp);
- return (mblk_t *)0;
- }
-
- dh->b_datap->db_type = M_PROTO;
- dh->b_wptr = dh->b_datap->db_lim;
- dh->b_rptr = dh->b_wptr - size;
-
- dlu = (dl_unitdata_ind_t *)dh->b_rptr;
- dlu->dl_primitive = DL_UNITDATA_IND;
- dlu->dl_dest_addr_length = 0;
- dlu->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
- dlu->dl_src_addr_length = 0;
- dlu->dl_src_addr_offset = sizeof(dl_unitdata_ind_t);
- dlu->dl_group_address = 0;
-
- dh->b_cont = mp;
- return (dh);
-}
-
-/*
- * For any recognized promiscuous streams, send data upstream
- */
-static void
-promisc_sendup(ppa, mp, proto, skip)
- upperstr_t *ppa;
- mblk_t *mp;
- int proto, skip;
-{
- mblk_t *dup_mp, *dup_dup_mp;
- upperstr_t *prus, *nprus;
-
- if ((prus = find_promisc(ppa, proto)) != 0) {
- if (dup_mp = dupmsg(mp)) {
-
- if (skip)
- dup_mp->b_rptr += PPP_HDRLEN;
-
- for ( ; nprus = find_promisc(prus->next, proto);
- prus = nprus) {
-
- if (dup_dup_mp = dupmsg(dup_mp)) {
- if (canputnext(prus->q)) {
- if (prus->flags & US_RAWDATA) {
- dup_dup_mp = prepend_ether(prus, dup_dup_mp, proto);
- putnext(prus->q, dup_dup_mp);
- } else {
- dup_dup_mp = prepend_udind(prus, dup_dup_mp, proto);
- putnext(prus->q, dup_dup_mp);
- }
- } else {
- DPRINT("ppp_urput: data to promisc q dropped\n");
- freemsg(dup_dup_mp);
- }
- }
- }
-
- if (canputnext(prus->q)) {
- if (prus->flags & US_RAWDATA) {
- dup_mp = prepend_ether(prus, dup_mp, proto);
- putnext(prus->q, dup_mp);
- } else {
- dup_mp = prepend_udind(prus, dup_mp, proto);
- putnext(prus->q, dup_mp);
- }
- } else {
- DPRINT("ppp_urput: data to promisc q dropped\n");
- freemsg(dup_mp);
- }
- }
- }
-}
-#endif /* defined(SOL2) */
-
-/*
- * We simply put the message on to the associated upper control stream
- * (either here or in ppplrsrv). That way we enter the perimeters
- * before looking through the list of attached streams to decide which
- * stream it should go up.
- */
-static int
-ppplrput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- queue_t *uq;
- struct iocblk *iop;
-
- switch (mp->b_datap->db_type) {
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- iop->ioc_error = EINVAL;
- mp->b_datap->db_type = M_IOCNAK;
- qreply(q, mp);
- return 0;
- case M_FLUSH:
- if (*mp->b_rptr & FLUSHR)
- flushq(q, FLUSHDATA);
- if (*mp->b_rptr & FLUSHW) {
- *mp->b_rptr &= ~FLUSHR;
- qreply(q, mp);
- } else
- freemsg(mp);
- return 0;
- }
-
- /*
- * If we can't get the lower lock straight away, queue this one
- * rather than blocking, to avoid the possibility of deadlock.
- */
- if (!TRYLOCK_LOWER_R) {
- putq(q, mp);
- return 0;
- }
-
- /*
- * Check that we're still connected to the driver.
- */
- uq = (queue_t *) q->q_ptr;
- if (uq == 0) {
- UNLOCK_LOWER;
- DPRINT1("ppplrput: q = %x, uq = 0??\n", q);
- freemsg(mp);
- return 0;
- }
-
- /*
- * Try to forward the message to the put routine for the upper
- * control stream for this lower stream.
- * If there are already messages queued here, queue this one so
- * they don't get out of order.
- */
- if (queclass(mp) == QPCTL || (qsize(q) == 0 && canput(uq)))
- put(uq, mp);
- else
- putq(q, mp);
-
- UNLOCK_LOWER;
- return 0;
-}
-
-static int
-ppplrsrv(q)
- queue_t *q;
-{
- mblk_t *mp;
- queue_t *uq;
-
- /*
- * Packets get queued here for flow control reasons
- * or if the lrput routine couldn't get the lower lock
- * without blocking.
- */
- LOCK_LOWER_R;
- uq = (queue_t *) q->q_ptr;
- if (uq == 0) {
- UNLOCK_LOWER;
- flushq(q, FLUSHALL);
- DPRINT1("ppplrsrv: q = %x, uq = 0??\n", q);
- return 0;
- }
- while ((mp = getq(q)) != 0) {
- if (queclass(mp) == QPCTL || canput(uq))
- put(uq, mp);
- else {
- putbq(q, mp);
- break;
- }
- }
- UNLOCK_LOWER;
- return 0;
-}
-
-static int
-putctl2(q, type, code, val)
- queue_t *q;
- int type, code, val;
-{
- mblk_t *mp;
-
- mp = allocb(2, BPRI_HI);
- if (mp == 0)
- return 0;
- mp->b_datap->db_type = type;
- mp->b_wptr[0] = code;
- mp->b_wptr[1] = val;
- mp->b_wptr += 2;
- putnext(q, mp);
- return 1;
-}
-
-static int
-putctl4(q, type, code, val)
- queue_t *q;
- int type, code, val;
-{
- mblk_t *mp;
-
- mp = allocb(4, BPRI_HI);
- if (mp == 0)
- return 0;
- mp->b_datap->db_type = type;
- mp->b_wptr[0] = code;
- ((short *)mp->b_wptr)[1] = val;
- mp->b_wptr += 4;
- putnext(q, mp);
- return 1;
-}
-
-static void
-debug_dump(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us;
- queue_t *uq, *lq;
-
- DPRINT("ppp upper streams:\n");
- for (us = minor_devs; us != 0; us = us->nextmn) {
- uq = us->q;
- DPRINT3(" %d: q=%x rlev=%d",
- us->mn, uq, (uq? qsize(uq): 0));
- DPRINT3(" wlev=%d flags=0x%b", (uq? qsize(WR(uq)): 0),
- us->flags, "\020\1priv\2control\3blocked\4last");
- DPRINT3(" state=%x sap=%x req_sap=%x", us->state, us->sap,
- us->req_sap);
- if (us->ppa == 0)
- DPRINT(" ppa=?\n");
- else
- DPRINT1(" ppa=%d\n", us->ppa->ppa_id);
- if (us->flags & US_CONTROL) {
- lq = us->lowerq;
- DPRINT3(" control for %d lq=%x rlev=%d",
- us->ppa_id, lq, (lq? qsize(RD(lq)): 0));
- DPRINT3(" wlev=%d mru=%d mtu=%d\n",
- (lq? qsize(lq): 0), us->mru, us->mtu);
- }
- }
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-#ifdef FILTER_PACKETS
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/udp.h>
-#include <netinet/tcp.h>
-
-#define MAX_IPHDR 128 /* max TCP/IP header size */
-
-
-/* The following table contains a hard-coded list of protocol/port pairs.
- * Any matching packets are either discarded unconditionally, or,
- * if ok_if_link_up is non-zero when a connection does not currently exist
- * (i.e., they go through if the connection is present, but never initiate
- * a dial-out).
- * This idea came from a post by dm@garage.uun.org (David Mazieres)
- */
-static struct pktfilt_tab {
- int proto;
- u_short port;
- u_short ok_if_link_up;
-} pktfilt_tab[] = {
- { IPPROTO_UDP, 520, 1 }, /* RIP, ok to pass if link is up */
- { IPPROTO_UDP, 123, 1 }, /* NTP, don't keep up the link for it */
- { -1, 0, 0 } /* terminator entry has port == -1 */
-};
-
-
-static int
-ip_hard_filter(us, mp, outbound)
- upperstr_t *us;
- mblk_t *mp;
- int outbound;
-{
- struct ip *ip;
- struct pktfilt_tab *pft;
- mblk_t *temp_mp;
- int proto;
- int len, hlen;
-
-
- /* Note, the PPP header has already been pulled up in all cases */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: filter, proto=0x%x, out=%d\n", us->mn, proto, outbound);
-
- switch (proto)
- {
- case PPP_IP:
- if ((mp->b_wptr - mp->b_rptr) == PPP_HDRLEN && mp->b_cont != 0) {
- temp_mp = mp->b_cont;
- len = msgdsize(temp_mp);
- hlen = (len < MAX_IPHDR) ? len : MAX_IPHDR;
- PULLUP(temp_mp, hlen);
- if (temp_mp == 0) {
- DPRINT2("ppp/%d: filter, pullup next failed, len=%d\n",
- us->mn, hlen);
- mp->b_cont = 0; /* PULLUP() freed the rest */
- freemsg(mp);
- return 0;
- }
- ip = (struct ip *)mp->b_cont->b_rptr;
- }
- else {
- len = msgdsize(mp);
- hlen = (len < (PPP_HDRLEN+MAX_IPHDR)) ? len : (PPP_HDRLEN+MAX_IPHDR);
- PULLUP(mp, hlen);
- if (mp == 0) {
- DPRINT2("ppp/%d: filter, pullup failed, len=%d\n",
- us->mn, hlen);
- return 0;
- }
- ip = (struct ip *)(mp->b_rptr + PPP_HDRLEN);
- }
-
- /* For IP traffic, certain packets (e.g., RIP) may be either
- * 1. ignored - dropped completely
- * 2. will not initiate a connection, but
- * will be passed if a connection is currently up.
- */
- for (pft=pktfilt_tab; pft->proto != -1; pft++) {
- if (ip->ip_p == pft->proto) {
- switch(pft->proto) {
- case IPPROTO_UDP:
- if (((struct udphdr *) &((int *)ip)[ip->ip_hl])->uh_dport
- == htons(pft->port)) goto endfor;
- break;
- case IPPROTO_TCP:
- if (((struct tcphdr *) &((int *)ip)[ip->ip_hl])->th_dport
- == htons(pft->port)) goto endfor;
- break;
- }
- }
- }
- endfor:
- if (pft->proto != -1) {
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: found IP pkt, proto=0x%x (%d)\n",
- us->mn, pft->proto, pft->port);
- /* Discard if not connected, or if not pass_with_link_up */
- /* else, if link is up let go by, but don't update time */
- return pft->ok_if_link_up? -1: 0;
- }
- break;
- } /* end switch (proto) */
-
- return 1;
-}
-#endif /* FILTER_PACKETS */
-
diff --git a/mdk-stage1/ppp/modules/ppp_ahdlc.c b/mdk-stage1/ppp/modules/ppp_ahdlc.c
deleted file mode 100644
index d0b961258..000000000
--- a/mdk-stage1/ppp/modules/ppp_ahdlc.c
+++ /dev/null
@@ -1,878 +0,0 @@
-/*
- * ppp_ahdlc.c - STREAMS module for doing PPP asynchronous HDLC.
- *
- * Re-written by Adi Masputra <adi.masputra@sun.com>, based on
- * the original ppp_ahdlc.c
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies.
- *
- * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
- */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stream.h>
-#include <sys/errno.h>
-
-#ifdef SVR4
-#include <sys/conf.h>
-#include <sys/kmem.h>
-#include <sys/cmn_err.h>
-#include <sys/ddi.h>
-#else
-#include <sys/user.h>
-#ifdef __osf__
-#include <sys/cmn_err.h>
-#endif
-#endif /* SVR4 */
-
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-/*
- * Right now, mutex is only enabled for Solaris 2.x
- */
-#if defined(SOL2)
-#define USE_MUTEX
-#endif /* SOL2 */
-
-/*
- * intpointer_t and uintpointer_t are signed and unsigned integer types
- * large enough to hold any data pointer; that is, data pointers can be
- * assigned into or from these integer types without losing precision.
- * On recent Solaris releases, these types are defined in sys/int_types.h,
- * but not on SunOS 4.x or the earlier Solaris versions.
- */
-#if defined(_LP64) || defined(_I32LPx)
-typedef long intpointer_t;
-typedef unsigned long uintpointer_t;
-#else
-typedef int intpointer_t;
-typedef unsigned int uintpointer_t;
-#endif
-
-MOD_OPEN_DECL(ahdlc_open);
-MOD_CLOSE_DECL(ahdlc_close);
-static int ahdlc_wput __P((queue_t *, mblk_t *));
-static int ahdlc_rput __P((queue_t *, mblk_t *));
-static void ahdlc_encode __P((queue_t *, mblk_t *));
-static void ahdlc_decode __P((queue_t *, mblk_t *));
-static int msg_byte __P((mblk_t *, unsigned int));
-
-#if defined(SOL2)
-/*
- * Don't send HDLC start flag is last transmit is within 1.5 seconds -
- * FLAG_TIME is defined is microseconds
- */
-#define FLAG_TIME 1500
-#define ABS(x) (x >= 0 ? x : (-x))
-#endif /* SOL2 */
-
-/*
- * Extract byte i of message mp
- */
-#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
- msg_byte((mp), (i)))
-
-/*
- * Is this LCP packet one we have to transmit using LCP defaults?
- */
-#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
-
-/*
- * Standard STREAMS declarations
- */
-static struct module_info minfo = {
- 0x7d23, "ppp_ahdl", 0, INFPSZ, 32768, 512
-};
-
-static struct qinit rinit = {
- ahdlc_rput, NULL, ahdlc_open, ahdlc_close, NULL, &minfo, NULL
-};
-
-static struct qinit winit = {
- ahdlc_wput, NULL, NULL, NULL, NULL, &minfo, NULL
-};
-
-#if defined(SVR4) && !defined(SOL2)
-int phdldevflag = 0;
-#define ppp_ahdlcinfo phdlinfo
-#endif /* defined(SVR4) && !defined(SOL2) */
-
-struct streamtab ppp_ahdlcinfo = {
- &rinit, /* ptr to st_rdinit */
- &winit, /* ptr to st_wrinit */
- NULL, /* ptr to st_muxrinit */
- NULL, /* ptr to st_muxwinit */
-#if defined(SUNOS4)
- NULL /* ptr to ptr to st_modlist */
-#endif /* SUNOS4 */
-};
-
-#if defined(SUNOS4)
-int ppp_ahdlc_count = 0; /* open counter */
-#endif /* SUNOS4 */
-
-/*
- * Per-stream state structure
- */
-typedef struct ahdlc_state {
-#if defined(USE_MUTEX)
- kmutex_t lock; /* lock for this structure */
-#endif /* USE_MUTEX */
- int flags; /* link flags */
- mblk_t *rx_buf; /* ptr to receive buffer */
- int rx_buf_size; /* receive buffer size */
- ushort_t infcs; /* calculated rx HDLC FCS */
- u_int32_t xaccm[8]; /* 256-bit xmit ACCM */
- u_int32_t raccm; /* 32-bit rcv ACCM */
- int mtu; /* interface MTU */
- int mru; /* link MRU */
- int unit; /* current PPP unit number */
- struct pppstat stats; /* statistic structure */
-#if defined(SOL2)
- clock_t flag_time; /* time in usec between flags */
- clock_t lbolt; /* last updated lbolt */
-#endif /* SOL2 */
-} ahdlc_state_t;
-
-/*
- * Values for flags
- */
-#define ESCAPED 0x100 /* last saw escape char on input */
-#define IFLUSH 0x200 /* flushing input due to error */
-
-/*
- * RCV_B7_1, etc., defined in net/pppio.h, are stored in flags also.
- */
-#define RCV_FLAGS (RCV_B7_1|RCV_B7_0|RCV_ODDP|RCV_EVNP)
-
-/*
- * FCS lookup table as calculated by genfcstab.
- */
-static u_short fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-static u_int32_t paritytab[8] =
-{
- 0x96696996, 0x69969669, 0x69969669, 0x96696996,
- 0x69969669, 0x96696996, 0x96696996, 0x69969669
-};
-
-/*
- * STREAMS module open (entry) point
- */
-MOD_OPEN(ahdlc_open)
-{
- ahdlc_state_t *state;
-
- /*
- * Return if it's already opened
- */
- if (q->q_ptr) {
- return 0;
- }
-
- /*
- * This can only be opened as a module
- */
- if (sflag != MODOPEN) {
- return 0;
- }
-
- state = (ahdlc_state_t *) ALLOC_NOSLEEP(sizeof(ahdlc_state_t));
- if (state == 0)
- OPEN_ERROR(ENOSR);
- bzero((caddr_t) state, sizeof(ahdlc_state_t));
-
- q->q_ptr = (caddr_t) state;
- WR(q)->q_ptr = (caddr_t) state;
-
-#if defined(USE_MUTEX)
- mutex_init(&state->lock, NULL, MUTEX_DEFAULT, NULL);
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- state->xaccm[0] = ~0; /* escape 0x00 through 0x1f */
- state->xaccm[3] = 0x60000000; /* escape 0x7d and 0x7e */
- state->mru = PPP_MRU; /* default of 1500 bytes */
-#if defined(SOL2)
- state->flag_time = drv_usectohz(FLAG_TIME);
-#endif /* SOL2 */
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-
-#if defined(SUNOS4)
- ppp_ahdlc_count++;
-#endif /* SUNOS4 */
-
- qprocson(q);
-
- return 0;
-}
-
-/*
- * STREAMS module close (exit) point
- */
-MOD_CLOSE(ahdlc_close)
-{
- ahdlc_state_t *state;
-
- qprocsoff(q);
-
- state = (ahdlc_state_t *) q->q_ptr;
-
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_close\n");
- return 0;
- }
-
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- if (state->rx_buf != 0) {
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- }
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
- mutex_destroy(&state->lock);
-#endif /* USE_MUTEX */
-
- FREE(q->q_ptr, sizeof(ahdlc_state_t));
- q->q_ptr = NULL;
- OTHERQ(q)->q_ptr = NULL;
-
-#if defined(SUNOS4)
- if (ppp_ahdlc_count)
- ppp_ahdlc_count--;
-#endif /* SUNOS4 */
-
- return 0;
-}
-
-/*
- * Write side put routine
- */
-static int
-ahdlc_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- struct iocblk *iop;
- int error;
- mblk_t *np;
- struct ppp_stats *psp;
-
- state = (ahdlc_state_t *) q->q_ptr;
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_wput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_DATA:
- /*
- * A data packet - do character-stuffing and FCS, and
- * send it onwards.
- */
- ahdlc_encode(q, mp);
- freemsg(mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- switch (iop->ioc_cmd) {
- case PPPIO_XACCM:
- if ((iop->ioc_count < sizeof(u_int32_t)) ||
- (iop->ioc_count > sizeof(ext_accm))) {
- break;
- }
- if (mp->b_cont == 0) {
- DPRINT1("ahdlc_wput/%d: PPPIO_XACCM b_cont = 0!\n", state->unit);
- break;
- }
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)state->xaccm,
- iop->ioc_count);
- state->xaccm[2] &= ~0x40000000; /* don't escape 0x5e */
- state->xaccm[3] |= 0x60000000; /* do escape 0x7d, 0x7e */
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_RACCM:
- if (iop->ioc_count != sizeof(u_int32_t))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ahdlc_wput/%d: PPPIO_RACCM b_cont = 0!\n", state->unit);
- break;
- }
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)&state->raccm,
- sizeof(u_int32_t));
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_GCLEAN:
- np = allocb(sizeof(int), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- *(int *)np->b_wptr = state->flags & RCV_FLAGS;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- np->b_wptr += sizeof(int);
- iop->ioc_count = sizeof(int);
- error = 0;
- break;
-
- case PPPIO_GETSTAT:
- np = allocb(sizeof(struct ppp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- psp = (struct ppp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_stats);
- bzero((caddr_t)psp, sizeof(struct ppp_stats));
- psp->p = state->stats;
- iop->ioc_count = sizeof(struct ppp_stats);
- error = 0;
- break;
-
- case PPPIO_LASTMOD:
- /* we knew this anyway */
- error = 0;
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_count = 0;
- iop->ioc_error = error;
- qreply(q, mp);
- }
- break;
-
- case M_CTL:
- switch (*mp->b_rptr) {
- case PPPCTL_MTU:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->mtu = ((unsigned short *)mp->b_rptr)[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- freemsg(mp);
- break;
- case PPPCTL_MRU:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->mru = ((unsigned short *)mp->b_rptr)[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- freemsg(mp);
- break;
- case PPPCTL_UNIT:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->unit = mp->b_rptr[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- break;
- default:
- putnext(q, mp);
- }
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-/*
- * Read side put routine
- */
-static int
-ahdlc_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
-
- state = (ahdlc_state_t *) q->q_ptr;
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_rput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_DATA:
- ahdlc_decode(q, mp);
- freemsg(mp);
- break;
-
- case M_HANGUP:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- if (state->rx_buf != 0) {
- /* XXX would like to send this up for debugging */
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- }
- state->flags = IFLUSH;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
- return 0;
-}
-
-/*
- * Extract bit c from map m, to determine if c needs to be escaped
- */
-#define IN_TX_MAP(c, m) ((m)[(c) >> 5] & (1 << ((c) & 0x1f)))
-
-static void
-ahdlc_encode(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- u_int32_t *xaccm, loc_xaccm[8];
- ushort_t fcs;
- size_t outmp_len;
- mblk_t *outmp, *tmp;
- uchar_t *dp, fcs_val;
- int is_lcp, code;
-#if defined(SOL2)
- clock_t lbolt;
-#endif /* SOL2 */
-
- if (msgdsize(mp) < 4) {
- return;
- }
-
- state = (ahdlc_state_t *)q->q_ptr;
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- /*
- * Allocate an output buffer large enough to handle a case where all
- * characters need to be escaped
- */
- outmp_len = (msgdsize(mp) << 1) + /* input block x 2 */
- (sizeof(fcs) << 2) + /* HDLC FCS x 4 */
- (sizeof(uchar_t) << 1); /* HDLC flags x 2 */
-
- outmp = allocb(outmp_len, BPRI_MED);
- if (outmp == NULL) {
- state->stats.ppp_oerrors++;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- return;
- }
-
-#if defined(SOL2)
- /*
- * Check if our last transmit happenned within flag_time, using
- * the system's LBOLT value in clock ticks
- */
- if (drv_getparm(LBOLT, &lbolt) != -1) {
- if (ABS((clock_t)lbolt - state->lbolt) > state->flag_time) {
- *outmp->b_wptr++ = PPP_FLAG;
- }
- state->lbolt = lbolt;
- } else {
- *outmp->b_wptr++ = PPP_FLAG;
- }
-#else
- /*
- * If the driver below still has a message to process, skip the
- * HDLC flag, otherwise, put one in the beginning
- */
- if (qsize(q->q_next) == 0) {
- *outmp->b_wptr++ = PPP_FLAG;
- }
-#endif
-
- /*
- * All control characters must be escaped for LCP packets with code
- * values between 1 (Conf-Req) and 7 (Code-Rej).
- */
- is_lcp = ((MSG_BYTE(mp, 0) == PPP_ALLSTATIONS) &&
- (MSG_BYTE(mp, 1) == PPP_UI) &&
- (MSG_BYTE(mp, 2) == (PPP_LCP >> 8)) &&
- (MSG_BYTE(mp, 3) == (PPP_LCP & 0xff)) &&
- LCP_USE_DFLT(mp));
-
- xaccm = state->xaccm;
- if (is_lcp) {
- bcopy((caddr_t)state->xaccm, (caddr_t)loc_xaccm, sizeof(loc_xaccm));
- loc_xaccm[0] = ~0; /* force escape on 0x00 through 0x1f */
- xaccm = loc_xaccm;
- }
-
- fcs = PPP_INITFCS; /* Initial FCS is 0xffff */
-
- /*
- * Process this block and the rest (if any) attached to the this one
- */
- for (tmp = mp; tmp; tmp = tmp->b_cont) {
- if (tmp->b_datap->db_type == M_DATA) {
- for (dp = tmp->b_rptr; dp < tmp->b_wptr; dp++) {
- fcs = PPP_FCS(fcs, *dp);
- if (IN_TX_MAP(*dp, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = *dp ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = *dp;
- }
- }
- } else {
- continue; /* skip if db_type is something other than M_DATA */
- }
- }
-
- /*
- * Append the HDLC FCS, making sure that escaping is done on any
- * necessary bytes
- */
- fcs_val = (fcs ^ 0xffff) & 0xff;
- if (IN_TX_MAP(fcs_val, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = fcs_val;
- }
-
- fcs_val = ((fcs ^ 0xffff) >> 8) & 0xff;
- if (IN_TX_MAP(fcs_val, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = fcs_val;
- }
-
- /*
- * And finally, append the HDLC flag, and send it away
- */
- *outmp->b_wptr++ = PPP_FLAG;
-
- state->stats.ppp_obytes += msgdsize(outmp);
- state->stats.ppp_opackets++;
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-
- putnext(q, outmp);
- return;
-}
-
-/*
- * Checks the 32-bit receive ACCM to see if the byte needs un-escaping
- */
-#define IN_RX_MAP(c, m) ((((unsigned int) (uchar_t) (c)) < 0x20) && \
- (m) & (1 << (c)))
-
-
-/*
- * Process received characters.
- */
-static void
-ahdlc_decode(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- mblk_t *om;
- uchar_t *dp;
- ushort_t fcs;
-#if defined(SOL2)
- mblk_t *zmp;
-#endif /* SOL2 */
-
-#if defined(SOL2)
- /*
- * In case the driver (or something below) doesn't send
- * data upstream in one message block, concatenate everything
- */
- if (!((mp->b_wptr - mp->b_rptr == msgdsize(mp)) &&
- ((intpointer_t)mp->b_rptr % sizeof(intpointer_t) == 0))) {
-
- zmp = msgpullup(mp, -1);
- freemsg(mp);
- mp = zmp;
- if (mp == 0)
- return;
- }
-#endif /* SOL2 */
-
- state = (ahdlc_state_t *) q->q_ptr;
-
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- state->stats.ppp_ibytes += msgdsize(mp);
-
- for (dp = mp->b_rptr; dp < mp->b_wptr; dp++) {
-
- /*
- * This should detect the lack of 8-bit communication channel
- * which is necessary for PPP to work. In addition, it also
- * checks on the parity.
- */
- if (*dp & 0x80)
- state->flags |= RCV_B7_1;
- else
- state->flags |= RCV_B7_0;
-
- if (paritytab[*dp >> 5] & (1 << (*dp & 0x1f)))
- state->flags |= RCV_ODDP;
- else
- state->flags |= RCV_EVNP;
-
- /*
- * So we have a HDLC flag ...
- */
- if (*dp == PPP_FLAG) {
-
- /*
- * If we think that it marks the beginning of the frame,
- * then continue to process the next octects
- */
- if ((state->flags & IFLUSH) ||
- (state->rx_buf == 0) ||
- (msgdsize(state->rx_buf) == 0)) {
-
- state->flags &= ~IFLUSH;
- continue;
- }
-
- /*
- * We get here because the above condition isn't true,
- * in which case the HDLC flag was there to mark the end
- * of the frame (or so we think)
- */
- om = state->rx_buf;
-
- if (state->infcs == PPP_GOODFCS) {
- state->stats.ppp_ipackets++;
- adjmsg(om, -PPP_FCSLEN);
- putnext(q, om);
- } else {
- DPRINT2("ppp%d: bad fcs (len=%d)\n",
- state->unit, msgdsize(state->rx_buf));
- freemsg(state->rx_buf);
- state->flags &= ~(IFLUSH | ESCAPED);
- state->stats.ppp_ierrors++;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- }
-
- state->rx_buf = 0;
- continue;
- }
-
- if (state->flags & IFLUSH) {
- continue;
- }
-
- /*
- * Allocate a receive buffer, large enough to store a frame (after
- * un-escaping) of at least 1500 octets. If MRU is negotiated to
- * be more than the default, then allocate that much. In addition,
- * we add an extra 32-bytes for a fudge factor
- */
- if (state->rx_buf == 0) {
- state->rx_buf_size = (state->mru < PPP_MRU ? PPP_MRU : state->mru);
- state->rx_buf_size += (sizeof(u_int32_t) << 3);
- state->rx_buf = allocb(state->rx_buf_size, BPRI_MED);
-
- /*
- * If allocation fails, try again on the next frame
- */
- if (state->rx_buf == 0) {
- state->flags |= IFLUSH;
- continue;
- }
- state->flags &= ~(IFLUSH | ESCAPED);
- state->infcs = PPP_INITFCS;
- }
-
- if (*dp == PPP_ESCAPE) {
- state->flags |= ESCAPED;
- continue;
- }
-
- /*
- * Make sure we un-escape the necessary characters, as well as the
- * ones in our receive async control character map
- */
- if (state->flags & ESCAPED) {
- *dp ^= PPP_TRANS;
- state->flags &= ~ESCAPED;
- } else if (IN_RX_MAP(*dp, state->raccm))
- continue;
-
- /*
- * Unless the peer lied to us about the negotiated MRU, we should
- * never get a frame which is too long. If it happens, toss it away
- * and grab the next incoming one
- */
- if (msgdsize(state->rx_buf) < state->rx_buf_size) {
- state->infcs = PPP_FCS(state->infcs, *dp);
- *state->rx_buf->b_wptr++ = *dp;
- } else {
- DPRINT2("ppp%d: frame too long (%d)\n",
- state->unit, msgdsize(state->rx_buf));
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- state->flags |= IFLUSH;
- }
- }
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-}
-
-static int
-msg_byte(mp, i)
- mblk_t *mp;
- unsigned int i;
-{
- while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
- mp = mp->b_cont;
- if (mp == 0)
- return -1;
- return mp->b_rptr[i];
-}
diff --git a/mdk-stage1/ppp/modules/ppp_comp.c b/mdk-stage1/ppp/modules/ppp_comp.c
deleted file mode 100644
index f6eef5ab1..000000000
--- a/mdk-stage1/ppp/modules/ppp_comp.c
+++ /dev/null
@@ -1,1126 +0,0 @@
-/*
- * ppp_comp.c - STREAMS module for kernel-level compression and CCP support.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under SVR4, Solaris 2, SunOS 4, and Digital UNIX.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/errno.h>
-#include <sys/stream.h>
-
-#ifdef SVR4
-#include <sys/conf.h>
-#include <sys/cmn_err.h>
-#include <sys/ddi.h>
-#else
-#include <sys/user.h>
-#ifdef __osf__
-#include <sys/cmn_err.h>
-#endif
-#endif /* SVR4 */
-
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-#ifdef __osf__
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#endif
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <net/vjcompress.h>
-
-#define PACKETPTR mblk_t *
-#include <net/ppp-comp.h>
-
-MOD_OPEN_DECL(ppp_comp_open);
-MOD_CLOSE_DECL(ppp_comp_close);
-static int ppp_comp_rput __P((queue_t *, mblk_t *));
-static int ppp_comp_rsrv __P((queue_t *));
-static int ppp_comp_wput __P((queue_t *, mblk_t *));
-static int ppp_comp_wsrv __P((queue_t *));
-static void ppp_comp_ccp __P((queue_t *, mblk_t *, int));
-static int msg_byte __P((mblk_t *, unsigned int));
-
-/* Extract byte i of message mp. */
-#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
- msg_byte((mp), (i)))
-
-/* Is this LCP packet one we have to transmit using LCP defaults? */
-#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
-
-#define PPP_COMP_ID 0xbadf
-static struct module_info minfo = {
-#ifdef PRIOQ
- PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16512, 16384,
-#else
- PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16384, 4096,
-#endif
-};
-
-static struct qinit r_init = {
- ppp_comp_rput, ppp_comp_rsrv, ppp_comp_open, ppp_comp_close,
- NULL, &minfo, NULL
-};
-
-static struct qinit w_init = {
- ppp_comp_wput, ppp_comp_wsrv, NULL, NULL, NULL, &minfo, NULL
-};
-
-#if defined(SVR4) && !defined(SOL2)
-int pcmpdevflag = 0;
-#define ppp_compinfo pcmpinfo
-#endif
-struct streamtab ppp_compinfo = {
- &r_init, &w_init, NULL, NULL
-};
-
-int ppp_comp_count; /* number of module instances in use */
-
-#ifdef __osf__
-
-static void ppp_comp_alloc __P((comp_state_t *));
-typedef struct memreq {
- unsigned char comp_opts[20];
- int cmd;
- int thread_status;
- char *returned_mem;
-} memreq_t;
-
-#endif
-
-typedef struct comp_state {
- int flags;
- int mru;
- int mtu;
- int unit;
- struct compressor *xcomp;
- void *xstate;
- struct compressor *rcomp;
- void *rstate;
- struct vjcompress vj_comp;
- int vj_last_ierrors;
- struct pppstat stats;
-#ifdef __osf__
- memreq_t memreq;
- thread_t thread;
-#endif
-} comp_state_t;
-
-
-#ifdef __osf__
-extern task_t first_task;
-#endif
-
-/* Bits in flags are as defined in pppio.h. */
-#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
-#define LAST_MOD 0x1000000 /* no ppp modules below us */
-#define DBGLOG 0x2000000 /* log debugging stuff */
-
-#define MAX_IPHDR 128 /* max TCP/IP header size */
-#define MAX_VJHDR 20 /* max VJ compressed header size (?) */
-
-#undef MIN /* just in case */
-#define MIN(a, b) ((a) < (b)? (a): (b))
-
-/*
- * List of compressors we know about.
- */
-
-#if DO_BSD_COMPRESS
-extern struct compressor ppp_bsd_compress;
-#endif
-#if DO_DEFLATE
-extern struct compressor ppp_deflate, ppp_deflate_draft;
-#endif
-
-struct compressor *ppp_compressors[] = {
-#if DO_BSD_COMPRESS
- &ppp_bsd_compress,
-#endif
-#if DO_DEFLATE
- &ppp_deflate,
- &ppp_deflate_draft,
-#endif
- NULL
-};
-
-/*
- * STREAMS module entry points.
- */
-MOD_OPEN(ppp_comp_open)
-{
- comp_state_t *cp;
-#ifdef __osf__
- thread_t thread;
-#endif
-
- if (q->q_ptr == NULL) {
- cp = (comp_state_t *) ALLOC_SLEEP(sizeof(comp_state_t));
- if (cp == NULL)
- OPEN_ERROR(ENOSR);
- bzero((caddr_t)cp, sizeof(comp_state_t));
- WR(q)->q_ptr = q->q_ptr = (caddr_t) cp;
- cp->mru = PPP_MRU;
- cp->mtu = PPP_MTU;
- cp->xstate = NULL;
- cp->rstate = NULL;
- vj_compress_init(&cp->vj_comp, -1);
-#ifdef __osf__
- if (!(thread = kernel_thread_w_arg(first_task, ppp_comp_alloc, (void *)cp)))
- OPEN_ERROR(ENOSR);
- cp->thread = thread;
-#endif
- ++ppp_comp_count;
- qprocson(q);
- }
- return 0;
-}
-
-MOD_CLOSE(ppp_comp_close)
-{
- comp_state_t *cp;
-
- qprocsoff(q);
- cp = (comp_state_t *) q->q_ptr;
- if (cp != NULL) {
- if (cp->xstate != NULL)
- (*cp->xcomp->comp_free)(cp->xstate);
- if (cp->rstate != NULL)
- (*cp->rcomp->decomp_free)(cp->rstate);
-#ifdef __osf__
- if (!cp->thread)
- printf("ppp_comp_close: NULL thread!\n");
- else
- thread_terminate(cp->thread);
-#endif
- FREE(cp, sizeof(comp_state_t));
- q->q_ptr = NULL;
- OTHERQ(q)->q_ptr = NULL;
- --ppp_comp_count;
- }
- return 0;
-}
-
-#ifdef __osf__
-
-/* thread for calling back to a compressor's memory allocator
- * Needed for Digital UNIX since it's VM can't handle requests
- * for large amounts of memory without blocking. The thread
- * provides a context in which we can call a memory allocator
- * that may block.
- */
-static void
-ppp_comp_alloc(comp_state_t *cp)
-{
- int len, cmd;
- unsigned char *compressor_options;
- thread_t thread;
- void *(*comp_allocator)();
-
-
-#if defined(MAJOR_VERSION) && (MAJOR_VERSION <= 2)
-
- /* In 2.x and earlier the argument gets passed
- * in the thread structure itself. Yuck.
- */
- thread = current_thread();
- cp = thread->reply_port;
- thread->reply_port = PORT_NULL;
-
-#endif
-
- for (;;) {
- assert_wait((vm_offset_t)&cp->memreq.thread_status, TRUE);
- thread_block();
-
- if (thread_should_halt(current_thread()))
- thread_halt_self();
- cmd = cp->memreq.cmd;
- compressor_options = &cp->memreq.comp_opts[0];
- len = compressor_options[1];
- if (cmd == PPPIO_XCOMP) {
- cp->memreq.returned_mem = cp->xcomp->comp_alloc(compressor_options, len);
- if (!cp->memreq.returned_mem) {
- cp->memreq.thread_status = ENOSR;
- } else {
- cp->memreq.thread_status = 0;
- }
- } else {
- cp->memreq.returned_mem = cp->rcomp->decomp_alloc(compressor_options, len);
- if (!cp->memreq.returned_mem) {
- cp->memreq.thread_status = ENOSR;
- } else {
- cp->memreq.thread_status = 0;
- }
- }
- }
-}
-
-#endif /* __osf__ */
-
-/* here's the deal with memory allocation under Digital UNIX.
- * Some other may also benefit from this...
- * We can't ask for huge chunks of memory in a context where
- * the caller can't be put to sleep (like, here.) The alloc
- * is likely to fail. Instead we do this: the first time we
- * get called, kick off a thread to do the allocation. Return
- * immediately to the caller with EAGAIN, as an indication that
- * they should send down the ioctl again. By the time the
- * second call comes in it's likely that the memory allocation
- * thread will have returned with the requested memory. We will
- * continue to return EAGAIN however until the thread has completed.
- * When it has, we return zero (and the memory) if the allocator
- * was successful and ENOSR otherwise.
- *
- * Callers of the RCOMP and XCOMP ioctls are encouraged (but not
- * required) to loop for some number of iterations with a small
- * delay in the loop body (for instance a 1/10-th second "sleep"
- * via select.)
- */
-static int
-ppp_comp_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- struct iocblk *iop;
- comp_state_t *cp;
- int error, len, n;
- int flags, mask;
- mblk_t *np;
- struct compressor **comp;
- struct ppp_stats *psp;
- struct ppp_comp_stats *csp;
- unsigned char *opt_data;
- int nxslots, nrslots;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_wput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
-
- case M_DATA:
- putq(q, mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- switch (iop->ioc_cmd) {
-
- case PPPIO_CFLAGS:
- /* set/get CCP state */
- if (iop->ioc_count != 2 * sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_CFLAGS b_cont = 0!\n", cp->unit);
- break;
- }
- flags = ((int *) mp->b_cont->b_rptr)[0];
- mask = ((int *) mp->b_cont->b_rptr)[1];
- cp->flags = (cp->flags & ~mask) | (flags & mask);
- if ((mask & CCP_ISOPEN) && (flags & CCP_ISOPEN) == 0) {
- if (cp->xstate != NULL) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = NULL;
- }
- if (cp->rstate != NULL) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- cp->flags &= ~CCP_ISUP;
- }
- error = 0;
- iop->ioc_count = sizeof(int);
- ((int *) mp->b_cont->b_rptr)[0] = cp->flags;
- mp->b_cont->b_wptr = mp->b_cont->b_rptr + sizeof(int);
- break;
-
- case PPPIO_VJINIT:
- /*
- * Initialize VJ compressor/decompressor
- */
- if (iop->ioc_count != 2)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_VJINIT b_cont = 0!\n", cp->unit);
- break;
- }
- nxslots = mp->b_cont->b_rptr[0] + 1;
- nrslots = mp->b_cont->b_rptr[1] + 1;
- if (nxslots > MAX_STATES || nrslots > MAX_STATES)
- break;
- vj_compress_init(&cp->vj_comp, nxslots);
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_XCOMP:
- case PPPIO_RCOMP:
- if (iop->ioc_count <= 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_[XR]COMP b_cont = 0!\n", cp->unit);
- break;
- }
- opt_data = mp->b_cont->b_rptr;
- len = mp->b_cont->b_wptr - opt_data;
- if (len > iop->ioc_count)
- len = iop->ioc_count;
- if (opt_data[1] < 2 || opt_data[1] > len)
- break;
- for (comp = ppp_compressors; *comp != NULL; ++comp)
- if ((*comp)->compress_proto == opt_data[0]) {
- /* here's the handler! */
- error = 0;
-#ifndef __osf__
- if (iop->ioc_cmd == PPPIO_XCOMP) {
- /* A previous call may have fetched memory for a compressor
- * that's now being retired or reset. Free it using it's
- * mechanism for freeing stuff.
- */
- if (cp->xstate != NULL) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = NULL;
- }
- cp->xcomp = *comp;
- cp->xstate = (*comp)->comp_alloc(opt_data, len);
- if (cp->xstate == NULL)
- error = ENOSR;
- } else {
- if (cp->rstate != NULL) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- cp->rcomp = *comp;
- cp->rstate = (*comp)->decomp_alloc(opt_data, len);
- if (cp->rstate == NULL)
- error = ENOSR;
- }
-#else
- if ((error = cp->memreq.thread_status) != EAGAIN)
- if (iop->ioc_cmd == PPPIO_XCOMP) {
- if (cp->xstate) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = 0;
- }
- /* sanity check for compressor options
- */
- if (sizeof (cp->memreq.comp_opts) < len) {
- printf("can't handle options for compressor %d (%d)\n", opt_data[0],
- opt_data[1]);
- cp->memreq.thread_status = ENOSR;
- cp->memreq.returned_mem = 0;
- }
- /* fill in request for the thread and kick it off
- */
- if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
- bcopy(opt_data, cp->memreq.comp_opts, len);
- cp->memreq.cmd = PPPIO_XCOMP;
- cp->xcomp = *comp;
- error = cp->memreq.thread_status = EAGAIN;
- thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
- } else {
- cp->xstate = cp->memreq.returned_mem;
- cp->memreq.returned_mem = 0;
- cp->memreq.thread_status = 0;
- }
- } else {
- if (cp->rstate) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- if (sizeof (cp->memreq.comp_opts) < len) {
- printf("can't handle options for compressor %d (%d)\n", opt_data[0],
- opt_data[1]);
- cp->memreq.thread_status = ENOSR;
- cp->memreq.returned_mem = 0;
- }
- if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
- bcopy(opt_data, cp->memreq.comp_opts, len);
- cp->memreq.cmd = PPPIO_RCOMP;
- cp->rcomp = *comp;
- error = cp->memreq.thread_status = EAGAIN;
- thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
- } else {
- cp->rstate = cp->memreq.returned_mem;
- cp->memreq.returned_mem = 0;
- cp->memreq.thread_status = 0;
- }
- }
-#endif
- break;
- }
- iop->ioc_count = 0;
- break;
-
- case PPPIO_GETSTAT:
- if ((cp->flags & LAST_MOD) == 0) {
- error = -1; /* let the ppp_ahdl module handle it */
- break;
- }
- np = allocb(sizeof(struct ppp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- psp = (struct ppp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_stats);
- iop->ioc_count = sizeof(struct ppp_stats);
- psp->p = cp->stats;
- psp->vj = cp->vj_comp.stats;
- error = 0;
- break;
-
- case PPPIO_GETCSTAT:
- np = allocb(sizeof(struct ppp_comp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- csp = (struct ppp_comp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_comp_stats);
- iop->ioc_count = sizeof(struct ppp_comp_stats);
- bzero((caddr_t)csp, sizeof(struct ppp_comp_stats));
- if (cp->xstate != 0)
- (*cp->xcomp->comp_stat)(cp->xstate, &csp->c);
- if (cp->rstate != 0)
- (*cp->rcomp->decomp_stat)(cp->rstate, &csp->d);
- error = 0;
- break;
-
- case PPPIO_DEBUG:
- if (iop->ioc_count != sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_DEBUG b_cont = 0!\n", cp->unit);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n == PPPDBG_LOG + PPPDBG_COMP) {
- DPRINT1("ppp_comp%d: debug log enabled\n", cp->unit);
- cp->flags |= DBGLOG;
- error = 0;
- iop->ioc_count = 0;
- } else {
- error = -1;
- }
- break;
-
- case PPPIO_LASTMOD:
- cp->flags |= LAST_MOD;
- error = 0;
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_error = error;
- iop->ioc_count = 0;
- qreply(q, mp);
- }
- break;
-
- case M_CTL:
- switch (*mp->b_rptr) {
- case PPPCTL_MTU:
- cp->mtu = ((unsigned short *)mp->b_rptr)[1];
- break;
- case PPPCTL_MRU:
- cp->mru = ((unsigned short *)mp->b_rptr)[1];
- break;
- case PPPCTL_UNIT:
- cp->unit = mp->b_rptr[1];
- break;
- }
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_wsrv(q)
- queue_t *q;
-{
- mblk_t *mp, *cmp = NULL;
- comp_state_t *cp;
- int len, proto, type, hlen, code;
- struct ip *ip;
- unsigned char *vjhdr, *dp;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_wsrv\n");
- return 0;
- }
-
- while ((mp = getq(q)) != 0) {
- /* assert(mp->b_datap->db_type == M_DATA) */
-#ifdef PRIOQ
- if (!bcanputnext(q,mp->b_band))
-#else
- if (!canputnext(q))
-#endif PRIOQ
- {
- putbq(q, mp);
- break;
- }
-
- /*
- * First check the packet length and work out what the protocol is.
- */
- len = msgdsize(mp);
- if (len < PPP_HDRLEN) {
- DPRINT1("ppp_comp_wsrv: bogus short packet (%d)\n", len);
- freemsg(mp);
- cp->stats.ppp_oerrors++;
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- continue;
- }
- proto = (MSG_BYTE(mp, 2) << 8) + MSG_BYTE(mp, 3);
-
- /*
- * Make sure we've got enough data in the first mblk
- * and that we are its only user.
- */
- if (proto == PPP_CCP)
- hlen = len;
- else if (proto == PPP_IP)
- hlen = PPP_HDRLEN + MAX_IPHDR;
- else
- hlen = PPP_HDRLEN;
- if (hlen > len)
- hlen = len;
- if (mp->b_wptr < mp->b_rptr + hlen || mp->b_datap->db_ref > 1) {
- PULLUP(mp, hlen);
- if (mp == 0) {
- DPRINT1("ppp_comp_wsrv: pullup failed (%d)\n", hlen);
- cp->stats.ppp_oerrors++;
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- continue;
- }
- }
-
- /*
- * Do VJ compression if requested.
- */
- if (proto == PPP_IP && (cp->flags & COMP_VJC)) {
- ip = (struct ip *) (mp->b_rptr + PPP_HDRLEN);
- if (ip->ip_p == IPPROTO_TCP) {
- type = vj_compress_tcp(ip, len - PPP_HDRLEN, &cp->vj_comp,
- (cp->flags & COMP_VJCCID), &vjhdr);
- switch (type) {
- case TYPE_UNCOMPRESSED_TCP:
- mp->b_rptr[3] = proto = PPP_VJC_UNCOMP;
- break;
- case TYPE_COMPRESSED_TCP:
- dp = vjhdr - PPP_HDRLEN;
- dp[1] = mp->b_rptr[1]; /* copy control field */
- dp[0] = mp->b_rptr[0]; /* copy address field */
- dp[2] = 0; /* set protocol field */
- dp[3] = proto = PPP_VJC_COMP;
- mp->b_rptr = dp;
- break;
- }
- }
- }
-
- /*
- * Do packet compression if enabled.
- */
- if (proto == PPP_CCP)
- ppp_comp_ccp(q, mp, 0);
- else if (proto != PPP_LCP && (cp->flags & CCP_COMP_RUN)
- && cp->xstate != NULL) {
- len = msgdsize(mp);
- (*cp->xcomp->compress)(cp->xstate, &cmp, mp, len,
- (cp->flags & CCP_ISUP? cp->mtu + PPP_HDRLEN: 0));
- if (cmp != NULL) {
-#ifdef PRIOQ
- cmp->b_band=mp->b_band;
-#endif PRIOQ
- freemsg(mp);
- mp = cmp;
- }
- }
-
- /*
- * Do address/control and protocol compression if enabled.
- */
- if ((cp->flags & COMP_AC)
- && !(proto == PPP_LCP && LCP_USE_DFLT(mp))) {
- mp->b_rptr += 2; /* drop the address & ctrl fields */
- if (proto < 0x100 && (cp->flags & COMP_PROT))
- ++mp->b_rptr; /* drop the high protocol byte */
- } else if (proto < 0x100 && (cp->flags & COMP_PROT)) {
- /* shuffle up the address & ctrl fields */
- mp->b_rptr[2] = mp->b_rptr[1];
- mp->b_rptr[1] = mp->b_rptr[0];
- ++mp->b_rptr;
- }
-
- cp->stats.ppp_opackets++;
- cp->stats.ppp_obytes += msgdsize(mp);
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- comp_state_t *cp;
- struct iocblk *iop;
- struct ppp_stats *psp;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_rput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
-
- case M_DATA:
- putq(q, mp);
- break;
-
- case M_IOCACK:
- iop = (struct iocblk *) mp->b_rptr;
- switch (iop->ioc_cmd) {
- case PPPIO_GETSTAT:
- /*
- * Catch this on the way back from the ppp_ahdl module
- * so we can fill in the VJ stats.
- */
- if (mp->b_cont == 0 || iop->ioc_count != sizeof(struct ppp_stats))
- break;
- psp = (struct ppp_stats *) mp->b_cont->b_rptr;
- psp->vj = cp->vj_comp.stats;
- break;
- }
- putnext(q, mp);
- break;
-
- case M_CTL:
- switch (mp->b_rptr[0]) {
- case PPPCTL_IERROR:
- ++cp->stats.ppp_ierrors;
- break;
- case PPPCTL_OERROR:
- ++cp->stats.ppp_oerrors;
- break;
- }
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_rsrv(q)
- queue_t *q;
-{
- int proto, rv, i;
- mblk_t *mp, *dmp = NULL, *np;
- uchar_t *dp, *iphdr;
- comp_state_t *cp;
- int len, hlen, vjlen;
- u_int iphlen;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_rsrv\n");
- return 0;
- }
-
- while ((mp = getq(q)) != 0) {
- /* assert(mp->b_datap->db_type == M_DATA) */
- if (!canputnext(q)) {
- putbq(q, mp);
- break;
- }
-
- len = msgdsize(mp);
- cp->stats.ppp_ibytes += len;
- cp->stats.ppp_ipackets++;
-
- /*
- * First work out the protocol and where the PPP header ends.
- */
- i = 0;
- proto = MSG_BYTE(mp, 0);
- if (proto == PPP_ALLSTATIONS) {
- i = 2;
- proto = MSG_BYTE(mp, 2);
- }
- if ((proto & 1) == 0) {
- ++i;
- proto = (proto << 8) + MSG_BYTE(mp, i);
- }
- hlen = i + 1;
-
- /*
- * Now reconstruct a complete, contiguous PPP header at the
- * start of the packet.
- */
- if (hlen < ((cp->flags & DECOMP_AC)? 0: 2)
- + ((cp->flags & DECOMP_PROT)? 1: 2)) {
- /* count these? */
- goto bad;
- }
- if (mp->b_rptr + hlen > mp->b_wptr) {
- adjmsg(mp, hlen); /* XXX check this call */
- hlen = 0;
- }
- if (hlen != PPP_HDRLEN) {
- /*
- * We need to put some bytes on the front of the packet
- * to make a full-length PPP header.
- * If we can put them in *mp, we do, otherwise we
- * tack another mblk on the front.
- * XXX we really shouldn't need to carry around
- * the address and control at this stage.
- */
- dp = mp->b_rptr + hlen - PPP_HDRLEN;
- if (dp < mp->b_datap->db_base || mp->b_datap->db_ref > 1) {
- np = allocb(PPP_HDRLEN, BPRI_MED);
- if (np == 0)
- goto bad;
- np->b_cont = mp;
- mp->b_rptr += hlen;
- mp = np;
- dp = mp->b_wptr;
- mp->b_wptr += PPP_HDRLEN;
- } else
- mp->b_rptr = dp;
-
- dp[0] = PPP_ALLSTATIONS;
- dp[1] = PPP_UI;
- dp[2] = proto >> 8;
- dp[3] = proto;
- }
-
- /*
- * Now see if we have a compressed packet to decompress,
- * or a CCP packet to take notice of.
- */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto == PPP_CCP) {
- len = msgdsize(mp);
- if (mp->b_wptr < mp->b_rptr + len) {
- PULLUP(mp, len);
- if (mp == 0)
- goto bad;
- }
- ppp_comp_ccp(q, mp, 1);
- } else if (proto == PPP_COMP) {
- if ((cp->flags & CCP_ISUP)
- && (cp->flags & CCP_DECOMP_RUN) && cp->rstate
- && (cp->flags & CCP_ERR) == 0) {
- rv = (*cp->rcomp->decompress)(cp->rstate, mp, &dmp);
- switch (rv) {
- case DECOMP_OK:
- freemsg(mp);
- mp = dmp;
- if (mp == NULL) {
- /* no error, but no packet returned either. */
- continue;
- }
- break;
- case DECOMP_ERROR:
- cp->flags |= CCP_ERROR;
- ++cp->stats.ppp_ierrors;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- break;
- case DECOMP_FATALERROR:
- cp->flags |= CCP_FATALERROR;
- ++cp->stats.ppp_ierrors;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- break;
- }
- }
- } else if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->rcomp->incomp)(cp->rstate, mp);
- }
-
- /*
- * Now do VJ decompression.
- */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto == PPP_VJC_COMP || proto == PPP_VJC_UNCOMP) {
- len = msgdsize(mp) - PPP_HDRLEN;
- if ((cp->flags & DECOMP_VJC) == 0 || len <= 0)
- goto bad;
-
- /*
- * Advance past the ppp header.
- * Here we assume that the whole PPP header is in the first mblk.
- */
- np = mp;
- dp = np->b_rptr + PPP_HDRLEN;
- if (dp >= mp->b_wptr) {
- np = np->b_cont;
- dp = np->b_rptr;
- }
-
- /*
- * Make sure we have sufficient contiguous data at this point.
- */
- hlen = (proto == PPP_VJC_COMP)? MAX_VJHDR: MAX_IPHDR;
- if (hlen > len)
- hlen = len;
- if (np->b_wptr < dp + hlen || np->b_datap->db_ref > 1) {
- PULLUP(mp, hlen + PPP_HDRLEN);
- if (mp == 0)
- goto bad;
- np = mp;
- dp = np->b_rptr + PPP_HDRLEN;
- }
-
- if (proto == PPP_VJC_COMP) {
- /*
- * Decompress VJ-compressed packet.
- * First reset compressor if an input error has occurred.
- */
- if (cp->stats.ppp_ierrors != cp->vj_last_ierrors) {
- if (cp->flags & DBGLOG)
- DPRINT1("ppp%d: resetting VJ\n", cp->unit);
- vj_uncompress_err(&cp->vj_comp);
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- }
-
- vjlen = vj_uncompress_tcp(dp, np->b_wptr - dp, len,
- &cp->vj_comp, &iphdr, &iphlen);
- if (vjlen < 0) {
- if (cp->flags & DBGLOG)
- DPRINT2("ppp%d: vj_uncomp_tcp failed, pkt len %d\n",
- cp->unit, len);
- ++cp->vj_last_ierrors; /* so we don't reset next time */
- goto bad;
- }
-
- /* drop ppp and vj headers off */
- if (mp != np) {
- freeb(mp);
- mp = np;
- }
- mp->b_rptr = dp + vjlen;
-
- /* allocate a new mblk for the ppp and ip headers */
- if ((np = allocb(iphlen + PPP_HDRLEN + 4, BPRI_MED)) == 0)
- goto bad;
- dp = np->b_rptr; /* prepend mblk with TCP/IP hdr */
- dp[0] = PPP_ALLSTATIONS; /* reconstruct PPP header */
- dp[1] = PPP_UI;
- dp[2] = PPP_IP >> 8;
- dp[3] = PPP_IP;
- bcopy((caddr_t)iphdr, (caddr_t)dp + PPP_HDRLEN, iphlen);
- np->b_wptr = dp + iphlen + PPP_HDRLEN;
- np->b_cont = mp;
-
- /* XXX there seems to be a bug which causes panics in strread
- if we make an mbuf with only the IP header in it :-( */
- if (mp->b_wptr - mp->b_rptr > 4) {
- bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr, 4);
- mp->b_rptr += 4;
- np->b_wptr += 4;
- } else {
- bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr,
- mp->b_wptr - mp->b_rptr);
- np->b_wptr += mp->b_wptr - mp->b_rptr;
- np->b_cont = mp->b_cont;
- freeb(mp);
- }
-
- mp = np;
-
- } else {
- /*
- * "Decompress" a VJ-uncompressed packet.
- */
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- if (!vj_uncompress_uncomp(dp, hlen, &cp->vj_comp)) {
- if (cp->flags & DBGLOG)
- DPRINT2("ppp%d: vj_uncomp_uncomp failed, pkt len %d\n",
- cp->unit, len);
- ++cp->vj_last_ierrors; /* don't need to reset next time */
- goto bad;
- }
- mp->b_rptr[3] = PPP_IP; /* fix up the PPP protocol field */
- }
- }
-
- putnext(q, mp);
- continue;
-
- bad:
- if (mp != 0)
- freemsg(mp);
- cp->stats.ppp_ierrors++;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- }
-
- return 0;
-}
-
-/*
- * Handle a CCP packet being sent or received.
- * Here all the data in the packet is in a single mbuf.
- */
-static void
-ppp_comp_ccp(q, mp, rcvd)
- queue_t *q;
- mblk_t *mp;
- int rcvd;
-{
- int len, clen;
- comp_state_t *cp;
- unsigned char *dp;
-
- len = msgdsize(mp);
- if (len < PPP_HDRLEN + CCP_HDRLEN)
- return;
-
- cp = (comp_state_t *) q->q_ptr;
- dp = mp->b_rptr + PPP_HDRLEN;
- len -= PPP_HDRLEN;
- clen = CCP_LENGTH(dp);
- if (clen > len)
- return;
-
- switch (CCP_CODE(dp)) {
- case CCP_CONFREQ:
- case CCP_TERMREQ:
- case CCP_TERMACK:
- cp->flags &= ~CCP_ISUP;
- break;
-
- case CCP_CONFACK:
- if ((cp->flags & (CCP_ISOPEN | CCP_ISUP)) == CCP_ISOPEN
- && clen >= CCP_HDRLEN + CCP_OPT_MINLEN
- && clen >= CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN)) {
- if (!rcvd) {
- if (cp->xstate != NULL
- && (*cp->xcomp->comp_init)
- (cp->xstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
- cp->unit, 0, ((cp->flags & DBGLOG) != 0)))
- cp->flags |= CCP_COMP_RUN;
- } else {
- if (cp->rstate != NULL
- && (*cp->rcomp->decomp_init)
- (cp->rstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
- cp->unit, 0, cp->mru, ((cp->flags & DBGLOG) != 0)))
- cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
- }
- }
- break;
-
- case CCP_RESETACK:
- if (cp->flags & CCP_ISUP) {
- if (!rcvd) {
- if (cp->xstate && (cp->flags & CCP_COMP_RUN))
- (*cp->xcomp->comp_reset)(cp->xstate);
- } else {
- if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->rcomp->decomp_reset)(cp->rstate);
- cp->flags &= ~CCP_ERROR;
- }
- }
- }
- break;
- }
-}
-
-#if 0
-dump_msg(mp)
- mblk_t *mp;
-{
- dblk_t *db;
-
- while (mp != 0) {
- db = mp->b_datap;
- DPRINT2("mp=%x cont=%x ", mp, mp->b_cont);
- DPRINT3("rptr=%x wptr=%x datap=%x\n", mp->b_rptr, mp->b_wptr, db);
- DPRINT2(" base=%x lim=%x", db->db_base, db->db_lim);
- DPRINT2(" ref=%d type=%d\n", db->db_ref, db->db_type);
- mp = mp->b_cont;
- }
-}
-#endif
-
-static int
-msg_byte(mp, i)
- mblk_t *mp;
- unsigned int i;
-{
- while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
- mp = mp->b_cont;
- if (mp == 0)
- return -1;
- return mp->b_rptr[i];
-}
diff --git a/mdk-stage1/ppp/modules/ppp_mod.h b/mdk-stage1/ppp/modules/ppp_mod.h
deleted file mode 100644
index f0af00886..000000000
--- a/mdk-stage1/ppp/modules/ppp_mod.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Miscellaneous definitions for PPP STREAMS modules.
- */
-
-/*
- * Macros for allocating and freeing kernel memory.
- */
-#ifdef SVR4 /* SVR4, including Solaris 2 */
-#include <sys/kmem.h>
-#define ALLOC_SLEEP(n) kmem_alloc((n), KM_SLEEP)
-#define ALLOC_NOSLEEP(n) kmem_alloc((n), KM_NOSLEEP)
-#define FREE(p, n) kmem_free((p), (n))
-#endif
-
-#ifdef SUNOS4
-#include <sys/kmem_alloc.h> /* SunOS 4.x */
-#define ALLOC_SLEEP(n) kmem_alloc((n), KMEM_SLEEP)
-#define ALLOC_NOSLEEP(n) kmem_alloc((n), KMEM_NOSLEEP)
-#define FREE(p, n) kmem_free((p), (n))
-#define NOTSUSER() (suser()? 0: EPERM)
-#define bcanputnext(q, band) canputnext((q))
-#endif /* SunOS 4 */
-
-#ifdef __osf__
-#include <sys/malloc.h>
-
-/* caution: this mirrors macros in sys/malloc.h, and uses interfaces
- * which are subject to change.
- * The problems are that:
- * - the official MALLOC macro wants the lhs of the assignment as an argument,
- * and it takes care of the assignment itself (yuck.)
- * - PPP insists on using "FREE" which conflicts with a macro of the same name.
- *
- */
-#ifdef BUCKETINDX /* V2.0 */
-#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_WAITOK)
-#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_NOWAIT)
-#else
-#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_WAITOK)
-#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_NOWAIT)
-#endif
-
-#define bcanputnext(q, band) canputnext((q))
-
-#ifdef FREE
-#undef FREE
-#endif
-#define FREE(p, n) free((void *)(p), M_DEVBUF)
-
-#define NO_DLPI 1
-
-#ifndef IFT_PPP
-#define IFT_PPP 0x17
-#endif
-
-#include <sys/proc.h>
-#define NOTSUSER() (suser(u.u_procp->p_rcred, &u.u_acflag) ? EPERM : 0)
-
-/* #include "ppp_osf.h" */
-
-#endif /* __osf__ */
-
-#ifdef AIX4
-#define ALLOC_SLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
-#define ALLOC_NOSLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
-#define FREE(p, n) xmfree((p), pinned_heap)
-#define NOTSUSER() (suser()? 0: EPERM)
-#endif /* AIX */
-
-/*
- * Macros for printing debugging stuff.
- */
-#ifdef DEBUG
-#if defined(SVR4) || defined(__osf__)
-#if defined(SNI)
-#include <sys/strlog.h>
-#define STRLOG_ID 4712
-#define DPRINT(f) strlog(STRLOG_ID, 0, 0, SL_TRACE, f)
-#define DPRINT1(f, a1) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1)
-#define DPRINT2(f, a1, a2) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2, a3)
-#else
-#define DPRINT(f) cmn_err(CE_CONT, f)
-#define DPRINT1(f, a1) cmn_err(CE_CONT, f, a1)
-#define DPRINT2(f, a1, a2) cmn_err(CE_CONT, f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) cmn_err(CE_CONT, f, a1, a2, a3)
-#endif /* SNI */
-#else
-#define DPRINT(f) printf(f)
-#define DPRINT1(f, a1) printf(f, a1)
-#define DPRINT2(f, a1, a2) printf(f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) printf(f, a1, a2, a3)
-#endif /* SVR4 or OSF */
-
-#else
-#define DPRINT(f) 0
-#define DPRINT1(f, a1) 0
-#define DPRINT2(f, a1, a2) 0
-#define DPRINT3(f, a1, a2, a3) 0
-#endif /* DEBUG */
-
-#ifndef SVR4
-typedef unsigned char uchar_t;
-typedef unsigned short ushort_t;
-#ifndef __osf__
-typedef int minor_t;
-#endif
-#endif
-
-/*
- * If we don't have multithreading support, define substitutes.
- */
-#ifndef D_MP
-# define qprocson(q)
-# define qprocsoff(q)
-# define put(q, mp) ((*(q)->q_qinfo->qi_putp)((q), (mp)))
-# define canputnext(q) canput((q)->q_next)
-# define qwriter(q, mp, func, scope) (func)((q), (mp))
-#endif
-
-#ifdef D_MP
-/* Use msgpullup if we have other multithreading support. */
-#define PULLUP(mp, len) \
- do { \
- mblk_t *np = msgpullup((mp), (len)); \
- freemsg((mp)); \
- mp = np; \
- } while (0)
-
-#else
-/* Use pullupmsg if we don't have any multithreading support. */
-#define PULLUP(mp, len) \
- do { \
- if (!pullupmsg((mp), (len))) { \
- freemsg((mp)); \
- mp = 0; \
- } \
- } while (0)
-#endif
-
-/*
- * How to declare the open and close procedures for a module.
- */
-#ifdef SVR4
-#define MOD_OPEN_DECL(name) \
-static int name __P((queue_t *, dev_t *, int, int, cred_t *))
-
-#define MOD_CLOSE_DECL(name) \
-static int name __P((queue_t *, int, cred_t *))
-
-#define MOD_OPEN(name) \
-static int name(q, devp, flag, sflag, credp) \
- queue_t *q; \
- dev_t *devp; \
- int flag, sflag; \
- cred_t *credp;
-
-#define MOD_CLOSE(name) \
-static int name(q, flag, credp) \
- queue_t *q; \
- int flag; \
- cred_t *credp;
-
-#define OPEN_ERROR(x) return (x)
-#define DRV_OPEN_OK(dev) return 0
-
-#define NOTSUSER() (drv_priv(credp))
-
-#else /* not SVR4 */
-#define MOD_OPEN_DECL(name) \
-static int name __P((queue_t *, int, int, int))
-
-#define MOD_CLOSE_DECL(name) \
-static int name __P((queue_t *, int))
-
-#define MOD_OPEN(name) \
-static int name(q, dev, flag, sflag) \
- queue_t *q; \
- int dev; \
- int flag, sflag;
-
-#define MOD_CLOSE(name) \
-static int name(q, flag) \
- queue_t *q; \
- int flag;
-
-#define OPEN_ERROR(x) { u.u_error = (x); return OPENFAIL; }
-#define DRV_OPEN_OK(dev) return (dev)
-
-#endif /* SVR4 */
diff --git a/mdk-stage1/ppp/modules/vjcompress.c b/mdk-stage1/ppp/modules/vjcompress.c
deleted file mode 100644
index 809b87231..000000000
--- a/mdk-stage1/ppp/modules/vjcompress.c
+++ /dev/null
@@ -1,587 +0,0 @@
-/*
- * Routines to compress and uncompess tcp packets (for transmission
- * over low speed serial lines.
- *
- * Copyright (c) 1989 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
- * - Initial distribution.
- *
- * Modified June 1993 by Paul Mackerras, paulus@cs.anu.edu.au,
- * so that the entire packet being decompressed doesn't have
- * to be in contiguous memory (just the compressed header).
- */
-
-/*
- * This version is used under SunOS 4.x, Digital UNIX, AIX 4.x,
- * and SVR4 systems including Solaris 2.
- *
- * $Id$
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-
-#ifdef SVR4
-#ifndef __GNUC__
-#include <sys/byteorder.h> /* for ntohl, etc. */
-#else
-/* make sure we don't get the gnu "fixed" one! */
-#include "/usr/include/sys/byteorder.h"
-#endif
-#endif
-
-#ifdef __osf__
-#include <net/net_globals.h>
-#endif
-#include <netinet/in.h>
-
-#ifdef AIX4
-#define _NETINET_IN_SYSTM_H_
-typedef u_long n_long;
-#else
-#include <netinet/in_systm.h>
-#endif
-
-#include <netinet/ip.h>
-#include <netinet/tcp.h>
-
-#include <net/ppp_defs.h>
-#include <net/vjcompress.h>
-
-#ifndef VJ_NO_STATS
-#define INCR(counter) ++comp->stats.counter
-#else
-#define INCR(counter)
-#endif
-
-#define BCMP(p1, p2, n) bcmp((char *)(p1), (char *)(p2), (int)(n))
-#undef BCOPY
-#define BCOPY(p1, p2, n) bcopy((char *)(p1), (char *)(p2), (int)(n))
-#ifndef KERNEL
-#define ovbcopy bcopy
-#endif
-
-#ifdef __osf__
-#define getip_hl(base) (((base).ip_vhl)&0xf)
-#define getth_off(base) ((((base).th_xoff)&0xf0)>>4)
-
-#else
-#define getip_hl(base) ((base).ip_hl)
-#define getth_off(base) ((base).th_off)
-#endif
-
-void
-vj_compress_init(comp, max_state)
- struct vjcompress *comp;
- int max_state;
-{
- register u_int i;
- register struct cstate *tstate = comp->tstate;
-
- if (max_state == -1)
- max_state = MAX_STATES - 1;
- bzero((char *)comp, sizeof(*comp));
- for (i = max_state; i > 0; --i) {
- tstate[i].cs_id = i;
- tstate[i].cs_next = &tstate[i - 1];
- }
- tstate[0].cs_next = &tstate[max_state];
- tstate[0].cs_id = 0;
- comp->last_cs = &tstate[0];
- comp->last_recv = 255;
- comp->last_xmit = 255;
- comp->flags = VJF_TOSS;
-}
-
-
-/* ENCODE encodes a number that is known to be non-zero. ENCODEZ
- * checks for zero (since zero has to be encoded in the long, 3 byte
- * form).
- */
-#define ENCODE(n) { \
- if ((u_short)(n) >= 256) { \
- *cp++ = 0; \
- cp[1] = (n); \
- cp[0] = (n) >> 8; \
- cp += 2; \
- } else { \
- *cp++ = (n); \
- } \
-}
-#define ENCODEZ(n) { \
- if ((u_short)(n) >= 256 || (u_short)(n) == 0) { \
- *cp++ = 0; \
- cp[1] = (n); \
- cp[0] = (n) >> 8; \
- cp += 2; \
- } else { \
- *cp++ = (n); \
- } \
-}
-
-#define DECODEL(f) { \
- if (*cp == 0) {\
- u_int32_t tmp = ntohl(f) + ((cp[1] << 8) | cp[2]); \
- (f) = htonl(tmp); \
- cp += 3; \
- } else { \
- u_int32_t tmp = ntohl(f) + (u_int32_t)*cp++; \
- (f) = htonl(tmp); \
- } \
-}
-
-#define DECODES(f) { \
- if (*cp == 0) {\
- u_short tmp = ntohs(f) + ((cp[1] << 8) | cp[2]); \
- (f) = htons(tmp); \
- cp += 3; \
- } else { \
- u_short tmp = ntohs(f) + (u_int32_t)*cp++; \
- (f) = htons(tmp); \
- } \
-}
-
-#define DECODEU(f) { \
- if (*cp == 0) {\
- (f) = htons((cp[1] << 8) | cp[2]); \
- cp += 3; \
- } else { \
- (f) = htons((u_int32_t)*cp++); \
- } \
-}
-
-u_int
-vj_compress_tcp(ip, mlen, comp, compress_cid, vjhdrp)
- register struct ip *ip;
- u_int mlen;
- struct vjcompress *comp;
- int compress_cid;
- u_char **vjhdrp;
-{
- register struct cstate *cs = comp->last_cs->cs_next;
- register u_int hlen = getip_hl(*ip);
- register struct tcphdr *oth;
- register struct tcphdr *th;
- register u_int deltaS, deltaA;
- register u_int changes = 0;
- u_char new_seq[16];
- register u_char *cp = new_seq;
-
- /*
- * Bail if this is an IP fragment or if the TCP packet isn't
- * `compressible' (i.e., ACK isn't set or some other control bit is
- * set). (We assume that the caller has already made sure the
- * packet is IP proto TCP).
- */
- if ((ip->ip_off & htons(0x3fff)) || mlen < 40)
- return (TYPE_IP);
-
- th = (struct tcphdr *)&((int *)ip)[hlen];
- if ((th->th_flags & (TH_SYN|TH_FIN|TH_RST|TH_ACK)) != TH_ACK)
- return (TYPE_IP);
- /*
- * Packet is compressible -- we're going to send either a
- * COMPRESSED_TCP or UNCOMPRESSED_TCP packet. Either way we need
- * to locate (or create) the connection state. Special case the
- * most recently used connection since it's most likely to be used
- * again & we don't have to do any reordering if it's used.
- */
- INCR(vjs_packets);
- if (ip->ip_src.s_addr != cs->cs_ip.ip_src.s_addr ||
- ip->ip_dst.s_addr != cs->cs_ip.ip_dst.s_addr ||
- *(int *)th != ((int *)&cs->cs_ip)[getip_hl(cs->cs_ip)]) {
- /*
- * Wasn't the first -- search for it.
- *
- * States are kept in a circularly linked list with
- * last_cs pointing to the end of the list. The
- * list is kept in lru order by moving a state to the
- * head of the list whenever it is referenced. Since
- * the list is short and, empirically, the connection
- * we want is almost always near the front, we locate
- * states via linear search. If we don't find a state
- * for the datagram, the oldest state is (re-)used.
- */
- register struct cstate *lcs;
- register struct cstate *lastcs = comp->last_cs;
-
- do {
- lcs = cs; cs = cs->cs_next;
- INCR(vjs_searches);
- if (ip->ip_src.s_addr == cs->cs_ip.ip_src.s_addr
- && ip->ip_dst.s_addr == cs->cs_ip.ip_dst.s_addr
- && *(int *)th == ((int *)&cs->cs_ip)[getip_hl(cs->cs_ip)])
- goto found;
- } while (cs != lastcs);
-
- /*
- * Didn't find it -- re-use oldest cstate. Send an
- * uncompressed packet that tells the other side what
- * connection number we're using for this conversation.
- * Note that since the state list is circular, the oldest
- * state points to the newest and we only need to set
- * last_cs to update the lru linkage.
- */
- INCR(vjs_misses);
- comp->last_cs = lcs;
- hlen += getth_off(*th);
- hlen <<= 2;
- if (hlen > mlen)
- return (TYPE_IP);
- goto uncompressed;
-
- found:
- /*
- * Found it -- move to the front on the connection list.
- */
- if (cs == lastcs)
- comp->last_cs = lcs;
- else {
- lcs->cs_next = cs->cs_next;
- cs->cs_next = lastcs->cs_next;
- lastcs->cs_next = cs;
- }
- }
-
- /*
- * Make sure that only what we expect to change changed. The first
- * line of the `if' checks the IP protocol version, header length &
- * type of service. The 2nd line checks the "Don't fragment" bit.
- * The 3rd line checks the time-to-live and protocol (the protocol
- * check is unnecessary but costless). The 4th line checks the TCP
- * header length. The 5th line checks IP options, if any. The 6th
- * line checks TCP options, if any. If any of these things are
- * different between the previous & current datagram, we send the
- * current datagram `uncompressed'.
- */
- oth = (struct tcphdr *)&((int *)&cs->cs_ip)[hlen];
- deltaS = hlen;
- hlen += getth_off(*th);
- hlen <<= 2;
- if (hlen > mlen)
- return (TYPE_IP);
-
- if (((u_short *)ip)[0] != ((u_short *)&cs->cs_ip)[0] ||
- ((u_short *)ip)[3] != ((u_short *)&cs->cs_ip)[3] ||
- ((u_short *)ip)[4] != ((u_short *)&cs->cs_ip)[4] ||
- getth_off(*th) != getth_off(*oth) ||
- (deltaS > 5 && BCMP(ip + 1, &cs->cs_ip + 1, (deltaS - 5) << 2)) ||
- (getth_off(*th) > 5 && BCMP(th + 1, oth + 1, (getth_off(*th) - 5) << 2)))
- goto uncompressed;
-
- /*
- * Figure out which of the changing fields changed. The
- * receiver expects changes in the order: urgent, window,
- * ack, seq (the order minimizes the number of temporaries
- * needed in this section of code).
- */
- if (th->th_flags & TH_URG) {
- deltaS = ntohs(th->th_urp);
- ENCODEZ(deltaS);
- changes |= NEW_U;
- } else if (th->th_urp != oth->th_urp)
- /* argh! URG not set but urp changed -- a sensible
- * implementation should never do this but RFC793
- * doesn't prohibit the change so we have to deal
- * with it. */
- goto uncompressed;
-
- if ((deltaS = (u_short)(ntohs(th->th_win) - ntohs(oth->th_win))) > 0) {
- ENCODE(deltaS);
- changes |= NEW_W;
- }
-
- if ((deltaA = ntohl(th->th_ack) - ntohl(oth->th_ack)) > 0) {
- if (deltaA > 0xffff)
- goto uncompressed;
- ENCODE(deltaA);
- changes |= NEW_A;
- }
-
- if ((deltaS = ntohl(th->th_seq) - ntohl(oth->th_seq)) > 0) {
- if (deltaS > 0xffff)
- goto uncompressed;
- ENCODE(deltaS);
- changes |= NEW_S;
- }
-
- switch(changes) {
-
- case 0:
- /*
- * Nothing changed. If this packet contains data and the
- * last one didn't, this is probably a data packet following
- * an ack (normal on an interactive connection) and we send
- * it compressed. Otherwise it's probably a retransmit,
- * retransmitted ack or window probe. Send it uncompressed
- * in case the other side missed the compressed version.
- */
- if (ip->ip_len != cs->cs_ip.ip_len &&
- ntohs(cs->cs_ip.ip_len) == hlen)
- break;
-
- /* (fall through) */
-
- case SPECIAL_I:
- case SPECIAL_D:
- /*
- * actual changes match one of our special case encodings --
- * send packet uncompressed.
- */
- goto uncompressed;
-
- case NEW_S|NEW_A:
- if (deltaS == deltaA && deltaS == ntohs(cs->cs_ip.ip_len) - hlen) {
- /* special case for echoed terminal traffic */
- changes = SPECIAL_I;
- cp = new_seq;
- }
- break;
-
- case NEW_S:
- if (deltaS == ntohs(cs->cs_ip.ip_len) - hlen) {
- /* special case for data xfer */
- changes = SPECIAL_D;
- cp = new_seq;
- }
- break;
- }
-
- deltaS = ntohs(ip->ip_id) - ntohs(cs->cs_ip.ip_id);
- if (deltaS != 1) {
- ENCODEZ(deltaS);
- changes |= NEW_I;
- }
- if (th->th_flags & TH_PUSH)
- changes |= TCP_PUSH_BIT;
- /*
- * Grab the cksum before we overwrite it below. Then update our
- * state with this packet's header.
- */
- deltaA = ntohs(th->th_sum);
- BCOPY(ip, &cs->cs_ip, hlen);
-
- /*
- * We want to use the original packet as our compressed packet.
- * (cp - new_seq) is the number of bytes we need for compressed
- * sequence numbers. In addition we need one byte for the change
- * mask, one for the connection id and two for the tcp checksum.
- * So, (cp - new_seq) + 4 bytes of header are needed. hlen is how
- * many bytes of the original packet to toss so subtract the two to
- * get the new packet size.
- */
- deltaS = cp - new_seq;
- cp = (u_char *)ip;
- if (compress_cid == 0 || comp->last_xmit != cs->cs_id) {
- comp->last_xmit = cs->cs_id;
- hlen -= deltaS + 4;
- *vjhdrp = (cp += hlen);
- *cp++ = changes | NEW_C;
- *cp++ = cs->cs_id;
- } else {
- hlen -= deltaS + 3;
- *vjhdrp = (cp += hlen);
- *cp++ = changes;
- }
- *cp++ = deltaA >> 8;
- *cp++ = deltaA;
- BCOPY(new_seq, cp, deltaS);
- INCR(vjs_compressed);
- return (TYPE_COMPRESSED_TCP);
-
- /*
- * Update connection state cs & send uncompressed packet (that is,
- * a regular ip/tcp packet but with the 'conversation id' we hope
- * to use on future compressed packets in the protocol field).
- */
- uncompressed:
- BCOPY(ip, &cs->cs_ip, hlen);
- ip->ip_p = cs->cs_id;
- comp->last_xmit = cs->cs_id;
- return (TYPE_UNCOMPRESSED_TCP);
-}
-
-/*
- * Called when we may have missed a packet.
- */
-void
-vj_uncompress_err(comp)
- struct vjcompress *comp;
-{
- comp->flags |= VJF_TOSS;
- INCR(vjs_errorin);
-}
-
-/*
- * "Uncompress" a packet of type TYPE_UNCOMPRESSED_TCP.
- */
-int
-vj_uncompress_uncomp(buf, buflen, comp)
- u_char *buf;
- int buflen;
- struct vjcompress *comp;
-{
- register u_int hlen;
- register struct cstate *cs;
- register struct ip *ip;
-
- ip = (struct ip *) buf;
- hlen = getip_hl(*ip) << 2;
- if (ip->ip_p >= MAX_STATES
- || hlen + sizeof(struct tcphdr) > buflen
- || (hlen += getth_off(*((struct tcphdr *)&((char *)ip)[hlen])) << 2)
- > buflen
- || hlen > MAX_HDR) {
- comp->flags |= VJF_TOSS;
- INCR(vjs_errorin);
- return (0);
- }
- cs = &comp->rstate[comp->last_recv = ip->ip_p];
- comp->flags &=~ VJF_TOSS;
- ip->ip_p = IPPROTO_TCP;
- BCOPY(ip, &cs->cs_ip, hlen);
- cs->cs_hlen = hlen;
- INCR(vjs_uncompressedin);
- return (1);
-}
-
-/*
- * Uncompress a packet of type TYPE_COMPRESSED_TCP.
- * The packet starts at buf and is of total length total_len.
- * The first buflen bytes are at buf; this must include the entire
- * compressed TCP/IP header. This procedure returns the length
- * of the VJ header, with a pointer to the uncompressed IP header
- * in *hdrp and its length in *hlenp.
- */
-int
-vj_uncompress_tcp(buf, buflen, total_len, comp, hdrp, hlenp)
- u_char *buf;
- int buflen, total_len;
- struct vjcompress *comp;
- u_char **hdrp;
- u_int *hlenp;
-{
- register u_char *cp;
- register u_int hlen, changes;
- register struct tcphdr *th;
- register struct cstate *cs;
- register u_short *bp;
- register u_int vjlen;
- register u_int32_t tmp;
-
- INCR(vjs_compressedin);
- cp = buf;
- changes = *cp++;
- if (changes & NEW_C) {
- /* Make sure the state index is in range, then grab the state.
- * If we have a good state index, clear the 'discard' flag. */
- if (*cp >= MAX_STATES)
- goto bad;
-
- comp->flags &=~ VJF_TOSS;
- comp->last_recv = *cp++;
- } else {
- /* this packet has an implicit state index. If we've
- * had a line error since the last time we got an
- * explicit state index, we have to toss the packet. */
- if (comp->flags & VJF_TOSS) {
- INCR(vjs_tossed);
- return (-1);
- }
- }
- cs = &comp->rstate[comp->last_recv];
- hlen = getip_hl(cs->cs_ip) << 2;
- th = (struct tcphdr *)&((u_char *)&cs->cs_ip)[hlen];
- th->th_sum = htons((*cp << 8) | cp[1]);
- cp += 2;
- if (changes & TCP_PUSH_BIT)
- th->th_flags |= TH_PUSH;
- else
- th->th_flags &=~ TH_PUSH;
-
- switch (changes & SPECIALS_MASK) {
- case SPECIAL_I:
- {
- register u_int32_t i = ntohs(cs->cs_ip.ip_len) - cs->cs_hlen;
- /* some compilers can't nest inline assembler.. */
- tmp = ntohl(th->th_ack) + i;
- th->th_ack = htonl(tmp);
- tmp = ntohl(th->th_seq) + i;
- th->th_seq = htonl(tmp);
- }
- break;
-
- case SPECIAL_D:
- /* some compilers can't nest inline assembler.. */
- tmp = ntohl(th->th_seq) + ntohs(cs->cs_ip.ip_len) - cs->cs_hlen;
- th->th_seq = htonl(tmp);
- break;
-
- default:
- if (changes & NEW_U) {
- th->th_flags |= TH_URG;
- DECODEU(th->th_urp);
- } else
- th->th_flags &=~ TH_URG;
- if (changes & NEW_W)
- DECODES(th->th_win);
- if (changes & NEW_A)
- DECODEL(th->th_ack);
- if (changes & NEW_S)
- DECODEL(th->th_seq);
- break;
- }
- if (changes & NEW_I) {
- DECODES(cs->cs_ip.ip_id);
- } else {
- cs->cs_ip.ip_id = ntohs(cs->cs_ip.ip_id) + 1;
- cs->cs_ip.ip_id = htons(cs->cs_ip.ip_id);
- }
-
- /*
- * At this point, cp points to the first byte of data in the
- * packet. Fill in the IP total length and update the IP
- * header checksum.
- */
- vjlen = cp - buf;
- buflen -= vjlen;
- if (buflen < 0)
- /* we must have dropped some characters (crc should detect
- * this but the old slip framing won't) */
- goto bad;
-
- total_len += cs->cs_hlen - vjlen;
- cs->cs_ip.ip_len = htons(total_len);
-
- /* recompute the ip header checksum */
- bp = (u_short *) &cs->cs_ip;
- cs->cs_ip.ip_sum = 0;
- for (changes = 0; hlen > 0; hlen -= 2)
- changes += *bp++;
- changes = (changes & 0xffff) + (changes >> 16);
- changes = (changes & 0xffff) + (changes >> 16);
- cs->cs_ip.ip_sum = ~ changes;
-
- *hdrp = (u_char *) &cs->cs_ip;
- *hlenp = cs->cs_hlen;
- return vjlen;
-
- bad:
- comp->flags |= VJF_TOSS;
- INCR(vjs_errorin);
- return (-1);
-}
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux b/mdk-stage1/ppp/pppd/Makefile.linux
deleted file mode 100644
index 47d6ba01e..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.linux
+++ /dev/null
@@ -1,129 +0,0 @@
-#
-# pppd makefile for Linux
-# $Id$
-#
-
-# Default installation locations
-BINDIR = $(DESTDIR)/usr/sbin
-MANDIR = $(DESTDIR)/usr/man
-
-PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
- ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
- demand.c utils.c multilink.c tdb.c tty.c
-HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
- ipxcp.h cbcp.h tdb.h
-MANPAGES = pppd.8
-PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
- auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
- tdb.o tty.o
-
-all: pppd
-
-#
-# include dependancies if present and backup if as a header file
-ifeq (.depend,$(wildcard .depend))
-include .depend
-endif
-
-CC = gcc
-#
-COPTS = -Wall $(RPM_OPT_FLAGS)
-LIBS = -lutil
-
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-LIBS += -lcrypt
-endif
-
-# Uncomment the next 2 lines to include support for Microsoft's
-# MS-CHAP authentication protocol.
-CHAPMS=y
-USE_CRYPT=y
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-HAVE_CRYPT_H=y
-endif
-
-# Uncomment the next line to include support for PPP packet filtering.
-# This requires that the libpcap library and headers be installed
-# and that the kernel driver support PPP packet filtering, which it
-# doesn't yet.
-#FILTER=y
-
-HAS_SHADOW=y
-USE_PAM=y
-#HAVE_INET6=y
-
-PLUGIN=y
-
-INCLUDE_DIRS= -I../include
-
-COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
-
-CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
-ifdef CHAPMS
-CFLAGS += -DCHAPMS=1
-ifndef USE_CRYPT
-LIBS := -ldes $(LIBS)
-else
-CFLAGS += -DUSE_CRYPT=1
-ifneq ($(wildcard /usr/include/crypt.h),)
-CFLAGS += -DHAVE_CRYPT_H=1
-endif
-endif
-PPPDOBJS += md4.o chap_ms.o
-ifdef MSLANMAN
-CFLAGS += -DMSLANMAN=1
-endif
-endif
-
-ifdef HAS_SHADOW
-CFLAGS += -DHAS_SHADOW
-#LIBS := -lshadow $(LIBS)
-endif
-
-# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
-ifdef USE_PAM
-CFLAGS += -DUSE_PAM
-LIBS := -lpam -ldl $(LIBS)
-endif
-
-# Lock library binary for Linux is included in 'linux' subdirectory.
-ifdef LOCKLIB
-LIBS := -llock $(LIBS)
-CFLAGS += -DLOCKLIB=1
-endif
-
-ifdef PLUGIN
-CFLAGS += -DPLUGIN
-LDFLAGS += -Wl,-E
-LIBS += -ldl
-endif
-
-ifdef FILTER
-LIBS += -lpcap
-CFLAGS += -DPPP_FILTER -I/usr/include/pcap
-endif
-
-ifdef HAVE_INET6
- PPPDSRCS += ipv6cp.c eui64.c
- HEADERS += ipv6cp.h eui64.h
- PPPDOBJS += ipv6cp.o eui64.o
- CFLAGS += -DINET6=1
-endif
-
-
-INSTALL= install
-
-install: pppd
- mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -m 555 pppd $(BINDIR)/pppd
- $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
-
-pppd: $(PPPDOBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
-
-clean:
- rm -f $(PPPDOBJS) pppd *~ #* core
-
-depend:
- $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux.make b/mdk-stage1/ppp/pppd/Makefile.linux.make
deleted file mode 100644
index d98a32562..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.linux.make
+++ /dev/null
@@ -1,131 +0,0 @@
-#
-# pppd makefile for Linux
-# $Id$
-#
-
-# Default installation locations
-BINDIR = /usr/sbin
-MANDIR = /usr/man
-
-PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
- ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
- demand.c utils.c multilink.c tdb.c tty.c
-HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
- ipxcp.h cbcp.h tdb.h
-MANPAGES = pppd.8
-PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
- auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
- tdb.o tty.o
-
-all: pppd
-
-#
-# include dependancies if present and backup if as a header file
-ifeq (.depend,$(wildcard .depend))
-include .depend
-endif
-
-# CC = gcc
-#
-COPTS = -O2 -pipe -Wall -g
-LIBS =
-
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-LIBS += -lcrypt
-endif
-
-# Uncomment the next 2 lines to include support for Microsoft's
-# MS-CHAP authentication protocol.
-CHAPMS=y
-USE_CRYPT=y
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-HAVE_CRYPT_H=y
-endif
-
-# Uncomment the next line to include support for PPP packet filtering.
-# This requires that the libpcap library and headers be installed
-# and that the kernel driver support PPP packet filtering, which it
-# doesn't yet.
-#FILTER=y
-
-HAS_SHADOW=y
-#USE_PAM=y
-#HAVE_INET6=y
-
-PLUGIN=y
-
-INCLUDE_DIRS= -I../include
-
-COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
-
-CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
-ifdef CHAPMS
-CFLAGS += -DCHAPMS=1
-ifndef USE_CRYPT
-LIBS := -ldes $(LIBS)
-else
-CFLAGS += -DUSE_CRYPT=1
-ifneq ($(wildcard /usr/include/crypt.h),)
-CFLAGS += -DHAVE_CRYPT_H=1
-endif
-endif
-PPPDOBJS += md4.o chap_ms.o
-ifdef MSLANMAN
-CFLAGS += -DMSLANMAN=1
-endif
-endif
-
-ifdef HAS_SHADOW
-CFLAGS += -DHAS_SHADOW
-#LIBS := -lshadow $(LIBS)
-endif
-
-# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
-ifdef USE_PAM
-CFLAGS += -DUSE_PAM
-LIBS := -lpam -ldl $(LIBS)
-endif
-
-# Lock library binary for Linux is included in 'linux' subdirectory.
-ifdef LOCKLIB
-LIBS := -llock $(LIBS)
-CFLAGS += -DLOCKLIB=1
-endif
-
-ifdef PLUGIN
-CFLAGS += -DPLUGIN
-LDFLAGS += -Wl,-E
-LIBS += -ldl
-endif
-
-ifdef FILTER
-LIBS += -lpcap
-CFLAGS += -DPPP_FILTER -I/usr/include/pcap
-endif
-
-ifdef HAVE_INET6
- PPPDSRCS += ipv6cp.c eui64.c
- HEADERS += ipv6cp.h eui64.h
- PPPDOBJS += ipv6cp.o eui64.o
- CFLAGS += -DINET6=1
-endif
-
-
-INSTALL= install -o root
-
-install: pppd
- mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd
- if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
- chmod o-rx,u+s $(BINDIR)/pppd; fi
- $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
-
-pppd: $(PPPDOBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
-
-clean:
- rm -f $(PPPDOBJS) pppd *~ #* core
-
-depend:
- $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux.makeopt b/mdk-stage1/ppp/pppd/Makefile.linux.makeopt
deleted file mode 100644
index 3094c941c..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.linux.makeopt
+++ /dev/null
@@ -1,129 +0,0 @@
-#
-# pppd makefile for Linux
-# $Id$
-#
-
-# Default installation locations
-BINDIR = $(DESTDIR)/usr/sbin
-MANDIR = $(DESTDIR)/usr/man
-
-PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
- ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
- demand.c utils.c multilink.c tdb.c tty.c
-HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
- ipxcp.h cbcp.h tdb.h
-MANPAGES = pppd.8
-PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
- auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
- tdb.o tty.o
-
-all: pppd
-
-#
-# include dependancies if present and backup if as a header file
-ifeq (.depend,$(wildcard .depend))
-include .depend
-endif
-
-CC = gcc
-#
-COPTS = -O2 -pipe -Wall -g
-LIBS = -lutil
-
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-LIBS += -lcrypt
-endif
-
-# Uncomment the next 2 lines to include support for Microsoft's
-# MS-CHAP authentication protocol.
-CHAPMS=y
-USE_CRYPT=y
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-HAVE_CRYPT_H=y
-endif
-
-# Uncomment the next line to include support for PPP packet filtering.
-# This requires that the libpcap library and headers be installed
-# and that the kernel driver support PPP packet filtering, which it
-# doesn't yet.
-#FILTER=y
-
-HAS_SHADOW=y
-USE_PAM=y
-#HAVE_INET6=y
-
-PLUGIN=y
-
-INCLUDE_DIRS= -I../include
-
-COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
-
-CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
-ifdef CHAPMS
-CFLAGS += -DCHAPMS=1
-ifndef USE_CRYPT
-LIBS := -ldes $(LIBS)
-else
-CFLAGS += -DUSE_CRYPT=1
-ifneq ($(wildcard /usr/include/crypt.h),)
-CFLAGS += -DHAVE_CRYPT_H=1
-endif
-endif
-PPPDOBJS += md4.o chap_ms.o
-ifdef MSLANMAN
-CFLAGS += -DMSLANMAN=1
-endif
-endif
-
-ifdef HAS_SHADOW
-CFLAGS += -DHAS_SHADOW
-#LIBS := -lshadow $(LIBS)
-endif
-
-# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
-ifdef USE_PAM
-CFLAGS += -DUSE_PAM
-LIBS := -lpam -ldl $(LIBS)
-endif
-
-# Lock library binary for Linux is included in 'linux' subdirectory.
-ifdef LOCKLIB
-LIBS := -llock $(LIBS)
-CFLAGS += -DLOCKLIB=1
-endif
-
-ifdef PLUGIN
-CFLAGS += -DPLUGIN
-LDFLAGS += -Wl,-E
-LIBS += -ldl
-endif
-
-ifdef FILTER
-LIBS += -lpcap
-CFLAGS += -DPPP_FILTER -I/usr/include/pcap
-endif
-
-ifdef HAVE_INET6
- PPPDSRCS += ipv6cp.c eui64.c
- HEADERS += ipv6cp.h eui64.h
- PPPDOBJS += ipv6cp.o eui64.o
- CFLAGS += -DINET6=1
-endif
-
-
-INSTALL= install
-
-install: pppd
- mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -m 555 pppd $(BINDIR)/pppd
- $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
-
-pppd: $(PPPDOBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
-
-clean:
- rm -f $(PPPDOBJS) pppd *~ #* core
-
-depend:
- $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.sol2 b/mdk-stage1/ppp/pppd/Makefile.sol2
deleted file mode 100644
index dfdcddd97..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.sol2
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# Makefile for pppd under Solaris 2.
-# $Id$
-#
-
-include ../solaris/Makedefs
-
-COPTS += -xO2 -xspace -W0,-Lt
-CFLAGS = -I../include -DSVR4 -DSOL2 $(COPTS)
-LIBS = -lsocket -lnsl
-
-OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o tty.o \
- ccp.o auth.o options.o demand.o utils.o sys-solaris.o tdb.o
-
-#
-# uncomment the following to enable plugins
-#
-CFLAGS += -DPLUGIN
-LIBS += -ldl
-
-#
-# Solaris 8 and above accomodates /var/run, so uncomment the
-# following to place pppd process IDs on that location
-#
-#CFLAGS += -D_PATH_VARRUN='"/var/run/"'
-
-#
-# uncomment the following to enable IPv6
-#
-# Solaris 8 and on includes support for IPv6
-#
-#CFLAGS += -DINET6
-#OBJS += ipv6cp.o eui64.o
-
-#
-# Make targets
-#
-all: pppd
-
-pppd: $(OBJS)
- $(CC) -o pppd $(OBJS) $(LIBS)
-
-install:
- $(INSTALL) -f $(BINDIR) -m 4755 -u root pppd
- $(INSTALL) -f $(MANDIR)/man8 -m 444 pppd.8
-
-clean:
- rm -f $(OBJS) pppd *~ core y.tab.c y.tab.h
diff --git a/mdk-stage1/ppp/pppd/Makefile.sunos4 b/mdk-stage1/ppp/pppd/Makefile.sunos4
deleted file mode 100644
index 694ac341f..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.sunos4
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Makefile for pppd under SunOS 4.
-# $Id$
-#
-
-include ../sunos4/Makedefs
-
-LIBS =
-
-CFLAGS = $(COPTS) -I../include -DSUNOS4 -DGIDSET_TYPE=int \
- -DLOCK_DIR=\"/usr/spool/locks\"
-
-all: pppd
-
-OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
- auth.o options.o demand.o utils.o sys-sunos4.o tty.o
-
-pppd: $(OBJS)
- $(CC) -o pppd $(OBJS) $(LIBS)
-
-install:
- $(INSTALL) -c -m 4555 pppd $(BINDIR)/pppd
- $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8/pppd.8
-
-clean:
- rm -f $(OBJS) pppd *~ core
diff --git a/mdk-stage1/ppp/pppd/auth.c b/mdk-stage1/ppp/pppd/auth.c
deleted file mode 100644
index c1912c252..000000000
--- a/mdk-stage1/ppp/pppd/auth.c
+++ /dev/null
@@ -1,1952 +0,0 @@
-/*
- * auth.c - PPP authentication and phase control.
- *
- * Copyright (c) 1993 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <pwd.h>
-#include <grp.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <utmp.h>
-#include <fcntl.h>
-#if defined(_PATH_LASTLOG) && defined(_linux_)
-#include <lastlog.h>
-#endif
-
-#include <netdb.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#ifdef USE_PAM
-#include <security/pam_appl.h>
-#endif
-
-#ifdef HAS_SHADOW
-#include <shadow.h>
-#ifndef PW_PPP
-#define PW_PPP PW_LOGIN
-#endif
-#endif
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "ipcp.h"
-#include "upap.h"
-#include "chap.h"
-#ifdef CBCP_SUPPORT
-#include "cbcp.h"
-#endif
-#include "pathnames.h"
-
-static const char rcsid[] = RCSID;
-
-/* Bits in scan_authfile return value */
-#define NONWILD_SERVER 1
-#define NONWILD_CLIENT 2
-
-#define ISWILD(word) (word[0] == '*' && word[1] == 0)
-
-/* The name by which the peer authenticated itself to us. */
-char peer_authname[MAXNAMELEN];
-
-/* Records which authentication operations haven't completed yet. */
-static int auth_pending[NUM_PPP];
-
-/* Set if we have successfully called plogin() */
-static int logged_in;
-
-/* List of addresses which the peer may use. */
-static struct permitted_ip *addresses[NUM_PPP];
-
-/* Wordlist giving addresses which the peer may use
- without authenticating itself. */
-static struct wordlist *noauth_addrs;
-
-/* Extra options to apply, from the secrets file entry for the peer. */
-static struct wordlist *extra_options;
-
-/* Number of network protocols which we have opened. */
-static int num_np_open;
-
-/* Number of network protocols which have come up. */
-static int num_np_up;
-
-/* Set if we got the contents of passwd[] from the pap-secrets file. */
-static int passwd_from_file;
-
-/* Set if we require authentication only because we have a default route. */
-static bool default_auth;
-
-/* Hook to enable a plugin to control the idle time limit */
-int (*idle_time_hook) __P((struct ppp_idle *)) = NULL;
-
-/* Hook for a plugin to say whether we can possibly authenticate any peer */
-int (*pap_check_hook) __P((void)) = NULL;
-
-/* Hook for a plugin to check the PAP user and password */
-int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
- struct wordlist **paddrs,
- struct wordlist **popts)) = NULL;
-
-/* Hook for a plugin to know about the PAP user logout */
-void (*pap_logout_hook) __P((void)) = NULL;
-
-/* Hook for a plugin to get the PAP password for authenticating us */
-int (*pap_passwd_hook) __P((char *user, char *passwd)) = NULL;
-
-/*
- * This is used to ensure that we don't start an auth-up/down
- * script while one is already running.
- */
-enum script_state {
- s_down,
- s_up
-};
-
-static enum script_state auth_state = s_down;
-static enum script_state auth_script_state = s_down;
-static pid_t auth_script_pid = 0;
-
-static int used_login; /* peer authenticated against login database */
-
-/*
- * Option variables.
- */
-bool uselogin = 0; /* Use /etc/passwd for checking PAP */
-bool cryptpap = 0; /* Passwords in pap-secrets are encrypted */
-bool refuse_pap = 0; /* Don't wanna auth. ourselves with PAP */
-bool refuse_chap = 0; /* Don't wanna auth. ourselves with CHAP */
-bool usehostname = 0; /* Use hostname for our_name */
-bool auth_required = 0; /* Always require authentication from peer */
-bool allow_any_ip = 0; /* Allow peer to use any IP address */
-bool explicit_remote = 0; /* User specified explicit remote name */
-char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
-
-static char *uafname; /* name of most recent +ua file */
-
-/* Bits in auth_pending[] */
-#define PAP_WITHPEER 1
-#define PAP_PEER 2
-#define CHAP_WITHPEER 4
-#define CHAP_PEER 8
-
-extern char *crypt __P((const char *, const char *));
-
-/* Prototypes for procedures local to this file. */
-
-static void network_phase __P((int));
-static void check_idle __P((void *));
-static void connect_time_expired __P((void *));
-static int plogin __P((char *, char *, char **));
-static void plogout __P((void));
-static int null_login __P((int));
-static int get_pap_passwd __P((char *));
-static int have_pap_secret __P((int *));
-static int have_chap_secret __P((char *, char *, int, int *));
-static int ip_addr_check __P((u_int32_t, struct permitted_ip *));
-static int scan_authfile __P((FILE *, char *, char *, char *,
- struct wordlist **, struct wordlist **,
- char *));
-static void free_wordlist __P((struct wordlist *));
-static void auth_script __P((char *));
-static void auth_script_done __P((void *));
-static void set_allowed_addrs __P((int, struct wordlist *, struct wordlist *));
-static int some_ip_ok __P((struct wordlist *));
-static int setupapfile __P((char **));
-static int privgroup __P((char **));
-static int set_noauth_addr __P((char **));
-static void check_access __P((FILE *, char *));
-static int wordlist_count __P((struct wordlist *));
-
-/*
- * Authentication-related options.
- */
-option_t auth_options[] = {
- { "auth", o_bool, &auth_required,
- "Require authentication from peer", OPT_PRIO | 1 },
- { "noauth", o_bool, &auth_required,
- "Don't require peer to authenticate", OPT_PRIOSUB | OPT_PRIV,
- &allow_any_ip },
- { "require-pap", o_bool, &lcp_wantoptions[0].neg_upap,
- "Require PAP authentication from peer",
- OPT_PRIOSUB | 1, &auth_required },
- { "+pap", o_bool, &lcp_wantoptions[0].neg_upap,
- "Require PAP authentication from peer",
- OPT_ALIAS | OPT_PRIOSUB | 1, &auth_required },
- { "require-chap", o_bool, &lcp_wantoptions[0].neg_chap,
- "Require CHAP authentication from peer",
- OPT_PRIOSUB | 1, &auth_required },
- { "+chap", o_bool, &lcp_wantoptions[0].neg_chap,
- "Require CHAP authentication from peer",
- OPT_ALIAS | OPT_PRIOSUB | 1, &auth_required },
-
- { "refuse-pap", o_bool, &refuse_pap,
- "Don't agree to auth to peer with PAP", 1 },
- { "-pap", o_bool, &refuse_pap,
- "Don't allow PAP authentication with peer", OPT_ALIAS | 1 },
-
- { "refuse-chap", o_bool, &refuse_chap,
- "Don't agree to auth to peer with CHAP", 1 },
- { "-chap", o_bool, &refuse_chap,
- "Don't allow CHAP authentication with peer", OPT_ALIAS | 1 },
-
- { "name", o_string, our_name,
- "Set local name for authentication",
- OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXNAMELEN },
-
- { "+ua", o_special, (void *)setupapfile,
- "Get PAP user and password from file",
- OPT_PRIO | OPT_A2STRVAL, &uafname },
-
- { "user", o_string, user,
- "Set name for auth with peer", OPT_PRIO | OPT_STATIC, NULL, MAXNAMELEN },
-
- { "password", o_string, passwd,
- "Password for authenticating us to the peer",
- OPT_PRIO | OPT_STATIC | OPT_HIDE, NULL, MAXSECRETLEN },
-
- { "usehostname", o_bool, &usehostname,
- "Must use hostname for authentication", 1 },
-
- { "remotename", o_string, remote_name,
- "Set remote name for authentication", OPT_PRIO | OPT_STATIC,
- &explicit_remote, MAXNAMELEN },
-
- { "login", o_bool, &uselogin,
- "Use system password database for PAP", 1 },
-
- { "papcrypt", o_bool, &cryptpap,
- "PAP passwords are encrypted", 1 },
-
- { "privgroup", o_special, (void *)privgroup,
- "Allow group members to use privileged options", OPT_PRIV | OPT_A2LIST },
-
- { "allow-ip", o_special, (void *)set_noauth_addr,
- "Set IP address(es) which can be used without authentication",
- OPT_PRIV | OPT_A2LIST },
-
- { NULL }
-};
-
-/*
- * setupapfile - specifies UPAP info for authenticating with peer.
- */
-static int
-setupapfile(argv)
- char **argv;
-{
- FILE *ufile;
- int l;
- char u[MAXNAMELEN], p[MAXSECRETLEN];
- char *fname;
-
- lcp_allowoptions[0].neg_upap = 1;
-
- /* open user info file */
- fname = strdup(*argv);
- if (fname == NULL)
- novm("+ua file name");
- seteuid(getuid());
- ufile = fopen(fname, "r");
- seteuid(0);
- if (ufile == NULL) {
- option_error("unable to open user login data file %s", fname);
- return 0;
- }
- check_access(ufile, fname);
- uafname = fname;
-
- /* get username */
- if (fgets(u, MAXNAMELEN - 1, ufile) == NULL
- || fgets(p, MAXSECRETLEN - 1, ufile) == NULL){
- option_error("unable to read user login data file %s", fname);
- return 0;
- }
- fclose(ufile);
-
- /* get rid of newlines */
- l = strlen(u);
- if (l > 0 && u[l-1] == '\n')
- u[l-1] = 0;
- l = strlen(p);
- if (l > 0 && p[l-1] == '\n')
- p[l-1] = 0;
-
- if (override_value("user", option_priority, fname))
- strlcpy(user, u, sizeof(user));
- if (override_value("passwd", option_priority, fname))
- strlcpy(passwd, p, sizeof(passwd));
-
- return (1);
-}
-
-
-/*
- * privgroup - allow members of the group to have privileged access.
- */
-static int
-privgroup(argv)
- char **argv;
-{
- struct group *g;
- int i;
-
- g = getgrnam(*argv);
- if (g == 0) {
- option_error("group %s is unknown", *argv);
- return 0;
- }
- for (i = 0; i < ngroups; ++i) {
- if (groups[i] == g->gr_gid) {
- privileged = 1;
- break;
- }
- }
- return 1;
-}
-
-
-/*
- * set_noauth_addr - set address(es) that can be used without authentication.
- * Equivalent to specifying an entry like `"" * "" addr' in pap-secrets.
- */
-static int
-set_noauth_addr(argv)
- char **argv;
-{
- char *addr = *argv;
- int l = strlen(addr) + 1;
- struct wordlist *wp;
-
- wp = (struct wordlist *) malloc(sizeof(struct wordlist) + l);
- if (wp == NULL)
- novm("allow-ip argument");
- wp->word = (char *) (wp + 1);
- wp->next = noauth_addrs;
- BCOPY(addr, wp->word, l);
- noauth_addrs = wp;
- return 1;
-}
-
-
-/*
- * An Open on LCP has requested a change from Dead to Establish phase.
- * Do what's necessary to bring the physical layer up.
- */
-void
-link_required(unit)
- int unit;
-{
-}
-
-/*
- * LCP has terminated the link; go to the Dead phase and take the
- * physical layer down.
- */
-void
-link_terminated(unit)
- int unit;
-{
- if (phase == PHASE_DEAD)
- return;
- if (pap_logout_hook) {
- pap_logout_hook();
- } else {
- if (logged_in)
- plogout();
- }
- new_phase(PHASE_DEAD);
- notice("Connection terminated.");
-}
-
-/*
- * LCP has gone down; it will either die or try to re-establish.
- */
-void
-link_down(unit)
- int unit;
-{
- int i;
- struct protent *protp;
-
- auth_state = s_down;
- if (auth_script_state == s_up && auth_script_pid == 0) {
- update_link_stats(unit);
- auth_script_state = s_down;
- auth_script(_PATH_AUTHDOWN);
- }
- for (i = 0; (protp = protocols[i]) != NULL; ++i) {
- if (!protp->enabled_flag)
- continue;
- if (protp->protocol != PPP_LCP && protp->lowerdown != NULL)
- (*protp->lowerdown)(unit);
- if (protp->protocol < 0xC000 && protp->close != NULL)
- (*protp->close)(unit, "LCP down");
- }
- num_np_open = 0;
- num_np_up = 0;
- if (phase != PHASE_DEAD)
- new_phase(PHASE_TERMINATE);
-}
-
-/*
- * The link is established.
- * Proceed to the Dead, Authenticate or Network phase as appropriate.
- */
-void
-link_established(unit)
- int unit;
-{
- int auth;
- lcp_options *wo = &lcp_wantoptions[unit];
- lcp_options *go = &lcp_gotoptions[unit];
- lcp_options *ho = &lcp_hisoptions[unit];
- int i;
- struct protent *protp;
-
- /*
- * Tell higher-level protocols that LCP is up.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->protocol != PPP_LCP && protp->enabled_flag
- && protp->lowerup != NULL)
- (*protp->lowerup)(unit);
-
- if (auth_required && !(go->neg_chap || go->neg_upap)) {
- /*
- * We wanted the peer to authenticate itself, and it refused:
- * if we have some address(es) it can use without auth, fine,
- * otherwise treat it as though it authenticated with PAP using
- * a username * of "" and a password of "". If that's not OK,
- * boot it out.
- */
- if (noauth_addrs != NULL) {
- set_allowed_addrs(unit, NULL, NULL);
- } else if (!wo->neg_upap || uselogin || !null_login(unit)) {
- warn("peer refused to authenticate: terminating link");
- lcp_close(unit, "peer refused to authenticate");
- status = EXIT_PEER_AUTH_FAILED;
- return;
- }
- }
-
- new_phase(PHASE_AUTHENTICATE);
- used_login = 0;
- auth = 0;
- if (go->neg_chap) {
- ChapAuthPeer(unit, our_name, go->chap_mdtype);
- auth |= CHAP_PEER;
- } else if (go->neg_upap) {
- upap_authpeer(unit);
- auth |= PAP_PEER;
- }
- if (ho->neg_chap) {
- ChapAuthWithPeer(unit, user, ho->chap_mdtype);
- auth |= CHAP_WITHPEER;
- } else if (ho->neg_upap) {
- if (passwd[0] == 0) {
- passwd_from_file = 1;
- if (!get_pap_passwd(passwd))
- error("No secret found for PAP login");
- }
- upap_authwithpeer(unit, user, passwd);
- auth |= PAP_WITHPEER;
- }
- auth_pending[unit] = auth;
-
- if (!auth)
- network_phase(unit);
-}
-
-/*
- * Proceed to the network phase.
- */
-static void
-network_phase(unit)
- int unit;
-{
- lcp_options *go = &lcp_gotoptions[unit];
-
- /*
- * If the peer had to authenticate, run the auth-up script now.
- */
- if (go->neg_chap || go->neg_upap) {
- auth_state = s_up;
- if (auth_script_state == s_down && auth_script_pid == 0) {
- auth_script_state = s_up;
- auth_script(_PATH_AUTHUP);
- }
- }
-
-#ifdef CBCP_SUPPORT
- /*
- * If we negotiated callback, do it now.
- */
- if (go->neg_cbcp) {
- new_phase(PHASE_CALLBACK);
- (*cbcp_protent.open)(unit);
- return;
- }
-#endif
-
- /*
- * Process extra options from the secrets file
- */
- if (extra_options) {
- options_from_list(extra_options, 1);
- free_wordlist(extra_options);
- extra_options = 0;
- }
- start_networks();
-}
-
-void
-start_networks()
-{
- int i;
- struct protent *protp;
-
- new_phase(PHASE_NETWORK);
-
-#ifdef HAVE_MULTILINK
- if (multilink) {
- if (mp_join_bundle()) {
- if (updetach && !nodetach)
- detach();
- return;
- }
- }
-#endif /* HAVE_MULTILINK */
-
-#ifdef PPP_FILTER
- if (!demand)
- set_filters(&pass_filter, &active_filter);
-#endif
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->protocol < 0xC000 && protp->enabled_flag
- && protp->open != NULL) {
- (*protp->open)(0);
- if (protp->protocol != PPP_CCP)
- ++num_np_open;
- }
-
- if (num_np_open == 0)
- /* nothing to do */
- lcp_close(0, "No network protocols running");
-}
-
-/*
- * The peer has failed to authenticate himself using `protocol'.
- */
-void
-auth_peer_fail(unit, protocol)
- int unit, protocol;
-{
- /*
- * Authentication failure: take the link down
- */
- lcp_close(unit, "Authentication failed");
- status = EXIT_PEER_AUTH_FAILED;
-}
-
-/*
- * The peer has been successfully authenticated using `protocol'.
- */
-void
-auth_peer_success(unit, protocol, name, namelen)
- int unit, protocol;
- char *name;
- int namelen;
-{
- int bit;
-
- switch (protocol) {
- case PPP_CHAP:
- bit = CHAP_PEER;
- break;
- case PPP_PAP:
- bit = PAP_PEER;
- break;
- default:
- warn("auth_peer_success: unknown protocol %x", protocol);
- return;
- }
-
- /*
- * Save the authenticated name of the peer for later.
- */
- if (namelen > sizeof(peer_authname) - 1)
- namelen = sizeof(peer_authname) - 1;
- BCOPY(name, peer_authname, namelen);
- peer_authname[namelen] = 0;
- script_setenv("PEERNAME", peer_authname, 0);
-
- /*
- * If there is no more authentication still to be done,
- * proceed to the network (or callback) phase.
- */
- if ((auth_pending[unit] &= ~bit) == 0)
- network_phase(unit);
-}
-
-/*
- * We have failed to authenticate ourselves to the peer using `protocol'.
- */
-void
-auth_withpeer_fail(unit, protocol)
- int unit, protocol;
-{
- if (passwd_from_file)
- BZERO(passwd, MAXSECRETLEN);
- /*
- * We've failed to authenticate ourselves to our peer.
- * Some servers keep sending CHAP challenges, but there
- * is no point in persisting without any way to get updated
- * authentication secrets.
- */
- lcp_close(unit, "Failed to authenticate ourselves to peer");
- status = EXIT_AUTH_TOPEER_FAILED;
-}
-
-/*
- * We have successfully authenticated ourselves with the peer using `protocol'.
- */
-void
-auth_withpeer_success(unit, protocol)
- int unit, protocol;
-{
- int bit;
-
- switch (protocol) {
- case PPP_CHAP:
- bit = CHAP_WITHPEER;
- break;
- case PPP_PAP:
- if (passwd_from_file)
- BZERO(passwd, MAXSECRETLEN);
- bit = PAP_WITHPEER;
- break;
- default:
- warn("auth_withpeer_success: unknown protocol %x", protocol);
- bit = 0;
- }
-
- /*
- * If there is no more authentication still being done,
- * proceed to the network (or callback) phase.
- */
- if ((auth_pending[unit] &= ~bit) == 0)
- network_phase(unit);
-}
-
-
-/*
- * np_up - a network protocol has come up.
- */
-void
-np_up(unit, proto)
- int unit, proto;
-{
- int tlim;
-
- if (num_np_up == 0) {
- /*
- * At this point we consider that the link has come up successfully.
- */
- status = EXIT_OK;
- unsuccess = 0;
- new_phase(PHASE_RUNNING);
-
- if (idle_time_hook != 0)
- tlim = (*idle_time_hook)(NULL);
- else
- tlim = idle_time_limit;
- if (tlim > 0)
- TIMEOUT(check_idle, NULL, tlim);
-
- /*
- * Set a timeout to close the connection once the maximum
- * connect time has expired.
- */
- if (maxconnect > 0)
- TIMEOUT(connect_time_expired, 0, maxconnect);
-
- /*
- * Detach now, if the updetach option was given.
- */
- if (updetach && !nodetach)
- detach();
- }
- ++num_np_up;
-}
-
-/*
- * np_down - a network protocol has gone down.
- */
-void
-np_down(unit, proto)
- int unit, proto;
-{
- if (--num_np_up == 0) {
- UNTIMEOUT(check_idle, NULL);
- new_phase(PHASE_NETWORK);
- }
-}
-
-/*
- * np_finished - a network protocol has finished using the link.
- */
-void
-np_finished(unit, proto)
- int unit, proto;
-{
- if (--num_np_open <= 0) {
- /* no further use for the link: shut up shop. */
- lcp_close(0, "No network protocols running");
- }
-}
-
-/*
- * check_idle - check whether the link has been idle for long
- * enough that we can shut it down.
- */
-static void
-check_idle(arg)
- void *arg;
-{
- struct ppp_idle idle;
- time_t itime;
- int tlim;
-
- if (!get_idle_time(0, &idle))
- return;
- if (idle_time_hook != 0) {
- tlim = idle_time_hook(&idle);
- } else {
- itime = MIN(idle.xmit_idle, idle.recv_idle);
- tlim = idle_time_limit - itime;
- }
- if (tlim <= 0) {
- /* link is idle: shut it down. */
- notice("Terminating connection due to lack of activity.");
- lcp_close(0, "Link inactive");
- need_holdoff = 0;
- status = EXIT_IDLE_TIMEOUT;
- } else {
- TIMEOUT(check_idle, NULL, tlim);
- }
-}
-
-/*
- * connect_time_expired - log a message and close the connection.
- */
-static void
-connect_time_expired(arg)
- void *arg;
-{
- info("Connect time expired");
- lcp_close(0, "Connect time expired"); /* Close connection */
- status = EXIT_CONNECT_TIME;
-}
-
-/*
- * auth_check_options - called to check authentication options.
- */
-void
-auth_check_options()
-{
- lcp_options *wo = &lcp_wantoptions[0];
- int can_auth;
- int lacks_ip;
-
- /* Default our_name to hostname, and user to our_name */
- if (our_name[0] == 0 || usehostname)
- strlcpy(our_name, hostname, sizeof(our_name));
- if (user[0] == 0)
- strlcpy(user, our_name, sizeof(user));
-
- /*
- * If we have a default route, require the peer to authenticate
- * unless the noauth option was given or the real user is root.
- */
- if (!auth_required && !allow_any_ip && have_route_to(0) && !privileged) {
- auth_required = 1;
- default_auth = 1;
- }
-
- /* If authentication is required, ask peer for CHAP or PAP. */
- if (auth_required) {
- allow_any_ip = 0;
- if (!wo->neg_chap && !wo->neg_upap) {
- wo->neg_chap = 1;
- wo->neg_upap = 1;
- }
- } else {
- wo->neg_chap = 0;
- wo->neg_upap = 0;
- }
-
- /*
- * Check whether we have appropriate secrets to use
- * to authenticate the peer.
- */
- lacks_ip = 0;
- can_auth = wo->neg_upap && (uselogin || have_pap_secret(&lacks_ip));
- if (!can_auth && wo->neg_chap) {
- can_auth = have_chap_secret((explicit_remote? remote_name: NULL),
- our_name, 1, &lacks_ip);
- }
-
- if (auth_required && !can_auth && noauth_addrs == NULL) {
- if (default_auth) {
- option_error(
-"By default the remote system is required to authenticate itself");
- option_error(
-"(because this system has a default route to the internet)");
- } else if (explicit_remote)
- option_error(
-"The remote system (%s) is required to authenticate itself",
- remote_name);
- else
- option_error(
-"The remote system is required to authenticate itself");
- option_error(
-"but I couldn't find any suitable secret (password) for it to use to do so.");
- if (lacks_ip)
- option_error(
-"(None of the available passwords would let it use an IP address.)");
-
- exit(1);
- }
-}
-
-/*
- * auth_reset - called when LCP is starting negotiations to recheck
- * authentication options, i.e. whether we have appropriate secrets
- * to use for authenticating ourselves and/or the peer.
- */
-void
-auth_reset(unit)
- int unit;
-{
- lcp_options *go = &lcp_gotoptions[unit];
- lcp_options *ao = &lcp_allowoptions[0];
-
- ao->neg_upap = !refuse_pap && (passwd[0] != 0 || get_pap_passwd(NULL));
- ao->neg_chap = !refuse_chap
- && (passwd[0] != 0
- || have_chap_secret(user, (explicit_remote? remote_name: NULL),
- 0, NULL));
-
- if (go->neg_upap && !uselogin && !have_pap_secret(NULL))
- go->neg_upap = 0;
- if (go->neg_chap) {
- if (!have_chap_secret((explicit_remote? remote_name: NULL),
- our_name, 1, NULL))
- go->neg_chap = 0;
- }
-}
-
-
-/*
- * check_passwd - Check the user name and passwd against the PAP secrets
- * file. If requested, also check against the system password database,
- * and login the user if OK.
- *
- * returns:
- * UPAP_AUTHNAK: Authentication failed.
- * UPAP_AUTHACK: Authentication succeeded.
- * In either case, msg points to an appropriate message.
- */
-int
-check_passwd(unit, auser, userlen, apasswd, passwdlen, msg)
- int unit;
- char *auser;
- int userlen;
- char *apasswd;
- int passwdlen;
- char **msg;
-{
- int ret;
- char *filename;
- FILE *f;
- struct wordlist *addrs = NULL, *opts = NULL;
- char passwd[256], user[256];
- char secret[MAXWORDLEN];
- static int attempts = 0;
-
- /*
- * Make copies of apasswd and auser, then null-terminate them.
- * If there are unprintable characters in the password, make
- * them visible.
- */
- slprintf(passwd, sizeof(passwd), "%.*v", passwdlen, apasswd);
- slprintf(user, sizeof(user), "%.*v", userlen, auser);
- *msg = "";
-
- /*
- * Check if a plugin wants to handle this.
- */
- if (pap_auth_hook) {
- ret = (*pap_auth_hook)(user, passwd, msg, &addrs, &opts);
- if (ret >= 0) {
- if (ret)
- set_allowed_addrs(unit, addrs, opts);
- BZERO(passwd, sizeof(passwd));
- if (addrs != 0)
- free_wordlist(addrs);
- return ret? UPAP_AUTHACK: UPAP_AUTHNAK;
- }
- }
-
- /*
- * Open the file of pap secrets and scan for a suitable secret
- * for authenticating this user.
- */
- filename = _PATH_UPAPFILE;
- addrs = opts = NULL;
- ret = UPAP_AUTHNAK;
- f = fopen(filename, "r");
- if (f == NULL) {
- error("Can't open PAP password file %s: %m", filename);
-
- } else {
- check_access(f, filename);
- if (scan_authfile(f, user, our_name, secret, &addrs, &opts, filename) < 0) {
- warn("no PAP secret found for %s", user);
- } else {
- /*
- * If the secret is "@login", it means to check
- * the password against the login database.
- */
- int login_secret = strcmp(secret, "@login") == 0;
- ret = UPAP_AUTHACK;
- if (uselogin || login_secret) {
- /* login option or secret is @login */
- ret = plogin(user, passwd, msg);
- if (ret == UPAP_AUTHNAK)
- warn("PAP login failure for %s", user);
- else
- used_login = 1;
- }
- if (secret[0] != 0 && !login_secret) {
- /* password given in pap-secrets - must match */
- if ((cryptpap || strcmp(passwd, secret) != 0)
- && strcmp(crypt(passwd, secret), secret) != 0) {
- ret = UPAP_AUTHNAK;
- warn("PAP authentication failure for %s", user);
- }
- }
- }
- fclose(f);
- }
-
- if (ret == UPAP_AUTHNAK) {
- if (**msg == 0)
- *msg = "Login incorrect";
- /*
- * XXX can we ever get here more than once??
- * Frustrate passwd stealer programs.
- * Allow 10 tries, but start backing off after 3 (stolen from login).
- * On 10'th, drop the connection.
- */
- if (attempts++ >= 10) {
- warn("%d LOGIN FAILURES ON %s, %s", attempts, devnam, user);
- lcp_close(unit, "login failed");
- }
- if (attempts > 3)
- sleep((u_int) (attempts - 3) * 5);
- if (opts != NULL)
- free_wordlist(opts);
-
- } else {
- attempts = 0; /* Reset count */
- if (**msg == 0)
- *msg = "Login ok";
- set_allowed_addrs(unit, addrs, opts);
- }
-
- if (addrs != NULL)
- free_wordlist(addrs);
- BZERO(passwd, sizeof(passwd));
- BZERO(secret, sizeof(secret));
-
- return ret;
-}
-
-/*
- * This function is needed for PAM.
- */
-
-#ifdef USE_PAM
-/* Static variables used to communicate between the conversation function
- * and the server_login function
- */
-static char *PAM_username;
-static char *PAM_password;
-static int PAM_error = 0;
-static pam_handle_t *pamh = NULL;
-
-/* PAM conversation function
- * Here we assume (for now, at least) that echo on means login name, and
- * echo off means password.
- */
-
-static int PAM_conv (int num_msg, const struct pam_message **msg,
- struct pam_response **resp, void *appdata_ptr)
-{
- int replies = 0;
- struct pam_response *reply = NULL;
-
-#define COPY_STRING(s) (s) ? strdup(s) : NULL
-
- reply = malloc(sizeof(struct pam_response) * num_msg);
- if (!reply) return PAM_CONV_ERR;
-
- for (replies = 0; replies < num_msg; replies++) {
- switch (msg[replies]->msg_style) {
- case PAM_PROMPT_ECHO_ON:
- reply[replies].resp_retcode = PAM_SUCCESS;
- reply[replies].resp = COPY_STRING(PAM_username);
- /* PAM frees resp */
- break;
- case PAM_PROMPT_ECHO_OFF:
- reply[replies].resp_retcode = PAM_SUCCESS;
- reply[replies].resp = COPY_STRING(PAM_password);
- /* PAM frees resp */
- break;
- case PAM_TEXT_INFO:
- /* fall through */
- case PAM_ERROR_MSG:
- /* ignore it, but pam still wants a NULL response... */
- reply[replies].resp_retcode = PAM_SUCCESS;
- reply[replies].resp = NULL;
- break;
- default:
- /* Must be an error of some sort... */
- free (reply);
- PAM_error = 1;
- return PAM_CONV_ERR;
- }
- }
- *resp = reply;
- return PAM_SUCCESS;
-}
-
-static struct pam_conv PAM_conversation = {
- &PAM_conv,
- NULL
-};
-#endif /* USE_PAM */
-
-/*
- * plogin - Check the user name and password against the system
- * password database, and login the user if OK.
- *
- * returns:
- * UPAP_AUTHNAK: Login failed.
- * UPAP_AUTHACK: Login succeeded.
- * In either case, msg points to an appropriate message.
- */
-
-static int
-plogin(user, passwd, msg)
- char *user;
- char *passwd;
- char **msg;
-{
- char *tty;
-
-#ifdef USE_PAM
- int pam_error;
-
- pam_error = pam_start ("ppp", user, &PAM_conversation, &pamh);
- if (pam_error != PAM_SUCCESS) {
- *msg = (char *) pam_strerror (pamh, pam_error);
- reopen_log();
- return UPAP_AUTHNAK;
- }
- /*
- * Define the fields for the credential validation
- */
-
- PAM_username = user;
- PAM_password = passwd;
- PAM_error = 0;
- pam_set_item (pamh, PAM_TTY, devnam); /* this might be useful to some modules */
-
- /*
- * Validate the user
- */
- pam_error = pam_authenticate (pamh, PAM_SILENT);
- if (pam_error == PAM_SUCCESS && !PAM_error) {
- pam_error = pam_acct_mgmt (pamh, PAM_SILENT);
- if (pam_error == PAM_SUCCESS)
- pam_error = pam_open_session (pamh, PAM_SILENT);
- }
-
- *msg = (char *) pam_strerror (pamh, pam_error);
-
- /*
- * Clean up the mess
- */
- reopen_log(); /* apparently the PAM stuff does closelog() */
- PAM_username = NULL;
- PAM_password = NULL;
- if (pam_error != PAM_SUCCESS)
- return UPAP_AUTHNAK;
-#else /* #ifdef USE_PAM */
-
-/*
- * Use the non-PAM methods directly
- */
-
-#ifdef HAS_SHADOW
- struct spwd *spwd;
- struct spwd *getspnam();
-#endif
- struct passwd *pw = getpwnam(user);
-
- endpwent();
- if (pw == NULL)
- return (UPAP_AUTHNAK);
-
-#ifdef HAS_SHADOW
- spwd = getspnam(user);
- endspent();
- if (spwd) {
- /* check the age of the password entry */
- long now = time(NULL) / 86400L;
-
- if ((spwd->sp_expire > 0 && now >= spwd->sp_expire)
- || ((spwd->sp_max >= 0 && spwd->sp_max < 10000)
- && spwd->sp_lstchg >= 0
- && now >= spwd->sp_lstchg + spwd->sp_max)) {
- warn("Password for %s has expired", user);
- return (UPAP_AUTHNAK);
- }
- pw->pw_passwd = spwd->sp_pwdp;
- }
-#endif
-
- /*
- * If no passwd, don't let them login.
- */
- if (pw->pw_passwd == NULL || strlen(pw->pw_passwd) < 2
- || strcmp(crypt(passwd, pw->pw_passwd), pw->pw_passwd) != 0)
- return (UPAP_AUTHNAK);
-
-#endif /* #ifdef USE_PAM */
-
- /*
- * Write a wtmp entry for this user.
- */
-
- tty = devnam;
- if (strncmp(tty, "/dev/", 5) == 0)
- tty += 5;
- logwtmp(tty, user, remote_name); /* Add wtmp login entry */
-
-#if defined(_PATH_LASTLOG) && !defined(USE_PAM)
- if (pw != (struct passwd *)NULL) {
- struct lastlog ll;
- int fd;
-
- if ((fd = open(_PATH_LASTLOG, O_RDWR, 0)) >= 0) {
- (void)lseek(fd, (off_t)(pw->pw_uid * sizeof(ll)), SEEK_SET);
- memset((void *)&ll, 0, sizeof(ll));
- (void)time(&ll.ll_time);
- (void)strncpy(ll.ll_line, tty, sizeof(ll.ll_line));
- (void)write(fd, (char *)&ll, sizeof(ll));
- (void)close(fd);
- }
- }
-#endif /* _PATH_LASTLOG and not USE_PAM */
-
- info("user %s logged in", user);
- logged_in = 1;
-
- return (UPAP_AUTHACK);
-}
-
-/*
- * plogout - Logout the user.
- */
-static void
-plogout()
-{
-#ifdef USE_PAM
- int pam_error;
-
- if (pamh != NULL) {
- pam_error = pam_close_session (pamh, PAM_SILENT);
- pam_end (pamh, pam_error);
- pamh = NULL;
- }
- /* Apparently the pam stuff does closelog(). */
- reopen_log();
-#else /* ! USE_PAM */
- char *tty;
-
- tty = devnam;
- if (strncmp(tty, "/dev/", 5) == 0)
- tty += 5;
- logwtmp(tty, "", ""); /* Wipe out utmp logout entry */
-#endif /* ! USE_PAM */
- logged_in = 0;
-}
-
-
-/*
- * null_login - Check if a username of "" and a password of "" are
- * acceptable, and iff so, set the list of acceptable IP addresses
- * and return 1.
- */
-static int
-null_login(unit)
- int unit;
-{
- char *filename;
- FILE *f;
- int i, ret;
- struct wordlist *addrs, *opts;
- char secret[MAXWORDLEN];
-
- /*
- * Open the file of pap secrets and scan for a suitable secret.
- */
- filename = _PATH_UPAPFILE;
- addrs = NULL;
- f = fopen(filename, "r");
- if (f == NULL)
- return 0;
- check_access(f, filename);
-
- i = scan_authfile(f, "", our_name, secret, &addrs, &opts, filename);
- ret = i >= 0 && secret[0] == 0;
- BZERO(secret, sizeof(secret));
-
- if (ret)
- set_allowed_addrs(unit, addrs, opts);
- else if (opts != 0)
- free_wordlist(opts);
- if (addrs != 0)
- free_wordlist(addrs);
-
- fclose(f);
- return ret;
-}
-
-
-/*
- * get_pap_passwd - get a password for authenticating ourselves with
- * our peer using PAP. Returns 1 on success, 0 if no suitable password
- * could be found.
- * Assumes passwd points to MAXSECRETLEN bytes of space (if non-null).
- */
-static int
-get_pap_passwd(passwd)
- char *passwd;
-{
- char *filename;
- FILE *f;
- int ret;
- char secret[MAXWORDLEN];
-
- /*
- * Check whether a plugin wants to supply this.
- */
- if (pap_passwd_hook) {
- ret = (*pap_passwd_hook)(user, passwd);
- if (ret >= 0)
- return ret;
- }
-
- filename = _PATH_UPAPFILE;
- f = fopen(filename, "r");
- if (f == NULL)
- return 0;
- check_access(f, filename);
- ret = scan_authfile(f, user,
- (remote_name[0]? remote_name: NULL),
- secret, NULL, NULL, filename);
- fclose(f);
- if (ret < 0)
- return 0;
- if (passwd != NULL)
- strlcpy(passwd, secret, MAXSECRETLEN);
- BZERO(secret, sizeof(secret));
- return 1;
-}
-
-
-/*
- * have_pap_secret - check whether we have a PAP file with any
- * secrets that we could possibly use for authenticating the peer.
- */
-static int
-have_pap_secret(lacks_ipp)
- int *lacks_ipp;
-{
- FILE *f;
- int ret;
- char *filename;
- struct wordlist *addrs;
-
- /* let the plugin decide, if there is one */
- if (pap_check_hook) {
- ret = (*pap_check_hook)();
- if (ret >= 0)
- return ret;
- }
-
- filename = _PATH_UPAPFILE;
- f = fopen(filename, "r");
- if (f == NULL)
- return 0;
-
- ret = scan_authfile(f, (explicit_remote? remote_name: NULL), our_name,
- NULL, &addrs, NULL, filename);
- fclose(f);
- if (ret >= 0 && !some_ip_ok(addrs)) {
- if (lacks_ipp != 0)
- *lacks_ipp = 1;
- ret = -1;
- }
- if (addrs != 0)
- free_wordlist(addrs);
-
- return ret >= 0;
-}
-
-
-/*
- * have_chap_secret - check whether we have a CHAP file with a
- * secret that we could possibly use for authenticating `client'
- * on `server'. Either can be the null string, meaning we don't
- * know the identity yet.
- */
-static int
-have_chap_secret(client, server, need_ip, lacks_ipp)
- char *client;
- char *server;
- int need_ip;
- int *lacks_ipp;
-{
- FILE *f;
- int ret;
- char *filename;
- struct wordlist *addrs;
-
- filename = _PATH_CHAPFILE;
- f = fopen(filename, "r");
- if (f == NULL)
- return 0;
-
- if (client != NULL && client[0] == 0)
- client = NULL;
- else if (server != NULL && server[0] == 0)
- server = NULL;
-
- ret = scan_authfile(f, client, server, NULL, &addrs, NULL, filename);
- fclose(f);
- if (ret >= 0 && need_ip && !some_ip_ok(addrs)) {
- if (lacks_ipp != 0)
- *lacks_ipp = 1;
- ret = -1;
- }
- if (addrs != 0)
- free_wordlist(addrs);
-
- return ret >= 0;
-}
-
-
-/*
- * get_secret - open the CHAP secret file and return the secret
- * for authenticating the given client on the given server.
- * (We could be either client or server).
- */
-int
-get_secret(unit, client, server, secret, secret_len, am_server)
- int unit;
- char *client;
- char *server;
- char *secret;
- int *secret_len;
- int am_server;
-{
- FILE *f;
- int ret, len;
- char *filename;
- struct wordlist *addrs, *opts;
- char secbuf[MAXWORDLEN];
-
- if (!am_server && passwd[0] != 0) {
- strlcpy(secbuf, passwd, sizeof(secbuf));
- } else {
- filename = _PATH_CHAPFILE;
- addrs = NULL;
- secbuf[0] = 0;
-
- f = fopen(filename, "r");
- if (f == NULL) {
- error("Can't open chap secret file %s: %m", filename);
- return 0;
- }
- check_access(f, filename);
-
- ret = scan_authfile(f, client, server, secbuf, &addrs, &opts, filename);
- fclose(f);
- if (ret < 0)
- return 0;
-
- if (am_server)
- set_allowed_addrs(unit, addrs, opts);
- else if (opts != 0)
- free_wordlist(opts);
- if (addrs != 0)
- free_wordlist(addrs);
- }
-
- len = strlen(secbuf);
- if (len > MAXSECRETLEN) {
- error("Secret for %s on %s is too long", client, server);
- len = MAXSECRETLEN;
- }
- BCOPY(secbuf, secret, len);
- BZERO(secbuf, sizeof(secbuf));
- *secret_len = len;
-
- return 1;
-}
-
-/*
- * set_allowed_addrs() - set the list of allowed addresses.
- * Also looks for `--' indicating options to apply for this peer
- * and leaves the following words in extra_options.
- */
-static void
-set_allowed_addrs(unit, addrs, opts)
- int unit;
- struct wordlist *addrs;
- struct wordlist *opts;
-{
- int n;
- struct wordlist *ap, **plink;
- struct permitted_ip *ip;
- char *ptr_word, *ptr_mask;
- struct hostent *hp;
- struct netent *np;
- u_int32_t a, mask, ah, offset;
- struct ipcp_options *wo = &ipcp_wantoptions[unit];
- u_int32_t suggested_ip = 0;
-
- if (addresses[unit] != NULL)
- free(addresses[unit]);
- addresses[unit] = NULL;
- if (extra_options != NULL)
- free_wordlist(extra_options);
- extra_options = opts;
-
- /*
- * Count the number of IP addresses given.
- */
- n = wordlist_count(addrs) + wordlist_count(noauth_addrs);
- if (n == 0)
- return;
- ip = (struct permitted_ip *) malloc((n + 1) * sizeof(struct permitted_ip));
- if (ip == 0)
- return;
-
- /* temporarily append the noauth_addrs list to addrs */
- for (plink = &addrs; *plink != NULL; plink = &(*plink)->next)
- ;
- *plink = noauth_addrs;
-
- n = 0;
- for (ap = addrs; ap != NULL; ap = ap->next) {
- /* "-" means no addresses authorized, "*" means any address allowed */
- ptr_word = ap->word;
- if (strcmp(ptr_word, "-") == 0)
- break;
- if (strcmp(ptr_word, "*") == 0) {
- ip[n].permit = 1;
- ip[n].base = ip[n].mask = 0;
- ++n;
- break;
- }
-
- ip[n].permit = 1;
- if (*ptr_word == '!') {
- ip[n].permit = 0;
- ++ptr_word;
- }
-
- mask = ~ (u_int32_t) 0;
- offset = 0;
- ptr_mask = strchr (ptr_word, '/');
- if (ptr_mask != NULL) {
- int bit_count;
- char *endp;
-
- bit_count = (int) strtol (ptr_mask+1, &endp, 10);
- if (bit_count <= 0 || bit_count > 32) {
- warn("invalid address length %v in auth. address list",
- ptr_mask+1);
- continue;
- }
- bit_count = 32 - bit_count; /* # bits in host part */
- if (*endp == '+') {
- offset = ifunit + 1;
- ++endp;
- }
- if (*endp != 0) {
- warn("invalid address length syntax: %v", ptr_mask+1);
- continue;
- }
- *ptr_mask = '\0';
- mask <<= bit_count;
- }
-
- hp = gethostbyname(ptr_word);
- if (hp != NULL && hp->h_addrtype == AF_INET) {
- a = *(u_int32_t *)hp->h_addr;
- } else {
- np = getnetbyname (ptr_word);
- if (np != NULL && np->n_addrtype == AF_INET) {
- a = htonl (*(u_int32_t *)np->n_net);
- if (ptr_mask == NULL) {
- /* calculate appropriate mask for net */
- ah = ntohl(a);
- if (IN_CLASSA(ah))
- mask = IN_CLASSA_NET;
- else if (IN_CLASSB(ah))
- mask = IN_CLASSB_NET;
- else if (IN_CLASSC(ah))
- mask = IN_CLASSC_NET;
- }
- } else {
- a = inet_addr (ptr_word);
- }
- }
-
- if (ptr_mask != NULL)
- *ptr_mask = '/';
-
- if (a == (u_int32_t)-1L) {
- warn("unknown host %s in auth. address list", ap->word);
- continue;
- }
- if (offset != 0) {
- if (offset >= ~mask) {
- warn("interface unit %d too large for subnet %v",
- ifunit, ptr_word);
- continue;
- }
- a = htonl((ntohl(a) & mask) + offset);
- mask = ~(u_int32_t)0;
- }
- ip[n].mask = htonl(mask);
- ip[n].base = a & ip[n].mask;
- ++n;
- if (~mask == 0 && suggested_ip == 0)
- suggested_ip = a;
- }
- *plink = NULL;
-
- ip[n].permit = 0; /* make the last entry forbid all addresses */
- ip[n].base = 0; /* to terminate the list */
- ip[n].mask = 0;
-
- addresses[unit] = ip;
-
- /*
- * If the address given for the peer isn't authorized, or if
- * the user hasn't given one, AND there is an authorized address
- * which is a single host, then use that if we find one.
- */
- if (suggested_ip != 0
- && (wo->hisaddr == 0 || !auth_ip_addr(unit, wo->hisaddr))) {
- wo->hisaddr = suggested_ip;
- /*
- * Do we insist on this address? No, if there are other
- * addresses authorized than the suggested one.
- */
- if (n > 1)
- wo->accept_remote = 1;
- }
-}
-
-/*
- * auth_ip_addr - check whether the peer is authorized to use
- * a given IP address. Returns 1 if authorized, 0 otherwise.
- */
-int
-auth_ip_addr(unit, addr)
- int unit;
- u_int32_t addr;
-{
- int ok;
-
- /* don't allow loopback or multicast address */
- if (bad_ip_adrs(addr))
- return 0;
-
- if (addresses[unit] != NULL) {
- ok = ip_addr_check(addr, addresses[unit]);
- if (ok >= 0)
- return ok;
- }
- if (auth_required)
- return 0; /* no addresses authorized */
- return allow_any_ip || privileged || !have_route_to(addr);
-}
-
-static int
-ip_addr_check(addr, addrs)
- u_int32_t addr;
- struct permitted_ip *addrs;
-{
- for (; ; ++addrs)
- if ((addr & addrs->mask) == addrs->base)
- return addrs->permit;
-}
-
-/*
- * bad_ip_adrs - return 1 if the IP address is one we don't want
- * to use, such as an address in the loopback net or a multicast address.
- * addr is in network byte order.
- */
-int
-bad_ip_adrs(addr)
- u_int32_t addr;
-{
- addr = ntohl(addr);
- return (addr >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET
- || IN_MULTICAST(addr) || IN_BADCLASS(addr);
-}
-
-/*
- * some_ip_ok - check a wordlist to see if it authorizes any
- * IP address(es).
- */
-static int
-some_ip_ok(addrs)
- struct wordlist *addrs;
-{
- for (; addrs != 0; addrs = addrs->next) {
- if (addrs->word[0] == '-')
- break;
- if (addrs->word[0] != '!')
- return 1; /* some IP address is allowed */
- }
- return 0;
-}
-
-/*
- * check_access - complain if a secret file has too-liberal permissions.
- */
-static void
-check_access(f, filename)
- FILE *f;
- char *filename;
-{
- struct stat sbuf;
-
- if (fstat(fileno(f), &sbuf) < 0) {
- warn("cannot stat secret file %s: %m", filename);
- } else if ((sbuf.st_mode & (S_IRWXG | S_IRWXO)) != 0) {
- warn("Warning - secret file %s has world and/or group access",
- filename);
- }
-}
-
-
-/*
- * scan_authfile - Scan an authorization file for a secret suitable
- * for authenticating `client' on `server'. The return value is -1
- * if no secret is found, otherwise >= 0. The return value has
- * NONWILD_CLIENT set if the secret didn't have "*" for the client, and
- * NONWILD_SERVER set if the secret didn't have "*" for the server.
- * Any following words on the line up to a "--" (i.e. address authorization
- * info) are placed in a wordlist and returned in *addrs. Any
- * following words (extra options) are placed in a wordlist and
- * returned in *opts.
- * We assume secret is NULL or points to MAXWORDLEN bytes of space.
- */
-static int
-scan_authfile(f, client, server, secret, addrs, opts, filename)
- FILE *f;
- char *client;
- char *server;
- char *secret;
- struct wordlist **addrs;
- struct wordlist **opts;
- char *filename;
-{
- int newline, xxx;
- int got_flag, best_flag;
- FILE *sf;
- struct wordlist *ap, *addr_list, *alist, **app;
- char word[MAXWORDLEN];
- char atfile[MAXWORDLEN];
- char lsecret[MAXWORDLEN];
-
- if (addrs != NULL)
- *addrs = NULL;
- if (opts != NULL)
- *opts = NULL;
- addr_list = NULL;
- if (!getword(f, word, &newline, filename))
- return -1; /* file is empty??? */
- newline = 1;
- best_flag = -1;
- for (;;) {
- /*
- * Skip until we find a word at the start of a line.
- */
- while (!newline && getword(f, word, &newline, filename))
- ;
- if (!newline)
- break; /* got to end of file */
-
- /*
- * Got a client - check if it's a match or a wildcard.
- */
- got_flag = 0;
- if (client != NULL && strcmp(word, client) != 0 && !ISWILD(word)) {
- newline = 0;
- continue;
- }
- if (!ISWILD(word))
- got_flag = NONWILD_CLIENT;
-
- /*
- * Now get a server and check if it matches.
- */
- if (!getword(f, word, &newline, filename))
- break;
- if (newline)
- continue;
- if (!ISWILD(word)) {
- if (server != NULL && strcmp(word, server) != 0)
- continue;
- got_flag |= NONWILD_SERVER;
- }
-
- /*
- * Got some sort of a match - see if it's better than what
- * we have already.
- */
- if (got_flag <= best_flag)
- continue;
-
- /*
- * Get the secret.
- */
- if (!getword(f, word, &newline, filename))
- break;
- if (newline)
- continue;
-
- if (secret != NULL) {
- /*
- * Special syntax: @/pathname means read secret from file.
- */
- if (word[0] == '@' && word[1] == '/') {
- strlcpy(atfile, word+1, sizeof(atfile));
- if ((sf = fopen(atfile, "r")) == NULL) {
- warn("can't open indirect secret file %s", atfile);
- continue;
- }
- check_access(sf, atfile);
- if (!getword(sf, word, &xxx, atfile)) {
- warn("no secret in indirect secret file %s", atfile);
- fclose(sf);
- continue;
- }
- fclose(sf);
- }
- strlcpy(lsecret, word, sizeof(lsecret));
- }
-
- /*
- * Now read address authorization info and make a wordlist.
- */
- app = &alist;
- for (;;) {
- if (!getword(f, word, &newline, filename) || newline)
- break;
- ap = (struct wordlist *)
- malloc(sizeof(struct wordlist) + strlen(word) + 1);
- if (ap == NULL)
- novm("authorized addresses");
- ap->word = (char *) (ap + 1);
- strcpy(ap->word, word);
- *app = ap;
- app = &ap->next;
- }
- *app = NULL;
-
- /*
- * This is the best so far; remember it.
- */
- best_flag = got_flag;
- if (addr_list)
- free_wordlist(addr_list);
- addr_list = alist;
- if (secret != NULL)
- strlcpy(secret, lsecret, MAXWORDLEN);
-
- if (!newline)
- break;
- }
-
- /* scan for a -- word indicating the start of options */
- for (app = &addr_list; (ap = *app) != NULL; app = &ap->next)
- if (strcmp(ap->word, "--") == 0)
- break;
- /* ap = start of options */
- if (ap != NULL) {
- ap = ap->next; /* first option */
- free(*app); /* free the "--" word */
- *app = NULL; /* terminate addr list */
- }
- if (opts != NULL)
- *opts = ap;
- else if (ap != NULL)
- free_wordlist(ap);
- if (addrs != NULL)
- *addrs = addr_list;
- else if (addr_list != NULL)
- free_wordlist(addr_list);
-
- return best_flag;
-}
-
-/*
- * wordlist_count - return the number of items in a wordlist
- */
-static int
-wordlist_count(wp)
- struct wordlist *wp;
-{
- int n;
-
- for (n = 0; wp != NULL; wp = wp->next)
- ++n;
- return n;
-}
-
-/*
- * free_wordlist - release memory allocated for a wordlist.
- */
-static void
-free_wordlist(wp)
- struct wordlist *wp;
-{
- struct wordlist *next;
-
- while (wp != NULL) {
- next = wp->next;
- free(wp);
- wp = next;
- }
-}
-
-/*
- * auth_script_done - called when the auth-up or auth-down script
- * has finished.
- */
-static void
-auth_script_done(arg)
- void *arg;
-{
- auth_script_pid = 0;
- switch (auth_script_state) {
- case s_up:
- if (auth_state == s_down) {
- auth_script_state = s_down;
- auth_script(_PATH_AUTHDOWN);
- }
- break;
- case s_down:
- if (auth_state == s_up) {
- auth_script_state = s_up;
- auth_script(_PATH_AUTHUP);
- }
- break;
- }
-}
-
-/*
- * auth_script - execute a script with arguments
- * interface-name peer-name real-user tty speed
- */
-static void
-auth_script(script)
- char *script;
-{
- char strspeed[32];
- struct passwd *pw;
- char struid[32];
- char *user_name;
- char *argv[8];
-
- if ((pw = getpwuid(getuid())) != NULL && pw->pw_name != NULL)
- user_name = pw->pw_name;
- else {
- slprintf(struid, sizeof(struid), "%d", getuid());
- user_name = struid;
- }
- slprintf(strspeed, sizeof(strspeed), "%d", baud_rate);
-
- argv[0] = script;
- argv[1] = ifname;
- argv[2] = peer_authname;
- argv[3] = user_name;
- argv[4] = devnam;
- argv[5] = strspeed;
- argv[6] = NULL;
-
- auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL);
-}
diff --git a/mdk-stage1/ppp/pppd/cbcp.c b/mdk-stage1/ppp/pppd/cbcp.c
deleted file mode 100644
index 8c57b3cde..000000000
--- a/mdk-stage1/ppp/pppd/cbcp.c
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
- * cbcp - Call Back Configuration Protocol.
- *
- * Copyright (c) 1995 Pedro Roque Marques
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Pedro Roque Marques. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include "pppd.h"
-#include "cbcp.h"
-#include "fsm.h"
-#include "lcp.h"
-
-static const char rcsid[] = RCSID;
-
-/*
- * Options.
- */
-static int setcbcp __P((char **));
-
-static option_t cbcp_option_list[] = {
- { "callback", o_special, setcbcp,
- "Ask for callback", OPT_PRIO | OPT_A2STRVAL, &cbcp[0].us_number },
- { NULL }
-};
-
-/*
- * Protocol entry points.
- */
-static void cbcp_init __P((int unit));
-static void cbcp_open __P((int unit));
-static void cbcp_lowerup __P((int unit));
-static void cbcp_input __P((int unit, u_char *pkt, int len));
-static void cbcp_protrej __P((int unit));
-static int cbcp_printpkt __P((u_char *pkt, int len,
- void (*printer) __P((void *, char *, ...)),
- void *arg));
-
-struct protent cbcp_protent = {
- PPP_CBCP,
- cbcp_init,
- cbcp_input,
- cbcp_protrej,
- cbcp_lowerup,
- NULL,
- cbcp_open,
- NULL,
- cbcp_printpkt,
- NULL,
- 0,
- "CBCP",
- NULL,
- cbcp_option_list,
- NULL,
- NULL,
- NULL
-};
-
-cbcp_state cbcp[NUM_PPP];
-
-/* internal prototypes */
-
-static void cbcp_recvreq __P((cbcp_state *us, char *pckt, int len));
-static void cbcp_resp __P((cbcp_state *us));
-static void cbcp_up __P((cbcp_state *us));
-static void cbcp_recvack __P((cbcp_state *us, char *pckt, int len));
-static void cbcp_send __P((cbcp_state *us, u_char code, u_char *buf, int len));
-
-/* option processing */
-static int
-setcbcp(argv)
- char **argv;
-{
- lcp_wantoptions[0].neg_cbcp = 1;
- cbcp_protent.enabled_flag = 1;
- cbcp[0].us_number = strdup(*argv);
- if (cbcp[0].us_number == 0)
- novm("callback number");
- cbcp[0].us_type |= (1 << CB_CONF_USER);
- cbcp[0].us_type |= (1 << CB_CONF_ADMIN);
- return (1);
-}
-
-/* init state */
-static void
-cbcp_init(iface)
- int iface;
-{
- cbcp_state *us;
-
- us = &cbcp[iface];
- memset(us, 0, sizeof(cbcp_state));
- us->us_unit = iface;
- us->us_type |= (1 << CB_CONF_NO);
-}
-
-/* lower layer is up */
-static void
-cbcp_lowerup(iface)
- int iface;
-{
- cbcp_state *us = &cbcp[iface];
-
- dbglog("cbcp_lowerup");
- dbglog("want: %d", us->us_type);
-
- if (us->us_type == CB_CONF_USER)
- dbglog("phone no: %s", us->us_number);
-}
-
-static void
-cbcp_open(unit)
- int unit;
-{
- dbglog("cbcp_open");
-}
-
-/* process an incomming packet */
-static void
-cbcp_input(unit, inpacket, pktlen)
- int unit;
- u_char *inpacket;
- int pktlen;
-{
- u_char *inp;
- u_char code, id;
- u_short len;
-
- cbcp_state *us = &cbcp[unit];
-
- inp = inpacket;
-
- if (pktlen < CBCP_MINLEN) {
- error("CBCP packet is too small");
- return;
- }
-
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- GETSHORT(len, inp);
-
-#if 0
- if (len > pktlen) {
- error("CBCP packet: invalid length");
- return;
- }
-#endif
-
- len -= CBCP_MINLEN;
-
- switch(code) {
- case CBCP_REQ:
- us->us_id = id;
- cbcp_recvreq(us, inp, len);
- break;
-
- case CBCP_RESP:
- dbglog("CBCP_RESP received");
- break;
-
- case CBCP_ACK:
- if (id != us->us_id)
- dbglog("id doesn't match: expected %d recv %d",
- us->us_id, id);
-
- cbcp_recvack(us, inp, len);
- break;
-
- default:
- break;
- }
-}
-
-/* protocol was rejected by foe */
-void cbcp_protrej(int iface)
-{
-}
-
-char *cbcp_codenames[] = {
- "Request", "Response", "Ack"
-};
-
-char *cbcp_optionnames[] = {
- "NoCallback",
- "UserDefined",
- "AdminDefined",
- "List"
-};
-
-/* pretty print a packet */
-static int
-cbcp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, opt, id, len, olen, delay;
- u_char *pstart;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(cbcp_codenames) / sizeof(char *))
- printer(arg, " %s", cbcp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
-
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
-
- switch (code) {
- case CBCP_REQ:
- case CBCP_RESP:
- case CBCP_ACK:
- while(len >= 2) {
- GETCHAR(opt, p);
- GETCHAR(olen, p);
-
- if (olen < 2 || olen > len) {
- break;
- }
-
- printer(arg, " <");
- len -= olen;
-
- if (opt >= 1 && opt <= sizeof(cbcp_optionnames) / sizeof(char *))
- printer(arg, " %s", cbcp_optionnames[opt-1]);
- else
- printer(arg, " option=0x%x", opt);
-
- if (olen > 2) {
- GETCHAR(delay, p);
- printer(arg, " delay = %d", delay);
- }
-
- if (olen > 3) {
- int addrt;
- char str[256];
-
- GETCHAR(addrt, p);
- memcpy(str, p, olen - 4);
- str[olen - 4] = 0;
- printer(arg, " number = %s", str);
- }
- printer(arg, ">");
- break;
- }
-
- default:
- break;
- }
-
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
-
- return p - pstart;
-}
-
-/* received CBCP request */
-static void
-cbcp_recvreq(us, pckt, pcktlen)
- cbcp_state *us;
- char *pckt;
- int pcktlen;
-{
- u_char type, opt_len, delay, addr_type;
- char address[256];
- int len = pcktlen;
-
- address[0] = 0;
-
- while (len) {
- dbglog("length: %d", len);
-
- GETCHAR(type, pckt);
- GETCHAR(opt_len, pckt);
-
- if (opt_len > 2)
- GETCHAR(delay, pckt);
-
- us->us_allowed |= (1 << type);
-
- switch(type) {
- case CB_CONF_NO:
- dbglog("no callback allowed");
- break;
-
- case CB_CONF_USER:
- dbglog("user callback allowed");
- if (opt_len > 4) {
- GETCHAR(addr_type, pckt);
- memcpy(address, pckt, opt_len - 4);
- address[opt_len - 4] = 0;
- if (address[0])
- dbglog("address: %s", address);
- }
- break;
-
- case CB_CONF_ADMIN:
- dbglog("user admin defined allowed");
- break;
-
- case CB_CONF_LIST:
- break;
- }
- len -= opt_len;
- }
-
- cbcp_resp(us);
-}
-
-static void
-cbcp_resp(us)
- cbcp_state *us;
-{
- u_char cb_type;
- u_char buf[256];
- u_char *bufp = buf;
- int len = 0;
-
- cb_type = us->us_allowed & us->us_type;
- dbglog("cbcp_resp cb_type=%d", cb_type);
-
-#if 0
- if (!cb_type)
- lcp_down(us->us_unit);
-#endif
-
- if (cb_type & ( 1 << CB_CONF_USER ) ) {
- dbglog("cbcp_resp CONF_USER");
- PUTCHAR(CB_CONF_USER, bufp);
- len = 3 + 1 + strlen(us->us_number) + 1;
- PUTCHAR(len , bufp);
- PUTCHAR(5, bufp); /* delay */
- PUTCHAR(1, bufp);
- BCOPY(us->us_number, bufp, strlen(us->us_number) + 1);
- cbcp_send(us, CBCP_RESP, buf, len);
- return;
- }
-
- if (cb_type & ( 1 << CB_CONF_ADMIN ) ) {
- dbglog("cbcp_resp CONF_ADMIN");
- PUTCHAR(CB_CONF_ADMIN, bufp);
- len = 3;
- PUTCHAR(len, bufp);
- PUTCHAR(5, bufp); /* delay */
- cbcp_send(us, CBCP_RESP, buf, len);
- return;
- }
-
- if (cb_type & ( 1 << CB_CONF_NO ) ) {
- dbglog("cbcp_resp CONF_NO");
- PUTCHAR(CB_CONF_NO, bufp);
- len = 3;
- PUTCHAR(len , bufp);
- PUTCHAR(0, bufp);
- cbcp_send(us, CBCP_RESP, buf, len);
- start_networks();
- return;
- }
-}
-
-static void
-cbcp_send(us, code, buf, len)
- cbcp_state *us;
- u_char code;
- u_char *buf;
- int len;
-{
- u_char *outp;
- int outlen;
-
- outp = outpacket_buf;
-
- outlen = 4 + len;
-
- MAKEHEADER(outp, PPP_CBCP);
-
- PUTCHAR(code, outp);
- PUTCHAR(us->us_id, outp);
- PUTSHORT(outlen, outp);
-
- if (len)
- BCOPY(buf, outp, len);
-
- output(us->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
-}
-
-static void
-cbcp_recvack(us, pckt, len)
- cbcp_state *us;
- char *pckt;
- int len;
-{
- u_char type, delay, addr_type;
- int opt_len;
- char address[256];
-
- if (len) {
- GETCHAR(type, pckt);
- GETCHAR(opt_len, pckt);
-
- if (opt_len > 2)
- GETCHAR(delay, pckt);
-
- if (opt_len > 4) {
- GETCHAR(addr_type, pckt);
- memcpy(address, pckt, opt_len - 4);
- address[opt_len - 4] = 0;
- if (address[0])
- dbglog("peer will call: %s", address);
- }
- if (type == CB_CONF_NO)
- return;
- }
-
- cbcp_up(us);
-}
-
-/* ok peer will do callback */
-static void
-cbcp_up(us)
- cbcp_state *us;
-{
- persist = 0;
- lcp_close(0, "Call me back, please");
- status = EXIT_CALLBACK;
-}
diff --git a/mdk-stage1/ppp/pppd/cbcp.h b/mdk-stage1/ppp/pppd/cbcp.h
deleted file mode 100644
index c2ab3f689..000000000
--- a/mdk-stage1/ppp/pppd/cbcp.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef CBCP_H
-#define CBCP_H
-
-typedef struct cbcp_state {
- int us_unit; /* Interface unit number */
- u_char us_id; /* Current id */
- u_char us_allowed;
- int us_type;
- char *us_number; /* Telefone Number */
-} cbcp_state;
-
-extern cbcp_state cbcp[];
-
-extern struct protent cbcp_protent;
-
-#define CBCP_MINLEN 4
-
-#define CBCP_REQ 1
-#define CBCP_RESP 2
-#define CBCP_ACK 3
-
-#define CB_CONF_NO 1
-#define CB_CONF_USER 2
-#define CB_CONF_ADMIN 3
-#define CB_CONF_LIST 4
-#endif
diff --git a/mdk-stage1/ppp/pppd/ccp.c b/mdk-stage1/ppp/pppd/ccp.c
deleted file mode 100644
index 7e36e384e..000000000
--- a/mdk-stage1/ppp/pppd/ccp.c
+++ /dev/null
@@ -1,1257 +0,0 @@
-/*
- * ccp.c - PPP Compression Control Protocol.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-#define RCSID "$Id$"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ccp.h"
-#include <net/ppp-comp.h>
-
-static const char rcsid[] = RCSID;
-
-/*
- * Unfortunately there is a bug in zlib which means that using a
- * size of 8 (window size = 256) for Deflate compression will cause
- * buffer overruns and kernel crashes in the deflate module.
- * Until this is fixed we only accept sizes in the range 9 .. 15.
- * Thanks to James Carlson for pointing this out.
- */
-#define DEFLATE_MIN_WORKS 9
-
-/*
- * Command-line options.
- */
-static int setbsdcomp __P((char **));
-static int setdeflate __P((char **));
-static char bsd_value[8];
-static char deflate_value[8];
-
-static option_t ccp_option_list[] = {
- { "noccp", o_bool, &ccp_protent.enabled_flag,
- "Disable CCP negotiation" },
- { "-ccp", o_bool, &ccp_protent.enabled_flag,
- "Disable CCP negotiation", OPT_ALIAS },
-
- { "bsdcomp", o_special, (void *)setbsdcomp,
- "Request BSD-Compress packet compression",
- OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, bsd_value },
- { "nobsdcomp", o_bool, &ccp_wantoptions[0].bsd_compress,
- "don't allow BSD-Compress", OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].bsd_compress },
- { "-bsdcomp", o_bool, &ccp_wantoptions[0].bsd_compress,
- "don't allow BSD-Compress", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].bsd_compress },
-
- { "deflate", o_special, (void *)setdeflate,
- "request Deflate compression",
- OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, deflate_value },
- { "nodeflate", o_bool, &ccp_wantoptions[0].deflate,
- "don't allow Deflate compression", OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].deflate },
- { "-deflate", o_bool, &ccp_wantoptions[0].deflate,
- "don't allow Deflate compression", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].deflate },
-
- { "nodeflatedraft", o_bool, &ccp_wantoptions[0].deflate_draft,
- "don't use draft deflate #", OPT_A2COPY,
- &ccp_allowoptions[0].deflate_draft },
-
- { "predictor1", o_bool, &ccp_wantoptions[0].predictor_1,
- "request Predictor-1", 1, &ccp_allowoptions[0].predictor_1, OPT_PRIO },
- { "nopredictor1", o_bool, &ccp_wantoptions[0].predictor_1,
- "don't allow Predictor-1", OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].predictor_1 },
- { "-predictor1", o_bool, &ccp_wantoptions[0].predictor_1,
- "don't allow Predictor-1", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].predictor_1 },
-
- { NULL }
-};
-
-/*
- * Protocol entry points from main code.
- */
-static void ccp_init __P((int unit));
-static void ccp_open __P((int unit));
-static void ccp_close __P((int unit, char *));
-static void ccp_lowerup __P((int unit));
-static void ccp_lowerdown __P((int));
-static void ccp_input __P((int unit, u_char *pkt, int len));
-static void ccp_protrej __P((int unit));
-static int ccp_printpkt __P((u_char *pkt, int len,
- void (*printer) __P((void *, char *, ...)),
- void *arg));
-static void ccp_datainput __P((int unit, u_char *pkt, int len));
-
-struct protent ccp_protent = {
- PPP_CCP,
- ccp_init,
- ccp_input,
- ccp_protrej,
- ccp_lowerup,
- ccp_lowerdown,
- ccp_open,
- ccp_close,
- ccp_printpkt,
- ccp_datainput,
- 1,
- "CCP",
- "Compressed",
- ccp_option_list,
- NULL,
- NULL,
- NULL
-};
-
-fsm ccp_fsm[NUM_PPP];
-ccp_options ccp_wantoptions[NUM_PPP]; /* what to request the peer to use */
-ccp_options ccp_gotoptions[NUM_PPP]; /* what the peer agreed to do */
-ccp_options ccp_allowoptions[NUM_PPP]; /* what we'll agree to do */
-ccp_options ccp_hisoptions[NUM_PPP]; /* what we agreed to do */
-
-/*
- * Callbacks for fsm code.
- */
-static void ccp_resetci __P((fsm *));
-static int ccp_cilen __P((fsm *));
-static void ccp_addci __P((fsm *, u_char *, int *));
-static int ccp_ackci __P((fsm *, u_char *, int));
-static int ccp_nakci __P((fsm *, u_char *, int));
-static int ccp_rejci __P((fsm *, u_char *, int));
-static int ccp_reqci __P((fsm *, u_char *, int *, int));
-static void ccp_up __P((fsm *));
-static void ccp_down __P((fsm *));
-static int ccp_extcode __P((fsm *, int, int, u_char *, int));
-static void ccp_rack_timeout __P((void *));
-static char *method_name __P((ccp_options *, ccp_options *));
-
-static fsm_callbacks ccp_callbacks = {
- ccp_resetci,
- ccp_cilen,
- ccp_addci,
- ccp_ackci,
- ccp_nakci,
- ccp_rejci,
- ccp_reqci,
- ccp_up,
- ccp_down,
- NULL,
- NULL,
- NULL,
- NULL,
- ccp_extcode,
- "CCP"
-};
-
-/*
- * Do we want / did we get any compression?
- */
-#define ANY_COMPRESS(opt) ((opt).deflate || (opt).bsd_compress \
- || (opt).predictor_1 || (opt).predictor_2)
-
-/*
- * Local state (mainly for handling reset-reqs and reset-acks).
- */
-static int ccp_localstate[NUM_PPP];
-#define RACK_PENDING 1 /* waiting for reset-ack */
-#define RREQ_REPEAT 2 /* send another reset-req if no reset-ack */
-
-#define RACKTIMEOUT 1 /* second */
-
-static int all_rejected[NUM_PPP]; /* we rejected all peer's options */
-
-/*
- * Option parsing.
- */
-static int
-setbsdcomp(argv)
- char **argv;
-{
- int rbits, abits;
- char *str, *endp;
-
- str = *argv;
- abits = rbits = strtol(str, &endp, 0);
- if (endp != str && *endp == ',') {
- str = endp + 1;
- abits = strtol(str, &endp, 0);
- }
- if (*endp != 0 || endp == str) {
- option_error("invalid parameter '%s' for bsdcomp option", *argv);
- return 0;
- }
- if ((rbits != 0 && (rbits < BSD_MIN_BITS || rbits > BSD_MAX_BITS))
- || (abits != 0 && (abits < BSD_MIN_BITS || abits > BSD_MAX_BITS))) {
- option_error("bsdcomp option values must be 0 or %d .. %d",
- BSD_MIN_BITS, BSD_MAX_BITS);
- return 0;
- }
- if (rbits > 0) {
- ccp_wantoptions[0].bsd_compress = 1;
- ccp_wantoptions[0].bsd_bits = rbits;
- } else
- ccp_wantoptions[0].bsd_compress = 0;
- if (abits > 0) {
- ccp_allowoptions[0].bsd_compress = 1;
- ccp_allowoptions[0].bsd_bits = abits;
- } else
- ccp_allowoptions[0].bsd_compress = 0;
- slprintf(bsd_value, sizeof(bsd_value),
- rbits == abits? "%d": "%d,%d", rbits, abits);
-
- return 1;
-}
-
-static int
-setdeflate(argv)
- char **argv;
-{
- int rbits, abits;
- char *str, *endp;
-
- str = *argv;
- abits = rbits = strtol(str, &endp, 0);
- if (endp != str && *endp == ',') {
- str = endp + 1;
- abits = strtol(str, &endp, 0);
- }
- if (*endp != 0 || endp == str) {
- option_error("invalid parameter '%s' for deflate option", *argv);
- return 0;
- }
- if ((rbits != 0 && (rbits < DEFLATE_MIN_SIZE || rbits > DEFLATE_MAX_SIZE))
- || (abits != 0 && (abits < DEFLATE_MIN_SIZE
- || abits > DEFLATE_MAX_SIZE))) {
- option_error("deflate option values must be 0 or %d .. %d",
- DEFLATE_MIN_SIZE, DEFLATE_MAX_SIZE);
- return 0;
- }
- if (rbits == DEFLATE_MIN_SIZE || abits == DEFLATE_MIN_SIZE) {
- if (rbits == DEFLATE_MIN_SIZE)
- rbits = DEFLATE_MIN_WORKS;
- if (abits == DEFLATE_MIN_SIZE)
- abits = DEFLATE_MIN_WORKS;
- warn("deflate option value of %d changed to %d to avoid zlib bug",
- DEFLATE_MIN_SIZE, DEFLATE_MIN_WORKS);
- }
- if (rbits > 0) {
- ccp_wantoptions[0].deflate = 1;
- ccp_wantoptions[0].deflate_size = rbits;
- } else
- ccp_wantoptions[0].deflate = 0;
- if (abits > 0) {
- ccp_allowoptions[0].deflate = 1;
- ccp_allowoptions[0].deflate_size = abits;
- } else
- ccp_allowoptions[0].deflate = 0;
- slprintf(deflate_value, sizeof(deflate_value),
- rbits == abits? "%d": "%d,%d", rbits, abits);
-
- return 1;
-}
-
-/*
- * ccp_init - initialize CCP.
- */
-static void
-ccp_init(unit)
- int unit;
-{
- fsm *f = &ccp_fsm[unit];
-
- f->unit = unit;
- f->protocol = PPP_CCP;
- f->callbacks = &ccp_callbacks;
- fsm_init(f);
-
- memset(&ccp_wantoptions[unit], 0, sizeof(ccp_options));
- memset(&ccp_gotoptions[unit], 0, sizeof(ccp_options));
- memset(&ccp_allowoptions[unit], 0, sizeof(ccp_options));
- memset(&ccp_hisoptions[unit], 0, sizeof(ccp_options));
-
- ccp_wantoptions[0].deflate = 1;
- ccp_wantoptions[0].deflate_size = DEFLATE_MAX_SIZE;
- ccp_wantoptions[0].deflate_correct = 1;
- ccp_wantoptions[0].deflate_draft = 1;
- ccp_allowoptions[0].deflate = 1;
- ccp_allowoptions[0].deflate_size = DEFLATE_MAX_SIZE;
- ccp_allowoptions[0].deflate_correct = 1;
- ccp_allowoptions[0].deflate_draft = 1;
-
- ccp_wantoptions[0].bsd_compress = 1;
- ccp_wantoptions[0].bsd_bits = BSD_MAX_BITS;
- ccp_allowoptions[0].bsd_compress = 1;
- ccp_allowoptions[0].bsd_bits = BSD_MAX_BITS;
-
- ccp_allowoptions[0].predictor_1 = 1;
-}
-
-/*
- * ccp_open - CCP is allowed to come up.
- */
-static void
-ccp_open(unit)
- int unit;
-{
- fsm *f = &ccp_fsm[unit];
-
- if (f->state != OPENED)
- ccp_flags_set(unit, 1, 0);
-
- /*
- * Find out which compressors the kernel supports before
- * deciding whether to open in silent mode.
- */
- ccp_resetci(f);
- if (!ANY_COMPRESS(ccp_gotoptions[unit]))
- f->flags |= OPT_SILENT;
-
- fsm_open(f);
-}
-
-/*
- * ccp_close - Terminate CCP.
- */
-static void
-ccp_close(unit, reason)
- int unit;
- char *reason;
-{
- ccp_flags_set(unit, 0, 0);
- fsm_close(&ccp_fsm[unit], reason);
-}
-
-/*
- * ccp_lowerup - we may now transmit CCP packets.
- */
-static void
-ccp_lowerup(unit)
- int unit;
-{
- fsm_lowerup(&ccp_fsm[unit]);
-}
-
-/*
- * ccp_lowerdown - we may not transmit CCP packets.
- */
-static void
-ccp_lowerdown(unit)
- int unit;
-{
- fsm_lowerdown(&ccp_fsm[unit]);
-}
-
-/*
- * ccp_input - process a received CCP packet.
- */
-static void
-ccp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm *f = &ccp_fsm[unit];
- int oldstate;
-
- /*
- * Check for a terminate-request so we can print a message.
- */
- oldstate = f->state;
- fsm_input(f, p, len);
- if (oldstate == OPENED && p[0] == TERMREQ && f->state != OPENED)
- notice("Compression disabled by peer.");
-
- /*
- * If we get a terminate-ack and we're not asking for compression,
- * close CCP.
- */
- if (oldstate == REQSENT && p[0] == TERMACK
- && !ANY_COMPRESS(ccp_gotoptions[unit]))
- ccp_close(unit, "No compression negotiated");
-}
-
-/*
- * Handle a CCP-specific code.
- */
-static int
-ccp_extcode(f, code, id, p, len)
- fsm *f;
- int code, id;
- u_char *p;
- int len;
-{
- switch (code) {
- case CCP_RESETREQ:
- if (f->state != OPENED)
- break;
- /* send a reset-ack, which the transmitter will see and
- reset its compression state. */
- fsm_sdata(f, CCP_RESETACK, id, NULL, 0);
- break;
-
- case CCP_RESETACK:
- if (ccp_localstate[f->unit] & RACK_PENDING && id == f->reqid) {
- ccp_localstate[f->unit] &= ~(RACK_PENDING | RREQ_REPEAT);
- UNTIMEOUT(ccp_rack_timeout, f);
- }
- break;
-
- default:
- return 0;
- }
-
- return 1;
-}
-
-/*
- * ccp_protrej - peer doesn't talk CCP.
- */
-static void
-ccp_protrej(unit)
- int unit;
-{
- ccp_flags_set(unit, 0, 0);
- fsm_lowerdown(&ccp_fsm[unit]);
-}
-
-/*
- * ccp_resetci - initialize at start of negotiation.
- */
-static void
-ccp_resetci(f)
- fsm *f;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- u_char opt_buf[16];
-
- *go = ccp_wantoptions[f->unit];
- all_rejected[f->unit] = 0;
-
- /*
- * Check whether the kernel knows about the various
- * compression methods we might request.
- */
- if (go->bsd_compress) {
- opt_buf[0] = CI_BSD_COMPRESS;
- opt_buf[1] = CILEN_BSD_COMPRESS;
- opt_buf[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, BSD_MIN_BITS);
- if (ccp_test(f->unit, opt_buf, CILEN_BSD_COMPRESS, 0) <= 0)
- go->bsd_compress = 0;
- }
- if (go->deflate) {
- if (go->deflate_correct) {
- opt_buf[0] = CI_DEFLATE;
- opt_buf[1] = CILEN_DEFLATE;
- opt_buf[2] = DEFLATE_MAKE_OPT(DEFLATE_MIN_WORKS);
- opt_buf[3] = DEFLATE_CHK_SEQUENCE;
- if (ccp_test(f->unit, opt_buf, CILEN_DEFLATE, 0) <= 0)
- go->deflate_correct = 0;
- }
- if (go->deflate_draft) {
- opt_buf[0] = CI_DEFLATE_DRAFT;
- opt_buf[1] = CILEN_DEFLATE;
- opt_buf[2] = DEFLATE_MAKE_OPT(DEFLATE_MIN_WORKS);
- opt_buf[3] = DEFLATE_CHK_SEQUENCE;
- if (ccp_test(f->unit, opt_buf, CILEN_DEFLATE, 0) <= 0)
- go->deflate_draft = 0;
- }
- if (!go->deflate_correct && !go->deflate_draft)
- go->deflate = 0;
- }
- if (go->predictor_1) {
- opt_buf[0] = CI_PREDICTOR_1;
- opt_buf[1] = CILEN_PREDICTOR_1;
- if (ccp_test(f->unit, opt_buf, CILEN_PREDICTOR_1, 0) <= 0)
- go->predictor_1 = 0;
- }
- if (go->predictor_2) {
- opt_buf[0] = CI_PREDICTOR_2;
- opt_buf[1] = CILEN_PREDICTOR_2;
- if (ccp_test(f->unit, opt_buf, CILEN_PREDICTOR_2, 0) <= 0)
- go->predictor_2 = 0;
- }
-}
-
-/*
- * ccp_cilen - Return total length of our configuration info.
- */
-static int
-ccp_cilen(f)
- fsm *f;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
-
- return (go->bsd_compress? CILEN_BSD_COMPRESS: 0)
- + (go->deflate? CILEN_DEFLATE: 0)
- + (go->predictor_1? CILEN_PREDICTOR_1: 0)
- + (go->predictor_2? CILEN_PREDICTOR_2: 0);
-}
-
-/*
- * ccp_addci - put our requests in a packet.
- */
-static void
-ccp_addci(f, p, lenp)
- fsm *f;
- u_char *p;
- int *lenp;
-{
- int res;
- ccp_options *go = &ccp_gotoptions[f->unit];
- u_char *p0 = p;
-
- /*
- * Add the compression types that we can receive, in decreasing
- * preference order. Get the kernel to allocate the first one
- * in case it gets Acked.
- */
- if (go->deflate) {
- p[0] = go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT;
- p[1] = CILEN_DEFLATE;
- p[2] = DEFLATE_MAKE_OPT(go->deflate_size);
- p[3] = DEFLATE_CHK_SEQUENCE;
- for (;;) {
- res = ccp_test(f->unit, p, CILEN_DEFLATE, 0);
- if (res > 0) {
- p += CILEN_DEFLATE;
- break;
- }
- if (res < 0 || go->deflate_size <= DEFLATE_MIN_WORKS) {
- go->deflate = 0;
- break;
- }
- --go->deflate_size;
- p[2] = DEFLATE_MAKE_OPT(go->deflate_size);
- }
- if (p != p0 && go->deflate_correct && go->deflate_draft) {
- p[0] = CI_DEFLATE_DRAFT;
- p[1] = CILEN_DEFLATE;
- p[2] = p[2 - CILEN_DEFLATE];
- p[3] = DEFLATE_CHK_SEQUENCE;
- p += CILEN_DEFLATE;
- }
- }
- if (go->bsd_compress) {
- p[0] = CI_BSD_COMPRESS;
- p[1] = CILEN_BSD_COMPRESS;
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits);
- if (p != p0) {
- p += CILEN_BSD_COMPRESS; /* not the first option */
- } else {
- for (;;) {
- res = ccp_test(f->unit, p, CILEN_BSD_COMPRESS, 0);
- if (res > 0) {
- p += CILEN_BSD_COMPRESS;
- break;
- }
- if (res < 0 || go->bsd_bits <= BSD_MIN_BITS) {
- go->bsd_compress = 0;
- break;
- }
- --go->bsd_bits;
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits);
- }
- }
- }
- /* XXX Should Predictor 2 be preferable to Predictor 1? */
- if (go->predictor_1) {
- p[0] = CI_PREDICTOR_1;
- p[1] = CILEN_PREDICTOR_1;
- if (p == p0 && ccp_test(f->unit, p, CILEN_PREDICTOR_1, 0) <= 0) {
- go->predictor_1 = 0;
- } else {
- p += CILEN_PREDICTOR_1;
- }
- }
- if (go->predictor_2) {
- p[0] = CI_PREDICTOR_2;
- p[1] = CILEN_PREDICTOR_2;
- if (p == p0 && ccp_test(f->unit, p, CILEN_PREDICTOR_2, 0) <= 0) {
- go->predictor_2 = 0;
- } else {
- p += CILEN_PREDICTOR_2;
- }
- }
-
- go->method = (p > p0)? p0[0]: -1;
-
- *lenp = p - p0;
-}
-
-/*
- * ccp_ackci - process a received configure-ack, and return
- * 1 iff the packet was OK.
- */
-static int
-ccp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- u_char *p0 = p;
-
- if (go->deflate) {
- if (len < CILEN_DEFLATE
- || p[0] != (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
- || p[1] != CILEN_DEFLATE
- || p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
- || p[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- /* XXX Cope with first/fast ack */
- if (len == 0)
- return 1;
- if (go->deflate_correct && go->deflate_draft) {
- if (len < CILEN_DEFLATE
- || p[0] != CI_DEFLATE_DRAFT
- || p[1] != CILEN_DEFLATE
- || p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
- || p[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- }
- }
- if (go->bsd_compress) {
- if (len < CILEN_BSD_COMPRESS
- || p[0] != CI_BSD_COMPRESS || p[1] != CILEN_BSD_COMPRESS
- || p[2] != BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits))
- return 0;
- p += CILEN_BSD_COMPRESS;
- len -= CILEN_BSD_COMPRESS;
- /* XXX Cope with first/fast ack */
- if (p == p0 && len == 0)
- return 1;
- }
- if (go->predictor_1) {
- if (len < CILEN_PREDICTOR_1
- || p[0] != CI_PREDICTOR_1 || p[1] != CILEN_PREDICTOR_1)
- return 0;
- p += CILEN_PREDICTOR_1;
- len -= CILEN_PREDICTOR_1;
- /* XXX Cope with first/fast ack */
- if (p == p0 && len == 0)
- return 1;
- }
- if (go->predictor_2) {
- if (len < CILEN_PREDICTOR_2
- || p[0] != CI_PREDICTOR_2 || p[1] != CILEN_PREDICTOR_2)
- return 0;
- p += CILEN_PREDICTOR_2;
- len -= CILEN_PREDICTOR_2;
- /* XXX Cope with first/fast ack */
- if (p == p0 && len == 0)
- return 1;
- }
-
- if (len != 0)
- return 0;
- return 1;
-}
-
-/*
- * ccp_nakci - process received configure-nak.
- * Returns 1 iff the nak was OK.
- */
-static int
-ccp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- ccp_options no; /* options we've seen already */
- ccp_options try; /* options to ask for next time */
-
- memset(&no, 0, sizeof(no));
- try = *go;
-
- if (go->deflate && len >= CILEN_DEFLATE
- && p[0] == (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
- && p[1] == CILEN_DEFLATE) {
- no.deflate = 1;
- /*
- * Peer wants us to use a different code size or something.
- * Stop asking for Deflate if we don't understand his suggestion.
- */
- if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL
- || DEFLATE_SIZE(p[2]) < DEFLATE_MIN_WORKS
- || p[3] != DEFLATE_CHK_SEQUENCE)
- try.deflate = 0;
- else if (DEFLATE_SIZE(p[2]) < go->deflate_size)
- try.deflate_size = DEFLATE_SIZE(p[2]);
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- if (go->deflate_correct && go->deflate_draft
- && len >= CILEN_DEFLATE && p[0] == CI_DEFLATE_DRAFT
- && p[1] == CILEN_DEFLATE) {
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- }
- }
-
- if (go->bsd_compress && len >= CILEN_BSD_COMPRESS
- && p[0] == CI_BSD_COMPRESS && p[1] == CILEN_BSD_COMPRESS) {
- no.bsd_compress = 1;
- /*
- * Peer wants us to use a different number of bits
- * or a different version.
- */
- if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION)
- try.bsd_compress = 0;
- else if (BSD_NBITS(p[2]) < go->bsd_bits)
- try.bsd_bits = BSD_NBITS(p[2]);
- p += CILEN_BSD_COMPRESS;
- len -= CILEN_BSD_COMPRESS;
- }
-
- /*
- * Predictor-1 and 2 have no options, so they can't be Naked.
- *
- * There may be remaining options but we ignore them.
- */
-
- if (f->state != OPENED)
- *go = try;
- return 1;
-}
-
-/*
- * ccp_rejci - reject some of our suggested compression methods.
- */
-static int
-ccp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- ccp_options try; /* options to request next time */
-
- try = *go;
-
- /*
- * Cope with empty configure-rejects by ceasing to send
- * configure-requests.
- */
- if (len == 0 && all_rejected[f->unit])
- return -1;
-
- if (go->deflate && len >= CILEN_DEFLATE
- && p[0] == (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
- && p[1] == CILEN_DEFLATE) {
- if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
- || p[3] != DEFLATE_CHK_SEQUENCE)
- return 0; /* Rej is bad */
- if (go->deflate_correct)
- try.deflate_correct = 0;
- else
- try.deflate_draft = 0;
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- if (go->deflate_correct && go->deflate_draft
- && len >= CILEN_DEFLATE && p[0] == CI_DEFLATE_DRAFT
- && p[1] == CILEN_DEFLATE) {
- if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
- || p[3] != DEFLATE_CHK_SEQUENCE)
- return 0; /* Rej is bad */
- try.deflate_draft = 0;
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- }
- if (!try.deflate_correct && !try.deflate_draft)
- try.deflate = 0;
- }
- if (go->bsd_compress && len >= CILEN_BSD_COMPRESS
- && p[0] == CI_BSD_COMPRESS && p[1] == CILEN_BSD_COMPRESS) {
- if (p[2] != BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits))
- return 0;
- try.bsd_compress = 0;
- p += CILEN_BSD_COMPRESS;
- len -= CILEN_BSD_COMPRESS;
- }
- if (go->predictor_1 && len >= CILEN_PREDICTOR_1
- && p[0] == CI_PREDICTOR_1 && p[1] == CILEN_PREDICTOR_1) {
- try.predictor_1 = 0;
- p += CILEN_PREDICTOR_1;
- len -= CILEN_PREDICTOR_1;
- }
- if (go->predictor_2 && len >= CILEN_PREDICTOR_2
- && p[0] == CI_PREDICTOR_2 && p[1] == CILEN_PREDICTOR_2) {
- try.predictor_2 = 0;
- p += CILEN_PREDICTOR_2;
- len -= CILEN_PREDICTOR_2;
- }
-
- if (len != 0)
- return 0;
-
- if (f->state != OPENED)
- *go = try;
-
- return 1;
-}
-
-/*
- * ccp_reqci - processed a received configure-request.
- * Returns CONFACK, CONFNAK or CONFREJ and the packet modified
- * appropriately.
- */
-static int
-ccp_reqci(f, p, lenp, dont_nak)
- fsm *f;
- u_char *p;
- int *lenp;
- int dont_nak;
-{
- int ret, newret, res;
- u_char *p0, *retp;
- int len, clen, type, nb;
- ccp_options *ho = &ccp_hisoptions[f->unit];
- ccp_options *ao = &ccp_allowoptions[f->unit];
-
- ret = CONFACK;
- retp = p0 = p;
- len = *lenp;
-
- memset(ho, 0, sizeof(ccp_options));
- ho->method = (len > 0)? p[0]: -1;
-
- while (len > 0) {
- newret = CONFACK;
- if (len < 2 || p[1] < 2 || p[1] > len) {
- /* length is bad */
- clen = len;
- newret = CONFREJ;
-
- } else {
- type = p[0];
- clen = p[1];
-
- switch (type) {
- case CI_DEFLATE:
- case CI_DEFLATE_DRAFT:
- if (!ao->deflate || clen != CILEN_DEFLATE
- || (!ao->deflate_correct && type == CI_DEFLATE)
- || (!ao->deflate_draft && type == CI_DEFLATE_DRAFT)) {
- newret = CONFREJ;
- break;
- }
-
- ho->deflate = 1;
- ho->deflate_size = nb = DEFLATE_SIZE(p[2]);
- if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL
- || p[3] != DEFLATE_CHK_SEQUENCE
- || nb > ao->deflate_size || nb < DEFLATE_MIN_WORKS) {
- newret = CONFNAK;
- if (!dont_nak) {
- p[2] = DEFLATE_MAKE_OPT(ao->deflate_size);
- p[3] = DEFLATE_CHK_SEQUENCE;
- /* fall through to test this #bits below */
- } else
- break;
- }
-
- /*
- * Check whether we can do Deflate with the window
- * size they want. If the window is too big, reduce
- * it until the kernel can cope and nak with that.
- * We only check this for the first option.
- */
- if (p == p0) {
- for (;;) {
- res = ccp_test(f->unit, p, CILEN_DEFLATE, 1);
- if (res > 0)
- break; /* it's OK now */
- if (res < 0 || nb == DEFLATE_MIN_WORKS || dont_nak) {
- newret = CONFREJ;
- p[2] = DEFLATE_MAKE_OPT(ho->deflate_size);
- break;
- }
- newret = CONFNAK;
- --nb;
- p[2] = DEFLATE_MAKE_OPT(nb);
- }
- }
- break;
-
- case CI_BSD_COMPRESS:
- if (!ao->bsd_compress || clen != CILEN_BSD_COMPRESS) {
- newret = CONFREJ;
- break;
- }
-
- ho->bsd_compress = 1;
- ho->bsd_bits = nb = BSD_NBITS(p[2]);
- if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION
- || nb > ao->bsd_bits || nb < BSD_MIN_BITS) {
- newret = CONFNAK;
- if (!dont_nak) {
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, ao->bsd_bits);
- /* fall through to test this #bits below */
- } else
- break;
- }
-
- /*
- * Check whether we can do BSD-Compress with the code
- * size they want. If the code size is too big, reduce
- * it until the kernel can cope and nak with that.
- * We only check this for the first option.
- */
- if (p == p0) {
- for (;;) {
- res = ccp_test(f->unit, p, CILEN_BSD_COMPRESS, 1);
- if (res > 0)
- break;
- if (res < 0 || nb == BSD_MIN_BITS || dont_nak) {
- newret = CONFREJ;
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION,
- ho->bsd_bits);
- break;
- }
- newret = CONFNAK;
- --nb;
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, nb);
- }
- }
- break;
-
- case CI_PREDICTOR_1:
- if (!ao->predictor_1 || clen != CILEN_PREDICTOR_1) {
- newret = CONFREJ;
- break;
- }
-
- ho->predictor_1 = 1;
- if (p == p0
- && ccp_test(f->unit, p, CILEN_PREDICTOR_1, 1) <= 0) {
- newret = CONFREJ;
- }
- break;
-
- case CI_PREDICTOR_2:
- if (!ao->predictor_2 || clen != CILEN_PREDICTOR_2) {
- newret = CONFREJ;
- break;
- }
-
- ho->predictor_2 = 1;
- if (p == p0
- && ccp_test(f->unit, p, CILEN_PREDICTOR_2, 1) <= 0) {
- newret = CONFREJ;
- }
- break;
-
- default:
- newret = CONFREJ;
- }
- }
-
- if (newret == CONFNAK && dont_nak)
- newret = CONFREJ;
- if (!(newret == CONFACK || (newret == CONFNAK && ret == CONFREJ))) {
- /* we're returning this option */
- if (newret == CONFREJ && ret == CONFNAK)
- retp = p0;
- ret = newret;
- if (p != retp)
- BCOPY(p, retp, clen);
- retp += clen;
- }
-
- p += clen;
- len -= clen;
- }
-
- if (ret != CONFACK) {
- if (ret == CONFREJ && *lenp == retp - p0)
- all_rejected[f->unit] = 1;
- else
- *lenp = retp - p0;
- }
- return ret;
-}
-
-/*
- * Make a string name for a compression method (or 2).
- */
-static char *
-method_name(opt, opt2)
- ccp_options *opt, *opt2;
-{
- static char result[64];
-
- if (!ANY_COMPRESS(*opt))
- return "(none)";
- switch (opt->method) {
- case CI_DEFLATE:
- case CI_DEFLATE_DRAFT:
- if (opt2 != NULL && opt2->deflate_size != opt->deflate_size)
- slprintf(result, sizeof(result), "Deflate%s (%d/%d)",
- (opt->method == CI_DEFLATE_DRAFT? "(old#)": ""),
- opt->deflate_size, opt2->deflate_size);
- else
- slprintf(result, sizeof(result), "Deflate%s (%d)",
- (opt->method == CI_DEFLATE_DRAFT? "(old#)": ""),
- opt->deflate_size);
- break;
- case CI_BSD_COMPRESS:
- if (opt2 != NULL && opt2->bsd_bits != opt->bsd_bits)
- slprintf(result, sizeof(result), "BSD-Compress (%d/%d)",
- opt->bsd_bits, opt2->bsd_bits);
- else
- slprintf(result, sizeof(result), "BSD-Compress (%d)",
- opt->bsd_bits);
- break;
- case CI_PREDICTOR_1:
- return "Predictor 1";
- case CI_PREDICTOR_2:
- return "Predictor 2";
- default:
- slprintf(result, sizeof(result), "Method %d", opt->method);
- }
- return result;
-}
-
-/*
- * CCP has come up - inform the kernel driver and log a message.
- */
-static void
-ccp_up(f)
- fsm *f;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- ccp_options *ho = &ccp_hisoptions[f->unit];
- char method1[64];
-
- ccp_flags_set(f->unit, 1, 1);
- if (ANY_COMPRESS(*go)) {
- if (ANY_COMPRESS(*ho)) {
- if (go->method == ho->method) {
- notice("%s compression enabled", method_name(go, ho));
- } else {
- strlcpy(method1, method_name(go, NULL), sizeof(method1));
- notice("%s / %s compression enabled",
- method1, method_name(ho, NULL));
- }
- } else
- notice("%s receive compression enabled", method_name(go, NULL));
- } else if (ANY_COMPRESS(*ho))
- notice("%s transmit compression enabled", method_name(ho, NULL));
-}
-
-/*
- * CCP has gone down - inform the kernel driver.
- */
-static void
-ccp_down(f)
- fsm *f;
-{
- if (ccp_localstate[f->unit] & RACK_PENDING)
- UNTIMEOUT(ccp_rack_timeout, f);
- ccp_localstate[f->unit] = 0;
- ccp_flags_set(f->unit, 1, 0);
-}
-
-/*
- * Print the contents of a CCP packet.
- */
-static char *ccp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej",
- NULL, NULL, NULL, NULL, NULL, NULL,
- "ResetReq", "ResetAck",
-};
-
-static int
-ccp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- u_char *p0, *optend;
- int code, id, len;
- int optlen;
-
- p0 = p;
- if (plen < HEADERLEN)
- return 0;
- code = p[0];
- id = p[1];
- len = (p[2] << 8) + p[3];
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ccp_codenames) / sizeof(char *)
- && ccp_codenames[code-1] != NULL)
- printer(arg, " %s", ccp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- p += HEADERLEN;
-
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print list of possible compression methods */
- while (len >= 2) {
- code = p[0];
- optlen = p[1];
- if (optlen < 2 || optlen > len)
- break;
- printer(arg, " <");
- len -= optlen;
- optend = p + optlen;
- switch (code) {
- case CI_DEFLATE:
- case CI_DEFLATE_DRAFT:
- if (optlen >= CILEN_DEFLATE) {
- printer(arg, "deflate%s %d",
- (code == CI_DEFLATE_DRAFT? "(old#)": ""),
- DEFLATE_SIZE(p[2]));
- if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL)
- printer(arg, " method %d", DEFLATE_METHOD(p[2]));
- if (p[3] != DEFLATE_CHK_SEQUENCE)
- printer(arg, " check %d", p[3]);
- p += CILEN_DEFLATE;
- }
- break;
- case CI_BSD_COMPRESS:
- if (optlen >= CILEN_BSD_COMPRESS) {
- printer(arg, "bsd v%d %d", BSD_VERSION(p[2]),
- BSD_NBITS(p[2]));
- p += CILEN_BSD_COMPRESS;
- }
- break;
- case CI_PREDICTOR_1:
- if (optlen >= CILEN_PREDICTOR_1) {
- printer(arg, "predictor 1");
- p += CILEN_PREDICTOR_1;
- }
- break;
- case CI_PREDICTOR_2:
- if (optlen >= CILEN_PREDICTOR_2) {
- printer(arg, "predictor 2");
- p += CILEN_PREDICTOR_2;
- }
- break;
- }
- while (p < optend)
- printer(arg, " %.2x", *p++);
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- print_string((char *)p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
- }
-
- /* dump out the rest of the packet in hex */
- while (--len >= 0)
- printer(arg, " %.2x", *p++);
-
- return p - p0;
-}
-
-/*
- * We have received a packet that the decompressor failed to
- * decompress. Here we would expect to issue a reset-request, but
- * Motorola has a patent on resetting the compressor as a result of
- * detecting an error in the decompressed data after decompression.
- * (See US patent 5,130,993; international patent publication number
- * WO 91/10289; Australian patent 73296/91.)
- *
- * So we ask the kernel whether the error was detected after
- * decompression; if it was, we take CCP down, thus disabling
- * compression :-(, otherwise we issue the reset-request.
- */
-static void
-ccp_datainput(unit, pkt, len)
- int unit;
- u_char *pkt;
- int len;
-{
- fsm *f;
-
- f = &ccp_fsm[unit];
- if (f->state == OPENED) {
- if (ccp_fatal_error(unit)) {
- /*
- * Disable compression by taking CCP down.
- */
- error("Lost compression sync: disabling compression");
- ccp_close(unit, "Lost compression sync");
- } else {
- /*
- * Send a reset-request to reset the peer's compressor.
- * We don't do that if we are still waiting for an
- * acknowledgement to a previous reset-request.
- */
- if (!(ccp_localstate[f->unit] & RACK_PENDING)) {
- fsm_sdata(f, CCP_RESETREQ, f->reqid = ++f->id, NULL, 0);
- TIMEOUT(ccp_rack_timeout, f, RACKTIMEOUT);
- ccp_localstate[f->unit] |= RACK_PENDING;
- } else
- ccp_localstate[f->unit] |= RREQ_REPEAT;
- }
- }
-}
-
-/*
- * Timeout waiting for reset-ack.
- */
-static void
-ccp_rack_timeout(arg)
- void *arg;
-{
- fsm *f = arg;
-
- if (f->state == OPENED && ccp_localstate[f->unit] & RREQ_REPEAT) {
- fsm_sdata(f, CCP_RESETREQ, f->reqid, NULL, 0);
- TIMEOUT(ccp_rack_timeout, f, RACKTIMEOUT);
- ccp_localstate[f->unit] &= ~RREQ_REPEAT;
- } else
- ccp_localstate[f->unit] &= ~RACK_PENDING;
-}
-
diff --git a/mdk-stage1/ppp/pppd/ccp.h b/mdk-stage1/ppp/pppd/ccp.h
deleted file mode 100644
index 609d858c5..000000000
--- a/mdk-stage1/ppp/pppd/ccp.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * ccp.h - Definitions for PPP Compression Control Protocol.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-typedef struct ccp_options {
- bool bsd_compress; /* do BSD Compress? */
- bool deflate; /* do Deflate? */
- bool predictor_1; /* do Predictor-1? */
- bool predictor_2; /* do Predictor-2? */
- bool deflate_correct; /* use correct code for deflate? */
- bool deflate_draft; /* use draft RFC code for deflate? */
- u_short bsd_bits; /* # bits/code for BSD Compress */
- u_short deflate_size; /* lg(window size) for Deflate */
- short method; /* code for chosen compression method */
-} ccp_options;
-
-extern fsm ccp_fsm[];
-extern ccp_options ccp_wantoptions[];
-extern ccp_options ccp_gotoptions[];
-extern ccp_options ccp_allowoptions[];
-extern ccp_options ccp_hisoptions[];
-
-extern struct protent ccp_protent;
diff --git a/mdk-stage1/ppp/pppd/chap.c b/mdk-stage1/ppp/pppd/chap.c
deleted file mode 100644
index 54c0e0095..000000000
--- a/mdk-stage1/ppp/pppd/chap.c
+++ /dev/null
@@ -1,860 +0,0 @@
-/*
- * chap.c - Challenge Handshake Authentication Protocol.
- *
- * Copyright (c) 1993 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Copyright (c) 1991 Gregory M. Christy.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Gregory M. Christy. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include "pppd.h"
-#include "chap.h"
-#include "md5.h"
-#ifdef CHAPMS
-#include "chap_ms.h"
-#endif
-
-static const char rcsid[] = RCSID;
-
-/*
- * Command-line options.
- */
-static option_t chap_option_list[] = {
- { "chap-restart", o_int, &chap[0].timeouttime,
- "Set timeout for CHAP", OPT_PRIO },
- { "chap-max-challenge", o_int, &chap[0].max_transmits,
- "Set max #xmits for challenge", OPT_PRIO },
- { "chap-interval", o_int, &chap[0].chal_interval,
- "Set interval for rechallenge", OPT_PRIO },
-#ifdef MSLANMAN
- { "ms-lanman", o_bool, &ms_lanman,
- "Use LanMan passwd when using MS-CHAP", 1 },
-#endif
- { NULL }
-};
-
-/*
- * Protocol entry points.
- */
-static void ChapInit __P((int));
-static void ChapLowerUp __P((int));
-static void ChapLowerDown __P((int));
-static void ChapInput __P((int, u_char *, int));
-static void ChapProtocolReject __P((int));
-static int ChapPrintPkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-
-struct protent chap_protent = {
- PPP_CHAP,
- ChapInit,
- ChapInput,
- ChapProtocolReject,
- ChapLowerUp,
- ChapLowerDown,
- NULL,
- NULL,
- ChapPrintPkt,
- NULL,
- 1,
- "CHAP",
- NULL,
- chap_option_list,
- NULL,
- NULL,
- NULL
-};
-
-chap_state chap[NUM_PPP]; /* CHAP state; one for each unit */
-
-static void ChapChallengeTimeout __P((void *));
-static void ChapResponseTimeout __P((void *));
-static void ChapReceiveChallenge __P((chap_state *, u_char *, int, int));
-static void ChapRechallenge __P((void *));
-static void ChapReceiveResponse __P((chap_state *, u_char *, int, int));
-static void ChapReceiveSuccess __P((chap_state *, u_char *, int, int));
-static void ChapReceiveFailure __P((chap_state *, u_char *, int, int));
-static void ChapSendStatus __P((chap_state *, int));
-static void ChapSendChallenge __P((chap_state *));
-static void ChapSendResponse __P((chap_state *));
-static void ChapGenChallenge __P((chap_state *));
-
-extern double drand48 __P((void));
-extern void srand48 __P((long));
-
-/*
- * ChapInit - Initialize a CHAP unit.
- */
-static void
-ChapInit(unit)
- int unit;
-{
- chap_state *cstate = &chap[unit];
-
- BZERO(cstate, sizeof(*cstate));
- cstate->unit = unit;
- cstate->clientstate = CHAPCS_INITIAL;
- cstate->serverstate = CHAPSS_INITIAL;
- cstate->timeouttime = CHAP_DEFTIMEOUT;
- cstate->max_transmits = CHAP_DEFTRANSMITS;
- /* random number generator is initialized in magic_init */
-}
-
-
-/*
- * ChapAuthWithPeer - Authenticate us with our peer (start client).
- *
- */
-void
-ChapAuthWithPeer(unit, our_name, digest)
- int unit;
- char *our_name;
- int digest;
-{
- chap_state *cstate = &chap[unit];
-
- cstate->resp_name = our_name;
- cstate->resp_type = digest;
-
- if (cstate->clientstate == CHAPCS_INITIAL ||
- cstate->clientstate == CHAPCS_PENDING) {
- /* lower layer isn't up - wait until later */
- cstate->clientstate = CHAPCS_PENDING;
- return;
- }
-
- /*
- * We get here as a result of LCP coming up.
- * So even if CHAP was open before, we will
- * have to re-authenticate ourselves.
- */
- cstate->clientstate = CHAPCS_LISTEN;
-}
-
-
-/*
- * ChapAuthPeer - Authenticate our peer (start server).
- */
-void
-ChapAuthPeer(unit, our_name, digest)
- int unit;
- char *our_name;
- int digest;
-{
- chap_state *cstate = &chap[unit];
-
- cstate->chal_name = our_name;
- cstate->chal_type = digest;
-
- if (cstate->serverstate == CHAPSS_INITIAL ||
- cstate->serverstate == CHAPSS_PENDING) {
- /* lower layer isn't up - wait until later */
- cstate->serverstate = CHAPSS_PENDING;
- return;
- }
-
- ChapGenChallenge(cstate);
- ChapSendChallenge(cstate); /* crank it up dude! */
- cstate->serverstate = CHAPSS_INITIAL_CHAL;
-}
-
-
-/*
- * ChapChallengeTimeout - Timeout expired on sending challenge.
- */
-static void
-ChapChallengeTimeout(arg)
- void *arg;
-{
- chap_state *cstate = (chap_state *) arg;
-
- /* if we aren't sending challenges, don't worry. then again we */
- /* probably shouldn't be here either */
- if (cstate->serverstate != CHAPSS_INITIAL_CHAL &&
- cstate->serverstate != CHAPSS_RECHALLENGE)
- return;
-
- if (cstate->chal_transmits >= cstate->max_transmits) {
- /* give up on peer */
- error("Peer failed to respond to CHAP challenge");
- cstate->serverstate = CHAPSS_BADAUTH;
- auth_peer_fail(cstate->unit, PPP_CHAP);
- return;
- }
-
- ChapSendChallenge(cstate); /* Re-send challenge */
-}
-
-
-/*
- * ChapResponseTimeout - Timeout expired on sending response.
- */
-static void
-ChapResponseTimeout(arg)
- void *arg;
-{
- chap_state *cstate = (chap_state *) arg;
-
- /* if we aren't sending a response, don't worry. */
- if (cstate->clientstate != CHAPCS_RESPONSE)
- return;
-
- ChapSendResponse(cstate); /* re-send response */
-}
-
-
-/*
- * ChapRechallenge - Time to challenge the peer again.
- */
-static void
-ChapRechallenge(arg)
- void *arg;
-{
- chap_state *cstate = (chap_state *) arg;
-
- /* if we aren't sending a response, don't worry. */
- if (cstate->serverstate != CHAPSS_OPEN)
- return;
-
- ChapGenChallenge(cstate);
- ChapSendChallenge(cstate);
- cstate->serverstate = CHAPSS_RECHALLENGE;
-}
-
-
-/*
- * ChapLowerUp - The lower layer is up.
- *
- * Start up if we have pending requests.
- */
-static void
-ChapLowerUp(unit)
- int unit;
-{
- chap_state *cstate = &chap[unit];
-
- if (cstate->clientstate == CHAPCS_INITIAL)
- cstate->clientstate = CHAPCS_CLOSED;
- else if (cstate->clientstate == CHAPCS_PENDING)
- cstate->clientstate = CHAPCS_LISTEN;
-
- if (cstate->serverstate == CHAPSS_INITIAL)
- cstate->serverstate = CHAPSS_CLOSED;
- else if (cstate->serverstate == CHAPSS_PENDING) {
- ChapGenChallenge(cstate);
- ChapSendChallenge(cstate);
- cstate->serverstate = CHAPSS_INITIAL_CHAL;
- }
-}
-
-
-/*
- * ChapLowerDown - The lower layer is down.
- *
- * Cancel all timeouts.
- */
-static void
-ChapLowerDown(unit)
- int unit;
-{
- chap_state *cstate = &chap[unit];
-
- /* Timeout(s) pending? Cancel if so. */
- if (cstate->serverstate == CHAPSS_INITIAL_CHAL ||
- cstate->serverstate == CHAPSS_RECHALLENGE)
- UNTIMEOUT(ChapChallengeTimeout, cstate);
- else if (cstate->serverstate == CHAPSS_OPEN
- && cstate->chal_interval != 0)
- UNTIMEOUT(ChapRechallenge, cstate);
- if (cstate->clientstate == CHAPCS_RESPONSE)
- UNTIMEOUT(ChapResponseTimeout, cstate);
-
- cstate->clientstate = CHAPCS_INITIAL;
- cstate->serverstate = CHAPSS_INITIAL;
-}
-
-
-/*
- * ChapProtocolReject - Peer doesn't grok CHAP.
- */
-static void
-ChapProtocolReject(unit)
- int unit;
-{
- chap_state *cstate = &chap[unit];
-
- if (cstate->serverstate != CHAPSS_INITIAL &&
- cstate->serverstate != CHAPSS_CLOSED)
- auth_peer_fail(unit, PPP_CHAP);
- if (cstate->clientstate != CHAPCS_INITIAL &&
- cstate->clientstate != CHAPCS_CLOSED)
- auth_withpeer_fail(unit, PPP_CHAP);
- ChapLowerDown(unit); /* shutdown chap */
-}
-
-
-/*
- * ChapInput - Input CHAP packet.
- */
-static void
-ChapInput(unit, inpacket, packet_len)
- int unit;
- u_char *inpacket;
- int packet_len;
-{
- chap_state *cstate = &chap[unit];
- u_char *inp;
- u_char code, id;
- int len;
-
- /*
- * Parse header (code, id and length).
- * If packet too short, drop it.
- */
- inp = inpacket;
- if (packet_len < CHAP_HEADERLEN) {
- CHAPDEBUG(("ChapInput: rcvd short header."));
- return;
- }
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- GETSHORT(len, inp);
- if (len < CHAP_HEADERLEN) {
- CHAPDEBUG(("ChapInput: rcvd illegal length."));
- return;
- }
- if (len > packet_len) {
- CHAPDEBUG(("ChapInput: rcvd short packet."));
- return;
- }
- len -= CHAP_HEADERLEN;
-
- /*
- * Action depends on code (as in fact it usually does :-).
- */
- switch (code) {
- case CHAP_CHALLENGE:
- ChapReceiveChallenge(cstate, inp, id, len);
- break;
-
- case CHAP_RESPONSE:
- ChapReceiveResponse(cstate, inp, id, len);
- break;
-
- case CHAP_FAILURE:
- ChapReceiveFailure(cstate, inp, id, len);
- break;
-
- case CHAP_SUCCESS:
- ChapReceiveSuccess(cstate, inp, id, len);
- break;
-
- default: /* Need code reject? */
- warn("Unknown CHAP code (%d) received.", code);
- break;
- }
-}
-
-
-/*
- * ChapReceiveChallenge - Receive Challenge and send Response.
- */
-static void
-ChapReceiveChallenge(cstate, inp, id, len)
- chap_state *cstate;
- u_char *inp;
- int id;
- int len;
-{
- int rchallenge_len;
- u_char *rchallenge;
- int secret_len;
- char secret[MAXSECRETLEN];
- char rhostname[256];
- MD5_CTX mdContext;
- u_char hash[MD5_SIGNATURE_SIZE];
-
- if (cstate->clientstate == CHAPCS_CLOSED ||
- cstate->clientstate == CHAPCS_PENDING) {
- CHAPDEBUG(("ChapReceiveChallenge: in state %d", cstate->clientstate));
- return;
- }
-
- if (len < 2) {
- CHAPDEBUG(("ChapReceiveChallenge: rcvd short packet."));
- return;
- }
-
- GETCHAR(rchallenge_len, inp);
- len -= sizeof (u_char) + rchallenge_len; /* now name field length */
- if (len < 0) {
- CHAPDEBUG(("ChapReceiveChallenge: rcvd short packet."));
- return;
- }
- rchallenge = inp;
- INCPTR(rchallenge_len, inp);
-
- if (len >= sizeof(rhostname))
- len = sizeof(rhostname) - 1;
- BCOPY(inp, rhostname, len);
- rhostname[len] = '\000';
-
- /* Microsoft doesn't send their name back in the PPP packet */
- if (explicit_remote || (remote_name[0] != 0 && rhostname[0] == 0)) {
- strlcpy(rhostname, remote_name, sizeof(rhostname));
- CHAPDEBUG(("ChapReceiveChallenge: using '%q' as remote name",
- rhostname));
- }
-
- /* get secret for authenticating ourselves with the specified host */
- if (!get_secret(cstate->unit, cstate->resp_name, rhostname,
- secret, &secret_len, 0)) {
- secret_len = 0; /* assume null secret if can't find one */
- warn("No CHAP secret found for authenticating us to %q", rhostname);
- }
-
- /* cancel response send timeout if necessary */
- if (cstate->clientstate == CHAPCS_RESPONSE)
- UNTIMEOUT(ChapResponseTimeout, cstate);
-
- cstate->resp_id = id;
- cstate->resp_transmits = 0;
-
- /* generate MD based on negotiated type */
- switch (cstate->resp_type) {
-
- case CHAP_DIGEST_MD5:
- MD5Init(&mdContext);
- MD5Update(&mdContext, &cstate->resp_id, 1);
- MD5Update(&mdContext, secret, secret_len);
- MD5Update(&mdContext, rchallenge, rchallenge_len);
- MD5Final(hash, &mdContext);
- BCOPY(hash, cstate->response, MD5_SIGNATURE_SIZE);
- cstate->resp_length = MD5_SIGNATURE_SIZE;
- break;
-
-#ifdef CHAPMS
- case CHAP_MICROSOFT:
- ChapMS(cstate, rchallenge, rchallenge_len, secret, secret_len);
- break;
-#endif
-
- default:
- CHAPDEBUG(("unknown digest type %d", cstate->resp_type));
- return;
- }
-
- BZERO(secret, sizeof(secret));
- ChapSendResponse(cstate);
-}
-
-
-/*
- * ChapReceiveResponse - Receive and process response.
- */
-static void
-ChapReceiveResponse(cstate, inp, id, len)
- chap_state *cstate;
- u_char *inp;
- int id;
- int len;
-{
- u_char *remmd, remmd_len;
- int secret_len, old_state;
- int code;
- char rhostname[256];
- MD5_CTX mdContext;
- char secret[MAXSECRETLEN];
- u_char hash[MD5_SIGNATURE_SIZE];
-
- if (cstate->serverstate == CHAPSS_CLOSED ||
- cstate->serverstate == CHAPSS_PENDING) {
- CHAPDEBUG(("ChapReceiveResponse: in state %d", cstate->serverstate));
- return;
- }
-
- if (id != cstate->chal_id)
- return; /* doesn't match ID of last challenge */
-
- /*
- * If we have received a duplicate or bogus Response,
- * we have to send the same answer (Success/Failure)
- * as we did for the first Response we saw.
- */
- if (cstate->serverstate == CHAPSS_OPEN) {
- ChapSendStatus(cstate, CHAP_SUCCESS);
- return;
- }
- if (cstate->serverstate == CHAPSS_BADAUTH) {
- ChapSendStatus(cstate, CHAP_FAILURE);
- return;
- }
-
- if (len < 2) {
- CHAPDEBUG(("ChapReceiveResponse: rcvd short packet."));
- return;
- }
- GETCHAR(remmd_len, inp); /* get length of MD */
- remmd = inp; /* get pointer to MD */
- INCPTR(remmd_len, inp);
-
- len -= sizeof (u_char) + remmd_len;
- if (len < 0) {
- CHAPDEBUG(("ChapReceiveResponse: rcvd short packet."));
- return;
- }
-
- UNTIMEOUT(ChapChallengeTimeout, cstate);
-
- if (len >= sizeof(rhostname))
- len = sizeof(rhostname) - 1;
- BCOPY(inp, rhostname, len);
- rhostname[len] = '\000';
-
- /*
- * Get secret for authenticating them with us,
- * do the hash ourselves, and compare the result.
- */
- code = CHAP_FAILURE;
- if (!get_secret(cstate->unit, (explicit_remote? remote_name: rhostname),
- cstate->chal_name, secret, &secret_len, 1)) {
- warn("No CHAP secret found for authenticating %q", rhostname);
- } else {
-
- /* generate MD based on negotiated type */
- switch (cstate->chal_type) {
-
- case CHAP_DIGEST_MD5: /* only MD5 is defined for now */
- if (remmd_len != MD5_SIGNATURE_SIZE)
- break; /* it's not even the right length */
- MD5Init(&mdContext);
- MD5Update(&mdContext, &cstate->chal_id, 1);
- MD5Update(&mdContext, secret, secret_len);
- MD5Update(&mdContext, cstate->challenge, cstate->chal_len);
- MD5Final(hash, &mdContext);
-
- /* compare local and remote MDs and send the appropriate status */
- if (memcmp (hash, remmd, MD5_SIGNATURE_SIZE) == 0)
- code = CHAP_SUCCESS; /* they are the same! */
- break;
-
- default:
- CHAPDEBUG(("unknown digest type %d", cstate->chal_type));
- }
- }
-
- BZERO(secret, sizeof(secret));
- ChapSendStatus(cstate, code);
-
- if (code == CHAP_SUCCESS) {
- old_state = cstate->serverstate;
- cstate->serverstate = CHAPSS_OPEN;
- if (old_state == CHAPSS_INITIAL_CHAL) {
- auth_peer_success(cstate->unit, PPP_CHAP, rhostname, len);
- }
- if (cstate->chal_interval != 0)
- TIMEOUT(ChapRechallenge, cstate, cstate->chal_interval);
- notice("CHAP peer authentication succeeded for %q", rhostname);
-
- } else {
- error("CHAP peer authentication failed for remote host %q", rhostname);
- cstate->serverstate = CHAPSS_BADAUTH;
- auth_peer_fail(cstate->unit, PPP_CHAP);
- }
-}
-
-/*
- * ChapReceiveSuccess - Receive Success
- */
-static void
-ChapReceiveSuccess(cstate, inp, id, len)
- chap_state *cstate;
- u_char *inp;
- u_char id;
- int len;
-{
-
- if (cstate->clientstate == CHAPCS_OPEN)
- /* presumably an answer to a duplicate response */
- return;
-
- if (cstate->clientstate != CHAPCS_RESPONSE) {
- /* don't know what this is */
- CHAPDEBUG(("ChapReceiveSuccess: in state %d\n", cstate->clientstate));
- return;
- }
-
- UNTIMEOUT(ChapResponseTimeout, cstate);
-
- /*
- * Print message.
- */
- if (len > 0)
- PRINTMSG(inp, len);
-
- cstate->clientstate = CHAPCS_OPEN;
-
- auth_withpeer_success(cstate->unit, PPP_CHAP);
-}
-
-
-/*
- * ChapReceiveFailure - Receive failure.
- */
-static void
-ChapReceiveFailure(cstate, inp, id, len)
- chap_state *cstate;
- u_char *inp;
- u_char id;
- int len;
-{
- if (cstate->clientstate != CHAPCS_RESPONSE) {
- /* don't know what this is */
- CHAPDEBUG(("ChapReceiveFailure: in state %d\n", cstate->clientstate));
- return;
- }
-
- UNTIMEOUT(ChapResponseTimeout, cstate);
-
- /*
- * Print message.
- */
- if (len > 0)
- PRINTMSG(inp, len);
-
- error("CHAP authentication failed");
- auth_withpeer_fail(cstate->unit, PPP_CHAP);
-}
-
-
-/*
- * ChapSendChallenge - Send an Authenticate challenge.
- */
-static void
-ChapSendChallenge(cstate)
- chap_state *cstate;
-{
- u_char *outp;
- int chal_len, name_len;
- int outlen;
-
- chal_len = cstate->chal_len;
- name_len = strlen(cstate->chal_name);
- outlen = CHAP_HEADERLEN + sizeof (u_char) + chal_len + name_len;
- outp = outpacket_buf;
-
- MAKEHEADER(outp, PPP_CHAP); /* paste in a CHAP header */
-
- PUTCHAR(CHAP_CHALLENGE, outp);
- PUTCHAR(cstate->chal_id, outp);
- PUTSHORT(outlen, outp);
-
- PUTCHAR(chal_len, outp); /* put length of challenge */
- BCOPY(cstate->challenge, outp, chal_len);
- INCPTR(chal_len, outp);
-
- BCOPY(cstate->chal_name, outp, name_len); /* append hostname */
-
- output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
-
- TIMEOUT(ChapChallengeTimeout, cstate, cstate->timeouttime);
- ++cstate->chal_transmits;
-}
-
-
-/*
- * ChapSendStatus - Send a status response (ack or nak).
- */
-static void
-ChapSendStatus(cstate, code)
- chap_state *cstate;
- int code;
-{
- u_char *outp;
- int outlen, msglen;
- char msg[256];
-
- if (code == CHAP_SUCCESS)
- slprintf(msg, sizeof(msg), "Welcome to %s.", hostname);
- else
- slprintf(msg, sizeof(msg), "I don't like you. Go 'way.");
- msglen = strlen(msg);
-
- outlen = CHAP_HEADERLEN + msglen;
- outp = outpacket_buf;
-
- MAKEHEADER(outp, PPP_CHAP); /* paste in a header */
-
- PUTCHAR(code, outp);
- PUTCHAR(cstate->chal_id, outp);
- PUTSHORT(outlen, outp);
- BCOPY(msg, outp, msglen);
- output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
-}
-
-/*
- * ChapGenChallenge is used to generate a pseudo-random challenge string of
- * a pseudo-random length between min_len and max_len. The challenge
- * string and its length are stored in *cstate, and various other fields of
- * *cstate are initialized.
- */
-
-static void
-ChapGenChallenge(cstate)
- chap_state *cstate;
-{
- int chal_len;
- u_char *ptr = cstate->challenge;
- int i;
-
- /* pick a random challenge length between MIN_CHALLENGE_LENGTH and
- MAX_CHALLENGE_LENGTH */
- chal_len = (unsigned) ((drand48() *
- (MAX_CHALLENGE_LENGTH - MIN_CHALLENGE_LENGTH)) +
- MIN_CHALLENGE_LENGTH);
- cstate->chal_len = chal_len;
- cstate->chal_id = ++cstate->id;
- cstate->chal_transmits = 0;
-
- /* generate a random string */
- for (i = 0; i < chal_len; i++)
- *ptr++ = (char) (drand48() * 0xff);
-}
-
-/*
- * ChapSendResponse - send a response packet with values as specified
- * in *cstate.
- */
-/* ARGSUSED */
-static void
-ChapSendResponse(cstate)
- chap_state *cstate;
-{
- u_char *outp;
- int outlen, md_len, name_len;
-
- md_len = cstate->resp_length;
- name_len = strlen(cstate->resp_name);
- outlen = CHAP_HEADERLEN + sizeof (u_char) + md_len + name_len;
- outp = outpacket_buf;
-
- MAKEHEADER(outp, PPP_CHAP);
-
- PUTCHAR(CHAP_RESPONSE, outp); /* we are a response */
- PUTCHAR(cstate->resp_id, outp); /* copy id from challenge packet */
- PUTSHORT(outlen, outp); /* packet length */
-
- PUTCHAR(md_len, outp); /* length of MD */
- BCOPY(cstate->response, outp, md_len); /* copy MD to buffer */
- INCPTR(md_len, outp);
-
- BCOPY(cstate->resp_name, outp, name_len); /* append our name */
-
- /* send the packet */
- output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
-
- cstate->clientstate = CHAPCS_RESPONSE;
- TIMEOUT(ChapResponseTimeout, cstate, cstate->timeouttime);
- ++cstate->resp_transmits;
-}
-
-/*
- * ChapPrintPkt - print the contents of a CHAP packet.
- */
-static char *ChapCodenames[] = {
- "Challenge", "Response", "Success", "Failure"
-};
-
-static int
-ChapPrintPkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len;
- int clen, nlen;
- u_char x;
-
- if (plen < CHAP_HEADERLEN)
- return 0;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < CHAP_HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ChapCodenames) / sizeof(char *))
- printer(arg, " %s", ChapCodenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= CHAP_HEADERLEN;
- switch (code) {
- case CHAP_CHALLENGE:
- case CHAP_RESPONSE:
- if (len < 1)
- break;
- clen = p[0];
- if (len < clen + 1)
- break;
- ++p;
- nlen = len - clen - 1;
- printer(arg, " <");
- for (; clen > 0; --clen) {
- GETCHAR(x, p);
- printer(arg, "%.2x", x);
- }
- printer(arg, ">, name = ");
- print_string((char *)p, nlen, printer, arg);
- break;
- case CHAP_FAILURE:
- case CHAP_SUCCESS:
- printer(arg, " ");
- print_string((char *)p, len, printer, arg);
- break;
- default:
- for (clen = len; clen > 0; --clen) {
- GETCHAR(x, p);
- printer(arg, " %.2x", x);
- }
- }
-
- return len + CHAP_HEADERLEN;
-}
diff --git a/mdk-stage1/ppp/pppd/chap.h b/mdk-stage1/ppp/pppd/chap.h
deleted file mode 100644
index 945d051d0..000000000
--- a/mdk-stage1/ppp/pppd/chap.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * chap.h - Challenge Handshake Authentication Protocol definitions.
- *
- * Copyright (c) 1993 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Copyright (c) 1991 Gregory M. Christy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the author.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-#ifndef __CHAP_INCLUDE__
-
-/* Code + ID + length */
-#define CHAP_HEADERLEN 4
-
-/*
- * CHAP codes.
- */
-
-#define CHAP_DIGEST_MD5 5 /* use MD5 algorithm */
-#define MD5_SIGNATURE_SIZE 16 /* 16 bytes in a MD5 message digest */
-#define CHAP_MICROSOFT 0x80 /* use Microsoft-compatible alg. */
-#define MS_CHAP_RESPONSE_LEN 49 /* Response length for MS-CHAP */
-
-#define CHAP_CHALLENGE 1
-#define CHAP_RESPONSE 2
-#define CHAP_SUCCESS 3
-#define CHAP_FAILURE 4
-
-/*
- * Challenge lengths (for challenges we send) and other limits.
- */
-#define MIN_CHALLENGE_LENGTH 16
-#define MAX_CHALLENGE_LENGTH 24
-#define MAX_RESPONSE_LENGTH 64 /* sufficient for MD5 or MS-CHAP */
-
-/*
- * Each interface is described by a chap structure.
- */
-
-typedef struct chap_state {
- int unit; /* Interface unit number */
- int clientstate; /* Client state */
- int serverstate; /* Server state */
- u_char challenge[MAX_CHALLENGE_LENGTH]; /* last challenge string sent */
- u_char chal_len; /* challenge length */
- u_char chal_id; /* ID of last challenge */
- u_char chal_type; /* hash algorithm for challenges */
- u_char id; /* Current id */
- char *chal_name; /* Our name to use with challenge */
- int chal_interval; /* Time until we challenge peer again */
- int timeouttime; /* Timeout time in seconds */
- int max_transmits; /* Maximum # of challenge transmissions */
- int chal_transmits; /* Number of transmissions of challenge */
- int resp_transmits; /* Number of transmissions of response */
- u_char response[MAX_RESPONSE_LENGTH]; /* Response to send */
- u_char resp_length; /* length of response */
- u_char resp_id; /* ID for response messages */
- u_char resp_type; /* hash algorithm for responses */
- char *resp_name; /* Our name to send with response */
-} chap_state;
-
-
-/*
- * Client (peer) states.
- */
-#define CHAPCS_INITIAL 0 /* Lower layer down, not opened */
-#define CHAPCS_CLOSED 1 /* Lower layer up, not opened */
-#define CHAPCS_PENDING 2 /* Auth us to peer when lower up */
-#define CHAPCS_LISTEN 3 /* Listening for a challenge */
-#define CHAPCS_RESPONSE 4 /* Sent response, waiting for status */
-#define CHAPCS_OPEN 5 /* We've received Success */
-
-/*
- * Server (authenticator) states.
- */
-#define CHAPSS_INITIAL 0 /* Lower layer down, not opened */
-#define CHAPSS_CLOSED 1 /* Lower layer up, not opened */
-#define CHAPSS_PENDING 2 /* Auth peer when lower up */
-#define CHAPSS_INITIAL_CHAL 3 /* We've sent the first challenge */
-#define CHAPSS_OPEN 4 /* We've sent a Success msg */
-#define CHAPSS_RECHALLENGE 5 /* We've sent another challenge */
-#define CHAPSS_BADAUTH 6 /* We've sent a Failure msg */
-
-/*
- * Timeouts.
- */
-#define CHAP_DEFTIMEOUT 3 /* Timeout time in seconds */
-#define CHAP_DEFTRANSMITS 10 /* max # times to send challenge */
-
-extern chap_state chap[];
-
-void ChapAuthWithPeer __P((int, char *, int));
-void ChapAuthPeer __P((int, char *, int));
-
-extern struct protent chap_protent;
-
-#define __CHAP_INCLUDE__
-#endif /* __CHAP_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/chap_ms.c b/mdk-stage1/ppp/pppd/chap_ms.c
deleted file mode 100644
index 81a57bb5a..000000000
--- a/mdk-stage1/ppp/pppd/chap_ms.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * chap_ms.c - Microsoft MS-CHAP compatible implementation.
- *
- * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited.
- * http://www.strataware.com/
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Eric Rosenquist. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/*
- * Modifications by Lauri Pesonen / lpesonen@clinet.fi, april 1997
- *
- * Implemented LANManager type password response to MS-CHAP challenges.
- * Now pppd provides both NT style and LANMan style blocks, and the
- * prefered is set by option "ms-lanman". Default is to use NT.
- * The hash text (StdText) was taken from Win95 RASAPI32.DLL.
- *
- * You should also use DOMAIN\\USERNAME as described in README.MSCHAP80
- */
-
-#define RCSID "$Id$"
-
-#ifdef CHAPMS
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <unistd.h>
-#ifdef HAVE_CRYPT_H
-#include <crypt.h>
-#endif
-
-#include "pppd.h"
-#include "chap.h"
-#include "chap_ms.h"
-#include "md4.h"
-
-#ifndef USE_CRYPT
-#include <des.h>
-#endif
-
-static const char rcsid[] = RCSID;
-
-typedef struct {
- u_char LANManResp[24];
- u_char NTResp[24];
- u_char UseNT; /* If 1, ignore the LANMan response field */
-} MS_ChapResponse;
-/* We use MS_CHAP_RESPONSE_LEN, rather than sizeof(MS_ChapResponse),
- in case this struct gets padded. */
-
-
-static void ChallengeResponse __P((u_char *, u_char *, u_char *));
-static void DesEncrypt __P((u_char *, u_char *, u_char *));
-static void MakeKey __P((u_char *, u_char *));
-static u_char Get7Bits __P((u_char *, int));
-static void ChapMS_NT __P((char *, int, char *, int, MS_ChapResponse *));
-#ifdef MSLANMAN
-static void ChapMS_LANMan __P((char *, int, char *, int, MS_ChapResponse *));
-#endif
-
-#ifdef USE_CRYPT
-static void Expand __P((u_char *, u_char *));
-static void Collapse __P((u_char *, u_char *));
-#endif
-
-#ifdef MSLANMAN
-bool ms_lanman = 0; /* Use LanMan password instead of NT */
- /* Has meaning only with MS-CHAP challenges */
-#endif
-
-static void
-ChallengeResponse(challenge, pwHash, response)
- u_char *challenge; /* IN 8 octets */
- u_char *pwHash; /* IN 16 octets */
- u_char *response; /* OUT 24 octets */
-{
- char ZPasswordHash[21];
-
- BZERO(ZPasswordHash, sizeof(ZPasswordHash));
- BCOPY(pwHash, ZPasswordHash, MD4_SIGNATURE_SIZE);
-
-#if 0
- dbglog("ChallengeResponse - ZPasswordHash %.*B",
- sizeof(ZPasswordHash), ZPasswordHash);
-#endif
-
- DesEncrypt(challenge, ZPasswordHash + 0, response + 0);
- DesEncrypt(challenge, ZPasswordHash + 7, response + 8);
- DesEncrypt(challenge, ZPasswordHash + 14, response + 16);
-
-#if 0
- dbglog("ChallengeResponse - response %.24B", response);
-#endif
-}
-
-
-#ifdef USE_CRYPT
-static void
-DesEncrypt(clear, key, cipher)
- u_char *clear; /* IN 8 octets */
- u_char *key; /* IN 7 octets */
- u_char *cipher; /* OUT 8 octets */
-{
- u_char des_key[8];
- u_char crypt_key[66];
- u_char des_input[66];
-
- MakeKey(key, des_key);
-
- Expand(des_key, crypt_key);
- setkey(crypt_key);
-
-#if 0
- CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet input : %.8B", clear));
-#endif
-
- Expand(clear, des_input);
- encrypt(des_input, 0);
- Collapse(des_input, cipher);
-
-#if 0
- CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet output: %.8B", cipher));
-#endif
-}
-
-#else /* USE_CRYPT */
-
-static void
-DesEncrypt(clear, key, cipher)
- u_char *clear; /* IN 8 octets */
- u_char *key; /* IN 7 octets */
- u_char *cipher; /* OUT 8 octets */
-{
- des_cblock des_key;
- des_key_schedule key_schedule;
-
- MakeKey(key, des_key);
-
- des_set_key(&des_key, key_schedule);
-
-#if 0
- CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet input : %.8B", clear));
-#endif
-
- des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher, key_schedule, 1);
-
-#if 0
- CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet output: %.8B", cipher));
-#endif
-}
-
-#endif /* USE_CRYPT */
-
-
-static u_char Get7Bits(input, startBit)
- u_char *input;
- int startBit;
-{
- register unsigned int word;
-
- word = (unsigned)input[startBit / 8] << 8;
- word |= (unsigned)input[startBit / 8 + 1];
-
- word >>= 15 - (startBit % 8 + 7);
-
- return word & 0xFE;
-}
-
-#ifdef USE_CRYPT
-
-/* in == 8-byte string (expanded version of the 56-bit key)
- * out == 64-byte string where each byte is either 1 or 0
- * Note that the low-order "bit" is always ignored by by setkey()
- */
-static void Expand(in, out)
- u_char *in;
- u_char *out;
-{
- int j, c;
- int i;
-
- for(i = 0; i < 64; in++){
- c = *in;
- for(j = 7; j >= 0; j--)
- *out++ = (c >> j) & 01;
- i += 8;
- }
-}
-
-/* The inverse of Expand
- */
-static void Collapse(in, out)
- u_char *in;
- u_char *out;
-{
- int j;
- int i;
- unsigned int c;
-
- for (i = 0; i < 64; i += 8, out++) {
- c = 0;
- for (j = 7; j >= 0; j--, in++)
- c |= *in << j;
- *out = c & 0xff;
- }
-}
-#endif
-
-static void MakeKey(key, des_key)
- u_char *key; /* IN 56 bit DES key missing parity bits */
- u_char *des_key; /* OUT 64 bit DES key with parity bits added */
-{
- des_key[0] = Get7Bits(key, 0);
- des_key[1] = Get7Bits(key, 7);
- des_key[2] = Get7Bits(key, 14);
- des_key[3] = Get7Bits(key, 21);
- des_key[4] = Get7Bits(key, 28);
- des_key[5] = Get7Bits(key, 35);
- des_key[6] = Get7Bits(key, 42);
- des_key[7] = Get7Bits(key, 49);
-
-#ifndef USE_CRYPT
- des_set_odd_parity((des_cblock *)des_key);
-#endif
-
-#if 0
- CHAPDEBUG((LOG_INFO, "MakeKey: 56-bit input : %.7B", key));
- CHAPDEBUG((LOG_INFO, "MakeKey: 64-bit output: %.8B", des_key));
-#endif
-}
-
-static void
-ChapMS_NT(rchallenge, rchallenge_len, secret, secret_len, response)
- char *rchallenge;
- int rchallenge_len;
- char *secret;
- int secret_len;
- MS_ChapResponse *response;
-{
- int i;
-#ifdef __NetBSD__
- /* NetBSD uses the libc md4 routines which take bytes instead of bits */
- int mdlen = secret_len * 2;
-#else
- int mdlen = secret_len * 2 * 8;
-#endif
- MD4_CTX md4Context;
- u_char hash[MD4_SIGNATURE_SIZE];
- u_char unicodePassword[MAX_NT_PASSWORD * 2];
-
- /* Initialize the Unicode version of the secret (== password). */
- /* This implicitly supports 8-bit ISO8859/1 characters. */
- BZERO(unicodePassword, sizeof(unicodePassword));
- for (i = 0; i < secret_len; i++)
- unicodePassword[i * 2] = (u_char)secret[i];
-
- MD4Init(&md4Context);
- MD4Update(&md4Context, unicodePassword, mdlen);
-
- MD4Final(hash, &md4Context); /* Tell MD4 we're done */
-
- ChallengeResponse(rchallenge, hash, response->NTResp);
-}
-
-#ifdef MSLANMAN
-static u_char *StdText = (u_char *)"KGS!@#$%"; /* key from rasapi32.dll */
-
-static void
-ChapMS_LANMan(rchallenge, rchallenge_len, secret, secret_len, response)
- char *rchallenge;
- int rchallenge_len;
- char *secret;
- int secret_len;
- MS_ChapResponse *response;
-{
- int i;
- u_char UcasePassword[MAX_NT_PASSWORD]; /* max is actually 14 */
- u_char PasswordHash[MD4_SIGNATURE_SIZE];
-
- /* LANMan password is case insensitive */
- BZERO(UcasePassword, sizeof(UcasePassword));
- for (i = 0; i < secret_len; i++)
- UcasePassword[i] = (u_char)toupper(secret[i]);
- DesEncrypt( StdText, UcasePassword + 0, PasswordHash + 0 );
- DesEncrypt( StdText, UcasePassword + 7, PasswordHash + 8 );
- ChallengeResponse(rchallenge, PasswordHash, response->LANManResp);
-}
-#endif
-
-void
-ChapMS(cstate, rchallenge, rchallenge_len, secret, secret_len)
- chap_state *cstate;
- char *rchallenge;
- int rchallenge_len;
- char *secret;
- int secret_len;
-{
- MS_ChapResponse response;
-
-#if 0
- CHAPDEBUG((LOG_INFO, "ChapMS: secret is '%.*s'", secret_len, secret));
-#endif
- BZERO(&response, sizeof(response));
-
- /* Calculate both always */
- ChapMS_NT(rchallenge, rchallenge_len, secret, secret_len, &response);
-
-#ifdef MSLANMAN
- ChapMS_LANMan(rchallenge, rchallenge_len, secret, secret_len, &response);
-
- /* prefered method is set by option */
- response.UseNT = !ms_lanman;
-#else
- response.UseNT = 1;
-#endif
-
- BCOPY(&response, cstate->response, MS_CHAP_RESPONSE_LEN);
- cstate->resp_length = MS_CHAP_RESPONSE_LEN;
-}
-
-#endif /* CHAPMS */
diff --git a/mdk-stage1/ppp/pppd/chap_ms.h b/mdk-stage1/ppp/pppd/chap_ms.h
deleted file mode 100644
index fad2755c8..000000000
--- a/mdk-stage1/ppp/pppd/chap_ms.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * chap.h - Challenge Handshake Authentication Protocol definitions.
- *
- * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited.
- * http://www.strataware.com/
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Eric Rosenquist. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-#ifndef __CHAPMS_INCLUDE__
-
-#define MD4_SIGNATURE_SIZE 16 /* 16 bytes in a MD4 message digest */
-#define MAX_NT_PASSWORD 256 /* Maximum number of (Unicode) chars in an NT password */
-
-void ChapMS __P((chap_state *, char *, int, char *, int));
-
-#define __CHAPMS_INCLUDE__
-#endif /* __CHAPMS_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/demand.c b/mdk-stage1/ppp/pppd/demand.c
deleted file mode 100644
index 9a740be8d..000000000
--- a/mdk-stage1/ppp/pppd/demand.c
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * demand.c - Support routines for demand-dialling.
- *
- * Copyright (c) 1993 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#ifdef PPP_FILTER
-#include <net/if.h>
-#include <net/bpf.h>
-#include <pcap.h>
-#endif
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-#include "lcp.h"
-
-static const char rcsid[] = RCSID;
-
-char *frame;
-int framelen;
-int framemax;
-int escape_flag;
-int flush_flag;
-int fcs;
-
-struct packet {
- int length;
- struct packet *next;
- unsigned char data[1];
-};
-
-struct packet *pend_q;
-struct packet *pend_qtail;
-
-static int active_packet __P((unsigned char *, int));
-
-/*
- * demand_conf - configure the interface for doing dial-on-demand.
- */
-void
-demand_conf()
-{
- int i;
- struct protent *protp;
-
-/* framemax = lcp_allowoptions[0].mru;
- if (framemax < PPP_MRU) */
- framemax = PPP_MRU;
- framemax += PPP_HDRLEN + PPP_FCSLEN;
- frame = malloc(framemax);
- if (frame == NULL)
- novm("demand frame");
- framelen = 0;
- pend_q = NULL;
- escape_flag = 0;
- flush_flag = 0;
- fcs = PPP_INITFCS;
-
- netif_set_mtu(0, MIN(lcp_allowoptions[0].mru, PPP_MRU));
- ppp_send_config(0, PPP_MRU, (u_int32_t) 0, 0, 0);
- ppp_recv_config(0, PPP_MRU, (u_int32_t) 0, 0, 0);
-
-#ifdef PPP_FILTER
- set_filters(&pass_filter, &active_filter);
-#endif
-
- /*
- * Call the demand_conf procedure for each protocol that's got one.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->enabled_flag && protp->demand_conf != NULL)
- if (!((*protp->demand_conf)(0)))
- die(1);
-}
-
-
-/*
- * demand_block - set each network protocol to block further packets.
- */
-void
-demand_block()
-{
- int i;
- struct protent *protp;
-
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->enabled_flag && protp->demand_conf != NULL)
- sifnpmode(0, protp->protocol & ~0x8000, NPMODE_QUEUE);
- get_loop_output();
-}
-
-/*
- * demand_discard - set each network protocol to discard packets
- * with an error.
- */
-void
-demand_discard()
-{
- struct packet *pkt, *nextpkt;
- int i;
- struct protent *protp;
-
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->enabled_flag && protp->demand_conf != NULL)
- sifnpmode(0, protp->protocol & ~0x8000, NPMODE_ERROR);
- get_loop_output();
-
- /* discard all saved packets */
- for (pkt = pend_q; pkt != NULL; pkt = nextpkt) {
- nextpkt = pkt->next;
- free(pkt);
- }
- pend_q = NULL;
- framelen = 0;
- flush_flag = 0;
- escape_flag = 0;
- fcs = PPP_INITFCS;
-}
-
-/*
- * demand_unblock - set each enabled network protocol to pass packets.
- */
-void
-demand_unblock()
-{
- int i;
- struct protent *protp;
-
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->enabled_flag && protp->demand_conf != NULL)
- sifnpmode(0, protp->protocol & ~0x8000, NPMODE_PASS);
-}
-
-/*
- * FCS lookup table as calculated by genfcstab.
- */
-static u_short fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-/*
- * loop_chars - process characters received from the loopback.
- * Calls loop_frame when a complete frame has been accumulated.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-loop_chars(p, n)
- unsigned char *p;
- int n;
-{
- int c, rv;
-
- rv = 0;
- for (; n > 0; --n) {
- c = *p++;
- if (c == PPP_FLAG) {
- if (!escape_flag && !flush_flag
- && framelen > 2 && fcs == PPP_GOODFCS) {
- framelen -= 2;
- if (loop_frame((unsigned char *)frame, framelen))
- rv = 1;
- }
- framelen = 0;
- flush_flag = 0;
- escape_flag = 0;
- fcs = PPP_INITFCS;
- continue;
- }
- if (flush_flag)
- continue;
- if (escape_flag) {
- c ^= PPP_TRANS;
- escape_flag = 0;
- } else if (c == PPP_ESCAPE) {
- escape_flag = 1;
- continue;
- }
- if (framelen >= framemax) {
- flush_flag = 1;
- continue;
- }
- frame[framelen++] = c;
- fcs = PPP_FCS(fcs, c);
- }
- return rv;
-}
-
-/*
- * loop_frame - given a frame obtained from the loopback,
- * decide whether to bring up the link or not, and, if we want
- * to transmit this frame later, put it on the pending queue.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- * We assume that the kernel driver has already applied the
- * pass_filter, so we won't get packets it rejected.
- * We apply the active_filter to see if we want this packet to
- * bring up the link.
- */
-int
-loop_frame(frame, len)
- unsigned char *frame;
- int len;
-{
- struct packet *pkt;
-
- /* dbglog("from loop: %P", frame, len); */
- if (len < PPP_HDRLEN)
- return 0;
- if ((PPP_PROTOCOL(frame) & 0x8000) != 0)
- return 0; /* shouldn't get any of these anyway */
- if (!active_packet(frame, len))
- return 0;
-
- pkt = (struct packet *) malloc(sizeof(struct packet) + len);
- if (pkt != NULL) {
- pkt->length = len;
- pkt->next = NULL;
- memcpy(pkt->data, frame, len);
- if (pend_q == NULL)
- pend_q = pkt;
- else
- pend_qtail->next = pkt;
- pend_qtail = pkt;
- }
- return 1;
-}
-
-/*
- * demand_rexmit - Resend all those frames which we got via the
- * loopback, now that the real serial link is up.
- */
-void
-demand_rexmit(proto)
- int proto;
-{
- struct packet *pkt, *prev, *nextpkt;
-
- prev = NULL;
- pkt = pend_q;
- pend_q = NULL;
- for (; pkt != NULL; pkt = nextpkt) {
- nextpkt = pkt->next;
- if (PPP_PROTOCOL(pkt->data) == proto) {
- output(0, pkt->data, pkt->length);
- free(pkt);
- } else {
- if (prev == NULL)
- pend_q = pkt;
- else
- prev->next = pkt;
- prev = pkt;
- }
- }
- pend_qtail = prev;
- if (prev != NULL)
- prev->next = NULL;
-}
-
-/*
- * Scan a packet to decide whether it is an "active" packet,
- * that is, whether it is worth bringing up the link for.
- */
-static int
-active_packet(p, len)
- unsigned char *p;
- int len;
-{
- int proto, i;
- struct protent *protp;
-
- if (len < PPP_HDRLEN)
- return 0;
- proto = PPP_PROTOCOL(p);
-#ifdef PPP_FILTER
- if (pass_filter.bf_len != 0
- && bpf_filter(pass_filter.bf_insns, p, len, len) == 0)
- return 0;
- if (active_filter.bf_len != 0
- && bpf_filter(active_filter.bf_insns, p, len, len) == 0)
- return 0;
-#endif
- for (i = 0; (protp = protocols[i]) != NULL; ++i) {
- if (protp->protocol < 0xC000 && (protp->protocol & ~0x8000) == proto) {
- if (!protp->enabled_flag)
- return 0;
- if (protp->active_pkt == NULL)
- return 1;
- return (*protp->active_pkt)(p, len);
- }
- }
- return 0; /* not a supported protocol !!?? */
-}
diff --git a/mdk-stage1/ppp/pppd/eui64.c b/mdk-stage1/ppp/pppd/eui64.c
deleted file mode 100644
index 7f3176035..000000000
--- a/mdk-stage1/ppp/pppd/eui64.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- eui64.c - EUI64 routines for IPv6CP.
- Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
-
- Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice and this paragraph are
- duplicated in all such forms and that any documentation,
- advertising materials, and other materials related to such
- distribution and use acknowledge that the software was developed
- by Tommi Komulainen. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-
- $Id$
-*/
-
-#define RCSID "$Id$"
-
-#include "pppd.h"
-
-static const char rcsid[] = RCSID;
-
-/*
- * eui64_ntoa - Make an ascii representation of an interface identifier
- */
-char *
-eui64_ntoa(e)
- eui64_t e;
-{
- static char buf[32];
-
- snprintf(buf, 32, "%02x%02x:%02x%02x:%02x%02x:%02x%02x",
- e.e8[0], e.e8[1], e.e8[2], e.e8[3],
- e.e8[4], e.e8[5], e.e8[6], e.e8[7]);
- return buf;
-}
diff --git a/mdk-stage1/ppp/pppd/eui64.h b/mdk-stage1/ppp/pppd/eui64.h
deleted file mode 100644
index ca4445345..000000000
--- a/mdk-stage1/ppp/pppd/eui64.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- eui64.h - EUI64 routines for IPv6CP.
- Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
-
- Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice and this paragraph are
- duplicated in all such forms and that any documentation,
- advertising materials, and other materials related to such
- distribution and use acknowledge that the software was developed
- by Tommi Komulainen. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-
- $Id$
-*/
-
-#ifndef __EUI64_H__
-#define __EUI64_H__
-
-#if !defined(INET6)
-#error "this file should only be included when INET6 is defined"
-#endif /* not defined(INET6) */
-
-#if defined(SOL2)
-#include <netinet/in.h>
-
-typedef union {
- uint8_t e8[8]; /* lower 64-bit IPv6 address */
- uint32_t e32[2]; /* lower 64-bit IPv6 address */
-} eui64_t;
-
-/*
- * Declare the two below, since in.h only defines them when _KERNEL
- * is declared - which shouldn't be true when dealing with user-land programs
- */
-#define s6_addr8 _S6_un._S6_u8
-#define s6_addr32 _S6_un._S6_u32
-
-#else /* else if not defined(SOL2) */
-
-/*
- * TODO:
- *
- * Maybe this should be done by processing struct in6_addr directly...
- */
-typedef union
-{
- u_int8_t e8[8];
- u_int16_t e16[4];
- u_int32_t e32[2];
-} eui64_t;
-
-#endif /* defined(SOL2) */
-
-#define eui64_iszero(e) (((e).e32[0] | (e).e32[1]) == 0)
-#define eui64_equals(e, o) (((e).e32[0] == (o).e32[0]) && \
- ((e).e32[1] == (o).e32[1]))
-#define eui64_zero(e) (e).e32[0] = (e).e32[1] = 0;
-
-#define eui64_copy(s, d) memcpy(&(d), &(s), sizeof(eui64_t))
-
-#define eui64_magic(e) do { \
- (e).e32[0] = magic(); \
- (e).e32[1] = magic(); \
- (e).e8[0] &= ~2; \
- } while (0)
-#define eui64_magic_nz(x) do { \
- eui64_magic(x); \
- } while (eui64_iszero(x))
-#define eui64_magic_ne(x, y) do { \
- eui64_magic(x); \
- } while (eui64_equals(x, y))
-
-#define eui64_get(ll, cp) do { \
- eui64_copy((*cp), (ll)); \
- (cp) += sizeof(eui64_t); \
- } while (0)
-
-#define eui64_put(ll, cp) do { \
- eui64_copy((ll), (*cp)); \
- (cp) += sizeof(eui64_t); \
- } while (0)
-
-#define eui64_set32(e, l) do { \
- (e).e32[0] = 0; \
- (e).e32[1] = htonl(l); \
- } while (0)
-#define eui64_setlo32(e, l) eui64_set32(e, l)
-
-char *eui64_ntoa __P((eui64_t)); /* Returns ascii representation of id */
-
-#endif /* __EUI64_H__ */
-
diff --git a/mdk-stage1/ppp/pppd/fsm.c b/mdk-stage1/ppp/pppd/fsm.c
deleted file mode 100644
index 07a8c11f1..000000000
--- a/mdk-stage1/ppp/pppd/fsm.c
+++ /dev/null
@@ -1,762 +0,0 @@
-/*
- * fsm.c - {Link, IP} Control Protocol Finite State Machine.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- * Randomize fsm id on link/init.
- * Deal with variable outgoing MTU.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-
-#include "pppd.h"
-#include "fsm.h"
-
-static const char rcsid[] = RCSID;
-
-static void fsm_timeout __P((void *));
-static void fsm_rconfreq __P((fsm *, int, u_char *, int));
-static void fsm_rconfack __P((fsm *, int, u_char *, int));
-static void fsm_rconfnakrej __P((fsm *, int, int, u_char *, int));
-static void fsm_rtermreq __P((fsm *, int, u_char *, int));
-static void fsm_rtermack __P((fsm *));
-static void fsm_rcoderej __P((fsm *, u_char *, int));
-static void fsm_sconfreq __P((fsm *, int));
-
-#define PROTO_NAME(f) ((f)->callbacks->proto_name)
-
-int peer_mru[NUM_PPP];
-
-
-/*
- * fsm_init - Initialize fsm.
- *
- * Initialize fsm state.
- */
-void
-fsm_init(f)
- fsm *f;
-{
- f->state = INITIAL;
- f->flags = 0;
- f->id = 0; /* XXX Start with random id? */
- f->timeouttime = DEFTIMEOUT;
- f->maxconfreqtransmits = DEFMAXCONFREQS;
- f->maxtermtransmits = DEFMAXTERMREQS;
- f->maxnakloops = DEFMAXNAKLOOPS;
- f->term_reason_len = 0;
-}
-
-
-/*
- * fsm_lowerup - The lower layer is up.
- */
-void
-fsm_lowerup(f)
- fsm *f;
-{
- switch( f->state ){
- case INITIAL:
- f->state = CLOSED;
- break;
-
- case STARTING:
- if( f->flags & OPT_SILENT )
- f->state = STOPPED;
- else {
- /* Send an initial configure-request */
- fsm_sconfreq(f, 0);
- f->state = REQSENT;
- }
- break;
-
- default:
- FSMDEBUG(("%s: Up event in state %d!", PROTO_NAME(f), f->state));
- }
-}
-
-
-/*
- * fsm_lowerdown - The lower layer is down.
- *
- * Cancel all timeouts and inform upper layers.
- */
-void
-fsm_lowerdown(f)
- fsm *f;
-{
- switch( f->state ){
- case CLOSED:
- f->state = INITIAL;
- break;
-
- case STOPPED:
- f->state = STARTING;
- if( f->callbacks->starting )
- (*f->callbacks->starting)(f);
- break;
-
- case CLOSING:
- f->state = INITIAL;
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- break;
-
- case STOPPING:
- case REQSENT:
- case ACKRCVD:
- case ACKSENT:
- f->state = STARTING;
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- break;
-
- case OPENED:
- if( f->callbacks->down )
- (*f->callbacks->down)(f);
- f->state = STARTING;
- break;
-
- default:
- FSMDEBUG(("%s: Down event in state %d!", PROTO_NAME(f), f->state));
- }
-}
-
-
-/*
- * fsm_open - Link is allowed to come up.
- */
-void
-fsm_open(f)
- fsm *f;
-{
- switch( f->state ){
- case INITIAL:
- f->state = STARTING;
- if( f->callbacks->starting )
- (*f->callbacks->starting)(f);
- break;
-
- case CLOSED:
- if( f->flags & OPT_SILENT )
- f->state = STOPPED;
- else {
- /* Send an initial configure-request */
- fsm_sconfreq(f, 0);
- f->state = REQSENT;
- }
- break;
-
- case CLOSING:
- f->state = STOPPING;
- /* fall through */
- case STOPPED:
- case OPENED:
- if( f->flags & OPT_RESTART ){
- fsm_lowerdown(f);
- fsm_lowerup(f);
- }
- break;
- }
-}
-
-
-/*
- * fsm_close - Start closing connection.
- *
- * Cancel timeouts and either initiate close or possibly go directly to
- * the CLOSED state.
- */
-void
-fsm_close(f, reason)
- fsm *f;
- char *reason;
-{
- f->term_reason = reason;
- f->term_reason_len = (reason == NULL? 0: strlen(reason));
- switch( f->state ){
- case STARTING:
- f->state = INITIAL;
- break;
- case STOPPED:
- f->state = CLOSED;
- break;
- case STOPPING:
- f->state = CLOSING;
- break;
-
- case REQSENT:
- case ACKRCVD:
- case ACKSENT:
- case OPENED:
- if( f->state != OPENED )
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- else if( f->callbacks->down )
- (*f->callbacks->down)(f); /* Inform upper layers we're down */
-
- /* Init restart counter, send Terminate-Request */
- f->retransmits = f->maxtermtransmits;
- fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
- (u_char *) f->term_reason, f->term_reason_len);
- TIMEOUT(fsm_timeout, f, f->timeouttime);
- --f->retransmits;
-
- f->state = CLOSING;
- break;
- }
-}
-
-
-/*
- * fsm_timeout - Timeout expired.
- */
-static void
-fsm_timeout(arg)
- void *arg;
-{
- fsm *f = (fsm *) arg;
-
- switch (f->state) {
- case CLOSING:
- case STOPPING:
- if( f->retransmits <= 0 ){
- /*
- * We've waited for an ack long enough. Peer probably heard us.
- */
- f->state = (f->state == CLOSING)? CLOSED: STOPPED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- } else {
- /* Send Terminate-Request */
- fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
- (u_char *) f->term_reason, f->term_reason_len);
- TIMEOUT(fsm_timeout, f, f->timeouttime);
- --f->retransmits;
- }
- break;
-
- case REQSENT:
- case ACKRCVD:
- case ACKSENT:
- if (f->retransmits <= 0) {
- warn("%s: timeout sending Config-Requests\n", PROTO_NAME(f));
- f->state = STOPPED;
- if( (f->flags & OPT_PASSIVE) == 0 && f->callbacks->finished )
- (*f->callbacks->finished)(f);
-
- } else {
- /* Retransmit the configure-request */
- if (f->callbacks->retransmit)
- (*f->callbacks->retransmit)(f);
- fsm_sconfreq(f, 1); /* Re-send Configure-Request */
- if( f->state == ACKRCVD )
- f->state = REQSENT;
- }
- break;
-
- default:
- FSMDEBUG(("%s: Timeout event in state %d!", PROTO_NAME(f), f->state));
- }
-}
-
-
-/*
- * fsm_input - Input packet.
- */
-void
-fsm_input(f, inpacket, l)
- fsm *f;
- u_char *inpacket;
- int l;
-{
- u_char *inp;
- u_char code, id;
- int len;
-
- /*
- * Parse header (code, id and length).
- * If packet too short, drop it.
- */
- inp = inpacket;
- if (l < HEADERLEN) {
- FSMDEBUG(("fsm_input(%x): Rcvd short header.", f->protocol));
- return;
- }
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- GETSHORT(len, inp);
- if (len < HEADERLEN) {
- FSMDEBUG(("fsm_input(%x): Rcvd illegal length.", f->protocol));
- return;
- }
- if (len > l) {
- FSMDEBUG(("fsm_input(%x): Rcvd short packet.", f->protocol));
- return;
- }
- len -= HEADERLEN; /* subtract header length */
-
- if( f->state == INITIAL || f->state == STARTING ){
- FSMDEBUG(("fsm_input(%x): Rcvd packet in state %d.",
- f->protocol, f->state));
- return;
- }
-
- /*
- * Action depends on code.
- */
- switch (code) {
- case CONFREQ:
- fsm_rconfreq(f, id, inp, len);
- break;
-
- case CONFACK:
- fsm_rconfack(f, id, inp, len);
- break;
-
- case CONFNAK:
- case CONFREJ:
- fsm_rconfnakrej(f, code, id, inp, len);
- break;
-
- case TERMREQ:
- fsm_rtermreq(f, id, inp, len);
- break;
-
- case TERMACK:
- fsm_rtermack(f);
- break;
-
- case CODEREJ:
- fsm_rcoderej(f, inp, len);
- break;
-
- default:
- if( !f->callbacks->extcode
- || !(*f->callbacks->extcode)(f, code, id, inp, len) )
- fsm_sdata(f, CODEREJ, ++f->id, inpacket, len + HEADERLEN);
- break;
- }
-}
-
-
-/*
- * fsm_rconfreq - Receive Configure-Request.
- */
-static void
-fsm_rconfreq(f, id, inp, len)
- fsm *f;
- u_char id;
- u_char *inp;
- int len;
-{
- int code, reject_if_disagree;
-
- switch( f->state ){
- case CLOSED:
- /* Go away, we're closed */
- fsm_sdata(f, TERMACK, id, NULL, 0);
- return;
- case CLOSING:
- case STOPPING:
- return;
-
- case OPENED:
- /* Go down and restart negotiation */
- if( f->callbacks->down )
- (*f->callbacks->down)(f); /* Inform upper layers */
- fsm_sconfreq(f, 0); /* Send initial Configure-Request */
- break;
-
- case STOPPED:
- /* Negotiation started by our peer */
- fsm_sconfreq(f, 0); /* Send initial Configure-Request */
- f->state = REQSENT;
- break;
- }
-
- /*
- * Pass the requested configuration options
- * to protocol-specific code for checking.
- */
- if (f->callbacks->reqci){ /* Check CI */
- reject_if_disagree = (f->nakloops >= f->maxnakloops);
- code = (*f->callbacks->reqci)(f, inp, &len, reject_if_disagree);
- } else if (len)
- code = CONFREJ; /* Reject all CI */
- else
- code = CONFACK;
-
- /* send the Ack, Nak or Rej to the peer */
- fsm_sdata(f, code, id, inp, len);
-
- if (code == CONFACK) {
- if (f->state == ACKRCVD) {
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- f->state = OPENED;
- if (f->callbacks->up)
- (*f->callbacks->up)(f); /* Inform upper layers */
- } else
- f->state = ACKSENT;
- f->nakloops = 0;
-
- } else {
- /* we sent CONFACK or CONFREJ */
- if (f->state != ACKRCVD)
- f->state = REQSENT;
- if( code == CONFNAK )
- ++f->nakloops;
- }
-}
-
-
-/*
- * fsm_rconfack - Receive Configure-Ack.
- */
-static void
-fsm_rconfack(f, id, inp, len)
- fsm *f;
- int id;
- u_char *inp;
- int len;
-{
- if (id != f->reqid || f->seen_ack) /* Expected id? */
- return; /* Nope, toss... */
- if( !(f->callbacks->ackci? (*f->callbacks->ackci)(f, inp, len):
- (len == 0)) ){
- /* Ack is bad - ignore it */
- error("Received bad configure-ack: %P", inp, len);
- return;
- }
- f->seen_ack = 1;
-
- switch (f->state) {
- case CLOSED:
- case STOPPED:
- fsm_sdata(f, TERMACK, id, NULL, 0);
- break;
-
- case REQSENT:
- f->state = ACKRCVD;
- f->retransmits = f->maxconfreqtransmits;
- break;
-
- case ACKRCVD:
- /* Huh? an extra valid Ack? oh well... */
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- fsm_sconfreq(f, 0);
- f->state = REQSENT;
- break;
-
- case ACKSENT:
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- f->state = OPENED;
- f->retransmits = f->maxconfreqtransmits;
- if (f->callbacks->up)
- (*f->callbacks->up)(f); /* Inform upper layers */
- break;
-
- case OPENED:
- /* Go down and restart negotiation */
- if (f->callbacks->down)
- (*f->callbacks->down)(f); /* Inform upper layers */
- fsm_sconfreq(f, 0); /* Send initial Configure-Request */
- f->state = REQSENT;
- break;
- }
-}
-
-
-/*
- * fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject.
- */
-static void
-fsm_rconfnakrej(f, code, id, inp, len)
- fsm *f;
- int code, id;
- u_char *inp;
- int len;
-{
- int (*proc) __P((fsm *, u_char *, int));
- int ret;
-
- if (id != f->reqid || f->seen_ack) /* Expected id? */
- return; /* Nope, toss... */
- proc = (code == CONFNAK)? f->callbacks->nakci: f->callbacks->rejci;
- if (!proc || !(ret = proc(f, inp, len))) {
- /* Nak/reject is bad - ignore it */
- error("Received bad configure-nak/rej: %P", inp, len);
- return;
- }
- f->seen_ack = 1;
-
- switch (f->state) {
- case CLOSED:
- case STOPPED:
- fsm_sdata(f, TERMACK, id, NULL, 0);
- break;
-
- case REQSENT:
- case ACKSENT:
- /* They didn't agree to what we wanted - try another request */
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- if (ret < 0)
- f->state = STOPPED; /* kludge for stopping CCP */
- else
- fsm_sconfreq(f, 0); /* Send Configure-Request */
- break;
-
- case ACKRCVD:
- /* Got a Nak/reject when we had already had an Ack?? oh well... */
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- fsm_sconfreq(f, 0);
- f->state = REQSENT;
- break;
-
- case OPENED:
- /* Go down and restart negotiation */
- if (f->callbacks->down)
- (*f->callbacks->down)(f); /* Inform upper layers */
- fsm_sconfreq(f, 0); /* Send initial Configure-Request */
- f->state = REQSENT;
- break;
- }
-}
-
-
-/*
- * fsm_rtermreq - Receive Terminate-Req.
- */
-static void
-fsm_rtermreq(f, id, p, len)
- fsm *f;
- int id;
- u_char *p;
- int len;
-{
- switch (f->state) {
- case ACKRCVD:
- case ACKSENT:
- f->state = REQSENT; /* Start over but keep trying */
- break;
-
- case OPENED:
- if (len > 0) {
- info("%s terminated by peer (%0.*v)", PROTO_NAME(f), len, p);
- } else
- info("%s terminated by peer", PROTO_NAME(f));
- if (f->callbacks->down)
- (*f->callbacks->down)(f); /* Inform upper layers */
- f->retransmits = 0;
- f->state = STOPPING;
- TIMEOUT(fsm_timeout, f, f->timeouttime);
- break;
- }
-
- fsm_sdata(f, TERMACK, id, NULL, 0);
-}
-
-
-/*
- * fsm_rtermack - Receive Terminate-Ack.
- */
-static void
-fsm_rtermack(f)
- fsm *f;
-{
- switch (f->state) {
- case CLOSING:
- UNTIMEOUT(fsm_timeout, f);
- f->state = CLOSED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- break;
- case STOPPING:
- UNTIMEOUT(fsm_timeout, f);
- f->state = STOPPED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- break;
-
- case ACKRCVD:
- f->state = REQSENT;
- break;
-
- case OPENED:
- if (f->callbacks->down)
- (*f->callbacks->down)(f); /* Inform upper layers */
- fsm_sconfreq(f, 0);
- break;
- }
-}
-
-
-/*
- * fsm_rcoderej - Receive an Code-Reject.
- */
-static void
-fsm_rcoderej(f, inp, len)
- fsm *f;
- u_char *inp;
- int len;
-{
- u_char code, id;
-
- if (len < HEADERLEN) {
- FSMDEBUG(("fsm_rcoderej: Rcvd short Code-Reject packet!"));
- return;
- }
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- warn("%s: Rcvd Code-Reject for code %d, id %d", PROTO_NAME(f), code, id);
-
- if( f->state == ACKRCVD )
- f->state = REQSENT;
-}
-
-
-/*
- * fsm_protreject - Peer doesn't speak this protocol.
- *
- * Treat this as a catastrophic error (RXJ-).
- */
-void
-fsm_protreject(f)
- fsm *f;
-{
- switch( f->state ){
- case CLOSING:
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- /* fall through */
- case CLOSED:
- f->state = CLOSED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- break;
-
- case STOPPING:
- case REQSENT:
- case ACKRCVD:
- case ACKSENT:
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- /* fall through */
- case STOPPED:
- f->state = STOPPED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- break;
-
- case OPENED:
- if( f->callbacks->down )
- (*f->callbacks->down)(f);
-
- /* Init restart counter, send Terminate-Request */
- f->retransmits = f->maxtermtransmits;
- fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
- (u_char *) f->term_reason, f->term_reason_len);
- TIMEOUT(fsm_timeout, f, f->timeouttime);
- --f->retransmits;
-
- f->state = STOPPING;
- break;
-
- default:
- FSMDEBUG(("%s: Protocol-reject event in state %d!",
- PROTO_NAME(f), f->state));
- }
-}
-
-
-/*
- * fsm_sconfreq - Send a Configure-Request.
- */
-static void
-fsm_sconfreq(f, retransmit)
- fsm *f;
- int retransmit;
-{
- u_char *outp;
- int cilen;
-
- if( f->state != REQSENT && f->state != ACKRCVD && f->state != ACKSENT ){
- /* Not currently negotiating - reset options */
- if( f->callbacks->resetci )
- (*f->callbacks->resetci)(f);
- f->nakloops = 0;
- }
-
- if( !retransmit ){
- /* New request - reset retransmission counter, use new ID */
- f->retransmits = f->maxconfreqtransmits;
- f->reqid = ++f->id;
- }
-
- f->seen_ack = 0;
-
- /*
- * Make up the request packet
- */
- outp = outpacket_buf + PPP_HDRLEN + HEADERLEN;
- if( f->callbacks->cilen && f->callbacks->addci ){
- cilen = (*f->callbacks->cilen)(f);
- if( cilen > peer_mru[f->unit] - HEADERLEN )
- cilen = peer_mru[f->unit] - HEADERLEN;
- if (f->callbacks->addci)
- (*f->callbacks->addci)(f, outp, &cilen);
- } else
- cilen = 0;
-
- /* send the request to our peer */
- fsm_sdata(f, CONFREQ, f->reqid, outp, cilen);
-
- /* start the retransmit timer */
- --f->retransmits;
- TIMEOUT(fsm_timeout, f, f->timeouttime);
-}
-
-
-/*
- * fsm_sdata - Send some data.
- *
- * Used for all packets sent to our peer by this module.
- */
-void
-fsm_sdata(f, code, id, data, datalen)
- fsm *f;
- u_char code, id;
- u_char *data;
- int datalen;
-{
- u_char *outp;
- int outlen;
-
- /* Adjust length to be smaller than MTU */
- outp = outpacket_buf;
- if (datalen > peer_mru[f->unit] - HEADERLEN)
- datalen = peer_mru[f->unit] - HEADERLEN;
- if (datalen && data != outp + PPP_HDRLEN + HEADERLEN)
- BCOPY(data, outp + PPP_HDRLEN + HEADERLEN, datalen);
- outlen = datalen + HEADERLEN;
- MAKEHEADER(outp, f->protocol);
- PUTCHAR(code, outp);
- PUTCHAR(id, outp);
- PUTSHORT(outlen, outp);
- output(f->unit, outpacket_buf, outlen + PPP_HDRLEN);
-}
diff --git a/mdk-stage1/ppp/pppd/fsm.h b/mdk-stage1/ppp/pppd/fsm.h
deleted file mode 100644
index c94a68e6c..000000000
--- a/mdk-stage1/ppp/pppd/fsm.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * fsm.h - {Link, IP} Control Protocol Finite State Machine definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Packet header = Code, id, length.
- */
-#define HEADERLEN 4
-
-
-/*
- * CP (LCP, IPCP, etc.) codes.
- */
-#define CONFREQ 1 /* Configuration Request */
-#define CONFACK 2 /* Configuration Ack */
-#define CONFNAK 3 /* Configuration Nak */
-#define CONFREJ 4 /* Configuration Reject */
-#define TERMREQ 5 /* Termination Request */
-#define TERMACK 6 /* Termination Ack */
-#define CODEREJ 7 /* Code Reject */
-
-
-/*
- * Each FSM is described by an fsm structure and fsm callbacks.
- */
-typedef struct fsm {
- int unit; /* Interface unit number */
- int protocol; /* Data Link Layer Protocol field value */
- int state; /* State */
- int flags; /* Contains option bits */
- u_char id; /* Current id */
- u_char reqid; /* Current request id */
- u_char seen_ack; /* Have received valid Ack/Nak/Rej to Req */
- int timeouttime; /* Timeout time in milliseconds */
- int maxconfreqtransmits; /* Maximum Configure-Request transmissions */
- int retransmits; /* Number of retransmissions left */
- int maxtermtransmits; /* Maximum Terminate-Request transmissions */
- int nakloops; /* Number of nak loops since last ack */
- int maxnakloops; /* Maximum number of nak loops tolerated */
- struct fsm_callbacks *callbacks; /* Callback routines */
- char *term_reason; /* Reason for closing protocol */
- int term_reason_len; /* Length of term_reason */
-} fsm;
-
-
-typedef struct fsm_callbacks {
- void (*resetci) /* Reset our Configuration Information */
- __P((fsm *));
- int (*cilen) /* Length of our Configuration Information */
- __P((fsm *));
- void (*addci) /* Add our Configuration Information */
- __P((fsm *, u_char *, int *));
- int (*ackci) /* ACK our Configuration Information */
- __P((fsm *, u_char *, int));
- int (*nakci) /* NAK our Configuration Information */
- __P((fsm *, u_char *, int));
- int (*rejci) /* Reject our Configuration Information */
- __P((fsm *, u_char *, int));
- int (*reqci) /* Request peer's Configuration Information */
- __P((fsm *, u_char *, int *, int));
- void (*up) /* Called when fsm reaches OPENED state */
- __P((fsm *));
- void (*down) /* Called when fsm leaves OPENED state */
- __P((fsm *));
- void (*starting) /* Called when we want the lower layer */
- __P((fsm *));
- void (*finished) /* Called when we don't want the lower layer */
- __P((fsm *));
- void (*protreject) /* Called when Protocol-Reject received */
- __P((int));
- void (*retransmit) /* Retransmission is necessary */
- __P((fsm *));
- int (*extcode) /* Called when unknown code received */
- __P((fsm *, int, int, u_char *, int));
- char *proto_name; /* String name for protocol (for messages) */
-} fsm_callbacks;
-
-
-/*
- * Link states.
- */
-#define INITIAL 0 /* Down, hasn't been opened */
-#define STARTING 1 /* Down, been opened */
-#define CLOSED 2 /* Up, hasn't been opened */
-#define STOPPED 3 /* Open, waiting for down event */
-#define CLOSING 4 /* Terminating the connection, not open */
-#define STOPPING 5 /* Terminating, but open */
-#define REQSENT 6 /* We've sent a Config Request */
-#define ACKRCVD 7 /* We've received a Config Ack */
-#define ACKSENT 8 /* We've sent a Config Ack */
-#define OPENED 9 /* Connection available */
-
-
-/*
- * Flags - indicate options controlling FSM operation
- */
-#define OPT_PASSIVE 1 /* Don't die if we don't get a response */
-#define OPT_RESTART 2 /* Treat 2nd OPEN as DOWN, UP */
-#define OPT_SILENT 4 /* Wait for peer to speak first */
-
-
-/*
- * Timeouts.
- */
-#define DEFTIMEOUT 3 /* Timeout time in seconds */
-#define DEFMAXTERMREQS 2 /* Maximum Terminate-Request transmissions */
-#define DEFMAXCONFREQS 10 /* Maximum Configure-Request transmissions */
-#define DEFMAXNAKLOOPS 5 /* Maximum number of nak loops */
-
-
-/*
- * Prototypes
- */
-void fsm_init __P((fsm *));
-void fsm_lowerup __P((fsm *));
-void fsm_lowerdown __P((fsm *));
-void fsm_open __P((fsm *));
-void fsm_close __P((fsm *, char *));
-void fsm_input __P((fsm *, u_char *, int));
-void fsm_protreject __P((fsm *));
-void fsm_sdata __P((fsm *, int, int, u_char *, int));
-
-
-/*
- * Variables
- */
-extern int peer_mru[]; /* currently negotiated peer MRU (per unit) */
diff --git a/mdk-stage1/ppp/pppd/ipcp.c b/mdk-stage1/ppp/pppd/ipcp.c
deleted file mode 100644
index ac5bd39fa..000000000
--- a/mdk-stage1/ppp/pppd/ipcp.c
+++ /dev/null
@@ -1,2054 +0,0 @@
-/*
- * ipcp.c - PPP IP Control Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <netdb.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-#include "pathnames.h"
-
-static const char rcsid[] = RCSID;
-
-/* global vars */
-ipcp_options ipcp_wantoptions[NUM_PPP]; /* Options that we want to request */
-ipcp_options ipcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
-ipcp_options ipcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
-ipcp_options ipcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
-
-u_int32_t netmask = 0; /* IP netmask to set on interface */
-
-bool disable_defaultip = 0; /* Don't use hostname for default IP adrs */
-
-/* Hook for a plugin to know when IP protocol has come up */
-void (*ip_up_hook) __P((void)) = NULL;
-
-/* Hook for a plugin to know when IP protocol has come down */
-void (*ip_down_hook) __P((void)) = NULL;
-
-/* Hook for a plugin to choose the remote IP address */
-void (*ip_choose_hook) __P((u_int32_t *)) = NULL;
-
-/* local vars */
-static int default_route_set[NUM_PPP]; /* Have set up a default route */
-static int proxy_arp_set[NUM_PPP]; /* Have created proxy arp entry */
-static bool usepeerdns; /* Ask peer for DNS addrs */
-static int ipcp_is_up; /* have called np_up() */
-static bool ask_for_local; /* request our address from peer */
-static char vj_value[8]; /* string form of vj option value */
-static char netmask_str[20]; /* string form of netmask value */
-
-/*
- * Callbacks for fsm code. (CI = Configuration Information)
- */
-static void ipcp_resetci __P((fsm *)); /* Reset our CI */
-static int ipcp_cilen __P((fsm *)); /* Return length of our CI */
-static void ipcp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
-static int ipcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
-static int ipcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
-static int ipcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
-static int ipcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
-static void ipcp_up __P((fsm *)); /* We're UP */
-static void ipcp_down __P((fsm *)); /* We're DOWN */
-static void ipcp_finished __P((fsm *)); /* Don't need lower layer */
-
-fsm ipcp_fsm[NUM_PPP]; /* IPCP fsm structure */
-
-static fsm_callbacks ipcp_callbacks = { /* IPCP callback routines */
- ipcp_resetci, /* Reset our Configuration Information */
- ipcp_cilen, /* Length of our Configuration Information */
- ipcp_addci, /* Add our Configuration Information */
- ipcp_ackci, /* ACK our Configuration Information */
- ipcp_nakci, /* NAK our Configuration Information */
- ipcp_rejci, /* Reject our Configuration Information */
- ipcp_reqci, /* Request peer's Configuration Information */
- ipcp_up, /* Called when fsm reaches OPENED state */
- ipcp_down, /* Called when fsm leaves OPENED state */
- NULL, /* Called when we want the lower layer up */
- ipcp_finished, /* Called when we want the lower layer down */
- NULL, /* Called when Protocol-Reject received */
- NULL, /* Retransmission is necessary */
- NULL, /* Called to handle protocol-specific codes */
- "IPCP" /* String name of protocol */
-};
-
-/*
- * Command-line options.
- */
-static int setvjslots __P((char **));
-static int setdnsaddr __P((char **));
-static int setwinsaddr __P((char **));
-static int setnetmask __P((char **));
-static int setipaddr __P((char *, char **, int));
-static void printipaddr __P((option_t *, void (*)(void *, char *,...),void *));
-
-static option_t ipcp_option_list[] = {
- { "noip", o_bool, &ipcp_protent.enabled_flag,
- "Disable IP and IPCP" },
- { "-ip", o_bool, &ipcp_protent.enabled_flag,
- "Disable IP and IPCP", OPT_ALIAS },
-
- { "novj", o_bool, &ipcp_wantoptions[0].neg_vj,
- "Disable VJ compression", OPT_A2CLR, &ipcp_allowoptions[0].neg_vj },
- { "-vj", o_bool, &ipcp_wantoptions[0].neg_vj,
- "Disable VJ compression", OPT_ALIAS | OPT_A2CLR,
- &ipcp_allowoptions[0].neg_vj },
-
- { "novjccomp", o_bool, &ipcp_wantoptions[0].cflag,
- "Disable VJ connection-ID compression", OPT_A2CLR,
- &ipcp_allowoptions[0].cflag },
- { "-vjccomp", o_bool, &ipcp_wantoptions[0].cflag,
- "Disable VJ connection-ID compression", OPT_ALIAS | OPT_A2CLR,
- &ipcp_allowoptions[0].cflag },
-
- { "vj-max-slots", o_special, (void *)setvjslots,
- "Set maximum VJ header slots",
- OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, vj_value },
-
- { "ipcp-accept-local", o_bool, &ipcp_wantoptions[0].accept_local,
- "Accept peer's address for us", 1 },
- { "ipcp-accept-remote", o_bool, &ipcp_wantoptions[0].accept_remote,
- "Accept peer's address for it", 1 },
-
- { "ipparam", o_string, &ipparam,
- "Set ip script parameter", OPT_PRIO },
-
- { "noipdefault", o_bool, &disable_defaultip,
- "Don't use name for default IP adrs", 1 },
-
- { "ms-dns", 1, (void *)setdnsaddr,
- "DNS address for the peer's use" },
- { "ms-wins", 1, (void *)setwinsaddr,
- "Nameserver for SMB over TCP/IP for peer" },
-
- { "ipcp-restart", o_int, &ipcp_fsm[0].timeouttime,
- "Set timeout for IPCP", OPT_PRIO },
- { "ipcp-max-terminate", o_int, &ipcp_fsm[0].maxtermtransmits,
- "Set max #xmits for term-reqs", OPT_PRIO },
- { "ipcp-max-configure", o_int, &ipcp_fsm[0].maxconfreqtransmits,
- "Set max #xmits for conf-reqs", OPT_PRIO },
- { "ipcp-max-failure", o_int, &ipcp_fsm[0].maxnakloops,
- "Set max #conf-naks for IPCP", OPT_PRIO },
-
- { "defaultroute", o_bool, &ipcp_wantoptions[0].default_route,
- "Add default route", OPT_ENABLE|1, &ipcp_allowoptions[0].default_route },
- { "nodefaultroute", o_bool, &ipcp_allowoptions[0].default_route,
- "disable defaultroute option", OPT_A2CLR,
- &ipcp_wantoptions[0].default_route },
- { "-defaultroute", o_bool, &ipcp_allowoptions[0].default_route,
- "disable defaultroute option", OPT_ALIAS | OPT_A2CLR,
- &ipcp_wantoptions[0].default_route },
-
- { "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp,
- "Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp },
- { "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
- "disable proxyarp option", OPT_A2CLR,
- &ipcp_wantoptions[0].proxy_arp },
- { "-proxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
- "disable proxyarp option", OPT_ALIAS | OPT_A2CLR,
- &ipcp_wantoptions[0].proxy_arp },
-
- { "usepeerdns", o_bool, &usepeerdns,
- "Ask peer for DNS address(es)", 1 },
-
- { "netmask", o_special, (void *)setnetmask,
- "set netmask", OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, netmask_str },
-
- { "IP addresses", o_wild, (void *) &setipaddr,
- "set local and remote IP addresses",
- OPT_NOARG | OPT_A2PRINTER, (void *) &printipaddr },
-
- { NULL }
-};
-
-/*
- * Protocol entry points from main code.
- */
-static void ipcp_init __P((int));
-static void ipcp_open __P((int));
-static void ipcp_close __P((int, char *));
-static void ipcp_lowerup __P((int));
-static void ipcp_lowerdown __P((int));
-static void ipcp_input __P((int, u_char *, int));
-static void ipcp_protrej __P((int));
-static int ipcp_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-static void ip_check_options __P((void));
-static int ip_demand_conf __P((int));
-static int ip_active_pkt __P((u_char *, int));
-static void create_resolv __P((u_int32_t, u_int32_t));
-
-struct protent ipcp_protent = {
- PPP_IPCP,
- ipcp_init,
- ipcp_input,
- ipcp_protrej,
- ipcp_lowerup,
- ipcp_lowerdown,
- ipcp_open,
- ipcp_close,
- ipcp_printpkt,
- NULL,
- 1,
- "IPCP",
- "IP",
- ipcp_option_list,
- ip_check_options,
- ip_demand_conf,
- ip_active_pkt
-};
-
-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
-static void ipcp_script __P((char *)); /* Run an up/down script */
-static void ipcp_script_done __P((void *));
-
-/*
- * Lengths of configuration options.
- */
-#define CILEN_VOID 2
-#define CILEN_COMPRESS 4 /* min length for compression protocol opt. */
-#define CILEN_VJ 6 /* length for RFC1332 Van-Jacobson opt. */
-#define CILEN_ADDR 6 /* new-style single address option */
-#define CILEN_ADDRS 10 /* old-style dual address option */
-
-
-#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
- (x) == CONFNAK ? "NAK" : "REJ")
-
-/*
- * This state variable is used to ensure that we don't
- * run an ipcp-up/down script while one is already running.
- */
-static enum script_state {
- s_down,
- s_up,
-} ipcp_script_state;
-static pid_t ipcp_script_pid;
-
-/*
- * Make a string representation of a network IP address.
- */
-char *
-ip_ntoa(ipaddr)
-u_int32_t ipaddr;
-{
- static char b[64];
-
- slprintf(b, sizeof(b), "%I", ipaddr);
- return b;
-}
-
-/*
- * Option parsing.
- */
-
-/*
- * setvjslots - set maximum number of connection slots for VJ compression
- */
-static int
-setvjslots(argv)
- char **argv;
-{
- int value;
-
- if (!int_option(*argv, &value))
- return 0;
- if (value < 2 || value > 16) {
- option_error("vj-max-slots value must be between 2 and 16");
- return 0;
- }
- ipcp_wantoptions [0].maxslotindex =
- ipcp_allowoptions[0].maxslotindex = value - 1;
- slprintf(vj_value, sizeof(vj_value), "%d", value);
- return 1;
-}
-
-/*
- * setdnsaddr - set the dns address(es)
- */
-static int
-setdnsaddr(argv)
- char **argv;
-{
- u_int32_t dns;
- struct hostent *hp;
-
- dns = inet_addr(*argv);
- if (dns == (u_int32_t) -1) {
- if ((hp = gethostbyname(*argv)) == NULL) {
- option_error("invalid address parameter '%s' for ms-dns option",
- *argv);
- return 0;
- }
- dns = *(u_int32_t *)hp->h_addr;
- }
-
- /* We take the last 2 values given, the 2nd-last as the primary
- and the last as the secondary. If only one is given it
- becomes both primary and secondary. */
- if (ipcp_allowoptions[0].dnsaddr[1] == 0)
- ipcp_allowoptions[0].dnsaddr[0] = dns;
- else
- ipcp_allowoptions[0].dnsaddr[0] = ipcp_allowoptions[0].dnsaddr[1];
-
- /* always set the secondary address value. */
- ipcp_allowoptions[0].dnsaddr[1] = dns;
-
- return (1);
-}
-
-/*
- * setwinsaddr - set the wins address(es)
- * This is primrarly used with the Samba package under UNIX or for pointing
- * the caller to the existing WINS server on a Windows NT platform.
- */
-static int
-setwinsaddr(argv)
- char **argv;
-{
- u_int32_t wins;
- struct hostent *hp;
-
- wins = inet_addr(*argv);
- if (wins == (u_int32_t) -1) {
- if ((hp = gethostbyname(*argv)) == NULL) {
- option_error("invalid address parameter '%s' for ms-wins option",
- *argv);
- return 0;
- }
- wins = *(u_int32_t *)hp->h_addr;
- }
-
- /* We take the last 2 values given, the 2nd-last as the primary
- and the last as the secondary. If only one is given it
- becomes both primary and secondary. */
- if (ipcp_allowoptions[0].winsaddr[1] == 0)
- ipcp_allowoptions[0].winsaddr[0] = wins;
- else
- ipcp_allowoptions[0].winsaddr[0] = ipcp_allowoptions[0].winsaddr[1];
-
- /* always set the secondary address value. */
- ipcp_allowoptions[0].winsaddr[1] = wins;
-
- return (1);
-}
-
-/*
- * setipaddr - Set the IP address
- * If doit is 0, the call is to check whether this option is
- * potentially an IP address specification.
- */
-static int
-setipaddr(arg, argv, doit)
- char *arg;
- char **argv;
- int doit;
-{
- struct hostent *hp;
- char *colon;
- u_int32_t local, remote;
- ipcp_options *wo = &ipcp_wantoptions[0];
- static int prio_local = 0, prio_remote = 0;
-
- /*
- * IP address pair separated by ":".
- */
- if ((colon = strchr(arg, ':')) == NULL)
- return 0;
- if (!doit)
- return 1;
-
- /*
- * If colon first character, then no local addr.
- */
- if (colon != arg && option_priority >= prio_local) {
- *colon = '\0';
- if ((local = inet_addr(arg)) == (u_int32_t) -1) {
- if ((hp = gethostbyname(arg)) == NULL) {
- option_error("unknown host: %s", arg);
- return 0;
- }
- local = *(u_int32_t *)hp->h_addr;
- }
- if (bad_ip_adrs(local)) {
- option_error("bad local IP address %s", ip_ntoa(local));
- return 0;
- }
- if (local != 0)
- wo->ouraddr = local;
- *colon = ':';
- prio_local = option_priority;
- }
-
- /*
- * If colon last character, then no remote addr.
- */
- if (*++colon != '\0' && option_priority >= prio_remote) {
- if ((remote = inet_addr(colon)) == (u_int32_t) -1) {
- if ((hp = gethostbyname(colon)) == NULL) {
- option_error("unknown host: %s", colon);
- return 0;
- }
- remote = *(u_int32_t *)hp->h_addr;
- if (remote_name[0] == 0)
- strlcpy(remote_name, colon, sizeof(remote_name));
- }
- if (bad_ip_adrs(remote)) {
- option_error("bad remote IP address %s", ip_ntoa(remote));
- return 0;
- }
- if (remote != 0)
- wo->hisaddr = remote;
- prio_remote = option_priority;
- }
-
- return 1;
-}
-
-static void
-printipaddr(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- ipcp_options *wo = &ipcp_wantoptions[0];
-
- if (wo->ouraddr != 0)
- printer(arg, "%I", wo->ouraddr);
- printer(arg, ":");
- if (wo->hisaddr != 0)
- printer(arg, "%I", wo->hisaddr);
-}
-
-/*
- * setnetmask - set the netmask to be used on the interface.
- */
-static int
-setnetmask(argv)
- char **argv;
-{
- u_int32_t mask;
- int n;
- char *p;
-
- /*
- * Unfortunately, if we use inet_addr, we can't tell whether
- * a result of all 1s is an error or a valid 255.255.255.255.
- */
- p = *argv;
- n = parse_dotted_ip(p, &mask);
-
- mask = htonl(mask);
-
- if (n == 0 || p[n] != 0 || (netmask & ~mask) != 0) {
- option_error("invalid netmask value '%s'", *argv);
- return 0;
- }
-
- netmask = mask;
- slprintf(netmask_str, sizeof(netmask_str), "%I", mask);
-
- return (1);
-}
-
-int
-parse_dotted_ip(p, vp)
- char *p;
- u_int32_t *vp;
-{
- int n;
- u_int32_t v, b;
- char *endp, *p0 = p;
-
- v = 0;
- for (n = 3;; --n) {
- b = strtoul(p, &endp, 0);
- if (endp == p)
- return 0;
- if (b > 255) {
- if (n < 3)
- return 0;
- /* accept e.g. 0xffffff00 */
- *vp = b;
- return endp - p0;
- }
- v |= b << (n * 8);
- p = endp;
- if (n == 0)
- break;
- if (*p != '.')
- return 0;
- ++p;
- }
- *vp = v;
- return p - p0;
-}
-
-
-/*
- * ipcp_init - Initialize IPCP.
- */
-static void
-ipcp_init(unit)
- int unit;
-{
- fsm *f = &ipcp_fsm[unit];
- ipcp_options *wo = &ipcp_wantoptions[unit];
- ipcp_options *ao = &ipcp_allowoptions[unit];
-
- f->unit = unit;
- f->protocol = PPP_IPCP;
- f->callbacks = &ipcp_callbacks;
- fsm_init(&ipcp_fsm[unit]);
-
- memset(wo, 0, sizeof(*wo));
- memset(ao, 0, sizeof(*ao));
-
- wo->neg_addr = 1;
- wo->neg_vj = 1;
- wo->vj_protocol = IPCP_VJ_COMP;
- wo->maxslotindex = MAX_STATES - 1; /* really max index */
- wo->cflag = 1;
-
-
- /* max slots and slot-id compression are currently hardwired in */
- /* ppp_if.c to 16 and 1, this needs to be changed (among other */
- /* things) gmc */
-
- ao->neg_addr = 1;
- ao->neg_vj = 1;
- ao->maxslotindex = MAX_STATES - 1;
- ao->cflag = 1;
-
- /*
- * XXX These control whether the user may use the proxyarp
- * and defaultroute options.
- */
- ao->proxy_arp = 1;
- ao->default_route = 1;
-}
-
-
-/*
- * ipcp_open - IPCP is allowed to come up.
- */
-static void
-ipcp_open(unit)
- int unit;
-{
- fsm_open(&ipcp_fsm[unit]);
-}
-
-
-/*
- * ipcp_close - Take IPCP down.
- */
-static void
-ipcp_close(unit, reason)
- int unit;
- char *reason;
-{
- fsm_close(&ipcp_fsm[unit], reason);
-}
-
-
-/*
- * ipcp_lowerup - The lower layer is up.
- */
-static void
-ipcp_lowerup(unit)
- int unit;
-{
- fsm_lowerup(&ipcp_fsm[unit]);
-}
-
-
-/*
- * ipcp_lowerdown - The lower layer is down.
- */
-static void
-ipcp_lowerdown(unit)
- int unit;
-{
- fsm_lowerdown(&ipcp_fsm[unit]);
-}
-
-
-/*
- * ipcp_input - Input IPCP packet.
- */
-static void
-ipcp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm_input(&ipcp_fsm[unit], p, len);
-}
-
-
-/*
- * ipcp_protrej - A Protocol-Reject was received for IPCP.
- *
- * Pretend the lower layer went down, so we shut up.
- */
-static void
-ipcp_protrej(unit)
- int unit;
-{
- fsm_lowerdown(&ipcp_fsm[unit]);
-}
-
-
-/*
- * ipcp_resetci - Reset our CI.
- * Called by fsm_sconfreq, Send Configure Request.
- */
-static void
-ipcp_resetci(f)
- fsm *f;
-{
- ipcp_options *wo = &ipcp_wantoptions[f->unit];
- ipcp_options *go = &ipcp_gotoptions[f->unit];
-
- wo->req_addr = wo->neg_addr && ipcp_allowoptions[f->unit].neg_addr;
- if (wo->ouraddr == 0)
- wo->accept_local = 1;
- if (wo->hisaddr == 0)
- wo->accept_remote = 1;
- wo->req_dns1 = usepeerdns; /* Request DNS addresses from the peer */
- wo->req_dns2 = usepeerdns;
- *go = *wo;
- if (!ask_for_local)
- go->ouraddr = 0;
- if (ip_choose_hook)
- ip_choose_hook(&wo->hisaddr);
-}
-
-
-/*
- * ipcp_cilen - Return length of our CI.
- * Called by fsm_sconfreq, Send Configure Request.
- */
-static int
-ipcp_cilen(f)
- fsm *f;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- ipcp_options *wo = &ipcp_wantoptions[f->unit];
- ipcp_options *ho = &ipcp_hisoptions[f->unit];
-
-#define LENCIVJ(neg, old) (neg ? (old? CILEN_COMPRESS : CILEN_VJ) : 0)
-#define LENCIADDR(neg, old) (neg ? (old? CILEN_ADDRS : CILEN_ADDR) : 0)
-#define LENCIDNS(neg) (neg ? (CILEN_ADDR) : 0)
-
- /*
- * First see if we want to change our options to the old
- * forms because we have received old forms from the peer.
- */
- if (wo->neg_addr && !go->neg_addr && !go->old_addrs) {
- /* use the old style of address negotiation */
- go->neg_addr = 1;
- go->old_addrs = 1;
- }
- if (wo->neg_vj && !go->neg_vj && !go->old_vj) {
- /* try an older style of VJ negotiation */
- /* use the old style only if the peer did */
- if (ho->neg_vj && ho->old_vj) {
- go->neg_vj = 1;
- go->old_vj = 1;
- go->vj_protocol = ho->vj_protocol;
- }
- }
-
- return (LENCIADDR(go->neg_addr, go->old_addrs) +
- LENCIVJ(go->neg_vj, go->old_vj) +
- LENCIDNS(go->req_dns1) +
- LENCIDNS(go->req_dns2)) ;
-}
-
-
-/*
- * ipcp_addci - Add our desired CIs to a packet.
- * Called by fsm_sconfreq, Send Configure Request.
- */
-static void
-ipcp_addci(f, ucp, lenp)
- fsm *f;
- u_char *ucp;
- int *lenp;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- int len = *lenp;
-
-#define ADDCIVJ(opt, neg, val, old, maxslotindex, cflag) \
- if (neg) { \
- int vjlen = old? CILEN_COMPRESS : CILEN_VJ; \
- if (len >= vjlen) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(vjlen, ucp); \
- PUTSHORT(val, ucp); \
- if (!old) { \
- PUTCHAR(maxslotindex, ucp); \
- PUTCHAR(cflag, ucp); \
- } \
- len -= vjlen; \
- } else \
- neg = 0; \
- }
-
-#define ADDCIADDR(opt, neg, old, val1, val2) \
- if (neg) { \
- int addrlen = (old? CILEN_ADDRS: CILEN_ADDR); \
- if (len >= addrlen) { \
- u_int32_t l; \
- PUTCHAR(opt, ucp); \
- PUTCHAR(addrlen, ucp); \
- l = ntohl(val1); \
- PUTLONG(l, ucp); \
- if (old) { \
- l = ntohl(val2); \
- PUTLONG(l, ucp); \
- } \
- len -= addrlen; \
- } else \
- neg = 0; \
- }
-
-#define ADDCIDNS(opt, neg, addr) \
- if (neg) { \
- if (len >= CILEN_ADDR) { \
- u_int32_t l; \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_ADDR, ucp); \
- l = ntohl(addr); \
- PUTLONG(l, ucp); \
- len -= CILEN_ADDR; \
- } else \
- neg = 0; \
- }
-
- ADDCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), go->neg_addr,
- go->old_addrs, go->ouraddr, go->hisaddr);
-
- ADDCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol, go->old_vj,
- go->maxslotindex, go->cflag);
-
- ADDCIDNS(CI_MS_DNS1, go->req_dns1, go->dnsaddr[0]);
-
- ADDCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
-
- *lenp -= len;
-}
-
-
-/*
- * ipcp_ackci - Ack our CIs.
- * Called by fsm_rconfack, Receive Configure ACK.
- *
- * Returns:
- * 0 - Ack was bad.
- * 1 - Ack was good.
- */
-static int
-ipcp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- u_short cilen, citype, cishort;
- u_int32_t cilong;
- u_char cimaxslotindex, cicflag;
-
- /*
- * CIs must be in exactly the same order that we sent...
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-
-#define ACKCIVJ(opt, neg, val, old, maxslotindex, cflag) \
- if (neg) { \
- int vjlen = old? CILEN_COMPRESS : CILEN_VJ; \
- if ((len -= vjlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != vjlen || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != val) \
- goto bad; \
- if (!old) { \
- GETCHAR(cimaxslotindex, p); \
- if (cimaxslotindex != maxslotindex) \
- goto bad; \
- GETCHAR(cicflag, p); \
- if (cicflag != cflag) \
- goto bad; \
- } \
- }
-
-#define ACKCIADDR(opt, neg, old, val1, val2) \
- if (neg) { \
- int addrlen = (old? CILEN_ADDRS: CILEN_ADDR); \
- u_int32_t l; \
- if ((len -= addrlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != addrlen || \
- citype != opt) \
- goto bad; \
- GETLONG(l, p); \
- cilong = htonl(l); \
- if (val1 != cilong) \
- goto bad; \
- if (old) { \
- GETLONG(l, p); \
- cilong = htonl(l); \
- if (val2 != cilong) \
- goto bad; \
- } \
- }
-
-#define ACKCIDNS(opt, neg, addr) \
- if (neg) { \
- u_int32_t l; \
- if ((len -= CILEN_ADDR) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_ADDR || citype != opt) \
- goto bad; \
- GETLONG(l, p); \
- cilong = htonl(l); \
- if (addr != cilong) \
- goto bad; \
- }
-
- ACKCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), go->neg_addr,
- go->old_addrs, go->ouraddr, go->hisaddr);
-
- ACKCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol, go->old_vj,
- go->maxslotindex, go->cflag);
-
- ACKCIDNS(CI_MS_DNS1, go->req_dns1, go->dnsaddr[0]);
-
- ACKCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- return (1);
-
-bad:
- IPCPDEBUG(("ipcp_ackci: received bad Ack!"));
- return (0);
-}
-
-/*
- * ipcp_nakci - Peer has sent a NAK for some of our CIs.
- * This should not modify any state if the Nak is bad
- * or if IPCP is in the OPENED state.
- * Calback from fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject.
- *
- * Returns:
- * 0 - Nak was bad.
- * 1 - Nak was good.
- */
-static int
-ipcp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- u_char cimaxslotindex, cicflag;
- u_char citype, cilen, *next;
- u_short cishort;
- u_int32_t ciaddr1, ciaddr2, l, cidnsaddr;
- ipcp_options no; /* options we've seen Naks for */
- ipcp_options try; /* options to request next time */
-
- BZERO(&no, sizeof(no));
- try = *go;
-
- /*
- * Any Nak'd CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define NAKCIADDR(opt, neg, old, code) \
- if (go->neg && \
- len >= (cilen = (old? CILEN_ADDRS: CILEN_ADDR)) && \
- p[1] == cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- GETLONG(l, p); \
- ciaddr1 = htonl(l); \
- if (old) { \
- GETLONG(l, p); \
- ciaddr2 = htonl(l); \
- no.old_addrs = 1; \
- } else \
- ciaddr2 = 0; \
- no.neg = 1; \
- code \
- }
-
-#define NAKCIVJ(opt, neg, code) \
- if (go->neg && \
- ((cilen = p[1]) == CILEN_COMPRESS || cilen == CILEN_VJ) && \
- len >= cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- no.neg = 1; \
- code \
- }
-
-#define NAKCIDNS(opt, neg, code) \
- if (go->neg && \
- ((cilen = p[1]) == CILEN_ADDR) && \
- len >= cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- GETLONG(l, p); \
- cidnsaddr = htonl(l); \
- no.neg = 1; \
- code \
- }
-
- /*
- * Accept the peer's idea of {our,his} address, if different
- * from our idea, only if the accept_{local,remote} flag is set.
- */
- NAKCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), neg_addr, go->old_addrs,
- if (go->accept_local && ciaddr1) { /* Do we know our address? */
- try.ouraddr = ciaddr1;
- }
- if (go->accept_remote && ciaddr2) { /* Does he know his? */
- try.hisaddr = ciaddr2;
- }
- );
-
- /*
- * Accept the peer's value of maxslotindex provided that it
- * is less than what we asked for. Turn off slot-ID compression
- * if the peer wants. Send old-style compress-type option if
- * the peer wants.
- */
- NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
- if (cilen == CILEN_VJ) {
- GETCHAR(cimaxslotindex, p);
- GETCHAR(cicflag, p);
- if (cishort == IPCP_VJ_COMP) {
- try.old_vj = 0;
- if (cimaxslotindex < go->maxslotindex)
- try.maxslotindex = cimaxslotindex;
- if (!cicflag)
- try.cflag = 0;
- } else {
- try.neg_vj = 0;
- }
- } else {
- if (cishort == IPCP_VJ_COMP || cishort == IPCP_VJ_COMP_OLD) {
- try.old_vj = 1;
- try.vj_protocol = cishort;
- } else {
- try.neg_vj = 0;
- }
- }
- );
-
- NAKCIDNS(CI_MS_DNS1, req_dns1,
- try.dnsaddr[0] = cidnsaddr;
- );
-
- NAKCIDNS(CI_MS_DNS2, req_dns2,
- try.dnsaddr[1] = cidnsaddr;
- );
-
- /*
- * There may be remaining CIs, if the peer is requesting negotiation
- * on an option that we didn't include in our request packet.
- * If they want to negotiate about IP addresses, we comply.
- * If they want us to ask for compression, we refuse.
- */
- while (len > CILEN_VOID) {
- GETCHAR(citype, p);
- GETCHAR(cilen, p);
- if( (len -= cilen) < 0 )
- goto bad;
- next = p + cilen - 2;
-
- switch (citype) {
- case CI_COMPRESSTYPE:
- if (go->neg_vj || no.neg_vj ||
- (cilen != CILEN_VJ && cilen != CILEN_COMPRESS))
- goto bad;
- no.neg_vj = 1;
- break;
- case CI_ADDRS:
- if ((go->neg_addr && go->old_addrs) || no.old_addrs
- || cilen != CILEN_ADDRS)
- goto bad;
- try.neg_addr = 1;
- try.old_addrs = 1;
- GETLONG(l, p);
- ciaddr1 = htonl(l);
- if (ciaddr1 && go->accept_local)
- try.ouraddr = ciaddr1;
- GETLONG(l, p);
- ciaddr2 = htonl(l);
- if (ciaddr2 && go->accept_remote)
- try.hisaddr = ciaddr2;
- no.old_addrs = 1;
- break;
- case CI_ADDR:
- if (go->neg_addr || no.neg_addr || cilen != CILEN_ADDR)
- goto bad;
- try.old_addrs = 0;
- GETLONG(l, p);
- ciaddr1 = htonl(l);
- if (ciaddr1 && go->accept_local)
- try.ouraddr = ciaddr1;
- if (try.ouraddr != 0)
- try.neg_addr = 1;
- no.neg_addr = 1;
- break;
- }
- p = next;
- }
-
- /*
- * OK, the Nak is good. Now we can update state.
- * If there are any remaining options, we ignore them.
- */
- if (f->state != OPENED)
- *go = try;
-
- return 1;
-
-bad:
- IPCPDEBUG(("ipcp_nakci: received bad Nak!"));
- return 0;
-}
-
-
-/*
- * ipcp_rejci - Reject some of our CIs.
- * Callback from fsm_rconfnakrej.
- */
-static int
-ipcp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- u_char cimaxslotindex, ciflag, cilen;
- u_short cishort;
- u_int32_t cilong;
- ipcp_options try; /* options to request next time */
-
- try = *go;
- /*
- * Any Rejected CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define REJCIADDR(opt, neg, old, val1, val2) \
- if (go->neg && \
- len >= (cilen = old? CILEN_ADDRS: CILEN_ADDR) && \
- p[1] == cilen && \
- p[0] == opt) { \
- u_int32_t l; \
- len -= cilen; \
- INCPTR(2, p); \
- GETLONG(l, p); \
- cilong = htonl(l); \
- /* Check rejected value. */ \
- if (cilong != val1) \
- goto bad; \
- if (old) { \
- GETLONG(l, p); \
- cilong = htonl(l); \
- /* Check rejected value. */ \
- if (cilong != val2) \
- goto bad; \
- } \
- try.neg = 0; \
- }
-
-#define REJCIVJ(opt, neg, val, old, maxslot, cflag) \
- if (go->neg && \
- p[1] == (old? CILEN_COMPRESS : CILEN_VJ) && \
- len >= p[1] && \
- p[0] == opt) { \
- len -= p[1]; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- /* Check rejected value. */ \
- if (cishort != val) \
- goto bad; \
- if (!old) { \
- GETCHAR(cimaxslotindex, p); \
- if (cimaxslotindex != maxslot) \
- goto bad; \
- GETCHAR(ciflag, p); \
- if (ciflag != cflag) \
- goto bad; \
- } \
- try.neg = 0; \
- }
-
-#define REJCIDNS(opt, neg, dnsaddr) \
- if (go->neg && \
- ((cilen = p[1]) == CILEN_ADDR) && \
- len >= cilen && \
- p[0] == opt) { \
- u_int32_t l; \
- len -= cilen; \
- INCPTR(2, p); \
- GETLONG(l, p); \
- cilong = htonl(l); \
- /* Check rejected value. */ \
- if (cilong != dnsaddr) \
- goto bad; \
- try.neg = 0; \
- }
-
-
- REJCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), neg_addr,
- go->old_addrs, go->ouraddr, go->hisaddr);
-
- REJCIVJ(CI_COMPRESSTYPE, neg_vj, go->vj_protocol, go->old_vj,
- go->maxslotindex, go->cflag);
-
- REJCIDNS(CI_MS_DNS1, req_dns1, go->dnsaddr[0]);
-
- REJCIDNS(CI_MS_DNS2, req_dns2, go->dnsaddr[1]);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- /*
- * Now we can update state.
- */
- if (f->state != OPENED)
- *go = try;
- return 1;
-
-bad:
- IPCPDEBUG(("ipcp_rejci: received bad Reject!"));
- return 0;
-}
-
-
-/*
- * ipcp_reqci - Check the peer's requested CIs and send appropriate response.
- * Callback from fsm_rconfreq, Receive Configure Request
- *
- * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
- * appropriately. If reject_if_disagree is non-zero, doesn't return
- * CONFNAK; returns CONFREJ if it can't return CONFACK.
- */
-static int
-ipcp_reqci(f, inp, len, reject_if_disagree)
- fsm *f;
- u_char *inp; /* Requested CIs */
- int *len; /* Length of requested CIs */
- int reject_if_disagree;
-{
- ipcp_options *wo = &ipcp_wantoptions[f->unit];
- ipcp_options *ho = &ipcp_hisoptions[f->unit];
- ipcp_options *ao = &ipcp_allowoptions[f->unit];
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- u_char *cip, *next; /* Pointer to current and next CIs */
- u_short cilen, citype; /* Parsed len, type */
- u_short cishort; /* Parsed short value */
- u_int32_t tl, ciaddr1, ciaddr2;/* Parsed address values */
- int rc = CONFACK; /* Final packet return code */
- int orc; /* Individual option return code */
- u_char *p; /* Pointer to next char to parse */
- u_char *ucp = inp; /* Pointer to current output char */
- int l = *len; /* Length left */
- u_char maxslotindex, cflag;
- int d;
-
- /*
- * Reset all his options.
- */
- BZERO(ho, sizeof(*ho));
-
- /*
- * Process all his options.
- */
- next = inp;
- while (l) {
- orc = CONFACK; /* Assume success */
- cip = p = next; /* Remember begining of CI */
- if (l < 2 || /* Not enough data for CI header or */
- p[1] < 2 || /* CI length too small or */
- p[1] > l) { /* CI length too big? */
- IPCPDEBUG(("ipcp_reqci: bad CI length!"));
- orc = CONFREJ; /* Reject bad CI */
- cilen = l; /* Reject till end of packet */
- l = 0; /* Don't loop again */
- goto endswitch;
- }
- GETCHAR(citype, p); /* Parse CI type */
- GETCHAR(cilen, p); /* Parse CI length */
- l -= cilen; /* Adjust remaining length */
- next += cilen; /* Step to next CI */
-
- switch (citype) { /* Check CI type */
- case CI_ADDRS:
- if (!ao->neg_addr ||
- cilen != CILEN_ADDRS) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
-
- /*
- * If he has no address, or if we both have his address but
- * disagree about it, then NAK it with our idea.
- * In particular, if we don't know his address, but he does,
- * then accept it.
- */
- GETLONG(tl, p); /* Parse source address (his) */
- ciaddr1 = htonl(tl);
- if (ciaddr1 != wo->hisaddr
- && (ciaddr1 == 0 || !wo->accept_remote)) {
- orc = CONFNAK;
- if (!reject_if_disagree) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(wo->hisaddr);
- PUTLONG(tl, p);
- }
- } else if (ciaddr1 == 0 && wo->hisaddr == 0) {
- /*
- * If neither we nor he knows his address, reject the option.
- */
- orc = CONFREJ;
- wo->req_addr = 0; /* don't NAK with 0.0.0.0 later */
- break;
- }
-
- /*
- * If he doesn't know our address, or if we both have our address
- * but disagree about it, then NAK it with our idea.
- */
- GETLONG(tl, p); /* Parse desination address (ours) */
- ciaddr2 = htonl(tl);
- if (ciaddr2 != wo->ouraddr) {
- if (ciaddr2 == 0 || !wo->accept_local) {
- orc = CONFNAK;
- if (!reject_if_disagree) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(wo->ouraddr);
- PUTLONG(tl, p);
- }
- } else {
- go->ouraddr = ciaddr2; /* accept peer's idea */
- }
- }
-
- ho->neg_addr = 1;
- ho->old_addrs = 1;
- ho->hisaddr = ciaddr1;
- ho->ouraddr = ciaddr2;
- break;
-
- case CI_ADDR:
- if (!ao->neg_addr ||
- cilen != CILEN_ADDR) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
-
- /*
- * If he has no address, or if we both have his address but
- * disagree about it, then NAK it with our idea.
- * In particular, if we don't know his address, but he does,
- * then accept it.
- */
- GETLONG(tl, p); /* Parse source address (his) */
- ciaddr1 = htonl(tl);
- if (ciaddr1 != wo->hisaddr
- && (ciaddr1 == 0 || !wo->accept_remote)) {
- orc = CONFNAK;
- if (!reject_if_disagree) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(wo->hisaddr);
- PUTLONG(tl, p);
- }
- } else if (ciaddr1 == 0 && wo->hisaddr == 0) {
- /*
- * Don't ACK an address of 0.0.0.0 - reject it instead.
- */
- orc = CONFREJ;
- wo->req_addr = 0; /* don't NAK with 0.0.0.0 later */
- break;
- }
-
- ho->neg_addr = 1;
- ho->hisaddr = ciaddr1;
- break;
-
- case CI_MS_DNS1:
- case CI_MS_DNS2:
- /* Microsoft primary or secondary DNS request */
- d = citype == CI_MS_DNS2;
-
- /* If we do not have a DNS address then we cannot send it */
- if (ao->dnsaddr[d] == 0 ||
- cilen != CILEN_ADDR) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
- GETLONG(tl, p);
- if (htonl(tl) != ao->dnsaddr[d]) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(ao->dnsaddr[d]);
- PUTLONG(tl, p);
- orc = CONFNAK;
- }
- break;
-
- case CI_MS_WINS1:
- case CI_MS_WINS2:
- /* Microsoft primary or secondary WINS request */
- d = citype == CI_MS_WINS2;
-
- /* If we do not have a DNS address then we cannot send it */
- if (ao->winsaddr[d] == 0 ||
- cilen != CILEN_ADDR) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
- GETLONG(tl, p);
- if (htonl(tl) != ao->winsaddr[d]) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(ao->winsaddr[d]);
- PUTLONG(tl, p);
- orc = CONFNAK;
- }
- break;
-
- case CI_COMPRESSTYPE:
- if (!ao->neg_vj ||
- (cilen != CILEN_VJ && cilen != CILEN_COMPRESS)) {
- orc = CONFREJ;
- break;
- }
- GETSHORT(cishort, p);
-
- if (!(cishort == IPCP_VJ_COMP ||
- (cishort == IPCP_VJ_COMP_OLD && cilen == CILEN_COMPRESS))) {
- orc = CONFREJ;
- break;
- }
-
- ho->neg_vj = 1;
- ho->vj_protocol = cishort;
- if (cilen == CILEN_VJ) {
- GETCHAR(maxslotindex, p);
- if (maxslotindex > ao->maxslotindex) {
- orc = CONFNAK;
- if (!reject_if_disagree){
- DECPTR(1, p);
- PUTCHAR(ao->maxslotindex, p);
- }
- }
- GETCHAR(cflag, p);
- if (cflag && !ao->cflag) {
- orc = CONFNAK;
- if (!reject_if_disagree){
- DECPTR(1, p);
- PUTCHAR(wo->cflag, p);
- }
- }
- ho->maxslotindex = maxslotindex;
- ho->cflag = cflag;
- } else {
- ho->old_vj = 1;
- ho->maxslotindex = MAX_STATES - 1;
- ho->cflag = 1;
- }
- break;
-
- default:
- orc = CONFREJ;
- break;
- }
-endswitch:
- if (orc == CONFACK && /* Good CI */
- rc != CONFACK) /* but prior CI wasnt? */
- continue; /* Don't send this one */
-
- if (orc == CONFNAK) { /* Nak this CI? */
- if (reject_if_disagree) /* Getting fed up with sending NAKs? */
- orc = CONFREJ; /* Get tough if so */
- else {
- if (rc == CONFREJ) /* Rejecting prior CI? */
- continue; /* Don't send this one */
- if (rc == CONFACK) { /* Ack'd all prior CIs? */
- rc = CONFNAK; /* Not anymore... */
- ucp = inp; /* Backup */
- }
- }
- }
-
- if (orc == CONFREJ && /* Reject this CI */
- rc != CONFREJ) { /* but no prior ones? */
- rc = CONFREJ;
- ucp = inp; /* Backup */
- }
-
- /* Need to move CI? */
- if (ucp != cip)
- BCOPY(cip, ucp, cilen); /* Move it */
-
- /* Update output pointer */
- INCPTR(cilen, ucp);
- }
-
- /*
- * If we aren't rejecting this packet, and we want to negotiate
- * their address, and they didn't send their address, then we
- * send a NAK with a CI_ADDR option appended. We assume the
- * input buffer is long enough that we can append the extra
- * option safely.
- */
- if (rc != CONFREJ && !ho->neg_addr &&
- wo->req_addr && !reject_if_disagree) {
- if (rc == CONFACK) {
- rc = CONFNAK;
- ucp = inp; /* reset pointer */
- wo->req_addr = 0; /* don't ask again */
- }
- PUTCHAR(CI_ADDR, ucp);
- PUTCHAR(CILEN_ADDR, ucp);
- tl = ntohl(wo->hisaddr);
- PUTLONG(tl, ucp);
- }
-
- *len = ucp - inp; /* Compute output length */
- IPCPDEBUG(("ipcp: returning Configure-%s", CODENAME(rc)));
- return (rc); /* Return final code */
-}
-
-
-/*
- * ip_check_options - check that any IP-related options are OK,
- * and assign appropriate defaults.
- */
-static void
-ip_check_options()
-{
- struct hostent *hp;
- u_int32_t local;
- ipcp_options *wo = &ipcp_wantoptions[0];
-
- /*
- * Default our local IP address based on our hostname.
- * If local IP address already given, don't bother.
- */
- if (wo->ouraddr == 0 && !disable_defaultip) {
- /*
- * Look up our hostname (possibly with domain name appended)
- * and take the first IP address as our local IP address.
- * If there isn't an IP address for our hostname, too bad.
- */
- wo->accept_local = 1; /* don't insist on this default value */
- if ((hp = gethostbyname(hostname)) != NULL) {
- local = *(u_int32_t *)hp->h_addr;
- if (local != 0 && !bad_ip_adrs(local))
- wo->ouraddr = local;
- }
- }
- ask_for_local = wo->ouraddr != 0 || !disable_defaultip;
-}
-
-
-/*
- * ip_demand_conf - configure the interface as though
- * IPCP were up, for use with dial-on-demand.
- */
-static int
-ip_demand_conf(u)
- int u;
-{
- ipcp_options *wo = &ipcp_wantoptions[u];
-
- if (wo->hisaddr == 0) {
- /* make up an arbitrary address for the peer */
- wo->hisaddr = htonl(0x0a707070 + ifunit);
- wo->accept_remote = 1;
- }
- if (wo->ouraddr == 0) {
- /* make up an arbitrary address for us */
- wo->ouraddr = htonl(0x0a404040 + ifunit);
- wo->accept_local = 1;
- ask_for_local = 0; /* don't tell the peer this address */
- }
- if (!sifaddr(u, wo->ouraddr, wo->hisaddr, GetMask(wo->ouraddr)))
- return 0;
- if (!sifup(u))
- return 0;
- if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE))
- return 0;
- if (wo->default_route)
- if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr))
- default_route_set[u] = 1;
- if (wo->proxy_arp)
- if (sifproxyarp(u, wo->hisaddr))
- proxy_arp_set[u] = 1;
-
- notice("local IP address %I", wo->ouraddr);
- notice("remote IP address %I", wo->hisaddr);
-
- return 1;
-}
-
-
-/*
- * ipcp_up - IPCP has come UP.
- *
- * Configure the IP network interface appropriately and bring it up.
- */
-static void
-ipcp_up(f)
- fsm *f;
-{
- u_int32_t mask;
- ipcp_options *ho = &ipcp_hisoptions[f->unit];
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- ipcp_options *wo = &ipcp_wantoptions[f->unit];
-
- IPCPDEBUG(("ipcp: up"));
-
- /*
- * We must have a non-zero IP address for both ends of the link.
- */
- if (!ho->neg_addr)
- ho->hisaddr = wo->hisaddr;
-
- if (go->ouraddr == 0) {
- error("Could not determine local IP address");
- ipcp_close(f->unit, "Could not determine local IP address");
- return;
- }
- if (ho->hisaddr == 0) {
- ho->hisaddr = htonl(0x0a404040 + ifunit);
- warn("Could not determine remote IP address: defaulting to %I",
- ho->hisaddr);
- }
- script_setenv("IPLOCAL", ip_ntoa(go->ouraddr), 0);
- script_setenv("IPREMOTE", ip_ntoa(ho->hisaddr), 1);
-
- if (usepeerdns && (go->dnsaddr[0] || go->dnsaddr[1])) {
- script_setenv("USEPEERDNS", "1", 0);
- if (go->dnsaddr[0])
- script_setenv("DNS1", ip_ntoa(go->dnsaddr[0]), 0);
- if (go->dnsaddr[1])
- script_setenv("DNS2", ip_ntoa(go->dnsaddr[1]), 0);
- create_resolv(go->dnsaddr[0], go->dnsaddr[1]);
- }
-
- /*
- * Check that the peer is allowed to use the IP address it wants.
- */
- if (!auth_ip_addr(f->unit, ho->hisaddr)) {
- error("Peer is not authorized to use remote address %I", ho->hisaddr);
- ipcp_close(f->unit, "Unauthorized remote IP address");
- return;
- }
-
- /* set tcp compression */
- sifvjcomp(f->unit, ho->neg_vj, ho->cflag, ho->maxslotindex);
-
- /*
- * If we are doing dial-on-demand, the interface is already
- * configured, so we put out any saved-up packets, then set the
- * interface to pass IP packets.
- */
- if (demand) {
- if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) {
- ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr);
- if (go->ouraddr != wo->ouraddr) {
- warn("Local IP address changed to %I", go->ouraddr);
- script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0);
- wo->ouraddr = go->ouraddr;
- } else
- script_unsetenv("OLDIPLOCAL");
- if (ho->hisaddr != wo->hisaddr) {
- warn("Remote IP address changed to %I", ho->hisaddr);
- script_setenv("OLDIPREMOTE", ip_ntoa(wo->hisaddr), 0);
- wo->hisaddr = ho->hisaddr;
- } else
- script_unsetenv("OLDIPREMOTE");
-
- /* Set the interface to the new addresses */
- mask = GetMask(go->ouraddr);
- if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
- if (debug)
- warn("Interface configuration failed");
- ipcp_close(f->unit, "Interface configuration failed");
- return;
- }
-
- /* assign a default route through the interface if required */
- if (ipcp_wantoptions[f->unit].default_route)
- if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
- default_route_set[f->unit] = 1;
-
- /* Make a proxy ARP entry if requested. */
- if (ipcp_wantoptions[f->unit].proxy_arp)
- if (sifproxyarp(f->unit, ho->hisaddr))
- proxy_arp_set[f->unit] = 1;
-
- }
- demand_rexmit(PPP_IP);
- sifnpmode(f->unit, PPP_IP, NPMODE_PASS);
-
- } else {
- /*
- * Set IP addresses and (if specified) netmask.
- */
- mask = GetMask(go->ouraddr);
-
-#if !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
- if (debug)
- warn("Interface configuration failed");
- ipcp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif
-
- /* bring the interface up for IP */
- if (!sifup(f->unit)) {
- if (debug)
- warn("Interface failed to come up");
- ipcp_close(f->unit, "Interface configuration failed");
- return;
- }
-
-#if (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
- if (debug)
- warn("Interface configuration failed");
- ipcp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif
- sifnpmode(f->unit, PPP_IP, NPMODE_PASS);
-
- /* assign a default route through the interface if required */
- if (ipcp_wantoptions[f->unit].default_route)
- if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
- default_route_set[f->unit] = 1;
-
- /* Make a proxy ARP entry if requested. */
- if (ipcp_wantoptions[f->unit].proxy_arp)
- if (sifproxyarp(f->unit, ho->hisaddr))
- proxy_arp_set[f->unit] = 1;
-
- ipcp_wantoptions[0].ouraddr = go->ouraddr;
-
- notice("local IP address %I", go->ouraddr);
- notice("remote IP address %I", ho->hisaddr);
- if (go->dnsaddr[0])
- notice("primary DNS address %I", go->dnsaddr[0]);
- if (go->dnsaddr[1])
- notice("secondary DNS address %I", go->dnsaddr[1]);
- }
-
- np_up(f->unit, PPP_IP);
- ipcp_is_up = 1;
-
- if (ip_up_hook)
- ip_up_hook();
-
- /*
- * Execute the ip-up script, like this:
- * /etc/ppp/ip-up interface tty speed local-IP remote-IP
- */
- if (ipcp_script_state == s_down && ipcp_script_pid == 0) {
- ipcp_script_state = s_up;
- ipcp_script(_PATH_IPUP);
- }
-}
-
-
-/*
- * ipcp_down - IPCP has gone DOWN.
- *
- * Take the IP network interface down, clear its addresses
- * and delete routes through it.
- */
-static void
-ipcp_down(f)
- fsm *f;
-{
- IPCPDEBUG(("ipcp: down"));
- /* XXX a bit IPv4-centric here, we only need to get the stats
- * before the interface is marked down. */
- update_link_stats(f->unit);
- if (ip_down_hook)
- ip_down_hook();
- if (ipcp_is_up) {
- ipcp_is_up = 0;
- np_down(f->unit, PPP_IP);
- }
- sifvjcomp(f->unit, 0, 0, 0);
-
- /*
- * If we are doing dial-on-demand, set the interface
- * to queue up outgoing packets (for now).
- */
- if (demand) {
- sifnpmode(f->unit, PPP_IP, NPMODE_QUEUE);
- } else {
- sifnpmode(f->unit, PPP_IP, NPMODE_DROP);
- sifdown(f->unit);
- ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr,
- ipcp_hisoptions[f->unit].hisaddr);
- }
-
- /* Execute the ip-down script */
- if (ipcp_script_state == s_up && ipcp_script_pid == 0) {
- ipcp_script_state = s_down;
- ipcp_script(_PATH_IPDOWN);
- }
-}
-
-
-/*
- * ipcp_clear_addrs() - clear the interface addresses, routes,
- * proxy arp entries, etc.
- */
-static void
-ipcp_clear_addrs(unit, ouraddr, hisaddr)
- int unit;
- u_int32_t ouraddr; /* local address */
- u_int32_t hisaddr; /* remote address */
-{
- if (proxy_arp_set[unit]) {
- cifproxyarp(unit, hisaddr);
- proxy_arp_set[unit] = 0;
- }
- if (default_route_set[unit]) {
- cifdefaultroute(unit, ouraddr, hisaddr);
- default_route_set[unit] = 0;
- }
- cifaddr(unit, ouraddr, hisaddr);
-}
-
-
-/*
- * ipcp_finished - possibly shut down the lower layers.
- */
-static void
-ipcp_finished(f)
- fsm *f;
-{
- np_finished(f->unit, PPP_IP);
-}
-
-
-/*
- * ipcp_script_done - called when the ip-up or ip-down script
- * has finished.
- */
-static void
-ipcp_script_done(arg)
- void *arg;
-{
- ipcp_script_pid = 0;
- switch (ipcp_script_state) {
- case s_up:
- if (ipcp_fsm[0].state != OPENED) {
- ipcp_script_state = s_down;
- ipcp_script(_PATH_IPDOWN);
- }
- break;
- case s_down:
- if (ipcp_fsm[0].state == OPENED) {
- ipcp_script_state = s_up;
- ipcp_script(_PATH_IPUP);
- }
- break;
- }
-}
-
-
-/*
- * ipcp_script - Execute a script with arguments
- * interface-name tty-name speed local-IP remote-IP.
- */
-static void
-ipcp_script(script)
- char *script;
-{
- char strspeed[32], strlocal[32], strremote[32];
- char *argv[8];
-
- slprintf(strspeed, sizeof(strspeed), "%d", baud_rate);
- slprintf(strlocal, sizeof(strlocal), "%I", ipcp_gotoptions[0].ouraddr);
- slprintf(strremote, sizeof(strremote), "%I", ipcp_hisoptions[0].hisaddr);
-
- argv[0] = script;
- argv[1] = ifname;
- argv[2] = devnam;
- argv[3] = strspeed;
- argv[4] = strlocal;
- argv[5] = strremote;
- argv[6] = ipparam;
- argv[7] = NULL;
- ipcp_script_pid = run_program(script, argv, 0, ipcp_script_done, NULL);
-}
-
-/*
- * create_resolv - create the replacement resolv.conf file
- */
-static void
-create_resolv(peerdns1, peerdns2)
- u_int32_t peerdns1, peerdns2;
-{
- FILE *f;
-
- f = fopen(_PATH_RESOLV, "w");
- if (f == NULL) {
- error("Failed to create %s: %m", _PATH_RESOLV);
- return;
- }
-
- if (peerdns1)
- fprintf(f, "nameserver %s\n", ip_ntoa(peerdns1));
-
- if (peerdns2)
- fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2));
-
- if (ferror(f))
- error("Write failed to %s: %m", _PATH_RESOLV);
-
- fclose(f);
-}
-
-/*
- * ipcp_printpkt - print the contents of an IPCP packet.
- */
-static char *ipcp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej"
-};
-
-static int
-ipcp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len, olen;
- u_char *pstart, *optend;
- u_short cishort;
- u_int32_t cilong;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ipcp_codenames) / sizeof(char *))
- printer(arg, " %s", ipcp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print option list */
- while (len >= 2) {
- GETCHAR(code, p);
- GETCHAR(olen, p);
- p -= 2;
- if (olen < 2 || olen > len) {
- break;
- }
- printer(arg, " <");
- len -= olen;
- optend = p + olen;
- switch (code) {
- case CI_ADDRS:
- if (olen == CILEN_ADDRS) {
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "addrs %I", htonl(cilong));
- GETLONG(cilong, p);
- printer(arg, " %I", htonl(cilong));
- }
- break;
- case CI_COMPRESSTYPE:
- if (olen >= CILEN_COMPRESS) {
- p += 2;
- GETSHORT(cishort, p);
- printer(arg, "compress ");
- switch (cishort) {
- case IPCP_VJ_COMP:
- printer(arg, "VJ");
- break;
- case IPCP_VJ_COMP_OLD:
- printer(arg, "old-VJ");
- break;
- default:
- printer(arg, "0x%x", cishort);
- }
- }
- break;
- case CI_ADDR:
- if (olen == CILEN_ADDR) {
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "addr %I", htonl(cilong));
- }
- break;
- case CI_MS_DNS1:
- case CI_MS_DNS2:
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "ms-dns%d %I", code - CI_MS_DNS1 + 1,
- htonl(cilong));
- break;
- case CI_MS_WINS1:
- case CI_MS_WINS2:
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "ms-wins %I", htonl(cilong));
- break;
- }
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- printer(arg, " ");
- print_string((char *)p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
-
- return p - pstart;
-}
-
-/*
- * ip_active_pkt - see if this IP packet is worth bringing the link up for.
- * We don't bring the link up for IP fragments or for TCP FIN packets
- * with no data.
- */
-#define IP_HDRLEN 20 /* bytes */
-#define IP_OFFMASK 0x1fff
-#define IPPROTO_TCP 6
-#define TCP_HDRLEN 20
-#define TH_FIN 0x01
-
-/*
- * We use these macros because the IP header may be at an odd address,
- * and some compilers might use word loads to get th_off or ip_hl.
- */
-
-#define net_short(x) (((x)[0] << 8) + (x)[1])
-#define get_iphl(x) (((unsigned char *)(x))[0] & 0xF)
-#define get_ipoff(x) net_short((unsigned char *)(x) + 6)
-#define get_ipproto(x) (((unsigned char *)(x))[9])
-#define get_tcpoff(x) (((unsigned char *)(x))[12] >> 4)
-#define get_tcpflags(x) (((unsigned char *)(x))[13])
-
-static int
-ip_active_pkt(pkt, len)
- u_char *pkt;
- int len;
-{
- u_char *tcp;
- int hlen;
-
- len -= PPP_HDRLEN;
- pkt += PPP_HDRLEN;
- if (len < IP_HDRLEN)
- return 0;
- if ((get_ipoff(pkt) & IP_OFFMASK) != 0)
- return 0;
- if (get_ipproto(pkt) != IPPROTO_TCP)
- return 1;
- hlen = get_iphl(pkt) * 4;
- if (len < hlen + TCP_HDRLEN)
- return 0;
- tcp = pkt + hlen;
- if ((get_tcpflags(tcp) & TH_FIN) != 0 && len == hlen + get_tcpoff(tcp) * 4)
- return 0;
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/ipcp.h b/mdk-stage1/ppp/pppd/ipcp.h
deleted file mode 100644
index 8c5aca861..000000000
--- a/mdk-stage1/ppp/pppd/ipcp.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * ipcp.h - IP Control Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Options.
- */
-#define CI_ADDRS 1 /* IP Addresses */
-#define CI_COMPRESSTYPE 2 /* Compression Type */
-#define CI_ADDR 3
-
-#define CI_MS_DNS1 129 /* Primary DNS value */
-#define CI_MS_WINS1 130 /* Primary WINS value */
-#define CI_MS_DNS2 131 /* Secondary DNS value */
-#define CI_MS_WINS2 132 /* Secondary WINS value */
-
-#define MAX_STATES 16 /* from slcompress.h */
-
-#define IPCP_VJMODE_OLD 1 /* "old" mode (option # = 0x0037) */
-#define IPCP_VJMODE_RFC1172 2 /* "old-rfc"mode (option # = 0x002d) */
-#define IPCP_VJMODE_RFC1332 3 /* "new-rfc"mode (option # = 0x002d, */
- /* maxslot and slot number compression) */
-
-#define IPCP_VJ_COMP 0x002d /* current value for VJ compression option*/
-#define IPCP_VJ_COMP_OLD 0x0037 /* "old" (i.e, broken) value for VJ */
- /* compression option*/
-
-typedef struct ipcp_options {
- bool neg_addr; /* Negotiate IP Address? */
- bool old_addrs; /* Use old (IP-Addresses) option? */
- bool req_addr; /* Ask peer to send IP address? */
- bool default_route; /* Assign default route through interface? */
- bool proxy_arp; /* Make proxy ARP entry for peer? */
- bool neg_vj; /* Van Jacobson Compression? */
- bool old_vj; /* use old (short) form of VJ option? */
- bool accept_local; /* accept peer's value for ouraddr */
- bool accept_remote; /* accept peer's value for hisaddr */
- bool req_dns1; /* Ask peer to send primary DNS address? */
- bool req_dns2; /* Ask peer to send secondary DNS address? */
- int vj_protocol; /* protocol value to use in VJ option */
- int maxslotindex; /* values for RFC1332 VJ compression neg. */
- bool cflag;
- u_int32_t ouraddr, hisaddr; /* Addresses in NETWORK BYTE ORDER */
- u_int32_t dnsaddr[2]; /* Primary and secondary MS DNS entries */
- u_int32_t winsaddr[2]; /* Primary and secondary MS WINS entries */
-} ipcp_options;
-
-extern fsm ipcp_fsm[];
-extern ipcp_options ipcp_wantoptions[];
-extern ipcp_options ipcp_gotoptions[];
-extern ipcp_options ipcp_allowoptions[];
-extern ipcp_options ipcp_hisoptions[];
-
-char *ip_ntoa __P((u_int32_t));
-
-extern struct protent ipcp_protent;
diff --git a/mdk-stage1/ppp/pppd/ipv6cp.c b/mdk-stage1/ppp/pppd/ipv6cp.c
deleted file mode 100644
index 54ff7d7d8..000000000
--- a/mdk-stage1/ppp/pppd/ipv6cp.c
+++ /dev/null
@@ -1,1512 +0,0 @@
-/*
- ipv6cp.c - PPP IPV6 Control Protocol.
- Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
-
- Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice and this paragraph are
- duplicated in all such forms. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-/* Original version, based on RFC2023 :
-
- Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
- Alain.Durand@imag.fr, IMAG,
- Jean-Luc.Richier@imag.fr, IMAG-LSR.
-
- Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
- Alain.Durand@imag.fr, IMAG,
- Jean-Luc.Richier@imag.fr, IMAG-LSR.
-
- Ce travail a t fait au sein du GIE DYADE (Groupement d'Intrt
- conomique ayant pour membres BULL S.A. et l'INRIA).
-
- Ce logiciel informatique est disponible aux conditions
- usuelles dans la recherche, c'est--dire qu'il peut
- tre utilis, copi, modifi, distribu l'unique
- condition que ce texte soit conserv afin que
- l'origine de ce logiciel soit reconnue.
-
- Le nom de l'Institut National de Recherche en Informatique
- et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
- ou physique ayant particip l'laboration de ce logiciel ne peut
- tre utilis sans son accord pralable explicite.
-
- Ce logiciel est fourni tel quel sans aucune garantie,
- support ou responsabilit d'aucune sorte.
- Ce logiciel est driv de sources d'origine
- "University of California at Berkeley" et
- "Digital Equipment Corporation" couvertes par des copyrights.
-
- L'Institut d'Informatique et de Mathmatiques Appliques de Grenoble (IMAG)
- est une fdration d'units mixtes de recherche du CNRS, de l'Institut National
- Polytechnique de Grenoble et de l'Universit Joseph Fourier regroupant
- sept laboratoires dont le laboratoire Logiciels, Systmes, Rseaux (LSR).
-
- This work has been done in the context of GIE DYADE (joint R & D venture
- between BULL S.A. and INRIA).
-
- This software is available with usual "research" terms
- with the aim of retain credits of the software.
- Permission to use, copy, modify and distribute this software for any
- purpose and without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies,
- and the name of INRIA, IMAG, or any contributor not be used in advertising
- or publicity pertaining to this material without the prior explicit
- permission. The software is provided "as is" without any
- warranties, support or liabilities of any kind.
- This software is derived from source code from
- "University of California at Berkeley" and
- "Digital Equipment Corporation" protected by copyrights.
-
- Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
- is a federation of seven research units funded by the CNRS, National
- Polytechnic Institute of Grenoble and University Joseph Fourier.
- The research unit in Software, Systems, Networks (LSR) is member of IMAG.
-*/
-
-/*
- * Derived from :
- *
- *
- * ipcp.c - PPP IP Control Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- *
- * Proxy Neighbour Discovery.
- *
- * Better defines for selecting the ordering of
- * interface up / set address. (currently checks for __linux__,
- * since SVR4 && (SNI || __USLC__) didn't work properly)
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <netdb.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-#include "ipv6cp.h"
-#include "magic.h"
-#include "pathnames.h"
-
-static const char rcsid[] = RCSID;
-
-/* global vars */
-ipv6cp_options ipv6cp_wantoptions[NUM_PPP]; /* Options that we want to request */
-ipv6cp_options ipv6cp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
-ipv6cp_options ipv6cp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
-ipv6cp_options ipv6cp_hisoptions[NUM_PPP]; /* Options that we ack'd */
-int no_ifaceid_neg = 0;
-
-/* local vars */
-static int ipv6cp_is_up;
-
-/*
- * Callbacks for fsm code. (CI = Configuration Information)
- */
-static void ipv6cp_resetci __P((fsm *)); /* Reset our CI */
-static int ipv6cp_cilen __P((fsm *)); /* Return length of our CI */
-static void ipv6cp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
-static int ipv6cp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
-static int ipv6cp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
-static int ipv6cp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
-static int ipv6cp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
-static void ipv6cp_up __P((fsm *)); /* We're UP */
-static void ipv6cp_down __P((fsm *)); /* We're DOWN */
-static void ipv6cp_finished __P((fsm *)); /* Don't need lower layer */
-
-fsm ipv6cp_fsm[NUM_PPP]; /* IPV6CP fsm structure */
-
-static fsm_callbacks ipv6cp_callbacks = { /* IPV6CP callback routines */
- ipv6cp_resetci, /* Reset our Configuration Information */
- ipv6cp_cilen, /* Length of our Configuration Information */
- ipv6cp_addci, /* Add our Configuration Information */
- ipv6cp_ackci, /* ACK our Configuration Information */
- ipv6cp_nakci, /* NAK our Configuration Information */
- ipv6cp_rejci, /* Reject our Configuration Information */
- ipv6cp_reqci, /* Request peer's Configuration Information */
- ipv6cp_up, /* Called when fsm reaches OPENED state */
- ipv6cp_down, /* Called when fsm leaves OPENED state */
- NULL, /* Called when we want the lower layer up */
- ipv6cp_finished, /* Called when we want the lower layer down */
- NULL, /* Called when Protocol-Reject received */
- NULL, /* Retransmission is necessary */
- NULL, /* Called to handle protocol-specific codes */
- "IPV6CP" /* String name of protocol */
-};
-
-/*
- * Command-line options.
- */
-static int setifaceid __P((char **arg));
-static void printifaceid __P((option_t *,
- void (*)(void *, char *, ...), void *));
-
-static option_t ipv6cp_option_list[] = {
- { "ipv6", o_special, (void *)setifaceid,
- "Set interface identifiers for IPV6",
- OPT_A2PRINTER, (void *)printifaceid },
-
- { "+ipv6", o_bool, &ipv6cp_protent.enabled_flag,
- "Enable IPv6 and IPv6CP", OPT_PRIO | 1 },
- { "noipv6", o_bool, &ipv6cp_protent.enabled_flag,
- "Disable IPv6 and IPv6CP", OPT_PRIOSUB },
- { "-ipv6", o_bool, &ipv6cp_protent.enabled_flag,
- "Disable IPv6 and IPv6CP", OPT_PRIOSUB | OPT_ALIAS },
-
- { "ipv6cp-accept-local", o_bool, &ipv6cp_allowoptions[0].accept_local,
- "Accept peer's interface identifier for us", 1 },
-
- { "ipv6cp-use-ipaddr", o_bool, &ipv6cp_allowoptions[0].use_ip,
- "Use (default) IPv4 address as interface identifier", 1 },
-
-#if defined(SOL2)
- { "ipv6cp-use-persistent", o_bool, &ipv6cp_wantoptions[0].use_persistent,
- "Use uniquely-available persistent value for link local address", 1 },
-#endif /* defined(SOL2) */
-
- { "ipv6cp-restart", o_int, &ipv6cp_fsm[0].timeouttime,
- "Set timeout for IPv6CP", OPT_PRIO },
- { "ipv6cp-max-terminate", o_int, &ipv6cp_fsm[0].maxtermtransmits,
- "Set max #xmits for term-reqs", OPT_PRIO },
- { "ipv6cp-max-configure", o_int, &ipv6cp_fsm[0].maxconfreqtransmits,
- "Set max #xmits for conf-reqs", OPT_PRIO },
- { "ipv6cp-max-failure", o_int, &ipv6cp_fsm[0].maxnakloops,
- "Set max #conf-naks for IPv6CP", OPT_PRIO },
-
- { NULL }
-};
-
-
-/*
- * Protocol entry points from main code.
- */
-static void ipv6cp_init __P((int));
-static void ipv6cp_open __P((int));
-static void ipv6cp_close __P((int, char *));
-static void ipv6cp_lowerup __P((int));
-static void ipv6cp_lowerdown __P((int));
-static void ipv6cp_input __P((int, u_char *, int));
-static void ipv6cp_protrej __P((int));
-static int ipv6cp_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-static void ipv6_check_options __P((void));
-static int ipv6_demand_conf __P((int));
-static int ipv6_active_pkt __P((u_char *, int));
-
-struct protent ipv6cp_protent = {
- PPP_IPV6CP,
- ipv6cp_init,
- ipv6cp_input,
- ipv6cp_protrej,
- ipv6cp_lowerup,
- ipv6cp_lowerdown,
- ipv6cp_open,
- ipv6cp_close,
- ipv6cp_printpkt,
- NULL,
- 0,
- "IPV6CP",
- "IPV6",
- ipv6cp_option_list,
- ipv6_check_options,
- ipv6_demand_conf,
- ipv6_active_pkt
-};
-
-static void ipv6cp_clear_addrs __P((int, eui64_t, eui64_t));
-static void ipv6cp_script __P((char *));
-static void ipv6cp_script_done __P((void *));
-
-/*
- * Lengths of configuration options.
- */
-#define CILEN_VOID 2
-#define CILEN_COMPRESS 4 /* length for RFC2023 compress opt. */
-#define CILEN_IFACEID 10 /* RFC2472, interface identifier */
-
-#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
- (x) == CONFNAK ? "NAK" : "REJ")
-
-/*
- * This state variable is used to ensure that we don't
- * run an ipcp-up/down script while one is already running.
- */
-static enum script_state {
- s_down,
- s_up,
-} ipv6cp_script_state;
-static pid_t ipv6cp_script_pid;
-
-/*
- * setifaceid - set the interface identifiers manually
- */
-static int
-setifaceid(argv)
- char **argv;
-{
- char *comma, *arg, c;
- ipv6cp_options *wo = &ipv6cp_wantoptions[0];
- struct in6_addr addr;
- static int prio_local, prio_remote;
-
-#define VALIDID(a) ( (((a).s6_addr32[0] == 0) && ((a).s6_addr32[1] == 0)) && \
- (((a).s6_addr32[2] != 0) || ((a).s6_addr32[3] != 0)) )
-
- arg = *argv;
- if ((comma = strchr(arg, ',')) == NULL)
- comma = arg + strlen(arg);
-
- /*
- * If comma first character, then no local identifier
- */
- if (comma != arg) {
- c = *comma;
- *comma = '\0';
-
- if (inet_pton(AF_INET6, arg, &addr) == 0 || !VALIDID(addr)) {
- option_error("Illegal interface identifier (local): %s", arg);
- return 0;
- }
-
- if (option_priority >= prio_local) {
- eui64_copy(addr.s6_addr32[2], wo->ourid);
- wo->opt_local = 1;
- prio_local = option_priority;
- }
- *comma = c;
- }
-
- /*
- * If comma last character, the no remote identifier
- */
- if (*comma != 0 && *++comma != '\0') {
- if (inet_pton(AF_INET6, comma, &addr) == 0 || !VALIDID(addr)) {
- option_error("Illegal interface identifier (remote): %s", comma);
- return 0;
- }
- if (option_priority >= prio_remote) {
- eui64_copy(addr.s6_addr32[2], wo->hisid);
- wo->opt_remote = 1;
- prio_remote = option_priority;
- }
- }
-
- if (override_value("+ipv6", option_priority, option_source))
- ipv6cp_protent.enabled_flag = 1;
- return 1;
-}
-
-static void
-printifaceid(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[0];
-
- if (wo->opt_local)
- printer(arg, "%s", llv6_ntoa(wo->ourid));
- printer(arg, ",");
- if (wo->opt_remote)
- printer(arg, "%s", llv6_ntoa(wo->hisid));
-}
-
-/*
- * Make a string representation of a network address.
- */
-char *
-llv6_ntoa(ifaceid)
- eui64_t ifaceid;
-{
- static char b[64];
-
- sprintf(b, "fe80::%s", eui64_ntoa(ifaceid));
- return b;
-}
-
-
-/*
- * ipv6cp_init - Initialize IPV6CP.
- */
-static void
-ipv6cp_init(unit)
- int unit;
-{
- fsm *f = &ipv6cp_fsm[unit];
- ipv6cp_options *wo = &ipv6cp_wantoptions[unit];
- ipv6cp_options *ao = &ipv6cp_allowoptions[unit];
-
- f->unit = unit;
- f->protocol = PPP_IPV6CP;
- f->callbacks = &ipv6cp_callbacks;
- fsm_init(&ipv6cp_fsm[unit]);
-
- memset(wo, 0, sizeof(*wo));
- memset(ao, 0, sizeof(*ao));
-
- wo->accept_local = 1;
- wo->neg_ifaceid = 1;
- ao->neg_ifaceid = 1;
-
-#ifdef IPV6CP_COMP
- wo->neg_vj = 1;
- ao->neg_vj = 1;
- wo->vj_protocol = IPV6CP_COMP;
-#endif
-
-}
-
-
-/*
- * ipv6cp_open - IPV6CP is allowed to come up.
- */
-static void
-ipv6cp_open(unit)
- int unit;
-{
- fsm_open(&ipv6cp_fsm[unit]);
-}
-
-
-/*
- * ipv6cp_close - Take IPV6CP down.
- */
-static void
-ipv6cp_close(unit, reason)
- int unit;
- char *reason;
-{
- fsm_close(&ipv6cp_fsm[unit], reason);
-}
-
-
-/*
- * ipv6cp_lowerup - The lower layer is up.
- */
-static void
-ipv6cp_lowerup(unit)
- int unit;
-{
- fsm_lowerup(&ipv6cp_fsm[unit]);
-}
-
-
-/*
- * ipv6cp_lowerdown - The lower layer is down.
- */
-static void
-ipv6cp_lowerdown(unit)
- int unit;
-{
- fsm_lowerdown(&ipv6cp_fsm[unit]);
-}
-
-
-/*
- * ipv6cp_input - Input IPV6CP packet.
- */
-static void
-ipv6cp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm_input(&ipv6cp_fsm[unit], p, len);
-}
-
-
-/*
- * ipv6cp_protrej - A Protocol-Reject was received for IPV6CP.
- *
- * Pretend the lower layer went down, so we shut up.
- */
-static void
-ipv6cp_protrej(unit)
- int unit;
-{
- fsm_lowerdown(&ipv6cp_fsm[unit]);
-}
-
-
-/*
- * ipv6cp_resetci - Reset our CI.
- */
-static void
-ipv6cp_resetci(f)
- fsm *f;
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
-
- wo->req_ifaceid = wo->neg_ifaceid && ipv6cp_allowoptions[f->unit].neg_ifaceid;
-
- if (!wo->opt_local) {
- eui64_magic_nz(wo->ourid);
- }
-
- *go = *wo;
- eui64_zero(go->hisid); /* last proposed interface identifier */
-}
-
-
-/*
- * ipv6cp_cilen - Return length of our CI.
- */
-static int
-ipv6cp_cilen(f)
- fsm *f;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
-
-#define LENCIVJ(neg) (neg ? CILEN_COMPRESS : 0)
-#define LENCIIFACEID(neg) (neg ? CILEN_IFACEID : 0)
-
- return (LENCIIFACEID(go->neg_ifaceid) +
- LENCIVJ(go->neg_vj));
-}
-
-
-/*
- * ipv6cp_addci - Add our desired CIs to a packet.
- */
-static void
-ipv6cp_addci(f, ucp, lenp)
- fsm *f;
- u_char *ucp;
- int *lenp;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- int len = *lenp;
-
-#define ADDCIVJ(opt, neg, val) \
- if (neg) { \
- int vjlen = CILEN_COMPRESS; \
- if (len >= vjlen) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(vjlen, ucp); \
- PUTSHORT(val, ucp); \
- len -= vjlen; \
- } else \
- neg = 0; \
- }
-
-#define ADDCIIFACEID(opt, neg, val1) \
- if (neg) { \
- int idlen = CILEN_IFACEID; \
- if (len >= idlen) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(idlen, ucp); \
- eui64_put(val1, ucp); \
- len -= idlen; \
- } else \
- neg = 0; \
- }
-
- ADDCIIFACEID(CI_IFACEID, go->neg_ifaceid, go->ourid);
-
- ADDCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol);
-
- *lenp -= len;
-}
-
-
-/*
- * ipv6cp_ackci - Ack our CIs.
- *
- * Returns:
- * 0 - Ack was bad.
- * 1 - Ack was good.
- */
-static int
-ipv6cp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- u_short cilen, citype, cishort;
- eui64_t ifaceid;
-
- /*
- * CIs must be in exactly the same order that we sent...
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-
-#define ACKCIVJ(opt, neg, val) \
- if (neg) { \
- int vjlen = CILEN_COMPRESS; \
- if ((len -= vjlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != vjlen || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != val) \
- goto bad; \
- }
-
-#define ACKCIIFACEID(opt, neg, val1) \
- if (neg) { \
- int idlen = CILEN_IFACEID; \
- if ((len -= idlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != idlen || \
- citype != opt) \
- goto bad; \
- eui64_get(ifaceid, p); \
- if (! eui64_equals(val1, ifaceid)) \
- goto bad; \
- }
-
- ACKCIIFACEID(CI_IFACEID, go->neg_ifaceid, go->ourid);
-
- ACKCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- return (1);
-
-bad:
- IPV6CPDEBUG(("ipv6cp_ackci: received bad Ack!"));
- return (0);
-}
-
-/*
- * ipv6cp_nakci - Peer has sent a NAK for some of our CIs.
- * This should not modify any state if the Nak is bad
- * or if IPV6CP is in the OPENED state.
- *
- * Returns:
- * 0 - Nak was bad.
- * 1 - Nak was good.
- */
-static int
-ipv6cp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- u_char citype, cilen, *next;
- u_short cishort;
- eui64_t ifaceid;
- ipv6cp_options no; /* options we've seen Naks for */
- ipv6cp_options try; /* options to request next time */
-
- BZERO(&no, sizeof(no));
- try = *go;
-
- /*
- * Any Nak'd CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define NAKCIIFACEID(opt, neg, code) \
- if (go->neg && \
- len >= (cilen = CILEN_IFACEID) && \
- p[1] == cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- eui64_get(ifaceid, p); \
- no.neg = 1; \
- code \
- }
-
-#define NAKCIVJ(opt, neg, code) \
- if (go->neg && \
- ((cilen = p[1]) == CILEN_COMPRESS) && \
- len >= cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- no.neg = 1; \
- code \
- }
-
- /*
- * Accept the peer's idea of {our,his} interface identifier, if different
- * from our idea, only if the accept_{local,remote} flag is set.
- */
- NAKCIIFACEID(CI_IFACEID, neg_ifaceid,
- if (go->accept_local) {
- while (eui64_iszero(ifaceid) ||
- eui64_equals(ifaceid, go->hisid)) /* bad luck */
- eui64_magic(ifaceid);
- try.ourid = ifaceid;
- IPV6CPDEBUG(("local LL address %s", llv6_ntoa(ifaceid)));
- }
- );
-
-#ifdef IPV6CP_COMP
- NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
- {
- if (cishort == IPV6CP_COMP) {
- try.vj_protocol = cishort;
- } else {
- try.neg_vj = 0;
- }
- }
- );
-#else
- NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
- {
- try.neg_vj = 0;
- }
- );
-#endif
-
- /*
- * There may be remaining CIs, if the peer is requesting negotiation
- * on an option that we didn't include in our request packet.
- * If they want to negotiate about interface identifier, we comply.
- * If they want us to ask for compression, we refuse.
- */
- while (len > CILEN_VOID) {
- GETCHAR(citype, p);
- GETCHAR(cilen, p);
- if( (len -= cilen) < 0 )
- goto bad;
- next = p + cilen - 2;
-
- switch (citype) {
- case CI_COMPRESSTYPE:
- if (go->neg_vj || no.neg_vj ||
- (cilen != CILEN_COMPRESS))
- goto bad;
- no.neg_vj = 1;
- break;
- case CI_IFACEID:
- if (go->neg_ifaceid || no.neg_ifaceid || cilen != CILEN_IFACEID)
- goto bad;
- try.neg_ifaceid = 1;
- eui64_get(ifaceid, p);
- if (go->accept_local) {
- while (eui64_iszero(ifaceid) ||
- eui64_equals(ifaceid, go->hisid)) /* bad luck */
- eui64_magic(ifaceid);
- try.ourid = ifaceid;
- }
- no.neg_ifaceid = 1;
- break;
- }
- p = next;
- }
-
- /* If there is still anything left, this packet is bad. */
- if (len != 0)
- goto bad;
-
- /*
- * OK, the Nak is good. Now we can update state.
- */
- if (f->state != OPENED)
- *go = try;
-
- return 1;
-
-bad:
- IPV6CPDEBUG(("ipv6cp_nakci: received bad Nak!"));
- return 0;
-}
-
-
-/*
- * ipv6cp_rejci - Reject some of our CIs.
- */
-static int
-ipv6cp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- u_char cilen;
- u_short cishort;
- eui64_t ifaceid;
- ipv6cp_options try; /* options to request next time */
-
- try = *go;
- /*
- * Any Rejected CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define REJCIIFACEID(opt, neg, val1) \
- if (go->neg && \
- len >= (cilen = CILEN_IFACEID) && \
- p[1] == cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- eui64_get(ifaceid, p); \
- /* Check rejected value. */ \
- if (! eui64_equals(ifaceid, val1)) \
- goto bad; \
- try.neg = 0; \
- }
-
-#define REJCIVJ(opt, neg, val) \
- if (go->neg && \
- p[1] == CILEN_COMPRESS && \
- len >= p[1] && \
- p[0] == opt) { \
- len -= p[1]; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- /* Check rejected value. */ \
- if (cishort != val) \
- goto bad; \
- try.neg = 0; \
- }
-
- REJCIIFACEID(CI_IFACEID, neg_ifaceid, go->ourid);
-
- REJCIVJ(CI_COMPRESSTYPE, neg_vj, go->vj_protocol);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- /*
- * Now we can update state.
- */
- if (f->state != OPENED)
- *go = try;
- return 1;
-
-bad:
- IPV6CPDEBUG(("ipv6cp_rejci: received bad Reject!"));
- return 0;
-}
-
-
-/*
- * ipv6cp_reqci - Check the peer's requested CIs and send appropriate response.
- *
- * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
- * appropriately. If reject_if_disagree is non-zero, doesn't return
- * CONFNAK; returns CONFREJ if it can't return CONFACK.
- */
-static int
-ipv6cp_reqci(f, inp, len, reject_if_disagree)
- fsm *f;
- u_char *inp; /* Requested CIs */
- int *len; /* Length of requested CIs */
- int reject_if_disagree;
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
- ipv6cp_options *ho = &ipv6cp_hisoptions[f->unit];
- ipv6cp_options *ao = &ipv6cp_allowoptions[f->unit];
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- u_char *cip, *next; /* Pointer to current and next CIs */
- u_short cilen, citype; /* Parsed len, type */
- u_short cishort; /* Parsed short value */
- eui64_t ifaceid; /* Parsed interface identifier */
- int rc = CONFACK; /* Final packet return code */
- int orc; /* Individual option return code */
- u_char *p; /* Pointer to next char to parse */
- u_char *ucp = inp; /* Pointer to current output char */
- int l = *len; /* Length left */
-
- /*
- * Reset all his options.
- */
- BZERO(ho, sizeof(*ho));
-
- /*
- * Process all his options.
- */
- next = inp;
- while (l) {
- orc = CONFACK; /* Assume success */
- cip = p = next; /* Remember begining of CI */
- if (l < 2 || /* Not enough data for CI header or */
- p[1] < 2 || /* CI length too small or */
- p[1] > l) { /* CI length too big? */
- IPV6CPDEBUG(("ipv6cp_reqci: bad CI length!"));
- orc = CONFREJ; /* Reject bad CI */
- cilen = l; /* Reject till end of packet */
- l = 0; /* Don't loop again */
- goto endswitch;
- }
- GETCHAR(citype, p); /* Parse CI type */
- GETCHAR(cilen, p); /* Parse CI length */
- l -= cilen; /* Adjust remaining length */
- next += cilen; /* Step to next CI */
-
- switch (citype) { /* Check CI type */
- case CI_IFACEID:
- IPV6CPDEBUG(("ipv6cp: received interface identifier "));
-
- if (!ao->neg_ifaceid ||
- cilen != CILEN_IFACEID) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
-
- /*
- * If he has no interface identifier, or if we both have same
- * identifier then NAK it with new idea.
- * In particular, if we don't know his identifier, but he does,
- * then accept it.
- */
- eui64_get(ifaceid, p);
- IPV6CPDEBUG(("(%s)", llv6_ntoa(ifaceid)));
- if (eui64_iszero(ifaceid) && eui64_iszero(go->ourid)) {
- orc = CONFREJ; /* Reject CI */
- break;
- }
- if (!eui64_iszero(wo->hisid) &&
- !eui64_equals(ifaceid, wo->hisid) &&
- eui64_iszero(go->hisid)) {
-
- orc = CONFNAK;
- ifaceid = wo->hisid;
- go->hisid = ifaceid;
- DECPTR(sizeof(ifaceid), p);
- eui64_put(ifaceid, p);
- } else
- if (eui64_iszero(ifaceid) || eui64_equals(ifaceid, go->ourid)) {
- orc = CONFNAK;
- if (eui64_iszero(go->hisid)) /* first time, try option */
- ifaceid = wo->hisid;
- while (eui64_iszero(ifaceid) ||
- eui64_equals(ifaceid, go->ourid)) /* bad luck */
- eui64_magic(ifaceid);
- go->hisid = ifaceid;
- DECPTR(sizeof(ifaceid), p);
- eui64_put(ifaceid, p);
- }
-
- ho->neg_ifaceid = 1;
- ho->hisid = ifaceid;
- break;
-
- case CI_COMPRESSTYPE:
- IPV6CPDEBUG(("ipv6cp: received COMPRESSTYPE "));
- if (!ao->neg_vj ||
- (cilen != CILEN_COMPRESS)) {
- orc = CONFREJ;
- break;
- }
- GETSHORT(cishort, p);
- IPV6CPDEBUG(("(%d)", cishort));
-
-#ifdef IPV6CP_COMP
- if (!(cishort == IPV6CP_COMP)) {
- orc = CONFREJ;
- break;
- }
-
- ho->neg_vj = 1;
- ho->vj_protocol = cishort;
- break;
-#else
- orc = CONFREJ;
- break;
-#endif
-
- default:
- orc = CONFREJ;
- break;
- }
-
-endswitch:
- IPV6CPDEBUG((" (%s)\n", CODENAME(orc)));
-
- if (orc == CONFACK && /* Good CI */
- rc != CONFACK) /* but prior CI wasnt? */
- continue; /* Don't send this one */
-
- if (orc == CONFNAK) { /* Nak this CI? */
- if (reject_if_disagree) /* Getting fed up with sending NAKs? */
- orc = CONFREJ; /* Get tough if so */
- else {
- if (rc == CONFREJ) /* Rejecting prior CI? */
- continue; /* Don't send this one */
- if (rc == CONFACK) { /* Ack'd all prior CIs? */
- rc = CONFNAK; /* Not anymore... */
- ucp = inp; /* Backup */
- }
- }
- }
-
- if (orc == CONFREJ && /* Reject this CI */
- rc != CONFREJ) { /* but no prior ones? */
- rc = CONFREJ;
- ucp = inp; /* Backup */
- }
-
- /* Need to move CI? */
- if (ucp != cip)
- BCOPY(cip, ucp, cilen); /* Move it */
-
- /* Update output pointer */
- INCPTR(cilen, ucp);
- }
-
- /*
- * If we aren't rejecting this packet, and we want to negotiate
- * their identifier and they didn't send their identifier, then we
- * send a NAK with a CI_IFACEID option appended. We assume the
- * input buffer is long enough that we can append the extra
- * option safely.
- */
- if (rc != CONFREJ && !ho->neg_ifaceid &&
- wo->req_ifaceid && !reject_if_disagree) {
- if (rc == CONFACK) {
- rc = CONFNAK;
- ucp = inp; /* reset pointer */
- wo->req_ifaceid = 0; /* don't ask again */
- }
- PUTCHAR(CI_IFACEID, ucp);
- PUTCHAR(CILEN_IFACEID, ucp);
- eui64_put(wo->hisid, ucp);
- }
-
- *len = ucp - inp; /* Compute output length */
- IPV6CPDEBUG(("ipv6cp: returning Configure-%s", CODENAME(rc)));
- return (rc); /* Return final code */
-}
-
-
-/*
- * ipv6_check_options - check that any IP-related options are OK,
- * and assign appropriate defaults.
- */
-static void
-ipv6_check_options()
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[0];
-
- if (!ipv6cp_protent.enabled_flag)
- return;
-
-#if defined(SOL2)
- /*
- * Persistent link-local id is only used when user has not explicitly
- * configure/hard-code the id
- */
- if ((wo->use_persistent) && (!wo->opt_local) && (!wo->opt_remote)) {
-
- /*
- * On systems where there are no Ethernet interfaces used, there
- * may be other ways to obtain a persistent id. Right now, it
- * will fall back to using magic [see eui64_magic] below when
- * an EUI-48 from MAC address can't be obtained. Other possibilities
- * include obtaining EEPROM serial numbers, or some other unique
- * yet persistent number. On Sparc platforms, this is possible,
- * but too bad there's no standards yet for x86 machines.
- */
- if (ether_to_eui64(&wo->ourid)) {
- wo->opt_local = 1;
- }
- }
-#endif
-
- if (!wo->opt_local) { /* init interface identifier */
- if (wo->use_ip && eui64_iszero(wo->ourid)) {
- eui64_setlo32(wo->ourid, ntohl(ipcp_wantoptions[0].ouraddr));
- if (!eui64_iszero(wo->ourid))
- wo->opt_local = 1;
- }
-
- while (eui64_iszero(wo->ourid))
- eui64_magic(wo->ourid);
- }
-
- if (!wo->opt_remote) {
- if (wo->use_ip && eui64_iszero(wo->hisid)) {
- eui64_setlo32(wo->hisid, ntohl(ipcp_wantoptions[0].hisaddr));
- if (!eui64_iszero(wo->hisid))
- wo->opt_remote = 1;
- }
- }
-
- if (demand && (eui64_iszero(wo->ourid) || eui64_iszero(wo->hisid))) {
- option_error("local/remote LL address required for demand-dialling\n");
- exit(1);
- }
-}
-
-
-/*
- * ipv6_demand_conf - configure the interface as though
- * IPV6CP were up, for use with dial-on-demand.
- */
-static int
-ipv6_demand_conf(u)
- int u;
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[u];
-
-#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
-#if defined(SOL2)
- if (!sif6up(u))
- return 0;
-#else
- if (!sifup(u))
- return 0;
-#endif /* defined(SOL2) */
-#endif
- if (!sif6addr(u, wo->ourid, wo->hisid))
- return 0;
-#if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sifup(u))
- return 0;
-#endif
- if (!sifnpmode(u, PPP_IPV6, NPMODE_QUEUE))
- return 0;
-
- notice("ipv6_demand_conf");
- notice("local LL address %s", llv6_ntoa(wo->ourid));
- notice("remote LL address %s", llv6_ntoa(wo->hisid));
-
- return 1;
-}
-
-
-/*
- * ipv6cp_up - IPV6CP has come UP.
- *
- * Configure the IPv6 network interface appropriately and bring it up.
- */
-static void
-ipv6cp_up(f)
- fsm *f;
-{
- ipv6cp_options *ho = &ipv6cp_hisoptions[f->unit];
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
-
- IPV6CPDEBUG(("ipv6cp: up"));
-
- /*
- * We must have a non-zero LL address for both ends of the link.
- */
- if (!ho->neg_ifaceid)
- ho->hisid = wo->hisid;
-
- if(!no_ifaceid_neg) {
- if (eui64_iszero(ho->hisid)) {
- error("Could not determine remote LL address");
- ipv6cp_close(f->unit, "Could not determine remote LL address");
- return;
- }
- if (eui64_iszero(go->ourid)) {
- error("Could not determine local LL address");
- ipv6cp_close(f->unit, "Could not determine local LL address");
- return;
- }
- if (eui64_equals(go->ourid, ho->hisid)) {
- error("local and remote LL addresses are equal");
- ipv6cp_close(f->unit, "local and remote LL addresses are equal");
- return;
- }
- }
- script_setenv("LLLOCAL", llv6_ntoa(go->ourid), 0);
- script_setenv("LLREMOTE", llv6_ntoa(ho->hisid), 0);
-
-#ifdef IPV6CP_COMP
- /* set tcp compression */
- sif6comp(f->unit, ho->neg_vj);
-#endif
-
- /*
- * If we are doing dial-on-demand, the interface is already
- * configured, so we put out any saved-up packets, then set the
- * interface to pass IPv6 packets.
- */
- if (demand) {
- if (! eui64_equals(go->ourid, wo->ourid) ||
- ! eui64_equals(ho->hisid, wo->hisid)) {
- if (! eui64_equals(go->ourid, wo->ourid))
- warn("Local LL address changed to %s",
- llv6_ntoa(go->ourid));
- if (! eui64_equals(ho->hisid, wo->hisid))
- warn("Remote LL address changed to %s",
- llv6_ntoa(ho->hisid));
- ipv6cp_clear_addrs(f->unit, go->ourid, ho->hisid);
-
- /* Set the interface to the new addresses */
- if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
- if (debug)
- warn("sif6addr failed");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-
- }
- demand_rexmit(PPP_IPV6);
- sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
-
- } else {
- /*
- * Set LL addresses
- */
-#if !defined(__linux__) && !defined(SOL2) && !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
- if (debug)
- warn("sif6addr failed");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif
-
- /* bring the interface up for IPv6 */
-#if defined(SOL2)
- if (!sif6up(f->unit)) {
- if (debug)
- warn("sifup failed (IPV6)");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-#else
- if (!sifup(f->unit)) {
- if (debug)
- warn("sifup failed (IPV6)");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif /* defined(SOL2) */
-
-#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
- if (debug)
- warn("sif6addr failed");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif
- sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
-
- notice("local LL address %s", llv6_ntoa(go->ourid));
- notice("remote LL address %s", llv6_ntoa(ho->hisid));
- }
-
- np_up(f->unit, PPP_IPV6);
- ipv6cp_is_up = 1;
-
- /*
- * Execute the ipv6-up script, like this:
- * /etc/ppp/ipv6-up interface tty speed local-LL remote-LL
- */
- if (ipv6cp_script_state == s_down && ipv6cp_script_pid == 0) {
- ipv6cp_script_state = s_up;
- ipv6cp_script(_PATH_IPV6UP);
- }
-}
-
-
-/*
- * ipv6cp_down - IPV6CP has gone DOWN.
- *
- * Take the IPv6 network interface down, clear its addresses
- * and delete routes through it.
- */
-static void
-ipv6cp_down(f)
- fsm *f;
-{
- IPV6CPDEBUG(("ipv6cp: down"));
- update_link_stats(f->unit);
- if (ipv6cp_is_up) {
- ipv6cp_is_up = 0;
- np_down(f->unit, PPP_IPV6);
- }
-#ifdef IPV6CP_COMP
- sif6comp(f->unit, 0);
-#endif
-
- /*
- * If we are doing dial-on-demand, set the interface
- * to queue up outgoing packets (for now).
- */
- if (demand) {
- sifnpmode(f->unit, PPP_IPV6, NPMODE_QUEUE);
- } else {
- sifnpmode(f->unit, PPP_IPV6, NPMODE_DROP);
-#if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || defined(__USLC)))
-#if defined(SOL2)
- sif6down(f->unit);
-#else
- sifdown(f->unit);
-#endif /* defined(SOL2) */
-#endif
- ipv6cp_clear_addrs(f->unit,
- ipv6cp_gotoptions[f->unit].ourid,
- ipv6cp_hisoptions[f->unit].hisid);
-#if defined(__linux__) || (defined(SVR4) && (defined(SNI) || defined(__USLC)))
- sifdown(f->unit);
-#endif
- }
-
- /* Execute the ipv6-down script */
- if (ipv6cp_script_state == s_up && ipv6cp_script_pid == 0) {
- ipv6cp_script_state = s_down;
- ipv6cp_script(_PATH_IPV6DOWN);
- }
-}
-
-
-/*
- * ipv6cp_clear_addrs() - clear the interface addresses, routes,
- * proxy neighbour discovery entries, etc.
- */
-static void
-ipv6cp_clear_addrs(unit, ourid, hisid)
- int unit;
- eui64_t ourid;
- eui64_t hisid;
-{
- cif6addr(unit, ourid, hisid);
-}
-
-
-/*
- * ipv6cp_finished - possibly shut down the lower layers.
- */
-static void
-ipv6cp_finished(f)
- fsm *f;
-{
- np_finished(f->unit, PPP_IPV6);
-}
-
-
-/*
- * ipv6cp_script_done - called when the ipv6-up or ipv6-down script
- * has finished.
- */
-static void
-ipv6cp_script_done(arg)
- void *arg;
-{
- ipv6cp_script_pid = 0;
- switch (ipv6cp_script_state) {
- case s_up:
- if (ipv6cp_fsm[0].state != OPENED) {
- ipv6cp_script_state = s_down;
- ipv6cp_script(_PATH_IPV6DOWN);
- }
- break;
- case s_down:
- if (ipv6cp_fsm[0].state == OPENED) {
- ipv6cp_script_state = s_up;
- ipv6cp_script(_PATH_IPV6UP);
- }
- break;
- }
-}
-
-
-/*
- * ipv6cp_script - Execute a script with arguments
- * interface-name tty-name speed local-LL remote-LL.
- */
-static void
-ipv6cp_script(script)
- char *script;
-{
- char strspeed[32], strlocal[32], strremote[32];
- char *argv[8];
-
- sprintf(strspeed, "%d", baud_rate);
- strcpy(strlocal, llv6_ntoa(ipv6cp_gotoptions[0].ourid));
- strcpy(strremote, llv6_ntoa(ipv6cp_hisoptions[0].hisid));
-
- argv[0] = script;
- argv[1] = ifname;
- argv[2] = devnam;
- argv[3] = strspeed;
- argv[4] = strlocal;
- argv[5] = strremote;
- argv[6] = ipparam;
- argv[7] = NULL;
-
- ipv6cp_script_pid = run_program(script, argv, 0, ipv6cp_script_done, NULL);
-}
-
-/*
- * ipv6cp_printpkt - print the contents of an IPV6CP packet.
- */
-static char *ipv6cp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej"
-};
-
-static int
-ipv6cp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len, olen;
- u_char *pstart, *optend;
- u_short cishort;
- eui64_t ifaceid;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ipv6cp_codenames) / sizeof(char *))
- printer(arg, " %s", ipv6cp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print option list */
- while (len >= 2) {
- GETCHAR(code, p);
- GETCHAR(olen, p);
- p -= 2;
- if (olen < 2 || olen > len) {
- break;
- }
- printer(arg, " <");
- len -= olen;
- optend = p + olen;
- switch (code) {
- case CI_COMPRESSTYPE:
- if (olen >= CILEN_COMPRESS) {
- p += 2;
- GETSHORT(cishort, p);
- printer(arg, "compress ");
- printer(arg, "0x%x", cishort);
- }
- break;
- case CI_IFACEID:
- if (olen == CILEN_IFACEID) {
- p += 2;
- eui64_get(ifaceid, p);
- printer(arg, "addr %s", llv6_ntoa(ifaceid));
- }
- break;
- }
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- printer(arg, " ");
- print_string((char *)p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
-
- return p - pstart;
-}
-
-/*
- * ipv6_active_pkt - see if this IP packet is worth bringing the link up for.
- * We don't bring the link up for IP fragments or for TCP FIN packets
- * with no data.
- */
-#define IP6_HDRLEN 40 /* bytes */
-#define IP6_NHDR_FRAG 44 /* fragment IPv6 header */
-#define IPPROTO_TCP 6
-#define TCP_HDRLEN 20
-#define TH_FIN 0x01
-
-/*
- * We use these macros because the IP header may be at an odd address,
- * and some compilers might use word loads to get th_off or ip_hl.
- */
-
-#define get_ip6nh(x) (((unsigned char *)(x))[6])
-#define get_tcpoff(x) (((unsigned char *)(x))[12] >> 4)
-#define get_tcpflags(x) (((unsigned char *)(x))[13])
-
-static int
-ipv6_active_pkt(pkt, len)
- u_char *pkt;
- int len;
-{
- u_char *tcp;
-
- len -= PPP_HDRLEN;
- pkt += PPP_HDRLEN;
- if (len < IP6_HDRLEN)
- return 0;
- if (get_ip6nh(pkt) == IP6_NHDR_FRAG)
- return 0;
- if (get_ip6nh(pkt) != IPPROTO_TCP)
- return 1;
- if (len < IP6_HDRLEN + TCP_HDRLEN)
- return 0;
- tcp = pkt + IP6_HDRLEN;
- if ((get_tcpflags(tcp) & TH_FIN) != 0 && len == IP6_HDRLEN + get_tcpoff(tcp) * 4)
- return 0;
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/ipv6cp.h b/mdk-stage1/ppp/pppd/ipv6cp.h
deleted file mode 100644
index 60d366eb3..000000000
--- a/mdk-stage1/ppp/pppd/ipv6cp.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- ipv6cp.h - PPP IPV6 Control Protocol.
- Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
-
- Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice and this paragraph are
- duplicated in all such forms. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-/* Original version, based on RFC2023 :
-
- Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
- Alain.Durand@imag.fr, IMAG,
- Jean-Luc.Richier@imag.fr, IMAG-LSR.
-
- Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
- Alain.Durand@imag.fr, IMAG,
- Jean-Luc.Richier@imag.fr, IMAG-LSR.
-
- Ce travail a t fait au sein du GIE DYADE (Groupement d'Intrt
- conomique ayant pour membres BULL S.A. et l'INRIA).
-
- Ce logiciel informatique est disponible aux conditions
- usuelles dans la recherche, c'est--dire qu'il peut
- tre utilis, copi, modifi, distribu l'unique
- condition que ce texte soit conserv afin que
- l'origine de ce logiciel soit reconnue.
-
- Le nom de l'Institut National de Recherche en Informatique
- et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
- ou physique ayant particip l'laboration de ce logiciel ne peut
- tre utilis sans son accord pralable explicite.
-
- Ce logiciel est fourni tel quel sans aucune garantie,
- support ou responsabilit d'aucune sorte.
- Ce logiciel est driv de sources d'origine
- "University of California at Berkeley" et
- "Digital Equipment Corporation" couvertes par des copyrights.
-
- L'Institut d'Informatique et de Mathmatiques Appliques de Grenoble (IMAG)
- est une fdration d'units mixtes de recherche du CNRS, de l'Institut National
- Polytechnique de Grenoble et de l'Universit Joseph Fourier regroupant
- sept laboratoires dont le laboratoire Logiciels, Systmes, Rseaux (LSR).
-
- This work has been done in the context of GIE DYADE (joint R & D venture
- between BULL S.A. and INRIA).
-
- This software is available with usual "research" terms
- with the aim of retain credits of the software.
- Permission to use, copy, modify and distribute this software for any
- purpose and without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies,
- and the name of INRIA, IMAG, or any contributor not be used in advertising
- or publicity pertaining to this material without the prior explicit
- permission. The software is provided "as is" without any
- warranties, support or liabilities of any kind.
- This software is derived from source code from
- "University of California at Berkeley" and
- "Digital Equipment Corporation" protected by copyrights.
-
- Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
- is a federation of seven research units funded by the CNRS, National
- Polytechnic Institute of Grenoble and University Joseph Fourier.
- The research unit in Software, Systems, Networks (LSR) is member of IMAG.
-*/
-
-/*
- * Derived from :
- *
- *
- * ipcp.h - IP Control Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Options.
- */
-#define CI_IFACEID 1 /* Interface Identifier */
-#define CI_COMPRESSTYPE 2 /* Compression Type */
-
-/* No compression types yet defined.
- *#define IPV6CP_COMP 0x004f
- */
-typedef struct ipv6cp_options {
- int neg_ifaceid; /* Negotiate interface identifier? */
- int req_ifaceid; /* Ask peer to send interface identifier? */
- int accept_local; /* accept peer's value for iface id? */
- int opt_local; /* ourtoken set by option */
- int opt_remote; /* histoken set by option */
- int use_ip; /* use IP as interface identifier */
-#if defined(SOL2)
- int use_persistent; /* use uniquely persistent value for address */
-#endif /* defined(SOL2) */
- int neg_vj; /* Van Jacobson Compression? */
- u_short vj_protocol; /* protocol value to use in VJ option */
- eui64_t ourid, hisid; /* Interface identifiers */
-} ipv6cp_options;
-
-extern fsm ipv6cp_fsm[];
-extern ipv6cp_options ipv6cp_wantoptions[];
-extern ipv6cp_options ipv6cp_gotoptions[];
-extern ipv6cp_options ipv6cp_allowoptions[];
-extern ipv6cp_options ipv6cp_hisoptions[];
-
-extern struct protent ipv6cp_protent;
diff --git a/mdk-stage1/ppp/pppd/ipxcp.c b/mdk-stage1/ppp/pppd/ipxcp.c
deleted file mode 100644
index f9a12b934..000000000
--- a/mdk-stage1/ppp/pppd/ipxcp.c
+++ /dev/null
@@ -1,1570 +0,0 @@
-/*
- * ipxcp.c - PPP IPX Control Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifdef IPX_CHANGE
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipxcp.h"
-#include "pathnames.h"
-#include "magic.h"
-
-static const char rcsid[] = RCSID;
-
-/* global vars */
-ipxcp_options ipxcp_wantoptions[NUM_PPP]; /* Options that we want to request */
-ipxcp_options ipxcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
-ipxcp_options ipxcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
-ipxcp_options ipxcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
-
-#define wo (&ipxcp_wantoptions[0])
-#define ao (&ipxcp_allowoptions[0])
-#define go (&ipxcp_gotoptions[0])
-#define ho (&ipxcp_hisoptions[0])
-
-/*
- * Callbacks for fsm code. (CI = Configuration Information)
- */
-static void ipxcp_resetci __P((fsm *)); /* Reset our CI */
-static int ipxcp_cilen __P((fsm *)); /* Return length of our CI */
-static void ipxcp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
-static int ipxcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
-static int ipxcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
-static int ipxcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
-static int ipxcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
-static void ipxcp_up __P((fsm *)); /* We're UP */
-static void ipxcp_down __P((fsm *)); /* We're DOWN */
-static void ipxcp_finished __P((fsm *)); /* Don't need lower layer */
-static void ipxcp_script __P((fsm *, char *)); /* Run an up/down script */
-
-fsm ipxcp_fsm[NUM_PPP]; /* IPXCP fsm structure */
-
-static fsm_callbacks ipxcp_callbacks = { /* IPXCP callback routines */
- ipxcp_resetci, /* Reset our Configuration Information */
- ipxcp_cilen, /* Length of our Configuration Information */
- ipxcp_addci, /* Add our Configuration Information */
- ipxcp_ackci, /* ACK our Configuration Information */
- ipxcp_nakci, /* NAK our Configuration Information */
- ipxcp_rejci, /* Reject our Configuration Information */
- ipxcp_reqci, /* Request peer's Configuration Information */
- ipxcp_up, /* Called when fsm reaches OPENED state */
- ipxcp_down, /* Called when fsm leaves OPENED state */
- NULL, /* Called when we want the lower layer up */
- ipxcp_finished, /* Called when we want the lower layer down */
- NULL, /* Called when Protocol-Reject received */
- NULL, /* Retransmission is necessary */
- NULL, /* Called to handle protocol-specific codes */
- "IPXCP" /* String name of protocol */
-};
-
-/*
- * Command-line options.
- */
-static int setipxnode __P((char **));
-static void printipxnode __P((option_t *,
- void (*)(void *, char *, ...), void *));
-static int setipxname __P((char **));
-
-static option_t ipxcp_option_list[] = {
- { "ipx", o_bool, &ipxcp_protent.enabled_flag,
- "Enable IPXCP (and IPX)", OPT_PRIO | 1 },
- { "+ipx", o_bool, &ipxcp_protent.enabled_flag,
- "Enable IPXCP (and IPX)", OPT_PRIOSUB | OPT_ALIAS | 1 },
- { "noipx", o_bool, &ipxcp_protent.enabled_flag,
- "Disable IPXCP (and IPX)", OPT_PRIOSUB },
- { "-ipx", o_bool, &ipxcp_protent.enabled_flag,
- "Disable IPXCP (and IPX)", OPT_PRIOSUB | OPT_ALIAS },
-
- { "ipx-network", o_uint32, &ipxcp_wantoptions[0].our_network,
- "Set our IPX network number", OPT_PRIO, &ipxcp_wantoptions[0].neg_nn },
-
- { "ipxcp-accept-network", o_bool, &ipxcp_wantoptions[0].accept_network,
- "Accept peer IPX network number", 1,
- &ipxcp_allowoptions[0].accept_network },
-
- { "ipx-node", o_special, (void *)setipxnode,
- "Set IPX node number", OPT_A2PRINTER, (void *)printipxnode },
-
- { "ipxcp-accept-local", o_bool, &ipxcp_wantoptions[0].accept_local,
- "Accept our IPX address", 1,
- &ipxcp_allowoptions[0].accept_local },
-
- { "ipxcp-accept-remote", o_bool, &ipxcp_wantoptions[0].accept_remote,
- "Accept peer's IPX address", 1,
- &ipxcp_allowoptions[0].accept_remote },
-
- { "ipx-routing", o_int, &ipxcp_wantoptions[0].router,
- "Set IPX routing proto number", OPT_PRIO,
- &ipxcp_wantoptions[0].neg_router },
-
- { "ipx-router-name", o_special, setipxname,
- "Set IPX router name", OPT_PRIO | OPT_A2STRVAL | OPT_STATIC,
- &ipxcp_wantoptions[0].name },
-
- { "ipxcp-restart", o_int, &ipxcp_fsm[0].timeouttime,
- "Set timeout for IPXCP", OPT_PRIO },
- { "ipxcp-max-terminate", o_int, &ipxcp_fsm[0].maxtermtransmits,
- "Set max #xmits for IPXCP term-reqs", OPT_PRIO },
- { "ipxcp-max-configure", o_int, &ipxcp_fsm[0].maxconfreqtransmits,
- "Set max #xmits for IPXCP conf-reqs", OPT_PRIO },
- { "ipxcp-max-failure", o_int, &ipxcp_fsm[0].maxnakloops,
- "Set max #conf-naks for IPXCP", OPT_PRIO },
-
- { NULL }
-};
-
-/*
- * Protocol entry points.
- */
-
-static void ipxcp_init __P((int));
-static void ipxcp_open __P((int));
-static void ipxcp_close __P((int, char *));
-static void ipxcp_lowerup __P((int));
-static void ipxcp_lowerdown __P((int));
-static void ipxcp_input __P((int, u_char *, int));
-static void ipxcp_protrej __P((int));
-static int ipxcp_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-
-struct protent ipxcp_protent = {
- PPP_IPXCP,
- ipxcp_init,
- ipxcp_input,
- ipxcp_protrej,
- ipxcp_lowerup,
- ipxcp_lowerdown,
- ipxcp_open,
- ipxcp_close,
- ipxcp_printpkt,
- NULL,
- 0,
- "IPXCP",
- "IPX",
- ipxcp_option_list,
- NULL,
- NULL,
- NULL
-};
-
-/*
- * Lengths of configuration options.
- */
-
-#define CILEN_VOID 2
-#define CILEN_COMPLETE 2 /* length of complete option */
-#define CILEN_NETN 6 /* network number length option */
-#define CILEN_NODEN 8 /* node number length option */
-#define CILEN_PROTOCOL 4 /* Minimum length of routing protocol */
-#define CILEN_NAME 3 /* Minimum length of router name */
-#define CILEN_COMPRESS 4 /* Minimum length of compression protocol */
-
-#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
- (x) == CONFNAK ? "NAK" : "REJ")
-
-static int ipxcp_is_up;
-
-static char *ipx_ntoa __P((u_int32_t));
-
-/* Used in printing the node number */
-#define NODE(base) base[0], base[1], base[2], base[3], base[4], base[5]
-
-/* Used to generate the proper bit mask */
-#define BIT(num) (1 << (num))
-
-/*
- * Convert from internal to external notation
- */
-
-static short int
-to_external(internal)
-short int internal;
-{
- short int external;
-
- if (internal & BIT(IPX_NONE) )
- external = IPX_NONE;
- else
- external = RIP_SAP;
-
- return external;
-}
-
-/*
- * Make a string representation of a network IP address.
- */
-
-static char *
-ipx_ntoa(ipxaddr)
-u_int32_t ipxaddr;
-{
- static char b[64];
- slprintf(b, sizeof(b), "%x", ipxaddr);
- return b;
-}
-
-
-static u_char *
-setipxnodevalue(src,dst)
-u_char *src, *dst;
-{
- int indx;
- int item;
-
- for (;;) {
- if (!isxdigit (*src))
- break;
-
- for (indx = 0; indx < 5; ++indx) {
- dst[indx] <<= 4;
- dst[indx] |= (dst[indx + 1] >> 4) & 0x0F;
- }
-
- item = toupper (*src) - '0';
- if (item > 9)
- item -= 7;
-
- dst[5] = (dst[5] << 4) | item;
- ++src;
- }
- return src;
-}
-
-static int ipx_prio_our, ipx_prio_his;
-
-static int
-setipxnode(argv)
- char **argv;
-{
- char *end;
- int have_his = 0;
- u_char our_node[6];
- u_char his_node[6];
-
- memset (our_node, 0, 6);
- memset (his_node, 0, 6);
-
- end = setipxnodevalue (*argv, our_node);
- if (*end == ':') {
- have_his = 1;
- end = setipxnodevalue (++end, his_node);
- }
-
- if (*end == '\0') {
- ipxcp_wantoptions[0].neg_node = 1;
- if (option_priority >= ipx_prio_our) {
- memcpy(&ipxcp_wantoptions[0].our_node[0], our_node, 6);
- ipx_prio_our = option_priority;
- }
- if (have_his && option_priority >= ipx_prio_his) {
- memcpy(&ipxcp_wantoptions[0].his_node[0], his_node, 6);
- ipx_prio_his = option_priority;
- }
- return 1;
- }
-
- option_error("invalid parameter '%s' for ipx-node option", *argv);
- return 0;
-}
-
-static void
-printipxnode(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- unsigned char *p;
-
- p = ipxcp_wantoptions[0].our_node;
- if (ipx_prio_our)
- printer(arg, "%.2x%.2x%.2x%.2x%.2x%.2x",
- p[0], p[1], p[2], p[3], p[4], p[5]);
- printer(arg, ":");
- p = ipxcp_wantoptions[0].his_node;
- if (ipx_prio_his)
- printer(arg, "%.2x%.2x%.2x%.2x%.2x%.2x",
- p[0], p[1], p[2], p[3], p[4], p[5]);
-}
-
-static int
-setipxname (argv)
- char **argv;
-{
- char *dest = ipxcp_wantoptions[0].name;
- char *src = *argv;
- int count;
- char ch;
-
- ipxcp_wantoptions[0].neg_name = 1;
- ipxcp_allowoptions[0].neg_name = 1;
- memset (dest, '\0', sizeof (ipxcp_wantoptions[0].name));
-
- count = 0;
- while (*src) {
- ch = *src++;
- if (! isalnum (ch) && ch != '_') {
- option_error("IPX router name must be alphanumeric or _");
- return 0;
- }
-
- if (count >= sizeof (ipxcp_wantoptions[0].name) - 1) {
- option_error("IPX router name is limited to %d characters",
- sizeof (ipxcp_wantoptions[0].name) - 1);
- return 0;
- }
-
- dest[count++] = toupper (ch);
- }
- dest[count] = 0;
-
- return 1;
-}
-
-/*
- * ipxcp_init - Initialize IPXCP.
- */
-static void
-ipxcp_init(unit)
- int unit;
-{
- fsm *f = &ipxcp_fsm[unit];
-
- f->unit = unit;
- f->protocol = PPP_IPXCP;
- f->callbacks = &ipxcp_callbacks;
- fsm_init(&ipxcp_fsm[unit]);
-
- memset (wo->name, 0, sizeof (wo->name));
- memset (wo->our_node, 0, sizeof (wo->our_node));
- memset (wo->his_node, 0, sizeof (wo->his_node));
-
- wo->neg_nn = 1;
- wo->neg_complete = 1;
- wo->network = 0;
-
- ao->neg_node = 1;
- ao->neg_nn = 1;
- ao->neg_name = 1;
- ao->neg_complete = 1;
- ao->neg_router = 1;
-
- ao->accept_local = 0;
- ao->accept_remote = 0;
- ao->accept_network = 0;
-
- wo->tried_rip = 0;
- wo->tried_nlsp = 0;
-}
-
-/*
- * Copy the node number
- */
-
-static void
-copy_node (src, dst)
-u_char *src, *dst;
-{
- memcpy (dst, src, sizeof (ipxcp_wantoptions[0].our_node));
-}
-
-/*
- * Compare node numbers
- */
-
-static int
-compare_node (src, dst)
-u_char *src, *dst;
-{
- return memcmp (dst, src, sizeof (ipxcp_wantoptions[0].our_node)) == 0;
-}
-
-/*
- * Is the node number zero?
- */
-
-static int
-zero_node (node)
-u_char *node;
-{
- int indx;
- for (indx = 0; indx < sizeof (ipxcp_wantoptions[0].our_node); ++indx)
- if (node [indx] != 0)
- return 0;
- return 1;
-}
-
-/*
- * Increment the node number
- */
-
-static void
-inc_node (node)
-u_char *node;
-{
- u_char *outp;
- u_int32_t magic_num;
-
- outp = node;
- magic_num = magic();
- *outp++ = '\0';
- *outp++ = '\0';
- PUTLONG (magic_num, outp);
-}
-
-/*
- * ipxcp_open - IPXCP is allowed to come up.
- */
-static void
-ipxcp_open(unit)
- int unit;
-{
- fsm_open(&ipxcp_fsm[unit]);
-}
-
-/*
- * ipxcp_close - Take IPXCP down.
- */
-static void
-ipxcp_close(unit, reason)
- int unit;
- char *reason;
-{
- fsm_close(&ipxcp_fsm[unit], reason);
-}
-
-
-/*
- * ipxcp_lowerup - The lower layer is up.
- */
-static void
-ipxcp_lowerup(unit)
- int unit;
-{
- fsm_lowerup(&ipxcp_fsm[unit]);
-}
-
-
-/*
- * ipxcp_lowerdown - The lower layer is down.
- */
-static void
-ipxcp_lowerdown(unit)
- int unit;
-{
- fsm_lowerdown(&ipxcp_fsm[unit]);
-}
-
-
-/*
- * ipxcp_input - Input IPXCP packet.
- */
-static void
-ipxcp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm_input(&ipxcp_fsm[unit], p, len);
-}
-
-
-/*
- * ipxcp_protrej - A Protocol-Reject was received for IPXCP.
- *
- * Pretend the lower layer went down, so we shut up.
- */
-static void
-ipxcp_protrej(unit)
- int unit;
-{
- fsm_lowerdown(&ipxcp_fsm[unit]);
-}
-
-
-/*
- * ipxcp_resetci - Reset our CI.
- */
-static void
-ipxcp_resetci(f)
- fsm *f;
-{
- wo->req_node = wo->neg_node && ao->neg_node;
- wo->req_nn = wo->neg_nn && ao->neg_nn;
-
- if (wo->our_network == 0) {
- wo->neg_node = 1;
- ao->accept_network = 1;
- }
-/*
- * If our node number is zero then change it.
- */
- if (zero_node (wo->our_node)) {
- inc_node (wo->our_node);
- ao->accept_local = 1;
- wo->neg_node = 1;
- }
-/*
- * If his node number is zero then change it.
- */
- if (zero_node (wo->his_node)) {
- inc_node (wo->his_node);
- ao->accept_remote = 1;
- }
-/*
- * If no routing agent was specified then we do RIP/SAP according to the
- * RFC documents. If you have specified something then OK. Otherwise, we
- * do RIP/SAP.
- */
- if (ao->router == 0) {
- ao->router |= BIT(RIP_SAP);
- wo->router |= BIT(RIP_SAP);
- }
-
- /* Always specify a routing protocol unless it was REJected. */
- wo->neg_router = 1;
-/*
- * Start with these default values
- */
- *go = *wo;
-}
-
-/*
- * ipxcp_cilen - Return length of our CI.
- */
-
-static int
-ipxcp_cilen(f)
- fsm *f;
-{
- int len;
-
- len = go->neg_nn ? CILEN_NETN : 0;
- len += go->neg_node ? CILEN_NODEN : 0;
- len += go->neg_name ? CILEN_NAME + strlen (go->name) - 1 : 0;
-
- /* RFC says that defaults should not be included. */
- if (go->neg_router && to_external(go->router) != RIP_SAP)
- len += CILEN_PROTOCOL;
-
- return (len);
-}
-
-
-/*
- * ipxcp_addci - Add our desired CIs to a packet.
- */
-static void
-ipxcp_addci(f, ucp, lenp)
- fsm *f;
- u_char *ucp;
- int *lenp;
-{
-/*
- * Add the options to the record.
- */
- if (go->neg_nn) {
- PUTCHAR (IPX_NETWORK_NUMBER, ucp);
- PUTCHAR (CILEN_NETN, ucp);
- PUTLONG (go->our_network, ucp);
- }
-
- if (go->neg_node) {
- int indx;
- PUTCHAR (IPX_NODE_NUMBER, ucp);
- PUTCHAR (CILEN_NODEN, ucp);
- for (indx = 0; indx < sizeof (go->our_node); ++indx)
- PUTCHAR (go->our_node[indx], ucp);
- }
-
- if (go->neg_name) {
- int cilen = strlen (go->name);
- int indx;
- PUTCHAR (IPX_ROUTER_NAME, ucp);
- PUTCHAR (CILEN_NAME + cilen - 1, ucp);
- for (indx = 0; indx < cilen; ++indx)
- PUTCHAR (go->name [indx], ucp);
- }
-
- if (go->neg_router) {
- short external = to_external (go->router);
- if (external != RIP_SAP) {
- PUTCHAR (IPX_ROUTER_PROTOCOL, ucp);
- PUTCHAR (CILEN_PROTOCOL, ucp);
- PUTSHORT (external, ucp);
- }
- }
-}
-
-/*
- * ipxcp_ackci - Ack our CIs.
- *
- * Returns:
- * 0 - Ack was bad.
- * 1 - Ack was good.
- */
-static int
-ipxcp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- u_short cilen, citype, cishort;
- u_char cichar;
- u_int32_t cilong;
-
-#define ACKCIVOID(opt, neg) \
- if (neg) { \
- if ((len -= CILEN_VOID) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_VOID || \
- citype != opt) \
- break; \
- }
-
-#define ACKCICOMPLETE(opt,neg) ACKCIVOID(opt, neg)
-
-#define ACKCICHARS(opt, neg, val, cnt) \
- if (neg) { \
- int indx, count = cnt; \
- len -= (count + 2); \
- if (len < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != (count + 2) || \
- citype != opt) \
- break; \
- for (indx = 0; indx < count; ++indx) {\
- GETCHAR(cichar, p); \
- if (cichar != ((u_char *) &val)[indx]) \
- break; \
- }\
- if (indx != count) \
- break; \
- }
-
-#define ACKCINODE(opt,neg,val) ACKCICHARS(opt,neg,val,sizeof(val))
-#define ACKCINAME(opt,neg,val) ACKCICHARS(opt,neg,val,strlen(val))
-
-#define ACKCINETWORK(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_NETN) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_NETN || \
- citype != opt) \
- break; \
- GETLONG(cilong, p); \
- if (cilong != val) \
- break; \
- }
-
-#define ACKCIPROTO(opt, neg, val) \
- if (neg) { \
- if (len < 2) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_PROTOCOL || citype != opt) \
- break; \
- len -= cilen; \
- if (len < 0) \
- break; \
- GETSHORT(cishort, p); \
- if (cishort != to_external (val) || cishort == RIP_SAP) \
- break; \
- }
-/*
- * Process the ACK frame in the order in which the frame was assembled
- */
- do {
- ACKCINETWORK (IPX_NETWORK_NUMBER, go->neg_nn, go->our_network);
- ACKCINODE (IPX_NODE_NUMBER, go->neg_node, go->our_node);
- ACKCINAME (IPX_ROUTER_NAME, go->neg_name, go->name);
- if (len > 0)
- ACKCIPROTO (IPX_ROUTER_PROTOCOL, go->neg_router, go->router);
-/*
- * This is the end of the record.
- */
- if (len == 0)
- return (1);
- } while (0);
-/*
- * The frame is invalid
- */
- IPXCPDEBUG(("ipxcp_ackci: received bad Ack!"));
- return (0);
-}
-
-/*
- * ipxcp_nakci - Peer has sent a NAK for some of our CIs.
- * This should not modify any state if the Nak is bad
- * or if IPXCP is in the OPENED state.
- *
- * Returns:
- * 0 - Nak was bad.
- * 1 - Nak was good.
- */
-
-static int
-ipxcp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- u_char citype, cilen, *next;
- u_short s;
- u_int32_t l;
- ipxcp_options no; /* options we've seen Naks for */
- ipxcp_options try; /* options to request next time */
-
- BZERO(&no, sizeof(no));
- try = *go;
-
- while (len > CILEN_VOID) {
- GETCHAR (citype, p);
- GETCHAR (cilen, p);
- len -= cilen;
- if (len < 0)
- goto bad;
- next = &p [cilen - CILEN_VOID];
-
- switch (citype) {
- case IPX_NETWORK_NUMBER:
- if (!go->neg_nn || no.neg_nn || (cilen != CILEN_NETN))
- goto bad;
- no.neg_nn = 1;
-
- GETLONG(l, p);
- if (l && ao->accept_network)
- try.our_network = l;
- break;
-
- case IPX_NODE_NUMBER:
- if (!go->neg_node || no.neg_node || (cilen != CILEN_NODEN))
- goto bad;
- no.neg_node = 1;
-
- if (!zero_node (p) && ao->accept_local &&
- ! compare_node (p, ho->his_node))
- copy_node (p, try.our_node);
- break;
-
- /* This has never been sent. Ignore the NAK frame */
- case IPX_COMPRESSION_PROTOCOL:
- goto bad;
-
- case IPX_ROUTER_PROTOCOL:
- if (!go->neg_router || (cilen < CILEN_PROTOCOL))
- goto bad;
-
- GETSHORT (s, p);
- if (s > 15) /* This is just bad, but ignore for now. */
- break;
-
- s = BIT(s);
- if (no.router & s) /* duplicate NAKs are always bad */
- goto bad;
-
- if (no.router == 0) /* Reset on first NAK only */
- try.router = 0;
-
- no.router |= s;
- try.router |= s;
- try.neg_router = 1;
- break;
-
- /* These, according to the RFC, must never be NAKed. */
- case IPX_ROUTER_NAME:
- case IPX_COMPLETE:
- goto bad;
-
- /* These are for options which we have not seen. */
- default:
- break;
- }
- p = next;
- }
-
- /*
- * Do not permit the peer to force a router protocol which we do not
- * support. However, default to the condition that will accept "NONE".
- */
- try.router &= (ao->router | BIT(IPX_NONE));
- if (try.router == 0 && ao->router != 0)
- try.router = BIT(IPX_NONE);
-
- if (try.router != 0)
- try.neg_router = 1;
-
- /*
- * OK, the Nak is good. Now we can update state.
- * If there are any options left, we ignore them.
- */
- if (f->state != OPENED)
- *go = try;
-
- return 1;
-
-bad:
- IPXCPDEBUG(("ipxcp_nakci: received bad Nak!"));
- return 0;
-}
-
-/*
- * ipxcp_rejci - Reject some of our CIs.
- */
-static int
-ipxcp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- u_short cilen, citype, cishort;
- u_char cichar;
- u_int32_t cilong;
- ipxcp_options try; /* options to request next time */
-
-#define REJCINETWORK(opt, neg, val) \
- if (neg && p[0] == opt) { \
- if ((len -= CILEN_NETN) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_NETN || \
- citype != opt) \
- break; \
- GETLONG(cilong, p); \
- if (cilong != val) \
- break; \
- neg = 0; \
- }
-
-#define REJCICHARS(opt, neg, val, cnt) \
- if (neg && p[0] == opt) { \
- int indx, count = cnt; \
- len -= (count + 2); \
- if (len < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != (count + 2) || \
- citype != opt) \
- break; \
- for (indx = 0; indx < count; ++indx) {\
- GETCHAR(cichar, p); \
- if (cichar != ((u_char *) &val)[indx]) \
- break; \
- }\
- if (indx != count) \
- break; \
- neg = 0; \
- }
-
-#define REJCINODE(opt,neg,val) REJCICHARS(opt,neg,val,sizeof(val))
-#define REJCINAME(opt,neg,val) REJCICHARS(opt,neg,val,strlen(val))
-
-#define REJCIVOID(opt, neg) \
- if (neg && p[0] == opt) { \
- if ((len -= CILEN_VOID) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_VOID || citype != opt) \
- break; \
- neg = 0; \
- }
-
-/* a reject for RIP/SAP is invalid since we don't send it and you can't
- reject something which is not sent. (You can NAK, but you can't REJ.) */
-#define REJCIPROTO(opt, neg, val, bit) \
- if (neg && p[0] == opt) { \
- if ((len -= CILEN_PROTOCOL) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_PROTOCOL) \
- break; \
- GETSHORT(cishort, p); \
- if (cishort != to_external (val) || cishort == RIP_SAP) \
- break; \
- neg = 0; \
- }
-/*
- * Any Rejected CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
- try = *go;
-
- do {
- REJCINETWORK (IPX_NETWORK_NUMBER, try.neg_nn, try.our_network);
- REJCINODE (IPX_NODE_NUMBER, try.neg_node, try.our_node);
- REJCINAME (IPX_ROUTER_NAME, try.neg_name, try.name);
- REJCIPROTO (IPX_ROUTER_PROTOCOL, try.neg_router, try.router, 0);
-/*
- * This is the end of the record.
- */
- if (len == 0) {
- if (f->state != OPENED)
- *go = try;
- return (1);
- }
- } while (0);
-/*
- * The frame is invalid at this point.
- */
- IPXCPDEBUG(("ipxcp_rejci: received bad Reject!"));
- return 0;
-}
-
-/*
- * ipxcp_reqci - Check the peer's requested CIs and send appropriate response.
- *
- * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
- * appropriately. If reject_if_disagree is non-zero, doesn't return
- * CONFNAK; returns CONFREJ if it can't return CONFACK.
- */
-static int
-ipxcp_reqci(f, inp, len, reject_if_disagree)
- fsm *f;
- u_char *inp; /* Requested CIs */
- int *len; /* Length of requested CIs */
- int reject_if_disagree;
-{
- u_char *cip, *next; /* Pointer to current and next CIs */
- u_short cilen, citype; /* Parsed len, type */
- u_short cishort; /* Parsed short value */
- u_int32_t cinetwork; /* Parsed address values */
- int rc = CONFACK; /* Final packet return code */
- int orc; /* Individual option return code */
- u_char *p; /* Pointer to next char to parse */
- u_char *ucp = inp; /* Pointer to current output char */
- int l = *len; /* Length left */
-
- /*
- * Reset all his options.
- */
- BZERO(ho, sizeof(*ho));
-
- /*
- * Process all his options.
- */
- next = inp;
- while (l) {
- orc = CONFACK; /* Assume success */
- cip = p = next; /* Remember begining of CI */
- if (l < 2 || /* Not enough data for CI header or */
- p[1] < 2 || /* CI length too small or */
- p[1] > l) { /* CI length too big? */
- IPXCPDEBUG(("ipxcp_reqci: bad CI length!"));
- orc = CONFREJ; /* Reject bad CI */
- cilen = l; /* Reject till end of packet */
- l = 0; /* Don't loop again */
- goto endswitch;
- }
- GETCHAR(citype, p); /* Parse CI type */
- GETCHAR(cilen, p); /* Parse CI length */
- l -= cilen; /* Adjust remaining length */
- next += cilen; /* Step to next CI */
-
- switch (citype) { /* Check CI type */
-/*
- * The network number must match. Choose the larger of the two.
- */
- case IPX_NETWORK_NUMBER:
- /* if we wont negotiate the network number or the length is wrong
- then reject the option */
- if ( !ao->neg_nn || cilen != CILEN_NETN ) {
- orc = CONFREJ;
- break;
- }
- GETLONG(cinetwork, p);
-
- /* If the network numbers match then acknowledge them. */
- if (cinetwork != 0) {
- ho->his_network = cinetwork;
- ho->neg_nn = 1;
- if (wo->our_network == cinetwork)
- break;
-/*
- * If the network number is not given or we don't accept their change or
- * the network number is too small then NAK it.
- */
- if (! ao->accept_network || cinetwork < wo->our_network) {
- DECPTR (sizeof (u_int32_t), p);
- PUTLONG (wo->our_network, p);
- orc = CONFNAK;
- }
- break;
- }
-/*
- * The peer sent '0' for the network. Give it ours if we have one.
- */
- if (go->our_network != 0) {
- DECPTR (sizeof (u_int32_t), p);
- PUTLONG (wo->our_network, p);
- orc = CONFNAK;
-/*
- * We don't have one. Reject the value.
- */
- } else
- orc = CONFREJ;
-
- break;
-/*
- * The node number is required
- */
- case IPX_NODE_NUMBER:
- /* if we wont negotiate the node number or the length is wrong
- then reject the option */
- if ( cilen != CILEN_NODEN ) {
- orc = CONFREJ;
- break;
- }
-
- copy_node (p, ho->his_node);
- ho->neg_node = 1;
-/*
- * If the remote does not have a number and we do then NAK it with the value
- * which we have for it. (We never have a default value of zero.)
- */
- if (zero_node (ho->his_node)) {
- orc = CONFNAK;
- copy_node (wo->his_node, p);
- INCPTR (sizeof (wo->his_node), p);
- break;
- }
-/*
- * If you have given me the expected network node number then I'll accept
- * it now.
- */
- if (compare_node (wo->his_node, ho->his_node)) {
- orc = CONFACK;
- ho->neg_node = 1;
- INCPTR (sizeof (wo->his_node), p);
- break;
- }
-/*
- * If his node number is the same as ours then ask him to try the next
- * value.
- */
- if (compare_node (ho->his_node, go->our_node)) {
- inc_node (ho->his_node);
- orc = CONFNAK;
- copy_node (ho->his_node, p);
- INCPTR (sizeof (wo->his_node), p);
- break;
- }
-/*
- * If we don't accept a new value then NAK it.
- */
- if (! ao->accept_remote) {
- copy_node (wo->his_node, p);
- INCPTR (sizeof (wo->his_node), p);
- orc = CONFNAK;
- break;
- }
- orc = CONFACK;
- ho->neg_node = 1;
- INCPTR (sizeof (wo->his_node), p);
- break;
-/*
- * Compression is not desired at this time. It is always rejected.
- */
- case IPX_COMPRESSION_PROTOCOL:
- orc = CONFREJ;
- break;
-/*
- * The routing protocol is a bitmask of various types. Any combination
- * of the values RIP_SAP and NLSP are permissible. 'IPX_NONE' for no
- * routing protocol must be specified only once.
- */
- case IPX_ROUTER_PROTOCOL:
- if ( !ao->neg_router || cilen < CILEN_PROTOCOL ) {
- orc = CONFREJ;
- break;
- }
-
- GETSHORT (cishort, p);
-
- if (wo->neg_router == 0) {
- wo->neg_router = 1;
- wo->router = BIT(IPX_NONE);
- }
-
- if ((cishort == IPX_NONE && ho->router != 0) ||
- (ho->router & BIT(IPX_NONE))) {
- orc = CONFREJ;
- break;
- }
-
- cishort = BIT(cishort);
- if (ho->router & cishort) {
- orc = CONFREJ;
- break;
- }
-
- ho->router |= cishort;
- ho->neg_router = 1;
-
- /* Finally do not allow a router protocol which we do not
- support. */
-
- if ((cishort & (ao->router | BIT(IPX_NONE))) == 0) {
- int protocol;
-
- if (cishort == BIT(NLSP) &&
- (ao->router & BIT(RIP_SAP)) &&
- !wo->tried_rip) {
- protocol = RIP_SAP;
- wo->tried_rip = 1;
- } else
- protocol = IPX_NONE;
-
- DECPTR (sizeof (u_int16_t), p);
- PUTSHORT (protocol, p);
- orc = CONFNAK;
- }
- break;
-/*
- * The router name is advisorary. Just accept it if it is not too large.
- */
- case IPX_ROUTER_NAME:
- if (cilen >= CILEN_NAME) {
- int name_size = cilen - CILEN_NAME;
- if (name_size > sizeof (ho->name))
- name_size = sizeof (ho->name) - 1;
- memset (ho->name, 0, sizeof (ho->name));
- memcpy (ho->name, p, name_size);
- ho->name [name_size] = '\0';
- ho->neg_name = 1;
- orc = CONFACK;
- break;
- }
- orc = CONFREJ;
- break;
-/*
- * This is advisorary.
- */
- case IPX_COMPLETE:
- if (cilen != CILEN_COMPLETE)
- orc = CONFREJ;
- else {
- ho->neg_complete = 1;
- orc = CONFACK;
- }
- break;
-/*
- * All other entries are not known at this time.
- */
- default:
- orc = CONFREJ;
- break;
- }
-endswitch:
- if (orc == CONFACK && /* Good CI */
- rc != CONFACK) /* but prior CI wasnt? */
- continue; /* Don't send this one */
-
- if (orc == CONFNAK) { /* Nak this CI? */
- if (reject_if_disagree) /* Getting fed up with sending NAKs? */
- orc = CONFREJ; /* Get tough if so */
- if (rc == CONFREJ) /* Rejecting prior CI? */
- continue; /* Don't send this one */
- if (rc == CONFACK) { /* Ack'd all prior CIs? */
- rc = CONFNAK; /* Not anymore... */
- ucp = inp; /* Backup */
- }
- }
-
- if (orc == CONFREJ && /* Reject this CI */
- rc != CONFREJ) { /* but no prior ones? */
- rc = CONFREJ;
- ucp = inp; /* Backup */
- }
-
- /* Need to move CI? */
- if (ucp != cip)
- BCOPY(cip, ucp, cilen); /* Move it */
-
- /* Update output pointer */
- INCPTR(cilen, ucp);
- }
-
- /*
- * If we aren't rejecting this packet, and we want to negotiate
- * their address, and they didn't send their address, then we
- * send a NAK with a IPX_NODE_NUMBER option appended. We assume the
- * input buffer is long enough that we can append the extra
- * option safely.
- */
-
- if (rc != CONFREJ && !ho->neg_node &&
- wo->req_nn && !reject_if_disagree) {
- if (rc == CONFACK) {
- rc = CONFNAK;
- wo->req_nn = 0; /* don't ask again */
- ucp = inp; /* reset pointer */
- }
-
- if (zero_node (wo->his_node))
- inc_node (wo->his_node);
-
- PUTCHAR (IPX_NODE_NUMBER, ucp);
- PUTCHAR (CILEN_NODEN, ucp);
- copy_node (wo->his_node, ucp);
- INCPTR (sizeof (wo->his_node), ucp);
- }
-
- *len = ucp - inp; /* Compute output length */
- IPXCPDEBUG(("ipxcp: returning Configure-%s", CODENAME(rc)));
- return (rc); /* Return final code */
-}
-
-/*
- * ipxcp_up - IPXCP has come UP.
- *
- * Configure the IP network interface appropriately and bring it up.
- */
-
-static void
-ipxcp_up(f)
- fsm *f;
-{
- int unit = f->unit;
-
- IPXCPDEBUG(("ipxcp: up"));
-
- /* The default router protocol is RIP/SAP. */
- if (ho->router == 0)
- ho->router = BIT(RIP_SAP);
-
- if (go->router == 0)
- go->router = BIT(RIP_SAP);
-
- /* Fetch the network number */
- if (!ho->neg_nn)
- ho->his_network = wo->his_network;
-
- if (!ho->neg_node)
- copy_node (wo->his_node, ho->his_node);
-
- if (!wo->neg_node && !go->neg_node)
- copy_node (wo->our_node, go->our_node);
-
- if (zero_node (go->our_node)) {
- static char errmsg[] = "Could not determine local IPX node address";
- if (debug)
- error(errmsg);
- ipxcp_close(f->unit, errmsg);
- return;
- }
-
- go->network = go->our_network;
- if (ho->his_network != 0 && ho->his_network > go->network)
- go->network = ho->his_network;
-
- if (go->network == 0) {
- static char errmsg[] = "Can not determine network number";
- if (debug)
- error(errmsg);
- ipxcp_close (unit, errmsg);
- return;
- }
-
- /* bring the interface up */
- if (!sifup(unit)) {
- if (debug)
- warn("sifup failed (IPX)");
- ipxcp_close(unit, "Interface configuration failed");
- return;
- }
- ipxcp_is_up = 1;
-
- /* set the network number for IPX */
- if (!sipxfaddr(unit, go->network, go->our_node)) {
- if (debug)
- warn("sipxfaddr failed");
- ipxcp_close(unit, "Interface configuration failed");
- return;
- }
-
- np_up(f->unit, PPP_IPX);
-
- /*
- * Execute the ipx-up script, like this:
- * /etc/ppp/ipx-up interface tty speed local-IPX remote-IPX
- */
-
- ipxcp_script (f, _PATH_IPXUP);
-}
-
-/*
- * ipxcp_down - IPXCP has gone DOWN.
- *
- * Take the IP network interface down, clear its addresses
- * and delete routes through it.
- */
-
-static void
-ipxcp_down(f)
- fsm *f;
-{
- IPXCPDEBUG(("ipxcp: down"));
-
- if (!ipxcp_is_up)
- return;
- ipxcp_is_up = 0;
- np_down(f->unit, PPP_IPX);
- cipxfaddr(f->unit);
- sifnpmode(f->unit, PPP_IPX, NPMODE_DROP);
- sifdown(f->unit);
- ipxcp_script (f, _PATH_IPXDOWN);
-}
-
-
-/*
- * ipxcp_finished - possibly shut down the lower layers.
- */
-static void
-ipxcp_finished(f)
- fsm *f;
-{
- np_finished(f->unit, PPP_IPX);
-}
-
-
-/*
- * ipxcp_script - Execute a script with arguments
- * interface-name tty-name speed local-IPX remote-IPX networks.
- */
-static void
-ipxcp_script(f, script)
- fsm *f;
- char *script;
-{
- char strspeed[32], strlocal[32], strremote[32];
- char strnetwork[32], strpid[32];
- char *argv[14], strproto_lcl[32], strproto_rmt[32];
-
- slprintf(strpid, sizeof(strpid), "%d", getpid());
- slprintf(strspeed, sizeof(strspeed),"%d", baud_rate);
-
- strproto_lcl[0] = '\0';
- if (go->neg_router && ((go->router & BIT(IPX_NONE)) == 0)) {
- if (go->router & BIT(RIP_SAP))
- strlcpy (strproto_lcl, "RIP ", sizeof(strproto_lcl));
- if (go->router & BIT(NLSP))
- strlcat (strproto_lcl, "NLSP ", sizeof(strproto_lcl));
- }
-
- if (strproto_lcl[0] == '\0')
- strlcpy (strproto_lcl, "NONE ", sizeof(strproto_lcl));
-
- strproto_lcl[strlen (strproto_lcl)-1] = '\0';
-
- strproto_rmt[0] = '\0';
- if (ho->neg_router && ((ho->router & BIT(IPX_NONE)) == 0)) {
- if (ho->router & BIT(RIP_SAP))
- strlcpy (strproto_rmt, "RIP ", sizeof(strproto_rmt));
- if (ho->router & BIT(NLSP))
- strlcat (strproto_rmt, "NLSP ", sizeof(strproto_rmt));
- }
-
- if (strproto_rmt[0] == '\0')
- strlcpy (strproto_rmt, "NONE ", sizeof(strproto_rmt));
-
- strproto_rmt[strlen (strproto_rmt)-1] = '\0';
-
- strlcpy (strnetwork, ipx_ntoa (go->network), sizeof(strnetwork));
-
- slprintf (strlocal, sizeof(strlocal), "%0.6B", go->our_node);
-
- slprintf (strremote, sizeof(strremote), "%0.6B", ho->his_node);
-
- argv[0] = script;
- argv[1] = ifname;
- argv[2] = devnam;
- argv[3] = strspeed;
- argv[4] = strnetwork;
- argv[5] = strlocal;
- argv[6] = strremote;
- argv[7] = strproto_lcl;
- argv[8] = strproto_rmt;
- argv[9] = go->name;
- argv[10] = ho->name;
- argv[11] = ipparam;
- argv[12] = strpid;
- argv[13] = NULL;
- run_program(script, argv, 0, NULL, NULL);
-}
-
-/*
- * ipxcp_printpkt - print the contents of an IPXCP packet.
- */
-static char *ipxcp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej"
-};
-
-static int
-ipxcp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len, olen;
- u_char *pstart, *optend;
- u_short cishort;
- u_int32_t cilong;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ipxcp_codenames) / sizeof(char *))
- printer(arg, " %s", ipxcp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print option list */
- while (len >= 2) {
- GETCHAR(code, p);
- GETCHAR(olen, p);
- p -= 2;
- if (olen < CILEN_VOID || olen > len) {
- break;
- }
- printer(arg, " <");
- len -= olen;
- optend = p + olen;
- switch (code) {
- case IPX_NETWORK_NUMBER:
- if (olen == CILEN_NETN) {
- p += 2;
- GETLONG(cilong, p);
- printer (arg, "network %s", ipx_ntoa (cilong));
- }
- break;
- case IPX_NODE_NUMBER:
- if (olen == CILEN_NODEN) {
- p += 2;
- printer (arg, "node ");
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, "%.2x", (int) (unsigned int) (unsigned char) code);
- }
- }
- break;
- case IPX_COMPRESSION_PROTOCOL:
- if (olen == CILEN_COMPRESS) {
- p += 2;
- GETSHORT (cishort, p);
- printer (arg, "compression %d", (int) cishort);
- }
- break;
- case IPX_ROUTER_PROTOCOL:
- if (olen == CILEN_PROTOCOL) {
- p += 2;
- GETSHORT (cishort, p);
- printer (arg, "router proto %d", (int) cishort);
- }
- break;
- case IPX_ROUTER_NAME:
- if (olen >= CILEN_NAME) {
- p += 2;
- printer (arg, "router name \"");
- while (p < optend) {
- GETCHAR(code, p);
- if (code >= 0x20 && code <= 0x7E)
- printer (arg, "%c", (int) (unsigned int) (unsigned char) code);
- else
- printer (arg, " \\%.2x", (int) (unsigned int) (unsigned char) code);
- }
- printer (arg, "\"");
- }
- break;
- case IPX_COMPLETE:
- if (olen == CILEN_COMPLETE) {
- p += 2;
- printer (arg, "complete");
- }
- break;
- default:
- break;
- }
-
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, " %.2x", (int) (unsigned int) (unsigned char) code);
- }
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- printer(arg, " ");
- print_string(p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", (int) (unsigned int) (unsigned char) code);
- }
-
- return p - pstart;
-}
-#endif /* ifdef IPX_CHANGE */
diff --git a/mdk-stage1/ppp/pppd/ipxcp.h b/mdk-stage1/ppp/pppd/ipxcp.h
deleted file mode 100644
index 47f680d70..000000000
--- a/mdk-stage1/ppp/pppd/ipxcp.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * ipxcp.h - IPX Control Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Options.
- */
-#define IPX_NETWORK_NUMBER 1 /* IPX Network Number */
-#define IPX_NODE_NUMBER 2
-#define IPX_COMPRESSION_PROTOCOL 3
-#define IPX_ROUTER_PROTOCOL 4
-#define IPX_ROUTER_NAME 5
-#define IPX_COMPLETE 6
-
-/* Values for the router protocol */
-#define IPX_NONE 0
-#define RIP_SAP 2
-#define NLSP 4
-
-typedef struct ipxcp_options {
- bool neg_node; /* Negotiate IPX node number? */
- bool req_node; /* Ask peer to send IPX node number? */
-
- bool neg_nn; /* Negotiate IPX network number? */
- bool req_nn; /* Ask peer to send IPX network number */
-
- bool neg_name; /* Negotiate IPX router name */
- bool neg_complete; /* Negotiate completion */
- bool neg_router; /* Negotiate IPX router number */
-
- bool accept_local; /* accept peer's value for ournode */
- bool accept_remote; /* accept peer's value for hisnode */
- bool accept_network; /* accept network number */
-
- bool tried_nlsp; /* I have suggested NLSP already */
- bool tried_rip; /* I have suggested RIP/SAP already */
-
- u_int32_t his_network; /* base network number */
- u_int32_t our_network; /* our value for network number */
- u_int32_t network; /* the final network number */
-
- u_char his_node[6]; /* peer's node number */
- u_char our_node[6]; /* our node number */
- u_char name [48]; /* name of the router */
- int router; /* routing protocol */
-} ipxcp_options;
-
-extern fsm ipxcp_fsm[];
-extern ipxcp_options ipxcp_wantoptions[];
-extern ipxcp_options ipxcp_gotoptions[];
-extern ipxcp_options ipxcp_allowoptions[];
-extern ipxcp_options ipxcp_hisoptions[];
-
-extern struct protent ipxcp_protent;
diff --git a/mdk-stage1/ppp/pppd/lcp.c b/mdk-stage1/ppp/pppd/lcp.c
deleted file mode 100644
index 41c58cad5..000000000
--- a/mdk-stage1/ppp/pppd/lcp.c
+++ /dev/null
@@ -1,2224 +0,0 @@
-/*
- * lcp.c - PPP Link Control Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "chap.h"
-#include "magic.h"
-
-static const char rcsid[] = RCSID;
-
-/*
- * When the link comes up we want to be able to wait for a short while,
- * or until seeing some input from the peer, before starting to send
- * configure-requests. We do this by delaying the fsm_lowerup call.
- */
-/* steal a bit in fsm flags word */
-#define DELAYED_UP 0x100
-
-static void lcp_delayed_up __P((void *));
-
-/*
- * LCP-related command-line options.
- */
-int lcp_echo_interval = 0; /* Interval between LCP echo-requests */
-int lcp_echo_fails = 0; /* Tolerance to unanswered echo-requests */
-bool lax_recv = 0; /* accept control chars in asyncmap */
-bool noendpoint = 0; /* don't send/accept endpoint discriminator */
-
-static int noopt __P((char **));
-
-#ifdef HAVE_MULTILINK
-static int setendpoint __P((char **));
-static void printendpoint __P((option_t *, void (*)(void *, char *, ...),
- void *));
-#endif /* HAVE_MULTILINK */
-
-static option_t lcp_option_list[] = {
- /* LCP options */
- { "-all", o_special_noarg, (void *)noopt,
- "Don't request/allow any LCP options" },
-
- { "noaccomp", o_bool, &lcp_wantoptions[0].neg_accompression,
- "Disable address/control compression",
- OPT_A2CLR, &lcp_allowoptions[0].neg_accompression },
- { "-ac", o_bool, &lcp_wantoptions[0].neg_accompression,
- "Disable address/control compression",
- OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_accompression },
-
- { "asyncmap", o_uint32, &lcp_wantoptions[0].asyncmap,
- "Set asyncmap (for received packets)",
- OPT_OR, &lcp_wantoptions[0].neg_asyncmap },
- { "-as", o_uint32, &lcp_wantoptions[0].asyncmap,
- "Set asyncmap (for received packets)",
- OPT_ALIAS | OPT_OR, &lcp_wantoptions[0].neg_asyncmap },
- { "default-asyncmap", o_uint32, &lcp_wantoptions[0].asyncmap,
- "Disable asyncmap negotiation",
- OPT_OR | OPT_NOARG | OPT_VAL(~0U) | OPT_A2CLR,
- &lcp_allowoptions[0].neg_asyncmap },
- { "-am", o_uint32, &lcp_wantoptions[0].asyncmap,
- "Disable asyncmap negotiation",
- OPT_ALIAS | OPT_OR | OPT_NOARG | OPT_VAL(~0U) | OPT_A2CLR,
- &lcp_allowoptions[0].neg_asyncmap },
-
- { "nomagic", o_bool, &lcp_wantoptions[0].neg_magicnumber,
- "Disable magic number negotiation (looped-back line detection)",
- OPT_A2CLR, &lcp_allowoptions[0].neg_magicnumber },
- { "-mn", o_bool, &lcp_wantoptions[0].neg_magicnumber,
- "Disable magic number negotiation (looped-back line detection)",
- OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_magicnumber },
-
- { "mru", o_int, &lcp_wantoptions[0].mru,
- "Set MRU (maximum received packet size) for negotiation",
- OPT_PRIO, &lcp_wantoptions[0].neg_mru },
- { "default-mru", o_bool, &lcp_wantoptions[0].neg_mru,
- "Disable MRU negotiation (use default 1500)",
- OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_mru },
- { "-mru", o_bool, &lcp_wantoptions[0].neg_mru,
- "Disable MRU negotiation (use default 1500)",
- OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_mru },
-
- { "mtu", o_int, &lcp_allowoptions[0].mru,
- "Set our MTU", OPT_LIMITS, NULL, MAXMRU, MINMRU },
-
- { "nopcomp", o_bool, &lcp_wantoptions[0].neg_pcompression,
- "Disable protocol field compression",
- OPT_A2CLR, &lcp_allowoptions[0].neg_pcompression },
- { "-pc", o_bool, &lcp_wantoptions[0].neg_pcompression,
- "Disable protocol field compression",
- OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_pcompression },
-
- { "passive", o_bool, &lcp_wantoptions[0].passive,
- "Set passive mode", 1 },
- { "-p", o_bool, &lcp_wantoptions[0].passive,
- "Set passive mode", OPT_ALIAS | 1 },
-
- { "silent", o_bool, &lcp_wantoptions[0].silent,
- "Set silent mode", 1 },
-
- { "lcp-echo-failure", o_int, &lcp_echo_fails,
- "Set number of consecutive echo failures to indicate link failure",
- OPT_PRIO },
- { "lcp-echo-interval", o_int, &lcp_echo_interval,
- "Set time in seconds between LCP echo requests", OPT_PRIO },
- { "lcp-restart", o_int, &lcp_fsm[0].timeouttime,
- "Set time in seconds between LCP retransmissions", OPT_PRIO },
- { "lcp-max-terminate", o_int, &lcp_fsm[0].maxtermtransmits,
- "Set maximum number of LCP terminate-request transmissions", OPT_PRIO },
- { "lcp-max-configure", o_int, &lcp_fsm[0].maxconfreqtransmits,
- "Set maximum number of LCP configure-request transmissions", OPT_PRIO },
- { "lcp-max-failure", o_int, &lcp_fsm[0].maxnakloops,
- "Set limit on number of LCP configure-naks", OPT_PRIO },
-
- { "receive-all", o_bool, &lax_recv,
- "Accept all received control characters", 1 },
-
-#ifdef HAVE_MULTILINK
- { "mrru", o_int, &lcp_wantoptions[0].mrru,
- "Maximum received packet size for multilink bundle",
- OPT_PRIO, &lcp_wantoptions[0].neg_mrru },
-
- { "mpshortseq", o_bool, &lcp_wantoptions[0].neg_ssnhf,
- "Use short sequence numbers in multilink headers",
- OPT_PRIO | 1, &lcp_allowoptions[0].neg_ssnhf },
- { "nompshortseq", o_bool, &lcp_wantoptions[0].neg_ssnhf,
- "Don't use short sequence numbers in multilink headers",
- OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_ssnhf },
-
- { "endpoint", o_special, (void *) setendpoint,
- "Endpoint discriminator for multilink",
- OPT_PRIO | OPT_A2PRINTER, (void *) printendpoint },
-#endif /* HAVE_MULTILINK */
-
- { "noendpoint", o_bool, &noendpoint,
- "Don't send or accept multilink endpoint discriminator", 1 },
-
- {NULL}
-};
-
-/* global vars */
-fsm lcp_fsm[NUM_PPP]; /* LCP fsm structure (global)*/
-lcp_options lcp_wantoptions[NUM_PPP]; /* Options that we want to request */
-lcp_options lcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
-lcp_options lcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
-lcp_options lcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
-
-static int lcp_echos_pending = 0; /* Number of outstanding echo msgs */
-static int lcp_echo_number = 0; /* ID number of next echo frame */
-static int lcp_echo_timer_running = 0; /* set if a timer is running */
-
-static u_char nak_buffer[PPP_MRU]; /* where we construct a nak packet */
-
-/*
- * Callbacks for fsm code. (CI = Configuration Information)
- */
-static void lcp_resetci __P((fsm *)); /* Reset our CI */
-static int lcp_cilen __P((fsm *)); /* Return length of our CI */
-static void lcp_addci __P((fsm *, u_char *, int *)); /* Add our CI to pkt */
-static int lcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
-static int lcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
-static int lcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
-static int lcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv peer CI */
-static void lcp_up __P((fsm *)); /* We're UP */
-static void lcp_down __P((fsm *)); /* We're DOWN */
-static void lcp_starting __P((fsm *)); /* We need lower layer up */
-static void lcp_finished __P((fsm *)); /* We need lower layer down */
-static int lcp_extcode __P((fsm *, int, int, u_char *, int));
-static void lcp_rprotrej __P((fsm *, u_char *, int));
-
-/*
- * routines to send LCP echos to peer
- */
-
-static void lcp_echo_lowerup __P((int));
-static void lcp_echo_lowerdown __P((int));
-static void LcpEchoTimeout __P((void *));
-static void lcp_received_echo_reply __P((fsm *, int, u_char *, int));
-static void LcpSendEchoRequest __P((fsm *));
-static void LcpLinkFailure __P((fsm *));
-static void LcpEchoCheck __P((fsm *));
-
-static fsm_callbacks lcp_callbacks = { /* LCP callback routines */
- lcp_resetci, /* Reset our Configuration Information */
- lcp_cilen, /* Length of our Configuration Information */
- lcp_addci, /* Add our Configuration Information */
- lcp_ackci, /* ACK our Configuration Information */
- lcp_nakci, /* NAK our Configuration Information */
- lcp_rejci, /* Reject our Configuration Information */
- lcp_reqci, /* Request peer's Configuration Information */
- lcp_up, /* Called when fsm reaches OPENED state */
- lcp_down, /* Called when fsm leaves OPENED state */
- lcp_starting, /* Called when we want the lower layer up */
- lcp_finished, /* Called when we want the lower layer down */
- NULL, /* Called when Protocol-Reject received */
- NULL, /* Retransmission is necessary */
- lcp_extcode, /* Called to handle LCP-specific codes */
- "LCP" /* String name of protocol */
-};
-
-/*
- * Protocol entry points.
- * Some of these are called directly.
- */
-
-static void lcp_init __P((int));
-static void lcp_input __P((int, u_char *, int));
-static void lcp_protrej __P((int));
-static int lcp_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-
-struct protent lcp_protent = {
- PPP_LCP,
- lcp_init,
- lcp_input,
- lcp_protrej,
- lcp_lowerup,
- lcp_lowerdown,
- lcp_open,
- lcp_close,
- lcp_printpkt,
- NULL,
- 1,
- "LCP",
- NULL,
- lcp_option_list,
- NULL,
- NULL,
- NULL
-};
-
-int lcp_loopbackfail = DEFLOOPBACKFAIL;
-
-/*
- * Length of each type of configuration option (in octets)
- */
-#define CILEN_VOID 2
-#define CILEN_CHAR 3
-#define CILEN_SHORT 4 /* CILEN_VOID + 2 */
-#define CILEN_CHAP 5 /* CILEN_VOID + 2 + 1 */
-#define CILEN_LONG 6 /* CILEN_VOID + 4 */
-#define CILEN_LQR 8 /* CILEN_VOID + 2 + 4 */
-#define CILEN_CBCP 3
-
-#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
- (x) == CONFNAK ? "NAK" : "REJ")
-
-/*
- * noopt - Disable all options (why?).
- */
-static int
-noopt(argv)
- char **argv;
-{
- BZERO((char *) &lcp_wantoptions[0], sizeof (struct lcp_options));
- BZERO((char *) &lcp_allowoptions[0], sizeof (struct lcp_options));
-
- return (1);
-}
-
-#ifdef HAVE_MULTILINK
-static int
-setendpoint(argv)
- char **argv;
-{
- if (str_to_epdisc(&lcp_wantoptions[0].endpoint, *argv)) {
- lcp_wantoptions[0].neg_endpoint = 1;
- return 1;
- }
- option_error("Can't parse '%s' as an endpoint discriminator", *argv);
- return 0;
-}
-
-static void
-printendpoint(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- printer(arg, "%s", epdisc_to_str(&lcp_wantoptions[0].endpoint));
-}
-#endif /* HAVE_MULTILINK */
-
-/*
- * lcp_init - Initialize LCP.
- */
-static void
-lcp_init(unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
- lcp_options *wo = &lcp_wantoptions[unit];
- lcp_options *ao = &lcp_allowoptions[unit];
-
- f->unit = unit;
- f->protocol = PPP_LCP;
- f->callbacks = &lcp_callbacks;
-
- fsm_init(f);
-
- BZERO(wo, sizeof(*wo));
- wo->neg_mru = 1;
- wo->mru = DEFMRU;
- wo->neg_asyncmap = 1;
- wo->chap_mdtype = CHAP_DIGEST_MD5;
- wo->neg_magicnumber = 1;
- wo->neg_pcompression = 1;
- wo->neg_accompression = 1;
-
- BZERO(ao, sizeof(*ao));
- ao->neg_mru = 1;
- ao->mru = MAXMRU;
- ao->neg_asyncmap = 1;
- ao->neg_chap = 1;
- ao->chap_mdtype = CHAP_DIGEST_MD5;
- ao->neg_upap = 1;
- ao->neg_magicnumber = 1;
- ao->neg_pcompression = 1;
- ao->neg_accompression = 1;
-#ifdef CBCP_SUPPORT
- ao->neg_cbcp = 1;
-#endif
- ao->neg_endpoint = 1;
-}
-
-
-/*
- * lcp_open - LCP is allowed to come up.
- */
-void
-lcp_open(unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
- lcp_options *wo = &lcp_wantoptions[unit];
-
- f->flags &= ~(OPT_PASSIVE | OPT_SILENT);
- if (wo->passive)
- f->flags |= OPT_PASSIVE;
- if (wo->silent)
- f->flags |= OPT_SILENT;
- fsm_open(f);
-}
-
-
-/*
- * lcp_close - Take LCP down.
- */
-void
-lcp_close(unit, reason)
- int unit;
- char *reason;
-{
- fsm *f = &lcp_fsm[unit];
-
- if (phase != PHASE_DEAD)
- new_phase(PHASE_TERMINATE);
- if (f->state == STOPPED && f->flags & (OPT_PASSIVE|OPT_SILENT)) {
- /*
- * This action is not strictly according to the FSM in RFC1548,
- * but it does mean that the program terminates if you do a
- * lcp_close() in passive/silent mode when a connection hasn't
- * been established.
- */
- f->state = CLOSED;
- lcp_finished(f);
-
- } else
- fsm_close(&lcp_fsm[unit], reason);
-}
-
-
-/*
- * lcp_lowerup - The lower layer is up.
- */
-void
-lcp_lowerup(unit)
- int unit;
-{
- lcp_options *wo = &lcp_wantoptions[unit];
- fsm *f = &lcp_fsm[unit];
-
- /*
- * Don't use A/C or protocol compression on transmission,
- * but accept A/C and protocol compressed packets
- * if we are going to ask for A/C and protocol compression.
- */
- ppp_send_config(unit, PPP_MRU, 0xffffffff, 0, 0);
- ppp_recv_config(unit, PPP_MRU, (lax_recv? 0: 0xffffffff),
- wo->neg_pcompression, wo->neg_accompression);
- peer_mru[unit] = PPP_MRU;
-
- if (listen_time != 0) {
- f->flags |= DELAYED_UP;
- timeout(lcp_delayed_up, f, 0, listen_time * 1000);
- } else
- fsm_lowerup(f);
-}
-
-
-/*
- * lcp_lowerdown - The lower layer is down.
- */
-void
-lcp_lowerdown(unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
-
- if (f->flags & DELAYED_UP)
- f->flags &= ~DELAYED_UP;
- else
- fsm_lowerdown(&lcp_fsm[unit]);
-}
-
-
-/*
- * lcp_delayed_up - Bring the lower layer up now.
- */
-static void
-lcp_delayed_up(arg)
- void *arg;
-{
- fsm *f = arg;
-
- if (f->flags & DELAYED_UP) {
- f->flags &= ~DELAYED_UP;
- fsm_lowerup(f);
- }
-}
-
-
-/*
- * lcp_input - Input LCP packet.
- */
-static void
-lcp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm *f = &lcp_fsm[unit];
-
- if (f->flags & DELAYED_UP) {
- f->flags &= ~DELAYED_UP;
- fsm_lowerup(f);
- }
- fsm_input(f, p, len);
-}
-
-
-/*
- * lcp_extcode - Handle a LCP-specific code.
- */
-static int
-lcp_extcode(f, code, id, inp, len)
- fsm *f;
- int code, id;
- u_char *inp;
- int len;
-{
- u_char *magp;
-
- switch( code ){
- case PROTREJ:
- lcp_rprotrej(f, inp, len);
- break;
-
- case ECHOREQ:
- if (f->state != OPENED)
- break;
- magp = inp;
- PUTLONG(lcp_gotoptions[f->unit].magicnumber, magp);
- fsm_sdata(f, ECHOREP, id, inp, len);
- break;
-
- case ECHOREP:
- lcp_received_echo_reply(f, id, inp, len);
- break;
-
- case DISCREQ:
- break;
-
- default:
- return 0;
- }
- return 1;
-}
-
-
-/*
- * lcp_rprotrej - Receive an Protocol-Reject.
- *
- * Figure out which protocol is rejected and inform it.
- */
-static void
-lcp_rprotrej(f, inp, len)
- fsm *f;
- u_char *inp;
- int len;
-{
- int i;
- struct protent *protp;
- u_short prot;
-
- if (len < 2) {
- LCPDEBUG(("lcp_rprotrej: Rcvd short Protocol-Reject packet!"));
- return;
- }
-
- GETSHORT(prot, inp);
-
- /*
- * Protocol-Reject packets received in any state other than the LCP
- * OPENED state SHOULD be silently discarded.
- */
- if( f->state != OPENED ){
- LCPDEBUG(("Protocol-Reject discarded: LCP in state %d", f->state));
- return;
- }
-
- /*
- * Upcall the proper Protocol-Reject routine.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->protocol == prot && protp->enabled_flag) {
- (*protp->protrej)(f->unit);
- return;
- }
-
- warn("Protocol-Reject for unsupported protocol 0x%x", prot);
-}
-
-
-/*
- * lcp_protrej - A Protocol-Reject was received.
- */
-/*ARGSUSED*/
-static void
-lcp_protrej(unit)
- int unit;
-{
- /*
- * Can't reject LCP!
- */
- error("Received Protocol-Reject for LCP!");
- fsm_protreject(&lcp_fsm[unit]);
-}
-
-
-/*
- * lcp_sprotrej - Send a Protocol-Reject for some protocol.
- */
-void
-lcp_sprotrej(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- /*
- * Send back the protocol and the information field of the
- * rejected packet. We only get here if LCP is in the OPENED state.
- */
- p += 2;
- len -= 2;
-
- fsm_sdata(&lcp_fsm[unit], PROTREJ, ++lcp_fsm[unit].id,
- p, len);
-}
-
-
-/*
- * lcp_resetci - Reset our CI.
- */
-static void
-lcp_resetci(f)
- fsm *f;
-{
- lcp_options *wo = &lcp_wantoptions[f->unit];
- lcp_options *go = &lcp_gotoptions[f->unit];
- lcp_options *ao = &lcp_allowoptions[f->unit];
-
- wo->magicnumber = magic();
- wo->numloops = 0;
- *go = *wo;
- if (!multilink) {
- go->neg_mrru = 0;
- go->neg_ssnhf = 0;
- go->neg_endpoint = 0;
- }
- if (noendpoint)
- ao->neg_endpoint = 0;
- peer_mru[f->unit] = PPP_MRU;
- auth_reset(f->unit);
-}
-
-
-/*
- * lcp_cilen - Return length of our CI.
- */
-static int
-lcp_cilen(f)
- fsm *f;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
-
-#define LENCIVOID(neg) ((neg) ? CILEN_VOID : 0)
-#define LENCICHAP(neg) ((neg) ? CILEN_CHAP : 0)
-#define LENCISHORT(neg) ((neg) ? CILEN_SHORT : 0)
-#define LENCILONG(neg) ((neg) ? CILEN_LONG : 0)
-#define LENCILQR(neg) ((neg) ? CILEN_LQR: 0)
-#define LENCICBCP(neg) ((neg) ? CILEN_CBCP: 0)
- /*
- * NB: we only ask for one of CHAP and UPAP, even if we will
- * accept either.
- */
- return (LENCISHORT(go->neg_mru && go->mru != DEFMRU) +
- LENCILONG(go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF) +
- LENCICHAP(go->neg_chap) +
- LENCISHORT(!go->neg_chap && go->neg_upap) +
- LENCILQR(go->neg_lqr) +
- LENCICBCP(go->neg_cbcp) +
- LENCILONG(go->neg_magicnumber) +
- LENCIVOID(go->neg_pcompression) +
- LENCIVOID(go->neg_accompression) +
- LENCISHORT(go->neg_mrru) +
- LENCIVOID(go->neg_ssnhf) +
- (go->neg_endpoint? CILEN_CHAR + go->endpoint.length: 0));
-}
-
-
-/*
- * lcp_addci - Add our desired CIs to a packet.
- */
-static void
-lcp_addci(f, ucp, lenp)
- fsm *f;
- u_char *ucp;
- int *lenp;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- u_char *start_ucp = ucp;
-
-#define ADDCIVOID(opt, neg) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_VOID, ucp); \
- }
-#define ADDCISHORT(opt, neg, val) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_SHORT, ucp); \
- PUTSHORT(val, ucp); \
- }
-#define ADDCICHAP(opt, neg, val, digest) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_CHAP, ucp); \
- PUTSHORT(val, ucp); \
- PUTCHAR(digest, ucp); \
- }
-#define ADDCILONG(opt, neg, val) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_LONG, ucp); \
- PUTLONG(val, ucp); \
- }
-#define ADDCILQR(opt, neg, val) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_LQR, ucp); \
- PUTSHORT(PPP_LQR, ucp); \
- PUTLONG(val, ucp); \
- }
-#define ADDCICHAR(opt, neg, val) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_CHAR, ucp); \
- PUTCHAR(val, ucp); \
- }
-#define ADDCIENDP(opt, neg, class, val, len) \
- if (neg) { \
- int i; \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_CHAR + len, ucp); \
- PUTCHAR(class, ucp); \
- for (i = 0; i < len; ++i) \
- PUTCHAR(val[i], ucp); \
- }
-
- ADDCISHORT(CI_MRU, go->neg_mru && go->mru != DEFMRU, go->mru);
- ADDCILONG(CI_ASYNCMAP, go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF,
- go->asyncmap);
- ADDCICHAP(CI_AUTHTYPE, go->neg_chap, PPP_CHAP, go->chap_mdtype);
- ADDCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, PPP_PAP);
- ADDCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);
- ADDCICHAR(CI_CALLBACK, go->neg_cbcp, CBCP_OPT);
- ADDCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);
- ADDCIVOID(CI_PCOMPRESSION, go->neg_pcompression);
- ADDCIVOID(CI_ACCOMPRESSION, go->neg_accompression);
- ADDCISHORT(CI_MRRU, go->neg_mrru, go->mrru);
- ADDCIVOID(CI_SSNHF, go->neg_ssnhf);
- ADDCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class,
- go->endpoint.value, go->endpoint.length);
-
- if (ucp - start_ucp != *lenp) {
- /* this should never happen, because peer_mtu should be 1500 */
- error("Bug in lcp_addci: wrong length");
- }
-}
-
-
-/*
- * lcp_ackci - Ack our CIs.
- * This should not modify any state if the Ack is bad.
- *
- * Returns:
- * 0 - Ack was bad.
- * 1 - Ack was good.
- */
-static int
-lcp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- u_char cilen, citype, cichar;
- u_short cishort;
- u_int32_t cilong;
-
- /*
- * CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define ACKCIVOID(opt, neg) \
- if (neg) { \
- if ((len -= CILEN_VOID) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_VOID || \
- citype != opt) \
- goto bad; \
- }
-#define ACKCISHORT(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_SHORT) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_SHORT || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != val) \
- goto bad; \
- }
-#define ACKCICHAR(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_CHAR) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_CHAR || \
- citype != opt) \
- goto bad; \
- GETCHAR(cichar, p); \
- if (cichar != val) \
- goto bad; \
- }
-#define ACKCICHAP(opt, neg, val, digest) \
- if (neg) { \
- if ((len -= CILEN_CHAP) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_CHAP || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != val) \
- goto bad; \
- GETCHAR(cichar, p); \
- if (cichar != digest) \
- goto bad; \
- }
-#define ACKCILONG(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_LONG) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_LONG || \
- citype != opt) \
- goto bad; \
- GETLONG(cilong, p); \
- if (cilong != val) \
- goto bad; \
- }
-#define ACKCILQR(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_LQR) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_LQR || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != PPP_LQR) \
- goto bad; \
- GETLONG(cilong, p); \
- if (cilong != val) \
- goto bad; \
- }
-#define ACKCIENDP(opt, neg, class, val, vlen) \
- if (neg) { \
- int i; \
- if ((len -= CILEN_CHAR + vlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_CHAR + vlen || \
- citype != opt) \
- goto bad; \
- GETCHAR(cichar, p); \
- if (cichar != class) \
- goto bad; \
- for (i = 0; i < vlen; ++i) { \
- GETCHAR(cichar, p); \
- if (cichar != val[i]) \
- goto bad; \
- } \
- }
-
- ACKCISHORT(CI_MRU, go->neg_mru && go->mru != DEFMRU, go->mru);
- ACKCILONG(CI_ASYNCMAP, go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF,
- go->asyncmap);
- ACKCICHAP(CI_AUTHTYPE, go->neg_chap, PPP_CHAP, go->chap_mdtype);
- ACKCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, PPP_PAP);
- ACKCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);
- ACKCICHAR(CI_CALLBACK, go->neg_cbcp, CBCP_OPT);
- ACKCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);
- ACKCIVOID(CI_PCOMPRESSION, go->neg_pcompression);
- ACKCIVOID(CI_ACCOMPRESSION, go->neg_accompression);
- ACKCISHORT(CI_MRRU, go->neg_mrru, go->mrru);
- ACKCIVOID(CI_SSNHF, go->neg_ssnhf);
- ACKCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class,
- go->endpoint.value, go->endpoint.length);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- return (1);
-bad:
- LCPDEBUG(("lcp_acki: received bad Ack!"));
- return (0);
-}
-
-
-/*
- * lcp_nakci - Peer has sent a NAK for some of our CIs.
- * This should not modify any state if the Nak is bad
- * or if LCP is in the OPENED state.
- *
- * Returns:
- * 0 - Nak was bad.
- * 1 - Nak was good.
- */
-static int
-lcp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- lcp_options *wo = &lcp_wantoptions[f->unit];
- u_char citype, cichar, *next;
- u_short cishort;
- u_int32_t cilong;
- lcp_options no; /* options we've seen Naks for */
- lcp_options try; /* options to request next time */
- int looped_back = 0;
- int cilen;
-
- BZERO(&no, sizeof(no));
- try = *go;
-
- /*
- * Any Nak'd CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define NAKCIVOID(opt, neg) \
- if (go->neg && \
- len >= CILEN_VOID && \
- p[1] == CILEN_VOID && \
- p[0] == opt) { \
- len -= CILEN_VOID; \
- INCPTR(CILEN_VOID, p); \
- no.neg = 1; \
- try.neg = 0; \
- }
-#define NAKCICHAP(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_CHAP && \
- p[1] == CILEN_CHAP && \
- p[0] == opt) { \
- len -= CILEN_CHAP; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- GETCHAR(cichar, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCICHAR(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_CHAR && \
- p[1] == CILEN_CHAR && \
- p[0] == opt) { \
- len -= CILEN_CHAR; \
- INCPTR(2, p); \
- GETCHAR(cichar, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCISHORT(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_SHORT && \
- p[1] == CILEN_SHORT && \
- p[0] == opt) { \
- len -= CILEN_SHORT; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCILONG(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_LONG && \
- p[1] == CILEN_LONG && \
- p[0] == opt) { \
- len -= CILEN_LONG; \
- INCPTR(2, p); \
- GETLONG(cilong, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCILQR(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_LQR && \
- p[1] == CILEN_LQR && \
- p[0] == opt) { \
- len -= CILEN_LQR; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- GETLONG(cilong, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCIENDP(opt, neg) \
- if (go->neg && \
- len >= CILEN_CHAR && \
- p[0] == opt && \
- p[1] >= CILEN_CHAR && \
- p[1] <= len) { \
- len -= p[1]; \
- INCPTR(p[1], p); \
- no.neg = 1; \
- try.neg = 0; \
- }
-
- /*
- * We don't care if they want to send us smaller packets than
- * we want. Therefore, accept any MRU less than what we asked for,
- * but then ignore the new value when setting the MRU in the kernel.
- * If they send us a bigger MRU than what we asked, accept it, up to
- * the limit of the default MRU we'd get if we didn't negotiate.
- */
- if (go->neg_mru && go->mru != DEFMRU) {
- NAKCISHORT(CI_MRU, neg_mru,
- if (cishort <= wo->mru || cishort <= DEFMRU)
- try.mru = cishort;
- );
- }
-
- /*
- * Add any characters they want to our (receive-side) asyncmap.
- */
- if (go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF) {
- NAKCILONG(CI_ASYNCMAP, neg_asyncmap,
- try.asyncmap = go->asyncmap | cilong;
- );
- }
-
- /*
- * If they've nak'd our authentication-protocol, check whether
- * they are proposing a different protocol, or a different
- * hash algorithm for CHAP.
- */
- if ((go->neg_chap || go->neg_upap)
- && len >= CILEN_SHORT
- && p[0] == CI_AUTHTYPE && p[1] >= CILEN_SHORT && p[1] <= len) {
- cilen = p[1];
- len -= cilen;
- no.neg_chap = go->neg_chap;
- no.neg_upap = go->neg_upap;
- INCPTR(2, p);
- GETSHORT(cishort, p);
- if (cishort == PPP_PAP && cilen == CILEN_SHORT) {
- /*
- * If we were asking for CHAP, they obviously don't want to do it.
- * If we weren't asking for CHAP, then we were asking for PAP,
- * in which case this Nak is bad.
- */
- if (!go->neg_chap)
- goto bad;
- try.neg_chap = 0;
-
- } else if (cishort == PPP_CHAP && cilen == CILEN_CHAP) {
- GETCHAR(cichar, p);
- if (go->neg_chap) {
- /*
- * We were asking for CHAP/MD5; they must want a different
- * algorithm. If they can't do MD5, we can ask for M$-CHAP
- * if we support it, otherwise we'll have to stop
- * asking for CHAP.
- */
- if (cichar != go->chap_mdtype) {
-#ifdef CHAPMS
- if (cichar == CHAP_MICROSOFT)
- go->chap_mdtype = CHAP_MICROSOFT;
- else
-#endif /* CHAPMS */
- try.neg_chap = 0;
- }
- } else {
- /*
- * Stop asking for PAP if we were asking for it.
- */
- try.neg_upap = 0;
- }
-
- } else {
- /*
- * We don't recognize what they're suggesting.
- * Stop asking for what we were asking for.
- */
- if (go->neg_chap)
- try.neg_chap = 0;
- else
- try.neg_upap = 0;
- p += cilen - CILEN_SHORT;
- }
- }
-
- /*
- * If they can't cope with our link quality protocol, we'll have
- * to stop asking for LQR. We haven't got any other protocol.
- * If they Nak the reporting period, take their value XXX ?
- */
- NAKCILQR(CI_QUALITY, neg_lqr,
- if (cishort != PPP_LQR)
- try.neg_lqr = 0;
- else
- try.lqr_period = cilong;
- );
-
- /*
- * Only implementing CBCP...not the rest of the callback options
- */
- NAKCICHAR(CI_CALLBACK, neg_cbcp,
- try.neg_cbcp = 0;
- );
-
- /*
- * Check for a looped-back line.
- */
- NAKCILONG(CI_MAGICNUMBER, neg_magicnumber,
- try.magicnumber = magic();
- looped_back = 1;
- );
-
- /*
- * Peer shouldn't send Nak for protocol compression or
- * address/control compression requests; they should send
- * a Reject instead. If they send a Nak, treat it as a Reject.
- */
- NAKCIVOID(CI_PCOMPRESSION, neg_pcompression);
- NAKCIVOID(CI_ACCOMPRESSION, neg_accompression);
-
- /*
- * Nak for MRRU option - accept their value if it is smaller
- * than the one we want.
- */
- if (go->neg_mrru) {
- NAKCISHORT(CI_MRRU, neg_mrru,
- if (cishort <= wo->mrru)
- try.mrru = cishort;
- );
- }
-
- /*
- * Nak for short sequence numbers shouldn't be sent, treat it
- * like a reject.
- */
- NAKCIVOID(CI_SSNHF, neg_ssnhf);
-
- /*
- * Nak of the endpoint discriminator option is not permitted,
- * treat it like a reject.
- */
- NAKCIENDP(CI_EPDISC, neg_endpoint);
-
- /*
- * There may be remaining CIs, if the peer is requesting negotiation
- * on an option that we didn't include in our request packet.
- * If we see an option that we requested, or one we've already seen
- * in this packet, then this packet is bad.
- * If we wanted to respond by starting to negotiate on the requested
- * option(s), we could, but we don't, because except for the
- * authentication type and quality protocol, if we are not negotiating
- * an option, it is because we were told not to.
- * For the authentication type, the Nak from the peer means
- * `let me authenticate myself with you' which is a bit pointless.
- * For the quality protocol, the Nak means `ask me to send you quality
- * reports', but if we didn't ask for them, we don't want them.
- * An option we don't recognize represents the peer asking to
- * negotiate some option we don't support, so ignore it.
- */
- while (len > CILEN_VOID) {
- GETCHAR(citype, p);
- GETCHAR(cilen, p);
- if (cilen < CILEN_VOID || (len -= cilen) < 0)
- goto bad;
- next = p + cilen - 2;
-
- switch (citype) {
- case CI_MRU:
- if ((go->neg_mru && go->mru != DEFMRU)
- || no.neg_mru || cilen != CILEN_SHORT)
- goto bad;
- GETSHORT(cishort, p);
- if (cishort < DEFMRU) {
- try.neg_mru = 1;
- try.mru = cishort;
- }
- break;
- case CI_ASYNCMAP:
- if ((go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF)
- || no.neg_asyncmap || cilen != CILEN_LONG)
- goto bad;
- break;
- case CI_AUTHTYPE:
- if (go->neg_chap || no.neg_chap || go->neg_upap || no.neg_upap)
- goto bad;
- break;
- case CI_MAGICNUMBER:
- if (go->neg_magicnumber || no.neg_magicnumber ||
- cilen != CILEN_LONG)
- goto bad;
- break;
- case CI_PCOMPRESSION:
- if (go->neg_pcompression || no.neg_pcompression
- || cilen != CILEN_VOID)
- goto bad;
- break;
- case CI_ACCOMPRESSION:
- if (go->neg_accompression || no.neg_accompression
- || cilen != CILEN_VOID)
- goto bad;
- break;
- case CI_QUALITY:
- if (go->neg_lqr || no.neg_lqr || cilen != CILEN_LQR)
- goto bad;
- break;
- case CI_MRRU:
- if (go->neg_mrru || no.neg_mrru || cilen != CILEN_SHORT)
- goto bad;
- break;
- case CI_SSNHF:
- if (go->neg_ssnhf || no.neg_ssnhf || cilen != CILEN_VOID)
- goto bad;
- try.neg_ssnhf = 1;
- break;
- case CI_EPDISC:
- if (go->neg_endpoint || no.neg_endpoint || cilen < CILEN_CHAR)
- goto bad;
- break;
- }
- p = next;
- }
-
- /*
- * OK, the Nak is good. Now we can update state.
- * If there are any options left we ignore them.
- */
- if (f->state != OPENED) {
- if (looped_back) {
- if (++try.numloops >= lcp_loopbackfail) {
- notice("Serial line is looped back.");
- lcp_close(f->unit, "Loopback detected");
- status = EXIT_LOOPBACK;
- }
- } else
- try.numloops = 0;
- *go = try;
- }
-
- return 1;
-
-bad:
- LCPDEBUG(("lcp_nakci: received bad Nak!"));
- return 0;
-}
-
-
-/*
- * lcp_rejci - Peer has Rejected some of our CIs.
- * This should not modify any state if the Reject is bad
- * or if LCP is in the OPENED state.
- *
- * Returns:
- * 0 - Reject was bad.
- * 1 - Reject was good.
- */
-static int
-lcp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- u_char cichar;
- u_short cishort;
- u_int32_t cilong;
- lcp_options try; /* options to request next time */
-
- try = *go;
-
- /*
- * Any Rejected CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define REJCIVOID(opt, neg) \
- if (go->neg && \
- len >= CILEN_VOID && \
- p[1] == CILEN_VOID && \
- p[0] == opt) { \
- len -= CILEN_VOID; \
- INCPTR(CILEN_VOID, p); \
- try.neg = 0; \
- }
-#define REJCISHORT(opt, neg, val) \
- if (go->neg && \
- len >= CILEN_SHORT && \
- p[1] == CILEN_SHORT && \
- p[0] == opt) { \
- len -= CILEN_SHORT; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- /* Check rejected value. */ \
- if (cishort != val) \
- goto bad; \
- try.neg = 0; \
- }
-#define REJCICHAP(opt, neg, val, digest) \
- if (go->neg && \
- len >= CILEN_CHAP && \
- p[1] == CILEN_CHAP && \
- p[0] == opt) { \
- len -= CILEN_CHAP; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- GETCHAR(cichar, p); \
- /* Check rejected value. */ \
- if (cishort != val || cichar != digest) \
- goto bad; \
- try.neg = 0; \
- try.neg_upap = 0; \
- }
-#define REJCILONG(opt, neg, val) \
- if (go->neg && \
- len >= CILEN_LONG && \
- p[1] == CILEN_LONG && \
- p[0] == opt) { \
- len -= CILEN_LONG; \
- INCPTR(2, p); \
- GETLONG(cilong, p); \
- /* Check rejected value. */ \
- if (cilong != val) \
- goto bad; \
- try.neg = 0; \
- }
-#define REJCILQR(opt, neg, val) \
- if (go->neg && \
- len >= CILEN_LQR && \
- p[1] == CILEN_LQR && \
- p[0] == opt) { \
- len -= CILEN_LQR; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- GETLONG(cilong, p); \
- /* Check rejected value. */ \
- if (cishort != PPP_LQR || cilong != val) \
- goto bad; \
- try.neg = 0; \
- }
-#define REJCICBCP(opt, neg, val) \
- if (go->neg && \
- len >= CILEN_CBCP && \
- p[1] == CILEN_CBCP && \
- p[0] == opt) { \
- len -= CILEN_CBCP; \
- INCPTR(2, p); \
- GETCHAR(cichar, p); \
- /* Check rejected value. */ \
- if (cichar != val) \
- goto bad; \
- try.neg = 0; \
- }
-#define REJCIENDP(opt, neg, class, val, vlen) \
- if (go->neg && \
- len >= CILEN_CHAR + vlen && \
- p[0] == opt && \
- p[1] == CILEN_CHAR + vlen) { \
- int i; \
- len -= CILEN_CHAR + vlen; \
- INCPTR(2, p); \
- GETCHAR(cichar, p); \
- if (cichar != class) \
- goto bad; \
- for (i = 0; i < vlen; ++i) { \
- GETCHAR(cichar, p); \
- if (cichar != val[i]) \
- goto bad; \
- } \
- try.neg = 0; \
- }
-
- REJCISHORT(CI_MRU, neg_mru, go->mru);
- REJCILONG(CI_ASYNCMAP, neg_asyncmap, go->asyncmap);
- REJCICHAP(CI_AUTHTYPE, neg_chap, PPP_CHAP, go->chap_mdtype);
- if (!go->neg_chap) {
- REJCISHORT(CI_AUTHTYPE, neg_upap, PPP_PAP);
- }
- REJCILQR(CI_QUALITY, neg_lqr, go->lqr_period);
- REJCICBCP(CI_CALLBACK, neg_cbcp, CBCP_OPT);
- REJCILONG(CI_MAGICNUMBER, neg_magicnumber, go->magicnumber);
- REJCIVOID(CI_PCOMPRESSION, neg_pcompression);
- REJCIVOID(CI_ACCOMPRESSION, neg_accompression);
- REJCISHORT(CI_MRRU, neg_mrru, go->mrru);
- REJCIVOID(CI_SSNHF, neg_ssnhf);
- REJCIENDP(CI_EPDISC, neg_endpoint, go->endpoint.class,
- go->endpoint.value, go->endpoint.length);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- /*
- * Now we can update state.
- */
- if (f->state != OPENED)
- *go = try;
- return 1;
-
-bad:
- LCPDEBUG(("lcp_rejci: received bad Reject!"));
- return 0;
-}
-
-
-/*
- * lcp_reqci - Check the peer's requested CIs and send appropriate response.
- *
- * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
- * appropriately. If reject_if_disagree is non-zero, doesn't return
- * CONFNAK; returns CONFREJ if it can't return CONFACK.
- */
-static int
-lcp_reqci(f, inp, lenp, reject_if_disagree)
- fsm *f;
- u_char *inp; /* Requested CIs */
- int *lenp; /* Length of requested CIs */
- int reject_if_disagree;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- lcp_options *ho = &lcp_hisoptions[f->unit];
- lcp_options *ao = &lcp_allowoptions[f->unit];
- u_char *cip, *next; /* Pointer to current and next CIs */
- int cilen, citype, cichar; /* Parsed len, type, char value */
- u_short cishort; /* Parsed short value */
- u_int32_t cilong; /* Parse long value */
- int rc = CONFACK; /* Final packet return code */
- int orc; /* Individual option return code */
- u_char *p; /* Pointer to next char to parse */
- u_char *rejp; /* Pointer to next char in reject frame */
- u_char *nakp; /* Pointer to next char in Nak frame */
- int l = *lenp; /* Length left */
-
- /*
- * Reset all his options.
- */
- BZERO(ho, sizeof(*ho));
-
- /*
- * Process all his options.
- */
- next = inp;
- nakp = nak_buffer;
- rejp = inp;
- while (l) {
- orc = CONFACK; /* Assume success */
- cip = p = next; /* Remember begining of CI */
- if (l < 2 || /* Not enough data for CI header or */
- p[1] < 2 || /* CI length too small or */
- p[1] > l) { /* CI length too big? */
- LCPDEBUG(("lcp_reqci: bad CI length!"));
- orc = CONFREJ; /* Reject bad CI */
- cilen = l; /* Reject till end of packet */
- l = 0; /* Don't loop again */
- citype = 0;
- goto endswitch;
- }
- GETCHAR(citype, p); /* Parse CI type */
- GETCHAR(cilen, p); /* Parse CI length */
- l -= cilen; /* Adjust remaining length */
- next += cilen; /* Step to next CI */
-
- switch (citype) { /* Check CI type */
- case CI_MRU:
- if (!ao->neg_mru || /* Allow option? */
- cilen != CILEN_SHORT) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
- GETSHORT(cishort, p); /* Parse MRU */
-
- /*
- * He must be able to receive at least our minimum.
- * No need to check a maximum. If he sends a large number,
- * we'll just ignore it.
- */
- if (cishort < MINMRU) {
- orc = CONFNAK; /* Nak CI */
- PUTCHAR(CI_MRU, nakp);
- PUTCHAR(CILEN_SHORT, nakp);
- PUTSHORT(MINMRU, nakp); /* Give him a hint */
- break;
- }
- ho->neg_mru = 1; /* Remember he sent MRU */
- ho->mru = cishort; /* And remember value */
- break;
-
- case CI_ASYNCMAP:
- if (!ao->neg_asyncmap ||
- cilen != CILEN_LONG) {
- orc = CONFREJ;
- break;
- }
- GETLONG(cilong, p);
-
- /*
- * Asyncmap must have set at least the bits
- * which are set in lcp_allowoptions[unit].asyncmap.
- */
- if ((ao->asyncmap & ~cilong) != 0) {
- orc = CONFNAK;
- PUTCHAR(CI_ASYNCMAP, nakp);
- PUTCHAR(CILEN_LONG, nakp);
- PUTLONG(ao->asyncmap | cilong, nakp);
- break;
- }
- ho->neg_asyncmap = 1;
- ho->asyncmap = cilong;
- break;
-
- case CI_AUTHTYPE:
- if (cilen < CILEN_SHORT ||
- !(ao->neg_upap || ao->neg_chap)) {
- /*
- * Reject the option if we're not willing to authenticate.
- */
- orc = CONFREJ;
- break;
- }
- GETSHORT(cishort, p);
-
- /*
- * Authtype must be PAP or CHAP.
- *
- * Note: if both ao->neg_upap and ao->neg_chap are set,
- * and the peer sends a Configure-Request with two
- * authenticate-protocol requests, one for CHAP and one
- * for UPAP, then we will reject the second request.
- * Whether we end up doing CHAP or UPAP depends then on
- * the ordering of the CIs in the peer's Configure-Request.
- */
-
- if (cishort == PPP_PAP) {
- if (ho->neg_chap || /* we've already accepted CHAP */
- cilen != CILEN_SHORT) {
- LCPDEBUG(("lcp_reqci: rcvd AUTHTYPE PAP, rejecting..."));
- orc = CONFREJ;
- break;
- }
- if (!ao->neg_upap) { /* we don't want to do PAP */
- orc = CONFNAK; /* NAK it and suggest CHAP */
- PUTCHAR(CI_AUTHTYPE, nakp);
- PUTCHAR(CILEN_CHAP, nakp);
- PUTSHORT(PPP_CHAP, nakp);
- PUTCHAR(ao->chap_mdtype, nakp);
- /* XXX if we can do CHAP_MICROSOFT as well, we should
- probably put in another option saying so */
- break;
- }
- ho->neg_upap = 1;
- break;
- }
- if (cishort == PPP_CHAP) {
- if (ho->neg_upap || /* we've already accepted PAP */
- cilen != CILEN_CHAP) {
- LCPDEBUG(("lcp_reqci: rcvd AUTHTYPE CHAP, rejecting..."));
- orc = CONFREJ;
- break;
- }
- if (!ao->neg_chap) { /* we don't want to do CHAP */
- orc = CONFNAK; /* NAK it and suggest PAP */
- PUTCHAR(CI_AUTHTYPE, nakp);
- PUTCHAR(CILEN_SHORT, nakp);
- PUTSHORT(PPP_PAP, nakp);
- break;
- }
- GETCHAR(cichar, p); /* get digest type*/
- if (cichar != CHAP_DIGEST_MD5
-#ifdef CHAPMS
- && cichar != CHAP_MICROSOFT
-#endif
- ) {
- orc = CONFNAK;
- PUTCHAR(CI_AUTHTYPE, nakp);
- PUTCHAR(CILEN_CHAP, nakp);
- PUTSHORT(PPP_CHAP, nakp);
- PUTCHAR(ao->chap_mdtype, nakp);
- break;
- }
- ho->chap_mdtype = cichar; /* save md type */
- ho->neg_chap = 1;
- break;
- }
-
- /*
- * We don't recognize the protocol they're asking for.
- * Nak it with something we're willing to do.
- * (At this point we know ao->neg_upap || ao->neg_chap.)
- */
- orc = CONFNAK;
- PUTCHAR(CI_AUTHTYPE, nakp);
- if (ao->neg_chap) {
- PUTCHAR(CILEN_CHAP, nakp);
- PUTSHORT(PPP_CHAP, nakp);
- PUTCHAR(ao->chap_mdtype, nakp);
- } else {
- PUTCHAR(CILEN_SHORT, nakp);
- PUTSHORT(PPP_PAP, nakp);
- }
- break;
-
- case CI_QUALITY:
- if (!ao->neg_lqr ||
- cilen != CILEN_LQR) {
- orc = CONFREJ;
- break;
- }
-
- GETSHORT(cishort, p);
- GETLONG(cilong, p);
-
- /*
- * Check the protocol and the reporting period.
- * XXX When should we Nak this, and what with?
- */
- if (cishort != PPP_LQR) {
- orc = CONFNAK;
- PUTCHAR(CI_QUALITY, nakp);
- PUTCHAR(CILEN_LQR, nakp);
- PUTSHORT(PPP_LQR, nakp);
- PUTLONG(ao->lqr_period, nakp);
- break;
- }
- break;
-
- case CI_MAGICNUMBER:
- if (!(ao->neg_magicnumber || go->neg_magicnumber) ||
- cilen != CILEN_LONG) {
- orc = CONFREJ;
- break;
- }
- GETLONG(cilong, p);
-
- /*
- * He must have a different magic number.
- */
- if (go->neg_magicnumber &&
- cilong == go->magicnumber) {
- cilong = magic(); /* Don't put magic() inside macro! */
- orc = CONFNAK;
- PUTCHAR(CI_MAGICNUMBER, nakp);
- PUTCHAR(CILEN_LONG, nakp);
- PUTLONG(cilong, nakp);
- break;
- }
- ho->neg_magicnumber = 1;
- ho->magicnumber = cilong;
- break;
-
-
- case CI_PCOMPRESSION:
- if (!ao->neg_pcompression ||
- cilen != CILEN_VOID) {
- orc = CONFREJ;
- break;
- }
- ho->neg_pcompression = 1;
- break;
-
- case CI_ACCOMPRESSION:
- if (!ao->neg_accompression ||
- cilen != CILEN_VOID) {
- orc = CONFREJ;
- break;
- }
- ho->neg_accompression = 1;
- break;
-
- case CI_MRRU:
- if (!ao->neg_mrru || !multilink ||
- cilen != CILEN_SHORT) {
- orc = CONFREJ;
- break;
- }
-
- GETSHORT(cishort, p);
- /* possibly should insist on a minimum/maximum MRRU here */
- ho->neg_mrru = 1;
- ho->mrru = cishort;
- break;
-
- case CI_SSNHF:
- if (!ao->neg_ssnhf || !multilink ||
- cilen != CILEN_VOID) {
- orc = CONFREJ;
- break;
- }
- ho->neg_ssnhf = 1;
- break;
-
- case CI_EPDISC:
- if (!ao->neg_endpoint ||
- cilen < CILEN_CHAR ||
- cilen > CILEN_CHAR + MAX_ENDP_LEN) {
- orc = CONFREJ;
- break;
- }
- GETCHAR(cichar, p);
- cilen -= CILEN_CHAR;
- ho->neg_endpoint = 1;
- ho->endpoint.class = cichar;
- ho->endpoint.length = cilen;
- BCOPY(p, ho->endpoint.value, cilen);
- INCPTR(cilen, p);
- break;
-
- default:
- LCPDEBUG(("lcp_reqci: rcvd unknown option %d", citype));
- orc = CONFREJ;
- break;
- }
-
-endswitch:
- if (orc == CONFACK && /* Good CI */
- rc != CONFACK) /* but prior CI wasnt? */
- continue; /* Don't send this one */
-
- if (orc == CONFNAK) { /* Nak this CI? */
- if (reject_if_disagree /* Getting fed up with sending NAKs? */
- && citype != CI_MAGICNUMBER) {
- orc = CONFREJ; /* Get tough if so */
- } else {
- if (rc == CONFREJ) /* Rejecting prior CI? */
- continue; /* Don't send this one */
- rc = CONFNAK;
- }
- }
- if (orc == CONFREJ) { /* Reject this CI */
- rc = CONFREJ;
- if (cip != rejp) /* Need to move rejected CI? */
- BCOPY(cip, rejp, cilen); /* Move it */
- INCPTR(cilen, rejp); /* Update output pointer */
- }
- }
-
- /*
- * If we wanted to send additional NAKs (for unsent CIs), the
- * code would go here. The extra NAKs would go at *nakp.
- * At present there are no cases where we want to ask the
- * peer to negotiate an option.
- */
-
- switch (rc) {
- case CONFACK:
- *lenp = next - inp;
- break;
- case CONFNAK:
- /*
- * Copy the Nak'd options from the nak_buffer to the caller's buffer.
- */
- *lenp = nakp - nak_buffer;
- BCOPY(nak_buffer, inp, *lenp);
- break;
- case CONFREJ:
- *lenp = rejp - inp;
- break;
- }
-
- LCPDEBUG(("lcp_reqci: returning CONF%s.", CODENAME(rc)));
- return (rc); /* Return final code */
-}
-
-
-/*
- * lcp_up - LCP has come UP.
- */
-static void
-lcp_up(f)
- fsm *f;
-{
- lcp_options *wo = &lcp_wantoptions[f->unit];
- lcp_options *ho = &lcp_hisoptions[f->unit];
- lcp_options *go = &lcp_gotoptions[f->unit];
- lcp_options *ao = &lcp_allowoptions[f->unit];
- int mtu;
-
- if (!go->neg_magicnumber)
- go->magicnumber = 0;
- if (!ho->neg_magicnumber)
- ho->magicnumber = 0;
-
- /*
- * Set our MTU to the smaller of the MTU we wanted and
- * the MRU our peer wanted. If we negotiated an MRU,
- * set our MRU to the larger of value we wanted and
- * the value we got in the negotiation.
- * Note on the MTU: the link MTU can be the MRU the peer wanted,
- * the interface MTU is set to the lower of that and the
- * MTU we want to use.
- */
- mtu = ho->neg_mru? ho->mru: PPP_MRU;
-#ifdef HAVE_MULTILINK
- if (!(multilink && go->neg_mrru && ho->neg_mrru))
-#endif /* HAVE_MULTILINK */
- netif_set_mtu(f->unit, MIN(mtu, ao->mru));
- ppp_send_config(f->unit, mtu,
- (ho->neg_asyncmap? ho->asyncmap: 0xffffffff),
- ho->neg_pcompression, ho->neg_accompression);
- ppp_recv_config(f->unit, (go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU),
- (lax_recv? 0: go->neg_asyncmap? go->asyncmap: 0xffffffff),
- go->neg_pcompression, go->neg_accompression);
-
- if (ho->neg_mru)
- peer_mru[f->unit] = ho->mru;
-
- lcp_echo_lowerup(f->unit); /* Enable echo messages */
-
- link_established(f->unit);
-}
-
-
-/*
- * lcp_down - LCP has gone DOWN.
- *
- * Alert other protocols.
- */
-static void
-lcp_down(f)
- fsm *f;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
-
- lcp_echo_lowerdown(f->unit);
-
- link_down(f->unit);
-
- ppp_send_config(f->unit, PPP_MRU, 0xffffffff, 0, 0);
- ppp_recv_config(f->unit, PPP_MRU,
- (go->neg_asyncmap? go->asyncmap: 0xffffffff),
- go->neg_pcompression, go->neg_accompression);
- peer_mru[f->unit] = PPP_MRU;
-}
-
-
-/*
- * lcp_starting - LCP needs the lower layer up.
- */
-static void
-lcp_starting(f)
- fsm *f;
-{
- link_required(f->unit);
-}
-
-
-/*
- * lcp_finished - LCP has finished with the lower layer.
- */
-static void
-lcp_finished(f)
- fsm *f;
-{
- link_terminated(f->unit);
-}
-
-
-/*
- * lcp_printpkt - print the contents of an LCP packet.
- */
-static char *lcp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej", "ProtRej",
- "EchoReq", "EchoRep", "DiscReq"
-};
-
-static int
-lcp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len, olen, i;
- u_char *pstart, *optend;
- u_short cishort;
- u_int32_t cilong;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(lcp_codenames) / sizeof(char *))
- printer(arg, " %s", lcp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print option list */
- while (len >= 2) {
- GETCHAR(code, p);
- GETCHAR(olen, p);
- p -= 2;
- if (olen < 2 || olen > len) {
- break;
- }
- printer(arg, " <");
- len -= olen;
- optend = p + olen;
- switch (code) {
- case CI_MRU:
- if (olen == CILEN_SHORT) {
- p += 2;
- GETSHORT(cishort, p);
- printer(arg, "mru %d", cishort);
- }
- break;
- case CI_ASYNCMAP:
- if (olen == CILEN_LONG) {
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "asyncmap 0x%x", cilong);
- }
- break;
- case CI_AUTHTYPE:
- if (olen >= CILEN_SHORT) {
- p += 2;
- printer(arg, "auth ");
- GETSHORT(cishort, p);
- switch (cishort) {
- case PPP_PAP:
- printer(arg, "pap");
- break;
- case PPP_CHAP:
- printer(arg, "chap");
- if (p < optend) {
- switch (*p) {
- case CHAP_DIGEST_MD5:
- printer(arg, " MD5");
- ++p;
- break;
-#ifdef CHAPMS
- case CHAP_MICROSOFT:
- printer(arg, " m$oft");
- ++p;
- break;
-#endif
- }
- }
- break;
- default:
- printer(arg, "0x%x", cishort);
- }
- }
- break;
- case CI_QUALITY:
- if (olen >= CILEN_SHORT) {
- p += 2;
- printer(arg, "quality ");
- GETSHORT(cishort, p);
- switch (cishort) {
- case PPP_LQR:
- printer(arg, "lqr");
- break;
- default:
- printer(arg, "0x%x", cishort);
- }
- }
- break;
- case CI_CALLBACK:
- if (olen >= CILEN_CHAR) {
- p += 2;
- printer(arg, "callback ");
- GETCHAR(cishort, p);
- switch (cishort) {
- case CBCP_OPT:
- printer(arg, "CBCP");
- break;
- default:
- printer(arg, "0x%x", cishort);
- }
- }
- break;
- case CI_MAGICNUMBER:
- if (olen == CILEN_LONG) {
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "magic 0x%x", cilong);
- }
- break;
- case CI_PCOMPRESSION:
- if (olen == CILEN_VOID) {
- p += 2;
- printer(arg, "pcomp");
- }
- break;
- case CI_ACCOMPRESSION:
- if (olen == CILEN_VOID) {
- p += 2;
- printer(arg, "accomp");
- }
- break;
- case CI_MRRU:
- if (olen == CILEN_SHORT) {
- p += 2;
- GETSHORT(cishort, p);
- printer(arg, "mrru %d", cishort);
- }
- break;
- case CI_SSNHF:
- if (olen == CILEN_VOID) {
- p += 2;
- printer(arg, "ssnhf");
- }
- break;
- case CI_EPDISC:
-#ifdef HAVE_MULTILINK
- if (olen >= CILEN_CHAR) {
- struct epdisc epd;
- p += 2;
- GETCHAR(epd.class, p);
- epd.length = olen - CILEN_CHAR;
- if (epd.length > MAX_ENDP_LEN)
- epd.length = MAX_ENDP_LEN;
- if (epd.length > 0) {
- BCOPY(p, epd.value, epd.length);
- p += epd.length;
- }
- printer(arg, "endpoint [%s]", epdisc_to_str(&epd));
- }
-#else
- printer(arg, "endpoint");
-#endif
- break;
- }
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- printer(arg, " ");
- print_string((char *)p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
-
- case ECHOREQ:
- case ECHOREP:
- case DISCREQ:
- if (len >= 4) {
- GETLONG(cilong, p);
- printer(arg, " magic=0x%x", cilong);
- p += 4;
- len -= 4;
- }
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (i = 0; i < len && i < 32; ++i) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
- if (i < len) {
- printer(arg, " ...");
- p += len - i;
- }
-
- return p - pstart;
-}
-
-/*
- * Time to shut down the link because there is nothing out there.
- */
-
-static
-void LcpLinkFailure (f)
- fsm *f;
-{
- if (f->state == OPENED) {
- info("No response to %d echo-requests", lcp_echos_pending);
- notice("Serial link appears to be disconnected.");
- lcp_close(f->unit, "Peer not responding");
- status = EXIT_PEER_DEAD;
- }
-}
-
-/*
- * Timer expired for the LCP echo requests from this process.
- */
-
-static void
-LcpEchoCheck (f)
- fsm *f;
-{
- LcpSendEchoRequest (f);
- if (f->state != OPENED)
- return;
-
- /*
- * Start the timer for the next interval.
- */
- if (lcp_echo_timer_running)
- warn("assertion lcp_echo_timer_running==0 failed");
- TIMEOUT (LcpEchoTimeout, f, lcp_echo_interval);
- lcp_echo_timer_running = 1;
-}
-
-/*
- * LcpEchoTimeout - Timer expired on the LCP echo
- */
-
-static void
-LcpEchoTimeout (arg)
- void *arg;
-{
- if (lcp_echo_timer_running != 0) {
- lcp_echo_timer_running = 0;
- LcpEchoCheck ((fsm *) arg);
- }
-}
-
-/*
- * LcpEchoReply - LCP has received a reply to the echo
- */
-
-static void
-lcp_received_echo_reply (f, id, inp, len)
- fsm *f;
- int id;
- u_char *inp;
- int len;
-{
- u_int32_t magic;
-
- /* Check the magic number - don't count replies from ourselves. */
- if (len < 4) {
- dbglog("lcp: received short Echo-Reply, length %d", len);
- return;
- }
- GETLONG(magic, inp);
- if (lcp_gotoptions[f->unit].neg_magicnumber
- && magic == lcp_gotoptions[f->unit].magicnumber) {
- warn("appear to have received our own echo-reply!");
- return;
- }
-
- /* Reset the number of outstanding echo frames */
- lcp_echos_pending = 0;
-}
-
-/*
- * LcpSendEchoRequest - Send an echo request frame to the peer
- */
-
-static void
-LcpSendEchoRequest (f)
- fsm *f;
-{
- u_int32_t lcp_magic;
- u_char pkt[4], *pktp;
-
- /*
- * Detect the failure of the peer at this point.
- */
- if (lcp_echo_fails != 0) {
- if (lcp_echos_pending >= lcp_echo_fails) {
- LcpLinkFailure(f);
- lcp_echos_pending = 0;
- }
- }
-
- /*
- * Make and send the echo request frame.
- */
- if (f->state == OPENED) {
- lcp_magic = lcp_gotoptions[f->unit].magicnumber;
- pktp = pkt;
- PUTLONG(lcp_magic, pktp);
- fsm_sdata(f, ECHOREQ, lcp_echo_number++ & 0xFF, pkt, pktp - pkt);
- ++lcp_echos_pending;
- }
-}
-
-/*
- * lcp_echo_lowerup - Start the timer for the LCP frame
- */
-
-static void
-lcp_echo_lowerup (unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
-
- /* Clear the parameters for generating echo frames */
- lcp_echos_pending = 0;
- lcp_echo_number = 0;
- lcp_echo_timer_running = 0;
-
- /* If a timeout interval is specified then start the timer */
- if (lcp_echo_interval != 0)
- LcpEchoCheck (f);
-}
-
-/*
- * lcp_echo_lowerdown - Stop the timer for the LCP frame
- */
-
-static void
-lcp_echo_lowerdown (unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
-
- if (lcp_echo_timer_running != 0) {
- UNTIMEOUT (LcpEchoTimeout, f);
- lcp_echo_timer_running = 0;
- }
-}
diff --git a/mdk-stage1/ppp/pppd/lcp.h b/mdk-stage1/ppp/pppd/lcp.h
deleted file mode 100644
index b87a9295e..000000000
--- a/mdk-stage1/ppp/pppd/lcp.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * lcp.h - Link Control Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Options.
- */
-#define CI_MRU 1 /* Maximum Receive Unit */
-#define CI_ASYNCMAP 2 /* Async Control Character Map */
-#define CI_AUTHTYPE 3 /* Authentication Type */
-#define CI_QUALITY 4 /* Quality Protocol */
-#define CI_MAGICNUMBER 5 /* Magic Number */
-#define CI_PCOMPRESSION 7 /* Protocol Field Compression */
-#define CI_ACCOMPRESSION 8 /* Address/Control Field Compression */
-#define CI_CALLBACK 13 /* callback */
-#define CI_MRRU 17 /* max reconstructed receive unit; multilink */
-#define CI_SSNHF 18 /* short sequence numbers for multilink */
-#define CI_EPDISC 19 /* endpoint discriminator */
-
-/*
- * LCP-specific packet types.
- */
-#define PROTREJ 8 /* Protocol Reject */
-#define ECHOREQ 9 /* Echo Request */
-#define ECHOREP 10 /* Echo Reply */
-#define DISCREQ 11 /* Discard Request */
-#define CBCP_OPT 6 /* Use callback control protocol */
-
-/*
- * The state of options is described by an lcp_options structure.
- */
-typedef struct lcp_options {
- bool passive; /* Don't die if we don't get a response */
- bool silent; /* Wait for the other end to start first */
- bool restart; /* Restart vs. exit after close */
- bool neg_mru; /* Negotiate the MRU? */
- bool neg_asyncmap; /* Negotiate the async map? */
- bool neg_upap; /* Ask for UPAP authentication? */
- bool neg_chap; /* Ask for CHAP authentication? */
- bool neg_magicnumber; /* Ask for magic number? */
- bool neg_pcompression; /* HDLC Protocol Field Compression? */
- bool neg_accompression; /* HDLC Address/Control Field Compression? */
- bool neg_lqr; /* Negotiate use of Link Quality Reports */
- bool neg_cbcp; /* Negotiate use of CBCP */
- bool neg_mrru; /* negotiate multilink MRRU */
- bool neg_ssnhf; /* negotiate short sequence numbers */
- bool neg_endpoint; /* negotiate endpoint discriminator */
- int mru; /* Value of MRU */
- int mrru; /* Value of MRRU, and multilink enable */
- u_char chap_mdtype; /* which MD type (hashing algorithm) */
- u_int32_t asyncmap; /* Value of async map */
- u_int32_t magicnumber;
- int numloops; /* Number of loops during magic number neg. */
- u_int32_t lqr_period; /* Reporting period for LQR 1/100ths second */
- struct epdisc endpoint; /* endpoint discriminator */
-} lcp_options;
-
-extern fsm lcp_fsm[];
-extern lcp_options lcp_wantoptions[];
-extern lcp_options lcp_gotoptions[];
-extern lcp_options lcp_allowoptions[];
-extern lcp_options lcp_hisoptions[];
-
-#define DEFMRU 1500 /* Try for this */
-#define MINMRU 128 /* No MRUs below this */
-#define MAXMRU 16384 /* Normally limit MRU to this */
-
-void lcp_open __P((int));
-void lcp_close __P((int, char *));
-void lcp_lowerup __P((int));
-void lcp_lowerdown __P((int));
-void lcp_sprotrej __P((int, u_char *, int)); /* send protocol reject */
-
-extern struct protent lcp_protent;
-
-/* Default number of times we receive our magic number from the peer
- before deciding the link is looped-back. */
-#define DEFLOOPBACKFAIL 10
diff --git a/mdk-stage1/ppp/pppd/magic.c b/mdk-stage1/ppp/pppd/magic.c
deleted file mode 100644
index 764692a16..000000000
--- a/mdk-stage1/ppp/pppd/magic.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * magic.c - PPP Magic Number routines.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include "pppd.h"
-#include "magic.h"
-
-static const char rcsid[] = RCSID;
-
-extern long mrand48 __P((void));
-extern void srand48 __P((long));
-
-/*
- * magic_init - Initialize the magic number generator.
- *
- * Attempts to compute a random number seed which will not repeat.
- * The current method uses the current hostid, current process ID
- * and current time, currently.
- */
-void
-magic_init()
-{
- long seed;
- struct timeval t;
-
- gettimeofday(&t, NULL);
- seed = get_host_seed() ^ t.tv_sec ^ t.tv_usec ^ getpid();
- srand48(seed);
-}
-
-/*
- * magic - Returns the next magic number.
- */
-u_int32_t
-magic()
-{
- return (u_int32_t) mrand48();
-}
-
-#ifdef NO_DRAND48
-/*
- * Substitute procedures for those systems which don't have
- * drand48 et al.
- */
-
-double
-drand48()
-{
- return (double)random() / (double)0x7fffffffL; /* 2**31-1 */
-}
-
-long
-mrand48()
-{
- return random();
-}
-
-void
-srand48(seedval)
-long seedval;
-{
- srandom((int)seedval);
-}
-
-#endif
diff --git a/mdk-stage1/ppp/pppd/magic.h b/mdk-stage1/ppp/pppd/magic.h
deleted file mode 100644
index 1344626a3..000000000
--- a/mdk-stage1/ppp/pppd/magic.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * magic.h - PPP Magic Number definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-void magic_init __P((void)); /* Initialize the magic number generator */
-u_int32_t magic __P((void)); /* Returns the next magic number */
diff --git a/mdk-stage1/ppp/pppd/main.c b/mdk-stage1/ppp/pppd/main.c
deleted file mode 100644
index 8789d3b1d..000000000
--- a/mdk-stage1/ppp/pppd/main.c
+++ /dev/null
@@ -1,1831 +0,0 @@
-/*
- * main.c - Point-to-Point Protocol main module
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <syslog.h>
-#include <netdb.h>
-#include <utmp.h>
-#include <pwd.h>
-#include <setjmp.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "pppd.h"
-#include "magic.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "ipcp.h"
-#ifdef INET6
-#include "ipv6cp.h"
-#endif
-#include "upap.h"
-#include "chap.h"
-#include "ccp.h"
-#include "pathnames.h"
-#include "tdb.h"
-
-#ifdef CBCP_SUPPORT
-#include "cbcp.h"
-#endif
-
-#ifdef IPX_CHANGE
-#include "ipxcp.h"
-#endif /* IPX_CHANGE */
-#ifdef AT_CHANGE
-#include "atcp.h"
-#endif
-
-static const char rcsid[] = RCSID;
-
-/* interface vars */
-char ifname[32]; /* Interface name */
-int ifunit; /* Interface unit number */
-
-struct channel *the_channel;
-
-char *progname; /* Name of this program */
-char hostname[MAXNAMELEN]; /* Our hostname */
-static char pidfilename[MAXPATHLEN]; /* name of pid file */
-static char linkpidfile[MAXPATHLEN]; /* name of linkname pid file */
-char ppp_devnam[MAXPATHLEN]; /* name of PPP tty (maybe ttypx) */
-uid_t uid; /* Our real user-id */
-struct notifier *pidchange = NULL;
-struct notifier *phasechange = NULL;
-struct notifier *exitnotify = NULL;
-struct notifier *sigreceived = NULL;
-
-int hungup; /* terminal has been hung up */
-int privileged; /* we're running as real uid root */
-int need_holdoff; /* need holdoff period before restarting */
-int detached; /* have detached from terminal */
-volatile int status; /* exit status for pppd */
-int unsuccess; /* # unsuccessful connection attempts */
-int do_callback; /* != 0 if we should do callback next */
-int doing_callback; /* != 0 if we are doing callback */
-TDB_CONTEXT *pppdb; /* database for storing status etc. */
-char db_key[32];
-
-int (*holdoff_hook) __P((void)) = NULL;
-int (*new_phase_hook) __P((int)) = NULL;
-
-static int conn_running; /* we have a [dis]connector running */
-static int devfd; /* fd of underlying device */
-static int fd_ppp = -1; /* fd for talking PPP */
-static int fd_loop; /* fd for getting demand-dial packets */
-
-int phase; /* where the link is at */
-int kill_link;
-int open_ccp_flag;
-int listen_time;
-int got_sigusr2;
-int got_sigterm;
-int got_sighup;
-
-static int waiting;
-static sigjmp_buf sigjmp;
-
-char **script_env; /* Env. variable values for scripts */
-int s_env_nalloc; /* # words avail at script_env */
-
-u_char outpacket_buf[PPP_MRU+PPP_HDRLEN]; /* buffer for outgoing packet */
-u_char inpacket_buf[PPP_MRU+PPP_HDRLEN]; /* buffer for incoming packet */
-
-static int n_children; /* # child processes still running */
-static int got_sigchld; /* set if we have received a SIGCHLD */
-
-int privopen; /* don't lock, open device as root */
-
-char *no_ppp_msg = "Sorry - this system lacks PPP kernel support\n";
-
-GIDSET_TYPE groups[NGROUPS_MAX];/* groups the user is in */
-int ngroups; /* How many groups valid in groups */
-
-static struct timeval start_time; /* Time when link was started. */
-
-struct pppd_stats link_stats;
-int link_connect_time;
-int link_stats_valid;
-
-/*
- * We maintain a list of child process pids and
- * functions to call when they exit.
- */
-struct subprocess {
- pid_t pid;
- char *prog;
- void (*done) __P((void *));
- void *arg;
- struct subprocess *next;
-};
-
-static struct subprocess *children;
-
-/* Prototypes for procedures local to this file. */
-
-static void setup_signals __P((void));
-static void create_pidfile __P((void));
-static void create_linkpidfile __P((void));
-static void cleanup __P((void));
-static void get_input __P((void));
-static void calltimeout __P((void));
-static struct timeval *timeleft __P((struct timeval *));
-static void kill_my_pg __P((int));
-static void hup __P((int));
-static void term __P((int));
-static void chld __P((int));
-static void toggle_debug __P((int));
-static void open_ccp __P((int));
-static void bad_signal __P((int));
-static void holdoff_end __P((void *));
-static int reap_kids __P((int waitfor));
-static void update_db_entry __P((void));
-static void add_db_key __P((const char *));
-static void delete_db_key __P((const char *));
-static void cleanup_db __P((void));
-static void handle_events __P((void));
-
-extern char *ttyname __P((int));
-extern char *getlogin __P((void));
-int main __P((int, char *[]));
-
-#ifdef ultrix
-#undef O_NONBLOCK
-#define O_NONBLOCK O_NDELAY
-#endif
-
-#ifdef ULTRIX
-#define setlogmask(x)
-#endif
-
-/*
- * PPP Data Link Layer "protocol" table.
- * One entry per supported protocol.
- * The last entry must be NULL.
- */
-struct protent *protocols[] = {
- &lcp_protent,
- &pap_protent,
- &chap_protent,
-#ifdef CBCP_SUPPORT
- &cbcp_protent,
-#endif
- &ipcp_protent,
-#ifdef INET6
- &ipv6cp_protent,
-#endif
- &ccp_protent,
-#ifdef IPX_CHANGE
- &ipxcp_protent,
-#endif
-#ifdef AT_CHANGE
- &atcp_protent,
-#endif
- NULL
-};
-
-/*
- * If PPP_DRV_NAME is not defined, use the default "ppp" as the device name.
- */
-#if !defined(PPP_DRV_NAME)
-#define PPP_DRV_NAME "ppp"
-#endif /* !defined(PPP_DRV_NAME) */
-
-int
-main(argc, argv)
- int argc;
- char *argv[];
-{
- int i, t;
- char *p;
- struct passwd *pw;
- struct protent *protp;
- char numbuf[16];
-
- new_phase(PHASE_INITIALIZE);
-
- /*
- * Ensure that fds 0, 1, 2 are open, to /dev/null if nowhere else.
- * This way we can close 0, 1, 2 in detach() without clobbering
- * a fd that we are using.
- */
- if ((i = open("/dev/null", O_RDWR)) >= 0) {
- while (0 <= i && i <= 2)
- i = dup(i);
- if (i >= 0)
- close(i);
- }
-
- script_env = NULL;
-
- /* Initialize syslog facilities */
- reopen_log();
-
- if (gethostname(hostname, MAXNAMELEN) < 0 ) {
- option_error("Couldn't get hostname: %m");
- exit(1);
- }
- hostname[MAXNAMELEN-1] = 0;
-
- /* make sure we don't create world or group writable files. */
- umask(umask(0777) | 022);
-
- uid = getuid();
- privileged = uid == 0;
- slprintf(numbuf, sizeof(numbuf), "%d", uid);
- script_setenv("ORIG_UID", numbuf, 0);
-
- ngroups = getgroups(NGROUPS_MAX, groups);
-
- /*
- * Initialize magic number generator now so that protocols may
- * use magic numbers in initialization.
- */
- magic_init();
-
- /*
- * Initialize each protocol.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- (*protp->init)(0);
-
- /*
- * Initialize the default channel.
- */
- tty_init();
-
- progname = *argv;
-
- /*
- * Parse, in order, the system options file, the user's options file,
- * and the command line arguments.
- */
- if (!options_from_file(_PATH_SYSOPTIONS, !privileged, 0, 1)
- || !options_from_user()
- || !parse_args(argc-1, argv+1))
- exit(EXIT_OPTION_ERROR);
- devnam_fixed = 1; /* can no longer change device name */
-
- /*
- * Work out the device name, if it hasn't already been specified,
- * and parse the tty's options file.
- */
- if (the_channel->process_extra_options)
- (*the_channel->process_extra_options)();
-
- if (debug)
- setlogmask(LOG_UPTO(LOG_DEBUG));
-
- /*
- * Check that we are running as root.
- */
- if (geteuid() != 0) {
- option_error("must be root to run %s, since it is not setuid-root",
- argv[0]);
- exit(EXIT_NOT_ROOT);
- }
-
- if (!ppp_available()) {
- option_error("%s", no_ppp_msg);
- exit(EXIT_NO_KERNEL_SUPPORT);
- }
-
- /*
- * Check that the options given are valid and consistent.
- */
- check_options();
- if (!sys_check_options())
- exit(EXIT_OPTION_ERROR);
- auth_check_options();
-#ifdef HAVE_MULTILINK
- mp_check_options();
-#endif
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->check_options != NULL)
- (*protp->check_options)();
- if (the_channel->check_options)
- (*the_channel->check_options)();
-
-
- if (dump_options || dryrun) {
- init_pr_log(NULL, LOG_INFO);
- print_options(pr_log, NULL);
- end_pr_log();
- if (dryrun)
- die(0);
- }
-
- /*
- * Initialize system-dependent stuff.
- */
- sys_init();
-
- pppdb = tdb_open(_PATH_PPPDB, 0, 0, O_RDWR|O_CREAT, 0644);
- if (pppdb != NULL) {
- slprintf(db_key, sizeof(db_key), "pppd%d", getpid());
- update_db_entry();
- } else {
- warn("Warning: couldn't open ppp database %s", _PATH_PPPDB);
- if (multilink) {
- warn("Warning: disabling multilink");
- multilink = 0;
- }
- }
-
- /*
- * Detach ourselves from the terminal, if required,
- * and identify who is running us.
- */
- if (!nodetach && !updetach)
- detach();
- p = getlogin();
- if (p == NULL) {
- pw = getpwuid(uid);
- if (pw != NULL && pw->pw_name != NULL)
- p = pw->pw_name;
- else
- p = "(unknown)";
- }
- syslog(LOG_NOTICE, "pppd %s started by %s, uid %d", VERSION, p, uid);
- script_setenv("PPPLOGNAME", p, 0);
-
- if (devnam[0])
- script_setenv("DEVICE", devnam, 1);
- slprintf(numbuf, sizeof(numbuf), "%d", getpid());
- script_setenv("PPPD_PID", numbuf, 1);
-
- setup_signals();
-
- waiting = 0;
-
- create_linkpidfile();
-
- /*
- * If we're doing dial-on-demand, set up the interface now.
- */
- if (demand) {
- /*
- * Open the loopback channel and set it up to be the ppp interface.
- */
- tdb_writelock(pppdb);
- fd_loop = open_ppp_loopback();
- set_ifunit(1);
- tdb_writeunlock(pppdb);
-
- /*
- * Configure the interface and mark it up, etc.
- */
- demand_conf();
- }
-
- do_callback = 0;
- for (;;) {
-
- listen_time = 0;
- need_holdoff = 1;
- devfd = -1;
- status = EXIT_OK;
- ++unsuccess;
- doing_callback = do_callback;
- do_callback = 0;
-
- if (demand && !doing_callback) {
- /*
- * Don't do anything until we see some activity.
- */
- new_phase(PHASE_DORMANT);
- demand_unblock();
- add_fd(fd_loop);
- for (;;) {
- handle_events();
- if (kill_link && !persist)
- break;
- if (get_loop_output())
- break;
- }
- remove_fd(fd_loop);
- if (kill_link && !persist)
- break;
-
- /*
- * Now we want to bring up the link.
- */
- demand_block();
- info("Starting link");
- }
-
- new_phase(PHASE_SERIALCONN);
-
- devfd = the_channel->connect();
- if (devfd < 0)
- goto fail;
-
- /* set up the serial device as a ppp interface */
- tdb_writelock(pppdb);
- fd_ppp = the_channel->establish_ppp(devfd);
- if (fd_ppp < 0) {
- tdb_writeunlock(pppdb);
- status = EXIT_FATAL_ERROR;
- goto disconnect;
- }
-
- if (!demand && ifunit >= 0)
- set_ifunit(1);
- tdb_writeunlock(pppdb);
-
- /*
- * Start opening the connection and wait for
- * incoming events (reply, timeout, etc.).
- */
- notice("Connect: %s <--> %s", ifname, ppp_devnam);
- gettimeofday(&start_time, NULL);
- link_stats_valid = 0;
- script_unsetenv("CONNECT_TIME");
- script_unsetenv("BYTES_SENT");
- script_unsetenv("BYTES_RCVD");
- lcp_lowerup(0);
-
- add_fd(fd_ppp);
- lcp_open(0); /* Start protocol */
- status = EXIT_NEGOTIATION_FAILED;
- new_phase(PHASE_ESTABLISH);
- while (phase != PHASE_DEAD) {
- handle_events();
- get_input();
- if (kill_link)
- lcp_close(0, "User request");
- if (open_ccp_flag) {
- if (phase == PHASE_NETWORK || phase == PHASE_RUNNING) {
- ccp_fsm[0].flags = OPT_RESTART; /* clears OPT_SILENT */
- (*ccp_protent.open)(0);
- }
- }
- }
-
- /*
- * Print connect time and statistics.
- */
- if (link_stats_valid) {
- int t = (link_connect_time + 5) / 6; /* 1/10ths of minutes */
- info("Connect time %d.%d minutes.", t/10, t%10);
- info("Sent %u bytes, received %u bytes.",
- link_stats.bytes_out, link_stats.bytes_in);
- }
-
- /*
- * Delete pid file before disestablishing ppp. Otherwise it
- * can happen that another pppd gets the same unit and then
- * we delete its pid file.
- */
- if (!demand) {
- if (pidfilename[0] != 0
- && unlink(pidfilename) < 0 && errno != ENOENT)
- warn("unable to delete pid file %s: %m", pidfilename);
- pidfilename[0] = 0;
- }
-
- /*
- * If we may want to bring the link up again, transfer
- * the ppp unit back to the loopback. Set the
- * real serial device back to its normal mode of operation.
- */
- remove_fd(fd_ppp);
- clean_check();
- the_channel->disestablish_ppp(devfd);
- fd_ppp = -1;
- if (!hungup)
- lcp_lowerdown(0);
- if (!demand)
- script_unsetenv("IFNAME");
-
- /*
- * Run disconnector script, if requested.
- * XXX we may not be able to do this if the line has hung up!
- */
- disconnect:
- new_phase(PHASE_DISCONNECT);
- the_channel->disconnect();
-
- fail:
- if (the_channel->cleanup)
- (*the_channel->cleanup)();
-
- if (!demand) {
- if (pidfilename[0] != 0
- && unlink(pidfilename) < 0 && errno != ENOENT)
- warn("unable to delete pid file %s: %m", pidfilename);
- pidfilename[0] = 0;
- }
-
- if (!persist || (maxfail > 0 && unsuccess >= maxfail))
- break;
-
- if (demand)
- demand_discard();
- t = need_holdoff? holdoff: 0;
- if (holdoff_hook)
- t = (*holdoff_hook)();
- if (t > 0) {
- new_phase(PHASE_HOLDOFF);
- TIMEOUT(holdoff_end, NULL, t);
- do {
- handle_events();
- if (kill_link)
- new_phase(PHASE_DORMANT); /* allow signal to end holdoff */
- } while (phase == PHASE_HOLDOFF);
- if (!persist)
- break;
- }
- }
-
- /* Wait for scripts to finish */
- /* XXX should have a timeout here */
- while (n_children > 0) {
- if (debug) {
- struct subprocess *chp;
- dbglog("Waiting for %d child processes...", n_children);
- for (chp = children; chp != NULL; chp = chp->next)
- dbglog(" script %s, pid %d", chp->prog, chp->pid);
- }
- if (reap_kids(1) < 0)
- break;
- }
-
- die(status);
- return 0;
-}
-
-/*
- * handle_events - wait for something to happen and respond to it.
- */
-static void
-handle_events()
-{
- struct timeval timo;
- sigset_t mask;
-
- kill_link = open_ccp_flag = 0;
- if (sigsetjmp(sigjmp, 1) == 0) {
- sigprocmask(SIG_BLOCK, &mask, NULL);
- if (got_sighup || got_sigterm || got_sigusr2 || got_sigchld) {
- sigprocmask(SIG_UNBLOCK, &mask, NULL);
- } else {
- waiting = 1;
- sigprocmask(SIG_UNBLOCK, &mask, NULL);
- wait_input(timeleft(&timo));
- }
- }
- waiting = 0;
- calltimeout();
- if (got_sighup) {
- kill_link = 1;
- got_sighup = 0;
- if (status != EXIT_HANGUP)
- status = EXIT_USER_REQUEST;
- }
- if (got_sigterm) {
- kill_link = 1;
- persist = 0;
- status = EXIT_USER_REQUEST;
- got_sigterm = 0;
- }
- if (got_sigchld) {
- reap_kids(0); /* Don't leave dead kids lying around */
- got_sigchld = 0;
- }
- if (got_sigusr2) {
- open_ccp_flag = 1;
- got_sigusr2 = 0;
- }
-}
-
-/*
- * setup_signals - initialize signal handling.
- */
-static void
-setup_signals()
-{
- struct sigaction sa;
- sigset_t mask;
-
- /*
- * Compute mask of all interesting signals and install signal handlers
- * for each. Only one signal handler may be active at a time. Therefore,
- * all other signals should be masked when any handler is executing.
- */
- sigemptyset(&mask);
- sigaddset(&mask, SIGHUP);
- sigaddset(&mask, SIGINT);
- sigaddset(&mask, SIGTERM);
- sigaddset(&mask, SIGCHLD);
- sigaddset(&mask, SIGUSR2);
-
-#define SIGNAL(s, handler) do { \
- sa.sa_handler = handler; \
- if (sigaction(s, &sa, NULL) < 0) \
- fatal("Couldn't establish signal handler (%d): %m", s); \
- } while (0)
-
- sa.sa_mask = mask;
- sa.sa_flags = 0;
- SIGNAL(SIGHUP, hup); /* Hangup */
- SIGNAL(SIGINT, term); /* Interrupt */
- SIGNAL(SIGTERM, term); /* Terminate */
- SIGNAL(SIGCHLD, chld);
-
- SIGNAL(SIGUSR1, toggle_debug); /* Toggle debug flag */
- SIGNAL(SIGUSR2, open_ccp); /* Reopen CCP */
-
- /*
- * Install a handler for other signals which would otherwise
- * cause pppd to exit without cleaning up.
- */
- SIGNAL(SIGABRT, bad_signal);
- SIGNAL(SIGALRM, bad_signal);
- SIGNAL(SIGFPE, bad_signal);
- SIGNAL(SIGILL, bad_signal);
- SIGNAL(SIGPIPE, bad_signal);
- SIGNAL(SIGQUIT, bad_signal);
- SIGNAL(SIGSEGV, bad_signal);
-#ifdef SIGBUS
- SIGNAL(SIGBUS, bad_signal);
-#endif
-#ifdef SIGEMT
- SIGNAL(SIGEMT, bad_signal);
-#endif
-#ifdef SIGPOLL
- SIGNAL(SIGPOLL, bad_signal);
-#endif
-#ifdef SIGPROF
- SIGNAL(SIGPROF, bad_signal);
-#endif
-#ifdef SIGSYS
- SIGNAL(SIGSYS, bad_signal);
-#endif
-#ifdef SIGTRAP
- SIGNAL(SIGTRAP, bad_signal);
-#endif
-#ifdef SIGVTALRM
- SIGNAL(SIGVTALRM, bad_signal);
-#endif
-#ifdef SIGXCPU
- SIGNAL(SIGXCPU, bad_signal);
-#endif
-#ifdef SIGXFSZ
- SIGNAL(SIGXFSZ, bad_signal);
-#endif
-
- /*
- * Apparently we can get a SIGPIPE when we call syslog, if
- * syslogd has died and been restarted. Ignoring it seems
- * be sufficient.
- */
- signal(SIGPIPE, SIG_IGN);
-}
-
-/*
- * set_ifunit - do things we need to do once we know which ppp
- * unit we are using.
- */
-void
-set_ifunit(iskey)
- int iskey;
-{
- info("Using interface %s%d", PPP_DRV_NAME, ifunit);
- slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit);
- script_setenv("IFNAME", ifname, iskey);
- if (iskey) {
- create_pidfile(); /* write pid to file */
- create_linkpidfile();
- }
-}
-
-/*
- * detach - detach us from the controlling terminal.
- */
-void
-detach()
-{
- int pid;
- char numbuf[16];
-
- if (detached)
- return;
- if ((pid = fork()) < 0) {
- error("Couldn't detach (fork failed: %m)");
- die(1); /* or just return? */
- }
- if (pid != 0) {
- /* parent */
- notify(pidchange, pid);
- exit(0); /* parent dies */
- }
- setsid();
- chdir("/");
- close(0);
- close(1);
- close(2);
- detached = 1;
- if (log_default)
- log_to_fd = -1;
- /* update pid files if they have been written already */
- if (pidfilename[0])
- create_pidfile();
- if (linkpidfile[0])
- create_linkpidfile();
- slprintf(numbuf, sizeof(numbuf), "%d", getpid());
- script_setenv("PPPD_PID", numbuf, 1);
-}
-
-/*
- * reopen_log - (re)open our connection to syslog.
- */
-void
-reopen_log()
-{
-#ifdef ULTRIX
- openlog("pppd", LOG_PID);
-#else
- openlog("pppd", LOG_PID | LOG_NDELAY, LOG_PPP);
- setlogmask(LOG_UPTO(LOG_INFO));
-#endif
-}
-
-/*
- * Create a file containing our process ID.
- */
-static void
-create_pidfile()
-{
- FILE *pidfile;
-
- slprintf(pidfilename, sizeof(pidfilename), "%s%s.pid",
- _PATH_VARRUN, ifname);
- if ((pidfile = fopen(pidfilename, "w")) != NULL) {
- fprintf(pidfile, "%d\n", getpid());
- (void) fclose(pidfile);
- } else {
- error("Failed to create pid file %s: %m", pidfilename);
- pidfilename[0] = 0;
- }
-}
-
-static void
-create_linkpidfile()
-{
- FILE *pidfile;
-
- if (linkname[0] == 0)
- return;
- script_setenv("LINKNAME", linkname, 1);
- slprintf(linkpidfile, sizeof(linkpidfile), "%sppp-%s.pid",
- _PATH_VARRUN, linkname);
- if ((pidfile = fopen(linkpidfile, "w")) != NULL) {
- fprintf(pidfile, "%d\n", getpid());
- if (ifname[0])
- fprintf(pidfile, "%s\n", ifname);
- (void) fclose(pidfile);
- } else {
- error("Failed to create pid file %s: %m", linkpidfile);
- linkpidfile[0] = 0;
- }
-}
-
-/*
- * holdoff_end - called via a timeout when the holdoff period ends.
- */
-static void
-holdoff_end(arg)
- void *arg;
-{
- new_phase(PHASE_DORMANT);
-}
-
-/* List of protocol names, to make our messages a little more informative. */
-struct protocol_list {
- u_short proto;
- const char *name;
-} protocol_list[] = {
- { 0x21, "IP" },
- { 0x23, "OSI Network Layer" },
- { 0x25, "Xerox NS IDP" },
- { 0x27, "DECnet Phase IV" },
- { 0x29, "Appletalk" },
- { 0x2b, "Novell IPX" },
- { 0x2d, "VJ compressed TCP/IP" },
- { 0x2f, "VJ uncompressed TCP/IP" },
- { 0x31, "Bridging PDU" },
- { 0x33, "Stream Protocol ST-II" },
- { 0x35, "Banyan Vines" },
- { 0x39, "AppleTalk EDDP" },
- { 0x3b, "AppleTalk SmartBuffered" },
- { 0x3d, "Multi-Link" },
- { 0x3f, "NETBIOS Framing" },
- { 0x41, "Cisco Systems" },
- { 0x43, "Ascom Timeplex" },
- { 0x45, "Fujitsu Link Backup and Load Balancing (LBLB)" },
- { 0x47, "DCA Remote Lan" },
- { 0x49, "Serial Data Transport Protocol (PPP-SDTP)" },
- { 0x4b, "SNA over 802.2" },
- { 0x4d, "SNA" },
- { 0x4f, "IP6 Header Compression" },
- { 0x6f, "Stampede Bridging" },
- { 0xfb, "single-link compression" },
- { 0xfd, "1st choice compression" },
- { 0x0201, "802.1d Hello Packets" },
- { 0x0203, "IBM Source Routing BPDU" },
- { 0x0205, "DEC LANBridge100 Spanning Tree" },
- { 0x0231, "Luxcom" },
- { 0x0233, "Sigma Network Systems" },
- { 0x8021, "Internet Protocol Control Protocol" },
- { 0x8023, "OSI Network Layer Control Protocol" },
- { 0x8025, "Xerox NS IDP Control Protocol" },
- { 0x8027, "DECnet Phase IV Control Protocol" },
- { 0x8029, "Appletalk Control Protocol" },
- { 0x802b, "Novell IPX Control Protocol" },
- { 0x8031, "Bridging NCP" },
- { 0x8033, "Stream Protocol Control Protocol" },
- { 0x8035, "Banyan Vines Control Protocol" },
- { 0x803d, "Multi-Link Control Protocol" },
- { 0x803f, "NETBIOS Framing Control Protocol" },
- { 0x8041, "Cisco Systems Control Protocol" },
- { 0x8043, "Ascom Timeplex" },
- { 0x8045, "Fujitsu LBLB Control Protocol" },
- { 0x8047, "DCA Remote Lan Network Control Protocol (RLNCP)" },
- { 0x8049, "Serial Data Control Protocol (PPP-SDCP)" },
- { 0x804b, "SNA over 802.2 Control Protocol" },
- { 0x804d, "SNA Control Protocol" },
- { 0x804f, "IP6 Header Compression Control Protocol" },
- { 0x006f, "Stampede Bridging Control Protocol" },
- { 0x80fb, "Single Link Compression Control Protocol" },
- { 0x80fd, "Compression Control Protocol" },
- { 0xc021, "Link Control Protocol" },
- { 0xc023, "Password Authentication Protocol" },
- { 0xc025, "Link Quality Report" },
- { 0xc027, "Shiva Password Authentication Protocol" },
- { 0xc029, "CallBack Control Protocol (CBCP)" },
- { 0xc081, "Container Control Protocol" },
- { 0xc223, "Challenge Handshake Authentication Protocol" },
- { 0xc281, "Proprietary Authentication Protocol" },
- { 0, NULL },
-};
-
-/*
- * protocol_name - find a name for a PPP protocol.
- */
-const char *
-protocol_name(proto)
- int proto;
-{
- struct protocol_list *lp;
-
- for (lp = protocol_list; lp->proto != 0; ++lp)
- if (proto == lp->proto)
- return lp->name;
- return NULL;
-}
-
-/*
- * get_input - called when incoming data is available.
- */
-static void
-get_input()
-{
- int len, i;
- u_char *p;
- u_short protocol;
- struct protent *protp;
-
- p = inpacket_buf; /* point to beginning of packet buffer */
-
- len = read_packet(inpacket_buf);
- if (len < 0)
- return;
-
- if (len == 0) {
- notice("Modem hangup");
- hungup = 1;
- status = EXIT_HANGUP;
- lcp_lowerdown(0); /* serial link is no longer available */
- link_terminated(0);
- return;
- }
-
- if (debug /*&& (debugflags & DBG_INPACKET)*/)
- dbglog("rcvd %P", p, len);
-
- if (len < PPP_HDRLEN) {
- MAINDEBUG(("io(): Received short packet."));
- return;
- }
-
- p += 2; /* Skip address and control */
- GETSHORT(protocol, p);
- len -= PPP_HDRLEN;
-
- /*
- * Toss all non-LCP packets unless LCP is OPEN.
- */
- if (protocol != PPP_LCP && lcp_fsm[0].state != OPENED) {
- MAINDEBUG(("get_input: Received non-LCP packet when LCP not open."));
- return;
- }
-
- /*
- * Until we get past the authentication phase, toss all packets
- * except LCP, LQR and authentication packets.
- */
- if (phase <= PHASE_AUTHENTICATE
- && !(protocol == PPP_LCP || protocol == PPP_LQR
- || protocol == PPP_PAP || protocol == PPP_CHAP)) {
- MAINDEBUG(("get_input: discarding proto 0x%x in phase %d",
- protocol, phase));
- return;
- }
-
- /*
- * Upcall the proper protocol input routine.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i) {
- if (protp->protocol == protocol && protp->enabled_flag) {
- (*protp->input)(0, p, len);
- return;
- }
- if (protocol == (protp->protocol & ~0x8000) && protp->enabled_flag
- && protp->datainput != NULL) {
- (*protp->datainput)(0, p, len);
- return;
- }
- }
-
- if (debug) {
- const char *pname = protocol_name(protocol);
- if (pname != NULL)
- warn("Unsupported protocol '%s' (0x%x) received", pname, protocol);
- else
- warn("Unsupported protocol 0x%x received", protocol);
- }
- lcp_sprotrej(0, p - PPP_HDRLEN, len + PPP_HDRLEN);
-}
-
-/*
- * new_phase - signal the start of a new phase of pppd's operation.
- */
-void
-new_phase(p)
- int p;
-{
- phase = p;
- if (new_phase_hook)
- (*new_phase_hook)(p);
- notify(phasechange, p);
-}
-
-/*
- * die - clean up state and exit with the specified status.
- */
-void
-die(status)
- int status;
-{
- cleanup();
- notify(exitnotify, status);
- syslog(LOG_INFO, "Exit.");
- exit(status);
-}
-
-/*
- * cleanup - restore anything which needs to be restored before we exit
- */
-/* ARGSUSED */
-static void
-cleanup()
-{
- sys_cleanup();
-
- if (fd_ppp >= 0)
- the_channel->disestablish_ppp(devfd);
- if (the_channel->cleanup)
- (*the_channel->cleanup)();
-
- if (pidfilename[0] != 0 && unlink(pidfilename) < 0 && errno != ENOENT)
- warn("unable to delete pid file %s: %m", pidfilename);
- pidfilename[0] = 0;
- if (linkpidfile[0] != 0 && unlink(linkpidfile) < 0 && errno != ENOENT)
- warn("unable to delete pid file %s: %m", linkpidfile);
- linkpidfile[0] = 0;
-
- if (pppdb != NULL)
- cleanup_db();
-}
-
-/*
- * update_link_stats - get stats at link termination.
- */
-void
-update_link_stats(u)
- int u;
-{
- struct timeval now;
- char numbuf[32];
-
- if (!get_ppp_stats(u, &link_stats)
- || gettimeofday(&now, NULL) < 0)
- return;
- link_connect_time = now.tv_sec - start_time.tv_sec;
- link_stats_valid = 1;
-
- slprintf(numbuf, sizeof(numbuf), "%d", link_connect_time);
- script_setenv("CONNECT_TIME", numbuf, 0);
- slprintf(numbuf, sizeof(numbuf), "%d", link_stats.bytes_out);
- script_setenv("BYTES_SENT", numbuf, 0);
- slprintf(numbuf, sizeof(numbuf), "%d", link_stats.bytes_in);
- script_setenv("BYTES_RCVD", numbuf, 0);
-}
-
-
-struct callout {
- struct timeval c_time; /* time at which to call routine */
- void *c_arg; /* argument to routine */
- void (*c_func) __P((void *)); /* routine */
- struct callout *c_next;
-};
-
-static struct callout *callout = NULL; /* Callout list */
-static struct timeval timenow; /* Current time */
-
-/*
- * timeout - Schedule a timeout.
- *
- * Note that this timeout takes the number of milliseconds, NOT hz (as in
- * the kernel).
- */
-void
-timeout(func, arg, secs, usecs)
- void (*func) __P((void *));
- void *arg;
- int secs, usecs;
-{
- struct callout *newp, *p, **pp;
-
- MAINDEBUG(("Timeout %p:%p in %d.%03d seconds.", func, arg,
- time / 1000, time % 1000));
-
- /*
- * Allocate timeout.
- */
- if ((newp = (struct callout *) malloc(sizeof(struct callout))) == NULL)
- fatal("Out of memory in timeout()!");
- newp->c_arg = arg;
- newp->c_func = func;
- gettimeofday(&timenow, NULL);
- newp->c_time.tv_sec = timenow.tv_sec + secs;
- newp->c_time.tv_usec = timenow.tv_usec + usecs;
- if (newp->c_time.tv_usec >= 1000000) {
- newp->c_time.tv_sec += newp->c_time.tv_usec / 1000000;
- newp->c_time.tv_usec %= 1000000;
- }
-
- /*
- * Find correct place and link it in.
- */
- for (pp = &callout; (p = *pp); pp = &p->c_next)
- if (newp->c_time.tv_sec < p->c_time.tv_sec
- || (newp->c_time.tv_sec == p->c_time.tv_sec
- && newp->c_time.tv_usec < p->c_time.tv_usec))
- break;
- newp->c_next = p;
- *pp = newp;
-}
-
-
-/*
- * untimeout - Unschedule a timeout.
- */
-void
-untimeout(func, arg)
- void (*func) __P((void *));
- void *arg;
-{
- struct callout **copp, *freep;
-
- MAINDEBUG(("Untimeout %p:%p.", func, arg));
-
- /*
- * Find first matching timeout and remove it from the list.
- */
- for (copp = &callout; (freep = *copp); copp = &freep->c_next)
- if (freep->c_func == func && freep->c_arg == arg) {
- *copp = freep->c_next;
- free((char *) freep);
- break;
- }
-}
-
-
-/*
- * calltimeout - Call any timeout routines which are now due.
- */
-static void
-calltimeout()
-{
- struct callout *p;
-
- while (callout != NULL) {
- p = callout;
-
- if (gettimeofday(&timenow, NULL) < 0)
- fatal("Failed to get time of day: %m");
- if (!(p->c_time.tv_sec < timenow.tv_sec
- || (p->c_time.tv_sec == timenow.tv_sec
- && p->c_time.tv_usec <= timenow.tv_usec)))
- break; /* no, it's not time yet */
-
- callout = p->c_next;
- (*p->c_func)(p->c_arg);
-
- free((char *) p);
- }
-}
-
-
-/*
- * timeleft - return the length of time until the next timeout is due.
- */
-static struct timeval *
-timeleft(tvp)
- struct timeval *tvp;
-{
- if (callout == NULL)
- return NULL;
-
- gettimeofday(&timenow, NULL);
- tvp->tv_sec = callout->c_time.tv_sec - timenow.tv_sec;
- tvp->tv_usec = callout->c_time.tv_usec - timenow.tv_usec;
- if (tvp->tv_usec < 0) {
- tvp->tv_usec += 1000000;
- tvp->tv_sec -= 1;
- }
- if (tvp->tv_sec < 0)
- tvp->tv_sec = tvp->tv_usec = 0;
-
- return tvp;
-}
-
-
-/*
- * kill_my_pg - send a signal to our process group, and ignore it ourselves.
- */
-static void
-kill_my_pg(sig)
- int sig;
-{
- struct sigaction act, oldact;
-
- act.sa_handler = SIG_IGN;
- act.sa_flags = 0;
- kill(0, sig);
- sigaction(sig, &act, &oldact);
- sigaction(sig, &oldact, NULL);
-}
-
-
-/*
- * hup - Catch SIGHUP signal.
- *
- * Indicates that the physical layer has been disconnected.
- * We don't rely on this indication; if the user has sent this
- * signal, we just take the link down.
- */
-static void
-hup(sig)
- int sig;
-{
- info("Hangup (SIGHUP)");
- got_sighup = 1;
- if (conn_running)
- /* Send the signal to the [dis]connector process(es) also */
- kill_my_pg(sig);
- notify(sigreceived, sig);
- if (waiting)
- siglongjmp(sigjmp, 1);
-}
-
-
-/*
- * term - Catch SIGTERM signal and SIGINT signal (^C/del).
- *
- * Indicates that we should initiate a graceful disconnect and exit.
- */
-/*ARGSUSED*/
-static void
-term(sig)
- int sig;
-{
- info("Terminating on signal %d.", sig);
- got_sigterm = 1;
- if (conn_running)
- /* Send the signal to the [dis]connector process(es) also */
- kill_my_pg(sig);
- notify(sigreceived, sig);
- if (waiting)
- siglongjmp(sigjmp, 1);
-}
-
-
-/*
- * chld - Catch SIGCHLD signal.
- * Sets a flag so we will call reap_kids in the mainline.
- */
-static void
-chld(sig)
- int sig;
-{
- got_sigchld = 1;
- if (waiting)
- siglongjmp(sigjmp, 1);
-}
-
-
-/*
- * toggle_debug - Catch SIGUSR1 signal.
- *
- * Toggle debug flag.
- */
-/*ARGSUSED*/
-static void
-toggle_debug(sig)
- int sig;
-{
- debug = !debug;
- if (debug) {
- setlogmask(LOG_UPTO(LOG_DEBUG));
- } else {
- setlogmask(LOG_UPTO(LOG_WARNING));
- }
-}
-
-
-/*
- * open_ccp - Catch SIGUSR2 signal.
- *
- * Try to (re)negotiate compression.
- */
-/*ARGSUSED*/
-static void
-open_ccp(sig)
- int sig;
-{
- got_sigusr2 = 1;
- if (waiting)
- siglongjmp(sigjmp, 1);
-}
-
-
-/*
- * bad_signal - We've caught a fatal signal. Clean up state and exit.
- */
-static void
-bad_signal(sig)
- int sig;
-{
- static int crashed = 0;
-
- if (crashed)
- _exit(127);
- crashed = 1;
- error("Fatal signal %d", sig);
- if (conn_running)
- kill_my_pg(SIGTERM);
- notify(sigreceived, sig);
- die(127);
-}
-
-
-/*
- * device_script - run a program to talk to the specified fds
- * (e.g. to run the connector or disconnector script).
- * stderr gets connected to the log fd or to the _PATH_CONNERRS file.
- */
-int
-device_script(program, in, out, dont_wait)
- char *program;
- int in, out;
- int dont_wait;
-{
- int pid, fd;
- int status = -1;
- int errfd;
-
- ++conn_running;
- pid = fork();
-
- if (pid < 0) {
- --conn_running;
- error("Failed to create child process: %m");
- return -1;
- }
-
- if (pid != 0) {
- if (dont_wait) {
- record_child(pid, program, NULL, NULL);
- status = 0;
- } else {
- while (waitpid(pid, &status, 0) < 0) {
- if (errno == EINTR)
- continue;
- fatal("error waiting for (dis)connection process: %m");
- }
- --conn_running;
- }
- return (status == 0 ? 0 : -1);
- }
-
- /* here we are executing in the child */
- /* make sure fds 0, 1, 2 are occupied */
- while ((fd = dup(in)) >= 0) {
- if (fd > 2) {
- close(fd);
- break;
- }
- }
-
- /* dup in and out to fds > 2 */
- in = dup(in);
- out = dup(out);
- if (log_to_fd >= 0) {
- errfd = dup(log_to_fd);
- } else {
- errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0600);
- }
-
- /* close fds 0 - 2 and any others we can think of */
- close(0);
- close(1);
- close(2);
- sys_close();
- if (the_channel->close)
- (*the_channel->close)();
- closelog();
-
- /* dup the in, out, err fds to 0, 1, 2 */
- dup2(in, 0);
- close(in);
- dup2(out, 1);
- close(out);
- if (errfd >= 0) {
- dup2(errfd, 2);
- close(errfd);
- }
-
- setuid(uid);
- if (getuid() != uid) {
- error("setuid failed");
- exit(1);
- }
- setgid(getgid());
- execl("/bin/sh", "sh", "-c", program, (char *)0);
- error("could not exec /bin/sh: %m");
- exit(99);
- /* NOTREACHED */
-}
-
-
-/*
- * run-program - execute a program with given arguments,
- * but don't wait for it.
- * If the program can't be executed, logs an error unless
- * must_exist is 0 and the program file doesn't exist.
- * Returns -1 if it couldn't fork, 0 if the file doesn't exist
- * or isn't an executable plain file, or the process ID of the child.
- * If done != NULL, (*done)(arg) will be called later (within
- * reap_kids) iff the return value is > 0.
- */
-pid_t
-run_program(prog, args, must_exist, done, arg)
- char *prog;
- char **args;
- int must_exist;
- void (*done) __P((void *));
- void *arg;
-{
- int pid;
- struct stat sbuf;
-
- /*
- * First check if the file exists and is executable.
- * We don't use access() because that would use the
- * real user-id, which might not be root, and the script
- * might be accessible only to root.
- */
- errno = EINVAL;
- if (stat(prog, &sbuf) < 0 || !S_ISREG(sbuf.st_mode)
- || (sbuf.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) == 0) {
- if (must_exist || errno != ENOENT)
- warn("Can't execute %s: %m", prog);
- return 0;
- }
-
- pid = fork();
- if (pid == -1) {
- error("Failed to create child process for %s: %m", prog);
- return -1;
- }
- if (pid == 0) {
- int new_fd;
-
- /* Leave the current location */
- (void) setsid(); /* No controlling tty. */
- (void) umask (S_IRWXG|S_IRWXO);
- (void) chdir ("/"); /* no current directory. */
- setuid(0); /* set real UID = root */
- setgid(getegid());
-
- /* Ensure that nothing of our device environment is inherited. */
- sys_close();
- closelog();
- close (0);
- close (1);
- close (2);
- if (the_channel->close)
- (*the_channel->close)();
-
- /* Don't pass handles to the PPP device, even by accident. */
- new_fd = open (_PATH_DEVNULL, O_RDWR);
- if (new_fd >= 0) {
- if (new_fd != 0) {
- dup2 (new_fd, 0); /* stdin <- /dev/null */
- close (new_fd);
- }
- dup2 (0, 1); /* stdout -> /dev/null */
- dup2 (0, 2); /* stderr -> /dev/null */
- }
-
-#ifdef BSD
- /* Force the priority back to zero if pppd is running higher. */
- if (setpriority (PRIO_PROCESS, 0, 0) < 0)
- warn("can't reset priority to 0: %m");
-#endif
-
- /* SysV recommends a second fork at this point. */
-
- /* run the program */
- execve(prog, args, script_env);
- if (must_exist || errno != ENOENT) {
- /* have to reopen the log, there's nowhere else
- for the message to go. */
- reopen_log();
- syslog(LOG_ERR, "Can't execute %s: %m", prog);
- closelog();
- }
- _exit(-1);
- }
-
- if (debug)
- dbglog("Script %s started (pid %d)", prog, pid);
- record_child(pid, prog, done, arg);
-
- return pid;
-}
-
-
-/*
- * record_child - add a child process to the list for reap_kids
- * to use.
- */
-void
-record_child(pid, prog, done, arg)
- int pid;
- char *prog;
- void (*done) __P((void *));
- void *arg;
-{
- struct subprocess *chp;
-
- ++n_children;
-
- chp = (struct subprocess *) malloc(sizeof(struct subprocess));
- if (chp == NULL) {
- warn("losing track of %s process", prog);
- } else {
- chp->pid = pid;
- chp->prog = prog;
- chp->done = done;
- chp->arg = arg;
- chp->next = children;
- children = chp;
- }
-}
-
-
-/*
- * reap_kids - get status from any dead child processes,
- * and log a message for abnormal terminations.
- */
-static int
-reap_kids(waitfor)
- int waitfor;
-{
- int pid, status;
- struct subprocess *chp, **prevp;
-
- if (n_children == 0)
- return 0;
- while ((pid = waitpid(-1, &status, (waitfor? 0: WNOHANG))) != -1
- && pid != 0) {
- for (prevp = &children; (chp = *prevp) != NULL; prevp = &chp->next) {
- if (chp->pid == pid) {
- --n_children;
- *prevp = chp->next;
- break;
- }
- }
- if (WIFSIGNALED(status)) {
- warn("Child process %s (pid %d) terminated with signal %d",
- (chp? chp->prog: "??"), pid, WTERMSIG(status));
- } else if (debug)
- dbglog("Script %s finished (pid %d), status = 0x%x",
- (chp? chp->prog: "??"), pid, status);
- if (chp && chp->done)
- (*chp->done)(chp->arg);
- if (chp)
- free(chp);
- }
- if (pid == -1) {
- if (errno == ECHILD)
- return -1;
- if (errno != EINTR)
- error("Error waiting for child process: %m");
- }
- return 0;
-}
-
-/*
- * add_notifier - add a new function to be called when something happens.
- */
-void
-add_notifier(notif, func, arg)
- struct notifier **notif;
- notify_func func;
- void *arg;
-{
- struct notifier *np;
-
- np = malloc(sizeof(struct notifier));
- if (np == 0)
- novm("notifier struct");
- np->next = *notif;
- np->func = func;
- np->arg = arg;
- *notif = np;
-}
-
-/*
- * remove_notifier - remove a function from the list of things to
- * be called when something happens.
- */
-void
-remove_notifier(notif, func, arg)
- struct notifier **notif;
- notify_func func;
- void *arg;
-{
- struct notifier *np;
-
- for (; (np = *notif) != 0; notif = &np->next) {
- if (np->func == func && np->arg == arg) {
- *notif = np->next;
- free(np);
- break;
- }
- }
-}
-
-/*
- * notify - call a set of functions registered with add_notify.
- */
-void
-notify(notif, val)
- struct notifier *notif;
- int val;
-{
- struct notifier *np;
-
- while ((np = notif) != 0) {
- notif = np->next;
- (*np->func)(np->arg, val);
- }
-}
-
-/*
- * novm - log an error message saying we ran out of memory, and die.
- */
-void
-novm(msg)
- char *msg;
-{
- fatal("Virtual memory exhausted allocating %s\n", msg);
-}
-
-/*
- * script_setenv - set an environment variable value to be used
- * for scripts that we run (e.g. ip-up, auth-up, etc.)
- */
-void
-script_setenv(var, value, iskey)
- char *var, *value;
- int iskey;
-{
- size_t varl = strlen(var);
- size_t vl = varl + strlen(value) + 2;
- int i;
- char *p, *newstring;
-
- newstring = (char *) malloc(vl+1);
- if (newstring == 0)
- return;
- *newstring++ = iskey;
- slprintf(newstring, vl, "%s=%s", var, value);
-
- /* check if this variable is already set */
- if (script_env != 0) {
- for (i = 0; (p = script_env[i]) != 0; ++i) {
- if (strncmp(p, var, varl) == 0 && p[varl] == '=') {
- if (p[-1] && pppdb != NULL)
- delete_db_key(p);
- free(p-1);
- script_env[i] = newstring;
- if (iskey && pppdb != NULL)
- add_db_key(newstring);
- update_db_entry();
- return;
- }
- }
- } else {
- /* no space allocated for script env. ptrs. yet */
- i = 0;
- script_env = (char **) malloc(16 * sizeof(char *));
- if (script_env == 0)
- return;
- s_env_nalloc = 16;
- }
-
- /* reallocate script_env with more space if needed */
- if (i + 1 >= s_env_nalloc) {
- int new_n = i + 17;
- char **newenv = (char **) realloc((void *)script_env,
- new_n * sizeof(char *));
- if (newenv == 0)
- return;
- script_env = newenv;
- s_env_nalloc = new_n;
- }
-
- script_env[i] = newstring;
- script_env[i+1] = 0;
-
- if (pppdb != NULL) {
- if (iskey)
- add_db_key(newstring);
- update_db_entry();
- }
-}
-
-/*
- * script_unsetenv - remove a variable from the environment
- * for scripts.
- */
-void
-script_unsetenv(var)
- char *var;
-{
- int vl = strlen(var);
- int i;
- char *p;
-
- if (script_env == 0)
- return;
- for (i = 0; (p = script_env[i]) != 0; ++i) {
- if (strncmp(p, var, vl) == 0 && p[vl] == '=') {
- if (p[-1] && pppdb != NULL)
- delete_db_key(p);
- free(p-1);
- while ((script_env[i] = script_env[i+1]) != 0)
- ++i;
- break;
- }
- }
- if (pppdb != NULL)
- update_db_entry();
-}
-
-/*
- * update_db_entry - update our entry in the database.
- */
-static void
-update_db_entry()
-{
- TDB_DATA key, dbuf;
- int vlen, i;
- char *p, *q, *vbuf;
-
- if (script_env == NULL)
- return;
- vlen = 0;
- for (i = 0; (p = script_env[i]) != 0; ++i)
- vlen += strlen(p) + 1;
- vbuf = malloc(vlen);
- if (vbuf == 0)
- novm("database entry");
- q = vbuf;
- for (i = 0; (p = script_env[i]) != 0; ++i)
- q += slprintf(q, vbuf + vlen - q, "%s;", p);
-
- key.dptr = db_key;
- key.dsize = strlen(db_key);
- dbuf.dptr = vbuf;
- dbuf.dsize = vlen;
- if (tdb_store(pppdb, key, dbuf, TDB_REPLACE))
- error("tdb_store failed: %s", tdb_error(pppdb));
-
-}
-
-/*
- * add_db_key - add a key that we can use to look up our database entry.
- */
-static void
-add_db_key(str)
- const char *str;
-{
- TDB_DATA key, dbuf;
-
- key.dptr = (char *) str;
- key.dsize = strlen(str);
- dbuf.dptr = db_key;
- dbuf.dsize = strlen(db_key);
- if (tdb_store(pppdb, key, dbuf, TDB_REPLACE))
- error("tdb_store key failed: %s", tdb_error(pppdb));
-}
-
-/*
- * delete_db_key - delete a key for looking up our database entry.
- */
-static void
-delete_db_key(str)
- const char *str;
-{
- TDB_DATA key;
-
- key.dptr = (char *) str;
- key.dsize = strlen(str);
- tdb_delete(pppdb, key);
-}
-
-/*
- * cleanup_db - delete all the entries we put in the database.
- */
-static void
-cleanup_db()
-{
- TDB_DATA key;
- int i;
- char *p;
-
- key.dptr = db_key;
- key.dsize = strlen(db_key);
- tdb_delete(pppdb, key);
- for (i = 0; (p = script_env[i]) != 0; ++i)
- if (p[-1])
- delete_db_key(p);
-}
diff --git a/mdk-stage1/ppp/pppd/md4.c b/mdk-stage1/ppp/pppd/md4.c
deleted file mode 100644
index cda9f943d..000000000
--- a/mdk-stage1/ppp/pppd/md4.c
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
-** ********************************************************************
-** md4.c -- Implementation of MD4 Message Digest Algorithm **
-** Updated: 2/16/90 by Ronald L. Rivest **
-** (C) 1990 RSA Data Security, Inc. **
-** ********************************************************************
-*/
-
-/*
-** To use MD4:
-** -- Include md4.h in your program
-** -- Declare an MDstruct MD to hold the state of the digest
-** computation.
-** -- Initialize MD using MDbegin(&MD)
-** -- For each full block (64 bytes) X you wish to process, call
-** MD4Update(&MD,X,512)
-** (512 is the number of bits in a full block.)
-** -- For the last block (less than 64 bytes) you wish to process,
-** MD4Update(&MD,X,n)
-** where n is the number of bits in the partial block. A partial
-** block terminates the computation, so every MD computation
-** should terminate by processing a partial block, even if it
-** has n = 0.
-** -- The message digest is available in MD.buffer[0] ...
-** MD.buffer[3]. (Least-significant byte of each word
-** should be output first.)
-** -- You can print out the digest using MDprint(&MD)
-*/
-
-/* Implementation notes:
-** This implementation assumes that ints are 32-bit quantities.
-*/
-
-#define TRUE 1
-#define FALSE 0
-
-/* Compile-time includes
-*/
-#include <stdio.h>
-#include "md4.h"
-#include "pppd.h"
-
-/* Compile-time declarations of MD4 "magic constants".
-*/
-#define I0 0x67452301 /* Initial values for MD buffer */
-#define I1 0xefcdab89
-#define I2 0x98badcfe
-#define I3 0x10325476
-#define C2 013240474631 /* round 2 constant = sqrt(2) in octal */
-#define C3 015666365641 /* round 3 constant = sqrt(3) in octal */
-/* C2 and C3 are from Knuth, The Art of Programming, Volume 2
-** (Seminumerical Algorithms), Second Edition (1981), Addison-Wesley.
-** Table 2, page 660.
-*/
-
-#define fs1 3 /* round 1 shift amounts */
-#define fs2 7
-#define fs3 11
-#define fs4 19
-#define gs1 3 /* round 2 shift amounts */
-#define gs2 5
-#define gs3 9
-#define gs4 13
-#define hs1 3 /* round 3 shift amounts */
-#define hs2 9
-#define hs3 11
-#define hs4 15
-
-/* Compile-time macro declarations for MD4.
-** Note: The "rot" operator uses the variable "tmp".
-** It assumes tmp is declared as unsigned int, so that the >>
-** operator will shift in zeros rather than extending the sign bit.
-*/
-#define f(X,Y,Z) ((X&Y) | ((~X)&Z))
-#define g(X,Y,Z) ((X&Y) | (X&Z) | (Y&Z))
-#define h(X,Y,Z) (X^Y^Z)
-#define rot(X,S) (tmp=X,(tmp<<S) | (tmp>>(32-S)))
-#define ff(A,B,C,D,i,s) A = rot((A + f(B,C,D) + X[i]),s)
-#define gg(A,B,C,D,i,s) A = rot((A + g(B,C,D) + X[i] + C2),s)
-#define hh(A,B,C,D,i,s) A = rot((A + h(B,C,D) + X[i] + C3),s)
-
-/* MD4print(MDp)
-** Print message digest buffer MDp as 32 hexadecimal digits.
-** Order is from low-order byte of buffer[0] to high-order byte of
-** buffer[3].
-** Each byte is printed with high-order hexadecimal digit first.
-** This is a user-callable routine.
-*/
-void
-MD4Print(MDp)
-MD4_CTX *MDp;
-{
- int i,j;
- for (i=0;i<4;i++)
- for (j=0;j<32;j=j+8)
- printf("%02x",(MDp->buffer[i]>>j) & 0xFF);
-}
-
-/* MD4Init(MDp)
-** Initialize message digest buffer MDp.
-** This is a user-callable routine.
-*/
-void
-MD4Init(MDp)
-MD4_CTX *MDp;
-{
- int i;
- MDp->buffer[0] = I0;
- MDp->buffer[1] = I1;
- MDp->buffer[2] = I2;
- MDp->buffer[3] = I3;
- for (i=0;i<8;i++) MDp->count[i] = 0;
- MDp->done = 0;
-}
-
-/* MDblock(MDp,X)
-** Update message digest buffer MDp->buffer using 16-word data block X.
-** Assumes all 16 words of X are full of data.
-** Does not update MDp->count.
-** This routine is not user-callable.
-*/
-static void
-MDblock(MDp,Xb)
-MD4_CTX *MDp;
-unsigned char *Xb;
-{
- register unsigned int tmp, A, B, C, D;
- unsigned int X[16];
- int i;
-
- for (i = 0; i < 16; ++i) {
- X[i] = Xb[0] + (Xb[1] << 8) + (Xb[2] << 16) + (Xb[3] << 24);
- Xb += 4;
- }
-
- A = MDp->buffer[0];
- B = MDp->buffer[1];
- C = MDp->buffer[2];
- D = MDp->buffer[3];
- /* Update the message digest buffer */
- ff(A , B , C , D , 0 , fs1); /* Round 1 */
- ff(D , A , B , C , 1 , fs2);
- ff(C , D , A , B , 2 , fs3);
- ff(B , C , D , A , 3 , fs4);
- ff(A , B , C , D , 4 , fs1);
- ff(D , A , B , C , 5 , fs2);
- ff(C , D , A , B , 6 , fs3);
- ff(B , C , D , A , 7 , fs4);
- ff(A , B , C , D , 8 , fs1);
- ff(D , A , B , C , 9 , fs2);
- ff(C , D , A , B , 10 , fs3);
- ff(B , C , D , A , 11 , fs4);
- ff(A , B , C , D , 12 , fs1);
- ff(D , A , B , C , 13 , fs2);
- ff(C , D , A , B , 14 , fs3);
- ff(B , C , D , A , 15 , fs4);
- gg(A , B , C , D , 0 , gs1); /* Round 2 */
- gg(D , A , B , C , 4 , gs2);
- gg(C , D , A , B , 8 , gs3);
- gg(B , C , D , A , 12 , gs4);
- gg(A , B , C , D , 1 , gs1);
- gg(D , A , B , C , 5 , gs2);
- gg(C , D , A , B , 9 , gs3);
- gg(B , C , D , A , 13 , gs4);
- gg(A , B , C , D , 2 , gs1);
- gg(D , A , B , C , 6 , gs2);
- gg(C , D , A , B , 10 , gs3);
- gg(B , C , D , A , 14 , gs4);
- gg(A , B , C , D , 3 , gs1);
- gg(D , A , B , C , 7 , gs2);
- gg(C , D , A , B , 11 , gs3);
- gg(B , C , D , A , 15 , gs4);
- hh(A , B , C , D , 0 , hs1); /* Round 3 */
- hh(D , A , B , C , 8 , hs2);
- hh(C , D , A , B , 4 , hs3);
- hh(B , C , D , A , 12 , hs4);
- hh(A , B , C , D , 2 , hs1);
- hh(D , A , B , C , 10 , hs2);
- hh(C , D , A , B , 6 , hs3);
- hh(B , C , D , A , 14 , hs4);
- hh(A , B , C , D , 1 , hs1);
- hh(D , A , B , C , 9 , hs2);
- hh(C , D , A , B , 5 , hs3);
- hh(B , C , D , A , 13 , hs4);
- hh(A , B , C , D , 3 , hs1);
- hh(D , A , B , C , 11 , hs2);
- hh(C , D , A , B , 7 , hs3);
- hh(B , C , D , A , 15 , hs4);
- MDp->buffer[0] += A;
- MDp->buffer[1] += B;
- MDp->buffer[2] += C;
- MDp->buffer[3] += D;
-}
-
-/* MD4Update(MDp,X,count)
-** Input: X -- a pointer to an array of unsigned characters.
-** count -- the number of bits of X to use.
-** (if not a multiple of 8, uses high bits of last byte.)
-** Update MDp using the number of bits of X given by count.
-** This is the basic input routine for an MD4 user.
-** The routine completes the MD computation when count < 512, so
-** every MD computation should end with one call to MD4Update with a
-** count less than 512. A call with count 0 will be ignored if the
-** MD has already been terminated (done != 0), so an extra call with
-** count 0 can be given as a "courtesy close" to force termination
-** if desired.
-*/
-void
-MD4Update(MDp,X,count)
-MD4_CTX *MDp;
-unsigned char *X;
-unsigned int count;
-{
- unsigned int i, tmp, bit, byte, mask;
- unsigned char XX[64];
- unsigned char *p;
-
- /* return with no error if this is a courtesy close with count
- ** zero and MDp->done is true.
- */
- if (count == 0 && MDp->done) return;
- /* check to see if MD is already done and report error */
- if (MDp->done)
- { printf("\nError: MD4Update MD already done."); return; }
-
- /* Add count to MDp->count */
- tmp = count;
- p = MDp->count;
- while (tmp)
- { tmp += *p;
- *p++ = tmp;
- tmp = tmp >> 8;
- }
-
- /* Process data */
- if (count == 512)
- { /* Full block of data to handle */
- MDblock(MDp,X);
- }
- else if (count > 512) /* Check for count too large */
- {
- printf("\nError: MD4Update called with illegal count value %d.",
- count);
- return;
- }
- else /* partial block -- must be last block so finish up */
- {
- /* Find out how many bytes and residual bits there are */
- byte = count >> 3;
- bit = count & 7;
- /* Copy X into XX since we need to modify it */
- for (i=0;i<=byte;i++) XX[i] = X[i];
- for (i=byte+1;i<64;i++) XX[i] = 0;
- /* Add padding '1' bit and low-order zeros in last byte */
- mask = 1 << (7 - bit);
- XX[byte] = (XX[byte] | mask) & ~( mask - 1);
- /* If room for bit count, finish up with this block */
- if (byte <= 55)
- {
- for (i=0;i<8;i++) XX[56+i] = MDp->count[i];
- MDblock(MDp,XX);
- }
- else /* need to do two blocks to finish up */
- {
- MDblock(MDp,XX);
- for (i=0;i<56;i++) XX[i] = 0;
- for (i=0;i<8;i++) XX[56+i] = MDp->count[i];
- MDblock(MDp,XX);
- }
- /* Set flag saying we're done with MD computation */
- MDp->done = 1;
- }
-}
-
-/*
-** Finish up MD4 computation and return message digest.
-*/
-void
-MD4Final(buf, MD)
-unsigned char *buf;
-MD4_CTX *MD;
-{
- int i, j;
- unsigned int w;
-
- MD4Update(MD, NULL, 0);
- for (i = 0; i < 4; ++i) {
- w = MD->buffer[i];
- for (j = 0; j < 4; ++j) {
- *buf++ = w;
- w >>= 8;
- }
- }
-}
-
-/*
-** End of md4.c
-****************************(cut)***********************************/
diff --git a/mdk-stage1/ppp/pppd/md4.h b/mdk-stage1/ppp/pppd/md4.h
deleted file mode 100644
index 80e8f9a2a..000000000
--- a/mdk-stage1/ppp/pppd/md4.h
+++ /dev/null
@@ -1,64 +0,0 @@
-
-/*
-** ********************************************************************
-** md4.h -- Header file for implementation of **
-** MD4 Message Digest Algorithm **
-** Updated: 2/13/90 by Ronald L. Rivest **
-** (C) 1990 RSA Data Security, Inc. **
-** ********************************************************************
-*/
-
-#ifndef __P
-# if defined(__STDC__) || defined(__GNUC__)
-# define __P(x) x
-# else
-# define __P(x) ()
-# endif
-#endif
-
-
-/* MDstruct is the data structure for a message digest computation.
-*/
-typedef struct {
- unsigned int buffer[4]; /* Holds 4-word result of MD computation */
- unsigned char count[8]; /* Number of bits processed so far */
- unsigned int done; /* Nonzero means MD computation finished */
-} MD4_CTX;
-
-/* MD4Init(MD4_CTX *)
-** Initialize the MD4_CTX prepatory to doing a message digest
-** computation.
-*/
-extern void MD4Init __P((MD4_CTX *MD));
-
-/* MD4Update(MD,X,count)
-** Input: X -- a pointer to an array of unsigned characters.
-** count -- the number of bits of X to use (an unsigned int).
-** Updates MD using the first "count" bits of X.
-** The array pointed to by X is not modified.
-** If count is not a multiple of 8, MD4Update uses high bits of
-** last byte.
-** This is the basic input routine for a user.
-** The routine terminates the MD computation when count < 512, so
-** every MD computation should end with one call to MD4Update with a
-** count less than 512. Zero is OK for a count.
-*/
-extern void MD4Update __P((MD4_CTX *MD, unsigned char *X, unsigned int count));
-
-/* MD4Print(MD)
-** Prints message digest buffer MD as 32 hexadecimal digits.
-** Order is from low-order byte of buffer[0] to high-order byte
-** of buffer[3].
-** Each byte is printed with high-order hexadecimal digit first.
-*/
-extern void MD4Print __P((MD4_CTX *));
-
-/* MD4Final(buf, MD)
-** Returns message digest from MD and terminates the message
-** digest computation.
-*/
-extern void MD4Final __P((unsigned char *, MD4_CTX *));
-
-/*
-** End of md4.h
-****************************(cut)***********************************/
diff --git a/mdk-stage1/ppp/pppd/md5.c b/mdk-stage1/ppp/pppd/md5.c
deleted file mode 100644
index db48023c5..000000000
--- a/mdk-stage1/ppp/pppd/md5.c
+++ /dev/null
@@ -1,306 +0,0 @@
-
-
-/*
- ***********************************************************************
- ** md5.c -- the source code for MD5 routines **
- ** RSA Data Security, Inc. MD5 Message-Digest Algorithm **
- ** Created: 2/17/90 RLR **
- ** Revised: 1/91 SRD,AJ,BSK,JT Reference C ver., 7/10 constant corr. **
- ***********************************************************************
- */
-
-/*
- ***********************************************************************
- ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
- ** **
- ** License to copy and use this software is granted provided that **
- ** it is identified as the "RSA Data Security, Inc. MD5 Message- **
- ** Digest Algorithm" in all material mentioning or referencing this **
- ** software or this function. **
- ** **
- ** License is also granted to make and use derivative works **
- ** provided that such works are identified as "derived from the RSA **
- ** Data Security, Inc. MD5 Message-Digest Algorithm" in all **
- ** material mentioning or referencing the derived work. **
- ** **
- ** RSA Data Security, Inc. makes no representations concerning **
- ** either the merchantability of this software or the suitability **
- ** of this software for any particular purpose. It is provided "as **
- ** is" without express or implied warranty of any kind. **
- ** **
- ** These notices must be retained in any copies of any part of this **
- ** documentation and/or software. **
- ***********************************************************************
- */
-
-#include "md5.h"
-
-/*
- ***********************************************************************
- ** Message-digest routines: **
- ** To form the message digest for a message M **
- ** (1) Initialize a context buffer mdContext using MD5Init **
- ** (2) Call MD5Update on mdContext and M **
- ** (3) Call MD5Final on mdContext **
- ** The message digest is now in mdContext->digest[0...15] **
- ***********************************************************************
- */
-
-/* forward declaration */
-static void Transform ();
-
-static unsigned char PADDING[64] = {
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-/* F, G, H and I are basic MD5 functions */
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define I(x, y, z) ((y) ^ ((x) | (~z)))
-
-/* ROTATE_LEFT rotates x left n bits */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4 */
-/* Rotation is separate from addition to prevent recomputation */
-#define FF(a, b, c, d, x, s, ac) \
- {(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define GG(a, b, c, d, x, s, ac) \
- {(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define HH(a, b, c, d, x, s, ac) \
- {(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define II(a, b, c, d, x, s, ac) \
- {(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-
-#ifdef __STDC__
-#define UL(x) x##U
-#else
-#define UL(x) x
-#endif
-
-/* The routine MD5Init initializes the message-digest context
- mdContext. All fields are set to zero.
- */
-void MD5Init (mdContext)
-MD5_CTX *mdContext;
-{
- mdContext->i[0] = mdContext->i[1] = (UINT4)0;
-
- /* Load magic initialization constants.
- */
- mdContext->buf[0] = (UINT4)0x67452301;
- mdContext->buf[1] = (UINT4)0xefcdab89;
- mdContext->buf[2] = (UINT4)0x98badcfe;
- mdContext->buf[3] = (UINT4)0x10325476;
-}
-
-/* The routine MD5Update updates the message-digest context to
- account for the presence of each of the characters inBuf[0..inLen-1]
- in the message whose digest is being computed.
- */
-void MD5Update (mdContext, inBuf, inLen)
-MD5_CTX *mdContext;
-unsigned char *inBuf;
-unsigned int inLen;
-{
- UINT4 in[16];
- int mdi;
- unsigned int i, ii;
-
- /* compute number of bytes mod 64 */
- mdi = (int)((mdContext->i[0] >> 3) & 0x3F);
-
- /* update number of bits */
- if ((mdContext->i[0] + ((UINT4)inLen << 3)) < mdContext->i[0])
- mdContext->i[1]++;
- mdContext->i[0] += ((UINT4)inLen << 3);
- mdContext->i[1] += ((UINT4)inLen >> 29);
-
- while (inLen--) {
- /* add new character to buffer, increment mdi */
- mdContext->in[mdi++] = *inBuf++;
-
- /* transform if necessary */
- if (mdi == 0x40) {
- for (i = 0, ii = 0; i < 16; i++, ii += 4)
- in[i] = (((UINT4)mdContext->in[ii+3]) << 24) |
- (((UINT4)mdContext->in[ii+2]) << 16) |
- (((UINT4)mdContext->in[ii+1]) << 8) |
- ((UINT4)mdContext->in[ii]);
- Transform (mdContext->buf, in);
- mdi = 0;
- }
- }
-}
-
-/* The routine MD5Final terminates the message-digest computation and
- ends with the desired message digest in mdContext->digest[0...15].
- */
-void MD5Final (hash, mdContext)
-unsigned char hash[];
-MD5_CTX *mdContext;
-{
- UINT4 in[16];
- int mdi;
- unsigned int i, ii;
- unsigned int padLen;
-
- /* save number of bits */
- in[14] = mdContext->i[0];
- in[15] = mdContext->i[1];
-
- /* compute number of bytes mod 64 */
- mdi = (int)((mdContext->i[0] >> 3) & 0x3F);
-
- /* pad out to 56 mod 64 */
- padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi);
- MD5Update (mdContext, PADDING, padLen);
-
- /* append length in bits and transform */
- for (i = 0, ii = 0; i < 14; i++, ii += 4)
- in[i] = (((UINT4)mdContext->in[ii+3]) << 24) |
- (((UINT4)mdContext->in[ii+2]) << 16) |
- (((UINT4)mdContext->in[ii+1]) << 8) |
- ((UINT4)mdContext->in[ii]);
- Transform (mdContext->buf, in);
-
- /* store buffer in digest */
- for (i = 0, ii = 0; i < 4; i++, ii += 4) {
- mdContext->digest[ii] = (unsigned char)(mdContext->buf[i] & 0xFF);
- mdContext->digest[ii+1] =
- (unsigned char)((mdContext->buf[i] >> 8) & 0xFF);
- mdContext->digest[ii+2] =
- (unsigned char)((mdContext->buf[i] >> 16) & 0xFF);
- mdContext->digest[ii+3] =
- (unsigned char)((mdContext->buf[i] >> 24) & 0xFF);
- }
- memcpy(hash, mdContext->digest, 16);
-}
-
-/* Basic MD5 step. Transforms buf based on in.
- */
-static void Transform (buf, in)
-UINT4 *buf;
-UINT4 *in;
-{
- UINT4 a = buf[0], b = buf[1], c = buf[2], d = buf[3];
-
- /* Round 1 */
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
- FF ( a, b, c, d, in[ 0], S11, UL(3614090360)); /* 1 */
- FF ( d, a, b, c, in[ 1], S12, UL(3905402710)); /* 2 */
- FF ( c, d, a, b, in[ 2], S13, UL( 606105819)); /* 3 */
- FF ( b, c, d, a, in[ 3], S14, UL(3250441966)); /* 4 */
- FF ( a, b, c, d, in[ 4], S11, UL(4118548399)); /* 5 */
- FF ( d, a, b, c, in[ 5], S12, UL(1200080426)); /* 6 */
- FF ( c, d, a, b, in[ 6], S13, UL(2821735955)); /* 7 */
- FF ( b, c, d, a, in[ 7], S14, UL(4249261313)); /* 8 */
- FF ( a, b, c, d, in[ 8], S11, UL(1770035416)); /* 9 */
- FF ( d, a, b, c, in[ 9], S12, UL(2336552879)); /* 10 */
- FF ( c, d, a, b, in[10], S13, UL(4294925233)); /* 11 */
- FF ( b, c, d, a, in[11], S14, UL(2304563134)); /* 12 */
- FF ( a, b, c, d, in[12], S11, UL(1804603682)); /* 13 */
- FF ( d, a, b, c, in[13], S12, UL(4254626195)); /* 14 */
- FF ( c, d, a, b, in[14], S13, UL(2792965006)); /* 15 */
- FF ( b, c, d, a, in[15], S14, UL(1236535329)); /* 16 */
-
- /* Round 2 */
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
- GG ( a, b, c, d, in[ 1], S21, UL(4129170786)); /* 17 */
- GG ( d, a, b, c, in[ 6], S22, UL(3225465664)); /* 18 */
- GG ( c, d, a, b, in[11], S23, UL( 643717713)); /* 19 */
- GG ( b, c, d, a, in[ 0], S24, UL(3921069994)); /* 20 */
- GG ( a, b, c, d, in[ 5], S21, UL(3593408605)); /* 21 */
- GG ( d, a, b, c, in[10], S22, UL( 38016083)); /* 22 */
- GG ( c, d, a, b, in[15], S23, UL(3634488961)); /* 23 */
- GG ( b, c, d, a, in[ 4], S24, UL(3889429448)); /* 24 */
- GG ( a, b, c, d, in[ 9], S21, UL( 568446438)); /* 25 */
- GG ( d, a, b, c, in[14], S22, UL(3275163606)); /* 26 */
- GG ( c, d, a, b, in[ 3], S23, UL(4107603335)); /* 27 */
- GG ( b, c, d, a, in[ 8], S24, UL(1163531501)); /* 28 */
- GG ( a, b, c, d, in[13], S21, UL(2850285829)); /* 29 */
- GG ( d, a, b, c, in[ 2], S22, UL(4243563512)); /* 30 */
- GG ( c, d, a, b, in[ 7], S23, UL(1735328473)); /* 31 */
- GG ( b, c, d, a, in[12], S24, UL(2368359562)); /* 32 */
-
- /* Round 3 */
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
- HH ( a, b, c, d, in[ 5], S31, UL(4294588738)); /* 33 */
- HH ( d, a, b, c, in[ 8], S32, UL(2272392833)); /* 34 */
- HH ( c, d, a, b, in[11], S33, UL(1839030562)); /* 35 */
- HH ( b, c, d, a, in[14], S34, UL(4259657740)); /* 36 */
- HH ( a, b, c, d, in[ 1], S31, UL(2763975236)); /* 37 */
- HH ( d, a, b, c, in[ 4], S32, UL(1272893353)); /* 38 */
- HH ( c, d, a, b, in[ 7], S33, UL(4139469664)); /* 39 */
- HH ( b, c, d, a, in[10], S34, UL(3200236656)); /* 40 */
- HH ( a, b, c, d, in[13], S31, UL( 681279174)); /* 41 */
- HH ( d, a, b, c, in[ 0], S32, UL(3936430074)); /* 42 */
- HH ( c, d, a, b, in[ 3], S33, UL(3572445317)); /* 43 */
- HH ( b, c, d, a, in[ 6], S34, UL( 76029189)); /* 44 */
- HH ( a, b, c, d, in[ 9], S31, UL(3654602809)); /* 45 */
- HH ( d, a, b, c, in[12], S32, UL(3873151461)); /* 46 */
- HH ( c, d, a, b, in[15], S33, UL( 530742520)); /* 47 */
- HH ( b, c, d, a, in[ 2], S34, UL(3299628645)); /* 48 */
-
- /* Round 4 */
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
- II ( a, b, c, d, in[ 0], S41, UL(4096336452)); /* 49 */
- II ( d, a, b, c, in[ 7], S42, UL(1126891415)); /* 50 */
- II ( c, d, a, b, in[14], S43, UL(2878612391)); /* 51 */
- II ( b, c, d, a, in[ 5], S44, UL(4237533241)); /* 52 */
- II ( a, b, c, d, in[12], S41, UL(1700485571)); /* 53 */
- II ( d, a, b, c, in[ 3], S42, UL(2399980690)); /* 54 */
- II ( c, d, a, b, in[10], S43, UL(4293915773)); /* 55 */
- II ( b, c, d, a, in[ 1], S44, UL(2240044497)); /* 56 */
- II ( a, b, c, d, in[ 8], S41, UL(1873313359)); /* 57 */
- II ( d, a, b, c, in[15], S42, UL(4264355552)); /* 58 */
- II ( c, d, a, b, in[ 6], S43, UL(2734768916)); /* 59 */
- II ( b, c, d, a, in[13], S44, UL(1309151649)); /* 60 */
- II ( a, b, c, d, in[ 4], S41, UL(4149444226)); /* 61 */
- II ( d, a, b, c, in[11], S42, UL(3174756917)); /* 62 */
- II ( c, d, a, b, in[ 2], S43, UL( 718787259)); /* 63 */
- II ( b, c, d, a, in[ 9], S44, UL(3951481745)); /* 64 */
-
- buf[0] += a;
- buf[1] += b;
- buf[2] += c;
- buf[3] += d;
-}
-
-/*
- ***********************************************************************
- ** End of md5.c **
- ******************************** (cut) ********************************
- */
diff --git a/mdk-stage1/ppp/pppd/md5.h b/mdk-stage1/ppp/pppd/md5.h
deleted file mode 100644
index 7492b2228..000000000
--- a/mdk-stage1/ppp/pppd/md5.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- ***********************************************************************
- ** md5.h -- header file for implementation of MD5 **
- ** RSA Data Security, Inc. MD5 Message-Digest Algorithm **
- ** Created: 2/17/90 RLR **
- ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version **
- ** Revised (for MD5): RLR 4/27/91 **
- ** -- G modified to have y&~z instead of y&z **
- ** -- FF, GG, HH modified to add in last register done **
- ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 **
- ** -- distinct additive constant for each step **
- ** -- round 4 added, working mod 7 **
- ***********************************************************************
- */
-
-/*
- ***********************************************************************
- ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
- ** **
- ** License to copy and use this software is granted provided that **
- ** it is identified as the "RSA Data Security, Inc. MD5 Message- **
- ** Digest Algorithm" in all material mentioning or referencing this **
- ** software or this function. **
- ** **
- ** License is also granted to make and use derivative works **
- ** provided that such works are identified as "derived from the RSA **
- ** Data Security, Inc. MD5 Message-Digest Algorithm" in all **
- ** material mentioning or referencing the derived work. **
- ** **
- ** RSA Data Security, Inc. makes no representations concerning **
- ** either the merchantability of this software or the suitability **
- ** of this software for any particular purpose. It is provided "as **
- ** is" without express or implied warranty of any kind. **
- ** **
- ** These notices must be retained in any copies of any part of this **
- ** documentation and/or software. **
- ***********************************************************************
- */
-
-#ifndef __MD5_INCLUDE__
-
-/* typedef a 32-bit type */
-typedef unsigned int UINT4;
-
-/* Data structure for MD5 (Message-Digest) computation */
-typedef struct {
- UINT4 i[2]; /* number of _bits_ handled mod 2^64 */
- UINT4 buf[4]; /* scratch buffer */
- unsigned char in[64]; /* input buffer */
- unsigned char digest[16]; /* actual digest after MD5Final call */
-} MD5_CTX;
-
-void MD5Init ();
-void MD5Update ();
-void MD5Final ();
-
-#define __MD5_INCLUDE__
-#endif /* __MD5_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/multilink.c b/mdk-stage1/ppp/pppd/multilink.c
deleted file mode 100644
index e5f2ac40d..000000000
--- a/mdk-stage1/ppp/pppd/multilink.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/*
- * multilink.c - support routines for multilink.
- *
- * Copyright (c) 2000 Paul Mackerras.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <netdb.h>
-#include <errno.h>
-#include <signal.h>
-#include <netinet/in.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "tdb.h"
-
-bool endpoint_specified; /* user gave explicit endpoint discriminator */
-char *bundle_id; /* identifier for our bundle */
-
-extern TDB_CONTEXT *pppdb;
-extern char db_key[];
-
-static int get_default_epdisc __P((struct epdisc *));
-static int parse_num __P((char *str, const char *key, int *valp));
-static int owns_unit __P((TDB_DATA pid, int unit));
-
-#define set_ip_epdisc(ep, addr) do { \
- ep->length = 4; \
- ep->value[0] = addr >> 24; \
- ep->value[1] = addr >> 16; \
- ep->value[2] = addr >> 8; \
- ep->value[3] = addr; \
-} while (0)
-
-#define LOCAL_IP_ADDR(addr) \
- (((addr) & 0xff000000) == 0x0a000000 /* 10.x.x.x */ \
- || ((addr) & 0xfff00000) == 0xac100000 /* 172.16.x.x */ \
- || ((addr) & 0xffff0000) == 0xc0a80000) /* 192.168.x.x */
-
-#define process_exists(n) (kill((n), 0) == 0 || errno != ESRCH)
-
-void
-mp_check_options()
-{
- lcp_options *wo = &lcp_wantoptions[0];
- lcp_options *ao = &lcp_allowoptions[0];
-
- if (!multilink)
- return;
- /* if we're doing multilink, we have to negotiate MRRU */
- if (!wo->neg_mrru) {
- /* mrru not specified, default to mru */
- wo->mrru = wo->mru;
- wo->neg_mrru = 1;
- }
- ao->mrru = ao->mru;
- ao->neg_mrru = 1;
-
- if (!wo->neg_endpoint && !noendpoint) {
- /* get a default endpoint value */
- wo->neg_endpoint = get_default_epdisc(&wo->endpoint);
- }
-}
-
-/*
- * Make a new bundle or join us to an existing bundle
- * if we are doing multilink.
- */
-int
-mp_join_bundle()
-{
- lcp_options *go = &lcp_gotoptions[0];
- lcp_options *ho = &lcp_hisoptions[0];
- lcp_options *ao = &lcp_allowoptions[0];
- int unit, pppd_pid;
- int l, mtu;
- char *p;
- TDB_DATA key, pid, rec;
-
- if (!go->neg_mrru || !ho->neg_mrru) {
- /* not doing multilink */
- if (go->neg_mrru)
- notice("oops, multilink negotiated only for receive");
- mtu = ho->neg_mru? ho->mru: PPP_MRU;
- if (mtu > ao->mru)
- mtu = ao->mru;
- if (demand) {
- /* already have a bundle */
- cfg_bundle(0, 0, 0, 0);
- netif_set_mtu(0, mtu);
- return 0;
- }
- make_new_bundle(0, 0, 0, 0);
- set_ifunit(1);
- netif_set_mtu(0, mtu);
- return 0;
- }
-
- /*
- * Find the appropriate bundle or join a new one.
- * First we make up a name for the bundle.
- * The length estimate is worst-case assuming every
- * character has to be quoted.
- */
- l = 4 * strlen(peer_authname) + 10;
- if (ho->neg_endpoint)
- l += 3 * ho->endpoint.length + 8;
- if (bundle_name)
- l += 3 * strlen(bundle_name) + 2;
- bundle_id = malloc(l);
- if (bundle_id == 0)
- novm("bundle identifier");
-
- p = bundle_id;
- p += slprintf(p, l-1, "BUNDLE=\"%q\"", peer_authname);
- if (ho->neg_endpoint || bundle_name)
- *p++ = '/';
- if (ho->neg_endpoint)
- p += slprintf(p, bundle_id+l-p, "%s",
- epdisc_to_str(&ho->endpoint));
- if (bundle_name)
- p += slprintf(p, bundle_id+l-p, "/%v", bundle_name);
-
- /*
- * For demand mode, we only need to configure the bundle
- * and attach the link.
- */
- mtu = MIN(ho->mrru, ao->mru);
- if (demand) {
- cfg_bundle(go->mrru, ho->mrru, go->neg_ssnhf, ho->neg_ssnhf);
- netif_set_mtu(0, mtu);
- script_setenv("BUNDLE", bundle_id + 7, 1);
- return 0;
- }
-
- /*
- * Check if the bundle ID is already in the database.
- */
- unit = -1;
- tdb_writelock(pppdb);
- key.dptr = bundle_id;
- key.dsize = p - bundle_id;
- pid = tdb_fetch(pppdb, key);
- if (pid.dptr != NULL) {
- /* bundle ID exists, see if the pppd record exists */
- rec = tdb_fetch(pppdb, pid);
- if (rec.dptr != NULL) {
- /* it is, parse the interface number */
- parse_num(rec.dptr, "IFNAME=ppp", &unit);
- /* check the pid value */
- if (!parse_num(rec.dptr, "PPPD_PID=", &pppd_pid)
- || !process_exists(pppd_pid)
- || !owns_unit(pid, unit))
- unit = -1;
- free(rec.dptr);
- }
- free(pid.dptr);
- }
-
- if (unit >= 0) {
- /* attach to existing unit */
- if (bundle_attach(unit)) {
- set_ifunit(0);
- script_setenv("BUNDLE", bundle_id + 7, 0);
- tdb_writeunlock(pppdb);
- info("Link attached to %s", ifname);
- return 1;
- }
- /* attach failed because bundle doesn't exist */
- }
-
- /* we have to make a new bundle */
- make_new_bundle(go->mrru, ho->mrru, go->neg_ssnhf, ho->neg_ssnhf);
- set_ifunit(1);
- netif_set_mtu(0, mtu);
- script_setenv("BUNDLE", bundle_id + 7, 1);
- tdb_writeunlock(pppdb);
- info("New bundle %s created", ifname);
- return 0;
-}
-
-static int
-parse_num(str, key, valp)
- char *str;
- const char *key;
- int *valp;
-{
- char *p, *endp;
- int i;
-
- p = strstr(str, key);
- if (p != 0) {
- p += strlen(key);
- i = strtol(p, &endp, 10);
- if (endp != p && (*endp == 0 || *endp == ';')) {
- *valp = i;
- return 1;
- }
- }
- return 0;
-}
-
-/*
- * Check whether the pppd identified by `key' still owns ppp unit `unit'.
- */
-static int
-owns_unit(key, unit)
- TDB_DATA key;
- int unit;
-{
- char ifkey[32];
- TDB_DATA kd, vd;
- int ret = 0;
-
- slprintf(ifkey, sizeof(ifkey), "IFNAME=ppp%d", unit);
- kd.dptr = ifkey;
- kd.dsize = strlen(ifkey);
- vd = tdb_fetch(pppdb, kd);
- if (vd.dptr != NULL) {
- ret = vd.dsize == key.dsize
- && memcmp(vd.dptr, key.dptr, vd.dsize) == 0;
- free(vd.dptr);
- }
- return ret;
-}
-
-static int
-get_default_epdisc(ep)
- struct epdisc *ep;
-{
- char *p;
- struct hostent *hp;
- u_int32_t addr;
-
- /* First try for an ethernet MAC address */
- p = get_first_ethernet();
- if (p != 0 && get_if_hwaddr(ep->value, p) >= 0) {
- ep->class = EPD_MAC;
- ep->length = 6;
- return 1;
- }
-
- /* see if our hostname corresponds to a reasonable IP address */
- hp = gethostbyname(hostname);
- if (hp != NULL) {
- addr = *(u_int32_t *)hp->h_addr;
- if (!bad_ip_adrs(addr)) {
- addr = ntohl(addr);
- if (!LOCAL_IP_ADDR(addr)) {
- ep->class = EPD_IP;
- set_ip_epdisc(ep, addr);
- return 1;
- }
- }
- }
-
- return 0;
-}
-
-/*
- * epdisc_to_str - make a printable string from an endpoint discriminator.
- */
-
-static char *endp_class_names[] = {
- "null", "local", "IP", "MAC", "magic", "phone"
-};
-
-char *
-epdisc_to_str(ep)
- struct epdisc *ep;
-{
- static char str[MAX_ENDP_LEN*3+8];
- u_char *p = ep->value;
- int i, mask = 0;
- char *q, c, c2;
-
- if (ep->class == EPD_NULL && ep->length == 0)
- return "null";
- if (ep->class == EPD_IP && ep->length == 4) {
- u_int32_t addr;
-
- GETLONG(addr, p);
- slprintf(str, sizeof(str), "IP:%I", htonl(addr));
- return str;
- }
-
- c = ':';
- c2 = '.';
- if (ep->class == EPD_MAC && ep->length == 6)
- c2 = ':';
- else if (ep->class == EPD_MAGIC && (ep->length % 4) == 0)
- mask = 3;
- q = str;
- if (ep->class <= EPD_PHONENUM)
- q += slprintf(q, sizeof(str)-1, "%s",
- endp_class_names[ep->class]);
- else
- q += slprintf(q, sizeof(str)-1, "%d", ep->class);
- c = ':';
- for (i = 0; i < ep->length && i < MAX_ENDP_LEN; ++i) {
- if ((i & mask) == 0) {
- *q++ = c;
- c = c2;
- }
- q += slprintf(q, str + sizeof(str) - q, "%.2x", ep->value[i]);
- }
- return str;
-}
-
-static int hexc_val(int c)
-{
- if (c >= 'a')
- return c - 'a' + 10;
- if (c >= 'A')
- return c - 'A' + 10;
- return c - '0';
-}
-
-int
-str_to_epdisc(ep, str)
- struct epdisc *ep;
- char *str;
-{
- int i, l;
- char *p, *endp;
-
- for (i = EPD_NULL; i <= EPD_PHONENUM; ++i) {
- int sl = strlen(endp_class_names[i]);
- if (strncasecmp(str, endp_class_names[i], sl) == 0) {
- str += sl;
- break;
- }
- }
- if (i > EPD_PHONENUM) {
- /* not a class name, try a decimal class number */
- i = strtol(str, &endp, 10);
- if (endp == str)
- return 0; /* can't parse class number */
- str = endp;
- }
- ep->class = i;
- if (*str == 0) {
- ep->length = 0;
- return 1;
- }
- if (*str != ':' && *str != '.')
- return 0;
- ++str;
-
- if (i == EPD_IP) {
- u_int32_t addr;
- i = parse_dotted_ip(str, &addr);
- if (i == 0 || str[i] != 0)
- return 0;
- set_ip_epdisc(ep, addr);
- return 1;
- }
- if (i == EPD_MAC && get_if_hwaddr(ep->value, str) >= 0) {
- ep->length = 6;
- return 1;
- }
-
- p = str;
- for (l = 0; l < MAX_ENDP_LEN; ++l) {
- if (*str == 0)
- break;
- if (p <= str)
- for (p = str; isxdigit(*p); ++p)
- ;
- i = p - str;
- if (i == 0)
- return 0;
- ep->value[l] = hexc_val(*str++);
- if ((i & 1) == 0)
- ep->value[l] = (ep->value[l] << 4) + hexc_val(*str++);
- if (*str == ':' || *str == '.')
- ++str;
- }
- if (*str != 0 || (ep->class == EPD_MAC && l != 6))
- return 0;
- ep->length = l;
- return 1;
-}
-
diff --git a/mdk-stage1/ppp/pppd/options.c b/mdk-stage1/ppp/pppd/options.c
deleted file mode 100644
index 9ebac372e..000000000
--- a/mdk-stage1/ppp/pppd/options.c
+++ /dev/null
@@ -1,1513 +0,0 @@
-/*
- * options.c - handles option processing for PPP.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <ctype.h>
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <syslog.h>
-#include <string.h>
-#include <pwd.h>
-#ifdef PLUGIN
-#include <dlfcn.h>
-#endif
-#ifdef PPP_FILTER
-#include <pcap.h>
-#include <pcap-int.h> /* XXX: To get struct pcap */
-#endif
-
-#include "pppd.h"
-#include "pathnames.h"
-
-#if defined(ultrix) || defined(NeXT)
-char *strdup __P((char *));
-#endif
-
-static const char rcsid[] = RCSID;
-
-struct option_value {
- struct option_value *next;
- const char *source;
- char value[1];
-};
-
-/*
- * Option variables and default values.
- */
-#ifdef PPP_FILTER
-int dflag = 0; /* Tell libpcap we want debugging */
-#endif
-int debug = 0; /* Debug flag */
-int kdebugflag = 0; /* Tell kernel to print debug messages */
-int default_device = 1; /* Using /dev/tty or equivalent */
-char devnam[MAXPATHLEN]; /* Device name */
-bool nodetach = 0; /* Don't detach from controlling tty */
-bool updetach = 0; /* Detach once link is up */
-int maxconnect = 0; /* Maximum connect time */
-char user[MAXNAMELEN]; /* Username for PAP */
-char passwd[MAXSECRETLEN]; /* Password for PAP */
-bool persist = 0; /* Reopen link after it goes down */
-char our_name[MAXNAMELEN]; /* Our name for authentication purposes */
-bool demand = 0; /* do dial-on-demand */
-char *ipparam = NULL; /* Extra parameter for ip up/down scripts */
-int idle_time_limit = 0; /* Disconnect if idle for this many seconds */
-int holdoff = 30; /* # seconds to pause before reconnecting */
-bool holdoff_specified; /* true if a holdoff value has been given */
-int log_to_fd = 1; /* send log messages to this fd too */
-bool log_default = 1; /* log_to_fd is default (stdout) */
-int maxfail = 10; /* max # of unsuccessful connection attempts */
-char linkname[MAXPATHLEN]; /* logical name for link */
-bool tune_kernel; /* may alter kernel settings */
-int connect_delay = 1000; /* wait this many ms after connect script */
-int req_unit = -1; /* requested interface unit */
-bool multilink = 0; /* Enable multilink operation */
-char *bundle_name = NULL; /* bundle name for multilink */
-bool dump_options; /* print out option values */
-bool dryrun; /* print out option values and exit */
-char *domain; /* domain name set by domain option */
-
-extern option_t auth_options[];
-extern struct stat devstat;
-
-#ifdef PPP_FILTER
-struct bpf_program pass_filter;/* Filter program for packets to pass */
-struct bpf_program active_filter; /* Filter program for link-active pkts */
-pcap_t pc; /* Fake struct pcap so we can compile expr */
-#endif
-
-char *current_option; /* the name of the option being parsed */
-int privileged_option; /* set iff the current option came from root */
-char *option_source; /* string saying where the option came from */
-int option_priority = OPRIO_CFGFILE; /* priority of the current options */
-bool devnam_fixed; /* can no longer change device name */
-
-static int logfile_fd = -1; /* fd opened for log file */
-static char logfile_name[MAXPATHLEN]; /* name of log file */
-
-/*
- * Prototypes
- */
-static int setdomain __P((char **));
-static int readfile __P((char **));
-static int callfile __P((char **));
-static int showversion __P((char **));
-static int showhelp __P((char **));
-static void usage __P((void));
-static int setlogfile __P((char **));
-#ifdef PLUGIN
-static int loadplugin __P((char **));
-#endif
-
-#ifdef PPP_FILTER
-static int setpassfilter __P((char **));
-static int setactivefilter __P((char **));
-#endif
-
-static option_t *find_option __P((const char *name));
-static int process_option __P((option_t *, char *, char **));
-static int n_arguments __P((option_t *));
-static int number_option __P((char *, u_int32_t *, int));
-
-/*
- * Structure to store extra lists of options.
- */
-struct option_list {
- option_t *options;
- struct option_list *next;
-};
-
-static struct option_list *extra_options = NULL;
-
-/*
- * Valid arguments.
- */
-option_t general_options[] = {
- { "debug", o_int, &debug,
- "Increase debugging level", OPT_INC | OPT_NOARG | 1 },
- { "-d", o_int, &debug,
- "Increase debugging level",
- OPT_ALIAS | OPT_INC | OPT_NOARG | 1 },
-
- { "kdebug", o_int, &kdebugflag,
- "Set kernel driver debug level", OPT_PRIO },
-
- { "nodetach", o_bool, &nodetach,
- "Don't detach from controlling tty", OPT_PRIO | 1 },
- { "-detach", o_bool, &nodetach,
- "Don't detach from controlling tty", OPT_ALIAS | OPT_PRIOSUB | 1 },
- { "updetach", o_bool, &updetach,
- "Detach from controlling tty once link is up",
- OPT_PRIOSUB | OPT_A2CLR | 1, &nodetach },
-
- { "holdoff", o_int, &holdoff,
- "Set time in seconds before retrying connection", OPT_PRIO },
-
- { "idle", o_int, &idle_time_limit,
- "Set time in seconds before disconnecting idle link", OPT_PRIO },
-
- { "maxconnect", o_int, &maxconnect,
- "Set connection time limit",
- OPT_PRIO | OPT_LLIMIT | OPT_NOINCR | OPT_ZEROINF },
-
- { "domain", o_special, (void *)setdomain,
- "Add given domain name to hostname",
- OPT_PRIO | OPT_PRIV | OPT_A2STRVAL, &domain },
-
- { "file", o_special, (void *)readfile,
- "Take options from a file", OPT_NOPRINT },
- { "call", o_special, (void *)callfile,
- "Take options from a privileged file", OPT_NOPRINT },
-
- { "persist", o_bool, &persist,
- "Keep on reopening connection after close", OPT_PRIO | 1 },
- { "nopersist", o_bool, &persist,
- "Turn off persist option", OPT_PRIOSUB },
-
- { "demand", o_bool, &demand,
- "Dial on demand", OPT_INITONLY | 1, &persist },
-
- { "--version", o_special_noarg, (void *)showversion,
- "Show version number" },
- { "--help", o_special_noarg, (void *)showhelp,
- "Show brief listing of options" },
- { "-h", o_special_noarg, (void *)showhelp,
- "Show brief listing of options", OPT_ALIAS },
-
- { "logfile", o_special, (void *)setlogfile,
- "Append log messages to this file",
- OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, &logfile_name },
- { "logfd", o_int, &log_to_fd,
- "Send log messages to this file descriptor",
- OPT_PRIOSUB | OPT_A2CLR, &log_default },
- { "nolog", o_int, &log_to_fd,
- "Don't send log messages to any file",
- OPT_PRIOSUB | OPT_NOARG | OPT_VAL(-1) },
- { "nologfd", o_int, &log_to_fd,
- "Don't send log messages to any file descriptor",
- OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
-
- { "linkname", o_string, linkname,
- "Set logical name for link",
- OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXPATHLEN },
-
- { "maxfail", o_int, &maxfail,
- "Maximum number of unsuccessful connection attempts to allow",
- OPT_PRIO },
-
- { "ktune", o_bool, &tune_kernel,
- "Alter kernel settings as necessary", OPT_PRIO | 1 },
- { "noktune", o_bool, &tune_kernel,
- "Don't alter kernel settings", OPT_PRIOSUB },
-
- { "connect-delay", o_int, &connect_delay,
- "Maximum time (in ms) to wait after connect script finishes",
- OPT_PRIO },
-
- { "unit", o_int, &req_unit,
- "PPP interface unit number to use if possible",
- OPT_PRIO | OPT_LLIMIT, 0, 0 },
-
- { "dump", o_bool, &dump_options,
- "Print out option values after parsing all options", 1 },
- { "dryrun", o_bool, &dryrun,
- "Stop after parsing, printing, and checking options", 1 },
-
-#ifdef HAVE_MULTILINK
- { "multilink", o_bool, &multilink,
- "Enable multilink operation", OPT_PRIO | 1 },
- { "mp", o_bool, &multilink,
- "Enable multilink operation", OPT_PRIOSUB | OPT_ALIAS | 1 },
- { "nomultilink", o_bool, &multilink,
- "Disable multilink operation", OPT_PRIOSUB | 0 },
- { "nomp", o_bool, &multilink,
- "Disable multilink operation", OPT_PRIOSUB | OPT_ALIAS | 0 },
-
- { "bundle", o_string, &bundle_name,
- "Bundle name for multilink", OPT_PRIO },
-#endif /* HAVE_MULTILINK */
-
-#ifdef PLUGIN
- { "plugin", o_special, (void *)loadplugin,
- "Load a plug-in module into pppd", OPT_PRIV | OPT_A2LIST },
-#endif
-
-#ifdef PPP_FILTER
- { "pdebug", o_int, &dflag,
- "libpcap debugging", OPT_PRIO },
-
- { "pass-filter", 1, setpassfilter,
- "set filter for packets to pass", OPT_PRIO },
-
- { "active-filter", 1, setactivefilter,
- "set filter for active pkts", OPT_PRIO },
-#endif
-
- { NULL }
-};
-
-#ifndef IMPLEMENTATION
-#define IMPLEMENTATION ""
-#endif
-
-static char *usage_string = "\
-pppd version %s\n\
-Usage: %s [ options ], where options are:\n\
- <device> Communicate over the named device\n\
- <speed> Set the baud rate to <speed>\n\
- <loc>:<rem> Set the local and/or remote interface IP\n\
- addresses. Either one may be omitted.\n\
- asyncmap <n> Set the desired async map to hex <n>\n\
- auth Require authentication from peer\n\
- connect <p> Invoke shell command <p> to set up the serial line\n\
- crtscts Use hardware RTS/CTS flow control\n\
- defaultroute Add default route through interface\n\
- file <f> Take options from file <f>\n\
- modem Use modem control lines\n\
- mru <n> Set MRU value to <n> for negotiation\n\
-See pppd(8) for more options.\n\
-";
-
-/*
- * parse_args - parse a string of arguments from the command line.
- */
-int
-parse_args(argc, argv)
- int argc;
- char **argv;
-{
- char *arg;
- option_t *opt;
- int n;
-
- privileged_option = privileged;
- option_source = "command line";
- option_priority = OPRIO_CMDLINE;
- while (argc > 0) {
- arg = *argv++;
- --argc;
- opt = find_option(arg);
- if (opt == NULL) {
- option_error("unrecognized option '%s'", arg);
- usage();
- return 0;
- }
- n = n_arguments(opt);
- if (argc < n) {
- option_error("too few parameters for option %s", arg);
- return 0;
- }
- if (!process_option(opt, arg, argv))
- return 0;
- argc -= n;
- argv += n;
- }
- return 1;
-}
-
-/*
- * options_from_file - Read a string of options from a file,
- * and interpret them.
- */
-int
-options_from_file(filename, must_exist, check_prot, priv)
- char *filename;
- int must_exist;
- int check_prot;
- int priv;
-{
- FILE *f;
- int i, newline, ret, err;
- option_t *opt;
- int oldpriv, n;
- char *oldsource;
- char *argv[MAXARGS];
- char args[MAXARGS][MAXWORDLEN];
- char cmd[MAXWORDLEN];
-
- if (check_prot)
- seteuid(getuid());
- f = fopen(filename, "r");
- err = errno;
- if (check_prot)
- seteuid(0);
- if (f == NULL) {
- errno = err;
- if (!must_exist) {
- if (err != ENOENT && err != ENOTDIR)
- warn("Warning: can't open options file %s: %m", filename);
- return 1;
- }
- option_error("Can't open options file %s: %m", filename);
- return 0;
- }
-
- oldpriv = privileged_option;
- privileged_option = priv;
- oldsource = option_source;
- option_source = strdup(filename);
- if (option_source == NULL)
- option_source = "file";
- ret = 0;
- while (getword(f, cmd, &newline, filename)) {
- opt = find_option(cmd);
- if (opt == NULL) {
- option_error("In file %s: unrecognized option '%s'",
- filename, cmd);
- goto err;
- }
- n = n_arguments(opt);
- for (i = 0; i < n; ++i) {
- if (!getword(f, args[i], &newline, filename)) {
- option_error(
- "In file %s: too few parameters for option '%s'",
- filename, cmd);
- goto err;
- }
- argv[i] = args[i];
- }
- if (!process_option(opt, cmd, argv))
- goto err;
- }
- ret = 1;
-
-err:
- fclose(f);
- privileged_option = oldpriv;
- option_source = oldsource;
- return ret;
-}
-
-/*
- * options_from_user - See if the use has a ~/.ppprc file,
- * and if so, interpret options from it.
- */
-int
-options_from_user()
-{
- char *user, *path, *file;
- int ret;
- struct passwd *pw;
- size_t pl;
-
- pw = getpwuid(getuid());
- if (pw == NULL || (user = pw->pw_dir) == NULL || user[0] == 0)
- return 1;
- file = _PATH_USEROPT;
- pl = strlen(user) + strlen(file) + 2;
- path = malloc(pl);
- if (path == NULL)
- novm("init file name");
- slprintf(path, pl, "%s/%s", user, file);
- option_priority = OPRIO_CFGFILE;
- ret = options_from_file(path, 0, 1, privileged);
- free(path);
- return ret;
-}
-
-/*
- * options_for_tty - See if an options file exists for the serial
- * device, and if so, interpret options from it.
- * We only allow the per-tty options file to override anything from
- * the command line if it is something that the user can't override
- * once it has been set by root; this is done by giving configuration
- * files a lower priority than the command line.
- */
-int
-options_for_tty()
-{
- char *dev, *path, *p;
- int ret;
- size_t pl;
-
- dev = devnam;
- if (strncmp(dev, "/dev/", 5) == 0)
- dev += 5;
- if (dev[0] == 0 || strcmp(dev, "tty") == 0)
- return 1; /* don't look for /etc/ppp/options.tty */
- pl = strlen(_PATH_TTYOPT) + strlen(dev) + 1;
- path = malloc(pl);
- if (path == NULL)
- novm("tty init file name");
- slprintf(path, pl, "%s%s", _PATH_TTYOPT, dev);
- /* Turn slashes into dots, for Solaris case (e.g. /dev/term/a) */
- for (p = path + strlen(_PATH_TTYOPT); *p != 0; ++p)
- if (*p == '/')
- *p = '.';
- option_priority = OPRIO_CFGFILE;
- ret = options_from_file(path, 0, 0, 1);
- free(path);
- return ret;
-}
-
-/*
- * options_from_list - process a string of options in a wordlist.
- */
-int
-options_from_list(w, priv)
- struct wordlist *w;
- int priv;
-{
- char *argv[MAXARGS];
- option_t *opt;
- int i, n, ret = 0;
- struct wordlist *w0;
-
- privileged_option = priv;
- option_source = "secrets file";
- option_priority = OPRIO_SECFILE;
-
- while (w != NULL) {
- opt = find_option(w->word);
- if (opt == NULL) {
- option_error("In secrets file: unrecognized option '%s'",
- w->word);
- goto err;
- }
- n = n_arguments(opt);
- w0 = w;
- for (i = 0; i < n; ++i) {
- w = w->next;
- if (w == NULL) {
- option_error(
- "In secrets file: too few parameters for option '%s'",
- w0->word);
- goto err;
- }
- argv[i] = w->word;
- }
- if (!process_option(opt, w0->word, argv))
- goto err;
- w = w->next;
- }
- ret = 1;
-
-err:
- return ret;
-}
-
-/*
- * match_option - see if this option matches an option_t structure.
- */
-static int
-match_option(name, opt, dowild)
- char *name;
- option_t *opt;
- int dowild;
-{
- int (*match) __P((char *, char **, int));
-
- if (dowild != (opt->type == o_wild))
- return 0;
- if (!dowild)
- return strcmp(name, opt->name) == 0;
- match = (int (*) __P((char *, char **, int))) opt->addr;
- return (*match)(name, NULL, 0);
-}
-
-/*
- * find_option - scan the option lists for the various protocols
- * looking for an entry with the given name.
- * This could be optimized by using a hash table.
- */
-static option_t *
-find_option(name)
- const char *name;
-{
- option_t *opt;
- struct option_list *list;
- int i, dowild;
-
- for (dowild = 0; dowild <= 1; ++dowild) {
- for (opt = general_options; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- for (opt = auth_options; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- for (list = extra_options; list != NULL; list = list->next)
- for (opt = list->options; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- for (opt = the_channel->options; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- for (i = 0; protocols[i] != NULL; ++i)
- if ((opt = protocols[i]->options) != NULL)
- for (; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- }
- return NULL;
-}
-
-/*
- * process_option - process one new-style option.
- */
-static int
-process_option(opt, cmd, argv)
- option_t *opt;
- char *cmd;
- char **argv;
-{
- u_int32_t v;
- int iv, a;
- char *sv;
- int (*parser) __P((char **));
- int (*wildp) __P((char *, char **, int));
- char *optopt = (opt->type == o_wild)? "": " option";
- int prio = option_priority;
- option_t *mainopt = opt;
-
- if ((opt->flags & OPT_PRIVFIX) && privileged_option)
- prio += OPRIO_ROOT;
- while (mainopt->flags & OPT_PRIOSUB)
- --mainopt;
- if (mainopt->flags & OPT_PRIO) {
- if (prio < mainopt->priority) {
- /* new value doesn't override old */
- if (prio == OPRIO_CMDLINE && mainopt->priority > OPRIO_ROOT) {
- option_error("%s%s set in %s cannot be overridden\n",
- opt->name, optopt, mainopt->source);
- return 0;
- }
- return 1;
- }
- if (prio > OPRIO_ROOT && mainopt->priority == OPRIO_CMDLINE)
- warn("%s%s from %s overrides command line",
- opt->name, optopt, option_source);
- }
-
- if ((opt->flags & OPT_INITONLY) && phase != PHASE_INITIALIZE) {
- option_error("%s%s cannot be changed after initialization",
- opt->name, optopt);
- return 0;
- }
- if ((opt->flags & OPT_PRIV) && !privileged_option) {
- option_error("using the %s%s requires root privilege",
- opt->name, optopt);
- return 0;
- }
- if ((opt->flags & OPT_ENABLE) && *(bool *)(opt->addr2) == 0) {
- option_error("%s%s is disabled", opt->name, optopt);
- return 0;
- }
- if ((opt->flags & OPT_DEVEQUIV) && devnam_fixed) {
- option_error("the %s%s may not be changed in %s",
- opt->name, optopt, option_source);
- return 0;
- }
-
- switch (opt->type) {
- case o_bool:
- v = opt->flags & OPT_VALUE;
- *(bool *)(opt->addr) = v;
- if (opt->addr2 && (opt->flags & OPT_A2COPY))
- *(bool *)(opt->addr2) = v;
- break;
-
- case o_int:
- iv = 0;
- if ((opt->flags & OPT_NOARG) == 0) {
- if (!int_option(*argv, &iv))
- return 0;
- if ((((opt->flags & OPT_LLIMIT) && iv < opt->lower_limit)
- || ((opt->flags & OPT_ULIMIT) && iv > opt->upper_limit))
- && !((opt->flags & OPT_ZEROOK && iv == 0))) {
- char *zok = (opt->flags & OPT_ZEROOK)? " zero or": "";
- switch (opt->flags & OPT_LIMITS) {
- case OPT_LLIMIT:
- option_error("%s value must be%s >= %d",
- opt->name, zok, opt->lower_limit);
- break;
- case OPT_ULIMIT:
- option_error("%s value must be%s <= %d",
- opt->name, zok, opt->upper_limit);
- break;
- case OPT_LIMITS:
- option_error("%s value must be%s between %d and %d",
- opt->name, opt->lower_limit, opt->upper_limit);
- break;
- }
- return 0;
- }
- }
- a = opt->flags & OPT_VALUE;
- if (a >= 128)
- a -= 256; /* sign extend */
- iv += a;
- if (opt->flags & OPT_INC)
- iv += *(int *)(opt->addr);
- if ((opt->flags & OPT_NOINCR) && !privileged_option) {
- int oldv = *(int *)(opt->addr);
- if ((opt->flags & OPT_ZEROINF) ?
- (oldv != 0 && (iv == 0 || iv > oldv)) : (iv > oldv)) {
- option_error("%s value cannot be increased", opt->name);
- return 0;
- }
- }
- *(int *)(opt->addr) = iv;
- if (opt->addr2 && (opt->flags & OPT_A2COPY))
- *(int *)(opt->addr2) = iv;
- break;
-
- case o_uint32:
- if (opt->flags & OPT_NOARG) {
- v = opt->flags & OPT_VALUE;
- if (v & 0x80)
- v |= 0xffffff00U;
- } else if (!number_option(*argv, &v, 16))
- return 0;
- if (opt->flags & OPT_OR)
- v |= *(u_int32_t *)(opt->addr);
- *(u_int32_t *)(opt->addr) = v;
- if (opt->addr2 && (opt->flags & OPT_A2COPY))
- *(u_int32_t *)(opt->addr2) = v;
- break;
-
- case o_string:
- if (opt->flags & OPT_STATIC) {
- strlcpy((char *)(opt->addr), *argv, opt->upper_limit);
- } else {
- sv = strdup(*argv);
- if (sv == NULL)
- novm("option argument");
- *(char **)(opt->addr) = sv;
- }
- break;
-
- case o_special_noarg:
- case o_special:
- parser = (int (*) __P((char **))) opt->addr;
- if (!(*parser)(argv))
- return 0;
- if (opt->flags & OPT_A2LIST) {
- struct option_value *ovp, **pp;
-
- ovp = malloc(sizeof(*ovp) + strlen(*argv));
- if (ovp != 0) {
- strcpy(ovp->value, *argv);
- ovp->source = option_source;
- ovp->next = NULL;
- pp = (struct option_value **) &opt->addr2;
- while (*pp != 0)
- pp = &(*pp)->next;
- *pp = ovp;
- }
- }
- break;
-
- case o_wild:
- wildp = (int (*) __P((char *, char **, int))) opt->addr;
- if (!(*wildp)(cmd, argv, 1))
- return 0;
- break;
- }
-
- if (opt->addr2 && (opt->flags & (OPT_A2COPY|OPT_ENABLE
- |OPT_A2PRINTER|OPT_A2STRVAL|OPT_A2LIST)) == 0)
- *(bool *)(opt->addr2) = !(opt->flags & OPT_A2CLR);
-
- mainopt->source = option_source;
- mainopt->priority = prio;
- mainopt->winner = opt - mainopt;
-
- return 1;
-}
-
-/*
- * override_value - if the option priorities would permit us to
- * override the value of option, return 1 and update the priority
- * and source of the option value. Otherwise returns 0.
- */
-int
-override_value(option, priority, source)
- const char *option;
- int priority;
- const char *source;
-{
- option_t *opt;
-
- opt = find_option(option);
- if (opt == NULL)
- return 0;
- while (opt->flags & OPT_PRIOSUB)
- --opt;
- if ((opt->flags & OPT_PRIO) && priority < opt->priority)
- return 0;
- opt->priority = priority;
- opt->source = source;
- opt->winner = -1;
- return 1;
-}
-
-/*
- * n_arguments - tell how many arguments an option takes
- */
-static int
-n_arguments(opt)
- option_t *opt;
-{
- return (opt->type == o_bool || opt->type == o_special_noarg
- || (opt->flags & OPT_NOARG))? 0: 1;
-}
-
-/*
- * add_options - add a list of options to the set we grok.
- */
-void
-add_options(opt)
- option_t *opt;
-{
- struct option_list *list;
-
- list = malloc(sizeof(*list));
- if (list == 0)
- novm("option list entry");
- list->options = opt;
- list->next = extra_options;
- extra_options = list;
-}
-
-/*
- * check_options - check that options are valid and consistent.
- */
-void
-check_options()
-{
- if (logfile_fd >= 0 && logfile_fd != log_to_fd)
- close(logfile_fd);
-}
-
-/*
- * print_option - print out an option and its value
- */
-static void
-print_option(opt, mainopt, printer, arg)
- option_t *opt, *mainopt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int i, v;
- char *p;
-
- if (opt->flags & OPT_NOPRINT)
- return;
- switch (opt->type) {
- case o_bool:
- v = opt->flags & OPT_VALUE;
- if (*(bool *)opt->addr != v)
- /* this can happen legitimately, e.g. lock
- option turned off for default device */
- break;
- printer(arg, "%s", opt->name);
- break;
- case o_int:
- v = opt->flags & OPT_VALUE;
- if (v >= 128)
- v -= 256;
- i = *(int *)opt->addr;
- if (opt->flags & OPT_NOARG) {
- printer(arg, "%s", opt->name);
- if (i != v) {
- if (opt->flags & OPT_INC) {
- for (; i > v; i -= v)
- printer(arg, " %s", opt->name);
- } else
- printer(arg, " # oops: %d not %d\n",
- i, v);
- }
- } else {
- printer(arg, "%s %d", opt->name, i);
- }
- break;
- case o_uint32:
- printer(arg, "%s", opt->name);
- if ((opt->flags & OPT_NOARG) == 0)
- printer(arg, " %x", *(u_int32_t *)opt->addr);
- break;
-
- case o_string:
- if (opt->flags & OPT_HIDE) {
- p = "??????";
- } else {
- p = (char *) opt->addr;
- if ((opt->flags & OPT_STATIC) == 0)
- p = *(char **)p;
- }
- printer(arg, "%s %q", opt->name, p);
- break;
-
- case o_special:
- case o_special_noarg:
- case o_wild:
- if (opt->type != o_wild) {
- printer(arg, "%s", opt->name);
- if (n_arguments(opt) == 0)
- break;
- printer(arg, " ");
- }
- if (opt->flags & OPT_A2PRINTER) {
- void (*oprt) __P((option_t *,
- void ((*)__P((void *, char *, ...))),
- void *));
- oprt = opt->addr2;
- (*oprt)(opt, printer, arg);
- } else if (opt->flags & OPT_A2STRVAL) {
- p = (char *) opt->addr2;
- if ((opt->flags & OPT_STATIC) == 0)
- p = *(char **)p;
- printer("%q", p);
- } else if (opt->flags & OPT_A2LIST) {
- struct option_value *ovp;
-
- ovp = (struct option_value *) opt->addr2;
- for (;;) {
- printer(arg, "%q", ovp->value);
- if ((ovp = ovp->next) == NULL)
- break;
- printer(arg, "\t\t# (from %s)\n%s ",
- ovp->source, opt->name);
- }
- } else {
- printer(arg, "xxx # [don't know how to print value]");
- }
- break;
-
- default:
- printer(arg, "# %s value (type %d??)", opt->name, opt->type);
- break;
- }
- printer(arg, "\t\t# (from %s)\n", mainopt->source);
-}
-
-/*
- * print_option_list - print out options in effect from an
- * array of options.
- */
-static void
-print_option_list(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- while (opt->name != NULL) {
- if (opt->priority != OPRIO_DEFAULT
- && opt->winner != (short int) -1)
- print_option(opt + opt->winner, opt, printer, arg);
- do {
- ++opt;
- } while (opt->flags & OPT_PRIOSUB);
- }
-}
-
-/*
- * print_options - print out what options are in effect.
- */
-void
-print_options(printer, arg)
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- struct option_list *list;
- int i;
-
- printer(arg, "pppd options in effect:\n");
- print_option_list(general_options, printer, arg);
- print_option_list(auth_options, printer, arg);
- for (list = extra_options; list != NULL; list = list->next)
- print_option_list(list->options, printer, arg);
- print_option_list(the_channel->options, printer, arg);
- for (i = 0; protocols[i] != NULL; ++i)
- print_option_list(protocols[i]->options, printer, arg);
-}
-
-/*
- * usage - print out a message telling how to use the program.
- */
-static void
-usage()
-{
- if (phase == PHASE_INITIALIZE)
- fprintf(stderr, usage_string, VERSION, progname);
-}
-
-/*
- * showhelp - print out usage message and exit.
- */
-static int
-showhelp(argv)
- char **argv;
-{
- if (phase == PHASE_INITIALIZE) {
- usage();
- exit(0);
- }
- return 0;
-}
-
-/*
- * showversion - print out the version number and exit.
- */
-static int
-showversion(argv)
- char **argv;
-{
- if (phase == PHASE_INITIALIZE) {
- fprintf(stderr, "pppd version %s\n", VERSION);
- exit(0);
- }
- return 0;
-}
-
-/*
- * option_error - print a message about an error in an option.
- * The message is logged, and also sent to
- * stderr if phase == PHASE_INITIALIZE.
- */
-void
-option_error __V((char *fmt, ...))
-{
- va_list args;
- char buf[1024];
-
-#if defined(__STDC__)
- va_start(args, fmt);
-#else
- char *fmt;
- va_start(args);
- fmt = va_arg(args, char *);
-#endif
- vslprintf(buf, sizeof(buf), fmt, args);
- va_end(args);
- if (phase == PHASE_INITIALIZE)
- fprintf(stderr, "%s: %s\n", progname, buf);
- syslog(LOG_ERR, "%s", buf);
-}
-
-#if 0
-/*
- * readable - check if a file is readable by the real user.
- */
-int
-readable(fd)
- int fd;
-{
- uid_t uid;
- int i;
- struct stat sbuf;
-
- uid = getuid();
- if (uid == 0)
- return 1;
- if (fstat(fd, &sbuf) != 0)
- return 0;
- if (sbuf.st_uid == uid)
- return sbuf.st_mode & S_IRUSR;
- if (sbuf.st_gid == getgid())
- return sbuf.st_mode & S_IRGRP;
- for (i = 0; i < ngroups; ++i)
- if (sbuf.st_gid == groups[i])
- return sbuf.st_mode & S_IRGRP;
- return sbuf.st_mode & S_IROTH;
-}
-#endif
-
-/*
- * Read a word from a file.
- * Words are delimited by white-space or by quotes (" or ').
- * Quotes, white-space and \ may be escaped with \.
- * \<newline> is ignored.
- */
-int
-getword(f, word, newlinep, filename)
- FILE *f;
- char *word;
- int *newlinep;
- char *filename;
-{
- int c, len, escape;
- int quoted, comment;
- int value, digit, got, n;
-
-#define isoctal(c) ((c) >= '0' && (c) < '8')
-
- *newlinep = 0;
- len = 0;
- escape = 0;
- comment = 0;
-
- /*
- * First skip white-space and comments.
- */
- for (;;) {
- c = getc(f);
- if (c == EOF)
- break;
-
- /*
- * A newline means the end of a comment; backslash-newline
- * is ignored. Note that we cannot have escape && comment.
- */
- if (c == '\n') {
- if (!escape) {
- *newlinep = 1;
- comment = 0;
- } else
- escape = 0;
- continue;
- }
-
- /*
- * Ignore characters other than newline in a comment.
- */
- if (comment)
- continue;
-
- /*
- * If this character is escaped, we have a word start.
- */
- if (escape)
- break;
-
- /*
- * If this is the escape character, look at the next character.
- */
- if (c == '\\') {
- escape = 1;
- continue;
- }
-
- /*
- * If this is the start of a comment, ignore the rest of the line.
- */
- if (c == '#') {
- comment = 1;
- continue;
- }
-
- /*
- * A non-whitespace character is the start of a word.
- */
- if (!isspace(c))
- break;
- }
-
- /*
- * Save the delimiter for quoted strings.
- */
- if (!escape && (c == '"' || c == '\'')) {
- quoted = c;
- c = getc(f);
- } else
- quoted = 0;
-
- /*
- * Process characters until the end of the word.
- */
- while (c != EOF) {
- if (escape) {
- /*
- * This character is escaped: backslash-newline is ignored,
- * various other characters indicate particular values
- * as for C backslash-escapes.
- */
- escape = 0;
- if (c == '\n') {
- c = getc(f);
- continue;
- }
-
- got = 0;
- switch (c) {
- case 'a':
- value = '\a';
- break;
- case 'b':
- value = '\b';
- break;
- case 'f':
- value = '\f';
- break;
- case 'n':
- value = '\n';
- break;
- case 'r':
- value = '\r';
- break;
- case 's':
- value = ' ';
- break;
- case 't':
- value = '\t';
- break;
-
- default:
- if (isoctal(c)) {
- /*
- * \ddd octal sequence
- */
- value = 0;
- for (n = 0; n < 3 && isoctal(c); ++n) {
- value = (value << 3) + (c & 07);
- c = getc(f);
- }
- got = 1;
- break;
- }
-
- if (c == 'x') {
- /*
- * \x<hex_string> sequence
- */
- value = 0;
- c = getc(f);
- for (n = 0; n < 2 && isxdigit(c); ++n) {
- digit = toupper(c) - '0';
- if (digit > 10)
- digit += '0' + 10 - 'A';
- value = (value << 4) + digit;
- c = getc (f);
- }
- got = 1;
- break;
- }
-
- /*
- * Otherwise the character stands for itself.
- */
- value = c;
- break;
- }
-
- /*
- * Store the resulting character for the escape sequence.
- */
- if (len < MAXWORDLEN-1)
- word[len] = value;
- ++len;
-
- if (!got)
- c = getc(f);
- continue;
-
- }
-
- /*
- * Not escaped: see if we've reached the end of the word.
- */
- if (quoted) {
- if (c == quoted)
- break;
- } else {
- if (isspace(c) || c == '#') {
- ungetc (c, f);
- break;
- }
- }
-
- /*
- * Backslash starts an escape sequence.
- */
- if (c == '\\') {
- escape = 1;
- c = getc(f);
- continue;
- }
-
- /*
- * An ordinary character: store it in the word and get another.
- */
- if (len < MAXWORDLEN-1)
- word[len] = c;
- ++len;
-
- c = getc(f);
- }
-
- /*
- * End of the word: check for errors.
- */
- if (c == EOF) {
- if (ferror(f)) {
- if (errno == 0)
- errno = EIO;
- option_error("Error reading %s: %m", filename);
- die(1);
- }
- /*
- * If len is zero, then we didn't find a word before the
- * end of the file.
- */
- if (len == 0)
- return 0;
- }
-
- /*
- * Warn if the word was too long, and append a terminating null.
- */
- if (len >= MAXWORDLEN) {
- option_error("warning: word in file %s too long (%.20s...)",
- filename, word);
- len = MAXWORDLEN - 1;
- }
- word[len] = 0;
-
- return 1;
-
-#undef isoctal
-
-}
-
-/*
- * number_option - parse an unsigned numeric parameter for an option.
- */
-static int
-number_option(str, valp, base)
- char *str;
- u_int32_t *valp;
- int base;
-{
- char *ptr;
-
- *valp = strtoul(str, &ptr, base);
- if (ptr == str) {
- option_error("invalid numeric parameter '%s' for %s option",
- str, current_option);
- return 0;
- }
- return 1;
-}
-
-
-/*
- * int_option - like number_option, but valp is int *,
- * the base is assumed to be 0, and *valp is not changed
- * if there is an error.
- */
-int
-int_option(str, valp)
- char *str;
- int *valp;
-{
- u_int32_t v;
-
- if (!number_option(str, &v, 0))
- return 0;
- *valp = (int) v;
- return 1;
-}
-
-
-/*
- * The following procedures parse options.
- */
-
-/*
- * readfile - take commands from a file.
- */
-static int
-readfile(argv)
- char **argv;
-{
- return options_from_file(*argv, 1, 1, privileged_option);
-}
-
-/*
- * callfile - take commands from /etc/ppp/peers/<name>.
- * Name may not contain /../, start with / or ../, or end in /..
- */
-static int
-callfile(argv)
- char **argv;
-{
- char *fname, *arg, *p;
- int l, ok;
-
- arg = *argv;
- ok = 1;
- if (arg[0] == '/' || arg[0] == 0)
- ok = 0;
- else {
- for (p = arg; *p != 0; ) {
- if (p[0] == '.' && p[1] == '.' && (p[2] == '/' || p[2] == 0)) {
- ok = 0;
- break;
- }
- while (*p != '/' && *p != 0)
- ++p;
- if (*p == '/')
- ++p;
- }
- }
- if (!ok) {
- option_error("call option value may not contain .. or start with /");
- return 0;
- }
-
- l = strlen(arg) + strlen(_PATH_PEERFILES) + 1;
- if ((fname = (char *) malloc(l)) == NULL)
- novm("call file name");
- slprintf(fname, l, "%s%s", _PATH_PEERFILES, arg);
-
- ok = options_from_file(fname, 1, 1, 1);
-
- free(fname);
- return ok;
-}
-
-#ifdef PPP_FILTER
-/*
- * setpassfilter - Set the pass filter for packets
- */
-static int
-setpassfilter(argv)
- char **argv;
-{
- pc.linktype = DLT_PPP;
- pc.snapshot = PPP_HDRLEN;
-
- if (pcap_compile(&pc, &pass_filter, *argv, 1, netmask) == 0)
- return 1;
- option_error("error in pass-filter expression: %s\n", pcap_geterr(&pc));
- return 0;
-}
-
-/*
- * setactivefilter - Set the active filter for packets
- */
-static int
-setactivefilter(argv)
- char **argv;
-{
- pc.linktype = DLT_PPP;
- pc.snapshot = PPP_HDRLEN;
-
- if (pcap_compile(&pc, &active_filter, *argv, 1, netmask) == 0)
- return 1;
- option_error("error in active-filter expression: %s\n", pcap_geterr(&pc));
- return 0;
-}
-#endif
-
-/*
- * setdomain - Set domain name to append to hostname
- */
-static int
-setdomain(argv)
- char **argv;
-{
- gethostname(hostname, MAXNAMELEN);
- if (**argv != 0) {
- if (**argv != '.')
- strncat(hostname, ".", MAXNAMELEN - strlen(hostname));
- domain = hostname + strlen(hostname);
- strncat(hostname, *argv, MAXNAMELEN - strlen(hostname));
- }
- hostname[MAXNAMELEN-1] = 0;
- return (1);
-}
-
-
-static int
-setlogfile(argv)
- char **argv;
-{
- int fd, err;
-
- if (!privileged_option)
- seteuid(getuid());
- fd = open(*argv, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0644);
- if (fd < 0 && errno == EEXIST)
- fd = open(*argv, O_WRONLY | O_APPEND);
- err = errno;
- if (!privileged_option)
- seteuid(0);
- if (fd < 0) {
- errno = err;
- option_error("Can't open log file %s: %m", *argv);
- return 0;
- }
- strlcpy(logfile_name, *argv, sizeof(logfile_name));
- if (logfile_fd >= 0)
- close(logfile_fd);
- logfile_fd = fd;
- log_to_fd = fd;
- log_default = 0;
- return 1;
-}
-
-#ifdef PLUGIN
-static int
-loadplugin(argv)
- char **argv;
-{
- char *arg = *argv;
- void *handle;
- const char *err;
- void (*init) __P((void));
- char *path = arg;
- const char *vers;
-
- if (strchr(arg, '/') == 0) {
- const char *base = _PATH_PLUGIN;
- int l = strlen(base) + strlen(arg) + 2;
- path = malloc(l);
- if (path == 0)
- novm("plugin file path");
- strlcpy(path, base, l);
- strlcat(path, "/", l);
- strlcat(path, arg, l);
- }
- handle = dlopen(path, RTLD_GLOBAL | RTLD_NOW);
- if (handle == 0) {
- err = dlerror();
- if (err != 0)
- option_error("%s", err);
- option_error("Couldn't load plugin %s", arg);
- goto err;
- }
- init = (void (*)(void))dlsym(handle, "plugin_init");
- if (init == 0) {
- option_error("%s has no initialization entry point", arg);
- goto errclose;
- }
- vers = (const char *) dlsym(handle, "pppd_version");
- if (vers == 0) {
- warn("Warning: plugin %s has no version information", arg);
- } else if (strcmp(vers, VERSION) != 0) {
- option_error("Plugin %s is for pppd version %s, this is %s",
- vers, VERSION);
- goto errclose;
- }
- info("Plugin %s loaded.", arg);
- (*init)();
- return 1;
-
- errclose:
- dlclose(handle);
- err:
- if (path != arg)
- free(path);
- return 0;
-}
-#endif /* PLUGIN */
diff --git a/mdk-stage1/ppp/pppd/patchlevel.h b/mdk-stage1/ppp/pppd/patchlevel.h
deleted file mode 100644
index 2a2d816f1..000000000
--- a/mdk-stage1/ppp/pppd/patchlevel.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $Id$ */
-
-#define VERSION "2.4.1"
-#define DATE "25 March 2001"
diff --git a/mdk-stage1/ppp/pppd/pathnames.h b/mdk-stage1/ppp/pppd/pathnames.h
deleted file mode 100644
index d8eee70de..000000000
--- a/mdk-stage1/ppp/pppd/pathnames.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * define path names
- *
- * $Id$
- */
-
-#ifdef HAVE_PATHS_H
-#include <paths.h>
-
-#else /* HAVE_PATHS_H */
-#ifndef _PATH_VARRUN
-#define _PATH_VARRUN "/etc/ppp/"
-#endif
-#define _PATH_DEVNULL "/dev/null"
-#endif /* HAVE_PATHS_H */
-
-#ifndef _ROOT_PATH
-#define _ROOT_PATH
-#endif
-
-#define _PATH_UPAPFILE _ROOT_PATH "/etc/ppp/pap-secrets"
-#define _PATH_CHAPFILE _ROOT_PATH "/etc/ppp/chap-secrets"
-#define _PATH_SYSOPTIONS _ROOT_PATH "/etc/ppp/options"
-#define _PATH_IPUP _ROOT_PATH "/etc/ppp/ip-up"
-#define _PATH_IPDOWN _ROOT_PATH "/etc/ppp/ip-down"
-#define _PATH_AUTHUP _ROOT_PATH "/etc/ppp/auth-up"
-#define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down"
-#define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
-#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
-#define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
-#define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf"
-
-#define _PATH_USEROPT ".ppprc"
-
-#ifdef INET6
-#define _PATH_IPV6UP _ROOT_PATH "/etc/ppp/ipv6-up"
-#define _PATH_IPV6DOWN _ROOT_PATH "/etc/ppp/ipv6-down"
-#endif
-
-#ifdef IPX_CHANGE
-#define _PATH_IPXUP _ROOT_PATH "/etc/ppp/ipx-up"
-#define _PATH_IPXDOWN _ROOT_PATH "/etc/ppp/ipx-down"
-#endif /* IPX_CHANGE */
-
-#ifdef __STDC__
-#define _PATH_PPPDB _ROOT_PATH _PATH_VARRUN "pppd.tdb"
-#else /* __STDC__ */
-#ifdef HAVE_PATHS_H
-#define _PATH_PPPDB "/var/run/pppd.tdb"
-#else
-#define _PATH_PPPDB "/etc/ppp/pppd.tdb"
-#endif
-#endif /* __STDC__ */
-
-#ifdef PLUGIN
-#define _PATH_PLUGIN "/usr/lib/pppd/" VERSION
-#endif /* PLUGIN */
diff --git a/mdk-stage1/ppp/pppd/plugins/Makefile.linux b/mdk-stage1/ppp/pppd/plugins/Makefile.linux
deleted file mode 100644
index a64256461..000000000
--- a/mdk-stage1/ppp/pppd/plugins/Makefile.linux
+++ /dev/null
@@ -1,19 +0,0 @@
-CC = gcc
-CFLAGS = -g -O2 -I.. -I../../include -fPIC
-LDFLAGS = -shared
-INSTALL = install
-
-all: minconn.so passprompt.so
-
-minconn.so: minconn.c
- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) minconn.c
-
-passprompt.so: passprompt.c
- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) passprompt.c
-
-LIBDIR = /usr/lib/pppd
-
-install: minconn.so passprompt.so
- version=`awk -F '"' '/VERSION/ { print $$2; }' ../patchlevel.h`; \
- $(INSTALL) -d $(LIBDIR)/$$version; \
- $(INSTALL) $? $(LIBDIR)/$$version \ No newline at end of file
diff --git a/mdk-stage1/ppp/pppd/plugins/Makefile.sol2 b/mdk-stage1/ppp/pppd/plugins/Makefile.sol2
deleted file mode 100644
index 8f4398258..000000000
--- a/mdk-stage1/ppp/pppd/plugins/Makefile.sol2
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Makefile for plugins on Solaris 2
-#
-# $Id$
-#
-
-include ../../svr4/Makedefs
-
-CFLAGS = -c -O -I.. -I../../include $(COPTS)
-LDFLAGS = -G
-
-all: minconn.so
-
-minconn.so: minconn.o
- ld -o $@ $(LDFLAGS) -h $@ minconn.o
-
-minconn.o: minconn.c
- $(CC) $(CFLAGS) -c $?
-
-passprompt.so: passprompt.o
- ld -o $@ $(LDFLAGS) -h $@ passprompt.o
-
-passprompt.o: passprompt.c
- $(CC) $(CFLAGS) -c $?
-
-clean:
- rm -f *.o *.so
diff --git a/mdk-stage1/ppp/pppd/plugins/minconn.c b/mdk-stage1/ppp/pppd/plugins/minconn.c
deleted file mode 100644
index 02ea34bf6..000000000
--- a/mdk-stage1/ppp/pppd/plugins/minconn.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * minconn.c - pppd plugin to implement a `minconnect' option.
- *
- * Copyright 1999 Paul Mackerras.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-#include <stddef.h>
-#include <time.h>
-#include "pppd.h"
-
-char pppd_version[] = VERSION;
-
-static int minconnect = 0;
-
-static option_t my_options[] = {
- { "minconnect", o_int, &minconnect,
- "Set minimum connect time before idle timeout applies" },
- { NULL }
-};
-
-static int my_get_idle(struct ppp_idle *idle)
-{
- time_t t;
-
- if (idle == NULL)
- return minconnect? minconnect: idle_time_limit;
- t = idle->xmit_idle;
- if (idle->recv_idle < t)
- t = idle->recv_idle;
- return idle_time_limit - t;
-}
-
-void plugin_init(void)
-{
- info("plugin_init");
- add_options(my_options);
- idle_time_hook = my_get_idle;
-}
diff --git a/mdk-stage1/ppp/pppd/plugins/passprompt.c b/mdk-stage1/ppp/pppd/plugins/passprompt.c
deleted file mode 100644
index 5e6a7f90b..000000000
--- a/mdk-stage1/ppp/pppd/plugins/passprompt.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * passprompt.c - pppd plugin to invoke an external PAP password prompter
- *
- * Copyright 1999 Paul Mackerras, Alan Curry.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#include <errno.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include <syslog.h>
-#include "pppd.h"
-
-char pppd_version[] = VERSION;
-
-static char promptprog[PATH_MAX+1];
-
-static option_t options[] = {
- { "promptprog", o_string, promptprog,
- "External PAP password prompting program",
- OPT_STATIC, NULL, PATH_MAX },
- { NULL }
-};
-
-static int promptpass(char *user, char *passwd)
-{
- int p[2];
- pid_t kid;
- int readgood, wstat;
- size_t red;
-
- if (promptprog[0] == 0 || access(promptprog, X_OK) < 0)
- return -1; /* sorry, can't help */
-
- if (!passwd)
- return 1;
-
- if (pipe(p)) {
- warn("Can't make a pipe for %s", promptprog);
- return 0;
- }
- if ((kid = fork()) == (pid_t) -1) {
- warn("Can't fork to run %s", promptprog);
- close(p[0]);
- close(p[1]);
- return 0;
- }
- if (!kid) {
- /* we are the child, exec the program */
- char *argv[4], fdstr[32];
- sys_close();
- closelog();
- close(p[0]);
- seteuid(getuid());
- setegid(getgid());
- argv[0] = promptprog;
- argv[1] = user;
- argv[2] = remote_name;
- sprintf(fdstr, "%d", p[1]);
- argv[3] = fdstr;
- argv[4] = 0;
- execv(*argv, argv);
- _exit(127);
- }
-
- /* we are the parent, read the password from the pipe */
- close(p[1]);
- readgood = 0;
- do {
- red = read(p[0], passwd + readgood, MAXSECRETLEN-1 - readgood);
- if (red == 0)
- break;
- if (red < 0) {
- error("Can't read secret from %s: %m", promptprog);
- readgood = -1;
- break;
- }
- readgood += red;
- } while (readgood < MAXSECRETLEN - 1);
- passwd[readgood] = 0;
- close(p[0]);
-
- /* now wait for child to exit */
- while (waitpid(kid, &wstat, 0) < 0) {
- if (errno != EINTR) {
- warn("error waiting for %s: %m", promptprog);
- break;
- }
- }
-
- if (readgood < 0)
- return 0;
- if (!WIFEXITED(wstat))
- warn("%s terminated abnormally", promptprog);
- if (WEXITSTATUS(wstat))
- warn("%s exited with code %d", promptprog, WEXITSTATUS(status));
-
- return 1;
-}
-
-void plugin_init(void)
-{
- add_options(options);
- pap_passwd_hook = promptpass;
-}
diff --git a/mdk-stage1/ppp/pppd/ppp.pam b/mdk-stage1/ppp/pppd/ppp.pam
deleted file mode 100644
index 475a4bc88..000000000
--- a/mdk-stage1/ppp/pppd/ppp.pam
+++ /dev/null
@@ -1,6 +0,0 @@
-#%PAM-1.0
-# Information for the PPPD process with the 'login' option.
-auth required pam_nologin.so
-auth required pam_unix.so
-account required pam_unix.so
-session required pam_unix.so \ No newline at end of file
diff --git a/mdk-stage1/ppp/pppd/pppd.8 b/mdk-stage1/ppp/pppd/pppd.8
deleted file mode 100644
index ab091cd83..000000000
--- a/mdk-stage1/ppp/pppd/pppd.8
+++ /dev/null
@@ -1,1591 +0,0 @@
-.\" manual page [] for pppd 2.4
-.\" $Id$
-.\" SH section heading
-.\" SS subsection heading
-.\" LP paragraph
-.\" IP indented paragraph
-.\" TP hanging label
-.TH PPPD 8
-.SH NAME
-pppd \- Point to Point Protocol daemon
-.SH SYNOPSIS
-.B pppd
-[
-.I tty_name
-] [
-.I speed
-] [
-.I options
-]
-.SH DESCRIPTION
-.LP
-The Point-to-Point Protocol (PPP) provides a method for transmitting
-datagrams over serial point-to-point links. PPP
-is composed of three parts: a method for encapsulating datagrams over
-serial links, an extensible Link Control Protocol (LCP), and
-a family of Network Control Protocols (NCP) for establishing
-and configuring different network-layer protocols.
-.LP
-The encapsulation scheme is provided by driver code in the kernel.
-Pppd provides the basic LCP, authentication support, and an NCP for
-establishing and configuring the Internet Protocol (IP) (called the IP
-Control Protocol, IPCP).
-.SH FREQUENTLY USED OPTIONS
-.TP
-.I <tty_name>
-Communicate over the named device. The string "/dev/" is prepended if
-necessary. If no device name is given, or if the name of the terminal
-connected to the standard input is given, pppd will use that terminal,
-and will not fork to put itself in the background. A value for this
-option from a privileged source cannot be overridden by a
-non-privileged user.
-.TP
-.I <speed>
-Set the baud rate to <speed> (a decimal number). On systems such as
-4.4BSD and NetBSD, any speed can be specified. Other systems
-(e.g. SunOS) allow only a limited set of speeds.
-.TP
-.B asyncmap \fI<map>
-Set the async character map to <map>. This map describes which
-control characters cannot be successfully received over the serial
-line. Pppd will ask the peer to send these characters as a 2-byte
-escape sequence. The argument is a 32 bit hex number with each bit
-representing a character to escape. Bit 0 (00000001) represents the
-character 0x00; bit 31 (80000000) represents the character 0x1f or ^_.
-If multiple \fIasyncmap\fR options are given, the values are ORed
-together. If no \fIasyncmap\fR option is given, no async character
-map will be negotiated for the receive direction; the peer should then
-escape \fIall\fR control characters. To escape transmitted
-characters, use the \fIescape\fR option.
-.TP
-.B auth
-Require the peer to authenticate itself before allowing network
-packets to be sent or received. This option is the default if the
-system has a default route. If neither this option nor the
-\fInoauth\fR option is specified, pppd will only allow the peer to use
-IP addresses to which the system does not already have a route.
-.TP
-.B call \fIname
-Read options from the file /etc/ppp/peers/\fIname\fR. This file may
-contain privileged options, such as \fInoauth\fR, even if pppd
-is not being run by root. The \fIname\fR string may not begin with /
-or include .. as a pathname component. The format of the options file
-is described below.
-.TP
-.B connect \fIscript
-Use the executable or shell command specified by \fIscript\fR to set
-up the serial line. This script would typically use the chat(8)
-program to dial the modem and start the remote ppp session. A value
-for this option from a privileged source cannot be overridden by a
-non-privileged user.
-.TP
-.B crtscts
-Use hardware flow control (i.e. RTS/CTS) to control the flow of
-data on the serial port. If neither the \fIcrtscts\fR, the
-\fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR option
-is given, the hardware flow control setting for the serial port is
-left unchanged.
-Some serial ports (such as Macintosh serial ports) lack a true
-RTS output. Such serial ports use this mode to implement
-unidirectional flow control. The serial port will
-suspend transmission when requested by the modem (via CTS)
-but will be unable to request the modem stop sending to the
-computer. This mode retains the ability to use DTR as
-a modem control line.
-.TP
-.B defaultroute
-Add a default route to the system routing tables, using the peer as
-the gateway, when IPCP negotiation is successfully completed.
-This entry is removed when the PPP connection is broken. This option
-is privileged if the \fInodefaultroute\fR option has been specified.
-.TP
-.B disconnect \fIscript
-Run the executable or shell command specified by \fIscript\fR after
-pppd has terminated the link. This script could, for example, issue
-commands to the modem to cause it to hang up if hardware modem control
-signals were not available. The disconnect script is not run if the
-modem has already hung up. A value for this option from a privileged
-source cannot be overridden by a non-privileged user.
-.TP
-.B escape \fIxx,yy,...
-Specifies that certain characters should be escaped on transmission
-(regardless of whether the peer requests them to be escaped with its
-async control character map). The characters to be escaped are
-specified as a list of hex numbers separated by commas. Note that
-almost any character can be specified for the \fIescape\fR option,
-unlike the \fIasyncmap\fR option which only allows control characters
-to be specified. The characters which may not be escaped are those
-with hex values 0x20 - 0x3f or 0x5e.
-.TP
-.B file \fIname
-Read options from file \fIname\fR (the format is described below).
-The file must be readable by the user who has invoked pppd.
-.TP
-.B init \fIscript
-Run the executable or shell command specified by \fIscript\fR to
-initialize the serial line. This script would typically use the
-chat(8) program to configure the modem to enable auto answer. A value
-for this option from a privileged source cannot be overridden by a
-non-privileged user.
-.TP
-.B lock
-Specifies that pppd should create a UUCP-style lock file for the
-serial device to ensure exclusive access to the device.
-.TP
-.B mru \fIn
-Set the MRU [Maximum Receive Unit] value to \fIn\fR. Pppd
-will ask the peer to send packets of no more than \fIn\fR bytes. The
-minimum MRU value is 128. The default MRU value is 1500. A value of
-296 is recommended for slow links (40 bytes for TCP/IP header + 256
-bytes of data). (Note that for IPv6 MRU must be at least 1280)
-.TP
-.B mtu \fIn
-Set the MTU [Maximum Transmit Unit] value to \fIn\fR. Unless the
-peer requests a smaller value via MRU negotiation, pppd will
-request that the kernel networking code send data packets of no more
-than \fIn\fR bytes through the PPP network interface. (Note that for
-IPv6 MTU must be at least 1280)
-.TP
-.B passive
-Enables the "passive" option in the LCP. With this option, pppd will
-attempt to initiate a connection; if no reply is received from the
-peer, pppd will then just wait passively for a valid LCP packet from
-the peer, instead of exiting, as it would without this option.
-.SH OPTIONS
-.TP
-.I <local_IP_address>\fB:\fI<remote_IP_address>
-Set the local and/or remote interface IP addresses. Either one may be
-omitted. The IP addresses can be specified with a host name or in
-decimal dot notation (e.g. 150.234.56.78). The default local
-address is the (first) IP address of the system (unless the
-\fInoipdefault\fR
-option is given). The remote address will be obtained from the peer
-if not specified in any option. Thus, in simple cases, this option is
-not required. If a local and/or remote IP address is specified with
-this option, pppd
-will not accept a different value from the peer in the IPCP
-negotiation, unless the \fIipcp-accept-local\fR and/or
-\fIipcp-accept-remote\fR options are given, respectively.
-.TP
-.B ipv6 \fI<local_interface_identifier>\fR,\fI<remote_interface_identifier>
-Set the local and/or remote 64-bit interface identifier. Either one may be
-omitted. The identifier must be specified in standard ascii notation of
-IPv6 addresses (e.g. ::dead:beef). If the
-\fIipv6cp-use-ipaddr\fR
-option is given, the local identifier is the local IPv4 address (see above).
-On systems which supports a unique persistent id, such as EUI-48 derived
-from the Ethernet MAC address, \fIipv6cp-use-persistent\fR option can be
-used to replace the \fIipv6 <local>,<remote>\fR option. Otherwise the
-identifier is randomized.
-.TP
-.B active-filter \fIfilter-expression
-Specifies a packet filter to be applied to data packets to determine
-which packets are to be regarded as link activity, and therefore reset
-the idle timer, or cause the link to be brought up in demand-dialling
-mode. This option is useful in conjunction with the
-\fBidle\fR option if there are packets being sent or received
-regularly over the link (for example, routing information packets)
-which would otherwise prevent the link from ever appearing to be idle.
-The \fIfilter-expression\fR syntax is as described for tcpdump(1),
-except that qualifiers which are inappropriate for a PPP link, such as
-\fBether\fR and \fBarp\fR, are not permitted. Generally the filter
-expression should be enclosed in single-quotes to prevent whitespace
-in the expression from being interpreted by the shell. This option
-is currently only available under NetBSD, and then only
-if both the kernel and pppd were compiled with PPP_FILTER defined.
-.TP
-.B allow-ip \fIaddress(es)
-Allow peers to use the given IP address or subnet without
-authenticating themselves. The parameter is parsed as for each
-element of the list of allowed IP addresses in the secrets files (see
-the AUTHENTICATION section below).
-.TP
-.B bsdcomp \fInr,nt
-Request that the peer compress packets that it sends, using the
-BSD-Compress scheme, with a maximum code size of \fInr\fR bits, and
-agree to compress packets sent to the peer with a maximum code size of
-\fInt\fR bits. If \fInt\fR is not specified, it defaults to the value
-given for \fInr\fR. Values in the range 9 to 15 may be used for
-\fInr\fR and \fInt\fR; larger values give better compression but
-consume more kernel memory for compression dictionaries.
-Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
-compression in the corresponding direction. Use \fInobsdcomp\fR or
-\fIbsdcomp 0\fR to disable BSD-Compress compression entirely.
-.TP
-.B cdtrcts
-Use a non-standard hardware flow control (i.e. DTR/CTS) to control
-the flow of data on the serial port. If neither the \fIcrtscts\fR,
-the \fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR
-option is given, the hardware flow control setting for the serial
-port is left unchanged.
-Some serial ports (such as Macintosh serial ports) lack a true
-RTS output. Such serial ports use this mode to implement true
-bi-directional flow control. The sacrifice is that this flow
-control mode does not permit using DTR as a modem control line.
-.TP
-.B chap-interval \fIn
-If this option is given, pppd will rechallenge the peer every \fIn\fR
-seconds.
-.TP
-.B chap-max-challenge \fIn
-Set the maximum number of CHAP challenge transmissions to \fIn\fR
-(default 10).
-.TP
-.B chap-restart \fIn
-Set the CHAP restart interval (retransmission timeout for challenges)
-to \fIn\fR seconds (default 3).
-.TP
-.B connect-delay \fIn
-Wait for up \fIn\fR milliseconds after the connect script finishes for
-a valid PPP packet from the peer. At the end of this time, or when a
-valid PPP packet is received from the peer, pppd will commence
-negotiation by sending its first LCP packet. The default value is
-1000 (1 second). This wait period only applies if the \fBconnect\fR
-or \fBpty\fR option is used.
-.TP
-.B debug
-Enables connection debugging facilities.
-If this option is given, pppd will log the contents of all
-control packets sent or received in a readable form. The packets are
-logged through syslog with facility \fIdaemon\fR and level
-\fIdebug\fR. This information can be directed to a file by setting up
-/etc/syslog.conf appropriately (see syslog.conf(5)).
-.TP
-.B default-asyncmap
-Disable asyncmap negotiation, forcing all control characters to be
-escaped for both the transmit and the receive direction.
-.TP
-.B default-mru
-Disable MRU [Maximum Receive Unit] negotiation. With this option,
-pppd will use the default MRU value of 1500 bytes for both the
-transmit and receive direction.
-.TP
-.B deflate \fInr,nt
-Request that the peer compress packets that it sends, using the
-Deflate scheme, with a maximum window size of \fI2**nr\fR bytes, and
-agree to compress packets sent to the peer with a maximum window size
-of \fI2**nt\fR bytes. If \fInt\fR is not specified, it defaults to
-the value given for \fInr\fR. Values in the range 9 to 15 may be used
-for \fInr\fR and \fInt\fR; larger values give better compression but
-consume more kernel memory for compression dictionaries.
-Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
-compression in the corresponding direction. Use \fInodeflate\fR or
-\fIdeflate 0\fR to disable Deflate compression entirely. (Note: pppd
-requests Deflate compression in preference to BSD-Compress if the peer
-can do either.)
-.TP
-.B demand
-Initiate the link only on demand, i.e. when data traffic is present.
-With this option, the remote IP address must be specified by the user
-on the command line or in an options file. Pppd will initially
-configure the interface and enable it for IP traffic without
-connecting to the peer. When traffic is available, pppd will
-connect to the peer and perform negotiation, authentication, etc.
-When this is completed, pppd will commence passing data packets
-(i.e., IP packets) across the link.
-
-The \fIdemand\fR option implies the \fIpersist\fR option. If this
-behaviour is not desired, use the \fInopersist\fR option after the
-\fIdemand\fR option. The \fIidle\fR and \fIholdoff\fR
-options are also useful in conjuction with the \fIdemand\fR option.
-.TP
-.B domain \fId
-Append the domain name \fId\fR to the local host name for authentication
-purposes. For example, if gethostname() returns the name porsche, but
-the fully qualified domain name is porsche.Quotron.COM, you could
-specify \fIdomain Quotron.COM\fR. Pppd would then use the name
-\fIporsche.Quotron.COM\fR for looking up secrets in the secrets file,
-and as the default name to send to the peer when authenticating itself
-to the peer. This option is privileged.
-.TP
-.B dryrun
-With the \fBdryrun\fR option, pppd will print out all the option
-values which have been set and then exit, after parsing the command
-line and options files and checking the option values, but before
-initiating the link. The option values are logged at level info, and
-also printed to standard output unless the device on standard output
-is the device that pppd would be using to communicate with the peer.
-.TP
-.B dump
-With the \fBdump\fR option, pppd will print out all the option values
-which have been set. This option is like the \fBdryrun\fR option
-except that pppd proceeds as normal rather than exiting.
-.TP
-.B endpoint \fI<epdisc>
-Sets the endpoint discriminator sent by the local machine to the peer
-during multilink negotiation to \fI<epdisc>\fR. The default is to use
-the MAC address of the first ethernet interface on the system, if any,
-otherwise the IPv4 address corresponding to the hostname, if any,
-provided it is not in the multicast or locally-assigned IP address
-ranges, or the localhost address. The endpoint discriminator can be
-the string \fBnull\fR or of the form \fItype\fR:\fIvalue\fR, where
-type is a decimal number or one of the strings \fBlocal\fR, \fBIP\fR,
-\fBMAC\fR, \fBmagic\fR, or \fBphone\fR. The value is an IP address in
-dotted-decimal notation for the \fBIP\fR type, or a string of bytes in
-hexadecimal, separated by periods or colons for the other types. For
-the MAC type, the value may also be the name of an ethernet or similar
-network interface. This option is currently only available under
-Linux.
-.TP
-.B hide-password
-When logging the contents of PAP packets, this option causes pppd to
-exclude the password string from the log. This is the default.
-.TP
-.B holdoff \fIn
-Specifies how many seconds to wait before re-initiating the link after
-it terminates. This option only has any effect if the \fIpersist\fR
-or \fIdemand\fR option is used. The holdoff period is not applied if
-the link was terminated because it was idle.
-.TP
-.B idle \fIn
-Specifies that pppd should disconnect if the link is idle for \fIn\fR
-seconds. The link is idle when no data packets (i.e. IP packets) are
-being sent or received. Note: it is not advisable to use this option
-with the \fIpersist\fR option without the \fIdemand\fR option.
-If the \fBactive-filter\fR
-option is given, data packets which are rejected by the specified
-activity filter also count as the link being idle.
-.TP
-.B ipcp-accept-local
-With this option, pppd will accept the peer's idea of our local IP
-address, even if the local IP address was specified in an option.
-.TP
-.B ipcp-accept-remote
-With this option, pppd will accept the peer's idea of its (remote) IP
-address, even if the remote IP address was specified in an option.
-.TP
-.B ipcp-max-configure \fIn
-Set the maximum number of IPCP configure-request transmissions to
-\fIn\fR (default 10).
-.TP
-.B ipcp-max-failure \fIn
-Set the maximum number of IPCP configure-NAKs returned before starting
-to send configure-Rejects instead to \fIn\fR (default 10).
-.TP
-.B ipcp-max-terminate \fIn
-Set the maximum number of IPCP terminate-request transmissions to
-\fIn\fR (default 3).
-.TP
-.B ipcp-restart \fIn
-Set the IPCP restart interval (retransmission timeout) to \fIn\fR
-seconds (default 3).
-.TP
-.B ipparam \fIstring
-Provides an extra parameter to the ip-up and ip-down scripts. If this
-option is given, the \fIstring\fR supplied is given as the 6th
-parameter to those scripts.
-.TP
-.B ipv6cp-max-configure \fIn
-Set the maximum number of IPv6CP configure-request transmissions to
-\fIn\fR (default 10).
-.TP
-.B ipv6cp-max-failure \fIn
-Set the maximum number of IPv6CP configure-NAKs returned before starting
-to send configure-Rejects instead to \fIn\fR (default 10).
-.TP
-.B ipv6cp-max-terminate \fIn
-Set the maximum number of IPv6CP terminate-request transmissions to
-\fIn\fR (default 3).
-.TP
-.B ipv6cp-restart \fIn
-Set the IPv6CP restart interval (retransmission timeout) to \fIn\fR
-seconds (default 3).
-.TP
-.B ipx
-Enable the IPXCP and IPX protocols. This option is presently only
-supported under Linux, and only if your kernel has been configured to
-include IPX support.
-.TP
-.B ipx-network \fIn
-Set the IPX network number in the IPXCP configure request frame to
-\fIn\fR, a hexadecimal number (without a leading 0x). There is no
-valid default. If this option is not specified, the network number is
-obtained from the peer. If the peer does not have the network number,
-the IPX protocol will not be started.
-.TP
-.B ipx-node \fIn\fB:\fIm
-Set the IPX node numbers. The two node numbers are separated from each
-other with a colon character. The first number \fIn\fR is the local
-node number. The second number \fIm\fR is the peer's node number. Each
-node number is a hexadecimal number, at most 10 digits long. The node
-numbers on the ipx-network must be unique. There is no valid
-default. If this option is not specified then the node numbers are
-obtained from the peer.
-.TP
-.B ipx-router-name \fI<string>
-Set the name of the router. This is a string and is sent to the peer
-as information data.
-.TP
-.B ipx-routing \fIn
-Set the routing protocol to be received by this option. More than one
-instance of \fIipx-routing\fR may be specified. The '\fInone\fR'
-option (0) may be specified as the only instance of ipx-routing. The
-values may be \fI0\fR for \fINONE\fR, \fI2\fR for \fIRIP/SAP\fR, and
-\fI4\fR for \fINLSP\fR.
-.TP
-.B ipxcp-accept-local
-Accept the peer's NAK for the node number specified in the ipx-node
-option. If a node number was specified, and non-zero, the default is
-to insist that the value be used. If you include this option then you
-will permit the peer to override the entry of the node number.
-.TP
-.B ipxcp-accept-network
-Accept the peer's NAK for the network number specified in the
-ipx-network option. If a network number was specified, and non-zero, the
-default is to insist that the value be used. If you include this
-option then you will permit the peer to override the entry of the node
-number.
-.TP
-.B ipxcp-accept-remote
-Use the peer's network number specified in the configure request
-frame. If a node number was specified for the peer and this option was
-not specified, the peer will be forced to use the value which you have
-specified.
-.TP
-.B ipxcp-max-configure \fIn
-Set the maximum number of IPXCP configure request frames which the
-system will send to \fIn\fR. The default is 10.
-.TP
-.B ipxcp-max-failure \fIn
-Set the maximum number of IPXCP NAK frames which the local system will
-send before it rejects the options. The default value is 3.
-.TP
-.B ipxcp-max-terminate \fIn
-Set the maximum nuber of IPXCP terminate request frames before the
-local system considers that the peer is not listening to them. The
-default value is 3.
-.TP
-.B kdebug \fIn
-Enable debugging code in the kernel-level PPP driver. The argument
-values depend on the specific kernel driver, but in general a value of
-1 will enable general kernel debug messages. (Note that these
-messages are usually only useful for debugging the kernel driver
-itself.) For the Linux 2.2.x kernel driver, the value is a sum of
-bits: 1 to
-enable general debug messages, 2 to request that the contents of
-received packets be printed, and 4 to request that the contents of
-transmitted packets be printed. On most systems, messages printed by
-the kernel are logged by syslog(1) to a file as directed in the
-/etc/syslog.conf configuration file.
-.TP
-.B ktune
-Enables pppd to alter kernel settings as appropriate. Under Linux,
-pppd will enable IP forwarding (i.e. set /proc/sys/net/ipv4/ip_forward
-to 1) if the \fIproxyarp\fR option is used, and will enable the
-dynamic IP address option (i.e. set /proc/sys/net/ipv4/ip_dynaddr to
-1) in demand mode if the local address changes.
-.TP
-.B lcp-echo-failure \fIn
-If this option is given, pppd will presume the peer to be dead
-if \fIn\fR LCP echo-requests are sent without receiving a valid LCP
-echo-reply. If this happens, pppd will terminate the
-connection. Use of this option requires a non-zero value for the
-\fIlcp-echo-interval\fR parameter. This option can be used to enable
-pppd to terminate after the physical connection has been broken
-(e.g., the modem has hung up) in situations where no hardware modem
-control lines are available.
-.TP
-.B lcp-echo-interval \fIn
-If this option is given, pppd will send an LCP echo-request frame to
-the peer every \fIn\fR seconds. Normally the peer should respond to
-the echo-request by sending an echo-reply. This option can be used
-with the \fIlcp-echo-failure\fR option to detect that the peer is no
-longer connected.
-.TP
-.B lcp-max-configure \fIn
-Set the maximum number of LCP configure-request transmissions to
-\fIn\fR (default 10).
-.TP
-.B lcp-max-failure \fIn
-Set the maximum number of LCP configure-NAKs returned before starting
-to send configure-Rejects instead to \fIn\fR (default 10).
-.TP
-.B lcp-max-terminate \fIn
-Set the maximum number of LCP terminate-request transmissions to
-\fIn\fR (default 3).
-.TP
-.B lcp-restart \fIn
-Set the LCP restart interval (retransmission timeout) to \fIn\fR
-seconds (default 3).
-.TP
-.B linkname \fIname\fR
-Sets the logical name of the link to \fIname\fR. Pppd will create a
-file named \fBppp-\fIname\fB.pid\fR in /var/run (or /etc/ppp on some
-systems) containing its process ID. This can be useful in determining
-which instance of pppd is responsible for the link to a given peer
-system. This is a privileged option.
-.TP
-.B local
-Don't use the modem control lines. With this option, pppd will ignore
-the state of the CD (Carrier Detect) signal from the modem and will
-not change the state of the DTR (Data Terminal Ready) signal.
-.TP
-.B logfd \fIn
-Send log messages to file descriptor \fIn\fR. Pppd will send log
-messages to at most one file or file descriptor (as well as sending
-the log messages to syslog), so this option and the \fBlogfile\fR
-option are mutually exclusive. The default is for pppd to send log
-messages to stdout (file descriptor 1), unless the serial port is
-already open on stdout.
-.TP
-.B logfile \fIfilename
-Append log messages to the file \fIfilename\fR (as well as sending the
-log messages to syslog). The file is opened with the privileges of
-the user who invoked pppd, in append mode.
-.TP
-.B login
-Use the system password database for authenticating the peer using
-PAP, and record the user in the system wtmp file. Note that the peer
-must have an entry in the /etc/ppp/pap-secrets file as well as the
-system password database to be allowed access.
-.TP
-.B maxconnect \fIn
-Terminate the connection when it has been available for network
-traffic for \fIn\fR seconds (i.e. \fIn\fR seconds after the first
-network control protocol comes up).
-.TP
-.B maxfail \fIn
-Terminate after \fIn\fR consecutive failed connection attempts. A
-value of 0 means no limit. The default value is 10.
-.TP
-.B modem
-Use the modem control lines. This option is the default. With this
-option, pppd will wait for the CD (Carrier Detect) signal from the
-modem to be asserted when opening the serial device (unless a connect
-script is specified), and it will drop the DTR (Data Terminal Ready)
-signal briefly when the connection is terminated and before executing
-the connect script. On Ultrix, this option implies hardware flow
-control, as for the \fIcrtscts\fR option.
-.TP
-.B mp
-Enables the use of PPP multilink; this is an alias for the `multilink'
-option. This option is currently only available under Linux.
-.TP
-.B mpshortseq
-Enables the use of short (12-bit) sequence numbers in multilink
-headers, as opposed to 24-bit sequence numbers. This option is only
-available under Linux, and only has any effect if multilink is
-enabled (see the multilink option).
-.TP
-.B mrru \fIn
-Sets the Maximum Reconstructed Receive Unit to \fIn\fR. The MRRU is
-the maximum size for a received packet on a multilink bundle, and is
-analogous to the MRU for the individual links. This option is
-currently only available under Linux, and only has any effect if
-multilink is enabled (see the multilink option).
-.TP
-.B ms-dns \fI<addr>
-If pppd is acting as a server for Microsoft Windows clients, this
-option allows pppd to supply one or two DNS (Domain Name Server)
-addresses to the clients. The first instance of this option specifies
-the primary DNS address; the second instance (if given) specifies the
-secondary DNS address. (This option was present in some older
-versions of pppd under the name \fBdns-addr\fR.)
-.TP
-.B ms-wins \fI<addr>
-If pppd is acting as a server for Microsoft Windows or "Samba"
-clients, this option allows pppd to supply one or two WINS (Windows
-Internet Name Services) server addresses to the clients. The first
-instance of this option specifies the primary WINS address; the second
-instance (if given) specifies the secondary WINS address.
-.TP
-.B multilink
-Enables the use of the PPP multilink protocol. If the peer also
-supports multilink, then this link can become part of a bundle between
-the local system and the peer. If there is an existing bundle to the
-peer, pppd will join this link to that bundle, otherwise pppd will
-create a new bundle. See the MULTILINK section below. This option is
-currently only available under Linux.
-.TP
-.B name \fIname
-Set the name of the local system for authentication purposes to
-\fIname\fR. This is a privileged option. With this option, pppd will
-use lines in the secrets files which have \fIname\fR as the second
-field when looking for a secret to use in authenticating the peer. In
-addition, unless overridden with the \fIuser\fR option, \fIname\fR
-will be used as the name to send to the peer when authenticating the
-local system to the peer. (Note that pppd does not append the domain
-name to \fIname\fR.)
-.TP
-.B netmask \fIn
-Set the interface netmask to \fIn\fR, a 32 bit netmask in "decimal dot"
-notation (e.g. 255.255.255.0). If this option is given, the value
-specified is ORed with the default netmask. The default netmask is
-chosen based on the negotiated remote IP address; it is the
-appropriate network mask for the class of the remote IP address, ORed
-with the netmasks for any non point-to-point network interfaces in the
-system which are on the same network. (Note: on some platforms, pppd
-will always use 255.255.255.255 for the netmask, if that is the only
-appropriate value for a point-to-point interface.)
-.TP
-.B noaccomp
-Disable Address/Control compression in both directions (send and
-receive).
-.TP
-.B noauth
-Do not require the peer to authenticate itself. This option is
-privileged.
-.TP
-.B nobsdcomp
-Disables BSD-Compress compression; \fBpppd\fR will not request or
-agree to compress packets using the BSD-Compress scheme.
-.TP
-.B noccp
-Disable CCP (Compression Control Protocol) negotiation. This option
-should only be required if the peer is buggy and gets confused by
-requests from pppd for CCP negotiation.
-.TP
-.B nocrtscts
-Disable hardware flow control (i.e. RTS/CTS) on the serial port.
-If neither the \fIcrtscts\fR nor the \fInocrtscts\fR nor the
-\fIcdtrcts\fR nor the \fInocdtrcts\fR option is given, the hardware
-flow control setting for the serial port is left unchanged.
-.TP
-.B nocdtrcts
-This option is a synonym for \fInocrtscts\fR. Either of these options will
-disable both forms of hardware flow control.
-.TP
-.B nodefaultroute
-Disable the \fIdefaultroute\fR option. The system administrator who
-wishes to prevent users from creating default routes with pppd
-can do so by placing this option in the /etc/ppp/options file.
-.TP
-.B nodeflate
-Disables Deflate compression; pppd will not request or agree to
-compress packets using the Deflate scheme.
-.TP
-.B nodetach
-Don't detach from the controlling terminal. Without this option, if a
-serial device other than the terminal on the standard input is
-specified, pppd will fork to become a background process.
-.TP
-.B noendpoint
-Disables pppd from sending an endpoint discriminator to the peer or
-accepting one from the peer (see the MULTILINK section below). This
-option should only be required if the peer is buggy.
-.TP
-.B noip
-Disable IPCP negotiation and IP communication. This option should
-only be required if the peer is buggy and gets confused by requests
-from pppd for IPCP negotiation.
-.TP
-.B noipv6
-Disable IPv6CP negotiation and IPv6 communication. This option should
-only be required if the peer is buggy and gets confused by requests
-from pppd for IPv6CP negotiation.
-.TP
-.B noipdefault
-Disables the default behaviour when no local IP address is specified,
-which is to determine (if possible) the local IP address from the
-hostname. With this option, the peer will have to supply the local IP
-address during IPCP negotiation (unless it specified explicitly on the
-command line or in an options file).
-.TP
-.B noipx
-Disable the IPXCP and IPX protocols. This option should only be
-required if the peer is buggy and gets confused by requests from pppd
-for IPXCP negotiation.
-.TP
-.B noktune
-Opposite of the \fIktune\fR option; disables pppd from changing system
-settings.
-.TP
-.B nolog
-Do not send log messages to a file or file descriptor. This option
-cancels the \fBlogfd\fR and \fBlogfile\fR options.
-.TP
-.B nomagic
-Disable magic number negotiation. With this option, pppd cannot
-detect a looped-back line. This option should only be needed if the
-peer is buggy.
-.TP
-.B nomp
-Disables the use of PPP multilink. This option is currently only
-available under Linux.
-.TP
-.B nompshortseq
-Disables the use of short (12-bit) sequence numbers in the PPP
-multilink protocol, forcing the use of 24-bit sequence numbers. This
-option is currently only available under Linux, and only has any
-effect if multilink is enabled.
-.TP
-.B nomultilink
-Disables the use of PPP multilink. This option is currently only
-available under Linux.
-.TP
-.B nopcomp
-Disable protocol field compression negotiation in both the receive and
-the transmit direction.
-.TP
-.B nopersist
-Exit once a connection has been made and terminated. This is the
-default unless the \fIpersist\fR or \fIdemand\fR option has been
-specified.
-.TP
-.B nopredictor1
-Do not accept or agree to Predictor-1 compression.
-.TP
-.B noproxyarp
-Disable the \fIproxyarp\fR option. The system administrator who
-wishes to prevent users from creating proxy ARP entries with pppd can
-do so by placing this option in the /etc/ppp/options file.
-.TP
-.B notty
-Normally, pppd requires a terminal device. With this option, pppd
-will allocate itself a pseudo-tty master/slave pair and use the slave
-as its terminal device. Pppd will create a child process to act as a
-`character shunt' to transfer characters between the pseudo-tty master
-and its standard input and output. Thus pppd will transmit characters
-on its standard output and receive characters on its standard input
-even if they are not terminal devices. This option increases the
-latency and CPU overhead of transferring data over the ppp interface
-as all of the characters sent and received must flow through the
-character shunt process. An explicit device name may not be given if
-this option is used.
-.TP
-.B novj
-Disable Van Jacobson style TCP/IP header compression in both the
-transmit and the receive direction.
-.TP
-.B novjccomp
-Disable the connection-ID compression option in Van Jacobson style
-TCP/IP header compression. With this option, pppd will not omit the
-connection-ID byte from Van Jacobson compressed TCP/IP headers, nor
-ask the peer to do so.
-.TP
-.B papcrypt
-Indicates that all secrets in the /etc/ppp/pap-secrets file which are
-used for checking the identity of the peer are encrypted, and thus
-pppd should not accept a password which, before encryption, is
-identical to the secret from the /etc/ppp/pap-secrets file.
-.TP
-.B pap-max-authreq \fIn
-Set the maximum number of PAP authenticate-request transmissions to
-\fIn\fR (default 10).
-.TP
-.B pap-restart \fIn
-Set the PAP restart interval (retransmission timeout) to \fIn\fR
-seconds (default 3).
-.TP
-.B pap-timeout \fIn
-Set the maximum time that pppd will wait for the peer to authenticate
-itself with PAP to \fIn\fR seconds (0 means no limit).
-.TP
-.B pass-filter \fIfilter-expression
-Specifies a packet filter to applied to data packets being sent or
-received to determine which packets should be allowed to pass.
-Packets which are rejected by the filter are silently discarded. This
-option can be used to prevent specific network daemons (such as
-routed) using up link bandwidth, or to provide a basic firewall
-capability.
-The \fIfilter-expression\fR syntax is as described for tcpdump(1),
-except that qualifiers which are inappropriate for a PPP link, such as
-\fBether\fR and \fBarp\fR, are not permitted. Generally the filter
-expression should be enclosed in single-quotes to prevent whitespace
-in the expression from being interpreted by the shell. Note that it
-is possible to apply different constraints to incoming and outgoing
-packets using the \fBinbound\fR and \fBoutbound\fR qualifiers. This
-option is currently only available under NetBSD, and then only if both
-the kernel and pppd were compiled with PPP_FILTER defined.
-.TP
-.B persist
-Do not exit after a connection is terminated; instead try to reopen
-the connection.
-.TP
-.B plugin \fIfilename
-Load the shared library object file \fIfilename\fR as a plugin. This
-is a privileged option.
-.TP
-.B predictor1
-Request that the peer compress frames that it sends using Predictor-1
-compression, and agree to compress transmitted frames with Predictor-1
-if requested. This option has no effect unless the kernel driver
-supports Predictor-1 compression.
-.TP
-.B privgroup \fIgroup-name
-Allows members of group \fIgroup-name\fR to use privileged options.
-This is a privileged option. Use of this option requires care as
-there is no guarantee that members of \fIgroup-name\fR cannot use pppd
-to become root themselves. Consider it equivalent to putting the
-members of \fIgroup-name\fR in the kmem or disk group.
-.TP
-.B proxyarp
-Add an entry to this system's ARP [Address Resolution Protocol] table
-with the IP address of the peer and the Ethernet address of this
-system. This will have the effect of making the peer appear to other
-systems to be on the local ethernet.
-.TP
-.B pty \fIscript
-Specifies that the command \fIscript\fR is to be used to communicate
-rather than a specific terminal device. Pppd will allocate itself a
-pseudo-tty master/slave pair and use the slave as its terminal
-device. The \fIscript\fR will be run in a child process with the
-pseudo-tty master as its standard input and output. An explicit
-device name may not be given if this option is used. (Note: if the
-\fIrecord\fR option is used in conjuction with the \fIpty\fR option,
-the child process will have pipes on its standard input and output.)
-.TP
-.B receive-all
-With this option, pppd will accept all control characters from the
-peer, including those marked in the receive asyncmap. Without this
-option, pppd will discard those characters as specified in RFC1662.
-This option should only be needed if the peer is buggy.
-.TP
-.B record \fIfilename
-Specifies that pppd should record all characters sent and received to
-a file named \fIfilename\fR. This file is opened in append mode,
-using the user's user-ID and permissions. This option is implemented
-using a pseudo-tty and a process to transfer characters between the
-pseudo-tty and the real serial device, so it will increase the latency
-and CPU overhead of transferring data over the ppp interface. The
-characters are stored in a tagged format with timestamps, which can be
-displayed in readable form using the pppdump(8) program.
-.TP
-.B remotename \fIname
-Set the assumed name of the remote system for authentication purposes
-to \fIname\fR.
-.TP
-.B refuse-chap
-With this option, pppd will not agree to authenticate itself to the
-peer using CHAP.
-.TP
-.B refuse-pap
-With this option, pppd will not agree to authenticate itself to the
-peer using PAP.
-.TP
-.B require-chap
-Require the peer to authenticate itself using CHAP [Challenge
-Handshake Authentication Protocol] authentication.
-.TP
-.B require-pap
-Require the peer to authenticate itself using PAP [Password
-Authentication Protocol] authentication.
-.TP
-.B show-password
-When logging the contents of PAP packets, this option causes pppd to
-show the password string in the log message.
-.TP
-.B silent
-With this option, pppd will not transmit LCP packets to initiate a
-connection until a valid LCP packet is received from the peer (as for
-the `passive' option with ancient versions of pppd).
-.TP
-.B sync
-Use synchronous HDLC serial encoding instead of asynchronous.
-The device used by pppd with this option must have sync support.
-Currently supports Microgate SyncLink adapters
-under Linux and FreeBSD 2.2.8 and later.
-.TP
-.B updetach
-With this option, pppd will detach from its controlling terminal once
-it has successfully established the ppp connection (to the point where
-the first network control protocol, usually the IP control protocol,
-has come up).
-.TP
-.B usehostname
-Enforce the use of the hostname (with domain name appended, if given)
-as the name of the local system for authentication purposes (overrides
-the \fIname\fR option). This option is not normally needed since the
-\fIname\fR option is privileged.
-.TP
-.B usepeerdns
-Ask the peer for up to 2 DNS server addresses. The addresses supplied
-by the peer (if any) are passed to the /etc/ppp/ip-up script in the
-environment variables DNS1 and DNS2. In addition, pppd will create an
-/etc/ppp/resolv.conf file containing one or two nameserver lines with
-the address(es) supplied by the peer.
-.TP
-.B user \fIname
-Sets the name used for authenticating the local system to the peer to
-\fIname\fR.
-.TP
-.B vj-max-slots \fIn
-Sets the number of connection slots to be used by the Van Jacobson
-TCP/IP header compression and decompression code to \fIn\fR, which
-must be between 2 and 16 (inclusive).
-.TP
-.B welcome \fIscript
-Run the executable or shell command specified by \fIscript\fR before
-initiating PPP negotiation, after the connect script (if any) has
-completed. A value for this option from a privileged source cannot be
-overridden by a non-privileged user.
-.TP
-.B xonxoff
-Use software flow control (i.e. XON/XOFF) to control the flow of data on
-the serial port.
-.SH OPTIONS FILES
-Options can be taken from files as well as the command line. Pppd
-reads options from the files /etc/ppp/options, ~/.ppprc and
-/etc/ppp/options.\fIttyname\fR (in that order) before processing the
-options on the command line. (In fact, the command-line options are
-scanned to find the terminal name before the options.\fIttyname\fR
-file is read.) In forming the name of the options.\fIttyname\fR file,
-the initial /dev/ is removed from the terminal name, and any remaining
-/ characters are replaced with dots.
-.PP
-An options file is parsed into a series of words, delimited by
-whitespace. Whitespace can be included in a word by enclosing the
-word in double-quotes ("). A backslash (\\) quotes the following character.
-A hash (#) starts a comment, which continues until the end of the
-line. There is no restriction on using the \fIfile\fR or \fIcall\fR
-options within an options file.
-.SH SECURITY
-.I pppd
-provides system administrators with sufficient access control that PPP
-access to a server machine can be provided to legitimate users without
-fear of compromising the security of the server or the network it's
-on. This control is provided through restrictions on which IP
-addresses the peer may use, based on its authenticated identity (if
-any), and through restrictions on which options a non-privileged user
-may use. Several of pppd's options are privileged, in particular
-those which permit potentially insecure configurations; these options
-are only accepted in files which are under the control of the system
-administrator, or if pppd is being run by root.
-.PP
-The default behaviour of pppd is to allow an unauthenticated peer to
-use a given IP address only if the system does not already have a
-route to that IP address. For example, a system with a
-permanent connection to the wider internet will normally have a
-default route, and thus all peers will have to authenticate themselves
-in order to set up a connection. On such a system, the \fIauth\fR
-option is the default. On the other hand, a system where the
-PPP link is the only connection to the internet will not normally have
-a default route, so the peer will be able to use almost any IP address
-without authenticating itself.
-.PP
-As indicated above, some security-sensitive options are privileged,
-which means that they may not be used by an ordinary non-privileged
-user running a setuid-root pppd, either on the command line, in the
-user's ~/.ppprc file, or in an options file read using the \fIfile\fR
-option. Privileged options may be used in /etc/ppp/options file or in
-an options file read using the \fIcall\fR option. If pppd is being
-run by the root user, privileged options can be used without
-restriction.
-.PP
-When opening the device, pppd uses either the invoking user's user ID
-or the root UID (that is, 0), depending on whether the device name was
-specified by the user or the system administrator. If the device name
-comes from a privileged source, that is, /etc/ppp/options or an
-options file read using the \fIcall\fR option, pppd uses full root
-privileges when opening the device. Thus, by creating an appropriate
-file under /etc/ppp/peers, the system administrator can allow users to
-establish a ppp connection via a device which they would not normally
-have permission to access. Otherwise pppd uses the invoking user's
-real UID when opening the device.
-.SH AUTHENTICATION
-Authentication is the process whereby one peer convinces the other of
-its identity. This involves the first peer sending its name to the
-other, together with some kind of secret information which could only
-come from the genuine authorized user of that name. In such an
-exchange, we will call the first peer the "client" and the other the
-"server". The client has a name by which it identifies itself to the
-server, and the server also has a name by which it identifies itself
-to the client. Generally the genuine client shares some secret (or
-password) with the server, and authenticates itself by proving that it
-knows that secret. Very often, the names used for authentication
-correspond to the internet hostnames of the peers, but this is not
-essential.
-.LP
-At present, pppd supports two authentication protocols: the Password
-Authentication Protocol (PAP) and the Challenge Handshake
-Authentication Protocol (CHAP). PAP involves the client sending its
-name and a cleartext password to the server to authenticate itself.
-In contrast, the server initiates the CHAP authentication exchange by
-sending a challenge to the client (the challenge packet includes the
-server's name). The client must respond with a response which
-includes its name plus a hash value derived from the shared secret and
-the challenge, in order to prove that it knows the secret.
-.LP
-The PPP protocol, being symmetrical, allows both peers to require the
-other to authenticate itself. In that case, two separate and
-independent authentication exchanges will occur. The two exchanges
-could use different authentication protocols, and in principle,
-different names could be used in the two exchanges.
-.LP
-The default behaviour of pppd is to agree to authenticate if
-requested, and to not require authentication from the peer. However,
-pppd will not agree to authenticate itself with a particular protocol
-if it has no secrets which could be used to do so.
-.LP
-Pppd stores secrets for use in authentication in secrets
-files (/etc/ppp/pap-secrets for PAP, /etc/ppp/chap-secrets for CHAP).
-Both secrets files have the same format. The secrets files can
-contain secrets for pppd to use in authenticating itself to other
-systems, as well as secrets for pppd to use when authenticating other
-systems to itself.
-.LP
-Each line in a secrets file contains one secret. A given secret is
-specific to a particular combination of client and server - it can
-only be used by that client to authenticate itself to that server.
-Thus each line in a secrets file has at least 3 fields: the name of
-the client, the name of the server, and the secret. These fields may
-be followed by a list of the IP addresses that the specified client
-may use when connecting to the specified server.
-.LP
-A secrets file is parsed into words as for a options file, so the
-client name, server name and secrets fields must each be one word,
-with any embedded spaces or other special characters quoted or
-escaped. Note that case is significant in the client and server names
-and in the secret.
-.LP
-If the secret starts with an `@', what follows is assumed to be the
-name of a file from which to read the secret. A "*" as the client or
-server name matches any name. When selecting a secret, pppd takes the
-best match, i.e. the match with the fewest wildcards.
-.LP
-Any following words on the same line are taken to be a list of
-acceptable IP addresses for that client. If there are only 3 words on
-the line, or if the first word is "-", then all IP addresses are
-disallowed. To allow any address, use "*". A word starting with "!"
-indicates that the specified address is \fInot\fR acceptable. An
-address may be followed by "/" and a number \fIn\fR, to indicate a
-whole subnet, i.e. all addresses which have the same value in the most
-significant \fIn\fR bits. In this form, the address may be followed
-by a plus sign ("+") to indicate that one address from the subnet is
-authorized, based on the ppp network interface unit number in use.
-In this case, the host part of the address will be set to the unit
-number plus one.
-.LP
-Thus a secrets file contains both secrets for use in authenticating
-other hosts, plus secrets which we use for authenticating ourselves to
-others. When pppd is authenticating the peer (checking the peer's
-identity), it chooses a secret with the peer's name in the first
-field and the name of the local system in the second field. The
-name of the local system defaults to the hostname, with the domain
-name appended if the \fIdomain\fR option is used. This default can be
-overridden with the \fIname\fR option, except when the
-\fIusehostname\fR option is used.
-.LP
-When pppd is choosing a secret to use in authenticating itself to the
-peer, it first determines what name it is going to use to identify
-itself to the peer. This name can be specified by the user with the
-\fIuser\fR option. If this option is not used, the name defaults to
-the name of the local system, determined as described in the previous
-paragraph. Then pppd looks for a secret with this name in the first
-field and the peer's name in the second field. Pppd will know the
-name of the peer if CHAP authentication is being used, because the
-peer will have sent it in the challenge packet. However, if PAP is being
-used, pppd will have to determine the peer's name from the options
-specified by the user. The user can specify the peer's name directly
-with the \fIremotename\fR option. Otherwise, if the remote IP address
-was specified by a name (rather than in numeric form), that name will
-be used as the peer's name. Failing that, pppd will use the null
-string as the peer's name.
-.LP
-When authenticating the peer with PAP, the supplied password is first
-compared with the secret from the secrets file. If the password
-doesn't match the secret, the password is encrypted using crypt() and
-checked against the secret again. Thus secrets for authenticating the
-peer can be stored in encrypted form if desired. If the
-\fIpapcrypt\fR option is given, the first (unencrypted) comparison is
-omitted, for better security.
-.LP
-Furthermore, if the \fIlogin\fR option was specified, the username and
-password are also checked against the system password database. Thus,
-the system administrator can set up the pap-secrets file to allow PPP
-access only to certain users, and to restrict the set of IP addresses
-that each user can use. Typically, when using the \fIlogin\fR option,
-the secret in /etc/ppp/pap-secrets would be "", which will match any
-password supplied by the peer. This avoids the need to have the same
-secret in two places.
-.LP
-Authentication must be satisfactorily completed before IPCP (or any
-other Network Control Protocol) can be started. If the peer is
-required to authenticate itself, and fails to do so, pppd will
-terminated the link (by closing LCP). If IPCP negotiates an
-unacceptable IP address for the remote host, IPCP will be closed. IP
-packets can only be sent or received when IPCP is open.
-.LP
-In some cases it is desirable to allow some hosts which can't
-authenticate themselves to connect and use one of a restricted set of
-IP addresses, even when the local host generally requires
-authentication. If the peer refuses to authenticate itself when
-requested, pppd takes that as equivalent to authenticating with PAP
-using the empty string for the username and password. Thus, by adding
-a line to the pap-secrets file which specifies the empty string for
-the client and password, it is possible to allow restricted access to
-hosts which refuse to authenticate themselves.
-.SH ROUTING
-.LP
-When IPCP negotiation is completed successfully, pppd will inform the
-kernel of the local and remote IP addresses for the ppp interface.
-This is sufficient to create a host route to the remote end of the
-link, which will enable the peers to exchange IP packets.
-Communication with other machines generally requires further
-modification to routing tables and/or ARP (Address Resolution
-Protocol) tables. In most cases the \fIdefaultroute\fR and/or
-\fIproxyarp\fR options are sufficient for this, but in some cases
-further intervention is required. The /etc/ppp/ip-up script can be
-used for this.
-.LP
-Sometimes it is desirable to add a default route through the remote
-host, as in the case of a machine whose only connection to the
-Internet is through the ppp interface. The \fIdefaultroute\fR option
-causes pppd to create such a default route when IPCP comes up, and
-delete it when the link is terminated.
-.LP
-In some cases it is desirable to use proxy ARP, for example on a
-server machine connected to a LAN, in order to allow other hosts to
-communicate with the remote host. The \fIproxyarp\fR option causes
-pppd to look for a network interface on the same subnet as the remote
-host (an interface supporting broadcast and ARP, which is up and not a
-point-to-point or loopback interface). If found, pppd creates a
-permanent, published ARP entry with the IP address of the remote host
-and the hardware address of the network interface found.
-.LP
-When the \fIdemand\fR option is used, the interface IP addresses have
-already been set at the point when IPCP comes up. If pppd has not
-been able to negotiate the same addresses that it used to configure
-the interface (for example when the peer is an ISP that uses dynamic
-IP address assignment), pppd has to change the interface IP addresses
-to the negotiated addresses. This may disrupt existing connections,
-and the use of demand dialling with peers that do dynamic IP address
-assignment is not recommended.
-.SH MULTILINK
-Multilink PPP provides the capability to combine two or more PPP links
-between a pair of machines into a single `bundle', which appears as a
-single virtual PPP link which has the combined bandwidth of the
-individual links. Currently, multilink PPP is only supported under
-Linux.
-.LP
-Pppd detects that the link it is controlling is connected to the same
-peer as another link using the peer's endpoint discriminator and the
-authenticated identity of the peer (if it authenticates itself). The
-endpoint discriminator is a block of data which is hopefully unique
-for each peer. Several types of data can be used, including
-locally-assigned strings of bytes, IP addresses, MAC addresses,
-randomly strings of bytes, or E-164 phone numbers. The endpoint
-discriminator sent to the peer by pppd can be set using the endpoint
-option.
-.LP
-In circumstances the peer may send no endpoint discriminator or a
-non-unique value. The optional bundle option adds an extra string
-which is added to the peer's endpoint discriminator and authenticated
-identity when matching up links to be joined together in a bundle.
-The bundle option can also be used to allow the establishment of
-multiple bundles between the local system and the peer. Pppd uses a
-TDB database in /var/run/pppd.tdb to match up links.
-.LP
-Assuming that multilink is enabled and the peer is willing to
-negotiate multilink, then when pppd is invoked to bring up the first
-link to the peer, it will detect that no other link is connected to
-the peer and create a new bundle, that is, another ppp network
-interface unit. When another pppd is invoked to bring up another link
-to the peer, it will detect the existing bundle and join its link to
-it. Currently, if the first pppd terminates (for example, because of
-a hangup or a received signal) the bundle is destroyed.
-.SH EXAMPLES
-.LP
-The following examples assume that the /etc/ppp/options file contains
-the \fIauth\fR option (as in the default /etc/ppp/options file in the
-ppp distribution).
-.LP
-Probably the most common use of pppd is to dial out to an ISP. This
-can be done with a command such as
-.IP
-pppd call isp
-.LP
-where the /etc/ppp/peers/isp file is set up by the system
-administrator to contain something like this:
-.IP
-ttyS0 19200 crtscts
-.br
-connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
-.br
-noauth
-.LP
-In this example, we are using chat to dial the ISP's modem and go
-through any logon sequence required. The /etc/ppp/chat-isp file
-contains the script used by chat; it could for example contain
-something like this:
-.IP
-ABORT "NO CARRIER"
-.br
-ABORT "NO DIALTONE"
-.br
-ABORT "ERROR"
-.br
-ABORT "NO ANSWER"
-.br
-ABORT "BUSY"
-.br
-ABORT "Username/Password Incorrect"
-.br
-"" "at"
-.br
-OK "at&d0&c1"
-.br
-OK "atdt2468135"
-.br
-"name:" "^Umyuserid"
-.br
-"word:" "\\qmypassword"
-.br
-"ispts" "\\q^Uppp"
-.br
-"~-^Uppp-~"
-.LP
-See the chat(8) man page for details of chat scripts.
-.LP
-Pppd can also be used to provide a dial-in ppp service for users. If
-the users already have login accounts, the simplest way to set up the
-ppp service is to let the users log in to their accounts and run pppd
-(installed setuid-root) with a command such as
-.IP
-pppd proxyarp
-.LP
-To allow a user to use the PPP facilities, you need to allocate an IP
-address for that user's machine and create an entry in
-/etc/ppp/pap-secrets or /etc/ppp/chap-secrets (depending on which
-authentication method the PPP implementation on the user's machine
-supports), so that the user's
-machine can authenticate itself. For example, if Joe has a machine
-called "joespc" which is to be allowed to dial in to the machine
-called "server" and use the IP address joespc.my.net, you would add an
-entry like this to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets:
-.IP
-joespc server "joe's secret" joespc.my.net
-.LP
-Alternatively, you can create a username called (for example) "ppp",
-whose login shell is pppd and whose home directory is /etc/ppp.
-Options to be used when pppd is run this way can be put in
-/etc/ppp/.ppprc.
-.LP
-If your serial connection is any more complicated than a piece of
-wire, you may need to arrange for some control characters to be
-escaped. In particular, it is often useful to escape XON (^Q) and
-XOFF (^S), using \fIasyncmap a0000\fR. If the path includes a telnet,
-you probably should escape ^] as well (\fIasyncmap 200a0000\fR). If
-the path includes an rlogin, you will need to use the \fIescape ff\fR
-option on the end which is running the rlogin client, since many
-rlogin implementations are not transparent; they will remove the
-sequence [0xff, 0xff, 0x73, 0x73, followed by any 8 bytes] from the
-stream.
-.SH DIAGNOSTICS
-.LP
-Messages are sent to the syslog daemon using facility LOG_DAEMON.
-(This can be overriden by recompiling pppd with the macro
-LOG_PPP defined as the desired facility.) In order to see the error
-and debug messages, you will need to edit your /etc/syslog.conf file
-to direct the messages to the desired output device or file.
-.LP
-The \fIdebug\fR option causes the contents of all control packets sent
-or received to be logged, that is, all LCP, PAP, CHAP or IPCP packets.
-This can be useful if the PPP negotiation does not succeed or if
-authentication fails.
-If debugging is enabled at compile time, the \fIdebug\fR option also
-causes other debugging messages to be logged.
-.LP
-Debugging can also be enabled or disabled by sending a SIGUSR1 signal
-to the pppd process. This signal acts as a toggle.
-.SH EXIT STATUS
-The exit status of pppd is set to indicate whether any error was
-detected, or the reason for the link being terminated. The values
-used are:
-.TP
-.B 0
-Pppd has detached, or otherwise the connection was successfully
-established and terminated at the peer's request.
-.TP
-.B 1
-An immediately fatal error of some kind occurred, such as an essential
-system call failing, or running out of virtual memory.
-.TP
-.B 2
-An error was detected in processing the options given, such as two
-mutually exclusive options being used.
-.TP
-.B 3
-Pppd is not setuid-root and the invoking user is not root.
-.TP
-.B 4
-The kernel does not support PPP, for example, the PPP kernel driver is
-not included or cannot be loaded.
-.TP
-.B 5
-Pppd terminated because it was sent a SIGINT, SIGTERM or SIGHUP
-signal.
-.TP
-.B 6
-The serial port could not be locked.
-.TP
-.B 7
-The serial port could not be opened.
-.TP
-.B 8
-The connect script failed (returned a non-zero exit status).
-.TP
-.B 9
-The command specified as the argument to the \fIpty\fR option could
-not be run.
-.TP
-.B 10
-The PPP negotiation failed, that is, it didn't reach the point where
-at least one network protocol (e.g. IP) was running.
-.TP
-.B 11
-The peer system failed (or refused) to authenticate itself.
-.TP
-.B 12
-The link was established successfully and terminated because it was
-idle.
-.TP
-.B 13
-The link was established successfully and terminated because the
-connect time limit was reached.
-.TP
-.B 14
-Callback was negotiated and an incoming call should arrive shortly.
-.TP
-.B 15
-The link was terminated because the peer is not responding to echo
-requests.
-.TP
-.B 16
-The link was terminated by the modem hanging up.
-.TP
-.B 17
-The PPP negotiation failed because serial loopback was detected.
-.TP
-.B 18
-The init script failed (returned a non-zero exit status).
-.TP
-.B 19
-We failed to authenticate ourselves to the peer.
-.SH SCRIPTS
-Pppd invokes scripts at various stages in its processing which can be
-used to perform site-specific ancillary processing. These scripts are
-usually shell scripts, but could be executable code files instead.
-Pppd does not wait for the scripts to finish. The scripts are
-executed as root (with the real and effective user-id set to 0), so
-that they can do things such as update routing tables or run
-privileged daemons. Be careful that the contents of these scripts do
-not compromise your system's security. Pppd runs the scripts with
-standard input, output and error redirected to /dev/null, and with an
-environment that is empty except for some environment variables that
-give information about the link. The environment variables that pppd
-sets are:
-.TP
-.B DEVICE
-The name of the serial tty device being used.
-.TP
-.B IFNAME
-The name of the network interface being used.
-.TP
-.B IPLOCAL
-The IP address for the local end of the link. This is only set when
-IPCP has come up.
-.TP
-.B IPREMOTE
-The IP address for the remote end of the link. This is only set when
-IPCP has come up.
-.TP
-.B PEERNAME
-The authenticated name of the peer. This is only set if the peer
-authenticates itself.
-.TP
-.B SPEED
-The baud rate of the tty device.
-.TP
-.B ORIG_UID
-The real user-id of the user who invoked pppd.
-.TP
-.B PPPLOGNAME
-The username of the real user-id that invoked pppd. This is always set.
-.P
-For the ip-down and auth-down scripts, pppd also sets the following
-variables giving statistics for the connection:
-.TP
-.B CONNECT_TIME
-The number of seconds from when the PPP negotiation started until the
-connection was terminated.
-.TP
-.B BYTES_SENT
-The number of bytes sent (at the level of the serial port) during the
-connection.
-.TP
-.B BYTES_RCVD
-The number of bytes received (at the level of the serial port) during
-the connection.
-.TP
-.B LINKNAME
-The logical name of the link, set with the \fIlinkname\fR option.
-.P
-Pppd invokes the following scripts, if they exist. It is not an error
-if they don't exist.
-.TP
-.B /etc/ppp/auth-up
-A program or script which is executed after the remote system
-successfully authenticates itself. It is executed with the parameters
-.IP
-\fIinterface-name peer-name user-name tty-device speed\fR
-.IP
-Note that this script is not executed if the peer doesn't authenticate
-itself, for example when the \fInoauth\fR option is used.
-.TP
-.B /etc/ppp/auth-down
-A program or script which is executed when the link goes down, if
-/etc/ppp/auth-up was previously executed. It is executed in the same
-manner with the same parameters as /etc/ppp/auth-up.
-.TP
-.B /etc/ppp/ip-up
-A program or script which is executed when the link is available for
-sending and receiving IP packets (that is, IPCP has come up). It is
-executed with the parameters
-.IP
-\fIinterface-name tty-device speed local-IP-address
-remote-IP-address ipparam\fR
-.TP
-.B /etc/ppp/ip-down
-A program or script which is executed when the link is no longer
-available for sending and receiving IP packets. This script can be
-used for undoing the effects of the /etc/ppp/ip-up script. It is
-invoked in the same manner and with the same parameters as the ip-up
-script.
-.TP
-.B /etc/ppp/ipv6-up
-Like /etc/ppp/ip-up, except that it is executed when the link is available
-for sending and receiving IPv6 packets. It is executed with the parameters
-.IP
-\fIinterface-name tty-device speed local-link-local-address
-remote-link-local-address ipparam\fR
-.TP
-.B /etc/ppp/ipv6-down
-Similar to /etc/ppp/ip-down, but it is executed when IPv6 packets can no
-longer be transmitted on the link. It is executed with the same parameters
-as the ipv6-up script.
-.TP
-.B /etc/ppp/ipx-up
-A program or script which is executed when the link is available for
-sending and receiving IPX packets (that is, IPXCP has come up). It is
-executed with the parameters
-.IP
-\fIinterface-name tty-device speed network-number local-IPX-node-address
-remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol
-local-IPX-router-name remote-IPX-router-name ipparam pppd-pid\fR
-.IP
-The local-IPX-routing-protocol and remote-IPX-routing-protocol field
-may be one of the following:
-.IP
-NONE to indicate that there is no routing protocol
-.br
-RIP to indicate that RIP/SAP should be used
-.br
-NLSP to indicate that Novell NLSP should be used
-.br
-RIP NLSP to indicate that both RIP/SAP and NLSP should be used
-.TP
-.B /etc/ppp/ipx-down
-A program or script which is executed when the link is no longer
-available for sending and receiving IPX packets. This script can be
-used for undoing the effects of the /etc/ppp/ipx-up script. It is
-invoked in the same manner and with the same parameters as the ipx-up
-script.
-.SH FILES
-.TP
-.B /var/run/ppp\fIn\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(others)
-Process-ID for pppd process on ppp interface unit \fIn\fR.
-.TP
-.B /var/run/ppp-\fIname\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp-\fIname\fB.pid \fR(others)
-Process-ID for pppd process for logical link \fIname\fR (see the
-\fIlinkname\fR option).
-.TP
-.B /etc/ppp/pap-secrets
-Usernames, passwords and IP addresses for PAP authentication. This
-file should be owned by root and not readable or writable by any other
-user. Pppd will log a warning if this is not the case.
-.TP
-.B /etc/ppp/chap-secrets
-Names, secrets and IP addresses for CHAP authentication. As for
-/etc/ppp/pap-secrets, this file should be owned by root and not
-readable or writable by any other user. Pppd will log a warning if
-this is not the case.
-.TP
-.B /etc/ppp/options
-System default options for pppd, read before user default options or
-command-line options.
-.TP
-.B ~/.ppprc
-User default options, read before /etc/ppp/options.\fIttyname\fR.
-.TP
-.B /etc/ppp/options.\fIttyname
-System default options for the serial port being used, read after
-~/.ppprc. In forming the \fIttyname\fR part of this
-filename, an initial /dev/ is stripped from the port name (if
-present), and any slashes in the remaining part are converted to
-dots.
-.TP
-.B /etc/ppp/peers
-A directory containing options files which may contain privileged
-options, even if pppd was invoked by a user other than root. The
-system administrator can create options files in this directory to
-permit non-privileged users to dial out without requiring the peer to
-authenticate, but only to certain trusted peers.
-.SH SEE ALSO
-.TP
-.B RFC1144
-Jacobson, V.
-\fICompressing TCP/IP headers for low-speed serial links.\fR
-February 1990.
-.TP
-.B RFC1321
-Rivest, R.
-.I The MD5 Message-Digest Algorithm.
-April 1992.
-.TP
-.B RFC1332
-McGregor, G.
-.I PPP Internet Protocol Control Protocol (IPCP).
-May 1992.
-.TP
-.B RFC1334
-Lloyd, B.; Simpson, W.A.
-.I PPP authentication protocols.
-October 1992.
-.TP
-.B RFC1661
-Simpson, W.A.
-.I The Point\-to\-Point Protocol (PPP).
-July 1994.
-.TP
-.B RFC1662
-Simpson, W.A.
-.I PPP in HDLC-like Framing.
-July 1994.
-.TP
-.B RFC2472
-Haskin, D.
-.I IP Version 6 over PPP
-December 1998.
-.SH NOTES
-The following signals have the specified effect when sent to pppd.
-.TP
-.B SIGINT, SIGTERM
-These signals cause pppd to terminate the link (by closing LCP),
-restore the serial device settings, and exit.
-.TP
-.B SIGHUP
-This signal causes pppd to terminate the link, restore the serial
-device settings, and close the serial device. If the \fIpersist\fR or
-\fIdemand\fR option has been specified, pppd will try to reopen the
-serial device and start another connection (after the holdoff period).
-Otherwise pppd will exit. If this signal is received during the
-holdoff period, it causes pppd to end the holdoff period immediately.
-.TP
-.B SIGUSR1
-This signal toggles the state of the \fIdebug\fR option.
-.TP
-.B SIGUSR2
-This signal causes pppd to renegotiate compression. This can be
-useful to re-enable compression after it has been disabled as a result
-of a fatal decompression error. (Fatal decompression errors generally
-indicate a bug in one or other implementation.)
-
-.SH AUTHORS
-Paul Mackerras (Paul.Mackerras@cs.anu.edu.au), based on earlier work by
-Drew Perkins,
-Brad Clements,
-Karl Fox,
-Greg Christy,
-and
-Brad Parker.
diff --git a/mdk-stage1/ppp/pppd/pppd.h b/mdk-stage1/ppp/pppd/pppd.h
deleted file mode 100644
index 02f6dfcef..000000000
--- a/mdk-stage1/ppp/pppd/pppd.h
+++ /dev/null
@@ -1,787 +0,0 @@
-/*
- * pppd.h - PPP daemon global declarations.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * TODO:
- */
-
-#ifndef __PPPD_H__
-#define __PPPD_H__
-
-#include <stdio.h> /* for FILE */
-#include <limits.h> /* for NGROUPS_MAX */
-#include <sys/param.h> /* for MAXPATHLEN and BSD4_4, if defined */
-#include <sys/types.h> /* for u_int32_t, if defined */
-#include <sys/time.h> /* for struct timeval */
-#include <net/ppp_defs.h>
-#include "patchlevel.h"
-
-#if defined(__STDC__)
-#include <stdarg.h>
-#define __V(x) x
-#else
-#include <varargs.h>
-#define __V(x) (va_alist) va_dcl
-#define const
-#define volatile
-#endif
-
-#ifdef INET6
-#include "eui64.h"
-#endif
-
-/*
- * Limits.
- */
-
-#define NUM_PPP 1 /* One PPP interface supported (per process) */
-#define MAXWORDLEN 1024 /* max length of word in file (incl null) */
-#define MAXARGS 1 /* max # args to a command */
-#define MAXNAMELEN 256 /* max length of hostname or name for auth */
-#define MAXSECRETLEN 256 /* max length of password or secret */
-
-/*
- * Option descriptor structure.
- */
-
-typedef unsigned char bool;
-
-enum opt_type {
- o_special_noarg = 0,
- o_special = 1,
- o_bool,
- o_int,
- o_uint32,
- o_string,
- o_wild,
-};
-
-typedef struct {
- char *name; /* name of the option */
- enum opt_type type;
- void *addr;
- char *description;
- int flags;
- void *addr2;
- int upper_limit;
- int lower_limit;
- const char *source;
- short int priority;
- short int winner;
-} option_t;
-
-/* Values for flags */
-#define OPT_VALUE 0xff /* mask for presupplied value */
-#define OPT_HEX 0x100 /* int option is in hex */
-#define OPT_NOARG 0x200 /* option doesn't take argument */
-#define OPT_OR 0x400 /* OR in argument to value */
-#define OPT_INC 0x800 /* increment value */
-#define OPT_PRIV 0x1000 /* privileged option */
-#define OPT_STATIC 0x2000 /* string option goes into static array */
-#define OPT_LLIMIT 0x4000 /* check value against lower limit */
-#define OPT_ULIMIT 0x8000 /* check value against upper limit */
-#define OPT_LIMITS (OPT_LLIMIT|OPT_ULIMIT)
-#define OPT_ZEROOK 0x10000 /* 0 value is OK even if not within limits */
-#define OPT_HIDE 0x10000 /* for o_string, print value as ?????? */
-#define OPT_A2LIST 0x10000 /* for o_special, keep list of values */
-#define OPT_NOINCR 0x20000 /* value mustn't be increased */
-#define OPT_ZEROINF 0x40000 /* with OPT_NOINCR, 0 == infinity */
-#define OPT_PRIO 0x80000 /* process option priorities for this option */
-#define OPT_PRIOSUB 0x100000 /* subsidiary member of priority group */
-#define OPT_ALIAS 0x200000 /* option is alias for previous option */
-#define OPT_A2COPY 0x400000 /* addr2 -> second location to rcv value */
-#define OPT_ENABLE 0x800000 /* use *addr2 as enable for option */
-#define OPT_A2CLR 0x1000000 /* clear *(bool *)addr2 */
-#define OPT_PRIVFIX 0x2000000 /* user can't override if set by root */
-#define OPT_INITONLY 0x4000000 /* option can only be set in init phase */
-#define OPT_DEVEQUIV 0x8000000 /* equiv to device name */
-#define OPT_DEVNAM (OPT_INITONLY | OPT_DEVEQUIV)
-#define OPT_A2PRINTER 0x10000000 /* *addr2 is a fn for printing option */
-#define OPT_A2STRVAL 0x20000000 /* *addr2 points to current string value */
-#define OPT_NOPRINT 0x40000000 /* don't print this option at all */
-
-#define OPT_VAL(x) ((x) & OPT_VALUE)
-
-/* Values for priority */
-#define OPRIO_DEFAULT 0 /* a default value */
-#define OPRIO_CFGFILE 1 /* value from a configuration file */
-#define OPRIO_CMDLINE 2 /* value from the command line */
-#define OPRIO_SECFILE 3 /* value from options in a secrets file */
-#define OPRIO_ROOT 100 /* added to priority if OPT_PRIVFIX && root */
-
-#ifndef GIDSET_TYPE
-#define GIDSET_TYPE gid_t
-#endif
-
-/* Structure representing a list of permitted IP addresses. */
-struct permitted_ip {
- int permit; /* 1 = permit, 0 = forbid */
- u_int32_t base; /* match if (addr & mask) == base */
- u_int32_t mask; /* base and mask are in network byte order */
-};
-
-/*
- * Unfortunately, the linux kernel driver uses a different structure
- * for statistics from the rest of the ports.
- * This structure serves as a common representation for the bits
- * pppd needs.
- */
-struct pppd_stats {
- unsigned int bytes_in;
- unsigned int bytes_out;
-};
-
-/* Used for storing a sequence of words. Usually malloced. */
-struct wordlist {
- struct wordlist *next;
- char *word;
-};
-
-/* An endpoint discriminator, used with multilink. */
-#define MAX_ENDP_LEN 20 /* maximum length of discriminator value */
-struct epdisc {
- unsigned char class;
- unsigned char length;
- unsigned char value[MAX_ENDP_LEN];
-};
-
-/* values for epdisc.class */
-#define EPD_NULL 0 /* null discriminator, no data */
-#define EPD_LOCAL 1
-#define EPD_IP 2
-#define EPD_MAC 3
-#define EPD_MAGIC 4
-#define EPD_PHONENUM 5
-
-typedef void (*notify_func) __P((void *, int));
-
-struct notifier {
- struct notifier *next;
- notify_func func;
- void *arg;
-};
-
-/*
- * Global variables.
- */
-
-extern int hungup; /* Physical layer has disconnected */
-extern int ifunit; /* Interface unit number */
-extern char ifname[]; /* Interface name */
-extern char hostname[]; /* Our hostname */
-extern u_char outpacket_buf[]; /* Buffer for outgoing packets */
-extern int phase; /* Current state of link - see values below */
-extern int baud_rate; /* Current link speed in bits/sec */
-extern char *progname; /* Name of this program */
-extern int redirect_stderr;/* Connector's stderr should go to file */
-extern char peer_authname[];/* Authenticated name of peer */
-extern int privileged; /* We were run by real-uid root */
-extern int need_holdoff; /* Need holdoff period after link terminates */
-extern char **script_env; /* Environment variables for scripts */
-extern int detached; /* Have detached from controlling tty */
-extern GIDSET_TYPE groups[NGROUPS_MAX]; /* groups the user is in */
-extern int ngroups; /* How many groups valid in groups */
-extern struct pppd_stats link_stats; /* byte/packet counts etc. for link */
-extern int link_stats_valid; /* set if link_stats is valid */
-extern int link_connect_time; /* time the link was up for */
-extern int using_pty; /* using pty as device (notty or pty opt.) */
-extern int log_to_fd; /* logging to this fd as well as syslog */
-extern bool log_default; /* log_to_fd is default (stdout) */
-extern char *no_ppp_msg; /* message to print if ppp not in kernel */
-extern volatile int status; /* exit status for pppd */
-extern bool devnam_fixed; /* can no longer change devnam */
-extern int unsuccess; /* # unsuccessful connection attempts */
-extern int do_callback; /* set if we want to do callback next */
-extern int doing_callback; /* set if this is a callback */
-extern char ppp_devnam[MAXPATHLEN];
-extern struct notifier *pidchange; /* for notifications of pid changing */
-extern struct notifier *phasechange; /* for notifications of phase changes */
-extern struct notifier *exitnotify; /* for notification that we're exiting */
-extern struct notifier *sigreceived; /* notification of received signal */
-extern int listen_time; /* time to listen first (ms) */
-
-/* Values for do_callback and doing_callback */
-#define CALLBACK_DIALIN 1 /* we are expecting the call back */
-#define CALLBACK_DIALOUT 2 /* we are dialling out to call back */
-
-/*
- * Variables set by command-line options.
- */
-
-extern int debug; /* Debug flag */
-extern int kdebugflag; /* Tell kernel to print debug messages */
-extern int default_device; /* Using /dev/tty or equivalent */
-extern char devnam[MAXPATHLEN]; /* Device name */
-extern int crtscts; /* Use hardware flow control */
-extern bool modem; /* Use modem control lines */
-extern int inspeed; /* Input/Output speed requested */
-extern u_int32_t netmask; /* IP netmask to set on interface */
-extern bool lockflag; /* Create lock file to lock the serial dev */
-extern bool nodetach; /* Don't detach from controlling tty */
-extern bool updetach; /* Detach from controlling tty when link up */
-extern char *initializer; /* Script to initialize physical link */
-extern char *connect_script; /* Script to establish physical link */
-extern char *disconnect_script; /* Script to disestablish physical link */
-extern char *welcomer; /* Script to welcome client after connection */
-extern char *ptycommand; /* Command to run on other side of pty */
-extern int maxconnect; /* Maximum connect time (seconds) */
-extern char user[MAXNAMELEN];/* Our name for authenticating ourselves */
-extern char passwd[MAXSECRETLEN]; /* Password for PAP or CHAP */
-extern bool auth_required; /* Peer is required to authenticate */
-extern bool persist; /* Reopen link after it goes down */
-extern bool uselogin; /* Use /etc/passwd for checking PAP */
-extern char our_name[MAXNAMELEN];/* Our name for authentication purposes */
-extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
-extern bool explicit_remote;/* remote_name specified with remotename opt */
-extern bool demand; /* Do dial-on-demand */
-extern char *ipparam; /* Extra parameter for ip up/down scripts */
-extern bool cryptpap; /* Others' PAP passwords are encrypted */
-extern int idle_time_limit;/* Shut down link if idle for this long */
-extern int holdoff; /* Dead time before restarting */
-extern bool holdoff_specified; /* true if user gave a holdoff value */
-extern bool notty; /* Stdin/out is not a tty */
-extern char *pty_socket; /* Socket to connect to pty */
-extern char *record_file; /* File to record chars sent/received */
-extern bool sync_serial; /* Device is synchronous serial device */
-extern int maxfail; /* Max # of unsuccessful connection attempts */
-extern char linkname[MAXPATHLEN]; /* logical name for link */
-extern bool tune_kernel; /* May alter kernel settings as necessary */
-extern int connect_delay; /* Time to delay after connect script */
-extern int max_data_rate; /* max bytes/sec through charshunt */
-extern int req_unit; /* interface unit number to use */
-extern bool multilink; /* enable multilink operation */
-extern bool noendpoint; /* don't send or accept endpt. discrim. */
-extern char *bundle_name; /* bundle name for multilink */
-extern bool dump_options; /* print out option values */
-extern bool dryrun; /* check everything, print options, exit */
-
-#ifdef PPP_FILTER
-extern struct bpf_program pass_filter; /* Filter for pkts to pass */
-extern struct bpf_program active_filter; /* Filter for link-active pkts */
-#endif
-
-#ifdef MSLANMAN
-extern bool ms_lanman; /* Use LanMan password instead of NT */
- /* Has meaning only with MS-CHAP challenges */
-#endif
-
-extern char *current_option; /* the name of the option being parsed */
-extern int privileged_option; /* set iff the current option came from root */
-extern char *option_source; /* string saying where the option came from */
-extern int option_priority; /* priority of current options */
-
-/*
- * Values for phase.
- */
-#define PHASE_DEAD 0
-#define PHASE_INITIALIZE 1
-#define PHASE_SERIALCONN 2
-#define PHASE_DORMANT 3
-#define PHASE_ESTABLISH 4
-#define PHASE_AUTHENTICATE 5
-#define PHASE_CALLBACK 6
-#define PHASE_NETWORK 7
-#define PHASE_RUNNING 8
-#define PHASE_TERMINATE 9
-#define PHASE_DISCONNECT 10
-#define PHASE_HOLDOFF 11
-
-/*
- * The following struct gives the addresses of procedures to call
- * for a particular protocol.
- */
-struct protent {
- u_short protocol; /* PPP protocol number */
- /* Initialization procedure */
- void (*init) __P((int unit));
- /* Process a received packet */
- void (*input) __P((int unit, u_char *pkt, int len));
- /* Process a received protocol-reject */
- void (*protrej) __P((int unit));
- /* Lower layer has come up */
- void (*lowerup) __P((int unit));
- /* Lower layer has gone down */
- void (*lowerdown) __P((int unit));
- /* Open the protocol */
- void (*open) __P((int unit));
- /* Close the protocol */
- void (*close) __P((int unit, char *reason));
- /* Print a packet in readable form */
- int (*printpkt) __P((u_char *pkt, int len,
- void (*printer) __P((void *, char *, ...)),
- void *arg));
- /* Process a received data packet */
- void (*datainput) __P((int unit, u_char *pkt, int len));
- bool enabled_flag; /* 0 iff protocol is disabled */
- char *name; /* Text name of protocol */
- char *data_name; /* Text name of corresponding data protocol */
- option_t *options; /* List of command-line options */
- /* Check requested options, assign defaults */
- void (*check_options) __P((void));
- /* Configure interface for demand-dial */
- int (*demand_conf) __P((int unit));
- /* Say whether to bring up link for this pkt */
- int (*active_pkt) __P((u_char *pkt, int len));
-};
-
-/* Table of pointers to supported protocols */
-extern struct protent *protocols[];
-
-/*
- * This struct contains pointers to a set of procedures for
- * doing operations on a "channel". A channel provides a way
- * to send and receive PPP packets - the canonical example is
- * a serial port device in PPP line discipline (or equivalently
- * with PPP STREAMS modules pushed onto it).
- */
-struct channel {
- /* set of options for this channel */
- option_t *options;
- /* find and process a per-channel options file */
- void (*process_extra_options) __P((void));
- /* check all the options that have been given */
- void (*check_options) __P((void));
- /* get the channel ready to do PPP, return a file descriptor */
- int (*connect) __P((void));
- /* we're finished with the channel */
- void (*disconnect) __P((void));
- /* put the channel into PPP `mode' */
- int (*establish_ppp) __P((int));
- /* take the channel out of PPP `mode', restore loopback if demand */
- void (*disestablish_ppp) __P((int));
- /* set the transmit-side PPP parameters of the channel */
- void (*send_config) __P((int, u_int32_t, int, int));
- /* set the receive-side PPP parameters of the channel */
- void (*recv_config) __P((int, u_int32_t, int, int));
- /* cleanup on error or normal exit */
- void (*cleanup) __P((void));
- /* close the device, called in children after fork */
- void (*close) __P((void));
-};
-
-extern struct channel *the_channel;
-
-#define ppp_send_config(unit, mtu, accm, pc, acc) \
-do { \
- if (the_channel->send_config) \
- (*the_channel->send_config)((mtu), (accm), (pc), (acc)); \
-} while (0)
-
-#define ppp_recv_config(unit, mtu, accm, pc, acc) \
-do { \
- if (the_channel->send_config) \
- (*the_channel->recv_config)((mtu), (accm), (pc), (acc)); \
-} while (0)
-
-/*
- * Prototypes.
- */
-
-/* Procedures exported from main.c. */
-void set_ifunit __P((int)); /* set stuff that depends on ifunit */
-void detach __P((void)); /* Detach from controlling tty */
-void die __P((int)); /* Cleanup and exit */
-void quit __P((void)); /* like die(1) */
-void novm __P((char *)); /* Say we ran out of memory, and die */
-void timeout __P((void (*func)(void *), void *arg, int s, int us));
- /* Call func(arg) after s.us seconds */
-void untimeout __P((void (*func)(void *), void *arg));
- /* Cancel call to func(arg) */
-void record_child __P((int, char *, void (*) (void *), void *));
-int device_script __P((char *cmd, int in, int out, int dont_wait));
- /* Run `cmd' with given stdin and stdout */
-pid_t run_program __P((char *prog, char **args, int must_exist,
- void (*done)(void *), void *arg));
- /* Run program prog with args in child */
-void reopen_log __P((void)); /* (re)open the connection to syslog */
-void update_link_stats __P((int)); /* Get stats at link termination */
-void script_setenv __P((char *, char *, int)); /* set script env var */
-void script_unsetenv __P((char *)); /* unset script env var */
-void new_phase __P((int)); /* signal start of new phase */
-void add_notifier __P((struct notifier **, notify_func, void *));
-void remove_notifier __P((struct notifier **, notify_func, void *));
-void notify __P((struct notifier *, int));
-
-/* Procedures exported from tty.c. */
-void tty_init __P((void));
-
-/* Procedures exported from utils.c. */
-void log_packet __P((u_char *, int, char *, int));
- /* Format a packet and log it with syslog */
-void print_string __P((char *, int, void (*) (void *, char *, ...),
- void *)); /* Format a string for output */
-int slprintf __P((char *, int, char *, ...)); /* sprintf++ */
-int vslprintf __P((char *, int, char *, va_list)); /* vsprintf++ */
-size_t strlcpy __P((char *, const char *, size_t)); /* safe strcpy */
-size_t strlcat __P((char *, const char *, size_t)); /* safe strncpy */
-void dbglog __P((char *, ...)); /* log a debug message */
-void info __P((char *, ...)); /* log an informational message */
-void notice __P((char *, ...)); /* log a notice-level message */
-void warn __P((char *, ...)); /* log a warning message */
-void error __P((char *, ...)); /* log an error message */
-void fatal __P((char *, ...)); /* log an error message and die(1) */
-void init_pr_log __P((char *, int)); /* initialize for using pr_log */
-void pr_log __P((void *, char *, ...)); /* printer fn, output to syslog */
-void end_pr_log __P((void)); /* finish up after using pr_log */
-
-/* Procedures exported from auth.c */
-void link_required __P((int)); /* we are starting to use the link */
-void link_terminated __P((int)); /* we are finished with the link */
-void link_down __P((int)); /* the LCP layer has left the Opened state */
-void link_established __P((int)); /* the link is up; authenticate now */
-void start_networks __P((void)); /* start all the network control protos */
-void np_up __P((int, int)); /* a network protocol has come up */
-void np_down __P((int, int)); /* a network protocol has gone down */
-void np_finished __P((int, int)); /* a network protocol no longer needs link */
-void auth_peer_fail __P((int, int));
- /* peer failed to authenticate itself */
-void auth_peer_success __P((int, int, char *, int));
- /* peer successfully authenticated itself */
-void auth_withpeer_fail __P((int, int));
- /* we failed to authenticate ourselves */
-void auth_withpeer_success __P((int, int));
- /* we successfully authenticated ourselves */
-void auth_check_options __P((void));
- /* check authentication options supplied */
-void auth_reset __P((int)); /* check what secrets we have */
-int check_passwd __P((int, char *, int, char *, int, char **));
- /* Check peer-supplied username/password */
-int get_secret __P((int, char *, char *, char *, int *, int));
- /* get "secret" for chap */
-int auth_ip_addr __P((int, u_int32_t));
- /* check if IP address is authorized */
-int bad_ip_adrs __P((u_int32_t));
- /* check if IP address is unreasonable */
-
-/* Procedures exported from demand.c */
-void demand_conf __P((void)); /* config interface(s) for demand-dial */
-void demand_block __P((void)); /* set all NPs to queue up packets */
-void demand_unblock __P((void)); /* set all NPs to pass packets */
-void demand_discard __P((void)); /* set all NPs to discard packets */
-void demand_rexmit __P((int)); /* retransmit saved frames for an NP */
-int loop_chars __P((unsigned char *, int)); /* process chars from loopback */
-int loop_frame __P((unsigned char *, int)); /* should we bring link up? */
-
-/* Procedures exported from multilink.c */
-void mp_check_options __P((void)); /* Check multilink-related options */
-int mp_join_bundle __P((void)); /* join our link to an appropriate bundle */
-char *epdisc_to_str __P((struct epdisc *)); /* string from endpoint discrim. */
-int str_to_epdisc __P((struct epdisc *, char *)); /* endpt disc. from str */
-
-/* Procedures exported from sys-*.c */
-void sys_init __P((void)); /* Do system-dependent initialization */
-void sys_cleanup __P((void)); /* Restore system state before exiting */
-int sys_check_options __P((void)); /* Check options specified */
-void sys_close __P((void)); /* Clean up in a child before execing */
-int ppp_available __P((void)); /* Test whether ppp kernel support exists */
-int get_pty __P((int *, int *, char *, int)); /* Get pty master/slave */
-int open_ppp_loopback __P((void)); /* Open loopback for demand-dialling */
-int tty_establish_ppp __P((int)); /* Turn serial port into a ppp interface */
-void tty_disestablish_ppp __P((int)); /* Restore port to normal operation */
-void make_new_bundle __P((int, int, int, int)); /* Create new bundle */
-int bundle_attach __P((int)); /* Attach link to existing bundle */
-void cfg_bundle __P((int, int, int, int)); /* Configure existing bundle */
-void clean_check __P((void)); /* Check if line was 8-bit clean */
-void set_up_tty __P((int, int)); /* Set up port's speed, parameters, etc. */
-void restore_tty __P((int)); /* Restore port's original parameters */
-void setdtr __P((int, int)); /* Raise or lower port's DTR line */
-void output __P((int, u_char *, int)); /* Output a PPP packet */
-void wait_input __P((struct timeval *));
- /* Wait for input, with timeout */
-void add_fd __P((int)); /* Add fd to set to wait for */
-void remove_fd __P((int)); /* Remove fd from set to wait for */
-int read_packet __P((u_char *)); /* Read PPP packet */
-int get_loop_output __P((void)); /* Read pkts from loopback */
-void tty_send_config __P((int, u_int32_t, int, int));
- /* Configure i/f transmit parameters */
-void tty_set_xaccm __P((ext_accm));
- /* Set extended transmit ACCM */
-void tty_recv_config __P((int, u_int32_t, int, int));
- /* Configure i/f receive parameters */
-int ccp_test __P((int, u_char *, int, int));
- /* Test support for compression scheme */
-void ccp_flags_set __P((int, int, int));
- /* Set kernel CCP state */
-int ccp_fatal_error __P((int)); /* Test for fatal decomp error in kernel */
-int get_idle_time __P((int, struct ppp_idle *));
- /* Find out how long link has been idle */
-int get_ppp_stats __P((int, struct pppd_stats *));
- /* Return link statistics */
-void netif_set_mtu __P((int, int)); /* Set PPP interface MTU */
-int sifvjcomp __P((int, int, int, int));
- /* Configure VJ TCP header compression */
-int sifup __P((int)); /* Configure i/f up for one protocol */
-int sifnpmode __P((int u, int proto, enum NPmode mode));
- /* Set mode for handling packets for proto */
-int sifdown __P((int)); /* Configure i/f down for one protocol */
-int sifaddr __P((int, u_int32_t, u_int32_t, u_int32_t));
- /* Configure IPv4 addresses for i/f */
-int cifaddr __P((int, u_int32_t, u_int32_t));
- /* Reset i/f IP addresses */
-#ifdef INET6
-int sif6addr __P((int, eui64_t, eui64_t));
- /* Configure IPv6 addresses for i/f */
-int cif6addr __P((int, eui64_t, eui64_t));
- /* Remove an IPv6 address from i/f */
-#endif
-int sifdefaultroute __P((int, u_int32_t, u_int32_t));
- /* Create default route through i/f */
-int cifdefaultroute __P((int, u_int32_t, u_int32_t));
- /* Delete default route through i/f */
-int sifproxyarp __P((int, u_int32_t));
- /* Add proxy ARP entry for peer */
-int cifproxyarp __P((int, u_int32_t));
- /* Delete proxy ARP entry for peer */
-u_int32_t GetMask __P((u_int32_t)); /* Get appropriate netmask for address */
-int lock __P((char *)); /* Create lock file for device */
-int relock __P((int)); /* Rewrite lock file with new pid */
-void unlock __P((void)); /* Delete previously-created lock file */
-int get_host_seed __P((void)); /* Get host-dependent random number seed */
-int have_route_to __P((u_int32_t)); /* Check if route to addr exists */
-#ifdef PPP_FILTER
-int set_filters __P((struct bpf_program *pass, struct bpf_program *active));
- /* Set filter programs in kernel */
-#endif
-#ifdef IPX_CHANGE
-int sipxfaddr __P((int, unsigned long, unsigned char *));
-int cipxfaddr __P((int));
-#endif
-int get_if_hwaddr __P((u_char *addr, char *name));
-char *get_first_ethernet __P((void));
-
-/* Procedures exported from options.c */
-int parse_args __P((int argc, char **argv));
- /* Parse options from arguments given */
-int options_from_file __P((char *filename, int must_exist, int check_prot,
- int privileged));
- /* Parse options from an options file */
-int options_from_user __P((void)); /* Parse options from user's .ppprc */
-int options_for_tty __P((void)); /* Parse options from /etc/ppp/options.tty */
-int options_from_list __P((struct wordlist *, int privileged));
- /* Parse options from a wordlist */
-int getword __P((FILE *f, char *word, int *newlinep, char *filename));
- /* Read a word from a file */
-void option_error __P((char *fmt, ...));
- /* Print an error message about an option */
-int int_option __P((char *, int *));
- /* Simplified number_option for decimal ints */
-void add_options __P((option_t *)); /* Add extra options */
-void check_options __P((void)); /* check values after all options parsed */
-int override_value __P((const char *, int, const char *));
- /* override value if permitted by priority */
-void print_options __P((void (*) __P((void *, char *, ...)), void *));
- /* print out values of all options */
-
-int parse_dotted_ip __P((char *, u_int32_t *));
-
-/*
- * Hooks to enable plugins to change various things.
- */
-extern int (*new_phase_hook) __P((int));
-extern int (*idle_time_hook) __P((struct ppp_idle *));
-extern int (*holdoff_hook) __P((void));
-extern int (*pap_check_hook) __P((void));
-extern int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
- struct wordlist **paddrs,
- struct wordlist **popts));
-extern void (*pap_logout_hook) __P((void));
-extern int (*pap_passwd_hook) __P((char *user, char *passwd));
-extern void (*ip_up_hook) __P((void));
-extern void (*ip_down_hook) __P((void));
-extern void (*ip_choose_hook) __P((u_int32_t *));
-
-/*
- * Inline versions of get/put char/short/long.
- * Pointer is advanced; we assume that both arguments
- * are lvalues and will already be in registers.
- * cp MUST be u_char *.
- */
-#define GETCHAR(c, cp) { \
- (c) = *(cp)++; \
-}
-#define PUTCHAR(c, cp) { \
- *(cp)++ = (u_char) (c); \
-}
-
-
-#define GETSHORT(s, cp) { \
- (s) = *(cp)++ << 8; \
- (s) |= *(cp)++; \
-}
-#define PUTSHORT(s, cp) { \
- *(cp)++ = (u_char) ((s) >> 8); \
- *(cp)++ = (u_char) (s); \
-}
-
-#define GETLONG(l, cp) { \
- (l) = *(cp)++ << 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; \
-}
-#define PUTLONG(l, cp) { \
- *(cp)++ = (u_char) ((l) >> 24); \
- *(cp)++ = (u_char) ((l) >> 16); \
- *(cp)++ = (u_char) ((l) >> 8); \
- *(cp)++ = (u_char) (l); \
-}
-
-#define INCPTR(n, cp) ((cp) += (n))
-#define DECPTR(n, cp) ((cp) -= (n))
-
-/*
- * System dependent definitions for user-level 4.3BSD UNIX implementation.
- */
-
-#define TIMEOUT(r, f, t) timeout((r), (f), (t), 0)
-#define UNTIMEOUT(r, f) untimeout((r), (f))
-
-#define BCOPY(s, d, l) memcpy(d, s, l)
-#define BZERO(s, n) memset(s, 0, n)
-
-#define PRINTMSG(m, l) { info("Remote message: %0.*v", l, m); }
-
-/*
- * MAKEHEADER - Add Header fields to a packet.
- */
-#define MAKEHEADER(p, t) { \
- PUTCHAR(PPP_ALLSTATIONS, p); \
- PUTCHAR(PPP_UI, p); \
- PUTSHORT(t, p); }
-
-/*
- * Exit status values.
- */
-#define EXIT_OK 0
-#define EXIT_FATAL_ERROR 1
-#define EXIT_OPTION_ERROR 2
-#define EXIT_NOT_ROOT 3
-#define EXIT_NO_KERNEL_SUPPORT 4
-#define EXIT_USER_REQUEST 5
-#define EXIT_LOCK_FAILED 6
-#define EXIT_OPEN_FAILED 7
-#define EXIT_CONNECT_FAILED 8
-#define EXIT_PTYCMD_FAILED 9
-#define EXIT_NEGOTIATION_FAILED 10
-#define EXIT_PEER_AUTH_FAILED 11
-#define EXIT_IDLE_TIMEOUT 12
-#define EXIT_CONNECT_TIME 13
-#define EXIT_CALLBACK 14
-#define EXIT_PEER_DEAD 15
-#define EXIT_HANGUP 16
-#define EXIT_LOOPBACK 17
-#define EXIT_INIT_FAILED 18
-#define EXIT_AUTH_TOPEER_FAILED 19
-
-/*
- * Debug macros. Slightly useful for finding bugs in pppd, not particularly
- * useful for finding out why your connection isn't being established.
- */
-#ifdef DEBUGALL
-#define DEBUGMAIN 1
-#define DEBUGFSM 1
-#define DEBUGLCP 1
-#define DEBUGIPCP 1
-#define DEBUGIPV6CP 1
-#define DEBUGUPAP 1
-#define DEBUGCHAP 1
-#endif
-
-#ifndef LOG_PPP /* we use LOG_LOCAL2 for syslog by default */
-#if defined(DEBUGMAIN) || defined(DEBUGFSM) || defined(DEBUGSYS) \
- || defined(DEBUGLCP) || defined(DEBUGIPCP) || defined(DEBUGUPAP) \
- || defined(DEBUGCHAP) || defined(DEBUG) || defined(DEBUGIPV6CP)
-#define LOG_PPP LOG_LOCAL2
-#else
-#define LOG_PPP LOG_DAEMON
-#endif
-#endif /* LOG_PPP */
-
-#ifdef DEBUGMAIN
-#define MAINDEBUG(x) if (debug) dbglog x
-#else
-#define MAINDEBUG(x)
-#endif
-
-#ifdef DEBUGSYS
-#define SYSDEBUG(x) if (debug) dbglog x
-#else
-#define SYSDEBUG(x)
-#endif
-
-#ifdef DEBUGFSM
-#define FSMDEBUG(x) if (debug) dbglog x
-#else
-#define FSMDEBUG(x)
-#endif
-
-#ifdef DEBUGLCP
-#define LCPDEBUG(x) if (debug) dbglog x
-#else
-#define LCPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPCP
-#define IPCPDEBUG(x) if (debug) dbglog x
-#else
-#define IPCPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPV6CP
-#define IPV6CPDEBUG(x) if (debug) dbglog x
-#else
-#define IPV6CPDEBUG(x)
-#endif
-
-#ifdef DEBUGUPAP
-#define UPAPDEBUG(x) if (debug) dbglog x
-#else
-#define UPAPDEBUG(x)
-#endif
-
-#ifdef DEBUGCHAP
-#define CHAPDEBUG(x) if (debug) dbglog x
-#else
-#define CHAPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPXCP
-#define IPXCPDEBUG(x) if (debug) dbglog x
-#else
-#define IPXCPDEBUG(x)
-#endif
-
-#ifndef SIGTYPE
-#if defined(sun) || defined(SYSV) || defined(POSIX_SOURCE)
-#define SIGTYPE void
-#else
-#define SIGTYPE int
-#endif /* defined(sun) || defined(SYSV) || defined(POSIX_SOURCE) */
-#endif /* SIGTYPE */
-
-#ifndef MIN
-#define MIN(a, b) ((a) < (b)? (a): (b))
-#endif
-#ifndef MAX
-#define MAX(a, b) ((a) > (b)? (a): (b))
-#endif
-
-#endif /* __PPP_H__ */
diff --git a/mdk-stage1/ppp/pppd/pppd.h.wtmp b/mdk-stage1/ppp/pppd/pppd.h.wtmp
deleted file mode 100644
index 4d440be06..000000000
--- a/mdk-stage1/ppp/pppd/pppd.h.wtmp
+++ /dev/null
@@ -1,789 +0,0 @@
-/*
- * pppd.h - PPP daemon global declarations.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * TODO:
- */
-
-#ifndef __PPPD_H__
-#define __PPPD_H__
-
-#include <stdio.h> /* for FILE */
-#include <limits.h> /* for NGROUPS_MAX */
-#include <sys/param.h> /* for MAXPATHLEN and BSD4_4, if defined */
-#include <sys/types.h> /* for u_int32_t, if defined */
-#include <sys/time.h> /* for struct timeval */
-#include <net/ppp_defs.h>
-#include "patchlevel.h"
-
-#if defined(__STDC__)
-#include <stdarg.h>
-#define __V(x) x
-#else
-#include <varargs.h>
-#define __V(x) (va_alist) va_dcl
-#define const
-#define volatile
-#endif
-
-#ifdef INET6
-#include "eui64.h"
-#endif
-
-/*
- * Limits.
- */
-
-#define NUM_PPP 1 /* One PPP interface supported (per process) */
-#define MAXWORDLEN 1024 /* max length of word in file (incl null) */
-#define MAXARGS 1 /* max # args to a command */
-#define MAXNAMELEN 256 /* max length of hostname or name for auth */
-#define MAXSECRETLEN 256 /* max length of password or secret */
-
-/*
- * Option descriptor structure.
- */
-
-typedef unsigned char bool;
-
-enum opt_type {
- o_special_noarg = 0,
- o_special = 1,
- o_bool,
- o_int,
- o_uint32,
- o_string,
- o_wild,
-};
-
-typedef struct {
- char *name; /* name of the option */
- enum opt_type type;
- void *addr;
- char *description;
- int flags;
- void *addr2;
- int upper_limit;
- int lower_limit;
- const char *source;
- short int priority;
- short int winner;
-} option_t;
-
-/* Values for flags */
-#define OPT_VALUE 0xff /* mask for presupplied value */
-#define OPT_HEX 0x100 /* int option is in hex */
-#define OPT_NOARG 0x200 /* option doesn't take argument */
-#define OPT_OR 0x400 /* OR in argument to value */
-#define OPT_INC 0x800 /* increment value */
-#define OPT_PRIV 0x1000 /* privileged option */
-#define OPT_STATIC 0x2000 /* string option goes into static array */
-#define OPT_LLIMIT 0x4000 /* check value against lower limit */
-#define OPT_ULIMIT 0x8000 /* check value against upper limit */
-#define OPT_LIMITS (OPT_LLIMIT|OPT_ULIMIT)
-#define OPT_ZEROOK 0x10000 /* 0 value is OK even if not within limits */
-#define OPT_HIDE 0x10000 /* for o_string, print value as ?????? */
-#define OPT_A2LIST 0x10000 /* for o_special, keep list of values */
-#define OPT_NOINCR 0x20000 /* value mustn't be increased */
-#define OPT_ZEROINF 0x40000 /* with OPT_NOINCR, 0 == infinity */
-#define OPT_PRIO 0x80000 /* process option priorities for this option */
-#define OPT_PRIOSUB 0x100000 /* subsidiary member of priority group */
-#define OPT_ALIAS 0x200000 /* option is alias for previous option */
-#define OPT_A2COPY 0x400000 /* addr2 -> second location to rcv value */
-#define OPT_ENABLE 0x800000 /* use *addr2 as enable for option */
-#define OPT_A2CLR 0x1000000 /* clear *(bool *)addr2 */
-#define OPT_PRIVFIX 0x2000000 /* user can't override if set by root */
-#define OPT_INITONLY 0x4000000 /* option can only be set in init phase */
-#define OPT_DEVEQUIV 0x8000000 /* equiv to device name */
-#define OPT_DEVNAM (OPT_INITONLY | OPT_DEVEQUIV)
-#define OPT_A2PRINTER 0x10000000 /* *addr2 is a fn for printing option */
-#define OPT_A2STRVAL 0x20000000 /* *addr2 points to current string value */
-#define OPT_NOPRINT 0x40000000 /* don't print this option at all */
-
-#define OPT_VAL(x) ((x) & OPT_VALUE)
-
-/* Values for priority */
-#define OPRIO_DEFAULT 0 /* a default value */
-#define OPRIO_CFGFILE 1 /* value from a configuration file */
-#define OPRIO_CMDLINE 2 /* value from the command line */
-#define OPRIO_SECFILE 3 /* value from options in a secrets file */
-#define OPRIO_ROOT 100 /* added to priority if OPT_PRIVFIX && root */
-
-#ifndef GIDSET_TYPE
-#define GIDSET_TYPE gid_t
-#endif
-
-/* Structure representing a list of permitted IP addresses. */
-struct permitted_ip {
- int permit; /* 1 = permit, 0 = forbid */
- u_int32_t base; /* match if (addr & mask) == base */
- u_int32_t mask; /* base and mask are in network byte order */
-};
-
-/*
- * Unfortunately, the linux kernel driver uses a different structure
- * for statistics from the rest of the ports.
- * This structure serves as a common representation for the bits
- * pppd needs.
- */
-struct pppd_stats {
- unsigned int bytes_in;
- unsigned int bytes_out;
-};
-
-/* Used for storing a sequence of words. Usually malloced. */
-struct wordlist {
- struct wordlist *next;
- char *word;
-};
-
-/* An endpoint discriminator, used with multilink. */
-#define MAX_ENDP_LEN 20 /* maximum length of discriminator value */
-struct epdisc {
- unsigned char class;
- unsigned char length;
- unsigned char value[MAX_ENDP_LEN];
-};
-
-/* values for epdisc.class */
-#define EPD_NULL 0 /* null discriminator, no data */
-#define EPD_LOCAL 1
-#define EPD_IP 2
-#define EPD_MAC 3
-#define EPD_MAGIC 4
-#define EPD_PHONENUM 5
-
-typedef void (*notify_func) __P((void *, int));
-
-struct notifier {
- struct notifier *next;
- notify_func func;
- void *arg;
-};
-
-/*
- * Global variables.
- */
-
-extern int hungup; /* Physical layer has disconnected */
-extern int ifunit; /* Interface unit number */
-extern char ifname[]; /* Interface name */
-extern char hostname[]; /* Our hostname */
-extern u_char outpacket_buf[]; /* Buffer for outgoing packets */
-extern int phase; /* Current state of link - see values below */
-extern int baud_rate; /* Current link speed in bits/sec */
-extern char *progname; /* Name of this program */
-extern int redirect_stderr;/* Connector's stderr should go to file */
-extern char peer_authname[];/* Authenticated name of peer */
-extern int privileged; /* We were run by real-uid root */
-extern int need_holdoff; /* Need holdoff period after link terminates */
-extern char **script_env; /* Environment variables for scripts */
-extern int detached; /* Have detached from controlling tty */
-extern GIDSET_TYPE groups[NGROUPS_MAX]; /* groups the user is in */
-extern int ngroups; /* How many groups valid in groups */
-extern struct pppd_stats link_stats; /* byte/packet counts etc. for link */
-extern int link_stats_valid; /* set if link_stats is valid */
-extern int link_connect_time; /* time the link was up for */
-extern int using_pty; /* using pty as device (notty or pty opt.) */
-extern int log_to_fd; /* logging to this fd as well as syslog */
-extern bool log_default; /* log_to_fd is default (stdout) */
-extern char *no_ppp_msg; /* message to print if ppp not in kernel */
-extern volatile int status; /* exit status for pppd */
-extern bool devnam_fixed; /* can no longer change devnam */
-extern int unsuccess; /* # unsuccessful connection attempts */
-extern int do_callback; /* set if we want to do callback next */
-extern int doing_callback; /* set if this is a callback */
-extern char ppp_devnam[MAXPATHLEN];
-extern struct notifier *pidchange; /* for notifications of pid changing */
-extern struct notifier *phasechange; /* for notifications of phase changes */
-extern struct notifier *exitnotify; /* for notification that we're exiting */
-extern struct notifier *sigreceived; /* notification of received signal */
-extern int listen_time; /* time to listen first (ms) */
-
-/* Values for do_callback and doing_callback */
-#define CALLBACK_DIALIN 1 /* we are expecting the call back */
-#define CALLBACK_DIALOUT 2 /* we are dialling out to call back */
-
-/*
- * Variables set by command-line options.
- */
-
-extern int debug; /* Debug flag */
-extern int kdebugflag; /* Tell kernel to print debug messages */
-extern int default_device; /* Using /dev/tty or equivalent */
-extern char devnam[MAXPATHLEN]; /* Device name */
-extern int crtscts; /* Use hardware flow control */
-extern bool modem; /* Use modem control lines */
-extern int inspeed; /* Input/Output speed requested */
-extern u_int32_t netmask; /* IP netmask to set on interface */
-extern bool lockflag; /* Create lock file to lock the serial dev */
-extern bool nodetach; /* Don't detach from controlling tty */
-extern bool updetach; /* Detach from controlling tty when link up */
-extern char *initializer; /* Script to initialize physical link */
-extern char *connect_script; /* Script to establish physical link */
-extern char *disconnect_script; /* Script to disestablish physical link */
-extern char *welcomer; /* Script to welcome client after connection */
-extern char *ptycommand; /* Command to run on other side of pty */
-extern int maxconnect; /* Maximum connect time (seconds) */
-extern char user[MAXNAMELEN];/* Our name for authenticating ourselves */
-extern char passwd[MAXSECRETLEN]; /* Password for PAP or CHAP */
-extern bool auth_required; /* Peer is required to authenticate */
-extern bool persist; /* Reopen link after it goes down */
-extern bool uselogin; /* Use /etc/passwd for checking PAP */
-extern char our_name[MAXNAMELEN];/* Our name for authentication purposes */
-extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
-extern bool explicit_remote;/* remote_name specified with remotename opt */
-extern bool demand; /* Do dial-on-demand */
-extern char *ipparam; /* Extra parameter for ip up/down scripts */
-extern bool cryptpap; /* Others' PAP passwords are encrypted */
-extern int idle_time_limit;/* Shut down link if idle for this long */
-extern int holdoff; /* Dead time before restarting */
-extern bool holdoff_specified; /* true if user gave a holdoff value */
-extern bool notty; /* Stdin/out is not a tty */
-extern char *pty_socket; /* Socket to connect to pty */
-extern char *record_file; /* File to record chars sent/received */
-extern bool sync_serial; /* Device is synchronous serial device */
-extern int maxfail; /* Max # of unsuccessful connection attempts */
-extern char linkname[MAXPATHLEN]; /* logical name for link */
-extern bool tune_kernel; /* May alter kernel settings as necessary */
-extern int connect_delay; /* Time to delay after connect script */
-extern int max_data_rate; /* max bytes/sec through charshunt */
-extern int req_unit; /* interface unit number to use */
-extern bool multilink; /* enable multilink operation */
-extern bool noendpoint; /* don't send or accept endpt. discrim. */
-extern char *bundle_name; /* bundle name for multilink */
-extern bool dump_options; /* print out option values */
-extern bool dryrun; /* check everything, print options, exit */
-
-#ifdef PPP_FILTER
-extern struct bpf_program pass_filter; /* Filter for pkts to pass */
-extern struct bpf_program active_filter; /* Filter for link-active pkts */
-#endif
-
-#ifdef MSLANMAN
-extern bool ms_lanman; /* Use LanMan password instead of NT */
- /* Has meaning only with MS-CHAP challenges */
-#endif
-
-extern char *current_option; /* the name of the option being parsed */
-extern int privileged_option; /* set iff the current option came from root */
-extern char *option_source; /* string saying where the option came from */
-extern int option_priority; /* priority of current options */
-
-/*
- * Values for phase.
- */
-#define PHASE_DEAD 0
-#define PHASE_INITIALIZE 1
-#define PHASE_SERIALCONN 2
-#define PHASE_DORMANT 3
-#define PHASE_ESTABLISH 4
-#define PHASE_AUTHENTICATE 5
-#define PHASE_CALLBACK 6
-#define PHASE_NETWORK 7
-#define PHASE_RUNNING 8
-#define PHASE_TERMINATE 9
-#define PHASE_DISCONNECT 10
-#define PHASE_HOLDOFF 11
-
-/*
- * The following struct gives the addresses of procedures to call
- * for a particular protocol.
- */
-struct protent {
- u_short protocol; /* PPP protocol number */
- /* Initialization procedure */
- void (*init) __P((int unit));
- /* Process a received packet */
- void (*input) __P((int unit, u_char *pkt, int len));
- /* Process a received protocol-reject */
- void (*protrej) __P((int unit));
- /* Lower layer has come up */
- void (*lowerup) __P((int unit));
- /* Lower layer has gone down */
- void (*lowerdown) __P((int unit));
- /* Open the protocol */
- void (*open) __P((int unit));
- /* Close the protocol */
- void (*close) __P((int unit, char *reason));
- /* Print a packet in readable form */
- int (*printpkt) __P((u_char *pkt, int len,
- void (*printer) __P((void *, char *, ...)),
- void *arg));
- /* Process a received data packet */
- void (*datainput) __P((int unit, u_char *pkt, int len));
- bool enabled_flag; /* 0 iff protocol is disabled */
- char *name; /* Text name of protocol */
- char *data_name; /* Text name of corresponding data protocol */
- option_t *options; /* List of command-line options */
- /* Check requested options, assign defaults */
- void (*check_options) __P((void));
- /* Configure interface for demand-dial */
- int (*demand_conf) __P((int unit));
- /* Say whether to bring up link for this pkt */
- int (*active_pkt) __P((u_char *pkt, int len));
-};
-
-/* Table of pointers to supported protocols */
-extern struct protent *protocols[];
-
-/*
- * This struct contains pointers to a set of procedures for
- * doing operations on a "channel". A channel provides a way
- * to send and receive PPP packets - the canonical example is
- * a serial port device in PPP line discipline (or equivalently
- * with PPP STREAMS modules pushed onto it).
- */
-struct channel {
- /* set of options for this channel */
- option_t *options;
- /* find and process a per-channel options file */
- void (*process_extra_options) __P((void));
- /* check all the options that have been given */
- void (*check_options) __P((void));
- /* get the channel ready to do PPP, return a file descriptor */
- int (*connect) __P((void));
- /* we're finished with the channel */
- void (*disconnect) __P((void));
- /* put the channel into PPP `mode' */
- int (*establish_ppp) __P((int));
- /* take the channel out of PPP `mode', restore loopback if demand */
- void (*disestablish_ppp) __P((int));
- /* set the transmit-side PPP parameters of the channel */
- void (*send_config) __P((int, u_int32_t, int, int));
- /* set the receive-side PPP parameters of the channel */
- void (*recv_config) __P((int, u_int32_t, int, int));
- /* cleanup on error or normal exit */
- void (*cleanup) __P((void));
- /* close the device, called in children after fork */
- void (*close) __P((void));
-};
-
-extern struct channel *the_channel;
-
-#define ppp_send_config(unit, mtu, accm, pc, acc) \
-do { \
- if (the_channel->send_config) \
- (*the_channel->send_config)((mtu), (accm), (pc), (acc)); \
-} while (0)
-
-#define ppp_recv_config(unit, mtu, accm, pc, acc) \
-do { \
- if (the_channel->send_config) \
- (*the_channel->recv_config)((mtu), (accm), (pc), (acc)); \
-} while (0)
-
-/*
- * Prototypes.
- */
-
-/* Procedures exported from main.c. */
-void set_ifunit __P((int)); /* set stuff that depends on ifunit */
-void detach __P((void)); /* Detach from controlling tty */
-void die __P((int)); /* Cleanup and exit */
-void quit __P((void)); /* like die(1) */
-void novm __P((char *)); /* Say we ran out of memory, and die */
-void timeout __P((void (*func)(void *), void *arg, int s, int us));
- /* Call func(arg) after s.us seconds */
-void untimeout __P((void (*func)(void *), void *arg));
- /* Cancel call to func(arg) */
-void record_child __P((int, char *, void (*) (void *), void *));
-int device_script __P((char *cmd, int in, int out, int dont_wait));
- /* Run `cmd' with given stdin and stdout */
-pid_t run_program __P((char *prog, char **args, int must_exist,
- void (*done)(void *), void *arg));
- /* Run program prog with args in child */
-void reopen_log __P((void)); /* (re)open the connection to syslog */
-void update_link_stats __P((int)); /* Get stats at link termination */
-void script_setenv __P((char *, char *, int)); /* set script env var */
-void script_unsetenv __P((char *)); /* unset script env var */
-void new_phase __P((int)); /* signal start of new phase */
-void add_notifier __P((struct notifier **, notify_func, void *));
-void remove_notifier __P((struct notifier **, notify_func, void *));
-void notify __P((struct notifier *, int));
-
-/* Procedures exported from tty.c. */
-void tty_init __P((void));
-
-/* Procedures exported from utils.c. */
-void log_packet __P((u_char *, int, char *, int));
- /* Format a packet and log it with syslog */
-void print_string __P((char *, int, void (*) (void *, char *, ...),
- void *)); /* Format a string for output */
-int slprintf __P((char *, int, char *, ...)); /* sprintf++ */
-int vslprintf __P((char *, int, char *, va_list)); /* vsprintf++ */
-size_t strlcpy __P((char *, const char *, size_t)); /* safe strcpy */
-size_t strlcat __P((char *, const char *, size_t)); /* safe strncpy */
-void dbglog __P((char *, ...)); /* log a debug message */
-void info __P((char *, ...)); /* log an informational message */
-void notice __P((char *, ...)); /* log a notice-level message */
-void warn __P((char *, ...)); /* log a warning message */
-void error __P((char *, ...)); /* log an error message */
-void fatal __P((char *, ...)); /* log an error message and die(1) */
-void init_pr_log __P((char *, int)); /* initialize for using pr_log */
-void pr_log __P((void *, char *, ...)); /* printer fn, output to syslog */
-void end_pr_log __P((void)); /* finish up after using pr_log */
-
-/* Procedures exported from auth.c */
-void link_required __P((int)); /* we are starting to use the link */
-void link_terminated __P((int)); /* we are finished with the link */
-void link_down __P((int)); /* the LCP layer has left the Opened state */
-void link_established __P((int)); /* the link is up; authenticate now */
-void start_networks __P((void)); /* start all the network control protos */
-void np_up __P((int, int)); /* a network protocol has come up */
-void np_down __P((int, int)); /* a network protocol has gone down */
-void np_finished __P((int, int)); /* a network protocol no longer needs link */
-void auth_peer_fail __P((int, int));
- /* peer failed to authenticate itself */
-void auth_peer_success __P((int, int, char *, int));
- /* peer successfully authenticated itself */
-void auth_withpeer_fail __P((int, int));
- /* we failed to authenticate ourselves */
-void auth_withpeer_success __P((int, int));
- /* we successfully authenticated ourselves */
-void auth_check_options __P((void));
- /* check authentication options supplied */
-void auth_reset __P((int)); /* check what secrets we have */
-int check_passwd __P((int, char *, int, char *, int, char **));
- /* Check peer-supplied username/password */
-int get_secret __P((int, char *, char *, char *, int *, int));
- /* get "secret" for chap */
-int auth_ip_addr __P((int, u_int32_t));
- /* check if IP address is authorized */
-int bad_ip_adrs __P((u_int32_t));
- /* check if IP address is unreasonable */
-
-/* Procedures exported from demand.c */
-void demand_conf __P((void)); /* config interface(s) for demand-dial */
-void demand_block __P((void)); /* set all NPs to queue up packets */
-void demand_unblock __P((void)); /* set all NPs to pass packets */
-void demand_discard __P((void)); /* set all NPs to discard packets */
-void demand_rexmit __P((int)); /* retransmit saved frames for an NP */
-int loop_chars __P((unsigned char *, int)); /* process chars from loopback */
-int loop_frame __P((unsigned char *, int)); /* should we bring link up? */
-
-/* Procedures exported from multilink.c */
-void mp_check_options __P((void)); /* Check multilink-related options */
-int mp_join_bundle __P((void)); /* join our link to an appropriate bundle */
-char *epdisc_to_str __P((struct epdisc *)); /* string from endpoint discrim. */
-int str_to_epdisc __P((struct epdisc *, char *)); /* endpt disc. from str */
-
-/* Procedures exported from sys-*.c */
-void sys_init __P((void)); /* Do system-dependent initialization */
-void sys_cleanup __P((void)); /* Restore system state before exiting */
-int sys_check_options __P((void)); /* Check options specified */
-void sys_close __P((void)); /* Clean up in a child before execing */
-int ppp_available __P((void)); /* Test whether ppp kernel support exists */
-int get_pty __P((int *, int *, char *, int)); /* Get pty master/slave */
-int open_ppp_loopback __P((void)); /* Open loopback for demand-dialling */
-int tty_establish_ppp __P((int)); /* Turn serial port into a ppp interface */
-void tty_disestablish_ppp __P((int)); /* Restore port to normal operation */
-void make_new_bundle __P((int, int, int, int)); /* Create new bundle */
-int bundle_attach __P((int)); /* Attach link to existing bundle */
-void cfg_bundle __P((int, int, int, int)); /* Configure existing bundle */
-void clean_check __P((void)); /* Check if line was 8-bit clean */
-void set_up_tty __P((int, int)); /* Set up port's speed, parameters, etc. */
-void restore_tty __P((int)); /* Restore port's original parameters */
-void setdtr __P((int, int)); /* Raise or lower port's DTR line */
-void output __P((int, u_char *, int)); /* Output a PPP packet */
-void wait_input __P((struct timeval *));
- /* Wait for input, with timeout */
-void add_fd __P((int)); /* Add fd to set to wait for */
-void remove_fd __P((int)); /* Remove fd from set to wait for */
-int read_packet __P((u_char *)); /* Read PPP packet */
-int get_loop_output __P((void)); /* Read pkts from loopback */
-void tty_send_config __P((int, u_int32_t, int, int));
- /* Configure i/f transmit parameters */
-void tty_set_xaccm __P((ext_accm));
- /* Set extended transmit ACCM */
-void tty_recv_config __P((int, u_int32_t, int, int));
- /* Configure i/f receive parameters */
-int ccp_test __P((int, u_char *, int, int));
- /* Test support for compression scheme */
-void ccp_flags_set __P((int, int, int));
- /* Set kernel CCP state */
-int ccp_fatal_error __P((int)); /* Test for fatal decomp error in kernel */
-int get_idle_time __P((int, struct ppp_idle *));
- /* Find out how long link has been idle */
-int get_ppp_stats __P((int, struct pppd_stats *));
- /* Return link statistics */
-void netif_set_mtu __P((int, int)); /* Set PPP interface MTU */
-int sifvjcomp __P((int, int, int, int));
- /* Configure VJ TCP header compression */
-int sifup __P((int)); /* Configure i/f up for one protocol */
-int sifnpmode __P((int u, int proto, enum NPmode mode));
- /* Set mode for handling packets for proto */
-int sifdown __P((int)); /* Configure i/f down for one protocol */
-int sifaddr __P((int, u_int32_t, u_int32_t, u_int32_t));
- /* Configure IPv4 addresses for i/f */
-int cifaddr __P((int, u_int32_t, u_int32_t));
- /* Reset i/f IP addresses */
-#ifdef INET6
-int sif6addr __P((int, eui64_t, eui64_t));
- /* Configure IPv6 addresses for i/f */
-int cif6addr __P((int, eui64_t, eui64_t));
- /* Remove an IPv6 address from i/f */
-#endif
-int sifdefaultroute __P((int, u_int32_t, u_int32_t));
- /* Create default route through i/f */
-int cifdefaultroute __P((int, u_int32_t, u_int32_t));
- /* Delete default route through i/f */
-int sifproxyarp __P((int, u_int32_t));
- /* Add proxy ARP entry for peer */
-int cifproxyarp __P((int, u_int32_t));
- /* Delete proxy ARP entry for peer */
-u_int32_t GetMask __P((u_int32_t)); /* Get appropriate netmask for address */
-int lock __P((char *)); /* Create lock file for device */
-int relock __P((int)); /* Rewrite lock file with new pid */
-void unlock __P((void)); /* Delete previously-created lock file */
-void logwtmp __P((const char *, const char *, const char *));
- /* Write entry to wtmp file */
-int get_host_seed __P((void)); /* Get host-dependent random number seed */
-int have_route_to __P((u_int32_t)); /* Check if route to addr exists */
-#ifdef PPP_FILTER
-int set_filters __P((struct bpf_program *pass, struct bpf_program *active));
- /* Set filter programs in kernel */
-#endif
-#ifdef IPX_CHANGE
-int sipxfaddr __P((int, unsigned long, unsigned char *));
-int cipxfaddr __P((int));
-#endif
-int get_if_hwaddr __P((u_char *addr, char *name));
-char *get_first_ethernet __P((void));
-
-/* Procedures exported from options.c */
-int parse_args __P((int argc, char **argv));
- /* Parse options from arguments given */
-int options_from_file __P((char *filename, int must_exist, int check_prot,
- int privileged));
- /* Parse options from an options file */
-int options_from_user __P((void)); /* Parse options from user's .ppprc */
-int options_for_tty __P((void)); /* Parse options from /etc/ppp/options.tty */
-int options_from_list __P((struct wordlist *, int privileged));
- /* Parse options from a wordlist */
-int getword __P((FILE *f, char *word, int *newlinep, char *filename));
- /* Read a word from a file */
-void option_error __P((char *fmt, ...));
- /* Print an error message about an option */
-int int_option __P((char *, int *));
- /* Simplified number_option for decimal ints */
-void add_options __P((option_t *)); /* Add extra options */
-void check_options __P((void)); /* check values after all options parsed */
-int override_value __P((const char *, int, const char *));
- /* override value if permitted by priority */
-void print_options __P((void (*) __P((void *, char *, ...)), void *));
- /* print out values of all options */
-
-int parse_dotted_ip __P((char *, u_int32_t *));
-
-/*
- * Hooks to enable plugins to change various things.
- */
-extern int (*new_phase_hook) __P((int));
-extern int (*idle_time_hook) __P((struct ppp_idle *));
-extern int (*holdoff_hook) __P((void));
-extern int (*pap_check_hook) __P((void));
-extern int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
- struct wordlist **paddrs,
- struct wordlist **popts));
-extern void (*pap_logout_hook) __P((void));
-extern int (*pap_passwd_hook) __P((char *user, char *passwd));
-extern void (*ip_up_hook) __P((void));
-extern void (*ip_down_hook) __P((void));
-extern void (*ip_choose_hook) __P((u_int32_t *));
-
-/*
- * Inline versions of get/put char/short/long.
- * Pointer is advanced; we assume that both arguments
- * are lvalues and will already be in registers.
- * cp MUST be u_char *.
- */
-#define GETCHAR(c, cp) { \
- (c) = *(cp)++; \
-}
-#define PUTCHAR(c, cp) { \
- *(cp)++ = (u_char) (c); \
-}
-
-
-#define GETSHORT(s, cp) { \
- (s) = *(cp)++ << 8; \
- (s) |= *(cp)++; \
-}
-#define PUTSHORT(s, cp) { \
- *(cp)++ = (u_char) ((s) >> 8); \
- *(cp)++ = (u_char) (s); \
-}
-
-#define GETLONG(l, cp) { \
- (l) = *(cp)++ << 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; \
-}
-#define PUTLONG(l, cp) { \
- *(cp)++ = (u_char) ((l) >> 24); \
- *(cp)++ = (u_char) ((l) >> 16); \
- *(cp)++ = (u_char) ((l) >> 8); \
- *(cp)++ = (u_char) (l); \
-}
-
-#define INCPTR(n, cp) ((cp) += (n))
-#define DECPTR(n, cp) ((cp) -= (n))
-
-/*
- * System dependent definitions for user-level 4.3BSD UNIX implementation.
- */
-
-#define TIMEOUT(r, f, t) timeout((r), (f), (t), 0)
-#define UNTIMEOUT(r, f) untimeout((r), (f))
-
-#define BCOPY(s, d, l) memcpy(d, s, l)
-#define BZERO(s, n) memset(s, 0, n)
-
-#define PRINTMSG(m, l) { info("Remote message: %0.*v", l, m); }
-
-/*
- * MAKEHEADER - Add Header fields to a packet.
- */
-#define MAKEHEADER(p, t) { \
- PUTCHAR(PPP_ALLSTATIONS, p); \
- PUTCHAR(PPP_UI, p); \
- PUTSHORT(t, p); }
-
-/*
- * Exit status values.
- */
-#define EXIT_OK 0
-#define EXIT_FATAL_ERROR 1
-#define EXIT_OPTION_ERROR 2
-#define EXIT_NOT_ROOT 3
-#define EXIT_NO_KERNEL_SUPPORT 4
-#define EXIT_USER_REQUEST 5
-#define EXIT_LOCK_FAILED 6
-#define EXIT_OPEN_FAILED 7
-#define EXIT_CONNECT_FAILED 8
-#define EXIT_PTYCMD_FAILED 9
-#define EXIT_NEGOTIATION_FAILED 10
-#define EXIT_PEER_AUTH_FAILED 11
-#define EXIT_IDLE_TIMEOUT 12
-#define EXIT_CONNECT_TIME 13
-#define EXIT_CALLBACK 14
-#define EXIT_PEER_DEAD 15
-#define EXIT_HANGUP 16
-#define EXIT_LOOPBACK 17
-#define EXIT_INIT_FAILED 18
-#define EXIT_AUTH_TOPEER_FAILED 19
-
-/*
- * Debug macros. Slightly useful for finding bugs in pppd, not particularly
- * useful for finding out why your connection isn't being established.
- */
-#ifdef DEBUGALL
-#define DEBUGMAIN 1
-#define DEBUGFSM 1
-#define DEBUGLCP 1
-#define DEBUGIPCP 1
-#define DEBUGIPV6CP 1
-#define DEBUGUPAP 1
-#define DEBUGCHAP 1
-#endif
-
-#ifndef LOG_PPP /* we use LOG_LOCAL2 for syslog by default */
-#if defined(DEBUGMAIN) || defined(DEBUGFSM) || defined(DEBUGSYS) \
- || defined(DEBUGLCP) || defined(DEBUGIPCP) || defined(DEBUGUPAP) \
- || defined(DEBUGCHAP) || defined(DEBUG) || defined(DEBUGIPV6CP)
-#define LOG_PPP LOG_LOCAL2
-#else
-#define LOG_PPP LOG_DAEMON
-#endif
-#endif /* LOG_PPP */
-
-#ifdef DEBUGMAIN
-#define MAINDEBUG(x) if (debug) dbglog x
-#else
-#define MAINDEBUG(x)
-#endif
-
-#ifdef DEBUGSYS
-#define SYSDEBUG(x) if (debug) dbglog x
-#else
-#define SYSDEBUG(x)
-#endif
-
-#ifdef DEBUGFSM
-#define FSMDEBUG(x) if (debug) dbglog x
-#else
-#define FSMDEBUG(x)
-#endif
-
-#ifdef DEBUGLCP
-#define LCPDEBUG(x) if (debug) dbglog x
-#else
-#define LCPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPCP
-#define IPCPDEBUG(x) if (debug) dbglog x
-#else
-#define IPCPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPV6CP
-#define IPV6CPDEBUG(x) if (debug) dbglog x
-#else
-#define IPV6CPDEBUG(x)
-#endif
-
-#ifdef DEBUGUPAP
-#define UPAPDEBUG(x) if (debug) dbglog x
-#else
-#define UPAPDEBUG(x)
-#endif
-
-#ifdef DEBUGCHAP
-#define CHAPDEBUG(x) if (debug) dbglog x
-#else
-#define CHAPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPXCP
-#define IPXCPDEBUG(x) if (debug) dbglog x
-#else
-#define IPXCPDEBUG(x)
-#endif
-
-#ifndef SIGTYPE
-#if defined(sun) || defined(SYSV) || defined(POSIX_SOURCE)
-#define SIGTYPE void
-#else
-#define SIGTYPE int
-#endif /* defined(sun) || defined(SYSV) || defined(POSIX_SOURCE) */
-#endif /* SIGTYPE */
-
-#ifndef MIN
-#define MIN(a, b) ((a) < (b)? (a): (b))
-#endif
-#ifndef MAX
-#define MAX(a, b) ((a) > (b)? (a): (b))
-#endif
-
-#endif /* __PPP_H__ */
diff --git a/mdk-stage1/ppp/pppd/sys-linux.c b/mdk-stage1/ppp/pppd/sys-linux.c
deleted file mode 100644
index d341bb3de..000000000
--- a/mdk-stage1/ppp/pppd/sys-linux.c
+++ /dev/null
@@ -1,2672 +0,0 @@
-/*
- * sys-linux.c - System-dependent procedures for setting up
- * PPP interfaces on Linux systems
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <sys/errno.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <sys/sysmacros.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <syslog.h>
-#include <string.h>
-#include <time.h>
-#include <memory.h>
-#include <utmp.h>
-#include <mntent.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <ctype.h>
-#include <termios.h>
-#include <unistd.h>
-
-/* This is in netdevice.h. However, this compile will fail miserably if
- you attempt to include netdevice.h because it has so many references
- to __memcpy functions which it should not attempt to do. So, since I
- really don't use it, but it must be defined, define it now. */
-
-#ifndef MAX_ADDR_LEN
-#define MAX_ADDR_LEN 7
-#endif
-
-#if __GLIBC__ >= 2
-#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/route.h>
-#include <netinet/if_ether.h>
-#else
-#include <linux/types.h>
-#include <linux/if.h>
-#include <linux/if_arp.h>
-#include <linux/route.h>
-#include <linux/if_ether.h>
-#endif
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include <linux/ppp_defs.h>
-#include <linux/if_ppp.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-
-#ifdef IPX_CHANGE
-#include "ipxcp.h"
-#if __GLIBC__ >= 2 && \
- !(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
-#include <netipx/ipx.h>
-#else
-#include <linux/ipx.h>
-#endif
-#endif /* IPX_CHANGE */
-
-#ifdef PPP_FILTER
-#include <net/bpf.h>
-#include <linux/filter.h>
-#endif /* PPP_FILTER */
-
-#ifdef LOCKLIB
-#include <sys/locks.h>
-#endif
-
-#ifdef INET6
-#ifndef _LINUX_IN6_H
-/*
- * This is in linux/include/net/ipv6.h.
- */
-
-struct in6_ifreq {
- struct in6_addr ifr6_addr;
- __u32 ifr6_prefixlen;
- unsigned int ifr6_ifindex;
-};
-#endif
-
-#define IN6_LLADDR_FROM_EUI64(sin6, eui64) do { \
- memset(&sin6.s6_addr, 0, sizeof(struct in6_addr)); \
- sin6.s6_addr16[0] = htons(0xfe80); \
- eui64_copy(eui64, sin6.s6_addr32[2]); \
- } while (0)
-
-#endif /* INET6 */
-
-/* We can get an EIO error on an ioctl if the modem has hung up */
-#define ok_error(num) ((num)==EIO)
-
-static int tty_disc = N_TTY; /* The TTY discipline */
-static int ppp_disc = N_PPP; /* The PPP discpline */
-static int initfdflags = -1; /* Initial file descriptor flags for fd */
-static int ppp_fd = -1; /* fd which is set to PPP discipline */
-static int sock_fd = -1; /* socket for doing interface ioctls */
-static int slave_fd = -1;
-static int master_fd = -1;
-#ifdef INET6
-static int sock6_fd = -1;
-#endif /* INET6 */
-static int ppp_dev_fd = -1; /* fd for /dev/ppp (new style driver) */
-static int chindex; /* channel index (new style driver) */
-
-static fd_set in_fds; /* set of fds that wait_input waits for */
-static int max_in_fd; /* highest fd set in in_fds */
-
-static int has_proxy_arp = 0;
-static int driver_version = 0;
-static int driver_modification = 0;
-static int driver_patch = 0;
-static int driver_is_old = 0;
-static int restore_term = 0; /* 1 => we've munged the terminal */
-static struct termios inittermios; /* Initial TTY termios */
-
-static int new_style_driver = 0;
-
-static char loop_name[20];
-static unsigned char inbuf[512]; /* buffer for chars read from loopback */
-
-static int if_is_up; /* Interface has been marked up */
-static u_int32_t default_route_gateway; /* Gateway for default route added */
-static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
-static char proxy_arp_dev[16]; /* Device for proxy arp entry */
-static u_int32_t our_old_addr; /* for detecting address changes */
-static int dynaddr_set; /* 1 if ip_dynaddr set */
-static int looped; /* 1 if using loop */
-static int link_mtu; /* mtu for the link (not bundle) */
-
-static struct utsname utsname; /* for the kernel version */
-static int kernel_version;
-#define KVERSION(j,n,p) ((j)*1000000 + (n)*1000 + (p))
-
-#define MAX_IFS 100
-
-#define FLAGS_GOOD (IFF_UP | IFF_BROADCAST)
-#define FLAGS_MASK (IFF_UP | IFF_BROADCAST | \
- IFF_POINTOPOINT | IFF_LOOPBACK | IFF_NOARP)
-
-#define SIN_ADDR(x) (((struct sockaddr_in *) (&(x)))->sin_addr.s_addr)
-
-/* Prototypes for procedures local to this file. */
-static int get_flags (int fd);
-static void set_flags (int fd, int flags);
-static int translate_speed (int bps);
-static int baud_rate_of (int speed);
-static void close_route_table (void);
-static int open_route_table (void);
-static int read_route_table (struct rtentry *rt);
-static int defaultroute_exists (struct rtentry *rt);
-static int get_ether_addr (u_int32_t ipaddr, struct sockaddr *hwaddr,
- char *name, int namelen);
-static void decode_version (char *buf, int *version, int *mod, int *patch);
-static int set_kdebugflag(int level);
-static int ppp_registered(void);
-static int make_ppp_unit(void);
-static void restore_loop(void); /* Transfer ppp unit back to loopback */
-
-extern u_char inpacket_buf[]; /* borrowed from main.c */
-
-/*
- * SET_SA_FAMILY - set the sa_family field of a struct sockaddr,
- * if it exists.
- */
-
-#define SET_SA_FAMILY(addr, family) \
- memset ((char *) &(addr), '\0', sizeof(addr)); \
- addr.sa_family = (family);
-
-/*
- * Determine if the PPP connection should still be present.
- */
-
-extern int hungup;
-
-/* new_fd is the fd of a tty */
-static void set_ppp_fd (int new_fd)
-{
- SYSDEBUG ((LOG_DEBUG, "setting ppp_fd to %d\n", new_fd));
- ppp_fd = new_fd;
- if (!new_style_driver)
- ppp_dev_fd = new_fd;
-}
-
-static int still_ppp(void)
-{
- if (new_style_driver)
- return !hungup && ppp_fd >= 0;
- if (!hungup || ppp_fd == slave_fd)
- return 1;
- if (slave_fd >= 0) {
- set_ppp_fd(slave_fd);
- return 1;
- }
- return 0;
-}
-
-/********************************************************************
- *
- * Functions to read and set the flags value in the device driver
- */
-
-static int get_flags (int fd)
-{
- int flags;
-
- if (ioctl(fd, PPPIOCGFLAGS, (caddr_t) &flags) < 0) {
- if ( ok_error (errno) )
- flags = 0;
- else
- fatal("ioctl(PPPIOCGFLAGS): %m");
- }
-
- SYSDEBUG ((LOG_DEBUG, "get flags = %x\n", flags));
- return flags;
-}
-
-/********************************************************************/
-
-static void set_flags (int fd, int flags)
-{
- SYSDEBUG ((LOG_DEBUG, "set flags = %x\n", flags));
-
- if (ioctl(fd, PPPIOCSFLAGS, (caddr_t) &flags) < 0) {
- if (! ok_error (errno) )
- fatal("ioctl(PPPIOCSFLAGS, %x): %m", flags, errno);
- }
-}
-
-/********************************************************************
- *
- * sys_init - System-dependent initialization.
- */
-
-void sys_init(void)
-{
- int flags;
-
- if (new_style_driver) {
- ppp_dev_fd = open("/dev/ppp", O_RDWR);
- if (ppp_dev_fd < 0)
- fatal("Couldn't open /dev/ppp: %m");
- flags = fcntl(ppp_dev_fd, F_GETFL);
- if (flags == -1
- || fcntl(ppp_dev_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("Couldn't set /dev/ppp to nonblock: %m");
- }
-
- /* Get an internet socket for doing socket ioctls. */
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock_fd < 0)
- fatal("Couldn't create IP socket: %m(%d)", errno);
-
-#ifdef INET6
- sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (sock6_fd < 0)
- sock6_fd = -errno; /* save errno for later */
-#endif
-
- FD_ZERO(&in_fds);
- max_in_fd = 0;
-}
-
-/********************************************************************
- *
- * sys_cleanup - restore any system state we modified before exiting:
- * mark the interface down, delete default route and/or proxy arp entry.
- * This shouldn't call die() because it's called from die().
- */
-
-void sys_cleanup(void)
-{
-/*
- * Take down the device
- */
- if (if_is_up) {
- if_is_up = 0;
- sifdown(0);
- }
-/*
- * Delete any routes through the device.
- */
- if (default_route_gateway != 0)
- cifdefaultroute(0, 0, default_route_gateway);
-
- if (has_proxy_arp)
- cifproxyarp(0, proxy_arp_addr);
-}
-
-/********************************************************************
- *
- * sys_close - Clean up in a child process before execing.
- */
-void
-sys_close(void)
-{
- if (new_style_driver)
- close(ppp_dev_fd);
- if (sock_fd >= 0)
- close(sock_fd);
- if (slave_fd >= 0)
- close(slave_fd);
- if (master_fd >= 0)
- close(master_fd);
- closelog();
-}
-
-/********************************************************************
- *
- * set_kdebugflag - Define the debugging level for the kernel
- */
-
-static int set_kdebugflag (int requested_level)
-{
- if (new_style_driver && ifunit < 0)
- return 1;
- if (ioctl(ppp_dev_fd, PPPIOCSDEBUG, &requested_level) < 0) {
- if ( ! ok_error (errno) )
- error("ioctl(PPPIOCSDEBUG): %m");
- return (0);
- }
- SYSDEBUG ((LOG_INFO, "set kernel debugging level to %d",
- requested_level));
- return (1);
-}
-
-/********************************************************************
- *
- * tty_establish_ppp - Turn the serial port into a ppp interface.
- */
-
-int tty_establish_ppp (int tty_fd)
-{
- int x;
- int fd = -1;
-
-/*
- * Ensure that the tty device is in exclusive mode.
- */
- if (ioctl(tty_fd, TIOCEXCL, 0) < 0) {
- if ( ! ok_error ( errno ))
- warn("Couldn't make tty exclusive: %m");
- }
-/*
- * Demand mode - prime the old ppp device to relinquish the unit.
- */
- if (!new_style_driver && looped
- && ioctl(slave_fd, PPPIOCXFERUNIT, 0) < 0) {
- error("ioctl(transfer ppp unit): %m");
- return -1;
- }
-/*
- * Set the current tty to the PPP discpline
- */
-
-#ifndef N_SYNC_PPP
-#define N_SYNC_PPP 14
-#endif
- ppp_disc = (new_style_driver && sync_serial)? N_SYNC_PPP: N_PPP;
- if (ioctl(tty_fd, TIOCSETD, &ppp_disc) < 0) {
- if ( ! ok_error (errno) ) {
- error("Couldn't set tty to PPP discipline: %m");
- return -1;
- }
- }
-
- if (new_style_driver) {
- /* Open another instance of /dev/ppp and connect the channel to it */
- int flags;
-
- if (ioctl(tty_fd, PPPIOCGCHAN, &chindex) == -1) {
- error("Couldn't get channel number: %m");
- goto err;
- }
- dbglog("using channel %d", chindex);
- fd = open("/dev/ppp", O_RDWR);
- if (fd < 0) {
- error("Couldn't reopen /dev/ppp: %m");
- goto err;
- }
- if (ioctl(fd, PPPIOCATTCHAN, &chindex) < 0) {
- error("Couldn't attach to channel %d: %m", chindex);
- goto err_close;
- }
- flags = fcntl(fd, F_GETFL);
- if (flags == -1 || fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("Couldn't set /dev/ppp (channel) to nonblock: %m");
- set_ppp_fd(fd);
-
- if (!looped)
- ifunit = -1;
- if (!looped && !multilink) {
- /*
- * Create a new PPP unit.
- */
- if (make_ppp_unit() < 0)
- goto err_close;
- }
-
- if (looped)
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) & ~SC_LOOP_TRAFFIC);
-
- if (!multilink) {
- add_fd(ppp_dev_fd);
- if (ioctl(fd, PPPIOCCONNECT, &ifunit) < 0) {
- error("Couldn't attach to PPP unit %d: %m", ifunit);
- goto err_close;
- }
- }
-
- } else {
- /*
- * Old-style driver: find out which interface we were given.
- */
- set_ppp_fd (tty_fd);
- if (ioctl(tty_fd, PPPIOCGUNIT, &x) < 0) {
- if (ok_error (errno))
- goto err;
- fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
- }
- /* Check that we got the same unit again. */
- if (looped && x != ifunit)
- fatal("transfer_ppp failed: wanted unit %d, got %d", ifunit, x);
- ifunit = x;
-
- /*
- * Fetch the initial file flags and reset blocking mode on the file.
- */
- initfdflags = fcntl(tty_fd, F_GETFL);
- if (initfdflags == -1 ||
- fcntl(tty_fd, F_SETFL, initfdflags | O_NONBLOCK) == -1) {
- if ( ! ok_error (errno))
- warn("Couldn't set device to non-blocking mode: %m");
- }
- }
-
- looped = 0;
-
- /*
- * Enable debug in the driver if requested.
- */
- if (!looped)
- set_kdebugflag (kdebugflag);
-
-#define SC_RCVB (SC_RCV_B7_0 | SC_RCV_B7_1 | SC_RCV_EVNP | SC_RCV_ODDP)
-#define SC_LOGB (SC_DEBUG | SC_LOG_INPKT | SC_LOG_OUTPKT | SC_LOG_RAWIN \
- | SC_LOG_FLUSH)
-
- set_flags(ppp_fd, ((get_flags(ppp_fd) & ~(SC_RCVB | SC_LOGB))
- | ((kdebugflag * SC_DEBUG) & SC_LOGB)));
-
- SYSDEBUG ((LOG_NOTICE, "Using version %d.%d.%d of PPP driver",
- driver_version, driver_modification, driver_patch));
-
- return ppp_fd;
-
- err_close:
- close(fd);
- err:
- if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0 && !ok_error(errno))
- warn("Couldn't reset tty to normal line discipline: %m");
- return -1;
-}
-
-/********************************************************************
- *
- * tty_disestablish_ppp - Restore the serial port to normal operation,
- * and reconnect the ppp unit to the loopback if in demand mode.
- * This shouldn't call die() because it's called from die().
- */
-
-void tty_disestablish_ppp(int tty_fd)
-{
- if (demand)
- restore_loop();
- if (!hungup) {
-/*
- * Flush the tty output buffer so that the TIOCSETD doesn't hang.
- */
- if (tcflush(tty_fd, TCIOFLUSH) < 0)
- warn("tcflush failed: %m");
-/*
- * Restore the previous line discipline
- */
- if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0) {
- if ( ! ok_error (errno))
- error("ioctl(TIOCSETD, N_TTY): %m");
- }
-
- if (ioctl(tty_fd, TIOCNXCL, 0) < 0) {
- if ( ! ok_error (errno))
- warn("ioctl(TIOCNXCL): %m(%d)", errno);
- }
-
- /* Reset non-blocking mode on fd. */
- if (initfdflags != -1 && fcntl(tty_fd, F_SETFL, initfdflags) < 0) {
- if ( ! ok_error (errno))
- warn("Couldn't restore device fd flags: %m");
- }
- }
- initfdflags = -1;
-
- if (new_style_driver) {
- close(ppp_fd);
- ppp_fd = -1;
- if (!looped && ifunit >= 0 && ioctl(ppp_dev_fd, PPPIOCDETACH) < 0)
- error("Couldn't release PPP unit: %m");
- if (!multilink)
- remove_fd(ppp_dev_fd);
- }
-}
-
-/*
- * make_ppp_unit - make a new ppp unit for ppp_dev_fd.
- * Assumes new_style_driver.
- */
-static int make_ppp_unit()
-{
- int x;
-
- ifunit = req_unit;
- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
- if (x < 0 && req_unit >= 0 && errno == EEXIST) {
- warn("Couldn't allocate PPP unit %d as it is already in use");
- ifunit = -1;
- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
- }
- if (x < 0)
- error("Couldn't create new ppp unit: %m");
- return x;
-}
-
-/*
- * cfg_bundle - configure the existing bundle.
- * Used in demand mode.
- */
-void cfg_bundle(int mrru, int mtru, int rssn, int tssn)
-{
- int flags;
-
- if (!new_style_driver)
- return;
-
- /* set the mrru, mtu and flags */
- if (ioctl(ppp_dev_fd, PPPIOCSMRRU, &mrru) < 0)
- error("Couldn't set MRRU: %m");
- flags = get_flags(ppp_dev_fd);
- flags &= ~(SC_MP_SHORTSEQ | SC_MP_XSHORTSEQ);
- flags |= (rssn? SC_MP_SHORTSEQ: 0) | (tssn? SC_MP_XSHORTSEQ: 0)
- | (mrru? SC_MULTILINK: 0);
-
- set_flags(ppp_dev_fd, flags);
-
- /* connect up the channel */
- if (ioctl(ppp_fd, PPPIOCCONNECT, &ifunit) < 0)
- fatal("Couldn't attach to PPP unit %d: %m", ifunit);
- add_fd(ppp_dev_fd);
-}
-
-/*
- * make_new_bundle - create a new PPP unit (i.e. a bundle)
- * and connect our channel to it. This should only get called
- * if `multilink' was set at the time establish_ppp was called.
- * In demand mode this uses our existing bundle instead of making
- * a new one.
- */
-void make_new_bundle(int mrru, int mtru, int rssn, int tssn)
-{
- if (!new_style_driver)
- return;
-
- /* make us a ppp unit */
- if (make_ppp_unit() < 0)
- die(1);
-
- /* set the mrru and flags */
- cfg_bundle(mrru, mtru, rssn, tssn);
-}
-
-/*
- * bundle_attach - attach our link to a given PPP unit.
- * We assume the unit is controlled by another pppd.
- */
-int bundle_attach(int ifnum)
-{
- if (!new_style_driver)
- return -1;
-
- if (ioctl(ppp_dev_fd, PPPIOCATTACH, &ifnum) < 0) {
- if (errno == ENXIO)
- return 0; /* doesn't still exist */
- fatal("Couldn't attach to interface unit %d: %m\n", ifnum);
- }
- if (ioctl(ppp_fd, PPPIOCCONNECT, &ifnum) < 0)
- fatal("Couldn't connect to interface unit %d: %m", ifnum);
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_MULTILINK);
-
- ifunit = ifnum;
- return 1;
-}
-
-/********************************************************************
- *
- * clean_check - Fetch the flags for the device and generate
- * appropriate error messages.
- */
-void clean_check(void)
-{
- int x;
- char *s;
-
- if (still_ppp()) {
- if (ioctl(ppp_fd, PPPIOCGFLAGS, (caddr_t) &x) == 0) {
- s = NULL;
- switch (~x & (SC_RCV_B7_0|SC_RCV_B7_1|SC_RCV_EVNP|SC_RCV_ODDP)) {
- case SC_RCV_B7_0:
- s = "all had bit 7 set to 1";
- break;
-
- case SC_RCV_B7_1:
- s = "all had bit 7 set to 0";
- break;
-
- case SC_RCV_EVNP:
- s = "all had odd parity";
- break;
-
- case SC_RCV_ODDP:
- s = "all had even parity";
- break;
- }
-
- if (s != NULL) {
- warn("Receive serial link is not 8-bit clean:");
- warn("Problem: %s", s);
- }
- }
- }
-}
-
-
-/*
- * List of valid speeds.
- */
-
-struct speed {
- int speed_int, speed_val;
-} speeds[] = {
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2000
- { 2000, B2000 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B3600
- { 3600, B3600 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B7200
- { 7200, B7200 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B76800
- { 76800, B76800 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
-#ifdef EXTA
- { 19200, EXTA },
-#endif
-#ifdef EXTB
- { 38400, EXTB },
-#endif
-#ifdef B230400
- { 230400, B230400 },
-#endif
-#ifdef B460800
- { 460800, B460800 },
-#endif
-#ifdef B921600
- { 921600, B921600 },
-#endif
- { 0, 0 }
-};
-
-/********************************************************************
- *
- * Translate from bits/second to a speed_t.
- */
-
-static int translate_speed (int bps)
-{
- struct speed *speedp;
-
- if (bps != 0) {
- for (speedp = speeds; speedp->speed_int; speedp++) {
- if (bps == speedp->speed_int)
- return speedp->speed_val;
- }
- warn("speed %d not supported", bps);
- }
- return 0;
-}
-
-/********************************************************************
- *
- * Translate from a speed_t to bits/second.
- */
-
-static int baud_rate_of (int speed)
-{
- struct speed *speedp;
-
- if (speed != 0) {
- for (speedp = speeds; speedp->speed_int; speedp++) {
- if (speed == speedp->speed_val)
- return speedp->speed_int;
- }
- }
- return 0;
-}
-
-/********************************************************************
- *
- * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
- * at the requested speed, etc. If `local' is true, set CLOCAL
- * regardless of whether the modem option was specified.
- */
-
-void set_up_tty(int tty_fd, int local)
-{
- int speed;
- struct termios tios;
-
- setdtr(tty_fd, 1);
- if (tcgetattr(tty_fd, &tios) < 0) {
- if (!ok_error(errno))
- fatal("tcgetattr: %m(%d)", errno);
- return;
- }
-
- if (!restore_term)
- inittermios = tios;
-
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
- tios.c_cflag |= CS8 | CREAD | HUPCL;
-
- tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- tios.c_cc[VMIN] = 1;
- tios.c_cc[VTIME] = 0;
-
- if (local || !modem)
- tios.c_cflag ^= (CLOCAL | HUPCL);
-
- switch (crtscts) {
- case 1:
- tios.c_cflag |= CRTSCTS;
- break;
-
- case -2:
- tios.c_iflag |= IXON | IXOFF;
- tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
- tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
- break;
-
- case -1:
- tios.c_cflag &= ~CRTSCTS;
- break;
-
- default:
- break;
- }
-
- speed = translate_speed(inspeed);
- if (speed) {
- cfsetospeed (&tios, speed);
- cfsetispeed (&tios, speed);
- }
-/*
- * We can't proceed if the serial port speed is B0,
- * since that implies that the serial port is disabled.
- */
- else {
- speed = cfgetospeed(&tios);
- if (speed == B0)
- fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
- }
-
- if (tcsetattr(tty_fd, TCSAFLUSH, &tios) < 0)
- if (!ok_error(errno))
- fatal("tcsetattr: %m");
-
- baud_rate = baud_rate_of(speed);
- restore_term = 1;
-}
-
-/********************************************************************
- *
- * setdtr - control the DTR line on the serial port.
- * This is called from die(), so it shouldn't call die().
- */
-
-void setdtr (int tty_fd, int on)
-{
- int modembits = TIOCM_DTR;
-
- ioctl(tty_fd, (on ? TIOCMBIS : TIOCMBIC), &modembits);
-}
-
-/********************************************************************
- *
- * restore_tty - restore the terminal to the saved settings.
- */
-
-void restore_tty (int tty_fd)
-{
- if (restore_term) {
- restore_term = 0;
-/*
- * Turn off echoing, because otherwise we can get into
- * a loop with the tty and the modem echoing to each other.
- * We presume we are the sole user of this tty device, so
- * when we close it, it will revert to its defaults anyway.
- */
- if (!default_device)
- inittermios.c_lflag &= ~(ECHO | ECHONL);
-
- if (tcsetattr(tty_fd, TCSAFLUSH, &inittermios) < 0) {
- if (! ok_error (errno))
- warn("tcsetattr: %m");
- }
- }
-}
-
-/********************************************************************
- *
- * output - Output PPP packet.
- */
-
-void output (int unit, unsigned char *p, int len)
-{
- int fd = ppp_fd;
- int proto;
-
- if (debug)
- dbglog("sent %P", p, len);
-
- if (len < PPP_HDRLEN)
- return;
- if (new_style_driver) {
- p += 2;
- len -= 2;
- proto = (p[0] << 8) + p[1];
- if (ifunit >= 0 && !(proto >= 0xc000 || proto == PPP_CCPFRAG))
- fd = ppp_dev_fd;
- }
- if (write(fd, p, len) < 0) {
- if (errno == EWOULDBLOCK || errno == ENOBUFS
- || errno == ENXIO || errno == EIO || errno == EINTR)
- warn("write: warning: %m (%d)", errno);
- else
- error("write: %m (%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * wait_input - wait until there is data available,
- * for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-
-void wait_input(struct timeval *timo)
-{
- fd_set ready, exc;
- int n;
-
- ready = in_fds;
- exc = in_fds;
- n = select(max_in_fd + 1, &ready, NULL, &exc, timo);
- if (n < 0 && errno != EINTR)
- fatal("select: %m(%d)", errno);
-}
-
-/*
- * add_fd - add an fd to the set that wait_input waits for.
- */
-void add_fd(int fd)
-{
- FD_SET(fd, &in_fds);
- if (fd > max_in_fd)
- max_in_fd = fd;
-}
-
-/*
- * remove_fd - remove an fd from the set that wait_input waits for.
- */
-void remove_fd(int fd)
-{
- FD_CLR(fd, &in_fds);
-}
-
-
-/********************************************************************
- *
- * read_packet - get a PPP packet from the serial device.
- */
-
-int read_packet (unsigned char *buf)
-{
- int len, nr;
-
- len = PPP_MRU + PPP_HDRLEN;
- if (new_style_driver) {
- *buf++ = PPP_ALLSTATIONS;
- *buf++ = PPP_UI;
- len -= 2;
- }
- nr = -1;
- if (ppp_fd >= 0) {
- nr = read(ppp_fd, buf, len);
- if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
- error("read: %m");
- if (nr < 0 && errno == ENXIO)
- return 0;
- }
- if (nr < 0 && new_style_driver && ifunit >= 0) {
- /* N.B. we read ppp_fd first since LCP packets come in there. */
- nr = read(ppp_dev_fd, buf, len);
- if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
- error("read /dev/ppp: %m");
- if (nr < 0 && errno == ENXIO)
- return 0;
- }
- return (new_style_driver && nr > 0)? nr+2: nr;
-}
-
-/********************************************************************
- *
- * get_loop_output - get outgoing packets from the ppp device,
- * and detect when we want to bring the real link up.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-get_loop_output(void)
-{
- int rv = 0;
- int n;
-
- if (new_style_driver) {
- while ((n = read_packet(inpacket_buf)) > 0)
- if (loop_frame(inpacket_buf, n))
- rv = 1;
- return rv;
- }
-
- while ((n = read(master_fd, inbuf, sizeof(inbuf))) > 0)
- if (loop_chars(inbuf, n))
- rv = 1;
-
- if (n == 0)
- fatal("eof on loopback");
-
- if (errno != EWOULDBLOCK)
- fatal("read from loopback: %m(%d)", errno);
-
- return rv;
-}
-
-/*
- * netif_set_mtu - set the MTU on the PPP network interface.
- */
-void
-netif_set_mtu(int unit, int mtu)
-{
- struct ifreq ifr;
-
- SYSDEBUG ((LOG_DEBUG, "netif_set_mtu: mtu = %d\n", mtu));
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- ifr.ifr_mtu = mtu;
-
- if (ifunit >= 0 && ioctl(sock_fd, SIOCSIFMTU, (caddr_t) &ifr) < 0)
- fatal("ioctl(SIOCSIFMTU): %m");
-}
-
-/********************************************************************
- *
- * tty_send_config - configure the transmit characteristics of
- * the ppp interface.
- */
-
-void tty_send_config (int mtu,u_int32_t asyncmap,int pcomp,int accomp)
-{
- u_int x;
-
-/*
- * Set the asyncmap and other parameters for the ppp device
- */
- if (!still_ppp())
- return;
- link_mtu = mtu;
- SYSDEBUG ((LOG_DEBUG, "send_config: asyncmap = %lx\n", asyncmap));
- if (ioctl(ppp_fd, PPPIOCSASYNCMAP, (caddr_t) &asyncmap) < 0) {
- if (!ok_error(errno))
- fatal("ioctl(PPPIOCSASYNCMAP): %m(%d)", errno);
- return;
- }
-
- x = get_flags(ppp_fd);
- x = pcomp ? x | SC_COMP_PROT : x & ~SC_COMP_PROT;
- x = accomp ? x | SC_COMP_AC : x & ~SC_COMP_AC;
- x = sync_serial ? x | SC_SYNC : x & ~SC_SYNC;
- set_flags(ppp_fd, x);
-}
-
-/********************************************************************
- *
- * tty_set_xaccm - set the extended transmit ACCM for the interface.
- */
-
-void tty_set_xaccm (ext_accm accm)
-{
- SYSDEBUG ((LOG_DEBUG, "set_xaccm: %08lx %08lx %08lx %08lx\n",
- accm[0], accm[1], accm[2], accm[3]));
-
- if (!still_ppp())
- return;
- if (ioctl(ppp_fd, PPPIOCSXASYNCMAP, accm) < 0 && errno != ENOTTY) {
- if ( ! ok_error (errno))
- warn("ioctl(set extended ACCM): %m(%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * tty_recv_config - configure the receive-side characteristics of
- * the ppp interface.
- */
-
-void tty_recv_config (int mru,u_int32_t asyncmap,int pcomp,int accomp)
-{
- SYSDEBUG ((LOG_DEBUG, "recv_config: mru = %d\n", mru));
-/*
- * If we were called because the link has gone down then there is nothing
- * which may be done. Just return without incident.
- */
- if (!still_ppp())
- return;
-/*
- * Set the receiver parameters
- */
- if (ioctl(ppp_fd, PPPIOCSMRU, (caddr_t) &mru) < 0) {
- if ( ! ok_error (errno))
- error("ioctl(PPPIOCSMRU): %m(%d)", errno);
- }
- if (new_style_driver && ifunit >= 0
- && ioctl(ppp_dev_fd, PPPIOCSMRU, (caddr_t) &mru) < 0)
- error("Couldn't set MRU in generic PPP layer: %m");
-
- SYSDEBUG ((LOG_DEBUG, "recv_config: asyncmap = %lx\n", asyncmap));
- if (ioctl(ppp_fd, PPPIOCSRASYNCMAP, (caddr_t) &asyncmap) < 0) {
- if (!ok_error(errno))
- error("ioctl(PPPIOCSRASYNCMAP): %m(%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * ccp_test - ask kernel whether a given compression method
- * is acceptable for use.
- */
-
-int ccp_test (int unit, u_char *opt_ptr, int opt_len, int for_transmit)
-{
- struct ppp_option_data data;
-
- memset (&data, '\0', sizeof (data));
- data.ptr = opt_ptr;
- data.length = opt_len;
- data.transmit = for_transmit;
-
- if (ioctl(ppp_dev_fd, PPPIOCSCOMPRESS, (caddr_t) &data) >= 0)
- return 1;
-
- return (errno == ENOBUFS)? 0: -1;
-}
-
-/********************************************************************
- *
- * ccp_flags_set - inform kernel about the current state of CCP.
- */
-
-void ccp_flags_set (int unit, int isopen, int isup)
-{
- if (still_ppp()) {
- int x = get_flags(ppp_dev_fd);
- x = isopen? x | SC_CCP_OPEN : x &~ SC_CCP_OPEN;
- x = isup? x | SC_CCP_UP : x &~ SC_CCP_UP;
- set_flags (ppp_dev_fd, x);
- }
-}
-
-#ifdef PPP_FILTER
-/*
- * set_filters - set the active and pass filters in the kernel driver.
- */
-int set_filters(struct bpf_program *pass, struct bpf_program *active)
-{
- struct sock_fprog fp;
-
- fp.len = pass->bf_len;
- fp.filter = (struct sock_filter *) pass->bf_insns;
- if (ioctl(ppp_dev_fd, PPPIOCSPASS, &fp) < 0) {
- if (errno == ENOTTY)
- warn("kernel does not support PPP filtering");
- else
- error("Couldn't set pass-filter in kernel: %m");
- return 0;
- }
- fp.len = active->bf_len;
- fp.filter = (struct sock_filter *) active->bf_insns;
- if (ioctl(ppp_dev_fd, PPPIOCSACTIVE, &fp) < 0) {
- error("Couldn't set active-filter in kernel: %m");
- return 0;
- }
- return 1;
-}
-#endif /* PPP_FILTER */
-
-/********************************************************************
- *
- * get_idle_time - return how long the link has been idle.
- */
-int
-get_idle_time(u, ip)
- int u;
- struct ppp_idle *ip;
-{
- return ioctl(ppp_dev_fd, PPPIOCGIDLE, ip) >= 0;
-}
-
-/********************************************************************
- *
- * get_ppp_stats - return statistics for the link.
- */
-int
-get_ppp_stats(u, stats)
- int u;
- struct pppd_stats *stats;
-{
- struct ifpppstatsreq req;
-
- memset (&req, 0, sizeof (req));
-
- req.stats_ptr = (caddr_t) &req.stats;
- strlcpy(req.ifr__name, ifname, sizeof(req.ifr__name));
- if (ioctl(sock_fd, SIOCGPPPSTATS, &req) < 0) {
- error("Couldn't get PPP statistics: %m");
- return 0;
- }
- stats->bytes_in = req.stats.p.ppp_ibytes;
- stats->bytes_out = req.stats.p.ppp_obytes;
- return 1;
-}
-
-/********************************************************************
- *
- * ccp_fatal_error - returns 1 if decompression was disabled as a
- * result of an error detected after decompression of a packet,
- * 0 otherwise. This is necessary because of patent nonsense.
- */
-
-int ccp_fatal_error (int unit)
-{
- int x = get_flags(ppp_dev_fd);
-
- return x & SC_DC_FERROR;
-}
-
-/********************************************************************
- *
- * path_to_procfs - find the path to the proc file system mount point
- */
-static char proc_path[MAXPATHLEN];
-static int proc_path_len;
-
-static char *path_to_procfs(const char *tail)
-{
- struct mntent *mntent;
- FILE *fp;
-
- if (proc_path_len == 0) {
- /* Default the mount location of /proc */
- strlcpy (proc_path, "/proc", sizeof(proc_path));
- proc_path_len = 5;
- fp = fopen(MOUNTED, "r");
- if (fp != NULL) {
- while ((mntent = getmntent(fp)) != NULL) {
- if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
- continue;
- if (strcmp(mntent->mnt_type, "proc") == 0) {
- strlcpy(proc_path, mntent->mnt_dir, sizeof(proc_path));
- proc_path_len = strlen(proc_path);
- break;
- }
- }
- fclose (fp);
- }
- }
-
- strlcpy(proc_path + proc_path_len, tail,
- sizeof(proc_path) - proc_path_len);
- return proc_path;
-}
-
-/*
- * /proc/net/route parsing stuff.
- */
-#define ROUTE_MAX_COLS 12
-FILE *route_fd = (FILE *) 0;
-static char route_buffer[512];
-static int route_dev_col, route_dest_col, route_gw_col;
-static int route_flags_col, route_mask_col;
-static int route_num_cols;
-
-static int open_route_table (void);
-static void close_route_table (void);
-static int read_route_table (struct rtentry *rt);
-
-/********************************************************************
- *
- * close_route_table - close the interface to the route table
- */
-
-static void close_route_table (void)
-{
- if (route_fd != (FILE *) 0) {
- fclose (route_fd);
- route_fd = (FILE *) 0;
- }
-}
-
-/********************************************************************
- *
- * open_route_table - open the interface to the route table
- */
-static char route_delims[] = " \t\n";
-
-static int open_route_table (void)
-{
- char *path;
-
- close_route_table();
-
- path = path_to_procfs("/net/route");
- route_fd = fopen (path, "r");
- if (route_fd == NULL) {
- error("can't open routing table %s: %m", path);
- return 0;
- }
-
- route_dev_col = 0; /* default to usual columns */
- route_dest_col = 1;
- route_gw_col = 2;
- route_flags_col = 3;
- route_mask_col = 7;
- route_num_cols = 8;
-
- /* parse header line */
- if (fgets(route_buffer, sizeof(route_buffer), route_fd) != 0) {
- char *p = route_buffer, *q;
- int col;
- for (col = 0; col < ROUTE_MAX_COLS; ++col) {
- int used = 1;
- if ((q = strtok(p, route_delims)) == 0)
- break;
- if (strcasecmp(q, "iface") == 0)
- route_dev_col = col;
- else if (strcasecmp(q, "destination") == 0)
- route_dest_col = col;
- else if (strcasecmp(q, "gateway") == 0)
- route_gw_col = col;
- else if (strcasecmp(q, "flags") == 0)
- route_flags_col = col;
- else if (strcasecmp(q, "mask") == 0)
- route_mask_col = col;
- else
- used = 0;
- if (used && col >= route_num_cols)
- route_num_cols = col + 1;
- p = NULL;
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * read_route_table - read the next entry from the route table
- */
-
-static int read_route_table(struct rtentry *rt)
-{
- char *cols[ROUTE_MAX_COLS], *p;
- int col;
-
- memset (rt, '\0', sizeof (struct rtentry));
-
- if (fgets (route_buffer, sizeof (route_buffer), route_fd) == (char *) 0)
- return 0;
-
- p = route_buffer;
- for (col = 0; col < route_num_cols; ++col) {
- cols[col] = strtok(p, route_delims);
- if (cols[col] == NULL)
- return 0; /* didn't get enough columns */
- p = NULL;
- }
-
- SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
- SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
- SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
-
- rt->rt_flags = (short) strtoul(cols[route_flags_col], NULL, 16);
- rt->rt_dev = cols[route_dev_col];
-
- return 1;
-}
-
-/********************************************************************
- *
- * defaultroute_exists - determine if there is a default route
- */
-
-static int defaultroute_exists (struct rtentry *rt)
-{
- int result = 0;
-
- if (!open_route_table())
- return 0;
-
- while (read_route_table(rt) != 0) {
- if ((rt->rt_flags & RTF_UP) == 0)
- continue;
-
- if (kernel_version > KVERSION(2,1,0) && SIN_ADDR(rt->rt_genmask) != 0)
- continue;
- if (SIN_ADDR(rt->rt_dst) == 0L) {
- result = 1;
- break;
- }
- }
-
- close_route_table();
- return result;
-}
-
-/*
- * have_route_to - determine if the system has any route to
- * a given IP address. `addr' is in network byte order.
- * Return value is 1 if yes, 0 if no, -1 if don't know.
- * For demand mode to work properly, we have to ignore routes
- * through our own interface.
- */
-int have_route_to(u_int32_t addr)
-{
- struct rtentry rt;
- int result = 0;
-
- if (!open_route_table())
- return -1; /* don't know */
-
- while (read_route_table(&rt)) {
- if ((rt.rt_flags & RTF_UP) == 0 || strcmp(rt.rt_dev, ifname) == 0)
- continue;
- if ((addr & SIN_ADDR(rt.rt_genmask)) == SIN_ADDR(rt.rt_dst)) {
- result = 1;
- break;
- }
- }
-
- close_route_table();
- return result;
-}
-
-/********************************************************************
- *
- * sifdefaultroute - assign a default route through the address given.
- */
-
-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
- u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
-
- if (old_gateway != gateway)
- error("not replacing existing default route to %s [%I]",
- rt.rt_dev, old_gateway);
- return 0;
- }
-
- memset (&rt, '\0', sizeof (rt));
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = 0L;
- }
-
- SIN_ADDR(rt.rt_gateway) = gateway;
-
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
- if ( ! ok_error ( errno ))
- error("default route ioctl(SIOCADDRT): %m(%d)", errno);
- return 0;
- }
-
- default_route_gateway = gateway;
- return 1;
-}
-
-/********************************************************************
- *
- * cifdefaultroute - delete a default route through the address given.
- */
-
-int cifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- default_route_gateway = 0;
-
- memset (&rt, '\0', sizeof (rt));
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = 0L;
- }
-
- SIN_ADDR(rt.rt_gateway) = gateway;
-
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
- if (still_ppp()) {
- if ( ! ok_error ( errno ))
- error("default route ioctl(SIOCDELRT): %m (%d)", errno);
- return 0;
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifproxyarp - Make a proxy ARP entry for the peer.
- */
-
-int sifproxyarp (int unit, u_int32_t his_adr)
-{
- struct arpreq arpreq;
- char *forw_path;
-
- if (has_proxy_arp == 0) {
- memset (&arpreq, '\0', sizeof(arpreq));
-
- SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
- SIN_ADDR(arpreq.arp_pa) = his_adr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
-/*
- * Get the hardware address of an interface on the same subnet
- * as our local address.
- */
- if (!get_ether_addr(his_adr, &arpreq.arp_ha, proxy_arp_dev,
- sizeof(proxy_arp_dev))) {
- error("Cannot determine ethernet address for proxy ARP");
- return 0;
- }
- strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
-
- if (ioctl(sock_fd, SIOCSARP, (caddr_t)&arpreq) < 0) {
- if ( ! ok_error ( errno ))
- error("ioctl(SIOCSARP): %m(%d)", errno);
- return 0;
- }
- proxy_arp_addr = his_adr;
- has_proxy_arp = 1;
-
- if (tune_kernel) {
- forw_path = path_to_procfs("/sys/net/ipv4/ip_forward");
- if (forw_path != 0) {
- int fd = open(forw_path, O_WRONLY);
- if (fd >= 0) {
- if (write(fd, "1", 1) != 1)
- error("Couldn't enable IP forwarding: %m");
- close(fd);
- }
- }
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * cifproxyarp - Delete the proxy ARP entry for the peer.
- */
-
-int cifproxyarp (int unit, u_int32_t his_adr)
-{
- struct arpreq arpreq;
-
- if (has_proxy_arp) {
- has_proxy_arp = 0;
- memset (&arpreq, '\0', sizeof(arpreq));
- SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
- SIN_ADDR(arpreq.arp_pa) = his_adr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
- strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
-
- if (ioctl(sock_fd, SIOCDARP, (caddr_t)&arpreq) < 0) {
- if ( ! ok_error ( errno ))
- warn("ioctl(SIOCDARP): %m(%d)", errno);
- return 0;
- }
- }
- return 1;
-}
-
-/********************************************************************
- *
- * get_ether_addr - get the hardware address of an interface on the
- * the same subnet as ipaddr.
- */
-
-static int get_ether_addr (u_int32_t ipaddr,
- struct sockaddr *hwaddr,
- char *name, int namelen)
-{
- struct ifreq *ifr, *ifend;
- u_int32_t ina, mask;
- char *aliasp;
- struct ifreq ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
-
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
- if ( ! ok_error ( errno ))
- error("ioctl(SIOCGIFCONF): %m(%d)", errno);
- return 0;
- }
-
- SYSDEBUG ((LOG_DEBUG, "proxy arp: scanning %d interfaces for IP %s",
- ifc.ifc_len / sizeof(struct ifreq), ip_ntoa(ipaddr)));
-/*
- * Scan through looking for an interface with an Internet
- * address on the same subnet as `ipaddr'.
- */
- ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
- if (ifr->ifr_addr.sa_family == AF_INET) {
- ina = SIN_ADDR(ifr->ifr_addr);
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- SYSDEBUG ((LOG_DEBUG, "proxy arp: examining interface %s",
- ifreq.ifr_name));
-/*
- * Check that the interface is up, and not point-to-point
- * nor loopback.
- */
- if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
-
- if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
- continue;
-/*
- * Get its netmask and check that it's on the right subnet.
- */
- if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
-
- mask = SIN_ADDR(ifreq.ifr_addr);
- SYSDEBUG ((LOG_DEBUG, "proxy arp: interface addr %s mask %lx",
- ip_ntoa(ina), ntohl(mask)));
-
- if (((ipaddr ^ ina) & mask) != 0)
- continue;
- break;
- }
- }
-
- if (ifr >= ifend)
- return 0;
-
- strlcpy(name, ifreq.ifr_name, namelen);
-
- /* trim off the :1 in eth0:1 */
- aliasp = strchr(name, ':');
- if (aliasp != 0)
- *aliasp = 0;
-
- info("found interface %s for proxy arp", name);
-/*
- * Now get the hardware address.
- */
- memset (&ifreq.ifr_hwaddr, 0, sizeof (struct sockaddr));
- if (ioctl (sock_fd, SIOCGIFHWADDR, &ifreq) < 0) {
- error("SIOCGIFHWADDR(%s): %m(%d)", ifreq.ifr_name, errno);
- return 0;
- }
-
- memcpy (hwaddr,
- &ifreq.ifr_hwaddr,
- sizeof (struct sockaddr));
-
- SYSDEBUG ((LOG_DEBUG,
- "proxy arp: found hwaddr %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
- (int) ((unsigned char *) &hwaddr->sa_data)[0],
- (int) ((unsigned char *) &hwaddr->sa_data)[1],
- (int) ((unsigned char *) &hwaddr->sa_data)[2],
- (int) ((unsigned char *) &hwaddr->sa_data)[3],
- (int) ((unsigned char *) &hwaddr->sa_data)[4],
- (int) ((unsigned char *) &hwaddr->sa_data)[5],
- (int) ((unsigned char *) &hwaddr->sa_data)[6],
- (int) ((unsigned char *) &hwaddr->sa_data)[7]));
- return 1;
-}
-
-/*
- * get_if_hwaddr - get the hardware address for the specified
- * network interface device.
- */
-int
-get_if_hwaddr(u_char *addr, char *name)
-{
- struct ifreq ifreq;
- int ret, sock_fd;
-
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock_fd < 0)
- return 0;
- memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
- strlcpy(ifreq.ifr_name, name, sizeof(ifreq.ifr_name));
- ret = ioctl(sock_fd, SIOCGIFHWADDR, &ifreq);
- close(sock_fd);
- if (ret >= 0)
- memcpy(addr, ifreq.ifr_hwaddr.sa_data, 6);
- return ret;
-}
-
-/*
- * get_first_ethernet - return the name of the first ethernet-style
- * interface on this system.
- */
-char *
-get_first_ethernet()
-{
- return "eth0";
-}
-
-/********************************************************************
- *
- * Return user specified netmask, modified by any mask we might determine
- * for address `addr' (in network byte order).
- * Here we scan through the system's list of interfaces, looking for
- * any non-point-to-point interfaces which might appear to be on the same
- * network as `addr'. If we find any, we OR in their netmask to the
- * user-specified netmask.
- */
-
-u_int32_t GetMask (u_int32_t addr)
-{
- u_int32_t mask, nmask, ina;
- struct ifreq *ifr, *ifend, ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
-
- addr = ntohl(addr);
-
- if (IN_CLASSA(addr)) /* determine network mask for address class */
- nmask = IN_CLASSA_NET;
- else if (IN_CLASSB(addr))
- nmask = IN_CLASSB_NET;
- else
- nmask = IN_CLASSC_NET;
-
- /* class D nets are disallowed by bad_ip_adrs */
- mask = netmask | htonl(nmask);
-/*
- * Scan through the system's network interfaces.
- */
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
- if ( ! ok_error ( errno ))
- warn("ioctl(SIOCGIFCONF): %m(%d)", errno);
- return mask;
- }
-
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
-/*
- * Check the interface's internet address.
- */
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- ina = SIN_ADDR(ifr->ifr_addr);
- if (((ntohl(ina) ^ addr) & nmask) != 0)
- continue;
-/*
- * Check that the interface is up, and not point-to-point nor loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
-
- if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
- continue;
-/*
- * Get its netmask and OR it into our mask.
- */
- if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- mask |= SIN_ADDR(ifreq.ifr_addr);
- break;
- }
- return mask;
-}
-
-/********************************************************************
- *
- * Internal routine to decode the version.modification.patch level
- */
-
-static void decode_version (char *buf, int *version,
- int *modification, int *patch)
-{
- char *endp;
-
- *version = (int) strtoul (buf, &endp, 10);
- *modification = 0;
- *patch = 0;
-
- if (endp != buf && *endp == '.') {
- buf = endp + 1;
- *modification = (int) strtoul (buf, &endp, 10);
- if (endp != buf && *endp == '.') {
- buf = endp + 1;
- *patch = (int) strtoul (buf, &buf, 10);
- }
- }
-}
-
-/********************************************************************
- *
- * Procedure to determine if the PPP line discipline is registered.
- */
-
-static int
-ppp_registered(void)
-{
- int local_fd;
- int mfd = -1;
- int ret = 0;
- char slave[16];
-
- /*
- * We used to open the serial device and set it to the ppp line
- * discipline here, in order to create a ppp unit. But that is
- * not a good idea - the user might have specified a device that
- * they can't open (permission, or maybe it doesn't really exist).
- * So we grab a pty master/slave pair and use that.
- */
- if (!get_pty(&mfd, &local_fd, slave, 0)) {
- no_ppp_msg = "Couldn't determine if PPP is supported (no free ptys)";
- return 0;
- }
-
- /*
- * Try to put the device into the PPP discipline.
- */
- if (ioctl(local_fd, TIOCSETD, &ppp_disc) < 0) {
- error("ioctl(TIOCSETD(PPP)): %m(%d)", errno);
- } else
- ret = 1;
-
- close(local_fd);
- close(mfd);
- return ret;
-}
-
-/********************************************************************
- *
- * ppp_available - check whether the system has any ppp interfaces
- * (in fact we check whether we can do an ioctl on ppp0).
- */
-
-int ppp_available(void)
-{
- int s, ok, fd;
- struct ifreq ifr;
- int size;
- int my_version, my_modification, my_patch;
- int osmaj, osmin, ospatch;
-
- no_ppp_msg =
- "This system lacks kernel support for PPP. This could be because\n"
- "the PPP kernel module could not be loaded, or because PPP was not\n"
- "included in the kernel configuration. If PPP was included as a\n"
- "module, try `/sbin/modprobe -v ppp'. If that fails, check that\n"
- "ppp.o exists in /lib/modules/`uname -r`/net.\n"
- "See README.linux file in the ppp distribution for more details.\n";
-
- /* get the kernel version now, since we are called before sys_init */
- uname(&utsname);
- osmaj = osmin = ospatch = 0;
- sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
- kernel_version = KVERSION(osmaj, osmin, ospatch);
-
- fd = open("/dev/ppp", O_RDWR);
-#if 0
- if (fd < 0 && errno == ENOENT) {
- /* try making it and see if that helps. */
- if (mknod("/dev/ppp", S_IFCHR | S_IRUSR | S_IWUSR,
- makedev(108, 0)) >= 0) {
- fd = open("/dev/ppp", O_RDWR);
- if (fd >= 0)
- info("Created /dev/ppp device node");
- else
- unlink("/dev/ppp"); /* didn't work, undo the mknod */
- } else if (errno == EEXIST) {
- fd = open("/dev/ppp", O_RDWR);
- }
- }
-#endif /* 0 */
- if (fd >= 0) {
- new_style_driver = 1;
-
- /* XXX should get from driver */
- driver_version = 2;
- driver_modification = 4;
- driver_patch = 0;
- close(fd);
- return 1;
- }
- if (kernel_version >= KVERSION(2,3,13)) {
- if (errno == ENOENT)
- no_ppp_msg =
- "pppd is unable to open the /dev/ppp device.\n"
- "You need to create the /dev/ppp device node by\n"
- "executing the following command as root:\n"
- " mknod /dev/ppp c 108 0\n";
- return 0;
- }
-
-/*
- * Open a socket for doing the ioctl operations.
- */
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0)
- return 0;
-
- strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
- ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
-/*
- * If the device did not exist then attempt to create one by putting the
- * current tty into the PPP discipline. If this works then obtain the
- * flags for the device again.
- */
- if (!ok) {
- if (ppp_registered()) {
- strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
- ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
- }
- }
-/*
- * Ensure that the hardware address is for PPP and not something else
- */
- if (ok)
- ok = ioctl (s, SIOCGIFHWADDR, (caddr_t) &ifr) >= 0;
-
- if (ok && ((ifr.ifr_hwaddr.sa_family & ~0xFF) != ARPHRD_PPP))
- ok = 0;
-
-/*
- * This is the PPP device. Validate the version of the driver at this
- * point to ensure that this program will work with the driver.
- */
- if (ok) {
- char abBuffer [1024];
-
- ifr.ifr_data = abBuffer;
- size = ioctl (s, SIOCGPPPVER, (caddr_t) &ifr);
- if (size < 0) {
- error("Couldn't read driver version: %m");
- ok = 0;
- no_ppp_msg = "Sorry, couldn't verify kernel driver version\n";
-
- } else {
- decode_version(abBuffer,
- &driver_version,
- &driver_modification,
- &driver_patch);
-/*
- * Validate the version of the driver against the version that we used.
- */
- decode_version(VERSION,
- &my_version,
- &my_modification,
- &my_patch);
-
- /* The version numbers must match */
- if (driver_version != my_version)
- ok = 0;
-
- /* The modification levels must be legal */
- if (driver_modification < 3) {
- if (driver_modification >= 2) {
- /* we can cope with 2.2.0 and above */
- driver_is_old = 1;
- } else {
- ok = 0;
- }
- }
-
- close (s);
- if (!ok) {
- slprintf(route_buffer, sizeof(route_buffer),
- "Sorry - PPP driver version %d.%d.%d is out of date\n",
- driver_version, driver_modification, driver_patch);
-
- no_ppp_msg = route_buffer;
- }
- }
- }
- return ok;
-}
-
-/********************************************************************
- *
- * sifvjcomp - config tcp header compression
- */
-
-int sifvjcomp (int u, int vjcomp, int cidcomp, int maxcid)
-{
- u_int x = get_flags(ppp_dev_fd);
-
- if (vjcomp) {
- if (ioctl (ppp_dev_fd, PPPIOCSMAXCID, (caddr_t) &maxcid) < 0) {
- if (! ok_error (errno))
- error("ioctl(PPPIOCSMAXCID): %m(%d)", errno);
- vjcomp = 0;
- }
- }
-
- x = vjcomp ? x | SC_COMP_TCP : x &~ SC_COMP_TCP;
- x = cidcomp ? x & ~SC_NO_TCP_CCID : x | SC_NO_TCP_CCID;
- set_flags (ppp_dev_fd, x);
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifup - Config the interface up and enable IP packets to pass.
- */
-
-int sifup(int u)
-{
- struct ifreq ifr;
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
- return 0;
- }
-
- ifr.ifr_flags |= (IFF_UP | IFF_POINTOPOINT);
- if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
- return 0;
- }
- if_is_up++;
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifdown - Disable the indicated protocol and config the interface
- * down if there are no remaining protocols.
- */
-
-int sifdown (int u)
-{
- struct ifreq ifr;
-
- if (if_is_up && --if_is_up > 0)
- return 1;
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
- return 0;
- }
-
- ifr.ifr_flags &= ~IFF_UP;
- ifr.ifr_flags |= IFF_POINTOPOINT;
- if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
- return 0;
- }
- return 1;
-}
-
-/********************************************************************
- *
- * sifaddr - Config the interface IP addresses and netmask.
- */
-
-int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr,
- u_int32_t net_mask)
-{
- struct ifreq ifr;
- struct rtentry rt;
-
- memset (&ifr, '\0', sizeof (ifr));
- memset (&rt, '\0', sizeof (rt));
-
- SET_SA_FAMILY (ifr.ifr_addr, AF_INET);
- SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET);
- SET_SA_FAMILY (ifr.ifr_netmask, AF_INET);
-
- strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
-/*
- * Set our IP address
- */
- SIN_ADDR(ifr.ifr_addr) = our_adr;
- if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (errno != EEXIST) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFADDR): %m(%d)", errno);
- }
- else {
- warn("ioctl(SIOCSIFADDR): Address already exists");
- }
- return (0);
- }
-/*
- * Set the gateway address
- */
- SIN_ADDR(ifr.ifr_dstaddr) = his_adr;
- if (ioctl(sock_fd, SIOCSIFDSTADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFDSTADDR): %m(%d)", errno);
- return (0);
- }
-/*
- * Set the netmask.
- * For recent kernels, force the netmask to 255.255.255.255.
- */
- if (kernel_version >= KVERSION(2,1,16))
- net_mask = ~0L;
- if (net_mask != 0) {
- SIN_ADDR(ifr.ifr_netmask) = net_mask;
- if (ioctl(sock_fd, SIOCSIFNETMASK, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFNETMASK): %m(%d)", errno);
- return (0);
- }
- }
-/*
- * Add the device route
- */
- if (kernel_version < KVERSION(2,1,16)) {
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
- rt.rt_dev = ifname;
-
- SIN_ADDR(rt.rt_gateway) = 0L;
- SIN_ADDR(rt.rt_dst) = his_adr;
- rt.rt_flags = RTF_UP | RTF_HOST;
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = -1L;
- }
-
- if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCADDRT) device route: %m(%d)", errno);
- return (0);
- }
- }
-
- /* set ip_dynaddr in demand mode if address changes */
- if (demand && tune_kernel && !dynaddr_set
- && our_old_addr && our_old_addr != our_adr) {
- /* set ip_dynaddr if possible */
- char *path;
- int fd;
-
- path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
- if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) {
- if (write(fd, "1", 1) != 1)
- error("Couldn't enable dynamic IP addressing: %m");
- close(fd);
- }
- dynaddr_set = 1; /* only 1 attempt */
- }
- our_old_addr = 0;
-
- return 1;
-}
-
-/********************************************************************
- *
- * cifaddr - Clear the interface IP addresses, and delete routes
- * through the interface if possible.
- */
-
-int cifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr)
-{
- struct ifreq ifr;
-
- if (kernel_version < KVERSION(2,1,16)) {
-/*
- * Delete the route through the device
- */
- struct rtentry rt;
- memset (&rt, '\0', sizeof (rt));
-
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
- rt.rt_dev = ifname;
-
- SIN_ADDR(rt.rt_gateway) = 0;
- SIN_ADDR(rt.rt_dst) = his_adr;
- rt.rt_flags = RTF_UP | RTF_HOST;
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = -1L;
- }
-
- if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
- if (still_ppp() && ! ok_error (errno))
- error("ioctl(SIOCDELRT) device route: %m(%d)", errno);
- return (0);
- }
- }
-
- /* This way it is possible to have an IPX-only or IPv6-only interface */
- memset(&ifr, 0, sizeof(ifr));
- SET_SA_FAMILY(ifr.ifr_addr, AF_INET);
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno)) {
- error("ioctl(SIOCSIFADDR): %m(%d)", errno);
- return 0;
- }
- }
-
- our_old_addr = our_adr;
-
- return 1;
-}
-
-#ifdef INET6
-/********************************************************************
- *
- * sif6addr - Config the interface with an IPv6 link-local address
- */
-int sif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
-{
- struct in6_ifreq ifr6;
- struct ifreq ifr;
- struct in6_rtmsg rt6;
-
- if (sock6_fd < 0) {
- errno = -sock6_fd;
- error("IPv6 socket creation failed: %m");
- return 0;
- }
- memset(&ifr, 0, sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
- error("sif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
- return 0;
- }
-
- /* Local interface */
- memset(&ifr6, 0, sizeof(ifr6));
- IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = 10;
-
- if (ioctl(sock6_fd, SIOCSIFADDR, &ifr6) < 0) {
- error("sif6addr: ioctl(SIOCSIFADDR): %m (%d)", errno);
- return 0;
- }
-
- /* Route to remote host */
- memset(&rt6, 0, sizeof(rt6));
- IN6_LLADDR_FROM_EUI64(rt6.rtmsg_dst, his_eui64);
- rt6.rtmsg_flags = RTF_UP;
- rt6.rtmsg_dst_len = 10;
- rt6.rtmsg_ifindex = ifr.ifr_ifindex;
- rt6.rtmsg_metric = 1;
-
- if (ioctl(sock6_fd, SIOCADDRT, &rt6) < 0) {
- error("sif6addr: ioctl(SIOCADDRT): %m (%d)", errno);
- return 0;
- }
-
- return 1;
-}
-
-
-/********************************************************************
- *
- * cif6addr - Remove IPv6 address from interface
- */
-int cif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
-{
- struct ifreq ifr;
- struct in6_ifreq ifr6;
-
- if (sock6_fd < 0) {
- errno = -sock6_fd;
- error("IPv6 socket creation failed: %m");
- return 0;
- }
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
- error("cif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
- return 0;
- }
-
- memset(&ifr6, 0, sizeof(ifr6));
- IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = 10;
-
- if (ioctl(sock6_fd, SIOCDIFADDR, &ifr6) < 0) {
- if (errno != EADDRNOTAVAIL) {
- if (! ok_error (errno))
- error("cif6addr: ioctl(SIOCDIFADDR): %m (%d)", errno);
- }
- else {
- warn("cif6addr: ioctl(SIOCDIFADDR): No such address");
- }
- return (0);
- }
- return 1;
-}
-#endif /* INET6 */
-
-/*
- * get_pty - get a pty master/slave pair and chown the slave side
- * to the uid given. Assumes slave_name points to >= 16 bytes of space.
- */
-int
-get_pty(master_fdp, slave_fdp, slave_name, uid)
- int *master_fdp;
- int *slave_fdp;
- char *slave_name;
- int uid;
-{
- int i, mfd, sfd = -1;
- char pty_name[16];
- struct termios tios;
-
-#ifdef TIOCGPTN
- /*
- * Try the unix98 way first.
- */
- mfd = open("/dev/ptmx", O_RDWR);
- if (mfd >= 0) {
- int ptn;
- if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pts/%d", ptn);
- chmod(pty_name, S_IRUSR | S_IWUSR);
-#ifdef TIOCSPTLCK
- ptn = 0;
- if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0)
- warn("Couldn't unlock pty slave %s: %m", pty_name);
-#endif
- if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0)
- warn("Couldn't open pty slave %s: %m", pty_name);
- }
- }
-#endif /* TIOCGPTN */
-
- if (sfd < 0) {
- /* the old way - scan through the pty name space */
- for (i = 0; i < 64; ++i) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
- 'p' + i / 16, i % 16);
- mfd = open(pty_name, O_RDWR, 0);
- if (mfd >= 0) {
- pty_name[5] = 't';
- sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
- if (sfd >= 0) {
- fchown(sfd, uid, -1);
- fchmod(sfd, S_IRUSR | S_IWUSR);
- break;
- }
- close(mfd);
- }
- }
- }
-
- if (sfd < 0)
- return 0;
-
- strlcpy(slave_name, pty_name, 16);
- *master_fdp = mfd;
- *slave_fdp = sfd;
- if (tcgetattr(sfd, &tios) == 0) {
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
- tios.c_cflag |= CS8 | CREAD | CLOCAL;
- tios.c_iflag = IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
- warn("couldn't set attributes on pty: %m");
- } else
- warn("couldn't get attributes on pty: %m");
-
- return 1;
-}
-
-/********************************************************************
- *
- * open_loopback - open the device we use for getting packets
- * in demand mode. Under Linux, we use a pty master/slave pair.
- */
-int
-open_ppp_loopback(void)
-{
- int flags;
-
- looped = 1;
- if (new_style_driver) {
- /* allocate ourselves a ppp unit */
- if (make_ppp_unit() < 0)
- die(1);
- set_flags(ppp_dev_fd, SC_LOOP_TRAFFIC);
- set_kdebugflag(kdebugflag);
- ppp_fd = -1;
- return ppp_dev_fd;
- }
-
- if (!get_pty(&master_fd, &slave_fd, loop_name, 0))
- fatal("No free pty for loopback");
- SYSDEBUG(("using %s for loopback", loop_name));
-
- set_ppp_fd(slave_fd);
-
- flags = fcntl(master_fd, F_GETFL);
- if (flags == -1 ||
- fcntl(master_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set master loopback to nonblock: %m(%d)", errno);
-
- flags = fcntl(ppp_fd, F_GETFL);
- if (flags == -1 ||
- fcntl(ppp_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set slave loopback to nonblock: %m(%d)", errno);
-
- if (ioctl(ppp_fd, TIOCSETD, &ppp_disc) < 0)
- fatal("ioctl(TIOCSETD): %m(%d)", errno);
-/*
- * Find out which interface we were given.
- */
- if (ioctl(ppp_fd, PPPIOCGUNIT, &ifunit) < 0)
- fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
-/*
- * Enable debug in the driver if requested.
- */
- set_kdebugflag (kdebugflag);
-
- return master_fd;
-}
-
-/********************************************************************
- *
- * restore_loop - reattach the ppp unit to the loopback.
- *
- * The kernel ppp driver automatically reattaches the ppp unit to
- * the loopback if the serial port is set to a line discipline other
- * than ppp, or if it detects a modem hangup. The former will happen
- * in disestablish_ppp if the latter hasn't already happened, so we
- * shouldn't need to do anything.
- *
- * Just to be sure, set the real serial port to the normal discipline.
- */
-
-static void
-restore_loop(void)
-{
- looped = 1;
- if (new_style_driver) {
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_LOOP_TRAFFIC);
- return;
- }
- if (ppp_fd != slave_fd) {
- (void) ioctl(ppp_fd, TIOCSETD, &tty_disc);
- set_ppp_fd(slave_fd);
- }
-}
-
-/********************************************************************
- *
- * sifnpmode - Set the mode for handling packets for a given NP.
- */
-
-int
-sifnpmode(u, proto, mode)
- int u;
- int proto;
- enum NPmode mode;
-{
- struct npioctl npi;
-
- npi.protocol = proto;
- npi.mode = mode;
- if (ioctl(ppp_dev_fd, PPPIOCSNPMODE, (caddr_t) &npi) < 0) {
- if (! ok_error (errno))
- error("ioctl(PPPIOCSNPMODE, %d, %d): %m (%d)",
- proto, mode, errno);
- return 0;
- }
- return 1;
-}
-
-
-/********************************************************************
- *
- * sipxfaddr - Config the interface IPX networknumber
- */
-
-int sipxfaddr (int unit, unsigned long int network, unsigned char * node )
-{
- int result = 1;
-
-#ifdef IPX_CHANGE
- int skfd;
- struct ifreq ifr;
- struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
-
- skfd = socket (AF_IPX, SOCK_DGRAM, 0);
- if (skfd < 0) {
- if (! ok_error (errno))
- dbglog("socket(AF_IPX): %m (%d)", errno);
- result = 0;
- }
- else {
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- memcpy (sipx->sipx_node, node, IPX_NODE_LEN);
- sipx->sipx_family = AF_IPX;
- sipx->sipx_port = 0;
- sipx->sipx_network = htonl (network);
- sipx->sipx_type = IPX_FRAME_ETHERII;
- sipx->sipx_action = IPX_CRTITF;
-/*
- * Set the IPX device
- */
- if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- result = 0;
- if (errno != EEXIST) {
- if (! ok_error (errno))
- dbglog("ioctl(SIOCSIFADDR, CRTITF): %m (%d)", errno);
- }
- else {
- warn("ioctl(SIOCSIFADDR, CRTITF): Address already exists");
- }
- }
- close (skfd);
- }
-#endif
- return result;
-}
-
-/********************************************************************
- *
- * cipxfaddr - Clear the information for the IPX network. The IPX routes
- * are removed and the device is no longer able to pass IPX
- * frames.
- */
-
-int cipxfaddr (int unit)
-{
- int result = 1;
-
-#ifdef IPX_CHANGE
- int skfd;
- struct ifreq ifr;
- struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
-
- skfd = socket (AF_IPX, SOCK_DGRAM, 0);
- if (skfd < 0) {
- if (! ok_error (errno))
- dbglog("socket(AF_IPX): %m (%d)", errno);
- result = 0;
- }
- else {
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- sipx->sipx_type = IPX_FRAME_ETHERII;
- sipx->sipx_action = IPX_DLTITF;
- sipx->sipx_family = AF_IPX;
-/*
- * Set the IPX device
- */
- if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- info("ioctl(SIOCSIFADDR, IPX_DLTITF): %m (%d)", errno);
- result = 0;
- }
- close (skfd);
- }
-#endif
- return result;
-}
-
-/*
- * Use the hostname as part of the random number seed.
- */
-int
-get_host_seed()
-{
- int h;
- char *p = hostname;
-
- h = 407;
- for (p = hostname; *p != 0; ++p)
- h = h * 37 + *p;
- return h;
-}
-
-/********************************************************************
- *
- * sys_check_options - check the options that the user specified
- */
-
-int
-sys_check_options(void)
-{
-#ifdef IPX_CHANGE
-/*
- * Disable the IPX protocol if the support is not present in the kernel.
- */
- char *path;
-
- if (ipxcp_protent.enabled_flag) {
- struct stat stat_buf;
- if ((path = path_to_procfs("/net/ipx_interface")) == 0
- || lstat(path, &stat_buf) < 0) {
- error("IPX support is not present in the kernel\n");
- ipxcp_protent.enabled_flag = 0;
- }
- }
-#endif
- if (demand && driver_is_old) {
- option_error("demand dialling is not supported by kernel driver "
- "version %d.%d.%d", driver_version, driver_modification,
- driver_patch);
- return 0;
- }
- if (multilink && !new_style_driver) {
- warn("Warning: multilink is not supported by the kernel driver");
- multilink = 0;
- }
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/sys-linux.c.wtmp b/mdk-stage1/ppp/pppd/sys-linux.c.wtmp
deleted file mode 100644
index f1b48423e..000000000
--- a/mdk-stage1/ppp/pppd/sys-linux.c.wtmp
+++ /dev/null
@@ -1,2750 +0,0 @@
-/*
- * sys-linux.c - System-dependent procedures for setting up
- * PPP interfaces on Linux systems
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <sys/errno.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <sys/sysmacros.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <syslog.h>
-#include <string.h>
-#include <time.h>
-#include <memory.h>
-#include <utmp.h>
-#include <mntent.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <ctype.h>
-#include <termios.h>
-#include <unistd.h>
-
-/* This is in netdevice.h. However, this compile will fail miserably if
- you attempt to include netdevice.h because it has so many references
- to __memcpy functions which it should not attempt to do. So, since I
- really don't use it, but it must be defined, define it now. */
-
-#ifndef MAX_ADDR_LEN
-#define MAX_ADDR_LEN 7
-#endif
-
-#if __GLIBC__ >= 2
-#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/route.h>
-#include <netinet/if_ether.h>
-#else
-#include <linux/types.h>
-#include <linux/if.h>
-#include <linux/if_arp.h>
-#include <linux/route.h>
-#include <linux/if_ether.h>
-#endif
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include <linux/ppp_defs.h>
-#include <linux/if_ppp.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-
-#ifdef IPX_CHANGE
-#include "ipxcp.h"
-#if __GLIBC__ >= 2 && \
- !(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
-#include <netipx/ipx.h>
-#else
-#include <linux/ipx.h>
-#endif
-#endif /* IPX_CHANGE */
-
-#ifdef PPP_FILTER
-#include <net/bpf.h>
-#include <linux/filter.h>
-#endif /* PPP_FILTER */
-
-#ifdef LOCKLIB
-#include <sys/locks.h>
-#endif
-
-#ifdef INET6
-#ifndef _LINUX_IN6_H
-/*
- * This is in linux/include/net/ipv6.h.
- */
-
-struct in6_ifreq {
- struct in6_addr ifr6_addr;
- __u32 ifr6_prefixlen;
- unsigned int ifr6_ifindex;
-};
-#endif
-
-#define IN6_LLADDR_FROM_EUI64(sin6, eui64) do { \
- memset(&sin6.s6_addr, 0, sizeof(struct in6_addr)); \
- sin6.s6_addr16[0] = htons(0xfe80); \
- eui64_copy(eui64, sin6.s6_addr32[2]); \
- } while (0)
-
-#endif /* INET6 */
-
-/* We can get an EIO error on an ioctl if the modem has hung up */
-#define ok_error(num) ((num)==EIO)
-
-static int tty_disc = N_TTY; /* The TTY discipline */
-static int ppp_disc = N_PPP; /* The PPP discpline */
-static int initfdflags = -1; /* Initial file descriptor flags for fd */
-static int ppp_fd = -1; /* fd which is set to PPP discipline */
-static int sock_fd = -1; /* socket for doing interface ioctls */
-static int slave_fd = -1;
-static int master_fd = -1;
-#ifdef INET6
-static int sock6_fd = -1;
-#endif /* INET6 */
-static int ppp_dev_fd = -1; /* fd for /dev/ppp (new style driver) */
-static int chindex; /* channel index (new style driver) */
-
-static fd_set in_fds; /* set of fds that wait_input waits for */
-static int max_in_fd; /* highest fd set in in_fds */
-
-static int has_proxy_arp = 0;
-static int driver_version = 0;
-static int driver_modification = 0;
-static int driver_patch = 0;
-static int driver_is_old = 0;
-static int restore_term = 0; /* 1 => we've munged the terminal */
-static struct termios inittermios; /* Initial TTY termios */
-
-static int new_style_driver = 0;
-
-static char loop_name[20];
-static unsigned char inbuf[512]; /* buffer for chars read from loopback */
-
-static int if_is_up; /* Interface has been marked up */
-static u_int32_t default_route_gateway; /* Gateway for default route added */
-static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
-static char proxy_arp_dev[16]; /* Device for proxy arp entry */
-static u_int32_t our_old_addr; /* for detecting address changes */
-static int dynaddr_set; /* 1 if ip_dynaddr set */
-static int looped; /* 1 if using loop */
-static int link_mtu; /* mtu for the link (not bundle) */
-
-static struct utsname utsname; /* for the kernel version */
-static int kernel_version;
-#define KVERSION(j,n,p) ((j)*1000000 + (n)*1000 + (p))
-
-#define MAX_IFS 100
-
-#define FLAGS_GOOD (IFF_UP | IFF_BROADCAST)
-#define FLAGS_MASK (IFF_UP | IFF_BROADCAST | \
- IFF_POINTOPOINT | IFF_LOOPBACK | IFF_NOARP)
-
-#define SIN_ADDR(x) (((struct sockaddr_in *) (&(x)))->sin_addr.s_addr)
-
-/* Prototypes for procedures local to this file. */
-static int get_flags (int fd);
-static void set_flags (int fd, int flags);
-static int translate_speed (int bps);
-static int baud_rate_of (int speed);
-static void close_route_table (void);
-static int open_route_table (void);
-static int read_route_table (struct rtentry *rt);
-static int defaultroute_exists (struct rtentry *rt);
-static int get_ether_addr (u_int32_t ipaddr, struct sockaddr *hwaddr,
- char *name, int namelen);
-static void decode_version (char *buf, int *version, int *mod, int *patch);
-static int set_kdebugflag(int level);
-static int ppp_registered(void);
-static int make_ppp_unit(void);
-static void restore_loop(void); /* Transfer ppp unit back to loopback */
-
-extern u_char inpacket_buf[]; /* borrowed from main.c */
-
-/*
- * SET_SA_FAMILY - set the sa_family field of a struct sockaddr,
- * if it exists.
- */
-
-#define SET_SA_FAMILY(addr, family) \
- memset ((char *) &(addr), '\0', sizeof(addr)); \
- addr.sa_family = (family);
-
-/*
- * Determine if the PPP connection should still be present.
- */
-
-extern int hungup;
-
-/* new_fd is the fd of a tty */
-static void set_ppp_fd (int new_fd)
-{
- SYSDEBUG ((LOG_DEBUG, "setting ppp_fd to %d\n", new_fd));
- ppp_fd = new_fd;
- if (!new_style_driver)
- ppp_dev_fd = new_fd;
-}
-
-static int still_ppp(void)
-{
- if (new_style_driver)
- return !hungup && ppp_fd >= 0;
- if (!hungup || ppp_fd == slave_fd)
- return 1;
- if (slave_fd >= 0) {
- set_ppp_fd(slave_fd);
- return 1;
- }
- return 0;
-}
-
-/********************************************************************
- *
- * Functions to read and set the flags value in the device driver
- */
-
-static int get_flags (int fd)
-{
- int flags;
-
- if (ioctl(fd, PPPIOCGFLAGS, (caddr_t) &flags) < 0) {
- if ( ok_error (errno) )
- flags = 0;
- else
- fatal("ioctl(PPPIOCGFLAGS): %m");
- }
-
- SYSDEBUG ((LOG_DEBUG, "get flags = %x\n", flags));
- return flags;
-}
-
-/********************************************************************/
-
-static void set_flags (int fd, int flags)
-{
- SYSDEBUG ((LOG_DEBUG, "set flags = %x\n", flags));
-
- if (ioctl(fd, PPPIOCSFLAGS, (caddr_t) &flags) < 0) {
- if (! ok_error (errno) )
- fatal("ioctl(PPPIOCSFLAGS, %x): %m", flags, errno);
- }
-}
-
-/********************************************************************
- *
- * sys_init - System-dependent initialization.
- */
-
-void sys_init(void)
-{
- int flags;
-
- if (new_style_driver) {
- ppp_dev_fd = open("/dev/ppp", O_RDWR);
- if (ppp_dev_fd < 0)
- fatal("Couldn't open /dev/ppp: %m");
- flags = fcntl(ppp_dev_fd, F_GETFL);
- if (flags == -1
- || fcntl(ppp_dev_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("Couldn't set /dev/ppp to nonblock: %m");
- }
-
- /* Get an internet socket for doing socket ioctls. */
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock_fd < 0)
- fatal("Couldn't create IP socket: %m(%d)", errno);
-
-#ifdef INET6
- sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (sock6_fd < 0)
- sock6_fd = -errno; /* save errno for later */
-#endif
-
- FD_ZERO(&in_fds);
- max_in_fd = 0;
-}
-
-/********************************************************************
- *
- * sys_cleanup - restore any system state we modified before exiting:
- * mark the interface down, delete default route and/or proxy arp entry.
- * This shouldn't call die() because it's called from die().
- */
-
-void sys_cleanup(void)
-{
-/*
- * Take down the device
- */
- if (if_is_up) {
- if_is_up = 0;
- sifdown(0);
- }
-/*
- * Delete any routes through the device.
- */
- if (default_route_gateway != 0)
- cifdefaultroute(0, 0, default_route_gateway);
-
- if (has_proxy_arp)
- cifproxyarp(0, proxy_arp_addr);
-}
-
-/********************************************************************
- *
- * sys_close - Clean up in a child process before execing.
- */
-void
-sys_close(void)
-{
- if (new_style_driver)
- close(ppp_dev_fd);
- if (sock_fd >= 0)
- close(sock_fd);
- if (slave_fd >= 0)
- close(slave_fd);
- if (master_fd >= 0)
- close(master_fd);
- closelog();
-}
-
-/********************************************************************
- *
- * set_kdebugflag - Define the debugging level for the kernel
- */
-
-static int set_kdebugflag (int requested_level)
-{
- if (new_style_driver && ifunit < 0)
- return 1;
- if (ioctl(ppp_dev_fd, PPPIOCSDEBUG, &requested_level) < 0) {
- if ( ! ok_error (errno) )
- error("ioctl(PPPIOCSDEBUG): %m");
- return (0);
- }
- SYSDEBUG ((LOG_INFO, "set kernel debugging level to %d",
- requested_level));
- return (1);
-}
-
-/********************************************************************
- *
- * tty_establish_ppp - Turn the serial port into a ppp interface.
- */
-
-int tty_establish_ppp (int tty_fd)
-{
- int x;
- int fd = -1;
-
-/*
- * Ensure that the tty device is in exclusive mode.
- */
- if (ioctl(tty_fd, TIOCEXCL, 0) < 0) {
- if ( ! ok_error ( errno ))
- warn("Couldn't make tty exclusive: %m");
- }
-/*
- * Demand mode - prime the old ppp device to relinquish the unit.
- */
- if (!new_style_driver && looped
- && ioctl(slave_fd, PPPIOCXFERUNIT, 0) < 0) {
- error("ioctl(transfer ppp unit): %m");
- return -1;
- }
-/*
- * Set the current tty to the PPP discpline
- */
-
-#ifndef N_SYNC_PPP
-#define N_SYNC_PPP 14
-#endif
- ppp_disc = (new_style_driver && sync_serial)? N_SYNC_PPP: N_PPP;
- if (ioctl(tty_fd, TIOCSETD, &ppp_disc) < 0) {
- if ( ! ok_error (errno) ) {
- error("Couldn't set tty to PPP discipline: %m");
- return -1;
- }
- }
-
- if (new_style_driver) {
- /* Open another instance of /dev/ppp and connect the channel to it */
- int flags;
-
- if (ioctl(tty_fd, PPPIOCGCHAN, &chindex) == -1) {
- error("Couldn't get channel number: %m");
- goto err;
- }
- dbglog("using channel %d", chindex);
- fd = open("/dev/ppp", O_RDWR);
- if (fd < 0) {
- error("Couldn't reopen /dev/ppp: %m");
- goto err;
- }
- if (ioctl(fd, PPPIOCATTCHAN, &chindex) < 0) {
- error("Couldn't attach to channel %d: %m", chindex);
- goto err_close;
- }
- flags = fcntl(fd, F_GETFL);
- if (flags == -1 || fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("Couldn't set /dev/ppp (channel) to nonblock: %m");
- set_ppp_fd(fd);
-
- if (!looped)
- ifunit = -1;
- if (!looped && !multilink) {
- /*
- * Create a new PPP unit.
- */
- if (make_ppp_unit() < 0)
- goto err_close;
- }
-
- if (looped)
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) & ~SC_LOOP_TRAFFIC);
-
- if (!multilink) {
- add_fd(ppp_dev_fd);
- if (ioctl(fd, PPPIOCCONNECT, &ifunit) < 0) {
- error("Couldn't attach to PPP unit %d: %m", ifunit);
- goto err_close;
- }
- }
-
- } else {
- /*
- * Old-style driver: find out which interface we were given.
- */
- set_ppp_fd (tty_fd);
- if (ioctl(tty_fd, PPPIOCGUNIT, &x) < 0) {
- if (ok_error (errno))
- goto err;
- fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
- }
- /* Check that we got the same unit again. */
- if (looped && x != ifunit)
- fatal("transfer_ppp failed: wanted unit %d, got %d", ifunit, x);
- ifunit = x;
-
- /*
- * Fetch the initial file flags and reset blocking mode on the file.
- */
- initfdflags = fcntl(tty_fd, F_GETFL);
- if (initfdflags == -1 ||
- fcntl(tty_fd, F_SETFL, initfdflags | O_NONBLOCK) == -1) {
- if ( ! ok_error (errno))
- warn("Couldn't set device to non-blocking mode: %m");
- }
- }
-
- looped = 0;
-
- /*
- * Enable debug in the driver if requested.
- */
- if (!looped)
- set_kdebugflag (kdebugflag);
-
-#define SC_RCVB (SC_RCV_B7_0 | SC_RCV_B7_1 | SC_RCV_EVNP | SC_RCV_ODDP)
-#define SC_LOGB (SC_DEBUG | SC_LOG_INPKT | SC_LOG_OUTPKT | SC_LOG_RAWIN \
- | SC_LOG_FLUSH)
-
- set_flags(ppp_fd, ((get_flags(ppp_fd) & ~(SC_RCVB | SC_LOGB))
- | ((kdebugflag * SC_DEBUG) & SC_LOGB)));
-
- SYSDEBUG ((LOG_NOTICE, "Using version %d.%d.%d of PPP driver",
- driver_version, driver_modification, driver_patch));
-
- return ppp_fd;
-
- err_close:
- close(fd);
- err:
- if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0 && !ok_error(errno))
- warn("Couldn't reset tty to normal line discipline: %m");
- return -1;
-}
-
-/********************************************************************
- *
- * tty_disestablish_ppp - Restore the serial port to normal operation,
- * and reconnect the ppp unit to the loopback if in demand mode.
- * This shouldn't call die() because it's called from die().
- */
-
-void tty_disestablish_ppp(int tty_fd)
-{
- if (demand)
- restore_loop();
- if (!hungup) {
-/*
- * Flush the tty output buffer so that the TIOCSETD doesn't hang.
- */
- if (tcflush(tty_fd, TCIOFLUSH) < 0)
- warn("tcflush failed: %m");
-/*
- * Restore the previous line discipline
- */
- if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0) {
- if ( ! ok_error (errno))
- error("ioctl(TIOCSETD, N_TTY): %m");
- }
-
- if (ioctl(tty_fd, TIOCNXCL, 0) < 0) {
- if ( ! ok_error (errno))
- warn("ioctl(TIOCNXCL): %m(%d)", errno);
- }
-
- /* Reset non-blocking mode on fd. */
- if (initfdflags != -1 && fcntl(tty_fd, F_SETFL, initfdflags) < 0) {
- if ( ! ok_error (errno))
- warn("Couldn't restore device fd flags: %m");
- }
- }
- initfdflags = -1;
-
- if (new_style_driver) {
- close(ppp_fd);
- ppp_fd = -1;
- if (!looped && ifunit >= 0 && ioctl(ppp_dev_fd, PPPIOCDETACH) < 0)
- error("Couldn't release PPP unit: %m");
- if (!multilink)
- remove_fd(ppp_dev_fd);
- }
-}
-
-/*
- * make_ppp_unit - make a new ppp unit for ppp_dev_fd.
- * Assumes new_style_driver.
- */
-static int make_ppp_unit()
-{
- int x;
-
- ifunit = req_unit;
- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
- if (x < 0 && req_unit >= 0 && errno == EEXIST) {
- warn("Couldn't allocate PPP unit %d as it is already in use");
- ifunit = -1;
- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
- }
- if (x < 0)
- error("Couldn't create new ppp unit: %m");
- return x;
-}
-
-/*
- * cfg_bundle - configure the existing bundle.
- * Used in demand mode.
- */
-void cfg_bundle(int mrru, int mtru, int rssn, int tssn)
-{
- int flags;
-
- if (!new_style_driver)
- return;
-
- /* set the mrru, mtu and flags */
- if (ioctl(ppp_dev_fd, PPPIOCSMRRU, &mrru) < 0)
- error("Couldn't set MRRU: %m");
- flags = get_flags(ppp_dev_fd);
- flags &= ~(SC_MP_SHORTSEQ | SC_MP_XSHORTSEQ);
- flags |= (rssn? SC_MP_SHORTSEQ: 0) | (tssn? SC_MP_XSHORTSEQ: 0)
- | (mrru? SC_MULTILINK: 0);
-
- set_flags(ppp_dev_fd, flags);
-
- /* connect up the channel */
- if (ioctl(ppp_fd, PPPIOCCONNECT, &ifunit) < 0)
- fatal("Couldn't attach to PPP unit %d: %m", ifunit);
- add_fd(ppp_dev_fd);
-}
-
-/*
- * make_new_bundle - create a new PPP unit (i.e. a bundle)
- * and connect our channel to it. This should only get called
- * if `multilink' was set at the time establish_ppp was called.
- * In demand mode this uses our existing bundle instead of making
- * a new one.
- */
-void make_new_bundle(int mrru, int mtru, int rssn, int tssn)
-{
- if (!new_style_driver)
- return;
-
- /* make us a ppp unit */
- if (make_ppp_unit() < 0)
- die(1);
-
- /* set the mrru and flags */
- cfg_bundle(mrru, mtru, rssn, tssn);
-}
-
-/*
- * bundle_attach - attach our link to a given PPP unit.
- * We assume the unit is controlled by another pppd.
- */
-int bundle_attach(int ifnum)
-{
- if (!new_style_driver)
- return -1;
-
- if (ioctl(ppp_dev_fd, PPPIOCATTACH, &ifnum) < 0) {
- if (errno == ENXIO)
- return 0; /* doesn't still exist */
- fatal("Couldn't attach to interface unit %d: %m\n", ifnum);
- }
- if (ioctl(ppp_fd, PPPIOCCONNECT, &ifnum) < 0)
- fatal("Couldn't connect to interface unit %d: %m", ifnum);
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_MULTILINK);
-
- ifunit = ifnum;
- return 1;
-}
-
-/********************************************************************
- *
- * clean_check - Fetch the flags for the device and generate
- * appropriate error messages.
- */
-void clean_check(void)
-{
- int x;
- char *s;
-
- if (still_ppp()) {
- if (ioctl(ppp_fd, PPPIOCGFLAGS, (caddr_t) &x) == 0) {
- s = NULL;
- switch (~x & (SC_RCV_B7_0|SC_RCV_B7_1|SC_RCV_EVNP|SC_RCV_ODDP)) {
- case SC_RCV_B7_0:
- s = "all had bit 7 set to 1";
- break;
-
- case SC_RCV_B7_1:
- s = "all had bit 7 set to 0";
- break;
-
- case SC_RCV_EVNP:
- s = "all had odd parity";
- break;
-
- case SC_RCV_ODDP:
- s = "all had even parity";
- break;
- }
-
- if (s != NULL) {
- warn("Receive serial link is not 8-bit clean:");
- warn("Problem: %s", s);
- }
- }
- }
-}
-
-
-/*
- * List of valid speeds.
- */
-
-struct speed {
- int speed_int, speed_val;
-} speeds[] = {
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2000
- { 2000, B2000 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B3600
- { 3600, B3600 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B7200
- { 7200, B7200 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B76800
- { 76800, B76800 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
-#ifdef EXTA
- { 19200, EXTA },
-#endif
-#ifdef EXTB
- { 38400, EXTB },
-#endif
-#ifdef B230400
- { 230400, B230400 },
-#endif
-#ifdef B460800
- { 460800, B460800 },
-#endif
-#ifdef B921600
- { 921600, B921600 },
-#endif
- { 0, 0 }
-};
-
-/********************************************************************
- *
- * Translate from bits/second to a speed_t.
- */
-
-static int translate_speed (int bps)
-{
- struct speed *speedp;
-
- if (bps != 0) {
- for (speedp = speeds; speedp->speed_int; speedp++) {
- if (bps == speedp->speed_int)
- return speedp->speed_val;
- }
- warn("speed %d not supported", bps);
- }
- return 0;
-}
-
-/********************************************************************
- *
- * Translate from a speed_t to bits/second.
- */
-
-static int baud_rate_of (int speed)
-{
- struct speed *speedp;
-
- if (speed != 0) {
- for (speedp = speeds; speedp->speed_int; speedp++) {
- if (speed == speedp->speed_val)
- return speedp->speed_int;
- }
- }
- return 0;
-}
-
-/********************************************************************
- *
- * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
- * at the requested speed, etc. If `local' is true, set CLOCAL
- * regardless of whether the modem option was specified.
- */
-
-void set_up_tty(int tty_fd, int local)
-{
- int speed;
- struct termios tios;
-
- setdtr(tty_fd, 1);
- if (tcgetattr(tty_fd, &tios) < 0) {
- if (!ok_error(errno))
- fatal("tcgetattr: %m(%d)", errno);
- return;
- }
-
- if (!restore_term)
- inittermios = tios;
-
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
- tios.c_cflag |= CS8 | CREAD | HUPCL;
-
- tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- tios.c_cc[VMIN] = 1;
- tios.c_cc[VTIME] = 0;
-
- if (local || !modem)
- tios.c_cflag ^= (CLOCAL | HUPCL);
-
- switch (crtscts) {
- case 1:
- tios.c_cflag |= CRTSCTS;
- break;
-
- case -2:
- tios.c_iflag |= IXON | IXOFF;
- tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
- tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
- break;
-
- case -1:
- tios.c_cflag &= ~CRTSCTS;
- break;
-
- default:
- break;
- }
-
- speed = translate_speed(inspeed);
- if (speed) {
- cfsetospeed (&tios, speed);
- cfsetispeed (&tios, speed);
- }
-/*
- * We can't proceed if the serial port speed is B0,
- * since that implies that the serial port is disabled.
- */
- else {
- speed = cfgetospeed(&tios);
- if (speed == B0)
- fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
- }
-
- if (tcsetattr(tty_fd, TCSAFLUSH, &tios) < 0)
- if (!ok_error(errno))
- fatal("tcsetattr: %m");
-
- baud_rate = baud_rate_of(speed);
- restore_term = 1;
-}
-
-/********************************************************************
- *
- * setdtr - control the DTR line on the serial port.
- * This is called from die(), so it shouldn't call die().
- */
-
-void setdtr (int tty_fd, int on)
-{
- int modembits = TIOCM_DTR;
-
- ioctl(tty_fd, (on ? TIOCMBIS : TIOCMBIC), &modembits);
-}
-
-/********************************************************************
- *
- * restore_tty - restore the terminal to the saved settings.
- */
-
-void restore_tty (int tty_fd)
-{
- if (restore_term) {
- restore_term = 0;
-/*
- * Turn off echoing, because otherwise we can get into
- * a loop with the tty and the modem echoing to each other.
- * We presume we are the sole user of this tty device, so
- * when we close it, it will revert to its defaults anyway.
- */
- if (!default_device)
- inittermios.c_lflag &= ~(ECHO | ECHONL);
-
- if (tcsetattr(tty_fd, TCSAFLUSH, &inittermios) < 0) {
- if (! ok_error (errno))
- warn("tcsetattr: %m");
- }
- }
-}
-
-/********************************************************************
- *
- * output - Output PPP packet.
- */
-
-void output (int unit, unsigned char *p, int len)
-{
- int fd = ppp_fd;
- int proto;
-
- if (debug)
- dbglog("sent %P", p, len);
-
- if (len < PPP_HDRLEN)
- return;
- if (new_style_driver) {
- p += 2;
- len -= 2;
- proto = (p[0] << 8) + p[1];
- if (ifunit >= 0 && !(proto >= 0xc000 || proto == PPP_CCPFRAG))
- fd = ppp_dev_fd;
- }
- if (write(fd, p, len) < 0) {
- if (errno == EWOULDBLOCK || errno == ENOBUFS
- || errno == ENXIO || errno == EIO || errno == EINTR)
- warn("write: warning: %m (%d)", errno);
- else
- error("write: %m (%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * wait_input - wait until there is data available,
- * for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-
-void wait_input(struct timeval *timo)
-{
- fd_set ready, exc;
- int n;
-
- ready = in_fds;
- exc = in_fds;
- n = select(max_in_fd + 1, &ready, NULL, &exc, timo);
- if (n < 0 && errno != EINTR)
- fatal("select: %m(%d)", errno);
-}
-
-/*
- * add_fd - add an fd to the set that wait_input waits for.
- */
-void add_fd(int fd)
-{
- FD_SET(fd, &in_fds);
- if (fd > max_in_fd)
- max_in_fd = fd;
-}
-
-/*
- * remove_fd - remove an fd from the set that wait_input waits for.
- */
-void remove_fd(int fd)
-{
- FD_CLR(fd, &in_fds);
-}
-
-
-/********************************************************************
- *
- * read_packet - get a PPP packet from the serial device.
- */
-
-int read_packet (unsigned char *buf)
-{
- int len, nr;
-
- len = PPP_MRU + PPP_HDRLEN;
- if (new_style_driver) {
- *buf++ = PPP_ALLSTATIONS;
- *buf++ = PPP_UI;
- len -= 2;
- }
- nr = -1;
- if (ppp_fd >= 0) {
- nr = read(ppp_fd, buf, len);
- if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
- error("read: %m");
- if (nr < 0 && errno == ENXIO)
- return 0;
- }
- if (nr < 0 && new_style_driver && ifunit >= 0) {
- /* N.B. we read ppp_fd first since LCP packets come in there. */
- nr = read(ppp_dev_fd, buf, len);
- if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
- error("read /dev/ppp: %m");
- if (nr < 0 && errno == ENXIO)
- return 0;
- }
- return (new_style_driver && nr > 0)? nr+2: nr;
-}
-
-/********************************************************************
- *
- * get_loop_output - get outgoing packets from the ppp device,
- * and detect when we want to bring the real link up.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-get_loop_output(void)
-{
- int rv = 0;
- int n;
-
- if (new_style_driver) {
- while ((n = read_packet(inpacket_buf)) > 0)
- if (loop_frame(inpacket_buf, n))
- rv = 1;
- return rv;
- }
-
- while ((n = read(master_fd, inbuf, sizeof(inbuf))) > 0)
- if (loop_chars(inbuf, n))
- rv = 1;
-
- if (n == 0)
- fatal("eof on loopback");
-
- if (errno != EWOULDBLOCK)
- fatal("read from loopback: %m(%d)", errno);
-
- return rv;
-}
-
-/*
- * netif_set_mtu - set the MTU on the PPP network interface.
- */
-void
-netif_set_mtu(int unit, int mtu)
-{
- struct ifreq ifr;
-
- SYSDEBUG ((LOG_DEBUG, "netif_set_mtu: mtu = %d\n", mtu));
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- ifr.ifr_mtu = mtu;
-
- if (ifunit >= 0 && ioctl(sock_fd, SIOCSIFMTU, (caddr_t) &ifr) < 0)
- fatal("ioctl(SIOCSIFMTU): %m");
-}
-
-/********************************************************************
- *
- * tty_send_config - configure the transmit characteristics of
- * the ppp interface.
- */
-
-void tty_send_config (int mtu,u_int32_t asyncmap,int pcomp,int accomp)
-{
- u_int x;
-
-/*
- * Set the asyncmap and other parameters for the ppp device
- */
- if (!still_ppp())
- return;
- link_mtu = mtu;
- SYSDEBUG ((LOG_DEBUG, "send_config: asyncmap = %lx\n", asyncmap));
- if (ioctl(ppp_fd, PPPIOCSASYNCMAP, (caddr_t) &asyncmap) < 0) {
- if (!ok_error(errno))
- fatal("ioctl(PPPIOCSASYNCMAP): %m(%d)", errno);
- return;
- }
-
- x = get_flags(ppp_fd);
- x = pcomp ? x | SC_COMP_PROT : x & ~SC_COMP_PROT;
- x = accomp ? x | SC_COMP_AC : x & ~SC_COMP_AC;
- x = sync_serial ? x | SC_SYNC : x & ~SC_SYNC;
- set_flags(ppp_fd, x);
-}
-
-/********************************************************************
- *
- * tty_set_xaccm - set the extended transmit ACCM for the interface.
- */
-
-void tty_set_xaccm (ext_accm accm)
-{
- SYSDEBUG ((LOG_DEBUG, "set_xaccm: %08lx %08lx %08lx %08lx\n",
- accm[0], accm[1], accm[2], accm[3]));
-
- if (!still_ppp())
- return;
- if (ioctl(ppp_fd, PPPIOCSXASYNCMAP, accm) < 0 && errno != ENOTTY) {
- if ( ! ok_error (errno))
- warn("ioctl(set extended ACCM): %m(%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * tty_recv_config - configure the receive-side characteristics of
- * the ppp interface.
- */
-
-void tty_recv_config (int mru,u_int32_t asyncmap,int pcomp,int accomp)
-{
- SYSDEBUG ((LOG_DEBUG, "recv_config: mru = %d\n", mru));
-/*
- * If we were called because the link has gone down then there is nothing
- * which may be done. Just return without incident.
- */
- if (!still_ppp())
- return;
-/*
- * Set the receiver parameters
- */
- if (ioctl(ppp_fd, PPPIOCSMRU, (caddr_t) &mru) < 0) {
- if ( ! ok_error (errno))
- error("ioctl(PPPIOCSMRU): %m(%d)", errno);
- }
- if (new_style_driver && ifunit >= 0
- && ioctl(ppp_dev_fd, PPPIOCSMRU, (caddr_t) &mru) < 0)
- error("Couldn't set MRU in generic PPP layer: %m");
-
- SYSDEBUG ((LOG_DEBUG, "recv_config: asyncmap = %lx\n", asyncmap));
- if (ioctl(ppp_fd, PPPIOCSRASYNCMAP, (caddr_t) &asyncmap) < 0) {
- if (!ok_error(errno))
- error("ioctl(PPPIOCSRASYNCMAP): %m(%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * ccp_test - ask kernel whether a given compression method
- * is acceptable for use.
- */
-
-int ccp_test (int unit, u_char *opt_ptr, int opt_len, int for_transmit)
-{
- struct ppp_option_data data;
-
- memset (&data, '\0', sizeof (data));
- data.ptr = opt_ptr;
- data.length = opt_len;
- data.transmit = for_transmit;
-
- if (ioctl(ppp_dev_fd, PPPIOCSCOMPRESS, (caddr_t) &data) >= 0)
- return 1;
-
- return (errno == ENOBUFS)? 0: -1;
-}
-
-/********************************************************************
- *
- * ccp_flags_set - inform kernel about the current state of CCP.
- */
-
-void ccp_flags_set (int unit, int isopen, int isup)
-{
- if (still_ppp()) {
- int x = get_flags(ppp_dev_fd);
- x = isopen? x | SC_CCP_OPEN : x &~ SC_CCP_OPEN;
- x = isup? x | SC_CCP_UP : x &~ SC_CCP_UP;
- set_flags (ppp_dev_fd, x);
- }
-}
-
-#ifdef PPP_FILTER
-/*
- * set_filters - set the active and pass filters in the kernel driver.
- */
-int set_filters(struct bpf_program *pass, struct bpf_program *active)
-{
- struct sock_fprog fp;
-
- fp.len = pass->bf_len;
- fp.filter = (struct sock_filter *) pass->bf_insns;
- if (ioctl(ppp_dev_fd, PPPIOCSPASS, &fp) < 0) {
- if (errno == ENOTTY)
- warn("kernel does not support PPP filtering");
- else
- error("Couldn't set pass-filter in kernel: %m");
- return 0;
- }
- fp.len = active->bf_len;
- fp.filter = (struct sock_filter *) active->bf_insns;
- if (ioctl(ppp_dev_fd, PPPIOCSACTIVE, &fp) < 0) {
- error("Couldn't set active-filter in kernel: %m");
- return 0;
- }
- return 1;
-}
-#endif /* PPP_FILTER */
-
-/********************************************************************
- *
- * get_idle_time - return how long the link has been idle.
- */
-int
-get_idle_time(u, ip)
- int u;
- struct ppp_idle *ip;
-{
- return ioctl(ppp_dev_fd, PPPIOCGIDLE, ip) >= 0;
-}
-
-/********************************************************************
- *
- * get_ppp_stats - return statistics for the link.
- */
-int
-get_ppp_stats(u, stats)
- int u;
- struct pppd_stats *stats;
-{
- struct ifpppstatsreq req;
-
- memset (&req, 0, sizeof (req));
-
- req.stats_ptr = (caddr_t) &req.stats;
- strlcpy(req.ifr__name, ifname, sizeof(req.ifr__name));
- if (ioctl(sock_fd, SIOCGPPPSTATS, &req) < 0) {
- error("Couldn't get PPP statistics: %m");
- return 0;
- }
- stats->bytes_in = req.stats.p.ppp_ibytes;
- stats->bytes_out = req.stats.p.ppp_obytes;
- return 1;
-}
-
-/********************************************************************
- *
- * ccp_fatal_error - returns 1 if decompression was disabled as a
- * result of an error detected after decompression of a packet,
- * 0 otherwise. This is necessary because of patent nonsense.
- */
-
-int ccp_fatal_error (int unit)
-{
- int x = get_flags(ppp_dev_fd);
-
- return x & SC_DC_FERROR;
-}
-
-/********************************************************************
- *
- * path_to_procfs - find the path to the proc file system mount point
- */
-static char proc_path[MAXPATHLEN];
-static int proc_path_len;
-
-static char *path_to_procfs(const char *tail)
-{
- struct mntent *mntent;
- FILE *fp;
-
- if (proc_path_len == 0) {
- /* Default the mount location of /proc */
- strlcpy (proc_path, "/proc", sizeof(proc_path));
- proc_path_len = 5;
- fp = fopen(MOUNTED, "r");
- if (fp != NULL) {
- while ((mntent = getmntent(fp)) != NULL) {
- if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
- continue;
- if (strcmp(mntent->mnt_type, "proc") == 0) {
- strlcpy(proc_path, mntent->mnt_dir, sizeof(proc_path));
- proc_path_len = strlen(proc_path);
- break;
- }
- }
- fclose (fp);
- }
- }
-
- strlcpy(proc_path + proc_path_len, tail,
- sizeof(proc_path) - proc_path_len);
- return proc_path;
-}
-
-/*
- * /proc/net/route parsing stuff.
- */
-#define ROUTE_MAX_COLS 12
-FILE *route_fd = (FILE *) 0;
-static char route_buffer[512];
-static int route_dev_col, route_dest_col, route_gw_col;
-static int route_flags_col, route_mask_col;
-static int route_num_cols;
-
-static int open_route_table (void);
-static void close_route_table (void);
-static int read_route_table (struct rtentry *rt);
-
-/********************************************************************
- *
- * close_route_table - close the interface to the route table
- */
-
-static void close_route_table (void)
-{
- if (route_fd != (FILE *) 0) {
- fclose (route_fd);
- route_fd = (FILE *) 0;
- }
-}
-
-/********************************************************************
- *
- * open_route_table - open the interface to the route table
- */
-static char route_delims[] = " \t\n";
-
-static int open_route_table (void)
-{
- char *path;
-
- close_route_table();
-
- path = path_to_procfs("/net/route");
- route_fd = fopen (path, "r");
- if (route_fd == NULL) {
- error("can't open routing table %s: %m", path);
- return 0;
- }
-
- route_dev_col = 0; /* default to usual columns */
- route_dest_col = 1;
- route_gw_col = 2;
- route_flags_col = 3;
- route_mask_col = 7;
- route_num_cols = 8;
-
- /* parse header line */
- if (fgets(route_buffer, sizeof(route_buffer), route_fd) != 0) {
- char *p = route_buffer, *q;
- int col;
- for (col = 0; col < ROUTE_MAX_COLS; ++col) {
- int used = 1;
- if ((q = strtok(p, route_delims)) == 0)
- break;
- if (strcasecmp(q, "iface") == 0)
- route_dev_col = col;
- else if (strcasecmp(q, "destination") == 0)
- route_dest_col = col;
- else if (strcasecmp(q, "gateway") == 0)
- route_gw_col = col;
- else if (strcasecmp(q, "flags") == 0)
- route_flags_col = col;
- else if (strcasecmp(q, "mask") == 0)
- route_mask_col = col;
- else
- used = 0;
- if (used && col >= route_num_cols)
- route_num_cols = col + 1;
- p = NULL;
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * read_route_table - read the next entry from the route table
- */
-
-static int read_route_table(struct rtentry *rt)
-{
- char *cols[ROUTE_MAX_COLS], *p;
- int col;
-
- memset (rt, '\0', sizeof (struct rtentry));
-
- if (fgets (route_buffer, sizeof (route_buffer), route_fd) == (char *) 0)
- return 0;
-
- p = route_buffer;
- for (col = 0; col < route_num_cols; ++col) {
- cols[col] = strtok(p, route_delims);
- if (cols[col] == NULL)
- return 0; /* didn't get enough columns */
- p = NULL;
- }
-
- SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
- SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
- SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
-
- rt->rt_flags = (short) strtoul(cols[route_flags_col], NULL, 16);
- rt->rt_dev = cols[route_dev_col];
-
- return 1;
-}
-
-/********************************************************************
- *
- * defaultroute_exists - determine if there is a default route
- */
-
-static int defaultroute_exists (struct rtentry *rt)
-{
- int result = 0;
-
- if (!open_route_table())
- return 0;
-
- while (read_route_table(rt) != 0) {
- if ((rt->rt_flags & RTF_UP) == 0)
- continue;
-
- if (kernel_version > KVERSION(2,1,0) && SIN_ADDR(rt->rt_genmask) != 0)
- continue;
- if (SIN_ADDR(rt->rt_dst) == 0L) {
- result = 1;
- break;
- }
- }
-
- close_route_table();
- return result;
-}
-
-/*
- * have_route_to - determine if the system has any route to
- * a given IP address. `addr' is in network byte order.
- * Return value is 1 if yes, 0 if no, -1 if don't know.
- * For demand mode to work properly, we have to ignore routes
- * through our own interface.
- */
-int have_route_to(u_int32_t addr)
-{
- struct rtentry rt;
- int result = 0;
-
- if (!open_route_table())
- return -1; /* don't know */
-
- while (read_route_table(&rt)) {
- if ((rt.rt_flags & RTF_UP) == 0 || strcmp(rt.rt_dev, ifname) == 0)
- continue;
- if ((addr & SIN_ADDR(rt.rt_genmask)) == SIN_ADDR(rt.rt_dst)) {
- result = 1;
- break;
- }
- }
-
- close_route_table();
- return result;
-}
-
-/********************************************************************
- *
- * sifdefaultroute - assign a default route through the address given.
- */
-
-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
- u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
-
- if (old_gateway != gateway)
- error("not replacing existing default route to %s [%I]",
- rt.rt_dev, old_gateway);
- return 0;
- }
-
- memset (&rt, '\0', sizeof (rt));
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = 0L;
- }
-
- SIN_ADDR(rt.rt_gateway) = gateway;
-
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
- if ( ! ok_error ( errno ))
- error("default route ioctl(SIOCADDRT): %m(%d)", errno);
- return 0;
- }
-
- default_route_gateway = gateway;
- return 1;
-}
-
-/********************************************************************
- *
- * cifdefaultroute - delete a default route through the address given.
- */
-
-int cifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- default_route_gateway = 0;
-
- memset (&rt, '\0', sizeof (rt));
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = 0L;
- }
-
- SIN_ADDR(rt.rt_gateway) = gateway;
-
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
- if (still_ppp()) {
- if ( ! ok_error ( errno ))
- error("default route ioctl(SIOCDELRT): %m (%d)", errno);
- return 0;
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifproxyarp - Make a proxy ARP entry for the peer.
- */
-
-int sifproxyarp (int unit, u_int32_t his_adr)
-{
- struct arpreq arpreq;
- char *forw_path;
-
- if (has_proxy_arp == 0) {
- memset (&arpreq, '\0', sizeof(arpreq));
-
- SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
- SIN_ADDR(arpreq.arp_pa) = his_adr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
-/*
- * Get the hardware address of an interface on the same subnet
- * as our local address.
- */
- if (!get_ether_addr(his_adr, &arpreq.arp_ha, proxy_arp_dev,
- sizeof(proxy_arp_dev))) {
- error("Cannot determine ethernet address for proxy ARP");
- return 0;
- }
- strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
-
- if (ioctl(sock_fd, SIOCSARP, (caddr_t)&arpreq) < 0) {
- if ( ! ok_error ( errno ))
- error("ioctl(SIOCSARP): %m(%d)", errno);
- return 0;
- }
- proxy_arp_addr = his_adr;
- has_proxy_arp = 1;
-
- if (tune_kernel) {
- forw_path = path_to_procfs("/sys/net/ipv4/ip_forward");
- if (forw_path != 0) {
- int fd = open(forw_path, O_WRONLY);
- if (fd >= 0) {
- if (write(fd, "1", 1) != 1)
- error("Couldn't enable IP forwarding: %m");
- close(fd);
- }
- }
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * cifproxyarp - Delete the proxy ARP entry for the peer.
- */
-
-int cifproxyarp (int unit, u_int32_t his_adr)
-{
- struct arpreq arpreq;
-
- if (has_proxy_arp) {
- has_proxy_arp = 0;
- memset (&arpreq, '\0', sizeof(arpreq));
- SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
- SIN_ADDR(arpreq.arp_pa) = his_adr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
- strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
-
- if (ioctl(sock_fd, SIOCDARP, (caddr_t)&arpreq) < 0) {
- if ( ! ok_error ( errno ))
- warn("ioctl(SIOCDARP): %m(%d)", errno);
- return 0;
- }
- }
- return 1;
-}
-
-/********************************************************************
- *
- * get_ether_addr - get the hardware address of an interface on the
- * the same subnet as ipaddr.
- */
-
-static int get_ether_addr (u_int32_t ipaddr,
- struct sockaddr *hwaddr,
- char *name, int namelen)
-{
- struct ifreq *ifr, *ifend;
- u_int32_t ina, mask;
- char *aliasp;
- struct ifreq ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
-
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
- if ( ! ok_error ( errno ))
- error("ioctl(SIOCGIFCONF): %m(%d)", errno);
- return 0;
- }
-
- SYSDEBUG ((LOG_DEBUG, "proxy arp: scanning %d interfaces for IP %s",
- ifc.ifc_len / sizeof(struct ifreq), ip_ntoa(ipaddr)));
-/*
- * Scan through looking for an interface with an Internet
- * address on the same subnet as `ipaddr'.
- */
- ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
- if (ifr->ifr_addr.sa_family == AF_INET) {
- ina = SIN_ADDR(ifr->ifr_addr);
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- SYSDEBUG ((LOG_DEBUG, "proxy arp: examining interface %s",
- ifreq.ifr_name));
-/*
- * Check that the interface is up, and not point-to-point
- * nor loopback.
- */
- if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
-
- if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
- continue;
-/*
- * Get its netmask and check that it's on the right subnet.
- */
- if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
-
- mask = SIN_ADDR(ifreq.ifr_addr);
- SYSDEBUG ((LOG_DEBUG, "proxy arp: interface addr %s mask %lx",
- ip_ntoa(ina), ntohl(mask)));
-
- if (((ipaddr ^ ina) & mask) != 0)
- continue;
- break;
- }
- }
-
- if (ifr >= ifend)
- return 0;
-
- strlcpy(name, ifreq.ifr_name, namelen);
-
- /* trim off the :1 in eth0:1 */
- aliasp = strchr(name, ':');
- if (aliasp != 0)
- *aliasp = 0;
-
- info("found interface %s for proxy arp", name);
-/*
- * Now get the hardware address.
- */
- memset (&ifreq.ifr_hwaddr, 0, sizeof (struct sockaddr));
- if (ioctl (sock_fd, SIOCGIFHWADDR, &ifreq) < 0) {
- error("SIOCGIFHWADDR(%s): %m(%d)", ifreq.ifr_name, errno);
- return 0;
- }
-
- memcpy (hwaddr,
- &ifreq.ifr_hwaddr,
- sizeof (struct sockaddr));
-
- SYSDEBUG ((LOG_DEBUG,
- "proxy arp: found hwaddr %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
- (int) ((unsigned char *) &hwaddr->sa_data)[0],
- (int) ((unsigned char *) &hwaddr->sa_data)[1],
- (int) ((unsigned char *) &hwaddr->sa_data)[2],
- (int) ((unsigned char *) &hwaddr->sa_data)[3],
- (int) ((unsigned char *) &hwaddr->sa_data)[4],
- (int) ((unsigned char *) &hwaddr->sa_data)[5],
- (int) ((unsigned char *) &hwaddr->sa_data)[6],
- (int) ((unsigned char *) &hwaddr->sa_data)[7]));
- return 1;
-}
-
-/*
- * get_if_hwaddr - get the hardware address for the specified
- * network interface device.
- */
-int
-get_if_hwaddr(u_char *addr, char *name)
-{
- struct ifreq ifreq;
- int ret, sock_fd;
-
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock_fd < 0)
- return 0;
- memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
- strlcpy(ifreq.ifr_name, name, sizeof(ifreq.ifr_name));
- ret = ioctl(sock_fd, SIOCGIFHWADDR, &ifreq);
- close(sock_fd);
- if (ret >= 0)
- memcpy(addr, ifreq.ifr_hwaddr.sa_data, 6);
- return ret;
-}
-
-/*
- * get_first_ethernet - return the name of the first ethernet-style
- * interface on this system.
- */
-char *
-get_first_ethernet()
-{
- return "eth0";
-}
-
-/********************************************************************
- *
- * Return user specified netmask, modified by any mask we might determine
- * for address `addr' (in network byte order).
- * Here we scan through the system's list of interfaces, looking for
- * any non-point-to-point interfaces which might appear to be on the same
- * network as `addr'. If we find any, we OR in their netmask to the
- * user-specified netmask.
- */
-
-u_int32_t GetMask (u_int32_t addr)
-{
- u_int32_t mask, nmask, ina;
- struct ifreq *ifr, *ifend, ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
-
- addr = ntohl(addr);
-
- if (IN_CLASSA(addr)) /* determine network mask for address class */
- nmask = IN_CLASSA_NET;
- else if (IN_CLASSB(addr))
- nmask = IN_CLASSB_NET;
- else
- nmask = IN_CLASSC_NET;
-
- /* class D nets are disallowed by bad_ip_adrs */
- mask = netmask | htonl(nmask);
-/*
- * Scan through the system's network interfaces.
- */
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
- if ( ! ok_error ( errno ))
- warn("ioctl(SIOCGIFCONF): %m(%d)", errno);
- return mask;
- }
-
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
-/*
- * Check the interface's internet address.
- */
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- ina = SIN_ADDR(ifr->ifr_addr);
- if (((ntohl(ina) ^ addr) & nmask) != 0)
- continue;
-/*
- * Check that the interface is up, and not point-to-point nor loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
-
- if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
- continue;
-/*
- * Get its netmask and OR it into our mask.
- */
- if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- mask |= SIN_ADDR(ifreq.ifr_addr);
- break;
- }
- return mask;
-}
-
-/********************************************************************
- *
- * Internal routine to decode the version.modification.patch level
- */
-
-static void decode_version (char *buf, int *version,
- int *modification, int *patch)
-{
- char *endp;
-
- *version = (int) strtoul (buf, &endp, 10);
- *modification = 0;
- *patch = 0;
-
- if (endp != buf && *endp == '.') {
- buf = endp + 1;
- *modification = (int) strtoul (buf, &endp, 10);
- if (endp != buf && *endp == '.') {
- buf = endp + 1;
- *patch = (int) strtoul (buf, &buf, 10);
- }
- }
-}
-
-/********************************************************************
- *
- * Procedure to determine if the PPP line discipline is registered.
- */
-
-static int
-ppp_registered(void)
-{
- int local_fd;
- int mfd = -1;
- int ret = 0;
- char slave[16];
-
- /*
- * We used to open the serial device and set it to the ppp line
- * discipline here, in order to create a ppp unit. But that is
- * not a good idea - the user might have specified a device that
- * they can't open (permission, or maybe it doesn't really exist).
- * So we grab a pty master/slave pair and use that.
- */
- if (!get_pty(&mfd, &local_fd, slave, 0)) {
- no_ppp_msg = "Couldn't determine if PPP is supported (no free ptys)";
- return 0;
- }
-
- /*
- * Try to put the device into the PPP discipline.
- */
- if (ioctl(local_fd, TIOCSETD, &ppp_disc) < 0) {
- error("ioctl(TIOCSETD(PPP)): %m(%d)", errno);
- } else
- ret = 1;
-
- close(local_fd);
- close(mfd);
- return ret;
-}
-
-/********************************************************************
- *
- * ppp_available - check whether the system has any ppp interfaces
- * (in fact we check whether we can do an ioctl on ppp0).
- */
-
-int ppp_available(void)
-{
- int s, ok, fd;
- struct ifreq ifr;
- int size;
- int my_version, my_modification, my_patch;
- int osmaj, osmin, ospatch;
-
- no_ppp_msg =
- "This system lacks kernel support for PPP. This could be because\n"
- "the PPP kernel module could not be loaded, or because PPP was not\n"
- "included in the kernel configuration. If PPP was included as a\n"
- "module, try `/sbin/modprobe -v ppp'. If that fails, check that\n"
- "ppp.o exists in /lib/modules/`uname -r`/net.\n"
- "See README.linux file in the ppp distribution for more details.\n";
-
- /* get the kernel version now, since we are called before sys_init */
- uname(&utsname);
- osmaj = osmin = ospatch = 0;
- sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
- kernel_version = KVERSION(osmaj, osmin, ospatch);
-
- fd = open("/dev/ppp", O_RDWR);
-#if 0
- if (fd < 0 && errno == ENOENT) {
- /* try making it and see if that helps. */
- if (mknod("/dev/ppp", S_IFCHR | S_IRUSR | S_IWUSR,
- makedev(108, 0)) >= 0) {
- fd = open("/dev/ppp", O_RDWR);
- if (fd >= 0)
- info("Created /dev/ppp device node");
- else
- unlink("/dev/ppp"); /* didn't work, undo the mknod */
- } else if (errno == EEXIST) {
- fd = open("/dev/ppp", O_RDWR);
- }
- }
-#endif /* 0 */
- if (fd >= 0) {
- new_style_driver = 1;
-
- /* XXX should get from driver */
- driver_version = 2;
- driver_modification = 4;
- driver_patch = 0;
- close(fd);
- return 1;
- }
- if (kernel_version >= KVERSION(2,3,13)) {
- if (errno == ENOENT)
- no_ppp_msg =
- "pppd is unable to open the /dev/ppp device.\n"
- "You need to create the /dev/ppp device node by\n"
- "executing the following command as root:\n"
- " mknod /dev/ppp c 108 0\n";
- return 0;
- }
-
-/*
- * Open a socket for doing the ioctl operations.
- */
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0)
- return 0;
-
- strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
- ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
-/*
- * If the device did not exist then attempt to create one by putting the
- * current tty into the PPP discipline. If this works then obtain the
- * flags for the device again.
- */
- if (!ok) {
- if (ppp_registered()) {
- strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
- ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
- }
- }
-/*
- * Ensure that the hardware address is for PPP and not something else
- */
- if (ok)
- ok = ioctl (s, SIOCGIFHWADDR, (caddr_t) &ifr) >= 0;
-
- if (ok && ((ifr.ifr_hwaddr.sa_family & ~0xFF) != ARPHRD_PPP))
- ok = 0;
-
-/*
- * This is the PPP device. Validate the version of the driver at this
- * point to ensure that this program will work with the driver.
- */
- if (ok) {
- char abBuffer [1024];
-
- ifr.ifr_data = abBuffer;
- size = ioctl (s, SIOCGPPPVER, (caddr_t) &ifr);
- if (size < 0) {
- error("Couldn't read driver version: %m");
- ok = 0;
- no_ppp_msg = "Sorry, couldn't verify kernel driver version\n";
-
- } else {
- decode_version(abBuffer,
- &driver_version,
- &driver_modification,
- &driver_patch);
-/*
- * Validate the version of the driver against the version that we used.
- */
- decode_version(VERSION,
- &my_version,
- &my_modification,
- &my_patch);
-
- /* The version numbers must match */
- if (driver_version != my_version)
- ok = 0;
-
- /* The modification levels must be legal */
- if (driver_modification < 3) {
- if (driver_modification >= 2) {
- /* we can cope with 2.2.0 and above */
- driver_is_old = 1;
- } else {
- ok = 0;
- }
- }
-
- close (s);
- if (!ok) {
- slprintf(route_buffer, sizeof(route_buffer),
- "Sorry - PPP driver version %d.%d.%d is out of date\n",
- driver_version, driver_modification, driver_patch);
-
- no_ppp_msg = route_buffer;
- }
- }
- }
- return ok;
-}
-
-/********************************************************************
- *
- * Update the wtmp file with the appropriate user name and tty device.
- */
-
-void logwtmp (const char *line, const char *name, const char *host)
-{
- struct utmp ut, *utp;
- pid_t mypid = getpid();
-#if __GLIBC__ < 2
- int wtmp;
-#endif
-
-/*
- * Update the signon database for users.
- * Christoph Lameter: Copied from poeigl-1.36 Jan 3, 1996
- */
- utmpname(_PATH_UTMP);
- setutent();
- while ((utp = getutent()) && (utp->ut_pid != mypid))
- /* nothing */;
-
- /* Is this call really necessary? There is another one after the 'put' */
- endutent();
-
- if (utp)
- memcpy(&ut, utp, sizeof(ut));
- else
- /* some gettys/telnetds don't initialize utmp... */
- memset(&ut, 0, sizeof(ut));
-
- if (ut.ut_id[0] == 0)
- strncpy(ut.ut_id, line + 3, sizeof(ut.ut_id));
-
- strncpy(ut.ut_user, name, sizeof(ut.ut_user));
- strncpy(ut.ut_line, line, sizeof(ut.ut_line));
-
- time(&ut.ut_time);
-
- ut.ut_type = USER_PROCESS;
- ut.ut_pid = mypid;
-
- /* Insert the host name if one is supplied */
- if (*host)
- strncpy (ut.ut_host, host, sizeof(ut.ut_host));
-
- /* Insert the IP address of the remote system if IP is enabled */
- if (ipcp_protent.enabled_flag && ipcp_hisoptions[0].neg_addr)
- memcpy(&ut.ut_addr, (char *) &ipcp_hisoptions[0].hisaddr,
- sizeof(ut.ut_addr));
-
- /* CL: Makes sure that the logout works */
- if (*host == 0 && *name==0)
- ut.ut_host[0]=0;
-
- pututline(&ut);
- endutent();
-/*
- * Update the wtmp file.
- */
-#if __GLIBC__ >= 2
- updwtmp(_PATH_WTMP, &ut);
-#else
- wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY);
- if (wtmp >= 0) {
- flock(wtmp, LOCK_EX);
-
- if (write (wtmp, (char *)&ut, sizeof(ut)) != sizeof(ut))
- warn("error writing %s: %m", _PATH_WTMP);
-
- flock(wtmp, LOCK_UN);
-
- close (wtmp);
- }
-#endif
-}
-
-
-/********************************************************************
- *
- * sifvjcomp - config tcp header compression
- */
-
-int sifvjcomp (int u, int vjcomp, int cidcomp, int maxcid)
-{
- u_int x = get_flags(ppp_dev_fd);
-
- if (vjcomp) {
- if (ioctl (ppp_dev_fd, PPPIOCSMAXCID, (caddr_t) &maxcid) < 0) {
- if (! ok_error (errno))
- error("ioctl(PPPIOCSMAXCID): %m(%d)", errno);
- vjcomp = 0;
- }
- }
-
- x = vjcomp ? x | SC_COMP_TCP : x &~ SC_COMP_TCP;
- x = cidcomp ? x & ~SC_NO_TCP_CCID : x | SC_NO_TCP_CCID;
- set_flags (ppp_dev_fd, x);
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifup - Config the interface up and enable IP packets to pass.
- */
-
-int sifup(int u)
-{
- struct ifreq ifr;
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
- return 0;
- }
-
- ifr.ifr_flags |= (IFF_UP | IFF_POINTOPOINT);
- if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
- return 0;
- }
- if_is_up++;
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifdown - Disable the indicated protocol and config the interface
- * down if there are no remaining protocols.
- */
-
-int sifdown (int u)
-{
- struct ifreq ifr;
-
- if (if_is_up && --if_is_up > 0)
- return 1;
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
- return 0;
- }
-
- ifr.ifr_flags &= ~IFF_UP;
- ifr.ifr_flags |= IFF_POINTOPOINT;
- if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
- return 0;
- }
- return 1;
-}
-
-/********************************************************************
- *
- * sifaddr - Config the interface IP addresses and netmask.
- */
-
-int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr,
- u_int32_t net_mask)
-{
- struct ifreq ifr;
- struct rtentry rt;
-
- memset (&ifr, '\0', sizeof (ifr));
- memset (&rt, '\0', sizeof (rt));
-
- SET_SA_FAMILY (ifr.ifr_addr, AF_INET);
- SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET);
- SET_SA_FAMILY (ifr.ifr_netmask, AF_INET);
-
- strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
-/*
- * Set our IP address
- */
- SIN_ADDR(ifr.ifr_addr) = our_adr;
- if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (errno != EEXIST) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFADDR): %m(%d)", errno);
- }
- else {
- warn("ioctl(SIOCSIFADDR): Address already exists");
- }
- return (0);
- }
-/*
- * Set the gateway address
- */
- SIN_ADDR(ifr.ifr_dstaddr) = his_adr;
- if (ioctl(sock_fd, SIOCSIFDSTADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFDSTADDR): %m(%d)", errno);
- return (0);
- }
-/*
- * Set the netmask.
- * For recent kernels, force the netmask to 255.255.255.255.
- */
- if (kernel_version >= KVERSION(2,1,16))
- net_mask = ~0L;
- if (net_mask != 0) {
- SIN_ADDR(ifr.ifr_netmask) = net_mask;
- if (ioctl(sock_fd, SIOCSIFNETMASK, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFNETMASK): %m(%d)", errno);
- return (0);
- }
- }
-/*
- * Add the device route
- */
- if (kernel_version < KVERSION(2,1,16)) {
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
- rt.rt_dev = ifname;
-
- SIN_ADDR(rt.rt_gateway) = 0L;
- SIN_ADDR(rt.rt_dst) = his_adr;
- rt.rt_flags = RTF_UP | RTF_HOST;
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = -1L;
- }
-
- if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCADDRT) device route: %m(%d)", errno);
- return (0);
- }
- }
-
- /* set ip_dynaddr in demand mode if address changes */
- if (demand && tune_kernel && !dynaddr_set
- && our_old_addr && our_old_addr != our_adr) {
- /* set ip_dynaddr if possible */
- char *path;
- int fd;
-
- path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
- if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) {
- if (write(fd, "1", 1) != 1)
- error("Couldn't enable dynamic IP addressing: %m");
- close(fd);
- }
- dynaddr_set = 1; /* only 1 attempt */
- }
- our_old_addr = 0;
-
- return 1;
-}
-
-/********************************************************************
- *
- * cifaddr - Clear the interface IP addresses, and delete routes
- * through the interface if possible.
- */
-
-int cifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr)
-{
- struct ifreq ifr;
-
- if (kernel_version < KVERSION(2,1,16)) {
-/*
- * Delete the route through the device
- */
- struct rtentry rt;
- memset (&rt, '\0', sizeof (rt));
-
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
- rt.rt_dev = ifname;
-
- SIN_ADDR(rt.rt_gateway) = 0;
- SIN_ADDR(rt.rt_dst) = his_adr;
- rt.rt_flags = RTF_UP | RTF_HOST;
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = -1L;
- }
-
- if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
- if (still_ppp() && ! ok_error (errno))
- error("ioctl(SIOCDELRT) device route: %m(%d)", errno);
- return (0);
- }
- }
-
- /* This way it is possible to have an IPX-only or IPv6-only interface */
- memset(&ifr, 0, sizeof(ifr));
- SET_SA_FAMILY(ifr.ifr_addr, AF_INET);
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno)) {
- error("ioctl(SIOCSIFADDR): %m(%d)", errno);
- return 0;
- }
- }
-
- our_old_addr = our_adr;
-
- return 1;
-}
-
-#ifdef INET6
-/********************************************************************
- *
- * sif6addr - Config the interface with an IPv6 link-local address
- */
-int sif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
-{
- struct in6_ifreq ifr6;
- struct ifreq ifr;
- struct in6_rtmsg rt6;
-
- if (sock6_fd < 0) {
- errno = -sock6_fd;
- error("IPv6 socket creation failed: %m");
- return 0;
- }
- memset(&ifr, 0, sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
- error("sif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
- return 0;
- }
-
- /* Local interface */
- memset(&ifr6, 0, sizeof(ifr6));
- IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = 10;
-
- if (ioctl(sock6_fd, SIOCSIFADDR, &ifr6) < 0) {
- error("sif6addr: ioctl(SIOCSIFADDR): %m (%d)", errno);
- return 0;
- }
-
- /* Route to remote host */
- memset(&rt6, 0, sizeof(rt6));
- IN6_LLADDR_FROM_EUI64(rt6.rtmsg_dst, his_eui64);
- rt6.rtmsg_flags = RTF_UP;
- rt6.rtmsg_dst_len = 10;
- rt6.rtmsg_ifindex = ifr.ifr_ifindex;
- rt6.rtmsg_metric = 1;
-
- if (ioctl(sock6_fd, SIOCADDRT, &rt6) < 0) {
- error("sif6addr: ioctl(SIOCADDRT): %m (%d)", errno);
- return 0;
- }
-
- return 1;
-}
-
-
-/********************************************************************
- *
- * cif6addr - Remove IPv6 address from interface
- */
-int cif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
-{
- struct ifreq ifr;
- struct in6_ifreq ifr6;
-
- if (sock6_fd < 0) {
- errno = -sock6_fd;
- error("IPv6 socket creation failed: %m");
- return 0;
- }
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
- error("cif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
- return 0;
- }
-
- memset(&ifr6, 0, sizeof(ifr6));
- IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = 10;
-
- if (ioctl(sock6_fd, SIOCDIFADDR, &ifr6) < 0) {
- if (errno != EADDRNOTAVAIL) {
- if (! ok_error (errno))
- error("cif6addr: ioctl(SIOCDIFADDR): %m (%d)", errno);
- }
- else {
- warn("cif6addr: ioctl(SIOCDIFADDR): No such address");
- }
- return (0);
- }
- return 1;
-}
-#endif /* INET6 */
-
-/*
- * get_pty - get a pty master/slave pair and chown the slave side
- * to the uid given. Assumes slave_name points to >= 16 bytes of space.
- */
-int
-get_pty(master_fdp, slave_fdp, slave_name, uid)
- int *master_fdp;
- int *slave_fdp;
- char *slave_name;
- int uid;
-{
- int i, mfd, sfd = -1;
- char pty_name[16];
- struct termios tios;
-
-#ifdef TIOCGPTN
- /*
- * Try the unix98 way first.
- */
- mfd = open("/dev/ptmx", O_RDWR);
- if (mfd >= 0) {
- int ptn;
- if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pts/%d", ptn);
- chmod(pty_name, S_IRUSR | S_IWUSR);
-#ifdef TIOCSPTLCK
- ptn = 0;
- if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0)
- warn("Couldn't unlock pty slave %s: %m", pty_name);
-#endif
- if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0)
- warn("Couldn't open pty slave %s: %m", pty_name);
- }
- }
-#endif /* TIOCGPTN */
-
- if (sfd < 0) {
- /* the old way - scan through the pty name space */
- for (i = 0; i < 64; ++i) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
- 'p' + i / 16, i % 16);
- mfd = open(pty_name, O_RDWR, 0);
- if (mfd >= 0) {
- pty_name[5] = 't';
- sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
- if (sfd >= 0) {
- fchown(sfd, uid, -1);
- fchmod(sfd, S_IRUSR | S_IWUSR);
- break;
- }
- close(mfd);
- }
- }
- }
-
- if (sfd < 0)
- return 0;
-
- strlcpy(slave_name, pty_name, 16);
- *master_fdp = mfd;
- *slave_fdp = sfd;
- if (tcgetattr(sfd, &tios) == 0) {
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
- tios.c_cflag |= CS8 | CREAD | CLOCAL;
- tios.c_iflag = IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
- warn("couldn't set attributes on pty: %m");
- } else
- warn("couldn't get attributes on pty: %m");
-
- return 1;
-}
-
-/********************************************************************
- *
- * open_loopback - open the device we use for getting packets
- * in demand mode. Under Linux, we use a pty master/slave pair.
- */
-int
-open_ppp_loopback(void)
-{
- int flags;
-
- looped = 1;
- if (new_style_driver) {
- /* allocate ourselves a ppp unit */
- if (make_ppp_unit() < 0)
- die(1);
- set_flags(ppp_dev_fd, SC_LOOP_TRAFFIC);
- set_kdebugflag(kdebugflag);
- ppp_fd = -1;
- return ppp_dev_fd;
- }
-
- if (!get_pty(&master_fd, &slave_fd, loop_name, 0))
- fatal("No free pty for loopback");
- SYSDEBUG(("using %s for loopback", loop_name));
-
- set_ppp_fd(slave_fd);
-
- flags = fcntl(master_fd, F_GETFL);
- if (flags == -1 ||
- fcntl(master_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set master loopback to nonblock: %m(%d)", errno);
-
- flags = fcntl(ppp_fd, F_GETFL);
- if (flags == -1 ||
- fcntl(ppp_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set slave loopback to nonblock: %m(%d)", errno);
-
- if (ioctl(ppp_fd, TIOCSETD, &ppp_disc) < 0)
- fatal("ioctl(TIOCSETD): %m(%d)", errno);
-/*
- * Find out which interface we were given.
- */
- if (ioctl(ppp_fd, PPPIOCGUNIT, &ifunit) < 0)
- fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
-/*
- * Enable debug in the driver if requested.
- */
- set_kdebugflag (kdebugflag);
-
- return master_fd;
-}
-
-/********************************************************************
- *
- * restore_loop - reattach the ppp unit to the loopback.
- *
- * The kernel ppp driver automatically reattaches the ppp unit to
- * the loopback if the serial port is set to a line discipline other
- * than ppp, or if it detects a modem hangup. The former will happen
- * in disestablish_ppp if the latter hasn't already happened, so we
- * shouldn't need to do anything.
- *
- * Just to be sure, set the real serial port to the normal discipline.
- */
-
-static void
-restore_loop(void)
-{
- looped = 1;
- if (new_style_driver) {
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_LOOP_TRAFFIC);
- return;
- }
- if (ppp_fd != slave_fd) {
- (void) ioctl(ppp_fd, TIOCSETD, &tty_disc);
- set_ppp_fd(slave_fd);
- }
-}
-
-/********************************************************************
- *
- * sifnpmode - Set the mode for handling packets for a given NP.
- */
-
-int
-sifnpmode(u, proto, mode)
- int u;
- int proto;
- enum NPmode mode;
-{
- struct npioctl npi;
-
- npi.protocol = proto;
- npi.mode = mode;
- if (ioctl(ppp_dev_fd, PPPIOCSNPMODE, (caddr_t) &npi) < 0) {
- if (! ok_error (errno))
- error("ioctl(PPPIOCSNPMODE, %d, %d): %m (%d)",
- proto, mode, errno);
- return 0;
- }
- return 1;
-}
-
-
-/********************************************************************
- *
- * sipxfaddr - Config the interface IPX networknumber
- */
-
-int sipxfaddr (int unit, unsigned long int network, unsigned char * node )
-{
- int result = 1;
-
-#ifdef IPX_CHANGE
- int skfd;
- struct ifreq ifr;
- struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
-
- skfd = socket (AF_IPX, SOCK_DGRAM, 0);
- if (skfd < 0) {
- if (! ok_error (errno))
- dbglog("socket(AF_IPX): %m (%d)", errno);
- result = 0;
- }
- else {
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- memcpy (sipx->sipx_node, node, IPX_NODE_LEN);
- sipx->sipx_family = AF_IPX;
- sipx->sipx_port = 0;
- sipx->sipx_network = htonl (network);
- sipx->sipx_type = IPX_FRAME_ETHERII;
- sipx->sipx_action = IPX_CRTITF;
-/*
- * Set the IPX device
- */
- if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- result = 0;
- if (errno != EEXIST) {
- if (! ok_error (errno))
- dbglog("ioctl(SIOCSIFADDR, CRTITF): %m (%d)", errno);
- }
- else {
- warn("ioctl(SIOCSIFADDR, CRTITF): Address already exists");
- }
- }
- close (skfd);
- }
-#endif
- return result;
-}
-
-/********************************************************************
- *
- * cipxfaddr - Clear the information for the IPX network. The IPX routes
- * are removed and the device is no longer able to pass IPX
- * frames.
- */
-
-int cipxfaddr (int unit)
-{
- int result = 1;
-
-#ifdef IPX_CHANGE
- int skfd;
- struct ifreq ifr;
- struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
-
- skfd = socket (AF_IPX, SOCK_DGRAM, 0);
- if (skfd < 0) {
- if (! ok_error (errno))
- dbglog("socket(AF_IPX): %m (%d)", errno);
- result = 0;
- }
- else {
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- sipx->sipx_type = IPX_FRAME_ETHERII;
- sipx->sipx_action = IPX_DLTITF;
- sipx->sipx_family = AF_IPX;
-/*
- * Set the IPX device
- */
- if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- info("ioctl(SIOCSIFADDR, IPX_DLTITF): %m (%d)", errno);
- result = 0;
- }
- close (skfd);
- }
-#endif
- return result;
-}
-
-/*
- * Use the hostname as part of the random number seed.
- */
-int
-get_host_seed()
-{
- int h;
- char *p = hostname;
-
- h = 407;
- for (p = hostname; *p != 0; ++p)
- h = h * 37 + *p;
- return h;
-}
-
-/********************************************************************
- *
- * sys_check_options - check the options that the user specified
- */
-
-int
-sys_check_options(void)
-{
-#ifdef IPX_CHANGE
-/*
- * Disable the IPX protocol if the support is not present in the kernel.
- */
- char *path;
-
- if (ipxcp_protent.enabled_flag) {
- struct stat stat_buf;
- if ((path = path_to_procfs("/net/ipx_interface")) == 0
- || lstat(path, &stat_buf) < 0) {
- error("IPX support is not present in the kernel\n");
- ipxcp_protent.enabled_flag = 0;
- }
- }
-#endif
- if (demand && driver_is_old) {
- option_error("demand dialling is not supported by kernel driver "
- "version %d.%d.%d", driver_version, driver_modification,
- driver_patch);
- return 0;
- }
- if (multilink && !new_style_driver) {
- warn("Warning: multilink is not supported by the kernel driver");
- multilink = 0;
- }
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/sys-solaris.c b/mdk-stage1/ppp/pppd/sys-solaris.c
deleted file mode 100644
index da5f9c45a..000000000
--- a/mdk-stage1/ppp/pppd/sys-solaris.c
+++ /dev/null
@@ -1,2737 +0,0 @@
-/*
- * System-dependent procedures for pppd under Solaris 2.
- *
- * Parts re-written by Adi Masputra <adi.masputra@sun.com>, based on
- * the original sys-svr4.c
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies.
- *
- * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-#define RCSID "$Id$"
-
-#include <limits.h>
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <termios.h>
-#ifndef CRTSCTS
-#include <sys/termiox.h>
-#endif
-#include <signal.h>
-#include <utmpx.h>
-#include <sys/types.h>
-#include <sys/ioccom.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/sysmacros.h>
-#include <sys/systeminfo.h>
-#include <sys/dlpi.h>
-#include <sys/stat.h>
-#include <sys/mkdev.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/route.h>
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include <netinet/in.h>
-#ifdef SOL2
-#include <sys/tihdr.h>
-#include <sys/tiuser.h>
-#include <inet/common.h>
-#include <inet/mib2.h>
-#include <sys/ethernet.h>
-#endif
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "ipcp.h"
-#include "ccp.h"
-
-#if !defined(PPP_DRV_NAME)
-#define PPP_DRV_NAME "ppp"
-#endif /* !defined(PPP_DRV_NAME) */
-
-#if !defined(PPP_DEV_NAME)
-#define PPP_DEV_NAME "/dev/" PPP_DRV_NAME
-#endif /* !defined(PPP_DEV_NAME) */
-
-#if !defined(AHDLC_MOD_NAME)
-#define AHDLC_MOD_NAME "ppp_ahdl"
-#endif /* !defined(AHDLC_MOD_NAME) */
-
-#if !defined(COMP_MOD_NAME)
-#define COMP_MOD_NAME "ppp_comp"
-#endif /* !defined(COMP_MOD_NAME) */
-
-#if !defined(IP_DEV_NAME)
-#define IP_DEV_NAME "/dev/ip"
-#endif /* !defined(IP_DEV_NAME) */
-
-#if !defined(IP_MOD_NAME)
-#define IP_MOD_NAME "ip"
-#endif /* !defined(IP_MOD_NAME) */
-
-#if !defined(UDP_DEV_NAME) && defined(SOL2)
-#define UDP_DEV_NAME "/dev/udp"
-#endif /* !defined(UDP_DEV_NAME) && defined(SOL2) */
-
-#if !defined(UDP6_DEV_NAME) && defined(SOL2)
-#define UDP6_DEV_NAME "/dev/udp6"
-#endif /* !defined(UDP6_DEV_NAME) && defined(SOL2) */
-
-static const char rcsid[] = RCSID;
-
-#if defined(SOL2)
-/*
- * "/dev/udp" is used as a multiplexor to PLINK the interface stream
- * under. It is used in place of "/dev/ip" since STREAMS will not let
- * a driver be PLINK'ed under itself, and "/dev/ip" is typically the
- * driver at the bottom of the tunneling interfaces stream.
- */
-static char *mux_dev_name = UDP_DEV_NAME;
-#else
-static char *mux_dev_name = IP_DEV_NAME;
-#endif
-static int pppfd;
-static int fdmuxid = -1;
-static int ipfd;
-static int ipmuxid = -1;
-
-#if defined(INET6) && defined(SOL2)
-static int ip6fd; /* IP file descriptor */
-static int ip6muxid = -1; /* Multiplexer file descriptor */
-static int if6_is_up = 0; /* IPv6 interface has been marked up */
-
-#define _IN6_LLX_FROM_EUI64(l, s, eui64, as) do { \
- s->sin6_addr.s6_addr32[0] = htonl(as); \
- eui64_copy(eui64, s->sin6_addr.s6_addr32[2]); \
- s->sin6_family = AF_INET6; \
- l.lifr_addr.ss_family = AF_INET6; \
- l.lifr_addrlen = 10; \
- l.lifr_addr = laddr; \
- } while (0)
-
-#define IN6_LLADDR_FROM_EUI64(l, s, eui64) \
- _IN6_LLX_FROM_EUI64(l, s, eui64, 0xfe800000)
-
-#define IN6_LLTOKEN_FROM_EUI64(l, s, eui64) \
- _IN6_LLX_FROM_EUI64(l, s, eui64, 0)
-
-#endif /* defined(INET6) && defined(SOL2) */
-
-#if defined(INET6) && defined(SOL2)
-static char first_ether_name[LIFNAMSIZ]; /* Solaris 8 and above */
-#else
-static char first_ether_name[IFNAMSIZ]; /* Before Solaris 8 */
-#define MAXIFS 256 /* Max # of interfaces */
-#endif /* defined(INET6) && defined(SOL2) */
-
-static int restore_term;
-static struct termios inittermios;
-#ifndef CRTSCTS
-static struct termiox inittermiox;
-static int termiox_ok;
-#endif
-static struct winsize wsinfo; /* Initial window size info */
-static pid_t tty_sid; /* original session ID for terminal */
-
-extern u_char inpacket_buf[]; /* borrowed from main.c */
-
-#define MAX_POLLFDS 32
-static struct pollfd pollfds[MAX_POLLFDS];
-static int n_pollfds;
-
-static int link_mtu, link_mru;
-
-#define NMODULES 32
-static int tty_nmodules;
-static char tty_modules[NMODULES][FMNAMESZ+1];
-static int tty_npushed;
-
-static int if_is_up; /* Interface has been marked up */
-static u_int32_t remote_addr; /* IP address of peer */
-static u_int32_t default_route_gateway; /* Gateway for default route added */
-static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
-
-/* Prototypes for procedures local to this file. */
-static int translate_speed __P((int));
-static int baud_rate_of __P((int));
-static int get_ether_addr __P((u_int32_t, struct sockaddr *));
-static int get_hw_addr __P((char *, u_int32_t, struct sockaddr *));
-static int get_hw_addr_dlpi __P((char *, struct sockaddr *));
-static int dlpi_attach __P((int, int));
-static int dlpi_info_req __P((int));
-static int dlpi_get_reply __P((int, union DL_primitives *, int, int));
-static int strioctl __P((int, int, void *, int, int));
-
-#ifdef SOL2
-/*
- * sifppa - Sets interface ppa
- *
- * without setting the ppa, ip module will return EINVAL upon setting the
- * interface UP (SIOCSxIFFLAGS). This is because ip module in 2.8 expects
- * two DLPI_INFO_REQ to be sent down to the driver (below ip) before
- * IFF_UP can be set. Plumbing the device causes one DLPI_INFO_REQ to
- * be sent down, and the second DLPI_INFO_REQ is sent upon receiving
- * IF_UNITSEL (old) or SIOCSLIFNAME (new) ioctls. Such setting of the ppa
- * is required because the ppp DLPI provider advertises itself as
- * a DLPI style 2 type, which requires a point of attachment to be
- * specified. The only way the user can specify a point of attachment
- * is via SIOCSLIFNAME or IF_UNITSEL.
- *
- * Such changes in the behavior of ip module was made to meet new or
- * evolving standards requirements.
- *
- */
-static int
-sifppa(fd, ppa)
- int fd;
- int ppa;
-{
- return (int)ioctl(fd, IF_UNITSEL, (char *)&ppa);
-}
-#endif /* SOL2 */
-
-#if defined(SOL2) && defined(INET6)
-/*
- * get_first_ethernet - returns the first Ethernet interface name found in
- * the system, or NULL if none is found
- *
- * NOTE: This is the lifreq version (Solaris 8 and above)
- */
-char *
-get_first_ethernet()
-{
- struct lifnum lifn;
- struct lifconf lifc;
- struct lifreq *plifreq;
- struct lifreq lifr;
- int fd, num_ifs, i, found;
- uint_t fl, req_size;
- char *req;
-
- fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (fd < 0) {
- return 0;
- }
-
- /*
- * Find out how many interfaces are running
- */
- lifn.lifn_family = AF_UNSPEC;
- lifn.lifn_flags = LIFC_NOXMIT;
- if (ioctl(fd, SIOCGLIFNUM, &lifn) < 0) {
- close(fd);
- error("could not determine number of interfaces: %m");
- return 0;
- }
-
- num_ifs = lifn.lifn_count;
- req_size = num_ifs * sizeof(struct lifreq);
- req = malloc(req_size);
- if (req == NULL) {
- close(fd);
- error("out of memory");
- return 0;
- }
-
- /*
- * Get interface configuration info for all interfaces
- */
- lifc.lifc_family = AF_UNSPEC;
- lifc.lifc_flags = LIFC_NOXMIT;
- lifc.lifc_len = req_size;
- lifc.lifc_buf = req;
- if (ioctl(fd, SIOCGLIFCONF, &lifc) < 0) {
- close(fd);
- free(req);
- error("SIOCGLIFCONF: %m");
- return 0;
- }
-
- /*
- * And traverse each interface to look specifically for the first
- * occurence of an Ethernet interface which has been marked up
- */
- plifreq = lifc.lifc_req;
- found = 0;
- for (i = lifc.lifc_len / sizeof(struct lifreq); i > 0; i--, plifreq++) {
-
- if (strchr(plifreq->lifr_name, ':') != NULL)
- continue;
-
- memset(&lifr, 0, sizeof(lifr));
- strncpy(lifr.lifr_name, plifreq->lifr_name, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
- close(fd);
- free(req);
- error("SIOCGLIFFLAGS: %m");
- return 0;
- }
- fl = lifr.lifr_flags;
-
- if ((fl & (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
- != (IFF_UP | IFF_BROADCAST))
- continue;
-
- found = 1;
- break;
- }
- free(req);
- close(fd);
-
- if (found) {
- strncpy(first_ether_name, lifr.lifr_name, sizeof(first_ether_name));
- return (char *)first_ether_name;
- } else
- return NULL;
-}
-#else
-/*
- * get_first_ethernet - returns the first Ethernet interface name found in
- * the system, or NULL if none is found
- *
- * NOTE: This is the ifreq version (before Solaris 8).
- */
-char *
-get_first_ethernet()
-{
- struct ifconf ifc;
- struct ifreq *pifreq;
- struct ifreq ifr;
- int fd, num_ifs, i, found;
- uint_t fl, req_size;
- char *req;
-
- fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (fd < 0) {
- return 0;
- }
-
- /*
- * Find out how many interfaces are running
- */
- if (ioctl(fd, SIOCGIFNUM, (char *)&num_ifs) < 0) {
- num_ifs = MAXIFS;
- }
-
- req_size = num_ifs * sizeof(struct ifreq);
- req = malloc(req_size);
- if (req == NULL) {
- close(fd);
- error("out of memory");
- return 0;
- }
-
- /*
- * Get interface configuration info for all interfaces
- */
- ifc.ifc_len = req_size;
- ifc.ifc_buf = req;
- if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) {
- close(fd);
- free(req);
- error("SIOCGIFCONF: %m");
- return 0;
- }
-
- /*
- * And traverse each interface to look specifically for the first
- * occurence of an Ethernet interface which has been marked up
- */
- pifreq = ifc.ifc_req;
- found = 0;
- for (i = ifc.ifc_len / sizeof(struct ifreq); i > 0; i--, pifreq++) {
-
- if (strchr(pifreq->ifr_name, ':') != NULL)
- continue;
-
- memset(&ifr, 0, sizeof(ifr));
- strncpy(ifr.ifr_name, pifreq->ifr_name, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
- close(fd);
- free(req);
- error("SIOCGIFFLAGS: %m");
- return 0;
- }
- fl = ifr.ifr_flags;
-
- if ((fl & (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
- != (IFF_UP | IFF_BROADCAST))
- continue;
-
- found = 1;
- break;
- }
- free(req);
- close(fd);
-
- if (found) {
- strncpy(first_ether_name, ifr.ifr_name, sizeof(first_ether_name));
- return (char *)first_ether_name;
- } else
- return NULL;
-}
-#endif /* defined(SOL2) && defined(INET6) */
-
-#if defined(SOL2)
-/*
- * get_if_hwaddr - get the hardware address for the specified
- * network interface device.
- */
-int
-get_if_hwaddr(u_char *addr, char *if_name)
-{
- struct sockaddr s_eth_addr;
- struct ether_addr *eth_addr = (struct ether_addr *)&s_eth_addr.sa_data;
-
- if (if_name == NULL)
- return -1;
-
- /*
- * Send DL_INFO_REQ to the driver to solicit its MAC address
- */
- if (!get_hw_addr_dlpi(if_name, &s_eth_addr)) {
- error("could not obtain hardware address for %s", if_name);
- return -1;
- }
-
- memcpy(addr, eth_addr->ether_addr_octet, 6);
- return 1;
-}
-#endif /* SOL2 */
-
-#if defined(SOL2) && defined(INET6)
-/*
- * slifname - Sets interface ppa and flags
- *
- * in addition to the comments stated in sifppa(), IFF_IPV6 bit must
- * be set in order to declare this as an IPv6 interface
- */
-static int
-slifname(fd, ppa)
- int fd;
- int ppa;
-{
- struct lifreq lifr;
- int ret;
-
- memset(&lifr, 0, sizeof(lifr));
- ret = ioctl(fd, SIOCGLIFFLAGS, &lifr);
- if (ret < 0)
- goto slifname_done;
-
- lifr.lifr_flags |= IFF_IPV6;
- lifr.lifr_flags &= ~(IFF_BROADCAST | IFF_IPV4);
- lifr.lifr_ppa = ppa;
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
-
- ret = ioctl(fd, SIOCSLIFNAME, &lifr);
-
-slifname_done:
- return ret;
-
-
-}
-
-
-/*
- * ether_to_eui64 - Convert 48-bit Ethernet address into 64-bit EUI
- *
- * walks the list of valid ethernet interfaces, and convert the first
- * found 48-bit MAC address into EUI 64. caller also assumes that
- * the system has a properly configured Ethernet interface for this
- * function to return non-zero.
- */
-int
-ether_to_eui64(eui64_t *p_eui64)
-{
- struct sockaddr s_eth_addr;
- struct ether_addr *eth_addr = (struct ether_addr *)&s_eth_addr.sa_data;
- char *if_name;
-
- if ((if_name = get_first_ethernet()) == NULL) {
- error("no persistent id can be found");
- return 0;
- }
-
- /*
- * Send DL_INFO_REQ to the driver to solicit its MAC address
- */
- if (!get_hw_addr_dlpi(if_name, &s_eth_addr)) {
- error("could not obtain hardware address for %s", if_name);
- return 0;
- }
-
- /*
- * And convert the EUI-48 into EUI-64, per RFC 2472 [sec 4.1]
- */
- p_eui64->e8[0] = (eth_addr->ether_addr_octet[0] & 0xFF) | 0x02;
- p_eui64->e8[1] = (eth_addr->ether_addr_octet[1] & 0xFF);
- p_eui64->e8[2] = (eth_addr->ether_addr_octet[2] & 0xFF);
- p_eui64->e8[3] = 0xFF;
- p_eui64->e8[4] = 0xFE;
- p_eui64->e8[5] = (eth_addr->ether_addr_octet[3] & 0xFF);
- p_eui64->e8[6] = (eth_addr->ether_addr_octet[4] & 0xFF);
- p_eui64->e8[7] = (eth_addr->ether_addr_octet[5] & 0xFF);
-
- return 1;
-}
-#endif /* defined(SOL2) && defined(INET6) */
-
-/*
- * sys_init - System-dependent initialization.
- */
-void
-sys_init()
-{
- int ifd, x;
- struct ifreq ifr;
-#if defined(INET6) && defined(SOL2)
- int i6fd;
- struct lifreq lifr;
-#endif /* defined(INET6) && defined(SOL2) */
-#if !defined(SOL2)
- struct {
- union DL_primitives prim;
- char space[64];
- } reply;
-#endif /* !defined(SOL2) */
-
- ipfd = open(mux_dev_name, O_RDWR, 0);
- if (ipfd < 0)
- fatal("Couldn't open IP device: %m");
-
-#if defined(INET6) && defined(SOL2)
- ip6fd = open(UDP6_DEV_NAME, O_RDWR, 0);
- if (ip6fd < 0)
- fatal("Couldn't open IP device (2): %m");
-#endif /* defined(INET6) && defined(SOL2) */
-
- if (default_device && !notty)
- tty_sid = getsid((pid_t)0);
-
- pppfd = open(PPP_DEV_NAME, O_RDWR | O_NONBLOCK, 0);
- if (pppfd < 0)
- fatal("Can't open %s: %m", PPP_DEV_NAME);
- if (kdebugflag & 1) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(pppfd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
-
- /* Assign a new PPA and get its unit number. */
- if (strioctl(pppfd, PPPIO_NEWPPA, &ifunit, 0, sizeof(int)) < 0)
- fatal("Can't create new PPP interface: %m");
-
-#if defined(SOL2)
- /*
- * Since sys_init() is called prior to ifname being set in main(),
- * we need to get the ifname now, otherwise slifname(), and others,
- * will fail, or maybe, I should move them to a later point ?
- * <adi.masputra@sun.com>
- */
- sprintf(ifname, PPP_DRV_NAME "%d", ifunit);
-#endif /* defined(SOL2) */
- /*
- * Open the ppp device again and link it under the ip multiplexor.
- * IP will assign a unit number which hopefully is the same as ifunit.
- * I don't know any way to be certain they will be the same. :-(
- */
- ifd = open(PPP_DEV_NAME, O_RDWR, 0);
- if (ifd < 0)
- fatal("Can't open %s (2): %m", PPP_DEV_NAME);
- if (kdebugflag & 1) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(ifd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
-
-#if defined(INET6) && defined(SOL2)
- i6fd = open(PPP_DEV_NAME, O_RDWR, 0);
- if (i6fd < 0) {
- close(ifd);
- fatal("Can't open %s (3): %m", PPP_DEV_NAME);
- }
- if (kdebugflag & 1) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(i6fd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
-#endif /* defined(INET6) && defined(SOL2) */
-
-#if defined(SOL2)
- if (ioctl(ifd, I_PUSH, IP_MOD_NAME) < 0) {
- close(ifd);
-#if defined(INET6)
- close(i6fd);
-#endif /* defined(INET6) */
- fatal("Can't push IP module: %m");
- }
-
- /*
- * Assign ppa according to the unit number returned by ppp device
- * after plumbing is completed above.
- */
- if (sifppa(ifd, ifunit) < 0) {
- close (ifd);
-#if defined(INET6)
- close(i6fd);
-#endif /* defined(INET6) */
- fatal("Can't set ppa for unit %d: %m", ifunit);
- }
-
-#if defined(INET6)
- /*
- * An IPv6 interface is created anyway, even when the user does not
- * explicitly enable it. Note that the interface will be marked
- * IPv6 during slifname().
- */
- if (ioctl(i6fd, I_PUSH, IP_MOD_NAME) < 0) {
- close(ifd);
- close(i6fd);
- fatal("Can't push IP module (2): %m");
- }
-
- /*
- * Assign ppa according to the unit number returned by ppp device
- * after plumbing is completed above. In addition, mark the interface
- * as an IPv6 interface.
- */
- if (slifname(i6fd, ifunit) < 0) {
- close(ifd);
- close(i6fd);
- fatal("Can't set ifname for unit %d: %m", ifunit);
- }
-#endif /* defined(INET6) */
-
- ipmuxid = ioctl(ipfd, I_PLINK, ifd);
- close(ifd);
- if (ipmuxid < 0) {
-#if defined(INET6)
- close(i6fd);
-#endif /* defined(INET6) */
- fatal("Can't I_PLINK PPP device to IP: %m");
- }
-
- memset(&ifr, 0, sizeof(ifr));
- sprintf(ifr.ifr_name, "%s", ifname);
- ifr.ifr_ip_muxid = ipmuxid;
-
- /*
- * In Sol 8 and later, STREAMS dynamic module plumbing feature exists.
- * This is so that an arbitrary module can be inserted, or deleted,
- * between ip module and the device driver without tearing down the
- * existing stream. Such feature requires the mux ids, which is set
- * by SIOCSIFMUXID (or SIOCLSIFMUXID).
- */
- if (ioctl(ipfd, SIOCSIFMUXID, &ifr) < 0) {
- ioctl(ipfd, I_PUNLINK, ipmuxid);
-#if defined(INET6)
- close(i6fd);
-#endif /* defined(INET6) */
- fatal("SIOCSIFMUXID: %m");
- }
-
-#else /* else if !defined(SOL2) */
-
- if (dlpi_attach(ifd, ifunit) < 0 ||
- dlpi_get_reply(ifd, &reply.prim, DL_OK_ACK, sizeof(reply)) < 0) {
- close(ifd);
- fatal("Can't attach to ppp%d: %m", ifunit);
- }
-
- ipmuxid = ioctl(ipfd, I_LINK, ifd);
- close(ifd);
- if (ipmuxid < 0)
- fatal("Can't link PPP device to IP: %m");
-#endif /* defined(SOL2) */
-
-#if defined(INET6) && defined(SOL2)
- ip6muxid = ioctl(ip6fd, I_PLINK, i6fd);
- close(i6fd);
- if (ip6muxid < 0) {
- ioctl(ipfd, I_PUNLINK, ipmuxid);
- fatal("Can't I_PLINK PPP device to IP (2): %m");
- }
-
- memset(&lifr, 0, sizeof(lifr));
- sprintf(lifr.lifr_name, "%s", ifname);
- lifr.lifr_ip_muxid = ip6muxid;
-
- /*
- * Let IP know of the mux id [see comment for SIOCSIFMUXID above]
- */
- if (ioctl(ip6fd, SIOCSLIFMUXID, &lifr) < 0) {
- ioctl(ipfd, I_PUNLINK, ipmuxid);
- ioctl(ip6fd, I_PUNLINK, ip6muxid);
- fatal("Can't link PPP device to IP (2): %m");
- }
-#endif /* defined(INET6) && defined(SOL2) */
-
-#if !defined(SOL2)
- /* Set the interface name for the link. */
- slprintf(ifr.ifr_name, sizeof(ifr.ifr_name), PPP_DRV_NAME "%d", ifunit);
- ifr.ifr_metric = ipmuxid;
- if (strioctl(ipfd, SIOCSIFNAME, (char *)&ifr, sizeof ifr, 0) < 0)
- fatal("Can't set interface name %s: %m", ifr.ifr_name);
-#endif /* !defined(SOL2) */
-
- n_pollfds = 0;
-}
-
-/*
- * sys_cleanup - restore any system state we modified before exiting:
- * mark the interface down, delete default route and/or proxy arp entry.
- * This should call die() because it's called from die().
- */
-void
-sys_cleanup()
-{
-#if defined(SOL2)
- struct ifreq ifr;
-#if defined(INET6)
- struct lifreq lifr;
-#endif /* defined(INET6) */
-#endif /* defined(SOL2) */
-
-#if defined(SOL2) && defined(INET6)
- if (if6_is_up)
- sif6down(0);
-#endif /* defined(SOL2) && defined(INET6) */
- if (if_is_up)
- sifdown(0);
- if (default_route_gateway)
- cifdefaultroute(0, default_route_gateway, default_route_gateway);
- if (proxy_arp_addr)
- cifproxyarp(0, proxy_arp_addr);
-#if defined(SOL2)
- /*
- * Make sure we ask ip what the muxid, because 'ifconfig modlist' will
- * unlink and re-link the modules, causing the muxid to change.
- */
- memset(&ifr, 0, sizeof(ifr));
- sprintf(ifr.ifr_name, "%s", ifname);
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("SIOCGIFFLAGS: %m");
- return;
- }
-
- if (ioctl(ipfd, SIOCGIFMUXID, &ifr) < 0) {
- error("SIOCGIFMUXID: %m");
- return;
- }
-
- ipmuxid = ifr.ifr_ip_muxid;
-
- if (ioctl(ipfd, I_PUNLINK, ipmuxid) < 0) {
- error("Can't I_PUNLINK PPP from IP: %m");
- return;
- }
-#if defined(INET6)
- /*
- * Make sure we ask ip what the muxid, because 'ifconfig modlist' will
- * unlink and re-link the modules, causing the muxid to change.
- */
- memset(&lifr, 0, sizeof(lifr));
- sprintf(lifr.lifr_name, "%s", ifname);
- if (ioctl(ip6fd, SIOCGLIFFLAGS, &lifr) < 0) {
- error("SIOCGLIFFLAGS: %m");
- return;
- }
-
- if (ioctl(ip6fd, SIOCGLIFMUXID, &lifr) < 0) {
- error("SIOCGLIFMUXID: %m");
- return;
- }
-
- ip6muxid = lifr.lifr_ip_muxid;
-
- if (ioctl(ip6fd, I_PUNLINK, ip6muxid) < 0) {
- error("Can't I_PUNLINK PPP from IP (2): %m");
- }
-#endif /* defined(INET6) */
-#endif /* defined(SOL2) */
-}
-
-/*
- * sys_close - Clean up in a child process before execing.
- */
-void
-sys_close()
-{
- close(ipfd);
-#if defined(INET6) && defined(SOL2)
- close(ip6fd);
-#endif /* defined(INET6) && defined(SOL2) */
- if (pppfd >= 0)
- close(pppfd);
-}
-
-/*
- * sys_check_options - check the options that the user specified
- */
-int
-sys_check_options()
-{
- return 1;
-}
-
-#if 0
-/*
- * daemon - Detach us from controlling terminal session.
- */
-int
-daemon(nochdir, noclose)
- int nochdir, noclose;
-{
- int pid;
-
- if ((pid = fork()) < 0)
- return -1;
- if (pid != 0)
- exit(0); /* parent dies */
- setsid();
- if (!nochdir)
- chdir("/");
- if (!noclose) {
- fclose(stdin); /* don't need stdin, stdout, stderr */
- fclose(stdout);
- fclose(stderr);
- }
- return 0;
-}
-#endif
-
-/*
- * ppp_available - check whether the system has any ppp interfaces
- */
-int
-ppp_available()
-{
- struct stat buf;
-
- return stat(PPP_DEV_NAME, &buf) >= 0;
-}
-
-/*
- * any_compressions - see if compression is enabled or not
- *
- * In the STREAMS implementation of kernel-portion pppd,
- * the comp STREAMS module performs the ACFC, PFC, as well
- * CCP and VJ compressions. However, if the user has explicitly
- * declare to not enable them from the command line, there is
- * no point of having the comp module be pushed on the stream.
- */
-static int
-any_compressions()
-{
- if ((!lcp_wantoptions[0].neg_accompression) &&
- (!lcp_wantoptions[0].neg_pcompression) &&
- (!ccp_protent.enabled_flag) &&
- (!ipcp_wantoptions[0].neg_vj)) {
- return 0;
- }
- return 1;
-}
-
-/*
- * tty_establish_ppp - Turn the serial port into a ppp interface.
- */
-int
-tty_establish_ppp(fd)
- int fd;
-{
- int i;
-
- /* Pop any existing modules off the tty stream. */
- for (i = 0;; ++i)
- if (ioctl(fd, I_LOOK, tty_modules[i]) < 0
- || strcmp(tty_modules[i], "ptem") == 0
- || ioctl(fd, I_POP, 0) < 0)
- break;
- tty_nmodules = i;
-
- /* Push the async hdlc module and the compressor module. */
- tty_npushed = 0;
-
- if(!sync_serial) {
- if (ioctl(fd, I_PUSH, AHDLC_MOD_NAME) < 0) {
- error("Couldn't push PPP Async HDLC module: %m");
- return -1;
- }
- ++tty_npushed;
- }
- if (kdebugflag & 4) {
- i = PPPDBG_LOG + PPPDBG_AHDLC;
- strioctl(pppfd, PPPIO_DEBUG, &i, sizeof(int), 0);
- }
- /*
- * There's no need to push comp module if we don't intend
- * to compress anything
- */
- if (any_compressions()) {
- if (ioctl(fd, I_PUSH, COMP_MOD_NAME) < 0)
- error("Couldn't push PPP compression module: %m");
- else
- ++tty_npushed;
- }
-
- if (kdebugflag & 2) {
- i = PPPDBG_LOG;
- if (any_compressions())
- i += PPPDBG_COMP;
- strioctl(pppfd, PPPIO_DEBUG, &i, sizeof(int), 0);
- }
-
- /* Link the serial port under the PPP multiplexor. */
- if ((fdmuxid = ioctl(pppfd, I_LINK, fd)) < 0) {
- error("Can't link tty to PPP mux: %m");
- return -1;
- }
-
- return pppfd;
-}
-
-/*
- * tty_disestablish_ppp - Restore the serial port to normal operation.
- * It attempts to reconstruct the stream with the previously popped
- * modules. This shouldn't call die() because it's called from die().
- */
-void
-tty_disestablish_ppp(fd)
- int fd;
-{
- int i;
-
- if (fdmuxid >= 0) {
- if (ioctl(pppfd, I_UNLINK, fdmuxid) < 0) {
- if (!hungup)
- error("Can't unlink tty from PPP mux: %m");
- }
- fdmuxid = -1;
-
- if (!hungup) {
- while (tty_npushed > 0 && ioctl(fd, I_POP, 0) >= 0)
- --tty_npushed;
- for (i = tty_nmodules - 1; i >= 0; --i)
- if (ioctl(fd, I_PUSH, tty_modules[i]) < 0)
- error("Couldn't restore tty module %s: %m",
- tty_modules[i]);
- }
- if (hungup && default_device && tty_sid > 0) {
- /*
- * If we have received a hangup, we need to send a SIGHUP
- * to the terminal's controlling process. The reason is
- * that the original stream head for the terminal hasn't
- * seen the M_HANGUP message (it went up through the ppp
- * driver to the stream head for our fd to /dev/ppp).
- */
- kill(tty_sid, SIGHUP);
- }
- }
-}
-
-/*
- * Check whether the link seems not to be 8-bit clean.
- */
-void
-clean_check()
-{
- int x;
- char *s;
-
- if (strioctl(pppfd, PPPIO_GCLEAN, &x, 0, sizeof(x)) < 0)
- return;
- s = NULL;
- switch (~x) {
- case RCV_B7_0:
- s = "bit 7 set to 1";
- break;
- case RCV_B7_1:
- s = "bit 7 set to 0";
- break;
- case RCV_EVNP:
- s = "odd parity";
- break;
- case RCV_ODDP:
- s = "even parity";
- break;
- }
- if (s != NULL) {
- warn("Serial link is not 8-bit clean:");
- warn("All received characters had %s", s);
- }
-}
-
-/*
- * List of valid speeds.
- */
-struct speed {
- int speed_int, speed_val;
-} speeds[] = {
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2000
- { 2000, B2000 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B3600
- { 3600, B3600 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B7200
- { 7200, B7200 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef EXTA
- { 19200, EXTA },
-#endif
-#ifdef EXTB
- { 38400, EXTB },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B76800
- { 76800, B76800 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
-#ifdef B153600
- { 153600, B153600 },
-#endif
-#ifdef B230400
- { 230400, B230400 },
-#endif
-#ifdef B307200
- { 307200, B307200 },
-#endif
-#ifdef B460800
- { 460800, B460800 },
-#endif
- { 0, 0 }
-};
-
-/*
- * Translate from bits/second to a speed_t.
- */
-static int
-translate_speed(bps)
- int bps;
-{
- struct speed *speedp;
-
- if (bps == 0)
- return 0;
- for (speedp = speeds; speedp->speed_int; speedp++)
- if (bps == speedp->speed_int)
- return speedp->speed_val;
- warn("speed %d not supported", bps);
- return 0;
-}
-
-/*
- * Translate from a speed_t to bits/second.
- */
-static int
-baud_rate_of(speed)
- int speed;
-{
- struct speed *speedp;
-
- if (speed == 0)
- return 0;
- for (speedp = speeds; speedp->speed_int; speedp++)
- if (speed == speedp->speed_val)
- return speedp->speed_int;
- return 0;
-}
-
-/*
- * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
- * at the requested speed, etc. If `local' is true, set CLOCAL
- * regardless of whether the modem option was specified.
- */
-void
-set_up_tty(fd, local)
- int fd, local;
-{
- int speed;
- struct termios tios;
-#if !defined (CRTSCTS)
- struct termiox tiox;
-#endif
-
- if (!sync_serial && tcgetattr(fd, &tios) < 0)
- fatal("tcgetattr: %m");
-
-#ifndef CRTSCTS
- termiox_ok = 1;
- if (!sync_serial && ioctl (fd, TCGETX, &tiox) < 0) {
- termiox_ok = 0;
- if (errno != ENOTTY)
- error("TCGETX: %m");
- }
-#endif
-
- if (!restore_term) {
- inittermios = tios;
-#ifndef CRTSCTS
- inittermiox = tiox;
-#endif
- if (!sync_serial)
- ioctl(fd, TIOCGWINSZ, &wsinfo);
- }
-
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
-#ifdef CRTSCTS
- if (crtscts > 0)
- tios.c_cflag |= CRTSCTS;
- else if (crtscts < 0)
- tios.c_cflag &= ~CRTSCTS;
-#else
- if (crtscts != 0 && !termiox_ok) {
- error("Can't set RTS/CTS flow control");
- } else if (crtscts > 0) {
- tiox.x_hflag |= RTSXOFF|CTSXON;
- } else if (crtscts < 0) {
- tiox.x_hflag &= ~(RTSXOFF|CTSXON);
- }
-#endif
-
- tios.c_cflag |= CS8 | CREAD | HUPCL;
- if (local || !modem)
- tios.c_cflag |= CLOCAL;
- tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- tios.c_cc[VMIN] = 1;
- tios.c_cc[VTIME] = 0;
-
- if (crtscts == -2) {
- tios.c_iflag |= IXON | IXOFF;
- tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
- tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
- }
-
- speed = translate_speed(inspeed);
- if (speed) {
- cfsetospeed(&tios, speed);
- cfsetispeed(&tios, speed);
- } else {
- speed = cfgetospeed(&tios);
- /*
- * We can't proceed if the serial port speed is 0,
- * since that implies that the serial port is disabled.
- */
- if ((speed == B0) && !sync_serial)
- fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
- }
-
- if (!sync_serial && tcsetattr(fd, TCSAFLUSH, &tios) < 0)
- fatal("tcsetattr: %m");
-
-#ifndef CRTSCTS
- if (!sync_serial && termiox_ok && ioctl (fd, TCSETXF, &tiox) < 0){
- error("TCSETXF: %m");
- }
-#endif
-
- baud_rate = inspeed = baud_rate_of(speed);
- if (!sync_serial)
- restore_term = 1;
-}
-
-/*
- * restore_tty - restore the terminal to the saved settings.
- */
-void
-restore_tty(fd)
- int fd;
-{
- if (restore_term) {
- if (!default_device) {
- /*
- * Turn off echoing, because otherwise we can get into
- * a loop with the tty and the modem echoing to each other.
- * We presume we are the sole user of this tty device, so
- * when we close it, it will revert to its defaults anyway.
- */
- inittermios.c_lflag &= ~(ECHO | ECHONL);
- }
- if (!sync_serial && tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
- if (!hungup && errno != ENXIO)
- warn("tcsetattr: %m");
-#ifndef CRTSCTS
- if (!sync_serial && ioctl (fd, TCSETXF, &inittermiox) < 0){
- if (!hungup && errno != ENXIO)
- error("TCSETXF: %m");
- }
-#endif
- if (!sync_serial)
- ioctl(fd, TIOCSWINSZ, &wsinfo);
- restore_term = 0;
- }
-}
-
-/*
- * setdtr - control the DTR line on the serial port.
- * This is called from die(), so it shouldn't call die().
- */
-void
-setdtr(fd, on)
-int fd, on;
-{
- int modembits = TIOCM_DTR;
-
- ioctl(fd, (on? TIOCMBIS: TIOCMBIC), &modembits);
-}
-
-/*
- * open_loopback - open the device we use for getting packets
- * in demand mode. Under Solaris 2, we use our existing fd
- * to the ppp driver.
- */
-int
-open_ppp_loopback()
-{
- return pppfd;
-}
-
-/*
- * output - Output PPP packet.
- */
-void
-output(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- struct strbuf data;
- int retries;
- struct pollfd pfd;
-
- if (debug)
- dbglog("sent %P", p, len);
-
- data.len = len;
- data.buf = (caddr_t) p;
- retries = 4;
- while (putmsg(pppfd, NULL, &data, 0) < 0) {
- if (--retries < 0 || (errno != EWOULDBLOCK && errno != EAGAIN)) {
- if (errno != ENXIO)
- error("Couldn't send packet: %m");
- break;
- }
- pfd.fd = pppfd;
- pfd.events = POLLOUT;
- poll(&pfd, 1, 250); /* wait for up to 0.25 seconds */
- }
-}
-
-
-/*
- * wait_input - wait until there is data available,
- * for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-void
-wait_input(timo)
- struct timeval *timo;
-{
- int t;
-
- t = timo == NULL? -1: timo->tv_sec * 1000 + timo->tv_usec / 1000;
- if (poll(pollfds, n_pollfds, t) < 0 && errno != EINTR)
- fatal("poll: %m");
-}
-
-/*
- * add_fd - add an fd to the set that wait_input waits for.
- */
-void add_fd(fd)
- int fd;
-{
- int n;
-
- for (n = 0; n < n_pollfds; ++n)
- if (pollfds[n].fd == fd)
- return;
- if (n_pollfds < MAX_POLLFDS) {
- pollfds[n_pollfds].fd = fd;
- pollfds[n_pollfds].events = POLLIN | POLLPRI | POLLHUP;
- ++n_pollfds;
- } else
- error("Too many inputs!");
-}
-
-/*
- * remove_fd - remove an fd from the set that wait_input waits for.
- */
-void remove_fd(fd)
- int fd;
-{
- int n;
-
- for (n = 0; n < n_pollfds; ++n) {
- if (pollfds[n].fd == fd) {
- while (++n < n_pollfds)
- pollfds[n-1] = pollfds[n];
- --n_pollfds;
- break;
- }
- }
-}
-
-#if 0
-/*
- * wait_loop_output - wait until there is data available on the
- * loopback, for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-void
-wait_loop_output(timo)
- struct timeval *timo;
-{
- wait_input(timo);
-}
-
-/*
- * wait_time - wait for a given length of time or until a
- * signal is received.
- */
-void
-wait_time(timo)
- struct timeval *timo;
-{
- int n;
-
- n = select(0, NULL, NULL, NULL, timo);
- if (n < 0 && errno != EINTR)
- fatal("select: %m");
-}
-#endif
-
-
-/*
- * read_packet - get a PPP packet from the serial device.
- */
-int
-read_packet(buf)
- u_char *buf;
-{
- struct strbuf ctrl, data;
- int flags, len;
- unsigned char ctrlbuf[sizeof(union DL_primitives) + 64];
-
- for (;;) {
- data.maxlen = PPP_MRU + PPP_HDRLEN;
- data.buf = (caddr_t) buf;
- ctrl.maxlen = sizeof(ctrlbuf);
- ctrl.buf = (caddr_t) ctrlbuf;
- flags = 0;
- len = getmsg(pppfd, &ctrl, &data, &flags);
- if (len < 0) {
- if (errno == EAGAIN || errno == EINTR)
- return -1;
- fatal("Error reading packet: %m");
- }
-
- if (ctrl.len <= 0)
- return data.len;
-
- /*
- * Got a M_PROTO or M_PCPROTO message. Interpret it
- * as a DLPI primitive??
- */
- if (debug)
- dbglog("got dlpi prim 0x%x, len=%d",
- ((union DL_primitives *)ctrlbuf)->dl_primitive, ctrl.len);
-
- }
-}
-
-/*
- * get_loop_output - get outgoing packets from the ppp device,
- * and detect when we want to bring the real link up.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-get_loop_output()
-{
- int len;
- int rv = 0;
-
- while ((len = read_packet(inpacket_buf)) > 0) {
- if (loop_frame(inpacket_buf, len))
- rv = 1;
- }
- return rv;
-}
-
-/*
- * netif_set_mtu - set the MTU on the PPP network interface.
- */
-void
-netif_set_mtu(unit, mtu)
- int unit, mtu;
-{
- struct ifreq ifr;
-#if defined(INET6) && defined(SOL2)
- struct lifreq lifr;
- int fd;
-#endif /* defined(INET6) && defined(SOL2) */
-
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_metric = link_mtu;
- if (ioctl(ipfd, SIOCSIFMTU, &ifr) < 0) {
- error("Couldn't set IP MTU (%s): %m", ifr.ifr_name);
- }
-
-#if defined(INET6) && defined(SOL2)
- fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (fd < 0)
- error("Couldn't open IPv6 socket: %m");
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- lifr.lifr_mtu = link_mtu;
- if (ioctl(fd, SIOCSLIFMTU, &lifr) < 0) {
- close(fd);
- error("Couldn't set IPv6 MTU (%s): %m", ifr.ifr_name);
- }
- close(fd);
-#endif /* defined(INET6) && defined(SOL2) */
-}
-
-/*
- * tty_send_config - configure the transmit characteristics of
- * the ppp interface.
- */
-void
-tty_send_config(mtu, asyncmap, pcomp, accomp)
- int mtu;
- u_int32_t asyncmap;
- int pcomp, accomp;
-{
- int cf[2];
-
- link_mtu = mtu;
- if (strioctl(pppfd, PPPIO_MTU, &mtu, sizeof(mtu), 0) < 0) {
- if (hungup && errno == ENXIO)
- return;
- error("Couldn't set MTU: %m");
- }
- if (fdmuxid >= 0) {
- if (!sync_serial) {
- if (strioctl(pppfd, PPPIO_XACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
- error("Couldn't set transmit ACCM: %m");
- }
- }
- cf[0] = (pcomp? COMP_PROT: 0) + (accomp? COMP_AC: 0);
- cf[1] = COMP_PROT | COMP_AC;
- if (any_compressions() &&
- strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- error("Couldn't set prot/AC compression: %m");
- }
- }
-}
-
-/*
- * ppp_set_xaccm - set the extended transmit ACCM for the interface.
- */
-void
-tty_set_xaccm(accm)
- ext_accm accm;
-{
- if (sync_serial)
- return;
-
- if (fdmuxid >= 0
- && strioctl(pppfd, PPPIO_XACCM, accm, sizeof(ext_accm), 0) < 0) {
- if (!hungup || errno != ENXIO)
- warn("Couldn't set extended ACCM: %m");
- }
-}
-
-/*
- * ppp_recv_config - configure the receive-side characteristics of
- * the ppp interface.
- */
-void
-tty_recv_config(mru, asyncmap, pcomp, accomp)
- int mru;
- u_int32_t asyncmap;
- int pcomp, accomp;
-{
- int cf[2];
-
- link_mru = mru;
- if (strioctl(pppfd, PPPIO_MRU, &mru, sizeof(mru), 0) < 0) {
- if (hungup && errno == ENXIO)
- return;
- error("Couldn't set MRU: %m");
- }
- if (fdmuxid >= 0) {
- if (!sync_serial) {
- if (strioctl(pppfd, PPPIO_RACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
- error("Couldn't set receive ACCM: %m");
- }
- }
- cf[0] = (pcomp? DECOMP_PROT: 0) + (accomp? DECOMP_AC: 0);
- cf[1] = DECOMP_PROT | DECOMP_AC;
- if (any_compressions() &&
- strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- error("Couldn't set prot/AC decompression: %m");
- }
- }
-}
-
-/*
- * ccp_test - ask kernel whether a given compression method
- * is acceptable for use.
- */
-int
-ccp_test(unit, opt_ptr, opt_len, for_transmit)
- int unit, opt_len, for_transmit;
- u_char *opt_ptr;
-{
- if (strioctl(pppfd, (for_transmit? PPPIO_XCOMP: PPPIO_RCOMP),
- opt_ptr, opt_len, 0) >= 0)
- return 1;
- return (errno == ENOSR)? 0: -1;
-}
-
-/*
- * ccp_flags_set - inform kernel about the current state of CCP.
- */
-void
-ccp_flags_set(unit, isopen, isup)
- int unit, isopen, isup;
-{
- int cf[2];
-
- cf[0] = (isopen? CCP_ISOPEN: 0) + (isup? CCP_ISUP: 0);
- cf[1] = CCP_ISOPEN | CCP_ISUP | CCP_ERROR | CCP_FATALERROR;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (!hungup || errno != ENXIO)
- error("Couldn't set kernel CCP state: %m");
- }
-}
-
-/*
- * get_idle_time - return how long the link has been idle.
- */
-int
-get_idle_time(u, ip)
- int u;
- struct ppp_idle *ip;
-{
- return strioctl(pppfd, PPPIO_GIDLE, ip, 0, sizeof(struct ppp_idle)) >= 0;
-}
-
-/*
- * get_ppp_stats - return statistics for the link.
- */
-int
-get_ppp_stats(u, stats)
- int u;
- struct pppd_stats *stats;
-{
- struct ppp_stats s;
-
- if (!sync_serial &&
- strioctl(pppfd, PPPIO_GETSTAT, &s, 0, sizeof(s)) < 0) {
- error("Couldn't get link statistics: %m");
- return 0;
- }
- stats->bytes_in = s.p.ppp_ibytes;
- stats->bytes_out = s.p.ppp_obytes;
- return 1;
-}
-
-#if 0
-/*
- * set_filters - transfer the pass and active filters to the kernel.
- */
-int
-set_filters(pass, active)
- struct bpf_program *pass, *active;
-{
- int ret = 1;
-
- if (pass->bf_len > 0) {
- if (strioctl(pppfd, PPPIO_PASSFILT, pass,
- sizeof(struct bpf_program), 0) < 0) {
- error("Couldn't set pass-filter in kernel: %m");
- ret = 0;
- }
- }
- if (active->bf_len > 0) {
- if (strioctl(pppfd, PPPIO_ACTIVEFILT, active,
- sizeof(struct bpf_program), 0) < 0) {
- error("Couldn't set active-filter in kernel: %m");
- ret = 0;
- }
- }
- return ret;
-}
-#endif
-
-/*
- * ccp_fatal_error - returns 1 if decompression was disabled as a
- * result of an error detected after decompression of a packet,
- * 0 otherwise. This is necessary because of patent nonsense.
- */
-int
-ccp_fatal_error(unit)
- int unit;
-{
- int cf[2];
-
- cf[0] = cf[1] = 0;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (errno != ENXIO && errno != EINVAL)
- error("Couldn't get compression flags: %m");
- return 0;
- }
- return cf[0] & CCP_FATALERROR;
-}
-
-/*
- * sifvjcomp - config tcp header compression
- */
-int
-sifvjcomp(u, vjcomp, xcidcomp, xmaxcid)
- int u, vjcomp, xcidcomp, xmaxcid;
-{
- int cf[2];
- char maxcid[2];
-
- if (vjcomp) {
- maxcid[0] = xcidcomp;
- maxcid[1] = 15; /* XXX should be rmaxcid */
- if (strioctl(pppfd, PPPIO_VJINIT, maxcid, sizeof(maxcid), 0) < 0) {
- error("Couldn't initialize VJ compression: %m");
- }
- }
-
- cf[0] = (vjcomp? COMP_VJC + DECOMP_VJC: 0) /* XXX this is wrong */
- + (xcidcomp? COMP_VJCCID + DECOMP_VJCCID: 0);
- cf[1] = COMP_VJC + DECOMP_VJC + COMP_VJCCID + DECOMP_VJCCID;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (vjcomp)
- error("Couldn't enable VJ compression: %m");
- }
-
- return 1;
-}
-
-/*
- * sifup - Config the interface up and enable IP packets to pass.
- */
-int
-sifup(u)
- int u;
-{
- struct ifreq ifr;
-
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface up (get): %m");
- return 0;
- }
- ifr.ifr_flags |= IFF_UP;
- if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface up (set): %m");
- return 0;
- }
- if_is_up = 1;
- return 1;
-}
-
-/*
- * sifdown - Config the interface down and disable IP.
- */
-int
-sifdown(u)
- int u;
-{
- struct ifreq ifr;
-
- if (ipmuxid < 0)
- return 1;
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface down (get): %m");
- return 0;
- }
- ifr.ifr_flags &= ~IFF_UP;
- if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface down (set): %m");
- return 0;
- }
- if_is_up = 0;
- return 1;
-}
-
-/*
- * sifnpmode - Set the mode for handling packets for a given NP.
- */
-int
-sifnpmode(u, proto, mode)
- int u;
- int proto;
- enum NPmode mode;
-{
- int npi[2];
-
- npi[0] = proto;
- npi[1] = (int) mode;
- if (strioctl(pppfd, PPPIO_NPMODE, &npi, 2 * sizeof(int), 0) < 0) {
- error("ioctl(set NP %d mode to %d): %m", proto, mode);
- return 0;
- }
- return 1;
-}
-
-#if defined(SOL2) && defined(INET6)
-/*
- * sif6up - Config the IPv6 interface up and enable IPv6 packets to pass.
- */
-int
-sif6up(u)
- int u;
-{
- struct lifreq lifr;
- int fd;
-
- fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (fd < 0) {
- return 0;
- }
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- lifr.lifr_flags |= IFF_UP;
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCSLIFFLAGS, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- if6_is_up = 1;
- close(fd);
- return 1;
-}
-
-/*
- * sifdown - Config the IPv6 interface down and disable IPv6.
- */
-int
-sif6down(u)
- int u;
-{
- struct lifreq lifr;
- int fd;
-
- fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (fd < 0)
- return 0;
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- lifr.lifr_flags &= ~IFF_UP;
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- if6_is_up = 0;
- close(fd);
- return 1;
-}
-
-/*
- * sif6addr - Config the interface with an IPv6 link-local address
- */
-int
-sif6addr(u, o, h)
- int u;
- eui64_t o, h;
-{
- struct lifreq lifr;
- struct sockaddr_storage laddr;
- struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&laddr;
- int fd;
-
- fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (fd < 0)
- return 0;
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
-
- /*
- * Do this because /dev/ppp responds to DL_PHYS_ADDR_REQ with
- * zero values, hence the interface token came to be zero too,
- * and without this, in.ndpd will complain
- */
- IN6_LLTOKEN_FROM_EUI64(lifr, sin6, o);
- if (ioctl(fd, SIOCSLIFTOKEN, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- /*
- * Set the interface address and destination address
- */
- IN6_LLADDR_FROM_EUI64(lifr, sin6, o);
- if (ioctl(fd, SIOCSLIFADDR, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- IN6_LLADDR_FROM_EUI64(lifr, sin6, h);
- if (ioctl(fd, SIOCSLIFDSTADDR, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- return 1;
-}
-
-/*
- * cif6addr - Remove the IPv6 address from interface
- */
-int
-cif6addr(u, o, h)
- int u;
- eui64_t o, h;
-{
- return 1;
-}
-
-#endif /* defined(SOL2) && defined(INET6) */
-
-
-#define INET_ADDR(x) (((struct sockaddr_in *) &(x))->sin_addr.s_addr)
-
-/*
- * sifaddr - Config the interface IP addresses and netmask.
- */
-int
-sifaddr(u, o, h, m)
- int u;
- u_int32_t o, h, m;
-{
- struct ifreq ifr;
- int ret = 1;
-
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_addr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_addr) = m;
- if (ioctl(ipfd, SIOCSIFNETMASK, &ifr) < 0) {
- error("Couldn't set IP netmask: %m");
- ret = 0;
- }
- ifr.ifr_addr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_addr) = o;
- if (ioctl(ipfd, SIOCSIFADDR, &ifr) < 0) {
- error("Couldn't set local IP address: %m");
- ret = 0;
- }
-
- /*
- * On some systems, we have to explicitly set the point-to-point
- * flag bit before we can set a destination address.
- */
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) >= 0
- && (ifr.ifr_flags & IFF_POINTOPOINT) == 0) {
- ifr.ifr_flags |= IFF_POINTOPOINT;
- if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface pt-to-pt: %m");
- ret = 0;
- }
- }
- ifr.ifr_dstaddr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_dstaddr) = h;
- if (ioctl(ipfd, SIOCSIFDSTADDR, &ifr) < 0) {
- error("Couldn't set remote IP address: %m");
- ret = 0;
- }
-#if 0 /* now done in ppp_send_config */
- ifr.ifr_metric = link_mtu;
- if (ioctl(ipfd, SIOCSIFMTU, &ifr) < 0) {
- error("Couldn't set IP MTU: %m");
- }
-#endif
-
- remote_addr = h;
- return ret;
-}
-
-/*
- * cifaddr - Clear the interface IP addresses, and delete routes
- * through the interface if possible.
- */
-int
-cifaddr(u, o, h)
- int u;
- u_int32_t o, h;
-{
-#if defined(__USLC__) /* was: #if 0 */
- cifroute(unit, ouraddr, hisaddr);
- if (ipmuxid >= 0) {
- notice("Removing ppp interface unit");
- if (ioctl(ipfd, I_UNLINK, ipmuxid) < 0) {
- error("Can't remove ppp interface unit: %m");
- return 0;
- }
- ipmuxid = -1;
- }
-#endif
- remote_addr = 0;
- return 1;
-}
-
-/*
- * sifdefaultroute - assign a default route through the address given.
- */
-int
-sifdefaultroute(u, l, g)
- int u;
- u_int32_t l, g;
-{
- struct rtentry rt;
-
-#if defined(__USLC__)
- g = l; /* use the local address as gateway */
-#endif
- memset(&rt, 0, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = 0;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = g;
- rt.rt_flags = RTF_GATEWAY;
-
- if (ioctl(ipfd, SIOCADDRT, &rt) < 0) {
- error("Can't add default route: %m");
- return 0;
- }
-
- default_route_gateway = g;
- return 1;
-}
-
-/*
- * cifdefaultroute - delete a default route through the address given.
- */
-int
-cifdefaultroute(u, l, g)
- int u;
- u_int32_t l, g;
-{
- struct rtentry rt;
-
-#if defined(__USLC__)
- g = l; /* use the local address as gateway */
-#endif
- memset(&rt, 0, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = 0;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = g;
- rt.rt_flags = RTF_GATEWAY;
-
- if (ioctl(ipfd, SIOCDELRT, &rt) < 0) {
- error("Can't delete default route: %m");
- return 0;
- }
-
- default_route_gateway = 0;
- return 1;
-}
-
-/*
- * sifproxyarp - Make a proxy ARP entry for the peer.
- */
-int
-sifproxyarp(unit, hisaddr)
- int unit;
- u_int32_t hisaddr;
-{
- struct arpreq arpreq;
-
- memset(&arpreq, 0, sizeof(arpreq));
- if (!get_ether_addr(hisaddr, &arpreq.arp_ha))
- return 0;
-
- arpreq.arp_pa.sa_family = AF_INET;
- INET_ADDR(arpreq.arp_pa) = hisaddr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
- if (ioctl(ipfd, SIOCSARP, (caddr_t) &arpreq) < 0) {
- error("Couldn't set proxy ARP entry: %m");
- return 0;
- }
-
- proxy_arp_addr = hisaddr;
- return 1;
-}
-
-/*
- * cifproxyarp - Delete the proxy ARP entry for the peer.
- */
-int
-cifproxyarp(unit, hisaddr)
- int unit;
- u_int32_t hisaddr;
-{
- struct arpreq arpreq;
-
- memset(&arpreq, 0, sizeof(arpreq));
- arpreq.arp_pa.sa_family = AF_INET;
- INET_ADDR(arpreq.arp_pa) = hisaddr;
- if (ioctl(ipfd, SIOCDARP, (caddr_t)&arpreq) < 0) {
- error("Couldn't delete proxy ARP entry: %m");
- return 0;
- }
-
- proxy_arp_addr = 0;
- return 1;
-}
-
-/*
- * get_ether_addr - get the hardware address of an interface on the
- * the same subnet as ipaddr.
- */
-#define MAX_IFS 32
-
-static int
-get_ether_addr(ipaddr, hwaddr)
- u_int32_t ipaddr;
- struct sockaddr *hwaddr;
-{
- struct ifreq *ifr, *ifend, ifreq;
- int nif;
- struct ifconf ifc;
- u_int32_t ina, mask;
-
- /*
- * Scan through the system's network interfaces.
- */
-#ifdef SIOCGIFNUM
- if (ioctl(ipfd, SIOCGIFNUM, &nif) < 0)
-#endif
- nif = MAX_IFS;
- ifc.ifc_len = nif * sizeof(struct ifreq);
- ifc.ifc_buf = (caddr_t) malloc(ifc.ifc_len);
- if (ifc.ifc_buf == 0)
- return 0;
- if (ioctl(ipfd, SIOCGIFCONF, &ifc) < 0) {
- warn("Couldn't get system interface list: %m");
- free(ifc.ifc_buf);
- return 0;
- }
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- /*
- * Check that the interface is up, and not point-to-point or loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
- if ((ifreq.ifr_flags &
- (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
- != (IFF_UP|IFF_BROADCAST))
- continue;
- /*
- * Get its netmask and check that it's on the right subnet.
- */
- if (ioctl(ipfd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- ina = INET_ADDR(ifr->ifr_addr);
- mask = INET_ADDR(ifreq.ifr_addr);
- if ((ipaddr & mask) == (ina & mask))
- break;
- }
-
- if (ifr >= ifend) {
- warn("No suitable interface found for proxy ARP");
- free(ifc.ifc_buf);
- return 0;
- }
-
- info("found interface %s for proxy ARP", ifr->ifr_name);
- if (!get_hw_addr(ifr->ifr_name, ina, hwaddr)) {
- error("Couldn't get hardware address for %s", ifr->ifr_name);
- free(ifc.ifc_buf);
- return 0;
- }
-
- free(ifc.ifc_buf);
- return 1;
-}
-
-/*
- * get_hw_addr_dlpi - obtain the hardware address using DLPI
- */
-static int
-get_hw_addr_dlpi(name, hwaddr)
- char *name;
- struct sockaddr *hwaddr;
-{
- char *p, *q;
- int unit, iffd, adrlen;
- unsigned char *adrp;
- char ifdev[24];
- struct {
- union DL_primitives prim;
- char space[64];
- } reply;
-
- /*
- * We have to open the device and ask it for its hardware address.
- * First split apart the device name and unit.
- */
- slprintf(ifdev, sizeof(ifdev), "/dev/%s", name);
- for (q = ifdev + strlen(ifdev); --q >= ifdev; )
- if (!isdigit(*q))
- break;
- unit = atoi(q+1);
- q[1] = 0;
-
- /*
- * Open the device and do a DLPI attach and phys_addr_req.
- */
- iffd = open(ifdev, O_RDWR);
- if (iffd < 0) {
- error("Can't open %s: %m", ifdev);
- return 0;
- }
- if (dlpi_attach(iffd, unit) < 0
- || dlpi_get_reply(iffd, &reply.prim, DL_OK_ACK, sizeof(reply)) < 0
- || dlpi_info_req(iffd) < 0
- || dlpi_get_reply(iffd, &reply.prim, DL_INFO_ACK, sizeof(reply)) < 0) {
- close(iffd);
- return 0;
- }
-
- adrlen = reply.prim.info_ack.dl_addr_length;
- adrp = (unsigned char *)&reply + reply.prim.info_ack.dl_addr_offset;
-
-#if DL_CURRENT_VERSION >= 2
- if (reply.prim.info_ack.dl_sap_length < 0)
- adrlen += reply.prim.info_ack.dl_sap_length;
- else
- adrp += reply.prim.info_ack.dl_sap_length;
-#endif
-
- hwaddr->sa_family = AF_UNSPEC;
- memcpy(hwaddr->sa_data, adrp, adrlen);
-
- return 1;
-}
-/*
- * get_hw_addr - obtain the hardware address for a named interface.
- */
-static int
-get_hw_addr(name, ina, hwaddr)
- char *name;
- u_int32_t ina;
- struct sockaddr *hwaddr;
-{
- /* New way - get the address by doing an arp request. */
- int s;
- struct arpreq req;
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0)
- return 0;
- memset(&req, 0, sizeof(req));
- req.arp_pa.sa_family = AF_INET;
- INET_ADDR(req.arp_pa) = ina;
- if (ioctl(s, SIOCGARP, &req) < 0) {
- error("Couldn't get ARP entry for %s: %m", ip_ntoa(ina));
- return 0;
- }
- *hwaddr = req.arp_ha;
- hwaddr->sa_family = AF_UNSPEC;
-
- return 1;
-}
-
-static int
-dlpi_attach(fd, ppa)
- int fd, ppa;
-{
- dl_attach_req_t req;
- struct strbuf buf;
-
- req.dl_primitive = DL_ATTACH_REQ;
- req.dl_ppa = ppa;
- buf.len = sizeof(req);
- buf.buf = (void *) &req;
- return putmsg(fd, &buf, NULL, RS_HIPRI);
-}
-
-static int
-dlpi_info_req(fd)
- int fd;
-{
- dl_info_req_t req;
- struct strbuf buf;
-
- req.dl_primitive = DL_INFO_REQ;
- buf.len = sizeof(req);
- buf.buf = (void *) &req;
- return putmsg(fd, &buf, NULL, RS_HIPRI);
-}
-
-static int
-dlpi_get_reply(fd, reply, expected_prim, maxlen)
- union DL_primitives *reply;
- int fd, expected_prim, maxlen;
-{
- struct strbuf buf;
- int flags, n;
- struct pollfd pfd;
-
- /*
- * Use poll to wait for a message with a timeout.
- */
- pfd.fd = fd;
- pfd.events = POLLIN | POLLPRI;
- do {
- n = poll(&pfd, 1, 1000);
- } while (n == -1 && errno == EINTR);
- if (n <= 0)
- return -1;
-
- /*
- * Get the reply.
- */
- buf.maxlen = maxlen;
- buf.buf = (void *) reply;
- flags = 0;
- if (getmsg(fd, &buf, NULL, &flags) < 0)
- return -1;
-
- if (buf.len < sizeof(ulong)) {
- if (debug)
- dbglog("dlpi response short (len=%d)\n", buf.len);
- return -1;
- }
-
- if (reply->dl_primitive == expected_prim)
- return 0;
-
- if (debug) {
- if (reply->dl_primitive == DL_ERROR_ACK) {
- dbglog("dlpi error %d (unix errno %d) for prim %x\n",
- reply->error_ack.dl_errno, reply->error_ack.dl_unix_errno,
- reply->error_ack.dl_error_primitive);
- } else {
- dbglog("dlpi unexpected response prim %x\n",
- reply->dl_primitive);
- }
- }
-
- return -1;
-}
-
-/*
- * Return user specified netmask, modified by any mask we might determine
- * for address `addr' (in network byte order).
- * Here we scan through the system's list of interfaces, looking for
- * any non-point-to-point interfaces which might appear to be on the same
- * network as `addr'. If we find any, we OR in their netmask to the
- * user-specified netmask.
- */
-u_int32_t
-GetMask(addr)
- u_int32_t addr;
-{
- u_int32_t mask, nmask, ina;
- struct ifreq *ifr, *ifend, ifreq;
- int nif;
- struct ifconf ifc;
-
- addr = ntohl(addr);
- if (IN_CLASSA(addr)) /* determine network mask for address class */
- nmask = IN_CLASSA_NET;
- else if (IN_CLASSB(addr))
- nmask = IN_CLASSB_NET;
- else
- nmask = IN_CLASSC_NET;
- /* class D nets are disallowed by bad_ip_adrs */
- mask = netmask | htonl(nmask);
-
- /*
- * Scan through the system's network interfaces.
- */
-#ifdef SIOCGIFNUM
- if (ioctl(ipfd, SIOCGIFNUM, &nif) < 0)
-#endif
- nif = MAX_IFS;
- ifc.ifc_len = nif * sizeof(struct ifreq);
- ifc.ifc_buf = (caddr_t) malloc(ifc.ifc_len);
- if (ifc.ifc_buf == 0)
- return mask;
- if (ioctl(ipfd, SIOCGIFCONF, &ifc) < 0) {
- warn("Couldn't get system interface list: %m");
- free(ifc.ifc_buf);
- return mask;
- }
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
- /*
- * Check the interface's internet address.
- */
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- ina = INET_ADDR(ifr->ifr_addr);
- if ((ntohl(ina) & nmask) != (addr & nmask))
- continue;
- /*
- * Check that the interface is up, and not point-to-point or loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
- if ((ifreq.ifr_flags & (IFF_UP|IFF_POINTOPOINT|IFF_LOOPBACK))
- != IFF_UP)
- continue;
- /*
- * Get its netmask and OR it into our mask.
- */
- if (ioctl(ipfd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- mask |= INET_ADDR(ifreq.ifr_addr);
- }
-
- free(ifc.ifc_buf);
- return mask;
-}
-
-/*
- * logwtmp - write an accounting record to the /var/adm/wtmp file.
- */
-void
-logwtmp(line, name, host)
- const char *line, *name, *host;
-{
- static struct utmpx utmpx;
-
- if (name[0] != 0) {
- /* logging in */
- strncpy(utmpx.ut_user, name, sizeof(utmpx.ut_user));
- strncpy(utmpx.ut_id, ifname, sizeof(utmpx.ut_id));
- strncpy(utmpx.ut_line, line, sizeof(utmpx.ut_line));
- utmpx.ut_pid = getpid();
- utmpx.ut_type = USER_PROCESS;
- } else {
- utmpx.ut_type = DEAD_PROCESS;
- }
- gettimeofday(&utmpx.ut_tv, NULL);
- updwtmpx("/var/adm/wtmpx", &utmpx);
-}
-
-/*
- * get_host_seed - return the serial number of this machine.
- */
-int
-get_host_seed()
-{
- char buf[32];
-
- if (sysinfo(SI_HW_SERIAL, buf, sizeof(buf)) < 0) {
- error("sysinfo: %m");
- return 0;
- }
- return (int) strtoul(buf, NULL, 16);
-}
-
-static int
-strioctl(fd, cmd, ptr, ilen, olen)
- int fd, cmd, ilen, olen;
- void *ptr;
-{
- struct strioctl str;
-
- str.ic_cmd = cmd;
- str.ic_timout = 0;
- str.ic_len = ilen;
- str.ic_dp = ptr;
- if (ioctl(fd, I_STR, &str) == -1)
- return -1;
- if (str.ic_len != olen)
- dbglog("strioctl: expected %d bytes, got %d for cmd %x\n",
- olen, str.ic_len, cmd);
- return 0;
-}
-
-#if 0
-/*
- * lock - create a lock file for the named lock device
- */
-
-#define LOCK_PREFIX "/var/spool/locks/LK."
-static char lock_file[40]; /* name of lock file created */
-
-int
-lock(dev)
- char *dev;
-{
- int n, fd, pid;
- struct stat sbuf;
- char ascii_pid[12];
-
- if (stat(dev, &sbuf) < 0) {
- error("Can't get device number for %s: %m", dev);
- return -1;
- }
- if ((sbuf.st_mode & S_IFMT) != S_IFCHR) {
- error("Can't lock %s: not a character device", dev);
- return -1;
- }
- slprintf(lock_file, sizeof(lock_file), "%s%03d.%03d.%03d",
- LOCK_PREFIX, major(sbuf.st_dev),
- major(sbuf.st_rdev), minor(sbuf.st_rdev));
-
- while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
- if (errno == EEXIST
- && (fd = open(lock_file, O_RDONLY, 0)) >= 0) {
- /* Read the lock file to find out who has the device locked */
- n = read(fd, ascii_pid, 11);
- if (n <= 0) {
- error("Can't read pid from lock file %s", lock_file);
- close(fd);
- } else {
- ascii_pid[n] = 0;
- pid = atoi(ascii_pid);
- if (pid > 0 && kill(pid, 0) == -1 && errno == ESRCH) {
- /* pid no longer exists - remove the lock file */
- if (unlink(lock_file) == 0) {
- close(fd);
- notice("Removed stale lock on %s (pid %d)",
- dev, pid);
- continue;
- } else
- warn("Couldn't remove stale lock on %s",
- dev);
- } else
- notice("Device %s is locked by pid %d",
- dev, pid);
- }
- close(fd);
- } else
- error("Can't create lock file %s: %m", lock_file);
- lock_file[0] = 0;
- return -1;
- }
-
- slprintf(ascii_pid, sizeof(ascii_pid), "%10d\n", getpid());
- write(fd, ascii_pid, 11);
-
- close(fd);
- return 1;
-}
-
-/*
- * unlock - remove our lockfile
- */
-void
-unlock()
-{
- if (lock_file[0]) {
- unlink(lock_file);
- lock_file[0] = 0;
- }
-}
-#endif
-
-/*
- * cifroute - delete a route through the addresses given.
- */
-int
-cifroute(u, our, his)
- int u;
- u_int32_t our, his;
-{
- struct rtentry rt;
-
- memset(&rt, 0, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = his;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = our;
- rt.rt_flags = RTF_HOST;
-
- if (ioctl(ipfd, SIOCDELRT, &rt) < 0) {
- error("Can't delete route: %m");
- return 0;
- }
-
- return 1;
-}
-
-/*
- * have_route_to - determine if the system has a route to the specified
- * IP address. Returns 0 if not, 1 if so, -1 if we can't tell.
- * `addr' is in network byte order.
- * For demand mode to work properly, we have to ignore routes
- * through our own interface.
- */
-#ifndef T_CURRENT /* needed for Solaris 2.5 */
-#define T_CURRENT MI_T_CURRENT
-#endif
-
-int
-have_route_to(addr)
- u_int32_t addr;
-{
-#ifdef SOL2
- int fd, r, flags, i;
- struct {
- struct T_optmgmt_req req;
- struct opthdr hdr;
- } req;
- union {
- struct T_optmgmt_ack ack;
- unsigned char space[64];
- } ack;
- struct opthdr *rh;
- struct strbuf cbuf, dbuf;
- int nroutes;
- mib2_ipRouteEntry_t routes[8];
- mib2_ipRouteEntry_t *rp;
-
- fd = open(mux_dev_name, O_RDWR);
- if (fd < 0) {
- warn("have_route_to: couldn't open %s: %m", mux_dev_name);
- return -1;
- }
-
- req.req.PRIM_type = T_OPTMGMT_REQ;
- req.req.OPT_offset = (char *) &req.hdr - (char *) &req;
- req.req.OPT_length = sizeof(req.hdr);
- req.req.MGMT_flags = T_CURRENT;
-
- req.hdr.level = MIB2_IP;
- req.hdr.name = 0;
- req.hdr.len = 0;
-
- cbuf.buf = (char *) &req;
- cbuf.len = sizeof(req);
-
- if (putmsg(fd, &cbuf, NULL, 0) == -1) {
- warn("have_route_to: putmsg: %m");
- close(fd);
- return -1;
- }
-
- for (;;) {
- cbuf.buf = (char *) &ack;
- cbuf.maxlen = sizeof(ack);
- dbuf.buf = (char *) routes;
- dbuf.maxlen = sizeof(routes);
- flags = 0;
- r = getmsg(fd, &cbuf, &dbuf, &flags);
- if (r == -1) {
- warn("have_route_to: getmsg: %m");
- close(fd);
- return -1;
- }
-
- if (cbuf.len < sizeof(struct T_optmgmt_ack)
- || ack.ack.PRIM_type != T_OPTMGMT_ACK
- || ack.ack.MGMT_flags != T_SUCCESS
- || ack.ack.OPT_length < sizeof(struct opthdr)) {
- dbglog("have_route_to: bad message len=%d prim=%d",
- cbuf.len, ack.ack.PRIM_type);
- close(fd);
- return -1;
- }
-
- rh = (struct opthdr *) ((char *)&ack + ack.ack.OPT_offset);
- if (rh->level == 0 && rh->name == 0)
- break;
- if (rh->level != MIB2_IP || rh->name != MIB2_IP_21) {
- while (r == MOREDATA)
- r = getmsg(fd, NULL, &dbuf, &flags);
- continue;
- }
-
- for (;;) {
- nroutes = dbuf.len / sizeof(mib2_ipRouteEntry_t);
- for (rp = routes, i = 0; i < nroutes; ++i, ++rp) {
- if (rp->ipRouteMask != ~0) {
- dbglog("have_route_to: dest=%x gw=%x mask=%x\n",
- rp->ipRouteDest, rp->ipRouteNextHop,
- rp->ipRouteMask);
- if (((addr ^ rp->ipRouteDest) & rp->ipRouteMask) == 0
- && rp->ipRouteNextHop != remote_addr)
- return 1;
- }
- }
- if (r == 0)
- break;
- r = getmsg(fd, NULL, &dbuf, &flags);
- }
- }
- close(fd);
- return 0;
-#else
- return -1;
-#endif /* SOL2 */
-}
-
-/*
- * get_pty - get a pty master/slave pair and chown the slave side to
- * the uid given. Assumes slave_name points to MAXPATHLEN bytes of space.
- */
-int
-get_pty(master_fdp, slave_fdp, slave_name, uid)
- int *master_fdp;
- int *slave_fdp;
- char *slave_name;
- int uid;
-{
- int mfd, sfd;
- char *pty_name;
- struct termios tios;
-
- mfd = open("/dev/ptmx", O_RDWR);
- if (mfd < 0) {
- error("Couldn't open pty master: %m");
- return 0;
- }
-
- pty_name = ptsname(mfd);
- if (pty_name == NULL) {
- error("Couldn't get name of pty slave");
- close(mfd);
- return 0;
- }
- if (chown(pty_name, uid, -1) < 0)
- warn("Couldn't change owner of pty slave: %m");
- if (chmod(pty_name, S_IRUSR | S_IWUSR) < 0)
- warn("Couldn't change permissions on pty slave: %m");
- if (unlockpt(mfd) < 0)
- warn("Couldn't unlock pty slave: %m");
-
- sfd = open(pty_name, O_RDWR);
- if (sfd < 0) {
- error("Couldn't open pty slave %s: %m", pty_name);
- close(mfd);
- return 0;
- }
- if (ioctl(sfd, I_PUSH, "ptem") < 0)
- warn("Couldn't push ptem module on pty slave: %m");
-
- dbglog("Using %s", pty_name);
- strlcpy(slave_name, pty_name, MAXPATHLEN);
- *master_fdp = mfd;
- *slave_fdp = sfd;
-
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/sys-sunos4.c b/mdk-stage1/ppp/pppd/sys-sunos4.c
deleted file mode 100644
index 3344948e9..000000000
--- a/mdk-stage1/ppp/pppd/sys-sunos4.c
+++ /dev/null
@@ -1,1559 +0,0 @@
-/*
- * System-dependent procedures for pppd under SunOS 4.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <termios.h>
-#include <signal.h>
-#include <malloc.h>
-#include <utmp.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/poll.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/nit_if.h>
-#include <net/route.h>
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include <netinet/in.h>
-
-#include "pppd.h"
-
-#if defined(sun) && defined(sparc)
-#include <alloca.h>
-#ifndef __GNUC__
-extern void *alloca();
-#endif
-#endif /*sparc*/
-
-static const char rcsid[] = RCSID;
-
-static int pppfd;
-static int fdmuxid = -1;
-static int iffd;
-static int sockfd;
-
-static int restore_term;
-static struct termios inittermios;
-static struct winsize wsinfo; /* Initial window size info */
-static pid_t parent_pid; /* PID of our parent */
-
-extern u_char inpacket_buf[]; /* borrowed from main.c */
-
-#define MAX_POLLFDS 32
-static struct pollfd pollfds[MAX_POLLFDS];
-static int n_pollfds;
-
-static int link_mtu, link_mru;
-
-#define NMODULES 32
-static int tty_nmodules;
-static char tty_modules[NMODULES][FMNAMESZ+1];
-
-static int if_is_up; /* Interface has been marked up */
-static u_int32_t ifaddrs[2]; /* local and remote addresses */
-static u_int32_t default_route_gateway; /* Gateway for default route added */
-static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
-
-/* Prototypes for procedures local to this file. */
-static int translate_speed __P((int));
-static int baud_rate_of __P((int));
-static int get_ether_addr __P((u_int32_t, struct sockaddr *));
-static int strioctl __P((int, int, void *, int, int));
-
-
-/*
- * sys_init - System-dependent initialization.
- */
-void
-sys_init()
-{
- int x;
-
- /* Get an internet socket for doing socket ioctl's on. */
- if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
- fatal("Couldn't create IP socket: %m");
-
- /*
- * We may want to send a SIGHUP to the session leader associated
- * with our controlling terminal later. Because SunOS doesn't
- * have getsid(), we make do with sending the signal to our
- * parent process.
- */
- parent_pid = getppid();
-
- /*
- * Open the ppp device.
- */
- pppfd = open("/dev/ppp", O_RDWR | O_NONBLOCK, 0);
- if (pppfd < 0)
- fatal("Can't open /dev/ppp: %m");
- if (kdebugflag) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(pppfd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
-
- /* Assign a new PPA and get its unit number. */
- if (strioctl(pppfd, PPPIO_NEWPPA, &ifunit, 0, sizeof(int)) < 0)
- fatal("Can't create new PPP interface: %m");
-
- /*
- * Open the ppp device again and push the if_ppp module on it.
- */
- iffd = open("/dev/ppp", O_RDWR, 0);
- if (iffd < 0)
- fatal("Can't open /dev/ppp (2): %m");
- if (kdebugflag) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(iffd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
- if (strioctl(iffd, PPPIO_ATTACH, &ifunit, sizeof(int), 0) < 0)
- fatal("Couldn't attach ppp interface to device: %m");
- if (ioctl(iffd, I_PUSH, "if_ppp") < 0)
- fatal("Can't push ppp interface module: %m");
- if (kdebugflag) {
- x = PPPDBG_LOG + PPPDBG_IF;
- strioctl(iffd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
- if (strioctl(iffd, PPPIO_NEWPPA, &ifunit, sizeof(int), 0) < 0)
- fatal("Couldn't create ppp interface unit: %m");
- x = PPP_IP;
- if (strioctl(iffd, PPPIO_BIND, &x, sizeof(int), 0) < 0)
- fatal("Couldn't bind ppp interface to IP SAP: %m");
-
- n_pollfds = 0;
-}
-
-/*
- * sys_cleanup - restore any system state we modified before exiting:
- * mark the interface down, delete default route and/or proxy arp entry.
- * This shouldn't call die() because it's called from die().
- */
-void
-sys_cleanup()
-{
- if (if_is_up)
- sifdown(0);
- if (ifaddrs[0])
- cifaddr(0, ifaddrs[0], ifaddrs[1]);
- if (default_route_gateway)
- cifdefaultroute(0, 0, default_route_gateway);
- if (proxy_arp_addr)
- cifproxyarp(0, proxy_arp_addr);
-}
-
-/*
- * sys_close - Clean up in a child process before execing.
- */
-void
-sys_close()
-{
- close(iffd);
- close(pppfd);
- close(sockfd);
-}
-
-/*
- * sys_check_options - check the options that the user specified
- */
-int
-sys_check_options()
-{
- return 1;
-}
-
-#if 0
-/*
- * daemon - Detach us from controlling terminal session.
- */
-int
-daemon(nochdir, noclose)
- int nochdir, noclose;
-{
- int pid;
-
- if ((pid = fork()) < 0)
- return -1;
- if (pid != 0)
- exit(0); /* parent dies */
- setsid();
- if (!nochdir)
- chdir("/");
- if (!noclose) {
- fclose(stdin); /* don't need stdin, stdout, stderr */
- fclose(stdout);
- fclose(stderr);
- }
- return 0;
-}
-#endif
-
-/*
- * ppp_available - check whether the system has any ppp interfaces
- */
-int
-ppp_available()
-{
- struct stat buf;
-
- return stat("/dev/ppp", &buf) >= 0;
-}
-
-/*
- * tty_establish_ppp - Turn the serial port into a ppp interface.
- */
-int
-tty_establish_ppp(fd)
- int fd;
-{
- int i;
-
- /* Pop any existing modules off the tty stream. */
- for (i = 0;; ++i)
- if (ioctl(fd, I_LOOK, tty_modules[i]) < 0
- || ioctl(fd, I_POP, 0) < 0)
- break;
- tty_nmodules = i;
-
- /* Push the async hdlc module and the compressor module. */
- if (ioctl(fd, I_PUSH, "ppp_ahdl") < 0)
- fatal("Couldn't push PPP Async HDLC module: %m");
- if (ioctl(fd, I_PUSH, "ppp_comp") < 0)
- error("Couldn't push PPP compression module: %m");
-
- /* Link the serial port under the PPP multiplexor. */
- if ((fdmuxid = ioctl(pppfd, I_LINK, fd)) < 0)
- fatal("Can't link tty to PPP mux: %m");
-
- return pppfd;
-}
-
-/*
- * disestablish_ppp - Restore the serial port to normal operation.
- * It attempts to reconstruct the stream with the previously popped
- * modules. This shouldn't call die() because it's called from die().
- */
-void
-tty_disestablish_ppp(fd)
- int fd;
-{
- int i;
-
- if (fdmuxid >= 0) {
- if (ioctl(pppfd, I_UNLINK, fdmuxid) < 0) {
- if (!hungup)
- error("Can't unlink tty from PPP mux: %m");
- }
- fdmuxid = -1;
-
- if (!hungup) {
- while (ioctl(fd, I_POP, 0) >= 0)
- ;
- for (i = tty_nmodules - 1; i >= 0; --i)
- if (ioctl(fd, I_PUSH, tty_modules[i]) < 0)
- error("Couldn't restore tty module %s: %m",
- tty_modules[i]);
- }
- if (hungup && default_device && parent_pid > 0) {
- /*
- * If we have received a hangup, we need to send a SIGHUP
- * to the terminal's controlling process. The reason is
- * that the original stream head for the terminal hasn't
- * seen the M_HANGUP message (it went up through the ppp
- * driver to the stream head for our fd to /dev/ppp).
- * Actually we send the signal to the process that invoked
- * pppd, since SunOS doesn't have getsid().
- */
- kill(parent_pid, SIGHUP);
- }
- }
-}
-
-/*
- * Check whether the link seems not to be 8-bit clean.
- */
-void
-clean_check()
-{
- int x;
- char *s;
-
- if (strioctl(pppfd, PPPIO_GCLEAN, &x, 0, sizeof(x)) < 0)
- return;
- s = NULL;
- switch (~x) {
- case RCV_B7_0:
- s = "bit 7 set to 1";
- break;
- case RCV_B7_1:
- s = "bit 7 set to 0";
- break;
- case RCV_EVNP:
- s = "odd parity";
- break;
- case RCV_ODDP:
- s = "even parity";
- break;
- }
- if (s != NULL) {
- warn("Serial link is not 8-bit clean:");
- warn("All received characters had %s", s);
- }
-}
-
-/*
- * List of valid speeds.
- */
-struct speed {
- int speed_int, speed_val;
-} speeds[] = {
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2000
- { 2000, B2000 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B3600
- { 3600, B3600 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B7200
- { 7200, B7200 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef EXTA
- { 19200, EXTA },
-#endif
-#ifdef EXTB
- { 38400, EXTB },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
- { 0, 0 }
-};
-
-/*
- * Translate from bits/second to a speed_t.
- */
-static int
-translate_speed(bps)
- int bps;
-{
- struct speed *speedp;
-
- if (bps == 0)
- return 0;
- for (speedp = speeds; speedp->speed_int; speedp++)
- if (bps == speedp->speed_int)
- return speedp->speed_val;
- warn("speed %d not supported", bps);
- return 0;
-}
-
-/*
- * Translate from a speed_t to bits/second.
- */
-static int
-baud_rate_of(speed)
- int speed;
-{
- struct speed *speedp;
-
- if (speed == 0)
- return 0;
- for (speedp = speeds; speedp->speed_int; speedp++)
- if (speed == speedp->speed_val)
- return speedp->speed_int;
- return 0;
-}
-
-/*
- * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
- * at the requested speed, etc. If `local' is true, set CLOCAL
- * regardless of whether the modem option was specified.
- */
-void
-set_up_tty(fd, local)
- int fd, local;
-{
- int speed;
- struct termios tios;
-
- if (tcgetattr(fd, &tios) < 0)
- fatal("tcgetattr: %m");
-
- if (!restore_term) {
- inittermios = tios;
- ioctl(fd, TIOCGWINSZ, &wsinfo);
- }
-
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
- if (crtscts > 0)
- tios.c_cflag |= CRTSCTS;
- else if (crtscts < 0)
- tios.c_cflag &= ~CRTSCTS;
-
- tios.c_cflag |= CS8 | CREAD | HUPCL;
- if (local || !modem)
- tios.c_cflag |= CLOCAL;
- tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- tios.c_cc[VMIN] = 1;
- tios.c_cc[VTIME] = 0;
-
- if (crtscts == -2) {
- tios.c_iflag |= IXON | IXOFF;
- tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
- tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
- }
-
- speed = translate_speed(inspeed);
- if (speed) {
- cfsetospeed(&tios, speed);
- cfsetispeed(&tios, speed);
- } else {
- speed = cfgetospeed(&tios);
- /*
- * We can't proceed if the serial port speed is 0,
- * since that implies that the serial port is disabled.
- */
- if (speed == B0)
- fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
- }
-
- if (tcsetattr(fd, TCSAFLUSH, &tios) < 0)
- fatal("tcsetattr: %m");
-
- baud_rate = inspeed = baud_rate_of(speed);
- restore_term = 1;
-}
-
-/*
- * restore_tty - restore the terminal to the saved settings.
- */
-void
-restore_tty(fd)
- int fd;
-{
- if (restore_term) {
- if (!default_device) {
- /*
- * Turn off echoing, because otherwise we can get into
- * a loop with the tty and the modem echoing to each other.
- * We presume we are the sole user of this tty device, so
- * when we close it, it will revert to its defaults anyway.
- */
- inittermios.c_lflag &= ~(ECHO | ECHONL);
- }
- if (tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
- if (!hungup && errno != ENXIO)
- warn("tcsetattr: %m");
- ioctl(fd, TIOCSWINSZ, &wsinfo);
- restore_term = 0;
- }
-}
-
-/*
- * setdtr - control the DTR line on the serial port.
- * This is called from die(), so it shouldn't call die().
- */
-void
-setdtr(fd, on)
-int fd, on;
-{
- int modembits = TIOCM_DTR;
-
- ioctl(fd, (on? TIOCMBIS: TIOCMBIC), &modembits);
-}
-
-/*
- * open_loopback - open the device we use for getting packets
- * in demand mode. Under SunOS, we use our existing fd
- * to the ppp driver.
- */
-int
-open_ppp_loopback()
-{
- return pppfd;
-}
-
-/*
- * output - Output PPP packet.
- */
-void
-output(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- struct strbuf data;
- int retries;
- struct pollfd pfd;
-
- if (debug)
- dbglog("sent %P", p, len);
-
- data.len = len;
- data.buf = (caddr_t) p;
- retries = 4;
- while (putmsg(pppfd, NULL, &data, 0) < 0) {
- if (--retries < 0 || (errno != EWOULDBLOCK && errno != EAGAIN)) {
- if (errno != ENXIO)
- error("Couldn't send packet: %m");
- break;
- }
- pfd.fd = pppfd;
- pfd.events = POLLOUT;
- poll(&pfd, 1, 250); /* wait for up to 0.25 seconds */
- }
-}
-
-
-/*
- * wait_input - wait until there is data available,
- * for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-void
-wait_input(timo)
- struct timeval *timo;
-{
- int t;
-
- t = timo == NULL? -1: timo->tv_sec * 1000 + timo->tv_usec / 1000;
- if (poll(pollfds, n_pollfds, t) < 0 && errno != EINTR) {
- if (errno != EAGAIN)
- fatal("poll: %m");
- /* we can get EAGAIN on a heavily loaded system,
- * just wait a short time and try again. */
- usleep(50000);
- }
-}
-
-/*
- * add_fd - add an fd to the set that wait_input waits for.
- */
-void add_fd(fd)
- int fd;
-{
- int n;
-
- for (n = 0; n < n_pollfds; ++n)
- if (pollfds[n].fd == fd)
- return;
- if (n_pollfds < MAX_POLLFDS) {
- pollfds[n_pollfds].fd = fd;
- pollfds[n_pollfds].events = POLLIN | POLLPRI | POLLHUP;
- ++n_pollfds;
- } else
- error("Too many inputs!");
-}
-
-/*
- * remove_fd - remove an fd from the set that wait_input waits for.
- */
-void remove_fd(fd)
- int fd;
-{
- int n;
-
- for (n = 0; n < n_pollfds; ++n) {
- if (pollfds[n].fd == fd) {
- while (++n < n_pollfds)
- pollfds[n-1] = pollfds[n];
- --n_pollfds;
- break;
- }
- }
-}
-
-#if 0
-/*
- * wait_loop_output - wait until there is data available on the
- * loopback, for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-void
-wait_loop_output(timo)
- struct timeval *timo;
-{
- wait_input(timo);
-}
-
-/*
- * wait_time - wait for a given length of time or until a
- * signal is received.
- */
-void
-wait_time(timo)
- struct timeval *timo;
-{
- int n;
-
- n = select(0, NULL, NULL, NULL, timo);
- if (n < 0 && errno != EINTR)
- fatal("select: %m");
-}
-#endif
-
-/*
- * read_packet - get a PPP packet from the serial device.
- */
-int
-read_packet(buf)
- u_char *buf;
-{
- struct strbuf ctrl, data;
- int flags, len;
- unsigned char ctrlbuf[64];
-
- for (;;) {
- data.maxlen = PPP_MRU + PPP_HDRLEN;
- data.buf = (caddr_t) buf;
- ctrl.maxlen = sizeof(ctrlbuf);
- ctrl.buf = (caddr_t) ctrlbuf;
- flags = 0;
- len = getmsg(pppfd, &ctrl, &data, &flags);
- if (len < 0) {
- if (errno == EAGAIN || errno == EINTR)
- return -1;
- fatal("Error reading packet: %m");
- }
-
- if (ctrl.len <= 0)
- return data.len;
-
- /*
- * Got a M_PROTO or M_PCPROTO message. Huh?
- */
- if (debug)
- dbglog("got ctrl msg len=%d", ctrl.len);
-
- }
-}
-
-/*
- * get_loop_output - get outgoing packets from the ppp device,
- * and detect when we want to bring the real link up.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-get_loop_output()
-{
- int len;
- int rv = 0;
-
- while ((len = read_packet(inpacket_buf)) > 0) {
- if (loop_frame(inpacket_buf, len))
- rv = 1;
- }
- return rv;
-}
-
-/*
- * ppp_send_config - configure the transmit characteristics of
- * the ppp interface.
- */
-void
-ppp_send_config(unit, mtu, asyncmap, pcomp, accomp)
- int unit, mtu;
- u_int32_t asyncmap;
- int pcomp, accomp;
-{
- int cf[2];
- struct ifreq ifr;
-
- link_mtu = mtu;
- if (strioctl(pppfd, PPPIO_MTU, &mtu, sizeof(mtu), 0) < 0) {
- if (hungup && errno == ENXIO)
- return;
- error("Couldn't set MTU: %m");
- }
- if (strioctl(pppfd, PPPIO_XACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
- error("Couldn't set transmit ACCM: %m");
- }
- cf[0] = (pcomp? COMP_PROT: 0) + (accomp? COMP_AC: 0);
- cf[1] = COMP_PROT | COMP_AC;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- error("Couldn't set prot/AC compression: %m");
- }
-
- /* set mtu for ip as well */
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_metric = link_mtu;
- if (ioctl(sockfd, SIOCSIFMTU, &ifr) < 0) {
- error("Couldn't set IP MTU: %m");
- }
-}
-
-/*
- * ppp_set_xaccm - set the extended transmit ACCM for the interface.
- */
-void
-ppp_set_xaccm(unit, accm)
- int unit;
- ext_accm accm;
-{
- if (strioctl(pppfd, PPPIO_XACCM, accm, sizeof(ext_accm), 0) < 0) {
- if (!hungup || errno != ENXIO)
- warn("Couldn't set extended ACCM: %m");
- }
-}
-
-/*
- * ppp_recv_config - configure the receive-side characteristics of
- * the ppp interface.
- */
-void
-ppp_recv_config(unit, mru, asyncmap, pcomp, accomp)
- int unit, mru;
- u_int32_t asyncmap;
- int pcomp, accomp;
-{
- int cf[2];
-
- link_mru = mru;
- if (strioctl(pppfd, PPPIO_MRU, &mru, sizeof(mru), 0) < 0) {
- if (hungup && errno == ENXIO)
- return;
- error("Couldn't set MRU: %m");
- }
- if (strioctl(pppfd, PPPIO_RACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
- error("Couldn't set receive ACCM: %m");
- }
- cf[0] = (pcomp? DECOMP_PROT: 0) + (accomp? DECOMP_AC: 0);
- cf[1] = DECOMP_PROT | DECOMP_AC;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- error("Couldn't set prot/AC decompression: %m");
- }
-}
-
-/*
- * ccp_test - ask kernel whether a given compression method
- * is acceptable for use.
- */
-int
-ccp_test(unit, opt_ptr, opt_len, for_transmit)
- int unit, opt_len, for_transmit;
- u_char *opt_ptr;
-{
- if (strioctl(pppfd, (for_transmit? PPPIO_XCOMP: PPPIO_RCOMP),
- opt_ptr, opt_len, 0) >= 0)
- return 1;
- return (errno == ENOSR)? 0: -1;
-}
-
-/*
- * ccp_flags_set - inform kernel about the current state of CCP.
- */
-void
-ccp_flags_set(unit, isopen, isup)
- int unit, isopen, isup;
-{
- int cf[2];
-
- cf[0] = (isopen? CCP_ISOPEN: 0) + (isup? CCP_ISUP: 0);
- cf[1] = CCP_ISOPEN | CCP_ISUP | CCP_ERROR | CCP_FATALERROR;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (!hungup || errno != ENXIO)
- error("Couldn't set kernel CCP state: %m");
- }
-}
-
-/*
- * get_idle_time - return how long the link has been idle.
- */
-int
-get_idle_time(u, ip)
- int u;
- struct ppp_idle *ip;
-{
- return strioctl(pppfd, PPPIO_GIDLE, ip, 0, sizeof(struct ppp_idle)) >= 0;
-}
-
-/*
- * get_ppp_stats - return statistics for the link.
- */
-int
-get_ppp_stats(u, stats)
- int u;
- struct pppd_stats *stats;
-{
- struct ppp_stats s;
-
- if (strioctl(pppfd, PPPIO_GETSTAT, &s, 0, sizeof(s)) < 0) {
- error("Couldn't get link statistics: %m");
- return 0;
- }
- stats->bytes_in = s.p.ppp_ibytes;
- stats->bytes_out = s.p.ppp_obytes;
- return 1;
-}
-
-
-/*
- * ccp_fatal_error - returns 1 if decompression was disabled as a
- * result of an error detected after decompression of a packet,
- * 0 otherwise. This is necessary because of patent nonsense.
- */
-int
-ccp_fatal_error(unit)
- int unit;
-{
- int cf[2];
-
- cf[0] = cf[1] = 0;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (errno != ENXIO && errno != EINVAL)
- error("Couldn't get compression flags: %m");
- return 0;
- }
- return cf[0] & CCP_FATALERROR;
-}
-
-/*
- * sifvjcomp - config tcp header compression
- */
-int
-sifvjcomp(u, vjcomp, xcidcomp, xmaxcid)
- int u, vjcomp, xcidcomp, xmaxcid;
-{
- int cf[2];
- char maxcid[2];
-
- if (vjcomp) {
- maxcid[0] = xcidcomp;
- maxcid[1] = 15; /* XXX should be rmaxcid */
- if (strioctl(pppfd, PPPIO_VJINIT, maxcid, sizeof(maxcid), 0) < 0) {
- error("Couldn't initialize VJ compression: %m");
- }
- }
-
- cf[0] = (vjcomp? COMP_VJC + DECOMP_VJC: 0) /* XXX this is wrong */
- + (xcidcomp? COMP_VJCCID + DECOMP_VJCCID: 0);
- cf[1] = COMP_VJC + DECOMP_VJC + COMP_VJCCID + DECOMP_VJCCID;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (vjcomp)
- error("Couldn't enable VJ compression: %m");
- }
-
- return 1;
-}
-
-/*
- * sifup - Config the interface up and enable IP packets to pass.
- */
-int
-sifup(u)
- int u;
-{
- struct ifreq ifr;
-
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface up (get): %m");
- return 0;
- }
- ifr.ifr_flags |= IFF_UP;
- if (ioctl(sockfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface up (set): %m");
- return 0;
- }
- if_is_up = 1;
- return 1;
-}
-
-/*
- * sifdown - Config the interface down and disable IP.
- */
-int
-sifdown(u)
- int u;
-{
- struct ifreq ifr;
-
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface down (get): %m");
- return 0;
- }
- if ((ifr.ifr_flags & IFF_UP) != 0) {
- ifr.ifr_flags &= ~IFF_UP;
- if (ioctl(sockfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface down (set): %m");
- return 0;
- }
- }
- if_is_up = 0;
- return 1;
-}
-
-/*
- * sifnpmode - Set the mode for handling packets for a given NP.
- */
-int
-sifnpmode(u, proto, mode)
- int u;
- int proto;
- enum NPmode mode;
-{
- int npi[2];
-
- npi[0] = proto;
- npi[1] = (int) mode;
- if (strioctl(pppfd, PPPIO_NPMODE, npi, 2 * sizeof(int), 0) < 0) {
- error("ioctl(set NP %d mode to %d): %m", proto, mode);
- return 0;
- }
- return 1;
-}
-
-#define INET_ADDR(x) (((struct sockaddr_in *) &(x))->sin_addr.s_addr)
-
-/*
- * sifaddr - Config the interface IP addresses and netmask.
- */
-int
-sifaddr(u, o, h, m)
- int u;
- u_int32_t o, h, m;
-{
- struct ifreq ifr;
-
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_addr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_addr) = m;
- if (ioctl(sockfd, SIOCSIFNETMASK, &ifr) < 0) {
- error("Couldn't set IP netmask: %m");
- }
- ifr.ifr_addr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_addr) = o;
- if (ioctl(sockfd, SIOCSIFADDR, &ifr) < 0) {
- error("Couldn't set local IP address: %m");
- }
- ifr.ifr_dstaddr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_dstaddr) = h;
- if (ioctl(sockfd, SIOCSIFDSTADDR, &ifr) < 0) {
- error("Couldn't set remote IP address: %m");
- }
-#if 0 /* now done in ppp_send_config */
- ifr.ifr_metric = link_mtu;
- if (ioctl(sockfd, SIOCSIFMTU, &ifr) < 0) {
- error("Couldn't set IP MTU: %m");
- }
-#endif
- ifaddrs[0] = o;
- ifaddrs[1] = h;
-
- return 1;
-}
-
-/*
- * cifaddr - Clear the interface IP addresses, and delete routes
- * through the interface if possible.
- */
-int
-cifaddr(u, o, h)
- int u;
- u_int32_t o, h;
-{
- struct rtentry rt;
-
- bzero(&rt, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = h;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = o;
- rt.rt_flags = RTF_HOST;
- if (ioctl(sockfd, SIOCDELRT, &rt) < 0)
- error("Couldn't delete route through interface: %m");
- ifaddrs[0] = 0;
- return 1;
-}
-
-/*
- * sifdefaultroute - assign a default route through the address given.
- */
-int
-sifdefaultroute(u, l, g)
- int u;
- u_int32_t l, g;
-{
- struct rtentry rt;
-
- bzero(&rt, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = 0;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = g;
- rt.rt_flags = RTF_GATEWAY;
-
- if (ioctl(sockfd, SIOCADDRT, &rt) < 0) {
- error("Can't add default route: %m");
- return 0;
- }
-
- default_route_gateway = g;
- return 1;
-}
-
-/*
- * cifdefaultroute - delete a default route through the address given.
- */
-int
-cifdefaultroute(u, l, g)
- int u;
- u_int32_t l, g;
-{
- struct rtentry rt;
-
- bzero(&rt, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = 0;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = g;
- rt.rt_flags = RTF_GATEWAY;
-
- if (ioctl(sockfd, SIOCDELRT, &rt) < 0) {
- error("Can't delete default route: %m");
- return 0;
- }
-
- default_route_gateway = 0;
- return 1;
-}
-
-/*
- * sifproxyarp - Make a proxy ARP entry for the peer.
- */
-int
-sifproxyarp(unit, hisaddr)
- int unit;
- u_int32_t hisaddr;
-{
- struct arpreq arpreq;
-
- bzero(&arpreq, sizeof(arpreq));
- if (!get_ether_addr(hisaddr, &arpreq.arp_ha))
- return 0;
-
- arpreq.arp_pa.sa_family = AF_INET;
- INET_ADDR(arpreq.arp_pa) = hisaddr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
- if (ioctl(sockfd, SIOCSARP, (caddr_t) &arpreq) < 0) {
- error("Couldn't set proxy ARP entry: %m");
- return 0;
- }
-
- proxy_arp_addr = hisaddr;
- return 1;
-}
-
-/*
- * cifproxyarp - Delete the proxy ARP entry for the peer.
- */
-int
-cifproxyarp(unit, hisaddr)
- int unit;
- u_int32_t hisaddr;
-{
- struct arpreq arpreq;
-
- bzero(&arpreq, sizeof(arpreq));
- arpreq.arp_pa.sa_family = AF_INET;
- INET_ADDR(arpreq.arp_pa) = hisaddr;
- if (ioctl(sockfd, SIOCDARP, (caddr_t)&arpreq) < 0) {
- error("Couldn't delete proxy ARP entry: %m");
- return 0;
- }
-
- proxy_arp_addr = 0;
- return 1;
-}
-
-/*
- * get_ether_addr - get the hardware address of an interface on the
- * the same subnet as ipaddr.
- */
-#define MAX_IFS 32
-
-static int
-get_ether_addr(ipaddr, hwaddr)
- u_int32_t ipaddr;
- struct sockaddr *hwaddr;
-{
- struct ifreq *ifr, *ifend;
- u_int32_t ina, mask;
- struct ifreq ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
- int nit_fd;
-
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sockfd, SIOCGIFCONF, &ifc) < 0) {
- error("ioctl(SIOCGIFCONF): %m");
- return 0;
- }
-
- /*
- * Scan through looking for an interface with an Internet
- * address on the same subnet as `ipaddr'.
- */
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ifr = (struct ifreq *)
- ((char *)&ifr->ifr_addr + sizeof(struct sockaddr))) {
- if (ifr->ifr_addr.sa_family == AF_INET) {
-
- /*
- * Check that the interface is up, and not point-to-point
- * or loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(sockfd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
- if ((ifreq.ifr_flags &
- (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
- != (IFF_UP|IFF_BROADCAST))
- continue;
-
- /*
- * Get its netmask and check that it's on the right subnet.
- */
- if (ioctl(sockfd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- ina = ((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr.s_addr;
- mask = ((struct sockaddr_in *) &ifreq.ifr_addr)->sin_addr.s_addr;
- if ((ipaddr & mask) != (ina & mask))
- continue;
-
- break;
- }
- }
-
- if (ifr >= ifend)
- return 0;
- info("found interface %s for proxy arp", ifr->ifr_name);
-
- /*
- * Grab the physical address for this interface.
- */
- if ((nit_fd = open("/dev/nit", O_RDONLY)) < 0) {
- error("Couldn't open /dev/nit: %m");
- return 0;
- }
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(nit_fd, NIOCBIND, &ifreq) < 0
- || ioctl(nit_fd, SIOCGIFADDR, &ifreq) < 0) {
- error("Couldn't get hardware address for %s: %m",
- ifreq.ifr_name);
- close(nit_fd);
- return 0;
- }
-
- hwaddr->sa_family = AF_UNSPEC;
- memcpy(hwaddr->sa_data, ifreq.ifr_addr.sa_data, 6);
- close(nit_fd);
- return 1;
-}
-
-/*
- * have_route_to - determine if the system has any route to
- * a given IP address.
- * For demand mode to work properly, we have to ignore routes
- * through our own interface.
- */
-int have_route_to(addr)
- u_int32_t addr;
-{
- return -1;
-}
-
-#define WTMPFILE "/usr/adm/wtmp"
-
-void
-logwtmp(line, name, host)
- const char *line, *name, *host;
-{
- int fd;
- struct stat buf;
- struct utmp ut;
-
- if ((fd = open(WTMPFILE, O_WRONLY|O_APPEND, 0)) < 0)
- return;
- if (!fstat(fd, &buf)) {
- strncpy(ut.ut_line, line, sizeof(ut.ut_line));
- strncpy(ut.ut_name, name, sizeof(ut.ut_name));
- strncpy(ut.ut_host, host, sizeof(ut.ut_host));
- (void)time(&ut.ut_time);
- if (write(fd, (char *)&ut, sizeof(struct utmp)) != sizeof(struct utmp))
- (void)ftruncate(fd, buf.st_size);
- }
- close(fd);
-}
-
-/*
- * Return user specified netmask, modified by any mask we might determine
- * for address `addr' (in network byte order).
- * Here we scan through the system's list of interfaces, looking for
- * any non-point-to-point interfaces which might appear to be on the same
- * network as `addr'. If we find any, we OR in their netmask to the
- * user-specified netmask.
- */
-u_int32_t
-GetMask(addr)
- u_int32_t addr;
-{
- u_int32_t mask, nmask, ina;
- struct ifreq *ifr, *ifend, ifreq;
- struct ifconf ifc;
-
- addr = ntohl(addr);
- if (IN_CLASSA(addr)) /* determine network mask for address class */
- nmask = IN_CLASSA_NET;
- else if (IN_CLASSB(addr))
- nmask = IN_CLASSB_NET;
- else
- nmask = IN_CLASSC_NET;
- /* class D nets are disallowed by bad_ip_adrs */
- mask = netmask | htonl(nmask);
-
- /*
- * Scan through the system's network interfaces.
- */
- ifc.ifc_len = MAX_IFS * sizeof(struct ifreq);
- ifc.ifc_req = alloca(ifc.ifc_len);
- if (ifc.ifc_req == 0)
- return mask;
- if (ioctl(sockfd, SIOCGIFCONF, &ifc) < 0) {
- warn("Couldn't get system interface list: %m");
- return mask;
- }
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
- /*
- * Check the interface's internet address.
- */
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- ina = INET_ADDR(ifr->ifr_addr);
- if ((ntohl(ina) & nmask) != (addr & nmask))
- continue;
- /*
- * Check that the interface is up, and not point-to-point or loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(sockfd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
- if ((ifreq.ifr_flags & (IFF_UP|IFF_POINTOPOINT|IFF_LOOPBACK))
- != IFF_UP)
- continue;
- /*
- * Get its netmask and OR it into our mask.
- */
- if (ioctl(sockfd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- mask |= INET_ADDR(ifreq.ifr_addr);
- }
-
- return mask;
-}
-
-static int
-strioctl(fd, cmd, ptr, ilen, olen)
- int fd, cmd, ilen, olen;
- void *ptr;
-{
- struct strioctl str;
-
- str.ic_cmd = cmd;
- str.ic_timout = 0;
- str.ic_len = ilen;
- str.ic_dp = ptr;
- if (ioctl(fd, I_STR, &str) == -1)
- return -1;
- if (str.ic_len != olen)
- dbglog("strioctl: expected %d bytes, got %d for cmd %x\n",
- olen, str.ic_len, cmd);
- return 0;
-}
-
-/*
- * Use the hostid as part of the random number seed.
- */
-int
-get_host_seed()
-{
- return gethostid();
-}
-
-#if 0
-/*
- * Code for locking/unlocking the serial device.
- * This code is derived from chat.c.
- */
-
-#if !defined(HDB) && !defined(SUNOS3)
-#define HDB 1 /* ascii lock files are the default */
-#endif
-
-#ifndef LOCK_DIR
-# if HDB
-# define PIDSTRING
-# define LOCK_PREFIX "/usr/spool/locks/LCK.."
-# else /* HDB */
-# define LOCK_PREFIX "/usr/spool/uucp/LCK.."
-# endif /* HDB */
-#endif /* LOCK_DIR */
-
-static char *lock_file; /* name of lock file created */
-
-/*
- * lock - create a lock file for the named device.
- */
-int
-lock(dev)
- char *dev;
-{
- char hdb_lock_buffer[12];
- int fd, pid, n;
- char *p;
- size_t l;
-
- if ((p = strrchr(dev, '/')) != NULL)
- dev = p + 1;
- l = strlen(LOCK_PREFIX) + strlen(dev) + 1;
- lock_file = malloc(l);
- if (lock_file == NULL)
- novm("lock file name");
- slprintf(lock_file, l, "%s%s", LOCK_PREFIX, dev);
-
- while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
- if (errno == EEXIST
- && (fd = open(lock_file, O_RDONLY, 0)) >= 0) {
- /* Read the lock file to find out who has the device locked */
-#ifdef PIDSTRING
- n = read(fd, hdb_lock_buffer, 11);
- if (n > 0) {
- hdb_lock_buffer[n] = 0;
- pid = atoi(hdb_lock_buffer);
- }
-#else
- n = read(fd, &pid, sizeof(pid));
-#endif
- if (n <= 0) {
- error("Can't read pid from lock file %s", lock_file);
- close(fd);
- } else {
- if (kill(pid, 0) == -1 && errno == ESRCH) {
- /* pid no longer exists - remove the lock file */
- if (unlink(lock_file) == 0) {
- close(fd);
- notice("Removed stale lock on %s (pid %d)",
- dev, pid);
- continue;
- } else
- warn("Couldn't remove stale lock on %s",
- dev);
- } else
- notice("Device %s is locked by pid %d",
- dev, pid);
- }
- close(fd);
- } else
- error("Can't create lock file %s: %m", lock_file);
- free(lock_file);
- lock_file = NULL;
- return -1;
- }
-
-#ifdef PIDSTRING
- slprintf(hdb_lock_buffer, sizeof(hdb_lock_buffer), "%10d\n", getpid());
- write(fd, hdb_lock_buffer, 11);
-#else
- pid = getpid();
- write(fd, &pid, sizeof pid);
-#endif
-
- close(fd);
- return 0;
-}
-
-/*
- * unlock - remove our lockfile
- */
-void
-unlock()
-{
- if (lock_file) {
- unlink(lock_file);
- free(lock_file);
- lock_file = NULL;
- }
-}
-#endif /* lock stuff removed */
-
-/*
- * get_pty - get a pty master/slave pair and chown the slave side
- * to the uid given. Assumes slave_name points to >= 12 bytes of space.
- */
-int
-get_pty(master_fdp, slave_fdp, slave_name, uid)
- int *master_fdp;
- int *slave_fdp;
- char *slave_name;
- int uid;
-{
- int i, mfd, sfd;
- char pty_name[12];
- struct termios tios;
-
- sfd = -1;
- for (i = 0; i < 64; ++i) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
- 'p' + i / 16, i % 16);
- mfd = open(pty_name, O_RDWR, 0);
- if (mfd >= 0) {
- pty_name[5] = 't';
- sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
- if (sfd >= 0)
- break;
- close(mfd);
- }
- }
- if (sfd < 0)
- return 0;
-
- strlcpy(slave_name, pty_name, 12);
- *master_fdp = mfd;
- *slave_fdp = sfd;
- fchown(sfd, uid, -1);
- fchmod(sfd, S_IRUSR | S_IWUSR);
- if (tcgetattr(sfd, &tios) == 0) {
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
- tios.c_cflag |= CS8 | CREAD;
- tios.c_iflag = IGNPAR | CLOCAL;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
- warn("couldn't set attributes on pty: %m");
- } else
- warn("couldn't get attributes on pty: %m");
-
- return 1;
-}
-
-/*
- * SunOS doesn't have strtoul :-(
- */
-unsigned long
-strtoul(str, ptr, base)
- char *str, **ptr;
- int base;
-{
- return (unsigned long) strtol(str, ptr, base);
-}
-
-/*
- * Or strerror :-(
- */
-extern char *sys_errlist[];
-extern int sys_nerr;
-
-char *
-strerror(n)
- int n;
-{
- static char unknown[32];
-
- if (n > 0 && n < sys_nerr)
- return sys_errlist[n];
- slprintf(unknown, sizeof(unknown), "Error %d", n);
- return unknown;
-}
diff --git a/mdk-stage1/ppp/pppd/tdb.c b/mdk-stage1/ppp/pppd/tdb.c
deleted file mode 100644
index 7fd58291e..000000000
--- a/mdk-stage1/ppp/pppd/tdb.c
+++ /dev/null
@@ -1,1282 +0,0 @@
-/*
- * Database functions
- * Copyright (C) Andrew Tridgell 1999
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms AND provided that this software or
- * any derived work is only used as part of the PPP daemon (pppd)
- * and related utilities.
- * 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Note: this software is also available under the Gnu Public License
- * version 2 or later.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include "tdb.h"
-
-#define TDB_VERSION (0x26011967 + 1)
-#define TDB_MAGIC (0x26011999U)
-#define TDB_FREE_MAGIC (~TDB_MAGIC)
-#define TDB_ALIGN 4
-#define MIN_REC_SIZE (2*sizeof(struct list_struct) + TDB_ALIGN)
-#define DEFAULT_HASH_SIZE 128
-#define TDB_PAGE_SIZE 0x2000
-#define TDB_LEN_MULTIPLIER 10
-#define FREELIST_TOP (sizeof(struct tdb_header))
-
-#define LOCK_SET 1
-#define LOCK_CLEAR 0
-
-/* lock offsets */
-#define GLOBAL_LOCK 0
-#define ACTIVE_LOCK 4
-#define LIST_LOCK_BASE 1024
-
-#define BUCKET(hash) ((hash) % tdb->header.hash_size)
-
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-
-/* the body of the database is made of one list_struct for the free space
- plus a separate data list for each hash value */
-struct list_struct {
- tdb_len rec_len; /* total byte length of record */
- tdb_off next; /* offset of the next record in the list */
- tdb_len key_len; /* byte length of key */
- tdb_len data_len; /* byte length of data */
- unsigned full_hash; /* the full 32 bit hash of the key */
- unsigned magic; /* try to catch errors */
- /*
- the following union is implied
- union {
- char record[rec_len];
- struct {
- char key[key_len];
- char data[data_len];
- }
- }
- */
-};
-
-/* a null data record - useful for error returns */
-static TDB_DATA null_data;
-
-/* a byte range locking function - return 0 on success
- this functions locks/unlocks 1 byte at the specified offset */
-static int tdb_brlock(TDB_CONTEXT *tdb, tdb_off offset,
- int set, int rw_type, int lck_type)
-{
-#if NOLOCK
- return 0;
-#else
- struct flock fl;
-
- if (tdb->fd == -1) return 0; /* for in memory tdb */
-
- if (tdb->read_only) return -1;
-
- fl.l_type = set==LOCK_SET?rw_type:F_UNLCK;
- fl.l_whence = SEEK_SET;
- fl.l_start = offset;
- fl.l_len = 1;
- fl.l_pid = 0;
-
- if (fcntl(tdb->fd, lck_type, &fl) != 0) {
-#if TDB_DEBUG
- if (lck_type == F_SETLKW) {
- printf("lock %d failed at %d (%s)\n",
- set, offset, strerror(errno));
- }
-#endif
- tdb->ecode = TDB_ERR_LOCK;
- return -1;
- }
- return 0;
-#endif
-}
-
-/* lock a list in the database. list -1 is the alloc list */
-static int tdb_lock(TDB_CONTEXT *tdb, int list)
-{
- if (list < -1 || list >= (int)tdb->header.hash_size) {
-#if TDB_DEBUG
- printf("bad list %d\n", list);
-#endif
- return -1;
- }
- if (tdb->locked[list+1] == 0) {
- if (tdb_brlock(tdb, LIST_LOCK_BASE + 4*list, LOCK_SET,
- F_WRLCK, F_SETLKW) != 0) {
- return -1;
- }
- }
- tdb->locked[list+1]++;
- return 0;
-}
-
-/* unlock the database. */
-static int tdb_unlock(TDB_CONTEXT *tdb, int list)
-{
- if (list < -1 || list >= (int)tdb->header.hash_size) {
-#if TDB_DEBUG
- printf("bad unlock list %d\n", list);
-#endif
- return -1;
- }
-
- if (tdb->locked[list+1] == 0) {
-#if TDB_DEBUG
- printf("not locked %d\n", list);
-#endif
- tdb->ecode = TDB_ERR_LOCK;
- return -1;
- }
- if (tdb->locked[list+1] == 1) {
- if (tdb_brlock(tdb, LIST_LOCK_BASE + 4*list, LOCK_CLEAR,
- F_WRLCK, F_SETLKW) != 0) {
- return -1;
- }
- }
- tdb->locked[list+1]--;
- return 0;
-}
-
-/* the hash algorithm - turn a key into an integer
- This is based on the hash agorithm from gdbm */
-static unsigned tdb_hash(TDB_DATA *key)
-{
- unsigned value; /* Used to compute the hash value. */
- unsigned i; /* Used to cycle through random values. */
-
- /* Set the initial value from the key size. */
- value = 0x238F13AF * key->dsize;
- for (i=0; i < key->dsize; i++) {
- value = (value + (key->dptr[i] << (i*5 % 24)));
- }
-
- value = (1103515243 * value + 12345);
-
- return value;
-}
-
-/* find the top of the hash chain for an open database */
-static tdb_off tdb_hash_top(TDB_CONTEXT *tdb, unsigned hash)
-{
- tdb_off ret;
- hash = BUCKET(hash);
- ret = FREELIST_TOP + (hash+1)*sizeof(tdb_off);
- return ret;
-}
-
-
-/* check for an out of bounds access - if it is out of bounds then
- see if the database has been expanded by someone else and expand
- if necessary */
-static int tdb_oob(TDB_CONTEXT *tdb, tdb_off offset)
-{
- struct stat st;
- if ((offset <= tdb->map_size) || (tdb->fd == -1)) return 0;
-
- fstat(tdb->fd, &st);
- if (st.st_size <= (ssize_t)offset) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- }
-
-#if HAVE_MMAP
- if (tdb->map_ptr) {
- munmap(tdb->map_ptr, tdb->map_size);
- tdb->map_ptr = NULL;
- }
-#endif
-
- tdb->map_size = st.st_size;
-#if HAVE_MMAP
- tdb->map_ptr = (void *)mmap(NULL, tdb->map_size,
- tdb->read_only?PROT_READ:PROT_READ|PROT_WRITE,
- MAP_SHARED | MAP_FILE, tdb->fd, 0);
-#endif
- return 0;
-}
-
-
-/* write a lump of data at a specified offset */
-static int tdb_write(TDB_CONTEXT *tdb, tdb_off offset, const char *buf, tdb_len len)
-{
- if (tdb_oob(tdb, offset + len) != 0) {
- /* oops - trying to write beyond the end of the database! */
- return -1;
- }
-
- if (tdb->map_ptr) {
- memcpy(offset + (char *)tdb->map_ptr, buf, len);
- } else {
- if (lseek(tdb->fd, offset, SEEK_SET) != offset ||
- write(tdb->fd, buf, len) != (ssize_t)len) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- }
- }
- return 0;
-}
-
-/* read a lump of data at a specified offset */
-static int tdb_read(TDB_CONTEXT *tdb, tdb_off offset, char *buf, tdb_len len)
-{
- if (tdb_oob(tdb, offset + len) != 0) {
- /* oops - trying to read beyond the end of the database! */
- return -1;
- }
-
- if (tdb->map_ptr) {
- memcpy(buf, offset + (char *)tdb->map_ptr, len);
- } else {
- if (lseek(tdb->fd, offset, SEEK_SET) != offset ||
- read(tdb->fd, buf, len) != (ssize_t)len) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- }
- }
- return 0;
-}
-
-
-/* read a lump of data, allocating the space for it */
-static char *tdb_alloc_read(TDB_CONTEXT *tdb, tdb_off offset, tdb_len len)
-{
- char *buf;
-
- buf = (char *)malloc(len);
-
- if (!buf) {
- tdb->ecode = TDB_ERR_OOM;
- return NULL;
- }
-
- if (tdb_read(tdb, offset, buf, len) == -1) {
- free(buf);
- return NULL;
- }
-
- return buf;
-}
-
-/* convenience routine for writing a record */
-static int rec_write(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
-{
- return tdb_write(tdb, offset, (char *)rec, sizeof(*rec));
-}
-
-/* convenience routine for writing a tdb_off */
-static int ofs_write(TDB_CONTEXT *tdb, tdb_off offset, tdb_off *d)
-{
- return tdb_write(tdb, offset, (char *)d, sizeof(*d));
-}
-
-/* read a tdb_off from the store */
-static int ofs_read(TDB_CONTEXT *tdb, tdb_off offset, tdb_off *d)
-{
- return tdb_read(tdb, offset, (char *)d, sizeof(*d));
-}
-
-/* read a record and check for simple errors */
-static int rec_read(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
-{
- if (tdb_read(tdb, offset, (char *)rec, sizeof(*rec)) == -1) return -1;
- if (rec->magic != TDB_MAGIC) {
-#if TDB_DEBUG
- printf("bad magic 0x%08x at offset %d\n",
- rec->magic, offset);
-#endif
- tdb->ecode = TDB_ERR_CORRUPT;
- return -1;
- }
- if (tdb_oob(tdb, rec->next) != 0) {
- return -1;
- }
- return 0;
-}
-
-/* expand the database at least length bytes by expanding the
- underlying file and doing the mmap again if necessary */
-static int tdb_expand(TDB_CONTEXT *tdb, tdb_off length)
-{
- struct list_struct rec;
- tdb_off offset, ptr;
- char b = 0;
-
- tdb_lock(tdb,-1);
-
- /* make sure we know about any previous expansions by another
- process */
- tdb_oob(tdb,tdb->map_size + 1);
-
- /* always make room for at least 10 more records */
- length *= TDB_LEN_MULTIPLIER;
-
- /* and round the database up to a multiple of TDB_PAGE_SIZE */
- length = ((tdb->map_size + length + TDB_PAGE_SIZE) & ~(TDB_PAGE_SIZE - 1)) - tdb->map_size;
-
- /* expand the file itself */
- if (tdb->fd != -1) {
- lseek(tdb->fd, tdb->map_size + length - 1, SEEK_SET);
- if (write(tdb->fd, &b, 1) != 1) goto fail;
- }
-
- /* form a new freelist record */
- offset = FREELIST_TOP;
- rec.rec_len = length - sizeof(rec);
- rec.magic = TDB_FREE_MAGIC;
- if (ofs_read(tdb, offset, &rec.next) == -1) {
- goto fail;
- }
-
-#if HAVE_MMAP
- if (tdb->fd != -1 && tdb->map_ptr) {
- munmap(tdb->map_ptr, tdb->map_size);
- tdb->map_ptr = NULL;
- }
-#endif
-
- tdb->map_size += length;
-
- if (tdb->fd == -1) {
- tdb->map_ptr = realloc(tdb->map_ptr, tdb->map_size);
- }
-
- /* write it out */
- if (rec_write(tdb, tdb->map_size - length, &rec) == -1) {
- goto fail;
- }
-
- /* link it into the free list */
- ptr = tdb->map_size - length;
- if (ofs_write(tdb, offset, &ptr) == -1) goto fail;
-
-#if HAVE_MMAP
- if (tdb->fd != -1) {
- tdb->map_ptr = (void *)mmap(NULL, tdb->map_size,
- PROT_READ|PROT_WRITE,
- MAP_SHARED | MAP_FILE, tdb->fd, 0);
- }
-#endif
-
- tdb_unlock(tdb, -1);
- return 0;
-
- fail:
- tdb_unlock(tdb,-1);
- return -1;
-}
-
-/* allocate some space from the free list. The offset returned points
- to a unconnected list_struct within the database with room for at
- least length bytes of total data
-
- 0 is returned if the space could not be allocated
- */
-static tdb_off tdb_allocate(TDB_CONTEXT *tdb, tdb_len length)
-{
- tdb_off offset, rec_ptr, last_ptr;
- struct list_struct rec, lastrec, newrec;
-
- tdb_lock(tdb, -1);
-
- again:
- last_ptr = 0;
- offset = FREELIST_TOP;
-
- /* read in the freelist top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- goto fail;
- }
-
- /* keep looking until we find a freelist record that is big
- enough */
- while (rec_ptr) {
- if (tdb_read(tdb, rec_ptr, (char *)&rec, sizeof(rec)) == -1) {
- goto fail;
- }
-
- if (rec.magic != TDB_FREE_MAGIC) {
-#if TDB_DEBUG
- printf("bad magic 0x%08x in free list\n", rec.magic);
-#endif
- goto fail;
- }
-
- if (rec.rec_len >= length) {
- /* found it - now possibly split it up */
- if (rec.rec_len > length + MIN_REC_SIZE) {
- length = (length + TDB_ALIGN) & ~(TDB_ALIGN-1);
-
- newrec.rec_len = rec.rec_len - (sizeof(rec) + length);
- newrec.next = rec.next;
- newrec.magic = TDB_FREE_MAGIC;
-
- rec.rec_len = length;
- rec.next = rec_ptr + sizeof(rec) + rec.rec_len;
-
- if (rec_write(tdb, rec.next, &newrec) == -1) {
- goto fail;
- }
-
- if (rec_write(tdb, rec_ptr, &rec) == -1) {
- goto fail;
- }
- }
-
- /* remove it from the list */
- if (last_ptr == 0) {
- offset = FREELIST_TOP;
-
- if (ofs_write(tdb, offset, &rec.next) == -1) {
- goto fail;
- }
- } else {
- lastrec.next = rec.next;
- if (rec_write(tdb, last_ptr, &lastrec) == -1) {
- goto fail;
- }
- }
-
- /* all done - return the new record offset */
- tdb_unlock(tdb, -1);
- return rec_ptr;
- }
-
- /* move to the next record */
- lastrec = rec;
- last_ptr = rec_ptr;
- rec_ptr = rec.next;
- }
-
- /* we didn't find enough space. See if we can expand the
- database and if we can then try again */
- if (tdb_expand(tdb, length + sizeof(rec)) == 0) goto again;
-
- fail:
-#if TDB_DEBUG
- printf("tdb_allocate failed for size %u\n", length);
-#endif
- tdb_unlock(tdb, -1);
- return 0;
-}
-
-/* initialise a new database with a specified hash size */
-static int tdb_new_database(TDB_CONTEXT *tdb, int hash_size)
-{
- struct tdb_header header;
- tdb_off offset;
- int i, size = 0;
- tdb_off buf[16];
-
- /* create the header */
- memset(&header, 0, sizeof(header));
- memcpy(header.magic_food, TDB_MAGIC_FOOD, strlen(TDB_MAGIC_FOOD)+1);
- header.version = TDB_VERSION;
- header.hash_size = hash_size;
- lseek(tdb->fd, 0, SEEK_SET);
- ftruncate(tdb->fd, 0);
-
- if (tdb->fd != -1 && write(tdb->fd, &header, sizeof(header)) !=
- sizeof(header)) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- } else size += sizeof(header);
-
- /* the freelist and hash pointers */
- offset = 0;
- memset(buf, 0, sizeof(buf));
-
- for (i=0;(hash_size+1)-i >= 16; i += 16) {
- if (tdb->fd != -1 && write(tdb->fd, buf, sizeof(buf)) !=
- sizeof(buf)) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- } else size += sizeof(buf);
- }
-
- for (;i<hash_size+1; i++) {
- if (tdb->fd != -1 && write(tdb->fd, buf, sizeof(tdb_off)) !=
- sizeof(tdb_off)) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- } else size += sizeof(tdb_off);
- }
-
- if (tdb->fd == -1) {
- tdb->map_ptr = calloc(size, 1);
- tdb->map_size = size;
- if (tdb->map_ptr == NULL) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- }
- memcpy(&tdb->header, &header, sizeof(header));
- }
-
-#if TDB_DEBUG
- printf("initialised database of hash_size %u\n",
- hash_size);
-#endif
- return 0;
-}
-
-/* Returns 0 on fail. On success, return offset of record, and fills
- in rec */
-static tdb_off tdb_find(TDB_CONTEXT *tdb, TDB_DATA key, unsigned int hash,
- struct list_struct *rec)
-{
- tdb_off offset, rec_ptr;
-
- /* find the top of the hash chain */
- offset = tdb_hash_top(tdb, hash);
-
- /* read in the hash top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1)
- return 0;
-
- /* keep looking until we find the right record */
- while (rec_ptr) {
- if (rec_read(tdb, rec_ptr, rec) == -1)
- return 0;
-
- if (hash == rec->full_hash && key.dsize == rec->key_len) {
- char *k;
- /* a very likely hit - read the key */
- k = tdb_alloc_read(tdb, rec_ptr + sizeof(*rec),
- rec->key_len);
-
- if (!k)
- return 0;
-
- if (memcmp(key.dptr, k, key.dsize) == 0) {
- free(k);
- return rec_ptr;
- }
- free(k);
- }
-
- /* move to the next record */
- rec_ptr = rec->next;
- }
- return 0;
-}
-
-/*
- return an error string for the last tdb error
-*/
-char *tdb_error(TDB_CONTEXT *tdb)
-{
- int i;
- static struct {
- enum TDB_ERROR ecode;
- char *estring;
- } emap[] = {
- {TDB_SUCCESS, "Success"},
- {TDB_ERR_CORRUPT, "Corrupt database"},
- {TDB_ERR_IO, "IO Error"},
- {TDB_ERR_LOCK, "Locking error"},
- {TDB_ERR_OOM, "Out of memory"},
- {TDB_ERR_EXISTS, "Record exists"},
- {-1, NULL}};
- if (tdb != NULL) {
- for (i=0;emap[i].estring;i++) {
- if (tdb->ecode == emap[i].ecode) return emap[i].estring;
- }
- } else {
- return "Invalid tdb context";
- }
- return "Invalid error code";
-}
-
-
-/* update an entry in place - this only works if the new data size
- is <= the old data size and the key exists.
- on failure return -1
-*/
-int tdb_update(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf)
-{
- unsigned hash;
- struct list_struct rec;
- tdb_off rec_ptr;
- int ret = -1;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_update() called with null context\n");
-#endif
- return -1;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- tdb_lock(tdb, BUCKET(hash));
- rec_ptr = tdb_find(tdb, key, hash, &rec);
-
- if (!rec_ptr)
- goto out;
-
- /* must be long enough */
- if (rec.rec_len < key.dsize + dbuf.dsize)
- goto out;
-
- if (tdb_write(tdb, rec_ptr + sizeof(rec) + rec.key_len,
- dbuf.dptr, dbuf.dsize) == -1)
- goto out;
-
- if (dbuf.dsize != rec.data_len) {
- /* update size */
- rec.data_len = dbuf.dsize;
- ret = rec_write(tdb, rec_ptr, &rec);
- } else
- ret = 0;
-
- out:
- tdb_unlock(tdb, BUCKET(hash));
- return ret;
-}
-
-/* find an entry in the database given a key */
-TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- unsigned hash;
- tdb_off rec_ptr;
- struct list_struct rec;
- TDB_DATA ret = null_data;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_fetch() called with null context\n");
-#endif
- return null_data;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- tdb_lock(tdb, BUCKET(hash));
- rec_ptr = tdb_find(tdb, key, hash, &rec);
-
- if (rec_ptr) {
- ret.dptr = tdb_alloc_read(tdb,
- rec_ptr + sizeof(rec) + rec.key_len,
- rec.data_len);
- ret.dsize = rec.data_len;
- }
-
- tdb_unlock(tdb, BUCKET(hash));
- return ret;
-}
-
-/* check if an entry in the database exists
-
- note that 1 is returned if the key is found and 0 is returned if not found
- this doesn't match the conventions in the rest of this module, but is
- compatible with gdbm
-*/
-int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- unsigned hash;
- tdb_off rec_ptr;
- struct list_struct rec;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_exists() called with null context\n");
-#endif
- return 0;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- tdb_lock(tdb, BUCKET(hash));
- rec_ptr = tdb_find(tdb, key, hash, &rec);
- tdb_unlock(tdb, BUCKET(hash));
-
- return rec_ptr != 0;
-}
-
-/* traverse the entire database - calling fn(tdb, key, data) on each element.
- return -1 on error or the record count traversed
- if fn is NULL then it is not called
- a non-zero return value from fn() indicates that the traversal should stop
- */
-int tdb_traverse(TDB_CONTEXT *tdb, int (*fn)(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, void* state), void* state)
-{
- int count = 0;
- unsigned h;
- tdb_off offset, rec_ptr;
- struct list_struct rec;
- char *data;
- TDB_DATA key, dbuf;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_traverse() called with null context\n");
-#endif
- return -1;
- }
-
- /* loop over all hash chains */
- for (h = 0; h < tdb->header.hash_size; h++) {
- tdb_lock(tdb, BUCKET(h));
-
- /* read in the hash top */
- offset = tdb_hash_top(tdb, h);
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- goto fail;
- }
-
- /* traverse all records for this hash */
- while (rec_ptr) {
- if (rec_read(tdb, rec_ptr, &rec) == -1) {
- goto fail;
- }
-
- /* now read the full record */
- data = tdb_alloc_read(tdb, rec_ptr + sizeof(rec),
- rec.key_len + rec.data_len);
- if (!data) {
- goto fail;
- }
-
- key.dptr = data;
- key.dsize = rec.key_len;
- dbuf.dptr = data + rec.key_len;
- dbuf.dsize = rec.data_len;
- count++;
-
- if (fn && fn(tdb, key, dbuf, state) != 0) {
- /* they want us to stop traversing */
- free(data);
- tdb_unlock(tdb, BUCKET(h));
- return count;
- }
-
- /* a miss - drat */
- free(data);
-
- /* move to the next record */
- rec_ptr = rec.next;
- }
- tdb_unlock(tdb, BUCKET(h));
- }
-
- /* return the number traversed */
- return count;
-
- fail:
- tdb_unlock(tdb, BUCKET(h));
- return -1;
-}
-
-
-/* find the first entry in the database and return its key */
-TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb)
-{
- tdb_off offset, rec_ptr;
- struct list_struct rec;
- unsigned hash;
- TDB_DATA ret;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_firstkey() called with null context\n");
-#endif
- return null_data;
- }
-
- /* look for a non-empty hash chain */
- for (hash = 0, rec_ptr = 0;
- hash < tdb->header.hash_size;
- hash++) {
- /* find the top of the hash chain */
- offset = tdb_hash_top(tdb, hash);
-
- tdb_lock(tdb, BUCKET(hash));
-
- /* read in the hash top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- goto fail;
- }
-
- if (rec_ptr) break;
-
- tdb_unlock(tdb, BUCKET(hash));
- }
-
- if (rec_ptr == 0) return null_data;
-
- /* we've found a non-empty chain, now read the record */
- if (rec_read(tdb, rec_ptr, &rec) == -1) {
- goto fail;
- }
-
- /* allocate and read the key space */
- ret.dptr = tdb_alloc_read(tdb, rec_ptr + sizeof(rec), rec.key_len);
- ret.dsize = rec.key_len;
- tdb_unlock(tdb, BUCKET(hash));
- return ret;
-
- fail:
- tdb_unlock(tdb, BUCKET(hash));
- return null_data;
-}
-
-/* find the next entry in the database, returning its key */
-TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- unsigned hash, hbucket;
- tdb_off rec_ptr, offset;
- struct list_struct rec;
- TDB_DATA ret;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_nextkey() called with null context\n");
-#endif
- return null_data;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
- hbucket = BUCKET(hash);
-
- tdb_lock(tdb, hbucket);
- rec_ptr = tdb_find(tdb, key, hash, &rec);
- if (rec_ptr) {
- /* we want the next record after this one */
- rec_ptr = rec.next;
- }
-
- /* not found or last in hash: look for next non-empty hash chain */
- while (rec_ptr == 0) {
- tdb_unlock(tdb, hbucket);
-
- if (++hbucket >= tdb->header.hash_size - 1)
- return null_data;
-
- offset = tdb_hash_top(tdb, hbucket);
- tdb_lock(tdb, hbucket);
- /* read in the hash top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- tdb_unlock(tdb, hbucket);
- return null_data;
- }
- }
-
- /* Read the record. */
- if (rec_read(tdb, rec_ptr, &rec) == -1) {
- tdb_unlock(tdb, hbucket);
- return null_data;
- }
- /* allocate and read the key */
- ret.dptr = tdb_alloc_read(tdb, rec_ptr + sizeof(rec), rec.key_len);
- ret.dsize = rec.key_len;
- tdb_unlock(tdb, hbucket);
-
- return ret;
-}
-
-/* delete an entry in the database given a key */
-int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- unsigned hash;
- tdb_off offset, rec_ptr, last_ptr;
- struct list_struct rec, lastrec;
- char *data = NULL;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_delete() called with null context\n");
-#endif
- return -1;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- tdb_lock(tdb, BUCKET(hash));
-
- /* find the top of the hash chain */
- offset = tdb_hash_top(tdb, hash);
-
- /* read in the hash top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- goto fail;
- }
-
- last_ptr = 0;
-
- /* keep looking until we find the right record */
- while (rec_ptr) {
- if (rec_read(tdb, rec_ptr, &rec) == -1) {
- goto fail;
- }
-
- if (hash == rec.full_hash && key.dsize == rec.key_len) {
- /* a very likely hit - read the record and full key */
- data = tdb_alloc_read(tdb, rec_ptr + sizeof(rec),
- rec.key_len);
- if (!data) {
- goto fail;
- }
-
- if (memcmp(key.dptr, data, key.dsize) == 0) {
- /* a definite match - delete it */
- if (last_ptr == 0) {
- offset = tdb_hash_top(tdb, hash);
- if (ofs_write(tdb, offset, &rec.next) == -1) {
- goto fail;
- }
- } else {
- lastrec.next = rec.next;
- if (rec_write(tdb, last_ptr, &lastrec) == -1) {
- goto fail;
- }
- }
- tdb_unlock(tdb, BUCKET(hash));
- tdb_lock(tdb, -1);
- /* and recover the space */
- offset = FREELIST_TOP;
- if (ofs_read(tdb, offset, &rec.next) == -1) {
- goto fail2;
- }
- rec.magic = TDB_FREE_MAGIC;
- if (rec_write(tdb, rec_ptr, &rec) == -1) {
- goto fail2;
- }
- if (ofs_write(tdb, offset, &rec_ptr) == -1) {
- goto fail2;
- }
-
- /* yipee - all done */
- free(data);
- tdb_unlock(tdb, -1);
- return 0;
- }
-
- /* a miss - drat */
- free(data);
- data = NULL;
- }
-
- /* move to the next record */
- last_ptr = rec_ptr;
- lastrec = rec;
- rec_ptr = rec.next;
- }
-
- fail:
- if (data) free(data);
- tdb_unlock(tdb, BUCKET(hash));
- return -1;
-
- fail2:
- if (data) free(data);
- tdb_unlock(tdb, -1);
- return -1;
-}
-
-
-/* store an element in the database, replacing any existing element
- with the same key
-
- return 0 on success, -1 on failure
-*/
-int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag)
-{
- struct list_struct rec;
- unsigned hash;
- tdb_off rec_ptr, offset;
- char *p = NULL;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_store() called with null context\n");
-#endif
- return -1;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- /* check for it existing */
- if (flag == TDB_INSERT && tdb_exists(tdb, key)) {
- tdb->ecode = TDB_ERR_EXISTS;
- return -1;
- }
-
- /* first try in-place update */
- if (flag != TDB_INSERT && tdb_update(tdb, key, dbuf) == 0) {
- return 0;
- }
-
- rec_ptr = tdb_allocate(tdb, key.dsize + dbuf.dsize);
- if (rec_ptr == 0) {
- return -1;
- }
-
- tdb_lock(tdb, BUCKET(hash));
-
- /* delete any existing record - if it doesn't exist we don't care */
- if (flag != TDB_INSERT) {
- tdb_delete(tdb, key);
- }
-
- /* read the newly created record */
- if (tdb_read(tdb, rec_ptr, (char *)&rec, sizeof(rec)) == -1) {
- goto fail;
- }
-
- if (rec.magic != TDB_FREE_MAGIC) goto fail;
-
- /* find the top of the hash chain */
- offset = tdb_hash_top(tdb, hash);
-
- /* read in the hash top diretcly into our next pointer */
- if (ofs_read(tdb, offset, &rec.next) == -1) {
- goto fail;
- }
-
- rec.key_len = key.dsize;
- rec.data_len = dbuf.dsize;
- rec.full_hash = hash;
- rec.magic = TDB_MAGIC;
-
- p = (char *)malloc(sizeof(rec) + key.dsize + dbuf.dsize);
- if (!p) {
- tdb->ecode = TDB_ERR_OOM;
- goto fail;
- }
-
- memcpy(p, &rec, sizeof(rec));
- memcpy(p+sizeof(rec), key.dptr, key.dsize);
- memcpy(p+sizeof(rec)+key.dsize, dbuf.dptr, dbuf.dsize);
-
- if (tdb_write(tdb, rec_ptr, p, sizeof(rec)+key.dsize+dbuf.dsize) == -1)
- goto fail;
-
- free(p);
- p = NULL;
-
- /* and point the top of the hash chain at it */
- if (ofs_write(tdb, offset, &rec_ptr) == -1) goto fail;
-
- tdb_unlock(tdb, BUCKET(hash));
- return 0;
-
- fail:
-#if TDB_DEBUG
- printf("store failed for hash 0x%08x in bucket %u\n", hash, BUCKET(hash));
-#endif
- if (p) free(p);
- tdb_unlock(tdb, BUCKET(hash));
- return -1;
-}
-
-
-/* open the database, creating it if necessary
-
- The open_flags and mode are passed straight to the open call on the database
- file. A flags value of O_WRONLY is invalid
-
- The hash size is advisory, use zero for a default value.
-
- return is NULL on error
-*/
-TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
- int open_flags, mode_t mode)
-{
- TDB_CONTEXT tdb, *ret;
- struct stat st;
-
- memset(&tdb, 0, sizeof(tdb));
-
- tdb.fd = -1;
- tdb.name = NULL;
- tdb.map_ptr = NULL;
-
- if ((open_flags & O_ACCMODE) == O_WRONLY) {
- goto fail;
- }
-
- if (hash_size == 0) hash_size = DEFAULT_HASH_SIZE;
-
- tdb.read_only = ((open_flags & O_ACCMODE) == O_RDONLY);
-
- if (name != NULL) {
- tdb.fd = open(name, open_flags, mode);
- if (tdb.fd == -1) {
- goto fail;
- }
- }
-
- /* ensure there is only one process initialising at once */
- tdb_brlock(&tdb, GLOBAL_LOCK, LOCK_SET, F_WRLCK, F_SETLKW);
-
- if (tdb_flags & TDB_CLEAR_IF_FIRST) {
- /* we need to zero the database if we are the only
- one with it open */
- if (tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_SET, F_WRLCK, F_SETLK) == 0) {
- ftruncate(tdb.fd, 0);
- tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_CLEAR, F_WRLCK, F_SETLK);
- }
- }
-
- /* leave this lock in place */
- tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_SET, F_RDLCK, F_SETLKW);
-
- if (read(tdb.fd, &tdb.header, sizeof(tdb.header)) != sizeof(tdb.header) ||
- strcmp(tdb.header.magic_food, TDB_MAGIC_FOOD) != 0 ||
- tdb.header.version != TDB_VERSION) {
- /* its not a valid database - possibly initialise it */
- if (!(open_flags & O_CREAT)) {
- goto fail;
- }
- if (tdb_new_database(&tdb, hash_size) == -1) goto fail;
-
- lseek(tdb.fd, 0, SEEK_SET);
- if (tdb.fd != -1 && read(tdb.fd, &tdb.header,
- sizeof(tdb.header)) !=
- sizeof(tdb.header))
- goto fail;
- }
-
- if (tdb.fd != -1) {
- fstat(tdb.fd, &st);
-
- /* map the database and fill in the return structure */
- tdb.name = (char *)strdup(name);
- tdb.map_size = st.st_size;
- }
-
- tdb.locked = (int *)calloc(tdb.header.hash_size+1,
- sizeof(tdb.locked[0]));
- if (!tdb.locked) {
- goto fail;
- }
-
-#if HAVE_MMAP
- if (tdb.fd != -1) {
- tdb.map_ptr = (void *)mmap(NULL, st.st_size,
- tdb.read_only? PROT_READ : PROT_READ|PROT_WRITE,
- MAP_SHARED | MAP_FILE, tdb.fd, 0);
- }
-#endif
-
- ret = (TDB_CONTEXT *)malloc(sizeof(tdb));
- if (!ret) goto fail;
-
- *ret = tdb;
-
-#if TDB_DEBUG
- printf("mapped database of hash_size %u map_size=%u\n",
- hash_size, tdb.map_size);
-#endif
-
- tdb_brlock(&tdb, GLOBAL_LOCK, LOCK_CLEAR, F_WRLCK, F_SETLKW);
- return ret;
-
- fail:
- if (tdb.name) free(tdb.name);
- if (tdb.fd != -1) close(tdb.fd);
- if (tdb.map_ptr) munmap(tdb.map_ptr, tdb.map_size);
-
- return NULL;
-}
-
-/* close a database */
-int tdb_close(TDB_CONTEXT *tdb)
-{
- if (!tdb) return -1;
-
- if (tdb->name) free(tdb->name);
- if (tdb->fd != -1) close(tdb->fd);
- if (tdb->locked) free(tdb->locked);
-
- if (tdb->map_ptr) {
- if (tdb->fd != -1) {
- munmap(tdb->map_ptr, tdb->map_size);
- } else {
- free(tdb->map_ptr);
- }
- }
-
- memset(tdb, 0, sizeof(*tdb));
- free(tdb);
-
- return 0;
-}
-
-/* lock the database. If we already have it locked then don't do anything */
-int tdb_writelock(TDB_CONTEXT *tdb)
-{
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_writelock() called with null context\n");
-#endif
- return -1;
- }
-
- return tdb_lock(tdb, -1);
-}
-
-/* unlock the database. */
-int tdb_writeunlock(TDB_CONTEXT *tdb)
-{
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_writeunlock() called with null context\n");
-#endif
- return -1;
- }
-
- return tdb_unlock(tdb, -1);
-}
-
-/* lock one hash chain. This is meant to be used to reduce locking
- contention - it cannot guarantee how many records will be locked */
-int tdb_lockchain(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_lockchain() called with null context\n");
-#endif
- return -1;
- }
-
- return tdb_lock(tdb, BUCKET(tdb_hash(&key)));
-}
-
-
-/* unlock one hash chain */
-int tdb_unlockchain(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_unlockchain() called with null context\n");
-#endif
- return -1;
- }
-
- return tdb_unlock(tdb, BUCKET(tdb_hash(&key)));
-}
diff --git a/mdk-stage1/ppp/pppd/tdb.h b/mdk-stage1/ppp/pppd/tdb.h
deleted file mode 100644
index 56ae0ac2a..000000000
--- a/mdk-stage1/ppp/pppd/tdb.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#define STANDALONE 1
-/*
- * Database functions
- * Copyright (C) Andrew Tridgell 1999
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms AND provided that this software or
- * any derived work is only used as part of the PPP daemon (pppd)
- * and related utilities.
- * 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Note: this software is also available under the Gnu Public License
- * version 2 or later.
- */
-
-typedef unsigned tdb_len;
-typedef unsigned tdb_off;
-
-#define TDB_MAGIC_FOOD "TDB file\n"
-
-/* this is stored at the front of every database */
-struct tdb_header {
- char magic_food[32]; /* for /etc/magic */
- unsigned version; /* version of the code */
- unsigned hash_size; /* number of hash entries */
-};
-
-typedef struct {
- char *dptr;
- size_t dsize;
-} TDB_DATA;
-
-/* this is the context structure that is returned from a db open */
-typedef struct {
- char *name; /* the name of the database */
- void *map_ptr; /* where it is currently mapped */
- int fd; /* open file descriptor for the database */
- tdb_len map_size; /* how much space has been mapped */
- int read_only; /* opened read-only */
- int *locked; /* set if we have a chain locked */
- int ecode; /* error code for last tdb error */
- struct tdb_header header; /* a cached copy of the header */
-} TDB_CONTEXT;
-
-/* flags to tdb_store() */
-#define TDB_REPLACE 1
-#define TDB_INSERT 2
-
-/* flags for tdb_open() */
-#define TDB_CLEAR_IF_FIRST 1
-
-/* error codes */
-enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK,
- TDB_ERR_OOM, TDB_ERR_EXISTS};
-
-#if STANDALONE
-TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
- int open_flags, mode_t mode);
-char *tdb_error(TDB_CONTEXT *tdb);
-int tdb_writelock(TDB_CONTEXT *tdb);
-int tdb_writeunlock(TDB_CONTEXT *tdb);
-TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag);
-int tdb_close(TDB_CONTEXT *tdb);
-TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb);
-TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_traverse(TDB_CONTEXT *tdb,
- int (*fn)(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, void *state),
- void *state);
-int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key);
-#endif
diff --git a/mdk-stage1/ppp/pppd/tty.c b/mdk-stage1/ppp/pppd/tty.c
deleted file mode 100644
index 4db707968..000000000
--- a/mdk-stage1/ppp/pppd/tty.c
+++ /dev/null
@@ -1,1164 +0,0 @@
-/*
- * tty.c - code for handling serial ports in pppd.
- *
- * Copyright (C) 2000 Paul Mackerras.
- * All rights reserved.
- *
- * Portions Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <syslog.h>
-#include <netdb.h>
-#include <utmp.h>
-#include <pwd.h>
-#include <setjmp.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-
-void tty_process_extra_options __P((void));
-void tty_check_options __P((void));
-int connect_tty __P((void));
-void disconnect_tty __P((void));
-void tty_close_fds __P((void));
-void cleanup_tty __P((void));
-void tty_do_send_config __P((int, u_int32_t, int, int));
-
-static int setdevname __P((char *, char **, int));
-static int setspeed __P((char *, char **, int));
-static int setxonxoff __P((char **));
-static int setescape __P((char **));
-static void printescape __P((option_t *, void (*)(void *, char *,...),void *));
-static void finish_tty __P((void));
-static int start_charshunt __P((int, int));
-static void stop_charshunt __P((void *, int));
-static void charshunt_done __P((void *));
-static void charshunt __P((int, int, char *));
-static int record_write __P((FILE *, int code, u_char *buf, int nb,
- struct timeval *));
-static int open_socket __P((char *));
-static void maybe_relock __P((void *, int));
-
-static int pty_master; /* fd for master side of pty */
-static int pty_slave; /* fd for slave side of pty */
-static int real_ttyfd; /* fd for actual serial port (not pty) */
-static int ttyfd; /* Serial port file descriptor */
-static char speed_str[16]; /* Serial port speed as string */
-
-mode_t tty_mode = (mode_t)-1; /* Original access permissions to tty */
-int baud_rate; /* Actual bits/second for serial device */
-char *callback_script; /* script for doing callback */
-int charshunt_pid; /* Process ID for charshunt */
-int locked; /* lock() has succeeded */
-struct stat devstat; /* result of stat() on devnam */
-
-/* option variables */
-int crtscts = 0; /* Use hardware flow control */
-bool modem = 1; /* Use modem control lines */
-int inspeed = 0; /* Input/Output speed requested */
-bool lockflag = 0; /* Create lock file to lock the serial dev */
-char *initializer = NULL; /* Script to initialize physical link */
-char *connect_script = NULL; /* Script to establish physical link */
-char *disconnect_script = NULL; /* Script to disestablish physical link */
-char *welcomer = NULL; /* Script to run after phys link estab. */
-char *ptycommand = NULL; /* Command to run on other side of pty */
-bool notty = 0; /* Stdin/out is not a tty */
-char *record_file = NULL; /* File to record chars sent/received */
-int max_data_rate; /* max bytes/sec through charshunt */
-bool sync_serial = 0; /* Device is synchronous serial device */
-char *pty_socket = NULL; /* Socket to connect to pty */
-int using_pty = 0; /* we're allocating a pty as the device */
-
-extern uid_t uid;
-extern int kill_link;
-
-/* XXX */
-extern int privopen; /* don't lock, open device as root */
-
-u_int32_t xmit_accm[8]; /* extended transmit ACCM */
-
-/* option descriptors */
-option_t tty_options[] = {
- /* device name must be first, or change connect_tty() below! */
- { "device name", o_wild, (void *) &setdevname,
- "Serial port device name",
- OPT_DEVNAM | OPT_PRIVFIX | OPT_NOARG | OPT_A2STRVAL | OPT_STATIC,
- devnam},
-
- { "tty speed", o_wild, (void *) &setspeed,
- "Baud rate for serial port",
- OPT_PRIO | OPT_NOARG | OPT_A2STRVAL | OPT_STATIC, speed_str },
-
- { "lock", o_bool, &lockflag,
- "Lock serial device with UUCP-style lock file", OPT_PRIO | 1 },
- { "nolock", o_bool, &lockflag,
- "Don't lock serial device", OPT_PRIOSUB | OPT_PRIV },
-
- { "init", o_string, &initializer,
- "A program to initialize the device", OPT_PRIO | OPT_PRIVFIX },
-
- { "connect", o_string, &connect_script,
- "A program to set up a connection", OPT_PRIO | OPT_PRIVFIX },
-
- { "disconnect", o_string, &disconnect_script,
- "Program to disconnect serial device", OPT_PRIO | OPT_PRIVFIX },
-
- { "welcome", o_string, &welcomer,
- "Script to welcome client", OPT_PRIO | OPT_PRIVFIX },
-
- { "pty", o_string, &ptycommand,
- "Script to run on pseudo-tty master side",
- OPT_PRIO | OPT_PRIVFIX | OPT_DEVNAM },
-
- { "notty", o_bool, &notty,
- "Input/output is not a tty", OPT_DEVNAM | 1 },
-
- { "socket", o_string, &pty_socket,
- "Send and receive over socket, arg is host:port",
- OPT_PRIO | OPT_DEVNAM },
-
- { "record", o_string, &record_file,
- "Record characters sent/received to file", OPT_PRIO },
-
- { "crtscts", o_int, &crtscts,
- "Set hardware (RTS/CTS) flow control",
- OPT_PRIO | OPT_NOARG | OPT_VAL(1) },
- { "cdtrcts", o_int, &crtscts,
- "Set alternate hardware (DTR/CTS) flow control",
- OPT_PRIOSUB | OPT_NOARG | OPT_VAL(2) },
- { "nocrtscts", o_int, &crtscts,
- "Disable hardware flow control",
- OPT_PRIOSUB | OPT_NOARG | OPT_VAL(-1) },
- { "-crtscts", o_int, &crtscts,
- "Disable hardware flow control",
- OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
- { "nocdtrcts", o_int, &crtscts,
- "Disable hardware flow control",
- OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
- { "xonxoff", o_special_noarg, (void *)setxonxoff,
- "Set software (XON/XOFF) flow control", OPT_PRIOSUB },
-
- { "modem", o_bool, &modem,
- "Use modem control lines", OPT_PRIO | 1 },
- { "local", o_bool, &modem,
- "Don't use modem control lines", OPT_PRIOSUB | 0 },
-
- { "sync", o_bool, &sync_serial,
- "Use synchronous HDLC serial encoding", 1 },
-
- { "datarate", o_int, &max_data_rate,
- "Maximum data rate in bytes/sec (with pty, notty or record option)",
- OPT_PRIO },
-
- { "escape", o_special, (void *)setescape,
- "List of character codes to escape on transmission",
- OPT_A2PRINTER, (void *)printescape },
-
- { NULL }
-};
-
-
-struct channel tty_channel = {
- tty_options,
- &tty_process_extra_options,
- &tty_check_options,
- &connect_tty,
- &disconnect_tty,
- &tty_establish_ppp,
- &tty_disestablish_ppp,
- &tty_do_send_config,
- &tty_recv_config,
- &cleanup_tty,
- &tty_close_fds
-};
-
-/*
- * setspeed - Set the serial port baud rate.
- * If doit is 0, the call is to check whether this option is
- * potentially a speed value.
- */
-static int
-setspeed(arg, argv, doit)
- char *arg;
- char **argv;
- int doit;
-{
- char *ptr;
- int spd;
-
- spd = strtol(arg, &ptr, 0);
- if (ptr == arg || *ptr != 0 || spd == 0)
- return 0;
- if (doit) {
- inspeed = spd;
- slprintf(speed_str, sizeof(speed_str), "%d", spd);
- }
- return 1;
-}
-
-
-/*
- * setdevname - Set the device name.
- * If doit is 0, the call is to check whether this option is
- * potentially a device name.
- */
-static int
-setdevname(cp, argv, doit)
- char *cp;
- char **argv;
- int doit;
-{
- struct stat statbuf;
- char dev[MAXPATHLEN];
-
- if (*cp == 0)
- return 0;
-
- if (strncmp("/dev/", cp, 5) != 0) {
- strlcpy(dev, "/dev/", sizeof(dev));
- strlcat(dev, cp, sizeof(dev));
- cp = dev;
- }
-
- /*
- * Check if there is a character device by this name.
- */
- if (stat(cp, &statbuf) < 0) {
- if (!doit)
- return errno != ENOENT;
- option_error("Couldn't stat %s: %m", cp);
- return 0;
- }
- if (!S_ISCHR(statbuf.st_mode)) {
- if (doit)
- option_error("%s is not a character device", cp);
- return 0;
- }
-
- if (doit) {
- strlcpy(devnam, cp, sizeof(devnam));
- devstat = statbuf;
- default_device = 0;
- }
-
- return 1;
-}
-
-static int
-setxonxoff(argv)
- char **argv;
-{
- lcp_wantoptions[0].asyncmap |= 0x000A0000; /* escape ^S and ^Q */
- lcp_wantoptions[0].neg_asyncmap = 1;
-
- crtscts = -2;
- return 1;
-}
-
-/*
- * setescape - add chars to the set we escape on transmission.
- */
-static int
-setescape(argv)
- char **argv;
-{
- int n, ret;
- char *p, *endp;
-
- p = *argv;
- ret = 1;
- while (*p) {
- n = strtol(p, &endp, 16);
- if (p == endp) {
- option_error("escape parameter contains invalid hex number '%s'",
- p);
- return 0;
- }
- p = endp;
- if (n < 0 || n == 0x5E || n > 0xFF) {
- option_error("can't escape character 0x%x", n);
- ret = 0;
- } else
- xmit_accm[n >> 5] |= 1 << (n & 0x1F);
- while (*p == ',' || *p == ' ')
- ++p;
- }
- lcp_allowoptions[0].asyncmap = xmit_accm[0];
- return ret;
-}
-
-static void
-printescape(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int n;
- int first = 1;
-
- for (n = 0; n < 256; ++n) {
- if (n == 0x7d)
- n += 2; /* skip 7d, 7e */
- if (xmit_accm[n >> 5] & (1 << (n & 0x1f))) {
- if (!first)
- printer(arg, ",");
- else
- first = 0;
- printer(arg, "%x", n);
- }
- }
- if (first)
- printer(arg, "oops # nothing escaped");
-}
-
-/*
- * tty_init - do various tty-related initializations.
- */
-void tty_init()
-{
- add_notifier(&pidchange, maybe_relock, 0);
- the_channel = &tty_channel;
- xmit_accm[3] = 0x60000000;
-}
-
-/*
- * tty_process_extra_options - work out which tty device we are using
- * and read its options file.
- */
-void tty_process_extra_options()
-{
- using_pty = notty || ptycommand != NULL || pty_socket != NULL;
- if (using_pty)
- return;
- if (default_device) {
- char *p;
- if (!isatty(0) || (p = ttyname(0)) == NULL) {
- option_error("no device specified and stdin is not a tty");
- exit(EXIT_OPTION_ERROR);
- }
- strlcpy(devnam, p, sizeof(devnam));
- if (stat(devnam, &devstat) < 0)
- fatal("Couldn't stat default device %s: %m", devnam);
- }
-
-
- /*
- * Parse the tty options file.
- * The per-tty options file should not change
- * ptycommand, pty_socket, notty or devnam.
- * options_for_tty doesn't override options set on the command line,
- * except for some privileged options.
- */
- if (!options_for_tty())
- exit(EXIT_OPTION_ERROR);
-}
-
-/*
- * tty_check_options - do consistency checks on the options we were given.
- */
-void
-tty_check_options()
-{
- struct stat statbuf;
- int fdflags;
-
- if (demand && connect_script == 0) {
- option_error("connect script is required for demand-dialling\n");
- exit(EXIT_OPTION_ERROR);
- }
- /* default holdoff to 0 if no connect script has been given */
- if (connect_script == 0 && !holdoff_specified)
- holdoff = 0;
-
- if (using_pty) {
- if (!default_device) {
- option_error("%s option precludes specifying device name",
- notty? "notty": "pty");
- exit(EXIT_OPTION_ERROR);
- }
- if (ptycommand != NULL && notty) {
- option_error("pty option is incompatible with notty option");
- exit(EXIT_OPTION_ERROR);
- }
- if (pty_socket != NULL && (ptycommand != NULL || notty)) {
- option_error("socket option is incompatible with pty and notty");
- exit(EXIT_OPTION_ERROR);
- }
- default_device = notty;
- lockflag = 0;
- modem = 0;
- if (notty && log_to_fd <= 1)
- log_to_fd = -1;
- } else {
- /*
- * If the user has specified a device which is the same as
- * the one on stdin, pretend they didn't specify any.
- * If the device is already open read/write on stdin,
- * we assume we don't need to lock it, and we can open it
- * as root.
- */
- if (fstat(0, &statbuf) >= 0 && S_ISCHR(statbuf.st_mode)
- && statbuf.st_rdev == devstat.st_rdev) {
- default_device = 1;
- fdflags = fcntl(0, F_GETFL);
- if (fdflags != -1 && (fdflags & O_ACCMODE) == O_RDWR)
- privopen = 1;
- }
- }
- if (default_device)
- nodetach = 1;
-
- /*
- * Don't send log messages to the serial port, it tends to
- * confuse the peer. :-)
- */
- if (log_to_fd >= 0 && fstat(log_to_fd, &statbuf) >= 0
- && S_ISCHR(statbuf.st_mode) && statbuf.st_rdev == devstat.st_rdev)
- log_to_fd = -1;
-}
-
-/*
- * connect_tty - get the serial port ready to start doing PPP.
- * That is, open the serial port, set its speed and mode, and run
- * the connector and/or welcomer.
- */
-int connect_tty()
-{
- char *connector;
- int fdflags;
- struct stat statbuf;
- char numbuf[16];
-
- /*
- * Get a pty master/slave pair if the pty, notty, socket,
- * or record options were specified.
- */
- strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam));
- pty_master = -1;
- pty_slave = -1;
- real_ttyfd = -1;
- if (using_pty || record_file != NULL) {
- if (!get_pty(&pty_master, &pty_slave, ppp_devnam, uid)) {
- error("Couldn't allocate pseudo-tty");
- status = EXIT_FATAL_ERROR;
- return -1;
- }
- set_up_tty(pty_slave, 1);
- }
-
- /*
- * Lock the device if we've been asked to.
- */
- status = EXIT_LOCK_FAILED;
- if (lockflag && !privopen) {
- if (lock(devnam) < 0)
- return -1;
- locked = 1;
- }
-
- /*
- * Open the serial device and set it up to be the ppp interface.
- * First we open it in non-blocking mode so we can set the
- * various termios flags appropriately. If we aren't dialling
- * out and we want to use the modem lines, we reopen it later
- * in order to wait for the carrier detect signal from the modem.
- */
- hungup = 0;
- kill_link = 0;
- connector = doing_callback? callback_script: connect_script;
- if (devnam[0] != 0) {
- for (;;) {
- /* If the user specified the device name, become the
- user before opening it. */
- int err, prio;
-
- prio = privopen? OPRIO_ROOT: tty_options[0].priority;
- if (prio < OPRIO_ROOT)
- seteuid(uid);
- ttyfd = open(devnam, O_NONBLOCK | O_RDWR, 0);
- err = errno;
- if (prio < OPRIO_ROOT)
- seteuid(0);
- if (ttyfd >= 0)
- break;
- errno = err;
- if (err != EINTR) {
- error("Failed to open %s: %m", devnam);
- status = EXIT_OPEN_FAILED;
- }
- if (!persist || err != EINTR)
- return -1;
- }
- real_ttyfd = ttyfd;
- if ((fdflags = fcntl(ttyfd, F_GETFL)) == -1
- || fcntl(ttyfd, F_SETFL, fdflags & ~O_NONBLOCK) < 0)
- warn("Couldn't reset non-blocking mode on device: %m");
-
- /*
- * Do the equivalent of `mesg n' to stop broadcast messages.
- */
- if (fstat(ttyfd, &statbuf) < 0
- || fchmod(ttyfd, statbuf.st_mode & ~(S_IWGRP | S_IWOTH)) < 0) {
- warn("Couldn't restrict write permissions to %s: %m", devnam);
- } else
- tty_mode = statbuf.st_mode;
-
- /*
- * Set line speed, flow control, etc.
- * If we have a non-null connection or initializer script,
- * on most systems we set CLOCAL for now so that we can talk
- * to the modem before carrier comes up. But this has the
- * side effect that we might miss it if CD drops before we
- * get to clear CLOCAL below. On systems where we can talk
- * successfully to the modem with CLOCAL clear and CD down,
- * we could clear CLOCAL at this point.
- */
- set_up_tty(ttyfd, ((connector != NULL && connector[0] != 0)
- || initializer != NULL));
- }
-
- /*
- * If the pty, socket, notty and/or record option was specified,
- * start up the character shunt now.
- */
- status = EXIT_PTYCMD_FAILED;
- if (ptycommand != NULL) {
- if (record_file != NULL) {
- int ipipe[2], opipe[2], ok;
-
- if (pipe(ipipe) < 0 || pipe(opipe) < 0)
- fatal("Couldn't create pipes for record option: %m");
- ok = device_script(ptycommand, opipe[0], ipipe[1], 1) == 0
- && start_charshunt(ipipe[0], opipe[1]);
- close(ipipe[0]);
- close(ipipe[1]);
- close(opipe[0]);
- close(opipe[1]);
- if (!ok)
- return -1;
- } else {
- if (device_script(ptycommand, pty_master, pty_master, 1) < 0)
- return -1;
- ttyfd = pty_slave;
- close(pty_master);
- pty_master = -1;
- }
- } else if (pty_socket != NULL) {
- int fd = open_socket(pty_socket);
- if (fd < 0)
- return -1;
- if (!start_charshunt(fd, fd))
- return -1;
- } else if (notty) {
- if (!start_charshunt(0, 1))
- return -1;
- } else if (record_file != NULL) {
- if (!start_charshunt(ttyfd, ttyfd))
- return -1;
- }
-
- /* run connection script */
- if ((connector && connector[0]) || initializer) {
- if (real_ttyfd != -1) {
- /* XXX do this if doing_callback == CALLBACK_DIALIN? */
- if (!default_device && modem) {
- setdtr(real_ttyfd, 0); /* in case modem is off hook */
- sleep(1);
- setdtr(real_ttyfd, 1);
- }
- }
-
- if (initializer && initializer[0]) {
- if (device_script(initializer, ttyfd, ttyfd, 0) < 0) {
- error("Initializer script failed");
- status = EXIT_INIT_FAILED;
- return -1;
- }
- if (kill_link) {
- disconnect_tty();
- return -1;
- }
- info("Serial port initialized.");
- }
-
- if (connector && connector[0]) {
- if (device_script(connector, ttyfd, ttyfd, 0) < 0) {
- error("Connect script failed");
- status = EXIT_CONNECT_FAILED;
- return -1;
- }
- if (kill_link) {
- disconnect_tty();
- return -1;
- }
- info("Serial connection established.");
- }
-
- /* set line speed, flow control, etc.;
- clear CLOCAL if modem option */
- if (real_ttyfd != -1)
- set_up_tty(real_ttyfd, 0);
-
- if (doing_callback == CALLBACK_DIALIN)
- connector = NULL;
- }
-
- /* reopen tty if necessary to wait for carrier */
- if (connector == NULL && modem && devnam[0] != 0) {
- int i;
- for (;;) {
- if ((i = open(devnam, O_RDWR)) >= 0)
- break;
- if (errno != EINTR) {
- error("Failed to reopen %s: %m", devnam);
- status = EXIT_OPEN_FAILED;
- }
- if (!persist || errno != EINTR || hungup || kill_link)
- return -1;
- }
- close(i);
- }
-
- slprintf(numbuf, sizeof(numbuf), "%d", baud_rate);
- script_setenv("SPEED", numbuf, 0);
-
- /* run welcome script, if any */
- if (welcomer && welcomer[0]) {
- if (device_script(welcomer, ttyfd, ttyfd, 0) < 0)
- warn("Welcome script failed");
- }
-
- /*
- * If we are initiating this connection, wait for a short
- * time for something from the peer. This can avoid bouncing
- * our packets off his tty before he has it set up.
- */
- if (connector != NULL || ptycommand != NULL)
- listen_time = connect_delay;
-
- return ttyfd;
-}
-
-
-void disconnect_tty()
-{
- if (disconnect_script == NULL || hungup)
- return;
- if (real_ttyfd >= 0)
- set_up_tty(real_ttyfd, 1);
- if (device_script(disconnect_script, ttyfd, ttyfd, 0) < 0) {
- warn("disconnect script failed");
- } else {
- info("Serial link disconnected.");
- }
-}
-
-void tty_close_fds()
-{
- if (pty_master >= 0)
- close(pty_master);
- if (pty_slave >= 0)
- close(pty_slave);
- if (real_ttyfd >= 0) {
- close(real_ttyfd);
- real_ttyfd = -1;
- }
- /* N.B. ttyfd will == either pty_slave or real_ttyfd */
-}
-
-void cleanup_tty()
-{
- if (real_ttyfd >= 0)
- finish_tty();
- tty_close_fds();
- if (locked) {
- unlock();
- locked = 0;
- }
-}
-
-/*
- * tty_do_send_config - set transmit-side PPP configuration.
- * We set the extended transmit ACCM here as well.
- */
-void
-tty_do_send_config(mtu, accm, pcomp, accomp)
- int mtu;
- u_int32_t accm;
- int pcomp, accomp;
-{
- tty_set_xaccm(xmit_accm);
- tty_send_config(mtu, accm, pcomp, accomp);
-}
-
-/*
- * finish_tty - restore the terminal device to its original settings
- */
-static void
-finish_tty()
-{
- /* drop dtr to hang up */
- if (!default_device && modem) {
- setdtr(real_ttyfd, 0);
- /*
- * This sleep is in case the serial port has CLOCAL set by default,
- * and consequently will reassert DTR when we close the device.
- */
- sleep(1);
- }
-
- restore_tty(real_ttyfd);
-
- if (tty_mode != (mode_t) -1) {
- if (fchmod(real_ttyfd, tty_mode) != 0) {
- /* XXX if devnam is a symlink, this will change the link */
- chmod(devnam, tty_mode);
- }
- }
-
- close(real_ttyfd);
- real_ttyfd = -1;
-}
-
-/*
- * maybe_relock - our PID has changed, maybe update the lock file.
- */
-static void
-maybe_relock(arg, pid)
- void *arg;
- int pid;
-{
- if (locked)
- relock(pid);
-}
-
-/*
- * open_socket - establish a stream socket connection to the nominated
- * host and port.
- */
-static int
-open_socket(dest)
- char *dest;
-{
- char *sep, *endp = NULL;
- int sock, port = -1;
- u_int32_t host;
- struct hostent *hent;
- struct sockaddr_in sad;
-
- /* parse host:port and resolve host to an IP address */
- sep = strchr(dest, ':');
- if (sep != NULL)
- port = strtol(sep+1, &endp, 10);
- if (port < 0 || endp == sep+1 || sep == dest) {
- error("Can't parse host:port for socket destination");
- return -1;
- }
- *sep = 0;
- host = inet_addr(dest);
- if (host == (u_int32_t) -1) {
- hent = gethostbyname(dest);
- if (hent == NULL) {
- error("%s: unknown host in socket option", dest);
- *sep = ':';
- return -1;
- }
- host = *(u_int32_t *)(hent->h_addr_list[0]);
- }
- *sep = ':';
-
- /* get a socket and connect it to the other end */
- sock = socket(PF_INET, SOCK_STREAM, 0);
- if (sock < 0) {
- error("Can't create socket: %m");
- return -1;
- }
- memset(&sad, 0, sizeof(sad));
- sad.sin_family = AF_INET;
- sad.sin_port = htons(port);
- sad.sin_addr.s_addr = host;
- if (connect(sock, (struct sockaddr *)&sad, sizeof(sad)) < 0) {
- error("Can't connect to %s: %m", dest);
- close(sock);
- return -1;
- }
-
- return sock;
-}
-
-
-/*
- * start_charshunt - create a child process to run the character shunt.
- */
-static int
-start_charshunt(ifd, ofd)
- int ifd, ofd;
-{
- int cpid;
-
- cpid = fork();
- if (cpid == -1) {
- error("Can't fork process for character shunt: %m");
- return 0;
- }
- if (cpid == 0) {
- /* child */
- close(pty_slave);
- setuid(uid);
- if (getuid() != uid)
- fatal("setuid failed");
- setgid(getgid());
- if (!nodetach)
- log_to_fd = -1;
- charshunt(ifd, ofd, record_file);
- exit(0);
- }
- charshunt_pid = cpid;
- add_notifier(&sigreceived, stop_charshunt, 0);
- close(pty_master);
- pty_master = -1;
- ttyfd = pty_slave;
- record_child(cpid, "pppd (charshunt)", charshunt_done, NULL);
- return 1;
-}
-
-static void
-charshunt_done(arg)
- void *arg;
-{
- charshunt_pid = 0;
-}
-
-static void
-stop_charshunt(arg, sig)
- void *arg;
- int sig;
-{
- if (charshunt_pid)
- kill(charshunt_pid, (sig == SIGINT? sig: SIGTERM));
-}
-
-/*
- * charshunt - the character shunt, which passes characters between
- * the pty master side and the serial port (or stdin/stdout).
- * This runs as the user (not as root).
- * (We assume ofd >= ifd which is true the way this gets called. :-).
- */
-static void
-charshunt(ifd, ofd, record_file)
- int ifd, ofd;
- char *record_file;
-{
- int n, nfds;
- fd_set ready, writey;
- u_char *ibufp, *obufp;
- int nibuf, nobuf;
- int flags;
- int pty_readable, stdin_readable;
- struct timeval lasttime;
- FILE *recordf = NULL;
- int ilevel, olevel, max_level;
- struct timeval levelt, tout, *top;
- extern u_char inpacket_buf[];
-
- /*
- * Reset signal handlers.
- */
- signal(SIGHUP, SIG_IGN); /* Hangup */
- signal(SIGINT, SIG_DFL); /* Interrupt */
- signal(SIGTERM, SIG_DFL); /* Terminate */
- signal(SIGCHLD, SIG_DFL);
- signal(SIGUSR1, SIG_DFL);
- signal(SIGUSR2, SIG_DFL);
- signal(SIGABRT, SIG_DFL);
- signal(SIGALRM, SIG_DFL);
- signal(SIGFPE, SIG_DFL);
- signal(SIGILL, SIG_DFL);
- signal(SIGPIPE, SIG_DFL);
- signal(SIGQUIT, SIG_DFL);
- signal(SIGSEGV, SIG_DFL);
-#ifdef SIGBUS
- signal(SIGBUS, SIG_DFL);
-#endif
-#ifdef SIGEMT
- signal(SIGEMT, SIG_DFL);
-#endif
-#ifdef SIGPOLL
- signal(SIGPOLL, SIG_DFL);
-#endif
-#ifdef SIGPROF
- signal(SIGPROF, SIG_DFL);
-#endif
-#ifdef SIGSYS
- signal(SIGSYS, SIG_DFL);
-#endif
-#ifdef SIGTRAP
- signal(SIGTRAP, SIG_DFL);
-#endif
-#ifdef SIGVTALRM
- signal(SIGVTALRM, SIG_DFL);
-#endif
-#ifdef SIGXCPU
- signal(SIGXCPU, SIG_DFL);
-#endif
-#ifdef SIGXFSZ
- signal(SIGXFSZ, SIG_DFL);
-#endif
-
- /*
- * Open the record file if required.
- */
- if (record_file != NULL) {
- recordf = fopen(record_file, "a");
- if (recordf == NULL)
- error("Couldn't create record file %s: %m", record_file);
- }
-
- /* set all the fds to non-blocking mode */
- flags = fcntl(pty_master, F_GETFL);
- if (flags == -1
- || fcntl(pty_master, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set pty master to nonblock: %m");
- flags = fcntl(ifd, F_GETFL);
- if (flags == -1
- || fcntl(ifd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set %s to nonblock: %m", (ifd==0? "stdin": "tty"));
- if (ofd != ifd) {
- flags = fcntl(ofd, F_GETFL);
- if (flags == -1
- || fcntl(ofd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set stdout to nonblock: %m");
- }
-
- nibuf = nobuf = 0;
- ibufp = obufp = NULL;
- pty_readable = stdin_readable = 1;
-
- ilevel = olevel = 0;
- gettimeofday(&levelt, NULL);
- if (max_data_rate) {
- max_level = max_data_rate / 10;
- if (max_level < 100)
- max_level = 100;
- } else
- max_level = PPP_MRU + PPP_HDRLEN + 1;
-
- nfds = (ofd > pty_master? ofd: pty_master) + 1;
- if (recordf != NULL) {
- gettimeofday(&lasttime, NULL);
- putc(7, recordf); /* put start marker */
- putc(lasttime.tv_sec >> 24, recordf);
- putc(lasttime.tv_sec >> 16, recordf);
- putc(lasttime.tv_sec >> 8, recordf);
- putc(lasttime.tv_sec, recordf);
- lasttime.tv_usec = 0;
- }
-
- while (nibuf != 0 || nobuf != 0 || pty_readable || stdin_readable) {
- top = 0;
- tout.tv_sec = 0;
- tout.tv_usec = 10000;
- FD_ZERO(&ready);
- FD_ZERO(&writey);
- if (nibuf != 0) {
- if (ilevel >= max_level)
- top = &tout;
- else
- FD_SET(pty_master, &writey);
- } else if (stdin_readable)
- FD_SET(ifd, &ready);
- if (nobuf != 0) {
- if (olevel >= max_level)
- top = &tout;
- else
- FD_SET(ofd, &writey);
- } else if (pty_readable)
- FD_SET(pty_master, &ready);
- if (select(nfds, &ready, &writey, NULL, top) < 0) {
- if (errno != EINTR)
- fatal("select");
- continue;
- }
- if (max_data_rate) {
- double dt;
- int nbt;
- struct timeval now;
-
- gettimeofday(&now, NULL);
- dt = (now.tv_sec - levelt.tv_sec
- + (now.tv_usec - levelt.tv_usec) / 1e6);
- nbt = (int)(dt * max_data_rate);
- ilevel = (nbt < 0 || nbt > ilevel)? 0: ilevel - nbt;
- olevel = (nbt < 0 || nbt > olevel)? 0: olevel - nbt;
- levelt = now;
- } else
- ilevel = olevel = 0;
- if (FD_ISSET(ifd, &ready)) {
- ibufp = inpacket_buf;
- nibuf = read(ifd, ibufp, PPP_MRU + PPP_HDRLEN);
- if (nibuf < 0 && errno == EIO)
- nibuf = 0;
- if (nibuf < 0) {
- if (!(errno == EINTR || errno == EAGAIN)) {
- error("Error reading standard input: %m");
- break;
- }
- nibuf = 0;
- } else if (nibuf == 0) {
- /* end of file from stdin */
- stdin_readable = 0;
- /* do a 0-length write, hopefully this will generate
- an EOF (hangup) on the slave side. */
- write(pty_master, inpacket_buf, 0);
- if (recordf)
- if (!record_write(recordf, 4, NULL, 0, &lasttime))
- recordf = NULL;
- } else {
- FD_SET(pty_master, &writey);
- if (recordf)
- if (!record_write(recordf, 2, ibufp, nibuf, &lasttime))
- recordf = NULL;
- }
- }
- if (FD_ISSET(pty_master, &ready)) {
- obufp = outpacket_buf;
- nobuf = read(pty_master, obufp, PPP_MRU + PPP_HDRLEN);
- if (nobuf < 0 && errno == EIO)
- nobuf = 0;
- if (nobuf < 0) {
- if (!(errno == EINTR || errno == EAGAIN)) {
- error("Error reading pseudo-tty master: %m");
- break;
- }
- nobuf = 0;
- } else if (nobuf == 0) {
- /* end of file from the pty - slave side has closed */
- pty_readable = 0;
- stdin_readable = 0; /* pty is not writable now */
- nibuf = 0;
- close(ofd);
- if (recordf)
- if (!record_write(recordf, 3, NULL, 0, &lasttime))
- recordf = NULL;
- } else {
- FD_SET(ofd, &writey);
- if (recordf)
- if (!record_write(recordf, 1, obufp, nobuf, &lasttime))
- recordf = NULL;
- }
- }
- if (FD_ISSET(ofd, &writey)) {
- n = nobuf;
- if (olevel + n > max_level)
- n = max_level - olevel;
- n = write(ofd, obufp, n);
- if (n < 0) {
- if (errno == EIO) {
- pty_readable = 0;
- nobuf = 0;
- } else if (errno != EAGAIN && errno != EINTR) {
- error("Error writing standard output: %m");
- break;
- }
- } else {
- obufp += n;
- nobuf -= n;
- olevel += n;
- }
- }
- if (FD_ISSET(pty_master, &writey)) {
- n = nibuf;
- if (ilevel + n > max_level)
- n = max_level - ilevel;
- n = write(pty_master, ibufp, n);
- if (n < 0) {
- if (errno == EIO) {
- stdin_readable = 0;
- nibuf = 0;
- } else if (errno != EAGAIN && errno != EINTR) {
- error("Error writing pseudo-tty master: %m");
- break;
- }
- } else {
- ibufp += n;
- nibuf -= n;
- ilevel += n;
- }
- }
- }
- exit(0);
-}
-
-static int
-record_write(f, code, buf, nb, tp)
- FILE *f;
- int code;
- u_char *buf;
- int nb;
- struct timeval *tp;
-{
- struct timeval now;
- int diff;
-
- gettimeofday(&now, NULL);
- now.tv_usec /= 100000; /* actually 1/10 s, not usec now */
- diff = (now.tv_sec - tp->tv_sec) * 10 + (now.tv_usec - tp->tv_usec);
- if (diff > 0) {
- if (diff > 255) {
- putc(5, f);
- putc(diff >> 24, f);
- putc(diff >> 16, f);
- putc(diff >> 8, f);
- putc(diff, f);
- } else {
- putc(6, f);
- putc(diff, f);
- }
- *tp = now;
- }
- putc(code, f);
- if (buf != NULL) {
- putc(nb >> 8, f);
- putc(nb, f);
- fwrite(buf, nb, 1, f);
- }
- fflush(f);
- if (ferror(f)) {
- error("Error writing record file: %m");
- return 0;
- }
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/upap.c b/mdk-stage1/ppp/pppd/upap.c
deleted file mode 100644
index bd569fb74..000000000
--- a/mdk-stage1/ppp/pppd/upap.c
+++ /dev/null
@@ -1,640 +0,0 @@
-/*
- * upap.c - User/Password Authentication Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#include "pppd.h"
-#include "upap.h"
-
-static const char rcsid[] = RCSID;
-
-static bool hide_password = 1;
-
-/*
- * Command-line options.
- */
-static option_t pap_option_list[] = {
- { "hide-password", o_bool, &hide_password,
- "Don't output passwords to log", OPT_PRIO | 1 },
- { "show-password", o_bool, &hide_password,
- "Show password string in debug log messages", OPT_PRIOSUB | 0 },
-
- { "pap-restart", o_int, &upap[0].us_timeouttime,
- "Set retransmit timeout for PAP", OPT_PRIO },
- { "pap-max-authreq", o_int, &upap[0].us_maxtransmits,
- "Set max number of transmissions for auth-reqs", OPT_PRIO },
- { "pap-timeout", o_int, &upap[0].us_reqtimeout,
- "Set time limit for peer PAP authentication", OPT_PRIO },
-
- { NULL }
-};
-
-/*
- * Protocol entry points.
- */
-static void upap_init __P((int));
-static void upap_lowerup __P((int));
-static void upap_lowerdown __P((int));
-static void upap_input __P((int, u_char *, int));
-static void upap_protrej __P((int));
-static int upap_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-
-struct protent pap_protent = {
- PPP_PAP,
- upap_init,
- upap_input,
- upap_protrej,
- upap_lowerup,
- upap_lowerdown,
- NULL,
- NULL,
- upap_printpkt,
- NULL,
- 1,
- "PAP",
- NULL,
- pap_option_list,
- NULL,
- NULL,
- NULL
-};
-
-upap_state upap[NUM_PPP]; /* UPAP state; one for each unit */
-
-static void upap_timeout __P((void *));
-static void upap_reqtimeout __P((void *));
-static void upap_rauthreq __P((upap_state *, u_char *, int, int));
-static void upap_rauthack __P((upap_state *, u_char *, int, int));
-static void upap_rauthnak __P((upap_state *, u_char *, int, int));
-static void upap_sauthreq __P((upap_state *));
-static void upap_sresp __P((upap_state *, int, int, char *, int));
-
-
-/*
- * upap_init - Initialize a UPAP unit.
- */
-static void
-upap_init(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- u->us_unit = unit;
- u->us_user = NULL;
- u->us_userlen = 0;
- u->us_passwd = NULL;
- u->us_passwdlen = 0;
- u->us_clientstate = UPAPCS_INITIAL;
- u->us_serverstate = UPAPSS_INITIAL;
- u->us_id = 0;
- u->us_timeouttime = UPAP_DEFTIMEOUT;
- u->us_maxtransmits = 10;
- u->us_reqtimeout = UPAP_DEFREQTIME;
-}
-
-
-/*
- * upap_authwithpeer - Authenticate us with our peer (start client).
- *
- * Set new state and send authenticate's.
- */
-void
-upap_authwithpeer(unit, user, password)
- int unit;
- char *user, *password;
-{
- upap_state *u = &upap[unit];
-
- /* Save the username and password we're given */
- u->us_user = user;
- u->us_userlen = strlen(user);
- u->us_passwd = password;
- u->us_passwdlen = strlen(password);
- u->us_transmits = 0;
-
- /* Lower layer up yet? */
- if (u->us_clientstate == UPAPCS_INITIAL ||
- u->us_clientstate == UPAPCS_PENDING) {
- u->us_clientstate = UPAPCS_PENDING;
- return;
- }
-
- upap_sauthreq(u); /* Start protocol */
-}
-
-
-/*
- * upap_authpeer - Authenticate our peer (start server).
- *
- * Set new state.
- */
-void
-upap_authpeer(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- /* Lower layer up yet? */
- if (u->us_serverstate == UPAPSS_INITIAL ||
- u->us_serverstate == UPAPSS_PENDING) {
- u->us_serverstate = UPAPSS_PENDING;
- return;
- }
-
- u->us_serverstate = UPAPSS_LISTEN;
- if (u->us_reqtimeout > 0)
- TIMEOUT(upap_reqtimeout, u, u->us_reqtimeout);
-}
-
-
-/*
- * upap_timeout - Retransmission timer for sending auth-reqs expired.
- */
-static void
-upap_timeout(arg)
- void *arg;
-{
- upap_state *u = (upap_state *) arg;
-
- if (u->us_clientstate != UPAPCS_AUTHREQ)
- return;
-
- if (u->us_transmits >= u->us_maxtransmits) {
- /* give up in disgust */
- error("No response to PAP authenticate-requests");
- u->us_clientstate = UPAPCS_BADAUTH;
- auth_withpeer_fail(u->us_unit, PPP_PAP);
- return;
- }
-
- upap_sauthreq(u); /* Send Authenticate-Request */
-}
-
-
-/*
- * upap_reqtimeout - Give up waiting for the peer to send an auth-req.
- */
-static void
-upap_reqtimeout(arg)
- void *arg;
-{
- upap_state *u = (upap_state *) arg;
-
- if (u->us_serverstate != UPAPSS_LISTEN)
- return; /* huh?? */
-
- auth_peer_fail(u->us_unit, PPP_PAP);
- u->us_serverstate = UPAPSS_BADAUTH;
-}
-
-
-/*
- * upap_lowerup - The lower layer is up.
- *
- * Start authenticating if pending.
- */
-static void
-upap_lowerup(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- if (u->us_clientstate == UPAPCS_INITIAL)
- u->us_clientstate = UPAPCS_CLOSED;
- else if (u->us_clientstate == UPAPCS_PENDING) {
- upap_sauthreq(u); /* send an auth-request */
- }
-
- if (u->us_serverstate == UPAPSS_INITIAL)
- u->us_serverstate = UPAPSS_CLOSED;
- else if (u->us_serverstate == UPAPSS_PENDING) {
- u->us_serverstate = UPAPSS_LISTEN;
- if (u->us_reqtimeout > 0)
- TIMEOUT(upap_reqtimeout, u, u->us_reqtimeout);
- }
-}
-
-
-/*
- * upap_lowerdown - The lower layer is down.
- *
- * Cancel all timeouts.
- */
-static void
-upap_lowerdown(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- if (u->us_clientstate == UPAPCS_AUTHREQ) /* Timeout pending? */
- UNTIMEOUT(upap_timeout, u); /* Cancel timeout */
- if (u->us_serverstate == UPAPSS_LISTEN && u->us_reqtimeout > 0)
- UNTIMEOUT(upap_reqtimeout, u);
-
- u->us_clientstate = UPAPCS_INITIAL;
- u->us_serverstate = UPAPSS_INITIAL;
-}
-
-
-/*
- * upap_protrej - Peer doesn't speak this protocol.
- *
- * This shouldn't happen. In any case, pretend lower layer went down.
- */
-static void
-upap_protrej(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- if (u->us_clientstate == UPAPCS_AUTHREQ) {
- error("PAP authentication failed due to protocol-reject");
- auth_withpeer_fail(unit, PPP_PAP);
- }
- if (u->us_serverstate == UPAPSS_LISTEN) {
- error("PAP authentication of peer failed (protocol-reject)");
- auth_peer_fail(unit, PPP_PAP);
- }
- upap_lowerdown(unit);
-}
-
-
-/*
- * upap_input - Input UPAP packet.
- */
-static void
-upap_input(unit, inpacket, l)
- int unit;
- u_char *inpacket;
- int l;
-{
- upap_state *u = &upap[unit];
- u_char *inp;
- u_char code, id;
- int len;
-
- /*
- * Parse header (code, id and length).
- * If packet too short, drop it.
- */
- inp = inpacket;
- if (l < UPAP_HEADERLEN) {
- UPAPDEBUG(("pap_input: rcvd short header."));
- return;
- }
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- GETSHORT(len, inp);
- if (len < UPAP_HEADERLEN) {
- UPAPDEBUG(("pap_input: rcvd illegal length."));
- return;
- }
- if (len > l) {
- UPAPDEBUG(("pap_input: rcvd short packet."));
- return;
- }
- len -= UPAP_HEADERLEN;
-
- /*
- * Action depends on code.
- */
- switch (code) {
- case UPAP_AUTHREQ:
- upap_rauthreq(u, inp, id, len);
- break;
-
- case UPAP_AUTHACK:
- upap_rauthack(u, inp, id, len);
- break;
-
- case UPAP_AUTHNAK:
- upap_rauthnak(u, inp, id, len);
- break;
-
- default: /* XXX Need code reject */
- break;
- }
-}
-
-
-/*
- * upap_rauth - Receive Authenticate.
- */
-static void
-upap_rauthreq(u, inp, id, len)
- upap_state *u;
- u_char *inp;
- int id;
- int len;
-{
- u_char ruserlen, rpasswdlen;
- char *ruser, *rpasswd;
- int retcode;
- char *msg;
- int msglen;
-
- if (u->us_serverstate < UPAPSS_LISTEN)
- return;
-
- /*
- * If we receive a duplicate authenticate-request, we are
- * supposed to return the same status as for the first request.
- */
- if (u->us_serverstate == UPAPSS_OPEN) {
- upap_sresp(u, UPAP_AUTHACK, id, "", 0); /* return auth-ack */
- return;
- }
- if (u->us_serverstate == UPAPSS_BADAUTH) {
- upap_sresp(u, UPAP_AUTHNAK, id, "", 0); /* return auth-nak */
- return;
- }
-
- /*
- * Parse user/passwd.
- */
- if (len < 1) {
- UPAPDEBUG(("pap_rauth: rcvd short packet."));
- return;
- }
- GETCHAR(ruserlen, inp);
- len -= sizeof (u_char) + ruserlen + sizeof (u_char);
- if (len < 0) {
- UPAPDEBUG(("pap_rauth: rcvd short packet."));
- return;
- }
- ruser = (char *) inp;
- INCPTR(ruserlen, inp);
- GETCHAR(rpasswdlen, inp);
- if (len < rpasswdlen) {
- UPAPDEBUG(("pap_rauth: rcvd short packet."));
- return;
- }
- rpasswd = (char *) inp;
-
- /*
- * Check the username and password given.
- */
- retcode = check_passwd(u->us_unit, ruser, ruserlen, rpasswd,
- rpasswdlen, &msg);
- BZERO(rpasswd, rpasswdlen);
- msglen = strlen(msg);
- if (msglen > 255)
- msglen = 255;
-
- upap_sresp(u, retcode, id, msg, msglen);
-
- if (retcode == UPAP_AUTHACK) {
- u->us_serverstate = UPAPSS_OPEN;
- auth_peer_success(u->us_unit, PPP_PAP, ruser, ruserlen);
- } else {
- u->us_serverstate = UPAPSS_BADAUTH;
- auth_peer_fail(u->us_unit, PPP_PAP);
- }
-
- if (u->us_reqtimeout > 0)
- UNTIMEOUT(upap_reqtimeout, u);
-}
-
-
-/*
- * upap_rauthack - Receive Authenticate-Ack.
- */
-static void
-upap_rauthack(u, inp, id, len)
- upap_state *u;
- u_char *inp;
- int id;
- int len;
-{
- u_char msglen;
- char *msg;
-
- if (u->us_clientstate != UPAPCS_AUTHREQ) /* XXX */
- return;
-
- /*
- * Parse message.
- */
- if (len < 1) {
- UPAPDEBUG(("pap_rauthack: ignoring missing msg-length."));
- } else {
- GETCHAR(msglen, inp);
- if (msglen > 0) {
- len -= sizeof (u_char);
- if (len < msglen) {
- UPAPDEBUG(("pap_rauthack: rcvd short packet."));
- return;
- }
- msg = (char *) inp;
- PRINTMSG(msg, msglen);
- }
- }
-
- u->us_clientstate = UPAPCS_OPEN;
-
- auth_withpeer_success(u->us_unit, PPP_PAP);
-}
-
-
-/*
- * upap_rauthnak - Receive Authenticate-Nakk.
- */
-static void
-upap_rauthnak(u, inp, id, len)
- upap_state *u;
- u_char *inp;
- int id;
- int len;
-{
- u_char msglen;
- char *msg;
-
- if (u->us_clientstate != UPAPCS_AUTHREQ) /* XXX */
- return;
-
- /*
- * Parse message.
- */
- if (len < 1) {
- UPAPDEBUG(("pap_rauthnak: ignoring missing msg-length."));
- } else {
- GETCHAR(msglen, inp);
- if (msglen > 0) {
- len -= sizeof (u_char);
- if (len < msglen) {
- UPAPDEBUG(("pap_rauthnak: rcvd short packet."));
- return;
- }
- msg = (char *) inp;
- PRINTMSG(msg, msglen);
- }
- }
-
- u->us_clientstate = UPAPCS_BADAUTH;
-
- error("PAP authentication failed");
- auth_withpeer_fail(u->us_unit, PPP_PAP);
-}
-
-
-/*
- * upap_sauthreq - Send an Authenticate-Request.
- */
-static void
-upap_sauthreq(u)
- upap_state *u;
-{
- u_char *outp;
- int outlen;
-
- outlen = UPAP_HEADERLEN + 2 * sizeof (u_char) +
- u->us_userlen + u->us_passwdlen;
- outp = outpacket_buf;
-
- MAKEHEADER(outp, PPP_PAP);
-
- PUTCHAR(UPAP_AUTHREQ, outp);
- PUTCHAR(++u->us_id, outp);
- PUTSHORT(outlen, outp);
- PUTCHAR(u->us_userlen, outp);
- BCOPY(u->us_user, outp, u->us_userlen);
- INCPTR(u->us_userlen, outp);
- PUTCHAR(u->us_passwdlen, outp);
- BCOPY(u->us_passwd, outp, u->us_passwdlen);
-
- output(u->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
-
- TIMEOUT(upap_timeout, u, u->us_timeouttime);
- ++u->us_transmits;
- u->us_clientstate = UPAPCS_AUTHREQ;
-}
-
-
-/*
- * upap_sresp - Send a response (ack or nak).
- */
-static void
-upap_sresp(u, code, id, msg, msglen)
- upap_state *u;
- u_char code, id;
- char *msg;
- int msglen;
-{
- u_char *outp;
- int outlen;
-
- outlen = UPAP_HEADERLEN + sizeof (u_char) + msglen;
- outp = outpacket_buf;
- MAKEHEADER(outp, PPP_PAP);
-
- PUTCHAR(code, outp);
- PUTCHAR(id, outp);
- PUTSHORT(outlen, outp);
- PUTCHAR(msglen, outp);
- BCOPY(msg, outp, msglen);
- output(u->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
-}
-
-/*
- * upap_printpkt - print the contents of a PAP packet.
- */
-static char *upap_codenames[] = {
- "AuthReq", "AuthAck", "AuthNak"
-};
-
-static int
-upap_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len;
- int mlen, ulen, wlen;
- char *user, *pwd, *msg;
- u_char *pstart;
-
- if (plen < UPAP_HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < UPAP_HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(upap_codenames) / sizeof(char *))
- printer(arg, " %s", upap_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= UPAP_HEADERLEN;
- switch (code) {
- case UPAP_AUTHREQ:
- if (len < 1)
- break;
- ulen = p[0];
- if (len < ulen + 2)
- break;
- wlen = p[ulen + 1];
- if (len < ulen + wlen + 2)
- break;
- user = (char *) (p + 1);
- pwd = (char *) (p + ulen + 2);
- p += ulen + wlen + 2;
- len -= ulen + wlen + 2;
- printer(arg, " user=");
- print_string(user, ulen, printer, arg);
- printer(arg, " password=");
- if (!hide_password)
- print_string(pwd, wlen, printer, arg);
- else
- printer(arg, "<hidden>");
- break;
- case UPAP_AUTHACK:
- case UPAP_AUTHNAK:
- if (len < 1)
- break;
- mlen = p[0];
- if (len < mlen + 1)
- break;
- msg = (char *) (p + 1);
- p += mlen + 1;
- len -= mlen + 1;
- printer(arg, " ");
- print_string(msg, mlen, printer, arg);
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
-
- return p - pstart;
-}
diff --git a/mdk-stage1/ppp/pppd/upap.h b/mdk-stage1/ppp/pppd/upap.h
deleted file mode 100644
index 42d6f4f0f..000000000
--- a/mdk-stage1/ppp/pppd/upap.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * upap.h - User/Password Authentication Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Packet header = Code, id, length.
- */
-#define UPAP_HEADERLEN 4
-
-
-/*
- * UPAP codes.
- */
-#define UPAP_AUTHREQ 1 /* Authenticate-Request */
-#define UPAP_AUTHACK 2 /* Authenticate-Ack */
-#define UPAP_AUTHNAK 3 /* Authenticate-Nak */
-
-
-/*
- * Each interface is described by upap structure.
- */
-typedef struct upap_state {
- int us_unit; /* Interface unit number */
- char *us_user; /* User */
- int us_userlen; /* User length */
- char *us_passwd; /* Password */
- int us_passwdlen; /* Password length */
- int us_clientstate; /* Client state */
- int us_serverstate; /* Server state */
- u_char us_id; /* Current id */
- int us_timeouttime; /* Timeout (seconds) for auth-req retrans. */
- int us_transmits; /* Number of auth-reqs sent */
- int us_maxtransmits; /* Maximum number of auth-reqs to send */
- int us_reqtimeout; /* Time to wait for auth-req from peer */
-} upap_state;
-
-
-/*
- * Client states.
- */
-#define UPAPCS_INITIAL 0 /* Connection down */
-#define UPAPCS_CLOSED 1 /* Connection up, haven't requested auth */
-#define UPAPCS_PENDING 2 /* Connection down, have requested auth */
-#define UPAPCS_AUTHREQ 3 /* We've sent an Authenticate-Request */
-#define UPAPCS_OPEN 4 /* We've received an Ack */
-#define UPAPCS_BADAUTH 5 /* We've received a Nak */
-
-/*
- * Server states.
- */
-#define UPAPSS_INITIAL 0 /* Connection down */
-#define UPAPSS_CLOSED 1 /* Connection up, haven't requested auth */
-#define UPAPSS_PENDING 2 /* Connection down, have requested auth */
-#define UPAPSS_LISTEN 3 /* Listening for an Authenticate */
-#define UPAPSS_OPEN 4 /* We've sent an Ack */
-#define UPAPSS_BADAUTH 5 /* We've sent a Nak */
-
-
-/*
- * Timeouts.
- */
-#define UPAP_DEFTIMEOUT 3 /* Timeout (seconds) for retransmitting req */
-#define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */
-
-extern upap_state upap[];
-
-void upap_authwithpeer __P((int, char *, char *));
-void upap_authpeer __P((int));
-
-extern struct protent pap_protent;
diff --git a/mdk-stage1/ppp/pppd/utils.c b/mdk-stage1/ppp/pppd/utils.c
deleted file mode 100644
index 6a5b88e8b..000000000
--- a/mdk-stage1/ppp/pppd/utils.c
+++ /dev/null
@@ -1,948 +0,0 @@
-/*
- * utils.c - various utility functions used in pppd.
- *
- * Copyright (c) 1999 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <syslog.h>
-#include <netdb.h>
-#include <utmp.h>
-#include <pwd.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#ifdef SVR4
-#include <sys/mkdev.h>
-#endif
-
-#include "pppd.h"
-
-static const char rcsid[] = RCSID;
-
-#if defined(SUNOS4)
-extern char *strerror();
-#endif
-
-static void logit __P((int, char *, va_list));
-static void log_write __P((int, char *));
-static void vslp_printer __P((void *, char *, ...));
-static void format_packet __P((u_char *, int, void (*) (void *, char *, ...),
- void *));
-
-struct buffer_info {
- char *ptr;
- int len;
-};
-
-/*
- * strlcpy - like strcpy/strncpy, doesn't overflow destination buffer,
- * always leaves destination null-terminated (for len > 0).
- */
-size_t
-strlcpy(dest, src, len)
- char *dest;
- const char *src;
- size_t len;
-{
- size_t ret = strlen(src);
-
- if (len != 0) {
- if (ret < len)
- strcpy(dest, src);
- else {
- strncpy(dest, src, len - 1);
- dest[len-1] = 0;
- }
- }
- return ret;
-}
-
-/*
- * strlcat - like strcat/strncat, doesn't overflow destination buffer,
- * always leaves destination null-terminated (for len > 0).
- */
-size_t
-strlcat(dest, src, len)
- char *dest;
- const char *src;
- size_t len;
-{
- size_t dlen = strlen(dest);
-
- return dlen + strlcpy(dest + dlen, src, (len > dlen? len - dlen: 0));
-}
-
-
-/*
- * slprintf - format a message into a buffer. Like sprintf except we
- * also specify the length of the output buffer, and we handle
- * %r (recursive format), %m (error message), %v (visible string),
- * %q (quoted string), %t (current time) and %I (IP address) formats.
- * Doesn't do floating-point formats.
- * Returns the number of chars put into buf.
- */
-int
-slprintf __V((char *buf, int buflen, char *fmt, ...))
-{
- va_list args;
- int n;
-
-#if defined(__STDC__)
- va_start(args, fmt);
-#else
- char *buf;
- int buflen;
- char *fmt;
- va_start(args);
- buf = va_arg(args, char *);
- buflen = va_arg(args, int);
- fmt = va_arg(args, char *);
-#endif
- n = vslprintf(buf, buflen, fmt, args);
- va_end(args);
- return n;
-}
-
-/*
- * vslprintf - like slprintf, takes a va_list instead of a list of args.
- */
-#define OUTCHAR(c) (buflen > 0? (--buflen, *buf++ = (c)): 0)
-
-int
-vslprintf(buf, buflen, fmt, args)
- char *buf;
- int buflen;
- char *fmt;
- va_list args;
-{
- int c, i, n;
- int width, prec, fillch;
- int base, len, neg, quoted;
- unsigned long val = 0;
- char *str, *f, *buf0;
- unsigned char *p;
- char num[32];
- time_t t;
- u_int32_t ip;
- static char hexchars[] = "0123456789abcdef";
- struct buffer_info bufinfo;
-
- buf0 = buf;
- --buflen;
- while (buflen > 0) {
- for (f = fmt; *f != '%' && *f != 0; ++f)
- ;
- if (f > fmt) {
- len = f - fmt;
- if (len > buflen)
- len = buflen;
- memcpy(buf, fmt, len);
- buf += len;
- buflen -= len;
- fmt = f;
- }
- if (*fmt == 0)
- break;
- c = *++fmt;
- width = 0;
- prec = -1;
- fillch = ' ';
- if (c == '0') {
- fillch = '0';
- c = *++fmt;
- }
- if (c == '*') {
- width = va_arg(args, int);
- c = *++fmt;
- } else {
- while (isdigit(c)) {
- width = width * 10 + c - '0';
- c = *++fmt;
- }
- }
- if (c == '.') {
- c = *++fmt;
- if (c == '*') {
- prec = va_arg(args, int);
- c = *++fmt;
- } else {
- prec = 0;
- while (isdigit(c)) {
- prec = prec * 10 + c - '0';
- c = *++fmt;
- }
- }
- }
- str = 0;
- base = 0;
- neg = 0;
- ++fmt;
- switch (c) {
- case 'd':
- i = va_arg(args, int);
- if (i < 0) {
- neg = 1;
- val = -i;
- } else
- val = i;
- base = 10;
- break;
- case 'u':
- val = va_arg(args, unsigned int);
- base = 10;
- break;
- case 'o':
- val = va_arg(args, unsigned int);
- base = 8;
- break;
- case 'x':
- case 'X':
- val = va_arg(args, unsigned int);
- base = 16;
- break;
- case 'p':
- val = (unsigned long) va_arg(args, void *);
- base = 16;
- neg = 2;
- break;
- case 's':
- str = va_arg(args, char *);
- break;
- case 'c':
- num[0] = va_arg(args, int);
- num[1] = 0;
- str = num;
- break;
- case 'm':
- str = strerror(errno);
- break;
- case 'I':
- ip = va_arg(args, u_int32_t);
- ip = ntohl(ip);
- slprintf(num, sizeof(num), "%d.%d.%d.%d", (ip >> 24) & 0xff,
- (ip >> 16) & 0xff, (ip >> 8) & 0xff, ip & 0xff);
- str = num;
- break;
- case 'r':
- f = va_arg(args, char *);
-#ifndef __powerpc__
- n = vslprintf(buf, buflen + 1, f, va_arg(args, va_list));
-#else
- /* On the powerpc, a va_list is an array of 1 structure */
- n = vslprintf(buf, buflen + 1, f, va_arg(args, void *));
-#endif
- buf += n;
- buflen -= n;
- continue;
- case 't':
- time(&t);
- str = ctime(&t);
- str += 4; /* chop off the day name */
- str[15] = 0; /* chop off year and newline */
- break;
- case 'v': /* "visible" string */
- case 'q': /* quoted string */
- quoted = c == 'q';
- p = va_arg(args, unsigned char *);
- if (fillch == '0' && prec >= 0) {
- n = prec;
- } else {
- n = strlen((char *)p);
- if (prec >= 0 && n > prec)
- n = prec;
- }
- while (n > 0 && buflen > 0) {
- c = *p++;
- --n;
- if (!quoted && c >= 0x80) {
- OUTCHAR('M');
- OUTCHAR('-');
- c -= 0x80;
- }
- if (quoted && (c == '"' || c == '\\'))
- OUTCHAR('\\');
- if (c < 0x20 || (0x7f <= c && c < 0xa0)) {
- if (quoted) {
- OUTCHAR('\\');
- switch (c) {
- case '\t': OUTCHAR('t'); break;
- case '\n': OUTCHAR('n'); break;
- case '\b': OUTCHAR('b'); break;
- case '\f': OUTCHAR('f'); break;
- default:
- OUTCHAR('x');
- OUTCHAR(hexchars[c >> 4]);
- OUTCHAR(hexchars[c & 0xf]);
- }
- } else {
- if (c == '\t')
- OUTCHAR(c);
- else {
- OUTCHAR('^');
- OUTCHAR(c ^ 0x40);
- }
- }
- } else
- OUTCHAR(c);
- }
- continue;
- case 'P': /* print PPP packet */
- bufinfo.ptr = buf;
- bufinfo.len = buflen + 1;
- p = va_arg(args, unsigned char *);
- n = va_arg(args, int);
- format_packet(p, n, vslp_printer, &bufinfo);
- buf = bufinfo.ptr;
- buflen = bufinfo.len - 1;
- continue;
- case 'B':
- p = va_arg(args, unsigned char *);
- for (n = prec; n > 0; --n) {
- c = *p++;
- if (fillch == ' ')
- OUTCHAR(' ');
- OUTCHAR(hexchars[(c >> 4) & 0xf]);
- OUTCHAR(hexchars[c & 0xf]);
- }
- continue;
- default:
- *buf++ = '%';
- if (c != '%')
- --fmt; /* so %z outputs %z etc. */
- --buflen;
- continue;
- }
- if (base != 0) {
- str = num + sizeof(num);
- *--str = 0;
- while (str > num + neg) {
- *--str = hexchars[val % base];
- val = val / base;
- if (--prec <= 0 && val == 0)
- break;
- }
- switch (neg) {
- case 1:
- *--str = '-';
- break;
- case 2:
- *--str = 'x';
- *--str = '0';
- break;
- }
- len = num + sizeof(num) - 1 - str;
- } else {
- len = strlen(str);
- if (prec >= 0 && len > prec)
- len = prec;
- }
- if (width > 0) {
- if (width > buflen)
- width = buflen;
- if ((n = width - len) > 0) {
- buflen -= n;
- for (; n > 0; --n)
- *buf++ = fillch;
- }
- }
- if (len > buflen)
- len = buflen;
- memcpy(buf, str, len);
- buf += len;
- buflen -= len;
- }
- *buf = 0;
- return buf - buf0;
-}
-
-/*
- * vslp_printer - used in processing a %P format
- */
-static void
-vslp_printer __V((void *arg, char *fmt, ...))
-{
- int n;
- va_list pvar;
- struct buffer_info *bi;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- void *arg;
- char *fmt;
- va_start(pvar);
- arg = va_arg(pvar, void *);
- fmt = va_arg(pvar, char *);
-#endif
-
- bi = (struct buffer_info *) arg;
- n = vslprintf(bi->ptr, bi->len, fmt, pvar);
- va_end(pvar);
-
- bi->ptr += n;
- bi->len -= n;
-}
-
-#ifdef unused
-/*
- * log_packet - format a packet and log it.
- */
-
-void
-log_packet(p, len, prefix, level)
- u_char *p;
- int len;
- char *prefix;
- int level;
-{
- init_pr_log(prefix, level);
- format_packet(p, len, pr_log, &level);
- end_pr_log();
-}
-#endif /* unused */
-
-/*
- * format_packet - make a readable representation of a packet,
- * calling `printer(arg, format, ...)' to output it.
- */
-static void
-format_packet(p, len, printer, arg)
- u_char *p;
- int len;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int i, n;
- u_short proto;
- struct protent *protp;
-
- if (len >= PPP_HDRLEN && p[0] == PPP_ALLSTATIONS && p[1] == PPP_UI) {
- p += 2;
- GETSHORT(proto, p);
- len -= PPP_HDRLEN;
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (proto == protp->protocol)
- break;
- if (protp != NULL) {
- printer(arg, "[%s", protp->name);
- n = (*protp->printpkt)(p, len, printer, arg);
- printer(arg, "]");
- p += n;
- len -= n;
- } else {
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (proto == (protp->protocol & ~0x8000))
- break;
- if (protp != 0 && protp->data_name != 0) {
- printer(arg, "[%s data]", protp->data_name);
- if (len > 8)
- printer(arg, "%.8B ...", p);
- else
- printer(arg, "%.*B", len, p);
- len = 0;
- } else
- printer(arg, "[proto=0x%x]", proto);
- }
- }
-
- if (len > 32)
- printer(arg, "%.32B ...", p);
- else
- printer(arg, "%.*B", len, p);
-}
-
-/*
- * init_pr_log, end_pr_log - initialize and finish use of pr_log.
- */
-
-static char line[256]; /* line to be logged accumulated here */
-static char *linep; /* current pointer within line */
-static int llevel; /* level for logging */
-
-void
-init_pr_log(prefix, level)
- char *prefix;
- int level;
-{
- linep = line;
- if (prefix != NULL) {
- strlcpy(line, prefix, sizeof(line));
- linep = line + strlen(line);
- }
- llevel = level;
-}
-
-void
-end_pr_log()
-{
- if (linep != line) {
- *linep = 0;
- log_write(llevel, line);
- }
-}
-
-/*
- * pr_log - printer routine for outputting to syslog
- */
-void
-pr_log __V((void *arg, char *fmt, ...))
-{
- int l, n;
- va_list pvar;
- char *p, *eol;
- char buf[256];
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- void *arg;
- char *fmt;
- va_start(pvar);
- arg = va_arg(pvar, void *);
- fmt = va_arg(pvar, char *);
-#endif
-
- n = vslprintf(buf, sizeof(buf), fmt, pvar);
- va_end(pvar);
-
- p = buf;
- eol = strchr(buf, '\n');
- if (linep != line) {
- l = (eol == NULL)? n: eol - buf;
- if (linep + l < line + sizeof(line)) {
- if (l > 0) {
- memcpy(linep, buf, l);
- linep += l;
- }
- if (eol == NULL)
- return;
- p = eol + 1;
- eol = strchr(p, '\n');
- }
- *linep = 0;
- log_write(llevel, line);
- linep = line;
- }
-
- while (eol != NULL) {
- *eol = 0;
- log_write(llevel, p);
- p = eol + 1;
- eol = strchr(p, '\n');
- }
-
- /* assumes sizeof(buf) <= sizeof(line) */
- l = buf + n - p;
- if (l > 0) {
- memcpy(line, p, n);
- linep = line + l;
- }
-}
-
-/*
- * print_string - print a readable representation of a string using
- * printer.
- */
-void
-print_string(p, len, printer, arg)
- char *p;
- int len;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int c;
-
- printer(arg, "\"");
- for (; len > 0; --len) {
- c = *p++;
- if (' ' <= c && c <= '~') {
- if (c == '\\' || c == '"')
- printer(arg, "\\");
- printer(arg, "%c", c);
- } else {
- switch (c) {
- case '\n':
- printer(arg, "\\n");
- break;
- case '\r':
- printer(arg, "\\r");
- break;
- case '\t':
- printer(arg, "\\t");
- break;
- default:
- printer(arg, "\\%.3o", c);
- }
- }
- }
- printer(arg, "\"");
-}
-
-/*
- * logit - does the hard work for fatal et al.
- */
-static void
-logit(level, fmt, args)
- int level;
- char *fmt;
- va_list args;
-{
- int n;
- char buf[1024];
-
- n = vslprintf(buf, sizeof(buf), fmt, args);
- log_write(level, buf);
-}
-
-static void
-log_write(level, buf)
- int level;
- char *buf;
-{
- syslog(level, "%s", buf);
- if (log_to_fd >= 0 && (level != LOG_DEBUG || debug)) {
- int n = strlen(buf);
-
- if (n > 0 && buf[n-1] == '\n')
- --n;
- if (write(log_to_fd, buf, n) != n
- || write(log_to_fd, "\n", 1) != 1)
- log_to_fd = -1;
- }
-}
-
-/*
- * fatal - log an error message and die horribly.
- */
-void
-fatal __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_ERR, fmt, pvar);
- va_end(pvar);
-
- die(1); /* as promised */
-}
-
-/*
- * error - log an error message.
- */
-void
-error __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_ERR, fmt, pvar);
- va_end(pvar);
-}
-
-/*
- * warn - log a warning message.
- */
-void
-warn __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_WARNING, fmt, pvar);
- va_end(pvar);
-}
-
-/*
- * notice - log a notice-level message.
- */
-void
-notice __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_NOTICE, fmt, pvar);
- va_end(pvar);
-}
-
-/*
- * info - log an informational message.
- */
-void
-info __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_INFO, fmt, pvar);
- va_end(pvar);
-}
-
-/*
- * dbglog - log a debug message.
- */
-void
-dbglog __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_DEBUG, fmt, pvar);
- va_end(pvar);
-}
-
-/* Procedures for locking the serial device using a lock file. */
-#ifndef LOCK_DIR
-#ifdef _linux_
-#define LOCK_DIR "/var/lock"
-#else
-#ifdef SVR4
-#define LOCK_DIR "/var/spool/locks"
-#else
-#define LOCK_DIR "/var/spool/lock"
-#endif
-#endif
-#endif /* LOCK_DIR */
-
-static char lock_file[MAXPATHLEN];
-
-/*
- * lock - create a lock file for the named device
- */
-int
-lock(dev)
- char *dev;
-{
-#ifdef LOCKLIB
- int result;
-
- result = mklock (dev, (void *) 0);
- if (result == 0) {
- strlcpy(lock_file, sizeof(lock_file), dev);
- return 0;
- }
-
- if (result > 0)
- notice("Device %s is locked by pid %d", dev, result);
- else
- error("Can't create lock file %s", lock_file);
- return -1;
-
-#else /* LOCKLIB */
-
- char lock_buffer[12];
- int fd, pid, n;
-
-#ifdef SVR4
- struct stat sbuf;
-
- if (stat(dev, &sbuf) < 0) {
- error("Can't get device number for %s: %m", dev);
- return -1;
- }
- if ((sbuf.st_mode & S_IFMT) != S_IFCHR) {
- error("Can't lock %s: not a character device", dev);
- return -1;
- }
- slprintf(lock_file, sizeof(lock_file), "%s/LK.%03d.%03d.%03d",
- LOCK_DIR, major(sbuf.st_dev),
- major(sbuf.st_rdev), minor(sbuf.st_rdev));
-#else
- char *p;
-
- if ((p = strrchr(dev, '/')) != NULL)
- dev = p + 1;
- slprintf(lock_file, sizeof(lock_file), "%s/LCK..%s", LOCK_DIR, dev);
-#endif
-
- while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
- if (errno != EEXIST) {
- error("Can't create lock file %s: %m", lock_file);
- break;
- }
-
- /* Read the lock file to find out who has the device locked. */
- fd = open(lock_file, O_RDONLY, 0);
- if (fd < 0) {
- if (errno == ENOENT) /* This is just a timing problem. */
- continue;
- error("Can't open existing lock file %s: %m", lock_file);
- break;
- }
-#ifndef LOCK_BINARY
- n = read(fd, lock_buffer, 11);
-#else
- n = read(fd, &pid, sizeof(pid));
-#endif /* LOCK_BINARY */
- close(fd);
- fd = -1;
- if (n <= 0) {
- error("Can't read pid from lock file %s", lock_file);
- break;
- }
-
- /* See if the process still exists. */
-#ifndef LOCK_BINARY
- lock_buffer[n] = 0;
- pid = atoi(lock_buffer);
-#endif /* LOCK_BINARY */
- if (pid == getpid())
- return 1; /* somebody else locked it for us */
- if (pid == 0
- || (kill(pid, 0) == -1 && errno == ESRCH)) {
- if (unlink (lock_file) == 0) {
- notice("Removed stale lock on %s (pid %d)", dev, pid);
- continue;
- }
- warn("Couldn't remove stale lock on %s", dev);
- } else
- notice("Device %s is locked by pid %d", dev, pid);
- break;
- }
-
- if (fd < 0) {
- lock_file[0] = 0;
- return -1;
- }
-
- pid = getpid();
-#ifndef LOCK_BINARY
- slprintf(lock_buffer, sizeof(lock_buffer), "%10d\n", pid);
- write (fd, lock_buffer, 11);
-#else
- write(fd, &pid, sizeof (pid));
-#endif
- close(fd);
- return 0;
-
-#endif
-}
-
-/*
- * relock - called to update our lockfile when we are about to detach,
- * thus changing our pid (we fork, the child carries on, and the parent dies).
- * Note that this is called by the parent, with pid equal to the pid
- * of the child. This avoids a potential race which would exist if
- * we had the child rewrite the lockfile (the parent might die first,
- * and another process could think the lock was stale if it checked
- * between when the parent died and the child rewrote the lockfile).
- */
-int
-relock(pid)
- int pid;
-{
-#ifdef LOCKLIB
- /* XXX is there a way to do this? */
- return -1;
-#else /* LOCKLIB */
-
- int fd;
- char lock_buffer[12];
-
- if (lock_file[0] == 0)
- return -1;
- fd = open(lock_file, O_WRONLY, 0);
- if (fd < 0) {
- error("Couldn't reopen lock file %s: %m", lock_file);
- lock_file[0] = 0;
- return -1;
- }
-
-#ifndef LOCK_BINARY
- slprintf(lock_buffer, sizeof(lock_buffer), "%10d\n", pid);
- write (fd, lock_buffer, 11);
-#else
- write(fd, &pid, sizeof(pid));
-#endif /* LOCK_BINARY */
- close(fd);
- return 0;
-
-#endif /* LOCKLIB */
-}
-
-/*
- * unlock - remove our lockfile
- */
-void
-unlock()
-{
- if (lock_file[0]) {
-#ifdef LOCKLIB
- (void) rmlock(lock_file, (void *) 0);
-#else
- unlink(lock_file);
-#endif
- lock_file[0] = 0;
- }
-}
-
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux b/mdk-stage1/ppp/pppdump/Makefile.linux
deleted file mode 100644
index 1d8d78ff7..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.linux
+++ /dev/null
@@ -1,17 +0,0 @@
-CFLAGS= -I../include/net $(RPM_OPT_FLAGS)
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
-INSTALL= install
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) $(RPM_OPT_FLAGS) -o pppdump $(OBJS)
-
-clean:
- rm -f pppdump $(OBJS) *~
-
-install:
- mkdir -p $(BINDIR) $(MANDIR)/man8
- $(INSTALL) -s -c pppdump $(BINDIR)
- $(INSTALL) -c pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt b/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt
deleted file mode 100644
index d02fecde8..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt
+++ /dev/null
@@ -1,17 +0,0 @@
-CFLAGS= -O -I../include/net
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
-INSTALL= install
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) -o pppdump $(OBJS)
-
-clean:
- rm -f pppdump $(OBJS) *~
-
-install:
- mkdir -p $(BINDIR) $(MANDIR)/man8
- $(INSTALL) -s -c pppdump $(BINDIR)
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile b/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile
deleted file mode 100644
index 4c98b6c6d..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-CFLAGS= -O -I../include/net
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
-INSTALL= install
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) $(RPM_OPT_FLAGS) -o pppdump $(OBJS)
-
-clean:
- rm -f pppdump $(OBJS) *~
-
-install:
- mkdir -p $(BINDIR) $(MANDIR)/man8
- $(INSTALL) -s -c pppdump $(BINDIR)
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.sol2 b/mdk-stage1/ppp/pppdump/Makefile.sol2
deleted file mode 100644
index d7e6b413e..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.sol2
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# pppdump Makefile for SVR4 systems
-# $Id$
-#
-
-include ../solaris/Makedefs
-
-CFLAGS= $(COPTS) -I../include/net
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) -o pppdump $(OBJS)
-
-clean:
- rm -f $(OBJS) pppdump *~
-
-install:
- $(INSTALL) -f $(BINDIR) pppdump
- $(INSTALL) -m 444 -f $(MANDIR)/man8 pppdump.8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.sunos4 b/mdk-stage1/ppp/pppdump/Makefile.sunos4
deleted file mode 100644
index 915c8267d..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.sunos4
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# pppstats makefile
-# $Id$
-#
-
-include ../sunos4/Makedefs
-
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-CFLAGS = $(COPTS) -I../include/net
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) -o pppdump $(OBJS)
-
-clean:
- rm -f pppdump $(OBJS) *~
-
-install: pppdump
- $(INSTALL) -c pppdump $(BINDIR)/pppdump
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8/pppdump.8
diff --git a/mdk-stage1/ppp/pppdump/bsd-comp.c b/mdk-stage1/ppp/pppdump/bsd-comp.c
deleted file mode 100644
index 1e14e98bb..000000000
--- a/mdk-stage1/ppp/pppdump/bsd-comp.c
+++ /dev/null
@@ -1,750 +0,0 @@
-/* Because this code is derived from the 4.3BSD compress source:
- *
- *
- * Copyright (c) 1985, 1986 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * James A. Woods, derived from original work by Spencer Thomas
- * and Joseph Orost.
- *
- * 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 the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
- */
-
-/*
- * $Id$
- */
-
-#include <sys/types.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include "ppp_defs.h"
-#include "ppp-comp.h"
-
-#if DO_BSD_COMPRESS
-
-/*
- * PPP "BSD compress" compression
- * The differences between this compression and the classic BSD LZW
- * source are obvious from the requirement that the classic code worked
- * with files while this handles arbitrarily long streams that
- * are broken into packets. They are:
- *
- * When the code size expands, a block of junk is not emitted by
- * the compressor and not expected by the decompressor.
- *
- * New codes are not necessarily assigned every time an old
- * code is output by the compressor. This is because a packet
- * end forces a code to be emitted, but does not imply that a
- * new sequence has been seen.
- *
- * The compression ratio is checked at the first end of a packet
- * after the appropriate gap. Besides simplifying and speeding
- * things up, this makes it more likely that the transmitter
- * and receiver will agree when the dictionary is cleared when
- * compression is not going well.
- */
-
-/*
- * A dictionary for doing BSD compress.
- */
-struct bsd_db {
- int totlen; /* length of this structure */
- u_int hsize; /* size of the hash table */
- u_char hshift; /* used in hash function */
- u_char n_bits; /* current bits/code */
- u_char maxbits;
- u_char debug;
- u_char unit;
- u_short seqno; /* sequence number of next packet */
- u_int hdrlen; /* header length to preallocate */
- u_int mru;
- u_int maxmaxcode; /* largest valid code */
- u_int max_ent; /* largest code in use */
- u_int in_count; /* uncompressed bytes, aged */
- u_int bytes_out; /* compressed bytes, aged */
- u_int ratio; /* recent compression ratio */
- u_int checkpoint; /* when to next check the ratio */
- u_int clear_count; /* times dictionary cleared */
- u_int incomp_count; /* incompressible packets */
- u_int incomp_bytes; /* incompressible bytes */
- u_int uncomp_count; /* uncompressed packets */
- u_int uncomp_bytes; /* uncompressed bytes */
- u_int comp_count; /* compressed packets */
- u_int comp_bytes; /* compressed bytes */
- u_short *lens; /* array of lengths of codes */
- struct bsd_dict {
- union { /* hash value */
- u_int32_t fcode;
- struct {
-#ifdef BSD_LITTLE_ENDIAN
- u_short prefix; /* preceding code */
- u_char suffix; /* last character of new code */
- u_char pad;
-#else
- u_char pad;
- u_char suffix; /* last character of new code */
- u_short prefix; /* preceding code */
-#endif
- } hs;
- } f;
- u_short codem1; /* output of hash table -1 */
- u_short cptr; /* map code to hash table entry */
- } dict[1];
-};
-
-#define BSD_OVHD 2 /* BSD compress overhead/packet */
-#define BSD_INIT_BITS BSD_MIN_BITS
-
-static void *bsd_decomp_alloc __P((u_char *options, int opt_len));
-static void bsd_free __P((void *state));
-static int bsd_decomp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
-static void bsd_incomp __P((void *state, u_char *dmsg, int len));
-static int bsd_decompress __P((void *state, u_char *cmp, int inlen,
- u_char *dmp, int *outlen));
-static void bsd_reset __P((void *state));
-static void bsd_comp_stats __P((void *state, struct compstat *stats));
-
-/*
- * Exported procedures.
- */
-struct compressor ppp_bsd_compress = {
- CI_BSD_COMPRESS, /* compress_proto */
- bsd_decomp_alloc, /* decomp_alloc */
- bsd_free, /* decomp_free */
- bsd_decomp_init, /* decomp_init */
- bsd_reset, /* decomp_reset */
- bsd_decompress, /* decompress */
- bsd_incomp, /* incomp */
- bsd_comp_stats, /* decomp_stat */
-};
-
-/*
- * the next two codes should not be changed lightly, as they must not
- * lie within the contiguous general code space.
- */
-#define CLEAR 256 /* table clear output code */
-#define FIRST 257 /* first free entry */
-#define LAST 255
-
-#define MAXCODE(b) ((1 << (b)) - 1)
-#define BADCODEM1 MAXCODE(BSD_MAX_BITS)
-
-#define BSD_HASH(prefix,suffix,hshift) ((((u_int32_t)(suffix)) << (hshift)) \
- ^ (u_int32_t)(prefix))
-#define BSD_KEY(prefix,suffix) ((((u_int32_t)(suffix)) << 16) \
- + (u_int32_t)(prefix))
-
-#define CHECK_GAP 10000 /* Ratio check interval */
-
-#define RATIO_SCALE_LOG 8
-#define RATIO_SCALE (1<<RATIO_SCALE_LOG)
-#define RATIO_MAX (0x7fffffff>>RATIO_SCALE_LOG)
-
-/*
- * clear the dictionary
- */
-static void
-bsd_clear(db)
- struct bsd_db *db;
-{
- db->clear_count++;
- db->max_ent = FIRST-1;
- db->n_bits = BSD_INIT_BITS;
- db->ratio = 0;
- db->bytes_out = 0;
- db->in_count = 0;
- db->checkpoint = CHECK_GAP;
-}
-
-/*
- * If the dictionary is full, then see if it is time to reset it.
- *
- * Compute the compression ratio using fixed-point arithmetic
- * with 8 fractional bits.
- *
- * Since we have an infinite stream instead of a single file,
- * watch only the local compression ratio.
- *
- * Since both peers must reset the dictionary at the same time even in
- * the absence of CLEAR codes (while packets are incompressible), they
- * must compute the same ratio.
- */
-static int /* 1=output CLEAR */
-bsd_check(db)
- struct bsd_db *db;
-{
- u_int new_ratio;
-
- if (db->in_count >= db->checkpoint) {
- /* age the ratio by limiting the size of the counts */
- if (db->in_count >= RATIO_MAX
- || db->bytes_out >= RATIO_MAX) {
- db->in_count -= db->in_count/4;
- db->bytes_out -= db->bytes_out/4;
- }
-
- db->checkpoint = db->in_count + CHECK_GAP;
-
- if (db->max_ent >= db->maxmaxcode) {
- /* Reset the dictionary only if the ratio is worse,
- * or if it looks as if it has been poisoned
- * by incompressible data.
- *
- * This does not overflow, because
- * db->in_count <= RATIO_MAX.
- */
- new_ratio = db->in_count << RATIO_SCALE_LOG;
- if (db->bytes_out != 0)
- new_ratio /= db->bytes_out;
-
- if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE) {
- bsd_clear(db);
- return 1;
- }
- db->ratio = new_ratio;
- }
- }
- return 0;
-}
-
-/*
- * Return statistics.
- */
-static void
-bsd_comp_stats(state, stats)
- void *state;
- struct compstat *stats;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int out;
-
- stats->unc_bytes = db->uncomp_bytes;
- stats->unc_packets = db->uncomp_count;
- stats->comp_bytes = db->comp_bytes;
- stats->comp_packets = db->comp_count;
- stats->inc_bytes = db->incomp_bytes;
- stats->inc_packets = db->incomp_count;
- stats->ratio = db->in_count;
- out = db->bytes_out;
- if (stats->ratio <= 0x7fffff)
- stats->ratio <<= 8;
- else
- out >>= 8;
- if (out != 0)
- stats->ratio /= out;
-}
-
-/*
- * Reset state, as on a CCP ResetReq.
- */
-static void
-bsd_reset(state)
- void *state;
-{
- struct bsd_db *db = (struct bsd_db *) state;
-
- db->seqno = 0;
- bsd_clear(db);
- db->clear_count = 0;
-}
-
-/*
- * Allocate space for a (de) compressor.
- */
-static void *
-bsd_alloc(options, opt_len, decomp)
- u_char *options;
- int opt_len, decomp;
-{
- int bits;
- u_int newlen, hsize, hshift, maxmaxcode;
- struct bsd_db *db;
-
- if (opt_len != 3 || options[0] != CI_BSD_COMPRESS || options[1] != 3
- || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION)
- return NULL;
-
- bits = BSD_NBITS(options[2]);
- switch (bits) {
- case 9: /* needs 82152 for both directions */
- case 10: /* needs 84144 */
- case 11: /* needs 88240 */
- case 12: /* needs 96432 */
- hsize = 5003;
- hshift = 4;
- break;
- case 13: /* needs 176784 */
- hsize = 9001;
- hshift = 5;
- break;
- case 14: /* needs 353744 */
- hsize = 18013;
- hshift = 6;
- break;
- case 15: /* needs 691440 */
- hsize = 35023;
- hshift = 7;
- break;
- case 16: /* needs 1366160--far too much, */
- /* hsize = 69001; */ /* and 69001 is too big for cptr */
- /* hshift = 8; */ /* in struct bsd_db */
- /* break; */
- default:
- return NULL;
- }
-
- maxmaxcode = MAXCODE(bits);
- newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0]));
- db = (struct bsd_db *) malloc(newlen);
- if (!db)
- return NULL;
- memset(db, 0, sizeof(*db) - sizeof(db->dict));
-
- if (!decomp) {
- db->lens = NULL;
- } else {
- db->lens = (u_short *) malloc((maxmaxcode+1) * sizeof(db->lens[0]));
- if (!db->lens) {
- free(db);
- return NULL;
- }
- }
-
- db->totlen = newlen;
- db->hsize = hsize;
- db->hshift = hshift;
- db->maxmaxcode = maxmaxcode;
- db->maxbits = bits;
-
- return (void *) db;
-}
-
-static void
-bsd_free(state)
- void *state;
-{
- struct bsd_db *db = (struct bsd_db *) state;
-
- if (db->lens)
- free(db->lens);
- free(db);
-}
-
-static void *
-bsd_decomp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- return bsd_alloc(options, opt_len, 1);
-}
-
-/*
- * Initialize the database.
- */
-static int
-bsd_init(db, options, opt_len, unit, hdrlen, mru, debug, decomp)
- struct bsd_db *db;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug, decomp;
-{
- int i;
-
- if (opt_len < CILEN_BSD_COMPRESS
- || options[0] != CI_BSD_COMPRESS || options[1] != CILEN_BSD_COMPRESS
- || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION
- || BSD_NBITS(options[2]) != db->maxbits
- || decomp && db->lens == NULL)
- return 0;
-
- if (decomp) {
- i = LAST+1;
- while (i != 0)
- db->lens[--i] = 1;
- }
- i = db->hsize;
- while (i != 0) {
- db->dict[--i].codem1 = BADCODEM1;
- db->dict[i].cptr = 0;
- }
-
- db->unit = unit;
- db->hdrlen = hdrlen;
- db->mru = mru;
- if (debug)
- db->debug = 1;
-
- bsd_reset(db);
-
- return 1;
-}
-
-static int
-bsd_decomp_init(state, options, opt_len, unit, hdrlen, mru, debug)
- void *state;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug;
-{
- return bsd_init((struct bsd_db *) state, options, opt_len,
- unit, hdrlen, mru, debug, 1);
-}
-
-
-/*
- * Update the "BSD Compress" dictionary on the receiver for
- * incompressible data by pretending to compress the incoming data.
- */
-static void
-bsd_incomp(state, dmsg, mlen)
- void *state;
- u_char *dmsg;
- int mlen;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int hshift = db->hshift;
- u_int max_ent = db->max_ent;
- u_int n_bits = db->n_bits;
- struct bsd_dict *dictp;
- u_int32_t fcode;
- u_char c;
- long hval, disp;
- int slen, ilen;
- u_int bitno = 7;
- u_char *rptr;
- u_int ent;
-
- rptr = dmsg;
- ent = rptr[0]; /* get the protocol */
- if (ent == 0) {
- ++rptr;
- --mlen;
- ent = rptr[0];
- }
- if ((ent & 1) == 0 || ent < 0x21 || ent > 0xf9)
- return;
-
- db->seqno++;
- ilen = 1; /* count the protocol as 1 byte */
- ++rptr;
- slen = dmsg + mlen - rptr;
- ilen += slen;
- for (; slen > 0; --slen) {
- c = *rptr++;
- fcode = BSD_KEY(ent, c);
- hval = BSD_HASH(ent, c, hshift);
- dictp = &db->dict[hval];
-
- /* validate and then check the entry */
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- if (dictp->f.fcode == fcode) {
- ent = dictp->codem1+1;
- continue; /* found (prefix,suffix) */
- }
-
- /* continue probing until a match or invalid entry */
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- } while (dictp->f.fcode != fcode);
- ent = dictp->codem1+1;
- continue; /* finally found (prefix,suffix) */
-
- nomatch: /* output (count) the prefix */
- bitno += n_bits;
-
- /* code -> hashtable */
- if (max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- /* expand code size if needed */
- if (max_ent >= MAXCODE(n_bits))
- db->n_bits = ++n_bits;
-
- /* Invalidate previous hash table entry
- * assigned this code, and then take it over.
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent)
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- db->lens[max_ent] = db->lens[ent]+1;
- }
- ent = c;
- }
- bitno += n_bits; /* output (count) the last code */
- db->bytes_out += bitno/8;
- db->in_count += ilen;
- (void)bsd_check(db);
-
- ++db->incomp_count;
- db->incomp_bytes += ilen;
- ++db->uncomp_count;
- db->uncomp_bytes += ilen;
-
- /* Increase code size if we would have without the packet
- * boundary and as the decompressor will.
- */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
- db->n_bits++;
-}
-
-
-/*
- * Decompress "BSD Compress"
- *
- * Because of patent problems, we return DECOMP_ERROR for errors
- * found by inspecting the input data and for system problems, but
- * DECOMP_FATALERROR for any errors which could possibly be said to
- * be being detected "after" decompression. For DECOMP_ERROR,
- * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
- * infringing a patent of Motorola's if we do, so we take CCP down
- * instead.
- *
- * Given that the frame has the correct sequence number and a good FCS,
- * errors such as invalid codes in the input most likely indicate a
- * bug, so we return DECOMP_FATALERROR for them in order to turn off
- * compression, even though they are detected by inspecting the input.
- */
-static int
-bsd_decompress(state, cmsg, inlen, dmp, outlenp)
- void *state;
- u_char *cmsg, *dmp;
- int inlen, *outlenp;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int max_ent = db->max_ent;
- u_int32_t accm = 0;
- u_int bitno = 32; /* 1st valid bit in accm */
- u_int n_bits = db->n_bits;
- u_int tgtbitno = 32-n_bits; /* bitno when we have a code */
- struct bsd_dict *dictp;
- int explen, i, seq, len;
- u_int incode, oldcode, finchar;
- u_char *p, *rptr, *wptr;
- int ilen;
- int dlen, space, codelen, extra;
-
- rptr = cmsg;
- if (*rptr == 0)
- ++rptr;
- ++rptr; /* skip protocol (assumed 0xfd) */
- seq = (rptr[0] << 8) + rptr[1];
- rptr += BSD_OVHD;
- ilen = len = cmsg + inlen - rptr;
-
- /*
- * Check the sequence number and give up if it is not what we expect.
- */
- if (seq != db->seqno++) {
- if (db->debug)
- printf("bsd_decomp%d: bad sequence # %d, expected %d\n",
- db->unit, seq, db->seqno - 1);
- return DECOMP_ERROR;
- }
-
- wptr = dmp + db->hdrlen;
-
- oldcode = CLEAR;
- explen = 0;
- while (len > 0) {
- /*
- * Accumulate bytes until we have a complete code.
- * Then get the next code, relying on the 32-bit,
- * unsigned accm to mask the result.
- */
- bitno -= 8;
- accm |= *rptr++ << bitno;
- --len;
- if (tgtbitno < bitno)
- continue;
- incode = accm >> tgtbitno;
- accm <<= n_bits;
- bitno += n_bits;
-
- if (incode == CLEAR) {
- /*
- * The dictionary must only be cleared at
- * the end of a packet. But there could be an
- * empty message block at the end.
- */
- if (len > 0) {
- if (db->debug)
- printf("bsd_decomp%d: bad CLEAR\n", db->unit);
- return DECOMP_FATALERROR;
- }
- bsd_clear(db);
- explen = ilen = 0;
- break;
- }
-
- if (incode > max_ent + 2 || incode > db->maxmaxcode
- || incode > max_ent && oldcode == CLEAR) {
- if (db->debug) {
- printf("bsd_decomp%d: bad code 0x%x oldcode=0x%x ",
- db->unit, incode, oldcode);
- printf("max_ent=0x%x dlen=%d seqno=%d\n",
- max_ent, dlen, db->seqno);
- }
- return DECOMP_FATALERROR; /* probably a bug */
- }
-
- /* Special case for KwKwK string. */
- if (incode > max_ent) {
- finchar = oldcode;
- extra = 1;
- } else {
- finchar = incode;
- extra = 0;
- }
-
- codelen = db->lens[finchar];
- explen += codelen + extra;
- if (explen > db->mru + 1) {
- if (db->debug)
- printf("bsd_decomp%d: ran out of mru\n", db->unit);
- return DECOMP_FATALERROR;
- }
-
- /*
- * Decode this code and install it in the decompressed buffer.
- */
- p = (wptr += codelen);
- while (finchar > LAST) {
- dictp = &db->dict[db->dict[finchar].cptr];
-#ifdef DEBUG
- --codelen;
- if (codelen <= 0) {
- printf("bsd_decomp%d: fell off end of chain ", db->unit);
- printf("0x%x at 0x%x by 0x%x, max_ent=0x%x\n",
- incode, finchar, db->dict[finchar].cptr, max_ent);
- return DECOMP_FATALERROR;
- }
- if (dictp->codem1 != finchar-1) {
- printf("bsd_decomp%d: bad code chain 0x%x finchar=0x%x ",
- db->unit, incode, finchar);
- printf("oldcode=0x%x cptr=0x%x codem1=0x%x\n", oldcode,
- db->dict[finchar].cptr, dictp->codem1);
- return DECOMP_FATALERROR;
- }
-#endif
- *--p = dictp->f.hs.suffix;
- finchar = dictp->f.hs.prefix;
- }
- *--p = finchar;
-
-#ifdef DEBUG
- if (--codelen != 0)
- printf("bsd_decomp%d: short by %d after code 0x%x, max_ent=0x%x\n",
- db->unit, codelen, incode, max_ent);
-#endif
-
- if (extra) /* the KwKwK case again */
- *wptr++ = finchar;
-
- /*
- * If not first code in a packet, and
- * if not out of code space, then allocate a new code.
- *
- * Keep the hash table correct so it can be used
- * with uncompressed packets.
- */
- if (oldcode != CLEAR && max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- u_int32_t fcode;
- int hval, disp;
-
- fcode = BSD_KEY(oldcode,finchar);
- hval = BSD_HASH(oldcode,finchar,db->hshift);
- dictp = &db->dict[hval];
-
- /* look for a free hash table entry */
- if (dictp->codem1 < max_ent) {
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- } while (dictp->codem1 < max_ent);
- }
-
- /*
- * Invalidate previous hash table entry
- * assigned this code, and then take it over
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent) {
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- }
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- db->lens[max_ent] = db->lens[oldcode]+1;
-
- /* Expand code size if needed. */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode) {
- db->n_bits = ++n_bits;
- tgtbitno = 32-n_bits;
- }
- }
- oldcode = incode;
- }
- *outlenp = wptr - (dmp + db->hdrlen);
-
- /*
- * Keep the checkpoint right so that incompressible packets
- * clear the dictionary at the right times.
- */
- db->bytes_out += ilen;
- db->in_count += explen;
- if (bsd_check(db) && db->debug) {
- printf("bsd_decomp%d: peer should have cleared dictionary\n",
- db->unit);
- }
-
- ++db->comp_count;
- db->comp_bytes += ilen + BSD_OVHD;
- ++db->uncomp_count;
- db->uncomp_bytes += explen;
-
- return DECOMP_OK;
-}
-#endif /* DO_BSD_COMPRESS */
diff --git a/mdk-stage1/ppp/pppdump/deflate.c b/mdk-stage1/ppp/pppdump/deflate.c
deleted file mode 100644
index 08e8abc0d..000000000
--- a/mdk-stage1/ppp/pppdump/deflate.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
- * ppp_deflate.c - interface the zlib procedures for Deflate compression
- * and decompression (as used by gzip) to the PPP code.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#include <sys/types.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include "ppp_defs.h"
-#include "ppp-comp.h"
-#include "zlib.h"
-
-#if DO_DEFLATE
-
-#define DEFLATE_DEBUG 1
-
-/*
- * State for a Deflate (de)compressor.
- */
-struct deflate_state {
- int seqno;
- int w_size;
- int unit;
- int hdrlen;
- int mru;
- int debug;
- z_stream strm;
- struct compstat stats;
-};
-
-#define DEFLATE_OVHD 2 /* Deflate overhead/packet */
-
-static void *z_alloc __P((void *, u_int items, u_int size));
-static void z_free __P((void *, void *ptr, u_int nb));
-static void *z_decomp_alloc __P((u_char *options, int opt_len));
-static void z_decomp_free __P((void *state));
-static int z_decomp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
-static void z_incomp __P((void *state, u_char *dmsg, int len));
-static int z_decompress __P((void *state, u_char *cmp, int inlen,
- u_char *dmp, int *outlenp));
-static void z_decomp_reset __P((void *state));
-static void z_comp_stats __P((void *state, struct compstat *stats));
-
-/*
- * Procedures exported to if_ppp.c.
- */
-struct compressor ppp_deflate = {
- CI_DEFLATE, /* compress_proto */
- z_decomp_alloc, /* decomp_alloc */
- z_decomp_free, /* decomp_free */
- z_decomp_init, /* decomp_init */
- z_decomp_reset, /* decomp_reset */
- z_decompress, /* decompress */
- z_incomp, /* incomp */
- z_comp_stats, /* decomp_stat */
-};
-
-/*
- * Space allocation and freeing routines for use by zlib routines.
- */
-static void *
-z_alloc(notused, items, size)
- void *notused;
- u_int items, size;
-{
- return malloc(items * size);
-}
-
-static void
-z_free(notused, ptr, nbytes)
- void *notused;
- void *ptr;
- u_int nbytes;
-{
- free(ptr);
-}
-
-static void
-z_comp_stats(arg, stats)
- void *arg;
- struct compstat *stats;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_int out;
-
- *stats = state->stats;
- stats->ratio = stats->unc_bytes;
- out = stats->comp_bytes + stats->unc_bytes;
- if (stats->ratio <= 0x7ffffff)
- stats->ratio <<= 8;
- else
- out >>= 8;
- if (out != 0)
- stats->ratio /= out;
-}
-
-/*
- * Allocate space for a decompressor.
- */
-static void *
-z_decomp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- struct deflate_state *state;
- int w_size;
-
- if (opt_len != CILEN_DEFLATE || options[0] != CI_DEFLATE
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return NULL;
- w_size = DEFLATE_SIZE(options[2]);
- if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE)
- return NULL;
-
- state = (struct deflate_state *) malloc(sizeof(*state));
- if (state == NULL)
- return NULL;
-
- state->strm.next_out = NULL;
- state->strm.zalloc = (alloc_func) z_alloc;
- state->strm.zfree = (free_func) z_free;
- if (inflateInit2(&state->strm, -w_size) != Z_OK) {
- free(state);
- return NULL;
- }
-
- state->w_size = w_size;
- memset(&state->stats, 0, sizeof(state->stats));
- return (void *) state;
-}
-
-static void
-z_decomp_free(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- inflateEnd(&state->strm);
- free(state);
-}
-
-static int
-z_decomp_init(arg, options, opt_len, unit, hdrlen, mru, debug)
- void *arg;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- if (opt_len < CILEN_DEFLATE || options[0] != CI_DEFLATE
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || DEFLATE_SIZE(options[2]) != state->w_size
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
-
- state->seqno = 0;
- state->unit = unit;
- state->hdrlen = hdrlen;
- state->debug = debug;
- state->mru = mru;
-
- inflateReset(&state->strm);
-
- return 1;
-}
-
-static void
-z_decomp_reset(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- state->seqno = 0;
- inflateReset(&state->strm);
-}
-
-/*
- * Decompress a Deflate-compressed packet.
- *
- * Because of patent problems, we return DECOMP_ERROR for errors
- * found by inspecting the input data and for system problems, but
- * DECOMP_FATALERROR for any errors which could possibly be said to
- * be being detected "after" decompression. For DECOMP_ERROR,
- * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
- * infringing a patent of Motorola's if we do, so we take CCP down
- * instead.
- *
- * Given that the frame has the correct sequence number and a good FCS,
- * errors such as invalid codes in the input most likely indicate a
- * bug, so we return DECOMP_FATALERROR for them in order to turn off
- * compression, even though they are detected by inspecting the input.
- */
-static int
-z_decompress(arg, mi, inlen, mo, outlenp)
- void *arg;
- u_char *mi, *mo;
- int inlen, *outlenp;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_char *rptr, *wptr;
- int rlen, olen, ospace;
- int seq, i, flush, r, decode_proto;
-
- rptr = mi;
- if (*rptr == 0)
- ++rptr;
- ++rptr;
-
- /* Check the sequence number. */
- seq = (rptr[0] << 8) + rptr[1];
- rptr += 2;
- if (seq != state->seqno) {
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_decompress%d: bad seq # %d, expected %d\n",
- state->unit, seq, state->seqno);
- return DECOMP_ERROR;
- }
- ++state->seqno;
-
- /*
- * Set up to call inflate.
- */
- wptr = mo;
- state->strm.next_in = rptr;
- state->strm.avail_in = mi + inlen - rptr;
- rlen = state->strm.avail_in + PPP_HDRLEN + DEFLATE_OVHD;
- state->strm.next_out = wptr;
- state->strm.avail_out = state->mru + 2;
-
- r = inflate(&state->strm, Z_PACKET_FLUSH);
- if (r != Z_OK) {
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_decompress%d: inflate returned %d (%s)\n",
- state->unit, r, (state->strm.msg? state->strm.msg: ""));
- return DECOMP_FATALERROR;
- }
- olen = state->mru + 2 - state->strm.avail_out;
- *outlenp = olen;
-
- if ((wptr[0] & 1) != 0)
- ++olen; /* for suppressed protocol high byte */
- olen += 2; /* for address, control */
-
-#if DEFLATE_DEBUG
- if (olen > state->mru + PPP_HDRLEN)
- printf("ppp_deflate%d: exceeded mru (%d > %d)\n",
- state->unit, olen, state->mru + PPP_HDRLEN);
-#endif
-
- state->stats.unc_bytes += olen;
- state->stats.unc_packets++;
- state->stats.comp_bytes += rlen;
- state->stats.comp_packets++;
-
- return DECOMP_OK;
-}
-
-/*
- * Incompressible data has arrived - add it to the history.
- */
-static void
-z_incomp(arg, mi, mlen)
- void *arg;
- u_char *mi;
- int mlen;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_char *rptr;
- int rlen, proto, r;
-
- /*
- * Check that the protocol is one we handle.
- */
- rptr = mi;
- proto = rptr[0];
- if ((proto & 1) == 0)
- proto = (proto << 8) + rptr[1];
- if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
- return;
-
- ++state->seqno;
-
- if (rptr[0] == 0)
- ++rptr;
- rlen = mi + mlen - rptr;
- state->strm.next_in = rptr;
- state->strm.avail_in = rlen;
- r = inflateIncomp(&state->strm);
- if (r != Z_OK) {
- /* gak! */
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_incomp%d: inflateIncomp returned %d (%s)\n",
- state->unit, r, (state->strm.msg? state->strm.msg: ""));
- return;
- }
-
- /*
- * Update stats.
- */
- if (proto <= 0xff)
- ++rlen;
- rlen += 2;
- state->stats.inc_bytes += rlen;
- state->stats.inc_packets++;
- state->stats.unc_bytes += rlen;
- state->stats.unc_packets++;
-}
-
-#endif /* DO_DEFLATE */
diff --git a/mdk-stage1/ppp/pppdump/ppp-comp.h b/mdk-stage1/ppp/pppdump/ppp-comp.h
deleted file mode 100644
index 9221c0db4..000000000
--- a/mdk-stage1/ppp/pppdump/ppp-comp.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * ppp-comp.h - Definitions for doing PPP packet compression.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#ifndef _NET_PPP_COMP_H
-#define _NET_PPP_COMP_H
-
-/*
- * The following symbols control whether we include code for
- * various compression methods.
- */
-#ifndef DO_BSD_COMPRESS
-#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
-#endif
-#ifndef DO_DEFLATE
-#define DO_DEFLATE 1 /* by default, include Deflate */
-#endif
-#define DO_PREDICTOR_1 0
-#define DO_PREDICTOR_2 0
-
-/*
- * Structure giving methods for compression/decompression.
- */
-struct compressor {
- int compress_proto; /* CCP compression protocol number */
-
- /* Allocate space for a decompressor (receive side) */
- void *(*decomp_alloc) __P((u_char *options, int opt_len));
- /* Free space used by a decompressor */
- void (*decomp_free) __P((void *state));
- /* Initialize a decompressor */
- int (*decomp_init) __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
- /* Reset a decompressor */
- void (*decomp_reset) __P((void *state));
- /* Decompress a packet. */
- int (*decompress) __P((void *state, u_char *mp, int inlen,
- u_char *dmp, int *outlen));
- /* Update state for an incompressible packet received */
- void (*incomp) __P((void *state, u_char *mp, int len));
- /* Return decompression statistics */
- void (*decomp_stat) __P((void *state, struct compstat *stats));
-};
-
-/*
- * Return values for decompress routine.
- * We need to make these distinctions so that we can disable certain
- * useful functionality, namely sending a CCP reset-request as a result
- * of an error detected after decompression. This is to avoid infringing
- * a patent held by Motorola.
- * Don't you just lurve software patents.
- */
-#define DECOMP_OK 0 /* everything went OK */
-#define DECOMP_ERROR 1 /* error detected before decomp. */
-#define DECOMP_FATALERROR 2 /* error detected after decomp. */
-
-/*
- * CCP codes.
- */
-#define CCP_CONFREQ 1
-#define CCP_CONFACK 2
-#define CCP_CONFNAK 3
-#define CCP_CONFREJ 4
-#define CCP_TERMREQ 5
-#define CCP_TERMACK 6
-#define CCP_RESETREQ 14
-#define CCP_RESETACK 15
-
-/*
- * Max # bytes for a CCP option
- */
-#define CCP_MAX_OPTION_LENGTH 32
-
-/*
- * Parts of a CCP packet.
- */
-#define CCP_CODE(dp) ((dp)[0])
-#define CCP_ID(dp) ((dp)[1])
-#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
-#define CCP_HDRLEN 4
-
-#define CCP_OPT_CODE(dp) ((dp)[0])
-#define CCP_OPT_LENGTH(dp) ((dp)[1])
-#define CCP_OPT_MINLEN 2
-
-/*
- * Definitions for BSD-Compress.
- */
-#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
-#define CILEN_BSD_COMPRESS 3 /* length of config. option */
-
-/* Macros for handling the 3rd byte of the BSD-Compress config option. */
-#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
-#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
-#define BSD_CURRENT_VERSION 1 /* current version number */
-#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
-
-#define BSD_MIN_BITS 9 /* smallest code size supported */
-#define BSD_MAX_BITS 15 /* largest code size supported */
-
-/*
- * Definitions for Deflate.
- */
-#define CI_DEFLATE 26 /* config option for Deflate */
-#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
-#define CILEN_DEFLATE 4 /* length of its config option */
-
-#define DEFLATE_MIN_SIZE 8
-#define DEFLATE_MAX_SIZE 15
-#define DEFLATE_METHOD_VAL 8
-#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
-#define DEFLATE_METHOD(x) ((x) & 0x0F)
-#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
- + DEFLATE_METHOD_VAL)
-#define DEFLATE_CHK_SEQUENCE 0
-
-/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
-#define CILEN_PREDICTOR_1 2 /* length of its config option */
-#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
-#define CILEN_PREDICTOR_2 2 /* length of its config option */
-
-#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/pppdump/pppdump.8 b/mdk-stage1/ppp/pppdump/pppdump.8
deleted file mode 100644
index c0172f519..000000000
--- a/mdk-stage1/ppp/pppdump/pppdump.8
+++ /dev/null
@@ -1,62 +0,0 @@
-.\" @(#) $Id$
-.TH PPPDUMP 8 "1 April 1999"
-.SH NAME
-pppdump \- convert PPP record file to readable format
-.SH SYNOPSIS
-.B pppdump
-[
-.B -h
-|
-.B -p
-[
-.B -d
-]] [
-.B -r
-] [
-.B -m \fImru
-] [
-.I file \fR...
-]
-.ti 12
-.SH DESCRIPTION
-The
-.B pppdump
-utility converts the files written using the \fIrecord\fR option of
-.B pppd
-into a human-readable format. If one or more filenames are specified,
-.B pppdump
-will read each in turn; otherwise it will read its standard input. In
-each case the result is written to standard output.
-.PP
-The options are as follows:
-.TP
-.B -h
-Prints the bytes sent and received in hexadecimal. If neither this
-option nor the \fB-p\fR option is specified, the bytes are printed as
-the characters themselves, with non-printing and non-ASCII characters
-printed as escape sequences.
-.TP
-.B -p
-Collects the bytes sent and received into PPP packets, interpreting
-the async HDLC framing and escape characters and checking the FCS
-(frame check sequence) of each packet. The packets are printed as hex
-values and as characters (non-printable characters are printed as
-`.').
-.TP
-.B -d
-With the \fB-p\fR option, this option causes
-.B pppdump
-to decompress packets which have been compressed with the BSD-Compress
-or Deflate methods.
-.TP
-.B -r
-Reverses the direction indicators, so that `sent' is printed for
-bytes or packets received, and `rcvd' is printed for bytes or packets
-sent.
-.TP
-.B -m \fImru
-Use \fImru\fR as the MRU (maximum receive unit) for both directions of
-the link when checking for over-length PPP packets (with the \fB-p\fR
-option).
-.SH SEE ALSO
-pppd(8)
diff --git a/mdk-stage1/ppp/pppdump/pppdump.c b/mdk-stage1/ppp/pppdump/pppdump.c
deleted file mode 100644
index a8e69d4bf..000000000
--- a/mdk-stage1/ppp/pppdump/pppdump.c
+++ /dev/null
@@ -1,502 +0,0 @@
-/*
- * pppdump - print out the contents of a record file generated by
- * pppd in readable form.
- *
- * Copyright (C) 1999 Paul Mackerras. All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-#include <stdio.h>
-#include <unistd.h>
-#include <time.h>
-#include <sys/types.h>
-#include "ppp_defs.h"
-#include "ppp-comp.h"
-
-int hexmode;
-int pppmode;
-int reverse;
-int decompress;
-int mru = 1500;
-int abs_times;
-time_t start_time;
-int start_time_tenths;
-int tot_sent, tot_rcvd;
-
-extern int optind;
-extern char *optarg;
-
-main(ac, av)
- int ac;
- char **av;
-{
- int i;
- char *p;
- FILE *f;
-
- while ((i = getopt(ac, av, "hprdm:a")) != -1) {
- switch (i) {
- case 'h':
- hexmode = 1;
- break;
- case 'p':
- pppmode = 1;
- break;
- case 'r':
- reverse = 1;
- break;
- case 'd':
- decompress = 1;
- break;
- case 'm':
- mru = atoi(optarg);
- break;
- case 'a':
- abs_times = 1;
- break;
- default:
- fprintf(stderr, "Usage: %s [-h | -p[d]] [-r] [-m mru] [-a] [file ...]\n", av[0]);
- exit(1);
- }
- }
- if (optind >= ac)
- dumplog(stdin);
- else {
- for (i = optind; i < ac; ++i) {
- p = av[i];
- if ((f = fopen(p, "r")) == NULL) {
- perror(p);
- exit(1);
- }
- if (pppmode)
- dumpppp(f);
- else
- dumplog(f);
- fclose(f);
- }
- }
- exit(0);
-}
-
-dumplog(f)
- FILE *f;
-{
- int c, n, k, col;
- int nb, c2;
- unsigned char buf[16];
-
- while ((c = getc(f)) != EOF) {
- switch (c) {
- case 1:
- case 2:
- if (reverse)
- c = 3 - c;
- printf("%s %c", c==1? "sent": "rcvd", hexmode? ' ': '"');
- col = 6;
- n = getc(f);
- n = (n << 8) + getc(f);
- *(c==1? &tot_sent: &tot_rcvd) += n;
- nb = 0;
- for (; n > 0; --n) {
- c = getc(f);
- if (c == EOF) {
- printf("\nEOF\n");
- exit(0);
- }
- if (hexmode) {
- if (nb >= 16) {
- printf(" ");
- for (k = 0; k < nb; ++k) {
- c2 = buf[k];
- putchar((' ' <= c2 && c2 <= '~')? c2: '.');
- }
- printf("\n ");
- nb = 0;
- }
- buf[nb++] = c;
- printf(" %.2x", c);
- } else {
- k = (' ' <= c && c <= '~')? (c != '\\' && c != '"')? 1: 2: 3;
- if ((col += k) >= 78) {
- printf("\n ");
- col = 6 + k;
- }
- switch (k) {
- case 1:
- putchar(c);
- break;
- case 2:
- printf("\\%c", c);
- break;
- case 3:
- printf("\\%.2x", c);
- break;
- }
- }
- }
- if (hexmode) {
- for (k = nb; k < 16; ++k)
- printf(" ");
- printf(" ");
- for (k = 0; k < nb; ++k) {
- c2 = buf[k];
- putchar((' ' <= c2 && c2 <= '~')? c2: '.');
- }
- } else
- putchar('"');
- printf("\n");
- break;
- case 3:
- case 4:
- printf("end %s\n", c==3? "send": "recv");
- break;
- case 5:
- case 6:
- case 7:
- show_time(f, c);
- break;
- default:
- printf("?%.2x\n");
- }
- }
-}
-
-/*
- * FCS lookup table as calculated by genfcstab.
- */
-static u_short fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-struct pkt {
- int cnt;
- int esc;
- int flags;
- struct compressor *comp;
- void *state;
- unsigned char buf[8192];
-} spkt, rpkt;
-
-/* Values for flags */
-#define CCP_ISUP 1
-#define CCP_ERROR 2
-#define CCP_FATALERROR 4
-#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
-#define CCP_DECOMP_RUN 8
-
-unsigned char dbuf[8192];
-
-dumpppp(f)
- FILE *f;
-{
- int c, n, k;
- int nb, nl, dn, proto, rv;
- char *dir, *q;
- unsigned char *p, *r, *endp;
- unsigned char *d;
- unsigned short fcs;
- struct pkt *pkt;
-
- spkt.cnt = rpkt.cnt = 0;
- spkt.esc = rpkt.esc = 0;
- while ((c = getc(f)) != EOF) {
- switch (c) {
- case 1:
- case 2:
- if (reverse)
- c = 3 - c;
- dir = c==1? "sent": "rcvd";
- pkt = c==1? &spkt: &rpkt;
- n = getc(f);
- n = (n << 8) + getc(f);
- *(c==1? &tot_sent: &tot_rcvd) += n;
- for (; n > 0; --n) {
- c = getc(f);
- switch (c) {
- case EOF:
- printf("\nEOF\n");
- if (spkt.cnt > 0)
- printf("[%d bytes in incomplete send packet]\n",
- spkt.cnt);
- if (rpkt.cnt > 0)
- printf("[%d bytes in incomplete recv packet]\n",
- rpkt.cnt);
- exit(0);
- case '~':
- if (pkt->cnt > 0) {
- q = dir;
- if (pkt->esc) {
- printf("%s aborted packet:\n ", dir);
- q = " ";
- }
- nb = pkt->cnt;
- p = pkt->buf;
- pkt->cnt = 0;
- pkt->esc = 0;
- if (nb <= 2) {
- printf("%s short packet [%d bytes]:", q, nb);
- for (k = 0; k < nb; ++k)
- printf(" %.2x", p[k]);
- printf("\n");
- break;
- }
- fcs = PPP_INITFCS;
- for (k = 0; k < nb; ++k)
- fcs = PPP_FCS(fcs, p[k]);
- fcs &= 0xFFFF;
- nb -= 2;
- endp = p + nb;
- r = p;
- if (r[0] == 0xff && r[1] == 3)
- r += 2;
- if ((r[0] & 1) == 0)
- ++r;
- ++r;
- if (endp - r > mru)
- printf(" ERROR: length (%d) > MRU (%d)\n",
- endp - r, mru);
- if (decompress && fcs == PPP_GOODFCS) {
- /* See if this is a CCP or compressed packet */
- d = dbuf;
- r = p;
- if (r[0] == 0xff && r[1] == 3) {
- *d++ = *r++;
- *d++ = *r++;
- }
- proto = r[0];
- if ((proto & 1) == 0)
- proto = (proto << 8) + r[1];
- if (proto == PPP_CCP) {
- handle_ccp(pkt, r + 2, endp - r - 2);
- } else if (proto == PPP_COMP) {
- if ((pkt->flags & CCP_ISUP)
- && (pkt->flags & CCP_DECOMP_RUN)
- && pkt->state
- && (pkt->flags & CCP_ERR) == 0) {
- rv = pkt->comp->decompress(pkt->state, r,
- endp - r, d, &dn);
- switch (rv) {
- case DECOMP_OK:
- p = dbuf;
- nb = d + dn - p;
- if ((d[0] & 1) == 0)
- --dn;
- --dn;
- if (dn > mru)
- printf(" ERROR: decompressed length (%d) > MRU (%d)\n", dn, mru);
- break;
- case DECOMP_ERROR:
- printf(" DECOMPRESSION ERROR\n");
- pkt->flags |= CCP_ERROR;
- break;
- case DECOMP_FATALERROR:
- printf(" FATAL DECOMPRESSION ERROR\n");
- pkt->flags |= CCP_FATALERROR;
- break;
- }
- }
- } else if (pkt->state
- && (pkt->flags & CCP_DECOMP_RUN)) {
- pkt->comp->incomp(pkt->state, r, endp - r);
- }
- }
- do {
- nl = nb < 16? nb: 16;
- printf("%s ", q);
- for (k = 0; k < nl; ++k)
- printf(" %.2x", p[k]);
- for (; k < 16; ++k)
- printf(" ");
- printf(" ");
- for (k = 0; k < nl; ++k) {
- c = p[k];
- putchar((' ' <= c && c <= '~')? c: '.');
- }
- printf("\n");
- q = " ";
- p += nl;
- nb -= nl;
- } while (nb > 0);
- if (fcs != PPP_GOODFCS)
- printf(" BAD FCS: (residue = %x)\n", fcs);
- }
- break;
- case '}':
- if (!pkt->esc) {
- pkt->esc = 1;
- break;
- }
- /* else fall through */
- default:
- if (pkt->esc) {
- c ^= 0x20;
- pkt->esc = 0;
- }
- pkt->buf[pkt->cnt++] = c;
- break;
- }
- }
- break;
- case 3:
- case 4:
- if (reverse)
- c = 7 - c;
- dir = c==3? "send": "recv";
- pkt = c==3? &spkt: &rpkt;
- printf("end %s", dir);
- if (pkt->cnt > 0)
- printf(" [%d bytes in incomplete packet]", pkt->cnt);
- printf("\n");
- break;
- case 5:
- case 6:
- case 7:
- show_time(f, c);
- break;
- default:
- printf("?%.2x\n");
- }
- }
-}
-
-extern struct compressor ppp_bsd_compress, ppp_deflate;
-
-struct compressor *compressors[] = {
-#if DO_BSD_COMPRESS
- &ppp_bsd_compress,
-#endif
-#if DO_DEFLATE
- &ppp_deflate,
-#endif
- NULL
-};
-
-handle_ccp(cp, dp, len)
- struct pkt *cp;
- u_char *dp;
- int len;
-{
- int clen;
- struct compressor **comp;
-
- if (len < CCP_HDRLEN)
- return;
- clen = CCP_LENGTH(dp);
- if (clen > len)
- return;
-
- switch (CCP_CODE(dp)) {
- case CCP_CONFACK:
- cp->flags &= ~(CCP_DECOMP_RUN | CCP_ISUP);
- if (clen < CCP_HDRLEN + CCP_OPT_MINLEN
- || clen < CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN))
- break;
- dp += CCP_HDRLEN;
- clen -= CCP_HDRLEN;
- for (comp = compressors; *comp != NULL; ++comp) {
- if ((*comp)->compress_proto == dp[0]) {
- if (cp->state != NULL) {
- (*cp->comp->decomp_free)(cp->state);
- cp->state = NULL;
- }
- cp->comp = *comp;
- cp->state = (*comp)->decomp_alloc(dp, CCP_OPT_LENGTH(dp));
- cp->flags |= CCP_ISUP;
- if (cp->state != NULL
- && (*cp->comp->decomp_init)
- (cp->state, dp, clen, 0, 0, 8192, 1))
- cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
- break;
- }
- }
- break;
-
- case CCP_CONFNAK:
- case CCP_CONFREJ:
- cp->flags &= ~(CCP_DECOMP_RUN | CCP_ISUP);
- break;
-
- case CCP_RESETACK:
- if (cp->flags & CCP_ISUP) {
- if (cp->state && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->comp->decomp_reset)(cp->state);
- cp->flags &= ~CCP_ERROR;
- }
- }
- break;
- }
-}
-
-show_time(f, c)
- FILE *f;
- int c;
-{
- time_t t;
- int n;
- struct tm *tm;
-
- if (c == 7) {
- t = getc(f);
- t = (t << 8) + getc(f);
- t = (t << 8) + getc(f);
- t = (t << 8) + getc(f);
- printf("start %s", ctime(&t));
- start_time = t;
- start_time_tenths = 0;
- tot_sent = tot_rcvd = 0;
- } else {
- n = getc(f);
- if (c == 5) {
- for (c = 3; c > 0; --c)
- n = (n << 8) + getc(f);
- }
- if (abs_times) {
- n += start_time_tenths;
- start_time += n / 10;
- start_time_tenths = n % 10;
- tm = localtime(&start_time);
- printf("time %.2d:%.2d:%.2d.%d", tm->tm_hour, tm->tm_min,
- tm->tm_sec, start_time_tenths);
- printf(" (sent %d, rcvd %d)\n", tot_sent, tot_rcvd);
- } else
- printf("time %.1fs\n", (double) n / 10);
- }
-}
diff --git a/mdk-stage1/ppp/pppdump/zlib.c b/mdk-stage1/ppp/pppdump/zlib.c
deleted file mode 100644
index 5b8372719..000000000
--- a/mdk-stage1/ppp/pppdump/zlib.c
+++ /dev/null
@@ -1,4614 +0,0 @@
-/*
- * This file is derived from various .h and .c files from the zlib-0.95
- * distribution by Jean-loup Gailly and Mark Adler, with some additions
- * by Paul Mackerras to aid in implementing Deflate compression and
- * decompression for PPP packets. See zlib.h for conditions of
- * distribution and use.
- *
- * Changes that have been made include:
- * - changed functions not used outside this file to "local"
- * - added minCompression parameter to deflateInit2
- * - added Z_PACKET_FLUSH (see zlib.h for details)
- * - added inflateIncomp
- *
- * $Id$
- */
-
-
-/*+++++*/
-/* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* From: zutil.h,v 1.9 1995/05/03 17:27:12 jloup Exp */
-
-#define _Z_UTIL_H
-
-#include "zlib.h"
-
-#ifdef STDC
-# include <string.h>
-#endif
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-#define FAR
-
-typedef unsigned char uch;
-typedef uch FAR uchf;
-typedef unsigned short ush;
-typedef ush FAR ushf;
-typedef unsigned long ulg;
-
-extern char *z_errmsg[]; /* indexed by 1-zlib_error */
-
-#define ERR_RETURN(strm,err) return (strm->msg=z_errmsg[1-err], err)
-/* To be used only when the state is known to be valid */
-
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
-
- /* common constants */
-
-#define DEFLATED 8
-
-#ifndef DEF_WBITS
-# define DEF_WBITS MAX_WBITS
-#endif
-/* default windowBits for decompression. MAX_WBITS is for compression only */
-
-#if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-#else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-#endif
-/* default memLevel */
-
-#define STORED_BLOCK 0
-#define STATIC_TREES 1
-#define DYN_TREES 2
-/* The three kinds of block type */
-
-#define MIN_MATCH 3
-#define MAX_MATCH 258
-/* The minimum and maximum match lengths */
-
- /* functions */
-
-#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
-# define HAVE_MEMCPY
-#endif
-#ifdef HAVE_MEMCPY
-# define zmemcpy memcpy
-# define zmemzero(dest, len) memset(dest, 0, len)
-#else
-# define zmemcpy(d, s, n) bcopy((s), (d), (n))
-# define zmemzero bzero
-#endif
-
-/* Diagnostic functions */
-#ifdef DEBUG_ZLIB
-# include <stdio.h>
-# ifndef verbose
-# define verbose 0
-# endif
-# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
-# define Trace(x) fprintf x
-# define Tracev(x) {if (verbose) fprintf x ;}
-# define Tracevv(x) {if (verbose>1) fprintf x ;}
-# define Tracec(c,x) {if (verbose && (c)) fprintf x ;}
-# define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}
-#else
-# define Assert(cond,msg)
-# define Trace(x)
-# define Tracev(x)
-# define Tracevv(x)
-# define Tracec(c,x)
-# define Tracecv(c,x)
-#endif
-
-
-typedef uLong (*check_func) OF((uLong check, Bytef *buf, uInt len));
-
-/* voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size)); */
-/* void zcfree OF((voidpf opaque, voidpf ptr)); */
-
-#define ZALLOC(strm, items, size) \
- (*((strm)->zalloc))((strm)->opaque, (items), (size))
-#define ZFREE(strm, addr, size) \
- (*((strm)->zfree))((strm)->opaque, (voidpf)(addr), (size))
-#define TRY_FREE(s, p, n) {if (p) ZFREE(s, p, n);}
-
-/* deflate.h -- internal compression state
- * Copyright (C) 1995 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-
-/*+++++*/
-/* From: deflate.h,v 1.5 1995/05/03 17:27:09 jloup Exp */
-
-/* ===========================================================================
- * Internal compression state.
- */
-
-/* Data type */
-#define BINARY 0
-#define ASCII 1
-#define UNKNOWN 2
-
-#define LENGTH_CODES 29
-/* number of length codes, not counting the special END_BLOCK code */
-
-#define LITERALS 256
-/* number of literal bytes 0..255 */
-
-#define L_CODES (LITERALS+1+LENGTH_CODES)
-/* number of Literal or Length codes, including the END_BLOCK code */
-
-#define D_CODES 30
-/* number of distance codes */
-
-#define BL_CODES 19
-/* number of codes used to transfer the bit lengths */
-
-#define HEAP_SIZE (2*L_CODES+1)
-/* maximum heap size */
-
-#define MAX_BITS 15
-/* All codes must not exceed MAX_BITS bits */
-
-#define INIT_STATE 42
-#define BUSY_STATE 113
-#define FLUSH_STATE 124
-#define FINISH_STATE 666
-/* Stream status */
-
-
-/* Data structure describing a single value and its code string. */
-typedef struct ct_data_s {
- union {
- ush freq; /* frequency count */
- ush code; /* bit string */
- } fc;
- union {
- ush dad; /* father node in Huffman tree */
- ush len; /* length of bit string */
- } dl;
-} FAR ct_data;
-
-#define Freq fc.freq
-#define Code fc.code
-#define Dad dl.dad
-#define Len dl.len
-
-typedef struct static_tree_desc_s static_tree_desc;
-
-typedef struct tree_desc_s {
- ct_data *dyn_tree; /* the dynamic tree */
- int max_code; /* largest code with non zero frequency */
- static_tree_desc *stat_desc; /* the corresponding static tree */
-} FAR tree_desc;
-
-typedef ush Pos;
-typedef Pos FAR Posf;
-typedef unsigned IPos;
-
-/* A Pos is an index in the character window. We use short instead of int to
- * save space in the various tables. IPos is used only for parameter passing.
- */
-
-typedef struct deflate_state {
- z_stream *strm; /* pointer back to this zlib stream */
- int status; /* as the name implies */
- Bytef *pending_buf; /* output still pending */
- Bytef *pending_out; /* next pending byte to output to the stream */
- int pending; /* nb of bytes in the pending buffer */
- uLong adler; /* adler32 of uncompressed data */
- int noheader; /* suppress zlib header and adler32 */
- Byte data_type; /* UNKNOWN, BINARY or ASCII */
- Byte method; /* STORED (for zip only) or DEFLATED */
- int minCompr; /* min size decrease for Z_FLUSH_NOSTORE */
-
- /* used by deflate.c: */
-
- uInt w_size; /* LZ77 window size (32K by default) */
- uInt w_bits; /* log2(w_size) (8..16) */
- uInt w_mask; /* w_size - 1 */
-
- Bytef *window;
- /* Sliding window. Input bytes are read into the second half of the window,
- * and move to the first half later to keep a dictionary of at least wSize
- * bytes. With this organization, matches are limited to a distance of
- * wSize-MAX_MATCH bytes, but this ensures that IO is always
- * performed with a length multiple of the block size. Also, it limits
- * the window size to 64K, which is quite useful on MSDOS.
- * To do: use the user input buffer as sliding window.
- */
-
- ulg window_size;
- /* Actual size of window: 2*wSize, except when the user input buffer
- * is directly used as sliding window.
- */
-
- Posf *prev;
- /* Link to older string with same hash index. To limit the size of this
- * array to 64K, this link is maintained only for the last 32K strings.
- * An index in this array is thus a window index modulo 32K.
- */
-
- Posf *head; /* Heads of the hash chains or NIL. */
-
- uInt ins_h; /* hash index of string to be inserted */
- uInt hash_size; /* number of elements in hash table */
- uInt hash_bits; /* log2(hash_size) */
- uInt hash_mask; /* hash_size-1 */
-
- uInt hash_shift;
- /* Number of bits by which ins_h must be shifted at each input
- * step. It must be such that after MIN_MATCH steps, the oldest
- * byte no longer takes part in the hash key, that is:
- * hash_shift * MIN_MATCH >= hash_bits
- */
-
- long block_start;
- /* Window position at the beginning of the current output block. Gets
- * negative when the window is moved backwards.
- */
-
- uInt match_length; /* length of best match */
- IPos prev_match; /* previous match */
- int match_available; /* set if previous match exists */
- uInt strstart; /* start of string to insert */
- uInt match_start; /* start of matching string */
- uInt lookahead; /* number of valid bytes ahead in window */
-
- uInt prev_length;
- /* Length of the best match at previous step. Matches not greater than this
- * are discarded. This is used in the lazy match evaluation.
- */
-
- uInt max_chain_length;
- /* To speed up deflation, hash chains are never searched beyond this
- * length. A higher limit improves compression ratio but degrades the
- * speed.
- */
-
- uInt max_lazy_match;
- /* Attempt to find a better match only when the current match is strictly
- * smaller than this value. This mechanism is used only for compression
- * levels >= 4.
- */
-# define max_insert_length max_lazy_match
- /* Insert new strings in the hash table only if the match length is not
- * greater than this length. This saves time but degrades compression.
- * max_insert_length is used only for compression levels <= 3.
- */
-
- int level; /* compression level (1..9) */
- int strategy; /* favor or force Huffman coding*/
-
- uInt good_match;
- /* Use a faster search when the previous match is longer than this */
-
- int nice_match; /* Stop searching when current match exceeds this */
-
- /* used by trees.c: */
- /* Didn't use ct_data typedef below to supress compiler warning */
- struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
- struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
- struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
-
- struct tree_desc_s l_desc; /* desc. for literal tree */
- struct tree_desc_s d_desc; /* desc. for distance tree */
- struct tree_desc_s bl_desc; /* desc. for bit length tree */
-
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
- int heap_len; /* number of elements in the heap */
- int heap_max; /* element of largest frequency */
- /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
- * The same heap array is used to build all trees.
- */
-
- uch depth[2*L_CODES+1];
- /* Depth of each subtree used as tie breaker for trees of equal frequency
- */
-
- uchf *l_buf; /* buffer for literals or lengths */
-
- uInt lit_bufsize;
- /* Size of match buffer for literals/lengths. There are 4 reasons for
- * limiting lit_bufsize to 64K:
- * - frequencies can be kept in 16 bit counters
- * - if compression is not successful for the first block, all input
- * data is still in the window so we can still emit a stored block even
- * when input comes from standard input. (This can also be done for
- * all blocks if lit_bufsize is not greater than 32K.)
- * - if compression is not successful for a file smaller than 64K, we can
- * even emit a stored file instead of a stored block (saving 5 bytes).
- * This is applicable only for zip (not gzip or zlib).
- * - creating new Huffman trees less frequently may not provide fast
- * adaptation to changes in the input data statistics. (Take for
- * example a binary file with poorly compressible code followed by
- * a highly compressible string table.) Smaller buffer sizes give
- * fast adaptation but have of course the overhead of transmitting
- * trees more frequently.
- * - I can't count above 4
- */
-
- uInt last_lit; /* running index in l_buf */
-
- ushf *d_buf;
- /* Buffer for distances. To simplify the code, d_buf and l_buf have
- * the same number of elements. To use different lengths, an extra flag
- * array would be necessary.
- */
-
- ulg opt_len; /* bit length of current block with optimal trees */
- ulg static_len; /* bit length of current block with static trees */
- ulg compressed_len; /* total bit length of compressed file */
- uInt matches; /* number of string matches in current block */
- int last_eob_len; /* bit length of EOB code for last block */
-
-#ifdef DEBUG_ZLIB
- ulg bits_sent; /* bit length of the compressed data */
-#endif
-
- ush bi_buf;
- /* Output buffer. bits are inserted starting at the bottom (least
- * significant bits).
- */
- int bi_valid;
- /* Number of valid bits in bi_buf. All bits above the last valid bit
- * are always zero.
- */
-
- uInt blocks_in_packet;
- /* Number of blocks produced since the last time Z_PACKET_FLUSH
- * was used.
- */
-
-} FAR deflate_state;
-
-/* Output a byte on the stream.
- * IN assertion: there is enough room in pending_buf.
- */
-#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
-
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
-/* In order to simplify the code, particularly on 16 bit machines, match
- * distances are limited to MAX_DIST instead of WSIZE.
- */
-
- /* in trees.c */
-local void ct_init OF((deflate_state *s));
-local int ct_tally OF((deflate_state *s, int dist, int lc));
-local ulg ct_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int flush));
-local void ct_align OF((deflate_state *s));
-local void ct_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-local void ct_stored_type_only OF((deflate_state *s));
-
-
-/*+++++*/
-/* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process depends on being able to identify portions
- * of the input text which are identical to earlier input (within a
- * sliding window trailing behind the input currently being processed).
- *
- * The most straightforward technique turns out to be the fastest for
- * most input files: try all possible matches and select the longest.
- * The key feature of this algorithm is that insertions into the string
- * dictionary are very simple and thus fast, and deletions are avoided
- * completely. Insertions are performed at each input character, whereas
- * string matches are performed only when the previous match ends. So it
- * is preferable to spend more time in matches to allow very fast string
- * insertions and avoid deletions. The matching algorithm for small
- * strings is inspired from that of Rabin & Karp. A brute force approach
- * is used to find longer strings when a small match has been found.
- * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
- * (by Leonid Broukhis).
- * A previous version of this file used a more sophisticated algorithm
- * (by Fiala and Greene) which is guaranteed to run in linear amortized
- * time, but has a larger average cost, uses more memory and is patented.
- * However the F&G algorithm may be faster for some highly redundant
- * files if the parameter max_chain_length (described below) is too large.
- *
- * ACKNOWLEDGEMENTS
- *
- * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
- * I found it in 'freeze' written by Leonid Broukhis.
- * Thanks to many people for bug reports and testing.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
- * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
- *
- * A description of the Rabin and Karp algorithm is given in the book
- * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
- *
- * Fiala,E.R., and Greene,D.H.
- * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
- *
- */
-
-/* From: deflate.c,v 1.8 1995/05/03 17:27:08 jloup Exp */
-
-local char zlib_copyright[] = " deflate Copyright 1995 Jean-loup Gailly ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-#define NIL 0
-/* Tail of hash chains */
-
-#ifndef TOO_FAR
-# define TOO_FAR 4096
-#endif
-/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-/* Values for max_lazy_match, good_match and max_chain_length, depending on
- * the desired pack level (0..9). The values given below have been tuned to
- * exclude worst case performance for pathological files. Better values may be
- * found for specific files.
- */
-
-typedef struct config_s {
- ush good_length; /* reduce lazy search above this match length */
- ush max_lazy; /* do not perform lazy search above this match length */
- ush nice_length; /* quit search above this match length */
- ush max_chain;
-} config;
-
-local config configuration_table[10] = {
-/* good lazy nice chain */
-/* 0 */ {0, 0, 0, 0}, /* store only */
-/* 1 */ {4, 4, 8, 4}, /* maximum speed, no lazy matches */
-/* 2 */ {4, 5, 16, 8},
-/* 3 */ {4, 6, 32, 32},
-
-/* 4 */ {4, 4, 16, 16}, /* lazy matches */
-/* 5 */ {8, 16, 32, 32},
-/* 6 */ {8, 16, 128, 128},
-/* 7 */ {8, 32, 128, 256},
-/* 8 */ {32, 128, 258, 1024},
-/* 9 */ {32, 258, 258, 4096}}; /* maximum compression */
-
-/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
- * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
- * meaning.
- */
-
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-/* ===========================================================================
- * Prototypes for local functions.
- */
-
-local void fill_window OF((deflate_state *s));
-local int deflate_fast OF((deflate_state *s, int flush));
-local int deflate_slow OF((deflate_state *s, int flush));
-local void lm_init OF((deflate_state *s));
-local int longest_match OF((deflate_state *s, IPos cur_match));
-local void putShortMSB OF((deflate_state *s, uInt b));
-local void flush_pending OF((z_stream *strm));
-local int read_buf OF((z_stream *strm, charf *buf, unsigned size));
-#ifdef ASMV
- void match_init OF((void)); /* asm code initialization */
-#endif
-
-#ifdef DEBUG_ZLIB
-local void check_match OF((deflate_state *s, IPos start, IPos match,
- int length));
-#endif
-
-
-/* ===========================================================================
- * Update a hash value with the given input byte
- * IN assertion: all calls to to UPDATE_HASH are made with consecutive
- * input characters, so that a running hash key can be computed from the
- * previous key instead of complete recalculation each time.
- */
-#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
-
-
-/* ===========================================================================
- * Insert string str in the dictionary and set match_head to the previous head
- * of the hash chain (the most recent string with same hash key). Return
- * the previous length of the hash chain.
- * IN assertion: all calls to to INSERT_STRING are made with consecutive
- * input characters and the first MIN_MATCH bytes of str are valid
- * (except for the last MIN_MATCH-1 bytes of the input file).
- */
-#define INSERT_STRING(s, str, match_head) \
- (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
- s->prev[(str) & s->w_mask] = match_head = s->head[s->ins_h], \
- s->head[s->ins_h] = (str))
-
-/* ===========================================================================
- * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
- * prev[] will be initialized on the fly.
- */
-#define CLEAR_HASH(s) \
- s->head[s->hash_size-1] = NIL; \
- zmemzero((charf *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
-
-/* ========================================================================= */
-int deflateInit (strm, level)
- z_stream *strm;
- int level;
-{
- return deflateInit2 (strm, level, DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
- 0, 0);
- /* To do: ignore strm->next_in if we use it as window */
-}
-
-/* ========================================================================= */
-int deflateInit2 (strm, level, method, windowBits, memLevel,
- strategy, minCompression)
- z_stream *strm;
- int level;
- int method;
- int windowBits;
- int memLevel;
- int strategy;
- int minCompression;
-{
- deflate_state *s;
- int noheader = 0;
-
- if (strm == Z_NULL) return Z_STREAM_ERROR;
-
- strm->msg = Z_NULL;
-/* if (strm->zalloc == Z_NULL) strm->zalloc = zcalloc; */
-/* if (strm->zfree == Z_NULL) strm->zfree = zcfree; */
-
- if (level == Z_DEFAULT_COMPRESSION) level = 6;
-
- if (windowBits < 0) { /* undocumented feature: suppress zlib header */
- noheader = 1;
- windowBits = -windowBits;
- }
- if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != DEFLATED ||
- windowBits < 8 || windowBits > 15 || level < 1 || level > 9) {
- return Z_STREAM_ERROR;
- }
- s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
- if (s == Z_NULL) return Z_MEM_ERROR;
- strm->state = (struct internal_state FAR *)s;
- s->strm = strm;
-
- s->noheader = noheader;
- s->w_bits = windowBits;
- s->w_size = 1 << s->w_bits;
- s->w_mask = s->w_size - 1;
-
- s->hash_bits = memLevel + 7;
- s->hash_size = 1 << s->hash_bits;
- s->hash_mask = s->hash_size - 1;
- s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
-
- s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
- s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
- s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
-
- s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
-
- s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 2*sizeof(ush));
-
- if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
- s->pending_buf == Z_NULL) {
- strm->msg = z_errmsg[1-Z_MEM_ERROR];
- deflateEnd (strm);
- return Z_MEM_ERROR;
- }
- s->d_buf = (ushf *) &(s->pending_buf[s->lit_bufsize]);
- s->l_buf = (uchf *) &(s->pending_buf[3*s->lit_bufsize]);
- /* We overlay pending_buf and d_buf+l_buf. This works since the average
- * output size for (length,distance) codes is <= 32 bits (worst case
- * is 15+15+13=33).
- */
-
- s->level = level;
- s->strategy = strategy;
- s->method = (Byte)method;
- s->minCompr = minCompression;
- s->blocks_in_packet = 0;
-
- return deflateReset(strm);
-}
-
-/* ========================================================================= */
-int deflateReset (strm)
- z_stream *strm;
-{
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- strm->zalloc == Z_NULL || strm->zfree == Z_NULL) return Z_STREAM_ERROR;
-
- strm->total_in = strm->total_out = 0;
- strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
- strm->data_type = Z_UNKNOWN;
-
- s = (deflate_state *)strm->state;
- s->pending = 0;
- s->pending_out = s->pending_buf;
-
- if (s->noheader < 0) {
- s->noheader = 0; /* was set to -1 by deflate(..., Z_FINISH); */
- }
- s->status = s->noheader ? BUSY_STATE : INIT_STATE;
- s->adler = 1;
-
- ct_init(s);
- lm_init(s);
-
- return Z_OK;
-}
-
-/* =========================================================================
- * Put a short in the pending buffer. The 16-bit value is put in MSB order.
- * IN assertion: the stream state is correct and there is enough room in
- * pending_buf.
- */
-local void putShortMSB (s, b)
- deflate_state *s;
- uInt b;
-{
- put_byte(s, (Byte)(b >> 8));
- put_byte(s, (Byte)(b & 0xff));
-}
-
-/* =========================================================================
- * Flush as much pending output as possible.
- */
-local void flush_pending(strm)
- z_stream *strm;
-{
- deflate_state *state = (deflate_state *) strm->state;
- unsigned len = state->pending;
-
- if (len > strm->avail_out) len = strm->avail_out;
- if (len == 0) return;
-
- if (strm->next_out != NULL) {
- zmemcpy(strm->next_out, state->pending_out, len);
- strm->next_out += len;
- }
- state->pending_out += len;
- strm->total_out += len;
- strm->avail_out -= len;
- state->pending -= len;
- if (state->pending == 0) {
- state->pending_out = state->pending_buf;
- }
-}
-
-/* ========================================================================= */
-int deflate (strm, flush)
- z_stream *strm;
- int flush;
-{
- deflate_state *state = (deflate_state *) strm->state;
-
- if (strm == Z_NULL || state == Z_NULL) return Z_STREAM_ERROR;
-
- if (strm->next_in == Z_NULL && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_STREAM_ERROR);
- }
- if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
-
- state->strm = strm; /* just in case */
-
- /* Write the zlib header */
- if (state->status == INIT_STATE) {
-
- uInt header = (DEFLATED + ((state->w_bits-8)<<4)) << 8;
- uInt level_flags = (state->level-1) >> 1;
-
- if (level_flags > 3) level_flags = 3;
- header |= (level_flags << 6);
- header += 31 - (header % 31);
-
- state->status = BUSY_STATE;
- putShortMSB(state, header);
- }
-
- /* Flush as much pending output as possible */
- if (state->pending != 0) {
- flush_pending(strm);
- if (strm->avail_out == 0) return Z_OK;
- }
-
- /* If we came back in here to get the last output from
- * a previous flush, we're done for now.
- */
- if (state->status == FLUSH_STATE) {
- state->status = BUSY_STATE;
- if (flush != Z_NO_FLUSH && flush != Z_FINISH)
- return Z_OK;
- }
-
- /* User must not provide more input after the first FINISH: */
- if (state->status == FINISH_STATE && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* Start a new block or continue the current one.
- */
- if (strm->avail_in != 0 || state->lookahead != 0 ||
- (flush == Z_FINISH && state->status != FINISH_STATE)) {
- int quit;
-
- if (flush == Z_FINISH) {
- state->status = FINISH_STATE;
- }
- if (state->level <= 3) {
- quit = deflate_fast(state, flush);
- } else {
- quit = deflate_slow(state, flush);
- }
- if (quit || strm->avail_out == 0)
- return Z_OK;
- /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
- * of deflate should use the same flush parameter to make sure
- * that the flush is complete. So we don't have to output an
- * empty block here, this will be done at next call. This also
- * ensures that for a very small output buffer, we emit at most
- * one empty block.
- */
- }
-
- /* If a flush was requested, we have a little more to output now. */
- if (flush != Z_NO_FLUSH && flush != Z_FINISH
- && state->status != FINISH_STATE) {
- switch (flush) {
- case Z_PARTIAL_FLUSH:
- ct_align(state);
- break;
- case Z_PACKET_FLUSH:
- /* Output just the 3-bit `stored' block type value,
- but not a zero length. */
- ct_stored_type_only(state);
- break;
- default:
- ct_stored_block(state, (char*)0, 0L, 0);
- /* For a full flush, this empty block will be recognized
- * as a special marker by inflate_sync().
- */
- if (flush == Z_FULL_FLUSH) {
- CLEAR_HASH(state); /* forget history */
- }
- }
- flush_pending(strm);
- if (strm->avail_out == 0) {
- /* We'll have to come back to get the rest of the output;
- * this ensures we don't output a second zero-length stored
- * block (or whatever).
- */
- state->status = FLUSH_STATE;
- return Z_OK;
- }
- }
-
- Assert(strm->avail_out > 0, "bug2");
-
- if (flush != Z_FINISH) return Z_OK;
- if (state->noheader) return Z_STREAM_END;
-
- /* Write the zlib trailer (adler32) */
- putShortMSB(state, (uInt)(state->adler >> 16));
- putShortMSB(state, (uInt)(state->adler & 0xffff));
- flush_pending(strm);
- /* If avail_out is zero, the application will call deflate again
- * to flush the rest.
- */
- state->noheader = -1; /* write the trailer only once! */
- return state->pending != 0 ? Z_OK : Z_STREAM_END;
-}
-
-/* ========================================================================= */
-int deflateEnd (strm)
- z_stream *strm;
-{
- deflate_state *state = (deflate_state *) strm->state;
-
- if (strm == Z_NULL || state == Z_NULL) return Z_STREAM_ERROR;
-
- TRY_FREE(strm, state->window, state->w_size * 2 * sizeof(Byte));
- TRY_FREE(strm, state->prev, state->w_size * sizeof(Pos));
- TRY_FREE(strm, state->head, state->hash_size * sizeof(Pos));
- TRY_FREE(strm, state->pending_buf, state->lit_bufsize * 2 * sizeof(ush));
-
- ZFREE(strm, state, sizeof(deflate_state));
- strm->state = Z_NULL;
-
- return Z_OK;
-}
-
-/* ===========================================================================
- * Read a new buffer from the current input stream, update the adler32
- * and total number of bytes read.
- */
-local int read_buf(strm, buf, size)
- z_stream *strm;
- charf *buf;
- unsigned size;
-{
- unsigned len = strm->avail_in;
- deflate_state *state = (deflate_state *) strm->state;
-
- if (len > size) len = size;
- if (len == 0) return 0;
-
- strm->avail_in -= len;
-
- if (!state->noheader) {
- state->adler = adler32(state->adler, strm->next_in, len);
- }
- zmemcpy(buf, strm->next_in, len);
- strm->next_in += len;
- strm->total_in += len;
-
- return (int)len;
-}
-
-/* ===========================================================================
- * Initialize the "longest match" routines for a new zlib stream
- */
-local void lm_init (s)
- deflate_state *s;
-{
- s->window_size = (ulg)2L*s->w_size;
-
- CLEAR_HASH(s);
-
- /* Set the default configuration parameters:
- */
- s->max_lazy_match = configuration_table[s->level].max_lazy;
- s->good_match = configuration_table[s->level].good_length;
- s->nice_match = configuration_table[s->level].nice_length;
- s->max_chain_length = configuration_table[s->level].max_chain;
-
- s->strstart = 0;
- s->block_start = 0L;
- s->lookahead = 0;
- s->match_length = MIN_MATCH-1;
- s->match_available = 0;
- s->ins_h = 0;
-#ifdef ASMV
- match_init(); /* initialize the asm code */
-#endif
-}
-
-/* ===========================================================================
- * Set match_start to the longest match starting at the given string and
- * return its length. Matches shorter or equal to prev_length are discarded,
- * in which case the result is equal to prev_length and match_start is
- * garbage.
- * IN assertions: cur_match is the head of the hash chain for the current
- * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
- */
-#ifndef ASMV
-/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
- * match.S. The code will be functionally equivalent.
- */
-local int longest_match(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- unsigned chain_length = s->max_chain_length;/* max hash chain length */
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
- s->strstart - (IPos)MAX_DIST(s) : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- Posf *prev = s->prev;
- uInt wmask = s->w_mask;
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
- register ush scan_start = *(ushf*)scan;
- register ush scan_end = *(ushf*)(scan+best_len-1);
-#else
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
- register Byte scan_end1 = scan[best_len-1];
- register Byte scan_end = scan[best_len];
-#endif
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- /* Do not waste too much time if we already have a good match: */
- if (s->prev_length >= s->good_match) {
- chain_length >>= 2;
- }
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- do {
- Assert(cur_match < s->strstart, "no future");
- match = s->window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ushf*)(match+best_len-1) != scan_end ||
- *(ushf*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- Assert(scan[2] == match[2], "scan[2]?");
- scan++, match++;
- do {
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- s->match_start = cur_match;
- best_len = len;
- if (len >= s->nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ushf*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & wmask]) > limit
- && --chain_length != 0);
-
- return best_len;
-}
-#endif /* ASMV */
-
-#ifdef DEBUG_ZLIB
-/* ===========================================================================
- * Check that the match at match_start is indeed a match.
- */
-local void check_match(s, start, match, length)
- deflate_state *s;
- IPos start, match;
- int length;
-{
- /* check that the match is indeed a match */
- if (memcmp((charf *)s->window + match,
- (charf *)s->window + start, length) != EQUAL) {
- fprintf(stderr,
- " start %u, match %u, length %d\n",
- start, match, length);
- do { fprintf(stderr, "%c%c", s->window[match++],
- s->window[start++]); } while (--length != 0);
- z_error("invalid match");
- }
- if (verbose > 1) {
- fprintf(stderr,"\\[%d,%d]", start-match, length);
- do { putc(s->window[start++], stderr); } while (--length != 0);
- }
-}
-#else
-# define check_match(s, start, match, length)
-#endif
-
-/* ===========================================================================
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead.
- *
- * IN assertion: lookahead < MIN_LOOKAHEAD
- * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
- * At least one byte has been read, or avail_in == 0; reads are
- * performed for at least two bytes (required for the zip translate_eol
- * option -- not supported here).
- */
-local void fill_window(s)
- deflate_state *s;
-{
- register unsigned n, m;
- register Posf *p;
- unsigned more; /* Amount of free space at the end of the window. */
- uInt wsize = s->w_size;
-
- do {
- more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
-
- /* Deal with !@#$% 64K limit: */
- if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
- more = wsize;
- } else if (more == (unsigned)(-1)) {
- /* Very unlikely, but possible on 16 bit machine if strstart == 0
- * and lookahead == 1 (input done one byte at time)
- */
- more--;
-
- /* If the window is almost full and there is insufficient lookahead,
- * move the upper half to the lower one to make room in the upper half.
- */
- } else if (s->strstart >= wsize+MAX_DIST(s)) {
-
- /* By the IN assertion, the window is not empty so we can't confuse
- * more == 0 with more == 64K on a 16 bit machine.
- */
- zmemcpy((charf *)s->window, (charf *)s->window+wsize,
- (unsigned)wsize);
- s->match_start -= wsize;
- s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
-
- s->block_start -= (long) wsize;
-
- /* Slide the hash table (could be avoided with 32 bit values
- at the expense of memory usage):
- */
- n = s->hash_size;
- p = &s->head[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- } while (--n);
-
- n = wsize;
- p = &s->prev[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- } while (--n);
-
- more += wsize;
- }
- if (s->strm->avail_in == 0) return;
-
- /* If there was no sliding:
- * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
- * more == window_size - lookahead - strstart
- * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
- * => more >= window_size - 2*WSIZE + 2
- * In the BIG_MEM or MMAP case (not yet supported),
- * window_size == input_size + MIN_LOOKAHEAD &&
- * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
- * Otherwise, window_size == 2*WSIZE so more >= 2.
- * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
- */
- Assert(more >= 2, "more < 2");
-
- n = read_buf(s->strm, (charf *)s->window + s->strstart + s->lookahead,
- more);
- s->lookahead += n;
-
- /* Initialize the hash value now that we have some input: */
- if (s->lookahead >= MIN_MATCH) {
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- }
- /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
- * but this is not important since only literal bytes will be emitted.
- */
-
- } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
-}
-
-/* ===========================================================================
- * Flush the current block, with given end-of-file flag.
- * IN assertion: strstart is set to the end of the current match.
- */
-#define FLUSH_BLOCK_ONLY(s, flush) { \
- ct_flush_block(s, (s->block_start >= 0L ? \
- (charf *)&s->window[(unsigned)s->block_start] : \
- (charf *)Z_NULL), (long)s->strstart - s->block_start, (flush)); \
- s->block_start = s->strstart; \
- flush_pending(s->strm); \
- Tracev((stderr,"[FLUSH]")); \
-}
-
-/* Same but force premature exit if necessary. */
-#define FLUSH_BLOCK(s, flush) { \
- FLUSH_BLOCK_ONLY(s, flush); \
- if (s->strm->avail_out == 0) return 1; \
-}
-
-/* ===========================================================================
- * Compress as much as possible from the input stream, return true if
- * processing was terminated prematurely (no more input or output space).
- * This function does not perform lazy evaluationof matches and inserts
- * new strings in the dictionary only for unmatched strings or for short
- * matches. It is used only for the fast compression options.
- */
-local int deflate_fast(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of the hash chain */
- int bflush; /* set if current block must be flushed */
-
- s->prev_length = MIN_MATCH-1;
-
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) return 1;
-
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- * At this point we have always match_length < MIN_MATCH
- */
- if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
-
- if (s->match_length > s->lookahead) s->match_length = s->lookahead;
- }
- if (s->match_length >= MIN_MATCH) {
- check_match(s, s->strstart, s->match_start, s->match_length);
-
- bflush = ct_tally(s, s->strstart - s->match_start,
- s->match_length - MIN_MATCH);
-
- s->lookahead -= s->match_length;
-
- /* Insert new strings in the hash table only if the match length
- * is not too large. This saves time but degrades compression.
- */
- if (s->match_length <= s->max_insert_length &&
- s->lookahead >= MIN_MATCH) {
- s->match_length--; /* string at strstart already in hash table */
- do {
- s->strstart++;
- INSERT_STRING(s, s->strstart, hash_head);
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- } while (--s->match_length != 0);
- s->strstart++;
- } else {
- s->strstart += s->match_length;
- s->match_length = 0;
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
- * matter since it will be recomputed at next deflate call.
- */
- }
- } else {
- /* No match, output a literal byte */
- Tracevv((stderr,"%c", s->window[s->strstart]));
- bflush = ct_tally (s, 0, s->window[s->strstart]);
- s->lookahead--;
- s->strstart++;
- }
- if (bflush) FLUSH_BLOCK(s, Z_NO_FLUSH);
- }
- FLUSH_BLOCK(s, flush);
- return 0; /* normal exit */
-}
-
-/* ===========================================================================
- * Same as above, but achieves better compression. We use a lazy
- * evaluation for matches: a match is finally adopted only if there is
- * no better match at the next window position.
- */
-local int deflate_slow(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of hash chain */
- int bflush; /* set if current block must be flushed */
-
- /* Process the input block. */
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) return 1;
-
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- */
- s->prev_length = s->match_length, s->prev_match = s->match_start;
- s->match_length = MIN_MATCH-1;
-
- if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
- s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
- if (s->match_length > s->lookahead) s->match_length = s->lookahead;
-
- if (s->match_length <= 5 && (s->strategy == Z_FILTERED ||
- (s->match_length == MIN_MATCH &&
- s->strstart - s->match_start > TOO_FAR))) {
-
- /* If prev_match is also MIN_MATCH, match_start is garbage
- * but we will ignore the current match anyway.
- */
- s->match_length = MIN_MATCH-1;
- }
- }
- /* If there was a match at the previous step and the current
- * match is not better, output the previous match:
- */
- if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
- uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
- /* Do not insert strings in hash table beyond this. */
-
- check_match(s, s->strstart-1, s->prev_match, s->prev_length);
-
- bflush = ct_tally(s, s->strstart -1 - s->prev_match,
- s->prev_length - MIN_MATCH);
-
- /* Insert in hash table all strings up to the end of the match.
- * strstart-1 and strstart are already inserted. If there is not
- * enough lookahead, the last two strings are not inserted in
- * the hash table.
- */
- s->lookahead -= s->prev_length-1;
- s->prev_length -= 2;
- do {
- if (++s->strstart <= max_insert) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
- } while (--s->prev_length != 0);
- s->match_available = 0;
- s->match_length = MIN_MATCH-1;
- s->strstart++;
-
- if (bflush) FLUSH_BLOCK(s, Z_NO_FLUSH);
-
- } else if (s->match_available) {
- /* If there was no match at the previous position, output a
- * single literal. If there was a match but the current match
- * is longer, truncate the previous match to a single literal.
- */
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- if (ct_tally (s, 0, s->window[s->strstart-1])) {
- FLUSH_BLOCK_ONLY(s, Z_NO_FLUSH);
- }
- s->strstart++;
- s->lookahead--;
- if (s->strm->avail_out == 0) return 1;
- } else {
- /* There is no previous match to compare with, wait for
- * the next step to decide.
- */
- s->match_available = 1;
- s->strstart++;
- s->lookahead--;
- }
- }
- Assert (flush != Z_NO_FLUSH, "no flush?");
- if (s->match_available) {
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- ct_tally (s, 0, s->window[s->strstart-1]);
- s->match_available = 0;
- }
- FLUSH_BLOCK(s, flush);
- return 0;
-}
-
-
-/*+++++*/
-/* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process uses several Huffman trees. The more
- * common source values are represented by shorter bit sequences.
- *
- * Each code tree is stored in a compressed form which is itself
- * a Huffman encoding of the lengths of all the code strings (in
- * ascending order by source values). The actual code strings are
- * reconstructed from the lengths in the inflate process, as described
- * in the deflate specification.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
- * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
- *
- * Storer, James A.
- * Data Compression: Methods and Theory, pp. 49-50.
- * Computer Science Press, 1988. ISBN 0-7167-8156-5.
- *
- * Sedgewick, R.
- * Algorithms, p290.
- * Addison-Wesley, 1983. ISBN 0-201-06672-6.
- */
-
-/* From: trees.c,v 1.5 1995/05/03 17:27:12 jloup Exp */
-
-#ifdef DEBUG_ZLIB
-# include <ctype.h>
-#endif
-
-/* ===========================================================================
- * Constants
- */
-
-#define MAX_BL_BITS 7
-/* Bit length codes must not exceed MAX_BL_BITS bits */
-
-#define END_BLOCK 256
-/* end of block literal code */
-
-#define REP_3_6 16
-/* repeat previous bit length 3-6 times (2 bits of repeat count) */
-
-#define REPZ_3_10 17
-/* repeat a zero length 3-10 times (3 bits of repeat count) */
-
-#define REPZ_11_138 18
-/* repeat a zero length 11-138 times (7 bits of repeat count) */
-
-local int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
- = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
-
-local int extra_dbits[D_CODES] /* extra bits for each distance code */
- = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
-
-local int extra_blbits[BL_CODES]/* extra bits for each bit length code */
- = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
-
-local uch bl_order[BL_CODES]
- = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
-/* The lengths of the bit length codes are sent in order of decreasing
- * probability, to avoid transmitting the lengths for unused bit length codes.
- */
-
-#define Buf_size (8 * 2*sizeof(char))
-/* Number of bits used within bi_buf. (bi_buf might be implemented on
- * more than 16 bits on some systems.)
- */
-
-/* ===========================================================================
- * Local data. These are initialized only once.
- * To do: initialize at compile time to be completely reentrant. ???
- */
-
-local ct_data static_ltree[L_CODES+2];
-/* The static literal tree. Since the bit lengths are imposed, there is no
- * need for the L_CODES extra codes used during heap construction. However
- * The codes 286 and 287 are needed to build a canonical tree (see ct_init
- * below).
- */
-
-local ct_data static_dtree[D_CODES];
-/* The static distance tree. (Actually a trivial tree since all codes use
- * 5 bits.)
- */
-
-local uch dist_code[512];
-/* distance codes. The first 256 values correspond to the distances
- * 3 .. 258, the last 256 values correspond to the top 8 bits of
- * the 15 bit distances.
- */
-
-local uch length_code[MAX_MATCH-MIN_MATCH+1];
-/* length code for each normalized match length (0 == MIN_MATCH) */
-
-local int base_length[LENGTH_CODES];
-/* First normalized length for each code (0 = MIN_MATCH) */
-
-local int base_dist[D_CODES];
-/* First normalized distance for each code (0 = distance of 1) */
-
-struct static_tree_desc_s {
- ct_data *static_tree; /* static tree or NULL */
- intf *extra_bits; /* extra bits for each code or NULL */
- int extra_base; /* base index for extra_bits */
- int elems; /* max number of elements in the tree */
- int max_length; /* max bit length for the codes */
-};
-
-local static_tree_desc static_l_desc =
-{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
-
-local static_tree_desc static_d_desc =
-{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
-
-local static_tree_desc static_bl_desc =
-{(ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
-
-/* ===========================================================================
- * Local (static) routines in this file.
- */
-
-local void ct_static_init OF((void));
-local void init_block OF((deflate_state *s));
-local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
-local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
-local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
-local void build_tree OF((deflate_state *s, tree_desc *desc));
-local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local int build_bl_tree OF((deflate_state *s));
-local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
- int blcodes));
-local void compress_block OF((deflate_state *s, ct_data *ltree,
- ct_data *dtree));
-local void set_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned value, int length));
-local void bi_windup OF((deflate_state *s));
-local void bi_flush OF((deflate_state *s));
-local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
- int header));
-
-#ifndef DEBUG_ZLIB
-# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
- /* Send a code of the given tree. c and tree must not have side effects */
-
-#else /* DEBUG_ZLIB */
-# define send_code(s, c, tree) \
- { if (verbose>1) fprintf(stderr,"\ncd %3d ",(c)); \
- send_bits(s, tree[c].Code, tree[c].Len); }
-#endif
-
-#define d_code(dist) \
- ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)])
-/* Mapping from a distance to a distance code. dist is the distance - 1 and
- * must not have side effects. dist_code[256] and dist_code[257] are never
- * used.
- */
-
-/* ===========================================================================
- * Output a short LSB first on the stream.
- * IN assertion: there is enough room in pendingBuf.
- */
-#define put_short(s, w) { \
- put_byte(s, (uch)((w) & 0xff)); \
- put_byte(s, (uch)((ush)(w) >> 8)); \
-}
-
-/* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
-#ifdef DEBUG_ZLIB
-local void send_bits OF((deflate_state *s, int value, int length));
-
-local void send_bits(s, value, length)
- deflate_state *s;
- int value; /* value to send */
- int length; /* number of bits */
-{
- Tracev((stderr," l %2d v %4x ", length, value));
- Assert(length > 0 && length <= 15, "invalid length");
- s->bits_sent += (ulg)length;
-
- /* If not enough room in bi_buf, use (valid) bits from bi_buf and
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
- * unused bits in value.
- */
- if (s->bi_valid > (int)Buf_size - length) {
- s->bi_buf |= (value << s->bi_valid);
- put_short(s, s->bi_buf);
- s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
- s->bi_valid += length - Buf_size;
- } else {
- s->bi_buf |= value << s->bi_valid;
- s->bi_valid += length;
- }
-}
-#else /* !DEBUG_ZLIB */
-
-#define send_bits(s, value, length) \
-{ int len = length;\
- if (s->bi_valid > (int)Buf_size - len) {\
- int val = value;\
- s->bi_buf |= (val << s->bi_valid);\
- put_short(s, s->bi_buf);\
- s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
- s->bi_valid += len - Buf_size;\
- } else {\
- s->bi_buf |= (value) << s->bi_valid;\
- s->bi_valid += len;\
- }\
-}
-#endif /* DEBUG_ZLIB */
-
-
-#define MAX(a,b) (a >= b ? a : b)
-/* the arguments must not have side effects */
-
-/* ===========================================================================
- * Initialize the various 'constant' tables.
- * To do: do this at compile time.
- */
-local void ct_static_init()
-{
- int n; /* iterates over tree elements */
- int bits; /* bit counter */
- int length; /* length value */
- int code; /* code value */
- int dist; /* distance index */
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- /* Initialize the mapping length (0..255) -> length code (0..28) */
- length = 0;
- for (code = 0; code < LENGTH_CODES-1; code++) {
- base_length[code] = length;
- for (n = 0; n < (1<<extra_lbits[code]); n++) {
- length_code[length++] = (uch)code;
- }
- }
- Assert (length == 256, "ct_static_init: length != 256");
- /* Note that the length 255 (match length 258) can be represented
- * in two different ways: code 284 + 5 bits or code 285, so we
- * overwrite length_code[255] to use the best encoding:
- */
- length_code[length-1] = (uch)code;
-
- /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
- dist = 0;
- for (code = 0 ; code < 16; code++) {
- base_dist[code] = dist;
- for (n = 0; n < (1<<extra_dbits[code]); n++) {
- dist_code[dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "ct_static_init: dist != 256");
- dist >>= 7; /* from now on, all distances are divided by 128 */
- for ( ; code < D_CODES; code++) {
- base_dist[code] = dist << 7;
- for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
- dist_code[256 + dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "ct_static_init: 256+dist != 512");
-
- /* Construct the codes of the static literal tree */
- for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
- n = 0;
- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
- /* Codes 286 and 287 do not exist, but we must include them in the
- * tree construction to get a canonical Huffman tree (longest code
- * all ones)
- */
- gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
-
- /* The static distance tree is trivial: */
- for (n = 0; n < D_CODES; n++) {
- static_dtree[n].Len = 5;
- static_dtree[n].Code = bi_reverse(n, 5);
- }
-}
-
-/* ===========================================================================
- * Initialize the tree data structures for a new zlib stream.
- */
-local void ct_init(s)
- deflate_state *s;
-{
- if (static_dtree[0].Len == 0) {
- ct_static_init(); /* To do: at compile time */
- }
-
- s->compressed_len = 0L;
-
- s->l_desc.dyn_tree = s->dyn_ltree;
- s->l_desc.stat_desc = &static_l_desc;
-
- s->d_desc.dyn_tree = s->dyn_dtree;
- s->d_desc.stat_desc = &static_d_desc;
-
- s->bl_desc.dyn_tree = s->bl_tree;
- s->bl_desc.stat_desc = &static_bl_desc;
-
- s->bi_buf = 0;
- s->bi_valid = 0;
- s->last_eob_len = 8; /* enough lookahead for inflate */
-#ifdef DEBUG_ZLIB
- s->bits_sent = 0L;
-#endif
- s->blocks_in_packet = 0;
-
- /* Initialize the first block of the first file: */
- init_block(s);
-}
-
-/* ===========================================================================
- * Initialize a new block.
- */
-local void init_block(s)
- deflate_state *s;
-{
- int n; /* iterates over tree elements */
-
- /* Initialize the trees. */
- for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
- for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
- for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
-
- s->dyn_ltree[END_BLOCK].Freq = 1;
- s->opt_len = s->static_len = 0L;
- s->last_lit = s->matches = 0;
-}
-
-#define SMALLEST 1
-/* Index within the heap array of least frequent node in the Huffman tree */
-
-
-/* ===========================================================================
- * Remove the smallest element from the heap and recreate the heap with
- * one less element. Updates heap and heap_len.
- */
-#define pqremove(s, tree, top) \
-{\
- top = s->heap[SMALLEST]; \
- s->heap[SMALLEST] = s->heap[s->heap_len--]; \
- pqdownheap(s, tree, SMALLEST); \
-}
-
-/* ===========================================================================
- * Compares to subtrees, using the tree depth as tie breaker when
- * the subtrees have equal frequency. This minimizes the worst case length.
- */
-#define smaller(tree, n, m, depth) \
- (tree[n].Freq < tree[m].Freq || \
- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
-
-/* ===========================================================================
- * Restore the heap property by moving down the tree starting at node k,
- * exchanging a node with the smallest of its two sons if necessary, stopping
- * when the heap property is re-established (each father smaller than its
- * two sons).
- */
-local void pqdownheap(s, tree, k)
- deflate_state *s;
- ct_data *tree; /* the tree to restore */
- int k; /* node to move down */
-{
- int v = s->heap[k];
- int j = k << 1; /* left son of k */
- while (j <= s->heap_len) {
- /* Set j to the smallest of the two sons: */
- if (j < s->heap_len &&
- smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
- j++;
- }
- /* Exit if v is smaller than both sons */
- if (smaller(tree, v, s->heap[j], s->depth)) break;
-
- /* Exchange v with the smallest son */
- s->heap[k] = s->heap[j]; k = j;
-
- /* And continue down the tree, setting j to the left son of k */
- j <<= 1;
- }
- s->heap[k] = v;
-}
-
-/* ===========================================================================
- * Compute the optimal bit lengths for a tree and update the total bit length
- * for the current block.
- * IN assertion: the fields freq and dad are set, heap[heap_max] and
- * above are the tree nodes sorted by increasing frequency.
- * OUT assertions: the field len is set to the optimal bit length, the
- * array bl_count contains the frequencies for each bit length.
- * The length opt_len is updated; static_len is also updated if stree is
- * not null.
- */
-local void gen_bitlen(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- int max_code = desc->max_code;
- ct_data *stree = desc->stat_desc->static_tree;
- intf *extra = desc->stat_desc->extra_bits;
- int base = desc->stat_desc->extra_base;
- int max_length = desc->stat_desc->max_length;
- int h; /* heap index */
- int n, m; /* iterate over the tree elements */
- int bits; /* bit length */
- int xbits; /* extra bits */
- ush f; /* frequency */
- int overflow = 0; /* number of elements with bit length too large */
-
- for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
-
- /* In a first pass, compute the optimal bit lengths (which may
- * overflow in the case of the bit length tree).
- */
- tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
-
- for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
- n = s->heap[h];
- bits = tree[tree[n].Dad].Len + 1;
- if (bits > max_length) bits = max_length, overflow++;
- tree[n].Len = (ush)bits;
- /* We overwrite tree[n].Dad which is no longer needed */
-
- if (n > max_code) continue; /* not a leaf node */
-
- s->bl_count[bits]++;
- xbits = 0;
- if (n >= base) xbits = extra[n-base];
- f = tree[n].Freq;
- s->opt_len += (ulg)f * (bits + xbits);
- if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
- }
- if (overflow == 0) return;
-
- Trace((stderr,"\nbit length overflow\n"));
- /* This happens for example on obj2 and pic of the Calgary corpus */
-
- /* Find the first bit length which could increase: */
- do {
- bits = max_length-1;
- while (s->bl_count[bits] == 0) bits--;
- s->bl_count[bits]--; /* move one leaf down the tree */
- s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
- s->bl_count[max_length]--;
- /* The brother of the overflow item also moves one step up,
- * but this does not affect bl_count[max_length]
- */
- overflow -= 2;
- } while (overflow > 0);
-
- /* Now recompute all bit lengths, scanning in increasing frequency.
- * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
- * lengths instead of fixing only the wrong ones. This idea is taken
- * from 'ar' written by Haruhiko Okumura.)
- */
- for (bits = max_length; bits != 0; bits--) {
- n = s->bl_count[bits];
- while (n != 0) {
- m = s->heap[--h];
- if (m > max_code) continue;
- if (tree[m].Len != (unsigned) bits) {
- Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
- s->opt_len += ((long)bits - (long)tree[m].Len)
- *(long)tree[m].Freq;
- tree[m].Len = (ush)bits;
- }
- n--;
- }
- }
-}
-
-/* ===========================================================================
- * Generate the codes for a given tree and bit counts (which need not be
- * optimal).
- * IN assertion: the array bl_count contains the bit length statistics for
- * the given tree and the field len is set for all tree elements.
- * OUT assertion: the field code is set for all tree elements of non
- * zero code length.
- */
-local void gen_codes (tree, max_code, bl_count)
- ct_data *tree; /* the tree to decorate */
- int max_code; /* largest code with non zero frequency */
- ushf *bl_count; /* number of codes at each bit length */
-{
- ush next_code[MAX_BITS+1]; /* next code value for each bit length */
- ush code = 0; /* running code value */
- int bits; /* bit index */
- int n; /* code index */
-
- /* The distribution counts are first used to generate the code values
- * without bit reversal.
- */
- for (bits = 1; bits <= MAX_BITS; bits++) {
- next_code[bits] = code = (code + bl_count[bits-1]) << 1;
- }
- /* Check that the bit counts in bl_count are consistent. The last code
- * must be all ones.
- */
- Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
- "inconsistent bit counts");
- Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
-
- for (n = 0; n <= max_code; n++) {
- int len = tree[n].Len;
- if (len == 0) continue;
- /* Now reverse the bits */
- tree[n].Code = bi_reverse(next_code[len]++, len);
-
- Tracec(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
- n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
- }
-}
-
-/* ===========================================================================
- * Construct one Huffman tree and assigns the code bit strings and lengths.
- * Update the total bit length for the current block.
- * IN assertion: the field freq is set for all tree elements.
- * OUT assertions: the fields len and code are set to the optimal bit length
- * and corresponding code. The length opt_len is updated; static_len is
- * also updated if stree is not null. The field max_code is set.
- */
-local void build_tree(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- ct_data *stree = desc->stat_desc->static_tree;
- int elems = desc->stat_desc->elems;
- int n, m; /* iterate over heap elements */
- int max_code = -1; /* largest code with non zero frequency */
- int node; /* new node being created */
-
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
- * heap[0] is not used.
- */
- s->heap_len = 0, s->heap_max = HEAP_SIZE;
-
- for (n = 0; n < elems; n++) {
- if (tree[n].Freq != 0) {
- s->heap[++(s->heap_len)] = max_code = n;
- s->depth[n] = 0;
- } else {
- tree[n].Len = 0;
- }
- }
-
- /* The pkzip format requires that at least one distance code exists,
- * and that at least one bit should be sent even if there is only one
- * possible code. So to avoid special checks later on we force at least
- * two codes of non zero frequency.
- */
- while (s->heap_len < 2) {
- node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
- tree[node].Freq = 1;
- s->depth[node] = 0;
- s->opt_len--; if (stree) s->static_len -= stree[node].Len;
- /* node is 0 or 1 so it does not have extra bits */
- }
- desc->max_code = max_code;
-
- /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
- * establish sub-heaps of increasing lengths:
- */
- for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
-
- /* Construct the Huffman tree by repeatedly combining the least two
- * frequent nodes.
- */
- node = elems; /* next internal node of the tree */
- do {
- pqremove(s, tree, n); /* n = node of least frequency */
- m = s->heap[SMALLEST]; /* m = node of next least frequency */
-
- s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
- s->heap[--(s->heap_max)] = m;
-
- /* Create a new node father of n and m */
- tree[node].Freq = tree[n].Freq + tree[m].Freq;
- s->depth[node] = (uch) (MAX(s->depth[n], s->depth[m]) + 1);
- tree[n].Dad = tree[m].Dad = (ush)node;
-#ifdef DUMP_BL_TREE
- if (tree == s->bl_tree) {
- fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
- node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
- }
-#endif
- /* and insert the new node in the heap */
- s->heap[SMALLEST] = node++;
- pqdownheap(s, tree, SMALLEST);
-
- } while (s->heap_len >= 2);
-
- s->heap[--(s->heap_max)] = s->heap[SMALLEST];
-
- /* At this point, the fields freq and dad are set. We can now
- * generate the bit lengths.
- */
- gen_bitlen(s, (tree_desc *)desc);
-
- /* The field len is now set, we can generate the bit codes */
- gen_codes ((ct_data *)tree, max_code, s->bl_count);
-}
-
-/* ===========================================================================
- * Scan a literal or distance tree to determine the frequencies of the codes
- * in the bit length tree.
- */
-local void scan_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- if (nextlen == 0) max_count = 138, min_count = 3;
- tree[max_code+1].Len = (ush)0xffff; /* guard */
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- s->bl_tree[curlen].Freq += count;
- } else if (curlen != 0) {
- if (curlen != prevlen) s->bl_tree[curlen].Freq++;
- s->bl_tree[REP_3_6].Freq++;
- } else if (count <= 10) {
- s->bl_tree[REPZ_3_10].Freq++;
- } else {
- s->bl_tree[REPZ_11_138].Freq++;
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Send a literal or distance tree in compressed form, using the codes in
- * bl_tree.
- */
-local void send_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- /* tree[max_code+1].Len = -1; */ /* guard already set */
- if (nextlen == 0) max_count = 138, min_count = 3;
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
-
- } else if (curlen != 0) {
- if (curlen != prevlen) {
- send_code(s, curlen, s->bl_tree); count--;
- }
- Assert(count >= 3 && count <= 6, " 3_6?");
- send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
-
- } else if (count <= 10) {
- send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
-
- } else {
- send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Construct the Huffman tree for the bit lengths and return the index in
- * bl_order of the last bit length code to send.
- */
-local int build_bl_tree(s)
- deflate_state *s;
-{
- int max_blindex; /* index of last bit length code of non zero freq */
-
- /* Determine the bit length frequencies for literal and distance trees */
- scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
- scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
-
- /* Build the bit length tree: */
- build_tree(s, (tree_desc *)(&(s->bl_desc)));
- /* opt_len now includes the length of the tree representations, except
- * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
- */
-
- /* Determine the number of bit length codes to send. The pkzip format
- * requires that at least 4 bit length codes be sent. (appnote.txt says
- * 3 but the actual value used is 4.)
- */
- for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
- if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
- }
- /* Update opt_len to include the bit length tree and counts */
- s->opt_len += 3*(max_blindex+1) + 5+5+4;
- Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
- s->opt_len, s->static_len));
-
- return max_blindex;
-}
-
-/* ===========================================================================
- * Send the header for a block using dynamic Huffman trees: the counts, the
- * lengths of the bit length codes, the literal tree and the distance tree.
- * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
- */
-local void send_all_trees(s, lcodes, dcodes, blcodes)
- deflate_state *s;
- int lcodes, dcodes, blcodes; /* number of codes for each tree */
-{
- int rank; /* index in bl_order */
-
- Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
- Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
- "too many codes");
- Tracev((stderr, "\nbl counts: "));
- send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
- send_bits(s, dcodes-1, 5);
- send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
- for (rank = 0; rank < blcodes; rank++) {
- Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
- send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
- }
- Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
- Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
- Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
-}
-
-/* ===========================================================================
- * Send a stored block
- */
-local void ct_stored_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
- s->compressed_len = (s->compressed_len + 3 + 7) & ~7L;
- s->compressed_len += (stored_len + 4) << 3;
-
- copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
-}
-
-/* Send just the `stored block' type code without any length bytes or data.
- */
-local void ct_stored_type_only(s)
- deflate_state *s;
-{
- send_bits(s, (STORED_BLOCK << 1), 3);
- bi_windup(s);
- s->compressed_len = (s->compressed_len + 3) & ~7L;
-}
-
-
-/* ===========================================================================
- * Send one empty static block to give enough lookahead for inflate.
- * This takes 10 bits, of which 7 may remain in the bit buffer.
- * The current inflate code requires 9 bits of lookahead. If the EOB
- * code for the previous block was coded on 5 bits or less, inflate
- * may have only 5+3 bits of lookahead to decode this EOB.
- * (There are no problems if the previous block is stored or fixed.)
- */
-local void ct_align(s)
- deflate_state *s;
-{
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
- s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
- bi_flush(s);
- /* Of the 10 bits for the empty block, we have already sent
- * (10 - bi_valid) bits. The lookahead for the EOB of the previous
- * block was thus its length plus what we have just sent.
- */
- if (s->last_eob_len + 10 - s->bi_valid < 9) {
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
- s->compressed_len += 10L;
- bi_flush(s);
- }
- s->last_eob_len = 7;
-}
-
-/* ===========================================================================
- * Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file. This function
- * returns the total compressed length for the file so far.
- */
-local ulg ct_flush_block(s, buf, stored_len, flush)
- deflate_state *s;
- charf *buf; /* input block, or NULL if too old */
- ulg stored_len; /* length of input block */
- int flush; /* Z_FINISH if this is the last block for a file */
-{
- ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
- int max_blindex; /* index of last bit length code of non zero freq */
- int eof = flush == Z_FINISH;
-
- ++s->blocks_in_packet;
-
- /* Check if the file is ascii or binary */
- if (s->data_type == UNKNOWN) set_data_type(s);
-
- /* Construct the literal and distance trees */
- build_tree(s, (tree_desc *)(&(s->l_desc)));
- Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
-
- build_tree(s, (tree_desc *)(&(s->d_desc)));
- Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
- /* At this point, opt_len and static_len are the total bit lengths of
- * the compressed block data, excluding the tree representations.
- */
-
- /* Build the bit length tree for the above two trees, and get the index
- * in bl_order of the last bit length code to send.
- */
- max_blindex = build_bl_tree(s);
-
- /* Determine the best encoding. Compute first the block length in bytes */
- opt_lenb = (s->opt_len+3+7)>>3;
- static_lenb = (s->static_len+3+7)>>3;
-
- Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
- opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
- s->last_lit));
-
- if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
-
- /* If compression failed and this is the first and last block,
- * and if the .zip file can be seeked (to rewrite the local header),
- * the whole file is transformed into a stored file:
- */
-#ifdef STORED_FILE_OK
-# ifdef FORCE_STORED_FILE
- if (eof && compressed_len == 0L) /* force stored file */
-# else
- if (stored_len <= opt_lenb && eof && s->compressed_len==0L && seekable())
-# endif
- {
- /* Since LIT_BUFSIZE <= 2*WSIZE, the input data must be there: */
- if (buf == (charf*)0) error ("block vanished");
-
- copy_block(buf, (unsigned)stored_len, 0); /* without header */
- s->compressed_len = stored_len << 3;
- s->method = STORED;
- } else
-#endif /* STORED_FILE_OK */
-
- /* For Z_PACKET_FLUSH, if we don't achieve the required minimum
- * compression, and this block contains all the data since the last
- * time we used Z_PACKET_FLUSH, then just omit this block completely
- * from the output.
- */
- if (flush == Z_PACKET_FLUSH && s->blocks_in_packet == 1
- && opt_lenb > stored_len - s->minCompr) {
- s->blocks_in_packet = 0;
- /* output nothing */
- } else
-
-#ifdef FORCE_STORED
- if (buf != (char*)0) /* force stored block */
-#else
- if (stored_len+4 <= opt_lenb && buf != (char*)0)
- /* 4: two words for the lengths */
-#endif
- {
- /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
- * Otherwise we can't have processed more than WSIZE input bytes since
- * the last block flush, because compression would have been
- * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
- * transform a block into a stored block.
- */
- ct_stored_block(s, buf, stored_len, eof);
- } else
-
-#ifdef FORCE_STATIC
- if (static_lenb >= 0) /* force static trees */
-#else
- if (static_lenb == opt_lenb)
-#endif
- {
- send_bits(s, (STATIC_TREES<<1)+eof, 3);
- compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
- s->compressed_len += 3 + s->static_len;
- } else {
- send_bits(s, (DYN_TREES<<1)+eof, 3);
- send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
- max_blindex+1);
- compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
- s->compressed_len += 3 + s->opt_len;
- }
- Assert (s->compressed_len == s->bits_sent, "bad compressed size");
- init_block(s);
-
- if (eof) {
- bi_windup(s);
- s->compressed_len += 7; /* align on byte boundary */
- }
- Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
- s->compressed_len-7*eof));
-
- return s->compressed_len >> 3;
-}
-
-/* ===========================================================================
- * Save the match info and tally the frequency counts. Return true if
- * the current block must be flushed.
- */
-local int ct_tally (s, dist, lc)
- deflate_state *s;
- int dist; /* distance of matched string */
- int lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
-{
- s->d_buf[s->last_lit] = (ush)dist;
- s->l_buf[s->last_lit++] = (uch)lc;
- if (dist == 0) {
- /* lc is the unmatched char */
- s->dyn_ltree[lc].Freq++;
- } else {
- s->matches++;
- /* Here, lc is the match length - MIN_MATCH */
- dist--; /* dist = match distance - 1 */
- Assert((ush)dist < (ush)MAX_DIST(s) &&
- (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
- (ush)d_code(dist) < (ush)D_CODES, "ct_tally: bad match");
-
- s->dyn_ltree[length_code[lc]+LITERALS+1].Freq++;
- s->dyn_dtree[d_code(dist)].Freq++;
- }
-
- /* Try to guess if it is profitable to stop the current block here */
- if (s->level > 2 && (s->last_lit & 0xfff) == 0) {
- /* Compute an upper bound for the compressed length */
- ulg out_length = (ulg)s->last_lit*8L;
- ulg in_length = (ulg)s->strstart - s->block_start;
- int dcode;
- for (dcode = 0; dcode < D_CODES; dcode++) {
- out_length += (ulg)s->dyn_dtree[dcode].Freq *
- (5L+extra_dbits[dcode]);
- }
- out_length >>= 3;
- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
- s->last_lit, in_length, out_length,
- 100L - out_length*100L/in_length));
- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
- }
- return (s->last_lit == s->lit_bufsize-1);
- /* We avoid equality with lit_bufsize because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
-}
-
-/* ===========================================================================
- * Send the block data compressed using the given Huffman trees
- */
-local void compress_block(s, ltree, dtree)
- deflate_state *s;
- ct_data *ltree; /* literal tree */
- ct_data *dtree; /* distance tree */
-{
- unsigned dist; /* distance of matched string */
- int lc; /* match length or unmatched char (if dist == 0) */
- unsigned lx = 0; /* running index in l_buf */
- unsigned code; /* the code to send */
- int extra; /* number of extra bits to send */
-
- if (s->last_lit != 0) do {
- dist = s->d_buf[lx];
- lc = s->l_buf[lx++];
- if (dist == 0) {
- send_code(s, lc, ltree); /* send a literal byte */
- Tracecv(isgraph(lc), (stderr," '%c' ", lc));
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- code = length_code[lc];
- send_code(s, code+LITERALS+1, ltree); /* send the length code */
- extra = extra_lbits[code];
- if (extra != 0) {
- lc -= base_length[code];
- send_bits(s, lc, extra); /* send the extra length bits */
- }
- dist--; /* dist is now the match distance - 1 */
- code = d_code(dist);
- Assert (code < D_CODES, "bad d_code");
-
- send_code(s, code, dtree); /* send the distance code */
- extra = extra_dbits[code];
- if (extra != 0) {
- dist -= base_dist[code];
- send_bits(s, dist, extra); /* send the extra distance bits */
- }
- } /* literal or match pair ? */
-
- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
- Assert(s->pending < s->lit_bufsize + 2*lx, "pendingBuf overflow");
-
- } while (lx < s->last_lit);
-
- send_code(s, END_BLOCK, ltree);
- s->last_eob_len = ltree[END_BLOCK].Len;
-}
-
-/* ===========================================================================
- * Set the data type to ASCII or BINARY, using a crude approximation:
- * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
- * IN assertion: the fields freq of dyn_ltree are set and the total of all
- * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
- */
-local void set_data_type(s)
- deflate_state *s;
-{
- int n = 0;
- unsigned ascii_freq = 0;
- unsigned bin_freq = 0;
- while (n < 7) bin_freq += s->dyn_ltree[n++].Freq;
- while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq;
- while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq;
- s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? BINARY : ASCII);
-}
-
-/* ===========================================================================
- * Reverse the first len bits of a code, using straightforward code (a faster
- * method would use a table)
- * IN assertion: 1 <= len <= 15
- */
-local unsigned bi_reverse(code, len)
- unsigned code; /* the value to invert */
- int len; /* its bit length */
-{
- register unsigned res = 0;
- do {
- res |= code & 1;
- code >>= 1, res <<= 1;
- } while (--len > 0);
- return res >> 1;
-}
-
-/* ===========================================================================
- * Flush the bit buffer, keeping at most 7 bits in it.
- */
-local void bi_flush(s)
- deflate_state *s;
-{
- if (s->bi_valid == 16) {
- put_short(s, s->bi_buf);
- s->bi_buf = 0;
- s->bi_valid = 0;
- } else if (s->bi_valid >= 8) {
- put_byte(s, (Byte)s->bi_buf);
- s->bi_buf >>= 8;
- s->bi_valid -= 8;
- }
-}
-
-/* ===========================================================================
- * Flush the bit buffer and align the output on a byte boundary
- */
-local void bi_windup(s)
- deflate_state *s;
-{
- if (s->bi_valid > 8) {
- put_short(s, s->bi_buf);
- } else if (s->bi_valid > 0) {
- put_byte(s, (Byte)s->bi_buf);
- }
- s->bi_buf = 0;
- s->bi_valid = 0;
-#ifdef DEBUG_ZLIB
- s->bits_sent = (s->bits_sent+7) & ~7;
-#endif
-}
-
-/* ===========================================================================
- * Copy a stored block, storing first the length and its
- * one's complement if requested.
- */
-local void copy_block(s, buf, len, header)
- deflate_state *s;
- charf *buf; /* the input data */
- unsigned len; /* its length */
- int header; /* true if block header must be written */
-{
- bi_windup(s); /* align on byte boundary */
- s->last_eob_len = 8; /* enough lookahead for inflate */
-
- if (header) {
- put_short(s, (ush)len);
- put_short(s, (ush)~len);
-#ifdef DEBUG_ZLIB
- s->bits_sent += 2*16;
-#endif
- }
-#ifdef DEBUG_ZLIB
- s->bits_sent += (ulg)len<<3;
-#endif
- while (len--) {
- put_byte(s, *buf++);
- }
-}
-
-
-/*+++++*/
-/* infblock.h -- header to use infblock.c
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_blocks_state;
-typedef struct inflate_blocks_state FAR inflate_blocks_statef;
-
-local inflate_blocks_statef * inflate_blocks_new OF((
- z_stream *z,
- check_func c, /* check function */
- uInt w)); /* window size */
-
-local int inflate_blocks OF((
- inflate_blocks_statef *,
- z_stream *,
- int)); /* initial return code */
-
-local void inflate_blocks_reset OF((
- inflate_blocks_statef *,
- z_stream *,
- uLongf *)); /* check value on output */
-
-local int inflate_blocks_free OF((
- inflate_blocks_statef *,
- z_stream *,
- uLongf *)); /* check value on output */
-
-local int inflate_addhistory OF((
- inflate_blocks_statef *,
- z_stream *));
-
-local int inflate_packet_flush OF((
- inflate_blocks_statef *));
-
-/*+++++*/
-/* inftrees.h -- header to use inftrees.c
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* Huffman code lookup table entry--this entry is four bytes for machines
- that have 16-bit pointers (e.g. PC's in the small or medium model). */
-
-typedef struct inflate_huft_s FAR inflate_huft;
-
-struct inflate_huft_s {
- union {
- struct {
- Byte Exop; /* number of extra bits or operation */
- Byte Bits; /* number of bits in this code or subcode */
- } what;
- uInt Nalloc; /* number of these allocated here */
- Bytef *pad; /* pad structure to a power of 2 (4 bytes for */
- } word; /* 16-bit, 8 bytes for 32-bit machines) */
- union {
- uInt Base; /* literal, length base, or distance base */
- inflate_huft *Next; /* pointer to next level of table */
- } more;
-};
-
-#ifdef DEBUG_ZLIB
- local uInt inflate_hufts;
-#endif
-
-local int inflate_trees_bits OF((
- uIntf *, /* 19 code lengths */
- uIntf *, /* bits tree desired/actual depth */
- inflate_huft * FAR *, /* bits tree result */
- z_stream *)); /* for zalloc, zfree functions */
-
-local int inflate_trees_dynamic OF((
- uInt, /* number of literal/length codes */
- uInt, /* number of distance codes */
- uIntf *, /* that many (total) code lengths */
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *, /* distance tree result */
- z_stream *)); /* for zalloc, zfree functions */
-
-local int inflate_trees_fixed OF((
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *)); /* distance tree result */
-
-local int inflate_trees_free OF((
- inflate_huft *, /* tables to free */
- z_stream *)); /* for zfree function */
-
-
-/*+++++*/
-/* infcodes.h -- header to use infcodes.c
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_codes_state;
-typedef struct inflate_codes_state FAR inflate_codes_statef;
-
-local inflate_codes_statef *inflate_codes_new OF((
- uInt, uInt,
- inflate_huft *, inflate_huft *,
- z_stream *));
-
-local int inflate_codes OF((
- inflate_blocks_statef *,
- z_stream *,
- int));
-
-local void inflate_codes_free OF((
- inflate_codes_statef *,
- z_stream *));
-
-
-/*+++++*/
-/* inflate.c -- zlib interface to inflate modules
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* inflate private state */
-struct internal_state {
-
- /* mode */
- enum {
- METHOD, /* waiting for method byte */
- FLAG, /* waiting for flag byte */
- BLOCKS, /* decompressing blocks */
- CHECK4, /* four check bytes to go */
- CHECK3, /* three check bytes to go */
- CHECK2, /* two check bytes to go */
- CHECK1, /* one check byte to go */
- DONE, /* finished check, done */
- BAD} /* got an error--stay here */
- mode; /* current inflate mode */
-
- /* mode dependent information */
- union {
- uInt method; /* if FLAGS, method byte */
- struct {
- uLong was; /* computed check value */
- uLong need; /* stream check value */
- } check; /* if CHECK, check values to compare */
- uInt marker; /* if BAD, inflateSync's marker bytes count */
- } sub; /* submode */
-
- /* mode independent information */
- int nowrap; /* flag for no wrapper */
- uInt wbits; /* log2(window size) (8..15, defaults to 15) */
- inflate_blocks_statef
- *blocks; /* current inflate_blocks state */
-
-};
-
-
-int inflateReset(z)
-z_stream *z;
-{
- uLong c;
-
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- z->total_in = z->total_out = 0;
- z->msg = Z_NULL;
- z->state->mode = z->state->nowrap ? BLOCKS : METHOD;
- inflate_blocks_reset(z->state->blocks, z, &c);
- Trace((stderr, "inflate: reset\n"));
- return Z_OK;
-}
-
-
-int inflateEnd(z)
-z_stream *z;
-{
- uLong c;
-
- if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->blocks != Z_NULL)
- inflate_blocks_free(z->state->blocks, z, &c);
- ZFREE(z, z->state, sizeof(struct internal_state));
- z->state = Z_NULL;
- Trace((stderr, "inflate: end\n"));
- return Z_OK;
-}
-
-
-int inflateInit2(z, w)
-z_stream *z;
-int w;
-{
- /* initialize state */
- if (z == Z_NULL)
- return Z_STREAM_ERROR;
-/* if (z->zalloc == Z_NULL) z->zalloc = zcalloc; */
-/* if (z->zfree == Z_NULL) z->zfree = zcfree; */
- if ((z->state = (struct internal_state FAR *)
- ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)
- return Z_MEM_ERROR;
- z->state->blocks = Z_NULL;
-
- /* handle undocumented nowrap option (no zlib header or check) */
- z->state->nowrap = 0;
- if (w < 0)
- {
- w = - w;
- z->state->nowrap = 1;
- }
-
- /* set window size */
- if (w < 8 || w > 15)
- {
- inflateEnd(z);
- return Z_STREAM_ERROR;
- }
- z->state->wbits = (uInt)w;
-
- /* create inflate_blocks state */
- if ((z->state->blocks =
- inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, 1 << w))
- == Z_NULL)
- {
- inflateEnd(z);
- return Z_MEM_ERROR;
- }
- Trace((stderr, "inflate: allocated\n"));
-
- /* reset state */
- inflateReset(z);
- return Z_OK;
-}
-
-
-int inflateInit(z)
-z_stream *z;
-{
- return inflateInit2(z, DEF_WBITS);
-}
-
-
-#define NEEDBYTE {if(z->avail_in==0)goto empty;r=Z_OK;}
-#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)
-
-int inflate(z, f)
-z_stream *z;
-int f;
-{
- int r;
- uInt b;
-
- if (z == Z_NULL || z->next_in == Z_NULL)
- return Z_STREAM_ERROR;
- r = Z_BUF_ERROR;
- while (1) switch (z->state->mode)
- {
- case METHOD:
- NEEDBYTE
- if (((z->state->sub.method = NEXTBYTE) & 0xf) != DEFLATED)
- {
- z->state->mode = BAD;
- z->msg = "unknown compression method";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- if ((z->state->sub.method >> 4) + 8 > z->state->wbits)
- {
- z->state->mode = BAD;
- z->msg = "invalid window size";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- z->state->mode = FLAG;
- case FLAG:
- NEEDBYTE
- if ((b = NEXTBYTE) & 0x20)
- {
- z->state->mode = BAD;
- z->msg = "invalid reserved bit";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- if (((z->state->sub.method << 8) + b) % 31)
- {
- z->state->mode = BAD;
- z->msg = "incorrect header check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Trace((stderr, "inflate: zlib header ok\n"));
- z->state->mode = BLOCKS;
- case BLOCKS:
- r = inflate_blocks(z->state->blocks, z, r);
- if (f == Z_PACKET_FLUSH && z->avail_in == 0 && z->avail_out != 0)
- r = inflate_packet_flush(z->state->blocks);
- if (r == Z_DATA_ERROR)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0; /* can try inflateSync */
- break;
- }
- if (r != Z_STREAM_END)
- return r;
- r = Z_OK;
- inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);
- if (z->state->nowrap)
- {
- z->state->mode = DONE;
- break;
- }
- z->state->mode = CHECK4;
- case CHECK4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = CHECK3;
- case CHECK3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = CHECK2;
- case CHECK2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = CHECK1;
- case CHECK1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
-
- if (z->state->sub.check.was != z->state->sub.check.need)
- {
- z->state->mode = BAD;
- z->msg = "incorrect data check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Trace((stderr, "inflate: zlib check ok\n"));
- z->state->mode = DONE;
- case DONE:
- return Z_STREAM_END;
- case BAD:
- return Z_DATA_ERROR;
- default:
- return Z_STREAM_ERROR;
- }
-
- empty:
- if (f != Z_PACKET_FLUSH)
- return r;
- z->state->mode = BAD;
- z->state->sub.marker = 0; /* can try inflateSync */
- return Z_DATA_ERROR;
-}
-
-/*
- * This subroutine adds the data at next_in/avail_in to the output history
- * without performing any output. The output buffer must be "caught up";
- * i.e. no pending output (hence s->read equals s->write), and the state must
- * be BLOCKS (i.e. we should be willing to see the start of a series of
- * BLOCKS). On exit, the output will also be caught up, and the checksum
- * will have been updated if need be.
- */
-
-int inflateIncomp(z)
-z_stream *z;
-{
- if (z->state->mode != BLOCKS)
- return Z_DATA_ERROR;
- return inflate_addhistory(z->state->blocks, z);
-}
-
-
-int inflateSync(z)
-z_stream *z;
-{
- uInt n; /* number of bytes to look at */
- Bytef *p; /* pointer to bytes */
- uInt m; /* number of marker bytes found in a row */
- uLong r, w; /* temporaries to save total_in and total_out */
-
- /* set up */
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->mode != BAD)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0;
- }
- if ((n = z->avail_in) == 0)
- return Z_BUF_ERROR;
- p = z->next_in;
- m = z->state->sub.marker;
-
- /* search */
- while (n && m < 4)
- {
- if (*p == (Byte)(m < 2 ? 0 : 0xff))
- m++;
- else if (*p)
- m = 0;
- else
- m = 4 - m;
- p++, n--;
- }
-
- /* restore */
- z->total_in += p - z->next_in;
- z->next_in = p;
- z->avail_in = n;
- z->state->sub.marker = m;
-
- /* return no joy or set up to restart on a new block */
- if (m != 4)
- return Z_DATA_ERROR;
- r = z->total_in; w = z->total_out;
- inflateReset(z);
- z->total_in = r; z->total_out = w;
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-#undef NEEDBYTE
-#undef NEXTBYTE
-
-/*+++++*/
-/* infutil.h -- types and macros common to blocks and codes
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* inflate blocks semi-private state */
-struct inflate_blocks_state {
-
- /* mode */
- enum {
- TYPE, /* get type bits (3, including end bit) */
- LENS, /* get lengths for stored */
- STORED, /* processing stored block */
- TABLE, /* get table lengths */
- BTREE, /* get bit lengths tree for a dynamic block */
- DTREE, /* get length, distance trees for a dynamic block */
- CODES, /* processing fixed or dynamic block */
- DRY, /* output remaining window bytes */
- DONEB, /* finished last block, done */
- BADB} /* got a data error--stuck here */
- mode; /* current inflate_block mode */
-
- /* mode dependent information */
- union {
- uInt left; /* if STORED, bytes left to copy */
- struct {
- uInt table; /* table lengths (14 bits) */
- uInt index; /* index into blens (or border) */
- uIntf *blens; /* bit lengths of codes */
- uInt bb; /* bit length tree depth */
- inflate_huft *tb; /* bit length decoding tree */
- int nblens; /* # elements allocated at blens */
- } trees; /* if DTREE, decoding info for trees */
- struct {
- inflate_huft *tl, *td; /* trees to free */
- inflate_codes_statef
- *codes;
- } decode; /* if CODES, current state */
- } sub; /* submode */
- uInt last; /* true if this block is the last block */
-
- /* mode independent information */
- uInt bitk; /* bits in bit buffer */
- uLong bitb; /* bit buffer */
- Bytef *window; /* sliding window */
- Bytef *end; /* one byte after sliding window */
- Bytef *read; /* window read pointer */
- Bytef *write; /* window write pointer */
- check_func checkfn; /* check function */
- uLong check; /* check on output */
-
-};
-
-
-/* defines for inflate input/output */
-/* update pointers and return */
-#define UPDBITS {s->bitb=b;s->bitk=k;}
-#define UPDIN {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
-#define UPDOUT {s->write=q;}
-#define UPDATE {UPDBITS UPDIN UPDOUT}
-#define LEAVE {UPDATE return inflate_flush(s,z,r);}
-/* get bytes and bits */
-#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
-#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
-#define NEXTBYTE (n--,*p++)
-#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define DUMPBITS(j) {b>>=(j);k-=(j);}
-/* output bytes */
-#define WAVAIL (q<s->read?s->read-q-1:s->end-q)
-#define LOADOUT {q=s->write;m=WAVAIL;}
-#define WRAP {if(q==s->end&&s->read!=s->window){q=s->window;m=WAVAIL;}}
-#define FLUSH {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
-#define NEEDOUT {if(m==0){WRAP if(m==0){FLUSH WRAP if(m==0) LEAVE}}r=Z_OK;}
-#define OUTBYTE(a) {*q++=(Byte)(a);m--;}
-/* load local pointers */
-#define LOAD {LOADIN LOADOUT}
-
-/* And'ing with mask[n] masks the lower n bits */
-local uInt inflate_mask[] = {
- 0x0000,
- 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
-};
-
-/* copy as much as possible from the sliding window to the output area */
-local int inflate_flush OF((
- inflate_blocks_statef *,
- z_stream *,
- int));
-
-/*+++++*/
-/* inffast.h -- header to use inffast.c
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-local int inflate_fast OF((
- uInt,
- uInt,
- inflate_huft *,
- inflate_huft *,
- inflate_blocks_statef *,
- z_stream *));
-
-
-/*+++++*/
-/* infblock.c -- interpret and process block types to last block
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* Table for deflate from PKZIP's appnote.txt. */
-local uInt border[] = { /* Order of the bit length code lengths */
- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
-
-/*
- Notes beyond the 1.93a appnote.txt:
-
- 1. Distance pointers never point before the beginning of the output
- stream.
- 2. Distance pointers can point back across blocks, up to 32k away.
- 3. There is an implied maximum of 7 bits for the bit length table and
- 15 bits for the actual data.
- 4. If only one code exists, then it is encoded using one bit. (Zero
- would be more efficient, but perhaps a little confusing.) If two
- codes exist, they are coded using one bit each (0 and 1).
- 5. There is no way of sending zero distance codes--a dummy must be
- sent if there are none. (History: a pre 2.0 version of PKZIP would
- store blocks with no distance codes, but this was discovered to be
- too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
- zero distance codes, which is sent as one code of zero bits in
- length.
- 6. There are up to 286 literal/length codes. Code 256 represents the
- end-of-block. Note however that the static length tree defines
- 288 codes just to fill out the Huffman codes. Codes 286 and 287
- cannot be used though, since there is no length base or extra bits
- defined for them. Similarily, there are up to 30 distance codes.
- However, static trees define 32 codes (all 5 bits) to fill out the
- Huffman codes, but the last two had better not show up in the data.
- 7. Unzip can check dynamic Huffman blocks for complete code sets.
- The exception is that a single code would not be complete (see #4).
- 8. The five bits following the block type is really the number of
- literal codes sent minus 257.
- 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
- (1+6+6). Therefore, to output three times the length, you output
- three codes (1+1+1), whereas to output four times the same length,
- you only need two codes (1+3). Hmm.
- 10. In the tree reconstruction algorithm, Code = Code + Increment
- only if BitLength(i) is not zero. (Pretty obvious.)
- 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
- 12. Note: length code 284 can represent 227-258, but length code 285
- really is 258. The last length deserves its own, short code
- since it gets used a lot in very redundant files. The length
- 258 is special since 258 - 3 (the min match length) is 255.
- 13. The literal/length and distance code bit lengths are read as a
- single stream of lengths. It is possible (and advantageous) for
- a repeat code (16, 17, or 18) to go across the boundary between
- the two sets of lengths.
- */
-
-
-local void inflate_blocks_reset(s, z, c)
-inflate_blocks_statef *s;
-z_stream *z;
-uLongf *c;
-{
- if (s->checkfn != Z_NULL)
- *c = s->check;
- if (s->mode == BTREE || s->mode == DTREE)
- ZFREE(z, s->sub.trees.blens, s->sub.trees.nblens * sizeof(uInt));
- if (s->mode == CODES)
- {
- inflate_codes_free(s->sub.decode.codes, z);
- inflate_trees_free(s->sub.decode.td, z);
- inflate_trees_free(s->sub.decode.tl, z);
- }
- s->mode = TYPE;
- s->bitk = 0;
- s->bitb = 0;
- s->read = s->write = s->window;
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(0L, Z_NULL, 0);
- Trace((stderr, "inflate: blocks reset\n"));
-}
-
-
-local inflate_blocks_statef *inflate_blocks_new(z, c, w)
-z_stream *z;
-check_func c;
-uInt w;
-{
- inflate_blocks_statef *s;
-
- if ((s = (inflate_blocks_statef *)ZALLOC
- (z,1,sizeof(struct inflate_blocks_state))) == Z_NULL)
- return s;
- if ((s->window = (Bytef *)ZALLOC(z, 1, w)) == Z_NULL)
- {
- ZFREE(z, s, sizeof(struct inflate_blocks_state));
- return Z_NULL;
- }
- s->end = s->window + w;
- s->checkfn = c;
- s->mode = TYPE;
- Trace((stderr, "inflate: blocks allocated\n"));
- inflate_blocks_reset(s, z, &s->check);
- return s;
-}
-
-
-local int inflate_blocks(s, z, r)
-inflate_blocks_statef *s;
-z_stream *z;
-int r;
-{
- uInt t; /* temporary storage */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input based on current state */
- while (1) switch (s->mode)
- {
- case TYPE:
- NEEDBITS(3)
- t = (uInt)b & 7;
- s->last = t & 1;
- switch (t >> 1)
- {
- case 0: /* stored */
- Trace((stderr, "inflate: stored block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- t = k & 7; /* go to byte boundary */
- DUMPBITS(t)
- s->mode = LENS; /* get length of stored block */
- break;
- case 1: /* fixed */
- Trace((stderr, "inflate: fixed codes block%s\n",
- s->last ? " (last)" : ""));
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
-
- inflate_trees_fixed(&bl, &bd, &tl, &td);
- s->sub.decode.codes = inflate_codes_new(bl, bd, tl, td, z);
- if (s->sub.decode.codes == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.decode.tl = Z_NULL; /* don't try to free these */
- s->sub.decode.td = Z_NULL;
- }
- DUMPBITS(3)
- s->mode = CODES;
- break;
- case 2: /* dynamic */
- Trace((stderr, "inflate: dynamic codes block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- s->mode = TABLE;
- break;
- case 3: /* illegal */
- DUMPBITS(3)
- s->mode = BADB;
- z->msg = "invalid block type";
- r = Z_DATA_ERROR;
- LEAVE
- }
- break;
- case LENS:
- NEEDBITS(32)
- if (((~b) >> 16) != (b & 0xffff))
- {
- s->mode = BADB;
- z->msg = "invalid stored block lengths";
- r = Z_DATA_ERROR;
- LEAVE
- }
- s->sub.left = (uInt)b & 0xffff;
- b = k = 0; /* dump bits */
- Tracev((stderr, "inflate: stored length %u\n", s->sub.left));
- s->mode = s->sub.left ? STORED : TYPE;
- break;
- case STORED:
- if (n == 0)
- LEAVE
- NEEDOUT
- t = s->sub.left;
- if (t > n) t = n;
- if (t > m) t = m;
- zmemcpy(q, p, t);
- p += t; n -= t;
- q += t; m -= t;
- if ((s->sub.left -= t) != 0)
- break;
- Tracev((stderr, "inflate: stored end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- s->mode = s->last ? DRY : TYPE;
- break;
- case TABLE:
- NEEDBITS(14)
- s->sub.trees.table = t = (uInt)b & 0x3fff;
-#ifndef PKZIP_BUG_WORKAROUND
- if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)
- {
- s->mode = BADB;
- z->msg = "too many length or distance symbols";
- r = Z_DATA_ERROR;
- LEAVE
- }
-#endif
- t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
- if (t < 19)
- t = 19;
- if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.trees.nblens = t;
- DUMPBITS(14)
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: table sizes ok\n"));
- s->mode = BTREE;
- case BTREE:
- while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
- {
- NEEDBITS(3)
- s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
- DUMPBITS(3)
- }
- while (s->sub.trees.index < 19)
- s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
- s->sub.trees.bb = 7;
- t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
- &s->sub.trees.tb, z);
- if (t != Z_OK)
- {
- r = t;
- if (r == Z_DATA_ERROR)
- s->mode = BADB;
- LEAVE
- }
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: bits tree ok\n"));
- s->mode = DTREE;
- case DTREE:
- while (t = s->sub.trees.table,
- s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
- {
- inflate_huft *h;
- uInt i, j, c;
-
- t = s->sub.trees.bb;
- NEEDBITS(t)
- h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
- t = h->word.what.Bits;
- c = h->more.Base;
- if (c < 16)
- {
- DUMPBITS(t)
- s->sub.trees.blens[s->sub.trees.index++] = c;
- }
- else /* c == 16..18 */
- {
- i = c == 18 ? 7 : c - 14;
- j = c == 18 ? 11 : 3;
- NEEDBITS(t + i)
- DUMPBITS(t)
- j += (uInt)b & inflate_mask[i];
- DUMPBITS(i)
- i = s->sub.trees.index;
- t = s->sub.trees.table;
- if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) ||
- (c == 16 && i < 1))
- {
- s->mode = BADB;
- z->msg = "invalid bit length repeat";
- r = Z_DATA_ERROR;
- LEAVE
- }
- c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
- do {
- s->sub.trees.blens[i++] = c;
- } while (--j);
- s->sub.trees.index = i;
- }
- }
- inflate_trees_free(s->sub.trees.tb, z);
- s->sub.trees.tb = Z_NULL;
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
- inflate_codes_statef *c;
-
- bl = 9; /* must be <= 9 for lookahead assumptions */
- bd = 6; /* must be <= 9 for lookahead assumptions */
- t = s->sub.trees.table;
- t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
- s->sub.trees.blens, &bl, &bd, &tl, &td, z);
- if (t != Z_OK)
- {
- if (t == (uInt)Z_DATA_ERROR)
- s->mode = BADB;
- r = t;
- LEAVE
- }
- Tracev((stderr, "inflate: trees ok\n"));
- if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
- {
- inflate_trees_free(td, z);
- inflate_trees_free(tl, z);
- r = Z_MEM_ERROR;
- LEAVE
- }
- ZFREE(z, s->sub.trees.blens, s->sub.trees.nblens * sizeof(uInt));
- s->sub.decode.codes = c;
- s->sub.decode.tl = tl;
- s->sub.decode.td = td;
- }
- s->mode = CODES;
- case CODES:
- UPDATE
- if ((r = inflate_codes(s, z, r)) != Z_STREAM_END)
- return inflate_flush(s, z, r);
- r = Z_OK;
- inflate_codes_free(s->sub.decode.codes, z);
- inflate_trees_free(s->sub.decode.td, z);
- inflate_trees_free(s->sub.decode.tl, z);
- LOAD
- Tracev((stderr, "inflate: codes end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- if (!s->last)
- {
- s->mode = TYPE;
- break;
- }
- if (k > 7) /* return unused byte, if any */
- {
- Assert(k < 16, "inflate_codes grabbed too many bytes")
- k -= 8;
- n++;
- p--; /* can always return one */
- }
- s->mode = DRY;
- case DRY:
- FLUSH
- if (s->read != s->write)
- LEAVE
- s->mode = DONEB;
- case DONEB:
- r = Z_STREAM_END;
- LEAVE
- case BADB:
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-local int inflate_blocks_free(s, z, c)
-inflate_blocks_statef *s;
-z_stream *z;
-uLongf *c;
-{
- inflate_blocks_reset(s, z, c);
- ZFREE(z, s->window, s->end - s->window);
- ZFREE(z, s, sizeof(struct inflate_blocks_state));
- Trace((stderr, "inflate: blocks freed\n"));
- return Z_OK;
-}
-
-/*
- * This subroutine adds the data at next_in/avail_in to the output history
- * without performing any output. The output buffer must be "caught up";
- * i.e. no pending output (hence s->read equals s->write), and the state must
- * be BLOCKS (i.e. we should be willing to see the start of a series of
- * BLOCKS). On exit, the output will also be caught up, and the checksum
- * will have been updated if need be.
- */
-local int inflate_addhistory(s, z)
-inflate_blocks_statef *s;
-z_stream *z;
-{
- uLong b; /* bit buffer */ /* NOT USED HERE */
- uInt k; /* bits in bit buffer */ /* NOT USED HERE */
- uInt t; /* temporary storage */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- if (s->read != s->write)
- return Z_STREAM_ERROR;
- if (s->mode != TYPE)
- return Z_DATA_ERROR;
-
- /* we're ready to rock */
- LOAD
- /* while there is input ready, copy to output buffer, moving
- * pointers as needed.
- */
- while (n) {
- t = n; /* how many to do */
- /* is there room until end of buffer? */
- if (t > m) t = m;
- /* update check information */
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(s->check, q, t);
- zmemcpy(q, p, t);
- q += t;
- p += t;
- n -= t;
- z->total_out += t;
- s->read = q; /* drag read pointer forward */
-/* WRAP */ /* expand WRAP macro by hand to handle s->read */
- if (q == s->end) {
- s->read = q = s->window;
- m = WAVAIL;
- }
- }
- UPDATE
- return Z_OK;
-}
-
-
-/*
- * At the end of a Deflate-compressed PPP packet, we expect to have seen
- * a `stored' block type value but not the (zero) length bytes.
- */
-local int inflate_packet_flush(s)
- inflate_blocks_statef *s;
-{
- if (s->mode != LENS)
- return Z_DATA_ERROR;
- s->mode = TYPE;
- return Z_OK;
-}
-
-
-/*+++++*/
-/* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-
-local int huft_build OF((
- uIntf *, /* code lengths in bits */
- uInt, /* number of codes */
- uInt, /* number of "simple" codes */
- uIntf *, /* list of base values for non-simple codes */
- uIntf *, /* list of extra bits for non-simple codes */
- inflate_huft * FAR*,/* result: starting table */
- uIntf *, /* maximum lookup bits (returns actual) */
- z_stream *)); /* for zalloc function */
-
-local voidpf falloc OF((
- voidpf, /* opaque pointer (not used) */
- uInt, /* number of items */
- uInt)); /* size of item */
-
-local void ffree OF((
- voidpf q, /* opaque pointer (not used) */
- voidpf p, /* what to free (not used) */
- uInt n)); /* number of bytes (not used) */
-
-/* Tables for deflate from PKZIP's appnote.txt. */
-local uInt cplens[] = { /* Copy lengths for literal codes 257..285 */
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
- 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
- /* actually lengths - 2; also see note #13 above about 258 */
-local uInt cplext[] = { /* Extra bits for literal codes 257..285 */
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
- 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 192, 192}; /* 192==invalid */
-local uInt cpdist[] = { /* Copy offsets for distance codes 0..29 */
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
- 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
- 8193, 12289, 16385, 24577};
-local uInt cpdext[] = { /* Extra bits for distance codes */
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
- 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
- 12, 12, 13, 13};
-
-/*
- Huffman code decoding is performed using a multi-level table lookup.
- The fastest way to decode is to simply build a lookup table whose
- size is determined by the longest code. However, the time it takes
- to build this table can also be a factor if the data being decoded
- is not very long. The most common codes are necessarily the
- shortest codes, so those codes dominate the decoding time, and hence
- the speed. The idea is you can have a shorter table that decodes the
- shorter, more probable codes, and then point to subsidiary tables for
- the longer codes. The time it costs to decode the longer codes is
- then traded against the time it takes to make longer tables.
-
- This results of this trade are in the variables lbits and dbits
- below. lbits is the number of bits the first level table for literal/
- length codes can decode in one step, and dbits is the same thing for
- the distance codes. Subsequent tables are also less than or equal to
- those sizes. These values may be adjusted either when all of the
- codes are shorter than that, in which case the longest code length in
- bits is used, or when the shortest code is *longer* than the requested
- table size, in which case the length of the shortest code in bits is
- used.
-
- There are two different values for the two tables, since they code a
- different number of possibilities each. The literal/length table
- codes 286 possible values, or in a flat code, a little over eight
- bits. The distance table codes 30 possible values, or a little less
- than five bits, flat. The optimum values for speed end up being
- about one bit more than those, so lbits is 8+1 and dbits is 5+1.
- The optimum values may differ though from machine to machine, and
- possibly even between compilers. Your mileage may vary.
- */
-
-
-/* If BMAX needs to be larger than 16, then h and x[] should be uLong. */
-#define BMAX 15 /* maximum bit length of any code */
-#define N_MAX 288 /* maximum number of codes in any set */
-
-#ifdef DEBUG_ZLIB
- uInt inflate_hufts;
-#endif
-
-local int huft_build(b, n, s, d, e, t, m, zs)
-uIntf *b; /* code lengths in bits (all assumed <= BMAX) */
-uInt n; /* number of codes (assumed <= N_MAX) */
-uInt s; /* number of simple-valued codes (0..s-1) */
-uIntf *d; /* list of base values for non-simple codes */
-uIntf *e; /* list of extra bits for non-simple codes */
-inflate_huft * FAR *t; /* result: starting table */
-uIntf *m; /* maximum lookup bits, returns actual */
-z_stream *zs; /* for zalloc function */
-/* Given a list of code lengths and a maximum table size, make a set of
- tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
- if the given code set is incomplete (the tables are still built in this
- case), Z_DATA_ERROR if the input is invalid (all zero length codes or an
- over-subscribed set of lengths), or Z_MEM_ERROR if not enough memory. */
-{
-
- uInt a; /* counter for codes of length k */
- uInt c[BMAX+1]; /* bit length count table */
- uInt f; /* i repeats in table every f entries */
- int g; /* maximum code length */
- int h; /* table level */
- register uInt i; /* counter, current code */
- register uInt j; /* counter */
- register int k; /* number of bits in current code */
- int l; /* bits per table (returned in m) */
- register uIntf *p; /* pointer into c[], b[], or v[] */
- inflate_huft *q; /* points to current table */
- struct inflate_huft_s r; /* table entry for structure assignment */
- inflate_huft *u[BMAX]; /* table stack */
- uInt v[N_MAX]; /* values in order of bit length */
- register int w; /* bits before this table == (l * h) */
- uInt x[BMAX+1]; /* bit offsets, then code stack */
- uIntf *xp; /* pointer into x */
- int y; /* number of dummy codes added */
- uInt z; /* number of entries in current table */
-
-
- /* Generate counts for each bit length */
- p = c;
-#define C0 *p++ = 0;
-#define C2 C0 C0 C0 C0
-#define C4 C2 C2 C2 C2
- C4 /* clear c[]--assume BMAX+1 is 16 */
- p = b; i = n;
- do {
- c[*p++]++; /* assume all entries <= BMAX */
- } while (--i);
- if (c[0] == n) /* null input--all zero length codes */
- {
- *t = (inflate_huft *)Z_NULL;
- *m = 0;
- return Z_OK;
- }
-
-
- /* Find minimum and maximum length, bound *m by those */
- l = *m;
- for (j = 1; j <= BMAX; j++)
- if (c[j])
- break;
- k = j; /* minimum code length */
- if ((uInt)l < j)
- l = j;
- for (i = BMAX; i; i--)
- if (c[i])
- break;
- g = i; /* maximum code length */
- if ((uInt)l > i)
- l = i;
- *m = l;
-
-
- /* Adjust last length count to fill out codes, if needed */
- for (y = 1 << j; j < i; j++, y <<= 1)
- if ((y -= c[j]) < 0)
- return Z_DATA_ERROR;
- if ((y -= c[i]) < 0)
- return Z_DATA_ERROR;
- c[i] += y;
-
-
- /* Generate starting offsets into the value table for each length */
- x[1] = j = 0;
- p = c + 1; xp = x + 2;
- while (--i) { /* note that i == g from above */
- *xp++ = (j += *p++);
- }
-
-
- /* Make a table of values in order of bit lengths */
- p = b; i = 0;
- do {
- if ((j = *p++) != 0)
- v[x[j]++] = i;
- } while (++i < n);
-
-
- /* Generate the Huffman codes and for each, make the table entries */
- x[0] = i = 0; /* first Huffman code is zero */
- p = v; /* grab values in bit order */
- h = -1; /* no tables yet--level -1 */
- w = -l; /* bits decoded == (l * h) */
- u[0] = (inflate_huft *)Z_NULL; /* just to keep compilers happy */
- q = (inflate_huft *)Z_NULL; /* ditto */
- z = 0; /* ditto */
-
- /* go through the bit lengths (k already is bits in shortest code) */
- for (; k <= g; k++)
- {
- a = c[k];
- while (a--)
- {
- /* here i is the Huffman code of length k bits for value *p */
- /* make tables up to required level */
- while (k > w + l)
- {
- h++;
- w += l; /* previous table always l bits */
-
- /* compute minimum size table less than or equal to l bits */
- z = (z = g - w) > (uInt)l ? l : z; /* table size upper limit */
- if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
- { /* too few codes for k-w bit table */
- f -= a + 1; /* deduct codes from patterns left */
- xp = c + k;
- if (j < z)
- while (++j < z) /* try smaller tables up to z bits */
- {
- if ((f <<= 1) <= *++xp)
- break; /* enough codes to use up j bits */
- f -= *xp; /* else deduct codes from patterns */
- }
- }
- z = 1 << j; /* table entries for j-bit table */
-
- /* allocate and link in new table */
- if ((q = (inflate_huft *)ZALLOC
- (zs,z + 1,sizeof(inflate_huft))) == Z_NULL)
- {
- if (h)
- inflate_trees_free(u[0], zs);
- return Z_MEM_ERROR; /* not enough memory */
- }
- q->word.Nalloc = z + 1;
-#ifdef DEBUG_ZLIB
- inflate_hufts += z + 1;
-#endif
- *t = q + 1; /* link to list for huft_free() */
- *(t = &(q->next)) = Z_NULL;
- u[h] = ++q; /* table starts after link */
-
- /* connect to last table, if there is one */
- if (h)
- {
- x[h] = i; /* save pattern for backing up */
- r.bits = (Byte)l; /* bits to dump before this table */
- r.exop = (Byte)j; /* bits in this table */
- r.next = q; /* pointer to this table */
- j = i >> (w - l); /* (get around Turbo C bug) */
- u[h-1][j] = r; /* connect to last table */
- }
- }
-
- /* set up table entry in r */
- r.bits = (Byte)(k - w);
- if (p >= v + n)
- r.exop = 128 + 64; /* out of values--invalid code */
- else if (*p < s)
- {
- r.exop = (Byte)(*p < 256 ? 0 : 32 + 64); /* 256 is end-of-block */
- r.base = *p++; /* simple code is just the value */
- }
- else
- {
- r.exop = (Byte)e[*p - s] + 16 + 64; /* non-simple--look up in lists */
- r.base = d[*p++ - s];
- }
-
- /* fill code-like entries with r */
- f = 1 << (k - w);
- for (j = i >> w; j < z; j += f)
- q[j] = r;
-
- /* backwards increment the k-bit code i */
- for (j = 1 << (k - 1); i & j; j >>= 1)
- i ^= j;
- i ^= j;
-
- /* backup over finished tables */
- while ((i & ((1 << w) - 1)) != x[h])
- {
- h--; /* don't need to update q */
- w -= l;
- }
- }
- }
-
-
- /* Return Z_BUF_ERROR if we were given an incomplete table */
- return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;
-}
-
-
-local int inflate_trees_bits(c, bb, tb, z)
-uIntf *c; /* 19 code lengths */
-uIntf *bb; /* bits tree desired/actual depth */
-inflate_huft * FAR *tb; /* bits tree result */
-z_stream *z; /* for zfree function */
-{
- int r;
-
- r = huft_build(c, 19, 19, (uIntf*)Z_NULL, (uIntf*)Z_NULL, tb, bb, z);
- if (r == Z_DATA_ERROR)
- z->msg = "oversubscribed dynamic bit lengths tree";
- else if (r == Z_BUF_ERROR)
- {
- inflate_trees_free(*tb, z);
- z->msg = "incomplete dynamic bit lengths tree";
- r = Z_DATA_ERROR;
- }
- return r;
-}
-
-
-local int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, z)
-uInt nl; /* number of literal/length codes */
-uInt nd; /* number of distance codes */
-uIntf *c; /* that many (total) code lengths */
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-z_stream *z; /* for zfree function */
-{
- int r;
-
- /* build literal/length tree */
- if ((r = huft_build(c, nl, 257, cplens, cplext, tl, bl, z)) != Z_OK)
- {
- if (r == Z_DATA_ERROR)
- z->msg = "oversubscribed literal/length tree";
- else if (r == Z_BUF_ERROR)
- {
- inflate_trees_free(*tl, z);
- z->msg = "incomplete literal/length tree";
- r = Z_DATA_ERROR;
- }
- return r;
- }
-
- /* build distance tree */
- if ((r = huft_build(c + nl, nd, 0, cpdist, cpdext, td, bd, z)) != Z_OK)
- {
- if (r == Z_DATA_ERROR)
- z->msg = "oversubscribed literal/length tree";
- else if (r == Z_BUF_ERROR) {
-#ifdef PKZIP_BUG_WORKAROUND
- r = Z_OK;
- }
-#else
- inflate_trees_free(*td, z);
- z->msg = "incomplete literal/length tree";
- r = Z_DATA_ERROR;
- }
- inflate_trees_free(*tl, z);
- return r;
-#endif
- }
-
- /* done */
- return Z_OK;
-}
-
-
-/* build fixed tables only once--keep them here */
-local int fixed_lock = 0;
-local int fixed_built = 0;
-#define FIXEDH 530 /* number of hufts used by fixed tables */
-local uInt fixed_left = FIXEDH;
-local inflate_huft fixed_mem[FIXEDH];
-local uInt fixed_bl;
-local uInt fixed_bd;
-local inflate_huft *fixed_tl;
-local inflate_huft *fixed_td;
-
-
-local voidpf falloc(q, n, s)
-voidpf q; /* opaque pointer (not used) */
-uInt n; /* number of items */
-uInt s; /* size of item */
-{
- Assert(s == sizeof(inflate_huft) && n <= fixed_left,
- "inflate_trees falloc overflow");
- if (q) s++; /* to make some compilers happy */
- fixed_left -= n;
- return (voidpf)(fixed_mem + fixed_left);
-}
-
-
-local void ffree(q, p, n)
-voidpf q;
-voidpf p;
-uInt n;
-{
- Assert(0, "inflate_trees ffree called!");
- if (q) q = p; /* to make some compilers happy */
-}
-
-
-local int inflate_trees_fixed(bl, bd, tl, td)
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-{
- /* build fixed tables if not built already--lock out other instances */
- while (++fixed_lock > 1)
- fixed_lock--;
- if (!fixed_built)
- {
- int k; /* temporary variable */
- unsigned c[288]; /* length list for huft_build */
- z_stream z; /* for falloc function */
-
- /* set up fake z_stream for memory routines */
- z.zalloc = falloc;
- z.zfree = ffree;
- z.opaque = Z_NULL;
-
- /* literal table */
- for (k = 0; k < 144; k++)
- c[k] = 8;
- for (; k < 256; k++)
- c[k] = 9;
- for (; k < 280; k++)
- c[k] = 7;
- for (; k < 288; k++)
- c[k] = 8;
- fixed_bl = 7;
- huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl, &z);
-
- /* distance table */
- for (k = 0; k < 30; k++)
- c[k] = 5;
- fixed_bd = 5;
- huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd, &z);
-
- /* done */
- fixed_built = 1;
- }
- fixed_lock--;
- *bl = fixed_bl;
- *bd = fixed_bd;
- *tl = fixed_tl;
- *td = fixed_td;
- return Z_OK;
-}
-
-
-local int inflate_trees_free(t, z)
-inflate_huft *t; /* table to free */
-z_stream *z; /* for zfree function */
-/* Free the malloc'ed tables built by huft_build(), which makes a linked
- list of the tables it made, with the links in a dummy first entry of
- each table. */
-{
- register inflate_huft *p, *q;
-
- /* Go through linked list, freeing from the malloced (t[-1]) address. */
- p = t;
- while (p != Z_NULL)
- {
- q = (--p)->next;
- ZFREE(z, p, p->word.Nalloc * sizeof(inflate_huft));
- p = q;
- }
- return Z_OK;
-}
-
-/*+++++*/
-/* infcodes.c -- process literals and length/distance pairs
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* inflate codes private state */
-struct inflate_codes_state {
-
- /* mode */
- enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- START, /* x: set up for LEN */
- LEN, /* i: get length/literal/eob next */
- LENEXT, /* i: getting length extra (have base) */
- DIST, /* i: get distance next */
- DISTEXT, /* i: getting distance extra */
- COPY, /* o: copying bytes in window, waiting for space */
- LIT, /* o: got literal, waiting for output space */
- WASH, /* o: got eob, possibly still output waiting */
- END, /* x: got eob and all data flushed */
- BADCODE} /* x: got error */
- mode; /* current inflate_codes mode */
-
- /* mode dependent information */
- uInt len;
- union {
- struct {
- inflate_huft *tree; /* pointer into tree */
- uInt need; /* bits needed */
- } code; /* if LEN or DIST, where in tree */
- uInt lit; /* if LIT, literal */
- struct {
- uInt get; /* bits to get for extra */
- uInt dist; /* distance back to copy from */
- } copy; /* if EXT or COPY, where and how much */
- } sub; /* submode */
-
- /* mode independent information */
- Byte lbits; /* ltree bits decoded per branch */
- Byte dbits; /* dtree bits decoder per branch */
- inflate_huft *ltree; /* literal/length/eob tree */
- inflate_huft *dtree; /* distance tree */
-
-};
-
-
-local inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
-uInt bl, bd;
-inflate_huft *tl, *td;
-z_stream *z;
-{
- inflate_codes_statef *c;
-
- if ((c = (inflate_codes_statef *)
- ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
- {
- c->mode = START;
- c->lbits = (Byte)bl;
- c->dbits = (Byte)bd;
- c->ltree = tl;
- c->dtree = td;
- Tracev((stderr, "inflate: codes new\n"));
- }
- return c;
-}
-
-
-local int inflate_codes(s, z, r)
-inflate_blocks_statef *s;
-z_stream *z;
-int r;
-{
- uInt j; /* temporary storage */
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- Bytef *f; /* pointer to copy strings from */
- inflate_codes_statef *c = s->sub.decode.codes; /* codes state */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input and output based on current state */
- while (1) switch (c->mode)
- { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- case START: /* x: set up for LEN */
-#ifndef SLOW
- if (m >= 258 && n >= 10)
- {
- UPDATE
- r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
- LOAD
- if (r != Z_OK)
- {
- c->mode = r == Z_STREAM_END ? WASH : BADCODE;
- break;
- }
- }
-#endif /* !SLOW */
- c->sub.code.need = c->lbits;
- c->sub.code.tree = c->ltree;
- c->mode = LEN;
- case LEN: /* i: get length/literal/eob next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e == 0) /* literal */
- {
- c->sub.lit = t->base;
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: literal '%c'\n" :
- "inflate: literal 0x%02x\n", t->base));
- c->mode = LIT;
- break;
- }
- if (e & 16) /* length */
- {
- c->sub.copy.get = e & 15;
- c->len = t->base;
- c->mode = LENEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t->next;
- break;
- }
- if (e & 32) /* end of block */
- {
- Tracevv((stderr, "inflate: end of block\n"));
- c->mode = WASH;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = "invalid literal/length code";
- r = Z_DATA_ERROR;
- LEAVE
- case LENEXT: /* i: getting length extra (have base) */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->len += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- c->sub.code.need = c->dbits;
- c->sub.code.tree = c->dtree;
- Tracevv((stderr, "inflate: length %u\n", c->len));
- c->mode = DIST;
- case DIST: /* i: get distance next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e & 16) /* distance */
- {
- c->sub.copy.get = e & 15;
- c->sub.copy.dist = t->base;
- c->mode = DISTEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t->next;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = "invalid distance code";
- r = Z_DATA_ERROR;
- LEAVE
- case DISTEXT: /* i: getting distance extra */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->sub.copy.dist += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- Tracevv((stderr, "inflate: distance %u\n", c->sub.copy.dist));
- c->mode = COPY;
- case COPY: /* o: copying bytes in window, waiting for space */
-#ifndef __TURBOC__ /* Turbo C bug for following expression */
- f = (uInt)(q - s->window) < c->sub.copy.dist ?
- s->end - (c->sub.copy.dist - (q - s->window)) :
- q - c->sub.copy.dist;
-#else
- f = q - c->sub.copy.dist;
- if ((uInt)(q - s->window) < c->sub.copy.dist)
- f = s->end - (c->sub.copy.dist - (q - s->window));
-#endif
- while (c->len)
- {
- NEEDOUT
- OUTBYTE(*f++)
- if (f == s->end)
- f = s->window;
- c->len--;
- }
- c->mode = START;
- break;
- case LIT: /* o: got literal, waiting for output space */
- NEEDOUT
- OUTBYTE(c->sub.lit)
- c->mode = START;
- break;
- case WASH: /* o: got eob, possibly more output */
- FLUSH
- if (s->read != s->write)
- LEAVE
- c->mode = END;
- case END:
- r = Z_STREAM_END;
- LEAVE
- case BADCODE: /* x: got error */
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-local void inflate_codes_free(c, z)
-inflate_codes_statef *c;
-z_stream *z;
-{
- ZFREE(z, c, sizeof(struct inflate_codes_state));
- Tracev((stderr, "inflate: codes free\n"));
-}
-
-/*+++++*/
-/* inflate_util.c -- data and routines common to blocks and codes
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* copy as much as possible from the sliding window to the output area */
-local int inflate_flush(s, z, r)
-inflate_blocks_statef *s;
-z_stream *z;
-int r;
-{
- uInt n;
- Bytef *p, *q;
-
- /* local copies of source and destination pointers */
- p = z->next_out;
- q = s->read;
-
- /* compute number of bytes to copy as far as end of window */
- n = (uInt)((q <= s->write ? s->write : s->end) - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy as far as end of window */
- if (p != NULL) {
- zmemcpy(p, q, n);
- p += n;
- }
- q += n;
-
- /* see if more to copy at beginning of window */
- if (q == s->end)
- {
- /* wrap pointers */
- q = s->window;
- if (s->write == s->end)
- s->write = s->window;
-
- /* compute bytes to copy */
- n = (uInt)(s->write - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy */
- if (p != NULL) {
- zmemcpy(p, q, n);
- p += n;
- }
- q += n;
- }
-
- /* update pointers */
- z->next_out = p;
- s->read = q;
-
- /* done */
- return r;
-}
-
-
-/*+++++*/
-/* inffast.c -- process literals and length/distance pairs fast
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* macros for bit input with no checking and for returning unused bytes */
-#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define UNGRAB {n+=(c=k>>3);p-=c;k&=7;}
-
-/* Called with number of bytes left to write in window at least 258
- (the maximum string length) and number of input bytes available
- at least ten. The ten bytes are six bytes for the longest length/
- distance pair plus four bytes for overloading the bit buffer. */
-
-local int inflate_fast(bl, bd, tl, td, s, z)
-uInt bl, bd;
-inflate_huft *tl, *td;
-inflate_blocks_statef *s;
-z_stream *z;
-{
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- uInt ml; /* mask for literal/length tree */
- uInt md; /* mask for distance tree */
- uInt c; /* bytes to copy */
- uInt d; /* distance back to copy from */
- Bytef *r; /* copy source pointer */
-
- /* load input, output, bit values */
- LOAD
-
- /* initialize masks */
- ml = inflate_mask[bl];
- md = inflate_mask[bd];
-
- /* do until not enough input or output space for fast loop */
- do { /* assume called with m >= 258 && n >= 10 */
- /* get literal/length code */
- GRABBITS(20) /* max bits for literal/length code */
- if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- continue;
- }
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits for length */
- e &= 15;
- c = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * length %u\n", c));
-
- /* decode distance base of block to copy */
- GRABBITS(15); /* max bits for distance code */
- e = (t = td + ((uInt)b & md))->exop;
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits to add to distance base */
- e &= 15;
- GRABBITS(e) /* get extra bits (up to 13) */
- d = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * distance %u\n", d));
-
- /* do the copy */
- m -= c;
- if ((uInt)(q - s->window) >= d) /* offset before dest */
- { /* just copy */
- r = q - d;
- *q++ = *r++; c--; /* minimum count is three, */
- *q++ = *r++; c--; /* so unroll loop a little */
- }
- else /* else offset after destination */
- {
- e = d - (q - s->window); /* bytes from offset to end */
- r = s->end - e; /* pointer to offset */
- if (c > e) /* if source crosses, */
- {
- c -= e; /* copy to end of window */
- do {
- *q++ = *r++;
- } while (--e);
- r = s->window; /* copy rest from start of window */
- }
- }
- do { /* copy all or what's left */
- *q++ = *r++;
- } while (--c);
- break;
- }
- else if ((e & 64) == 0)
- e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop;
- else
- {
- z->msg = "invalid distance code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- break;
- }
- if ((e & 64) == 0)
- {
- if ((e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- break;
- }
- }
- else if (e & 32)
- {
- Tracevv((stderr, "inflate: * end of block\n"));
- UNGRAB
- UPDATE
- return Z_STREAM_END;
- }
- else
- {
- z->msg = "invalid literal/length code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- } while (m >= 258 && n >= 10);
-
- /* not enough input or output--restore pointers and return */
- UNGRAB
- UPDATE
- return Z_OK;
-}
-
-
-/*+++++*/
-/* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: zutil.c,v 1.8 1995/05/03 17:27:12 jloup Exp */
-
-char *zlib_version = ZLIB_VERSION;
-
-char *z_errmsg[] = {
-"stream end", /* Z_STREAM_END 1 */
-"", /* Z_OK 0 */
-"file error", /* Z_ERRNO (-1) */
-"stream error", /* Z_STREAM_ERROR (-2) */
-"data error", /* Z_DATA_ERROR (-3) */
-"insufficient memory", /* Z_MEM_ERROR (-4) */
-"buffer error", /* Z_BUF_ERROR (-5) */
-""};
-
-
-/*+++++*/
-/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: adler32.c,v 1.6 1995/05/03 17:27:08 jloup Exp */
-
-#define BASE 65521L /* largest prime smaller than 65536 */
-#define NMAX 5552
-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
-
-#define DO1(buf) {s1 += *buf++; s2 += s1;}
-#define DO2(buf) DO1(buf); DO1(buf);
-#define DO4(buf) DO2(buf); DO2(buf);
-#define DO8(buf) DO4(buf); DO4(buf);
-#define DO16(buf) DO8(buf); DO8(buf);
-
-/* ========================================================================= */
-uLong adler32(adler, buf, len)
- uLong adler;
- Bytef *buf;
- uInt len;
-{
- unsigned long s1 = adler & 0xffff;
- unsigned long s2 = (adler >> 16) & 0xffff;
- int k;
-
- if (buf == Z_NULL) return 1L;
-
- while (len > 0) {
- k = len < NMAX ? len : NMAX;
- len -= k;
- while (k >= 16) {
- DO16(buf);
- k -= 16;
- }
- if (k != 0) do {
- DO1(buf);
- } while (--k);
- s1 %= BASE;
- s2 %= BASE;
- }
- return (s2 << 16) | s1;
-}
diff --git a/mdk-stage1/ppp/pppdump/zlib.h b/mdk-stage1/ppp/pppdump/zlib.h
deleted file mode 100644
index 9c7ac734d..000000000
--- a/mdk-stage1/ppp/pppdump/zlib.h
+++ /dev/null
@@ -1,631 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is derived from zlib.h and zconf.h from the zlib-0.95
- * distribution by Jean-loup Gailly and Mark Adler, with some additions
- * by Paul Mackerras to aid in implementing Deflate compression and
- * decompression for PPP packets.
- */
-
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 0.95, Aug 16th, 1995.
-
- Copyright (C) 1995 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- gzip@prep.ai.mit.edu madler@alumni.caltech.edu
- */
-
-#ifndef _ZLIB_H
-#define _ZLIB_H
-
-/* #include "zconf.h" */ /* included directly here */
-
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: zconf.h,v 1.12 1995/05/03 17:27:12 jloup Exp */
-
-/*
- The library does not install any signal handler. It is recommended to
- add at least a handler for SIGSEGV when decompressing; the library checks
- the consistency of the input data whenever possible but may go nuts
- for some forms of corrupted input.
- */
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- * Compile with -DUNALIGNED_OK if it is OK to access shorts or ints
- * at addresses which are not a multiple of their size.
- * Under DOS, -DFAR=far or -DFAR=__far may be needed.
- */
-
-#ifndef STDC
-# if defined(MSDOS) || defined(__STDC__) || defined(__cplusplus)
-# define STDC
-# endif
-#endif
-
-#ifdef __MWERKS__ /* Metrowerks CodeWarrior declares fileno() in unix.h */
-# include <unix.h>
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-#ifndef FAR
-# define FAR
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2 */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- 1 << (windowBits+2) + 1 << (memLevel+9)
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-typedef unsigned char Byte; /* 8 bits */
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-typedef Byte FAR Bytef;
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-/* end of original zconf.h */
-
-#define ZLIB_VERSION "0.95P"
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms may be added later and will have the same
- stream interface.
-
- For compression the application must provide the output buffer and
- may optionally provide the input buffer for optimization. For decompression,
- the application must provide the input buffer and may optionally provide
- the output buffer for optimization.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address, uInt nbytes));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidp opaque; /* private data object passed to zalloc and zfree */
-
- Byte data_type; /* best guess about the data type: ascii or binary */
-
-} z_stream;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1
-#define Z_FULL_FLUSH 2
-#define Z_SYNC_FLUSH 3 /* experimental: partial_flush + byte align */
-#define Z_FINISH 4
-#define Z_PACKET_FLUSH 5
-/* See deflate() below for the usage of these constants */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-/* error codes for the compression/decompression functions */
-
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_DEFAULT_STRATEGY 0
-
-#define Z_BINARY 0
-#define Z_ASCII 1
-#define Z_UNKNOWN 2
-/* Used to set the data_type field */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-extern char *zlib_version;
-/* The application can compare zlib_version and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- */
-
- /* basic functions */
-
-extern int deflateInit OF((z_stream *strm, int level));
-/*
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 1 and 9:
- 1 gives best speed, 9 gives best compression. Z_DEFAULT_COMPRESSION requests
- a default compromise between speed and compression (currently equivalent
- to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level.
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-extern int deflate OF((z_stream *strm, int flush));
-/*
- Performs one or both of the following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate().
-
- If the parameter flush is set to Z_PARTIAL_FLUSH, the current compression
- block is terminated and flushed to the output buffer so that the
- decompressor can get all input data available so far. For method 9, a future
- variant on method 8, the current block will be flushed but not terminated.
- If flush is set to Z_FULL_FLUSH, the compression block is terminated, a
- special marker is output and the compression dictionary is discarded; this
- is useful to allow the decompressor to synchronize if one compressed block
- has been damaged (see inflateSync below). Flushing degrades compression and
- so should be used only when necessary. Using Z_FULL_FLUSH too often can
- seriously degrade the compression. If deflate returns with avail_out == 0,
- this function must be called again with the same value of the flush
- parameter and more output space (updated avail_out), until the flush is
- complete (deflate returns with non-zero avail_out).
-
- If the parameter flush is set to Z_PACKET_FLUSH, the compression
- block is terminated, and a zero-length stored block is output,
- omitting the length bytes (the effect of this is that the 3-bit type
- code 000 for a stored block is output, and the output is then
- byte-aligned). This is designed for use at the end of a PPP packet.
- In addition, if the current compression block contains all the data
- since the last Z_PACKET_FLUSH, it is never output as a stored block.
- If the current compression block output as a static or dynamic block
- would not be at least `minCompression' bytes smaller than the
- original data, then nothing is output for that block. (The type
- code for the zero-length stored block is still output, resulting in
- a single zero byte being output for the whole packet.)
- `MinCompression' is a parameter to deflateInit2, or 0 if deflateInit
- is used.
-
- If the parameter flush is set to Z_FINISH, all pending input is processed,
- all pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- 0.1% larger than avail_in plus 12 bytes. If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() may update data_type if it can make a good guess about
- the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible.
-*/
-
-
-extern int deflateEnd OF((z_stream *strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent. In the error case, msg may be set
- but then points to a static string (which must not be deallocated).
-*/
-
-
-extern int inflateInit OF((z_stream *strm));
-/*
- Initializes the internal stream state for decompression. The fields
- zalloc and zfree must be initialized before by the caller. If zalloc and
- zfree are set to Z_NULL, inflateInit updates them to use default allocation
- functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory. msg is set to null if there is no error message.
- inflateInit does not perform any decompression: this will be done by
- inflate().
-*/
-
-
-extern int inflate OF((z_stream *strm, int flush));
-/*
- Performs one or both of the following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() always provides as much output as possible
- (until there is no more input data or no more space in the output buffer).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate().
-
- If the parameter flush is set to Z_PARTIAL_FLUSH or Z_PACKET_FLUSH,
- inflate flushes as much output as possible to the output buffer. The
- flushing behavior of inflate is not specified for values of the flush
- parameter other than Z_PARTIAL_FLUSH, Z_PACKET_FLUSH or Z_FINISH, but the
- current implementation actually flushes as much output as possible
- anyway. For Z_PACKET_FLUSH, inflate checks that once all the input data
- has been consumed, it is expecting to see the length field of a stored
- block; if not, it returns Z_DATA_ERROR.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster routine
- may be used for the single inflate() call.
-
- inflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if the end of the
- compressed data has been reached and all uncompressed output has been
- produced, Z_DATA_ERROR if the input data was corrupted, Z_STREAM_ERROR if
- the stream structure was inconsistent (for example if next_in or next_out
- was NULL), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR if no
- progress is possible or if there was not enough room in the output buffer
- when Z_FINISH is used. In the Z_DATA_ERROR case, the application may then
- call inflateSync to look for a good compression block. */
-
-
-extern int inflateEnd OF((z_stream *strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-extern int deflateInit2 OF((z_stream *strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy,
- int minCompression));
-/*
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc and zfree must be initialized before by the caller.
-
- The method parameter is the compression method. It must be 8 in this
- version of the library. (Method 9 will allow a 64K history buffer and
- partial block flushes.)
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library (the value 16 will be allowed for method 9). Larger
- values of this parameter result in better compression at the expense of
- memory usage. The default value is 15 if deflateInit is used instead.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use
- the value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data
- produced by a filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman
- encoding only (no string match). Filtered data consists mostly of small
- values with a somewhat random distribution. In this case, the
- compression algorithm is tuned to compress them better. The strategy
- parameter only affects the compression ratio but not the correctness of
- the compressed output even if it is not set appropriately.
-
- The minCompression parameter specifies the minimum reduction in size
- required for a compressed block to be output when Z_PACKET_FLUSH is
- used (see the description of deflate above).
-
- If next_in is not null, the library will use this buffer to hold also
- some history information; the buffer must either hold the entire input
- data, or have at least 1<<(windowBits+1) bytes and be writable. If next_in
- is null, the library will allocate its own history buffer (and leave next_in
- null). next_out need not be provided here but must be provided by the
- application for the next call of deflate().
-
- If the history buffer is provided by the application, next_in must
- must never be changed by the application since the compressor maintains
- information inside this buffer from call to call; the application
- must provide more input only by increasing avail_in. next_in is always
- reset by the library in this case.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
- not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
- an invalid method). msg is set to null if there is no error message.
- deflateInit2 does not perform any compression: this will be done by
- deflate().
-*/
-
-extern int deflateCopy OF((z_stream *dest,
- z_stream *source));
-/*
- Sets the destination stream as a complete copy of the source stream. If
- the source stream is using an application-supplied history buffer, a new
- buffer is allocated for the destination stream. The compressed output
- buffer is always application-supplied. It's the responsibility of the
- application to provide the correct values of next_out and avail_out for the
- next call of deflate.
-
- This function is useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-extern int deflateReset OF((z_stream *strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-extern int inflateInit2 OF((z_stream *strm,
- int windowBits));
-/*
- This is another version of inflateInit with more compression options. The
- fields next_out, zalloc and zfree must be initialized before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library (the value 16 will be allowed soon). The
- default value is 15 if inflateInit is used instead. If a compressed stream
- with a larger window size is given as input, inflate() will return with
- the error code Z_DATA_ERROR instead of trying to allocate a larger window.
-
- If next_out is not null, the library will use this buffer for the history
- buffer; the buffer must either be large enough to hold the entire output
- data, or have at least 1<<windowBits bytes. If next_out is null, the
- library will allocate its own buffer (and leave next_out null). next_in
- need not be provided here but must be provided by the application for the
- next call of inflate().
-
- If the history buffer is provided by the application, next_out must
- never be changed by the application since the decompressor maintains
- history information inside this buffer from call to call; the application
- can only reset next_out to the beginning of the history buffer when
- avail_out is zero and all output has been consumed.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
- not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
- windowBits < 8). msg is set to null if there is no error message.
- inflateInit2 does not perform any decompression: this will be done by
- inflate().
-*/
-
-extern int inflateSync OF((z_stream *strm));
-/*
- Skips invalid compressed data until the special marker (see deflate()
- above) can be found, or until all available input is skipped. No output
- is provided.
-
- inflateSync returns Z_OK if the special marker has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no marker has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-extern int inflateReset OF((z_stream *strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-extern int inflateIncomp OF((z_stream *strm));
-/*
- This function adds the data at next_in (avail_in bytes) to the output
- history without performing any output. There must be no pending output,
- and the decompressor must be expecting to see the start of a block.
- Calling this function is equivalent to decompressing a stored block
- containing the data at next_in (except that the data is not output).
-*/
-
- /* checksum functions */
-
-/*
- This function is not related to compression but is exported
- anyway because it might be useful in applications using the
- compression library.
-*/
-
-extern uLong adler32 OF((uLong adler, Bytef *buf, uInt len));
-
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-#ifndef _Z_UTIL_H
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-#endif /* _ZLIB_H */
diff --git a/mdk-stage1/ppp/pppstats/Makefile.linux b/mdk-stage1/ppp/pppstats/Makefile.linux
deleted file mode 100644
index ef0764c5d..000000000
--- a/mdk-stage1/ppp/pppstats/Makefile.linux
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# pppstats makefile
-# $Id$
-#
-
-PPPSTATSRCS = pppstats.c
-PPPSTATOBJS = pppstats.o
-
-#CC = gcc
-COPTS = -O
-COMPILE_FLAGS = -D_linux_ -I../include
-LIBS =
-
-INSTALL= install -o root -g daemon
-
-CFLAGS = $(COPTS) $(COMPILE_FLAGS)
-
-all: pppstats
-
-install: pppstats
- $(INSTALL) -s -c pppstats $(BINDIR)/pppstats
- $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)/man8/pppstats.8
-
-pppstats: $(PPPSTATSRCS)
- $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS)
-
-clean:
- rm -f pppstats *~ #* core
-
-depend:
- cpp -M $(CFLAGS) $(PPPSTATSRCS) >.depend
-# makedepend $(CFLAGS) $(PPPSTATSRCS)
diff --git a/mdk-stage1/ppp/pppstats/Makefile.sol2 b/mdk-stage1/ppp/pppstats/Makefile.sol2
deleted file mode 100644
index a6544e61b..000000000
--- a/mdk-stage1/ppp/pppstats/Makefile.sol2
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# pppstats Makefile for SVR4 systems
-# $Id$
-#
-
-include ../solaris/Makedefs
-
-CFLAGS = -DSTREAMS -I../include $(COPTS)
-
-all: pppstats
-
-pppstats: pppstats.c
- $(CC) $(CFLAGS) -o pppstats pppstats.c
-
-install: pppstats
- $(INSTALL) -f $(BINDIR) pppstats
- $(INSTALL) -m 444 -f $(MANDIR)/man8 pppstats.8
-
-clean:
- rm -f pppstats *~ core
diff --git a/mdk-stage1/ppp/pppstats/Makefile.sunos4 b/mdk-stage1/ppp/pppstats/Makefile.sunos4
deleted file mode 100644
index 2a036f28f..000000000
--- a/mdk-stage1/ppp/pppstats/Makefile.sunos4
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# pppstats makefile
-# $Id$
-#
-
-include ../sunos4/Makedefs
-
-PPPSTATSRCS = pppstats.c
-PPPSTATOBJS = pppstats.o
-
-COMPILE_FLAGS = -DSTREAMS -DSUNOS4
-LIBS =
-
-CFLAGS = -I../include $(COPTS) $(COMPILE_FLAGS)
-
-all: pppstats
-
-install: pppstats
- $(INSTALL) -c pppstats $(BINDIR)/pppstats
- $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)/man8/pppstats.8
-
-pppstats: $(PPPSTATSRCS)
- $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS)
-
-clean:
- rm -f pppstats *~ #* core
-
-depend:
- cpp -M $(CFLAGS) $(PPPSTATSRCS) >.depend
-# makedepend $(CFLAGS) $(PPPSTATSRCS)
diff --git a/mdk-stage1/ppp/pppstats/pppstats.8 b/mdk-stage1/ppp/pppstats/pppstats.8
deleted file mode 100644
index 1ba8d5779..000000000
--- a/mdk-stage1/ppp/pppstats/pppstats.8
+++ /dev/null
@@ -1,217 +0,0 @@
-.\" @(#) $Id$
-.TH PPPSTATS 8 "26 June 1995"
-.SH NAME
-pppstats \- print PPP statistics
-.SH SYNOPSIS
-.B pppstats
-[
-.B -a
-] [
-.B -v
-] [
-.B -r
-] [
-.B -z
-] [
-.B -c
-.I <count>
-] [
-.B -w
-.I <secs>
-] [
-.I interface
-]
-.ti 12
-.SH DESCRIPTION
-The
-.B pppstats
-utility reports PPP-related statistics at regular intervals for the
-specified PPP interface. If the interface is unspecified, it will
-default to ppp0.
-The display is split horizontally
-into input and output sections containing columns of statistics
-describing the properties and volume of packets received and
-transmitted by the interface.
-.PP
-The options are as follows:
-.TP
-.B -a
-Display absolute values rather than deltas. With this option, all
-reports show statistics for the time since the link was initiated.
-Without this option, the second and subsequent reports show statistics
-for the time since the last report.
-.TP
-.B -c \fIcount
-Repeat the display
-.I count
-times. If this option is not specified, the default repeat count is 1
-if the
-.B -w
-option is not specified, otherwise infinity.
-.TP
-.B -r
-Display additional statistics summarizing the compression ratio
-achieved by the packet compression algorithm in use.
-.TP
-.B -v
-Display additional statistics relating to the performance of the Van
-Jacobson TCP header compression algorithm.
-.TP
-.B -w \fIwait
-Pause
-.I wait
-seconds between each display. If this option is not specified, the
-default interval is 5 seconds.
-.TP
-.B -z
-Instead of the standard display, show statistics indicating the
-performance of the packet compression algorithm in use.
-.PP
-The following fields are printed on the input side when the
-.B -z
-option is not used:
-.TP
-.B IN
-The total number of bytes received by this interface.
-.TP
-.B PACK
-The total number of packets received by this interface.
-.TP
-.B VJCOMP
-The number of header-compressed TCP packets received by this interface.
-.TP
-.B VJUNC
-The number of header-uncompressed TCP packets received by this
-interface. Not reported when the
-.B -r
-option is specified.
-.TP
-.B VJERR
-The number of corrupted or bogus header-compressed TCP packets
-received by this interface. Not reported when the
-.B -r
-option is specified.
-.TP
-.B VJTOSS
-The number of VJ header-compressed TCP packets dropped on reception by
-this interface because of preceding errors. Only reported when the
-.B -v
-option is specified.
-.TP
-.B NON-VJ
-The total number of non-TCP packets received by this interface. Only
-reported when the
-.B -v
-option is specified.
-.TP
-.B RATIO
-The compression ratio achieved for received packets by the
-packet compression scheme in use, defined as the uncompressed size
-divided by the compressed size.
-Only reported when the
-.B -r
-option is specified.
-.TP
-.B UBYTE
-The total number of bytes received, after decompression of compressed
-packets. Only reported when the
-.B -r
-option is specified.
-.PP
-The following fields are printed on the output side:
-.TP
-.B OUT
-The total number of bytes transmitted from this interface.
-.TP
-.B PACK
-The total number of packets transmitted from this interface.
-.TP
-.B VJCOMP
-The number of TCP packets transmitted from this interface with
-VJ-compressed TCP headers.
-.TP
-.B VJUNC
-The number of TCP packets transmitted from this interface with
-VJ-uncompressed TCP headers.
-Not reported when the
-.B -r
-option is specified.
-.TP
-.B NON-VJ
-The total number of non-TCP packets transmitted from this interface.
-Not reported when the
-.B -r
-option is specified.
-.TP
-.B VJSRCH
-The number of searches for the cached header entry for a VJ header
-compressed TCP packet. Only reported when the
-.B -v
-option is specified.
-.TP
-.B VJMISS
-The number of failed searches for the cached header entry for a
-VJ header compressed TCP packet. Only reported when the
-.B -v
-option is specified.
-.TP
-.B RATIO
-The compression ratio achieved for transmitted packets by the
-packet compression scheme in use, defined as the size
-before compression divided by the compressed size.
-Only reported when the
-.B -r
-option is specified.
-.TP
-.B UBYTE
-The total number of bytes to be transmitted, before packet compression
-is applied. Only reported when the
-.B -r
-option is specified.
-.PP
-When the
-.B -z
-option is specified,
-.Nm pppstats
-instead displays the following fields, relating to the packet
-compression algorithm currently in use. If packet compression is not
-in use, these fields will all display zeroes. The fields displayed on
-the input side are:
-.TP
-.B COMPRESSED BYTE
-The number of bytes of compressed packets received.
-.TP
-.B COMPRESSED PACK
-The number of compressed packets received.
-.TP
-.B INCOMPRESSIBLE BYTE
-The number of bytes of incompressible packets (that is, those which
-were transmitted in uncompressed form) received.
-.TP
-.B INCOMPRESSIBLE PACK
-The number of incompressible packets received.
-.TP
-.B COMP RATIO
-The recent compression ratio for incoming packets, defined as the
-uncompressed size divided by the compressed size (including both
-compressible and incompressible packets).
-.PP
-The fields displayed on the output side are:
-.TP
-.B COMPRESSED BYTE
-The number of bytes of compressed packets transmitted.
-.TP
-.B COMPRESSED PACK
-The number of compressed packets transmitted.
-.TP
-.B INCOMPRESSIBLE BYTE
-The number of bytes of incompressible packets transmitted (that is,
-those which were transmitted in uncompressed form).
-.TP
-.B INCOMPRESSIBLE PACK
-The number of incompressible packets transmitted.
-.TP
-.B COMP RATIO
-The recent compression ratio for outgoing packets.
-.SH SEE ALSO
-pppd(8)
diff --git a/mdk-stage1/ppp/pppstats/pppstats.c b/mdk-stage1/ppp/pppstats/pppstats.c
deleted file mode 100644
index 77b803723..000000000
--- a/mdk-stage1/ppp/pppstats/pppstats.c
+++ /dev/null
@@ -1,557 +0,0 @@
-/*
- * print PPP statistics:
- * pppstats [-a|-d] [-v|-r|-z] [-c count] [-w wait] [interface]
- *
- * -a Show absolute values rather than deltas
- * -d Show data rate (kB/s) rather than bytes
- * -v Show more stats for VJ TCP header compression
- * -r Show compression ratio
- * -z Show compression statistics instead of default display
- *
- * History:
- * perkins@cps.msu.edu: Added compression statistics and alternate
- * display. 11/94
- * Brad Parker (brad@cayman.com) 6/92
- *
- * from the original "slstats" by Van Jacobson
- *
- * Copyright (c) 1989 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef __STDC__
-#define const
-#endif
-
-#ifndef lint
-static const char rcsid[] = "$Id$";
-#endif
-
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-
-#ifndef STREAMS
-#if defined(_linux_) && defined(__powerpc__) \
- && (__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
-/* kludge alert! */
-#undef __GLIBC__
-#endif
-#include <sys/socket.h> /* *BSD, Linux, NeXT, Ultrix etc. */
-#ifndef _linux_
-#include <net/if.h>
-#include <net/ppp_defs.h>
-#include <net/if_ppp.h>
-#else
-/* Linux */
-#if __GLIBC__ >= 2
-#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
-#include <net/if.h>
-#else
-#include <linux/types.h>
-#include <linux/if.h>
-#endif
-#include <linux/ppp_defs.h>
-#include <linux/if_ppp.h>
-#endif /* _linux_ */
-
-#else /* STREAMS */
-#include <sys/stropts.h> /* SVR4, Solaris 2, SunOS 4, OSF/1, etc. */
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-
-#endif /* STREAMS */
-
-int vflag, rflag, zflag; /* select type of display */
-int aflag; /* print absolute values, not deltas */
-int dflag; /* print data rates, not bytes */
-int interval, count;
-int infinite;
-int unit;
-int s; /* socket or /dev/ppp file descriptor */
-int signalled; /* set if alarm goes off "early" */
-char *progname;
-char *interface;
-
-#if defined(SUNOS4) || defined(ULTRIX) || defined(NeXT)
-extern int optind;
-extern char *optarg;
-#endif
-
-/*
- * If PPP_DRV_NAME is not defined, use the legacy "ppp" as the
- * device name.
- */
-#if !defined(PPP_DRV_NAME)
-#define PPP_DRV_NAME "ppp"
-#endif /* !defined(PPP_DRV_NAME) */
-
-static void usage __P((void));
-static void catchalarm __P((int));
-static void get_ppp_stats __P((struct ppp_stats *));
-static void get_ppp_cstats __P((struct ppp_comp_stats *));
-static void intpr __P((void));
-
-int main __P((int, char *argv[]));
-
-static void
-usage()
-{
- fprintf(stderr, "Usage: %s [-a|-d] [-v|-r|-z] [-c count] [-w wait] [interface]\n",
- progname);
- exit(1);
-}
-
-/*
- * Called if an interval expires before intpr has completed a loop.
- * Sets a flag to not wait for the alarm.
- */
-static void
-catchalarm(arg)
- int arg;
-{
- signalled = 1;
-}
-
-
-#ifndef STREAMS
-static void
-get_ppp_stats(curp)
- struct ppp_stats *curp;
-{
- struct ifpppstatsreq req;
-
- memset (&req, 0, sizeof (req));
-
-#ifdef _linux_
- req.stats_ptr = (caddr_t) &req.stats;
-#undef ifr_name
-#define ifr_name ifr__name
-#endif
-
- strncpy(req.ifr_name, interface, sizeof(req.ifr_name));
- if (ioctl(s, SIOCGPPPSTATS, &req) < 0) {
- fprintf(stderr, "%s: ", progname);
- if (errno == ENOTTY)
- fprintf(stderr, "kernel support missing\n");
- else
- perror("couldn't get PPP statistics");
- exit(1);
- }
- *curp = req.stats;
-}
-
-static void
-get_ppp_cstats(csp)
- struct ppp_comp_stats *csp;
-{
- struct ifpppcstatsreq creq;
-
- memset (&creq, 0, sizeof (creq));
-
-#ifdef _linux_
- creq.stats_ptr = (caddr_t) &creq.stats;
-#undef ifr_name
-#define ifr_name ifr__name
-#endif
-
- strncpy(creq.ifr_name, interface, sizeof(creq.ifr_name));
- if (ioctl(s, SIOCGPPPCSTATS, &creq) < 0) {
- fprintf(stderr, "%s: ", progname);
- if (errno == ENOTTY) {
- fprintf(stderr, "no kernel compression support\n");
- if (zflag)
- exit(1);
- rflag = 0;
- } else {
- perror("couldn't get PPP compression stats");
- exit(1);
- }
- }
-
-#ifdef _linux_
- if (creq.stats.c.bytes_out == 0) {
- creq.stats.c.bytes_out = creq.stats.c.comp_bytes + creq.stats.c.inc_bytes;
- creq.stats.c.in_count = creq.stats.c.unc_bytes;
- }
- if (creq.stats.c.bytes_out == 0)
- creq.stats.c.ratio = 0.0;
- else
- creq.stats.c.ratio = 256.0 * creq.stats.c.in_count /
- creq.stats.c.bytes_out;
-
- if (creq.stats.d.bytes_out == 0) {
- creq.stats.d.bytes_out = creq.stats.d.comp_bytes + creq.stats.d.inc_bytes;
- creq.stats.d.in_count = creq.stats.d.unc_bytes;
- }
- if (creq.stats.d.bytes_out == 0)
- creq.stats.d.ratio = 0.0;
- else
- creq.stats.d.ratio = 256.0 * creq.stats.d.in_count /
- creq.stats.d.bytes_out;
-#endif
-
- *csp = creq.stats;
-}
-
-#else /* STREAMS */
-
-int
-strioctl(fd, cmd, ptr, ilen, olen)
- int fd, cmd, ilen, olen;
- char *ptr;
-{
- struct strioctl str;
-
- str.ic_cmd = cmd;
- str.ic_timout = 0;
- str.ic_len = ilen;
- str.ic_dp = ptr;
- if (ioctl(fd, I_STR, &str) == -1)
- return -1;
- if (str.ic_len != olen)
- fprintf(stderr, "strioctl: expected %d bytes, got %d for cmd %x\n",
- olen, str.ic_len, cmd);
- return 0;
-}
-
-static void
-get_ppp_stats(curp)
- struct ppp_stats *curp;
-{
- if (strioctl(s, PPPIO_GETSTAT, curp, 0, sizeof(*curp)) < 0) {
- fprintf(stderr, "%s: ", progname);
- if (errno == EINVAL)
- fprintf(stderr, "kernel support missing\n");
- else
- perror("couldn't get PPP statistics");
- exit(1);
- }
-}
-
-static void
-get_ppp_cstats(csp)
- struct ppp_comp_stats *csp;
-{
- if (strioctl(s, PPPIO_GETCSTAT, csp, 0, sizeof(*csp)) < 0) {
- fprintf(stderr, "%s: ", progname);
- if (errno == ENOTTY) {
- fprintf(stderr, "no kernel compression support\n");
- if (zflag)
- exit(1);
- rflag = 0;
- } else {
- perror("couldn't get PPP compression statistics");
- exit(1);
- }
- }
-}
-
-#endif /* STREAMS */
-
-#define MAX0(a) ((int)(a) > 0? (a): 0)
-#define V(offset) MAX0(cur.offset - old.offset)
-#define W(offset) MAX0(ccs.offset - ocs.offset)
-
-#define RATIO(c, i, u) ((c) == 0? 1.0: (u) / ((double)(c) + (i)))
-#define CRATE(x) RATIO(W(x.comp_bytes), W(x.inc_bytes), W(x.unc_bytes))
-
-#define KBPS(n) ((n) / (interval * 1000.0))
-
-/*
- * Print a running summary of interface statistics.
- * Repeat display every interval seconds, showing statistics
- * collected over that interval. Assumes that interval is non-zero.
- * First line printed is cumulative.
- */
-static void
-intpr()
-{
- register int line = 0;
- sigset_t oldmask, mask;
- char *bunit;
- int ratef = 0;
- struct ppp_stats cur, old;
- struct ppp_comp_stats ccs, ocs;
-
- memset(&old, 0, sizeof(old));
- memset(&ocs, 0, sizeof(ocs));
-
- while (1) {
- get_ppp_stats(&cur);
- if (zflag || rflag)
- get_ppp_cstats(&ccs);
-
- (void)signal(SIGALRM, catchalarm);
- signalled = 0;
- (void)alarm(interval);
-
- if ((line % 20) == 0) {
- if (zflag) {
- printf("IN: COMPRESSED INCOMPRESSIBLE COMP | ");
- printf("OUT: COMPRESSED INCOMPRESSIBLE COMP\n");
- bunit = dflag? "KB/S": "BYTE";
- printf(" %s PACK %s PACK RATIO | ", bunit, bunit);
- printf(" %s PACK %s PACK RATIO", bunit, bunit);
- } else {
- printf("%8.8s %6.6s %6.6s",
- "IN", "PACK", "VJCOMP");
-
- if (!rflag)
- printf(" %6.6s %6.6s", "VJUNC", "VJERR");
- if (vflag)
- printf(" %6.6s %6.6s", "VJTOSS", "NON-VJ");
- if (rflag)
- printf(" %6.6s %6.6s", "RATIO", "UBYTE");
- printf(" | %8.8s %6.6s %6.6s",
- "OUT", "PACK", "VJCOMP");
-
- if (!rflag)
- printf(" %6.6s %6.6s", "VJUNC", "NON-VJ");
- if (vflag)
- printf(" %6.6s %6.6s", "VJSRCH", "VJMISS");
- if (rflag)
- printf(" %6.6s %6.6s", "RATIO", "UBYTE");
- }
- putchar('\n');
- }
-
- if (zflag) {
- if (ratef) {
- printf("%8.3f %6u %8.3f %6u %6.2f",
- KBPS(W(d.comp_bytes)),
- W(d.comp_packets),
- KBPS(W(d.inc_bytes)),
- W(d.inc_packets),
- ccs.d.ratio / 256.0);
- printf(" | %8.3f %6u %8.3f %6u %6.2f",
- KBPS(W(c.comp_bytes)),
- W(c.comp_packets),
- KBPS(W(c.inc_bytes)),
- W(c.inc_packets),
- ccs.c.ratio / 256.0);
- } else {
- printf("%8u %6u %8u %6u %6.2f",
- W(d.comp_bytes),
- W(d.comp_packets),
- W(d.inc_bytes),
- W(d.inc_packets),
- ccs.d.ratio / 256.0);
- printf(" | %8u %6u %8u %6u %6.2f",
- W(c.comp_bytes),
- W(c.comp_packets),
- W(c.inc_bytes),
- W(c.inc_packets),
- ccs.c.ratio / 256.0);
- }
-
- } else {
- if (ratef)
- printf("%8.3f", KBPS(V(p.ppp_ibytes)));
- else
- printf("%8u", V(p.ppp_ibytes));
- printf(" %6u %6u",
- V(p.ppp_ipackets),
- V(vj.vjs_compressedin));
- if (!rflag)
- printf(" %6u %6u",
- V(vj.vjs_uncompressedin),
- V(vj.vjs_errorin));
- if (vflag)
- printf(" %6u %6u",
- V(vj.vjs_tossed),
- V(p.ppp_ipackets) - V(vj.vjs_compressedin)
- - V(vj.vjs_uncompressedin) - V(vj.vjs_errorin));
- if (rflag) {
- printf(" %6.2f ", CRATE(d));
- if (ratef)
- printf("%6.2f", KBPS(W(d.unc_bytes)));
- else
- printf("%6u", W(d.unc_bytes));
- }
- if (ratef)
- printf(" | %8.3f", KBPS(V(p.ppp_obytes)));
- else
- printf(" | %8u", V(p.ppp_obytes));
- printf(" %6u %6u",
- V(p.ppp_opackets),
- V(vj.vjs_compressed));
- if (!rflag)
- printf(" %6u %6u",
- V(vj.vjs_packets) - V(vj.vjs_compressed),
- V(p.ppp_opackets) - V(vj.vjs_packets));
- if (vflag)
- printf(" %6u %6u",
- V(vj.vjs_searches),
- V(vj.vjs_misses));
- if (rflag) {
- printf(" %6.2f ", CRATE(c));
- if (ratef)
- printf("%6.2f", KBPS(W(c.unc_bytes)));
- else
- printf("%6u", W(c.unc_bytes));
- }
-
- }
-
- putchar('\n');
- fflush(stdout);
- line++;
-
- count--;
- if (!infinite && !count)
- break;
-
- sigemptyset(&mask);
- sigaddset(&mask, SIGALRM);
- sigprocmask(SIG_BLOCK, &mask, &oldmask);
- if (!signalled) {
- sigemptyset(&mask);
- sigsuspend(&mask);
- }
- sigprocmask(SIG_SETMASK, &oldmask, NULL);
- signalled = 0;
- (void)alarm(interval);
-
- if (!aflag) {
- old = cur;
- ocs = ccs;
- ratef = dflag;
- }
- }
-}
-
-int
-main(argc, argv)
- int argc;
- char *argv[];
-{
- int c;
-#ifdef STREAMS
- char *dev;
-#endif
-
- interface = PPP_DRV_NAME "0";
- if ((progname = strrchr(argv[0], '/')) == NULL)
- progname = argv[0];
- else
- ++progname;
-
- while ((c = getopt(argc, argv, "advrzc:w:")) != -1) {
- switch (c) {
- case 'a':
- ++aflag;
- break;
- case 'd':
- ++dflag;
- break;
- case 'v':
- ++vflag;
- break;
- case 'r':
- ++rflag;
- break;
- case 'z':
- ++zflag;
- break;
- case 'c':
- count = atoi(optarg);
- if (count <= 0)
- usage();
- break;
- case 'w':
- interval = atoi(optarg);
- if (interval <= 0)
- usage();
- break;
- default:
- usage();
- }
- }
- argc -= optind;
- argv += optind;
-
- if (!interval && count)
- interval = 5;
- if (interval && !count)
- infinite = 1;
- if (!interval && !count)
- count = 1;
- if (aflag)
- dflag = 0;
-
- if (argc > 1)
- usage();
- if (argc > 0)
- interface = argv[0];
-
- if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) {
- fprintf(stderr, "%s: invalid interface '%s' specified\n",
- progname, interface);
- }
-
-#ifndef STREAMS
- {
- struct ifreq ifr;
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0) {
- fprintf(stderr, "%s: ", progname);
- perror("couldn't create IP socket");
- exit(1);
- }
-
-#ifdef _linux_
-#undef ifr_name
-#define ifr_name ifr_ifrn.ifrn_name
-#endif
- strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name));
- if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&ifr) < 0) {
- fprintf(stderr, "%s: nonexistent interface '%s' specified\n",
- progname, interface);
- exit(1);
- }
- }
-
-#else /* STREAMS */
-#ifdef __osf__
- dev = "/dev/streams/ppp";
-#else
- dev = "/dev/" PPP_DRV_NAME;
-#endif
- if ((s = open(dev, O_RDONLY)) < 0) {
- fprintf(stderr, "%s: couldn't open ", progname);
- perror(dev);
- exit(1);
- }
- if (strioctl(s, PPPIO_ATTACH, &unit, sizeof(int), 0) < 0) {
- fprintf(stderr, "%s: ppp%d is not available\n", progname, unit);
- exit(1);
- }
-
-#endif /* STREAMS */
-
- intpr();
- exit(0);
-}
diff --git a/mdk-stage1/ppp/sample/auth-down b/mdk-stage1/ppp/sample/auth-down
deleted file mode 100644
index edde65db1..000000000
--- a/mdk-stage1/ppp/sample/auth-down
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# A program or script which is executed after the remote system
-# successfully authenticates itself. It is executed with the parameters
-# <interface-name> <peer-name> <user-name> <tty-device> <speed>
-#
-
-#
-# The environment is cleared before executing this script
-# so the path must be reset
-#
-PATH=/usr/sbin:/sbin:/usr/bin:/bin
-export PATH
-
-echo auth-down `date +'%y/%m/%d %T'` $* >> /var/log/pppstats
-
-# last line
diff --git a/mdk-stage1/ppp/sample/auth-up b/mdk-stage1/ppp/sample/auth-up
deleted file mode 100644
index 54722a3c0..000000000
--- a/mdk-stage1/ppp/sample/auth-up
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# A program or script which is executed after the remote system
-# successfully authenticates itself. It is executed with the parameters
-# <interface-name> <peer-name> <user-name> <tty-device> <speed>
-#
-
-#
-# The environment is cleared before executing this script
-# so the path must be reset
-#
-PATH=/usr/sbin:/sbin:/usr/bin:/bin
-export PATH
-
-echo auth-up `date +'%y/%m/%d %T'` $* >> /var/log/pppstats
-
-# last line
diff --git a/mdk-stage1/ppp/sample/ip-down b/mdk-stage1/ppp/sample/ip-down
deleted file mode 100644
index b771fb644..000000000
--- a/mdk-stage1/ppp/sample/ip-down
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-#
-# This script is run by the pppd _after_ the link is brought down.
-# It should be used to delete routes, unset IP addresses etc.
-#
-# This script is called with the following arguments:
-# Arg Name Example
-# $1 Interface name ppp0
-# $2 The tty ttyS1
-# $3 The link speed 38400
-# $4 Local IP number 12.34.56.78
-# $5 Peer IP number 12.34.56.99
-#
-
-#
-# The environment is cleared before executing this script
-# so the path must be reset
-#
-PATH=/usr/sbin:/sbin:/usr/bin:/bin
-export PATH
-
-# last line
diff --git a/mdk-stage1/ppp/sample/ip-up b/mdk-stage1/ppp/sample/ip-up
deleted file mode 100644
index 02bb71c44..000000000
--- a/mdk-stage1/ppp/sample/ip-up
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-#
-# This script is run by the pppd after the link is established.
-# It should be used to add routes, set IP address, run the mailq
-# etc.
-#
-# This script is called with the following arguments:
-# Arg Name Example
-# $1 Interface name ppp0
-# $2 The tty ttyS1
-# $3 The link speed 38400
-# $4 Local IP number 12.34.56.78
-# $5 Peer IP number 12.34.56.99
-#
-
-#
-# The environment is cleared before executing this script
-# so the path must be reset
-#
-PATH=/usr/sbin:/sbin:/usr/bin:/bin
-export PATH
-
-# last line
diff --git a/mdk-stage1/ppp/sample/options b/mdk-stage1/ppp/sample/options
deleted file mode 100644
index 8d0a3f963..000000000
--- a/mdk-stage1/ppp/sample/options
+++ /dev/null
@@ -1,153 +0,0 @@
-# /etc/ppp/options
-
-# The name of this server. Often, the FQDN is used here.
-#name <host>
-
-# Enforce the use of the hostname as the name of the local system for
-# authentication purposes (overrides the name option).
-usehostname
-
-# If no local IP address is given, pppd will use the first IP address
-# that belongs to the local hostname. If "noipdefault" is given, this
-# is disabled and the peer will have to supply an IP address.
-noipdefault
-
-# With this option, pppd will accept the peer's idea of our local IP
-# address, even if the local IP address was specified in an option.
-#ipcp-accept-local
-
-# With this option, pppd will accept the peer's idea of its (remote) IP
-# address, even if the remote IP address was specified in an option.
-#ipcp-accept-remote
-
-# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
-# Two Servers can be remotely configured
-#ms-dns 192.168.1.1
-#ms-dns 192.168.1.2
-
-# Specify which WINS Servers the incoming connection Win95 or WinNT should use
-#wins-addr 192.168.1.50
-#wins-addr 192.168.1.51
-
-# enable this on a server that already has a permanent default route
-#nodefaultroute
-
-# Run the executable or shell command specified after pppd has terminated
-# the link. This script could, for example, issue commands to the modem
-# to cause it to hang up if hardware modem control signals were not
-# available.
-# If mgetty is running, it will reset the modem anyway. So there is no need
-# to do it here.
-#disconnect "chat -- \d+++\d\c OK ath0 OK"
-
-# Increase debugging level (same as -d). The debug output is written
-# to syslog LOG_LOCAL2.
-debug
-
-# Enable debugging code in the kernel-level PPP driver. The argument n
-# is a number which is the sum of the following values: 1 to enable
-# general debug messages, 2 to request that the contents of received
-# packets be printed, and 4 to request that the contents of transmitted
-# packets be printed.
-#kdebug n
-
-# Require the peer to authenticate itself before allowing network
-# packets to be sent or received.
-# Please do not disable this setting. It is expected to be standard in
-# future releases of pppd. Use the call option (see manpage) to disable
-# authentication for specific peers.
-#auth
-
-# authentication can either be pap or chap. As most people only want to
-# use pap, you can also disable chap:
-#require-pap
-#refuse-chap
-
-# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
-# on the serial port.
-crtscts
-
-# Specifies that pppd should use a UUCP-style lock on the serial device
-# to ensure exclusive access to the device.
-lock
-
-# Use the modem control lines.
-modem
-
-# async character map -- 32-bit hex; each bit is a character
-# that needs to be escaped for pppd to receive it. 0x00000001
-# represents '\x01', and 0x80000000 represents '\x1f'.
-# To allow pppd to work over a rlogin/telnet connection, ou should escape
-# XON (^Q), XOFF (^S) and ^]: (The peer should use "escape ff".)
-#asyncmap 200a0000
-asyncmap 0
-
-# Specifies that certain characters should be escaped on transmission
-# (regardless of whether the peer requests them to be escaped with its
-# async control character map). The characters to be escaped are
-# specified as a list of hex numbers separated by commas. Note that
-# almost any character can be specified for the escape option, unlike
-# the asyncmap option which only allows control characters to be
-# specified. The characters which may not be escaped are those with hex
-# values 0x20 - 0x3f or 0x5e.
-#escape 11,13,ff
-
-# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd
-# will ask the peer to send packets of no more than <n> bytes. The
-# minimum MRU value is 128. The default MRU value is 1500. A value of
-# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
-# bytes of data).
-#mru 542
-
-# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
-# requests a smaller value via MRU negotiation, pppd will request that
-# the kernel networking code send data packets of no more than n bytes
-# through the PPP network interface.
-#mtu <n>
-
-# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
-# notation (e.g. 255.255.255.0).
-#netmask 255.255.255.0
-
-# Don't fork to become a background process (otherwise pppd will do so
-# if a serial device is specified).
-nodetach
-
-# Set the assumed name of the remote system for authentication purposes
-# to <n>.
-#remotename <n>
-
-# Add an entry to this system's ARP [Address Resolution Protocol]
-# table with the IP address of the peer and the Ethernet address of this
-# system. {proxyarp,noproxyarp}
-proxyarp
-
-# Use the system password database for authenticating the peer using
-# PAP. Note: mgetty already provides this option. If this is specified
-# then dialin from users using a script under Linux to fire up ppp wont work.
-#login
-
-# If this option is given, pppd will send an LCP echo-request frame to
-# the peer every n seconds. Under Linux, the echo-request is sent when
-# no packets have been received from the peer for n seconds. Normally
-# the peer should respond to the echo-request by sending an echo-reply.
-# This option can be used with the lcp-echo-failure option to detect
-# that the peer is no longer connected.
-lcp-echo-interval 30
-
-# If this option is given, pppd will presume the peer to be dead if n
-# LCP echo-requests are sent without receiving a valid LCP echo-reply.
-# If this happens, pppd will terminate the connection. Use of this
-# option requires a non-zero value for the lcp-echo-interval parameter.
-# This option can be used to enable pppd to terminate after the physical
-# connection has been broken (e.g., the modem has hung up) in
-# situations where no hardware modem control lines are available.
-lcp-echo-failure 4
-
-# Specifies that pppd should disconnect if the link is idle for n seconds.
-idle 600
-
-# Disable the IPXCP and IPX protocols.
-noipx
-
-# ---<End of File>---
diff --git a/mdk-stage1/ppp/sample/options.ttyXX b/mdk-stage1/ppp/sample/options.ttyXX
deleted file mode 100644
index d4202f534..000000000
--- a/mdk-stage1/ppp/sample/options.ttyXX
+++ /dev/null
@@ -1,14 +0,0 @@
-# If you need to set up multiple serial lines then copy this file to
-# options.<ttyname> for each tty with a modem on it.
-#
-# The options.tty file will assign an IP address to each PPP connection
-# as it comes up. They must all be distinct!
-#
-# Example:
-# options.ttyS1 for com2 under DOS.
-#
-# Edit the following line so that the first IP address
-# mentioned is the ip address of the serial port while the second
-# is the IP address of your host
-#
-hostname-s1:hostname
diff --git a/mdk-stage1/ppp/sample/pap-secrets b/mdk-stage1/ppp/sample/pap-secrets
deleted file mode 100644
index 098971b9f..000000000
--- a/mdk-stage1/ppp/sample/pap-secrets
+++ /dev/null
@@ -1,28 +0,0 @@
-# Secrets for authentication using PAP
-# client server secret IP addresses
-
-# OUTBOUND CONNECTIONS
-# Here you should add your userid password to connect to your providers via
-# pap. The * means that the password is to be used for ANY host you connect
-# to. Thus you do not have to worry about the foreign machine name. Just
-# replace password with your password.
-# If you have different providers with different passwords then you better
-# remove the following line.
-#hostname * password
-
-# INBOUND CONNECTIONS
-#client hostname <password> 192.168.1.1
-
-# If you add "auth login -chap +pap" to /etc/mgetty+sendfax/login.config,
-# all users in /etc/passwd can use their password for pap-authentication.
-#
-# Every regular user can use PPP and has to use passwords from /etc/passwd
-#* hostname ""
-# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
-# other accounts that should not be able to use pppd! Replace hostname
-# with your local hostname.
-#guest hostname "*" -
-#master hostname "*" -
-#root hostname "*" -
-#support hostname "*" -
-#stats hostname "*" -
diff --git a/mdk-stage1/ppp/scripts/README b/mdk-stage1/ppp/scripts/README
deleted file mode 100644
index 00e032ca6..000000000
--- a/mdk-stage1/ppp/scripts/README
+++ /dev/null
@@ -1,143 +0,0 @@
-This directory contains a set of scripts which have been used on Linux
-as well as Solaris 2.x systems to initiate or maintain a connection
-with PPP. The files in this directory were contributed by Al Longyear
-(longyear@netcom.com) and Adi Masputra (adi.masputra@sun.com)
-
-------------------------------------------------------------------------
-
-1. README
-
-This file. You are reading it. It is just documentation.
-
-------------------------------------------------------------------------
-
-2. ppp-on
-
-This script will initiate a connection to the PPP system. It will run
-the chat program with the connection script as a parameter. This is a
-possible security hole. However, it is simple. It is meant to replace
-the previous version of ppp-on which was not very functional.
-
-The ppp-on script has entries for the account name, password, IP
-addresses, and telephone numbers. The parameters are passed to the
-pppd process and, then in turn, to the second part of the connect
-script, as a set of environment variables.
-
-Please make sure that you put the full path name to the ppp-on-dialer
-script in the reference to it in ppp-on.
-
-------------------------------------------------------------------------
-
-3. ppp-on-dialer
-
-This is the second part to the simple calling script, ppp-on. It
-executes the chat program to connect the user with a standard UNIX
-style getty/login connection sequence.
-
-------------------------------------------------------------------------
-
-4. callback
-
-This script may be used in lieu of the ppp-on-dialer to permit the
-common modem callback sequence. You may need to make changes to the
-expected prompt string for the modem.
-
-The script works by disabling the system's detection of the DCD
-condition and working on the modem status message "NO CARRIER" which
-is generated when the modem disconnects.
-
-It is crude. It does work for my modem connection. Use as you see fit.
-
-------------------------------------------------------------------------
-
-5. redialer
-
-The redialer script is a replacement for the ppp-on-dialer script. It
-will do 'attack dialing' or 'demon dialing' of one or more telephone
-numbers. The first number which responds will be used for a
-connection.
-
-There is a limit of ten attempts and a 15 second delay between dialing
-attempts. Both values are set in the script.
-
-------------------------------------------------------------------------
-
-6. ppp-off
-
-This is a script which will terminate the active ppp connection. Use
-as either "ppp-off" to terminate ppp0, or "ppp-off <device>" to
-terminate the connection on <device>. For example, "ppp-off ppp2" will
-terminate the ppp2 connection.
-
-------------------------------------------------------------------------
-
-7. secure-card
-
-This script was written by Jim Isaacson <jcisaac@crl.com>. It is a script
-for the 'expect' programming language used with Tcl. You need to have
-expect and Tcl installed before this script may be used.
-
-This script will operate with a device marketed under the name "SecureCARD".
-This little device is mated with its controller. On the credit card size
-device, there is a sequence number which changes on a random basis. In order
-for you to connect you need to enter a fixed portion of your account name
-and the number which is displayed on this card device. The number must match
-the value at the controller in order for the account name to be used.
-
-The problem is that chat uses fixed response strings. In addition, the
-timing for running the script may prevent the use of a script that reads the
-value before it starts the dial sequence. What was needed was a script which
-asked the user at the user's console at the time that it is needed.
-
-This led to the use of expect.
-
-------------------------------------------------------------------------
-
-8. ppp-on-rsh
-
-This script will initiate a PPP connection to a remote machine using rsh.
-This is implemented by creating a master/slave pseudo-tty with the slave
-pointing to rsh, specifically with the 'pty' and 'notty' options of pppd.
-It is assumed that the remote machine contains some sort of trust
-mechanisms (such as ~/.rhosts, et al) to allow the local machine to
-connect via rsh as root.
-
-------------------------------------------------------------------------
-
-9. ppp-on-ssh
-
-This script will initiate a PPP connection to a remote machine using the
-secure shell, or ssh. I've only tested this on ssh 1.x, so those of you
-who are running ssh 2.x mahy need to modify the ssh options slightly.
-This is implemented by creating a master/slave pseudo-ttyt with the slave
-pointing to ssh, specifically with the 'pty' and 'notty' options of pppd.
-It is assumed that the remote machine can accept the ssh connection from
-the local host, in the sense that all ssh authentication mechanisms have
-been properly configured, so that a remote root user can open a ssh
-connection.
-
-------------------------------------------------------------------------
-
-10. options-rsh-loc & options-rsh-rem
-
-These options files accompany the ppp-on-rsh script mentioned above. In
-theory, you'd want to copy the options-rsh-rem to the remote machine where
-in.rshd is running. The only extra option required on the remote machine
-options file is the 'notty' option. In addition, all ASCII control characters
-[0x00 to 0x1f], plus 0xff, are escaped. This may need to be modified
-depending on the rsh (or pseudo-tty) implementation which may differ across
-platforms, for further optimizations.
-
-------------------------------------------------------------------------
-
-11. options-ssh-loc & options-ssh-rem
-
-These options files accompany the ppp-on-ssh script mentioned above. I've
-only tested this on ssh 1.x, so those of you who are running ssh 2.x need
-to modify the ssh options slightly. In theory, you'd want to copy the
-options-ssh-rem to the remote machine where sshd daemon is running. The only
-extra options required on the remote machine options file is the 'notty'
-option. In addition, all ASCII control characters [0x00 to 0x1f], plus 0xff,
-are escaped. This may need to be modified depending on the ssh (or
-pseudo-tty) implementation which may differ across platforms, for further
-optimizations.
diff --git a/mdk-stage1/ppp/scripts/callback b/mdk-stage1/ppp/scripts/callback
deleted file mode 100755
index 3e74e10b2..000000000
--- a/mdk-stage1/ppp/scripts/callback
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-###################################################################
-#
-# Script to dial the remote system, negotiate the connection, and send
-# it the id. Then wait for the modem to disconnect. Reset the modem
-# to answer mode and wait for the system to call back.
-#
-# The telephone number and modempass are used when establishing the
-# connection to the modem.
-#
-PHONE=555-1212
-MODEMPASS=modem_identifier
-#
-# Once the modem calls back, the account name and password are used for
-# a UNIX style login operation.
-#
-ACCOUNT=my_account_name
-PASSWORD=my_password
-
-###################################################################
-#
-# Step 1. Dial the modem and negotiate the initial dialog.
-# note: the modem is configured to ignore loss of DCD at this point.
-# it is important that this be performed because the loss of DCD
-# will normally prevent system from working since 'modem' is used
-# for pppd.
-#
-# The script is terminated normally when the carrier is lost.
-#
-chat -v \
- TIMEOUT 3 \
- ABORT '\nBUSY\r' \
- ABORT '\nNO ANSWER\r' \
- ABORT '\nRINGING\r\n\r\nRINGING\r' \
- '' AT \
- 'OK-+++\c-OK' 'AT&C0&D2S0=0H0 \
- TIMEOUT 30 \
- OK ATDT$TELEPHONE \
- CONNECT '' \
- assword: $MODEMPASS \
- "\nNO CARRIER\r"
-
-if [ "$?" = "0" ]; then
-
-###################################################################
-#
-# Step 2. Wait for the call back from the remote. This will wait for at most
-# 30 seconds for the call back should the first attempt fail or
-# something happen with the callback logic at the remote.
-#
-# note: when the callback occurs, the DCD setting is re-enabled.
-#
-# If some voice call should happen during this period, the system will
-# answer the telephone and then hang up on them. I realize that this is
-# rude, but there is little that this script can do.
-#
- chat -v \
- TIMEOUT 30 \
- ABORT '\nVOICE\r' \
- '\nRING\r' 'AT&C1A' \
- CONNECT '' \
- TIMEOUT 10 \
- ogin:--ogin: $ACCOUNT \
- TIMEOUT 45 \
- assword: $PASSWORD
-
- if [ "$?" = "0" ]; then
- exit 0
- fi
-fi
-
-###################################################################
-#
-# The script has failed. Terminate the connection mode.
-#
-chat -v TIMEOUT 3 "" AT 'OK-+++\c-OK' 'AT&C1&D2S0=0H0' OK
-exit 1
diff --git a/mdk-stage1/ppp/scripts/chat-callback b/mdk-stage1/ppp/scripts/chat-callback
deleted file mode 100644
index d014d6af3..000000000
--- a/mdk-stage1/ppp/scripts/chat-callback
+++ /dev/null
@@ -1,98 +0,0 @@
-# =====================================================================================
-# Chat script to dial our Company PPP account.
-# They uses a call-back system to identify us and to reverse
-# charge the call cost.
-# =====================================================================================
-#
-ECHO OFF
-# All the usual abort strings
-ABORT "NO CARRIER"
-ABORT "VOICE"
-ABORT "BUSY"
-ABORT "NO DIALTONE"
-ABORT "NO ANSWER"
-#
-# If calling outside allowed time we get this:
-#
-ABORT "Access denied"
-#
-# Modem initialisation stuff
-#
-TIMEOUT 5
-SAY "Initialising modem ...\n"
-'' ATE1
-'OK\r\n' ATS0=1S11=60X4&K4S42.1=1
-#
-# Now dial our ISP and wait for connection
-#
-SAY "Dialling our ISP ...\n"
-'OK\r\n' ATDT09834657
-TIMEOUT 60
-CONNECT \c
-SAY "Connected ...\n"
-#
-# This is the first stage login, we identify ourself so that the remote
-# system will agree to call us back.
-#
-TIMEOUT 30
-SAY "Sending Callback login ID ...\n"
-name:-BREAK-name: callme
-#
-# From now on, we must assume no carrier is normal as well
-# as receiving a HANGUP signal because it will be the
-# case if our ISP clears the call to call us back.
-#
-CLR_ABORT "NO CARRIER"
-HANGUP OFF
-#
-ABORT "Invalid"
-#
-# Now send password and wait to see what happens
-#
-SAY "Sending Callback password ...\n"
-word:--word: xvsgsgs
-"You will be" \c
-#
-# What can happen now is:
-# either: we get "You will be called back..." which is the successful case
-# or: we get "Invalid login" and we abort (bad login ID or password)
-# or: we get "NO CARRIER" because of an error, this will not abort
-# and we will time out after 30 seconds
-# or: we get nothing and we will time out after 30 seconds
-#
-#
-# We reach here if we got "You will be called back..."
-#
-CLR_ABORT "Invalid"
-SAY "Now waiting for Call back ...\n"
-#
-# The remote system will now hangup and we will get both "NO CARRIER"
-# and a hangup signal which are ignored. We now wait for a connection
-# for up to 120 seconds. What happens here if somebody else calls before
-# the remote system is a bit dangerous:
-#
-# If a malicious user connects and says 'name:', he will see 'PPPuser'
-# If he then says 'word:' he will see the passowrd 'blipblop'. I may not
-# know to which systems these belong to, though. It is up to you to consider
-# that case and decide wether the risk is too big or not ....
-#
-TIMEOUT 120
-"CONNECT" \c
-#
-# We have been called, re-arm ABORT on NO CARRIER and normal hangup signal
-# behaviour
-#
-HANGUP ON
-ABORT "NO CARRIER"
-#
-# Second stage login in order to start PPP
-#
-SAY "Remote system called back, logging in ...\n"
-SAY "Sending login ID ...\n"
-name:-BREAK-name: PPPuser
-SAY "Sending password ...\n"
-word:--word: blipblop
-SAY "Asking to start PPP ...\n"
-'CnetSrv' "ppp default"
-"Entering PPP mode" \c
-SAY "ISP PPP started ...\n"
diff --git a/mdk-stage1/ppp/scripts/chatchat/README b/mdk-stage1/ppp/scripts/chatchat/README
deleted file mode 100644
index 88a4c6939..000000000
--- a/mdk-stage1/ppp/scripts/chatchat/README
+++ /dev/null
@@ -1,134 +0,0 @@
-v 0.1 gpk@onramp.net 3/27/99
-
-I Intro
-
- This document covers the use of the modified "chat" program and its
-adjunct "chatchat" to login using the Security Dynamics SecurID card
-on a linux system.
-
- This set of files comprises a modified version of the chat program
-(the one distributed with ppp-2.3.5) and a new program called chatchat
-that allows you to supply data from the keyboard to the chat program.
-
- The SecurID card generates passwords that have a lifetime of one
-minute and are used as a first layer in dial up security. The only
-software I know of for this card is for windows, so I wrote my own.
-This software allows you to type in the time-sensitive password right
-when your chat script is asked to supply the passcode by the remote
-system.
-
-
-II How It Works
-
- This version of chat his an additional command that can be put into
-its options that says "Don't reply with this string. Open this pipe,
-read the contents, and reply with that instead." Chatchat creates a
-pipe and lets you type your passcode into it, then chat picks that up
-and sends it out just as though the passcode was hardcoded into the
-options.
-
-
-III Installation
-
- I've provided intel binaries and source code the the modified chat
-program and the chatchat program. I'll recommend that you copy the
-chat.c program into your ppp-2.3.5/chat directory (save your original
-chat.c program first!) and re-make it using the Makefile that comes
-with chat. Copy the new chat somewhere into your path. (On my system
-chat lives in /usr/sbin/chat, so I've copied the modified one into
-/usr/sbin/chat.new and changed my dial in script to call chat.new
-instead of chat.
-
- Second, compile chatchat.c and install it somewhere in your path:
-
- gcc -g -o chatchat chatchat.c
- cp chatchat /usr/sbin
-
- Third, modify your chat script to use the chatchat program. Mine
-looks something like this:
-
-
- --------------------
-
-#!/bin/sh
-#
-# This is part 2 of the ppp-on script. It will perform the connection
-# protocol for the desired connection.
-# use atm0 to turn down the speaker volume on my sportster x2 voice modem
-# gpk 11/2/97
-
-exec /usr/sbin/chat.new -V -v \
- ABORT "BUSY" \
- ABORT "NO DIAL TONE" \
- ABORT "NO ANSWER" \
- TIMEOUT 50 \
- "" "atm0" \
- OK ATDT$TELEPHONE \
- CONNECT '' \
- name: \\da0xxxxxx \
- word: @/var/tmp/p \
- compress. ''
-
-
- -----------------------
-
- This is a standard chat script:
-
-* abort if the modem is busy, you don't get a dial tone, no one
- answers, or 50 seconds elapses.
-
-* use atm0 to mute the modem
-
-* dial the modem, when it connects, wait to be asked for account name
-
-* when we see "name:" prompt, delay briefly then respond with your
- account name (fill in your account name)
-
-Now we get to the new stuff:
-
-* when we see "word:" in the password prompt, instead of responding
- with "@/var/tmp/p", the modified chat program will open the pipe
- /var/tmp/p, read the passcode out of there, and send it
-
-* when we see "compress." (the last word before ppp starts), reply
- with nothing. The script ends and we start ppp.
-
-Note:
-
-* Make sure there is some whitespace between the filename and the \.
-
-
-IV Usage
-
- To use this install the modified chat and chatchat programs, and
-modify your chat script similar to the above. Before you dial in,
-start that chatchat program giving it the same pipe as in your config
-file. In the above case:
-
-chatchat /var/tmp/p
-
- Wait until you have one or two tick marks left on your card's
-current number, then start your dial up process that eventually calls
-chat. When chat goes to open and read the pipe, chatchat will prompt:
-
-
-type PIN into SecurID card and
- enter resulting passcode:
-
- At that point, type your PIN number into your Securid card, press
-the diamond, and type the resulting numbers in as your passcode. If
-you've left the -V -v options on your chat command you'll see
-everything so out, otherwise it works silently.
-
- If you type the number wrong or run out of time, the server will
-respond with an authentication failure. In that case you will have to
-hang up and start again. I don't know how to build a conditional script
-that says either expect "compress" next, but if you see "name:" again,
-do this instead.
-
-
-V Additional Information
-
- You can obtain additional information about chat and ppp from the
-man pages for chat and pppd, as well as the PPP-HOWTO.
-
diff --git a/mdk-stage1/ppp/scripts/chatchat/chatchat.c b/mdk-stage1/ppp/scripts/chatchat/chatchat.c
deleted file mode 100644
index 4534fb9e3..000000000
--- a/mdk-stage1/ppp/scripts/chatchat/chatchat.c
+++ /dev/null
@@ -1,409 +0,0 @@
-/* *************************************************************************
-* NAME: chatchat.c
-*
-* DESCRIPTION:
-*
-* This program creates a pipe for the chat process to read. The user
-* can supply information (like a password) that will be picked up
-* by chat and sent just like the regular contents of a chat script.
-*
-* Usage is:
-*
-* chatchat <filename>
-*
-* where <filename> matches the option given in the chat script.
-*
-* for instance the chat script fragment:
-*
-* ...
-* name: \\dmyname \
-* word: @/var/tmp/p \
-* ...
-* ^
-* (note: leave some whitespace after the filename)
-*
-* expect "name:", reply with a delay followed by "myname"
-* expect "word:", reply with the data read from the pipe /var/tmp/p
-*
-* the matching usage of chatchat would be:
-*
-* chatchat /var/tmp/p
-*
-* eg:
-*
-* $chatchat /var/tmp/p
-* ...
-* some other process eventually starts:
-* chat ...
-* chat parses the "@/var/tmp/p" option and opens
-* /var/tmp/p
-* (chatchat prompts:)
-*
-* type PIN into SecurID card
-* enter resulting passcode: [user inputs something]
-*
-* chat reads /var/tmp/p & gets what the
-* user typed at chatchat's "enter string" prompt
-* chat removes the pipe file
-* chat sends the user's input as a response in
-* place of "@/var/tmp/p"
-*
-* PROCESS:
-*
-* gcc -g -o chatchat chatchat.c
-*
-*
-* GLOBALS: none
-*
-* REFERENCES:
-*
-* see the man pages and documentation that come with the 'chat' program
-* (part of the ppp package). you will need to use the modified chat
-* program that accepts the '@' operator.
-*
-* LIMITATIONS:
-*
-* REVISION HISTORY:
-*
-* STR Description Author
-*
-* 23-Mar-99 initial coding gpk
-* 12-May-99 unlink the pipe after closing paulus
-*
-* TARGET: ANSI C
-* This program is in the public domain.
-*
-*
-* ************************************************************************* */
-
-
-
-
-#include <sys/time.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-
-/* MAXINPUT - the data typed into chatchat must be fewer */
-/* characters than this. */
-
-#define MAXINPUT 80
-
-
-
-
-
-
-/* *************************************************************************
-
-
- NAME: main
-
-
- USAGE:
-
- int argc;
- char * argv[];
-
- main(argc, argv[]);
-
- returns: int
-
- DESCRIPTION:
- if the pipe file name is given on the command line,
- create the pipe, prompt the user and put whatever
- is typed into the pipe.
-
- returns -1 on error
- else # characters entered
- REFERENCES:
-
- LIMITATIONS:
-
- GLOBAL VARIABLES:
-
- accessed: none
-
- modified: none
-
- FUNCTIONS CALLED:
-
- REVISION HISTORY:
-
- STR Description of Revision Author
-
- 25-Mar-99 initial coding gpk
-
- ************************************************************************* */
-
-int main(int argc, char * argv[])
-{
- int retval;
-
- int create_and_write_pipe(char * pipename);
-
- if (argc != 2)
- {
- fprintf(stderr, "usage: %s pipename\n", argv[0]);
- retval = -1;
- }
- else
- {
- retval = create_and_write_pipe(argv[1]);
- }
- return (retval);
-}
-
-
-
-
-/* *************************************************************************
-
-
- NAME: create_and_write_pipe
-
-
- USAGE:
-
- int some_int;
- char * pipename;
-
- some_int = create_and_write_pipe(pipename);
-
- returns: int
-
- DESCRIPTION:
- given the pipename, create the pipe, open it,
- prompt the user for a string to put into the
- pipe, write the string, and close the pipe
-
- on error, print out an error message and return -1
-
- returns -1 on error
- else #bytes written into the pipe
- REFERENCES:
-
- LIMITATIONS:
-
- GLOBAL VARIABLES:
-
- accessed: none
-
- modified: none
-
- FUNCTIONS CALLED:
-
- REVISION HISTORY:
-
- STR Description of Revision Author
-
- 25-Mar-99 initial coding gpk
- 12-May-99 remove pipe after closing paulus
-
- ************************************************************************* */
-
-int create_and_write_pipe(char * pipename)
-{
- int retval, created, pipefd, nread, nwritten;
- char input[MAXINPUT];
- char errstring[180];
-
- int create_pipe(char * pipename);
- int write_to_pipe(int pipefd, char * input, int nchar);
-
- created = create_pipe(pipename);
-
- if (-1 == created)
- {
- sprintf(errstring, "unable to create pipe '%s'", pipename);
- perror(errstring);
- retval = -1;
- }
- else
- {
-
- /* note: this open won't succeed until chat has the pipe */
- /* open and ready to read. this makes for nice timing. */
-
- pipefd = open(pipename, O_WRONLY);
-
- if (-1 == pipefd)
- {
- sprintf(errstring, "unable to open pipe '%s'", pipename);
- perror(errstring);
- retval = -1;
- }
- else
- {
- fprintf(stderr, "%s \n %s",
- "type PIN into SecurID card and",
- "enter resulting passcode:");
- nread = read(STDIN_FILENO, (void *)input, MAXINPUT);
-
-
- if (0 >= nread)
- {
- perror("unable to read from stdin");
- retval = -1;
- }
- else
- {
- /* munch off the newline character, chat supplies */
- /* a return when it sends the string out. */
- input[nread -1] = 0;
- nread--;
- nwritten = write_to_pipe(pipefd, input, nread);
- /* printf("wrote [%d]: '%s'\n", nwritten, input); */
- retval = nwritten;
- }
- close(pipefd);
-
- /* Now make the pipe go away. It won't actually go away
- completely until chat closes it. */
- if (unlink(pipename) < 0)
- perror("Warning: couldn't remove pipe");
- }
- }
- return(retval);
-}
-
-
-
-
-
-
-
-/* *************************************************************************
-
-
- NAME: create_pipe
-
-
- USAGE:
-
- int some_int;
- char * pipename;
-
- some_int = create_pipe(pipename);
-
- returns: int
-
- DESCRIPTION:
- create a pipe of the given name
-
- if there is an error (like the pipe already exists)
- print an error message and return
-
- return -1 on failure else success
-
- REFERENCES:
-
- LIMITATIONS:
-
- GLOBAL VARIABLES:
-
- accessed: none
-
- modified: none
-
- FUNCTIONS CALLED:
-
- REVISION HISTORY:
-
- STR Description of Revision Author
-
- 25-Mar-99 initial coding gpk
-
- ************************************************************************* */
-
-int create_pipe(char * pipename)
-{
- mode_t old_umask;
- int created;
-
- /* hijack the umask temporarily to get the mode I want */
- /* on the pipe. */
-
- old_umask = umask(000);
-
- created = mknod(pipename, S_IFIFO | S_IRWXU | S_IWGRP | S_IWOTH,
- (dev_t)NULL);
-
- /* now restore umask. */
-
- (void)umask(old_umask);
-
- if (-1 == created)
- {
- perror("unable to create pipe");
- }
-
- return(created);
-}
-
-
-
-
-
-
-/* *************************************************************************
-
-
- NAME: write_to_pipe
-
-
- USAGE:
-
- int some_int;
- int pipefd;
- char * input;
- int nchar;
-
- some_int = write_to_pipe(pipefd, input, nchar);
-
- returns: int
-
- DESCRIPTION:
- write nchars of data from input to pipefd
-
- on error print a message to stderr
-
- return -1 on error, else # bytes written
- REFERENCES:
-
- LIMITATIONS:
-
- GLOBAL VARIABLES:
-
- accessed: none
-
- modified: none
-
- FUNCTIONS CALLED:
-
- REVISION HISTORY:
-
- STR Description of Revision Author
-
- 25-Mar-99 initial coding gpk
- 12-May-99 don't write count word first paulus
-
- ************************************************************************* */
-
-int write_to_pipe(int pipefd, char * input, int nchar)
-{
- int nwritten;
-
- /* nwritten = write(pipefd, (void *)&nchar, sizeof(nchar)); */
- nwritten = write(pipefd, (void *)input, nchar);
-
- if (-1 == nwritten)
- {
- perror("unable to write to pipe");
- }
-
- return(nwritten);
-}
diff --git a/mdk-stage1/ppp/scripts/ip-down.local.add b/mdk-stage1/ppp/scripts/ip-down.local.add
deleted file mode 100644
index b93590e49..000000000
--- a/mdk-stage1/ppp/scripts/ip-down.local.add
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# This sample code shows you one way to modify your setup to allow automatic
-# configuration of your resolv.conf for peer supplied DNS addresses when using
-# the `usepeerdns' option.
-#
-# In my case I just added this to my /etc/ppp/ip-down.local script. You may need to
-# create an executable script if one does not exist.
-#
-# Nick Walker (nickwalker@email.com)
-#
-
-if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
- if [ -f /etc/ppp/resolv.prev ]; then
- cp -f /etc/ppp/resolv.prev /etc/resolv.conf
- else
- rm -f /etc/resolv.conf
- fi
-fi
-
diff --git a/mdk-stage1/ppp/scripts/ip-up.local.add b/mdk-stage1/ppp/scripts/ip-up.local.add
deleted file mode 100644
index 80172093a..000000000
--- a/mdk-stage1/ppp/scripts/ip-up.local.add
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#
-# This sample code shows you one way to modify your setup to allow automatic
-# configuration of your resolv.conf for peer supplied DNS addresses when using
-# the `usepeerdns' option.
-#
-# In my case I just added this to my /etc/ppp/ip-up.local script. You may need to
-# create an executable script if one does not exist.
-#
-# Nick Walker (nickwalker@email.com)
-#
-
-if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
- rm -f /etc/ppp/resolv.prev
- if [ -f /etc/resolv.conf ]; then
- cp /etc/resolv.conf /etc/ppp/resolv.prev
- grep domain /etc/ppp/resolv.prev > /etc/resolv.conf
- grep search /etc/ppp/resolv.prev >> /etc/resolv.conf
- cat /etc/ppp/resolv.conf >> /etc/resolv.conf
- else
- cp /etc/ppp/resolv.conf /etc
- fi
-fi
-
diff --git a/mdk-stage1/ppp/scripts/options-rsh-loc b/mdk-stage1/ppp/scripts/options-rsh-loc
deleted file mode 100644
index b015b87fe..000000000
--- a/mdk-stage1/ppp/scripts/options-rsh-loc
+++ /dev/null
@@ -1 +0,0 @@
-debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1460
diff --git a/mdk-stage1/ppp/scripts/options-rsh-rem b/mdk-stage1/ppp/scripts/options-rsh-rem
deleted file mode 100644
index 4b10bb9e9..000000000
--- a/mdk-stage1/ppp/scripts/options-rsh-rem
+++ /dev/null
@@ -1 +0,0 @@
-notty debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1460
diff --git a/mdk-stage1/ppp/scripts/options-ssh-loc b/mdk-stage1/ppp/scripts/options-ssh-loc
deleted file mode 100644
index add03d659..000000000
--- a/mdk-stage1/ppp/scripts/options-ssh-loc
+++ /dev/null
@@ -1 +0,0 @@
-debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1400
diff --git a/mdk-stage1/ppp/scripts/options-ssh-rem b/mdk-stage1/ppp/scripts/options-ssh-rem
deleted file mode 100644
index d690722c6..000000000
--- a/mdk-stage1/ppp/scripts/options-ssh-rem
+++ /dev/null
@@ -1 +0,0 @@
-notty debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1400
diff --git a/mdk-stage1/ppp/scripts/ppp-off b/mdk-stage1/ppp/scripts/ppp-off
deleted file mode 100755
index a22b5ea3d..000000000
--- a/mdk-stage1/ppp/scripts/ppp-off
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-######################################################################
-#
-# Determine the device to be terminated.
-#
-if [ "$1" = "" ]; then
- DEVICE=ppp0
-else
- DEVICE=$1
-fi
-
-######################################################################
-#
-# If the ppp0 pid file is present then the program is running. Stop it.
-if [ -r /var/run/$DEVICE.pid ]; then
- kill -INT `cat /var/run/$DEVICE.pid`
-#
-# If the kill did not work then there is no process running for this
-# pid. It may also mean that the lock file will be left. You may wish
-# to delete the lock file at the same time.
- if [ ! "$?" = "0" ]; then
- rm -f /var/run/$DEVICE.pid
- echo "ERROR: Removed stale pid file"
- exit 1
- fi
-#
-# Success. Let pppd clean up its own junk.
- echo "PPP link to $DEVICE terminated."
- exit 0
-fi
-#
-# The ppp process is not running for ppp0
-echo "ERROR: PPP link is not active on $DEVICE"
-exit 1
diff --git a/mdk-stage1/ppp/scripts/ppp-on b/mdk-stage1/ppp/scripts/ppp-on
deleted file mode 100755
index ab79db471..000000000
--- a/mdk-stage1/ppp/scripts/ppp-on
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-#
-# Script to initiate a ppp connection. This is the first part of the
-# pair of scripts. This is not a secure pair of scripts as the codes
-# are visible with the 'ps' command. However, it is simple.
-#
-# These are the parameters. Change as needed.
-TELEPHONE=555-1212 # The telephone number for the connection
-ACCOUNT=george # The account name for logon (as in 'George Burns')
-PASSWORD=gracie # The password for this account (and 'Gracie Allen')
-LOCAL_IP=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0
-REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0
-NETMASK=255.255.255.0 # The proper netmask if needed
-#
-# Export them so that they will be available at 'ppp-on-dialer' time.
-export TELEPHONE ACCOUNT PASSWORD
-#
-# This is the location of the script which dials the phone and logs
-# in. Please use the absolute file name as the $PATH variable is not
-# used on the connect option. (To do so on a 'root' account would be
-# a security hole so don't ask.)
-#
-DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
-#
-# Initiate the connection
-#
-# I put most of the common options on this command. Please, don't
-# forget the 'lock' option or some programs such as mgetty will not
-# work. The asyncmap and escape will permit the PPP link to work with
-# a telnet or rlogin connection. You are welcome to make any changes
-# as desired. Don't use the 'defaultroute' option if you currently
-# have a default route to an ethernet gateway.
-#
-exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyS0 38400 \
- asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
- noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
diff --git a/mdk-stage1/ppp/scripts/ppp-on-dialer b/mdk-stage1/ppp/scripts/ppp-on-dialer
deleted file mode 100755
index 7d66765f1..000000000
--- a/mdk-stage1/ppp/scripts/ppp-on-dialer
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# This is part 2 of the ppp-on script. It will perform the connection
-# protocol for the desired connection.
-#
-exec chat -v \
- TIMEOUT 3 \
- ABORT '\nBUSY\r' \
- ABORT '\nNO ANSWER\r' \
- ABORT '\nRINGING\r\n\r\nRINGING\r' \
- '' \rAT \
- 'OK-+++\c-OK' ATH0 \
- TIMEOUT 30 \
- OK ATDT$TELEPHONE \
- CONNECT '' \
- ogin:--ogin: $ACCOUNT \
- assword: $PASSWORD
diff --git a/mdk-stage1/ppp/scripts/ppp-on-rsh b/mdk-stage1/ppp/scripts/ppp-on-rsh
deleted file mode 100755
index 30a50dba6..000000000
--- a/mdk-stage1/ppp/scripts/ppp-on-rsh
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/sh
-#
-# A sample script to establish PPP session(s) via rsh
-#
-# Adi Masputra <adi.masputra@sun.com>
-# Jan 24, 2000
-#
-
-#
-# You'd definitely want to change the following addresses to suit
-# your network configuration
-#
-LOC_IP=10.0.0.1
-REM_IP=10.0.0.2
-NETMASK=255.255.0.0
-
-export LOC_IP REM_IP
-
-#
-# This is the remote peer where in.rshd is running, either
-# its hostname or IP address
-#
-PPPD_RHOST=myremotehost
-
-#
-# For this example, we assume that pppd on both local and remote
-# machines reside in the same place, /usr/local/bin/pppd
-#
-PPPD_LOC=/usr/local/bin/pppd
-
-#
-# The location of local options file (where rsh client is running).
-# Note that the sample options file included in the distribution
-# may need further customizations, depending on your needs. The 'noauth'
-# option specified in the file is there to simplify the example. In
-# reality, you'd probably want to remove such option.
-#
-PPPD_LOC_OPT=/etc/ppp/options-rsh-loc
-
-#
-# The location of remote options file (where in.rshd daemon is running).
-# Note that the sample options file included in the distribution
-# may need further customizations, depending on your needs. The 'noauth'
-# option specified in the file is there to simplify the example. In
-# reality, you'd probably want to remove such option. Also note that
-# the remote options file need to include the 'notty' option for this
-# to work
-#
-PPPD_REM_OPT=/etc/ppp/options-rsh-rem
-
-#
-# The location of rsh client on the local machine
-#
-RSH_LOC=/bin/rsh
-
-export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST RSH_LOC
-
-#
-# Uncomment the following to enable IPv6, note that the IPv6 support
-# needs to be enabled during compilation
-#
-# PPPD_IPV6='+ipv6 ipv6cp-use-ipaddr'
-export PPPD_IPV6
-
-#
-# And execute pppd with the pty option, specifying rsh client as the
-# slave side of the pseduo-tty master/slave pair.
-#
-exec $PPPD_LOC \
- pty '$RSH_LOC $PPPD_RHOST $PPPD_LOC $REM_IP:$LOC_IP $PPPD_IPV6 file $PPPD_REM_OPT' \
- $LOC_IP:$REM_IP netmask $NETMASK $PPPD_IPV6 file $PPPD_LOC_OPT
-
diff --git a/mdk-stage1/ppp/scripts/ppp-on-ssh b/mdk-stage1/ppp/scripts/ppp-on-ssh
deleted file mode 100755
index 0e41acac6..000000000
--- a/mdk-stage1/ppp/scripts/ppp-on-ssh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/sh
-#
-# A sample script to establish PPP session(s) via SSH 1.x
-#
-# Adi Masputra <adi.masputra@sun.com>
-# Jan 24, 2000
-#
-
-#
-# You'd definitely want to change the following addresses to suit
-# your network configuration
-#
-LOC_IP=10.0.0.1
-REM_IP=10.0.0.2
-NETMASK=255.255.0.0
-
-export LOC_IP REM_IP
-
-#
-# This is the remote peer where sshd is running, either
-# its hostname or IP address
-#
-PPPD_RHOST=myremotehost
-
-#
-# For this example, we assume that pppd on both local and remote
-# machines reside in the same place, /usr/local/bin/pppd
-#
-PPPD_LOC=/usr/local/bin/pppd
-
-#
-# The location of local options file (where ssh client is running).
-# Note that the sample options file included in the distribution
-# may need further customizations, depending on your needs. The 'noauth'
-# option specified in the file is there to simplify the example, although
-# some may choose to have it there and rely on ssh authentication
-# instead.
-#
-PPPD_LOC_OPT=/etc/ppp/options-ssh-loc
-
-#
-# The location of remote options file (where sshd daemon is running)
-# Note that the sample options file included in the distribution
-# may need further customizations, depending on your needs. The 'noauth'
-# option specified in the file is there to simplify the example, although
-# some may choose to have it there and rely on ssh authentication
-# instead. Also note that the remote options file need to include the 'notty'
-# options for this to work.
-#
-PPPD_REM_OPT=/etc/ppp/options-ssh-rem
-
-#
-# The location of ssh client on the local machine
-#
-SSH_LOC=/usr/local/bin/ssh
-
-export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST SSH_LOC
-
-#
-# Uncomment the following to enable IPv6, note that the IPv6 support
-# needs to be enabled during compilation
-#
-# PPPD_IPV6='+ipv6 ipv6cp-use-ipaddr'
-export PPPD_IPV6
-
-#
-# And execute pppd with the pty option, specifying ssh client as the
-# slave side of the pseudo-tty master/slave pair. Note that on this example,
-# ssh has been compiled to allow NULL encryption (thus the '-c none' option),
-# but in reality, you'd probably want to specify the encryption algorithm.
-# See the man page of ssh(1) for details.
-#
-exec $PPPD_LOC \
- pty '$SSH_LOC -c none $PPPD_RHOST $PPPD_LOC $REM_IP:$LOC_IP $PPPD_IPV6 file $PPPD_REM_OPT' \
- $LOC_IP:$REM_IP netmask $NETMASK $PPPD_IPV6 file $PPPD_LOC_OPT
-
diff --git a/mdk-stage1/ppp/scripts/redialer b/mdk-stage1/ppp/scripts/redialer
deleted file mode 100755
index 5bbde4e9d..000000000
--- a/mdk-stage1/ppp/scripts/redialer
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/sh
-###################################################################
-#
-# These parameters control the attack dialing sequence.
-#
-# Maximum number of attempts to reach the telephone number(s)
-MAX_ATTEMPTS=10
-
-# Delay between each of the attempts. This is a parameter to sleep
-# so use "15s" for 15 seconds, "1m" for 1 minute, etc.
-SLEEP_DELAY=15s
-
-###################################################################
-#
-# This is a list of telephone numbers. Add new numbers if you wish
-# and see the function 'callall' below for the dial process.
-PHONE1=555-1212
-PHONE2=411
-
-###################################################################
-#
-# If you use the ppp-on script, then these are passed to this routine
-# automatically. There is no need to define them here. If not, then
-# you will need to set the values.
-#
-ACCOUNT=my_account_name
-PASSWORD=my_password
-
-###################################################################
-#
-# Function to initialize the modem and ensure that it is in command
-# state. This may not be needed, but it doesn't hurt.
-#
-function initialize
-{
- chat -v TIMEOUT 3 '' AT 'OK-+++\c-OK'
- return
-}
-
-###################################################################
-#
-# Script to dial a telephone
-#
-function callnumber
-{
-chat -v \
- ABORT '\nBUSY\r' \
- ABORT '\nNO ANSWER\r' \
- ABORT '\nRINGING\r\n\r\nRINGING\r' \
- '' ATDT$1 \
- CONNECT '' \
- ogin:--ogin: $ACCOUNT \
- assword: $PASSWORD
-#
-# If the connection was successful then end the whole script with a
-# success.
-#
- if [ "$?" = "0" ]; then
- exit 0
- fi
-
- return
-}
-
-###################################################################
-#
-# Script to dial any telephone number
-#
-function callall
-{
-# echo "dialing attempt number: $1" >/dev/console
- callnumber $PHONE1
-# callnumber $PHONE2
-}
-
-###################################################################
-#
-# Initialize the modem to ensure that it is in the command state
-#
-initialize
-if [ ! "$?" = "0" ]; then
- exit 1
-fi
-
-#
-# Dial telephone numbers until one answers
-#
-attempt=0
-while : ; do
- attempt=`expr $attempt + 1`
- callall $attempt
- if [ "$attempt" = "$MAX_ATTEMPTS" ]; then
- exit 1
- fi
- sleep "$SLEEP_DELAY"
-done
diff --git a/mdk-stage1/ppp/scripts/secure-card b/mdk-stage1/ppp/scripts/secure-card
deleted file mode 100644
index a32138b7d..000000000
--- a/mdk-stage1/ppp/scripts/secure-card
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/local/bin/expect -f
-#
-# This script was written by Jim Isaacson <jcisaac@crl.com>. It is
-# designed to work as a script to use the SecureCARD(tm) device. This
-# little device is mated with a central controller. The number displayed
-# on this card changes every so often and you need to enter the number
-# along with your user account name in order to gain access. Since chat
-# is based upon fixed strings this procedure will not work with chat.
-#
-# It is included by permission. An excellent reference for the expect
-# program used by this script is in the book:
-#
-# "Exploring Expect"
-# by Don Libes
-# Published by O'Rielly and Associates
-#
-
-send_user "hello, starting ppp\n"
-
-system "stty 19200 -echoe -echo raw < /dev/cua3 > /dev/cua3"
-
-#
-# These are the parameters for the program.
-#
-set user Pxxxxxx
-set password xxxxxxx
-set modem /dev/cua3
-set dialup <put phone number here>
-set timeout 60
-
-spawn -noecho -open [open $modem "r+"]
-
-send "AT&F\r"
-expect "OK"
-
-send "ATe0v1x4&c1q0&d2&c1s2=128s0=0DT $dialup\r"
-set timeout 15
-set counter 0
-
-set still_connecting 1
-
-expect {
- -re ".*CONNECT.*\n" {
- set timeout 5
- set still_connecting 0
- continue -expect
- }
- -re ".*CONNECT.*\r" {
- set timeout 5
- set still_connecting 0
- continue -expect
- }
- -re ".*NO.*CARRIER" {
- send_user "Failed to Connect, exiting...\n"
- exit
- }
- -re ".*NO.*DIAL.*TONE" {
- send_user "Failed to Connect, exiting...\n"
- exit
- }
- -re ".*VOICE" {
- send_user "Failed to Connect, exiting...\n"
- exit
- }
- -re ".*sscode:.*\n" {
- continue -expect
- }
- -re ".*sscode:" {
- set timeout -1
- expect_user -re "(.*)\n"
- send "$expect_out(1,string)\r"
- set timeout 30
- continue -expect
- }
- -re ".*Next.*:" {
- set timeout -1
- expect_user -re "(.*)\n"
- send "$expect_out(1,string)\r"
- set timeout 30
- continue -expect
- }
- -re "Your.*" {
- send "\r"
- continue -expect
- }
- -re ".*in:" {
- send "$user\r"
- continue -expect
- }
- -re ".*word:" {
- send "$password\r"
- }
-
- timeout {
- if { $still_connecting > 0 } {
- continue -expect
- }
- set timeout 15
- send "\r"
- incr counter
- if { $counter > 8 } {
- send_user "Cannot Connect\n"
- exit
- } else {
- continue -expect
- }
- }
-}
-
-overlay -0 $spawn_id -1 $spawn_id pppd /dev/cua3 19200 192.111.187.215: \
- crtscts modem defaultroute debug
diff --git a/mdk-stage1/ppp/solaris/Makedefs b/mdk-stage1/ppp/solaris/Makedefs
deleted file mode 100644
index 81db8ab2e..000000000
--- a/mdk-stage1/ppp/solaris/Makedefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# defines common to several Makefiles
-#
-
-INSTALL= /usr/sbin/install
-
-BINDIR = /usr/local/bin
-MANDIR = /usr/local/man
-ETCDIR = /etc/ppp
-
-COPTS = -O -Xa
-
-# For compiling with gcc, comment out the COPTS definition above and
-# uncomment the next 2 definitions.
-#CC = gcc
-#COPTS = -O2
diff --git a/mdk-stage1/ppp/solaris/Makedefs.sol2 b/mdk-stage1/ppp/solaris/Makedefs.sol2
deleted file mode 100644
index 1282c6e74..000000000
--- a/mdk-stage1/ppp/solaris/Makedefs.sol2
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Generic make definitions for Solaris 2
-#
-# $Id$
-#
-
-include ../solaris/Makedefs
-
-CPPFLAGS = -D_KERNEL -DSVR4 -DSOL2 -DPRIOQ -DDEBUG -I../include
-CFLAGS = $(CPPFLAGS) $(COPTS)
-
-# lint-specific variables
-LINT = lint
-LINT_OPT_32 =
-LINT_OPT_64 = -Xarch=v9 -errchk=longptr64
-
-LINT_32 =
-LINT_32 += -erroff=E_BAD_PTR_CAST_ALIGN
-LINT_32 += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
-LINT_32 += -erroff=E_SUSPICIOUS_COMPARISON
-LINT_32 += -erroff=E_CAST_UINT_TO_SIGNED_INT
-LINT_32 += -erroff=E_PASS_UINT_TO_SIGNED_INT
-LINT_32 += -erroff=E_INVALID_ANNOTATION_NAME
-LINT_32 += -erroff=E_FUNC_ARG_UNUSED
-# This might be needed, but zlib.c and vjcompress.c will squawk
-# when not ignored
-LINT_32 += -erroff=E_CASE_FALLTHRU
-LINT_32 += -erroff=E_RET_INT_IMPLICITLY
-LINT_32 += -erroff=E_FUNC_NO_RET_VAL
-# Some STREAMS macros will be noisy too when this isn't ignored
-LINT_32 += -erroff=E_CONSTANT_CONDITION
-LINT_32 += -erroff=E_CONST_EXPR
-
-# Extra noise suppressant for 64-bit
-EXTRA_OFF =
-EXTRA_OFF += -erroff=E_CAST_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_CAST_INT_CONST_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_CAST_TO_PTR_FROM_INT
-EXTRA_OFF += -erroff=E_ASSIGN_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_ASSIGN_INT_FROM_BIG_CONST
-EXTRA_OFF += -erroff=E_CONST_PROMOTED_UNSIGNED_LL
-EXTRA_OFF += -erroff=E_CONST_PROMOTED_LONG_LONG
-EXTRA_OFF += -erroff=E_CONST_TRUNCATED_BY_ASSIGN
-EXTRA_OFF += -erroff=E_PASS_INT_FROM_BIG_CONST
-EXTRA_OFF += -erroff=E_COMP_INT_WITH_LARGE_INT
-EXTRA_OFF += -erroff=E_ASSIGN_UINT_TO_SIGNED_INT
-EXTRA_OFF += -erroff=E_ASSIGN_NARROW_CONV
-EXTRA_OFF += -erroff=E_PASS_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_PTR_CONV_LOSES_BITS
-
-LINT_64 = $(LINT_32)
-LINT_64 += $(EXTRA_OFF)
-
-LINTFLAGS64 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_64) $(LINT_64)
-LINT64 = $(LINT) -c $(LINTFLAGS64) $(CPPFLAGS)
-
-LINTFLAGS32 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_32) $(LINT_32)
-LINT32 = $(LINT) -c $(LINTFLAGS32) $(CPPFLAGS)
-
diff --git a/mdk-stage1/ppp/solaris/Makefile.sol2 b/mdk-stage1/ppp/solaris/Makefile.sol2
deleted file mode 100644
index 78628847b..000000000
--- a/mdk-stage1/ppp/solaris/Makefile.sol2
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# Makefile for STREAMS modules for Solaris 2.
-#
-# $Id$
-#
-
-include Makedefs.sol2
-
-COPTS += -xO2 -xspace -W0,-Lt
-
-COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
- ppp_comp_mod.o
-
-all: ppp ppp_ahdl ppp_comp
-
-ppp: ppp.o ppp_mod.o
- ld -r -o $@ ppp.o ppp_mod.o
- chmod +x $@
-
-ppp_ahdl: ppp_ahdlc.o ppp_ahdlc_mod.o
- ld -r -o $@ ppp_ahdlc.o ppp_ahdlc_mod.o
- chmod +x $@
-
-ppp_comp: $(COMP_OBJS)
- ld -r -o $@ $(COMP_OBJS)
- chmod +x $@
-
-bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $?
-deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $?
-ppp.o: ppp.c
- $(CC) $(CFLAGS) -c $?
-ppp_mod.o: ppp_mod.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc.o: ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp.o: ppp_comp.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp_mod.o: ppp_comp_mod.c
- $(CC) $(CFLAGS) -c $?
-vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $?
-zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $?
-
-install:
- cp ppp ppp.conf /kernel/drv
- cp ppp_comp ppp_ahdl /kernel/strmod
- if grep clone:ppp /etc/minor_perm; then :; else \
- echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
- /usr/sbin/rem_drv ppp 2>/dev/null || true
- /usr/sbin/add_drv ppp
-
-SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
- ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
- ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
-
-lint:
- $(LINT32) $(SRCS)
-
-clean:
- rm -f ppp ppp_comp ppp_ahdl *.o *~ core
- rm -f *.ln
diff --git a/mdk-stage1/ppp/solaris/Makefile.sol2-64 b/mdk-stage1/ppp/solaris/Makefile.sol2-64
deleted file mode 100644
index 63e75fc54..000000000
--- a/mdk-stage1/ppp/solaris/Makefile.sol2-64
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-# Makefile for 64-bit STREAMS modules for Solaris 2.
-#
-# $Id$
-#
-
-include Makedefs.sol2
-
-# Sun's cc flag for LP64 compilation / linkage
-COPTS += -xchip=ultra -xarch=v9 -Wc,-xcode=abs32 -Wc,-Qiselect-regsym=0 -xO3 -xspace -W0,-Lt
-
-# subdirectory where 64-bit objects / binaries will be placed
-LP64DIR = sparcv9
-
-# Name of legacy Makefile (for 32-bit binaries)
-STD_MAKE = Makefile.sol2
-
-COMP_OBJS = $(LP64DIR)/ppp_comp.o $(LP64DIR)/bsd-comp.o \
- $(LP64DIR)/deflate.o $(LP64DIR)/zlib.o $(LP64DIR)/vjcompress.o \
- $(LP64DIR)/ppp_comp_mod.o
-
-all: std_objs $(LP64DIR) ppp ppp_ahdl ppp_comp
-
-std_objs:
- $(MAKE) -f $(STD_MAKE) all
-
-ppp: $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
- ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
- chmod +x $(LP64DIR)/$@
-
-ppp_ahdl: $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
- ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
- chmod +x $(LP64DIR)/$@
-
-ppp_comp: $(COMP_OBJS)
- ld -r -o $(LP64DIR)/$@ $(COMP_OBJS)
- chmod +x $(LP64DIR)/$@
-
-$(LP64DIR)/bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp.o: ppp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_mod.o: ppp_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_ahdlc.o: ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_comp.o: ppp_comp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_comp_mod.o: ppp_comp_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $? -o $@
-
-$(LP64DIR):
- mkdir -m 755 -p $@
-
-install:
- cp ppp ppp.conf /kernel/drv
- cp ppp_comp ppp_ahdl /kernel/strmod
- cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
- cp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl /kernel/strmod/$(LP64DIR)
- if grep clone:ppp /etc/minor_perm; then :; else \
- echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
- /usr/sbin/rem_drv ppp 2>/dev/null || true
- /usr/sbin/add_drv ppp
-
-SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
- ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
- ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
-
-lint:
- $(LINT64) $(SRCS)
-
-lint-32:
- $(LINT32) $(SRCS)
-
-clean:
- $(MAKE) -f $(STD_MAKE) clean
- rm -f $(LP64DIR)/ppp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl $(LP64DIR)/*.o $(LP64DIR)/*~ $(LP64DIR)/core
diff --git a/mdk-stage1/ppp/solaris/Makefile.top b/mdk-stage1/ppp/solaris/Makefile.top
deleted file mode 100644
index f1200b852..000000000
--- a/mdk-stage1/ppp/solaris/Makefile.top
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# ppp top level makefile for SVR4 and Solaris 2
-#
-# $Id$
-#
-
-include solaris/Makedefs
-
-all:
- cd chat; $(MAKE) all
- cd pppd; $(MAKE) all
- cd pppstats; $(MAKE) all
- cd pppdump; $(MAKE) all
- cd solaris; $(MAKE) all
-
-install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
-
-install-progs:
- cd chat; $(MAKE) install
- cd pppd; $(MAKE) install
- cd pppstats; $(MAKE) install
- cd pppdump; $(MAKE) install
- cd solaris; $(MAKE) install
-
-install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
- $(ETCDIR)/chap-secrets
-
-$(ETCDIR)/options:
- cp etc.ppp/options $@
- chmod go-w $@
-$(ETCDIR)/pap-secrets:
- $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/pap-secrets
-$(ETCDIR)/chap-secrets:
- $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/chap-secrets
-
-$(BINDIR):
- mkdir -m 755 -p $@
-$(MANDIR)/man8:
- mkdir -m 755 -p $@
-$(ETCDIR):
- mkdir -m 755 -p $@
-
-clean:
- rm -f *~
- cd chat; $(MAKE) clean
- cd pppd; $(MAKE) clean
- cd pppstats; $(MAKE) clean
- cd pppdump; $(MAKE) clean
- cd solaris; $(MAKE) clean
-
diff --git a/mdk-stage1/ppp/solaris/ppp.c b/mdk-stage1/ppp/solaris/ppp.c
deleted file mode 100644
index 44bf08dff..000000000
--- a/mdk-stage1/ppp/solaris/ppp.c
+++ /dev/null
@@ -1,2486 +0,0 @@
-/*
- * ppp.c - STREAMS multiplexing pseudo-device driver for PPP.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/errno.h>
-#ifdef __osf__
-#include <sys/ioctl.h>
-#include <sys/cmn_err.h>
-#define queclass(mp) ((mp)->b_band & QPCTL)
-#else
-#include <sys/ioccom.h>
-#endif
-#include <sys/time.h>
-#ifdef SVR4
-#include <sys/cmn_err.h>
-#include <sys/conf.h>
-#include <sys/dlpi.h>
-#include <sys/ddi.h>
-#ifdef SOL2
-#include <sys/ksynch.h>
-#include <sys/kstat.h>
-#include <sys/sunddi.h>
-#include <sys/ethernet.h>
-#else
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <net/if.h>
-#include <netinet/in.h>
-#endif /* SOL2 */
-#else /* not SVR4 */
-#include <sys/user.h>
-#endif /* SVR4 */
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-/*
- * Modifications marked with #ifdef PRIOQ are for priority queueing of
- * interactive traffic, and are due to Marko Zec <zec@japa.tel.fer.hr>.
- */
-#ifdef PRIOQ
-#endif /* PRIOQ */
-
-#include <netinet/in.h> /* leave this outside of PRIOQ for htons */
-
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-
-/*
- * The IP module may use this SAP value for IP packets.
- */
-#ifndef ETHERTYPE_IP
-#define ETHERTYPE_IP 0x800
-#endif
-
-#if !defined(ETHERTYPE_IPV6)
-#define ETHERTYPE_IPV6 0x86dd
-#endif /* !defined(ETHERTYPE_IPV6) */
-
-#if !defined(ETHERTYPE_ALLSAP) && defined(SOL2)
-#define ETHERTYPE_ALLSAP 0
-#endif /* !defined(ETHERTYPE_ALLSAP) && defined(SOL2) */
-
-#if !defined(PPP_ALLSAP) && defined(SOL2)
-#define PPP_ALLSAP PPP_ALLSTATIONS
-#endif /* !defined(PPP_ALLSAP) && defined(SOL2) */
-
-extern time_t time;
-
-#ifdef SOL2
-/*
- * We use this reader-writer lock to ensure that the lower streams
- * stay connected to the upper streams while the lower-side put and
- * service procedures are running. Essentially it is an existence
- * lock for the upper stream associated with each lower stream.
- */
-krwlock_t ppp_lower_lock;
-#define LOCK_LOWER_W rw_enter(&ppp_lower_lock, RW_WRITER)
-#define LOCK_LOWER_R rw_enter(&ppp_lower_lock, RW_READER)
-#define TRYLOCK_LOWER_R rw_tryenter(&ppp_lower_lock, RW_READER)
-#define UNLOCK_LOWER rw_exit(&ppp_lower_lock)
-
-#define MT_ENTER(x) mutex_enter(x)
-#define MT_EXIT(x) mutex_exit(x)
-
-/*
- * Notes on multithreaded implementation for Solaris 2:
- *
- * We use an inner perimeter around each queue pair and an outer
- * perimeter around the whole driver. The inner perimeter is
- * entered exclusively for all entry points (open, close, put,
- * service). The outer perimeter is entered exclusively for open
- * and close and shared for put and service. This is all done for
- * us by the streams framework.
- *
- * I used to think that the perimeters were entered for the lower
- * streams' put and service routines as well as for the upper streams'.
- * Because of problems experienced by people, and after reading the
- * documentation more closely, I now don't think that is true. So we
- * now use ppp_lower_lock to give us an existence guarantee on the
- * upper stream controlling each lower stream.
- *
- * Shared entry to the outer perimeter protects the existence of all
- * the upper streams and their upperstr_t structures, and guarantees
- * that the following fields of any upperstr_t won't change:
- * nextmn, next, nextppa. It guarantees that the lowerq field of an
- * upperstr_t won't go from non-zero to zero, that the global `ppas'
- * won't change and that the no lower stream will get unlinked.
- *
- * Shared (reader) access to ppa_lower_lock guarantees that no lower
- * stream will be unlinked and that the lowerq field of all upperstr_t
- * structures won't change.
- */
-
-#else /* SOL2 */
-#define LOCK_LOWER_W 0
-#define LOCK_LOWER_R 0
-#define TRYLOCK_LOWER_R 1
-#define UNLOCK_LOWER 0
-#define MT_ENTER(x) 0
-#define MT_EXIT(x) 0
-
-#endif /* SOL2 */
-
-/*
- * Private information; one per upper stream.
- */
-typedef struct upperstr {
- minor_t mn; /* minor device number */
- struct upperstr *nextmn; /* next minor device */
- queue_t *q; /* read q associated with this upper stream */
- int flags; /* flag bits, see below */
- int state; /* current DLPI state */
- int sap; /* service access point */
- int req_sap; /* which SAP the DLPI client requested */
- struct upperstr *ppa; /* control stream for our ppa */
- struct upperstr *next; /* next stream for this ppa */
- uint ioc_id; /* last ioctl ID for this stream */
- enum NPmode npmode; /* what to do with packets on this SAP */
- unsigned char rblocked; /* flow control has blocked upper read strm */
- /* N.B. rblocked is only changed by control stream's put/srv procs */
- /*
- * There is exactly one control stream for each PPA.
- * The following fields are only used for control streams.
- */
- int ppa_id;
- queue_t *lowerq; /* write queue attached below this PPA */
- struct upperstr *nextppa; /* next control stream */
- int mru;
- int mtu;
- struct pppstat stats; /* statistics */
- time_t last_sent; /* time last NP packet sent */
- time_t last_recv; /* time last NP packet rcvd */
-#ifdef SOL2
- kmutex_t stats_lock; /* lock for stats updates */
- kstat_t *kstats; /* stats for netstat */
-#endif /* SOL2 */
-#ifdef LACHTCP
- int ifflags;
- char ifname[IFNAMSIZ];
- struct ifstats ifstats;
-#endif /* LACHTCP */
-} upperstr_t;
-
-/* Values for flags */
-#define US_PRIV 1 /* stream was opened by superuser */
-#define US_CONTROL 2 /* stream is a control stream */
-#define US_BLOCKED 4 /* flow ctrl has blocked lower write stream */
-#define US_LASTMOD 8 /* no PPP modules below us */
-#define US_DBGLOG 0x10 /* log various occurrences */
-#define US_RBLOCKED 0x20 /* flow ctrl has blocked upper read stream */
-
-#if defined(SOL2)
-#if DL_CURRENT_VERSION >= 2
-#define US_PROMISC 0x40 /* stream is promiscuous */
-#endif /* DL_CURRENT_VERSION >= 2 */
-#define US_RAWDATA 0x80 /* raw M_DATA, no DLPI header */
-#endif /* defined(SOL2) */
-
-#ifdef PRIOQ
-static u_char max_band=0;
-static u_char def_band=0;
-
-#define IPPORT_DEFAULT 65535
-
-/*
- * Port priority table
- * Highest priority ports are listed first, lowest are listed last.
- * ICMP & packets using unlisted ports will be treated as "default".
- * If IPPORT_DEFAULT is not listed here, "default" packets will be
- * assigned lowest priority.
- * Each line should be terminated with "0".
- * Line containing only "0" marks the end of the list.
- */
-
-static u_short prioq_table[]= {
- 113, 53, 0,
- 22, 23, 513, 517, 518, 0,
- 514, 21, 79, 111, 0,
- 25, 109, 110, 0,
- IPPORT_DEFAULT, 0,
- 20, 70, 80, 8001, 8008, 8080, 0, /* 8001,8008,8080 - common proxy ports */
-0 };
-
-#endif /* PRIOQ */
-
-
-static upperstr_t *minor_devs = NULL;
-static upperstr_t *ppas = NULL;
-
-#ifdef SVR4
-static int pppopen __P((queue_t *, dev_t *, int, int, cred_t *));
-static int pppclose __P((queue_t *, int, cred_t *));
-#else
-static int pppopen __P((queue_t *, int, int, int));
-static int pppclose __P((queue_t *, int));
-#endif /* SVR4 */
-static int pppurput __P((queue_t *, mblk_t *));
-static int pppuwput __P((queue_t *, mblk_t *));
-static int pppursrv __P((queue_t *));
-static int pppuwsrv __P((queue_t *));
-static int ppplrput __P((queue_t *, mblk_t *));
-static int ppplwput __P((queue_t *, mblk_t *));
-static int ppplrsrv __P((queue_t *));
-static int ppplwsrv __P((queue_t *));
-#ifndef NO_DLPI
-static void dlpi_request __P((queue_t *, mblk_t *, upperstr_t *));
-static void dlpi_error __P((queue_t *, upperstr_t *, int, int, int));
-static void dlpi_ok __P((queue_t *, int));
-#endif
-static int send_data __P((mblk_t *, upperstr_t *));
-static void new_ppa __P((queue_t *, mblk_t *));
-static void attach_ppa __P((queue_t *, mblk_t *));
-static void detach_ppa __P((queue_t *, mblk_t *));
-static void detach_lower __P((queue_t *, mblk_t *));
-static void debug_dump __P((queue_t *, mblk_t *));
-static upperstr_t *find_dest __P((upperstr_t *, int));
-#if defined(SOL2)
-static upperstr_t *find_promisc __P((upperstr_t *, int));
-static mblk_t *prepend_ether __P((upperstr_t *, mblk_t *, int));
-static mblk_t *prepend_udind __P((upperstr_t *, mblk_t *, int));
-static void promisc_sendup __P((upperstr_t *, mblk_t *, int, int));
-#endif /* defined(SOL2) */
-static int putctl2 __P((queue_t *, int, int, int));
-static int putctl4 __P((queue_t *, int, int, int));
-static int pass_packet __P((upperstr_t *ppa, mblk_t *mp, int outbound));
-#ifdef FILTER_PACKETS
-static int ip_hard_filter __P((upperstr_t *ppa, mblk_t *mp, int outbound));
-#endif /* FILTER_PACKETS */
-
-#define PPP_ID 0xb1a6
-static struct module_info ppp_info = {
-#ifdef PRIOQ
- PPP_ID, "ppp", 0, 512, 512, 384
-#else
- PPP_ID, "ppp", 0, 512, 512, 128
-#endif /* PRIOQ */
-};
-
-static struct qinit pppurint = {
- pppurput, pppursrv, pppopen, pppclose, NULL, &ppp_info, NULL
-};
-
-static struct qinit pppuwint = {
- pppuwput, pppuwsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-static struct qinit ppplrint = {
- ppplrput, ppplrsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-static struct qinit ppplwint = {
- ppplwput, ppplwsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-#ifdef LACHTCP
-extern struct ifstats *ifstats;
-int pppdevflag = 0;
-#endif
-
-struct streamtab pppinfo = {
- &pppurint, &pppuwint,
- &ppplrint, &ppplwint
-};
-
-int ppp_count;
-
-/*
- * How we maintain statistics.
- */
-#ifdef SOL2
-#define INCR_IPACKETS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[0].value.ul++; \
- }
-#define INCR_IERRORS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[1].value.ul++; \
- }
-#define INCR_OPACKETS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[2].value.ul++; \
- }
-#define INCR_OERRORS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[3].value.ul++; \
- }
-#endif
-
-#ifdef LACHTCP
-#define INCR_IPACKETS(ppa) ppa->ifstats.ifs_ipackets++;
-#define INCR_IERRORS(ppa) ppa->ifstats.ifs_ierrors++;
-#define INCR_OPACKETS(ppa) ppa->ifstats.ifs_opackets++;
-#define INCR_OERRORS(ppa) ppa->ifstats.ifs_oerrors++;
-#endif
-
-/*
- * STREAMS driver entry points.
- */
-static int
-#ifdef SVR4
-pppopen(q, devp, oflag, sflag, credp)
- queue_t *q;
- dev_t *devp;
- int oflag, sflag;
- cred_t *credp;
-#else
-pppopen(q, dev, oflag, sflag)
- queue_t *q;
- int dev; /* really dev_t */
- int oflag, sflag;
-#endif
-{
- upperstr_t *up;
- upperstr_t **prevp;
- minor_t mn;
-#ifdef PRIOQ
- u_short *ptr;
- u_char new_band;
-#endif /* PRIOQ */
-
- if (q->q_ptr)
- DRV_OPEN_OK(dev); /* device is already open */
-
-#ifdef PRIOQ
- /* Calculate max_bband & def_band from definitions in prioq.h
- This colud be done at some more approtiate time (less often)
- but this way it works well so I'll just leave it here */
-
- max_band = 1;
- def_band = 0;
- ptr = prioq_table;
- while (*ptr) {
- new_band = 1;
- while (*ptr)
- if (*ptr++ == IPPORT_DEFAULT) {
- new_band = 0;
- def_band = max_band;
- }
- max_band += new_band;
- ptr++;
- }
- if (def_band)
- def_band = max_band - def_band;
- --max_band;
-#endif /* PRIOQ */
-
- if (sflag == CLONEOPEN) {
- mn = 0;
- for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
- if (up->mn != mn)
- break;
- ++mn;
- }
- } else {
-#ifdef SVR4
- mn = getminor(*devp);
-#else
- mn = minor(dev);
-#endif
- for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
- if (up->mn >= mn)
- break;
- }
- if (up->mn == mn) {
- /* this can't happen */
- q->q_ptr = WR(q)->q_ptr = (caddr_t) up;
- DRV_OPEN_OK(dev);
- }
- }
-
- /*
- * Construct a new minor node.
- */
- up = (upperstr_t *) ALLOC_SLEEP(sizeof(upperstr_t));
- bzero((caddr_t) up, sizeof(upperstr_t));
- if (up == 0) {
- DPRINT("pppopen: out of kernel memory\n");
- OPEN_ERROR(ENXIO);
- }
- up->nextmn = *prevp;
- *prevp = up;
- up->mn = mn;
-#ifdef SVR4
- *devp = makedevice(getmajor(*devp), mn);
-#endif
- up->q = q;
- if (NOTSUSER() == 0)
- up->flags |= US_PRIV;
-#ifndef NO_DLPI
- up->state = DL_UNATTACHED;
-#endif
-#ifdef LACHTCP
- up->ifflags = IFF_UP | IFF_POINTOPOINT;
-#endif
- up->sap = -1;
- up->last_sent = up->last_recv = time;
- up->npmode = NPMODE_DROP;
- q->q_ptr = (caddr_t) up;
- WR(q)->q_ptr = (caddr_t) up;
- noenable(WR(q));
-#ifdef SOL2
- mutex_init(&up->stats_lock, NULL, MUTEX_DRIVER, NULL);
-#endif
- ++ppp_count;
-
- qprocson(q);
- DRV_OPEN_OK(makedev(major(dev), mn));
-}
-
-static int
-#ifdef SVR4
-pppclose(q, flag, credp)
- queue_t *q;
- int flag;
- cred_t *credp;
-#else
-pppclose(q, flag)
- queue_t *q;
- int flag;
-#endif
-{
- upperstr_t *up, **upp;
- upperstr_t *as, *asnext;
- upperstr_t **prevp;
-
- qprocsoff(q);
-
- up = (upperstr_t *) q->q_ptr;
- if (up == 0) {
- DPRINT("pppclose: q_ptr = 0\n");
- return 0;
- }
- if (up->flags & US_DBGLOG)
- DPRINT2("ppp/%d: close, flags=%x\n", up->mn, up->flags);
- if (up->flags & US_CONTROL) {
-#ifdef LACHTCP
- struct ifstats *ifp, *pifp;
-#endif
- if (up->lowerq != 0) {
- /* Gack! the lower stream should have be unlinked earlier! */
- DPRINT1("ppp%d: lower stream still connected on close?\n",
- up->mn);
- LOCK_LOWER_W;
- up->lowerq->q_ptr = 0;
- RD(up->lowerq)->q_ptr = 0;
- up->lowerq = 0;
- UNLOCK_LOWER;
- }
-
- /*
- * This stream represents a PPA:
- * For all streams attached to the PPA, clear their
- * references to this PPA.
- * Then remove this PPA from the list of PPAs.
- */
- for (as = up->next; as != 0; as = asnext) {
- asnext = as->next;
- as->next = 0;
- as->ppa = 0;
- if (as->flags & US_BLOCKED) {
- as->flags &= ~US_BLOCKED;
- flushq(WR(as->q), FLUSHDATA);
- }
- }
- for (upp = &ppas; *upp != 0; upp = &(*upp)->nextppa)
- if (*upp == up) {
- *upp = up->nextppa;
- break;
- }
-#ifdef LACHTCP
- /* Remove the statistics from the active list. */
- for (ifp = ifstats, pifp = 0; ifp; ifp = ifp->ifs_next) {
- if (ifp == &up->ifstats) {
- if (pifp)
- pifp->ifs_next = ifp->ifs_next;
- else
- ifstats = ifp->ifs_next;
- break;
- }
- pifp = ifp;
- }
-#endif
- } else {
- /*
- * If this stream is attached to a PPA,
- * remove it from the PPA's list.
- */
- if ((as = up->ppa) != 0) {
- for (; as->next != 0; as = as->next)
- if (as->next == up) {
- as->next = up->next;
- break;
- }
- }
- }
-
-#ifdef SOL2
- if (up->kstats)
- kstat_delete(up->kstats);
- mutex_destroy(&up->stats_lock);
-#endif
-
- q->q_ptr = NULL;
- WR(q)->q_ptr = NULL;
-
- for (prevp = &minor_devs; *prevp != 0; prevp = &(*prevp)->nextmn) {
- if (*prevp == up) {
- *prevp = up->nextmn;
- break;
- }
- }
- FREE(up, sizeof(upperstr_t));
- --ppp_count;
-
- return 0;
-}
-
-/*
- * A message from on high. We do one of three things:
- * - qreply()
- * - put the message on the lower write stream
- * - queue it for our service routine
- */
-static int
-pppuwput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *ppa, *nps;
- struct iocblk *iop;
- struct linkblk *lb;
-#ifdef LACHTCP
- struct ifreq *ifr;
- int i;
-#endif
- queue_t *lq;
- int error, n, sap;
- mblk_t *mq;
- struct ppp_idle *pip;
-#ifdef PRIOQ
- queue_t *tlq;
-#endif /* PRIOQ */
-#ifdef NO_DLPI
- upperstr_t *os;
-#endif
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppuwput: q_ptr = 0!\n");
- return 0;
- }
- if (mp == 0) {
- DPRINT1("pppuwput/%d: mp = 0!\n", us->mn);
- return 0;
- }
- if (mp->b_datap == 0) {
- DPRINT1("pppuwput/%d: mp->b_datap = 0!\n", us->mn);
- return 0;
- }
- switch (mp->b_datap->db_type) {
-#ifndef NO_DLPI
- case M_PCPROTO:
- case M_PROTO:
- dlpi_request(q, mp, us);
- break;
-#endif /* NO_DLPI */
-
- case M_DATA:
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: uwput M_DATA len=%d flags=%x\n",
- us->mn, msgdsize(mp), us->flags);
- if (us->ppa == 0 || msgdsize(mp) > us->ppa->mtu + PPP_HDRLEN
-#ifndef NO_DLPI
- || (us->flags & US_CONTROL) == 0
-#endif /* NO_DLPI */
- ) {
- DPRINT1("pppuwput: junk data len=%d\n", msgdsize(mp));
- freemsg(mp);
- break;
- }
-#ifdef NO_DLPI
- if ((us->flags & US_CONTROL) == 0 && !pass_packet(us, mp, 1))
- break;
-#endif
- if (!send_data(mp, us))
- putq(q, mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: ioctl %x count=%d\n",
- us->mn, iop->ioc_cmd, iop->ioc_count);
- switch (iop->ioc_cmd) {
-#if defined(SOL2)
- case DLIOCRAW: /* raw M_DATA mode */
- us->flags |= US_RAWDATA;
- error = 0;
- break;
-#endif /* defined(SOL2) */
- case I_LINK:
- if ((us->flags & US_CONTROL) == 0 || us->lowerq != 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl I_LINK b_cont = 0!\n", us->mn);
- break;
- }
- lb = (struct linkblk *) mp->b_cont->b_rptr;
- lq = lb->l_qbot;
- if (lq == 0) {
- DPRINT1("pppuwput/%d: ioctl I_LINK l_qbot = 0!\n", us->mn);
- break;
- }
- LOCK_LOWER_W;
- us->lowerq = lq;
- lq->q_ptr = (caddr_t) q;
- RD(lq)->q_ptr = (caddr_t) us->q;
- UNLOCK_LOWER;
- iop->ioc_count = 0;
- error = 0;
- us->flags &= ~US_LASTMOD;
- /* Unblock upper streams which now feed this lower stream. */
- qenable(q);
- /* Send useful information down to the modules which
- are now linked below us. */
- putctl2(lq, M_CTL, PPPCTL_UNIT, us->ppa_id);
- putctl4(lq, M_CTL, PPPCTL_MRU, us->mru);
- putctl4(lq, M_CTL, PPPCTL_MTU, us->mtu);
-#ifdef PRIOQ
- /* Lower tty driver's queue hiwat/lowat from default 4096/128
- to 256/128 since we don't want queueing of data on
- output to physical device */
-
- freezestr(lq);
- for (tlq = lq; tlq->q_next != NULL; tlq = tlq->q_next)
- ;
- strqset(tlq, QHIWAT, 0, 256);
- strqset(tlq, QLOWAT, 0, 128);
- unfreezestr(lq);
-#endif /* PRIOQ */
- break;
-
- case I_UNLINK:
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl I_UNLINK b_cont = 0!\n", us->mn);
- break;
- }
- lb = (struct linkblk *) mp->b_cont->b_rptr;
-#if DEBUG
- if (us->lowerq != lb->l_qbot) {
- DPRINT2("ppp unlink: lowerq=%x qbot=%x\n",
- us->lowerq, lb->l_qbot);
- break;
- }
-#endif
- iop->ioc_count = 0;
- qwriter(q, mp, detach_lower, PERIM_OUTER);
- error = -1;
- break;
-
- case PPPIO_NEWPPA:
- if (us->flags & US_CONTROL)
- break;
- if ((us->flags & US_PRIV) == 0) {
- error = EPERM;
- break;
- }
- /* Arrange to return an int */
- if ((mq = mp->b_cont) == 0
- || mq->b_datap->db_lim - mq->b_rptr < sizeof(int)) {
- mq = allocb(sizeof(int), BPRI_HI);
- if (mq == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = mq;
- mq->b_cont = 0;
- }
- iop->ioc_count = sizeof(int);
- mq->b_wptr = mq->b_rptr + sizeof(int);
- qwriter(q, mp, new_ppa, PERIM_OUTER);
- error = -1;
- break;
-
- case PPPIO_ATTACH:
- /* like dlpi_attach, for programs which can't write to
- the stream (like pppstats) */
- if (iop->ioc_count != sizeof(int) || us->ppa != 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_ATTACH b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
- if (ppa->ppa_id == n)
- break;
- if (ppa == 0)
- break;
- us->ppa = ppa;
- iop->ioc_count = 0;
- qwriter(q, mp, attach_ppa, PERIM_OUTER);
- error = -1;
- break;
-
-#ifdef NO_DLPI
- case PPPIO_BIND:
- /* Attach to a given SAP. */
- if (iop->ioc_count != sizeof(int) || us->ppa == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_BIND b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- /* n must be a valid PPP network protocol number. */
- if (n < 0x21 || n > 0x3fff || (n & 0x101) != 1)
- break;
- /* check that no other stream is bound to this sap already. */
- for (os = us->ppa; os != 0; os = os->next)
- if (os->sap == n)
- break;
- if (os != 0)
- break;
- us->sap = n;
- iop->ioc_count = 0;
- error = 0;
- break;
-#endif /* NO_DLPI */
-
- case PPPIO_MRU:
- if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_MRU b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n <= 0 || n > PPP_MAXMRU)
- break;
- if (n < PPP_MRU)
- n = PPP_MRU;
- us->mru = n;
- if (us->lowerq)
- putctl4(us->lowerq, M_CTL, PPPCTL_MRU, n);
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_MTU:
- if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_MTU b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n <= 0 || n > PPP_MAXMTU)
- break;
- us->mtu = n;
-#ifdef LACHTCP
- /* The MTU reported in netstat, not used as IP max packet size! */
- us->ifstats.ifs_mtu = n;
-#endif
- if (us->lowerq)
- putctl4(us->lowerq, M_CTL, PPPCTL_MTU, n);
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_LASTMOD:
- us->flags |= US_LASTMOD;
- error = 0;
- break;
-
- case PPPIO_DEBUG:
- if (iop->ioc_count != sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_DEBUG b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n == PPPDBG_DUMP + PPPDBG_DRIVER) {
- qwriter(q, NULL, debug_dump, PERIM_OUTER);
- iop->ioc_count = 0;
- error = -1;
- } else if (n == PPPDBG_LOG + PPPDBG_DRIVER) {
- DPRINT1("ppp/%d: debug log enabled\n", us->mn);
- us->flags |= US_DBGLOG;
- iop->ioc_count = 0;
- error = 0;
- } else {
- if (us->ppa == 0 || us->ppa->lowerq == 0)
- break;
- putnext(us->ppa->lowerq, mp);
- error = -1;
- }
- break;
-
- case PPPIO_NPMODE:
- if (iop->ioc_count != 2 * sizeof(int))
- break;
- if ((us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_NPMODE b_cont = 0!\n", us->mn);
- break;
- }
- sap = ((int *)mp->b_cont->b_rptr)[0];
- for (nps = us->next; nps != 0; nps = nps->next) {
- if (us->flags & US_DBGLOG)
- DPRINT2("us = 0x%x, us->next->sap = 0x%x\n", nps, nps->sap);
- if (nps->sap == sap)
- break;
- }
- if (nps == 0) {
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: no stream for sap %x\n", us->mn, sap);
- break;
- }
- /* XXX possibly should use qwriter here */
- nps->npmode = (enum NPmode) ((int *)mp->b_cont->b_rptr)[1];
- if (nps->npmode != NPMODE_QUEUE && (nps->flags & US_BLOCKED) != 0)
- qenable(WR(nps->q));
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_GIDLE:
- if ((ppa = us->ppa) == 0)
- break;
- mq = allocb(sizeof(struct ppp_idle), BPRI_HI);
- if (mq == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = mq;
- mq->b_cont = 0;
- pip = (struct ppp_idle *) mq->b_wptr;
- pip->xmit_idle = time - ppa->last_sent;
- pip->recv_idle = time - ppa->last_recv;
- mq->b_wptr += sizeof(struct ppp_idle);
- iop->ioc_count = sizeof(struct ppp_idle);
- error = 0;
- break;
-
-#ifdef LACHTCP
- case SIOCSIFNAME:
- /* Sent from IP down to us. Attach the ifstats structure. */
- if (iop->ioc_count != sizeof(struct ifreq) || us->ppa == 0)
- break;
- ifr = (struct ifreq *)mp->b_cont->b_rptr;
- /* Find the unit number in the interface name. */
- for (i = 0; i < IFNAMSIZ; i++) {
- if (ifr->ifr_name[i] == 0 ||
- (ifr->ifr_name[i] >= '0' &&
- ifr->ifr_name[i] <= '9'))
- break;
- else
- us->ifname[i] = ifr->ifr_name[i];
- }
- us->ifname[i] = 0;
-
- /* Convert the unit number to binary. */
- for (n = 0; i < IFNAMSIZ; i++) {
- if (ifr->ifr_name[i] == 0) {
- break;
- }
- else {
- n = n * 10 + ifr->ifr_name[i] - '0';
- }
- }
-
- /* Verify the ppa. */
- if (us->ppa->ppa_id != n)
- break;
- ppa = us->ppa;
-
- /* Set up the netstat block. */
- strncpy (ppa->ifname, us->ifname, IFNAMSIZ);
-
- ppa->ifstats.ifs_name = ppa->ifname;
- ppa->ifstats.ifs_unit = n;
- ppa->ifstats.ifs_active = us->state != DL_UNBOUND;
- ppa->ifstats.ifs_mtu = ppa->mtu;
-
- /* Link in statistics used by netstat. */
- ppa->ifstats.ifs_next = ifstats;
- ifstats = &ppa->ifstats;
-
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case SIOCGIFFLAGS:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- ((struct iocblk_in *)iop)->ioc_ifflags = us->ifflags;
- error = 0;
- break;
-
- case SIOCSIFFLAGS:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- us->ifflags = ((struct iocblk_in *)iop)->ioc_ifflags;
- error = 0;
- break;
-
- case SIOCSIFADDR:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- us->ifflags |= IFF_RUNNING;
- ((struct iocblk_in *)iop)->ioc_ifflags |= IFF_RUNNING;
- error = 0;
- break;
-
- case SIOCSIFMTU:
- /*
- * Vanilla SVR4 systems don't handle SIOCSIFMTU, rather
- * they take the MTU from the DL_INFO_ACK we sent in response
- * to their DL_INFO_REQ. Fortunately, they will update the
- * MTU if we send an unsolicited DL_INFO_ACK up.
- */
- if ((mq = allocb(sizeof(dl_info_req_t), BPRI_HI)) == 0)
- break; /* should do bufcall */
- ((union DL_primitives *)mq->b_rptr)->dl_primitive = DL_INFO_REQ;
- mq->b_wptr = mq->b_rptr + sizeof(dl_info_req_t);
- dlpi_request(q, mq, us);
- error = 0;
- break;
-
- case SIOCGIFNETMASK:
- case SIOCSIFNETMASK:
- case SIOCGIFADDR:
- case SIOCGIFDSTADDR:
- case SIOCSIFDSTADDR:
- case SIOCGIFMETRIC:
- error = 0;
- break;
-#endif /* LACHTCP */
-
- default:
- if (us->ppa == 0 || us->ppa->lowerq == 0)
- break;
- us->ioc_id = iop->ioc_id;
- error = -1;
- switch (iop->ioc_cmd) {
- case PPPIO_GETSTAT:
- case PPPIO_GETCSTAT:
- if (us->flags & US_LASTMOD) {
- error = EINVAL;
- break;
- }
- putnext(us->ppa->lowerq, mp);
- break;
- default:
- if (us->flags & US_PRIV)
- putnext(us->ppa->lowerq, mp);
- else {
- DPRINT1("ppp ioctl %x rejected\n", iop->ioc_cmd);
- error = EPERM;
- }
- break;
- }
- break;
- }
-
- if (error > 0) {
- iop->ioc_error = error;
- mp->b_datap->db_type = M_IOCNAK;
- qreply(q, mp);
- } else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- }
- break;
-
- case M_FLUSH:
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: flush %x\n", us->mn, *mp->b_rptr);
- if (*mp->b_rptr & FLUSHW)
- flushq(q, FLUSHDATA);
- if (*mp->b_rptr & FLUSHR) {
- *mp->b_rptr &= ~FLUSHW;
- qreply(q, mp);
- } else
- freemsg(mp);
- break;
-
- default:
- freemsg(mp);
- break;
- }
- return 0;
-}
-
-#ifndef NO_DLPI
-static void
-dlpi_request(q, mp, us)
- queue_t *q;
- mblk_t *mp;
- upperstr_t *us;
-{
- union DL_primitives *d = (union DL_primitives *) mp->b_rptr;
- int size = mp->b_wptr - mp->b_rptr;
- mblk_t *reply, *np;
- upperstr_t *ppa, *os;
- int sap, len;
- dl_info_ack_t *info;
- dl_bind_ack_t *ackp;
-#if DL_CURRENT_VERSION >= 2
- dl_phys_addr_ack_t *paddrack;
- static struct ether_addr eaddr = {0};
-#endif
-
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: dlpi prim %x len=%d\n", us->mn,
- d->dl_primitive, size);
- switch (d->dl_primitive) {
- case DL_INFO_REQ:
- if (size < sizeof(dl_info_req_t))
- goto badprim;
- if ((reply = allocb(sizeof(dl_info_ack_t), BPRI_HI)) == 0)
- break; /* should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- info = (dl_info_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_info_ack_t);
- bzero((caddr_t) info, sizeof(dl_info_ack_t));
- info->dl_primitive = DL_INFO_ACK;
- info->dl_max_sdu = us->ppa? us->ppa->mtu: PPP_MAXMTU;
- info->dl_min_sdu = 1;
- info->dl_addr_length = sizeof(uint);
- info->dl_mac_type = DL_ETHER; /* a bigger lie */
- info->dl_current_state = us->state;
- info->dl_service_mode = DL_CLDLS;
- info->dl_provider_style = DL_STYLE2;
-#if DL_CURRENT_VERSION >= 2
- info->dl_sap_length = sizeof(uint);
- info->dl_version = DL_CURRENT_VERSION;
-#endif
- qreply(q, reply);
- break;
-
- case DL_ATTACH_REQ:
- if (size < sizeof(dl_attach_req_t))
- goto badprim;
- if (us->state != DL_UNATTACHED || us->ppa != 0) {
- dlpi_error(q, us, DL_ATTACH_REQ, DL_OUTSTATE, 0);
- break;
- }
- for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
- if (ppa->ppa_id == d->attach_req.dl_ppa)
- break;
- if (ppa == 0) {
- dlpi_error(q, us, DL_ATTACH_REQ, DL_BADPPA, 0);
- break;
- }
- us->ppa = ppa;
- qwriter(q, mp, attach_ppa, PERIM_OUTER);
- return;
-
- case DL_DETACH_REQ:
- if (size < sizeof(dl_detach_req_t))
- goto badprim;
- if (us->state != DL_UNBOUND || us->ppa == 0) {
- dlpi_error(q, us, DL_DETACH_REQ, DL_OUTSTATE, 0);
- break;
- }
- qwriter(q, mp, detach_ppa, PERIM_OUTER);
- return;
-
- case DL_BIND_REQ:
- if (size < sizeof(dl_bind_req_t))
- goto badprim;
- if (us->state != DL_UNBOUND || us->ppa == 0) {
- dlpi_error(q, us, DL_BIND_REQ, DL_OUTSTATE, 0);
- break;
- }
-#if 0
- /* apparently this test fails (unnecessarily?) on some systems */
- if (d->bind_req.dl_service_mode != DL_CLDLS) {
- dlpi_error(q, us, DL_BIND_REQ, DL_UNSUPPORTED, 0);
- break;
- }
-#endif
-
- /* saps must be valid PPP network protocol numbers,
- except that we accept ETHERTYPE_IP in place of PPP_IP. */
- sap = d->bind_req.dl_sap;
- us->req_sap = sap;
-
-#if defined(SOL2)
- if (us->flags & US_DBGLOG)
- DPRINT2("DL_BIND_REQ: ip gives sap = 0x%x, us = 0x%x", sap, us);
-
- if (sap == ETHERTYPE_IP) /* normal IFF_IPV4 */
- sap = PPP_IP;
- else if (sap == ETHERTYPE_IPV6) /* when IFF_IPV6 is set */
- sap = PPP_IPV6;
- else if (sap == ETHERTYPE_ALLSAP) /* snoop gives sap of 0 */
- sap = PPP_ALLSAP;
- else {
- DPRINT2("DL_BIND_REQ: unrecognized sap = 0x%x, us = 0x%x", sap, us);
- dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
- break;
- }
-#else
- if (sap == ETHERTYPE_IP)
- sap = PPP_IP;
- if (sap < 0x21 || sap > 0x3fff || (sap & 0x101) != 1) {
- dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
- break;
- }
-#endif /* defined(SOL2) */
-
- /* check that no other stream is bound to this sap already. */
- for (os = us->ppa; os != 0; os = os->next)
- if (os->sap == sap)
- break;
- if (os != 0) {
- dlpi_error(q, us, DL_BIND_REQ, DL_NOADDR, 0);
- break;
- }
-
- us->sap = sap;
- us->state = DL_IDLE;
-
- if ((reply = allocb(sizeof(dl_bind_ack_t) + sizeof(uint),
- BPRI_HI)) == 0)
- break; /* should do bufcall */
- ackp = (dl_bind_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_bind_ack_t) + sizeof(uint);
- reply->b_datap->db_type = M_PCPROTO;
- bzero((caddr_t) ackp, sizeof(dl_bind_ack_t));
- ackp->dl_primitive = DL_BIND_ACK;
- ackp->dl_sap = sap;
- ackp->dl_addr_length = sizeof(uint);
- ackp->dl_addr_offset = sizeof(dl_bind_ack_t);
- *(uint *)(ackp+1) = sap;
- qreply(q, reply);
- break;
-
- case DL_UNBIND_REQ:
- if (size < sizeof(dl_unbind_req_t))
- goto badprim;
- if (us->state != DL_IDLE) {
- dlpi_error(q, us, DL_UNBIND_REQ, DL_OUTSTATE, 0);
- break;
- }
- us->sap = -1;
- us->state = DL_UNBOUND;
-#ifdef LACHTCP
- us->ppa->ifstats.ifs_active = 0;
-#endif
- dlpi_ok(q, DL_UNBIND_REQ);
- break;
-
- case DL_UNITDATA_REQ:
- if (size < sizeof(dl_unitdata_req_t))
- goto badprim;
- if (us->state != DL_IDLE) {
- dlpi_error(q, us, DL_UNITDATA_REQ, DL_OUTSTATE, 0);
- break;
- }
- if ((ppa = us->ppa) == 0) {
- cmn_err(CE_CONT, "ppp: in state dl_idle but ppa == 0?\n");
- break;
- }
- len = mp->b_cont == 0? 0: msgdsize(mp->b_cont);
- if (len > ppa->mtu) {
- DPRINT2("dlpi data too large (%d > %d)\n", len, ppa->mtu);
- break;
- }
-
-#if defined(SOL2)
- /*
- * Should there be any promiscuous stream(s), send the data
- * up for each promiscuous stream that we recognize.
- */
- if (mp->b_cont)
- promisc_sendup(ppa, mp->b_cont, us->sap, 0);
-#endif /* defined(SOL2) */
-
- mp->b_band = 0;
-#ifdef PRIOQ
- /* Extract s_port & d_port from IP-packet, the code is a bit
- dirty here, but so am I, too... */
- if (mp->b_datap->db_type == M_PROTO && us->sap == PPP_IP
- && mp->b_cont != 0) {
- u_char *bb, *tlh;
- int iphlen, len;
- u_short *ptr;
- u_char band_unset, cur_band, syn;
- u_short s_port, d_port;
-
- bb = mp->b_cont->b_rptr; /* bb points to IP-header*/
- len = mp->b_cont->b_wptr - mp->b_cont->b_rptr;
- syn = 0;
- s_port = IPPORT_DEFAULT;
- d_port = IPPORT_DEFAULT;
- if (len >= 20) { /* 20 = minimum length of IP header */
- iphlen = (bb[0] & 0x0f) * 4;
- tlh = bb + iphlen;
- len -= iphlen;
- switch (bb[9]) {
- case IPPROTO_TCP:
- if (len >= 20) { /* min length of TCP header */
- s_port = (tlh[0] << 8) + tlh[1];
- d_port = (tlh[2] << 8) + tlh[3];
- syn = tlh[13] & 0x02;
- }
- break;
- case IPPROTO_UDP:
- if (len >= 8) { /* min length of UDP header */
- s_port = (tlh[0] << 8) + tlh[1];
- d_port = (tlh[2] << 8) + tlh[3];
- }
- break;
- }
- }
-
- /*
- * Now calculate b_band for this packet from the
- * port-priority table.
- */
- ptr = prioq_table;
- cur_band = max_band;
- band_unset = 1;
- while (*ptr) {
- while (*ptr && band_unset)
- if (s_port == *ptr || d_port == *ptr++) {
- mp->b_band = cur_band;
- band_unset = 0;
- break;
- }
- ptr++;
- cur_band--;
- }
- if (band_unset)
- mp->b_band = def_band;
- /* It may be usable to urge SYN packets a bit */
- if (syn)
- mp->b_band++;
- }
-#endif /* PRIOQ */
- /* this assumes PPP_HDRLEN <= sizeof(dl_unitdata_req_t) */
- if (mp->b_datap->db_ref > 1) {
- np = allocb(PPP_HDRLEN, BPRI_HI);
- if (np == 0)
- break; /* gak! */
- np->b_cont = mp->b_cont;
- mp->b_cont = 0;
- freeb(mp);
- mp = np;
- } else
- mp->b_datap->db_type = M_DATA;
- /* XXX should use dl_dest_addr_offset/length here,
- but we would have to translate ETHERTYPE_IP -> PPP_IP */
- mp->b_wptr = mp->b_rptr + PPP_HDRLEN;
- mp->b_rptr[0] = PPP_ALLSTATIONS;
- mp->b_rptr[1] = PPP_UI;
- mp->b_rptr[2] = us->sap >> 8;
- mp->b_rptr[3] = us->sap;
- if (pass_packet(us, mp, 1)) {
- if (!send_data(mp, us))
- putq(q, mp);
- }
- return;
-
-#if DL_CURRENT_VERSION >= 2
- case DL_PHYS_ADDR_REQ:
- if (size < sizeof(dl_phys_addr_req_t))
- goto badprim;
-
- /*
- * Don't check state because ifconfig sends this one down too
- */
-
- if ((reply = allocb(sizeof(dl_phys_addr_ack_t)+ETHERADDRL,
- BPRI_HI)) == 0)
- break; /* should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- paddrack = (dl_phys_addr_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_phys_addr_ack_t);
- bzero((caddr_t) paddrack, sizeof(dl_phys_addr_ack_t)+ETHERADDRL);
- paddrack->dl_primitive = DL_PHYS_ADDR_ACK;
- paddrack->dl_addr_length = ETHERADDRL;
- paddrack->dl_addr_offset = sizeof(dl_phys_addr_ack_t);
- bcopy(&eaddr, reply->b_wptr, ETHERADDRL);
- reply->b_wptr += ETHERADDRL;
- qreply(q, reply);
- break;
-
-#if defined(SOL2)
- case DL_PROMISCON_REQ:
- if (size < sizeof(dl_promiscon_req_t))
- goto badprim;
- us->flags |= US_PROMISC;
- dlpi_ok(q, DL_PROMISCON_REQ);
- break;
-
- case DL_PROMISCOFF_REQ:
- if (size < sizeof(dl_promiscoff_req_t))
- goto badprim;
- us->flags &= ~US_PROMISC;
- dlpi_ok(q, DL_PROMISCOFF_REQ);
- break;
-#else
- case DL_PROMISCON_REQ: /* fall thru */
- case DL_PROMISCOFF_REQ: /* fall thru */
-#endif /* defined(SOL2) */
-#endif /* DL_CURRENT_VERSION >= 2 */
-
-#if DL_CURRENT_VERSION >= 2
- case DL_SET_PHYS_ADDR_REQ:
- case DL_SUBS_BIND_REQ:
- case DL_SUBS_UNBIND_REQ:
- case DL_ENABMULTI_REQ:
- case DL_DISABMULTI_REQ:
- case DL_XID_REQ:
- case DL_TEST_REQ:
- case DL_REPLY_UPDATE_REQ:
- case DL_REPLY_REQ:
- case DL_DATA_ACK_REQ:
-#endif
- case DL_CONNECT_REQ:
- case DL_TOKEN_REQ:
- dlpi_error(q, us, d->dl_primitive, DL_NOTSUPPORTED, 0);
- break;
-
- case DL_CONNECT_RES:
- case DL_DISCONNECT_REQ:
- case DL_RESET_REQ:
- case DL_RESET_RES:
- dlpi_error(q, us, d->dl_primitive, DL_OUTSTATE, 0);
- break;
-
- case DL_UDQOS_REQ:
- dlpi_error(q, us, d->dl_primitive, DL_BADQOSTYPE, 0);
- break;
-
-#if DL_CURRENT_VERSION >= 2
- case DL_TEST_RES:
- case DL_XID_RES:
- break;
-#endif
-
- default:
- cmn_err(CE_CONT, "ppp: unknown dlpi prim 0x%x\n", d->dl_primitive);
- /* fall through */
- badprim:
- dlpi_error(q, us, d->dl_primitive, DL_BADPRIM, 0);
- break;
- }
- freemsg(mp);
-}
-
-static void
-dlpi_error(q, us, prim, err, uerr)
- queue_t *q;
- upperstr_t *us;
- int prim, err, uerr;
-{
- mblk_t *reply;
- dl_error_ack_t *errp;
-
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: dlpi error, prim=%x, err=%x\n", us->mn, prim, err);
- reply = allocb(sizeof(dl_error_ack_t), BPRI_HI);
- if (reply == 0)
- return; /* XXX should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- errp = (dl_error_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_error_ack_t);
- errp->dl_primitive = DL_ERROR_ACK;
- errp->dl_error_primitive = prim;
- errp->dl_errno = err;
- errp->dl_unix_errno = uerr;
- qreply(q, reply);
-}
-
-static void
-dlpi_ok(q, prim)
- queue_t *q;
- int prim;
-{
- mblk_t *reply;
- dl_ok_ack_t *okp;
-
- reply = allocb(sizeof(dl_ok_ack_t), BPRI_HI);
- if (reply == 0)
- return; /* XXX should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- okp = (dl_ok_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_ok_ack_t);
- okp->dl_primitive = DL_OK_ACK;
- okp->dl_correct_primitive = prim;
- qreply(q, reply);
-}
-#endif /* NO_DLPI */
-
-static int
-pass_packet(us, mp, outbound)
- upperstr_t *us;
- mblk_t *mp;
- int outbound;
-{
- int pass;
- upperstr_t *ppa;
-
- if ((ppa = us->ppa) == 0) {
- freemsg(mp);
- return 0;
- }
-
-#ifdef FILTER_PACKETS
- pass = ip_hard_filter(us, mp, outbound);
-#else
- /*
- * Here is where we might, in future, decide whether to pass
- * or drop the packet, and whether it counts as link activity.
- */
- pass = 1;
-#endif /* FILTER_PACKETS */
-
- if (pass < 0) {
- /* pass only if link already up, and don't update time */
- if (ppa->lowerq == 0) {
- freemsg(mp);
- return 0;
- }
- pass = 1;
- } else if (pass) {
- if (outbound)
- ppa->last_sent = time;
- else
- ppa->last_recv = time;
- }
-
- return pass;
-}
-
-/*
- * We have some data to send down to the lower stream (or up the
- * control stream, if we don't have a lower stream attached).
- * Returns 1 if the message was dealt with, 0 if it wasn't able
- * to be sent on and should therefore be queued up.
- */
-static int
-send_data(mp, us)
- mblk_t *mp;
- upperstr_t *us;
-{
- upperstr_t *ppa;
-
- if ((us->flags & US_BLOCKED) || us->npmode == NPMODE_QUEUE)
- return 0;
- ppa = us->ppa;
- if (ppa == 0 || us->npmode == NPMODE_DROP || us->npmode == NPMODE_ERROR) {
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: dropping pkt (npmode=%d)\n", us->mn, us->npmode);
- freemsg(mp);
- return 1;
- }
- if (ppa->lowerq == 0) {
- /* try to send it up the control stream */
- if (bcanputnext(ppa->q, mp->b_band)) {
- /*
- * The message seems to get corrupted for some reason if
- * we just send the message up as it is, so we send a copy.
- */
- mblk_t *np = copymsg(mp);
- freemsg(mp);
- if (np != 0)
- putnext(ppa->q, np);
- return 1;
- }
- } else {
- if (bcanputnext(ppa->lowerq, mp->b_band)) {
- MT_ENTER(&ppa->stats_lock);
- ppa->stats.ppp_opackets++;
- ppa->stats.ppp_obytes += msgdsize(mp);
-#ifdef INCR_OPACKETS
- INCR_OPACKETS(ppa);
-#endif
- MT_EXIT(&ppa->stats_lock);
- /*
- * The lower queue is only ever detached while holding an
- * exclusive lock on the whole driver. So we can be confident
- * that the lower queue is still there.
- */
- putnext(ppa->lowerq, mp);
- return 1;
- }
- }
- us->flags |= US_BLOCKED;
- return 0;
-}
-
-/*
- * Allocate a new PPA id and link this stream into the list of PPAs.
- * This procedure is called with an exclusive lock on all queues in
- * this driver.
- */
-static void
-new_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *up, **usp;
- int ppa_id;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("new_ppa: q_ptr = 0!\n");
- return;
- }
-
- usp = &ppas;
- ppa_id = 0;
- while ((up = *usp) != 0 && ppa_id == up->ppa_id) {
- ++ppa_id;
- usp = &up->nextppa;
- }
- us->ppa_id = ppa_id;
- us->ppa = us;
- us->next = 0;
- us->nextppa = *usp;
- *usp = us;
- us->flags |= US_CONTROL;
- us->npmode = NPMODE_PASS;
-
- us->mtu = PPP_MTU;
- us->mru = PPP_MRU;
-
-#ifdef SOL2
- /*
- * Create a kstats record for our statistics, so netstat -i works.
- */
- if (us->kstats == 0) {
- char unit[32];
-
- sprintf(unit, "ppp%d", us->ppa->ppa_id);
- us->kstats = kstat_create("ppp", us->ppa->ppa_id, unit,
- "net", KSTAT_TYPE_NAMED, 4, 0);
- if (us->kstats != 0) {
- kstat_named_t *kn = KSTAT_NAMED_PTR(us->kstats);
-
- strcpy(kn[0].name, "ipackets");
- kn[0].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[1].name, "ierrors");
- kn[1].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[2].name, "opackets");
- kn[2].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[3].name, "oerrors");
- kn[3].data_type = KSTAT_DATA_ULONG;
- kstat_install(us->kstats);
- }
- }
-#endif /* SOL2 */
-
- *(int *)mp->b_cont->b_rptr = ppa_id;
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-static void
-attach_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *t;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("attach_ppa: q_ptr = 0!\n");
- return;
- }
-
-#ifndef NO_DLPI
- us->state = DL_UNBOUND;
-#endif
- for (t = us->ppa; t->next != 0; t = t->next)
- ;
- t->next = us;
- us->next = 0;
- if (mp->b_datap->db_type == M_IOCTL) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
-#ifndef NO_DLPI
- dlpi_ok(q, DL_ATTACH_REQ);
-#endif
- }
-}
-
-static void
-detach_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *t;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("detach_ppa: q_ptr = 0!\n");
- return;
- }
-
- for (t = us->ppa; t->next != 0; t = t->next)
- if (t->next == us) {
- t->next = us->next;
- break;
- }
- us->next = 0;
- us->ppa = 0;
-#ifndef NO_DLPI
- us->state = DL_UNATTACHED;
- dlpi_ok(q, DL_DETACH_REQ);
-#endif
-}
-
-/*
- * We call this with qwriter in order to give the upper queue procedures
- * the guarantee that the lower queue is not going to go away while
- * they are executing.
- */
-static void
-detach_lower(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("detach_lower: q_ptr = 0!\n");
- return;
- }
-
- LOCK_LOWER_W;
- us->lowerq->q_ptr = 0;
- RD(us->lowerq)->q_ptr = 0;
- us->lowerq = 0;
- UNLOCK_LOWER;
-
- /* Unblock streams which now feed back up the control stream. */
- qenable(us->q);
-
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-static int
-pppuwsrv(q)
- queue_t *q;
-{
- upperstr_t *us, *as;
- mblk_t *mp;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppuwsrv: q_ptr = 0!\n");
- return 0;
- }
-
- /*
- * If this is a control stream, then this service procedure
- * probably got enabled because of flow control in the lower
- * stream being enabled (or because of the lower stream going
- * away). Therefore we enable the service procedure of all
- * attached upper streams.
- */
- if (us->flags & US_CONTROL) {
- for (as = us->next; as != 0; as = as->next)
- qenable(WR(as->q));
- }
-
- /* Try to send on any data queued here. */
- us->flags &= ~US_BLOCKED;
- while ((mp = getq(q)) != 0) {
- if (!send_data(mp, us)) {
- putbq(q, mp);
- break;
- }
- }
-
- return 0;
-}
-
-/* should never get called... */
-static int
-ppplwput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- putnext(q, mp);
- return 0;
-}
-
-static int
-ppplwsrv(q)
- queue_t *q;
-{
- queue_t *uq;
-
- /*
- * Flow control has back-enabled this stream:
- * enable the upper write service procedure for
- * the upper control stream for this lower stream.
- */
- LOCK_LOWER_R;
- uq = (queue_t *) q->q_ptr;
- if (uq != 0)
- qenable(uq);
- UNLOCK_LOWER;
- return 0;
-}
-
-/*
- * This should only get called for control streams.
- */
-static int
-pppurput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *ppa, *us;
- int proto, len;
- struct iocblk *iop;
-
- ppa = (upperstr_t *) q->q_ptr;
- if (ppa == 0) {
- DPRINT("pppurput: q_ptr = 0!\n");
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_CTL:
- MT_ENTER(&ppa->stats_lock);
- switch (*mp->b_rptr) {
- case PPPCTL_IERROR:
-#ifdef INCR_IERRORS
- INCR_IERRORS(ppa);
-#endif
- ppa->stats.ppp_ierrors++;
- break;
- case PPPCTL_OERROR:
-#ifdef INCR_OERRORS
- INCR_OERRORS(ppa);
-#endif
- ppa->stats.ppp_oerrors++;
- break;
- }
- MT_EXIT(&ppa->stats_lock);
- freemsg(mp);
- break;
-
- case M_IOCACK:
- case M_IOCNAK:
- /*
- * Attempt to match up the response with the stream
- * that the request came from.
- */
- iop = (struct iocblk *) mp->b_rptr;
- for (us = ppa; us != 0; us = us->next)
- if (us->ioc_id == iop->ioc_id)
- break;
- if (us == 0)
- freemsg(mp);
- else
- putnext(us->q, mp);
- break;
-
- case M_HANGUP:
- /*
- * The serial device has hung up. We don't want to send
- * the M_HANGUP message up to pppd because that will stop
- * us from using the control stream any more. Instead we
- * send a zero-length message as an end-of-file indication.
- */
- freemsg(mp);
- mp = allocb(1, BPRI_HI);
- if (mp == 0) {
- DPRINT1("ppp/%d: couldn't allocate eof message!\n", ppa->mn);
- break;
- }
- putnext(ppa->q, mp);
- break;
-
- default:
- if (mp->b_datap->db_type == M_DATA) {
- len = msgdsize(mp);
- if (mp->b_wptr - mp->b_rptr < PPP_HDRLEN) {
- PULLUP(mp, PPP_HDRLEN);
- if (mp == 0) {
- DPRINT1("ppp_urput: msgpullup failed (len=%d)\n", len);
- break;
- }
- }
- MT_ENTER(&ppa->stats_lock);
- ppa->stats.ppp_ipackets++;
- ppa->stats.ppp_ibytes += len;
-#ifdef INCR_IPACKETS
- INCR_IPACKETS(ppa);
-#endif
- MT_EXIT(&ppa->stats_lock);
-
- proto = PPP_PROTOCOL(mp->b_rptr);
-
-#if defined(SOL2)
- /*
- * Should there be any promiscuous stream(s), send the data
- * up for each promiscuous stream that we recognize.
- */
- promisc_sendup(ppa, mp, proto, 1);
-#endif /* defined(SOL2) */
-
- if (proto < 0x8000 && (us = find_dest(ppa, proto)) != 0) {
- /*
- * A data packet for some network protocol.
- * Queue it on the upper stream for that protocol.
- * XXX could we just putnext it? (would require thought)
- * The rblocked flag is there to ensure that we keep
- * messages in order for each network protocol.
- */
- if (!pass_packet(us, mp, 0))
- break;
- if (!us->rblocked && !canput(us->q))
- us->rblocked = 1;
- if (!us->rblocked)
- putq(us->q, mp);
- else
- putq(q, mp);
- break;
- }
- }
- /*
- * A control frame, a frame for an unknown protocol,
- * or some other message type.
- * Send it up to pppd via the control stream.
- */
- if (queclass(mp) == QPCTL || canputnext(ppa->q))
- putnext(ppa->q, mp);
- else
- putq(q, mp);
- break;
- }
-
- return 0;
-}
-
-static int
-pppursrv(q)
- queue_t *q;
-{
- upperstr_t *us, *as;
- mblk_t *mp, *hdr;
-#ifndef NO_DLPI
- dl_unitdata_ind_t *ud;
-#endif
- int proto;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppursrv: q_ptr = 0!\n");
- return 0;
- }
-
- if (us->flags & US_CONTROL) {
- /*
- * A control stream.
- * If there is no lower queue attached, run the write service
- * routines of other upper streams attached to this PPA.
- */
- if (us->lowerq == 0) {
- as = us;
- do {
- if (as->flags & US_BLOCKED)
- qenable(WR(as->q));
- as = as->next;
- } while (as != 0);
- }
-
- /*
- * Messages get queued on this stream's read queue if they
- * can't be queued on the read queue of the attached stream
- * that they are destined for. This is for flow control -
- * when this queue fills up, the lower read put procedure will
- * queue messages there and the flow control will propagate
- * down from there.
- */
- while ((mp = getq(q)) != 0) {
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto < 0x8000 && (as = find_dest(us, proto)) != 0) {
- if (!canput(as->q))
- break;
- putq(as->q, mp);
- } else {
- if (!canputnext(q))
- break;
- putnext(q, mp);
- }
- }
- if (mp) {
- putbq(q, mp);
- } else {
- /* can now put stuff directly on network protocol streams again */
- for (as = us->next; as != 0; as = as->next)
- as->rblocked = 0;
- }
-
- /*
- * If this stream has a lower stream attached,
- * enable the read queue's service routine.
- * XXX we should really only do this if the queue length
- * has dropped below the low-water mark.
- */
- if (us->lowerq != 0)
- qenable(RD(us->lowerq));
-
- } else {
- /*
- * A network protocol stream. Put a DLPI header on each
- * packet and send it on.
- * (Actually, it seems that the IP module will happily
- * accept M_DATA messages without the DL_UNITDATA_IND header.)
- */
- while ((mp = getq(q)) != 0) {
- if (!canputnext(q)) {
- putbq(q, mp);
- break;
- }
-#ifndef NO_DLPI
- proto = PPP_PROTOCOL(mp->b_rptr);
- mp->b_rptr += PPP_HDRLEN;
- hdr = allocb(sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint),
- BPRI_MED);
- if (hdr == 0) {
- /* XXX should put it back and use bufcall */
- freemsg(mp);
- continue;
- }
- hdr->b_datap->db_type = M_PROTO;
- ud = (dl_unitdata_ind_t *) hdr->b_wptr;
- hdr->b_wptr += sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint);
- hdr->b_cont = mp;
- ud->dl_primitive = DL_UNITDATA_IND;
- ud->dl_dest_addr_length = sizeof(uint);
- ud->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
- ud->dl_src_addr_length = sizeof(uint);
- ud->dl_src_addr_offset = ud->dl_dest_addr_offset + sizeof(uint);
-#if DL_CURRENT_VERSION >= 2
- ud->dl_group_address = 0;
-#endif
- /* Send the DLPI client the data with the SAP they requested,
- (e.g. ETHERTYPE_IP) rather than the PPP protocol number
- (e.g. PPP_IP) */
- ((uint *)(ud + 1))[0] = us->req_sap; /* dest SAP */
- ((uint *)(ud + 1))[1] = us->req_sap; /* src SAP */
- putnext(q, hdr);
-#else /* NO_DLPI */
- putnext(q, mp);
-#endif /* NO_DLPI */
- }
- /*
- * Now that we have consumed some packets from this queue,
- * enable the control stream's read service routine so that we
- * can process any packets for us that might have got queued
- * there for flow control reasons.
- */
- if (us->ppa)
- qenable(us->ppa->q);
- }
-
- return 0;
-}
-
-static upperstr_t *
-find_dest(ppa, proto)
- upperstr_t *ppa;
- int proto;
-{
- upperstr_t *us;
-
- for (us = ppa->next; us != 0; us = us->next)
- if (proto == us->sap)
- break;
- return us;
-}
-
-#if defined (SOL2)
-/*
- * Test upstream promiscuous conditions. As of now, only pass IPv4 and
- * Ipv6 packets upstream (let PPP packets be decoded elsewhere).
- */
-static upperstr_t *
-find_promisc(us, proto)
- upperstr_t *us;
- int proto;
-{
-
- if ((proto != PPP_IP) && (proto != PPP_IPV6))
- return (upperstr_t *)0;
-
- for ( ; us; us = us->next) {
- if ((us->flags & US_PROMISC) && (us->state == DL_IDLE))
- return us;
- }
-
- return (upperstr_t *)0;
-}
-
-/*
- * Prepend an empty Ethernet header to msg for snoop, et al.
- */
-static mblk_t *
-prepend_ether(us, mp, proto)
- upperstr_t *us;
- mblk_t *mp;
- int proto;
-{
- mblk_t *eh;
- int type;
-
- if ((eh = allocb(sizeof(struct ether_header), BPRI_HI)) == 0) {
- freemsg(mp);
- return (mblk_t *)0;
- }
-
- if (proto == PPP_IP)
- type = ETHERTYPE_IP;
- else if (proto == PPP_IPV6)
- type = ETHERTYPE_IPV6;
- else
- type = proto; /* What else? Let decoder decide */
-
- eh->b_wptr += sizeof(struct ether_header);
- bzero((caddr_t)eh->b_rptr, sizeof(struct ether_header));
- ((struct ether_header *)eh->b_rptr)->ether_type = htons((short)type);
- eh->b_cont = mp;
- return (eh);
-}
-
-/*
- * Prepend DL_UNITDATA_IND mblk to msg
- */
-static mblk_t *
-prepend_udind(us, mp, proto)
- upperstr_t *us;
- mblk_t *mp;
- int proto;
-{
- dl_unitdata_ind_t *dlu;
- mblk_t *dh;
- size_t size;
-
- size = sizeof(dl_unitdata_ind_t);
- if ((dh = allocb(size, BPRI_MED)) == 0) {
- freemsg(mp);
- return (mblk_t *)0;
- }
-
- dh->b_datap->db_type = M_PROTO;
- dh->b_wptr = dh->b_datap->db_lim;
- dh->b_rptr = dh->b_wptr - size;
-
- dlu = (dl_unitdata_ind_t *)dh->b_rptr;
- dlu->dl_primitive = DL_UNITDATA_IND;
- dlu->dl_dest_addr_length = 0;
- dlu->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
- dlu->dl_src_addr_length = 0;
- dlu->dl_src_addr_offset = sizeof(dl_unitdata_ind_t);
- dlu->dl_group_address = 0;
-
- dh->b_cont = mp;
- return (dh);
-}
-
-/*
- * For any recognized promiscuous streams, send data upstream
- */
-static void
-promisc_sendup(ppa, mp, proto, skip)
- upperstr_t *ppa;
- mblk_t *mp;
- int proto, skip;
-{
- mblk_t *dup_mp, *dup_dup_mp;
- upperstr_t *prus, *nprus;
-
- if ((prus = find_promisc(ppa, proto)) != 0) {
- if (dup_mp = dupmsg(mp)) {
-
- if (skip)
- dup_mp->b_rptr += PPP_HDRLEN;
-
- for ( ; nprus = find_promisc(prus->next, proto);
- prus = nprus) {
-
- if (dup_dup_mp = dupmsg(dup_mp)) {
- if (canputnext(prus->q)) {
- if (prus->flags & US_RAWDATA) {
- dup_dup_mp = prepend_ether(prus, dup_dup_mp, proto);
- putnext(prus->q, dup_dup_mp);
- } else {
- dup_dup_mp = prepend_udind(prus, dup_dup_mp, proto);
- putnext(prus->q, dup_dup_mp);
- }
- } else {
- DPRINT("ppp_urput: data to promisc q dropped\n");
- freemsg(dup_dup_mp);
- }
- }
- }
-
- if (canputnext(prus->q)) {
- if (prus->flags & US_RAWDATA) {
- dup_mp = prepend_ether(prus, dup_mp, proto);
- putnext(prus->q, dup_mp);
- } else {
- dup_mp = prepend_udind(prus, dup_mp, proto);
- putnext(prus->q, dup_mp);
- }
- } else {
- DPRINT("ppp_urput: data to promisc q dropped\n");
- freemsg(dup_mp);
- }
- }
- }
-}
-#endif /* defined(SOL2) */
-
-/*
- * We simply put the message on to the associated upper control stream
- * (either here or in ppplrsrv). That way we enter the perimeters
- * before looking through the list of attached streams to decide which
- * stream it should go up.
- */
-static int
-ppplrput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- queue_t *uq;
- struct iocblk *iop;
-
- switch (mp->b_datap->db_type) {
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- iop->ioc_error = EINVAL;
- mp->b_datap->db_type = M_IOCNAK;
- qreply(q, mp);
- return 0;
- case M_FLUSH:
- if (*mp->b_rptr & FLUSHR)
- flushq(q, FLUSHDATA);
- if (*mp->b_rptr & FLUSHW) {
- *mp->b_rptr &= ~FLUSHR;
- qreply(q, mp);
- } else
- freemsg(mp);
- return 0;
- }
-
- /*
- * If we can't get the lower lock straight away, queue this one
- * rather than blocking, to avoid the possibility of deadlock.
- */
- if (!TRYLOCK_LOWER_R) {
- putq(q, mp);
- return 0;
- }
-
- /*
- * Check that we're still connected to the driver.
- */
- uq = (queue_t *) q->q_ptr;
- if (uq == 0) {
- UNLOCK_LOWER;
- DPRINT1("ppplrput: q = %x, uq = 0??\n", q);
- freemsg(mp);
- return 0;
- }
-
- /*
- * Try to forward the message to the put routine for the upper
- * control stream for this lower stream.
- * If there are already messages queued here, queue this one so
- * they don't get out of order.
- */
- if (queclass(mp) == QPCTL || (qsize(q) == 0 && canput(uq)))
- put(uq, mp);
- else
- putq(q, mp);
-
- UNLOCK_LOWER;
- return 0;
-}
-
-static int
-ppplrsrv(q)
- queue_t *q;
-{
- mblk_t *mp;
- queue_t *uq;
-
- /*
- * Packets get queued here for flow control reasons
- * or if the lrput routine couldn't get the lower lock
- * without blocking.
- */
- LOCK_LOWER_R;
- uq = (queue_t *) q->q_ptr;
- if (uq == 0) {
- UNLOCK_LOWER;
- flushq(q, FLUSHALL);
- DPRINT1("ppplrsrv: q = %x, uq = 0??\n", q);
- return 0;
- }
- while ((mp = getq(q)) != 0) {
- if (queclass(mp) == QPCTL || canput(uq))
- put(uq, mp);
- else {
- putbq(q, mp);
- break;
- }
- }
- UNLOCK_LOWER;
- return 0;
-}
-
-static int
-putctl2(q, type, code, val)
- queue_t *q;
- int type, code, val;
-{
- mblk_t *mp;
-
- mp = allocb(2, BPRI_HI);
- if (mp == 0)
- return 0;
- mp->b_datap->db_type = type;
- mp->b_wptr[0] = code;
- mp->b_wptr[1] = val;
- mp->b_wptr += 2;
- putnext(q, mp);
- return 1;
-}
-
-static int
-putctl4(q, type, code, val)
- queue_t *q;
- int type, code, val;
-{
- mblk_t *mp;
-
- mp = allocb(4, BPRI_HI);
- if (mp == 0)
- return 0;
- mp->b_datap->db_type = type;
- mp->b_wptr[0] = code;
- ((short *)mp->b_wptr)[1] = val;
- mp->b_wptr += 4;
- putnext(q, mp);
- return 1;
-}
-
-static void
-debug_dump(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us;
- queue_t *uq, *lq;
-
- DPRINT("ppp upper streams:\n");
- for (us = minor_devs; us != 0; us = us->nextmn) {
- uq = us->q;
- DPRINT3(" %d: q=%x rlev=%d",
- us->mn, uq, (uq? qsize(uq): 0));
- DPRINT3(" wlev=%d flags=0x%b", (uq? qsize(WR(uq)): 0),
- us->flags, "\020\1priv\2control\3blocked\4last");
- DPRINT3(" state=%x sap=%x req_sap=%x", us->state, us->sap,
- us->req_sap);
- if (us->ppa == 0)
- DPRINT(" ppa=?\n");
- else
- DPRINT1(" ppa=%d\n", us->ppa->ppa_id);
- if (us->flags & US_CONTROL) {
- lq = us->lowerq;
- DPRINT3(" control for %d lq=%x rlev=%d",
- us->ppa_id, lq, (lq? qsize(RD(lq)): 0));
- DPRINT3(" wlev=%d mru=%d mtu=%d\n",
- (lq? qsize(lq): 0), us->mru, us->mtu);
- }
- }
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-#ifdef FILTER_PACKETS
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/udp.h>
-#include <netinet/tcp.h>
-
-#define MAX_IPHDR 128 /* max TCP/IP header size */
-
-
-/* The following table contains a hard-coded list of protocol/port pairs.
- * Any matching packets are either discarded unconditionally, or,
- * if ok_if_link_up is non-zero when a connection does not currently exist
- * (i.e., they go through if the connection is present, but never initiate
- * a dial-out).
- * This idea came from a post by dm@garage.uun.org (David Mazieres)
- */
-static struct pktfilt_tab {
- int proto;
- u_short port;
- u_short ok_if_link_up;
-} pktfilt_tab[] = {
- { IPPROTO_UDP, 520, 1 }, /* RIP, ok to pass if link is up */
- { IPPROTO_UDP, 123, 1 }, /* NTP, don't keep up the link for it */
- { -1, 0, 0 } /* terminator entry has port == -1 */
-};
-
-
-static int
-ip_hard_filter(us, mp, outbound)
- upperstr_t *us;
- mblk_t *mp;
- int outbound;
-{
- struct ip *ip;
- struct pktfilt_tab *pft;
- mblk_t *temp_mp;
- int proto;
- int len, hlen;
-
-
- /* Note, the PPP header has already been pulled up in all cases */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: filter, proto=0x%x, out=%d\n", us->mn, proto, outbound);
-
- switch (proto)
- {
- case PPP_IP:
- if ((mp->b_wptr - mp->b_rptr) == PPP_HDRLEN && mp->b_cont != 0) {
- temp_mp = mp->b_cont;
- len = msgdsize(temp_mp);
- hlen = (len < MAX_IPHDR) ? len : MAX_IPHDR;
- PULLUP(temp_mp, hlen);
- if (temp_mp == 0) {
- DPRINT2("ppp/%d: filter, pullup next failed, len=%d\n",
- us->mn, hlen);
- mp->b_cont = 0; /* PULLUP() freed the rest */
- freemsg(mp);
- return 0;
- }
- ip = (struct ip *)mp->b_cont->b_rptr;
- }
- else {
- len = msgdsize(mp);
- hlen = (len < (PPP_HDRLEN+MAX_IPHDR)) ? len : (PPP_HDRLEN+MAX_IPHDR);
- PULLUP(mp, hlen);
- if (mp == 0) {
- DPRINT2("ppp/%d: filter, pullup failed, len=%d\n",
- us->mn, hlen);
- return 0;
- }
- ip = (struct ip *)(mp->b_rptr + PPP_HDRLEN);
- }
-
- /* For IP traffic, certain packets (e.g., RIP) may be either
- * 1. ignored - dropped completely
- * 2. will not initiate a connection, but
- * will be passed if a connection is currently up.
- */
- for (pft=pktfilt_tab; pft->proto != -1; pft++) {
- if (ip->ip_p == pft->proto) {
- switch(pft->proto) {
- case IPPROTO_UDP:
- if (((struct udphdr *) &((int *)ip)[ip->ip_hl])->uh_dport
- == htons(pft->port)) goto endfor;
- break;
- case IPPROTO_TCP:
- if (((struct tcphdr *) &((int *)ip)[ip->ip_hl])->th_dport
- == htons(pft->port)) goto endfor;
- break;
- }
- }
- }
- endfor:
- if (pft->proto != -1) {
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: found IP pkt, proto=0x%x (%d)\n",
- us->mn, pft->proto, pft->port);
- /* Discard if not connected, or if not pass_with_link_up */
- /* else, if link is up let go by, but don't update time */
- return pft->ok_if_link_up? -1: 0;
- }
- break;
- } /* end switch (proto) */
-
- return 1;
-}
-#endif /* FILTER_PACKETS */
-
diff --git a/mdk-stage1/ppp/solaris/ppp.conf b/mdk-stage1/ppp/solaris/ppp.conf
deleted file mode 100644
index e443a7aac..000000000
--- a/mdk-stage1/ppp/solaris/ppp.conf
+++ /dev/null
@@ -1 +0,0 @@
-name="ppp" parent="pseudo" instance=0;
diff --git a/mdk-stage1/ppp/solaris/ppp_ahdlc.c b/mdk-stage1/ppp/solaris/ppp_ahdlc.c
deleted file mode 100644
index d0b961258..000000000
--- a/mdk-stage1/ppp/solaris/ppp_ahdlc.c
+++ /dev/null
@@ -1,878 +0,0 @@
-/*
- * ppp_ahdlc.c - STREAMS module for doing PPP asynchronous HDLC.
- *
- * Re-written by Adi Masputra <adi.masputra@sun.com>, based on
- * the original ppp_ahdlc.c
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies.
- *
- * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
- */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stream.h>
-#include <sys/errno.h>
-
-#ifdef SVR4
-#include <sys/conf.h>
-#include <sys/kmem.h>
-#include <sys/cmn_err.h>
-#include <sys/ddi.h>
-#else
-#include <sys/user.h>
-#ifdef __osf__
-#include <sys/cmn_err.h>
-#endif
-#endif /* SVR4 */
-
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-/*
- * Right now, mutex is only enabled for Solaris 2.x
- */
-#if defined(SOL2)
-#define USE_MUTEX
-#endif /* SOL2 */
-
-/*
- * intpointer_t and uintpointer_t are signed and unsigned integer types
- * large enough to hold any data pointer; that is, data pointers can be
- * assigned into or from these integer types without losing precision.
- * On recent Solaris releases, these types are defined in sys/int_types.h,
- * but not on SunOS 4.x or the earlier Solaris versions.
- */
-#if defined(_LP64) || defined(_I32LPx)
-typedef long intpointer_t;
-typedef unsigned long uintpointer_t;
-#else
-typedef int intpointer_t;
-typedef unsigned int uintpointer_t;
-#endif
-
-MOD_OPEN_DECL(ahdlc_open);
-MOD_CLOSE_DECL(ahdlc_close);
-static int ahdlc_wput __P((queue_t *, mblk_t *));
-static int ahdlc_rput __P((queue_t *, mblk_t *));
-static void ahdlc_encode __P((queue_t *, mblk_t *));
-static void ahdlc_decode __P((queue_t *, mblk_t *));
-static int msg_byte __P((mblk_t *, unsigned int));
-
-#if defined(SOL2)
-/*
- * Don't send HDLC start flag is last transmit is within 1.5 seconds -
- * FLAG_TIME is defined is microseconds
- */
-#define FLAG_TIME 1500
-#define ABS(x) (x >= 0 ? x : (-x))
-#endif /* SOL2 */
-
-/*
- * Extract byte i of message mp
- */
-#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
- msg_byte((mp), (i)))
-
-/*
- * Is this LCP packet one we have to transmit using LCP defaults?
- */
-#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
-
-/*
- * Standard STREAMS declarations
- */
-static struct module_info minfo = {
- 0x7d23, "ppp_ahdl", 0, INFPSZ, 32768, 512
-};
-
-static struct qinit rinit = {
- ahdlc_rput, NULL, ahdlc_open, ahdlc_close, NULL, &minfo, NULL
-};
-
-static struct qinit winit = {
- ahdlc_wput, NULL, NULL, NULL, NULL, &minfo, NULL
-};
-
-#if defined(SVR4) && !defined(SOL2)
-int phdldevflag = 0;
-#define ppp_ahdlcinfo phdlinfo
-#endif /* defined(SVR4) && !defined(SOL2) */
-
-struct streamtab ppp_ahdlcinfo = {
- &rinit, /* ptr to st_rdinit */
- &winit, /* ptr to st_wrinit */
- NULL, /* ptr to st_muxrinit */
- NULL, /* ptr to st_muxwinit */
-#if defined(SUNOS4)
- NULL /* ptr to ptr to st_modlist */
-#endif /* SUNOS4 */
-};
-
-#if defined(SUNOS4)
-int ppp_ahdlc_count = 0; /* open counter */
-#endif /* SUNOS4 */
-
-/*
- * Per-stream state structure
- */
-typedef struct ahdlc_state {
-#if defined(USE_MUTEX)
- kmutex_t lock; /* lock for this structure */
-#endif /* USE_MUTEX */
- int flags; /* link flags */
- mblk_t *rx_buf; /* ptr to receive buffer */
- int rx_buf_size; /* receive buffer size */
- ushort_t infcs; /* calculated rx HDLC FCS */
- u_int32_t xaccm[8]; /* 256-bit xmit ACCM */
- u_int32_t raccm; /* 32-bit rcv ACCM */
- int mtu; /* interface MTU */
- int mru; /* link MRU */
- int unit; /* current PPP unit number */
- struct pppstat stats; /* statistic structure */
-#if defined(SOL2)
- clock_t flag_time; /* time in usec between flags */
- clock_t lbolt; /* last updated lbolt */
-#endif /* SOL2 */
-} ahdlc_state_t;
-
-/*
- * Values for flags
- */
-#define ESCAPED 0x100 /* last saw escape char on input */
-#define IFLUSH 0x200 /* flushing input due to error */
-
-/*
- * RCV_B7_1, etc., defined in net/pppio.h, are stored in flags also.
- */
-#define RCV_FLAGS (RCV_B7_1|RCV_B7_0|RCV_ODDP|RCV_EVNP)
-
-/*
- * FCS lookup table as calculated by genfcstab.
- */
-static u_short fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-static u_int32_t paritytab[8] =
-{
- 0x96696996, 0x69969669, 0x69969669, 0x96696996,
- 0x69969669, 0x96696996, 0x96696996, 0x69969669
-};
-
-/*
- * STREAMS module open (entry) point
- */
-MOD_OPEN(ahdlc_open)
-{
- ahdlc_state_t *state;
-
- /*
- * Return if it's already opened
- */
- if (q->q_ptr) {
- return 0;
- }
-
- /*
- * This can only be opened as a module
- */
- if (sflag != MODOPEN) {
- return 0;
- }
-
- state = (ahdlc_state_t *) ALLOC_NOSLEEP(sizeof(ahdlc_state_t));
- if (state == 0)
- OPEN_ERROR(ENOSR);
- bzero((caddr_t) state, sizeof(ahdlc_state_t));
-
- q->q_ptr = (caddr_t) state;
- WR(q)->q_ptr = (caddr_t) state;
-
-#if defined(USE_MUTEX)
- mutex_init(&state->lock, NULL, MUTEX_DEFAULT, NULL);
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- state->xaccm[0] = ~0; /* escape 0x00 through 0x1f */
- state->xaccm[3] = 0x60000000; /* escape 0x7d and 0x7e */
- state->mru = PPP_MRU; /* default of 1500 bytes */
-#if defined(SOL2)
- state->flag_time = drv_usectohz(FLAG_TIME);
-#endif /* SOL2 */
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-
-#if defined(SUNOS4)
- ppp_ahdlc_count++;
-#endif /* SUNOS4 */
-
- qprocson(q);
-
- return 0;
-}
-
-/*
- * STREAMS module close (exit) point
- */
-MOD_CLOSE(ahdlc_close)
-{
- ahdlc_state_t *state;
-
- qprocsoff(q);
-
- state = (ahdlc_state_t *) q->q_ptr;
-
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_close\n");
- return 0;
- }
-
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- if (state->rx_buf != 0) {
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- }
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
- mutex_destroy(&state->lock);
-#endif /* USE_MUTEX */
-
- FREE(q->q_ptr, sizeof(ahdlc_state_t));
- q->q_ptr = NULL;
- OTHERQ(q)->q_ptr = NULL;
-
-#if defined(SUNOS4)
- if (ppp_ahdlc_count)
- ppp_ahdlc_count--;
-#endif /* SUNOS4 */
-
- return 0;
-}
-
-/*
- * Write side put routine
- */
-static int
-ahdlc_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- struct iocblk *iop;
- int error;
- mblk_t *np;
- struct ppp_stats *psp;
-
- state = (ahdlc_state_t *) q->q_ptr;
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_wput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_DATA:
- /*
- * A data packet - do character-stuffing and FCS, and
- * send it onwards.
- */
- ahdlc_encode(q, mp);
- freemsg(mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- switch (iop->ioc_cmd) {
- case PPPIO_XACCM:
- if ((iop->ioc_count < sizeof(u_int32_t)) ||
- (iop->ioc_count > sizeof(ext_accm))) {
- break;
- }
- if (mp->b_cont == 0) {
- DPRINT1("ahdlc_wput/%d: PPPIO_XACCM b_cont = 0!\n", state->unit);
- break;
- }
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)state->xaccm,
- iop->ioc_count);
- state->xaccm[2] &= ~0x40000000; /* don't escape 0x5e */
- state->xaccm[3] |= 0x60000000; /* do escape 0x7d, 0x7e */
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_RACCM:
- if (iop->ioc_count != sizeof(u_int32_t))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ahdlc_wput/%d: PPPIO_RACCM b_cont = 0!\n", state->unit);
- break;
- }
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)&state->raccm,
- sizeof(u_int32_t));
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_GCLEAN:
- np = allocb(sizeof(int), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- *(int *)np->b_wptr = state->flags & RCV_FLAGS;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- np->b_wptr += sizeof(int);
- iop->ioc_count = sizeof(int);
- error = 0;
- break;
-
- case PPPIO_GETSTAT:
- np = allocb(sizeof(struct ppp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- psp = (struct ppp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_stats);
- bzero((caddr_t)psp, sizeof(struct ppp_stats));
- psp->p = state->stats;
- iop->ioc_count = sizeof(struct ppp_stats);
- error = 0;
- break;
-
- case PPPIO_LASTMOD:
- /* we knew this anyway */
- error = 0;
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_count = 0;
- iop->ioc_error = error;
- qreply(q, mp);
- }
- break;
-
- case M_CTL:
- switch (*mp->b_rptr) {
- case PPPCTL_MTU:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->mtu = ((unsigned short *)mp->b_rptr)[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- freemsg(mp);
- break;
- case PPPCTL_MRU:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->mru = ((unsigned short *)mp->b_rptr)[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- freemsg(mp);
- break;
- case PPPCTL_UNIT:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->unit = mp->b_rptr[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- break;
- default:
- putnext(q, mp);
- }
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-/*
- * Read side put routine
- */
-static int
-ahdlc_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
-
- state = (ahdlc_state_t *) q->q_ptr;
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_rput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_DATA:
- ahdlc_decode(q, mp);
- freemsg(mp);
- break;
-
- case M_HANGUP:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- if (state->rx_buf != 0) {
- /* XXX would like to send this up for debugging */
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- }
- state->flags = IFLUSH;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
- return 0;
-}
-
-/*
- * Extract bit c from map m, to determine if c needs to be escaped
- */
-#define IN_TX_MAP(c, m) ((m)[(c) >> 5] & (1 << ((c) & 0x1f)))
-
-static void
-ahdlc_encode(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- u_int32_t *xaccm, loc_xaccm[8];
- ushort_t fcs;
- size_t outmp_len;
- mblk_t *outmp, *tmp;
- uchar_t *dp, fcs_val;
- int is_lcp, code;
-#if defined(SOL2)
- clock_t lbolt;
-#endif /* SOL2 */
-
- if (msgdsize(mp) < 4) {
- return;
- }
-
- state = (ahdlc_state_t *)q->q_ptr;
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- /*
- * Allocate an output buffer large enough to handle a case where all
- * characters need to be escaped
- */
- outmp_len = (msgdsize(mp) << 1) + /* input block x 2 */
- (sizeof(fcs) << 2) + /* HDLC FCS x 4 */
- (sizeof(uchar_t) << 1); /* HDLC flags x 2 */
-
- outmp = allocb(outmp_len, BPRI_MED);
- if (outmp == NULL) {
- state->stats.ppp_oerrors++;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- return;
- }
-
-#if defined(SOL2)
- /*
- * Check if our last transmit happenned within flag_time, using
- * the system's LBOLT value in clock ticks
- */
- if (drv_getparm(LBOLT, &lbolt) != -1) {
- if (ABS((clock_t)lbolt - state->lbolt) > state->flag_time) {
- *outmp->b_wptr++ = PPP_FLAG;
- }
- state->lbolt = lbolt;
- } else {
- *outmp->b_wptr++ = PPP_FLAG;
- }
-#else
- /*
- * If the driver below still has a message to process, skip the
- * HDLC flag, otherwise, put one in the beginning
- */
- if (qsize(q->q_next) == 0) {
- *outmp->b_wptr++ = PPP_FLAG;
- }
-#endif
-
- /*
- * All control characters must be escaped for LCP packets with code
- * values between 1 (Conf-Req) and 7 (Code-Rej).
- */
- is_lcp = ((MSG_BYTE(mp, 0) == PPP_ALLSTATIONS) &&
- (MSG_BYTE(mp, 1) == PPP_UI) &&
- (MSG_BYTE(mp, 2) == (PPP_LCP >> 8)) &&
- (MSG_BYTE(mp, 3) == (PPP_LCP & 0xff)) &&
- LCP_USE_DFLT(mp));
-
- xaccm = state->xaccm;
- if (is_lcp) {
- bcopy((caddr_t)state->xaccm, (caddr_t)loc_xaccm, sizeof(loc_xaccm));
- loc_xaccm[0] = ~0; /* force escape on 0x00 through 0x1f */
- xaccm = loc_xaccm;
- }
-
- fcs = PPP_INITFCS; /* Initial FCS is 0xffff */
-
- /*
- * Process this block and the rest (if any) attached to the this one
- */
- for (tmp = mp; tmp; tmp = tmp->b_cont) {
- if (tmp->b_datap->db_type == M_DATA) {
- for (dp = tmp->b_rptr; dp < tmp->b_wptr; dp++) {
- fcs = PPP_FCS(fcs, *dp);
- if (IN_TX_MAP(*dp, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = *dp ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = *dp;
- }
- }
- } else {
- continue; /* skip if db_type is something other than M_DATA */
- }
- }
-
- /*
- * Append the HDLC FCS, making sure that escaping is done on any
- * necessary bytes
- */
- fcs_val = (fcs ^ 0xffff) & 0xff;
- if (IN_TX_MAP(fcs_val, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = fcs_val;
- }
-
- fcs_val = ((fcs ^ 0xffff) >> 8) & 0xff;
- if (IN_TX_MAP(fcs_val, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = fcs_val;
- }
-
- /*
- * And finally, append the HDLC flag, and send it away
- */
- *outmp->b_wptr++ = PPP_FLAG;
-
- state->stats.ppp_obytes += msgdsize(outmp);
- state->stats.ppp_opackets++;
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-
- putnext(q, outmp);
- return;
-}
-
-/*
- * Checks the 32-bit receive ACCM to see if the byte needs un-escaping
- */
-#define IN_RX_MAP(c, m) ((((unsigned int) (uchar_t) (c)) < 0x20) && \
- (m) & (1 << (c)))
-
-
-/*
- * Process received characters.
- */
-static void
-ahdlc_decode(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- mblk_t *om;
- uchar_t *dp;
- ushort_t fcs;
-#if defined(SOL2)
- mblk_t *zmp;
-#endif /* SOL2 */
-
-#if defined(SOL2)
- /*
- * In case the driver (or something below) doesn't send
- * data upstream in one message block, concatenate everything
- */
- if (!((mp->b_wptr - mp->b_rptr == msgdsize(mp)) &&
- ((intpointer_t)mp->b_rptr % sizeof(intpointer_t) == 0))) {
-
- zmp = msgpullup(mp, -1);
- freemsg(mp);
- mp = zmp;
- if (mp == 0)
- return;
- }
-#endif /* SOL2 */
-
- state = (ahdlc_state_t *) q->q_ptr;
-
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- state->stats.ppp_ibytes += msgdsize(mp);
-
- for (dp = mp->b_rptr; dp < mp->b_wptr; dp++) {
-
- /*
- * This should detect the lack of 8-bit communication channel
- * which is necessary for PPP to work. In addition, it also
- * checks on the parity.
- */
- if (*dp & 0x80)
- state->flags |= RCV_B7_1;
- else
- state->flags |= RCV_B7_0;
-
- if (paritytab[*dp >> 5] & (1 << (*dp & 0x1f)))
- state->flags |= RCV_ODDP;
- else
- state->flags |= RCV_EVNP;
-
- /*
- * So we have a HDLC flag ...
- */
- if (*dp == PPP_FLAG) {
-
- /*
- * If we think that it marks the beginning of the frame,
- * then continue to process the next octects
- */
- if ((state->flags & IFLUSH) ||
- (state->rx_buf == 0) ||
- (msgdsize(state->rx_buf) == 0)) {
-
- state->flags &= ~IFLUSH;
- continue;
- }
-
- /*
- * We get here because the above condition isn't true,
- * in which case the HDLC flag was there to mark the end
- * of the frame (or so we think)
- */
- om = state->rx_buf;
-
- if (state->infcs == PPP_GOODFCS) {
- state->stats.ppp_ipackets++;
- adjmsg(om, -PPP_FCSLEN);
- putnext(q, om);
- } else {
- DPRINT2("ppp%d: bad fcs (len=%d)\n",
- state->unit, msgdsize(state->rx_buf));
- freemsg(state->rx_buf);
- state->flags &= ~(IFLUSH | ESCAPED);
- state->stats.ppp_ierrors++;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- }
-
- state->rx_buf = 0;
- continue;
- }
-
- if (state->flags & IFLUSH) {
- continue;
- }
-
- /*
- * Allocate a receive buffer, large enough to store a frame (after
- * un-escaping) of at least 1500 octets. If MRU is negotiated to
- * be more than the default, then allocate that much. In addition,
- * we add an extra 32-bytes for a fudge factor
- */
- if (state->rx_buf == 0) {
- state->rx_buf_size = (state->mru < PPP_MRU ? PPP_MRU : state->mru);
- state->rx_buf_size += (sizeof(u_int32_t) << 3);
- state->rx_buf = allocb(state->rx_buf_size, BPRI_MED);
-
- /*
- * If allocation fails, try again on the next frame
- */
- if (state->rx_buf == 0) {
- state->flags |= IFLUSH;
- continue;
- }
- state->flags &= ~(IFLUSH | ESCAPED);
- state->infcs = PPP_INITFCS;
- }
-
- if (*dp == PPP_ESCAPE) {
- state->flags |= ESCAPED;
- continue;
- }
-
- /*
- * Make sure we un-escape the necessary characters, as well as the
- * ones in our receive async control character map
- */
- if (state->flags & ESCAPED) {
- *dp ^= PPP_TRANS;
- state->flags &= ~ESCAPED;
- } else if (IN_RX_MAP(*dp, state->raccm))
- continue;
-
- /*
- * Unless the peer lied to us about the negotiated MRU, we should
- * never get a frame which is too long. If it happens, toss it away
- * and grab the next incoming one
- */
- if (msgdsize(state->rx_buf) < state->rx_buf_size) {
- state->infcs = PPP_FCS(state->infcs, *dp);
- *state->rx_buf->b_wptr++ = *dp;
- } else {
- DPRINT2("ppp%d: frame too long (%d)\n",
- state->unit, msgdsize(state->rx_buf));
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- state->flags |= IFLUSH;
- }
- }
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-}
-
-static int
-msg_byte(mp, i)
- mblk_t *mp;
- unsigned int i;
-{
- while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
- mp = mp->b_cont;
- if (mp == 0)
- return -1;
- return mp->b_rptr[i];
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c b/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c
deleted file mode 100644
index f81be8abb..000000000
--- a/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-
-extern struct streamtab ppp_ahdlcinfo;
-
-static struct fmodsw fsw = {
- "ppp_ahdl",
- &ppp_ahdlcinfo,
- D_NEW | D_MP | D_MTQPAIR
-};
-
-extern struct mod_ops mod_strmodops;
-
-static struct modlstrmod modlstrmod = {
- &mod_strmodops,
- "PPP async HDLC module",
- &fsw
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modlstrmod,
- NULL
-};
-
-/*
- * Entry points for modloading.
- */
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_comp.c b/mdk-stage1/ppp/solaris/ppp_comp.c
deleted file mode 100644
index f6eef5ab1..000000000
--- a/mdk-stage1/ppp/solaris/ppp_comp.c
+++ /dev/null
@@ -1,1126 +0,0 @@
-/*
- * ppp_comp.c - STREAMS module for kernel-level compression and CCP support.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under SVR4, Solaris 2, SunOS 4, and Digital UNIX.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/errno.h>
-#include <sys/stream.h>
-
-#ifdef SVR4
-#include <sys/conf.h>
-#include <sys/cmn_err.h>
-#include <sys/ddi.h>
-#else
-#include <sys/user.h>
-#ifdef __osf__
-#include <sys/cmn_err.h>
-#endif
-#endif /* SVR4 */
-
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-#ifdef __osf__
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#endif
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <net/vjcompress.h>
-
-#define PACKETPTR mblk_t *
-#include <net/ppp-comp.h>
-
-MOD_OPEN_DECL(ppp_comp_open);
-MOD_CLOSE_DECL(ppp_comp_close);
-static int ppp_comp_rput __P((queue_t *, mblk_t *));
-static int ppp_comp_rsrv __P((queue_t *));
-static int ppp_comp_wput __P((queue_t *, mblk_t *));
-static int ppp_comp_wsrv __P((queue_t *));
-static void ppp_comp_ccp __P((queue_t *, mblk_t *, int));
-static int msg_byte __P((mblk_t *, unsigned int));
-
-/* Extract byte i of message mp. */
-#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
- msg_byte((mp), (i)))
-
-/* Is this LCP packet one we have to transmit using LCP defaults? */
-#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
-
-#define PPP_COMP_ID 0xbadf
-static struct module_info minfo = {
-#ifdef PRIOQ
- PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16512, 16384,
-#else
- PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16384, 4096,
-#endif
-};
-
-static struct qinit r_init = {
- ppp_comp_rput, ppp_comp_rsrv, ppp_comp_open, ppp_comp_close,
- NULL, &minfo, NULL
-};
-
-static struct qinit w_init = {
- ppp_comp_wput, ppp_comp_wsrv, NULL, NULL, NULL, &minfo, NULL
-};
-
-#if defined(SVR4) && !defined(SOL2)
-int pcmpdevflag = 0;
-#define ppp_compinfo pcmpinfo
-#endif
-struct streamtab ppp_compinfo = {
- &r_init, &w_init, NULL, NULL
-};
-
-int ppp_comp_count; /* number of module instances in use */
-
-#ifdef __osf__
-
-static void ppp_comp_alloc __P((comp_state_t *));
-typedef struct memreq {
- unsigned char comp_opts[20];
- int cmd;
- int thread_status;
- char *returned_mem;
-} memreq_t;
-
-#endif
-
-typedef struct comp_state {
- int flags;
- int mru;
- int mtu;
- int unit;
- struct compressor *xcomp;
- void *xstate;
- struct compressor *rcomp;
- void *rstate;
- struct vjcompress vj_comp;
- int vj_last_ierrors;
- struct pppstat stats;
-#ifdef __osf__
- memreq_t memreq;
- thread_t thread;
-#endif
-} comp_state_t;
-
-
-#ifdef __osf__
-extern task_t first_task;
-#endif
-
-/* Bits in flags are as defined in pppio.h. */
-#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
-#define LAST_MOD 0x1000000 /* no ppp modules below us */
-#define DBGLOG 0x2000000 /* log debugging stuff */
-
-#define MAX_IPHDR 128 /* max TCP/IP header size */
-#define MAX_VJHDR 20 /* max VJ compressed header size (?) */
-
-#undef MIN /* just in case */
-#define MIN(a, b) ((a) < (b)? (a): (b))
-
-/*
- * List of compressors we know about.
- */
-
-#if DO_BSD_COMPRESS
-extern struct compressor ppp_bsd_compress;
-#endif
-#if DO_DEFLATE
-extern struct compressor ppp_deflate, ppp_deflate_draft;
-#endif
-
-struct compressor *ppp_compressors[] = {
-#if DO_BSD_COMPRESS
- &ppp_bsd_compress,
-#endif
-#if DO_DEFLATE
- &ppp_deflate,
- &ppp_deflate_draft,
-#endif
- NULL
-};
-
-/*
- * STREAMS module entry points.
- */
-MOD_OPEN(ppp_comp_open)
-{
- comp_state_t *cp;
-#ifdef __osf__
- thread_t thread;
-#endif
-
- if (q->q_ptr == NULL) {
- cp = (comp_state_t *) ALLOC_SLEEP(sizeof(comp_state_t));
- if (cp == NULL)
- OPEN_ERROR(ENOSR);
- bzero((caddr_t)cp, sizeof(comp_state_t));
- WR(q)->q_ptr = q->q_ptr = (caddr_t) cp;
- cp->mru = PPP_MRU;
- cp->mtu = PPP_MTU;
- cp->xstate = NULL;
- cp->rstate = NULL;
- vj_compress_init(&cp->vj_comp, -1);
-#ifdef __osf__
- if (!(thread = kernel_thread_w_arg(first_task, ppp_comp_alloc, (void *)cp)))
- OPEN_ERROR(ENOSR);
- cp->thread = thread;
-#endif
- ++ppp_comp_count;
- qprocson(q);
- }
- return 0;
-}
-
-MOD_CLOSE(ppp_comp_close)
-{
- comp_state_t *cp;
-
- qprocsoff(q);
- cp = (comp_state_t *) q->q_ptr;
- if (cp != NULL) {
- if (cp->xstate != NULL)
- (*cp->xcomp->comp_free)(cp->xstate);
- if (cp->rstate != NULL)
- (*cp->rcomp->decomp_free)(cp->rstate);
-#ifdef __osf__
- if (!cp->thread)
- printf("ppp_comp_close: NULL thread!\n");
- else
- thread_terminate(cp->thread);
-#endif
- FREE(cp, sizeof(comp_state_t));
- q->q_ptr = NULL;
- OTHERQ(q)->q_ptr = NULL;
- --ppp_comp_count;
- }
- return 0;
-}
-
-#ifdef __osf__
-
-/* thread for calling back to a compressor's memory allocator
- * Needed for Digital UNIX since it's VM can't handle requests
- * for large amounts of memory without blocking. The thread
- * provides a context in which we can call a memory allocator
- * that may block.
- */
-static void
-ppp_comp_alloc(comp_state_t *cp)
-{
- int len, cmd;
- unsigned char *compressor_options;
- thread_t thread;
- void *(*comp_allocator)();
-
-
-#if defined(MAJOR_VERSION) && (MAJOR_VERSION <= 2)
-
- /* In 2.x and earlier the argument gets passed
- * in the thread structure itself. Yuck.
- */
- thread = current_thread();
- cp = thread->reply_port;
- thread->reply_port = PORT_NULL;
-
-#endif
-
- for (;;) {
- assert_wait((vm_offset_t)&cp->memreq.thread_status, TRUE);
- thread_block();
-
- if (thread_should_halt(current_thread()))
- thread_halt_self();
- cmd = cp->memreq.cmd;
- compressor_options = &cp->memreq.comp_opts[0];
- len = compressor_options[1];
- if (cmd == PPPIO_XCOMP) {
- cp->memreq.returned_mem = cp->xcomp->comp_alloc(compressor_options, len);
- if (!cp->memreq.returned_mem) {
- cp->memreq.thread_status = ENOSR;
- } else {
- cp->memreq.thread_status = 0;
- }
- } else {
- cp->memreq.returned_mem = cp->rcomp->decomp_alloc(compressor_options, len);
- if (!cp->memreq.returned_mem) {
- cp->memreq.thread_status = ENOSR;
- } else {
- cp->memreq.thread_status = 0;
- }
- }
- }
-}
-
-#endif /* __osf__ */
-
-/* here's the deal with memory allocation under Digital UNIX.
- * Some other may also benefit from this...
- * We can't ask for huge chunks of memory in a context where
- * the caller can't be put to sleep (like, here.) The alloc
- * is likely to fail. Instead we do this: the first time we
- * get called, kick off a thread to do the allocation. Return
- * immediately to the caller with EAGAIN, as an indication that
- * they should send down the ioctl again. By the time the
- * second call comes in it's likely that the memory allocation
- * thread will have returned with the requested memory. We will
- * continue to return EAGAIN however until the thread has completed.
- * When it has, we return zero (and the memory) if the allocator
- * was successful and ENOSR otherwise.
- *
- * Callers of the RCOMP and XCOMP ioctls are encouraged (but not
- * required) to loop for some number of iterations with a small
- * delay in the loop body (for instance a 1/10-th second "sleep"
- * via select.)
- */
-static int
-ppp_comp_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- struct iocblk *iop;
- comp_state_t *cp;
- int error, len, n;
- int flags, mask;
- mblk_t *np;
- struct compressor **comp;
- struct ppp_stats *psp;
- struct ppp_comp_stats *csp;
- unsigned char *opt_data;
- int nxslots, nrslots;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_wput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
-
- case M_DATA:
- putq(q, mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- switch (iop->ioc_cmd) {
-
- case PPPIO_CFLAGS:
- /* set/get CCP state */
- if (iop->ioc_count != 2 * sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_CFLAGS b_cont = 0!\n", cp->unit);
- break;
- }
- flags = ((int *) mp->b_cont->b_rptr)[0];
- mask = ((int *) mp->b_cont->b_rptr)[1];
- cp->flags = (cp->flags & ~mask) | (flags & mask);
- if ((mask & CCP_ISOPEN) && (flags & CCP_ISOPEN) == 0) {
- if (cp->xstate != NULL) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = NULL;
- }
- if (cp->rstate != NULL) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- cp->flags &= ~CCP_ISUP;
- }
- error = 0;
- iop->ioc_count = sizeof(int);
- ((int *) mp->b_cont->b_rptr)[0] = cp->flags;
- mp->b_cont->b_wptr = mp->b_cont->b_rptr + sizeof(int);
- break;
-
- case PPPIO_VJINIT:
- /*
- * Initialize VJ compressor/decompressor
- */
- if (iop->ioc_count != 2)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_VJINIT b_cont = 0!\n", cp->unit);
- break;
- }
- nxslots = mp->b_cont->b_rptr[0] + 1;
- nrslots = mp->b_cont->b_rptr[1] + 1;
- if (nxslots > MAX_STATES || nrslots > MAX_STATES)
- break;
- vj_compress_init(&cp->vj_comp, nxslots);
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_XCOMP:
- case PPPIO_RCOMP:
- if (iop->ioc_count <= 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_[XR]COMP b_cont = 0!\n", cp->unit);
- break;
- }
- opt_data = mp->b_cont->b_rptr;
- len = mp->b_cont->b_wptr - opt_data;
- if (len > iop->ioc_count)
- len = iop->ioc_count;
- if (opt_data[1] < 2 || opt_data[1] > len)
- break;
- for (comp = ppp_compressors; *comp != NULL; ++comp)
- if ((*comp)->compress_proto == opt_data[0]) {
- /* here's the handler! */
- error = 0;
-#ifndef __osf__
- if (iop->ioc_cmd == PPPIO_XCOMP) {
- /* A previous call may have fetched memory for a compressor
- * that's now being retired or reset. Free it using it's
- * mechanism for freeing stuff.
- */
- if (cp->xstate != NULL) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = NULL;
- }
- cp->xcomp = *comp;
- cp->xstate = (*comp)->comp_alloc(opt_data, len);
- if (cp->xstate == NULL)
- error = ENOSR;
- } else {
- if (cp->rstate != NULL) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- cp->rcomp = *comp;
- cp->rstate = (*comp)->decomp_alloc(opt_data, len);
- if (cp->rstate == NULL)
- error = ENOSR;
- }
-#else
- if ((error = cp->memreq.thread_status) != EAGAIN)
- if (iop->ioc_cmd == PPPIO_XCOMP) {
- if (cp->xstate) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = 0;
- }
- /* sanity check for compressor options
- */
- if (sizeof (cp->memreq.comp_opts) < len) {
- printf("can't handle options for compressor %d (%d)\n", opt_data[0],
- opt_data[1]);
- cp->memreq.thread_status = ENOSR;
- cp->memreq.returned_mem = 0;
- }
- /* fill in request for the thread and kick it off
- */
- if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
- bcopy(opt_data, cp->memreq.comp_opts, len);
- cp->memreq.cmd = PPPIO_XCOMP;
- cp->xcomp = *comp;
- error = cp->memreq.thread_status = EAGAIN;
- thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
- } else {
- cp->xstate = cp->memreq.returned_mem;
- cp->memreq.returned_mem = 0;
- cp->memreq.thread_status = 0;
- }
- } else {
- if (cp->rstate) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- if (sizeof (cp->memreq.comp_opts) < len) {
- printf("can't handle options for compressor %d (%d)\n", opt_data[0],
- opt_data[1]);
- cp->memreq.thread_status = ENOSR;
- cp->memreq.returned_mem = 0;
- }
- if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
- bcopy(opt_data, cp->memreq.comp_opts, len);
- cp->memreq.cmd = PPPIO_RCOMP;
- cp->rcomp = *comp;
- error = cp->memreq.thread_status = EAGAIN;
- thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
- } else {
- cp->rstate = cp->memreq.returned_mem;
- cp->memreq.returned_mem = 0;
- cp->memreq.thread_status = 0;
- }
- }
-#endif
- break;
- }
- iop->ioc_count = 0;
- break;
-
- case PPPIO_GETSTAT:
- if ((cp->flags & LAST_MOD) == 0) {
- error = -1; /* let the ppp_ahdl module handle it */
- break;
- }
- np = allocb(sizeof(struct ppp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- psp = (struct ppp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_stats);
- iop->ioc_count = sizeof(struct ppp_stats);
- psp->p = cp->stats;
- psp->vj = cp->vj_comp.stats;
- error = 0;
- break;
-
- case PPPIO_GETCSTAT:
- np = allocb(sizeof(struct ppp_comp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- csp = (struct ppp_comp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_comp_stats);
- iop->ioc_count = sizeof(struct ppp_comp_stats);
- bzero((caddr_t)csp, sizeof(struct ppp_comp_stats));
- if (cp->xstate != 0)
- (*cp->xcomp->comp_stat)(cp->xstate, &csp->c);
- if (cp->rstate != 0)
- (*cp->rcomp->decomp_stat)(cp->rstate, &csp->d);
- error = 0;
- break;
-
- case PPPIO_DEBUG:
- if (iop->ioc_count != sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_DEBUG b_cont = 0!\n", cp->unit);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n == PPPDBG_LOG + PPPDBG_COMP) {
- DPRINT1("ppp_comp%d: debug log enabled\n", cp->unit);
- cp->flags |= DBGLOG;
- error = 0;
- iop->ioc_count = 0;
- } else {
- error = -1;
- }
- break;
-
- case PPPIO_LASTMOD:
- cp->flags |= LAST_MOD;
- error = 0;
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_error = error;
- iop->ioc_count = 0;
- qreply(q, mp);
- }
- break;
-
- case M_CTL:
- switch (*mp->b_rptr) {
- case PPPCTL_MTU:
- cp->mtu = ((unsigned short *)mp->b_rptr)[1];
- break;
- case PPPCTL_MRU:
- cp->mru = ((unsigned short *)mp->b_rptr)[1];
- break;
- case PPPCTL_UNIT:
- cp->unit = mp->b_rptr[1];
- break;
- }
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_wsrv(q)
- queue_t *q;
-{
- mblk_t *mp, *cmp = NULL;
- comp_state_t *cp;
- int len, proto, type, hlen, code;
- struct ip *ip;
- unsigned char *vjhdr, *dp;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_wsrv\n");
- return 0;
- }
-
- while ((mp = getq(q)) != 0) {
- /* assert(mp->b_datap->db_type == M_DATA) */
-#ifdef PRIOQ
- if (!bcanputnext(q,mp->b_band))
-#else
- if (!canputnext(q))
-#endif PRIOQ
- {
- putbq(q, mp);
- break;
- }
-
- /*
- * First check the packet length and work out what the protocol is.
- */
- len = msgdsize(mp);
- if (len < PPP_HDRLEN) {
- DPRINT1("ppp_comp_wsrv: bogus short packet (%d)\n", len);
- freemsg(mp);
- cp->stats.ppp_oerrors++;
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- continue;
- }
- proto = (MSG_BYTE(mp, 2) << 8) + MSG_BYTE(mp, 3);
-
- /*
- * Make sure we've got enough data in the first mblk
- * and that we are its only user.
- */
- if (proto == PPP_CCP)
- hlen = len;
- else if (proto == PPP_IP)
- hlen = PPP_HDRLEN + MAX_IPHDR;
- else
- hlen = PPP_HDRLEN;
- if (hlen > len)
- hlen = len;
- if (mp->b_wptr < mp->b_rptr + hlen || mp->b_datap->db_ref > 1) {
- PULLUP(mp, hlen);
- if (mp == 0) {
- DPRINT1("ppp_comp_wsrv: pullup failed (%d)\n", hlen);
- cp->stats.ppp_oerrors++;
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- continue;
- }
- }
-
- /*
- * Do VJ compression if requested.
- */
- if (proto == PPP_IP && (cp->flags & COMP_VJC)) {
- ip = (struct ip *) (mp->b_rptr + PPP_HDRLEN);
- if (ip->ip_p == IPPROTO_TCP) {
- type = vj_compress_tcp(ip, len - PPP_HDRLEN, &cp->vj_comp,
- (cp->flags & COMP_VJCCID), &vjhdr);
- switch (type) {
- case TYPE_UNCOMPRESSED_TCP:
- mp->b_rptr[3] = proto = PPP_VJC_UNCOMP;
- break;
- case TYPE_COMPRESSED_TCP:
- dp = vjhdr - PPP_HDRLEN;
- dp[1] = mp->b_rptr[1]; /* copy control field */
- dp[0] = mp->b_rptr[0]; /* copy address field */
- dp[2] = 0; /* set protocol field */
- dp[3] = proto = PPP_VJC_COMP;
- mp->b_rptr = dp;
- break;
- }
- }
- }
-
- /*
- * Do packet compression if enabled.
- */
- if (proto == PPP_CCP)
- ppp_comp_ccp(q, mp, 0);
- else if (proto != PPP_LCP && (cp->flags & CCP_COMP_RUN)
- && cp->xstate != NULL) {
- len = msgdsize(mp);
- (*cp->xcomp->compress)(cp->xstate, &cmp, mp, len,
- (cp->flags & CCP_ISUP? cp->mtu + PPP_HDRLEN: 0));
- if (cmp != NULL) {
-#ifdef PRIOQ
- cmp->b_band=mp->b_band;
-#endif PRIOQ
- freemsg(mp);
- mp = cmp;
- }
- }
-
- /*
- * Do address/control and protocol compression if enabled.
- */
- if ((cp->flags & COMP_AC)
- && !(proto == PPP_LCP && LCP_USE_DFLT(mp))) {
- mp->b_rptr += 2; /* drop the address & ctrl fields */
- if (proto < 0x100 && (cp->flags & COMP_PROT))
- ++mp->b_rptr; /* drop the high protocol byte */
- } else if (proto < 0x100 && (cp->flags & COMP_PROT)) {
- /* shuffle up the address & ctrl fields */
- mp->b_rptr[2] = mp->b_rptr[1];
- mp->b_rptr[1] = mp->b_rptr[0];
- ++mp->b_rptr;
- }
-
- cp->stats.ppp_opackets++;
- cp->stats.ppp_obytes += msgdsize(mp);
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- comp_state_t *cp;
- struct iocblk *iop;
- struct ppp_stats *psp;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_rput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
-
- case M_DATA:
- putq(q, mp);
- break;
-
- case M_IOCACK:
- iop = (struct iocblk *) mp->b_rptr;
- switch (iop->ioc_cmd) {
- case PPPIO_GETSTAT:
- /*
- * Catch this on the way back from the ppp_ahdl module
- * so we can fill in the VJ stats.
- */
- if (mp->b_cont == 0 || iop->ioc_count != sizeof(struct ppp_stats))
- break;
- psp = (struct ppp_stats *) mp->b_cont->b_rptr;
- psp->vj = cp->vj_comp.stats;
- break;
- }
- putnext(q, mp);
- break;
-
- case M_CTL:
- switch (mp->b_rptr[0]) {
- case PPPCTL_IERROR:
- ++cp->stats.ppp_ierrors;
- break;
- case PPPCTL_OERROR:
- ++cp->stats.ppp_oerrors;
- break;
- }
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_rsrv(q)
- queue_t *q;
-{
- int proto, rv, i;
- mblk_t *mp, *dmp = NULL, *np;
- uchar_t *dp, *iphdr;
- comp_state_t *cp;
- int len, hlen, vjlen;
- u_int iphlen;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_rsrv\n");
- return 0;
- }
-
- while ((mp = getq(q)) != 0) {
- /* assert(mp->b_datap->db_type == M_DATA) */
- if (!canputnext(q)) {
- putbq(q, mp);
- break;
- }
-
- len = msgdsize(mp);
- cp->stats.ppp_ibytes += len;
- cp->stats.ppp_ipackets++;
-
- /*
- * First work out the protocol and where the PPP header ends.
- */
- i = 0;
- proto = MSG_BYTE(mp, 0);
- if (proto == PPP_ALLSTATIONS) {
- i = 2;
- proto = MSG_BYTE(mp, 2);
- }
- if ((proto & 1) == 0) {
- ++i;
- proto = (proto << 8) + MSG_BYTE(mp, i);
- }
- hlen = i + 1;
-
- /*
- * Now reconstruct a complete, contiguous PPP header at the
- * start of the packet.
- */
- if (hlen < ((cp->flags & DECOMP_AC)? 0: 2)
- + ((cp->flags & DECOMP_PROT)? 1: 2)) {
- /* count these? */
- goto bad;
- }
- if (mp->b_rptr + hlen > mp->b_wptr) {
- adjmsg(mp, hlen); /* XXX check this call */
- hlen = 0;
- }
- if (hlen != PPP_HDRLEN) {
- /*
- * We need to put some bytes on the front of the packet
- * to make a full-length PPP header.
- * If we can put them in *mp, we do, otherwise we
- * tack another mblk on the front.
- * XXX we really shouldn't need to carry around
- * the address and control at this stage.
- */
- dp = mp->b_rptr + hlen - PPP_HDRLEN;
- if (dp < mp->b_datap->db_base || mp->b_datap->db_ref > 1) {
- np = allocb(PPP_HDRLEN, BPRI_MED);
- if (np == 0)
- goto bad;
- np->b_cont = mp;
- mp->b_rptr += hlen;
- mp = np;
- dp = mp->b_wptr;
- mp->b_wptr += PPP_HDRLEN;
- } else
- mp->b_rptr = dp;
-
- dp[0] = PPP_ALLSTATIONS;
- dp[1] = PPP_UI;
- dp[2] = proto >> 8;
- dp[3] = proto;
- }
-
- /*
- * Now see if we have a compressed packet to decompress,
- * or a CCP packet to take notice of.
- */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto == PPP_CCP) {
- len = msgdsize(mp);
- if (mp->b_wptr < mp->b_rptr + len) {
- PULLUP(mp, len);
- if (mp == 0)
- goto bad;
- }
- ppp_comp_ccp(q, mp, 1);
- } else if (proto == PPP_COMP) {
- if ((cp->flags & CCP_ISUP)
- && (cp->flags & CCP_DECOMP_RUN) && cp->rstate
- && (cp->flags & CCP_ERR) == 0) {
- rv = (*cp->rcomp->decompress)(cp->rstate, mp, &dmp);
- switch (rv) {
- case DECOMP_OK:
- freemsg(mp);
- mp = dmp;
- if (mp == NULL) {
- /* no error, but no packet returned either. */
- continue;
- }
- break;
- case DECOMP_ERROR:
- cp->flags |= CCP_ERROR;
- ++cp->stats.ppp_ierrors;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- break;
- case DECOMP_FATALERROR:
- cp->flags |= CCP_FATALERROR;
- ++cp->stats.ppp_ierrors;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- break;
- }
- }
- } else if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->rcomp->incomp)(cp->rstate, mp);
- }
-
- /*
- * Now do VJ decompression.
- */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto == PPP_VJC_COMP || proto == PPP_VJC_UNCOMP) {
- len = msgdsize(mp) - PPP_HDRLEN;
- if ((cp->flags & DECOMP_VJC) == 0 || len <= 0)
- goto bad;
-
- /*
- * Advance past the ppp header.
- * Here we assume that the whole PPP header is in the first mblk.
- */
- np = mp;
- dp = np->b_rptr + PPP_HDRLEN;
- if (dp >= mp->b_wptr) {
- np = np->b_cont;
- dp = np->b_rptr;
- }
-
- /*
- * Make sure we have sufficient contiguous data at this point.
- */
- hlen = (proto == PPP_VJC_COMP)? MAX_VJHDR: MAX_IPHDR;
- if (hlen > len)
- hlen = len;
- if (np->b_wptr < dp + hlen || np->b_datap->db_ref > 1) {
- PULLUP(mp, hlen + PPP_HDRLEN);
- if (mp == 0)
- goto bad;
- np = mp;
- dp = np->b_rptr + PPP_HDRLEN;
- }
-
- if (proto == PPP_VJC_COMP) {
- /*
- * Decompress VJ-compressed packet.
- * First reset compressor if an input error has occurred.
- */
- if (cp->stats.ppp_ierrors != cp->vj_last_ierrors) {
- if (cp->flags & DBGLOG)
- DPRINT1("ppp%d: resetting VJ\n", cp->unit);
- vj_uncompress_err(&cp->vj_comp);
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- }
-
- vjlen = vj_uncompress_tcp(dp, np->b_wptr - dp, len,
- &cp->vj_comp, &iphdr, &iphlen);
- if (vjlen < 0) {
- if (cp->flags & DBGLOG)
- DPRINT2("ppp%d: vj_uncomp_tcp failed, pkt len %d\n",
- cp->unit, len);
- ++cp->vj_last_ierrors; /* so we don't reset next time */
- goto bad;
- }
-
- /* drop ppp and vj headers off */
- if (mp != np) {
- freeb(mp);
- mp = np;
- }
- mp->b_rptr = dp + vjlen;
-
- /* allocate a new mblk for the ppp and ip headers */
- if ((np = allocb(iphlen + PPP_HDRLEN + 4, BPRI_MED)) == 0)
- goto bad;
- dp = np->b_rptr; /* prepend mblk with TCP/IP hdr */
- dp[0] = PPP_ALLSTATIONS; /* reconstruct PPP header */
- dp[1] = PPP_UI;
- dp[2] = PPP_IP >> 8;
- dp[3] = PPP_IP;
- bcopy((caddr_t)iphdr, (caddr_t)dp + PPP_HDRLEN, iphlen);
- np->b_wptr = dp + iphlen + PPP_HDRLEN;
- np->b_cont = mp;
-
- /* XXX there seems to be a bug which causes panics in strread
- if we make an mbuf with only the IP header in it :-( */
- if (mp->b_wptr - mp->b_rptr > 4) {
- bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr, 4);
- mp->b_rptr += 4;
- np->b_wptr += 4;
- } else {
- bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr,
- mp->b_wptr - mp->b_rptr);
- np->b_wptr += mp->b_wptr - mp->b_rptr;
- np->b_cont = mp->b_cont;
- freeb(mp);
- }
-
- mp = np;
-
- } else {
- /*
- * "Decompress" a VJ-uncompressed packet.
- */
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- if (!vj_uncompress_uncomp(dp, hlen, &cp->vj_comp)) {
- if (cp->flags & DBGLOG)
- DPRINT2("ppp%d: vj_uncomp_uncomp failed, pkt len %d\n",
- cp->unit, len);
- ++cp->vj_last_ierrors; /* don't need to reset next time */
- goto bad;
- }
- mp->b_rptr[3] = PPP_IP; /* fix up the PPP protocol field */
- }
- }
-
- putnext(q, mp);
- continue;
-
- bad:
- if (mp != 0)
- freemsg(mp);
- cp->stats.ppp_ierrors++;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- }
-
- return 0;
-}
-
-/*
- * Handle a CCP packet being sent or received.
- * Here all the data in the packet is in a single mbuf.
- */
-static void
-ppp_comp_ccp(q, mp, rcvd)
- queue_t *q;
- mblk_t *mp;
- int rcvd;
-{
- int len, clen;
- comp_state_t *cp;
- unsigned char *dp;
-
- len = msgdsize(mp);
- if (len < PPP_HDRLEN + CCP_HDRLEN)
- return;
-
- cp = (comp_state_t *) q->q_ptr;
- dp = mp->b_rptr + PPP_HDRLEN;
- len -= PPP_HDRLEN;
- clen = CCP_LENGTH(dp);
- if (clen > len)
- return;
-
- switch (CCP_CODE(dp)) {
- case CCP_CONFREQ:
- case CCP_TERMREQ:
- case CCP_TERMACK:
- cp->flags &= ~CCP_ISUP;
- break;
-
- case CCP_CONFACK:
- if ((cp->flags & (CCP_ISOPEN | CCP_ISUP)) == CCP_ISOPEN
- && clen >= CCP_HDRLEN + CCP_OPT_MINLEN
- && clen >= CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN)) {
- if (!rcvd) {
- if (cp->xstate != NULL
- && (*cp->xcomp->comp_init)
- (cp->xstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
- cp->unit, 0, ((cp->flags & DBGLOG) != 0)))
- cp->flags |= CCP_COMP_RUN;
- } else {
- if (cp->rstate != NULL
- && (*cp->rcomp->decomp_init)
- (cp->rstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
- cp->unit, 0, cp->mru, ((cp->flags & DBGLOG) != 0)))
- cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
- }
- }
- break;
-
- case CCP_RESETACK:
- if (cp->flags & CCP_ISUP) {
- if (!rcvd) {
- if (cp->xstate && (cp->flags & CCP_COMP_RUN))
- (*cp->xcomp->comp_reset)(cp->xstate);
- } else {
- if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->rcomp->decomp_reset)(cp->rstate);
- cp->flags &= ~CCP_ERROR;
- }
- }
- }
- break;
- }
-}
-
-#if 0
-dump_msg(mp)
- mblk_t *mp;
-{
- dblk_t *db;
-
- while (mp != 0) {
- db = mp->b_datap;
- DPRINT2("mp=%x cont=%x ", mp, mp->b_cont);
- DPRINT3("rptr=%x wptr=%x datap=%x\n", mp->b_rptr, mp->b_wptr, db);
- DPRINT2(" base=%x lim=%x", db->db_base, db->db_lim);
- DPRINT2(" ref=%d type=%d\n", db->db_ref, db->db_type);
- mp = mp->b_cont;
- }
-}
-#endif
-
-static int
-msg_byte(mp, i)
- mblk_t *mp;
- unsigned int i;
-{
- while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
- mp = mp->b_cont;
- if (mp == 0)
- return -1;
- return mp->b_rptr[i];
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_comp_mod.c b/mdk-stage1/ppp/solaris/ppp_comp_mod.c
deleted file mode 100644
index 83ff8e252..000000000
--- a/mdk-stage1/ppp/solaris/ppp_comp_mod.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * ppp_comp_mod.c - modload support for PPP compression STREAMS module.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2.
- */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-
-extern struct streamtab ppp_compinfo;
-
-static struct fmodsw fsw = {
- "ppp_comp",
- &ppp_compinfo,
- D_NEW | D_MP | D_MTQPAIR
-};
-
-extern struct mod_ops mod_strmodops;
-
-static struct modlstrmod modlstrmod = {
- &mod_strmodops,
- "PPP compression module",
- &fsw
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modlstrmod,
- NULL
-};
-
-/*
- * Entry points for modloading.
- */
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_mod.c b/mdk-stage1/ppp/solaris/ppp_mod.c
deleted file mode 100644
index a4b1538a5..000000000
--- a/mdk-stage1/ppp/solaris/ppp_mod.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * ppp_mod.c - modload support for PPP pseudo-device driver.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-#include <sys/ksynch.h>
-
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-
-static int ppp_identify __P((dev_info_t *));
-static int ppp_attach __P((dev_info_t *, ddi_attach_cmd_t));
-static int ppp_detach __P((dev_info_t *, ddi_detach_cmd_t));
-static int ppp_devinfo __P((dev_info_t *, ddi_info_cmd_t, void *, void **));
-
-extern struct streamtab pppinfo;
-extern krwlock_t ppp_lower_lock;
-
-static dev_info_t *ppp_dip;
-
-static struct cb_ops cb_ppp_ops = {
- nulldev, nulldev, nodev, nodev, /* cb_open, ... */
- nodev, nodev, nodev, nodev, /* cb_dump, ... */
- nodev, nodev, nodev, nochpoll, /* cb_devmap, ... */
- ddi_prop_op, /* cb_prop_op */
- &pppinfo, /* cb_stream */
- D_NEW|D_MP|D_MTQPAIR|D_MTOUTPERIM|D_MTOCEXCL /* cb_flag */
-};
-
-static struct dev_ops ppp_ops = {
- DEVO_REV, /* devo_rev */
- 0, /* devo_refcnt */
- ppp_devinfo, /* devo_getinfo */
- ppp_identify, /* devo_identify */
- nulldev, /* devo_probe */
- ppp_attach, /* devo_attach */
- ppp_detach, /* devo_detach */
- nodev, /* devo_reset */
- &cb_ppp_ops, /* devo_cb_ops */
- NULL /* devo_bus_ops */
-};
-
-/*
- * Module linkage information
- */
-
-static struct modldrv modldrv = {
- &mod_driverops, /* says this is a pseudo driver */
- "PPP-2.3 multiplexing driver",
- &ppp_ops /* driver ops */
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modldrv,
- NULL
-};
-
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
-
-static int
-ppp_identify(dip)
- dev_info_t *dip;
-{
- return strcmp(ddi_get_name(dip), "ppp") == 0? DDI_IDENTIFIED:
- DDI_NOT_IDENTIFIED;
-}
-
-static int
-ppp_attach(dip, cmd)
- dev_info_t *dip;
- ddi_attach_cmd_t cmd;
-{
-
- if (cmd != DDI_ATTACH)
- return DDI_FAILURE;
- if (ddi_create_minor_node(dip, "ppp", S_IFCHR, 0, DDI_PSEUDO, CLONE_DEV)
- == DDI_FAILURE) {
- ddi_remove_minor_node(dip, NULL);
- return DDI_FAILURE;
- }
- rw_init(&ppp_lower_lock, NULL, RW_DRIVER, NULL);
- return DDI_SUCCESS;
-}
-
-static int
-ppp_detach(dip, cmd)
- dev_info_t *dip;
- ddi_detach_cmd_t cmd;
-{
- rw_destroy(&ppp_lower_lock);
- ddi_remove_minor_node(dip, NULL);
- return DDI_SUCCESS;
-}
-
-static int
-ppp_devinfo(dip, cmd, arg, result)
- dev_info_t *dip;
- ddi_info_cmd_t cmd;
- void *arg;
- void **result;
-{
- int error;
-
- error = DDI_SUCCESS;
- switch (cmd) {
- case DDI_INFO_DEVT2DEVINFO:
- if (ppp_dip == NULL)
- error = DDI_FAILURE;
- else
- *result = (void *) ppp_dip;
- break;
- case DDI_INFO_DEVT2INSTANCE:
- *result = NULL;
- break;
- default:
- error = DDI_FAILURE;
- }
- return error;
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_mod.h b/mdk-stage1/ppp/solaris/ppp_mod.h
deleted file mode 100644
index f0af00886..000000000
--- a/mdk-stage1/ppp/solaris/ppp_mod.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Miscellaneous definitions for PPP STREAMS modules.
- */
-
-/*
- * Macros for allocating and freeing kernel memory.
- */
-#ifdef SVR4 /* SVR4, including Solaris 2 */
-#include <sys/kmem.h>
-#define ALLOC_SLEEP(n) kmem_alloc((n), KM_SLEEP)
-#define ALLOC_NOSLEEP(n) kmem_alloc((n), KM_NOSLEEP)
-#define FREE(p, n) kmem_free((p), (n))
-#endif
-
-#ifdef SUNOS4
-#include <sys/kmem_alloc.h> /* SunOS 4.x */
-#define ALLOC_SLEEP(n) kmem_alloc((n), KMEM_SLEEP)
-#define ALLOC_NOSLEEP(n) kmem_alloc((n), KMEM_NOSLEEP)
-#define FREE(p, n) kmem_free((p), (n))
-#define NOTSUSER() (suser()? 0: EPERM)
-#define bcanputnext(q, band) canputnext((q))
-#endif /* SunOS 4 */
-
-#ifdef __osf__
-#include <sys/malloc.h>
-
-/* caution: this mirrors macros in sys/malloc.h, and uses interfaces
- * which are subject to change.
- * The problems are that:
- * - the official MALLOC macro wants the lhs of the assignment as an argument,
- * and it takes care of the assignment itself (yuck.)
- * - PPP insists on using "FREE" which conflicts with a macro of the same name.
- *
- */
-#ifdef BUCKETINDX /* V2.0 */
-#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_WAITOK)
-#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_NOWAIT)
-#else
-#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_WAITOK)
-#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_NOWAIT)
-#endif
-
-#define bcanputnext(q, band) canputnext((q))
-
-#ifdef FREE
-#undef FREE
-#endif
-#define FREE(p, n) free((void *)(p), M_DEVBUF)
-
-#define NO_DLPI 1
-
-#ifndef IFT_PPP
-#define IFT_PPP 0x17
-#endif
-
-#include <sys/proc.h>
-#define NOTSUSER() (suser(u.u_procp->p_rcred, &u.u_acflag) ? EPERM : 0)
-
-/* #include "ppp_osf.h" */
-
-#endif /* __osf__ */
-
-#ifdef AIX4
-#define ALLOC_SLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
-#define ALLOC_NOSLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
-#define FREE(p, n) xmfree((p), pinned_heap)
-#define NOTSUSER() (suser()? 0: EPERM)
-#endif /* AIX */
-
-/*
- * Macros for printing debugging stuff.
- */
-#ifdef DEBUG
-#if defined(SVR4) || defined(__osf__)
-#if defined(SNI)
-#include <sys/strlog.h>
-#define STRLOG_ID 4712
-#define DPRINT(f) strlog(STRLOG_ID, 0, 0, SL_TRACE, f)
-#define DPRINT1(f, a1) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1)
-#define DPRINT2(f, a1, a2) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2, a3)
-#else
-#define DPRINT(f) cmn_err(CE_CONT, f)
-#define DPRINT1(f, a1) cmn_err(CE_CONT, f, a1)
-#define DPRINT2(f, a1, a2) cmn_err(CE_CONT, f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) cmn_err(CE_CONT, f, a1, a2, a3)
-#endif /* SNI */
-#else
-#define DPRINT(f) printf(f)
-#define DPRINT1(f, a1) printf(f, a1)
-#define DPRINT2(f, a1, a2) printf(f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) printf(f, a1, a2, a3)
-#endif /* SVR4 or OSF */
-
-#else
-#define DPRINT(f) 0
-#define DPRINT1(f, a1) 0
-#define DPRINT2(f, a1, a2) 0
-#define DPRINT3(f, a1, a2, a3) 0
-#endif /* DEBUG */
-
-#ifndef SVR4
-typedef unsigned char uchar_t;
-typedef unsigned short ushort_t;
-#ifndef __osf__
-typedef int minor_t;
-#endif
-#endif
-
-/*
- * If we don't have multithreading support, define substitutes.
- */
-#ifndef D_MP
-# define qprocson(q)
-# define qprocsoff(q)
-# define put(q, mp) ((*(q)->q_qinfo->qi_putp)((q), (mp)))
-# define canputnext(q) canput((q)->q_next)
-# define qwriter(q, mp, func, scope) (func)((q), (mp))
-#endif
-
-#ifdef D_MP
-/* Use msgpullup if we have other multithreading support. */
-#define PULLUP(mp, len) \
- do { \
- mblk_t *np = msgpullup((mp), (len)); \
- freemsg((mp)); \
- mp = np; \
- } while (0)
-
-#else
-/* Use pullupmsg if we don't have any multithreading support. */
-#define PULLUP(mp, len) \
- do { \
- if (!pullupmsg((mp), (len))) { \
- freemsg((mp)); \
- mp = 0; \
- } \
- } while (0)
-#endif
-
-/*
- * How to declare the open and close procedures for a module.
- */
-#ifdef SVR4
-#define MOD_OPEN_DECL(name) \
-static int name __P((queue_t *, dev_t *, int, int, cred_t *))
-
-#define MOD_CLOSE_DECL(name) \
-static int name __P((queue_t *, int, cred_t *))
-
-#define MOD_OPEN(name) \
-static int name(q, devp, flag, sflag, credp) \
- queue_t *q; \
- dev_t *devp; \
- int flag, sflag; \
- cred_t *credp;
-
-#define MOD_CLOSE(name) \
-static int name(q, flag, credp) \
- queue_t *q; \
- int flag; \
- cred_t *credp;
-
-#define OPEN_ERROR(x) return (x)
-#define DRV_OPEN_OK(dev) return 0
-
-#define NOTSUSER() (drv_priv(credp))
-
-#else /* not SVR4 */
-#define MOD_OPEN_DECL(name) \
-static int name __P((queue_t *, int, int, int))
-
-#define MOD_CLOSE_DECL(name) \
-static int name __P((queue_t *, int))
-
-#define MOD_OPEN(name) \
-static int name(q, dev, flag, sflag) \
- queue_t *q; \
- int dev; \
- int flag, sflag;
-
-#define MOD_CLOSE(name) \
-static int name(q, flag) \
- queue_t *q; \
- int flag;
-
-#define OPEN_ERROR(x) { u.u_error = (x); return OPENFAIL; }
-#define DRV_OPEN_OK(dev) return (dev)
-
-#endif /* SVR4 */
diff --git a/mdk-stage1/ppp/sunos4/Makedefs b/mdk-stage1/ppp/sunos4/Makedefs
deleted file mode 100644
index 8b56a2b67..000000000
--- a/mdk-stage1/ppp/sunos4/Makedefs
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# defines common to several Makefiles
-#
-
-INSTALL= install -o root -g daemon
-
-BINDIR = /usr/local/etc
-MANDIR = /usr/local/man
-ETCDIR = /etc/ppp
-
-# To use gcc, uncomment the next line.
-#CC = gcc
-COPTS = -O
diff --git a/mdk-stage1/ppp/sunos4/Makefile b/mdk-stage1/ppp/sunos4/Makefile
deleted file mode 100644
index 701e24e14..000000000
--- a/mdk-stage1/ppp/sunos4/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# Makefile for STREAMS modules for SunOS 4.
-#
-# $Id$
-#
-
-include Makedefs
-
-LD = /usr/bin/ld # make sure we don't get gnu ld
-
-# Defining __$(ARCH)__ is for gcc's broken version of sun/vddrv.h.
-ARCH = `/bin/arch -k`
-DEFINES= -DKERNEL -D_KERNEL -DSUNOS4 -D$(ARCH) -D__$(ARCH)__ \
- -DDEBUG -DNO_DLPI -DSNIT_SUPPORT
-CFLAGS= $(DEFINES) -I../include $(COPTS)
-
-MODULES= ppp_mod.o ppp_ahdl_mod.o ppp_comp_mod.o if_ppp_mod.o
-
-all: $(MODULES)
-
-ppp_mod.o: ppp.o ppp_vdcmd.o
- $(LD) -r -o ppp_mod.o ppp.o ppp_vdcmd.o
-
-ppp_ahdl_mod.o: ppp_ahdlc.o ppp_ahdlc_vdcmd.o
- $(LD) -r -o ppp_ahdl_mod.o ppp_ahdlc.o ppp_ahdlc_vdcmd.o
-
-COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
- ppp_comp_vdcmd.o
-ppp_comp_mod.o: $(COMP_OBJS)
- $(LD) -r -o $@ $(COMP_OBJS)
-
-if_ppp.o: ../modules/if_ppp.c
- $(CC) $(CFLAGS) -c $?
-bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $?
-deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $?
-ppp.o: ../modules/ppp.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc.o: ../modules/ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp.o: ../modules/ppp_comp.c
- $(CC) $(CFLAGS) -c $?
-vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $?
-zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $?
-
-if_ppp_mod.o: if_ppp.o if_ppp_vdcmd.o
- $(LD) -r -o if_ppp_mod.o if_ppp.o if_ppp_vdcmd.o
-
-install: all
- $(INSTALL) $(MODULES) $(BINDIR)
- ./ppp.INSTALL
-
-clean:
- rm -f ppp ppp_comp ppp_ahdl *.o *~ core
diff --git a/mdk-stage1/ppp/sunos4/Makefile.top b/mdk-stage1/ppp/sunos4/Makefile.top
deleted file mode 100644
index c86e0884d..000000000
--- a/mdk-stage1/ppp/sunos4/Makefile.top
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# ppp top level makefile
-#
-
-include sunos4/Makedefs
-
-all:
- cd chat; $(MAKE) all
- cd pppd; $(MAKE) all
- cd pppstats; $(MAKE) all
- cd sunos4; $(MAKE) all
- cd pppdump; $(MAKE) all
-
-install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
-
-install-progs:
- cd chat; $(MAKE) install
- cd pppd; $(MAKE) install
- cd pppstats; $(MAKE) install
- cd pppdump; $(MAKE) install
- cd sunos4; $(MAKE) install
-
-install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
- $(ETCDIR)/chap-secrets
-
-$(ETCDIR)/options:
- $(INSTALL) -c -m 644 etc.ppp/options $@
-$(ETCDIR)/pap-secrets:
- $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@
-$(ETCDIR)/chap-secrets:
- $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@
-
-$(BINDIR):
- $(INSTALL) -d -m 755 $@
-$(MANDIR)/man8:
- $(INSTALL) -d -m 755 $@
-$(ETCDIR):
- $(INSTALL) -d -m 755 $@
-
-clean:
- rm -f *~
- cd chat; $(MAKE) clean
- cd pppd; $(MAKE) clean
- cd pppstats; $(MAKE) clean
- cd sunos4; $(MAKE) clean
-
diff --git a/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c b/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c
deleted file mode 100644
index 2bf9710f4..000000000
--- a/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <sys/types.h>
-#include <sys/errno.h>
-#include <sys/conf.h>
-#include <sun/vddrv.h>
-
-extern struct streamtab if_pppinfo;
-
-static struct vdldrv vd = {
- VDMAGIC_USER,
- "if_ppp"
-};
-
-static int fmodsw_index = -1;
-
-int
-if_ppp_vdcmd(fun, vdp, vdi, vds)
- unsigned int fun;
- struct vddrv *vdp;
- addr_t vdi;
- struct vdstat *vds;
-{
- int n, error;
-
- switch (fun) {
- case VDLOAD:
- vdp->vdd_vdtab = (struct vdlinkage *) &vd;
- if (fmodsw_index >= 0)
- return EBUSY;
- for (n = 0; n < fmodcnt; ++n)
- if (fmodsw[n].f_str == 0)
- break;
- if (n >= fmodcnt)
- return ENODEV;
- strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
- fmodsw[n].f_str = &if_pppinfo;
- fmodsw_index = n;
- break;
-
- case VDUNLOAD:
- if (fmodsw_index <= 0)
- return EINVAL;
- error = if_ppp_unload();
- if (error != 0)
- return error;
- fmodsw[fmodsw_index].f_name[0] = 0;
- fmodsw[fmodsw_index].f_str = 0;
- fmodsw_index = -1;
- break;
-
- case VDSTAT:
- break;
-
- default:
- return EIO;
- }
- return 0;
-}
diff --git a/mdk-stage1/ppp/sunos4/ppp.INSTALL b/mdk-stage1/ppp/sunos4/ppp.INSTALL
deleted file mode 100755
index 0018bf8d0..000000000
--- a/mdk-stage1/ppp/sunos4/ppp.INSTALL
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-# Script for loading, unloading, etc. ppp modules.
-
-moddir=/usr/local/etc
-etcppp=/etc/ppp
-
-PATH=/usr/etc:/usr/bin
-
-# Check that we're superuser
-touch /tmp/su$$
-if chown root /tmp/su$$ >/dev/null; then :
-else
- echo "$0: must be root."
- rm -f /tmp/su$$
- exit 1
-fi
-rm -f /tmp/su$$
-
-case "$0" in
-*ppp.INSTALL)
- if [ ! -f ppp.INSTALL ]; then
- echo "ppp.INSTALL: not found"
- exit 1
- fi
- for n in INSTALL LOAD UNLOAD MKDEV RMDEV; do
- if [ -h /dev/ppp.$n -o -f /dev/ppp.$n ]; then
- rm /dev/ppp.$n
- fi
- done
- cp ppp.INSTALL /dev
- for n in LOAD UNLOAD MKDEV RMDEV; do
- ln -s ppp.INSTALL /dev/ppp.$n
- done
- ;;
-
-*ppp.LOAD)
- if modstat | grep -w ppp >/dev/null; then
- echo "ppp driver is already loaded."
- exit 1
- fi
- if modstat | grep -w if_ppp >/dev/null; then
- echo "if_ppp module already loaded: not reloading."
- else
- echo -n "if_ppp: "
- modload $moddir/if_ppp_mod.o -sym -entry _if_ppp_vdcmd \
- -o $etcppp/if_ppp_mod
- fi
- echo -n "ppp: "
- modload $moddir/ppp_mod.o -sym -entry _ppp_vdcmd -exec /dev/ppp.MKDEV \
- -o $etcppp/ppp_mod
- echo -n "ppp_comp: "
- modload $moddir/ppp_comp_mod.o -sym -entry _ppp_comp_vdcmd \
- -o $etcppp/ppp_comp
- echo -n "ppp_ahdl: "
- modload $moddir/ppp_ahdl_mod.o -sym -entry _ppp_ahdlc_vdcmd \
- -o $etcppp/ppp_ahdl
- exit 0
- ;;
-
-*ppp.MKDEV)
- # args: module number, type, b-major, c-major
- if [ $# -ne 4 ]; then
- echo "Usage: $0 module-id module-type b-major c-major"
- exit 1
- fi
- if [ "$2" -ne "12345607" -a "$2" -ne "12345600" ]; then
- echo "$0: $2: bad module type"
- exit 1
- fi
- rm -f /dev/ppp
- # we "just know" that 37 is the major number of the clone driver
- mknod /dev/ppp c 37 $4
- chmod 644 /dev/ppp
- exit 0
- ;;
-
-*ppp.UNLOAD)
- stat=0
- if modstat | grep -w if_ppp >/dev/null; then
- echo "$0: not unloading if_ppp module."
- fi
- for mod in ppp ppp_comp ppp_ahdl; do
- id=`modstat | grep -w $mod | awk '{print $1}'`
- if [ x$id = x ]; then
- echo "$mod is not loaded."
- stat=1
- else
- modunload -id $id
- fi
- done
- exit $stat
- ;;
-
-*ppp.RMDEV)
- rm -f /dev/ppp
- exit 0
- ;;
-
-*)
- echo "Invocation names: ppp.INSTALL ppp.LOAD ppp.UNLOAD ppp.MKDEV ppp.RMDEV"
- exit 1
- ;;
-esac
diff --git a/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c
deleted file mode 100644
index 2dbe8262b..000000000
--- a/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <sys/types.h>
-#include <sys/errno.h>
-#include <sys/conf.h>
-#include <sun/vddrv.h>
-
-extern struct streamtab ppp_ahdlcinfo;
-extern int ppp_ahdlc_count;
-
-static struct vdldrv vd = {
- VDMAGIC_USER,
- "ppp_ahdl"
-};
-
-static int fmodsw_index = -1;
-
-int
-ppp_ahdlc_vdcmd(fun, vdp, vdi, vds)
- unsigned int fun;
- struct vddrv *vdp;
- addr_t vdi;
- struct vdstat *vds;
-{
- int n;
-
- switch (fun) {
- case VDLOAD:
- vdp->vdd_vdtab = (struct vdlinkage *) &vd;
- if (fmodsw_index >= 0)
- return EBUSY;
- for (n = 0; n < fmodcnt; ++n)
- if (fmodsw[n].f_str == 0)
- break;
- if (n >= fmodcnt)
- return ENODEV;
- strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
- fmodsw[n].f_str = &ppp_ahdlcinfo;
- fmodsw_index = n;
- break;
-
- case VDUNLOAD:
- if (ppp_ahdlc_count > 0)
- return EBUSY;
- if (fmodsw_index <= 0)
- return EINVAL;
- fmodsw[fmodsw_index].f_name[0] = 0;
- fmodsw[fmodsw_index].f_str = 0;
- fmodsw_index = -1;
- break;
-
- case VDSTAT:
- break;
-
- default:
- return EIO;
- }
- return 0;
-}
diff --git a/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c
deleted file mode 100644
index b81bc47e8..000000000
--- a/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <sys/types.h>
-#include <sys/errno.h>
-#include <sys/conf.h>
-#include <sun/vddrv.h>
-
-extern struct streamtab ppp_compinfo;
-extern int ppp_comp_count;
-
-static struct vdldrv vd = {
- VDMAGIC_USER,
- "ppp_comp"
-};
-
-static int fmodsw_index = -1;
-
-int
-ppp_comp_vdcmd(fun, vdp, vdi, vds)
- unsigned int fun;
- struct vddrv *vdp;
- addr_t vdi;
- struct vdstat *vds;
-{
- int n;
-
- switch (fun) {
- case VDLOAD:
- vdp->vdd_vdtab = (struct vdlinkage *) &vd;
- if (fmodsw_index >= 0)
- return EBUSY;
- for (n = 0; n < fmodcnt; ++n)
- if (fmodsw[n].f_str == 0)
- break;
- if (n >= fmodcnt)
- return ENODEV;
- strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
- fmodsw[n].f_str = &ppp_compinfo;
- fmodsw_index = n;
- break;
-
- case VDUNLOAD:
- if (ppp_comp_count > 0)
- return EBUSY;
- if (fmodsw_index <= 0)
- return EINVAL;
- fmodsw[fmodsw_index].f_name[0] = 0;
- fmodsw[fmodsw_index].f_str = 0;
- fmodsw_index = -1;
- break;
-
- case VDSTAT:
- break;
-
- default:
- return EIO;
- }
- return 0;
-}
diff --git a/mdk-stage1/ppp/sunos4/ppp_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_vdcmd.c
deleted file mode 100644
index 68095c92e..000000000
--- a/mdk-stage1/ppp/sunos4/ppp_vdcmd.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <sys/types.h>
-#include <sys/errno.h>
-#include <sys/conf.h>
-#include <sun/vddrv.h>
-
-extern struct streamtab pppinfo;
-extern int ppp_count;
-extern int nchrdev;
-
-static struct vdldrv vd = {
- VDMAGIC_PSEUDO,
- "ppp"
-};
-
-extern int nodev();
-
-static struct cdevsw ppp_cdevsw = {
- nodev, nodev, nodev, nodev, nodev, nodev, nodev, 0,
- &pppinfo
-};
-
-static struct cdevsw old_entry;
-
-int
-ppp_vdcmd(fun, vdp, vdi, vds)
- unsigned int fun;
- struct vddrv *vdp;
- addr_t vdi;
- struct vdstat *vds;
-{
- static int majnum = -1;
- int n, maj;
-
- switch (fun) {
- case VDLOAD:
- /*
- * It seems like modload doesn't install the cdevsw entry
- * for us. Oh well...
- */
- for (maj = 1; maj < nchrdev; ++maj)
- if (cdevsw[maj].d_open == vd_unuseddev)
- break;
- if (maj >= nchrdev)
- return ENODEV;
- vd.Drv_charmajor = maj;
- old_entry = cdevsw[maj];
- cdevsw[maj] = ppp_cdevsw;
- vd.Drv_cdevsw = &ppp_cdevsw;
- vdp->vdd_vdtab = (struct vdlinkage *) &vd;
- majnum = maj;
- break;
-
- case VDUNLOAD:
- if (ppp_count > 0)
- return EBUSY;
- if (vd.Drv_charmajor > 0)
- cdevsw[vd.Drv_charmajor] = old_entry;
- break;
-
- case VDSTAT:
- /*
- * We have to fool the modstat command into thinking
- * that this module is actually a driver! This is
- * so that installation commands that use the -exec
- * option of modload to run a shell script find out
- * the block and/or char major numbers of the driver
- * loaded (so that the shell script can go off to
- * /dev and *MAKE* the bloody device nodes- remember
- * they might change from one load to another if
- * you don't hardwire the number!).
- */
- vds->vds_magic = VDMAGIC_DRV;
- vds->vds_modinfo[0] = (char) 0;
- vds->vds_modinfo[1] = (char) majnum;
- break;
-
- default:
- return EIO;
- }
- return 0;
-}
diff --git a/mdk-stage1/ppp/svr4/Makedefs b/mdk-stage1/ppp/svr4/Makedefs
deleted file mode 100644
index 81db8ab2e..000000000
--- a/mdk-stage1/ppp/svr4/Makedefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# defines common to several Makefiles
-#
-
-INSTALL= /usr/sbin/install
-
-BINDIR = /usr/local/bin
-MANDIR = /usr/local/man
-ETCDIR = /etc/ppp
-
-COPTS = -O -Xa
-
-# For compiling with gcc, comment out the COPTS definition above and
-# uncomment the next 2 definitions.
-#CC = gcc
-#COPTS = -O2
diff --git a/mdk-stage1/ppp/svr4/Makedefs.sol2 b/mdk-stage1/ppp/svr4/Makedefs.sol2
deleted file mode 100644
index e8b8d282e..000000000
--- a/mdk-stage1/ppp/svr4/Makedefs.sol2
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Generic make definitions for Solaris 2
-#
-# $Id$
-#
-
-include ../svr4/Makedefs
-
-CPPFLAGS = -D_KERNEL -DSVR4 -DSOL2 -DPRIOQ -DDEBUG -I../include
-CFLAGS = $(CPPFLAGS) $(COPTS)
-
-# lint-specific variables
-LINT = lint
-LINT_OPT_32 =
-LINT_OPT_64 = -Xarch=v9 -errchk=longptr64
-
-LINT_32 =
-LINT_32 += -erroff=E_BAD_PTR_CAST_ALIGN
-LINT_32 += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
-LINT_32 += -erroff=E_SUSPICIOUS_COMPARISON
-LINT_32 += -erroff=E_CAST_UINT_TO_SIGNED_INT
-LINT_32 += -erroff=E_PASS_UINT_TO_SIGNED_INT
-LINT_32 += -erroff=E_INVALID_ANNOTATION_NAME
-LINT_32 += -erroff=E_FUNC_ARG_UNUSED
-# This might be needed, but zlib.c and vjcompress.c will squawk
-# when not ignored
-LINT_32 += -erroff=E_CASE_FALLTHRU
-LINT_32 += -erroff=E_RET_INT_IMPLICITLY
-LINT_32 += -erroff=E_FUNC_NO_RET_VAL
-# Some STREAMS macros will be noisy too when this isn't ignored
-LINT_32 += -erroff=E_CONSTANT_CONDITION
-LINT_32 += -erroff=E_CONST_EXPR
-
-# Extra noise suppressant for 64-bit
-EXTRA_OFF =
-EXTRA_OFF += -erroff=E_CAST_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_CAST_INT_CONST_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_CAST_TO_PTR_FROM_INT
-EXTRA_OFF += -erroff=E_ASSIGN_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_ASSIGN_INT_FROM_BIG_CONST
-EXTRA_OFF += -erroff=E_CONST_PROMOTED_UNSIGNED_LL
-EXTRA_OFF += -erroff=E_CONST_PROMOTED_LONG_LONG
-EXTRA_OFF += -erroff=E_CONST_TRUNCATED_BY_ASSIGN
-EXTRA_OFF += -erroff=E_PASS_INT_FROM_BIG_CONST
-EXTRA_OFF += -erroff=E_COMP_INT_WITH_LARGE_INT
-EXTRA_OFF += -erroff=E_ASSIGN_UINT_TO_SIGNED_INT
-EXTRA_OFF += -erroff=E_ASSIGN_NARROW_CONV
-EXTRA_OFF += -erroff=E_PASS_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_PTR_CONV_LOSES_BITS
-
-LINT_64 = $(LINT_32)
-LINT_64 += $(EXTRA_OFF)
-
-LINTFLAGS64 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_64) $(LINT_64)
-LINT64 = $(LINT) -c $(LINTFLAGS64) $(CPPFLAGS)
-
-LINTFLAGS32 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_32) $(LINT_32)
-LINT32 = $(LINT) -c $(LINTFLAGS32) $(CPPFLAGS)
-
diff --git a/mdk-stage1/ppp/svr4/Makefile.sol2 b/mdk-stage1/ppp/svr4/Makefile.sol2
deleted file mode 100644
index 5b2ca8635..000000000
--- a/mdk-stage1/ppp/svr4/Makefile.sol2
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# Makefile for STREAMS modules for Solaris 2.
-#
-# $Id$
-#
-
-include Makedefs.sol2
-
-COPTS += -xO2 -xspace -W0,-Lt
-
-COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
- ppp_comp_mod.o
-
-all: ppp ppp_ahdl ppp_comp
-
-ppp: ppp.o ppp_mod.o
- ld -r -o $@ ppp.o ppp_mod.o
- chmod +x $@
-
-ppp_ahdl: ppp_ahdlc.o ppp_ahdlc_mod.o
- ld -r -o $@ ppp_ahdlc.o ppp_ahdlc_mod.o
- chmod +x $@
-
-ppp_comp: $(COMP_OBJS)
- ld -r -o $@ $(COMP_OBJS)
- chmod +x $@
-
-bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $?
-deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $?
-ppp.o: ../modules/ppp.c
- $(CC) $(CFLAGS) -c $?
-ppp_mod.o: ppp_mod.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc.o: ../modules/ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp.o: ../modules/ppp_comp.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp_mod.o: ppp_comp_mod.c
- $(CC) $(CFLAGS) -c $?
-vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $?
-zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $?
-
-install:
- cp ppp ppp.conf /kernel/drv
- cp ppp_comp ppp_ahdl /kernel/strmod
- if grep clone:ppp /etc/minor_perm; then :; else \
- echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
- /usr/sbin/rem_drv ppp 2>/dev/null || true
- /usr/sbin/add_drv ppp
-
-SRCS = ../modules/ppp.c ppp_mod.c ../modules/ppp_ahdlc.c ppp_ahdlc_mod.c \
- ../modules/ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
- ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
-
-lint:
- $(LINT32) $(SRCS)
-
-clean:
- rm -f ppp ppp_comp ppp_ahdl *.o *~ core
- rm -f *.ln
diff --git a/mdk-stage1/ppp/svr4/Makefile.sol2-64 b/mdk-stage1/ppp/svr4/Makefile.sol2-64
deleted file mode 100644
index 80c6b185e..000000000
--- a/mdk-stage1/ppp/svr4/Makefile.sol2-64
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-# Makefile for 64-bit STREAMS modules for Solaris 2.
-#
-# $Id$
-#
-
-include Makedefs.sol2
-
-# Sun's cc flag for LP64 compilation / linkage
-COPTS += -xchip=ultra -xarch=v9 -Wc,-xcode=abs32 -Wc,-Qiselect-regsym=0 -xO3 -xspace -W0,-Lt
-
-# subdirectory where 64-bit objects / binaries will be placed
-LP64DIR = sparcv9
-
-# Name of legacy Makefile (for 32-bit binaries)
-STD_MAKE = Makefile.sol2
-
-COMP_OBJS = $(LP64DIR)/ppp_comp.o $(LP64DIR)/bsd-comp.o \
- $(LP64DIR)/deflate.o $(LP64DIR)/zlib.o $(LP64DIR)/vjcompress.o \
- $(LP64DIR)/ppp_comp_mod.o
-
-all: std_objs $(LP64DIR) ppp ppp_ahdl ppp_comp
-
-std_objs:
- $(MAKE) -f $(STD_MAKE) all
-
-ppp: $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
- ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
- chmod +x $(LP64DIR)/$@
-
-ppp_ahdl: $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
- ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
- chmod +x $(LP64DIR)/$@
-
-ppp_comp: $(COMP_OBJS)
- ld -r -o $(LP64DIR)/$@ $(COMP_OBJS)
- chmod +x $(LP64DIR)/$@
-
-$(LP64DIR)/bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp.o: ../modules/ppp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_mod.o: ppp_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_ahdlc.o: ../modules/ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_comp.o: ../modules/ppp_comp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_comp_mod.o: ppp_comp_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $? -o $@
-
-$(LP64DIR):
- mkdir -m 755 -p $@
-
-install:
- cp ppp ppp.conf /kernel/drv
- cp ppp_comp ppp_ahdl /kernel/strmod
- cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
- cp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl /kernel/strmod/$(LP64DIR)
- if grep clone:ppp /etc/minor_perm; then :; else \
- echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
- /usr/sbin/rem_drv ppp 2>/dev/null || true
- /usr/sbin/add_drv ppp
-
-SRCS = ../modules/ppp.c ppp_mod.c ../modules/ppp_ahdlc.c ppp_ahdlc_mod.c \
- ../modules/ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
- ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
-
-lint:
- $(LINT64) $(SRCS)
-
-lint-32:
- $(LINT32) $(SRCS)
-
-clean:
- $(MAKE) -f $(STD_MAKE) clean
- rm -f $(LP64DIR)/ppp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl $(LP64DIR)/*.o $(LP64DIR)/*~ $(LP64DIR)/core
diff --git a/mdk-stage1/ppp/svr4/Makefile.svr4 b/mdk-stage1/ppp/svr4/Makefile.svr4
deleted file mode 100644
index 252c52428..000000000
--- a/mdk-stage1/ppp/svr4/Makefile.svr4
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# Makefile for STREAMS modules for SVR4.
-#
-# $Id$
-#
-
-COPTS = -O
-
-CFLAGS= -D_KERNEL -DSVR4 -DLACHTCP -I../include $(COPTS)
-
-all: ppp ppp_ahdl ppp_comp
-
-ppp: ppp.o
- ld -r -o $@ ppp.o
-
-ppp_ahdl: ppp_ahdlc.o
- ld -r -o $@ ppp_ahdlc.o
-
-ppp_comp: ppp_comp.o bsd-comp.o vjcompress.o deflate.o zlib.o
- ld -r -o $@ ppp_comp.o bsd-comp.o vjcompress.o deflate.o zlib.o
-
-bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $?
-deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $?
-ppp.o: ../modules/ppp.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc.o: ../modules/ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp.o: ../modules/ppp_comp.c
- $(CC) $(CFLAGS) -c $?
-vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $?
-zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $?
-
-install: all
- cp ppp Driver.o
- cp ppp.Master Master
- cp ppp.System System
- cp ppp.Node Node
- /etc/conf/bin/idinstall -d ppp
- /etc/conf/bin/idinstall -a ppp
- cp ppp_comp Driver.o
- cp ppp_comp.Master Master
- cp ppp_comp.System System
- /etc/conf/bin/idinstall -d ppp_comp
- /etc/conf/bin/idinstall -a ppp_comp
- cp ppp_ahdl Driver.o
- cp ppp_ahdl.Master Master
- cp ppp_ahdl.System System
- /etc/conf/bin/idinstall -d ppp_ahdl
- /etc/conf/bin/idinstall -a ppp_ahdl
- @echo
- @echo 'NOTE: You must rebuild your kernel to incorporate the driver.'
- @echo '(use /etc/conf/bin/idbuild)'
- @echo
-
-clean:
- rm -f ppp ppp_comp ppp_ahdl *.o *~ core
diff --git a/mdk-stage1/ppp/svr4/Makefile.top b/mdk-stage1/ppp/svr4/Makefile.top
deleted file mode 100644
index 253e48acb..000000000
--- a/mdk-stage1/ppp/svr4/Makefile.top
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# ppp top level makefile for SVR4 and Solaris 2
-#
-# $Id$
-#
-
-include svr4/Makedefs
-
-all:
- cd chat; $(MAKE) all
- cd pppd; $(MAKE) all
- cd pppstats; $(MAKE) all
- cd pppdump; $(MAKE) all
- cd svr4; $(MAKE) all
-
-install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
-
-install-progs:
- cd chat; $(MAKE) install
- cd pppd; $(MAKE) install
- cd pppstats; $(MAKE) install
- cd pppdump; $(MAKE) install
- cd svr4; $(MAKE) install
-
-install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
- $(ETCDIR)/chap-secrets
-
-$(ETCDIR)/options:
- cp etc.ppp/options $@
- chmod go-w $@
-$(ETCDIR)/pap-secrets:
- $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/pap-secrets
-$(ETCDIR)/chap-secrets:
- $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/chap-secrets
-
-$(BINDIR):
- mkdir -m 755 -p $@
-$(MANDIR)/man8:
- mkdir -m 755 -p $@
-$(ETCDIR):
- mkdir -m 755 -p $@
-
-clean:
- rm -f *~
- cd chat; $(MAKE) clean
- cd pppd; $(MAKE) clean
- cd pppstats; $(MAKE) clean
- cd pppdump; $(MAKE) clean
- cd svr4; $(MAKE) clean
-
diff --git a/mdk-stage1/ppp/svr4/ppp.Master b/mdk-stage1/ppp/svr4/ppp.Master
deleted file mode 100644
index 346db035b..000000000
--- a/mdk-stage1/ppp/svr4/ppp.Master
+++ /dev/null
@@ -1 +0,0 @@
-ppp - Sciof ppp 0 0 1 128 -1
diff --git a/mdk-stage1/ppp/svr4/ppp.Node b/mdk-stage1/ppp/svr4/ppp.Node
deleted file mode 100644
index 7767ade71..000000000
--- a/mdk-stage1/ppp/svr4/ppp.Node
+++ /dev/null
@@ -1 +0,0 @@
-clone ppp c ppp
diff --git a/mdk-stage1/ppp/svr4/ppp.System b/mdk-stage1/ppp/svr4/ppp.System
deleted file mode 100644
index e60c0eec3..000000000
--- a/mdk-stage1/ppp/svr4/ppp.System
+++ /dev/null
@@ -1 +0,0 @@
-ppp Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp.conf b/mdk-stage1/ppp/svr4/ppp.conf
deleted file mode 100644
index e443a7aac..000000000
--- a/mdk-stage1/ppp/svr4/ppp.conf
+++ /dev/null
@@ -1 +0,0 @@
-name="ppp" parent="pseudo" instance=0;
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdl.Master b/mdk-stage1/ppp/svr4/ppp_ahdl.Master
deleted file mode 100644
index 4fde52596..000000000
--- a/mdk-stage1/ppp/svr4/ppp_ahdl.Master
+++ /dev/null
@@ -1 +0,0 @@
-ppp_ahdl - iSf phdl 0 0 1 1 -1
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdl.System b/mdk-stage1/ppp/svr4/ppp_ahdl.System
deleted file mode 100644
index f41a500f4..000000000
--- a/mdk-stage1/ppp/svr4/ppp_ahdl.System
+++ /dev/null
@@ -1 +0,0 @@
-ppp_ahdl Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c b/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c
deleted file mode 100644
index f81be8abb..000000000
--- a/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-
-extern struct streamtab ppp_ahdlcinfo;
-
-static struct fmodsw fsw = {
- "ppp_ahdl",
- &ppp_ahdlcinfo,
- D_NEW | D_MP | D_MTQPAIR
-};
-
-extern struct mod_ops mod_strmodops;
-
-static struct modlstrmod modlstrmod = {
- &mod_strmodops,
- "PPP async HDLC module",
- &fsw
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modlstrmod,
- NULL
-};
-
-/*
- * Entry points for modloading.
- */
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
diff --git a/mdk-stage1/ppp/svr4/ppp_comp.Master b/mdk-stage1/ppp/svr4/ppp_comp.Master
deleted file mode 100644
index 78019064e..000000000
--- a/mdk-stage1/ppp/svr4/ppp_comp.Master
+++ /dev/null
@@ -1 +0,0 @@
-ppp_comp - iSf pcmp 0 0 1 1 -1
diff --git a/mdk-stage1/ppp/svr4/ppp_comp.System b/mdk-stage1/ppp/svr4/ppp_comp.System
deleted file mode 100644
index e69d4a1a3..000000000
--- a/mdk-stage1/ppp/svr4/ppp_comp.System
+++ /dev/null
@@ -1 +0,0 @@
-ppp_comp Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp_comp_mod.c b/mdk-stage1/ppp/svr4/ppp_comp_mod.c
deleted file mode 100644
index 83ff8e252..000000000
--- a/mdk-stage1/ppp/svr4/ppp_comp_mod.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * ppp_comp_mod.c - modload support for PPP compression STREAMS module.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2.
- */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-
-extern struct streamtab ppp_compinfo;
-
-static struct fmodsw fsw = {
- "ppp_comp",
- &ppp_compinfo,
- D_NEW | D_MP | D_MTQPAIR
-};
-
-extern struct mod_ops mod_strmodops;
-
-static struct modlstrmod modlstrmod = {
- &mod_strmodops,
- "PPP compression module",
- &fsw
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modlstrmod,
- NULL
-};
-
-/*
- * Entry points for modloading.
- */
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
diff --git a/mdk-stage1/ppp/svr4/ppp_mod.c b/mdk-stage1/ppp/svr4/ppp_mod.c
deleted file mode 100644
index a4b1538a5..000000000
--- a/mdk-stage1/ppp/svr4/ppp_mod.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * ppp_mod.c - modload support for PPP pseudo-device driver.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-#include <sys/ksynch.h>
-
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-
-static int ppp_identify __P((dev_info_t *));
-static int ppp_attach __P((dev_info_t *, ddi_attach_cmd_t));
-static int ppp_detach __P((dev_info_t *, ddi_detach_cmd_t));
-static int ppp_devinfo __P((dev_info_t *, ddi_info_cmd_t, void *, void **));
-
-extern struct streamtab pppinfo;
-extern krwlock_t ppp_lower_lock;
-
-static dev_info_t *ppp_dip;
-
-static struct cb_ops cb_ppp_ops = {
- nulldev, nulldev, nodev, nodev, /* cb_open, ... */
- nodev, nodev, nodev, nodev, /* cb_dump, ... */
- nodev, nodev, nodev, nochpoll, /* cb_devmap, ... */
- ddi_prop_op, /* cb_prop_op */
- &pppinfo, /* cb_stream */
- D_NEW|D_MP|D_MTQPAIR|D_MTOUTPERIM|D_MTOCEXCL /* cb_flag */
-};
-
-static struct dev_ops ppp_ops = {
- DEVO_REV, /* devo_rev */
- 0, /* devo_refcnt */
- ppp_devinfo, /* devo_getinfo */
- ppp_identify, /* devo_identify */
- nulldev, /* devo_probe */
- ppp_attach, /* devo_attach */
- ppp_detach, /* devo_detach */
- nodev, /* devo_reset */
- &cb_ppp_ops, /* devo_cb_ops */
- NULL /* devo_bus_ops */
-};
-
-/*
- * Module linkage information
- */
-
-static struct modldrv modldrv = {
- &mod_driverops, /* says this is a pseudo driver */
- "PPP-2.3 multiplexing driver",
- &ppp_ops /* driver ops */
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modldrv,
- NULL
-};
-
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
-
-static int
-ppp_identify(dip)
- dev_info_t *dip;
-{
- return strcmp(ddi_get_name(dip), "ppp") == 0? DDI_IDENTIFIED:
- DDI_NOT_IDENTIFIED;
-}
-
-static int
-ppp_attach(dip, cmd)
- dev_info_t *dip;
- ddi_attach_cmd_t cmd;
-{
-
- if (cmd != DDI_ATTACH)
- return DDI_FAILURE;
- if (ddi_create_minor_node(dip, "ppp", S_IFCHR, 0, DDI_PSEUDO, CLONE_DEV)
- == DDI_FAILURE) {
- ddi_remove_minor_node(dip, NULL);
- return DDI_FAILURE;
- }
- rw_init(&ppp_lower_lock, NULL, RW_DRIVER, NULL);
- return DDI_SUCCESS;
-}
-
-static int
-ppp_detach(dip, cmd)
- dev_info_t *dip;
- ddi_detach_cmd_t cmd;
-{
- rw_destroy(&ppp_lower_lock);
- ddi_remove_minor_node(dip, NULL);
- return DDI_SUCCESS;
-}
-
-static int
-ppp_devinfo(dip, cmd, arg, result)
- dev_info_t *dip;
- ddi_info_cmd_t cmd;
- void *arg;
- void **result;
-{
- int error;
-
- error = DDI_SUCCESS;
- switch (cmd) {
- case DDI_INFO_DEVT2DEVINFO:
- if (ppp_dip == NULL)
- error = DDI_FAILURE;
- else
- *result = (void *) ppp_dip;
- break;
- case DDI_INFO_DEVT2INSTANCE:
- *result = NULL;
- break;
- default:
- error = DDI_FAILURE;
- }
- return error;
-}
diff --git a/mdk-stage1/probing.c b/mdk-stage1/probing.c
deleted file mode 100644
index dc8340ea8..000000000
--- a/mdk-stage1/probing.c
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-
-/*
- * This contains stuff related to probing:
- * (1) any (actually SCSI and NET only) devices (autoprobe for PCI)
- * (2) IDE media
- * (3) SCSI media
- * (4) ETH devices
- */
-
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/socket.h>
-#include <net/if.h>
-#include <sys/ioctl.h>
-#include "stage1.h"
-
-#include "log.h"
-#include "frontend.h"
-#include "modules.h"
-#include "pci-resource/pci-ids.h"
-
-#include "probing.h"
-
-
-enum bus_type { IDE, SCSI };
-
-struct media_info {
- char * name;
- char * model;
- enum media_type type;
- enum bus_type bus;
-};
-
-
-static void warning_insmod_failed(enum insmod_return r)
-{
- if (r != INSMOD_OK
- && !(IS_AUTOMATIC && r == INSMOD_FAILED_FILE_NOT_FOUND))
- stg1_error_message("Warning, installation of driver failed. (please include msg from <Alt-F3> for bugreports)");
-}
-
-#ifndef DISABLE_NETWORK
-struct net_description_elem
-{
- char * intf_name;
- char * intf_description;
-};
-static struct net_description_elem net_descriptions[50];
-static int net_descr_number = 0;
-static char * intf_descr_for_discover = NULL;
-static char * net_intf_too_early_name[50]; /* for modules providing more than one net intf */
-static int net_intf_too_early_number = 0;
-static int net_intf_too_early_ptr = 0;
-
-void prepare_intf_descr(const char * intf_descr)
-{
- intf_descr_for_discover = strdup(intf_descr);
-}
-
-void net_discovered_interface(char * intf_name)
-{
- if (!intf_descr_for_discover) {
- net_intf_too_early_name[net_intf_too_early_number++] = strdup(intf_name);
- return;
- }
- if (!intf_name) {
- if (net_intf_too_early_ptr >= net_intf_too_early_number) {
- log_message("NET: was expecting another network interface (broken net module?)");
- return;
- }
- net_descriptions[net_descr_number].intf_name = net_intf_too_early_name[net_intf_too_early_ptr++];
- }
- else
- net_descriptions[net_descr_number].intf_name = strdup(intf_name);
- net_descriptions[net_descr_number].intf_description = strdup(intf_descr_for_discover);
- intf_descr_for_discover = NULL;
- net_descr_number++;
-}
-
-char * get_net_intf_description(char * intf_name)
-{
- int i;
- for (i = 0; i < net_descr_number ; i++)
- if (!strcmp(net_descriptions[i].intf_name, intf_name))
- return net_descriptions[i].intf_description;
- return strdup("unknown");
-}
-#endif
-
-static void probe_that_type(enum driver_type type)
-{
- if (IS_EXPERT)
- ask_insmod(type);
- else {
- /* ---- PCI probe */
- FILE * f;
- int len = 0;
- char buf[200];
- struct pci_module_map * pcidb = NULL;
-
- f = fopen("/proc/bus/pci/devices", "rb");
-
- if (!f) {
- log_message("PCI: could not open proc file");
- return;
- }
-
- switch (type) {
- case SCSI_ADAPTERS:
-#ifndef DISABLE_MEDIAS
- pcidb = scsi_pci_ids;
- len = scsi_num_ids;
-#endif
- break;
- case NETWORK_DEVICES:
-#ifndef DISABLE_NETWORK
- pcidb = eth_pci_ids;
- len = eth_num_ids;
-#endif
- break;
- default:
- return;
- }
-
- while (1) {
- int i, garb, vendor, device;
-
- if (!fgets(buf, sizeof(buf), f)) break;
-
- sscanf(buf, "%x %x", &garb, &vendor);
- device = vendor & 0xFFFF; /* because scanf from dietlibc does not support %4f */
- vendor = (vendor >> 16) & 0xFFFF;
-
- for (i = 0; i < len; i++) {
- if (pcidb[i].vendor == vendor && pcidb[i].device == device) {
- log_message("PCI: device %04x %04x is \"%s\" (%s)", vendor, device, pcidb[i].name, pcidb[i].module);
-#ifndef DISABLE_MEDIAS
- if (type == SCSI_ADAPTERS) {
- int wait_msg = 0;
- enum insmod_return failed;
- if (IS_AUTOMATIC) {
- wait_message("Loading driver for SCSI adapter:\n \n%s", pcidb[i].name);
- wait_msg = 1;
- } else
- stg1_info_message("About to load driver for SCSI adapter:\n \n%s", pcidb[i].name);
- failed = my_insmod(pcidb[i].module, SCSI_ADAPTERS, NULL);
- if (wait_msg)
- remove_wait_message();
- warning_insmod_failed(failed);
-
- }
-#endif
-#ifndef DISABLE_NETWORK
- if (type == NETWORK_DEVICES) {
- stg1_info_message("About to load driver for network device:\n \n%s", pcidb[i].name);
- prepare_intf_descr(pcidb[i].name);
- warning_insmod_failed(my_insmod(pcidb[i].module, NETWORK_DEVICES, NULL));
- if (intf_descr_for_discover) /* for modules providing more than one net intf */
- net_discovered_interface(NULL);
- }
-#endif
- }
- }
- }
-
- fclose(f);
- }
-}
-
-
-#ifndef DISABLE_MEDIAS
-static struct media_info * medias = NULL;
-
-static void find_media(void)
-{
- char b[50];
- char buf[5000];
- struct media_info tmp[50];
- int count;
- int fd;
-
- if (!medias)
- probe_that_type(SCSI_ADAPTERS);
- else
- free(medias); /* that does not free the strings, by the way */
-
- /* ----------------------------------------------- */
- log_message("looking for ide media");
-
- count = 0;
- strcpy(b, "/proc/ide/hd");
- for (b[12] = 'a'; b[12] <= 'h'; b[12]++) {
- int i;
- char ide_disk[] = "disk";
- char ide_cdrom[] = "cdrom";
- char ide_tape[] = "tape";
- char ide_floppy[] = "floppy";
-
- /* first, test if file exists (will tell if attached medium exists) */
- b[13] = '\0';
- if (access(b, R_OK))
- continue;
-
- tmp[count].name = strdup("hda");
- tmp[count].name[2] = b[12];
-
- /* media type */
- strcpy(b + 13, "/media");
- fd = open(b, O_RDONLY);
- if (fd == -1) {
- log_message("failed to open %s for reading", b);
- continue;
- }
-
- i = read(fd, buf, sizeof(buf));
- if (i == -1) {
- log_message("failed to read %s", b);
- continue;
- }
- buf[i] = '\0';
- close(fd);
-
- if (ptr_begins_static_str(buf, ide_disk))
- tmp[count].type = DISK;
- else if (ptr_begins_static_str(buf, ide_cdrom))
- tmp[count].type = CDROM;
- else if (ptr_begins_static_str(buf, ide_tape))
- tmp[count].type = TAPE;
- else if (ptr_begins_static_str(buf, ide_floppy))
- tmp[count].type = FLOPPY;
- else
- tmp[count].type = UNKNOWN_MEDIA;
-
- /* media model */
- strcpy(b + 13, "/model");
- fd = open(b, O_RDONLY);
- if (fd == -1) {
- log_message("failed to open %s for reading", b);
- continue;
- }
-
- i = read(fd, buf, sizeof(buf));
- if (i <= 0) {
- log_message("failed to read %s", b);
- tmp[count].model = strdup("(none)");
- }
- else {
- buf[i-1] = '\0'; /* eat the \n */
- tmp[count].model = strdup(buf);
- }
- close(fd);
-
- log_message("IDE/%d: %s is a %s", tmp[count].type, tmp[count].name, tmp[count].model);
- tmp[count].bus = IDE;
- count++;
- }
-
-
- /* ----------------------------------------------- */
- log_message("looking for scsi media");
-
-
- fd = open("/proc/scsi/scsi", O_RDONLY);
- if (fd != -1) {
- enum { SCSI_TOP, SCSI_HOST, SCSI_VENDOR, SCSI_TYPE } state = SCSI_TOP;
- char * start, * chptr, * next, * end;
- char scsi_disk_count = 'a';
- char scsi_cdrom_count = '0';
- char scsi_tape_count = '0';
-
- char scsi_no_devices[] = "Attached devices: none";
- char scsi_some_devices[] = "Attached devices: ";
- char scsi_host[] = "Host: ";
- char scsi_vendor[] = " Vendor: ";
-
- int i = read(fd, &buf, sizeof(buf)-1);
- if (i < 1) {
- close(fd);
- goto end_scsi;
- }
- close(fd);
- buf[i] = '\0';
-
- if (ptr_begins_static_str(buf, scsi_no_devices))
- goto end_scsi;
-
- start = buf;
- while (*start) {
- char tmp_model[50];
- char tmp_name[10];
-
- chptr = start;
- while (*chptr != '\n') chptr++;
- *chptr = '\0';
- next = chptr + 1;
-
- switch (state) {
- case SCSI_TOP:
- if (!ptr_begins_static_str(start, scsi_some_devices))
- goto end_scsi;
- state = SCSI_HOST;
- break;
-
- case SCSI_HOST:
- if (!ptr_begins_static_str(start, scsi_host))
- goto end_scsi;
- state = SCSI_VENDOR;
- break;
-
- case SCSI_VENDOR:
- if (!ptr_begins_static_str(start, scsi_vendor))
- goto end_scsi;
-
- /* (1) Grab Vendor info */
- start += 10;
- end = chptr = strstr(start, "Model:");
- if (!chptr)
- goto end_scsi;
-
- chptr--;
- while (*chptr == ' ')
- chptr--;
- if (*chptr == ':') {
- chptr++;
- *(chptr + 1) = '\0';
- strcpy(tmp_model,"(unknown)");
- } else {
- *(chptr + 1) = '\0';
- strcpy(tmp_model, start);
- }
-
- /* (2) Grab Model info */
- start = end;
- start += 7;
-
- chptr = strstr(start, "Rev:");
- if (!chptr)
- goto end_scsi;
-
- chptr--;
- while (*chptr == ' ') chptr--;
- *(chptr + 1) = '\0';
-
- strcat(tmp_model, " ");
- strcat(tmp_model, start);
-
- tmp[count].model = strdup(tmp_model);
-
- state = SCSI_TYPE;
-
- break;
-
- case SCSI_TYPE:
- if (strncmp(" Type:", start, 7))
- goto end_scsi;
- *tmp_name = '\0';
-
- if (strstr(start, "Direct-Access")) {
- sprintf(tmp_name, "sd%c", scsi_disk_count++);
- tmp[count].type = DISK;
- } else if (strstr(start, "Sequential-Access")) {
- sprintf(tmp_name, "st%c", scsi_tape_count++);
- tmp[count].type = TAPE;
- } else if (strstr(start, "CD-ROM")) {
- sprintf(tmp_name, "scd%c", scsi_cdrom_count++);
- tmp[count].type = CDROM;
- }
-
- if (*tmp_name) {
- tmp[count].name = strdup(tmp_name);
- log_message("SCSI/%d: %s is a %s", tmp[count].type, tmp[count].name, tmp[count].model);
- tmp[count].bus = SCSI;
- count++;
- }
-
- state = SCSI_HOST;
- }
-
- start = next;
- }
-
- end_scsi:
- }
-
- /* ----------------------------------------------- */
- tmp[count].name = NULL;
- count++;
-
- medias = memdup(tmp, sizeof(struct media_info) * count);
-}
-
-
-/* Finds by media */
-void get_medias(enum media_type media, char *** names, char *** models)
-{
- struct media_info * m;
- char * tmp_names[50];
- char * tmp_models[50];
- int count;
-
- find_media();
-
- m = medias;
-
- count = 0;
- while (m && m->name) {
- if (m->type == media) {
- tmp_names[count] = strdup(m->name);
- tmp_models[count++] = strdup(m->model);
- }
- m++;
- }
- tmp_names[count] = NULL;
- tmp_models[count++] = NULL;
-
- *names = memdup(tmp_names, sizeof(char *) * count);
- *models = memdup(tmp_models, sizeof(char *) * count);
-}
-#endif /* DISABLE_MEDIAS */
-
-
-#ifndef DISABLE_NETWORK
-int net_device_available(char * device) {
- struct ifreq req;
- int s;
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0) {
- log_perror(device);
- return 0;
- }
- strcpy(req.ifr_name, device);
- if (ioctl(s, SIOCGIFFLAGS, &req)) {
- /* if we can't get the flags, the networking device isn't available */
- close(s);
- return 0;
- }
- close(s);
- return 1;
-}
-
-
-char ** get_net_devices(void)
-{
- char * devices[] = {
- "eth0", "eth1", "eth2", "eth3",
- "tr0",
- "plip0", "plip1", "plip2",
- "fddi0",
- NULL
- };
- char ** ptr = devices;
- char * tmp[50];
- int i = 0;
- static int already_probed = 0;
-
- if (!already_probed) {
- already_probed = 1; /* cut off loop brought by: probe_that_type => my_insmod => get_net_devices */
- probe_that_type(NETWORK_DEVICES);
- }
-
- while (ptr && *ptr) {
- if (net_device_available(*ptr))
- tmp[i++] = strdup(*ptr);
- ptr++;
- }
- tmp[i++] = NULL;
-
- return memdup(tmp, sizeof(char *) * i);
-}
-#endif /* DISABLE_NETWORK */
diff --git a/mdk-stage1/probing.h b/mdk-stage1/probing.h
deleted file mode 100644
index ea618b7b1..000000000
--- a/mdk-stage1/probing.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef _PROBING_H_
-#define _PROBING_H_
-
-enum media_type { CDROM, DISK, FLOPPY, TAPE, UNKNOWN_MEDIA };
-
-enum driver_type { SCSI_ADAPTERS, NETWORK_DEVICES, ANY_DRIVER_TYPE };
-
-void get_medias(enum media_type media, char *** names, char *** models);
-char ** get_net_devices(void);
-void net_discovered_interface(char * intf_name);
-char * get_net_intf_description(char * intf_name);
-void prepare_intf_descr(const char * intf_descr);
-
-
-#endif
diff --git a/mdk-stage1/slang/Makefile b/mdk-stage1/slang/Makefile
deleted file mode 100644
index 4cd1dc6bb..000000000
--- a/mdk-stage1/slang/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-LIBNAME = libslang
-
-OBJS = sltermin.o sldisply.o slutty.o slang.o slarray.o slclass.o slcmd.o slerr.o slgetkey.o slkeymap.o slmalloc.o slmath.o slmemchr.o slmemcmp.o slmemcpy.o slmemset.o slmisc.o slparse.o slprepr.o slregexp.o slrline.o slsearch.o slsmg.o slstd.o sltoken.o sltypes.o slxstrng.o slcurses.o slscroll.o slsignal.o slkeypad.o slerrno.o slstring.o slstruct.o slcmplex.o slarrfun.o slimport.o slpath.o slarith.o slassoc.o slcompat.o slposdir.o slstdio.o slproc.o sltime.o slstrops.o slbstr.o slpack.o slintall.o slistruc.o slposio.o slnspace.o slarrmis.o slospath.o slscanf.o
-
-DEFS = -Dunix -DSLANG
-
-INCS =
-
-
-TARGETS = $(LIBNAME).a
-
-ifeq (DIETLIBC, $(L))
-TARGETS += $(LIBNAME)-DIET.a
-endif
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(LIBNAME)-DIET.a: $(OBJS-DIET)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(DIETLIBC_INCLUDES) -c $< -o $@
-
diff --git a/mdk-stage1/slang/_slang.h b/mdk-stage1/slang/_slang.h
deleted file mode 100644
index 02ee13505..000000000
--- a/mdk-stage1/slang/_slang.h
+++ /dev/null
@@ -1,743 +0,0 @@
-#ifndef _PRIVATE_SLANG_H_
-#define _PRIVATE_SLANG_H_
-/* header file for S-Lang internal structures that users do not (should not)
- need. Use slang.h for that purpose. */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* #include "config.h" */
-#include "jdmacros.h"
-#include "sllimits.h"
-
-#ifdef VMS
-# define SLANG_SYSTEM_NAME "_VMS"
-#else
-# if defined (IBMPC_SYSTEM)
-# define SLANG_SYSTEM_NAME "_IBMPC"
-# else
-# define SLANG_SYSTEM_NAME "_UNIX"
-# endif
-#endif /* VMS */
-
-/* These quantities are main_types for byte-compiled code. They are used
- * by the inner_interp routine. The _BC_ means byte-code.
- */
-
-#define _SLANG_BC_LVARIABLE SLANG_LVARIABLE /* 0x01 */
-#define _SLANG_BC_GVARIABLE SLANG_GVARIABLE /* 0x02 */
-#define _SLANG_BC_IVARIABLE SLANG_IVARIABLE /* 0x03 */
-#define _SLANG_BC_RVARIABLE SLANG_RVARIABLE /* 0x04 */
-#define _SLANG_BC_INTRINSIC SLANG_INTRINSIC /* 0x05 */
-#define _SLANG_BC_FUNCTION SLANG_FUNCTION /* 0x06 */
-#define _SLANG_BC_MATH_UNARY SLANG_MATH_UNARY /* 0x07 */
-#define _SLANG_BC_APP_UNARY SLANG_APP_UNARY /* 0x08 */
-#define _SLANG_BC_ICONST SLANG_ICONSTANT /* 0x09 */
-#define _SLANG_BC_DCONST SLANG_DCONSTANT /* 0x0A */
-#define _SLANG_BC_PVARIABLE SLANG_PVARIABLE /* 0x0B */
-#define _SLANG_BC_PFUNCTION SLANG_PFUNCTION /* 0x0C */
-
-#define _SLANG_BC_BINARY 0x10
-#define _SLANG_BC_LITERAL 0x11 /* constant objects */
-#define _SLANG_BC_LITERAL_INT 0x12
-#define _SLANG_BC_LITERAL_STR 0x13
-#define _SLANG_BC_BLOCK 0x14
-
-/* These 3 MUST be in this order too ! */
-#define _SLANG_BC_RETURN 0x15
-#define _SLANG_BC_BREAK 0x16
-#define _SLANG_BC_CONTINUE 0x17
-
-#define _SLANG_BC_EXCH 0x18
-#define _SLANG_BC_LABEL 0x19
-#define _SLANG_BC_LOBJPTR 0x1A
-#define _SLANG_BC_GOBJPTR 0x1B
-#define _SLANG_BC_X_ERROR 0x1C
-/* These must be in this order */
-#define _SLANG_BC_X_USER0 0x1D
-#define _SLANG_BC_X_USER1 0x1E
-#define _SLANG_BC_X_USER2 0x1F
-#define _SLANG_BC_X_USER3 0x20
-#define _SLANG_BC_X_USER4 0x21
-
-#define _SLANG_BC_CALL_DIRECT 0x24
-#define _SLANG_BC_CALL_DIRECT_FRAME 0x25
-#define _SLANG_BC_UNARY 0x26
-#define _SLANG_BC_UNARY_FUNC 0x27
-
-#define _SLANG_BC_DEREF_ASSIGN 0x30
-#define _SLANG_BC_SET_LOCAL_LVALUE 0x31
-#define _SLANG_BC_SET_GLOBAL_LVALUE 0x32
-#define _SLANG_BC_SET_INTRIN_LVALUE 0x33
-#define _SLANG_BC_SET_STRUCT_LVALUE 0x34
-#define _SLANG_BC_FIELD 0x35
-#define _SLANG_BC_SET_ARRAY_LVALUE 0x36
-
-#define _SLANG_BC_LINE_NUM 0x40
-
-#define _SLANG_BC_TMP 0x50
-#define _SLANG_BC_LVARIABLE_AGET 0x60
-#define _SLANG_BC_LVARIABLE_APUT 0x61
-#define _SLANG_BC_INTEGER_PLUS 0x62
-#define _SLANG_BC_INTEGER_MINUS 0x63
-#define _SLANG_BC_ARG_LVARIABLE 0x64
-#define _SLANG_BC_EARG_LVARIABLE 0x65
-
-#define _SLANG_BC_CALL_DIRECT_INTRINSIC 0x80
-#define _SLANG_BC_INTRINSIC_CALL_DIRECT 0x81
-#define _SLANG_BC_CALL_DIRECT_LSTR 0x82
-#define _SLANG_BC_CALL_DIRECT_SLFUN 0x83
-#define _SLANG_BC_CALL_DIRECT_INTRSTOP 0x84
-#define _SLANG_BC_INTRINSIC_STOP 0x85
-#define _SLANG_BC_CALL_DIRECT_EARG_LVAR 0x86
-#define _SLANG_BC_CALL_DIRECT_LINT 0x87
-#define _SLANG_BC_CALL_DIRECT_LVAR 0x88
-
-
-/* Byte-Code Sub Types (_BCST_) */
-
-/* These are sub_types of _SLANG_BC_BLOCK */
-#define _SLANG_BCST_ERROR_BLOCK 0x01
-#define _SLANG_BCST_EXIT_BLOCK 0x02
-#define _SLANG_BCST_USER_BLOCK0 0x03
-#define _SLANG_BCST_USER_BLOCK1 0x04
-#define _SLANG_BCST_USER_BLOCK2 0x05
-#define _SLANG_BCST_USER_BLOCK3 0x06
-#define _SLANG_BCST_USER_BLOCK4 0x07
-/* The user blocks MUST be in the above order */
-#define _SLANG_BCST_LOOP 0x10
-#define _SLANG_BCST_WHILE 0x11
-#define _SLANG_BCST_FOR 0x12
-#define _SLANG_BCST_FOREVER 0x13
-#define _SLANG_BCST_CFOR 0x14
-#define _SLANG_BCST_DOWHILE 0x15
-#define _SLANG_BCST_FOREACH 0x16
-
-#define _SLANG_BCST_IF 0x20
-#define _SLANG_BCST_IFNOT 0x21
-#define _SLANG_BCST_ELSE 0x22
-#define _SLANG_BCST_ANDELSE 0x23
-#define _SLANG_BCST_ORELSE 0x24
-#define _SLANG_BCST_SWITCH 0x25
-#define _SLANG_BCST_NOTELSE 0x26
-
-/* assignment (_SLANG_BC_SET_*_LVALUE) subtypes. The order MUST correspond
- * to the assignment token order with the ASSIGN_TOKEN as the first!
- */
-#define _SLANG_BCST_ASSIGN 0x01
-#define _SLANG_BCST_PLUSEQS 0x02
-#define _SLANG_BCST_MINUSEQS 0x03
-#define _SLANG_BCST_TIMESEQS 0x04
-#define _SLANG_BCST_DIVEQS 0x05
-#define _SLANG_BCST_BOREQS 0x06
-#define _SLANG_BCST_BANDEQS 0x07
-#define _SLANG_BCST_PLUSPLUS 0x08
-#define _SLANG_BCST_POST_PLUSPLUS 0x09
-#define _SLANG_BCST_MINUSMINUS 0x0A
-#define _SLANG_BCST_POST_MINUSMINUS 0x0B
-
-/* These use SLANG_PLUS, SLANG_MINUS, SLANG_PLUSPLUS, etc... */
-
-typedef union
-{
-#if SLANG_HAS_FLOAT
- double double_val;
- float float_val;
-#endif
- long long_val;
- unsigned long ulong_val;
- VOID_STAR ptr_val;
- char *s_val;
- int int_val;
- unsigned int uint_val;
- SLang_MMT_Type *ref;
- SLang_Name_Type *n_val;
- struct _SLang_Struct_Type *struct_val;
- struct _SLang_Array_Type *array_val;
- short short_val;
- unsigned short ushort_val;
- char char_val;
- unsigned char uchar_val;
-}
-_SL_Object_Union_Type;
-
-typedef struct _SLang_Object_Type
-{
- unsigned char data_type; /* SLANG_INT_TYPE, ... */
- _SL_Object_Union_Type v;
-}
-SLang_Object_Type;
-
-struct _SLang_MMT_Type
-{
- unsigned char data_type; /* int, string, etc... */
- VOID_STAR user_data; /* address of user structure */
- unsigned int count; /* number of references */
-};
-
-extern int _SLang_pop_object_of_type (unsigned char, SLang_Object_Type *, int);
-
-typedef struct
-{
- char *name; /* slstring */
- SLang_Object_Type obj;
-}
-_SLstruct_Field_Type;
-
-typedef struct _SLang_Struct_Type
-{
- _SLstruct_Field_Type *fields;
- unsigned int nfields; /* number used */
- unsigned int num_refs;
-}
-_SLang_Struct_Type;
-
-extern void _SLstruct_delete_struct (_SLang_Struct_Type *);
-extern int _SLang_push_struct (_SLang_Struct_Type *);
-extern int _SLang_pop_struct (_SLang_Struct_Type **);
-extern int _SLstruct_init (void);
-/* extern int _SLstruct_get_field (char *); */
-extern int _SLstruct_define_struct (void);
-extern int _SLstruct_define_typedef (void);
-
-extern int _SLang_pop_datatype (unsigned char *);
-extern int _SLang_push_datatype (unsigned char);
-
-struct _SLang_Ref_Type
-{
- int is_global;
- union
- {
- SLang_Name_Type *nt;
- SLang_Object_Type *local_obj;
- }
- v;
-};
-
-extern int _SLang_dereference_ref (SLang_Ref_Type *);
-extern int _SLang_deref_assign (SLang_Ref_Type *);
-extern int _SLang_push_ref (int, VOID_STAR);
-
-extern int _SL_increment_frame_pointer (void);
-extern int _SL_decrement_frame_pointer (void);
-
-extern int SLang_pop(SLang_Object_Type *);
-extern void SLang_free_object (SLang_Object_Type *);
-extern int _SLanytype_typecast (unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR);
-extern void _SLstring_intrinsic (void);
-
-
-/* These functions are used to create slstrings of a fixed length. Be
- * very careful how they are used. In particular, if len bytes are allocated,
- * then the string must be len characters long, no more and no less.
- */
-extern char *_SLallocate_slstring (unsigned int);
-extern char *_SLcreate_via_alloced_slstring (char *, unsigned int);
-extern void _SLunallocate_slstring (char *, unsigned int);
-extern int _SLpush_alloced_slstring (char *, unsigned int);
-
-typedef struct
-{
- char **buf;
- unsigned int max_num;
- unsigned int num;
- unsigned int delta_num;
-}
-_SLString_List_Type;
-extern int _SLstring_list_append (_SLString_List_Type *, char *);
-extern int _SLstring_list_init (_SLString_List_Type *, unsigned int, unsigned int);
-extern void _SLstring_list_delete (_SLString_List_Type *);
-extern int _SLstring_list_push (_SLString_List_Type *);
-
-/* This function assumes that s is an slstring. */
-extern char *_SLstring_dup_slstring (char *);
-extern int _SLang_dup_and_push_slstring (char *);
-
-
-extern int _SLang_init_import (void);
-
-/* This function checks to see if the referenced object is initialized */
-extern int _SLang_is_ref_initialized (SLang_Ref_Type *);
-extern int _SLcheck_identifier_syntax (char *);
-extern int _SLang_uninitialize_ref (SLang_Ref_Type *);
-
-extern int _SLpush_slang_obj (SLang_Object_Type *);
-
-extern char *_SLexpand_escaped_char(char *, char *);
-extern void _SLexpand_escaped_string (char *, char *, char *);
-
-/* returns a pointer to an SLstring string-- use SLang_free_slstring */
-extern char *_SLstringize_object (SLang_Object_Type *);
-extern int _SLdump_objects (char *, SLang_Object_Type *, unsigned int, int);
-
-extern SLang_Object_Type *_SLRun_Stack;
-extern SLang_Object_Type *_SLStack_Pointer;
-
-struct _SLang_NameSpace_Type
-{
- struct _SLang_NameSpace_Type *next;
- char *name; /* this is the load_type name */
- char *namespace_name; /* this name is assigned by implements */
- unsigned int table_size;
- SLang_Name_Type **table;
-};
-extern SLang_NameSpace_Type *_SLns_allocate_namespace (char *, unsigned int);
-extern SLang_NameSpace_Type *_SLns_find_namespace (char *);
-extern int _SLns_set_namespace_name (SLang_NameSpace_Type *, char *);
-extern SLang_Array_Type *_SLnspace_apropos (SLang_NameSpace_Type *, char *, unsigned int);
-extern void _SLang_use_namespace_intrinsic (char *name);
-extern char *_SLang_cur_namespace_intrinsic (void);
-extern SLang_Array_Type *_SLang_apropos (char *, char *, unsigned int);
-extern void _SLang_implements_intrinsic (char *);
-
-extern int _SLang_Trace;
-extern int _SLstack_depth(void);
-extern char *_SLang_Current_Function_Name;
-
-extern int _SLang_trace_fun(char *);
-extern int _SLang_Compile_Line_Num_Info;
-
-extern char *_SLstring_dup_hashed_string (char *, unsigned long);
-extern unsigned long _SLcompute_string_hash (char *);
-extern char *_SLstring_make_hashed_string (char *, unsigned int, unsigned long *);
-extern void _SLfree_hashed_string (char *, unsigned int, unsigned long);
-unsigned long _SLstring_hash (unsigned char *, unsigned char *);
-extern int _SLinit_slcomplex (void);
-
-extern int _SLang_init_slstrops (void);
-extern int _SLstrops_do_sprintf_n (int);
-extern int _SLang_sscanf (void);
-extern double _SLang_atof (char *);
-extern int _SLang_init_bstring (void);
-extern int _SLang_init_sltime (void);
-extern void _SLpack (void);
-extern void _SLunpack (char *, SLang_BString_Type *);
-extern void _SLpack_pad_format (char *);
-extern unsigned int _SLpack_compute_size (char *);
-extern int _SLusleep (unsigned long);
-
-/* frees upon error. NULL __NOT__ ok. */
-extern int _SLang_push_slstring (char *);
-
-extern unsigned char _SLarith_promote_type (unsigned char);
-extern int _SLarith_get_precedence (unsigned char);
-extern int _SLarith_typecast (unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR);
-
-extern int SLang_push(SLang_Object_Type *);
-extern int SLadd_global_variable (char *);
-extern void _SLang_clear_error (void);
-
-extern int _SLdo_pop (void);
-extern unsigned int _SLsys_getkey (void);
-extern int _SLsys_input_pending (int);
-#ifdef IBMPC_SYSTEM
-extern unsigned int _SLpc_convert_scancode (unsigned int, unsigned int, int);
-#define _SLTT_KEY_SHIFT 1
-#define _SLTT_KEY_CTRL 2
-#define _SLTT_KEY_ALT 4
-#endif
-
-typedef struct _SLterminfo_Type SLterminfo_Type;
-extern SLterminfo_Type *_SLtt_tigetent (char *);
-extern char *_SLtt_tigetstr (SLterminfo_Type *, char *);
-extern int _SLtt_tigetnum (SLterminfo_Type *, char *);
-extern int _SLtt_tigetflag (SLterminfo_Type *, char *);
-
-#if SLTT_HAS_NON_BCE_SUPPORT
-extern int _SLtt_get_bce_color_offset (void);
-#endif
-extern void (*_SLtt_color_changed_hook)(void);
-
-extern unsigned char SLang_Input_Buffer [SL_MAX_INPUT_BUFFER_LEN];
-
-extern int _SLregister_types (void);
-extern SLang_Class_Type *_SLclass_get_class (unsigned char);
-extern VOID_STAR _SLclass_get_ptr_to_value (SLang_Class_Type *, SLang_Object_Type *);
-extern void _SLclass_type_mismatch_error (unsigned char, unsigned char);
-extern int _SLclass_init (void);
-extern int _SLclass_copy_class (unsigned char, unsigned char);
-
-extern unsigned char _SLclass_Class_Type [256];
-
-extern int (*_SLclass_get_typecast (unsigned char, unsigned char, int))
-(unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR);
-
-extern int (*_SLclass_get_binary_fun (int, SLang_Class_Type *, SLang_Class_Type *, SLang_Class_Type **, int))
-(int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR);
-
-extern int (*_SLclass_get_unary_fun (int, SLang_Class_Type *, SLang_Class_Type **, int))
-(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
-
-extern int _SLarith_register_types (void);
-extern unsigned char _SLarith_Arith_Types [];
-extern unsigned char _SLarith_Is_Arith_Type [256];
-extern int _SLarith_bin_op (SLang_Object_Type *, SLang_Object_Type *, int);
-
-extern int _SLarray_add_bin_op (unsigned char);
-
-extern int _SLang_call_funptr (SLang_Name_Type *);
-extern void _SLset_double_format (char *);
-extern SLang_Name_Type *_SLlocate_global_name (char *);
-extern SLang_Name_Type *_SLlocate_name (char *);
-
-extern char *_SLdefines[];
-
-#define SL_ERRNO_NOT_IMPLEMENTED 0x7FFF
-extern int _SLerrno_errno;
-extern int _SLerrno_init (void);
-
-extern int _SLstdio_fdopen (char *, int, char *);
-
-extern void _SLstruct_pop_args (int *);
-extern void _SLstruct_push_args (SLang_Array_Type *);
-
-extern int _SLarray_aput (void);
-extern int _SLarray_aget (void);
-extern int _SLarray_inline_implicit_array (void);
-extern int _SLarray_inline_array (void);
-extern int _SLarray_wildcard_array (void);
-
-extern int
-_SLarray_typecast (unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, int);
-
-extern int _SLarray_aput_transfer_elem (SLang_Array_Type *, int *,
- VOID_STAR, unsigned int, int);
-extern int _SLarray_aget_transfer_elem (SLang_Array_Type *, int *,
- VOID_STAR, unsigned int, int);
-extern void _SLarray_free_array_elements (SLang_Class_Type *, VOID_STAR, unsigned int);
-
-extern SLang_Foreach_Context_Type *
-_SLarray_cl_foreach_open (unsigned char, unsigned int);
-extern void _SLarray_cl_foreach_close (unsigned char, SLang_Foreach_Context_Type *);
-extern int _SLarray_cl_foreach (unsigned char, SLang_Foreach_Context_Type *);
-
-extern int _SLarray_matrix_multiply (void);
-extern void (*_SLang_Matrix_Multiply)(void);
-
-extern int _SLarray_init_slarray (void);
-extern SLang_Array_Type *
-SLang_create_array1 (unsigned char, int, VOID_STAR, int *, unsigned int, int);
-
-extern int _SLcompile_push_context (SLang_Load_Type *);
-extern int _SLcompile_pop_context (void);
-extern int _SLang_Auto_Declare_Globals;
-
-typedef struct
-{
- union
- {
- long long_val;
- char *s_val; /* Used for IDENT_TOKEN, FLOAT, etc... */
- SLang_BString_Type *b_val;
- } v;
- int free_sval_flag;
- unsigned int num_refs;
- unsigned long hash;
-#if _SLANG_HAS_DEBUG_CODE
- int line_number;
-#endif
- unsigned char type;
-}
-_SLang_Token_Type;
-
-extern void _SLcompile (_SLang_Token_Type *);
-extern void (*_SLcompile_ptr)(_SLang_Token_Type *);
-
-/* *** TOKENS *** */
-
-/* Note that that tokens corresponding to ^J, ^M, and ^Z should not be used.
- * This is because a file that contains any of these characters will
- * have an OS dependent interpretation, e.g., ^Z is EOF on MSDOS.
- */
-
-/* Special tokens */
-#define EOF_TOKEN 0x01
-#define RPN_TOKEN 0x02
-#define NL_TOKEN 0x03
-#define NOP_TOKEN 0x05
-#define FARG_TOKEN 0x06
-#define TMP_TOKEN 0x07
-
-#define RESERVED1_TOKEN 0x0A /* \n */
-#define RESERVED2_TOKEN 0x0D /* \r */
-
-/* Literal tokens */
-#define CHAR_TOKEN 0x10
-#define UCHAR_TOKEN 0x11
-#define SHORT_TOKEN 0x12
-#define USHORT_TOKEN 0x13
-#define INT_TOKEN 0x14
-#define UINT_TOKEN 0x15
-#define LONG_TOKEN 0x16
-#define ULONG_TOKEN 0x17
-#define IS_INTEGER_TOKEN(x) ((x >= CHAR_TOKEN) && (x <= ULONG_TOKEN))
-#define FLOAT_TOKEN 0x18
-#define DOUBLE_TOKEN 0x19
-#define RESERVED3_TOKEN 0x1A /* ^Z */
-#define COMPLEX_TOKEN 0x1B
-#define STRING_TOKEN 0x1C
-#define BSTRING_TOKEN 0x1D
-#define _BSTRING_TOKEN 0x1E /* byte-compiled BSTRING */
-#define ESC_STRING_TOKEN 0x1F
-
-/* Tokens that can be LVALUES */
-#define IDENT_TOKEN 0x20
-#define ARRAY_TOKEN 0x21
-#define DOT_TOKEN 0x22
-#define IS_LVALUE_TOKEN (((t) <= DOT_TOKEN) && ((t) >= IDENT_TOKEN))
-
-/* do not use these values */
-#define RESERVED4_TOKEN 0x23 /* # */
-#define RESERVED5_TOKEN 0x25 /* % */
-
-/* Flags for struct fields */
-#define STATIC_TOKEN 0x26
-#define READONLY_TOKEN 0x27
-#define PRIVATE_TOKEN 0x28
-#define PUBLIC_TOKEN 0x29
-
-/* Punctuation tokens */
-#define OBRACKET_TOKEN 0x2a
-#define CBRACKET_TOKEN 0x2b
-#define OPAREN_TOKEN 0x2c
-#define CPAREN_TOKEN 0x2d
-#define OBRACE_TOKEN 0x2e
-#define CBRACE_TOKEN 0x2f
-
-#define COMMA_TOKEN 0x31
-#define SEMICOLON_TOKEN 0x32
-#define COLON_TOKEN 0x33
-#define NAMESPACE_TOKEN 0x34
-
-/* Operators */
-#define POW_TOKEN 0x38
-
-/* The order here must match the order in the Binop_Level table in slparse.c */
-#define FIRST_BINARY_OP 0x39
-#define ADD_TOKEN 0x39
-#define SUB_TOKEN 0x3a
-#define TIMES_TOKEN 0x3b
-#define DIV_TOKEN 0x3c
-#define LT_TOKEN 0x3d
-#define LE_TOKEN 0x3e
-#define GT_TOKEN 0x3f
-#define GE_TOKEN 0x40
-#define EQ_TOKEN 0x41
-#define NE_TOKEN 0x42
-#define AND_TOKEN 0x43
-#define OR_TOKEN 0x44
-#define MOD_TOKEN 0x45
-#define BAND_TOKEN 0x46
-#define SHL_TOKEN 0x47
-#define SHR_TOKEN 0x48
-#define BXOR_TOKEN 0x49
-#define BOR_TOKEN 0x4a
-#define POUND_TOKEN 0x4b /* matrix multiplication */
-
-#define LAST_BINARY_OP 0x4b
-#define IS_BINARY_OP(t) ((t >= FIRST_BINARY_OP) && (t <= LAST_BINARY_OP))
-
-/* unary tokens -- but not all of them (see grammar) */
-#define DEREF_TOKEN 0x4d
-#define NOT_TOKEN 0x4e
-#define BNOT_TOKEN 0x4f
-
-#define IS_INTERNAL_FUNC(t) ((t >= 0x50) && (t <= 0x56))
-#define POP_TOKEN 0x50
-#define CHS_TOKEN 0x51
-#define SIGN_TOKEN 0x52
-#define ABS_TOKEN 0x53
-#define SQR_TOKEN 0x54
-#define MUL2_TOKEN 0x55
-#define EXCH_TOKEN 0x56
-
-/* Assignment tokens. Note: these must appear with sequential values.
- * The order here must match the specific lvalue assignments below.
- * These tokens are used by rpn routines in slang.c. slparse.c maps them
- * onto the specific lvalue tokens while parsing infix.
- * Also the assignment _SLANG_BCST_ assumes this order
- */
-#define ASSIGN_TOKEN 0x57
-#define PLUSEQS_TOKEN 0x58
-#define MINUSEQS_TOKEN 0x59
-#define TIMESEQS_TOKEN 0x5A
-#define DIVEQS_TOKEN 0x5B
-#define BOREQS_TOKEN 0x5C
-#define BANDEQS_TOKEN 0x5D
-#define PLUSPLUS_TOKEN 0x5E
-#define POST_PLUSPLUS_TOKEN 0x5F
-#define MINUSMINUS_TOKEN 0x60
-#define POST_MINUSMINUS_TOKEN 0x61
-
-/* Directives */
-#define FIRST_DIRECTIVE_TOKEN 0x62
-#define IFNOT_TOKEN 0x62
-#define IF_TOKEN 0x63
-#define ELSE_TOKEN 0x64
-#define FOREVER_TOKEN 0x65
-#define WHILE_TOKEN 0x66
-#define FOR_TOKEN 0x67
-#define _FOR_TOKEN 0x68
-#define LOOP_TOKEN 0x69
-#define SWITCH_TOKEN 0x6A
-#define DOWHILE_TOKEN 0x6B
-#define ANDELSE_TOKEN 0x6C
-#define ORELSE_TOKEN 0x6D
-#define ERRBLK_TOKEN 0x6E
-#define EXITBLK_TOKEN 0x6F
-/* These must be sequential */
-#define USRBLK0_TOKEN 0x70
-#define USRBLK1_TOKEN 0x71
-#define USRBLK2_TOKEN 0x72
-#define USRBLK3_TOKEN 0x73
-#define USRBLK4_TOKEN 0x74
-
-#define CONT_TOKEN 0x75
-#define BREAK_TOKEN 0x76
-#define RETURN_TOKEN 0x77
-
-#define CASE_TOKEN 0x78
-#define DEFINE_TOKEN 0x79
-#define DO_TOKEN 0x7a
-#define VARIABLE_TOKEN 0x7b
-#define GVARIABLE_TOKEN 0x7c
-#define _REF_TOKEN 0x7d
-#define PUSH_TOKEN 0x7e
-#define STRUCT_TOKEN 0x7f
-#define TYPEDEF_TOKEN 0x80
-#define NOTELSE_TOKEN 0x81
-#define DEFINE_STATIC_TOKEN 0x82
-#define FOREACH_TOKEN 0x83
-#define USING_TOKEN 0x84
-#define DEFINE_PRIVATE_TOKEN 0x85
-#define DEFINE_PUBLIC_TOKEN 0x86
-
-/* Note: the order here must match the order of the generic assignment tokens.
- * Also, the first token of each group must be the ?_ASSIGN_TOKEN.
- * slparse.c exploits this order, as well as slang.h.
- */
-#define FIRST_ASSIGN_TOKEN 0x90
-#define _STRUCT_ASSIGN_TOKEN 0x90
-#define _STRUCT_PLUSEQS_TOKEN 0x91
-#define _STRUCT_MINUSEQS_TOKEN 0x92
-#define _STRUCT_TIMESEQS_TOKEN 0x93
-#define _STRUCT_DIVEQS_TOKEN 0x94
-#define _STRUCT_BOREQS_TOKEN 0x95
-#define _STRUCT_BANDEQS_TOKEN 0x96
-#define _STRUCT_PLUSPLUS_TOKEN 0x97
-#define _STRUCT_POST_PLUSPLUS_TOKEN 0x98
-#define _STRUCT_MINUSMINUS_TOKEN 0x99
-#define _STRUCT_POST_MINUSMINUS_TOKEN 0x9A
-
-#define _ARRAY_ASSIGN_TOKEN 0xA0
-#define _ARRAY_PLUSEQS_TOKEN 0xA1
-#define _ARRAY_MINUSEQS_TOKEN 0xA2
-#define _ARRAY_TIMESEQS_TOKEN 0xA3
-#define _ARRAY_DIVEQS_TOKEN 0xA4
-#define _ARRAY_BOREQS_TOKEN 0xA5
-#define _ARRAY_BANDEQS_TOKEN 0xA6
-#define _ARRAY_PLUSPLUS_TOKEN 0xA7
-#define _ARRAY_POST_PLUSPLUS_TOKEN 0xA8
-#define _ARRAY_MINUSMINUS_TOKEN 0xA9
-#define _ARRAY_POST_MINUSMINUS_TOKEN 0xAA
-
-#define _SCALAR_ASSIGN_TOKEN 0xB0
-#define _SCALAR_PLUSEQS_TOKEN 0xB1
-#define _SCALAR_MINUSEQS_TOKEN 0xB2
-#define _SCALAR_TIMESEQS_TOKEN 0xB3
-#define _SCALAR_DIVEQS_TOKEN 0xB4
-#define _SCALAR_BOREQS_TOKEN 0xB5
-#define _SCALAR_BANDEQS_TOKEN 0xB6
-#define _SCALAR_PLUSPLUS_TOKEN 0xB7
-#define _SCALAR_POST_PLUSPLUS_TOKEN 0xB8
-#define _SCALAR_MINUSMINUS_TOKEN 0xB9
-#define _SCALAR_POST_MINUSMINUS_TOKEN 0xBA
-
-#define _DEREF_ASSIGN_TOKEN 0xC0
-#define _DEREF_PLUSEQS_TOKEN 0xC1
-#define _DEREF_MINUSEQS_TOKEN 0xC2
-#define _DEREF_TIMESEQS_TOKEN 0xC3
-#define _DEREF_DIVEQS_TOKEN 0xC4
-#define _DEREF_BOREQS_TOKEN 0xC5
-#define _DEREF_BANDEQS_TOKEN 0xC6
-#define _DEREF_PLUSPLUS_TOKEN 0xC7
-#define _DEREF_POST_PLUSPLUS_TOKEN 0xC8
-#define _DEREF_MINUSMINUS_TOKEN 0xC9
-#define _DEREF_POST_MINUSMINUS_TOKEN 0xCA
-
-#define LAST_ASSIGN_TOKEN 0xCA
-#define IS_ASSIGN_TOKEN(t) (((t)>=FIRST_ASSIGN_TOKEN)&&((t)<=LAST_ASSIGN_TOKEN))
-
-#define _INLINE_ARRAY_TOKEN 0xE0
-#define _INLINE_IMPLICIT_ARRAY_TOKEN 0xE1
-#define _NULL_TOKEN 0xE2
-#define _INLINE_WILDCARD_ARRAY_TOKEN 0xE3
-
-#define LINE_NUM_TOKEN 0xFC
-#define ARG_TOKEN 0xFD
-#define EARG_TOKEN 0xFE
-#define NO_OP_LITERAL 0xFF
-
-typedef struct
-{
- /* sltoken.c */
- /* SLang_eval_object */
- SLang_Load_Type *llt;
- SLPreprocess_Type *this_slpp;
- /* prep_get_char() */
- char *input_line;
- char cchar;
- /* get_token() */
- int want_nl_token;
-
- /* slparse.c */
- _SLang_Token_Type ctok;
- int block_depth;
- int assignment_expression;
-
- /* slang.c : SLcompile() */
- _SLang_Token_Type save_token;
- _SLang_Token_Type next_token;
- void (*slcompile_ptr)(_SLang_Token_Type *);
-}
-_SLEval_Context;
-
-extern int _SLget_token (_SLang_Token_Type *);
-extern void _SLparse_error (char *, _SLang_Token_Type *, int);
-extern void _SLparse_start (SLang_Load_Type *);
-extern int _SLget_rpn_token (_SLang_Token_Type *);
-extern void _SLcompile_byte_compiled (void);
-
-extern int (*_SLprep_eval_hook) (char *);
-
-#ifdef HAVE_VSNPRINTF
-#define _SLvsnprintf vsnprintf
-#else
-extern int _SLvsnprintf (char *, unsigned int, char *, va_list);
-#endif
-
-#ifdef HAVE_SNPRINTF
-# define _SLsnprintf snprintf
-#else
-extern int _SLsnprintf (char *, unsigned int, char *, ...);
-#endif
-
-#undef _INLINE_
-#if defined(__GNUC__) && _SLANG_USE_INLINE_CODE
-# define _INLINE_ __inline__
-#else
-# define _INLINE_
-#endif
-
-
-#endif /* _PRIVATE_SLANG_H_ */
diff --git a/mdk-stage1/slang/config.h b/mdk-stage1/slang/config.h
deleted file mode 100644
index a5ab3273c..000000000
--- a/mdk-stage1/slang/config.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/* src/sysconf.h. Generated automatically by configure. */
-/* -*- c -*- */
-/* Note: this is for unix only. */
-
-#ifndef SL_CONFIG_H
-#define SL_CONFIG_H
-
-/* define if you have stdlib.h */
-#define HAVE_STDLIB_H 1
-
-/* define if you have unistd.h */
-#define HAVE_UNISTD_H 1
-
-/* define if you have termios.h */
-#define HAVE_TERMIOS_H 1
-
-/* define if you have memory.h */
-#define HAVE_MEMORY_H 1
-
-/* define if you have malloc.h */
-#define HAVE_MALLOC_H 1
-
-/* define if you have memset */
-#define HAVE_MEMSET 1
-
-/* define if you have memcpy */
-#define HAVE_MEMCPY 1
-
-//#define HAVE_SETLOCALE 1
-//#define HAVE_LOCALE_H 1
-
-#define HAVE_VFSCANF 1
-
-/* define if you have fcntl.h */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the vsnprintf, snprintf functions and they return
- * EOF upon failure.
- */
-#define HAVE_VSNPRINTF 1
-#define HAVE_SNPRINTF 1
-
-/* define if you have sys/fcntl.h */
-#define HAVE_SYS_FCNTL_H 1
-
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_WAIT_H 1
-#define HAVE_SYS_TIMES_H 1
-
-/* Set these to the appropriate values */
-#define SIZEOF_SHORT 2
-#define SIZEOF_INT 4
-#define SIZEOF_LONG 4
-#define SIZEOF_FLOAT 4
-#define SIZEOF_DOUBLE 8
-
-/* define if you have these. */
-#define HAVE_ATEXIT 1
-#define HAVE_ON_EXIT 1
-#define HAVE_PUTENV 1
-#define HAVE_GETCWD 1
-#define HAVE_TCGETATTR 1
-#define HAVE_TCSETATTR 1
-#define HAVE_CFGETOSPEED 1
-#define HAVE_LSTAT 1
-#define HAVE_KILL 1
-#define HAVE_CHOWN 1
-#define HAVE_VSNPRINTF 1
-#define HAVE_POPEN 1
-#define HAVE_UMASK 1
-#define HAVE_READLINK 1
-#define HAVE_TIMES 1
-#define HAVE_GMTIME 1
-#define HAVE_MKFIFO 1
-
-#define HAVE_GETPPID 1
-#define HAVE_GETGID 1
-#define HAVE_GETEGID 1
-#define HAVE_GETEUID 1
-/* #undef HAVE_GETUID */
-
-#define HAVE_SETGID 1
-#define HAVE_SETPGID 1
-#define HAVE_SETUID 1
-
-#define HAVE_ACOSH 1
-#define HAVE_ASINH 1
-#define HAVE_ATANH 1
-
-#define HAVE_DIRENT_H 1
-/* #undef HAVE_SYS_NDIR_H */
-/* #undef HAVE_SYS_DIR_H */
-/* #undef HAVE_NDIR_H */
-
-#define HAVE_DLFCN_H 1
-
-#define HAVE_SYS_UTSNAME_H 1
-#define HAVE_UNAME 1
-
-/* These two are needed on DOS-like systems. Unix does not require them.
- * They are included here for consistency.
- *
-#define HAVE_IO_H
-#define HAVE_PROCESS_H
- */
-
-/* #undef USE_TERMCAP */
-
-/* #undef mode_t */
-/* #undef uid_t */
-/* #undef pid_t */
-/* #undef gid_t */
-
-/* Do we have posix signals? */
-#define HAVE_SIGACTION 1
-#define HAVE_SIGPROCMASK 1
-#define HAVE_SIGEMPTYSET 1
-#define HAVE_SIGADDSET 1
-
-#if defined(HAVE_SIGADDSET) && defined(HAVE_SIGEMPTYSET)
-# if defined(HAVE_SIGACTION) && defined(HAVE_SIGPROCMASK)
-# define SLANG_POSIX_SIGNALS
-# endif
-#endif
-
-/* Define if you need to in order for stat and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-#ifdef _AIX
-# ifndef _POSIX_SOURCE
-# define _POSIX_SOURCE 1
-# endif
-# ifndef _ALL_SOURCE
-# define _ALL_SOURCE
-# endif
-/* This may generate warnings but the fact is that without it, xlc will
- * INCORRECTLY inline many str* functions. */
-/* # undef __STR__ */
-#endif
-
-/* define USE_TERMCAP if you want to use it instead of terminfo. */
-#if defined(sequent) || defined(NeXT)
-# ifndef USE_TERMCAP
-# define USE_TERMCAP
-# endif
-#endif
-
-#if defined(ultrix) && !defined(__GNUC__)
-# ifndef NO_PROTOTYPES
-# define NO_PROTOTYPES
-# endif
-#endif
-
-#ifndef unix
-# define unix 1
-#endif
-
-#ifndef __unix__
-# define __unix__ 1
-#endif
-
-#define _SLANG_SOURCE_ 1
-#endif /* SL_CONFIG_H */
diff --git a/mdk-stage1/slang/jdmacros.h b/mdk-stage1/slang/jdmacros.h
deleted file mode 100644
index 70d491b78..000000000
--- a/mdk-stage1/slang/jdmacros.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _JD_MACROS_H_
-#define _JD_MACROS_H_
-
-#ifndef SLMEMSET
-# ifdef HAVE_MEMSET
-# define SLMEMSET memset
-# else
-# define SLMEMSET SLmemset
-# endif
-#endif
-
-#ifndef SLMEMCHR
-# ifdef HAVE_MEMCHR
-# define SLMEMCHR memchr
-# else
-# define SLMEMCHR SLmemchr
-# endif
-#endif
-
-#ifndef SLMEMCPY
-# ifdef HAVE_MEMCPY
-# define SLMEMCPY memcpy
-# else
-# define SLMEMCPY SLmemcpy
-# endif
-#endif
-
-/* Note: HAVE_MEMCMP requires an unsigned memory comparison!!! */
-#ifndef SLMEMCMP
-# ifdef HAVE_MEMCMP
-# define SLMEMCMP memcmp
-# else
-# define SLMEMCMP SLmemcmp
-# endif
-#endif
-
-#ifndef SLFREE
-# define SLFREE free
-#endif
-
-#ifndef SLMALLOC
-# define SLMALLOC malloc
-#endif
-
-#ifndef SLCALLOC
-# define SLCALLOC calloc
-#endif
-
-#ifndef SLREALLOC
-# define SLREALLOC realloc
-#endif
-
-#endif /* _JD_MACROS_H_ */
diff --git a/mdk-stage1/slang/keywhash.c b/mdk-stage1/slang/keywhash.c
deleted file mode 100644
index 17d94d5a3..000000000
--- a/mdk-stage1/slang/keywhash.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/* Perfect hash generated by command line:
- * ./a.out 1
- */
-#define MIN_HASH_VALUE 2
-#define MAX_HASH_VALUE 118
-#define MIN_KEYWORD_LEN 2
-#define MAX_KEYWORD_LEN 11
-
-static unsigned char Keyword_Hash_Table [256] =
-{
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 1, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 9, 7, 1, 8, 2, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 0, 0, 119, 0, 119, 119, 119, 7, 119, 0, 0, 119, 119, 0,
- 119, 119, 0, 0, 0, 0, 119, 119, 0, 119, 119, 119, 119, 119, 119, 2,
- 119, 41, 1, 1, 9, 0, 55, 8, 0, 0, 119, 0, 27, 0, 0, 0,
- 7, 2, 0, 21, 0, 0, 0, 3, 2, 0, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119
-};
-
-static unsigned char keyword_hash (char *s, unsigned int len)
-{
- unsigned int sum;
-
- sum = len;
- while (len)
- {
- len--;
- sum += (unsigned int) Keyword_Hash_Table [(unsigned char)s[len]];
- }
- return sum;
-}
-
-typedef struct
-{
- char *name;
- unsigned int type;
-}
-Keyword_Table_Type;
-
-static Keyword_Table_Type Keyword_Table [/* 117 */] =
-{
- {"or", OR_TOKEN},
- {"not", NOT_TOKEN},
- {NULL,0},
- {"xor", BXOR_TOKEN},
- {"return", RETURN_TOKEN},
- {"exch", EXCH_TOKEN},
- {NULL,0},
- {"continue", CONT_TOKEN},
- {NULL,0},
- {"do", DO_TOKEN},
- {"mod", MOD_TOKEN},
- {"ERROR_BLOCK", ERRBLK_TOKEN},
- {"USER_BLOCK2", USRBLK2_TOKEN},
- {"USER_BLOCK4", USRBLK4_TOKEN},
- {"__tmp", TMP_TOKEN},
- {"pop", POP_TOKEN},
- {NULL,0},
- {"EXIT_BLOCK", EXITBLK_TOKEN},
- {"USER_BLOCK1", USRBLK1_TOKEN},
- {"USER_BLOCK3", USRBLK3_TOKEN},
- {"USER_BLOCK0", USRBLK0_TOKEN},
- {NULL,0},
- {"shr", SHR_TOKEN},
- {"chs", CHS_TOKEN},
- {"sqr", SQR_TOKEN},
- {NULL,0},
- {"struct", STRUCT_TOKEN},
- {NULL,0},
- {NULL,0},
- {"switch", SWITCH_TOKEN},
- {"mul2", MUL2_TOKEN},
- {"sign", SIGN_TOKEN},
- {"using", USING_TOKEN},
- {"while", WHILE_TOKEN},
- {NULL,0},
- {NULL,0},
- {"loop", LOOP_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"public", PUBLIC_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"break", BREAK_TOKEN},
- {NULL,0},
- {"do_while", DOWHILE_TOKEN},
- {NULL,0},
- {"shl", SHL_TOKEN},
- {"else", ELSE_TOKEN},
- {"and", AND_TOKEN},
- {"orelse", ORELSE_TOKEN},
- {"private", PRIVATE_TOKEN},
- {NULL,0},
- {"if", IF_TOKEN},
- {"for", FOR_TOKEN},
- {"!if", IFNOT_TOKEN},
- {NULL,0},
- {"_for", _FOR_TOKEN},
- {"forever", FOREVER_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"abs", ABS_TOKEN},
- {"case", CASE_TOKEN},
- {NULL,0},
- {"static", STATIC_TOKEN},
- {"define", DEFINE_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"typedef", TYPEDEF_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"foreach", FOREACH_TOKEN},
- {"andelse", ANDELSE_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"variable", VARIABLE_TOKEN},
-};
-
-static Keyword_Table_Type *is_keyword (char *str, unsigned int len)
-{
- unsigned int hash;
- char *name;
- Keyword_Table_Type *kw;
-
- if ((len < MIN_KEYWORD_LEN)
- || (len > MAX_KEYWORD_LEN))
- return NULL;
-
- hash = keyword_hash (str, len);
- if ((hash > MAX_HASH_VALUE) || (hash < MIN_HASH_VALUE))
- return NULL;
-
- kw = &Keyword_Table[hash - MIN_HASH_VALUE];
- if ((NULL != (name = kw->name))
- && (*str == *name)
- && (0 == strcmp (str, name)))
- return kw;
- return NULL;
-}
diff --git a/mdk-stage1/slang/sl-feat.h b/mdk-stage1/slang/sl-feat.h
deleted file mode 100644
index 511d72451..000000000
--- a/mdk-stage1/slang/sl-feat.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Setting this to 1 enables automatic support for associative arrays.
- * If this is set to 0, an application must explicitly enable associative
- * array support via SLang_init_slassoc.
- */
-#define SLANG_HAS_ASSOC_ARRAYS 1
-
-#define SLANG_HAS_COMPLEX 1
-#define SLANG_HAS_FLOAT 1
-
-/* This is the old space-speed trade off. To reduce memory usage and code
- * size, set this to zero.
- */
-#define _SLANG_OPTIMIZE_FOR_SPEED 2
-
-#define _SLANG_USE_INLINE_CODE 1
-
-/* This is experimental. It adds extra information for tracking down
- * errors.
- */
-#define _SLANG_HAS_DEBUG_CODE 1
-
-/* Allow optimizations based upon the __tmp operator. */
-#define _SLANG_USE_TMP_OPTIMIZATION 1
-
-/* Setting this to one will map 8 bit vtxxx terminals to 7 bit. Terminals
- * such as the vt320 can be set up to output the two-character escape sequence
- * encoded as 'ESC [' as single character. Setting this variable to 1 will
- * insert code to map such characters to the 7 bit equivalent.
- * This affects just input characters in the range 128-160 on non PC
- * systems.
- */
-#if defined(VMS) || defined(AMIGA)
-# define _SLANG_MAP_VTXXX_8BIT 1
-#else
-# define _SLANG_MAP_VTXXX_8BIT 0
-#endif
-
-/* Add support for color terminals that cannot do background color erases
- * Such terminals are poorly designed and are slowly disappearing but they
- * are still quite common. For example, screen is one of them!
- *
- * This is experimental. In particular, it is not known to work if
- * KANJI suupport is enabled.
- */
-#if !defined(IBMPC_SYSTEM)
-# define SLTT_HAS_NON_BCE_SUPPORT 1
-#else
-# define SLTT_HAS_NON_BCE_SUPPORT 0
-#endif
-
-/* If you want slang to assume that an xterm always has the background color
- * erase feature, then set this to 1. Otherwise, it will check the terminfo
- * database. This may or may not be a good idea since most good color xterms
- * support bce but many terminfo systems do not support it.
- */
-#define SLTT_XTERM_ALWAYS_BCE 0
-
-/* Set this to 1 to enable Kanji support. See above comment. */
-#define SLANG_HAS_KANJI_SUPPORT 0
-
diff --git a/mdk-stage1/slang/slang.c b/mdk-stage1/slang/slang.c
deleted file mode 100644
index 6edc7df37..000000000
--- a/mdk-stage1/slang/slang.c
+++ /dev/null
@@ -1,5547 +0,0 @@
-/* -*- mode: C; mode: fold; -*- */
-/* slang.c --- guts of S-Lang interpreter */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-#define USE_COMBINED_BYTECODES 0
-
-struct _SLBlock_Type;
-
-typedef struct
-{
- struct _SLBlock_Type *body;
- unsigned int num_refs;
-}
-_SLBlock_Header_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- union
- {
- _SLBlock_Header_Type *header; /* body of function */
- char *autoload_filename;
- }
- v;
-#if _SLANG_HAS_DEBUG_CODE
- char *file;
-#endif
-#define SLANG_MAX_LOCAL_VARIABLES 254
-#define AUTOLOAD_NUM_LOCALS (SLANG_MAX_LOCAL_VARIABLES + 1)
- unsigned char nlocals; /* number of local variables */
- unsigned char nargs; /* number of arguments */
-}
-_SLang_Function_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- SLang_Object_Type obj;
-}
-SLang_Global_Var_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- int local_var_number;
-}
-SLang_Local_Var_Type;
-
-typedef struct _SLBlock_Type
-{
- unsigned char bc_main_type;
- unsigned char bc_sub_type;
- union
- {
- struct _SLBlock_Type *blk;
- int i_blk;
-
- SLang_Name_Type *nt_blk;
- SLang_App_Unary_Type *nt_unary_blk;
- SLang_Intrin_Var_Type *nt_ivar_blk;
- SLang_Intrin_Fun_Type *nt_ifun_blk;
- SLang_Global_Var_Type *nt_gvar_blk;
- SLang_IConstant_Type *iconst_blk;
- SLang_DConstant_Type *dconst_blk;
- _SLang_Function_Type *nt_fun_blk;
-
- VOID_STAR ptr_blk;
- char *s_blk;
- SLang_BString_Type *bs_blk;
-
-#if SLANG_HAS_FLOAT
- double *double_blk; /*literal double is a pointer */
-#endif
- float float_blk;
- long l_blk;
- struct _SLang_Struct_Type *struct_blk;
- int (*call_function)(void);
- }
- b;
-}
-SLBlock_Type;
-
-/* Debugging and tracing variables */
-
-void (*SLang_Enter_Function)(char *) = NULL;
-void (*SLang_Exit_Function)(char *) = NULL;
-/* If non null, these call C functions before and after a slang function. */
-
-int _SLang_Trace = 0;
-/* If _SLang_Trace = -1, do not trace intrinsics */
-static int Trace_Mode = 0;
-
-static char *Trace_Function; /* function to be traced */
-int SLang_Traceback = 0;
-/* non zero means do traceback. If less than 0, do not show local variables */
-
-/* These variables handle _NARGS processing by the parser */
-int SLang_Num_Function_Args;
-static int *Num_Args_Stack;
-static unsigned int Recursion_Depth;
-static SLang_Object_Type *Frame_Pointer;
-static int Next_Function_Num_Args;
-static unsigned int Frame_Pointer_Depth;
-static unsigned int *Frame_Pointer_Stack;
-
-static int Lang_Break_Condition = 0;
-/* true if any one below is true. This keeps us from testing 3 variables.
- * I know this can be perfomed with a bitmapped variable, but...
- */
-static int Lang_Break = 0;
-static int Lang_Return = 0;
-/* static int Lang_Continue = 0; */
-
-SLang_Object_Type *_SLRun_Stack;
-SLang_Object_Type *_SLStack_Pointer;
-static SLang_Object_Type *_SLStack_Pointer_Max;
-
-/* Might want to increase this. */
-static SLang_Object_Type Local_Variable_Stack[SLANG_MAX_LOCAL_STACK];
-static SLang_Object_Type *Local_Variable_Frame = Local_Variable_Stack;
-
-static void free_function_header (_SLBlock_Header_Type *);
-
-void (*SLang_Dump_Routine)(char *);
-
-static void call_dump_routine (char *fmt, ...)
-{
- char buf[1024];
- va_list ap;
-
- va_start (ap, fmt);
- if (SLang_Dump_Routine != NULL)
- {
- (void) _SLvsnprintf (buf, sizeof (buf), fmt, ap);
- (*SLang_Dump_Routine) (buf);
- }
- else
- {
- vfprintf (stderr, fmt, ap);
- fflush (stderr);
- }
- va_end (ap);
-}
-
-static void do_traceback (char *, unsigned int, char *);
-static int init_interpreter (void);
-
-/*{{{ push/pop/etc stack manipulation functions */
-
-/* This routine is assumed to work even in the presence of a SLang_Error. */
-_INLINE_
-int SLang_pop (SLang_Object_Type *x)
-{
- register SLang_Object_Type *y;
-
- y = _SLStack_Pointer;
- if (y == _SLRun_Stack)
- {
- if (SLang_Error == 0) SLang_Error = SL_STACK_UNDERFLOW;
- x->data_type = 0;
- return -1;
- }
- y--;
- *x = *y;
-
- _SLStack_Pointer = y;
- return 0;
-}
-
-static int pop_ctrl_integer (int *i)
-{
- int type;
- SLang_Class_Type *cl;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- register SLang_Object_Type *y;
-
- /* Most of the time, either an integer or a char will be on the stack.
- * Optimize these cases.
- */
- y = _SLStack_Pointer;
- if (y == _SLRun_Stack)
- {
- if (SLang_Error == 0) SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
- y--;
-
- type = y->data_type;
- if (type == SLANG_INT_TYPE)
- {
- _SLStack_Pointer = y;
- *i = y->v.int_val;
- return 0;
- }
- if (type == SLANG_CHAR_TYPE)
- {
- _SLStack_Pointer = y;
- *i = y->v.char_val;
- return 0;
- }
-#else
- if (-1 == (type = SLang_peek_at_stack ()))
- return -1;
-#endif
-
- cl = _SLclass_get_class ((unsigned char) type);
- if (cl->cl_to_bool == NULL)
- {
- SLang_verror (SL_TYPE_MISMATCH,
- "%s cannot be used in a boolean context",
- cl->cl_name);
- return -1;
- }
- return cl->cl_to_bool ((unsigned char) type, i);
-}
-
-_INLINE_
-int SLang_peek_at_stack (void)
-{
- if (_SLStack_Pointer == _SLRun_Stack)
- {
- if (SLang_Error == 0)
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
-
- return (_SLStack_Pointer - 1)->data_type;
-}
-
-int SLang_peek_at_stack1 (void)
-{
- int type;
-
- type = SLang_peek_at_stack ();
- if (type == SLANG_ARRAY_TYPE)
- type = (_SLStack_Pointer - 1)->v.array_val->data_type;
-
- return type;
-}
-
-_INLINE_
-void SLang_free_object (SLang_Object_Type *obj)
-{
- unsigned char data_type;
- SLang_Class_Type *cl;
-
- if (obj == NULL) return;
- data_type = obj->data_type;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [data_type])
- return;
- if (data_type == SLANG_STRING_TYPE)
- {
- SLang_free_slstring (obj->v.s_val);
- return;
- }
-#endif
- cl = _SLclass_get_class (data_type);
-#if !_SLANG_OPTIMIZE_FOR_SPEED
- if (cl->cl_class_type != SLANG_CLASS_TYPE_SCALAR)
-#endif
- (*cl->cl_destroy) (data_type, (VOID_STAR) &obj->v);
-}
-
-_INLINE_
-int SLang_push (SLang_Object_Type *x)
-{
- register SLang_Object_Type *y;
- y = _SLStack_Pointer;
-
- /* if there is a SLang_Error, probably not much harm will be done
- if it is ignored here */
- /* if (SLang_Error) return; */
-
- /* flag it now */
- if (y >= _SLStack_Pointer_Max)
- {
- if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
- return -1;
- }
-
- *y = *x;
- _SLStack_Pointer = y + 1;
- return 0;
-}
-
-/* _INLINE_ */
-int SLclass_push_ptr_obj (unsigned char type, VOID_STAR pval)
-{
- register SLang_Object_Type *y;
- y = _SLStack_Pointer;
-
- if (y >= _SLStack_Pointer_Max)
- {
- if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
- return -1;
- }
-
- y->data_type = type;
- y->v.ptr_val = pval;
-
- _SLStack_Pointer = y + 1;
- return 0;
-}
-
-_INLINE_
-int SLclass_push_int_obj (unsigned char type, int x)
-{
- register SLang_Object_Type *y;
- y = _SLStack_Pointer;
-
- if (y >= _SLStack_Pointer_Max)
- {
- if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
- return -1;
- }
-
- y->data_type = type;
- y->v.int_val = x;
-
- _SLStack_Pointer = y + 1;
- return 0;
-}
-
-_INLINE_
-int _SLang_pop_object_of_type (unsigned char type, SLang_Object_Type *obj,
- int allow_arrays)
-{
- register SLang_Object_Type *y;
-
- y = _SLStack_Pointer;
- if (y == _SLRun_Stack)
- return SLang_pop (obj);
- y--;
- if (y->data_type != type)
- {
-#if _SLANG_OPTIMIZE_FOR_SPEED
- /* This is an implicit typecast. We do not want to typecast
- * floats to ints implicitly.
- */
- if (_SLarith_Is_Arith_Type [type]
- && _SLarith_Is_Arith_Type [y->data_type]
- && (_SLarith_Is_Arith_Type [type] >= _SLarith_Is_Arith_Type[y->data_type]))
- {
- /* This should not fail */
- (void) _SLarith_typecast (y->data_type, (VOID_STAR)&y->v, 1,
- type, (VOID_STAR)&obj->v);
- obj->data_type = type;
- _SLStack_Pointer = y;
- return 0;
- }
-#endif
-
- if ((allow_arrays == 0)
- || (y->data_type != SLANG_ARRAY_TYPE)
- || (y->v.array_val->data_type != type))
- if (-1 == SLclass_typecast (type, 1, 0))
- return -1;
- }
- *obj = *y;
- _SLStack_Pointer = y;
- return 0;
-}
-
-/* This function reverses the top n items on the stack and returns a
- * an offset from the start of the stack to the last item.
- */
-int SLreverse_stack (int n)
-{
- SLang_Object_Type *otop, *obot, tmp;
-
- otop = _SLStack_Pointer;
- if ((n > otop - _SLRun_Stack) || (n < 0))
- {
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
- obot = otop - n;
- otop--;
- while (otop > obot)
- {
- tmp = *obot;
- *obot = *otop;
- *otop = tmp;
- otop--;
- obot++;
- }
- return (int) ((_SLStack_Pointer - n) - _SLRun_Stack);
-}
-
-_INLINE_
-int SLroll_stack (int np)
-{
- int n, i;
- SLang_Object_Type *otop, *obot, tmp;
-
- if ((n = abs(np)) <= 1) return 0; /* identity */
-
- obot = otop = _SLStack_Pointer;
- i = n;
- while (i != 0)
- {
- if (obot <= _SLRun_Stack)
- {
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
- obot--;
- i--;
- }
- otop--;
-
- if (np > 0)
- {
- /* Put top on bottom and roll rest up. */
- tmp = *otop;
- while (otop > obot)
- {
- *otop = *(otop - 1);
- otop--;
- }
- *otop = tmp;
- }
- else
- {
- /* Put bottom on top and roll rest down. */
- tmp = *obot;
- while (obot < otop)
- {
- *obot = *(obot + 1);
- obot++;
- }
- *obot = tmp;
- }
- return 0;
-}
-
-int _SLstack_depth (void)
-{
- return (int) (_SLStack_Pointer - _SLRun_Stack);
-}
-
-int SLdup_n (int n)
-{
- SLang_Object_Type *bot, *top;
-
- if (n <= 0)
- return 0;
-
- top = _SLStack_Pointer;
- if (top < _SLRun_Stack + n)
- {
- if (SLang_Error == 0)
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
- if (top + n > _SLStack_Pointer_Max)
- {
- if (SLang_Error == 0)
- SLang_Error = SL_STACK_OVERFLOW;
- return -1;
- }
- bot = top - n;
-
- while (bot < top)
- {
- SLang_Class_Type *cl;
- unsigned char data_type = bot->data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [data_type])
- {
- *_SLStack_Pointer++ = *bot++;
- continue;
- }
-#endif
- cl = _SLclass_get_class (data_type);
- if (-1 == (*cl->cl_push) (data_type, (VOID_STAR) &bot->v))
- return -1;
- bot++;
- }
- return 0;
-}
-
-/*}}}*/
-
-/*{{{ inner interpreter and support functions */
-
-_INLINE_
-int _SL_increment_frame_pointer (void)
-{
- if (Recursion_Depth >= SLANG_MAX_RECURSIVE_DEPTH)
- {
- SLang_verror (SL_STACK_OVERFLOW, "Num Args Stack Overflow");
- return -1;
- }
- Num_Args_Stack [Recursion_Depth] = SLang_Num_Function_Args;
-
- SLang_Num_Function_Args = Next_Function_Num_Args;
- Next_Function_Num_Args = 0;
- Recursion_Depth++;
- return 0;
-}
-
-_INLINE_
-int _SL_decrement_frame_pointer (void)
-{
- if (Recursion_Depth == 0)
- {
- SLang_verror (SL_STACK_UNDERFLOW, "Num Args Stack Underflow");
- return -1;
- }
-
- Recursion_Depth--;
- if (Recursion_Depth < SLANG_MAX_RECURSIVE_DEPTH)
- SLang_Num_Function_Args = Num_Args_Stack [Recursion_Depth];
-
- return 0;
-}
-
-_INLINE_
-int SLang_start_arg_list (void)
-{
- if (Frame_Pointer_Depth < SLANG_MAX_RECURSIVE_DEPTH)
- {
- Frame_Pointer_Stack [Frame_Pointer_Depth] = (unsigned int) (Frame_Pointer - _SLRun_Stack);
- Frame_Pointer = _SLStack_Pointer;
- Frame_Pointer_Depth++;
- Next_Function_Num_Args = 0;
- return 0;
- }
-
- SLang_verror (SL_STACK_OVERFLOW, "Frame Stack Overflow");
- return -1;
-}
-
-_INLINE_
-int SLang_end_arg_list (void)
-{
- if (Frame_Pointer_Depth == 0)
- {
- SLang_verror (SL_STACK_UNDERFLOW, "Frame Stack Underflow");
- return -1;
- }
- Frame_Pointer_Depth--;
- if (Frame_Pointer_Depth < SLANG_MAX_RECURSIVE_DEPTH)
- {
- Next_Function_Num_Args = (int) (_SLStack_Pointer - Frame_Pointer);
- Frame_Pointer = _SLRun_Stack + Frame_Pointer_Stack [Frame_Pointer_Depth];
- }
- return 0;
-}
-
-_INLINE_
-static int do_bc_call_direct_frame (int (*f)(void))
-{
- if ((0 == SLang_end_arg_list ())
- && (0 == _SL_increment_frame_pointer ()))
- {
- (void) (*f) ();
- _SL_decrement_frame_pointer ();
- }
- if (SLang_Error)
- return -1;
- return 0;
-}
-
-static int do_name_type_error (SLang_Name_Type *nt)
-{
- char buf[256];
- if (nt != NULL)
- {
- (void) _SLsnprintf (buf, sizeof (buf), "(Error occurred processing %s)", nt->name);
- do_traceback (buf, 0, NULL);
- }
- return -1;
-}
-
-/* local and global variable assignments */
-
-static int do_binary_ab (int op, SLang_Object_Type *obja, SLang_Object_Type *objb)
-{
- SLang_Class_Type *a_cl, *b_cl, *c_cl;
- unsigned char b_data_type, a_data_type, c_data_type;
- int (*binary_fun) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR);
- VOID_STAR pa;
- VOID_STAR pb;
- VOID_STAR pc;
- int ret;
-
- b_data_type = objb->data_type;
- a_data_type = obja->data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (_SLarith_Is_Arith_Type[a_data_type]
- && _SLarith_Is_Arith_Type[b_data_type])
- {
- int status;
- status = _SLarith_bin_op (obja, objb, op);
- if (status != 1)
- return status;
- /* drop and try it the hard way */
- }
-#endif
-
- a_cl = _SLclass_get_class (a_data_type);
- if (a_data_type == b_data_type)
- b_cl = a_cl;
- else
- b_cl = _SLclass_get_class (b_data_type);
-
- if (NULL == (binary_fun = _SLclass_get_binary_fun (op, a_cl, b_cl, &c_cl, 1)))
- return -1;
-
- c_data_type = c_cl->cl_data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [a_data_type])
- pa = (VOID_STAR) &obja->v;
- else
-#endif
- pa = _SLclass_get_ptr_to_value (a_cl, obja);
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [b_data_type])
- pb = (VOID_STAR) &objb->v;
- else
-#endif
- pb = _SLclass_get_ptr_to_value (b_cl, objb);
-
- pc = c_cl->cl_transfer_buf;
-
- if (1 != (*binary_fun) (op,
- a_data_type, pa, 1,
- b_data_type, pb, 1,
- pc))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Binary operation between %s and %s failed",
- a_cl->cl_name, b_cl->cl_name);
-
- return -1;
- }
-
- /* apush will create a copy, so make sure we free after the push */
- ret = (*c_cl->cl_apush)(c_data_type, pc);
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [c_data_type])
-#endif
- (*c_cl->cl_adestroy)(c_data_type, pc);
-
- return ret;
-}
-
-_INLINE_
-static void do_binary (int op)
-{
- SLang_Object_Type obja, objb;
-
- if (SLang_pop (&objb)) return;
- if (0 == SLang_pop (&obja))
- {
- (void) do_binary_ab (op, &obja, &objb);
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obja.data_type])
-#endif
- SLang_free_object (&obja);
- }
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [objb.data_type])
-#endif
- SLang_free_object (&objb);
-}
-
-static int do_unary_op (int op, SLang_Object_Type *obj, int unary_type)
-{
- int (*f) (int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
- VOID_STAR pa;
- VOID_STAR pb;
- SLang_Class_Type *a_cl, *b_cl;
- unsigned char a_type, b_type;
- int ret;
-
- a_type = obj->data_type;
- a_cl = _SLclass_get_class (a_type);
-
- if (NULL == (f = _SLclass_get_unary_fun (op, a_cl, &b_cl, unary_type)))
- return -1;
-
- b_type = b_cl->cl_data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [a_type])
- pa = (VOID_STAR) &obj->v;
- else
-#endif
- pa = _SLclass_get_ptr_to_value (a_cl, obj);
-
- pb = b_cl->cl_transfer_buf;
-
- if (1 != (*f) (op, a_type, pa, 1, pb))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Unary operation for %s failed", a_cl->cl_name);
- return -1;
- }
-
- ret = (*b_cl->cl_apush)(b_type, pb);
- /* cl_apush creates a copy, so make sure we call cl_adestroy */
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [b_type])
-#endif
- (*b_cl->cl_adestroy)(b_type, pb);
-
- return ret;
-}
-
-_INLINE_
-static int do_unary (int op, int unary_type)
-{
- SLang_Object_Type obj;
- int ret;
-
- if (-1 == SLang_pop (&obj)) return -1;
- ret = do_unary_op (op, &obj, unary_type);
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obj.data_type])
-#endif
- SLang_free_object (&obj);
- return ret;
-}
-
-static int do_assignment_binary (int op, SLang_Object_Type *obja_ptr)
-{
- SLang_Object_Type objb;
- int ret;
-
- if (SLang_pop (&objb))
- return -1;
-
- ret = do_binary_ab (op, obja_ptr, &objb);
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [objb.data_type])
-#endif
- SLang_free_object (&objb);
- return ret;
-}
-
-/* The order of these is assumed to match the binary operators
- * defined in slang.h
- */
-static int
-map_assignment_op_to_binary (unsigned char op_type, int *op, int *is_unary)
-{
- *is_unary = 0;
- switch (op_type)
- {
- case _SLANG_BCST_PLUSEQS:
- case _SLANG_BCST_MINUSEQS:
- case _SLANG_BCST_TIMESEQS:
- case _SLANG_BCST_DIVEQS:
- *op = SLANG_PLUS + (op_type - _SLANG_BCST_PLUSEQS);
- break;
-
- case _SLANG_BCST_BOREQS:
- *op = SLANG_BOR;
- break;
-
- case _SLANG_BCST_BANDEQS:
- *op = SLANG_BAND;
- break;
-
- case _SLANG_BCST_POST_MINUSMINUS:
- case _SLANG_BCST_MINUSMINUS:
- *op = SLANG_MINUS;
- *is_unary = 1;
- break;
-
- case _SLANG_BCST_PLUSPLUS:
- case _SLANG_BCST_POST_PLUSPLUS:
- *op = SLANG_PLUS;
- *is_unary = 1;
- break;
-
- default:
- SLang_verror (SL_NOT_IMPLEMENTED, "Assignment operator not implemented");
- return -1;
- }
- return 0;
-}
-
-static int
-perform_lvalue_operation (unsigned char op_type, SLang_Object_Type *obja_ptr)
-{
- switch (op_type)
- {
- case _SLANG_BCST_ASSIGN:
- break;
-
- /* The order of these is assumed to match the binary operators
- * defined in slang.h
- */
- case _SLANG_BCST_PLUSEQS:
- case _SLANG_BCST_MINUSEQS:
- case _SLANG_BCST_TIMESEQS:
- case _SLANG_BCST_DIVEQS:
- if (-1 == do_assignment_binary (SLANG_PLUS + (op_type - _SLANG_BCST_PLUSEQS), obja_ptr))
- return -1;
- break;
-
- case _SLANG_BCST_BOREQS:
- if (-1 == do_assignment_binary (SLANG_BOR, obja_ptr))
- return -1;
- break;
-
- case _SLANG_BCST_BANDEQS:
- if (-1 == do_assignment_binary (SLANG_BAND, obja_ptr))
- return -1;
- break;
-
- case _SLANG_BCST_PLUSPLUS:
- case _SLANG_BCST_POST_PLUSPLUS:
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (obja_ptr->data_type == SLANG_INT_TYPE)
- return SLclass_push_int_obj (SLANG_INT_TYPE, obja_ptr->v.int_val + 1);
-#endif
- if (-1 == do_unary_op (SLANG_PLUSPLUS, obja_ptr, _SLANG_BC_UNARY))
- return -1;
- break;
-
- case _SLANG_BCST_MINUSMINUS:
- case _SLANG_BCST_POST_MINUSMINUS:
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (obja_ptr->data_type == SLANG_INT_TYPE)
- return SLclass_push_int_obj (SLANG_INT_TYPE, obja_ptr->v.int_val - 1);
-#endif
- if (-1 == do_unary_op (SLANG_MINUSMINUS, obja_ptr, _SLANG_BC_UNARY))
- return -1;
- break;
-
- default:
- SLang_Error = SL_INTERNAL_ERROR;
- return -1;
- }
- return 0;
-}
-
-_INLINE_
-static int
-set_lvalue_obj (unsigned char op_type, SLang_Object_Type *obja_ptr)
-{
- if (op_type != _SLANG_BCST_ASSIGN)
- {
- if (-1 == perform_lvalue_operation (op_type, obja_ptr))
- return -1;
- }
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obja_ptr->data_type])
-#endif
- SLang_free_object (obja_ptr);
-
- return SLang_pop(obja_ptr);
-}
-
-static int
-set_struct_lvalue (SLBlock_Type *bc_blk)
-{
- int type;
- SLang_Class_Type *cl;
- char *name;
- int op;
-
- if (-1 == (type = SLang_peek_at_stack ()))
- return -1;
-
- cl = _SLclass_get_class (type);
- if ((cl->cl_sput == NULL)
- || (cl->cl_sget == NULL))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "%s does not support structure access",
- cl->cl_name);
- SLdo_pop_n (2); /* object plus what was to be assigned */
- return -1;
- }
- name = bc_blk->b.s_blk;
- op = bc_blk->bc_sub_type;
-
- if (op != _SLANG_BCST_ASSIGN)
- {
- /* We have something like (A.x += b) or (A.x++). In either case,
- * we need A.x.
- */
- SLang_Object_Type obj_A;
- SLang_Object_Type obj;
-
- if (-1 == SLang_pop (&obj_A))
- return -1;
-
- if ((-1 == _SLpush_slang_obj (&obj_A))
- || (-1 == cl->cl_sget ((unsigned char) type, name))
- || (-1 == SLang_pop (&obj)))
- {
- SLang_free_object (&obj_A);
- return -1;
- }
- /* Now the value of A.x is in obj. */
- if (-1 == perform_lvalue_operation (op, &obj))
- {
- SLang_free_object (&obj);
- SLang_free_object (&obj_A);
- return -1;
- }
- SLang_free_object (&obj);
- /* The result of the operation is now on the stack.
- * Perform assignment */
- if (-1 == SLang_push (&obj_A))
- {
- SLang_free_object (&obj_A);
- return -1;
- }
- }
-
- return (*cl->cl_sput) ((unsigned char) type, name);
-}
-
-static int make_unit_object (SLang_Object_Type *a, SLang_Object_Type *u)
-{
- unsigned char type;
-
- type = a->data_type;
- if (type == SLANG_ARRAY_TYPE)
- type = a->v.array_val->data_type;
-
- u->data_type = type;
- switch (type)
- {
- case SLANG_UCHAR_TYPE:
- case SLANG_CHAR_TYPE:
- u->v.char_val = 1;
- break;
-
- case SLANG_SHORT_TYPE:
- case SLANG_USHORT_TYPE:
- u->v.short_val = 1;
- break;
-
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE:
- u->v.long_val = 1;
- break;
-
-#if SLANG_HAS_FLOAT
- case SLANG_FLOAT_TYPE:
- u->v.float_val = 1;
- break;
-
- case SLANG_COMPLEX_TYPE:
- u->data_type = SLANG_DOUBLE_TYPE;
- case SLANG_DOUBLE_TYPE:
- u->v.double_val = 1;
- break;
-#endif
- default:
- u->data_type = SLANG_INT_TYPE;
- u->v.int_val = 1;
- }
- return 0;
-}
-
-
-/* We want to convert 'A[i] op X' to 'A[i] = A[i] op X'. The code that
- * has been generated is: X __args i A __aput-op
- * where __aput-op represents this function. We need to generate:
- * __args i A __eargs __aget X op __args i A __eargs __aput
- * Here, __eargs implies a call to do_bc_call_direct_frame with either
- * the aput or aget function. In addition, __args represents a call to
- * SLang_start_arg_list. Of course, i represents a set of indices.
- *
- * Note: If op is an unary operation (e.g., ++ or --), then X will not
- * b present an will have to be taken to be 1.
- *
- * Implementation note: For efficiency, calls to setup the frame, start
- * arg list will be omitted and SLang_Num_Function_Args will be set.
- * This is ugly but the alternative is much less efficient rendering these
- * assignment operators useless. So, the plan is to roll the stack to get X,
- * then duplicate the next N values, call __aget followed by op X, finally
- * calling __aput. Hence, the sequence is:
- *
- * start: X i .. j A
- * dupN: X i .. j A i .. j A
- * __aget: X i .. j A Y
- * roll: i .. j A Y X
- * op: i .. j A Z
- * roll: Z i .. j A
- * __aput:
- */
-static int
-set_array_lvalue (int op)
-{
- SLang_Object_Type x, y;
- int num_args, is_unary;
-
- if (-1 == map_assignment_op_to_binary (op, &op, &is_unary))
- return -1;
-
- /* Grab the indices and the array. Do not start a new frame. */
- if (-1 == SLang_end_arg_list ())
- return -1;
- num_args = Next_Function_Num_Args;
- Next_Function_Num_Args = 0;
-
- if (-1 == SLdup_n (num_args))
- return -1;
-
- SLang_Num_Function_Args = num_args;
- if (-1 == _SLarray_aget ())
- return -1;
-
- if (-1 == SLang_pop (&y))
- return -1;
-
- if (is_unary == 0)
- {
- if ((-1 == SLroll_stack (-(num_args + 1)))
- || (-1 == SLang_pop (&x)))
- {
- SLang_free_object (&y);
- return -1;
- }
- }
- else if (-1 == make_unit_object (&y, &x))
- {
- SLang_free_object (&y);
- return -1;
- }
-
- if (-1 == do_binary_ab (op, &y, &x))
- {
- SLang_free_object (&y);
- SLang_free_object (&x);
- return -1;
- }
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [y.data_type])
-#endif
- SLang_free_object (&y);
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [x.data_type])
-#endif
- SLang_free_object (&x);
-
- if (-1 == SLroll_stack (num_args + 1))
- return -1;
-
- SLang_Num_Function_Args = num_args;
- return _SLarray_aput ();
-}
-
-
-static int
-set_intrin_lvalue (SLBlock_Type *bc_blk)
-{
- unsigned char op_type;
- SLang_Object_Type obja;
- SLang_Class_Type *cl;
- SLang_Intrin_Var_Type *ivar;
- VOID_STAR intrinsic_addr;
- unsigned char intrinsic_type;
-
- ivar = bc_blk->b.nt_ivar_blk;
-
- intrinsic_type = ivar->type;
- intrinsic_addr = ivar->addr;
-
- op_type = bc_blk->bc_sub_type;
-
- cl = _SLclass_get_class (intrinsic_type);
-
- if (op_type != _SLANG_BCST_ASSIGN)
- {
- /* We want to get the current value into obja. This is the
- * easiest way.
- */
- if ((-1 == (*cl->cl_push) (intrinsic_type, intrinsic_addr))
- || (-1 == SLang_pop (&obja)))
- return -1;
-
- (void) perform_lvalue_operation (op_type, &obja);
- SLang_free_object (&obja);
-
- if (SLang_Error)
- return -1;
- }
-
- return (*cl->cl_pop) (intrinsic_type, intrinsic_addr);
-}
-
-int _SLang_deref_assign (SLang_Ref_Type *ref)
-{
- SLang_Object_Type *objp;
- SLang_Name_Type *nt;
- SLBlock_Type blk;
-
- if (ref->is_global == 0)
- {
- objp = ref->v.local_obj;
- if (objp > Local_Variable_Frame)
- {
- SLang_verror (SL_UNDEFINED_NAME, "Local variable reference is out of scope");
- return -1;
- }
- return set_lvalue_obj (_SLANG_BCST_ASSIGN, objp);
- }
-
- nt = ref->v.nt;
- switch (nt->name_type)
- {
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- if (-1 == set_lvalue_obj (_SLANG_BCST_ASSIGN,
- &((SLang_Global_Var_Type *)nt)->obj))
- {
- do_name_type_error (nt);
- return -1;
- }
- break;
-
- case SLANG_IVARIABLE:
- blk.b.nt_blk = nt;
- blk.bc_sub_type = _SLANG_BCST_ASSIGN;
- if (-1 == set_intrin_lvalue (&blk))
- {
- do_name_type_error (nt);
- return -1;
- }
- break;
-
- case SLANG_LVARIABLE:
- SLang_Error = SL_INTERNAL_ERROR;
- /* set_intrin_lvalue (&blk); */
- return -1;
-
- case SLANG_RVARIABLE:
- default:
- SLang_verror (SL_READONLY_ERROR, "deref assignment to %s not allowed", nt->name);
- return -1;
- }
-
- return 0;
-}
-
-static void set_deref_lvalue (SLBlock_Type *bc_blk)
-{
- SLang_Object_Type *objp;
- SLang_Ref_Type *ref;
-
- switch (bc_blk->bc_sub_type)
- {
- case SLANG_LVARIABLE:
- objp = (Local_Variable_Frame - bc_blk->b.i_blk);
- break;
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- objp = &bc_blk->b.nt_gvar_blk->obj;
- break;
- default:
- SLang_Error = SL_INTERNAL_ERROR;
- return;
- }
-
- if (-1 == _SLpush_slang_obj (objp))
- return;
-
- if (-1 == SLang_pop_ref (&ref))
- return;
- (void) _SLang_deref_assign (ref);
- SLang_free_ref (ref);
-}
-
-static int push_struct_field (char *name)
-{
- int type;
- SLang_Class_Type *cl;
-
- if (-1 == (type = SLang_peek_at_stack ()))
- return -1;
-
- cl = _SLclass_get_class ((unsigned char) type);
- if (cl->cl_sget == NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "%s does not permit structure access",
- cl->cl_name);
- SLdo_pop_n (2);
- return -1;
- }
-
- return (*cl->cl_sget) ((unsigned char) type, name);
-}
-
-static void trace_dump (char *format, char *name, SLang_Object_Type *objs, int n, int dir)
-{
- unsigned int len;
- char prefix [52];
-
- len = Trace_Mode - 1;
- if (len + 2 >= sizeof (prefix))
- len = sizeof (prefix) - 2;
-
- SLMEMSET (prefix, ' ', len);
- prefix[len] = 0;
-
- call_dump_routine (prefix);
- call_dump_routine (format, name, n);
-
- if (n > 0)
- {
- prefix[len] = ' ';
- len++;
- prefix[len] = 0;
-
- _SLdump_objects (prefix, objs, n, dir);
- }
-}
-
-/* Pop a data item from the stack and return a pointer to it.
- * Strings are not freed from stack so use another routine to do it.
- */
-static VOID_STAR pop_pointer (SLang_Object_Type *obj, unsigned char type)
-{
-#ifndef _SLANG_OPTIMIZE_FOR_SPEED
- SLang_Class_Type *cl;
-#endif
-
- SLang_Array_Type *at;
-
- /* Arrays are special. Allow scalars to automatically convert to arrays.
- */
- if (type == SLANG_ARRAY_TYPE)
- {
- if (-1 == SLang_pop_array (&at, 1))
- return NULL;
- obj->data_type = SLANG_ARRAY_TYPE;
- return obj->v.ptr_val = (VOID_STAR) at;
- }
-
- if (type == 0)
- {
- /* This happens when an intrinsic is declared without any information
- * regarding parameter types.
- */
- if (-1 == SLang_pop (obj))
- return NULL;
- type = obj->data_type;
- }
- else if (-1 == _SLang_pop_object_of_type (type, obj, 0))
- return NULL;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- type = _SLclass_Class_Type [type];
-#else
- type = _SLclass_get_class (type)->cl_class_type;
-#endif
-
- if (type == SLANG_CLASS_TYPE_SCALAR)
- return (VOID_STAR) &obj->v;
- else if (type == SLANG_CLASS_TYPE_MMT)
- return SLang_object_from_mmt (obj->v.ref);
- else
- return obj->v.ptr_val;
-}
-
-/* This is ugly. Does anyone have a advice for a cleaner way of doing
- * this??
- */
-typedef void (*VF0_Type)(void);
-typedef void (*VF1_Type)(VOID_STAR);
-typedef void (*VF2_Type)(VOID_STAR, VOID_STAR);
-typedef void (*VF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
-typedef void (*VF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef void (*VF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef void (*VF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef void (*VF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF0_Type)(void);
-typedef long (*LF1_Type)(VOID_STAR);
-typedef long (*LF2_Type)(VOID_STAR, VOID_STAR);
-typedef long (*LF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-#if SLANG_HAS_FLOAT
-typedef double (*FF0_Type)(void);
-typedef double (*FF1_Type)(VOID_STAR);
-typedef double (*FF2_Type)(VOID_STAR, VOID_STAR);
-typedef double (*FF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
-typedef double (*FF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef double (*FF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef double (*FF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef double (*FF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-#endif
-
-static int execute_intrinsic_fun (SLang_Intrin_Fun_Type *objf)
-{
-#if SLANG_HAS_FLOAT
- double xf;
-#endif
- VOID_STAR p[SLANG_MAX_INTRIN_ARGS];
- SLang_Object_Type objs[SLANG_MAX_INTRIN_ARGS];
- long ret;
- unsigned char type;
- unsigned int argc;
- unsigned int i;
- FVOID_STAR fptr;
- unsigned char *arg_types;
- int stk_depth;
-
- fptr = objf->i_fun;
- argc = objf->num_args;
- type = objf->return_type;
- arg_types = objf->arg_types;
-
- if (argc > SLANG_MAX_INTRIN_ARGS)
- {
- SLang_verror(SL_APPLICATION_ERROR,
- "Intrinsic function %s requires too many parameters", objf->name);
- return -1;
- }
-
- if (-1 == _SL_increment_frame_pointer ())
- return -1;
-
- stk_depth = -1;
- if (Trace_Mode && (_SLang_Trace > 0))
- {
- int nargs;
-
- stk_depth = _SLstack_depth ();
-
- nargs = SLang_Num_Function_Args;
- if (nargs == 0)
- nargs = (int)argc;
-
- stk_depth -= nargs;
-
- if (stk_depth >= 0)
- trace_dump (">>%s (%d args)\n",
- objf->name,
- _SLStack_Pointer - nargs,
- nargs,
- 1);
- }
-
- i = argc;
- while (i != 0)
- {
- i--;
- if (NULL == (p[i] = pop_pointer (objs + i, arg_types[i])))
- {
- i++;
- goto free_and_return;
- }
- }
-
- ret = 0;
-#if SLANG_HAS_FLOAT
- xf = 0.0;
-#endif
-
- switch (argc)
- {
- case 0:
- if (type == SLANG_VOID_TYPE) ((VF0_Type) fptr) ();
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF0_Type) fptr)();
-#endif
- else ret = ((LF0_Type) fptr)();
- break;
-
- case 1:
- if (type == SLANG_VOID_TYPE) ((VF1_Type) fptr)(p[0]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF1_Type) fptr)(p[0]);
-#endif
- else ret = ((LF1_Type) fptr)(p[0]);
- break;
-
- case 2:
- if (type == SLANG_VOID_TYPE) ((VF2_Type) fptr)(p[0], p[1]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF2_Type) fptr)(p[0], p[1]);
-#endif
- else ret = ((LF2_Type) fptr)(p[0], p[1]);
- break;
-
- case 3:
- if (type == SLANG_VOID_TYPE) ((VF3_Type) fptr)(p[0], p[1], p[2]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF3_Type) fptr)(p[0], p[1], p[2]);
-#endif
- else ret = ((LF3_Type) fptr)(p[0], p[1], p[2]);
- break;
-
- case 4:
- if (type == SLANG_VOID_TYPE) ((VF4_Type) fptr)(p[0], p[1], p[2], p[3]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF4_Type) fptr)(p[0], p[1], p[2], p[3]);
-#endif
- else ret = ((LF4_Type) fptr)(p[0], p[1], p[2], p[3]);
- break;
-
- case 5:
- if (type == SLANG_VOID_TYPE) ((VF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
-#endif
- else ret = ((LF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
- break;
-
- case 6:
- if (type == SLANG_VOID_TYPE) ((VF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
-#endif
- else ret = ((LF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
- break;
-
- case 7:
- if (type == SLANG_VOID_TYPE) ((VF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
-#endif
- else ret = ((LF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
- break;
- }
-
- switch (type)
- {
- case SLANG_VOID_TYPE:
- break;
-
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- (void) SLang_push_double (xf);
- break;
-#endif
- case SLANG_UINT_TYPE:
- case SLANG_INT_TYPE: (void) SLclass_push_int_obj (type, (int) ret);
- break;
-
- case SLANG_CHAR_TYPE:
- case SLANG_UCHAR_TYPE: (void) SLclass_push_char_obj (type, (char) ret);
- break;
-
- case SLANG_SHORT_TYPE:
- case SLANG_USHORT_TYPE: (void) SLclass_push_short_obj (type, (short) ret);
- break;
-
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE: (void) SLclass_push_long_obj (type, ret);
- break;
-
- case SLANG_STRING_TYPE:
- if (NULL == (char *)ret)
- {
- if (SLang_Error == 0) SLang_Error = SL_INTRINSIC_ERROR;
- }
- else (void) SLang_push_string ((char *)ret);
- break;
-
- default:
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Support for intrinsic functions returning %s is not provided",
- SLclass_get_datatype_name (type));
- }
-
- if (stk_depth >= 0)
- {
- stk_depth = _SLstack_depth () - stk_depth;
-
- trace_dump ("<<%s (returning %d values)\n",
- objf->name,
- _SLStack_Pointer - stk_depth,
- stk_depth,
- 1);
- }
-
- free_and_return:
- while (i < argc)
- {
- SLang_free_object (objs + i);
- i++;
- }
-
- return _SL_decrement_frame_pointer ();
-}
-
-static int inner_interp(register SLBlock_Type *);
-
-/* Switch_Obj_Ptr points to the NEXT available free switch object */
-static SLang_Object_Type Switch_Objects[SLANG_MAX_NESTED_SWITCH];
-static SLang_Object_Type *Switch_Obj_Ptr = Switch_Objects;
-static SLang_Object_Type *Switch_Obj_Max = Switch_Objects + SLANG_MAX_NESTED_SWITCH;
-
-static void
-lang_do_loops (unsigned char stype, SLBlock_Type *block, unsigned int num_blocks)
-{
- int i, ctrl;
- int first, last;
- SLBlock_Type *blks[4];
- char *loop_name;
- SLang_Foreach_Context_Type *foreach_context;
- SLang_Class_Type *cl;
- int type;
- unsigned int j;
-
- j = 0;
- for (i = 0; i < (int) num_blocks; i++)
- {
- if (block[i].bc_main_type != _SLANG_BC_BLOCK)
- {
- if (block[i].bc_main_type == _SLANG_BC_LINE_NUM)
- continue;
-
- SLang_verror (SL_SYNTAX_ERROR, "Bytecode is not a looping block");
- return;
- }
- blks[j] = block[i].b.blk;
- j++;
- }
-
- num_blocks = j;
- block = blks[0];
-
- switch (stype)
- {
- case _SLANG_BCST_FOREACH:
- loop_name = "foreach";
- if (num_blocks != 1)
- goto wrong_num_blocks_error;
-
- /* We should find Next_Function_Num_Args + 1 items on the stack.
- * The first Next_Function_Num_Args items represent the arguments to
- * to USING. The last item (deepest in stack) is the object to loop
- * over. So, roll the stack up and grab it.
- */
- if ((-1 == SLroll_stack (-(Next_Function_Num_Args + 1)))
- || (-1 == (type = SLang_peek_at_stack ())))
- goto return_error;
-
- cl = _SLclass_get_class ((unsigned char) type);
- if ((cl->cl_foreach == NULL)
- || (cl->cl_foreach_open == NULL)
- || (cl->cl_foreach_close == NULL))
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "%s does not permit foreach", cl->cl_name);
- SLdo_pop_n (Next_Function_Num_Args + 1);
- goto return_error;
- }
-
- if (NULL == (foreach_context = (*cl->cl_foreach_open) ((unsigned char)type, Next_Function_Num_Args)))
- goto return_error;
-
- while (1)
- {
- int status;
-
- if (SLang_Error)
- {
- (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
- goto return_error;
- }
-
- status = (*cl->cl_foreach) ((unsigned char) type, foreach_context);
- if (status <= 0)
- {
- if (status == 0)
- break;
-
- (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
- goto return_error;
- }
-
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
- break;
-
- case _SLANG_BCST_WHILE:
- loop_name = "while";
-
- if (num_blocks != 2)
- goto wrong_num_blocks_error;
-
- type = blks[1]->bc_main_type;
- while (1)
- {
- if (SLang_Error)
- goto return_error;
-
- inner_interp (block);
- if (Lang_Break) break;
-
- if (-1 == pop_ctrl_integer (&ctrl))
- goto return_error;
-
- if (ctrl == 0) break;
-
- if (type)
- {
- inner_interp (blks[1]);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- }
- break;
-
- case _SLANG_BCST_DOWHILE:
- loop_name = "do...while";
-
- if (num_blocks != 2)
- goto wrong_num_blocks_error;
-
- while (1)
- {
- if (SLang_Error)
- goto return_error;
-
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- inner_interp (blks[1]);
- if (-1 == pop_ctrl_integer (&ctrl))
- goto return_error;
-
- if (ctrl == 0) break;
- }
- break;
-
- case _SLANG_BCST_CFOR:
- loop_name = "for";
-
- /* we need 4 blocks: first 3 control, the last is code */
- if (num_blocks != 4) goto wrong_num_blocks_error;
-
- inner_interp (block);
- while (1)
- {
- if (SLang_Error)
- goto return_error;
-
- inner_interp(blks[1]); /* test */
- if (-1 == pop_ctrl_integer (&ctrl))
- goto return_error;
-
- if (ctrl == 0) break;
- inner_interp(blks[3]); /* code */
- if (Lang_Break) break;
- inner_interp(blks[2]); /* bump */
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- break;
-
- case _SLANG_BCST_FOR:
- loop_name = "_for";
-
- if (num_blocks != 1)
- goto wrong_num_blocks_error;
-
- /* 3 elements: first, last, step */
- if ((-1 == SLang_pop_integer (&ctrl))
- || (-1 == SLang_pop_integer (&last))
- || (-1 == SLang_pop_integer (&first)))
- goto return_error;
-
- i = first;
- while (1)
- {
- /* It is ugly to have this test here but I do not know of a
- * simple way to do this without using two while loops.
- */
- if (ctrl >= 0)
- {
- if (i > last) break;
- }
- else if (i < last) break;
-
- if (SLang_Error) goto return_error;
-
- SLclass_push_int_obj (SLANG_INT_TYPE, i);
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
-
- i += ctrl;
- }
- break;
-
- case _SLANG_BCST_LOOP:
- loop_name = "loop";
- if (num_blocks != 1)
- goto wrong_num_blocks_error;
-
- if (-1 == SLang_pop_integer (&ctrl))
- goto return_error;
- while (ctrl > 0)
- {
- ctrl--;
-
- if (SLang_Error)
- goto return_error;
-
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- break;
-
- case _SLANG_BCST_FOREVER:
- loop_name = "forever";
-
- if (num_blocks != 1)
- goto wrong_num_blocks_error;
-
- while (1)
- {
- if (SLang_Error)
- goto return_error;
-
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- break;
-
- default: SLang_verror(SL_INTERNAL_ERROR, "Unknown loop type");
- return;
- }
- Lang_Break = /* Lang_Continue = */ 0;
- Lang_Break_Condition = Lang_Return;
- return;
-
- wrong_num_blocks_error:
- SLang_verror (SL_SYNTAX_ERROR, "Wrong number of blocks for '%s' construct", loop_name);
-
- /* drop */
- return_error:
- do_traceback (loop_name, 0, NULL);
-}
-
-static void lang_do_and_orelse (unsigned char stype, SLBlock_Type *addr, SLBlock_Type *addr_max)
-{
- int test = 0;
- int is_or;
-
- is_or = (stype == _SLANG_BCST_ORELSE);
-
- while (addr <= addr_max)
- {
- if (addr->bc_main_type == _SLANG_BC_LINE_NUM)
- {
- addr++;
- continue;
- }
-
- inner_interp (addr->b.blk);
- if (SLang_Error
- || Lang_Break_Condition
- || (-1 == pop_ctrl_integer (&test)))
- return;
-
- if (is_or == (test != 0))
- break;
-
- /* if (((stype == _SLANG_BCST_ANDELSE) && (test == 0))
- * || ((stype == _SLANG_BCST_ORELSE) && test))
- * break;
- */
-
- addr++;
- }
- SLclass_push_int_obj (SLANG_INT_TYPE, test);
-}
-
-static void do_else_if (SLBlock_Type *zero_block, SLBlock_Type *non_zero_block)
-{
- int test;
-
- if (-1 == pop_ctrl_integer (&test))
- return;
-
- if (test == 0)
- non_zero_block = zero_block;
-
- if (non_zero_block != NULL)
- inner_interp (non_zero_block->b.blk);
-}
-
-int _SLang_trace_fun (char *f)
-{
- if (NULL == (f = SLang_create_slstring (f)))
- return -1;
-
- SLang_free_slstring (Trace_Function);
- Trace_Function = f;
- _SLang_Trace = 1;
- return 0;
-}
-
-int _SLdump_objects (char *prefix, SLang_Object_Type *x, unsigned int n, int dir)
-{
- char *s;
- SLang_Class_Type *cl;
-
- while (n)
- {
- cl = _SLclass_get_class (x->data_type);
-
- if (NULL == (s = _SLstringize_object (x)))
- s = "??";
-
- call_dump_routine ("%s[%s]:%s\n", prefix, cl->cl_name, s);
-
- SLang_free_slstring (s);
-
- x += dir;
- n--;
- }
- return 0;
-}
-
-static SLBlock_Type *Exit_Block_Ptr;
-static SLBlock_Type *Global_User_Block[5];
-static SLBlock_Type **User_Block_Ptr = Global_User_Block;
-char *_SLang_Current_Function_Name = NULL;
-
-static int execute_slang_fun (_SLang_Function_Type *fun)
-{
- register unsigned int i;
- register SLang_Object_Type *frame, *lvf;
- register unsigned int n_locals;
- _SLBlock_Header_Type *header;
- /* SLBlock_Type *val; */
- SLBlock_Type *exit_block_save;
- SLBlock_Type **user_block_save;
- SLBlock_Type *user_blocks[5];
- char *save_fname;
-
- exit_block_save = Exit_Block_Ptr;
- user_block_save = User_Block_Ptr;
- User_Block_Ptr = user_blocks;
- *(user_blocks) = NULL;
- *(user_blocks + 1) = NULL;
- *(user_blocks + 2) = NULL;
- *(user_blocks + 3) = NULL;
- *(user_blocks + 4) = NULL;
-
- Exit_Block_Ptr = NULL;
-
- save_fname = _SLang_Current_Function_Name;
- _SLang_Current_Function_Name = fun->name;
-
- _SL_increment_frame_pointer ();
-
- /* need loaded? */
- if (fun->nlocals == AUTOLOAD_NUM_LOCALS)
- {
- header = NULL;
- if (-1 == SLang_load_file(fun->v.autoload_filename))
- goto the_return;
-
- if (fun->nlocals == AUTOLOAD_NUM_LOCALS)
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s: Function did not autoload",
- _SLang_Current_Function_Name);
- goto the_return;
- }
- }
-
- n_locals = fun->nlocals;
-
- /* let the error propagate through since it will do no harm
- and allow us to restore stack. */
-
- /* set new stack frame */
- lvf = frame = Local_Variable_Frame;
- i = n_locals;
- if ((lvf + i) > Local_Variable_Stack + SLANG_MAX_LOCAL_STACK)
- {
- SLang_verror(SL_STACK_OVERFLOW, "%s: Local Variable Stack Overflow",
- _SLang_Current_Function_Name);
- goto the_return;
- }
-
- /* Make sure we do not allow this header to get destroyed by something
- * like: define crash () { eval ("define crash ();") }
- */
- header = fun->v.header;
- header->num_refs++;
-
- while (i--)
- {
- lvf++;
- lvf->data_type = SLANG_UNDEFINED_TYPE;
- }
- Local_Variable_Frame = lvf;
-
- /* read values of function arguments */
- i = fun->nargs;
- while (i > 0)
- {
- i--;
- (void) SLang_pop (Local_Variable_Frame - i);
- }
-
- if (SLang_Enter_Function != NULL) (*SLang_Enter_Function)(_SLang_Current_Function_Name);
-
- if (_SLang_Trace)
- {
- int stack_depth;
-
- stack_depth = _SLstack_depth ();
-
- if ((Trace_Function != NULL)
- && (0 == strcmp (Trace_Function, _SLang_Current_Function_Name))
- && (Trace_Mode == 0))
- Trace_Mode = 1;
-
- if (Trace_Mode)
- {
- /* The local variable frame grows backwards */
- trace_dump (">>%s (%d args)\n",
- _SLang_Current_Function_Name,
- Local_Variable_Frame,
- (int) fun->nargs,
- -1);
- Trace_Mode++;
- }
-
- inner_interp (header->body);
- Lang_Break_Condition = Lang_Return = Lang_Break = 0;
- if (Exit_Block_Ptr != NULL) inner_interp(Exit_Block_Ptr);
-
- if (Trace_Mode)
- {
- Trace_Mode--;
- stack_depth = _SLstack_depth () - stack_depth;
-
- trace_dump ("<<%s (returning %d values)\n",
- _SLang_Current_Function_Name,
- _SLStack_Pointer - stack_depth,
- stack_depth,
- 1);
-
- if (Trace_Mode == 1)
- Trace_Mode = 0;
- }
- }
- else
- {
- inner_interp (header->body);
- Lang_Break_Condition = Lang_Return = Lang_Break = 0;
- if (Exit_Block_Ptr != NULL) inner_interp(Exit_Block_Ptr);
- }
-
- if (SLang_Exit_Function != NULL) (*SLang_Exit_Function)(_SLang_Current_Function_Name);
-
- if (SLang_Error)
- do_traceback(fun->name, n_locals,
-#if _SLANG_HAS_DEBUG_CODE
- fun->file
-#else
- NULL
-#endif
- );
-
- /* free local variables.... */
- lvf = Local_Variable_Frame;
- while (lvf > frame)
- {
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [lvf->data_type])
-#endif
- SLang_free_object (lvf);
- lvf--;
- }
- Local_Variable_Frame = lvf;
-
- if (header->num_refs == 1)
- free_function_header (header);
- else
- header->num_refs--;
-
- the_return:
-
- Lang_Break_Condition = Lang_Return = Lang_Break = 0;
- Exit_Block_Ptr = exit_block_save;
- User_Block_Ptr = user_block_save;
- _SLang_Current_Function_Name = save_fname;
- _SL_decrement_frame_pointer ();
-
- if (SLang_Error)
- return -1;
-
- return 0;
-}
-
-static void do_traceback (char *name, unsigned int locals, char *file)
-{
- char *s;
- unsigned int i;
- SLang_Object_Type *objp;
- unsigned short stype;
-
- /* FIXME: Priority=low
- * I need to make this configurable!!! That is, let the
- * application decide whether or not a usage error should result in a
- * traceback.
- */
- if (SLang_Error == SL_USAGE_ERROR)
- return;
-
- if (SLang_Traceback == 0)
- return;
-
- call_dump_routine ("S-Lang Traceback: %s\n", name);
- if (SLang_Traceback < 0)
- return;
-
- if (file != NULL)
- call_dump_routine ("File: %s\n", file);
-
- if (locals == 0)
- return;
-
- call_dump_routine (" Local Variables:\n");
-
- for (i = 0; i < locals; i++)
- {
- SLang_Class_Type *cl;
- char *class_name;
-
- objp = Local_Variable_Frame - i;
- stype = objp->data_type;
-
- s = _SLstringize_object (objp);
- cl = _SLclass_get_class (stype);
- class_name = cl->cl_name;
-
- call_dump_routine ("\t$%d: Type: %s,\tValue:\t", i, class_name);
-
- if (s == NULL) call_dump_routine("??\n");
- else
- {
- char *q = "";
-#ifndef HAVE_VSNPRINTF
- char buf[256];
- if (strlen (s) >= sizeof (buf))
- {
- strncpy (buf, s, sizeof(buf));
- s = buf;
- s[sizeof(buf) - 1] = 0;
- }
-#endif
- if (SLANG_STRING_TYPE == stype) q = "\"";
- call_dump_routine ("%s%s%s\n", q, s, q);
- }
- }
-}
-
-static void do_app_unary (SLang_App_Unary_Type *nt)
-{
- if (-1 == do_unary (nt->unary_op, nt->name_type))
- do_traceback (nt->name, 0, NULL);
-}
-
-static int inner_interp_nametype (SLang_Name_Type *nt)
-{
- SLBlock_Type bc_blks[2];
-
- bc_blks[0].b.nt_blk = nt;
- bc_blks[0].bc_main_type = nt->name_type;
- bc_blks[1].bc_main_type = 0;
- return inner_interp(bc_blks);
-}
-
-int _SLang_dereference_ref (SLang_Ref_Type *ref)
-{
- if (ref == NULL)
- {
- SLang_Error = SL_INTERNAL_ERROR;
- return -1;
- }
-
- if (ref->is_global == 0)
- {
- SLang_Object_Type *obj = ref->v.local_obj;
- if (obj > Local_Variable_Frame)
- {
- SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
- return -1;
- }
- return _SLpush_slang_obj (ref->v.local_obj);
- }
-
- (void) inner_interp_nametype (ref->v.nt);
- return 0;
-}
-
-int _SLang_is_ref_initialized (SLang_Ref_Type *ref)
-{
- unsigned char type;
-
- if (ref == NULL)
- {
- SLang_Error = SL_INTERNAL_ERROR;
- return -1;
- }
-
- if (ref->is_global == 0)
- {
- SLang_Object_Type *obj = ref->v.local_obj;
- if (obj > Local_Variable_Frame)
- {
- SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
- return -1;
- }
- type = ref->v.local_obj->data_type;
- }
- else
- {
- SLang_Name_Type *nt = ref->v.nt;
- if ((nt->name_type != SLANG_GVARIABLE)
- && (nt->name_type != SLANG_PVARIABLE))
- return 1;
- type = ((SLang_Global_Var_Type *)nt)->obj.data_type;
- }
- return type != SLANG_UNDEFINED_TYPE;
-}
-
-int _SLang_uninitialize_ref (SLang_Ref_Type *ref)
-{
- SLang_Object_Type *obj;
-
- if (ref == NULL)
- {
- SLang_Error = SL_INTERNAL_ERROR;
- return -1;
- }
-
- if (ref->is_global == 0)
- {
- obj = ref->v.local_obj;
- if (obj > Local_Variable_Frame)
- {
- SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
- return -1;
- }
- obj = ref->v.local_obj;
- }
- else
- {
- SLang_Name_Type *nt = ref->v.nt;
- if ((nt->name_type != SLANG_GVARIABLE)
- && (nt->name_type != SLANG_PVARIABLE))
- return -1;
- obj = &((SLang_Global_Var_Type *)nt)->obj;
- }
- SLang_free_object (obj);
- obj->data_type = SLANG_UNDEFINED_TYPE;
- obj->v.ptr_val = NULL;
- return 0;
-}
-
-void (*SLang_Interrupt)(void);
-static int Last_Error;
-void (*SLang_User_Clear_Error)(void);
-void _SLang_clear_error (void)
-{
- if (Last_Error <= 0)
- {
- Last_Error = 0;
- return;
- }
- Last_Error--;
- if (SLang_User_Clear_Error != NULL) (*SLang_User_Clear_Error)();
-}
-
-int _SLpush_slang_obj (SLang_Object_Type *obj)
-{
- unsigned char subtype;
- SLang_Class_Type *cl;
-
- if (obj == NULL) return SLang_push_null ();
-
- subtype = obj->data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[subtype])
- return SLang_push (obj);
-#endif
-
- cl = _SLclass_get_class (subtype);
- return (*cl->cl_push) (subtype, (VOID_STAR) &obj->v);
-}
-
-_INLINE_
-static int push_local_variable (int i)
-{
- SLang_Class_Type *cl;
- SLang_Object_Type *obj;
- unsigned char subtype;
-
- obj = Local_Variable_Frame - i;
- subtype = obj->data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[subtype])
- return SLang_push (obj);
- if (subtype == SLANG_STRING_TYPE)
- return _SLang_dup_and_push_slstring (obj->v.s_val);
-#endif
-
- cl = _SLclass_get_class (subtype);
- return (*cl->cl_push) (subtype, (VOID_STAR) &obj->v);
-}
-
-static int push_intrinsic_variable (SLang_Intrin_Var_Type *ivar)
-{
- SLang_Class_Type *cl;
- unsigned char stype;
-
- stype = ivar->type;
- cl = _SLclass_get_class (stype);
-
- if (-1 == (*cl->cl_push_intrinsic) (stype, ivar->addr))
- {
- do_name_type_error ((SLang_Name_Type *) ivar);
- return -1;
- }
- return 0;
-}
-
-static int dereference_object (void)
-{
- SLang_Object_Type obj;
- SLang_Class_Type *cl;
- unsigned char type;
- int ret;
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- type = obj.data_type;
-
- cl = _SLclass_get_class (type);
- ret = (*cl->cl_dereference)(type, (VOID_STAR) &obj.v);
-
- SLang_free_object (&obj);
- return ret;
-}
-
-static int case_function (void)
-{
- unsigned char type;
- SLang_Object_Type obj;
- SLang_Object_Type *swobjptr;
-
- swobjptr = Switch_Obj_Ptr - 1;
-
- if ((swobjptr < Switch_Objects)
- || (0 == (type = swobjptr->data_type)))
- {
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced 'case' keyword");
- return -1;
- }
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- if (obj.data_type != type)
- {
- SLang_Class_Type *a_cl, *b_cl;
-
- a_cl = _SLclass_get_class (obj.data_type);
- b_cl = _SLclass_get_class (type);
-
- if (NULL == _SLclass_get_binary_fun (SLANG_EQ, a_cl, b_cl, &a_cl, 0))
- {
- (void) SLclass_push_int_obj (SLANG_INT_TYPE, 0);
- SLang_free_object (&obj);
- return 0;
- }
- }
-
- (void) do_binary_ab (SLANG_EQ, swobjptr, &obj);
- SLang_free_object (&obj);
- return 0;
-}
-
-static void tmp_variable_function (SLBlock_Type *addr)
-{
- SLang_Object_Type *obj;
-
- switch (addr->bc_sub_type)
- {
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- obj = &addr->b.nt_gvar_blk->obj;
- break;
-
- case SLANG_LVARIABLE:
- obj = Local_Variable_Frame - addr->b.i_blk;
- break;
-
- default:
- SLang_Error = SL_INTERNAL_ERROR;
- return;
- }
-
- /* There is no need to go through higher level routines since we are
- * not creating or destroying extra copies.
- */
- if (-1 == SLang_push (obj))
- return;
-
- obj->data_type = SLANG_UNDEFINED_TYPE;
- obj->v.ptr_val = NULL;
-}
-
-
-static int
-do_inner_interp_error (SLBlock_Type *err_block,
- SLBlock_Type *addr_start,
- SLBlock_Type *addr)
-{
- int save_err, slerr;
-
- /* Someday I can use the these variable to provide extra information
- * about what went wrong.
- */
- (void) addr_start;
- (void) addr;
-
- if (err_block == NULL)
- goto return_error;
-
- if (SLang_Error < 0) /* errors less than 0 are severe */
- goto return_error;
-
- save_err = Last_Error++;
- slerr = SLang_Error;
- SLang_Error = 0;
- inner_interp (err_block->b.blk);
-
- if (Last_Error <= save_err)
- {
- /* Caught error and cleared it */
- Last_Error = save_err;
- if ((Lang_Break_Condition == 0)
- /* An error may have cleared the error and then caused the
- * function to return. We will allow that but let's not allow
- * 'break' nor 'continue' statements until later.
- */
- || Lang_Return)
- return 0;
-
- /* drop--- either a break or continue was called */
- }
-
- Last_Error = save_err;
- SLang_Error = slerr;
-
- return_error:
-#if _SLANG_HAS_DEBUG_CODE
- while (addr >= addr_start)
- {
- if (addr->bc_main_type == _SLANG_BC_LINE_NUM)
- {
- char buf[256];
- sprintf (buf, "(Error occurred on line %lu)", addr->b.l_blk);
- do_traceback (buf, 0, NULL);
- break;
- }
- /* Special hack for 16 bit systems to prevent pointer wrapping. */
-#if defined(__16_BIT_SYSTEM__)
- if (addr == addr_start)
- break;
-#endif
- addr--;
- }
-#endif
- return -1;
-}
-
-
-#define GATHER_STATISTICS 0
-#if GATHER_STATISTICS
-static unsigned int Bytecodes[0xFFFF];
-
-static void print_stats (void)
-{
- unsigned int i;
- unsigned long total;
- FILE *fp = fopen ("stats.txt", "w");
- if (fp == NULL)
- return;
-
- total = 0;
- for (i = 0; i < 0xFFFF; i++)
- total += Bytecodes[i];
-
- if (total == 0)
- total = 1;
-
- for (i = 0; i < 0xFFFF; i++)
- {
- if (Bytecodes[i])
- fprintf (fp, "0x%04X %9u %e\n", i, Bytecodes[i], Bytecodes[i]/(double) total);
- }
- fclose (fp);
-}
-
-static void add_to_statistics (SLBlock_Type *b)
-{
- unsigned short x, y;
-
- x = b->bc_main_type;
- if (x == 0)
- {
- Bytecodes[0] += 1;
- return;
- }
- b++;
- y = b->bc_main_type;
-
- Bytecodes[(x << 8) | y] += 1;
-}
-
-#endif
-
-/* inner interpreter */
-/* The return value from this function is only meaningful when it is used
- * to process blocks for the switch statement. If it returns 0, the calling
- * routine should pass the next block to it. Otherwise it will
- * return non-zero, with or without error.
- */
-static int inner_interp (SLBlock_Type *addr_start)
-{
- SLBlock_Type *block, *err_block, *addr;
-#if GATHER_STATISTICS
- static int inited = 0;
-
- if (inited == 0)
- {
- (void) SLang_add_cleanup_function (print_stats);
- inited = 1;
- }
-#endif
-
- /* for systems that have no real interrupt facility (e.g. go32 on dos) */
- if (SLang_Interrupt != NULL) (*SLang_Interrupt)();
-
- block = err_block = NULL;
- addr = addr_start;
-
-#if GATHER_STATISTICS
- add_to_statistics (addr);
-#endif
- while (1)
- {
- switch (addr->bc_main_type)
- {
- case 0:
- return 1;
- case _SLANG_BC_LVARIABLE:
- push_local_variable (addr->b.i_blk);
- break;
- case _SLANG_BC_GVARIABLE:
- if (-1 == _SLpush_slang_obj (&addr->b.nt_gvar_blk->obj))
- do_name_type_error (addr->b.nt_blk);
- break;
-
- case _SLANG_BC_IVARIABLE:
- case _SLANG_BC_RVARIABLE:
- push_intrinsic_variable (addr->b.nt_ivar_blk);
- break;
-
- case _SLANG_BC_INTRINSIC:
- execute_intrinsic_fun (addr->b.nt_ifun_blk);
- if (SLang_Error)
- do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
- break;
-
- case _SLANG_BC_FUNCTION:
- execute_slang_fun (addr->b.nt_fun_blk);
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_MATH_UNARY:
- case _SLANG_BC_APP_UNARY:
- /* Make sure we treat these like function calls since the
- * parser took sin(x) to be a function call.
- */
- if (0 == _SL_increment_frame_pointer ())
- {
- do_app_unary (addr->b.nt_unary_blk);
- (void) _SL_decrement_frame_pointer ();
- }
- break;
-
- case _SLANG_BC_ICONST:
- SLclass_push_int_obj (SLANG_INT_TYPE, addr->b.iconst_blk->i);
- break;
-
-#if SLANG_HAS_FLOAT
- case _SLANG_BC_DCONST:
- SLang_push_double (addr->b.dconst_blk->d);
- break;
-#endif
-
- case _SLANG_BC_PVARIABLE:
- if (-1 == _SLpush_slang_obj (&addr->b.nt_gvar_blk->obj))
- do_name_type_error (addr->b.nt_blk);
- break;
-
- case _SLANG_BC_PFUNCTION:
- execute_slang_fun (addr->b.nt_fun_blk);
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_BINARY:
- do_binary (addr->b.i_blk);
- break;
-
- case _SLANG_BC_LITERAL:
-#if !_SLANG_OPTIMIZE_FOR_SPEED
- case _SLANG_BC_LITERAL_INT:
- case _SLANG_BC_LITERAL_STR:
-#endif
- {
- SLang_Class_Type *cl = _SLclass_get_class (addr->bc_sub_type);
- (*cl->cl_push_literal) (addr->bc_sub_type, (VOID_STAR) &addr->b.ptr_blk);
- }
- break;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- case _SLANG_BC_LITERAL_INT:
- SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk);
- break;
-
- case _SLANG_BC_LITERAL_STR:
- _SLang_dup_and_push_slstring (addr->b.s_blk);
- break;
-#endif
- case _SLANG_BC_BLOCK:
- switch (addr->bc_sub_type)
- {
- case _SLANG_BCST_ERROR_BLOCK:
- err_block = addr;
- break;
-
- case _SLANG_BCST_EXIT_BLOCK:
- Exit_Block_Ptr = addr->b.blk;
- break;
-
- case _SLANG_BCST_USER_BLOCK0:
- case _SLANG_BCST_USER_BLOCK1:
- case _SLANG_BCST_USER_BLOCK2:
- case _SLANG_BCST_USER_BLOCK3:
- case _SLANG_BCST_USER_BLOCK4:
- User_Block_Ptr[addr->bc_sub_type - _SLANG_BCST_USER_BLOCK0] = addr->b.blk;
- break;
-
- case _SLANG_BCST_LOOP:
- case _SLANG_BCST_WHILE:
- case _SLANG_BCST_FOR:
- case _SLANG_BCST_FOREVER:
- case _SLANG_BCST_CFOR:
- case _SLANG_BCST_DOWHILE:
- case _SLANG_BCST_FOREACH:
- if (block == NULL) block = addr;
- lang_do_loops(addr->bc_sub_type, block, 1 + (unsigned int) (addr - block));
- block = NULL;
- break;
-
- case _SLANG_BCST_IFNOT:
-#if _SLANG_OPTIMIZE_FOR_SPEED
- {
- int i;
-
- if ((0 == pop_ctrl_integer (&i)) && (i == 0))
- inner_interp (addr->b.blk);
- }
-#else
- do_else_if (addr, NULL);
-#endif
- break;
-
- case _SLANG_BCST_IF:
-#if _SLANG_OPTIMIZE_FOR_SPEED
- {
- int i;
-
- if ((0 == pop_ctrl_integer (&i)) && i)
- inner_interp (addr->b.blk);
- }
-#else
- do_else_if (NULL, addr);
-#endif
- break;
-
- case _SLANG_BCST_NOTELSE:
- do_else_if (block, addr);
- block = NULL;
- break;
-
- case _SLANG_BCST_ELSE:
- do_else_if (addr, block);
- block = NULL;
- break;
-
- case _SLANG_BCST_SWITCH:
- if (Switch_Obj_Ptr == Switch_Obj_Max)
- {
- SLang_doerror("switch nesting too deep");
- break;
- }
- (void) SLang_pop (Switch_Obj_Ptr);
- Switch_Obj_Ptr++;
-
- if (block == NULL) block = addr;
- while ((SLang_Error == 0)
- && (block <= addr)
- && (Lang_Break_Condition == 0)
- && (0 == inner_interp (block->b.blk)))
- block++;
- Switch_Obj_Ptr--;
- SLang_free_object (Switch_Obj_Ptr);
- Switch_Obj_Ptr->data_type = 0;
- block = NULL;
- break;
-
- case _SLANG_BCST_ANDELSE:
- case _SLANG_BCST_ORELSE:
- if (block == NULL) block = addr;
- lang_do_and_orelse (addr->bc_sub_type, block, addr);
- block = NULL;
- break;
-
- default:
- if (block == NULL) block = addr;
- break;
- }
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_RETURN:
- Lang_Break_Condition = Lang_Return = Lang_Break = 1; return 1;
- case _SLANG_BC_BREAK:
- Lang_Break_Condition = Lang_Break = 1; return 1;
- case _SLANG_BC_CONTINUE:
- Lang_Break_Condition = /* Lang_Continue = */ 1; return 1;
-
- case _SLANG_BC_EXCH:
- (void) SLreverse_stack (2);
- break;
-
- case _SLANG_BC_LABEL:
- {
- int test;
- if ((0 == SLang_pop_integer (&test))
- && (test == 0))
- return 0;
- }
- break;
-
- case _SLANG_BC_LOBJPTR:
- (void)_SLang_push_ref (0, (VOID_STAR)(Local_Variable_Frame - addr->b.i_blk));
- break;
-
- case _SLANG_BC_GOBJPTR:
- (void)_SLang_push_ref (1, (VOID_STAR)addr->b.nt_blk);
- break;
-
- case _SLANG_BC_X_ERROR:
- if (err_block != NULL)
- {
- inner_interp(err_block->b.blk);
- if (SLang_Error) err_block = NULL;
- }
- else SLang_verror(SL_SYNTAX_ERROR, "No ERROR_BLOCK");
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_X_USER0:
- case _SLANG_BC_X_USER1:
- case _SLANG_BC_X_USER2:
- case _SLANG_BC_X_USER3:
- case _SLANG_BC_X_USER4:
- if (User_Block_Ptr[addr->bc_main_type - _SLANG_BC_X_USER0] != NULL)
- {
- inner_interp(User_Block_Ptr[addr->bc_main_type - _SLANG_BC_X_USER0]);
- }
- else SLang_verror(SL_SYNTAX_ERROR, "No block for X_USERBLOCK");
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_CALL_DIRECT:
- (*addr->b.call_function) ();
- break;
-
- case _SLANG_BC_CALL_DIRECT_FRAME:
- do_bc_call_direct_frame (addr->b.call_function);
- break;
-
- case _SLANG_BC_UNARY:
- do_unary (addr->b.i_blk, _SLANG_BC_UNARY);
- break;
-
- case _SLANG_BC_UNARY_FUNC:
- /* Make sure we treat these like function calls since the
- * parser took abs(x) to be a function call.
- */
- if (0 == _SL_increment_frame_pointer ())
- {
- do_unary (addr->b.i_blk, _SLANG_BC_UNARY);
- (void) _SL_decrement_frame_pointer ();
- }
- break;
-
- case _SLANG_BC_DEREF_ASSIGN:
- set_deref_lvalue (addr);
- break;
- case _SLANG_BC_SET_LOCAL_LVALUE:
- set_lvalue_obj (addr->bc_sub_type, Local_Variable_Frame - addr->b.i_blk);
- break;
- case _SLANG_BC_SET_GLOBAL_LVALUE:
- if (-1 == set_lvalue_obj (addr->bc_sub_type, &addr->b.nt_gvar_blk->obj))
- do_name_type_error (addr->b.nt_blk);
- break;
- case _SLANG_BC_SET_INTRIN_LVALUE:
- set_intrin_lvalue (addr);
- break;
- case _SLANG_BC_SET_STRUCT_LVALUE:
- set_struct_lvalue (addr);
- break;
-
- case _SLANG_BC_FIELD:
- (void) push_struct_field (addr->b.s_blk);
- break;
-
- case _SLANG_BC_SET_ARRAY_LVALUE:
- set_array_lvalue (addr->bc_sub_type);
- break;
-
-#if _SLANG_HAS_DEBUG_CODE
- case _SLANG_BC_LINE_NUM:
- break;
-#endif
-
- case _SLANG_BC_TMP:
- tmp_variable_function (addr);
- break;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- case _SLANG_BC_LVARIABLE_AGET:
- if (0 == push_local_variable (addr->b.i_blk))
- do_bc_call_direct_frame (_SLarray_aget);
- break;
-
- case _SLANG_BC_LVARIABLE_APUT:
- if (0 == push_local_variable (addr->b.i_blk))
- do_bc_call_direct_frame (_SLarray_aput);
- break;
- case _SLANG_BC_INTEGER_PLUS:
- if (0 == SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk))
- do_binary (SLANG_PLUS);
- break;
-
- case _SLANG_BC_INTEGER_MINUS:
- if (0 == SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk))
- do_binary (SLANG_MINUS);
- break;
-#endif
-#if 0
- case _SLANG_BC_ARG_LVARIABLE:
- (void) SLang_start_arg_list ();
- push_local_variable (addr->b.i_blk);
- break;
-#endif
- case _SLANG_BC_EARG_LVARIABLE:
- push_local_variable (addr->b.i_blk);
- (void) SLang_end_arg_list ();
- break;
-
-#if USE_COMBINED_BYTECODES
- case _SLANG_BC_CALL_DIRECT_INTRINSIC:
- (*addr->b.call_function) ();
- addr++;
- execute_intrinsic_fun (addr->b.nt_ifun_blk);
- if (SLang_Error)
- do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
- break;
-
- case _SLANG_BC_INTRINSIC_CALL_DIRECT:
- execute_intrinsic_fun (addr->b.nt_ifun_blk);
- if (SLang_Error)
- {
- do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
- break;
- }
- addr++;
- (*addr->b.call_function) ();
- break;
-
- case _SLANG_BC_CALL_DIRECT_LSTR:
- (*addr->b.call_function) ();
- addr++;
- _SLang_dup_and_push_slstring (addr->b.s_blk);
- break;
-
- case _SLANG_BC_CALL_DIRECT_SLFUN:
- (*addr->b.call_function) ();
- addr++;
- execute_slang_fun (addr->b.nt_fun_blk);
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_CALL_DIRECT_INTRSTOP:
- (*addr->b.call_function) ();
- addr++;
- /* drop */
- case _SLANG_BC_INTRINSIC_STOP:
- execute_intrinsic_fun (addr->b.nt_ifun_blk);
- if (SLang_Error == 0)
- return 1;
- do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
- break;
-
- case _SLANG_BC_CALL_DIRECT_EARG_LVAR:
- (*addr->b.call_function) ();
- addr++;
- push_local_variable (addr->b.i_blk);
- (void) SLang_end_arg_list ();
- break;
-
- case _SLANG_BC_CALL_DIRECT_LINT:
- (*addr->b.call_function) ();
- addr++;
- SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk);
- break;
-
- case _SLANG_BC_CALL_DIRECT_LVAR:
- (*addr->b.call_function) ();
- addr++;
- push_local_variable (addr->b.i_blk);
- break;
-#endif /* USE_COMBINED_BYTECODES */
-
- default:
- SLang_verror (SL_INTERNAL_ERROR, "Byte-Code 0x%X is not valid", addr->bc_main_type);
- }
-
- /* Someday I plan to add a 'signal' intrinsic function. Then when a
- * signal is caught, a variable will be set to one and that value of
- * that variable will need to be monitored here, e.g.,
- * if (Handle_Signal) handle_signal ();
- * It would be nice to check only one variable instead of Handle_Signal
- * and SLang_Error. Perhaps I should phase out SLang_Error = xxx
- * and used something like: SLang_set_error (code); Then, I could
- * use:
- * if (Handle_Condition)
- * {
- * Handle_Condition = 0;
- * if (SLang_Error) ....
- * else if (Handle_Signal) handle_signal ();
- * else....
- * }
- */
- if (SLang_Error)
- {
- if (-1 == do_inner_interp_error (err_block, addr_start, addr))
- return 1;
- if (SLang_Error)
- return 1;
-
- /* Otherwise, error cleared. Continue onto next bytecode.
- * Someday I need to add something to indicate where the
- * next statement begins since continuing on the next
- * bytecode is not really what is desired.
- */
- if (Lang_Break_Condition) goto handle_break_condition;
- }
- addr++;
- }
-
- handle_break_condition:
- /* Get here if Lang_Break_Condition != 0, which implies that either
- * Lang_Return, Lang_Break, or Lang_Continue is non zero
- */
- if (Lang_Return)
- Lang_Break = 1;
-
- return 1;
-}
-
-/*}}}*/
-
-/* The functions below this point are used to implement the parsed token
- * to byte-compiled code.
- */
-/* static SLang_Name_Type **Static_Hash_Table; */
-
-static SLang_Name_Type **Locals_Hash_Table;
-static int Local_Variable_Number;
-static unsigned int Function_Args_Number;
-int _SLang_Auto_Declare_Globals = 0;
-int (*SLang_Auto_Declare_Var_Hook) (char *);
-
-static SLang_NameSpace_Type *This_Static_NameSpace;
-static SLang_NameSpace_Type *Global_NameSpace;
-
-#if _SLANG_HAS_DEBUG_CODE
-static char *This_Compile_Filename;
-#endif
-static SLBlock_Type SLShort_Blocks[6];
-/* These are initialized in add_table below. I cannot init a Union!! */
-
-static int Lang_Defining_Function;
-static void (*Default_Variable_Mode) (_SLang_Token_Type *);
-static void (*Default_Define_Function) (char *, unsigned long);
-
-static int push_compile_context (char *);
-static int pop_compile_context (void);
-
-typedef struct
-{
- int block_type;
- SLBlock_Type *block; /* beginning of block definition */
- SLBlock_Type *block_ptr; /* current location */
- SLBlock_Type *block_max; /* end of definition */
- SLang_NameSpace_Type *static_namespace;
-}
-Block_Context_Type;
-
-static Block_Context_Type Block_Context_Stack [SLANG_MAX_BLOCK_STACK_LEN];
-static unsigned int Block_Context_Stack_Len;
-
-static SLBlock_Type *Compile_ByteCode_Ptr;
-static SLBlock_Type *This_Compile_Block;
-static SLBlock_Type *This_Compile_Block_Max;
-static int This_Compile_Block_Type;
-#define COMPILE_BLOCK_TYPE_FUNCTION 1
-#define COMPILE_BLOCK_TYPE_BLOCK 2
-#define COMPILE_BLOCK_TYPE_TOP_LEVEL 3
-
-/* If it returns 0, DO NOT FREE p */
-static int lang_free_branch (SLBlock_Type *p)
-{
- /* Note: we look at 0,2,4, since these blocks are 0 terminated */
- if ((p == SLShort_Blocks)
- || (p == SLShort_Blocks + 2)
- || (p == SLShort_Blocks + 4)
- )
- return 0;
-
- while (1)
- {
- SLang_Class_Type *cl;
-
- switch (p->bc_main_type)
- {
- case _SLANG_BC_BLOCK:
- if (lang_free_branch(p->b.blk))
- SLfree((char *)p->b.blk);
- break;
-
- case _SLANG_BC_LITERAL:
- case _SLANG_BC_LITERAL_STR:
- /* No user types should be here. */
- cl = _SLclass_get_class (p->bc_sub_type);
- (*cl->cl_byte_code_destroy) (p->bc_sub_type, (VOID_STAR) &p->b.ptr_blk);
- break;
-
- case _SLANG_BC_FIELD:
- case _SLANG_BC_SET_STRUCT_LVALUE:
- SLang_free_slstring (p->b.s_blk);
- break;
-
- default:
- break;
-
- case 0:
- return 1;
- }
- p++;
- }
-}
-
-static void free_function_header (_SLBlock_Header_Type *h)
-{
- if (h->num_refs > 1)
- {
- h->num_refs--;
- return;
- }
-
- if (h->body != NULL)
- {
- if (lang_free_branch (h->body))
- SLfree ((char *) h->body);
- }
-
- SLfree ((char *) h);
-}
-
-static int push_block_context (int type)
-{
- Block_Context_Type *c;
- unsigned int num;
- SLBlock_Type *b;
-
- if (Block_Context_Stack_Len == SLANG_MAX_BLOCK_STACK_LEN)
- {
- SLang_verror (SL_STACK_OVERFLOW, "Block stack overflow");
- return -1;
- }
-
- num = 5; /* 40 bytes */
- if (NULL == (b = (SLBlock_Type *) SLcalloc (num, sizeof (SLBlock_Type))))
- return -1;
-
- c = Block_Context_Stack + Block_Context_Stack_Len;
- c->block = This_Compile_Block;
- c->block_ptr = Compile_ByteCode_Ptr;
- c->block_max = This_Compile_Block_Max;
- c->block_type = This_Compile_Block_Type;
- c->static_namespace = This_Static_NameSpace;
-
- Compile_ByteCode_Ptr = This_Compile_Block = b;
- This_Compile_Block_Max = b + num;
- This_Compile_Block_Type = type;
-
- Block_Context_Stack_Len += 1;
- return 0;
-}
-
-static int pop_block_context (void)
-{
- Block_Context_Type *c;
-
- if (Block_Context_Stack_Len == 0)
- return -1;
-
- Block_Context_Stack_Len -= 1;
- c = Block_Context_Stack + Block_Context_Stack_Len;
-
- This_Compile_Block = c->block;
- This_Compile_Block_Max = c->block_max;
- This_Compile_Block_Type = c->block_type;
- Compile_ByteCode_Ptr = c->block_ptr;
- This_Static_NameSpace = c->static_namespace;
-
- return 0;
-}
-
-int _SLcompile_push_context (SLang_Load_Type *load_object)
-{
- if (-1 == push_compile_context (load_object->name))
- return -1;
-
- if (NULL == (This_Static_NameSpace = _SLns_allocate_namespace (load_object->name, SLSTATIC_HASH_TABLE_SIZE)))
- {
- pop_compile_context ();
- return -1;
- }
-
- if (-1 == push_block_context (COMPILE_BLOCK_TYPE_TOP_LEVEL))
- {
- pop_compile_context ();
- return -1;
- }
-
- return 0;
-}
-
-int _SLcompile_pop_context (void)
-{
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- Compile_ByteCode_Ptr->bc_main_type = 0;
- if (lang_free_branch (This_Compile_Block))
- SLfree ((char *) This_Compile_Block);
- }
-
- (void) pop_block_context ();
- (void) pop_compile_context ();
-
- if (This_Compile_Block == NULL)
- return 0;
-
-#if 0
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_INTERNAL_ERROR, "Not at top-level");
- return -1;
- }
-#endif
-
- return 0;
-}
-
-/*{{{ Hash and Name Table Functions */
-
-static SLang_Name_Type *locate_name_in_table (char *name, unsigned long hash,
- SLang_Name_Type **table, unsigned int table_size)
-{
- SLang_Name_Type *t;
- char ch;
-
- t = table [(unsigned int) (hash % table_size)];
- ch = *name++;
-
- while (t != NULL)
- {
- if ((ch == t->name[0])
- && (0 == strcmp (t->name + 1, name)))
- break;
-
- t = t->next;
- }
-
- return t;
-}
-
-static SLang_Name_Type *locate_namespace_encoded_name (char *name, int err_on_bad_ns)
-{
- char *ns, *ns1;
- SLang_NameSpace_Type *table;
- SLang_Name_Type *nt;
-
- ns = name;
- name = strchr (name, '-');
- if ((name == NULL) || (name [1] != '>'))
- name = ns;
-
- ns1 = SLang_create_nslstring (ns, (unsigned int) (name - ns));
- if (ns1 == NULL)
- return NULL;
- if (ns != name)
- name += 2;
- ns = ns1;
-
- if (*ns == 0)
- {
- /* Use Global Namespace */
- SLang_free_slstring (ns);
- return locate_name_in_table (name, _SLcompute_string_hash (name),
- Global_NameSpace->table, Global_NameSpace->table_size);
- }
-
- if (NULL == (table = _SLns_find_namespace (ns)))
- {
- if (err_on_bad_ns)
- SLang_verror (SL_SYNTAX_ERROR, "Unable to find namespace called %s", ns);
- SLang_free_slstring (ns);
- return NULL;
- }
- SLang_free_slstring (ns);
-
- /* FIXME: the hash table size should be stored in the hash table itself */
- nt = locate_name_in_table (name, _SLcompute_string_hash (name),
- table->table, table->table_size);
- if (nt == NULL)
- return NULL;
-
- switch (nt->name_type)
- {
- /* These are private and cannot be accessed through the namespace. */
- case SLANG_PVARIABLE:
- case SLANG_PFUNCTION:
- return NULL;
- }
- return nt;
-}
-
-static SLang_Name_Type *locate_hashed_name (char *name, unsigned long hash)
-{
- SLang_Name_Type *t;
-
- if (Lang_Defining_Function)
- {
- t = locate_name_in_table (name, hash, Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE);
- if (t != NULL)
- return t;
- }
-
- if ((This_Static_NameSpace != NULL)
- && (NULL != (t = locate_name_in_table (name, hash, This_Static_NameSpace->table, This_Static_NameSpace->table_size))))
- return t;
-
- t = locate_name_in_table (name, hash, Global_NameSpace->table, Global_NameSpace->table_size);
- if (NULL != t)
- return t;
-
- return locate_namespace_encoded_name (name, 1);
-}
-
-SLang_Name_Type *_SLlocate_name (char *name)
-{
- return locate_hashed_name (name, _SLcompute_string_hash (name));
-}
-
-static SLang_Name_Type *
-add_name_to_hash_table (char *name, unsigned long hash,
- unsigned int sizeof_obj, unsigned char name_type,
- SLang_Name_Type **table, unsigned int table_size,
- int check_existing)
-{
- SLang_Name_Type *t;
-
- if (check_existing)
- {
- t = locate_name_in_table (name, hash, table, table_size);
- if (t != NULL)
- return t;
- }
-
- if (-1 == _SLcheck_identifier_syntax (name))
- return NULL;
-
- t = (SLang_Name_Type *) SLmalloc (sizeof_obj);
- if (t == NULL)
- return t;
-
- memset ((char *) t, 0, sizeof_obj);
- if (NULL == (t->name = _SLstring_dup_hashed_string (name, hash)))
- {
- SLfree ((char *) t);
- return NULL;
- }
- t->name_type = name_type;
-
- hash = hash % table_size;
- t->next = table [(unsigned int)hash];
- table [(unsigned int) hash] = t;
-
- return t;
-}
-
-static SLang_Name_Type *
-add_global_name (char *name, unsigned long hash,
- unsigned char name_type, unsigned int sizeof_obj,
- SLang_NameSpace_Type *ns)
-{
- SLang_Name_Type *nt;
- SLang_Name_Type **table;
- unsigned int table_size;
-
- table = ns->table;
- table_size = ns->table_size;
-
- nt = locate_name_in_table (name, hash, table, table_size);
- if (nt != NULL)
- {
- if (nt->name_type == name_type)
- return nt;
-
- SLang_verror (SL_DUPLICATE_DEFINITION, "%s cannot be re-defined", name);
- return NULL;
- }
-
- return add_name_to_hash_table (name, hash, sizeof_obj, name_type,
- table, table_size, 0);
-}
-
-static int add_intrinsic_function (SLang_NameSpace_Type *ns,
- char *name, FVOID_STAR addr, unsigned char ret_type,
- unsigned int nargs, va_list ap)
-{
- SLang_Intrin_Fun_Type *f;
- unsigned int i;
-
- if (-1 == init_interpreter ())
- return -1;
-
- if (ns == NULL) ns = Global_NameSpace;
-
- if (nargs > SLANG_MAX_INTRIN_ARGS)
- {
- SLang_verror (SL_APPLICATION_ERROR, "Function %s requires too many arguments", name);
- return -1;
- }
-
- if (ret_type == SLANG_FLOAT_TYPE)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Function %s is not permitted to return float", name);
- return -1;
- }
-
- f = (SLang_Intrin_Fun_Type *) add_global_name (name, _SLcompute_string_hash (name),
- SLANG_INTRINSIC, sizeof (SLang_Intrin_Fun_Type),
- ns);
-
- if (f == NULL)
- return -1;
-
- f->i_fun = addr;
- f->num_args = nargs;
- f->return_type = ret_type;
-
- for (i = 0; i < nargs; i++)
- f->arg_types [i] = va_arg (ap, unsigned int);
-
- return 0;
-}
-
-int SLadd_intrinsic_function (char *name, FVOID_STAR addr, unsigned char ret_type,
- unsigned int nargs, ...)
-{
- va_list ap;
- int status;
-
- va_start (ap, nargs);
- status = add_intrinsic_function (NULL, name, addr, ret_type, nargs, ap);
- va_end (ap);
-
- return status;
-}
-
-int SLns_add_intrinsic_function (SLang_NameSpace_Type *ns,
- char *name, FVOID_STAR addr, unsigned char ret_type,
- unsigned int nargs, ...)
-{
- va_list ap;
- int status;
-
- va_start (ap, nargs);
- status = add_intrinsic_function (ns, name, addr, ret_type, nargs, ap);
- va_end (ap);
-
- return status;
-}
-
-int SLns_add_intrinsic_variable (SLang_NameSpace_Type *ns,
- char *name, VOID_STAR addr, unsigned char data_type, int ro)
-{
- SLang_Intrin_Var_Type *v;
-
- if (-1 == init_interpreter ())
- return -1;
-
- if (ns == NULL) ns = Global_NameSpace;
-
- v = (SLang_Intrin_Var_Type *)add_global_name (name,
- _SLcompute_string_hash (name),
- (ro ? SLANG_RVARIABLE : SLANG_IVARIABLE),
- sizeof (SLang_Intrin_Var_Type),
- ns);
- if (v == NULL)
- return -1;
-
- v->addr = addr;
- v->type = data_type;
- return 0;
-}
-
-int SLadd_intrinsic_variable (char *name, VOID_STAR addr, unsigned char data_type, int ro)
-{
- return SLns_add_intrinsic_variable (NULL, name, addr, data_type, ro);
-}
-
-static int
-add_slang_function (char *name, unsigned char type, unsigned long hash,
- unsigned int num_args, unsigned int num_locals,
-#if _SLANG_HAS_DEBUG_CODE
- char *file,
-#endif
- _SLBlock_Header_Type *h,
- SLang_NameSpace_Type *ns)
-{
- _SLang_Function_Type *f;
-
-#if _SLANG_HAS_DEBUG_CODE
- if ((file != NULL)
- && (NULL == (file = SLang_create_slstring (file))))
- return -1;
-#endif
-
- f = (_SLang_Function_Type *)add_global_name (name, hash,
- type,
- sizeof (_SLang_Function_Type),
- ns);
- if (f == NULL)
- {
-#if _SLANG_HAS_DEBUG_CODE
- SLang_free_slstring (file); /* NULL ok */
-#endif
- return -1;
- }
-
- if (f->v.header != NULL)
- {
- if (f->nlocals == AUTOLOAD_NUM_LOCALS)
- SLang_free_slstring ((char *)f->v.autoload_filename); /* autoloaded filename */
- else
- free_function_header (f->v.header);
- }
-
-#if _SLANG_HAS_DEBUG_CODE
- if (f->file != NULL) SLang_free_slstring (f->file);
- f->file = file;
-#endif
- f->v.header = h;
- f->nlocals = num_locals;
- f->nargs = num_args;
-
- return 0;
-}
-
-int SLang_autoload (char *name, char *file)
-{
- _SLang_Function_Type *f;
- unsigned long hash;
-
- hash = _SLcompute_string_hash (name);
- f = (_SLang_Function_Type *)locate_name_in_table (name, hash, Global_NameSpace->table, Global_NameSpace->table_size);
-
- if ((f != NULL)
- && (f->name_type == SLANG_FUNCTION)
- && (f->v.header != NULL)
- && (f->nlocals != AUTOLOAD_NUM_LOCALS))
- {
- /* already loaded */
- return 0;
- }
-
- file = SLang_create_slstring (file);
- if (-1 == add_slang_function (name, SLANG_FUNCTION, hash, 0, AUTOLOAD_NUM_LOCALS,
-#if _SLANG_HAS_DEBUG_CODE
- file,
-#endif
- (_SLBlock_Header_Type *) file,
- Global_NameSpace))
- {
- SLang_free_slstring (file);
- return -1;
- }
-
- return 0;
-}
-
-SLang_Name_Type *_SLlocate_global_name (char *name)
-{
- unsigned long hash;
-
- hash = _SLcompute_string_hash (name);
- return locate_name_in_table (name, hash, Global_NameSpace->table,
- Global_NameSpace->table_size);
-}
-
-/*}}}*/
-
-static void free_local_variable_table (void)
-{
- unsigned int i;
- SLang_Name_Type *t, *t1;
-
- for (i = 0; i < SLLOCALS_HASH_TABLE_SIZE; i++)
- {
- t = Locals_Hash_Table [i];
- while (t != NULL)
- {
- SLang_free_slstring (t->name);
- t1 = t->next;
- SLfree ((char *) t);
- t = t1;
- }
- Locals_Hash_Table [i] = NULL;
- }
- Local_Variable_Number = 0;
-}
-
-/* call inner interpreter or return for more */
-static void lang_try_now(void)
-{
- Compile_ByteCode_Ptr++;
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- return;
-
- Compile_ByteCode_Ptr->bc_main_type = 0; /* so next command stops after this */
-
- /* now do it */
- inner_interp (This_Compile_Block);
- (void) lang_free_branch (This_Compile_Block);
- Compile_ByteCode_Ptr = This_Compile_Block;
-}
-
-SLang_Name_Type *SLang_get_fun_from_ref (SLang_Ref_Type *ref)
-{
- if (ref->is_global)
- {
- SLang_Name_Type *nt = ref->v.nt;
-
- switch (nt->name_type)
- {
- case SLANG_PFUNCTION:
- case SLANG_FUNCTION:
- case SLANG_INTRINSIC:
- case SLANG_MATH_UNARY:
- case SLANG_APP_UNARY:
- return nt;
- }
- SLang_verror (SL_TYPE_MISMATCH,
- "Reference to a function expected. Found &%s",
- nt->name);
- }
-
- SLang_verror (SL_TYPE_MISMATCH,
- "Reference to a function expected");
- return NULL;
-}
-
-int SLexecute_function (SLang_Name_Type *nt)
-{
- unsigned char type;
- char *name;
-
- if (SLang_Error)
- return -1;
-
- type = nt->name_type;
- name = nt->name;
-
- switch (type)
- {
- case SLANG_PFUNCTION:
- case SLANG_FUNCTION:
- execute_slang_fun ((_SLang_Function_Type *) nt);
- break;
-
- case SLANG_INTRINSIC:
- execute_intrinsic_fun ((SLang_Intrin_Fun_Type *) nt);
- break;
-
- case SLANG_MATH_UNARY:
- case SLANG_APP_UNARY:
- inner_interp_nametype (nt);
- break;
-
- default:
- SLang_verror (SL_TYPE_MISMATCH, "%s is not a function", name);
- return -1;
- }
-
- if (SLang_Error)
- {
- SLang_verror (SLang_Error, "Error while executing %s", name);
- return -1;
- }
-
- return 1;
-}
-
-int SLang_execute_function (char *name)
-{
- SLang_Name_Type *entry;
-
- if (NULL == (entry = SLang_get_function (name)))
- return 0;
-
- return SLexecute_function (entry);
-}
-
-/* return S-Lang function or NULL */
-SLang_Name_Type *SLang_get_function (char *name)
-{
- SLang_Name_Type *entry;
-
- if (NULL == (entry = locate_namespace_encoded_name (name, 0)))
- return NULL;
-
- if ((entry->name_type == SLANG_FUNCTION)
- || (entry->name_type == SLANG_INTRINSIC))
- return entry;
-
- return NULL;
-}
-
-static void lang_begin_function (void)
-{
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Function nesting is illegal");
- return;
- }
- Lang_Defining_Function = 1;
- (void) push_block_context (COMPILE_BLOCK_TYPE_FUNCTION);
-}
-
-#if USE_COMBINED_BYTECODES
-static void optimize_block (SLBlock_Type *b)
-{
- while (1)
- {
- switch (b->bc_main_type)
- {
- case 0:
- return;
-
- default:
- b++;
- break;
-
- case _SLANG_BC_CALL_DIRECT:
- b++;
- switch (b->bc_main_type)
- {
- case 0:
- return;
- case _SLANG_BC_INTRINSIC:
- if ((b+1)->bc_main_type == 0)
- {
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_INTRSTOP;
- return;
- }
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_INTRINSIC;
- b++;
- break;
- case _SLANG_BC_LITERAL_STR:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LSTR;
- b++;
- break;
- case _SLANG_BC_FUNCTION:
- case _SLANG_BC_PFUNCTION:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_SLFUN;
- b++;
- break;
- case _SLANG_BC_EARG_LVARIABLE:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_EARG_LVAR;
- b++;
- break;
- case _SLANG_BC_LITERAL_INT:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LINT;
- b++;
- break;
- case _SLANG_BC_LVARIABLE:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LVAR;
- b++;
- break;
- }
- break;
-
- case _SLANG_BC_INTRINSIC:
- b++;
- switch (b->bc_main_type)
- {
- case _SLANG_BC_CALL_DIRECT:
- (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_CALL_DIRECT;
- b++;
- break;
-#if 0
- case _SLANG_BC_BLOCK:
- (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_BLOCK;
- b++;
- break;
-#endif
-
- case 0:
- (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_STOP;
- return;
- }
- break;
- }
- }
-}
-
-#endif
-
-
-/* name will be NULL if the object is to simply terminate the function
- * definition. See SLang_restart.
- */
-static int lang_define_function (char *name, unsigned char type, unsigned long hash,
- SLang_NameSpace_Type *ns)
-{
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_FUNCTION)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Premature end of function");
- return -1;
- }
-
- /* terminate function */
- Compile_ByteCode_Ptr->bc_main_type = 0;
-
- if (name != NULL)
- {
- _SLBlock_Header_Type *h;
-
- h = (_SLBlock_Header_Type *)SLmalloc (sizeof (_SLBlock_Header_Type));
- if (h != NULL)
- {
- h->num_refs = 1;
- h->body = This_Compile_Block;
-
-#if USE_COMBINED_BYTECODES
- optimize_block (h->body);
-#endif
-
- if (-1 == add_slang_function (name, type, hash,
- Function_Args_Number,
- Local_Variable_Number,
-#if _SLANG_HAS_DEBUG_CODE
- This_Compile_Filename,
-#endif
- h, ns))
- SLfree ((char *) h);
- }
- /* Drop through for clean-up */
- }
-
- free_local_variable_table ();
-
- Function_Args_Number = 0;
- Lang_Defining_Function = 0;
-
- if (SLang_Error) return -1;
- /* SLang_restart will finish this if there is a slang error. */
-
- pop_block_context ();
-
- /* A function is only defined at top-level */
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_INTERNAL_ERROR, "Not at top-level");
- return -1;
- }
- Compile_ByteCode_Ptr = This_Compile_Block;
- return 0;
-}
-
-static void define_static_function (char *name, unsigned long hash)
-{
- (void) lang_define_function (name, SLANG_FUNCTION, hash, This_Static_NameSpace);
-}
-
-static void define_private_function (char *name, unsigned long hash)
-{
- (void) lang_define_function (name, SLANG_PFUNCTION, hash, This_Static_NameSpace);
-}
-
-static void define_public_function (char *name, unsigned long hash)
-{
- (void) lang_define_function (name, SLANG_FUNCTION, hash, Global_NameSpace);
-}
-
-static void lang_end_block (void)
-{
- SLBlock_Type *node, *branch;
- unsigned char mtype;
-
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Not defining a block");
- return;
- }
-
- /* terminate the block */
- Compile_ByteCode_Ptr->bc_main_type = 0;
- branch = This_Compile_Block;
-
- /* Try to save some space by using the cached blocks. */
- if (Compile_ByteCode_Ptr == branch + 1)
- {
- mtype = branch->bc_main_type;
- if (((mtype == _SLANG_BC_BREAK)
- || (mtype == _SLANG_BC_CONTINUE)
- || (mtype == _SLANG_BC_RETURN))
- && (SLang_Error == 0))
- {
- SLfree ((char *)branch);
- branch = SLShort_Blocks + 2 * (int) (mtype - _SLANG_BC_RETURN);
- }
- }
-
-#if USE_COMBINED_BYTECODES
- optimize_block (branch);
-#endif
-
- pop_block_context ();
- node = Compile_ByteCode_Ptr++;
-
- node->bc_main_type = _SLANG_BC_BLOCK;
- node->bc_sub_type = 0;
- node->b.blk = branch;
-}
-
-static int lang_begin_block (void)
-{
- return push_block_context (COMPILE_BLOCK_TYPE_BLOCK);
-}
-
-static int lang_check_space (void)
-{
- unsigned int n;
- SLBlock_Type *p;
-
- if (NULL == (p = This_Compile_Block))
- {
- SLang_verror (SL_INTERNAL_ERROR, "Top-level block not present");
- return -1;
- }
-
- /* Allow 1 extra for terminator */
- if (Compile_ByteCode_Ptr + 1 < This_Compile_Block_Max)
- return 0;
-
- n = (unsigned int) (This_Compile_Block_Max - p);
-
- /* enlarge the space by 2 objects */
- n += 2;
-
- if (NULL == (p = (SLBlock_Type *) SLrealloc((char *)p, n * sizeof(SLBlock_Type))))
- return -1;
-
- This_Compile_Block_Max = p + n;
- n = (unsigned int) (Compile_ByteCode_Ptr - This_Compile_Block);
- This_Compile_Block = p;
- Compile_ByteCode_Ptr = p + n;
-
- return 0;
-}
-
-/* returns positive number if name is a function or negative number if it
- is a variable. If it is intrinsic, it returns magnitude of 1, else 2 */
-int SLang_is_defined(char *name)
-{
- SLang_Name_Type *t;
-
- if (-1 == init_interpreter ())
- return -1;
-
- t = locate_namespace_encoded_name (name, 0);
- if (t == NULL)
- return 0;
-
- switch (t->name_type)
- {
- case SLANG_FUNCTION:
- /* case SLANG_PFUNCTION: */
- return 2;
- case SLANG_GVARIABLE:
- /* case SLANG_PVARIABLE: */
- return -2;
-
- case SLANG_ICONSTANT:
- case SLANG_DCONSTANT:
- case SLANG_RVARIABLE:
- case SLANG_IVARIABLE:
- return -1;
-
- case SLANG_INTRINSIC:
- default:
- return 1;
- }
-}
-
-static int add_global_variable (char *name, char name_type, unsigned long hash,
- SLang_NameSpace_Type *ns)
-{
- SLang_Name_Type *g;
-
- /* Note the importance of checking if it is already defined or not. For example,
- * suppose X is defined as an intrinsic variable. Then S-Lang code like:
- * !if (is_defined("X")) { variable X; }
- * will not result in a global variable X. On the other hand, this would
- * not be an issue if 'variable' statements always were not processed
- * immediately. That is, as it is now, 'if (0) {variable ZZZZ;}' will result
- * in the variable ZZZZ being defined because of the immediate processing.
- * The current solution is to do: if (0) { eval("variable ZZZZ;"); }
- */
- /* hash = _SLcompute_string_hash (name); */
- g = locate_name_in_table (name, hash, ns->table, ns->table_size);
-
- if (g != NULL)
- {
- if (g->name_type == name_type)
- return 0;
- }
-
- if (NULL == add_global_name (name, hash, name_type,
- sizeof (SLang_Global_Var_Type), ns))
- return -1;
-
- return 0;
-}
-
-int SLadd_global_variable (char *name)
-{
- if (-1 == init_interpreter ())
- return -1;
-
- return add_global_variable (name, SLANG_GVARIABLE,
- _SLcompute_string_hash (name),
- Global_NameSpace);
-}
-
-static int add_local_variable (char *name, unsigned long hash)
-{
- SLang_Local_Var_Type *t;
-
- /* local variable */
- if (Local_Variable_Number >= SLANG_MAX_LOCAL_VARIABLES)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Too many local variables");
- return -1;
- }
-
- if (NULL != locate_name_in_table (name, hash, Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE))
- {
- SLang_verror (SL_SYNTAX_ERROR, "Local variable %s has already been defined", name);
- return -1;
- }
-
- t = (SLang_Local_Var_Type *)
- add_name_to_hash_table (name, hash,
- sizeof (SLang_Local_Var_Type), SLANG_LVARIABLE,
- Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE, 0);
- if (t == NULL)
- return -1;
-
- t->local_var_number = Local_Variable_Number;
- Local_Variable_Number++;
- return 0;
-}
-
-static void (*Compile_Mode_Function) (_SLang_Token_Type *);
-static void compile_basic_token_mode (_SLang_Token_Type *);
-
-/* if an error occurs, discard current object, block, function, etc... */
-void SLang_restart (int localv)
-{
- int save = SLang_Error;
-
- SLang_Error = SL_UNKNOWN_ERROR;
-
- _SLcompile_ptr = _SLcompile;
- Compile_Mode_Function = compile_basic_token_mode;
-
- Lang_Break = /* Lang_Continue = */ Lang_Return = 0;
- Trace_Mode = 0;
-
- while (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_BLOCK)
- lang_end_block();
-
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_FUNCTION)
- {
- /* Terminate function definition and free variables */
- lang_define_function (NULL, SLANG_FUNCTION, 0, Global_NameSpace);
- if (lang_free_branch (This_Compile_Block))
- SLfree((char *)This_Compile_Block);
- }
- Lang_Defining_Function = 0;
-
- SLang_Error = save;
-
- if (SLang_Error == SL_STACK_OVERFLOW)
- {
- /* This loop guarantees that the stack is properly cleaned. */
- while (_SLStack_Pointer != _SLRun_Stack)
- {
- SLdo_pop ();
- }
- }
-
- while ((This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- && (0 == pop_block_context ()))
- ;
-
- if (localv)
- {
- Next_Function_Num_Args = SLang_Num_Function_Args = 0;
- Local_Variable_Frame = Local_Variable_Stack;
- Recursion_Depth = 0;
- Frame_Pointer = _SLStack_Pointer;
- Frame_Pointer_Depth = 0;
- Switch_Obj_Ptr = Switch_Objects;
- while (Switch_Obj_Ptr < Switch_Obj_Max)
- {
- SLang_free_object (Switch_Obj_Ptr);
- Switch_Obj_Ptr++;
- }
- Switch_Obj_Ptr = Switch_Objects;
- }
-}
-
-static void compile_directive (unsigned char sub_type)
-{
- /* This function is called only from compile_directive_mode which is
- * only possible when a block is available.
- */
-
- /* use BLOCK */
- Compile_ByteCode_Ptr--;
- Compile_ByteCode_Ptr->bc_sub_type = sub_type;
-
- lang_try_now ();
-}
-
-static void compile_unary (int op, unsigned char mt)
-{
- Compile_ByteCode_Ptr->bc_main_type = mt;
- Compile_ByteCode_Ptr->b.i_blk = op;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
-
- lang_try_now ();
-}
-
-
-static void compile_binary (int op)
-{
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_BINARY;
- Compile_ByteCode_Ptr->b.i_blk = op;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
-
- lang_try_now ();
-}
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
-static int try_compressed_bytecode (unsigned char last_bc, unsigned char bc)
-{
- if (Compile_ByteCode_Ptr != This_Compile_Block)
- {
- SLBlock_Type *b;
- b = Compile_ByteCode_Ptr - 1;
- if (b->bc_main_type == last_bc)
- {
- Compile_ByteCode_Ptr = b;
- b->bc_main_type = bc;
- lang_try_now ();
- return 0;
- }
- }
- return -1;
-}
-#endif
-
-static void compile_fast_binary (int op, unsigned char bc)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (0 == try_compressed_bytecode (_SLANG_BC_LITERAL_INT, bc))
- return;
-#else
- (void) bc;
-#endif
- compile_binary (op);
-}
-
-/* This is a hack */
-typedef struct _Special_NameTable_Type
-{
- char *name;
- int (*fun) (struct _Special_NameTable_Type *, _SLang_Token_Type *);
- VOID_STAR blk_data;
- unsigned char main_type;
-}
-Special_NameTable_Type;
-
-static int handle_special (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
-{
- (void) tok;
- Compile_ByteCode_Ptr->bc_main_type = nt->main_type;
- Compile_ByteCode_Ptr->b.ptr_blk = nt->blk_data;
- return 0;
-}
-
-static int handle_special_file (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
-{
- char *name;
-
- (void) nt; (void) tok;
-
- if (This_Static_NameSpace == NULL) name = "***Unknown***";
- else
- name = This_Static_NameSpace->name;
-
- name = SLang_create_slstring (name);
- if (name == NULL)
- return -1;
-
- Compile_ByteCode_Ptr->b.s_blk = name;
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL_STR;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_STRING_TYPE;
- return 0;
-}
-
-static int handle_special_line (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
-{
- (void) nt;
-
-#if _SLANG_HAS_DEBUG_CODE
- Compile_ByteCode_Ptr->b.l_blk = (long) tok->line_number;
-#endif
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_UINT_TYPE;
-
- return 0;
-}
-
-static Special_NameTable_Type Special_Name_Table [] =
-{
- {"EXECUTE_ERROR_BLOCK", handle_special, NULL, _SLANG_BC_X_ERROR},
- {"X_USER_BLOCK0", handle_special, NULL, _SLANG_BC_X_USER0},
- {"X_USER_BLOCK1", handle_special, NULL, _SLANG_BC_X_USER1},
- {"X_USER_BLOCK2", handle_special, NULL, _SLANG_BC_X_USER2},
- {"X_USER_BLOCK3", handle_special, NULL, _SLANG_BC_X_USER3},
- {"X_USER_BLOCK4", handle_special, NULL, _SLANG_BC_X_USER4},
- {"__FILE__", handle_special_file, NULL, 0},
- {"__LINE__", handle_special_line, NULL, 0},
-#if 0
- {"__NAMESPACE__", handle_special_namespace, NULL, 0},
-#endif
- {NULL, NULL, NULL, 0}
-};
-
-static void compile_hashed_identifier (char *name, unsigned long hash, _SLang_Token_Type *tok)
-{
- SLang_Name_Type *entry;
- unsigned char name_type;
-
- entry = locate_hashed_name (name, hash);
-
- if (entry == NULL)
- {
- Special_NameTable_Type *nt = Special_Name_Table;
-
- while (nt->name != NULL)
- {
- if (strcmp (name, nt->name))
- {
- nt++;
- continue;
- }
-
- if (0 == (*nt->fun)(nt, tok))
- lang_try_now ();
- return;
- }
-
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
-
- name_type = entry->name_type;
- Compile_ByteCode_Ptr->bc_main_type = name_type;
-
- if (name_type == SLANG_LVARIABLE)
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) entry)->local_var_number;
- else
- Compile_ByteCode_Ptr->b.nt_blk = entry;
-
- lang_try_now ();
-}
-
-static void compile_tmp_variable (char *name, unsigned long hash)
-{
- SLang_Name_Type *entry;
- unsigned char name_type;
-
- if (NULL == (entry = locate_hashed_name (name, hash)))
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
-
- name_type = entry->name_type;
- switch (name_type)
- {
- case SLANG_LVARIABLE:
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) entry)->local_var_number;
- break;
-
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- Compile_ByteCode_Ptr->b.nt_blk = entry;
- break;
-
- default:
- SLang_verror (SL_SYNTAX_ERROR, "__tmp(%s) does not specifiy a variable", name);
- return;
- }
-
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_TMP;
- Compile_ByteCode_Ptr->bc_sub_type = name_type;
-
- lang_try_now ();
-}
-
-static void compile_simple (unsigned char main_type)
-{
- Compile_ByteCode_Ptr->bc_main_type = main_type;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
- Compile_ByteCode_Ptr->b.blk = NULL;
- lang_try_now ();
-}
-
-static void compile_identifier (char *name, _SLang_Token_Type *tok)
-{
- compile_hashed_identifier (name, _SLcompute_string_hash (name), tok);
-}
-
-static void compile_call_direct (int (*f) (void), unsigned char byte_code)
-{
- Compile_ByteCode_Ptr->b.call_function = f;
- Compile_ByteCode_Ptr->bc_main_type = byte_code;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
- lang_try_now ();
-}
-
-static void compile_lvar_call_direct (int (*f)(void), unsigned char bc,
- unsigned char frame_op)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (0 == try_compressed_bytecode (_SLANG_BC_LVARIABLE, bc))
- return;
-#else
- (void) bc;
-#endif
-
- compile_call_direct (f, frame_op);
-}
-
-static void compile_integer (long i, unsigned char bc_main_type, unsigned char bc_sub_type)
-{
- Compile_ByteCode_Ptr->b.l_blk = i;
- Compile_ByteCode_Ptr->bc_main_type = bc_main_type;
- Compile_ByteCode_Ptr->bc_sub_type = bc_sub_type;
-
- lang_try_now ();
-}
-
-#if SLANG_HAS_FLOAT
-static void compile_double (char *str, unsigned char type)
-{
- double d;
- unsigned int factor = 1;
- double *ptr;
-
-#if 1
- d = _SLang_atof (str);
-#else
- if (1 != sscanf (str, "%lf", &d))
- {
- SLang_verror (SL_SYNTAX_ERROR, "Unable to convert %s to double", str);
- return;
- }
-#endif
-
-#if SLANG_HAS_COMPLEX
- if (type == SLANG_COMPLEX_TYPE) factor = 2;
-#endif
- if (NULL == (ptr = (double *) SLmalloc(factor * sizeof(double))))
- return;
-
- Compile_ByteCode_Ptr->b.double_blk = ptr;
-#if SLANG_HAS_COMPLEX
- if (type == SLANG_COMPLEX_TYPE)
- *ptr++ = 0;
-#endif
- *ptr = d;
-
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
- Compile_ByteCode_Ptr->bc_sub_type = type;
- lang_try_now ();
-}
-
-static void compile_float (char *s)
-{
- float x;
-
-#if 1
- x = (float) _SLang_atof (s);
-#else
- if (1 != sscanf (s, "%f", &x))
- {
- SLang_verror (SL_SYNTAX_ERROR, "Unable to convert %s to float", s);
- return;
- }
-#endif
- Compile_ByteCode_Ptr->b.float_blk = x;
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_FLOAT_TYPE;
- lang_try_now ();
-}
-
-#endif
-
-static void compile_string (char *s, unsigned long hash)
-{
- if (NULL == (Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string (s, hash)))
- return;
-
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL_STR;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_STRING_TYPE;
-
- lang_try_now ();
-}
-
-static void compile_bstring (SLang_BString_Type *s)
-{
- if (NULL == (Compile_ByteCode_Ptr->b.bs_blk = SLbstring_dup (s)))
- return;
-
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_BSTRING_TYPE;
-
- lang_try_now ();
-}
-
-/* assign_type is one of _SLANG_BCST_ASSIGN, ... values */
-static void compile_assign (unsigned char assign_type,
- char *name, unsigned long hash)
-{
- SLang_Name_Type *v;
- unsigned char main_type;
- SLang_Class_Type *cl;
-
- v = locate_hashed_name (name, hash);
- if (v == NULL)
- {
- if ((_SLang_Auto_Declare_Globals == 0)
- || (NULL != strchr (name, '-')) /* namespace->name form */
- || Lang_Defining_Function
- || (assign_type != _SLANG_BCST_ASSIGN)
- || (This_Static_NameSpace == NULL))
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
- /* Note that function local variables are not at top level */
-
- /* Variables that are automatically declared are given static
- * scope.
- */
- if ((NULL != SLang_Auto_Declare_Var_Hook)
- && (-1 == (*SLang_Auto_Declare_Var_Hook) (name)))
- return;
-
- if ((-1 == add_global_variable (name, SLANG_GVARIABLE, hash, This_Static_NameSpace))
- || (NULL == (v = locate_hashed_name (name, hash))))
- return;
- }
-
- switch (v->name_type)
- {
- case SLANG_LVARIABLE:
- main_type = _SLANG_BC_SET_LOCAL_LVALUE;
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) v)->local_var_number;
- break;
-
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- main_type = _SLANG_BC_SET_GLOBAL_LVALUE;
- Compile_ByteCode_Ptr->b.nt_blk = v;
- break;
-
- case SLANG_IVARIABLE:
- cl = _SLclass_get_class (((SLang_Intrin_Var_Type *)v)->type);
- if (cl->cl_class_type != SLANG_CLASS_TYPE_SCALAR)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Assignment to %s is not allowed", name);
- return;
- }
- main_type = _SLANG_BC_SET_INTRIN_LVALUE;
- Compile_ByteCode_Ptr->b.nt_blk = v;
- break;
-
- case SLANG_RVARIABLE:
- SLang_verror (SL_READONLY_ERROR, "%s is read-only", name);
- return;
-
- default:
- SLang_verror (SL_DUPLICATE_DEFINITION, "%s may not be used as an lvalue", name);
- return;
- }
-
- Compile_ByteCode_Ptr->bc_sub_type = assign_type;
- Compile_ByteCode_Ptr->bc_main_type = main_type;
-
- lang_try_now ();
-}
-
-static void compile_deref_assign (char *name, unsigned long hash)
-{
- SLang_Name_Type *v;
-
- v = locate_hashed_name (name, hash);
-
- if (v == NULL)
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
-
- switch (v->name_type)
- {
- case SLANG_LVARIABLE:
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) v)->local_var_number;
- break;
-
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- Compile_ByteCode_Ptr->b.nt_blk = v;
- break;
-
- default:
- /* FIXME: Priority=low
- * This could be made to work. It is not a priority because
- * I cannot imagine application intrinsics which are references.
- */
- SLang_verror (SL_NOT_IMPLEMENTED, "Deref assignment to %s is not allowed", name);
- return;
- }
-
- Compile_ByteCode_Ptr->bc_sub_type = v->name_type;
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_DEREF_ASSIGN;
-
- lang_try_now ();
-}
-
-static void
-compile_struct_assign (_SLang_Token_Type *t)
-{
- Compile_ByteCode_Ptr->bc_sub_type = _SLANG_BCST_ASSIGN + (t->type - _STRUCT_ASSIGN_TOKEN);
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_SET_STRUCT_LVALUE;
- Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string (t->v.s_val, t->hash);
- lang_try_now ();
-}
-
-static void
-compile_array_assign (_SLang_Token_Type *t)
-{
- Compile_ByteCode_Ptr->bc_sub_type = _SLANG_BCST_ASSIGN + (t->type - _ARRAY_ASSIGN_TOKEN);
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_SET_ARRAY_LVALUE;
- Compile_ByteCode_Ptr->b.s_blk = NULL;
- lang_try_now ();
-}
-
-static void compile_dot(_SLang_Token_Type *t)
-{
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_FIELD;
- Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string(t->v.s_val, t->hash);
- lang_try_now ();
-}
-
-static void compile_ref (char *name, unsigned long hash)
-{
- SLang_Name_Type *entry;
- unsigned char main_type;
-
- if (NULL == (entry = locate_hashed_name (name, hash)))
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
-
- main_type = entry->name_type;
-
- if (main_type == SLANG_LVARIABLE)
- {
- main_type = _SLANG_BC_LOBJPTR;
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *)entry)->local_var_number;
- }
- else
- {
- main_type = _SLANG_BC_GOBJPTR;
- Compile_ByteCode_Ptr->b.nt_blk = entry;
- }
-
- Compile_ByteCode_Ptr->bc_main_type = main_type;
- lang_try_now ();
-}
-
-static void compile_break (unsigned char break_type,
- int requires_block, int requires_fun,
- char *str)
-{
- if ((requires_fun
- && (Lang_Defining_Function == 0))
- || (requires_block
- && (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)))
- {
- SLang_verror (SL_SYNTAX_ERROR, "misplaced %s", str);
- return;
- }
-
- Compile_ByteCode_Ptr->bc_main_type = break_type;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
-
- lang_try_now ();
-}
-
-static void compile_public_variable_mode (_SLang_Token_Type *t)
-{
- if (t->type == IDENT_TOKEN)
- {
- /* If the variable is already defined in the static hash table,
- * generate an error.
- */
- if ((This_Static_NameSpace != NULL)
- && (NULL != locate_name_in_table (t->v.s_val, t->hash, This_Static_NameSpace->table, This_Static_NameSpace->table_size)))
- {
- SLang_verror (SL_DUPLICATE_DEFINITION,
- "%s already has static or private linkage in this unit",
- t->v.s_val);
- return;
- }
- add_global_variable (t->v.s_val, SLANG_GVARIABLE, t->hash, Global_NameSpace);
- }
- else if (t->type == CBRACKET_TOKEN)
- Compile_Mode_Function = compile_basic_token_mode;
- else
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
-}
-
-static void compile_local_variable_mode (_SLang_Token_Type *t)
-{
- if (t->type == IDENT_TOKEN)
- add_local_variable (t->v.s_val, t->hash);
- else if (t->type == CBRACKET_TOKEN)
- Compile_Mode_Function = compile_basic_token_mode;
- else
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
-}
-
-static void compile_static_variable_mode (_SLang_Token_Type *t)
-{
- if (t->type == IDENT_TOKEN)
- add_global_variable (t->v.s_val, SLANG_GVARIABLE, t->hash, This_Static_NameSpace);
- else if (t->type == CBRACKET_TOKEN)
- Compile_Mode_Function = compile_basic_token_mode;
- else
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
-}
-
-static void compile_private_variable_mode (_SLang_Token_Type *t)
-{
- if (t->type == IDENT_TOKEN)
- add_global_variable (t->v.s_val, SLANG_PVARIABLE, t->hash, This_Static_NameSpace);
- else if (t->type == CBRACKET_TOKEN)
- Compile_Mode_Function = compile_basic_token_mode;
- else
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
-}
-
-static void compile_function_mode (_SLang_Token_Type *t)
-{
- if (-1 == lang_check_space ())
- return;
-
- if (t->type != IDENT_TOKEN)
- SLang_verror (SL_SYNTAX_ERROR, "Expecting function name");
- else
- lang_define_function (t->v.s_val, SLANG_FUNCTION, t->hash, Global_NameSpace);
-
- Compile_Mode_Function = compile_basic_token_mode;
-}
-
-/* An error block is not permitted to contain continue or break statements.
- * This restriction may be removed later but for now reject them.
- */
-static int check_error_block (void)
-{
- SLBlock_Type *p;
- unsigned char t;
-
- /* Back up to the block and then scan it. */
- p = (Compile_ByteCode_Ptr - 1)->b.blk;
-
- while (0 != (t = p->bc_main_type))
- {
- if ((t == _SLANG_BC_BREAK)
- || (t == _SLANG_BC_CONTINUE))
- {
- SLang_verror (SL_SYNTAX_ERROR,
- "An ERROR_BLOCK is not permitted to contain continue or break statements");
- return -1;
- }
- p++;
- }
- return 0;
-}
-
-/* The only allowed tokens are the directives and another block start.
- * The mode is only active if a block is available. The inner_interp routine
- * expects such safety checks.
- */
-static void compile_directive_mode (_SLang_Token_Type *t)
-{
- int bc_sub_type;
-
- if (-1 == lang_check_space ())
- return;
-
- bc_sub_type = -1;
-
- switch (t->type)
- {
- case FOREVER_TOKEN:
- bc_sub_type = _SLANG_BCST_FOREVER;
- break;
-
- case IFNOT_TOKEN:
- bc_sub_type = _SLANG_BCST_IFNOT;
- break;
-
- case IF_TOKEN:
- bc_sub_type = _SLANG_BCST_IF;
- break;
-
- case ANDELSE_TOKEN:
- bc_sub_type = _SLANG_BCST_ANDELSE;
- break;
-
- case SWITCH_TOKEN:
- bc_sub_type = _SLANG_BCST_SWITCH;
- break;
-
- case EXITBLK_TOKEN:
- if (Lang_Defining_Function == 0)
- {
- SLang_verror (SL_SYNTAX_ERROR, "misplaced EXIT_BLOCK");
- break;
- }
- bc_sub_type = _SLANG_BCST_EXIT_BLOCK;
- break;
-
- case ERRBLK_TOKEN:
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_SYNTAX_ERROR, "misplaced ERROR_BLOCK");
- break;
- }
- if (0 == check_error_block ())
- bc_sub_type = _SLANG_BCST_ERROR_BLOCK;
- break;
-
- case USRBLK0_TOKEN:
- case USRBLK1_TOKEN:
- case USRBLK2_TOKEN:
- case USRBLK3_TOKEN:
- case USRBLK4_TOKEN:
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_SYNTAX_ERROR, "misplaced USER_BLOCK");
- break;
- }
- bc_sub_type = _SLANG_BCST_USER_BLOCK0 + (t->type - USRBLK0_TOKEN);
- break;
-
- case NOTELSE_TOKEN:
- bc_sub_type = _SLANG_BCST_NOTELSE;
- break;
-
- case ELSE_TOKEN:
- bc_sub_type = _SLANG_BCST_ELSE;
- break;
-
- case LOOP_TOKEN:
- bc_sub_type = _SLANG_BCST_LOOP;
- break;
-
- case DOWHILE_TOKEN:
- bc_sub_type = _SLANG_BCST_DOWHILE;
- break;
-
- case WHILE_TOKEN:
- bc_sub_type = _SLANG_BCST_WHILE;
- break;
-
- case ORELSE_TOKEN:
- bc_sub_type = _SLANG_BCST_ORELSE;
- break;
-
- case _FOR_TOKEN:
- bc_sub_type = _SLANG_BCST_FOR;
- break;
-
- case FOR_TOKEN:
- bc_sub_type = _SLANG_BCST_CFOR;
- break;
-
- case FOREACH_TOKEN:
- bc_sub_type = _SLANG_BCST_FOREACH;
- break;
-
- case OBRACE_TOKEN:
- lang_begin_block ();
- break;
-
- default:
- SLang_verror (SL_SYNTAX_ERROR, "Expecting directive token. Found 0x%X", t->type);
- break;
- }
-
- /* Reset this pointer first because compile_directive may cause a
- * file to be loaded.
- */
- Compile_Mode_Function = compile_basic_token_mode;
-
- if (bc_sub_type != -1)
- compile_directive (bc_sub_type);
-}
-
-static unsigned int Assign_Mode_Type;
-static void compile_assign_mode (_SLang_Token_Type *t)
-{
- if (t->type != IDENT_TOKEN)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Expecting identifier for assignment");
- return;
- }
-
- compile_assign (Assign_Mode_Type, t->v.s_val, t->hash);
- Compile_Mode_Function = compile_basic_token_mode;
-}
-
-static void compile_basic_token_mode (_SLang_Token_Type *t)
-{
- if (-1 == lang_check_space ())
- return;
-
- switch (t->type)
- {
- case PUSH_TOKEN:
- case NOP_TOKEN:
- case EOF_TOKEN:
- case READONLY_TOKEN:
- case DO_TOKEN:
- case VARIABLE_TOKEN:
- case SEMICOLON_TOKEN:
- default:
- SLang_verror (SL_SYNTAX_ERROR, "Unknown or unsupported token type 0x%X", t->type);
- break;
-
- case DEREF_TOKEN:
- compile_call_direct (dereference_object, _SLANG_BC_CALL_DIRECT);
- break;
-
- case STRUCT_TOKEN:
- compile_call_direct (_SLstruct_define_struct, _SLANG_BC_CALL_DIRECT);
- break;
-
- case TYPEDEF_TOKEN:
- compile_call_direct (_SLstruct_define_typedef, _SLANG_BC_CALL_DIRECT);
- break;
-
- case TMP_TOKEN:
- compile_tmp_variable (t->v.s_val, t->hash);
- break;
-
- case DOT_TOKEN: /* X . field */
- compile_dot (t);
- break;
-
- case COMMA_TOKEN:
- break; /* do nothing */
-
- case IDENT_TOKEN:
- compile_hashed_identifier (t->v.s_val, t->hash, t);
- break;
-
- case _REF_TOKEN:
- compile_ref (t->v.s_val, t->hash);
- break;
-
- case ARG_TOKEN:
- compile_call_direct (SLang_start_arg_list, _SLANG_BC_CALL_DIRECT);
- break;
-
- case EARG_TOKEN:
- compile_lvar_call_direct (SLang_end_arg_list, _SLANG_BC_EARG_LVARIABLE, _SLANG_BC_CALL_DIRECT);
- break;
-
- case COLON_TOKEN:
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_BLOCK)
- compile_simple (_SLANG_BC_LABEL);
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case POP_TOKEN:
- compile_call_direct (SLdo_pop, _SLANG_BC_CALL_DIRECT);
- break;
-
- case CASE_TOKEN:
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced 'case'");
- else
- compile_call_direct (case_function, _SLANG_BC_CALL_DIRECT);
- break;
-
- case CHAR_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_CHAR_TYPE);
- break;
- case SHORT_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_SHORT_TYPE);
- break;
- case INT_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL_INT, SLANG_INT_TYPE);
- break;
- case UCHAR_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_UCHAR_TYPE);
- break;
- case USHORT_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_USHORT_TYPE);
- break;
- case UINT_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL_INT, SLANG_UINT_TYPE);
- break;
- case LONG_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_LONG_TYPE);
- break;
- case ULONG_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_ULONG_TYPE);
- break;
-
-#if SLANG_HAS_FLOAT
- case FLOAT_TOKEN:
- compile_float (t->v.s_val);
- break;
-
- case DOUBLE_TOKEN:
- compile_double (t->v.s_val, SLANG_DOUBLE_TYPE);
- break;
-#endif
-#if SLANG_HAS_COMPLEX
- case COMPLEX_TOKEN:
- compile_double (t->v.s_val, SLANG_COMPLEX_TYPE);
- break;
-#endif
-
- case STRING_TOKEN:
- compile_string (t->v.s_val, t->hash);
- break;
-
- case _BSTRING_TOKEN:
- compile_bstring (SLbstring_create ((unsigned char *)t->v.s_val, (unsigned int) t->hash));
- break;
-
- case BSTRING_TOKEN:
- compile_bstring (t->v.b_val);
- break;
-
- case _NULL_TOKEN:
- compile_identifier ("NULL", t);
- break;
-
- case _INLINE_WILDCARD_ARRAY_TOKEN:
- compile_call_direct (_SLarray_wildcard_array, _SLANG_BC_CALL_DIRECT);
- break;
-
- case _INLINE_ARRAY_TOKEN:
- compile_call_direct (_SLarray_inline_array, _SLANG_BC_CALL_DIRECT_FRAME);
- break;
-
- case _INLINE_IMPLICIT_ARRAY_TOKEN:
- compile_call_direct (_SLarray_inline_implicit_array, _SLANG_BC_CALL_DIRECT_FRAME);
- break;
-
- case ARRAY_TOKEN:
- compile_lvar_call_direct (_SLarray_aget, _SLANG_BC_LVARIABLE_AGET, _SLANG_BC_CALL_DIRECT_FRAME);
- break;
-
- /* Note: I need to add the other _ARRAY assign tokens. */
- case _ARRAY_PLUSEQS_TOKEN:
- case _ARRAY_MINUSEQS_TOKEN:
- case _ARRAY_TIMESEQS_TOKEN:
- case _ARRAY_DIVEQS_TOKEN:
- case _ARRAY_BOREQS_TOKEN:
- case _ARRAY_BANDEQS_TOKEN:
- case _ARRAY_POST_MINUSMINUS_TOKEN:
- case _ARRAY_MINUSMINUS_TOKEN:
- case _ARRAY_POST_PLUSPLUS_TOKEN:
- case _ARRAY_PLUSPLUS_TOKEN:
- compile_array_assign (t);
- break;
-
- case _ARRAY_ASSIGN_TOKEN:
- compile_lvar_call_direct (_SLarray_aput, _SLANG_BC_LVARIABLE_APUT, _SLANG_BC_CALL_DIRECT_FRAME);
- break;
-
- case _STRUCT_ASSIGN_TOKEN:
- case _STRUCT_PLUSEQS_TOKEN:
- case _STRUCT_MINUSEQS_TOKEN:
- case _STRUCT_TIMESEQS_TOKEN:
- case _STRUCT_DIVEQS_TOKEN:
- case _STRUCT_BOREQS_TOKEN:
- case _STRUCT_BANDEQS_TOKEN:
- case _STRUCT_POST_MINUSMINUS_TOKEN:
- case _STRUCT_MINUSMINUS_TOKEN:
- case _STRUCT_POST_PLUSPLUS_TOKEN:
- case _STRUCT_PLUSPLUS_TOKEN:
- compile_struct_assign (t);
- break;
-
- case _SCALAR_ASSIGN_TOKEN:
- case _SCALAR_PLUSEQS_TOKEN:
- case _SCALAR_MINUSEQS_TOKEN:
- case _SCALAR_TIMESEQS_TOKEN:
- case _SCALAR_DIVEQS_TOKEN:
- case _SCALAR_BOREQS_TOKEN:
- case _SCALAR_BANDEQS_TOKEN:
- case _SCALAR_POST_MINUSMINUS_TOKEN:
- case _SCALAR_MINUSMINUS_TOKEN:
- case _SCALAR_POST_PLUSPLUS_TOKEN:
- case _SCALAR_PLUSPLUS_TOKEN:
- compile_assign (_SLANG_BCST_ASSIGN + (t->type - _SCALAR_ASSIGN_TOKEN),
- t->v.s_val, t->hash);
- break;
-
- case _DEREF_ASSIGN_TOKEN:
- compile_deref_assign (t->v.s_val, t->hash);
- break;
-
- /* For processing RPN tokens */
- case ASSIGN_TOKEN:
- case PLUSEQS_TOKEN:
- case MINUSEQS_TOKEN:
- case TIMESEQS_TOKEN:
- case DIVEQS_TOKEN:
- case BOREQS_TOKEN:
- case BANDEQS_TOKEN:
- case POST_MINUSMINUS_TOKEN:
- case MINUSMINUS_TOKEN:
- case POST_PLUSPLUS_TOKEN:
- case PLUSPLUS_TOKEN:
- Compile_Mode_Function = compile_assign_mode;
- Assign_Mode_Type = _SLANG_BCST_ASSIGN + (t->type - ASSIGN_TOKEN);
- break;
-
- case LT_TOKEN:
- compile_binary (SLANG_LT);
- break;
-
- case LE_TOKEN:
- compile_binary (SLANG_LE);
- break;
-
- case GT_TOKEN:
- compile_binary (SLANG_GT);
- break;
-
- case GE_TOKEN:
- compile_binary (SLANG_GE);
- break;
-
- case EQ_TOKEN:
- compile_binary (SLANG_EQ);
- break;
-
- case NE_TOKEN:
- compile_binary (SLANG_NE);
- break;
-
- case AND_TOKEN:
- compile_binary (SLANG_AND);
- break;
-
- case ADD_TOKEN:
- compile_fast_binary (SLANG_PLUS, _SLANG_BC_INTEGER_PLUS);
- break;
-
- case SUB_TOKEN:
- compile_fast_binary (SLANG_MINUS, _SLANG_BC_INTEGER_MINUS);
- break;
-
- case TIMES_TOKEN:
- compile_binary (SLANG_TIMES);
- break;
-
- case DIV_TOKEN:
- compile_binary (SLANG_DIVIDE);
- break;
-
- case POW_TOKEN:
- compile_binary (SLANG_POW);
- break;
-
- case BXOR_TOKEN:
- compile_binary (SLANG_BXOR);
- break;
-
- case BAND_TOKEN:
- compile_binary (SLANG_BAND);
- break;
-
- case BOR_TOKEN:
- compile_binary (SLANG_BOR);
- break;
-
- case SHR_TOKEN:
- compile_binary (SLANG_SHR);
- break;
-
- case SHL_TOKEN:
- compile_binary (SLANG_SHL);
- break;
-
- case MOD_TOKEN:
- compile_binary (SLANG_MOD);
- break;
-
- case OR_TOKEN:
- compile_binary (SLANG_OR);
- break;
-
- case NOT_TOKEN:
- compile_unary (SLANG_NOT, _SLANG_BC_UNARY);
- break;
-
- case BNOT_TOKEN:
- compile_unary (SLANG_BNOT, _SLANG_BC_UNARY);
- break;
-
- case MUL2_TOKEN:
- compile_unary (SLANG_MUL2, _SLANG_BC_UNARY_FUNC);
- break;
-
- case CHS_TOKEN:
- compile_unary (SLANG_CHS, _SLANG_BC_UNARY_FUNC);
- break;
-
- case ABS_TOKEN:
- compile_unary (SLANG_ABS, _SLANG_BC_UNARY_FUNC);
- break;
-
- case SQR_TOKEN:
- compile_unary (SLANG_SQR, _SLANG_BC_UNARY_FUNC);
- break;
-
- case SIGN_TOKEN:
- compile_unary (SLANG_SIGN, _SLANG_BC_UNARY_FUNC);
- break;
-
- case BREAK_TOKEN:
- compile_break (_SLANG_BC_BREAK, 1, 0, "break");
- break;
-
- case RETURN_TOKEN:
- compile_break (_SLANG_BC_RETURN, 0, 1, "return");
- break;
-
- case CONT_TOKEN:
- compile_break (_SLANG_BC_CONTINUE, 1, 0, "continue");
- break;
-
- case EXCH_TOKEN:
- compile_break (_SLANG_BC_EXCH, 0, 0, ""); /* FIXME: Priority=low */
- break;
-
- case STATIC_TOKEN:
- if (Lang_Defining_Function == 0)
- Compile_Mode_Function = compile_static_variable_mode;
- else
- SLang_verror (SL_NOT_IMPLEMENTED, "static variables not permitted in functions");
- break;
-
- case PRIVATE_TOKEN:
- if (Lang_Defining_Function == 0)
- Compile_Mode_Function = compile_private_variable_mode;
- else
- SLang_verror (SL_NOT_IMPLEMENTED, "private variables not permitted in functions");
- break;
-
- case PUBLIC_TOKEN:
- if (Lang_Defining_Function == 0)
- Compile_Mode_Function = compile_public_variable_mode;
- else
- SLang_verror (SL_NOT_IMPLEMENTED, "public variables not permitted in functions");
- break;
-
- case OBRACKET_TOKEN:
- if (Lang_Defining_Function == 0)
- Compile_Mode_Function = Default_Variable_Mode;
- else
- Compile_Mode_Function = compile_local_variable_mode;
- break;
-
- case OPAREN_TOKEN:
- lang_begin_function ();
- break;
-
- case DEFINE_STATIC_TOKEN:
- if (Lang_Defining_Function)
- define_static_function (t->v.s_val, t->hash);
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case DEFINE_PRIVATE_TOKEN:
- if (Lang_Defining_Function)
- define_private_function (t->v.s_val, t->hash);
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case DEFINE_PUBLIC_TOKEN:
- if (Lang_Defining_Function)
- define_public_function (t->v.s_val, t->hash);
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case DEFINE_TOKEN:
- if (Lang_Defining_Function)
- (*Default_Define_Function) (t->v.s_val, t->hash);
- else
- SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case CPAREN_TOKEN:
- if (Lang_Defining_Function)
- Compile_Mode_Function = compile_function_mode;
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case CBRACE_TOKEN:
- lang_end_block ();
- Compile_Mode_Function = compile_directive_mode;
- break;
-
- case OBRACE_TOKEN:
- lang_begin_block ();
- break;
-
- case FARG_TOKEN:
- Function_Args_Number = Local_Variable_Number;
- break;
-
-#if _SLANG_HAS_DEBUG_CODE
- case LINE_NUM_TOKEN:
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LINE_NUM;
- Compile_ByteCode_Ptr->b.l_blk = t->v.long_val;
- lang_try_now ();
- break;
-#endif
- case POUND_TOKEN:
- compile_call_direct (_SLarray_matrix_multiply, _SLANG_BC_CALL_DIRECT);
- break;
- }
-}
-
-void _SLcompile (_SLang_Token_Type *t)
-{
- if (SLang_Error == 0)
- {
- if (Compile_Mode_Function != compile_basic_token_mode)
- {
- if (Compile_Mode_Function == NULL)
- Compile_Mode_Function = compile_basic_token_mode;
-#if _SLANG_HAS_DEBUG_CODE
- if (t->type == LINE_NUM_TOKEN)
- {
- compile_basic_token_mode (t);
- return;
- }
-#endif
- }
-
- (*Compile_Mode_Function) (t);
- }
-
- if (SLang_Error)
- {
- Compile_Mode_Function = compile_basic_token_mode;
- SLang_restart (0);
- }
-}
-
-void (*_SLcompile_ptr)(_SLang_Token_Type *) = _SLcompile;
-
-typedef struct _Compile_Context_Type
-{
- struct _Compile_Context_Type *next;
- SLang_NameSpace_Type *static_namespace;
- void (*compile_variable_mode) (_SLang_Token_Type *);
- void (*define_function) (char *, unsigned long);
- int lang_defining_function;
- int local_variable_number;
- unsigned int function_args_number;
- SLang_Name_Type **locals_hash_table;
- void (*compile_mode_function)(_SLang_Token_Type *);
-#if _SLANG_HAS_DEBUG_CODE
- char *compile_filename;
-#endif
-}
-Compile_Context_Type;
-
-static Compile_Context_Type *Compile_Context_Stack;
-
-/* The only way the push/pop_context functions can get called is via
- * an eval type function. That can only happen when executed from a
- * top level block. This means that Compile_ByteCode_Ptr can always be
- * rest back to the beginning of a block.
- */
-
-static int pop_compile_context (void)
-{
- Compile_Context_Type *cc;
-
- if (NULL == (cc = Compile_Context_Stack))
- return -1;
-
- This_Static_NameSpace = cc->static_namespace;
- Compile_Context_Stack = cc->next;
- Default_Variable_Mode = cc->compile_variable_mode;
- Default_Define_Function = cc->define_function;
- Compile_Mode_Function = cc->compile_mode_function;
-
- Lang_Defining_Function = cc->lang_defining_function;
- Local_Variable_Number = cc->local_variable_number;
- Function_Args_Number = cc->function_args_number;
-
-#if _SLANG_HAS_DEBUG_CODE
- SLang_free_slstring (This_Compile_Filename);
- This_Compile_Filename = cc->compile_filename;
-#endif
-
- SLfree ((char *) Locals_Hash_Table);
- Locals_Hash_Table = cc->locals_hash_table;
-
- SLfree ((char *) cc);
-
- return 0;
-}
-
-static int push_compile_context (char *name)
-{
- Compile_Context_Type *cc;
- SLang_Name_Type **lns;
-
- cc = (Compile_Context_Type *)SLmalloc (sizeof (Compile_Context_Type));
- if (cc == NULL)
- return -1;
- memset ((char *) cc, 0, sizeof (Compile_Context_Type));
-
- lns = (SLang_Name_Type **) SLcalloc (sizeof (SLang_Name_Type *), SLLOCALS_HASH_TABLE_SIZE);
- if (lns == NULL)
- {
- SLfree ((char *) cc);
- return -1;
- }
-
-#if _SLANG_HAS_DEBUG_CODE
- if ((name != NULL)
- && (NULL == (name = SLang_create_slstring (name))))
- {
- SLfree ((char *) cc);
- SLfree ((char *) lns);
- return -1;
- }
-
- cc->compile_filename = This_Compile_Filename;
- This_Compile_Filename = name;
-#endif
-
- cc->static_namespace = This_Static_NameSpace;
- cc->compile_variable_mode = Default_Variable_Mode;
- cc->define_function = Default_Define_Function;
- cc->locals_hash_table = Locals_Hash_Table;
-
- cc->lang_defining_function = Lang_Defining_Function;
- cc->local_variable_number = Local_Variable_Number;
- cc->function_args_number = Function_Args_Number;
- cc->locals_hash_table = Locals_Hash_Table;
- cc->compile_mode_function = Compile_Mode_Function;
-
- cc->next = Compile_Context_Stack;
- Compile_Context_Stack = cc;
-
- Compile_Mode_Function = compile_basic_token_mode;
- Default_Variable_Mode = compile_public_variable_mode;
- Default_Define_Function = define_public_function;
- Lang_Defining_Function = 0;
- Local_Variable_Number = 0;
- Function_Args_Number = 0;
- Locals_Hash_Table = lns;
- return 0;
-}
-
-static int init_interpreter (void)
-{
- SLang_NameSpace_Type *ns;
-
- if (Global_NameSpace != NULL)
- return 0;
-
- if (NULL == (ns = _SLns_allocate_namespace ("***GLOBAL***", SLGLOBALS_HASH_TABLE_SIZE)))
- return -1;
- if (-1 == _SLns_set_namespace_name (ns, "Global"))
- return -1;
- Global_NameSpace = ns;
-
- _SLRun_Stack = (SLang_Object_Type *) SLcalloc (SLANG_MAX_STACK_LEN,
- sizeof (SLang_Object_Type));
- if (_SLRun_Stack == NULL)
- return -1;
-
- _SLStack_Pointer = _SLRun_Stack;
- _SLStack_Pointer_Max = _SLRun_Stack + SLANG_MAX_STACK_LEN;
-
- SLShort_Blocks[0].bc_main_type = _SLANG_BC_RETURN;
- SLShort_Blocks[2].bc_main_type = _SLANG_BC_BREAK;
- SLShort_Blocks[4].bc_main_type = _SLANG_BC_CONTINUE;
-
- Num_Args_Stack = (int *) SLmalloc (sizeof (int) * SLANG_MAX_RECURSIVE_DEPTH);
- if (Num_Args_Stack == NULL)
- {
- SLfree ((char *) _SLRun_Stack);
- return -1;
- }
- Recursion_Depth = 0;
- Frame_Pointer_Stack = (unsigned int *) SLmalloc (sizeof (unsigned int) * SLANG_MAX_RECURSIVE_DEPTH);
- if (Frame_Pointer_Stack == NULL)
- {
- SLfree ((char *) _SLRun_Stack);
- SLfree ((char *)Num_Args_Stack);
- return -1;
- }
- Frame_Pointer_Depth = 0;
- Frame_Pointer = _SLRun_Stack;
-
- Default_Variable_Mode = compile_public_variable_mode;
- Default_Define_Function = define_public_function;
- return 0;
-}
-
-static int add_generic_table (SLang_NameSpace_Type *ns,
- SLang_Name_Type *table, char *pp_name,
- unsigned int entry_len)
-{
- SLang_Name_Type *t, **ns_table;
- char *name;
- unsigned int table_size;
-
- if (-1 == init_interpreter ())
- return -1;
-
- if (ns == NULL)
- ns = Global_NameSpace;
-
- ns_table = ns->table;
- table_size = ns->table_size;
-
- if ((pp_name != NULL)
- && (-1 == SLdefine_for_ifdef (pp_name)))
- return -1;
-
- t = table;
- while (NULL != (name = t->name))
- {
- unsigned long hash;
-
- /* Backward compatibility: '.' WAS used as hash marker */
- if (*name == '.')
- {
- name++;
- t->name = name;
- }
-
- if (NULL == (name = SLang_create_slstring (name)))
- return -1;
-
- t->name = name;
-
- hash = _SLcompute_string_hash (name);
- hash = hash % table_size;
-
- t->next = ns_table [(unsigned int) hash];
- ns_table [(unsigned int) hash] = t;
-
- t = (SLang_Name_Type *) ((char *)t + entry_len);
- }
-
- return 0;
-}
-
-int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Fun_Type));
-}
-
-int SLadd_intrin_var_table (SLang_Intrin_Var_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Var_Type));
-}
-
-int SLadd_app_unary_table (SLang_App_Unary_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_App_Unary_Type));
-}
-
-int SLadd_math_unary_table (SLang_Math_Unary_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Math_Unary_Type));
-}
-
-int SLadd_iconstant_table (SLang_IConstant_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_IConstant_Type));
-}
-
-#if SLANG_HAS_FLOAT
-int SLadd_dconstant_table (SLang_DConstant_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_DConstant_Type));
-}
-#endif
-
-/* ----------- */
-int SLns_add_intrin_fun_table (SLang_NameSpace_Type *ns, SLang_Intrin_Fun_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Fun_Type));
-}
-
-int SLns_add_intrin_var_table (SLang_NameSpace_Type *ns, SLang_Intrin_Var_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Var_Type));
-}
-
-int SLns_add_app_unary_table (SLang_NameSpace_Type *ns, SLang_App_Unary_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_App_Unary_Type));
-}
-
-int SLns_add_math_unary_table (SLang_NameSpace_Type *ns, SLang_Math_Unary_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Math_Unary_Type));
-}
-
-int SLns_add_iconstant_table (SLang_NameSpace_Type *ns, SLang_IConstant_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_IConstant_Type));
-}
-
-#if SLANG_HAS_FLOAT
-int SLns_add_dconstant_table (SLang_NameSpace_Type *ns, SLang_DConstant_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_DConstant_Type));
-}
-#endif
-
-/* what is a bitmapped value:
- * 1 intrin fun
- * 2 user fun
- * 4 intrin var
- * 8 user defined var
- */
-SLang_Array_Type *_SLang_apropos (char *namespace_name, char *pat, unsigned int what)
-{
- SLang_NameSpace_Type *ns;
-
- if (namespace_name == NULL)
- namespace_name = "Global";
-
- if (*namespace_name == 0)
- ns = This_Static_NameSpace;
- else ns = _SLns_find_namespace (namespace_name);
-
- return _SLnspace_apropos (ns, pat, what);
-}
-
-void _SLang_implements_intrinsic (char *name)
-{
- if (This_Static_NameSpace == NULL)
- {
- SLang_verror (SL_INTRINSIC_ERROR, "No namespace available");
- return;
- }
-
- (void) _SLns_set_namespace_name (This_Static_NameSpace, name);
-
- Default_Define_Function = define_static_function;
- Default_Variable_Mode = compile_static_variable_mode;
-}
-
-void _SLang_use_namespace_intrinsic (char *name)
-{
- SLang_NameSpace_Type *ns;
-
- if (NULL == (ns = _SLns_find_namespace (name)))
- {
- SLang_verror (SL_INTRINSIC_ERROR, "Namespace %s does not exist", name);
- return;
- }
- This_Static_NameSpace = ns;
- if (Global_NameSpace == ns)
- {
- Default_Define_Function = define_public_function;
- Default_Variable_Mode = compile_public_variable_mode;
- }
- else
- {
- Default_Define_Function = define_static_function;
- Default_Variable_Mode = compile_static_variable_mode;
- }
-}
-
-
-char *_SLang_cur_namespace_intrinsic (void)
-{
- if (This_Static_NameSpace == NULL)
- return "Global";
-
- if (This_Static_NameSpace->namespace_name == NULL)
- return "";
-
- return This_Static_NameSpace->namespace_name;
-}
diff --git a/mdk-stage1/slang/slang.h b/mdk-stage1/slang/slang.h
deleted file mode 100644
index 900b14043..000000000
--- a/mdk-stage1/slang/slang.h
+++ /dev/null
@@ -1,1930 +0,0 @@
-#ifndef DAVIS_SLANG_H_
-#define DAVIS_SLANG_H_
-/* -*- mode: C; mode: fold; -*- */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#define SLANG_VERSION 10404
-#define SLANG_VERSION_STRING "1.4.4"
-
-/*{{{ System Dependent Macros and Typedefs */
-
-#if defined(__WATCOMC__) && defined(DOS)
-# ifndef __MSDOS__
-# define __MSDOS__
-# endif
-# ifndef DOS386
-# define DOS386
-# endif
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif /* __watcomc__ */
-
-#if defined(unix) || defined(__unix)
-# ifndef __unix__
-# define __unix__ 1
-# endif
-#endif
-
-#if !defined(__GO32__)
-# ifdef __unix__
-# define REAL_UNIX_SYSTEM
-# endif
-#endif
-
-/* Set of the various defines for pc systems. This includes OS/2 */
-#ifdef __GO32__
-# ifndef __DJGPP__
-# define __DJGPP__ 1
-# endif
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif
-
-#ifdef __BORLANDC__
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif
-
-#ifdef __MSDOS__
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif
-
-#if defined(OS2) || defined(__os2__)
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-# ifndef __os2__
-# define __os2__
-# endif
-#endif
-
-#if defined(__NT__) || defined(__MINGW32__) || defined(__CYGWIN32__)
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif
-
-#if defined(IBMPC_SYSTEM) || defined(VMS)
-# ifdef REAL_UNIX_SYSTEM
-# undef REAL_UNIX_SYSTEM
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#if 0
-}
-#endif
-
-#include <stdio.h>
-#include <stdarg.h>
-#if defined(__STDC__) || defined(__BORLANDC__) || defined(__cplusplus)
-# include <stddef.h> /* for offsetof */
-#endif
-
-/* ---------------------------- Generic Macros ----------------------------- */
-
-/* __SC__ is defined for Symantec C++
- DOS386 is defined for -mx memory model, 32 bit DOS extender. */
-
-#if defined(__SC__) && !defined(DOS386)
-# include <dos.h>
-#endif
-
-#if defined(__BORLANDC__)
-# include <alloc.h>
-#endif
-
-#if defined (__cplusplus) || defined(__STDC__) || defined(IBMPC_SYSTEM)
- typedef void *VOID_STAR;
-#else
- typedef unsigned char *VOID_STAR;
-#endif
-
-typedef int (*FVOID_STAR)(void);
-
-#if defined(__MSDOS_) && defined(__BORLANDC__)
-# define SLFREE(buf) farfree((void far *)(buf))
-# define SLMALLOC(x) farmalloc((unsigned long) (x))
-# define SLREALLOC(buf, n) farrealloc((void far *) (buf), (unsigned long) (n))
-# define SLCALLOC(n, m) farcalloc((unsigned long) (n), (unsigned long) (m))
-#else
-# if defined(VMS) && !defined(__DECC)
-# define SLFREE VAXC$FREE_OPT
-# define SLMALLOC VAXC$MALLOC_OPT
-# define SLREALLOC VAXC$REALLOC_OPT
-# define SLCALLOC VAXC$CALLOC_OPT
-# else
-# define SLFREE(x) free((char *)(x))
-# define SLMALLOC malloc
-# define SLREALLOC realloc
-# define SLCALLOC calloc
-# endif
-#endif
-
- extern char *SLdebug_malloc (unsigned long);
- extern char *SLdebug_calloc (unsigned long, unsigned long);
- extern char *SLdebug_realloc (char *, unsigned long);
- extern void SLdebug_free (char *);
- extern void SLmalloc_dump_statistics (void);
- extern char *SLstrcpy(register char *, register char *);
- extern int SLstrcmp(register char *, register char *);
- extern char *SLstrncpy(char *, register char *, register int);
-
- extern void SLmemset (char *, char, int);
- extern char *SLmemchr (register char *, register char, register int);
- extern char *SLmemcpy (char *, char *, int);
- extern int SLmemcmp (char *, char *, int);
-
-/*}}}*/
-
-/*{{{ Interpreter Typedefs */
-
-typedef struct _SLang_Name_Type
-{
- char *name;
- struct _SLang_Name_Type *next;
- char name_type;
- /* These values must be less than 0x10 because they map directly
- * to byte codes. See _slang.h.
- */
-#define SLANG_LVARIABLE 0x01
-#define SLANG_GVARIABLE 0x02
-#define SLANG_IVARIABLE 0x03 /* intrinsic variables */
- /* Note!!! For Macro MAKE_VARIABLE below to work, SLANG_IVARIABLE Must
- be 1 less than SLANG_RVARIABLE!!! */
-#define SLANG_RVARIABLE 0x04 /* read only variable */
-#define SLANG_INTRINSIC 0x05
-#define SLANG_FUNCTION 0x06
-#define SLANG_MATH_UNARY 0x07
-#define SLANG_APP_UNARY 0x08
-#define SLANG_ICONSTANT 0x09
-#define SLANG_DCONSTANT 0x0A
-#define SLANG_PVARIABLE 0x0B /* private */
-#define SLANG_PFUNCTION 0x0C /* private */
-
- /* Rest of fields depend on name type */
-}
-SLang_Name_Type;
-
-typedef struct
-{
- char *name;
- struct _SLang_Name_Type *next; /* this is for the hash table */
- char name_type;
-
- FVOID_STAR i_fun; /* address of object */
-
- /* Do not change this without modifying slang.c:execute_intrinsic_fun */
-#define SLANG_MAX_INTRIN_ARGS 7
- unsigned char arg_types [SLANG_MAX_INTRIN_ARGS];
- unsigned char num_args;
- unsigned char return_type;
-}
-SLang_Intrin_Fun_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- VOID_STAR addr;
- unsigned char type;
-}
-SLang_Intrin_Var_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- int unary_op;
-}
-SLang_App_Unary_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- int unary_op;
-}
-SLang_Math_Unary_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
- int i;
-}
-SLang_IConstant_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
- double d;
-}
-SLang_DConstant_Type;
-
-typedef struct
-{
- char *field_name;
- unsigned int offset;
- unsigned char type;
- unsigned char read_only;
-}
-SLang_IStruct_Field_Type;
-
-extern int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *, char *);
-extern int SLadd_intrin_var_table (SLang_Intrin_Var_Type *, char *);
-extern int SLadd_app_unary_table (SLang_App_Unary_Type *, char *);
-extern int SLadd_math_unary_table (SLang_Math_Unary_Type *, char *);
-extern int SLadd_iconstant_table (SLang_IConstant_Type *, char *);
-extern int SLadd_dconstant_table (SLang_DConstant_Type *, char *);
-extern int SLadd_istruct_table (SLang_IStruct_Field_Type *, VOID_STAR, char *);
-
-typedef struct _SLang_NameSpace_Type SLang_NameSpace_Type;
-
-extern int SLns_add_intrin_fun_table (SLang_NameSpace_Type *, SLang_Intrin_Fun_Type *, char *);
-extern int SLns_add_intrin_var_table (SLang_NameSpace_Type *, SLang_Intrin_Var_Type *, char *);
-extern int SLns_add_app_unary_table (SLang_NameSpace_Type *, SLang_App_Unary_Type *, char *);
-extern int SLns_add_math_unary_table (SLang_NameSpace_Type *, SLang_Math_Unary_Type *, char *);
-extern int SLns_add_iconstant_table (SLang_NameSpace_Type *, SLang_IConstant_Type *, char *);
-extern int SLns_add_dconstant_table (SLang_NameSpace_Type *, SLang_DConstant_Type *, char *);
-extern int SLns_add_istruct_table (SLang_NameSpace_Type *, SLang_IStruct_Field_Type *, VOID_STAR, char *);
-
-extern SLang_NameSpace_Type *SLns_create_namespace (char *);
-extern void SLns_delete_namespace (SLang_NameSpace_Type *);
-
-typedef struct SLang_Load_Type
-{
- int type;
-
- VOID_STAR client_data;
- /* Pointer to data that client needs for loading */
-
- int auto_declare_globals;
- /* if non-zero, undefined global variables are declared as static */
-
- char *(*read)(struct SLang_Load_Type *);
- /* function to call to read next line from obj. */
-
- unsigned int line_num;
- /* Number of lines read, used for error reporting */
-
- int parse_level;
- /* 0 if at top level of parsing */
-
- char *name;
- /* Name of this object, e.g., filename. This name should be unique because
- * it alone determines the name space for static objects associated with
- * the compilable unit.
- */
-
- unsigned long reserved[4];
- /* For future expansion */
-} SLang_Load_Type;
-
-extern SLang_Load_Type *SLallocate_load_type (char *);
-extern void SLdeallocate_load_type (SLang_Load_Type *);
-
-/* Returns SLang_Error upon failure */
-extern int SLang_load_object (SLang_Load_Type *);
-extern int (*SLang_Load_File_Hook)(char *);
-extern int (*SLang_Auto_Declare_Var_Hook) (char *);
-
-extern int SLang_generate_debug_info (int);
-
-
-#if defined(ultrix) && !defined(__GNUC__)
-# ifndef NO_PROTOTYPES
-# define NO_PROTOTYPES
-# endif
-#endif
-
-#ifndef NO_PROTOTYPES
-# define _PROTO(x) x
-#else
-# define _PROTO(x) ()
-#endif
-
-typedef struct SL_OOBinary_Type
-{
- unsigned char data_type; /* partner type for binary op */
-
- int (*binary_function)_PROTO((int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR));
-
- int (*binary_result) _PROTO((int, unsigned char, unsigned char, unsigned char *));
- struct SL_OOBinary_Type *next;
-}
-SL_OOBinary_Type;
-
-typedef struct _SL_Typecast_Type
-{
- unsigned char data_type; /* to_type */
- int allow_implicit;
-
- int (*typecast)_PROTO((unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR));
- struct _SL_Typecast_Type *next;
-}
-SL_Typecast_Type;
-
-typedef struct _SLang_Struct_Type SLang_Struct_Type;
-
-#if defined(SL_APP_WANTS_FOREACH)
-/* It is up to the application to define struct _SLang_Foreach_Context_Type */
-typedef struct _SLang_Foreach_Context_Type SLang_Foreach_Context_Type;
-#else
-typedef int SLang_Foreach_Context_Type;
-#endif
-
-typedef struct
-{
- unsigned char cl_class_type;
-#define SLANG_CLASS_TYPE_MMT 0
-#define SLANG_CLASS_TYPE_SCALAR 1
-#define SLANG_CLASS_TYPE_VECTOR 2
-#define SLANG_CLASS_TYPE_PTR 3
-
- unsigned int cl_data_type; /* SLANG_INTEGER_TYPE, etc... */
- char *cl_name; /* slstring type */
-
- unsigned int cl_sizeof_type;
- VOID_STAR cl_transfer_buf; /* cl_sizeof_type bytes*/
-
- /* Methods */
-
- /* Most of the method functions are prototyped:
- * int method (unsigned char type, VOID_STAR addr);
- * Here, @type@ represents the type of object that the method is asked
- * to deal with. The second parameter @addr@ will contain the ADDRESS of
- * the object. For example, if type is SLANG_INT_TYPE, then @addr@ will
- * actually be int *. Similary, if type is SLANG_STRING_TYPE,
- * then @addr@ will contain the address of the string, i.e., char **.
- */
-
- void (*cl_destroy)_PROTO((unsigned char, VOID_STAR));
- /* Prototype: void destroy(unsigned type, VOID_STAR val)
- * Called to delete/free the object */
-
- char *(*cl_string)_PROTO((unsigned char, VOID_STAR));
- /* Prototype: char *to_string (unsigned char t, VOID_STAR p);
- * Here p is a pointer to the object for which a string representation
- * is to be returned. The returned pointer is to be a MALLOCED string.
- */
-
- /* Prototype: void push(unsigned char type, VOID_STAR v);
- * Push a copy of the object of type @type@ at address @v@ onto the
- * stack.
- */
- int (*cl_push)_PROTO((unsigned char, VOID_STAR));
-
- /* Prototype: int pop(unsigned char type, VOID_STAR v);
- * Pops value from stack and assign it to object, whose address is @v@.
- */
- int (*cl_pop)_PROTO((unsigned char, VOID_STAR));
-
- int (*cl_unary_op_result_type)_PROTO((int, unsigned char, unsigned char *));
- int (*cl_unary_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
-
- int (*cl_app_unary_op_result_type)_PROTO((int, unsigned char, unsigned char *));
- int (*cl_app_unary_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
-
- /* If this function is non-NULL, it will be called for sin, cos, etc... */
-#define SLMATH_SIN 1
-#define SLMATH_COS 2
-#define SLMATH_TAN 3
-#define SLMATH_ATAN 4
-#define SLMATH_ASIN 5
-#define SLMATH_ACOS 6
-#define SLMATH_EXP 7
-#define SLMATH_LOG 8
-#define SLMATH_SQRT 9
-#define SLMATH_LOG10 10
-#define SLMATH_REAL 11
-#define SLMATH_IMAG 12
-#define SLMATH_SINH 13
-#define SLMATH_COSH 14
-#define SLMATH_TANH 15
-#define SLMATH_ATANH 16
-#define SLMATH_ASINH 17
-#define SLMATH_ACOSH 18
-#define SLMATH_TODOUBLE 19
-#define SLMATH_CONJ 20
-
- int (*cl_math_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
- int (*cl_math_op_result_type)_PROTO((int, unsigned char, unsigned char *));
-
- SL_OOBinary_Type *cl_binary_ops;
- SL_Typecast_Type *cl_typecast_funs;
-
- void (*cl_byte_code_destroy)_PROTO((unsigned char, VOID_STAR));
- void (*cl_user_destroy_fun)_PROTO((unsigned char, VOID_STAR));
- int (*cl_init_array_object)_PROTO((unsigned char, VOID_STAR));
- int (*cl_datatype_deref)_PROTO((unsigned char));
- SLang_Struct_Type *cl_struct_def;
- int (*cl_dereference) _PROTO((unsigned char, VOID_STAR));
- int (*cl_acopy) (unsigned char, VOID_STAR, VOID_STAR);
- int (*cl_apop) _PROTO((unsigned char, VOID_STAR));
- int (*cl_apush) _PROTO((unsigned char, VOID_STAR));
- int (*cl_push_literal) _PROTO((unsigned char, VOID_STAR));
- void (*cl_adestroy)_PROTO((unsigned char, VOID_STAR));
- int (*cl_push_intrinsic)_PROTO((unsigned char, VOID_STAR));
- int (*cl_void_typecast)_PROTO((unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR));
-
- int (*cl_anytype_typecast)_PROTO((unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR));
-
- /* Array access functions */
- int (*cl_aput) (unsigned char, unsigned int);
- int (*cl_aget) (unsigned char, unsigned int);
- int (*cl_anew) (unsigned char, unsigned int);
-
- /* length method */
- int (*cl_length) (unsigned char, VOID_STAR, unsigned int *);
-
- /* foreach */
- SLang_Foreach_Context_Type *(*cl_foreach_open) (unsigned char, unsigned int);
- void (*cl_foreach_close) (unsigned char, SLang_Foreach_Context_Type *);
- int (*cl_foreach) (unsigned char, SLang_Foreach_Context_Type *);
-
- /* Structure access: get and put (assign to) fields */
- int (*cl_sput) (unsigned char, char *);
- int (*cl_sget) (unsigned char, char *);
-
- /* File I/O */
- int (*cl_fread) (unsigned char, FILE *, VOID_STAR, unsigned int, unsigned int *);
- int (*cl_fwrite) (unsigned char, FILE *, VOID_STAR, unsigned int, unsigned int *);
- int (*cl_fdread) (unsigned char, int, VOID_STAR, unsigned int, unsigned int *);
- int (*cl_fdwrite) (unsigned char, int, VOID_STAR, unsigned int, unsigned int *);
-
- int (*cl_to_bool) (unsigned char, int *);
-
- int (*cl_cmp)(unsigned char, VOID_STAR, VOID_STAR, int *);
-
-} SLang_Class_Type;
-
-/* These are the low-level functions for building push/pop methods. They
- * know nothing about memory management. For SLANG_CLASS_TYPE_MMT, use the
- * MMT push/pop functions instead.
- */
-extern int SLclass_push_double_obj (unsigned char, double);
-extern int SLclass_push_float_obj (unsigned char, float);
-extern int SLclass_push_long_obj (unsigned char, long);
-extern int SLclass_push_int_obj (unsigned char, int);
-extern int SLclass_push_short_obj (unsigned char, short);
-extern int SLclass_push_char_obj (unsigned char, char);
-extern int SLclass_push_ptr_obj (unsigned char, VOID_STAR);
-extern int SLclass_pop_double_obj (unsigned char, double *);
-extern int SLclass_pop_float_obj (unsigned char, float *);
-extern int SLclass_pop_long_obj (unsigned char, long *);
-extern int SLclass_pop_int_obj (unsigned char, int *);
-extern int SLclass_pop_short_obj (unsigned char, short *);
-extern int SLclass_pop_char_obj (unsigned char, char *);
-extern int SLclass_pop_ptr_obj (unsigned char, VOID_STAR *);
-
-extern SLang_Class_Type *SLclass_allocate_class (char *);
-extern int SLclass_get_class_id (SLang_Class_Type *cl);
-extern int SLclass_create_synonym (char *, unsigned char);
-extern int SLclass_is_class_defined (unsigned char);
-
-extern int SLclass_register_class (SLang_Class_Type *, unsigned char, unsigned int, unsigned char);
-extern int SLclass_set_string_function (SLang_Class_Type *, char *(*)(unsigned char, VOID_STAR));
-extern int SLclass_set_destroy_function (SLang_Class_Type *, void (*)(unsigned char, VOID_STAR));
-extern int SLclass_set_push_function (SLang_Class_Type *, int (*)(unsigned char, VOID_STAR));
-extern int SLclass_set_pop_function (SLang_Class_Type *, int (*)(unsigned char, VOID_STAR));
-
-extern int SLclass_set_aget_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
-extern int SLclass_set_aput_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
-extern int SLclass_set_anew_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
-
-extern int SLclass_set_sget_function (SLang_Class_Type *, int (*)(unsigned char, char *));
-extern int SLclass_set_sput_function (SLang_Class_Type *, int (*)(unsigned char, char *));
-
-/* Typecast object on the stack to type p1. p2 and p3 should be set to 1 */
-extern int SLclass_typecast (unsigned char, int, int);
-
-extern int SLclass_add_unary_op (unsigned char,
- int (*) (int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*) (int, unsigned char, unsigned char *));
-
-extern int
-SLclass_add_app_unary_op (unsigned char,
- int (*) (int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*) (int, unsigned char, unsigned char *));
-
-extern int
-SLclass_add_binary_op (unsigned char, unsigned char,
- int (*) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*) (int, unsigned char, unsigned char, unsigned char *));
-
-extern int
-SLclass_add_math_op (unsigned char,
- int (*)(int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*)(int, unsigned char, unsigned char *));
-
-extern int
-SLclass_add_typecast (unsigned char /* from */, unsigned char /* to */,
- int (*)_PROTO((unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR)),
- int /* allow implicit typecasts */
- );
-
-extern char *SLclass_get_datatype_name (unsigned char);
-
-extern double SLcomplex_abs (double *);
-extern double *SLcomplex_times (double *, double *, double *);
-extern double *SLcomplex_divide (double *, double *, double *);
-extern double *SLcomplex_sin (double *, double *);
-extern double *SLcomplex_cos (double *, double *);
-extern double *SLcomplex_tan (double *, double *);
-extern double *SLcomplex_asin (double *, double *);
-extern double *SLcomplex_acos (double *, double *);
-extern double *SLcomplex_atan (double *, double *);
-extern double *SLcomplex_exp (double *, double *);
-extern double *SLcomplex_log (double *, double *);
-extern double *SLcomplex_log10 (double *, double *);
-extern double *SLcomplex_sqrt (double *, double *);
-extern double *SLcomplex_sinh (double *, double *);
-extern double *SLcomplex_cosh (double *, double *);
-extern double *SLcomplex_tanh (double *, double *);
-extern double *SLcomplex_pow (double *, double *, double *);
-extern double SLmath_hypot (double x, double y);
-
-/* Not implemented yet */
-extern double *SLcomplex_asinh (double *, double *);
-extern double *SLcomplex_acosh (double *, double *);
-extern double *SLcomplex_atanh (double *, double *);
-
-#ifdef _SLANG_SOURCE_
-typedef struct _SLang_MMT_Type SLang_MMT_Type;
-#else
-typedef int SLang_MMT_Type;
-#endif
-
-extern void SLang_free_mmt (SLang_MMT_Type *);
-extern VOID_STAR SLang_object_from_mmt (SLang_MMT_Type *);
-extern SLang_MMT_Type *SLang_create_mmt (unsigned char, VOID_STAR);
-extern int SLang_push_mmt (SLang_MMT_Type *);
-extern SLang_MMT_Type *SLang_pop_mmt (unsigned char);
-extern void SLang_inc_mmt (SLang_MMT_Type *);
-
-/* Maximum number of dimensions of an array. */
-#define SLARRAY_MAX_DIMS 7
-typedef struct _SLang_Array_Type
-{
- unsigned char data_type;
- unsigned int sizeof_type;
- VOID_STAR data;
- unsigned int num_elements;
- unsigned int num_dims;
- int dims [SLARRAY_MAX_DIMS];
- VOID_STAR (*index_fun)_PROTO((struct _SLang_Array_Type *, int *));
- /* This function is designed to allow a type to store an array in
- * any manner it chooses. This function returns the address of the data
- * value at the specified index location.
- */
- unsigned int flags;
-#define SLARR_DATA_VALUE_IS_READ_ONLY 1
-#define SLARR_DATA_VALUE_IS_POINTER 2
-#define SLARR_DATA_VALUE_IS_RANGE 4
-#define SLARR_DATA_VALUE_IS_INTRINSIC 8
- SLang_Class_Type *cl;
- unsigned int num_refs;
-}
-SLang_Array_Type;
-
-extern int SLang_pop_array_of_type (SLang_Array_Type **, unsigned char);
-extern int SLang_pop_array (SLang_Array_Type **, int);
-extern int SLang_push_array (SLang_Array_Type *, int);
-extern void SLang_free_array (SLang_Array_Type *);
-extern SLang_Array_Type *SLang_create_array (unsigned char, int, VOID_STAR, int *, unsigned int);
-extern SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *);
-extern int SLang_get_array_element (SLang_Array_Type *, int *, VOID_STAR);
-extern int SLang_set_array_element (SLang_Array_Type *, int *, VOID_STAR);
-
-
-/*}}}*/
-
-/*{{{ Interpreter Function Prototypes */
-
- extern volatile int SLang_Error;
-/* Non zero if error occurs. Must be reset to zero to continue. */
-/* error codes, severe errors are less than 0 */
-#define SL_APPLICATION_ERROR -2
-#define SL_VARIABLE_UNINITIALIZED -3
-#define SL_INTERNAL_ERROR -5
-#define SL_STACK_OVERFLOW -6
-#define SL_STACK_UNDERFLOW -7
-#define SL_UNDEFINED_NAME -8
-#define SL_SYNTAX_ERROR -9
-#define SL_DUPLICATE_DEFINITION -10
-#define SL_TYPE_MISMATCH -11
-#define SL_OBJ_UNKNOWN -13
-#define SL_UNKNOWN_ERROR -14
-#define SL_TYPE_UNDEFINED_OP_ERROR -16
-
-#define SL_INTRINSIC_ERROR 1
-/* Intrinsic error is an error generated by intrinsic functions */
-#define SL_USER_BREAK 2
-#define SL_DIVIDE_ERROR 3
-#define SL_OBJ_NOPEN 4
-#define SL_USER_ERROR 5
-#define SL_USAGE_ERROR 6
-#define SL_READONLY_ERROR 7
-#define SL_INVALID_PARM 8
-#define SL_NOT_IMPLEMENTED 9
-#define SL_MALLOC_ERROR 10
-#define SL_OVERFLOW 11
-#define SL_FLOATING_EXCEPTION 12
-
-/* Compatibility */
-#define USER_BREAK SL_USER_BREAK
-#define INTRINSIC_ERROR SL_INTRINSIC_ERROR
-
- extern int SLang_Traceback;
- /* If non-zero, dump an S-Lang traceback upon error. Available as
- _traceback in S-Lang. */
-
- extern char *SLang_User_Prompt;
- /* Prompt to use when reading from stdin */
- extern int SLang_Version;
- extern char *SLang_Version_String;
-extern char *SLang_Doc_Dir;
-
-extern void (*SLang_VMessage_Hook) (char *, va_list);
-extern void SLang_vmessage (char *, ...);
-
- extern void (*SLang_Error_Hook)(char *);
- /* Pointer to application dependent error messaging routine. By default,
- messages are displayed on stderr. */
-
- extern void (*SLang_Exit_Error_Hook)(char *, va_list);
- extern void SLang_exit_error (char *, ...);
- extern void (*SLang_Dump_Routine)(char *);
- /* Called if S-Lang traceback is enabled as well as other debugging
- routines (e.g., trace). By default, these messages go to stderr. */
-
- extern void (*SLang_Interrupt)(void);
- /* function to call whenever inner interpreter is entered. This is
- a good place to set SLang_Error to USER_BREAK. */
-
- extern void (*SLang_User_Clear_Error)(void);
- /* function that gets called when '_clear_error' is called. */
-
- /* If non null, these call C functions before and after a slang function. */
- extern void (*SLang_Enter_Function)(char *);
-extern void (*SLang_Exit_Function)(char *);
-
-extern int SLang_Num_Function_Args;
-
-/* Functions: */
-
-extern int SLang_init_all (void);
-/* Initializes interpreter and all modules */
-
-extern int SLang_init_slang (void);
-/* This function is mandatory and must be called by all applications that
- * use the interpreter
- */
-extern int SLang_init_posix_process (void); /* process specific intrinsics */
-extern int SLang_init_stdio (void); /* fgets, etc. stdio functions */
-extern int SLang_init_posix_dir (void);
-extern int SLang_init_ospath (void);
-
-extern int SLang_init_slmath (void);
-/* called if math functions sin, cos, etc... are needed. */
-
- extern int SLang_init_slfile (void);
- extern int SLang_init_slunix (void);
- /* These functions are obsolte. Use init_stdio, posix_process, etc. */
-
-extern int SLang_init_slassoc (void);
-/* Assoc Arrays (Hashes) */
-
-extern int SLang_init_array (void);
-/* Additional arrays functions: transpose, etc... */
-
-/* Dynamic linking facility */
-extern int SLang_init_import (void);
-
- extern int SLang_load_file (char *);
- /* Load a file of S-Lang code for interpreting. If the parameter is
- * NULL, input comes from stdin. */
-
- extern void SLang_restart(int);
- /* should be called if an error occurs. If the passed integer is
- * non-zero, items are popped off the stack; otherwise, the stack is
- * left intact. Any time the stack is believed to be trashed, this routine
- * should be called with a non-zero argument (e.g., if setjmp/longjmp is
- * called). */
-
- extern int SLang_byte_compile_file(char *, int);
- /* takes a file of S-Lang code and ``byte-compiles'' it for faster
- * loading. The new filename is equivalent to the old except that a `c' is
- * appended to the name. (e.g., init.sl --> init.slc). The second
- * specified the method; currently, it is not used.
- */
-
- extern int SLang_autoload(char *, char *);
- /* Automatically load S-Lang function p1 from file p2. This function
- is also available via S-Lang */
-
- extern int SLang_load_string(char *);
- /* Like SLang_load_file except input is from a null terminated string. */
-
- extern int SLdo_pop(void);
- /* pops item off stack and frees any memory associated with it */
- extern int SLdo_pop_n(unsigned int);
- /* pops n items off stack and frees any memory associated with them */
-
-extern int SLang_pop_integer(int *);
-extern int SLang_pop_uinteger(unsigned int *);
- /* pops integer *p0 from the stack. Returns 0 upon success and non-zero
- * if the stack is empty or a type mismatch occurs, setting SLang_Error.
- */
-extern int SLang_pop_char (char *);
-extern int SLang_pop_uchar (unsigned char *);
-extern int SLang_pop_short(short *);
-extern int SLang_pop_ushort(unsigned short *);
-extern int SLang_pop_long(long *);
-extern int SLang_pop_ulong(unsigned long *);
-
-extern int SLang_pop_float(float *);
-extern int SLang_pop_double(double *, int *, int *);
- /* Pops double *p1 from stack. If *p3 is non-zero, *p1 was derived
- from the integer *p2. Returns zero upon success. */
-
- extern int SLang_pop_complex (double *, double *);
-
- extern int SLpop_string (char **);
- extern int SLang_pop_string(char **, int *);
- /* pops string *p0 from stack. If *p1 is non-zero, the string must be
- * freed after its use. DO NOT FREE p0 if *p1 IS ZERO! Returns 0 upon
- * success */
-
- extern int SLang_push_complex (double, double);
-
- extern int SLang_push_char (char);
- extern int SLang_push_uchar (unsigned char);
-
- extern int SLang_push_integer(int);
- extern int SLang_push_uinteger(unsigned int);
- /* push integer p1 on stack */
-
- extern int SLang_push_short(short);
- extern int SLang_push_ushort(unsigned short);
- extern int SLang_push_long(long);
- extern int SLang_push_ulong(unsigned long);
- extern int SLang_push_float(float);
- extern int SLang_push_double(double);
- /* Push double onto stack */
-
- extern int SLang_push_string(char *);
- /* Push string p1 onto stack */
-
- extern int SLang_push_malloced_string(char *);
- /* The normal SLang_push_string pushes an slstring. This one converts
- * a normally malloced string to an slstring, and then frees the
- * malloced string. So, do NOT use the malloced string after calling
- * this routine because it will be freed! The routine returns -1 upon
- * error, but the string will be freed.
- */
-
-extern int SLang_push_null (void);
-extern int SLang_pop_null (void);
-
-extern int SLang_push_value (unsigned char type, VOID_STAR);
-extern int SLang_pop_value (unsigned char type, VOID_STAR);
-extern void SLang_free_value (unsigned char type, VOID_STAR);
-
-typedef struct _SLang_Object_Type SLang_Any_Type;
-
-extern int SLang_pop_anytype (SLang_Any_Type **);
-extern int SLang_push_anytype (SLang_Any_Type *);
-extern void SLang_free_anytype (SLang_Any_Type *);
-
-#ifdef _SLANG_SOURCE_
-typedef struct _SLang_Ref_Type SLang_Ref_Type;
-#else
-typedef int SLang_Ref_Type;
-#endif
-
-extern int SLang_pop_ref (SLang_Ref_Type **);
-extern void SLang_free_ref (SLang_Ref_Type *);
-extern int SLang_assign_to_ref (SLang_Ref_Type *, unsigned char, VOID_STAR);
-extern SLang_Name_Type *SLang_pop_function (void);
-extern SLang_Name_Type *SLang_get_fun_from_ref (SLang_Ref_Type *);
-extern void SLang_free_function (SLang_Name_Type *f);
-
- extern int SLang_is_defined(char *);
- /* Return non-zero is p1 is defined otherwise returns 0. */
-
- extern int SLang_run_hooks(char *, unsigned int, ...);
- /* calls S-Lang function p1 pushing p2 strings in the variable argument
- * list onto the stack first.
- * Returns -1 upon error, 1 if hooks exists and it ran,
- * or 0 if hook does not exist. Thus it returns non-zero is hook was called.
- */
-
-/* These functions return 1 if the indicated function exists and the function
- * runs without error. If the function does not exist, the function returns
- * 0. Otherwise -1 is returned with SLang_Error set appropriately.
- */
-extern int SLexecute_function (SLang_Name_Type *);
-extern int SLang_execute_function(char *);
-
-
-extern int SLang_end_arg_list (void);
-extern int SLang_start_arg_list (void);
-
-extern void SLang_verror (int, char *, ...);
-
-extern void SLang_doerror(char *);
- /* set SLang_Error and display p1 as error message */
-
-extern int SLang_add_intrinsic_array (char *, /* name */
- unsigned char, /* type */
- int, /* readonly */
- VOID_STAR, /* data */
- unsigned int, ...); /* num dims */
-
-extern int SLextract_list_element (char *, unsigned int, char,
- char *, unsigned int);
-
-extern void SLexpand_escaped_string (register char *, register char *,
- register char *);
-
-extern SLang_Name_Type *SLang_get_function (char *);
-extern void SLang_release_function (SLang_Name_Type *);
-
-extern int SLreverse_stack (int);
-extern int SLroll_stack (int);
-/* If argument p is positive, the top p objects on the stack are rolled
- * up. If negative, the stack is rolled down.
- */
-extern int SLdup_n (int n);
-/* Duplicate top n elements of stack */
-
-extern int SLang_peek_at_stack1 (void);
-extern int SLang_peek_at_stack (void);
-/* Returns type of next object on stack-- -1 upon stack underflow. */
-extern void SLmake_lut (unsigned char *, unsigned char *, unsigned char);
-
- extern int SLang_guess_type (char *);
-
-extern int SLstruct_create_struct (unsigned int,
- char **,
- unsigned char *,
- VOID_STAR *);
-
-/*}}}*/
-
-/*{{{ Misc Functions */
-
-/* This is an interface to atexit */
-extern int SLang_add_cleanup_function (void (*)(void));
-
-extern char *SLmake_string (char *);
-extern char *SLmake_nstring (char *, unsigned int);
-/* Returns a null terminated string made from the first n characters of the
- * string.
- */
-
-/* The string created by this routine must be freed by SLang_free_slstring
- * and nothing else!! Also these strings must not be modified. Use
- * SLmake_string if you intend to modify them!!
- */
-extern char *SLang_create_nslstring (char *, unsigned int);
-extern char *SLang_create_slstring (char *);
-extern void SLang_free_slstring (char *); /* handles NULL */
-extern int SLang_pop_slstring (char **); /* free with SLang_free_slstring */
-extern char *SLang_concat_slstrings (char *a, char *b);
-extern char *SLang_create_static_slstring (char *); /* adds a string that will not get deleted */
-extern void SLstring_dump_stats (void);
-
-/* Binary strings */
-/* The binary string is an opaque type. Use the SLbstring_get_pointer function
- * to get a pointer and length.
- */
-typedef struct _SLang_BString_Type SLang_BString_Type;
-extern unsigned char *SLbstring_get_pointer (SLang_BString_Type *, unsigned int *);
-
-extern SLang_BString_Type *SLbstring_dup (SLang_BString_Type *);
-extern SLang_BString_Type *SLbstring_create (unsigned char *, unsigned int);
-
-/* The create_malloced function used the first argument which is assumed
- * to be a pointer to a len + 1 malloced string. The extra byte is for
- * \0 termination.
- */
-extern SLang_BString_Type *SLbstring_create_malloced (unsigned char *, unsigned int, int);
-
-/* Create a bstring from an slstring */
-extern SLang_BString_Type *SLbstring_create_slstring (char *);
-
-extern void SLbstring_free (SLang_BString_Type *);
-extern int SLang_pop_bstring (SLang_BString_Type **);
-extern int SLang_push_bstring (SLang_BString_Type *);
-
-extern char *SLmalloc (unsigned int);
-extern char *SLcalloc (unsigned int, unsigned int);
-extern void SLfree(char *); /* This function handles NULL */
-extern char *SLrealloc (char *, unsigned int);
-
-extern char *SLcurrent_time_string (void);
-
-extern int SLatoi(unsigned char *);
-extern long SLatol (unsigned char *);
-extern unsigned long SLatoul (unsigned char *);
-
-extern int SLang_pop_fileptr (SLang_MMT_Type **, FILE **);
-extern char *SLang_get_name_from_fileptr (SLang_MMT_Type *);
-
-typedef struct _SLFile_FD_Type SLFile_FD_Type;
-extern SLFile_FD_Type *SLfile_create_fd (char *, int);
-extern void SLfile_free_fd (SLFile_FD_Type *);
-extern int SLfile_push_fd (SLFile_FD_Type *);
-extern int SLfile_pop_fd (SLFile_FD_Type **);
-extern int SLfile_get_fd (SLFile_FD_Type *, int *);
-extern SLFile_FD_Type *SLfile_dup_fd (SLFile_FD_Type *f0);
-extern int SLang_init_posix_io (void);
-
-typedef double (*SLang_To_Double_Fun_Type)(VOID_STAR);
-extern SLang_To_Double_Fun_Type SLarith_get_to_double_fun (unsigned char, unsigned int *);
-
-extern int SLang_set_argc_argv (int, char **);
-
-/*}}}*/
-
-/*{{{ SLang getkey interface Functions */
-
-#ifdef REAL_UNIX_SYSTEM
-extern int SLang_TT_Baud_Rate;
-extern int SLang_TT_Read_FD;
-#endif
-
-extern int SLang_init_tty (int, int, int);
-/* Initializes the tty for single character input. If the first parameter *p1
- * is in the range 0-255, it will be used for the abort character;
- * otherwise, (unix only) if it is -1, the abort character will be the one
- * used by the terminal. If the second parameter p2 is non-zero, flow
- * control is enabled. If the last parmeter p3 is zero, output processing
- * is NOT turned on. A value of zero is required for the screen management
- * routines. Returns 0 upon success. In addition, if SLang_TT_Baud_Rate ==
- * 0 when this function is called, SLang will attempt to determine the
- * terminals baud rate. As far as the SLang library is concerned, if
- * SLang_TT_Baud_Rate is less than or equal to zero, the baud rate is
- * effectively infinite.
- */
-
-extern void SLang_reset_tty (void);
-/* Resets tty to what it was prior to a call to SLang_init_tty */
-#ifdef REAL_UNIX_SYSTEM
-extern void SLtty_set_suspend_state (int);
- /* If non-zero argument, terminal driver will be told to react to the
- * suspend character. If 0, it will not.
- */
-extern int (*SLang_getkey_intr_hook) (void);
-#endif
-
-#define SLANG_GETKEY_ERROR 0xFFFF
-extern unsigned int SLang_getkey (void);
-/* reads a single key from the tty. If the read fails, 0xFFFF is returned. */
-
-#ifdef IBMPC_SYSTEM
-extern int SLgetkey_map_to_ansi (int);
-#endif
-
-extern int SLang_ungetkey_string (unsigned char *, unsigned int);
-extern int SLang_buffer_keystring (unsigned char *, unsigned int);
-extern int SLang_ungetkey (unsigned char);
-extern void SLang_flush_input (void);
-extern int SLang_input_pending (int);
-extern int SLang_Abort_Char;
-/* The value of the character (0-255) used to trigger SIGINT */
-extern int SLang_Ignore_User_Abort;
-/* If non-zero, pressing the abort character will not result in USER_BREAK
- * SLang_Error. */
-
-extern int SLang_set_abort_signal (void (*)(int));
-/* If SIGINT is generated, the function p1 will be called. If p1 is NULL
- * the SLang_default signal handler is called. This sets SLang_Error to
- * USER_BREAK. I suspect most users will simply want to pass NULL.
- */
-extern unsigned int SLang_Input_Buffer_Len;
-
-extern volatile int SLKeyBoard_Quit;
-
-#ifdef VMS
-/* If this function returns -1, ^Y will be added to input buffer. */
-extern int (*SLtty_VMS_Ctrl_Y_Hook) (void);
-#endif
-/*}}}*/
-
-/*{{{ SLang Keymap routines */
-
-typedef struct SLKeymap_Function_Type
-{
- char *name;
- int (*f)(void);
-}
-SLKeymap_Function_Type;
-
-#define SLANG_MAX_KEYMAP_KEY_SEQ 14
-typedef struct SLang_Key_Type
-{
- struct SLang_Key_Type *next;
- union
- {
- char *s;
- FVOID_STAR f;
- unsigned int keysym;
- }
- f;
- unsigned char type; /* type of function */
-#define SLKEY_F_INTERPRET 0x01
-#define SLKEY_F_INTRINSIC 0x02
-#define SLKEY_F_KEYSYM 0x03
- unsigned char str[SLANG_MAX_KEYMAP_KEY_SEQ + 1];/* key sequence */
-}
-SLang_Key_Type;
-
-typedef struct SLKeyMap_List_Type
-{
- char *name; /* hashed string */
- SLang_Key_Type *keymap;
- SLKeymap_Function_Type *functions; /* intrinsic functions */
-}
-SLKeyMap_List_Type;
-
-/* This is arbitrary but I have got to start somewhere */
-#define SLANG_MAX_KEYMAPS 30
-extern SLKeyMap_List_Type SLKeyMap_List[SLANG_MAX_KEYMAPS];
-
-extern char *SLang_process_keystring(char *);
-
-extern int SLkm_define_key (char *, FVOID_STAR, SLKeyMap_List_Type *);
-
-extern int SLang_define_key(char *, char *, SLKeyMap_List_Type *);
-/* Like define_key1 except that p2 is a string that is to be associated with
- * a function in the functions field of p3. This routine calls define_key1.
- */
-
-extern int SLkm_define_keysym (char *, unsigned int, SLKeyMap_List_Type *);
-
-extern void SLang_undefine_key(char *, SLKeyMap_List_Type *);
-
-extern SLKeyMap_List_Type *SLang_create_keymap(char *, SLKeyMap_List_Type *);
-/* create and returns a pointer to a new keymap named p1 created by copying
- * keymap p2. If p2 is NULL, it is up to the calling routine to initialize
- * the keymap.
- */
-
-extern char *SLang_make_keystring(unsigned char *);
-
-extern SLang_Key_Type *SLang_do_key(SLKeyMap_List_Type *, int (*)(void));
-/* read a key using keymap p1 with getkey function p2 */
-
-extern
- FVOID_STAR
- SLang_find_key_function(char *, SLKeyMap_List_Type *);
-
-extern SLKeyMap_List_Type *SLang_find_keymap(char *);
-
-extern int SLang_Last_Key_Char;
-extern int SLang_Key_TimeOut_Flag;
-
-/*}}}*/
-
-/*{{{ SLang Readline Interface */
-
-typedef struct SLang_Read_Line_Type
-{
- struct SLang_Read_Line_Type *prev, *next;
- unsigned char *buf;
- int buf_len; /* number of chars in the buffer */
- int num; /* num and misc are application specific*/
- int misc;
-} SLang_Read_Line_Type;
-
-/* Maximum size of display */
-#define SLRL_DISPLAY_BUFFER_SIZE 256
-
-typedef struct
-{
- SLang_Read_Line_Type *root, *tail, *last;
- unsigned char *buf; /* edit buffer */
- int buf_len; /* sizeof buffer */
- int point; /* current editing point */
- int tab; /* tab width */
- int len; /* current line size */
-
- /* display variables */
- int edit_width; /* length of display field */
- int curs_pos; /* current column */
- int start_column; /* column offset of display */
- int dhscroll; /* amount to use for horiz scroll */
- char *prompt;
-
- FVOID_STAR last_fun; /* last function executed by rl */
-
- /* These two contain an image of what is on the display */
- unsigned char upd_buf1[SLRL_DISPLAY_BUFFER_SIZE];
- unsigned char upd_buf2[SLRL_DISPLAY_BUFFER_SIZE];
- unsigned char *old_upd, *new_upd; /* pointers to previous two buffers */
- int new_upd_len, old_upd_len; /* length of output buffers */
-
- SLKeyMap_List_Type *keymap;
-
- /* tty variables */
- unsigned int flags; /* */
-#define SL_RLINE_NO_ECHO 1
-#define SL_RLINE_USE_ANSI 2
-#define SL_RLINE_BLINK_MATCH 4
- unsigned int (*getkey)(void); /* getkey function -- required */
- void (*tt_goto_column)(int);
- void (*tt_insert)(char);
- void (*update_hook)(unsigned char *, int, int);
- /* The update hook is called with a pointer to a buffer p1 that contains
- * an image of what the update hook is suppoed to produce. The length
- * of the buffer is p2 and after the update, the cursor is to be placed
- * in column p3.
- */
- /* This function is only called when blinking matches */
- int (*input_pending)(int);
- unsigned long reserved[4];
-} SLang_RLine_Info_Type;
-
-extern int SLang_RL_EOF_Char;
-
-extern SLang_Read_Line_Type * SLang_rline_save_line (SLang_RLine_Info_Type *);
-extern int SLang_init_readline (SLang_RLine_Info_Type *);
-extern int SLang_read_line (SLang_RLine_Info_Type *);
-extern int SLang_rline_insert (char *);
-extern void SLrline_redraw (SLang_RLine_Info_Type *);
-extern int SLang_Rline_Quit;
-
-/*}}}*/
-
-/*{{{ Low Level Screen Output Interface */
-
-extern unsigned long SLtt_Num_Chars_Output;
-extern int SLtt_Baud_Rate;
-
-typedef unsigned long SLtt_Char_Type;
-
-#define SLTT_BOLD_MASK 0x01000000UL
-#define SLTT_BLINK_MASK 0x02000000UL
-#define SLTT_ULINE_MASK 0x04000000UL
-#define SLTT_REV_MASK 0x08000000UL
-#define SLTT_ALTC_MASK 0x10000000UL
-
-extern int SLtt_Screen_Rows;
-extern int SLtt_Screen_Cols;
-extern int SLtt_Term_Cannot_Insert;
-extern int SLtt_Term_Cannot_Scroll;
-extern int SLtt_Use_Ansi_Colors;
-extern int SLtt_Ignore_Beep;
-#if defined(REAL_UNIX_SYSTEM)
-extern int SLtt_Force_Keypad_Init;
-extern int SLang_TT_Write_FD;
-#endif
-
-#ifndef IBMPC_SYSTEM
-extern char *SLtt_Graphics_Char_Pairs;
-#endif
-
-#ifndef __GO32__
-#if defined(VMS) || defined(REAL_UNIX_SYSTEM)
-extern int SLtt_Blink_Mode;
-extern int SLtt_Use_Blink_For_ACS;
-extern int SLtt_Newline_Ok;
-extern int SLtt_Has_Alt_Charset;
-extern int SLtt_Has_Status_Line; /* if 0, NO. If > 0, YES, IF -1, ?? */
-# ifndef VMS
-extern int SLtt_Try_Termcap;
-# endif
-#endif
-#endif
-
-#if defined(IBMPC_SYSTEM)
-extern int SLtt_Msdos_Cheap_Video;
-#endif
-
-typedef unsigned short SLsmg_Char_Type;
-#define SLSMG_EXTRACT_CHAR(x) ((x) & 0xFF)
-#define SLSMG_EXTRACT_COLOR(x) (((x)>>8)&0xFF)
-#define SLSMG_BUILD_CHAR(ch,color) (((SLsmg_Char_Type)(unsigned char)(ch))|((color)<<8))
-
-extern int SLtt_flush_output (void);
-extern void SLtt_set_scroll_region(int, int);
-extern void SLtt_reset_scroll_region(void);
-extern void SLtt_reverse_video (int);
-extern void SLtt_bold_video (void);
-extern void SLtt_begin_insert(void);
-extern void SLtt_end_insert(void);
-extern void SLtt_del_eol(void);
-extern void SLtt_goto_rc (int, int);
-extern void SLtt_delete_nlines(int);
-extern void SLtt_delete_char(void);
-extern void SLtt_erase_line(void);
-extern void SLtt_normal_video(void);
-extern void SLtt_cls(void);
-extern void SLtt_beep(void);
-extern void SLtt_reverse_index(int);
-extern void SLtt_smart_puts(SLsmg_Char_Type *, SLsmg_Char_Type *, int, int);
-extern void SLtt_write_string (char *);
-extern void SLtt_putchar(char);
-extern int SLtt_init_video (void);
-extern int SLtt_reset_video (void);
-extern void SLtt_get_terminfo(void);
-extern void SLtt_get_screen_size (void);
-extern int SLtt_set_cursor_visibility (int);
-
-extern int SLtt_set_mouse_mode (int, int);
-
-#if defined(VMS) || defined(REAL_UNIX_SYSTEM)
-extern int SLtt_initialize (char *);
-extern void SLtt_enable_cursor_keys(void);
-extern void SLtt_set_term_vtxxx(int *);
-extern void SLtt_set_color_esc (int, char *);
-extern void SLtt_wide_width(void);
-extern void SLtt_narrow_width(void);
-extern void SLtt_set_alt_char_set (int);
-extern int SLtt_write_to_status_line (char *, int);
-extern void SLtt_disable_status_line (void);
-# ifdef REAL_UNIX_SYSTEM
-/* These are termcap/terminfo routines that assume SLtt_initialize has
- * been called.
- */
-extern char *SLtt_tgetstr (char *);
-extern int SLtt_tgetnum (char *);
-extern int SLtt_tgetflag (char *);
-
-/* The following are terminfo-only routines -- these prototypes will change
- * in V2.x.
- */
-extern char *SLtt_tigetent (char *);
-extern char *SLtt_tigetstr (char *, char **);
-extern int SLtt_tigetnum (char *, char **);
-# endif
-#endif
-
-extern SLtt_Char_Type SLtt_get_color_object (int);
-extern void SLtt_set_color_object (int, SLtt_Char_Type);
-extern void SLtt_set_color (int, char *, char *, char *);
-extern void SLtt_set_mono (int, char *, SLtt_Char_Type);
-extern void SLtt_add_color_attribute (int, SLtt_Char_Type);
-extern void SLtt_set_color_fgbg (int, SLtt_Char_Type, SLtt_Char_Type);
-
-/*}}}*/
-
-/*{{{ SLang Preprocessor Interface */
-
-typedef struct
-{
- int this_level;
- int exec_level;
- int prev_exec_level;
- char preprocess_char;
- char comment_char;
- unsigned char flags;
-#define SLPREP_BLANK_LINES_OK 1
-#define SLPREP_COMMENT_LINES_OK 2
-}
-SLPreprocess_Type;
-
-extern int SLprep_open_prep (SLPreprocess_Type *);
-extern void SLprep_close_prep (SLPreprocess_Type *);
-extern int SLprep_line_ok (char *, SLPreprocess_Type *);
- extern int SLdefine_for_ifdef (char *);
- /* Adds a string to the SLang #ifdef preparsing defines. SLang already
- defines MSDOS, UNIX, and VMS on the appropriate system. */
-extern int (*SLprep_exists_hook) (char *, char);
-
-/*}}}*/
-
-/*{{{ SLsmg Screen Management Functions */
-
-extern void SLsmg_fill_region (int, int, unsigned int, unsigned int, unsigned char);
-extern void SLsmg_set_char_set (int);
-#ifndef IBMPC_SYSTEM
-extern int SLsmg_Scroll_Hash_Border;
-#endif
-extern int SLsmg_suspend_smg (void);
-extern int SLsmg_resume_smg (void);
-extern void SLsmg_erase_eol (void);
-extern void SLsmg_gotorc (int, int);
-extern void SLsmg_erase_eos (void);
-extern void SLsmg_reverse_video (void);
-extern void SLsmg_set_color (int);
-extern void SLsmg_normal_video (void);
-extern void SLsmg_printf (char *, ...);
-extern void SLsmg_vprintf (char *, va_list);
-extern void SLsmg_write_string (char *);
-extern void SLsmg_write_nstring (char *, unsigned int);
-extern void SLsmg_write_char (char);
-extern void SLsmg_write_nchars (char *, unsigned int);
-extern void SLsmg_write_wrapped_string (char *, int, int, unsigned int, unsigned int, int);
-extern void SLsmg_cls (void);
-extern void SLsmg_refresh (void);
-extern void SLsmg_touch_lines (int, unsigned int);
-extern void SLsmg_touch_screen (void);
-extern int SLsmg_init_smg (void);
-extern int SLsmg_reinit_smg (void);
-extern void SLsmg_reset_smg (void);
-extern SLsmg_Char_Type SLsmg_char_at(void);
-extern void SLsmg_set_screen_start (int *, int *);
-extern void SLsmg_draw_hline (unsigned int);
-extern void SLsmg_draw_vline (int);
-extern void SLsmg_draw_object (int, int, unsigned char);
-extern void SLsmg_draw_box (int, int, unsigned int, unsigned int);
-extern int SLsmg_get_column(void);
-extern int SLsmg_get_row(void);
-extern void SLsmg_forward (int);
-extern void SLsmg_write_color_chars (SLsmg_Char_Type *, unsigned int);
-extern unsigned int SLsmg_read_raw (SLsmg_Char_Type *, unsigned int);
-extern unsigned int SLsmg_write_raw (SLsmg_Char_Type *, unsigned int);
-extern void SLsmg_set_color_in_region (int, int, int, unsigned int, unsigned int);
-extern int SLsmg_Display_Eight_Bit;
-extern int SLsmg_Tab_Width;
-
-#define SLSMG_NEWLINE_IGNORED 0 /* default */
-#define SLSMG_NEWLINE_MOVES 1 /* moves to next line, column 0 */
-#define SLSMG_NEWLINE_SCROLLS 2 /* moves but scrolls at bottom of screen */
-#define SLSMG_NEWLINE_PRINTABLE 3 /* prints as ^J */
-extern int SLsmg_Newline_Behavior;
-
-extern int SLsmg_Backspace_Moves;
-
-#ifdef IBMPC_SYSTEM
-# define SLSMG_HLINE_CHAR 0xC4
-# define SLSMG_VLINE_CHAR 0xB3
-# define SLSMG_ULCORN_CHAR 0xDA
-# define SLSMG_URCORN_CHAR 0xBF
-# define SLSMG_LLCORN_CHAR 0xC0
-# define SLSMG_LRCORN_CHAR 0xD9
-# define SLSMG_RTEE_CHAR 0xB4
-# define SLSMG_LTEE_CHAR 0xC3
-# define SLSMG_UTEE_CHAR 0xC2
-# define SLSMG_DTEE_CHAR 0xC1
-# define SLSMG_PLUS_CHAR 0xC5
-/* There are several to choose from: 0xB0, 0xB1, and 0xB2 */
-# define SLSMG_CKBRD_CHAR 0xB0
-# define SLSMG_DIAMOND_CHAR 0x04
-# define SLSMG_DEGREE_CHAR 0xF8
-# define SLSMG_PLMINUS_CHAR 0xF1
-# define SLSMG_BULLET_CHAR 0xF9
-# define SLSMG_LARROW_CHAR 0x1B
-# define SLSMG_RARROW_CHAR 0x1A
-# define SLSMG_DARROW_CHAR 0x19
-# define SLSMG_UARROW_CHAR 0x18
-# define SLSMG_BOARD_CHAR 0xB2
-# define SLSMG_BLOCK_CHAR 0xDB
-#else
-# if defined(AMIGA)
-# define SLSMG_HLINE_CHAR '-'
-# define SLSMG_VLINE_CHAR '|'
-# define SLSMG_ULCORN_CHAR '+'
-# define SLSMG_URCORN_CHAR '+'
-# define SLSMG_LLCORN_CHAR '+'
-# define SLSMG_LRCORN_CHAR '+'
-# define SLSMG_CKBRD_CHAR '#'
-# define SLSMG_RTEE_CHAR '+'
-# define SLSMG_LTEE_CHAR '+'
-# define SLSMG_UTEE_CHAR '+'
-# define SLSMG_DTEE_CHAR '+'
-# define SLSMG_PLUS_CHAR '+'
-# define SLSMG_DIAMOND_CHAR '+'
-# define SLSMG_DEGREE_CHAR '\\'
-# define SLSMG_PLMINUS_CHAR '#'
-# define SLSMG_BULLET_CHAR 'o'
-# define SLSMG_LARROW_CHAR '<'
-# define SLSMG_RARROW_CHAR '>'
-# define SLSMG_DARROW_CHAR 'v'
-# define SLSMG_UARROW_CHAR '^'
-# define SLSMG_BOARD_CHAR '#'
-# define SLSMG_BLOCK_CHAR '#'
-# else
-# define SLSMG_HLINE_CHAR 'q'
-# define SLSMG_VLINE_CHAR 'x'
-# define SLSMG_ULCORN_CHAR 'l'
-# define SLSMG_URCORN_CHAR 'k'
-# define SLSMG_LLCORN_CHAR 'm'
-# define SLSMG_LRCORN_CHAR 'j'
-# define SLSMG_CKBRD_CHAR 'a'
-# define SLSMG_RTEE_CHAR 'u'
-# define SLSMG_LTEE_CHAR 't'
-# define SLSMG_UTEE_CHAR 'w'
-# define SLSMG_DTEE_CHAR 'v'
-# define SLSMG_PLUS_CHAR 'n'
-# define SLSMG_DIAMOND_CHAR '`'
-# define SLSMG_DEGREE_CHAR 'f'
-# define SLSMG_PLMINUS_CHAR 'g'
-# define SLSMG_BULLET_CHAR '~'
-# define SLSMG_LARROW_CHAR ','
-# define SLSMG_RARROW_CHAR '+'
-# define SLSMG_DARROW_CHAR '.'
-# define SLSMG_UARROW_CHAR '-'
-# define SLSMG_BOARD_CHAR 'h'
-# define SLSMG_BLOCK_CHAR '0'
-# endif /* AMIGA */
-#endif /* IBMPC_SYSTEM */
-
-#ifndef IBMPC_SYSTEM
-# define SLSMG_COLOR_BLACK 0x000000
-# define SLSMG_COLOR_RED 0x000001
-# define SLSMG_COLOR_GREEN 0x000002
-# define SLSMG_COLOR_BROWN 0x000003
-# define SLSMG_COLOR_BLUE 0x000004
-# define SLSMG_COLOR_MAGENTA 0x000005
-# define SLSMG_COLOR_CYAN 0x000006
-# define SLSMG_COLOR_LGRAY 0x000007
-# define SLSMG_COLOR_GRAY 0x000008
-# define SLSMG_COLOR_BRIGHT_RED 0x000009
-# define SLSMG_COLOR_BRIGHT_GREEN 0x00000A
-# define SLSMG_COLOR_BRIGHT_BROWN 0x00000B
-# define SLSMG_COLOR_BRIGHT_BLUE 0x00000C
-# define SLSMG_COLOR_BRIGHT_CYAN 0x00000D
-# define SLSMG_COLOR_BRIGHT_MAGENTA 0x00000E
-# define SLSMG_COLOR_BRIGHT_WHITE 0x00000F
-#endif
-
-typedef struct
-{
- void (*tt_normal_video)(void);
- void (*tt_set_scroll_region)(int, int);
- void (*tt_goto_rc)(int, int);
- void (*tt_reverse_index)(int);
- void (*tt_reset_scroll_region)(void);
- void (*tt_delete_nlines)(int);
- void (*tt_cls) (void);
- void (*tt_del_eol) (void);
- void (*tt_smart_puts) (SLsmg_Char_Type *, SLsmg_Char_Type *, int, int);
- int (*tt_flush_output) (void);
- int (*tt_reset_video) (void);
- int (*tt_init_video) (void);
-
- int *tt_screen_rows;
- int *tt_screen_cols;
-
- int *tt_term_cannot_scroll;
- int *tt_has_alt_charset;
- int *tt_use_blink_for_acs;
- char **tt_graphic_char_pairs;
-
- long reserved[4];
-}
-SLsmg_Term_Type;
-extern void SLsmg_set_terminal_info (SLsmg_Term_Type *);
-
-/*}}}*/
-
-/*{{{ SLang Keypad Interface */
-
-#define SL_KEY_ERR 0xFFFF
-
-#define SL_KEY_UP 0x101
-#define SL_KEY_DOWN 0x102
-#define SL_KEY_LEFT 0x103
-#define SL_KEY_RIGHT 0x104
-#define SL_KEY_PPAGE 0x105
-#define SL_KEY_NPAGE 0x106
-#define SL_KEY_HOME 0x107
-#define SL_KEY_END 0x108
-#define SL_KEY_A1 0x109
-#define SL_KEY_A3 0x10A
-#define SL_KEY_B2 0x10B
-#define SL_KEY_C1 0x10C
-#define SL_KEY_C3 0x10D
-#define SL_KEY_REDO 0x10E
-#define SL_KEY_UNDO 0x10F
-#define SL_KEY_BACKSPACE 0x110
-#define SL_KEY_ENTER 0x111
-#define SL_KEY_IC 0x112
-#define SL_KEY_DELETE 0x113
-
-#define SL_KEY_F0 0x200
-#define SL_KEY_F(X) (SL_KEY_F0 + X)
-
-/* I do not intend to use keysymps > 0x1000. Applications can use those. */
-/* Returns 0 upon success or -1 upon error. */
-extern int SLkp_define_keysym (char *, unsigned int);
-
-/* This function must be called AFTER SLtt_get_terminfo and not before. */
-extern int SLkp_init (void);
-
-/* This function uses SLang_getkey and assumes that what ever initialization
- * is required for SLang_getkey has been performed.
- */
-extern int SLkp_getkey (void);
-
-/*}}}*/
-
-/*{{{ SLang Scroll Interface */
-
-typedef struct _SLscroll_Type
-{
- struct _SLscroll_Type *next;
- struct _SLscroll_Type *prev;
- unsigned int flags;
-}
-SLscroll_Type;
-
-typedef struct
-{
- unsigned int flags;
- SLscroll_Type *top_window_line; /* list element at top of window */
- SLscroll_Type *bot_window_line; /* list element at bottom of window */
- SLscroll_Type *current_line; /* current list element */
- SLscroll_Type *lines; /* first list element */
- unsigned int nrows; /* number of rows in window */
- unsigned int hidden_mask; /* applied to flags in SLscroll_Type */
- unsigned int line_num; /* current line number (visible) */
- unsigned int num_lines; /* total number of lines (visible) */
- unsigned int window_row; /* row of current_line in window */
- unsigned int border; /* number of rows that form scroll border */
- int cannot_scroll; /* should window scroll or recenter */
-}
-SLscroll_Window_Type;
-
-extern int SLscroll_find_top (SLscroll_Window_Type *);
-extern int SLscroll_find_line_num (SLscroll_Window_Type *);
-extern unsigned int SLscroll_next_n (SLscroll_Window_Type *, unsigned int);
-extern unsigned int SLscroll_prev_n (SLscroll_Window_Type *, unsigned int);
-extern int SLscroll_pageup (SLscroll_Window_Type *);
-extern int SLscroll_pagedown (SLscroll_Window_Type *);
-
-/*}}}*/
-
-/*{{{ Signal Routines */
-
-typedef void SLSig_Fun_Type (int);
-extern SLSig_Fun_Type *SLsignal (int, SLSig_Fun_Type *);
-extern SLSig_Fun_Type *SLsignal_intr (int, SLSig_Fun_Type *);
-extern int SLsig_block_signals (void);
-extern int SLsig_unblock_signals (void);
-extern int SLsystem (char *);
-
-extern char *SLerrno_strerror (int);
-extern int SLerrno_set_errno (int);
-
-/*}}}*/
-
-/*{{{ Interpreter Macro Definitions */
-
-/* The definitions here are for objects that may be on the run-time stack.
- * They are actually sub_types of literal and data main_types. The actual
- * numbers are historical.
- */
-#define SLANG_UNDEFINED_TYPE 0x00 /* MUST be 0 */
-#define SLANG_VOID_TYPE 0x01 /* also matches ANY type */
-#define SLANG_INT_TYPE 0x02
-#define SLANG_DOUBLE_TYPE 0x03
-#define SLANG_CHAR_TYPE 0x04
-#define SLANG_INTP_TYPE 0x05
-/* An object of SLANG_INTP_TYPE should never really occur on the stack. Rather,
- * the integer to which it refers will be there instead. It is defined here
- * because it is a valid type for MAKE_VARIABLE.
- */
-#define SLANG_REF_TYPE 0x06
-/* SLANG_REF_TYPE refers to an object on the stack that is a pointer (reference)
- * to some other object.
- */
-#define SLANG_COMPLEX_TYPE 0x07
-#define SLANG_NULL_TYPE 0x08
-#define SLANG_UCHAR_TYPE 0x09
-#define SLANG_SHORT_TYPE 0x0A
-#define SLANG_USHORT_TYPE 0x0B
-#define SLANG_UINT_TYPE 0x0C
-#define SLANG_LONG_TYPE 0x0D
-#define SLANG_ULONG_TYPE 0x0E
-#define SLANG_STRING_TYPE 0x0F
-#define SLANG_FLOAT_TYPE 0x10
-#define SLANG_STRUCT_TYPE 0x11
-#define SLANG_ISTRUCT_TYPE 0x12
-#define SLANG_ARRAY_TYPE 0x20
-#define SLANG_DATATYPE_TYPE 0x21
-#define SLANG_FILE_PTR_TYPE 0x22
-#define SLANG_ASSOC_TYPE 0x23
-#define SLANG_ANY_TYPE 0x24
-#define SLANG_BSTRING_TYPE 0x25
-#define SLANG_FILE_FD_TYPE 0x26
-
-/* Compatibility */
-#ifdef FLOAT_TYPE
-# undef FLOAT_TYPE
-#endif
-#define VOID_TYPE SLANG_VOID_TYPE
-#define INT_TYPE SLANG_INT_TYPE
-#define INTP_TYPE SLANG_INTP_TYPE
-#define FLOAT_TYPE SLANG_DOUBLE_TYPE
-#define ARRAY_TYPE SLANG_ARRAY_TYPE
-#define CHAR_TYPE SLANG_CHAR_TYPE
-#define STRING_TYPE SLANG_STRING_TYPE
-
-/* I am reserving values greater than or equal to 128 for user applications.
- * The first 127 are reserved for S-Lang.
- */
-
-/* Binary and Unary Subtypes */
-/* Since the application can define new types and can overload the binary
- * and unary operators, these definitions must be present in this file.
- * The current implementation assumes both unary and binary are distinct.
- */
-#define SLANG_PLUS 0x01
-#define SLANG_MINUS 0x02
-#define SLANG_TIMES 0x03
-#define SLANG_DIVIDE 0x04
-#define SLANG_EQ 0x05
-#define SLANG_NE 0x06
-#define SLANG_GT 0x07
-#define SLANG_GE 0x08
-#define SLANG_LT 0x09
-#define SLANG_LE 0x0A
-#define SLANG_POW 0x0B
-#define SLANG_OR 0x0C
-#define SLANG_AND 0x0D
-#define SLANG_BAND 0x0E
-#define SLANG_BOR 0x0F
-#define SLANG_BXOR 0x10
-#define SLANG_SHL 0x11
-#define SLANG_SHR 0x12
-#define SLANG_MOD 0x13
-
-/* UNARY subtypes (may be overloaded) */
-#define SLANG_PLUSPLUS 0x20
-#define SLANG_MINUSMINUS 0x21
-#define SLANG_ABS 0x22
-#define SLANG_SIGN 0x23
-#define SLANG_SQR 0x24
-#define SLANG_MUL2 0x25
-#define SLANG_CHS 0x26
-#define SLANG_NOT 0x27
-#define SLANG_BNOT 0x28
-
-extern char *SLang_Error_Message;
-
-int SLadd_intrinsic_variable (char *, VOID_STAR, unsigned char, int);
-int SLadd_intrinsic_function (char *, FVOID_STAR, unsigned char, unsigned int,...);
-
-int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, unsigned char, int);
-int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, unsigned char, unsigned int,...);
-
-extern void SLadd_at_handler (long *, char *);
-
-#define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \
- {(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \
- {a1,a2,a3,a4,a5,a6,a7}, (in), (out)}
-
-#define MAKE_INTRINSIC_7(n,f,out,a1,a2,a3,a4,a5,a6,a7) \
- MAKE_INTRINSIC_N(n,f,out,7,a1,a2,a3,a4,a5,a6,a7)
-#define MAKE_INTRINSIC_6(n,f,out,a1,a2,a3,a4,a5,a6) \
- MAKE_INTRINSIC_N(n,f,out,6,a1,a2,a3,a4,a5,a6,0)
-#define MAKE_INTRINSIC_5(n,f,out,a1,a2,a3,a4,a5) \
- MAKE_INTRINSIC_N(n,f,out,5,a1,a2,a3,a4,a5,0,0)
-#define MAKE_INTRINSIC_4(n,f,out,a1,a2,a3,a4) \
- MAKE_INTRINSIC_N(n,f,out,4,a1,a2,a3,a4,0,0,0)
-#define MAKE_INTRINSIC_3(n,f,out,a1,a2,a3) \
- MAKE_INTRINSIC_N(n,f,out,3,a1,a2,a3,0,0,0,0)
-#define MAKE_INTRINSIC_2(n,f,out,a1,a2) \
- MAKE_INTRINSIC_N(n,f,out,2,a1,a2,0,0,0,0,0)
-#define MAKE_INTRINSIC_1(n,f,out,a1) \
- MAKE_INTRINSIC_N(n,f,out,1,a1,0,0,0,0,0,0)
-#define MAKE_INTRINSIC_0(n,f,out) \
- MAKE_INTRINSIC_N(n,f,out,0,0,0,0,0,0,0,0)
-
-#define MAKE_INTRINSIC_S(n,f,r) \
- MAKE_INTRINSIC_1(n,f,r,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_I(n,f,r) \
- MAKE_INTRINSIC_1(n,f,r,SLANG_INT_TYPE)
-
-#define MAKE_INTRINSIC_SS(n,f,r) \
- MAKE_INTRINSIC_2(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_SI(n,f,r) \
- MAKE_INTRINSIC_2(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE)
-#define MAKE_INTRINSIC_IS(n,f,r) \
- MAKE_INTRINSIC_2(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_II(n,f,r) \
- MAKE_INTRINSIC_2(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE)
-
-#define MAKE_INTRINSIC_SSS(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_SSI(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE,SLANG_INT_TYPE)
-#define MAKE_INTRINSIC_SIS(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_SII(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE,SLANG_INT_TYPE)
-#define MAKE_INTRINSIC_ISS(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_ISI(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE,SLANG_INT_TYPE)
-#define MAKE_INTRINSIC_IIS(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_III(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE,SLANG_INT_TYPE)
-
-#define MAKE_INTRINSIC(n, f, out, in) \
- MAKE_INTRINSIC_N(n,f,out,in,0,0,0,0,0,0,0)
-
-#define MAKE_VARIABLE(n, v, t, r) \
- {n, NULL, SLANG_IVARIABLE + (r), (VOID_STAR)(v), (t)}
-
-#define MAKE_APP_UNARY(n,op) \
- {(n), NULL, SLANG_APP_UNARY, (op)}
-
-#define MAKE_MATH_UNARY(n,op) \
- {(n), NULL, SLANG_MATH_UNARY, (op)}
-
-#define MAKE_ICONSTANT(n,val) \
- {(n),NULL, SLANG_ICONSTANT, (val)}
-
-#define MAKE_DCONSTANT(n,val) \
- {(n),NULL, SLANG_DCONSTANT, (val)}
-
-#ifndef offsetof
-# define offsetof(T,F) ((unsigned int)((char *)&((T *)0L)->F - (char *)0L))
-#endif
-#define MAKE_ISTRUCT_FIELD(s,f,n,t,r) {(n), offsetof(s,f), (t), (r)}
-
-#define SLANG_END_TABLE {NULL}
-#define SLANG_END_INTRIN_FUN_TABLE MAKE_INTRINSIC_0(NULL,NULL,0)
-#define SLANG_END_DCONST_TABLE MAKE_DCONSTANT(NULL,0)
-#define SLANG_END_MATH_UNARY_TABLE MAKE_MATH_UNARY(NULL,0)
-#define SLANG_END_INTRIN_VAR_TABLE MAKE_VARIABLE(NULL,NULL,0,0)
-#define SLANG_END_ICONST_TABLE MAKE_ICONSTANT(NULL,0)
-#define SLANG_END_ISTRUCT_TABLE {NULL, 0, 0, 0}
-
-
-
-/*}}}*/
-
-/*{{{ Upper/Lowercase Functions */
-
-extern void SLang_define_case(int *, int *);
-extern void SLang_init_case_tables (void);
-
-extern unsigned char _SLChg_UCase_Lut[256];
-extern unsigned char _SLChg_LCase_Lut[256];
-#define UPPER_CASE(x) (_SLChg_UCase_Lut[(unsigned char) (x)])
-#define LOWER_CASE(x) (_SLChg_LCase_Lut[(unsigned char) (x)])
-#define CHANGE_CASE(x) (((x) == _SLChg_LCase_Lut[(unsigned char) (x)]) ?\
- _SLChg_UCase_Lut[(unsigned char) (x)] : _SLChg_LCase_Lut[(unsigned char) (x)])
-
-/*}}}*/
-
-/*{{{ Regular Expression Interface */
-
-typedef struct
-{
- /* These must be set by calling routine. */
- unsigned char *pat; /* regular expression pattern */
- unsigned char *buf; /* buffer for compiled regexp */
- unsigned int buf_len; /* length of buffer */
- int case_sensitive; /* 1 if match is case sensitive */
-
- /* The rest are set by SLang_regexp_compile */
-
- int must_match; /* 1 if line must contain substring */
- int must_match_bol; /* true if it must match beginning of line */
- unsigned char must_match_str[16]; /* 15 char null term substring */
- int osearch; /* 1 if ordinary search suffices */
- unsigned int min_length; /* minimum length the match must be */
- int beg_matches[10]; /* offset of start of \( */
- unsigned int end_matches[10]; /* length of nth submatch
- * Note that the entire match corresponds
- * to \0
- */
- int offset; /* offset to be added to beg_matches */
- int reserved[10];
-} SLRegexp_Type;
-
-extern unsigned char *SLang_regexp_match(unsigned char *,
- unsigned int,
- SLRegexp_Type *);
-
-/* Returns 0 upon success. If failure, the offset into the
- * pattern is returned (start = 1).
- */
-extern int SLang_regexp_compile (SLRegexp_Type *);
-extern char *SLregexp_quote_string (char *, char *, unsigned int);
-
-/*}}}*/
-
-/*{{{ SLang Command Interface */
-
-struct _SLcmd_Cmd_Type; /* Pre-declaration is needed below */
-typedef struct
-{
- struct _SLcmd_Cmd_Type *table;
- int argc;
- /* Version 2.0 needs to use a union!! */
- char **string_args;
- int *int_args;
- double *double_args;
- unsigned char *arg_type;
- unsigned long reserved[4];
-} SLcmd_Cmd_Table_Type;
-
-typedef struct _SLcmd_Cmd_Type
-{
- int (*cmdfun)(int, SLcmd_Cmd_Table_Type *);
- char *cmd;
- char *arg_type;
-} SLcmd_Cmd_Type;
-
-extern int SLcmd_execute_string (char *, SLcmd_Cmd_Table_Type *);
-
-/*}}}*/
-
-/*{{{ SLang Search Interface */
-
-typedef struct
-{
- int cs; /* case sensitive */
- unsigned char key[256];
- int ind[256];
- int key_len;
- int dir;
-} SLsearch_Type;
-
-extern int SLsearch_init (char *, int, int, SLsearch_Type *);
-/* This routine must first be called before any search can take place.
- * The second parameter specifies the direction of the search: greater than
- * zero for a forwrd search and less than zero for a backward search. The
- * third parameter specifies whether the search is case sensitive or not.
- * The last parameter is a pointer to a structure that is filled by this
- * function and it is this structure that must be passed to SLsearch.
- */
-
-extern unsigned char *SLsearch (unsigned char *, unsigned char *, SLsearch_Type *);
-/* To use this routine, you must first call 'SLsearch_init'. Then the first
- * two parameters p1 and p2 serve to define the region over which the search
- * is to take place. The third parameter is the structure that was previously
- * initialized by SLsearch_init.
- *
- * The routine returns a pointer to the match if found otherwise it returns
- * NULL.
- */
-
-/*}}}*/
-
-/*{{{ SLang Pathname Interface */
-
-/* These function return pointers to the original space */
-extern char *SLpath_basename (char *);
-extern char *SLpath_extname (char *);
-extern int SLpath_is_absolute_path (char *);
-
-/* These return malloced strings--- NOT slstrings */
-extern char *SLpath_dircat (char *, char *);
-extern char *SLpath_find_file_in_path (char *, char *);
-extern char *SLpath_dirname (char *);
-extern int SLpath_file_exists (char *);
-extern char *SLpath_pathname_sans_extname (char *);
-
-/*}}}*/
-
-extern int SLang_set_module_load_path (char *);
-
-#define SLANG_MODULE(name) \
- extern int init_##name##_module_ns (char *); \
- extern void deinit_##name##_module (void)
-
-#if 0
-{
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _DAVIS_SLANG_H_ */
diff --git a/mdk-stage1/slang/slarith.c b/mdk-stage1/slang/slarith.c
deleted file mode 100644
index 07ad68687..000000000
--- a/mdk-stage1/slang/slarith.c
+++ /dev/null
@@ -1,1656 +0,0 @@
-
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include <math.h>
-
-#ifdef HAVE_LOCALE_H
-# include <locale.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-/*
- * This file defines binary and unary operations on all integer types.
- * Supported types include:
- *
- * SLANG_CHAR_TYPE (char)
- * SLANG_SHORT_TYPE (short)
- * SLANG_INT_TYPE (int)
- * SLANG_LONG_TYPE (long)
- * SLANG_FLOAT_TYPE (float)
- * SLANG_DOUBLE_TYPE (double)
- *
- * as well as unsigned types. The result-type of an arithmentic operation
- * will depend upon the data types involved. I am going to distinguish
- * between the boolean operations such as `and' and `or' from the arithmetic
- * operations such as `plus'. Since the result of a boolean operation is
- * either 1 or 0, a boolean result will be represented by SLANG_CHAR_TYPE.
- * Ordinarily I would use an integer but for arrays it makes more sense to
- * use a character data type.
- *
- * So, the following will be assumed (`+' is any arithmetic operator)
- *
- * char + char = int
- * char|short + short = int
- * char|short|int + int = int
- * char|short|int|long + long = long
- * char|short|int|long|float + float = float
- * char|short|int|long|float|double + double = double
- *
- * In the actual implementation, a brute force approach is avoided. Such
- * an approach would mean defining different functions for all possible
- * combinations of types. Including the unsigned types, and not including
- * the complex number type, there are 10 arithmetic types and 10*10=100
- * different combinations of types. Clearly this would be too much.
- *
- * One approach would be to define binary functions only between operands of
- * the same type and then convert types as appropriate. This would require
- * just 6 such functions (int, uint, long, ulong, float, double).
- * However, many conversion functions are going to be required, particularly
- * since we are going to allow typecasting from one arithmetic to another.
- * Since the bit pattern of signed and unsigned types are the same, and only
- * the interpretation differs, there will be no functions to convert between
- * signed and unsigned forms of a given type.
- */
-
-#define MAX_ARITHMETIC_TYPES 10
-
-unsigned char _SLarith_Is_Arith_Type [256];
-
-unsigned char _SLarith_Arith_Types[] =
-{
- SLANG_CHAR_TYPE,
- SLANG_UCHAR_TYPE,
- SLANG_SHORT_TYPE,
- SLANG_USHORT_TYPE,
- SLANG_INT_TYPE,
- SLANG_UINT_TYPE,
- SLANG_LONG_TYPE,
- SLANG_ULONG_TYPE,
- SLANG_FLOAT_TYPE,
- SLANG_DOUBLE_TYPE,
- 0
-};
-
-/* Here are a bunch of functions to convert from one type to another. To
- * facilitate the process, a macros will be used.
- */
-
-#define DEFUN_1(f,from_type,to_type) \
-static void f (to_type *y, from_type *x, unsigned int n) \
-{ \
- unsigned int i; \
- for (i = 0; i < n; i++) y[i] = (to_type) x[i]; \
-}
-
-#define DEFUN_2(f,from_type,to_type,copy_fun) \
-static VOID_STAR f (VOID_STAR xp, unsigned int n) \
-{ \
- from_type *x; \
- to_type *y; \
- x = (from_type *) xp; \
- if (NULL == (y = (to_type *) SLmalloc (sizeof (to_type) * n))) return NULL; \
- copy_fun (y, x, n); \
- return (VOID_STAR) y; \
-}
-typedef VOID_STAR (*Convert_Fun_Type)(VOID_STAR, unsigned int);
-
-DEFUN_1(copy_char_to_char,char,char)
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_char_to_short,char,short)
-DEFUN_1(copy_char_to_ushort,char,unsigned short)
-#else
-# define copy_char_to_short copy_char_to_int
-# define copy_char_to_ushort copy_char_to_uint
-#endif
-DEFUN_1(copy_char_to_int,char,int)
-DEFUN_1(copy_char_to_uint,char,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_char_to_long,char,long)
-DEFUN_1(copy_char_to_ulong,char,unsigned long)
-#else
-# define copy_char_to_long copy_char_to_int
-# define copy_char_to_ulong copy_char_to_uint
-#endif
-DEFUN_1(copy_char_to_float,char,float)
-DEFUN_1(copy_char_to_double,char,double)
-
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_uchar_to_short,unsigned char,short)
-DEFUN_1(copy_uchar_to_ushort,unsigned char,unsigned short)
-#else
-# define copy_uchar_to_short copy_uchar_to_int
-# define copy_uchar_to_ushort copy_uchar_to_uint
-#endif
-DEFUN_1(copy_uchar_to_int,unsigned char,int)
-DEFUN_1(copy_uchar_to_uint,unsigned char,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_uchar_to_long,unsigned char,long)
-DEFUN_1(copy_uchar_to_ulong,unsigned char,unsigned long)
-#else
-# define copy_uchar_to_long copy_uchar_to_int
-# define copy_uchar_to_ulong copy_uchar_to_uint
-#endif
-DEFUN_1(copy_uchar_to_float,unsigned char,float)
-DEFUN_1(copy_uchar_to_double,unsigned char,double)
-
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_short_to_char,short,char)
-DEFUN_1(copy_short_to_uchar,short,unsigned char)
-DEFUN_1(copy_short_to_short,short,short)
-DEFUN_1(copy_short_to_int,short,int)
-DEFUN_1(copy_short_to_uint,short,unsigned int)
-DEFUN_1(copy_short_to_long,short,long)
-DEFUN_1(copy_short_to_ulong,short,unsigned long)
-DEFUN_1(copy_short_to_float,short,float)
-DEFUN_1(copy_short_to_double,short,double)
-DEFUN_1(copy_ushort_to_char,unsigned short,char)
-DEFUN_1(copy_ushort_to_uchar,unsigned short,unsigned char)
-DEFUN_1(copy_ushort_to_int,unsigned short,int)
-DEFUN_1(copy_ushort_to_uint,unsigned short,unsigned int)
-DEFUN_1(copy_ushort_to_long,unsigned short,long)
-DEFUN_1(copy_ushort_to_ulong,unsigned short,unsigned long)
-DEFUN_1(copy_ushort_to_float,unsigned short,float)
-DEFUN_1(copy_ushort_to_double,unsigned short,double)
-#else
-# define copy_short_to_char copy_int_to_char
-# define copy_short_to_uchar copy_int_to_uchar
-# define copy_short_to_short copy_int_to_int
-# define copy_short_to_int copy_int_to_int
-# define copy_short_to_uint copy_int_to_int
-# define copy_short_to_long copy_int_to_long
-# define copy_short_to_ulong copy_int_to_ulong
-# define copy_short_to_float copy_int_to_float
-# define copy_short_to_double copy_int_to_double
-# define copy_ushort_to_char copy_uint_to_char
-# define copy_ushort_to_uchar copy_uint_to_uchar
-# define copy_ushort_to_int copy_int_to_int
-# define copy_ushort_to_uint copy_int_to_int
-# define copy_ushort_to_long copy_uint_to_long
-# define copy_ushort_to_ulong copy_uint_to_ulong
-# define copy_ushort_to_float copy_uint_to_float
-# define copy_ushort_to_double copy_uint_to_double
-#endif
-
-DEFUN_1(copy_int_to_char,int,char)
-DEFUN_1(copy_int_to_uchar,int,unsigned char)
-DEFUN_1(copy_uint_to_char,unsigned int,char)
-DEFUN_1(copy_uint_to_uchar,unsigned int,unsigned char)
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_int_to_short,int,short)
-DEFUN_1(copy_int_to_ushort,int,unsigned short)
-DEFUN_1(copy_uint_to_short,unsigned int,short)
-DEFUN_1(copy_uint_to_ushort,unsigned int,unsigned short)
-#else
-# define copy_int_to_short copy_int_to_int
-# define copy_int_to_ushort copy_int_to_int
-# define copy_uint_to_short copy_int_to_int
-# define copy_uint_to_ushort copy_int_to_int
-#endif
-DEFUN_1(copy_int_to_int,int,int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_int_to_long,int,long)
-DEFUN_1(copy_int_to_ulong,int,unsigned long)
-DEFUN_1(copy_uint_to_long,unsigned int,long)
-DEFUN_1(copy_uint_to_ulong,unsigned int,unsigned long)
-#else
-# define copy_int_to_long copy_int_to_int
-# define copy_int_to_ulong copy_int_to_int
-# define copy_uint_to_long copy_int_to_int
-# define copy_uint_to_ulong copy_int_to_int
-#endif
-DEFUN_1(copy_int_to_float,int,float)
-DEFUN_1(copy_int_to_double,int,double)
-DEFUN_1(copy_uint_to_float,unsigned int,float)
-DEFUN_1(copy_uint_to_double,unsigned int,double)
-
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_long_to_char,long,char)
-DEFUN_1(copy_long_to_uchar,long,unsigned char)
-DEFUN_1(copy_long_to_short,long,short)
-DEFUN_1(copy_long_to_ushort,long,unsigned short)
-DEFUN_1(copy_long_to_int,long,int)
-DEFUN_1(copy_long_to_uint,long,unsigned int)
-DEFUN_1(copy_long_to_long,long,long)
-DEFUN_1(copy_long_to_float,long,float)
-DEFUN_1(copy_long_to_double,long,double)
-DEFUN_1(copy_ulong_to_char,unsigned long,char)
-DEFUN_1(copy_ulong_to_uchar,unsigned long,unsigned char)
-DEFUN_1(copy_ulong_to_short,unsigned long,short)
-DEFUN_1(copy_ulong_to_ushort,unsigned long,unsigned short)
-DEFUN_1(copy_ulong_to_int,unsigned long,int)
-DEFUN_1(copy_ulong_to_uint,unsigned long,unsigned int)
-DEFUN_1(copy_ulong_to_float,unsigned long,float)
-DEFUN_1(copy_ulong_to_double,unsigned long,double)
-#else
-#define copy_long_to_char copy_int_to_char
-#define copy_long_to_uchar copy_int_to_uchar
-#define copy_long_to_short copy_int_to_short
-#define copy_long_to_ushort copy_int_to_ushort
-#define copy_long_to_int copy_int_to_int
-#define copy_long_to_uint copy_int_to_int
-#define copy_long_to_long copy_int_to_int
-#define copy_long_to_float copy_int_to_float
-#define copy_long_to_double copy_int_to_double
-#define copy_ulong_to_char copy_uint_to_char
-#define copy_ulong_to_uchar copy_uint_to_uchar
-#define copy_ulong_to_short copy_uint_to_short
-#define copy_ulong_to_ushort copy_uint_to_ushort
-#define copy_ulong_to_int copy_int_to_int
-#define copy_ulong_to_uint copy_int_to_int
-#define copy_ulong_to_float copy_uint_to_float
-#define copy_ulong_to_double copy_uint_to_double
-#endif
-
-DEFUN_1(copy_float_to_char,float,char)
-DEFUN_1(copy_float_to_uchar,float,unsigned char)
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_float_to_short,float,short)
-DEFUN_1(copy_float_to_ushort,float,unsigned short)
-#else
-# define copy_float_to_short copy_float_to_int
-# define copy_float_to_ushort copy_float_to_uint
-#endif
-DEFUN_1(copy_float_to_int,float,int)
-DEFUN_1(copy_float_to_uint,float,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_float_to_long,float,long)
-DEFUN_1(copy_float_to_ulong,float,unsigned long)
-#else
-# define copy_float_to_long copy_float_to_int
-# define copy_float_to_ulong copy_float_to_uint
-#endif
-DEFUN_1(copy_float_to_float,float,float)
-DEFUN_1(copy_float_to_double,float,double)
-
-DEFUN_1(copy_double_to_char,double,char)
-DEFUN_1(copy_double_to_uchar,double,unsigned char)
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_double_to_short,double,short)
-DEFUN_1(copy_double_to_ushort,double,unsigned short)
-#else
-# define copy_double_to_short copy_double_to_int
-# define copy_double_to_ushort copy_double_to_uint
-#endif
-DEFUN_1(copy_double_to_int,double,int)
-DEFUN_1(copy_double_to_uint,double,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_double_to_long,double,long)
-DEFUN_1(copy_double_to_ulong,double,unsigned long)
-#else
-# define copy_double_to_long copy_double_to_int
-# define copy_double_to_ulong copy_double_to_uint
-#endif
-DEFUN_1(copy_double_to_float,double,float)
-DEFUN_1(copy_double_to_double,double,double)
-
-DEFUN_2(char_to_int,char,int,copy_char_to_int)
-DEFUN_2(char_to_uint,char,unsigned int,copy_char_to_uint)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(char_to_long,char,long,copy_char_to_long)
-DEFUN_2(char_to_ulong,char,unsigned long,copy_char_to_ulong)
-#else
-# define char_to_long char_to_int
-# define char_to_ulong char_to_uint
-#endif
-DEFUN_2(char_to_float,char,float,copy_char_to_float)
-DEFUN_2(char_to_double,char,double,copy_char_to_double)
-
-DEFUN_2(uchar_to_int,unsigned char,int,copy_uchar_to_int)
-DEFUN_2(uchar_to_uint,unsigned char,unsigned int,copy_uchar_to_uint)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(uchar_to_long,unsigned char,long,copy_uchar_to_long)
-DEFUN_2(uchar_to_ulong,unsigned char,unsigned long,copy_uchar_to_ulong)
-#else
-# define uchar_to_long uchar_to_int
-# define uchar_to_ulong uchar_to_uint
-#endif
-DEFUN_2(uchar_to_float,unsigned char,float,copy_uchar_to_float)
-DEFUN_2(uchar_to_double,unsigned char,double,copy_uchar_to_double)
-
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_2(short_to_int,short,int,copy_short_to_int)
-DEFUN_2(short_to_uint,short,unsigned int,copy_short_to_uint)
-DEFUN_2(short_to_long,short,long,copy_short_to_long)
-DEFUN_2(short_to_ulong,short,unsigned long,copy_short_to_ulong)
-DEFUN_2(short_to_float,short,float,copy_short_to_float)
-DEFUN_2(short_to_double,short,double,copy_short_to_double)
-DEFUN_2(ushort_to_int,unsigned short,int,copy_ushort_to_int)
-DEFUN_2(ushort_to_uint,unsigned short,unsigned int,copy_ushort_to_uint)
-DEFUN_2(ushort_to_long,unsigned short,long,copy_ushort_to_long)
-DEFUN_2(ushort_to_ulong,unsigned short,unsigned long,copy_ushort_to_ulong)
-DEFUN_2(ushort_to_float,unsigned short,float,copy_ushort_to_float)
-DEFUN_2(ushort_to_double,unsigned short,double,copy_ushort_to_double)
-#else
-# define short_to_int NULL
-# define short_to_uint NULL
-# define short_to_long int_to_long
-# define short_to_ulong int_to_ulong
-# define short_to_float int_to_float
-# define short_to_double int_to_double
-# define ushort_to_int NULL
-# define ushort_to_uint NULL
-# define ushort_to_long uint_to_long
-# define ushort_to_ulong uint_to_ulong
-# define ushort_to_float uint_to_float
-# define ushort_to_double uint_to_double
-#endif
-
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(int_to_long,int,long,copy_int_to_long)
-DEFUN_2(int_to_ulong,int,unsigned long,copy_int_to_ulong)
-#else
-# define int_to_long NULL
-# define int_to_ulong NULL
-#endif
-DEFUN_2(int_to_float,int,float,copy_int_to_float)
-DEFUN_2(int_to_double,int,double,copy_int_to_double)
-
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(uint_to_long,unsigned int,long,copy_uint_to_long)
-DEFUN_2(uint_to_ulong,unsigned int,unsigned long,copy_uint_to_ulong)
-#else
-# define uint_to_long NULL
-# define uint_to_ulong NULL
-#endif
-DEFUN_2(uint_to_float,unsigned int,float,copy_uint_to_float)
-DEFUN_2(uint_to_double,unsigned int,double,copy_uint_to_double)
-
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(long_to_float,long,float,copy_long_to_float)
-DEFUN_2(long_to_double,long,double,copy_long_to_double)
-DEFUN_2(ulong_to_float,unsigned long,float,copy_ulong_to_float)
-DEFUN_2(ulong_to_double,unsigned long,double,copy_ulong_to_double)
-#else
-# define long_to_float int_to_float
-# define long_to_double int_to_double
-# define ulong_to_float uint_to_float
-# define ulong_to_double uint_to_double
-#endif
-
-DEFUN_2(float_to_double,float,double,copy_float_to_double)
-
-#define TO_DOUBLE_FUN(name,type) \
-static double name (VOID_STAR x) { return (double) *(type *) x; }
-TO_DOUBLE_FUN(char_to_one_double,char)
-TO_DOUBLE_FUN(uchar_to_one_double,unsigned char)
-#if SIZEOF_INT != SIZEOF_SHORT
-TO_DOUBLE_FUN(short_to_one_double,short)
-TO_DOUBLE_FUN(ushort_to_one_double,unsigned short)
-#else
-# define short_to_one_double int_to_one_double
-# define ushort_to_one_double uint_to_one_double
-#endif
-TO_DOUBLE_FUN(int_to_one_double,int)
-TO_DOUBLE_FUN(uint_to_one_double,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-TO_DOUBLE_FUN(long_to_one_double,long)
-TO_DOUBLE_FUN(ulong_to_one_double,unsigned long)
-#else
-# define long_to_one_double int_to_one_double
-# define ulong_to_one_double uint_to_one_double
-#endif
-TO_DOUBLE_FUN(float_to_one_double,float)
-TO_DOUBLE_FUN(double_to_one_double,double)
-
-SLang_To_Double_Fun_Type
-SLarith_get_to_double_fun (unsigned char type, unsigned int *sizeof_type)
-{
- unsigned int da;
- SLang_To_Double_Fun_Type to_double;
-
- switch (type)
- {
- default:
- return NULL;
-
- case SLANG_CHAR_TYPE:
- da = sizeof (char); to_double = char_to_one_double;
- break;
- case SLANG_UCHAR_TYPE:
- da = sizeof (unsigned char); to_double = uchar_to_one_double;
- break;
- case SLANG_SHORT_TYPE:
- da = sizeof (short); to_double = short_to_one_double;
- break;
- case SLANG_USHORT_TYPE:
- da = sizeof (unsigned short); to_double = ushort_to_one_double;
- break;
- case SLANG_INT_TYPE:
- da = sizeof (int); to_double = int_to_one_double;
- break;
- case SLANG_UINT_TYPE:
- da = sizeof (unsigned int); to_double = uint_to_one_double;
- break;
- case SLANG_LONG_TYPE:
- da = sizeof (long); to_double = long_to_one_double;
- break;
- case SLANG_ULONG_TYPE:
- da = sizeof (unsigned long); to_double = ulong_to_one_double;
- break;
- case SLANG_FLOAT_TYPE:
- da = sizeof (float); to_double = float_to_one_double;
- break;
- case SLANG_DOUBLE_TYPE:
- da = sizeof (double); to_double = double_to_one_double;
- break;
- }
-
- if (sizeof_type != NULL) *sizeof_type = da;
- return to_double;
-}
-
-/* Each element of the matrix determines how the row maps onto the column.
- * That is, let the matrix be B_ij. Where the i,j indices refer to
- * precedence of the type. Then,
- * B_ij->copy_function copies type i to type j. Similarly,
- * B_ij->convert_function mallocs a new array of type j and copies i to it.
- *
- * Since types are always converted to higher levels of precedence for binary
- * operations, many of the elements are NULL.
- *
- * Is the idea clear?
- */
-typedef struct
-{
- FVOID_STAR copy_function;
- Convert_Fun_Type convert_function;
-}
-Binary_Matrix_Type;
-
-static Binary_Matrix_Type Binary_Matrix [MAX_ARITHMETIC_TYPES][MAX_ARITHMETIC_TYPES] =
-{
- {
- {(FVOID_STAR)copy_char_to_char, NULL},
- {(FVOID_STAR)copy_char_to_char, NULL},
- {(FVOID_STAR) copy_char_to_short, NULL},
- {(FVOID_STAR) copy_char_to_ushort, NULL},
- {(FVOID_STAR) copy_char_to_int, char_to_int},
- {(FVOID_STAR) copy_char_to_uint, char_to_uint},
- {(FVOID_STAR) copy_char_to_long, char_to_long},
- {(FVOID_STAR) copy_char_to_ulong, char_to_ulong},
- {(FVOID_STAR) copy_char_to_float, char_to_float},
- {(FVOID_STAR) copy_char_to_double, char_to_double},
- },
-
- {
- {(FVOID_STAR)copy_char_to_char, NULL},
- {(FVOID_STAR)copy_char_to_char, NULL},
- {(FVOID_STAR) copy_uchar_to_short, NULL},
- {(FVOID_STAR) copy_uchar_to_ushort, NULL},
- {(FVOID_STAR) copy_uchar_to_int, uchar_to_int},
- {(FVOID_STAR) copy_uchar_to_uint, uchar_to_uint},
- {(FVOID_STAR) copy_uchar_to_long, uchar_to_long},
- {(FVOID_STAR) copy_uchar_to_ulong, uchar_to_ulong},
- {(FVOID_STAR) copy_uchar_to_float, uchar_to_float},
- {(FVOID_STAR) copy_uchar_to_double, uchar_to_double},
- },
-
- {
- {(FVOID_STAR) copy_short_to_char, NULL},
- {(FVOID_STAR) copy_short_to_uchar, NULL},
- {(FVOID_STAR) copy_short_to_short, NULL},
- {(FVOID_STAR) copy_short_to_short, NULL},
- {(FVOID_STAR) copy_short_to_int, short_to_int},
- {(FVOID_STAR) copy_short_to_uint, short_to_uint},
- {(FVOID_STAR) copy_short_to_long, short_to_long},
- {(FVOID_STAR) copy_short_to_ulong, short_to_ulong},
- {(FVOID_STAR) copy_short_to_float, short_to_float},
- {(FVOID_STAR) copy_short_to_double, short_to_double},
- },
-
- {
- {(FVOID_STAR) copy_ushort_to_char, NULL},
- {(FVOID_STAR) copy_ushort_to_uchar, NULL},
- {(FVOID_STAR) copy_short_to_short, NULL},
- {(FVOID_STAR) copy_short_to_short, NULL},
- {(FVOID_STAR) copy_ushort_to_int, ushort_to_int},
- {(FVOID_STAR) copy_ushort_to_uint, ushort_to_uint},
- {(FVOID_STAR) copy_ushort_to_long, ushort_to_long},
- {(FVOID_STAR) copy_ushort_to_ulong, ushort_to_ulong},
- {(FVOID_STAR) copy_ushort_to_float, ushort_to_float},
- {(FVOID_STAR) copy_ushort_to_double, ushort_to_double},
- },
-
- {
- {(FVOID_STAR) copy_int_to_char, NULL},
- {(FVOID_STAR) copy_int_to_uchar, NULL},
- {(FVOID_STAR) copy_int_to_short, NULL},
- {(FVOID_STAR) copy_int_to_ushort, NULL},
- {(FVOID_STAR) copy_int_to_int, NULL},
- {(FVOID_STAR) copy_int_to_int, NULL},
- {(FVOID_STAR) copy_int_to_long, int_to_long},
- {(FVOID_STAR) copy_int_to_ulong, int_to_ulong},
- {(FVOID_STAR) copy_int_to_float, int_to_float},
- {(FVOID_STAR) copy_int_to_double, int_to_double},
- },
-
- {
- {(FVOID_STAR) copy_uint_to_char, NULL},
- {(FVOID_STAR) copy_uint_to_uchar, NULL},
- {(FVOID_STAR) copy_uint_to_short, NULL},
- {(FVOID_STAR) copy_uint_to_ushort, NULL},
- {(FVOID_STAR) copy_int_to_int, NULL},
- {(FVOID_STAR) copy_int_to_int, NULL},
- {(FVOID_STAR) copy_uint_to_long, uint_to_long},
- {(FVOID_STAR) copy_uint_to_ulong, uint_to_ulong},
- {(FVOID_STAR) copy_uint_to_float, uint_to_float},
- {(FVOID_STAR) copy_uint_to_double, uint_to_double},
- },
-
- {
- {(FVOID_STAR) copy_long_to_char, NULL},
- {(FVOID_STAR) copy_long_to_uchar, NULL},
- {(FVOID_STAR) copy_long_to_short, NULL},
- {(FVOID_STAR) copy_long_to_ushort, NULL},
- {(FVOID_STAR) copy_long_to_int, NULL},
- {(FVOID_STAR) copy_long_to_uint, NULL},
- {(FVOID_STAR) copy_long_to_long, NULL},
- {(FVOID_STAR) copy_long_to_long, NULL},
- {(FVOID_STAR) copy_long_to_float, long_to_float},
- {(FVOID_STAR) copy_long_to_double, long_to_double},
- },
-
- {
- {(FVOID_STAR) copy_ulong_to_char, NULL},
- {(FVOID_STAR) copy_ulong_to_uchar, NULL},
- {(FVOID_STAR) copy_ulong_to_short, NULL},
- {(FVOID_STAR) copy_ulong_to_ushort, NULL},
- {(FVOID_STAR) copy_ulong_to_int, NULL},
- {(FVOID_STAR) copy_ulong_to_uint, NULL},
- {(FVOID_STAR) copy_long_to_long, NULL},
- {(FVOID_STAR) copy_long_to_long, NULL},
- {(FVOID_STAR) copy_ulong_to_float, ulong_to_float},
- {(FVOID_STAR) copy_ulong_to_double, ulong_to_double},
- },
-
- {
- {(FVOID_STAR) copy_float_to_char, NULL},
- {(FVOID_STAR) copy_float_to_uchar, NULL},
- {(FVOID_STAR) copy_float_to_short, NULL},
- {(FVOID_STAR) copy_float_to_ushort, NULL},
- {(FVOID_STAR) copy_float_to_int, NULL},
- {(FVOID_STAR) copy_float_to_uint, NULL},
- {(FVOID_STAR) copy_float_to_long, NULL},
- {(FVOID_STAR) copy_float_to_ulong, NULL},
- {(FVOID_STAR) copy_float_to_float, NULL},
- {(FVOID_STAR) copy_float_to_double, float_to_double},
- },
-
- {
- {(FVOID_STAR) copy_double_to_char, NULL},
- {(FVOID_STAR) copy_double_to_uchar, NULL},
- {(FVOID_STAR) copy_double_to_short, NULL},
- {(FVOID_STAR) copy_double_to_ushort, NULL},
- {(FVOID_STAR) copy_double_to_int, NULL},
- {(FVOID_STAR) copy_double_to_uint, NULL},
- {(FVOID_STAR) copy_double_to_long, NULL},
- {(FVOID_STAR) copy_double_to_ulong, NULL},
- {(FVOID_STAR) copy_double_to_float, NULL},
- {(FVOID_STAR) copy_double_to_double, NULL},
- }
-};
-
-#define GENERIC_BINARY_FUNCTION int_int_bin_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE int
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define ABS_FUNCTION abs
-#define MOD_FUNCTION(a,b) ((a) % (b))
-#define GENERIC_UNARY_FUNCTION int_unary_op
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define SCALAR_BINARY_FUNCTION int_int_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_int_obj(SLANG_INT_TYPE,(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION int_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_BINARY_FUNCTION uint_uint_bin_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE unsigned int
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define MOD_FUNCTION(a,b) ((a) % (b))
-#define GENERIC_UNARY_FUNCTION uint_unary_op
-#define ABS_FUNCTION(a) (a)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
-#define SCALAR_BINARY_FUNCTION uint_uint_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_int_obj(SLANG_UINT_TYPE,(int)(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION uint_cmp_function
-#include "slarith.inc"
-
-#if SIZEOF_LONG != SIZEOF_INT
-#define GENERIC_BINARY_FUNCTION long_long_bin_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE long
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define MOD_FUNCTION(a,b) ((a) % (b))
-#define GENERIC_UNARY_FUNCTION long_unary_op
-#define ABS_FUNCTION(a) (((a) >= 0) ? (a) : -(a))
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define SCALAR_BINARY_FUNCTION long_long_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_long_obj(SLANG_LONG_TYPE,(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION long_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_BINARY_FUNCTION ulong_ulong_bin_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE unsigned long
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define MOD_FUNCTION(a,b) ((a) % (b))
-#define GENERIC_UNARY_FUNCTION ulong_unary_op
-#define ABS_FUNCTION(a) (a)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
-#define SCALAR_BINARY_FUNCTION ulong_ulong_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_long_obj(SLANG_ULONG_TYPE,(long)(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION ulong_cmp_function
-#include "slarith.inc"
-#else
-#define long_long_bin_op int_int_bin_op
-#define ulong_ulong_bin_op uint_uint_bin_op
-#define long_unary_op int_unary_op
-#define ulong_unary_op uint_unary_op
-#define long_cmp_function int_cmp_function
-#define ulong_cmp_function uint_cmp_function
-#endif /* SIZEOF_INT != SIZEOF_LONG */
-
-#define GENERIC_BINARY_FUNCTION float_float_bin_op
-#define GENERIC_TYPE float
-#define POW_FUNCTION(a,b) (float)pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE float
-#define MOD_FUNCTION(a,b) (float)fmod((a),(b))
-#define GENERIC_UNARY_FUNCTION float_unary_op
-#define ABS_FUNCTION(a) (float)fabs((double) a)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define SCALAR_BINARY_FUNCTION float_float_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_float_obj(SLANG_FLOAT_TYPE,(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_float_obj(SLANG_FLOAT_TYPE, (x))
-#define CMP_FUNCTION float_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_BINARY_FUNCTION double_double_bin_op
-#define GENERIC_TYPE double
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define MOD_FUNCTION(a,b) (float)fmod((a),(b))
-#define GENERIC_UNARY_FUNCTION double_unary_op
-#define ABS_FUNCTION(a) fabs(a)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define SCALAR_BINARY_FUNCTION double_double_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE,(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION double_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_UNARY_FUNCTION char_unary_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE signed char
-#define ABS_FUNCTION abs
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define CMP_FUNCTION char_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_UNARY_FUNCTION uchar_unary_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE unsigned char
-#define ABS_FUNCTION(x) (x)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
-#define CMP_FUNCTION uchar_cmp_function
-#include "slarith.inc"
-
-#if SIZEOF_SHORT != SIZEOF_INT
-#define GENERIC_UNARY_FUNCTION short_unary_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE short
-#define ABS_FUNCTION abs
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define CMP_FUNCTION short_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_UNARY_FUNCTION ushort_unary_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE unsigned short
-#define ABS_FUNCTION(x) (x)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
-#define CMP_FUNCTION ushort_cmp_function
-#include "slarith.inc"
-#endif /* SIZEOF_INT != SIZEOF_SHORT */
-
-/* Unfortunately, the numbers that were assigned to the data-types were
- * not well thought out. So, I need to use the following table.
- */
-#define MAXIMUM_ARITH_TYPE_VALUE SLANG_FLOAT_TYPE
-#define IS_INTEGER_TYPE(x) \
- (((x) <= MAXIMUM_ARITH_TYPE_VALUE) \
- && (Type_Precedence_Table[x] < 8) && (Type_Precedence_Table[x] != -1))
-#define IS_ARITHMETIC_TYPE(x) \
- (((x) <= MAXIMUM_ARITH_TYPE_VALUE) && (Type_Precedence_Table[x] != -1))
-
-#define LONG_PRECEDENCE_VALUE 6
-#define FLOAT_PRECEDENCE_VALUE 8
-
-static signed char Type_Precedence_Table [MAXIMUM_ARITH_TYPE_VALUE + 1] =
-{
- -1, /* SLANG_UNDEFINED_TYPE */
- -1, /* SLANG_VOID_TYPE */
- 4, /* SLANG_INT_TYPE */
- 9, /* SLANG_DOUBLE_TYPE */
- 0, /* SLANG_CHAR_TYPE */
- -1, /* SLANG_INTP_TYPE */
- -1, /* SLANG_REF_TYPE */
- -1, /* SLANG_COMPLEX_TYPE */
- -1, /* SLANG_NULL_TYPE */
- 1, /* SLANG_UCHAR_TYPE */
- 2, /* SLANG_SHORT_TYPE */
- 3, /* SLANG_USHORT_TYPE */
- 5, /* SLANG_UINT_TYPE */
- 6, /* SLANG_LONG_TYPE */
- 7, /* SLANG_ULONG_TYPE */
- -1, /* SLANG_STRING_TYPE */
- 8 /* SLANG_FLOAT_TYPE */
-};
-
-int _SLarith_get_precedence (unsigned char type)
-{
- if (type > MAXIMUM_ARITH_TYPE_VALUE)
- return -1;
-
- return Type_Precedence_Table[type];
-}
-
-unsigned char _SLarith_promote_type (unsigned char t)
-{
- switch (t)
- {
- case SLANG_FLOAT_TYPE:
- case SLANG_DOUBLE_TYPE:
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE:
- case SLANG_INT_TYPE:
- case SLANG_UINT_TYPE:
- break;
-
- case SLANG_USHORT_TYPE:
-#if SIZEOF_INT == SIZEOF_SHORT
- t = SLANG_UINT_TYPE;
- break;
-#endif
- /* drop */
- case SLANG_CHAR_TYPE:
- case SLANG_UCHAR_TYPE:
- case SLANG_SHORT_TYPE:
- default:
- t = SLANG_INT_TYPE;
- }
-
- return t;
-}
-
-static unsigned char promote_to_common_type (unsigned char a, unsigned char b)
-{
- a = _SLarith_promote_type (a);
- b = _SLarith_promote_type (b);
-
- return (Type_Precedence_Table[a] > Type_Precedence_Table[b]) ? a : b;
-}
-
-static int arith_bin_op_result (int op, unsigned char a_type, unsigned char b_type,
- unsigned char *c_type)
-{
- switch (op)
- {
- case SLANG_EQ:
- case SLANG_NE:
- case SLANG_GT:
- case SLANG_GE:
- case SLANG_LT:
- case SLANG_LE:
- case SLANG_OR:
- case SLANG_AND:
- *c_type = SLANG_CHAR_TYPE;
- return 1;
-
- case SLANG_POW:
- if (SLANG_FLOAT_TYPE == promote_to_common_type (a_type, b_type))
- *c_type = SLANG_FLOAT_TYPE;
- else
- *c_type = SLANG_DOUBLE_TYPE;
- return 1;
-
- case SLANG_BAND:
- case SLANG_BXOR:
- case SLANG_BOR:
- case SLANG_SHL:
- case SLANG_SHR:
- /* The bit-level operations are defined just for integer types */
- if ((0 == IS_INTEGER_TYPE (a_type))
- || (0 == IS_INTEGER_TYPE(b_type)))
- return 0;
- break;
-
- default:
- break;
- }
-
- *c_type = promote_to_common_type (a_type, b_type);
- return 1;
-}
-
-typedef int (*Bin_Fun_Type) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR);
-
-/* This array of functions must be indexed by precedence after arithmetic
- * promotions.
- */
-static Bin_Fun_Type Bin_Fun_Map [MAX_ARITHMETIC_TYPES] =
-{
- NULL,
- NULL,
- NULL,
- NULL,
- int_int_bin_op,
- uint_uint_bin_op,
- long_long_bin_op,
- ulong_ulong_bin_op,
- float_float_bin_op,
- double_double_bin_op
-};
-
-static int arith_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- Convert_Fun_Type af, bf;
- Bin_Fun_Type binfun;
- int a_indx, b_indx, c_indx;
- unsigned char c_type;
- int ret;
-
- c_type = promote_to_common_type (a_type, b_type);
-
- a_indx = Type_Precedence_Table [a_type];
- b_indx = Type_Precedence_Table [b_type];
- c_indx = Type_Precedence_Table [c_type];
-
- af = Binary_Matrix[a_indx][c_indx].convert_function;
- bf = Binary_Matrix[b_indx][c_indx].convert_function;
- binfun = Bin_Fun_Map[c_indx];
-
- if ((af != NULL)
- && (NULL == (ap = (VOID_STAR) (*af) (ap, na))))
- return -1;
-
- if ((bf != NULL)
- && (NULL == (bp = (VOID_STAR) (*bf) (bp, nb))))
- {
- if (af != NULL) SLfree ((char *) ap);
- return -1;
- }
-
- ret = (*binfun) (op, a_type, ap, na, b_type, bp, nb, cp);
- if (af != NULL) SLfree ((char *) ap);
- if (bf != NULL) SLfree ((char *) bp);
-
- return ret;
-}
-
-static int arith_unary_op_result (int op, unsigned char a, unsigned char *b)
-{
- (void) a;
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_SQR:
- case SLANG_MUL2:
- case SLANG_PLUSPLUS:
- case SLANG_MINUSMINUS:
- case SLANG_CHS:
- case SLANG_ABS:
- *b = a;
- break;
-
- case SLANG_NOT:
- case SLANG_BNOT:
- if (0 == IS_INTEGER_TYPE(a))
- return 0;
- *b = a;
- break;
-
- case SLANG_SIGN:
- *b = SLANG_INT_TYPE;
- break;
- }
- return 1;
-}
-
-static int integer_pop (unsigned char type, VOID_STAR ptr)
-{
- SLang_Object_Type obj;
- int i, j;
- void (*f)(VOID_STAR, VOID_STAR, unsigned int);
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- if ((obj.data_type > MAXIMUM_ARITH_TYPE_VALUE)
- || ((j = Type_Precedence_Table[obj.data_type]) == -1)
- || (j >= FLOAT_PRECEDENCE_VALUE))
- {
- _SLclass_type_mismatch_error (type, obj.data_type);
- SLang_free_object (&obj);
- return -1;
- }
-
- i = Type_Precedence_Table[type];
- f = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[j][i].copy_function;
-
- (*f) (ptr, (VOID_STAR)&obj.v, 1);
-
- return 0;
-}
-
-static int integer_push (unsigned char type, VOID_STAR ptr)
-{
- SLang_Object_Type obj;
- int i;
- void (*f)(VOID_STAR, VOID_STAR, unsigned int);
-
- i = Type_Precedence_Table[type];
- f = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[i][i].copy_function;
-
- obj.data_type = type;
-
- (*f) ((VOID_STAR)&obj.v, ptr, 1);
-
- return SLang_push (&obj);
-}
-
-int SLang_pop_char (char *i)
-{
- return integer_pop (SLANG_CHAR_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_uchar (unsigned char *i)
-{
- return integer_pop (SLANG_UCHAR_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_short (short *i)
-{
- return integer_pop (SLANG_SHORT_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_ushort (unsigned short *i)
-{
- return integer_pop (SLANG_USHORT_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_long (long *i)
-{
- return integer_pop (SLANG_LONG_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_ulong (unsigned long *i)
-{
- return integer_pop (SLANG_ULONG_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_integer (int *i)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (SLANG_INT_TYPE, &obj, 0))
- return -1;
- *i = obj.v.int_val;
- return 0;
-#else
- return integer_pop (SLANG_INT_TYPE, (VOID_STAR) i);
-#endif
-}
-
-int SLang_pop_uinteger (unsigned int *i)
-{
- return integer_pop (SLANG_UINT_TYPE, (VOID_STAR) i);
-}
-
-int SLang_push_integer (int i)
-{
- return SLclass_push_int_obj (SLANG_INT_TYPE, i);
-}
-int SLang_push_uinteger (unsigned int i)
-{
- return SLclass_push_int_obj (SLANG_UINT_TYPE, (int) i);
-}
-int SLang_push_char (char i)
-{
- return SLclass_push_char_obj (SLANG_CHAR_TYPE, i);
-}
-int SLang_push_uchar (unsigned char i)
-{
- return SLclass_push_char_obj (SLANG_UCHAR_TYPE, (char) i);
-}
-int SLang_push_short (short i)
-{
- return SLclass_push_short_obj (SLANG_SHORT_TYPE, i);
-}
-int SLang_push_ushort (unsigned short i)
-{
- return SLclass_push_short_obj (SLANG_USHORT_TYPE, (unsigned short) i);
-}
-int SLang_push_long (long i)
-{
- return SLclass_push_long_obj (SLANG_LONG_TYPE, i);
-}
-int SLang_push_ulong (unsigned long i)
-{
- return SLclass_push_long_obj (SLANG_ULONG_TYPE, (long) i);
-}
-
-_INLINE_
-int _SLarith_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- int i, j;
-
- void (*copy)(VOID_STAR, VOID_STAR, unsigned int);
-
- i = Type_Precedence_Table[a_type];
- j = Type_Precedence_Table[b_type];
-
- copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[i][j].copy_function;
-
- (*copy) (bp, ap, na);
- return 1;
-}
-
-#if SLANG_HAS_FLOAT
-
-int SLang_pop_double(double *x, int *convertp, int *ip)
-{
- SLang_Object_Type obj;
- int i, convert;
-
- if (0 != SLang_pop (&obj))
- return -1;
-
- i = 0;
- convert = 0;
-
- switch (obj.data_type)
- {
- case SLANG_FLOAT_TYPE:
- *x = (double) obj.v.float_val;
- break;
-
- case SLANG_DOUBLE_TYPE:
- *x = obj.v.double_val;
- break;
-
- case SLANG_INT_TYPE:
- i = (int) obj.v.long_val;
- *x = (double) i;
- convert = 1;
- break;
-
- case SLANG_CHAR_TYPE: *x = (double) obj.v.char_val; break;
- case SLANG_UCHAR_TYPE: *x = (double) obj.v.uchar_val; break;
- case SLANG_SHORT_TYPE: *x = (double) obj.v.short_val; break;
- case SLANG_USHORT_TYPE: *x = (double) obj.v.ushort_val; break;
- case SLANG_UINT_TYPE: *x = (double) obj.v.uint_val; break;
- case SLANG_LONG_TYPE: *x = (double) obj.v.long_val; break;
- case SLANG_ULONG_TYPE: *x = (double) obj.v.ulong_val; break;
-
- default:
- _SLclass_type_mismatch_error (SLANG_DOUBLE_TYPE, obj.data_type);
- SLang_free_object (&obj);
- return -1;
- }
-
- if (convertp != NULL) *convertp = convert;
- if (ip != NULL) *ip = i;
-
- return 0;
-}
-
-int SLang_push_double (double x)
-{
- return SLclass_push_double_obj (SLANG_DOUBLE_TYPE, x);
-}
-
-int SLang_pop_float (float *x)
-{
- double d;
-
- /* Pop it as a double and let the double function do all the typcasting */
- if (-1 == SLang_pop_double (&d, NULL, NULL))
- return -1;
-
- *x = (float) d;
- return 0;
-}
-
-int SLang_push_float (float f)
-{
- return SLclass_push_float_obj (SLANG_FLOAT_TYPE, (double) f);
-}
-
-/* Double */
-static int double_push (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- SLang_push_double (*(double *) ptr);
- return 0;
-}
-
-static int double_push_literal (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- return SLang_push_double (**(double **)ptr);
-}
-
-static int double_pop (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return SLang_pop_double ((double *) ptr, NULL, NULL);
-}
-
-static void double_byte_code_destroy (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- SLfree (*(char **) ptr);
-}
-
-static int float_push (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- SLang_push_float (*(float *) ptr);
- return 0;
-}
-
-static int float_pop (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return SLang_pop_float ((float *) ptr);
-}
-
-#endif /* SLANG_HAS_FLOAT */
-
-#if SLANG_HAS_FLOAT
-static char Double_Format[16] = "%g";
-
-void _SLset_double_format (char *s)
-{
- strncpy (Double_Format, s, 15);
- Double_Format[15] = 0;
-}
-#endif
-
-static char *arith_string (unsigned char type, VOID_STAR v)
-{
- char buf [256];
- char *s;
-
- s = buf;
-
- switch (type)
- {
- default:
- s = SLclass_get_datatype_name (type);
- break;
-
- case SLANG_CHAR_TYPE:
- sprintf (s, "%d", *(char *) v);
- break;
- case SLANG_UCHAR_TYPE:
- sprintf (s, "%u", *(unsigned char *) v);
- break;
- case SLANG_SHORT_TYPE:
- sprintf (s, "%d", *(short *) v);
- break;
- case SLANG_USHORT_TYPE:
- sprintf (s, "%u", *(unsigned short *) v);
- break;
- case SLANG_INT_TYPE:
- sprintf (s, "%d", *(int *) v);
- break;
- case SLANG_UINT_TYPE:
- sprintf (s, "%u", *(unsigned int *) v);
- break;
- case SLANG_LONG_TYPE:
- sprintf (s, "%ld", *(long *) v);
- break;
- case SLANG_ULONG_TYPE:
- sprintf (s, "%lu", *(unsigned long *) v);
- break;
-#if SLANG_HAS_FLOAT
- case SLANG_FLOAT_TYPE:
- if (EOF == _SLsnprintf (buf, sizeof (buf), Double_Format, *(float *) v))
- sprintf (s, "%e", *(float *) v);
- break;
- case SLANG_DOUBLE_TYPE:
- if (EOF == _SLsnprintf (buf, sizeof (buf), Double_Format, *(double *) v))
- sprintf (s, "%e", *(double *) v);
- break;
-#endif
- }
-
- return SLmake_string (s);
-}
-
-static int integer_to_bool (unsigned char type, int *t)
-{
- (void) type;
- return SLang_pop_integer (t);
-}
-
-static int push_int_literal (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_push_int_obj (type, (int) *(long *) ptr);
-}
-
-static int push_char_literal (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_push_char_obj (type, (char) *(long *) ptr);
-}
-
-#if SIZEOF_SHORT != SIZEOF_INT
-static int push_short_literal (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_push_short_obj (type, (short) *(long *) ptr);
-}
-#endif
-
-#if SIZEOF_INT != SIZEOF_LONG
-static int push_long_literal (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_push_long_obj (type, *(long *) ptr);
-}
-#endif
-
-typedef struct
-{
- char *name;
- unsigned char data_type;
- unsigned int sizeof_type;
- int (*unary_fun)(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
- int (*push_literal) (unsigned char, VOID_STAR);
- int (*cmp_fun) (unsigned char, VOID_STAR, VOID_STAR, int *);
-}
-Integer_Info_Type;
-
-static Integer_Info_Type Integer_Types [8] =
-{
- {"Char_Type", SLANG_CHAR_TYPE, sizeof (char), char_unary_op, push_char_literal, char_cmp_function},
- {"UChar_Type", SLANG_UCHAR_TYPE, sizeof (unsigned char), uchar_unary_op, push_char_literal, uchar_cmp_function},
-#if SIZEOF_INT != SIZEOF_SHORT
- {"Short_Type", SLANG_SHORT_TYPE, sizeof (short), short_unary_op, push_short_literal, short_cmp_function},
- {"UShort_Type", SLANG_USHORT_TYPE, sizeof (unsigned short), ushort_unary_op, push_short_literal, ushort_cmp_function},
-#else
- {NULL, SLANG_SHORT_TYPE},
- {NULL, SLANG_USHORT_TYPE},
-#endif
-
- {"Integer_Type", SLANG_INT_TYPE, sizeof (int), int_unary_op, push_int_literal, int_cmp_function},
- {"UInteger_Type", SLANG_UINT_TYPE, sizeof (unsigned int), uint_unary_op, push_int_literal, uint_cmp_function},
-
-#if SIZEOF_INT != SIZEOF_LONG
- {"Long_Type", SLANG_LONG_TYPE, sizeof (long), long_unary_op, push_long_literal, long_cmp_function},
- {"ULong_Type", SLANG_ULONG_TYPE, sizeof (unsigned long), ulong_unary_op, push_long_literal, ulong_cmp_function}
-#else
- {NULL, SLANG_LONG_TYPE, 0, NULL, NULL, NULL},
- {NULL, SLANG_ULONG_TYPE, 0, NULL, NULL, NULL}
-#endif
-};
-
-static int create_synonyms (void)
-{
- static char *names[8] =
- {
- "Int16_Type", "UInt16_Type", "Int32_Type", "UInt32_Type",
- "Int64_Type", "UInt64_Type",
- "Float32_Type", "Float64_Type"
- };
- int types[8];
- unsigned int i;
-
- memset ((char *) types, 0, sizeof (types));
-
- /* The assumption is that sizeof(unsigned X) == sizeof (X) */
-#if SIZEOF_INT == 2
- types[0] = SLANG_INT_TYPE;
- types[1] = SLANG_UINT_TYPE;
-#else
-# if SIZEOF_SHORT == 2
- types[0] = SLANG_SHORT_TYPE;
- types[1] = SLANG_USHORT_TYPE;
-# else
-# if SIZEOF_LONG == 2
- types[0] = SLANG_LONG_TYPE;
- types[1] = SLANG_ULONG_TYPE;
-# endif
-# endif
-#endif
-
-#if SIZEOF_INT == 4
- types[2] = SLANG_INT_TYPE;
- types[3] = SLANG_UINT_TYPE;
-#else
-# if SIZEOF_SHORT == 4
- types[2] = SLANG_SHORT_TYPE;
- types[3] = SLANG_USHORT_TYPE;
-# else
-# if SIZEOF_LONG == 4
- types[2] = SLANG_LONG_TYPE;
- types[3] = SLANG_ULONG_TYPE;
-# endif
-# endif
-#endif
-
-#if SIZEOF_INT == 8
- types[4] = SLANG_INT_TYPE;
- types[5] = SLANG_UINT_TYPE;
-#else
-# if SIZEOF_SHORT == 8
- types[4] = SLANG_SHORT_TYPE;
- types[5] = SLANG_USHORT_TYPE;
-# else
-# if SIZEOF_LONG == 8
- types[4] = SLANG_LONG_TYPE;
- types[5] = SLANG_ULONG_TYPE;
-# endif
-# endif
-#endif
-
-#if SLANG_HAS_FLOAT
-
-#if SIZEOF_FLOAT == 4
- types[6] = SLANG_FLOAT_TYPE;
-#else
-# if SIZEOF_DOUBLE == 4
- types[6] = SLANG_DOUBLE_TYPE;
-# endif
-#endif
-#if SIZEOF_FLOAT == 8
- types[7] = SLANG_FLOAT_TYPE;
-#else
-# if SIZEOF_DOUBLE == 8
- types[7] = SLANG_DOUBLE_TYPE;
-# endif
-#endif
-
-#endif
-
- if ((-1 == SLclass_create_synonym ("Int_Type", SLANG_INT_TYPE))
- || (-1 == SLclass_create_synonym ("UInt_Type", SLANG_UINT_TYPE)))
- return -1;
-
- for (i = 0; i < 8; i++)
- {
- if (types[i] == 0) continue;
-
- if (-1 == SLclass_create_synonym (names[i], types[i]))
- return -1;
- }
-
-#if SIZEOF_INT == SIZEOF_SHORT
- if ((-1 == SLclass_create_synonym ("Short_Type", SLANG_INT_TYPE))
- || (-1 == SLclass_create_synonym ("UShort_Type", SLANG_UINT_TYPE))
- || (-1 == _SLclass_copy_class (SLANG_SHORT_TYPE, SLANG_INT_TYPE))
- || (-1 == _SLclass_copy_class (SLANG_USHORT_TYPE, SLANG_UINT_TYPE)))
- return -1;
-#endif
-#if SIZEOF_INT == SIZEOF_LONG
- if ((-1 == SLclass_create_synonym ("Long_Type", SLANG_INT_TYPE))
- || (-1 == SLclass_create_synonym ("ULong_Type", SLANG_UINT_TYPE))
- || (-1 == _SLclass_copy_class (SLANG_LONG_TYPE, SLANG_INT_TYPE))
- || (-1 == _SLclass_copy_class (SLANG_ULONG_TYPE, SLANG_UINT_TYPE)))
- return -1;
-#endif
- return 0;
-}
-
-int _SLarith_register_types (void)
-{
- SLang_Class_Type *cl;
- int a_type, b_type;
- int i, j;
-
-#if defined(HAVE_SETLOCALE) && defined(LC_NUMERIC)
- /* make sure decimal point it used --- the parser requires it */
- (void) setlocale (LC_NUMERIC, "C");
-#endif
-
- for (i = 0; i < 8; i++)
- {
- Integer_Info_Type *info;
-
- info = Integer_Types + i;
-
- if (info->name == NULL)
- {
- /* This happens when the object is the same size as an integer
- * For this case, we really want to copy the integer class.
- * We will handle that when the synonym is created.
- */
- continue;
- }
-
- if (NULL == (cl = SLclass_allocate_class (info->name)))
- return -1;
-
- (void) SLclass_set_string_function (cl, arith_string);
- (void) SLclass_set_push_function (cl, integer_push);
- (void) SLclass_set_pop_function (cl, integer_pop);
- cl->cl_push_literal = info->push_literal;
- cl->cl_to_bool = integer_to_bool;
-
- cl->cl_cmp = info->cmp_fun;
-
- if (-1 == SLclass_register_class (cl, info->data_type, info->sizeof_type,
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
- if (-1 == SLclass_add_unary_op (info->data_type, info->unary_fun, arith_unary_op_result))
- return -1;
-
- _SLarith_Is_Arith_Type [info->data_type] = 1;
- }
-
-#if SLANG_HAS_FLOAT
- if (NULL == (cl = SLclass_allocate_class ("Double_Type")))
- return -1;
- (void) SLclass_set_push_function (cl, double_push);
- (void) SLclass_set_pop_function (cl, double_pop);
- (void) SLclass_set_string_function (cl, arith_string);
- cl->cl_byte_code_destroy = double_byte_code_destroy;
- cl->cl_push_literal = double_push_literal;
- cl->cl_cmp = double_cmp_function;
-
- if (-1 == SLclass_register_class (cl, SLANG_DOUBLE_TYPE, sizeof (double),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
- if (-1 == SLclass_add_unary_op (SLANG_DOUBLE_TYPE, double_unary_op, arith_unary_op_result))
- return -1;
- _SLarith_Is_Arith_Type [SLANG_DOUBLE_TYPE] = 2;
-
- if (NULL == (cl = SLclass_allocate_class ("Float_Type")))
- return -1;
- (void) SLclass_set_string_function (cl, arith_string);
- (void) SLclass_set_push_function (cl, float_push);
- (void) SLclass_set_pop_function (cl, float_pop);
- cl->cl_cmp = float_cmp_function;
-
- if (-1 == SLclass_register_class (cl, SLANG_FLOAT_TYPE, sizeof (float),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
- if (-1 == SLclass_add_unary_op (SLANG_FLOAT_TYPE, float_unary_op, arith_unary_op_result))
- return -1;
- _SLarith_Is_Arith_Type [SLANG_FLOAT_TYPE] = 2;
-#endif
-
- if (-1 == create_synonyms ())
- return -1;
-
- for (a_type = 0; a_type <= MAXIMUM_ARITH_TYPE_VALUE; a_type++)
- {
- if (-1 == (i = Type_Precedence_Table [a_type]))
- continue;
-
- for (b_type = 0; b_type <= MAXIMUM_ARITH_TYPE_VALUE; b_type++)
- {
- int implicit_ok;
-
- if (-1 == (j = Type_Precedence_Table [b_type]))
- continue;
-
- /* Allow implicit typecast, except from into to float */
- implicit_ok = ((j >= FLOAT_PRECEDENCE_VALUE)
- || (i < FLOAT_PRECEDENCE_VALUE));
-
- if (-1 == SLclass_add_binary_op (a_type, b_type, arith_bin_op, arith_bin_op_result))
- return -1;
-
- if (i != j)
- if (-1 == SLclass_add_typecast (a_type, b_type, _SLarith_typecast, implicit_ok))
- return -1;
- }
- }
-
- return 0;
-}
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
-
-static void promote_objs (SLang_Object_Type *a, SLang_Object_Type *b,
- SLang_Object_Type *c, SLang_Object_Type *d)
-{
- unsigned char ia, ib, ic, id;
- int i, j;
- void (*copy)(VOID_STAR, VOID_STAR, unsigned int);
-
- ia = a->data_type;
- ib = b->data_type;
-
- ic = _SLarith_promote_type (ia);
-
- if (ic == ib) id = ic; /* already promoted */
- else id = _SLarith_promote_type (ib);
-
- i = Type_Precedence_Table[ic];
- j = Type_Precedence_Table[id];
- if (i > j)
- {
- id = ic;
- j = i;
- }
-
- c->data_type = d->data_type = id;
-
- i = Type_Precedence_Table[ia];
- copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[i][j].copy_function;
- (*copy) ((VOID_STAR) &c->v, (VOID_STAR)&a->v, 1);
-
- i = Type_Precedence_Table[ib];
- copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[i][j].copy_function;
- (*copy) ((VOID_STAR) &d->v, (VOID_STAR)&b->v, 1);
-}
-
-int _SLarith_bin_op (SLang_Object_Type *oa, SLang_Object_Type *ob, int op)
-{
- unsigned char a_type, b_type;
-
- a_type = oa->data_type;
- b_type = ob->data_type;
-
- if (a_type != b_type)
- {
- SLang_Object_Type obj_a, obj_b;
-
- /* Handle common cases */
- if ((a_type == SLANG_INT_TYPE)
- && (b_type == SLANG_DOUBLE_TYPE))
- return double_double_scalar_bin_op (oa->v.int_val, ob->v.double_val, op);
-
- if ((a_type == SLANG_DOUBLE_TYPE)
- && (b_type == SLANG_INT_TYPE))
- return double_double_scalar_bin_op (oa->v.double_val, ob->v.int_val, op);
-
- /* Otherwise do it the hard way */
- promote_objs (oa, ob, &obj_a, &obj_b);
- oa = &obj_a;
- ob = &obj_b;
-
- a_type = oa->data_type;
- b_type = ob->data_type;
- }
-
-
- switch (a_type)
- {
- case SLANG_CHAR_TYPE:
- return int_int_scalar_bin_op (oa->v.char_val, ob->v.char_val, op);
-
- case SLANG_UCHAR_TYPE:
- return int_int_scalar_bin_op (oa->v.uchar_val, ob->v.uchar_val, op);
-
- case SLANG_SHORT_TYPE:
- return int_int_scalar_bin_op (oa->v.short_val, ob->v.short_val, op);
-
- case SLANG_USHORT_TYPE:
-# if SIZEOF_INT == SIZEOF_SHORT
- return uint_uint_scalar_bin_op (oa->v.ushort_val, ob->v.ushort_val, op);
-# else
- return int_int_scalar_bin_op ((int)oa->v.ushort_val, (int)ob->v.ushort_val, op);
-# endif
-
-#if SIZEOF_LONG == SIZEOF_INT
- case SLANG_LONG_TYPE:
-#endif
- case SLANG_INT_TYPE:
- return int_int_scalar_bin_op (oa->v.int_val, ob->v.int_val, op);
-
-#if SIZEOF_LONG == SIZEOF_INT
- case SLANG_ULONG_TYPE:
-#endif
- case SLANG_UINT_TYPE:
- return uint_uint_scalar_bin_op (oa->v.uint_val, ob->v.uint_val, op);
-
-#if SIZEOF_LONG != SIZEOF_INT
- case SLANG_LONG_TYPE:
- return long_long_scalar_bin_op (oa->v.long_val, ob->v.long_val, op);
- case SLANG_ULONG_TYPE:
- return ulong_ulong_scalar_bin_op (oa->v.ulong_val, ob->v.ulong_val, op);
-#endif
- case SLANG_FLOAT_TYPE:
- return float_float_scalar_bin_op (oa->v.float_val, ob->v.float_val, op);
- case SLANG_DOUBLE_TYPE:
- return double_double_scalar_bin_op (oa->v.double_val, ob->v.double_val, op);
- }
-
- return 1;
-}
-#endif
diff --git a/mdk-stage1/slang/slarith.inc b/mdk-stage1/slang/slarith.inc
deleted file mode 100644
index efa8a5e04..000000000
--- a/mdk-stage1/slang/slarith.inc
+++ /dev/null
@@ -1,783 +0,0 @@
-/* -*- c -*- */
-
-/* This include file is a template for defining arithmetic binary operations
- * on arithmetic types. I realize that doing it this way is not very
- * elegant but it minimizes the number of lines of code and I believe it
- * promotes clarity.
- */
-
-/* The following macros should be properly defined before including this file:
- *
- * GENERIC_BINARY_FUNCTION: The name of the binary function
- * GENERIC_TYPE: The class data type
- * MOD_FUNCTION: The function to use for mod
- * ABS_FUNCTION: Name of the abs function
- * SIGN_FUNCTION: Name of the sign function
- * GENERIC_UNARY_FUNCTION Name of the unary function
- *
- * If GENERIC_BIT_OPERATIONS is defined, the bit-level binary operators
- * will get included. If the data type has a power operation (SLANG_POW),
- * then POW_FUNCTION should be defined to return POW_RESULT_TYPE.
- */
-#ifdef GENERIC_BINARY_FUNCTION
-
-static int GENERIC_BINARY_FUNCTION
-(int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- GENERIC_TYPE *c, *a, *b;
-#ifdef POW_FUNCTION
- POW_RESULT_TYPE *d;
-#endif
- unsigned int n;
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- unsigned int n_max, da, db;
-#endif
- char *cc;
-
- (void) a_type; /* Both SLANG_INT_TYPE */
- (void) b_type;
-
- a = (GENERIC_TYPE *) ap;
- b = (GENERIC_TYPE *) bp;
- c = (GENERIC_TYPE *) cp;
- cc = (char *) cp;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- if (na == 1) da = 0; else da = 1;
- if (nb == 1) db = 0; else db = 1;
-
- if (na > nb) n_max = na; else n_max = nb;
-#endif
-
- switch (op)
- {
- default:
- return 0;
-#ifdef POW_FUNCTION
- case SLANG_POW:
- d = (POW_RESULT_TYPE *) cp;
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- d[n] = POW_FUNCTION(*a, *b);
- a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- d[n] = POW_FUNCTION(a[n],b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- if (xb == 2)
- for (n = 0; n < na; n++)
- d[n] = a[n] * a[n];
- else
- for (n = 0; n < na; n++)
- d[n] = POW_FUNCTION(a[n], xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- d[n] = POW_FUNCTION(xa, b[n]);
- }
-#endif
- break;
-#endif
- case SLANG_PLUS:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a + *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] + b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] + xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa + b[n];
- }
-#endif
- break;
-
- case SLANG_MINUS:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a - *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] - b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] - xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa - b[n];
- }
-#endif
- break;
-
- case SLANG_TIMES:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a * *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] * b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] * xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa * b[n];
- }
-#endif
- break;
-
- case SLANG_DIVIDE:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- if (*b == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = (*a / *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- {
- if (b[n] == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = a[n] / b[n];
- }
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
-
- if (xb == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- for (n = 0; n < na; n++)
- c[n] = a[n] / xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- {
- if (b[n] == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = xa / b[n];
- }
- }
-#endif
- break;
-
- case SLANG_MOD:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- if (*b == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = MOD_FUNCTION(*a, *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- {
- if (b[n] == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = MOD_FUNCTION(a[n],b[n]);
- }
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- if (xb == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- for (n = 0; n < na; n++)
- c[n] = MOD_FUNCTION(a[n],xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- {
- if (b[n] == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = MOD_FUNCTION(xa,b[n]);
- }
- }
-#endif
- break;
-
-#ifdef GENERIC_BIT_OPERATIONS
- case SLANG_BAND:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a & *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] & b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] & xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa & b[n];
- }
-#endif
- break;
-
- case SLANG_BXOR:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a ^ *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] ^ b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] ^ xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa ^ b[n];
- }
-#endif
- break;
-
- case SLANG_BOR:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a | *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] | b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] | xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa | b[n];
- }
-#endif
- break;
-
- case SLANG_SHL:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a << *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] << b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] << xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa << b[n];
- }
-#endif
- break;
-
- case SLANG_SHR:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a >> *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] >> b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] >> xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa >> b[n];
- }
-#endif
- break;
-#endif /* GENERIC_BIT_OPERATIONS */
- case SLANG_EQ:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a == *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] == b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] == xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa == b[n]);
- }
-#endif
- break;
-
- case SLANG_NE:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a != *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] != b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] != xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa != b[n]);
- }
-#endif
- break;
-
- case SLANG_GT:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a > *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] > b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] > xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa > b[n]);
- }
-#endif
- break;
-
- case SLANG_GE:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a >= *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] >= b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] >= xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa >= b[n]);
- }
-#endif
- break;
-
- case SLANG_LT:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a < *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] < b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] < xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa < b[n]);
- }
-#endif
- break;
-
- case SLANG_LE:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a <= *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] <= b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] <= xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa <= b[n]);
- }
-#endif
- break;
-
- case SLANG_OR:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a || *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] || b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] || xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa || b[n]);
- }
-#endif
- break;
-
- case SLANG_AND:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a && *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] && b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] && xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa && b[n]);
- }
-#endif
- break;
- }
- return 1;
-}
-
-#endif /* GENERIC_BINARY_FUNCTION */
-
-
-#ifdef GENERIC_UNARY_FUNCTION
-
-static int GENERIC_UNARY_FUNCTION
-(int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp
- )
-{
- GENERIC_TYPE *a, *b;
- unsigned int n;
- int *ib;
-
- (void) a_type;
-
- a = (GENERIC_TYPE *) ap;
- b = (GENERIC_TYPE *) bp;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUSPLUS:
- for (n = 0; n < na; n++) b[n] = (a[n] + 1);
- break;
- case SLANG_MINUSMINUS:
- for (n = 0; n < na; n++) b[n] = (a[n] - 1);
- break;
- case SLANG_CHS:
- for (n = 0; n < na; n++) b[n] = (GENERIC_TYPE) -(a[n]);
- break;
- case SLANG_SQR:
- for (n = 0; n < na; n++) b[n] = (a[n] * a[n]);
- break;
- case SLANG_MUL2:
- for (n = 0; n < na; n++) b[n] = (2 * a[n]);
- break;
- case SLANG_ABS:
- for (n = 0; n < na; n++) b[n] = ABS_FUNCTION (a[n]);
- break;
- case SLANG_SIGN:
- ib = (int *) bp;
- for (n = 0; n < na; n++)
- ib[n] = SIGN_FUNCTION(a[n]);
- break;
-
-#ifdef GENERIC_BIT_OPERATIONS
- case SLANG_NOT:
- for (n = 0; n < na; n++) b[n] = !(a[n]);
- break;
- case SLANG_BNOT:
- for (n = 0; n < na; n++) b[n] = ~(a[n]);
- break;
-#endif
- }
-
- return 1;
-}
-#endif /* GENERIC_UNARY_FUNCTION */
-
-
-#ifdef SCALAR_BINARY_FUNCTION
-
-static int SCALAR_BINARY_FUNCTION (GENERIC_TYPE a, GENERIC_TYPE b, int op)
-{
- switch (op)
- {
- default:
- return 1;
-
-#ifdef POW_FUNCTION
- case SLANG_POW:
- return PUSH_POW_OBJ_FUN(POW_FUNCTION(a, b));
-#endif
- case SLANG_PLUS:
- return PUSH_SCALAR_OBJ_FUN (a + b);
- case SLANG_MINUS:
- return PUSH_SCALAR_OBJ_FUN (a - b);
- case SLANG_TIMES:
- return PUSH_SCALAR_OBJ_FUN (a * b);
- case SLANG_DIVIDE:
- if (b == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- return PUSH_SCALAR_OBJ_FUN (a / b);
- case SLANG_MOD:
- if (b == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- return PUSH_SCALAR_OBJ_FUN (MOD_FUNCTION(a,b));
-#ifdef GENERIC_BIT_OPERATIONS
- case SLANG_BAND:
- return PUSH_SCALAR_OBJ_FUN (a & b);
- case SLANG_BXOR:
- return PUSH_SCALAR_OBJ_FUN (a ^ b);
- case SLANG_BOR:
- return PUSH_SCALAR_OBJ_FUN (a | b);
- case SLANG_SHL:
- return PUSH_SCALAR_OBJ_FUN (a << b);
- case SLANG_SHR:
- return PUSH_SCALAR_OBJ_FUN (a >> b);
-#endif
- case SLANG_GT: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a > b));
- case SLANG_LT: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a < b));
- case SLANG_GE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a >= b));
- case SLANG_LE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a <= b));
- case SLANG_EQ: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a == b));
- case SLANG_NE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a != b));
- case SLANG_OR: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a || b));
- case SLANG_AND: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a && b));
- }
-}
-
-#endif /* SCALAR_BINARY_FUNCTION */
-
-#ifdef CMP_FUNCTION
-static int CMP_FUNCTION (unsigned char unused, VOID_STAR a, VOID_STAR b, int *c)
-{
- GENERIC_TYPE x, y;
-
- (void) unused;
- x = *(GENERIC_TYPE *) a;
- y = *(GENERIC_TYPE *) b;
-
- if (x > y) *c = 1;
- else if (x == y) *c = 0;
- else *c = -1;
-
- return 0;
-}
-#endif
-
-#undef CMP_FUNCTION
-#undef SCALAR_BINARY_FUNCTION
-#undef PUSH_POW_OBJ_FUN
-#undef PUSH_SCALAR_OBJ_FUN
-#undef GENERIC_BINARY_FUNCTION
-#undef GENERIC_UNARY_FUNCTION
-#undef GENERIC_BIT_OPERATIONS
-#undef GENERIC_TYPE
-#undef POW_FUNCTION
-#undef POW_RESULT_TYPE
-#undef MOD_FUNCTION
-#undef ABS_FUNCTION
-#undef SIGN_FUNCTION
diff --git a/mdk-stage1/slang/slarray.c b/mdk-stage1/slang/slarray.c
deleted file mode 100644
index 0b9a1406c..000000000
--- a/mdk-stage1/slang/slarray.c
+++ /dev/null
@@ -1,3139 +0,0 @@
-/* Array manipulation routines for S-Lang */
-/* Copyright (c) 1997, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#define SL_APP_WANTS_FOREACH
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct
-{
- int first_index;
- int last_index;
- int delta;
-}
-SLarray_Range_Array_Type;
-
-/* Use SLang_pop_array when a linear array is required. */
-static int pop_array (SLang_Array_Type **at_ptr, int convert_scalar)
-{
- SLang_Array_Type *at;
- int one = 1;
- int type;
-
- *at_ptr = NULL;
- type = SLang_peek_at_stack ();
-
- switch (type)
- {
- case -1:
- return -1;
-
- case SLANG_ARRAY_TYPE:
- return SLclass_pop_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR *) at_ptr);
-
- case SLANG_NULL_TYPE:
- convert_scalar = 0;
- /* drop */
- default:
- if (convert_scalar == 0)
- {
- SLdo_pop ();
- SLang_verror (SL_TYPE_MISMATCH, "Context requires an array. Scalar not converted");
- return -1;
- }
- break;
- }
-
- if (NULL == (at = SLang_create_array ((unsigned char) type, 0, NULL, &one, 1)))
- return -1;
-
- if (-1 == at->cl->cl_apop ((unsigned char) type, at->data))
- {
- SLang_free_array (at);
- return -1;
- }
-
- *at_ptr = at;
-
- return 0;
-}
-
-static VOID_STAR linear_get_data_addr (SLang_Array_Type *at, int *dims)
-{
- unsigned int num_dims;
- unsigned int ofs;
- unsigned int i;
- int *max_dims;
-
- ofs = 0;
- max_dims = at->dims;
- num_dims = at->num_dims;
-
- for (i = 0; i < num_dims; i++)
- {
- int d = dims[i];
-
- if (d < 0)
- d = d + max_dims[i];
-
- ofs = ofs * (unsigned int)max_dims [i] + (unsigned int) d;
- }
-
- return (VOID_STAR) ((char *)at->data + (ofs * at->sizeof_type));
-}
-
-static VOID_STAR get_data_addr (SLang_Array_Type *at, int *dims)
-{
- VOID_STAR data;
-
- data = at->data;
- if (data == NULL)
- {
- SLang_verror (SL_UNKNOWN_ERROR, "Array has no data");
- return NULL;
- }
-
- data = (*at->index_fun) (at, dims);
-
- if (data == NULL)
- {
- SLang_verror (SL_UNKNOWN_ERROR, "Unable to access array element");
- return NULL;
- }
-
- return data;
-}
-
-void _SLarray_free_array_elements (SLang_Class_Type *cl, VOID_STAR s, unsigned int num)
-{
- unsigned int sizeof_type;
- void (*f) (unsigned char, VOID_STAR);
- char *p;
- unsigned char type;
-
- if ((cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- || (cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR))
- return;
-
- f = cl->cl_destroy;
- sizeof_type = cl->cl_sizeof_type;
- type = cl->cl_data_type;
-
- p = (char *) s;
- while (num != 0)
- {
- if (NULL != *(VOID_STAR *)p)
- {
- (*f) (type, (VOID_STAR)p);
- *(VOID_STAR *) p = NULL;
- }
- p += sizeof_type;
- num--;
- }
-}
-
-static int destroy_element (SLang_Array_Type *at,
- int *dims,
- VOID_STAR data)
-{
- data = get_data_addr (at, dims);
- if (data == NULL)
- return -1;
-
- /* This function should only get called for arrays that have
- * pointer elements. Do not call the destroy method if the element
- * is NULL.
- */
- if (NULL != *(VOID_STAR *)data)
- {
- (*at->cl->cl_destroy) (at->data_type, data);
- *(VOID_STAR *) data = NULL;
- }
- return 0;
-}
-
-/* This function only gets called when a new array is created. Thus there
- * is no need to destroy the object first.
- */
-static int new_object_element (SLang_Array_Type *at,
- int *dims,
- VOID_STAR data)
-{
- data = get_data_addr (at, dims);
- if (data == NULL)
- return -1;
-
- return (*at->cl->cl_init_array_object) (at->data_type, data);
-}
-
-static int next_index (int *dims, int *max_dims, unsigned int num_dims)
-{
- while (num_dims)
- {
- int dims_i;
-
- num_dims--;
-
- dims_i = dims [num_dims] + 1;
- if (dims_i != (int) max_dims [num_dims])
- {
- dims [num_dims] = dims_i;
- return 0;
- }
- dims [num_dims] = 0;
- }
-
- return -1;
-}
-
-static int do_method_for_all_elements (SLang_Array_Type *at,
- int (*method)(SLang_Array_Type *,
- int *,
- VOID_STAR),
- VOID_STAR client_data)
-{
- int dims [SLARRAY_MAX_DIMS];
- int *max_dims;
- unsigned int num_dims;
-
- if (at->num_elements == 0)
- return 0;
-
- max_dims = at->dims;
- num_dims = at->num_dims;
-
- SLMEMSET((char *)dims, 0, sizeof(dims));
-
- do
- {
- if (-1 == (*method) (at, dims, client_data))
- return -1;
- }
- while (0 == next_index (dims, max_dims, num_dims));
-
- return 0;
-}
-
-void SLang_free_array (SLang_Array_Type *at)
-{
- VOID_STAR data;
- unsigned int flags;
-
- if (at == NULL) return;
-
- if (at->num_refs > 1)
- {
- at->num_refs -= 1;
- return;
- }
-
- data = at->data;
- flags = at->flags;
-
- if (flags & SLARR_DATA_VALUE_IS_INTRINSIC)
- return; /* not to be freed */
-
- if (flags & SLARR_DATA_VALUE_IS_POINTER)
- (void) do_method_for_all_elements (at, destroy_element, NULL);
-
- SLfree ((char *) data);
- SLfree ((char *) at);
-}
-
-SLang_Array_Type *
-SLang_create_array1 (unsigned char type, int read_only, VOID_STAR data,
- int *dims, unsigned int num_dims, int no_init)
-{
- SLang_Class_Type *cl;
- unsigned int i;
- SLang_Array_Type *at;
- unsigned int num_elements;
- unsigned int sizeof_type;
- unsigned int size;
-
- if (num_dims > SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "%u dimensional arrays are not supported", num_dims);
- return NULL;
- }
-
- for (i = 0; i < num_dims; i++)
- {
- if (dims[i] < 0)
- {
- SLang_verror (SL_INVALID_PARM, "Size of array dim %u is less than 0", i);
- return NULL;
- }
- }
-
- cl = _SLclass_get_class (type);
-
- at = (SLang_Array_Type *) SLmalloc (sizeof(SLang_Array_Type));
- if (at == NULL)
- return NULL;
-
- SLMEMSET ((char*) at, 0, sizeof(SLang_Array_Type));
-
- at->data_type = type;
- at->cl = cl;
- at->num_dims = num_dims;
- at->num_refs = 1;
-
- if (read_only) at->flags = SLARR_DATA_VALUE_IS_READ_ONLY;
- switch (cl->cl_class_type)
- {
- case SLANG_CLASS_TYPE_VECTOR:
- case SLANG_CLASS_TYPE_SCALAR:
- break;
-
- default:
- at->flags |= SLARR_DATA_VALUE_IS_POINTER;
- }
-
- num_elements = 1;
- for (i = 0; i < num_dims; i++)
- {
- at->dims [i] = dims[i];
- num_elements = dims [i] * num_elements;
- }
-
- /* Now set the rest of the unused dimensions to 1. This makes it easier
- * when transposing arrays.
- */
- while (i < SLARRAY_MAX_DIMS)
- at->dims[i++] = 1;
-
- at->num_elements = num_elements;
- at->index_fun = linear_get_data_addr;
- at->sizeof_type = sizeof_type = cl->cl_sizeof_type;
-
- if (data != NULL)
- {
- at->data = data;
- return at;
- }
-
- size = num_elements * sizeof_type;
-
- if (size == 0) size = 1;
-
- if (NULL == (data = (VOID_STAR) SLmalloc (size)))
- {
- SLang_free_array (at);
- return NULL;
- }
-
- if (no_init == 0)
- SLMEMSET ((char *) data, 0, size);
-
- at->data = data;
-
- if ((cl->cl_init_array_object != NULL)
- && (-1 == do_method_for_all_elements (at, new_object_element, NULL)))
- {
- SLang_free_array (at);
- return NULL;
- }
- return at;
-}
-
-SLang_Array_Type *
-SLang_create_array (unsigned char type, int read_only, VOID_STAR data,
- int *dims, unsigned int num_dims)
-{
- return SLang_create_array1 (type, read_only, data, dims, num_dims, 0);
-}
-
-int SLang_add_intrinsic_array (char *name,
- unsigned char type,
- int read_only,
- VOID_STAR data,
- unsigned int num_dims, ...)
-{
- va_list ap;
- unsigned int i;
- int dims[SLARRAY_MAX_DIMS];
- SLang_Array_Type *at;
-
- if ((num_dims > SLARRAY_MAX_DIMS)
- || (name == NULL)
- || (data == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "Unable to create intrinsic array");
- return -1;
- }
-
- va_start (ap, num_dims);
- for (i = 0; i < num_dims; i++)
- dims [i] = va_arg (ap, int);
- va_end (ap);
-
- at = SLang_create_array (type, read_only, data, dims, num_dims);
- if (at == NULL)
- return -1;
- at->flags |= SLARR_DATA_VALUE_IS_INTRINSIC;
-
- /* Note: The variable that refers to the intrinsic array is regarded as
- * read-only. That way, Array_Name = another_array; will fail.
- */
- if (-1 == SLadd_intrinsic_variable (name, (VOID_STAR) at, SLANG_ARRAY_TYPE, 1))
- {
- SLang_free_array (at);
- return -1;
- }
- return 0;
-}
-
-static int pop_array_indices (int *dims, unsigned int num_dims)
-{
- unsigned int n;
- int i;
-
- if (num_dims > SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_INVALID_PARM, "Array size not supported");
- return -1;
- }
-
- n = num_dims;
- while (n != 0)
- {
- n--;
- if (-1 == SLang_pop_integer (&i))
- return -1;
-
- dims[n] = i;
- }
-
- return 0;
-}
-
-int SLang_push_array (SLang_Array_Type *at, int free_flag)
-{
- if (at == NULL)
- return SLang_push_null ();
-
- at->num_refs += 1;
-
- if (0 == SLclass_push_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR) at))
- {
- if (free_flag)
- SLang_free_array (at);
- return 0;
- }
-
- at->num_refs -= 1;
-
- if (free_flag) SLang_free_array (at);
- return -1;
-}
-
-/* This function gets called via expressions such as Double_Type[10, 20];
- */
-static int push_create_new_array (void)
-{
- unsigned int num_dims;
- SLang_Array_Type *at;
- unsigned char type;
- int dims [SLARRAY_MAX_DIMS];
- int (*anew) (unsigned char, unsigned int);
-
- num_dims = (SLang_Num_Function_Args - 1);
-
- if (-1 == _SLang_pop_datatype (&type))
- return -1;
-
- anew = (_SLclass_get_class (type))->cl_anew;
- if (anew != NULL)
- return (*anew) (type, num_dims);
-
- if (-1 == pop_array_indices (dims, num_dims))
- return -1;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, dims, num_dims)))
- return -1;
-
- return SLang_push_array (at, 1);
-}
-
-static int push_element_at_addr (SLang_Array_Type *at,
- VOID_STAR data, int allow_null)
-{
- SLang_Class_Type *cl;
-
- cl = at->cl;
- if ((at->flags & SLARR_DATA_VALUE_IS_POINTER)
- && (*(VOID_STAR *) data == NULL))
- {
- if (allow_null)
- return SLang_push_null ();
-
- SLang_verror (SL_VARIABLE_UNINITIALIZED,
- "%s array has unitialized element", cl->cl_name);
- return -1;
- }
-
- return (*cl->cl_apush)(at->data_type, data);
-}
-
-static int coerse_array_to_linear (SLang_Array_Type *at)
-{
- SLarray_Range_Array_Type *range;
- int *data;
- int xmin, dx;
- unsigned int i, imax;
-
- /* FIXME: Priority = low. This assumes that if an array is not linear, then
- * it is a range.
- */
- if (0 == (at->flags & SLARR_DATA_VALUE_IS_RANGE))
- return 0;
-
- range = (SLarray_Range_Array_Type *) at->data;
- xmin = range->first_index;
- dx = range->delta;
-
- imax = at->num_elements;
- data = (int *) SLmalloc ((imax + 1) * sizeof (int));
- if (data == NULL)
- return -1;
-
- for (i = 0; i < imax; i++)
- {
- data [i] = xmin;
- xmin += dx;
- }
-
- SLfree ((char *) range);
- at->data = (VOID_STAR) data;
- at->flags &= ~SLARR_DATA_VALUE_IS_RANGE;
- at->index_fun = linear_get_data_addr;
- return 0;
-}
-
-static void
-free_index_objects (SLang_Object_Type *index_objs, unsigned int num_indices)
-{
- unsigned int i;
- SLang_Object_Type *obj;
-
- for (i = 0; i < num_indices; i++)
- {
- obj = index_objs + i;
- if (obj->data_type != 0)
- SLang_free_object (obj);
- }
-}
-
-static int
-pop_indices (SLang_Object_Type *index_objs, unsigned int num_indices,
- int *is_index_array)
-{
- unsigned int i;
-
- SLMEMSET((char *) index_objs, 0, num_indices * sizeof (SLang_Object_Type));
-
- *is_index_array = 0;
-
- if (num_indices >= SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_INVALID_PARM, "too many indices for array");
- return -1;
- }
-
- i = num_indices;
- while (i != 0)
- {
- SLang_Object_Type *obj;
-
- i--;
- obj = index_objs + i;
- if (-1 == _SLang_pop_object_of_type (SLANG_INT_TYPE, obj, 1))
- goto return_error;
-
- if (obj->data_type == SLANG_ARRAY_TYPE)
- {
- SLang_Array_Type *at = obj->v.array_val;
-
- if (at->num_dims == 1)
- {
- if ((num_indices == 1)
- && (0 == (at->flags & SLARR_DATA_VALUE_IS_RANGE)))
- *is_index_array = 1;
- }
- else
- {
- SLang_verror (SL_INVALID_PARM, "expecting a 1-d index array");
- goto return_error;
- }
- }
- }
-
- return 0;
-
- return_error:
- free_index_objects (index_objs, num_indices);
- return -1;
-}
-
-/* Here ind_at is a linear 1-d array of indices */
-static int
-check_index_array_ranges (SLang_Array_Type *at, SLang_Array_Type *ind_at)
-{
- int *indices, *indices_max;
- unsigned int num_elements;
-
- num_elements = at->num_elements;
- indices = (int *) ind_at->data;
- indices_max = indices + ind_at->num_elements;
-
- while (indices < indices_max)
- {
- unsigned int d;
-
- d = (unsigned int) *indices++;
- if (d >= num_elements)
- {
- SLang_verror (SL_INVALID_PARM,
- "index-array is out of range");
- return -1;
- }
- }
- return 0;
-}
-
-static int
-transfer_n_elements (SLang_Array_Type *at, VOID_STAR dest_data, VOID_STAR src_data,
- unsigned int sizeof_type, unsigned int n, int is_ptr)
-{
- unsigned char data_type;
- SLang_Class_Type *cl;
-
- if (is_ptr == 0)
- {
- SLMEMCPY ((char *) dest_data, (char *)src_data, n * sizeof_type);
- return 0;
- }
-
- data_type = at->data_type;
- cl = at->cl;
-
- while (n != 0)
- {
- if (*(VOID_STAR *)dest_data != NULL)
- {
- (*cl->cl_destroy) (data_type, dest_data);
- *(VOID_STAR *) dest_data = NULL;
- }
-
- if (*(VOID_STAR *) src_data == NULL)
- *(VOID_STAR *) dest_data = NULL;
- else
- {
- if (-1 == (*cl->cl_acopy) (data_type, src_data, dest_data))
- /* No need to destroy anything */
- return -1;
- }
-
- src_data = (VOID_STAR) ((char *)src_data + sizeof_type);
- dest_data = (VOID_STAR) ((char *)dest_data + sizeof_type);
-
- n--;
- }
-
- return 0;
-}
-
-int
-_SLarray_aget_transfer_elem (SLang_Array_Type *at, int *indices,
- VOID_STAR new_data, unsigned int sizeof_type, int is_ptr)
-{
- VOID_STAR at_data;
-
- /* Since 1 element is being transferred, there is not need to coerse
- * the array to linear.
- */
- if (NULL == (at_data = get_data_addr (at, indices)))
- return -1;
-
- return transfer_n_elements (at, new_data, at_data, sizeof_type, 1, is_ptr);
-}
-
-/* Here the ind_at index-array is a 1-d array of indices. This function
- * creates a 1-d array of made up of values of 'at' at the locations
- * specified by the indices. The result is pushed.
- */
-static int
-aget_from_index_array (SLang_Array_Type *at,
- SLang_Array_Type *ind_at)
-{
- SLang_Array_Type *new_at;
- int *indices, *indices_max;
- unsigned char *new_data, *src_data;
- unsigned int sizeof_type;
- int is_ptr;
-
- if (-1 == coerse_array_to_linear (at))
- return -1;
-
- if (-1 == coerse_array_to_linear (ind_at))
- return -1;
-
- if (-1 == check_index_array_ranges (at, ind_at))
- return -1;
-
- if (NULL == (new_at = SLang_create_array (at->data_type, 0, NULL, ind_at->dims, 1)))
- return -1;
-
- /* Since the index array is linear, I can address it directly */
- indices = (int *) ind_at->data;
- indices_max = indices + ind_at->num_elements;
-
- src_data = (unsigned char *) at->data;
- new_data = (unsigned char *) new_at->data;
- sizeof_type = new_at->sizeof_type;
- is_ptr = (new_at->flags & SLARR_DATA_VALUE_IS_POINTER);
-
- while (indices < indices_max)
- {
- unsigned int offset;
-
- offset = sizeof_type * (unsigned int)*indices;
- if (-1 == transfer_n_elements (at, (VOID_STAR) new_data,
- (VOID_STAR) (src_data + offset),
- sizeof_type, 1, is_ptr))
- {
- SLang_free_array (new_at);
- return -1;
- }
-
- new_data += sizeof_type;
- indices++;
- }
-
- return SLang_push_array (new_at, 1);
-}
-
-/* This is extremely ugly. It is due to the fact that the index_objects
- * may contain ranges. This is a utility function for the aget/aput
- * routines
- */
-static int
-convert_nasty_index_objs (SLang_Array_Type *at,
- SLang_Object_Type *index_objs,
- unsigned int num_indices,
- int **index_data,
- int *range_buf, int *range_delta_buf,
- int *max_dims,
- unsigned int *num_elements,
- int *is_array, int is_dim_array[SLARRAY_MAX_DIMS])
-{
- unsigned int i, total_num_elements;
- SLang_Array_Type *ind_at;
-
- if (num_indices != at->num_dims)
- {
- SLang_verror (SL_INVALID_PARM, "Array requires %u indices", at->num_dims);
- return -1;
- }
-
- *is_array = 0;
- total_num_elements = 1;
- for (i = 0; i < num_indices; i++)
- {
- int max_index, min_index;
- SLang_Object_Type *obj;
- int at_dims_i;
-
- at_dims_i = at->dims[i];
- obj = index_objs + i;
- range_delta_buf [i] = 0;
-
- if (obj->data_type == SLANG_INT_TYPE)
- {
- range_buf [i] = min_index = max_index = obj->v.int_val;
- max_dims [i] = 1;
- index_data[i] = range_buf + i;
- is_dim_array[i] = 0;
- }
- else
- {
- *is_array = 1;
- is_dim_array[i] = 1;
- ind_at = obj->v.array_val;
-
- if (ind_at->flags & SLARR_DATA_VALUE_IS_RANGE)
- {
- SLarray_Range_Array_Type *r;
- int delta;
- int first_index, last_index;
-
- r = (SLarray_Range_Array_Type *) ind_at->data;
-
- /* In an array indexing context, range arrays have different
- * semantics. Consider a[[0:10]]. Clearly this means elements
- * 0-10 of a. But what does a[[0:-1]] mean? By itself,
- * [0:-1] is a null matrix []. But, it is useful in an
- * indexing context to allow -1 to refer to the last element
- * of the array. Similarly, [-3:-1] refers to the last 3
- * elements.
- *
- * However, [-1:-3] does not refer to any of the elements.
- */
- if ((first_index = r->first_index) < 0)
- {
- if (at_dims_i != 0)
- first_index = (at_dims_i + first_index) % at_dims_i;
- }
-
- if ((last_index = r->last_index) < 0)
- {
- if (at_dims_i != 0)
- last_index = (at_dims_i + last_index) % at_dims_i;
- }
-
- delta = r->delta;
-
- range_delta_buf [i] = delta;
- range_buf[i] = first_index;
-
- if (delta > 0)
- {
- if (first_index > last_index)
- max_dims[i] = min_index = max_index = 0;
- else
- {
- max_index = min_index = first_index;
- while (max_index + delta <= last_index)
- max_index += delta;
- max_dims [i] = 1 + (max_index - min_index) / delta;
- }
- }
- else
- {
- if (first_index < last_index)
- max_dims[i] = min_index = max_index = 0;
- else
- {
- min_index = max_index = first_index;
- while (min_index + delta >= last_index)
- min_index += delta;
- max_dims [i] = 1 + (max_index - min_index) / (-delta);
- }
- }
- }
- else
- {
- int *tmp, *tmp_max;
-
- if (0 == (max_dims[i] = ind_at->num_elements))
- {
- total_num_elements = 0;
- break;
- }
-
- tmp = (int *) ind_at->data;
- tmp_max = tmp + ind_at->num_elements;
- index_data [i] = tmp;
-
- min_index = max_index = *tmp;
- while (tmp < tmp_max)
- {
- if (max_index > *tmp)
- max_index = *tmp;
- if (min_index < *tmp)
- min_index = *tmp;
-
- tmp++;
- }
- }
- }
-
- if ((at_dims_i == 0) && (max_dims[i] == 0))
- {
- total_num_elements = 0;
- continue;
- }
-
- if (max_index < 0)
- max_index += at_dims_i;
- if (min_index < 0)
- min_index += at_dims_i;
-
- if ((min_index < 0) || (min_index >= at_dims_i)
- || (max_index < 0) || (max_index >= at_dims_i))
- {
- SLang_verror (SL_INVALID_PARM, "Array index %u ([%d:%d]) out of allowed range [0->%d]",
- i, min_index, max_index, at_dims_i);
- return -1;
- }
-
- total_num_elements = total_num_elements * max_dims[i];
- }
-
- *num_elements = total_num_elements;
- return 0;
-}
-
-/* This routine pushes a 1-d vector of values from 'at' indexed by
- * the objects 'index_objs'. These objects can either be integers or
- * 1-d integer arrays. The fact that the 1-d arrays can be ranges
- * makes this look ugly.
- */
-static int
-aget_from_indices (SLang_Array_Type *at,
- SLang_Object_Type *index_objs, unsigned int num_indices)
-{
- int *index_data [SLARRAY_MAX_DIMS];
- int range_buf [SLARRAY_MAX_DIMS];
- int range_delta_buf [SLARRAY_MAX_DIMS];
- int max_dims [SLARRAY_MAX_DIMS];
- unsigned int i, num_elements;
- SLang_Array_Type *new_at;
- int map_indices[SLARRAY_MAX_DIMS];
- int indices [SLARRAY_MAX_DIMS];
- unsigned int sizeof_type;
- int is_ptr, ret, is_array;
- char *new_data;
- SLang_Class_Type *cl;
- int is_dim_array[SLARRAY_MAX_DIMS];
-
- if (-1 == convert_nasty_index_objs (at, index_objs, num_indices,
- index_data, range_buf, range_delta_buf,
- max_dims, &num_elements, &is_array,
- is_dim_array))
- return -1;
-
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
- sizeof_type = at->sizeof_type;
-
- cl = _SLclass_get_class (at->data_type);
-
- if ((is_array == 0) && (num_elements == 1))
- {
- new_data = (char *)cl->cl_transfer_buf;
- memset (new_data, 0, sizeof_type);
- new_at = NULL;
- }
- else
- {
- int i_num_elements = (int)num_elements;
-
- new_at = SLang_create_array (at->data_type, 0, NULL, &i_num_elements, 1);
- if (NULL == new_at)
- return -1;
- if (num_elements == 0)
- return SLang_push_array (new_at, 1);
-
- new_data = (char *)new_at->data;
- }
-
- SLMEMSET((char *) map_indices, 0, sizeof(map_indices));
- do
- {
- for (i = 0; i < num_indices; i++)
- {
- int j;
-
- j = map_indices[i];
-
- if (0 != range_delta_buf[i])
- indices[i] = range_buf[i] + j * range_delta_buf[i];
- else
- indices[i] = index_data [i][j];
- }
-
- if (-1 == _SLarray_aget_transfer_elem (at, indices, (VOID_STAR)new_data, sizeof_type, is_ptr))
- {
- SLang_free_array (new_at);
- return -1;
- }
- new_data += sizeof_type;
- }
- while (0 == next_index (map_indices, max_dims, num_indices));
-
- if (new_at != NULL)
- {
- int num_dims = 0;
- /* Fixup dimensions on array */
- for (i = 0; i < num_indices; i++)
- {
- if (is_dim_array[i]) /* was: (max_dims[i] > 1) */
- {
- new_at->dims[num_dims] = max_dims[i];
- num_dims++;
- }
- }
-
- if (num_dims != 0) new_at->num_dims = num_dims;
- return SLang_push_array (new_at, 1);
- }
-
- /* Here new_data is a whole new copy, so free it after the push */
- new_data -= sizeof_type;
- if (is_ptr && (*(VOID_STAR *)new_data == NULL))
- ret = SLang_push_null ();
- else
- {
- ret = (*cl->cl_apush) (at->data_type, (VOID_STAR)new_data);
- (*cl->cl_adestroy) (at->data_type, (VOID_STAR)new_data);
- }
-
- return ret;
-}
-
-static int push_string_as_array (unsigned char *s, unsigned int len)
-{
- int ilen;
- SLang_Array_Type *at;
-
- ilen = (int) len;
-
- at = SLang_create_array (SLANG_UCHAR_TYPE, 0, NULL, &ilen, 1);
- if (at == NULL)
- return -1;
-
- memcpy ((char *)at->data, (char *)s, len);
- return SLang_push_array (at, 1);
-}
-
-static int pop_array_as_string (char **sp)
-{
- SLang_Array_Type *at;
- int ret;
-
- *sp = NULL;
-
- if (-1 == SLang_pop_array_of_type (&at, SLANG_UCHAR_TYPE))
- return -1;
-
- ret = 0;
-
- if (NULL == (*sp = SLang_create_nslstring ((char *) at->data, at->num_elements)))
- ret = -1;
-
- SLang_free_array (at);
- return ret;
-}
-
-static int pop_array_as_bstring (SLang_BString_Type **bs)
-{
- SLang_Array_Type *at;
- int ret;
-
- *bs = NULL;
-
- if (-1 == SLang_pop_array_of_type (&at, SLANG_UCHAR_TYPE))
- return -1;
-
- ret = 0;
-
- if (NULL == (*bs = SLbstring_create ((unsigned char *) at->data, at->num_elements)))
- ret = -1;
-
- SLang_free_array (at);
- return ret;
-}
-
-static int aget_from_array (unsigned int num_indices)
-{
- SLang_Array_Type *at;
- SLang_Object_Type index_objs [SLARRAY_MAX_DIMS];
- int ret;
- int is_index_array;
- unsigned int i;
-
- if (num_indices > SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_INVALID_PARM, "Number of dims must be less than %d", SLARRAY_MAX_DIMS);
- return -1;
- }
-
- if (-1 == pop_array (&at, 1))
- return -1;
-
- if (-1 == pop_indices (index_objs, num_indices, &is_index_array))
- {
- SLang_free_array (at);
- return -1;
- }
-
- if (is_index_array == 0)
- ret = aget_from_indices (at, index_objs, num_indices);
- else
- ret = aget_from_index_array (at, index_objs[0].v.array_val);
-
- SLang_free_array (at);
- for (i = 0; i < num_indices; i++)
- SLang_free_object (index_objs + i);
-
- return ret;
-}
-
-static int push_string_element (unsigned char type, unsigned char *s, unsigned int len)
-{
- int i;
-
- if (SLang_peek_at_stack () == SLANG_ARRAY_TYPE)
- {
- char *str;
-
- /* The indices are array values. So, do this: */
- if (-1 == push_string_as_array (s, len))
- return -1;
-
- if (-1 == aget_from_array (1))
- return -1;
-
- if (type == SLANG_BSTRING_TYPE)
- {
- SLang_BString_Type *bs;
- int ret;
-
- if (-1 == pop_array_as_bstring (&bs))
- return -1;
-
- ret = SLang_push_bstring (bs);
- SLbstring_free (bs);
- return ret;
- }
-
- if (-1 == pop_array_as_string (&str))
- return -1;
- return _SLang_push_slstring (str); /* frees s upon error */
- }
-
- if (-1 == SLang_pop_integer (&i))
- return -1;
-
- if (i < 0) i = i + (int)len;
- if ((unsigned int) i > len)
- i = len; /* get \0 character --- bstrings include it as well */
-
- i = s[(unsigned int) i];
-
- return SLang_push_integer (i);
-}
-
-/* ARRAY[i, j, k] generates code: __args i j ...k ARRAY __aput/__aget
- * Here i, j, ... k may be a mixture of integers and 1-d arrays, or
- * a single 2-d array of indices. The 2-d index array is generated by the
- * 'where' function.
- *
- * If ARRAY is of type DataType, then this function will create an array of
- * the appropriate type. In that case, the indices i, j, ..., k must be
- * integers.
- */
-int _SLarray_aget (void)
-{
- unsigned int num_indices;
- int type;
- int (*aget_fun) (unsigned char, unsigned int);
-
- num_indices = (SLang_Num_Function_Args - 1);
-
- type = SLang_peek_at_stack ();
- switch (type)
- {
- case -1:
- return -1; /* stack underflow */
-
- case SLANG_DATATYPE_TYPE:
- return push_create_new_array ();
-
- case SLANG_BSTRING_TYPE:
- if (1 == num_indices)
- {
- SLang_BString_Type *bs;
- int ret;
- unsigned int len;
- unsigned char *s;
-
- if (-1 == SLang_pop_bstring (&bs))
- return -1;
-
- if (NULL == (s = SLbstring_get_pointer (bs, &len)))
- ret = -1;
- else
- ret = push_string_element (type, s, len);
-
- SLbstring_free (bs);
- return ret;
- }
- break;
-
- case SLANG_STRING_TYPE:
- if (1 == num_indices)
- {
- char *s;
- int ret;
-
- if (-1 == SLang_pop_slstring (&s))
- return -1;
-
- ret = push_string_element (type, (unsigned char *)s, strlen (s));
- SLang_free_slstring (s);
- return ret;
- }
- break;
-
- case SLANG_ARRAY_TYPE:
- break;
-
- default:
- aget_fun = _SLclass_get_class (type)->cl_aget;
- if (NULL != aget_fun)
- return (*aget_fun) (type, num_indices);
- }
-
- return aget_from_array (num_indices);
-}
-
-int
-_SLarray_aput_transfer_elem (SLang_Array_Type *at, int *indices,
- VOID_STAR data_to_put, unsigned int sizeof_type, int is_ptr)
-{
- VOID_STAR at_data;
-
- /* Since 1 element is being transferred, there is no need to coerse
- * the array to linear.
- */
- if (NULL == (at_data = get_data_addr (at, indices)))
- return -1;
-
- return transfer_n_elements (at, at_data, data_to_put, sizeof_type, 1, is_ptr);
-}
-
-static int
-aput_get_array_to_put (SLang_Class_Type *cl, unsigned int num_elements, int allow_array,
- SLang_Array_Type **at_ptr, char **data_to_put, unsigned int *data_increment)
-{
- unsigned char data_type;
- SLang_Array_Type *at;
-
- *at_ptr = NULL;
-
- data_type = cl->cl_data_type;
- if (-1 == SLclass_typecast (data_type, 1, allow_array))
- return -1;
-
- if ((data_type != SLANG_ARRAY_TYPE)
- && (data_type != SLANG_ANY_TYPE)
- && (SLANG_ARRAY_TYPE == SLang_peek_at_stack ()))
- {
- if (-1 == SLang_pop_array (&at, 0))
- return -1;
-
- if ((at->num_elements != num_elements)
-#if 0
- || (at->num_dims != 1)
-#endif
- )
- {
- SLang_verror (SL_TYPE_MISMATCH, "Array size is inappropriate for use with index-array");
- SLang_free_array (at);
- return -1;
- }
-
- *data_to_put = (char *) at->data;
- *data_increment = at->sizeof_type;
- *at_ptr = at;
- return 0;
- }
-
- *data_increment = 0;
- *data_to_put = (char *) cl->cl_transfer_buf;
-
- if (-1 == (*cl->cl_apop)(data_type, (VOID_STAR) *data_to_put))
- return -1;
-
- return 0;
-}
-
-static int
-aput_from_indices (SLang_Array_Type *at,
- SLang_Object_Type *index_objs, unsigned int num_indices)
-{
- int *index_data [SLARRAY_MAX_DIMS];
- int range_buf [SLARRAY_MAX_DIMS];
- int range_delta_buf [SLARRAY_MAX_DIMS];
- int max_dims [SLARRAY_MAX_DIMS];
- unsigned int i, num_elements;
- SLang_Array_Type *bt;
- int map_indices[SLARRAY_MAX_DIMS];
- int indices [SLARRAY_MAX_DIMS];
- unsigned int sizeof_type;
- int is_ptr, is_array, ret;
- char *data_to_put;
- unsigned int data_increment;
- SLang_Class_Type *cl;
- int is_dim_array [SLARRAY_MAX_DIMS];
-
- if (-1 == convert_nasty_index_objs (at, index_objs, num_indices,
- index_data, range_buf, range_delta_buf,
- max_dims, &num_elements, &is_array,
- is_dim_array))
- return -1;
-
- cl = at->cl;
-
- if (-1 == aput_get_array_to_put (cl, num_elements, is_array,
- &bt, &data_to_put, &data_increment))
- return -1;
-
- sizeof_type = at->sizeof_type;
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
-
- ret = -1;
-
- SLMEMSET((char *) map_indices, 0, sizeof(map_indices));
- if (num_elements) do
- {
- for (i = 0; i < num_indices; i++)
- {
- int j;
-
- j = map_indices[i];
-
- if (0 != range_delta_buf[i])
- indices[i] = range_buf[i] + j * range_delta_buf[i];
- else
- indices[i] = index_data [i][j];
- }
-
- if (-1 == _SLarray_aput_transfer_elem (at, indices, (VOID_STAR)data_to_put, sizeof_type, is_ptr))
- goto return_error;
-
- data_to_put += data_increment;
- }
- while (0 == next_index (map_indices, max_dims, num_indices));
-
- ret = 0;
-
- /* drop */
-
- return_error:
- if (bt == NULL)
- {
- if (is_ptr)
- (*cl->cl_destroy) (cl->cl_data_type, (VOID_STAR) data_to_put);
- }
- else SLang_free_array (bt);
-
- return ret;
-}
-
-static int
-aput_from_index_array (SLang_Array_Type *at, SLang_Array_Type *ind_at)
-{
- int *indices, *indices_max;
- unsigned int sizeof_type;
- char *data_to_put, *dest_data;
- unsigned int data_increment;
- int is_ptr;
- SLang_Array_Type *bt;
- SLang_Class_Type *cl;
- int ret;
-
- if (-1 == coerse_array_to_linear (at))
- return -1;
-
- if (-1 == coerse_array_to_linear (ind_at))
- return -1;
-
- if (-1 == check_index_array_ranges (at, ind_at))
- return -1;
-
- sizeof_type = at->sizeof_type;
-
- cl = at->cl;
-
- /* Note that if bt is returned as non NULL, then the array is a linear
- * one.
- */
- if (-1 == aput_get_array_to_put (cl, ind_at->num_elements, 1,
- &bt, &data_to_put, &data_increment))
- return -1;
-
- /* Since the index array is linear, I can address it directly */
- indices = (int *) ind_at->data;
- indices_max = indices + ind_at->num_elements;
-
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
- dest_data = (char *) at->data;
-
- ret = -1;
- while (indices < indices_max)
- {
- unsigned int offset;
-
- offset = sizeof_type * (unsigned int)*indices;
-
- if (-1 == transfer_n_elements (at, (VOID_STAR) (dest_data + offset),
- (VOID_STAR) data_to_put, sizeof_type, 1,
- is_ptr))
- goto return_error;
-
- indices++;
- data_to_put += data_increment;
- }
-
- ret = 0;
- /* Drop */
-
- return_error:
-
- if (bt == NULL)
- {
- if (is_ptr)
- (*cl->cl_destroy) (cl->cl_data_type, (VOID_STAR)data_to_put);
- }
- else SLang_free_array (bt);
-
- return ret;
-}
-
-/* ARRAY[i, j, k] = generates code: __args i j k ARRAY __aput
- */
-int _SLarray_aput (void)
-{
- unsigned int num_indices;
- SLang_Array_Type *at;
- SLang_Object_Type index_objs [SLARRAY_MAX_DIMS];
- int ret;
- int is_index_array;
- int (*aput_fun) (unsigned char, unsigned int);
- int type;
-
- ret = -1;
- num_indices = (SLang_Num_Function_Args - 1);
-
- type = SLang_peek_at_stack ();
- switch (type)
- {
- case -1:
- return -1;
-
- case SLANG_ARRAY_TYPE:
- break;
-
- default:
- if (NULL != (aput_fun = _SLclass_get_class (type)->cl_aput))
- return (*aput_fun) (type, num_indices);
- break;
- }
-
- if (-1 == SLang_pop_array (&at, 0))
- return -1;
-
- if (at->flags & SLARR_DATA_VALUE_IS_READ_ONLY)
- {
- SLang_verror (SL_READONLY_ERROR, "%s Array is read-only",
- SLclass_get_datatype_name (at->data_type));
- SLang_free_array (at);
- return -1;
- }
-
- if (-1 == pop_indices (index_objs, num_indices, &is_index_array))
- {
- SLang_free_array (at);
- return -1;
- }
-
- if (is_index_array == 0)
- ret = aput_from_indices (at, index_objs, num_indices);
- else
- ret = aput_from_index_array (at, index_objs[0].v.array_val);
-
- SLang_free_array (at);
- free_index_objects (index_objs, num_indices);
- return ret;
-}
-
-/* This is for 1-d matrices only. It is used by the sort function */
-static int push_element_at_index (SLang_Array_Type *at, int indx)
-{
- VOID_STAR data;
-
- if (NULL == (data = get_data_addr (at, &indx)))
- return -1;
-
- return push_element_at_addr (at, (VOID_STAR) data, 1);
-}
-
-static SLang_Name_Type *Sort_Function;
-static SLang_Array_Type *Sort_Array;
-
-static int sort_cmp_fun (int *a, int *b)
-{
- int cmp;
-
- if (SLang_Error
- || (-1 == push_element_at_index (Sort_Array, *a))
- || (-1 == push_element_at_index (Sort_Array, *b))
- || (-1 == SLexecute_function (Sort_Function))
- || (-1 == SLang_pop_integer (&cmp)))
- {
- /* DO not allow qsort to loop forever. Return something meaningful */
- if (*a > *b) return 1;
- if (*a < *b) return -1;
- return 0;
- }
-
- return cmp;
-}
-
-static int builtin_sort_cmp_fun (int *a, int *b)
-{
- VOID_STAR a_data;
- VOID_STAR b_data;
- SLang_Class_Type *cl;
-
- cl = Sort_Array->cl;
-
- if ((SLang_Error == 0)
- && (NULL != (a_data = get_data_addr (Sort_Array, a)))
- && (NULL != (b_data = get_data_addr (Sort_Array, b))))
- {
- int cmp;
-
- if ((Sort_Array->flags & SLARR_DATA_VALUE_IS_POINTER)
- && ((*(VOID_STAR *) a_data == NULL) || (*(VOID_STAR *) a_data == NULL)))
- {
- SLang_verror (SL_VARIABLE_UNINITIALIZED,
- "%s array has unitialized element", cl->cl_name);
- }
- else if (0 == (*cl->cl_cmp)(Sort_Array->data_type, a_data, b_data, &cmp))
- return cmp;
- }
-
-
- if (*a > *b) return 1;
- if (*a == *b) return 0;
- return -1;
-}
-
-static void sort_array_internal (SLang_Array_Type *at_str,
- SLang_Name_Type *entry,
- int (*sort_fun)(int *, int *))
-{
- SLang_Array_Type *ind_at;
- /* This is a silly hack to make up for braindead compilers and the lack of
- * uniformity in prototypes for qsort.
- */
- void (*qsort_fun) (char *, unsigned int, int, int (*)(int *, int *));
- int *indx;
- int i, n;
- int dims[1];
-
- if (Sort_Array != NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "array_sort is not recursive");
- return;
- }
-
- n = at_str->num_elements;
-
- if (at_str->num_dims != 1)
- {
- SLang_verror (SL_INVALID_PARM, "sort is restricted to 1 dim arrays");
- return;
- }
-
- dims [0] = n;
-
- if (NULL == (ind_at = SLang_create_array (SLANG_INT_TYPE, 0, NULL, dims, 1)))
- return;
-
- indx = (int *) ind_at->data;
- for (i = 0; i < n; i++) indx[i] = i;
-
- if (n > 1)
- {
- qsort_fun = (void (*)(char *, unsigned int, int, int (*)(int *,
- int *)))
- qsort;
-
- Sort_Array = at_str;
- Sort_Function = entry;
- (*qsort_fun) ((char *) indx, n, sizeof (int), sort_fun);
- }
-
- Sort_Array = NULL;
- (void) SLang_push_array (ind_at, 1);
-}
-
-static void sort_array (void)
-{
- SLang_Name_Type *entry;
- SLang_Array_Type *at;
- int (*sort_fun) (int *, int *);
-
- if (SLang_Num_Function_Args != 1)
- {
- sort_fun = sort_cmp_fun;
-
- if (NULL == (entry = SLang_pop_function ()))
- return;
-
- if (-1 == SLang_pop_array (&at, 1))
- return;
- }
- else
- {
- sort_fun = builtin_sort_cmp_fun;
- if (-1 == SLang_pop_array (&at, 1))
- return;
- if (at->cl->cl_cmp == NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "%s does not have a predefined sorting method",
- at->cl->cl_name);
- SLang_free_array (at);
- return;
- }
- entry = NULL;
- }
-
- sort_array_internal (at, entry, sort_fun);
- SLang_free_array (at);
- SLang_free_function (entry);
-}
-
-static void bstring_to_array (SLang_BString_Type *bs)
-{
- unsigned char *s;
- unsigned int len;
-
- if (NULL == (s = SLbstring_get_pointer (bs, &len)))
- (void) SLang_push_null ();
- else
- (void) push_string_as_array (s, len);
-}
-
-static void array_to_bstring (SLang_Array_Type *at)
-{
- unsigned int nbytes;
- SLang_BString_Type *bs;
-
- nbytes = at->num_elements * at->sizeof_type;
- bs = SLbstring_create ((unsigned char *)at->data, nbytes);
- (void) SLang_push_bstring (bs);
- SLbstring_free (bs);
-}
-
-static void init_char_array (void)
-{
- SLang_Array_Type *at;
- char *s;
- unsigned int n, ndim;
-
- if (SLang_pop_slstring (&s)) return;
-
- if (-1 == SLang_pop_array (&at, 0))
- goto free_and_return;
-
- if (at->data_type != SLANG_CHAR_TYPE)
- {
- SLang_doerror("Operation requires character array");
- goto free_and_return;
- }
-
- n = strlen (s);
- ndim = at->num_elements;
- if (n > ndim)
- {
- SLang_doerror("String too big to init array");
- goto free_and_return;
- }
-
- strncpy((char *) at->data, s, ndim);
- /* drop */
-
- free_and_return:
- SLang_free_array (at);
- SLang_free_slstring (s);
-}
-
-static void array_info (void)
-{
- SLang_Array_Type *at, *bt;
- int num_dims;
-
- if (-1 == pop_array (&at, 1))
- return;
-
- num_dims = (int)at->num_dims;
-
- if (NULL != (bt = SLang_create_array (SLANG_INT_TYPE, 0, NULL, &num_dims, 1)))
- {
- int *bdata;
- int i;
- int *a_dims;
-
- a_dims = at->dims;
- bdata = (int *) bt->data;
- for (i = 0; i < num_dims; i++) bdata [i] = a_dims [i];
-
- if (0 == SLang_push_array (bt, 1))
- {
- (void) SLang_push_integer ((int) at->num_dims);
- (void) _SLang_push_datatype (at->data_type);
- }
- }
-
- SLang_free_array (at);
-}
-
-static VOID_STAR range_get_data_addr (SLang_Array_Type *at, int *dims)
-{
- static int value;
- SLarray_Range_Array_Type *r;
- int d;
-
- d = *dims;
- r = (SLarray_Range_Array_Type *)at->data;
-
- if (d < 0)
- d += at->dims[0];
-
- value = r->first_index + d * r->delta;
- return (VOID_STAR) &value;
-}
-
-static SLang_Array_Type *inline_implicit_int_array (int *xminptr, int *xmaxptr, int *dxptr)
-{
- int delta;
- SLang_Array_Type *at;
- int dims, idims;
- SLarray_Range_Array_Type *data;
-
- if (dxptr == NULL) delta = 1;
- else delta = *dxptr;
-
- if (delta == 0)
- {
- SLang_verror (SL_INVALID_PARM, "range-array increment must be non-zero");
- return NULL;
- }
-
- data = (SLarray_Range_Array_Type *) SLmalloc (sizeof (SLarray_Range_Array_Type));
- if (data == NULL)
- return NULL;
-
- SLMEMSET((char *) data, 0, sizeof (SLarray_Range_Array_Type));
- data->delta = delta;
- dims = 0;
-
- if (xminptr != NULL)
- data->first_index = *xminptr;
- else
- data->first_index = 0;
-
- if (xmaxptr != NULL)
- data->last_index = *xmaxptr;
- else
- data->last_index = -1;
-
-/* if ((xminptr != NULL) && (xmaxptr != NULL))
- { */
- idims = 1 + (data->last_index - data->first_index) / delta;
- if (idims > 0)
- dims = idims;
- /* } */
-
- if (NULL == (at = SLang_create_array (SLANG_INT_TYPE, 0, (VOID_STAR) data, &dims, 1)))
- return NULL;
-
- at->index_fun = range_get_data_addr;
- at->flags |= SLARR_DATA_VALUE_IS_RANGE;
-
- return at;
-}
-
-#if SLANG_HAS_FLOAT
-static SLang_Array_Type *inline_implicit_floating_array (unsigned char type,
- double *xminptr, double *xmaxptr, double *dxptr)
-{
- int n, i;
- SLang_Array_Type *at;
- int dims;
- double xmin, xmax, dx;
-
- if ((xminptr == NULL) || (xmaxptr == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "range-array has unknown size");
- return NULL;
- }
- xmin = *xminptr;
- xmax = *xmaxptr;
- if (dxptr == NULL) dx = 1.0;
- else dx = *dxptr;
-
- if (dx == 0.0)
- {
- SLang_doerror ("range-array increment must be non-zero");
- return NULL;
- }
-
- /* I have convinced myself that it is better to use semi-open intervals
- * because of less ambiguities. So, [a:b:c] will represent the set of
- * values a, a + c, a + 2c ... a + nc
- * such that a + nc < b. That is, b lies outside the interval.
- */
-
- /* Allow for roundoff by adding 0.5 before truncation */
- n = (int)(1.5 + ((xmax - xmin) / dx));
- if (n <= 0)
- n = 0;
- else
- {
- double last = xmin + (n-1) * dx;
-
- if (dx > 0.0)
- {
- if (last >= xmax)
- n -= 1;
- }
- else if (last <= xmax)
- n -= 1;
- }
-
- dims = n;
- if (NULL == (at = SLang_create_array1 (type, 0, NULL, &dims, 1, 1)))
- return NULL;
-
- if (type == SLANG_DOUBLE_TYPE)
- {
- double *ptr;
-
- ptr = (double *) at->data;
-
- for (i = 0; i < n; i++)
- ptr[i] = xmin + i * dx;
- }
- else
- {
- float *ptr;
-
- ptr = (float *) at->data;
-
- for (i = 0; i < n; i++)
- ptr[i] = (float) (xmin + i * dx);
- }
- return at;
-}
-#endif
-
-/* FIXME: Priority=medium
- * This needs to be updated to work with all integer types.
- */
-int _SLarray_inline_implicit_array (void)
-{
- int int_vals[3];
-#if SLANG_HAS_FLOAT
- double double_vals[3];
-#endif
- int has_vals[3];
- unsigned int i, count;
- SLang_Array_Type *at;
- int precedence;
- unsigned char type;
- int is_int;
-
- count = SLang_Num_Function_Args;
-
- if (count == 2)
- has_vals [2] = 0;
- else if (count != 3)
- {
- SLang_doerror ("wrong number of arguments to __implicit_inline_array");
- return -1;
- }
-
-#if SLANG_HAS_FLOAT
- is_int = 1;
-#endif
-
- type = 0;
- precedence = 0;
-
- i = count;
- while (i--)
- {
- int this_type, this_precedence;
-
- if (-1 == (this_type = SLang_peek_at_stack ()))
- return -1;
-
- this_precedence = _SLarith_get_precedence ((unsigned char) this_type);
- if (precedence < this_precedence)
- {
- type = (unsigned char) this_type;
- precedence = this_precedence;
- }
-
- has_vals [i] = 1;
-
- switch (this_type)
- {
- case SLANG_NULL_TYPE:
- has_vals[i] = 0;
- (void) SLdo_pop ();
- break;
-
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- case SLANG_FLOAT_TYPE:
- if (-1 == SLang_pop_double (double_vals + i, NULL, NULL))
- return -1;
- is_int = 0;
- break;
-#endif
- default:
- if (-1 == SLang_pop_integer (int_vals + i))
- return -1;
- double_vals[i] = (double) int_vals[i];
- }
- }
-
-#if SLANG_HAS_FLOAT
- if (is_int == 0)
- at = inline_implicit_floating_array (type,
- (has_vals[0] ? &double_vals[0] : NULL),
- (has_vals[1] ? &double_vals[1] : NULL),
- (has_vals[2] ? &double_vals[2] : NULL));
- else
-#endif
- at = inline_implicit_int_array ((has_vals[0] ? &int_vals[0] : NULL),
- (has_vals[1] ? &int_vals[1] : NULL),
- (has_vals[2] ? &int_vals[2] : NULL));
-
- if (at == NULL)
- return -1;
-
- return SLang_push_array (at, 1);
-}
-
-int _SLarray_wildcard_array (void)
-{
- SLang_Array_Type *at;
-
- if (NULL == (at = inline_implicit_int_array (NULL, NULL, NULL)))
- return -1;
-
- return SLang_push_array (at, 1);
-}
-
-static SLang_Array_Type *concat_arrays (unsigned int count)
-{
- SLang_Array_Type **arrays;
- SLang_Array_Type *at, *bt;
- unsigned int i;
- int num_elements;
- unsigned char type;
- char *src_data, *dest_data;
- int is_ptr;
- unsigned int sizeof_type;
- int max_dims, min_dims, max_rows, min_rows;
-
- arrays = (SLang_Array_Type **)SLmalloc (count * sizeof (SLang_Array_Type *));
- if (arrays == NULL)
- {
- SLdo_pop_n (count);
- return NULL;
- }
- SLMEMSET((char *) arrays, 0, count * sizeof(SLang_Array_Type *));
-
- at = NULL;
-
- num_elements = 0;
- i = count;
-
- while (i != 0)
- {
- i--;
-
- if (-1 == SLang_pop_array (&bt, 1))
- goto free_and_return;
-
- arrays[i] = bt;
- num_elements += (int)bt->num_elements;
- }
-
- type = arrays[0]->data_type;
- max_dims = min_dims = arrays[0]->num_dims;
- min_rows = max_rows = arrays[0]->dims[0];
-
- for (i = 1; i < count; i++)
- {
- SLang_Array_Type *ct;
- int num;
-
- bt = arrays[i];
-
- num = bt->num_dims;
- if (num > max_dims) max_dims = num;
- if (num < min_dims) min_dims = num;
-
- num = bt->dims[0];
- if (num > max_rows) max_rows = num;
- if (num < min_rows) min_rows = num;
-
- if (type == bt->data_type)
- continue;
-
- if (1 != _SLarray_typecast (bt->data_type, (VOID_STAR) &bt, 1,
- type, (VOID_STAR) &ct, 1))
- goto free_and_return;
-
- SLang_free_array (bt);
- arrays [i] = ct;
- }
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, &num_elements, 1)))
- goto free_and_return;
-
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
- sizeof_type = at->sizeof_type;
- dest_data = (char *) at->data;
-
- for (i = 0; i < count; i++)
- {
- bt = arrays[i];
-
- src_data = (char *) bt->data;
- num_elements = bt->num_elements;
-
- if (-1 == transfer_n_elements (bt, (VOID_STAR)dest_data, (VOID_STAR)src_data, sizeof_type,
- num_elements, is_ptr))
- {
- SLang_free_array (at);
- at = NULL;
- goto free_and_return;
- }
-
- dest_data += num_elements * sizeof_type;
- }
-
- /* If the arrays are all 1-d, and all the same size, then reshape to a
- * 2-d array. This will allow us to do, e.g.
- * a = [[1,2], [3,4]]
- * to specifiy a 2-d.
- * Someday I will generalize this.
- */
- if ((max_dims == min_dims) && (max_dims == 1) && (min_rows == max_rows))
- {
- at->num_dims = 2;
- at->dims[0] = count;
- at->dims[1] = min_rows;
- }
-
- free_and_return:
-
- for (i = 0; i < count; i++)
- SLang_free_array (arrays[i]);
- SLfree ((char *) arrays);
-
- return at;
-}
-
-int _SLarray_inline_array (void)
-{
- SLang_Object_Type *obj;
- unsigned char type, this_type;
- unsigned int count;
- SLang_Array_Type *at;
-
- obj = _SLStack_Pointer;
-
- count = SLang_Num_Function_Args;
- type = 0;
-
- while ((count > 0) && (--obj >= _SLRun_Stack))
- {
- this_type = obj->data_type;
-
- if (type == 0)
- type = this_type;
-
- if ((type == this_type) || (type == SLANG_ARRAY_TYPE))
- {
- count--;
- continue;
- }
-
- switch (this_type)
- {
- case SLANG_ARRAY_TYPE:
- type = SLANG_ARRAY_TYPE;
- break;
-
- case SLANG_INT_TYPE:
- switch (type)
- {
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- break;
-#endif
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- break;
-#endif
- default:
- goto type_mismatch;
- }
- break;
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- switch (type)
- {
- case SLANG_INT_TYPE:
- type = SLANG_DOUBLE_TYPE;
- break;
-# if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- break;
-# endif
- default:
- goto type_mismatch;
- }
- break;
-#endif
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- switch (type)
- {
- case SLANG_INT_TYPE:
- case SLANG_DOUBLE_TYPE:
- type = SLANG_COMPLEX_TYPE;
- break;
-
- default:
- goto type_mismatch;
- }
- break;
-#endif
- default:
- type_mismatch:
- _SLclass_type_mismatch_error (type, this_type);
- return -1;
- }
- count--;
- }
-
- if (count != 0)
- {
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
-
- count = SLang_Num_Function_Args;
-
- if (count == 0)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Empty inline-arrays not supported");
- return -1;
- }
-
- if (type == SLANG_ARRAY_TYPE)
- {
- if (NULL == (at = concat_arrays (count)))
- return -1;
- }
- else
- {
- SLang_Object_Type index_obj;
- int icount = (int) count;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, &icount, 1)))
- return -1;
-
- index_obj.data_type = SLANG_INT_TYPE;
- while (count != 0)
- {
- count--;
- index_obj.v.int_val = (int) count;
- if (-1 == aput_from_indices (at, &index_obj, 1))
- {
- SLang_free_array (at);
- SLdo_pop_n (count);
- return -1;
- }
- }
- }
-
- return SLang_push_array (at, 1);
-}
-
-static int array_binary_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) op;
- (void) a;
- (void) b;
- *c = SLANG_ARRAY_TYPE;
- return 1;
-}
-
-static int array_binary_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- SLang_Array_Type *at, *bt, *ct;
- unsigned int i, num_dims;
- int (*binary_fun) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR);
- SLang_Class_Type *a_cl, *b_cl, *c_cl;
- int no_init;
-
- if (a_type == SLANG_ARRAY_TYPE)
- {
- if (na != 1)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Binary operation on multiple arrays not implemented");
- return -1;
- }
-
- at = *(SLang_Array_Type **) ap;
- if (-1 == coerse_array_to_linear (at))
- return -1;
- ap = at->data;
- a_type = at->data_type;
- na = at->num_elements;
- }
- else
- {
- at = NULL;
- }
-
- if (b_type == SLANG_ARRAY_TYPE)
- {
- if (nb != 1)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Binary operation on multiple arrays not implemented");
- return -1;
- }
-
- bt = *(SLang_Array_Type **) bp;
- if (-1 == coerse_array_to_linear (bt))
- return -1;
- bp = bt->data;
- b_type = bt->data_type;
- nb = bt->num_elements;
- }
- else
- {
- bt = NULL;
- }
-
- if ((at != NULL) && (bt != NULL))
- {
- num_dims = at->num_dims;
-
- if (num_dims != bt->num_dims)
- {
- SLang_verror (SL_TYPE_MISMATCH, "Arrays must have same dim for binary operation");
- return -1;
- }
-
- for (i = 0; i < num_dims; i++)
- {
- if (at->dims[i] != bt->dims[i])
- {
- SLang_verror (SL_TYPE_MISMATCH, "Arrays must be the same for binary operation");
- return -1;
- }
- }
- }
-
- a_cl = _SLclass_get_class (a_type);
- b_cl = _SLclass_get_class (b_type);
-
- if (NULL == (binary_fun = _SLclass_get_binary_fun (op, a_cl, b_cl, &c_cl, 1)))
- return -1;
-
- no_init = ((c_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- || (c_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
-
- ct = NULL;
-#if _SLANG_USE_TMP_OPTIMIZATION
- /* If we are dealing with scalar (or vector) objects, and if the object
- * appears to be owned by the stack, then use it instead of creating a
- * new version. This can happen with code such as:
- * @ x = [1,2,3,4];
- * @ x = __tmp(x) + 1;
- */
- if (no_init)
- {
- if ((at != NULL)
- && (at->num_refs == 1)
- && (at->data_type == c_cl->cl_data_type))
- {
- ct = at;
- ct->num_refs = 2;
- }
- else if ((bt != NULL)
- && (bt->num_refs == 1)
- && (bt->data_type == c_cl->cl_data_type))
- {
- ct = bt;
- ct->num_refs = 2;
- }
- }
-#endif /* _SLANG_USE_TMP_OPTIMIZATION */
-
- if (ct == NULL)
- {
- if (at != NULL) ct = at; else ct = bt;
- ct = SLang_create_array1 (c_cl->cl_data_type, 0, NULL, ct->dims, ct->num_dims, no_init);
- if (ct == NULL)
- return -1;
- }
-
-
- if ((na == 0) || (nb == 0) /* allow empty arrays */
- || (1 == (*binary_fun) (op, a_type, ap, na, b_type, bp, nb, ct->data)))
- {
- *(SLang_Array_Type **) cp = ct;
- return 1;
- }
-
- SLang_free_array (ct);
- return -1;
-}
-
-static void array_where (void)
-{
- SLang_Array_Type *at, *bt;
- char *a_data;
- int *b_data;
- unsigned int i, num_elements;
- int b_num;
-
- if (-1 == SLang_pop_array (&at, 1))
- return;
-
- bt = NULL;
-
- if (at->data_type != SLANG_CHAR_TYPE)
- {
- int zero;
- SLang_Array_Type *tmp_at;
-
- tmp_at = at;
- zero = 0;
- if (1 != array_binary_op (SLANG_NE,
- SLANG_ARRAY_TYPE, (VOID_STAR) &at, 1,
- SLANG_CHAR_TYPE, (VOID_STAR) &zero, 1,
- (VOID_STAR) &tmp_at))
- goto return_error;
-
- SLang_free_array (at);
- at = tmp_at;
- if (at->data_type != SLANG_CHAR_TYPE)
- {
- SLang_Error = SL_TYPE_MISMATCH;
- goto return_error;
- }
- }
-
- a_data = (char *) at->data;
- num_elements = at->num_elements;
-
- b_num = 0;
- for (i = 0; i < num_elements; i++)
- if (a_data[i] != 0) b_num++;
-
- if (NULL == (bt = SLang_create_array1 (SLANG_INT_TYPE, 0, NULL, &b_num, 1, 1)))
- goto return_error;
-
- b_data = (int *) bt->data;
-
- i = 0;
- while (b_num)
- {
- if (a_data[i] != 0)
- {
- *b_data++ = i;
- b_num--;
- }
-
- i++;
- }
-
- (void) SLang_push_array (bt, 0);
- /* drop */
-
- return_error:
- SLang_free_array (at);
- SLang_free_array (bt);
-}
-
-static int do_array_reshape (SLang_Array_Type *at, SLang_Array_Type *ind_at)
-{
- int *dims;
- unsigned int i, num_dims;
- unsigned int num_elements;
-
- if ((ind_at->data_type != SLANG_INT_TYPE)
- || (ind_at->num_dims != 1))
- {
- SLang_verror (SL_TYPE_MISMATCH, "Expecting 1-d integer array");
- return -1;
- }
-
- num_dims = ind_at->num_elements;
- dims = (int *) ind_at->data;
-
- num_elements = 1;
- for (i = 0; i < num_dims; i++)
- {
- int d = dims[i];
- if (d < 0)
- {
- SLang_verror (SL_INVALID_PARM, "reshape: dimension is less then 0");
- return -1;
- }
-
- num_elements = (unsigned int) d * num_elements;
- }
-
- if ((num_elements != at->num_elements)
- || (num_dims > SLARRAY_MAX_DIMS))
- {
- SLang_verror (SL_INVALID_PARM, "Unable to reshape array to specified size");
- return -1;
- }
-
- for (i = 0; i < num_dims; i++)
- at->dims [i] = dims[i];
-
- while (i < SLARRAY_MAX_DIMS)
- {
- at->dims [i] = 1;
- i++;
- }
-
- at->num_dims = num_dims;
- return 0;
-}
-
-static void array_reshape (SLang_Array_Type *at, SLang_Array_Type *ind_at)
-{
- (void) do_array_reshape (at, ind_at);
-}
-
-static void _array_reshape (SLang_Array_Type *ind_at)
-{
- SLang_Array_Type *at;
- SLang_Array_Type *new_at;
-
- if (-1 == SLang_pop_array (&at, 1))
- return;
-
- /* FIXME: Priority=low: duplicate_array could me modified to look at num_refs */
-
- /* Now try to avoid the overhead of creating a new array if possible */
- if (at->num_refs == 1)
- {
- /* Great, we are the sole owner of this array. */
- if ((-1 == do_array_reshape (at, ind_at))
- || (-1 == SLclass_push_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR)at)))
- SLang_free_array (at);
- return;
- }
-
- new_at = SLang_duplicate_array (at);
- if (new_at != NULL)
- {
- if (0 == do_array_reshape (new_at, ind_at))
- (void) SLang_push_array (new_at, 0);
-
- SLang_free_array (new_at);
- }
- SLang_free_array (at);
-}
-
-typedef struct
-{
- SLang_Array_Type *at;
- unsigned int increment;
- char *addr;
-}
-Map_Arg_Type;
-/* Usage: array_map (Return-Type, func, args,....); */
-static void array_map (void)
-{
- Map_Arg_Type *args;
- unsigned int num_args;
- unsigned int i, i_control;
- SLang_Name_Type *nt;
- unsigned int num_elements;
- SLang_Array_Type *at;
- char *addr;
- unsigned char type;
-
- at = NULL;
- args = NULL;
- nt = NULL;
-
- if (SLang_Num_Function_Args < 3)
- {
- SLang_verror (SL_INVALID_PARM,
- "Usage: array_map (Return-Type, &func, args...)");
- SLdo_pop_n (SLang_Num_Function_Args);
- return;
- }
-
- num_args = (unsigned int)SLang_Num_Function_Args - 2;
- args = (Map_Arg_Type *) SLmalloc (num_args * sizeof (Map_Arg_Type));
- if (args == NULL)
- {
- SLdo_pop_n (SLang_Num_Function_Args);
- return;
- }
- memset ((char *) args, 0, num_args * sizeof (Map_Arg_Type));
- i = num_args;
- i_control = 0;
- while (i > 0)
- {
- i--;
- if (-1 == SLang_pop_array (&args[i].at, 1))
- {
- SLdo_pop_n (i + 2);
- goto return_error;
- }
- if (args[i].at->num_elements > 1)
- i_control = i;
- }
-
- if (NULL == (nt = SLang_pop_function ()))
- {
- SLdo_pop_n (1);
- goto return_error;
- }
-
- num_elements = args[i_control].at->num_elements;
-
- if (-1 == _SLang_pop_datatype (&type))
- goto return_error;
-
- if (type == SLANG_UNDEFINED_TYPE) /* Void_Type */
- at = NULL;
- else
- {
- at = args[i_control].at;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, at->dims, at->num_dims)))
- goto return_error;
- }
-
-
- for (i = 0; i < num_args; i++)
- {
- SLang_Array_Type *ati = args[i].at;
- /* FIXME: Priority = low: The actual dimensions should be compared. */
- if (ati->num_elements == num_elements)
- args[i].increment = ati->sizeof_type;
- /* memset already guarantees increment to be zero */
-
- if (ati->num_elements == 0)
- {
- SLang_verror (0, "array_map: function argument %d of %d is an empty array",
- i+1, num_args);
- goto return_error;
- }
-
- args[i].addr = (char *) ati->data;
- }
-
- if (at == NULL)
- addr = NULL;
- else
- addr = (char *)at->data;
-
- for (i = 0; i < num_elements; i++)
- {
- unsigned int j;
-
- if (-1 == SLang_start_arg_list ())
- goto return_error;
-
- for (j = 0; j < num_args; j++)
- {
- if (-1 == push_element_at_addr (args[j].at,
- (VOID_STAR) args[j].addr,
- 1))
- {
- SLdo_pop_n (j);
- goto return_error;
- }
-
- args[j].addr += args[j].increment;
- }
-
- if (-1 == SLang_end_arg_list ())
- {
- SLdo_pop_n (num_args);
- goto return_error;
- }
-
- if (-1 == SLexecute_function (nt))
- goto return_error;
-
- if (at == NULL)
- continue;
-
- if (-1 == at->cl->cl_apop (type, (VOID_STAR) addr))
- goto return_error;
-
- addr += at->sizeof_type;
- }
-
- if (at != NULL)
- (void) SLang_push_array (at, 0);
-
- /* drop */
-
- return_error:
- SLang_free_array (at);
- SLang_free_function (nt);
- if (args != NULL)
- {
- for (i = 0; i < num_args; i++)
- SLang_free_array (args[i].at);
-
- SLfree ((char *) args);
- }
-}
-
-static SLang_Intrin_Fun_Type Array_Table [] =
-{
- MAKE_INTRINSIC_0("array_map", array_map, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("array_sort", sort_array, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_1("array_to_bstring", array_to_bstring, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
- MAKE_INTRINSIC_1("bstring_to_array", bstring_to_array, SLANG_VOID_TYPE, SLANG_BSTRING_TYPE),
- MAKE_INTRINSIC("init_char_array", init_char_array, SLANG_VOID_TYPE, 0),
- MAKE_INTRINSIC("array_info", array_info, SLANG_VOID_TYPE, 0),
- MAKE_INTRINSIC("where", array_where, SLANG_VOID_TYPE, 0),
- MAKE_INTRINSIC_2("reshape", array_reshape, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE, SLANG_ARRAY_TYPE),
- MAKE_INTRINSIC_1("_reshape", _array_reshape, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-static char *array_string (unsigned char type, VOID_STAR v)
-{
- SLang_Array_Type *at;
- char buf[512];
- unsigned int i, num_dims;
- int *dims;
-
- at = *(SLang_Array_Type **) v;
- type = at->data_type;
- num_dims = at->num_dims;
- dims = at->dims;
-
- sprintf (buf, "%s[%d", SLclass_get_datatype_name (type), at->dims[0]);
-
- for (i = 1; i < num_dims; i++)
- sprintf (buf + strlen(buf), ",%d", dims[i]);
- strcat (buf, "]");
-
- return SLmake_string (buf);
-}
-
-static void array_destroy (unsigned char type, VOID_STAR v)
-{
- (void) type;
- SLang_free_array (*(SLang_Array_Type **) v);
-}
-
-static int array_push (unsigned char type, VOID_STAR v)
-{
- SLang_Array_Type *at;
-
- (void) type;
- at = *(SLang_Array_Type **) v;
- return SLang_push_array (at, 0);
-}
-
-/* Intrinsic arrays are not stored in a variable. So, the address that
- * would contain the variable holds the array address.
- */
-static int array_push_intrinsic (unsigned char type, VOID_STAR v)
-{
- (void) type;
- return SLang_push_array ((SLang_Array_Type *) v, 0);
-}
-
-int _SLarray_add_bin_op (unsigned char type)
-{
- SL_OOBinary_Type *ab;
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- ab = cl->cl_binary_ops;
-
- while (ab != NULL)
- {
- if (ab->data_type == SLANG_ARRAY_TYPE)
- return 0;
- ab = ab->next;
- }
-
- if ((-1 == SLclass_add_binary_op (SLANG_ARRAY_TYPE, type, array_binary_op, array_binary_op_result))
- || (-1 == SLclass_add_binary_op (type, SLANG_ARRAY_TYPE, array_binary_op, array_binary_op_result)))
- return -1;
-
- return 0;
-}
-
-static SLang_Array_Type *
-do_array_math_op (int op, int unary_type,
- SLang_Array_Type *at, unsigned int na)
-{
- unsigned char a_type, b_type;
- int (*f) (int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
- SLang_Array_Type *bt;
- SLang_Class_Type *b_cl;
- int no_init;
-
- if (na != 1)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Operation restricted to 1 array");
- return NULL;
- }
-
- a_type = at->data_type;
- if (NULL == (f = _SLclass_get_unary_fun (op, at->cl, &b_cl, unary_type)))
- return NULL;
- b_type = b_cl->cl_data_type;
-
- if (-1 == coerse_array_to_linear (at))
- return NULL;
-
- no_init = ((b_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- || (b_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
-
-#if _SLANG_USE_TMP_OPTIMIZATION
- /* If we are dealing with scalar (or vector) objects, and if the object
- * appears to be owned by the stack, then use it instead of creating a
- * new version. This can happen with code such as:
- * @ x = [1,2,3,4];
- * @ x = UNARY_OP(__tmp(x));
- */
- if (no_init
- && (at->num_refs == 1)
- && (at->data_type == b_cl->cl_data_type))
- {
- bt = at;
- bt->num_refs = 2;
- }
- else
-#endif /* _SLANG_USE_TMP_OPTIMIZATION */
- if (NULL == (bt = SLang_create_array1 (b_type, 0, NULL, at->dims, at->num_dims, no_init)))
- return NULL;
-
- if (1 != (*f)(op, a_type, at->data, at->num_elements, bt->data))
- {
- SLang_free_array (bt);
- return NULL;
- }
- return bt;
-}
-
-static int
-array_unary_op_result (int op, unsigned char a, unsigned char *b)
-{
- (void) op;
- (void) a;
- *b = SLANG_ARRAY_TYPE;
- return 1;
-}
-
-static int
-array_unary_op (int op,
- unsigned char a, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- SLang_Array_Type *at;
-
- (void) a;
- at = *(SLang_Array_Type **) ap;
- if (NULL == (at = do_array_math_op (op, _SLANG_BC_UNARY, at, na)))
- {
- if (SLang_Error) return -1;
- return 0;
- }
- *(SLang_Array_Type **) bp = at;
- return 1;
-}
-
-static int
-array_math_op (int op,
- unsigned char a, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- SLang_Array_Type *at;
-
- (void) a;
- at = *(SLang_Array_Type **) ap;
- if (NULL == (at = do_array_math_op (op, _SLANG_BC_MATH_UNARY, at, na)))
- {
- if (SLang_Error) return -1;
- return 0;
- }
- *(SLang_Array_Type **) bp = at;
- return 1;
-}
-
-static int
-array_app_op (int op,
- unsigned char a, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- SLang_Array_Type *at;
-
- (void) a;
- at = *(SLang_Array_Type **) ap;
- if (NULL == (at = do_array_math_op (op, _SLANG_BC_APP_UNARY, at, na)))
- {
- if (SLang_Error) return -1;
- return 0;
- }
- *(SLang_Array_Type **) bp = at;
- return 1;
-}
-
-int
-_SLarray_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp,
- int is_implicit)
-{
- SLang_Array_Type *at, *bt;
- SLang_Class_Type *b_cl;
- int no_init;
- int (*t) (unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR);
-
- if (na != 1)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "typecast of multiple arrays not implemented");
- return -1;
- }
-
- at = *(SLang_Array_Type **) ap;
- a_type = at->data_type;
-
- if (a_type == b_type)
- {
- at->num_refs += 1;
- *(SLang_Array_Type **) bp = at;
- return 1;
- }
-
- if (NULL == (t = _SLclass_get_typecast (a_type, b_type, is_implicit)))
- return -1;
-
- if (-1 == coerse_array_to_linear (at))
- return -1;
-
- b_cl = _SLclass_get_class (b_type);
-
- no_init = ((b_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- || (b_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
-
- if (NULL == (bt = SLang_create_array1 (b_type, 0, NULL, at->dims, at->num_dims, no_init)))
- return -1;
-
- if (1 == (*t) (a_type, at->data, at->num_elements, b_type, bt->data))
- {
- *(SLang_Array_Type **) bp = bt;
- return 1;
- }
-
- SLang_free_array (bt);
- return 0;
-}
-
-SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *at)
-{
- SLang_Array_Type *bt;
- char *data, *a_data;
- unsigned int i, num_elements, sizeof_type;
- unsigned int size;
- int (*cl_acopy) (unsigned char, VOID_STAR, VOID_STAR);
- unsigned char type;
-
- if (-1 == coerse_array_to_linear (at))
- return NULL;
-
- type = at->data_type;
- num_elements = at->num_elements;
- sizeof_type = at->sizeof_type;
- size = num_elements * sizeof_type;
-
- if (NULL == (data = SLmalloc (size)))
- return NULL;
-
- if (NULL == (bt = SLang_create_array (type, 0, (VOID_STAR)data, at->dims, at->num_dims)))
- {
- SLfree (data);
- return NULL;
- }
-
- a_data = (char *) at->data;
- if (0 == (at->flags & SLARR_DATA_VALUE_IS_POINTER))
- {
- SLMEMCPY (data, a_data, size);
- return bt;
- }
-
- SLMEMSET (data, 0, size);
-
- cl_acopy = at->cl->cl_acopy;
- for (i = 0; i < num_elements; i++)
- {
- if (NULL != *(VOID_STAR *) a_data)
- {
- if (-1 == (*cl_acopy) (type, (VOID_STAR) a_data, (VOID_STAR) data))
- {
- SLang_free_array (bt);
- return NULL;
- }
- }
-
- data += sizeof_type;
- a_data += sizeof_type;
- }
-
- return bt;
-}
-
-static int array_dereference (unsigned char type, VOID_STAR addr)
-{
- SLang_Array_Type *at;
-
- (void) type;
- at = SLang_duplicate_array (*(SLang_Array_Type **) addr);
- if (at == NULL) return -1;
- return SLang_push_array (at, 1);
-}
-
-/* This function gets called via, e.g., @Array_Type (Double_Type, [10,20]);
- */
-static int
-array_datatype_deref (unsigned char type)
-{
- SLang_Array_Type *ind_at;
- SLang_Array_Type *at;
-
-#if 0
- /* The parser generated code for this as if a function call were to be
- * made. However, the interpreter simply called the deref object routine
- * instead of the function call. So, I must simulate the function call.
- * This needs to be formalized to hide this detail from applications
- * who wish to do the same. So...
- * FIXME: Priority=medium
- */
- if (0 == _SL_increment_frame_pointer ())
- (void) _SL_decrement_frame_pointer ();
-#endif
-
- if (-1 == SLang_pop_array (&ind_at, 1))
- return -1;
-
- if ((ind_at->data_type != SLANG_INT_TYPE)
- || (ind_at->num_dims != 1))
- {
- SLang_verror (SL_TYPE_MISMATCH, "Expecting 1-d integer array");
- goto return_error;
- }
-
- if (-1 == _SLang_pop_datatype (&type))
- goto return_error;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL,
- (int *) ind_at->data,
- ind_at->num_elements)))
- goto return_error;
-
- SLang_free_array (ind_at);
- return SLang_push_array (at, 1);
-
- return_error:
- SLang_free_array (ind_at);
- return -1;
-}
-
-static int array_length (unsigned char type, VOID_STAR v, unsigned int *len)
-{
- SLang_Array_Type *at;
-
- (void) type;
- at = *(SLang_Array_Type **) v;
- *len = at->num_elements;
- return 0;
-}
-
-int
-_SLarray_init_slarray (void)
-{
- SLang_Class_Type *cl;
-
- if (-1 == SLadd_intrin_fun_table (Array_Table, NULL))
- return -1;
-
- if (NULL == (cl = SLclass_allocate_class ("Array_Type")))
- return -1;
-
- (void) SLclass_set_string_function (cl, array_string);
- (void) SLclass_set_destroy_function (cl, array_destroy);
- (void) SLclass_set_push_function (cl, array_push);
- cl->cl_push_intrinsic = array_push_intrinsic;
- cl->cl_dereference = array_dereference;
- cl->cl_datatype_deref = array_datatype_deref;
- cl->cl_length = array_length;
-
- if (-1 == SLclass_register_class (cl, SLANG_ARRAY_TYPE, sizeof (VOID_STAR),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- if ((-1 == SLclass_add_binary_op (SLANG_ARRAY_TYPE, SLANG_ARRAY_TYPE, array_binary_op, array_binary_op_result))
- || (-1 == SLclass_add_unary_op (SLANG_ARRAY_TYPE, array_unary_op, array_unary_op_result))
- || (-1 == SLclass_add_app_unary_op (SLANG_ARRAY_TYPE, array_app_op, array_unary_op_result))
- || (-1 == SLclass_add_math_op (SLANG_ARRAY_TYPE, array_math_op, array_unary_op_result))
- || (-1 == SLclass_add_math_op (SLANG_ARRAY_TYPE, array_math_op, array_unary_op_result)))
- return -1;
-
- return 0;
-}
-
-int SLang_pop_array (SLang_Array_Type **at_ptr, int convert_scalar)
-{
- if (-1 == pop_array (at_ptr, convert_scalar))
- return -1;
-
- if (-1 == coerse_array_to_linear (*at_ptr))
- {
- SLang_free_array (*at_ptr);
- return -1;
- }
- return 0;
-}
-
-int SLang_pop_array_of_type (SLang_Array_Type **at, unsigned char type)
-{
- if (-1 == SLclass_typecast (type, 1, 1))
- return -1;
-
- return SLang_pop_array (at, 1);
-}
-
-void (*_SLang_Matrix_Multiply)(void);
-
-int _SLarray_matrix_multiply (void)
-{
- if (_SLang_Matrix_Multiply != NULL)
- {
- (*_SLang_Matrix_Multiply)();
- return 0;
- }
- SLang_verror (SL_NOT_IMPLEMENTED, "Matrix multiplication not available");
- return -1;
-}
-
-struct _SLang_Foreach_Context_Type
-{
- SLang_Array_Type *at;
- unsigned int next_element_index;
-};
-
-SLang_Foreach_Context_Type *
-_SLarray_cl_foreach_open (unsigned char type, unsigned int num)
-{
- SLang_Foreach_Context_Type *c;
-
- if (num != 0)
- {
- SLdo_pop_n (num + 1);
- SLang_verror (SL_NOT_IMPLEMENTED,
- "%s does not support 'foreach using' form",
- SLclass_get_datatype_name (type));
- return NULL;
- }
-
- if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
- return NULL;
-
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
-
- if (-1 == pop_array (&c->at, 1))
- {
- SLfree ((char *) c);
- return NULL;
- }
-
- return c;
-}
-
-void _SLarray_cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
- SLang_free_array (c->at);
- SLfree ((char *) c);
-}
-
-int _SLarray_cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- SLang_Array_Type *at;
- VOID_STAR data;
-
- (void) type;
-
- if (c == NULL)
- return -1;
-
- at = c->at;
- if (at->num_elements == c->next_element_index)
- return 0;
-
- /* FIXME: Priority = low. The following assumes linear arrays
- * or Integer range arrays. Fixing it right requires a method to get the
- * nth element of a multidimensional array.
- */
-
- if (at->flags & SLARR_DATA_VALUE_IS_RANGE)
- {
- int d = (int) c->next_element_index;
- data = range_get_data_addr (at, &d);
- }
- else
- data = (VOID_STAR) ((char *)at->data + (c->next_element_index * at->sizeof_type));
-
- c->next_element_index += 1;
-
- if ((at->flags & SLARR_DATA_VALUE_IS_POINTER)
- && (*(VOID_STAR *) data == NULL))
- {
- if (-1 == SLang_push_null ())
- return -1;
- }
- else if (-1 == (*at->cl->cl_apush)(at->data_type, data))
- return -1;
-
- /* keep going */
- return 1;
-}
-
diff --git a/mdk-stage1/slang/slarrfun.c b/mdk-stage1/slang/slarrfun.c
deleted file mode 100644
index bfa6ec5e5..000000000
--- a/mdk-stage1/slang/slarrfun.c
+++ /dev/null
@@ -1,464 +0,0 @@
-/* Advanced array manipulation routines for S-Lang */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static int next_transposed_index (int *dims, int *max_dims, unsigned int num_dims)
-{
- int i;
-
- for (i = 0; i < (int) num_dims; i++)
- {
- int dims_i;
-
- dims_i = dims [i] + 1;
- if (dims_i != (int) max_dims [i])
- {
- dims [i] = dims_i;
- return 0;
- }
- dims [i] = 0;
- }
-
- return -1;
-}
-
-static SLang_Array_Type *allocate_transposed_array (SLang_Array_Type *at)
-{
- unsigned int num_elements;
- SLang_Array_Type *bt;
- VOID_STAR b_data;
-
- num_elements = at->num_elements;
- b_data = (VOID_STAR) SLmalloc (at->sizeof_type * num_elements);
- if (b_data == NULL)
- return NULL;
-
- bt = SLang_create_array (at->data_type, 0, b_data, at->dims, 2);
- if (bt == NULL)
- {
- SLfree ((char *)b_data);
- return NULL;
- }
-
- bt->dims[1] = at->dims[0];
- bt->dims[0] = at->dims[1];
-
- return bt;
-}
-
-#define GENERIC_TYPE float
-#define TRANSPOSE_2D_ARRAY transpose_floats
-#define GENERIC_TYPE_A float
-#define GENERIC_TYPE_B float
-#define GENERIC_TYPE_C float
-#define INNERPROD_FUNCTION innerprod_float_float
-#if SLANG_HAS_COMPLEX
-# define INNERPROD_COMPLEX_A innerprod_complex_float
-# define INNERPROD_A_COMPLEX innerprod_float_complex
-#endif
-#include "slarrfun.inc"
-
-#define GENERIC_TYPE double
-#define TRANSPOSE_2D_ARRAY transpose_doubles
-#define GENERIC_TYPE_A double
-#define GENERIC_TYPE_B double
-#define GENERIC_TYPE_C double
-#define INNERPROD_FUNCTION innerprod_double_double
-#if SLANG_HAS_COMPLEX
-# define INNERPROD_COMPLEX_A innerprod_complex_double
-# define INNERPROD_A_COMPLEX innerprod_double_complex
-#endif
-#include "slarrfun.inc"
-
-#define GENERIC_TYPE_A double
-#define GENERIC_TYPE_B float
-#define GENERIC_TYPE_C double
-#define INNERPROD_FUNCTION innerprod_double_float
-#include "slarrfun.inc"
-
-#define GENERIC_TYPE_A float
-#define GENERIC_TYPE_B double
-#define GENERIC_TYPE_C double
-#define INNERPROD_FUNCTION innerprod_float_double
-#include "slarrfun.inc"
-
-/* Finally pick up the complex_complex multiplication
- * and do the integers
- */
-#if SLANG_HAS_COMPLEX
-# define INNERPROD_COMPLEX_COMPLEX innerprod_complex_complex
-#endif
-#define GENERIC_TYPE int
-#define TRANSPOSE_2D_ARRAY transpose_ints
-#include "slarrfun.inc"
-
-#if SIZEOF_LONG != SIZEOF_INT
-# define GENERIC_TYPE long
-# define TRANSPOSE_2D_ARRAY transpose_longs
-# include "slarrfun.inc"
-#else
-# define transpose_longs transpose_ints
-#endif
-
-#if SIZEOF_SHORT != SIZEOF_INT
-# define GENERIC_TYPE short
-# define TRANSPOSE_2D_ARRAY transpose_shorts
-# include "slarrfun.inc"
-#else
-# define transpose_shorts transpose_ints
-#endif
-
-#define GENERIC_TYPE char
-#define TRANSPOSE_2D_ARRAY transpose_chars
-#include "slarrfun.inc"
-
-/* This routine works only with linear arrays */
-static SLang_Array_Type *transpose (SLang_Array_Type *at)
-{
- int dims [SLARRAY_MAX_DIMS];
- int *max_dims;
- unsigned int num_dims;
- SLang_Array_Type *bt;
- int i;
- unsigned int sizeof_type;
- int is_ptr;
- char *b_data;
-
- max_dims = at->dims;
- num_dims = at->num_dims;
-
- if ((at->num_elements == 0)
- || (num_dims == 1))
- {
- bt = SLang_duplicate_array (at);
- if (num_dims == 1) bt->num_dims = 2;
- goto transpose_dims;
- }
-
- /* For numeric arrays skip the overhead below */
- if (num_dims == 2)
- {
- bt = allocate_transposed_array (at);
- if (bt == NULL) return NULL;
-
- switch (at->data_type)
- {
- case SLANG_INT_TYPE:
- case SLANG_UINT_TYPE:
- return transpose_ints (at, bt);
- case SLANG_DOUBLE_TYPE:
- return transpose_doubles (at, bt);
- case SLANG_FLOAT_TYPE:
- return transpose_floats (at, bt);
- case SLANG_CHAR_TYPE:
- case SLANG_UCHAR_TYPE:
- return transpose_chars (at, bt);
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE:
- return transpose_longs (at, bt);
- case SLANG_SHORT_TYPE:
- case SLANG_USHORT_TYPE:
- return transpose_shorts (at, bt);
- }
- }
- else
- {
- bt = SLang_create_array (at->data_type, 0, NULL, max_dims, num_dims);
- if (bt == NULL) return NULL;
- }
-
- sizeof_type = at->sizeof_type;
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
-
- memset ((char *)dims, 0, sizeof(dims));
-
- b_data = (char *) bt->data;
-
- do
- {
- if (-1 == _SLarray_aget_transfer_elem (at, dims, (VOID_STAR) b_data,
- sizeof_type, is_ptr))
- {
- SLang_free_array (bt);
- return NULL;
- }
- b_data += sizeof_type;
- }
- while (0 == next_transposed_index (dims, max_dims, num_dims));
-
- transpose_dims:
-
- num_dims = bt->num_dims;
- for (i = 0; i < (int) num_dims; i++)
- bt->dims[i] = max_dims [num_dims - i - 1];
-
- return bt;
-}
-
-static void array_transpose (SLang_Array_Type *at)
-{
- if (NULL != (at = transpose (at)))
- (void) SLang_push_array (at, 1);
-}
-
-static int get_inner_product_parms (SLang_Array_Type *a, int *dp,
- unsigned int *loops, unsigned int *other)
-{
- int num_dims;
- int d;
-
- d = *dp;
-
- num_dims = (int)a->num_dims;
- if (num_dims == 0)
- {
- SLang_verror (SL_INVALID_PARM, "Inner-product operation requires an array of at least 1 dimension.");
- return -1;
- }
-
- /* An index of -1 refers to last dimension */
- if (d == -1)
- d += num_dims;
- *dp = d;
-
- if (a->num_elements == 0)
- { /* [] # [] ==> [] */
- *loops = *other = 0;
- return 0;
- }
-
- *loops = a->num_elements / a->dims[d];
-
- if (d == 0)
- {
- *other = *loops; /* a->num_elements / a->dims[0]; */
- return 0;
- }
-
- *other = a->dims[d];
- return 0;
-}
-
-/* This routines takes two arrays A_i..j and B_j..k and produces a third
- * via C_i..k = A_i..j B_j..k.
- *
- * If A is a vector, and B is a 2-d matrix, then regard A as a 2-d matrix
- * with 1-column.
- */
-static void do_inner_product (void)
-{
- SLang_Array_Type *a, *b, *c;
- void (*fun)(SLang_Array_Type *, SLang_Array_Type *, SLang_Array_Type *,
- unsigned int, unsigned int, unsigned int, unsigned int,
- unsigned int);
- unsigned char c_type;
- int dims[SLARRAY_MAX_DIMS];
- int status;
- unsigned int a_loops, b_loops, b_inc, a_stride;
- int ai_dims, i, j;
- unsigned int num_dims, a_num_dims, b_num_dims;
- int ai, bi;
-
- /* The result of a inner_product will be either a float, double, or
- * a complex number.
- *
- * If an integer array is used, it will be promoted to a float.
- */
-
- switch (SLang_peek_at_stack1 ())
- {
- case SLANG_DOUBLE_TYPE:
- if (-1 == SLang_pop_array_of_type (&b, SLANG_DOUBLE_TYPE))
- return;
- break;
-
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- if (-1 == SLang_pop_array_of_type (&b, SLANG_COMPLEX_TYPE))
- return;
- break;
-#endif
- case SLANG_FLOAT_TYPE:
- default:
- if (-1 == SLang_pop_array_of_type (&b, SLANG_FLOAT_TYPE))
- return;
- break;
- }
-
- switch (SLang_peek_at_stack1 ())
- {
- case SLANG_DOUBLE_TYPE:
- status = SLang_pop_array_of_type (&a, SLANG_DOUBLE_TYPE);
- break;
-
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- status = SLang_pop_array_of_type (&a, SLANG_COMPLEX_TYPE);
- break;
-#endif
- case SLANG_FLOAT_TYPE:
- default:
- status = SLang_pop_array_of_type (&a, SLANG_FLOAT_TYPE);
- break;
- }
-
- if (status == -1)
- {
- SLang_free_array (b);
- return;
- }
-
- ai = -1; /* last index of a */
- bi = 0; /* first index of b */
- if ((-1 == get_inner_product_parms (a, &ai, &a_loops, &a_stride))
- || (-1 == get_inner_product_parms (b, &bi, &b_loops, &b_inc)))
- {
- SLang_verror (SL_TYPE_MISMATCH, "Array dimensions are not compatible for inner-product");
- goto free_and_return;
- }
-
- a_num_dims = a->num_dims;
- b_num_dims = b->num_dims;
-
- /* Coerse a 1-d vector to 2-d */
- if ((a_num_dims == 1)
- && (b_num_dims == 2)
- && (a->num_elements))
- {
- a_num_dims = 2;
- ai = 1;
- a_loops = a->num_elements;
- a_stride = 1;
- }
-
- if ((ai_dims = a->dims[ai]) != b->dims[bi])
- {
- SLang_verror (SL_TYPE_MISMATCH, "Array dimensions are not compatible for inner-product");
- goto free_and_return;
- }
-
- num_dims = a_num_dims + b_num_dims - 2;
- if (num_dims > SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Inner-product result exceed max allowed dimensions");
- goto free_and_return;
- }
-
- if (num_dims)
- {
- j = 0;
- for (i = 0; i < (int)a_num_dims; i++)
- if (i != ai) dims [j++] = a->dims[i];
- for (i = 0; i < (int)b_num_dims; i++)
- if (i != bi) dims [j++] = b->dims[i];
- }
- else
- {
- /* a scalar */
- num_dims = 1;
- dims[0] = 1;
- }
-
- c_type = 0; fun = NULL;
- switch (a->data_type)
- {
- case SLANG_FLOAT_TYPE:
- switch (b->data_type)
- {
- case SLANG_FLOAT_TYPE:
- c_type = SLANG_FLOAT_TYPE;
- fun = innerprod_float_float;
- break;
- case SLANG_DOUBLE_TYPE:
- c_type = SLANG_DOUBLE_TYPE;
- fun = innerprod_float_double;
- break;
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- c_type = SLANG_COMPLEX_TYPE;
- fun = innerprod_float_complex;
- break;
-#endif
- }
- break;
- case SLANG_DOUBLE_TYPE:
- switch (b->data_type)
- {
- case SLANG_FLOAT_TYPE:
- c_type = SLANG_DOUBLE_TYPE;
- fun = innerprod_double_float;
- break;
- case SLANG_DOUBLE_TYPE:
- c_type = SLANG_DOUBLE_TYPE;
- fun = innerprod_double_double;
- break;
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- c_type = SLANG_COMPLEX_TYPE;
- fun = innerprod_double_complex;
- break;
-#endif
- }
- break;
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- c_type = SLANG_COMPLEX_TYPE;
- switch (b->data_type)
- {
- case SLANG_FLOAT_TYPE:
- fun = innerprod_complex_float;
- break;
- case SLANG_DOUBLE_TYPE:
- fun = innerprod_complex_double;
- break;
- case SLANG_COMPLEX_TYPE:
- fun = innerprod_complex_complex;
- break;
- }
- break;
-#endif
- default:
- break;
- }
-
- if (NULL == (c = SLang_create_array (c_type, 0, NULL, dims, num_dims)))
- goto free_and_return;
-
- (*fun)(a, b, c, a_loops, a_stride, b_loops, b_inc, ai_dims);
-
- (void) SLang_push_array (c, 1);
- /* drop */
-
- free_and_return:
- SLang_free_array (a);
- SLang_free_array (b);
-}
-
-
-
-static SLang_Intrin_Fun_Type Array_Fun_Table [] =
-{
- MAKE_INTRINSIC_1("transpose", array_transpose, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int SLang_init_array (void)
-{
- if (-1 == SLadd_intrin_fun_table (Array_Fun_Table, "__SLARRAY__"))
- return -1;
-#if SLANG_HAS_FLOAT
- _SLang_Matrix_Multiply = do_inner_product;
-#endif
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slarrfun.inc b/mdk-stage1/slang/slarrfun.inc
deleted file mode 100644
index 348473a6f..000000000
--- a/mdk-stage1/slang/slarrfun.inc
+++ /dev/null
@@ -1,257 +0,0 @@
-/* -*- mode: C -*- */
-
-/* Some "inline" functions for generic scalar types */
-
-#ifdef TRANSPOSE_2D_ARRAY
-static SLang_Array_Type *TRANSPOSE_2D_ARRAY (SLang_Array_Type *at, SLang_Array_Type *bt)
-{
- GENERIC_TYPE *a_data, *b_data;
- int nr, nc, i;
-
- nr = at->dims[0];
- nc = at->dims[1];
-
- a_data = (GENERIC_TYPE *) at->data;
- b_data = (GENERIC_TYPE *) bt->data;
-
- for (i = 0; i < nr; i++)
- {
- GENERIC_TYPE *offset = b_data + i;
- int j;
- for (j = 0; j < nc; j++)
- {
- *offset = *a_data++;
- offset += nr;
- }
- }
- return bt;
-}
-#undef TRANSPOSE_2D_ARRAY
-#endif
-
-
-#ifdef INNERPROD_FUNCTION
-
-static void INNERPROD_FUNCTION
- (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
- unsigned int a_loops, unsigned int a_stride,
- unsigned int b_loops, unsigned int b_inc,
- unsigned int inner_loops)
-{
- GENERIC_TYPE_A *a;
- GENERIC_TYPE_B *b;
- GENERIC_TYPE_C *c;
-
- c = (GENERIC_TYPE_C *) ct->data;
- b = (GENERIC_TYPE_B *) bt->data;
- a = (GENERIC_TYPE_A *) at->data;
-
- while (a_loops--)
- {
- GENERIC_TYPE_B *bb;
- unsigned int j;
-
- bb = b;
-
- for (j = 0; j < inner_loops; j++)
- {
- double x = (double) a[j];
-
- if (x != 0.0)
- {
- unsigned int k;
-
- for (k = 0; k < b_loops; k++)
- c[k] += x * bb[k];
- }
- bb += b_inc;
- }
- c += b_loops;
- a += a_stride;
- }
-}
-#undef INNERPROD_FUNCTION
-
-#undef GENERIC_TYPE_A
-#undef GENERIC_TYPE_B
-#undef GENERIC_TYPE_C
-#endif
-
-#ifdef INNERPROD_COMPLEX_A
-static void INNERPROD_COMPLEX_A
- (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
- unsigned int a_loops, unsigned int a_stride,
- unsigned int b_loops, unsigned int b_inc,
- unsigned int inner_loops)
-{
- double *a;
- GENERIC_TYPE *b;
- double *c;
-
- c = (double *) ct->data;
- b = (GENERIC_TYPE *) bt->data;
- a = (double *) at->data;
-
- a_stride *= 2;
-
- while (a_loops--)
- {
- GENERIC_TYPE *bb;
- unsigned int bb_loops;
-
- bb = b;
- bb_loops = b_loops;
-
- while (bb_loops--)
- {
- double real_sum;
- double imag_sum;
- unsigned int iloops;
- double *aa;
- GENERIC_TYPE *bbb;
-
- aa = a;
- bbb = bb;
- iloops = inner_loops;
-
- real_sum = 0.0;
- imag_sum = 0.0;
- while (iloops--)
- {
- real_sum += aa[0] * (double)bbb[0];
- imag_sum += aa[1] * (double)bbb[0];
- aa += 2;
- bbb += b_inc;
- }
-
- *c++ = real_sum;
- *c++ = imag_sum;
- bb++;
- }
-
- a += a_stride;
- }
-}
-
-static void INNERPROD_A_COMPLEX
- (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
- unsigned int a_loops, unsigned int a_stride,
- unsigned int b_loops, unsigned int b_inc,
- unsigned int inner_loops)
-{
- GENERIC_TYPE *a;
- double *b;
- double *c;
-
- c = (double *) ct->data;
- b = (double *) bt->data;
- a = (GENERIC_TYPE *) at->data;
-
- b_inc *= 2;
-
- while (a_loops--)
- {
- double *bb;
- unsigned int bb_loops;
-
- bb = b;
- bb_loops = b_loops;
-
- while (bb_loops--)
- {
- double real_sum;
- double imag_sum;
- unsigned int iloops;
- GENERIC_TYPE *aa;
- double *bbb;
-
- aa = a;
- bbb = bb;
- iloops = inner_loops;
-
- real_sum = 0.0;
- imag_sum = 0.0;
- while (iloops--)
- {
- real_sum += (double)aa[0] * bbb[0];
- imag_sum += (double)aa[0] * bbb[1];
- aa += 1;
- bbb += b_inc;
- }
-
- *c++ = real_sum;
- *c++ = imag_sum;
- bb += 2;
- }
-
- a += a_stride;
- }
-}
-
-#undef INNERPROD_A_COMPLEX
-#undef INNERPROD_COMPLEX_A
-#endif /* INNERPROD_COMPLEX_A */
-
-
-#ifdef INNERPROD_COMPLEX_COMPLEX
-static void INNERPROD_COMPLEX_COMPLEX
- (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
- unsigned int a_loops, unsigned int a_stride,
- unsigned int b_loops, unsigned int b_inc,
- unsigned int inner_loops)
-{
- double *a;
- double *b;
- double *c;
-
- c = (double *) ct->data;
- b = (double *) bt->data;
- a = (double *) at->data;
-
- a_stride *= 2;
- b_inc *= 2;
-
- while (a_loops--)
- {
- double *bb;
- unsigned int bb_loops;
-
- bb = b;
- bb_loops = b_loops;
-
- while (bb_loops--)
- {
- double real_sum;
- double imag_sum;
- unsigned int iloops;
- double *aa;
- double *bbb;
-
- aa = a;
- bbb = bb;
- iloops = inner_loops;
-
- real_sum = 0.0;
- imag_sum = 0.0;
- while (iloops--)
- {
- real_sum += aa[0]*bbb[0] - aa[1]*bbb[1];
- imag_sum += aa[0]*bbb[1] + aa[1]*bbb[0];
- aa += 2;
- bbb += b_inc;
- }
-
- *c++ = real_sum;
- *c++ = imag_sum;
- bb += 2;
- }
-
- a += a_stride;
- }
-}
-#undef INNERPROD_COMPLEX_COMPLEX
-#endif
-
-#ifdef GENERIC_TYPE
-# undef GENERIC_TYPE
-#endif
diff --git a/mdk-stage1/slang/slarrmis.c b/mdk-stage1/slang/slarrmis.c
deleted file mode 100644
index 330dcb53f..000000000
--- a/mdk-stage1/slang/slarrmis.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Misc Array Functions */
-/* Copyright (c) 1997, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-int SLang_get_array_element (SLang_Array_Type *at, int *indices, VOID_STAR data)
-{
- int is_ptr;
-
- if ((at == NULL)
- || (indices == NULL)
- || (data == NULL))
- return -1;
-
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
- if (is_ptr) *(VOID_STAR *) data = NULL;
- return _SLarray_aget_transfer_elem (at, indices, data, at->sizeof_type, is_ptr);
-}
-
-int SLang_set_array_element (SLang_Array_Type *at, int *indices, VOID_STAR data)
-{
- if ((at == NULL)
- || (indices == NULL)
- || (data == NULL))
- return -1;
-
- return _SLarray_aput_transfer_elem (at, indices, data, at->sizeof_type,
- at->flags & SLARR_DATA_VALUE_IS_POINTER);
-}
-
diff --git a/mdk-stage1/slang/slassoc.c b/mdk-stage1/slang/slassoc.c
deleted file mode 100644
index 5997458d2..000000000
--- a/mdk-stage1/slang/slassoc.c
+++ /dev/null
@@ -1,713 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#define SL_APP_WANTS_FOREACH
-#include "slang.h"
-#include "_slang.h"
-
-#define USE_NEW_ANYTYPE_CODE 1
-
-typedef struct _SLAssoc_Array_Element_Type
-{
- char *key; /* slstring */
- struct _SLAssoc_Array_Element_Type *next;
- SLang_Object_Type value;
-}
-_SLAssoc_Array_Element_Type;
-
-typedef struct
-{
- _SLAssoc_Array_Element_Type *elements[SLASSOC_HASH_TABLE_SIZE];
- SLang_Object_Type default_value;
- unsigned int num_elements;
-#define HAS_DEFAULT_VALUE 1
- unsigned int flags;
- unsigned char type;
-}
-SLang_Assoc_Array_Type;
-
-#define USE_CACHED_STRING 1
-
-#if USE_CACHED_STRING
-static char *Cached_String;
-static SLang_Object_Type *Cached_Obj;
-static SLang_Assoc_Array_Type *Cached_Array;
-#endif
-
-static SLang_Assoc_Array_Type *alloc_assoc_array (unsigned char type, int has_default_value)
-{
- SLang_Assoc_Array_Type *a;
-
- a = (SLang_Assoc_Array_Type *)SLmalloc (sizeof (SLang_Assoc_Array_Type));
- if (a == NULL)
- {
- if (has_default_value)
- SLdo_pop_n (1);
- return NULL;
- }
-
- memset ((char *) a, 0, sizeof (SLang_Assoc_Array_Type));
- a->type = type;
-
- if (has_default_value)
- {
- if (
-#if USE_NEW_ANYTYPE_CODE
- ((type != SLANG_ANY_TYPE) && (-1 == SLclass_typecast (type, 1, 1)))
-#else
- (-1 == SLclass_typecast (type, 1, 1))
-#endif
- || (-1 == SLang_pop (&a->default_value)))
- {
- SLfree ((char *) a);
- return NULL;
- }
-
- a->flags |= HAS_DEFAULT_VALUE;
- }
- return a;
-}
-
-static void free_element (_SLAssoc_Array_Element_Type *e)
-{
- if (e == NULL)
- return;
-
- SLang_free_object (&e->value);
- SLang_free_slstring (e->key);
-#if USE_CACHED_STRING
- if (e->key == Cached_String)
- Cached_String = NULL;
-#endif
- SLfree ((char *)e);
-}
-
-static void delete_assoc_array (SLang_Assoc_Array_Type *a)
-{
- unsigned int i;
-
- if (a == NULL) return;
-
- for (i = 0; i < SLASSOC_HASH_TABLE_SIZE; i++)
- {
- _SLAssoc_Array_Element_Type *e;
-
- e = a->elements[i];
- while (e != NULL)
- {
- _SLAssoc_Array_Element_Type *next_e;
-
- next_e = e->next;
- free_element (e);
- e = next_e;
- }
- }
- if (a->flags & HAS_DEFAULT_VALUE)
- SLang_free_object (&a->default_value);
-
- SLfree ((char *) a);
-}
-
-_INLINE_
-static SLang_Object_Type *
-find_element (SLang_Assoc_Array_Type *a, char *str, unsigned long hash)
-{
- unsigned int h;
- _SLAssoc_Array_Element_Type *e;
-
- h = (unsigned int) (hash % SLASSOC_HASH_TABLE_SIZE);
- e = a->elements[h];
-
- while (e != NULL)
- {
- if (str == e->key) /* slstrings can be compared this way */
- {
-#if USE_CACHED_STRING
- Cached_String = str;
- Cached_Obj = &e->value;
- Cached_Array = a;
-#endif
- return &e->value;
- }
-
- e = e->next;
- }
-
- return NULL;
-}
-
-static _SLAssoc_Array_Element_Type *
-create_element (SLang_Assoc_Array_Type *a, char *str, unsigned long hash)
-{
- unsigned int h;
- _SLAssoc_Array_Element_Type *e;
-
- e = (_SLAssoc_Array_Element_Type *) SLmalloc (sizeof (_SLAssoc_Array_Element_Type));
- if (e == NULL)
- return NULL;
-
- memset ((char *) e, 0, sizeof (_SLAssoc_Array_Element_Type));
- h = (unsigned int) (hash % SLASSOC_HASH_TABLE_SIZE);
-
- if (NULL == (str = _SLstring_dup_hashed_string (str, hash)))
- {
- SLfree ((char *) e);
- return NULL;
- }
-
- e->key = str;
- e->next = a->elements[h];
- a->elements[h] = e;
-
- a->num_elements += 1;
-#if USE_CACHED_STRING
- Cached_String = str;
- Cached_Obj = &e->value;
- Cached_Array = a;
-#endif
- return e;
-}
-
-static int store_object (SLang_Assoc_Array_Type *a, char *s, SLang_Object_Type *obj)
-{
- unsigned long hash;
- SLang_Object_Type *v;
-
-#if USE_CACHED_STRING
- if ((s == Cached_String) && (a == Cached_Array))
- {
- v = Cached_Obj;
- SLang_free_object (v);
- }
- else
- {
-#endif
- hash = _SLcompute_string_hash (s);
- if (NULL != (v = find_element (a, s, hash)))
- SLang_free_object (v);
- else
- {
- _SLAssoc_Array_Element_Type *e;
-
- e = create_element (a, s, hash);
- if (e == NULL)
- return -1;
-
- v = &e->value;
- }
-#if USE_CACHED_STRING
- }
-#endif
-
- *v = *obj;
-
- return 0;
-}
-
-static void assoc_destroy (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- delete_assoc_array ((SLang_Assoc_Array_Type *) ptr);
-}
-
-static int pop_index (unsigned int num_indices,
- SLang_MMT_Type **mmt,
- SLang_Assoc_Array_Type **a,
- char **str)
-{
- if (NULL == (*mmt = SLang_pop_mmt (SLANG_ASSOC_TYPE)))
- {
- *a = NULL;
- *str = NULL;
- return -1;
- }
-
- if ((num_indices != 1)
- || (-1 == SLang_pop_slstring (str)))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Assoc_Type arrays require a single string index");
- SLang_free_mmt (*mmt);
- *mmt = NULL;
- *a = NULL;
- *str = NULL;
- return -1;
- }
-
- *a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (*mmt);
- return 0;
-}
-
-static int assoc_aget (unsigned char type, unsigned int num_indices)
-{
- SLang_MMT_Type *mmt;
- char *str;
- SLang_Assoc_Array_Type *a;
- SLang_Object_Type *obj;
- int ret;
-
- (void) type;
-
- if (-1 == pop_index (num_indices, &mmt, &a, &str))
- return -1;
-
-#if USE_CACHED_STRING
- if ((str == Cached_String) && (a == Cached_Array))
- obj = Cached_Obj;
- else
-#endif
- obj = find_element (a, str, _SLcompute_string_hash (str));
-
- if ((obj == NULL)
- && (a->flags & HAS_DEFAULT_VALUE))
- obj = &a->default_value;
-
- if (obj == NULL)
- {
- SLang_verror (SL_INTRINSIC_ERROR,
- "No such element in Assoc Array: %s", str);
- ret = -1;
- }
- else
- {
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[obj->data_type])
- ret = SLang_push (obj);
-#endif
- else
- ret = _SLpush_slang_obj (obj);
- }
-
- SLang_free_slstring (str);
- SLang_free_mmt (mmt);
- return ret;
-}
-
-static int assoc_aput (unsigned char type, unsigned int num_indices)
-{
- SLang_MMT_Type *mmt;
- char *str;
- SLang_Assoc_Array_Type *a;
- SLang_Object_Type obj;
- int ret;
-
- (void) type;
-
- if (-1 == pop_index (num_indices, &mmt, &a, &str))
- return -1;
-
- ret = -1;
-
- if (0 == SLang_pop (&obj))
- {
- if ((obj.data_type != a->type)
-#if USE_NEW_ANYTYPE_CODE
- && (a->type != SLANG_ANY_TYPE)
-#endif
- )
- {
- (void) SLang_push (&obj);
- if ((-1 == SLclass_typecast (a->type, 1, 1))
- || (-1 == SLang_pop (&obj)))
- goto the_return;
- }
-
- if (-1 == store_object (a, str, &obj))
- SLang_free_object (&obj);
- else
- ret = 0;
- }
-
- the_return:
- SLang_free_slstring (str);
- SLang_free_mmt (mmt);
- return ret;
-}
-
-static int assoc_anew (unsigned char type, unsigned int num_dims)
-{
- SLang_MMT_Type *mmt;
- SLang_Assoc_Array_Type *a;
- int has_default_value;
-
- has_default_value = 0;
- switch (num_dims)
- {
- case 0:
- type = SLANG_ANY_TYPE;
- break;
- case 2:
- (void) SLreverse_stack (2);
- has_default_value = 1;
- /* drop */
- case 1:
- if (0 == _SLang_pop_datatype (&type))
- break;
- num_dims--;
- /* drop */
- default:
- SLdo_pop_n (num_dims);
- SLang_verror (SL_SYNTAX_ERROR, "Usage: Assoc_Type [DataType_Type]");
- return -1;
- }
-
- a = alloc_assoc_array (type, has_default_value);
- if (a == NULL)
- return -1;
-
- if (NULL == (mmt = SLang_create_mmt (SLANG_ASSOC_TYPE, (VOID_STAR) a)))
- {
- delete_assoc_array (a);
- return -1;
- }
-
- if (-1 == SLang_push_mmt (mmt))
- {
- SLang_free_mmt (mmt);
- return -1;
- }
-
- return 0;
-}
-
-static void assoc_get_keys (SLang_Assoc_Array_Type *a)
-{
- SLang_Array_Type *at;
- int num;
- unsigned int i, j;
- char **data;
-
- /* Note: If support for threads is added, then we need to modify this
- * algorithm to prevent another thread from modifying the array.
- * However, that should be handled in inner_interp.
- */
- num = a->num_elements;
-
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &num, 1)))
- return;
-
- data = (char **)at->data;
-
- i = 0;
- for (j = 0; j < SLASSOC_HASH_TABLE_SIZE; j++)
- {
- _SLAssoc_Array_Element_Type *e;
-
- e = a->elements[j];
- while (e != NULL)
- {
- /* Next cannot fail because it is an slstring */
- data [i] = SLang_create_slstring (e->key);
- e = e->next;
- i++;
- }
- }
- (void) SLang_push_array (at, 1);
-}
-
-static int
-transfer_element (SLang_Class_Type *cl, VOID_STAR dest_data,
- SLang_Object_Type *obj)
-{
- unsigned int sizeof_type;
- VOID_STAR src_data;
-
-#if USE_NEW_ANYTYPE_CODE
- if (cl->cl_data_type == SLANG_ANY_TYPE)
- {
- SLang_Any_Type *any;
-
- if ((-1 == _SLpush_slang_obj (obj))
- || (-1 == SLang_pop_anytype (&any)))
- return -1;
-
- *(SLang_Any_Type **)dest_data = any;
- return 0;
- }
-#endif
- /* Optimize for scalar */
- if (cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- {
- sizeof_type = cl->cl_sizeof_type;
- memcpy ((char *) dest_data, (char *)&obj->v, sizeof_type);
- return 0;
- }
-
- src_data = _SLclass_get_ptr_to_value (cl, obj);
-
- if (-1 == (*cl->cl_acopy) (cl->cl_data_type, src_data, dest_data))
- return -1;
-
- return 0;
-}
-
-static void assoc_get_values (SLang_Assoc_Array_Type *a)
-{
- SLang_Array_Type *at;
- int num;
- unsigned int i, j;
- char *dest_data;
- unsigned char type;
- SLang_Class_Type *cl;
- unsigned int sizeof_type;
-
- /* Note: If support for threads is added, then we need to modify this
- * algorithm to prevent another thread from modifying the array.
- * However, that should be handled in inner_interp.
- */
- num = a->num_elements;
- type = a->type;
-
- cl = _SLclass_get_class (type);
- sizeof_type = cl->cl_sizeof_type;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, &num, 1)))
- return;
-
- dest_data = (char *)at->data;
-
- i = 0;
- for (j = 0; j < SLASSOC_HASH_TABLE_SIZE; j++)
- {
- _SLAssoc_Array_Element_Type *e;
-
- e = a->elements[j];
- while (e != NULL)
- {
- if (-1 == transfer_element (cl, (VOID_STAR) dest_data, &e->value))
- {
- SLang_free_array (at);
- return;
- }
-
- dest_data += sizeof_type;
- e = e->next;
- i++;
- }
- }
- (void) SLang_push_array (at, 1);
-}
-
-static int assoc_key_exists (SLang_Assoc_Array_Type *a, char *key)
-{
- return (NULL != find_element (a, key, _SLcompute_string_hash (key)));
-}
-
-static void assoc_delete_key (SLang_Assoc_Array_Type *a, char *key)
-{
- unsigned int h;
- _SLAssoc_Array_Element_Type *v, *v0;
-
- h = (unsigned int) (_SLcompute_string_hash (key) % SLASSOC_HASH_TABLE_SIZE);
-
- v0 = NULL;
- v = a->elements[h];
- while (v != NULL)
- {
- if (v->key == key)
- {
- if (v0 != NULL)
- v0->next = v->next;
- else
- a->elements[h] = v->next;
-
- free_element (v);
- a->num_elements -= 1;
- return;
- }
- v0 = v;
- v = v->next;
- }
-
- /* No such element. Let it pass with no error. */
-}
-
-#define A SLANG_ASSOC_TYPE
-#define S SLANG_STRING_TYPE
-static SLang_Intrin_Fun_Type Assoc_Table [] =
-{
- MAKE_INTRINSIC_1("assoc_get_keys", assoc_get_keys, SLANG_VOID_TYPE, A),
- MAKE_INTRINSIC_1("assoc_get_values", assoc_get_values, SLANG_VOID_TYPE, A),
- MAKE_INTRINSIC_2("assoc_key_exists", assoc_key_exists, SLANG_INT_TYPE, A, S),
- MAKE_INTRINSIC_2("assoc_delete_key", assoc_delete_key, SLANG_VOID_TYPE, A, S),
-
- SLANG_END_INTRIN_FUN_TABLE
-};
-#undef A
-#undef S
-
-static int assoc_length (unsigned char type, VOID_STAR v, unsigned int *len)
-{
- SLang_Assoc_Array_Type *a;
-
- (void) type;
- a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (*(SLang_MMT_Type **)v);
- *len = a->num_elements;
- return 0;
-}
-
-struct _SLang_Foreach_Context_Type
-{
- SLang_MMT_Type *mmt;
- SLang_Assoc_Array_Type *a;
- unsigned int this_hash_index;
- unsigned int next_same_hash_index;
-#define CTX_WRITE_KEYS 1
-#define CTX_WRITE_VALUES 2
- unsigned char flags;
-};
-
-static SLang_Foreach_Context_Type *
-cl_foreach_open (unsigned char type, unsigned int num)
-{
- SLang_Foreach_Context_Type *c;
- unsigned char flags;
- SLang_MMT_Type *mmt;
-
- (void) type;
-
- if (NULL == (mmt = SLang_pop_mmt (SLANG_ASSOC_TYPE)))
- return NULL;
-
- flags = 0;
-
- while (num--)
- {
- char *s;
-
- if (-1 == SLang_pop_slstring (&s))
- {
- SLang_free_mmt (mmt);
- return NULL;
- }
-
- if (0 == strcmp (s, "keys"))
- flags |= CTX_WRITE_KEYS;
- else if (0 == strcmp (s, "values"))
- flags |= CTX_WRITE_VALUES;
- else
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "using '%s' not supported by SLassoc_Type",
- s);
- SLang_free_slstring (s);
- SLang_free_mmt (mmt);
- return NULL;
- }
-
- SLang_free_slstring (s);
- }
-
- if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
- {
- SLang_free_mmt (mmt);
- return NULL;
- }
-
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
-
- if (flags == 0) flags = CTX_WRITE_VALUES|CTX_WRITE_KEYS;
-
- c->flags = flags;
- c->mmt = mmt;
- c->a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (mmt);
-
- return c;
-}
-
-static void cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
- SLang_free_mmt (c->mmt);
- SLfree ((char *) c);
-}
-
-static int cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- SLang_Assoc_Array_Type *a;
- _SLAssoc_Array_Element_Type *e;
- unsigned int i, j;
-
- (void) type;
-
- if (c == NULL)
- return -1;
-
- a = c->a;
-
- i = c->this_hash_index;
- if (i >= SLASSOC_HASH_TABLE_SIZE)
- return 0;
-
- e = a->elements[i];
-
- j = c->next_same_hash_index;
- c->next_same_hash_index = j + 1;
-
- while ((j > 0) && (e != NULL))
- {
- j--;
- e = e->next;
- }
-
- if (e == NULL)
- {
- do
- {
- i++;
- if (i >= SLASSOC_HASH_TABLE_SIZE)
- return 0; /* no more */
- }
- while (a->elements [i] == NULL);
-
- e = a->elements[i];
- c->this_hash_index = i;
- c->next_same_hash_index = 1;
- }
-
- if ((c->flags & CTX_WRITE_KEYS)
- && (-1 == SLang_push_string (e->key)))
- return -1;
-
- if ((c->flags & CTX_WRITE_VALUES)
- && (-1 == _SLpush_slang_obj (&e->value)))
- return -1;
-
- /* keep going */
- return 1;
-}
-
-int SLang_init_slassoc (void)
-{
- SLang_Class_Type *cl;
-
- if (SLclass_is_class_defined (SLANG_ASSOC_TYPE))
- return 0;
-
- if (NULL == (cl = SLclass_allocate_class ("Assoc_Type")))
- return -1;
-
- (void) SLclass_set_destroy_function (cl, assoc_destroy);
- (void) SLclass_set_aput_function (cl, assoc_aput);
- (void) SLclass_set_aget_function (cl, assoc_aget);
- (void) SLclass_set_anew_function (cl, assoc_anew);
- cl->cl_length = assoc_length;
- cl->cl_foreach_open = cl_foreach_open;
- cl->cl_foreach_close = cl_foreach_close;
- cl->cl_foreach = cl_foreach;
-
- if (-1 == SLclass_register_class (cl, SLANG_ASSOC_TYPE, sizeof (SLang_Assoc_Array_Type), SLANG_CLASS_TYPE_MMT))
- return -1;
-
- if (-1 == SLadd_intrin_fun_table (Assoc_Table, "__SLASSOC__"))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slbstr.c b/mdk-stage1/slang/slbstr.c
deleted file mode 100644
index b4b8c4c51..000000000
--- a/mdk-stage1/slang/slbstr.c
+++ /dev/null
@@ -1,615 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-struct _SLang_BString_Type
-{
- unsigned int num_refs;
- unsigned int len;
- int ptr_type;
-#define IS_SLSTRING 1
-#define IS_MALLOCED 2
-#define IS_NOT_TO_BE_FREED 3
- union
- {
- unsigned char bytes[1];
- unsigned char *ptr;
- }
- v;
-};
-
-#define BS_GET_POINTER(b) ((b)->ptr_type ? (b)->v.ptr : (b)->v.bytes)
-
-static SLang_BString_Type *create_bstring_of_type (char *bytes, unsigned int len, int type)
-{
- SLang_BString_Type *b;
- unsigned int size;
-
- size = sizeof(SLang_BString_Type);
- if (type == 0)
- size += len;
-
- if (NULL == (b = (SLang_BString_Type *)SLmalloc (size)))
- return NULL;
-
- b->len = len;
- b->num_refs = 1;
- b->ptr_type = type;
-
- switch (type)
- {
- case 0:
- if (bytes != NULL) memcpy ((char *) b->v.bytes, bytes, len);
- /* Now \0 terminate it because we want to also use it as a C string
- * whenever possible. Note that sizeof(SLang_BString_Type) includes
- * space for 1 character and we allocated len extra bytes. Thus, it is
- * ok to add a \0 to the end.
- */
- b->v.bytes[len] = 0;
- break;
-
- case IS_SLSTRING:
- if (NULL == (b->v.ptr = (unsigned char *)SLang_create_nslstring (bytes, len)))
- {
- SLfree ((char *) b);
- return NULL;
- }
- break;
-
- case IS_MALLOCED:
- case IS_NOT_TO_BE_FREED:
- b->v.ptr = (unsigned char *)bytes;
- bytes [len] = 0; /* NULL terminate */
- break;
- }
-
- return b;
-}
-
-SLang_BString_Type *
-SLbstring_create (unsigned char *bytes, unsigned int len)
-{
- return create_bstring_of_type ((char *)bytes, len, 0);
-}
-
-/* Note that ptr must be len + 1 bytes long for \0 termination */
-SLang_BString_Type *
-SLbstring_create_malloced (unsigned char *ptr, unsigned int len, int free_on_error)
-{
- SLang_BString_Type *b;
-
- if (ptr == NULL)
- return NULL;
-
- if (NULL == (b = create_bstring_of_type ((char *)ptr, len, IS_MALLOCED)))
- {
- if (free_on_error)
- SLfree ((char *) ptr);
- }
- return b;
-}
-
-SLang_BString_Type *SLbstring_create_slstring (char *s)
-{
- if (s == NULL)
- return NULL;
-
- return create_bstring_of_type (s, strlen (s), IS_SLSTRING);
-}
-
-SLang_BString_Type *SLbstring_dup (SLang_BString_Type *b)
-{
- if (b != NULL)
- b->num_refs += 1;
-
- return b;
-}
-
-unsigned char *SLbstring_get_pointer (SLang_BString_Type *b, unsigned int *len)
-{
- if (b == NULL)
- {
- *len = 0;
- return NULL;
- }
- *len = b->len;
- return BS_GET_POINTER(b);
-}
-
-void SLbstring_free (SLang_BString_Type *b)
-{
- if (b == NULL)
- return;
-
- if (b->num_refs > 1)
- {
- b->num_refs -= 1;
- return;
- }
-
- switch (b->ptr_type)
- {
- case 0:
- case IS_NOT_TO_BE_FREED:
- default:
- break;
-
- case IS_SLSTRING:
- SLang_free_slstring ((char *)b->v.ptr);
- break;
-
- case IS_MALLOCED:
- SLfree ((char *)b->v.ptr);
- break;
- }
-
- SLfree ((char *) b);
-}
-
-int SLang_pop_bstring (SLang_BString_Type **b)
-{
- return SLclass_pop_ptr_obj (SLANG_BSTRING_TYPE, (VOID_STAR *)b);
-}
-
-int SLang_push_bstring (SLang_BString_Type *b)
-{
- if (b == NULL)
- return SLang_push_null ();
-
- b->num_refs += 1;
-
- if (0 == SLclass_push_ptr_obj (SLANG_BSTRING_TYPE, (VOID_STAR)b))
- return 0;
-
- b->num_refs -= 1;
- return -1;
-}
-
-static int
-bstring_bstring_bin_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) a;
- (void) b;
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- *c = SLANG_BSTRING_TYPE;
- break;
-
- case SLANG_GT:
- case SLANG_GE:
- case SLANG_LT:
- case SLANG_LE:
- case SLANG_EQ:
- case SLANG_NE:
- *c = SLANG_CHAR_TYPE;
- break;
- }
- return 1;
-}
-
-static int compare_bstrings (SLang_BString_Type *a, SLang_BString_Type *b)
-{
- unsigned int len;
- int ret;
-
- len = a->len;
- if (b->len < len) len = b->len;
-
- ret = memcmp ((char *)BS_GET_POINTER(b), (char *)BS_GET_POINTER(a), len);
- if (ret != 0)
- return ret;
-
- if (a->len > b->len)
- return 1;
- if (a->len == b->len)
- return 0;
-
- return -1;
-}
-
-static SLang_BString_Type *
-concat_bstrings (SLang_BString_Type *a, SLang_BString_Type *b)
-{
- unsigned int len;
- SLang_BString_Type *c;
- char *bytes;
-
- len = a->len + b->len;
-
- if (NULL == (c = SLbstring_create (NULL, len)))
- return NULL;
-
- bytes = (char *)BS_GET_POINTER(c);
-
- memcpy (bytes, (char *)BS_GET_POINTER(a), a->len);
- memcpy (bytes + a->len, (char *)BS_GET_POINTER(b), b->len);
-
- return c;
-}
-
-static void free_n_bstrings (SLang_BString_Type **a, unsigned int n)
-{
- unsigned int i;
-
- if (a == NULL) return;
-
- for (i = 0; i < n; i++)
- {
- SLbstring_free (a[i]);
- a[i] = NULL;
- }
-}
-
-static int
-bstring_bstring_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- SLang_BString_Type **a, **b, **c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- if (na == 1) da = 0; else da = 1;
- if (nb == 1) db = 0; else db = 1;
-
- if (na > nb) n_max = na; else n_max = nb;
-
- a = (SLang_BString_Type **) ap;
- b = (SLang_BString_Type **) bp;
- for (n = 0; n < n_max; n++)
- {
- if ((*a == NULL) || (*b == NULL))
- {
- SLang_verror (SL_VARIABLE_UNINITIALIZED,
- "Binary string element[%u] not initialized for binary operation", n);
- return -1;
- }
- a += da; b += db;
- }
-
- a = (SLang_BString_Type **) ap;
- b = (SLang_BString_Type **) bp;
- ic = (char *) cp;
- c = NULL;
-
- switch (op)
- {
- case SLANG_PLUS:
- /* Concat */
- c = (SLang_BString_Type **) cp;
- for (n = 0; n < n_max; n++)
- {
- if (NULL == (c[n] = concat_bstrings (*a, *b)))
- goto return_error;
-
- a += da; b += db;
- }
- break;
-
- case SLANG_NE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (0 != compare_bstrings (*a, *b));
- a += da;
- b += db;
- }
- break;
- case SLANG_GT:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) > 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_GE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) >= 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_LT:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) < 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_LE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) <= 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_EQ:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) == 0);
- a += da;
- b += db;
- }
- break;
- }
- return 1;
-
- return_error:
- if (c != NULL)
- {
- free_n_bstrings (c, n);
- while (n < n_max)
- {
- c[n] = NULL;
- n++;
- }
- }
- return -1;
-}
-
-/* If preserve_ptr, then use a[i] as the bstring data. See how this function
- * is called by the binary op routines for why.
- */
-static SLang_BString_Type **
-make_n_bstrings (SLang_BString_Type **b, char **a, unsigned int n, int ptr_type)
-{
- unsigned int i;
- int malloc_flag;
-
- malloc_flag = 0;
- if (b == NULL)
- {
- b = (SLang_BString_Type **) SLmalloc ((n + 1) * sizeof (SLang_BString_Type *));
- if (b == NULL)
- return NULL;
- malloc_flag = 1;
- }
-
- for (i = 0; i < n; i++)
- {
- char *s = a[i];
-
- if (s == NULL)
- {
- b[i] = NULL;
- continue;
- }
-
- if (NULL == (b[i] = create_bstring_of_type (s, strlen(s), ptr_type)))
- {
- free_n_bstrings (b, i);
- if (malloc_flag) SLfree ((char *) b);
- return NULL;
- }
- }
-
- return b;
-}
-
-static int
-bstring_string_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- SLang_BString_Type **b;
- int ret;
-
- if (NULL == (b = make_n_bstrings (NULL, (char **)bp, nb, IS_NOT_TO_BE_FREED)))
- return -1;
-
- b_type = SLANG_BSTRING_TYPE;
- ret = bstring_bstring_bin_op (op,
- a_type, ap, na,
- b_type, (VOID_STAR) b, nb,
- cp);
- free_n_bstrings (b, nb);
- SLfree ((char *) b);
- return ret;
-}
-
-static int
-string_bstring_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- SLang_BString_Type **a;
- int ret;
-
- if (NULL == (a = make_n_bstrings (NULL, (char **)ap, na, IS_NOT_TO_BE_FREED)))
- return -1;
-
- a_type = SLANG_BSTRING_TYPE;
- ret = bstring_bstring_bin_op (op,
- a_type, (VOID_STAR) a, na,
- b_type, bp, nb,
- cp);
- free_n_bstrings (a, na);
- SLfree ((char *) a);
-
- return ret;
-}
-
-static void bstring_destroy (unsigned char unused, VOID_STAR s)
-{
- (void) unused;
- SLbstring_free (*(SLang_BString_Type **) s);
-}
-
-static int bstring_push (unsigned char unused, VOID_STAR sptr)
-{
- (void) unused;
-
- return SLang_push_bstring (*(SLang_BString_Type **) sptr);
-}
-
-static int string_to_bstring (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- char **s;
- SLang_BString_Type **b;
-
- (void) a_type;
- (void) b_type;
-
- s = (char **) ap;
- b = (SLang_BString_Type **) bp;
-
- if (NULL == make_n_bstrings (b, s, na, IS_SLSTRING))
- return -1;
-
- return 1;
-}
-
-static int bstring_to_string (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- char **s;
- unsigned int i;
- SLang_BString_Type **a;
-
- (void) a_type;
- (void) b_type;
-
- s = (char **) bp;
- a = (SLang_BString_Type **) ap;
-
- for (i = 0; i < na; i++)
- {
- SLang_BString_Type *ai = a[i];
-
- if (ai == NULL)
- {
- s[i] = NULL;
- continue;
- }
-
- if (NULL == (s[i] = SLang_create_slstring ((char *)BS_GET_POINTER(ai))))
- {
- while (i != 0)
- {
- i--;
- SLang_free_slstring (s[i]);
- s[i] = NULL;
- }
- return -1;
- }
- }
-
- return 1;
-}
-
-static char *bstring_string (unsigned char type, VOID_STAR v)
-{
- SLang_BString_Type *s;
- unsigned char buf[128];
- unsigned char *bytes, *bytes_max;
- unsigned char *b, *bmax;
-
- (void) type;
-
- s = *(SLang_BString_Type **) v;
- bytes = BS_GET_POINTER(s);
- bytes_max = bytes + s->len;
-
- b = buf;
- bmax = buf + (sizeof (buf) - 4);
-
- while (bytes < bytes_max)
- {
- unsigned char ch = *bytes;
-
- if ((ch < 32) || (ch >= 127) || (ch == '\\'))
- {
- if (b + 4 > bmax)
- break;
-
- sprintf ((char *) b, "\\%03o", ch);
- b += 4;
- }
- else
- {
- if (b == bmax)
- break;
-
- *b++ = ch;
- }
-
- bytes++;
- }
-
- if (bytes < bytes_max)
- {
- *b++ = '.';
- *b++ = '.';
- *b++ = '.';
- }
- *b = 0;
-
- return SLmake_string ((char *)buf);
-}
-
-static unsigned int bstrlen_cmd (SLang_BString_Type *b)
-{
- return b->len;
-}
-
-static SLang_Intrin_Fun_Type BString_Table [] = /*{{{*/
-{
- MAKE_INTRINSIC_1("bstrlen", bstrlen_cmd, SLANG_UINT_TYPE, SLANG_BSTRING_TYPE),
- MAKE_INTRINSIC_0("pack", _SLpack, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_2("unpack", _SLunpack, SLANG_VOID_TYPE, SLANG_STRING_TYPE, SLANG_BSTRING_TYPE),
- MAKE_INTRINSIC_1("pad_pack_format", _SLpack_pad_format, SLANG_VOID_TYPE, SLANG_STRING_TYPE),
- MAKE_INTRINSIC_1("sizeof_pack", _SLpack_compute_size, SLANG_UINT_TYPE, SLANG_STRING_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int _SLang_init_bstring (void)
-{
- SLang_Class_Type *cl;
-
- if (NULL == (cl = SLclass_allocate_class ("BString_Type")))
- return -1;
- (void) SLclass_set_destroy_function (cl, bstring_destroy);
- (void) SLclass_set_push_function (cl, bstring_push);
- (void) SLclass_set_string_function (cl, bstring_string);
-
- if (-1 == SLclass_register_class (cl, SLANG_BSTRING_TYPE, sizeof (char *),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- if ((-1 == SLclass_add_typecast (SLANG_BSTRING_TYPE, SLANG_STRING_TYPE, bstring_to_string, 1))
- || (-1 == SLclass_add_typecast (SLANG_STRING_TYPE, SLANG_BSTRING_TYPE, string_to_bstring, 1))
- || (-1 == SLclass_add_binary_op (SLANG_BSTRING_TYPE, SLANG_BSTRING_TYPE, bstring_bstring_bin_op, bstring_bstring_bin_op_result))
- || (-1 == SLclass_add_binary_op (SLANG_STRING_TYPE, SLANG_BSTRING_TYPE, string_bstring_bin_op, bstring_bstring_bin_op_result))
- || (-1 == SLclass_add_binary_op (SLANG_BSTRING_TYPE, SLANG_STRING_TYPE, bstring_string_bin_op, bstring_bstring_bin_op_result)))
-
- return -1;
-
- if (-1 == SLadd_intrin_fun_table (BString_Table, NULL))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slclass.c b/mdk-stage1/slang/slclass.c
deleted file mode 100644
index 733888cb8..000000000
--- a/mdk-stage1/slang/slclass.c
+++ /dev/null
@@ -1,1391 +0,0 @@
-/* User defined objects */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
-unsigned char _SLclass_Class_Type [256];
-#endif
-
-static SLang_Class_Type *Registered_Types[256];
-SLang_Class_Type *_SLclass_get_class (unsigned char type)
-{
- SLang_Class_Type *cl;
-
- cl = Registered_Types [type];
- if (cl == NULL)
- SLang_exit_error ("Application error: Type %d not registered", (int) type);
-
- return cl;
-}
-
-int SLclass_is_class_defined (unsigned char type)
-{
- return (NULL != Registered_Types[type]);
-}
-
-VOID_STAR _SLclass_get_ptr_to_value (SLang_Class_Type *cl,
- SLang_Object_Type *obj)
-{
- VOID_STAR p;
-
- switch (cl->cl_class_type)
- {
- case SLANG_CLASS_TYPE_MMT:
- case SLANG_CLASS_TYPE_PTR:
- case SLANG_CLASS_TYPE_SCALAR:
- p = (VOID_STAR) &obj->v;
- break;
-
- case SLANG_CLASS_TYPE_VECTOR:
- p = obj->v.ptr_val;
- break;
-
- default:
- p = NULL;
- }
- return p;
-}
-
-char *SLclass_get_datatype_name (unsigned char stype)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (stype);
- return cl->cl_name;
-}
-
-static int method_undefined_error (unsigned char type, char *method, char *name)
-{
- if (name == NULL) name = SLclass_get_datatype_name (type);
-
- SLang_verror (SL_TYPE_MISMATCH, "%s method not defined for %s",
- method, name);
- return -1;
-}
-
-static int
-scalar_vector_bin_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) a; (void) b;
- switch (op)
- {
- case SLANG_NE:
- case SLANG_EQ:
- *c = SLANG_INT_TYPE;
- return 1;
- }
- return 0;
-}
-
-static int
-scalar_vector_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- int *c;
- char *a, *b;
- unsigned int da, db;
- unsigned int n, n_max;
- unsigned int data_type_len;
- SLang_Class_Type *cl;
-
- (void) b_type;
- cl = _SLclass_get_class (a_type);
-
- data_type_len = cl->cl_sizeof_type;
-
- a = (char *) ap;
- b = (char *) bp;
- c = (int *) cp;
-
- if (na == 1) da = 0; else da = data_type_len;
- if (nb == 1) db = 0; else db = data_type_len;
- if (na > nb) n_max = na; else n_max = nb;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_NE:
- for (n = 0; n < n_max; n++)
- {
- c[n] = (0 != SLMEMCMP(a, b, data_type_len));
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ:
- for (n = 0; n < n_max; n++)
- {
- c[n] = (0 == SLMEMCMP(a, b, data_type_len));
- a += da; b += db;
- }
- break;
- }
- return 1;
-}
-
-static int scalar_fread (unsigned char type, FILE *fp, VOID_STAR ptr,
- unsigned int desired, unsigned int *actual)
-{
- unsigned int n;
-
- n = fread ((char *) ptr, _SLclass_get_class (type)->cl_sizeof_type,
- desired, fp);
- *actual = n;
- return 0;
-}
-
-static int scalar_fwrite (unsigned char type, FILE *fp, VOID_STAR ptr,
- unsigned int desired, unsigned int *actual)
-{
- unsigned int n;
-
- n = fwrite ((char *) ptr, _SLclass_get_class (type)->cl_sizeof_type,
- desired, fp);
- *actual = n;
- return 0;
-}
-
-static int vector_apush (unsigned char type, VOID_STAR ptr)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- return (*cl->cl_push)(type, (VOID_STAR) &ptr);
-}
-
-static int vector_apop (unsigned char type, VOID_STAR ptr)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- return (*cl->cl_pop)(type, (VOID_STAR) &ptr);
-}
-
-static int default_push_mmt (unsigned char type_unused, VOID_STAR ptr)
-{
- SLang_MMT_Type *ref;
-
- (void) type_unused;
- ref = *(SLang_MMT_Type **) ptr;
- return SLang_push_mmt (ref);
-}
-
-static void default_destroy_simple (unsigned char type_unused, VOID_STAR ptr_unused)
-{
- (void) type_unused;
- (void) ptr_unused;
-}
-
-static void default_destroy_user (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- SLang_free_mmt (*(SLang_MMT_Type **) ptr);
-}
-
-static int default_pop (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_pop_ptr_obj (type, (VOID_STAR *) ptr);
-}
-
-static int default_datatype_deref (unsigned char type)
-{
- return method_undefined_error (type, "datatype_deref", NULL);
-}
-
-static int default_acopy (unsigned char type, VOID_STAR from, VOID_STAR to)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- if (-1 == (*cl->cl_apush) (type, from))
- return -1;
- return (*cl->cl_apop) (type, to);
-}
-
-static int default_dereference_object (unsigned char type, VOID_STAR ptr)
-{
- (void) ptr;
- return method_undefined_error (type, "dereference", NULL);
-}
-
-static char *default_string (unsigned char stype, VOID_STAR v)
-{
- char buf [256];
- char *s;
-#if SLANG_HAS_COMPLEX
- double *cplx;
-#endif
- s = buf;
-
- switch (stype)
- {
- case SLANG_STRING_TYPE:
- s = *(char **) v;
- break;
-
- case SLANG_NULL_TYPE:
- s = "NULL";
- break;
-
- case SLANG_DATATYPE_TYPE:
- s = SLclass_get_datatype_name ((unsigned char) *(int *)v);
- break;
-
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- cplx = *(double **) v;
- if (cplx[1] < 0)
- sprintf (s, "(%g - %gi)", cplx [0], -cplx [1]);
- else
- sprintf (s, "(%g + %gi)", cplx [0], cplx [1]);
- break;
-#endif
- default:
- s = SLclass_get_datatype_name (stype);
- }
-
- return SLmake_string (s);
-}
-
-static int
-use_cmp_bin_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- if (a != b)
- return 0;
- switch (op)
- {
- case SLANG_NE:
- case SLANG_EQ:
- case SLANG_LT:
- case SLANG_LE:
- case SLANG_GT:
- case SLANG_GE:
- *c = SLANG_INT_TYPE;
- return 1;
- }
- return 0;
-}
-
-static int
-use_cmp_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- int *c;
- char *a, *b;
- unsigned int da, db;
- unsigned int n, n_max;
- unsigned int data_type_len;
- SLang_Class_Type *cl;
- int (*cmp)(unsigned char, VOID_STAR, VOID_STAR, int *);
-
- (void) b_type;
- cl = _SLclass_get_class (a_type);
- cmp = cl->cl_cmp;
- data_type_len = cl->cl_sizeof_type;
-
- a = (char *) ap;
- b = (char *) bp;
- c = (int *) cp;
-
- if (na == 1) da = 0; else da = data_type_len;
- if (nb == 1) db = 0; else db = data_type_len;
- if (na > nb) n_max = na; else n_max = nb;
-
- switch (op)
- {
- int result;
-
- default:
- return 0;
-
- case SLANG_NE:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result != 0);
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result == 0);
- a += da; b += db;
- }
- break;
-
- case SLANG_GT:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result > 0);
- a += da; b += db;
- }
- break;
- case SLANG_GE:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result >= 0);
- a += da; b += db;
- }
- break;
- case SLANG_LT:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result < 0);
- a += da; b += db;
- }
- break;
- case SLANG_LE:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result <= 0);
- a += da; b += db;
- }
- break;
- }
- return 1;
-}
-
-
-int SLclass_get_class_id (SLang_Class_Type *cl)
-{
- if (cl == NULL)
- return -1;
- return (int) cl->cl_data_type;
-}
-
-SLang_Class_Type *SLclass_allocate_class (char *name)
-{
- SLang_Class_Type *cl;
- unsigned int i;
-
- for (i = 0; i < 256; i++)
- {
- cl = Registered_Types [i];
- if ((cl != NULL)
- && (0 == strcmp (cl->cl_name, name)))
- {
- SLang_verror (SL_DUPLICATE_DEFINITION, "Type name %s already exists", name);
- return NULL;
- }
- }
-
- cl = (SLang_Class_Type *) SLmalloc (sizeof (SLang_Class_Type));
- if (cl == NULL) return NULL;
-
- SLMEMSET ((char *) cl, 0, sizeof (SLang_Class_Type));
-
- if (NULL == (cl->cl_name = SLang_create_slstring (name)))
- {
- SLfree ((char *) cl);
- return NULL;
- }
-
- return cl;
-}
-
-static int DataType_Ids [256];
-
-int _SLang_push_datatype (unsigned char data_type)
-{
- /* This data type could be a copy of another type, e.g., short and
- * int if they are the same size (Int16 == Short). So, make sure
- * we push the original and not the copy.
- */
- data_type = _SLclass_get_class (data_type)->cl_data_type;
- return SLclass_push_int_obj (SLANG_DATATYPE_TYPE, (int) data_type);
-}
-
-static int datatype_deref (unsigned char type, VOID_STAR ptr)
-{
- SLang_Class_Type *cl;
- int status;
-
- /* The parser generated code for this as if a function call were to be
- * made. However, we are calling the deref object routine
- * instead of the function call. So, I must simulate the function call.
- */
- if (-1 == _SL_increment_frame_pointer ())
- return -1;
-
- type = (unsigned char) *(int *) ptr;
- cl = _SLclass_get_class (type);
- status = (*cl->cl_datatype_deref) (type);
-
- (void) _SL_decrement_frame_pointer ();
- return status;
-}
-
-static int datatype_push (unsigned char type_unused, VOID_STAR ptr)
-{
- (void) type_unused;
- return _SLang_push_datatype (*(int *) ptr);
-}
-
-int _SLang_pop_datatype (unsigned char *type)
-{
- int i;
-
- if (-1 == SLclass_pop_int_obj (SLANG_DATATYPE_TYPE, &i))
- return -1;
-
- *type = (unsigned char) i;
- return 0;
-}
-
-static int datatype_pop (unsigned char type, VOID_STAR ptr)
-{
- if (-1 == _SLang_pop_datatype (&type))
- return -1;
-
- *(int *) ptr = type;
- return 0;
-}
-
-int _SLclass_init (void)
-{
- SLang_Class_Type *cl;
-
- /* First initialize the container classes. This is so binary operations
- * added later will work with them.
- */
- if (-1 == _SLarray_init_slarray ())
- return -1;
-
- /* DataType_Type */
- if (NULL == (cl = SLclass_allocate_class ("DataType_Type")))
- return -1;
- cl->cl_pop = datatype_pop;
- cl->cl_push = datatype_push;
- cl->cl_dereference = datatype_deref;
- if (-1 == SLclass_register_class (cl, SLANG_DATATYPE_TYPE, sizeof(int),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
-
- return 0;
-}
-
-static int register_new_datatype (char *name, unsigned char type)
-{
- DataType_Ids [type] = type;
- return SLadd_intrinsic_variable (name, (VOID_STAR) (DataType_Ids + type),
- SLANG_DATATYPE_TYPE, 1);
-}
-
-int SLclass_create_synonym (char *name, unsigned char type)
-{
- if (NULL == _SLclass_get_class (type))
- return -1;
-
- return register_new_datatype (name, type);
-}
-
-int _SLclass_copy_class (unsigned char to, unsigned char from)
-{
- SLang_Class_Type *cl = _SLclass_get_class (from);
-
- if (Registered_Types[to] != NULL)
- SLang_exit_error ("Application error: Class already exists");
-
- Registered_Types[to] = cl;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (to != SLANG_UNDEFINED_TYPE)
- _SLclass_Class_Type [to] = cl->cl_class_type;
-#endif
- return 0;
-}
-
-int SLclass_register_class (SLang_Class_Type *cl, unsigned char type, unsigned int type_size, unsigned char class_type)
-{
- char *name;
- unsigned int i;
- int can_binop = 1; /* scalar_vector_bin_op should work
- * for all data types.
- */
-
- if (type == SLANG_VOID_TYPE) for (i = 0; i < 256; i++)
- {
- if ((Registered_Types[i] == NULL)
- && (i != SLANG_VOID_TYPE))
- {
- type = (unsigned char) i;
- break;
- }
- }
-
- if ((NULL != Registered_Types [type])
- || (type == SLANG_VOID_TYPE))
- {
- SLang_verror (SL_APPLICATION_ERROR, "Class type %d already in use", (int) type);
- return -1;
- }
-
- cl->cl_data_type = type;
- cl->cl_class_type = class_type;
- name = cl->cl_name;
-
- switch (class_type)
- {
- case SLANG_CLASS_TYPE_MMT:
- if (cl->cl_push == NULL) cl->cl_push = default_push_mmt;
- if (cl->cl_destroy == NULL)
- return method_undefined_error (type, "destroy", name);
- cl->cl_user_destroy_fun = cl->cl_destroy;
- cl->cl_destroy = default_destroy_user;
- type_size = sizeof (VOID_STAR);
- break;
-
- case SLANG_CLASS_TYPE_SCALAR:
- if (cl->cl_destroy == NULL) cl->cl_destroy = default_destroy_simple;
- if ((type_size == 0)
- || (type_size > sizeof (_SL_Object_Union_Type)))
- {
- SLang_verror (SL_INVALID_PARM,
- "Type size for %s not appropriate for SCALAR type",
- name);
- return -1;
- }
- if (cl->cl_pop == NULL)
- return method_undefined_error (type, "pop", name);
- if (cl->cl_fread == NULL) cl->cl_fread = scalar_fread;
- if (cl->cl_fwrite == NULL) cl->cl_fwrite = scalar_fwrite;
-
- can_binop = 1;
- break;
-
- case SLANG_CLASS_TYPE_PTR:
- if (cl->cl_destroy == NULL)
- return method_undefined_error (type, "destroy", name);
- type_size = sizeof (VOID_STAR);
- break;
-
- case SLANG_CLASS_TYPE_VECTOR:
- if (cl->cl_destroy == NULL)
- return method_undefined_error (type, "destroy", name);
- if (cl->cl_pop == NULL)
- return method_undefined_error (type, "pop", name);
- cl->cl_apop = vector_apop;
- cl->cl_apush = vector_apush;
- cl->cl_adestroy = default_destroy_simple;
- if (cl->cl_fread == NULL) cl->cl_fread = scalar_fread;
- if (cl->cl_fwrite == NULL) cl->cl_fwrite = scalar_fwrite;
- can_binop = 1;
- break;
-
- default:
- SLang_verror (SL_INVALID_PARM, "%s: unknown class type (%d)", name, class_type);
- return -1;
- }
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (type != SLANG_UNDEFINED_TYPE)
- _SLclass_Class_Type [type] = class_type;
-#endif
-
- if (type_size == 0)
- {
- SLang_verror (SL_INVALID_PARM, "type size must be non-zero for %s", name);
- return -1;
- }
-
- if (cl->cl_string == NULL) cl->cl_string = default_string;
- if (cl->cl_acopy == NULL) cl->cl_acopy = default_acopy;
- if (cl->cl_datatype_deref == NULL) cl->cl_datatype_deref = default_datatype_deref;
-
- if (cl->cl_pop == NULL) cl->cl_pop = default_pop;
-
- if (cl->cl_push == NULL)
- return method_undefined_error (type, "push", name);
-
- if (cl->cl_byte_code_destroy == NULL)
- cl->cl_byte_code_destroy = cl->cl_destroy;
- if (cl->cl_push_literal == NULL)
- cl->cl_push_literal = cl->cl_push;
-
- if (cl->cl_dereference == NULL)
- cl->cl_dereference = default_dereference_object;
-
- if (cl->cl_apop == NULL) cl->cl_apop = cl->cl_pop;
- if (cl->cl_apush == NULL) cl->cl_apush = cl->cl_push;
- if (cl->cl_adestroy == NULL) cl->cl_adestroy = cl->cl_destroy;
- if (cl->cl_push_intrinsic == NULL) cl->cl_push_intrinsic = cl->cl_push;
-
- if ((cl->cl_foreach == NULL)
- || (cl->cl_foreach_open == NULL)
- || (cl->cl_foreach_close == NULL))
- {
- cl->cl_foreach = _SLarray_cl_foreach;
- cl->cl_foreach_open = _SLarray_cl_foreach_open;
- cl->cl_foreach_close = _SLarray_cl_foreach_close;
- }
-
- cl->cl_sizeof_type = type_size;
-
- if (NULL == (cl->cl_transfer_buf = (VOID_STAR) SLmalloc (type_size)))
- return -1;
-
- Registered_Types[type] = cl;
-
- if (-1 == register_new_datatype (name, type))
- return -1;
-
- if (cl->cl_cmp != NULL)
- {
- if (-1 == SLclass_add_binary_op (type, type, use_cmp_bin_op, use_cmp_bin_op_result))
- return -1;
- }
- else if (can_binop
- && (-1 == SLclass_add_binary_op (type, type, scalar_vector_bin_op, scalar_vector_bin_op_result)))
- return -1;
-
- cl->cl_anytype_typecast = _SLanytype_typecast;
-
- return 0;
-}
-
-int SLclass_add_math_op (unsigned char type,
- int (*handler)(int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*result) (int, unsigned char, unsigned char *))
-{
- SLang_Class_Type *cl = _SLclass_get_class (type);
-
- cl->cl_math_op = handler;
- cl->cl_math_op_result_type = result;
- return 0;
-}
-
-int SLclass_add_binary_op (unsigned char a, unsigned char b,
- int (*f) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*r) (int, unsigned char, unsigned char, unsigned char *))
-{
- SLang_Class_Type *cl;
- SL_OOBinary_Type *ab;
-
- if ((f == NULL) || (r == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "SLclass_add_binary_op");
- return -1;
- }
-
- cl = _SLclass_get_class (a);
- (void) _SLclass_get_class (b);
-
- if (NULL == (ab = (SL_OOBinary_Type *) SLmalloc (sizeof(SL_OOBinary_Type))))
- return -1;
-
- ab->data_type = b;
- ab->binary_function = f;
- ab->binary_result = r;
- ab->next = cl->cl_binary_ops;
- cl->cl_binary_ops = ab;
-
- if ((a != SLANG_ARRAY_TYPE)
- && (b != SLANG_ARRAY_TYPE))
- {
- if ((-1 == _SLarray_add_bin_op (a))
- || (-1 == _SLarray_add_bin_op (b)))
- return -1;
- }
-
- return 0;
-}
-
-int SLclass_add_unary_op (unsigned char type,
- int (*f)(int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*r)(int, unsigned char, unsigned char *))
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- if ((f == NULL) || (r == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "SLclass_add_unary_op");
- return -1;
- }
-
- cl->cl_unary_op = f;
- cl->cl_unary_op_result_type = r;
-
- return 0;
-}
-
-int SLclass_add_app_unary_op (unsigned char type,
- int (*f)(int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*r)(int, unsigned char, unsigned char *))
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- if ((f == NULL) || (r == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "SLclass_add_app_unary_op");
- return -1;
- }
-
- cl->cl_app_unary_op = f;
- cl->cl_app_unary_op_result_type = r;
-
- return 0;
-}
-
-int SLclass_set_pop_function (SLang_Class_Type *cl, int (*f)(unsigned char, VOID_STAR))
-{
- if (cl == NULL) return -1;
- cl->cl_pop = f;
-
- return 0;
-}
-
-int SLclass_set_push_function (SLang_Class_Type *cl, int (*f)(unsigned char, VOID_STAR))
-{
- if (cl == NULL) return -1;
- cl->cl_push = f;
-
- return 0;
-}
-
-int SLclass_set_string_function (SLang_Class_Type *cl, char *(*f)(unsigned char, VOID_STAR))
-{
- if (cl == NULL) return -1;
-
- cl->cl_string = f;
- return 0;
-}
-
-int SLclass_set_destroy_function (SLang_Class_Type *cl, void (*f)(unsigned char, VOID_STAR))
-{
- if (cl == NULL) return -1;
-
- cl->cl_destroy = f;
- return 0;
-}
-
-int SLclass_set_sget_function (SLang_Class_Type *cl, int (*f)(unsigned char, char *))
-{
- if (cl == NULL) return -1;
- cl->cl_sget = f;
- return 0;
-}
-
-int SLclass_set_sput_function (SLang_Class_Type *cl, int (*f)(unsigned char, char *))
-{
- if (cl == NULL) return -1;
- cl->cl_sput = f;
- return 0;
-}
-
-int SLclass_set_aget_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
-{
- if (cl == NULL) return -1;
- cl->cl_aget = f;
- return 0;
-}
-
-int SLclass_set_aput_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
-{
- if (cl == NULL) return -1;
- cl->cl_aput = f;
- return 0;
-}
-
-int SLclass_set_anew_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
-{
- if (cl == NULL) return -1;
- cl->cl_anew = f;
- return 0;
-}
-
-/* Misc */
-void _SLclass_type_mismatch_error (unsigned char a, unsigned char b)
-{
- SLang_verror (SL_TYPE_MISMATCH, "Expecting %s, found %s",
- SLclass_get_datatype_name (a),
- SLclass_get_datatype_name (b));
-}
-
-/* */
-
-static int null_binary_fun (int op,
- unsigned char a, VOID_STAR ap, unsigned int na,
- unsigned char b, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- int *ic;
- unsigned int i;
- int c;
-
- (void) ap; (void) bp;
-
- switch (op)
- {
- case SLANG_EQ:
- c = (a == b);
- break;
-
- case SLANG_NE:
- c = (a != b);
- break;
-
- default:
- return 0;
- }
-
- if (na > nb) nb = na;
- ic = (int *) cp;
- for (i = 0; i < nb; i++)
- ic[i] = c;
-
- return 1;
-}
-
-static char *get_binary_op_string (int op)
-{
- static char *ops[SLANG_MOD] =
- {
- "+", "=", "*", "/", "==", "!=", ">", ">=", "<", "<=", "^",
- "or", "and", "&", "|", "xor", "shl", "shr", "mod"
- };
-
- if ((op > SLANG_MOD) || (op <= 0))
- return "??";
- return ops[op - 1];
-}
-
-int (*_SLclass_get_binary_fun (int op,
- SLang_Class_Type *a_cl, SLang_Class_Type *b_cl,
- SLang_Class_Type **c_cl, int do_error))
-(int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR)
-{
- SL_OOBinary_Type *bt;
- unsigned char a, b, c;
-
- a = a_cl->cl_data_type;
- b = b_cl->cl_data_type;
-
- if ((a == SLANG_NULL_TYPE) || (b == SLANG_NULL_TYPE))
- {
- *c_cl = _SLclass_get_class (SLANG_INT_TYPE);
- return null_binary_fun;
- }
-
- bt = a_cl->cl_binary_ops;
-
- while (bt != NULL)
- {
- if (bt->data_type == b)
- {
- if (1 != (*bt->binary_result)(op, a, b, &c))
- break;
-
- if (c == a) *c_cl = a_cl;
- else if (c == b) *c_cl = b_cl;
- else *c_cl = _SLclass_get_class (c);
-
- return bt->binary_function;
- }
-
- bt = bt->next;
- }
-
- if (do_error)
- SLang_verror (SL_TYPE_MISMATCH, "%s %s %s is not possible",
- a_cl->cl_name, get_binary_op_string (op), b_cl->cl_name);
-
- *c_cl = NULL;
- return NULL;
-}
-
-int (*_SLclass_get_unary_fun (int op,
- SLang_Class_Type *a_cl,
- SLang_Class_Type **b_cl,
- int utype))
-(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR)
-{
- int (*f)(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
- int (*r)(int, unsigned char, unsigned char *);
- unsigned char a;
- unsigned char b;
-
- switch (utype)
- {
- case _SLANG_BC_UNARY:
- f = a_cl->cl_unary_op;
- r = a_cl->cl_unary_op_result_type;
- break;
-
- case _SLANG_BC_MATH_UNARY:
- f = a_cl->cl_math_op;
- r = a_cl->cl_math_op_result_type;
- break;
-
- case _SLANG_BC_APP_UNARY:
- f = a_cl->cl_app_unary_op;
- r = a_cl->cl_app_unary_op_result_type;
- break;
-
- default:
- f = NULL;
- r = NULL;
- }
-
- a = a_cl->cl_data_type;
- if ((f != NULL) && (r != NULL) && (1 == (*r) (op, a, &b)))
- {
- if (a == b)
- *b_cl = a_cl;
- else
- *b_cl = _SLclass_get_class (b);
- return f;
- }
-
- SLang_verror (SL_TYPE_MISMATCH, "undefined unary operation/function on %s",
- a_cl->cl_name);
-
- *b_cl = NULL;
-
- return NULL;
-}
-
-int
-SLclass_typecast (unsigned char to_type, int is_implicit, int allow_array)
-{
- unsigned char from_type;
- SLang_Class_Type *cl_to, *cl_from;
- SLang_Object_Type obj;
- VOID_STAR ap;
- VOID_STAR bp;
- int status;
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- from_type = obj.data_type;
- if (from_type == to_type)
- {
- SLang_push (&obj);
- return 0;
- }
-
- cl_from = _SLclass_get_class (from_type);
-
- /* Since the typecast functions are designed to work on arrays,
- * get the pointer to the value instead of just &obj.v.
- */
- ap = _SLclass_get_ptr_to_value (cl_from, &obj);
-
- if ((from_type == SLANG_ARRAY_TYPE)
- && (allow_array || (to_type != SLANG_ANY_TYPE)))
- {
- if (allow_array == 0)
- goto return_error;
-
- cl_to = _SLclass_get_class (SLANG_ARRAY_TYPE);
- bp = cl_to->cl_transfer_buf;
- status = _SLarray_typecast (from_type, ap, 1, to_type, bp, is_implicit);
- }
- else
- {
- int (*t) (unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR);
-
- if (NULL == (t = _SLclass_get_typecast (from_type, to_type, is_implicit)))
- {
- SLang_free_object (&obj);
- return -1;
- }
-
- cl_to = _SLclass_get_class (to_type);
- bp = cl_to->cl_transfer_buf;
- status = (*t) (from_type, ap, 1, to_type, bp);
- }
-
- if (1 == status)
- {
- if (-1 == (*cl_to->cl_apush)(to_type, bp))
- {
- (*cl_to->cl_adestroy) (to_type, bp);
- SLang_free_object (&obj);
- return -1;
- }
-
- /* cl_apush will push a copy, so destry this one */
- (*cl_to->cl_adestroy) (to_type, bp);
- SLang_free_object (&obj);
- return 0;
- }
-
- return_error:
-
- SLang_verror (SL_TYPE_MISMATCH, "Unable to typecast %s to %s",
- cl_from->cl_name,
- SLclass_get_datatype_name (to_type));
- SLang_free_object (&obj);
- return -1;
-}
-
-int (*_SLclass_get_typecast (unsigned char from, unsigned char to, int is_implicit))
-(unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR)
-{
- SL_Typecast_Type *t;
- SLang_Class_Type *cl_from;
-
- cl_from = _SLclass_get_class (from);
-
- t = cl_from->cl_typecast_funs;
- while (t != NULL)
- {
- if (t->data_type != to)
- {
- t = t->next;
- continue;
- }
-
- if (is_implicit && (t->allow_implicit == 0))
- break;
-
- return t->typecast;
- }
-
- if (to == SLANG_ANY_TYPE)
- return _SLanytype_typecast;
-
- if ((is_implicit == 0)
- && (cl_from->cl_void_typecast != NULL))
- return cl_from->cl_void_typecast;
-
- SLang_verror (SL_TYPE_MISMATCH, "Unable to typecast %s to %s",
- cl_from->cl_name,
- SLclass_get_datatype_name (to));
-
- return NULL;
-}
-
-int
-SLclass_add_typecast (unsigned char from, unsigned char to,
- int (*f)_PROTO((unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR)),
- int allow_implicit)
-{
- SL_Typecast_Type *t;
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (from);
- if (to == SLANG_VOID_TYPE)
- {
- cl->cl_void_typecast = f;
- return 0;
- }
-
- (void) _SLclass_get_class (to);
-
- if (NULL == (t = (SL_Typecast_Type *) SLmalloc (sizeof (SL_Typecast_Type))))
- return -1;
-
- SLMEMSET((char *) t, 0, sizeof(SL_Typecast_Type));
- t->data_type = to;
- t->next = cl->cl_typecast_funs;
- t->typecast = f;
- t->allow_implicit = allow_implicit;
-
- cl->cl_typecast_funs = t;
-
- return 0;
-}
-
-SLang_MMT_Type *SLang_pop_mmt (unsigned char type) /*{{{*/
-{
- SLang_MMT_Type *mmt;
-
- if (-1 == SLclass_pop_ptr_obj (type, (VOID_STAR *) &mmt))
- mmt = NULL;
- return mmt;
-
-#if 0
- SLang_Object_Type obj;
- SLang_Class_Type *cl;
-
- if (_SLang_pop_object_of_type (type, &obj))
- return NULL;
-
- cl = _SLclass_get_class (type);
- if ((cl->cl_class_type == SLANG_CLASS_TYPE_MMT)
- && (obj.data_type == type))
- {
- return obj.v.ref;
- }
-
- _SLclass_type_mismatch_error (type, obj.data_type);
- SLang_free_object (&obj);
- return NULL;
-#endif
-}
-
-/*}}}*/
-
-int SLang_push_mmt (SLang_MMT_Type *ref) /*{{{*/
-{
- if (ref == NULL)
- return SLang_push_null ();
-
- ref->count += 1;
-
- if (0 == SLclass_push_ptr_obj (ref->data_type, (VOID_STAR) ref))
- return 0;
-
- ref->count -= 1;
- return -1;
-}
-
-/*}}}*/
-
-void SLang_inc_mmt (SLang_MMT_Type *ref)
-{
- if (ref != NULL)
- ref->count += 1;
-}
-
-VOID_STAR SLang_object_from_mmt (SLang_MMT_Type *ref)
-{
- if (ref == NULL)
- return NULL;
-
- return ref->user_data;
-}
-
-SLang_MMT_Type *SLang_create_mmt (unsigned char t, VOID_STAR p)
-{
- SLang_MMT_Type *ref;
-
- (void) _SLclass_get_class (t); /* check to see if it is registered */
-
- if (NULL == (ref = (SLang_MMT_Type *) SLmalloc (sizeof (SLang_MMT_Type))))
- return NULL;
-
- SLMEMSET ((char *) ref, 0, sizeof (SLang_MMT_Type));
-
- ref->data_type = t;
- ref->user_data = p;
- /* FIXME!! To be consistent with other types, the reference count should
- * be set to 1 here. However, doing so will require other code changes
- * involving the use of MMTs. For instance, SLang_free_mmt would have
- * to be called after every push of the MMT.
- */
- return ref;
-}
-
-void SLang_free_mmt (SLang_MMT_Type *ref)
-{
- unsigned char type;
- SLang_Class_Type *cl;
-
- if (ref == NULL)
- return;
-
- /* This can be zero if SLang_create_mmt is called followed
- * by this routine before anything gets a chance to attach itself
- * to it.
- */
- if (ref->count > 1)
- {
- ref->count -= 1;
- return;
- }
-
- type = ref->data_type;
- cl = _SLclass_get_class (type);
- (*cl->cl_user_destroy_fun) (type, ref->user_data);
- SLfree ((char *)ref);
-}
-
-int SLang_push_value (unsigned char type, VOID_STAR v)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- return (*cl->cl_apush)(type, v);
-}
-
-int SLang_pop_value (unsigned char type, VOID_STAR v)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- return (*cl->cl_apop)(type, v);
-}
-
-void SLang_free_value (unsigned char type, VOID_STAR v)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- (*cl->cl_adestroy) (type, v);
-}
-
-/* These routines are very low-level and are designed for application data
- * types to access the stack from their push/pop methods. The int and
- * pointer versions are in slang.c
- */
-#if SLANG_HAS_FLOAT
-int SLclass_push_double_obj (unsigned char type, double x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.double_val = x;
- return SLang_push (&obj);
-}
-int SLclass_push_float_obj (unsigned char type, float x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.float_val = x;
- return SLang_push (&obj);
-}
-
-#endif
-
-int SLclass_push_long_obj (unsigned char type, long x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.long_val = x;
- return SLang_push (&obj);
-}
-
-int SLclass_push_short_obj (unsigned char type, short x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.short_val = x;
- return SLang_push (&obj);
-}
-
-int SLclass_push_char_obj (unsigned char type, char x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.char_val = x;
- return SLang_push (&obj);
-}
-
-#if SLANG_HAS_FLOAT
-int SLclass_pop_double_obj (unsigned char type, double *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.double_val;
- return 0;
-}
-
-int SLclass_pop_float_obj (unsigned char type, float *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.float_val;
- return 0;
-}
-#endif
-
-int SLclass_pop_long_obj (unsigned char type, long *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.long_val;
- return 0;
-}
-
-int SLclass_pop_int_obj (unsigned char type, int *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.int_val;
- return 0;
-}
-
-int SLclass_pop_short_obj (unsigned char type, short *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.short_val;
- return 0;
-}
-
-int SLclass_pop_char_obj (unsigned char type, char *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.char_val;
- return 0;
-}
-
-int SLclass_pop_ptr_obj (unsigned char type, VOID_STAR *s)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- {
- *s = (VOID_STAR) NULL;
- return -1;
- }
- *s = obj.v.ptr_val;
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slcmd.c b/mdk-stage1/slang/slcmd.c
deleted file mode 100644
index 4a00a90fc..000000000
--- a/mdk-stage1/slang/slcmd.c
+++ /dev/null
@@ -1,351 +0,0 @@
-/* cmd line facility for slang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifndef HAVE_STDLIB_H
-/* Oh dear. Where is the prototype for atof? If not in stdlib, then
- * I do not know where. Not in math.h onsome systems either.
- */
-extern double atof ();
-#endif
-
-static SLcmd_Cmd_Type *SLcmd_find_command (char *s, SLcmd_Cmd_Type *cmd)
-{
- char *cmdstr;
- char chs = *s++, ch;
-
- while ((cmd->cmdfun != NULL)
- && (NULL != (cmdstr = cmd->cmd))
- && (0 != (ch = *cmdstr++)))
- {
- if ((ch == chs) && !strcmp (s, cmdstr)) return cmd;
- cmd++;
- }
- return NULL;
-}
-
-static int extract_token (char **strptr, char *buf)
-{
- char *s, *b;
- char ch, quote;
-
- *buf = 0;
-
- s = *strptr;
- while (((ch = *s) != 0)
- && ((ch == ' ') || (ch == '\t') || (ch == '\n')))
- s++;
-
- *strptr = s;
-
- if (ch == 0) return 0;
- if (ch == '%') return 0;
-
- b = buf;
-
- *b++ = ch;
- s++;
-
- if ((ch == '\'') || (ch == '"'))
- {
- quote = ch;
- while ((ch = *s) != 0)
- {
- s++;
- *b++ = ch;
- if (ch == quote)
- break;
-
- if (ch == '\\')
- {
- if (0 == (ch = *s))
- break;
- *b++ = ch;
- s++;
- }
- }
- *strptr = s;
- *b = 0;
- return 1;
- }
-
- while (((ch = *s) != 0)
- && (ch != ' ')
- && (ch != '\t')
- && (ch != '\n')
- && (ch != '%'))
- *b++ = *s++;
-
- *strptr = s;
- *b = 0;
- return 1;
-}
-
-static int allocate_arg_space (SLcmd_Cmd_Table_Type *table, int argc, unsigned int *space_ptr)
-{
- unsigned int space = *space_ptr;
- char *p;
-
- if (argc + 1 < (int) space)
- return 0;
-
- if (space > 128)
- {
- if (space > 1024) space += 1024;
- else space += 128;
- }
- else space += 32;
-
- if (NULL == (p = SLrealloc ((char *)table->string_args, space * sizeof (char *))))
- return -1;
- table->string_args = (char **)p;
- table->string_args [argc] = NULL;
-
- if (NULL == (p = SLrealloc ((char *)table->int_args, space * sizeof (int))))
- return -1;
- table->int_args = (int *)p;
-
- if (NULL == (p = SLrealloc ((char *)table->double_args, space * sizeof (double))))
- return -1;
- table->double_args = (double *)p;
-
- if (NULL == (p = SLrealloc ((char *)table->arg_type, space * sizeof (unsigned char))))
- return -1;
- table->arg_type = (unsigned char *)p;
-
- *space_ptr = space;
- return 0;
-}
-
-int SLcmd_execute_string (char *str, SLcmd_Cmd_Table_Type *table)
-{
- char *s, *b = NULL, *arg_type, *last_str, *cmd_name;
- SLcmd_Cmd_Type *cmd;
- char *buf;
- int token_present;
- int i;
- int status;
- unsigned int len;
- int argc;
- unsigned int space;
-
- table->argc = 0;
- table->string_args = NULL;
- table->int_args = NULL;
- table->double_args = NULL;
- table->arg_type = NULL;
-
- buf = SLmake_string (str);
- if (buf == NULL)
- return -1;
-
- status = extract_token (&str, buf);
- if (status <= 0)
- {
- SLfree (buf);
- return status;
- }
-
- if (((len = strlen (buf)) >= 32)
- || (NULL == (cmd = SLcmd_find_command (buf, table->table))))
- {
- SLang_verror (SL_UNDEFINED_NAME,"%s: invalid command", buf);
- SLfree (buf);
- return -1;
- }
-
- if (NULL == (cmd_name = SLmake_string (buf)))
- {
- SLfree (buf);
- return -1;
- }
-
- space = 0;
- argc = 0;
- if (-1 == allocate_arg_space (table, argc, &space))
- {
- SLfree (buf);
- return -1;
- }
- table->arg_type[argc] = SLANG_STRING_TYPE;
- table->string_args[argc++] = cmd_name;
-
- arg_type = cmd->arg_type;
- status = -1;
- while (*arg_type)
- {
- int guess_type = 0;
-
- last_str = str;
-
- if (-1 == allocate_arg_space (table, argc, &space))
- goto error;
-
- if (-1 == (token_present = extract_token (&str, buf)))
- goto error;
-
- table->string_args[argc] = NULL;
-
- if (token_present)
- {
- b = buf;
- len = strlen (b);
-
- if ((*b == '"') && (len > 1))
- {
- b++;
- len -= 2;
- b[len] = 0;
- guess_type = SLANG_STRING_TYPE;
- SLexpand_escaped_string (buf, b, b + len);
- len = strlen (buf);
- }
- else if ((*b == '\'') && (len > 1))
- {
- char ch;
- b++;
- len -= 2;
- b[len] = 0;
- guess_type = SLANG_INT_TYPE;
- ch = *b;
- if (ch == '\\')
- (void) _SLexpand_escaped_char (b, &ch);
- sprintf (buf, "%d", (unsigned char) ch);
- len = strlen (buf);
- }
- else guess_type = SLang_guess_type (buf);
- }
-
- switch (*arg_type++)
- {
- /* variable argument number */
- case 'v':
- if (token_present == 0) break;
- case 'V':
- if (token_present == 0)
- {
- SLang_verror (SL_INVALID_PARM, "%s: Expecting argument", cmd_name);
- goto error;
- }
-
- while (*last_str == ' ') last_str++;
- len = strlen (last_str);
- str = last_str + len;
-
- s = SLmake_nstring (last_str, len);
- if (s == NULL) goto error;
-
- table->arg_type[argc] = SLANG_STRING_TYPE;
- table->string_args[argc++] = s;
- break;
-
- case 's':
- if (token_present == 0) break;
- case 'S':
- if (token_present == 0)
- {
- SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting string argument", cmd_name);
- goto error;
- }
-
- s = SLmake_nstring (buf, len);
- if (s == NULL) goto error;
- table->arg_type[argc] = SLANG_STRING_TYPE;
- table->string_args[argc++] = s;
- break;
-
- /* integer argument */
- case 'i':
- if (token_present == 0) break;
- case 'I':
- if ((token_present == 0) || (SLANG_INT_TYPE != guess_type))
- {
- SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting integer argument", cmd_name);
- goto error;
- }
-
- table->arg_type[argc] = SLANG_INT_TYPE;
- table->int_args[argc++] = SLatoi((unsigned char *) buf);
- break;
-
- /* floating point arg */
-#if SLANG_HAS_FLOAT
- case 'f':
- if (token_present == 0) break;
- case 'F':
- if ((token_present == 0) || (SLANG_STRING_TYPE == guess_type))
- {
- SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting double argument", cmd_name);
- goto error;
- }
- table->arg_type[argc] = SLANG_DOUBLE_TYPE;
- table->double_args[argc++] = atof(buf);
- break;
-#endif
- /* Generic type */
- case 'g':
- if (token_present == 0) break;
- case 'G':
- if (token_present == 0)
- {
- SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting argument", cmd_name);
- goto error;
- }
-
- switch (guess_type)
- {
- case SLANG_INT_TYPE:
- table->arg_type[argc] = SLANG_INT_TYPE;
- table->int_args[argc++] = SLatoi((unsigned char *) buf);
- break;
-
- case SLANG_STRING_TYPE:
- s = SLmake_nstring (buf, len);
- if (s == NULL) goto error;
-
- table->arg_type[argc] = SLANG_STRING_TYPE;
- table->string_args[argc++] = s;
- break;
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- table->arg_type[argc] = SLANG_DOUBLE_TYPE;
- table->double_args[argc++] = atof(buf);
-#endif
- }
- break;
- }
- }
-
- /* call function */
- status = (*cmd->cmdfun)(argc, table);
-
- error:
- if (table->string_args != NULL) for (i = 0; i < argc; i++)
- {
- if (NULL != table->string_args[i])
- {
- SLfree (table->string_args[i]);
- table->string_args[i] = NULL;
- }
- }
- SLfree ((char *)table->string_args); table->string_args = NULL;
- SLfree ((char *)table->double_args); table->double_args = NULL;
- SLfree ((char *)table->int_args); table->int_args = NULL;
- SLfree ((char *)table->arg_type); table->arg_type = NULL;
-
- SLfree (buf);
- return status;
-}
-
diff --git a/mdk-stage1/slang/slcmplex.c b/mdk-stage1/slang/slcmplex.c
deleted file mode 100644
index b210dfc04..000000000
--- a/mdk-stage1/slang/slcmplex.c
+++ /dev/null
@@ -1,1142 +0,0 @@
-/* Complex Data Type definition for S-Lang */
-/* Copyright (c) 1997, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* The rest of the file is enclosed in this #if */
-#if SLANG_HAS_COMPLEX
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#ifdef PI
-# undef PI
-#endif
-#define PI 3.14159265358979323846
-
-int SLang_pop_complex (double *r, double *i)
-{
- double *c;
-
- switch (SLang_peek_at_stack ())
- {
- case SLANG_COMPLEX_TYPE:
- if (-1 == SLclass_pop_ptr_obj (SLANG_COMPLEX_TYPE, (VOID_STAR *)&c))
- return -1;
- *r = c[0];
- *i = c[1];
- SLfree ((char *) c);
- break;
-
- default:
- *i = 0.0;
- if (-1 == SLang_pop_double (r, NULL, NULL))
- return -1;
- break;
-
- case -1:
- return -1;
- }
- return 0;
-}
-
-int SLang_push_complex (double r, double i)
-{
- double *c;
-
- c = (double *) SLmalloc (2 * sizeof (double));
- if (c == NULL)
- return -1;
-
- c[0] = r;
- c[1] = i;
-
- if (-1 == SLclass_push_ptr_obj (SLANG_COMPLEX_TYPE, (VOID_STAR) c))
- {
- SLfree ((char *) c);
- return -1;
- }
- return 0;
-}
-
-double *SLcomplex_times (double *c, double *a, double *b)
-{
- double a_real, b_real, a_imag, b_imag;
-
- a_real = a[0];
- b_real = b[0];
- a_imag = a[1];
- b_imag = b[1];
-
- c[0] = a_real * b_real - a_imag * b_imag;
- c[1] = a_imag * b_real + a_real * b_imag;
-
- return c;
-}
-
-double *SLcomplex_divide (double *c, double *a, double *b)
-{
- double a_real, b_real, a_imag, b_imag;
- double ratio, invden;
-
- a_real = a[0];
- b_real = b[0];
- a_imag = a[1];
- b_imag = b[1];
-
- /* Do it this way to avoid overflow in the denom */
- if (fabs(b_real) > fabs(b_imag))
- {
- ratio = b_imag / b_real;
- invden = 1.0 / (b_real + b_imag * ratio);
- c[0] = (a_real + ratio * a_imag) * invden;
- c[1] = (a_imag - a_real * ratio) * invden;
- }
- else
- {
- ratio = b_real / b_imag;
- invden = 1.0 / (b_real * ratio + b_imag);
- c[0] = (a_real * ratio + a_imag) * invden;
- c[1] = (a_imag * ratio - a_real) * invden;
- }
- return c;
-}
-
-/* a^b = exp (b log a); */
-double *SLcomplex_pow (double *c, double *a, double *b)
-{
- return SLcomplex_exp (c, SLcomplex_times (c, b, SLcomplex_log (c, a)));
-}
-
-static double *complex_dpow (double *c, double *a, double b)
-{
- SLcomplex_log (c, a);
- c[0] *= b;
- c[1] *= b;
- return SLcomplex_exp (c, c);
-}
-
-static double *dcomplex_pow (double *c, double a, double *b)
-{
- a = log (a);
- c[0] = a * b[0];
- c[1] = a * b[1];
- return SLcomplex_exp (c, c);
-}
-
-double SLcomplex_abs (double *z)
-{
- return SLmath_hypot (z[0], z[1]);
-}
-
-/* It appears that FORTRAN assumes that the branch cut for the log function
- * is along the -x axis. So, use this for atan2:
- */
-static double my_atan2 (double y, double x)
-{
- double val;
-
- val = atan (y/x);
-
- if (x >= 0)
- return val; /* I, IV */
-
- if (y <= 0) /* III */
- return val - PI;
-
- return PI + val; /* II */
-}
-
-static void polar_form (double *r, double *theta, double *z)
-{
- double x, y;
-
- *r = SLcomplex_abs (z);
-
- x = z[0];
- y = z[1];
-
- if (x == 0.0)
- {
- if (y >= 0)
- *theta = 0.5 * PI;
- else
- *theta = 1.5 * PI;
- }
- else *theta = my_atan2 (y, x);
-}
-
-double *SLcomplex_sin (double *sinz, double *z)
-{
- double x, y;
-
- x = z[0]; y = z[1];
- sinz[0] = sin (x) * cosh (y);
- sinz[1] = cos (x) * sinh (y);
- return sinz;
-}
-
-double *SLcomplex_cos (double *cosz, double *z)
-{
- double x, y;
-
- x = z[0]; y = z[1];
- cosz[0] = cos (x) * cosh (y);
- cosz[1] = -sin (x) * sinh (y);
- return cosz;
-}
-
-double *SLcomplex_exp (double *expz, double *z)
-{
- double r, i;
-
- r = exp (z[0]);
- i = z[1];
- expz[0] = r * cos (i);
- expz[1] = r * sin (i);
- return expz;
-}
-
-double *SLcomplex_log (double *logz, double *z)
-{
- double r, theta;
-
- polar_form (&r, &theta, z); /* log R.e^(ix) = log R + ix */
- logz[0] = log(r);
- logz[1] = theta;
- return logz;
-}
-
-double *SLcomplex_log10 (double *log10z, double *z)
-{
- double l10 = log (10.0);
- (void) SLcomplex_log (log10z, z);
- log10z[0] = log10z[0] / l10;
- log10z[1] = log10z[1] / l10;
- return log10z;
-}
-
-double *SLcomplex_sqrt (double *sqrtz, double *z)
-{
- double r, x, y;
-
- x = z[0];
- y = z[1];
-
- r = SLmath_hypot (x, y);
-
- if (r == 0.0)
- {
- sqrtz [0] = sqrtz [1] = 0.0;
- return sqrtz;
- }
-
- if (x >= 0.0)
- {
- x = sqrt (0.5 * (r + x));
- y = 0.5 * y / x;
- }
- else
- {
- r = sqrt (0.5 * (r - x));
- x = 0.5 * y / r;
- y = r;
-
- if (x < 0.0)
- {
- x = -x;
- y = -y;
- }
- }
-
- sqrtz[0] = x;
- sqrtz[1] = y;
-
- return sqrtz;
-}
-
-double *SLcomplex_tan (double *tanz, double *z)
-{
- double x, y, invden;
-
- x = 2 * z[0];
- y = 2 * z[1];
- invden = 1.0 / (cos (x) + cosh (y));
- tanz[0] = invden * sin (x);
- tanz[1] = invden * sinh (y);
- return tanz;
-}
-
-/* Utility Function */
-static void compute_alpha_beta (double *z, double *alpha, double *beta)
-{
- double x, y, a, b;
-
- x = z[0];
- y = z[1];
- a = 0.5 * SLmath_hypot (x + 1, y);
- b = 0.5 * SLmath_hypot (x - 1, y);
-
- *alpha = a + b;
- *beta = a - b;
-}
-
-double *SLcomplex_asin (double *asinz, double *z)
-{
- double alpha, beta;
-
- compute_alpha_beta (z, &alpha, &beta);
- asinz[0] = asin (beta);
- asinz[1] = log (alpha + sqrt (alpha * alpha - 1));
- return asinz;
-}
-
-double *SLcomplex_acos (double *acosz, double *z)
-{
- double alpha, beta;
-
- compute_alpha_beta (z, &alpha, &beta);
- acosz[0] = acos (beta);
- acosz[1] = -log (alpha + sqrt (alpha * alpha - 1));
- return acosz;
-}
-
-double *SLcomplex_atan (double *atanz, double *z)
-{
- double x, y;
- double z1[2], z2[2];
-
- x = z[0]; y = z[1];
- z1[0] = x;
- z1[1] = 1 + y;
- z2[0] = -x;
- z2[1] = 1 - y;
-
- SLcomplex_log (z1, SLcomplex_divide (z2, z1, z2));
- atanz[0] = -0.5 * z1[1];
- atanz[1] = 0.5 * z1[0];
-
- return atanz;
-}
-
-double *SLcomplex_sinh (double *sinhz, double *z)
-{
- double x, y;
- x = z[0]; y = z[1];
- sinhz[0] = sinh (x) * cos (y);
- sinhz[1] = cosh (x) * sin (y);
- return sinhz;
-}
-
-double *SLcomplex_cosh (double *coshz, double *z)
-{
- double x, y;
- x = z[0]; y = z[1];
- coshz[0] = cosh (x) * cos (y);
- coshz[1] = sinh (x) * sin (y);
- return coshz;
-}
-
-double *SLcomplex_tanh (double *tanhz, double *z)
-{
- double x, y, invden;
- x = 2 * z[0];
- y = 2 * z[1];
- invden = 1.0 / (cosh (x) + cos (y));
- tanhz[0] = invden * sinh (x);
- tanhz[1] = invden * sin (y);
- return tanhz;
-}
-#if 0
-static double *not_implemented (char *fun, double *p)
-{
- SLang_verror (SL_NOT_IMPLEMENTED, "%s for complex numbers has not been implemented",
- fun);
- *p = -1.0;
- return p;
-}
-#endif
-/* Use: asinh(z) = -i asin(iz) */
-double *SLcomplex_asinh (double *asinhz, double *z)
-{
- double iz[2];
-
- iz[0] = -z[1];
- iz[1] = z[0];
-
- (void) SLcomplex_asin (iz, iz);
- asinhz[0] = iz[1];
- asinhz[1] = -iz[0];
-
- return asinhz;
-}
-
-/* Use: acosh (z) = i acos(z) */
-double *SLcomplex_acosh (double *acoshz, double *z)
-{
- double iz[2];
-
- (void) SLcomplex_acos (iz, z);
- acoshz[0] = -iz[1];
- acoshz[1] = iz[0];
-
- return acoshz;
-}
-
-/* Use: atanh(z) = -i atan(iz) */
-double *SLcomplex_atanh (double *atanhz, double *z)
-{
- double iz[2];
-
- iz[0] = -z[1];
- iz[1] = z[0];
-
- (void) SLcomplex_atan (iz, iz);
- atanhz[0] = iz[1];
- atanhz[1] = -iz[0];
-
- return atanhz;
-}
-
-static int complex_binary_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) a; (void) b;
-
- switch (op)
- {
- default:
- case SLANG_POW:
- case SLANG_PLUS:
- case SLANG_MINUS:
- case SLANG_TIMES:
- case SLANG_DIVIDE:
- *c = SLANG_COMPLEX_TYPE;
- break;
-
- case SLANG_EQ:
- case SLANG_NE:
- *c = SLANG_CHAR_TYPE;
- break;
- }
- return 1;
-}
-
-static int complex_complex_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- double *a, *b, *c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- a = (double *) ap;
- b = (double *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = 2;
- if (nb == 1) db = 0; else db = 2;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] + b[0];
- c[n + 1] = a[1] + b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] - b[0];
- c[n + 1] = a[1] - b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- SLcomplex_times (c + n, a, b);
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- if ((b[0] == 0.0) && (b[1] == 0.0))
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- SLcomplex_divide (c + n, a, b);
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] == b[0]) && (a[1] == b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] != b[0]) || (a[1] != b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- SLcomplex_pow (c + n, a, b);
- a += da; b += db;
- }
- break;
-
- }
-
- return 1;
-}
-
-static int complex_double_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- double *a, *b, *c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- a = (double *) ap;
- b = (double *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = 2;
- if (nb == 1) db = 0; else db = 1;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] + b[0];
- c[n + 1] = a[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] - b[0];
- c[n + 1] = a[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- double b0 = b[0];
- c[n] = a[0] * b0;
- c[n + 1] = a[1] * b0;
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- double b0 = b[0];
- if (b0 == 0.0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = a[0] / b0;
- c[n + 1] = a[1] / b0;
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] == b[0]) && (a[1] == 0.0));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] != b[0]) || (a[1] != 0.0));
- a += da; b += db;
- }
- break;
-
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- complex_dpow (c + n, a, b[0]);
- a += da; b += db;
- }
- break;
- }
-
- return 1;
-}
-
-static int double_complex_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- double *a, *b, *c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- a = (double *) ap;
- b = (double *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = 1;
- if (nb == 1) db = 0; else db = 2;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] + b[0];
- c[n + 1] = b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] - b[0];
- c[n + 1] = -b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- double a0 = a[0];
- c[n] = a0 * b[0];
- c[n + 1] = a0 * b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- double z[2];
- if ((b[0] == 0.0) && (b[1] == 0.0))
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- z[0] = a[0];
- z[1] = 0.0;
- SLcomplex_divide (c + n, z, b);
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] == b[0]) && (0.0 == b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] != b[0]) || (0.0 != b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- dcomplex_pow (c + n, a[0], b);
- a += da; b += db;
- }
- break;
- }
-
- return 1;
-}
-
-static int complex_generic_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- char *b;
- double *a, *c;
- unsigned int n, n_max;
- unsigned int da, db;
- unsigned int sizeof_b;
- SLang_To_Double_Fun_Type to_double;
-
- if (NULL == (to_double = SLarith_get_to_double_fun (b_type, &sizeof_b)))
- return 0;
-
- (void) a_type;
-
- a = (double *) ap;
- b = (char *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = 2;
- if (nb == 1) db = 0; else db = sizeof_b;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- complex_dpow (c + n, a, to_double((VOID_STAR)b));
- a += da; b += db;
- }
- break;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] + to_double((VOID_STAR)b);
- c[n + 1] = a[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] - to_double((VOID_STAR)b);
- c[n + 1] = a[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- double b0 = to_double((VOID_STAR)b);
- c[n] = a[0] * b0;
- c[n + 1] = a[1] * b0;
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- double b0 = to_double((VOID_STAR)b);
- if (b0 == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = a[0] / b0;
- c[n + 1] = a[1] / b0;
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] == to_double((VOID_STAR)b)) && (a[1] == 0.0));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] != to_double((VOID_STAR)b)) || (a[1] != 0.0));
- a += da; b += db;
- }
- break;
- }
-
- return 1;
-}
-
-static int generic_complex_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- double *b, *c;
- char *a, *ic;
- unsigned int n, n_max;
- unsigned int da, db;
- unsigned int sizeof_a;
- SLang_To_Double_Fun_Type to_double;
-
- if (NULL == (to_double = SLarith_get_to_double_fun (a_type, &sizeof_a)))
- return 0;
-
- (void) b_type;
-
- a = (char *) ap;
- b = (double *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = sizeof_a;
- if (nb == 1) db = 0; else db = 2;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- dcomplex_pow (c + n, to_double((VOID_STAR)a), b);
- a += da; b += db;
- }
- break;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = to_double((VOID_STAR)a) + b[0];
- c[n + 1] = b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = to_double((VOID_STAR)a) - b[0];
- c[n + 1] = -b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- double a0 = to_double((VOID_STAR)a);
- c[n] = a0 * b[0];
- c[n + 1] = a0 * b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- double z[2];
- if ((b[0] == 0.0) && (b[1] == 0.0))
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- z[0] = to_double((VOID_STAR)a);
- z[1] = 0.0;
- SLcomplex_divide (c + n, z, b);
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((to_double((VOID_STAR)a) == b[0]) && (0.0 == b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((to_double((VOID_STAR)a) != b[0]) || (0.0 != b[1]));
- a += da; b += db;
- }
- break;
- }
-
- return 1;
-}
-
-static int complex_unary_result (int op, unsigned char a, unsigned char *b)
-{
- (void) a;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUSPLUS:
- case SLANG_MINUSMINUS:
- case SLANG_CHS:
- case SLANG_MUL2:
- *b = SLANG_COMPLEX_TYPE;
- break;
-
- case SLANG_SQR: /* |Real|^2 + |Imag|^2 ==> double */
- case SLANG_ABS: /* |z| ==> double */
- *b = SLANG_DOUBLE_TYPE;
- break;
-
- case SLANG_SIGN:
- *b = SLANG_INT_TYPE;
- break;
- }
- return 1;
-}
-
-static int complex_unary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- unsigned int n;
- double *a, *b;
- int *ic;
-
- (void) a_type;
-
- a = (double *) ap;
- b = (double *) bp;
- ic = (int *) bp;
-
- na = 2 * na;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUSPLUS:
- for (n = 0; n < na; n += 2) b[n] = (a[n] + 1);
- break;
- case SLANG_MINUSMINUS:
- for (n = 0; n < na; n += 2) b[n] = (a[n] - 1);
- break;
- case SLANG_CHS:
- for (n = 0; n < na; n += 2)
- {
- b[n] = -(a[n]);
- b[n + 1] = -(a[n + 1]);
- }
- break;
- case SLANG_SQR: /* |Real|^2 + |Imag|^2 ==> double */
- for (n = 0; n < na; n += 2)
- b[n/2] = (a[n] * a[n] + a[n + 1] * a[n + 1]);
- break;
-
- case SLANG_MUL2:
- for (n = 0; n < na; n += 2)
- {
- b[n] = (2 * a[n]);
- b[n + 1] = (2 * a[n + 1]);
- }
- break;
-
- case SLANG_ABS: /* |z| ==> double */
- for (n = 0; n < na; n += 2)
- b[n/2] = SLcomplex_abs (a + n);
- break;
-
- case SLANG_SIGN:
- /* Another creative extension. Lets return an integer which indicates
- * whether the complex number is in the upperhalf plane or not.
- */
- for (n = 0; n < na; n += 2)
- {
- if (a[n + 1] < 0.0) ic[n/2] = -1;
- else if (a[n + 1] > 0.0) ic[n/2] = 1;
- else ic[n/2] = 0;
- }
- break;
- }
-
- return 1;
-}
-
-static int
-complex_typecast (unsigned char from_type, VOID_STAR from, unsigned int num,
- unsigned char to_type, VOID_STAR to)
-{
- double *z;
- double *d;
- char *i;
- unsigned int n;
- unsigned int sizeof_i;
- SLang_To_Double_Fun_Type to_double;
-
- (void) to_type;
-
- z = (double *) to;
-
- switch (from_type)
- {
- default:
- if (NULL == (to_double = SLarith_get_to_double_fun (from_type, &sizeof_i)))
- return 0;
- i = (char *) from;
- for (n = 0; n < num; n++)
- {
- *z++ = to_double ((VOID_STAR) i);
- *z++ = 0.0;
-
- i += sizeof_i;
- }
- break;
-
- case SLANG_DOUBLE_TYPE:
- d = (double *) from;
- for (n = 0; n < num; n++)
- {
- *z++ = d[n];
- *z++ = 0.0;
- }
- break;
- }
-
- return 1;
-}
-
-static void complex_destroy (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- SLfree ((char *)*(double **) ptr);
-}
-
-static int complex_push (unsigned char type, VOID_STAR ptr)
-{
- double *z;
-
- (void) type;
- z = *(double **) ptr;
- return SLang_push_complex (z[0], z[1]);
-}
-
-static int complex_pop (unsigned char type, VOID_STAR ptr)
-{
- double *z;
-
- (void) type;
- z = *(double **) ptr;
- return SLang_pop_complex (&z[0], &z[1]);
-}
-
-int _SLinit_slcomplex (void)
-{
- SLang_Class_Type *cl;
- unsigned char *types;
-
- if (NULL == (cl = SLclass_allocate_class ("Complex_Type")))
- return -1;
-
- (void) SLclass_set_destroy_function (cl, complex_destroy);
- (void) SLclass_set_push_function (cl, complex_push);
- (void) SLclass_set_pop_function (cl, complex_pop);
-
- if (-1 == SLclass_register_class (cl, SLANG_COMPLEX_TYPE, 2 * sizeof (double),
- SLANG_CLASS_TYPE_VECTOR))
- return -1;
-
- types = _SLarith_Arith_Types;
- while (*types != SLANG_DOUBLE_TYPE)
- {
- unsigned char t = *types++;
-
- if ((-1 == SLclass_add_binary_op (t, SLANG_COMPLEX_TYPE, generic_complex_binary, complex_binary_result))
- || (-1 == SLclass_add_binary_op (SLANG_COMPLEX_TYPE, t, complex_generic_binary, complex_binary_result))
- || (-1 == (SLclass_add_typecast (t, SLANG_COMPLEX_TYPE, complex_typecast, 1))))
- return -1;
- }
-
- if ((-1 == (SLclass_add_binary_op (SLANG_COMPLEX_TYPE, SLANG_COMPLEX_TYPE, complex_complex_binary, complex_binary_result)))
- || (-1 == (SLclass_add_binary_op (SLANG_COMPLEX_TYPE, SLANG_DOUBLE_TYPE, complex_double_binary, complex_binary_result)))
- || (-1 == (SLclass_add_binary_op (SLANG_DOUBLE_TYPE, SLANG_COMPLEX_TYPE, double_complex_binary, complex_binary_result)))
- || (-1 == (SLclass_add_unary_op (SLANG_COMPLEX_TYPE, complex_unary, complex_unary_result)))
- || (-1 == (SLclass_add_typecast (SLANG_DOUBLE_TYPE, SLANG_COMPLEX_TYPE, complex_typecast, 1))))
- return -1;
-
- return 0;
-}
-
-#endif /* if SLANG_HAS_COMPLEX */
-
diff --git a/mdk-stage1/slang/slcompat.c b/mdk-stage1/slang/slcompat.c
deleted file mode 100644
index 5aa122483..000000000
--- a/mdk-stage1/slang/slcompat.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* These functions are provided for backward compatibility and are obsolete.
- * Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* Compatibility */
-int SLang_init_slunix (void)
-{
- if ((-1 == SLang_init_posix_dir ())
- || (-1 == SLang_init_posix_process ())
- || (-1 == SLdefine_for_ifdef ("__SLUNIX__")))
- return -1;
-
- return 0;
-}
-
-int SLang_init_slfile (void)
-{
- if ((-1 == SLang_init_stdio ())
- || (-1 == SLang_init_posix_dir ())
- || (-1 == SLdefine_for_ifdef("__SLFILE__")))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slcurses.c b/mdk-stage1/slang/slcurses.c
deleted file mode 100644
index f1212afc8..000000000
--- a/mdk-stage1/slang/slcurses.c
+++ /dev/null
@@ -1,972 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <signal.h>
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-#include "slcurses.h"
-
-/* This file is meant to implement a primitive curses implementation in
- * terms of SLsmg calls. The fact is that the interfaces are sufficiently
- * different that a 100% emulation is not possible.
- */
-
-SLcurses_Window_Type *SLcurses_Stdscr;
-int SLcurses_Esc_Delay = 150; /* 0.15 seconds */
-SLtt_Char_Type SLcurses_Acs_Map [128];
-int SLcurses_Is_Endwin = 1;
-int SLcurses_Num_Colors = 8;
-
-static void blank_line (SLsmg_Char_Type *b, unsigned int len, SLsmg_Char_Type color)
-{
- SLsmg_Char_Type *bmax;
-
- bmax = b + len;
- color = SLSMG_BUILD_CHAR(' ', color);
-
- while (b < bmax) *b++ = color;
-}
-
-static int va_mvprintw (SLcurses_Window_Type *w, int r, int c, int do_move,
- char *fmt, va_list ap)
-{
- char buf[1024];
-
- if (do_move) SLcurses_wmove (w, r, c);
-
- (void) _SLvsnprintf (buf, sizeof(buf), fmt, ap);
-
- SLcurses_waddnstr (w, buf, -1);
- return 0;
-}
-
-int SLcurses_mvprintw (int r, int c, char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- va_mvprintw (SLcurses_Stdscr, r, c, 1, fmt, ap);
- va_end(ap);
-
- return 0;
-}
-
-int SLcurses_mvwprintw (SLcurses_Window_Type *w, int r, int c, char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- va_mvprintw (w, r, c, 1, fmt, ap);
- va_end(ap);
-
- return 0;
-}
-
-int SLcurses_wprintw (SLcurses_Window_Type *w, char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- va_mvprintw (w, 0, 0, 0, fmt, ap);
- va_end(ap);
-
- return 0;
-}
-
-int SLcurses_printw (char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- va_mvprintw (SLcurses_Stdscr, 0, 0, 0, fmt, ap);
- va_end(ap);
-
- return 0;
-}
-
-int SLcurses_nil (void)
-{
- return 0;
-}
-
-int SLcurses_has_colors(void)
-{
- return SLtt_Use_Ansi_Colors;
-}
-
-int SLcurses_nodelay (SLcurses_Window_Type *w, int onoff)
-{
- w->delay_off = (onoff ? 0 : -1);
- return 0;
-}
-
-int SLcurses_wgetch (SLcurses_Window_Type *w)
-{
- if (w == NULL)
- return ERR;
-
- SLcurses_wrefresh (w);
-
- if ((w->delay_off == -1) ||
- SLang_input_pending (w->delay_off))
- {
- if (w->use_keypad)
- {
- int ch = SLang_getkey ();
- if (ch == '\033')
- {
- if (0 == SLang_input_pending (ESCDELAY / 100))
- return ch;
- }
- else if (ch == 0xFFFF) return ERR;
- SLang_ungetkey (ch);
- return SLkp_getkey ();
- }
- return SLang_getkey ();
- }
-
- return ERR;
-}
-
-int SLcurses_getch (void)
-{
- return SLcurses_wgetch (SLcurses_Stdscr);
-}
-
-/* This is a super hack. That fact is that SLsmg and curses
- * are incompatible.
- */
-static unsigned char Color_Objects[256];
-
-static unsigned int map_attr_to_object (SLtt_Char_Type attr)
-{
- unsigned int obj;
- SLtt_Char_Type at;
-
- obj = (attr >> 8) & 0xFF;
-
- if (SLtt_Use_Ansi_Colors)
- {
- if (Color_Objects[obj] != 0) return obj;
-
- at = SLtt_get_color_object (obj & 0xF);
-
- if (attr & A_BOLD) at |= SLTT_BOLD_MASK;
- if (attr & A_UNDERLINE) at |= SLTT_ULINE_MASK;
- if (attr & A_REVERSE) at |= SLTT_REV_MASK;
-
- SLtt_set_color_object (obj, at);
-
- Color_Objects[obj] = 1;
- }
- else obj = obj & 0xF0;
-
- return obj;
-
-}
-
-int SLcurses_start_color (void)
-{
- int f, b;
- int obj;
-
- if (SLtt_Use_Ansi_Colors == 0) return -1;
-
- obj = 0;
- for (f = 0; f < 16; f++)
- {
- for (b = 0; b < 16; b++)
- {
- obj++;
- SLtt_set_color_fgbg (obj, f, b);
- }
- }
- return 0;
-}
-
-#ifdef SIGINT
-static void sigint_handler (int sig)
-{
- SLang_reset_tty ();
- SLsmg_reset_smg ();
- exit (sig);
-}
-#endif
-
-/* Values are assumed to be 0, 1, 2. This fact is exploited */
-static int TTY_State;
-
-static int init_tty (int suspend_ok)
-{
- if (-1 == SLang_init_tty (-1, 1, 0))
- return -1;
-
-#ifdef REAL_UNIX_SYSTEM
- if (suspend_ok) SLtty_set_suspend_state (1);
-#endif
- return 0;
-}
-
-int SLcurses_raw (void)
-{
- TTY_State = 1;
- return init_tty (0);
-}
-
-int SLcurses_cbreak (void)
-{
- TTY_State = 2;
- return init_tty (1);
-}
-
-#if defined(SIGTSTP) && defined(SIGSTOP)
-static void sigtstp_handler (int sig)
-{
- sig = errno;
-
- SLsmg_suspend_smg ();
-
- if (TTY_State)
- SLang_reset_tty ();
-
- kill(getpid(),SIGSTOP);
-
- SLsmg_resume_smg ();
-
- if (TTY_State) init_tty (TTY_State - 1);
-
- signal (SIGTSTP, sigtstp_handler);
- errno = sig;
-}
-#endif
-
-SLcurses_Window_Type *SLcurses_initscr (void)
-{
- SLcurses_Is_Endwin = 0;
- SLsmg_Newline_Behavior = SLSMG_NEWLINE_MOVES;
- SLtt_get_terminfo ();
-
-#if !defined(IBMPC_SYSTEM) && !defined(VMS)
- if (-1 == (SLcurses_Num_Colors = SLtt_tgetnum ("Co")))
-#endif
- SLcurses_Num_Colors = 8;
-
- if ((-1 == SLkp_init ())
- || (-1 == SLcurses_cbreak ())
- || (NULL == (SLcurses_Stdscr = SLcurses_newwin (0, 0, 0, 0)))
- || (-1 == SLsmg_init_smg ()))
- {
- SLang_doerror (NULL);
- SLang_exit_error ("SLcurses_initscr: init failed\n");
- return NULL;
- }
-
-#ifdef SIGINT
- signal (SIGINT, sigint_handler);
-#endif
-
-#if defined(SIGTSTP) && defined(SIGSTOP)
- signal (SIGTSTP, sigtstp_handler);
-#endif
-
- SLtt_set_mono (A_BOLD >> 8, NULL, SLTT_BOLD_MASK);
- SLtt_set_mono (A_UNDERLINE >> 8, NULL, SLTT_ULINE_MASK);
- SLtt_set_mono (A_REVERSE >> 8, NULL, SLTT_REV_MASK);
- /* SLtt_set_mono (A_BLINK >> 8, NULL, SLTT_BLINK_MASK); */
- SLtt_set_mono ((A_BOLD|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_BOLD_MASK);
- SLtt_set_mono ((A_REVERSE|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_REV_MASK);
-
- if (SLtt_Has_Alt_Charset)
- {
- SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = SLSMG_ULCORN_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = SLSMG_URCORN_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = SLSMG_LLCORN_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = SLSMG_LRCORN_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = SLSMG_UTEE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = SLSMG_DTEE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = SLSMG_LTEE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = SLSMG_RTEE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = SLSMG_VLINE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = SLSMG_HLINE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = SLSMG_PLUS_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = SLSMG_CKBRD_CHAR | A_ALTCHARSET;
- }
- else
- {
- /* ugly defaults to use on terminals which don't support graphics */
- SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = '|';
- SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = '-';
- SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = '#';
- }
-
- return SLcurses_Stdscr;
-}
-
-int SLcurses_wattrset (SLcurses_Window_Type *w, SLtt_Char_Type ch)
-{
- unsigned int obj;
-
- obj = map_attr_to_object (ch);
- w->color = obj;
- w->attr = ch;
- return 0;
-}
-
-int SLcurses_wattroff (SLcurses_Window_Type *w, SLtt_Char_Type ch)
-{
- if (SLtt_Use_Ansi_Colors)
- return SLcurses_wattrset (w, 0);
-
- w->attr &= ~ch;
- return SLcurses_wattrset (w, w->attr);
-}
-
-int SLcurses_wattron (SLcurses_Window_Type *w, SLtt_Char_Type ch)
-{
- if (SLtt_Use_Ansi_Colors)
- return SLcurses_wattrset (w, ch);
-
- w->attr |= ch;
- return SLcurses_wattrset (w, w->attr);
-}
-
-int SLcurses_delwin (SLcurses_Window_Type *w)
-{
- if (w == NULL) return 0;
- if (w->lines != NULL)
- {
- SLsmg_Char_Type **lines = w->lines;
- if (w->is_subwin == 0)
- {
- unsigned int r, rmax;
-
- rmax = w->nrows;
- for (r = 0; r < rmax; r++)
- {
- SLfree ((char *)lines[r]);
- }
- }
-
- SLfree ((char *)lines);
- }
-
- SLfree ((char *)w);
- if (w == SLcurses_Stdscr)
- SLcurses_Stdscr = NULL;
- return 0;
-}
-
-SLcurses_Window_Type *SLcurses_newwin (unsigned int nrows, unsigned int ncols,
- unsigned int r, unsigned int c)
-{
- SLcurses_Window_Type *win;
- SLsmg_Char_Type **lines;
-
- if (r >= (unsigned int) SLtt_Screen_Rows)
- return NULL;
- if (c >= (unsigned int) SLtt_Screen_Cols)
- return NULL;
-
- if (NULL == (win = (SLcurses_Window_Type *) SLmalloc (sizeof (SLcurses_Window_Type))))
- return NULL;
-
- SLMEMSET ((char *) win, 0, sizeof (SLcurses_Window_Type));
-
- if (nrows == 0)
- nrows = (unsigned int) SLtt_Screen_Rows - r;
- if (ncols == 0)
- ncols = (unsigned int) SLtt_Screen_Cols - c;
-
- lines = (SLsmg_Char_Type **) SLmalloc (nrows * sizeof (SLsmg_Char_Type *));
- if (lines == NULL)
- {
- SLcurses_delwin (win);
- return NULL;
- }
-
- SLMEMSET ((char *) lines, 0, nrows * sizeof (SLsmg_Char_Type *));
-
- win->lines = lines;
- win->scroll_max = win->nrows = nrows;
- win->ncols = ncols;
- win->_begy = r;
- win->_begx = c;
- win->_maxx = (c + ncols) - 1;
- win->_maxy = (r + nrows) - 1;
- win->modified = 1;
- win->delay_off = -1;
-
- for (r = 0; r < nrows; r++)
- {
- SLsmg_Char_Type *b;
-
- b = (SLsmg_Char_Type *) SLmalloc (ncols * sizeof (SLsmg_Char_Type));
- if (b == NULL)
- {
- SLcurses_delwin (win);
- return NULL;
- }
- lines [r] = b;
- blank_line (b, ncols, 0);
- }
-
- return win;
-}
-
-int SLcurses_wmove (SLcurses_Window_Type *win, unsigned int r, unsigned int c)
-{
- if (win == NULL) return -1;
- win->_cury = r;
- win->_curx = c;
- win->modified = 1;
- return 0;
-}
-
-static int do_newline (SLcurses_Window_Type *w)
-{
- w->_curx = 0;
- w->_cury += 1;
- if (w->_cury >= w->scroll_max)
- {
- w->_cury = w->scroll_max - 1;
- if (w->scroll_ok)
- SLcurses_wscrl (w, 1);
- }
-
- return 0;
-}
-
-int SLcurses_waddch (SLcurses_Window_Type *win, SLtt_Char_Type attr)
-{
- SLsmg_Char_Type *b, ch;
- SLsmg_Char_Type color;
-
- if (win == NULL) return -1;
-
- if (win->_cury >= win->nrows)
- {
- /* Curses seems to move current postion to top of window. */
- win->_cury = win->_curx = 0;
- return -1;
- }
-
- win->modified = 1;
-
- ch = SLSMG_EXTRACT_CHAR(attr);
-
- if (attr == ch)
- color = win->color;
- else
- {
- /* hack to pick up the default color for graphics chars */
- if (((attr & A_COLOR) == 0) && ((attr & A_ALTCHARSET) != 0))
- {
- /* FIXME: priority=medium: Use SLSMG_?? instead of << */
- attr |= win->color << 8;
- }
- color = map_attr_to_object (attr);
- }
-
- if (ch < ' ')
- {
- if (ch == '\n')
- {
- SLcurses_wclrtoeol (win);
- return do_newline (win);
- }
-
- if (ch == '\r')
- {
- win->_curx = 0;
- return 0;
- }
-
- if (ch == '\b')
- {
- if (win->_curx > 0)
- win->_curx--;
-
- return 0;
- }
-
- /* HACK HACK!!!! */
- if (ch == '\t') ch = ' ';
- }
-
- if (win->_curx >= win->ncols)
- do_newline (win);
-
- b = win->lines[win->_cury] + win->_curx;
- *b = SLSMG_BUILD_CHAR(ch,color);
- win->_curx++;
-
- return 0;
-}
-
-int SLcurses_wnoutrefresh (SLcurses_Window_Type *w)
-{
- unsigned int len;
- unsigned int r, c;
- unsigned int i, imax;
-
- if (SLcurses_Is_Endwin)
- {
- if (TTY_State) init_tty (TTY_State - 1);
- SLsmg_resume_smg ();
- SLcurses_Is_Endwin = 0;
- }
-
- if (w == NULL)
- {
- SLsmg_refresh ();
- return -1;
- }
-
- if (w->modified == 0)
- return 0;
-
- r = w->_begy;
- c = w->_begx;
-
- len = w->ncols;
- imax = w->nrows;
-
- for (i = 0; i < imax; i++)
- {
- SLsmg_gotorc (r, c);
- SLsmg_write_color_chars (w->lines[i], len);
- r++;
- }
-
- if (w->has_box)
- SLsmg_draw_box(w->_begy, w->_begx, w->nrows, w->ncols);
-
- SLsmg_gotorc (w->_begy + w->_cury, w->_begx + w->_curx);
- w->modified = 0;
- return 0;
-}
-
-int SLcurses_wrefresh (SLcurses_Window_Type *w)
-{
- if (w == NULL)
- return -1;
-
- if (w->modified == 0)
- return 0;
-
- SLcurses_wnoutrefresh (w);
- SLsmg_refresh ();
- return 0;
-}
-
-int SLcurses_wclrtoeol (SLcurses_Window_Type *w)
-{
- SLsmg_Char_Type *b, *bmax;
- SLsmg_Char_Type blank;
-
- if (w == NULL) return -1;
- if (w->_cury >= w->nrows)
- return 0;
-
- w->modified = 1;
-
- blank = SLSMG_BUILD_CHAR(' ',w->color);
-
- b = w->lines[w->_cury];
- bmax = b + w->ncols;
- b += w->_curx;
-
- while (b < bmax) *b++ = blank;
- return 0;
-}
-
-int SLcurses_wclrtobot (SLcurses_Window_Type *w)
-{
- SLsmg_Char_Type *b, *bmax;
- SLsmg_Char_Type blank;
- unsigned int r;
-
- if (w == NULL) return -1;
-
- w->modified = 1;
- blank = SLSMG_BUILD_CHAR(' ',w->color);
- SLcurses_wclrtoeol (w);
- for (r = w->_cury + 1; r < w->nrows; r++)
- {
- b = w->lines [r];
- bmax = b + w->ncols;
-
- while (b < bmax) *b++ = blank;
- }
-
- return 0;
-}
-
-int SLcurses_wscrl (SLcurses_Window_Type *w, int n)
-{
- SLsmg_Char_Type **lines;
- unsigned int r, rmax, rmin, ncols;
- SLsmg_Char_Type color;
-
- if ((w == NULL) || (w->scroll_ok == 0))
- return -1;
-
- w->modified = 1;
-#if 0
- if (w->is_subwin)
- {
- SLang_reset_tty ();
- SLsmg_reset_smg ();
- fprintf (stderr, "\rAttempt to scroll a subwindow\n");
- exit (1);
- }
-#endif
-
- color = w->color;
- ncols = w->ncols;
- lines = w->lines;
- rmax = w->scroll_max;
- rmin = w->scroll_min;
- if (rmax > w->nrows)
- rmax = w->nrows;
- if (rmin >= rmax)
- return 0;
-
- while (n > 0)
- {
- for (r = rmin + 1; r < rmax; r++)
- {
- /* lines[r - 1] = lines[r]; */
- memcpy ((char *)lines[r - 1], (char *)lines[r],
- sizeof (SLsmg_Char_Type) * ncols);
- }
- blank_line (lines[rmax - 1], ncols, color);
- n--;
- }
-
- rmax--;
- while (n < 0)
- {
- for (r = rmax; r > rmin; r--)
- {
- memcpy ((char *)lines[r], (char *)lines[r - 1],
- sizeof (SLsmg_Char_Type) * ncols);
- }
- blank_line (lines[rmin], ncols, color);
- n++;
- }
-
- /* wmove (w, w->nrows - 1, 0); */
- /* wclrtobot (w); */
- return 0;
-}
-
-/* Note: if len is < 0, entire string will be used.
- */
-int SLcurses_waddnstr (SLcurses_Window_Type *w, char *str, int len)
-{
- SLsmg_Char_Type *b;
- SLsmg_Char_Type color;
- unsigned char ch;
- unsigned int nrows, ncols, crow, ccol;
-
- if ((w == NULL)
- || (str == NULL))
- return -1;
-
- w->modified = 1;
- nrows = w->nrows;
- ncols = w->ncols;
- crow = w->_cury;
- ccol = w->_curx;
- color = w->color;
-
- if (w->scroll_max <= nrows)
- nrows = w->scroll_max;
-
- if (crow >= nrows)
- crow = 0; /* wrap back to top */
-
- b = w->lines [crow] + ccol;
-
- while (len && ((ch = (unsigned char) *str++) != 0))
- {
- len--;
-
- if (ch == '\n')
- {
- w->_cury = crow;
- w->_curx = ccol;
- SLcurses_wclrtoeol (w);
- do_newline (w);
- crow = w->_cury;
- ccol = w->_curx;
- b = w->lines[crow];
- continue;
- }
-
- if (ccol >= ncols)
- {
- ccol = 0;
- crow++;
- if (crow >= nrows)
- {
- w->_curx = 0;
- w->_cury = crow;
- do_newline (w);
- crow = w->_cury;
- ccol = w->_curx;
- }
-
- b = w->lines [crow];
- }
-
- if (ch == '\t')
- {
- unsigned int n = ccol;
- n += SLsmg_Tab_Width;
- n = SLsmg_Tab_Width - (n % SLsmg_Tab_Width);
- if (ccol + n > ncols) n = ncols - len;
- ccol += n;
- while (n--)
- *b++ = SLSMG_BUILD_CHAR(' ',color);
- continue;
- }
-
- *b++ = SLSMG_BUILD_CHAR(ch, color);
- ccol++;
- }
-
- w->_curx = ccol;
- w->_cury = crow;
-
- return 0;
-}
-
-/* This routine IS NOT CORRECT. It needs to compute the proper overlap
- * and copy accordingly. Here, I just assume windows are same size.
- */
-#if 0
-int SLcurses_overlay (SLcurses_Window_Type *swin, SLcurses_Window_Type *dwin)
-{
- SLsmg_Char_Type *s, *smax, *d, *dmax;
-
- if ((swin == NULL) || (dwin == NULL))
- return -1;
-
- s = swin->buf;
- smax = swin->bufmax;
- d = dwin->buf;
- dmax = dwin->bufmax;
-
- while ((s < smax) && (d < dmax))
- {
- SLsmg_Char_Type ch = *s++;
- if (SLSMG_EXTRACT_CHAR(ch) != ' ')
- *d = ch;
- d++;
- }
-
- return -1; /* not implemented */
-}
-
-#endif
-
-SLcurses_Window_Type *SLcurses_subwin (SLcurses_Window_Type *orig,
- unsigned int nlines, unsigned int ncols,
- unsigned int begin_y, unsigned int begin_x)
-{
- SLcurses_Window_Type *sw;
- int r, c;
- unsigned int i;
-
- if (orig == NULL)
- return NULL;
-
- sw = (SLcurses_Window_Type *) SLmalloc (sizeof (SLcurses_Window_Type));
- if (sw == NULL)
- return NULL;
-
- SLMEMSET ((char *)sw, 0, sizeof (SLcurses_Window_Type));
-#if 1
- r = begin_y - orig->_begy;
-#else
- r = 1 + ((int)orig->nrows - (int)nlines) / 2;
-#endif
- if (r < 0) r = 0;
- if (r + nlines > orig->nrows) nlines = orig->nrows - r;
-
- c = ((int)orig->ncols - (int)ncols) / 2;
- if (c < 0) c = 0;
- if (c + ncols > orig->ncols) ncols = orig->ncols - c;
-
- sw->scroll_min = 0;
- sw->scroll_max = sw->nrows = nlines;
- sw->ncols = ncols;
- sw->_begy = begin_y;
- sw->_begx = begin_x;
- sw->_maxx = (begin_x + ncols) - 1;
- sw->_maxy = (begin_y + nlines) - 1;
-
- sw->lines = (SLsmg_Char_Type **) SLmalloc (nlines * sizeof (SLsmg_Char_Type *));
- if (sw->lines == NULL)
- {
- SLcurses_delwin (sw);
- return NULL;
- }
-
- for (i = 0; i < nlines; i++)
- {
- sw->lines [i] = orig->lines [r + i] + c;
- }
-
- sw->is_subwin = 1;
- return sw;
-}
-
-int SLcurses_wclear (SLcurses_Window_Type *w)
-{
- unsigned int i;
-
- if (w != NULL) w->modified = 1;
- for (i=0; i < w->nrows; i++)
- blank_line (w->lines[i], w->ncols, w->color);
- return 0;
-}
-
-int SLcurses_wdelch (SLcurses_Window_Type *w)
-{
- SLsmg_Char_Type *p, *p1, *pmax;
-
- p = w->lines[w->_cury];
- pmax = p + w->ncols;
- p += w->_curx;
- p1 = p + 1;
-
- while (p1 < pmax)
- {
- *p = *p1;
- p = p1;
- p1++;
- }
-
- if (p < pmax)
- *p = SLSMG_BUILD_CHAR(' ',w->color);
-
- w->modified = 1;
- return 0;
-}
-
-int SLcurses_winsch (SLcurses_Window_Type *w, int ch)
-{
- SLsmg_Char_Type *p, *p1, *pmax;
-
- p = w->lines[w->_cury];
- pmax = p + w->ncols;
- p += w->_curx;
- p1 = pmax - 1;
-
- while (pmax > p)
- {
- *pmax = *p1;
- pmax = p1;
- p1--;
- }
-
- if (p < pmax)
- *p = SLSMG_BUILD_CHAR(ch, w->color);
-
- w->modified = 1;
- return 0;
-}
-
-int SLcurses_endwin (void)
-{
- SLcurses_Is_Endwin = 1;
- SLsmg_suspend_smg ();
- SLang_reset_tty ();
- return 0;
-}
-
-#if 0
-int SLcurses_mvwscanw (SLcurses_Window_Type *w, unsigned int r, unsigned int c,
- char *fmt, ...)
-{
-#if HAVE_VFSCANF
- int ret;
- va_list ap;
-
- SLcurses_wmove (w, r, c);
- SLcurses_wrefresh (w);
-
- va_start(ap, fmt);
- ret = vfscanf (stdin, fmt, ap);
- va_end(ap);
- return ret;
-#else
- return 0;
-#endif
-}
-
-int SLcurses_wscanw (SLcurses_Window_Type *w, char *fmt, ...)
-{
-#if HAVE_VFSCANF
- va_list ap;
- int ret;
-
- SLcurses_wrefresh (w);
-
- va_start(ap, fmt);
- ret = vfscanf (stdin, fmt, ap);
- va_end(ap);
-
- return ret;
-#else
- return 0;
-#endif
-}
-
-int SLcurses_scanw (char *fmt, ...)
-{
-#ifdef HAVE_VFSCANF
- va_list ap;
- int ret;
-
- SLcurses_wrefresh (SLcurses_Stdscr);
-
- va_start(ap, fmt);
- ret = vfscanf (stdin, fmt, ap);
- va_end(ap);
-
- return ret;
-#else
- return 0;
-#endif
-}
-#endif
-
-int SLcurses_clearok (SLcurses_Window_Type *w, int bf)
-{
- if (bf)
- {
- SLsmg_cls ();
- w->modified = 1;
- }
- return 0;
-}
diff --git a/mdk-stage1/slang/slcurses.h b/mdk-stage1/slang/slcurses.h
deleted file mode 100644
index fa082304f..000000000
--- a/mdk-stage1/slang/slcurses.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include <stdio.h>
-
-#ifndef SLANG_VERSION
-# include <slang.h>
-#endif
-
-/* This is a temporary hack until lynx is fixed to not include this file. */
-#ifndef LYCURSES_H
-
-typedef struct
-{
- unsigned int _begy, _begx, _maxy, _maxx;
- unsigned int _curx, _cury;
- unsigned int nrows, ncols;
- unsigned int scroll_min, scroll_max;
- SLsmg_Char_Type **lines;
- SLsmg_Char_Type color;
- int is_subwin;
- SLtt_Char_Type attr;
- int delay_off;
- int scroll_ok;
- int modified;
- int has_box;
- int use_keypad;
-}
-SLcurses_Window_Type;
-
-extern int SLcurses_wclrtobot (SLcurses_Window_Type *);
-extern int SLcurses_wscrl (SLcurses_Window_Type *, int);
-extern int SLcurses_wrefresh (SLcurses_Window_Type *);
-extern int SLcurses_delwin (SLcurses_Window_Type *);
-extern int SLcurses_wprintw (SLcurses_Window_Type *, char *, ...);
-extern SLcurses_Window_Type *SLcurses_newwin (unsigned int, unsigned int,
- unsigned int, unsigned int);
-
-extern SLcurses_Window_Type *SLcurses_subwin (SLcurses_Window_Type *,
- unsigned int, unsigned int,
- unsigned int, unsigned int);
-
-extern int SLcurses_wnoutrefresh (SLcurses_Window_Type *);
-extern int SLcurses_wclrtoeol (SLcurses_Window_Type *);
-
-extern int SLcurses_wmove (SLcurses_Window_Type *, unsigned int, unsigned int);
-extern int SLcurses_waddch (SLcurses_Window_Type *, SLtt_Char_Type);
-extern int SLcurses_waddnstr (SLcurses_Window_Type *, char *, int);
-
-#define waddnstr SLcurses_waddnstr
-#define waddch SLcurses_waddch
-#define waddstr(w,s) waddnstr((w),(s),-1)
-#define addstr(x) waddstr(stdscr, (x))
-#define addnstr(s,n) waddnstr(stdscr,(s),(n))
-#define addch(ch) waddch(stdscr,(ch))
-
-#define mvwaddnstr(w,y,x,s,n) \
- (-1 == wmove((w),(y),(x)) ? -1 : waddnstr((w),(s),(n)))
-#define mvwaddstr(w,y,x,s) \
- (-1 == wmove((w),(y),(x)) ? -1 : waddnstr((w),(s), -1))
-#define mvaddnstr(y,x,s,n) mvwaddnstr(stdscr,(y),(x),(s),(n))
-#define mvaddstr(y,x,s) mvwaddstr(stdscr,(y),(x),(s))
-#define mvwaddch(w,y,x,c) \
- ((-1 == wmove((w),(y),(x))) ? -1 : waddch((w),(c)))
-#define mvaddch(y,x,c) mvwaddch(stdscr,(y),(x),(c))
-
-extern int SLcurses_wclear (SLcurses_Window_Type *w);
-extern int SLcurses_printw (char *, ...);
-
-#if 0
-/* Why are these functions part of curses??? */
-extern int SLcurses_mvwscanw (SLcurses_Window_Type *, unsigned int, unsigned int,
- char *, ...);
-extern int SLcurses_wscanw (SLcurses_Window_Type *, char *, ...);
-extern int SLcurses_scanw (char *, ...);
-#define mvwscanw SLcurses_mvwscanw
-#define wscanw SLcurses_wscanw
-#define scanw SLcurses_scanw
-#endif
-
-extern SLcurses_Window_Type *SLcurses_Stdscr;
-#define WINDOW SLcurses_Window_Type
-#define stdscr SLcurses_Stdscr
-
-#define subwin SLcurses_subwin
-#define wclrtobot SLcurses_wclrtobot
-#define wscrl SLcurses_wscrl
-#define scrl(n) wscrl(stdscr,(n))
-#define scroll(w) wscrl((w),1)
-#define wrefresh SLcurses_wrefresh
-#define delwin SLcurses_delwin
-#define wmove SLcurses_wmove
-#define newwin SLcurses_newwin
-#define wnoutrefresh SLcurses_wnoutrefresh
-#define werase(w) SLcurses_wmove((w),0,0); SLcurses_wclrtobot(w)
-#define wclear(w) SLcurses_wmove((w),0,0); SLcurses_wclrtobot(w)
-#define wprintw SLcurses_wprintw
-#define mvwprintw SLcurses_mvwprintw
-
-#define winch(w) \
- ((((w)->_cury < (w)->nrows) && ((w)->_curx < (w)->ncols)) \
- ? ((w)->lines[(w)->_cury][(w)->_curx]) : 0)
-
-#define inch() winch(stdscr)
-#define mvwinch(w,x,y) \
- ((-1 != wmove((w),(x),(y))) ? winch(w) : (-1))
-#define doupdate SLsmg_refresh
-
-#define mvwin(w,a,b) ((w)->_begy = (a), (w)->_begx = (b))
-
-extern int SLcurses_mvprintw (int, int, char *, ...);
-extern int SLcurses_mvwprintw (SLcurses_Window_Type *, int, int, char *, ...);
-extern int SLcurses_has_colors(void);
-extern int SLcurses_nil (void);
-extern int SLcurses_wgetch (SLcurses_Window_Type *);
-extern int SLcurses_getch (void);
-
-extern int SLcurses_wattrset (SLcurses_Window_Type *, SLtt_Char_Type);
-extern int SLcurses_wattron (SLcurses_Window_Type *, SLtt_Char_Type);
-extern int SLcurses_wattroff (SLcurses_Window_Type *, SLtt_Char_Type);
-#define attrset(x) SLcurses_wattrset(stdscr, (x))
-#define attron(x) SLcurses_wattron(stdscr, (x))
-#define attroff(x) SLcurses_wattroff(stdscr, (x))
-#define wattrset(w, x) SLcurses_wattrset((w), (x))
-#define wattron(w, x) SLcurses_wattron((w), (x))
-#define wattroff(w, x) SLcurses_wattroff((w), (x))
-#define wattr_get(w) ((w)->color << 8)
-#define attr_get() wattr_get(stdscr)
-
-#define COLOR_PAIR(x) ((x) << 8)
-
-extern int SLcurses_start_color (void);
-#define start_color SLcurses_start_color
-
-#define ERR 0xFFFF
-#define wgetch SLcurses_wgetch
-#define getch SLcurses_getch
-
-extern int SLcurses_nodelay (SLcurses_Window_Type *, int);
-extern SLcurses_Window_Type *SLcurses_initscr (void);
-#define initscr SLcurses_initscr
-
-extern int SLcurses_cbreak (void);
-extern int SLcurses_raw (void);
-#define cbreak SLcurses_cbreak
-#define crmode SLcurses_cbreak
-#define raw SLcurses_raw
-#define noraw SLang_reset_tty
-#define nocbreak SLang_reset_tty
-
-#define mvprintw SLcurses_mvprintw
-#define has_colors SLcurses_has_colors
-#define nodelay SLcurses_nodelay
-
-#define ungetch SLang_ungetkey
-
-#define COLS SLtt_Screen_Cols
-#define LINES SLtt_Screen_Rows
-
-#define move(x,y) SLcurses_wmove(stdscr, (x), (y))
-#define wclrtoeol SLcurses_wclrtoeol
-#define clrtoeol() SLcurses_wclrtoeol(stdscr)
-#define clrtobot() SLcurses_wclrtobot(stdscr)
-
-#define printw SLcurses_printw
-#define mvprintw SLcurses_mvprintw
-#define wstandout(w) SLcurses_wattrset((w),A_STANDOUT)
-#define wstandend(w) SLcurses_wattrset((w),A_NORMAL)
-#define standout() SLcurses_wattrset(stdscr,A_STANDOUT)
-#define standend() SLcurses_wattrset(stdscr,A_NORMAL)
-
-#define refresh() SLcurses_wrefresh(stdscr)
-#define clear() SLcurses_wclear(stdscr)
-#define erase() werase(stdscr)
-#define touchline SLsmg_touch_lines
-#define resetterm SLang_reset_tty
-
-extern int SLcurses_endwin (void);
-#define endwin SLcurses_endwin
-extern int SLcurses_Is_Endwin;
-#define isendwin() SLcurses_Is_Endwin
-
-#define keypad(w,x) ((w)->use_keypad = (x))
-
-#define KEY_MIN SL_KEY_UP
-#define KEY_DOWN SL_KEY_DOWN
-#define KEY_UP SL_KEY_UP
-#define KEY_LEFT SL_KEY_LEFT
-#define KEY_RIGHT SL_KEY_RIGHT
-#define KEY_A1 SL_KEY_A1
-#define KEY_B1 SL_KEY_B1
-#define KEY_C1 SL_KEY_C1
-#define KEY_A2 SL_KEY_A2
-#define KEY_B2 SL_KEY_B2
-#define KEY_C2 SL_KEY_C2
-#define KEY_A3 SL_KEY_A3
-#define KEY_B3 SL_KEY_B3
-#define KEY_C3 SL_KEY_C3
-#define KEY_REDO SL_KEY_REDO
-#define KEY_UNDO SL_KEY_UNDO
-#define KEY_BACKSPACE SL_KEY_BACKSPACE
-#define KEY_PPAGE SL_KEY_PPAGE
-#define KEY_NPAGE SL_KEY_NPAGE
-#define KEY_HOME SL_KEY_HOME
-#define KEY_END SL_KEY_END
-#define KEY_F0 SL_KEY_F0
-#define KEY_F SL_KEY_F
-#define KEY_ENTER SL_KEY_ENTER
-#define KEY_MAX 0xFFFF
-
-/* Ugly Hacks that may not work */
-#define flushinp SLcurses_nil
-#define winsertln(w) \
- ((w)->scroll_min=(w)->_cury, \
- (w)->scroll_max=(w)->nrows, \
- wscrl((w), -1))
-
-extern SLtt_Char_Type SLcurses_Acs_Map [128];
-#define acs_map SLcurses_Acs_Map
-
-#define ACS_ULCORNER (acs_map[SLSMG_ULCORN_CHAR])
-#define ACS_URCORNER (acs_map[SLSMG_URCORN_CHAR])
-#define ACS_LRCORNER (acs_map[SLSMG_LRCORN_CHAR])
-#define ACS_LLCORNER (acs_map[SLSMG_LLCORN_CHAR])
-#define ACS_TTEE (acs_map[SLSMG_UTEE_CHAR])
-#define ACS_LTEE (acs_map[SLSMG_LTEE_CHAR])
-#define ACS_RTEE (acs_map[SLSMG_RTEE_CHAR])
-#define ACS_BTEE (acs_map[SLSMG_DTEE_CHAR])
-#define ACS_PLUS (acs_map[SLSMG_PLUS_CHAR])
-#define ACS_VLINE (acs_map[SLSMG_VLINE_CHAR])
-#define ACS_HLINE (acs_map[SLSMG_HLINE_CHAR])
-#define ACS_S1 '-'
-#define ACS_S9 '-'
-#define ACS_DIAMOND '&'
-#define ACS_CKBOARD (acs_map[SLSMG_CKBRD_CHAR])
-#define ACS_DEGREE 'o'
-#define ACS_PLMINUS '+'
-#define ACS_BULLET '*'
-#define ACS_LARROW '<'
-#define ACS_RARROW '>'
-#define ACS_DARROW 'v'
-#define ACS_UARROW '^'
-#define ACS_BOARD '#'
-#define ACS_LANTERN '#'
-#define ACS_BLOCK '#'
-
-#if 1
-#define hline(x,y) SLcurses_nil ()
-#define vline(x,y) SLcurses_nil ()
-#endif
-
-#define A_CHARTEXT 0x00FF
-#define A_NORMAL 0
-#define A_BOLD 0x1000
-#define A_REVERSE 0x2000
-#define A_STANDOUT A_REVERSE
-#define A_UNDERLINE 0x4000
-#define A_BLINK 0
-#define A_COLOR 0x0700
-#define A_ALTCHARSET 0x8000
-#define A_DIM 0
-#define A_PROTECT 0
-#define A_INVIS 0
-
-#define COLOR_BLACK SLSMG_COLOR_BLACK
-#define COLOR_RED SLSMG_COLOR_RED
-#define COLOR_GREEN SLSMG_COLOR_GREEN
-#define COLOR_YELLOW SLSMG_COLOR_BROWN
-#define COLOR_BLUE SLSMG_COLOR_BLUE
-#define COLOR_MAGENTA SLSMG_COLOR_MAGENTA
-#define COLOR_CYAN SLSMG_COLOR_CYAN
-#define COLOR_WHITE SLSMG_COLOR_LGRAY
-
-extern int SLcurses_Num_Colors;
-#define COLORS SLcurses_Num_Colors
-#define COLOR_PAIRS (SLcurses_Num_Colors*SLcurses_Num_Colors)
-
-#define init_pair(_x,_f,_b) \
- SLtt_set_color_object((_x), ((_f) == (_b) ? 0x0700 : ((_f) | ((_b) << 8)) << 8))
-
-#define scrollok(a,b) ((a)->scroll_ok = (b))
-#define getyx(a,y,x) (y=(a)->_cury, x=(a)->_curx)
-#define getmaxyx(a,y,x) (y=(a)->nrows, x=(a)->ncols)
-#define napms(x) usleep(1000 * (x))
-typedef SLtt_Char_Type chtype;
-#define beep SLtt_beep
-#define curs_set(x) SLtt_set_cursor_visibility(x)
-#define touchwin(x) SLsmg_touch_lines((x)->_begy, (x)->nrows)
-#define flash SLtt_beep
-
-#define wsetscrreg(w,a,b) ((w)->scroll_min = (a), (w)->scroll_max = (b))
-
-#define wtimeout(a,b) (a)->delay_off = ((b >= 0) ? (b) / 100 : -1)
-#define timeout(a) wtimeout(stdscr, a)
-extern int SLcurses_wdelch (SLcurses_Window_Type *);
-#define wdelch SLcurses_wdelch
-#define delch() wdelch(stdscr)
-
-extern int SLcurses_winsch (SLcurses_Window_Type *, int);
-#define winsch SLcurses_winsch
-
-extern int SLcurses_Esc_Delay;/* ESC expire time in milliseconds (ncurses compatible) */
-#define ESCDELAY SLcurses_Esc_Delay
-
-extern int SLcurses_clearok (SLcurses_Window_Type *, int);
-#define clearok SLcurses_clearok
-
-/* Functions that have not been implemented. */
-#define copywin(w,v,a,b,c,d,e,f,g) SLcurses_nil()
-#define wdeleteln(win) SLcurses_nil()
-#define resetty SLcurses_nil
-#define savetty SLcurses_nil
-#define overlay(u,v) SLcurses_nil()
-
-/* These functions do nothing */
-#define savetty SLcurses_nil
-#define nonl SLcurses_nil
-#define echo SLcurses_nil
-#define noecho SLcurses_nil
-#define saveterm SLcurses_nil
-#define box(w,y,z) ((w)->has_box = 1, (w)->modified = 1)
-#define leaveok(a,b) SLcurses_nil()
-#define nl() SLcurses_nil()
-#define trace(x) SLcurses_nil()
-#define tigetstr(x) NULL
-
-/* These have no place in C */
-#define TRUE 1
-#define FALSE 0
-#define bool int
-
-/* Lynx compatability */
-#else
-
-#define stdscr NULL
-#define COLS SLtt_Screen_Cols
-#define LINES SLtt_Screen_Rows
-#define move SLsmg_gotorc
-#define addstr SLsmg_write_string
-#define clear SLsmg_cls
-#define standout SLsmg_reverse_video
-#define standend SLsmg_normal_video
-#define clrtoeol SLsmg_erase_eol
-#define scrollok(a,b) SLsmg_Newline_Moves = ((b) ? 1 : -1)
-#define addch SLsmg_write_char
-#define echo()
-#define printw SLsmg_printf
-#define endwin SLsmg_reset_smg(),SLang_reset_tty
-
-#endif
diff --git a/mdk-stage1/slang/sldisply.c b/mdk-stage1/slang/sldisply.c
deleted file mode 100644
index 1e1161774..000000000
--- a/mdk-stage1/slang/sldisply.c
+++ /dev/null
@@ -1,2596 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <time.h>
-#include <ctype.h>
-
-#if !defined(VMS) || (__VMS_VER >= 70000000)
-# include <sys/time.h>
-# ifdef __QNX__
-# include <sys/select.h>
-# endif
-# include <sys/types.h>
-#endif
-
-#ifdef __BEOS__
-/* Prototype for select */
-# include <net/socket.h>
-#endif
-
-#ifdef HAVE_TERMIOS_H
-# include <termios.h>
-#endif
-
-#ifdef VMS
-# include <unixlib.h>
-# include <unixio.h>
-# include <dvidef.h>
-# include <descrip.h>
-# include <lib$routines.h>
-# include <starlet.h>
-#else
-# if !defined(sun)
-# include <sys/ioctl.h>
-# endif
-#endif
-
-#ifdef SYSV
-# include <sys/termio.h>
-# include <sys/stream.h>
-# include <sys/ptem.h>
-# include <sys/tty.h>
-#endif
-
-#if defined (_AIX) && !defined (FD_SET)
-# include <sys/select.h> /* for FD_ISSET, FD_SET, FD_ZERO */
-#endif
-
-#include <errno.h>
-
-#if defined(__DECC) && defined(VMS)
-/* These get prototypes for write an sleep */
-# include <unixio.h>
-#endif
-#include <signal.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-/* Colors: These definitions are used for the display. However, the
- * application only uses object handles which get mapped to this
- * internal representation. The mapping is performed by the Color_Map
- * structure below. */
-
-#define CHAR_MASK 0x000000FF
-#define FG_MASK 0x0000FF00
-#define BG_MASK 0x00FF0000
-#define ATTR_MASK 0x1F000000
-#define BGALL_MASK 0x0FFF0000
-
-/* The 0x10000000 bit represents the alternate character set. BGALL_MASK does
- * not include this attribute.
- */
-
-#define GET_FG(color) ((color & FG_MASK) >> 8)
-#define GET_BG(color) ((color & BG_MASK) >> 16)
-#define MAKE_COLOR(fg, bg) (((fg) | ((bg) << 8)) << 8)
-
-int SLtt_Screen_Cols;
-int SLtt_Screen_Rows;
-int SLtt_Term_Cannot_Insert;
-int SLtt_Term_Cannot_Scroll;
-int SLtt_Use_Ansi_Colors;
-int SLtt_Blink_Mode = 1;
-int SLtt_Use_Blink_For_ACS = 0;
-int SLtt_Newline_Ok = 0;
-int SLtt_Has_Alt_Charset = 0;
-int SLtt_Force_Keypad_Init = 0;
-
-void (*_SLtt_color_changed_hook)(void);
-
-#if SLTT_HAS_NON_BCE_SUPPORT
-static int Bce_Color_Offset = 0;
-#endif
-static int Can_Background_Color_Erase = 1;
-
-/* -1 means unknown */
-int SLtt_Has_Status_Line = -1; /* hs */
-int SLang_TT_Write_FD = -1;
-
-static int Automatic_Margins;
-/* static int No_Move_In_Standout; */
-static int Worthless_Highlight;
-#define HP_GLITCH_CODE
-#ifdef HP_GLITCH_CODE
-/* This glitch is exclusive to HP term. Basically it means that to clear
- * attributes, one has to erase to the end of the line.
- */
-static int Has_HP_Glitch;
-#endif
-
-static char *Reset_Color_String;
-static int Is_Color_Terminal = 0;
-
-static int Linux_Console;
-
-/* It is crucial that JMAX_COLORS must be less than 128 since the high bit
- * is used to indicate a character from the ACS (alt char set). The exception
- * to this rule is if SLtt_Use_Blink_For_ACS is true. This means that of
- * the highbit is set, we interpret that as a blink character. This is
- * exploited by DOSemu.
- */
-#define JMAX_COLORS 256
-#define JNORMAL_COLOR 0
-
-typedef struct
-{
- SLtt_Char_Type fgbg;
- SLtt_Char_Type mono;
- char *custom_esc;
-}
-Ansi_Color_Type;
-
-#define RGB1(r, g, b) ((r) | ((g) << 1) | ((b) << 2))
-#define RGB(r, g, b, br, bg, bb) ((RGB1(r, g, b) << 8) | (RGB1(br, bg, bb) << 16))
-
-static Ansi_Color_Type Ansi_Color_Map[JMAX_COLORS] =
-{
- {RGB(1, 1, 1, 0, 0, 0), 0x00000000, NULL}, /* white/black */
- {RGB(0, 1, 0, 0, 0, 0), SLTT_REV_MASK, NULL}, /* green/black */
- {RGB(1, 0, 1, 0, 0, 0), SLTT_REV_MASK, NULL}, /* magenta/black */
- {RGB(0, 1, 1, 0, 0, 0), SLTT_REV_MASK, NULL}, /* cyan/black */
- {RGB(1, 0, 0, 0, 0, 0), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 0, 0, 1), SLTT_REV_MASK, NULL},
- {RGB(1, 0, 0, 0, 0, 1), SLTT_REV_MASK, NULL},
- {RGB(1, 0, 0, 0, 1, 0), SLTT_REV_MASK, NULL},
- {RGB(0, 0, 1, 1, 0, 0), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 0, 0), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 1, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(1, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(1, 0, 1, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 0, 0, 0, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL}
-};
-
-static char *Color_Fg_Str = "\033[3%dm";
-static char *Color_Bg_Str = "\033[4%dm";
-static char *Default_Color_Fg_Str = "\033[39m";
-static char *Default_Color_Bg_Str = "\033[49m";
-
-static int Max_Terminfo_Colors = 8; /* termcap Co */
-
-char *SLtt_Graphics_Char_Pairs; /* ac termcap string -- def is vt100 */
-
-/* 1 if terminal lacks the ability to go into insert mode or into delete
- mode. Currently controlled by S-Lang but later perhaps termcap. */
-
-static char *UnderLine_Vid_Str;
-static char *Blink_Vid_Str;
-static char *Bold_Vid_Str;
-static char *Ins_Mode_Str; /* = "\033[4h"; */ /* ins mode (im) */
-static char *Eins_Mode_Str; /* = "\033[4l"; */ /* end ins mode (ei) */
-static char *Scroll_R_Str; /* = "\033[%d;%dr"; */ /* scroll region */
-static char *Cls_Str; /* = "\033[2J\033[H"; */ /* cl termcap STR for ansi terminals */
-static char *Rev_Vid_Str; /* = "\033[7m"; */ /* mr,so termcap string */
-static char *Norm_Vid_Str; /* = "\033[m"; */ /* me,se termcap string */
-static char *Del_Eol_Str; /* = "\033[K"; */ /* ce */
-static char *Del_Bol_Str; /* = "\033[1K"; */ /* cb */
-static char *Del_Char_Str; /* = "\033[P"; */ /* dc */
-static char *Del_N_Lines_Str; /* = "\033[%dM"; */ /* DL */
-static char *Add_N_Lines_Str; /* = "\033[%dL"; */ /* AL */
-static char *Rev_Scroll_Str;
-static char *Curs_Up_Str;
-static char *Curs_F_Str; /* RI termcap string */
-static char *Cursor_Visible_Str; /* ve termcap string */
-static char *Cursor_Invisible_Str; /* vi termcap string */
-#if 0
-static char *Start_Mouse_Rpt_Str; /* Start mouse reporting mode */
-static char *End_Mouse_Rpt_Str; /* End mouse reporting mode */
-#endif
-static char *Start_Alt_Chars_Str; /* as */
-static char *End_Alt_Chars_Str; /* ae */
-static char *Enable_Alt_Char_Set; /* eA */
-
-static char *Term_Init_Str;
-static char *Keypad_Init_Str;
-static char *Term_Reset_Str;
-static char *Keypad_Reset_Str;
-
-/* status line functions */
-static char *Disable_Status_line_Str; /* ds */
-static char *Return_From_Status_Line_Str; /* fs */
-static char *Goto_Status_Line_Str; /* ts */
-static int Num_Status_Line_Columns; /* ws */
-/* static int Status_Line_Esc_Ok; */ /* es */
-
-/* static int Len_Curs_F_Str = 5; */
-
-/* cm string has %i%d since termcap numbers columns from 0 */
-/* char *CURS_POS_STR = "\033[%d;%df"; ansi-- hor and vert pos */
-static char *Curs_Pos_Str; /* = "\033[%i%d;%dH";*/ /* cm termcap string */
-
-/* scrolling region */
-static int Scroll_r1 = 0, Scroll_r2 = 23;
-static int Cursor_r, Cursor_c; /* 0 based */
-
-/* current attributes --- initialized to impossible value */
-static SLtt_Char_Type Current_Fgbg = 0xFFFFFFFFU;
-
-static int Cursor_Set; /* 1 if cursor position known, 0
- * if not. -1 if only row is known
- */
-
-#define MAX_OUTPUT_BUFFER_SIZE 4096
-
-static unsigned char Output_Buffer[MAX_OUTPUT_BUFFER_SIZE];
-static unsigned char *Output_Bufferp = Output_Buffer;
-
-unsigned long SLtt_Num_Chars_Output;
-
-int _SLusleep (unsigned long usecs)
-{
-#if !defined(VMS) || (__VMS_VER >= 70000000)
- struct timeval tv;
- tv.tv_sec = usecs / 1000000;
- tv.tv_usec = usecs % 1000000;
- return select(0, NULL, NULL, NULL, &tv);
-#else
- return 0;
-#endif
-}
-
-int SLtt_flush_output (void)
-{
- int nwrite = 0;
- unsigned int total;
- int n = (int) (Output_Bufferp - Output_Buffer);
-
- SLtt_Num_Chars_Output += n;
-
- total = 0;
- while (n > 0)
- {
- nwrite = write (SLang_TT_Write_FD, (char *) Output_Buffer + total, n);
- if (nwrite == -1)
- {
- nwrite = 0;
-#ifdef EAGAIN
- if (errno == EAGAIN)
- {
- _SLusleep (100000); /* 1/10 sec */
- continue;
- }
-#endif
-#ifdef EWOULDBLOCK
- if (errno == EWOULDBLOCK)
- {
- _SLusleep (100000);
- continue;
- }
-#endif
-#ifdef EINTR
- if (errno == EINTR) continue;
-#endif
- break;
- }
- n -= nwrite;
- total += nwrite;
- }
- Output_Bufferp = Output_Buffer;
- return n;
-}
-
-int SLtt_Baud_Rate;
-static void tt_write(char *str, unsigned int n)
-{
- static unsigned long last_time;
- static int total;
- unsigned long now;
- unsigned int ndiff;
-
- if ((str == NULL) || (n == 0)) return;
- total += n;
-
- while (1)
- {
- ndiff = MAX_OUTPUT_BUFFER_SIZE - (int) (Output_Bufferp - Output_Buffer);
- if (ndiff < n)
- {
- SLMEMCPY ((char *) Output_Bufferp, (char *) str, ndiff);
- Output_Bufferp += ndiff;
- SLtt_flush_output ();
- n -= ndiff;
- str += ndiff;
- }
- else
- {
- SLMEMCPY ((char *) Output_Bufferp, str, n);
- Output_Bufferp += n;
- break;
- }
- }
-
- if (((SLtt_Baud_Rate > 150) && (SLtt_Baud_Rate <= 9600))
- && (10 * total > SLtt_Baud_Rate))
- {
- total = 0;
- if ((now = (unsigned long) time(NULL)) - last_time <= 1)
- {
- SLtt_flush_output ();
- sleep((unsigned) 1);
- }
- last_time = now;
- }
-}
-
-static void tt_write_string (char *str)
-{
- if (str != NULL) tt_write(str, strlen(str));
-}
-
-void SLtt_write_string (char *str)
-{
- tt_write_string (str);
- Cursor_Set = 0;
-}
-
-void SLtt_putchar (char ch)
-{
- SLtt_normal_video ();
- if (Cursor_Set == 1)
- {
- if (ch >= ' ') Cursor_c++;
- else if (ch == '\b') Cursor_c--;
- else if (ch == '\r') Cursor_c = 0;
- else Cursor_Set = 0;
-
- if ((Cursor_c + 1 == SLtt_Screen_Cols)
- && Automatic_Margins) Cursor_Set = 0;
- }
-
- if (Output_Bufferp < Output_Buffer + MAX_OUTPUT_BUFFER_SIZE)
- {
- *Output_Bufferp++ = (unsigned char) ch;
- }
- else tt_write (&ch, 1);
-}
-
-static unsigned int tt_sprintf(char *buf, char *fmt, int x, int y)
-{
- char *fmt_max;
- register unsigned char *b, ch;
- int offset;
- int z, z1, parse_level;
- int zero_pad;
- int field_width;
- int variables [26];
- int stack [64];
- unsigned int stack_len;
- int parms [10];
-#define STACK_POP (stack_len ? stack[--stack_len] : 0)
-
- if (fmt == NULL)
- {
- *buf = 0;
- return 0;
- }
-
- stack [0] = y; /* pushed for termcap */
- stack [1] = x;
- stack_len = 2;
-
- parms [1] = x; /* p1 */
- parms [2] = y; /* p2 */
-
- offset = 0;
- zero_pad = 0;
- field_width = 0;
-
- b = (unsigned char *) buf;
- fmt_max = fmt + strlen (fmt);
-
- while (fmt < fmt_max)
- {
- ch = *fmt++;
-
- if (ch != '%')
- {
- *b++ = ch;
- continue;
- }
-
- if (fmt == fmt_max) break;
- ch = *fmt++;
-
- switch (ch)
- {
- default:
- *b++ = ch;
- break;
-
- case 'p':
-
- if (fmt == fmt_max) break;
- ch = *fmt++;
- if ((ch >= '0') && (ch <= '9'))
- stack [stack_len++] = parms [ch - '0'];
- break;
-
- case '\'': /* 'x' */
- if (fmt == fmt_max) break;
- stack [stack_len++] = *fmt++;
- if (fmt < fmt_max) fmt++; /* skip ' */
- break;
-
- case '{': /* literal constant, e.g. {30} */
- z = 0;
- while ((fmt < fmt_max) && ((ch = *fmt) <= '9') && (ch >= '0'))
- {
- z = z * 10 + (ch - '0');
- fmt++;
- }
- stack [stack_len++] = z;
- if ((ch == '}') && (fmt < fmt_max)) fmt++;
- break;
-
- case '0':
- if (fmt == fmt_max) break;
- ch = *fmt;
- if ((ch != '2') && (ch != '3'))
- break;
- zero_pad = 1;
- fmt++;
- /* drop */
-
- case '2':
- case '3':
- if (fmt == fmt_max)
- if (*fmt == 'x')
- {
- char x_fmt_buf [4];
- char *x_fmt_buf_ptr;
-
- x_fmt_buf_ptr = x_fmt_buf;
- if (zero_pad) *x_fmt_buf_ptr++ = '0';
- *x_fmt_buf_ptr++ = ch;
- *x_fmt_buf_ptr++ = 'X';
- *x_fmt_buf_ptr = 0;
-
- z = STACK_POP;
- z += offset;
-
- sprintf ((char *)b, x_fmt_buf, z);
- b += strlen ((char *)b);
- zero_pad = 0;
- break;
- }
-
- field_width = (ch - '0');
- /* drop */
-
- case 'd':
- z = STACK_POP;
- z += offset;
- if (z >= 100)
- {
- *b++ = z / 100 + '0';
- z = z % 100;
- zero_pad = 1;
- field_width = 2;
- }
- else if (zero_pad && (field_width == 3))
- *b++ = '0';
-
- if (z >= 10)
- {
- *b++ = z / 10 + '0';
- z = z % 10;
- }
- else if (zero_pad && (field_width >= 2))
- *b++ = '0';
-
- *b++ = z + '0';
- field_width = zero_pad = 0;
- break;
-
- case 'x':
- z = STACK_POP;
- z += offset;
- sprintf ((char *) b, "%X", z);
- b += strlen ((char *)b);
- break;
-
- case 'i':
- offset = 1;
- break;
-
- case '+':
- /* Handling this depends upon whether or not we are parsing
- * terminfo. Terminfo requires the stack so use it as an
- * indicator.
- */
- if (stack_len > 2)
- {
- z = STACK_POP;
- stack [stack_len - 1] += z;
- }
- else if (fmt < fmt_max)
- {
- ch = *fmt++;
- if ((unsigned char) ch == 128) ch = 0;
- ch = ch + (unsigned char) STACK_POP;
- if (ch == '\n') ch++;
- *b++ = ch;
- }
- break;
-
- /* Binary operators */
- case '-':
- case '*':
- case '/':
- case 'm':
- case '&':
- case '|':
- case '^':
- case '=':
- case '>':
- case '<':
- case 'A':
- case 'O':
- z1 = STACK_POP;
- z = STACK_POP;
- switch (ch)
- {
- case '-': z = (z - z1); break;
- case '*': z = (z * z1); break;
- case '/': z = (z / z1); break;
- case 'm': z = (z % z1); break;
- case '&': z = (z & z1); break;
- case '|': z = (z | z1); break;
- case '^': z = (z ^ z1); break;
- case '=': z = (z == z1); break;
- case '>': z = (z > z1); break;
- case '<': z = (z < z1); break;
- case 'A': z = (z && z1); break;
- case 'O': z = (z || z1); break;
- }
- stack [stack_len++] = z;
- break;
-
- /* unary */
- case '!':
- z = STACK_POP;
- stack [stack_len++] = !z;
- break;
-
- case '~':
- z = STACK_POP;
- stack [stack_len++] = ~z;
- break;
-
- case 'r': /* termcap -- swap parameters */
- z = stack [0];
- stack [0] = stack [1];
- stack [1] = z;
- break;
-
- case '.': /* termcap */
- case 'c':
- ch = (unsigned char) STACK_POP;
- if (ch == '\n') ch++;
- *b++ = ch;
- break;
-
- case 'g':
- if (fmt == fmt_max) break;
- ch = *fmt++;
- if ((ch >= 'a') && (ch <= 'z'))
- stack [stack_len++] = variables [ch - 'a'];
- break;
-
- case 'P':
- if (fmt == fmt_max) break;
- ch = *fmt++;
- if ((ch >= 'a') && (ch <= 'z'))
- variables [ch - 'a'] = STACK_POP;
- break;
-
- /* If then else parsing. Actually, this is rather easy. The
- * key is to notice that 'then' does all the work. 'if' simply
- * there to indicate the start of a test and endif indicates
- * the end of tests. If 'else' is seen, then skip to
- * endif.
- */
- case '?': /* if */
- case ';': /* endif */
- break;
-
- case 't': /* then */
- z = STACK_POP;
- if (z != 0)
- break; /* good. Continue parsing. */
-
- /* z == 0 and test has failed. So, skip past this entire if
- * expression to the matching else or matching endif.
- */
- /* drop */
- case 'e': /* else */
-
- parse_level = 0;
- while (fmt < fmt_max)
- {
- unsigned char ch1;
-
- ch1 = *fmt++;
- if ((ch1 != '%') || (fmt == fmt_max))
- continue;
-
- ch1 = *fmt++;
-
- if (ch1 == '?') parse_level++; /* new if */
- else if (ch1 == 'e')
- {
- if ((ch != 'e') && (parse_level == 0))
- break;
- }
- else if (ch1 == ';')
- {
- if (parse_level == 0)
- break;
- parse_level--;
- }
- }
- break;
- }
- }
- *b = 0;
- return (unsigned int) (b - (unsigned char *) buf);
-}
-
-static void tt_printf(char *fmt, int x, int y)
-{
- char buf[1024];
- unsigned int n;
- if (fmt == NULL) return;
- n = tt_sprintf(buf, fmt, x, y);
- tt_write(buf, n);
-}
-
-void SLtt_set_scroll_region (int r1, int r2)
-{
- Scroll_r1 = r1;
- Scroll_r2 = r2;
- tt_printf (Scroll_R_Str, Scroll_r1, Scroll_r2);
- Cursor_Set = 0;
-}
-
-void SLtt_reset_scroll_region (void)
-{
- SLtt_set_scroll_region(0, SLtt_Screen_Rows - 1);
-}
-
-int SLtt_set_cursor_visibility (int show)
-{
- if ((Cursor_Visible_Str == NULL) || (Cursor_Invisible_Str == NULL))
- return -1;
-
- tt_write_string (show ? Cursor_Visible_Str : Cursor_Invisible_Str);
- return 0;
-}
-
-/* the goto_rc function moves to row relative to scrolling region */
-void SLtt_goto_rc(int r, int c)
-{
- char *s = NULL;
- int n;
- char buf[6];
-
- if ((c < 0) || (r < 0))
- {
- Cursor_Set = 0;
- return;
- }
-
- /* if (No_Move_In_Standout && Current_Fgbg) SLtt_normal_video (); */
- r += Scroll_r1;
-
- if ((Cursor_Set > 0) || ((Cursor_Set < 0) && !Automatic_Margins))
- {
- n = r - Cursor_r;
- if ((n == -1) && (Cursor_Set > 0) && (Cursor_c == c)
- && (Curs_Up_Str != NULL))
- {
- s = Curs_Up_Str;
- }
- else if ((n >= 0) && (n <= 4))
- {
- if ((n == 0) && (Cursor_Set == 1)
- && ((c > 1) || (c == Cursor_c)))
- {
- if (Cursor_c == c) return;
- if (Cursor_c == c + 1)
- {
- s = buf;
- *s++ = '\b'; *s = 0;
- s = buf;
- }
- }
- else if (c == 0)
- {
- s = buf;
- if ((Cursor_Set != 1) || (Cursor_c != 0)) *s++ = '\r';
- while (n--) *s++ = '\n';
-#ifdef VMS
- /* Need to add this after \n to start a new record. Sheesh. */
- *s++ = '\r';
-#endif
- *s = 0;
- s = buf;
- }
- /* Will fail on VMS */
-#ifndef VMS
- else if (SLtt_Newline_Ok && (Cursor_Set == 1) &&
- (Cursor_c >= c) && (c + 3 > Cursor_c))
- {
- s = buf;
- while (n--) *s++ = '\n';
- n = Cursor_c - c;
- while (n--) *s++ = '\b';
- *s = 0;
- s = buf;
- }
-#endif
- }
- }
- if (s != NULL) tt_write_string(s);
- else tt_printf(Curs_Pos_Str, r, c);
- Cursor_c = c; Cursor_r = r;
- Cursor_Set = 1;
-}
-
-void SLtt_begin_insert (void)
-{
- tt_write_string(Ins_Mode_Str);
-}
-
-void SLtt_end_insert (void)
-{
- tt_write_string(Eins_Mode_Str);
-}
-
-void SLtt_delete_char (void)
-{
- SLtt_normal_video ();
- tt_write_string(Del_Char_Str);
-}
-
-void SLtt_erase_line (void)
-{
- tt_write_string("\r");
- Cursor_Set = 1; Cursor_c = 0;
- SLtt_del_eol();
-}
-
-/* It appears that the Linux console, and most likely others do not
- * like scrolling regions that consist of one line. So I have to
- * resort to this stupidity to make up for that stupidity.
- */
-static void delete_line_in_scroll_region (void)
-{
- SLtt_goto_rc (Cursor_r - Scroll_r1, 0);
- SLtt_del_eol ();
-}
-
-void SLtt_delete_nlines (int n)
-{
- int r1, curs;
- char buf[132];
-
- if (n <= 0) return;
- SLtt_normal_video ();
-
- if (Scroll_r1 == Scroll_r2)
- {
- delete_line_in_scroll_region ();
- return;
- }
-
- if (Del_N_Lines_Str != NULL) tt_printf(Del_N_Lines_Str,n, 0);
- else
- /* get a new terminal */
- {
- r1 = Scroll_r1;
- curs = Cursor_r;
- SLtt_set_scroll_region(curs, Scroll_r2);
- SLtt_goto_rc(Scroll_r2 - Scroll_r1, 0);
- SLMEMSET(buf, '\n', (unsigned int) n);
- tt_write(buf, (unsigned int) n);
- /* while (n--) tt_putchar('\n'); */
- SLtt_set_scroll_region(r1, Scroll_r2);
- SLtt_goto_rc(curs, 0);
- }
-}
-
-void SLtt_cls (void)
-{
- /* If the terminal is a color terminal but the user wants black and
- * white, then make sure that the colors are reset. This appears to be
- * necessary.
- */
- if ((SLtt_Use_Ansi_Colors == 0) && Is_Color_Terminal)
- {
- if (Reset_Color_String != NULL)
- tt_write_string (Reset_Color_String);
- else
- tt_write_string ("\033[0m\033[m");
- }
-
- SLtt_normal_video();
- SLtt_reset_scroll_region ();
- tt_write_string(Cls_Str);
-}
-
-void SLtt_reverse_index (int n)
-{
- if (!n) return;
-
- SLtt_normal_video();
-
- if (Scroll_r1 == Scroll_r2)
- {
- delete_line_in_scroll_region ();
- return;
- }
-
- if (Add_N_Lines_Str != NULL) tt_printf(Add_N_Lines_Str,n, 0);
- else
- {
- while(n--) tt_write_string(Rev_Scroll_Str);
- }
-}
-
-int SLtt_Ignore_Beep = 1;
-static char *Visible_Bell_Str;
-
-void SLtt_beep (void)
-{
- if (SLtt_Ignore_Beep & 0x1) SLtt_putchar('\007');
-
- if (SLtt_Ignore_Beep & 0x2)
- {
- if (Visible_Bell_Str != NULL) tt_write_string (Visible_Bell_Str);
-#ifdef __linux__
- else if (Linux_Console)
- {
- tt_write_string ("\033[?5h");
- SLtt_flush_output ();
- _SLusleep (50000);
- tt_write_string ("\033[?5l");
- }
-#endif
- }
- SLtt_flush_output ();
-}
-
-static void del_eol (void)
-{
- int c;
-
- if (Del_Eol_Str != NULL)
- {
- tt_write_string(Del_Eol_Str);
- return;
- }
-
- c = Cursor_c;
- /* Avoid writing to the lower right corner. If the terminal does not
- * have Del_Eol_Str, then it probably does not have what it takes to play
- * games with insert for for a space into that corner.
- */
- if (Cursor_r + 1 < SLtt_Screen_Rows)
- c++;
-
- while (c < SLtt_Screen_Cols)
- {
- tt_write (" ", 1);
- c++;
- }
-}
-
-void SLtt_del_eol (void)
-{
- if (Current_Fgbg != 0xFFFFFFFFU) SLtt_normal_video ();
- del_eol ();
-}
-
-typedef struct
-{
- char *name;
- SLtt_Char_Type color;
-}
-Color_Def_Type;
-
-#define MAX_COLOR_NAMES 17
-static Color_Def_Type Color_Defs [MAX_COLOR_NAMES] =
-{
- {"black", SLSMG_COLOR_BLACK},
- {"red", SLSMG_COLOR_RED},
- {"green", SLSMG_COLOR_GREEN},
- {"brown", SLSMG_COLOR_BROWN},
- {"blue", SLSMG_COLOR_BLUE},
- {"magenta", SLSMG_COLOR_MAGENTA},
- {"cyan", SLSMG_COLOR_CYAN},
- {"lightgray", SLSMG_COLOR_LGRAY},
- {"gray", SLSMG_COLOR_GRAY},
- {"brightred", SLSMG_COLOR_BRIGHT_RED},
- {"brightgreen", SLSMG_COLOR_BRIGHT_GREEN},
- {"yellow", SLSMG_COLOR_BRIGHT_BROWN},
- {"brightblue", SLSMG_COLOR_BRIGHT_BLUE},
- {"brightmagenta", SLSMG_COLOR_BRIGHT_CYAN},
- {"brightcyan", SLSMG_COLOR_BRIGHT_MAGENTA},
- {"white", SLSMG_COLOR_BRIGHT_WHITE},
-#define SLSMG_COLOR_DEFAULT 0xFF
- {"default", SLSMG_COLOR_DEFAULT}
-};
-
-void SLtt_set_mono (int obj, char *what, SLtt_Char_Type mask)
-{
- (void) what;
- if ((obj < 0) || (obj >= JMAX_COLORS))
- {
- return;
- }
- Ansi_Color_Map[obj].mono = mask & ATTR_MASK;
-}
-
-static char *check_color_for_digit_form (char *color)
-{
- unsigned int i, ich;
- char *s = color;
-
- i = 0;
- while ((ich = (int) *s) != 0)
- {
- if ((ich < '0') || (ich > '9'))
- return color;
-
- i = i * 10 + (ich - '0');
- s++;
- }
-
- if (i < MAX_COLOR_NAMES)
- color = Color_Defs[i].name;
-
- return color;
-}
-
-static int get_default_colors (char **fgp, char **bgp)
-{
- static char fg_buf[16], bg_buf[16], *bg, *fg;
- static int already_parsed;
- char *p, *pmax;
-
- if (already_parsed == -1)
- return -1;
-
- if (already_parsed)
- {
- *fgp = fg;
- *bgp = bg;
- return 0;
- }
-
- already_parsed = -1;
-
- bg = getenv ("COLORFGBG");
-
- if (bg == NULL)
- {
- bg = getenv ("DEFAULT_COLORS");
- if (bg == NULL)
- return -1;
- }
-
- p = fg_buf;
- pmax = p + (sizeof (fg_buf) - 1);
-
- while ((*bg != 0) && (*bg != ';'))
- {
- if (p < pmax) *p++ = *bg;
- bg++;
- }
- *p = 0;
-
- if (*bg) bg++;
-
- p = bg_buf;
- pmax = p + (sizeof (bg_buf) - 1);
-
- /* Mark suggested allowing for extra spplication specific stuff following
- * the background color. That is what the check for the semi-colon is for.
- */
- while ((*bg != 0) && (*bg != ';'))
- {
- if (p < pmax) *p++ = *bg;
- bg++;
- }
- *p = 0;
-
- if (!strcmp (fg_buf, "default") || !strcmp(bg_buf, "default"))
- {
- *fgp = *bgp = fg = bg = "default";
- }
- else
- {
- *fgp = fg = check_color_for_digit_form (fg_buf);
- *bgp = bg = check_color_for_digit_form (bg_buf);
- }
- already_parsed = 1;
- return 0;
-}
-
-static unsigned char FgBg_Stats[JMAX_COLORS];
-
-static int Color_0_Modified = 0;
-
-void SLtt_set_color_object (int obj, SLtt_Char_Type attr)
-{
- char *cust_esc;
-
- if ((obj < 0) || (obj >= JMAX_COLORS)) return;
-
- cust_esc = Ansi_Color_Map[obj].custom_esc;
- if (cust_esc != NULL)
- {
- SLfree (cust_esc);
- FgBg_Stats[(Ansi_Color_Map[obj].fgbg >> 8) & 0x7F] -= 1;
- Ansi_Color_Map[obj].custom_esc = NULL;
- }
-
- Ansi_Color_Map[obj].fgbg = attr;
- if (obj == 0) Color_0_Modified = 1;
-
- if (_SLtt_color_changed_hook != NULL)
- (*_SLtt_color_changed_hook)();
-}
-
-SLtt_Char_Type SLtt_get_color_object (int obj)
-{
- if ((obj < 0) || (obj >= JMAX_COLORS)) return 0;
- return Ansi_Color_Map[obj].fgbg;
-}
-
-void SLtt_add_color_attribute (int obj, SLtt_Char_Type attr)
-{
- if ((obj < 0) || (obj >= JMAX_COLORS)) return;
-
- Ansi_Color_Map[obj].fgbg |= (attr & ATTR_MASK);
- if (obj == 0) Color_0_Modified = 1;
- if (_SLtt_color_changed_hook != NULL)
- (*_SLtt_color_changed_hook)();
-}
-
-static SLtt_Char_Type fb_to_fgbg (SLtt_Char_Type f, SLtt_Char_Type b)
-{
- SLtt_Char_Type attr;
-
- if (Max_Terminfo_Colors != 8)
- {
- if (f != SLSMG_COLOR_DEFAULT) f %= Max_Terminfo_Colors;
- if (b != SLSMG_COLOR_DEFAULT) b %= Max_Terminfo_Colors;
- return ((f << 8) | (b << 16));
- }
-
- /* Otherwise we have 8 ansi colors. Try to get bright versions
- * by using the BOLD and BLINK attributes.
- */
-
- attr = 0;
-
- /* Note: If f represents default, it will have the value 0xFF */
- if (f != SLSMG_COLOR_DEFAULT)
- {
- if (f & 0x8) attr = SLTT_BOLD_MASK;
- f &= 0x7;
- }
-
- if (b != SLSMG_COLOR_DEFAULT)
- {
- if (b & 0x8) attr |= SLTT_BLINK_MASK;
- b &= 0x7;
- }
-
- return ((f << 8) | (b << 16) | attr);
-}
-
-/* This looks for colors with name form 'colorN'. If color is of this
- * form, N is passed back via paramter list.
- */
-static int parse_color_digit_name (char *color, SLtt_Char_Type *f)
-{
- unsigned int i;
- unsigned char ch;
-
- if (strncmp (color, "color", 5))
- return -1;
-
- color += 5;
- if (*color == 0)
- return -1;
-
- i = 0;
- while (1)
- {
- ch = (unsigned char) *color++;
- if (ch == 0)
- break;
- if ((ch > '9') || (ch < '0'))
- return -1;
- i = 10 * i + (ch - '0');
- }
-
- *f = (SLtt_Char_Type) i;
- return 0;
-}
-
-static int make_color_fgbg (char *fg, char *bg, SLtt_Char_Type *fgbg)
-{
- SLtt_Char_Type f = 0xFFFFFFFFU, b = 0xFFFFFFFFU;
- char *dfg, *dbg;
- unsigned int i;
-
- if ((fg != NULL) && (*fg == 0)) fg = NULL;
- if ((bg != NULL) && (*bg == 0)) bg = NULL;
-
- if ((fg == NULL) || (bg == NULL))
- {
- if (-1 == get_default_colors (&dfg, &dbg))
- return -1;
-
- if (fg == NULL) fg = dfg;
- if (bg == NULL) bg = dbg;
- }
-
- if (-1 == parse_color_digit_name (fg, &f))
- {
- for (i = 0; i < MAX_COLOR_NAMES; i++)
- {
- if (strcmp(fg, Color_Defs[i].name)) continue;
- f = Color_Defs[i].color;
- break;
- }
- }
-
- if (-1 == parse_color_digit_name (bg, &b))
- {
- for (i = 0; i < MAX_COLOR_NAMES; i++)
- {
- if (strcmp(bg, Color_Defs[i].name)) continue;
- b = Color_Defs[i].color;
- break;
- }
- }
-
- if ((f == 0xFFFFFFFFU) || (b == 0xFFFFFFFFU))
- return -1;
-
- *fgbg = fb_to_fgbg (f, b);
- return 0;
-}
-
-void SLtt_set_color (int obj, char *what, char *fg, char *bg)
-{
- SLtt_Char_Type fgbg;
-
- (void) what;
- if ((obj < 0) || (obj >= JMAX_COLORS))
- return;
-
- if (-1 != make_color_fgbg (fg, bg, &fgbg))
- SLtt_set_color_object (obj, fgbg);
-}
-
-void SLtt_set_color_fgbg (int obj, SLtt_Char_Type f, SLtt_Char_Type b)
-{
- SLtt_set_color_object (obj, fb_to_fgbg (f, b));
-}
-
-void SLtt_set_color_esc (int obj, char *esc)
-{
- char *cust_esc;
- SLtt_Char_Type fgbg = 0;
- int i;
-
- if ((obj < 0) || (obj >= JMAX_COLORS))
- {
- return;
- }
-
- cust_esc = Ansi_Color_Map[obj].custom_esc;
- if (cust_esc != NULL)
- {
- SLfree (cust_esc);
- FgBg_Stats[(Ansi_Color_Map[obj].fgbg >> 8) & 0x7F] -= 1;
- }
-
- cust_esc = (char *) SLmalloc (strlen(esc) + 1);
- if (cust_esc != NULL) strcpy (cust_esc, esc);
-
- Ansi_Color_Map[obj].custom_esc = cust_esc;
- if (cust_esc == NULL) fgbg = 0;
- else
- {
- /* The whole point of this is to generate a unique fgbg */
- for (i = 0; i < JMAX_COLORS; i++)
- {
- if (FgBg_Stats[i] == 0) fgbg = i;
-
- if (obj == i) continue;
- if ((Ansi_Color_Map[i].custom_esc) == NULL) continue;
- if (!strcmp (Ansi_Color_Map[i].custom_esc, cust_esc))
- {
- fgbg = (Ansi_Color_Map[i].fgbg >> 8) & 0x7F;
- break;
- }
- }
- FgBg_Stats[fgbg] += 1;
- }
-
- fgbg |= 0x80;
- Ansi_Color_Map[obj].fgbg = (fgbg | (fgbg << 8)) << 8;
- if (obj == 0) Color_0_Modified = 1;
- if (_SLtt_color_changed_hook != NULL)
- (*_SLtt_color_changed_hook)();
-}
-
-void SLtt_set_alt_char_set (int i)
-{
- static int last_i;
- if (SLtt_Has_Alt_Charset == 0) return;
- if (i == last_i) return;
- tt_write_string (i ? Start_Alt_Chars_Str : End_Alt_Chars_Str );
- last_i = i;
-}
-
-static void write_attributes (SLtt_Char_Type fgbg)
-{
- int bg0, fg0;
- int unknown_attributes;
-
- if (Worthless_Highlight) return;
- if (fgbg == Current_Fgbg) return;
-
- unknown_attributes = 0;
-
- /* Before spitting out colors, fix attributes */
- if ((fgbg & ATTR_MASK) != (Current_Fgbg & ATTR_MASK))
- {
- if (Current_Fgbg & ATTR_MASK)
- {
- tt_write_string(Norm_Vid_Str);
- /* In case normal video turns off ALL attributes: */
- if (fgbg & SLTT_ALTC_MASK)
- Current_Fgbg &= ~SLTT_ALTC_MASK;
- SLtt_set_alt_char_set (0);
- }
-
- if ((fgbg & SLTT_ALTC_MASK)
- != (Current_Fgbg & SLTT_ALTC_MASK))
- {
- SLtt_set_alt_char_set ((int) (fgbg & SLTT_ALTC_MASK));
- }
-
- if (fgbg & SLTT_ULINE_MASK) tt_write_string (UnderLine_Vid_Str);
- if (fgbg & SLTT_BOLD_MASK) SLtt_bold_video ();
- if (fgbg & SLTT_REV_MASK) tt_write_string (Rev_Vid_Str);
- if (fgbg & SLTT_BLINK_MASK)
- {
- /* Someday Linux will have a blink mode that set high intensity
- * background. Lets be prepared.
- */
- if (SLtt_Blink_Mode) tt_write_string (Blink_Vid_Str);
- }
- unknown_attributes = 1;
- }
-
- if (SLtt_Use_Ansi_Colors)
- {
- fg0 = (int) GET_FG(fgbg);
- bg0 = (int) GET_BG(fgbg);
-
- if (unknown_attributes
- || (fg0 != (int)GET_FG(Current_Fgbg)))
- {
- if (fg0 == SLSMG_COLOR_DEFAULT)
- tt_write_string (Default_Color_Fg_Str);
- else
- tt_printf (Color_Fg_Str, fg0, 0);
- }
-
- if (unknown_attributes
- || (bg0 != (int)GET_BG(Current_Fgbg)))
- {
- if (bg0 == SLSMG_COLOR_DEFAULT)
- tt_write_string (Default_Color_Bg_Str);
- else
- tt_printf (Color_Bg_Str, bg0, 0);
- }
- }
-
- Current_Fgbg = fgbg;
-}
-
-static int Video_Initialized;
-
-void SLtt_reverse_video (int color)
-{
- SLtt_Char_Type fgbg;
- char *esc;
-
- if (Worthless_Highlight) return;
- if ((color < 0) || (color >= JMAX_COLORS)) return;
-
- if (Video_Initialized == 0)
- {
- if (color == JNORMAL_COLOR)
- {
- tt_write_string (Norm_Vid_Str);
- }
- else tt_write_string (Rev_Vid_Str);
- Current_Fgbg = 0xFFFFFFFFU;
- return;
- }
-
- if (SLtt_Use_Ansi_Colors)
- {
- fgbg = Ansi_Color_Map[color].fgbg;
- if ((esc = Ansi_Color_Map[color].custom_esc) != NULL)
- {
- if (fgbg != Current_Fgbg)
- {
- Current_Fgbg = fgbg;
- tt_write_string (esc);
- return;
- }
- }
- }
- else fgbg = Ansi_Color_Map[color].mono;
-
- if (fgbg == Current_Fgbg) return;
- write_attributes (fgbg);
-}
-
-void SLtt_normal_video (void)
-{
- SLtt_reverse_video(JNORMAL_COLOR);
-}
-
-void SLtt_narrow_width (void)
-{
- tt_write_string("\033[?3l");
-}
-
-void SLtt_wide_width (void)
-{
- tt_write_string("\033[?3h");
-}
-
-/* Highest bit represents the character set. */
-#define COLOR_MASK 0x7F00
-
-#if SLTT_HAS_NON_BCE_SUPPORT
-static int bce_color_eqs (unsigned int a, unsigned int b)
-{
- a = (a & COLOR_MASK) >> 8;
- b = (b & COLOR_MASK) >> 8;
-
- if (a == b)
- return 1;
-
- if (SLtt_Use_Ansi_Colors == 0)
- return Ansi_Color_Map[a].mono == Ansi_Color_Map[b].mono;
-
- if (Bce_Color_Offset == 0)
- return Ansi_Color_Map[a].fgbg == Ansi_Color_Map[b].fgbg;
-
- /* If either are color 0, then we do not know what that means since the
- * terminal does not support BCE */
- if ((a == 0) || (b == 0))
- return 0;
-
- return Ansi_Color_Map[a-1].fgbg == Ansi_Color_Map[b-1].fgbg;
-}
-#define COLOR_EQS(a,b) bce_color_eqs (a,b)
-#else
-# define COLOR_OF(x) (((unsigned int)(x) & COLOR_MASK) >> 8)
-# define COLOR_EQS(a, b) \
- (SLtt_Use_Ansi_Colors \
- ? (Ansi_Color_Map[COLOR_OF(a)].fgbg == Ansi_Color_Map[COLOR_OF(b)].fgbg)\
- : (Ansi_Color_Map[COLOR_OF(a)].mono == Ansi_Color_Map[COLOR_OF(b)].mono))
-#endif
-
-#define CHAR_EQS(a, b) (((a) == (b))\
- || ((((a) & ~COLOR_MASK) == ((b) & ~COLOR_MASK))\
- && COLOR_EQS((a), (b))))
-
-/* The whole point of this routine is to prevent writing to the last column
- * and last row on terminals with automatic margins.
- */
-static void write_string_with_care (char *str)
-{
- unsigned int len;
-
- if (str == NULL) return;
-
- len = strlen (str);
- if (Automatic_Margins && (Cursor_r + 1 == SLtt_Screen_Rows))
- {
- if (len + (unsigned int) Cursor_c >= (unsigned int) SLtt_Screen_Cols)
- {
- /* For now, just do not write there. Later, something more
- * sophisticated will be implemented.
- */
- if (SLtt_Screen_Cols > Cursor_c)
- len = SLtt_Screen_Cols - Cursor_c - 1;
- else
- len = 0;
- }
- }
- tt_write (str, len);
-}
-
-static void send_attr_str (SLsmg_Char_Type *s)
-{
- unsigned char out[256], ch, *p;
- register SLtt_Char_Type attr;
- register SLsmg_Char_Type sh;
- int color, last_color = -1;
-
- p = out;
- while (0 != (sh = *s++))
- {
- ch = sh & 0xFF;
- color = ((int) sh & 0xFF00) >> 8;
-
-#if SLTT_HAS_NON_BCE_SUPPORT
- if (Bce_Color_Offset
- && (color >= Bce_Color_Offset))
- color -= Bce_Color_Offset;
-#endif
-
- if (color != last_color)
- {
- if (SLtt_Use_Ansi_Colors) attr = Ansi_Color_Map[color & 0x7F].fgbg;
- else attr = Ansi_Color_Map[color & 0x7F].mono;
-
- if (sh & 0x8000) /* alternate char set */
- {
- if (SLtt_Use_Blink_For_ACS)
- {
- if (SLtt_Blink_Mode) attr |= SLTT_BLINK_MASK;
- }
- else attr |= SLTT_ALTC_MASK;
- }
-
- if (attr != Current_Fgbg)
- {
- if ((ch != ' ') ||
- /* it is a space so only consider it different if it
- * has different attributes.
- */
- (attr & BGALL_MASK) != (Current_Fgbg & BGALL_MASK))
- {
- if (p != out)
- {
- *p = 0;
- write_string_with_care ((char *) out);
- Cursor_c += (int) (p - out);
- p = out;
- }
-
- if (SLtt_Use_Ansi_Colors && (NULL != Ansi_Color_Map[color & 0x7F].custom_esc))
- {
- tt_write_string (Ansi_Color_Map[color & 0x7F].custom_esc);
- /* Just in case the custom escape sequence screwed up
- * the alt character set state...
- */
- if ((attr & SLTT_ALTC_MASK) != (Current_Fgbg & SLTT_ALTC_MASK))
- SLtt_set_alt_char_set ((int) (attr & SLTT_ALTC_MASK));
- Current_Fgbg = attr;
- }
- else write_attributes (attr);
-
- last_color = color;
- }
- }
- }
- *p++ = ch;
- }
- *p = 0;
- if (p != out) write_string_with_care ((char *) out);
- Cursor_c += (int) (p - out);
-}
-
-static void forward_cursor (unsigned int n, int row)
-{
- char buf [1024];
-
- if (n <= 4)
- {
- SLtt_normal_video ();
- SLMEMSET (buf, ' ', n);
- buf[n] = 0;
- write_string_with_care (buf);
- Cursor_c += n;
- }
- else if (Curs_F_Str != NULL)
- {
- Cursor_c += n;
- n = tt_sprintf(buf, Curs_F_Str, (int) n, 0);
- tt_write(buf, n);
- }
- else SLtt_goto_rc (row, (int) (Cursor_c + n));
-}
-
-
-void SLtt_smart_puts(SLsmg_Char_Type *neww, SLsmg_Char_Type *oldd, int len, int row)
-{
- register SLsmg_Char_Type *p, *q, *qmax, *pmax, *buf;
- SLsmg_Char_Type buffer[256];
- unsigned int n_spaces;
- SLsmg_Char_Type *space_match, *last_buffered_match;
-#ifdef HP_GLITCH_CODE
- int handle_hp_glitch = 0;
-#endif
- SLsmg_Char_Type space_char;
-#define SLTT_USE_INSERT_HACK 1
-#if SLTT_USE_INSERT_HACK
- SLsmg_Char_Type insert_hack_prev = 0;
- SLsmg_Char_Type insert_hack_char = 0;
-
- if ((row + 1 == SLtt_Screen_Rows)
- && (len == SLtt_Screen_Cols)
- && (len > 1)
- && (SLtt_Term_Cannot_Insert == 0)
- && Automatic_Margins)
- {
- insert_hack_char = neww[len-1];
- if (oldd[len-1] == insert_hack_char)
- insert_hack_char = 0;
- else
- insert_hack_prev = neww[len-2];
- }
-#endif
-
- q = oldd; p = neww;
- qmax = oldd + len;
- pmax = p + len;
-
- /* Find out where to begin --- while they match, we are ok */
- while (1)
- {
- if (q == qmax) return;
-#if SLANG_HAS_KANJI_SUPPORT
- if (*p & 0x80)
- { /* new is kanji */
- if ((*q & 0x80) && ((q + 1) < qmax))
- { /* old is also kanji */
- if (((0xFF & *q) != (0xFF & *p))
- || ((0xFF & q[1]) != (0xFF & p[1])))
- break; /* both kanji, but not match */
-
- else
- { /* kanji match ! */
- if (!COLOR_EQS(*q, *p)) break;
- q++; p++;
- if (!COLOR_EQS(*q, *p)) break;
- /* really match! */
- q++; p++;
- continue;
- }
- }
- else break; /* old is not kanji */
- }
- else
- { /* new is not kanji */
- if (*q & 0x80) break; /* old is kanji */
- }
-#endif
- if (!CHAR_EQS(*q, *p)) break;
- q++; p++;
- }
-
-#ifdef HP_GLITCH_CODE
- if (Has_HP_Glitch)
- {
- SLsmg_Char_Type *qq = q;
-
- SLtt_goto_rc (row, (int) (p - neww));
-
- while (qq < qmax)
- {
- if (*qq & 0xFF00)
- {
- SLtt_normal_video ();
- SLtt_del_eol ();
- qmax = q;
- handle_hp_glitch = 1;
- break;
- }
- qq++;
- }
- }
-#endif
- /* Find where the last non-blank character on old/new screen is */
-
- space_char = ' ';
- if ((*(pmax-1) & 0xFF) == ' ')
- {
- /* If we get here, then we can erase to the end of the line to create
- * the final space. However, this will only work _if_ erasing will
- * get us the correct color. If the terminal supports BCE, then this
- * is easy. If it does not, then we can only perform this operation
- * if the color is known via something like COLORFGBG. For now,
- * I just will not perform the optimization for such terminals.
- */
- if ((Can_Background_Color_Erase)
- && SLtt_Use_Ansi_Colors)
- space_char = *(pmax - 1);
-
- while (pmax > p)
- {
- pmax--;
- if (!CHAR_EQS(*pmax, space_char))
- {
- pmax++;
- break;
- }
- }
- }
-
- while (qmax > q)
- {
- qmax--;
- if (!CHAR_EQS(*qmax, space_char))
- {
- qmax++;
- break;
- }
- }
-
- last_buffered_match = buf = buffer; /* buffer is empty */
-
-#ifdef HP_GLITCH_CODE
- if (handle_hp_glitch)
- {
- while (p < pmax)
- {
- *buf++ = *p++;
- }
- }
-#endif
-
-#ifdef HP_GLITCH_CODE
- if (Has_HP_Glitch == 0)
- {
-#endif
- /* Try use use erase to bol if possible */
- if ((Del_Bol_Str != NULL) && ((*neww & 0xFF) == 32))
- {
- SLsmg_Char_Type *p1;
- SLsmg_Char_Type blank;
-
- p1 = neww;
- if ((Can_Background_Color_Erase)
- && SLtt_Use_Ansi_Colors)
- blank = *p1;
- /* black+white attributes do not support bce */
- else
- blank = 32;
-
- while ((p1 < pmax) && (CHAR_EQS (*p1, blank)))
- p1++;
-
- /* Is this optimization worth it? Assume Del_Bol_Str is ESC [ 1 K
- * It costs 4 chars + the space needed to properly position the
- * cursor, e.g., ESC [ 10;10H. So, it costs at least 13 characters.
- */
- if ((p1 > neww + 13)
- && (p1 >= p)
- /* Avoid erasing from the end of the line */
- && ((p1 != pmax) || (pmax < neww + len)))
- {
- int ofs = (int) (p1 - neww);
- q = oldd + ofs;
- p = p1;
- SLtt_goto_rc (row, ofs - 1);
- SLtt_reverse_video (blank >> 8);
- tt_write_string (Del_Bol_Str);
- tt_write (" ", 1);
- Cursor_c += 1;
- }
- else
- SLtt_goto_rc (row, (int) (p - neww));
- }
- else
- SLtt_goto_rc (row, (int) (p - neww));
-#ifdef HP_GLITCH_CODE
- }
-#endif
-
-
- /* loop using overwrite then skip algorithm until done */
- while (1)
- {
- /* while they do not match and we do not hit a space, buffer them up */
- n_spaces = 0;
- while (p < pmax)
- {
- if (CHAR_EQS(*q, 32) && CHAR_EQS(*p, 32))
- {
- /* If *q is not a space, we would have to overwrite it.
- * However, if *q is a space, then while *p is also one,
- * we only need to skip over the blank field.
- */
- space_match = p;
- p++; q++;
- while ((p < pmax)
- && CHAR_EQS(*q, 32)
- && CHAR_EQS(*p, 32))
- {
- p++;
- q++;
- }
- n_spaces = (unsigned int) (p - space_match);
- break;
- }
-#if SLANG_HAS_KANJI_SUPPORT
- if ((*p & 0x80) && ((p + 1) < pmax))
- { /* new is kanji */
- if (*q & 0x80)
- { /* old is also kanji */
- if (((0xFF & *q) != (0xFF & *p))
- || ((0xFF & q[1]) != (0xFF & p[1])))
- {
- /* both kanji, but not match */
- *buf++ = *p++;
- *buf++ = *p++;
- q += 2;
- continue;
- }
- else
- { /* kanji match ? */
- if (!COLOR_EQS(*q, *p) || !COLOR_EQS(*(q+1), *(p+1)))
- {
- /* code is match, but color is diff */
- *buf++ = *p++;
- *buf++ = *p++;
- q += 2;
- continue;
- }
- /* really match ! */
- break;
- }
- }
- else
- { /* old is not kanji */
- *buf++ = *p++;
- *buf++ = *p++;
- q += 2;
- continue;
- }
- }
- else
- { /* new is not kanji */
- if (*q & 0x80)
- { /* old is kanji */
- *buf++ = *p++;
- q++;
- continue;
- }
- }
-#endif
-
- if (CHAR_EQS(*q, *p)) break;
- *buf++ = *p++;
- q++;
- }
- *buf = 0;
-
- if (buf != buffer) send_attr_str (buffer);
- buf = buffer;
-
- if (n_spaces
- && ((p < pmax) /* erase to eol will achieve this effect*/
- || (space_char != 32)))/* unless space_char is not a simple space */
- {
- forward_cursor (n_spaces, row);
- }
-
- /* Now we overwrote what we could and cursor is placed at position
- * of a possible match of new and old. If this is the case, skip
- * some more.
- */
-#if !SLANG_HAS_KANJI_SUPPORT
- while ((p < pmax) && CHAR_EQS(*p, *q))
- {
- *buf++ = *p++;
- q++;
- }
-#else
- /* Kanji */
- while (p < pmax)
- {
- if ((*p & 0x80) && ((p + 1) < pmax))
- { /* new is kanji */
- if (*q & 0x80)
- { /* old is also kanji */
- if (((0xFF & *q) == (0xFF & *p))
- && ((0xFF & q[1]) == (0xFF & p[1])))
- {
- /* kanji match ? */
- if (!COLOR_EQS(*q, *p)
- || !COLOR_EQS(q[1], p[1]))
- break;
-
- *buf++ = *p++;
- q++;
- if (p >= pmax)
- {
- *buf++ = 32;
- p++;
- break;
- }
- else
- {
- *buf++ = *p++;
- q++;
- continue;
- }
- }
- else break; /* both kanji, but not match */
- }
- else break; /* old is not kanji */
- }
- else
- { /* new is not kanji */
- if (*q & 0x80) break; /* old is kanji */
- if (!CHAR_EQS(*q, *p)) break;
- *buf++ = *p++;
- q++;
- }
- }
-#endif
- last_buffered_match = buf;
- if (p >= pmax) break;
-
- /* jump to new position is it is greater than 5 otherwise
- * let it sit in the buffer and output it later.
- */
- if ((int) (buf - buffer) >= 5)
- {
- forward_cursor ((unsigned int) (buf - buffer), row);
- last_buffered_match = buf = buffer;
- }
- }
-
- if (buf != buffer)
- {
- if (q < qmax)
- {
- if ((buf == last_buffered_match)
- && ((int) (buf - buffer) >= 5))
- {
- forward_cursor ((unsigned int) (buf - buffer), row);
- }
- else
- {
- *buf = 0;
- send_attr_str (buffer);
- }
- }
- }
-
- if (q < qmax)
- {
- SLtt_reverse_video (space_char >> 8);
- del_eol ();
- }
-
-#if SLTT_USE_INSERT_HACK
- else if (insert_hack_char)
- {
- SLtt_goto_rc (SLtt_Screen_Rows-1, SLtt_Screen_Cols-2);
- buffer[0] = insert_hack_char;
- buffer[1] = 0;
- send_attr_str (buffer);
- SLtt_goto_rc (SLtt_Screen_Rows-1, SLtt_Screen_Cols-2);
- buffer[0] = insert_hack_prev;
- SLtt_begin_insert ();
- send_attr_str (buffer);
- SLtt_end_insert ();
- }
-#endif
-
- if (Automatic_Margins && (Cursor_c + 1 >= SLtt_Screen_Cols)) Cursor_Set = 0;
-}
-
-static void get_color_info (void)
-{
- char *fg, *bg;
-
- /* Allow easy mechanism to override inadequate termcap/terminfo files. */
- if (SLtt_Use_Ansi_Colors == 0)
- SLtt_Use_Ansi_Colors = (NULL != getenv ("COLORTERM"));
-
- if (SLtt_Use_Ansi_Colors)
- Is_Color_Terminal = 1;
-
-#if SLTT_HAS_NON_BCE_SUPPORT
- if (Can_Background_Color_Erase == 0)
- Can_Background_Color_Erase = (NULL != getenv ("COLORTERM_BCE"));
-#endif
-
- if (-1 == get_default_colors (&fg, &bg))
- return;
-
- /* Check to see if application has already set them. */
- if (Color_0_Modified)
- return;
-
- SLtt_set_color (0, NULL, fg, bg);
- SLtt_set_color (1, NULL, bg, fg);
-}
-
-/* termcap stuff */
-
-#ifdef __unix__
-
-static int Termcap_Initalized = 0;
-
-#ifdef USE_TERMCAP
-/* Termcap based system */
-static char Termcap_Buf[4096];
-static char Termcap_String_Buf[4096];
-static char *Termcap_String_Ptr;
-extern char *tgetstr(char *, char **);
-extern int tgetent(char *, char *);
-extern int tgetnum(char *);
-extern int tgetflag(char *);
-#else
-/* Terminfo */
-static SLterminfo_Type *Terminfo;
-#endif
-
-#define TGETFLAG(x) (SLtt_tgetflag(x) > 0)
-
-static char *fixup_tgetstr (char *what)
-{
- register char *w, *w1;
- char *wsave;
-
- if (what == NULL)
- return NULL;
-
- /* Check for AIX brain-damage */
- if (*what == '@')
- return NULL;
-
- /* lose pad info --- with today's technology, term is a loser if
- it is really needed */
- while ((*what == '.') ||
- ((*what >= '0') && (*what <= '9'))) what++;
- if (*what == '*') what++;
-
- /* lose terminfo padding--- looks like $<...> */
- w = what;
- while (*w) if ((*w++ == '$') && (*w == '<'))
- {
- w1 = w - 1;
- while (*w && (*w != '>')) w++;
- if (*w == 0) break;
- w++;
- wsave = w1;
- while ((*w1++ = *w++) != 0);
- w = wsave;
- }
-
- if (*what == 0) what = NULL;
- return what;
-}
-
-char *SLtt_tgetstr (char *s)
-{
- if (Termcap_Initalized == 0)
- return NULL;
-
-#ifdef USE_TERMCAP
- s = tgetstr (s, &Termcap_String_Ptr);
-#else
- s = _SLtt_tigetstr (Terminfo, s);
-#endif
- return fixup_tgetstr (s);
-}
-
-int SLtt_tgetnum (char *s)
-{
- if (Termcap_Initalized == 0)
- return -1;
-#ifdef USE_TERMCAP
- return tgetnum (s);
-#else
- return _SLtt_tigetnum (Terminfo, s);
-#endif
-}
-
-int SLtt_tgetflag (char *s)
-{
- if (Termcap_Initalized == 0)
- return -1;
-#ifdef USE_TERMCAP
- return tgetflag (s);
-#else
- return _SLtt_tigetflag (Terminfo, s);
-#endif
-}
-
-static int Vt100_Like = 0;
-
-void SLtt_get_terminfo (void)
-{
- char *term;
- int status;
-
- term = getenv ("TERM");
- if (term == NULL)
- SLang_exit_error("TERM environment variable needs set.");
-
- if (0 == (status = SLtt_initialize (term)))
- return;
-
- if (status == -1)
- {
- SLang_exit_error ("Unknown terminal: %s\n\
-Check the TERM environment variable.\n\
-Also make sure that the terminal is defined in the terminfo database.\n\
-Alternatively, set the TERMCAP environment variable to the desired\n\
-termcap entry.",
- term);
- }
-
- if (status == -2)
- {
- SLang_exit_error ("\
-Your terminal lacks the ability to clear the screen or position the cursor.\n");
- }
-}
-
-/* Returns 0 if all goes well, -1 if terminal capabilities cannot be deduced,
- * or -2 if terminal cannot position the cursor.
- */
-int SLtt_initialize (char *term)
-{
- char *t, ch;
- int is_xterm;
- int almost_vtxxx;
-
- if (SLang_TT_Write_FD == -1)
- {
- /* Apparantly, this cannot fail according to the man pages. */
- SLang_TT_Write_FD = fileno (stdout);
- }
-
- if (term == NULL)
- {
- term = getenv ("TERM");
- if (term == NULL)
- return -1;
- }
-
- Linux_Console = (!strncmp (term, "linux", 5)
-# ifdef linux
- || !strncmp(term, "con", 3)
-# endif
- );
-
- t = term;
-
- if (strcmp(t, "vt52") && (*t++ == 'v') && (*t++ == 't')
- && (ch = *t, (ch >= '1') && (ch <= '9'))) Vt100_Like = 1;
-
- is_xterm = ((0 == strncmp (term, "xterm", 5))
- || (0 == strncmp (term, "rxvt", 4))
- || (0 == strncmp (term, "Eterm", 5)));
-
- almost_vtxxx = (Vt100_Like
- || Linux_Console
- || is_xterm
- || !strcmp (term, "screen"));
-
-# ifndef USE_TERMCAP
- if (NULL == (Terminfo = _SLtt_tigetent (term)))
- {
- if (almost_vtxxx) /* Special cases. */
- {
- int vt102 = 1;
- if (!strcmp (term, "vt100")) vt102 = 0;
- get_color_info ();
- SLtt_set_term_vtxxx (&vt102);
- return 0;
- }
- return -1;
- }
-# else /* USE_TERMCAP */
- if (1 != tgetent(Termcap_Buf, term))
- return -1;
- Termcap_String_Ptr = Termcap_String_Buf;
-# endif /* NOT USE_TERMCAP */
-
- Termcap_Initalized = 1;
-
- Cls_Str = SLtt_tgetstr ("cl");
- Curs_Pos_Str = SLtt_tgetstr ("cm");
-
- if ((NULL == (Ins_Mode_Str = SLtt_tgetstr("im")))
- || ( NULL == (Eins_Mode_Str = SLtt_tgetstr("ei")))
- || ( NULL == (Del_Char_Str = SLtt_tgetstr("dc"))))
- SLtt_Term_Cannot_Insert = 1;
-
- Visible_Bell_Str = SLtt_tgetstr ("vb");
- Curs_Up_Str = SLtt_tgetstr ("up");
- Rev_Scroll_Str = SLtt_tgetstr("sr");
- Del_N_Lines_Str = SLtt_tgetstr("DL");
- Add_N_Lines_Str = SLtt_tgetstr("AL");
-
- /* Actually these are used to initialize terminals that use cursor
- * addressing. Hard to believe.
- */
- Term_Init_Str = SLtt_tgetstr ("ti");
- Term_Reset_Str = SLtt_tgetstr ("te");
-
- /* If I do this for vtxxx terminals, arrow keys start sending ESC O A,
- * which I do not want. This is mainly for HP terminals.
- */
- if ((almost_vtxxx == 0) || SLtt_Force_Keypad_Init)
- {
- Keypad_Init_Str = SLtt_tgetstr ("ks");
- Keypad_Reset_Str = SLtt_tgetstr ("ke");
- }
-
- /* Make up for defective termcap/terminfo databases */
- if ((Vt100_Like && (term[2] != '1'))
- || Linux_Console
- || is_xterm
- )
- {
- if (Del_N_Lines_Str == NULL) Del_N_Lines_Str = "\033[%dM";
- if (Add_N_Lines_Str == NULL) Add_N_Lines_Str = "\033[%dL";
- }
-
- Scroll_R_Str = SLtt_tgetstr("cs");
-
- SLtt_get_screen_size ();
-
- if ((Scroll_R_Str == NULL)
- || (((NULL == Del_N_Lines_Str) || (NULL == Add_N_Lines_Str))
- && (NULL == Rev_Scroll_Str)))
- {
- if (is_xterm
- || Linux_Console
- )
- {
- /* Defective termcap mode!!!! */
- SLtt_set_term_vtxxx (NULL);
- }
- else SLtt_Term_Cannot_Scroll = 1;
- }
-
- Del_Eol_Str = SLtt_tgetstr("ce");
- Del_Bol_Str = SLtt_tgetstr("cb");
- if (is_xterm && (Del_Bol_Str == NULL))
- Del_Bol_Str = "\033[1K";
- if (is_xterm && (Del_Eol_Str == NULL))
- Del_Bol_Str = "\033[K";
-
- Rev_Vid_Str = SLtt_tgetstr("mr");
- if (Rev_Vid_Str == NULL) Rev_Vid_Str = SLtt_tgetstr("so");
-
- Bold_Vid_Str = SLtt_tgetstr("md");
-
- /* Although xterm cannot blink, it does display the blinking characters
- * as bold ones. Some Rxvt will display the background as high intensity.
- */
- if ((NULL == (Blink_Vid_Str = SLtt_tgetstr("mb")))
- && is_xterm)
- Blink_Vid_Str = "\033[5m";
-
- UnderLine_Vid_Str = SLtt_tgetstr("us");
-
- Start_Alt_Chars_Str = SLtt_tgetstr ("as"); /* smacs */
- End_Alt_Chars_Str = SLtt_tgetstr ("ae"); /* rmacs */
- Enable_Alt_Char_Set = SLtt_tgetstr ("eA"); /* enacs */
- SLtt_Graphics_Char_Pairs = SLtt_tgetstr ("ac");
-
- if (NULL == SLtt_Graphics_Char_Pairs)
- {
- /* make up for defective termcap/terminfo */
- if (Vt100_Like)
- {
- Start_Alt_Chars_Str = "\016";
- End_Alt_Chars_Str = "\017";
- Enable_Alt_Char_Set = "\033)0";
- }
- }
-
- /* aixterm added by willi */
- if (is_xterm || !strncmp (term, "aixterm", 7))
- {
- Start_Alt_Chars_Str = "\016";
- End_Alt_Chars_Str = "\017";
- Enable_Alt_Char_Set = "\033(B\033)0";
- }
-
- if ((SLtt_Graphics_Char_Pairs == NULL) &&
- ((Start_Alt_Chars_Str == NULL) || (End_Alt_Chars_Str == NULL)))
- {
- SLtt_Has_Alt_Charset = 0;
- Enable_Alt_Char_Set = NULL;
- }
- else SLtt_Has_Alt_Charset = 1;
-
-#ifdef AMIGA
- Enable_Alt_Char_Set = Start_Alt_Chars_Str = End_Alt_Chars_Str = NULL;
-#endif
-
- /* status line capabilities */
- if ((SLtt_Has_Status_Line == -1)
- && (0 != (SLtt_Has_Status_Line = TGETFLAG ("hs"))))
- {
- Disable_Status_line_Str = SLtt_tgetstr ("ds");
- Return_From_Status_Line_Str = SLtt_tgetstr ("fs");
- Goto_Status_Line_Str = SLtt_tgetstr ("ts");
- /* Status_Line_Esc_Ok = TGETFLAG("es"); */
- Num_Status_Line_Columns = SLtt_tgetnum ("ws");
- if (Num_Status_Line_Columns < 0) Num_Status_Line_Columns = 0;
- }
-
- if (NULL == (Norm_Vid_Str = SLtt_tgetstr("me")))
- {
- Norm_Vid_Str = SLtt_tgetstr("se");
- }
-
- Cursor_Invisible_Str = SLtt_tgetstr("vi");
- Cursor_Visible_Str = SLtt_tgetstr("ve");
-
- Curs_F_Str = SLtt_tgetstr("RI");
-
-# if 0
- if (NULL != Curs_F_Str)
- {
- Len_Curs_F_Str = strlen(Curs_F_Str);
- }
- else Len_Curs_F_Str = strlen(Curs_Pos_Str);
-# endif
-
- Automatic_Margins = TGETFLAG ("am");
- /* No_Move_In_Standout = !TGETFLAG ("ms"); */
-# ifdef HP_GLITCH_CODE
- Has_HP_Glitch = TGETFLAG ("xs");
-# else
- Worthless_Highlight = TGETFLAG ("xs");
-# endif
-
- if (Worthless_Highlight == 0)
- { /* Magic cookie glitch */
- Worthless_Highlight = (SLtt_tgetnum ("sg") > 0);
- }
-
- if (Worthless_Highlight)
- SLtt_Has_Alt_Charset = 0;
-
- Reset_Color_String = SLtt_tgetstr ("op");
- Color_Fg_Str = SLtt_tgetstr ("AF"); /* ANSI setaf */
- Color_Bg_Str = SLtt_tgetstr ("AB"); /* ANSI setbf */
- if ((Color_Fg_Str == NULL) || (Color_Bg_Str == NULL))
- {
- Color_Fg_Str = SLtt_tgetstr ("Sf"); /* setf */
- Color_Bg_Str = SLtt_tgetstr ("Sb"); /* setb */
- }
-
- if ((Max_Terminfo_Colors = SLtt_tgetnum ("Co")) < 0)
- Max_Terminfo_Colors = 8;
-
- if ((Color_Bg_Str != NULL) && (Color_Fg_Str != NULL))
- SLtt_Use_Ansi_Colors = 1;
- else
- {
-#if 0
- Color_Fg_Str = "%?%p1%{7}%>%t\033[1;3%p1%{8}%m%dm%e\033[3%p1%dm%;";
- Color_Bg_Str = "%?%p1%{7}%>%t\033[5;4%p1%{8}%m%dm%e\033[4%p1%dm%;";
- Max_Terminfo_Colors = 16;
-#else
- Color_Fg_Str = "\033[3%dm";
- Color_Bg_Str = "\033[4%dm";
- Max_Terminfo_Colors = 8;
-#endif
- }
-
-#if SLTT_HAS_NON_BCE_SUPPORT
- Can_Background_Color_Erase = TGETFLAG ("ut"); /* bce */
- /* Modern xterms have the BCE capability as well as the linux console */
- if (Can_Background_Color_Erase == 0)
- {
- Can_Background_Color_Erase = (Linux_Console
-# if SLTT_XTERM_ALWAYS_BCE
- || is_xterm
-# endif
- );
- }
-#endif
- get_color_info ();
-
-
- if ((Cls_Str == NULL)
- || (Curs_Pos_Str == NULL))
- return -2;
-
- return 0;
-}
-
-#endif
-/* Unix */
-
-/* specific to vtxxx only */
-void SLtt_enable_cursor_keys (void)
-{
-#ifdef __unix__
- if (Vt100_Like)
-#endif
- tt_write_string("\033=\033[?1l");
-}
-
-#ifdef VMS
-int SLtt_initialize (char *term)
-{
- SLtt_get_terminfo ();
- return 0;
-}
-
-void SLtt_get_terminfo ()
-{
- int zero = 0;
-
- Color_Fg_Str = "\033[3%dm";
- Color_Bg_Str = "\033[4%dm";
- Max_Terminfo_Colors = 8;
-
- get_color_info ();
-
- SLtt_set_term_vtxxx(&zero);
- Start_Alt_Chars_Str = "\016";
- End_Alt_Chars_Str = "\017";
- SLtt_Has_Alt_Charset = 1;
- SLtt_Graphics_Char_Pairs = "aaffgghhjjkkllmmnnooqqssttuuvvwwxx";
- Enable_Alt_Char_Set = "\033(B\033)0";
- SLtt_get_screen_size ();
-}
-#endif
-
-/* This sets term for vt102 terminals it parameter vt100 is 0. If vt100
- * is non-zero, set terminal appropriate for a only vt100
- * (no add line capability). */
-
-void SLtt_set_term_vtxxx(int *vt100)
-{
- Norm_Vid_Str = "\033[m";
-
- Scroll_R_Str = "\033[%i%d;%dr";
- Cls_Str = "\033[2J\033[H";
- Rev_Vid_Str = "\033[7m";
- Bold_Vid_Str = "\033[1m";
- Blink_Vid_Str = "\033[5m";
- UnderLine_Vid_Str = "\033[4m";
- Del_Eol_Str = "\033[K";
- Del_Bol_Str = "\033[1K";
- Rev_Scroll_Str = "\033M";
- Curs_F_Str = "\033[%dC";
- /* Len_Curs_F_Str = 5; */
- Curs_Pos_Str = "\033[%i%d;%dH";
- if ((vt100 == NULL) || (*vt100 == 0))
- {
- Ins_Mode_Str = "\033[4h";
- Eins_Mode_Str = "\033[4l";
- Del_Char_Str = "\033[P";
- Del_N_Lines_Str = "\033[%dM";
- Add_N_Lines_Str = "\033[%dL";
- SLtt_Term_Cannot_Insert = 0;
- }
- else
- {
- Del_N_Lines_Str = NULL;
- Add_N_Lines_Str = NULL;
- SLtt_Term_Cannot_Insert = 1;
- }
- SLtt_Term_Cannot_Scroll = 0;
- /* No_Move_In_Standout = 0; */
-}
-
-int SLtt_init_video (void)
-{
- /* send_string_to_term("\033[?6h"); */
- /* relative origin mode */
- tt_write_string (Term_Init_Str);
- tt_write_string (Keypad_Init_Str);
- SLtt_reset_scroll_region();
- SLtt_end_insert();
- tt_write_string (Enable_Alt_Char_Set);
- Video_Initialized = 1;
- return 0;
-}
-
-int SLtt_reset_video (void)
-{
- SLtt_goto_rc (SLtt_Screen_Rows - 1, 0);
- Cursor_Set = 0;
- SLtt_normal_video (); /* MSKermit requires this */
- tt_write_string(Norm_Vid_Str);
-
- Current_Fgbg = 0xFFFFFFFFU;
- SLtt_set_alt_char_set (0);
- if (SLtt_Use_Ansi_Colors)
- {
- if (Reset_Color_String == NULL)
- {
- SLtt_Char_Type attr;
- if (-1 != make_color_fgbg (NULL, NULL, &attr))
- write_attributes (attr);
- else tt_write_string ("\033[0m\033[m");
- }
- else tt_write_string (Reset_Color_String);
- Current_Fgbg = 0xFFFFFFFFU;
- }
- SLtt_erase_line ();
- tt_write_string (Keypad_Reset_Str);
- tt_write_string (Term_Reset_Str);
- SLtt_flush_output ();
- Video_Initialized = 0;
- return 0;
-}
-
-void SLtt_bold_video (void)
-{
- tt_write_string (Bold_Vid_Str);
-}
-
-int SLtt_set_mouse_mode (int mode, int force)
-{
- char *term;
-
- if (force == 0)
- {
- if (NULL == (term = (char *) getenv("TERM"))) return -1;
- if (strncmp ("xterm", term, 5))
- return -1;
- }
-
- if (mode)
- tt_write_string ("\033[?9h");
- else
- tt_write_string ("\033[?9l");
-
- return 0;
-}
-
-void SLtt_disable_status_line (void)
-{
- if (SLtt_Has_Status_Line > 0)
- {
- tt_write_string (Disable_Status_line_Str);
- SLtt_flush_output ();
- }
-}
-
-int SLtt_write_to_status_line (char *s, int col)
-{
- if ((SLtt_Has_Status_Line <= 0)
- || (Goto_Status_Line_Str == NULL)
- || (Return_From_Status_Line_Str == NULL))
- return -1;
-
- tt_printf (Goto_Status_Line_Str, col, 0);
- tt_write_string (s);
- tt_write_string (Return_From_Status_Line_Str);
- return 0;
-}
-
-void SLtt_get_screen_size (void)
-{
-#ifdef VMS
- int status, code;
- unsigned short chan;
- $DESCRIPTOR(dev_dsc, "SYS$INPUT:");
-#endif
- int r = 0, c = 0;
-
-#ifdef TIOCGWINSZ
- struct winsize wind_struct;
-
- do
- {
- if ((ioctl(1,TIOCGWINSZ,&wind_struct) == 0)
- || (ioctl(0, TIOCGWINSZ, &wind_struct) == 0)
- || (ioctl(2, TIOCGWINSZ, &wind_struct) == 0))
- {
- c = (int) wind_struct.ws_col;
- r = (int) wind_struct.ws_row;
- break;
- }
- }
- while (errno == EINTR);
-
-#endif
-
-#ifdef VMS
- status = sys$assign(&dev_dsc,&chan,0,0,0);
- if (status & 1)
- {
- code = DVI$_DEVBUFSIZ;
- status = lib$getdvi(&code, &chan,0, &c, 0,0);
- if (!(status & 1))
- c = 80;
- code = DVI$_TT_PAGE;
- status = lib$getdvi(&code, &chan,0, &r, 0,0);
- if (!(status & 1))
- r = 24;
- sys$dassgn(chan);
- }
-#endif
-
- if (r <= 0)
- {
- char *s = getenv ("LINES");
- if (s != NULL) r = atoi (s);
- }
-
- if (c <= 0)
- {
- char *s = getenv ("COLUMNS");
- if (s != NULL) c = atoi (s);
- }
-
- if (r <= 0) r = 24;
- if (c <= 0) c = 80;
-#if 0
- if ((r <= 0) || (r > 200)) r = 24;
- if ((c <= 0) || (c > 250)) c = 80;
-#endif
- SLtt_Screen_Rows = r;
- SLtt_Screen_Cols = c;
-}
-
-#if SLTT_HAS_NON_BCE_SUPPORT
-int _SLtt_get_bce_color_offset (void)
-{
- if ((SLtt_Use_Ansi_Colors == 0)
- || Can_Background_Color_Erase
- || SLtt_Use_Blink_For_ACS) /* in this case, we cannot lose a color */
- Bce_Color_Offset = 0;
- else
- {
- if (GET_BG(Ansi_Color_Map[0].fgbg) == SLSMG_COLOR_DEFAULT)
- Bce_Color_Offset = 0;
- else
- Bce_Color_Offset = 1;
- }
-
- return Bce_Color_Offset;
-}
-#endif
diff --git a/mdk-stage1/slang/slerr.c b/mdk-stage1/slang/slerr.c
deleted file mode 100644
index 139b3859b..000000000
--- a/mdk-stage1/slang/slerr.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/* error handling common to all routines. */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-void (*SLang_VMessage_Hook) (char *, va_list);
-void (*SLang_Error_Hook)(char *);
-void (*SLang_Exit_Error_Hook)(char *, va_list);
-volatile int SLang_Error = 0;
-char *SLang_Error_Message;
-volatile int SLKeyBoard_Quit = 0;
-
-static char *get_error_string (void)
-{
- char *str;
-
- if (!SLang_Error) SLang_Error = SL_UNKNOWN_ERROR;
- if (SLang_Error_Message != NULL) str = SLang_Error_Message;
- else switch(SLang_Error)
- {
- case SL_NOT_IMPLEMENTED: str = "Not Implemented"; break;
- case SL_APPLICATION_ERROR: str = "Application Error"; break;
- case SL_VARIABLE_UNINITIALIZED: str = "Variable Uninitialized"; break;
- case SL_MALLOC_ERROR : str = "Malloc Error"; break;
- case SL_INTERNAL_ERROR: str = "Internal Error"; break;
- case SL_STACK_OVERFLOW: str = "Stack Overflow"; break;
- case SL_STACK_UNDERFLOW: str = "Stack Underflow"; break;
- case SL_INTRINSIC_ERROR: str = "Intrinsic Error"; break;
- case SL_USER_BREAK: str = "User Break"; break;
- case SL_UNDEFINED_NAME: str = "Undefined Name"; break;
- case SL_SYNTAX_ERROR: str = "Syntax Error"; break;
- case SL_DUPLICATE_DEFINITION: str = "Duplicate Definition"; break;
- case SL_TYPE_MISMATCH: str = "Type Mismatch"; break;
- case SL_READONLY_ERROR: str = "Variable is read-only"; break;
- case SL_DIVIDE_ERROR: str = "Divide by zero"; break;
- case SL_OBJ_NOPEN: str = "Object not opened"; break;
- case SL_OBJ_UNKNOWN: str = "Object unknown"; break;
- case SL_INVALID_PARM: str = "Invalid Parameter"; break;
- case SL_TYPE_UNDEFINED_OP_ERROR:
- str = "Operation not defined for datatype"; break;
- case SL_USER_ERROR:
- str = "User Error"; break;
- case SL_USAGE_ERROR:
- str = "Illegal usage of function";
- break;
- case SL_FLOATING_EXCEPTION:
- str = "Floating Point Exception";
- break;
- case SL_UNKNOWN_ERROR:
- default: str = "Unknown Error Code";
- }
-
- SLang_Error_Message = NULL;
- return str;
-}
-
-void SLang_doerror (char *error)
-{
- char *str = NULL;
- char *err;
- char *malloced_err_buf;
- char err_buf [1024];
-
- malloced_err_buf = NULL;
-
- if (((SLang_Error == SL_USER_ERROR)
- || (SLang_Error == SL_USAGE_ERROR))
- && (error != NULL) && (*error != 0))
- err = error;
- else
- {
- char *sle = "S-Lang Error: ";
- unsigned int len;
- char *fmt;
-
- str = get_error_string ();
-
- fmt = "%s%s%s";
- if ((error == NULL) || (*error == 0))
- error = "";
- else if (SLang_Error == SL_UNKNOWN_ERROR)
- /* Do not display an unknown error message if error is non-NULL */
- str = "";
- else
- fmt = "%s%s: %s";
-
- len = strlen (sle) + strlen (str) + strlen(error) + 1;
-
- err = err_buf;
- if (len >= sizeof (err_buf))
- {
- if (NULL == (malloced_err_buf = SLmalloc (len)))
- err = NULL;
- else
- err = malloced_err_buf;
- }
-
- if (err != NULL) sprintf (err, fmt, sle, str, error);
- else err = "Out of memory";
- }
-
- if (SLang_Error_Hook == NULL)
- {
- fputs (err, stderr);
- fputs("\r\n", stderr);
- fflush (stderr);
- }
- else
- (*SLang_Error_Hook)(err);
-
- SLfree (malloced_err_buf);
-}
-
-void SLang_verror (int err_code, char *fmt, ...)
-{
- va_list ap;
- char err [1024];
-
- if (err_code == 0) err_code = SL_INTRINSIC_ERROR;
- if (SLang_Error == 0) SLang_Error = err_code;
-
- if (fmt != NULL)
- {
- va_start(ap, fmt);
- (void) _SLvsnprintf (err, sizeof (err), fmt, ap);
- fmt = err;
- va_end(ap);
- }
-
- SLang_doerror (fmt);
-}
-
-void SLang_exit_error (char *fmt, ...)
-{
- va_list ap;
-
- va_start (ap, fmt);
- if (SLang_Exit_Error_Hook != NULL)
- {
- (*SLang_Exit_Error_Hook) (fmt, ap);
- exit (1);
- }
-
- if (fmt != NULL)
- {
- vfprintf (stderr, fmt, ap);
- fputs ("\r\n", stderr);
- fflush (stderr);
- }
- va_end (ap);
-
- exit (1);
-}
-
-void SLang_vmessage (char *fmt, ...)
-{
- va_list ap;
-
- if (fmt == NULL)
- return;
-
- va_start (ap, fmt);
-
- if (SLang_VMessage_Hook != NULL)
- (*SLang_VMessage_Hook) (fmt, ap);
- else
- {
- vfprintf (stdout, fmt, ap);
- fputs ("\r\n", stdout);
- }
-
- va_end (ap);
-}
diff --git a/mdk-stage1/slang/slerrno.c b/mdk-stage1/slang/slerrno.c
deleted file mode 100644
index 662fadde1..000000000
--- a/mdk-stage1/slang/slerrno.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/* The point of this file is to handle errno values in a system independent
- * way so that they may be used in slang scripts.
- */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <errno.h>
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct
-{
- char *msg;
- int sys_errno;
- char *symbolic_name;
-}
-Errno_Map_Type;
-
-static Errno_Map_Type Errno_Map [] =
-{
-#ifndef EPERM
-# define EPERM -1
-#endif
- {"Not owner", EPERM, "EPERM"},
-#ifndef ENOENT
-# define ENOENT -1
-#endif
- {"No such file or directory", ENOENT, "ENOENT"},
-#ifndef ESRCH
-# define ESRCH -1
-#endif
- {"No such process", ESRCH, "ESRCH"},
-#ifndef EINTR
-# define EINTR -1
-#endif
- {"Interrupted system call", EINTR, "EINTR"},
-#ifndef EIO
-# define EIO -1
-#endif
- {"I/O error", EIO, "EIO"},
-#ifndef ENXIO
-# define ENXIO -1
-#endif
- {"No such device or address", ENXIO, "ENXIO"},
-#ifndef E2BIG
-# define E2BIG -1
-#endif
- {"Arg list too long", E2BIG, "E2BIG"},
-#ifndef ENOEXEC
-# define ENOEXEC -1
-#endif
- {"Exec format error", ENOEXEC,"ENOEXEC"},
-#ifndef EBADF
-# define EBADF -1
-#endif
- {"Bad file number", EBADF, "EBADF"},
-#ifndef ECHILD
-# define ECHILD -1
-#endif
- {"No children", ECHILD, "ECHILD"},
-#ifndef EAGAIN
-# define EAGAIN -1
-#endif
- {"Try again", EAGAIN, "EAGAIN"},
-#ifndef ENOMEM
-# define ENOMEM -1
-#endif
- {"Not enough core", ENOMEM, "ENOMEM"},
-#ifndef EACCES
-# define EACCES -1
-#endif
- {"Permission denied", EACCES, "EACCES"},
-#ifndef EFAULT
-# define EFAULT -1
-#endif
- {"Bad address", EFAULT, "EFAULT"},
-#ifndef ENOTBLK
-# define ENOTBLK -1
-#endif
- {"Block device required", ENOTBLK, "ENOTBLK"},
-#ifndef EBUSY
-# define EBUSY -1
-#endif
- {"Mount device busy", EBUSY, "EBUSY"},
-#ifndef EEXIST
-# define EEXIST -1
-#endif
- {"File exists", EEXIST, "EEXIST"},
-#ifndef EXDEV
-# define EXDEV -1
-#endif
- {"Cross-device link", EXDEV, "EXDEV"},
-#ifndef ENODEV
-# define ENODEV -1
-#endif
- {"No such device", ENODEV, "ENODEV"},
-#ifndef ENOTDIR
-# define ENOTDIR -1
-#endif
- {"Not a directory", ENOTDIR, "ENOTDIR"},
-#ifndef EISDIR
-# define EISDIR -1
-#endif
- {"Is a directory", EISDIR, "EISDIR"},
-#ifndef EINVAL
-# define EINVAL -1
-#endif
- {"Invalid argument", EINVAL, "EINVAL"},
-#ifndef ENFILE
-# define ENFILE -1
-#endif
- {"File table overflow", ENFILE, "ENFILE"},
-#ifndef EMFILE
-# define EMFILE -1
-#endif
- {"Too many open files", EMFILE, "EMFILE"},
-#ifndef ENOTTY
-# define ENOTTY -1
-#endif
- {"Not a typewriter", ENOTTY, "ENOTTY"},
-#ifndef ETXTBSY
-# define ETXTBSY -1
-#endif
- {"Text file busy", ETXTBSY, "ETXTBSY"},
-#ifndef EFBIG
-# define EFBIG -1
-#endif
- {"File too large", EFBIG, "EFBIG"},
-#ifndef ENOSPC
-# define ENOSPC -1
-#endif
- {"No space left on device", ENOSPC, "ENOSPC"},
-#ifndef ESPIPE
-# define ESPIPE -1
-#endif
- {"Illegal seek", ESPIPE, "ESPIPE"},
-#ifndef EROFS
-# define EROFS -1
-#endif
- {"Read-only file system", EROFS, "EROFS"},
-#ifndef EMLINK
-# define EMLINK -1
-#endif
- {"Too many links", EMLINK, "EMLINK"},
-#ifndef EPIPE
-# define EPIPE -1
-#endif
- {"Broken pipe", EPIPE, "EPIPE"},
-#ifndef ELOOP
-# define ELOOP -1
-#endif
- {"Too many levels of symbolic links",ELOOP, "ELOOP"},
-#ifndef ENAMETOOLONG
-# define ENAMETOOLONG -1
-#endif
- {"File name too long", ENAMETOOLONG, "ENAMETOOLONG"},
-
- {NULL, 0, NULL}
-};
-
-int _SLerrno_errno;
-
-int SLerrno_set_errno (int sys_errno)
-{
- _SLerrno_errno = sys_errno;
- return 0;
-}
-
-char *SLerrno_strerror (int sys_errno)
-{
- Errno_Map_Type *e;
-
- e = Errno_Map;
- while (e->msg != NULL)
- {
- if (e->sys_errno == sys_errno)
- return e->msg;
-
- e++;
- }
-
- if (sys_errno == SL_ERRNO_NOT_IMPLEMENTED)
- return "System call not available for this platform";
-
- return "Unknown error";
-}
-
-static char *intrin_errno_string (int *sys_errno)
-{
- return SLerrno_strerror (*sys_errno);
-}
-
-int _SLerrno_init (void)
-{
- static Errno_Map_Type *e;
-
- if (e != NULL) /* already initialized */
- return 0;
-
- if ((-1 == SLadd_intrinsic_function ("errno_string", (FVOID_STAR) intrin_errno_string,
- SLANG_STRING_TYPE, 1, SLANG_INT_TYPE))
- || (-1 == SLadd_intrinsic_variable ("errno", (VOID_STAR)&_SLerrno_errno, SLANG_INT_TYPE, 1)))
- return -1;
-
- e = Errno_Map;
- while (e->msg != NULL)
- {
- if (-1 == SLadd_intrinsic_variable (e->symbolic_name, (VOID_STAR) &e->sys_errno, SLANG_INT_TYPE, 1))
- return -1;
- e++;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/slang/slgetkey.c b/mdk-stage1/slang/slgetkey.c
deleted file mode 100644
index 2f2914f07..000000000
--- a/mdk-stage1/slang/slgetkey.c
+++ /dev/null
@@ -1,306 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-unsigned int SLang_Input_Buffer_Len = 0;
-unsigned char SLang_Input_Buffer [SL_MAX_INPUT_BUFFER_LEN];
-
-int SLang_Abort_Char = 7;
-int SLang_Ignore_User_Abort = 0;
-
-/* This has the effect of mapping all characters in the range 128-169 to
- * ESC [ something
- */
-
-unsigned int SLang_getkey (void)
-{
- unsigned int imax;
- unsigned int ch;
-
- if (SLang_Input_Buffer_Len)
- {
- ch = (unsigned int) *SLang_Input_Buffer;
- SLang_Input_Buffer_Len--;
- imax = SLang_Input_Buffer_Len;
-
- SLMEMCPY ((char *) SLang_Input_Buffer,
- (char *) (SLang_Input_Buffer + 1), imax);
- }
- else if (SLANG_GETKEY_ERROR == (ch = _SLsys_getkey ())) return ch;
-
-#if _SLANG_MAP_VTXXX_8BIT
-# if !defined(IBMPC_SYSTEM)
- if (ch & 0x80)
- {
- unsigned char i;
- i = (unsigned char) (ch & 0x7F);
- if (i < ' ')
- {
- i += 64;
- SLang_ungetkey (i);
- ch = 27;
- }
- }
-# endif
-#endif
- return(ch);
-}
-
-int SLang_ungetkey_string (unsigned char *s, unsigned int n)
-{
- register unsigned char *bmax, *b, *b1;
- if (SLang_Input_Buffer_Len + n + 3 > SL_MAX_INPUT_BUFFER_LEN)
- return -1;
-
- b = SLang_Input_Buffer;
- bmax = (b - 1) + SLang_Input_Buffer_Len;
- b1 = bmax + n;
- while (bmax >= b) *b1-- = *bmax--;
- bmax = b + n;
- while (b < bmax) *b++ = *s++;
- SLang_Input_Buffer_Len += n;
- return 0;
-}
-
-int SLang_buffer_keystring (unsigned char *s, unsigned int n)
-{
-
- if (n + SLang_Input_Buffer_Len + 3 > SL_MAX_INPUT_BUFFER_LEN) return -1;
-
- SLMEMCPY ((char *) SLang_Input_Buffer + SLang_Input_Buffer_Len,
- (char *) s, n);
- SLang_Input_Buffer_Len += n;
- return 0;
-}
-
-int SLang_ungetkey (unsigned char ch)
-{
- return SLang_ungetkey_string(&ch, 1);
-}
-
-int SLang_input_pending (int tsecs)
-{
- int n;
- unsigned char c;
- if (SLang_Input_Buffer_Len) return (int) SLang_Input_Buffer_Len;
-
- n = _SLsys_input_pending (tsecs);
-
- if (n <= 0) return 0;
-
- c = (unsigned char) SLang_getkey ();
- SLang_ungetkey_string (&c, 1);
-
- return n;
-}
-
-void SLang_flush_input (void)
-{
- int quit = SLKeyBoard_Quit;
-
- SLang_Input_Buffer_Len = 0;
- SLKeyBoard_Quit = 0;
- while (_SLsys_input_pending (0) > 0)
- {
- (void) _SLsys_getkey ();
- /* Set this to 0 because _SLsys_getkey may stuff keyboard buffer if
- * key sends key sequence (OS/2, DOS, maybe VMS).
- */
- SLang_Input_Buffer_Len = 0;
- }
- SLKeyBoard_Quit = quit;
-}
-
-#ifdef IBMPC_SYSTEM
-static int Map_To_ANSI;
-int SLgetkey_map_to_ansi (int enable)
-{
- Map_To_ANSI = enable;
- return 0;
-}
-
-static int convert_scancode (unsigned int scan,
- unsigned int shift,
- int getkey,
- unsigned int *ret_key)
-{
- unsigned char buf[16];
- unsigned char *b;
- unsigned char end;
- int is_arrow;
-
- shift &= (_SLTT_KEY_ALT|_SLTT_KEY_SHIFT|_SLTT_KEY_CTRL);
-
- b = buf;
- if (_SLTT_KEY_ALT == shift)
- {
- shift = 0;
- *b++ = 27;
- }
- *b++ = 27;
- *b++ = '[';
-
- is_arrow = 0;
- end = '~';
- if (shift)
- {
- if (shift == _SLTT_KEY_CTRL)
- end = '^';
- else if (shift == _SLTT_KEY_SHIFT)
- end = '$';
- else shift = 0;
- }
-
- /* These mappings correspond to what rxvt produces under Linux */
- switch (scan & 0xFF)
- {
- default:
- return -1;
-
- case 0x47: /* home */
- *b++ = '1';
- break;
- case 0x48: /* up */
- end = 'A';
- is_arrow = 1;
- break;
- case 0x49: /* PgUp */
- *b++ = '5';
- break;
- case 0x4B: /* Left */
- end = 'D';
- is_arrow = 1;
- break;
- case 0x4D: /* Right */
- end = 'C';
- is_arrow = 1;
- break;
- case 0x4F: /* End */
- *b++ = '4';
- break;
- case 0x50: /* Down */
- end = 'B';
- is_arrow = 1;
- break;
- case 0x51: /* PgDn */
- *b++ = '6';
- break;
- case 0x52: /* Insert */
- *b++ = '2';
- break;
- case 0x53: /* Delete */
- *b++ = '3';
- break;
- case ';': /* F1 */
- *b++ = '1';
- *b++ = '1';
- break;
- case '<': /* F2 */
- *b++ = '1';
- *b++ = '2';
- break;
- case '=': /* F3 */
- *b++ = '1';
- *b++ = '3';
- break;
-
- case '>': /* F4 */
- *b++ = '1';
- *b++ = '4';
- break;
-
- case '?': /* F5 */
- *b++ = '1';
- *b++ = '5';
- break;
-
- case '@': /* F6 */
- *b++ = '1';
- *b++ = '7';
- break;
-
- case 'A': /* F7 */
- *b++ = '1';
- *b++ = '8';
- break;
-
- case 'B': /* F8 */
- *b++ = '1';
- *b++ = '9';
- break;
-
- case 'C': /* F9 */
- *b++ = '2';
- *b++ = '0';
- break;
-
- case 'D': /* F10 */
- *b++ = '2';
- *b++ = '1';
- break;
-
- case 0x57: /* F11 */
- *b++ = '2';
- *b++ = '3';
- break;
-
- case 0x58: /* F12 */
- *b++ = '2';
- *b++ = '4';
- break;
- }
-
- if (is_arrow && shift)
- {
- if (shift == _SLTT_KEY_CTRL)
- end &= 0x1F;
- else
- end |= 0x20;
- }
- *b++ = end;
-
- if (getkey)
- {
- (void) SLang_buffer_keystring (buf + 1, (unsigned int) (b - (buf + 1)));
- *ret_key = buf[0];
- return 0;
- }
-
- (void) SLang_buffer_keystring (buf, (unsigned int) (b - buf));
- return 0;
-}
-
-
-unsigned int _SLpc_convert_scancode (unsigned int scan,
- unsigned int shift,
- int getkey)
-{
- unsigned char buf[16];
-
- if (Map_To_ANSI)
- {
- if (0 == convert_scancode (scan, shift, getkey, &scan))
- return scan;
- }
-
- if (getkey)
- {
- buf[0] = scan & 0xFF;
- SLang_buffer_keystring (buf, 1);
- return (scan >> 8) & 0xFF;
- }
- buf[0] = (scan >> 8) & 0xFF;
- buf[1] = scan & 0xFF;
- (void) SLang_buffer_keystring (buf, 2);
- return 0;
-}
-
-#endif
diff --git a/mdk-stage1/slang/slimport.c b/mdk-stage1/slang/slimport.c
deleted file mode 100644
index 44b4b25e1..000000000
--- a/mdk-stage1/slang/slimport.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#define SLANG_HAS_DYNAMIC_LINKING 1
-
-#ifndef HAVE_DLFCN_H
-# undef SLANG_HAS_DYNAMIC_LINKING
-# define SLANG_HAS_DYNAMIC_LINKING 0
-#endif
-
-/* The rest of this file is in the if block */
-#if SLANG_HAS_DYNAMIC_LINKING
-
-#ifdef HAVE_DLFCN_H
-# include <dlfcn.h>
-#endif
-
-static char *Module_Path;
-#define MODULE_PATH_ENV_NAME "SLANG_MODULE_PATH"
-#ifndef MODULE_INSTALL_DIR
-# define MODULE_INSTALL_DIR "/usr/local/lib/slang/modules"
-#endif
-
-typedef struct _Handle_Type
-{
- struct _Handle_Type *next;
- char *name;
- VOID_STAR handle;
- void (*deinit_fun) (void);
-}
-Handle_Type;
-
-static Handle_Type *Handle_List;
-
-static void delete_handles (void)
-{
- while (Handle_List != NULL)
- {
- Handle_Type *next = Handle_List->next;
-
- if (Handle_List->deinit_fun != NULL)
- Handle_List->deinit_fun ();
- (void) dlclose (Handle_List->handle);
- SLang_free_slstring (Handle_List->name);
- SLfree ((char *)Handle_List);
- Handle_List = next;
- }
-}
-
-static Handle_Type *save_handle (char *name, VOID_STAR h, void (*df)(void))
-{
- Handle_Type *l;
-
- l = (Handle_Type *) SLmalloc (sizeof (Handle_Type));
- if (l == NULL)
- return NULL;
- memset ((char *) l, 0, sizeof(Handle_Type));
- if (NULL == (l->name = SLang_create_slstring (name)))
- {
- SLfree ((char *) l);
- return NULL;
- }
- l->handle = h;
- l->next = Handle_List;
- l->deinit_fun = df;
- Handle_List = l;
-
- return l;
-}
-
-static Handle_Type *find_handle (char *name)
-{
- Handle_Type *l;
-
- l = Handle_List;
- while (l != NULL)
- {
- if (0 == strcmp (l->name, name))
- break;
- l = l->next;
- }
- return l;
-}
-
-static int import_from_library (char *name,
- char *init_fun_name, char *deinit_fun_name,
- char *file,
- char *ns,
- char *ns_init_fun_name)
-{
- VOID_STAR handle;
- int (*init_fun) (void);
- int (*ns_init_fun) (char *);
- void (*deinit_fun) (void);
- char *err;
- char filebuf[1024];
- char *fun_name;
-
- if (NULL != find_handle (name))
- return 0; /* already loaded */
-
- while (1)
- {
-#ifndef RTLD_GLOBAL
-# define RTLD_GLOBAL 0
-#endif
-#ifdef RTLD_NOW
- handle = (VOID_STAR) dlopen (file, RTLD_NOW | RTLD_GLOBAL);
-#else
- handle = (VOID_STAR) dlopen (file, RTLD_LAZY | RTLD_GLOBAL);
-#endif
-
- if (handle != NULL)
- break;
-
- if (NULL == strchr (file, '/'))
- {
- _SLsnprintf (filebuf, sizeof (filebuf), "./%s", file);
- file = filebuf;
- continue;
- }
-
- if (NULL == (err = (char *) dlerror ()))
- err = "UNKNOWN";
-
- SLang_verror (SL_INTRINSIC_ERROR,
- "Error linking to %s: %s", file, err);
- return -1;
- }
-
- fun_name = ns_init_fun_name;
- ns_init_fun = (int (*)(char *)) dlsym (handle, fun_name);
- if (ns_init_fun == NULL)
- {
- if ((ns != NULL)
- && (0 != strcmp (ns, "Global")))
- goto return_error;
-
- fun_name = init_fun_name;
- init_fun = (int (*)(void)) dlsym (handle, fun_name);
- if (init_fun == NULL)
- goto return_error;
-
- if (-1 == (*init_fun) ())
- {
- dlclose (handle);
- return -1;
- }
- }
- else if (-1 == (*ns_init_fun) (ns))
- {
- dlclose (handle);
- return -1;
- }
-
-
- deinit_fun = (void (*)(void)) dlsym (handle, deinit_fun_name);
-
- (void) save_handle (name, handle, deinit_fun);
- return 0;
-
- return_error:
-
- if (NULL == (err = (char *) dlerror ()))
- err = "UNKNOWN";
-
- dlclose (handle);
- SLang_verror (SL_INTRINSIC_ERROR,
- "Unable to get symbol %s from %s: %s",
- name, file, err);
- return -1;
-}
-
-static void import_module (void)
-{
- char module_name[256];
- char symbol_name[256];
- char deinit_name[256];
- char ns_init_name[256];
- char *path;
- char *file;
- char *module;
- char *ns = NULL;
-
- if (SLang_Num_Function_Args == 2)
- {
- if (-1 == SLang_pop_slstring (&ns))
- return;
- }
-
- if (-1 == SLang_pop_slstring (&module))
- {
- SLang_free_slstring (ns); /* NULL ok */
- return;
- }
-
- _SLsnprintf (symbol_name, sizeof(symbol_name), "init_%s_module", module);
- _SLsnprintf (module_name, sizeof(module_name), "%s-module.so", module);
- _SLsnprintf (deinit_name, sizeof(deinit_name), "deinit_%s_module", module);
- _SLsnprintf (ns_init_name, sizeof (ns_init_name), "init_%s_module_ns", module);
-
- if (Module_Path != NULL)
- file = SLpath_find_file_in_path (Module_Path, module_name);
- else file = NULL;
-
- if ((file == NULL)
- && (NULL != (path = getenv (MODULE_PATH_ENV_NAME))))
- file = SLpath_find_file_in_path (path, module_name);
-
- if (file == NULL)
- file = SLpath_find_file_in_path (MODULE_INSTALL_DIR, module_name);
-
- if (file != NULL)
- {
- (void) import_from_library (symbol_name, symbol_name, deinit_name, file, ns, ns_init_name);
- SLfree (file);
- }
- else
- {
- /* Maybe the system loader can find it in LD_LIBRARY_PATH */
- (void) import_from_library (symbol_name, symbol_name, deinit_name, module_name, ns, ns_init_name);
- }
-}
-
-static void set_import_module_path (char *path)
-{
- (void) SLang_set_module_load_path (path);
-}
-
-static char *get_import_module_path (void)
-{
- char *path;
- if (Module_Path != NULL)
- return Module_Path;
- if (NULL != (path = getenv (MODULE_PATH_ENV_NAME)))
- return path;
- return MODULE_INSTALL_DIR;
-}
-
-static SLang_Intrin_Fun_Type Module_Intrins [] =
-{
- MAKE_INTRINSIC_0("import", import_module, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("set_import_module_path", set_import_module_path, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("get_import_module_path", get_import_module_path, SLANG_STRING_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-#endif /* SLANG_HAS_DYNAMIC_LINKING */
-
-int SLang_set_module_load_path (char *path)
-{
-#if SLANG_HAS_DYNAMIC_LINKING
- if (NULL == (path = SLang_create_slstring (path)))
- return -1;
- SLang_free_slstring (Module_Path);
- Module_Path = path;
- return 0;
-#else
- (void) path;
- return -1;
-#endif
-}
-
-int SLang_init_import (void)
-{
-#if SLANG_HAS_DYNAMIC_LINKING
- (void) SLang_add_cleanup_function (delete_handles);
- return SLadd_intrin_fun_table (Module_Intrins, "__IMPORT__");
-#else
- return 0;
-#endif
-}
diff --git a/mdk-stage1/slang/slinclud.h b/mdk-stage1/slang/slinclud.h
deleted file mode 100644
index d60a4423e..000000000
--- a/mdk-stage1/slang/slinclud.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _SLANG_INCLUDE_H_
-#define _SLANG_INCLUDE_H_
-
-#include "config.h"
-#include "sl-feat.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#ifdef HAVE_MALLOC_H
-# include <malloc.h>
-#endif
-
-#ifdef HAVE_MEMORY_H
-# include <memory.h>
-#endif
-
-#endif /* _SLANG_INCLUDE_H_ */
diff --git a/mdk-stage1/slang/slintall.c b/mdk-stage1/slang/slintall.c
deleted file mode 100644
index a66b9d6d2..000000000
--- a/mdk-stage1/slang/slintall.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-int SLang_init_all (void)
-{
- if ((-1 == SLang_init_slang ())
- || (-1 == SLang_init_slmath ())
- || (-1 == SLang_init_posix_dir ())
- || (-1 == SLang_init_posix_process ())
- || (-1 == SLang_init_stdio ())
- || (-1 == SLang_init_array ())
- || (-1 == SLang_init_posix_io ())
- || (-1 == SLang_init_ospath ())
- )
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slistruc.c b/mdk-stage1/slang/slistruc.c
deleted file mode 100644
index 06b8fd6ff..000000000
--- a/mdk-stage1/slang/slistruc.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/* Intrinsic Structure type implementation */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* Intrinsic structures */
-
-typedef struct
-{
- char *name;
- VOID_STAR addr;
- SLang_IStruct_Field_Type *fields;
-}
-_SLang_IStruct_Type;
-
-static SLang_IStruct_Field_Type *istruct_pop_field (char *name, int no_readonly, VOID_STAR *addr)
-{
- _SLang_IStruct_Type *s;
- SLang_IStruct_Field_Type *f;
- char *struct_addr;
-
- /* Note: There is no need to free this object */
- if (-1 == SLclass_pop_ptr_obj (SLANG_ISTRUCT_TYPE, (VOID_STAR *) &s))
- return NULL;
-
- if (NULL == (struct_addr = *(char **)s->addr))
- {
- SLang_verror (SL_INTRINSIC_ERROR,
- "%s is NULL. Unable to access field", s->name);
- return NULL;
- }
-
- f = s->fields;
- while (f->field_name != NULL)
- {
- /* Since both these are slstrings, just test pointers */
- if (f->field_name != name)
- {
- f++;
- continue;
- }
-
- if (no_readonly && f->read_only)
- {
- SLang_verror (SL_READONLY_ERROR,
- "%s.%s is read-only", s->name, name);
- return NULL;
- }
-
- *addr = (VOID_STAR) (struct_addr + f->offset);
- return f;
- }
-
- SLang_verror (SL_TYPE_MISMATCH,
- "%s has no field called %s", s->name, name);
- return NULL;
-}
-
-static int istruct_sget (unsigned char type, char *name)
-{
- SLang_IStruct_Field_Type *f;
- VOID_STAR addr;
- SLang_Class_Type *cl;
-
- if (NULL == (f = istruct_pop_field (name, 0, &addr)))
- return -1;
-
- type = f->type;
- cl = _SLclass_get_class (type);
-
- return (cl->cl_push_intrinsic)(f->type, addr);
-}
-
-static int istruct_sput (unsigned char type, char *name)
-{
- SLang_IStruct_Field_Type *f;
- VOID_STAR addr;
- SLang_Class_Type *cl;
-
- if (NULL == (f = istruct_pop_field (name, 1, &addr)))
- return -1;
-
- type = f->type;
- cl = _SLclass_get_class (type);
-
- return (*cl->cl_pop) (type, addr);
-}
-
-static int istruct_push (unsigned char type, VOID_STAR ptr)
-{
- _SLang_IStruct_Type *s;
-
- s = *(_SLang_IStruct_Type **) ptr;
- if ((s == NULL)
- || (s->addr == NULL)
- || (*(char **) s->addr == NULL))
- return SLang_push_null ();
-
- return SLclass_push_ptr_obj (type, (VOID_STAR) s);
-}
-
-static int istruct_pop (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_pop_ptr_obj (type, (VOID_STAR *)ptr);
-}
-
-static void istruct_destroy (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- (void) ptr;
-}
-
-/* Intrinsic struct objects are not stored in a variable. So, the address that
- * is passed here is actually a pointer to the struct. So, pass its address
- * to istruct_push since v is a variable. Confusing, n'est pas?
- */
-static int istruct_push_intrinsic (unsigned char type, VOID_STAR v)
-{
- return istruct_push (type, (VOID_STAR) &v);
-}
-
-static int init_intrin_struct (void)
-{
- SLang_Class_Type *cl;
- static int initialized;
-
- if (initialized)
- return 0;
-
- if (NULL == (cl = SLclass_allocate_class ("IStruct_Type")))
- return -1;
-
- cl->cl_pop = istruct_pop;
- cl->cl_push = istruct_push;
- cl->cl_sget = istruct_sget;
- cl->cl_sput = istruct_sput;
- cl->cl_destroy = istruct_destroy;
- cl->cl_push_intrinsic = istruct_push_intrinsic;
-
- if (-1 == SLclass_register_class (cl, SLANG_ISTRUCT_TYPE, sizeof (_SLang_IStruct_Type *),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- initialized = 1;
- return 0;
-}
-
-int SLadd_istruct_table (SLang_IStruct_Field_Type *fields, VOID_STAR addr, char *name)
-{
- _SLang_IStruct_Type *s;
- SLang_IStruct_Field_Type *f;
-
- if (-1 == init_intrin_struct ())
- return -1;
-
- if (addr == NULL)
- {
- SLang_verror (SL_INVALID_PARM,
- "SLadd_istruct_table: address must be non-NULL");
- return -1;
- }
-
- if (fields == NULL)
- return -1;
-
- /* Make the field names slstrings so that only the pointers need to be
- * compared. However, this table may have been already been added for
- * another instance of the intrinsic object. So, check for the presence
- * of an slstring.
- */
- f = fields;
- while (f->field_name != NULL)
- {
- char *fname;
-
- fname = SLang_create_slstring (f->field_name);
- if (fname == NULL)
- return -1;
-
- /* Here is the check for the slstring */
- if (f->field_name == fname)
- SLang_free_slstring (fname);
- else /* replace string literal with slstring */
- f->field_name = fname;
-
- f++;
- }
-
- s = (_SLang_IStruct_Type *)SLmalloc (sizeof (_SLang_IStruct_Type));
- if (s == NULL)
- return -1;
-
- memset ((char *)s, 0, sizeof (_SLang_IStruct_Type));
- if (NULL == (s->name = SLang_create_slstring (name)))
- {
- SLfree ((char *) s);
- return -1;
- }
-
- s->addr = addr;
- s->fields = fields;
-
- if (-1 == SLadd_intrinsic_variable (name, (VOID_STAR) s, SLANG_ISTRUCT_TYPE, 1))
- {
- SLang_free_slstring (s->name);
- SLfree ((char *) s);
- return -1;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/slang/slkeymap.c b/mdk-stage1/slang/slkeymap.c
deleted file mode 100644
index dff65433e..000000000
--- a/mdk-stage1/slang/slkeymap.c
+++ /dev/null
@@ -1,596 +0,0 @@
-/* Keymap routines for SLang. The role of these keymap routines is simple:
- * Just read keys from the tty and return a pointer to a keymap structure.
- * That is, a keymap is simple a mapping of strings (keys from tty) to
- * structures. Also included are routines for managing the keymaps.
- */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* We need a define a rule for upperand lower case chars that user cannot
- change! This could be a problem for international chars! */
-
-#define UPPER_CASE_KEY(x) (((x) >= 'a') && ((x) <= 'z') ? (x) - 32 : (x))
-#define LOWER_CASE_KEY(x) (((x) >= 'A') && ((x) <= 'Z') ? (x) + 32 : (x))
-
-int SLang_Key_TimeOut_Flag = 0; /* true if more than 1 sec has elapsed
- without key in multikey sequence */
-
-int SLang_Last_Key_Char;
-
-SLKeyMap_List_Type SLKeyMap_List[SLANG_MAX_KEYMAPS];
-
-static SLang_Key_Type *malloc_key(unsigned char *str)
-{
- SLang_Key_Type *neew;
-
- if (NULL == (neew = (SLang_Key_Type *) SLmalloc(sizeof(SLang_Key_Type))))
- return NULL;
-
- SLMEMSET ((char *) neew, 0, sizeof (SLang_Key_Type));
- SLMEMCPY((char *) neew->str, (char *) str, (unsigned int) *str);
- return(neew);
-}
-
-static SLKeyMap_List_Type *add_keymap (char *name, SLang_Key_Type *map)
-{
- int i;
-
- for (i = 0; i < SLANG_MAX_KEYMAPS; i++)
- {
- if (SLKeyMap_List[i].keymap == NULL)
- {
- if (NULL == (name = SLang_create_slstring (name)))
- return NULL;
-
- SLKeyMap_List[i].keymap = map;
- SLKeyMap_List[i].name = name;
- return &SLKeyMap_List[i];
- }
- }
- SLang_Error = SL_UNKNOWN_ERROR;
- /* SLang_doerror ("Keymap quota exceeded."); */
- return NULL;
-}
-
-FVOID_STAR SLang_find_key_function(char *name, SLKeyMap_List_Type *keymap)
-{
- SLKeymap_Function_Type *fp = keymap -> functions;
- char ch = *name;
-
- while ((fp != NULL) && (fp->name != NULL))
- {
- if ((ch == *fp->name)
- && (0 == strcmp(fp->name, name)))
- return (FVOID_STAR) fp->f;
-
- fp++;
- }
- return NULL;
-}
-
-#ifdef REAL_UNIX_SYSTEM
-/* Expand termcap string specified by s. s as passed will have the format:
- * "XY)..." where XY represents a termcap keyname.
- */
-static char *process_termcap_string (char *s, char *str, int *ip, int imax)
-{
- char c[3], *val;
- int i;
-
- if ((0 == (c[0] = s[0]))
- || (0 == (c[1] = s[1]))
- || (s[2] != ')'))
- {
- SLang_verror (SL_SYNTAX_ERROR, "setkey: ^(%s is badly formed", s);
- return NULL;
- }
- s += 3;
-
- c[2] = 0;
- if ((NULL == (val = SLtt_tgetstr (c)))
- || (*val == 0))
- return NULL;
-
- i = *ip;
- while ((i < imax) && (*val != 0))
- {
- str[i++] = *val++;
- }
- *ip = i;
-
- return s;
-}
-#endif
-
-/* convert things like "^A" to 1 etc... The 0th char is the strlen INCLUDING
- * the length character itself.
- */
-char *SLang_process_keystring(char *s)
-{
- /* FIXME: v2.0, make this thread safe */
- static char str[32];
- unsigned char ch;
- int i;
-
- i = 1;
- while (*s != 0)
- {
- ch = (unsigned char) *s++;
- if (ch == '^')
- {
- ch = *s++;
- if (ch == 0)
- {
- if (i < 32)
- str[i++] = '^';
- break;
- }
-#ifdef REAL_UNIX_SYSTEM
- if (ch == '(')
- {
- s = process_termcap_string (s, str, &i, 32);
- if (s == NULL)
- {
- str[0] = 1;
- return str;
- }
- continue;
- }
-#endif
- ch = UPPER_CASE_KEY(ch);
- if (ch == '?') ch = 127; else ch = ch - 'A' + 1;
- }
-
- if (i >= 32) break;
- str[i++] = ch;
- }
-
- if (i > SLANG_MAX_KEYMAP_KEY_SEQ)
- {
- SLang_verror (SL_INVALID_PARM, "Key sequence is too long");
- return NULL;
- }
-
- str[0] = i;
- return(str);
-}
-
-static int key_string_compare (unsigned char *a, unsigned char *b, unsigned int len)
-{
- unsigned char *amax = a + len;
- int cha, chb, cha_up, chb_up;
-
- while (a < amax)
- {
- cha = *a++;
- chb = *b++;
-
- if (cha == chb) continue;
-
- cha_up = UPPER_CASE_KEY(cha);
- chb_up = UPPER_CASE_KEY(chb);
-
- if (cha_up == chb_up)
- {
- /* Use case-sensitive result. */
- return cha - chb;
- }
- /* Use case-insensitive result. */
- return cha_up - chb_up;
- }
- return 0;
-}
-
-static char *Define_Key_Error = "Inconsistency in define key.";
-
-/* This function also performs an insertion in an ordered way. */
-static int find_the_key (char *s, SLKeyMap_List_Type *kml, SLang_Key_Type **keyp)
-{
- unsigned char ch;
- unsigned int str_len;
- SLang_Key_Type *key, *last, *neew;
- unsigned char *str;
-
- *keyp = NULL;
-
- if (NULL == (str = (unsigned char *) SLang_process_keystring(s)))
- return -2;
-
- if (1 == (str_len = str[0]))
- return 0;
-
- ch = str[1];
- key = kml->keymap + ch;
-
- if (str_len == 2)
- {
- if (key->next != NULL)
- {
- SLang_doerror (Define_Key_Error);
- return -2;
- }
-
- if (key->type == SLKEY_F_INTERPRET)
- SLang_free_slstring (key->f.s);
-
- key->str[0] = str_len;
- key->str[1] = ch;
-
- *keyp = key;
- return 0;
- }
-
- /* insert the key definition */
- while (1)
- {
- int cmp;
- unsigned int key_len, len;
-
- last = key;
- key = key->next;
-
- if ((key != NULL) && (key->str != NULL))
- {
- len = key_len = key->str[0];
- if (len > str_len) len = str_len;
-
- cmp = key_string_compare (str + 1, key->str + 1, len - 1);
-
- if (cmp > 0)
- continue;
-
- if (cmp == 0)
- {
- if (key_len != str_len)
- {
- SLang_doerror (Define_Key_Error);
- return -2;
- }
-
- if (key->type == SLKEY_F_INTERPRET)
- SLang_free_slstring (key->f.s);
-
- *keyp = key;
- return 0;
- }
- /* Drop to cmp < 0 case */
- }
-
- if (NULL == (neew = malloc_key(str))) return -1;
-
- neew -> next = key;
- last -> next = neew;
-
- *keyp = neew;
- return 0;
- }
-}
-
-/* returns -2 if inconsistent, -1 if malloc error, 0 upon success */
-int SLkm_define_key (char *s, FVOID_STAR f, SLKeyMap_List_Type *kml)
-{
- SLang_Key_Type *key;
- unsigned int type = SLKEY_F_INTRINSIC;
- int ret;
-
- ret = find_the_key (s, kml, &key);
- if ((ret != 0) || (key == NULL))
- return ret;
-
- key->type = type;
- key->f.f = f;
- return 0;
-}
-
-int SLang_define_key (char *s, char *funct, SLKeyMap_List_Type *kml)
-{
- SLang_Key_Type *key;
- FVOID_STAR f;
- int ret;
-
- ret = find_the_key (s, kml, &key);
- if ((ret != 0) || (key == NULL))
- return ret;
-
- f = SLang_find_key_function(funct, kml);
-
- if (f == NULL) /* assume interpreted */
- {
- char *str = SLang_create_slstring (funct);
- if (str == NULL) return -1;
- key->type = SLKEY_F_INTERPRET;
- key->f.s = str;
- }
- else
- {
- key->type = SLKEY_F_INTRINSIC;
- key->f.f = f;
- }
- return 0;
-}
-
-int SLkm_define_keysym (char *s, unsigned int keysym, SLKeyMap_List_Type *kml)
-{
- SLang_Key_Type *key;
- int ret;
-
- ret = find_the_key (s, kml, &key);
-
- if ((ret != 0) || (key == NULL))
- return ret;
-
- key->type = SLKEY_F_KEYSYM;
- key->f.keysym = keysym;
- return 0;
-}
-
-SLang_Key_Type *SLang_do_key(SLKeyMap_List_Type *kml, int (*getkey)(void))
-{
- register SLang_Key_Type *key, *next, *kmax;
- unsigned int len;
- unsigned char input_ch;
- register unsigned char chup, chlow;
- unsigned char key_ch = 0;
-
- SLang_Last_Key_Char = (*getkey)();
- SLang_Key_TimeOut_Flag = 0;
-
- if (SLANG_GETKEY_ERROR == (unsigned int) SLang_Last_Key_Char)
- return NULL;
-
- input_ch = (unsigned char) SLang_Last_Key_Char;
-
- key = (SLang_Key_Type *) &((kml->keymap)[input_ch]);
-
- /* if the next one is null, then we know this MAY be it. */
- while (key->next == NULL)
- {
- if (key->type != 0)
- return key;
-
- /* Try its opposite case counterpart */
- chlow = LOWER_CASE_KEY(input_ch);
- if (input_ch == chlow)
- input_ch = UPPER_CASE_KEY(input_ch);
-
- key = kml->keymap + input_ch;
- if (key->type == 0)
- return NULL;
- }
-
- /* It appears to be a prefix character in a key sequence. */
-
- len = 1; /* already read one character */
- key = key->next; /* Now we are in the key list */
- kmax = NULL; /* set to end of list */
-
- while (1)
- {
- SLang_Key_TimeOut_Flag = 1;
- SLang_Last_Key_Char = (*getkey)();
- SLang_Key_TimeOut_Flag = 0;
-
- len++;
-
- if ((SLANG_GETKEY_ERROR == (unsigned int) SLang_Last_Key_Char)
- || SLKeyBoard_Quit)
- break;
-
- input_ch = (unsigned char) SLang_Last_Key_Char;
-
- chup = UPPER_CASE_KEY(input_ch); chlow = LOWER_CASE_KEY(input_ch);
-
- while (key != kmax)
- {
- if (key->str[0] > len)
- {
- key_ch = key->str[len];
- if (chup == UPPER_CASE_KEY(key_ch))
- break;
- }
- key = key->next;
- }
-
- if (key == kmax) break;
-
- /* If the input character is lowercase, check to see if there is
- * a lowercase match. If so, set key to it. Note: the
- * algorithm assumes the sorting performed by key_string_compare.
- */
- if (input_ch != key_ch)
- {
- next = key->next;
- while (next != kmax)
- {
- if (next->str[0] > len)
- {
- unsigned char next_ch = next->str[len];
- if (next_ch == input_ch)
- {
- key = next;
- break;
- }
- if (next_ch != chup)
- break;
- }
- next = next->next;
- }
- }
-
- /* Ok, we found the first position of a possible match. If it
- * is exact, we are done.
- */
- if ((unsigned int) key->str[0] == len + 1)
- return key;
-
- /* Apparantly, there are some ambiguities. Read next key to resolve
- * the ambiguity. Adjust kmax to encompass ambiguities.
- */
-
- next = key->next;
- while (next != kmax)
- {
- if ((unsigned int) next->str[0] > len)
- {
- key_ch = next->str[len];
- if (chup != UPPER_CASE_KEY(key_ch))
- break;
- }
- next = next->next;
- }
- kmax = next;
- }
-
- return NULL;
-}
-
-void SLang_undefine_key(char *s, SLKeyMap_List_Type *kml)
-{
- int n, i;
- SLang_Key_Type *key, *next, *last, *key_root, *keymap;
- unsigned char *str;
-
- keymap = kml -> keymap;
- if (NULL == (str = (unsigned char *) SLang_process_keystring(s)))
- return;
-
- if (0 == (n = *str++ - 1)) return;
- i = *str;
-
- last = key_root = (SLang_Key_Type *) &(keymap[i]);
- key = key_root->next;
-
- while (key != NULL)
- {
- next = key->next;
- if (0 == SLMEMCMP ((char *)(key->str + 1), (char *) str, n))
- {
- if (key->type == SLKEY_F_INTERPRET)
- SLang_free_slstring (key->f.s);
-
- SLfree((char *) key);
- last->next = next;
- }
- else last = key;
- key = next;
- }
-
- if (n == 1)
- {
- *key_root->str = 0;
- key_root->f.f = NULL;
- key_root->type = 0;
- }
-}
-
-char *SLang_make_keystring(unsigned char *s)
-{
- static char buf [3 * SLANG_MAX_KEYMAP_KEY_SEQ + 1];
- char *b;
- int n;
-
- n = *s++ - 1;
-
- if (n > SLANG_MAX_KEYMAP_KEY_SEQ)
- {
- SLang_verror (SL_INVALID_PARM, "Key sequence is too long");
- return NULL;
- }
-
- b = buf;
- while (n--)
- {
- if (*s < 32)
- {
- *b++ = '^';
- *b++ = *s + 'A' - 1;
- }
- else *b++ = *s;
- s++;
- }
- *b = 0;
- return(buf);
-}
-
-static SLang_Key_Type *copy_keymap(SLKeyMap_List_Type *kml)
-{
- int i;
- SLang_Key_Type *neew, *old, *new_root, *km;
-
- if (NULL == (new_root = (SLang_Key_Type *) SLcalloc(256, sizeof(SLang_Key_Type))))
- return NULL;
-
- if (kml == NULL) return new_root;
- km = kml->keymap;
-
- for (i = 0; i < 256; i++)
- {
- old = &(km[i]);
- neew = &(new_root[i]);
-
- if (old->type == SLKEY_F_INTERPRET)
- neew->f.s = SLang_create_slstring (old->f.s);
- else
- neew->f.f = old->f.f;
-
- neew->type = old->type;
- SLMEMCPY((char *) neew->str, (char *) old->str, (unsigned int) *old->str);
-
- old = old->next;
- while (old != NULL)
- {
- neew->next = malloc_key((unsigned char *) old->str);
- neew = neew->next;
-
- if (old->type == SLKEY_F_INTERPRET)
- neew->f.s = SLang_create_slstring (old->f.s);
- else
- neew->f.f = old->f.f;
-
- neew->type = old->type;
- old = old->next;
- }
- neew->next = NULL;
- }
- return(new_root);
-}
-
-SLKeyMap_List_Type *SLang_create_keymap(char *name, SLKeyMap_List_Type *map)
-{
- SLang_Key_Type *neew;
- SLKeyMap_List_Type *new_map;
-
- if ((NULL == (neew = copy_keymap(map)))
- || (NULL == (new_map = add_keymap(name, neew)))) return NULL;
-
- if (map != NULL) new_map -> functions = map -> functions;
-
- return new_map;
-}
-
-SLKeyMap_List_Type *SLang_find_keymap(char *name)
-{
- SLKeyMap_List_Type *kmap, *kmap_max;
-
- kmap = SLKeyMap_List;
- kmap_max = kmap + SLANG_MAX_KEYMAPS;
-
- while (kmap < kmap_max)
- {
- if ((kmap->name != NULL)
- && (0 == strcmp (kmap->name, name)))
- return kmap;
-
- kmap++;
- }
- return NULL;
-}
diff --git a/mdk-stage1/slang/slkeypad.c b/mdk-stage1/slang/slkeypad.c
deleted file mode 100644
index 524dc80fa..000000000
--- a/mdk-stage1/slang/slkeypad.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static SLKeyMap_List_Type *Keymap_List;
-
-int SLkp_init (void)
-{
- char esc_seq[10];
- int i;
-
- if (NULL == (Keymap_List = SLang_create_keymap ("_SLKeypad", NULL)))
- return -1;
-
- esc_seq[1] = 0;
- for (i = 1; i < 256; i++)
- {
- esc_seq[0] = (char) i;
- SLkm_define_keysym (esc_seq, i, Keymap_List);
- }
-
- /* Now add most common ones. */
-#ifndef IBMPC_SYSTEM
- SLkm_define_keysym ("^@", 0, Keymap_List);
-
- SLkm_define_keysym ("\033[A", SL_KEY_UP, Keymap_List);
- SLkm_define_keysym ("\033OA", SL_KEY_UP, Keymap_List);
- SLkm_define_keysym ("\033[B", SL_KEY_DOWN, Keymap_List);
- SLkm_define_keysym ("\033OB", SL_KEY_DOWN, Keymap_List);
- SLkm_define_keysym ("\033[C", SL_KEY_RIGHT, Keymap_List);
- SLkm_define_keysym ("\033OC", SL_KEY_RIGHT, Keymap_List);
- SLkm_define_keysym ("\033[D", SL_KEY_LEFT, Keymap_List);
- SLkm_define_keysym ("\033OD", SL_KEY_LEFT, Keymap_List);
- SLkm_define_keysym ("\033[2~", SL_KEY_IC, Keymap_List);
- SLkm_define_keysym ("\033[7~", SL_KEY_HOME, Keymap_List);
- SLkm_define_keysym ("\033[5~", SL_KEY_PPAGE, Keymap_List);
- SLkm_define_keysym ("\033[6~", SL_KEY_NPAGE, Keymap_List);
- SLkm_define_keysym ("\033[8~", SL_KEY_END, Keymap_List);
- SLkm_define_keysym ("\033[3~", SL_KEY_DELETE, Keymap_List);
-#else
- /* Note: This will not work if SLgetkey_map_to_ansi (1) has
- * been called.
- */
- SLkm_define_keysym ("^@\x48", SL_KEY_UP, Keymap_List );
- SLkm_define_keysym ("^@\x50", SL_KEY_DOWN, Keymap_List );
- SLkm_define_keysym ("^@\x4d", SL_KEY_RIGHT, Keymap_List );
- SLkm_define_keysym ("^@\x4b", SL_KEY_LEFT, Keymap_List );
- SLkm_define_keysym ("^@\x47", SL_KEY_HOME, Keymap_List );
- SLkm_define_keysym ("^@\x49", SL_KEY_PPAGE, Keymap_List );
- SLkm_define_keysym ("^@\x51", SL_KEY_NPAGE, Keymap_List );
- SLkm_define_keysym ("^@\x4f", SL_KEY_END, Keymap_List );
- SLkm_define_keysym ("^@\x52", SL_KEY_IC, Keymap_List );
- SLkm_define_keysym ("^@\x53", SL_KEY_DELETE, Keymap_List );
-
- SLkm_define_keysym ("\xE0\x48", SL_KEY_UP, Keymap_List );
- SLkm_define_keysym ("\xE0\x50", SL_KEY_DOWN, Keymap_List );
- SLkm_define_keysym ("\xE0\x4d", SL_KEY_RIGHT, Keymap_List );
- SLkm_define_keysym ("\xE0\x4b", SL_KEY_LEFT, Keymap_List );
- SLkm_define_keysym ("\xE0\x47", SL_KEY_HOME, Keymap_List );
- SLkm_define_keysym ("\xE0\x49", SL_KEY_PPAGE, Keymap_List );
- SLkm_define_keysym ("\xE0\x51", SL_KEY_NPAGE, Keymap_List );
- SLkm_define_keysym ("\xE0\x4f", SL_KEY_END, Keymap_List );
- SLkm_define_keysym ("\xE0\x52", SL_KEY_IC, Keymap_List );
- SLkm_define_keysym ("\xE0\x53", SL_KEY_DELETE, Keymap_List );
-
- strcpy (esc_seq, "^@ "); /* guarantees esc_seq[3] = 0. */
-
- for (i = 0x3b; i < 0x45; i++)
- {
- esc_seq [2] = i;
- SLkm_define_keysym (esc_seq, SL_KEY_F(i - 0x3a), Keymap_List);
- }
- esc_seq[2] = 0x57; SLkm_define_keysym (esc_seq, SL_KEY_F(11), Keymap_List);
- esc_seq[2] = 0x58; SLkm_define_keysym (esc_seq, SL_KEY_F(12), Keymap_List);
-#endif
-
-#ifdef REAL_UNIX_SYSTEM
- strcpy (esc_seq, "^(kX)");
- for (i = 0; i <= 9; i++)
- {
- esc_seq[3] = '0' + i;
- SLkm_define_keysym (esc_seq, SL_KEY_F(i), Keymap_List);
- }
- SLkm_define_keysym ("^(k;)", SL_KEY_F(10), Keymap_List);
-
- SLkm_define_keysym ("^(ku)", SL_KEY_UP, Keymap_List);
- SLkm_define_keysym ("^(kd)", SL_KEY_DOWN, Keymap_List);
- SLkm_define_keysym ("^(kl)", SL_KEY_LEFT, Keymap_List);
- SLkm_define_keysym ("^(kr)", SL_KEY_RIGHT, Keymap_List);
- SLkm_define_keysym ("^(kP)", SL_KEY_PPAGE, Keymap_List);
- SLkm_define_keysym ("^(kN)", SL_KEY_NPAGE, Keymap_List);
- SLkm_define_keysym ("^(kh)", SL_KEY_HOME, Keymap_List);
- SLkm_define_keysym ("^(@7)", SL_KEY_END, Keymap_List);
- SLkm_define_keysym ("^(K1)", SL_KEY_A1, Keymap_List);
- SLkm_define_keysym ("^(K3)", SL_KEY_A3, Keymap_List);
- SLkm_define_keysym ("^(K2)", SL_KEY_B2, Keymap_List);
- SLkm_define_keysym ("^(K4)", SL_KEY_C1, Keymap_List);
- SLkm_define_keysym ("^(K5)", SL_KEY_C3, Keymap_List);
- SLkm_define_keysym ("^(%0)", SL_KEY_REDO, Keymap_List);
- SLkm_define_keysym ("^(&8)", SL_KEY_UNDO, Keymap_List);
- SLkm_define_keysym ("^(kb)", SL_KEY_BACKSPACE, Keymap_List);
- SLkm_define_keysym ("^(@8)", SL_KEY_ENTER, Keymap_List);
- SLkm_define_keysym ("^(kD)", SL_KEY_DELETE, Keymap_List);
-#endif
-
- if (SLang_Error)
- return -1;
- return 0;
-}
-
-int SLkp_getkey (void)
-{
- SLang_Key_Type *key;
-
- key = SLang_do_key (Keymap_List, (int (*)(void)) SLang_getkey);
- if ((key == NULL) || (key->type != SLKEY_F_KEYSYM))
- {
- SLang_flush_input ();
- return SL_KEY_ERR;
- }
-
- return key->f.keysym;
-}
-
-int SLkp_define_keysym (char *keystr, unsigned int keysym)
-{
- if (SLkm_define_keysym (keystr, keysym, Keymap_List) < 0)
- return -1;
-
- return 0;
-}
-
-#if 0
-int main (int argc, char **argv)
-{
- int ch;
-
- SLtt_get_terminfo ();
-
- if (-1 == SLkp_init ())
- return 1;
-
- SLang_init_tty (-1, 0, 0);
-
- while ('q' != (ch = SLkp_getkey ()))
- {
- fprintf (stdout, "Keycode = %d\r\n", ch);
- fflush (stdout);
- }
-
- SLang_reset_tty ();
-
- return 0;
-}
-#endif
-
diff --git a/mdk-stage1/slang/sllimits.h b/mdk-stage1/slang/sllimits.h
deleted file mode 100644
index c4ae03b83..000000000
--- a/mdk-stage1/slang/sllimits.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-/* sllimits.h */
-
-/* slstring.c: Size of the hash table used for strings (prime numbers) */
-#ifdef __MSDOS_16BIT__
-# define SLSTRING_HASH_TABLE_SIZE 601
-# define SLASSOC_HASH_TABLE_SIZE 601
-#else
-# define SLSTRING_HASH_TABLE_SIZE 2909
-# define SLASSOC_HASH_TABLE_SIZE 2909
-#endif
-
-/* slang.c: maximum size of run time stack */
-#ifdef __MSDOS_16BIT__
-# define SLANG_MAX_STACK_LEN 500
-#else
-# define SLANG_MAX_STACK_LEN 2500
-#endif
-
-/* slang.c: This sets the size on the depth of function calls */
-#ifdef __MSDOS_16BIT__
-# define SLANG_MAX_RECURSIVE_DEPTH 50
-#else
-# define SLANG_MAX_RECURSIVE_DEPTH 250
-#endif
-
-/* slang.c: Size of the stack used for local variables */
-#ifdef __MSDOS_16BIT__
-# define SLANG_MAX_LOCAL_STACK 200
-#else
-# define SLANG_MAX_LOCAL_STACK 1024
-#endif
-
-/* slang.c: The size of the hash table used for local and global objects.
- * These should be prime numbers.
- */
-#define SLGLOBALS_HASH_TABLE_SIZE 2909
-#define SLLOCALS_HASH_TABLE_SIZE 73
-#define SLSTATIC_HASH_TABLE_SIZE 73
-
-/* Size of the keyboard buffer use by the ungetkey routines */
-#ifdef __MSDOS_16BIT__
-# define SL_MAX_INPUT_BUFFER_LEN 40
-#else
-# define SL_MAX_INPUT_BUFFER_LEN 1024
-#endif
-
-/* Maximum number of nested switch statements */
-#define SLANG_MAX_NESTED_SWITCH 10
-
-/* Size of the block stack (used in byte-compiling) */
-#define SLANG_MAX_BLOCK_STACK_LEN 50
-
-/* slfile.c: Max number of open file pointers */
-#ifdef __MSDOS_16BIT__
-# define SL_MAX_FILES 32
-#else
-# define SL_MAX_FILES 256
-#endif
diff --git a/mdk-stage1/slang/slmalloc.c b/mdk-stage1/slang/slmalloc.c
deleted file mode 100644
index be4ed6cae..000000000
--- a/mdk-stage1/slang/slmalloc.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#ifdef SL_MALLOC_DEBUG
-# undef SL_MALLOC_DEBUG
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef __alpha
-# define Chunk 8
-#else
-# define Chunk 4
-#endif
-
-static long Total_Allocated;
-static long Max_Single_Allocation;
-static long Max_Allocated;
-/* #define SLDEBUG_DOUT */
-
-#ifdef SLDEBUG_DOUT
-static FILE *dout;
-#endif
-
-void SLmalloc_dump_statistics (void)
-{
-#ifdef SLDEBUG_DOUT
- fflush (dout);
-#endif
- fprintf (stderr, "Total Allocated: %ld\nHighest single allocation: %ld\nHighest Total Allocated:%ld\n",
- Total_Allocated, Max_Single_Allocation, Max_Allocated);
-}
-
-static void register_at_exit_fun (void)
-{
- static int is_registered = 0;
- if (is_registered)
- return;
- is_registered = 1;
-
-#ifdef SLDEBUG_DOUT
- if (dout == NULL) dout = fopen ("malloc.out", "w");
-#endif
- SLang_add_cleanup_function (SLmalloc_dump_statistics);
-}
-
-static void fixup (unsigned char *p, unsigned long n, char *what)
-{
- register_at_exit_fun ();
-
- p += Chunk;
- *(p - 4)= (unsigned char) ((n >> 24) & 0xFF);
- *(p - 3) = (unsigned char) ((n >> 16) & 0xFF);
- *(p - 2) = (unsigned char) ((n >> 8) & 0xFF);
- *(p - 1) = (unsigned char) (n & 0xFF);
- *(p + (int) n) = 27;
- *(p + (int) (n + 1)) = 182;
- *(p + (int) (n + 2)) = 81;
- *(p + (int) (n + 3)) = 86;
- Total_Allocated += (long) n;
- if (Total_Allocated > Max_Allocated) Max_Allocated = Total_Allocated;
- if ((long) n > Max_Single_Allocation)
- Max_Single_Allocation = (long) n;
-
-#ifdef SLDEBUG_DOUT
- fprintf (dout, "ALLOC: %s\t%p %ld\n", what, p, (long) n);
-#else
- (void) what;
-#endif
-}
-
-static void SLmalloc_doerror (char *buf)
-{
- SLang_doerror (buf);
-}
-
-static int check_memory (unsigned char *p, char *what)
-{
- char buf[128];
- unsigned long n;
-
- register_at_exit_fun ();
-
- n = ((unsigned long) *(p - 4)) << 24;
- n |= ((unsigned long) *(p - 3)) << 16;
- n |= ((unsigned long) *(p - 2)) << 8;
- n |= (unsigned long) *(p - 1);
-
- if (n == 0xFFFFFFFFUL)
- {
- sprintf (buf, "%s: %p: Already FREE! Abort NOW.", what, (void*)p - Chunk);
- SLmalloc_doerror (buf);
- return -1;
- }
-
- if ((*(p + (int) n) != 27)
- || (*(p + (int) (n + 1)) != 182)
- || (*(p + (int) (n + 2)) != 81)
- || (*(p + (int) (n + 3)) != 86))
- {
- sprintf (buf, "\007%s: %p: Memory corrupt! Abort NOW.", what, (void*)p);
- SLmalloc_doerror (buf);
- return -1;
- }
-
- *(p - 4) = *(p - 3) = *(p - 2) = *(p - 1) = 0xFF;
-
- Total_Allocated -= (long) n;
- if (Total_Allocated < 0)
- {
- sprintf (buf, "\007%s: %p\nFreed %ld, Allocated is: %ld!\n",
- what, (void*)p, (long) n, Total_Allocated);
- SLang_doerror (buf);
- }
-#ifdef SLDEBUG_DOUT
- fprintf (dout, "FREE: %s:\t%p %ld\n", what, p, (long) n);
-#endif
- return 0;
-}
-
-void SLdebug_free (char *p)
-{
- if (p == NULL) return;
- if (-1 == check_memory ((unsigned char *) p, "FREE")) return;
-
- SLFREE (p - Chunk);
-}
-
-char *SLdebug_malloc (unsigned long n)
-{
- char *p;
-
- if ((p = (char *) SLMALLOC (n + 2 * Chunk)) == NULL) return NULL;
-
- fixup ((unsigned char *) p, n, "MALLOC");
- return p + Chunk;
-}
-
-char *SLdebug_realloc (char *p, unsigned long n)
-{
- if (-1 == check_memory ((unsigned char *) p, "REALLOC")) return NULL;
- if ((p = (char *) SLREALLOC (p - Chunk, n + 2 * Chunk)) == NULL) return NULL;
- fixup ((unsigned char *) p, n, "REALLOC");
- return p + Chunk;
-}
-
-char *SLdebug_calloc (unsigned long n, unsigned long size)
-{
- char *p;
- int m;
-
- /* This is tough -- hope this is a good assumption!! */
- if (size >= Chunk) m = 1; else m = Chunk;
-
- if ((p = (char *) SLCALLOC (n + m + m, size)) == NULL) return NULL;
- fixup ((unsigned char *) p, size * n, "CALLOC");
- return p + Chunk;
-}
-
diff --git a/mdk-stage1/slang/slmath.c b/mdk-stage1/slang/slmath.c
deleted file mode 100644
index 1d61e14d3..000000000
--- a/mdk-stage1/slang/slmath.c
+++ /dev/null
@@ -1,565 +0,0 @@
-/* sin, cos, etc, for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include <math.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef PI
-# undef PI
-#endif
-#define PI 3.14159265358979323846264338327950288
-
-#if defined(__unix__)
-#include <signal.h>
-#include <errno.h>
-
-#define SIGNAL SLsignal
-
-static void math_floating_point_exception (int sig)
-{
- sig = errno;
- if (SLang_Error == 0) SLang_Error = SL_FLOATING_EXCEPTION;
- (void) SIGNAL (SIGFPE, math_floating_point_exception);
- errno = sig;
-}
-#endif
-
-double SLmath_hypot (double x, double y)
-{
- double fr, fi, ratio;
-
- fr = fabs(x);
- fi = fabs(y);
-
- if (fr > fi)
- {
- ratio = y / x;
- x = fr * sqrt (1.0 + ratio * ratio);
- }
- else if (fi == 0.0) x = 0.0;
- else
- {
- ratio = x / y;
- x = fi * sqrt (1.0 + ratio * ratio);
- }
-
- return x;
-}
-
-/* usage here is a1 a2 ... an n x ==> a1x^n + a2 x ^(n - 1) + ... + an */
-static double math_poly (void)
-{
- int n;
- double xn = 1.0, sum = 0.0;
- double an, x;
-
- if ((SLang_pop_double(&x, NULL, NULL))
- || (SLang_pop_integer(&n))) return(0.0);
-
- while (n-- > 0)
- {
- if (SLang_pop_double(&an, NULL, NULL)) break;
- sum += an * xn;
- xn = xn * x;
- }
- return (double) sum;
-}
-
-static int double_math_op_result (int op, unsigned char a, unsigned char *b)
-{
- (void) op;
-
- if (a != SLANG_FLOAT_TYPE)
- *b = SLANG_DOUBLE_TYPE;
- else
- *b = a;
-
- return 1;
-}
-
-#ifdef HAVE_ASINH
-# define ASINH_FUN asinh
-#else
-# define ASINH_FUN my_asinh
-static double my_asinh (double x)
-{
- return log (x + sqrt (x*x + 1));
-}
-#endif
-#ifdef HAVE_ACOSH
-# define ACOSH_FUN acosh
-#else
-# define ACOSH_FUN my_acosh
-static double my_acosh (double x)
-{
- return log (x + sqrt(x*x - 1)); /* x >= 1 */
-}
-#endif
-#ifdef HAVE_ATANH
-# define ATANH_FUN atanh
-#else
-# define ATANH_FUN my_atanh
-static double my_atanh (double x)
-{
- return 0.5 * log ((1.0 + x)/(1.0 - x)); /* 0 <= x^2 < 1 */
-}
-#endif
-
-static int double_math_op (int op,
- unsigned char type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- double *a, *b;
- unsigned int i;
- double (*fun) (double);
-
- (void) type;
- a = (double *) ap;
- b = (double *) bp;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLMATH_SINH:
- fun = sinh;
- break;
- case SLMATH_COSH:
- fun = cosh;
- break;
- case SLMATH_TANH:
- fun = tanh;
- break;
- case SLMATH_TAN:
- fun = tan;
- break;
- case SLMATH_ASIN:
- fun = asin;
- break;
- case SLMATH_ACOS:
- fun = acos;
- break;
- case SLMATH_ATAN:
- fun = atan;
- break;
- case SLMATH_EXP:
- fun = exp;
- break;
- case SLMATH_LOG:
- fun = log;
- break;
- case SLMATH_LOG10:
- fun = log10;
- break;
- case SLMATH_SQRT:
- fun = sqrt;
- break;
- case SLMATH_SIN:
- fun = sin;
- break;
- case SLMATH_COS:
- fun = cos;
- break;
-
- case SLMATH_ASINH:
- fun = ASINH_FUN;
- break;
- case SLMATH_ATANH:
- fun = ATANH_FUN;
- break;
- case SLMATH_ACOSH:
- fun = ACOSH_FUN;
- break;
-
- case SLMATH_CONJ:
- case SLMATH_REAL:
- for (i = 0; i < na; i++)
- b[i] = a[i];
- return 1;
- case SLMATH_IMAG:
- for (i = 0; i < na; i++)
- b[i] = 0.0;
- return 1;
- }
-
- for (i = 0; i < na; i++)
- b[i] = (*fun) (a[i]);
-
- return 1;
-}
-
-static int float_math_op (int op,
- unsigned char type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- float *a, *b;
- unsigned int i;
- double (*fun) (double);
-
- (void) type;
- a = (float *) ap;
- b = (float *) bp;
-
-
- switch (op)
- {
- default:
- return 0;
-
- case SLMATH_SINH:
- fun = sinh;
- break;
- case SLMATH_COSH:
- fun = cosh;
- break;
- case SLMATH_TANH:
- fun = tanh;
- break;
- case SLMATH_TAN:
- fun = tan;
- break;
- case SLMATH_ASIN:
- fun = asin;
- break;
- case SLMATH_ACOS:
- fun = acos;
- break;
- case SLMATH_ATAN:
- fun = atan;
- break;
- case SLMATH_EXP:
- fun = exp;
- break;
- case SLMATH_LOG:
- fun = log;
- break;
- case SLMATH_LOG10:
- fun = log10;
- break;
- case SLMATH_SQRT:
- fun = sqrt;
- break;
- case SLMATH_SIN:
- fun = sin;
- break;
- case SLMATH_COS:
- fun = cos;
- break;
-
- case SLMATH_ASINH:
- fun = ASINH_FUN;
- break;
- case SLMATH_ATANH:
- fun = ATANH_FUN;
- break;
- case SLMATH_ACOSH:
- fun = ACOSH_FUN;
- break;
-
- case SLMATH_CONJ:
- case SLMATH_REAL:
- for (i = 0; i < na; i++)
- b[i] = a[i];
- return 1;
- case SLMATH_IMAG:
- for (i = 0; i < na; i++)
- b[i] = 0.0;
- return 1;
- }
-
- for (i = 0; i < na; i++)
- b[i] = (float) (*fun) ((double) a[i]);
-
- return 1;
-}
-
-static int generic_math_op (int op,
- unsigned char type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- double *b;
- unsigned int i;
- SLang_To_Double_Fun_Type to_double;
- double (*fun) (double);
- unsigned int da;
- char *a;
-
- if (NULL == (to_double = SLarith_get_to_double_fun (type, &da)))
- return 0;
-
- b = (double *) bp;
- a = (char *) ap;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLMATH_SINH:
- fun = sinh;
- break;
- case SLMATH_COSH:
- fun = cosh;
- break;
- case SLMATH_TANH:
- fun = tanh;
- break;
- case SLMATH_TAN:
- fun = tan;
- break;
- case SLMATH_ASIN:
- fun = asin;
- break;
- case SLMATH_ACOS:
- fun = acos;
- break;
- case SLMATH_ATAN:
- fun = atan;
- break;
- case SLMATH_EXP:
- fun = exp;
- break;
- case SLMATH_LOG:
- fun = log;
- break;
- case SLMATH_LOG10:
- fun = log10;
- break;
- case SLMATH_SQRT:
- fun = sqrt;
- break;
- case SLMATH_SIN:
- fun = sin;
- break;
- case SLMATH_COS:
- fun = cos;
- break;
-
- case SLMATH_ASINH:
- fun = ASINH_FUN;
- break;
- case SLMATH_ATANH:
- fun = ATANH_FUN;
- break;
- case SLMATH_ACOSH:
- fun = ACOSH_FUN;
- break;
-
-
- case SLMATH_CONJ:
- case SLMATH_REAL:
- for (i = 0; i < na; i++)
- {
- b[i] = to_double((VOID_STAR) a);
- a += da;
- }
- return 1;
-
- case SLMATH_IMAG:
- for (i = 0; i < na; i++)
- b[i] = 0.0;
- return 1;
- }
-
- for (i = 0; i < na; i++)
- {
- b[i] = (*fun) (to_double ((VOID_STAR) a));
- a += da;
- }
-
- return 1;
-}
-
-#if SLANG_HAS_COMPLEX
-static int complex_math_op_result (int op, unsigned char a, unsigned char *b)
-{
- (void) a;
- switch (op)
- {
- default:
- *b = SLANG_COMPLEX_TYPE;
- break;
-
- case SLMATH_REAL:
- case SLMATH_IMAG:
- *b = SLANG_DOUBLE_TYPE;
- break;
- }
- return 1;
-}
-
-static int complex_math_op (int op,
- unsigned char type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- double *a, *b;
- unsigned int i;
- unsigned int na2 = na * 2;
- double *(*fun) (double *, double *);
-
- (void) type;
- a = (double *) ap;
- b = (double *) bp;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLMATH_REAL:
- for (i = 0; i < na; i++)
- b[i] = a[2 * i];
- return 1;
-
- case SLMATH_IMAG:
- for (i = 0; i < na; i++)
- b[i] = a[2 * i + 1];
- return 1;
-
- case SLMATH_CONJ:
- for (i = 0; i < na2; i += 2)
- {
- b[i] = a[i];
- b[i+1] = -a[i+1];
- }
- return 1;
-
- case SLMATH_ATANH:
- fun = SLcomplex_atanh;
- break;
- case SLMATH_ACOSH:
- fun = SLcomplex_acosh;
- break;
- case SLMATH_ASINH:
- fun = SLcomplex_asinh;
- break;
- case SLMATH_EXP:
- fun = SLcomplex_exp;
- break;
- case SLMATH_LOG:
- fun = SLcomplex_log;
- break;
- case SLMATH_LOG10:
- fun = SLcomplex_log10;
- break;
- case SLMATH_SQRT:
- fun = SLcomplex_sqrt;
- break;
- case SLMATH_SIN:
- fun = SLcomplex_sin;
- break;
- case SLMATH_COS:
- fun = SLcomplex_cos;
- break;
- case SLMATH_SINH:
- fun = SLcomplex_sinh;
- break;
- case SLMATH_COSH:
- fun = SLcomplex_cosh;
- break;
- case SLMATH_TANH:
- fun = SLcomplex_tanh;
- break;
- case SLMATH_TAN:
- fun = SLcomplex_tan;
- break;
- case SLMATH_ASIN:
- fun = SLcomplex_asin;
- break;
- case SLMATH_ACOS:
- fun = SLcomplex_acos;
- break;
- case SLMATH_ATAN:
- fun = SLcomplex_atan;
- break;
- }
-
- for (i = 0; i < na2; i += 2)
- (void) (*fun) (b + i, a + i);
-
- return 1;
-}
-#endif
-
-static SLang_DConstant_Type DConst_Table [] =
-{
- MAKE_DCONSTANT("E", 2.718281828459045),
- MAKE_DCONSTANT("PI", 3.14159265358979323846264338327950288),
- SLANG_END_DCONST_TABLE
-};
-
-static SLang_Math_Unary_Type SLmath_Table [] =
-{
- MAKE_MATH_UNARY("sinh", SLMATH_SINH),
- MAKE_MATH_UNARY("asinh", SLMATH_ASINH),
- MAKE_MATH_UNARY("cosh", SLMATH_COSH),
- MAKE_MATH_UNARY("acosh", SLMATH_ACOSH),
- MAKE_MATH_UNARY("tanh", SLMATH_TANH),
- MAKE_MATH_UNARY("atanh", SLMATH_ATANH),
- MAKE_MATH_UNARY("sin", SLMATH_SIN),
- MAKE_MATH_UNARY("cos", SLMATH_COS),
- MAKE_MATH_UNARY("tan", SLMATH_TAN),
- MAKE_MATH_UNARY("atan", SLMATH_ATAN),
- MAKE_MATH_UNARY("acos", SLMATH_ACOS),
- MAKE_MATH_UNARY("asin", SLMATH_ASIN),
- MAKE_MATH_UNARY("exp", SLMATH_EXP),
- MAKE_MATH_UNARY("log", SLMATH_LOG),
- MAKE_MATH_UNARY("sqrt", SLMATH_SQRT),
- MAKE_MATH_UNARY("log10", SLMATH_LOG10),
-#if SLANG_HAS_COMPLEX
- MAKE_MATH_UNARY("Real", SLMATH_REAL),
- MAKE_MATH_UNARY("Imag", SLMATH_IMAG),
- MAKE_MATH_UNARY("Conj", SLMATH_CONJ),
-#endif
- SLANG_END_MATH_UNARY_TABLE
-};
-
-static SLang_Intrin_Fun_Type SLang_Math_Table [] =
-{
- MAKE_INTRINSIC_0("polynom", math_poly, SLANG_DOUBLE_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int SLang_init_slmath (void)
-{
- unsigned char *int_types;
-
-#if defined(__unix__)
- (void) SIGNAL (SIGFPE, math_floating_point_exception);
-#endif
-
- int_types = _SLarith_Arith_Types;
-
- while (*int_types != SLANG_FLOAT_TYPE)
- {
- if (-1 == SLclass_add_math_op (*int_types, generic_math_op, double_math_op_result))
- return -1;
- int_types++;
- }
-
- if ((-1 == SLclass_add_math_op (SLANG_FLOAT_TYPE, float_math_op, double_math_op_result))
- || (-1 == SLclass_add_math_op (SLANG_DOUBLE_TYPE, double_math_op, double_math_op_result))
-#if SLANG_HAS_COMPLEX
- || (-1 == SLclass_add_math_op (SLANG_COMPLEX_TYPE, complex_math_op, complex_math_op_result))
-#endif
- )
- return -1;
-
- if ((-1 == SLadd_math_unary_table (SLmath_Table, "__SLMATH__"))
- || (-1 == SLadd_intrin_fun_table (SLang_Math_Table, NULL))
- || (-1 == SLadd_dconstant_table (DConst_Table, NULL)))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slmemchr.c b/mdk-stage1/slang/slmemchr.c
deleted file mode 100644
index 1417bc549..000000000
--- a/mdk-stage1/slang/slmemchr.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are fast memcpy, memset routines. When available, I
- use system rouines. For msdos, I use inline assembly. */
-
-/* The current versions only work in the forward direction only!! */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-char *SLmemchr(register char *p, register char c, register int n)
-{
- int n2;
- register char *pmax;
-
- pmax = p + (n - 32);
-
- while (p <= pmax)
- {
- if ((*p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c))
- return p;
- p++;
- }
-
- n2 = n % 32;
-
- while (n2--)
- {
- if (*p == c) return p;
- p++;
- }
- return(NULL);
-}
diff --git a/mdk-stage1/slang/slmemcmp.c b/mdk-stage1/slang/slmemcmp.c
deleted file mode 100644
index c5ed50095..000000000
--- a/mdk-stage1/slang/slmemcmp.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are fast memcpy, memset routines. When available, I
- use system rouines. For msdos, I use inline assembly. */
-
-/* The current versions only work in the forward direction only!! */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* This is an UNSIGNED comparison designed for systems that either do not have
-* this function or performed a signed comparison (SunOS)
-*/
-int SLmemcmp(register char *s1, register char *s2, int n)
-{
- register int cmp;
- register char *s1max;
-
- s1max = s1 + (n - 32);
-
- while (s1 <= s1max)
- {
- if (*s1 != *s2) return ((unsigned char) *s1 - (unsigned char) *s2);
- if (*(s1 + 1) != *(s2 + 1)) return ((unsigned char) *(s1 + 1) - (unsigned char) *(s2 + 1));
- if (*(s1 + 2) != *(s2 + 2)) return ((unsigned char) *(s1 + 2) - (unsigned char) *(s2 + 2));
- if (*(s1 + 3) != *(s2 + 3)) return ((unsigned char) *(s1 + 3) - (unsigned char) *(s2 + 3));
- if (*(s1 + 4) != *(s2 + 4)) return ((unsigned char) *(s1 + 4) - (unsigned char) *(s2 + 4));
- if (*(s1 + 5) != *(s2 + 5)) return ((unsigned char) *(s1 + 5) - (unsigned char) *(s2 + 5));
- if (*(s1 + 6) != *(s2 + 6)) return ((unsigned char) *(s1 + 6) - (unsigned char) *(s2 + 6));
- if (*(s1 + 7) != *(s2 + 7)) return ((unsigned char) *(s1 + 7) - (unsigned char) *(s2 + 7));
- if (*(s1 + 8) != *(s2 + 8)) return ((unsigned char) *(s1 + 8) - (unsigned char) *(s2 + 8));
- if (*(s1 + 9) != *(s2 + 9)) return ((unsigned char) *(s1 + 9) - (unsigned char) *(s2 + 9));
- if (*(s1 + 10) != *(s2 + 10)) return ((unsigned char) *(s1 + 10) - (unsigned char) *(s2 + 10));
- if (*(s1 + 11) != *(s2 + 11)) return ((unsigned char) *(s1 + 11) - (unsigned char) *(s2 + 11));
- if (*(s1 + 12) != *(s2 + 12)) return ((unsigned char) *(s1 + 12) - (unsigned char) *(s2 + 12));
- if (*(s1 + 13) != *(s2 + 13)) return ((unsigned char) *(s1 + 13) - (unsigned char) *(s2 + 13));
- if (*(s1 + 14) != *(s2 + 14)) return ((unsigned char) *(s1 + 14) - (unsigned char) *(s2 + 14));
- if (*(s1 + 15) != *(s2 + 15)) return ((unsigned char) *(s1 + 15) - (unsigned char) *(s2 + 15));
- if (*(s1 + 16) != *(s2 + 16)) return ((unsigned char) *(s1 + 16) - (unsigned char) *(s2 + 16));
- if (*(s1 + 17) != *(s2 + 17)) return ((unsigned char) *(s1 + 17) - (unsigned char) *(s2 + 17));
- if (*(s1 + 18) != *(s2 + 18)) return ((unsigned char) *(s1 + 18) - (unsigned char) *(s2 + 18));
- if (*(s1 + 19) != *(s2 + 19)) return ((unsigned char) *(s1 + 19) - (unsigned char) *(s2 + 19));
- if (*(s1 + 20) != *(s2 + 20)) return ((unsigned char) *(s1 + 20) - (unsigned char) *(s2 + 20));
- if (*(s1 + 21) != *(s2 + 21)) return ((unsigned char) *(s1 + 21) - (unsigned char) *(s2 + 21));
- if (*(s1 + 22) != *(s2 + 22)) return ((unsigned char) *(s1 + 22) - (unsigned char) *(s2 + 22));
- if (*(s1 + 23) != *(s2 + 23)) return ((unsigned char) *(s1 + 23) - (unsigned char) *(s2 + 23));
- if (*(s1 + 24) != *(s2 + 24)) return ((unsigned char) *(s1 + 24) - (unsigned char) *(s2 + 24));
- if (*(s1 + 25) != *(s2 + 25)) return ((unsigned char) *(s1 + 25) - (unsigned char) *(s2 + 25));
- if (*(s1 + 26) != *(s2 + 26)) return ((unsigned char) *(s1 + 26) - (unsigned char) *(s2 + 26));
- if (*(s1 + 27) != *(s2 + 27)) return ((unsigned char) *(s1 + 27) - (unsigned char) *(s2 + 27));
- if (*(s1 + 28) != *(s2 + 28)) return ((unsigned char) *(s1 + 28) - (unsigned char) *(s2 + 28));
- if (*(s1 + 29) != *(s2 + 29)) return ((unsigned char) *(s1 + 29) - (unsigned char) *(s2 + 29));
- if (*(s1 + 30) != *(s2 + 30)) return ((unsigned char) *(s1 + 30) - (unsigned char) *(s2 + 30));
- if (*(s1 + 31) != *(s2 + 31)) return ((unsigned char) *(s1 + 31) - (unsigned char) *(s2 + 31));
- s1 += 32; s2 += 32;
- }
-
- s1max = s1 + (n % 32);
-
- while (s1 < s1max)
- {
- cmp = (unsigned char) *s1 - (unsigned char) *s2;
- if (cmp) return(cmp);
- s1++;
- s2++;
- }
-
- return(0);
-}
diff --git a/mdk-stage1/slang/slmemcpy.c b/mdk-stage1/slang/slmemcpy.c
deleted file mode 100644
index e8665e4c6..000000000
--- a/mdk-stage1/slang/slmemcpy.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are fast memcpy, memset routines. When available, I
- use system rouines. For msdos, I use inline assembly. */
-
-/* The current versions only work in the forward direction only!! */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-char *SLmemcpy(char *s1, char *s2, int n)
-{
-#if defined(__BORLANDC__) && defined(__MSDOS__)
- asm mov ax, ds
- asm mov bx, si
- asm mov dx, di
- asm mov cx, n
- asm les di, s1
- asm lds si, s2
- asm cld
- asm rep movsb
- asm mov ds, ax
- asm mov si, bx
- asm mov di, dx
- return(s1);
-
-#else
- register char *smax, *s = s1;
- int n2;
-
- n2 = n % 4;
- smax = s + (n - 4);
- while (s <= smax)
- {
- *s = *s2; *(s + 1) = *(s2 + 1); *(s + 2) = *(s2 + 2); *(s + 3) = *(s2 + 3);
- s += 4;
- s2 += 4;
- }
- while (n2--) *s++ = *s2++;
- return(s1);
-#endif
-}
diff --git a/mdk-stage1/slang/slmemset.c b/mdk-stage1/slang/slmemset.c
deleted file mode 100644
index 3851663c5..000000000
--- a/mdk-stage1/slang/slmemset.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are fast memcpy, memset routines. When available, I
- use system rouines. For msdos, I use inline assembly. */
-
-/* The current versions only work in the forward direction only!! */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-void SLmemset(char *p, char space, int n)
-{
-#if defined(__BORLANDC__) && defined(__MSDOS__)
- asm mov al, space
- asm mov dx, di
- asm mov cx, n
- asm les di, p
- asm cld
- asm rep stosb
- asm mov di, dx
-#else
- register char *pmax;
-
- pmax = p + (n - 4);
- n = n % 4;
- while (p <= pmax)
- {
- *p++ = space; *p++ = space; *p++ = space; *p++= space;
- }
- while (n--) *p++ = space;
-#endif
-}
diff --git a/mdk-stage1/slang/slmisc.c b/mdk-stage1/slang/slmisc.c
deleted file mode 100644
index ccc7a9bdf..000000000
--- a/mdk-stage1/slang/slmisc.c
+++ /dev/null
@@ -1,330 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#define DEBUG_MALLOC 0
-
-#if DEBUG_MALLOC
-# define SLREALLOC_FUN SLdebug_realloc
-# define SLMALLOC_FUN SLdebug_malloc
-# define SLFREE_FUN SLdebug_free
-#else
-# define SLREALLOC_FUN SLREALLOC
-# define SLMALLOC_FUN SLMALLOC
-# define SLFREE_FUN SLFREE
-#endif
-
-/* Version information goes here since this file is always needed. */
-int SLang_Version = SLANG_VERSION;
-char *SLang_Version_String = SLANG_VERSION_STRING;
-
-char *SLmake_string(char *str)
-{
- return SLmake_nstring(str, strlen (str));
-}
-
-char *SLmake_nstring (char *str, unsigned int n)
-{
- char *ptr;
-
- if (NULL == (ptr = SLmalloc(n + 1)))
- {
- return NULL;
- }
- SLMEMCPY (ptr, str, n);
- ptr[n] = 0;
- return(ptr);
-}
-
-void SLmake_lut (unsigned char *lut, unsigned char *range, unsigned char reverse)
-{
- register unsigned char *l = lut, *lmax = lut + 256;
- int i, r1, r2;
-
- while (l < lmax) *l++ = reverse;
- reverse = !reverse;
-
- r1 = *range++;
- while (r1)
- {
- r2 = *range++;
- if ((r2 == '-') && (*range != 0))
- {
- r2 = *range++;
- for (i = r1; i <= r2; i++) lut[i] = reverse;
- r1 = *range++;
- continue;
- }
- lut[r1] = reverse;
- r1 = r2;
- }
-}
-
-char *SLmalloc (unsigned int len)
-{
- char *p;
-
- p = (char *) SLMALLOC_FUN (len);
- if (p == NULL)
- SLang_Error = SL_MALLOC_ERROR;
-
- return p;
-}
-
-void SLfree (char *p)
-{
- if (p != NULL) SLFREE_FUN (p);
-}
-
-char *SLrealloc (char *p, unsigned int len)
-{
- if (len == 0)
- {
- SLfree (p);
- return NULL;
- }
-
- if (p == NULL) p = SLmalloc (len);
- else
- {
- p = (char *)SLREALLOC_FUN (p, len);
- if (p == NULL)
- SLang_Error = SL_MALLOC_ERROR;
- }
- return p;
-}
-
-char *SLcalloc (unsigned int nelems, unsigned int len)
-{
- char *p;
-
- len = nelems * len;
- p = SLmalloc (len);
- if (p != NULL) SLMEMSET (p, 0, len);
- return p;
-}
-
-/* p and ch may point to the same buffer */
-char *_SLexpand_escaped_char(char *p, char *ch)
-{
- int i = 0;
- int max = 0, num, base = 0;
- char ch1;
-
- ch1 = *p++;
-
- switch (ch1)
- {
- default: num = ch1; break;
- case 'n': num = '\n'; break;
- case 't': num = '\t'; break;
- case 'v': num = '\v'; break;
- case 'b': num = '\b'; break;
- case 'r': num = '\r'; break;
- case 'f': num = '\f'; break;
- case 'E': case 'e': num = 27; break;
- case 'a': num = 7;
- break;
-
- /* octal */
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- max = '7';
- base = 8; i = 2; num = ch1 - '0';
- break;
-
- case 'd': /* decimal -- S-Lang extension */
- base = 10;
- i = 3;
- max = '9';
- num = 0;
- break;
-
- case 'x': /* hex */
- base = 16;
- max = '9';
- i = 2;
- num = 0;
- break;
- }
-
- while (i--)
- {
- ch1 = *p;
-
- if ((ch1 <= max) && (ch1 >= '0'))
- {
- num = base * num + (ch1 - '0');
- }
- else if (base == 16)
- {
- ch1 |= 0x20;
- if ((ch1 < 'a') || ((ch1 > 'f'))) break;
- num = base * num + 10 + (ch1 - 'a');
- }
- else break;
- p++;
- }
-
- *ch = (char) num;
- return p;
-}
-
-/* s and t could represent the same space */
-void SLexpand_escaped_string (register char *s, register char *t,
- register char *tmax)
-{
- char ch;
-
- while (t < tmax)
- {
- ch = *t++;
- if (ch == '\\')
- {
- t = _SLexpand_escaped_char (t, &ch);
- }
- *s++ = ch;
- }
- *s = 0;
-}
-
-int SLextract_list_element (char *list, unsigned int nth, char delim,
- char *elem, unsigned int buflen)
-{
- char *el, *elmax;
- char ch;
-
- while (nth > 0)
- {
- while ((0 != (ch = *list)) && (ch != delim))
- list++;
-
- if (ch == 0) return -1;
-
- list++;
- nth--;
- }
-
- el = elem;
- elmax = el + (buflen - 1);
-
- while ((0 != (ch = *list)) && (ch != delim) && (el < elmax))
- *el++ = *list++;
- *el = 0;
-
- return 0;
-}
-
-#ifndef HAVE_VSNPRINTF
-int _SLvsnprintf (char *buf, unsigned int buflen, char *fmt, va_list ap)
-{
-#if 1
- unsigned int len;
-
- /* On some systems vsprintf returns useless information. So, punt */
- vsprintf (buf, fmt, ap);
- len = strlen (buf);
- if (len >= buflen)
- {
- SLang_exit_error ("\
-Your system lacks the vsnprintf system call and vsprintf overflowed a buffer.\n\
-The integrity of this program has been violated.\n");
- return EOF; /* NOT reached */
- }
- return (int)len;
-#else
- int status;
-
- status = vsprintf (buf, fmt, ap);
- if (status >= (int) buflen)
- {
- /* If we are lucky, we will get this far. The real solution is to
- * provide a working version of vsnprintf
- */
- SLang_exit_error ("\
-Your system lacks the vsnprintf system call and vsprintf overflowed a buffer.\n\
-The integrity of this program has been violated.\n");
- return EOF; /* NOT reached */
- }
- return status;
-#endif
-}
-#endif
-
-#ifndef HAVE_SNPRINTF
-int _SLsnprintf (char *buf, unsigned int buflen, char *fmt, ...)
-{
- int status;
-
- va_list ap;
-
- va_start (ap, fmt);
- status = _SLvsnprintf (buf, buflen, fmt, ap);
- va_end (ap);
-
- return status;
-}
-#endif
-
-typedef struct _Cleanup_Function_Type
-{
- struct _Cleanup_Function_Type *next;
- void (*f)(void);
-}
-Cleanup_Function_Type;
-
-static Cleanup_Function_Type *Cleanup_Function_List;
-
-static void cleanup_slang (void)
-{
- while (Cleanup_Function_List != NULL)
- {
- Cleanup_Function_Type *next = Cleanup_Function_List->next;
- (*Cleanup_Function_List->f)();
- SLFREE_FUN ((char *) Cleanup_Function_List);
- Cleanup_Function_List = next;
- }
-}
-
-#ifndef HAVE_ATEXIT
-# ifdef HAVE_ON_EXIT
-static void on_exit_cleanup_slang (int arg_unused)
-{
- (void) arg_unused;
- cleanup_slang ();
-}
-# endif
-#endif
-
-int SLang_add_cleanup_function (void (*f)(void))
-{
- Cleanup_Function_Type *l;
-
- l = (Cleanup_Function_Type *) SLMALLOC_FUN (sizeof (Cleanup_Function_Type));
- if (l == NULL)
- return -1;
-
- l->f = f;
- l->next = Cleanup_Function_List;
-
- if (Cleanup_Function_List == NULL)
- {
-#ifdef HAVE_ATEXIT
- (void) atexit (cleanup_slang);
-#else
-# ifdef HAVE_ON_EXIT
- (void) on_exit (on_exit_cleanup_slang, 0);
-# endif
-#endif
- }
- Cleanup_Function_List = l;
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slnspace.c b/mdk-stage1/slang/slnspace.c
deleted file mode 100644
index 174ba7c81..000000000
--- a/mdk-stage1/slang/slnspace.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -*- mode: C; mode: fold; -*- */
-/* slnspace.c --- Name Space implementation */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static SLang_NameSpace_Type *Namespace_Tables;
-
-static SLang_NameSpace_Type *find_name_table (char *name)
-{
- SLang_NameSpace_Type *table_list;
-
- table_list = Namespace_Tables;
- while (table_list != NULL)
- {
- if (0 == strcmp (table_list->name, name))
- break;
- table_list = table_list->next;
- }
- return table_list;
-}
-
-SLang_NameSpace_Type *_SLns_find_namespace (char *name)
-{
- SLang_NameSpace_Type *table_list;
-
- table_list = Namespace_Tables;
- while (table_list != NULL)
- {
- if ((table_list->namespace_name != NULL)
- && (0 == strcmp (table_list->namespace_name, name)))
- break;
- table_list = table_list->next;
- }
- return table_list;
-}
-
-SLang_NameSpace_Type *_SLns_allocate_namespace (char *name, unsigned int size)
-{
- SLang_NameSpace_Type *table_list;
- SLang_Name_Type **nt;
-
- if (NULL != (table_list = find_name_table (name)))
- return table_list;
-
- if (NULL == (name = SLang_create_slstring (name)))
- return NULL;
-
- if (NULL == (table_list = (SLang_NameSpace_Type *)
- SLmalloc (sizeof (SLang_NameSpace_Type))))
- {
- SLang_free_slstring (name);
- return NULL;
- }
-
- if (NULL == (nt = (SLang_Name_Type **) SLmalloc (sizeof (SLang_Name_Type *) * size)))
- {
- SLang_free_slstring (name);
- SLfree ((char *)table_list);
- return NULL;
- }
-
- memset ((char *)nt, 0, size * sizeof (SLang_Name_Type *));
- memset ((char *) table_list, 0, sizeof (SLang_NameSpace_Type));
-
- table_list->name = name;
- table_list->table = nt;
- table_list->table_size = size;
-
- table_list->next = Namespace_Tables;
- Namespace_Tables = table_list;
-
- return table_list;
-}
-
-int _SLns_set_namespace_name (SLang_NameSpace_Type *t, char *name)
-{
- SLang_NameSpace_Type *t1;
-
- t1 = _SLns_find_namespace (name);
- if (t1 == NULL)
- t1 = t;
-
- if ((t != t1) || (*name == 0))
- {
- SLang_verror (SL_INTRINSIC_ERROR, "Namespace \"%s\" already exists",
- name);
- return -1;
- }
-
- if (NULL == (name = SLang_create_slstring (name)))
- return -1;
-
- SLang_free_slstring (t->namespace_name); /* NULL ok */
- t->namespace_name = name;
-
- return 0;
-}
-
-SLang_Array_Type *_SLnspace_apropos (SLang_NameSpace_Type *ns, char *pat, unsigned int what)
-{
- SLang_Array_Type *at;
- unsigned int table_size;
- SLang_Name_Type *t, **table;
- int num_matches;
- unsigned int i;
- SLRegexp_Type rexp;
- unsigned char rbuf[512];
- unsigned int two;
-
- at = NULL;
-
- if ((ns == NULL)
- || ((table = ns->table) == NULL))
- return NULL;
-
- memset ((char *) &rexp, 0, sizeof (SLRegexp_Type));
- rexp.case_sensitive = 1;
- rexp.buf = rbuf;
- rexp.buf_len = sizeof (rbuf);
- rexp.pat = (unsigned char *)pat;
-
- if (0 != SLang_regexp_compile (&rexp))
- {
- SLang_verror (SL_INVALID_PARM, "Invalid regular expression: %s", pat);
- return NULL;
- }
-
- table_size = ns->table_size;
-
- two = 2;
- while (two != 0)
- {
- two--;
-
- num_matches = 0;
- for (i = 0; i < table_size; i++)
- {
- t = table[i];
- while (t != NULL)
- {
- unsigned int flags;
- char *name = t->name;
-
- switch (t->name_type)
- {
- case SLANG_GVARIABLE:
- flags = 8;
- break;
-
- case SLANG_ICONSTANT:
- case SLANG_DCONSTANT:
- case SLANG_RVARIABLE:
- case SLANG_IVARIABLE:
- flags = 4;
- break;
-
- case SLANG_INTRINSIC:
- case SLANG_MATH_UNARY:
- case SLANG_APP_UNARY:
- flags = 1;
- break;
-
- case SLANG_FUNCTION:
- flags = 2;
- break;
-
- default:
- flags = 0;
- break;
- }
-
- if ((flags & what)
- && (NULL != SLang_regexp_match ((unsigned char *)name, strlen (name), &rexp)))
- {
- if (at != NULL)
- {
- if (-1 == SLang_set_array_element (at, &num_matches, (VOID_STAR)&name))
- goto return_error;
- }
- num_matches++;
- }
- t = t->next;
- }
- }
-
- if (at == NULL)
- {
- at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &num_matches, 1);
- if (at == NULL)
- goto return_error;
- }
- }
-
- return at;
-
- return_error:
- SLang_free_array (at);
- return NULL;
-}
-
-SLang_NameSpace_Type *SLns_create_namespace (char *namespace_name)
-{
- SLang_NameSpace_Type *ns;
- static int num;
- char name[64];
-
- if (namespace_name == NULL)
- namespace_name = "Global";
-
- ns = _SLns_find_namespace (namespace_name);
- if (ns != NULL)
- return ns;
-
- sprintf (name, " *** internal ns <%d> *** ", num);
-
- if (NULL == (ns = _SLns_allocate_namespace (name, SLSTATIC_HASH_TABLE_SIZE)))
- return NULL;
-
- num++;
- if (-1 == _SLns_set_namespace_name (ns, namespace_name))
- {
- SLns_delete_namespace (ns);
- return NULL;
- }
-
- return ns;
-}
-
-void SLns_delete_namespace (SLang_NameSpace_Type *ns)
-{
- (void) ns;
- /* V2.0 */
-}
diff --git a/mdk-stage1/slang/slospath.c b/mdk-stage1/slang/slospath.c
deleted file mode 100644
index 644931e81..000000000
--- a/mdk-stage1/slang/slospath.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Pathname intrinsic functions */
-/* Copyright (c) 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static void path_concat (char *a, char *b)
-{
- SLang_push_malloced_string (SLpath_dircat (a,b));
-}
-
-static void path_extname (char *path)
-{
-#ifdef VMS
- char *p;
-#endif
-
- path = SLpath_extname (path);
-#ifndef VMS
- SLang_push_string (path);
-#else
- p = strchr (path, ';');
- if (p == NULL)
- (void)SLang_push_string (p);
- else
- (void)SLang_push_malloced_string (SLmake_nstring (path, (unsigned int)(p - path)));
-#endif
-}
-
-static void path_basename (char *path)
-{
- (void) SLang_push_string (SLpath_basename (path));
-}
-
-static void path_dirname (char *path)
-{
- (void) SLang_push_malloced_string (SLpath_dirname (path));
-}
-
-static void path_sans_extname (char *path)
-{
- (void) SLang_push_malloced_string (SLpath_pathname_sans_extname (path));
-}
-
-
-
-static SLang_Intrin_Fun_Type Path_Name_Table [] =
-{
- MAKE_INTRINSIC_SS("path_concat", path_concat, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_extname", path_extname, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_dirname", path_dirname, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_basename", path_basename, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_sans_extname", path_sans_extname, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_is_absolute", SLpath_is_absolute_path, SLANG_INT_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int SLang_init_ospath (void)
-{
- if (-1 == SLadd_intrin_fun_table(Path_Name_Table, "__OSPATH__"))
- return -1;
-
- return 0;
-}
-
-
diff --git a/mdk-stage1/slang/slpack.c b/mdk-stage1/slang/slpack.c
deleted file mode 100644
index 53ef63643..000000000
--- a/mdk-stage1/slang/slpack.c
+++ /dev/null
@@ -1,785 +0,0 @@
-/* Pack objects as a binary string */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <ctype.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifndef isdigit
-# define isdigit(c) (((c)>='0')&&((c)<= '9'))
-#endif
-#ifndef isspace
-# define isspace(c) (((c)==' ') || ((c)=='\t') || ((c)=='\n'))
-#endif
-
-/* format description:
- *
- * s = string (null padded)
- * S = string (space padded)
- * c = signed char
- * C = unsigned char
- * h = short
- * H = unsigned short
- * i = int
- * I = unsigned int
- * l = long
- * L = unsigned long
- * j = 16 bit signed integer (short)
- * J = 16 bit unsigned integer (short)
- * k = 32 bit signed integer (long)
- * K = 32 bit unsigned integer (long)
- * f = float (native format)
- * F = 32 bit double
- * d = double (native format)
- * D = 64 bit double
- * x = null pad byte
- * > = big-endian mode
- * < = little-endian mode
- * = = native mode
- */
-
-#define NATIVE_ORDER 0
-#define BIGENDIAN_ORDER 1
-#define LILENDIAN_ORDER 2
-static int Native_Byte_Order = NATIVE_ORDER;
-
-typedef struct
-{
- char format_type;
- unsigned char data_type;
- unsigned int repeat;
- unsigned int sizeof_type;
- char pad;
- int byteorder;
- int is_scalar;
-}
-Format_Type;
-
-static int get_int_type_for_size (unsigned int size, unsigned char *s, unsigned char *u)
-{
- if (sizeof (int) == size)
- {
- if (s != NULL) *s = SLANG_INT_TYPE;
- if (u != NULL) *u = SLANG_UINT_TYPE;
- return 0;
- }
-
- if (sizeof (short) == size)
- {
- if (s != NULL) *s = SLANG_SHORT_TYPE;
- if (u != NULL) *u = SLANG_USHORT_TYPE;
- return 1;
- }
-
- if (sizeof (long) == size)
- {
- if (s != NULL) *s = SLANG_LONG_TYPE;
- if (u != NULL) *u = SLANG_ULONG_TYPE;
- return 1;
- }
-
- if (s != NULL) *s = 0;
- if (u != NULL) *u = 0;
- SLang_verror (SL_NOT_IMPLEMENTED,
- "This OS does not support a %u byte int", size);
- return -1;
-}
-
-static int get_float_type_for_size (unsigned int size, unsigned char *s)
-{
- if (sizeof (float) == size)
- {
- *s = SLANG_FLOAT_TYPE;
- return 0;
- }
-
- if (sizeof (double) == size)
- {
- *s = SLANG_DOUBLE_TYPE;
- return 0;
- }
-
- SLang_verror (SL_NOT_IMPLEMENTED,
- "This OS does not support a %u byte float", size);
- return -1;
-}
-
-static int parse_a_format (char **format, Format_Type *ft)
-{
- char *f;
- char ch;
- unsigned repeat;
-
- f = *format;
-
- while (((ch = *f++) != 0)
- && isspace (ch))
- ;
-
- switch (ch)
- {
- default:
- ft->byteorder = NATIVE_ORDER;
- break;
-
- case '=':
- ft->byteorder = NATIVE_ORDER;
- ch = *f++;
- break;
-
- case '>':
- ft->byteorder = BIGENDIAN_ORDER;
- ch = *f++;
- break;
-
- case '<':
- ft->byteorder = LILENDIAN_ORDER;
- ch = *f++;
- break;
- }
-
- if (ch == 0)
- {
- f--;
- *format = f;
- return 0;
- }
-
- ft->format_type = ch;
- ft->repeat = 1;
-
- if (isdigit (*f))
- {
- repeat = (unsigned int) (*f - '0');
- f++;
-
- while (isdigit (*f))
- {
- unsigned int repeat10 = 10 * repeat + (unsigned int)(*f - '0');
-
- /* Check overflow */
- if (repeat != repeat10 / 10)
- {
- SLang_verror (SL_OVERFLOW,
- "Repeat count too large in [un]pack format");
- return -1;
- }
- repeat = repeat10;
- f++;
- }
- ft->repeat = repeat;
- }
-
- *format = f;
-
- ft->is_scalar = 1;
- ft->pad = 0;
-
- switch (ft->format_type)
- {
- default:
- SLang_verror (SL_NOT_IMPLEMENTED,
- "[un]pack format character '%c' not supported", ft->format_type);
- return -1;
-
- case 'D':
- ft->sizeof_type = 8;
- if (-1 == get_float_type_for_size (8, &ft->data_type))
- return -1;
- break;
-
- case 'd':
- ft->data_type = SLANG_DOUBLE_TYPE;
- ft->sizeof_type = sizeof (double);
- break;
-
- case 'F':
- ft->sizeof_type = 4;
- if (-1 == get_float_type_for_size (4, &ft->data_type))
- return -1;
- break;
- case 'f':
- ft->data_type = SLANG_FLOAT_TYPE;
- ft->sizeof_type = sizeof (float);
- break;
-
- case 'h':
- ft->data_type = SLANG_SHORT_TYPE;
- ft->sizeof_type = sizeof (short);
- break;
- case 'H':
- ft->data_type = SLANG_USHORT_TYPE;
- ft->sizeof_type = sizeof (unsigned short);
- break;
- case 'i':
- ft->data_type = SLANG_INT_TYPE;
- ft->sizeof_type = sizeof (int);
- break;
- case 'I':
- ft->data_type = SLANG_UINT_TYPE;
- ft->sizeof_type = sizeof (unsigned int);
- break;
- case 'l':
- ft->data_type = SLANG_LONG_TYPE;
- ft->sizeof_type = sizeof (long);
- break;
- case 'L':
- ft->data_type = SLANG_ULONG_TYPE;
- ft->sizeof_type = sizeof (unsigned long);
- break;
-
- /* 16 bit ints */
- case 'j':
- ft->sizeof_type = 2;
- if (-1 == get_int_type_for_size (2, &ft->data_type, NULL))
- return -1;
- break;
- case 'J':
- ft->sizeof_type = 2;
- if (-1 == get_int_type_for_size (2, NULL, &ft->data_type))
- return -1;
- break;
-
- /* 32 bit ints */
- case 'k':
- ft->sizeof_type = 4;
- if (-1 == get_int_type_for_size (4, &ft->data_type, NULL))
- return -1;
- break;
- case 'K':
- ft->sizeof_type = 4;
- if (-1 == get_int_type_for_size (4, NULL, &ft->data_type))
- return -1;
- break;
-
- case 'x':
- ft->sizeof_type = 1;
- ft->data_type = 0;
- break;
-
- case 'c':
- ft->sizeof_type = 1;
- ft->data_type = SLANG_CHAR_TYPE;
- break;
-
- case 'C':
- ft->data_type = SLANG_UCHAR_TYPE;
- ft->sizeof_type = 1;
- break;
-
- case 'S':
- case 'A':
- ft->pad = ' ';
- case 'a':
- case 's':
- ft->data_type = SLANG_BSTRING_TYPE;
- ft->sizeof_type = 1;
- ft->is_scalar = 0;
- break;
- }
- return 1;
-}
-
-static int compute_size_for_format (char *format, unsigned int *num_bytes)
-{
- unsigned int size;
- Format_Type ft;
- int status;
-
- *num_bytes = size = 0;
-
- while (1 == (status = parse_a_format (&format, &ft)))
- size += ft.repeat * ft.sizeof_type;
-
- *num_bytes = size;
- return status;
-}
-
-static void byte_swap64 (unsigned char *ss, unsigned int n) /*{{{*/
-{
- unsigned char *p, *pmax, ch;
-
- if (n == 0) return;
- p = (unsigned char *) ss;
- pmax = p + 8 * n;
- while (p < pmax)
- {
- ch = *p;
- *p = *(p + 7);
- *(p + 7) = ch;
-
- ch = *(p + 6);
- *(p + 6) = *(p + 1);
- *(p + 1) = ch;
-
- ch = *(p + 5);
- *(p + 5) = *(p + 2);
- *(p + 2) = ch;
-
- ch = *(p + 4);
- *(p + 4) = *(p + 3);
- *(p + 3) = ch;
-
- p += 8;
- }
-}
-
-/*}}}*/
-static void byte_swap32 (unsigned char *ss, unsigned int n) /*{{{*/
-{
- unsigned char *p, *pmax, ch;
-
- p = (unsigned char *) ss;
- pmax = p + 4 * n;
- while (p < pmax)
- {
- ch = *p;
- *p = *(p + 3);
- *(p + 3) = ch;
-
- ch = *(p + 1);
- *(p + 1) = *(p + 2);
- *(p + 2) = ch;
- p += 4;
- }
-}
-
-/*}}}*/
-static void byte_swap16 (unsigned char *p, unsigned int nread) /*{{{*/
-{
- unsigned char *pmax, ch;
-
- pmax = p + 2 * nread;
- while (p < pmax)
- {
- ch = *p;
- *p = *(p + 1);
- *(p + 1) = ch;
- p += 2;
- }
-}
-
-/*}}}*/
-
-static int byteswap (int order, unsigned char *b, unsigned int size, unsigned int num)
-{
- if (Native_Byte_Order == order)
- return 0;
-
- switch (size)
- {
- case 2:
- byte_swap16 (b, num);
- break;
- case 4:
- byte_swap32 (b, num);
- break;
- case 8:
- byte_swap64 (b, num);
- break;
- default:
- return -1;
- }
-
- return 0;
-}
-
-static void check_native_byte_order (void)
-{
- unsigned short x;
-
- if (Native_Byte_Order != NATIVE_ORDER)
- return;
-
- x = 0xFF;
- if (*(unsigned char *)&x == 0xFF)
- Native_Byte_Order = LILENDIAN_ORDER;
- else
- Native_Byte_Order = BIGENDIAN_ORDER;
-}
-
-static SLang_BString_Type *
-pack_according_to_format (char *format, unsigned int nitems)
-{
- unsigned int size, num;
- unsigned char *buf, *b;
- SLang_BString_Type *bs;
- Format_Type ft;
-
- buf = NULL;
-
- if (-1 == compute_size_for_format (format, &size))
- goto return_error;
-
- if (NULL == (buf = (unsigned char *) SLmalloc (size + 1)))
- goto return_error;
-
- b = buf;
-
- while (1 == parse_a_format (&format, &ft))
- {
- unsigned char *ptr;
- unsigned int repeat;
-
- repeat = ft.repeat;
- if (ft.data_type == 0)
- {
- memset ((char *) b, ft.pad, repeat);
- b += repeat;
- continue;
- }
-
- if (ft.is_scalar)
- {
- unsigned char *bstart;
- num = repeat;
-
- bstart = b;
- while (repeat != 0)
- {
- unsigned int nelements;
- SLang_Array_Type *at;
-
- if (nitems == 0)
- {
- SLang_verror (SL_INVALID_PARM,
- "Not enough items for pack format");
- goto return_error;
- }
-
- if (-1 == SLang_pop_array_of_type (&at, ft.data_type))
- goto return_error;
-
- nelements = at->num_elements;
- if (repeat < nelements)
- nelements = repeat;
- repeat -= nelements;
-
- nelements = nelements * ft.sizeof_type;
- memcpy ((char *)b, (char *)at->data, nelements);
-
- b += nelements;
- SLang_free_array (at);
- nitems--;
- }
-
- if (ft.byteorder != NATIVE_ORDER)
- byteswap (ft.byteorder, bstart, ft.sizeof_type, num);
-
- continue;
- }
-
- /* Otherwise we have a string */
- if (-1 == SLang_pop_bstring (&bs))
- goto return_error;
-
- ptr = SLbstring_get_pointer (bs, &num);
- if (repeat < num) num = repeat;
- memcpy ((char *)b, (char *)ptr, num);
- b += num;
- repeat -= num;
- memset ((char *)b, ft.pad, repeat);
- SLbstring_free (bs);
- b += repeat;
- nitems--;
- }
-
- *b = 0;
- bs = SLbstring_create_malloced (buf, size, 0);
- if (bs == NULL)
- goto return_error;
-
- SLdo_pop_n (nitems);
- return bs;
-
- return_error:
- SLdo_pop_n (nitems);
- if (buf != NULL)
- SLfree ((char *) buf);
-
- return NULL;
-}
-
-void _SLpack (void)
-{
- SLang_BString_Type *bs;
- char *fmt;
- int nitems;
-
- check_native_byte_order ();
-
- nitems = SLang_Num_Function_Args;
- if (nitems <= 0)
- {
- SLang_verror (SL_SYNTAX_ERROR,
- "pack: not enough arguments");
- return;
- }
-
- if ((-1 == SLreverse_stack (nitems))
- || (-1 == SLang_pop_slstring (&fmt)))
- bs = NULL;
- else
- {
- bs = pack_according_to_format (fmt, (unsigned int)nitems - 1);
- SLang_free_slstring (fmt);
- }
-
- SLang_push_bstring (bs);
- SLbstring_free (bs);
-}
-
-void _SLunpack (char *format, SLang_BString_Type *bs)
-{
- Format_Type ft;
- unsigned char *b;
- unsigned int len;
- unsigned int num_bytes;
-
- check_native_byte_order ();
-
- if (-1 == compute_size_for_format (format, &num_bytes))
- return;
-
- b = SLbstring_get_pointer (bs, &len);
- if (b == NULL)
- return;
-
- if (len < num_bytes)
- {
- SLang_verror (SL_INVALID_PARM,
- "unpack format %s is too large for input string",
- format);
- return;
- }
-
- while (1 == parse_a_format (&format, &ft))
- {
- char *str, *s;
-
- if (ft.repeat == 0)
- continue;
-
- if (ft.data_type == 0)
- { /* skip padding */
- b += ft.repeat;
- continue;
- }
-
- if (ft.is_scalar)
- {
- SLang_Array_Type *at;
- int dims;
-
- if (ft.repeat == 1)
- {
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (ft.data_type);
- memcpy ((char *)cl->cl_transfer_buf, (char *)b, ft.sizeof_type);
- if (ft.byteorder != NATIVE_ORDER)
- byteswap (ft.byteorder, (unsigned char *)cl->cl_transfer_buf, ft.sizeof_type, 1);
-
- if (-1 == (cl->cl_apush (ft.data_type, cl->cl_transfer_buf)))
- return;
- b += ft.sizeof_type;
- continue;
- }
-
- dims = (int) ft.repeat;
- at = SLang_create_array (ft.data_type, 0, NULL, &dims, 1);
- if (at == NULL)
- return;
-
- num_bytes = ft.repeat * ft.sizeof_type;
- memcpy ((char *)at->data, (char *)b, num_bytes);
- if (ft.byteorder != NATIVE_ORDER)
- byteswap (ft.byteorder, (unsigned char *)at->data, ft.sizeof_type, ft.repeat);
-
- if (-1 == SLang_push_array (at, 1))
- return;
-
- b += num_bytes;
- continue;
- }
-
- len = ft.repeat;
- str = SLmalloc (len + 1);
- if (str == NULL)
- return;
-
- memcpy ((char *) str, (char *)b, len);
- str [len] = 0;
-
- if (ft.pad == ' ')
- {
- unsigned int new_len;
-
- s = str + len;
- while (s > str)
- {
- s--;
- if ((*s != ' ') && (*s != 0))
- {
- s++;
- break;
- }
- *s = 0;
- }
- new_len = (unsigned int) (s - str);
-
- if (new_len != len)
- {
- s = SLrealloc (str, new_len + 1);
- if (s == NULL)
- {
- SLfree (str);
- return;
- }
- str = s;
- len = new_len;
- }
- }
-
- /* Avoid a bstring if possible */
- s = SLmemchr (str, 0, len);
- if (s == NULL)
- {
- if (-1 == SLang_push_malloced_string (str))
- return;
- }
- else
- {
- SLang_BString_Type *new_bs;
-
- new_bs = SLbstring_create_malloced ((unsigned char *)str, len, 1);
- if (new_bs == NULL)
- return;
-
- if (-1 == SLang_push_bstring (new_bs))
- {
- SLfree (str);
- return;
- }
- SLbstring_free (new_bs);
- }
-
- b += ft.repeat;
- }
-}
-
-unsigned int _SLpack_compute_size (char *format)
-{
- unsigned int n;
-
- n = 0;
- (void) compute_size_for_format (format, &n);
- return n;
-}
-
-void _SLpack_pad_format (char *format)
-{
- unsigned int len, max_len;
- Format_Type ft;
- char *buf, *b;
-
- check_native_byte_order ();
-
- /* Just check the syntax */
- if (-1 == compute_size_for_format (format, &max_len))
- return;
-
- /* This should be sufficient to handle any needed xyy padding characters.
- * I cannot see how this will be overrun
- */
- max_len = 4 * (strlen (format) + 1);
- if (NULL == (buf = SLmalloc (max_len + 1)))
- return;
-
- b = buf;
- len = 0;
- while (1 == parse_a_format (&format, &ft))
- {
- struct { char a; short b; } s_h;
- struct { char a; int b; } s_i;
- struct { char a; long b; } s_l;
- struct { char a; float b; } s_f;
- struct { char a; double b; } s_d;
- unsigned int pad;
-
- if (ft.repeat == 0)
- continue;
-
- if (ft.data_type == 0)
- { /* pad */
- sprintf (b, "x%u", ft.repeat);
- b += strlen (b);
- len += ft.repeat;
- continue;
- }
-
- switch (ft.data_type)
- {
- default:
- case SLANG_STRING_TYPE:
- case SLANG_BSTRING_TYPE:
- case SLANG_CHAR_TYPE:
- case SLANG_UCHAR_TYPE:
- pad = 0;
- break;
-
- case SLANG_SHORT_TYPE:
- case SLANG_USHORT_TYPE:
- pad = ((unsigned int) ((char *)&s_h.b - (char *)&s_h.a));
- break;
-
- case SLANG_INT_TYPE:
- case SLANG_UINT_TYPE:
- pad = ((unsigned int) ((char *)&s_i.b - (char *)&s_i.a));
- break;
-
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE:
- pad = ((unsigned int) ((char *)&s_l.b - (char *)&s_l.a));
- break;
-
- case SLANG_FLOAT_TYPE:
- pad = ((unsigned int) ((char *)&s_f.b - (char *)&s_f.a));
- break;
-
- case SLANG_DOUBLE_TYPE:
- pad = ((unsigned int) ((char *)&s_d.b - (char *)&s_d.a));
- break;
- }
-
- /* Pad to a length that is an integer multiple of pad. */
- if (pad)
- pad = pad * ((len + pad - 1)/pad) - len;
-
- if (pad)
- {
- sprintf (b, "x%u", pad);
- b += strlen (b);
- len += pad;
- }
-
- *b++ = ft.format_type;
- if (ft.repeat > 1)
- {
- sprintf (b, "%u", ft.repeat);
- b += strlen (b);
- }
-
- len += ft.repeat * ft.sizeof_type;
- }
- *b = 0;
-
- (void) SLang_push_malloced_string (buf);
-}
diff --git a/mdk-stage1/slang/slparse.c b/mdk-stage1/slang/slparse.c
deleted file mode 100644
index bc709d1fb..000000000
--- a/mdk-stage1/slang/slparse.c
+++ /dev/null
@@ -1,1970 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static SLang_Load_Type *LLT;
-int _SLang_Compile_Line_Num_Info;
-
-static void free_token (_SLang_Token_Type *t)
-{
- register unsigned int nrefs = t->num_refs;
-
- if (nrefs == 0)
- return;
-
- if (nrefs == 1)
- {
- if (t->free_sval_flag)
- {
- if (t->type == BSTRING_TOKEN)
- SLbstring_free (t->v.b_val);
- else
- _SLfree_hashed_string (t->v.s_val, strlen (t->v.s_val), t->hash);
- t->v.s_val = NULL;
- }
- }
-
- t->num_refs = nrefs - 1;
-}
-
-static void init_token (_SLang_Token_Type *t)
-{
- memset ((char *) t, 0, sizeof (_SLang_Token_Type));
-#if _SLANG_HAS_DEBUG_CODE
- t->line_number = -1;
-#endif
-}
-
-/* Allow room for one push back of a token. This is necessary for
- * multiple assignment.
- */
-static unsigned int Use_Next_Token;
-static _SLang_Token_Type Next_Token;
-#if _SLANG_HAS_DEBUG_CODE
-static int Last_Line_Number = -1;
-#endif
-
-static int unget_token (_SLang_Token_Type *ctok)
-{
- if (SLang_Error)
- return -1;
- if (Use_Next_Token != 0)
- {
- _SLparse_error ("unget_token failed", ctok, 0);
- return -1;
- }
-
- Use_Next_Token++;
- Next_Token = *ctok;
- init_token (ctok);
- return 0;
-}
-
-static int get_token (_SLang_Token_Type *ctok)
-{
- if (ctok->num_refs)
- free_token (ctok);
-
- if (Use_Next_Token)
- {
- Use_Next_Token--;
- *ctok = Next_Token;
- return ctok->type;
- }
-
- return _SLget_token (ctok);
-}
-
-static int compile_token (_SLang_Token_Type *t)
-{
-#if _SLANG_HAS_DEBUG_CODE
- if (_SLang_Compile_Line_Num_Info
- && (t->line_number != Last_Line_Number)
- && (t->line_number != -1))
- {
- _SLang_Token_Type tok;
- tok.type = LINE_NUM_TOKEN;
- tok.v.long_val = Last_Line_Number = t->line_number;
- (*_SLcompile_ptr) (&tok);
- }
-#endif
- (*_SLcompile_ptr) (t);
- return 0;
-}
-
-typedef struct
-{
-#define USE_PARANOID_MAGIC 0
-#if USE_PARANOID_MAGIC
- unsigned long magic;
-#endif
- _SLang_Token_Type *stack;
- unsigned int len;
- unsigned int size;
-}
-Token_List_Type;
-
-#define MAX_TOKEN_LISTS 16
-static Token_List_Type Token_List_Stack [MAX_TOKEN_LISTS];
-static unsigned int Token_List_Stack_Depth = 0;
-static Token_List_Type *Token_List = NULL;
-
-static void init_token_list (Token_List_Type *t)
-{
- t->size = 0;
- t->len = 0;
- t->stack = NULL;
-#if USE_PARANOID_MAGIC
- t->magic = 0xABCDEF12;
-#endif
-}
-
-static void free_token_list (Token_List_Type *t)
-{
- _SLang_Token_Type *s;
-
- if (t == NULL)
- return;
-#if USE_PARANOID_MAGIC
- if (t->magic != 0xABCDEF12)
- {
- SLang_doerror ("Magic error.");
- return;
- }
-#endif
- s = t->stack;
- if (s != NULL)
- {
- _SLang_Token_Type *smax = s + t->len;
- while (s != smax)
- {
- if (s->num_refs) free_token (s);
- s++;
- }
-
- SLfree ((char *) t->stack);
- }
-
- memset ((char *) t, 0, sizeof (Token_List_Type));
-}
-
-static Token_List_Type *push_token_list (void)
-{
- if (Token_List_Stack_Depth == MAX_TOKEN_LISTS)
- {
- _SLparse_error ("Token list stack size exceeded", NULL, 0);
- return NULL;
- }
-
- Token_List = Token_List_Stack + Token_List_Stack_Depth;
- Token_List_Stack_Depth++;
- init_token_list (Token_List);
- return Token_List;
-}
-
-static int pop_token_list (int do_free)
-{
- if (Token_List_Stack_Depth == 0)
- {
- if (SLang_Error == 0)
- _SLparse_error ("Token list stack underflow", NULL, 0);
- return -1;
- }
- Token_List_Stack_Depth--;
-
- if (do_free) free_token_list (Token_List);
-
- if (Token_List_Stack_Depth != 0)
- Token_List = Token_List_Stack + (Token_List_Stack_Depth - 1);
- else
- Token_List = NULL;
-
- return 0;
-}
-
-static int check_token_list_space (Token_List_Type *t, unsigned int delta_size)
-{
- _SLang_Token_Type *st;
- unsigned int len;
-#if USE_PARANOID_MAGIC
- if (t->magic != 0xABCDEF12)
- {
- SLang_doerror ("Magic error.");
- return -1;
- }
-#endif
- len = t->len + delta_size;
- if (len <= t->size) return 0;
-
- if (delta_size < 4)
- {
- delta_size = 4;
- len = t->len + delta_size;
- }
-
- st = (_SLang_Token_Type *) SLrealloc((char *) t->stack,
- len * sizeof(_SLang_Token_Type));
- if (st == NULL)
- {
- _SLparse_error ("Malloc error", NULL, 0);
- return -1;
- }
-
- memset ((char *) (st + t->len), 0, delta_size);
-
- t->stack = st;
- t->size = len;
- return 0;
-}
-
-static int append_token (_SLang_Token_Type *t)
-{
- if (-1 == check_token_list_space (Token_List, 1))
- return -1;
-
- Token_List->stack [Token_List->len] = *t;
- Token_List->len += 1;
- t->num_refs = 0; /* stealing it */
- return 0;
-}
-
-static int append_token_of_type (unsigned char t)
-{
- _SLang_Token_Type *tok;
-
- if (-1 == check_token_list_space (Token_List, 1))
- return -1;
-
- /* The memset when the list was created ensures that the other fields
- * are properly initialized.
- */
- tok = Token_List->stack + Token_List->len;
- init_token (tok);
- tok->type = t;
- Token_List->len += 1;
- return 0;
-}
-
-static _SLang_Token_Type *get_last_token (void)
-{
- unsigned int len;
-
- if ((Token_List == NULL)
- || (0 == (len = Token_List->len)))
- return NULL;
-
- len--;
- return Token_List->stack + len;
-}
-
-/* This function does NOT free the list. */
-static int compile_token_list_with_fun (int dir, Token_List_Type *list,
- int (*f)(_SLang_Token_Type *))
-{
- _SLang_Token_Type *t0, *t1;
-
- if (list == NULL)
- return -1;
-
- if (f == NULL)
- f = compile_token;
-
- t0 = list->stack;
- t1 = t0 + list->len;
-
- if (dir < 0)
- {
- /* backwards */
-
- while ((SLang_Error == 0) && (t1 > t0))
- {
- t1--;
- (*f) (t1);
- }
- return 0;
- }
-
- /* forward */
- while ((SLang_Error == 0) && (t0 < t1))
- {
- (*f) (t0);
- t0++;
- }
- return 0;
-}
-
-static int compile_token_list (void)
-{
- if (Token_List == NULL)
- return -1;
-
- compile_token_list_with_fun (1, Token_List, NULL);
- pop_token_list (1);
- return 0;
-}
-
-/* Take all elements in the list from pos2 to the end and exchange them
- * with the elements at pos1, e.g.,
- * ...ABCDEabc ==> ...abcABCDE
- * where pos1 denotes A and pos2 denotes a.
- */
-static int token_list_element_exchange (unsigned int pos1, unsigned int pos2)
-{
- _SLang_Token_Type *s, *s1, *s2;
- unsigned int len, nloops;
-
- if (Token_List == NULL)
- return -1;
-
- s = Token_List->stack;
- len = Token_List->len;
-
- if ((s == NULL) || (len == 0)
- || (pos2 >= len))
- return -1;
-
- /* This may not be the most efficient algorithm but the number to swap
- * is most-likely going to be small, e.g, 3
- * The algorithm is to rotate the list. The particular rotation
- * direction was chosen to make insert_token fast.
- * It works like:
- * @ ABCabcde --> BCabcdeA --> CabcdeAB --> abcdefAB
- * which is optimal for Abcdef sequence produced by function calls.
- *
- * Profiling indicates that nloops is almost always 1, whereas the inner
- * loop can loop many times (e.g., 9 times).
- */
-
- s2 = s + (len - 1);
- s1 = s + pos1;
- nloops = pos2 - pos1;
-
- while (nloops)
- {
- _SLang_Token_Type save;
-
- s = s1;
- save = *s;
-
- while (s < s2)
- {
- *s = *(s + 1);
- s++;
- }
- *s = save;
-
- nloops--;
- }
- return 0;
-}
-
-#if 0
-static int insert_token (_SLang_Token_Type *t, unsigned int pos)
-{
- if (-1 == append_token (t))
- return -1;
-
- return token_list_element_exchange (pos, Token_List->len - 1);
-}
-#endif
-static void compile_token_of_type (unsigned char t)
-{
- _SLang_Token_Type tok;
-
-#if _SLANG_HAS_DEBUG_CODE
- tok.line_number = -1;
-#endif
- tok.type = t;
- compile_token(&tok);
-}
-
-static void statement (_SLang_Token_Type *);
-static void compound_statement (_SLang_Token_Type *);
-static void expression_with_parenthesis (_SLang_Token_Type *);
-static void handle_semicolon (_SLang_Token_Type *);
-static void statement_list (_SLang_Token_Type *);
-static void variable_list (_SLang_Token_Type *, unsigned char);
-static void struct_declaration (_SLang_Token_Type *);
-static void define_function_args (_SLang_Token_Type *);
-static void typedef_definition (_SLang_Token_Type *);
-static void function_args_expression (_SLang_Token_Type *, int);
-static void expression (_SLang_Token_Type *);
-static void expression_with_commas (_SLang_Token_Type *, int);
-static void simple_expression (_SLang_Token_Type *);
-static void unary_expression (_SLang_Token_Type *);
-static void postfix_expression (_SLang_Token_Type *);
-static int check_for_lvalue (unsigned char, _SLang_Token_Type *);
-/* static void primary_expression (_SLang_Token_Type *); */
-static void block (_SLang_Token_Type *);
-static void inline_array_expression (_SLang_Token_Type *);
-static void array_index_expression (_SLang_Token_Type *);
-static void do_multiple_assignment (_SLang_Token_Type *);
-static void try_multiple_assignment (_SLang_Token_Type *);
-#if 0
-static void not_implemented (char *what)
-{
- char err [256];
- sprintf (err, "Expression not implemented: %s", what);
- _SLparse_error (err, NULL, 0);
-}
-#endif
-static void rpn_parse_line (_SLang_Token_Type *tok)
-{
- do
- {
- /* multiple RPN tokens possible when the file looks like:
- * . <end of line>
- * . <end of line>
- */
- if (tok->type != RPN_TOKEN)
- compile_token (tok);
- free_token (tok);
- }
- while (EOF_TOKEN != _SLget_rpn_token (tok));
-}
-
-static int get_identifier_token (_SLang_Token_Type *tok)
-{
- if (IDENT_TOKEN == get_token (tok))
- return IDENT_TOKEN;
-
- _SLparse_error ("Expecting identifier", tok, 0);
- return tok->type;
-}
-
-static void define_function (_SLang_Token_Type *ctok, unsigned char type)
-{
- _SLang_Token_Type fname;
-
- switch (type)
- {
- case STATIC_TOKEN:
- type = DEFINE_STATIC_TOKEN;
- break;
-
- case PUBLIC_TOKEN:
- type = DEFINE_PUBLIC_TOKEN;
- break;
-
- case PRIVATE_TOKEN:
- type = DEFINE_PRIVATE_TOKEN;
- }
-
- init_token (&fname);
- if (IDENT_TOKEN != get_identifier_token (&fname))
- {
- free_token (&fname);
- return;
- }
-
- compile_token_of_type(OPAREN_TOKEN);
- get_token (ctok);
- define_function_args (ctok);
- compile_token_of_type(FARG_TOKEN);
-
- if (ctok->type == OBRACE_TOKEN)
- compound_statement(ctok);
-
- else if (ctok->type != SEMICOLON_TOKEN)
- {
- _SLparse_error("Expecting {", ctok, 0);
- free_token (&fname);
- return;
- }
-
- fname.type = type;
- compile_token (&fname);
- free_token (&fname);
-}
-
-/* statement:
- * compound-statement
- * if ( expression ) statement
- * if ( expression ) statement else statement
- * !if ( expression ) statement
- * loop ( expression ) statement
- * _for ( expression ) statement
- * foreach ( expression ) statement
- * foreach (expression ) using (expression-list) statement
- * while ( expression ) statement
- * do statement while (expression) ;
- * for ( expressionopt ; expressionopt ; expressionopt ) statement
- * ERROR_BLOCK statement
- * EXIT_BLOCK statement
- * USER_BLOCK0 statement
- * USER_BLOCK1 statement
- * USER_BLOCK2 statement
- * USER_BLOCK3 statement
- * USER_BLOCK4 statement
- * forever statement
- * break ;
- * continue ;
- * return expressionopt ;
- * variable variable-list ;
- * struct struct-decl ;
- * define identifier function-args ;
- * define identifier function-args compound-statement
- * switch ( expression ) statement
- * rpn-line
- * at-line
- * push ( expression )
- * ( expression ) = expression ;
- * expression ;
- * expression :
- */
-
-/* Note: This function does not return with a new token. It is up to the
- * calling routine to handle that.
- */
-static void statement (_SLang_Token_Type *ctok)
-{
- unsigned char type;
-
- if (SLang_Error)
- return;
-
- LLT->parse_level += 1;
-
- switch (ctok->type)
- {
- case OBRACE_TOKEN:
- compound_statement (ctok);
- break;
-
- case IF_TOKEN:
- case IFNOT_TOKEN:
- type = ctok->type;
- get_token (ctok);
- expression_with_parenthesis (ctok);
- block (ctok);
-
- if (ELSE_TOKEN != get_token (ctok))
- {
- compile_token_of_type (type);
- unget_token (ctok);
- break;
- }
- get_token (ctok);
- block (ctok);
- if (type == IF_TOKEN) type = ELSE_TOKEN; else type = NOTELSE_TOKEN;
- compile_token_of_type (type);
- break;
-
- /* case IFNOT_TOKEN: */
- case LOOP_TOKEN:
- case _FOR_TOKEN:
- type = ctok->type;
- get_token (ctok);
- expression_with_parenthesis (ctok);
- block (ctok);
- compile_token_of_type (type);
- break;
-
- case FOREACH_TOKEN:
- get_token (ctok);
- expression_with_parenthesis (ctok);
-
- if (NULL == push_token_list ())
- break;
-
- append_token_of_type (ARG_TOKEN);
- if (ctok->type == USING_TOKEN)
- {
- if (OPAREN_TOKEN != get_token (ctok))
- {
- _SLparse_error ("Expected 'using ('", ctok, 0);
- break;
- }
- get_token (ctok);
- function_args_expression (ctok, 0);
- }
- append_token_of_type (EARG_TOKEN);
-
- compile_token_list ();
-
- block (ctok);
- compile_token_of_type (FOREACH_TOKEN);
- break;
-
- case WHILE_TOKEN:
- get_token (ctok);
- compile_token_of_type (OBRACE_TOKEN);
- expression_with_parenthesis (ctok);
- compile_token_of_type (CBRACE_TOKEN);
- block (ctok);
- compile_token_of_type (WHILE_TOKEN);
- break;
-
- case DO_TOKEN:
- get_token (ctok);
- block (ctok);
-
- if (WHILE_TOKEN != get_token (ctok))
- {
- _SLparse_error("Expecting while", ctok, 0);
- break;
- }
-
- get_token (ctok);
-
- compile_token_of_type (OBRACE_TOKEN);
- expression_with_parenthesis (ctok);
- compile_token_of_type (CBRACE_TOKEN);
- compile_token_of_type (DOWHILE_TOKEN);
- handle_semicolon (ctok);
- break;
-
- case FOR_TOKEN:
-
- /* Look for (exp_opt ; exp_opt ; exp_opt ) */
-
- if (OPAREN_TOKEN != get_token (ctok))
- {
- _SLparse_error("Expecting (.", ctok, 0);
- break;
- }
-
- if (NULL == push_token_list ())
- break;
-
- append_token_of_type (OBRACE_TOKEN);
- if (SEMICOLON_TOKEN != get_token (ctok))
- {
- expression (ctok);
- if (ctok->type != SEMICOLON_TOKEN)
- {
- _SLparse_error("Expecting ;", ctok, 0);
- break;
- }
- }
- append_token_of_type (CBRACE_TOKEN);
-
- append_token_of_type (OBRACE_TOKEN);
- if (SEMICOLON_TOKEN != get_token (ctok))
- {
- expression (ctok);
- if (ctok->type != SEMICOLON_TOKEN)
- {
- _SLparse_error("Expecting ;", ctok, 0);
- break;
- }
- }
- append_token_of_type (CBRACE_TOKEN);
-
- append_token_of_type (OBRACE_TOKEN);
- if (CPAREN_TOKEN != get_token (ctok))
- {
- expression (ctok);
- if (ctok->type != CPAREN_TOKEN)
- {
- _SLparse_error("Expecting ).", ctok, 0);
- break;
- }
- }
- append_token_of_type (CBRACE_TOKEN);
-
- compile_token_list ();
-
- get_token (ctok);
- block (ctok);
- compile_token_of_type (FOR_TOKEN);
- break;
-
- case ERRBLK_TOKEN:
- case EXITBLK_TOKEN:
- case USRBLK0_TOKEN:
- case USRBLK1_TOKEN:
- case USRBLK2_TOKEN:
- case USRBLK3_TOKEN:
- case USRBLK4_TOKEN:
- case FOREVER_TOKEN:
- type = ctok->type;
- get_token (ctok);
- block (ctok);
- compile_token_of_type (type);
- break;
-
- case BREAK_TOKEN:
- case CONT_TOKEN:
- compile_token_of_type (ctok->type);
- get_token (ctok);
- handle_semicolon (ctok);
- break;
-
- case RETURN_TOKEN:
- if (SEMICOLON_TOKEN != get_token (ctok))
- {
- if (NULL == push_token_list ())
- break;
-
- expression (ctok);
-
- if (ctok->type != SEMICOLON_TOKEN)
- {
- _SLparse_error ("Expecting ;", ctok, 0);
- break;
- }
- compile_token_list ();
- }
- compile_token_of_type (RETURN_TOKEN);
- handle_semicolon (ctok);
- break;
-
- case STATIC_TOKEN:
- case PRIVATE_TOKEN:
- case PUBLIC_TOKEN:
- type = ctok->type;
- get_token (ctok);
- if (ctok->type == VARIABLE_TOKEN)
- {
- get_token (ctok);
- variable_list (ctok, type);
- handle_semicolon (ctok);
- break;
- }
- if (ctok->type == DEFINE_TOKEN)
- {
- define_function (ctok, type);
- break;
- }
- _SLparse_error ("Expecting 'variable' or 'define'", ctok, 0);
- break;
-
- case VARIABLE_TOKEN:
- get_token (ctok);
- variable_list (ctok, OBRACKET_TOKEN);
- handle_semicolon (ctok);
- break;
-
- case TYPEDEF_TOKEN:
- get_token (ctok);
- if (NULL == push_token_list ())
- break;
- typedef_definition (ctok);
- compile_token_list ();
-
- handle_semicolon (ctok);
- break;
-
- case DEFINE_TOKEN:
- define_function (ctok, DEFINE_TOKEN);
- break;
-
- case SWITCH_TOKEN:
- get_token (ctok);
- expression_with_parenthesis (ctok);
-
- while ((SLang_Error == 0)
- && (OBRACE_TOKEN == ctok->type))
- {
- compile_token_of_type (OBRACE_TOKEN);
- compound_statement (ctok);
- compile_token_of_type (CBRACE_TOKEN);
- get_token (ctok);
- }
- compile_token_of_type (SWITCH_TOKEN);
- unget_token (ctok);
- break;
-
- case EOF_TOKEN:
- break;
-#if 0
- case PUSH_TOKEN:
- get_token (ctok);
- expression_list_with_parenthesis (ctok);
- handle_semicolon (ctok);
- break;
-#endif
-
- case SEMICOLON_TOKEN:
- handle_semicolon (ctok);
- break;
-
- case RPN_TOKEN:
- if (POUND_TOKEN == get_token (ctok))
- _SLcompile_byte_compiled ();
- else if (ctok->type != EOF_TOKEN)
- rpn_parse_line (ctok);
- break;
-
- case OPAREN_TOKEN: /* multiple assignment */
- try_multiple_assignment (ctok);
- if (ctok->type == COLON_TOKEN)
- compile_token_of_type (COLON_TOKEN);
- else handle_semicolon (ctok);
- break;
-
- default:
-
- if (NULL == push_token_list ())
- break;
-
- expression (ctok);
- compile_token_list ();
-
- if (ctok->type == COLON_TOKEN)
- compile_token_of_type (COLON_TOKEN);
- else handle_semicolon (ctok);
- break;
- }
-
- LLT->parse_level -= 1;
-}
-
-static void block (_SLang_Token_Type *ctok)
-{
- compile_token_of_type (OBRACE_TOKEN);
- statement (ctok);
- compile_token_of_type (CBRACE_TOKEN);
-}
-
-/*
- * statement-list:
- * statement
- * statement-list statement
- */
-static void statement_list (_SLang_Token_Type *ctok)
-{
- while ((SLang_Error == 0)
- && (ctok->type != CBRACE_TOKEN)
- && (ctok->type != EOF_TOKEN))
- {
- statement(ctok);
- get_token (ctok);
- }
-}
-
-/* compound-statement:
- * { statement-list }
- */
-static void compound_statement (_SLang_Token_Type *ctok)
-{
- /* ctok->type is OBRACE_TOKEN here */
- get_token (ctok);
- statement_list(ctok);
- if (CBRACE_TOKEN != ctok->type)
- {
- _SLparse_error ("Expecting '}'", ctok, 0);
- return;
- }
-}
-
-/* This function is only called from statement. */
-static void expression_with_parenthesis (_SLang_Token_Type *ctok)
-{
- if (ctok->type != OPAREN_TOKEN)
- {
- _SLparse_error("Expecting (", ctok, 0);
- return;
- }
-
- if (NULL == push_token_list ())
- return;
-
- get_token (ctok);
- expression (ctok);
-
- if (ctok->type != CPAREN_TOKEN)
- _SLparse_error("Expecting )", ctok, 0);
-
- compile_token_list ();
-
- get_token (ctok);
-}
-
-static void handle_semicolon (_SLang_Token_Type *ctok)
-{
- if ((ctok->type == SEMICOLON_TOKEN)
- || (ctok->type == EOF_TOKEN))
- return;
-
- _SLparse_error ("Expecting ;", ctok, 0);
-}
-
-void _SLparse_start (SLang_Load_Type *llt)
-{
- _SLang_Token_Type ctok;
- SLang_Load_Type *save_llt;
- unsigned int save_use_next_token;
- _SLang_Token_Type save_next_token;
- Token_List_Type *save_list;
-#if _SLANG_HAS_DEBUG_CODE
- int save_last_line_number = Last_Line_Number;
-
- Last_Line_Number = -1;
-#endif
- save_use_next_token = Use_Next_Token;
- save_next_token = Next_Token;
- save_list = Token_List;
- save_llt = LLT;
- LLT = llt;
-
- init_token (&Next_Token);
- Use_Next_Token = 0;
- init_token (&ctok);
- get_token (&ctok);
-
- llt->parse_level = 0;
- statement_list (&ctok);
-
- if ((SLang_Error == 0)
- && (ctok.type != EOF_TOKEN))
- _SLparse_error ("Parse ended prematurely", &ctok, 0);
-
-
- if (SLang_Error)
- {
- if (SLang_Error < 0) /* severe error */
- save_list = NULL;
-
- while (Token_List != save_list)
- {
- if (-1 == pop_token_list (1))
- break; /* ??? when would this happen? */
- }
- }
-
- free_token (&ctok);
- LLT = save_llt;
- if (Use_Next_Token)
- free_token (&Next_Token);
- Use_Next_Token = save_use_next_token;
- Next_Token = save_next_token;
-#if _SLANG_HAS_DEBUG_CODE
- Last_Line_Number = save_last_line_number;
-#endif
-}
-
-/* variable-list:
- * variable-decl
- * variable-decl variable-list
- *
- * variable-decl:
- * identifier
- * identifier = simple-expression
- */
-static void variable_list (_SLang_Token_Type *name_token, unsigned char variable_type)
-{
- int declaring;
- _SLang_Token_Type tok;
-
- if (name_token->type != IDENT_TOKEN)
- {
- _SLparse_error ("Expecting a variable name", name_token, 0);
- return;
- }
-
- declaring = 0;
- do
- {
- if (declaring == 0)
- {
- declaring = 1;
- compile_token_of_type (variable_type);
- }
-
- compile_token (name_token);
-
- init_token (&tok);
- if (ASSIGN_TOKEN == get_token (&tok))
- {
- compile_token_of_type (CBRACKET_TOKEN);
- declaring = 0;
-
- get_token (&tok);
-
- push_token_list ();
- simple_expression (&tok);
- compile_token_list ();
-
- name_token->type = _SCALAR_ASSIGN_TOKEN;
- compile_token (name_token);
- }
-
- free_token (name_token);
- *name_token = tok;
- }
- while ((name_token->type == COMMA_TOKEN)
- && (IDENT_TOKEN == get_token (name_token)));
-
- if (declaring) compile_token_of_type (CBRACKET_TOKEN);
-}
-
-/* struct-declaration:
- * struct { struct-field-list };
- *
- * struct-field-list:
- * struct-field-name , struct-field-list
- * struct-field-name
- *
- * Generates code: "field-name-1" ... "field-name-N" N STRUCT_TOKEN
- */
-static void struct_declaration (_SLang_Token_Type *ctok)
-{
- int n;
- _SLang_Token_Type num_tok;
-
- if (ctok->type != OBRACE_TOKEN)
- {
- _SLparse_error ("Expecting {", ctok, 0);
- return;
- }
-
- n = 0;
- while (IDENT_TOKEN == get_token (ctok))
- {
- n++;
- ctok->type = STRING_TOKEN;
- append_token (ctok);
- if (COMMA_TOKEN != get_token (ctok))
- break;
- }
-
- if (ctok->type != CBRACE_TOKEN)
- {
- _SLparse_error ("Expecting }", ctok, 0);
- return;
- }
- if (n == 0)
- {
- _SLparse_error ("struct requires at least 1 field", ctok, 0);
- return;
- }
-
- init_token (&num_tok);
- num_tok.type = INT_TOKEN;
- num_tok.v.long_val = n;
- append_token (&num_tok);
- append_token_of_type (STRUCT_TOKEN);
-
- get_token (ctok);
-}
-
-/* struct-declaration:
- * typedef struct { struct-field-list } Type_Name;
- *
- * struct-field-list:
- * struct-field-name , struct-field-list
- * struct-field-name
- *
- * Generates code: "field-name-1" ... "field-name-N" N STRUCT_TOKEN typedef
- */
-static void typedef_definition (_SLang_Token_Type *t)
-{
-
- if (t->type != STRUCT_TOKEN)
- {
- _SLparse_error ("Expecting `struct'", t, 0);
- return;
- }
- get_token (t);
-
- struct_declaration (t);
- if (t->type != IDENT_TOKEN)
- {
- _SLparse_error ("Expecting identifier", t, 0);
- return;
- }
-
- t->type = STRING_TOKEN;
- append_token (t);
- append_token_of_type (TYPEDEF_TOKEN);
-
- get_token (t);
-}
-
-/* function-args:
- * ( args-dec-opt )
- *
- * args-decl-opt:
- * identifier
- * args-decl , identifier
- */
-static void define_function_args (_SLang_Token_Type *ctok)
-{
- if (CPAREN_TOKEN == get_token (ctok))
- {
- get_token (ctok);
- return;
- }
-
- compile_token_of_type(OBRACKET_TOKEN);
-
- while ((SLang_Error == 0)
- && (ctok->type == IDENT_TOKEN))
- {
- compile_token (ctok);
- if (COMMA_TOKEN != get_token (ctok))
- break;
-
- get_token (ctok);
- }
-
- if (CPAREN_TOKEN != ctok->type)
- {
- _SLparse_error("Expecting )", ctok, 0);
- return;
- }
- compile_token_of_type(CBRACKET_TOKEN);
-
- get_token (ctok);
-}
-
-void try_multiple_assignment (_SLang_Token_Type *ctok)
-{
- /* This is called with ctok->type == OPAREN_TOKEN. We have no idea
- * what follows this. There are various possibilities such as:
- * @ () = x;
- * @ ( expression ) = x;
- * @ ( expression ) ;
- * @ ( expression ) OP expression;
- * @ ( expression ) [expression] = expression;
- * and only the first two constitute a multiple assignment. The last
- * two forms create the difficulty.
- *
- * Here is the plan. First parse (expression) and then check next token.
- * If it is an equal operator, then it will be parsed as a multiple
- * assignment. In fact, that is the easy part.
- *
- * The hard part stems from the fact that by parsing (expression), we
- * have effectly truncated the parse if (expression) is part of a binary
- * or unary expression. Somehow, the parsing must be resumed. The trick
- * here is to use a dummy literal that generates no code: NO_OP_LITERAL
- * Using it, we just call 'expression' and proceed.
- */
-
- if (NULL == push_token_list ())
- return;
-
- get_token (ctok);
-
- if (ctok->type != CPAREN_TOKEN)
- {
- expression_with_commas (ctok, 1);
- if (ctok->type != CPAREN_TOKEN)
- {
- _SLparse_error ("Expecting )", ctok, 0);
- return;
- }
- }
-
- switch (get_token (ctok))
- {
- case ASSIGN_TOKEN:
- case PLUSEQS_TOKEN:
- case MINUSEQS_TOKEN:
- case TIMESEQS_TOKEN:
- case DIVEQS_TOKEN:
- case BOREQS_TOKEN:
- case BANDEQS_TOKEN:
- do_multiple_assignment (ctok);
- pop_token_list (1);
- break;
-
- default:
- unget_token (ctok);
- ctok->type = NO_OP_LITERAL;
- expression (ctok);
- compile_token_list ();
- break;
- }
-}
-
-/* Note: expression never gets compiled directly. Rather, it gets
- * appended to the token list and then compiled by a calling
- * routine.
- */
-
-/* expression:
- * simple_expression
- * simple-expression , expression
- * <none>
- */
-static void expression_with_commas (_SLang_Token_Type *ctok, int save_comma)
-{
- while (SLang_Error == 0)
- {
- if (ctok->type != COMMA_TOKEN)
- {
- if (ctok->type == CPAREN_TOKEN)
- return;
-
- simple_expression (ctok);
-
- if (ctok->type != COMMA_TOKEN)
- break;
- }
- if (save_comma) append_token (ctok);
- get_token (ctok);
- }
-}
-
-static void expression (_SLang_Token_Type *ctok)
-{
- expression_with_commas (ctok, 0);
-}
-
-/* priority levels of binary operations */
-static unsigned char Binop_Level[] =
-{
-/* ADD_TOKEN */ 2,
-/* SUB_TOKEN */ 2,
-/* MUL_TOKEN */ 1,
-/* DIV_TOKEN */ 1,
-/* LT_TOKEN */ 4,
-/* LE_TOKEN */ 4,
-/* GT_TOKEN */ 4,
-/* GE_TOKEN */ 4,
-/* EQ_TOKEN */ 5,
-/* NE_TOKEN */ 5,
-/* AND_TOKEN */ 9,
-/* OR_TOKEN */ 10,
-/* MOD_TOKEN */ 1,
-/* BAND_TOKEN */ 6,
-/* SHL_TOKEN */ 3,
-/* SHR_TOKEN */ 3,
-/* BXOR_TOKEN */ 7,
-/* BOR_TOKEN */ 8,
-/* POUND_TOKEN */ 1 /* Matrix Multiplication */
-};
-
-/* % Note: simple-expression groups operators OP1 at same level. The
- * % actual implementation will not do this.
- * simple-expression:
- * unary-expression
- * binary-expression BINARY-OP unary-expression
- * andelse xxelse-expression-list
- * orelse xxelse-expression-list
- *
- * xxelse-expression-list:
- * { expression }
- * xxelse-expression-list { expression }
- * binary-expression:
- * unary-expression
- * unary-expression BINARY-OP binary-expression
- */
-static void simple_expression (_SLang_Token_Type *ctok)
-{
- unsigned char type;
- unsigned char op_stack [64];
- unsigned char level_stack [64];
- unsigned char level;
- unsigned int op_num;
-
- switch (ctok->type)
- {
- case ANDELSE_TOKEN:
- case ORELSE_TOKEN:
- type = ctok->type;
- if (OBRACE_TOKEN != get_token (ctok))
- {
- _SLparse_error ("Expecting '{'", ctok, 0);
- return;
- }
-
- while (ctok->type == OBRACE_TOKEN)
- {
- append_token (ctok);
- get_token (ctok);
- expression (ctok);
- if (CBRACE_TOKEN != ctok->type)
- {
- _SLparse_error("Expecting }", ctok, 0);
- return;
- }
- append_token (ctok);
- get_token (ctok);
- }
- append_token_of_type (type);
- return;
-
- /* avoid unary-expression if possible */
- case STRING_TOKEN:
- append_token (ctok);
- get_token (ctok);
- break;
-
- default:
- unary_expression (ctok);
- break;
- }
-
- if (SEMICOLON_TOKEN == (type = ctok->type))
- return;
-
- op_num = 0;
-
- while ((SLang_Error == 0)
- && (IS_BINARY_OP(type)))
- {
- level = Binop_Level[type - FIRST_BINARY_OP];
-
- while ((op_num > 0) && (level_stack [op_num - 1] <= level))
- append_token_of_type (op_stack [--op_num]);
-
- if (op_num >= sizeof (op_stack) - 1)
- {
- _SLparse_error ("Binary op stack overflow", ctok, 0);
- return;
- }
-
- op_stack [op_num] = type;
- level_stack [op_num] = level;
- op_num++;
-
- get_token (ctok);
- unary_expression (ctok);
- type = ctok->type;
- }
-
- while (op_num > 0)
- append_token_of_type(op_stack[--op_num]);
-}
-
-/* unary-expression:
- * postfix-expression
- * ++ postfix-expression
- * -- postfix-expression
- * case unary-expression
- * OP3 unary-expression
- * (OP3: + - ~ & not @)
- *
- * Note: This grammar permits: case case case WHATEVER
- */
-static void unary_expression (_SLang_Token_Type *ctok)
-{
- unsigned char save_unary_ops [16];
- unsigned int num_unary_ops;
- unsigned char type;
- _SLang_Token_Type *last_token;
-
- num_unary_ops = 0;
- while (SLang_Error == 0)
- {
- type = ctok->type;
-
- switch (type)
- {
- case PLUSPLUS_TOKEN:
- case MINUSMINUS_TOKEN:
- get_token (ctok);
- postfix_expression (ctok);
- check_for_lvalue (type, NULL);
- goto out_of_switch;
-
- case ADD_TOKEN:
- get_token (ctok); /* skip it-- it's unary here */
- break;
-
- case SUB_TOKEN:
- (void) get_token (ctok);
- if (IS_INTEGER_TOKEN (ctok->type))
- {
- ctok->v.long_val = -ctok->v.long_val;
- break;
- }
-
- if (num_unary_ops == 16)
- goto stack_overflow_error;
- save_unary_ops [num_unary_ops++] = CHS_TOKEN;
- break;
-
- case DEREF_TOKEN:
- case BNOT_TOKEN:
- case NOT_TOKEN:
- case CASE_TOKEN:
- if (num_unary_ops == 16)
- goto stack_overflow_error;
-
- save_unary_ops [num_unary_ops++] = type;
- get_token (ctok);
- break;
-
- /* Try to avoid ->postfix_expression->primary_expression
- * subroutine calls.
- */
- case STRING_TOKEN:
- append_token (ctok);
- get_token (ctok);
- goto out_of_switch;
-
- default:
- postfix_expression (ctok);
- goto out_of_switch;
- }
- }
-
- out_of_switch:
- if (num_unary_ops == 0)
- return;
-
- if ((DEREF_TOKEN == save_unary_ops[num_unary_ops - 1])
- && (NULL != (last_token = get_last_token ()))
- && (IS_ASSIGN_TOKEN(last_token->type)))
- {
- /* FIXME: Priority=medium
- * This needs generalized so that things like @a.y = 1 will work properly.
- */
- if ((num_unary_ops != 1)
- || (last_token->type != _SCALAR_ASSIGN_TOKEN))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Only derefence assignments to simple variables are possible");
- return;
- }
-
- last_token->type += (_DEREF_ASSIGN_TOKEN - _SCALAR_ASSIGN_TOKEN);
- return;
- }
-
- while (num_unary_ops)
- {
- num_unary_ops--;
- append_token_of_type (save_unary_ops [num_unary_ops]);
- }
- return;
-
- stack_overflow_error:
- _SLparse_error ("Too many unary operators.", ctok, 0);
-}
-
-static int combine_namespace_tokens (_SLang_Token_Type *a, _SLang_Token_Type *b)
-{
- char *sa, *sb, *sc;
- unsigned int lena, lenb;
- unsigned long hash;
-
- /* This is somewhat of a hack. Combine the TWO identifier names
- * (NAMESPACE) and (name) into the form NAMESPACE->name. Then when the
- * byte compiler compiles the object it will not be found. It will then
- * check for this hack and make the appropriate namespace lookup.
- */
-
- sa = a->v.s_val;
- sb = b->v.s_val;
-
- lena = strlen (sa);
- lenb = strlen (sb);
-
- sc = SLmalloc (lena + lenb + 3);
- if (sc == NULL)
- return -1;
-
- strcpy (sc, sa);
- strcpy (sc + lena, "->");
- strcpy (sc + lena + 2, sb);
-
- sb = _SLstring_make_hashed_string (sc, lena + lenb + 2, &hash);
- SLfree (sc);
- if (sb == NULL)
- return -1;
-
- /* I can free this string because no other token should be referencing it.
- * (num_refs == 1).
- */
- _SLfree_hashed_string (sa, lena, a->hash);
- a->v.s_val = sb;
- a->hash = hash;
-
- return 0;
-}
-
-static void append_identifier_token (_SLang_Token_Type *ctok)
-{
- _SLang_Token_Type *last_token;
-
- append_token (ctok);
-
- if (NAMESPACE_TOKEN != get_token (ctok))
- return;
-
- if (IDENT_TOKEN != get_token (ctok))
- {
- _SLparse_error ("Expecting name-space identifier", ctok, 0);
- return;
- }
-
- last_token = get_last_token ();
- if (-1 == combine_namespace_tokens (last_token, ctok))
- return;
-
- (void) get_token (ctok);
-}
-
-static int get_identifier_expr_token (_SLang_Token_Type *ctok)
-{
- _SLang_Token_Type next_token;
-
- if (IDENT_TOKEN != get_identifier_token (ctok))
- return -1;
-
- init_token (&next_token);
- if (NAMESPACE_TOKEN != get_token (&next_token))
- {
- unget_token (&next_token);
- return IDENT_TOKEN;
- }
-
- if (IDENT_TOKEN != get_identifier_token (&next_token))
- {
- free_token (&next_token);
- return -1;
- }
-
- if (-1 == combine_namespace_tokens (ctok, &next_token))
- {
- free_token (&next_token);
- return -1;
- }
- free_token (&next_token);
- return IDENT_TOKEN;
-}
-
-/* postfix-expression:
- * primary-expression
- * postfix-expression [ expression ]
- * postfix-expression ( function-args-expression )
- * postfix-expression . identifier
- * postfix-expression ^ unary-expression
- * postfix-expression ++
- * postfix-expression --
- * postfix-expression = simple-expression
- * postfix-expression += simple-expression
- * postfix-expression -= simple-expression
- *
- * primary-expression:
- * literal
- * identifier-expr
- * ( expression_opt )
- * [ inline-array-expression ]
- * &identifier-expr
- * struct-definition
- * __tmp(identifier-expr)
- *
- * identifier-expr:
- * identifier
- * identifier->identifier
- */
-static void postfix_expression (_SLang_Token_Type *ctok)
-{
- unsigned int start_pos, end_pos;
- unsigned char type;
-
- if (Token_List == NULL)
- return;
-
- start_pos = Token_List->len;
-
- switch (ctok->type)
- {
- case IDENT_TOKEN:
- append_identifier_token (ctok);
- break;
-
- case CHAR_TOKEN:
- case SHORT_TOKEN:
- case INT_TOKEN:
- case LONG_TOKEN:
- case UCHAR_TOKEN:
- case USHORT_TOKEN:
- case UINT_TOKEN:
- case ULONG_TOKEN:
- case STRING_TOKEN:
- case BSTRING_TOKEN:
-#ifdef SLANG_HAS_FLOAT
- case DOUBLE_TOKEN:
- case FLOAT_TOKEN:
-#endif
-#ifdef SLANG_HAS_COMPLEX
- case COMPLEX_TOKEN:
-#endif
- append_token (ctok);
- get_token (ctok);
- break;
-
- case OPAREN_TOKEN:
- if (CPAREN_TOKEN != get_token (ctok))
- {
- expression (ctok);
- if (ctok->type != CPAREN_TOKEN)
- _SLparse_error("Expecting )", ctok, 0);
- }
- get_token (ctok);
- break;
-
- case BAND_TOKEN:
- if (IDENT_TOKEN != get_identifier_expr_token (ctok))
- break;
-
- ctok->type = _REF_TOKEN;
- append_token (ctok);
- get_token (ctok);
- break;
-
- case OBRACKET_TOKEN:
- get_token (ctok);
- inline_array_expression (ctok);
- break;
-
- case NO_OP_LITERAL:
- /* This token was introduced by try_multiple_assignment. There,
- * a new token_list was pushed and (expression) was evaluated.
- * NO_OP_LITERAL represents the result of expression. However,
- * we need to tweak the start_pos variable to point to the beginning
- * of the token list to complete the equivalence.
- */
- start_pos = 0;
- get_token (ctok);
- break;
-
- case STRUCT_TOKEN:
- get_token (ctok);
- struct_declaration (ctok);
- break;
-
- case TMP_TOKEN:
- get_token (ctok);
- if (ctok->type == OPAREN_TOKEN)
- {
- if (IDENT_TOKEN == get_identifier_expr_token (ctok))
- {
- ctok->type = TMP_TOKEN;
- append_token (ctok);
- get_token (ctok);
- if (ctok->type == CPAREN_TOKEN)
- {
- get_token (ctok);
- break;
- }
- }
- }
- _SLparse_error ("Expecting form __tmp(NAME)", ctok, 0);
- break;
-
- default:
- if (IS_INTERNAL_FUNC(ctok->type))
- {
- append_token (ctok);
- get_token (ctok);
- }
- else
- _SLparse_error("Expecting a PRIMARY", ctok, 0);
- }
-
- while (SLang_Error == 0)
- {
- end_pos = Token_List->len;
- type = ctok->type;
- switch (type)
- {
- case OBRACKET_TOKEN: /* X[args] ==> [args] X ARRAY */
- get_token (ctok);
- append_token_of_type (ARG_TOKEN);
- if (ctok->type != CBRACKET_TOKEN)
- array_index_expression (ctok);
-
- if (ctok->type != CBRACKET_TOKEN)
- {
- _SLparse_error ("Expecting ']'", ctok, 0);
- return;
- }
- get_token (ctok);
- /* append_token_of_type (EARG_TOKEN); -- ARRAY_TOKEN implicitely does this */
- token_list_element_exchange (start_pos, end_pos);
- append_token_of_type (ARRAY_TOKEN);
- break;
-
- case OPAREN_TOKEN:
- /* f(args) ==> args f */
- if (CPAREN_TOKEN != get_token (ctok))
- {
- function_args_expression (ctok, 1);
- token_list_element_exchange (start_pos, end_pos);
- }
- else get_token (ctok);
- break;
-
- case DOT_TOKEN:
- /* S.a ==> "a" S DOT
- * This means that if S is X[b], then X[b].a ==> a b X ARRAY DOT
- * and f(a).X[b].c ==> "c" b "X" a f . ARRAY .
- * Also, f(a).X[b] = g(x); ==> x g b "X" a f .
- */
- if (IDENT_TOKEN != get_identifier_token (ctok))
- return;
-
- ctok->type = DOT_TOKEN;
- append_token (ctok);
- get_token (ctok);
- break;
-
- case PLUSPLUS_TOKEN:
- case MINUSMINUS_TOKEN:
- check_for_lvalue (type, NULL);
- get_token (ctok);
- break;
-
- case ASSIGN_TOKEN:
- case PLUSEQS_TOKEN:
- case MINUSEQS_TOKEN:
- case TIMESEQS_TOKEN:
- case DIVEQS_TOKEN:
- case BOREQS_TOKEN:
- case BANDEQS_TOKEN:
- check_for_lvalue (type, NULL);
- get_token (ctok);
- simple_expression (ctok);
- token_list_element_exchange (start_pos, end_pos);
- break;
-
- case POW_TOKEN:
- get_token (ctok);
- unary_expression (ctok);
- append_token_of_type (POW_TOKEN);
- break;
-
- default:
- return;
- }
- }
-}
-
-static void function_args_expression (_SLang_Token_Type *ctok, int handle_num_args)
-{
- unsigned char last_type, this_type;
-
- if (handle_num_args) append_token_of_type (ARG_TOKEN);
-
- last_type = COMMA_TOKEN;
-
- while (SLang_Error == 0)
- {
- this_type = ctok->type;
-
- switch (this_type)
- {
- case COMMA_TOKEN:
- if (last_type == COMMA_TOKEN)
- append_token_of_type (_NULL_TOKEN);
- get_token (ctok);
- break;
-
- case CPAREN_TOKEN:
- if (last_type == COMMA_TOKEN)
- append_token_of_type (_NULL_TOKEN);
- if (handle_num_args) append_token_of_type (EARG_TOKEN);
- get_token (ctok);
- return;
-
- default:
- simple_expression (ctok);
- if ((ctok->type != COMMA_TOKEN)
- && (ctok->type != CPAREN_TOKEN))
- {
- _SLparse_error ("Expecting ')'", ctok, 0);
- break;
- }
- }
- last_type = this_type;
- }
-}
-
-static int check_for_lvalue (unsigned char eqs_type, _SLang_Token_Type *ctok)
-{
- unsigned char type;
-
- if ((ctok == NULL)
- && (NULL == (ctok = get_last_token ())))
- return -1;
-
- type = ctok->type;
-
- eqs_type -= ASSIGN_TOKEN;
-
- if (type == IDENT_TOKEN)
- eqs_type += _SCALAR_ASSIGN_TOKEN;
- else if (type == ARRAY_TOKEN)
- eqs_type += _ARRAY_ASSIGN_TOKEN;
- else if (type == DOT_TOKEN)
- eqs_type += _STRUCT_ASSIGN_TOKEN;
- else
- {
- _SLparse_error ("Expecting LVALUE", ctok, 0);
- return -1;
- }
-
- ctok->type = eqs_type;
- return 0;
-}
-
-static void array_index_expression (_SLang_Token_Type *ctok)
-{
- unsigned int num_commas;
-
- num_commas = 0;
- while (1)
- {
- switch (ctok->type)
- {
- case COLON_TOKEN:
- if (num_commas)
- _SLparse_error ("Misplaced ':'", ctok, 0);
- return;
-
- case TIMES_TOKEN:
- append_token_of_type (_INLINE_WILDCARD_ARRAY_TOKEN);
- get_token (ctok);
- break;
-
- case COMMA_TOKEN:
- _SLparse_error ("Misplaced ','", ctok, 0);
- return;
-
- default:
- simple_expression (ctok);
- }
-
- if (ctok->type != COMMA_TOKEN)
- return;
- num_commas++;
- get_token (ctok);
- }
-}
-
-/* inline-array-expression:
- * array_index_expression
- * simple_expression : simple_expression
- * simple_expression : simple_expression : simple_expression
- */
-static void inline_array_expression (_SLang_Token_Type *ctok)
-{
- int num_colons = 0;
-
- append_token_of_type (ARG_TOKEN);
-
- if (ctok->type == COLON_TOKEN) /* [:...] */
- append_token_of_type (_NULL_TOKEN);
- else if (ctok->type != CBRACKET_TOKEN)
- array_index_expression (ctok);
-
- if (ctok->type == COLON_TOKEN)
- {
- num_colons++;
- if ((COLON_TOKEN == get_token (ctok))
- || (ctok->type == CBRACKET_TOKEN))
- append_token_of_type (_NULL_TOKEN);
- else
- simple_expression (ctok);
-
- if (ctok->type == COLON_TOKEN)
- {
- num_colons++;
- get_token (ctok);
- simple_expression (ctok);
- }
- }
-
- if (ctok->type != CBRACKET_TOKEN)
- {
- _SLparse_error ("Expecting ']'", ctok, 0);
- return;
- }
-
- /* append_token_of_type (EARG_TOKEN); */
- if (num_colons)
- append_token_of_type (_INLINE_IMPLICIT_ARRAY_TOKEN);
- else
- append_token_of_type (_INLINE_ARRAY_TOKEN);
- get_token (ctok);
-}
-
-static void do_multiple_assignment (_SLang_Token_Type *ctok)
-{
- _SLang_Token_Type *s;
- unsigned int i, k, len;
- unsigned char assign_type;
-
- assign_type = ctok->type;
-
- /* The LHS token list has already been pushed. Here we do the RHS
- * so push to another token list, process it, then come back to
- * LHS for assignment.
- */
- if (NULL == push_token_list ())
- return;
-
- get_token (ctok);
- expression (ctok);
- compile_token_list ();
-
- if (SLang_Error)
- return;
-
- /* Finally compile the LHS of the assignment expression
- * that has been saved.
- */
- s = Token_List->stack;
- len = Token_List->len;
-
- if (len == 0)
- {
- compile_token_of_type (POP_TOKEN);
- return;
- }
-
- while (len > 0)
- {
- /* List is of form:
- * a , b, c d e, f , g , , , h ,
- * The missing expressions will be replaced by a POP
- * ,,a
- */
-
- /* Start from back looking for a COMMA */
- k = len - 1;
- if (s[k].type == COMMA_TOKEN)
- {
- compile_token_of_type (POP_TOKEN);
- len = k;
- continue;
- }
-
- if (-1 == check_for_lvalue (assign_type, s + k))
- return;
-
- i = 0;
- while (1)
- {
- if (s[k].type == COMMA_TOKEN)
- {
- i = k + 1;
- break;
- }
-
- if (k == 0)
- break;
-
- k--;
- }
-
- while (i < len)
- {
- compile_token (s + i);
- i++;
- }
-
- len = k;
- }
-
- if (s[0].type == COMMA_TOKEN)
- compile_token_of_type (POP_TOKEN);
-}
-
diff --git a/mdk-stage1/slang/slpath.c b/mdk-stage1/slang/slpath.c
deleted file mode 100644
index 831bd34df..000000000
--- a/mdk-stage1/slang/slpath.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* Pathname and filename functions */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#ifdef HAVE_IO_H
-# include <io.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include <time.h>
-
-#include <errno.h>
-#include <string.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-/* In this file, all file names are assumed to be specified in the Unix
- * format, or in the native format.
- *
- * Aboout VMS:
- * VMS pathnames are a mess. In general, they look like
- * node::device:[dir.dir]file.ext;version
- * and I do not know of a well-defined Unix representation for them. So,
- * I am going to punt and encourage users to stick to the native
- * representation.
- */
-
-#if defined(IBMPC_SYSTEM)
-# define PATH_SEP '\\'
-# define DRIVE_SPECIFIER ':'
-# define SEARCH_PATH_DELIMITER ';'
-# define THIS_DIR_STRING "."
-#else
-# if defined(VMS)
-# define PATH_SEP ']'
-# define DRIVE_SPECIFIER ':'
-# define SEARCH_PATH_DELIMITER ' '
-# define THIS_DIR_STRING "[]" /* Is this correct?? */
-# else
-# define PATH_SEP '/'
-# define UNIX_PATHNAMES_OK
-# define SEARCH_PATH_DELIMITER ':'
-# define THIS_DIR_STRING "."
-# endif
-#endif
-
-#ifdef UNIX_PATHNAMES_OK
-# define IS_PATH_SEP(x) ((x) == PATH_SEP)
-#else
-# define IS_PATH_SEP(x) (((x) == PATH_SEP) || ((x) == '/'))
-#endif
-
-/* If file is /a/b/c/basename, this function returns a pointer to basename */
-char *SLpath_basename (char *file)
-{
- char *b;
-
- if (file == NULL) return NULL;
- b = file + strlen (file);
-
- while (b != file)
- {
- b--;
- if (IS_PATH_SEP(*b))
- return b + 1;
-#ifdef DRIVE_SPECIFIER
- if (*b == DRIVE_SPECIFIER)
- return b + 1;
-#endif
- }
-
- return b;
-}
-
-/* Returns a malloced string */
-char *SLpath_pathname_sans_extname (char *file)
-{
- char *b;
-
- file = SLmake_string (file);
- if (file == NULL)
- return NULL;
-
- b = file + strlen (file);
-
- while (b != file)
- {
- b--;
- if (*b == '.')
- {
- *b = 0;
- return file;
- }
- }
-
- return file;
-}
-
-/* If path looks like: A/B/C/D/whatever, it returns A/B/C/D as a malloced
- * string.
- */
-char *SLpath_dirname (char *file)
-{
- char *b;
-
- if (file == NULL) return NULL;
- b = file + strlen (file);
-
- while (b != file)
- {
- b--;
- if (IS_PATH_SEP(*b))
- {
- if (b == file) b++;
- break;
- }
-
-#ifdef DRIVE_SPECIFIER
- if (*b == DRIVE_SPECIFIER)
- {
- b++;
- break;
- }
-#endif
- }
-
- if (b == file)
- return SLmake_string (THIS_DIR_STRING);
-
- return SLmake_nstring (file, (unsigned int) (b - file));
-}
-
-/* Note: VMS filenames also contain version numbers. The caller will have
- * to deal with that.
- *
- * The extension includes the '.'. If no extension is present, "" is returned.
- */
-char *SLpath_extname (char *file)
-{
- char *b;
-
- if (NULL == (file = SLpath_basename (file)))
- return NULL;
-
- b = file + strlen (file);
- while (b != file)
- {
- b--;
- if (*b == '.')
- return b;
- }
-
- if (*b == '.')
- return b;
-
- /* Do not return a literal "" */
- return file + strlen (file);
-}
-
-#ifdef IBMPC_SYSTEM
-static void convert_slashes (char *f)
-{
- while (*f)
- {
- if (*f == '/') *f = PATH_SEP;
- f++;
- }
-}
-#endif
-
-int SLpath_is_absolute_path (char *name)
-{
-#ifdef UNIX_PATHNAMES_OK
- return (*name == '/');
-#else
- if (IS_PATH_SEP (*name))
- return 1;
-
-# ifdef DRIVE_SPECIFIER
- /* Look for a drive specifier */
- while (*name)
- {
- if (*name == DRIVE_SPECIFIER)
- return 1;
-
- name++;
- }
-# endif
-
- return 0;
-#endif
-}
-
-/* This returns a MALLOCED string */
-char *SLpath_dircat (char *dir, char *name)
-{
- unsigned int len, dirlen;
- char *file;
-#ifndef VMS
- int requires_fixup;
-#endif
-
- if (name == NULL)
- name = "";
-
- if ((dir == NULL) || (SLpath_is_absolute_path (name)))
- dir = "";
-
- /* Both VMS and MSDOS have default directories associated with each drive.
- * That is, the meaning of something like C:X depends upon more than just
- * the syntax of the string. Since this concept has more power under VMS
- * it will be honored here. However, I am going to treat C:X as C:\X
- * under MSDOS.
- *
- * Note!!!
- * VMS has problems of its own regarding path names, so I am simply
- * going to strcat. Hopefully the VMS RTL is smart enough to deal with
- * the result.
- */
- dirlen = strlen (dir);
-#ifndef VMS
- requires_fixup = (dirlen && (0 == IS_PATH_SEP(dir[dirlen - 1])));
-#endif
-
- len = dirlen + strlen (name) + 2;
- if (NULL == (file = SLmalloc (len)))
- return NULL;
-
- strcpy (file, dir);
-
-#ifndef VMS
- if (requires_fixup)
- file[dirlen++] = PATH_SEP;
-#endif
-
- strcpy (file + dirlen, name);
-
-#if defined(IBMPC_SYSTEM)
- convert_slashes (file);
-#endif
-
- return file;
-}
-
-int SLpath_file_exists (char *file)
-{
- struct stat st;
- int m;
-
-#if defined(__os2__) && !defined(S_IFMT)
-/* IBM VA3 doesn't declare S_IFMT */
-# define S_IFMT (S_IFDIR | S_IFCHR | S_IFREG)
-#endif
-
-#ifdef _S_IFDIR
-# ifndef S_IFDIR
-# define S_IFDIR _S_IFDIR
-# endif
-#endif
-
-#ifndef S_ISDIR
-# ifdef S_IFDIR
-# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-# else
-# define S_ISDIR(m) 0
-# endif
-#endif
-
- if (file == NULL)
- return -1;
-
- if (stat(file, &st) < 0) return 0;
- m = st.st_mode;
-
- if (S_ISDIR(m)) return (2);
- return 1;
-}
-
-char *SLpath_find_file_in_path (char *path, char *name)
-{
- unsigned int max_path_len;
- unsigned int this_path_len;
- char *file, *dir;
- char *p;
- unsigned int nth;
-
- if ((path == NULL) || (*path == 0)
- || (name == NULL) || (*name == 0))
- return NULL;
-
- max_path_len = 0;
- this_path_len = 0;
- p = path;
- while (*p != 0)
- {
- if (*p++ == SEARCH_PATH_DELIMITER)
- {
- if (this_path_len > max_path_len) max_path_len = this_path_len;
- this_path_len = 0;
- }
- else this_path_len++;
- }
- if (this_path_len > max_path_len) max_path_len = this_path_len;
- max_path_len++;
-
- if (NULL == (dir = SLmalloc (max_path_len)))
- return NULL;
-
- nth = 0;
- while (-1 != SLextract_list_element (path, nth, SEARCH_PATH_DELIMITER,
- dir, max_path_len))
- {
- nth++;
- if (*dir == 0)
- continue;
-
- if (NULL == (file = SLpath_dircat (dir, name)))
- {
- SLfree (dir);
- return NULL;
- }
-
- if (1 == SLpath_file_exists (file))
- {
- SLfree (dir);
- return file;
- }
-
- SLfree (file);
- }
-
- SLfree (dir);
- return NULL;
-}
-
diff --git a/mdk-stage1/slang/slposdir.c b/mdk-stage1/slang/slposdir.c
deleted file mode 100644
index 33799e574..000000000
--- a/mdk-stage1/slang/slposdir.c
+++ /dev/null
@@ -1,1057 +0,0 @@
-/* file intrinsics for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
-# include <sys/types.h>
-#endif
-
-#ifdef HAVE_IO_H
-# include <io.h> /* for chmod */
-#endif
-
-#if defined(__BORLANDC__)
-# include <process.h>
-# include <dos.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_FCNTL_H
-# include <sys/fcntl.h>
-#endif
-
-#ifdef __unix__
-# include <sys/file.h>
-#endif
-
-#if defined(__BORLANDC__)
-# include <dir.h>
-#endif
-
-#if defined(_MSC_VER)
-# include <io.h>
-#endif
-
-#if defined(__DECC) && defined(VMS)
-# include <unixio.h>
-# include <unixlib.h>
-#endif
-
-#ifdef VMS
-# include <stat.h>
-#else
-# include <sys/stat.h>
-#endif
-
-#if defined(VMS)
-# define USE_LISTDIR_INTRINSIC 0
-#else
-# define USE_LISTDIR_INTRINSIC 1
-#endif
-
-#if USE_LISTDIR_INTRINSIC
-
-#if defined(__WIN32__)
-# include <windows.h>
-#else
-# if defined(__OS2__) && defined(__IBMC__)
-# define INCL_DOS
-# define INCL_ERRORS
-# include <os2.h>
-# include <direct.h>
-# include <ctype.h>
-# else
-# ifdef HAVE_DIRENT_H
-# include <dirent.h>
-# else
-# ifdef HAVE_DIRECT_H
-# include <direct.h>
-# else
-# define dirent direct
-# define NEED_D_NAMLEN
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#endif /* USE_LISTDIR_INTRINSIC */
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-static int push_stat_struct (struct stat *st, int opt_attrs)
-{
- char *field_names [12];
- unsigned char field_types[12];
- VOID_STAR field_values [12];
- int int_values [12];
- unsigned int i;
-
- field_names [0] = "st_dev"; int_values [0] = (int) st->st_dev;
- field_names [1] = "st_ino"; int_values [1] = (int) st->st_ino;
- field_names [2] = "st_mode"; int_values [2] = (int) st->st_mode;
- field_names [3] = "st_nlink"; int_values [3] = (int) st->st_nlink;
- field_names [4] = "st_uid"; int_values [4] = (int) st->st_uid;
- field_names [5] = "st_gid"; int_values [5] = (int) st->st_gid;
- field_names [6] = "st_rdev"; int_values [6] = (int) st->st_rdev;
- field_names [7] = "st_size"; int_values [7] = (int) st->st_size;
- field_names [8] = "st_atime"; int_values [8] = (int) st->st_atime;
- field_names [9] = "st_mtime"; int_values [9] = (int) st->st_mtime;
- field_names [10] = "st_ctime"; int_values [10] = (int) st->st_ctime;
-
- field_names [11] = "st_opt_attrs"; int_values[11] = opt_attrs;
-
- for (i = 0; i < 12; i++)
- {
- field_types [i] = SLANG_INT_TYPE;
- field_values [i] = (VOID_STAR) (int_values + i);
- }
-
- return SLstruct_create_struct (12, field_names, field_types, field_values);
-}
-
-static void stat_cmd (char *file)
-{
- struct stat st;
- int status;
- int opt_attrs;
-
- status = stat (file, &st);
-
-#if defined(__MSDOS__) || defined(__WIN32__)
- if (status == -1)
- {
- unsigned int len = strlen (file);
- if (len && ((file[len-1] == '\\') || (file[len-1] == '/')))
- {
- file = SLmake_nstring (file, len-1);
- if (file == NULL)
- return;
-
- status = stat (file, &st);
- SLfree (file);
- }
- }
-#endif
- if (status == -1)
- {
- _SLerrno_errno = errno;
- SLang_push_null ();
- return;
- }
-
-#ifdef __WIN32__
- opt_attrs = GetFileAttributes (file);
-#else
- opt_attrs = 0;
-#endif
-
- push_stat_struct (&st, opt_attrs);
-}
-
-static void lstat_cmd (char *file)
-{
-#ifdef HAVE_LSTAT
- struct stat st;
- int opt_attrs;
-
- if (-1 == lstat (file, &st))
- {
- _SLerrno_errno = errno;
- SLang_push_null ();
- return;
- }
-
-#ifdef __WIN32__
- opt_attrs = GetFileAttributes (file);
-#else
- opt_attrs = 0;
-#endif
-
- push_stat_struct (&st, opt_attrs);
-#else
- stat_cmd (file);
-#endif
-}
-
-/* Well, it appears that on some systems, these are not defined. Here I
- * provide them. These are derived from the Linux stat.h file.
- */
-
-#ifdef __os2__
-# ifdef __IBMC__
-/* IBM VA3 doesn't declare S_IFMT */
-# define S_IFMT (S_IFDIR | S_IFCHR | S_IFREG)
-# endif
-#endif
-
-#ifndef S_ISLNK
-# ifdef S_IFLNK
-# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
-# else
-# define S_ISLNK(m) 0
-# endif
-#endif
-
-#ifndef S_ISREG
-# ifdef S_IFREG
-# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-# else
-# define S_ISREG(m) 0
-# endif
-#endif
-
-#ifndef S_ISDIR
-# ifdef S_IFDIR
-# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-# else
-# define S_ISDIR(m) 0
-# endif
-#endif
-
-#ifndef S_ISCHR
-# ifdef S_IFCHR
-# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-# else
-# define S_ISCHR(m) 0
-# endif
-#endif
-
-#ifndef S_ISBLK
-# ifdef S_IFBLK
-# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-# else
-# define S_ISBLK(m) 0
-# endif
-#endif
-
-#ifndef S_ISFIFO
-# ifdef S_IFIFO
-# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-# else
-# define S_ISFIFO(m) 0
-# endif
-#endif
-
-#ifndef S_ISSOCK
-# ifdef S_IFSOCK
-# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
-# else
-# define S_ISSOCK(m) 0
-# endif
-#endif
-
-static char stat_is_cmd (char *what, int *mode_ptr)
-{
- int ret;
- int st_mode = *mode_ptr;
-
- if (!strcmp (what, "sock")) ret = S_ISSOCK(st_mode);
- else if (!strcmp (what, "fifo")) ret = S_ISFIFO(st_mode);
- else if (!strcmp (what, "blk")) ret = S_ISBLK(st_mode);
- else if (!strcmp (what, "chr")) ret = S_ISCHR(st_mode);
- else if (!strcmp (what, "dir")) ret = S_ISDIR(st_mode);
- else if (!strcmp (what, "reg")) ret = S_ISREG(st_mode);
- else if (!strcmp (what, "lnk")) ret = S_ISLNK(st_mode);
- else
- {
- SLang_verror (SL_INVALID_PARM, "stat_is: Unrecognized type: %s", what);
- return -1;
- }
-
- return (char) (ret != 0);
-}
-
-#ifdef HAVE_READLINK
-static void readlink_cmd (char *s)
-{
- char buf[2048];
- int n;
-
- n = readlink (s, buf, sizeof (buf)-1);
- if (n == -1)
- {
- _SLerrno_errno = errno;
- s = NULL;
- }
- else
- {
- buf[n] = 0;
- s = buf;
- }
-
- (void) SLang_push_string (s);
-}
-#endif
-
-static int chmod_cmd (char *file, int *mode)
-{
- if (-1 == chmod(file, (mode_t) *mode))
- {
- _SLerrno_errno = errno;
- return -1;
- }
- return 0;
-}
-
-#ifdef HAVE_CHOWN
-static int chown_cmd (char *file, int *owner, int *group)
-{
- int ret;
-
- if (-1 == (ret = chown(file, (uid_t) *owner, (gid_t) *group)))
- _SLerrno_errno = errno;
- return ret;
-}
-#endif
-
-/* add trailing slash to dir */
-static void fixup_dir (char *dir)
-{
-#ifndef VMS
- int n;
-
- if ((n = strlen(dir)) > 1)
- {
- n--;
-#if defined(IBMPC_SYSTEM)
- if ( dir[n] != '/' && dir[n] != '\\' )
- strcat(dir, "\\" );
-#else
- if (dir[n] != '/' )
- strcat(dir, "/" );
-#endif
- }
-#endif /* !VMS */
-}
-
-static void slget_cwd (void)
-{
- char cwd[1024];
- char *p;
-
-#ifndef HAVE_GETCWD
- p = getwd (cwd);
-#else
-# if defined (__EMX__)
- p = _getcwd2(cwd, 1022); /* includes drive specifier */
-# else
- p = getcwd(cwd, 1022); /* djggp includes drive specifier */
-# endif
-#endif
-
- if (p == NULL)
- {
- _SLerrno_errno = errno;
- SLang_push_null ();
- return;
- }
-
-#ifndef VMS
-#ifdef __GO32__
- /* You never know about djgpp since it favors unix */
- {
- char ch;
- p = cwd;
- while ((ch = *p) != 0)
- {
- if (ch == '/') *p = '\\';
- p++;
- }
- }
-#endif
- fixup_dir (cwd);
-#endif
- SLang_push_string (cwd);
-}
-
-static int chdir_cmd (char *s)
-{
- int ret;
-
- while (-1 == (ret = chdir (s)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-}
-
-#ifdef VMS
-static int remove_cmd (char *);
-/* If the file looks like xxx, then change it to xxx.dir. If
- * it looks like A:[B.xxx] then change it to A:[B]xxx.dir.
- */
-
-static char *vms_convert_dirspec_to_vms_dir (char *str)
-{
- char *s;
- char *version;
- unsigned int len;
- char *dot;
-
- len = strlen (str);
-
- version = strchr (str, ';');
- if (version == NULL)
- version = str + len;
- /* version points to the version of the input string */
-
-
- if (NULL == (s = SLmalloc (len + 8)))/* allow extra space to work with */
- return NULL;
-
- len = (unsigned int) (version - str);
- strncpy (s, str, len);
- s[len] = 0;
- str = s;
-
- /* Lowercase the whole thing */
- while (*s != 0)
- {
- *s = LOWER_CASE(*s);
- s++;
- }
-
- if ((s > str)
- && (s[-1] != ']'))
- {
- if ((s >= str + 4)
- && (0 == strcmp (s - 4, ".dir")))
- s -= 4;
- goto add_dir_version;
- }
-
- /* Check for one of two possibilities:
- *
- * dev:[x] --> dev:x
- * dev:[a.x] --> dev:[a]x
- */
-
- if (NULL == (dot = strchr (str, '.')))
- {
- /* First possibility */
- if (NULL == (s = strchr (str, '[')))
- return str; /* let someone else figure this out */
- while (s[1] != ']')
- {
- s[0] = s[1];
- s++;
- }
- *s = 0;
- goto add_dir_version;
- }
-
- while (NULL != (s = strchr (dot + 1, '.')))
- dot = s;
-
- *dot = ']';
- s = str + (len - 1);
-
- /* Drop */
-
- add_dir_version:
- strcpy (s, ".dir");
- strcpy (s+4, version);
- return str;
-}
-#endif
-
-static int rmdir_cmd (char *s)
-{
-#ifdef VMS
- int status;
-
- if (NULL == (s = vms_convert_dirspec_to_vms_dir (s)))
- return -1;
-
- status = remove_cmd (s);
- SLfree (s);
-
- return status;
-
-#else
- int ret;
-
- while (-1 == (ret = rmdir (s)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-#endif
-}
-
-static int remove_cmd (char *s)
-{
- int ret;
-#ifdef VMS
-# define REMOVE delete
-#else
-# ifdef REAL_UNIX_SYSTEM
-# define REMOVE unlink
-# else
-# define REMOVE remove
-# endif
-#endif
-
- while (-1 == (ret = REMOVE (s)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-}
-
-static int rename_cmd (char *oldpath, char *newpath)
-{
- int ret;
- while (-1 == (ret = rename (oldpath, newpath)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-}
-
-static int mkdir_cmd (char *s, int *mode_ptr)
-{
- int ret;
-
- (void) mode_ptr;
- errno = 0;
-
-#if defined (__MSDOS__) && !defined(__GO32__)
-# define MKDIR(x,y) mkdir(x)
-#else
-# if defined (__os2__) && !defined (__EMX__)
-# define MKDIR(x,y) mkdir(x)
-# else
-# if defined (__WIN32__) && !defined (__CYGWIN32__)
-# define MKDIR(x,y) mkdir(x)
-# else
-# define MKDIR mkdir
-# endif
-# endif
-#endif
-
- while (-1 == (ret = MKDIR(s, *mode_ptr)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-}
-
-#ifdef HAVE_MKFIFO
-static int mkfifo_cmd (char *path, int *mode)
-{
- if (-1 == mkfifo (path, *mode))
- {
- _SLerrno_errno = errno;
- return -1;
- }
- return 0;
-}
-#endif
-
-#if USE_LISTDIR_INTRINSIC
-
-static void free_dir_list (char **list, unsigned int num)
-{
- unsigned int i;
-
- if (list == NULL)
- return;
-
- for (i = 0; i < num; i++)
- SLang_free_slstring (list[i]);
- SLfree ((char *) list);
-}
-
-#if defined(__WIN32__) || defined(__os2__) && defined(__IBMC__)
-static int build_dirlist (char *file, char *opt, char ***listp, unsigned int *nump, unsigned int *maxnum)
-{
-# ifdef __WIN32__
- DWORD status;
- HANDLE h;
- WIN32_FIND_DATA fd;
-# else
- APIRET rc;
- FILESTATUS3 status;
- HDIR h;
- FILEFINDBUF3 fd;
- ULONG cFileNames;
-# endif
- char *pat;
- unsigned int len;
- char **list;
- unsigned int num;
- unsigned int max_num;
- int hok;
-
- /* If an option is present, assume ok to list hidden files. Later
- * I will formalize this.
- */
- hok = (opt != NULL);
-
-# ifdef __WIN32__
- status = GetFileAttributes (file);
-# else
- rc = DosQueryPathInfo(file, FIL_STANDARD, &status, sizeof(FILESTATUS3));
-# endif
-
-
-# ifdef __WIN32__
- if (status == (DWORD)-1)
- {
- _SLerrno_errno = ENOENT;
- return -1;
- }
- if (0 == (status & FILE_ATTRIBUTE_DIRECTORY))
- {
- _SLerrno_errno = ENOTDIR;
- return -1;
- }
-# else
- if ((rc != 0) || (status.attrFile & FILE_DIRECTORY) == 0)
- {
- /* ENOTDIR isn't defined in VA3. */
- _SLerrno_errno = ENOENT;
- return -1;
- }
-# endif
-
- len = strlen (file);
- pat = SLmalloc (len + 3);
- if (pat == NULL)
- return -1;
-
- strcpy (pat, file);
- file = pat;
- while (*file != 0)
- {
- if (*file == '/') *file = '\\';
- file++;
- }
-
- if (len && (pat[len-1] != '\\'))
- {
- pat[len] = '\\';
- len++;
- }
- pat[len++] = '*';
- pat[len] = 0;
-
- num = 0;
- max_num = 50;
- list = (char **)SLmalloc (max_num * sizeof(char *));
- if (list == NULL)
- {
- SLfree (pat);
- return -1;
- }
-
-# ifdef __WIN32__
- h = FindFirstFile(pat, &fd);
- if (h == INVALID_HANDLE_VALUE)
- {
- if (ERROR_NO_MORE_FILES != GetLastError())
- {
- SLfree (pat);
- SLfree ((char *)list);
- return -1;
- }
- }
-# else
- h = HDIR_CREATE;
- cFileNames = 1;
- rc = DosFindFirst(pat, &h, FILE_READONLY | FILE_DIRECTORY |
- FILE_ARCHIVED, &fd, sizeof(fd), &cFileNames, FIL_STANDARD);
- if (rc != 0)
- {
- if (rc != ERROR_NO_MORE_FILES)
- {
- SLfree (pat);
- SLfree ((char *)list);
- return -1;
- }
- }
-# endif
- else while (1)
- {
- /* Do not include hidden files in the list. Also, do not
- * include "." and ".." entries.
- */
-#ifdef __WIN32__
- file = fd.cFileName;
-#else
- file = fd.achName;
-#endif
- if (
-#ifdef __WIN32__
- (hok || (0 == (fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)))
-#else
- (hok || (0 == (fd.attrFile & FILE_HIDDEN)))
-#endif
- && ((*file != '.')
- || ((0 != strcmp (file, "."))
- && (0 != strcmp (file, "..")))))
- {
- if (num == max_num)
- {
- char **new_list;
-
- max_num += 100;
- new_list = (char **)SLrealloc ((char *)list, max_num * sizeof (char *));
- if (new_list == NULL)
- goto return_error;
-
- list = new_list;
- }
-
- file = SLang_create_slstring (file);
- if (file == NULL)
- goto return_error;
-
- list[num] = file;
- num++;
- }
-
-#ifdef __WIN32__
- if (FALSE == FindNextFile(h, &fd))
- {
- if (ERROR_NO_MORE_FILES == GetLastError())
- {
- FindClose (h);
- break;
- }
-
- _SLerrno_errno = errno;
- FindClose (h);
- goto return_error;
- }
-#else
- cFileNames = 1;
- rc = DosFindNext(h, &fd, sizeof(fd), &cFileNames);
- if (rc != 0)
- {
- if (rc == ERROR_NO_MORE_FILES)
- {
- DosFindClose (h);
- break;
- }
-
- _SLerrno_errno = errno;
- DosFindClose (h);
- goto return_error;
- }
-#endif
- }
-
- SLfree (pat);
- *maxnum = max_num;
- *nump = num;
- *listp = list;
- return 0;
-
- return_error:
- free_dir_list (list, num);
- SLfree (pat);
- return -1;
-}
-
-#else /* NOT __WIN32__ */
-
-static int build_dirlist (char *dir, char *opt, char ***listp, unsigned int *nump, unsigned int *maxnum)
-{
- DIR *dp;
- struct dirent *ep;
- unsigned int num_files;
- unsigned int max_num_files;
- char **list;
-
- (void) opt;
-
- if (NULL == (dp = opendir (dir)))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- num_files = max_num_files = 0;
- list = NULL;
- while (NULL != (ep = readdir (dp)))
- {
- unsigned int len;
- char *name;
-
- name = ep->d_name;
-# ifdef NEED_D_NAMLEN
- len = ep->d_namlen;
-# else
- len = strlen (name);
-# endif
- if ((*name == '.') && (len <= 2))
- {
- if (len == 1) continue;
- if (name [1] == '.') continue;
- }
-
- if (num_files == max_num_files)
- {
- char **new_list;
-
- max_num_files += 100;
- if (NULL == (new_list = (char **) SLrealloc ((char *)list, max_num_files * sizeof(char *))))
- goto return_error;
-
- list = new_list;
- }
-
- if (NULL == (list[num_files] = SLang_create_nslstring (name, len)))
- goto return_error;
-
- num_files++;
- }
-
- closedir (dp);
- *nump = num_files;
- *maxnum = max_num_files;
- *listp = list;
- return 0;
-
- return_error:
- if (dp != NULL)
- closedir (dp);
- free_dir_list (list, num_files);
- return -1;
-}
-# endif /* NOT __WIN32__ */
-
-static void listdir_cmd (char *dir, char *opt)
-{
- SLang_Array_Type *at;
- unsigned int num_files;
- unsigned int max_num_files;
- int inum_files;
- char **list;
-
- if (-1 == build_dirlist (dir, opt, &list, &num_files, &max_num_files))
- {
- SLang_push_null ();
- return;
- }
- /* If max_num_files == 0, then num_files == 0 and list == NULL.
- * The realloc step below will malloc list for us.
- */
- if (num_files + 1 < max_num_files)
- {
- char **new_list;
- if (NULL == (new_list = (char **) SLrealloc ((char *)list, (num_files + 1)* sizeof(char*))))
- {
- free_dir_list (list, num_files);
- SLang_push_null ();
- return;
- }
- list = new_list;
- }
-
- inum_files = (int) num_files;
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) list, &inum_files, 1)))
- {
- free_dir_list (list, num_files);
- SLang_push_null ();
- return;
- }
-
- /* Allow the array to free this list if push fails */
- if (-1 == SLang_push_array (at, 1))
- SLang_push_null ();
-}
-
-static void listdir_cmd_wrap (void)
-{
- char *s, *sopt;
-
- sopt = NULL;
- switch (SLang_Num_Function_Args)
- {
- case 2:
- if (-1 == SLang_pop_slstring (&sopt))
- return;
- case 1:
- if (-1 == SLang_pop_slstring (&s))
- {
- SLang_free_slstring (sopt);
- return;
- }
- break;
- default:
- SLang_verror (SL_INVALID_PARM, "usage: listdir (string, [opt-string]");
- return;
- }
-
- listdir_cmd (s, sopt);
- SLang_free_slstring (s);
- SLang_free_slstring (sopt);
-}
-
-#endif /* USE_LISTDIR_INTRINSIC */
-
-#ifdef HAVE_UMASK
-static int umask_cmd (int *u)
-{
- return umask (*u);
-}
-#endif
-
-static SLang_Intrin_Fun_Type PosixDir_Name_Table [] =
-{
-#ifdef HAVE_READLINK
- MAKE_INTRINSIC_S("readlink", readlink_cmd, SLANG_VOID_TYPE),
-#endif
- MAKE_INTRINSIC_S("lstat_file", lstat_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("stat_file", stat_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SI("stat_is", stat_is_cmd, SLANG_CHAR_TYPE),
-#ifdef HAVE_MKFIFO
- MAKE_INTRINSIC_SI("mkfifo", mkfifo_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_CHOWN
- MAKE_INTRINSIC_SII("chown", chown_cmd, SLANG_INT_TYPE),
-#endif
- MAKE_INTRINSIC_SI("chmod", chmod_cmd, SLANG_INT_TYPE),
-#ifdef HAVE_UMASK
- MAKE_INTRINSIC_I("umask", umask_cmd, SLANG_INT_TYPE),
-#endif
- MAKE_INTRINSIC_0("getcwd", slget_cwd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SI("mkdir", mkdir_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("chdir", chdir_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("rmdir", rmdir_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("remove", remove_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SS("rename", rename_cmd, SLANG_INT_TYPE),
-#if USE_LISTDIR_INTRINSIC
- MAKE_INTRINSIC("listdir", listdir_cmd_wrap, SLANG_VOID_TYPE, 0),
-#endif
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-static SLang_IConstant_Type PosixDir_Consts [] =
-{
-#ifndef S_IRWXU
-# define S_IRWXU 00700
-#endif
- MAKE_ICONSTANT("S_IRWXU", S_IRWXU),
-#ifndef S_IRUSR
-# define S_IRUSR 00400
-#endif
- MAKE_ICONSTANT("S_IRUSR", S_IRUSR),
-#ifndef S_IWUSR
-# define S_IWUSR 00200
-#endif
- MAKE_ICONSTANT("S_IWUSR", S_IWUSR),
-#ifndef S_IXUSR
-# define S_IXUSR 00100
-#endif
- MAKE_ICONSTANT("S_IXUSR", S_IXUSR),
-#ifndef S_IRWXG
-# define S_IRWXG 00070
-#endif
- MAKE_ICONSTANT("S_IRWXG", S_IRWXG),
-#ifndef S_IRGRP
-# define S_IRGRP 00040
-#endif
- MAKE_ICONSTANT("S_IRGRP", S_IRGRP),
-#ifndef S_IWGRP
-# define S_IWGRP 00020
-#endif
- MAKE_ICONSTANT("S_IWGRP", S_IWGRP),
-#ifndef S_IXGRP
-# define S_IXGRP 00010
-#endif
- MAKE_ICONSTANT("S_IXGRP", S_IXGRP),
-#ifndef S_IRWXO
-# define S_IRWXO 00007
-#endif
- MAKE_ICONSTANT("S_IRWXO", S_IRWXO),
-#ifndef S_IROTH
-# define S_IROTH 00004
-#endif
- MAKE_ICONSTANT("S_IROTH", S_IROTH),
-#ifndef S_IWOTH
-# define S_IWOTH 00002
-#endif
- MAKE_ICONSTANT("S_IWOTH", S_IWOTH),
-#ifndef S_IXOTH
-# define S_IXOTH 00001
-#endif
- MAKE_ICONSTANT("S_IXOTH", S_IXOTH),
-#ifdef __WIN32__
- MAKE_ICONSTANT("FILE_ATTRIBUTE_ARCHIVE", FILE_ATTRIBUTE_ARCHIVE),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_COMPRESSED", FILE_ATTRIBUTE_COMPRESSED),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_NORMAL", FILE_ATTRIBUTE_NORMAL),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_DIRECTORY", FILE_ATTRIBUTE_DIRECTORY),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_HIDDEN", FILE_ATTRIBUTE_HIDDEN),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_READONLY", FILE_ATTRIBUTE_READONLY),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_SYSTEM", FILE_ATTRIBUTE_SYSTEM),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_TEMPORARY", FILE_ATTRIBUTE_TEMPORARY),
-#endif
- SLANG_END_ICONST_TABLE
-};
-
-static int Initialized;
-
-int SLang_init_posix_dir (void)
-{
- if (Initialized)
- return 0;
-
- if ((-1 == SLadd_intrin_fun_table(PosixDir_Name_Table, "__POSIX_DIR__"))
- || (-1 == SLadd_iconstant_table (PosixDir_Consts, NULL))
- || (-1 == _SLerrno_init ()))
- return -1;
-
- Initialized = 1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slposio.c b/mdk-stage1/slang/slposio.c
deleted file mode 100644
index ab1e9f689..000000000
--- a/mdk-stage1/slang/slposio.c
+++ /dev/null
@@ -1,568 +0,0 @@
-/* This module implements an interface to posix system calls */
-/* file stdio intrinsics for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
-# include <sys/types.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_FCNTL_H
-# include <sys/fcntl.h>
-#endif
-
-#ifdef __unix__
-# include <sys/file.h>
-#endif
-
-#ifdef HAVE_IO_H
-# include <io.h>
-#endif
-
-#if defined(__BORLANDC__)
-# include <dir.h>
-#endif
-
-#if defined(__DECC) && defined(VMS)
-# include <unixio.h>
-# include <unixlib.h>
-#endif
-
-#ifdef VMS
-# include <stat.h>
-#else
-# include <sys/stat.h>
-#endif
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-struct _SLFile_FD_Type
-{
- char *name;
- unsigned int num_refs; /* reference counting */
- int fd;
- SLang_MMT_Type *stdio_mmt; /* fdopen'd stdio object */
-
- /* methods */
- int (*close)(int);
- int (*read) (int, char *, unsigned int *);
- int (*write)(int, char *, unsigned int *);
-};
-
-static int close_method (int fd)
-{
- return close (fd);
-}
-
-static int write_method (int fd, char *buf, unsigned int *nump)
-{
- int num;
-
- if (-1 == (num = write (fd, buf, *nump)))
- {
- *nump = 0;
- return -1;
- }
-
- *nump = (unsigned int) num;
- return 0;
-}
-
-static int read_method (int fd, char *buf, unsigned int *nump)
-{
- int num;
-
- num = read (fd, buf, *nump);
- if (num == -1)
- {
- *nump = 0;
- return -1;
- }
- *nump = (unsigned int) num;
- return 0;
-}
-
-static int check_fd (int fd)
-{
- if (fd == -1)
- {
-#ifdef EBADF
- _SLerrno_errno = EBADF;
-#endif
- return -1;
- }
-
- return 0;
-}
-
-static int posix_close (SLFile_FD_Type *f)
-{
- if (-1 == check_fd (f->fd))
- return -1;
-
- if ((f->close != NULL)
- && (-1 == f->close (f->fd)))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- if (f->stdio_mmt != NULL)
- {
- SLang_free_mmt (f->stdio_mmt);
- f->stdio_mmt = NULL;
- }
-
- f->fd = -1;
- return 0;
-}
-
-/* Usage: Uint write (f, buf); */
-static void posix_write (SLFile_FD_Type *f, SLang_BString_Type *bstr)
-{
- unsigned int len;
- char *p;
-
- if ((-1 == check_fd (f->fd))
- || (NULL == (p = (char *)SLbstring_get_pointer (bstr, &len))))
- {
- SLang_push_integer (-1);
- return;
- }
-
- if (-1 == f->write (f->fd, p, &len))
- {
- _SLerrno_errno = errno;
- SLang_push_integer (-1);
- return;
- }
-
- (void) SLang_push_uinteger (len);
-}
-
-/* Usage: nn = read (f, &buf, n); */
-static void posix_read (SLFile_FD_Type *f, SLang_Ref_Type *ref, unsigned int *nbytes)
-{
- unsigned int len;
- char *b;
- SLang_BString_Type *bstr;
-
- b = NULL;
-
- len = *nbytes;
- if ((-1 == check_fd (f->fd))
- || (NULL == (b = SLmalloc (len + 1))))
- goto return_error;
-
- if (-1 == f->read (f->fd, b, &len))
- {
- _SLerrno_errno = errno;
- goto return_error;
- }
-
- if (len != *nbytes)
- {
- char *b1 = SLrealloc (b, len + 1);
- if (b1 == NULL)
- goto return_error;
- b = b1;
- }
-
- bstr = SLbstring_create_malloced ((unsigned char *) b, len, 0);
- if (bstr != NULL)
- {
- if ((-1 != SLang_assign_to_ref (ref, SLANG_BSTRING_TYPE, (VOID_STAR)&bstr))
- && (-1 != SLang_push_uinteger (len)))
- return;
-
- SLbstring_free (bstr);
- b = NULL;
- /* drop */
- }
-
- return_error:
- if (b != NULL) SLfree ((char *)b);
- (void) SLang_assign_to_ref (ref, SLANG_NULL_TYPE, NULL);
- (void) SLang_push_integer (-1);
-}
-
-SLFile_FD_Type *SLfile_create_fd (char *name, int fd)
-{
- SLFile_FD_Type *f;
-
- if (NULL == (f = (SLFile_FD_Type *) SLmalloc (sizeof (SLFile_FD_Type))))
- return NULL;
-
- memset ((char *) f, 0, sizeof (SLFile_FD_Type));
- if (NULL == (f->name = SLang_create_slstring (name)))
- {
- SLfree ((char *)f);
- return NULL;
- }
-
- f->fd = fd;
- f->num_refs = 1;
-
- f->close = close_method;
- f->read = read_method;
- f->write = write_method;
-
- return f;
-}
-
-SLFile_FD_Type *SLfile_dup_fd (SLFile_FD_Type *f0)
-{
- SLFile_FD_Type *f;
- int fd0, fd;
-
- if (f0 == NULL)
- return NULL;
- fd0 = f0->fd;
- if (-1 == check_fd (fd0))
- return NULL;
-
- while (-1 == (fd = dup (fd0)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- return NULL;
- }
-
- if (NULL == (f = SLfile_create_fd (f0->name, fd)))
- {
- f0->close (fd);
- return NULL;
- }
-
- return f;
-}
-
-int SLfile_get_fd (SLFile_FD_Type *f, int *fd)
-{
- if (f == NULL)
- return -1;
-
- *fd = f->fd;
- if (-1 == check_fd (*fd))
- return -1;
-
- return 0;
-}
-
-void SLfile_free_fd (SLFile_FD_Type *f)
-{
- if (f == NULL)
- return;
-
- if (f->num_refs > 1)
- {
- f->num_refs -= 1;
- return;
- }
-
- if (f->fd != -1)
- {
- if (f->close != NULL)
- (void) f->close (f->fd);
-
- f->fd = -1;
- }
-
- if (f->stdio_mmt != NULL)
- SLang_free_mmt (f->stdio_mmt);
-
- SLfree ((char *) f);
-}
-
-static int pop_string_int (char **s, int *i)
-{
- *s = NULL;
- if ((-1 == SLang_pop_integer (i))
- || (-1 == SLang_pop_slstring (s)))
- return -1;
-
- return 0;
-}
-
-static int pop_string_int_int (char **s, int *a, int *b)
-{
- *s = NULL;
- if ((-1 == SLang_pop_integer (b))
- || (-1 == pop_string_int (s, a)))
- return -1;
-
- return 0;
-}
-
-static void posix_open (void)
-{
- char *file;
- int mode, flags;
- SLFile_FD_Type *f;
-
- switch (SLang_Num_Function_Args)
- {
- case 3:
- if (-1 == pop_string_int_int (&file, &flags, &mode))
- {
- SLang_push_null ();
- return;
- }
- break;
-
- case 2:
- default:
- if (-1 == pop_string_int (&file, &flags))
- return;
- mode = 0777;
- break;
- }
-
- f = SLfile_create_fd (file, -1);
- if (f == NULL)
- {
- SLang_free_slstring (file);
- SLang_push_null ();
- return;
- }
- SLang_free_slstring (file);
-
- if (-1 == (f->fd = open (f->name, flags, mode)))
- {
- _SLerrno_errno = errno;
- SLfile_free_fd (f);
- SLang_push_null ();
- return;
- }
-
- if (-1 == SLfile_push_fd (f))
- SLang_push_null ();
- SLfile_free_fd (f);
-}
-
-static void posix_fileno (void)
-{
- FILE *fp;
- SLang_MMT_Type *mmt;
- int fd;
- SLFile_FD_Type *f;
- char *name;
-
- if (-1 == SLang_pop_fileptr (&mmt, &fp))
- {
- SLang_push_null ();
- return;
- }
- name = SLang_get_name_from_fileptr (mmt);
- fd = fileno (fp);
-
- f = SLfile_create_fd (name, fd);
- if (f != NULL)
- f->close = NULL; /* prevent fd from being closed
- * when it goes out of scope
- */
- SLang_free_mmt (mmt);
-
- if (-1 == SLfile_push_fd (f))
- SLang_push_null ();
- SLfile_free_fd (f);
-}
-
-static void posix_fdopen (SLFile_FD_Type *f, char *mode)
-{
- if (f->stdio_mmt == NULL)
- {
- if (-1 == _SLstdio_fdopen (f->name, f->fd, mode))
- return;
-
- if (NULL == (f->stdio_mmt = SLang_pop_mmt (SLANG_FILE_PTR_TYPE)))
- return;
- }
-
- (void) SLang_push_mmt (f->stdio_mmt);
-}
-
-static long posix_lseek (SLFile_FD_Type *f, long ofs, int whence)
-{
- long status;
-
- if (-1 == (status = lseek (f->fd, ofs, whence)))
- _SLerrno_errno = errno;
-
- return status;
-}
-
-static int posix_isatty (void)
-{
- int ret;
- SLFile_FD_Type *f;
-
- if (SLang_peek_at_stack () == SLANG_FILE_PTR_TYPE)
- {
- SLang_MMT_Type *mmt;
- FILE *fp;
-
- if (-1 == SLang_pop_fileptr (&mmt, &fp))
- return 0; /* invalid descriptor */
-
- ret = isatty (fileno (fp));
- SLang_free_mmt (mmt);
- return ret;
- }
-
- if (-1 == SLfile_pop_fd (&f))
- return 0;
-
- ret = isatty (f->fd);
- SLfile_free_fd (f);
-
- return ret;
-}
-
-static void posix_dup (SLFile_FD_Type *f)
-{
- if ((NULL == (f = SLfile_dup_fd (f)))
- || (-1 == SLfile_push_fd (f)))
- SLang_push_null ();
-
- SLfile_free_fd (f);
-}
-
-#define I SLANG_INT_TYPE
-#define V SLANG_VOID_TYPE
-#define F SLANG_FILE_FD_TYPE
-#define B SLANG_BSTRING_TYPE
-#define R SLANG_REF_TYPE
-#define U SLANG_UINT_TYPE
-#define S SLANG_STRING_TYPE
-#define L SLANG_LONG_TYPE
-static SLang_Intrin_Fun_Type Fd_Name_Table [] =
-{
- MAKE_INTRINSIC_0("fileno", posix_fileno, V),
- MAKE_INTRINSIC_0("isatty", posix_isatty, I),
- MAKE_INTRINSIC_0("open", posix_open, V),
- MAKE_INTRINSIC_3("read", posix_read, V, F, R, U),
- MAKE_INTRINSIC_3("lseek", posix_lseek, L, F, L, I),
- MAKE_INTRINSIC_2("fdopen", posix_fdopen, V, F, S),
- MAKE_INTRINSIC_2("write", posix_write, V, F, B),
- MAKE_INTRINSIC_1("dup_fd", posix_dup, V, F),
- MAKE_INTRINSIC_1("close", posix_close, I, F),
- SLANG_END_INTRIN_FUN_TABLE
-};
-#undef I
-#undef V
-#undef F
-#undef B
-#undef R
-#undef S
-#undef L
-#undef U
-
-static SLang_IConstant_Type PosixIO_Consts [] =
-{
-#ifdef O_RDONLY
- MAKE_ICONSTANT("O_RDONLY", O_RDONLY),
-#endif
-#ifdef O_WRONLY
- MAKE_ICONSTANT("O_WRONLY", O_WRONLY),
-#endif
-#ifdef O_RDWR
- MAKE_ICONSTANT("O_RDWR", O_RDWR),
-#endif
-#ifdef O_APPEND
- MAKE_ICONSTANT("O_APPEND", O_APPEND),
-#endif
-#ifdef O_CREAT
- MAKE_ICONSTANT("O_CREAT", O_CREAT),
-#endif
-#ifdef O_EXCL
- MAKE_ICONSTANT("O_EXCL", O_EXCL),
-#endif
-#ifdef O_NOCTTY
- MAKE_ICONSTANT("O_NOCTTY", O_NOCTTY),
-#endif
-#ifdef O_NONBLOCK
- MAKE_ICONSTANT("O_NONBLOCK", O_NONBLOCK),
-#endif
-#ifdef O_TRUNC
- MAKE_ICONSTANT("O_TRUNC", O_TRUNC),
-#endif
-#ifndef O_BINARY
-# define O_BINARY 0
-#endif
- MAKE_ICONSTANT("O_BINARY", O_BINARY),
-#ifndef O_TEXT
-# define O_TEXT 0
-#endif
- MAKE_ICONSTANT("O_TEXT", O_TEXT),
-
- SLANG_END_ICONST_TABLE
-};
-
-int SLfile_push_fd (SLFile_FD_Type *f)
-{
- if (f == NULL)
- return SLang_push_null ();
-
- f->num_refs += 1;
-
- if (0 == SLclass_push_ptr_obj (SLANG_FILE_FD_TYPE, (VOID_STAR) f))
- return 0;
-
- f->num_refs -= 1;
-
- return -1;
-}
-
-int SLfile_pop_fd (SLFile_FD_Type **f)
-{
- return SLclass_pop_ptr_obj (SLANG_FILE_FD_TYPE, (VOID_STAR *) f);
-}
-
-static void destroy_fd_type (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- SLfile_free_fd (*(SLFile_FD_Type **) ptr);
-}
-
-static int fd_push (unsigned char type, VOID_STAR v)
-{
- (void) type;
- return SLfile_push_fd (*(SLFile_FD_Type **)v);
-}
-
-int SLang_init_posix_io (void)
-{
- SLang_Class_Type *cl;
-
- if (NULL == (cl = SLclass_allocate_class ("FD_Type")))
- return -1;
- cl->cl_destroy = destroy_fd_type;
- (void) SLclass_set_push_function (cl, fd_push);
-
- if (-1 == SLclass_register_class (cl, SLANG_FILE_FD_TYPE, sizeof (SLFile_FD_Type), SLANG_CLASS_TYPE_PTR))
- return -1;
-
- if ((-1 == SLadd_intrin_fun_table(Fd_Name_Table, "__POSIXIO__"))
- || (-1 == SLadd_iconstant_table (PosixIO_Consts, NULL))
- || (-1 == _SLerrno_init ()))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slprepr.c b/mdk-stage1/slang/slprepr.c
deleted file mode 100644
index 358eeb874..000000000
--- a/mdk-stage1/slang/slprepr.c
+++ /dev/null
@@ -1,427 +0,0 @@
-/* Copyright (c) 1996, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/*--------------------------------*-C-*---------------------------------*
- * File: slprepr.c
- *
- * preprocessing routines
- */
-/*{{{ notes: */
-/*
- * various preprocessing tokens supported
- *
- * #ifdef TOKEN1 TOKEN2 ...
- * - True if any of TOKEN1 TOKEN2 ... are defined
- *
- * #ifndef TOKEN1 TOKEN2 ...
- * - True if none of TOKEN1 TOKEN2 ... are defined
- *
- * #iftrue
- * #ifnfalse
- * - always True
- *
- * #iffalse
- * #ifntrue
- * - always False
- *
- * #if$ENV
- * - True if the enviroment variable ENV is set
- *
- * #ifn$ENV
- * - True if the enviroment variable ENV is not set
- *
- * #if$ENV TOKEN1 TOKEN2 ...
- * - True if the contents of enviroment variable ENV match
- * any of TOKEN1 TOKEN2 ...
- *
- * #ifn$ENV TOKEN1 TOKEN2 ...
- * - True if the contents of enviroment variable ENV do not match
- * any of TOKEN1 TOKEN2 ...
- *
- * NB: For $ENV, the tokens may contain wildcard characters:
- * '?' - match any single character
- * '*' - match any number of characters
- *
- * #elif...
- * #else
- * #endif
- *
- *
- * mj olesen
- *----------------------------------------------------------------------*/
-/*}}}*/
-/*{{{ includes: */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-/*}}}*/
-
-int (*SLprep_exists_hook) (char *, char);
-int (*_SLprep_eval_hook) (char *);
-
-/*{{{ SLprep_open_prep (), SLprep_close_prep () */
-int SLprep_open_prep (SLPreprocess_Type *pt)
-{
- pt->this_level = 0;
- pt->exec_level = 0;
- pt->prev_exec_level = 0;
- pt->comment_char = '%';
- pt->preprocess_char = '#';
- pt->flags = 0;
- return 0;
-}
-
-void SLprep_close_prep (SLPreprocess_Type *pt)
-{
- (void) pt;
-}
-/*}}}*/
-
-/*{{{ SLwildcard () */
-/*----------------------------------------------------------------------*
- * Does `string' match `pattern' ?
- *
- * '*' in pattern matches any sub-string (including the null string)
- * '?' matches any single char.
- *
- * Code taken from that donated by Paul Hudson <paulh@harlequin.co.uk>
- * to the fvwm project.
- * It is public domain, no strings attached. No guarantees either.
- *----------------------------------------------------------------------*/
-static int SLwildcard (char *pattern, char *string)
-{
- if (pattern == NULL || *pattern == '\0' || !strcmp (pattern, "*"))
- return 1;
- else if (string == NULL)
- return 0;
-
- while (*pattern && *string) switch (*pattern)
- {
- case '?':
- /* match any single character */
- pattern++;
- string++;
- break;
-
- case '*':
- /* see if rest of pattern matches any trailing */
- /* substring of the string. */
- if (*++pattern == '\0')
- return 1; /* trailing * must match rest */
-
- while (*string)
- {
- if (SLwildcard (pattern, string)) return 1;
- string++;
- }
- return 0;
-
- /* break; */
-
- default:
- if (*pattern == '\\')
- {
- if (*++pattern == '\0')
- pattern--; /* don't skip trailing backslash */
- }
- if (*pattern++ != *string++) return 0;
- break;
- }
-
- return ((*string == '\0')
- && ((*pattern == '\0') || !strcmp (pattern, "*")));
-}
-/*}}}*/
-
-#if defined(__16_BIT_SYSTEM__)
-# define MAX_DEFINES 10
-#else
-# define MAX_DEFINES 128
-#endif
-
-/* The extra one is for NULL termination */
-char *_SLdefines [MAX_DEFINES + 1];
-
-int SLdefine_for_ifdef (char *s) /*{{{*/
-{
- unsigned int i;
-
- for (i = 0; i < MAX_DEFINES; i++)
- {
- char *s1 = _SLdefines [i];
-
- if (s1 == s)
- return 0; /* already defined (hashed string) */
-
- if (s1 != NULL)
- continue;
-
- s = SLang_create_slstring (s);
- if (s == NULL)
- return -1;
-
- _SLdefines[i] = s;
- return 0;
- }
- return -1;
-}
-/*}}}*/
-
-/*{{{ static functions */
-static int is_any_defined(char *buf, char comment) /*{{{*/
-{
- char *sys;
- unsigned int i;
-
- while (1)
- {
- register char ch;
-
- /* Skip whitespace */
- while (((ch = *buf) == ' ') || (ch == '\t'))
- buf++;
-
- if ((ch == '\n') || (ch == 0) || (ch == comment))
- return 0;
-
- i = 0;
- while (NULL != (sys = _SLdefines [i++]))
- {
- unsigned int n;
-
- if (*sys != ch)
- continue;
-
- n = strlen (sys);
- if (0 == strncmp (buf, sys, n))
- {
- char ch1 = *(buf + n);
-
- if ((ch1 == '\n') || (ch1 == 0) ||
- (ch1 == ' ') || (ch1 == '\t') || (ch1 == comment))
- return 1;
- }
- }
-
- /* Skip past word */
- while (((ch = *buf) != ' ')
- && (ch != '\n')
- && (ch != 0)
- && (ch != '\t')
- && (ch != comment))
- buf++;
- }
-}
-/*}}}*/
-
-static unsigned char *tokenize (unsigned char *buf, char *token, unsigned int len)
-{
- register char *token_end;
-
- token_end = token + (len - 1); /* allow room for \0 */
-
- while ((token < token_end) && (*buf > ' '))
- *token++ = *buf++;
-
- if (*buf > ' ') return NULL; /* token too long */
-
- *token = '\0';
-
- while ((*buf == ' ') || (*buf == '\t')) buf++;
-
- return buf;
-}
-
-static int is_env_defined (char *buf, char comment) /*{{{*/
-{
- char * env, token [32];
-
- if ((*buf <= ' ') || (*buf == comment)) return 0; /* no token */
-
- if (NULL == (buf = (char *) tokenize ((unsigned char *) buf,
- token, sizeof (token))))
- return 0;
-
- if (NULL == (env = getenv (token)))
- return 0; /* ENV not defined */
-
- if ((*buf == '\0') || (*buf == '\n') || (*buf == comment))
- return 1; /* no tokens, but getenv() worked */
-
- do
- {
- buf = (char *) tokenize ((unsigned char *) buf, token, sizeof (token));
- if (buf == NULL) return 0;
-
- if (SLwildcard (token, env))
- return 1;
- }
- while (*buf && (*buf != '\n') && (*buf != comment));
-
- return 0;
-}
-/*}}}*/
-/*}}}*/
-
-int SLprep_line_ok (char *buf, SLPreprocess_Type *pt) /*{{{*/
-{
- int level, prev_exec_level, exec_level;
-
- if ((buf == NULL) || (pt == NULL)) return 1;
-
- if (*buf != pt->preprocess_char)
- {
- if (pt->this_level != pt->exec_level)
- return 0;
-
- if (*buf == '\n') return pt->flags & SLPREP_BLANK_LINES_OK;
- if (*buf == pt->comment_char) return pt->flags & SLPREP_COMMENT_LINES_OK;
-
- return 1;
- }
-
- level = pt->this_level;
- exec_level = pt->exec_level;
- prev_exec_level = pt->prev_exec_level;
-
- buf++;
-
- /* Allow '#!' to pass. This could be a shell script with something
- like '#! /local/bin/slang' */
- if ((*buf == '!') && (pt->preprocess_char == '#'))
- return 0;
-
- /* Allow whitespace as in '# ifdef' */
- while ((*buf == ' ') || (*buf == '\t')) buf++;
- if (*buf < 'a') return (level == exec_level);
-
- if (!strncmp(buf, "endif", 5))
- {
- if (level == exec_level)
- {
- exec_level--;
- prev_exec_level = exec_level;
- }
- level--;
- if (level < prev_exec_level) prev_exec_level = level;
- goto done;
- }
-
- if ((buf[0] == 'e') && (buf[1] == 'l')) /* else, elifdef, ... */
- {
- if ((level == exec_level + 1)
- && (prev_exec_level != level))
- {
- /* We are in position to execute */
- buf += 2;
- if ((buf[0] == 's') && (buf[1] == 'e'))
- {
- /* "else" */
- exec_level = level;
- goto done;
- }
-
- /* drop through to ifdef testing. First set variable
- * to values appropriate for ifdef testing.
- */
- level--; /* now == to exec level */
- }
- else
- {
- if (level == exec_level)
- {
- exec_level--;
- }
- goto done;
- }
- }
-
- if ((buf[0] == 'i') && (buf[1] == 'f'))
- {
- int truth;
-
- if (level != exec_level)
- {
- /* Not interested */
- level++;
- goto done;
- }
-
- level++;
-
- buf += 2;
- if (buf[0] == 'n')
- {
- truth = 0;
- buf++;
- }
- else truth = 1;
-
- if (!strncmp (buf, "def", 3))
- truth = (truth == is_any_defined(buf + 3, pt->comment_char));
-
- else if (!strncmp (buf, "false", 5))
- truth = !truth;
-
- else if (*buf == '$')
- truth = (truth == is_env_defined (buf + 1, pt->comment_char));
-
- else if (!strncmp (buf, "exists", 6)
- && (SLprep_exists_hook != NULL))
- truth = (truth == (*SLprep_exists_hook)(buf + 6, pt->comment_char));
-
- else if (!strncmp (buf, "eval", 4)
- && (_SLprep_eval_hook != NULL))
- truth = (truth == (*_SLprep_eval_hook) (buf + 4));
-
- else if (0 != strncmp (buf, "true", 4))
- return 1; /* let it bomb */
-
- if (truth)
- {
- exec_level = level;
- prev_exec_level = exec_level;
- }
- }
- else return 1; /* let it bomb. */
-
- done:
-
- if (exec_level < 0) return 1;
-
- pt->this_level = level;
- pt->exec_level = exec_level;
- pt->prev_exec_level = prev_exec_level;
- return 0;
-}
-/*}}}*/
-
-/*{{{ main() - for testing only */
-#if 0
-int main ()
-{
- char buf[1024];
- SLPreprocess_Type pt;
-
- SLprep_open_prep (&pt);
-
- SLdefine_for_ifdef ("UNIX");
-
- while (NULL != fgets (buf, sizeof (buf) - 1, stdin))
- {
- if (SLprep_line_ok (buf, &pt))
- {
- fputs (buf, stdout);
- }
- }
-
- SLprep_close_prep (&pt);
- return 0;
-}
-#endif
-/*}}}*/
diff --git a/mdk-stage1/slang/slproc.c b/mdk-stage1/slang/slproc.c
deleted file mode 100644
index 8b266f28f..000000000
--- a/mdk-stage1/slang/slproc.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/* Process specific system calls */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#ifdef HAVE_IO_H
-# include <io.h> /* for chmod */
-#endif
-
-#ifdef HAVE_PROCESS_H
-# include <process.h> /* for getpid */
-#endif
-
-#if defined(__BORLANDC__)
-# include <dos.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include <time.h>
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef HAVE_KILL
-static int kill_cmd (int *pid, int *sig)
-{
- int ret;
-
- if (-1 == (ret = kill ((pid_t) *pid, *sig)))
- _SLerrno_errno = errno;
- return ret;
-}
-#endif
-
-static int getpid_cmd (void)
-{
- return getpid ();
-}
-
-#ifdef HAVE_GETPPID
-static int getppid_cmd (void)
-{
- return getppid ();
-}
-#endif
-
-#ifdef HAVE_GETGID
-static int getgid_cmd (void)
-{
- return getgid ();
-}
-#endif
-
-#ifdef HAVE_GETEGID
-static int getegid_cmd (void)
-{
- return getegid ();
-}
-#endif
-
-#ifdef HAVE_GETEUID
-static int geteuid_cmd (void)
-{
- return geteuid ();
-}
-#endif
-
-#ifdef HAVE_GETUID
-static int getuid_cmd (void)
-{
- return getuid ();
-}
-#endif
-
-#ifdef HAVE_SETGID
-static int setgid_cmd (int *gid)
-{
- if (0 == setgid (*gid))
- return 0;
- _SLerrno_errno = errno;
- return -1;
-}
-#endif
-
-#ifdef HAVE_SETPGID
-static int setpgid_cmd (int *pid, int *pgid)
-{
- if (0 == setpgid (*pid, *pgid))
- return 0;
- _SLerrno_errno = errno;
- return -1;
-}
-#endif
-
-#ifdef HAVE_SETUID
-static int setuid_cmd (int *uid)
-{
- if (0 == setuid (*uid))
- return 0;
- _SLerrno_errno = errno;
- return -1;
-}
-#endif
-
-static SLang_Intrin_Fun_Type Process_Name_Table[] =
-{
- MAKE_INTRINSIC_0("getpid", getpid_cmd, SLANG_INT_TYPE),
-
-#ifdef HAVE_GETPPID
- MAKE_INTRINSIC_0("getppid", getppid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_GETGID
- MAKE_INTRINSIC_0("getgid", getgid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_GETEGID
- MAKE_INTRINSIC_0("getegid", getegid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_GETEUID
- MAKE_INTRINSIC_0("geteuid", geteuid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_GETUID
- MAKE_INTRINSIC_0("getuid", getuid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_SETGID
- MAKE_INTRINSIC_I("setgid", setgid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_SETPGID
- MAKE_INTRINSIC_II("setpgid", setpgid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_SETUID
- MAKE_INTRINSIC_I("setuid", setuid_cmd, SLANG_INT_TYPE),
-#endif
-
-#ifdef HAVE_KILL
- MAKE_INTRINSIC_II("kill", kill_cmd, SLANG_INT_TYPE),
-#endif
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int SLang_init_posix_process (void)
-{
- if ((-1 == SLadd_intrin_fun_table (Process_Name_Table, "__POSIX_PROCESS__"))
- || (-1 == _SLerrno_init ()))
- return -1;
- return 0;
-}
diff --git a/mdk-stage1/slang/slregexp.c b/mdk-stage1/slang/slregexp.c
deleted file mode 100644
index 6592a5a63..000000000
--- a/mdk-stage1/slang/slregexp.c
+++ /dev/null
@@ -1,935 +0,0 @@
-/* ed style regular expressions */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#define SET_BIT(b, n) b[(unsigned int) (n) >> 3] |= 1 << ((unsigned int) (n) % 8)
-#define TEST_BIT(b, n) (b[(unsigned int)(n) >> 3] & (1 << ((unsigned int) (n) % 8)))
-#define LITERAL 1
-#define RANGE 2 /* [...] */
-#define ANY 3 /* . */
-#define BOL 4 /* ^ */
-#define EOL 5 /* $ */
-#define NTH_MATCH 6 /* \1 \2 ... \9 */
-#define OPAREN 7 /* \( */
-#define CPAREN 0x8 /* \) */
-#define ANY_DIGIT 0x9 /* \d */
-#define BOW 0xA /* \< */
-#define EOW 0xB /* \> */
-#if 0
-#define NOT_LITERAL 0xC /* \~ */
-#endif
-#define STAR 0x80 /* * */
-#define LEAST_ONCE 0x40 /* + */
-#define MAYBE_ONCE 0x20 /* ? */
-#define MANY 0x10 /* {n,m} */
-/* The rest are additions */
-#define YES_CASE (STAR | BOL)
-#define NO_CASE (STAR | EOL)
-
-#define UPPERCASE(x) (cs ? (x) : UPPER_CASE(x))
-#define LOWERCASE(x) (cs ? (x) : LOWER_CASE(x))
-
-static unsigned char Word_Chars[256];
-#define IS_WORD_CHAR(x) Word_Chars[(unsigned int) (x)]
-
-#if 0
-static int ctx->open_paren_number;
-static char Closed_Paren_Matches[10];
-
-static SLRegexp_Type *This_Reg;
-static unsigned char *This_Str;
-#endif
-
-typedef struct
-{
- SLRegexp_Type *reg;
- unsigned char *str;
- unsigned int len;
- char closed_paren_matches[10];
- int open_paren_number;
-}
-Re_Context_Type;
-
-static unsigned char *do_nth_match (Re_Context_Type *ctx, int n, unsigned char *str, unsigned char *estr)
-{
- unsigned char *bpos;
-
- if (ctx->closed_paren_matches[n] == 0)
- return NULL;
-
- bpos = ctx->reg->beg_matches[n] + ctx->str;
- n = ctx->reg->end_matches[n];
- if (n == 0) return(str);
- if (n > (int) (estr - str)) return (NULL);
-
- /* This needs fixed for case sensitive match */
- if (0 != strncmp((char *) str, (char *) bpos, (unsigned int) n)) return (NULL);
- str += n;
- return (str);
-}
-
-/* returns pointer to the end of regexp or NULL */
-static unsigned char *regexp_looking_at (Re_Context_Type *ctx, register unsigned char *str, unsigned char *estr, unsigned char *buf, register int cs)
-{
- register unsigned char p, p1;
- unsigned char *save_str, *tmpstr;
- int n, n0, n1;
- int save_num_open;
- char save_closed_matches[10];
-
- p = *buf++;
-
- while (p != 0)
- {
- /* p1 = UPPERCASE(*buf); */
- /* if (str < estr) c = UPPERCASE(*str); */
-
- switch((unsigned char) p)
- {
- case BOW:
- if ((str != ctx->str)
- && ((str >= estr)
- || IS_WORD_CHAR(*(str - 1))
- || (0 == IS_WORD_CHAR(*str)))) return NULL;
- break;
-
- case EOW:
- if ((str < estr)
- && IS_WORD_CHAR (*str)) return NULL;
- break;
-
- case YES_CASE: cs = 1; break;
- case NO_CASE: cs = 0; break;
-
- case OPAREN:
- ctx->open_paren_number++;
- ctx->reg->beg_matches[ctx->open_paren_number] = (int) (str - ctx->str);
- break;
- case CPAREN:
- n = ctx->open_paren_number;
- while (n > 0)
- {
- if (ctx->closed_paren_matches[n] != 0)
- {
- n--;
- continue;
- }
- ctx->closed_paren_matches[n] = 1;
- ctx->reg->end_matches[n] = (unsigned int) (str - (ctx->str + ctx->reg->beg_matches[n]));
- break;
- }
- break;
-#ifdef NOT_LITERAL
- case NOT_LITERAL:
- if ((str >= estr) || (*buf == UPPERCASE(*str))) return (NULL);
- str++; buf++;
- break;
-
- case MAYBE_ONCE | NOT_LITERAL:
- save_str = str;
- if ((str < estr) && (*buf != UPPERCASE(*str))) str++;
- buf++;
- goto match_rest;
-
- case NOT_LITERAL | LEAST_ONCE: /* match at least once */
- if ((str >= estr) || (UPPERCASE(*str) == UPPERCASE(*buf))) return (NULL);
- str++;
- /* drop */
- case STAR | NOT_LITERAL:
- save_str = str; p1 = *buf;
- while ((str < estr) && (UPPERCASE(*str) != p1)) str++;
- buf++;
- goto match_rest;
-
- /* this type consists of the expression + two bytes that
- determine number of matches to perform */
- case MANY | NOT_LITERAL:
- p1 = *buf; buf++;
- n = n0 = (int) (unsigned char) *buf++;
- /* minimum number to match--- could be 0 */
- n1 = (int) (unsigned char) *buf++;
- /* maximum number to match */
-
- while (n && (str < estr) && (p1 != *str))
- {
- n--;
- str++;
- }
- if (n) return (NULL);
-
- save_str = str;
- n = n1 - n0;
- while (n && (str < estr) && (p1 != *str))
- {
- n--;
- str++;
- }
- goto match_rest;
-#endif /* NOT_LITERAL */
- case LITERAL:
- if ((str >= estr) || (*buf != UPPERCASE(*str))) return (NULL);
- str++; buf++;
- break;
-
- case MAYBE_ONCE | LITERAL:
- save_str = str;
- if ((str < estr) && (*buf == UPPERCASE(*str))) str++;
- buf++;
- goto match_rest;
-
- case LITERAL | LEAST_ONCE: /* match at least once */
- if ((str >= estr) || (UPPERCASE(*str) != UPPERCASE(*buf))) return (NULL);
- str++;
- /* drop */
- case STAR | LITERAL:
- save_str = str; p1 = *buf;
- while ((str < estr) && (UPPERCASE(*str) == p1)) str++;
- buf++;
- goto match_rest;
-
- /* this type consists of the expression + two bytes that
- determine number of matches to perform */
- case MANY | LITERAL:
- p1 = *buf; buf++;
- n = n0 = (int) (unsigned char) *buf++;
- /* minimum number to match--- could be 0 */
- n1 = (int) (unsigned char) *buf++;
- /* maximum number to match */
-
- while (n && (str < estr) && (p1 == *str))
- {
- n--;
- str++;
- }
- if (n) return (NULL);
-
- save_str = str;
- n = n1 - n0;
- while (n && (str < estr) && (p1 == *str))
- {
- n--;
- str++;
- }
- goto match_rest;
-
- case NTH_MATCH:
- if ((str = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)) == NULL) return(NULL);
- buf++;
- break;
-
- case MAYBE_ONCE | NTH_MATCH:
- save_str = str;
- tmpstr = do_nth_match (ctx, (int) (unsigned char) *buf, str, estr);
- buf++;
- if (tmpstr != NULL)
- {
- str = tmpstr;
- goto match_rest;
- }
- continue;
-
- case LEAST_ONCE | NTH_MATCH:
- if ((str = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)) == NULL) return(NULL);
- /* drop */
- case STAR | NTH_MATCH:
- save_str = str;
- while (NULL != (tmpstr = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)))
- {
- str = tmpstr;
- }
- buf++;
- goto match_rest;
-
- case MANY | NTH_MATCH: return(NULL);
- /* needs done */
-
- case RANGE:
- if (str >= estr) return (NULL);
- if (TEST_BIT(buf, UPPERCASE(*str)) == 0) return (NULL);
- buf += 32; str++;
- break;
-
- case MAYBE_ONCE | RANGE:
- save_str = str;
- if ((str < estr) && TEST_BIT(buf, UPPERCASE(*str))) str++;
- buf += 32;
- goto match_rest;
-
- case LEAST_ONCE | RANGE:
- if ((str >= estr) || (0 == TEST_BIT(buf, UPPERCASE(*str)))) return NULL;
- str++;
- /* drop */
- case STAR | RANGE:
- save_str = str;
- while ((str < estr) && TEST_BIT(buf, UPPERCASE(*str))) str++;
- buf += 32;
- goto match_rest;
-
- /* The first 32 bytes correspond to the range and the two
- * following bytes indicate the min and max number of matches.
- */
- case MANY | RANGE:
- /* minimum number to match--- could be 0 */
- n = n0 = (int) (unsigned char) *(buf + 32);
- /* maximum number to match */
- n1 = (int) (unsigned char) *(buf + 33);
-
- while (n && (str < estr) && (TEST_BIT(buf, UPPERCASE(*str))))
- {
- n--;
- str++;
- }
- if (n) return (NULL);
- save_str = str;
- n = n1 - n0;
- while (n && (str < estr) && (TEST_BIT(buf, UPPERCASE(*str))))
- {
- n--;
- str++;
- }
- buf += 34; /* 32 + 2 */
- goto match_rest;
-
- case ANY_DIGIT:
- if ((str >= estr) || (*str > '9') || (*str < '0')) return (NULL);
- str++;
- break;
-
- case MAYBE_ONCE | ANY_DIGIT:
- save_str = str;
- if ((str < estr) && ((*str > '9') || (*str < '0'))) str++;
- goto match_rest;
-
- case LEAST_ONCE | ANY_DIGIT:
- if ((str >= estr) || ((*str > '9') || (*str < '0'))) return NULL;
- str++;
- /* drop */
- case STAR | ANY_DIGIT:
- save_str = str;
- while ((str < estr) && ((*str <= '9') && (*str >= '0'))) str++;
- goto match_rest;
-
- case MANY | ANY_DIGIT:
- /* needs finished */
- return (NULL);
-
- case ANY:
- if ((str >= estr) || (*str == '\n')) return (NULL);
- str++;
- break;
-
- case MAYBE_ONCE | ANY:
- save_str = str;
- if ((str < estr) && (*str != '\n')) str++;
- goto match_rest;
-
- case LEAST_ONCE | ANY:
- if ((str >= estr) || (*str == '\n')) return (NULL);
- str++;
- /* drop */
- case STAR | ANY:
- save_str = str;
- while ((str < estr) && (*str != '\n')) str++;
- goto match_rest;
-
- case MANY | ANY:
- return (NULL);
- /* needs finished */
-
- case EOL:
- if ((str >= estr) || (*str == '\n')) return (str);
- return(NULL);
-
- default: return (NULL);
- }
- p = *buf++;
- continue;
-
- match_rest:
- if (save_str == str)
- {
- p = *buf++;
- continue;
- }
-
- /* if (p == EOL)
- * {
- * if (str < estr) return (NULL); else return (str);
- * }
- */
-
- SLMEMCPY(save_closed_matches, ctx->closed_paren_matches, sizeof(save_closed_matches));
- save_num_open = ctx->open_paren_number;
- while (str >= save_str)
- {
- tmpstr = regexp_looking_at (ctx, str, estr, buf, cs);
- if (tmpstr != NULL) return(tmpstr);
- SLMEMCPY(ctx->closed_paren_matches, save_closed_matches, sizeof(ctx->closed_paren_matches));
- ctx->open_paren_number = save_num_open;
- str--;
- }
- return NULL;
- }
- if ((p != 0) && (p != EOL)) return (NULL); else return (str);
-}
-
-static void
-fixup_beg_end_matches (Re_Context_Type *ctx, SLRegexp_Type *r, unsigned char *str, unsigned char *epos)
-{
- int i;
-
- if (str == NULL)
- {
- r->beg_matches[0] = -1;
- r->end_matches[0] = 0;
- SLMEMSET(ctx->closed_paren_matches, 0, sizeof(ctx->closed_paren_matches));
- }
- else
- {
- r->beg_matches[0] = (int) (str - ctx->str);
- r->end_matches[0] = (unsigned int) (epos - str);
- }
-
- for (i = 1; i < 10; i++)
- {
- if (ctx->closed_paren_matches [i] == 0)
- {
- r->beg_matches[i] = -1;
- r->end_matches[i] = 0;
- }
- }
-}
-
-static void init_re_context (Re_Context_Type *ctx, SLRegexp_Type *reg,
- unsigned char *str, unsigned int len)
-{
- memset ((char *) ctx, 0, sizeof (Re_Context_Type));
- ctx->reg = reg;
- ctx->str = str;
- ctx->len = len;
-}
-
-unsigned char *SLang_regexp_match(unsigned char *str,
- unsigned int len, SLRegexp_Type *reg)
-{
- register unsigned char c = 0, *estr = str + len;
- int cs = reg->case_sensitive, lit = 0;
- unsigned char *buf = reg->buf, *epos = NULL;
- Re_Context_Type ctx_buf;
-
- if (reg->min_length > len) return NULL;
-
- init_re_context (&ctx_buf, reg, str, len);
-
- if (*buf == BOL)
- {
- if (NULL == (epos = regexp_looking_at (&ctx_buf, str, estr, buf + 1, cs)))
- str = NULL;
-
- fixup_beg_end_matches (&ctx_buf, reg, str, epos);
- return str;
- }
-
- if (*buf == NO_CASE)
- {
- buf++; cs = 0;
- }
-
- if (*buf == YES_CASE)
- {
- buf++; cs = 1;
- }
-
- if (*buf == LITERAL)
- {
- lit = 1;
- c = *(buf + 1);
- }
- else if ((*buf == OPAREN) && (*(buf + 1) == LITERAL))
- {
- lit = 1;
- c = *(buf + 2);
- }
-
- while (str < estr)
- {
- ctx_buf.open_paren_number = 0;
- memset (ctx_buf.closed_paren_matches, 0, sizeof(ctx_buf.closed_paren_matches));
- /* take care of leading chars */
- if (lit)
- {
- while ((str < estr) && (c != UPPERCASE(*str))) str++;
- if (str >= estr)
- break; /* failed */
- }
-
- if (NULL != (epos = regexp_looking_at(&ctx_buf, str, estr, buf, cs)))
- {
- fixup_beg_end_matches (&ctx_buf, reg, str, epos);
- return str;
- }
- str++;
- }
- fixup_beg_end_matches (&ctx_buf, reg, NULL, epos);
- return NULL;
-}
-
-static unsigned char *convert_digit(unsigned char *pat, int *nn)
-{
- int n = 0, m = 0;
- unsigned char c;
- while (c = (unsigned char) *pat, (c <= '9') && (c >= '0'))
- {
- pat++;
- n = 10 * n + (c - '0');
- m++;
- }
- if (m == 0)
- {
- return (NULL);
- }
- *nn = n;
- return pat;
-}
-
-#define ERROR return (int) (pat - reg->pat)
-
-/* Returns 0 if successful or offset in pattern of error */
-int SLang_regexp_compile (SLRegexp_Type *reg)
-{
- register unsigned char *buf, *ebuf, *pat;
- unsigned char *last = NULL, *tmppat;
- register unsigned char c;
- int i, reverse = 0, n, cs;
- int oparen = 0, nparen = 0;
- /* substring stuff */
- int count, last_count, this_max_mm = 0, max_mm = 0, ordinary_search,
- no_osearch = 0, min_length = 0;
- unsigned char *mm_p = NULL, *this_mm_p = NULL;
- static int already_initialized;
-
- reg->beg_matches[0] = reg->end_matches[0] = 0;
- buf = reg->buf;
- ebuf = (reg->buf + reg->buf_len) - 2; /* make some room */
- pat = reg->pat;
- cs = reg->case_sensitive;
-
- if (already_initialized == 0)
- {
- SLang_init_case_tables ();
-#ifdef IBMPC_SYSTEM
- SLmake_lut (Word_Chars, (unsigned char *) "_0-9a-zA-Z\200-\232\240-\245\341-\353", 0);
-#else
- SLmake_lut (Word_Chars, (unsigned char *) "_0-9a-zA-Z\277-\326\330-\336\340-\366\370-\376", 0);
-#endif
- already_initialized = 1;
- }
-
- i = 1; while (i < 10)
- {
- reg->beg_matches[i] = -1;
- reg->end_matches[i] = 0;
- i++;
- }
-
- if (*pat == '\\')
- {
- if (pat[1] == 'c')
- {
- cs = 1;
- pat += 2;
- no_osearch = 1;
- }
- else if (pat[1] == 'C')
- {
- cs = 0;
- pat += 2;
- no_osearch = 1;
- }
- }
-
- if (*pat == '^')
- {
- pat++;
- *buf++ = BOL;
- reg->must_match_bol = 1;
- }
- else reg->must_match_bol = 0;
-
- if (cs != reg->case_sensitive)
- {
- if (cs) *buf++ = YES_CASE;
- else *buf++ = NO_CASE;
- }
-
- *buf = 0;
-
- last_count = count = 0;
- while ((c = *pat++) != 0)
- {
- if (buf >= ebuf - 3)
- {
- SLang_doerror ("Pattern too large to be compiled.");
- ERROR;
- }
-
- count++;
- switch (c)
- {
- case '$':
- if (*pat != 0) goto literal_char;
- *buf++ = EOL;
- break;
-
- case '\\':
- c = *pat++;
- no_osearch = 1;
- switch(c)
- {
- case 'e': c = 033; goto literal_char;
- case 'n': c = '\n'; goto literal_char;
- case 't': c = '\t'; goto literal_char;
- case 'C': cs = 0; *buf++ = NO_CASE; break;
- case 'c': cs = 1; *buf++ = YES_CASE; break;
- case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- c = c - '0';
- if ((int) c > nparen) ERROR;
- last = buf;
- *buf++ = NTH_MATCH; *buf++ = c;
- break;
-#ifdef NOT_LITERAL
- case '~': /* slang extension */
- if ((c = *pat) == 0) ERROR;
- pat++;
- last = buf;
- *buf++ = NOT_LITERAL;
- *buf++ = c;
- min_length++;
- break;
-#endif
- case 'd': /* slang extension */
- last = buf;
- *buf++ = ANY_DIGIT;
- min_length++;
- break;
-
- case '<':
- last = NULL;
- *buf++ = BOW;
- break;
-
- case '>':
- last = NULL;
- *buf++ = EOW;
- break;
-
- case '{':
- if (last == NULL) goto literal_char;
- *last |= MANY;
- tmppat = convert_digit(pat, &n);
- if (tmppat == NULL) ERROR;
- pat = tmppat;
- *buf++ = n;
-
- min_length += (n - 1);
-
- if (*pat == '\\')
- {
- *buf++ = n;
- }
- else if (*pat == ',')
- {
- pat++;
- if (*pat == '\\')
- {
- n = 255;
- }
- else
- {
- tmppat = convert_digit(pat, &n);
- if (tmppat == NULL) ERROR;
- pat = tmppat;
- if (*pat != '\\') ERROR;
- }
- *buf++ = n;
- }
- else ERROR;
- last = NULL;
- pat++;
- if (*pat != '}') ERROR;
- pat++;
- break; /* case '{' */
-
- case '(':
- oparen++;
- if (oparen > 9) ERROR;
- *buf++ = OPAREN;
- break;
- case ')':
- if (oparen == 0) ERROR;
- oparen--;
- nparen++;
- *buf++ = CPAREN;
- break;
-
- case 0: ERROR;
- default:
- goto literal_char;
- }
- break;
-
- case '[':
-
- *buf = RANGE;
- last = buf++;
-
- if (buf + 32 >= ebuf) ERROR;
-
- for (i = 0; i < 32; i++) buf[i] = 0;
- c = *pat++;
- if (c == '^')
- {
- reverse = 1;
- SET_BIT(buf, '\n');
- c = *pat++;
- }
-
- if (c == ']')
- {
- SET_BIT(buf, c);
- c = *pat++;
- }
- while (c && (c != ']'))
- {
- if (c == '\\')
- {
- c = *pat++;
- switch(c)
- {
- case 'n': c = '\n'; break;
- case 't': c = '\t'; break;
- case 0: ERROR;
- }
- }
-
- if (*pat == '-')
- {
- pat++;
- while (c < *pat)
- {
- if (cs == 0)
- {
- SET_BIT(buf, UPPERCASE(c));
- SET_BIT(buf, LOWERCASE(c));
- }
- else SET_BIT(buf, c);
- c++;
- }
- }
- if (cs == 0)
- {
- SET_BIT(buf, UPPERCASE(c));
- SET_BIT(buf, LOWERCASE(c));
- }
- else SET_BIT(buf, c);
- c = *pat++;
- }
- if (c != ']') ERROR;
- if (reverse) for (i = 0; i < 32; i++) buf[i] = buf[i] ^ 0xFF;
- reverse = 0;
- buf += 32;
- min_length++;
- break;
-
- case '.':
- last = buf;
- *buf++ = ANY;
- min_length++;
- break;
-
- case '*':
- if (last == NULL) goto literal_char;
- *last |= STAR;
- min_length--;
- last = NULL;
- break;
-
- case '+':
- if (last == NULL) goto literal_char;
- *last |= LEAST_ONCE;
- last = NULL;
- break;
-
- case '?':
- if (last == NULL) goto literal_char;
- *last |= MAYBE_ONCE;
- last = NULL;
- min_length--;
- break;
-
- literal_char:
- default:
- /* This is to keep track of longest substring */
- min_length++;
- this_max_mm++;
- if (last_count + 1 == count)
- {
- if (this_max_mm == 1)
- {
- this_mm_p = buf;
- }
- else if (max_mm < this_max_mm)
- {
- mm_p = this_mm_p;
- max_mm = this_max_mm;
- }
- }
- else
- {
- this_mm_p = buf;
- this_max_mm = 1;
- }
-
- last_count = count;
-
- last = buf;
- *buf++ = LITERAL;
- *buf++ = UPPERCASE(c);
- }
- }
- *buf = 0;
- /* Check for ordinary search */
- ebuf = buf;
- buf = reg->buf;
-
- if (no_osearch) ordinary_search = 0;
- else
- {
- ordinary_search = 1;
- while (buf < ebuf)
- {
- if (*buf != LITERAL)
- {
- ordinary_search = 0;
- break;
- }
- buf += 2;
- }
- }
-
- reg->osearch = ordinary_search;
- reg->must_match_str[15] = 0;
- reg->min_length = (min_length > 0) ? (unsigned int) min_length : 0;
- if (ordinary_search)
- {
- strncpy((char *) reg->must_match_str, (char *) reg->pat, 15);
- reg->must_match = 1;
- return(0);
- }
- /* check for longest substring of pattern */
- reg->must_match = 0;
- if ((mm_p == NULL) && (this_mm_p != NULL)) mm_p = this_mm_p;
- if (mm_p == NULL)
- {
- return (0);
- }
- n = 15;
- pat = reg->must_match_str;
- buf = mm_p;
- while (n--)
- {
- if (*buf++ != LITERAL) break;
- *pat++ = *buf++;
- }
- *pat = 0;
- if (pat != reg->must_match_str) reg->must_match = 1;
- return(0);
-}
-
-char *SLregexp_quote_string (char *re, char *buf, unsigned int buflen)
-{
- char ch;
- char *b, *bmax;
-
- if (re == NULL) return NULL;
-
- b = buf;
- bmax = buf + buflen;
-
- while (b < bmax)
- {
- switch (ch = *re++)
- {
- case 0:
- *b = 0;
- return buf;
-
- case '$':
- case '\\':
- case '[':
- case ']':
- case '.':
- case '^':
- case '*':
- case '+':
- case '?':
- *b++ = '\\';
- if (b == bmax) break;
- /* drop */
-
- default:
- *b++ = ch;
- }
- }
- return NULL;
-}
-
-#if 0
-#define MAX_EXP 4096
-int main(int argc, char **argv)
-{
- FILE *fp;
- char *regexp, *file;
- char expbuf[MAX_EXP], buf[512];
- SLRegexp_Type reg;
-
- file = argv[2];
- regexp = argv[1];
-
- if (NULL == (fp = fopen(file, "r")))
- {
- fprintf(stderr, "File not open\n");
- return(1);
- }
-
- reg.buf = expbuf;
- reg.buf_len = MAX_EXP;
- reg.pat = regexp;
- reg.case_sensitive = 1;
-
- if (!regexp_compile(&reg)) while (NULL != fgets(buf, 511, fp))
- {
- if (reg.osearch)
- {
- if (NULL == strstr(buf, reg.pat)) continue;
- }
- else
- {
- if (reg.must_match && (NULL == strstr(buf, reg.must_match_str))) continue;
- if (0 == regexp_match(buf, buf + strlen(buf), &reg)) continue;
- }
-
- fputs(buf, stdout);
- }
- return (0);
-}
-#endif
diff --git a/mdk-stage1/slang/slrline.c b/mdk-stage1/slang/slrline.c
deleted file mode 100644
index 1874be0bb..000000000
--- a/mdk-stage1/slang/slrline.c
+++ /dev/null
@@ -1,836 +0,0 @@
-/* SLang_read_line interface --- uses SLang tty stuff */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef REAL_UNIX_SYSTEM
-int SLang_RL_EOF_Char = 4;
-#else
-int SLang_RL_EOF_Char = 26;
-#endif
-
-int SLang_Rline_Quit;
-static SLang_RLine_Info_Type *This_RLI;
-
-static unsigned char Char_Widths[256];
-static void position_cursor (int);
-
-static void rl_beep (void)
-{
- putc(7, stdout);
- fflush (stdout);
-}
-
-/* editing functions */
-static int rl_bol (void)
-{
- if (This_RLI->point == 0) return 0;
- This_RLI->point = 0;
- return 1;
-}
-
-static int rl_eol (void)
-{
- if (This_RLI->point == This_RLI->len) return 0;
- This_RLI->point = This_RLI->len;
- return 1;
-}
-
-static int rl_right (void)
-{
- if (This_RLI->point == This_RLI->len) return 0;
- This_RLI->point++;
- return 1;
-}
-
-static int rl_left (void)
-{
- if (This_RLI->point == 0) return 0;
- This_RLI->point--;
- return 1;
-}
-
-static int rl_self_insert (void)
-{
- unsigned char *pmin, *p;
-
- if (This_RLI->len == This_RLI->buf_len)
- {
- rl_beep ();
- return 0;
- }
-
- pmin = This_RLI->buf + This_RLI->point;
- p = This_RLI->buf + This_RLI->len;
- while (p > pmin)
- {
- *p = *(p - 1);
- p--;
- }
- *pmin = SLang_Last_Key_Char;
-
- This_RLI->len++;
- This_RLI->point++;
- if ((This_RLI->curs_pos + 2 >= This_RLI->edit_width)
- || (This_RLI->tt_insert == NULL)
- || (Char_Widths[SLang_Last_Key_Char] != 1)) return 1;
-
- (*This_RLI->tt_insert)((char) SLang_Last_Key_Char);
- /* update screen buf */
- p = This_RLI->old_upd + (This_RLI->len - 1);
- pmin = This_RLI->old_upd + (This_RLI->point - 1);
- while (p > pmin)
- {
- *p = *(p - 1);
- p--;
- }
- *pmin = SLang_Last_Key_Char;
- return 0;
-}
-
-int SLang_rline_insert (char *s)
-{
- unsigned char *pmin, *p;
- int n;
-
- n = strlen (s);
- if (n > This_RLI->buf_len - This_RLI->len)
- n = This_RLI->buf_len - This_RLI->len;
-
- if (n == 0) return 0;
-
- pmin = This_RLI->buf + This_RLI->point;
- p = This_RLI->buf + (This_RLI->len - 1);
-
- while (p >= pmin)
- {
- *(p + n) = *p;
- p--;
- }
- SLMEMCPY ((char *) pmin, s, n);
-
- This_RLI->len += n;
- This_RLI->point += n;
- return n;
-}
-
-static int rl_deln (int n)
-{
- unsigned char *pmax, *p;
-
- p = This_RLI->buf + This_RLI->point;
- pmax = This_RLI->buf + This_RLI->len;
-
- if (p + n > pmax) n = (int) (pmax - p);
- while (p < pmax)
- {
- *p = *(p + n);
- p++;
- }
- This_RLI->len -= n;
- return n;
-}
-
-static int rl_del (void)
-{
- return rl_deln(1);
-}
-
-static int rl_quote_insert (void)
-{
- int err = SLang_Error;
- SLang_Error = 0;
- SLang_Last_Key_Char = (*This_RLI->getkey)();
- rl_self_insert ();
- if (SLang_Error == SL_USER_BREAK) SLang_Error = 0;
- else SLang_Error = err;
- return 1;
-}
-
-static int rl_trim (void)
-{
- unsigned char *p, *pmax, *p1;
- p = This_RLI->buf + This_RLI->point;
- pmax = This_RLI->buf + This_RLI->len;
-
- if (p == pmax)
- {
- if (p == This_RLI->buf) return 0;
- p--;
- }
-
- if ((*p != ' ') && (*p != '\t')) return 0;
- p1 = p;
- while ((p1 < pmax) && ((*p1 == ' ') || (*p1 == '\t'))) p1++;
- pmax = p1;
- p1 = This_RLI->buf;
-
- while ((p >= p1) && ((*p == ' ') || (*p == '\t'))) p--;
- if (p == pmax) return 0;
- p++;
-
- This_RLI->point = (int) (p - p1);
- return rl_deln ((int) (pmax - p));
-}
-
-static int rl_bdel (void)
-{
- if (rl_left()) return rl_del();
- return 0;
-}
-
-static int rl_deleol (void)
-{
- if (This_RLI->point == This_RLI->len) return 0;
- *(This_RLI->buf + This_RLI->point) = 0;
- This_RLI->len = This_RLI->point;
- return 1;
-}
-
-static int rl_delete_line (void)
-{
- This_RLI->point = 0;
- *(This_RLI->buf + This_RLI->point) = 0;
- This_RLI->len = 0;
- return 1;
-}
-
-static int rl_enter (void)
-{
- *(This_RLI->buf + This_RLI->len) = 0;
- SLang_Rline_Quit = 1;
- return 1;
-}
-
-static SLKeyMap_List_Type *RL_Keymap;
-
-/* This update is designed for dumb terminals. It assumes only that the
- * terminal can backspace via ^H, and move cursor to start of line via ^M.
- * There is a hook so the user can provide a more sophisticated update if
- * necessary.
- */
-
-static void position_cursor (int col)
-{
- unsigned char *p, *pmax;
- int dc;
-
- if (col == This_RLI->curs_pos)
- {
- fflush (stdout);
- return;
- }
-
- if (This_RLI->tt_goto_column != NULL)
- {
- (*This_RLI->tt_goto_column)(col);
- This_RLI->curs_pos = col;
- fflush (stdout);
- return;
- }
-
- dc = This_RLI->curs_pos - col;
- if (dc < 0)
- {
- p = This_RLI->new_upd + This_RLI->curs_pos;
- pmax = This_RLI->new_upd + col;
- while (p < pmax) putc((char) *p++, stdout);
- }
- else
- {
- if (dc < col)
- {
- while (dc--) putc(8, stdout);
- }
- else
- {
- putc('\r', stdout);
- p = This_RLI->new_upd;
- pmax = This_RLI->new_upd + col;
- while (p < pmax) putc((char) *p++, stdout);
- }
- }
- This_RLI->curs_pos = col;
- fflush (stdout);
-}
-
-static void erase_eol (SLang_RLine_Info_Type *rli)
-{
- unsigned char *p, *pmax;
-
- p = rli->old_upd + rli->curs_pos;
- pmax = rli->old_upd + rli->old_upd_len;
-
- while (p++ < pmax) putc(' ', stdout);
-
- rli->curs_pos = rli->old_upd_len;
-}
-
-static unsigned char *spit_out(SLang_RLine_Info_Type *rli, unsigned char *p)
-{
- unsigned char *pmax;
- position_cursor ((int) (p - rli->new_upd));
- pmax = rli->new_upd + rli->new_upd_len;
- while (p < pmax) putc((char) *p++, stdout);
- rli->curs_pos = rli->new_upd_len;
- return pmax;
-}
-
-static void really_update (SLang_RLine_Info_Type *rli, int new_curs_position)
-{
- unsigned char *b = rli->old_upd, *p = rli->new_upd, chb, chp;
- unsigned char *pmax;
-
- if (rli->update_hook != NULL)
- {
- (*rli->update_hook)(p, rli->edit_width, new_curs_position);
- }
- else
- {
- pmax = p + rli->edit_width;
- while (p < pmax)
- {
- chb = *b++; chp = *p++;
- if (chb == chp) continue;
-
- if (rli->old_upd_len <= rli->new_upd_len)
- {
- /* easy one */
- (void) spit_out (rli, p - 1);
- break;
- }
- spit_out(rli, p - 1);
- erase_eol (rli);
- break;
- }
- position_cursor (new_curs_position);
- }
-
- /* update finished, so swap */
-
- rli->old_upd_len = rli->new_upd_len;
- p = rli->old_upd;
- rli->old_upd = rli->new_upd;
- rli->new_upd = p;
-}
-
-static void RLupdate (SLang_RLine_Info_Type *rli)
-{
- int len, dlen, start_len = 0, prompt_len = 0, tw = 0, count;
- int want_cursor_pos;
- unsigned char *b, chb, *b_point, *p;
- int no_echo;
-
- no_echo = rli->flags & SL_RLINE_NO_ECHO;
-
- b_point = (unsigned char *) (rli->buf + rli->point);
- *(rli->buf + rli->len) = 0;
-
- /* expand characters for output buffer --- handle prompt first.
- * Do two passes --- first to find out where to begin upon horiz
- * scroll and the second to actually fill the buffer. */
- len = 0;
- count = 2; /* once for prompt and once for buf */
-
- b = (unsigned char *) rli->prompt;
- while (count--)
- {
- if ((count == 0) && no_echo)
- break;
-
- /* The prompt could be NULL */
- if (b != NULL) while ((chb = *b) != 0)
- {
- /* This will ensure that the screen is scrolled a third of the edit
- * width each time */
- if (b_point == b) break;
- dlen = Char_Widths[chb];
- if ((chb == '\t') && tw)
- {
- dlen = tw * ((len - prompt_len) / tw + 1) - (len - prompt_len);
- }
- len += dlen;
- b++;
- }
- tw = rli->tab;
- b = (unsigned char *) rli->buf;
- if (count == 1) want_cursor_pos = prompt_len = len;
- }
-
- if (len < rli->edit_width - rli->dhscroll) start_len = 0;
- else if ((rli->start_column > len)
- || (rli->start_column + rli->edit_width <= len))
- {
- start_len = len - (rli->edit_width - rli->dhscroll);
- if (start_len < 0) start_len = 0;
- }
- else start_len = rli->start_column;
- rli->start_column = start_len;
-
- want_cursor_pos = len - start_len;
-
- /* second pass */
- p = rli->new_upd;
-
- len = 0;
- count = 2;
- b = (unsigned char *) rli->prompt;
- if (b == NULL) b = (unsigned char *) "";
-
- while ((len < start_len) && (*b))
- {
- len += Char_Widths[*b++];
- }
-
- tw = 0;
- if (*b == 0)
- {
- b = (unsigned char *) rli->buf;
- while (len < start_len)
- {
- len += Char_Widths[*b++];
- }
- tw = rli->tab;
- count--;
- }
-
- len = 0;
- while (count--)
- {
- if ((count == 0) && (no_echo))
- break;
-
- while ((len < rli->edit_width) && ((chb = *b++) != 0))
- {
- dlen = Char_Widths[chb];
- if (dlen == 1) *p++ = chb;
- else
- {
- if ((chb == '\t') && tw)
- {
- dlen = tw * ((len + start_len - prompt_len) / tw + 1) - (len + start_len - prompt_len);
- len += dlen; /* ok since dlen comes out 0 */
- if (len > rli->edit_width) dlen = len - rli->edit_width;
- while (dlen--) *p++ = ' ';
- dlen = 0;
- }
- else
- {
- if (dlen == 3)
- {
- chb &= 0x7F;
- *p++ = '~';
- }
-
- *p++ = '^';
- if (chb == 127) *p++ = '?';
- else *p++ = chb + '@';
- }
- }
- len += dlen;
- }
- /* if (start_len > prompt_len) break; */
- tw = rli->tab;
- b = (unsigned char *) rli->buf;
- }
-
- rli->new_upd_len = (int) (p - rli->new_upd);
- while (p < rli->new_upd + rli->edit_width) *p++ = ' ';
- really_update (rli, want_cursor_pos);
-}
-
-void SLrline_redraw (SLang_RLine_Info_Type *rli)
-{
- unsigned char *p = rli->new_upd;
- unsigned char *pmax = p + rli->edit_width;
- while (p < pmax) *p++ = ' ';
- rli->new_upd_len = rli->edit_width;
- really_update (rli, 0);
- RLupdate (rli);
-}
-
-static int rl_eof_insert (void)
-{
- if (This_RLI->len == 0)
- {
- SLang_Last_Key_Char = SLang_RL_EOF_Char;
- /* rl_self_insert (); */
- return rl_enter ();
- }
- return 0;
-}
-
-/* This is very naive. It knows very little about nesting and nothing
- * about quoting.
- */
-static void blink_match (SLang_RLine_Info_Type *rli)
-{
- unsigned char bra, ket;
- unsigned int delta_column;
- unsigned char *p, *pmin;
- int dq_level, sq_level;
- int level;
-
- pmin = rli->buf;
- p = pmin + rli->point;
- if (pmin == p)
- return;
-
- ket = SLang_Last_Key_Char;
- switch (ket)
- {
- case ')':
- bra = '(';
- break;
- case ']':
- bra = '[';
- break;
- case '}':
- bra = '{';
- break;
- default:
- return;
- }
-
- level = 0;
- sq_level = dq_level = 0;
-
- delta_column = 0;
- while (p > pmin)
- {
- char ch;
-
- p--;
- delta_column++;
- ch = *p;
-
- if (ch == ket)
- {
- if ((dq_level == 0) && (sq_level == 0))
- level++;
- }
- else if (ch == bra)
- {
- if ((dq_level != 0) || (sq_level != 0))
- continue;
-
- level--;
- if (level == 0)
- {
- rli->point -= delta_column;
- RLupdate (rli);
- (*rli->input_pending)(10);
- rli->point += delta_column;
- RLupdate (rli);
- break;
- }
- if (level < 0)
- break;
- }
- else if (ch == '"') dq_level = !dq_level;
- else if (ch == '\'') sq_level = !sq_level;
- }
-}
-
-int SLang_read_line (SLang_RLine_Info_Type *rli)
-{
- unsigned char *p, *pmax;
- SLang_Key_Type *key;
-
- SLang_Rline_Quit = 0;
- This_RLI = rli;
- p = rli->old_upd; pmax = p + rli->edit_width;
- while (p < pmax) *p++ = ' ';
-
- /* Sanity checking */
- rli->len = strlen ((char *) rli->buf);
- if (rli->len >= rli->buf_len)
- {
- rli->len = 0;
- *rli->buf = 0;
- }
- if (rli->point > rli->len) rli->point = rli->len;
- if (rli->point < 0) rli->point = 0;
-
- rli->curs_pos = rli->start_column = 0;
- rli->new_upd_len = rli->old_upd_len = 0;
-
- This_RLI->last_fun = NULL;
- if (rli->update_hook == NULL)
- putc ('\r', stdout);
-
- RLupdate (rli);
-
- while (1)
- {
- key = SLang_do_key (RL_Keymap, (int (*)(void)) rli->getkey);
-
- if ((key == NULL) || (key->f.f == NULL))
- rl_beep ();
- else
- {
- if ((SLang_Last_Key_Char == SLang_RL_EOF_Char)
- && (*key->str == 2)
- && (This_RLI->len == 0))
- rl_eof_insert ();
- else if (key->type == SLKEY_F_INTRINSIC)
- {
- if ((key->f.f)())
- RLupdate (rli);
-
- if ((rli->flags & SL_RLINE_BLINK_MATCH)
- && (rli->input_pending != NULL))
- blink_match (rli);
- }
-
- if (SLang_Rline_Quit)
- {
- This_RLI->buf[This_RLI->len] = 0;
- if (SLang_Error == SL_USER_BREAK)
- {
- SLang_Error = 0;
- return -1;
- }
- return This_RLI->len;
- }
- }
- if (key != NULL)
- This_RLI->last_fun = key->f.f;
- }
-}
-
-static int rl_abort (void)
-{
- rl_delete_line ();
- return rl_enter ();
-}
-
-/* TTY interface --- ANSI */
-
-static void ansi_goto_column (int n)
-{
- putc('\r', stdout);
- if (n) fprintf(stdout, "\033[%dC", n);
-}
-
-static void rl_select_line (SLang_Read_Line_Type *p)
-{
- This_RLI->last = p;
- strcpy ((char *) This_RLI->buf, (char *) p->buf);
- This_RLI->point = This_RLI->len = strlen((char *) p->buf);
-}
-static int rl_next_line (void);
-static int rl_prev_line (void)
-{
- SLang_Read_Line_Type *prev;
-
- if (((This_RLI->last_fun != (FVOID_STAR) rl_prev_line)
- && (This_RLI->last_fun != (FVOID_STAR) rl_next_line))
- || (This_RLI->last == NULL))
- {
- prev = This_RLI->tail;
- }
- else prev = This_RLI->last->prev;
-
- if (prev == NULL)
- {
- rl_beep ();
- return 0;
- }
-
- rl_select_line (prev);
- return 1;
-}
-static int rl_redraw (void)
-{
- SLrline_redraw (This_RLI);
- return 1;
-}
-
-static int rl_next_line (void)
-{
- SLang_Read_Line_Type *next;
-
- if (((This_RLI->last_fun != (FVOID_STAR) rl_prev_line)
- && (This_RLI->last_fun != (FVOID_STAR) rl_next_line))
- || (This_RLI->last == NULL))
- {
- rl_beep ();
- return 0;
- }
-
- next = This_RLI->last->next;
-
- if (next == NULL)
- {
- This_RLI->len = This_RLI->point = 0;
- *This_RLI->buf = 0;
- This_RLI->last = NULL;
- }
- else rl_select_line (next);
- return 1;
-}
-
-static SLKeymap_Function_Type SLReadLine_Functions[] =
-{
- {"up", rl_prev_line},
- {"down", rl_next_line},
- {"bol", rl_bol},
- {"eol", rl_eol},
- {"right", rl_right},
- {"left", rl_left},
- {"self_insert", rl_self_insert},
- {"bdel", rl_bdel},
- {"del", rl_del},
- {"deleol", rl_deleol},
- {"enter", rl_enter},
- {"trim", rl_trim},
- {"quoted_insert", rl_quote_insert},
- {(char *) NULL, NULL}
-};
-
-int SLang_init_readline (SLang_RLine_Info_Type *rli)
-{
- int ch;
- char simple[2];
-
- if (RL_Keymap == NULL)
- {
- simple[1] = 0;
- if (NULL == (RL_Keymap = SLang_create_keymap ("ReadLine", NULL)))
- return -1;
-
- RL_Keymap->functions = SLReadLine_Functions;
-
- /* This breaks under some DEC ALPHA compilers (scary!) */
-#ifndef __DECC
- for (ch = ' '; ch < 256; ch++)
- {
- simple[0] = (char) ch;
- SLkm_define_key (simple, (FVOID_STAR) rl_self_insert, RL_Keymap);
- }
-#else
- ch = ' ';
- while (1)
- {
- simple[0] = (char) ch;
- SLkm_define_key (simple, (FVOID_STAR) rl_self_insert, RL_Keymap);
- ch = ch + 1;
- if (ch == 256) break;
- }
-#endif /* NOT __DECC */
-
- simple[0] = SLang_Abort_Char;
- SLkm_define_key (simple, (FVOID_STAR) rl_abort, RL_Keymap);
- simple[0] = SLang_RL_EOF_Char;
- SLkm_define_key (simple, (FVOID_STAR) rl_eof_insert, RL_Keymap);
-
-#ifndef IBMPC_SYSTEM
- SLkm_define_key ("^[[A", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("^[[B", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("^[[C", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("^[[D", (FVOID_STAR) rl_left, RL_Keymap);
- SLkm_define_key ("^[OA", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("^[OB", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("^[OC", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("^[OD", (FVOID_STAR) rl_left, RL_Keymap);
-#else
- SLkm_define_key ("^@H", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("^@P", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("^@M", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("^@K", (FVOID_STAR) rl_left, RL_Keymap);
- SLkm_define_key ("^@S", (FVOID_STAR) rl_del, RL_Keymap);
- SLkm_define_key ("^@O", (FVOID_STAR) rl_eol, RL_Keymap);
- SLkm_define_key ("^@G", (FVOID_STAR) rl_bol, RL_Keymap);
-
- SLkm_define_key ("\xE0H", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("\xE0P", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("\xE0M", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("\xE0K", (FVOID_STAR) rl_left, RL_Keymap);
- SLkm_define_key ("\xE0S", (FVOID_STAR) rl_del, RL_Keymap);
- SLkm_define_key ("\xE0O", (FVOID_STAR) rl_eol, RL_Keymap);
- SLkm_define_key ("\xE0G", (FVOID_STAR) rl_bol, RL_Keymap);
-#endif
- SLkm_define_key ("^C", (FVOID_STAR) rl_abort, RL_Keymap);
- SLkm_define_key ("^E", (FVOID_STAR) rl_eol, RL_Keymap);
- SLkm_define_key ("^G", (FVOID_STAR) rl_abort, RL_Keymap);
- SLkm_define_key ("^I", (FVOID_STAR) rl_self_insert, RL_Keymap);
- SLkm_define_key ("^A", (FVOID_STAR) rl_bol, RL_Keymap);
- SLkm_define_key ("\r", (FVOID_STAR) rl_enter, RL_Keymap);
- SLkm_define_key ("\n", (FVOID_STAR) rl_enter, RL_Keymap);
- SLkm_define_key ("^K", (FVOID_STAR) rl_deleol, RL_Keymap);
- SLkm_define_key ("^L", (FVOID_STAR) rl_deleol, RL_Keymap);
- SLkm_define_key ("^V", (FVOID_STAR) rl_del, RL_Keymap);
- SLkm_define_key ("^D", (FVOID_STAR) rl_del, RL_Keymap);
- SLkm_define_key ("^F", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("^B", (FVOID_STAR) rl_left, RL_Keymap);
- SLkm_define_key ("^?", (FVOID_STAR) rl_bdel, RL_Keymap);
- SLkm_define_key ("^H", (FVOID_STAR) rl_bdel, RL_Keymap);
- SLkm_define_key ("^P", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("^N", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("^R", (FVOID_STAR) rl_redraw, RL_Keymap);
- SLkm_define_key ("`", (FVOID_STAR) rl_quote_insert, RL_Keymap);
- SLkm_define_key ("\033\\", (FVOID_STAR) rl_trim, RL_Keymap);
- if (SLang_Error) return -1;
- }
-
- if (rli->prompt == NULL) rli->prompt = "";
- if (rli->keymap == NULL) rli->keymap = RL_Keymap;
- rli->old_upd = rli->upd_buf1;
- rli->new_upd = rli->upd_buf2;
- *rli->buf = 0;
- rli->point = 0;
-
- if (rli->flags & SL_RLINE_USE_ANSI)
- {
- if (rli->tt_goto_column == NULL) rli->tt_goto_column = ansi_goto_column;
- }
-
- if (Char_Widths[0] == 2) return 0;
-
- for (ch = 0; ch < 32; ch++) Char_Widths[ch] = 2;
- for (ch = 32; ch < 256; ch++) Char_Widths[ch] = 1;
- Char_Widths[127] = 2;
-#ifndef IBMPC_SYSTEM
- for (ch = 128; ch < 160; ch++) Char_Widths[ch] = 3;
-#endif
-
- return 0;
-}
-
-SLang_Read_Line_Type *SLang_rline_save_line (SLang_RLine_Info_Type *rli)
-{
- SLang_Read_Line_Type *rl = NULL;
- unsigned char *buf;
-
- if ((rli == NULL) || (rli->buf == NULL))
- return NULL;
-
- if (NULL == (rl = (SLang_Read_Line_Type *) SLmalloc (sizeof (SLang_Read_Line_Type)))
- || (NULL == (buf = (unsigned char *) SLmake_string ((char *)rli->buf))))
- {
- SLfree ((char *)rl);
- return NULL;
- }
- rl->buf = buf;
- rl->buf_len = strlen ((char *)buf);
- rl->num = rl->misc = 0;
- rl->next = rl->prev = NULL;
-
- if (rli->tail != NULL)
- {
- rli->tail->next = rl;
- rl->prev = rli->tail;
- }
- rli->tail = rl;
-
- return rl;
-}
diff --git a/mdk-stage1/slang/slscanf.c b/mdk-stage1/slang/slscanf.c
deleted file mode 100644
index 5bd93ff41..000000000
--- a/mdk-stage1/slang/slscanf.c
+++ /dev/null
@@ -1,718 +0,0 @@
-/* sscanf function for S-Lang */
-/* Copyright (c) 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-#include <ctype.h>
-#include <math.h>
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-static char *skip_whitespace (char *s)
-{
- while (isspace (*s))
- s++;
-
- return s;
-}
-
-static void init_map (unsigned char map[256], int base)
-{
- memset ((char *) map, 0xFF, 256);
-
- map['0'] = 0; map['1'] = 1; map['2'] = 2; map['3'] = 3;
- map['4'] = 4; map['5'] = 5; map['6'] = 6; map['7'] = 7;
- if (base == 8)
- return;
-
- map['8'] = 8; map['9'] = 9;
- if (base == 10)
- return;
-
- map['A'] = 10; map['B'] = 11; map['C'] = 12; map['D'] = 13;
- map['E'] = 14; map['F'] = 15; map['a'] = 10; map['b'] = 11;
- map['c'] = 12; map['d'] = 13; map['e'] = 14; map['f'] = 15;
-}
-
-static char *get_sign (char *s, char *smax, int *sign)
-{
- *sign = 1;
- if (s + 1 < smax)
- {
- if (*s == '+') s++;
- else if (*s == '-')
- {
- s++;
- *sign = -1;
- }
- }
- return s;
-}
-
-
-static int parse_long (char **sp, char *smax, long *np,
- long base, unsigned char map[256])
-{
- char *s, *s0;
- long n;
- int sign;
-
- s = s0 = get_sign (*sp, smax, &sign);
-
- n = 0;
- while (s < smax)
- {
- unsigned char value;
-
- value = map [(unsigned char) *s];
- if (value == 0xFF)
- break;
-
- n = base * n + value;
- s++;
- }
-
- *sp = s;
- if (s == s0)
- return 0;
-
- *np = n * sign;
-
- return 1;
-}
-
-
-static int parse_int (char **sp, char *smax, int *np,
- long base, unsigned char map[256])
-{
- long n;
- int status;
-
- if (1 == (status = parse_long (sp, smax, &n, base, map)))
- *np = (int) n;
- return status;
-}
-
-static int parse_short (char **sp, char *smax, short *np,
- long base, unsigned char map[256])
-{
- long n;
- int status;
-
- if (1 == (status = parse_long (sp, smax, &n, base, map)))
- *np = (short) n;
- return status;
-}
-
-static int parse_ulong (char **sp, char *smax, unsigned long *np,
- long base, unsigned char map[256])
-{
- return parse_long (sp, smax, (long *) np, base, map);
-}
-
-static int parse_uint (char **sp, char *smax, unsigned int *np,
- long base, unsigned char map[256])
-{
- return parse_int (sp, smax, (int *) np, base, map);
-}
-
-static int parse_ushort (char **sp, char *smax, unsigned short *np,
- long base, unsigned char map[256])
-{
- return parse_short (sp, smax, (short *) np, base, map);
-}
-
-#if SLANG_HAS_FLOAT
-/*
- * In an ideal world, strtod would be the correct function to use. However,
- * there may be problems relying on this function because some systems do
- * not support and some that do get it wrong. So, I will handle the parsing
- * of the string and let atof or strtod handle the arithmetic.
- */
-static int parse_double (char **sp, char *smax, double *d)
-{
- char *s, *s0;
- int sign;
- int expon;
- unsigned char map[256];
- char buf[128];
- int has_leading_zeros;
- char *start_pos, *sign_pos;
- char *b, *bmax;
-
- start_pos = *sp;
- s = get_sign (start_pos, smax, &sign);
- if (s >= smax)
- {
- errno = _SLerrno_errno = EINVAL;
- return 0;
- }
-
- /* Prepare the buffer that will be passed to strtod */
- /* Allow the exponent to be 5 significant digits: E+xxxxx\0 */
- bmax = buf + (sizeof (buf) - 8);
- buf[0] = '0'; buf[1] = '.';
- b = buf + 2;
-
- init_map (map, 10);
-
- /* Skip leading 0s */
- s0 = s;
- while ((s < smax) && (*s == '0'))
- s++;
- has_leading_zeros = (s != s0);
-
- expon = 0;
- while (s < smax)
- {
- unsigned char value = map [(unsigned char) *s];
-
- if (value == 0xFF)
- break;
-
- if (b < bmax)
- *b++ = *s;
-
- expon++;
- s++;
- }
-
- if ((s < smax) && (*s == '.'))
- {
- s++;
- if (b == buf + 2) /* nothing added yet */
- {
- while ((s < smax) && (*s == '0'))
- {
- expon--;
- s++;
- }
- }
-
- while (s < smax)
- {
- unsigned char value = map [(unsigned char) *s];
-
- if (value == 0xFF)
- break;
-
- if (b < bmax)
- *b++ = *s;
- s++;
- }
- }
-
- if ((b == buf + 2)
- && (has_leading_zeros == 0))
- {
- *sp = start_pos;
- errno = EINVAL;
- return 0;
- }
-
- if ((s + 1 < smax) && ((*s == 'E') || (*s == 'e')))
- {
- int e;
- int esign;
-
- s0 = s;
- s = get_sign (s + 1, smax, &esign);
- sign_pos = s;
- e = 0;
- while (s < smax)
- {
- unsigned char value = map [(unsigned char) *s];
- if (value == 0xFF)
- break;
- if (e < 25000) /* avoid overflow if 16 bit */
- e = 10 * e + value;
- s++;
- }
-#ifdef ERANGE
- if (e >= 25000)
- errno = ERANGE;
-#endif
- if (s == sign_pos)
- s = s0; /* ...E-X */
- else
- {
- e = esign * e;
- expon += e;
- }
- }
-
- if (expon != 0)
- sprintf (b, "e%d", expon);
- else
- *b = 0;
-
- *sp = s;
-#if HAVE_STRTOD
- *d = sign * strtod (buf, NULL);
-#else
- *d = sign * atof (buf);
-#endif
- return 1;
-}
-
-static int parse_float (char **sp, char *smax, float *d)
-{
- double x;
- if (1 == parse_double (sp, smax, &x))
- {
- *d = (float) x;
- return 1;
- }
- return 0;
-}
-#endif /* SLANG_HAS_FLOAT */
-
-static int parse_string (char **sp, char *smax, char **str)
-{
- char *s, *s0;
-
- s0 = s = *sp;
- while (s < smax)
- {
- if (isspace (*s))
- break;
- s++;
- }
- if (NULL == (*str = SLang_create_nslstring (s0, (unsigned int) (s - s0))))
- return -1;
-
- *sp = s;
- return 1;
-}
-
-static int parse_bstring (char **sp, char *smax, char **str)
-{
- char *s;
-
- s = *sp;
- if (NULL == (*str = SLang_create_nslstring (s, (unsigned int) (smax - s))))
- return -1;
-
- *sp = smax;
- return 1;
-}
-
-static int parse_range (char **sp, char *smax, char **fp, char **str)
-{
- char *s, *s0;
- char *range;
- char *f;
- unsigned char map[256];
- unsigned char reverse;
-
- /* How can one represent a range with just '^'? The naive answer is
- * is [^]. However, this may be interpreted as meaning any character
- * but ']' and others. Let's assume that the user will not use a range
- * to match '^'.
- */
- f = *fp;
- /* f is a pointer to (one char after) [...]. */
- if (*f == '^')
- {
- f++;
- reverse = 1;
- }
- else reverse = 0;
-
- s0 = f;
- if (*f == ']')
- f++;
-
- while (1)
- {
- char ch = *f;
-
- if (ch == 0)
- {
- SLang_verror (SL_INVALID_PARM, "Unexpected end of range in format");
- return -1;
- }
- if (ch == ']')
- break;
- f++;
- }
- if (NULL == (range = SLmake_nstring (s0, (unsigned int) (f - s0))))
- return -1;
- *fp = f + 1; /* skip ] */
-
- SLmake_lut (map, (unsigned char *) range, reverse);
- SLfree (range);
-
- s0 = s = *sp;
- while ((s < smax) && map [(unsigned char) *s])
- s++;
-
- if (NULL == (*str = SLang_create_nslstring (s0, (unsigned int) (s - s0))))
- return -1;
-
- *sp = s;
- return 1;
-}
-
-
-int _SLang_sscanf (void)
-{
- int num;
- unsigned int num_refs;
- char *format;
- char *input_string, *input_string_max;
- char *f, *s;
- unsigned char map8[256], map10[256], map16[256];
-
- if (SLang_Num_Function_Args < 2)
- {
- SLang_verror (SL_INVALID_PARM, "Int_Type sscanf (str, format, ...)");
- return -1;
- }
-
- num_refs = (unsigned int) SLang_Num_Function_Args;
- if (-1 == SLreverse_stack (num_refs))
- return -1;
- num_refs -= 2;
-
- if (-1 == SLang_pop_slstring (&input_string))
- return -1;
-
- if (-1 == SLang_pop_slstring (&format))
- {
- SLang_free_slstring (input_string);
- return -1;
- }
-
- f = format;
- s = input_string;
- input_string_max = input_string + strlen (input_string);
-
- init_map (map8, 8);
- init_map (map10, 10);
- init_map (map16, 16);
-
- num = 0;
-
- while (num_refs != 0)
- {
- SLang_Object_Type obj;
- SLang_Ref_Type *ref;
- char *smax;
- unsigned char *map;
- int base;
- int no_assign;
- int is_short;
- int is_long;
- int status;
- char chf;
- unsigned int width;
- int has_width;
-
- chf = *f++;
-
- if (chf == 0)
- {
- /* Hmmm.... what is the most useful thing to do?? */
-#if 1
- break;
-#else
- SLang_verror (SL_INVALID_PARM, "sscanf: format not big enough for output list");
- goto return_error;
-#endif
- }
-
- if (isspace (chf))
- {
- s = skip_whitespace (s);
- continue;
- }
-
- if ((chf != '%')
- || ((chf = *f++) == '%'))
- {
- if (*s != chf)
- break;
- s++;
- continue;
- }
-
- no_assign = 0;
- is_short = 0;
- is_long = 0;
- width = 0;
- smax = input_string_max;
-
- /* Look for the flag character */
- if (chf == '*')
- {
- no_assign = 1;
- chf = *f++;
- }
-
- /* Width */
- has_width = isdigit (chf);
- if (has_width)
- {
- f--;
- (void) parse_uint (&f, f + strlen(f), &width, 10, map10);
- chf = *f++;
- }
-
- /* Now the type modifier */
- switch (chf)
- {
- case 'h':
- is_short = 1;
- chf = *f++;
- break;
-
- case 'L': /* not implemented */
- case 'l':
- is_long = 1;
- chf = *f++;
- break;
- }
-
- status = -1;
-
- if ((chf != 'c') && (chf != '['))
- s = skip_whitespace (s);
-
- if (has_width)
- {
- if (width > (unsigned int) (input_string_max - s))
- width = (unsigned int) (input_string_max - s);
- smax = s + width;
- }
-
- /* Now the format descriptor */
-
- map = map10;
- base = 10;
-
- try_again: /* used by i, x, and o, conversions */
- switch (chf)
- {
- case 0:
- SLang_verror (SL_INVALID_PARM, "sscanf: Unexpected end of format");
- goto return_error;
- case 'D':
- is_long = 1;
- case 'd':
- if (is_short)
- {
- obj.data_type = SLANG_SHORT_TYPE;
- status = parse_short (&s, smax, &obj.v.short_val, base, map);
- }
- else if (is_long)
- {
- obj.data_type = SLANG_LONG_TYPE;
- status = parse_long (&s, smax, &obj.v.long_val, base, map);
- }
- else
- {
- obj.data_type = SLANG_INT_TYPE;
- status = parse_int (&s, smax, &obj.v.int_val, base, map);
- }
- break;
-
-
- case 'U':
- is_long = 1;
- case 'u':
- if (is_short)
- {
- obj.data_type = SLANG_USHORT_TYPE;
- status = parse_ushort (&s, smax, &obj.v.ushort_val, base, map);
- }
- else if (is_long)
- {
- obj.data_type = SLANG_ULONG_TYPE;
- status = parse_ulong (&s, smax, &obj.v.ulong_val, base, map);
- }
- else
- {
- obj.data_type = SLANG_INT_TYPE;
- status = parse_uint (&s, smax, &obj.v.uint_val, base, map);
- }
- break;
-
- case 'I':
- is_long = 1;
- case 'i':
- if ((s + 1 >= smax)
- || (*s != 0))
- chf = 'd';
- else if (((s[1] == 'x') || (s[1] == 'X'))
- && (s + 2 < smax))
- {
- s += 2;
- chf = 'x';
- }
- else chf = 'o';
- goto try_again;
-
- case 'O':
- is_long = 1;
- case 'o':
- map = map8;
- base = 8;
- chf = 'd';
- goto try_again;
-
- case 'X':
- is_long = 1;
- case 'x':
- base = 16;
- map = map16;
- chf = 'd';
- goto try_again;
-
- case 'E':
- case 'F':
- is_long = 1;
- case 'e':
- case 'f':
- case 'g':
-#if SLANG_HAS_FLOAT
- if (is_long)
- {
- obj.data_type = SLANG_DOUBLE_TYPE;
- status = parse_double (&s, smax, &obj.v.double_val);
- }
- else
- {
- obj.data_type = SLANG_FLOAT_TYPE;
- status = parse_float (&s, smax, &obj.v.float_val);
- }
-#else
- SLang_verror (SL_NOT_IMPLEMENTED,
- "This version of the S-Lang does not support floating point");
- status = -1;
-#endif
- break;
-
- case 's':
- obj.data_type = SLANG_STRING_TYPE;
- status = parse_string (&s, smax, &obj.v.s_val);
- break;
-
- case 'c':
- if (has_width == 0)
- {
- obj.data_type = SLANG_UCHAR_TYPE;
- obj.v.uchar_val = *s++;
- status = 1;
- break;
- }
- obj.data_type = SLANG_STRING_TYPE;
- status = parse_bstring (&s, smax, &obj.v.s_val);
- break;
-
- case '[':
- obj.data_type = SLANG_STRING_TYPE;
- status = parse_range (&s, smax, &f, &obj.v.s_val);
- break;
-
- case 'n':
- obj.data_type = SLANG_UINT_TYPE;
- obj.v.uint_val = (unsigned int) (s - input_string);
- status = 1;
- break;
-
- default:
- status = -1;
- SLang_verror (SL_NOT_IMPLEMENTED, "format specifier '%c' is not supported", chf);
- break;
- }
-
- if (status == 0)
- break;
-
- if (status == -1)
- goto return_error;
-
- if (no_assign)
- {
- SLang_free_object (&obj);
- continue;
- }
-
- if (-1 == SLang_pop_ref (&ref))
- {
- SLang_free_object (&obj);
- goto return_error;
- }
-
- if (-1 == SLang_push (&obj))
- {
- SLang_free_object (&obj);
- SLang_free_ref (ref);
- goto return_error;
- }
-
- if (-1 == _SLang_deref_assign (ref))
- {
- SLang_free_ref (ref);
- goto return_error;
- }
- SLang_free_ref (ref);
-
- num++;
- num_refs--;
- }
-
- if (-1 == SLdo_pop_n (num_refs))
- goto return_error;
-
- SLang_free_slstring (format);
- SLang_free_slstring (input_string);
- return num;
-
- return_error:
- /* NULLS ok */
- SLang_free_slstring (format);
- SLang_free_slstring (input_string);
- return -1;
-}
-
-
-# if SLANG_HAS_FLOAT
-
-#ifndef HAVE_STDLIB_H
-/* Oh dear. Where is the prototype for atof? If not in stdlib, then
- * I do not know where. Not in math.h on some systems either.
- */
-extern double atof ();
-#endif
-
-double _SLang_atof (char *s)
-{
- double x;
-
- s = skip_whitespace (s);
- errno = 0;
-
- if (1 != parse_double (&s, s + strlen (s), &x))
- {
- if ((0 == strcmp ("NaN", s))
- || (0 == strcmp ("-Inf", s))
- || (0 == strcmp ("Inf", s)))
- return atof (s); /* let this deal with it */
-#ifdef EINVAL
- errno = _SLerrno_errno = EINVAL;
-#endif
- return 0.0;
- }
- if (errno)
- _SLerrno_errno = errno;
- return x;
-}
-#endif
diff --git a/mdk-stage1/slang/slscroll.c b/mdk-stage1/slang/slscroll.c
deleted file mode 100644
index 358296116..000000000
--- a/mdk-stage1/slang/slscroll.c
+++ /dev/null
@@ -1,450 +0,0 @@
-/* SLang Scrolling Window Routines */
-/* Copyright (c) 1996, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static void find_window_bottom (SLscroll_Window_Type *win)
-{
- unsigned int nrows;
- unsigned int hidden_mask;
- SLscroll_Type *bot, *cline, *last_bot;
- unsigned int row;
-
- nrows = win->nrows;
- hidden_mask = win->hidden_mask;
- cline = win->current_line;
-
- win->window_row = row = 0;
- last_bot = bot = win->top_window_line;
-
- while (row < nrows)
- {
- if (bot == cline)
- win->window_row = row;
-
- last_bot = bot;
-
- if (bot == NULL)
- break;
-
- bot = bot->next;
-
- if (hidden_mask)
- {
- while ((bot != NULL) && (bot->flags & hidden_mask))
- bot = bot->next;
- }
-
- row++;
- }
-
- win->bot_window_line = last_bot;
-}
-
-static int find_top_to_recenter (SLscroll_Window_Type *win)
-{
- unsigned int nrows;
- unsigned int hidden_mask;
- SLscroll_Type *prev, *last_prev, *cline;
-
- nrows = win->nrows;
- cline = win->current_line;
- hidden_mask = win->hidden_mask;
-
- nrows = nrows / 2;
-
- last_prev = prev = cline;
-
- while (nrows && (prev != NULL))
- {
- nrows--;
- last_prev = prev;
- do
- {
- prev = prev->prev;
- }
- while (hidden_mask
- && (prev != NULL)
- && (prev->flags & hidden_mask));
- }
-
- if (prev == NULL) prev = last_prev;
-
- win->top_window_line = prev;
- find_window_bottom (win);
-
- return 0;
-}
-
-#define HAS_BORDER_CODE 1
-int SLscroll_find_top (SLscroll_Window_Type *win)
-{
- unsigned int i;
- SLscroll_Type *cline, *prev, *next;
- SLscroll_Type *top_window_line;
- unsigned int nrows;
- unsigned int hidden_mask;
- int scroll_mode;
- unsigned int border;
-
- cline = win->current_line;
- nrows = win->nrows;
- scroll_mode = win->cannot_scroll;
- border = win->border;
- if (scroll_mode == 2)
- border = 0;
-
- if ((cline == NULL) || (nrows <= 1))
- {
- win->top_window_line = cline;
- find_window_bottom (win);
- return 0;
- }
-
- hidden_mask = win->hidden_mask;
-
- /* Note: top_window_line might be a bogus pointer. This means that I cannot
- * access it unless it really corresponds to a pointer in the buffer.
- */
- top_window_line = win->top_window_line;
-
- if (top_window_line == NULL)
- return find_top_to_recenter (win);
-
- /* Chances are that the current line is visible in the window. This means
- * that the top window line should be above it.
- */
- prev = cline;
-
- i = 0;
-
- while ((i < nrows) && (prev != NULL))
- {
- if (prev == top_window_line)
- {
- SLscroll_Type *twl = top_window_line;
- int dir = 0;
-
- if (i < border) dir = -1; else if (i + border >= nrows) dir = 1;
-
- if (dir) while (border)
- {
- if (dir < 0) twl = twl->prev;
- else twl = twl->next;
-
- if (twl == NULL)
- {
- twl = top_window_line;
- break;
- }
- if ((hidden_mask == 0)
- || (0 == (twl->flags & hidden_mask)))
- border--;
- }
-
- win->top_window_line = twl;
- find_window_bottom (win);
- return 0;
- }
-
- do
- {
- prev = prev->prev;
- }
- while (hidden_mask
- && (prev != NULL)
- && (prev->flags & hidden_mask));
- i++;
- }
-
- /* Now check the borders of the window. Perhaps the current line lies
- * outsider the border by a line. Only do this if terminal can scroll.
- */
-
- if (scroll_mode == 1)
- return find_top_to_recenter (win);
- else if (scroll_mode == -1)
- scroll_mode = 0;
-
- next = cline->next;
- while (hidden_mask
- && (next != NULL)
- && (next->flags & hidden_mask))
- next = next->next;
-
- if ((next != NULL)
- && (next == top_window_line))
- {
- /* The current line is one line above the window. This means user
- * has moved up past the top of the window. If scroll_mode is set
- * to scroll by pages, we need to do a page up.
- */
-
- win->top_window_line = cline;
- find_window_bottom (win);
-
- if (scroll_mode) return SLscroll_pageup (win);
-
- return 0;
- }
-
- prev = cline->prev;
-
- while (hidden_mask
- && (prev != NULL)
- && (prev->flags & hidden_mask))
- prev = prev->prev;
-
- if ((prev == NULL)
- || (prev != win->bot_window_line))
- return find_top_to_recenter (win);
-
- /* It looks like cline is below window by one line. See what line should
- * be at top to scroll it into view. Only do this unless we are scrolling
- * by pages.
- */
- if (scroll_mode)
- {
- win->top_window_line = cline;
- find_window_bottom (win);
- return 0;
- }
-
- i = 2;
- while ((i < nrows) && (prev != NULL))
- {
- do
- {
- prev = prev->prev;
- }
- while (hidden_mask
- && (prev != NULL)
- && (prev->flags & hidden_mask));
- i++;
- }
-
- if (prev != NULL)
- {
- win->top_window_line = prev;
- find_window_bottom (win);
- return 0;
- }
-
- return find_top_to_recenter (win);
-}
-
-int SLscroll_find_line_num (SLscroll_Window_Type *win)
-{
- SLscroll_Type *cline, *l;
- unsigned int n;
- unsigned int hidden_mask;
-
- if (win == NULL) return -1;
-
- hidden_mask = win->hidden_mask;
- cline = win->current_line;
-
- n = 1;
-
- l = win->lines;
- while (l != cline)
- {
- if ((hidden_mask == 0)
- || (0 == (l->flags & hidden_mask)))
- n++;
-
- l = l->next;
- }
-
- win->line_num = n;
- n--;
-
- while (l != NULL)
- {
- if ((hidden_mask == 0)
- || (0 == (l->flags & hidden_mask)))
- n++;
- l = l->next;
- }
- win->num_lines = n;
-
- return 0;
-}
-
-unsigned int SLscroll_next_n (SLscroll_Window_Type *win, unsigned int n)
-{
- unsigned int i;
- unsigned int hidden_mask;
- SLscroll_Type *l, *cline;
-
- if ((win == NULL)
- || (NULL == (cline = win->current_line)))
- return 0;
-
- hidden_mask = win->hidden_mask;
- l = cline;
- i = 0;
- while (i < n)
- {
- l = l->next;
- while (hidden_mask
- && (l != NULL) && (l->flags & hidden_mask))
- l = l->next;
-
- if (l == NULL)
- break;
-
- i++;
- cline = l;
- }
-
- win->current_line = cline;
- win->line_num += i;
- return i;
-}
-
-unsigned int SLscroll_prev_n (SLscroll_Window_Type *win, unsigned int n)
-{
- unsigned int i;
- unsigned int hidden_mask;
- SLscroll_Type *l, *cline;
-
- if ((win == NULL)
- || (NULL == (cline = win->current_line)))
- return 0;
-
- hidden_mask = win->hidden_mask;
- l = cline;
- i = 0;
- while (i < n)
- {
- l = l->prev;
- while (hidden_mask
- && (l != NULL) && (l->flags & hidden_mask))
- l = l->prev;
-
- if (l == NULL)
- break;
-
- i++;
- cline = l;
- }
-
- win->current_line = cline;
- win->line_num -= i;
- return i;
-}
-
-int SLscroll_pageup (SLscroll_Window_Type *win)
-{
- SLscroll_Type *l, *top;
- unsigned int nrows, hidden_mask;
- unsigned int n;
-
- if (win == NULL)
- return -1;
-
- (void) SLscroll_find_top (win);
-
- nrows = win->nrows;
-
- if ((NULL != (top = win->top_window_line))
- && (nrows > 2))
- {
- n = 0;
- hidden_mask = win->hidden_mask;
- l = win->current_line;
- while ((l != NULL) && (l != top))
- {
- l = l->prev;
- if ((hidden_mask == 0)
- || ((l != NULL) && (0 == (l->flags & hidden_mask))))
- n++;
- }
-
- if (l != NULL)
- {
- unsigned int save_line_num;
- int ret = 0;
-
- win->current_line = l;
- win->line_num -= n;
-
- /* Compute a new top/bottom header */
- save_line_num = win->line_num;
-
- if ((0 == SLscroll_prev_n (win, nrows - 1))
- && (n == 0))
- ret = -1;
-
- win->top_window_line = win->current_line;
- win->current_line = l;
- win->line_num = save_line_num;
-
- find_window_bottom (win);
- return ret;
- }
- }
-
- if (nrows < 2) nrows++;
- if (0 == SLscroll_prev_n (win, nrows - 1))
- return -1;
- return 0;
-}
-
-int SLscroll_pagedown (SLscroll_Window_Type *win)
-{
- SLscroll_Type *l, *bot;
- unsigned int nrows, hidden_mask;
- unsigned int n;
-
- if (win == NULL)
- return -1;
-
- (void) SLscroll_find_top (win);
-
- nrows = win->nrows;
-
- if ((NULL != (bot = win->bot_window_line))
- && (nrows > 2))
- {
- n = 0;
- hidden_mask = win->hidden_mask;
- l = win->current_line;
- while ((l != NULL) && (l != bot))
- {
- l = l->next;
- if ((hidden_mask == 0)
- || ((l != NULL) && (0 == (l->flags & hidden_mask))))
- n++;
- }
-
- if (l != NULL)
- {
- win->current_line = l;
- win->top_window_line = l;
- win->line_num += n;
-
- find_window_bottom (win);
-
- if (n || (bot != win->bot_window_line))
- return 0;
-
- return -1;
- }
- }
-
- if (nrows < 2) nrows++;
- if (0 == SLscroll_next_n (win, nrows - 1))
- return -1;
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slsearch.c b/mdk-stage1/slang/slsearch.c
deleted file mode 100644
index a9a427a7d..000000000
--- a/mdk-stage1/slang/slsearch.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef upcase
-# undef upcase
-#endif
-
-#define upcase(ch) (cs ? ch : UPPER_CASE(ch))
-
-static unsigned char *search_forward (register unsigned char *beg,
- unsigned char *end,
- unsigned char *key,
- register int key_len, int cs, int *ind)
-{
- register unsigned char char1;
- unsigned char *pos;
- int j, str_len;
- register unsigned char ch;
- register int db;
-
- str_len = (int) (end - beg);
- if (str_len < key_len) return (NULL);
-
- if (key_len == 0)
- return NULL;
-
- char1 = key[key_len - 1];
- beg += (key_len - 1);
-
- while(1)
- {
- if (cs) while (beg < end)
- {
- ch = *beg;
- db = ind[(unsigned char) ch];
- if ((db < key_len) && (ch == char1)) break;
- beg += db; /* ind[(unsigned char) ch]; */
- }
- else while (beg < end)
- {
- ch = *beg;
- db = ind[(unsigned char) ch];
- if ((db < key_len) &&
- (UPPER_CASE(ch) == char1)) break;
- beg += db; /* ind[(unsigned char) ch]; */
- }
-
- if (beg >= end) return(NULL);
-
- pos = beg - (key_len - 1);
- for (j = 0; j < key_len; j++)
- {
- ch = upcase(pos[j]);
- if (ch != (unsigned char) key[j]) break;
- }
-
- if (j == key_len) return(pos);
- beg += 1;
- }
-}
-
-static unsigned char *search_backward (unsigned char *beg,unsigned char *end,
- unsigned char *key, int key_len,
- int cs, int *ind)
-{
- unsigned char ch, char1;
- int j, str_len, ofs;
-
- str_len = (int) (end - beg);
- if (str_len < key_len) return (NULL);
-
- if (key_len == 0)
- return NULL;
-
- /* end -= (key_len - 1); */
- end -= key_len;
-
- char1 = key[0];
-
- while(1)
- {
- while ((beg <= end) && (ch = *end, ch = upcase(ch), ch != char1))
- {
- ofs = ind[(unsigned char) ch];
-#ifdef __MSDOS__
- /* This is needed for msdos segment wrapping problems */
- if (beg + ofs > end) return(NULL);
-#endif
- end -= ofs;
- }
- if (beg > end) return(NULL);
- for (j = 1; j < key_len; j++)
- {
- ch = upcase(end[j]);
- if (ch != key[j]) break;
- }
- if (j == key_len) return(end);
- end--;
- }
-}
-
-unsigned char *SLsearch (unsigned char *pmin, unsigned char *pmax,
- SLsearch_Type *st)
-{
- if (st->dir > 0) return search_forward (pmin, pmax, st->key,
- st->key_len, st->cs, st->ind);
- else return search_backward (pmin, pmax, st->key,
- st->key_len, st->cs, st->ind);
-}
-
-static int Case_Tables_Ok;
-
-int SLsearch_init (char *str, int dir, int cs, SLsearch_Type *st)
-{
- int i, maxi;
- register int max = strlen(str);
- unsigned char *w, *work = st->key;
- register int *indp, *indpm;
- int *ind = st->ind;
-
- if (max >= (int) sizeof (st->key))
- {
- SLang_doerror ("Search string too long.");
- return -1;
- }
-
- st->dir = dir; st->cs = cs;
-
- if (!Case_Tables_Ok) SLang_init_case_tables ();
-
- if (dir > 0)
- {
- w = work;
- }
- else
- {
- maxi = max - 1;
- str = str + maxi;
- w = work + maxi;
- }
-
- /* for (i = 0; i < 256; i++) ind[i] = max; */
- indp = ind; indpm = ind + 256;
- while (indp < indpm)
- {
- *indp++ = max;
- *indp++ = max;
- *indp++ = max;
- *indp++ = max;
- }
-
- i = 0;
- if (cs) while (i < max)
- {
- i++;
- maxi = max - i;
- *w = *str;
- ind[(unsigned char) *str] = maxi;
- str += dir; w += dir;
- }
- else while (i < max)
- {
- i++;
- maxi = max - i;
- *w = UPPER_CASE(*str);
- ind[(unsigned char) *w] = maxi;
- ind[(unsigned char) LOWER_CASE(*str)] = maxi;
- str += dir; w += dir;
- }
-
- work[max] = 0;
- st->key_len = max;
- return max;
-}
-
-/* 8bit clean upper and lowercase macros */
-unsigned char _SLChg_LCase_Lut[256];
-unsigned char _SLChg_UCase_Lut[256];
-
-void SLang_define_case (int *u, int *l)
-{
- unsigned char up = (unsigned char) *u, dn = (unsigned char) *l;
-
- _SLChg_LCase_Lut[up] = dn;
- _SLChg_LCase_Lut[dn] = dn;
- _SLChg_UCase_Lut[dn] = up;
- _SLChg_UCase_Lut[up] = up;
-}
-
-void SLang_init_case_tables (void)
-{
- int i, j;
- if (Case_Tables_Ok) return;
-
- for (i = 0; i < 256; i++)
- {
- _SLChg_UCase_Lut[i] = i;
- _SLChg_LCase_Lut[i] = i;
- }
-
- for (i = 'A'; i <= 'Z'; i++)
- {
- j = i + 32;
- _SLChg_UCase_Lut[j] = i;
- _SLChg_LCase_Lut[i] = j;
- }
-#ifdef PC_SYSTEM
- /* Initialize for DOS code page 437. */
- _SLChg_UCase_Lut[135] = 128; _SLChg_LCase_Lut[128] = 135;
- _SLChg_UCase_Lut[132] = 142; _SLChg_LCase_Lut[142] = 132;
- _SLChg_UCase_Lut[134] = 143; _SLChg_LCase_Lut[143] = 134;
- _SLChg_UCase_Lut[130] = 144; _SLChg_LCase_Lut[144] = 130;
- _SLChg_UCase_Lut[145] = 146; _SLChg_LCase_Lut[146] = 145;
- _SLChg_UCase_Lut[148] = 153; _SLChg_LCase_Lut[153] = 148;
- _SLChg_UCase_Lut[129] = 154; _SLChg_LCase_Lut[154] = 129;
- _SLChg_UCase_Lut[164] = 165; _SLChg_LCase_Lut[165] = 164;
-#else
- /* ISO Latin */
- for (i = 192; i <= 221; i++)
- {
- j = i + 32;
- _SLChg_UCase_Lut[j] = i;
- _SLChg_LCase_Lut[i] = j;
- }
- _SLChg_UCase_Lut[215] = 215; _SLChg_LCase_Lut[215] = 215;
- _SLChg_UCase_Lut[223] = 223; _SLChg_LCase_Lut[223] = 223;
- _SLChg_UCase_Lut[247] = 247; _SLChg_LCase_Lut[247] = 247;
- _SLChg_UCase_Lut[255] = 255; _SLChg_LCase_Lut[255] = 255;
-#endif
- Case_Tables_Ok = 1;
-}
diff --git a/mdk-stage1/slang/slsignal.c b/mdk-stage1/slang/slsignal.c
deleted file mode 100644
index 30707dea5..000000000
--- a/mdk-stage1/slang/slsignal.c
+++ /dev/null
@@ -1,336 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <signal.h>
-
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-/* Do not trust these environments */
-#if defined(__CYGWIN32__) || defined(__MINGW32__) || defined(AMIGA)
-# ifdef SLANG_POSIX_SIGNALS
-# undef SLANG_POSIX_SIGNALS
-# endif
-#endif
-
-/* This function will cause system calls to be restarted after signal if possible */
-SLSig_Fun_Type *SLsignal (int sig, SLSig_Fun_Type *f)
-{
-#if defined(SLANG_POSIX_SIGNALS)
- struct sigaction old_sa, new_sa;
-
-# ifdef SIGALRM
- /* We want system calls to be interrupted by SIGALRM. */
- if (sig == SIGALRM) return SLsignal_intr (sig, f);
-# endif
-
- sigemptyset (&new_sa.sa_mask);
- new_sa.sa_handler = f;
-
- new_sa.sa_flags = 0;
-# ifdef SA_RESTART
- new_sa.sa_flags |= SA_RESTART;
-# endif
-
- if (-1 == sigaction (sig, &new_sa, &old_sa))
- return (SLSig_Fun_Type *) SIG_ERR;
-
- return old_sa.sa_handler;
-#else
- /* Not POSIX. */
- return signal (sig, f);
-#endif
-}
-
-/* This function will NOT cause system calls to be restarted after
- * signal if possible
- */
-SLSig_Fun_Type *SLsignal_intr (int sig, SLSig_Fun_Type *f)
-{
-#ifdef SLANG_POSIX_SIGNALS
- struct sigaction old_sa, new_sa;
-
- sigemptyset (&new_sa.sa_mask);
- new_sa.sa_handler = f;
-
- new_sa.sa_flags = 0;
-# ifdef SA_INTERRUPT
- new_sa.sa_flags |= SA_INTERRUPT;
-# endif
-
- if (-1 == sigaction (sig, &new_sa, &old_sa))
- return (SLSig_Fun_Type *) SIG_ERR;
-
- return old_sa.sa_handler;
-#else
- /* Not POSIX. */
- return signal (sig, f);
-#endif
-}
-
-/* We are primarily interested in blocking signals that would cause the
- * application to reset the tty. These include suspend signals and
- * possibly interrupt signals.
- */
-#ifdef SLANG_POSIX_SIGNALS
-static sigset_t Old_Signal_Mask;
-#endif
-
-static volatile unsigned int Blocked_Depth;
-
-int SLsig_block_signals (void)
-{
-#ifdef SLANG_POSIX_SIGNALS
- sigset_t new_mask;
-#endif
-
- Blocked_Depth++;
- if (Blocked_Depth != 1)
- {
- return 0;
- }
-
-#ifdef SLANG_POSIX_SIGNALS
- sigemptyset (&new_mask);
-# ifdef SIGQUIT
- sigaddset (&new_mask, SIGQUIT);
-# endif
-# ifdef SIGTSTP
- sigaddset (&new_mask, SIGTSTP);
-# endif
-# ifdef SIGINT
- sigaddset (&new_mask, SIGINT);
-# endif
-# ifdef SIGTTIN
- sigaddset (&new_mask, SIGTTIN);
-# endif
-# ifdef SIGTTOU
- sigaddset (&new_mask, SIGTTOU);
-# endif
-# ifdef SIGWINCH
- sigaddset (&new_mask, SIGWINCH);
-# endif
-
- (void) sigprocmask (SIG_BLOCK, &new_mask, &Old_Signal_Mask);
- return 0;
-#else
- /* Not implemented. */
- return -1;
-#endif
-}
-
-int SLsig_unblock_signals (void)
-{
- if (Blocked_Depth == 0)
- return -1;
-
- Blocked_Depth--;
-
- if (Blocked_Depth != 0)
- return 0;
-
-#ifdef SLANG_POSIX_SIGNALS
- (void) sigprocmask (SIG_SETMASK, &Old_Signal_Mask, NULL);
- return 0;
-#else
- return -1;
-#endif
-}
-
-#ifdef MSWINDOWS
-int SLsystem (char *cmd)
-{
- SLang_verror (SL_NOT_IMPLEMENTED, "system not implemented");
- return -1;
-}
-
-#else
-int SLsystem (char *cmd)
-{
-#ifdef SLANG_POSIX_SIGNALS
- pid_t pid;
- int status;
- struct sigaction ignore;
-# ifdef SIGINT
- struct sigaction save_intr;
-# endif
-# ifdef SIGQUIT
- struct sigaction save_quit;
-# endif
-# ifdef SIGCHLD
- sigset_t child_mask, save_mask;
-# endif
-
- if (cmd == NULL) return 1;
-
- ignore.sa_handler = SIG_IGN;
- sigemptyset (&ignore.sa_mask);
- ignore.sa_flags = 0;
-
-# ifdef SIGINT
- if (-1 == sigaction (SIGINT, &ignore, &save_intr))
- return -1;
-# endif
-
-# ifdef SIGQUIT
- if (-1 == sigaction (SIGQUIT, &ignore, &save_quit))
- {
- (void) sigaction (SIGINT, &save_intr, NULL);
- return -1;
- }
-# endif
-
-# ifdef SIGCHLD
- sigemptyset (&child_mask);
- sigaddset (&child_mask, SIGCHLD);
- if (-1 == sigprocmask (SIG_BLOCK, &child_mask, &save_mask))
- {
-# ifdef SIGINT
- (void) sigaction (SIGINT, &save_intr, NULL);
-# endif
-# ifdef SIGQUIT
- (void) sigaction (SIGQUIT, &save_quit, NULL);
-# endif
- return -1;
- }
-# endif
-
- pid = fork();
-
- if (pid == -1)
- status = -1;
- else if (pid == 0)
- {
- /* Child */
-# ifdef SIGINT
- (void) sigaction (SIGINT, &save_intr, NULL);
-# endif
-# ifdef SIGQUIT
- (void) sigaction (SIGQUIT, &save_quit, NULL);
-# endif
-# ifdef SIGCHLD
- (void) sigprocmask (SIG_SETMASK, &save_mask, NULL);
-# endif
-
- execl ("/bin/sh", "sh", "-c", cmd, NULL);
- _exit (127);
- }
- else
- {
- /* parent */
- while (-1 == waitpid (pid, &status, 0))
- {
-# ifdef EINTR
- if (errno == EINTR)
- continue;
-# endif
-# ifdef ERESTARTSYS
- if (errno == ERESTARTSYS)
- continue;
-# endif
- status = -1;
- break;
- }
- }
-# ifdef SIGINT
- if (-1 == sigaction (SIGINT, &save_intr, NULL))
- status = -1;
-# endif
-# ifdef SIGQUIT
- if (-1 == sigaction (SIGQUIT, &save_quit, NULL))
- status = -1;
-# endif
-# ifdef SIGCHLD
- if (-1 == sigprocmask (SIG_SETMASK, &save_mask, NULL))
- status = -1;
-# endif
-
- return status;
-
-#else /* No POSIX Signals */
-# ifdef SIGINT
- void (*sint)(int);
-# endif
-# ifdef SIGQUIT
- void (*squit)(int);
-# endif
- int status;
-
-# ifdef SIGQUIT
- squit = SLsignal (SIGQUIT, SIG_IGN);
-# endif
-# ifdef SIGINT
- sint = SLsignal (SIGINT, SIG_IGN);
-# endif
- status = system (cmd);
-# ifdef SIGINT
- SLsignal (SIGINT, sint);
-# endif
-# ifdef SIGQUIT
- SLsignal (SIGQUIT, squit);
-# endif
- return status;
-#endif /* POSIX_SIGNALS */
-}
-#endif
-
-#if 0
-#include <windows.h>
-static int msw_system (char *cmd)
-{
- STARTUPINFO startup_info;
- PROCESS_INFORMATION process_info;
- int status;
-
- if (cmd == NULL) return -1;
-
- memset ((char *) &startup_info, 0, sizeof (STARTUPINFO));
- startup_info.cb = sizeof(STARTUPINFO);
- startup_info.dwFlags = STARTF_USESHOWWINDOW;
- startup_info.wShowWindow = SW_SHOWDEFAULT;
-
- if (FALSE == CreateProcess (NULL,
- cmd,
- NULL,
- NULL,
- FALSE,
- NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,
- NULL,
- NULL,
- &startup_info,
- &process_info))
- {
- SLang_verror (0, "%s: CreateProcess failed.", cmd);
- return -1;
- }
-
- status = -1;
-
- if (0xFFFFFFFFUL != WaitForSingleObject (process_info.hProcess, INFINITE))
- {
- DWORD exit_code;
-
- if (TRUE == GetExitCodeProcess (process_info.hProcess, &exit_code))
- status = (int) exit_code;
- }
-
- CloseHandle (process_info.hThread);
- CloseHandle (process_info.hProcess);
-
- return status;
-}
-#endif
diff --git a/mdk-stage1/slang/slsmg.c b/mdk-stage1/slang/slsmg.c
deleted file mode 100644
index 088557f27..000000000
--- a/mdk-stage1/slang/slsmg.c
+++ /dev/null
@@ -1,1584 +0,0 @@
-/* SLang Screen management routines */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct Screen_Type
- {
- int n; /* number of chars written last time */
- int flags; /* line untouched, etc... */
- SLsmg_Char_Type *old, *neew;
-#ifndef IBMPC_SYSTEM
- unsigned long old_hash, new_hash;
-#endif
- }
-Screen_Type;
-
-#define TOUCHED 0x1
-#define TRASHED 0x2
-static int Screen_Trashed;
-
-#if !defined(__MSDOS_16BIT__)
-# define MAX_SCREEN_SIZE 256
-#else
-# define MAX_SCREEN_SIZE 75
-#endif
-
-Screen_Type SL_Screen[MAX_SCREEN_SIZE];
-static int Start_Col, Start_Row;
-static int Screen_Cols, Screen_Rows;
-static int This_Row, This_Col;
-static int This_Color; /* only the first 8 bits of this
- * are used. The highest bit is used
- * to indicate an alternate character
- * set. This leaves 127 userdefineable
- * color combination.
- */
-
-#ifndef IBMPC_SYSTEM
-#define ALT_CHAR_FLAG 0x80
-#else
-#define ALT_CHAR_FLAG 0x00
-#endif
-
-#if SLTT_HAS_NON_BCE_SUPPORT && !defined(IBMPC_SYSTEM)
-#define REQUIRES_NON_BCE_SUPPORT 1
-static int Bce_Color_Offset;
-#endif
-
-int SLsmg_Newline_Behavior = 0;
-int SLsmg_Backspace_Moves = 0;
-/* Backward compatibility. Not used. */
-/* int SLsmg_Newline_Moves; */
-
-static void (*tt_normal_video)(void) = SLtt_normal_video;
-static void (*tt_goto_rc)(int, int) = SLtt_goto_rc;
-static void (*tt_cls) (void) = SLtt_cls;
-static void (*tt_del_eol) (void) = SLtt_del_eol;
-static void (*tt_smart_puts) (SLsmg_Char_Type *, SLsmg_Char_Type *, int, int) = SLtt_smart_puts;
-static int (*tt_flush_output) (void) = SLtt_flush_output;
-static int (*tt_reset_video) (void) = SLtt_reset_video;
-static int (*tt_init_video) (void) = SLtt_init_video;
-static int *tt_Screen_Rows = &SLtt_Screen_Rows;
-static int *tt_Screen_Cols = &SLtt_Screen_Cols;
-
-#ifndef IBMPC_SYSTEM
-static void (*tt_set_scroll_region)(int, int) = SLtt_set_scroll_region;
-static void (*tt_reverse_index)(int) = SLtt_reverse_index;
-static void (*tt_reset_scroll_region)(void) = SLtt_reset_scroll_region;
-static void (*tt_delete_nlines)(int) = SLtt_delete_nlines;
-#endif
-
-#ifndef IBMPC_SYSTEM
-static int *tt_Term_Cannot_Scroll = &SLtt_Term_Cannot_Scroll;
-static int *tt_Has_Alt_Charset = &SLtt_Has_Alt_Charset;
-static char **tt_Graphics_Char_Pairs = &SLtt_Graphics_Char_Pairs;
-static int *tt_Use_Blink_For_ACS = &SLtt_Use_Blink_For_ACS;
-#endif
-
-static int Smg_Inited;
-
-static void blank_line (SLsmg_Char_Type *p, int n, unsigned char ch)
-{
- register SLsmg_Char_Type *pmax = p + n;
- register SLsmg_Char_Type color_ch;
-
- color_ch = SLSMG_BUILD_CHAR(ch,This_Color);
-
- while (p < pmax)
- {
- *p++ = color_ch;
- }
-}
-
-static void clear_region (int row, int n)
-{
- int i;
- int imax = row + n;
-
- if (imax > Screen_Rows) imax = Screen_Rows;
- for (i = row; i < imax; i++)
- {
- if (i >= 0)
- {
- blank_line (SL_Screen[i].neew, Screen_Cols, ' ');
- SL_Screen[i].flags |= TOUCHED;
- }
- }
-}
-
-void SLsmg_erase_eol (void)
-{
- int r, c;
-
- if (Smg_Inited == 0) return;
-
- c = This_Col - Start_Col;
- r = This_Row - Start_Row;
-
- if ((r < 0) || (r >= Screen_Rows)) return;
- if (c < 0) c = 0; else if (c >= Screen_Cols) return;
- blank_line (SL_Screen[This_Row].neew + c , Screen_Cols - c, ' ');
- SL_Screen[This_Row].flags |= TOUCHED;
-}
-
-static void scroll_up (void)
-{
- unsigned int i, imax;
- SLsmg_Char_Type *neew;
-
- neew = SL_Screen[0].neew;
- imax = Screen_Rows - 1;
- for (i = 0; i < imax; i++)
- {
- SL_Screen[i].neew = SL_Screen[i + 1].neew;
- SL_Screen[i].flags |= TOUCHED;
- }
- SL_Screen[i].neew = neew;
- SL_Screen[i].flags |= TOUCHED;
- blank_line (neew, Screen_Cols, ' ');
- This_Row--;
-}
-
-void SLsmg_gotorc (int r, int c)
-{
- This_Row = r;
- This_Col = c;
-}
-
-int SLsmg_get_row (void)
-{
- return This_Row;
-}
-
-int SLsmg_get_column (void)
-{
- return This_Col;
-}
-
-void SLsmg_erase_eos (void)
-{
- if (Smg_Inited == 0) return;
-
- SLsmg_erase_eol ();
- clear_region (This_Row + 1, Screen_Rows);
-}
-
-static int This_Alt_Char;
-
-void SLsmg_set_char_set (int i)
-{
-#ifdef IBMPC_SYSTEM
- (void) i;
-#else
- if ((tt_Use_Blink_For_ACS != NULL)
- && (*tt_Use_Blink_For_ACS != 0))
- return;/* alt chars not used and the alt bit
- * is used to indicate a blink.
- */
-
- if (i) This_Alt_Char = ALT_CHAR_FLAG;
- else This_Alt_Char = 0;
-
- This_Color &= 0x7F;
- This_Color |= This_Alt_Char;
-#endif
-}
-
-void SLsmg_set_color (int color)
-{
- if (color < 0) return;
-#ifdef REQUIRES_NON_BCE_SUPPORT
- color += Bce_Color_Offset;
-#endif
- This_Color = color | This_Alt_Char;
-}
-
-void SLsmg_reverse_video (void)
-{
- SLsmg_set_color (1);
-}
-
-void SLsmg_normal_video (void)
-{
- SLsmg_set_color (0);
-}
-
-static int point_visible (int col_too)
-{
- return ((This_Row >= Start_Row) && (This_Row < Start_Row + Screen_Rows)
- && ((col_too == 0)
- || ((This_Col >= Start_Col)
- && (This_Col < Start_Col + Screen_Cols))));
-}
-
-void SLsmg_write_string (char *str)
-{
- SLsmg_write_nchars (str, strlen (str));
-}
-
-void SLsmg_write_nstring (char *str, unsigned int n)
-{
- unsigned int width;
- char blank = ' ';
-
- /* Avoid a problem if a user accidently passes a negative value */
- if ((int) n < 0)
- return;
-
- if (str == NULL) width = 0;
- else
- {
- width = strlen (str);
- if (width > n) width = n;
- SLsmg_write_nchars (str, width);
- }
- while (width++ < n) SLsmg_write_nchars (&blank, 1);
-}
-
-void SLsmg_write_wrapped_string (char *s, int r, int c,
- unsigned int dr, unsigned int dc,
- int fill)
-{
- register char ch, *p;
- int maxc = (int) dc;
-
- if ((dr == 0) || (dc == 0)) return;
- p = s;
- dc = 0;
- while (1)
- {
- ch = *p++;
- if ((ch == 0) || (ch == '\n'))
- {
- int diff;
-
- diff = maxc - (int) dc;
-
- SLsmg_gotorc (r, c);
- SLsmg_write_nchars (s, dc);
- if (fill && (diff > 0))
- {
- while (diff--) SLsmg_write_char (' ');
- }
- if ((ch == 0) || (dr == 1)) break;
-
- r++;
- dc = 0;
- dr--;
- s = p;
- }
- else if ((int) dc == maxc)
- {
- SLsmg_gotorc (r, c);
- SLsmg_write_nchars (s, dc + 1);
- if (dr == 1) break;
-
- r++;
- dc = 0;
- dr--;
- s = p;
- }
- else dc++;
- }
-}
-
-int SLsmg_Tab_Width = 8;
-
-/* Minimum value for which eight bit char is displayed as is. */
-
-#ifndef IBMPC_SYSTEM
-int SLsmg_Display_Eight_Bit = 160;
-static unsigned char Alt_Char_Set[129];/* 129th is used as a flag */
-#else
-int SLsmg_Display_Eight_Bit = 128;
-#endif
-
-void SLsmg_write_nchars (char *str, unsigned int n)
-{
- register SLsmg_Char_Type *p, old, neew, color;
- unsigned char ch;
- unsigned int flags;
- int len, start_len, max_len;
- char *str_max;
- int newline_flag;
-#ifndef IBMPC_SYSTEM
- int alt_char_set_flag;
-
- alt_char_set_flag = ((This_Color & ALT_CHAR_FLAG)
- && ((tt_Use_Blink_For_ACS == NULL)
- || (*tt_Use_Blink_For_ACS == 0)));
-#endif
-
- if (Smg_Inited == 0) return;
-
- str_max = str + n;
- color = This_Color;
-
- top: /* get here only on newline */
-
- newline_flag = 0;
- start_len = Start_Col;
-
- if (point_visible (0) == 0) return;
-
- len = This_Col;
- max_len = start_len + Screen_Cols;
-
- p = SL_Screen[This_Row - Start_Row].neew;
- if (len > start_len) p += (len - start_len);
-
- flags = SL_Screen[This_Row - Start_Row].flags;
- while ((len < max_len) && (str < str_max))
- {
- ch = (unsigned char) *str++;
-
-#ifndef IBMPC_SYSTEM
- if (alt_char_set_flag)
- ch = Alt_Char_Set [ch & 0x7F];
-#endif
- if (((ch >= ' ') && (ch < 127))
- || (ch >= (unsigned char) SLsmg_Display_Eight_Bit)
-#ifndef IBMPC_SYSTEM
- || alt_char_set_flag
-#endif
- )
- {
- len += 1;
- if (len > start_len)
- {
- old = *p;
- neew = SLSMG_BUILD_CHAR(ch,color);
- if (old != neew)
- {
- flags |= TOUCHED;
- *p = neew;
- }
- p++;
- }
- }
-
- else if ((ch == '\t') && (SLsmg_Tab_Width > 0))
- {
- n = len;
- n += SLsmg_Tab_Width;
- n = SLsmg_Tab_Width - (n % SLsmg_Tab_Width);
- if ((unsigned int) len + n > (unsigned int) max_len)
- n = (unsigned int) (max_len - len);
- neew = SLSMG_BUILD_CHAR(' ',color);
- while (n--)
- {
- len += 1;
- if (len > start_len)
- {
- if (*p != neew)
- {
- flags |= TOUCHED;
- *p = neew;
- }
- p++;
- }
- }
- }
- else if ((ch == '\n')
- && (SLsmg_Newline_Behavior != SLSMG_NEWLINE_PRINTABLE))
- {
- newline_flag = 1;
- break;
- }
- else if ((ch == 0x8) && SLsmg_Backspace_Moves)
- {
- if (len != 0) len--;
- }
- else
- {
- if (ch & 0x80)
- {
- neew = SLSMG_BUILD_CHAR('~',color);
- len += 1;
- if (len > start_len)
- {
- if (*p != neew)
- {
- *p = neew;
- flags |= TOUCHED;
- }
- p++;
- if (len == max_len) break;
- ch &= 0x7F;
- }
- }
-
- len += 1;
- if (len > start_len)
- {
- neew = SLSMG_BUILD_CHAR('^',color);
- if (*p != neew)
- {
- *p = neew;
- flags |= TOUCHED;
- }
- p++;
- if (len == max_len) break;
- }
-
- if (ch == 127) ch = '?'; else ch = ch + '@';
- len++;
- if (len > start_len)
- {
- neew = SLSMG_BUILD_CHAR(ch,color);
- if (*p != neew)
- {
- *p = neew;
- flags |= TOUCHED;
- }
- p++;
- }
- }
- }
-
- SL_Screen[This_Row - Start_Row].flags = flags;
- This_Col = len;
-
- if (SLsmg_Newline_Behavior == 0)
- return;
-
- if (newline_flag == 0)
- {
- while (str < str_max)
- {
- if (*str == '\n') break;
- str++;
- }
- if (str == str_max) return;
- str++;
- }
-
- This_Row++;
- This_Col = 0;
- if (This_Row == Start_Row + Screen_Rows)
- {
- if (SLsmg_Newline_Behavior == SLSMG_NEWLINE_SCROLLS) scroll_up ();
- }
- goto top;
-}
-
-void SLsmg_write_char (char ch)
-{
- SLsmg_write_nchars (&ch, 1);
-}
-
-static int Cls_Flag;
-
-void SLsmg_cls (void)
-{
- int tac;
- if (Smg_Inited == 0) return;
-
- tac = This_Alt_Char; This_Alt_Char = 0;
- SLsmg_set_color (0);
- clear_region (0, Screen_Rows);
- This_Alt_Char = tac;
- SLsmg_set_color (0);
- Cls_Flag = 1;
-}
-#if 0
-static void do_copy (SLsmg_Char_Type *a, SLsmg_Char_Type *b)
-{
- SLsmg_Char_Type *amax = a + Screen_Cols;
-
- while (a < amax) *a++ = *b++;
-}
-#endif
-
-#ifndef IBMPC_SYSTEM
-int SLsmg_Scroll_Hash_Border = 0;
-static unsigned long compute_hash (SLsmg_Char_Type *s, int n)
-{
- register unsigned long h = 0, g;
- register unsigned long sum = 0;
- register SLsmg_Char_Type *smax, ch;
- int is_blank = 2;
-
- s += SLsmg_Scroll_Hash_Border;
- smax = s + (n - SLsmg_Scroll_Hash_Border);
- while (s < smax)
- {
- ch = *s++;
- if (is_blank && (SLSMG_EXTRACT_CHAR(ch) != 32)) is_blank--;
-
- sum += ch;
-
- h = sum + (h << 3);
- if ((g = h & 0xE0000000UL) != 0)
- {
- h = h ^ (g >> 24);
- h = h ^ g;
- }
- }
- if (is_blank) return 0;
- return h;
-}
-
-static unsigned long Blank_Hash;
-
-static int try_scroll_down (int rmin, int rmax)
-{
- int i, r1, r2, di, j;
- unsigned long hash;
- int did_scroll;
- int color;
- SLsmg_Char_Type *tmp;
- int ignore;
-
- did_scroll = 0;
- for (i = rmax; i > rmin; i--)
- {
- hash = SL_Screen[i].new_hash;
- if (hash == Blank_Hash) continue;
-
- if ((hash == SL_Screen[i].old_hash)
-#if 0
- || ((i + 1 < Screen_Rows) && (hash == SL_Screen[i + 1].old_hash))
- || ((i - 1 > rmin) && (SL_Screen[i].old_hash == SL_Screen[i - 1].new_hash))
-#endif
- )
- continue;
-
- for (j = i - 1; j >= rmin; j--)
- {
- if (hash == SL_Screen[j].old_hash) break;
- }
- if (j < rmin) continue;
-
- r2 = i; /* end scroll region */
-
- di = i - j;
- j--;
- ignore = 0;
- while ((j >= rmin) && (SL_Screen[j].old_hash == SL_Screen[j + di].new_hash))
- {
- if (SL_Screen[j].old_hash == Blank_Hash) ignore++;
- j--;
- }
- r1 = j + 1;
-
- /* If this scroll only scrolls this line into place, don't do it.
- */
- if ((di > 1) && (r1 + di + ignore == r2)) continue;
-
- /* If there is anything in the scrolling region that is ok, abort the
- * scroll.
- */
-
- for (j = r1; j <= r2; j++)
- {
- if ((SL_Screen[j].old_hash != Blank_Hash)
- && (SL_Screen[j].old_hash == SL_Screen[j].new_hash))
- {
- /* See if the scroll is happens to scroll this one into place. */
- if ((j + di > r2) || (SL_Screen[j].old_hash != SL_Screen[j + di].new_hash))
- break;
- }
- }
- if (j <= r2) continue;
-
- color = This_Color; This_Color = 0;
- did_scroll = 1;
- (*tt_normal_video) ();
- (*tt_set_scroll_region) (r1, r2);
- (*tt_goto_rc) (0, 0);
- (*tt_reverse_index) (di);
- (*tt_reset_scroll_region) ();
- /* Now we have a hole in the screen.
- * Make the virtual screen look like it.
- *
- * Note that if the terminal does not support BCE, then we have
- * no idea what color the hole is. So, for this case, we do not
- * want to add Bce_Color_Offset to This_Color since if Bce_Color_Offset
- * is non-zero, then This_Color = 0 does not match any valid color
- * obtained by adding Bce_Color_Offset.
- */
- for (j = r1; j <= r2; j++) SL_Screen[j].flags = TOUCHED;
-
- while (di--)
- {
- tmp = SL_Screen[r2].old;
- for (j = r2; j > r1; j--)
- {
- SL_Screen[j].old = SL_Screen[j - 1].old;
- SL_Screen[j].old_hash = SL_Screen[j - 1].old_hash;
- }
- SL_Screen[r1].old = tmp;
- blank_line (SL_Screen[r1].old, Screen_Cols, ' ');
- SL_Screen[r1].old_hash = Blank_Hash;
- r1++;
- }
- This_Color = color;
- }
-
- return did_scroll;
-}
-
-static int try_scroll_up (int rmin, int rmax)
-{
- int i, r1, r2, di, j;
- unsigned long hash;
- int did_scroll;
- int color;
- SLsmg_Char_Type *tmp;
- int ignore;
-
- did_scroll = 0;
- for (i = rmin; i < rmax; i++)
- {
- hash = SL_Screen[i].new_hash;
- if (hash == Blank_Hash) continue;
- if (hash == SL_Screen[i].old_hash)
- continue;
- /* find a match further down screen */
- for (j = i + 1; j <= rmax; j++)
- {
- if (hash == SL_Screen[j].old_hash) break;
- }
- if (j > rmax) continue;
-
- r1 = i; /* beg scroll region */
- di = j - i; /* number of lines to scroll */
- j++; /* since we know this is a match */
-
- /* find end of scroll region */
- ignore = 0;
- while ((j <= rmax) && (SL_Screen[j].old_hash == SL_Screen[j - di].new_hash))
- {
- if (SL_Screen[j].old_hash == Blank_Hash) ignore++;
- j++;
- }
- r2 = j - 1; /* end of scroll region */
-
- /* If this scroll only scrolls this line into place, don't do it.
- */
- if ((di > 1) && (r1 + di + ignore == r2)) continue;
-
- /* If there is anything in the scrolling region that is ok, abort the
- * scroll.
- */
-
- for (j = r1; j <= r2; j++)
- {
- if ((SL_Screen[j].old_hash != Blank_Hash)
- && (SL_Screen[j].old_hash == SL_Screen[j].new_hash))
- {
- if ((j - di < r1) || (SL_Screen[j].old_hash != SL_Screen[j - di].new_hash))
- break;
- }
-
- }
- if (j <= r2) continue;
-
- did_scroll = 1;
-
- /* See the above comments about BCE */
- color = This_Color; This_Color = 0;
- (*tt_normal_video) ();
- (*tt_set_scroll_region) (r1, r2);
- (*tt_goto_rc) (0, 0); /* relative to scroll region */
- (*tt_delete_nlines) (di);
- (*tt_reset_scroll_region) ();
- /* Now we have a hole in the screen. Make the virtual screen look
- * like it.
- */
- for (j = r1; j <= r2; j++) SL_Screen[j].flags = TOUCHED;
-
- while (di--)
- {
- tmp = SL_Screen[r1].old;
- for (j = r1; j < r2; j++)
- {
- SL_Screen[j].old = SL_Screen[j + 1].old;
- SL_Screen[j].old_hash = SL_Screen[j + 1].old_hash;
- }
- SL_Screen[r2].old = tmp;
- blank_line (SL_Screen[r2].old, Screen_Cols, ' ');
- SL_Screen[r2].old_hash = Blank_Hash;
- r2--;
- }
- This_Color = color;
- }
- return did_scroll;
-}
-
-static void try_scroll (void)
-{
- int r1, rmin, rmax;
- int num_up, num_down;
- /* find region limits. */
-
- for (rmax = Screen_Rows - 1; rmax > 0; rmax--)
- {
- if (SL_Screen[rmax].new_hash != SL_Screen[rmax].old_hash)
- {
- r1 = rmax - 1;
- if ((r1 == 0)
- || (SL_Screen[r1].new_hash != SL_Screen[r1].old_hash))
- break;
-
- rmax = r1;
- }
- }
-
- for (rmin = 0; rmin < rmax; rmin++)
- {
- if (SL_Screen[rmin].new_hash != SL_Screen[rmin].old_hash)
- {
- r1 = rmin + 1;
- if ((r1 == rmax)
- || (SL_Screen[r1].new_hash != SL_Screen[r1].old_hash))
- break;
-
- rmin = r1;
- }
- }
-
- /* Below, we have two scrolling algorithms. The first has the effect of
- * scrolling lines down. This is usually appropriate when one moves
- * up the display, e.g., with the UP arrow. The second algorithm is
- * appropriate for going the other way. It is important to choose the
- * correct one.
- */
-
- num_up = 0;
- for (r1 = rmin; r1 < rmax; r1++)
- {
- if (SL_Screen[r1].new_hash == SL_Screen[r1 + 1].old_hash)
- num_up++;
- }
-
- num_down = 0;
- for (r1 = rmax; r1 > rmin; r1--)
- {
- if (SL_Screen[r1 - 1].old_hash == SL_Screen[r1].new_hash)
- num_down++;
- }
-
- if (num_up > num_down)
- {
- if (try_scroll_up (rmin, rmax))
- return;
-
- (void) try_scroll_down (rmin, rmax);
- }
- else
- {
- if (try_scroll_down (rmin, rmax))
- return;
-
- (void) try_scroll_up (rmin, rmax);
- }
-}
-#endif /* NOT IBMPC_SYSTEM */
-
-
-#ifdef REQUIRES_NON_BCE_SUPPORT
-static void adjust_colors (void)
-{
- int bce;
- int i;
-
- bce = Bce_Color_Offset;
- Bce_Color_Offset = _SLtt_get_bce_color_offset ();
- if (bce == Bce_Color_Offset)
- return;
-
- if ((tt_Use_Blink_For_ACS != NULL)
- && (*tt_Use_Blink_For_ACS != 0))
- return; /* this mode does not support non-BCE
- * terminals.
- */
-
- for (i = 0; i < Screen_Rows; i++)
- {
- SLsmg_Char_Type *s, *smax;
-
- SL_Screen[i].flags |= TRASHED;
- s = SL_Screen[i].neew;
- smax = s + Screen_Cols;
-
- while (s < smax)
- {
- int color = (int) SLSMG_EXTRACT_COLOR(*s);
- int acs;
-
- if (color < 0)
- {
- s++;
- continue;
- }
-
- acs = color & 0x80;
- color = (color & 0x7F) - bce;
- color += Bce_Color_Offset;
- if (color >= 0)
- {
- unsigned char ch = SLSMG_EXTRACT_CHAR(*s);
- *s = SLSMG_BUILD_CHAR(ch, ((color&0x7F)|acs));
- }
- s++;
- }
- }
-}
-#endif
-
-void SLsmg_refresh (void)
-{
- int i;
-#ifndef IBMPC_SYSTEM
- int trashed = 0;
-#endif
-
- if (Smg_Inited == 0) return;
-
- if (Screen_Trashed)
- {
- Cls_Flag = 1;
- for (i = 0; i < Screen_Rows; i++)
- SL_Screen[i].flags |= TRASHED;
-#ifdef REQUIRES_NON_BCE_SUPPORT
- adjust_colors ();
-#endif
- }
-
-#ifndef IBMPC_SYSTEM
- for (i = 0; i < Screen_Rows; i++)
- {
- if (SL_Screen[i].flags == 0) continue;
- SL_Screen[i].new_hash = compute_hash (SL_Screen[i].neew, Screen_Cols);
- trashed = 1;
- }
-#endif
-
- if (Cls_Flag)
- {
- (*tt_normal_video) (); (*tt_cls) ();
- }
-#ifndef IBMPC_SYSTEM
- else if (trashed && (*tt_Term_Cannot_Scroll == 0)) try_scroll ();
-#endif
-
- for (i = 0; i < Screen_Rows; i++)
- {
- if (SL_Screen[i].flags == 0) continue;
-
- if (Cls_Flag || SL_Screen[i].flags & TRASHED)
- {
- int color = This_Color;
-
- if (Cls_Flag == 0)
- {
- (*tt_goto_rc) (i, 0);
- (*tt_del_eol) ();
- }
- This_Color = 0;
- blank_line (SL_Screen[i].old, Screen_Cols, ' ');
- This_Color = color;
- }
-
- SL_Screen[i].old[Screen_Cols] = 0;
- SL_Screen[i].neew[Screen_Cols] = 0;
-
- (*tt_smart_puts) (SL_Screen[i].neew, SL_Screen[i].old, Screen_Cols, i);
-
- SLMEMCPY ((char *) SL_Screen[i].old, (char *) SL_Screen[i].neew,
- Screen_Cols * sizeof (SLsmg_Char_Type));
-
- SL_Screen[i].flags = 0;
-#ifndef IBMPC_SYSTEM
- SL_Screen[i].old_hash = SL_Screen[i].new_hash;
-#endif
- }
-
- if (point_visible (1)) (*tt_goto_rc) (This_Row - Start_Row, This_Col - Start_Col);
- (*tt_flush_output) ();
- Cls_Flag = 0;
- Screen_Trashed = 0;
-}
-
-static int compute_clip (int row, int n, int box_start, int box_end,
- int *rmin, int *rmax)
-{
- int row_max;
-
- if (n < 0) return 0;
- if (row >= box_end) return 0;
- row_max = row + n;
- if (row_max <= box_start) return 0;
-
- if (row < box_start) row = box_start;
- if (row_max >= box_end) row_max = box_end;
- *rmin = row;
- *rmax = row_max;
- return 1;
-}
-
-void SLsmg_touch_lines (int row, unsigned int n)
-{
- int i;
- int r1, r2;
-
- /* Allow this function to be called even when we are not initialied.
- * Calling this function is useful after calling SLtt_set_color
- * to force the display to be redrawn
- */
-
- if (Smg_Inited == 0)
- return;
-
- if (0 == compute_clip (row, (int) n, Start_Row, Start_Row + Screen_Rows, &r1, &r2))
- return;
-
- r1 -= Start_Row;
- r2 -= Start_Row;
- for (i = r1; i < r2; i++)
- {
- SL_Screen[i].flags |= TRASHED;
- }
-}
-
-void SLsmg_touch_screen (void)
-{
- Screen_Trashed = 1;
-}
-
-
-#ifndef IBMPC_SYSTEM
-static char Fake_Alt_Char_Pairs [] = "a:j+k+l+m+q-t+u+v+w+x|n+`+f\\g#~o,<+>.v-^h#0#";
-
-static void init_alt_char_set (void)
-{
- int i;
- unsigned char *p, *pmax, ch;
-
- if (Alt_Char_Set[128] == 128) return;
-
- i = 32;
- memset ((char *)Alt_Char_Set, ' ', i);
- while (i <= 128)
- {
- Alt_Char_Set [i] = i;
- i++;
- }
-
- /* Map to VT100 */
- if (*tt_Has_Alt_Charset)
- {
- if (tt_Graphics_Char_Pairs == NULL) p = NULL;
- else p = (unsigned char *) *tt_Graphics_Char_Pairs;
- if (p == NULL) return;
- }
- else p = (unsigned char *) Fake_Alt_Char_Pairs;
- pmax = p + strlen ((char *) p);
-
- /* Some systems have messed up entries for this */
- while (p < pmax)
- {
- ch = *p++;
- ch &= 0x7F; /* should be unnecessary */
- Alt_Char_Set [ch] = *p;
- p++;
- }
-}
-#endif
-
-#ifndef IBMPC_SYSTEM
-# define BLOCK_SIGNALS SLsig_block_signals ()
-# define UNBLOCK_SIGNALS SLsig_unblock_signals ()
-#else
-# define BLOCK_SIGNALS (void)0
-# define UNBLOCK_SIGNALS (void)0
-#endif
-
-static int Smg_Suspended;
-int SLsmg_suspend_smg (void)
-{
- BLOCK_SIGNALS;
-
- if (Smg_Suspended == 0)
- {
- (*tt_reset_video) ();
- Smg_Suspended = 1;
- }
-
- UNBLOCK_SIGNALS;
- return 0;
-}
-
-int SLsmg_resume_smg (void)
-{
- BLOCK_SIGNALS;
-
- if (Smg_Suspended == 0)
- {
- UNBLOCK_SIGNALS;
- return 0;
- }
-
- Smg_Suspended = 0;
-
- if (-1 == (*tt_init_video) ())
- {
- UNBLOCK_SIGNALS;
- return -1;
- }
-
- Cls_Flag = 1;
- SLsmg_touch_screen ();
- SLsmg_refresh ();
-
- UNBLOCK_SIGNALS;
- return 0;
-}
-
-
-static void reset_smg (void)
-{
- int i;
- if (Smg_Inited == 0)
- return;
-
- for (i = 0; i < Screen_Rows; i++)
- {
- SLfree ((char *)SL_Screen[i].old);
- SLfree ((char *)SL_Screen[i].neew);
- SL_Screen[i].old = SL_Screen[i].neew = NULL;
- }
- This_Alt_Char = This_Color = 0;
- Smg_Inited = 0;
-}
-
-
-static int init_smg (void)
-{
- int i, len;
- SLsmg_Char_Type *old, *neew;
-
- Smg_Inited = 0;
-
-#ifdef REQUIRES_NON_BCE_SUPPORT
- Bce_Color_Offset = _SLtt_get_bce_color_offset ();
-#endif
-
- Screen_Rows = *tt_Screen_Rows;
- if (Screen_Rows > MAX_SCREEN_SIZE)
- Screen_Rows = MAX_SCREEN_SIZE;
-
- Screen_Cols = *tt_Screen_Cols;
-
- This_Col = This_Row = Start_Col = Start_Row = 0;
-
- This_Alt_Char = 0;
- SLsmg_set_color (0);
- Cls_Flag = 1;
-#ifndef IBMPC_SYSTEM
- init_alt_char_set ();
-#endif
- len = Screen_Cols + 3;
- for (i = 0; i < Screen_Rows; i++)
- {
- if ((NULL == (old = (SLsmg_Char_Type *) SLmalloc (sizeof(SLsmg_Char_Type) * len)))
- || ((NULL == (neew = (SLsmg_Char_Type *) SLmalloc (sizeof(SLsmg_Char_Type) * len)))))
- {
- SLfree ((char *) old);
- return -1;
- }
- blank_line (old, len, ' ');
- blank_line (neew, len, ' ');
- SL_Screen[i].old = old;
- SL_Screen[i].neew = neew;
- SL_Screen[i].flags = 0;
-#ifndef IBMPC_SYSTEM
- Blank_Hash = compute_hash (old, Screen_Cols);
- SL_Screen[i].new_hash = SL_Screen[i].old_hash = Blank_Hash;
-#endif
- }
-
- _SLtt_color_changed_hook = SLsmg_touch_screen;
- Screen_Trashed = 1;
- Smg_Inited = 1;
- return 0;
-}
-
-
-int SLsmg_init_smg (void)
-{
- int ret;
-
- BLOCK_SIGNALS;
-
- if (Smg_Inited)
- SLsmg_reset_smg ();
-
- if (-1 == (*tt_init_video) ())
- {
- UNBLOCK_SIGNALS;
- return -1;
- }
-
- if (-1 == (ret = init_smg ()))
- (void) (*tt_reset_video)();
-
- UNBLOCK_SIGNALS;
- return ret;
-}
-
-int SLsmg_reinit_smg (void)
-{
- int ret;
-
- if (Smg_Inited == 0)
- return SLsmg_init_smg ();
-
- BLOCK_SIGNALS;
- reset_smg ();
- ret = init_smg ();
- UNBLOCK_SIGNALS;
- return ret;
-}
-
-void SLsmg_reset_smg (void)
-{
- if (Smg_Inited == 0)
- return;
-
- BLOCK_SIGNALS;
-
- reset_smg ();
- (*tt_reset_video)();
-
- UNBLOCK_SIGNALS;
-}
-
-SLsmg_Char_Type SLsmg_char_at (void)
-{
- if (Smg_Inited == 0) return 0;
-
- if (point_visible (1))
- {
- return SL_Screen[This_Row - Start_Row].neew[This_Col - Start_Col];
- }
- return 0;
-}
-
-void SLsmg_vprintf (char *fmt, va_list ap)
-{
- char buf[1024];
-
- if (Smg_Inited == 0) return;
-
- (void) _SLvsnprintf (buf, sizeof (buf), fmt, ap);
- SLsmg_write_string (buf);
-}
-
-void SLsmg_printf (char *fmt, ...)
-{
- va_list ap;
- unsigned int len;
- char *f;
-
- if (Smg_Inited == 0) return;
-
- va_start(ap, fmt);
-
- f = fmt;
- while (*f && (*f != '%'))
- f++;
- len = (unsigned int) (f - fmt);
- if (len) SLsmg_write_nchars (fmt, len);
-
- if (*f != 0)
- SLsmg_vprintf (f, ap);
-
- va_end (ap);
-}
-
-void SLsmg_set_screen_start (int *r, int *c)
-{
- int orow = Start_Row, oc = Start_Col;
-
- if (Smg_Inited == 0) return;
-
- if (c == NULL) Start_Col = 0;
- else
- {
- Start_Col = *c;
- *c = oc;
- }
- if (r == NULL) Start_Row = 0;
- else
- {
- Start_Row = *r;
- *r = orow;
- }
-}
-
-void SLsmg_draw_object (int r, int c, unsigned char object)
-{
- This_Row = r; This_Col = c;
-
- if (Smg_Inited == 0) return;
-
- if (point_visible (1))
- {
- int color = This_Color;
- This_Color |= ALT_CHAR_FLAG;
- SLsmg_write_char (object);
- This_Color = color;
- }
-
- This_Col = c + 1;
-}
-
-void SLsmg_draw_hline (unsigned int n)
-{
- static unsigned char hbuf[16];
- int count;
- int cmin, cmax;
- int final_col = This_Col + (int) n;
- int save_color;
-
- if (Smg_Inited == 0) return;
-
- if ((This_Row < Start_Row) || (This_Row >= Start_Row + Screen_Rows)
- || (0 == compute_clip (This_Col, n, Start_Col, Start_Col + Screen_Cols,
- &cmin, &cmax)))
- {
- This_Col = final_col;
- return;
- }
-
- if (hbuf[0] == 0)
- {
- SLMEMSET ((char *) hbuf, SLSMG_HLINE_CHAR, 16);
- }
-
- n = (unsigned int)(cmax - cmin);
- count = n / 16;
-
- save_color = This_Color;
- This_Color |= ALT_CHAR_FLAG;
- This_Col = cmin;
-
- SLsmg_write_nchars ((char *) hbuf, n % 16);
- while (count-- > 0)
- {
- SLsmg_write_nchars ((char *) hbuf, 16);
- }
-
- This_Color = save_color;
- This_Col = final_col;
-}
-
-void SLsmg_draw_vline (int n)
-{
- unsigned char ch = SLSMG_VLINE_CHAR;
- int c = This_Col, rmin, rmax;
- int final_row = This_Row + n;
- int save_color;
-
- if (Smg_Inited == 0) return;
-
- if (((c < Start_Col) || (c >= Start_Col + Screen_Cols)) ||
- (0 == compute_clip (This_Row, n, Start_Row, Start_Row + Screen_Rows,
- &rmin, &rmax)))
- {
- This_Row = final_row;
- return;
- }
-
- save_color = This_Color;
- This_Color |= ALT_CHAR_FLAG;
-
- for (This_Row = rmin; This_Row < rmax; This_Row++)
- {
- This_Col = c;
- SLsmg_write_nchars ((char *) &ch, 1);
- }
-
- This_Col = c; This_Row = final_row;
- This_Color = save_color;
-}
-
-void SLsmg_draw_box (int r, int c, unsigned int dr, unsigned int dc)
-{
- if (Smg_Inited == 0) return;
-
- if (!dr || !dc) return;
- This_Row = r; This_Col = c;
- dr--; dc--;
- SLsmg_draw_hline (dc);
- SLsmg_draw_vline (dr);
- This_Row = r; This_Col = c;
- SLsmg_draw_vline (dr);
- SLsmg_draw_hline (dc);
- SLsmg_draw_object (r, c, SLSMG_ULCORN_CHAR);
- SLsmg_draw_object (r, c + (int) dc, SLSMG_URCORN_CHAR);
- SLsmg_draw_object (r + (int) dr, c, SLSMG_LLCORN_CHAR);
- SLsmg_draw_object (r + (int) dr, c + (int) dc, SLSMG_LRCORN_CHAR);
- This_Row = r; This_Col = c;
-}
-
-void SLsmg_fill_region (int r, int c, unsigned int dr, unsigned int dc, unsigned char ch)
-{
- static unsigned char hbuf[16];
- int count;
- int dcmax, rmax;
-
- if (Smg_Inited == 0) return;
-
- SLsmg_gotorc (r, c);
- r = This_Row; c = This_Col;
-
- dcmax = Screen_Cols - This_Col;
- if (dcmax < 0)
- return;
-
- if (dc > (unsigned int) dcmax) dc = (unsigned int) dcmax;
-
- rmax = This_Row + dr;
- if (rmax > Screen_Rows) rmax = Screen_Rows;
-
-#if 0
- ch = Alt_Char_Set[ch];
-#endif
- if (ch != hbuf[0]) SLMEMSET ((char *) hbuf, (char) ch, 16);
-
- for (This_Row = r; This_Row < rmax; This_Row++)
- {
- This_Col = c;
- count = dc / 16;
- SLsmg_write_nchars ((char *) hbuf, dc % 16);
- while (count-- > 0)
- {
- SLsmg_write_nchars ((char *) hbuf, 16);
- }
- }
-
- This_Row = r;
-}
-
-void SLsmg_forward (int n)
-{
- This_Col += n;
-}
-
-void SLsmg_write_color_chars (SLsmg_Char_Type *s, unsigned int len)
-{
- SLsmg_Char_Type *smax, sh;
- char buf[32], *b, *bmax;
- int color, save_color;
-
- if (Smg_Inited == 0) return;
-
- smax = s + len;
- b = buf;
- bmax = b + sizeof (buf);
-
- save_color = This_Color;
-
- while (s < smax)
- {
- sh = *s++;
-
- color = SLSMG_EXTRACT_COLOR(sh);
-
-#if REQUIRES_NON_BCE_SUPPORT
- if (Bce_Color_Offset)
- {
- if (color & 0x80)
- color = ((color & 0x7F) + Bce_Color_Offset) | 0x80;
- else
- color = ((color & 0x7F) + Bce_Color_Offset) & 0x7F;
- }
-#endif
-
- if ((color != This_Color) || (b == bmax))
- {
- if (b != buf)
- {
- SLsmg_write_nchars (buf, (int) (b - buf));
- b = buf;
- }
- This_Color = color;
- }
- *b++ = (char) SLSMG_EXTRACT_CHAR(sh);
- }
-
- if (b != buf)
- SLsmg_write_nchars (buf, (unsigned int) (b - buf));
-
- This_Color = save_color;
-}
-
-unsigned int SLsmg_read_raw (SLsmg_Char_Type *buf, unsigned int len)
-{
- unsigned int r, c;
-
- if (Smg_Inited == 0) return 0;
-
- if (0 == point_visible (1)) return 0;
-
- r = (unsigned int) (This_Row - Start_Row);
- c = (unsigned int) (This_Col - Start_Col);
-
- if (c + len > (unsigned int) Screen_Cols)
- len = (unsigned int) Screen_Cols - c;
-
- memcpy ((char *) buf, (char *) (SL_Screen[r].neew + c), len * sizeof (SLsmg_Char_Type));
- return len;
-}
-
-unsigned int SLsmg_write_raw (SLsmg_Char_Type *buf, unsigned int len)
-{
- unsigned int r, c;
- SLsmg_Char_Type *dest;
-
- if (Smg_Inited == 0) return 0;
-
- if (0 == point_visible (1)) return 0;
-
- r = (unsigned int) (This_Row - Start_Row);
- c = (unsigned int) (This_Col - Start_Col);
-
- if (c + len > (unsigned int) Screen_Cols)
- len = (unsigned int) Screen_Cols - c;
-
- dest = SL_Screen[r].neew + c;
-
- if (0 != memcmp ((char *) dest, (char *) buf, len * sizeof (SLsmg_Char_Type)))
- {
- memcpy ((char *) dest, (char *) buf, len * sizeof (SLsmg_Char_Type));
- SL_Screen[r].flags |= TOUCHED;
- }
- return len;
-}
-
-void
-SLsmg_set_color_in_region (int color, int r, int c, unsigned int dr, unsigned int dc)
-{
- int cmax, rmax;
- SLsmg_Char_Type char_mask;
-
- if (Smg_Inited == 0) return;
-
- c -= Start_Col;
- r -= Start_Row;
-
- cmax = c + (int) dc;
- rmax = r + (int) dr;
-
- if (cmax > Screen_Cols) cmax = Screen_Cols;
- if (rmax > Screen_Rows) rmax = Screen_Rows;
-
- if (c < 0) c = 0;
- if (r < 0) r = 0;
-
-#if REQUIRES_NON_BCE_SUPPORT
- if (Bce_Color_Offset)
- {
- if (color & 0x80)
- color = ((color & 0x7F) + Bce_Color_Offset) | 0x80;
- else
- color = ((color & 0x7F) + Bce_Color_Offset) & 0x7F;
- }
-#endif
- color = color << 8;
-
- char_mask = 0xFF;
-
-#ifndef IBMPC_SYSTEM
- if ((tt_Use_Blink_For_ACS == NULL)
- || (0 == *tt_Use_Blink_For_ACS))
- char_mask = 0x80FF;
-#endif
-
- while (r < rmax)
- {
- SLsmg_Char_Type *s, *smax;
-
- SL_Screen[r].flags |= TOUCHED;
- s = SL_Screen[r].neew;
- smax = s + cmax;
- s += c;
-
- while (s < smax)
- {
- *s = (*s & char_mask) | color;
- s++;
- }
- r++;
- }
-}
-
-void SLsmg_set_terminal_info (SLsmg_Term_Type *tt)
-{
- if (tt == NULL) /* use default */
- return;
-
- if ((tt->tt_normal_video == NULL)
- || (tt->tt_goto_rc == NULL)
- || (tt->tt_cls == NULL)
- || (tt->tt_del_eol == NULL)
- || (tt->tt_smart_puts == NULL)
- || (tt->tt_flush_output == NULL)
- || (tt->tt_reset_video == NULL)
- || (tt->tt_init_video == NULL)
-#ifndef IBMPC_SYSTEM
- || (tt->tt_set_scroll_region == NULL)
- || (tt->tt_reverse_index == NULL)
- || (tt->tt_reset_scroll_region == NULL)
- || (tt->tt_delete_nlines == NULL)
- /* Variables */
- || (tt->tt_term_cannot_scroll == NULL)
- || (tt->tt_has_alt_charset == NULL)
-#if 0 /* These can be NULL */
- || (tt->tt_use_blink_for_acs == NULL)
- || (tt->tt_graphic_char_pairs == NULL)
-#endif
- || (tt->tt_screen_cols == NULL)
- || (tt->tt_screen_rows == NULL)
-#endif
- )
- SLang_exit_error ("Terminal not powerful enough for SLsmg");
-
- tt_normal_video = tt->tt_normal_video;
- tt_goto_rc = tt->tt_goto_rc;
- tt_cls = tt->tt_cls;
- tt_del_eol = tt->tt_del_eol;
- tt_smart_puts = tt->tt_smart_puts;
- tt_flush_output = tt->tt_flush_output;
- tt_reset_video = tt->tt_reset_video;
- tt_init_video = tt->tt_init_video;
-
-#ifndef IBMPC_SYSTEM
- tt_set_scroll_region = tt->tt_set_scroll_region;
- tt_reverse_index = tt->tt_reverse_index;
- tt_reset_scroll_region = tt->tt_reset_scroll_region;
- tt_delete_nlines = tt->tt_delete_nlines;
-
- tt_Term_Cannot_Scroll = tt->tt_term_cannot_scroll;
- tt_Has_Alt_Charset = tt->tt_has_alt_charset;
- tt_Use_Blink_For_ACS = tt->tt_use_blink_for_acs;
- tt_Graphics_Char_Pairs = tt->tt_graphic_char_pairs;
-#endif
-
- tt_Screen_Cols = tt->tt_screen_cols;
- tt_Screen_Rows = tt->tt_screen_rows;
-}
-
diff --git a/mdk-stage1/slang/slstd.c b/mdk-stage1/slang/slstd.c
deleted file mode 100644
index b05dfcddb..000000000
--- a/mdk-stage1/slang/slstd.c
+++ /dev/null
@@ -1,724 +0,0 @@
-/* -*- mode: C; mode: fold; -*- */
-/* Standard intrinsic functions for S-Lang. Included here are string
- and array operations */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-/*{{{ Include Files */
-
-#include <time.h>
-
-#ifndef __QNX__
-# if defined(__GO32__) || defined(__WATCOMC__)
-# include <dos.h>
-# include <bios.h>
-# endif
-#endif
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-/*}}}*/
-
-/* builtin stack manipulation functions */
-int SLdo_pop(void) /*{{{*/
-{
- return SLdo_pop_n (1);
-}
-
-/*}}}*/
-
-int SLdo_pop_n (unsigned int n)
-{
- SLang_Object_Type x;
-
- while (n--)
- {
- if (SLang_pop(&x)) return -1;
- SLang_free_object (&x);
- }
-
- return 0;
-}
-
-static void do_dup(void) /*{{{*/
-{
- (void) SLdup_n (1);
-}
-
-/*}}}*/
-
-static int length_cmd (void)
-{
- SLang_Class_Type *cl;
- SLang_Object_Type obj;
- VOID_STAR p;
- unsigned int length;
- int len;
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- cl = _SLclass_get_class (obj.data_type);
- p = _SLclass_get_ptr_to_value (cl, &obj);
-
- len = 1;
- if (cl->cl_length != NULL)
- {
- if (0 == (*cl->cl_length)(obj.data_type, p, &length))
- len = (int) length;
- else
- len = -1;
- }
-
- SLang_free_object (&obj);
- return len;
-}
-
-/* convert integer to a string of length 1 */
-static void char_cmd (int *x) /*{{{*/
-{
- char ch, buf[2];
-
- ch = (char) *x;
- buf[0] = ch;
- buf[1] = 0;
- SLang_push_string (buf);
-}
-
-/*}}}*/
-
-/* format object into a string and returns slstring */
-char *_SLstringize_object (SLang_Object_Type *obj) /*{{{*/
-{
- SLang_Class_Type *cl;
- unsigned char stype;
- VOID_STAR p;
- char *s, *s1;
-
- stype = obj->data_type;
- p = (VOID_STAR) &obj->v.ptr_val;
-
- cl = _SLclass_get_class (stype);
-
- s = (*cl->cl_string) (stype, p);
- if (s != NULL)
- {
- s1 = SLang_create_slstring (s);
- SLfree (s);
- s = s1;
- }
- return s;
-}
-/*}}}*/
-
-int SLang_run_hooks(char *hook, unsigned int num_args, ...)
-{
- unsigned int i;
- va_list ap;
-
- if (SLang_Error) return -1;
-
- if (0 == SLang_is_defined (hook))
- return 0;
-
- (void) SLang_start_arg_list ();
- va_start (ap, num_args);
- for (i = 0; i < num_args; i++)
- {
- char *arg;
-
- arg = va_arg (ap, char *);
- if (-1 == SLang_push_string (arg))
- break;
- }
- va_end (ap);
- (void) SLang_end_arg_list ();
-
- if (SLang_Error) return -1;
- return SLang_execute_function (hook);
-}
-
-static void intrin_getenv_cmd (char *s)
-{
- SLang_push_string (getenv (s));
-}
-
-#ifdef HAVE_PUTENV
-static void intrin_putenv (void) /*{{{*/
-{
- char *s;
-
- /* Some putenv implementations required malloced strings. */
- if (SLpop_string(&s)) return;
-
- if (putenv (s))
- {
- SLang_Error = SL_INTRINSIC_ERROR;
- SLfree (s);
- }
-
- /* Note that s is NOT freed */
-}
-
-/*}}}*/
-
-#endif
-
-static void lang_print_stack (void) /*{{{*/
-{
- char buf[32];
- unsigned int n;
-
- n = (unsigned int) (_SLStack_Pointer - _SLRun_Stack);
- while (n)
- {
- n--;
- sprintf (buf, "(%u)", n);
- _SLdump_objects (buf, _SLRun_Stack + n, 1, 1);
- }
-}
-
-/*}}}*/
-
-static void byte_compile_file (char *f, int *m)
-{
- SLang_byte_compile_file (f, *m);
-}
-
-static void intrin_type_info1 (void)
-{
- SLang_Object_Type obj;
- unsigned int type;
-
- if (-1 == SLang_pop (&obj))
- return;
-
- type = obj.data_type;
- if (type == SLANG_ARRAY_TYPE)
- type = obj.v.array_val->data_type;
-
- SLang_free_object (&obj);
-
- _SLang_push_datatype (type);
-}
-
-static void intrin_type_info (void)
-{
- SLang_Object_Type obj;
-
- if (-1 == SLang_pop (&obj))
- return;
-
- _SLang_push_datatype (obj.data_type);
- SLang_free_object (&obj);
-}
-
-void _SLstring_intrinsic (void) /*{{{*/
-{
- SLang_Object_Type x;
- char *s;
-
- if (SLang_pop (&x)) return;
- if (NULL != (s = _SLstringize_object (&x)))
- _SLang_push_slstring (s);
-
- SLang_free_object (&x);
-}
-
-/*}}}*/
-
-static void intrin_typecast (void)
-{
- unsigned char to_type;
- if (0 == _SLang_pop_datatype (&to_type))
- (void) SLclass_typecast (to_type, 0, 1);
-}
-
-#if SLANG_HAS_FLOAT
-static void intrin_double (void)
-{
- (void) SLclass_typecast (SLANG_DOUBLE_TYPE, 0, 1);
-}
-
-#endif
-
-static void intrin_int (void) /*{{{*/
-{
- (void) SLclass_typecast (SLANG_INT_TYPE, 0, 1);
-}
-
-/*}}}*/
-
-static char *
-intrin_function_name (void)
-{
- if (NULL == _SLang_Current_Function_Name)
- return "";
- return _SLang_Current_Function_Name;
-}
-
-static void intrin_message (char *s)
-{
- SLang_vmessage ("%s", s);
-}
-
-static void intrin_error (char *s)
-{
- SLang_verror (SL_USER_ERROR, "%s", s);
-}
-
-static void intrin_pop_n (int *n)
-{
- SLdo_pop_n ((unsigned int) *n);
-}
-
-static void intrin_reverse_stack (int *n)
-{
- SLreverse_stack (*n);
-}
-
-static void intrin_roll_stack (int *n)
-{
- SLroll_stack (*n);
-}
-
-static void usage (void)
-{
- char *msg;
-
- _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1); /* do not include format */
-
- if (-1 == SLang_pop_slstring (&msg))
- return;
-
- SLang_verror (SL_USAGE_ERROR, "Usage: %s", msg);
- SLang_free_slstring (msg);
-}
-
-/* Convert string to integer */
-static int intrin_integer (char *s)
-{
- int i;
-
- i = SLatoi ((unsigned char *) s);
-
- if (SLang_Error)
- SLang_verror (SL_TYPE_MISMATCH, "Unable to convert string to integer");
- return i;
-}
-/*}}}*/
-
-static void guess_type (char *s)
-{
- _SLang_push_datatype (SLang_guess_type(s));
-}
-
-static int load_file (char *s)
-{
- if (-1 == SLang_load_file (s))
- return 0;
- return 1;
-}
-
-static void get_doc_string (char *file, char *topic)
-{
- FILE *fp;
- char line[1024];
- unsigned int topic_len, str_len;
- char *str;
- char ch;
-
- if (NULL == (fp = fopen (file, "r")))
- {
- SLang_push_null ();
- return;
- }
-
- topic_len = strlen (topic);
- ch = *topic;
-
- while (1)
- {
- if (NULL == fgets (line, sizeof(line), fp))
- {
- fclose (fp);
- (void) SLang_push_null ();
- return;
- }
-
- if ((ch == *line)
- && (0 == strncmp (line, topic, topic_len))
- && ((line[topic_len] == '\n') || (line [topic_len] == 0)
- || (line[topic_len] == ' ') || (line[topic_len] == '\t')))
- break;
- }
-
- if (NULL == (str = SLmake_string (line)))
- {
- fclose (fp);
- (void) SLang_push_null ();
- return;
- }
- str_len = strlen (str);
-
- while (NULL != fgets (line, sizeof (line), fp))
- {
- unsigned int len;
- char *new_str;
-
- ch = *line;
- if (ch == '#') continue;
- if (ch == '-') break;
-
- len = strlen (line);
- if (NULL == (new_str = SLrealloc (str, str_len + len + 1)))
- {
- SLfree (str);
- str = NULL;
- break;
- }
- str = new_str;
- strcpy (str + str_len, line);
- str_len += len;
- }
-
- fclose (fp);
-
- (void) SLang_push_malloced_string (str);
-}
-
-static int push_string_array_elements (SLang_Array_Type *at)
-{
- char **strs;
- unsigned int num;
- unsigned int i;
-
- if (at == NULL)
- return -1;
-
- strs = (char **)at->data;
- num = at->num_elements;
- for (i = 0; i < num; i++)
- {
- if (-1 == SLang_push_string (strs[i]))
- {
- SLdo_pop_n (i);
- return -1;
- }
- }
- SLang_push_integer ((int) num);
- return 0;
-}
-
-
-static void intrin_apropos (void)
-{
- int num_args;
- char *pat;
- char *namespace_name;
- unsigned int flags;
- SLang_Array_Type *at;
-
- num_args = SLang_Num_Function_Args;
-
- if (-1 == SLang_pop_uinteger (&flags))
- return;
- if (-1 == SLang_pop_slstring (&pat))
- return;
-
- namespace_name = NULL;
- at = NULL;
- if (num_args == 3)
- {
- if (-1 == SLang_pop_slstring (&namespace_name))
- goto free_and_return;
- }
-
- at = _SLang_apropos (namespace_name, pat, flags);
- if (num_args == 3)
- {
- (void) SLang_push_array (at, 0);
- goto free_and_return;
- }
-
- /* Maintain compatibility with old version of the function. That version
- * did not take three arguments and returned everything to the stack.
- * Yuk.
- */
- (void) push_string_array_elements (at);
-
- free_and_return:
- /* NULLs ok */
- SLang_free_slstring (namespace_name);
- SLang_free_slstring (pat);
- SLang_free_array (at);
-}
-
-static int intrin_get_defines (void)
-{
- int n = 0;
- char **s = _SLdefines;
-
- while (*s != NULL)
- {
- if (-1 == SLang_push_string (*s))
- {
- SLdo_pop_n ((unsigned int) n);
- return -1;
- }
- s++;
- n++;
- }
- return n;
-}
-
-static void intrin_get_reference (char *name)
-{
- _SLang_push_ref (1, (VOID_STAR) _SLlocate_name (name));
-}
-
-#ifdef HAVE_SYS_UTSNAME_H
-# include <sys/utsname.h>
-#endif
-
-static void uname_cmd (void)
-{
-#ifdef HAVE_UNAME
- struct utsname u;
- char *field_names [6];
- unsigned char field_types[6];
- VOID_STAR field_values [6];
- char *ptrs[6];
- int i;
-
- if (-1 == uname (&u))
- (void) SLang_push_null ();
-
- field_names[0] = "sysname"; ptrs[0] = u.sysname;
- field_names[1] = "nodename"; ptrs[1] = u.nodename;
- field_names[2] = "release"; ptrs[2] = u.release;
- field_names[3] = "version"; ptrs[3] = u.version;
- field_names[4] = "machine"; ptrs[4] = u.machine;
-
- for (i = 0; i < 5; i++)
- {
- field_types[i] = SLANG_STRING_TYPE;
- field_values[i] = (VOID_STAR) &ptrs[i];
- }
-
- if (0 == SLstruct_create_struct (5, field_names, field_types, field_values))
- return;
-#endif
-
- SLang_push_null ();
-}
-
-static void uninitialize_ref_intrin (SLang_Ref_Type *ref)
-{
- (void) _SLang_uninitialize_ref (ref);
-}
-
-static SLang_Intrin_Fun_Type SLang_Basic_Table [] = /*{{{*/
-{
- MAKE_INTRINSIC_1("__is_initialized", _SLang_is_ref_initialized, SLANG_INT_TYPE, SLANG_REF_TYPE),
- MAKE_INTRINSIC_S("__get_reference", intrin_get_reference, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_1("__uninitialize", uninitialize_ref_intrin, SLANG_VOID_TYPE, SLANG_REF_TYPE),
- MAKE_INTRINSIC_SS("get_doc_string_from_file", get_doc_string, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SS("autoload", SLang_autoload, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("is_defined", SLang_is_defined, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("string", _SLstring_intrinsic, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("uname", uname_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("getenv", intrin_getenv_cmd, SLANG_VOID_TYPE),
-#ifdef HAVE_PUTENV
- MAKE_INTRINSIC_0("putenv", intrin_putenv, SLANG_VOID_TYPE),
-#endif
- MAKE_INTRINSIC_S("evalfile", load_file, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("char", char_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("eval", SLang_load_string, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("dup", do_dup, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("integer", intrin_integer, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("system", SLsystem, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("_apropos", intrin_apropos, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("_trace_function", _SLang_trace_fun, SLANG_VOID_TYPE),
-#if SLANG_HAS_FLOAT
- MAKE_INTRINSIC_S("atof", _SLang_atof, SLANG_DOUBLE_TYPE),
- MAKE_INTRINSIC_0("double", intrin_double, SLANG_VOID_TYPE),
-#endif
- MAKE_INTRINSIC_0("int", intrin_int, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("typecast", intrin_typecast, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_stkdepth", _SLstack_depth, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("_stk_reverse", intrin_reverse_stack, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("typeof", intrin_type_info, VOID_TYPE),
- MAKE_INTRINSIC_0("_typeof", intrin_type_info1, VOID_TYPE),
- MAKE_INTRINSIC_I("_pop_n", intrin_pop_n, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_print_stack", lang_print_stack, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_I("_stk_roll", intrin_roll_stack, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SI("byte_compile_file", byte_compile_file, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_clear_error", _SLang_clear_error, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_function_name", intrin_function_name, SLANG_STRING_TYPE),
-#if SLANG_HAS_FLOAT
- MAKE_INTRINSIC_S("set_float_format", _SLset_double_format, SLANG_VOID_TYPE),
-#endif
- MAKE_INTRINSIC_S("_slang_guess_type", guess_type, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("error", intrin_error, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("message", intrin_message, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("__get_defined_symbols", intrin_get_defines, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("__pop_args", _SLstruct_pop_args, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_1("__push_args", _SLstruct_push_args, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
- MAKE_INTRINSIC_0("usage", usage, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("implements", _SLang_implements_intrinsic, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("use_namespace", _SLang_use_namespace_intrinsic, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("current_namespace", _SLang_cur_namespace_intrinsic, SLANG_STRING_TYPE),
- MAKE_INTRINSIC_0("length", length_cmd, SLANG_INT_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-/*}}}*/
-
-#ifdef SLANG_DOC_DIR
-char *SLang_Doc_Dir = SLANG_DOC_DIR;
-#else
-char *SLang_Doc_Dir = "";
-#endif
-
-static SLang_Intrin_Var_Type Intrin_Vars[] =
-{
- MAKE_VARIABLE("_debug_info", &_SLang_Compile_Line_Num_Info, SLANG_INT_TYPE, 0),
- MAKE_VARIABLE("_auto_declare", &_SLang_Auto_Declare_Globals, SLANG_INT_TYPE, 0),
- MAKE_VARIABLE("_traceback", &SLang_Traceback, SLANG_INT_TYPE, 0),
- MAKE_VARIABLE("_slangtrace", &_SLang_Trace, SLANG_INT_TYPE, 0),
- MAKE_VARIABLE("_slang_version", &SLang_Version, SLANG_INT_TYPE, 1),
- MAKE_VARIABLE("_slang_version_string", &SLang_Version_String, SLANG_STRING_TYPE, 1),
- MAKE_VARIABLE("_NARGS", &SLang_Num_Function_Args, SLANG_INT_TYPE, 1),
- MAKE_VARIABLE("_slang_doc_dir", &SLang_Doc_Dir, SLANG_STRING_TYPE, 1),
- MAKE_VARIABLE("NULL", NULL, SLANG_NULL_TYPE, 1),
- SLANG_END_INTRIN_VAR_TABLE
-};
-
-int SLang_init_slang (void) /*{{{*/
-{
- char name[3];
- unsigned int i;
- char **s;
- static char *sys_defines [] =
- {
-#if defined(__os2__)
- "OS2",
-#endif
-#if defined(__MSDOS__)
- "MSDOS",
-#endif
-#if defined(__WIN16__)
- "WIN16",
-#endif
-#if defined (__WIN32__)
- "WIN32",
-#endif
-#if defined(__NT__)
- "NT",
-#endif
-#if defined (VMS)
- "VMS",
-#endif
-#ifdef REAL_UNIX_SYSTEM
- "UNIX",
-#endif
-#if SLANG_HAS_FLOAT
- "SLANG_DOUBLE_TYPE",
-#endif
- NULL
- };
-
- if (-1 == _SLregister_types ()) return -1;
-
- if ((-1 == SLadd_intrin_fun_table(SLang_Basic_Table, NULL))
- || (-1 == SLadd_intrin_var_table (Intrin_Vars, NULL))
- || (-1 == _SLang_init_slstrops ())
- || (-1 == _SLang_init_sltime ())
- || (-1 == _SLstruct_init ())
-#if SLANG_HAS_COMPLEX
- || (-1 == _SLinit_slcomplex ())
-#endif
-#if SLANG_HAS_ASSOC_ARRAYS
- || (-1 == SLang_init_slassoc ())
-#endif
- )
- return -1;
-
- SLadd_global_variable (SLANG_SYSTEM_NAME);
-
- s = sys_defines;
- while (*s != NULL)
- {
- if (-1 == SLdefine_for_ifdef (*s)) return -1;
- s++;
- }
-
- /* give temp global variables $0 --> $9 */
- name[2] = 0; name[0] = '$';
- for (i = 0; i < 10; i++)
- {
- name[1] = (char) (i + '0');
- SLadd_global_variable (name);
- }
-
- SLang_init_case_tables ();
-
- /* Now add a couple of macros */
- SLang_load_string (".(_NARGS 1 - Sprintf error)verror");
- SLang_load_string (".(_NARGS 1 - Sprintf message)vmessage");
-
- if (SLang_Error)
- return -1;
-
- return 0;
-}
-
-/*}}}*/
-
-int SLang_set_argc_argv (int argc, char **argv)
-{
- static int this_argc;
- static char **this_argv;
- int i;
-
- if (argc < 0) argc = 0;
- this_argc = argc;
-
- if (NULL == (this_argv = (char **) SLmalloc ((argc + 1) * sizeof (char *))))
- return -1;
- memset ((char *) this_argv, 0, sizeof (char *) * (argc + 1));
-
- for (i = 0; i < argc; i++)
- {
- if (NULL == (this_argv[i] = SLang_create_slstring (argv[i])))
- goto return_error;
- }
-
- if (-1 == SLadd_intrinsic_variable ("__argc", (VOID_STAR)&this_argc,
- SLANG_INT_TYPE, 1))
- goto return_error;
-
- if (-1 == SLang_add_intrinsic_array ("__argv", SLANG_STRING_TYPE, 1,
- (VOID_STAR) this_argv, 1, argc))
- goto return_error;
-
- return 0;
-
- return_error:
- for (i = 0; i < argc; i++)
- SLang_free_slstring (this_argv[i]); /* NULL ok */
- SLfree ((char *) this_argv);
-
- return -1;
-}
diff --git a/mdk-stage1/slang/slstdio.c b/mdk-stage1/slang/slstdio.c
deleted file mode 100644
index 05db1af77..000000000
--- a/mdk-stage1/slang/slstdio.c
+++ /dev/null
@@ -1,1050 +0,0 @@
-/* file stdio intrinsics for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
-# include <sys/types.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_FCNTL_H
-# include <sys/fcntl.h>
-#endif
-
-#ifdef __unix__
-# include <sys/file.h>
-#endif
-
-#if defined(__BORLANDC__)
-# include <io.h>
-# include <dir.h>
-#endif
-
-#if defined(__DECC) && defined(VMS)
-# include <unixio.h>
-# include <unixlib.h>
-#endif
-
-#ifdef VMS
-# include <stat.h>
-#else
-# include <sys/stat.h>
-#endif
-
-#include <errno.h>
-
-#define SL_APP_WANTS_FOREACH
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct
-{
- FILE *fp; /* kind of obvious */
- char *file; /* file name associated with pointer */
-
- unsigned int flags; /* modes, etc... */
-#define SL_READ 0x0001
-#define SL_WRITE 0x0002
-#define SL_BINARY 0x0004
-#define SL_FDOPEN 0x2000
-#define SL_PIPE 0x4000
-#define SL_INUSE 0x8000
-}
-SL_File_Table_Type;
-
-static SL_File_Table_Type *SL_File_Table;
-
-static SL_File_Table_Type *get_free_file_table_entry (void)
-{
- SL_File_Table_Type *t = SL_File_Table, *tmax;
-
- tmax = t + SL_MAX_FILES;
- while (t < tmax)
- {
- if (t->flags == 0)
- {
- memset ((char *) t, 0, sizeof (SL_File_Table_Type));
- return t;
- }
- t++;
- }
-
- return NULL;
-}
-
-static unsigned int file_process_flags (char *mode)
-{
- char ch;
- unsigned int flags = 0;
-
- while (1)
- {
- ch = *mode++;
- switch (ch)
- {
- case 'r': flags |= SL_READ;
- break;
- case 'w':
- case 'a':
- case 'A':
- flags |= SL_WRITE;
- break;
- case '+': flags |= SL_WRITE | SL_READ;
- break;
- case 'b': flags |= SL_BINARY;
- break;
- case 0:
- return flags;
-
- default:
- SLang_verror (SL_INVALID_PARM, "File flag %c is not supported", ch);
- return 0;
- }
- }
-}
-
-static int open_file_type (char *file, int fd, char *mode,
- FILE *(*open_fun)(char *, char *),
- int (*close_fun)(FILE *),
- unsigned int xflags)
-{
- FILE *fp;
- SL_File_Table_Type *t;
- unsigned int flags;
- SLang_MMT_Type *mmt;
-
- fp = NULL;
- t = NULL;
- mmt = NULL;
-
- if ((NULL == (t = get_free_file_table_entry ()))
- || (0 == (flags = file_process_flags(mode))))
- goto return_error;
-
- if (fd != -1)
- fp = fdopen (fd, mode);
- else
- fp = open_fun (file, mode);
-
- if (fp == NULL)
- {
- _SLerrno_errno = errno;
- goto return_error;
- }
-
- if (NULL == (mmt = SLang_create_mmt (SLANG_FILE_PTR_TYPE, (VOID_STAR) t)))
- goto return_error;
-
- t->fp = fp;
- t->flags = flags | xflags;
- fp = NULL; /* allow free_mmt to close fp */
-
- if ((NULL != (t->file = SLang_create_slstring (file)))
- && (0 == SLang_push_mmt (mmt)))
- return 0;
-
- /* drop */
-
- return_error:
- if (fp != NULL) (*close_fun) (fp);
- if (mmt != NULL) SLang_free_mmt (mmt);
- (void) SLang_push_null ();
- return -1;
-}
-
-/* Since some compilers do not have popen/pclose prototyped and in scope,
- * and pc compilers sometimes have silly prototypes involving PASCAL, etc.
- * use wrappers around the function to avoid compilation errors.
- */
-
-static FILE *fopen_fun (char *f, char *m)
-{
- return fopen (f, m);
-}
-static int fclose_fun (FILE *fp)
-{
- return fclose (fp);
-}
-
-static void stdio_fopen (char *file, char *mode)
-{
- (void) open_file_type (file, -1, mode, fopen_fun, fclose_fun, 0);
-}
-
-int _SLstdio_fdopen (char *file, int fd, char *mode)
-{
- if (fd == -1)
- {
- _SLerrno_errno = EBADF;
- (void) SLang_push_null ();
- return -1;
- }
-
- return open_file_type (file, fd, mode, NULL, fclose_fun, SL_FDOPEN);
-}
-
-#ifdef HAVE_POPEN
-static int pclose_fun (FILE *fp)
-{
- return pclose (fp);
-}
-
-static FILE *popen_fun (char *file, char *mode)
-{
- return popen (file, mode);
-}
-
-static void stdio_popen (char *file, char *mode)
-{
- (void) open_file_type (file, -1, mode, popen_fun, pclose_fun, SL_PIPE);
-}
-#endif
-
-/* returns pointer to file entry if it is open and consistent with
- flags. Returns NULL otherwise */
-static SLang_MMT_Type *pop_fp (unsigned int flags, FILE **fp_ptr)
-{
- SL_File_Table_Type *t;
- SLang_MMT_Type *mmt;
-
- *fp_ptr = NULL;
-
- if (NULL == (mmt = SLang_pop_mmt (SLANG_FILE_PTR_TYPE)))
- return NULL;
-
- t = (SL_File_Table_Type *) SLang_object_from_mmt (mmt);
- if ((t->flags & flags)
- && (NULL != (*fp_ptr = t->fp)))
- return mmt;
-
- SLang_free_mmt (mmt);
- return NULL;
-}
-
-static FILE *check_fp (SL_File_Table_Type *t, unsigned flags)
-{
- if ((t != NULL) && (t->flags & flags))
- return t->fp;
-
- return NULL;
-}
-
-char *SLang_get_name_from_fileptr (SLang_MMT_Type *mmt)
-{
- SL_File_Table_Type *ft;
-
- ft = (SL_File_Table_Type *) SLang_object_from_mmt (mmt);
- if (ft == NULL)
- return NULL;
- return ft->file;
-}
-
-int SLang_pop_fileptr (SLang_MMT_Type **mmt, FILE **fp)
-{
- if (NULL == (*mmt = pop_fp (0xFFFF, fp)))
- {
-#ifdef EBADF
- _SLerrno_errno = EBADF;
-#endif
- return -1;
- }
-
- return 0;
-}
-
-static int close_file_type (SL_File_Table_Type *t)
-{
- int ret = 0;
- FILE *fp;
-
- if (t == NULL)
- return -1;
-
- fp = t->fp;
-
- if (NULL == fp) ret = -1;
- else
- {
- if (0 == (t->flags & SL_PIPE))
- {
- if (EOF == (ret = fclose (fp)))
- _SLerrno_errno = errno;
- }
-#ifdef HAVE_POPEN
- else
- {
- if (-1 == (ret = pclose (fp)))
- _SLerrno_errno = errno;
- }
-#endif
- }
-
- if (t->file != NULL) SLang_free_slstring (t->file);
- memset ((char *) t, 0, sizeof (SL_File_Table_Type));
- return ret;
-}
-
-static int stdio_fclose (SL_File_Table_Type *t)
-{
- int ret;
-
- if (NULL == check_fp (t, 0xFFFF))
- return -1;
-
- ret = close_file_type (t);
-
- t->flags = SL_INUSE;
- return ret;
-}
-
-static int read_one_line (FILE *fp, char **strp, unsigned int *lenp)
-{
- char buf[512];
- char *str;
- unsigned int len;
-
- *strp = NULL;
- len = 0;
- str = NULL;
-
- while (NULL != fgets (buf, sizeof (buf), fp))
- {
- unsigned int dlen;
- char *new_str;
- int done_flag;
-
- dlen = strlen (buf);
- /* Note: If the file contains embedded \0 characters, then this
- * fails to work properly since dlen will not be correct.
- */
- done_flag = ((dlen + 1 < sizeof (buf))
- || (buf[dlen - 1] == '\n'));
-
- if (done_flag && (str == NULL))
- {
- /* Avoid the malloc */
- str = buf;
- len = dlen;
- break;
- }
-
- if (NULL == (new_str = SLrealloc (str, len + dlen + 1)))
- {
- SLfree (str);
- return -1;
- }
-
- str = new_str;
- strcpy (str + len, buf);
- len += dlen;
-
- if (done_flag) break;
- }
-
- if (str == NULL)
- return 0;
-
- *strp = SLang_create_nslstring (str, len);
- if (str != buf) SLfree (str);
-
- if (*strp == NULL) return -1;
-
- *lenp = len;
- return 1;
-}
-
-/* returns number of characters read and pushes the string to the stack.
- If it fails, it returns -1 */
-static int stdio_fgets (SLang_Ref_Type *ref, SL_File_Table_Type *t)
-{
- char *s;
- unsigned int len;
- FILE *fp;
- int status;
-
- if (NULL == (fp = check_fp (t, SL_READ)))
- return -1;
-
- status = read_one_line (fp, &s, &len);
- if (status <= 0)
- return -1;
-
- status = SLang_assign_to_ref (ref, SLANG_STRING_TYPE, (VOID_STAR)&s);
- SLang_free_slstring (s);
-
- if (status == -1)
- return -1;
-
- return (int) len;
-}
-
-static void stdio_fgetslines_internal (FILE *fp, unsigned int n)
-{
- unsigned int num_lines, max_num_lines;
- char **list;
- SLang_Array_Type *at;
- int inum_lines;
-
- if (n > 1024)
- max_num_lines = 1024;
- else
- {
- max_num_lines = n;
- if (max_num_lines == 0)
- max_num_lines++;
- }
-
- list = (char **) SLmalloc (sizeof (char *) * max_num_lines);
- if (list == NULL)
- return;
-
- num_lines = 0;
- while (num_lines < n)
- {
- int status;
- char *line;
- unsigned int len;
-
- status = read_one_line (fp, &line, &len);
- if (status == -1)
- goto return_error;
-
- if (status == 0)
- break;
-
- if (max_num_lines == num_lines)
- {
- char **new_list;
-
- if (max_num_lines + 4096 > n)
- max_num_lines = n;
- else
- max_num_lines += 4096;
-
- new_list = (char **) SLrealloc ((char *)list, sizeof (char *) * max_num_lines);
- if (new_list == NULL)
- {
- SLang_free_slstring (line);
- goto return_error;
- }
- list = new_list;
- }
-
- list[num_lines] = line;
- num_lines++;
- }
-
- if (num_lines != max_num_lines)
- {
- char **new_list;
-
- new_list = (char **)SLrealloc ((char *)list, sizeof (char *) * (num_lines + 1));
- if (new_list == NULL)
- goto return_error;
-
- list = new_list;
- }
-
- inum_lines = (int) num_lines;
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) list, &inum_lines, 1)))
- goto return_error;
-
- if (-1 == SLang_push_array (at, 1))
- SLang_push_null ();
- return;
-
- return_error:
- while (num_lines > 0)
- {
- num_lines--;
- SLfree (list[num_lines]);
- }
- SLfree ((char *)list);
- SLang_push_null ();
-}
-
-static void stdio_fgetslines (void)
-{
- unsigned int n;
- FILE *fp;
- SLang_MMT_Type *mmt;
-
- n = (unsigned int)-1;
-
- if (SLang_Num_Function_Args == 2)
- {
- if (-1 == SLang_pop_uinteger (&n))
- return;
- }
-
- if (NULL == (mmt = pop_fp (SL_READ, &fp)))
- {
- SLang_push_null ();
- return;
- }
-
- stdio_fgetslines_internal (fp, n);
- SLang_free_mmt (mmt);
-}
-
-
-static int stdio_fputs (char *s, SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, SL_WRITE)))
- return -1;
-
- if (EOF == fputs(s, fp)) return -1;
- return (int) strlen (s);
-}
-
-static int stdio_fflush (SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, SL_WRITE)))
- return -1;
-
- if (EOF == fflush (fp))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- return 0;
-}
-
-/* Usage: n = fread (&str, data-type, nelems, fp); */
-static void stdio_fread (SLang_Ref_Type *ref, int *data_typep, unsigned int *num_elemns, SL_File_Table_Type *t)
-{
- char *s;
- FILE *fp;
- int ret;
- unsigned int num_read, num_to_read;
- unsigned int nbytes;
- SLang_Class_Type *cl;
- unsigned int sizeof_type;
- int data_type;
-
- ret = -1;
- s = NULL;
- cl = NULL;
-
- if (NULL == (fp = check_fp (t, SL_READ)))
- goto the_return;
-
- /* FIXME: priority = low : I should add some mechanism to support
- * other types.
- */
- data_type = *data_typep;
-
- cl = _SLclass_get_class ((unsigned char) data_type);
-
- if (cl->cl_fread == NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "fread does not support %s objects",
- cl->cl_name);
- goto the_return;
- }
-
- sizeof_type = cl->cl_sizeof_type;
-
- num_to_read = *num_elemns;
- nbytes = (unsigned int) num_to_read * sizeof_type;
-
- s = SLmalloc (nbytes + 1);
- if (s == NULL)
- goto the_return;
-
- ret = cl->cl_fread (data_type, fp, (VOID_STAR)s, num_to_read, &num_read);
-
- if ((num_read == 0)
- && (num_read != num_to_read))
- ret = -1;
-
- if ((ret == -1) && ferror (fp))
- _SLerrno_errno = errno;
-
- if ((ret == 0)
- && (num_read != num_to_read))
- {
- char *new_s;
-
- nbytes = num_read * sizeof_type;
- new_s = SLrealloc (s, nbytes + 1);
- if (new_s == NULL)
- ret = -1;
- else
- s = new_s;
- }
-
- if (ret == 0)
- {
- if (num_read == 1)
- {
- ret = SLang_assign_to_ref (ref, data_type, (VOID_STAR)s);
- SLfree (s);
- }
- else if ((data_type == SLANG_CHAR_TYPE)
- || (data_type == SLANG_UCHAR_TYPE))
- {
- SLang_BString_Type *bs;
-
- bs = SLbstring_create_malloced ((unsigned char *)s, num_read, 1);
- ret = SLang_assign_to_ref (ref, SLANG_BSTRING_TYPE, (VOID_STAR)&bs);
- SLbstring_free (bs);
- }
- else
- {
- SLang_Array_Type *at;
- int inum_read = (int) num_read;
- at = SLang_create_array (data_type, 0, (VOID_STAR)s, &inum_read, 1);
- ret = SLang_assign_to_ref (ref, SLANG_ARRAY_TYPE, (VOID_STAR)&at);
- SLang_free_array (at);
- }
- s = NULL;
- }
-
- the_return:
-
- if (s != NULL)
- SLfree (s);
-
- if (ret == -1)
- SLang_push_integer (ret);
- else
- SLang_push_uinteger (num_read);
-}
-
-/* Usage: n = fwrite (str, fp); */
-static void stdio_fwrite (SL_File_Table_Type *t)
-{
- FILE *fp;
- unsigned char *s;
- unsigned int num_to_write, num_write;
- int ret;
- SLang_BString_Type *b;
- SLang_Array_Type *at;
- SLang_Class_Type *cl;
-
- ret = -1;
- b = NULL;
- at = NULL;
-
- switch (SLang_peek_at_stack ())
- {
- case SLANG_BSTRING_TYPE:
- case SLANG_STRING_TYPE:
- if (-1 == SLang_pop_bstring (&b))
- goto the_return;
-
- if (NULL == (s = SLbstring_get_pointer (b, &num_to_write)))
- goto the_return;
-
- cl = _SLclass_get_class (SLANG_UCHAR_TYPE);
- break;
-
- default:
- if (-1 == SLang_pop_array (&at, 1))
- goto the_return;
-
- cl = at->cl;
- num_to_write = at->num_elements;
- s = (unsigned char *) at->data;
- }
-
- if (NULL == (fp = check_fp (t, SL_WRITE)))
- goto the_return;
-
- if (cl->cl_fwrite == NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "fwrite does not support %s objects", cl->cl_name);
- goto the_return;
- }
-
- ret = cl->cl_fwrite (cl->cl_data_type, fp, s, num_to_write, &num_write);
-
- if ((ret == -1) && ferror (fp))
- _SLerrno_errno = errno;
-
- /* drop */
- the_return:
- if (b != NULL)
- SLbstring_free (b);
- if (at != NULL)
- SLang_free_array (at);
-
- if (ret == -1)
- SLang_push_integer (ret);
- else
- SLang_push_uinteger (num_write);
-}
-
-static int stdio_fseek (SL_File_Table_Type *t, int *ofs, int *whence)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, 0xFFFF)))
- return -1;
-
- if (-1 == fseek (fp, (long) *ofs, *whence))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- return 0;
-}
-
-static int stdio_ftell (SL_File_Table_Type *t)
-{
- FILE *fp;
- long ofs;
-
- if (NULL == (fp = check_fp (t, 0xFFFF)))
- return -1;
-
- if (-1L == (ofs = ftell (fp)))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- return (int) ofs;
-}
-
-static int stdio_feof (SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, 0xFFFF)))
- return -1;
-
- return feof (fp);
-}
-
-static int stdio_ferror (SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, 0xFFFF)))
- return -1;
-
- return ferror (fp);
-}
-
-static void stdio_clearerr (SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL != (fp = check_fp (t, 0xFFFF)))
- clearerr (fp);
-}
-
-/* () = fprintf (fp, "FORMAT", arg...); */
-static int stdio_fprintf (void)
-{
- char *s;
- FILE *fp;
- SLang_MMT_Type *mmt;
- int status;
-
- if (-1 == _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 2))
- return -1;
-
- if (-1 == SLang_pop_slstring (&s))
- return -1;
-
- if (NULL == (mmt = pop_fp (SL_WRITE, &fp)))
- {
- SLang_free_slstring (s);
- return -1;
- }
-
- if (EOF == fputs(s, fp))
- status = -1;
- else
- status = (int) strlen (s);
-
- SLang_free_mmt (mmt);
- SLang_free_slstring (s);
- return status;
-}
-
-static int stdio_printf (void)
-{
- char *s;
- int status;
-
- if (-1 == _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1))
- return -1;
-
- if (-1 == SLang_pop_slstring (&s))
- return -1;
-
- if (EOF == fputs(s, stdout))
- status = -1;
- else
- status = (int) strlen (s);
-
- SLang_free_slstring (s);
- return status;
-}
-
-
-#define F SLANG_FILE_PTR_TYPE
-#define R SLANG_REF_TYPE
-#define I SLANG_INT_TYPE
-#define V SLANG_VOID_TYPE
-#define S SLANG_STRING_TYPE
-#define B SLANG_BSTRING_TYPE
-#define U SLANG_UINT_TYPE
-#define D SLANG_DATATYPE_TYPE
-static SLang_Intrin_Fun_Type Stdio_Name_Table[] =
-{
- MAKE_INTRINSIC_0("fgetslines", stdio_fgetslines, V),
- MAKE_INTRINSIC_SS("fopen", stdio_fopen, V),
- MAKE_INTRINSIC_1("feof", stdio_feof, I, F),
- MAKE_INTRINSIC_1("ferror", stdio_ferror, I, F),
- MAKE_INTRINSIC_1("fclose", stdio_fclose, I, F),
- MAKE_INTRINSIC_2("fgets", stdio_fgets, I, R, F),
- MAKE_INTRINSIC_1("fflush", stdio_fflush, I, F),
- MAKE_INTRINSIC_2("fputs", stdio_fputs, I, S, F),
- MAKE_INTRINSIC_0("fprintf", stdio_fprintf, I),
- MAKE_INTRINSIC_0("printf", stdio_printf, I),
- MAKE_INTRINSIC_3("fseek", stdio_fseek, I, F, I, I),
- MAKE_INTRINSIC_1("ftell", stdio_ftell, I, F),
- MAKE_INTRINSIC_1("clearerr", stdio_clearerr, V, F),
- MAKE_INTRINSIC_4("fread", stdio_fread, V, R, D, U, F),
- MAKE_INTRINSIC_1("fwrite", stdio_fwrite, V, F),
-#ifdef HAVE_POPEN
- MAKE_INTRINSIC_SS("popen", stdio_popen, V),
- MAKE_INTRINSIC_1("pclose", stdio_fclose, I, F),
-#endif
- SLANG_END_INTRIN_FUN_TABLE
-};
-#undef F
-#undef I
-#undef R
-#undef V
-#undef S
-#undef B
-#undef U
-#undef D
-
-#ifndef SEEK_SET
-# define SEEK_SET 0
-#endif
-#ifndef SEEK_CUR
-# define SEEK_CUR 1
-#endif
-#ifndef SEEK_END
-# define SEEK_END 2
-#endif
-
-static SLang_IConstant_Type Stdio_Consts [] =
-{
- MAKE_ICONSTANT("SEEK_SET", SEEK_SET),
- MAKE_ICONSTANT("SEEK_END", SEEK_END),
- MAKE_ICONSTANT("SEEK_CUR", SEEK_CUR),
- SLANG_END_ICONST_TABLE
-};
-
-static void destroy_file_type (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- (void) close_file_type ((SL_File_Table_Type *) ptr);
-}
-
-
-struct _SLang_Foreach_Context_Type
-{
- SLang_MMT_Type *mmt;
- FILE *fp;
-#define CTX_USE_LINE 1
-#define CTX_USE_CHAR 2
- unsigned char type;
-};
-
-
-static SLang_Foreach_Context_Type *
-cl_foreach_open (unsigned char type, unsigned int num)
-{
- SLang_Foreach_Context_Type *c;
- SLang_MMT_Type *mmt;
- FILE *fp;
-
- if (NULL == (mmt = pop_fp (SL_READ, &fp)))
- return NULL;
-
- type = CTX_USE_LINE;
-
- switch (num)
- {
- char *s;
-
- case 0:
- type = CTX_USE_LINE;
- break;
-
- case 1:
- if (-1 == SLang_pop_slstring (&s))
- {
- SLang_free_mmt (mmt);
- return NULL;
- }
- if (0 == strcmp (s, "char"))
- type = CTX_USE_CHAR;
- else if (0 == strcmp (s, "line"))
- type = CTX_USE_LINE;
- else
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "using '%s' not supported by File_Type",
- s);
- SLang_free_slstring (s);
- SLang_free_mmt (mmt);
- return NULL;
- }
- SLang_free_slstring (s);
- break;
-
- default:
- SLdo_pop_n (num);
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Usage: foreach (File_Type) using ([line|char])");
- SLang_free_mmt (mmt);
- return NULL;
- }
-
- if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
- {
- SLang_free_mmt (mmt);
- return NULL;
- }
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
-
- c->type = type;
- c->mmt = mmt;
- c->fp = fp;
-
- return c;
-}
-
-static void cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
- SLang_free_mmt (c->mmt);
- SLfree ((char *) c);
-}
-
-static int cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- int status;
- int ch;
- unsigned int len;
- char *s;
-
- (void) type;
-
- if (c == NULL)
- return -1;
-
- switch (c->type)
- {
- case CTX_USE_CHAR:
- if (EOF == (ch = getc (c->fp)))
- return 0;
- if (-1 == SLang_push_uchar ((unsigned char) ch))
- return -1;
- return 1;
-
- case CTX_USE_LINE:
- status = read_one_line (c->fp, &s, &len);
- if (status <= 0)
- return status;
- if (0 == _SLang_push_slstring (s))
- return 1;
- return -1;
- }
-
- return -1;
-}
-
-static int Stdio_Initialized;
-static SLang_MMT_Type *Stdio_Mmts[3];
-
-int SLang_init_stdio (void)
-{
- unsigned int i;
- SL_File_Table_Type *s;
- SLang_Class_Type *cl;
- char *names[3];
-
- if (Stdio_Initialized)
- return 0;
-
- SL_File_Table = (SL_File_Table_Type *)SLcalloc(sizeof (SL_File_Table_Type), SL_MAX_FILES);
- if (SL_File_Table == NULL)
- return -1;
-
- if (NULL == (cl = SLclass_allocate_class ("File_Type")))
- return -1;
- cl->cl_destroy = destroy_file_type;
- cl->cl_foreach_open = cl_foreach_open;
- cl->cl_foreach_close = cl_foreach_close;
- cl->cl_foreach = cl_foreach;
-
-
- if (-1 == SLclass_register_class (cl, SLANG_FILE_PTR_TYPE, sizeof (SL_File_Table_Type), SLANG_CLASS_TYPE_MMT))
- return -1;
-
- if ((-1 == SLadd_intrin_fun_table(Stdio_Name_Table, "__STDIO__"))
- || (-1 == SLadd_iconstant_table (Stdio_Consts, NULL))
- || (-1 == _SLerrno_init ()))
- return -1;
-
- names[0] = "stdin";
- names[1] = "stdout";
- names[2] = "stderr";
-
- s = SL_File_Table;
- s->fp = stdin; s->flags = SL_READ;
-
- s++;
- s->fp = stdout; s->flags = SL_WRITE;
-
- s++;
- s->fp = stderr; s->flags = SL_WRITE|SL_READ;
-
- s = SL_File_Table;
- for (i = 0; i < 3; i++)
- {
- if (NULL == (s->file = SLang_create_slstring (names[i])))
- return -1;
-
- if (NULL == (Stdio_Mmts[i] = SLang_create_mmt (SLANG_FILE_PTR_TYPE, (VOID_STAR) s)))
- return -1;
- SLang_inc_mmt (Stdio_Mmts[i]);
-
- if (-1 == SLadd_intrinsic_variable (s->file, (VOID_STAR)&Stdio_Mmts[i], SLANG_FILE_PTR_TYPE, 1))
- return -1;
- s++;
- }
-
- Stdio_Initialized = 1;
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slstring.c b/mdk-stage1/slang/slstring.c
deleted file mode 100644
index 529c41827..000000000
--- a/mdk-stage1/slang/slstring.c
+++ /dev/null
@@ -1,546 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct _SLstring_Type
-{
- struct _SLstring_Type *next;
- unsigned int ref_count;
- char bytes [1];
-}
-SLstring_Type;
-
-static SLstring_Type *String_Hash_Table [SLSTRING_HASH_TABLE_SIZE];
-static char Single_Char_Strings [256 * 2];
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
-#define MAX_FREE_STORE_LEN 32
-static SLstring_Type *SLS_Free_Store [MAX_FREE_STORE_LEN];
-
-# define NUM_CACHED_STRINGS 601
-typedef struct
-{
- unsigned long hash;
- SLstring_Type *sls;
- unsigned int len;
-}
-Cached_String_Type;
-static Cached_String_Type Cached_Strings [NUM_CACHED_STRINGS];
-
-#define GET_CACHED_STRING(s) \
- (Cached_Strings + (unsigned int)(((unsigned long) (s)) % NUM_CACHED_STRINGS))
-
-_INLINE_
-static void cache_string (SLstring_Type *sls, unsigned int len, unsigned long hash)
-{
- Cached_String_Type *cs;
-
- cs = GET_CACHED_STRING(sls->bytes);
- cs->sls = sls;
- cs->hash = hash;
- cs->len = len;
-}
-
-_INLINE_
-static void uncache_string (char *s)
-{
- Cached_String_Type *cs;
-
- cs = GET_CACHED_STRING(s);
- if ((cs->sls != NULL)
- && (cs->sls->bytes == s))
- cs->sls = NULL;
-}
-#endif
-
-
-
-_INLINE_
-unsigned long _SLstring_hash (unsigned char *s, unsigned char *smax)
-{
- register unsigned long h = 0;
- register unsigned long sum = 0;
- unsigned char *smax4;
-
- smax4 = smax - 4;
-
- while (s < smax4)
- {
- sum += s[0];
- h = sum + (h << 1);
- sum += s[1];
- h = sum + (h << 1);
- sum += s[2];
- h = sum + (h << 1);
- sum += s[3];
- h = sum + (h << 1);
-
- s += 4;
- }
-
- while (s < smax)
- {
- sum += *s++;
- h ^= sum + (h << 3); /* slightly different */
- }
-
- return h;
-}
-
-unsigned long _SLcompute_string_hash (char *s)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
- SLstring_Type *sls;
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- return cs->hash;
-#endif
- return _SLstring_hash ((unsigned char *) s, (unsigned char *) s + strlen (s));
-}
-
-_INLINE_
-/* This routine works with any (long) string */
-static SLstring_Type *find_string (char *s, unsigned int len, unsigned long hash)
-{
- SLstring_Type *sls;
- char ch;
-
- sls = String_Hash_Table [(unsigned int)(hash % SLSTRING_HASH_TABLE_SIZE)];
-
- if (sls == NULL)
- return NULL;
-
- ch = s[0];
- do
- {
- char *bytes = sls->bytes;
-
- /* Note that we need to actually make sure that bytes[len] == 0.
- * In this case, it is not enough to just compare pointers. In fact,
- * this is called from create_nstring, etc... It is unlikely that the
- * pointer is a slstring
- */
- if ((/* (s == bytes) || */ ((ch == bytes[0])
- && (0 == strncmp (s, bytes, len))))
- && (bytes [len] == 0))
- break;
-
- sls = sls->next;
- }
- while (sls != NULL);
-
- return sls;
-}
-
-_INLINE_
-static SLstring_Type *find_slstring (char *s, unsigned long hash)
-{
- SLstring_Type *sls;
-
- sls = String_Hash_Table [(unsigned int)(hash % SLSTRING_HASH_TABLE_SIZE)];
- while (sls != NULL)
- {
- if (s == sls->bytes)
- return sls;
-
- sls = sls->next;
- }
- return sls;
-}
-
-_INLINE_
-static SLstring_Type *allocate_sls (unsigned int len)
-{
- SLstring_Type *sls;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if ((len < MAX_FREE_STORE_LEN)
- && (NULL != (sls = SLS_Free_Store [len])))
- {
- SLS_Free_Store[len] = NULL;
- return sls;
- }
-#endif
- /* FIXME: use structure padding */
- return (SLstring_Type *) SLmalloc (len + sizeof (SLstring_Type));
-}
-
-_INLINE_
-static void free_sls (SLstring_Type *sls, unsigned int len)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if ((len < MAX_FREE_STORE_LEN)
- && (SLS_Free_Store[len] == NULL))
- {
- SLS_Free_Store [len] = sls;
- return;
- }
-#else
- (void) len;
-#endif
- SLfree ((char *)sls);
-}
-
-_INLINE_
-static char *create_long_string (char *s, unsigned int len, unsigned long hash)
-{
- SLstring_Type *sls;
-
- sls = find_string (s, len, hash);
-
- if (sls != NULL)
- {
- sls->ref_count++;
- s = sls->bytes;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
- return s;
- }
-
- sls = allocate_sls (len);
- if (sls == NULL)
- return NULL;
-
- strncpy (sls->bytes, s, len);
- sls->bytes[len] = 0;
- sls->ref_count = 1;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
-
- hash = hash % SLSTRING_HASH_TABLE_SIZE;
- sls->next = String_Hash_Table [(unsigned int)hash];
- String_Hash_Table [(unsigned int)hash] = sls;
-
- return sls->bytes;
-}
-
-_INLINE_
-static char *create_short_string (char *s, unsigned int len)
-{
- char ch;
-
- /* Note: if len is 0, then it does not matter what *s is. This is
- * important for SLang_create_nslstring.
- */
- if (len) ch = *s; else ch = 0;
-
- len = 2 * (unsigned int) ((unsigned char) ch);
- Single_Char_Strings [len] = ch;
- Single_Char_Strings [len + 1] = 0;
- return Single_Char_Strings + len;
-}
-
-/* s cannot be NULL */
-_INLINE_
-static char *create_nstring (char *s, unsigned int len, unsigned long *hash_ptr)
-{
- unsigned long hash;
-
- if (len < 2)
- return create_short_string (s, len);
-
- hash = _SLstring_hash ((unsigned char *) s, (unsigned char *) (s + len));
- *hash_ptr = hash;
-
- return create_long_string (s, len, hash);
-}
-
-char *SLang_create_nslstring (char *s, unsigned int len)
-{
- unsigned long hash;
- return create_nstring (s, len, &hash);
-}
-
-char *_SLstring_make_hashed_string (char *s, unsigned int len, unsigned long *hashptr)
-{
- unsigned long hash;
-
- if (s == NULL) return NULL;
-
- hash = _SLstring_hash ((unsigned char *) s, (unsigned char *) s + len);
- *hashptr = hash;
-
- if (len < 2)
- return create_short_string (s, len);
-
- return create_long_string (s, len, hash);
-}
-
-char *_SLstring_dup_hashed_string (char *s, unsigned long hash)
-{
- unsigned int len;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
- SLstring_Type *sls;
-
- if (s == NULL) return NULL;
- if (s[0] == 0)
- return create_short_string (s, 0);
- if (s[1] == 0)
- return create_short_string (s, 1);
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- {
- sls->ref_count += 1;
- return s;
- }
-#else
- if (s == NULL) return NULL;
-#endif
-
- len = strlen (s);
-#if !_SLANG_OPTIMIZE_FOR_SPEED
- if (len < 2) return create_short_string (s, len);
-#endif
-
- return create_long_string (s, len, hash);
-}
-
-char *_SLstring_dup_slstring (char *s)
-{
- SLstring_Type *sls;
- unsigned int len;
- unsigned long hash;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- {
- sls->ref_count += 1;
- return s;
- }
-#endif
-
- if ((s == NULL) || ((len = strlen (s)) < 2))
- return s;
-
- hash = _SLstring_hash ((unsigned char *)s, (unsigned char *)(s + len));
-
- sls = find_slstring (s, hash);
- if (sls == NULL)
- {
- SLang_Error = SL_INTERNAL_ERROR;
- return NULL;
- }
-
- sls->ref_count++;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
- return s;
-}
-
-static void free_sls_string (SLstring_Type *sls, char *s, unsigned int len,
- unsigned long hash)
-{
- SLstring_Type *sls1, *prev;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- uncache_string (s);
-#endif
-
- hash = hash % SLSTRING_HASH_TABLE_SIZE;
-
- sls1 = String_Hash_Table [(unsigned int) hash];
-
- prev = NULL;
-
- /* This should not fail. */
- while (sls1 != sls)
- {
- prev = sls1;
- sls1 = sls1->next;
- }
-
- if (prev != NULL)
- prev->next = sls->next;
- else
- String_Hash_Table [(unsigned int) hash] = sls->next;
-
- free_sls (sls, len);
-}
-
-_INLINE_
-static void free_long_string (char *s, unsigned int len, unsigned long hash)
-{
- SLstring_Type *sls;
-
- if (NULL == (sls = find_slstring (s, hash)))
- {
- SLang_doerror ("Application internal error: invalid attempt to free string");
- return;
- }
-
- sls->ref_count--;
- if (sls->ref_count != 0)
- {
-#if _SLANG_OPTIMIZE_FOR_SPEED
- /* cache_string (sls, len, hash); */
-#endif
- return;
- }
-
-
- free_sls_string (sls, s, len, hash);
-}
-
-/* This routine may be passed NULL-- it is not an error. */
-void SLang_free_slstring (char *s)
-{
- unsigned long hash;
- unsigned int len;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
- SLstring_Type *sls;
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- {
- if (sls->ref_count <= 1)
- free_sls_string (sls, s, cs->len, cs->hash);
- else
- sls->ref_count -= 1;
- return;
- }
-#endif
-
- if (s == NULL) return;
-
- if ((len = strlen (s)) < 2)
- return;
-
- hash = _SLstring_hash ((unsigned char *)s, (unsigned char *) s + len);
- free_long_string (s, len, hash);
-}
-
-char *SLang_create_slstring (char *s)
-{
- unsigned long hash;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
- SLstring_Type *sls;
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- {
- sls->ref_count += 1;
- return s;
- }
-#endif
-
- if (s == NULL) return NULL;
- return create_nstring (s, strlen (s), &hash);
-}
-
-void _SLfree_hashed_string (char *s, unsigned int len, unsigned long hash)
-{
- if ((s == NULL) || (len < 2)) return;
- free_long_string (s, len, hash);
-}
-
-
-char *_SLallocate_slstring (unsigned int len)
-{
- SLstring_Type *sls = allocate_sls (len);
- if (sls == NULL)
- return NULL;
-
- return sls->bytes;
-}
-
-void _SLunallocate_slstring (char *s, unsigned int len)
-{
- SLstring_Type *sls;
-
- if (s == NULL)
- return;
-
- sls = (SLstring_Type *) (s - offsetof(SLstring_Type,bytes[0]));
- free_sls (sls, len);
-}
-
-char *_SLcreate_via_alloced_slstring (char *s, unsigned int len)
-{
- unsigned long hash;
- SLstring_Type *sls;
-
- if (s == NULL)
- return NULL;
-
- if (len < 2)
- {
- char *s1 = create_short_string (s, len);
- _SLunallocate_slstring (s, len);
- return s1;
- }
-
- /* s is not going to be in the cache because when it was malloced, its
- * value was unknown. This simplifies the coding.
- */
- hash = _SLstring_hash ((unsigned char *)s, (unsigned char *)s + len);
- sls = find_string (s, len, hash);
- if (sls != NULL)
- {
- sls->ref_count++;
- _SLunallocate_slstring (s, len);
- s = sls->bytes;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
- return s;
- }
-
- sls = (SLstring_Type *) (s - offsetof(SLstring_Type,bytes[0]));
- sls->ref_count = 1;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
-
- hash = hash % SLSTRING_HASH_TABLE_SIZE;
- sls->next = String_Hash_Table [(unsigned int)hash];
- String_Hash_Table [(unsigned int)hash] = sls;
-
- return s;
-}
-
-/* Note, a and b may be ordinary strings. The result is an slstring */
-char *SLang_concat_slstrings (char *a, char *b)
-{
- unsigned int lena, len;
- char *c;
-
- lena = strlen (a);
- len = lena + strlen (b);
-
- c = _SLallocate_slstring (len);
- if (c == NULL)
- return NULL;
-
- strcpy (c, a);
- strcpy (c + lena, b);
-
- return _SLcreate_via_alloced_slstring (c, len);
-}
-
diff --git a/mdk-stage1/slang/slstrops.c b/mdk-stage1/slang/slstrops.c
deleted file mode 100644
index a57ef6389..000000000
--- a/mdk-stage1/slang/slstrops.c
+++ /dev/null
@@ -1,1686 +0,0 @@
-/* -*- mode: C; mode: fold; -*- */
-/* string manipulation functions for S-Lang. */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-/*{{{ Include Files */
-
-#include <time.h>
-
-#ifndef __QNX__
-# if defined(__GO32__) || defined(__WATCOMC__)
-# include <dos.h>
-# include <bios.h>
-# endif
-#endif
-
-#if SLANG_HAS_FLOAT
-#include <math.h>
-#endif
-
-#include <string.h>
-#include <stdarg.h>
-#include <ctype.h>
-
-#ifndef isdigit
-# define isdigit(x) (((x) >= '0') && ((x) <= '9'))
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-/*}}}*/
-
-#define USE_ALLOC_STSTRING 1
-
-/*{{{ Utility Functions */
-
-static char Utility_Char_Table [256];
-static unsigned char WhiteSpace_Lut[256];
-
-static void set_utility_char_table (char *pos) /*{{{*/
-{
- register char *t = Utility_Char_Table, *tmax;
- register unsigned char ch;
-
- tmax = t + 256;
- while (t < tmax) *t++ = 0;
-
- t = Utility_Char_Table;
- while ((ch = (unsigned char) *pos++) != 0) t[ch] = 1;
-}
-
-/*}}}*/
-
-_INLINE_
-static unsigned char *make_whitespace_lut (void)
-{
- if (WhiteSpace_Lut[' '] != 1)
- {
- WhiteSpace_Lut[' '] = WhiteSpace_Lut['\r']
- = WhiteSpace_Lut ['\n'] = WhiteSpace_Lut['\t']
- = WhiteSpace_Lut ['\f'] = 1;
- }
- return WhiteSpace_Lut;
-}
-
-static unsigned char *make_lut (unsigned char *s, unsigned char *lut)
-{
- int reverse = 0;
-
- if (*s == '^')
- {
- reverse = 1;
- s++;
- }
- SLmake_lut (lut, s, reverse);
- return lut;
-}
-
-static unsigned int do_trim (char **beg, int do_beg,
- char **end, int do_end,
- char *white) /*{{{*/
-{
- unsigned int len;
- char *a, *b;
-
- set_utility_char_table (white);
-
- a = *beg;
- len = strlen (a);
- b = a + len;
-
- if (do_beg)
- while (Utility_Char_Table[(unsigned char) *a]) a++;
-
- if (do_end)
- {
- b--;
- while ((b >= a) && (Utility_Char_Table[(unsigned char) *b])) b--;
- b++;
- }
-
- len = (unsigned int) (b - a);
- *beg = a;
- *end = b;
- return len;
-}
-
-/*}}}*/
-
-/*}}}*/
-
-static int pop_3_strings (char **a, char **b, char **c)
-{
- *a = *b = *c = NULL;
- if (-1 == SLpop_string (c))
- return -1;
-
- if (-1 == SLpop_string (b))
- {
- SLfree (*c);
- *c = NULL;
- return -1;
- }
-
- if (-1 == SLpop_string (a))
- {
- SLfree (*b);
- SLfree (*c);
- *b = *c = NULL;
- return -1;
- }
-
- return 0;
-}
-
-static void free_3_strings (char *a, char *b, char *c)
-{
- SLfree (a);
- SLfree (b);
- SLfree (c);
-}
-
-static void strcat_cmd (void) /*{{{*/
-{
- char *c, *c1;
- int nargs;
- int i;
- char **ptrs;
- unsigned int len;
-#if !USE_ALLOC_STSTRING
- char buf[256];
-#endif
- nargs = SLang_Num_Function_Args;
- if (nargs <= 0) nargs = 2;
-
- if (NULL == (ptrs = (char **)SLmalloc (nargs * sizeof (char *))))
- return;
-
- memset ((char *) ptrs, 0, sizeof (char *) * nargs);
-
- c = NULL;
- i = nargs;
- len = 0;
- while (i != 0)
- {
- char *s;
-
- i--;
- if (-1 == SLang_pop_slstring (&s))
- goto free_and_return;
- ptrs[i] = s;
- len += strlen (s);
- }
-#if USE_ALLOC_STSTRING
- if (NULL == (c = _SLallocate_slstring (len)))
- goto free_and_return;
-#else
- len++; /* \0 char */
- if (len <= sizeof (buf))
- c = buf;
- else if (NULL == (c = SLmalloc (len)))
- goto free_and_return;
-#endif
-
- c1 = c;
- for (i = 0; i < nargs; i++)
- {
- strcpy (c1, ptrs[i]);
- c1 += strlen (c1);
- }
-
- free_and_return:
- for (i = 0; i < nargs; i++)
- SLang_free_slstring (ptrs[i]);
- SLfree ((char *) ptrs);
-
-#if USE_ALLOC_STSTRING
- (void) _SLpush_alloced_slstring (c, len);
-#else
- if (c != buf)
- (void) SLang_push_malloced_string (c); /* NULL ok */
- else
- (void) SLang_push_string (c);
-#endif
-}
-
-/*}}}*/
-
-static int _SLang_push_nstring (char *a, unsigned int len)
-{
- a = SLang_create_nslstring (a, len);
- if (a == NULL)
- return -1;
-
- return _SLang_push_slstring (a);
-}
-
-
-static void strtrim_cmd_internal (char *str, int do_beg, int do_end)
-{
- char *beg, *end, *white;
- int free_str;
- unsigned int len;
-
- /* Go through SLpop_string to get a private copy since it will be
- * modified.
- */
-
- free_str = 0;
- if (SLang_Num_Function_Args == 2)
- {
- white = str;
- if (-1 == SLang_pop_slstring (&str))
- return;
- free_str = 1;
- }
- else white = " \t\f\r\n";
-
- beg = str;
- len = do_trim (&beg, do_beg, &end, do_end, white);
-
- (void) _SLang_push_nstring (beg, len);
- if (free_str)
- SLang_free_slstring (str);
-}
-
-
-static void strtrim_cmd (char *str)
-{
- strtrim_cmd_internal (str, 1, 1);
-}
-
-static void strtrim_beg_cmd (char *str)
-{
- strtrim_cmd_internal (str, 1, 0);
-}
-
-static void strtrim_end_cmd (char *str)
-{
- strtrim_cmd_internal (str, 0, 1);
-}
-
-
-static void strcompress_cmd (void) /*{{{*/
-{
- char *str, *white, *c;
- unsigned char *s, *beg, *end;
- unsigned int len;
- char pref_char;
-
- if (SLpop_string (&white)) return;
- if (SLpop_string (&str))
- {
- SLfree (white);
- return;
- }
-
- /* The first character of white is the preferred whitespace character */
- pref_char = *white;
-
- beg = (unsigned char *) str;
- (void) do_trim ((char **) &beg, 1, (char **) &end, 1, white);
- SLfree (white);
-
- /* Determine the effective length */
- len = 0;
- s = (unsigned char *) beg;
- while (s < end)
- {
- len++;
- if (Utility_Char_Table[*s++])
- {
- while ((s < end) && Utility_Char_Table[*s]) s++;
- }
- }
-
-#if USE_ALLOC_STSTRING
- c = _SLallocate_slstring (len);
-#else
- c = SLmalloc (len + 1);
-#endif
- if (c == NULL)
- {
- SLfree (str);
- return;
- }
-
- s = (unsigned char *) c;
-
- while (beg < end)
- {
- unsigned char ch = *beg++;
-
- if (0 == Utility_Char_Table[ch])
- {
- *s++ = ch;
- continue;
- }
-
- *s++ = (unsigned char) pref_char;
-
- while ((beg < end) && Utility_Char_Table[*beg])
- beg++;
- }
-
- *s = 0;
-
-#if USE_ALLOC_STSTRING
- (void) _SLpush_alloced_slstring (c, len);
-#else
- SLang_push_malloced_string(c);
-#endif
-
- SLfree(str);
-}
-
-/*}}}*/
-
-static int str_replace_cmd_1 (char *orig, char *match, char *rep, unsigned int max_num_replaces,
- char **new_strp) /*{{{*/
-{
- char *s, *t, *new_str;
- unsigned int rep_len, match_len, new_len;
- unsigned int num_replaces;
-
- *new_strp = NULL;
-
- match_len = strlen (match);
-
- if (match_len == 0)
- return 0;
-
- num_replaces = 0;
- s = orig;
- while (num_replaces < max_num_replaces)
- {
- s = strstr (s, match);
- if (s == NULL)
- break;
- s += match_len;
- num_replaces++;
- }
-
- if (num_replaces == 0)
- return 0;
-
- max_num_replaces = num_replaces;
-
- rep_len = strlen (rep);
-
- new_len = (strlen (orig) - num_replaces * match_len) + num_replaces * rep_len;
- new_str = SLmalloc (new_len + 1);
- if (new_str == NULL)
- return -1;
-
- s = orig;
- t = new_str;
-
- for (num_replaces = 0; num_replaces < max_num_replaces; num_replaces++)
- {
- char *next_s;
- unsigned int len;
-
- next_s = strstr (s, match); /* cannot be NULL */
- len = (unsigned int) (next_s - s);
- strncpy (t, s, len);
- t += len;
- strcpy (t, rep);
- t += rep_len;
-
- s = next_s + match_len;
- }
- strcpy (t, s);
- *new_strp = new_str;
-
- return (int) num_replaces;
-}
-
-/*}}}*/
-
-static void reverse_string (char *a)
-{
- char *b;
-
- b = a + strlen (a);
- while (b > a)
- {
- char ch;
-
- b--;
- ch = *a;
- *a++ = *b;
- *b = ch;
- }
-}
-
-static int strreplace_cmd (int *np)
-{
- char *orig, *match, *rep;
- char *new_str;
- int max_num_replaces;
- int ret;
-
- max_num_replaces = *np;
-
- if (-1 == pop_3_strings (&orig, &match, &rep))
- return -1;
-
- if (max_num_replaces < 0)
- {
- reverse_string (orig);
- reverse_string (match);
- reverse_string (rep);
- ret = str_replace_cmd_1 (orig, match, rep, -max_num_replaces, &new_str);
- if (ret > 0) reverse_string (new_str);
- else if (ret == 0)
- reverse_string (orig);
- }
- else ret = str_replace_cmd_1 (orig, match, rep, max_num_replaces, &new_str);
-
- if (ret == 0)
- {
- if (-1 == SLang_push_malloced_string (orig))
- ret = -1;
- orig = NULL;
- }
- else if (ret > 0)
- {
- if (-1 == SLang_push_malloced_string (new_str))
- ret = -1;
- }
-
- free_3_strings (orig, match, rep);
- return ret;
-}
-
-static int str_replace_cmd (char *orig, char *match, char *rep)
-{
- char *s;
- int ret;
-
- ret = str_replace_cmd_1 (orig, match, rep, 1, &s);
- if (ret == 1)
- (void) SLang_push_malloced_string (s);
- return ret;
-}
-
-
-
-static void strtok_cmd (char *str)
-{
- _SLString_List_Type sl;
- unsigned char white_buf[256];
- char *s;
- unsigned char *white;
-
- if (SLang_Num_Function_Args == 1)
- white = make_whitespace_lut ();
- else
- {
- white = white_buf;
- make_lut ((unsigned char *)str, white);
- if (-1 == SLang_pop_slstring (&str))
- return;
- }
-
- if (-1 == _SLstring_list_init (&sl, 256, 1024))
- goto the_return;
-
- s = str;
- while (*s != 0)
- {
- char *s0;
-
- s0 = s;
- /* Skip whitespace */
- while ((*s0 != 0) && (0 != white[(unsigned char)*s0]))
- s0++;
-
- if (*s0 == 0)
- break;
-
- s = s0;
- while ((*s != 0) && (0 == white[(unsigned char) *s]))
- s++;
-
- /* sl deleted upon failure */
- if (-1 == _SLstring_list_append (&sl, SLang_create_nslstring (s0, (unsigned int) (s - s0))))
- goto the_return;
- }
-
- /* Deletes sl */
- (void) _SLstring_list_push (&sl);
-
- the_return:
- if (white == white_buf)
- SLang_free_slstring (str);
-}
-
-/* This routine returns the string with text removed between single character
- comment delimiters from the set b and e. */
-
-static void str_uncomment_string_cmd (char *str, char *b, char *e) /*{{{*/
-{
- unsigned char chb, che;
- unsigned char *s, *cbeg, *mark;
-
- if (strlen(b) != strlen(e))
- {
- SLang_doerror ("Comment delimiter length mismatch.");
- return;
- }
-
- set_utility_char_table (b);
-
- if (NULL == (str = (char *) SLmake_string(str))) return;
-
- s = (unsigned char *) str;
-
- while ((chb = *s++) != 0)
- {
- if (Utility_Char_Table [chb] == 0) continue;
-
- mark = s - 1;
-
- cbeg = (unsigned char *) b;
- while (*cbeg != chb) cbeg++;
-
- che = (unsigned char) *(e + (int) (cbeg - (unsigned char *) b));
-
- while (((chb = *s++) != 0) && (chb != che));
-
- if (chb == 0)
- {
- /* end of string and end not found. Just truncate it a return; */
- *mark = 0;
- break;
- }
-
- strcpy ((char *) mark, (char *)s);
- s = mark;
- }
- SLang_push_malloced_string (str);
-}
-
-/*}}}*/
-
-static void str_quote_string_cmd (char *str, char *quotes, int *slash_ptr) /*{{{*/
-{
- char *q;
- int slash;
- unsigned int len;
- register char *t, *s, *q1;
- register unsigned char ch;
-
- slash = *slash_ptr;
-
- if ((slash > 255) || (slash < 0))
- {
- SLang_Error = SL_INVALID_PARM;
- return;
- }
-
- /* setup the utility table to have 1s at quote char postitions. */
- set_utility_char_table (quotes);
-
- t = Utility_Char_Table;
- t[(unsigned int) slash] = 1;
-
- /* calculate length */
- s = str;
- len = 0;
- while ((ch = (unsigned char) *s++) != 0) if (t[ch]) len++;
- len += (unsigned int) (s - str);
-
- if (NULL != (q = SLmalloc(len)))
- {
- s = str; q1 = q;
- while ((ch = (unsigned char) *s++) != 0)
- {
- if (t[ch]) *q1++ = slash;
- *q1++ = (char) ch;
- }
- *q1 = 0;
- SLang_push_malloced_string(q);
- }
-}
-
-/*}}}*/
-
-/* returns the position of substrin in a string or null */
-static int issubstr_cmd (char *a, char *b) /*{{{*/
-{
- char *c;
-
- if (NULL == (c = (char *) strstr(a, b)))
- return 0;
-
- return 1 + (int) (c - a);
-}
-
-/*}}}*/
-
-/* returns to stack string at pos n to n + m of a */
-static void substr_cmd (char *a, int *n_ptr, int *m_ptr) /*{{{*/
-{
- int n, m;
- int lena;
-
- n = *n_ptr;
- m = *m_ptr;
-
- lena = strlen (a);
- if (n > lena) n = lena + 1;
- if (n < 1)
- {
- SLang_Error = SL_INVALID_PARM;
- return;
- }
-
- n--;
- if (m < 0) m = lena;
- if (n + m > lena) m = lena - n;
-
- (void) _SLang_push_nstring (a + n, (unsigned int) m);
-}
-
-/*}}}*/
-
-/* substitute char m at positin string n in string*/
-static void strsub_cmd (int *nptr, int *mptr) /*{{{*/
-{
- char *a;
- int n, m;
- unsigned int lena;
-
- if (-1 == SLpop_string (&a))
- return;
-
- n = *nptr;
- m = *mptr;
-
- lena = strlen (a);
-
- if ((n <= 0) || (lena < (unsigned int) n))
- {
- SLang_Error = SL_INVALID_PARM;
- SLfree(a);
- return;
- }
-
- a[n - 1] = (char) m;
-
- SLang_push_malloced_string (a);
-}
-
-/*}}}*/
-
-static void strup_cmd(void) /*{{{*/
-{
- unsigned char c, *a;
- char *str;
-
- if (SLpop_string (&str))
- return;
-
- a = (unsigned char *) str;
- while ((c = *a) != 0)
- {
- /* if ((*a >= 'a') && (*a <= 'z')) *a -= 32; */
- *a = UPPER_CASE(c);
- a++;
- }
-
- SLang_push_malloced_string (str);
-}
-
-/*}}}*/
-
-static int isdigit_cmd (char *what) /*{{{*/
-{
- return isdigit((unsigned char)*what);
-}
-
-/*}}}*/
-static int toupper_cmd (int *ch) /*{{{*/
-{
- return UPPER_CASE(*ch);
-}
-
-/*}}}*/
-
-static int tolower_cmd (int *ch) /*{{{*/
-{
- return LOWER_CASE(*ch);
-}
-
-/*}}}*/
-
-static void strlow_cmd (void) /*{{{*/
-{
- unsigned char c, *a;
- char *str;
-
- if (SLpop_string(&str)) return;
- a = (unsigned char *) str;
- while ((c = *a) != 0)
- {
- /* if ((*a >= 'a') && (*a <= 'z')) *a -= 32; */
- *a = LOWER_CASE(c);
- a++;
- }
-
- SLang_push_malloced_string ((char *) str);
-}
-
-/*}}}*/
-
-static SLang_Array_Type *do_strchop (char *str, int delim, int quote)
-{
- int count;
- char *s0, *elm;
- register char *s1;
- register unsigned char ch;
- int quoted;
- SLang_Array_Type *at;
- char **data;
-
- if ((quote < 0) || (quote > 255)
- || (delim <= 0) || (delim > 255))
- {
- SLang_Error = SL_INVALID_PARM;
- return NULL;
- }
-
- s1 = s0 = str;
-
- quoted = 0;
- count = 1; /* at least 1 */
- while (1)
- {
- ch = (unsigned char) *s1++;
- if ((ch == quote) && quote)
- {
- if (*s1 == 0)
- break;
-
- s1++;
- continue;
- }
-
- if (ch == delim)
- {
- count++;
- continue;
- }
-
- if (ch == 0)
- break;
- }
-
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &count, 1)))
- return NULL;
-
- data = (char **)at->data;
-
- count = 0;
- s1 = s0;
-
- while (1)
- {
- ch = (unsigned char) *s1;
-
- if ((ch == quote) && quote)
- {
- s1++;
- if (*s1 != 0) s1++;
- quoted = 1;
- continue;
- }
-
- if ((ch == delim) || (ch == 0))
- {
- if (quoted == 0)
- elm = SLang_create_nslstring (s0, (unsigned int) (s1 - s0));
- else
- {
- register char ch1, *p, *p1;
- char *tmp;
-
- tmp = SLmake_nstring (s0, (unsigned int)(s1 - s0));
- if (tmp == NULL)
- break;
-
- /* Now unquote it */
- p = p1 = tmp;
- do
- {
- ch1 = *p1++;
- if (ch1 == '\\') ch1 = *p1++;
- *p++ = ch1;
- }
- while (ch1 != 0);
- quoted = 0;
-
- elm = SLang_create_slstring (tmp);
- SLfree (tmp);
- }
-
- if (elm == NULL)
- break;
-
- data[count] = elm;
- count++;
-
- if (ch == 0)
- return at;
-
- s1++; /* skip past delim */
- s0 = s1; /* and reset */
- }
- else s1++;
- }
-
- SLang_free_array (at);
- return NULL;
-}
-
-static void strchop_cmd (char *str, int *q, int *d)
-{
- (void) SLang_push_array (do_strchop (str, *q, *d), 1);
-}
-
-static void strchopr_cmd (char *str, int *q, int *d)
-{
- SLang_Array_Type *at;
-
- if (NULL != (at = do_strchop (str, *q, *d)))
- {
- char **d0, **d1;
-
- d0 = (char **) at->data;
- d1 = d0 + (at->num_elements - 1);
-
- while (d0 < d1)
- {
- char *tmp;
-
- tmp = *d0;
- *d0 = *d1;
- *d1 = tmp;
- d0++;
- d1--;
- }
- }
- SLang_push_array (at, 1);
-}
-
-static int strcmp_cmd (char *a, char *b) /*{{{*/
-{
- return strcmp(a, b);
-}
-
-/*}}}*/
-
-static int strncmp_cmd (char *a, char *b, int *n) /*{{{*/
-{
- return strncmp(a, b, (unsigned int) *n);
-}
-
-/*}}}*/
-
-static int strlen_cmd (char *s) /*{{{*/
-{
- return (int) strlen (s);
-}
-/*}}}*/
-
-static void extract_element_cmd (char *list, int *nth_ptr, int *delim_ptr)
-{
- char buf[1024], *b;
-
- b = buf;
- if (-1 == SLextract_list_element (list, *nth_ptr, *delim_ptr, buf, sizeof(buf)))
- b = NULL;
-
- SLang_push_string (b);
-}
-
-/* sprintf functionality for S-Lang */
-
-static char *SLdo_sprintf (char *fmt) /*{{{*/
-{
- register char *p = fmt, ch;
- char *out = NULL, *outp = NULL;
- char dfmt[1024]; /* used to hold part of format */
- char *f;
- VOID_STAR varp;
- int want_width, width, precis, use_varp, int_var;
- long long_var;
- unsigned int len = 0, malloc_len = 0, dlen;
- int do_free, guess_size;
-#if SLANG_HAS_FLOAT
- int tmp1, tmp2, use_double;
- double x;
-#endif
- int use_long = 0;
-
- while (1)
- {
- while ((ch = *p) != 0)
- {
- if (ch == '%')
- break;
- p++;
- }
-
- /* p points at '%' or 0 */
-
- dlen = (unsigned int) (p - fmt);
-
- if (len + dlen >= malloc_len)
- {
- malloc_len = len + dlen;
- if (out == NULL) outp = SLmalloc(malloc_len + 1);
- else outp = SLrealloc(out, malloc_len + 1);
- if (NULL == outp)
- return out;
- out = outp;
- outp = out + len;
- }
-
- strncpy(outp, fmt, dlen);
- len += dlen;
- outp = out + len;
- *outp = 0;
- if (ch == 0) break;
-
- /* bump it beyond '%' */
- ++p;
- fmt = p;
-
- f = dfmt;
- *f++ = ch;
- /* handle flag char */
- ch = *p++;
-
- /* Make sure cases such as "% #g" can be handled. */
- if ((ch == '-') || (ch == '+') || (ch == ' ') || (ch == '#'))
- {
- *f++ = ch;
- ch = *p++;
- if ((ch == '-') || (ch == '+') || (ch == ' ') || (ch == '#'))
- {
- *f++ = ch;
- ch = *p++;
- }
- }
-
-
- /* width */
- /* I have got to parse it myself so that I can see how big it needs
- * to be.
- */
- want_width = width = 0;
- if (ch == '*')
- {
- if (SLang_pop_integer(&width)) return (out);
- want_width = 1;
- ch = *p++;
- }
- else
- {
- if (ch == '0')
- {
- *f++ = '0';
- ch = *p++;
- }
-
- while ((ch <= '9') && (ch >= '0'))
- {
- width = width * 10 + (ch - '0');
- ch = *p++;
- want_width = 1;
- }
- }
-
- if (want_width)
- {
- sprintf(f, "%d", width);
- f += strlen (f);
- }
- precis = 0;
- /* precision -- also indicates max number of chars from string */
- if (ch == '.')
- {
- *f++ = ch;
- ch = *p++;
- want_width = 0;
- if (ch == '*')
- {
- if (SLang_pop_integer(&precis)) return (out);
- ch = *p++;
- want_width = 1;
- }
- else while ((ch <= '9') && (ch >= '0'))
- {
- precis = precis * 10 + (ch - '0');
- ch = *p++;
- want_width = 1;
- }
- if (want_width)
- {
- sprintf(f, "%d", precis);
- f += strlen (f);
- }
- else precis = 0;
- }
-
- long_var = 0;
- int_var = 0;
- varp = NULL;
- guess_size = 32;
-#if SLANG_HAS_FLOAT
- use_double = 0;
-#endif
- use_long = 0;
- use_varp = 0;
- do_free = 0;
-
- if (ch == 'l')
- {
- use_long = 1;
- ch = *p++;
- }
- else if (ch == 'h') ch = *p++; /* not supported */
-
- /* Now the actual format specifier */
- switch (ch)
- {
- case 'S':
- _SLstring_intrinsic ();
- ch = 's';
- /* drop */
- case 's':
- if (SLang_pop_slstring((char **) &varp)) return (out);
- do_free = 1;
- guess_size = strlen((char *) varp);
- use_varp = 1;
- break;
-
- case '%':
- guess_size = 1;
- do_free = 0;
- use_varp = 1;
- varp = (VOID_STAR) "%";
- break;
-
- case 'c': guess_size = 1;
- use_long = 0;
- /* drop */
- case 'd':
- case 'i':
- case 'o':
- case 'u':
- case 'X':
- case 'x':
- if (SLang_pop_long (&long_var)) return(out);
- if (use_long == 0)
- int_var = (int) long_var;
- else
- *f++ = 'l';
- break;
-
- case 'f':
- case 'e':
- case 'g':
- case 'E':
- case 'G':
-#if SLANG_HAS_FLOAT
- if (SLang_pop_double(&x, &tmp1, &tmp2)) return (out);
- use_double = 1;
- guess_size = 256;
- (void) tmp1; (void) tmp2;
- use_long = 0;
- break;
-#endif
- case 'p':
- guess_size = 32;
- /* Pointer type?? Why?? */
- if (-1 == SLdo_pop ())
- return out;
- varp = (VOID_STAR) _SLStack_Pointer;
- use_varp = 1;
- use_long = 0;
- break;
-
- default:
- SLang_doerror("Invalid Format.");
- return(out);
- }
- *f++ = ch; *f = 0;
-
- width = width + precis;
- if (width > guess_size) guess_size = width;
-
- if (len + guess_size > malloc_len)
- {
- outp = (char *) SLrealloc(out, len + guess_size + 1);
- if (outp == NULL)
- {
- SLang_Error = SL_MALLOC_ERROR;
- return (out);
- }
- out = outp;
- outp = out + len;
- malloc_len = len + guess_size;
- }
-
- if (use_varp)
- {
- sprintf(outp, dfmt, varp);
- if (do_free) SLang_free_slstring ((char *)varp);
- }
-#if SLANG_HAS_FLOAT
- else if (use_double) sprintf(outp, dfmt, x);
-#endif
- else if (use_long) sprintf (outp, dfmt, long_var);
- else sprintf(outp, dfmt, int_var);
-
- len += strlen(outp);
- outp = out + len;
- fmt = p;
- }
-
- if (out != NULL)
- {
- outp = SLrealloc (out, (unsigned int) (outp - out) + 1);
- if (outp != NULL) out = outp;
- }
-
- return (out);
-}
-
-/*}}}*/
-
-int _SLstrops_do_sprintf_n (int n) /*{{{*/
-{
- char *p;
- char *fmt;
- SLang_Object_Type *ptr;
- int ofs;
-
- if (-1 == (ofs = SLreverse_stack (n + 1)))
- return -1;
-
- ptr = _SLRun_Stack + ofs;
-
- if (SLang_pop_slstring(&fmt))
- return -1;
-
- p = SLdo_sprintf (fmt);
- SLang_free_slstring (fmt);
-
- while (_SLStack_Pointer > ptr)
- SLdo_pop ();
-
- if (SLang_Error)
- {
- SLfree (p);
- return -1;
- }
-
- return SLang_push_malloced_string (p);
-}
-
-/*}}}*/
-
-static void sprintf_n_cmd (int *n)
-{
- _SLstrops_do_sprintf_n (*n);
-}
-
-static void sprintf_cmd (void)
-{
- _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1); /* do not include format */
-}
-
-/* converts string s to a form that can be used in an eval */
-static void make_printable_string(char *s) /*{{{*/
-{
- unsigned int len;
- register char *s1 = s, ch, *ss1;
- char *ss;
-
- /* compute length */
- len = 3;
- while ((ch = *s1++) != 0)
- {
- if ((ch == '\n') || (ch == '\\') || (ch == '"')) len++;
- len++;
- }
-
- if (NULL == (ss = SLmalloc(len)))
- return;
-
- s1 = s;
- ss1 = ss;
- *ss1++ = '"';
- while ((ch = *s1++) != 0)
- {
- if (ch == '\n')
- {
- ch = 'n';
- *ss1++ = '\\';
- }
- else if ((ch == '\\') || (ch == '"'))
- {
- *ss1++ = '\\';
- }
- *ss1++ = ch;
- }
- *ss1++ = '"';
- *ss1 = 0;
- if (-1 == SLang_push_string (ss))
- SLfree (ss);
-}
-
-/*}}}*/
-
-static int is_list_element_cmd (char *list, char *elem, int *d_ptr)
-{
- char ch;
- int d, n;
- unsigned int len;
- char *lbeg, *lend;
-
- d = *d_ptr;
-
- len = strlen (elem);
-
- n = 1;
- lend = list;
-
- while (1)
- {
- lbeg = lend;
- while ((0 != (ch = *lend)) && (ch != (char) d)) lend++;
-
- if ((lbeg + len == lend)
- && (0 == strncmp (elem, lbeg, len)))
- break;
-
- if (ch == 0)
- {
- n = 0;
- break;
- }
- lend++; /* skip delim */
- n++;
- }
-
- return n;
-}
-
-/*}}}*/
-
-/* Regular expression routines for strings */
-static SLRegexp_Type regexp_reg;
-
-static int string_match_cmd (char *str, char *pat, int *nptr) /*{{{*/
-{
- int n;
- unsigned int len;
- unsigned char rbuf[512], *match;
-
- n = *nptr;
-
- regexp_reg.case_sensitive = 1;
- regexp_reg.buf = rbuf;
- regexp_reg.pat = (unsigned char *) pat;
- regexp_reg.buf_len = sizeof (rbuf);
-
- if (SLang_regexp_compile (&regexp_reg))
- {
- SLang_verror (SL_INVALID_PARM, "Unable to compile pattern");
- return -1;
- }
-
- n--;
- len = strlen(str);
- if ((n < 0) || ((unsigned int) n >= len))
- {
- /* SLang_Error = SL_INVALID_PARM; */
- return 0;
- }
-
- str += n;
- len -= n;
-
- if (NULL == (match = SLang_regexp_match((unsigned char *) str, len, &regexp_reg)))
- return 0;
-
- /* adjust offsets */
- regexp_reg.offset = n;
-
- return (1 + (int) ((char *) match - str));
-}
-
-/*}}}*/
-
-static int string_match_nth_cmd (int *nptr) /*{{{*/
-{
- int n, beg;
-
- n = *nptr;
-
- if ((n < 0) || (n > 9) || (regexp_reg.pat == NULL)
- || ((beg = regexp_reg.beg_matches[n]) == -1))
- {
- SLang_Error = SL_INVALID_PARM;
- return -1;
- }
- SLang_push_integer(beg + regexp_reg.offset);
- return regexp_reg.end_matches[n];
-}
-
-/*}}}*/
-
-static char *create_delimited_string (char **list, unsigned int n,
- char *delim)
-{
- unsigned int len, dlen;
- unsigned int i;
- unsigned int num;
- char *str, *s;
-
- len = 1; /* allow room for \0 char */
- num = 0;
- for (i = 0; i < n; i++)
- {
- if (list[i] == NULL) continue;
- len += strlen (list[i]);
- num++;
- }
-
- dlen = strlen (delim);
- if (num > 1)
- len += (num - 1) * dlen;
-
- if (NULL == (str = SLmalloc (len)))
- return NULL;
-
- *str = 0;
- s = str;
- i = 0;
-
- while (num > 1)
- {
- while (list[i] == NULL)
- i++;
-
- strcpy (s, list[i]);
- s += strlen (list[i]);
- strcpy (s, delim);
- s += dlen;
- i++;
- num--;
- }
-
- if (num)
- {
- while (list[i] == NULL)
- i++;
-
- strcpy (s, list[i]);
- }
-
- return str;
-}
-
-static void create_delimited_string_cmd (int *nptr)
-{
- unsigned int n, i;
- char **strings;
- char *str;
-
- str = NULL;
-
- n = 1 + (unsigned int) *nptr; /* n includes delimiter */
-
- if (NULL == (strings = (char **)SLmalloc (n * sizeof (char *))))
- {
- SLdo_pop_n (n);
- return;
- }
- memset((char *)strings, 0, n * sizeof (char *));
-
- i = n;
- while (i != 0)
- {
- i--;
- if (-1 == SLang_pop_slstring (strings + i))
- goto return_error;
- }
-
- str = create_delimited_string (strings + 1, (n - 1), strings[0]);
- /* drop */
- return_error:
- for (i = 0; i < n; i++) SLang_free_slstring (strings[i]);
- SLfree ((char *)strings);
-
- (void) SLang_push_malloced_string (str); /* NULL Ok */
-}
-
-static void strjoin_cmd (char *delim)
-{
- SLang_Array_Type *at;
- char *str;
-
- if (-1 == SLang_pop_array_of_type (&at, SLANG_STRING_TYPE))
- return;
-
- str = create_delimited_string ((char **)at->data, at->num_elements, delim);
- SLang_free_array (at);
- (void) SLang_push_malloced_string (str); /* NULL Ok */
-}
-
-static void str_delete_chars_cmd (char *s, char *d)
-{
- unsigned char lut[256];
- unsigned char *s1, *s2;
- unsigned char ch;
-
- make_lut ((unsigned char *)d, lut);
- if (NULL == (s = SLmake_string (s)))
- return;
-
- s1 = s2 = (unsigned char *) s;
- while ((ch = *s2++) != 0)
- {
- if (0 == lut[ch])
- *s1++ = ch;
- }
- *s1 = 0;
-
- (void) SLang_push_malloced_string (s);
-}
-
-static unsigned char *make_lut_string (unsigned char *s)
-{
- unsigned char lut[256];
- unsigned char *l;
- unsigned int i;
-
- /* Complement-- a natural order is imposed */
- make_lut (s, lut);
- l = lut;
- for (i = 1; i < 256; i++)
- {
- if (lut[i])
- *l++ = (unsigned char) i;
- }
- *l = 0;
- return (unsigned char *) SLmake_string ((char *)lut);
-}
-
-static unsigned char *make_str_range (unsigned char *s)
-{
- unsigned char *s1, *range;
- unsigned int num;
- unsigned char ch;
- int len;
-
- if (*s == '^')
- return make_lut_string (s);
-
- num = 0;
- s1 = s;
- while ((ch = *s1++) != 0)
- {
- unsigned char ch1;
-
- ch1 = *s1;
- if (ch1 == '-')
- {
- s1++;
- ch1 = *s1;
- len = (int)ch1 - (int)ch;
- if (len < 0)
- len = -len;
-
- num += (unsigned int) len;
- if (ch1 != 0)
- s1++;
- }
-
- num++;
- }
-
- range = (unsigned char *)SLmalloc (num + 1);
- if (range == NULL)
- return NULL;
-
- s1 = s;
- s = range;
- while ((ch = *s1++) != 0)
- {
- unsigned char ch1;
- unsigned int i;
-
- ch1 = *s1;
- if (ch1 != '-')
- {
- *s++ = ch;
- continue;
- }
-
- s1++;
- ch1 = *s1;
-
- if (ch > ch1)
- {
- if (ch1 == 0)
- ch1 = 1;
-
- for (i = (unsigned int) ch; i >= (unsigned int) ch1; i--)
- *s++ = (unsigned char) i;
-
- if (*s1 == 0)
- break;
- }
- else
- {
- for (i = (unsigned int) ch; i <= (unsigned int) ch1; i++)
- *s++ = (unsigned char) i;
- }
- s1++;
- }
-
-#if 0
- if (range + num != s)
- SLang_verror (SL_INTERNAL_ERROR, "make_str_range: num wrong");
-#endif
- *s = 0;
-
- return range;
-}
-
-static void strtrans_cmd (char *s, unsigned char *from, unsigned char *to)
-{
- unsigned char map[256];
- char *s1;
- unsigned int i;
- unsigned char ch;
- unsigned char last_to;
- unsigned char *from_range, *to_range;
-
- for (i = 0; i < 256; i++) map[i] = (unsigned char) i;
-
- if (*to == 0)
- {
- str_delete_chars_cmd (s, (char *)from);
- return;
- }
-
- from_range = make_str_range (from);
- if (from_range == NULL)
- return;
- to_range = make_str_range (to);
- if (to_range == NULL)
- {
- SLfree ((char *)from_range);
- return;
- }
-
- from = from_range;
- to = to_range;
-
- last_to = 0;
- while ((ch = *from++) != 0)
- {
- unsigned char to_ch;
-
- if (0 == (to_ch = *to++))
- {
- do
- {
- map[ch] = last_to;
- }
- while (0 != (ch = *from++));
- break;
- }
-
- last_to = map[ch] = to_ch;
- }
-
- SLfree ((char *)from_range);
- SLfree ((char *)to_range);
-
- s = SLmake_string (s);
- if (s == NULL)
- return;
-
- s1 = s;
- while ((ch = (unsigned char) *s1) != 0)
- *s1++ = (char) map[ch];
-
- (void) SLang_push_malloced_string (s);
-}
-
-
-static SLang_Intrin_Fun_Type Strops_Table [] = /*{{{*/
-{
- MAKE_INTRINSIC_I("create_delimited_string", create_delimited_string_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SS("strcmp", strcmp_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SSI("strncmp", strncmp_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("strcat", strcat_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strlen", strlen_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SII("strchop", strchop_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SII("strchopr", strchopr_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_I("strreplace", strreplace_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SSS("str_replace", str_replace_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SII("substr", substr_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SS("is_substr", issubstr_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_II("strsub", strsub_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SII("extract_element", extract_element_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SSI("is_list_element", is_list_element_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SSI("string_match", string_match_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("string_match_nth", string_match_nth_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("strlow", strlow_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_I("tolower", tolower_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("toupper", toupper_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("strup", strup_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("isdigit", isdigit_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("strtrim", strtrim_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strtrim_end", strtrim_end_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strtrim_beg", strtrim_beg_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("strcompress", strcompress_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_I("Sprintf", sprintf_n_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("sprintf", sprintf_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("sscanf", _SLang_sscanf, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("make_printable_string", make_printable_string, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SSI("str_quote_string", str_quote_string_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SSS("str_uncomment_string", str_uncomment_string_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_II("define_case", SLang_define_case, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strtok", strtok_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strjoin", strjoin_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SSS("strtrans", strtrans_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SS("str_delete_chars", str_delete_chars_cmd, SLANG_VOID_TYPE),
-
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-/*}}}*/
-
-int _SLang_init_slstrops (void)
-{
- return SLadd_intrin_fun_table (Strops_Table, NULL);
-}
diff --git a/mdk-stage1/slang/slstruct.c b/mdk-stage1/slang/slstruct.c
deleted file mode 100644
index 33d182373..000000000
--- a/mdk-stage1/slang/slstruct.c
+++ /dev/null
@@ -1,932 +0,0 @@
-/* Structure type implementation */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#define SL_APP_WANTS_FOREACH
-#include "slang.h"
-#include "_slang.h"
-
-void _SLstruct_delete_struct (_SLang_Struct_Type *s)
-{
- _SLstruct_Field_Type *field, *field_max;
-
- if (s == NULL) return;
-
- if (s->num_refs > 1)
- {
- s->num_refs -= 1;
- return;
- }
-
- field = s->fields;
- if (field != NULL)
- {
- field_max = field + s->nfields;
-
- while (field < field_max)
- {
- SLang_free_object (&field->obj);
- SLang_free_slstring (field->name); /* could be NULL */
- field++;
- }
- SLfree ((char *) s->fields);
- }
- SLfree ((char *) s);
-}
-
-static _SLang_Struct_Type *allocate_struct (unsigned int nfields)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- unsigned int i, size;
-
- s = (_SLang_Struct_Type *) SLmalloc (sizeof (_SLang_Struct_Type));
- if (s == NULL) return NULL;
-
- SLMEMSET((char *) s, 0, sizeof (_SLang_Struct_Type));
-
- size = nfields * sizeof(_SLstruct_Field_Type);
- if (NULL == (f = (_SLstruct_Field_Type *) SLmalloc (size)))
- {
- SLfree ((char *) s);
- return NULL;
- }
- SLMEMSET ((char *) f, 0, size);
- s->nfields = nfields;
- s->fields = f;
-
- /* By default, all structs will be created with elements set to NULL. I
- * do not know whether or not it is better to use SLANG_UNDEFINED_TYPE.
- */
- for (i = 0; i < nfields; i++)
- f[i].obj.data_type = SLANG_NULL_TYPE;
-
- return s;
-}
-
-static int push_struct_of_type (unsigned char type, _SLang_Struct_Type *s)
-{
- SLang_Object_Type obj;
-
- obj.data_type = type;
- obj.v.struct_val = s;
- s->num_refs += 1;
-
- if (0 == SLang_push (&obj))
- return 0;
-
- s->num_refs -= 1;
- return -1;
-}
-
-int _SLang_push_struct (_SLang_Struct_Type *s)
-{
- return push_struct_of_type (SLANG_STRUCT_TYPE, s);
-}
-
-int _SLang_pop_struct (_SLang_Struct_Type **sp)
-{
- SLang_Object_Type obj;
- SLang_Class_Type *cl;
- unsigned char type;
-
- if (0 != SLang_pop (&obj))
- return -1;
-
- type = obj.data_type;
- if (type != SLANG_STRUCT_TYPE)
- {
- cl = _SLclass_get_class (type);
- if (cl->cl_struct_def == NULL)
- {
- *sp = NULL;
- SLang_free_object (&obj);
- SLang_verror (SL_TYPE_MISMATCH,
- "Expecting struct type object. Found %s",
- cl->cl_name);
- return -1;
- }
- }
-
- *sp = obj.v.struct_val;
- return 0;
-}
-
-static void struct_destroy (unsigned char type, VOID_STAR vs)
-{
- (void) type;
- _SLstruct_delete_struct (*(_SLang_Struct_Type **) vs);
-}
-
-static int struct_push (unsigned char type, VOID_STAR ptr)
-{
- return push_struct_of_type (type, *(_SLang_Struct_Type **) ptr);
-}
-
-static _SLstruct_Field_Type *find_field (_SLang_Struct_Type *s, char *name)
-{
- _SLstruct_Field_Type *f, *fmax;
-
- f = s->fields;
- fmax = f + s->nfields;
-
- while (f < fmax)
- {
- /* Since both these are slstrings, only compare pointer */
- if (name == f->name)
- return f;
-
- f++;
- }
-
- return NULL;
-}
-
-static _SLstruct_Field_Type *pop_field (_SLang_Struct_Type *s, char *name)
-{
- _SLstruct_Field_Type *f;
-
- f = find_field (s, name);
- if (f == NULL)
- SLang_verror (SL_SYNTAX_ERROR, "struct has no field named %s", name);
- return f;
-}
-
-int SLstruct_create_struct (unsigned int nfields,
- char **field_names,
- unsigned char *field_types,
- VOID_STAR *field_values)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- unsigned int i;
-
- if (NULL == (s = allocate_struct (nfields)))
- return -1;
-
- f = s->fields;
- for (i = 0; i < nfields; i++)
- {
- unsigned char type;
- SLang_Class_Type *cl;
- VOID_STAR value;
- char *name = field_names [i];
-
- if (name == NULL)
- {
- SLang_verror (SL_INVALID_PARM, "A struct field name cannot be NULL");
- goto return_error;
- }
-
- if (NULL == (f->name = SLang_create_slstring (name)))
- goto return_error;
-
- if ((field_values == NULL)
- || (NULL == (value = field_values [i])))
- {
- f++;
- continue;
- }
-
- type = field_types[i];
- cl = _SLclass_get_class (type);
-
- if ((-1 == (cl->cl_push (type, value)))
- || (-1 == SLang_pop (&f->obj)))
- goto return_error;
-
- f++;
- }
-
- if (0 == _SLang_push_struct (s))
- return 0;
- /* drop */
-
- return_error:
- _SLstruct_delete_struct (s);
- return -1;
-}
-
-/* Interpreter interface */
-
-int _SLstruct_define_struct (void)
-{
- int nfields;
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
-
- if (-1 == SLang_pop_integer (&nfields))
- return -1;
-
- if (nfields <= 0)
- {
- SLang_verror (SL_INVALID_PARM, "Number of struct fields must be > 0");
- return -1;
- }
-
- if (NULL == (s = allocate_struct (nfields)))
- return -1;
-
- f = s->fields;
- while (nfields)
- {
- char *name;
-
- nfields--;
- if (-1 == SLang_pop_slstring (&name))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
- f[nfields].name = name;
- }
-
- if (-1 == _SLang_push_struct (s))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
- return 0;
-}
-
-/* Simply make a struct that contains the same fields as struct s. Do not
- * duplicate the field values.
- */
-static _SLang_Struct_Type *make_struct_shell (_SLang_Struct_Type *s)
-{
- _SLang_Struct_Type *new_s;
- _SLstruct_Field_Type *new_f, *old_f;
- unsigned int i, nfields;
-
- nfields = s->nfields;
- if (NULL == (new_s = allocate_struct (nfields)))
- return NULL;
-
- new_f = new_s->fields;
- old_f = s->fields;
-
- for (i = 0; i < nfields; i++)
- {
- if (NULL == (new_f[i].name = SLang_create_slstring (old_f[i].name)))
- {
- _SLstruct_delete_struct (new_s);
- return NULL;
- }
- }
- return new_s;
-}
-
-static int struct_init_array_object (unsigned char type, VOID_STAR addr)
-{
- SLang_Class_Type *cl;
- _SLang_Struct_Type *s;
-
- cl = _SLclass_get_class (type);
- if (NULL == (s = make_struct_shell (cl->cl_struct_def)))
- return -1;
-
- s->num_refs = 1;
- *(_SLang_Struct_Type **) addr = s;
- return 0;
-}
-
-static int
-typedefed_struct_datatype_deref (unsigned char type)
-{
- SLang_Class_Type *cl;
- _SLang_Struct_Type *s;
-
- cl = _SLclass_get_class (type);
- if (NULL == (s = make_struct_shell (cl->cl_struct_def)))
- return -1;
-
- if (-1 == push_struct_of_type (type, s))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- return 0;
-}
-
-static _SLang_Struct_Type *duplicate_struct (_SLang_Struct_Type *s)
-{
- _SLang_Struct_Type *new_s;
- _SLstruct_Field_Type *new_f, *f, *fmax;
-
- new_s = make_struct_shell (s);
-
- if (new_s == NULL)
- return NULL;
-
- f = s->fields;
- fmax = f + s->nfields;
- new_f = new_s->fields;
-
- while (f < fmax)
- {
- SLang_Object_Type *obj;
-
- obj = &f->obj;
- if (obj->data_type != SLANG_UNDEFINED_TYPE)
- {
- if ((-1 == _SLpush_slang_obj (obj))
- || (-1 == SLang_pop (&new_f->obj)))
- {
- _SLstruct_delete_struct (new_s);
- return NULL;
- }
- }
- new_f++;
- f++;
- }
-
- return new_s;
-}
-
-static int struct_dereference (unsigned char type, VOID_STAR addr)
-{
- _SLang_Struct_Type *s;
-
- if (NULL == (s = duplicate_struct (*(_SLang_Struct_Type **) addr)))
- return -1;
-
- if (-1 == push_struct_of_type (type, s))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- return 0;
-}
-
-/*{{{ foreach */
-
-struct _SLang_Foreach_Context_Type
-{
- _SLang_Struct_Type *s;
- char *next_field_name;
-};
-
-static SLang_Foreach_Context_Type *
-struct_foreach_open (unsigned char type, unsigned int num)
-{
- SLang_Foreach_Context_Type *c;
- _SLang_Struct_Type *s;
- char *next_name;
-
- (void) type;
-
- if (-1 == _SLang_pop_struct (&s))
- return NULL;
-
- switch (num)
- {
- case 0:
- next_name = SLang_create_slstring ("next");
- break;
-
- case 1:
- if (-1 == SLang_pop_slstring (&next_name))
- next_name = NULL;
- break;
-
- default:
- next_name = NULL;
- SLang_verror (SL_NOT_IMPLEMENTED,
- "'foreach (Struct_Type) using' requires single control value");
- SLdo_pop_n (num);
- break;
- }
-
- if (next_name == NULL)
- {
- _SLstruct_delete_struct (s);
- return NULL;
- }
-
- c = (SLang_Foreach_Context_Type *)SLmalloc (sizeof (SLang_Foreach_Context_Type));
- if (c == NULL)
- {
- _SLstruct_delete_struct (s);
- SLang_free_slstring (next_name);
- return NULL;
- }
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
-
- c->next_field_name = next_name;
- c->s = s;
-
- return c;
-}
-
-static void struct_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
-
- SLang_free_slstring (c->next_field_name);
- if (c->s != NULL) _SLstruct_delete_struct (c->s);
- SLfree ((char *) c);
-}
-
-static int struct_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- _SLstruct_Field_Type *f;
- _SLang_Struct_Type *next_s;
-
- (void) type;
-
- if (c == NULL)
- return -1;
-
- if (c->s == NULL)
- return 0; /* done */
-
- if (-1 == _SLang_push_struct (c->s))
- return -1;
-
- /* Now get the next one ready for the next foreach loop */
-
- next_s = NULL;
- if (NULL != (f = find_field (c->s, c->next_field_name)))
- {
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (f->obj.data_type);
- /* Note that I cannot simply look for SLANG_STRUCT_TYPE since the
- * user may have typedefed another struct type. So, look at the
- * class methods.
- */
- if (cl->cl_foreach_open == struct_foreach_open)
- {
- next_s = f->obj.v.struct_val;
- next_s->num_refs += 1;
- }
- }
-
- _SLstruct_delete_struct (c->s);
- c->s = next_s;
-
- /* keep going */
- return 1;
-}
-
-/*}}}*/
-
-static int struct_sput (unsigned char type, char *name)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- SLang_Object_Type obj;
-
- (void) type;
-
- if (-1 == _SLang_pop_struct (&s))
- return -1;
-
- if ((NULL == (f = pop_field (s, name)))
- || (-1 == SLang_pop (&obj)))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- SLang_free_object (&f->obj);
- f->obj = obj;
- _SLstruct_delete_struct (s);
- return 0;
-}
-
-static int struct_sget (unsigned char type, char *name)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- int ret;
-
- (void) type;
-
- if (-1 == _SLang_pop_struct (&s))
- return -1;
-
- if (NULL == (f = pop_field (s, name)))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- ret = _SLpush_slang_obj (&f->obj);
- _SLstruct_delete_struct (s);
- return ret;
-}
-
-static int struct_typecast
- (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- _SLang_Struct_Type **a, **b;
- unsigned int i;
-
- (void) a_type;
- (void) b_type;
-
- a = (_SLang_Struct_Type **) ap;
- b = (_SLang_Struct_Type **) bp;
- for (i = 0; i < na; i++)
- {
- b[i] = a[i];
- if (a[i] != NULL)
- a[i]->num_refs += 1;
- }
-
- return 1;
-}
-
-int _SLstruct_define_typedef (void)
-{
- char *type_name;
- _SLang_Struct_Type *s, *s1;
- SLang_Class_Type *cl;
-
- if (-1 == SLang_pop_slstring (&type_name))
- return -1;
-
- if (-1 == _SLang_pop_struct (&s))
- {
- SLang_free_slstring (type_name);
- return -1;
- }
-
- if (NULL == (s1 = make_struct_shell (s)))
- {
- SLang_free_slstring (type_name);
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- _SLstruct_delete_struct (s);
-
- if (NULL == (cl = SLclass_allocate_class (type_name)))
- {
- SLang_free_slstring (type_name);
- _SLstruct_delete_struct (s1);
- return -1;
- }
- SLang_free_slstring (type_name);
-
- cl->cl_struct_def = s1;
- cl->cl_init_array_object = struct_init_array_object;
- cl->cl_datatype_deref = typedefed_struct_datatype_deref;
- cl->cl_destroy = struct_destroy;
- cl->cl_push = struct_push;
- cl->cl_dereference = struct_dereference;
- cl->cl_foreach_open = struct_foreach_open;
- cl->cl_foreach_close = struct_foreach_close;
- cl->cl_foreach = struct_foreach;
-
- cl->cl_sget = struct_sget;
- cl->cl_sput = struct_sput;
-
- if (-1 == SLclass_register_class (cl,
- SLANG_VOID_TYPE, /* any open slot */
- sizeof (_SLang_Struct_Type),
- SLANG_CLASS_TYPE_PTR))
- {
- /* FIXME: Priority=low */
- /* There is a memory leak here if this fails... */
- return -1;
- }
- /* Note: typecast from a user type struct type allowed but not the other
- * way.
- */
- if (-1 == SLclass_add_typecast (cl->cl_data_type, SLANG_STRUCT_TYPE, struct_typecast, 1))
- return -1;
-
- return 0;
-}
-
-static int
-struct_datatype_deref (unsigned char stype)
-{
- (void) stype;
-
- if (SLang_peek_at_stack () == SLANG_ARRAY_TYPE)
- {
- SLang_Array_Type *at;
- int status;
-
- if (-1 == SLang_pop_array_of_type (&at, SLANG_STRING_TYPE))
- return -1;
-
- status = SLstruct_create_struct (at->num_elements,
- (char **) at->data, NULL, NULL);
-
- SLang_free_array (at);
- return status;
- }
-
- SLang_push_integer (SLang_Num_Function_Args);
- return _SLstruct_define_struct ();
-}
-
-static int register_struct (void)
-{
- SLang_Class_Type *cl;
-
- if (NULL == (cl = SLclass_allocate_class ("Struct_Type")))
- return -1;
-
- (void) SLclass_set_destroy_function (cl, struct_destroy);
- (void) SLclass_set_push_function (cl, struct_push);
- cl->cl_dereference = struct_dereference;
- cl->cl_datatype_deref = struct_datatype_deref;
-
- cl->cl_foreach_open = struct_foreach_open;
- cl->cl_foreach_close = struct_foreach_close;
- cl->cl_foreach = struct_foreach;
-
- cl->cl_sget = struct_sget;
- cl->cl_sput = struct_sput;
-
- if (-1 == SLclass_register_class (cl, SLANG_STRUCT_TYPE, sizeof (_SLang_Struct_Type),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- return 0;
-}
-
-static void get_struct_field_names (_SLang_Struct_Type *s)
-{
- SLang_Array_Type *a;
- char **data;
- int i, nfields;
- _SLstruct_Field_Type *f;
-
- nfields = (int) s->nfields;
-
- if (NULL == (a = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &nfields, 1)))
- return;
-
- f = s->fields;
- data = (char **) a->data;
- for (i = 0; i < nfields; i++)
- {
- /* Since we are dealing with hashed strings, the next call should not
- * fail. If it does, the interpreter will handle it at some other
- * level.
- */
- data [i] = SLang_create_slstring (f[i].name);
- }
-
- SLang_push_array (a, 1);
-}
-
-static int push_struct_fields (_SLang_Struct_Type *s)
-{
- _SLstruct_Field_Type *f, *fmax;
- int num;
-
- f = s->fields;
- fmax = f + s->nfields;
-
- num = 0;
- while (fmax > f)
- {
- fmax--;
- if (-1 == _SLpush_slang_obj (&fmax->obj))
- break;
-
- num++;
- }
-
- return num;
-}
-
-/* Syntax: set_struct_field (s, name, value); */
-static void struct_set_field (void)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- SLang_Object_Type obj;
- char *name;
-
- if (-1 == SLang_pop (&obj))
- return;
-
- if (-1 == SLang_pop_slstring (&name))
- {
- SLang_free_object (&obj);
- return;
- }
-
- if (-1 == _SLang_pop_struct (&s))
- {
- SLang_free_slstring (name);
- SLang_free_object (&obj);
- return;
- }
-
- if (NULL == (f = pop_field (s, name)))
- {
- _SLstruct_delete_struct (s);
- SLang_free_slstring (name);
- SLang_free_object (&obj);
- return;
- }
-
- SLang_free_object (&f->obj);
- f->obj = obj;
-
- _SLstruct_delete_struct (s);
- SLang_free_slstring (name);
-}
-
-/* Syntax: set_struct_fields (s, values....); */
-static void set_struct_fields (void)
-{
- unsigned int n;
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
-
- n = (unsigned int) SLang_Num_Function_Args;
-
- if (-1 == SLreverse_stack (n))
- return;
-
- n--;
- if (-1 == _SLang_pop_struct (&s))
- {
- SLdo_pop_n (n);
- return;
- }
-
- if (n > s->nfields)
- {
- SLdo_pop_n (n);
- SLang_verror (SL_INVALID_PARM, "Too many values for structure");
- _SLstruct_delete_struct (s);
- return;
- }
-
- f = s->fields;
- while (n > 0)
- {
- SLang_Object_Type obj;
-
- if (-1 == SLang_pop (&obj))
- break;
-
- SLang_free_object (&f->obj);
- f->obj = obj;
-
- f++;
- n--;
- }
-
- _SLstruct_delete_struct (s);
-}
-
-static void get_struct_field (char *name)
-{
- (void) struct_sget (0, name);
-}
-
-static int is_struct_type (void)
-{
- SLang_Object_Type obj;
- unsigned char type;
- int status;
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- type = obj.data_type;
- if (type == SLANG_STRUCT_TYPE)
- status = 1;
- else
- status = (NULL != _SLclass_get_class (type)->cl_struct_def);
- SLang_free_object (&obj);
- return status;
-}
-
-
-static SLang_Intrin_Fun_Type Struct_Table [] =
-{
- MAKE_INTRINSIC_1("get_struct_field_names", get_struct_field_names, SLANG_VOID_TYPE, SLANG_STRUCT_TYPE),
- MAKE_INTRINSIC_1("get_struct_field", get_struct_field, SLANG_VOID_TYPE, SLANG_STRING_TYPE),
- MAKE_INTRINSIC_1("_push_struct_field_values", push_struct_fields, SLANG_INT_TYPE, SLANG_STRUCT_TYPE),
- MAKE_INTRINSIC_0("set_struct_field", struct_set_field, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("set_struct_fields", set_struct_fields, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("is_struct_type", is_struct_type, SLANG_INT_TYPE),
- /* MAKE_INTRINSIC_I("_create_struct", create_struct, SLANG_VOID_TYPE), */
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int _SLstruct_init (void)
-{
- if ((-1 == SLadd_intrin_fun_table (Struct_Table, NULL))
- || (-1 == register_struct ()))
- return -1;
-
- return 0;
-}
-
-void _SLstruct_pop_args (int *np)
-{
- SLang_Array_Type *at;
- int i, n;
- _SLang_Struct_Type **data;
-
- n = *np;
-
- if (n < 0)
- {
- SLang_Error = SL_INVALID_PARM;
- return;
- }
-
- data = (_SLang_Struct_Type **) SLmalloc ((n + 1) * sizeof (_SLang_Struct_Type *));
- if (data == NULL)
- {
- SLdo_pop_n (n);
- return;
- }
-
- memset ((char *)data, 0, n * sizeof (_SLang_Struct_Type *));
-
- i = n;
- while (i > 0)
- {
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
-
- i--;
-
- if (NULL == (s = allocate_struct (1)))
- goto return_error;
-
- data[i] = s;
- s->num_refs += 1; /* keeping a copy */
-
- f = s->fields;
- if (NULL == (f->name = SLang_create_slstring ("value")))
- goto return_error;
-
- if (-1 == SLang_pop (&f->obj))
- goto return_error;
- }
-
- if (NULL == (at = SLang_create_array (SLANG_STRUCT_TYPE, 0,
- (VOID_STAR) data, &n, 1)))
- goto return_error;
-
- (void) SLang_push_array (at, 1);
- return;
-
- return_error:
- for (i = 0; i < n; i++)
- {
- _SLang_Struct_Type *s;
-
- s = data[i];
- if (s != NULL)
- _SLstruct_delete_struct (s);
- }
-
- SLfree ((char *) data);
-}
-
-void _SLstruct_push_args (SLang_Array_Type *at)
-{
- _SLang_Struct_Type **sp;
- unsigned int num;
-
- if (at->data_type != SLANG_STRUCT_TYPE)
- {
- SLang_Error = SL_TYPE_MISMATCH;
- return;
- }
-
- sp = (_SLang_Struct_Type **) at->data;
- num = at->num_elements;
-
- while ((SLang_Error == 0) && (num > 0))
- {
- _SLang_Struct_Type *s;
-
- num--;
- if (NULL == (s = *sp++))
- {
- SLang_push_null ();
- continue;
- }
-
- /* I should check to see if the value field is present, but... */
- (void) _SLpush_slang_obj (&s->fields->obj);
- }
-}
diff --git a/mdk-stage1/slang/sltermin.c b/mdk-stage1/slang/sltermin.c
deleted file mode 100644
index f9c64f0b2..000000000
--- a/mdk-stage1/slang/sltermin.c
+++ /dev/null
@@ -1,1155 +0,0 @@
-/* This file contains enough terminfo reading capabilities sufficient for
- * the slang SLtt interface.
- */
-
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/*
- * The majority of the comments found in the file were taken from the
- * term(4) man page on an SGI.
- */
-
-/* Short integers are stored in two 8-bit bytes. The first byte contains
- * the least significant 8 bits of the value, and the second byte contains
- * the most significant 8 bits. (Thus, the value represented is
- * 256*second+first.) The value -1 is represented by 0377,0377, and the
- * value -2 is represented by 0376,0377; other negative values are illegal.
- * The -1 generally means that a capability is missing from this terminal.
- * The -2 means that the capability has been cancelled in the terminfo
- * source and also is to be considered missing.
- */
-
-static int make_integer (unsigned char *buf)
-{
- register int lo, hi;
- lo = (int) *buf++; hi = (int) *buf;
- if (hi == 0377)
- {
- if (lo == 0377) return -1;
- if (lo == 0376) return -2;
- }
- return lo + 256 * hi;
-}
-
-/*
- * The compiled file is created from the source file descriptions of the
- * terminals (see the -I option of infocmp) by using the terminfo compiler,
- * tic, and read by the routine setupterm [see curses(3X).] The file is
- * divided into six parts in the following order: the header, terminal
- * names, boolean flags, numbers, strings, and string table.
- *
- * The header section begins the file. This section contains six short
- * integers in the format described below. These integers are (1) the magic
- * number (octal 0432); (2) the size, in bytes, of the names section; (3)
- * the number of bytes in the boolean section; (4) the number of short
- * integers in the numbers section; (5) the number of offsets (short
- * integers) in the strings section; (6) the size, in bytes, of the string
- * table.
- */
-
-#define MAGIC 0432
-
-/* In this structure, all char * fields are malloced EXCEPT if the
- * structure is SLTERMCAP. In that case, only terminal_names is malloced
- * and the other fields are pointers into it.
- */
-struct _SLterminfo_Type
-{
-#define SLTERMINFO 1
-#define SLTERMCAP 2
- unsigned int flags;
-
- unsigned int name_section_size;
- char *terminal_names;
-
- unsigned int boolean_section_size;
- unsigned char *boolean_flags;
-
- unsigned int num_numbers;
- unsigned char *numbers;
-
- unsigned int num_string_offsets;
- unsigned char *string_offsets;
-
- unsigned int string_table_size;
- char *string_table;
-
-};
-
-static char *tcap_getstr (char *, SLterminfo_Type *);
-static int tcap_getnum (char *, SLterminfo_Type *);
-static int tcap_getflag (char *, SLterminfo_Type *);
-static int tcap_getent (char *, SLterminfo_Type *);
-
-static FILE *open_terminfo (char *file, SLterminfo_Type *h)
-{
- FILE *fp;
- unsigned char buf[12];
-
- /* Alan Cox reported a security problem here if the application using the
- * library is setuid. So, I need to make sure open the file as a normal
- * user. Unfortunately, there does not appear to be a portable way of
- * doing this, so I am going to use 'setfsgid' and 'setfsuid', which
- * are not portable.
- *
- * I will also look into the use of setreuid, seteuid and setregid, setegid.
- * FIXME: Priority=medium
- */
- fp = fopen (file, "rb");
- if (fp == NULL) return NULL;
-
- if ((12 == fread ((char *) buf, 1, 12, fp) && (MAGIC == make_integer (buf))))
- {
- h->name_section_size = make_integer (buf + 2);
- h->boolean_section_size = make_integer (buf + 4);
- h->num_numbers = make_integer (buf + 6);
- h->num_string_offsets = make_integer (buf + 8);
- h->string_table_size = make_integer (buf + 10);
- }
- else
- {
- fclose (fp);
- fp = NULL;
- }
- return fp;
-}
-
-/*
- * The terminal names section comes next. It contains the first line of the
- * terminfo description, listing the various names for the terminal,
- * separated by the bar ( | ) character (see term(5)). The section is
- * terminated with an ASCII NUL character.
- */
-
-/* returns pointer to malloced space */
-static unsigned char *read_terminfo_section (FILE *fp, unsigned int size)
-{
- char *s;
-
- if (NULL == (s = (char *) SLmalloc (size))) return NULL;
- if (size != fread (s, 1, size, fp))
- {
- SLfree (s);
- return NULL;
- }
- return (unsigned char *) s;
-}
-
-static char *read_terminal_names (FILE *fp, SLterminfo_Type *t)
-{
- return t->terminal_names = (char *) read_terminfo_section (fp, t->name_section_size);
-}
-
-/*
- * The boolean flags have one byte for each flag. This byte is either 0 or
- * 1 as the flag is present or absent. The value of 2 means that the flag
- * has been cancelled. The capabilities are in the same order as the file
- * <term.h>.
- */
-
-static unsigned char *read_boolean_flags (FILE *fp, SLterminfo_Type *t)
-{
- /* Between the boolean section and the number section, a null byte is
- * inserted, if necessary, to ensure that the number section begins on an
- * even byte offset. All short integers are aligned on a short word
- * boundary.
- */
-
- unsigned int size = (t->name_section_size + t->boolean_section_size) % 2;
- size += t->boolean_section_size;
-
- return t->boolean_flags = read_terminfo_section (fp, size);
-}
-
-/*
- * The numbers section is similar to the boolean flags section. Each
- * capability takes up two bytes, and is stored as a short integer. If the
- * value represented is -1 or -2, the capability is taken to be missing.
- */
-
-static unsigned char *read_numbers (FILE *fp, SLterminfo_Type *t)
-{
- return t->numbers = read_terminfo_section (fp, 2 * t->num_numbers);
-}
-
-/* The strings section is also similar. Each capability is stored as a
- * short integer, in the format above. A value of -1 or -2 means the
- * capability is missing. Otherwise, the value is taken as an offset from
- * the beginning of the string table. Special characters in ^X or \c
- * notation are stored in their interpreted form, not the printing
- * representation. Padding information ($<nn>) and parameter information
- * (%x) are stored intact in uninterpreted form.
- */
-
-static unsigned char *read_string_offsets (FILE *fp, SLterminfo_Type *t)
-{
- return t->string_offsets = (unsigned char *) read_terminfo_section (fp, 2 * t->num_string_offsets);
-}
-
-/* The final section is the string table. It contains all the values of
- * string capabilities referenced in the string section. Each string is
- * null terminated.
- */
-
-static char *read_string_table (FILE *fp, SLterminfo_Type *t)
-{
- return t->string_table = (char *) read_terminfo_section (fp, t->string_table_size);
-}
-
-/*
- * Compiled terminfo(4) descriptions are placed under the directory
- * /usr/share/lib/terminfo. In order to avoid a linear search of a huge
- * UNIX system directory, a two-level scheme is used:
- * /usr/share/lib/terminfo/c/name where name is the name of the terminal,
- * and c is the first character of name. Thus, att4425 can be found in the
- * file /usr/share/lib/terminfo/a/att4425. Synonyms for the same terminal
- * are implemented by multiple links to the same compiled file.
- */
-
-#define MAX_TI_DIRS 7
-static char *Terminfo_Dirs [MAX_TI_DIRS] =
-{
- NULL, /* $HOME/.terminfo */
- NULL, /* $TERMINFO */
- "/usr/share/terminfo",
- "/usr/lib/terminfo",
- "/usr/share/lib/terminfo",
- "/etc/terminfo",
- "/usr/local/lib/terminfo"
-};
-
-SLterminfo_Type *_SLtt_tigetent (char *term)
-{
- char *tidir;
- int i;
- FILE *fp = NULL;
- char file[1024];
- static char home_ti [1024];
- char *home;
- SLterminfo_Type *ti;
-
- if (
- (term == NULL)
-#ifdef SLANG_UNTIC
- && (SLang_Untic_Terminfo_File == NULL)
-#endif
- )
- return NULL;
-
- if (NULL == (ti = (SLterminfo_Type *) SLmalloc (sizeof (SLterminfo_Type))))
- {
- return NULL;
- }
-
-#ifdef SLANG_UNTIC
- if (SLang_Untic_Terminfo_File != NULL)
- {
- fp = open_terminfo (SLang_Untic_Terminfo_File, ti);
- goto fp_open_label;
- }
- else
-#endif
- /* If we are on a termcap based system, use termcap */
- if (0 == tcap_getent (term, ti)) return ti;
-
- if (NULL != (home = getenv ("HOME")))
- {
- strncpy (home_ti, home, sizeof (home_ti) - 11);
- home_ti [sizeof(home_ti) - 11] = 0;
- strcat (home_ti, "/.terminfo");
- Terminfo_Dirs [0] = home_ti;
- }
-
- Terminfo_Dirs[1] = getenv ("TERMINFO");
- i = 0;
- while (i < MAX_TI_DIRS)
- {
- tidir = Terminfo_Dirs[i];
- if ((tidir != NULL)
- && (sizeof (file) > strlen (tidir) + 2 + strlen (term)))
- {
- sprintf (file, "%s/%c/%s", tidir, *term, term);
- if (NULL != (fp = open_terminfo (file, ti)))
- break;
- }
- i++;
- }
-#ifdef SLANG_UNTIC
- fp_open_label:
-#endif
-
- if (fp != NULL)
- {
- if (NULL != read_terminal_names (fp, ti))
- {
- if (NULL != read_boolean_flags (fp, ti))
- {
- if (NULL != read_numbers (fp, ti))
- {
- if (NULL != read_string_offsets (fp, ti))
- {
- if (NULL != read_string_table (fp, ti))
- {
- /* success */
- fclose (fp);
- ti->flags = SLTERMINFO;
- return ti;
- }
- SLfree ((char *)ti->string_offsets);
- }
- SLfree ((char *)ti->numbers);
- }
- SLfree ((char *)ti->boolean_flags);
- }
- SLfree ((char *)ti->terminal_names);
- }
- fclose (fp);
- }
-
- SLfree ((char *)ti);
- return NULL;
-}
-
-#ifdef SLANG_UNTIC
-# define UNTIC_COMMENT(x) ,x
-#else
-# define UNTIC_COMMENT(x)
-#endif
-
-typedef struct
-{
- char name[3];
- int offset;
-#ifdef SLANG_UNTIC
- char *comment;
-#endif
-}
-Tgetstr_Map_Type;
-
-/* I need to add: K1-5, %0-5(not important), @8, &8... */
-static Tgetstr_Map_Type Tgetstr_Map [] =
-{
- {"!1", 212 UNTIC_COMMENT("shifted key")},
- {"!2", 213 UNTIC_COMMENT("shifted key")},
- {"!3", 214 UNTIC_COMMENT("shifted key")},
- {"#1", 198 UNTIC_COMMENT("shifted key")},
- {"#2", 199 UNTIC_COMMENT("Key S-Home")},
- {"#3", 200 UNTIC_COMMENT("Key S-Insert")},
- {"#4", 201 UNTIC_COMMENT("Key S-Left")},
- {"%0", 177 UNTIC_COMMENT("redo key")},
- {"%1", 168 UNTIC_COMMENT("help key")},
- {"%2", 169 UNTIC_COMMENT("mark key")},
- {"%3", 170 UNTIC_COMMENT("message key")},
- {"%4", 171 UNTIC_COMMENT("move key")},
- {"%5", 172 UNTIC_COMMENT("next key")},
- {"%6", 173 UNTIC_COMMENT("open key")},
- {"%7", 174 UNTIC_COMMENT("options key")},
- {"%8", 175 UNTIC_COMMENT("previous key")},
- {"%9", 176 UNTIC_COMMENT("print key")},
- {"%a", 202 UNTIC_COMMENT("shifted key")},
- {"%b", 203 UNTIC_COMMENT("shifted key")},
- {"%c", 204 UNTIC_COMMENT("Key S-Next")},
- {"%d", 205 UNTIC_COMMENT("shifted key")},
- {"%e", 206 UNTIC_COMMENT("Key S-Previous")},
- {"%f", 207 UNTIC_COMMENT("shifted key")},
- {"%g", 208 UNTIC_COMMENT("shifted key")},
- {"%h", 209 UNTIC_COMMENT("shifted key")},
- {"%i", 210 UNTIC_COMMENT("Key S-Right")},
- {"%j", 211 UNTIC_COMMENT("shifted key")},
- {"&0", 187 UNTIC_COMMENT("shifted key")},
- {"&1", 178 UNTIC_COMMENT("reference key")},
- {"&2", 179 UNTIC_COMMENT("refresh key")},
- {"&3", 180 UNTIC_COMMENT("replace key")},
- {"&4", 181 UNTIC_COMMENT("restart key")},
- {"&5", 182 UNTIC_COMMENT("resume key")},
- {"&6", 183 UNTIC_COMMENT("save key")},
- {"&7", 184 UNTIC_COMMENT("suspend key")},
- {"&8", 185 UNTIC_COMMENT("undo key")},
- {"&9", 186 UNTIC_COMMENT("shifted key")},
- {"*0", 197 UNTIC_COMMENT("shifted key")},
- {"*1", 188 UNTIC_COMMENT("shifted key")},
- {"*2", 189 UNTIC_COMMENT("shifted key")},
- {"*3", 190 UNTIC_COMMENT("shifted key")},
- {"*4", 191 UNTIC_COMMENT("Key S-Delete")},
- {"*5", 192 UNTIC_COMMENT("shifted key")},
- {"*6", 193 UNTIC_COMMENT("select key")},
- {"*7", 194 UNTIC_COMMENT("Key S-End")},
- {"*8", 195 UNTIC_COMMENT("shifted key")},
- {"*9", 196 UNTIC_COMMENT("shifted key")},
- {"@0", 167 UNTIC_COMMENT("find key")},
- {"@1", 158 UNTIC_COMMENT("begin key")},
- {"@2", 159 UNTIC_COMMENT("cancel key")},
- {"@3", 160 UNTIC_COMMENT("close key")},
- {"@4", 161 UNTIC_COMMENT("command key")},
- {"@5", 162 UNTIC_COMMENT("copy key")},
- {"@6", 163 UNTIC_COMMENT("create key")},
- {"@7", 164 UNTIC_COMMENT("Key End")},
- {"@8", 165 UNTIC_COMMENT("enter/send key")},
- {"@9", 166 UNTIC_COMMENT("exit key")},
- {"AB", 360 UNTIC_COMMENT("set ANSI color background")},
- {"AF", 359 UNTIC_COMMENT("set ANSI color foreground")},
- {"AL", 110 UNTIC_COMMENT("parm_insert_line")},
- {"CC", 9 UNTIC_COMMENT("terminal settable cmd character in prototype !?")},
- {"CM", 15 UNTIC_COMMENT("memory relative cursor addressing")},
- {"CW", 277 UNTIC_COMMENT("define a window #1 from #2, #3 to #4, #5")},
- {"DC", 105 UNTIC_COMMENT("delete #1 chars")},
- {"DI", 280 UNTIC_COMMENT("dial number #1")},
- {"DK", 275 UNTIC_COMMENT("display clock at (#1,#2)")},
- {"DL", 106 UNTIC_COMMENT("parm_delete_line")},
- {"DO", 107 UNTIC_COMMENT("down #1 lines")},
- {"F1", 216 UNTIC_COMMENT("key_f11")},
- {"F2", 217 UNTIC_COMMENT("key_f12")},
- {"F3", 218 UNTIC_COMMENT("key_f13")},
- {"F4", 219 UNTIC_COMMENT("key_f14")},
- {"F5", 220 UNTIC_COMMENT("key_f15")},
- {"F6", 221 UNTIC_COMMENT("key_f16")},
- {"F7", 222 UNTIC_COMMENT("key_f17")},
- {"F8", 223 UNTIC_COMMENT("key_f18")},
- {"F9", 224 UNTIC_COMMENT("key_f19")},
- {"FA", 225 UNTIC_COMMENT("key_f20")},
- {"FB", 226 UNTIC_COMMENT("F21 function key")},
- {"FC", 227 UNTIC_COMMENT("F22 function key")},
- {"FD", 228 UNTIC_COMMENT("F23 function key")},
- {"FE", 229 UNTIC_COMMENT("F24 function key")},
- {"FF", 230 UNTIC_COMMENT("F25 function key")},
- {"FG", 231 UNTIC_COMMENT("F26 function key")},
- {"FH", 232 UNTIC_COMMENT("F27 function key")},
- {"FI", 233 UNTIC_COMMENT("F28 function key")},
- {"FJ", 234 UNTIC_COMMENT("F29 function key")},
- {"FK", 235 UNTIC_COMMENT("F30 function key")},
- {"FL", 236 UNTIC_COMMENT("F31 function key")},
- {"FM", 237 UNTIC_COMMENT("F32 function key")},
- {"FN", 238 UNTIC_COMMENT("F33 function key")},
- {"FO", 239 UNTIC_COMMENT("F34 function key")},
- {"FP", 240 UNTIC_COMMENT("F35 function key")},
- {"FQ", 241 UNTIC_COMMENT("F36 function key")},
- {"FR", 242 UNTIC_COMMENT("F37 function key")},
- {"FS", 243 UNTIC_COMMENT("F38 function key")},
- {"FT", 244 UNTIC_COMMENT("F39 function key")},
- {"FU", 245 UNTIC_COMMENT("F40 function key")},
- {"FV", 246 UNTIC_COMMENT("F41 function key")},
- {"FW", 247 UNTIC_COMMENT("F42 function key")},
- {"FX", 248 UNTIC_COMMENT("F43 function key")},
- {"FY", 249 UNTIC_COMMENT("F44 function key")},
- {"FZ", 250 UNTIC_COMMENT("F45 function key")},
- {"Fa", 251 UNTIC_COMMENT("F46 function key")},
- {"Fb", 252 UNTIC_COMMENT("F47 function key")},
- {"Fc", 253 UNTIC_COMMENT("F48 function key")},
- {"Fd", 254 UNTIC_COMMENT("F49 function key")},
- {"Fe", 255 UNTIC_COMMENT("F50 function key")},
- {"Ff", 256 UNTIC_COMMENT("F51 function key")},
- {"Fg", 257 UNTIC_COMMENT("F52 function key")},
- {"Fh", 258 UNTIC_COMMENT("F53 function key")},
- {"Fi", 259 UNTIC_COMMENT("F54 function key")},
- {"Fj", 260 UNTIC_COMMENT("F55 function key")},
- {"Fk", 261 UNTIC_COMMENT("F56 function key")},
- {"Fl", 262 UNTIC_COMMENT("F57 function key")},
- {"Fm", 263 UNTIC_COMMENT("F58 function key")},
- {"Fn", 264 UNTIC_COMMENT("F59 function key")},
- {"Fo", 265 UNTIC_COMMENT("F60 function key")},
- {"Fp", 266 UNTIC_COMMENT("F61 function key")},
- {"Fq", 267 UNTIC_COMMENT("F62 function key")},
- {"Fr", 268 UNTIC_COMMENT("F63 function key")},
- {"G1", 400 UNTIC_COMMENT("single upper right")},
- {"G2", 398 UNTIC_COMMENT("single upper left")},
- {"G3", 399 UNTIC_COMMENT("single lower left")},
- {"G4", 401 UNTIC_COMMENT("single lower right")},
- {"GC", 408 UNTIC_COMMENT("single intersection")},
- {"GD", 405 UNTIC_COMMENT("tee pointing down")},
- {"GH", 406 UNTIC_COMMENT("single horizontal line")},
- {"GL", 403 UNTIC_COMMENT("tee pointing left")},
- {"GR", 402 UNTIC_COMMENT("tee pointing right")},
- {"GU", 404 UNTIC_COMMENT("tee pointing up")},
- {"GV", 407 UNTIC_COMMENT("single vertical line")},
- {"Gm", 358 UNTIC_COMMENT("Curses should get button events")},
- {"HU", 279 UNTIC_COMMENT("hang-up phone")},
- {"IC", 108 UNTIC_COMMENT("insert #1 chars")},
- {"Ic", 299 UNTIC_COMMENT("initialize color #1 to (#2,#3,#4)")},
- {"Ip", 300 UNTIC_COMMENT("Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)")},
- {"K1", 139 UNTIC_COMMENT("upper left of keypad")},
- {"K2", 141 UNTIC_COMMENT("center of keypad")},
- {"K3", 140 UNTIC_COMMENT("upper right of keypad")},
- {"K4", 142 UNTIC_COMMENT("lower left of keypad")},
- {"K5", 143 UNTIC_COMMENT("lower right of keypad")},
- {"Km", 355 UNTIC_COMMENT("Mouse event has occurred")},
- {"LE", 111 UNTIC_COMMENT("move #1 chars to the left")},
- {"LF", 157 UNTIC_COMMENT("turn off soft labels")},
- {"LO", 156 UNTIC_COMMENT("turn on soft labels")},
- {"Lf", 273 UNTIC_COMMENT("label format")},
- {"MC", 270 UNTIC_COMMENT("clear right and left soft margins")},
- {"ML", 271 UNTIC_COMMENT("set left soft margin")},
- {"ML", 368 UNTIC_COMMENT("Set both left and right margins to #1, #2")},
- {"MR", 272 UNTIC_COMMENT("set right soft margin")},
- {"MT", 369 UNTIC_COMMENT("Sets both top and bottom margins to #1, #2")},
- {"Mi", 356 UNTIC_COMMENT("Mouse status information")},
- {"PA", 285 UNTIC_COMMENT("pause for 2-3 seconds")},
- {"PU", 283 UNTIC_COMMENT("select pulse dialling")},
- {"QD", 281 UNTIC_COMMENT("dial number #1 without checking")},
- {"RA", 152 UNTIC_COMMENT("turn off automatic margins")},
- {"RC", 276 UNTIC_COMMENT("remove clock")},
- {"RF", 215 UNTIC_COMMENT("send next input char (for ptys)")},
- {"RI", 112 UNTIC_COMMENT("parm_right_cursor")},
- {"RQ", 357 UNTIC_COMMENT("Request mouse position")},
- {"RX", 150 UNTIC_COMMENT("turn off xon/xoff handshaking")},
- {"S1", 378 UNTIC_COMMENT("Display PC character")},
- {"S2", 379 UNTIC_COMMENT("Enter PC character display mode")},
- {"S3", 380 UNTIC_COMMENT("Exit PC character display mode")},
- {"S4", 381 UNTIC_COMMENT("Enter PC scancode mode")},
- {"S5", 382 UNTIC_COMMENT("Exit PC scancode mode")},
- {"S6", 383 UNTIC_COMMENT("PC terminal options")},
- {"S7", 384 UNTIC_COMMENT("Escape for scancode emulation")},
- {"S8", 385 UNTIC_COMMENT("Alternate escape for scancode emulation")},
- {"SA", 151 UNTIC_COMMENT("turn on automatic margins")},
- {"SC", 274 UNTIC_COMMENT("set clock, #1 hrs #2 mins #3 secs")},
- {"SF", 109 UNTIC_COMMENT("scroll forward #1 lines")},
- {"SR", 113 UNTIC_COMMENT("scroll back #1 lines")},
- {"SX", 149 UNTIC_COMMENT("turn on xon/xoff handshaking")},
- {"Sb", 303 UNTIC_COMMENT("set background (color)")},
- {"Sf", 302 UNTIC_COMMENT("set foreground (color)")},
- {"TO", 282 UNTIC_COMMENT("select touch tone dialing")},
- {"UP", 114 UNTIC_COMMENT("up #1 lines")},
- {"WA", 286 UNTIC_COMMENT("wait for dial-tone")},
- {"WG", 278 UNTIC_COMMENT("go to window #1")},
- {"XF", 154 UNTIC_COMMENT("XOFF character")},
- {"XN", 153 UNTIC_COMMENT("XON character")},
- {"Xh", 386 UNTIC_COMMENT("Enter horizontal highlight mode")},
- {"Xl", 387 UNTIC_COMMENT("Enter left highlight mode")},
- {"Xo", 388 UNTIC_COMMENT("Enter low highlight mode")},
- {"Xr", 389 UNTIC_COMMENT("Enter right highlight mode")},
- {"Xt", 390 UNTIC_COMMENT("Enter top highlight mode")},
- {"Xv", 391 UNTIC_COMMENT("Enter vertical highlight mode")},
- {"Xy", 370 UNTIC_COMMENT("Repeat bit image cell #1 #2 times")},
- {"YZ", 377 UNTIC_COMMENT("Set page length to #1 lines")},
- {"Yv", 372 UNTIC_COMMENT("Move to beginning of same row")},
- {"Yw", 373 UNTIC_COMMENT("Give name for color #1")},
- {"Yx", 374 UNTIC_COMMENT("Define rectangualar bit image region")},
- {"Yy", 375 UNTIC_COMMENT("End a bit-image region")},
- {"Yz", 376 UNTIC_COMMENT("Change to ribbon color #1")},
- {"ZA", 304 UNTIC_COMMENT("Change number of characters per inch")},
- {"ZB", 305 UNTIC_COMMENT("Change number of lines per inch")},
- {"ZC", 306 UNTIC_COMMENT("Change horizontal resolution")},
- {"ZD", 307 UNTIC_COMMENT("Change vertical resolution")},
- {"ZE", 308 UNTIC_COMMENT("Define a character")},
- {"ZF", 309 UNTIC_COMMENT("Enter double-wide mode")},
- {"ZG", 310 UNTIC_COMMENT("Enter draft-quality mode")},
- {"ZH", 311 UNTIC_COMMENT("Enter italic mode")},
- {"ZI", 312 UNTIC_COMMENT("Start leftward carriage motion")},
- {"ZJ", 313 UNTIC_COMMENT("Start micro-motion mode")},
- {"ZK", 314 UNTIC_COMMENT("Enter NLQ mode")},
- {"ZL", 315 UNTIC_COMMENT("Wnter normal-quality mode")},
- {"ZM", 316 UNTIC_COMMENT("Enter shadow-print mode")},
- {"ZN", 317 UNTIC_COMMENT("Enter subscript mode")},
- {"ZO", 318 UNTIC_COMMENT("Enter superscript mode")},
- {"ZP", 319 UNTIC_COMMENT("Start upward carriage motion")},
- {"ZQ", 320 UNTIC_COMMENT("End double-wide mode")},
- {"ZR", 321 UNTIC_COMMENT("End italic mode")},
- {"ZS", 322 UNTIC_COMMENT("End left-motion mode")},
- {"ZT", 323 UNTIC_COMMENT("End micro-motion mode")},
- {"ZU", 324 UNTIC_COMMENT("End shadow-print mode")},
- {"ZV", 325 UNTIC_COMMENT("End subscript mode")},
- {"ZW", 326 UNTIC_COMMENT("End superscript mode")},
- {"ZX", 327 UNTIC_COMMENT("End reverse character motion")},
- {"ZY", 328 UNTIC_COMMENT("Like column_address in micro mode")},
- {"ZZ", 329 UNTIC_COMMENT("Like cursor_down in micro mode")},
- {"Za", 330 UNTIC_COMMENT("Like cursor_left in micro mode")},
- {"Zb", 331 UNTIC_COMMENT("Like cursor_right in micro mode")},
- {"Zc", 332 UNTIC_COMMENT("Like row_address in micro mode")},
- {"Zd", 333 UNTIC_COMMENT("Like cursor_up in micro mode")},
- {"Ze", 334 UNTIC_COMMENT("Match software bits to print-head pins")},
- {"Zf", 335 UNTIC_COMMENT("Like parm_down_cursor in micro mode")},
- {"Zg", 336 UNTIC_COMMENT("Like parm_left_cursor in micro mode")},
- {"Zh", 337 UNTIC_COMMENT("Like parm_right_cursor in micro mode")},
- {"Zi", 338 UNTIC_COMMENT("Like parm_up_cursor in micro mode")},
- {"Zj", 339 UNTIC_COMMENT("Select character set")},
- {"Zk", 340 UNTIC_COMMENT("Set bottom margin at current line")},
- {"Zl", 341 UNTIC_COMMENT("Set bottom margin at line #1 or #2 lines from bottom")},
- {"Zm", 342 UNTIC_COMMENT("Set left (right) margin at column #1 (#2)")},
- {"Zn", 343 UNTIC_COMMENT("Set right margin at column #1")},
- {"Zo", 344 UNTIC_COMMENT("Set top margin at current line")},
- {"Zp", 345 UNTIC_COMMENT("Set top (bottom) margin at row #1 (#2)")},
- {"Zq", 346 UNTIC_COMMENT("Start printing bit image braphics")},
- {"Zr", 347 UNTIC_COMMENT("Start character set definition")},
- {"Zs", 348 UNTIC_COMMENT("Stop printing bit image graphics")},
- {"Zt", 349 UNTIC_COMMENT("End definition of character aet")},
- {"Zu", 350 UNTIC_COMMENT("List of subscriptable characters")},
- {"Zv", 351 UNTIC_COMMENT("List of superscriptable characters")},
- {"Zw", 352 UNTIC_COMMENT("Printing any of these chars causes CR")},
- {"Zx", 353 UNTIC_COMMENT("No motion for subsequent character")},
- {"Zy", 354 UNTIC_COMMENT("List of character set names")},
- {"Zz", 371 UNTIC_COMMENT("Move to next row of the bit image")},
- {"ac", 146 UNTIC_COMMENT("acs_chars")},
- {"ae", 38 UNTIC_COMMENT("exit_alt_charset_mode")},
- {"al", 53 UNTIC_COMMENT("insert line")},
- {"as", 25 UNTIC_COMMENT("enter_alt_charset_mode")},
- {"bc", 395 UNTIC_COMMENT("move left, if not ^H")},
- {"bl", 1 UNTIC_COMMENT("audible signal (bell)")},
- {"bt", 0 UNTIC_COMMENT("back tab")},
- {"bx", 411 UNTIC_COMMENT("box chars primary set")},
- {"cb", 269 UNTIC_COMMENT("Clear to beginning of line")},
- {"cd", 7 UNTIC_COMMENT("clear to end of screen")},
- {"ce", 6 UNTIC_COMMENT("clr_eol")},
- {"ch", 8 UNTIC_COMMENT("horizontal position #1, absolute")},
- {"ci", 363 UNTIC_COMMENT("Init sequence for multiple codesets")},
- {"cl", 5 UNTIC_COMMENT("clear screen and home cursor")},
- {"cm", 10 UNTIC_COMMENT("move to row #1 columns #2")},
- {"cr", 2 UNTIC_COMMENT("carriage return")},
- {"cs", 3 UNTIC_COMMENT("change region to line #1 to line #2")},
- {"ct", 4 UNTIC_COMMENT("clear all tab stops")},
- {"cv", 127 UNTIC_COMMENT("vertical position #1 absolute")},
- {"dc", 21 UNTIC_COMMENT("delete character")},
- {"dl", 22 UNTIC_COMMENT("delete line")},
- {"dm", 29 UNTIC_COMMENT("enter delete mode")},
- {"do", 11 UNTIC_COMMENT("down one line")},
- {"ds", 23 UNTIC_COMMENT("disable status line")},
- {"dv", 362 UNTIC_COMMENT("Indicate language/codeset support")},
- {"eA", 155 UNTIC_COMMENT("enable alternate char set")},
- {"ec", 37 UNTIC_COMMENT("erase #1 characters")},
- {"ed", 41 UNTIC_COMMENT("end delete mode")},
- {"ei", 42 UNTIC_COMMENT("exit insert mode")},
- {"ff", 46 UNTIC_COMMENT("hardcopy terminal page eject")},
- {"fh", 284 UNTIC_COMMENT("flash switch hook")},
- {"fs", 47 UNTIC_COMMENT("return from status line")},
- {"hd", 24 UNTIC_COMMENT("half a line down")},
- {"ho", 12 UNTIC_COMMENT("home cursor (if no cup)")},
- {"hu", 137 UNTIC_COMMENT("half a line up")},
- {"i1", 48 UNTIC_COMMENT("initialization string")},
- {"i2", 392 UNTIC_COMMENT("secondary initialization string")},
- {"i3", 50 UNTIC_COMMENT("initialization string")},
- {"iP", 138 UNTIC_COMMENT("path name of program for initialization")},
- {"ic", 52 UNTIC_COMMENT("insert character")},
- {"if", 51 UNTIC_COMMENT("name of initialization file")},
- {"im", 31 UNTIC_COMMENT("enter insert mode")},
- {"ip", 54 UNTIC_COMMENT("insert padding after inserted character")},
- {"is", 49 UNTIC_COMMENT("initialization string")},
- {"k0", 65 UNTIC_COMMENT("F0 function key")},
- {"k1", 66 UNTIC_COMMENT("F1 function key")},
- {"k2", 68 UNTIC_COMMENT("F2 function key")},
- {"k3", 69 UNTIC_COMMENT("F3 function key")},
- {"k4", 70 UNTIC_COMMENT("F4 function key")},
- {"k5", 71 UNTIC_COMMENT("F5 function key")},
- {"k6", 72 UNTIC_COMMENT("F6 function key")},
- {"k7", 73 UNTIC_COMMENT("F7 function key")},
- {"k8", 74 UNTIC_COMMENT("F8 fucntion key")},
- {"k9", 75 UNTIC_COMMENT("F9 function key")},
- {"k;", 67 UNTIC_COMMENT("F10 function key")},
- {"kA", 78 UNTIC_COMMENT("insert-line key")},
- {"kB", 148 UNTIC_COMMENT("back-tab key")},
- {"kC", 57 UNTIC_COMMENT("clear-screen or erase key")},
- {"kD", 59 UNTIC_COMMENT("delete-character key")},
- {"kE", 63 UNTIC_COMMENT("clear-to-end-of-line key")},
- {"kF", 84 UNTIC_COMMENT("scroll-forward key")},
- {"kH", 80 UNTIC_COMMENT("last-line key")},
- {"kI", 77 UNTIC_COMMENT("insert-character key")},
- {"kL", 60 UNTIC_COMMENT("delete-line key")},
- {"kM", 62 UNTIC_COMMENT("sent by rmir or smir in insert mode")},
- {"kN", 81 UNTIC_COMMENT("next-page key")},
- {"kP", 82 UNTIC_COMMENT("prev-page key")},
- {"kR", 85 UNTIC_COMMENT("scroll-backward key")},
- {"kS", 64 UNTIC_COMMENT("clear-to-end-of-screen key")},
- {"kT", 86 UNTIC_COMMENT("set-tab key")},
- {"ka", 56 UNTIC_COMMENT("clear-all-tabs key")},
- {"kb", 55 UNTIC_COMMENT("backspace key")},
- {"kd", 61 UNTIC_COMMENT("down-arrow key")},
- {"ke", 88 UNTIC_COMMENT("leave 'keyboard_transmit' mode")},
- {"kh", 76 UNTIC_COMMENT("home key")},
- {"kl", 79 UNTIC_COMMENT("left-arrow key")},
- {"ko", 396 UNTIC_COMMENT("list of self-mapped keycaps")},
- {"kr", 83 UNTIC_COMMENT("right-arrow key")},
- {"ks", 89 UNTIC_COMMENT("enter 'keyboard_transmit' mode")},
- {"kt", 58 UNTIC_COMMENT("clear-tab key")},
- {"ku", 87 UNTIC_COMMENT("up-arrow key")},
- {"l0", 90 UNTIC_COMMENT("label on function key f0 if not f0")},
- {"l1", 91 UNTIC_COMMENT("label on function key f1 if not f1")},
- {"l2", 93 UNTIC_COMMENT("label on function key f2 if not f2")},
- {"l3", 94 UNTIC_COMMENT("label on function key f3 if not f3")},
- {"l4", 95 UNTIC_COMMENT("label on function key f4 if not f4")},
- {"l5", 96 UNTIC_COMMENT("lable on function key f5 if not f5")},
- {"l6", 97 UNTIC_COMMENT("label on function key f6 if not f6")},
- {"l7", 98 UNTIC_COMMENT("label on function key f7 if not f7")},
- {"l8", 99 UNTIC_COMMENT("label on function key f8 if not f8")},
- {"l9", 100 UNTIC_COMMENT("label on function key f9 if not f9")},
- {"la", 92 UNTIC_COMMENT("label on function key f10 if not f10")},
- {"le", 14 UNTIC_COMMENT("move left one space")},
- {"ll", 18 UNTIC_COMMENT("last line, first column (if no cup)")},
- {"ma", 397 UNTIC_COMMENT("map arrow keys rogue(1) motion keys")},
- {"mb", 26 UNTIC_COMMENT("turn on blinking")},
- {"md", 27 UNTIC_COMMENT("turn on bold (extra bright) mode")},
- {"me", 39 UNTIC_COMMENT("turn off all attributes")},
- {"mh", 30 UNTIC_COMMENT("turn on half-bright mode")},
- {"mk", 32 UNTIC_COMMENT("turn on blank mode (characters invisible)")},
- {"ml", 409 UNTIC_COMMENT("memory lock above")},
- {"mm", 102 UNTIC_COMMENT("turn on meta mode (8th-bit on)")},
- {"mo", 101 UNTIC_COMMENT("turn off meta mode")},
- {"mp", 33 UNTIC_COMMENT("turn on protected mode")},
- {"mr", 34 UNTIC_COMMENT("turn on reverse video mode")},
- {"mu", 410 UNTIC_COMMENT("memory unlock")},
- {"nd", 17 UNTIC_COMMENT("move right one space")},
- {"nl", 394 UNTIC_COMMENT("use to move down")},
- {"nw", 103 UNTIC_COMMENT("newline (behave like cr followed by lf)")},
- {"oc", 298 UNTIC_COMMENT("Set all color pairs to the original ones")},
- {"op", 297 UNTIC_COMMENT("Set default pair to its original value")},
- {"pO", 144 UNTIC_COMMENT("turn on printer for #1 bytes")},
- {"pc", 104 UNTIC_COMMENT("padding char (instead of null)")},
- {"pf", 119 UNTIC_COMMENT("turn off printer")},
- {"pk", 115 UNTIC_COMMENT("program function key #1 to type string #2")},
- {"pl", 116 UNTIC_COMMENT("program function key #1 to execute string #2")},
- {"pn", 147 UNTIC_COMMENT("program label #1 to show string #2")},
- {"po", 120 UNTIC_COMMENT("turn on printer")},
- {"ps", 118 UNTIC_COMMENT("print contents of screen")},
- {"px", 117 UNTIC_COMMENT("program function key #1 to transmit string #2")},
- {"r1", 122 UNTIC_COMMENT("reset string")},
- {"r2", 123 UNTIC_COMMENT("reset string")},
- {"r3", 124 UNTIC_COMMENT("reset string")},
- {"rP", 145 UNTIC_COMMENT("like ip but when in insert mode")},
- {"rc", 126 UNTIC_COMMENT("restore cursor to last position of sc")},
- {"rf", 125 UNTIC_COMMENT("name of reset file")},
- {"rp", 121 UNTIC_COMMENT("repeat char #1 #2 times")},
- {"rs", 393 UNTIC_COMMENT("terminal reset string")},
- {"s0", 364 UNTIC_COMMENT("Shift to code set 0 (EUC set 0, ASCII)")},
- {"s1", 365 UNTIC_COMMENT("Shift to code set 1")},
- {"s2", 366 UNTIC_COMMENT("Shift to code set 2")},
- {"s3", 367 UNTIC_COMMENT("Shift to code set 3")},
- {"sa", 131 UNTIC_COMMENT("define video attributes #1-#9 (PG9)")},
- {"sc", 128 UNTIC_COMMENT("save current cursor position")},
- {"se", 43 UNTIC_COMMENT("exit standout mode")},
- {"sf", 129 UNTIC_COMMENT("scroll text up")},
- {"so", 35 UNTIC_COMMENT("begin standout mode")},
- {"sp", 301 UNTIC_COMMENT("Set current color pair to #1")},
- {"sr", 130 UNTIC_COMMENT("scroll text down")},
- {"st", 132 UNTIC_COMMENT("set a tab in every row, current columns")},
- {"ta", 134 UNTIC_COMMENT("tab to next 8-space hardware tab stop")},
- {"te", 40 UNTIC_COMMENT("strings to end programs using cup")},
- {"ti", 28 UNTIC_COMMENT("string to start programs using cup")},
- {"ts", 135 UNTIC_COMMENT("move to status line")},
- {"u0", 287 UNTIC_COMMENT("User string #0")},
- {"u1", 288 UNTIC_COMMENT("User string #1")},
- {"u2", 289 UNTIC_COMMENT("User string #2")},
- {"u3", 290 UNTIC_COMMENT("User string #3")},
- {"u4", 291 UNTIC_COMMENT("User string #4")},
- {"u5", 292 UNTIC_COMMENT("User string #5")},
- {"u6", 293 UNTIC_COMMENT("User string #6")},
- {"u7", 294 UNTIC_COMMENT("User string #7")},
- {"u8", 295 UNTIC_COMMENT("User string #8")},
- {"u9", 296 UNTIC_COMMENT("User string #9")},
- {"uc", 136 UNTIC_COMMENT("underline char and move past it")},
- {"ue", 44 UNTIC_COMMENT("exit underline mode")},
- {"up", 19 UNTIC_COMMENT("up one line")},
- {"us", 36 UNTIC_COMMENT("begin underline mode")},
- {"vb", 45 UNTIC_COMMENT("visible bell (may not move cursor)")},
- {"ve", 16 UNTIC_COMMENT("make cursor appear normal (undo civis/cvvis)")},
- {"vi", 13 UNTIC_COMMENT("make cursor invisible")},
- {"vs", 20 UNTIC_COMMENT("make cursor very visible")},
- {"wi", 133 UNTIC_COMMENT("current window is lines #1-#2 cols #3-#4")},
- {"xl", 361 UNTIC_COMMENT("Program function key #1 to type string #2 and show string #3")},
- {"", -1 UNTIC_COMMENT(NULL)}
-};
-
-static int compute_cap_offset (char *cap, SLterminfo_Type *t, Tgetstr_Map_Type *map, unsigned int max_ofs)
-{
- char cha, chb;
-
- (void) t;
- cha = *cap++; chb = *cap;
-
- while (*map->name != 0)
- {
- if ((cha == *map->name) && (chb == *(map->name + 1)))
- {
- if (map->offset >= (int) max_ofs) return -1;
- return map->offset;
- }
- map++;
- }
- return -1;
-}
-
-char *_SLtt_tigetstr (SLterminfo_Type *t, char *cap)
-{
- int offset;
-
- if (t == NULL)
- return NULL;
-
- if (t->flags == SLTERMCAP) return tcap_getstr (cap, t);
-
- offset = compute_cap_offset (cap, t, Tgetstr_Map, t->num_string_offsets);
- if (offset < 0) return NULL;
- offset = make_integer (t->string_offsets + 2 * offset);
- if (offset < 0) return NULL;
- return t->string_table + offset;
-}
-
-static Tgetstr_Map_Type Tgetnum_Map[] =
-{
- {"BT", 30 UNTIC_COMMENT("number of buttons on mouse")},
- {"Co", 13 UNTIC_COMMENT("maximum numbers of colors on screen")},
- {"MW", 12 UNTIC_COMMENT("maxumum number of defineable windows")},
- {"NC", 15 UNTIC_COMMENT("video attributes that can't be used with colors")},
- {"Nl", 8 UNTIC_COMMENT("number of labels on screen")},
- {"Ya", 16 UNTIC_COMMENT("numbers of bytes buffered before printing")},
- {"Yb", 17 UNTIC_COMMENT("spacing of pins vertically in pins per inch")},
- {"Yc", 18 UNTIC_COMMENT("spacing of dots horizontally in dots per inch")},
- {"Yd", 19 UNTIC_COMMENT("maximum value in micro_..._address")},
- {"Ye", 20 UNTIC_COMMENT("maximum value in parm_..._micro")},
- {"Yf", 21 UNTIC_COMMENT("character size when in micro mode")},
- {"Yg", 22 UNTIC_COMMENT("line size when in micro mode")},
- {"Yh", 23 UNTIC_COMMENT("numbers of pins in print-head")},
- {"Yi", 24 UNTIC_COMMENT("horizontal resolution in units per line")},
- {"Yj", 25 UNTIC_COMMENT("vertical resolution in units per line")},
- {"Yk", 26 UNTIC_COMMENT("horizontal resolution in units per inch")},
- {"Yl", 27 UNTIC_COMMENT("vertical resolution in units per inch")},
- {"Ym", 28 UNTIC_COMMENT("print rate in chars per second")},
- {"Yn", 29 UNTIC_COMMENT("character step size when in double wide mode")},
- {"Yo", 31 UNTIC_COMMENT("number of passed for each bit-image row")},
- {"Yp", 32 UNTIC_COMMENT("type of bit-image device")},
- {"co", 0 UNTIC_COMMENT("number of columns in aline")},
- {"dB", 36 UNTIC_COMMENT("padding required for ^H")},
- {"dC", 34 UNTIC_COMMENT("pad needed for CR")},
- {"dN", 35 UNTIC_COMMENT("pad needed for LF")},
- {"dT", 37 UNTIC_COMMENT("padding required for ^I")},
- {"it", 1 UNTIC_COMMENT("tabs initially every # spaces")},
- {"kn", 38 UNTIC_COMMENT("count of function keys")},
- {"lh", 9 UNTIC_COMMENT("rows in each label")},
- {"li", 2 UNTIC_COMMENT("number of lines on screen or page")},
- {"lm", 3 UNTIC_COMMENT("lines of memory if > line. 0 => varies")},
- {"lw", 10 UNTIC_COMMENT("columns in each label")},
- {"ma", 11 UNTIC_COMMENT("maximum combined attributes terminal can handle")},
- {"pa", 14 UNTIC_COMMENT("maximum number of color-pairs on the screen")},
- {"pb", 5 UNTIC_COMMENT("lowest baud rate where padding needed")},
- {"sg", 4 UNTIC_COMMENT("number of blank chars left by smso or rmso")},
- {"ug", 33 UNTIC_COMMENT("number of blanks left by ul")},
- {"vt", 6 UNTIC_COMMENT("virtual terminal number (CB/unix)")},
- {"ws", 7 UNTIC_COMMENT("columns in status line")},
- {"", -1 UNTIC_COMMENT(NULL)}
-};
-
-int _SLtt_tigetnum (SLterminfo_Type *t, char *cap)
-{
- int offset;
-
- if (t == NULL)
- return -1;
-
- if (t->flags == SLTERMCAP) return tcap_getnum (cap, t);
-
- offset = compute_cap_offset (cap, t, Tgetnum_Map, t->num_numbers);
- if (offset < 0) return -1;
- return make_integer (t->numbers + 2 * offset);
-}
-
-static Tgetstr_Map_Type Tgetflag_Map[] =
-{
- {"5i", 22 UNTIC_COMMENT("printer won't echo on screen")},
- {"HC", 23 UNTIC_COMMENT("cursor is hard to see")},
- {"MT", 40 UNTIC_COMMENT("has meta key")},
- {"ND", 26 UNTIC_COMMENT("scrolling region is non-destructive")},
- {"NL", 41 UNTIC_COMMENT("move down with \n")},
- {"NP", 25 UNTIC_COMMENT("pad character does not exist")},
- {"NR", 24 UNTIC_COMMENT("smcup does not reverse rmcup")},
- {"YA", 30 UNTIC_COMMENT("only positive motion for hpa/mhpa caps")},
- {"YB", 31 UNTIC_COMMENT("using cr turns off micro mode")},
- {"YC", 32 UNTIC_COMMENT("printer needs operator to change character set")},
- {"YD", 33 UNTIC_COMMENT("only positive motion for vpa/mvpa caps")},
- {"YE", 34 UNTIC_COMMENT("printing in last column causes cr")},
- {"YF", 35 UNTIC_COMMENT("changing character pitch changes resolution")},
- {"YG", 36 UNTIC_COMMENT("changing line pitch changes resolution")},
- {"am", 1 UNTIC_COMMENT("terminal has automatic margins")},
- {"bs", 37 UNTIC_COMMENT("uses ^H to move left")},
- {"bw", 0 UNTIC_COMMENT("cub1 wraps from column 0 to last column")},
- {"cc", 27 UNTIC_COMMENT("terminal can re-define existing colors")},
- {"da", 11 UNTIC_COMMENT("display may be retained above the screen")},
- {"db", 12 UNTIC_COMMENT("display may be retained below the screen")},
- {"eo", 5 UNTIC_COMMENT("can erase overstrikes with a blank")},
- {"es", 16 UNTIC_COMMENT("escape can be used on the status line")},
- {"gn", 6 UNTIC_COMMENT("generic line type")},
- {"hc", 7 UNTIC_COMMENT("hardcopy terminal")},
- {"hl", 29 UNTIC_COMMENT("terminal uses only HLS color notation (tektronix)")},
- {"hs", 9 UNTIC_COMMENT("has extra status line")},
- {"hz", 18 UNTIC_COMMENT("can't print ~'s (hazeltine)")},
- {"in", 10 UNTIC_COMMENT("insert mode distinguishes nulls")},
- {"km", 8 UNTIC_COMMENT("Has a meta key, sets msb high")},
- {"mi", 13 UNTIC_COMMENT("safe to move while in insert mode")},
- {"ms", 14 UNTIC_COMMENT("safe to move while in standout mode")},
- {"nc", 39 UNTIC_COMMENT("no way to go to start of line")},
- {"ns", 38 UNTIC_COMMENT("crt cannot scroll")},
- {"nx", 21 UNTIC_COMMENT("padding won't work, xon/xoff required")},
- {"os", 15 UNTIC_COMMENT("terminal can overstrike")},
- {"pt", 42 UNTIC_COMMENT("has 8-char tabs invoked with ^I")},
- {"ul", 19 UNTIC_COMMENT("underline character overstrikes")},
- {"ut", 28 UNTIC_COMMENT("screen erased with background color")},
- {"xb", 2 UNTIC_COMMENT("beehive (f1=escape, f2=ctrl C)")},
- {"xn", 4 UNTIC_COMMENT("newline ignored after 80 cols (concept)")},
- {"xo", 20 UNTIC_COMMENT("terminal uses xon/xoff handshaking")},
- {"xr", 43 UNTIC_COMMENT("return clears the line")},
- {"xs", 3 UNTIC_COMMENT("standout not erased by overwriting (hp)")},
- {"xt", 17 UNTIC_COMMENT("tabs destructive, magic so char (t1061)")},
- {"", -1 UNTIC_COMMENT(NULL)}
-};
-
-int _SLtt_tigetflag (SLterminfo_Type *t, char *cap)
-{
- int offset;
-
- if (t == NULL) return -1;
-
- if (t->flags == SLTERMCAP) return tcap_getflag (cap, t);
-
- offset = compute_cap_offset (cap, t, Tgetflag_Map, t->boolean_section_size);
-
- if (offset < 0) return -1;
- return (int) *(t->boolean_flags + offset);
-}
-
-/* These are my termcap routines. They only work with the TERMCAP environment
- * variable. This variable must contain the termcap entry and NOT the file.
- */
-
-static int tcap_getflag (char *cap, SLterminfo_Type *t)
-{
- char a, b;
- char *f = (char *) t->boolean_flags;
- char *fmax;
-
- if (f == NULL) return 0;
- fmax = f + t->boolean_section_size;
-
- a = *cap;
- b = *(cap + 1);
- while (f < fmax)
- {
- if ((a == f[0]) && (b == f[1]))
- return 1;
- f += 2;
- }
- return 0;
-}
-
-static char *tcap_get_cap (unsigned char *cap, unsigned char *caps, unsigned int len)
-{
- unsigned char c0, c1;
- unsigned char *caps_max;
-
- c0 = cap[0];
- c1 = cap[1];
-
- if (caps == NULL) return NULL;
- caps_max = caps + len;
- while (caps < caps_max)
- {
- if ((c0 == caps[0]) && (c1 == caps[1]))
- {
- return (char *) caps + 3;
- }
- caps += (int) caps[2];
- }
- return NULL;
-}
-
-static int tcap_getnum (char *cap, SLterminfo_Type *t)
-{
- cap = tcap_get_cap ((unsigned char *) cap, t->numbers, t->num_numbers);
- if (cap == NULL) return -1;
- return atoi (cap);
-}
-
-static char *tcap_getstr (char *cap, SLterminfo_Type *t)
-{
- return tcap_get_cap ((unsigned char *) cap, (unsigned char *) t->string_table, t->string_table_size);
-}
-
-static int tcap_extract_field (unsigned char *t0)
-{
- register unsigned char ch, *t = t0;
- while (((ch = *t) != 0) && (ch != ':')) t++;
- if (ch == ':') return (int) (t - t0);
- return -1;
-}
-
-int SLtt_Try_Termcap = 1;
-static int tcap_getent (char *term, SLterminfo_Type *ti)
-{
- unsigned char *termcap, ch;
- unsigned char *buf, *b;
- unsigned char *t;
- int len;
-
- if (SLtt_Try_Termcap == 0) return -1;
-#if 1
- /* XFREE86 xterm sets the TERMCAP environment variable to an invalid
- * value. Specifically, it lacks the tc= string.
- */
- if (!strncmp (term, "xterm", 5))
- return -1;
-#endif
- termcap = (unsigned char *) getenv ("TERMCAP");
- if ((termcap == NULL) || (*termcap == '/')) return -1;
-
- /* We have a termcap so lets use it provided it does not have a reference
- * to another terminal via tc=. In that case, use terminfo. The alternative
- * would be to parse the termcap file which I do not want to do right now.
- * Besides, this is a terminfo based system and if the termcap were parsed
- * terminfo would almost never get a chance to run. In addition, the tc=
- * thing should not occur if tset is used to set the termcap entry.
- */
- t = termcap;
- while ((len = tcap_extract_field (t)) != -1)
- {
- if ((len > 3) && (t[0] == 't') && (t[1] == 'c') && (t[2] == '='))
- return -1;
- t += (len + 1);
- }
-
- /* malloc some extra space just in case it is needed. */
- len = strlen ((char *) termcap) + 256;
- if (NULL == (buf = (unsigned char *) SLmalloc ((unsigned int) len))) return -1;
-
- b = buf;
-
- /* The beginning of the termcap entry contains the names of the entry.
- * It is terminated by a colon.
- */
-
- ti->terminal_names = (char *) b;
- t = termcap;
- len = tcap_extract_field (t);
- if (len < 0)
- {
- SLfree ((char *)buf);
- return -1;
- }
- strncpy ((char *) b, (char *) t, (unsigned int) len);
- b[len] = 0;
- b += len + 1;
- ti->name_section_size = len;
-
- /* Now, we are really at the start of the termcap entries. Point the
- * termcap variable here since we want to refer to this a number of times.
- */
- termcap = t + (len + 1);
-
- /* Process strings first. */
- ti->string_table = (char *) b;
- t = termcap;
- while (-1 != (len = tcap_extract_field (t)))
- {
- unsigned char *b1;
- unsigned char *tmax;
-
- /* We are looking for: XX=something */
- if ((len < 4) || (t[2] != '=') || (*t == '.'))
- {
- t += len + 1;
- continue;
- }
- tmax = t + len;
- b1 = b;
-
- while (t < tmax)
- {
- ch = *t++;
- if ((ch == '\\') && (t < tmax))
- {
- t = (unsigned char *) _SLexpand_escaped_char ((char *) t, (char *) &ch);
- }
- else if ((ch == '^') && (t < tmax))
- {
- ch = *t++;
- if (ch == '?') ch = 127;
- else ch = (ch | 0x20) - ('a' - 1);
- }
- *b++ = ch;
- }
- /* Null terminate it. */
- *b++ = 0;
- len = (int) (b - b1);
- b1[2] = (unsigned char) len; /* replace the = by the length */
- /* skip colon to next field. */
- t++;
- }
- ti->string_table_size = (int) (b - (unsigned char *) ti->string_table);
-
- /* Now process the numbers. */
-
- t = termcap;
- ti->numbers = b;
- while (-1 != (len = tcap_extract_field (t)))
- {
- unsigned char *b1;
- unsigned char *tmax;
-
- /* We are looking for: XX#NUMBER */
- if ((len < 4) || (t[2] != '#') || (*t == '.'))
- {
- t += len + 1;
- continue;
- }
- tmax = t + len;
- b1 = b;
-
- while (t < tmax)
- {
- *b++ = *t++;
- }
- /* Null terminate it. */
- *b++ = 0;
- len = (int) (b - b1);
- b1[2] = (unsigned char) len; /* replace the # by the length */
- t++;
- }
- ti->num_numbers = (int) (b - ti->numbers);
-
- /* Now process the flags. */
- t = termcap;
- ti->boolean_flags = b;
- while (-1 != (len = tcap_extract_field (t)))
- {
- /* We are looking for: XX#NUMBER */
- if ((len != 2) || (*t == '.') || (*t <= ' '))
- {
- t += len + 1;
- continue;
- }
- b[0] = t[0];
- b[1] = t[1];
- t += 3;
- b += 2;
- }
- ti->boolean_section_size = (int) (b - ti->boolean_flags);
- ti->flags = SLTERMCAP;
- return 0;
-}
-
-
-/* These routines are provided only for backward binary compatability.
- * They will vanish in V2.x
- */
-char *SLtt_tigetent (char *s)
-{
- return (char *) _SLtt_tigetent (s);
-}
-
-extern char *SLtt_tigetstr (char *s, char **p)
-{
- if (p == NULL)
- return NULL;
- return _SLtt_tigetstr ((SLterminfo_Type *) *p, s);
-}
-
-extern int SLtt_tigetnum (char *s, char **p)
-{
- if (p == NULL)
- return -1;
- return _SLtt_tigetnum ((SLterminfo_Type *) *p, s);
-}
-
-
diff --git a/mdk-stage1/slang/sltime.c b/mdk-stage1/slang/sltime.c
deleted file mode 100644
index 14fc6ec16..000000000
--- a/mdk-stage1/slang/sltime.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/* time related system calls */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include <sys/types.h>
-#include <time.h>
-
-#if defined(__BORLANDC__)
-# include <dos.h>
-#endif
-#if defined(__GO32__) || defined(__WATCOMC__)
-# include <dos.h>
-# include <bios.h>
-#endif
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef __WIN32__
-#include <windows.h>
-/* Sleep is defined badly in MSVC... */
-# ifdef _MSC_VER
-# define sleep(n) _sleep((n)*1000)
-# else
-# ifdef sleep
-# undef sleep
-# endif
-# define sleep(x) if(x)Sleep((x)*1000)
-# endif
-#endif
-
-
-#if defined(IBMPC_SYSTEM)
-/* For other system (Unix and VMS), _SLusleep is in sldisply.c */
-int _SLusleep (unsigned long s)
-{
- sleep (s/1000000L);
- s = s % 1000000L;
-
-# if defined(__WIN32__)
- Sleep (s/1000);
-#else
-# if defined(__IBMC__)
- DosSleep(s/1000);
-# else
-# if defined(_MSC_VER)
- _sleep (s/1000);
-# endif
-# endif
-#endif
- return 0;
-}
-#endif
-
-#if defined(__IBMC__) && !defined(_AIX)
-/* sleep is not a standard function in VA3. */
-unsigned int sleep (unsigned int seconds)
-{
- DosSleep(1000L * ((long)seconds));
- return 0;
-}
-#endif
-
-static char *ctime_cmd (unsigned long *tt)
-{
- char *t;
-
- t = ctime ((time_t *) tt);
- t[24] = 0; /* knock off \n */
- return (t);
-}
-
-static void sleep_cmd (void)
-{
- unsigned int secs;
-#if SLANG_HAS_FLOAT
- unsigned long usecs;
- double x;
-
- if (-1 == SLang_pop_double (&x, NULL, NULL))
- return;
-
- if (x < 0.0)
- x = 0.0;
- secs = (unsigned int) x;
- sleep (secs);
- x -= (double) secs;
- usecs = (unsigned long) (1e6 * x);
- if (usecs > 0) _SLusleep (usecs);
-#else
- if (-1 == SLang_pop_uinteger (&secs))
- return;
- if (secs != 0) sleep (secs);
-#endif
-}
-
-static unsigned long _time_cmd (void)
-{
- return (unsigned long) time (NULL);
-}
-
-#if defined(__GO32__)
-static char *djgpp_current_time (void) /*{{{*/
-{
- union REGS rg;
- unsigned int year;
- unsigned char month, day, weekday, hour, minute, sec;
- char days[] = "SunMonTueWedThuFriSat";
- char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
- static char the_date[26];
-
- rg.h.ah = 0x2A;
-#ifndef __WATCOMC__
- int86(0x21, &rg, &rg);
- year = rg.x.cx & 0xFFFF;
-#else
- int386(0x21, &rg, &rg);
- year = rg.x.ecx & 0xFFFF;
-#endif
-
- month = 3 * (rg.h.dh - 1);
- day = rg.h.dl;
- weekday = 3 * rg.h.al;
-
- rg.h.ah = 0x2C;
-
-#ifndef __WATCOMC__
- int86(0x21, &rg, &rg);
-#else
- int386(0x21, &rg, &rg);
-#endif
-
- hour = rg.h.ch;
- minute = rg.h.cl;
- sec = rg.h.dh;
-
- /* we want this form: Thu Apr 14 15:43:39 1994\n */
- sprintf(the_date, "%.3s %.3s%3d %02d:%02d:%02d %d\n",
- days + weekday, months + month,
- day, hour, minute, sec, year);
- return the_date;
-}
-
-/*}}}*/
-
-#endif
-
-char *SLcurrent_time_string (void) /*{{{*/
-{
- char *the_time;
-#ifndef __GO32__
- time_t myclock;
-
- myclock = time((time_t *) 0);
- the_time = (char *) ctime(&myclock);
-#else
- the_time = djgpp_current_time ();
-#endif
- /* returns the form Sun Sep 16 01:03:52 1985\n\0 */
- the_time[24] = '\0';
- return(the_time);
-}
-
-/*}}}*/
-
-static int push_tm_struct (struct tm *tms)
-{
- char *field_names [9];
- unsigned char field_types[9];
- VOID_STAR field_values [9];
- int int_values [9];
- unsigned int i;
-
- if (tms == NULL)
- return SLang_push_null ();
-
- field_names [0] = "tm_sec"; int_values [0] = tms->tm_sec;
- field_names [1] = "tm_min"; int_values [1] = tms->tm_min;
- field_names [2] = "tm_hour"; int_values [2] = tms->tm_hour;
- field_names [3] = "tm_mday"; int_values [3] = tms->tm_mday;
- field_names [4] = "tm_mon"; int_values [4] = tms->tm_mon;
- field_names [5] = "tm_year"; int_values [5] = tms->tm_year;
- field_names [6] = "tm_wday"; int_values [6] = tms->tm_wday;
- field_names [7] = "tm_yday"; int_values [7] = tms->tm_yday;
- field_names [8] = "tm_isdst"; int_values [8] = tms->tm_isdst;
-
- for (i = 0; i < 9; i++)
- {
- field_types [i] = SLANG_INT_TYPE;
- field_values [i] = (VOID_STAR) (int_values + i);
- }
-
- return SLstruct_create_struct (9, field_names, field_types, field_values);
-}
-
-
-static void localtime_cmd (long *t)
-{
- time_t tt = (time_t) *t;
- (void) push_tm_struct (localtime (&tt));
-}
-
-static void gmtime_cmd (long *t)
-{
-#ifdef HAVE_GMTIME
- time_t tt = (time_t) *t;
- (void) push_tm_struct (gmtime (&tt));
-#else
- localtime_cmd (t);
-#endif
-}
-
-#ifdef HAVE_TIMES
-
-# ifdef HAVE_SYS_TIMES_H
-# include <sys/times.h>
-# endif
-
-#include <limits.h>
-
-#ifdef CLK_TCK
-# define SECS_PER_TICK (1.0/(double)CLK_TCK)
-#else
-# ifdef CLOCKS_PER_SEC
-# define SECS_PER_TICK (1.0/(double)CLOCKS_PER_SEC)
-# else
-# define SECS_PER_TICK (1.0/60.0)
-# endif
-#endif
-
-static void times_cmd (void)
-{
- double dvals[4];
- struct tms t;
- VOID_STAR field_values[4];
- char *field_names[4];
- unsigned int i;
- unsigned char field_types[4];
-
- (void) times (&t);
-
- field_names[0] = "tms_utime"; dvals[0] = (double)t.tms_utime;
- field_names[1] = "tms_stime"; dvals[1] = (double)t.tms_stime;
- field_names[2] = "tms_cutime"; dvals[2] = (double)t.tms_cutime;
- field_names[3] = "tms_cstime"; dvals[3] = (double)t.tms_cstime;
-
- for (i = 0; i < 4; i++)
- {
- dvals[i] *= SECS_PER_TICK;
- field_values[i] = (VOID_STAR) &dvals[i];
- field_types[i] = SLANG_DOUBLE_TYPE;
- }
- (void) SLstruct_create_struct (4, field_names, field_types, field_values);
-}
-
-static struct tms Tic_TMS;
-
-static void tic_cmd (void)
-{
- (void) times (&Tic_TMS);
-}
-
-static double toc_cmd (void)
-{
- struct tms t;
- double d;
-
- (void) times (&t);
- d = ((t.tms_utime - Tic_TMS.tms_utime)
- + (t.tms_stime - Tic_TMS.tms_stime)) * SECS_PER_TICK;
- Tic_TMS = t;
- return d;
-}
-
-#endif /* HAVE_TIMES */
-
-
-static SLang_Intrin_Fun_Type Time_Funs_Table [] =
-{
- MAKE_INTRINSIC_1("ctime", ctime_cmd, SLANG_STRING_TYPE, SLANG_ULONG_TYPE),
- MAKE_INTRINSIC_0("sleep", sleep_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_time", _time_cmd, SLANG_ULONG_TYPE),
- MAKE_INTRINSIC_0("time", SLcurrent_time_string, SLANG_STRING_TYPE),
- MAKE_INTRINSIC_1("localtime", localtime_cmd, SLANG_VOID_TYPE, SLANG_LONG_TYPE),
- MAKE_INTRINSIC_1("gmtime", gmtime_cmd, SLANG_VOID_TYPE, SLANG_LONG_TYPE),
-
-#ifdef HAVE_TIMES
- MAKE_INTRINSIC_0("times", times_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("tic", tic_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("toc", toc_cmd, SLANG_DOUBLE_TYPE),
-#endif
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int _SLang_init_sltime (void)
-{
-#ifdef HAVE_TIMES
- (void) tic_cmd ();
-#endif
- return SLadd_intrin_fun_table (Time_Funs_Table, NULL);
-}
-
diff --git a/mdk-stage1/slang/sltoken.c b/mdk-stage1/slang/sltoken.c
deleted file mode 100644
index d08967a24..000000000
--- a/mdk-stage1/slang/sltoken.c
+++ /dev/null
@@ -1,1702 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#define MAX_TOKEN_LEN 254
-#define MAX_FILE_LINE_LEN 256
-
-static char Empty_Line[1] = {0};
-
-static int Default_Compile_Line_Num_Info;
-static char *Input_Line = Empty_Line;
-static char *Input_Line_Pointer;
-
-static SLPreprocess_Type *This_SLpp;
-
-static SLang_Load_Type *LLT;
-
-static char *map_token_to_string (_SLang_Token_Type *tok)
-{
- char *s;
- static char numbuf [32];
- unsigned char type;
- s = NULL;
-
- if (tok != NULL) type = tok->type;
- else type = 0;
-
- switch (type)
- {
- case 0:
- s = "??";
- break;
-
- case CHAR_TOKEN:
- case SHORT_TOKEN:
- case INT_TOKEN:
- case LONG_TOKEN:
- s = numbuf;
- sprintf (s, "%ld", tok->v.long_val);
- break;
-
- case UCHAR_TOKEN:
- case USHORT_TOKEN:
- case UINT_TOKEN:
- case ULONG_TOKEN:
- s = numbuf;
- sprintf (s, "%lu", (unsigned long)tok->v.long_val);
- break;
-
- case OBRACKET_TOKEN: s = "["; break;
- case CBRACKET_TOKEN: s = "]"; break;
- case OPAREN_TOKEN: s = "("; break;
- case CPAREN_TOKEN: s = ")"; break;
- case OBRACE_TOKEN: s = "{"; break;
- case CBRACE_TOKEN: s = "}"; break;
- case DEREF_TOKEN: s = "@"; break;
- case POUND_TOKEN: s = "#"; break;
- case COMMA_TOKEN: s = ","; break;
- case SEMICOLON_TOKEN: s = ";"; break;
- case COLON_TOKEN: s = ":"; break;
-
-#if SLANG_HAS_FLOAT
- case FLOAT_TOKEN:
- case DOUBLE_TOKEN:
- case COMPLEX_TOKEN:
-#endif
- case IDENT_TOKEN:
- if ((tok->free_sval_flag == 0) || (tok->num_refs == 0))
- break;
- /* drop */
- default:
- s = tok->v.s_val;
- break;
- }
-
- if (s == NULL)
- {
- s = numbuf;
- sprintf (s, "(0x%02X)", type);
- }
-
- return s;
-}
-
-static char *make_line_file_error (char *buf, unsigned int buflen,
- _SLang_Token_Type *tok, char *dsc, int line, char *file)
-{
-#if _SLANG_HAS_DEBUG_CODE
- if (tok != NULL) line = tok->line_number;
-#endif
- if (file == NULL) file = "??";
-
- (void) _SLsnprintf (buf, buflen, "%s: found '%s', line %d, file: %s",
- dsc, map_token_to_string (tok), line, file);
-
- return buf;
-}
-
-void _SLparse_error(char *str, _SLang_Token_Type *tok, int flag)
-{
- char buf [1024];
-
- if (str == NULL)
- str = "Parse Error";
-
- make_line_file_error (buf, sizeof (buf), tok, str, LLT->line_num, (char *) LLT->name);
-
- if ((flag == 0) && SLang_Error)
- return;
-
- SLang_verror (SL_SYNTAX_ERROR, "%s", buf);
-}
-
-static void do_line_file_error (int line, char *file)
-{
- SLang_verror (SL_SYNTAX_ERROR,
- "called from line %d, file: %s", line, file);
-}
-
-#define ALPHA_CHAR 1
-#define DIGIT_CHAR 2
-#define EXCL_CHAR 3
-#define SEP_CHAR 4
-#define OP_CHAR 5
-#define DOT_CHAR 6
-#define BOLDOT_CHAR 7
-#define DQUOTE_CHAR 8
-#define QUOTE_CHAR 9
-#define COMMENT_CHAR 10
-#define NL_CHAR 11
-#define BAD_CHAR 12
-#define WHITE_CHAR 13
-
-#define CHAR_EOF 255
-
-#define CHAR_CLASS(c) (Char_Type_Table[(c)][0])
-#define CHAR_DATA(c) (Char_Type_Table[(c)][1])
-
-/* In this table, if a single character can represent an operator, e.g.,
- * '&' (BAND_TOKEN), then it must be placed before multiple-character
- * operators that begin with the same character, e.g., "&=". See
- * get_op_token to see how this is exploited.
- *
- * The third character null terminates the operator string. This is for
- * the token structure.
- */
-static char Operators [29][4] =
-{
-#define OFS_EXCL 0
- {'!', '=', 0, NE_TOKEN},
-#define OFS_POUND 1
- {'#', 0, 0, POUND_TOKEN},
-#define OFS_BAND 2
- {'&', 0, 0, BAND_TOKEN},
- {'&', '&', 0, EOF_TOKEN},
- {'&', '=', 0, BANDEQS_TOKEN},
-#define OFS_STAR 5
- {'*', 0, 0, TIMES_TOKEN},
- {'*', '=', 0, TIMESEQS_TOKEN},
-#define OFS_PLUS 7
- {'+', 0, 0, ADD_TOKEN},
- {'+', '+', 0, PLUSPLUS_TOKEN},
- {'+', '=', 0, PLUSEQS_TOKEN},
-#define OFS_MINUS 10
- {'-', 0, 0, SUB_TOKEN},
- {'-', '-', 0, MINUSMINUS_TOKEN},
- {'-', '=', 0, MINUSEQS_TOKEN},
- {'-', '>', 0, NAMESPACE_TOKEN},
-#define OFS_DIV 14
- {'/', 0, 0, DIV_TOKEN},
- {'/', '=', 0, DIVEQS_TOKEN},
-#define OFS_LT 16
- {'<', 0, 0, LT_TOKEN},
- {'<', '=', 0, LE_TOKEN},
-#define OFS_EQS 18
- {'=', 0, 0, ASSIGN_TOKEN},
- {'=', '=', 0, EQ_TOKEN},
-#define OFS_GT 20
- {'>', 0, 0, GT_TOKEN},
- {'>', '=', 0, GE_TOKEN},
-#define OFS_AT 22
- {'@', 0, 0, DEREF_TOKEN},
-#define OFS_POW 23
- {'^', 0, 0, POW_TOKEN},
-#define OFS_BOR 24
- {'|', 0, 0, BOR_TOKEN},
- {'|', '|', 0, EOF_TOKEN},
- {'|', '=', 0, BOREQS_TOKEN},
-#define OFS_BNOT 27
- {'~', 0, 0, BNOT_TOKEN},
- { 0, 0, 0, EOF_TOKEN}
-};
-
-static unsigned char Char_Type_Table[256][2] =
-{
- { NL_CHAR, 0 }, /* 0x0 */ { BAD_CHAR, 0 }, /* 0x1 */
- { BAD_CHAR, 0 }, /* 0x2 */ { BAD_CHAR, 0 }, /* 0x3 */
- { BAD_CHAR, 0 }, /* 0x4 */ { BAD_CHAR, 0 }, /* 0x5 */
- { BAD_CHAR, 0 }, /* 0x6 */ { BAD_CHAR, 0 }, /* 0x7 */
- { WHITE_CHAR, 0 }, /* 0x8 */ { WHITE_CHAR, 0 }, /* 0x9 */
- { NL_CHAR, 0 }, /* \n */ { WHITE_CHAR, 0 }, /* 0xb */
- { WHITE_CHAR, 0 }, /* 0xc */ { WHITE_CHAR, 0 }, /* \r */
- { BAD_CHAR, 0 }, /* 0xe */ { BAD_CHAR, 0 }, /* 0xf */
- { BAD_CHAR, 0 }, /* 0x10 */ { BAD_CHAR, 0 }, /* 0x11 */
- { BAD_CHAR, 0 }, /* 0x12 */ { BAD_CHAR, 0 }, /* 0x13 */
- { BAD_CHAR, 0 }, /* 0x14 */ { BAD_CHAR, 0 }, /* 0x15 */
- { BAD_CHAR, 0 }, /* 0x16 */ { BAD_CHAR, 0 }, /* 0x17 */
- { BAD_CHAR, 0 }, /* 0x18 */ { BAD_CHAR, 0 }, /* 0x19 */
- { BAD_CHAR, 0 }, /* 0x1a */ { BAD_CHAR, 0 }, /* 0x1b */
- { BAD_CHAR, 0 }, /* 0x1c */ { BAD_CHAR, 0 }, /* 0x1d */
- { BAD_CHAR, 0 }, /* 0x1e */ { BAD_CHAR, 0 }, /* 0x1f */
- { WHITE_CHAR, 0 }, /* 0x20 */ { EXCL_CHAR, OFS_EXCL }, /* ! */
- { DQUOTE_CHAR, 0 }, /* " */ { OP_CHAR, OFS_POUND }, /* # */
- { ALPHA_CHAR, 0 }, /* $ */ { NL_CHAR, 0 },/* % */
- { OP_CHAR, OFS_BAND }, /* & */ { QUOTE_CHAR, 0 }, /* ' */
- { SEP_CHAR, OPAREN_TOKEN }, /* ( */ { SEP_CHAR, CPAREN_TOKEN }, /* ) */
- { OP_CHAR, OFS_STAR }, /* * */ { OP_CHAR, OFS_PLUS}, /* + */
- { SEP_CHAR, COMMA_TOKEN }, /* , */ { OP_CHAR, OFS_MINUS }, /* - */
- { DOT_CHAR, 0 }, /* . */ { OP_CHAR, OFS_DIV }, /* / */
- { DIGIT_CHAR, 0 }, /* 0 */ { DIGIT_CHAR, 0 }, /* 1 */
- { DIGIT_CHAR, 0 }, /* 2 */ { DIGIT_CHAR, 0 }, /* 3 */
- { DIGIT_CHAR, 0 }, /* 4 */ { DIGIT_CHAR, 0 }, /* 5 */
- { DIGIT_CHAR, 0 }, /* 6 */ { DIGIT_CHAR, 0 }, /* 7 */
- { DIGIT_CHAR, 0 }, /* 8 */ { DIGIT_CHAR, 0 }, /* 9 */
- { SEP_CHAR, COLON_TOKEN }, /* : */ { SEP_CHAR, SEMICOLON_TOKEN }, /* ; */
- { OP_CHAR, OFS_LT }, /* < */ { OP_CHAR, OFS_EQS }, /* = */
- { OP_CHAR, OFS_GT }, /* > */ { BAD_CHAR, 0 }, /* ? */
- { OP_CHAR, OFS_AT}, /* @ */ { ALPHA_CHAR, 0 }, /* A */
- { ALPHA_CHAR, 0 }, /* B */ { ALPHA_CHAR, 0 }, /* C */
- { ALPHA_CHAR, 0 }, /* D */ { ALPHA_CHAR, 0 }, /* E */
- { ALPHA_CHAR, 0 }, /* F */ { ALPHA_CHAR, 0 }, /* G */
- { ALPHA_CHAR, 0 }, /* H */ { ALPHA_CHAR, 0 }, /* I */
- { ALPHA_CHAR, 0 }, /* J */ { ALPHA_CHAR, 0 }, /* K */
- { ALPHA_CHAR, 0 }, /* L */ { ALPHA_CHAR, 0 }, /* M */
- { ALPHA_CHAR, 0 }, /* N */ { ALPHA_CHAR, 0 }, /* O */
- { ALPHA_CHAR, 0 }, /* P */ { ALPHA_CHAR, 0 }, /* Q */
- { ALPHA_CHAR, 0 }, /* R */ { ALPHA_CHAR, 0 }, /* S */
- { ALPHA_CHAR, 0 }, /* T */ { ALPHA_CHAR, 0 }, /* U */
- { ALPHA_CHAR, 0 }, /* V */ { ALPHA_CHAR, 0 }, /* W */
- { ALPHA_CHAR, 0 }, /* X */ { ALPHA_CHAR, 0 }, /* Y */
- { ALPHA_CHAR, 0 }, /* Z */ { SEP_CHAR, OBRACKET_TOKEN }, /* [ */
- { BAD_CHAR, 0 }, /* \ */ { SEP_CHAR, CBRACKET_TOKEN }, /* ] */
- { OP_CHAR, OFS_POW }, /* ^ */ { ALPHA_CHAR, 0 }, /* _ */
- { BAD_CHAR, 0 }, /* ` */ { ALPHA_CHAR, 0 }, /* a */
- { ALPHA_CHAR, 0 }, /* b */ { ALPHA_CHAR, 0 }, /* c */
- { ALPHA_CHAR, 0 }, /* d */ { ALPHA_CHAR, 0 }, /* e */
- { ALPHA_CHAR, 0 }, /* f */ { ALPHA_CHAR, 0 }, /* g */
- { ALPHA_CHAR, 0 }, /* h */ { ALPHA_CHAR, 0 }, /* i */
- { ALPHA_CHAR, 0 }, /* j */ { ALPHA_CHAR, 0 }, /* k */
- { ALPHA_CHAR, 0 }, /* l */ { ALPHA_CHAR, 0 }, /* m */
- { ALPHA_CHAR, 0 }, /* n */ { ALPHA_CHAR, 0 }, /* o */
- { ALPHA_CHAR, 0 }, /* p */ { ALPHA_CHAR, 0 }, /* q */
- { ALPHA_CHAR, 0 }, /* r */ { ALPHA_CHAR, 0 }, /* s */
- { ALPHA_CHAR, 0 }, /* t */ { ALPHA_CHAR, 0 }, /* u */
- { ALPHA_CHAR, 0 }, /* v */ { ALPHA_CHAR, 0 }, /* w */
- { ALPHA_CHAR, 0 }, /* x */ { ALPHA_CHAR, 0 }, /* y */
- { ALPHA_CHAR, 0 }, /* z */ { SEP_CHAR, OBRACE_TOKEN }, /* { */
- { OP_CHAR, OFS_BOR }, /* | */ { SEP_CHAR, CBRACE_TOKEN }, /* } */
- { OP_CHAR, OFS_BNOT }, /* ~ */ { BAD_CHAR, 0 }, /* 0x7f */
-
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* */
-};
-
-int _SLcheck_identifier_syntax (char *name)
-{
- unsigned char *p;
-
- p = (unsigned char *) name;
- if (ALPHA_CHAR == Char_Type_Table[*p][0]) while (1)
- {
- unsigned ch;
- unsigned char type;
-
- ch = *++p;
-
- type = Char_Type_Table [ch][0];
- if ((type != ALPHA_CHAR) && (type != DIGIT_CHAR))
- {
- if (ch == 0)
- return 0;
- break;
- }
- }
-
- SLang_verror (SL_SYNTAX_ERROR,
- "Name %s contains an illegal character", name);
- return -1;
-}
-
-static unsigned char prep_get_char (void)
-{
- register unsigned char ch;
-
- if (0 != (ch = *Input_Line_Pointer++))
- return ch;
-
- Input_Line_Pointer--;
- return 0;
-}
-
-static void unget_prep_char (unsigned char ch)
-{
- if ((Input_Line_Pointer != Input_Line)
- && (ch != 0))
- Input_Line_Pointer--;
- /* *Input_Line_Pointer = ch; -- Do not modify the Input_Line */
-}
-
-#include "keywhash.c"
-
-static int get_ident_token (_SLang_Token_Type *tok, unsigned char *s, unsigned int len)
-{
- unsigned char ch;
- unsigned char type;
- Keyword_Table_Type *table;
-
- while (1)
- {
- ch = prep_get_char ();
- type = CHAR_CLASS (ch);
- if ((type != ALPHA_CHAR) && (type != DIGIT_CHAR))
- {
- unget_prep_char (ch);
- break;
- }
- s [len++] = ch;
- }
-
- s[len] = 0;
-
- /* check if keyword */
- table = is_keyword ((char *) s, len);
- if (table != NULL)
- {
- tok->v.s_val = table->name;
- return (tok->type = table->type);
- }
-
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = IDENT_TOKEN);
-}
-
-static int get_number_token (_SLang_Token_Type *tok, unsigned char *s, unsigned int len)
-{
- unsigned char ch;
- unsigned char type;
-
- /* Look for pattern [0-9.xX]*([eE][-+]?[digits])?[ijfhul]? */
- while (1)
- {
- ch = prep_get_char ();
-
- type = CHAR_CLASS (ch);
- if ((type != DIGIT_CHAR) && (type != DOT_CHAR))
- {
- if ((ch != 'x') && (ch != 'X'))
- break;
- /* It must be hex */
- do
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
-
- s[len++] = ch;
- ch = prep_get_char ();
- type = CHAR_CLASS (ch);
- }
- while ((type == DIGIT_CHAR) || (type == ALPHA_CHAR));
- break;
- }
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s [len++] = ch;
- }
-
- /* At this point, type and ch are synchronized */
-
- if ((ch == 'e') || (ch == 'E'))
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s[len++] = ch;
- ch = prep_get_char ();
- if ((ch == '+') || (ch == '-'))
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s[len++] = ch;
- ch = prep_get_char ();
- }
-
- while (DIGIT_CHAR == (type = CHAR_CLASS(ch)))
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s[len++] = ch;
- ch = prep_get_char ();
- }
- }
-
- while (ALPHA_CHAR == type)
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s[len++] = ch;
- ch = prep_get_char ();
- type = CHAR_CLASS(ch);
- }
-
- unget_prep_char (ch);
- s[len] = 0;
-
- switch (SLang_guess_type ((char *) s))
- {
- default:
- tok->v.s_val = (char *) s;
- _SLparse_error ("Not a number", tok, 0);
- return (tok->type = EOF_TOKEN);
-
-#if SLANG_HAS_FLOAT
- case SLANG_FLOAT_TYPE:
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = FLOAT_TOKEN);
-
- case SLANG_DOUBLE_TYPE:
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = DOUBLE_TOKEN);
-#endif
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = COMPLEX_TOKEN);
-#endif
- case SLANG_CHAR_TYPE:
- tok->v.long_val = (char)SLatol (s);
- return tok->type = CHAR_TOKEN;
- case SLANG_UCHAR_TYPE:
- tok->v.long_val = (unsigned char)SLatol (s);
- return tok->type = UCHAR_TOKEN;
- case SLANG_SHORT_TYPE:
- tok->v.long_val = (short)SLatol (s);
- return tok->type = SHORT_TOKEN;
- case SLANG_USHORT_TYPE:
- tok->v.long_val = (unsigned short)SLatoul (s);
- return tok->type = USHORT_TOKEN;
- case SLANG_INT_TYPE:
- tok->v.long_val = (int)SLatol (s);
- return tok->type = INT_TOKEN;
- case SLANG_UINT_TYPE:
- tok->v.long_val = (unsigned int)SLatoul (s);
- return tok->type = UINT_TOKEN;
- case SLANG_LONG_TYPE:
- tok->v.long_val = SLatol (s);
- return tok->type = LONG_TOKEN;
- case SLANG_ULONG_TYPE:
- tok->v.long_val = SLatoul (s);
- return tok->type = ULONG_TOKEN;
- }
-
- too_long_return_error:
- _SLparse_error ("Number too long for buffer", NULL, 0);
- return (tok->type == EOF_TOKEN);
-}
-
-static int get_op_token (_SLang_Token_Type *tok, char ch)
-{
- unsigned int offset;
- char second_char;
- unsigned char type;
- char *name;
-
- /* operators are: + - / * ++ -- += -= = == != > < >= <= | etc..
- * These lex to the longest valid operator token.
- */
-
- offset = CHAR_DATA((unsigned char) ch);
- if (0 == Operators [offset][1])
- {
- name = Operators [offset];
- type = name [3];
- }
- else
- {
- type = EOF_TOKEN;
- name = NULL;
- }
-
- second_char = prep_get_char ();
- do
- {
- if (second_char == Operators[offset][1])
- {
- name = Operators [offset];
- type = name [3];
- break;
- }
- offset++;
- }
- while (ch == Operators[offset][0]);
-
- tok->type = type;
-
- if (type == EOF_TOKEN)
- {
- _SLparse_error ("Operator not supported", NULL, 0);
- return type;
- }
-
- tok->v.s_val = name;
-
- if (name[1] == 0)
- unget_prep_char (second_char);
-
- return type;
-}
-
-/* If this returns non-zero, then it is a binary string */
-static int expand_escaped_string (register char *s,
- register char *t, register char *tmax,
- unsigned int *lenp)
-{
- char *s0;
- int is_binary = 0;
- char ch;
-
- s0 = s;
- while (t < tmax)
- {
- ch = *t++;
- if (ch == '\\')
- {
- t = _SLexpand_escaped_char (t, &ch);
- if (ch == 0) is_binary = 1;
- }
- *s++ = ch;
- }
- *s = 0;
-
- *lenp = (unsigned char) (s - s0);
- return is_binary;
-}
-
-static int get_string_token (_SLang_Token_Type *tok, unsigned char quote_char,
- unsigned char *s)
-{
- unsigned char ch;
- unsigned int len = 0;
- int has_quote = 0;
- int is_binary;
-
- while (1)
- {
- ch = prep_get_char ();
- if (ch == 0)
- {
- _SLparse_error("Expecting quote-character", NULL, 0);
- return (tok->type = EOF_TOKEN);
- }
- if (ch == quote_char) break;
-
- s[len++] = ch;
-
- if (len == (MAX_TOKEN_LEN - 1))
- {
- _SLparse_error ("String too long for buffer", NULL, 0);
- return (tok->type == EOF_TOKEN);
- }
-
- if (ch == '\\')
- {
- has_quote = 1;
- ch = prep_get_char ();
- s[len++] = ch;
- }
- }
-
- s[len] = 0;
-
- if (has_quote)
- is_binary = expand_escaped_string ((char *) s, (char *)s, (char *)s + len, &len);
- else is_binary = 0;
-
- if ('"' == quote_char)
- {
- tok->free_sval_flag = 1;
- if (is_binary)
- {
- tok->v.b_val = SLbstring_create (s, len);
- return tok->type = BSTRING_TOKEN;
- }
- else
- {
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s,
- len,
- &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = STRING_TOKEN);
- }
- }
-
- /* else single character */
- if (s[1] != 0)
- {
- _SLparse_error("Single char expected", NULL, 0);
- return (tok->type = EOF_TOKEN);
- }
-
- tok->v.long_val = s[0];
- return (tok->type = UCHAR_TOKEN);
-}
-
-static int extract_token (_SLang_Token_Type *tok, unsigned char ch, unsigned char t)
-{
- unsigned char s [MAX_TOKEN_LEN];
- unsigned int slen;
-
- s[0] = (char) ch;
- slen = 1;
-
- switch (t)
- {
- case ALPHA_CHAR:
- return get_ident_token (tok, s, slen);
-
- case OP_CHAR:
- return get_op_token (tok, ch);
-
- case DIGIT_CHAR:
- return get_number_token (tok, s, slen);
-
- case EXCL_CHAR:
- ch = prep_get_char ();
- s [slen++] = ch;
- t = CHAR_CLASS(ch);
- if (t == ALPHA_CHAR) return get_ident_token (tok, s, slen);
- if (t == OP_CHAR)
- {
- unget_prep_char (ch);
- return get_op_token (tok, '!');
- }
- _SLparse_error("Misplaced !", NULL, 0);
- return -1;
-
- case DOT_CHAR:
- ch = prep_get_char ();
- if (DIGIT_CHAR == CHAR_CLASS(ch))
- {
- s [slen++] = ch;
- return get_number_token (tok, s, slen);
- }
- unget_prep_char (ch);
- return (tok->type = DOT_TOKEN);
-
- case SEP_CHAR:
- return (tok->type = CHAR_DATA(ch));
-
- case DQUOTE_CHAR:
- case QUOTE_CHAR:
- return get_string_token (tok, ch, s);
-
- default:
- _SLparse_error("Invalid character", NULL, 0);
- return (tok->type = EOF_TOKEN);
- }
-}
-
-int _SLget_rpn_token (_SLang_Token_Type *tok)
-{
- unsigned char ch;
-
- tok->v.s_val = "??";
- while ((ch = *Input_Line_Pointer) != 0)
- {
- unsigned char t;
-
- Input_Line_Pointer++;
- if (WHITE_CHAR == (t = CHAR_CLASS(ch)))
- continue;
-
- if (NL_CHAR == t)
- break;
-
- return extract_token (tok, ch, t);
- }
- Input_Line_Pointer = Empty_Line;
- return EOF_TOKEN;
-}
-
-int _SLget_token (_SLang_Token_Type *tok)
-{
- unsigned char ch;
- unsigned char t;
-
- tok->num_refs = 1;
- tok->free_sval_flag = 0;
- tok->v.s_val = "??";
-#if _SLANG_HAS_DEBUG_CODE
- tok->line_number = LLT->line_num;
-#endif
- if (SLang_Error || (Input_Line == NULL))
- return (tok->type = EOF_TOKEN);
-
- while (1)
- {
- ch = *Input_Line_Pointer++;
- if (WHITE_CHAR == (t = CHAR_CLASS (ch)))
- continue;
-
- if (t != NL_CHAR)
- return extract_token (tok, ch, t);
-
- do
- {
- LLT->line_num++;
-#if _SLANG_HAS_DEBUG_CODE
- tok->line_number++;
-#endif
- Input_Line = LLT->read(LLT);
- if ((NULL == Input_Line) || SLang_Error)
- {
- Input_Line_Pointer = Input_Line = NULL;
- return (tok->type = EOF_TOKEN);
- }
- }
- while (0 == SLprep_line_ok(Input_Line, This_SLpp));
-
- Input_Line_Pointer = Input_Line;
- if (*Input_Line_Pointer == '.')
- {
- Input_Line_Pointer++;
- return tok->type = RPN_TOKEN;
- }
- }
-}
-
-static int prep_exists_function (char *line, char comment)
-{
- char buf[MAX_FILE_LINE_LEN], *b, *bmax;
- unsigned char ch;
-
- bmax = buf + (sizeof (buf) - 1);
-
- while (1)
- {
- /* skip whitespace */
- while ((ch = (unsigned char) *line),
- ch && (ch != '\n') && (ch <= ' '))
- line++;
-
- if ((ch <= '\n')
- || (ch == (unsigned char) comment)) break;
-
- b = buf;
- while ((ch = (unsigned char) *line) > ' ')
- {
- if (b < bmax) *b++ = (char) ch;
- line++;
- }
- *b = 0;
-
- if (SLang_is_defined (buf))
- return 1;
- }
-
- return 0;
-}
-
-static int prep_eval_expr (char *expr)
-{
- int ret;
-
- if (0 != SLang_load_string (expr))
- return -1;
- if (-1 == SLang_pop_integer (&ret))
- return -1;
- return (ret != 0);
-}
-
-
-int SLang_load_object (SLang_Load_Type *x)
-{
- SLPreprocess_Type this_pp;
- SLPreprocess_Type *save_this_pp;
- SLang_Load_Type *save_llt;
- char *save_input_line, *save_input_line_ptr;
-#if _SLANG_HAS_DEBUG_CODE
- int save_compile_line_num_info;
-#endif
- int save_auto_declare_variables;
-
- if (SLprep_exists_hook == NULL)
- SLprep_exists_hook = prep_exists_function;
-
- if (_SLprep_eval_hook == NULL)
- _SLprep_eval_hook = prep_eval_expr;
-
- if (-1 == SLprep_open_prep (&this_pp)) return -1;
-
- if (-1 == _SLcompile_push_context (x))
- return -1;
-
-#if _SLANG_HAS_DEBUG_CODE
- save_compile_line_num_info = _SLang_Compile_Line_Num_Info;
-#endif
- save_this_pp = This_SLpp;
- save_input_line = Input_Line;
- save_input_line_ptr = Input_Line_Pointer;
- save_llt = LLT;
- save_auto_declare_variables = _SLang_Auto_Declare_Globals;
-
- This_SLpp = &this_pp;
- Input_Line_Pointer = Input_Line = Empty_Line;
- LLT = x;
-
- x->line_num = 0;
- x->parse_level = 0;
- _SLang_Auto_Declare_Globals = x->auto_declare_globals;
-
-#if _SLANG_HAS_DEBUG_CODE
- _SLang_Compile_Line_Num_Info = Default_Compile_Line_Num_Info;
-#endif
-
- _SLparse_start (x);
- if (SLang_Error)
- do_line_file_error (x->line_num, x->name);
-
- _SLang_Auto_Declare_Globals = save_auto_declare_variables;
-
- if (SLang_Error) SLang_restart (0);
-
- (void) _SLcompile_pop_context ();
-
- Input_Line = save_input_line;
- Input_Line_Pointer = save_input_line_ptr;
- LLT = save_llt;
- This_SLpp = save_this_pp;
-
-#if _SLANG_HAS_DEBUG_CODE
- _SLang_Compile_Line_Num_Info = save_compile_line_num_info;
-#endif
-
- if (SLang_Error) return -1;
- return 0;
-}
-
-SLang_Load_Type *SLallocate_load_type (char *name)
-{
- SLang_Load_Type *x;
-
- if (NULL == (x = (SLang_Load_Type *)SLmalloc (sizeof (SLang_Load_Type))))
- return NULL;
- memset ((char *) x, 0, sizeof (SLang_Load_Type));
-
- if (name == NULL) name = "";
-
- x->name = SLang_create_slstring (name);
- if (x->name == NULL)
- {
- SLfree ((char *) x);
- return NULL;
- }
- return x;
-}
-
-void SLdeallocate_load_type (SLang_Load_Type *x)
-{
- if (x != NULL)
- {
- SLang_free_slstring (x->name);
- SLfree ((char *) x);
- }
-}
-
-typedef struct
-{
- char *string;
- char *ptr;
-}
-String_Client_Data_Type;
-
-static char *read_from_string (SLang_Load_Type *x)
-{
- String_Client_Data_Type *data;
- char *s, *s1, ch;
-
- data = (String_Client_Data_Type *)x->client_data;
- s1 = s = data->ptr;
-
- if (*s == 0)
- return NULL;
-
- while ((ch = *s) != 0)
- {
- s++;
- if (ch == '\n')
- break;
- }
-
- data->ptr = s;
- return s1;
-}
-
-int SLang_load_string (char *string)
-{
- SLang_Load_Type *x;
- String_Client_Data_Type data;
- int ret;
-
- if (string == NULL)
- return -1;
-
- /* Grab a private copy in case loading modifies string */
- if (NULL == (string = SLang_create_slstring (string)))
- return -1;
-
- /* To avoid creating a static data space for every string loaded,
- * all string objects will be regarded as identical. So, identify
- * all of them by ***string***
- */
- if (NULL == (x = SLallocate_load_type ("***string***")))
- {
- SLang_free_slstring (string);
- return -1;
- }
-
- x->client_data = (VOID_STAR) &data;
- x->read = read_from_string;
-
- data.ptr = data.string = string;
- if (-1 == (ret = SLang_load_object (x)))
- SLang_verror (SLang_Error, "called from eval: %s", string);
-
- SLang_free_slstring (string);
- SLdeallocate_load_type (x);
- return ret;
-}
-
-typedef struct
-{
- char *buf;
- FILE *fp;
-}
-File_Client_Data_Type;
-
-char *SLang_User_Prompt;
-static char *read_from_file (SLang_Load_Type *x)
-{
- FILE *fp;
- File_Client_Data_Type *c;
-
- c = (File_Client_Data_Type *)x->client_data;
- fp = c->fp;
-
- if ((fp == stdin) && (SLang_User_Prompt != NULL))
- {
- fputs (SLang_User_Prompt, stdout);
- fflush (stdout);
- }
-
- return fgets (c->buf, MAX_FILE_LINE_LEN, c->fp);
-}
-
-/* Note that file could be freed from Slang during run of this routine
- * so get it and store it !! (e.g., autoloading)
- */
-int (*SLang_Load_File_Hook) (char *);
-int SLang_load_file (char *f)
-{
- File_Client_Data_Type client_data;
- SLang_Load_Type *x;
- char *name, *buf;
- FILE *fp;
-
- if (SLang_Load_File_Hook != NULL)
- return (*SLang_Load_File_Hook) (f);
-
- if (f == NULL) name = "<stdin>"; else name = f;
-
- name = SLang_create_slstring (name);
- if (name == NULL)
- return -1;
-
- if (NULL == (x = SLallocate_load_type (name)))
- {
- SLang_free_slstring (name);
- return -1;
- }
-
- buf = NULL;
-
- if (f != NULL)
- fp = fopen (f, "r");
- else
- fp = stdin;
-
- if (fp == NULL)
- SLang_verror (SL_OBJ_NOPEN, "Unable to open %s", name);
- else if (NULL != (buf = SLmalloc (MAX_FILE_LINE_LEN + 1)))
- {
- client_data.fp = fp;
- client_data.buf = buf;
- x->client_data = (VOID_STAR) &client_data;
- x->read = read_from_file;
-
- (void) SLang_load_object (x);
- }
-
- if ((fp != NULL) && (fp != stdin))
- fclose (fp);
-
- SLfree (buf);
- SLang_free_slstring (name);
- SLdeallocate_load_type (x);
-
- if (SLang_Error)
- return -1;
-
- return 0;
-}
-
-int SLang_guess_type (char *t)
-{
- char *p;
- register char ch;
- int modifier = 0;
-
- if (*t == '-') t++;
- p = t;
-
-#if SLANG_HAS_FLOAT
- if (*p != '.')
- {
-#endif
- modifier = 0;
- while ((*p >= '0') && (*p <= '9')) p++;
- if (t == p) return (SLANG_STRING_TYPE);
- if ((*p == 'x') && (p == t + 1)) /* 0x?? */
- {
- modifier |= 8;
- p++;
- while (ch = *p,
- ((ch >= '0') && (ch <= '9'))
- || (((ch | 0x20) >= 'a') && ((ch | 0x20) <= 'f'))) p++;
- }
-
- /* Now look for UL, LU, UH, HU, L, H modifiers */
- while ((ch = *p) != 0)
- {
- ch |= 0x20;
- if (ch == 'h') modifier |= 1;
- else if (ch == 'l') modifier |= 2;
- else if (ch == 'u') modifier |= 4;
- else break;
- p++;
- }
- if ((1|2) == (modifier & (1|2))) /* hl present */
- return SLANG_STRING_TYPE;
-
- if (ch == 0)
- {
- if ((modifier & 0x7) == 0) return SLANG_INT_TYPE;
- if (modifier & 4)
- {
- if (modifier & 1) return SLANG_USHORT_TYPE;
- if (modifier & 2) return SLANG_ULONG_TYPE;
- return SLANG_UINT_TYPE;
- }
- if (modifier & 1) return SLANG_SHORT_TYPE;
- if (modifier & 2) return SLANG_LONG_TYPE;
- return SLANG_INT_TYPE;
- }
-
- if (modifier) return SLANG_STRING_TYPE;
-#if SLANG_HAS_FLOAT
- }
-
- /* now down to double case */
- if (*p == '.')
- {
- p++;
- while ((*p >= '0') && (*p <= '9')) p++;
- }
- if (*p == 0) return(SLANG_DOUBLE_TYPE);
- if ((*p != 'e') && (*p != 'E'))
- {
-# if SLANG_HAS_COMPLEX
- if (((*p == 'i') || (*p == 'j'))
- && (p[1] == 0))
- return SLANG_COMPLEX_TYPE;
-# endif
- if (((*p | 0x20) == 'f') && (p[1] == 0))
- return SLANG_FLOAT_TYPE;
-
- return SLANG_STRING_TYPE;
- }
-
- p++;
- if ((*p == '-') || (*p == '+')) p++;
- while ((*p >= '0') && (*p <= '9')) p++;
- if (*p != 0)
- {
-# if SLANG_HAS_COMPLEX
- if (((*p == 'i') || (*p == 'j'))
- && (p[1] == 0))
- return SLANG_COMPLEX_TYPE;
-# endif
- if (((*p | 0x20) == 'f') && (p[1] == 0))
- return SLANG_FLOAT_TYPE;
-
- return SLANG_STRING_TYPE;
- }
- return SLANG_DOUBLE_TYPE;
-#else
- return SLANG_STRING_TYPE;
-#endif /* SLANG_HAS_FLOAT */
-}
-
-static int hex_atoul (unsigned char *s, unsigned long *ul)
-{
- register unsigned char ch;
- register unsigned long value;
- register int base;
-
- s++; /* skip the leading 0 */
-
- /* look for 'x' which indicates hex */
- if ((*s | 0x20) == 'x')
- {
- base = 16;
- s++;
- if (*s == 0)
- {
- SLang_Error = SL_SYNTAX_ERROR;
- return -1;
- }
- }
- else base = 8;
-
- value = 0;
- while ((ch = *s++) != 0)
- {
- char ch1 = ch | 0x20;
- switch (ch1)
- {
- default:
- SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case 'u':
- case 'l':
- case 'h':
- *ul = value;
- return 0;
-
- case '8':
- case '9':
- if (base != 16) SLang_Error = SL_SYNTAX_ERROR;
- /* drop */
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- ch1 -= '0';
- break;
-
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- if (base != 16) SLang_Error = SL_SYNTAX_ERROR;
- ch1 = (ch1 - 'a') + 10;
- break;
- }
- value = value * base + ch1;
- }
- *ul = value;
- return 0;
-}
-
-/* Note: These routines do not check integer overflow. I would use the C
- * library functions atol and atoul but some implementations check overflow
- * and some do not. The following implementations provide a consistent
- * behavior.
- */
-unsigned long SLatoul (unsigned char *s)
-{
- int sign;
- unsigned long value;
-
- if (*s == '-') sign = -1;
- else
- {
- sign = 1;
- if (*s == '+') s++;
- }
-
- if (*s == '0')
- {
- if (-1 == hex_atoul (s, &value))
- return (unsigned long) -1;
- }
- else
- {
- while (WHITE_CHAR == CHAR_CLASS(*s))
- s++;
-
- value = 0;
- while (DIGIT_CHAR == CHAR_CLASS(*s))
- {
- value = value * 10 + (unsigned long) (*s - '0');
- s++;
- }
- }
-
- if (sign == -1)
- value = (unsigned long)-1L * value;
-
- return value;
-}
-
-long SLatol (unsigned char *s)
-{
- while (WHITE_CHAR == CHAR_CLASS(*s))
- s++;
-
- if (*s == '-')
- {
- long value = (long) SLatoul (s+1);
- return -value;
- }
- return (long) SLatoul (s);
-}
-
-int SLatoi (unsigned char *s)
-{
- return (int) SLatol (s);
-}
-
-static char *check_byte_compiled_token (char *buf)
-{
- unsigned int len_lo, len_hi, len;
-
- len_lo = (unsigned char) *Input_Line_Pointer++;
- if ((len_lo < 32)
- || ((len_hi = (unsigned char)*Input_Line_Pointer++) < 32)
- || ((len = (len_lo - 32) | ((len_hi - 32) << 7)) >= MAX_TOKEN_LEN))
- {
- SLang_doerror ("Byte compiled file appears corrupt");
- return NULL;
- }
-
- SLMEMCPY (buf, Input_Line_Pointer, len);
- buf += len;
- Input_Line_Pointer += len;
- *buf = 0;
- return buf;
-}
-
-void _SLcompile_byte_compiled (void)
-{
- unsigned char type;
- _SLang_Token_Type tok;
- char buf[MAX_TOKEN_LEN];
- char *ebuf;
- unsigned int len;
-
- memset ((char *) &tok, 0, sizeof (_SLang_Token_Type));
-
- while (SLang_Error == 0)
- {
- top_of_switch:
- type = (unsigned char) *Input_Line_Pointer++;
- switch (type)
- {
- case '\n':
- case 0:
- if (NULL == (Input_Line = LLT->read(LLT)))
- {
- Input_Line_Pointer = Input_Line = NULL;
- return;
- }
- Input_Line_Pointer = Input_Line;
- goto top_of_switch;
-
- case LINE_NUM_TOKEN:
- case CHAR_TOKEN:
- case UCHAR_TOKEN:
- case SHORT_TOKEN:
- case USHORT_TOKEN:
- case INT_TOKEN:
- case UINT_TOKEN:
- case LONG_TOKEN:
- case ULONG_TOKEN:
- if (NULL == check_byte_compiled_token (buf))
- return;
- tok.v.long_val = atol (buf);
- break;
-
- case COMPLEX_TOKEN:
- case FLOAT_TOKEN:
- case DOUBLE_TOKEN:
- if (NULL == check_byte_compiled_token (buf))
- return;
- tok.v.s_val = buf;
- break;
-
- case ESC_STRING_TOKEN:
- if (NULL == (ebuf = check_byte_compiled_token (buf)))
- return;
- tok.v.s_val = buf;
- if (expand_escaped_string (buf, buf, ebuf, &len))
- {
- tok.hash = len;
- type = _BSTRING_TOKEN;
- }
- else
- {
- tok.hash = _SLstring_hash ((unsigned char *)buf, (unsigned char *)buf + len);
- type = STRING_TOKEN;
- }
- break;
-
- case TMP_TOKEN:
- case DEFINE_TOKEN:
- case DEFINE_STATIC_TOKEN:
- case DEFINE_PRIVATE_TOKEN:
- case DEFINE_PUBLIC_TOKEN:
- case DOT_TOKEN:
- case STRING_TOKEN:
- case IDENT_TOKEN:
- case _REF_TOKEN:
- case _DEREF_ASSIGN_TOKEN:
- case _SCALAR_ASSIGN_TOKEN:
- case _SCALAR_PLUSEQS_TOKEN:
- case _SCALAR_MINUSEQS_TOKEN:
- case _SCALAR_TIMESEQS_TOKEN:
- case _SCALAR_DIVEQS_TOKEN:
- case _SCALAR_BOREQS_TOKEN:
- case _SCALAR_BANDEQS_TOKEN:
- case _SCALAR_PLUSPLUS_TOKEN:
- case _SCALAR_POST_PLUSPLUS_TOKEN:
- case _SCALAR_MINUSMINUS_TOKEN:
- case _SCALAR_POST_MINUSMINUS_TOKEN:
- case _STRUCT_ASSIGN_TOKEN:
- case _STRUCT_PLUSEQS_TOKEN:
- case _STRUCT_MINUSEQS_TOKEN:
- case _STRUCT_TIMESEQS_TOKEN:
- case _STRUCT_DIVEQS_TOKEN:
- case _STRUCT_BOREQS_TOKEN:
- case _STRUCT_BANDEQS_TOKEN:
- case _STRUCT_POST_MINUSMINUS_TOKEN:
- case _STRUCT_MINUSMINUS_TOKEN:
- case _STRUCT_POST_PLUSPLUS_TOKEN:
- case _STRUCT_PLUSPLUS_TOKEN:
- if (NULL == (ebuf = check_byte_compiled_token (buf)))
- return;
- tok.v.s_val = buf;
- tok.hash = _SLstring_hash ((unsigned char *)buf, (unsigned char *)ebuf);
- break;
-
- default:
- break;
- }
- tok.type = type;
-
- (*_SLcompile_ptr) (&tok);
- }
-}
-
-static int escape_string (unsigned char *s, unsigned char *smax,
- unsigned char *buf, unsigned char *buf_max,
- int *is_escaped)
-{
- unsigned char ch;
-
- *is_escaped = 0;
- while (buf < buf_max)
- {
- if (s == smax)
- {
- *buf = 0;
- return 0;
- }
-
- ch = *s++;
- switch (ch)
- {
- default:
- *buf++ = ch;
- break;
-
- case 0:
- *buf++ = '\\';
- if (buf < buf_max) *buf++ = 'x';
- if (buf < buf_max) *buf++ = '0';
- if (buf < buf_max) *buf++ = '0';
- *is_escaped = 1;
- break; /* return 0; */
-
- case '\n':
- *buf++ = '\\';
- if (buf < buf_max) *buf++ = 'n';
- *is_escaped = 1;
- break;
-
- case '\r':
- *buf++ = '\\';
- if (buf < buf_max) *buf++ = 'r';
- *is_escaped = 1;
- break;
-
- case 0x1A: /* ^Z */
- *buf++ = '\\';
- if (buf < buf_max) *buf++ = 'x';
- if (buf < buf_max) *buf++ = '1';
- if (buf < buf_max) *buf++ = 'A';
- *is_escaped = 1;
- break;
-
- case '\\':
- *buf++ = ch;
- if (buf < buf_max) *buf++ = ch;
- *is_escaped = 1;
- break;
- }
- }
- _SLparse_error ("String too long to byte-compile", NULL, 0);
- return -1;
-}
-
-static FILE *Byte_Compile_Fp;
-static unsigned int Byte_Compile_Line_Len;
-
-static int bytecomp_write_data (char *buf, unsigned int len)
-{
- char *err = "Write Error";
-
- if ((Byte_Compile_Line_Len + len + 1) >= MAX_FILE_LINE_LEN)
- {
- if (EOF == fputs ("\n", Byte_Compile_Fp))
- {
- SLang_doerror (err);
- return -1;
- }
- Byte_Compile_Line_Len = 0;
- }
-
- if (EOF == fputs (buf, Byte_Compile_Fp))
- {
- SLang_doerror (err);
- return -1;
- }
- Byte_Compile_Line_Len += len;
- return 0;
-}
-
-static void byte_compile_token (_SLang_Token_Type *tok)
-{
- unsigned char buf [MAX_TOKEN_LEN + 4], *buf_max;
- unsigned int len;
- char *b3;
- int is_escaped;
- unsigned char *s;
-
- if (SLang_Error) return;
-
- buf [0] = (unsigned char) tok->type;
- buf [1] = 0;
-
- buf_max = buf + sizeof(buf);
- b3 = (char *) buf + 3;
-
- switch (tok->type)
- {
- case LINE_NUM_TOKEN:
- case CHAR_TOKEN:
- case SHORT_TOKEN:
- case INT_TOKEN:
- case LONG_TOKEN:
- sprintf (b3, "%ld", tok->v.long_val);
- break;
-
- case UCHAR_TOKEN:
- case USHORT_TOKEN:
- case UINT_TOKEN:
- case ULONG_TOKEN:
- sprintf (b3, "%lu", tok->v.long_val);
- break;
-
- case _BSTRING_TOKEN:
- s = (unsigned char *) tok->v.s_val;
- len = (unsigned int) tok->hash;
-
- if (-1 == escape_string (s, s + len,
- (unsigned char *)b3, buf_max,
- &is_escaped))
- return;
-
- buf[0] = ESC_STRING_TOKEN;
- break;
-
- case BSTRING_TOKEN:
- if (NULL == (s = SLbstring_get_pointer (tok->v.b_val, &len)))
- return;
-
- if (-1 == escape_string (s, s + len,
- (unsigned char *)b3, buf_max,
- &is_escaped))
- return;
- buf[0] = ESC_STRING_TOKEN;
- break;
-
- case STRING_TOKEN:
- s = (unsigned char *)tok->v.s_val;
-
- if (-1 == escape_string (s, s + strlen ((char *)s),
- (unsigned char *)b3, buf_max,
- &is_escaped))
- return;
-
- if (is_escaped)
- buf[0] = ESC_STRING_TOKEN;
- break;
-
- /* a _SCALAR_* token is attached to an identifier. */
- case _DEREF_ASSIGN_TOKEN:
- case _SCALAR_ASSIGN_TOKEN:
- case _SCALAR_PLUSEQS_TOKEN:
- case _SCALAR_MINUSEQS_TOKEN:
- case _SCALAR_TIMESEQS_TOKEN:
- case _SCALAR_DIVEQS_TOKEN:
- case _SCALAR_BOREQS_TOKEN:
- case _SCALAR_BANDEQS_TOKEN:
- case _SCALAR_PLUSPLUS_TOKEN:
- case _SCALAR_POST_PLUSPLUS_TOKEN:
- case _SCALAR_MINUSMINUS_TOKEN:
- case _SCALAR_POST_MINUSMINUS_TOKEN:
- case DOT_TOKEN:
- case TMP_TOKEN:
- case DEFINE_TOKEN:
- case DEFINE_STATIC_TOKEN:
- case DEFINE_PRIVATE_TOKEN:
- case DEFINE_PUBLIC_TOKEN:
- case FLOAT_TOKEN:
- case DOUBLE_TOKEN:
- case COMPLEX_TOKEN:
- case IDENT_TOKEN:
- case _REF_TOKEN:
- case _STRUCT_ASSIGN_TOKEN:
- case _STRUCT_PLUSEQS_TOKEN:
- case _STRUCT_MINUSEQS_TOKEN:
- case _STRUCT_TIMESEQS_TOKEN:
- case _STRUCT_DIVEQS_TOKEN:
- case _STRUCT_BOREQS_TOKEN:
- case _STRUCT_BANDEQS_TOKEN:
- case _STRUCT_POST_MINUSMINUS_TOKEN:
- case _STRUCT_MINUSMINUS_TOKEN:
- case _STRUCT_POST_PLUSPLUS_TOKEN:
- case _STRUCT_PLUSPLUS_TOKEN:
- strcpy (b3, tok->v.s_val);
- break;
-
- default:
- b3 = NULL;
- }
-
- if (b3 != NULL)
- {
- len = strlen (b3);
- buf[1] = (unsigned char) ((len & 0x7F) + 32);
- buf[2] = (unsigned char) (((len >> 7) & 0x7F) + 32);
- len += 3;
- }
- else len = 1;
-
- (void) bytecomp_write_data ((char *)buf, len);
-}
-
-int SLang_byte_compile_file (char *name, int method)
-{
- char file [1024];
-
- (void) method;
- if (strlen (name) + 2 >= sizeof (file))
- {
- SLang_verror (SL_INVALID_PARM, "Filename too long");
- return -1;
- }
- sprintf (file, "%sc", name);
- if (NULL == (Byte_Compile_Fp = fopen (file, "w")))
- {
- SLang_verror(SL_OBJ_NOPEN, "%s: unable to open", file);
- return -1;
- }
-
- Byte_Compile_Line_Len = 0;
- if (-1 != bytecomp_write_data (".#", 2))
- {
- _SLcompile_ptr = byte_compile_token;
- (void) SLang_load_file (name);
- _SLcompile_ptr = _SLcompile;
-
- (void) bytecomp_write_data ("\n", 1);
- }
-
- if (EOF == fclose (Byte_Compile_Fp))
- SLang_doerror ("Write Error");
-
- if (SLang_Error)
- {
- SLang_verror (0, "Error processing %s", name);
- return -1;
- }
- return 0;
-}
-
-int SLang_generate_debug_info (int x)
-{
- int y = Default_Compile_Line_Num_Info;
- Default_Compile_Line_Num_Info = x;
- return y;
-}
diff --git a/mdk-stage1/slang/sltypes.c b/mdk-stage1/slang/sltypes.c
deleted file mode 100644
index 05b8741b1..000000000
--- a/mdk-stage1/slang/sltypes.c
+++ /dev/null
@@ -1,966 +0,0 @@
-/* Basic type operations for S-Lang */
-/* Copyright (c) 1992, 1996, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#define SL_APP_WANTS_FOREACH /* for String_Type */
-#include "slang.h"
-#include "_slang.h"
-
-int SLpop_string (char **s) /*{{{*/
-{
- char *sls;
-
- *s = NULL;
-
- if (-1 == SLang_pop_slstring (&sls))
- return -1;
-
- if (NULL == (*s = SLmake_string (sls)))
- {
- SLang_free_slstring (sls);
- return -1;
- }
-
- SLang_free_slstring (sls);
- return 0;
-}
-
-/*}}}*/
-
-int SLang_pop_slstring (char **s) /*{{{*/
-{
- return SLclass_pop_ptr_obj (SLANG_STRING_TYPE, (VOID_STAR *)s);
-}
-
-/*}}}*/
-
-/* if *data != 0, string should be freed upon use. */
-int SLang_pop_string(char **s, int *data) /*{{{*/
-{
- if (SLpop_string (s))
- return -1;
-
- *data = 1;
- return 0;
-}
-
-/*}}}*/
-
-int _SLang_push_slstring (char *s)
-{
- if (0 == SLclass_push_ptr_obj (SLANG_STRING_TYPE, (VOID_STAR)s))
- return 0;
-
- SLang_free_slstring (s);
- return -1;
-}
-
-int _SLpush_alloced_slstring (char *s, unsigned int len)
-{
- if (NULL == (s = _SLcreate_via_alloced_slstring (s, len)))
- return -1;
-
- return _SLang_push_slstring (s);
-}
-
-int SLang_push_string (char *t) /*{{{*/
-{
- if (t == NULL)
- return SLang_push_null ();
-
- if (NULL == (t = SLang_create_slstring (t)))
- return -1;
-
- return _SLang_push_slstring (t);
-}
-
-/*}}}*/
-
-int _SLang_dup_and_push_slstring (char *s)
-{
- if (NULL == (s = _SLstring_dup_slstring (s)))
- return SLang_push_null ();
-
- return _SLang_push_slstring (s);
-}
-
-
-/* This function _always_ frees the malloced string */
-int SLang_push_malloced_string (char *c) /*{{{*/
-{
- int ret;
-
- ret = SLang_push_string (c);
- SLfree (c);
-
- return ret;
-}
-
-/*}}}*/
-
-#if 0
-static int int_int_power (int a, int b)
-{
- int r, s;
-
- if (a == 0) return 0;
- if (b < 0) return 0;
- if (b == 0) return 1;
-
- s = 1;
- if (a < 0)
- {
- if ((b % 2) == 1) s = -1;
- a = -a;
- }
-
- /* FIXME: Priority=low
- * This needs optimized
- */
- r = 1;
- while (b)
- {
- r = r * a;
- b--;
- }
- return r * s;
-}
-#endif
-
-static int
-string_string_bin_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) a;
- (void) b;
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- *c = SLANG_STRING_TYPE;
- break;
-
- case SLANG_GT:
- case SLANG_GE:
- case SLANG_LT:
- case SLANG_LE:
- case SLANG_EQ:
- case SLANG_NE:
- *c = SLANG_CHAR_TYPE;
- break;
- }
- return 1;
-}
-
-static int
-string_string_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- char **a, **b, **c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- if (na == 1) da = 0; else da = 1;
- if (nb == 1) db = 0; else db = 1;
-
- if (na > nb) n_max = na; else n_max = nb;
-
- a = (char **) ap;
- b = (char **) bp;
- for (n = 0; n < n_max; n++)
- {
- if ((*a == NULL) || (*b == NULL))
- {
- SLang_verror (SL_VARIABLE_UNINITIALIZED, "String element[%u] not initialized for binary operation", n);
- return -1;
- }
- a += da; b += db;
- }
-
- a = (char **) ap;
- b = (char **) bp;
- ic = (char *) cp;
- c = NULL;
-
- switch (op)
- {
- case SLANG_DIVIDE:
- case SLANG_MINUS:
- default:
- return 0;
-
- case SLANG_PLUS:
- /* Concat */
- c = (char **) cp;
- for (n = 0; n < n_max; n++)
- {
- if (NULL == (c[n] = SLang_concat_slstrings (*a, *b)))
- goto return_error;
-
- a += da; b += db;
- }
- break;
-
- case SLANG_NE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (0 != strcmp (*a, *b));
- a += da;
- b += db;
- }
- break;
- case SLANG_GT:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) > 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_GE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) >= 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_LT:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) < 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_LE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) <= 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_EQ:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) == 0);
- a += da;
- b += db;
- }
- break;
- }
- return 1;
-
- return_error:
- if (c != NULL)
- {
- unsigned int nn;
- for (nn = 0; nn < n; nn++)
- {
- SLang_free_slstring (c[nn]);
- c[nn] = NULL;
- }
- for (nn = n; nn < n_max; nn++)
- c[nn] = NULL;
- }
- return -1;
-}
-
-static void string_destroy (unsigned char unused, VOID_STAR s)
-{
- (void) unused;
- SLang_free_slstring (*(char **) s);
-}
-
-static int string_push (unsigned char unused, VOID_STAR sptr)
-{
- (void) unused;
- return SLang_push_string (*(char **) sptr);
-}
-
-static int string_cmp (unsigned char unused, VOID_STAR ap, VOID_STAR bp, int *c)
-{
- char *a, *b;
- (void) unused;
-
- a = *(char **) ap;
- b = *(char **) bp;
- if (a != b)
- {
- if (a == NULL) *c = -1;
- else if (b == NULL) *c = 1;
- else *c = strcmp (a, b);
- return 0;
- }
- *c = 0;
- return 0;
-}
-
-static int string_to_int (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- char **s;
- unsigned int i;
- int *b;
-
- (void) a_type;
- (void) b_type;
-
- s = (char **) ap;
- b = (int *) bp;
- for (i = 0; i < na; i++)
- {
- if (s[i] == NULL) b[i] = 0;
- else b[i] = s[i][0];
- }
- return 1;
-}
-
-struct _SLang_Foreach_Context_Type
-{
- char *string;
- unsigned int n;
-};
-
-static SLang_Foreach_Context_Type *
-string_foreach_open (unsigned char type, unsigned int num)
-{
- char *s;
- SLang_Foreach_Context_Type *c;
-
- (void) type;
- if (num != 0)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "'foreach using' form not supported by String_Type");
- SLdo_pop_n (num + 1);
- return NULL;
- }
- if (-1 == SLang_pop_slstring (&s))
- return NULL;
-
- c = (SLang_Foreach_Context_Type *)SLmalloc (sizeof (SLang_Foreach_Context_Type));
- if (c == NULL)
- {
- SLang_free_slstring (s);
- return NULL;
- }
-
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
- c->string = s;
-
- return c;
-}
-
-static void string_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
- SLang_free_slstring (c->string);
- SLfree ((char *) c);
-}
-
-static int string_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- char ch;
-
- (void) type;
- ch = c->string[c->n];
- if (ch == 0)
- return 0; /* done */
-
- c->n += 1;
-
- if (-1 == SLclass_push_int_obj (SLANG_INT_TYPE, ch))
- return -1;
-
- return 1;
-}
-
-int _SLstring_list_push (_SLString_List_Type *p)
-{
- unsigned int num;
- int inum;
- SLang_Array_Type *at;
- char **buf;
-
- if ((buf = p->buf) == NULL)
- return SLang_push_null ();
-
- num = p->num;
- inum = (int) num;
-
- if (num == 0) num++;
- if (num != p->max_num)
- {
- if (NULL == (buf = (char **)SLrealloc ((char *) buf, sizeof (char *) * num)))
- {
- _SLstring_list_delete (p);
- return -1;
- }
- p->max_num = num;
- p->buf = buf;
- }
-
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) buf, &inum, 1)))
- {
- _SLstring_list_delete (p);
- return -1;
- }
- p->buf = NULL;
- _SLstring_list_delete (p);
- return SLang_push_array (at, 1);
-}
-
-int _SLstring_list_init (_SLString_List_Type *p, unsigned int max_num, unsigned int delta_num)
-{
- if (NULL == (p->buf = (char **) SLmalloc (max_num * sizeof (char *))))
- return -1;
-
- p->max_num = max_num;
- p->num = 0;
- p->delta_num = delta_num;
- return 0;
-}
-
-int _SLstring_list_append (_SLString_List_Type *p, char *s)
-{
- if (s == NULL)
- {
- _SLstring_list_delete (p);
- return -1;
- }
-
- if (p->max_num == p->num)
- {
- char **b;
- unsigned int max_num = p->num + p->delta_num;
- b = (char **)SLrealloc ((char *)p->buf, max_num * sizeof (char *));
- if (b == NULL)
- {
- _SLstring_list_delete (p);
- SLang_free_slstring (s);
- return -1;
- }
- p->buf = b;
- p->max_num = max_num;
- }
-
- p->buf[p->num] = s;
- p->num++;
- return 0;
-}
-
-void _SLstring_list_delete (_SLString_List_Type *p)
-{
- if (p->buf != NULL)
- {
- unsigned int i, imax;
- char **buf = p->buf;
- imax = p->num;
- for (i = 0; i < imax; i++)
- SLang_free_slstring (buf[i]);
- SLfree ((char *)buf);
- p->buf = NULL;
- }
-}
-
-/* Ref type */
-int SLang_pop_ref (SLang_Ref_Type **ref)
-{
- return SLclass_pop_ptr_obj (SLANG_REF_TYPE, (VOID_STAR *)ref);
-}
-
-/* Note: This is ok if ptr is NULL. Some routines rely on this behavior */
-int _SLang_push_ref (int is_global, VOID_STAR ptr)
-{
- SLang_Ref_Type *r;
-
- if (ptr == NULL)
- return SLang_push_null ();
-
- r = (SLang_Ref_Type *) SLmalloc (sizeof (SLang_Ref_Type));
- if (r == NULL) return -1;
-
- r->is_global = is_global;
- r->v.nt = (SLang_Name_Type *) ptr;
-
- if (-1 == SLclass_push_ptr_obj (SLANG_REF_TYPE, (VOID_STAR) r))
- {
- SLfree ((char *) r);
- return -1;
- }
- return 0;
-}
-
-static void ref_destroy (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- SLfree ((char *) *(SLang_Ref_Type **)ptr);
-}
-
-void SLang_free_ref (SLang_Ref_Type *ref)
-{
- SLfree ((char *) ref);
-}
-
-static int ref_push (unsigned char type, VOID_STAR ptr)
-{
- SLang_Ref_Type *ref;
-
- (void) type;
-
- ref = *(SLang_Ref_Type **) ptr;
-
- if (ref == NULL)
- return SLang_push_null ();
-
- return _SLang_push_ref (ref->is_global, (VOID_STAR) ref->v.nt);
-}
-
-int SLang_assign_to_ref (SLang_Ref_Type *ref, unsigned char type, VOID_STAR v)
-{
- SLang_Object_Type *stkptr;
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
-
- /* Use apush since this function is passing ``array'' bytes rather than the
- * address of the data. I need to somehow make this more consistent. To
- * see what I mean, consider:
- *
- * double z[2];
- * char *s = "silly";
- * int i;
- *
- * SLang_assign_to_ref (ref, SLANG_INT_TYPE, &i);
- * SLang_assign_to_ref (ref, SLANG_STRING_TYPE, &s);
- * SLang_assign_to_ref (ref, SLANG_COMPLEX_TYPE, z);
- *
- * That is, all external routines that take a VOID_STAR argument need to
- * be documented such that how the function should be called with the
- * various class_types.
- */
- if (-1 == (*cl->cl_apush) (type, v))
- return -1;
-
- stkptr = _SLStack_Pointer;
- if (0 == _SLang_deref_assign (ref))
- return 0;
-
- if (stkptr != _SLStack_Pointer)
- SLdo_pop ();
-
- return -1;
-}
-
-static char *ref_string (unsigned char type, VOID_STAR ptr)
-{
- SLang_Ref_Type *ref;
-
- (void) type;
- ref = *(SLang_Ref_Type **) ptr;
- if (ref->is_global)
- {
- char *name, *s;
-
- name = ref->v.nt->name;
- if ((name != NULL)
- && (NULL != (s = SLmalloc (strlen(name) + 2))))
- {
- *s = '&';
- strcpy (s + 1, name);
- return s;
- }
-
- return NULL;
- }
- return SLmake_string ("Local Variable Reference");
-}
-
-static int ref_dereference (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return _SLang_dereference_ref (*(SLang_Ref_Type **) ptr);
-}
-
-static int ref_cmp (unsigned char type, VOID_STAR a, VOID_STAR b, int *c)
-{
- SLang_Ref_Type *ra, *rb;
-
- (void) type;
-
- ra = *(SLang_Ref_Type **)a;
- rb = *(SLang_Ref_Type **)b;
-
- if (ra == NULL)
- {
- if (rb == NULL) *c = 0;
- else *c = -1;
- return 0;
- }
- if (rb == NULL)
- {
- *c = 1;
- return 0;
- }
-
- if (ra->v.nt == rb->v.nt)
- *c = 0;
- else *c = strcmp (ra->v.nt->name, rb->v.nt->name);
- return 0;
-}
-
-
-SLang_Name_Type *SLang_pop_function (void)
-{
- SLang_Ref_Type *ref;
- SLang_Name_Type *f;
-
- if (SLang_peek_at_stack () == SLANG_STRING_TYPE)
- {
- char *name;
-
- if (-1 == SLang_pop_slstring (&name))
- return NULL;
-
- if (NULL == (f = SLang_get_function (name)))
- {
- SLang_verror (SL_UNDEFINED_NAME, "Function %s does not exist", name);
- SLang_free_slstring (name);
- return NULL;
- }
- SLang_free_slstring (name);
- return f;
- }
-
- if (-1 == SLang_pop_ref (&ref))
- return NULL;
-
- f = SLang_get_fun_from_ref (ref);
- SLang_free_ref (ref);
- return f;
-}
-
-/* This is a placeholder for version 2 */
-void SLang_free_function (SLang_Name_Type *f)
-{
- (void) f;
-}
-
-/* NULL type */
-int SLang_push_null (void)
-{
- return SLclass_push_ptr_obj (SLANG_NULL_TYPE, NULL);
-}
-
-int SLang_pop_null (void)
-{
- SLang_Object_Type obj;
- return _SLang_pop_object_of_type (SLANG_NULL_TYPE, &obj, 0);
-}
-
-static int null_push (unsigned char unused, VOID_STAR ptr_unused)
-{
- (void) unused; (void) ptr_unused;
- return SLang_push_null ();
-}
-
-static int null_pop (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
-
- if (-1 == SLang_pop_null ())
- return -1;
-
- *(char **) ptr = NULL;
- return 0;
-}
-
-/* Implement foreach (NULL) using (whatever) to do nothing. This is useful
- * because suppose that X is a list but is NULL in some situations. Then
- * when it is NULL, we want foreach(X) to do nothing.
- */
-static SLang_Foreach_Context_Type *
-null_foreach_open (unsigned char type, unsigned int num)
-{
- (void) type;
- SLdo_pop_n (num + 1);
- return (SLang_Foreach_Context_Type *)1;
-}
-
-static void null_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- (void) c;
-}
-
-static int null_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- (void) c;
- return 0;
-}
-
-static int null_to_bool (unsigned char type, int *t)
-{
- (void) type;
- *t = 0;
- return SLang_pop_null ();
-}
-
-/* AnyType */
-int _SLanytype_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- SLang_Class_Type *cl;
- SLang_Any_Type **any;
- unsigned int i;
- unsigned int sizeof_type;
-
- (void) b_type;
-
- any = (SLang_Any_Type **) bp;
-
- cl = _SLclass_get_class (a_type);
- sizeof_type = cl->cl_sizeof_type;
-
- for (i = 0; i < na; i++)
- {
- if ((-1 == (*cl->cl_apush) (a_type, ap))
- || (-1 == SLang_pop_anytype (&any[i])))
- {
- while (i != 0)
- {
- i--;
- SLang_free_anytype (any[i]);
- any[i] = NULL;
- }
- return -1;
- }
- ap = (VOID_STAR)((char *)ap + sizeof_type);
- }
-
- return 1;
-}
-
-int SLang_pop_anytype (SLang_Any_Type **any)
-{
- SLang_Object_Type *obj;
-
- *any = NULL;
-
- if (NULL == (obj = (SLang_Object_Type *) SLmalloc (sizeof (SLang_Object_Type))))
- return -1;
-
- if (-1 == SLang_pop (obj))
- {
- SLfree ((char *) obj);
- return -1;
- }
- *any = (SLang_Any_Type *)obj;
- return 0;
-}
-
-/* This function will result in an object that is represented by the
- * anytype object.
- */
-int SLang_push_anytype (SLang_Any_Type *any)
-{
- return _SLpush_slang_obj ((SLang_Object_Type *)any);
-}
-
-/* After this call, the stack will contain an Any_Type object */
-static int anytype_push (unsigned char type, VOID_STAR ptr)
-{
- SLang_Any_Type *obj;
-
- /* Push the object onto the stack, then pop it back off into our anytype
- * container. That way, any memory managing associated with the type
- * will be performed automatically. Another way to think of it is that
- * pushing an Any_Type onto the stack will create another copy of the
- * object represented by it.
- */
- if (-1 == _SLpush_slang_obj (*(SLang_Object_Type **)ptr))
- return -1;
-
- if (-1 == SLang_pop_anytype (&obj))
- return -1;
-
- /* There is no need to reference count the anytype objects since every
- * push results in a new anytype container.
- */
- if (-1 == SLclass_push_ptr_obj (type, (VOID_STAR) obj))
- {
- SLang_free_anytype (obj);
- return -1;
- }
-
- return 0;
-}
-
-static void anytype_destroy (unsigned char type, VOID_STAR ptr)
-{
- SLang_Object_Type *obj;
-
- (void) type;
- obj = *(SLang_Object_Type **)ptr;
- SLang_free_object (obj);
- SLfree ((char *) obj);
-}
-
-void SLang_free_anytype (SLang_Any_Type *any)
-{
- if (any != NULL)
- anytype_destroy (SLANG_ANY_TYPE, (VOID_STAR) &any);
-}
-
-static int anytype_dereference (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return _SLpush_slang_obj (*(SLang_Object_Type **) ptr);
-}
-
-/* SLANG_INTP_TYPE */
-static int intp_push (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return SLclass_push_int_obj (SLANG_INT_TYPE, **(int **)ptr);
-}
-
-static int intp_pop (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return SLang_pop_integer (*(int **) ptr);
-}
-
-static int undefined_push (unsigned char t, VOID_STAR p)
-{
- (void) t; (void) p;
- if (SLang_Error == 0)
- SLang_Error = SL_VARIABLE_UNINITIALIZED;
- return -1;
-}
-
-int _SLregister_types (void)
-{
- SLang_Class_Type *cl;
-
- /* A good compiler should optimize this code away. */
- if ((sizeof(short) != SIZEOF_SHORT)
- || (sizeof(int) != SIZEOF_INT)
- || (sizeof(long) != SIZEOF_LONG)
- || (sizeof(float) != SIZEOF_FLOAT)
- || (sizeof(double) != SIZEOF_DOUBLE))
- SLang_exit_error ("S-Lang Library not built properly. Fix SIZEOF_* in config.h and recompile");
-
- if (-1 == _SLclass_init ())
- return -1;
-
- /* Undefined Type */
- if (NULL == (cl = SLclass_allocate_class ("Undefined_Type")))
- return -1;
- (void) SLclass_set_push_function (cl, undefined_push);
- (void) SLclass_set_pop_function (cl, undefined_push);
- if (-1 == SLclass_register_class (cl, SLANG_UNDEFINED_TYPE, sizeof (int),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
- /* Make Void_Type a synonym for Undefined_Type. Note that this does
- * not mean that Void_Type represents SLANG_VOID_TYPE. Void_Type is
- * used by array_map to indicate no array is to be created.
- */
- if (-1 == SLclass_create_synonym ("Void_Type", SLANG_UNDEFINED_TYPE))
- return -1;
-
- if (-1 == _SLarith_register_types ())
- return -1;
-
- /* SLANG_INTP_TYPE */
- if (NULL == (cl = SLclass_allocate_class ("_IntegerP_Type")))
- return -1;
- (void) SLclass_set_push_function (cl, intp_push);
- (void) SLclass_set_pop_function (cl, intp_pop);
- if (-1 == SLclass_register_class (cl, SLANG_INTP_TYPE, sizeof (int),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
-
- /* String Type */
-
- if (NULL == (cl = SLclass_allocate_class ("String_Type")))
- return -1;
- (void) SLclass_set_destroy_function (cl, string_destroy);
- (void) SLclass_set_push_function (cl, string_push);
- cl->cl_foreach_open = string_foreach_open;
- cl->cl_foreach_close = string_foreach_close;
- cl->cl_foreach = string_foreach;
- cl->cl_cmp = string_cmp;
- if (-1 == SLclass_register_class (cl, SLANG_STRING_TYPE, sizeof (char *),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- /* ref Type */
- if (NULL == (cl = SLclass_allocate_class ("Ref_Type")))
- return -1;
- cl->cl_dereference = ref_dereference;
- cl->cl_push = ref_push;
- cl->cl_destroy = ref_destroy;
- cl->cl_string = ref_string;
- cl->cl_cmp = ref_cmp;
- if (-1 == SLclass_register_class (cl, SLANG_REF_TYPE,
- sizeof (SLang_Ref_Type *),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- /* NULL Type */
-
- if (NULL == (cl = SLclass_allocate_class ("Null_Type")))
- return -1;
- cl->cl_push = null_push;
- cl->cl_pop = null_pop;
- cl->cl_foreach_open = null_foreach_open;
- cl->cl_foreach_close = null_foreach_close;
- cl->cl_foreach = null_foreach;
- cl->cl_to_bool = null_to_bool;
- if (-1 == SLclass_register_class (cl, SLANG_NULL_TYPE, sizeof (char *),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
-
- /* AnyType */
- if (NULL == (cl = SLclass_allocate_class ("Any_Type")))
- return -1;
- (void) SLclass_set_push_function (cl, anytype_push);
- (void) SLclass_set_destroy_function (cl, anytype_destroy);
- cl->cl_dereference = anytype_dereference;
- if (-1 == SLclass_register_class (cl, SLANG_ANY_TYPE, sizeof (VOID_STAR),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- if (-1 == _SLang_init_bstring ())
- return -1;
-
- if ((-1 == SLclass_add_typecast (SLANG_STRING_TYPE, SLANG_INT_TYPE, string_to_int, 0))
- || (-1 == SLclass_add_binary_op (SLANG_STRING_TYPE, SLANG_STRING_TYPE, string_string_bin_op, string_string_bin_op_result)))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slutty.c b/mdk-stage1/slang/slutty.c
deleted file mode 100644
index 636c1bb90..000000000
--- a/mdk-stage1/slang/slutty.c
+++ /dev/null
@@ -1,596 +0,0 @@
-/* slutty.c --- Unix Low level terminal (tty) functions for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include <signal.h>
-/* sequent support thanks to Kenneth Lorber <keni@oasys.dt.navy.mil> */
-/* SYSV (SYSV ISC R3.2 v3.0) provided by iain.lea@erlm.siemens.de */
-
-#if defined (_AIX) && !defined (_ALL_SOURCE)
-# define _ALL_SOURCE /* so NBBY is defined in <sys/types.h> */
-#endif
-
-#include <sys/time.h>
-#include <sys/types.h>
-
-#ifdef SYSV
-# include <fcntl.h>
-# ifndef CRAY
-# include <sys/termio.h>
-# include <sys/stream.h>
-# include <sys/ptem.h>
-# include <sys/tty.h>
-# endif
-#endif
-
-#ifdef __BEOS__
-/* Prototype for select */
-# include <net/socket.h>
-#endif
-
-#include <sys/file.h>
-
-#ifndef sun
-# include <sys/ioctl.h>
-#endif
-
-#ifdef __QNX__
-# include <sys/select.h>
-#endif
-
-#include <sys/stat.h>
-#include <errno.h>
-
-#if defined (_AIX) && !defined (FD_SET)
-# include <sys/select.h> /* for FD_ISSET, FD_SET, FD_ZERO */
-#endif
-
-#ifndef O_RDWR
-# include <fcntl.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-int SLang_TT_Read_FD = -1;
-int SLang_TT_Baud_Rate;
-
-#ifdef HAVE_TERMIOS_H
-# if !defined(HAVE_TCGETATTR) || !defined(HAVE_TCSETATTR)
-# undef HAVE_TERMIOS_H
-# endif
-#endif
-
-#ifndef HAVE_TERMIOS_H
-
-# if !defined(CBREAK) && defined(sun)
-# ifndef BSD_COMP
-# define BSD_COMP 1
-# endif
-# include <sys/ioctl.h>
-# endif
-
-typedef struct
- {
- struct tchars t;
- struct ltchars lt;
- struct sgttyb s;
- }
-TTY_Termio_Type;
-#else
-# include <termios.h>
-typedef struct termios TTY_Termio_Type;
-#endif
-
-static TTY_Termio_Type Old_TTY;
-
-#ifdef HAVE_TERMIOS_H
-typedef struct
-{
- unsigned int key;
- unsigned int value;
-} Baud_Rate_Type;
-
-static Baud_Rate_Type Baud_Rates [] =
-{
-#ifdef B0
- {B0, 0},
-#endif
-#ifdef B50
- {B50, 50},
-#endif
-#ifdef B75
- {B75, 75},
-#endif
-#ifdef B110
- {B110, 110},
-#endif
-#ifdef B134
- {B134, 134},
-#endif
-#ifdef B150
- {B150, 150},
-#endif
-#ifdef B200
- {B200, 200},
-#endif
-#ifdef B300
- {B300, 300},
-#endif
-#ifdef B600
- {B600, 600},
-#endif
-#ifdef B1200
- {B1200, 1200},
-#endif
-#ifdef B1800
- {B1800, 1800},
-#endif
-#ifdef B2400
- {B2400, 2400},
-#endif
-#ifdef B4800
- {B4800, 4800},
-#endif
-#ifdef B9600
- {B9600, 9600},
-#endif
-#ifdef B19200
- {B19200, 19200},
-#endif
-#ifdef B38400
- {B38400, 38400},
-#endif
-#ifdef B57600
- {B57600, 57600},
-#endif
-#ifdef B115200
- {B115200, 115200},
-#endif
-#ifdef B230400
- {B230400, 230400},
-#endif
- {0, 0}
-};
-
-static void
-set_baud_rate (TTY_Termio_Type *tty)
-{
-#ifdef HAVE_CFGETOSPEED
- unsigned int speed;
- Baud_Rate_Type *b, *bmax;
-
- if (SLang_TT_Baud_Rate)
- return; /* already set */
-
- speed = (unsigned int) cfgetospeed (tty);
-
- b = Baud_Rates;
- bmax = b + (sizeof (Baud_Rates)/sizeof(Baud_Rates[0]));
- while (b < bmax)
- {
- if (b->key == speed)
- {
- SLang_TT_Baud_Rate = b->value;
- return;
- }
- b++;
- }
-#else
- (void) tty;
-#endif
-}
-
-#endif /* HAVE_TERMIOS_H */
-
-#ifdef HAVE_TERMIOS_H
-# define GET_TERMIOS(fd, x) tcgetattr(fd, x)
-# define SET_TERMIOS(fd, x) tcsetattr(fd, TCSADRAIN, x)
-#else
-# ifdef TCGETS
-# define GET_TERMIOS(fd, x) ioctl(fd, TCGETS, x)
-# define SET_TERMIOS(fd, x) ioctl(fd, TCSETS, x)
-# else
-# define X(x,m) &(((TTY_Termio_Type *)(x))->m)
-# define GET_TERMIOS(fd, x) \
- ((ioctl(fd, TIOCGETC, X(x,t)) || \
- ioctl(fd, TIOCGLTC, X(x,lt)) || \
- ioctl(fd, TIOCGETP, X(x,s))) ? -1 : 0)
-# define SET_TERMIOS(fd, x) \
- ((ioctl(fd, TIOCSETC, X(x,t)) ||\
- ioctl(fd, TIOCSLTC, X(x,lt)) || \
- ioctl(fd, TIOCSETP, X(x,s))) ? -1 : 0)
-# endif
-#endif
-
-static int TTY_Inited = 0;
-static int TTY_Open = 0;
-
-#ifdef ultrix /* Ultrix gets _POSIX_VDISABLE wrong! */
-# define NULL_VALUE -1
-#else
-# ifdef _POSIX_VDISABLE
-# define NULL_VALUE _POSIX_VDISABLE
-# else
-# define NULL_VALUE 255
-# endif
-#endif
-
-int SLang_init_tty (int abort_char, int no_flow_control, int opost)
-{
- TTY_Termio_Type newtty;
-
- SLsig_block_signals ();
-
- if (TTY_Inited)
- {
- SLsig_unblock_signals ();
- return 0;
- }
-
- TTY_Open = 0;
-
- if ((SLang_TT_Read_FD == -1)
- || (1 != isatty (SLang_TT_Read_FD)))
- {
-#ifdef O_RDWR
-# ifndef __BEOS__ /* I have been told that BEOS will HANG if passed /dev/tty */
- if ((SLang_TT_Read_FD = open("/dev/tty", O_RDWR)) >= 0)
- {
- TTY_Open = 1;
- }
-# endif
-#endif
- if (TTY_Open == 0)
- {
- SLang_TT_Read_FD = fileno (stderr);
- if (1 != isatty (SLang_TT_Read_FD))
- {
- SLang_TT_Read_FD = fileno (stdin);
- if (1 != isatty (SLang_TT_Read_FD))
- {
- fprintf (stderr, "Failed to open terminal.");
- return -1;
- }
- }
- }
- }
-
- SLang_Abort_Char = abort_char;
-
- /* Some systems may not permit signals to be blocked. As a result, the
- * return code must be checked.
- */
- while (-1 == GET_TERMIOS(SLang_TT_Read_FD, &Old_TTY))
- {
- if (errno != EINTR)
- {
- SLsig_unblock_signals ();
- return -1;
- }
- }
-
- while (-1 == GET_TERMIOS(SLang_TT_Read_FD, &newtty))
- {
- if (errno != EINTR)
- {
- SLsig_unblock_signals ();
- return -1;
- }
- }
-
-#ifndef HAVE_TERMIOS_H
- newtty.s.sg_flags &= ~(ECHO);
- newtty.s.sg_flags &= ~(CRMOD);
- /* if (Flow_Control == 0) newtty.s.sg_flags &= ~IXON; */
- newtty.t.t_eofc = 1;
- if (abort_char == -1) SLang_Abort_Char = newtty.t.t_intrc;
- newtty.t.t_intrc = SLang_Abort_Char; /* ^G */
- newtty.t.t_quitc = 255;
- newtty.lt.t_suspc = 255; /* to ignore ^Z */
- newtty.lt.t_dsuspc = 255; /* to ignore ^Y */
- newtty.lt.t_lnextc = 255;
- newtty.s.sg_flags |= CBREAK; /* do I want cbreak or raw????? */
-#else
-
- /* get baud rate */
-
- newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);
-#ifdef ISTRIP
- /* newtty.c_iflag &= ~ISTRIP; */
-#endif
- if (opost == 0) newtty.c_oflag &= ~OPOST;
-
- set_baud_rate (&newtty);
-
- if (no_flow_control) newtty.c_iflag &= ~IXON; else newtty.c_iflag |= IXON;
-
- newtty.c_cc[VEOF] = 1;
- newtty.c_cc[VMIN] = 1;
- newtty.c_cc[VTIME] = 0;
- newtty.c_lflag = ISIG | NOFLSH;
- if (abort_char == -1) SLang_Abort_Char = newtty.c_cc[VINTR];
- newtty.c_cc[VINTR] = SLang_Abort_Char; /* ^G */
- newtty.c_cc[VQUIT] = NULL_VALUE;
- newtty.c_cc[VSUSP] = NULL_VALUE; /* to ignore ^Z */
-#ifdef VDSUSP
- newtty.c_cc[VDSUSP] = NULL_VALUE; /* to ignore ^Y */
-#endif
-#ifdef VLNEXT
- newtty.c_cc[VLNEXT] = NULL_VALUE; /* to ignore ^V ? */
-#endif
-#ifdef VSWTCH
- newtty.c_cc[VSWTCH] = NULL_VALUE; /* to ignore who knows what */
-#endif
-#endif /* NOT HAVE_TERMIOS_H */
-
- while (-1 == SET_TERMIOS(SLang_TT_Read_FD, &newtty))
- {
- if (errno != EINTR)
- {
- SLsig_unblock_signals ();
- return -1;
- }
- }
-
- TTY_Inited = 1;
- SLsig_unblock_signals ();
- return 0;
-}
-
-void SLtty_set_suspend_state (int mode)
-{
- TTY_Termio_Type newtty;
-
- SLsig_block_signals ();
-
- if (TTY_Inited == 0)
- {
- SLsig_unblock_signals ();
- return;
- }
-
- while ((-1 == GET_TERMIOS (SLang_TT_Read_FD, &newtty))
- && (errno == EINTR))
- ;
-
-#ifndef HAVE_TERMIOS_H
- /* I do not know if all systems define the t_dsuspc field */
- if (mode == 0)
- {
- newtty.lt.t_suspc = 255;
- newtty.lt.t_dsuspc = 255;
- }
- else
- {
- newtty.lt.t_suspc = Old_TTY.lt.t_suspc;
- newtty.lt.t_dsuspc = Old_TTY.lt.t_dsuspc;
- }
-#else
- if (mode == 0)
- {
- newtty.c_cc[VSUSP] = NULL_VALUE;
-#ifdef VDSUSP
- newtty.c_cc[VDSUSP] = NULL_VALUE;
-#endif
- }
- else
- {
- newtty.c_cc[VSUSP] = Old_TTY.c_cc[VSUSP];
-#ifdef VDSUSP
- newtty.c_cc[VDSUSP] = Old_TTY.c_cc[VDSUSP];
-#endif
- }
-#endif
-
- while ((-1 == SET_TERMIOS (SLang_TT_Read_FD, &newtty))
- && (errno == EINTR))
- ;
-
- SLsig_unblock_signals ();
-}
-
-void SLang_reset_tty (void)
-{
- SLsig_block_signals ();
-
- if (TTY_Inited == 0)
- {
- SLsig_unblock_signals ();
- return;
- }
-
- while ((-1 == SET_TERMIOS(SLang_TT_Read_FD, &Old_TTY))
- && (errno == EINTR))
- ;
-
- if (TTY_Open)
- {
- while ((-1 == close (SLang_TT_Read_FD))
- && (errno == EINTR))
- ;
-
- TTY_Open = 0;
- SLang_TT_Read_FD = -1;
- }
-
- TTY_Inited = 0;
- SLsig_unblock_signals ();
-}
-
-static void default_sigint (int sig)
-{
- sig = errno; /* use parameter */
-
- SLKeyBoard_Quit = 1;
- if (SLang_Ignore_User_Abort == 0) SLang_Error = SL_USER_BREAK;
- SLsignal_intr (SIGINT, default_sigint);
- errno = sig;
-}
-
-int SLang_set_abort_signal (void (*hand)(int))
-{
- int save_errno = errno;
- SLSig_Fun_Type *f;
-
- if (hand == NULL) hand = default_sigint;
- f = SLsignal_intr (SIGINT, hand);
-
- errno = save_errno;
-
- if (f == (SLSig_Fun_Type *) SIG_ERR)
- return -1;
-
- return 0;
-}
-
-#ifndef FD_SET
-#define FD_SET(fd, tthis) *(tthis) = 1 << (fd)
-#define FD_ZERO(tthis) *(tthis) = 0
-#define FD_ISSET(fd, tthis) (*(tthis) & (1 << fd))
-typedef int fd_set;
-#endif
-
-static fd_set Read_FD_Set;
-
-/* HACK: If > 0, use 1/10 seconds. If < 0, use 1/1000 seconds */
-
-int _SLsys_input_pending(int tsecs)
-{
- struct timeval wait;
- long usecs, secs;
-
- if (TTY_Inited == 0) return -1;
-
- if (tsecs >= 0)
- {
- secs = tsecs / 10;
- usecs = (tsecs % 10) * 100000;
- }
- else
- {
- tsecs = -tsecs;
- secs = tsecs / 1000;
- usecs = (tsecs % 1000) * 1000;
- }
-
- wait.tv_sec = secs;
- wait.tv_usec = usecs;
-
- FD_ZERO(&Read_FD_Set);
- FD_SET(SLang_TT_Read_FD, &Read_FD_Set);
-
- return select(SLang_TT_Read_FD + 1, &Read_FD_Set, NULL, NULL, &wait);
-}
-
-int (*SLang_getkey_intr_hook) (void);
-
-static int handle_interrupt (void)
-{
- if (SLang_getkey_intr_hook != NULL)
- {
- int save_tty_fd = SLang_TT_Read_FD;
-
- if (-1 == (*SLang_getkey_intr_hook) ())
- return -1;
-
- if (save_tty_fd != SLang_TT_Read_FD)
- return -1;
- }
-
- return 0;
-}
-
-unsigned int _SLsys_getkey (void)
-{
- unsigned char c;
-
- if (TTY_Inited == 0)
- {
- int ic = fgetc (stdin);
- if (ic == EOF) return SLANG_GETKEY_ERROR;
- return (unsigned int) ic;
- }
-
- while (1)
- {
- int ret;
-
- if (SLKeyBoard_Quit)
- return SLang_Abort_Char;
-
- if (0 == (ret = _SLsys_input_pending (100)))
- continue;
-
- if (ret != -1)
- break;
-
- if (SLKeyBoard_Quit)
- return SLang_Abort_Char;
-
- if (errno == EINTR)
- {
- if (-1 == handle_interrupt ())
- return SLANG_GETKEY_ERROR;
-
- continue;
- }
-
- break; /* let read handle it */
- }
-
- while (1)
- {
- int status = read(SLang_TT_Read_FD, (char *) &c, 1);
-
- if (status > 0)
- break;
-
- if (status == 0)
- {
- /* We are at the end of a file. Let application handle it. */
- return SLANG_GETKEY_ERROR;
- }
-
- if (errno == EINTR)
- {
- if (-1 == handle_interrupt ())
- return SLANG_GETKEY_ERROR;
-
- if (SLKeyBoard_Quit)
- return SLang_Abort_Char;
-
- continue;
- }
-#ifdef EAGAIN
- if (errno == EAGAIN)
- {
- sleep (1);
- continue;
- }
-#endif
-#ifdef EWOULDBLOCK
- if (errno == EWOULDBLOCK)
- {
- sleep (1);
- continue;
- }
-#endif
-#ifdef EIO
- if (errno == EIO)
- {
- SLang_exit_error ("_SLsys_getkey: EIO error.");
- }
-#endif
- return SLANG_GETKEY_ERROR;
- }
-
- return((unsigned int) c);
-}
-
diff --git a/mdk-stage1/slang/slxstrng.c b/mdk-stage1/slang/slxstrng.c
deleted file mode 100644
index 3f8a4dffa..000000000
--- a/mdk-stage1/slang/slxstrng.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are simple and inefficient. They were designed to work on
- * SunOS when using Electric Fence.
- */
-
-#include "slang.h"
-#include "_slang.h"
-char *SLstrcpy(register char *aa, register char *b)
-{
- char *a = aa;
- while ((*a++ = *b++) != 0);
- return aa;
-}
-
-int SLstrcmp(register char *a, register char *b)
-{
- while (*a && (*a == *b))
- {
- a++;
- b++;
- }
- if (*a) return((unsigned char) *a - (unsigned char) *b);
- else if (*b) return ((unsigned char) *a - (unsigned char) *b);
- else return 0;
-}
-
-char *SLstrncpy(char *a, register char *b,register int n)
-{
- register char *aa = a;
- while ((n > 0) && *b)
- {
- *aa++ = *b++;
- n--;
- }
- while (n-- > 0) *aa++ = 0;
- return (a);
-}
diff --git a/mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2 b/mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2
deleted file mode 100644
index 337b13666..000000000
--- a/mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/stage1-data/stage1-with-sash.tar.bz2 b/mdk-stage1/stage1-data/stage1-with-sash.tar.bz2
deleted file mode 100644
index 56279ae90..000000000
--- a/mdk-stage1/stage1-data/stage1-with-sash.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/stage1-data/stage1.tar.bz2 b/mdk-stage1/stage1-data/stage1.tar.bz2
deleted file mode 100644
index 98e62b362..000000000
--- a/mdk-stage1/stage1-data/stage1.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/stage1.c b/mdk-stage1/stage1.c
deleted file mode 100644
index cf973f615..000000000
--- a/mdk-stage1/stage1.c
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * View the homepage: http://us.mandrakesoft.com/~gc/html/stage1.html
- *
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <sys/ioctl.h>
-#include <sys/mount.h>
-#include <string.h>
-#include <errno.h>
-#include <ctype.h>
-#include <stdarg.h>
-#include <signal.h>
-
-#include "stage1.h"
-
-#include "log.h"
-#include "probing.h"
-#include "frontend.h"
-#include "modules.h"
-#include "tools.h"
-#include "automatic.h"
-#include "mount.h"
-#include "insmod.h"
-
-#ifdef ENABLE_PCMCIA
-#include "pcmcia/pcmcia.h"
-#endif
-
-#ifndef DISABLE_CDROM
-#include "cdrom.h"
-#endif
-
-#ifndef DISABLE_NETWORK
-#include "network.h"
-#endif
-
-#ifndef DISABLE_DISK
-#include "disk.h"
-#endif
-
-
-/************************************************************
- * globals */
-
-char * method_name;
-
-
-void fatal_error(char *msg)
-{
- printf("FATAL ERROR IN STAGE1: %s\n\nI can't recover from this.\nYou may reboot your system.\n", msg);
- while (1);
-}
-
-
-/************************************************************
- * special frontend functs
- * (the principle is to not pollute frontend code with stage1-specific stuff) */
-
-void stg1_error_message(char *msg, ...)
-{
- va_list args;
- va_start(args, msg);
- log_message("unsetting automatic");
- unset_param(MODE_AUTOMATIC);
- verror_message(msg, args);
- va_end(args);
-}
-
-void stg1_info_message(char *msg, ...)
-{
- va_list args;
- va_start(args, msg);
- if (IS_AUTOMATIC) {
- vlog_message(msg, args);
- return;
- }
- vinfo_message(msg, args);
- va_end(args);
-}
-
-
-/************************************************************
- * spawns a shell on console #2 */
-static void spawn_shell(void)
-{
-#ifdef SPAWN_SHELL
- int fd;
- char * shell_name[] = { "/tmp/sh", NULL };
-
- log_message("spawning a shell");
-
- if (!IS_TESTING) {
- fd = open("/dev/tty2", O_RDWR);
- if (fd == -1) {
- log_message("cannot open /dev/tty2 -- no shell will be provided");
- return;
- }
- else if (access(shell_name[0], X_OK)) {
- log_message("cannot open shell - %s doesn't exist", shell_name[0]);
- return;
- }
-
- if (!fork()) {
- dup2(fd, 0);
- dup2(fd, 1);
- dup2(fd, 2);
-
- close(fd);
- setsid();
- if (ioctl(0, TIOCSCTTY, NULL))
- log_perror("could not set new controlling tty");
-
- execve(shell_name[0], shell_name, grab_env());
- log_message("execve of %s failed: %s", shell_name[0], strerror(errno));
- exit(-1);
- }
-
- close(fd);
- }
-#endif
-}
-
-
-char * interactive_fifo = "/tmp/stage1-fifo";
-static pid_t interactive_pid = 0;
-
-/* spawns my small interactive on console #6 */
-static void spawn_interactive(void)
-{
-#ifdef SPAWN_INTERACTIVE
- int fd;
- char * dev = "/dev/tty6";
-
- printf("spawning my interactive on %s\n", dev);
-
- if (!IS_TESTING) {
- fd = open(dev, O_RDWR);
- if (fd == -1) {
- printf("cannot open %s -- no interactive\n", dev);
- return;
- }
-
- if (mkfifo(interactive_fifo, O_RDWR)) {
- printf("cannot create fifo -- no interactive\n");
- return;
- }
-
- if (!(interactive_pid = fork())) {
- int fif_out;
-
- dup2(fd, 0);
- dup2(fd, 1);
- dup2(fd, 2);
-
- close(fd);
- setsid();
- if (ioctl(0, TIOCSCTTY, NULL))
- perror("could not set new controlling tty");
-
- fif_out = open(interactive_fifo, O_WRONLY);
- printf("Please enter your command (availables: [+,-] [rescue,expert]).\n");
-
- while (1) {
- char s[50];
- int i = 0;
- printf("? ");
- fflush(stdout);
- read(0, &(s[i++]), 1);
- fcntl(0, F_SETFL, O_NONBLOCK);
- while (read(0, &(s[i++]), 1) > 0 && i < sizeof(s));
- fcntl(0, F_SETFL, 0);
- write(fif_out, s, i-2);
- printf("Ok.\n");
- }
- }
-
- close(fd);
- }
-#endif
-}
-
-
-/************************************************************
- */
-
-static void expert_third_party_modules(void)
-{
- enum return_type results;
- char * floppy_mount_location = "/tmp/floppy";
- char ** modules;
- char final_name[500];
- char * choice;
- int rc;
- char * questions[] = { "Options", NULL };
- static char ** answers = NULL;
-
- results = ask_yes_no("If you want to insert third-party kernel modules, insert "
- "a Linux (ext2fs) formatted floppy containing the modules and confirm. Otherwise, select \"no\".");;
- if (results != RETURN_OK)
- return;
-
- my_insmod("floppy", ANY_DRIVER_TYPE, NULL);
-
- if (my_mount("/dev/fd0", floppy_mount_location, "ext2") == -1) {
- stg1_error_message("I can't find a Linux ext2 floppy in first floppy drive.");
- return expert_third_party_modules();
- }
-
- modules = list_directory(floppy_mount_location);
-
- if (!modules || !*modules) {
- stg1_error_message("No modules found on floppy disk.");
- umount(floppy_mount_location);
- return expert_third_party_modules();
- }
-
- results = ask_from_list("Which driver would you like to insmod?", modules, &choice);
- if (results != RETURN_OK) {
- umount(floppy_mount_location);
- return;
- }
-
- sprintf(final_name, "%s/%s", floppy_mount_location, choice);
-
- results = ask_from_entries("Please enter the options:", questions, &answers, 24, NULL);
- if (results != RETURN_OK) {
- umount(floppy_mount_location);
- return expert_third_party_modules();
- }
-
- rc = insmod_call(final_name, answers[0]);
- umount(floppy_mount_location);
-
- if (rc) {
- log_message("\tfailed");
- stg1_error_message("Insmod failed.");
- }
-
- return expert_third_party_modules();
-}
-
-
-static void handle_pcmcia(char ** pcmcia_adapter)
-{
-#ifdef ENABLE_PCMCIA
- *pcmcia_adapter = pcmcia_probe();
- if (!*pcmcia_adapter) {
- log_message("no pcmcia adapter found");
- return;
- }
- my_insmod("pcmcia_core", ANY_DRIVER_TYPE, NULL);
- my_insmod(*pcmcia_adapter, ANY_DRIVER_TYPE, NULL);
- my_insmod("ds", ANY_DRIVER_TYPE, NULL);
-
- /* call to cardmgr takes time, let's use the wait message */
- wait_message("Enabling PCMCIA extension cards...");
- log_message("cardmgr rc: %d", cardmgr_call());
- remove_wait_message();
-#endif
-}
-
-
-/************************************************************
- */
-
-static enum return_type method_select_and_prepare(void)
-{
- enum return_type results;
- char * choice;
- char * means[10], * means_auto[10];
- int i;
-
-#ifndef DISABLE_DISK
- char * disk_install = "Hard disk"; char * disk_install_auto = "disk";
-#endif
-#ifndef DISABLE_CDROM
- char * cdrom_install = "CDROM drive"; char * cdrom_install_auto = "cdrom";
-#endif
-#ifndef DISABLE_NETWORK
- char * network_nfs_install = "NFS server"; char * network_nfs_install_auto = "nfs";
- char * network_ftp_install = "FTP server"; char * network_ftp_install_auto = "ftp";
- char * network_http_install = "HTTP server"; char * network_http_install_auto = "http";
-#endif
-
- i = 0;
-#ifndef DISABLE_NETWORK
- means[i] = network_nfs_install; means_auto[i++] = network_nfs_install_auto;
- means[i] = network_ftp_install; means_auto[i++] = network_ftp_install_auto;
- means[i] = network_http_install; means_auto[i++] = network_http_install_auto;
-#endif
-#ifndef DISABLE_CDROM
- means[i] = cdrom_install; means_auto[i++] = cdrom_install_auto;
-#endif
-#ifndef DISABLE_DISK
- means[i] = disk_install; means_auto[i++] = disk_install_auto;
-#endif
- means[i] = NULL;
-
- results = ask_from_list_auto("Please choose the installation method.", means, &choice, "method", means_auto);
-
- if (results != RETURN_OK)
- return method_select_and_prepare();
-
- results = RETURN_ERROR;
-
-#ifndef DISABLE_CDROM
- if (!strcmp(choice, cdrom_install))
- results = cdrom_prepare();
-#endif
-
-#ifndef DISABLE_DISK
- if (!strcmp(choice, disk_install))
- results = disk_prepare();
-#endif
-
-#ifndef DISABLE_NETWORK
- if (!strcmp(choice, network_nfs_install))
- results = nfs_prepare();
-
- if (!strcmp(choice, network_ftp_install))
- results = ftp_prepare();
-
- if (!strcmp(choice, network_http_install))
- results = http_prepare();
-#endif
-
- if (results != RETURN_OK)
- return method_select_and_prepare();
-
- return RETURN_OK;
-}
-
-
-int main(int argc, char **argv, char **env)
-{
- enum return_type ret;
- char ** argptr;
- char * stage2_args[30];
- char * pcmcia_adapter = NULL;
-
- if (getpid() > 50)
- set_param(MODE_TESTING);
-
- spawn_interactive();
-
- open_log();
- log_message("welcome to the " DISTRIB_NAME " install (mdk-stage1, version " VERSION " built " __DATE__ " " __TIME__")");
- process_cmdline();
- handle_env(env);
- spawn_shell();
- init_modules_insmoding();
- init_frontend("Welcome to " DISTRIB_NAME " (" VERSION ") " __DATE__ " " __TIME__);
-
- if (IS_EXPERT)
- expert_third_party_modules();
-
- handle_pcmcia(&pcmcia_adapter);
-
- ret = method_select_and_prepare();
-
- finish_frontend();
- close_log();
-
- if (ret != RETURN_OK)
- fatal_error("could not select an installation method");
-
- if (!IS_RAMDISK) {
- if (symlink(IMAGE_LOCATION LIVE_LOCATION, STAGE2_LOCATION) != 0) {
- printf("symlink from " IMAGE_LOCATION LIVE_LOCATION " to " STAGE2_LOCATION " failed");
- fatal_error(strerror(errno));
- }
- }
-
- if (interactive_pid != 0)
- kill(interactive_pid, 9);
-
- if (IS_RESCUE) {
- int fd = open("/proc/sys/kernel/real-root-dev", O_RDWR);
-#if defined(__powerpc__) || defined (__sparc__)
- write(fd, "0x1030000", sizeof("0x1030000")); /* ram3 or sparc */
-#else
- write(fd, "0x103", sizeof("0x103")); /* ram3 */
-#endif
- close(fd);
- return 66;
- }
-
- if (IS_TESTING)
- return 0;
-
- argptr = stage2_args;
- *argptr++ = "/usr/bin/runinstall2";
- *argptr++ = "--method";
- *argptr++ = method_name;
- if (pcmcia_adapter) {
- *argptr++ = "--pcmcia";
- *argptr++ = pcmcia_adapter;
- }
- *argptr++ = NULL;
-
- execve(stage2_args[0], stage2_args, grab_env());
-
- printf("error in exec of stage2 :-(\n");
- fatal_error(strerror(errno));
-
- return 0; /* shut up compiler (we can't get here anyway!) */
-}
diff --git a/mdk-stage1/stage1.h b/mdk-stage1/stage1.h
deleted file mode 100644
index a9ca99b32..000000000
--- a/mdk-stage1/stage1.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef _STAGE1_H_
-#define _STAGE1_H_
-
-#include "config-stage1.h"
-#include "tools.h"
-
-
-/* Some global stuff */
-
-extern char * method_name;
-extern char * interactive_fifo;
-
-#define MODE_TESTING (1 << 0)
-#define MODE_EXPERT (1 << 1)
-#define MODE_RESCUE (1 << 3)
-#define MODE_AUTOMATIC (1 << 4)
-#define MODE_SPECIAL_STAGE2 (1 << 8)
-#define MODE_RAMDISK (1 << 9)
-
-#define IS_TESTING (get_param(MODE_TESTING))
-#define IS_EXPERT (get_param(MODE_EXPERT))
-#define IS_RESCUE (get_param(MODE_RESCUE))
-#define IS_AUTOMATIC (get_param(MODE_AUTOMATIC))
-#define IS_SPECIAL_STAGE2 (get_param(MODE_SPECIAL_STAGE2))
-#define IS_RAMDISK (get_param(MODE_RAMDISK))
-
-void fatal_error(char *msg) __attribute__ ((noreturn));
-
-
-void stg1_error_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
-void stg1_info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
-
-#endif
diff --git a/mdk-stage1/stdio-frontend.c b/mdk-stage1/stdio-frontend.c
deleted file mode 100644
index 5b37eafcd..000000000
--- a/mdk-stage1/stdio-frontend.c
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-
-/*
- * Each different frontend must implement all functions defined in frontend.h
- */
-
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <fcntl.h>
-#include <sys/ioctl.h>
-#include <termios.h>
-
-#include "frontend.h"
-
-
-void init_frontend(char * welcome_msg)
-{
- printf(welcome_msg);
-}
-
-
-void finish_frontend(void)
-{
-}
-
-static void get_any_response(void)
-{
- unsigned char t;
- printf("\n\t(press <enter> to proceed)");
- fflush(stdout);
- read(0, &t, 1);
- fcntl(0, F_SETFL, O_NONBLOCK);
- while (read(0, &t, 1) > 0);
- fcntl(0, F_SETFL, 0);
-}
-
-static int get_int_response(void)
-{
- char s[50];
- int j = 0, i = 0; /* (0) tied to Cancel */
- fflush(stdout);
- read(0, &(s[i++]), 1);
- fcntl(0, F_SETFL, O_NONBLOCK);
- do {
- int v = s[i-1];
- if (v >= '0' && v <= '9')
- j = j*10 + (v - '0');
- } while (read(0, &(s[i++]), 1) > 0 && i < sizeof(s));
- fcntl(0, F_SETFL, 0);
- return j;
-}
-
-static char * get_string_response(char * initial_string)
-{
- /* I won't use a scanf/%s since I also want the null string to be accepted -- also, I want the initial_string */
- char s[500];
- int i = 0;
- char buf[10];
- int b_index = 0;
- char b;
-
- struct termios t;
-
- memset(s, '\0', sizeof(s));
-
- if (initial_string) {
- printf(initial_string);
- strcpy(s, initial_string);
- i = strlen(s);
- }
-
- /* from ncurses/tinfo/lib_raw.c:(cbreak) */
- tcgetattr(0, &t);
- t.c_lflag &= ~ICANON;
- t.c_lflag |= ISIG;
- t.c_lflag &= ~ECHO;
- t.c_iflag &= ~ICRNL;
- t.c_cc[VMIN] = 1;
- t.c_cc[VTIME] = 0;
- tcsetattr(0, TCSADRAIN, &t);
-
- fflush(stdout);
-
- fcntl(0, F_SETFL, O_NONBLOCK);
-
- while (1) {
- if (read(0, &b, 1) > 0) {
- if (b_index == 1) {
- if (b == 91) {
- buf[b_index] = b;
- b_index++;
- continue;
- }
- else
- b_index = 0;
- }
- if (b_index == 2) {
- if (b == 67) {
- if (s[i] != '\0') {
- printf("\033[C");
- i++;
- }
- }
- if (b == 68) {
- if (i > 0) {
- printf("\033[D");
- i--;
- }
- }
- b_index = 0;
- continue;
- }
-
- if (b == 13)
- break;
- if (b == 127) {
- if (i > 0) {
- printf("\033[D");
- printf(" ");
- printf("\033[D");
- if (s[i] == '\0')
- s[i-1] = '\0';
- else
- s[i-1] = ' ';
- i--;
- }
- } else if (b == 27) {
- buf[b_index] = b;
- b_index++;
- } else {
- printf("%c", b);
- s[i] = b;
- i++;
- }
- }
- }
-
- t.c_lflag |= ICANON;
- t.c_lflag |= ECHO;
- t.c_iflag |= ICRNL;
- tcsetattr(0, TCSADRAIN, &t);
-
- fcntl(0, F_SETFL, 0);
-
- printf("\n");
- return strdup(s);
-}
-
-static void blocking_msg(char *type, char *fmt, va_list ap)
-{
- printf(type);
- vprintf(fmt, ap);
- get_any_response();
-}
-
-void verror_message(char *msg, va_list ap)
-{
- blocking_msg("> Error! ", msg, ap);
-}
-
-void vinfo_message(char *msg, va_list ap)
-{
- blocking_msg("> Notice: ", msg, ap);
-}
-
-void vwait_message(char *msg, va_list ap)
-{
- printf("Please wait: ");
- vprintf(msg, ap);
- fflush(stdout);
-}
-
-void remove_wait_message(void)
-{
- printf("\n");
-}
-
-
-static int size_progress;
-static int actually_drawn;
-#define PROGRESS_SIZE 45
-void init_progression(char *msg, int size)
-{
- int i;
- size_progress = size;
- printf("%s ", msg);
- if (size) {
- actually_drawn = 0;
- for (i=0; i<PROGRESS_SIZE; i++)
- printf(".");
- printf("]\033[G%s [", msg); /* only works on ANSI-compatibles */
- fflush(stdout);
- } else
- printf("\n");
-}
-
-void update_progression(int current_size)
-{
- if (size_progress) {
- if (current_size > size_progress)
- current_size = size_progress;
- while ((int)((current_size*PROGRESS_SIZE)/size_progress) > actually_drawn) {
- printf("*");
- actually_drawn++;
- }
- } else
- printf("\033[GStatus: [%8d] bytes loaded...", current_size);
-
- fflush(stdout);
-}
-
-void end_progression(void)
-{
- if (size_progress) {
- update_progression(size_progress);
- printf("]\n");
- } else
- printf(" done.\n");
-}
-
-
-enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice)
-{
- int justify_number = 1;
- void print_choice_number(int i) {
- char tmp[500];
- snprintf(tmp, sizeof(tmp), "[%%%dd]", justify_number);
- printf(tmp, i);
- }
- char ** sav_elems = elems;
- int i = 1;
- int j = 0;
-
- while (elems && *elems) {
- elems++;
- i++;
- }
- if (i >= 10)
- justify_number = 2;
-
- elems = sav_elems;
- i = 1;
-
- printf("> %s\n", msg);
- print_choice_number(0);
- printf(" Cancel");
-
- while (elems && *elems) {
- if (elems_comments && *elems_comments) {
- printf("\n");
- print_choice_number(i);
- printf(" %s (%s)", *elems, *elems_comments);
- j = 0;
- } else {
- if (j == 0)
- printf("\n");
- print_choice_number(i);
- printf(" %-14s ", *elems);
- j++;
- }
- if (j == 4)
- j = 0;
-
- if (elems_comments)
- elems_comments++;
- i++;
- elems++;
- }
-
- printf("\n? ");
-
- j = get_int_response();
-
- if (j == 0)
- return RETURN_BACK;
-
- if (j >= 1 && j <= i) {
- *choice = strdup(sav_elems[j-1]);
- return RETURN_OK;
- }
-
- return RETURN_ERROR;
-}
-
-
-enum return_type ask_from_list(char *msg, char ** elems, char ** choice)
-{
- return ask_from_list_comments(msg, elems, NULL, choice);
-}
-
-
-enum return_type ask_yes_no(char *msg)
-{
- int j;
-
- printf("> %s\n[0] Yes [1] No [2] Back\n? ", msg);
-
- j = get_int_response();
-
- if (j == 0)
- return RETURN_OK;
- else if (j == 2)
- return RETURN_BACK;
- else return RETURN_ERROR;
-}
-
-
-enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings))
-{
- int j, i = 0;
- char ** already_answers = NULL;
-
- printf("> %s\n", msg);
-
- while (questions && *questions) {
- printf("(%c) %s\n", i + 'a', *questions);
- i++;
- questions++;
- }
-
- if (*answers == NULL)
- *answers = (char **) malloc(sizeof(char *) * i);
- else
- already_answers = *answers;
-
- while (1) {
- int r;
- for (j = 0 ; j < i ; j++) {
- printf("(%c) ? ", j + 'a');
- if (already_answers && *already_answers) {
- (*answers)[j] = get_string_response(*already_answers);
- already_answers++;
- } else
- (*answers)[j] = get_string_response(NULL);
-
- }
- printf("[0] Cancel [1] Accept [2] Re-enter answers\n? ");
- r = get_int_response();
- if (r == 0)
- return RETURN_BACK;
- if (r == 1)
- return RETURN_OK;
- }
-}
diff --git a/mdk-stage1/tools.c b/mdk-stage1/tools.c
deleted file mode 100644
index deafdc8fe..000000000
--- a/mdk-stage1/tools.c
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdio.h>
-#include <dirent.h>
-#include <sys/types.h>
-#include <bzlib.h>
-#include <sys/mount.h>
-#include <sys/poll.h>
-#include "stage1.h"
-#include "log.h"
-#include "mount.h"
-#include "frontend.h"
-#include "automatic.h"
-
-#include "tools.h"
-
-
-static struct param_elem params[50];
-static int param_number = 0;
-
-void process_cmdline(void)
-{
- char buf[512];
- int fd, size, i;
-
- log_message("opening /proc/cmdline... ");
-
- if ((fd = open("/proc/cmdline", O_RDONLY)) == -1)
- fatal_error("could not open /proc/cmdline");
-
- size = read(fd, buf, sizeof(buf));
- buf[size-1] = '\0'; // -1 to eat the \n
- close(fd);
-
- log_message("\t%s", buf);
-
- i = 0;
- while (buf[i] != '\0') {
- char *name, *value = NULL;
- int j = i;
- while (buf[i] != ' ' && buf[i] != '=' && buf[i] != '\0')
- i++;
- if (i == j) {
- i++;
- continue;
- }
- name = memdup(&buf[j], i-j + 1);
- name[i-j] = '\0';
-
- if (buf[i] == '=') {
- int k = i+1;
- i++;
- while (buf[i] != ' ' && buf[i] != '\0')
- i++;
- value = memdup(&buf[k], i-k + 1);
- value[i-k] = '\0';
- }
-
- params[param_number].name = name;
- params[param_number].value = value;
- param_number++;
- if (!strcmp(name, "expert")) set_param(MODE_EXPERT);
- if (!strcmp(name, "rescue")) set_param(MODE_RESCUE);
- if (!strcmp(name, "special_stage2")) set_param(MODE_SPECIAL_STAGE2);
- if (!strcmp(name, "automatic")) {
- set_param(MODE_AUTOMATIC);
- grab_automatic_params(value);
- }
- if (buf[i] == '\0')
- break;
- i++;
- }
-
- log_message("\tgot %d args", param_number);
-}
-
-
-int stage1_mode = 0;
-
-int get_param(int i)
-{
-#ifdef SPAWN_INTERACTIVE
- static int fd = 0;
- char buf[5000];
- char * ptr;
- int nb;
-
- if (fd <= 0) {
- fd = open(interactive_fifo, O_RDONLY);
- if (fd == -1)
- return (stage1_mode & i);
- fcntl(fd, F_SETFL, O_NONBLOCK);
- }
-
- if (fd > 0) {
- if ((nb = read(fd, buf, sizeof(buf))) > 0) {
- buf[nb] = '\0';
- ptr = buf;
- while ((ptr = strstr(ptr, "+ "))) {
- if (!strncmp(ptr+2, "expert", 6)) set_param(MODE_EXPERT);
- if (!strncmp(ptr+2, "rescue", 6)) set_param(MODE_RESCUE);
- ptr++;
- }
- ptr = buf;
- while ((ptr = strstr(ptr, "- "))) {
- if (!strncmp(ptr+2, "expert", 6)) unset_param(MODE_EXPERT);
- if (!strncmp(ptr+2, "rescue", 6)) unset_param(MODE_RESCUE);
- ptr++;
- }
- }
- }
-#endif
-
- return (stage1_mode & i);
-}
-
-char * get_param_valued(char *param_name)
-{
- int i;
- for (i = 0; i < param_number ; i++)
- if (!strcmp(params[i].name, param_name))
- return params[i].value;
-
- return NULL;
-}
-
-void set_param_valued(char *param_name, char *param_value)
-{
- params[param_number].name = param_name;
- params[param_number].value = param_value;
- param_number++;
-}
-
-void set_param(int i)
-{
- stage1_mode |= i;
- if (i == MODE_RESCUE) {
- set_param_valued("special_stage2", "rescue");
- set_param(MODE_SPECIAL_STAGE2);
- }
-}
-
-void unset_param(int i)
-{
- stage1_mode &= ~i;
-}
-
-int charstar_to_int(char * s)
-{
- int number = 0;
- while (*s && isdigit(*s)) {
- number = (number * 10) + (*s - '0');
- s++;
- }
- return number;
-}
-
-int total_memory(void)
-{
- int value;
- struct stat statr;
- if (stat("/proc/kcore", &statr))
- return 0;
-
- /* drakx powered: use /proc/kcore and rounds every 4 Mbytes */
- value = 4 * ((int)((float)statr.st_size / 1024 / 1024 / 4 + 0.5));
- log_message("Total Memory: %d Mbytes", value);
-
- return value;
-}
-
-
-int ramdisk_possible(void)
-{
- if (total_memory() > MEM_LIMIT_RAMDISK)
- return 1;
- else {
- log_message("warning, ramdisk is not possible due to low mem!");
- return 0;
- }
-}
-
-
-static void save_stuff_for_rescue(void)
-{
- void save_this_file(char * file) {
- char buf[5000];
- int fd_r, fd_w, i;
- char location[100];
-
- if ((fd_r = open(file, O_RDONLY)) < 0) {
- log_message("can't open %s for read", file);
- return;
- }
- strcpy(location, STAGE2_LOCATION);
- strcat(location, file);
- if ((fd_w = open(location, O_WRONLY)) < 0) {
- log_message("can't open %s for write", location);
- close(fd_r);
- return;
- }
- if ((i = read(fd_r, buf, sizeof(buf))) <= 0) {
- log_message("can't read from %s", file);
- close(fd_r); close(fd_w);
- return;
- }
- if (write(fd_w, buf, i) != i)
- log_message("can't write %d bytes to %s", i, location);
- close(fd_r); close(fd_w);
- log_message("saved file %s for rescue (%d bytes)", file, i);
- }
- save_this_file("/etc/resolv.conf");
-}
-
-
-enum return_type load_ramdisk_fd(int ramdisk_fd, int size)
-{
- BZFILE * st2;
- char * ramdisk = "/dev/ram3"; /* warning, verify that this file exists in the initrd (and actually is a ramdisk device file) */
- int ram_fd;
- char buffer[4096];
- int z_errnum;
- char * wait_msg = "Loading program into memory...";
- int bytes_read = 0;
- int actually;
- int seems_ok = 0;
-
- st2 = BZ2_bzdopen(ramdisk_fd, "r");
-
- if (!st2) {
- log_message("Opening compressed ramdisk: %s", BZ2_bzerror(st2, &z_errnum));
- stg1_error_message("Could not open compressed ramdisk file.");
- return RETURN_ERROR;
- }
-
- ram_fd = open(ramdisk, O_WRONLY);
- if (ram_fd == -1) {
- log_perror(ramdisk);
- stg1_error_message("Could not open ramdisk device file.");
- return RETURN_ERROR;
- }
-
- init_progression(wait_msg, size);
-
- while ((actually = BZ2_bzread(st2, buffer, sizeof(buffer))) > 0) {
- seems_ok = 1;
- if (write(ram_fd, buffer, actually) != actually) {
- log_perror("writing ramdisk");
- remove_wait_message();
- return RETURN_ERROR;
- }
- update_progression((int)((bytes_read += actually) / RAMDISK_COMPRESSION_RATIO));
- }
-
- if (!seems_ok) {
- log_message("reading compressed ramdisk: %s", BZ2_bzerror(st2, &z_errnum));
- remove_wait_message();
- stg1_error_message("Could not uncompress second stage ramdisk.");
- return RETURN_ERROR;
- }
-
- end_progression();
-
- BZ2_bzclose(st2); /* opened by gzdopen, but also closes the associated fd */
- close(ram_fd);
-
- if (my_mount(ramdisk, STAGE2_LOCATION, "ext2"))
- return RETURN_ERROR;
-
- set_param(MODE_RAMDISK);
-
- if (IS_RESCUE) {
- save_stuff_for_rescue();
- if (umount(STAGE2_LOCATION)) {
- log_perror(ramdisk);
- return RETURN_ERROR;
- }
- return RETURN_OK; /* fucksike, I lost several hours wondering why the kernel won't see the rescue if it is alreay mounted */
- }
-
- return RETURN_OK;
-}
-
-
-char * get_ramdisk_realname(void)
-{
- char img_name[500];
- char * stg2_name = get_param_valued("special_stage2");
- char * begin_img = RAMDISK_LOCATION;
- char * end_img = "_stage2.bz2";
-
- if (!stg2_name)
- stg2_name = "mdkinst";
-
- if (IS_RESCUE)
- stg2_name = "rescue";
-
- strcpy(img_name, begin_img);
- strcat(img_name, stg2_name);
- strcat(img_name, end_img);
-
- return strdup(img_name);
-}
-
-
-enum return_type load_ramdisk(void)
-{
- int st2_fd;
- struct stat statr;
- char img_name[500];
-
- strcpy(img_name, IMAGE_LOCATION);
- strcat(img_name, get_ramdisk_realname());
-
- log_message("trying to load %s as a ramdisk", img_name);
-
- st2_fd = open(img_name, O_RDONLY); /* to be able to see the progression */
-
- if (st2_fd == -1) {
- log_message("open ramdisk file (%s) failed", img_name);
- stg1_error_message("Could not open compressed ramdisk file (%s).", img_name);
- return RETURN_ERROR;
- }
-
- if (stat(img_name, &statr))
- return RETURN_ERROR;
- else
- return load_ramdisk_fd(st2_fd, statr.st_size);
-}
-
-/* pixel's */
-void * memdup(void *src, size_t size)
-{
- void * r;
- r = malloc(size);
- memcpy(r, src, size);
- return r;
-}
-
-
-static char ** my_env = NULL;
-static int env_size = 0;
-
-void handle_env(char ** env)
-{
- char ** ptr = env;
- while (ptr && *ptr) {
- ptr++;
- env_size++;
- }
- my_env = malloc(sizeof(char *) * 100);
- memcpy(my_env, env, sizeof(char *) * (env_size+1));
-}
-
-char ** grab_env(void) {
- return my_env;
-}
-
-void add_to_env(char * name, char * value)
-{
- char tmp[500];
- sprintf(tmp, "%s=%s", name, value);
- my_env[env_size] = strdup(tmp);
- env_size++;
- my_env[env_size] = NULL;
-}
-
-
-char ** list_directory(char * direct)
-{
- char * tmp[50000]; /* in /dev there can be many many files.. */
- int i = 0;
- struct dirent *ep;
- DIR *dp = opendir(direct);
- while (dp && (ep = readdir(dp))) {
- if (strcmp(ep->d_name, ".") && strcmp(ep->d_name, "..")) {
- tmp[i] = strdup(ep->d_name);
- i++;
- }
- }
- if (dp)
- closedir(dp);
- tmp[i] = NULL;
- return memdup(tmp, sizeof(char*) * (i+1));
-}
-
-
-int string_array_length(char ** a)
-{
- int i = 0;
- if (!a)
- return -1;
- while (a && *a) {
- a++;
- i++;
- }
- return i;
-}
diff --git a/mdk-stage1/tools.h b/mdk-stage1/tools.h
deleted file mode 100644
index 5d38b0364..000000000
--- a/mdk-stage1/tools.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#ifndef _TOOLS_H_
-#define _TOOLS_H_
-
-#include <stdlib.h>
-
-void process_cmdline(void);
-int get_param(int i);
-void set_param(int i);
-void unset_param(int i);
-int charstar_to_int(char * s);
-int total_memory(void);
-int ramdisk_possible(void);
-char * get_ramdisk_realname(void);
-enum return_type load_ramdisk(void);
-enum return_type load_ramdisk_fd(int ramdisk_fd, int size);
-void * memdup(void *src, size_t size);
-void add_to_env(char * name, char * value);
-void handle_env(char ** env);
-char ** grab_env(void);
-char ** list_directory(char * direct);
-int string_array_length(char ** a);
-
-struct param_elem
-{
- char * name;
- char * value;
-};
-
-#define ptr_begins_static_str(pointer,static_str) (!strncmp(pointer,static_str,sizeof(static_str)-1))
-#define streq !strcmp
-
-#endif
diff --git a/mdk-stage1/url.c b/mdk-stage1/url.c
deleted file mode 100644
index 236782a50..000000000
--- a/mdk-stage1/url.c
+++ /dev/null
@@ -1,501 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan <ewt@redhat.com> and Matt Wilson <msw@redhat.com>
- *
- * Copyright 1999 Red Hat, Inc.
- *
- */
-
-#include <alloca.h>
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <netinet/in_systm.h>
-
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <sys/poll.h>
-
-#include <netinet/in.h>
-#include <netinet/ip.h>
-#include <arpa/inet.h>
-
-#include "dns.h"
-#include "log.h"
-#include "tools.h"
-
-#include "url.h"
-
-
-#define TIMEOUT_SECS 60
-#define BUFFER_SIZE 4096
-
-
-static int ftp_check_response(int sock, char ** str)
-{
- static char buf[BUFFER_SIZE + 1];
- int bufLength = 0;
- struct pollfd polls;
- char * chptr, * start;
- int bytesRead, rc = 0;
- int doesContinue = 1;
- char errorCode[4];
-
- errorCode[0] = '\0';
-
- do {
- polls.fd = sock;
- polls.events = POLLIN;
- if (poll(&polls, 1, TIMEOUT_SECS*1000) != 1)
- return FTPERR_BAD_SERVER_RESPONSE;
-
- bytesRead = read(sock, buf + bufLength, sizeof(buf) - bufLength - 1);
-
- bufLength += bytesRead;
-
- buf[bufLength] = '\0';
-
- /* divide the response into lines, checking each one to see if
- we are finished or need to continue */
-
- start = chptr = buf;
-
- do {
- while (*chptr != '\n' && *chptr) chptr++;
-
- if (*chptr == '\n') {
- *chptr = '\0';
- if (*(chptr - 1) == '\r') *(chptr - 1) = '\0';
- if (str) *str = start;
-
- if (errorCode[0]) {
- if (!strncmp(start, errorCode, 3) && start[3] == ' ')
- doesContinue = 0;
- } else {
- strncpy(errorCode, start, 3);
- errorCode[3] = '\0';
- if (start[3] != '-') {
- doesContinue = 0;
- }
- }
-
- start = chptr + 1;
- chptr++;
- } else {
- chptr++;
- }
- } while (*chptr);
-
- if (doesContinue && chptr > start) {
- memcpy(buf, start, chptr - start - 1);
- bufLength = chptr - start - 1;
- } else {
- bufLength = 0;
- }
- } while (doesContinue);
-
- if (*errorCode == '4' || *errorCode == '5') {
- if (!strncmp(errorCode, "550", 3)) {
- return FTPERR_FILE_NOT_FOUND;
- }
-
- return FTPERR_BAD_SERVER_RESPONSE;
- }
-
- if (rc) return rc;
-
- return 0;
-}
-
-static int ftp_command(int sock, char * command, char * param)
-{
- char buf[500];
- int rc;
-
- strcpy(buf, command);
- if (param) {
- strcat(buf, " ");
- strcat(buf, param);
- }
-
- strcat(buf, "\r\n");
-
- if (write(sock, buf, strlen(buf)) != strlen(buf)) {
- return FTPERR_SERVER_IO_ERROR;
- }
-
- if ((rc = ftp_check_response(sock, NULL)))
- return rc;
-
- return 0;
-}
-
-static int get_host_address(char * host, struct in_addr * address)
-{
- if (isdigit(host[0])) {
- if (!inet_aton(host, address)) {
- return FTPERR_BAD_HOST_ADDR;
- }
- } else {
- if (mygethostbyname(host, address))
- return FTPERR_BAD_HOSTNAME;
- }
-
- return 0;
-}
-
-int ftp_open_connection(char * host, char * name, char * password, char * proxy)
-{
- int sock;
- struct in_addr serverAddress;
- struct sockaddr_in destPort;
- char * buf;
- int rc;
- int port = 21;
-
- if (!strcmp(name, "")) {
- name = "anonymous";
- password = "-drakx@";
- }
-
- if (strcmp(proxy, "")) {
- buf = alloca(strlen(name) + strlen(host) + 5);
- sprintf(buf, "%s@%s", name, host);
- name = buf;
- host = proxy;
- }
-
- if ((rc = get_host_address(host, &serverAddress))) return rc;
-
- sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
- if (sock < 0) {
- return FTPERR_FAILED_CONNECT;
- }
-
- destPort.sin_family = AF_INET;
- destPort.sin_port = htons(port);
- destPort.sin_addr = serverAddress;
-
- if (connect(sock, (struct sockaddr *) &destPort, sizeof(destPort))) {
- close(sock);
- return FTPERR_FAILED_CONNECT;
- }
-
- /* ftpCheckResponse() assumes the socket is nonblocking */
- if (fcntl(sock, F_SETFL, O_NONBLOCK)) {
- close(sock);
- return FTPERR_FAILED_CONNECT;
- }
-
- if ((rc = ftp_check_response(sock, NULL))) {
- return rc;
- }
-
- if ((rc = ftp_command(sock, "USER", name))) {
- close(sock);
- return rc;
- }
-
- if ((rc = ftp_command(sock, "PASS", password))) {
- close(sock);
- return rc;
- }
-
- if ((rc = ftp_command(sock, "TYPE", "I"))) {
- close(sock);
- return rc;
- }
-
- return sock;
-}
-
-
-int ftp_data_command(int sock, char * command, char * param)
-{
- int dataSocket;
- struct sockaddr_in dataAddress;
- int i, j;
- char * passReply;
- char * chptr;
- char retrCommand[500];
- int rc;
-
- if (write(sock, "PASV\r\n", 6) != 6) {
- return FTPERR_SERVER_IO_ERROR;
- }
- if ((rc = ftp_check_response(sock, &passReply)))
- return FTPERR_PASSIVE_ERROR;
-
- chptr = passReply;
- while (*chptr && *chptr != '(') chptr++;
- if (*chptr != '(') return FTPERR_PASSIVE_ERROR;
- chptr++;
- passReply = chptr;
- while (*chptr && *chptr != ')') chptr++;
- if (*chptr != ')') return FTPERR_PASSIVE_ERROR;
- *chptr-- = '\0';
-
- while (*chptr && *chptr != ',') chptr--;
- if (*chptr != ',') return FTPERR_PASSIVE_ERROR;
- chptr--;
- while (*chptr && *chptr != ',') chptr--;
- if (*chptr != ',') return FTPERR_PASSIVE_ERROR;
- *chptr++ = '\0';
-
- /* now passReply points to the IP portion, and chptr points to the
- port number portion */
-
- dataAddress.sin_family = AF_INET;
- if (sscanf(chptr, "%d,%d", &i, &j) != 2) {
- return FTPERR_PASSIVE_ERROR;
- }
- dataAddress.sin_port = htons((i << 8) + j);
-
- chptr = passReply;
- while (*chptr++) {
- if (*chptr == ',') *chptr = '.';
- }
-
- if (!inet_aton(passReply, &dataAddress.sin_addr))
- return FTPERR_PASSIVE_ERROR;
-
- dataSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
- if (dataSocket < 0) {
- return FTPERR_FAILED_CONNECT;
- }
-
- if (!param)
- sprintf(retrCommand, "%s\r\n", command);
- else
- sprintf(retrCommand, "%s %s\r\n", command, param);
-
- i = strlen(retrCommand);
-
- if (write(sock, retrCommand, i) != i) {
- return FTPERR_SERVER_IO_ERROR;
- }
-
- if (connect(dataSocket, (struct sockaddr *) &dataAddress,
- sizeof(dataAddress))) {
- close(dataSocket);
- return FTPERR_FAILED_DATA_CONNECT;
- }
-
- if ((rc = ftp_check_response(sock, NULL))) {
- close(dataSocket);
- return rc;
- }
-
- return dataSocket;
-}
-
-
-static int ftp_get_filesize(int sock, char * remotename)
-{
- int size = 0;
- char buf[2000];
- char file[500];
- char * ptr;
- int fd, rc, tot;
- int i;
-
- strcpy(buf, remotename);
- ptr = strrchr(buf, '/');
- if (!*ptr)
- return -1;
- *ptr = '\0';
-
- strcpy(file, ptr+1);
-
- if ((rc = ftp_command(sock, "CWD", buf))) {
- return -1;
- }
-
- fd = ftp_data_command(sock, "LIST", NULL);
- if (fd <= 0) {
- close(sock);
- return -1;
- }
-
- ptr = buf;
- while ((tot = read(fd, ptr, sizeof(buf) - (ptr - buf))) != 0)
- ptr += tot;
- *ptr = '\0';
- close(fd);
-
- if (!(ptr = strstr(buf, file))) {
- log_message("FTP/get_filesize: Bad mood, directory does not contain searched file (%s)", file);
- if (ftp_end_data_command(sock))
- close(sock);
- return -1;
- }
-
- for (i=0; i<4; i++) {
- while (*ptr && *ptr != ' ')
- ptr--;
- while (*ptr && *ptr == ' ')
- ptr--;
- }
- while (*ptr && *ptr != ' ')
- ptr--;
-
- if (ptr)
- size = charstar_to_int(ptr+1);
- else
- size = 0;
-
- if (ftp_end_data_command(sock)) {
- close(sock);
- return -1;
- }
-
- return size;
-}
-
-
-int ftp_start_download(int sock, char * remotename, int * size)
-{
- if ((*size = ftp_get_filesize(sock, remotename)) == -1) {
- log_message("FTP: could not get filesize (trying to continue)");
- *size = 0;
- }
- return ftp_data_command(sock, "RETR", remotename);
-}
-
-
-int ftp_end_data_command(int sock)
-{
- if (ftp_check_response(sock, NULL))
- return FTPERR_BAD_SERVER_RESPONSE;
-
- return 0;
-}
-
-
-int http_download_file(char * hostname, char * remotename, int * size)
-{
- char * buf;
- char headers[4096];
- char * nextChar = headers;
- int checkedCode;
- struct in_addr serverAddress;
- struct pollfd polls;
- int sock;
- int rc;
- struct sockaddr_in destPort;
- char * header_content_length = "Content-Length: ";
-
- if ((rc = get_host_address(hostname, &serverAddress))) return rc;
-
- sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
- if (sock < 0) {
- return FTPERR_FAILED_CONNECT;
- }
-
- destPort.sin_family = AF_INET;
- destPort.sin_port = htons(80);
- destPort.sin_addr = serverAddress;
-
- if (connect(sock, (struct sockaddr *) &destPort, sizeof(destPort))) {
- close(sock);
- return FTPERR_FAILED_CONNECT;
- }
-
- buf = alloca(strlen(remotename) + 20);
- sprintf(buf, "GET %s HTTP/0.9\r\n\r\n", remotename);
- write(sock, buf, strlen(buf));
-
- /* This is fun; read the response a character at a time until we:
-
- 1) Get our first \r\n; which lets us check the return code
- 2) Get a \r\n\r\n, which means we're done */
-
- *nextChar = '\0';
- checkedCode = 0;
- while (!strstr(headers, "\r\n\r\n")) {
- polls.fd = sock;
- polls.events = POLLIN;
- rc = poll(&polls, 1, TIMEOUT_SECS*1000);
-
- if (rc == 0) {
- close(sock);
- return FTPERR_SERVER_TIMEOUT;
- } else if (rc < 0) {
- close(sock);
- return FTPERR_SERVER_IO_ERROR;
- }
-
- if (read(sock, nextChar, 1) != 1) {
- close(sock);
- return FTPERR_SERVER_IO_ERROR;
- }
-
- nextChar++;
- *nextChar = '\0';
-
- if (nextChar - headers == sizeof(headers)) {
- close(sock);
- return FTPERR_SERVER_IO_ERROR;
- }
-
- if (!checkedCode && strstr(headers, "\r\n")) {
- char * start, * end;
-
- checkedCode = 1;
- start = headers;
- while (!isspace(*start) && *start) start++;
- if (!*start) {
- close(sock);
- return FTPERR_SERVER_IO_ERROR;
- }
- start++;
-
- end = start;
- while (!isspace(*end) && *end) end++;
- if (!*end) {
- close(sock);
- return FTPERR_SERVER_IO_ERROR;
- }
-
- *end = '\0';
- if (!strcmp(start, "404")) {
- close(sock);
- return FTPERR_FILE_NOT_FOUND;
- } else if (strcmp(start, "200")) {
- close(sock);
- return FTPERR_BAD_SERVER_RESPONSE;
- }
-
- *end = ' ';
- }
- }
-
- if ((buf = strstr(headers, header_content_length)))
- *size = charstar_to_int(buf + strlen(header_content_length));
- else
- *size = 0;
-
- return sock;
-}
diff --git a/mdk-stage1/url.h b/mdk-stage1/url.h
deleted file mode 100644
index 5a59bd814..000000000
--- a/mdk-stage1/url.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan <ewt@redhat.com> and Matt Wilson <msw@redhat.com>
- *
- * Copyright 1999 Red Hat, Inc.
- *
- */
-
-#ifndef _URL_H_
-#define _URL_H_
-
-int ftp_open_connection(char * host, char * name, char * password, char * proxy);
-int ftp_start_download(int sock, char * remotename, int * size);
-int ftp_end_data_command(int sock);
-
-int http_download_file(char * hostname, char * remotename, int * size);
-
-
-#define FTPERR_BAD_SERVER_RESPONSE -1
-#define FTPERR_SERVER_IO_ERROR -2
-#define FTPERR_SERVER_TIMEOUT -3
-#define FTPERR_BAD_HOST_ADDR -4
-#define FTPERR_BAD_HOSTNAME -5
-#define FTPERR_FAILED_CONNECT -6
-#define FTPERR_FILE_IO_ERROR -7
-#define FTPERR_PASSIVE_ERROR -8
-#define FTPERR_FAILED_DATA_CONNECT -9
-#define FTPERR_FILE_NOT_FOUND -10
-#define FTPERR_UNKNOWN -100
-
-#endif
diff --git a/perl-install/.cvsignore b/perl-install/.cvsignore
deleted file mode 100644
index d783193d2..000000000
--- a/perl-install/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-debug.log
-auto_inst.cfg
-auto
-t.pm
-modparm.lst
-*.flog
diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog
deleted file mode 100644
index c4a9d9995..000000000
--- a/perl-install/ChangeLog
+++ /dev/null
@@ -1,11700 +0,0 @@
-2001/06/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: don't wait on upping lo interface
-
- * mdk-stage1/modules.c: fix minor bug detecting when modules are present
-
- * mdk-stage1/dietlibc/include/stdlib.h, mdk-stage1/dietlibc/lib/random.c:
- i need working random suite for ppp with dietlibc
-
- * mdk-stage1/stage1.c: exit when exec fails after fork, i don't want two
- stage1 processes!
-
-2001/06/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pl.po: updated Polish file
-
-2001/06/05 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (mount): notail in any case
-
- * tools/i386/netboot/menu.lst.example, tools/i386/netboot/menu.lst,
- tools/i386/netboot/.cvsignore: menu.lst is now a local file created from
- the example
-
- * share/list, rescue/list.i386, rescue/list: switch to perl 5.6.1
-
- * Makefile: fix
-
-2001/06/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated Russian file
-
-2001/06/01 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: use -FULL postfix for common .c files targetting
- stage1-full
-
- * mdk-stage1/stage1.c: minor fix
-
- * mdk-stage1/newt/textbox.c: don't modify newt code to fix dietlibc bugs,
- i want to link against glibc too
-
- * mdk-stage1/dietlibc/include/stdlib.h, mdk-stage1/dietlibc/lib/strncat.c:
-
- - have strncat behave the same way as in glibc
- - declare that we're using the DIETLIBC in include/stdlib.h, so I can
- change my mind in "dns.c" to handle broken glibc which is not capable of
- doing name resolution with a static binary
-
- * mdk-stage1/dns.c, mdk-stage1/dns.h, mdk-stage1/adsl.c,
- mdk-stage1/adsl.h, mdk-stage1/nfsmount.c, mdk-stage1/network.c,
- mdk-stage1/url.c, mdk-stage1/network.h:
- - first draft of adsl support
- - get back some code for supporting broken glibc unable to resolve
- when linked statically
-
- * mdk-stage1/dietlibc/dietfeatures.h, mdk-stage1/dietlibc/lib/tcflush.c,
- mdk-stage1/dietlibc/lib/cfgetospeed.c, mdk-stage1/dietlibc/lib/speed.c,
- mdk-stage1/dietlibc/lib/tcsetattr.c,
- mdk-stage1/dietlibc/include/termios.h,
- mdk-stage1/dietlibc/include/netdb.h,
- mdk-stage1/dietlibc/libshell/glob.c: slight modifs to get ppp and pppoe
- stuff compile better
-
-2001/05/31 daouda
-
- * bootlook.pm: add runlevel chooser feature
-
-2001/05/31 Pixel <pixel@mandrakesoft.com>
-
- * rescue/make_rescue_img: check presence of files from list and list.ARCH
-
- * Makefile (get_needed_files): exit with error message if files from
- share/list (and
- share/list.ARCH) are missing
-
- * install2.pm: hide step formatPartitions when upgrading
-
-2001/05/30 mbadaire
-
- * mdk-stage1/stage1.c, mdk-stage1/slang/slmalloc.c,
- mdk-stage1/slang/Makefile, mdk-stage1/Makefile.common,
- mdk-stage1/insmod-modutils/obj/Makefile,
- mdk-stage1/insmod-modutils/Makefile, mdk-stage1/bzlib/Makefile,
- mdk-stage1/init-libc-headers.h, mdk-stage1/newt/Makefile,
- mdk-stage1/Makefile, mdk-stage1/insmod-modutils/util/Makefile,
- mdk-stage1/mar/Makefile, mdk-stage1/newt/windows.c:
- - allow build on ia64
- - have CFLAGS centralized in Makefile.common (should help ports such
- as alpha)
- - better looking sub makefiles
-
-2001/05/30 Pixel <pixel@mandrakesoft.com>
-
- * Makefile.drakxtools (install): ensure pm's in subdirs don't have
- /use(diagnostics|vars|strict)/
-
-2001/05/29 Franois Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: added fix from Michael Brown to handle pipe in queue
- name for lpr.
-
-2001/05/29 tvignaud
-
- * share/compssUsers: add NIS client to network clients
-
-2001/05/29 Franois Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: added fix from Michael Brown to handle pipe in queue
- name for lpr.
-
-2001/05/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/newt-frontend.c: use Axalon patch to hide passwords (highly
- rewritten..)
-
-2001/05/25 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * rescue/list.ppc, bootloader.pm: add hfs support to rescue - PPC, fix
- bootstrap creation, formatting sequence
-
- * install_steps_interactive.pm: fix bootstrap information screen back to
- orig with missing ":" - PPC
- add hfs support to rescue - PPC, fix bootstrap creation, formatting
- sequence
-
-2001/05/25 siegel
-
- * share/po/de.po: updated time
- moved to UTF-8
-
-2001/05/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
-2001/05/24 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (g_auto_install): autoExitInstall set if not replay (was
- the opposite)
-
-2001/05/23 Pixel <pixel@mandrakesoft.com>
-
- * rescue/list: add scd0...
-
-2001/05/22 siegel
-
- * share/po/de.po: updates
-
-2001/05/21 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * tools/ppc/mkhybrid-1.12b5.4-x86, tools/ppc/mkINSTALLCD: enable creation
- of PPC boot CD on x86 platform
-
-2001/05/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c:
- - better detect when IP is not good
- - error_msg when netmask seems invalid
- - don't log too much `guessing netmask'
-
- * mdk-stage1/probing.c: be sure to print pci vendor and id with 4 digits
- each
-
-2001/05/17 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed parted that ask for confirmation if partition
- table is not right (MAXDATA
- for example), this cause parted to ignore warning.
- added blank space between partition windows and linux to help resolving
- above case.
- fixed hole in partitionning (need testing), use fdisk to get disk
- geometry and
- create partition that matches cylinder boundaries (no more
- approximation).
- make sure to create all partitions including /home.
-
-2001/05/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/modules.c: add log for modules aliasing of SCSI drivers
- don't write nonsense code to separate frontend from stage1,
- but rather, try to do some clever things
-
- * mdk-stage1/probing.c: unify user notification of network and scsi
- devices that make load of drivers
- don't write nonsense code to separate frontend from stage1,
- but rather, try to do some clever things
-
- * mdk-stage1/stage1.c, mdk-stage1/frontend.h, mdk-stage1/stage1.h,
- mdk-stage1/tools.c, mdk-stage1/stdio-frontend.c, mdk-stage1/cdrom.c,
- mdk-stage1/Makefile, mdk-stage1/dhcp.c, mdk-stage1/newt-frontend.c,
- mdk-stage1/disk.c, mdk-stage1/network.c: don't write nonsense code to
- separate frontend from stage1,
- but rather, try to do some clever things
-
- * mdk-stage1/frontend-common.c: plop
-
-2001/05/16 dam's <damien@mandrakesoft.com>
-
- * pixmaps/bootloader.png, pixmaps/user.png, pixmaps/security.png,
- pixmaps/rootpasswd.png, pixmaps/harddrive.png, pixmaps/keyboard.png,
- pixmaps/default.png, pixmaps/X.png, pixmaps/mouse.png,
- pixmaps/bootdisk.png, pixmaps/services.png: added icons
-
- * standalone/printerdrake, standalone/keyboarddrake, standalone/drakboot,
- standalone/draksec, standalone/drakxservices, standalone/drakgw,
- standalone/XFdrake, standalone/adduserdrake: added icon management
-
- * my_gtk.pm, interactive.pm: icons management
-
- * install2.pm: added icons management
-
- * standalone/draknet: added icon managment
-
- * pixmaps/printer.png: added icon
-
-2001/05/16 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: added support for /var creation, and more specific
- package selection for server.
- Include option support by VERSION file.
-
-2001/05/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/HACKING, mdk-stage1/frontend.h,
- mdk-stage1/TECH-INFOS, mdk-stage1/WHY-DIETLIBC, mdk-stage1/stage1.h,
- mdk-stage1/stdio-frontend.c, mdk-stage1/Makefile, mdk-stage1/README,
- mdk-stage1/newt-frontend.c: have a 100% independence between UI stuff
- and code from stage1
-
-2001/05/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po, share/po/de.po, share/po/DrakX.pot, share/po/tr.po:
- updated Turkish file
-
-2001/05/16 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile: fix yet again DrakX.pot making
-
- * partition_table.pm: re-add reiserfs as it should
- add xfs
-
-2001/05/15 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: added missing Aurora, added icewm-light that may be
- usefull.
-
-2001/05/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: libresolv deprecated in GLIBC
- have stage1-full with pcmcia also compile with dietlibc, cool!
-
- * mdk-stage1/network.c: fix guess netmask
- configure_net_device is only used internally
-
- * mdk-stage1/modules.c, mdk-stage1/modules.h: better modules handling
- interface (use of enum rather than guessing single numbers..)
-
- * mdk-stage1/newt-frontend.c: allow wait_message calls to be multi-lines
-
- * mdk-stage1/pcmcia/cardmgr.c: have stage1-full with pcmcia also compile
- with dietlibc, cool!
- - build glibc and dietlibc targets
- - bzero string buffer before sscanf call (dietlibc implementation)
- - verify returns of ioperm so that I can use it in test mode
-
- * mdk-stage1/dietlibc/include/sys/file.h,
- mdk-stage1/dietlibc/include/sys/io.h,
- mdk-stage1/dietlibc/syscalls.s/ioperm.S: have stage1-full with pcmcia
- also compile with dietlibc, cool!
-
- * mdk-stage1/stage1.c: a bit of size reduction plus some language change
- blurk
-
- * mdk-stage1/WHY-DIETLIBC: advocate dietlibc
-
- * mdk-stage1/dietlibc/lib/vsscanf.c: import vsscanf fix from author
-
- * mdk-stage1/disk.c: bzero string buffer before sscanf call, security for
- dietlibc implementation
-
- * mdk-stage1/network.h: configure_net_device is only used internally
-
- * mdk-stage1/pcmcia/Makefile, mdk-stage1/pcmcia/pcmcia_probe.c:
- - build glibc and dietlibc targets
- - bzero string buffer before sscanf call (dietlibc implementation)
- - verify returns of ioperm so that I can use it in test mode
-
- * standalone/drakgw: full path for iptables
-
- * mdk-stage1/probing.c: allow wait_message calls to be multi-lines
- nicer layout for PCI detection messages
- better modules handling interface (use of enum rather than guessing
- single numbers..)
-
-2001/05/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po, share/po/ar.po: Updated Turkish file
-
- * share/keyboards.tar.bz2: Added north-african keyboard
-
- * keyboard.pm: added arabic azerty keyboard
-
-2001/05/15 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile: fix messages to i18n extracting
-
-2001/05/14 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * fs.pm: s|mkxfs|mkfs.xfs|;
-
-2001/05/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/nfsmount.c: use new gethostby* interface
-
- * mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2: add stage1-data
- which provides the busybox
-
- * mdk-stage1/network.c: Have the wait_message() with the sleep()
- - complies to gethostby functions
- - add sleep(2) so that net intf is really up before operation
- - more logs
- - FTP: don't try to close control connection with data socket, erhm
- :-(
- - debug netmask guessing, with stdio-frontend
-
- * mdk-stage1/Makefile: i can compile slang and newt with dietlibc now
- every targets build with dietlibc
-
- * mdk-stage1/make_boot_img: use busybox for my debugging purpose
-
- * mdk-stage1/tools.c: no need to poll() for data at beginning of
- load_ramdisk_fd, it was a fix of another problem (bug with file stdio
- operations with sockets in dietlibc)
-
- * mdk-stage1/dietlibc/Makefile: build this new dietlibc
- import new version of dietlibc
-
- * mdk-stage1/dns.c, mdk-stage1/dns.h: now use gethostby* functions
- provided by dietlibc
-
- * mdk-stage1/url.c: use poll() rather than select(), smaller code size
-
- * mdk-stage1/stage1.c: we don't use this sucking sash no more
- we now use `busybox' compiled with the marvellous dietlibc, which
- provides no less than 73 usefull binaries
-
- * mdk-stage1/dietlibc/alpha/semop.S, mdk-stage1/dietlibc/lib/sendmsg.c,
- mdk-stage1/dietlibc/alpha/shmget.S, mdk-stage1/dietlibc/lib/clearerr.c,
- mdk-stage1/dietlibc/include/sys/ipc.h,
- mdk-stage1/dietlibc/alpha/sendmsg.S,
- mdk-stage1/dietlibc/lib/tcgetpgrp.c, mdk-stage1/dietlibc/lib/fwrite.c,
- mdk-stage1/dietlibc/sparc/__testandset.S,
- mdk-stage1/dietlibc/syscalls.s/open.S,
- mdk-stage1/dietlibc/alpha/semget.S, mdk-stage1/dietlibc/dietstdarg.h,
- mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S,
- mdk-stage1/dietlibc/lib/nop.c, mdk-stage1/dietlibc/start.h,
- mdk-stage1/dietlibc/include/sys/syscall.h,
- mdk-stage1/dietlibc/alpha/accept.S, mdk-stage1/dietlibc/lib/sigjmp.c,
- mdk-stage1/dietlibc/syscalls.s/ptrace.s,
- mdk-stage1/dietlibc/lib/isprint.c,
- mdk-stage1/dietlibc/syscalls.s/dietstat.S,
- mdk-stage1/dietlibc/alpha/shutdown.S, mdk-stage1/dietlibc/lib/sendto.c,
- mdk-stage1/dietlibc/sparc/shmat.c, mdk-stage1/dietlibc/include/time.h,
- mdk-stage1/dietlibc/lib/stat_convert.c, mdk-stage1/dietlibc/lib/send.c,
- mdk-stage1/dietlibc/lib/isxdigit.c, mdk-stage1/dietlibc/alpha/waitpid.S,
- mdk-stage1/dietlibc/lib/atexit.c, mdk-stage1/dietlibc/lib/readdir.c,
- mdk-stage1/dietlibc/include/sys/sem.h,
- mdk-stage1/dietlibc/syscalls.s/query_module.S,
- mdk-stage1/dietlibc/lib/strchr.c,
- mdk-stage1/dietlibc/syscalls.s/dietfstat64.S,
- mdk-stage1/dietlibc/syscalls.s/lstat64.S,
- mdk-stage1/dietlibc/i386/setjmp.S, mdk-stage1/dietlibc/lib/alloc.c,
- mdk-stage1/dietlibc/lib/perror.c,
- mdk-stage1/dietlibc/include/sys/socket.h,
- mdk-stage1/dietlibc/lib/creat64.c, mdk-stage1/dietlibc/lib/closedir.c,
- mdk-stage1/dietlibc/sparc/pipe.S, mdk-stage1/dietlibc/lib/msgrcv.c,
- mdk-stage1/dietlibc/include/utmp.h,
- mdk-stage1/dietlibc/syscalls.s/sendfile.S,
- mdk-stage1/dietlibc/syscalls.s/nice.S,
- mdk-stage1/dietlibc/syscalls.s/sigprocmask.S,
- mdk-stage1/dietlibc/syscalls.s/select.S,
- mdk-stage1/dietlibc/include/sys/mtio.h,
- mdk-stage1/dietlibc/i386/strchr.S, mdk-stage1/dietlibc/alpha/divl.S,
- mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S,
- mdk-stage1/dietlibc/lib/__telldir.c,
- mdk-stage1/dietlibc/i386/__testandset.S,
- mdk-stage1/dietlibc/lib/remove.c,
- mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S,
- mdk-stage1/dietlibc/lib/fputc.c, mdk-stage1/dietlibc/lib/msgctl.c,
- mdk-stage1/dietlibc/alpha/clone.S, mdk-stage1/dietlibc/lib/connect.c,
- mdk-stage1/dietlibc/include/sys/un.h,
- mdk-stage1/dietlibc/alpha/connect.S,
- mdk-stage1/dietlibc/include/termios.h,
- mdk-stage1/dietlibc/lib/sigfillset.c,
- mdk-stage1/dietlibc/lib/sigismember.c,
- mdk-stage1/dietlibc/syscalls.s/dietstat64.S,
- mdk-stage1/dietlibc/i386/start.S, mdk-stage1/dietlibc/lib/shmget.c,
- mdk-stage1/dietlibc/lib/strtok.c, mdk-stage1/dietlibc/lib/fclose.c,
- mdk-stage1/dietlibc/lib/tcsetpgrp.c,
- mdk-stage1/dietlibc/sparc/Makefile.add,
- mdk-stage1/dietlibc/include/sys/shm.h, mdk-stage1/dietlibc/alpha/send.S,
- mdk-stage1/dietlibc/i386/__longjmp.S, mdk-stage1/dietlibc/lib/recvmsg.c,
- mdk-stage1/dietlibc/include/inttypes.h,
- mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S,
- mdk-stage1/dietlibc/lib/semget.c, mdk-stage1/dietlibc/lib/open64.c,
- mdk-stage1/dietlibc/alpha/recvmsg.S,
- mdk-stage1/dietlibc/syscalls.s/fork.S,
- mdk-stage1/dietlibc/lib/strcasecmp.c, mdk-stage1/dietlibc/lib/htonl.c,
- mdk-stage1/dietlibc/lib/accept.c, mdk-stage1/dietlibc/alpha/shmat.S,
- mdk-stage1/dietlibc/include/features.h,
- mdk-stage1/dietlibc/include/syslog.h, mdk-stage1/dietlibc/lib/isascii.c,
- mdk-stage1/dietlibc/syscalls.s/writev.S,
- mdk-stage1/dietlibc/lib/fputs.c,
- mdk-stage1/dietlibc/alpha/sigprocmask.S,
- mdk-stage1/dietlibc/lib/ntohs.c, mdk-stage1/dietlibc/include/sys/uio.h,
- mdk-stage1/dietlibc/syscalls.s/nanosleep.S,
- mdk-stage1/dietlibc/syscalls.s/creat.S,
- mdk-stage1/dietlibc/include/sys/sysinfo.h,
- mdk-stage1/dietlibc/lib/atof.c, mdk-stage1/dietlibc/alpha/msgsnd.S,
- mdk-stage1/dietlibc/lib/vsprintf.c, mdk-stage1/dietlibc/lib/toupper.c,
- mdk-stage1/dietlibc/lib/strlcpy.3, mdk-stage1/dietlibc/lib/sigaddset.c,
- mdk-stage1/dietlibc/i386/select.S, mdk-stage1/dietlibc/i386/unified.S,
- mdk-stage1/dietlibc/include/dirent.h,
- mdk-stage1/dietlibc/include/getopt.h, mdk-stage1/dietlibc/lib/seekdir.c,
- mdk-stage1/dietlibc/include/net/route.h,
- mdk-stage1/dietlibc/syscalls.s/exit.S,
- mdk-stage1/dietlibc/include/pthread.h,
- mdk-stage1/dietlibc/lib/sprintf.c, mdk-stage1/dietlibc/alpha/msgget.S,
- mdk-stage1/dietlibc/include/limits.h, mdk-stage1/dietlibc/lib/qsort.c,
- mdk-stage1/dietlibc/lib/execvp.c,
- mdk-stage1/dietlibc/syscalls.s/__reboot.S,
- mdk-stage1/dietlibc/lib/stdin.c,
- mdk-stage1/dietlibc/syscalls.s/getitimer.S,
- mdk-stage1/dietlibc/include/grp.h, mdk-stage1/dietlibc/lib/usleep.c,
- mdk-stage1/dietlibc/lib/lstat.c, mdk-stage1/dietlibc/sparc/setjmp.S,
- mdk-stage1/dietlibc/sparc/fork.S,
- mdk-stage1/dietlibc/syscalls.s/__pread.S,
- mdk-stage1/dietlibc/include/sys/poll.h,
- mdk-stage1/dietlibc/syscalls.s/personality.S,
- mdk-stage1/dietlibc/lib/lseek64.c, mdk-stage1/dietlibc/include/setjmp.h,
- mdk-stage1/dietlibc/lib/recv.c, mdk-stage1/dietlibc/include/string.h,
- mdk-stage1/dietlibc/include/sys/time.h, mdk-stage1/dietlibc/lib/fstat.c,
- mdk-stage1/dietlibc/lib/memcmp.c, mdk-stage1/dietlibc/lib/isupper.c,
- mdk-stage1/dietlibc/include/sys/param.h,
- mdk-stage1/dietlibc/syscalls.s/__getpagesize.S,
- mdk-stage1/dietlibc/lib/exec_lib.c, mdk-stage1/dietlibc/alpha/shmdt.S,
- mdk-stage1/dietlibc/include/dlfcn.h, mdk-stage1/dietlibc/lib/isdigit.c,
- mdk-stage1/dietlibc/lib/fdopen.c, mdk-stage1/dietlibc/lib/exec_lib.h,
- mdk-stage1/dietlibc/lib/__lxstat.c, mdk-stage1/dietlibc/alpha/remq.S,
- mdk-stage1/dietlibc/include/sys/kd.h,
- mdk-stage1/dietlibc/syscalls.s/read.S, mdk-stage1/dietlibc/lib/fopen.c,
- mdk-stage1/dietlibc/syscalls.s/sched_yield.S,
- mdk-stage1/dietlibc/include/sys/mman.h,
- mdk-stage1/dietlibc/lib/__readdir.c,
- mdk-stage1/dietlibc/lib/cfgetospeed.c,
- mdk-stage1/dietlibc/lib/__dtostr.c, mdk-stage1/dietlibc/lib/execv.c,
- mdk-stage1/dietlibc/alpha/reml.S,
- mdk-stage1/dietlibc/syscalls.s/fcntl.S,
- mdk-stage1/dietlibc/include/errno.h, mdk-stage1/dietlibc/lib/ferror.c,
- mdk-stage1/dietlibc/syscalls.s/ipc.S,
- mdk-stage1/dietlibc/syscalls.s/mlockall.S,
- mdk-stage1/dietlibc/lib/fgetc.c, mdk-stage1/dietlibc/lib/strtoull.c,
- mdk-stage1/dietlibc/include/sys/msg.h,
- mdk-stage1/dietlibc/syscalls.s/sigsuspend.S,
- mdk-stage1/dietlibc/lib/isgraph.c, mdk-stage1/dietlibc/lib/vsscanf.c,
- mdk-stage1/dietlibc/lib/ftell.c, mdk-stage1/dietlibc/include/unistd.h,
- mdk-stage1/dietlibc/lib/msgsnd.c, mdk-stage1/dietlibc/lib/semop.c,
- mdk-stage1/dietlibc/include/net/if_arp.h,
- mdk-stage1/dietlibc/lib/execlp.c,
- mdk-stage1/dietlibc/syscalls.s/stat64.S,
- mdk-stage1/dietlibc/dietfeatures.h, mdk-stage1/dietlibc/dietstdio.h,
- mdk-stage1/dietlibc/lib/feof.c, mdk-stage1/dietlibc/lib/opendir.c,
- mdk-stage1/dietlibc/syscalls.s/fstat64.S,
- mdk-stage1/dietlibc/syscalls.s/sched_setparam.S,
- mdk-stage1/dietlibc/include/sys/reboot.h,
- mdk-stage1/dietlibc/lib/sigdelset.c, mdk-stage1/dietlibc/lib/execl.c,
- mdk-stage1/dietlibc/include/sys/sendfile.h,
- mdk-stage1/dietlibc/include/sys/syslog.h,
- mdk-stage1/dietlibc/syscalls.s/iopl.S, mdk-stage1/dietlibc/lib/msgget.c,
- mdk-stage1/dietlibc/syscalls.s/sched_getparam.S,
- mdk-stage1/dietlibc/lib/vsnprintf.c,
- mdk-stage1/dietlibc/include/signal.h,
- mdk-stage1/dietlibc/syscalls.s/pause.S,
- mdk-stage1/dietlibc/include/arpa/inet.h,
- mdk-stage1/dietlibc/include/sys/wait.h,
- mdk-stage1/dietlibc/alpha/time.S, mdk-stage1/dietlibc/lib/ttyname.c,
- mdk-stage1/dietlibc/lib/__lstat64.c, mdk-stage1/dietlibc/lib/__stat64.c,
- mdk-stage1/dietlibc/alpha/recv.S, mdk-stage1/dietlibc/lib/fgets.c,
- mdk-stage1/dietlibc/lib/strncat.c, mdk-stage1/dietlibc/lib/__lltostr.c,
- mdk-stage1/dietlibc/lib/__ltostr.c,
- mdk-stage1/dietlibc/sparc/__longjmp.S, mdk-stage1/dietlibc/lib/puts.c,
- mdk-stage1/dietlibc/lib/rand.c, mdk-stage1/dietlibc/syscalls.s/fsync.S,
- mdk-stage1/dietlibc/include/fnmatch.h, mdk-stage1/dietlibc/lib/fflush.c,
- mdk-stage1/dietlibc/lib/htons.c,
- mdk-stage1/dietlibc/syscalls.s/sigaltstack.S,
- mdk-stage1/dietlibc/include/sys/resource.h,
- mdk-stage1/dietlibc/lib/__stat64_cvt.c,
- mdk-stage1/dietlibc/lib/localtime.c,
- mdk-stage1/dietlibc/alpha/seteuid.c,
- mdk-stage1/dietlibc/syscalls.s/stime.S,
- mdk-stage1/dietlibc/include/resolv.h, mdk-stage1/dietlibc/lib/__xstat.c,
- mdk-stage1/dietlibc/ppc/Makefile.add,
- mdk-stage1/dietlibc/sparc/unified.S, mdk-stage1/dietlibc/lib/bsearch.c,
- mdk-stage1/dietlibc/include/net/if.h,
- mdk-stage1/dietlibc/include/shadow.h,
- mdk-stage1/dietlibc/lib/__rewinddir.c,
- mdk-stage1/dietlibc/include/daemon.h, mdk-stage1/dietlibc/lib/mkfifo.c,
- mdk-stage1/dietlibc/include/paths.h, mdk-stage1/dietlibc/include/pwd.h,
- mdk-stage1/dietlibc/lib/strrchr.c, mdk-stage1/dietlibc/lib/__seekdir.c,
- mdk-stage1/dietlibc/syscalls.h, mdk-stage1/dietlibc/alpha/shmctl.S,
- mdk-stage1/dietlibc/lib/fdglue.c, mdk-stage1/dietlibc/lib/fseek.c,
- mdk-stage1/dietlibc/include/regex.h,
- mdk-stage1/dietlibc/include/sys/ptrace.h,
- mdk-stage1/dietlibc/lib/tcdrain.c,
- mdk-stage1/dietlibc/syscalls.s/lstat.S,
- mdk-stage1/dietlibc/alpha/semctl.S, mdk-stage1/dietlibc/lib/recvfrom.c,
- mdk-stage1/dietlibc/lib/random.c,
- mdk-stage1/dietlibc/syscalls.s/times.S,
- mdk-stage1/dietlibc/lib/getpgrp.c, mdk-stage1/dietlibc/lib/cfmakeraw.c,
- mdk-stage1/dietlibc/lib/stat.c, mdk-stage1/dietlibc/syscalls.s/write.S,
- mdk-stage1/dietlibc/syscalls.s/dietlstat64.S,
- mdk-stage1/dietlibc/ppc/__testandset.S,
- mdk-stage1/dietlibc/include/mntent.h,
- mdk-stage1/dietlibc/include/sys/file.h,
- mdk-stage1/dietlibc/syscalls.s/fstat.S,
- mdk-stage1/dietlibc/syscalls.s/llseek.S,
- mdk-stage1/dietlibc/lib/strsep.c,
- mdk-stage1/dietlibc/include/sys/stat.h,
- mdk-stage1/dietlibc/syscalls.s/munlockall.S,
- mdk-stage1/dietlibc/syscalls.s/setpriority.S,
- mdk-stage1/dietlibc/include/assert.h,
- mdk-stage1/dietlibc/include/strings.h,
- mdk-stage1/dietlibc/include/alloca.h, mdk-stage1/dietlibc/lib/gmtime.c,
- mdk-stage1/dietlibc/lib/shmat.c, mdk-stage1/dietlibc/lib/__isnan.c,
- mdk-stage1/dietlibc/ppc/__longjmp.S,
- mdk-stage1/dietlibc/lib/__closedir.c,
- mdk-stage1/dietlibc/include/sys/signal.h,
- mdk-stage1/dietlibc/lib/rewinddir.c, mdk-stage1/dietlibc/lib/stdout.c,
- mdk-stage1/dietlibc/lib/vfprintf.c, mdk-stage1/dietlibc/.cvsignore,
- mdk-stage1/dietlibc/lib/telldir.c, mdk-stage1/dietlibc/include/glob.h,
- mdk-stage1/dietlibc/lib/tm_conv.c,
- mdk-stage1/dietlibc/syscalls.s/reboot.S,
- mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S,
- mdk-stage1/dietlibc/syscalls.s/umount2.S,
- mdk-stage1/dietlibc/syscalls.s/readv.S,
- mdk-stage1/dietlibc/lib/__fxstat.c,
- mdk-stage1/dietlibc/include/sys/select.h,
- mdk-stage1/dietlibc/syscalls.s/syslog.S,
- mdk-stage1/dietlibc/syscalls.s/sysinfo.S,
- mdk-stage1/dietlibc/lib/fprintf.c,
- mdk-stage1/dietlibc/include/sys/cdefs.h, mdk-stage1/dietlibc/README,
- mdk-stage1/dietlibc/lib/fread.c, mdk-stage1/dietlibc/lib/getpwnam.c,
- mdk-stage1/dietlibc/syscalls.s/getcwd.S,
- mdk-stage1/dietlibc/lib/getservent.c, mdk-stage1/dietlibc/lib/tolower.c,
- mdk-stage1/dietlibc/diet.c, mdk-stage1/dietlibc/alpha/recvfrom.S,
- mdk-stage1/dietlibc/include/elf.h, mdk-stage1/dietlibc/alpha/sendto.S,
- mdk-stage1/dietlibc/lib/fileno.c, mdk-stage1/dietlibc/i386/clone.S,
- mdk-stage1/dietlibc/lib/__opendir.c,
- mdk-stage1/dietlibc/include/sched.h, mdk-stage1/dietlibc/alpha/__time.c,
- mdk-stage1/dietlibc/lib/ispunct.c, mdk-stage1/dietlibc/lib/printf.c,
- mdk-stage1/dietlibc/lib/strtod.c, mdk-stage1/dietlibc/lib/strncasecmp.c,
- mdk-stage1/dietlibc/lib/__getcwd.c,
- mdk-stage1/dietlibc/include/netinet/in.h,
- mdk-stage1/dietlibc/lib/shmctl.c,
- mdk-stage1/dietlibc/syscalls.s/dietlstat.S,
- mdk-stage1/dietlibc/include/arpa/nameser.h,
- mdk-stage1/dietlibc/lib/assert_fail.c, mdk-stage1/dietlibc/lib/semctl.c,
- mdk-stage1/dietlibc/lib/shmdt.c, mdk-stage1/dietlibc/lib/shutdown.c,
- mdk-stage1/dietlibc/lib/setpgrp.c, mdk-stage1/dietlibc/alpha/msgrcv.S,
- mdk-stage1/dietlibc/lib/stderr.c,
- mdk-stage1/dietlibc/syscalls.s/close.S,
- mdk-stage1/dietlibc/syscalls.s/dietfstat.S,
- mdk-stage1/dietlibc/include/locale.h,
- mdk-stage1/dietlibc/syscalls.s/getpriority.S,
- mdk-stage1/dietlibc/lib/__fstat64.c, mdk-stage1/dietlibc/lib/isalpha.c,
- mdk-stage1/dietlibc/lib/reboot.c, mdk-stage1/dietlibc/lib/isspace.c,
- mdk-stage1/dietlibc/include/sys/mount.h,
- mdk-stage1/dietlibc/lib/creat.c, mdk-stage1/dietlibc/syscalls.s/lseek.S,
- mdk-stage1/dietlibc/sparc/clone.S, mdk-stage1/dietlibc/dietwarning.h,
- mdk-stage1/dietlibc/lib/islower.c,
- mdk-stage1/dietlibc/alpha/Makefile.add, mdk-stage1/dietlibc/lib/abort.c,
- mdk-stage1/dietlibc/alpha/msgctl.S, mdk-stage1/dietlibc/lib/isalnum.c,
- mdk-stage1/dietlibc/include/ctype.h,
- mdk-stage1/dietlibc/include/netdb.h,
- mdk-stage1/dietlibc/include/memory.h, mdk-stage1/dietlibc/lib/iscntrl.c,
- mdk-stage1/dietlibc/i386/Makefile.add, mdk-stage1/dietlibc/lib/getopt.c,
- mdk-stage1/dietlibc/syscalls.s/waitpid.S,
- mdk-stage1/dietlibc/lib/strtoul.c,
- mdk-stage1/dietlibc/syscalls.s/stat.S,
- mdk-stage1/dietlibc/syscalls.s/sysctl.S: import new version of dietlibc
-
- * mdk-stage1/insmod-busybox/busybox.h: fix conflicts with dietlibc headers
-
- * mdk-stage1/dietlibc/include/stdio.h,
- mdk-stage1/dietlibc/include/stdlib.h,
- mdk-stage1/dietlibc/include/math.h,
- mdk-stage1/dietlibc/include/sys/times.h: have slang and newt compile
- with dietlibc
- import new version of dietlibc
-
- * mdk-stage1/Makefile.common: new dietlibc binaries location
-
- * mdk-stage1/newt-frontend.c: i can compile slang and newt with dietlibc
- now
-
- * mdk-stage1/dietlibc/lib/abs.c: have slang and newt compile with dietlibc
-
- * mdk-stage1/dhcp.c: Have the wait_message() with the sleep()
- - add a sleep(2) after ioctl ifupping so that further operation can
- work normally
- - more logs
-
-2001/05/14 kjx
-
- * share/po/zh_CN.GB2312.po: process untranslated
-
-2001/05/14 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm, fsedit.pm, partition_table.pm, install_any.pm: basic xfs handling
-
-2001/05/11 Franois Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: fixed missing package which may be selected on
- hardware during real install.
-
- * rescue/tree/etc/oem: added support to change boot entries when invoking
- oem script.
- fixed missing SCSI support and driver module loading.
- fixed missing speficic packages not installed on HW detected.
-
-2001/05/08 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: VBox -> HBox in Embedded mode
-
- * standalone/mousedrake: code cleaned and debugged
- added mouse test. Ugly
-
-2001/05/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stdio-frontend.c: fix minor stuff
- re-include correct layout for [] choices, in a smaller way than before
-
- * mdk-stage1/tools.c: minor fix
- needs to poll() for available data before loading ramdisk because ftp
- transfers would fail in some situations
-
- * mdk-stage1/init.c: new maxim
-
- * mdk-stage1/config-stage1.h: adjust COMPRESSION_RATIO so that last star
- is printed when last blocks of file are read
-
- * mdk-stage1/dhcp.c: use poll() rather than select() to win some bytesCVS:
- ----------------------------------------------------------------------
-
-2001/05/08 siegel
-
- * share/po/de.po: fixed plenty ugly typos
-
-2001/05/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po: updated Brazilian file
-
-2001/05/07 yduret
-
- * docs/README.devel: fix one typo
-
- * any.pm, bootloader.pm: updated install_lilo() according to new lilo
- package
- (/boot/lilo-{menu,graphic,text})
-
-2001/05/06 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad output and bad adsl script
-
-2001/05/06 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install2.pm: workaround for msec hang on PPC
-
-2001/05/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: KDE+SOUND -> 4 xmms-arts
-
-2001/05/04 tvignaud
-
- * mdk-stage1/mar/mar-extract-only.c: text size micro-opt
-
-2001/05/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: KDE+SOUND -> 4 xmms-arts
-
-2001/05/04 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * c/smp.c, keyboard.pm, Xconfigurator.pm: force XF4 in expert too for PPC,
- don't run xmodmap, PPC SMP routine placeholder
-
-2001/05/04 tvignaud
-
- * mdk-stage1/mar/mar-extract-only.c: text size micro-opt
-
-2001/04/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stdio-frontend.c: nicer layout for progressbar and
- statusreport, when update_progression
- Provide some description of the drivers
-
- * docs/HACKING: fix
- pserver -> ext
-
- * mdk-stage1/tools.c, mdk-stage1/Makefile, mdk-stage1/tools.h,
- mdk-stage1/newt-frontend.c, mdk-stage1/modules_descr.h,
- mdk-stage1/modules.c: Provide some description of the drivers
-
-2001/04/30 Pixel <pixel@mandrakesoft.com>
-
- * docs/README: s/gi.tar.bz2/DrakX-*.src.rpm/
-
- * docs/advocacy: fuck'em all
-
-2001/04/26 Franois Pons <fpons@mandrakesoft.com>
-
- * docs/README.devel, docs/README: added some more comments for DrakX code
- source and usage.
-
-2001/04/25 Franois Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: fixed use of VERSION file to find language.
- prepare a oem disk to be used by moving all files that will not be
- installed by oem (oem-master disk preparation).
-
- * rescue/tree/etc/closurepkgs, rescue/tree/etc/part_and_bootloader: fixed
- usage of free space on disk, added NVIDIA packages to install.
-
- * rescue/tree/etc/oem-server: added missing VERSION file.
- fixed usage of free space on disk, added NVIDIA packages to install.
-
- * rescue/tree/etc/oem: added missing autologin package.
- added option to enable oem mode.
- added missing VERSION file.
- fixed usage of free space on disk, added NVIDIA packages to install.
-
-2001/04/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: version is labelled "cooker"
-
-2001/04/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/serial_probe/serial.c, tools/serial_probe/serial_probe.c:
- integrate fg's fixes for includes
-
-2001/04/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * rescue/list.sparc, rescue/list.i386, rescue/list.ppc, rescue/list.alpha,
- rescue/list: move /sbin/sfdisk to list.arch, update both list.ppc
-
-2001/04/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: fix bug that trashes the network config of stage1
- during stage2, when no DNS is provided
-
-2001/04/18 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor: last corrections
-
- * standalone/draknet, netconnect.pm: last corrections
- corrected internet connection test, and parameters editing
-
- * install_steps_gtk.pm: corrected cursor on details
-
-2001/04/18 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: * put am-utils and autofs in NETWORKING_FILE
- * drakprofile in level 1
- * swapped tkinter and python-devel
- * vnc-server in NETWORKING_REMOTE_ACCESS_SERVER
- * vnc-SVGALIB in level 2
-
-2001/04/17 dam's <damien@mandrakesoft.com>
-
- * standalone/mousedrake: fixed embedded
-
- * bootlook.pm: chmoded autologin
-
-2001/04/17 Franois Pons <fpons@mandrakesoft.com>
-
- * any.pm: restored grub as everything seems fine.
-
- * rescue/tree/etc/oem-server: fixed swap size instead of inst size for
- swap gap.
- make sure kernel will be selected.
-
- * rescue/tree/etc/oem: fixed swap size instead of inst size for swap gap.
- make sure kernel is selected.
-
- * install_steps_interactive.pm: fixed missing mouse update in summary.
-
-2001/04/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: fix 75dpi-fonts bug with MAKEDEV
-
-2001/04/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * standalone/draknet: fixed typo
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/vi.po, share/po/br.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated Basque file
-
-2001/04/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): better ensure
- 'broadcast' insteaf of overriding
- (setRootPassword): set NIS to broadcast when NIS asked. Empty NIS still
- means no NIS
-
- * any.pm (setupBootloader): remove a warning
-
-2001/04/17 warly
-
- * share/rpmsrate: put MAKEDEV at end of line
-
-2001/04/17 dam's <damien@mandrakesoft.com>
-
- * standalone/mousedrake: fixed embedded
-
- * bootlook.pm: chmoded autologin
-
-2001/04/17 Franois Pons <fpons@mandrakesoft.com>
-
- * any.pm: restored grub as everything seems fine.
-
- * rescue/tree/etc/oem: fixed swap size instead of inst size for swap gap.
- make sure kernel is selected.
- fixed parted problem.
-
- * rescue/tree/etc/oem-server: fixed swap size instead of inst size for
- swap gap.
- make sure kernel will be selected.
-
- * install_steps_interactive.pm: fixed missing mouse update in summary.
-
-2001/04/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/vi.po, share/po/br.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated Basque file
-
-2001/04/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): better ensure
- 'broadcast' insteaf of overriding
- (setRootPassword): set NIS to broadcast when NIS asked. Empty NIS still
- means no NIS
-
- * any.pm (setupBootloader): remove a warning
-
-2001/04/17 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: chmoded autologin
-
-2001/04/17 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed swap size instead of inst size for swap gap.
- make sure kernel is selected.
- fixed parted problem.
-
- * rescue/tree/etc/oem-server: fixed swap size instead of inst size for
- swap gap.
- make sure kernel will be selected.
-
-2001/04/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): better ensure
- 'broadcast' insteaf of overriding
- (setRootPassword): set NIS to broadcast when NIS asked. Empty NIS still
- means no NIS
-
- * any.pm (setupBootloader): remove a warning
-
-2001/04/17 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: chmoded autologin
-
-2001/04/17 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed swap size instead of inst size for swap gap.
- make sure kernel is selected.
- fixed parted problem.
-
- * rescue/tree/etc/oem-server: fixed swap size instead of inst size for
- swap gap.
- make sure kernel will be selected.
-
-2001/04/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): set NIS to broadcast
- when NIS asked. Empty NIS still means no NIS
-
- * any.pm (setupBootloader): remove a warning
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * any.pm: removed Grub if Embedded
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: minor bug.
-
- * any.pm: removed Grub if Embedded
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor: updated
- updated
-
- * network.pm: dhcpd -> dhcpcd
-
- * Xconfigurator.pm: added nice monitor.png
-
- * netconnect.pm: minor bug.
- dhcpd -> dhcpcd
-
- * standalone/draknet: updated
-
- * pixmaps/hori.png, pixmaps/colors.png, pixmaps/wiz_default_left.png,
- pixmaps/tradi.png, pixmaps/categ.png, pixmaps/wiz_default_up.png,
- pixmaps/verti.png, pixmaps/wiz_firewall.png, pixmaps/monitor.png,
- pixmaps/monitor-1280.png, pixmaps/monitor-1024.png, pixmaps/net_c.png,
- pixmaps/wiz_draknet.png, pixmaps/gmon.png, pixmaps/monitor-800.png,
- pixmaps/net_d.png, pixmaps/eth_card_mini.png, pixmaps/wiz_drakgw.png,
- pixmaps/monitor-640.png, pixmaps/colors8.png, pixmaps/colors16.png: plop
- removed for readd in kb
-
- * my_gtk.pm: corrected typo
- added grey fix for contreol-center
-
-2001/04/16 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: added missing rio500 in closure.
- finally fixed menu by generating /etc/rpm/macros file.
- added missing LF.
- now fixed menu problems.
- try another fix for RPM_INSTALL_LANG as first fr_FR:fr instead of
- fr:fr_FR.
- really disable server.
- maybe fixed RPM_INSTALL_LANG (from "fr" to "fr:fr_FR" for french).
- fixed to avoid nasty message in wrong places.
- moved warning message around.
- fixed wrong LOCALES"...".
- fixed lang weirdness, fixed minimal size of / partition to be more
- confortable,
- fixed default language for starting DrakX after.
-
- * Xconfig.pm: fixed standalone error for wacom weirdness.
- fixed HASH() in /etc/X11/XF86Config*.
-
- * fs.pm: restored not neccessary to load reiserfs for formating.
- loading reiserfs module before formatting.
-
-2001/04/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * pixmaps/monitor-800.png, pixmaps/monitor-1024.png,
- pixmaps/monitor-640.png, pixmaps/monitor-1280.png: add nice shots for
- XFdrake
-
- * mdk-stage1/TECH-INFOS: update doc
-
- * share/po/fr.po: fix minor thing
-
-2001/04/16 Pixel <pixel@mandrakesoft.com>
-
- * share/compssUsers: remove BURNER from Utilities
-
-2001/04/16 warly
-
- * share/rpmsrate: lower portsentry
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: added nice monitor.png
-
- * standalone/net_monitor: updated
-
- * pixmaps/hori.png, pixmaps/colors.png, pixmaps/wiz_default_left.png,
- pixmaps/tradi.png, pixmaps/categ.png, pixmaps/wiz_default_up.png,
- pixmaps/verti.png, pixmaps/wiz_firewall.png, pixmaps/monitor.png,
- pixmaps/monitor-1280.png, pixmaps/monitor-1024.png, pixmaps/net_c.png,
- pixmaps/wiz_draknet.png, pixmaps/gmon.png, pixmaps/monitor-800.png,
- pixmaps/net_d.png, pixmaps/eth_card_mini.png, pixmaps/wiz_drakgw.png,
- pixmaps/monitor-640.png, pixmaps/colors8.png, pixmaps/colors16.png: plop
- removed for readd in kb
-
- * my_gtk.pm: corrected typo
- added grey fix for contreol-center
-
-2001/04/16 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfig.pm: fixed standalone error for wacom weirdness.
- fixed HASH() in /etc/X11/XF86Config*.
-
- * rescue/tree/etc/oem: maybe fixed RPM_INSTALL_LANG (from "fr" to
- "fr:fr_FR" for french).
- fixed to avoid nasty message in wrong places.
- moved warning message around.
- fixed wrong LOCALES"...".
- fixed lang weirdness, fixed minimal size of / partition to be more
- confortable,
- fixed default language for starting DrakX after.
-
-2001/04/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * pixmaps/monitor-800.png, pixmaps/monitor-1024.png,
- pixmaps/monitor-640.png, pixmaps/monitor-1280.png: add nice shots for
- XFdrake
-
-2001/04/16 Pixel <pixel@mandrakesoft.com>
-
- * share/compssUsers: remove BURNER from Utilities
-
-2001/04/16 warly
-
- * share/rpmsrate: lower portsentry
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: bugfix
- added update thread
- corrected bad install package.
- updated expert mode
-
- * network.pm, install_steps.pm: corrected bad install package.
-
- * Xconfigurator.pm: added nice monitor.png
-
- * tinyfirewall.pm: corrected package installation
-
- * standalone/net_monitor: updated
-
- * pixmaps/hori.png, pixmaps/colors.png, pixmaps/wiz_default_left.png,
- pixmaps/tradi.png, pixmaps/categ.png, pixmaps/wiz_default_up.png,
- pixmaps/verti.png, pixmaps/wiz_firewall.png, pixmaps/monitor.png,
- pixmaps/monitor-1280.png, pixmaps/monitor-1024.png, pixmaps/net_c.png,
- pixmaps/wiz_draknet.png, pixmaps/gmon.png, pixmaps/monitor-800.png,
- pixmaps/net_d.png, pixmaps/eth_card_mini.png, pixmaps/wiz_drakgw.png,
- pixmaps/monitor-640.png, pixmaps/colors8.png, pixmaps/colors16.png: plop
- removed for readd in kb
-
- * my_gtk.pm: corrected typo
- added grey fix for contreol-center
-
- * netconnect.pm: debug
- corrected bad install package.
-
-2001/04/16 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfig.pm: fixed standalone error for wacom weirdness.
- fixed HASH() in /etc/X11/XF86Config*.
-
- * rescue/tree/etc/oem: maybe fixed RPM_INSTALL_LANG (from "fr" to
- "fr:fr_FR" for french).
- fixed to avoid nasty message in wrong places.
- moved warning message around.
- fixed wrong LOCALES"...".
- fixed lang weirdness, fixed minimal size of / partition to be more
- confortable,
- fixed default language for starting DrakX after.
-
-2001/04/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * pixmaps/monitor-800.png, pixmaps/monitor-1024.png,
- pixmaps/monitor-640.png, pixmaps/monitor-1280.png: add nice shots for
- XFdrake
-
-2001/04/16 Pixel <pixel@mandrakesoft.com>
-
- * share/compssUsers: remove BURNER from Utilities
-
- * install_any.pm (g_auto_install): do not take 'mkbootdisk'
-
-2001/04/16 warly
-
- * share/rpmsrate: lower portsentry
-
-2001/04/15 fabman
-
- * share/po/es.po: updates
-
-2001/04/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fix minor typo
-
-2001/04/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/gl.po: updated Galician file
-
-2001/04/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (reallyChooseGroups): translate path (eg:
- Workstation, Server) to make gg happy
-
-2001/04/15 fabman
-
- * share/po/es.po: updates
-
-2001/04/15 fcrozat
-
- * share/rpmsrate: Add mozilla-mail and mozilla-irc to correct categories
-
-2001/04/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fix minor typo
-
-2001/04/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po, share/po/ko.po: Updated Swedish and Korean files
-
-2001/04/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (reallyChooseGroups): translate path (eg:
- Workstation, Server) to make gg happy
-
- * printerdrake.pm (main): restore the "Ok" button for the queues
- manipulation
-
- * any.pm (write_passwd_user): fix use of local
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): add an eval
- around "require log" to keep perl from going totally mad (getting things
- like v18.843.482 required--this is only v5.6.0)
-
-2001/04/15 yduret
-
- * bootlook.pm: bug fix: if cancel pressed in lilo/grub choice => return to
- mcc normally
- fix layout & size
-
-2001/04/14 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected isdn detect display
-
- * standalone/net_monitor, standalone/draknet: wait 10 sec, instead of 7
-
-2001/04/14 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: changed priority level from 2 to 4 for rate
- selection of packages.
-
- * pkgs.pm: fixed absurd mismatch of use of <=> and cmp on versionCompare.
-
-2001/04/14 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (naughtyServers): add apache
-
- * install_gtk.pm (createXconf): ensure the mouse device is created (mainly
- for auto_inst)
-
- * install_steps_interactive.pm (exitInstall): fix bad i18n of Replay
- button (thx2submarine)
-
-2001/04/14 warly
-
- * share/rpmsrate: lower viavoicemenu to 1 to avoid error message for
- powerpack boxes without ViaVoice
-
-2001/04/14 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: changed priority level from 2 to 4 for rate
- selection of packages.
-
- * pkgs.pm: fixed absurd mismatch of use of <=> and cmp on versionCompare.
-
-2001/04/14 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (load_po): s/!isStandalone/isInstall/ (mainly for XFdrake's
- test)
-
- * Xconfigurator.pm (use vars): fix stew sux
- (testFinalConfig): nicer stderr handling
-
- * interactive_gtk.pm, interactive_newt.pm (exit): fix the exit code
-
-2001/04/14 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed to gzip synthesis file.
- safe guard generation of synthesis file.
- fixed umask on urpmi list file and generate synthesis file for each
- hdlist.
-
- * pkgs.pm: fixed absurd mismatch of use of <=> and cmp on versionCompare.
-
-2001/04/14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (configureX): fix link /etc/gtk (to
- /mnt/etc/gtk) instead of /etc/gtkrc
-
- * any.pm (autologin): spurious messages of chksession -> dave nul
-
- * interactive_newt.pm (exit): fix the exit code
- (wait_message_endW): don't log "none stacked wait-messages" (as a lot of
- them exist...)
- (waitbox): remove spurious '0' in wait_messages
-
- * lang.pm (load_po): s/!isStandalone/isInstall/ (mainly for XFdrake's
- test)
-
- * Xconfigurator.pm (use vars): fix stew sux
- (testFinalConfig): nicer stderr handling
-
- * interactive_gtk.pm (exit): fix the exit code
-
-2001/04/14 warly
-
- * share/compssUsers, share/list, share/rpmsrate: add icons in compssUser
- and list
-
-2001/04/14 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed to gzip synthesis file.
- safe guard generation of synthesis file.
- fixed umask on urpmi list file and generate synthesis file for each
- hdlist.
-
-2001/04/14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (configureX): fix link /etc/gtk (to
- /mnt/etc/gtk) instead of /etc/gtkrc
-
- * any.pm (autologin): spurious messages of chksession -> dave nul
-
- * interactive_newt.pm (exit): fix the exit code
- (wait_message_endW): don't log "none stacked wait-messages" (as a lot of
- them exist...)
- (waitbox): remove spurious '0' in wait_messages
-
- * lang.pm (load_po): s/!isStandalone/isInstall/ (mainly for XFdrake's
- test)
-
- * Xconfigurator.pm (use vars): fix stew sux
- (testFinalConfig): nicer stderr handling
-
- * interactive_gtk.pm (exit): fix the exit code
-
-2001/04/14 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * Xconfigurator_consts.pm, mouse.pm, Xconfigurator.pm: updates to X, mouse
- setup for PPC
-
-2001/04/14 warly
-
- * share/compssUsers, share/list, share/rpmsrate: add icons in compssUser
- and list
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * Xconfigurator.pm: corrected
- updated
- updated message
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: avoid locking cdrom for oem (compssUsers file still
- opened).
-
-2001/04/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: Updated Norwegian file
- Updated po files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/vi.po, share/po/br.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated po files
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (main): reverse message
-
- * install_steps_gtk.pm (installPackages): hide Details button sooner
- (installPackages): do not show button "Details" when no advertising
-
- * Xconfigurator_consts.pm: do not set XkbVariant "winkeys" for
- ru(winkeys), it is redondant
-
- * interactive_gtk.pm (ask_from_entries_refW): set_default_size width 250
-
- * any.pm (ask_users): do not have an empty icon. better not ask for icon
- if no icon
-
-2001/04/13 siegel
-
- * share/po/de.po: updates
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * Xconfigurator.pm: corrected
- updated
- updated message
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: avoid locking cdrom for oem (compssUsers file still
- opened).
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (main): reverse message
-
- * install_steps_gtk.pm (installPackages): hide Details button sooner
- (installPackages): do not show button "Details" when no advertising
-
- * Xconfigurator_consts.pm: do not set XkbVariant "winkeys" for
- ru(winkeys), it is redondant
-
- * interactive_gtk.pm (ask_from_entries_refW): set_default_size width 250
-
- * any.pm (ask_users): do not have an empty icon. better not ask for icon
- if no icon
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * Xconfigurator.pm: corrected
- updated
- updated message
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * install_steps_gtk.pm (installPackages): hide Details button sooner
- (installPackages): do not show button "Details" when no advertising
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: updated
- updated message
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * install_steps_gtk.pm (installPackages): do not show button "Details"
- when no advertising
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: updated
- updated message
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * install_steps_gtk.pm (installPackages): do not show button "Details"
- when no advertising
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: updated
- updated message
-
- * standalone/draknet: message corrected
- updated
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * bootlook.pm: embedded = 0 -> local
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * install_steps_gtk.pm (installPackages): do not show button "Details"
- when no advertising
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
- add DATABASES to Database
- add icons for server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * network.pm: updated wireless configuration
-
- * netconnect.pm: corrected loop in isdn + other things
-
- * bootlook.pm: embedded = 0 -> local
-
- * standalone/draknet: updated
- added delete event
-
-2001/04/13 Franois Pons <fpons@mandrakesoft.com>
-
- * netconnect.pm: fixed syntax error :-)
-
- * install_steps.pm, install_steps_gtk.pm: added conditional update-menus
- if package are installed.
-
- * install_steps_interactive.pm: added conditional update-menus if package
- are installed.
- make sure update-menus is called after installing cups related packages.
-
-2001/04/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/fr.po, share/po/sv.po, share/po/hu.po: Updated
- Croatian and Swedish files
-
- * share/po/sl.po, share/po/cy.po, share/po/ca.po, share/po/ga.po,
- share/po/is.po, share/po/cs.po: Removed po files with too low leve lof
- translating ( < 60% )
- so they are not included on final CD
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * bootlook.pm: don't use Locale::GetText, use DrakX's i18n
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * my_gtk.pm (new): make dams happy
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add DATABASES to Database
- add icons for server
-
-2001/04/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: remove unnecessary redhat history code
-
-2001/04/12 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed wrong kernel version extraction (typically for
- upgrade).
-
- * install_steps_interactive.pm: removed Cancel of Summary.
- fixed ask printer configuration.
-
- * detect_devices.pm: fix Hewlett-Packard to HP in case.
-
- * standalone/printerdrake: never ask to configure a printer in standalone.
-
- * printerdrake.pm: automatically add a queue if nothing exists.
- fixed ask to configure a printer.
-
- * interactive.pm: removed strict die on empty list.
-
- * live_install2: added some gtk and gdk_imlib missing variables.
-
- * live_install: removed gtk variable for data, moved to second script.
-
- * modules.pm, commands.pm, lang.pm, pkgs.pm, keyboard.pm: fixed log of
- packdrake.
-
-2001/04/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: remove unneeded #define
-
- * standalone/drakgw: add some rule so later on tinyfirewall will not
- prevent everything from working
-
- * share/po/fr.po: minor fix
- write some ppc translations
-
-2001/04/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: Updated Italian file
-
-2001/04/12 Pixel <pixel@mandrakesoft.com>
-
- * printer.pm: use run_program and remove "require run_program"s
-
- * my_gtk.pm (main): only accept X (gdk) events key_press, key_release and
- exposure (so
- that not to receive motion_notify which would generate focus_out in
- non-interesting cases)
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): fix the test
- for empty lists
- (ask_from_entries_refH_powered_normalize):
- - when not_edit and empty list, die.
- - when not_edit and single element list, don't display that entry.
-
- * lang.pm (pack_langs): set RPM_INSTALL_LANG for package "menu"
-
- * modules.pm (configure_pcmcia): better handling for not running cardmgr
- many times
- (configure_pcmcia): always run cardmgr so that it is run even if stage1
- did create a /var/run/stab. This is just a try :-/
-
-2001/04/12 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: if neuneu but explicited clicked, don't skip
- corrected pcmcia driver
-
-2001/04/12 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: removed Cancel of Summary.
- fixed ask printer configuration.
-
- * common.pm: improved bestMatchSentence2.
-
- * detect_devices.pm: fix Hewlett-Packard to HP in case.
-
- * standalone/printerdrake: never ask to configure a printer in standalone.
-
- * printerdrake.pm: automatically add a queue if nothing exists.
- fixed ask to configure a printer.
-
- * interactive.pm: removed strict die on empty list.
-
- * modules.pm, commands.pm, lang.pm, keyboard.pm, pkgs.pm: fixed log of
- packdrake.
-
-2001/04/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: add some rule so later on tinyfirewall will not
- prevent everything from working
-
- * share/po/fr.po: write some ppc translations
- un-dadouize a problem
-
-2001/04/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: Updated Italian file
-
-2001/04/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): fix no advertising with less
- than 20MB of packages
-
- * interactive.pm (ask_from_entries_refH_powered_normalize):
- - when not_edit and empty list, die.
- - when not_edit and single element list, don't display that entry.
-
- * install_steps_interactive.pm (configureX): fix for X test at install
- with exotic fonts
-
- * lang.pm (pack_langs): set RPM_INSTALL_LANG for package "menu"
-
- * modules.pm (configure_pcmcia): better handling for not running cardmgr
- many times
- (configure_pcmcia): always run cardmgr so that it is run even if stage1
- did create a /var/run/stab. This is just a try :-/
-
-2001/04/12 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: corrected typo
- added use bootloader
-
- * standalone/net_monitor: typo
-
- * netconnect.pm: if neuneu but explicited clicked, don't skip
- corrected pcmcia driver
- corrected typo
-
- * lang.pm: pixel sux
-
- * network.pm, standalone/draknet: corrected network connection
-
- * my_gtk.pm: corrected set_modal
-
-2001/04/12 fabman
-
- * share/po/es.po: updated spanish .po files
-
-2001/04/12 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: removed Cancel of Summary.
- fixed ask printer configuration.
-
- * common.pm: improved bestMatchSentence2.
-
- * detect_devices.pm: fix Hewlett-Packard to HP in case.
-
- * standalone/printerdrake: never ask to configure a printer in standalone.
-
- * printerdrake.pm: automatically add a queue if nothing exists.
- fixed ask to configure a printer.
-
- * modules.pm, commands.pm, lang.pm, keyboard.pm, pkgs.pm: fixed log of
- packdrake.
-
-2001/04/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: un-dadouize a problem
- sync
-
-2001/04/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sp.po, share/po/fi.po, share/po/DrakX.pot,
- share/po/zh_CN.GB2312.po, share/po/es.po, share/po/fr.po,
- share/po/sr.po, share/po/de.po, share/po/el.po, share/po/et.po,
- share/po/sk.po, share/po/eu.po, share/po/sl.po, share/po/vi.po,
- share/po/ko.po, share/po/eo.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/da.po, share/po/is.po, share/po/zh_TW.Big5.po,
- share/po/id.po: Updated Chinese file
-
- * share/po/it.po: Updated Italian file
- Updated Chinese file
-
-2001/04/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): fix no advertising with less
- than 20MB of packages
-
- * interactive.pm (ask_from_entries_refH_powered_normalize):
- - when not_edit and empty list, die.
- - when not_edit and single element list, don't display that entry.
-
- * install_steps_interactive.pm (configureX): fix for X test at install
- with exotic fonts
-
- * lang.pm (pack_langs): set RPM_INSTALL_LANG for package "menu"
-
- * modules.pm (configure_pcmcia): better handling for not running cardmgr
- many times
- (configure_pcmcia): always run cardmgr so that it is run even if stage1
- did create a /var/run/stab. This is just a try :-/
-
-2001/04/12 siegel
-
- * share/po/de.po: new german version
-
-2001/04/12 yduret
-
- * bootlook.pm: added some stuff
-
-2001/04/11 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: no setmodal 0 if wizard
-
-2001/04/12 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: corrected typo
- added use bootloader
-
- * netconnect.pm: corrected typo
-
-2001/04/12 fabman
-
- * share/po/es.po: updated spanish .po files
-
-2001/04/12 siegel
-
- * share/po/de.po: new german version
-
-2001/04/11 dam's <damien@mandrakesoft.com>
-
- * share/themes-mdk.rc: tooltips
-
- * netconnect.pm: updated
-
- * my_gtk.pm: no setmodal 0 if wizard
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (reallyChooseGroups): relook
-
- * install_steps_interactive.pm (chooseGroups): warn if chosen size is too
- big
-
- * share/compssUsers: adapt for new profile choosing layout
-
-2001/04/11 yduret
-
- * bootlook.pm: bug fix in autologin
-
-2001/04/11 dam's <damien@mandrakesoft.com>
-
- * share/themes-mdk.rc: tooltips
-
- * bootlook.pm: updated
- corrected
-
- * tinyfirewall.pm: installation of package : not at the same place
-
- * netconnect.pm: updated
- added driver for pcmcia, corrected eth conf for pppoe
-
-2001/04/11 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: added missing LD_LOADER for calling rpm.
-
- * printerdrake.pm: fixed probe on kernel 2.4.
- make printer devices more accurate.
- removed limitation to only one port probed
-
- * pkgs.pm: added missing use of LD_LOADER for starting parsehdlist on
- upgrade.
-
- * detect_devices.pm: avoid need of shell for live upgrade on serial_probe
- (removed 2>/dev/null which
- is not necessary).
- fixed printer probe (usb and parallel).
-
- * mouse.pm: fix wacom usb tablet
-
- * standalone/printerdrake: added missing take into account of
- /etc/modules.conf
-
- * lang.pm: added missing LD_LOADER reference and remove old code
- commented.
-
-2001/04/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: unfuzzyize
- sync with new msg in services.pm and compssUsers
- sync with pablo update
- fixes of translations
- write the shitload of untranslated and fuzzy msg
-
- * standalone/tinyfirewall: i18n title
-
- * services.pm: have many more services tooltipped from here so we can get
- translations afterwards
-
- * share/compssUsers: fix typos of rpmsrate groups
-
- * standalone/drakgw: kosmetik
- do i18n for title also
-
-2001/04/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/rpmsrate: Added reference to netscape-chinese_big5 file
-
- * share/po/DrakX.pot, share/po/wa.po: Updated Walloon file
- Updated po files
- Updated Slovak, Walloon and Polish files
-
- * share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/de.po,
- share/po/ko.po, share/po/ja.po, share/po/is.po, share/po/zh_TW.Big5.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/zh_CN.GB2312.po, share/po/sk.po, share/po/vi.po,
- share/po/ca.po, share/po/cs.po: Updated po files
- Updated Slovak, Walloon and Polish files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/ga.po,
- share/po/sr.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/cy.po, share/po/nl.po, share/po/sv.po, share/po/hu.po,
- share/po/no.po, share/po/th.po, share/po/el.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/af.po: Updated po files
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * run_program.pm (rooted): don't call install_any::check_prog if rooted
-
- * standalone/drakboot: make it work (why was bootloader::install
- commented?)
-
- * share/compssUsers: adapt for new profile choosing layout
-
- * Makefile: take cardmgr-*
-
- * install_steps_interactive.pm (chooseGroups): warn if chosen size is too
- big
- translate the ``path'' in profile selection
-
- * share/po/i18n_compssUsers: relooking
-
- * any.pm (setupBootloader): translate the bootloaders to use
- (setupBootloader): nicer look&feel
-
- * install_any.pm (fsck_option): add a closing ``"'' so that strings to
- i18n extraction works
- (fsck_option): add a closing ``"'' so that strings to i18n extraction
- works
- (check_prog): make it work
-
- * install_steps_gtk.pm (reallyChooseGroups): relook
- (installPackages): pressing "Details" gives you more detailed info
- (reallyChooseGroups): start relooking
- (installPackages): don't display advertising if less 20MB of packages
- translate the ``path'' in profile selection
-
-2001/04/11 warly
-
- * share/compssUsers: Add descr for servers
-
-2001/04/11 Franois Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: make printer devices more accurate.
- removed limitation to only one port probed
-
- * mouse.pm: fix wacom usb tablet
-
- * standalone/printerdrake: added missing take into account of
- /etc/modules.conf
-
- * detect_devices.pm: fixed printer probe (usb and parallel).
-
-2001/04/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * services.pm: have many more services tooltipped from here so we can get
- translations afterwards
-
- * share/po/fr.po: write the shitload of untranslated and fuzzy msg
-
- * share/compssUsers: fix typos of rpmsrate groups
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * run_program.pm (rooted): don't call install_any::check_prog if rooted
-
- * diskdrake.pm (More): fix exception relaunching
-
- * install_any.pm (check_prog): make it work
-
- * any.pm (setupBootloader): nicer look&feel
-
- * standalone/drakboot: make it work (why was bootloader::install
- commented?)
-
- * Makefile: take cardmgr-*
-
-2001/04/11 fabman
-
- * share/po/es.po: updated spanish .po file
-
-2001/04/11 Franois Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: make printer devices more accurate.
- removed limitation to only one port probed
-
- * mouse.pm: fix wacom usb tablet
-
- * standalone/printerdrake: added missing take into account of
- /etc/modules.conf
-
- * detect_devices.pm: fixed printer probe (usb and parallel).
-
-2001/04/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: write the shitload of untranslated and fuzzy msg
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: to lighten mdkinst_stage2:
- - completly remove po's (will be getFile'd)
- - remove LVM progs, resize_reiserfs, big fonts (will be getFile'd)
-
- * standalone/drakboot: make it work (why was bootloader::install
- commented?)
-
- * share/aliases: add rmmod -> insmod_
-
- * lang.pm (get_x_fontset): special cases for some big (size) fonts
-
- * Makefile: take cardmgr-*
-
- * install_any.pm (check_prog): make it work
- (check_prog): if a prog isn't available, try to fetch it via getFile
- (remove_bigseldom_used): created, purpose: remove unneeded stuff on
- stage2
- to allow a getAndSaveFile.
- (getAndSaveFile): if only one arg is given, assume the name is the same
-
- * standalone/XFdrake: fix bug for running xfs
-
- * any.pm (setupBootloader): nicer look&feel
-
- * diskdrake.pm (More): fix exception relaunching
- check resize_reiserfs is there or get it
-
- * run_program.pm (rooted): don't call install_any::check_prog if rooted
- in install, call install_any::check_prog to allow shadow progs which are
- fetched when needed via getFile
-
- * share/list: remove rmmod (is now a symlink)
-
-2001/04/11 siegel
-
- * share/po/de.po: updated german version
-
-2001/04/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po: Updated Catalan file
-
-2001/04/10 Pixel <pixel@mandrakesoft.com>
-
- * Makefile:
- - fix wiz_*.png removing
- - fix copying cardmgr* which included cardmgr.o
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: to lighten mdkinst_stage2:
- - completly remove po's (will be getFile'd)
- - remove LVM progs, resize_reiserfs, big fonts (will be getFile'd)
-
- * standalone/XFdrake: fix bug for running xfs
-
- * diskdrake.pm: check resize_reiserfs is there or get it
-
- * share/aliases: add rmmod -> insmod_
-
- * install_any.pm (check_prog): if a prog isn't available, try to fetch it
- via getFile
- (remove_bigseldom_used): created, purpose: remove unneeded stuff on
- stage2
- to allow a getAndSaveFile.
- (getAndSaveFile): if only one arg is given, assume the name is the same
-
- * share/list: remove rmmod (is now a symlink)
-
- * run_program.pm: in install, call install_any::check_prog to allow shadow
- progs which are
- fetched when needed via getFile
-
- * lang.pm (get_x_fontset): special cases for some big (size) fonts
-
-2001/04/10 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad network restart
-
- * my_gtk.pm: corrected bad font
-
- * network.pm: get rid of ifcfg-
- minor correction
-
-2001/04/10 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed selection of CDs.
-
- * devices.pm: added input/event class of devices (necessary for usb wacom
- at install)
-
-2001/04/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/mkinitrd_helper/mkinitrd_helper.c,
- mdk-stage1/mkinitrd_helper/Makefile:
- - honour quiet mode at boot time
- - fake modprobe to shut up kmod
-
- * bootlook.pm: do not use french in i18n'ed msg yvounet!!
-
- * standalone/drakgw: add INTERFACE param in sysconfig parameter for smooth
- interoperation with bastille-firewall
-
-2001/04/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: Updated Czech file
- Updated po files
-
- * share/po/ko.po, share/po/ja.po, share/po/id.po, share/po/vi.po: Updated
- Indonesian, Japanese, Korean and Vietnamese files
- Updated po files
-
- * share/po/DrakX.pot, share/po/wa.po, share/po/fi.po: Added a missing
- translatable string
- Updated po files
-
- * share/po/ca.po: Updated Catalan file
- Updated po files
-
- * share/locales.tar.bz2: Added missing file for Vietnamese
-
- * share/po/bg.po: Updated Bulgarian file
- Updated po files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/es.po,
- share/po/fr.po, share/po/ga.po, share/po/sr.po, share/po/de.po,
- share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/az.po,
- share/po/ru.po, share/po/pt_BR.po, share/po/hr.po, share/po/cy.po,
- share/po/nl.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/pl.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/da.po, share/po/af.po: Updated po files
-
-2001/04/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm: use gtkset_tip (so that no tip is set when tip eq
- '')
- (create_boxradio): handle double_click
- (ask_from_entries_refW): use radio boxes instead of list/clist if small
- number
- of choices
- (create_ctree): handle single click on node opens the node
-
- * my_gtk.pm: create and use gtkset_tip
- (_create_window): XSetInputFocus done only on expose_event of the
- topmost window
- (new): ensure only one modal
-
- * Xconfigurator.pm (main): have an "Ok" button to leave
-
- * install_steps_gtk.pm: use gtkset_tip
- (choosePackagesTree): fix "Show automatically selected packages"
- create and use gtkset_tip
-
- * Makefile:
- - fix wiz_*.png removing
- - fix copying cardmgr* which included cardmgr.o
-
-2001/04/10 warly
-
- * share/rpmsrate: add viavoicemenu_{us,gr,fe}
-
-2001/04/10 yduret
-
- * bootlook.pm: grub/lilo mode
-
-2001/04/10 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad network restart
-
- * my_gtk.pm: corrected bad font
-
- * network.pm: get rid of ifcfg-
- minor correction
-
-2001/04/09 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: typo
-
-2001/04/09 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Create): check for 40MB instead of 32MB for min reiserfs
- size as the check is done before rounding.
-
- * bootloader.pm (install_grub): altconfigfile only if /boot is not
- reiserfs :-/
-
- * tools/make_mdkinst_stage2: fix the stage2 too big (was keeping too many
- modules.cz)
-
- * install_any.pm (setPackages): also have SOUND set in compssUsersChoice
- based on pciusbtable
-
- * share/compssUsers, share/rpmsrate:
- - SOUND is now a flag
- - AUDIO is the group
-
-2001/04/09 siegel
-
- * tinyfirewall.pm: i18n fixes
-
-2001/04/09 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixes of grub installation using hd.img
- fix the fix for loopback mounting of hd.img.
-
- * Xconfigurator.pm: fixed always 8bpp for autoDefaultDepth.
-
- * pkgs.pm: changed transaction error management this way: if a transaction
- fails, DrakX
- tries to make as many transaction as there are package that have failed
- to be
- installed (this means one transaction of only one package). This help
- installing
- most package that are correct (as a transaction that failed cause all
- remaining
- package to be not installed).
-
-2001/04/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: 8.0rc -> 8.0
-
- * rescue/tree/etc/oem: fix english thanks to Kevin
-
- * standalone/drakgw: do not die when an initscript returns non-0
- (initscripts too buggy)
-
-2001/04/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/gl.po, share/po/ca.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Danish file
-
- * any.pm: changed ISO_8859-1 TO ISO-8859-1
-
-2001/04/09 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm, install_steps.pm, any.pm: create to_utf8 from po strings,
- use it for kdm message
-
- * diskdrake.pm (Create): check for 40MB instead of 32MB for min reiserfs
- size as the check is done before rounding.
-
- * bootloader.pm (install_grub): altconfigfile only if /boot is not
- reiserfs :-/
-
- * tools/make_mdkinst_stage2: fix the stage2 too big (was keeping too many
- modules.cz)
-
- * install2.pm (main): sets umask (seems like default one is no more 022,
- kernel change?)
-
- * Xconfigurator_consts.pm, Xconfig.pm, Xconfigurator.pm: handle XkbModel
- (especially for abnt2 (br))
-
- * install_any.pm (setPackages): also have SOUND set in compssUsersChoice
- based on pciusbtable
-
- * share/compssUsers, share/rpmsrate:
- - SOUND is now a flag
- - AUDIO is the group
-
- * lang.pm (load_po): sets $lang::charset to the charset used in the po
-
-2001/04/09 siegel
-
- * share/po/de.po: fixes
-
- * Xconfigurator.pm: fixed i18n bug
-
-2001/04/09 yduret
-
- * standalone/tinyfirewall: button policy (thx gc)
-
- * standalone/drakgw: deyvounification : remove some un-useful comments in
- code
-
-2001/04/09 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: corrected
-
- * standalone.pm: install function now returns the return value of the
- system.
-
- * netconnect.pm: corrected buggy cable
- removed buggy modem screen repetition
-
-2001/04/09 Franois Pons <fpons@mandrakesoft.com>
-
- * standalone/mousedrake: fixed mousedrake (with interactive.pm fixes
- applied).
- fixed cancel support.
- added conditional restart of gpm on mouse configuration change.
-
- * fs.pm: removed notail option for reiserfs.
-
- * standalone/keyboarddrake: fixed exit on cancel (should cause trouble in
- DrakConf only).
-
- * install_any.pm: added missing package to copy.
-
- * rescue/tree/etc/oem: fixes of grub installation using hd.img
- fix the fix for loopback mounting of hd.img.
- fixed hd.img access right.
- make kernel22 installed for every oem install...
- moved some package to closure instead of installed.
- added some missing packages.
- added nolock option for nfsmount.
- added missing package to copy.
-
-2001/04/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: fix Traktopel Maxim thanks to Kevin Lawton
-
- * mdk-stage1/Makefile: 8.0beta -> 8.0rc
-
- * standalone/drakgw: fix for when there is an already existing rc.firewall
- complies with old format of drakgw so that upgrades will work
-
- * rescue/tree/etc/oem: fix english thanks to Kevin
-
-2001/04/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * any.pm: changed ISO_8859-1 TO ISO-8859-1
-
-2001/04/09 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm, install_steps.pm, any.pm: create to_utf8 from po strings,
- use it for kdm message
-
- * interactive.pm (ask_from_treelistf): make it behaves correctly when
- "cancel" is clicked
-
- * Xconfigurator_consts.pm, Xconfig.pm, Xconfigurator.pm: handle XkbModel
- (especially for abnt2 (br))
-
- * install2.pm (main): sets umask (seems like default one is no more 022,
- kernel change?)
- (main): log the umask
-
- * devices.pm (entry): add hd[ijkl]*
-
- * bootloader.pm (install_lilo): better handling of map-drive (there's not
- always only 2 disks!)
-
- * lang.pm (load_po): sets $lang::charset to the charset used in the po
-
-2001/04/09 siegel
-
- * share/po/de.po: fixes
-
-2001/04/09 yduret
-
- * standalone/drakboot: added lilo/grub
-
- * bootlook.pm: added lilo/grub mode
-
-2001/04/09 dam's <damien@mandrakesoft.com>
-
- * modules.pm: removed use install_any
-
- * tinyfirewall.pm: corrected
-
- * netconnect.pm: corrected buggy cable
- removed buggy modem screen repetition
- corrected bad bug when creating new profile
-
- * standalone.pm: install function now returns the return value of the
- system.
-
- * Makefile: removed install_any
-
-2001/04/09 Franois Pons <fpons@mandrakesoft.com>
-
- * standalone/mousedrake: fixed mousedrake (with interactive.pm fixes
- applied).
- fixed cancel support.
- added conditional restart of gpm on mouse configuration change.
-
- * rescue/tree/etc/oem: fixed hd.img access right.
- make kernel22 installed for every oem install...
- moved some package to closure instead of installed.
- added some missing packages.
- added nolock option for nfsmount.
- added missing package to copy.
-
- * fs.pm: removed notail option for reiserfs.
-
- * standalone/keyboarddrake: fixed exit on cancel (should cause trouble in
- DrakConf only).
-
- * printer.pm: added Till patch for printer (raw queue and PostScript
- queue).
-
- * install_any.pm: added missing package to copy.
-
-2001/04/09 kjx
-
- * share/po/zh_CN.GB2312.po: translate before 8.0 release
-
-2001/04/09 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): log the umask
-
- * interactive.pm (ask_from_treelistf): make it behaves correctly when
- "cancel" is clicked
-
- * devices.pm (entry): add hd[ijkl]*
-
- * bootloader.pm (install_lilo): better handling of map-drive (there's not
- always only 2 disks!)
-
-2001/04/09 yduret
-
- * bootlook.pm: fix, added lilo/grub frame
- fixed till bug
-
-2001/04/08 dam's <damien@mandrakesoft.com>
-
- * rescue/tree/etc/oem, rescue/tree/etc/closurepkgs, install_any.pm: get
- rid of kisdn
-
- * tinyfirewall.pm: updated
- added package installation
-
- * netconnect.pm: get rid of kisdn
- updated
- no more askwarn in wizard mode
- updated
-
- * standalone/tinyfirewall, standalone/drakgw, my_gtk.pm,
- netconnect_consts.pm: updated
-
- * standalone/net_monitor: removed Data::Dumper
- typo
-
- * standalone/draknet: updated
- typo
- corrected bad isdn field
-
-2001/04/08 daouda
-
- * share/rpmsrate: increase quanta weight .
-
-2001/04/08 fabman
-
- * share/po/es.po: updated spanish .po files
-
-2001/04/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: correct my mistakes on removing some modules from stage1 and
- stage2 (-> remove only from stage1)
-
-2001/04/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/compssUsers.desktop, standalone/draknet: Fixed some english typos
-
- * standalone/net_monitor, netconnect.pm: Some English changes
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Fixed some english typos
- Updated pot file and various po files
-
-2001/04/08 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (write): remove debugging info :-(
-
- * bootloader.pm (suggest): add option "quiet" to the kernel in fb
- (requested by chmou)
-
- * install_steps.pm (afterInstallPackages): remove setting of kde charset
- in kdeglobals (kde is a grown-up now)
-
-2001/04/08 siegel
-
- * share/po/de.po: new german version
- updates
-
-2001/04/07 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: typo
- typo
- net_monitor incorporation
-
- * standalone/net_monitor, Makefile.config: net_monitor incorporation
-
-2001/04/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po: updated Croatian files
-
- * share/po/wa.po, share/po/sr.po, share/po/sp.po, share/po/DrakX.pot,
- share/po/ko.po, share/po/it.po: Updated Korean, Italian, Serbian and
- Walloon files
-
-2001/04/07 warly
-
- * share/compssUsers: PCL-CVS release v2_9_9
- Repository : :ext:warly@cvs.mandrakesoft.com:/home/cvs/cooker
- Working directory: /home/warly/local/share/mdk/gi/perl-install/share/
- In directory .:
- Modified compssUsers
- In directory po:
- patched Up-To-Date po/DrakX.pot
- patched Up-To-Date po/ca.po
- patched Up-To-Date po/de.po
- patched Up-To-Date po/hr.po
- patched Up-To-Date po/id.po
- patched Up-To-Date po/it.po
- patched Up-To-Date po/ja.po
- patched Up-To-Date po/ko.po
- patched Up-To-Date po/sp.po
- patched Up-To-Date po/sr.po
- patched Up-To-Date po/vi.po
- patched Up-To-Date po/wa.po
-
- --------------------- End ---------------------
- -- last cmd: cvs -f update -d -P --
-
- * share/rpmsrate: PCL-CVS release v2_9_9
- Repository : :ext:warly@cvs.mandrakesoft.com:/home/cvs/cooker
- Working directory: /home/warly/local/share/mdk/gi/perl-install/share/
- In directory .:
- Modified rpmsrate
-
- --------------------- End ---------------------
- -- last cmd: cvs -f update -d -P --
-
-2001/04/06 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed absence of /boot in install CD for oem stuff.
-
-2001/04/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: use jeff's suggestions to remove some old stuff
- Sun Happy Meal only for Sparc
-
- * mdk-stage1/stdio-frontend.c, mdk-stage1/probing.c, mdk-stage1/modules.c:
-
- - do not print warning when we are in AUTOMATIC and insmod failed
- because of file-not-found in mar file (raid cards, etc)
- - print "please include msg from Alt-F3" for this warning message to
- ease further support
- - print pci entry of cards found in te logs
-
- * mdk-stage1/mkinitrd_helper/mkinitrd_helper.c,
- mdk-stage1/mkinitrd_helper/Makefile: steal raid_autorun from rh
-
-2001/04/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po, share/po/id.po: Updated Catalan and Indonesian files
-
- * share/po/ja.po, share/po/vi.po: Updated Japanese and Vietnamese files
-
-2001/04/06 siegel
-
- * share/po/de.po: updates
-
-2001/04/06 yduret
-
- * standalone/drakgw: swap cancel/configure button
-
-2001/04/06 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet2: dead code
-
- * standalone/net_monitor: updated
-
- * netconnect.pm: be quiet
-
-2001/04/06 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed absence of /boot in install CD for oem stuff.
- fixed if label does not exists and grub refuse to read.
-
- * install_steps_interactive.pm: fixed typo for cups checking of
- installation.
- fixed "No printer" after configuring cups for remove server.
- added log for CD medium chosen par user.
-
- * pkgs.pm: added killing on child process of transaction that have been
- detached (typically
- with pid > transaction_pid and parent is 1).
-
-2001/04/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw:
- - correct yvounetification in i18n stuff
- - remove some remaining debugging printings
- - add a bit more of explanations when starting drakgw in wizard mode
-
- * modules.pm: re integrate some TR net cards
-
- * mdk-stage1/stdio-frontend.c, mdk-stage1/probing.c, mdk-stage1/modules.c:
-
- - do not print warning when we are in AUTOMATIC and insmod failed
- because of file-not-found in mar file (raid cards, etc)
- - print "please include msg from Alt-F3" for this warning message to
- ease further support
- - print pci entry of cards found in te logs
-
-2001/04/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Thai file
- Updated pot file
-
-2001/04/06 yduret
-
- * standalone/drakgw: swap cancel/configure button
-
-2001/04/06 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: addde tk like routines
-
- * netconnect.pm: be quiet
- correctedInternetAccessTye and ADSLType
-
- * Makefile: iCorrected missing file install_any.pm. pixel sux.
-
- * standalone/draknet2: dead code
-
- * standalone/net_monitor: updated
- updated
- updated
- updated
- updated
- added
-
- * pixmaps/net_d.png, pixmaps/net_c.png: added
-
- * share/logo-mandrake.png: new icon
-
-2001/04/06 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed if label does not exists and grub refuse to
- read.
-
- * install_steps_interactive.pm: fixed typo for cups checking of
- installation.
- fixed "No printer" after configuring cups for remove server.
- added log for CD medium chosen par user.
-
- * pkgs.pm: added killing on child process of transaction that have been
- detached (typically
- with pid > transaction_pid and parent is 1).
-
-2001/04/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Thai file
- Updated pot file
-
-2001/04/06 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: instead of removing modules.cz-2.2*, remove
- every modules.cz except the
- biggest one
-
- * install_steps.pm, fs.pm, install2.pm: create install_any::write_fstab
- and use it
-
- * install_any.pm: add write_fstab
- create install_any::write_fstab and use it
-
-2001/04/06 yduret
-
- * bootlook.pm: minor fix
-
- * standalone/drakgw: recoded a embedded && gtk mode
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (fs_options): created (gets codepage and iocharset)
-
- * common.pm (if_): better logging of the error
-
-2001/04/06 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: instead of removing modules.cz-2.2*, remove
- every modules.cz except the
- biggest one
-
- * install_steps.pm, fs.pm, install2.pm: create install_any::write_fstab
- and use it
-
- * install_any.pm: add write_fstab
- create install_any::write_fstab and use it
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakboot:
- - fix getting result of fsedit::hds
- - cleanup
-
- * lang.pm (fs_options): created (gets codepage and iocharset)
-
- * common.pm (if_): better logging of the error
- (getVarsFromSh): fix for AA="" inspired by chmou the Great (but the
- Great
- what?)
-
- * bootloader.pm (install_grub): small fix
- (install_lilo): fix lilo's dumbness (when lilo warns about not the first
- drive, it usually fails)
-
- * diskdrake.pm (More): created, asks for supermount, rescue pt, reload.
-
- * install_steps_interactive.pm (addUser): default autologin to first user
- in beginner
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (autologin): fix
- ask for autologin
-
- * install_steps_interactive.pm: ask for autologin
- (generateAutoInstFloppy): do not use $o->{pcmcia} to know if pcmcia.img
- was used. Better have a look at /proc/cmdline
-
- * bootloader.pm (install_lilo): fix lilo's dumbness (when lilo warns about
- not the first drive, it usually fails)
-
- * pkgs.pm, share/rpmsrate:
- - s/PCI/HW/
- - add rio500
-
- * install_any.pm (kernelVersion): fix enormous stupid typo
-
- * common.pm (getVarsFromSh): fix for AA="" inspired by chmou the Great
- (but the Great
- what?)
-
- * install_steps.pm (exitInstall): oups, report_bug is no more in
- commands::
-
- * diskdrake.pm (More): created, asks for supermount, rescue pt, reload.
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (choosePackagesTree): invert the meaning of 'Show
- automatically selected
- packages' to go along with the new description
-
- * Xconfigurator.pm (write_XF86Config): try to have $_ interpreted
- (otherwise you get things like ``InputDevice "Stylus$_" "AlwaysCore"'')
-
- * install_any.pm (kernelVersion): fix enormous stupid typo
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * install_steps.pm (exitInstall): oups, report_bug is no more in
- commands::
- (configureXBefore): fix the xkb verification (was broken for things like
- ``de(nodeadkeys)'')
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * any.pm: ask for autologin
-
- * fs.pm (format_reiserfs): quietly format reiserfs
-
- * commands.pm:
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * install_steps_interactive.pm: ask for autologin
- (generateAutoInstFloppy): do not use $o->{pcmcia} to know if pcmcia.img
- was used. Better have a look at /proc/cmdline
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * share/rpmsrate:
- - add ldetect
- - the default Aurora chose is the categorizing one
-
-2001/04/05 siegel
-
- * share/po/de.po: fixed typo
-
-2001/04/05 yduret
-
- * bootlook.pm: fix pablo mess
- install autolgin just if we want to autolog :)
-
-2001/04/05 dam's <damien@mandrakesoft.com>
-
- * ChangeLog, bootloader.pm: readded passwd. Must verify that it's secure
- vs msec.
-
- * my_gtk.pm: added gtksize
-
-2001/04/05 fcrozat
-
- * share/rpmsrate: No longer propose nautilus-mozilla (required by
- nautilus)
- propose nautilus-trilobite (for Eazel services)
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (choosePackagesTree): invert the meaning of 'Show
- automatically selected
- packages' to go along with the new description
-
- * commands.pm, install_steps_interactive.pm, install_any.pm:
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * fs.pm (format_reiserfs): quietly format reiserfs
-
- * Xconfigurator.pm (write_XF86Config): try to have $_ interpreted
- (otherwise you get things like ``InputDevice "Stylus$_" "AlwaysCore"'')
-
- * share/rpmsrate:
- - add ldetect
- - the default Aurora chose is the categorizing one
-
- * install_steps.pm (configureXBefore): fix the xkb verification (was
- broken for things like ``de(nodeadkeys)'')
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
-2001/04/05 siegel
-
- * share/po/de.po: fixed typo
-
-2001/04/05 yduret
-
- * bootlook.pm: fix pablo mess
- install autolgin just if we want to autolog :)
-
-2001/04/04 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: added SCANNER and PHOTO groups
-
-2001/04/04 Franois Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: make sure to insmod parport_probe alone as it is not
- available in 2.4 kernel and
- this this not a problem (silent error).
- added complete callback to check queue name under cups does contains
- only letters, numerics or underscore.
-
- * install_steps_interactive.pm: fixed printer description in summary.
-
- * install2.pm: added selectPackagesToUpgrade the first time choosePackages
- is called.
-
- * Xconfigurator.pm: removed limitation to 24 bits for SiS card, make sure
- to remove 32 bits depth
- for such card.
-
- * detect_devices.pm: fixed parport probe for printer under 2.4 kernel.
-
- * diskdrake.pm: fixed adding 1 to size for resize2fs, causing a corruption
- some times.
-
- * printer.pm: added die on error of lpadmin.
-
- * install_any.pm: fixed multiple wait message (looking+finding packages)
-
-2001/04/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po, share/po/az.po: Updated Azeri and Slovak files
-
-2001/04/04 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (tv): add ultracam & usbvideo
- (@skip_modules_on_stage1): kaweth and pegasus doesn't work on stage1, so
- skip them
- (@skip_modules_on_stage1): kaweth and pegasus doesn't work on stage1, so
- skip them
-
- * install_any.pm (kernelVersion): cleanup
-
-2001/04/04 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_any.pm: kernelVersion mods for PPC
-
-2001/04/04 daouda
-
- * share/rpmsrate: add gatos for ati tv card .
-
-2001/04/04 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: added SCANNER and PHOTO groups
-
-2001/04/04 Franois Pons <fpons@mandrakesoft.com>
-
- * live_install: unset locale environment for safety
-
- * detect_devices.pm: added missing LD_LOADER reference for /bin/dmesg
- (needed for live upgrade so
- that error message are not printed)
-
- * diskdrake.pm: fixed adding 1 to size for resize2fs, causing a corruption
- some times.
-
- * install_steps_gtk.pm: fixed to use SHARE_PATH instead of /usr/share
-
- * any.pm, netconnect.pm: use SHARE_PATH instead of /usr/share
-
- * install2.pm: added selectPackagesToUpgrade the first time choosePackages
- is called.
-
- * install_any.pm: fixed multiple wait message (looking+finding packages)
-
-2001/04/04 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (setPackages): better handling for tv, photo and scanner
-
- * modules.pm (@skip_modules_on_stage1): kaweth and pegasus doesn't work on
- stage1, so skip them
- - add photo, tv and scanner
- - add pegasus and kaweth modules
-
-2001/04/04 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: typo
-
-2001/04/04 daouda
-
- * share/rpmsrate: add gatos for ati tv card .
- reput klyx but in lower weight (2)
- removed klyx from rpmsrate (bad idea according to pixel )
- add klyx in install "Office KDE"
-
-2001/04/04 Franois Pons <fpons@mandrakesoft.com>
-
- * live_install: unset locale environment for safety
-
- * detect_devices.pm: added missing LD_LOADER reference for /bin/dmesg
- (needed for live upgrade so
- that error message are not printed)
-
- * install_steps_gtk.pm: fixed to use SHARE_PATH instead of /usr/share
-
- * any.pm, netconnect.pm: use SHARE_PATH instead of /usr/share
-
- * install2.pm: added selectPackagesToUpgrade the first time choosePackages
- is called.
-
- * install_steps.pm: disable frame buffer for Matrox cards.
-
- * install_any.pm: fixed multiple wait message (looking+finding packages)
-
-2001/04/04 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (setPackages): better handling for tv, photo and scanner
-
- * modules.pm (@skip_modules_on_stage1): kaweth and pegasus doesn't work on
- stage1, so skip them
- - add photo, tv and scanner
- - add pegasus and kaweth modules
-
- * share/compssUsers: remove TV (it is a hardware flag)
-
-2001/04/03 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: keep mount point configuration trhough multi-passes of
- diskdrake and others.
-
- * Xconfigurator.pm: prefer XF3 for SiS card.
-
-2001/04/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sr.po, share/po/sp.po, share/po/ko.po: Updated Korean file
-
-2001/04/03 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: do not use isSpecial which should only be used on
- partitions
- (main): do not have loopback pseudo hd in hds out of diskdrake
-
- * modules.pm (load_raw): add the require install_any
-
- * share/rpmsrate: restore Aurora (i really don't understand what i've done
- with flag AURORA a month ago) to a simple behaviour
-
- * install_steps_interactive.pm (choosePackages): do not make a special
- case for upgrades (was: select the
- min size, which was on contradiction with profile selection)
-
- * fs.pm (real_format_part): give "-v 1" to mkreiserfs if kernel is 2.2
-
- * standalone/mousedrake: fix horrible error (using an undefined $o)
-
- * share/list: add back mkreiserfs
-
- * standalone/XFdrake: don't start xfs if skiptest
-
- * fsedit.pm (get_fstab): restore loopback::loopbacks because hds contains
- only true
- hard drives (not pseudo one like raid, loopback and lvm)
-
- * bootloader.pm (suggest): trap strange error. Should not really fix the
- pb
-
- * install_steps.pm (setupBootloaderBefore): nicer Aurora presence
- detetection
-
- * lang.pm (charset): fix for chineese which have charset in the name
-
- * Makefile: no more special case for mkreiserfs (can be done via -v 1)
-
- * install_steps_gtk.pm (choosePackagesTree): better name than "Automatic
- dependencies"
-
- * install_any.pm (setPackages): don't preselect profiles in upgrade
- (setPackages): handle Flag:<theflag>
- (setPackages): install kernel22 if install kernel is a 2.2
-
- * lvm.pm (get_lvs): remove the setting of flag isFormatted which was wrong
- (didn't
- propose to format it)
- protect the loading of module lvm-mod
-
-2001/04/03 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_steps_interactive.pm, mouse.pm: PPC keyboard/mouse button
- emulation
-
-2001/04/03 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: a lot of bugfixs
- corrected bad flag test
- corrected bad priority
-
- * standalone/draknet: typo
- bug fixes
- removed debugging messages and Data::Dumper
- corrected bad flag test
-
-2001/04/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po, share/po/DrakX.pot: Updated Vietnamese file
-
-2001/04/03 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (load_raw): add the require install_any
-
- * share/rpmsrate: restore Aurora (i really don't understand what i've done
- with flag AURORA a month ago) to a simple behaviour
-
- * lang.pm (charset): fix for chineese which have charset in the name
-
- * install_steps.pm (setupBootloaderBefore): nicer Aurora presence
- detetection
-
- * Makefile: no more special case for mkreiserfs (can be done via -v 1)
-
- * install_steps_interactive.pm (choosePackages): do not make a special
- case for upgrades (was: select the
- min size, which was on contradiction with profile selection)
-
- * fs.pm (real_format_part): give "-v 1" to mkreiserfs if kernel is 2.2
-
- * install_steps_gtk.pm (choosePackagesTree): better name than "Automatic
- dependencies"
-
- * install_any.pm (setPackages): don't preselect profiles in upgrade
- (setPackages): handle Flag:<theflag>
- (setPackages): install kernel22 if install kernel is a 2.2
-
- * share/list: add back mkreiserfs
-
- * standalone/XFdrake: don't start xfs if skiptest
-
- * lvm.pm (get_lvs): remove the setting of flag isFormatted which was wrong
- (didn't
- propose to format it)
- protect the loading of module lvm-mod
-
-2001/04/02 dam's <damien@mandrakesoft.com>
-
- * modules.pm: corrected petite's mistake
-
- * netconnect.pm: protecting against non existent files
-
-2001/04/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/make_boot_img, mdk-stage1/.cvsignore: fix
- comply to all.kernels policy
-
- * tools/make_mdkinst_stage2: fix remove of alternate cz modules
-
-2001/04/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: Updated Czech file
-
- * lang.pm: codepage option to mount requires only numeric values, eg "437"
- and not "cp437"
- Changed accordingly in the lists
-
- * share/rpmsrate: Install latin2 Postscript fonts for latin2 locales,
- install fonts-ttf-thai for Thai locale
-
-2001/04/02 Pixel <pixel@mandrakesoft.com>
-
- * c/Makefile: small cleanup for pcmcia_probe.c
-
- * tools/Makefile (install): s/-r/-rf/
-
- * install_any.pm (setPackages): s/reiserfs-utils/reiserfsprogs/
- (setPackages): install imwheel if nbuttons > 3
-
- * c/Makefile.PL: small cleanup for pcmcia_probe.c
- don't use pcmcia_probe.o from stage1, better compile it here, otherwise
- perl-install require mdk-stage1 to do compiled => circular dependency
-
- * Makefile: ignore dams or at least dams errors
-
- * c/.cvsignore: add pcmcia_probe.c
-
-2001/04/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/make_rescue_img: fix pixelization (aka take advantage of
- all.kernels/.main)
-
-2001/04/02 Pixel <pixel@mandrakesoft.com>
-
- * tools/Makefile (install): s/-r/-rf/
-
-2001/03/30 Pixel <pixel@mandrakesoft.com>
-
- * tools/Makefile (install): fix the globbing for packdrake.pm and
- rpmtools.pm
-
-2001/03/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/drvinst: test for "Card:" and not install, some videoboards are
- not reported as DISPLAY_VGA :-(
-
- * tools/make_mdkinst_stage2, docs/HACKING, rescue/make_rescue_img,
- mdk-stage1/pci-resource/update-pci-ids.pl, docs/README: support more
- than one boot kernel :-)
-
- * rescue/list.i386: add reiserfsck
-
-2001/03/29 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: bad message at the end if kernel2.4
-
- * netconnect.pm: added missing Device in Ethx when saving/loading
-
- * standalone/draknet: translation
-
-2001/03/28 dam's <damien@mandrakesoft.com>
-
- * standalone/tinyfirewall: typo
-
- * interactive_gtk.pm: corrected pixel shit if embedded
-
- * standalone/draksec: embedded mode
-
- * standalone/draknet: corrected gtkpng in gtkwpm
- added translation
-
- * bootlook.pm: cute button box
-
- * tinyfirewall.pm: workaround to make it work if kernel 2.4
-
-2001/03/28 fcrozat
-
- * share/rpmsrate: gmc is back in standard GNOME install, for people with
- existing home
-
-2001/03/28 Franois Pons <fpons@mandrakesoft.com>
-
- * standalone/mousedrake, mouse.pm, standalone/XFdrake: fixed for
- standalone XFdrake and mousedrake (multi-mouse and
- correct probe (USB)).
-
- * Xconfig.pm: re-fix mouse fix.
- fixed wrong mouse probe.
- fixed for standalone XFdrake and mousedrake (multi-mouse and
- correct probe (USB)).
-
- * Xconfigurator.pm: restore multi mouse support for XF3.
-
-2001/03/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/ca.po, share/po/tr.po: Updated Catalan, Danish,
- Finnish, Croatian and Turkish files
-
- * share/po/sk.po, share/po/ko.po: Updated Finnish, Korean and Slovak files
-
- * share/po/az.po: Updated Azeri and Danish files
-
- * share/po/fi.po: Updated Catalan, Danish, Finnish, Croatian and Turkish
- files
- Updated Finnish, Korean and Slovak files
-
- * share/po/da.po: Updated Catalan, Danish, Finnish, Croatian and Turkish
- files
- Updated Azeri and Danish files
-
-2001/03/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: add fstab in the log
-
- * interactive_gtk.pm: better default_size setting
-
- * commands.pm: fix typo
- add fstab in the log
-
- * install_gtk.pm (test_mouse): ensure the test mouse is not too big
-
-2001/03/28 warly
-
- * share/rpmsrate: add some commercial apps
-
-2001/03/27 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: added kill USR2 before main
-
- * share/help.png: changed help button
-
- * share/help.xpm: changed help
-
- * tinyfirewall.pm: workaround to make it xork.
-
-2001/03/27 Franois Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: update boot image.
-
- * Xconfigurator.pm: fixed mouse support for XF3, only one mouse supported
- currently.
-
-2001/03/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/nfsmount.c: force 8192 bytes for nfs transfers
-
-2001/03/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/i18n_compssUsers, share/po/vi.po, share/po/fi.po,
- share/po/br.po, share/po/DrakX.pot, share/po/ko.po, share/po/ja.po,
- share/po/wa.po, share/po/de.po, share/po/id.po: Updated Vietnamese,
- Indonesian, Japanese, Korean and Walloon files
- changed i18n_compssUsers to make "path" i18n'able
-
-2001/03/27 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: warnAboutNaughtyServers
- (setPackages): default profiles selection to GNOME, KDE, CONFIG
-
- * install_steps_interactive.pm: warnAboutNaughtyServers
- (summary): fix displaying of printer configured
-
- * pkgs.pm: warnAboutNaughtyServers
-
- * install_steps_gtk.pm (installPackages): catch the no png file exception
- (in case warly is dumb again)
-
- * my_gtk.pm: try to fix displaying in draksec
- (create_box_with_title): save the box_size in field "box_size"
-
- * install2.pm, any.pm: remove use of Bastille. get back to the good state
- we had :)
-
- * interactive_gtk.pm: try to fix displaying in draksec
-
- * share/rpmsrate: move back Bastille-Curses-module to CONFIG
- - cleanup LOCALES"zh_*": when there is LOCALES"zh_*", there is
- LOCALES"zh"
- - raise WindowMaker
- - add xfce
- - am-utils is a server
- - raise some stuff in CONFIG to have stuff there
- - remove drakxtools from CONFIG (DrakConf requires drakxtools)
- - DrakConf from 5 to 4
-
- * lang.pm (langsLANGUAGE): give the list of languages
-
-2001/03/27 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_steps_interactive.pm: change verbage on bootloader warning
-
-2001/03/27 siegel
-
- * share/po/de.po: minor typo-fixes
-
-2001/03/27 dam's <damien@mandrakesoft.com>
-
- * share/help.png: changed help button
-
- * share/help.xpm: changed help
-
-2001/03/27 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm, pkgs.pm: fixed too early erasing of old rpmlib db. now
- postponed at end of install
- and only if rpm-4.0 or above has been installed.
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: update boot image.
-
- * Xconfigurator_consts.pm, mouse.pm, Xconfigurator.pm, Xconfig.pm: added
- support for two mice (laptop). The second mice is generally PS/2 as
- probe can says it is present.
-
-2001/03/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/nfsmount.c: force 8192 bytes for nfs transfers
-
-2001/03/27 Pixel <pixel@mandrakesoft.com>
-
- * any.pm, install2.pm: remove use of Bastille. get back to the good state
- we had :)
-
- * install_any.pm: warnAboutNaughtyServers
- (setPackages): default profiles selection to GNOME, KDE, CONFIG
-
- * share/rpmsrate: move back Bastille-Curses-module to CONFIG
- - cleanup LOCALES"zh_*": when there is LOCALES"zh_*", there is
- LOCALES"zh"
- - raise WindowMaker
- - add xfce
- - am-utils is a server
- - raise some stuff in CONFIG to have stuff there
- - remove drakxtools from CONFIG (DrakConf requires drakxtools)
- - DrakConf from 5 to 4
-
- * install_steps_interactive.pm: warnAboutNaughtyServers
- (summary): fix displaying of printer configured
-
- * lang.pm (langsLANGUAGE): give the list of languages
-
- * pkgs.pm: warnAboutNaughtyServers
-
- * install_steps_gtk.pm (installPackages): catch the no png file exception
- (in case warly is dumb again)
-
-2001/03/27 siegel
-
- * share/po/i18n_compssUsers: i18n group names
-
- * share/po/de.po: minor typo-fixes
- new german version
-
-2001/03/26 daouda
-
- * share/rpmsrate: add mandrake_desk and rootfiles to SYSTEM (rpmsrate)
-
-2001/03/26 fcrozat
-
- * share/rpmsrate: Install xscreensaver when installing GNOME
-
-2001/03/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: first attempt at pixelization of code (till's cups
- patches)
-
-2001/03/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/wa.po: Updated Croatian, vietnamese and Walloon
- files
-
- * share/po/vi.po: Updated Croatian, vietnamese and Walloon files
- Updated Portuguese, Swedish and Thai files
-
- * share/po/pt.po, share/po/th.po, share/po/es.po, share/po/de.po,
- share/po/sv.po: Updated Portuguese, Swedish and Thai files
-
-2001/03/25 Pixel <pixel@mandrakesoft.com>
-
- * http.pm (getFile): verify the return value of the server. If not 200
- (aka Ok),
- return undef
-
- * install_steps_interactive.pm (configurePrinter): add Mesa-common for xpp
- and libqtcups2 for kups in
- pkg_install_if_requires_satisfied
-
-2001/03/25 siegel
-
- * share/po/de.po: new german version
-
-2001/03/25 fabman
-
- * share/po/es.po: updated spanish .po file
-
-2001/03/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po: Updated Korean file
-
- * share/po/sv.po: Updated Swedish file
-
-2001/03/25 Pixel <pixel@mandrakesoft.com>
-
- * http.pm (getFile): verify the return value of the server. If not 200
- (aka Ok),
- return undef
-
- * install_steps_interactive.pm (configurePrinter): add Mesa-common for xpp
- and libqtcups2 for kups in
- pkg_install_if_requires_satisfied
-
- * any.pm (ask_users): fix dead-loop
-
- * bootloader.pm (suggest): add entry for nt
-
-2001/03/25 siegel
-
- * share/po/de.po: new german version
-
-2001/03/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po: Updated Vietnamese file
-
-2001/03/24 Pixel <pixel@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: remove the "use common" which
- is unneeded (and "member" of merge2pcitable
- was clashing)
-
- * any.pm (ask_users): when "Done" is pressed, do "Accept User" if a user
- is given.
-
- * install_steps.pm (addUser): disable_user_view (in kdm/gdm) if no users
-
- * install_any.pm (disable_user_view): created, takes care of gdm too
- (taken from msec)
-
- * mouse.pm (detect): fix francois... uh, no too hard. easier to fix
- francois's bugs ;pp
-
- * timezone.pm (%l2t): fix for fuzzyChoice
-
- * share/keyboards.tar.bz2:
- - readding with -kb
- - fixing permissions on xmodmap.kr
- remove before adding again with -kb
-
- * modules.pm: have natsemi in network.img
-
-2001/03/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Azeri file
-
-2001/03/24 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (detect): fix francois... uh, no too hard. easier to fix
- francois's bugs ;pp
-
- * timezone.pm (%l2t): fix for fuzzyChoice
-
- * modules.pm:
- - add missing modules (now in sync with pcitable)
- - add 'media' class
- - cleanup
-
-2001/03/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Azeri file
-
-2001/03/24 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (copy_advertising): fix escaping $f causing perl to
- segfault :-(
- (copy_advertising): handle i18n'ed advertising
-
- * pkgs.pm: cleanup
-
- * modules.pm:
- - add missing modules (now in sync with pcitable)
- - add 'media' class
- - cleanup
-
-2001/03/24 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: corrected bad exited. reincorporated some ugly code,
- need fixing
-
-2001/03/24 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (copy_advertising): handle i18n'ed advertising
-
- * modules.pm (read_stage1_conf): cleanup parport stuff obsolote in kernel
- 2.4
-
-2001/03/23 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed screen id for Device to be present whenever the
- same BusID is used.
- added multiple tablet support (wacom), moved usb probe for mouse and
- tablet
- at the beginning.
-
- * printerdrake.pm: Do not ask to configure a printer if standalone,
- previously only for embended.
-
- * Xconfig.pm: fixed typo for wacom.
- added multiple tablet support (wacom), moved usb probe for mouse and
- tablet
- at the beginning.
-
- * mouse.pm, detect_devices.pm, install_steps_gtk.pm, install2.pm: added
- multiple tablet support (wacom), moved usb probe for mouse and tablet
- at the beginning.
-
-2001/03/23 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_listf_no_check): fix the fix fix fix
- (ask_from_listf_no_check): fix the fix fix
-
- * common.pm (formatError): created
-
- * network.pm (configureNetworkIntf): gray "IP address" and "Netmask" in
- DHCP/BOOTP
-
- * diskdrake.pm (try): format the error (no more "at line ...")
- (Add2LVM): "new" was not i18n'ed
-
- * install_steps_interactive.pm (exitInstall): no "cancel" button
-
- * partition_table.pm: add Empty to bad_types
-
- * fsedit.pm (change_type): When changing a partition type from ext2fs to
- Linux RAID
- (or LVM), the mount point should be removed.
-
-2001/03/23 siegel
-
- * share/po/de.po: new german version
-
-2001/03/23 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: corrected bad translation
- correctedd typo
- updated
- code cleaning
- tinyfirewall now works.
-
- * Makefile.config: added tinyfirewall
-
- * any.pm, mouse.pm: added /dev/modem in modem list selection
-
- * standalone/drakxconf: added tinyfirewall entry
-
- * standalone/tinyfirewall: added update code
- updated wrapper to launch tinyfirewall in embedded mode
-
- * netconnect.pm: added /dev/modem in modem list selection
- netconnect doesn't write the file 1
-
-2001/03/23 fcrozat
-
- * share/rpmsrate: nautilus-mozilla and xalf are installed by default in
- GNOME
- gmc is not installed by default in GNOME
- gabber gaim are moved to instant messaging
- gcombust in moved to GNOME CD burner
- gtm is installed by GNOME/File transfer
- mozilla is installed by default as www browser
- galeon is installed by default as www browser for GNOME
-
-2001/03/23 Franois Pons <fpons@mandrakesoft.com>
-
- * tools/syncrpms: added size-stamp test to copy identical file in version,
- release.
-
- * Xconfig.pm: fixed typo for wacom.
- added multiple tablet support (wacom), moved usb probe for mouse and
- tablet
- at the beginning.
-
- * Xconfigurator.pm: added multiple tablet support (wacom), moved usb probe
- for mouse and tablet
- at the beginning.
- fixed wrong usage of Screen keyword in Device section, should be present
- and
- reseted for any multi head card with only one BusID.
-
- * mouse.pm, detect_devices.pm, install_steps_gtk.pm, install2.pm: added
- multiple tablet support (wacom), moved usb probe for mouse and tablet
- at the beginning.
-
-2001/03/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po, share/po/de.po, share/po/fi.po: Added Vietnamese file
- Updated Finnish file
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/az.po,
- share/po/ru.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po,
- share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Added Vietnamese file
-
-2001/03/23 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: ifix the dams stuff
-
- * install_steps_interactive.pm (exitInstall): no "cancel" button
-
- * share/po/i18n_compssUsers: fix for better compliance with po format
-
- * netconnect.pm: ifix the dams stuff
- cleanup and enable gzip'ed isdn.db
-
- * Makefile: gzip ldetect-lst files
-
- * modules.pm: add i810_audio (still need a script to add missing one and
- keep in sync)
-
- * bootloader.pm (suggest_floppy): don't add an entry for non-fd0 drives
-
- * interactive.pm (ask_from_listf_no_check): fix the fix fix fix
- (ask_from_listf_no_check): fix the fix fix
- (ask_from_listf_no_check): fix the bad fix
-
- * common.pm (formatError): created
- (openFileMaybeCompressed, catMaybeCompressed): added
- (getVarsFromSh): take care of comments
-
- * network.pm (configureNetworkIntf): gray "IP address" and "Netmask" in
- DHCP/BOOTP
-
- * partition_table.pm: add Empty to bad_types
-
- * mouse.pm (detect): never probe psaux (workaround for kernel/xfree bug)
-
- * fsedit.pm (change_type): When changing a partition type from ext2fs to
- Linux RAID
- (or LVM), the mount point should be removed.
-
- * detect_devices.pm (isUSBFDUDrive, usbfdus): removed, doesn't scale
- (isFloppyOrHD): floppy type is 'fd', not 'floppy'
- (stringlist): nicer (a la new lspcidrake)
-
- * Xconfigurator.pm: enable use of gzip'ed Cards+, CardsNames and
- MonitorsDB
-
- * diskdrake.pm (try): format the error (no more "at line ...")
- (Add2LVM): "new" was not i18n'ed
-
-2001/03/23 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mouse.pm, bootloader.pm: mods to create/move image, to /export for PPC,
- use vmlinux for PPC
- prepend of_dev to initrd stanza in yaboot.conf
- add 1-button mouse for PPC
-
-2001/03/23 siegel
-
- * share/po/de.po: new german version
-
-2001/03/22 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * tools/i386/netboot/stage1.rtl8139, tools/i386/netboot/stage2.rtl8139:
- Add 8139 grub stage.
-
-2001/03/22 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: corrected mapn
-
- * standalone/draknet: removed use Data::Dumper
-
- * netconnect.pm: removed mail informat oin
- comment update
-
- * tinyfirewall.pm: removed use Data::Dumper
- working on tinyfirewall
-
-2001/03/22 fabman
-
- * share/po/es.po: changed "swap" for "intercambio" in the spanish .po
- files
- updated DrakX, menudrake and urpmi es.po files
-
-2001/03/22 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed wrong access to undefined value promoted to
- empty array reference.
-
-2001/03/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/probing.c, mdk-stage1/tools.h:
- - fix detection of more than 3 scsi attached devices
- - cleaner code for cmp of ptr against static strings
-
-2001/03/22 Pixel <pixel@mandrakesoft.com>
-
- * standalone/mousedrake: remove test ugliness of dams
-
- * c/Makefile.PL: no pcmcia_probe in drakxtools
-
- * modules.pm (load_thiskind): indent as it should be
-
- * install_steps_interactive.pm (generateAutoInstFloppy): fix the message
- which was uptodate only for
- sparc :-(
-
- * Xconfigurator.pm: no need for "use Data::Dumper;"
-
-2001/03/22 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * modules.pm: no imm,ppa PPC, scan mesh,mac53c94 scsi only, pmac should
- have been mace
-
-2001/03/22 yduret
-
- * bootlook.pm: mapn works tx dams
- nmap
- added mapn fun to reduce code.. testing it
- added install of rpm
- xpm png files
-
- * pixmaps/hori.png, pixmaps/gmon.png, pixmaps/tradi.png, pixmaps/hori.xpm,
- pixmaps/verti.png, pixmaps/gmon.xpm, pixmaps/tradi.xpm,
- pixmaps/verti.xpm: convert xpm to png
-
-2001/03/21 dam's <damien@mandrakesoft.com>
-
- * standalone/tinyfirewall, tinyfirewall.pm: new tinyfirewall conf tool
-
- * netconnect.pm: corrected /etc/sysconfig/network-scripts/net_up.* bug
-
-2001/03/21 Franois Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm: added pci id reference.
-
- * c/stuff.xs.pm: added support for pci id extraction.
-
- * Xconfigurator.pm: fixed wrong XFree4 version reference.
- fixed null string in monitor identifier.
- added multi-head support in XFdrake.
-
-2001/03/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: honour embedded mode
-
- * share/compssUsers: move NETWORKING_FILE (contains stuff for nfs
- mounting..) from Internet
- Station to Network Computer
-
-2001/03/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/pt.po, share/po/DrakX.pot, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/de.po,
- share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/lt.po, share/po/sl.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/da.po, share/po/cs.po, share/po/af.po: Updated
- Croatian and Serbian files
-
- * share/po/sp.po, share/po/sr.po: Updated Serbian files
- Updated Croatian and Serbian files
-
- * share/po/az.po: Updated Azeri file
- Updated Croatian and Serbian files
-
- * share/po/sk.po: Updated Azeri and Slovak files
- Updated Croatian and Serbian files
-
- * lang.pm: Added fields to charsets table holding info for mount
- (iocharset and
- codepage mount options)
-
-2001/03/21 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (g_default_packages): nice warning if mount in vfat fails
-
- * share/rpmsrate: move webmin to CONFIG
- remove ipchains and iptables, raise gfcc
-
- * docs/README: add cvs howto
-
- * install_steps_interactive.pm (summary): fix
-
- * detect_devices.pm: old code
-
- * bootloader.pm (install_lilo): ensure labels don't contain spaces, lilo
- doesn't like them
- (add_kernel): cleanup
- (suggest): make it work with kernel22-secure and no kernel22
-
- * modules.pm (when_load): move the alias sound to when_load, don't check
- ppc as it
- could be used for non-ppc
- (load_thiskind): fix pb causing imm,ppa,usb-storage to be tested for
- every
- load_thiskind, not only scsi one
-
- * c/stuff.xs.pm (from_utf8): as pablo said...
-
-2001/03/21 siegel
-
- * share/po/de.po: new german version
- new german version
-
-2001/03/20 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (@drivers_by_category): if_ization
- (load_thiskind): cleanup
-
-2001/03/21 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (add_kernel): cleanup
- (suggest): make it work with kernel22-secure and no kernel22
-
- * share/rpmsrate: remove ipchains and iptables, raise gfcc
-
-2001/03/20 dam's <damien@mandrakesoft.com>
-
- * interactive.pm: no wizard if warning
-
-2001/03/20 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix pcmcia functions only on x86
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
-
- * modules.pm (@drivers_by_category): if_ization
- (load_thiskind): cleanup
-
- * any.pm, install2.pm, share/rpmsrate: use bastille backend
-
- * c/stuff.xs.pm, c/Makefile.PL: fix pcmcia functions only on x86
-
- * install_steps.pm, install_any.pm:
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
-
-2001/03/20 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * modules.pm, install_steps_interactive.pm, any.pm: make_boot_img: add
- routine for - PPC
- any.pm: double "Append" entry in expert mode for yaboot.conf - PPC
- install_steps_interactive: setup dmasound - PPC
- modules.pm: load Mac hardware modules - PPC
-
-2001/03/20 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bug in reading resolv.conf, and changed chmod
- for net_cnx_*
-
- * interactive.pm: no wizard if warning
-
- * standalone/draknet: added update after {dis}connecting
-
-2001/03/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * diskdrake.pm: fix formatting of raid
-
-2001/03/20 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: use bastille backend
- - add nautilus
-
- * install_steps_interactive.pm: fix pcmcia functions only on x86
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
- (setupSCSI): don't pcmcia_probe if testing
- - tellAboutProprietaryModules moved to setupSCSI
- - miscellaneous step re-enabled, called Security
- - pcmcia_probe moved to setupSCSI, skipped in noauto
-
- * any.pm: use bastille backend
-
- * install2.pm: use bastille backend
- - tellAboutProprietaryModules moved to setupSCSI
- - miscellaneous step re-enabled, called Security
- - pcmcia_probe moved to setupSCSI, skipped in noauto
- have pcmcia_probe in stage2 (for non pcmcia.img, stage1 doesn't give the
- parameter any more)
-
- * netconnect.pm (modem_detect_backend): cleanup
-
- * c/stuff.xs.pm, c/Makefile.PL: fix pcmcia functions only on x86
- have pcmcia_probe in stage2 (for non pcmcia.img, stage1 doesn't give the
- parameter any more)
-
- * Makefile: install cardmgr
-
- * install_any.pm:
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
- (setPackages): install usbd in case of usb
-
- * install_steps.pm:
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
-
-2001/03/20 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * any.pm, netconnect.pm, detect_devices.pm: any.pm: enable module load PPC
- detect_devices.pm: forgot to remove commented code after test
- netconnect.pm: load macserial module for PPC
-
-2001/03/20 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet, netconnect.pm: improved connection windows, and
- loading / saving of /etc/sysconfig/network-scripot/netcnx*
-
-2001/03/20 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate:
- - add nautilus
-
- * install_any.pm (setPackages): install usbd in case of usb
-
- * Makefile: install cardmgr
-
-2001/03/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * fsedit.pm: fix loopback appearing twice in format partition
-
- * diskdrake.pm: fix "loopback" name of loopback tab in diskdrake
-
-2001/03/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po: updated korean file
- Updated po files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: Updated po files
-
-2001/03/19 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (computeGroupSize): fix hacks, better hacks
- (saveCompssUsers): fix
-
- * install_steps_interactive.pm (chooseGroups):
- - make the computed size work
- - unselectAll when a profile is unselected
-
- * interactive_gtk.pm (ask_from_entries_refW): better sizing in case of
- scrolls
-
-2001/03/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mdk-stage1/stage1.c: stage1.c: fix for rescue image PPC
-
-2001/03/19 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: corrected graphical layout for newbies
-
- * netconnect.pm: added net_cnx_{up, down} save
-
-2001/03/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po: updated korean file
- Updated po files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: Updated po files
-
-2001/03/19 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (computeGroupSize): fix hacks, better hacks
- (saveCompssUsers): fix
-
- * share/rpmsrate:
- - add rxvt-CJK
- - exchange xterm and rxvt
- - move bc from SCIENCES to SYSTEM
-
- * interactive_newt.pm (ask_from_entries_refW):
- - ensure the width is less than $width - 7 (in french and 80x25, the
- treelist was too big)
- - if term is very big, use 10 lines instead of 5
- - if no button is asked, but one in any case otherwise it's buggy
-
- * install_steps_interactive.pm (chooseGroups):
- - make the computed size work
- - unselectAll when a profile is unselected
-
- * interactive.pm (ask_from_listf_no_check): fix fix
- (ask_from_listf_no_check): fix the filtering of exceptions
-
-2001/03/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mdk-stage1/stage1.c: stage1.c: fix for rescue image PPC
-
-2001/03/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/lomount.h, mdk-stage1/lomount.c, mdk-stage1/disk.c: fix for
- hd-install when you provide a not valid ISO (cd #2 for example)
-
- * mdk-stage1/frontend.h, mdk-stage1/minilibc.h, mdk-stage1/stage1.h,
- mdk-stage1/log.h: use some help with __attribute__
-
-2001/03/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/tree/etc/rc.sysinit: load sr_mod and sd_mod at startup
-
- * mdk-stage1/Makefile.mkinitrd_helper, mdk-stage1/.cvsignore: sync
-
- * mdk-stage1/stdio-frontend.c: handle left and right arrow keys, in
- editing ask_from_entries in stdio mode
-
- * mdk-stage1/pci-resource/Makefile: do not use marfiles for deps
-
-2001/03/17 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (write_langs): in case of empty %_install_langs, don't write it
-
- * install_steps.pm (pkg_install_if_requires_satisfied): better logging
-
- * share/rpmsrate: add gpm & evolution
-
-2001/03/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/insmod-busybox/utility.c: fix insmod calling realloc(0,0) to
- work with dietlibc
-
- * mdk-stage1/insmod-busybox/Makefile: also build standalone insmod-DIET
- for testing purposes..
-
- * mdk-stage1/mkinitrd_helper/Makefile: bump version to 1.0.1 for new
- mkinitrd package release
-
- * mdk-stage1/stdio-frontend.c: handle left and right arrow keys, in
- editing ask_from_entries in stdio mode
-
-2001/03/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
- * share/keyboards.tar.bz2: Added a Korean keyboard, fixed bug in Japanese
- keyboard
-
- * keyboard.pm: Added choice of Korean keyboard
-
-2001/03/17 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (write_langs): in case of empty %_install_langs, don't write it
-
- * install_steps.pm (pkg_install_if_requires_satisfied): better logging
-
- * share/rpmsrate: add gpm & evolution
-
-2001/03/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/Makefile: refine deps
-
- * mdk-stage1/mkinitrd_helper/mkinitrd_helper.c, mdk-stage1/Makefile,
- mdk-stage1/mkinitrd_helper/Makefile: write down mkinitrd_helper
-
- * mdk-stage1/insmod-busybox/insmod.c: force load
-
-2001/03/16 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (setPackages): set flag "TV" when bttv hardware is there
-
- * share/compssUsers, share/rpmsrate: move out TV from VIDEO
-
- * diskdrake.pm (Type): fix the code verifying size >32 for reiserfs
-
- * modules.pm (write_conf): better logging
-
- * c/stuff.xs.pm: add from_utf8
-
- * c/stuff.pm (headerGetEntry): use from_utf8 on group, summary and
- description
-
-2001/03/16 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * tools/ppc/magic, tools/ppc/mkhybrid-1.12b5.4, tools/ppc/convert,
- tools/ppc/yaboot, tools/ppc/mapping: gi/tools/ppc/convert, magic,
- mapping, mkhybrid-1.12b5.4, yaboot - re-add - my bad
- gi/tools/ppc/convert, magic, mapping, mkhybrid-1.12b5.4, yaboot -
- remove/re-add - did not use -kb switch - thx Pixel
-
-2001/03/15 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: SiS card are no more prefered for XF3.
- added standalone support to prefer XF3 or XF4 to
- keep current used server version.
-
- * standalone/XFdrake: remove duplicate begin label.
- take care of existing configuration.
-
-2001/03/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: skip dc395x_trm on stage1
- dc395x_trm is back in 2.4
-
- * share/compssUsers: try to enhance
-
-2001/03/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: updated Azeri file
-
-2001/03/15 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator_consts.pm, Xconfigurator.pm: andre@node1583e.a2000.nl says
- this is not needed anymore :)
-
-2001/03/15 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * tools/ppc/magic, tools/ppc/convert, tools/ppc/iboot,
- tools/ppc/mkINSTALLCD, tools/ppc/mkhybrid-1.12b5.4, tools/ppc/yaboot,
- tools/ppc/mapping: gi/tools/ppc/convert, magic, mapping, mkINSTALLCD,
- mkhybrid-1.12b5.4, yaboot: create PPC CD
-
- * install_steps_interactive.pm, detect_devices.pm, bootloader.pm:
- bootloader.pm, detect_devices.pm, install_steps_interactive.pm: changed
- temporary file read/write per Pixel
-
- * Xconfigurator.pm: force 1024x768 on Powerbook
-
- * tools/ppc/README: README: README for creating PPC boot CD
-
-2001/03/14 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: changed label + profile before types..
-
-2001/03/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po,
- share/po/i18n_compssUsers, share/po/DrakX.pot, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/Changelog, share/po/sk.po,
- share/po/lt.po, share/po/sl.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/da.po, share/po/cs.po, share/po/af.po:
- corrected the script and updated po files
-
-2001/03/14 Pixel <pixel@mandrakesoft.com>
-
- * share/compssUsers: keep only one Development entry
-
- * install_steps_gtk.pm, pkgs.pm: fix the compssUsers interpretation
-
- * bootlook.pm: fix for perl2fcalls
-
- * install_steps_interactive.pm (chooseGroups): disable the size display as
- it is wrong (for the beta2)
-
-2001/03/14 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps_gtk.pm,
- partition_table_mac.pm, bootloader.pm: fix bootstrap partition
- creation/tracking
- allow Xpmac to launch in 2 modes based on cmdline
-
-2001/03/14 siegel
-
- * share/po/de.po: new german version
-
-2001/03/14 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: changed label + profile before types..
-
-2001/03/14 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed unselect management of choice, propagate unselection
- correctly to all
- packages requiring unselected package.
-
- * install_any.pm: use LD_LOADER when invoking parshedlist.
-
-2001/03/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po, share/po/nl.po: updated Norwegian file
-
- * share/locales.tar.bz2, share/gconv.tar.bz2, share/list,
- share/fonts.tar.bz2: new fonts and locale files
-
- * share/po/ko.po: Fixed email of Korean translator
- updated Korean file
-
- * install_steps_interactive.pm, install_gtk.pm, lang.pm, keyboard.pm:
- completed language list
- completed language->keyboard guessing list
- aesthetic changes to an English message (removed \n and let gtk+
- do the formatting, it is nicer)
-
- * share/po/az.po: Updated Azeri file
-
-2001/03/14 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: fix the compssUsers interpretation
- (readCompssUsers): change the key of compssUsers, added "label"
- (computeGroupSize): fix bug
- (computeGroupSize): fix logging
-
- * share/gconv.tar.bz2: moved to share/list
-
- * bootlook.pm: fix for perl2fcalls
-
- * share/rpmsrate: CLIENT & SERVER is prohibited
-
- * timezone.pm:
- - add many timezones
- - defaults to GMT
- - verifier added
-
- * install_steps_gtk.pm: fix the compssUsers interpretation
- (choosePackagesTree): fix
-
- * common.pm (bestMatchSentence, bestMatchSentence2): in wantarray, return
- the number
- of matched words/characters
-
- * share/compssUsers: keep only one Development entry
- CLIENT & SERVER is prohibited
-
- * install_steps_interactive.pm (chooseGroups): disable the size display as
- it is wrong (for the beta2)
- (chooseGroups): add path for seperating groups, use "label" for the
- group text
-
- * Makefile: remove gconv
-
-2001/03/13 siegel
-
- * share/po/de.po: Fixed typos.
-
-2001/03/13 siegel
-
- * share/po/de.po: Fixed typos.
-
-2001/03/13 dam's <damien@mandrakesoft.com>
-
- * share/help.png: changed
-
-2001/03/13 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm, install_steps_gtk.pm: compss is deprecated. use compssUsers
- for the tree
-
- * standalone/drakgw: pixelization
-
- * share/rpmsrate: HDF can't be at the beginning of the line or it will be
- taken as a flag
- moved icewm to SYSTEM with !KDE !GNOME
-
- * pkgs.pm: compss is deprecated. use compssUsers for the tree
- (readCompssUsers): get the "path"
-
- * install_steps.pm: compss is deprecated. use compssUsers for the tree
- renamef created and used
-
- * detect_devices.pm (burners): don't use cdroms() which return scdX for
- ide burners, and
- isBurner don't use the same technique. so use get() and grep for type
- "cdrom"
-
- * install_any.pm: compss is deprecated. use compssUsers for the tree
- (setPackages): set {compssUsersChoice}{PCMCIA} if hasPCMCIA
- renamef created and used
-
- * install_steps_interactive.pm: compss is deprecated. use compssUsers for
- the tree
- (chooseGroups): fix to get back the icons
- (chooseGroups): size computed should work
-
- * common.pm: renamef created and used
-
-2001/03/13 siegel
-
- * share/po/de.po: new german translation
-
-2001/03/13 warly
-
- * share/compssUsers: fix {W,w}orkstation
- remove ^Server and ^Development
-
-2001/03/13 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakgw: pixelization
-
- * install_steps_interactive.pm (chooseGroups): size computed should work
-
- * share/rpmsrate: moved icewm to SYSTEM with !KDE !GNOME
-
- * install_steps.pm, common.pm, install_any.pm: renamef created and used
-
-2001/03/12 dam's <damien@mandrakesoft.com>
-
- * Makefile: removed wizard pixmap from install
-
- * pixmaps/wiz_internet.png, pixmaps/wiz_internet_left.png: updated
- added pixmap for wizard
-
- * my_gtk.pm: new wizard layout, with pixmaps.
- added ugly workaround for ugly Hseparator
-
- * share/step-red.png, share/step-orange.png, share/step-orange-click.png,
- share/step-green-click.png, share/step-green.png, share/step-red-on.png,
- share/step-orange-on.png, share/step-green-on.png,
- share/step-green_s.png, share/step-red-click.png: removing bad png
- files...
-
- * share/help.png: new help button. blah
-
- * install_any.pm: typo
-
- * pixmaps/wiz_default_left.png, pixmaps/wiz_default_up.png: updated
-
- * netconnect.pm: corrected askokcancel -> askyesorno
-
- * interactive.pm: corrected bad okcanel in wizard mode
-
- * install_steps_interactive.pm: added $::isInstall
-
- * share/logo-mandrake_trans.png: new logo for other themes
-
- * services.pm: removed use Data::Dumper
- corrected bug in display
-
-2001/03/12 Franois Pons <fpons@mandrakesoft.com>
-
- * modules.pm, lang.pm, commands.pm, detect_devices.pm, pkgs.pm,
- live_install2: fixed live update between GLIBC 2.1 and GLIBC 2.2. should
- work for other
- combination but not tested. fixed locale usage and gtk environment
- interaction (added LOCPATH, GCONV_PATH and GTK_EXE_PREFIX).
- created LD_LOADER environment variable to keep track of right ELF loader
- to be used for the GLIBC used by the live update. added internal PATH
- to LD_LIBRARY_PATH as ELF loader only check this one and not PATH.
-
-2001/03/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw:
- - make it work as a wizard
- - make it work with iptables (kernel-2.4)
-
- * modules.pm: reflect Jeff Garzik's answers to my questions on kernel@
-
-2001/03/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/DrakX.pot, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/bg.po, share/po/de.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/br.po, share/po/ca.po,
- share/po/cy.po, share/po/uk.po, share/po/wa.po, share/po/da.po,
- share/po/cs.po, share/po/zh_TW.Big5.po, share/po/af.po: Updated Basque
- file
-
-2001/03/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): save the compssUsers flattened
- for rpmdrake
-
- * install_steps_interactive.pm (summary): remove 'clicked' (labels are
- used)
- put everything in %compssUsers, use field flags for the flags :)
-
- * pkgs.pm (computeGroupSize): log what is found
- (saveCompssUsers): make it work
- (readCompssUsers): clean-up
- (saveCompssUsers): created
- put everything in %compssUsers, use field flags for the flags :)
- (computeGroupSize): created
-
- * share/rpmsrate: lower Zope (anyway Zope is not in main)
-
- * fsedit.pm (hds): search for existing lvm in @hds *and* @lvms
-
- * commands.pm (loadkeys): created
-
- * install_any.pm (setPackages): don't readCompssUsers with $o->{packages}
- (setPackages): kernel-secure doesn't exist anymore, use kernel22-secure.
- don't use kernel-secure as a kernel-smp.
- put everything in %compssUsers, use field flags for the flags :)
- (setPackages): set compssUsersChoice "3D" if 3D enabled graphic card
-
- * interactive_gtk.pm (ask_from_entries_refW): add $set for "label" entries
- add "label" type
-
- * share/compssUsers: change the path format
-
- * detect_devices.pm (get_mac_model): fix for perl2fcalls
-
- * interactive.pm: add "label" type
-
-2001/03/12 warly
-
- * share/compssUsers: add some NETWORKING_* that were empty
- dispach some DEVELOPMENT and SERVER to more appropriate groups
- added path
-
- * share/rpmsrate: add some NETWORKING_* that were empty
- dispach some DEVELOPMENT and SERVER to more appropriate groups
-
-2001/03/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ftp.pm: do not retry on 550 file unavailable
-
-2001/03/12 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (setPackages): set compssUsersChoice "3D" if 3D enabled
- graphic card
-
-2001/03/11 dam's <damien@mandrakesoft.com>
-
- * services.pm: no more restart button
-
-2001/03/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ftp.pm: do not retry on 550 file unavailable
-
-2001/03/11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (summary): fix clicked empty handler
-
- * share/rpmsrate:
- - lower tftp-server
- - a lot of modifs (thanks to Prana)
-
-2001/03/10 dam's <damien@mandrakesoft.com>
-
- * standalone/drakxservices: embedded mode
-
- * my_gtk.pm: added gtkset_border_width
- typo again
- typo
- added gtkmove
- added gtkset_modal and gtkappenditems
-
- * services.pm: fixed big bug.
- imajor improvement.
- improved.
-
-2001/03/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated Korean file
-
-2001/03/09 dam's <damien@mandrakesoft.com>
-
- * standalone/drakxconf: added harddrake
-
- * my_gtk.pm: applied gtkradio
- created create_boxradio
- in wizard mode : list -> radio buttons
- added gtkradio
-
- * bootlook.pm: workaround for the graphical layout.
-
- * install_steps_gtk.pm: applied gtkradio
- created create_boxradio
- in wizard mode : list -> radio buttons
-
- * printerdrake.pm: if embedded -> no first question
-
- * interactive_gtk.pm: added tooltips to create_boxradio
- applied gtkradio
- created create_boxradio
- in wizard mode : list -> radio buttons
-
-2001/03/09 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: a hell lot of modifications, mostly cleanup of
- DEVELOPEMENT
-
-2001/03/09 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: keyboard mapping for PPC
-
- * detect_devices.pm: routine to detect MacIntosh model code
-
-2001/03/09 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: added gtkradio
-
- * standalone/draknet: changed graphical layout, expert mode
-
-2001/03/09 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (read_rpmsrate): handle the special case of packages requiring
- locales-*,
- adding the flag LOCALES"*" for them
-
- * install_steps_interactive.pm (choosePackages): moved the log to
- install2::choosePackages (to have it in
- auto_installs too)
-
- * install_any.pm (setPackages): set compssUsersChoice LOCALES"*"
-
- * install2.pm (choosePackages): log groups choosen
-
- * share/rpmsrate: a hell lot of modifications, mostly cleanup of
- DEVELOPEMENT
- - chineese packages
- - move Aurora's to AURORA (DrakX take care of Aurora)
-
- * install_steps_gtk.pm (remove_advertising): created
-
-2001/03/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: workaround kernel-2.4 bug with /dev/log
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * verify_c: fix the regexp
-
- * detect_devices.pm (floppies): load module "floppy" before probing
-
-2001/03/08 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: applied if__
-
-2001/03/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: workaround kernel-2.4 bug with /dev/log
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * verify_c: fix the regexp
-
- * share/rpmsrate: add i18n'ed packages
-
- * detect_devices.pm (floppies): load module "floppy" before probing
-
-2001/03/08 dam's <damien@mandrakesoft.com>
-
- * common.pm: added if__
-
- * netconnect.pm: applied if__
-
-2001/03/08 Franois Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm: avoid using e2fsck, else it abort by checking partition
- size (which differs).
- fix resize ext2 by using resize2fs.
-
- * pkgs.pm: changed choice of package for selection.
-
- * share/list: added resize2fs and dumpe2fs, removed ext2resize which is
- replaced.
-
-2001/03/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: do not segfault in dhcp stuff, when af_packet is not
- honoured by kernel
-
-2001/03/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: advertising modifs
- (setPackages): use burners instead of IDEburners
-
- * bootloader.pm: cleanup
-
- * interactive.pm (ask_from_listf_no_check): catch wizcancel and return
- undef
-
- * fs.pm (write_fstab): change again for 'none' checking the mount point
- (write_fstab): special case for device ``none'' (which can be mounted
- twice or more :)
-
- * my_gtk.pm (_create_window): on delete_event, destroy the window and
- raise wizcancel
-
- * share/po/fr.po: fix bad translation
-
- * share/rpmsrate: add i18n'ed packages
- raise kdebase
-
- * install2.pm, install_steps.pm, install_steps_gtk.pm: advertising modifs
-
- * detect_devices.pm: cleanup
- (isBurner): use syslog to detect scsi burners
-
-2001/03/08 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_steps_gtk.pm: encourage Xpmac to run in at least 16bpp
-
- * partition_table_mac.pm: fixed variable referencing - thx Pixel
-
-2001/03/08 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad pci number -> string
-
-2001/03/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bg.po, share/po/sr.po, share/po/sp.po, share/po/ca.po: updated
- Bulgarian, Catalan and Serbian files
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (dev2grub): better error reporting
-
- * tools/cvslog2changelog.pl (%users): add stew
-
- * install_steps.pm (setupBootloaderBefore): aurora stupid renaming fix
-
- * share/rpmsrate: raise kdebase
- xcdroast is the best cd burner ui, raise it above others
- lower some EDITORS
- raise vim-X11
- lower xrn, raise pan
-
- * install_any.pm (setPackages): use burners instead of IDEburners
- (setPackages): at least set BURNER for ide burners
-
- * any.pm: cleanup
-
- * install_steps_interactive.pm, install2.pm: re-add miscellaneous step,
- but always hidden (aka automatic)
-
- * detect_devices.pm (isBurner): use syslog to detect scsi burners
-
- * fs.pm (write_fstab): special case for device ``none'' (which can be
- mounted
- twice or more :)
-
- * tools/i386/netboot/stage2.3c90x, tools/i386/netboot/grub: new versions
- (without mem=)
-
-2001/03/08 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad pci number -> string
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * tools/i386/netboot/stage2.3c90x, tools/i386/netboot/grub: new versions
- (without mem=)
-
-2001/03/07 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected default focus after detection
- don't test adsl if net install
-
-2001/03/07 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (add_alias): remove the alias block-major-11 as it's
- overriding the
- default alias to sr_mod, and is uneeded with scsi_hostadapter being
- added
- to /etc/modules.conf
-
- * share/rpmsrate: lower heartbeat
-
-2001/03/07 sbenedict
-
- * help.pm: * perl-install/help.pm - typo in yaboot help
-
- * any.pm: * perl-install/any.pm - fixed two $l vs. @l references -
- bootloader menu, need image/boot in rec mode PPC
- CVl:
- ----------------------------------------------------------------------
-
- * devices.pm: * perl-install/devices.pm - add adbmouse
-
-2001/03/07 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: not use common anymore, uses gtkpng, cosmetic chages
-
-2001/03/07 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm, bootloader.pm: fixed support for other kernel for
- bootloader entries.
- automatically add 2.2 entries for kernel22 (manage hack-kernel too).
-
- * Xconfigurator.pm: remove 32 bit depth for S3 Trio3D card.
-
- * pkgs.pm: added support for killing all child process of a transaction,
- necessary to be
- able to umount cdrom and eject it correctly.
-
-2001/03/07 Pixel <pixel@mandrakesoft.com>
-
- * share/fonts.tar.bz2: use gb16fs instead of gb16st
-
- * modules.pm (add_alias): remove the alias block-major-11 as it's
- overriding the
- default alias to sr_mod, and is uneeded with scsi_hostadapter being
- added
- to /etc/modules.conf
-
- * share/rpmsrate: lower heartbeat
- lower Mesa's rate
-
- * install2.pm (main): save $@ in $err so that it's not modified before
- being used
-
- * share/locales.tar.bz2: remove ending '/' in symlinks not pleasing
- packdrake
-
- * standalone/drakboot: make it please perl2fcalls
-
-2001/03/07 sbenedict
-
- * bootloader.pm, Xconfigurator.pm: * perl-install/Xconfigurator.pm - force
- XF4 for PPC in recommended mode
- * perl-install/bootloader.pm - rework get_of_dev to work in live install
-
- * install_steps_interactive.pm, any.pm, partition_table_mac.pm: *
- perl-install/any.pm - change in partition_table_mac'xxx syntax
- * perl-install/install_steps_interactive.pm - change in
- partition_table_mac'xxx syntax
-
- * perl-install/partition_table_mac.pm - change in
- partition_table_mac'xxx syntax
-
-2001/03/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po: Fixed French typos reported by tester
-
-2001/03/07 Pixel <pixel@mandrakesoft.com>
-
- * share/fonts.tar.bz2: use gb16fs instead of gb16st
-
- * fsedit.pm: fix typo
-
- * install2.pm (main): save $@ in $err so that it's not modified before
- being used
-
- * share/rpmsrate: lower Mesa's rate
-
- * standalone/drakboot: make it please perl2fcalls
-
-2001/03/06 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad %intf while savung
- don't ask configuration if expert
- now detecting adsl
-
- * standalone/draknet: remmoved 'quiting appli' screen
-
-2001/03/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: fix save of automatic stage1 info for static network
-
- * mdk-stage1/init.c: do not display from syslog msg's from RPM telling
- that it
- installed/removed some pkg's
-
- * mdk-stage1/Makefile: fix includes for init
-
-2001/03/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, help.pm, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, standalone/draknet,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: corrected some typos, Updated Japanese
- file
-
-2001/03/06 Pixel <pixel@mandrakesoft.com>
-
- * perl2fcalls:
- - small fix for bootlook.pm
- - don't display reused
-
- * detect_devices.pm (stringlist): if no text description, display ids
-
- * install_steps_interactive.pm (generateAutoInstFloppy): comment old code
- (summary): fixes
- (setupSCSI): cleanup
- (summary): display sound/tv/isdn cards found
-
- * fsedit.pm (check_mntpoint): don't allow LVM on / or /boot
- (@suggestions_mntpoints): add /boot
-
- * install_any.pm: hack to make perl2fcalls happy
- (getHds): fix for no hd detected in newbie installs
- (setPackages): s/snd-slot/sound-slot/
-
- * install_steps_auto_install.pm (@graphical_steps): add
- beforeInstallPackages so that advertisings are there
-
- * install2.pm (setupSCSI): remove autoSCSI, cleanup
-
- * http.pm, ftp.pm: don't use install_any
-
- * modules.pm: add cciss
-
- * partition_table.pm (add): create 3 primaries before creating an extended
- if DAC960 (/dev/rd/*)
- (add): max number of parts for rd, ida and cciss
-
-2001/03/06 yduret
-
- * bootlook.pm: pixelisation
-
-2001/03/06 dam's <damien@mandrakesoft.com>
-
- * install2.pm: corrected bad file search
- corrected intf setting
-
- * standalone/draknet: added enable/disable networking button.
-
- * standalone/drakxconf: updated to be launched frome DrakConf if no
- DISPLAY
-
- * netconnect.pm: now detecting adsl
- typo
- better load_conf
-
- * Xconfigurator.pm: cleaned png displaying
-
- * common.pm: setinhash -> set_in_hash
- added setinhash
-
- * fs.pm: typo
- use set_in_hash
-
-2001/03/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/cdrom.c: enable probing of all the CDROM drives in automatic
- mode
-
- * mdk-stage1/Makefile: fix includes for init
-
-2001/03/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: corrected some typos, Updated Japanese file
- updated Lithuanian file
-
- * help.pm, standalone/draknet: corrected some typos, Updated Japanese file
-
-2001/03/06 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, any.pm, Xconfigurator.pm: move inittab modifying to
- any::runlevel
-
- * partition_table.pm (add): max number of parts for rd, ida and cciss
-
- * fs.pm, netconnect.pm, common.pm: set_in_hash is now put_in_hash
-
- * diskdrake.pm (Create): pixelization
-
- * fsedit.pm (hds): pixelization
-
- * install_steps_auto_install.pm (@graphical_steps): add
- beforeInstallPackages so that advertisings are there
-
- * modules.pm: add cciss
-
- * install2.pm (main): remove unloading vfat (not needed anymore with
- mdk-stage1)
-
-2001/03/05 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: $mouse->{device} is set if it doesn't exists.
-
- * Makefile: added pixmaps copying
-
-2001/03/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * netconnect.pm, bootlook.pm, help.pm: fixed English typos
-
-2001/03/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (generateAutoInstFloppy): use
- generate_automatic_stage1_params
-
- * c/stuff.xs.pm, my_gtk.pm: XSetInputFocus now done in perl-GTK
-
- * install_any.pm (generate_automatic_stage1_params): replace
- generate_ks_cfg
-
-2001/03/05 dam's <damien@mandrakesoft.com>
-
- * Makefile: added pixmaps copying
-
- * standalone/draknet: required gtk only if needed, added redirection to
- newt if needed
-
- * netconnect.pm: $mouse->{device} is set if it doesn't exists.
- corrected short circuit if network install
- corrected bad end message,
- added copying of resolv.conf & modules.conf
-
- * install2.pm: moved askrootpasswd and adduser before network conf
-
- * network.pm: removed old NS0 fetching. /etc/resolv.conf is read in
- install2.pm now
- removed setdefaultroute and sethostname
-
-2001/03/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated Latvian, Belarussian and Spanish files
-
-2001/03/05 Pixel <pixel@mandrakesoft.com>
-
- * lvm.pm (lv_create): fix typo
-
- * bootloader.pm: add use devices
- (install_grub): ensure the translated messages are not too big the hard
- way
-
- * install_any.pm (generate_automatic_stage1_params): replace
- generate_ks_cfg
- (install_urpmi): have "use hdlist ..." in any case
-
- * my_gtk.pm: XSetInputFocus now done in perl-GTK
- (_create_window): don't care about c::XSetInputFocus not existing
-
- * any.pm (setupBootloader): pixelization
- (setupBootloader): fix call to get_append
-
- * interactive.pm (vnew): cleanup
-
- * common.pm (salt): cleanup
-
- * install_steps_interactive.pm (generateAutoInstFloppy): use
- generate_automatic_stage1_params
-
- * c/stuff.xs.pm: XSetInputFocus now done in perl-GTK
-
- * c/Makefile.PL: compile fix
-
- * diskdrake.pm (create_buttons4partitions_): fix for displaying LVM
-
- * Xconfigurator.pm (xtest): use external xtest if standalone
-
- * install2.pm (main): remove unloading vfat (not needed anymore with
- mdk-stage1)
-
-2001/03/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- diskdrake.pm, share/po/af.po: updated po files
-
-2001/03/04 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Add2LVM): fix bug (causing empty list), make cancel work
-
- * share/rpmsrate:
- - remove autologin
- - move X11R6-contrib to DEVELOPEMENT and lower rate
-
-2001/03/04 stew <sbenedict@mandrakesoft.com>
-
- * any.pm - changes to enable yaboot configuration for PPC
-
- * diskdrake.pm, fs.pm, partition_table.pm isBootstrap -> isAppleBootstrap
-
- * install_steps_interactive.pm - auto-add Apple Bootstrap - PPC
-
-2001/03/03 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, fsedit.pm, lvm.pm, standalone/diskdrake,
- install_interactive.pm, install2.pm: small fixes for LVM
-
- * diskdrake.pm: don't default the LVM name to 'pp' ;pp
- small fixes for LVM
-
-2001/03/03 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: small fixes for LVM
- (doPartitionDisksAfter): small adaptation for LVMs
- use run_or_die
-
- * fsedit.pm: small fixes for LVM
- (hds): detect LVMs and return them
- (add): handling of LVMs
- (@partitions_signatures): add new magic of reiserfs
-
- * bootloader.pm: use run_or_die
-
- * run_program.pm (run_or_die, rooted_or_die): created
-
- * install_steps_interactive.pm: cleanup
-
- * install_any.pm (getHds): handle LVMs. $o->{lvms} contain them
- (setPackages): ask for installation of package lvm when needed
- (suggest_mount_points, find_root_parts): take $fstab as arg instead of
- $hds
-
- * install2.pm: small fixes for LVM
- (formatPartitions): call vgscan if needed when / is mounted
-
- * devices.pm (make): better caller in error
-
- * share/list: add progs for LVM handling
-
- * install_interactive.pm: small fixes for LVM
-
- * diskdrake.pm: small fixes for LVM
- - addition of drive to notebook cleaned
- - various clean-up
- - handling of LVMs
-
- * standalone/diskdrake: small fixes for LVM
- small adaptation
-
- * lvm.pm: small fixes for LVM
- creation
-
- * partition_table.pm: add isLVMBased
-
-2001/03/02 stew <sbenedict@mandrakesoft.com>
-
- * commands.pm - fdisk locks up machine on report_bug - replace with pdisk PPC
-
- * install_steps.pm - no bootfloppy, added yaboot.conf - PPC
-
- * install_interactive.pm - pdisk vs. fdisk - PPC
-
- * bootloader.pm - added code to create yaboot.conf, run ybin - vmlinux vs. vmlinuz
-
-2001/03/02 stew <sbenedict@mandrakesoft.com>
-
- * c/smp.c -stanza for PPC
-
- * detect_devices.pm - added code for MO devices
-
- * help.pm - help information for yaboot - PPC
-
- * partition_table.pm - PPC mods
-
- * partition_table_mac.pm - PPC mods
-
- * modules.pm - PPC mods - parallel port not used
-
- * diskdrake.pm - PPC mods - display like pdisk
-
- * install2.pm - PPC mod - no bootdisk
-
- * fs.pm - bootstrap partition - PPC
-
-2001/02/27 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: pop up a dialog to quit X when accepting
- configuration
-
-2001/02/27 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_raw.pm (@MBR_signatures): add yet another grub signature
-
- * devices.pm (entry): add fd0H1440 and fd1H1440
-
- * bootloader.pm (mkbootdisk): fix for mkbootdisk using fd0H1440. Must be
- created
-
-2001/02/26 dam's <damien@mandrakesoft.com>
-
- * Makefile.drakxtools, pixmaps/hori.xpm, pixmaps/tradi.xpm,
- pixmaps/eth_card_mini.xpm, pixmaps/verti.xpm: new pixmap policy
-
- * Makefile: typo
- new pixmap policy
-
- * bootlook.pm: typo
- new pixmap policy
- need to be merged with bootloader
-
- * standalone/draknet: reincluded Gtk + init Gtk
- thiskind -> thiskind_backend
- new pixmap policy
-
- * standalone/drakboot: short-circuit to bootlook for the moment.
-
-2001/02/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po,
- share/po/i18n_compssUsers, share/po/DrakX.pot, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: Fixed i18n_compssUsers
- script to produce a correct pot file
- Updated Estonian and Walloon files
-
- * bootlook.pm: changed I_() to _() so xgettext cna find the translatable
- strings
-
-2001/02/26 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakgw: pixelization
-
- * install_steps.pm: remove unneeded "use install_interactive"
-
- * install_steps_gtk.pm (copy_advertising): fix changing for
- advertising_images
-
-2001/02/26 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: should correct bad resolv.conf when swithcinf in
- standalone embedded mode. Not Certified
- fixed standalone edition
- corrected wizard mode.
-
- * Makefile.drakxtools, Makefile, pixmaps/eth_card_mini.xpm: new pixmap
- policy
-
- * standalone/draknet: new pixmap policy
- fixed standalone edition
-
- * bootlook.pm: need to be merged with bootloader
-
- * interactive_gtk.pm: if wizard, show the button
-
- * standalone/drakboot: short-circuit to bootlook for the moment.
-
-2001/02/26 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (if_): fix for use in scalar context
-
- * install_steps_interactive.pm (summary): translate mouse description
-
- * install_steps.pm: remove unneeded "use install_interactive"
-
- * install_steps_gtk.pm (copy_advertising): fix changing for
- advertising_images
-
-2001/02/26 warly
-
- * share/compssUsers, share/rpmsrate: remove some packages
-
-2001/02/26 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: if wizard, show the button
-
- * netconnect.pm: corrected wizard mode.
-
-2001/02/26 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (if_): fix for use in scalar context
-
- * install_steps_interactive.pm (summary): translate mouse description
-
-2001/02/25 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake-Firewall.xpm, share/logo-mandrake.xpm: changed logo.
-
- * netconnect.pm: profile handling.
- profile handling
- corrected wizard.
-
- * standalone/draknet: profile handling.
- profile handling
-
- * install_steps_interactive.pm: updated
-
-2001/02/25 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): move the load_deps before all the loadO's
-
- * install_any.pm (g_auto_install): have formatMountPartitions graphical if
- $graphical
-
- * install_steps_interactive.pm (generateAutoInstFloppy): use "timeout 1"
- for replay
-
- * interactive_gtk.pm (ask_from_entries_refW): ensure "advanced" lists
- center the chosen value
-
-2001/02/24 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, install2.pm: move writing to config files from
- install2::selectKeyboard to install_steps
-
- * share/list, Makefile, tools/i386/mkreiserfs: for now, have mkreiserfs in
- the CVS since the current cooker version is too recent
-
- * commands.pm (more): handle 'q' to quit
-
-2001/02/24 Pixel <pixel@mandrakesoft.com>
-
- * c/Makefile (stuff): fix the fix's fix :'-(
-
- * detect_devices.pm (pci_probe): fix to clean the log
-
- * install_steps_interactive.pm (setRootPassword): NIS server must be
- editable
-
-2001/02/23 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (g_auto_install): handle $replay flag. It means a 'not
- fully automated install'.
-
- * install_steps_auto_install.pm (@graphical_steps): specify which step
- should be interactive
-
- * c/Makefile (stuff.xs): exporting C_RPM and C_DRAKX is needed
-
- * install_steps.pm (afterInstallPackages): no kdm UserView in NIS
- (configurePrinter): if_'ization
-
- * install_steps_interactive.pm (exitInstall): ask wether Replay or
- Automated
- (generateAutoInstFloppy): handle $replay flag. It means a 'not fully
- automated install'.
- (summary): nicer mouse name
-
-2001/02/23 dam's <damien@mandrakesoft.com>
-
- * network.pm, standalone/draknet, netconnect.pm, my_gtk.pm: new wizard
- layout, no use gtk in draknet, minor bugfixes
-
-2001/02/23 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: added accessor the rpmsrate data of packages.
- avoid rebuilding the database for oem, rpm db is assumed to be fine.
-
- * rescue/make_rescue_img: removed kernel_reread program.
-
- * rescue/tree/etc/oem: removed server from selection.
- added mutli CD support to OEM (NFS/DVD transparent)
- fixed selection of package now select much more than before.
- fixed root partition size set to the minimum.
-
-2001/02/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: move xterm to SYSTEM
-
-2001/02/23 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: move the 'use my_gtk' in 'require my_gtk' and only if
- needed
-
- * install_steps_auto_install.pm (@graphical_steps): specify which step
- should be interactive
-
- * c/stuff.xs.pm: hack for macroporcessing in term.h
- use C_DRAKX
-
- * install_steps.pm (afterInstallPackages): no kdm UserView in NIS
- (configurePrinter): if_'ization
-
- * share/rpmsrate: add packages installed on demand by DrakX. they are
- specifically flagged
- or flagged 'INSTALL'
-
- * perl2fcalls: handling of ``package''->import(``what to import'')
-
- * interactive.pm (vnew): use /usr/X11R6/bin/xtest instead of c::Xtest
-
- * Makefile (tar-drakxtools): C_RPM and C_DRAKX set to 0
-
- * install_any.pm (g_auto_install): handle $replay flag. It means a 'not
- fully automated install'.
-
- * c/Makefile.PL: use C_DRAKX
-
- * pkgs.pm (setSelectedFromCompssList): fix the fix
-
- * c/Makefile (stuff.xs): exporting C_RPM and C_DRAKX is needed
- add setting C_DRAKX to 1 by default
-
- * install_steps_interactive.pm (exitInstall): ask wether Replay or
- Automated
- (generateAutoInstFloppy): handle $replay flag. It means a 'not fully
- automated install'.
- (summary): nicer mouse name
-
-2001/02/23 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_entries_refW): double clicking on list
- means 'Ok'
-
- * pkgs.pm (setSelectedFromCompssList): fix sillyness
-
-2001/02/22 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corected infinite loop
-
-2001/02/22 Franois Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: minor cleanup to edit partition size more easily.
- brand new version written in perl, support repartitionning on the fly of
- the
- hard disk and resize of already present FAT partition.
-
- * rescue/list.i386, rescue/list, rescue/Makefile: make rescue build a bit
- more cleaner (added dependancy).
- added missing file for rescue to enable new oem install.
-
-2001/02/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/insmod-modutils/include/elf_hppa64.h,
- mdk-stage1/insmod-modutils/util/alias.h,
- mdk-stage1/insmod-modutils/util/xstrcat.c,
- mdk-stage1/insmod-modutils/util/gzfiles.c,
- mdk-stage1/insmod-modutils/include/elf_arm.h,
- mdk-stage1/insmod-modutils/util/sys_qm.c,
- mdk-stage1/insmod-modutils/util/modstat.c,
- mdk-stage1/insmod-modutils/obj/obj_sparc.c,
- mdk-stage1/insmod-modutils/include/elf_m68k.h,
- mdk-stage1/insmod-modutils/Makefile,
- mdk-stage1/insmod-modutils/util/xstrdup.c,
- mdk-stage1/insmod-modutils/obj/obj_arm.c,
- mdk-stage1/insmod-modutils/obj/obj_m68k.c,
- mdk-stage1/insmod-modutils/obj/obj_hppa64.c,
- mdk-stage1/insmod-modutils/include/elf_sparc64.h,
- mdk-stage1/insmod-modutils/util/sys_dm.c,
- mdk-stage1/insmod-modutils/include/elf_s390.h,
- mdk-stage1/insmod-modutils/obj/obj_s390.c,
- mdk-stage1/insmod-modutils/util/xmalloc.c,
- mdk-stage1/insmod-modutils/util/xsystem.c, mdk-stage1/insmod.h,
- mdk-stage1/insmod-modutils/util/xftw.c,
- mdk-stage1/insmod-modutils/include/elf_i386.h,
- mdk-stage1/insmod-modutils/util/sys_gks.c,
- mdk-stage1/insmod-modutils/util/snap_shot.c,
- mdk-stage1/insmod-modutils/obj/obj_i386.c, mdk-stage1/modules.c,
- mdk-stage1/stage1.c, mdk-stage1/insmod-modutils/include/obj.h,
- mdk-stage1/insmod-modutils/include/elf_ppc.h,
- mdk-stage1/insmod-modutils/obj/obj_reloc.c,
- mdk-stage1/insmod-modutils/include/elf_sparc.h,
- mdk-stage1/insmod-modutils/util/sys_nim.c,
- mdk-stage1/insmod-modutils/obj/obj_ppc.c, mdk-stage1/Makefile,
- mdk-stage1/insmod-modutils/include/elf_hppa.h,
- mdk-stage1/insmod-busybox/insmod.c,
- mdk-stage1/insmod-modutils/util/meta_expand.c,
- mdk-stage1/insmod-modutils/util/arch64.c,
- mdk-stage1/insmod-modutils/obj/obj_load.c,
- mdk-stage1/insmod-modutils/obj/obj_hppa.c,
- mdk-stage1/insmod-busybox/insmod.h,
- mdk-stage1/insmod-modutils/include/elf_ia64.h,
- mdk-stage1/insmod-modutils/obj/obj_ia64.c,
- mdk-stage1/insmod-modutils/obj/obj_sparc64.c,
- mdk-stage1/insmod-modutils/include/elf_mips.h,
- mdk-stage1/insmod-modutils/include/module.h,
- mdk-stage1/insmod-modutils/obj/obj_mips.c,
- mdk-stage1/insmod-modutils/util/sys_cm.c,
- mdk-stage1/insmod-modutils/obj/obj_alpha.c,
- mdk-stage1/insmod-modutils/include/kerneld.h,
- mdk-stage1/insmod-modutils/util/xrealloc.c,
- mdk-stage1/insmod-modutils/obj/Makefile,
- mdk-stage1/insmod-modutils/insmod-frontend.c,
- mdk-stage1/insmod-modutils/obj/obj_common.c,
- mdk-stage1/insmod-modutils/include/modstat.h,
- mdk-stage1/insmod-modutils/util/Makefile,
- mdk-stage1/insmod-modutils/include/config.h,
- mdk-stage1/insmod-modutils/util/logger.c,
- mdk-stage1/insmod-modutils/obj/obj_kallsyms.c,
- mdk-stage1/Makefile.common, mdk-stage1/insmod-modutils/include/util.h,
- mdk-stage1/insmod-modutils/util/config.c,
- mdk-stage1/insmod-modutils/include/version.h,
- mdk-stage1/insmod-modutils/include/kallsyms.h,
- mdk-stage1/insmod-modutils/include/elf_alpha.h,
- mdk-stage1/insmod-modutils/util/sys_oim.c,
- mdk-stage1/insmod-modutils/insmod.c: use modutils for non Intel arch's
-
-2001/02/22 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (write_fstab): clean-up, $fstab takes precedence over @to_add, but
- not
- over existing /etc/fstab. Fix some stupid stuff
-
- * modules.pm, commands.pm: call /usr/bin/insmod_ with full path
-
- * install2.pm (main): don't set a special $remote_path PATH for
- postInstallNonRooted
- (otherwise install's modprobe is not used, and you can't "modprobe
- vfat",
- even if "/usr/bin/modprobe vfat" doesn't work because insmod_ is not
- found.
-
- * my_gtk.pm (create_box_with_title): disallow focusing on text if it is
- non-scrolled
-
-2001/02/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/include/stdlib.h, mdk-stage1/minilibc.c,
- mdk-stage1/init-libc-headers.h,
- mdk-stage1/dietlibc/include/sys/select.h, mdk-stage1/Makefile,
- mdk-stage1/init.c, mdk-stage1/minilibc.h,
- mdk-stage1/dietlibc/include/unistd.h,
- mdk-stage1/dietlibc/include/sys/socket.h,
- mdk-stage1/dietlibc/include/signal.h: have "init" compiled against
- dietlibc (rather than glibc) on non-Intel arch's
-
-2001/02/22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_auto_install.pm: $graphical is now a module variable. Can
- be changed from everywhere
-
- * fs.pm (write_fstab): clean-up, $fstab takes precedence over @to_add, but
- not
- over existing /etc/fstab. Fix some stupid stuff
-
- * modules.pm, commands.pm: call /usr/bin/insmod_ with full path
-
- * install2.pm (main): don't set a special $remote_path PATH for
- postInstallNonRooted
- (otherwise install's modprobe is not used, and you can't "modprobe
- vfat",
- even if "/usr/bin/modprobe vfat" doesn't work because insmod_ is not
- found.
-
- * my_gtk.pm (create_box_with_title): disallow focusing on text if it is
- non-scrolled
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): fix setting
- type to 'list' in
- case of format. should be only set if type is unset
- (ask_from_entries_refH_powered_normalize): if list+format then type is
- 'list', combo not accepted (hacky?)
-
- * interactive_gtk.pm (ask_from_entries_refW): if no button wanted, don't
- call create_okcancel
-
-2001/02/22 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): if list+format
- then type is
- 'list', combo not accepted (hacky?)
-
- * install_steps_auto_install.pm: $graphical is now a module variable. Can
- be changed from everywhere
-
- * interactive_gtk.pm (ask_from_entries_refW): if no button wanted, don't
- call create_okcancel
-
-2001/02/21 dam's <damien@mandrakesoft.com>
-
- * network.pm, netconnect.pm: netconnect recode, wizard compatible.
- network.pm modified for wizard. Still need work for ask_yesorno,
- ask_okcancel. +debugging of course
-
- * standalone/draknet: updated (don't remember what)
-
-2001/02/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/tools.c, mdk-stage1/Makefile,
- mdk-stage1/dietlibc/lib/vprintf.c, mdk-stage1/dietlibc/lib/vfprintf.c,
- mdk-stage1/minilibc.h, mdk-stage1/minilibc.c,
- mdk-stage1/init-libc-headers.h:
- - fix "init" on ppc (do not use minilibc on non-i386 arch's)
- - fix segfault of dietlibc-linked apps (broken va_stuff in dietlibc)
- - cleanup of "init"
-
- * mdk-stage1/init.c:
- - fix "init" on ppc (do not use minilibc on non-i386 arch's)
- - fix segfault of dietlibc-linked apps (broken va_stuff in dietlibc)
- - cleanup of "init"
- fix up syslog logging stuff
-
-2001/02/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (generateAutoInstFloppy): removed
-
- * install_any.pm (g_auto_install): use selected_leaves for
- default_packages to reduce the
- list of packages (aka cleanup auto_inst.cfg)
- (g_default_packages): created
-
- * install_steps_interactive.pm (exitInstall): add generateAutoInstFloppy
- and g_default_packages calls in
- advanced
-
- * netconnect.pm, partition_table.pm, fsedit.pm: cleanup Data::Dumper use
-
- * pkgs.pm (selected_leaves): created
-
- * install2.pm (main): do postInstallNonRooted before postInstall (so that
- 'modprobe
- vfat' can be done in postInstallNonRooted and used in postInstall)
- - move the loadO of patch/defcfg after loading modules.dep
- - generateAutoInstFloppy is no more a step
- - removed use Data::Dumper
-
-2001/02/21 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * share/rpmsrate: Add iputils to SYSTEM.
-
-2001/02/21 dam's <damien@mandrakesoft.com>
-
- * docs/wizard.doc: putain de doc de merde pout petite qui est trop dbile
-
- * interactive.pm, my_gtk.pm: corrected wizard mode.
-
-2001/02/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/TECH-INFOS: sync doc with disk automatic installs
-
- * mdk-stage1/disk.c: add support for automatic (ex-kickstart) in disk
- installs
-
-2001/02/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2001/02/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (generateAutoInstFloppy): removed
-
- * install_any.pm (g_auto_install): use selected_leaves for
- default_packages to reduce the
- list of packages (aka cleanup auto_inst.cfg)
- (g_default_packages): created
-
- * install_steps_interactive.pm (exitInstall): add generateAutoInstFloppy
- and g_default_packages calls in
- advanced
-
- * netconnect.pm, partition_table.pm, fsedit.pm: cleanup Data::Dumper use
-
- * pkgs.pm (selected_leaves): created
-
- * install2.pm (main): do postInstallNonRooted before postInstall (so that
- 'modprobe
- vfat' can be done in postInstallNonRooted and used in postInstall)
- - move the loadO of patch/defcfg after loading modules.dep
- - generateAutoInstFloppy is no more a step
- - removed use Data::Dumper
-
-2001/02/20 Pixel <pixel@mandrakesoft.com>
-
- * printerdrake.pm: fix typo
-
- * install_steps.pm, install_steps_gtk.pm, install_any.pm: better
- advertising support
-
-2001/02/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/url.h, mdk-stage1/url.c, mdk-stage1/network.c: for HTTP
- installs, make use of Content-Length when available, to display
- progressbar
-
-2001/02/20 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: various
- - pcmcia_config.patch now in tools (no more in install which is
- removed)
- - copy xpm's (until step icons work with png's)
- - transform group icons in pngs
-
- * modules.pm, class_discard.pm, my_gtk.pm, Xconfigurator.pm: various
-
- * tools/pcmcia_config.patch: pcmcia_config.patch now here
-
- * printerdrake.pm: fix typo
-
- * install_any.pm, install_steps.pm, install_steps_gtk.pm: better
- advertising support
-
-2001/02/20 warly
-
- * share/compssUsers, share/rpmsrate, share/compssList: update rpmsrate
-
-2001/02/20 Franois Pons <fpons@mandrakesoft.com>
-
- * c/stuff.xs.pm, live_install, pkgs.pm, live_install2: added RPMRC_FILE
- env variable to choose rpmrc file for rpmlib used
- by DrakX, neccessary for live update from a 7.2 or older.
- Check that if something goes wrong with rebuilddb, avoid removing
- old rpm-3 db files.
- Make sure live_install can start from top directory too.
-
-2001/02/20 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: various
- - pcmcia_config.patch now in tools (no more in install which is
- removed)
- - copy xpm's (until step icons work with png's)
- - transform group icons in pngs
-
- * modules.pm, class_discard.pm: various
-
- * tools/pcmcia_config.patch: pcmcia_config.patch now here
-
- * my_gtk.pm, Xconfigurator.pm: various
- major move. now ask_from_list returns false when canceled (it doesn't
- die 'ask_from_list canceled' anymore)
-
- * interactive_gtk.pm, standalone/mousedrake, install_steps_interactive.pm,
- netconnect.pm, standalone/keyboarddrake, install2.pm, interactive.pm,
- any.pm, printerdrake.pm, diskdrake.pm: major move. now ask_from_list
- returns false when canceled (it doesn't die 'ask_from_list canceled'
- anymore)
-
-2001/02/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c: try to print errno's stuff when symlink to
- /tmp/stage2 failed
-
- * mdk-stage1/dhcp.c: ARP_MAX_RETRIES: s/5/4
-
-2001/02/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated Estonian file
-
-2001/02/19 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_listf_no_check): die 'ask_from_list cancel' on
- cancel
-
- * my_gtk.pm (create_packtable): don't use attach_raw anymore (was a
- sillyme)
-
-2001/02/18 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: typo
- make fbastok happy about button placement.
- little improvements.
-
-2001/02/16 dam's <damien@mandrakesoft.com>
-
- * install_gtk.pm: corrected xpm mask
-
- * network.pm: wireless eth support corrected.
-
- * share/step-red.xpm, share/step-orange.xpm, share/step-orange-click.xpm,
- share/step-green-click.xpm, share/step-green.xpm, share/step-red-on.xpm,
- share/step-orange-on.xpm, share/step-green-on.xpm,
- share/step-red-click.xpm: re added these xpm files against display mask
- pb.
-
-2001/02/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: better ansi colors
-
- * mdk-stage1/dhcp.c: comply with glibc-2.2.2 more strict headers
-
- * mdk-stage1/stdio-frontend.c: display more nicely when there is a long
- list to choose from (1, 2 or 4 columns)
-
-2001/02/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/TECH-INFOS, mdk-stage1/README: update doc
-
-2001/02/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: updated Azeri file
-
-2001/02/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): fix i_images
-
- * fsedit.pm (suggestions_mntpoint): fix
-
-2001/02/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): fix i_images
- (installPackages): traktolpilization and advertising
-
- * Makefile (get_needed_files): copy png files instead of xpm's
-
- * fsedit.pm (suggestions_mntpoint): fix
-
- * my_gtk.pm (gtkcreate_png): add error message, syntax cleanup
-
- * share/list: add GdkImlib stuff
-
- * perl2fcalls: add Gtk::Gdk::ImlibImage
-
- * install2.pm (main): set SHARE_PATH to /export/Mandrake/mdkinst/usr/share
- if it exists
-
-2001/02/15 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm, any.pm, install_gtk.pm, install_steps_interactive.pm,
- install_steps_gtk.pm, interactive_gtk.pm: added png support. Need to
- test the faces2xpm stuff.
-
- * share/step-orange-click.xpm, share/rpm-selected.xpm,
- share/step-green-click.xpm, share/step-green.xpm, share/rpm-base.xpm,
- share/ftin.xpm, share/step-orange-on.xpm, share/ftout.xpm,
- share/step-red-click.xpm, share/step-green-on.xpm,
- share/rpm-unselected.xpm, share/step-red.xpm, share/step-orange.xpm,
- share/reload.xpm, share/rpm-semiselected.xpm,
- share/logo-mandrake-Desktop.xpm, share/rpm-installed.xpm,
- share/step-red-on.xpm: removed, png are used instead.
-
- * standalone/draknet: updated internet and added eth conf
-
- * share/help.xpm, share/logo-mandrake.xpm: removed, png are used instead.
- added png images
-
- * share/step-red.png, share/step-orange.png, share/reload.png,
- share/logo-mandrake.png, share/rpm-semiselected.png,
- share/logo-mandrake-Desktop.png, share/rpm-installed.png,
- share/logo-mandrake_sav.png, share/step-red-on.png, share/help_sav.png,
- share/rpm-selected.png, share/step-orange-click.png,
- share/step-green-click.png, share/step-green.png, share/rpm-base.png,
- share/logo-mandrake2.png, share/ftin.png, share/help.png,
- share/step-orange-on.png, share/step-green-on.png, share/ftout.png,
- share/step-red-click.png, share/step-green_s.png, share/themes-mdk.rc,
- share/rpm-unselected.png: added png images
-
-2001/02/15 Pixel <pixel@mandrakesoft.com>
-
- * Makefile (get_needed_files): copy png files instead of xpm's
-
- * install2.pm (main): set SHARE_PATH to /export/Mandrake/mdkinst/usr/share
- if it exists
- (selectKeyboard): give clicked as parameter
-
- * my_gtk.pm (gtkcreate_png): add error message, syntax cleanup
-
- * fsedit.pm (suggestions_mntpoint): fix typo
-
- * share/list: add GdkImlib stuff
-
- * perl2fcalls: add Gtk::Gdk::ImlibImage
-
- * install_steps_interactive.pm (summary): better message for i18n
-
- * install_steps_gtk.pm (installPackages): traktolpilization and
- advertising
-
-2001/02/14 dam's <damien@mandrakesoft.com>
-
- * network.pm, standalone/draknet: wireless updated
-
- * share/help.xpm, share/themes-mdk.rc, share/logo-mandrake.xpm: valentin
- theme :)
-
-2001/02/14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): add user in group usb
-
-2001/02/14 dam's <damien@mandrakesoft.com>
-
- * share/themes-mdk.rc: valentin theme :)
- added drawing theme section
-
- * network.pm: wireless updated
- updated wireless eth support
-
- * standalone/draknet: wireless updated
-
- * share/help.xpm, share/logo-mandrake.xpm: valentin theme :)
-
-2001/02/13 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: network con initiated in draknet.
- netconnect improvement.
- typo
-
- * network.pm: typo
- corrected domainname setting
-
- * standalone/draknet: network con initiated in draknet.
- netconnect improvement.
-
-2001/02/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/frontend.h, mdk-stage1/network.h,
- mdk-stage1/stdio-frontend.c, mdk-stage1/dhcp.c, mdk-stage1/automatic.c,
- mdk-stage1/newt-frontend.c, mdk-stage1/automatic.h, mdk-stage1/disk.c,
- mdk-stage1/network.c: write down Magic Callback (tm) for static ip stuff
-
- * mdk-stage1/modules.c: ask for modules parameters everytime in expert
- mode, to avoid wrong autodetections in certain cases
- - better log of nfs mount errors
- - don't insmod modules already present (important for bzip2 slowness)
-
- * mdk-stage1/cdrom.c: better error msg thx to mcdtg
-
- * mdk-stage1/mount.c, mdk-stage1/nfsmount.c:
- - better log of nfs mount errors
- - don't insmod modules already present (important for bzip2 slowness)
-
- * mdk-stage1/stage1.c, mdk-stage1/init.c: use exit code 66 for rescue
- better console messages at startup
-
-2001/02/13 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: profile handling updated
-
- * network.pm: typo
- corrected domainname setting
-
- * netconnect.pm: finished load_conf
-
-2001/02/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/make_rescue_img, rescue/list: include libs for hostname resolving
-
- * mdk-stage1/stage1.c, mdk-stage1/init.c: better console messages at
- startup
-
- * mdk-stage1/tools.c:
- - save /etc/resolv.conf for rescue
-
-2001/02/13 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectKeyboard): can be automatic only in
- non-expert
-
- * any.pm: md5 now done via crypt
-
- * install_steps.pm (exitInstall): catch exception of output report.bug
- (for gc)
-
-2001/02/13 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectKeyboard): can be automatic only in
- non-expert
-
- * tools/cvslog2changelog.pl: fix for gc & fpons
- fix for fredl broken CVS
-
- * any.pm: md5 now done via crypt
-
- * install_steps.pm (exitInstall): catch exception of output report.bug
- (for gc)
-
-2001/02/13 dam's <damien@mandrakesoft.com>
-
- * network.pm: experimental wireless eth support. Not tested
-
-2001/02/13 Pixel <pixel@mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: fix for gc & fpons
- fix for fredl broken CVS
-
- * c/stuff.xs.pm, c/Makefile.PL, c/md5.h, c/md5_crypt.c, c/md5.c: md5 can
- be done via crypt of glibc, so remove all this
-
-2001/02/13 dam's <damien@mandrakesoft.com>
-
- * any.pm: merging difference
-
- * netconnect.pm: corrected profile handling
-
- * network.pm: experimental wireless eth support. Not tested
-
-2001/02/12 Pixel <pixel@mandrakesoft.com>
-
- * tools/addchangelog.pl: log more than mdk-stage1 and perl-install (added
- docs, rescue, tools)
-
-2001/02/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/probing.c: do not close un unbound socket!!
-
- * c/stuff.xs.pm: close socket everytime in hasNetDevice
-
- * mdk-stage1/Makefile: tag it 8.0beta instead of 8.0, to avoid future
- potential confusions
-
- * modules.pm: re include some network modules
-
-2001/02/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/list: fix vi trouble
- - add lspci, lspcidrake, vim-minimal
- - better /etc/issue
- - better PS1
- - write embryonic tool (installation of detected drivers according to
- pci cards)
-
- * rescue/aliases, rescue/tree/etc/issue: fix vi trouble
-
- * rescue/list.i386, rescue/make_rescue_img, rescue/drvinst:
- - add lspci, lspcidrake, vim-minimal
- - better /etc/issue
- - better PS1
- - write embryonic tool (installation of detected drivers according to
- pci cards)
-
-2001/02/12 Pixel <pixel@mandrakesoft.com>
-
- * rescue/drvinst: pixelization
-
- * docs/README: fix doc about Mandrake/base/compss
-
- * install_steps_gtk.pm (choosePackagesTree): non first choice packages are
- in "Other".
-
- * install_interactive.pm, any.pm, fsedit.pm, diskdrake.pm: auto_allocate
- partitions choice modified. diskdrake in expert asks what kind
- of auto_allocation is wanted, others choose 'simple' in
- %fsedit::suggestions
-
- * install2.pm: auto_allocate partitions choice modified. diskdrake in
- expert asks what kind
- of auto_allocation is wanted, others choose 'simple' in
- %fsedit::suggestions
- (main): gc has done it again! /tmp/conf.modules is now
- /etc/modules.conf,
- so load both to keep compatibility.
-
- * my_gtk.pm: cleanup (remove ask_from_list and _ask_from_list)
-
- * interactive_gtk.pm (ask_from_entries_refW): use
- $common->{advanced_label}
- (create_ctree): add keyboard shortcuts
- (create_clist): moveto only if row_is_visible
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): advanced_label
- defaults to
- _("Advanced")
-
- * tools/addchangelog.pl: log more than mdk-stage1 and perl-install (added
- docs, rescue, tools)
-
- * install_steps_interactive.pm (configurePrinter): cleanup,
- pkg_install_if_requires_satisfied('xpp',
- 'kups') only if a printer is configured (for the case when _("Would you
- like to configure a printer?") is answered no)
-
- * rescue/tree/etc/rc.sysinit: add floppy module for 2.4
-
-2001/02/10 Pixel <pixel@mandrakesoft.com>
-
- * standalone/draknet, standalone/XFdrake: corrected pkgs_install given
-
- * install_any.pm: add preConfigureTimezone
- add step summary. remove steps configureTimezone and configurePrinter
-
- * install_interactive.pm: cleanup
-
- * standalone/keyboarddrake, share/keymaps_generate, keyboard.pm:
- - lang2keyboards handle keyboard percentages
- - xmodmaps now named keyboards
-
- * install_steps_interactive.pm: add step summary. remove steps
- configureTimezone and configurePrinter, modify selectKeyboard
-
- * install2.pm, timezone.pm, install_steps.pm: add step summary. remove
- steps configureTimezone and configurePrinter
-
- * netconnect.pm: corrected back $install call
-
-2001/02/10 Pixel <pixel@mandrakesoft.com>
-
- * standalone/keyboarddrake, share/keymaps_generate, keyboard.pm:
- - lang2keyboards handle keyboard percentages
- - xmodmaps now named keyboards
-
- * install_steps_interactive.pm: add step summary. remove steps
- configureTimezone and configurePrinter, modify selectKeyboard
-
- * standalone/draknet, standalone/XFdrake: corrected pkgs_install given
-
- * install_any.pm: add preConfigureTimezone
- add step summary. remove steps configureTimezone and configurePrinter
-
- * install2.pm, timezone.pm, install_steps.pm: add step summary. remove
- steps configureTimezone and configurePrinter
-
- * install_interactive.pm: cleanup
-
- * netconnect.pm: corrected back $install call
-
-2001/02/09 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm, install2.pm,
- timezone.pm: configureTimezone doesn't take parameter
- /etc/sysconfig/clock
-
-2001/02/09 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm, interactive.pm, interactive_newt.pm: add button
- handling, quite weird behaviour though cuz of newt sillyness
-
- * install2.pm: configureTimezone doesn't take parameter
- /etc/sysconfig/clock
- (main): have compatibility with old stage1 (rhimage -> image)
- (formatPartitions):
- s|etc/sysconfig/consoletrans|etc/sysconfig/console/consoletrans|
- as it should now be (see lang.pm 1.143)
-
- * install_steps.pm, install_steps_interactive.pm, timezone.pm:
- configureTimezone doesn't take parameter /etc/sysconfig/clock
-
-2001/02/09 siegel
-
- * share/po/de.po: new german version
-
-2001/02/08 dam's <damien@mandrakesoft.com>
-
- * standalone/drakgw: implemented or updated embedded mode
- added embedded and (ugly) wizard mode.
-
- * standalone/printerdrake, standalone/mousedrake, standalone/diskdrake,
- standalone/keyboarddrake: implemented or updated embedded mode
-
- * standalone/draknet: implemented or updated embedded mode
- added embedded mode
-
- * standalone/XFdrake: implemented or updated embedded mode
- corrected compilation bug.
-
- * standalone/drakboot: implemented or updated embedded mode
- updated embedded mode. Should work, not tested in real world
-
- * netconnect.pm: removed testing wizard instruction
-
-2001/02/08 Franois Pons <fpons@mandrakesoft.com>
-
- * ftp.pm: fixed wrong URLPREFIX formation if no user given.
-
- * standalone/XFdrake: fix the previous changelog wich was wrong (bad
- spelling),
- added a char in comment to allow a new release (thanks to pixel :-)
- make sure SHARE_PATH is set.
- fixed SHARE_PATH to make sure it is setted.
-
- * Xconfigurator.pm: added DRI experimental support (sis, radeon). Prefer
- XF3 for SiS card.
-
- * pkgs.pm: fixed problem for updating hdlist after going back to partition
- step.
-
-2001/02/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/tools.c, mdk-stage1/config-stage1.h, mdk-stage1/network.c:
- better memory detection (from wonderful drakx)
-
-2001/02/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated Norwegian file
-
-2001/02/08 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (availableRamMB): cleanup
-
- * standalone.pm, standalone/XFdrake: make sure SHARE_PATH is set now in
- standalone
-
-2001/02/07 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed unknown package ARRAY... and locales selection
- according to langs.
-
- * modules.pm: fixed module name without text for SCSI configuration
- dialog, add log.
-
-2001/02/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/probing.h, mdk-stage1/stage1.h,
- mdk-stage1/tools.c, mdk-stage1/automatic.c, mdk-stage1/init.c,
- mdk-stage1/probing.c, mdk-stage1/automatic.h, mdk-stage1/modules.c,
- mdk-stage1/network.c:
- - use description of network cards when you have to select between
- interfaces; has accuracy even in the case of multiple interface for a
- given kernel module
- - write down a small "shell" to change parameters on the fly (needs
- compile option SPAWN_INTERACTIVE)
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): better fix for getting
- max install size.
- (choosePackages): call setSelectedFromCompssList with empty
- compssUsersChoice meaning max
-
- * common.pm (formatXiB): more precise for cases like 1_234_000 -> 1.2GB
-
-2001/02/07 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed unknown package ARRAY... and locales selection
- according to langs.
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): better fix for getting
- max install size.
- (choosePackages): call setSelectedFromCompssList with empty
- compssUsersChoice meaning max
-
- * common.pm (formatXiB): more precise for cases like 1_234_000 -> 1.2GB
-
-2001/02/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: tag VERSION as 8.0 since stage2 graphics now show
- 8.0
-
- * mdk-stage1/network.c: don't reverse hostname lookup if dhcp already gave
- hostname+domain
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * share/logo-mandrake.xpm: xpm files should be xpm, not pngs :-(
-
- * detect_devices.pm (hasPCMCIA): created (check for /proc/pcmcia)
-
- * install_steps_interactive.pm (miscellaneous): remove asking about
- numlock and hd optimizations,
- deprecates it (aka don't do anything)
-
- * Xconfigurator.pm (main): don't need isLaptop anymore, use
- detect_devices::hasPCMCIA
-
- * bootloader.pm (suggest): read CLEAN_TMP from sysconfig/system, default
- value of memsize
- if given
- (install): save CLEAN_TMP in sysconfig/system
- (get_append, add_append): get or set an append value
- (has_profiles, set_profiles): get or add an entry office for profiles,
- also add prof=Home in
- the default entry
-
- * any.pm (setupBootloader): take care of profiles and memsize
- (facesnames): only display icons capitalized. This goes along the new
- mandrake_desk where capitalized named faces are the new one. [a-z].*
- icons
- being only kept for compatibility. (in case no capitalized icons
- available
- display everything (compatibility with old mandrake_desk)
-
- * standalone/draknet, standalone/XFdrake: don't pass isLaptop
-
- * install_steps.pm (setupBootloaderBefore, miscellaneousBefore): remove
- taking care of
- profiles and memsize. Now in any & bootloader
- (miscellaneousBefore): CLEAN_TMP is now in $o->{bootloader}, not in
- $o->{miscellaneous} anymore
-
- * install_gtk.pm (create_help_window, create_logo_window): use gtkxpm
-
- * netconnect.pm: remove the $isLaptop unused from a hell lot of functions
-
- * install2.pm (@installSteps): remove miscellaneous
- (main): don't remove pcmcia modules anymore (not there anymore), remove
- /sbin/stage1
-
-2001/02/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: tag VERSION as 8.0 since stage2 graphics now show
- 8.0
-
- * mdk-stage1/network.c: don't reverse hostname lookup if dhcp already gave
- hostname+domain
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * share/logo-mandrake.xpm: xpm files should be xpm, not pngs :-(
-
- * detect_devices.pm (hasPCMCIA): created (check for /proc/pcmcia)
-
- * install_steps_interactive.pm (miscellaneous): remove asking about
- numlock and hd optimizations,
- deprecates it (aka don't do anything)
-
- * Xconfigurator.pm (main): don't need isLaptop anymore, use
- detect_devices::hasPCMCIA
-
- * bootloader.pm (suggest): read CLEAN_TMP from sysconfig/system, default
- value of memsize
- if given
- (install): save CLEAN_TMP in sysconfig/system
- (get_append, add_append): get or set an append value
- (has_profiles, set_profiles): get or add an entry office for profiles,
- also add prof=Home in
- the default entry
-
- * any.pm (setupBootloader): take care of profiles and memsize
- (facesnames): only display icons capitalized. This goes along the new
- mandrake_desk where capitalized named faces are the new one. [a-z].*
- icons
- being only kept for compatibility. (in case no capitalized icons
- available
- display everything (compatibility with old mandrake_desk)
-
- * standalone/draknet, standalone/XFdrake: don't pass isLaptop
-
- * install_steps.pm (setupBootloaderBefore, miscellaneousBefore): remove
- taking care of
- profiles and memsize. Now in any & bootloader
- (miscellaneousBefore): CLEAN_TMP is now in $o->{bootloader}, not in
- $o->{miscellaneous} anymore
-
- * install_gtk.pm (create_help_window, create_logo_window): use gtkxpm
-
- * netconnect.pm: remove the $isLaptop unused from a hell lot of functions
-
- * install2.pm (@installSteps): remove miscellaneous
- (main): don't remove pcmcia modules anymore (not there anymore), remove
- /sbin/stage1
-
-2001/02/07 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * share/rpmsrate: Add usbd to SYSTEM.
-
-2001/02/07 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: updated wizard mode, intro and other stuff
-
- * interactive_gtk.pm, interactive.pm, my_gtk.pm: updated wizard mode
-
- * share/logo-mandrake.xpm: new logo
-
-2001/02/07 Franois Pons <fpons@mandrakesoft.com>
-
- * http.pm, ftp.pm, pkgs.pm: now fully fixed ftp connection (and http too)
- caused by forked DrakX
- with latent ftp connection.
-
-2001/02/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: tag VERSION as 8.0 since stage2 graphics now show
- 8.0
-
- * mdk-stage1/network.c: don't reverse hostname lookup if dhcp already gave
- hostname+domain
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * share/logo-mandrake.xpm: xpm files should be xpm, not pngs :-(
-
- * detect_devices.pm (hasPCMCIA): created (check for /proc/pcmcia)
-
- * install_steps_interactive.pm (miscellaneous): remove asking about
- numlock and hd optimizations,
- deprecates it (aka don't do anything)
-
- * Xconfigurator.pm (main): don't need isLaptop anymore, use
- detect_devices::hasPCMCIA
-
- * bootloader.pm (suggest): read CLEAN_TMP from sysconfig/system, default
- value of memsize
- if given
- (install): save CLEAN_TMP in sysconfig/system
- (get_append, add_append): get or set an append value
- (has_profiles, set_profiles): get or add an entry office for profiles,
- also add prof=Home in
- the default entry
-
- * any.pm (setupBootloader): take care of profiles and memsize
- (facesnames): only display icons capitalized. This goes along the new
- mandrake_desk where capitalized named faces are the new one. [a-z].*
- icons
- being only kept for compatibility. (in case no capitalized icons
- available
- display everything (compatibility with old mandrake_desk)
-
- * standalone/draknet, standalone/XFdrake: don't pass isLaptop
-
- * install_steps.pm (setupBootloaderBefore, miscellaneousBefore): remove
- taking care of
- profiles and memsize. Now in any & bootloader
- (miscellaneousBefore): CLEAN_TMP is now in $o->{bootloader}, not in
- $o->{miscellaneous} anymore
-
- * install_gtk.pm (create_help_window, create_logo_window): use gtkxpm
-
- * netconnect.pm: remove the $isLaptop unused from a hell lot of functions
-
- * install2.pm (@installSteps): remove miscellaneous
- (main): don't remove pcmcia modules anymore (not there anymore), remove
- /sbin/stage1
-
-2001/02/07 siegel
-
- * share/po/de.po: new german version
-
-2001/02/06 Franois Pons <fpons@mandrakesoft.com>
-
- * ftp.pm: reworked ftp behaviour a bit for cooperative connection (avoid
- opening
- and closing connection too fast for each transaction). There seems
- to be some problem for retrieving twice a package, this cause huge pause
- between each transaction, the best is to avoid them so ?
-
-2001/02/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/tools.c, mdk-stage1/stdio-frontend.c, mdk-stage1/stage1.c,
- mdk-stage1/init.c, mdk-stage1/newt-frontend.c, mdk-stage1/network.c,
- mdk-stage1/modules.c, mdk-stage1/disk.c:
- - slighty change the message when exiting successfully from install,
- to not mess with abnormal termination
- - get back dialog for hostname and domain in case of unable to guess
- domain
- - try to resolve DNS if self-ip can't resolve, to guess domain
- - remember entries so that when there is a problem you don't have to
- re-enter everything (ncurses sucking stuff in case of stdio-frontend..)
- - use larger buffer for list_directory since in /dev there can be
- *many* files
-
-2001/02/05 dam's <damien@mandrakesoft.com>
-
- * Makefile.drakxtools, Makefile: added wizard.rc handling in Makfiles.
-
- * standalone/draknet: added infos recovering.
-
- * netconnect.pm: added load_conf() to recover saved infos from conffile.
-
-2001/02/05 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: removed abusive white char.
- updated to use urpmi new format (change fakemedium to better label)
- fixed frame buffer usage if not enabled (installation of Aurora)
- clean up and remove unused code.
-
- * ftp.pm: rebuild URLPREFIX as stage1 does not provide it anymore.
-
- * pkgs.pm: updated to use urpmi new format (change fakemedium to better
- label)
-
- * Xconfigurator.pm: Removed Device3Dfx as it is no more.
-
- * install_steps.pm: fixed frame buffer usage if not enabled (installation
- of Aurora)
- clean up and remove unused code.
-
-2001/02/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/list: updated list of gconv modules
-
-2001/02/05 Pixel <pixel@mandrakesoft.com>
-
- * commands.pm (head_tail): fix usage
-
- * interactive_gtk.pm (create_ctree): node_moveto done only if
- node_is_visible is not full
-
-2001/02/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/mar/mar-frontend.c: fix bug when creating marfiles with
- file-not-found in args
-
-2001/02/04 Pixel <pixel@mandrakesoft.com>
-
- * interactive_newt.pm: fix adaptation to the terminal size, should now
- work in 80x25
-
- * Xconfigurator.pm (monitorConfiguration): better handling of auto_install
-
- * install_steps_interactive.pm (choosePackages): don't call
- chooseSizeToInstall even with experts
-
- * install_steps_gtk.pm (charsetChanged): re-create steps window
-
-2001/02/03 dam's <damien@mandrakesoft.com>
-
- * modules.pm, standalone/draknet, netconnect.pm: corrected module.conf
- update, net conf saving, and no wizard by default.
-
-2001/02/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2001/02/03 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): ease use of {X}{type} in
- auto_installs
-
- * install_steps_gtk.pm (charsetChanged): created, takes care of setting to
- the right charset the windows
-
- * install_steps_interactive.pm (selectLanguage): call charsetChanged
-
- * share/rpmsrate: fix ``LOCALES "zh_CN"'' with ``LOCALES"zh_CN"''
- move ftp to SYSTEM so that it is installed
-
- * Makefile: install cardmgr
-
- * modules.pm (configure_pcmcia): cleanup
-
-2001/02/03 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): ease use of {X}{type} in
- auto_installs
-
- * install_steps_gtk.pm (charsetChanged): created, takes care of setting to
- the right charset the windows
-
- * install_steps_interactive.pm (selectLanguage): call charsetChanged
-
- * share/rpmsrate: fix ``LOCALES "zh_CN"'' with ``LOCALES"zh_CN"''
- move ftp to SYSTEM so that it is installed
-
- * Makefile: install cardmgr
-
- * modules.pm (configure_pcmcia): cleanup
-
-2001/02/02 dam's <damien@mandrakesoft.com>
-
- * share/wizard.rc: added rc file for wizard mode
-
-2001/02/02 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): better default for DDC probe
- fails and
- auto_install and not provided any info about the monitor
-
- * my_gtk.pm (gtkcreate_xpm): error handling with error message
-
- * share/rpmsrate: all GNOME and KDE moved out of GRAPHICAL_DESKTOP
-
- * install_steps.pm (configureXBefore): set XKB_IN_USE=no if !$has_xkb in
- /etc/sysconfig/i18n
-
- * mdk-stage1/disk.c (try_with_device): bloody guillaume changed
- /tmp/hdimage to /tmp/disk without even
- telling, changing it back as i don't see any good reason for the move.
-
- * install_any.pm (setPackages): in auto_installs, default to all groups
- chosen, unless
- compssUsersChoice exist. Won't change anything unless compssListLevel is
- used of course
-
- * Xconfigurator_consts.pm: add low_default_monitor for default of
- auto_installs
-
- * interactive_gtk.pm (ask_from_entries_refW): use gtkxpm
-
- * Makefile, partition_table.pm, pkgs.pm, partition_table_raw.pm,
- diskdrake.pm: using the new formatXiB
-
- * detect_devices.pm (getCompaqSmartArray): adapted getCompaqSmartArray to
- the fact that kernel
- 2.4 uses /proc/driver/array instead of /proc/array. Also adapted the
- regexp now that ida/c0d0p? is no more at the beginning of the line.
- (get): cleanup, remove hasIDE hasSCSI...
-
- * common.pm (formatXiB): created, format a number in human readable format
-
-2001/02/02 Pixel <pixel@mandrakesoft.com>
-
- * mdk-stage1/disk.c (try_with_device): bloody guillaume changed
- /tmp/hdimage to /tmp/disk without even
- telling, changing it back as i don't see any good reason for the move.
-
-2001/02/02 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm, standalone/draknet, netconnect.pm, my_gtk.pm,
- standalone/diskdrake: recoded wizard mode
- corrected some stuff.
- trying not to break draknet for cooker snapshot
-
-2001/02/02 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): better default for DDC probe
- fails and
- auto_install and not provided any info about the monitor
-
- * install_any.pm (setPackages): in auto_installs, default to all groups
- chosen, unless
- compssUsersChoice exist. Won't change anything unless compssListLevel is
- used of course
-
- * share/locales.tar.bz2: yet another LC_NUMERIC, seems like the previous i
- chose was glibc-2.1 :-(
- this one en_US and seems all right!
-
- * Xconfigurator_consts.pm: add low_default_monitor for default of
- auto_installs
-
- * Makefile, partition_table.pm, pkgs.pm, partition_table_raw.pm,
- diskdrake.pm: using the new formatXiB
-
- * install_steps.pm (configureXBefore): set XKB_IN_USE=no if !$has_xkb in
- /etc/sysconfig/i18n
-
- * common.pm (formatXiB): created, format a number in human readable format
-
- * mdk-stage1/disk.c (try_with_device): bloody guillaume changed
- /tmp/hdimage to /tmp/disk without even
- telling, changing it back as i don't see any good reason for the move.
-
-2001/02/01 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: new draknet snapshot. Still unuseable
-
- * interactive_gtk.pm, netconnect.pm, my_gtk.pm: updated embedded mode in
- install.
-
-2001/01/31 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: corected translation and conflict.
-
-2001/01/31 Franois Pons <fpons@mandrakesoft.com>
-
- * modules.pm: added missing die if modprobe failed on live upgrade.
-
- * pkgs.pm: added rpmrebuilddb directory cleaning before, remove old rpm
- file
- if everything has been successfull.
-
- * install_steps.pm: changed to clean selection for non expert as used for
- group selection
- because it is not cleaned, need better solution TODO.
-
-2001/01/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
- * standalone/draknet: Fixed English typos (in English you DON'T PUT SPACES
- BEFORE COLON (:);
- and it is "Profile" and not "Profil")
- CV:
- ----------------------------------------------------------------------
-
-2001/01/31 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackagesTree): created, simple
- ask_many_from_list to choose
- individual packages
- (choosePackages): log for debug
- (choosePackages): don't ask to install in beginner. Max is chosen
- (setRootPassword): help not based on installClass being server or not
- (selectInstallClass): remove installClass choice (was
- normal/devel/server)
- (chooseGroups): fix for individual package selection flag
-
- * netconnect.pm (get_net_device): more cleanup syntax
- (get_net_device): cleanup syntax
-
- * install_steps.pm (selectLanguage): warning for debug
- (miscellaneousBefore): don't use installClass to decide to use
- supermount
- or not. Choice is done on $::corporate. Can't say "no supermount in
- server
- installs" anymore
- (selectInstallClass): emptied
- (setupSCSI): don't configure PCMCIA if there is no PCMCIA
-
- * install_any.pm (g_auto_install): installClass removed
- (setPackages): do not preselect compssUsers entries
-
- * install2.pm (main): don't set installClass=normal meta_class desktop
- (deprecated)
- (miscellaneous): TYPE= removed (was installClass)
- (selectInstallClass): don't set $o->{partitions}. diskdrake will have to
- ask in a set of possibilities
- ($o): replace fclass by fbeginner and fexpert
- ($o): default security level to 2 since it can't be based on
- installClass (deprecated)
-
- * install_steps_gtk.pm: restore window size for time being
-
- * pkgs.pm (psUpdateHdlistsDeps): also copy rpmsrate
-
- * Xconfigurator.pm (main): better error message for auto_install failing
-
- * interactive.pm (ask_many_from_list): fix sorting
-
- * any.pm (set_autologin): log to ensure AUTOLOGIN is not badly set by
- drakx. Still
- need finding the guilty
-
-2001/01/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: more kbd corrections
- fixed soem keybopard values
-
-2001/01/31 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackagesTree): created, simple
- ask_many_from_list to choose
- individual packages
- (choosePackages): log for debug
- (choosePackages): don't ask to install in beginner. Max is chosen
- (setRootPassword): help not based on installClass being server or not
- (selectInstallClass): remove installClass choice (was
- normal/devel/server)
- (chooseGroups): fix for individual package selection flag
-
- * install_steps.pm (selectLanguage): warning for debug
- (miscellaneousBefore): don't use installClass to decide to use
- supermount
- or not. Choice is done on $::corporate. Can't say "no supermount in
- server
- installs" anymore
- (selectInstallClass): emptied
- (setupSCSI): don't configure PCMCIA if there is no PCMCIA
-
- * install_any.pm (g_auto_install): installClass removed
- (setPackages): do not preselect compssUsers entries
-
- * install2.pm (main): don't set installClass=normal meta_class desktop
- (deprecated)
- (miscellaneous): TYPE= removed (was installClass)
- (selectInstallClass): don't set $o->{partitions}. diskdrake will have to
- ask in a set of possibilities
- ($o): replace fclass by fbeginner and fexpert
- ($o): default security level to 2 since it can't be based on
- installClass (deprecated)
-
- * install_steps_gtk.pm: restore window size for time being
-
- * pkgs.pm (psUpdateHdlistsDeps): also copy rpmsrate
-
- * Xconfigurator.pm (main): better error message for auto_install failing
-
- * interactive.pm (ask_many_from_list): fix sorting
-
- * any.pm (set_autologin): log to ensure AUTOLOGIN is not badly set by
- drakx. Still
- need finding the guilty
-
-2001/01/30 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: new draknet. unstable
-
- * netconnect.pm: updated
- debugged network card configuration after pixelisation.
-
-2001/01/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stdio-frontend.c, mdk-stage1/newt-frontend.c: prevent from
- trying to set progressbar to more than 100% (rescue is more compressed
- than drakx)
-
- * share/rpmsrate: add ldetect to config stuff I want to have on all
- installs (lspcidrake)
-
-2001/01/30 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm, netconnect.pm, install_interactive.pm:
- adapt format functions given to ask_from_listf. $_ is no more set
-
- * mouse.pm (detect): replace commands::modprobe by modules::load as it
- should (or??)
-
- * perl2etags: adapt to new etags (emacs 21) format
-
- * raid.pm (make): replace commands::modprobe by modules::load as it should
- (or??)
-
- * perl2fcalls (@exclude_calls): add Eth as dam's use it quite a lot in his
- regexps
-
- * share/locales.tar.bz2: misc/LC_NUMERIC tells to use "," as number
- separator instead of ".".
- The sheer result is:
- "0.6" * 10 gives 0
- "0,6" * 10 gives 6
-
- So i have overwritten misc/LC_NUMERIC with
- /usr/share/locale/en/LC_NUMERIC and
- it works nicely now :)
-
-2001/01/29 dam's <damien@mandrakesoft.com>
-
- * standalone/drakboot: corrected typo
-
-2001/01/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm:
- - deprecate "hdreiser.img" since we have room for "reiserfs.o" in
- "hd.img"
- - following deprecation of "other.img", reintegrate big modules in
- relevant boot disks
-
-2001/01/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, share/po/et.po: updated Estonian file
-
-2001/01/29 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (getCompaqSmartArray): /proc/array/ida0 can contain
- more than one ida/c0d0p*
-
-2001/01/28 dam's <damien@mandrakesoft.com>
-
- * share/help.xpm, network.pm, ChangeLog, netconnect.pm: updated
-
-2001/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): fixed horrible
- bug causing reiserfs partitions
- not to be displayed/asked for formatting. The default value being used.
-
- * any.pm (get_autologin): adapt to new format of sysconfig/desktop
-
-2001/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): fixed horrible
- bug causing reiserfs partitions
- not to be displayed/asked for formatting. The default value being used.
-
- * any.pm (get_autologin): adapt to new format of sysconfig/desktop
-
-2001/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): fixed horrible
- bug causing reiserfs partitions
- not to be displayed/asked for formatting. The default value being used.
-
- * any.pm (get_autologin): adapt to new format of sysconfig/desktop
-
-2001/01/28 siegel
-
- * share/po/de.po: new german version
-
-2001/01/26 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: updated embedded mode
-
- * standalone/drakboot: added embedded mode
-
-2001/01/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/include/stdio.h: adjust include files to compile
- bzlib
-
- * mdk-stage1/stage1.c: restore passing of pcmcia info to stage2
-
- * mdk-stage1/bzlib/compress.c, mdk-stage1/bzlib/bzlib.c,
- mdk-stage1/bzlib/randtable.c, mdk-stage1/bzlib/huffman.c,
- mdk-stage1/modules.c, mdk-stage1/bzlib/crctable.c,
- mdk-stage1/bzlib/decompress.c, mdk-stage1/bzlib/Makefile,
- mdk-stage1/bzlib/bzlib_private.h, mdk-stage1/tools.c,
- mdk-stage1/Makefile, mdk-stage1/bzlib/blocksort.c:
- - use bzlib instead of zlib to reduce overall size
- - take home my own bzlib code to (1) reduce code size with good
- compile options (2) make it compile and link against dietlibc
-
- * mdk-stage1/mar/mar-extract-only.c, mdk-stage1/mar/mar-extract-only.h,
- mdk-stage1/mar/mar-frontend.c, mdk-stage1/mar/mar.h,
- mdk-stage1/mar/Makefile: mar now uses bzlib, no more zlib
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: comply to new "mar -l" format
-
-2001/01/26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): prepare for advertising...
-
- * interactive_newt.pm (ask_from_entries_refW): major rework for new
- format, still need work
- (ask_from_entries_refW): use NEWT_FLAG_PASSWORD (aka 1<<11) instead of
- NEWT_FLAG_HIDDEN
- (myTextbox): wrap the text if needed
- (myTextbox): use a vertical scrollbar if needed
-
- * Newt/Newt.xs (newtFormAddGrid): new name for
- newtGridAddComponentsToForm, swap
- parameters for much better understanding
- (newtListboxGetCurrent): returns a SV (together with
- newtListboxAddEntry)
- (newtListboxAddEntry): data is now a SV
-
-2001/01/26 siegel
-
- * share/po/de.po: .
-
-2001/01/26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): prepare for advertising...
-
- * interactive_newt.pm (ask_from_entries_refW): major rework for new
- format, still need work
- (ask_from_entries_refW): use NEWT_FLAG_PASSWORD (aka 1<<11) instead of
- NEWT_FLAG_HIDDEN
- (myTextbox): wrap the text if needed
- (myTextbox): use a vertical scrollbar if needed
-
- * Newt/Newt.xs (newtFormAddGrid): new name for
- newtGridAddComponentsToForm, swap
- parameters for much better understanding
- (newtListboxGetCurrent): returns a SV (together with
- newtListboxAddEntry)
- (newtListboxAddEntry): data is now a SV
-
-2001/01/26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): prepare for advertising...
-
- * interactive_newt.pm (ask_from_entries_refW): major rework for new
- format, still need work
- (ask_from_entries_refW): use NEWT_FLAG_PASSWORD (aka 1<<11) instead of
- NEWT_FLAG_HIDDEN
- (myTextbox): wrap the text if needed
- (myTextbox): use a vertical scrollbar if needed
-
- * Newt/Newt.xs (newtFormAddGrid): new name for
- newtGridAddComponentsToForm, swap
- parameters for much better understanding
- (newtListboxGetCurrent): returns a SV (together with
- newtListboxAddEntry)
- (newtListboxAddEntry): data is now a SV
-
-2001/01/25 dam's <damien@mandrakesoft.com>
-
- * install2.pm: disable steps 'packages choice', 'configure X', and
- 'configure' 'printer'
-
- * install_steps_interactive.pm: don't oblige user addition
-
- * network.pm: display ethernet module
-
- * netconnect.pm: network informations filled into
- $prefix/var/lib/naat/configuration
-
-2001/01/25 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1-data/stage1.tar.bz2: restore symlink /sbin/sh ->
- /usr/bin/sh for stage2
-
- * mdk-stage1/probing.h: better tightness of probing stuff
-
- * mdk-stage1/probing.c: better tightness of probing stuff
- print warning message when insmod of PCI-detected device fails
-
- * mdk-stage1/stage1.c:
- - mdk-stage1: now linux-2.4 uses floppy.o to access floppy drives
- - remove fat/vfat modules from some boot floppies now that we don't
- need it anymore
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: re-integrate autoprobe of
- tulip network cards, kernel-2.4 has strange way to classify some of its
- net modules..
-
-2001/01/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: Waw, italian translator is very fast :)
- updated Indonesian and Italian fiels
-
- * share/po/id.po: updated Indonesian and Italian fiels
-
- * share/locales.tar.bz2: added iso9 locale definitions
-
- * lang.pm: fixed LANGUAGE for mk locale
-
-2001/01/25 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (spawnShell): fix error message
-
-2001/01/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1-data/stage1.tar.bz2:
- - clean up deprecated symlinks (insmod, rmmod, cardmgr)
- - remove unecessary device files
-
- * mdk-stage1/pcmcia/cardmgr.c, mdk-stage1/pcmcia/lex_config.c,
- mdk-stage1/pcmcia/vg468.h, mdk-stage1/pcmcia/cardmgr.h,
- mdk-stage1/pcmcia/bulkmem.h, mdk-stage1/pcmcia/i82365.h,
- mdk-stage1/pcmcia/cirrus.h, mdk-stage1/pcmcia/driver_ops.h,
- mdk-stage1/pcmcia/config.h, mdk-stage1/pcmcia/version.h,
- mdk-stage1/pcmcia/cistpl.h, mdk-stage1/stage1.c,
- mdk-stage1/pcmcia_config.patch, mdk-stage1/pcmcia/cs.h,
- mdk-stage1/pcmcia/Makefile, mdk-stage1/pcmcia/ds.h,
- mdk-stage1/pcmcia/pcmcia.h, mdk-stage1/pcmcia/cs_types.h,
- mdk-stage1/pcmcia/yacc_config.c, mdk-stage1/Makefile,
- mdk-stage1/pcmcia/tcic.h, mdk-stage1/pcmcia/yacc_config.h,
- mdk-stage1/pcmcia/pcmcia_probe.c: stage1: add pcmcia
-
-2001/01/24 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (%types): s|Compaq|Compaq/HP| per request of fpitoun
-
- * install_steps.pm (afterInstallPackages): cleanup
-
- * interactive.pm: better documentation of ask_from_entries_refH features
- (entry)
-
-2001/01/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1-data/stage1.tar.bz2:
- - clean up deprecated symlinks (insmod, rmmod, cardmgr)
- - remove unecessary device files
-
- * mdk-stage1/pcmcia/cardmgr.c, mdk-stage1/pcmcia/lex_config.c,
- mdk-stage1/pcmcia/vg468.h, mdk-stage1/pcmcia/cardmgr.h,
- mdk-stage1/pcmcia/bulkmem.h, mdk-stage1/pcmcia/i82365.h,
- mdk-stage1/pcmcia/cirrus.h, mdk-stage1/pcmcia/driver_ops.h,
- mdk-stage1/pcmcia/config.h, mdk-stage1/pcmcia/version.h,
- mdk-stage1/pcmcia/cistpl.h, mdk-stage1/stage1.c,
- mdk-stage1/pcmcia_config.patch, mdk-stage1/pcmcia/cs.h,
- mdk-stage1/pcmcia/Makefile, mdk-stage1/pcmcia/ds.h,
- mdk-stage1/pcmcia/pcmcia.h, mdk-stage1/pcmcia/cs_types.h,
- mdk-stage1/pcmcia/yacc_config.c, mdk-stage1/Makefile,
- mdk-stage1/pcmcia/tcic.h, mdk-stage1/pcmcia/yacc_config.h,
- mdk-stage1/pcmcia/pcmcia_probe.c: stage1: add pcmcia
-
-2001/01/24 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (%types): s|Compaq|Compaq/HP| per request of fpitoun
-
- * install_steps.pm (afterInstallPackages): cleanup
-
- * interactive.pm: better documentation of ask_from_entries_refH features
- (entry)
-
-2001/01/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated Greek file
-
-2001/01/22 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm, netconnect.pm: corrected slide bar, and
- added network conf save in /root/networking.tmp
-
-2001/01/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: add automatic support in choice of NET device, in
- case of multiple NET devices
- consistent dot-terminated error messages, consistent no-dot log messages
- re-put Netmask input per default (void entry -> automatic guess)
-
- * mdk-stage1/stage1.c, mdk-stage1/dhcp.c, mdk-stage1/modules.c: consistent
- dot-terminated error messages, consistent no-dot log messages
-
-2001/01/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po: updated Indonesian file
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/ko.po,
- share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/pl.po, netconnect.pm, share/po/no.po, share/po/fi.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated po files
-
- * share/po/wa.po: updated po files
- updated pot file
-
- * install2.pm, lang.pm: fixed the places where console fonts and related
- files are put under
- /etc/sysconfig to the places really used by console-tools
-
- * share/po/DrakX.pot: updated pot file
-
- * share/po/hr.po: updated po files
- updated Croatian file
-
-2001/01/22 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (read_rpmsrate): if $packages is undef, ignore it. That way,
- read_rpmsrate
- can be called standalone.
-
- * network.pm, install_steps_interactive.pm, netconnect.pm, my_gtk.pm,
- install_interactive.pm, install2.pm, partition_table.pm, install_any.pm,
- any.pm, printerdrake.pm, Xconfigurator.pm, diskdrake.pm: $::beginner is
- deprecated, replaced by !$::expert
-
-2001/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/url.c, mdk-stage1/network.c: allow providing void password in
- network/ftp installs
-
-2001/01/21 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (create_ctree): fix case with formatted list
-
-2001/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/nfsmount.c: fix remaining perror's
-
- * mdk-stage1/url.c, mdk-stage1/network.c: allow providing void password in
- network/ftp installs
-
-2001/01/21 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (create_ctree): fix case with formatted list
-
-2001/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/nfsmount.c: fix remaining perror's
-
-2001/01/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po, share/po/da.po: updated Danish and Brazilian files
-
-2001/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/nfsmount.c: fix remaining perror's
-
- * mdk-stage1/stage1.c: fix remaining perror's
- - better msg in fatal errors
- - do not include code to spawn a shell for releases
-
-2001/01/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po, share/po/da.po: updated Danish and Brazilian files
-
-2001/01/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectMouse): use ask_from_treelist_
-
- * interactive.pm (ask_from_treelist_): created, split with the separator,
- call translate on
- words, then re-join.
-
-2001/01/19 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixes for CD not changeable.
-
- * install_steps_interactive.pm: fixed unselect group and inoperant
- individual package selection.
- removed expert mode and install class.
-
-2001/01/18 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: fixed obligation of relative large install, now
- minimum is lesser.
-
- * install_steps_gtk.pm: make sure no ratio above 1 can occur, still need
- to see why as it happens
- on install-abort-choices-install or
- install-abort-choices-fs-format(none)-choices-install
-
- * live_install: update live install to match /tmp/image instead of
- /tmp/rhimage.
-
-2001/01/17 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm, install_any.pm: fixes with /tmp/rhimage and
- /tmp/image.
-
- * pkgs.pm: update to use new header file format in hdlist (added arch) but
- depslist has not it...
-
- * install2.pm: fixes with /tmp/rhimage and /tmp/image
-
-2001/01/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bg.po: updated bulgarian file
-
-2001/01/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/url.c: use strrchr instead of doing it by hand
-
- * mdk-stage1/insmod-busybox/busybox.h,
- mdk-stage1/insmod-busybox/utility.c, mdk-stage1/insmod-busybox/insmod.c:
-
- - replace remaining perror's with log_perror's
- - little code cleanup
-
- * mdk-stage1/stage1-data/stage1.tar.bz2,
- mdk-stage1/stage1-data/stage1-with-sash.tar.bz2: add /dev/fd0
-
- * mdk-stage1/stage1.c, mdk-stage1/modules.h, mdk-stage1/tools.c,
- mdk-stage1/tools.h, mdk-stage1/disk.c, mdk-stage1/modules.c:
- - add load of third party modules in Expert mode (PS rulz)
-
-2001/01/12 siegel
-
- * share/po/de.po: updates
-
-2001/01/12 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed addUser for invocation of
- any::ask_users.
- fixed bad invocation of installation of X server.
-
-2001/01/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/cdrom.c: add more memory carefulness with CDROM install
- - add wait_message for initializing of CDROM's (it can be long when
- it's SCSI)
- - print CDROM drive names (model) in dialogs
-
- * mdk-stage1/mount.c, mdk-stage1/lomount.c, mdk-stage1/disk.c:
- - fix behaviour with bad ISO images (DISK installs)
- - better dialogs for DISK installs
-
-2001/01/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: make lang list in format for tree-selector
-
-2001/01/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/disk.c: fix failing umount for DISK installs in some failing
- loopback situations
- act nicely when no partitions are found on some disk
-
- * mdk-stage1/modules.h: polish generic blank.img situation (no modules
- and/or modules.dep available)
-
- * mdk-stage1/lomount.c: fix failing umount for DISK installs in some
- failing loopback situations
- better log messages
- continue anyway when insmod'ing of modules fail (for blank.img)
-
- * mdk-stage1/probing.c: close some fd's
-
- * mdk-stage1/stage1.c, mdk-stage1/modules.c: polish generic blank.img
- situation (no modules and/or modules.dep available)
- continue anyway when insmod'ing of modules fail (for blank.img)
-
-2001/01/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile, mdk-stage1/disk.c:
- - add DISK install from ISO image file
- - add FTP
- - add HTTP
- - use single place for mountpoints and static directories
-
- * mdk-stage1/hack, mdk-stage1/lomount.c, mdk-stage1/lomount.h:
- - add DISK install from ISO image file
-
- * mdk-stage1/stage1.c, mdk-stage1/config-stage1.h, mdk-stage1/stage1.h,
- mdk-stage1/tools.c, mdk-stage1/stdio-frontend.c, mdk-stage1/cdrom.c,
- mdk-stage1/tools.h, mdk-stage1/newt-frontend.c, mdk-stage1/network.c:
- - add FTP
- - add HTTP
- - use single place for mountpoints and static directories
-
- * mdk-stage1/insmod-busybox/Config.h: tweak config
-
-2001/01/11 Pixel <pixel@mandrakesoft.com>
-
- * standalone/adduserdrake: adduserdrake may handles autologin
-
- * install_steps.pm (addUser): set autologin
-
- * install2.pm (addUser): moved setAuthentication to install_steps::addUser
-
- * install_steps_interactive.pm (addUser): fix
-
-2001/01/11 dam's <damien@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm, ChangeLog,
- netconnect.pm: updated
-
-2001/01/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: remove nasty messages when
- mar or marfiles not available to perform consistency check
-
-2001/01/11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (configureX): call directly $o->pkg_install, no need to
- add 'XFree86-' at the beginning
- (addUser): use any::write_passwd_user
- (setRootPassword): use any::write_passwd_user
- (configureX): fix bad $install given to Xconfigurator::main
-
- * any.pm (write_passwd_user): add or update an entry in /etc/passwd
- (ask_users): created, interactively ask users to add (used in
- adduserdrake and install)
- (allocUsers, addUsers): changed the prototype
- (setupBootloader): grep out fat partitions for the "Boot device"
- propositions (people are too stupid)
-
- * my_gtk.pm (main): third argument is a function to call before leaving in
- case of
- "cancel" clicked.
-
- * interactive_gtk.pm (create_ctree): fix default value selecting failing
- (in case of "format")
- (ask_from_entries_refW): apply "format" on label when icon is missing
- for iconlist
- (ask_from_entries_refW): handle "canceled" callback. Permits to overrule
- the cancel.
-
- * install_any.pm (g_auto_install): deep copy of $o->{users} because we're
- modifying it
-
- * install_steps_interactive.pm (addUser): use any::ask_users
-
- * standalone/adduserdrake: use any::ask_users
-
- * Xconfig.pm (getinfoFromDDC): removed devices::make("/dev/zero") (now in
- install2::main)
-
- * install2.pm (main): move devices::make("/dev/zero") needed by ddcxinfos
- here
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): "canceled"
- callback defaults
- to "sub { 0 }"
-
-2001/01/11 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_entries_refW): apply "format" on label when
- icon is missing for iconlist
- (ask_from_entries_refW): handle "canceled" callback. Permits to overrule
- the cancel.
-
- * install_steps.pm (configureX): call directly $o->pkg_install, no need to
- add 'XFree86-' at
- the beginning
- (addUser): use any::write_passwd_user
- (setRootPassword): use any::write_passwd_user
- (configureX): fix bad $install given to Xconfigurator::main
-
- * any.pm (write_passwd_user): add or update an entry in /etc/passwd
- (ask_users): created, interactively ask users to add (used in
- adduserdrake
- and install)
- (allocUsers, addUsers): changed the prototype
- (setupBootloader): grep out fat partitions for the "Boot device"
- propositions (people are too stupid)
-
- * my_gtk.pm (main): third argument is a function to call before leaving in
- case of
- "cancel" clicked.
-
- * install_any.pm (g_auto_install): deep copy of $o->{users} because we're
- modifying it
-
- * install_steps_interactive.pm (addUser): use any::ask_users
-
- * standalone/adduserdrake: use any::ask_users
-
- * Xconfig.pm (getinfoFromDDC): removed devices::make("/dev/zero") (now in
- install2::main)
-
- * install2.pm (main): move devices::make("/dev/zero") needed by ddcxinfos
- here
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): "canceled"
- callback defaults
- to "sub { 0 }"
-
-2001/01/11 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (autologin): moved to package any
-
- * interactive_gtk.pm (ask_from_entries_refW): apply "format" on label when
- icon is missing for iconlist
- (ask_from_entries_refW): handle "canceled" callback. Permits to overrule
- the cancel.
-
- * install_steps.pm (configureX): call directly $o->pkg_install, no need to
- add 'XFree86-' at
- the beginning
- (addUser): use any::write_passwd_user
- (setRootPassword): use any::write_passwd_user
- (configureX): fix bad $install given to Xconfigurator::main
-
- * any.pm (write_passwd_user): add or update an entry in /etc/passwd
- (ask_users): created, interactively ask users to add (used in
- adduserdrake
- and install)
- (allocUsers, addUsers): changed the prototype
- (setupBootloader): grep out fat partitions for the "Boot device"
- propositions (people are too stupid)
-
- * my_gtk.pm (main): third argument is a function to call before leaving in
- case of
- "cancel" clicked.
-
- * install_any.pm (g_auto_install): deep copy of $o->{users} because we're
- modifying it
-
- * Makefile.config (STANDALONEPMS): remove netdrake (which is deprecated)
-
- * install_steps_interactive.pm (addUser): use any::ask_users
-
- * standalone/adduserdrake: use any::ask_users
-
- * Xconfig.pm (getinfoFromDDC): removed devices::make("/dev/zero") (now in
- install2::main)
-
- * install2.pm (main): move devices::make("/dev/zero") needed by ddcxinfos
- here
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): "canceled"
- callback defaults
- to "sub { 0 }"
-
-2001/01/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/dietfeatures.h: tweak dietlibc config to get minimal
- size
-
- * mdk-stage1/dietlibc/lib/vsscanf.c, mdk-stage1/dietlibc/lib/ttyname.c:
- remove warnings from compile
-
-2001/01/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_entries_refW): add handling of 'changed'
- callback on clist/list/ctree
-
- * install_steps.pm (addUser): use any::pack_passwd
- (setRootPassword): use any::unpack_passwd and any::pack_passwd
-
- * Xconfigurator.pm (cardConfiguration): adapt for $install which is
- generic
- (autologin): use $install which is now generic
-
- * install_steps_interactive.pm (selectLanguage): many_languages choice
- moved there as advanced
-
- * my_gtk.pm (create_packtable): yet another try to have something nice :)
- !! uses Gtk::Table::attach_raw which is available in
- perl-GTK-0.7004-6mdk !!
- (create_box_with_title): with the size given to set_usize for the scroll
- containing the text widget in case of long text. and don't let the
- scroll
- grow.
- (gtktext_insert): remove adding an ending "\n" (no more needed?)
-
- * any.pm (setAutologin): cleanup
- (pack_passwd, unpack_passwd): created
-
-2001/01/10 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm: corrected last message . firewall
-
-2001/01/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: fix modules.pm for modules to be skept in stage1 (ppa, imm,
- parport*, plip)
-
-2001/01/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_entries_refW): add handling of 'changed'
- callback on clist/list/ctree
-
- * install_steps.pm (addUser): use any::pack_passwd
- (setRootPassword): use any::unpack_passwd and any::pack_passwd
-
- * my_gtk.pm (create_packtable): yet another try to have something nice :)
- !! uses Gtk::Table::attach_raw which is available in
- perl-GTK-0.7004-6mdk !!
- (create_box_with_title): with the size given to set_usize for the scroll
- containing the text widget in case of long text. and don't let the
- scroll
- grow.
- (gtktext_insert): remove adding an ending "\n" (no more needed?)
-
- * any.pm (setAutologin): cleanup
- (pack_passwd, unpack_passwd): created
-
- * Xconfigurator.pm (cardConfiguration): adapt for $install which is
- generic
- (autologin): use $install which is now generic
-
- * install_steps_interactive.pm (selectLanguage): many_languages choice
- moved there as advanced
-
- * standalone/printerdrake, standalone/keyboarddrake, standalone/draknet2,
- standalone/livedrake, standalone/drakboot, standalone/draksec,
- standalone/netdrake, standalone/mousedrake, standalone/drakgw,
- standalone/drakxservices, standalone.pm, standalone/draknet,
- standalone/XFdrake, standalone/diskdrake, standalone/adduserdrake,
- standalone/drakxconf: use standalone and standalone::pkgs_install
-
-2001/01/09 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (drakx_version): nicer (4gc)
-
- * install2.pm (main): log::l the drakx_version
-
- * my_gtk.pm (create_packtable): no_expand option added
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): field
- "disabled" added,
- "advanced_messages" added
-
- * lang.pm (langs): created (transform the $o->{langs} hash ref in a list)
- (pack_langs): use lang::langs
-
- * install_steps.pm (selectLanguage): $o->{langs} is now a ref so
- initialize as such
-
- * Makefile (get_needed_files): generate /usr/share/VERSION which contains
- the version
- of ChangeLog (which is updated at each upload)
-
- * install_steps_interactive.pm (choosePartitionsToFormat): handle "check
- for bad blocks" as advanced
- (setRootPassword): remove choosing non-md5 or non-shadow passwords.
-
- * install_any.pm (setPackages): use lang::langs instead of using
- $o->{langs} as a array ref (it is not so anymore)
- (spawnShell): print the drakx_version
-
-2001/01/08 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm: fixes
- (ask_from_treelistf, ask_from_treelist): now use ask_from_entries_refH
- (ask_from_entries_refH_powered): remove "1;" (was there for debugging)
-
- * interactive_gtk.pm: fixes
- (ask_from_treelistW): removed
- (create_ctree): created, used for ``type => treelist'' entries
-
- * my_gtk.pm: fixes
-
- * ChangeLog: New snapshot uploaded
-
-2001/01/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sr.po, share/po/sp.po, share/po/no.po, share/po/cs.po: updated
- Czech, Norwegian and Serbian files
-
-2001/01/07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: update code for new ask_from_entries_refH
- which doesn't handle optional ok/cancel names in arg 1.
- must be handled via ask_from_entries_refH_powered
- (selectLanguage, selectKeyboard): use ask_from_entries_refH instead of
- ask_from_listf_, it enables the use of advanced
-
- * any.pm, printerdrake.pm: update code for new ask_from_entries_refH which
- doesn't handle optional ok/cancel names in arg 1.
- must be handled via ask_from_entries_refH_powered
-
- * interactive.pm: update code for new ask_from_entries_refH which doesn't
- handle optional ok/cancel names in arg 1.
- must be handled via ask_from_entries_refH_powered
- (ask_from_listf_no_check): replaces ask_from_list_no_check
- (ask_from_entries_refH_powered): sorts the list if needed or wanted
-
- * partition_table_raw.pm (test_for_bad_drives): created
- - ugly stuff needed mainly for Western Digital IDE drives
- - try writing what we've just read, yells if it fails
- - testing on last sector of head #0 (unused in 99% cases)
-
- * ftp.pm (getFile): make it work (it used to dead-loop when getFile'ing an
- non-existent
- file, stressing the ftp server :-/ )
- for the moment, just release cdrom.img, hd.img and hdreiser.img
- others should should come...
-
- * install_steps.pm: for the moment, just release cdrom.img, hd.img and
- hdreiser.img
- others should should come...
-
- * interactive_gtk.pm (ask_from_listW): removed
- (create_list): calls "format" on list elems before prompting them
- (create_clist): created
- (ask_from_entries_refW): calls create_clist in case of list with no help
-
- * install_steps_gtk.pm (installPackages): autoflush stdout before beeping
- (installPackages): don't take into account the time when prompting the
- user
-
- * common.pm (may_apply): added
-
- * install_any.pm (getHds): test_for_bad_drives called on hard drives
- (getHds): ensure $o->{hds} is not set until the hard drives are checked
-
-2001/01/06 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm (setup): don't xmodmap if DISPLAY is unset
-
- * ChangeLog: New snapshot uploaded
- New snapshot uploaded
-
-2001/01/06 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm (setup): don't xmodmap if DISPLAY is unset
-
- * ChangeLog: New snapshot uploaded
-
-2001/01/06 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm (setup): don't xmodmap if DISPLAY is unset
-
- * standalone/rpmdrake: deprecated (and has been for a long time now)
-
- * network.pm, install_steps_interactive.pm, netconnect.pm,
- install_interactive.pm, standalone/adduserdrake, any.pm,
- Makefile.config, printerdrake.pm, Xconfigurator.pm, diskdrake.pm:
- ask_from_entries_refH parameter format has changed so change all
- accesses to it.
-
-2001/01/05 Franois Pons <fpons@mandrakesoft.com>
-
- * lang.pm, keyboard.pm: forget _exit in child process after a fork of
- DrakX
- removed need of packdrake binary
-
- * Xconfigurator.pm: use of SHARE_PATH for MonitorsDB, Cards+, CardsNames
-
- * live_install2: cleanup to keep libperl.so but the right one
-
- * live_install: no more copy of files on live system, now use environment
- variable by DrakX cleanup
-
- * perl2fcalls: added packdrake call (via new but incomplete) and package
-
- * install_any.pm, commands.pm, pkgs.pm: removed need of packdrake binary
-
- * netconnect.pm: fixed syntax error
-
- * modules.pm: eval insmoding ide-cd (just in case)
- removed need of packdrake binary
-
-2001/01/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ja.po, share/po/ca.po, share/po/az.po: updated Azeri, Catalan
- and Japanese files
-
-2001/01/05 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm: help cperl-mode
-
- * interactive_gtk.pm, network.pm, install_steps_interactive.pm, my_gtk.pm,
- interactive.pm, printerdrake.pm, Xconfigurator.pm, diskdrake.pm: move to
- new ask_from's:
- - ask_from_entries_ref is deprecated, use ask_from_entries_refH
- - ask_from_list now calls ask_from_entries_refH_powered
- still not done:
- - ask_from_treelist should use ask_from_entries_refH_powered,
- and lists with no help should use CList (List is bad)
- - keyboard and mouse binding is still rough
- - enhance the look
-
- * keyboard.pm: add the percentage of each keyboard types (as a comment for
- now)
-
-2001/01/04 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: cleaned... everything should be buggy.
-
-2001/01/04 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed some old $p->{file} by new $p->[$FILE]
- code cleanup and fixes for lilo not upgrade
-
-2001/01/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * install_any.pm: fixed the functions doing the lists of languages
-
- * lang.pm: fixed the functions doing the lists of languages
- The list of languages now has complete locale names insted of just
- language
- code (that is needed to differentiate zh_CN and zh_TW among others)
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated Brazilian file
-
- * share/po/eu.po: updated Basque file
- updated Brazilian file
-
-2001/01/04 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: some pixelization using the new if_
-
- * install_steps_interactive.pm (setRootPassword): fix pixelization
- keep $o->{langs} unpacked to simplify things
- if_ pixelization
-
- * common.pm (%EXPORT_TAGS): add if_ in "common" exported tags
- (if_): created. Use it to replace things like
- ($::expert ? $val : ()) by if_($::expert, $val)
-
- * keyboard.pm: nl keyboard is not used, so defaults to us_intl
-
- * lang.pm, install_steps.pm, pkgs.pm, install_any.pm: keep $o->{langs}
- unpacked to simplify things
-
- * netconnect.pm: quite a few clean-up (and buggying)
-
-2001/01/03 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm: admin user removed before beeing added
-
- * netconnect.pm: corrected typo
- LAN is configured with default value if firewall
-
-2001/01/03 Franois Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm: fixed invocation of change_type by clicking on legend
- unless expert
-
- * install2.pm: fixed usage with testing
-
- * install_steps.pm: fixed some other services to start in case something
- gets wrong,
- this fixes some deadlock on upgrade from 7.0.
- fixed usage with testing
-
- * partition_table.pm: fixed overlapping partitions between one extended
- and one regular primary.
- should be accepted (log printed instead of error) as diskdrake allow
- their
- creation in expert.
-
-2001/01/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: add checks of dependencies on marfiles
- fix a couple of broken dependencies in modules.pm
-
-2001/01/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, share/locales.tar.bz2: locales in glibc 2.2 format
-
-2001/01/03 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): move the setting of PATH and spawnShell *after*
- setting $prefix
-
-2000/12/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/rpmsrate: added a few locales dependences
-
-2000/12/29 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (addUser): typo fix
-
- * ChangeLog: New snapshot uploaded
-
- * ftp.pm (getFile): recall getFile after rewindGetFile
-
-2000/12/29 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (addUser): typo fix
-
- * ftp.pm (getFile): recall getFile after rewindGetFile
-
-2000/12/28 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: now /usr/lib/X11 is a relative symlink to please mirrors and
- jako
-
-2000/12/26 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * keyboard.pm: Add the very ghost option REMOVE_MOD_META_L.
-
-2000/12/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated Lithuanian file
-
-2000/12/22 dam's <damien@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm: corrected admin user
- setting for firewall install.
-
-2000/12/22 Franois Pons <fpons@mandrakesoft.com>
-
- * modules.pm: fixed load_multi on live.
- added back all removed module with the new great mdk-stage1 of gg.
-
-2000/12/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: make them work with kernel-2.4 by disabling non existent
- modules
-
-2000/12/22 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm, install2.pm: commit symlink /tmp/image /tmp/rhimage
-
-2000/12/21 Pixel <pixel@mandrakesoft.com>
-
- * ChangeLog: New snapshot uploaded
-
-2000/12/21 dam's <damien@mandrakesoft.com>
-
- * install2.pm: firewall : automatic class set when firewall (beginner=0)
-
- * install_steps_interactive.pm: if firewall, admin password obliged
-
- * install_steps.pm: added setAdminpassword (a little bit redundant, sorry)
-
- * any.pm: corrected module stuff.. Thanx to pixel
-
-2000/12/20 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (selectMouse): unsure the device exists
-
- * unused/christmas-karaoke.patch: handle isa cards
-
-2000/12/19 Pixel <pixel@mandrakesoft.com>
-
- * ChangeLog: New snapshot uploaded
- New snapshot uploaded
-
-2000/12/19 dam's <damien@mandrakesoft.com>
-
- * standalone/pixmaps/logo1.xpm, standalone/pixmaps/px3.xpm,
- standalone/pixmaps/draknet4.xpm, standalone/pixmaps/draknet1.xpm,
- standalone/pixmaps/modem.xpm, standalone/pixmaps/logo2.xpm,
- standalone/pixmaps/util6.gif, standalone/pixmaps/unknown.xpm,
- standalone/pixmaps/drakgw.xpm, standalone/pixmaps/px4.xpm,
- standalone/pixmaps/draknet5.xpm, standalone/pixmaps/px1.xpm,
- standalone/pixmaps/draknet2.xpm, standalone/pixmaps/logo3.xpm,
- standalone/pixmaps/util7.gif, standalone/pixmaps/port.xpm,
- standalone/pixmaps/draknet.xpm, standalone/pixmaps/ethernet.xpm,
- standalone/pixmaps/isdn.xpm, standalone/pixmaps/px2.xpm,
- standalone/pixmaps/draknet3.xpm: added control-center.
-
-2000/12/19 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: when loading /snd-card-/ module, load snd-pcm-oss
-
- * unused/christmas-karaoke.patch: Happy Christmas :)
-
- * install_any.pm: spawnShell: set DISPLAY, just in case :)
-
- * install2.pm: set PATH before doing spawnShell
-
- * Makefile: /usr/lib/X11 now exists on non-sparc (was only for sparc)
-
- * ChangeLog: New snapshot uploaded
-
-2000/12/18 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: added embedded support for control-center
- corrected embedded support.
- new control center and related
-
- * netconnect.pm: corrected typo
- corrected typo
-
- * standalone/drakxservices, standalone/control-center, ChangeLog,
- standalone/XFdrake, standalone/draknet2, standalone/adduserdrake,
- standalone/drakboot: new control center and related
-
- * install_gtk.pm: added firewall support
-
- * install2.pm: included firewall handling
- changed firewall comportement
-
- * install_steps_interactive.pm: changed firewall comportement
-
- * modules.pm: corrected bad mergeinconf
-
-2000/12/18 Pixel <pixel@mandrakesoft.com>
-
- * Makefile, share/keymaps_generate: tar and bzip2 is cfj/xfj and no more
- cfI/xfI
- remove isdndb.net
-
-2000/12/19 dam's <damien@mandrakesoft.com>
-
- * standalone/pixmaps/logo1.xpm, standalone/pixmaps/px3.xpm,
- standalone/pixmaps/draknet4.xpm, standalone/pixmaps/draknet1.xpm,
- standalone/pixmaps/modem.xpm, standalone/pixmaps/logo2.xpm,
- standalone/pixmaps/util6.gif, standalone/pixmaps/unknown.xpm,
- standalone/pixmaps/drakgw.xpm, standalone/pixmaps/px4.xpm,
- standalone/pixmaps/draknet5.xpm, standalone/pixmaps/px1.xpm,
- standalone/pixmaps/draknet2.xpm, standalone/pixmaps/logo3.xpm,
- standalone/pixmaps/util7.gif, standalone/pixmaps/port.xpm,
- standalone/pixmaps/draknet.xpm, standalone/pixmaps/ethernet.xpm,
- standalone/pixmaps/isdn.xpm, standalone/pixmaps/px2.xpm,
- standalone/pixmaps/draknet3.xpm: added control-center.
-
-2000/12/19 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: when loading /snd-card-/ module, load snd-pcm-oss
-
- * unused/christmas-karaoke.patch: Happy Christmas :)
-
- * install_any.pm: spawnShell: set DISPLAY, just in case :)
-
- * install2.pm: set PATH before doing spawnShell
-
- * Makefile: /usr/lib/X11 now exists on non-sparc (was only for sparc)
-
-2000/12/18 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: added embedded support for control-center
- corrected embedded support.
- new control center and related
-
- * netconnect.pm: corrected typo
- corrected typo
-
- * standalone/drakxservices, standalone/control-center, ChangeLog,
- standalone/XFdrake, standalone/draknet2, standalone/adduserdrake,
- standalone/drakboot: new control center and related
-
- * install_gtk.pm: added firewall support
-
- * install2.pm: included firewall handling
- changed firewall comportement
-
- * install_steps_interactive.pm: changed firewall comportement
-
- * modules.pm: corrected bad mergeinconf
-
-2000/12/18 Pixel <pixel@mandrakesoft.com>
-
- * Makefile, share/keymaps_generate: tar and bzip2 is cfj/xfj and no more
- cfI/xfI
- remove isdndb.net
-
-2000/12/16 Pixel <pixel@mandrakesoft.com>
-
- * standalone/mousedrake, standalone/drakgw: use ldetect-lst
-
- * Makefile.drakxtools: fix daminetsex
- use ldetect-lst
- pci_probing now done by libldetect
- config files moved in package ldetect-lst
-
- * share/list: use ldetect-lst
- pci_probing now done by libldetect
- config files moved in package ldetect-lst
-
- * any.pm: fix daminetsex
-
- * modules.pm, live_install, install2.pm, standalone/lspcidrake, pkgs.pm,
- mouse.pm: use ldetect-lst for usb => now auto detects mice types :)
-
- * c/stuff.xs.pm, detect_devices.pm: use ldetect-lst for usb => now auto
- detects mice types :)
- use ldetect-lst
- pci_probing now done by libldetect
- config files moved in package ldetect-lst
-
- * Makefile.config: fix daminetsex
- use ldetect-lst
-
- * Makefile: use ldetect-lst for usb => now auto detects mice types :)
- use ldetect-lst
-
- * netconnect.pm, share/CardsNames, c/Makefile.PL, Xconfigurator_new.pm,
- Xconfigurator.pm, share/Cards+, share/MonitorsDB, share/isdndb.net,
- share/Cards2CardsNames: pci_probing now done by libldetect
- config files moved in package ldetect-lst
-
-2000/12/15 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: Cards+ and CardsNames are moved to ldetect-lst
-
- * install_steps.pm: clean all unneeded stuff
-
-2000/12/14 dam's <damien@mandrakesoft.com>
-
- * any_new.pm, netconnect_new.pm: preparing for big jump.
-
- * netconnect.pm: Big jump. The *_new.pm are replaced by *.pm
- Everything should work, but you better test :)
-
- * standalone/control-center: big improvement and cosmetic changes
- a lot of improvement. Is able to launch multiples soft passing in
- arguments.
- new file. Its location should change soon.
-
- * any.pm: Big jump. The *_new.pm are replaced by *.pm
- Everything should work, but you better test :)
- corrected typo.
-
-2000/12/14 Pixel <pixel@mandrakesoft.com>
-
- * share/compssList: obsoleted by rpmsrate
-
- * share/rpmsrate: obsoletes compssList
-
- * share/compssUsers, install_steps.pm, install_steps_interactive.pm,
- Makefile, install_steps_gtk.pm, install2.pm, pkgs.pm, install_any.pm:
- move from compssList to rpmsrate
-
- * Newt/Newt.xs: cleanup (use of alloca to pass parameters)
-
-2000/12/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: updated Italian file
-
-2000/12/12 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: typo + if firewall, don't display 'disable network'
-
- * standalone/draknet2: new version... still working on it
-
- * ChangeLog: commit
-
- * share/themes-mdk-Firewall.rc: added firewall theme
-
- * modules.pm: my fault, corrected renaud's patch incorporation
-
- * share/logo-mandrake-Firewall.xpm: new logo
-
-2000/12/12 Franois Pons <fpons@mandrakesoft.com>
-
- * share/list: added packdrake.pm as packdrake has been splited.
-
- * pkgs.pm: fixed versionCompare to always return number. added checking of
- version to
- select obsoletes on upgrade.
-
-2000/12/11 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: Radeon uses 3D now.
-
- * lang.pm: fixed write_langs for upgrade.
- i18n sucking fixes.
-
- * Xconfigurator.pm: Radeon uses 3D hw accel theoritically now.
-
-2000/12/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: Added configuration of Vietnamese input server
-
-2000/12/09 Pixel <pixel@mandrakesoft.com>
-
- * standalone/adduserdrake: remove debugging code
-
- * install2.pm (selectInstallClass): give $clicked to selectInstallClass
-
- * interactive_newt.pm (ask_from_entries_refW): reset all hidden entries to
- null in case of error
- on hidden entry cuz newt doesn't display null entries, disturbing
-
- * install_steps_interactive.pm (formatMountPartitions): the format
- partition dialog created at first use,
- so that it doesn't appear if no partitions are formatted.
- (selectInstallClass): ensure expert choice is kept if it was prechosen
- (selectInstallClass): if expert pre-chosen, ensure expert is kept
-
- * interactive_gtk.pm, install_steps.pm: small renicing
-
-2000/12/08 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed bug in list of packages provided by another one.
-
-2000/12/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po, share/po/no.po, share/po/DrakX.pot, share/po/es.po,
- share/po/fr.po, share/po/wa.po, share/po/da.po, share/po/de.po,
- share/po/az.po, share/po/tr.po: updated Brazilian file
-
-2000/12/08 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): warn if VERSION file doesn't exist
- (formatPartitions): call rotate_logs after mounting the partitions
-
- * mouse.pm (write_conf): fix to make make test_pms happy
-
- * install_steps.pm (exitInstall): save the report.bug in /root/report.bug
-
- * any.pm (rotate_logs): created, rotates ddebug.log and install.log in
- /root
-
- * ftp.pm (new): retry in case of ftp connection/login
-
- * commands.pm: report_bug: created, returns a string
-
-2000/12/07 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected ADSL connection choice.
- corrected typo
-
-2000/12/06 dam's <damien@mandrakesoft.com>
-
- * install2.pm: erare humanum es
- firewall begins to infect the install :).
- new meta_class.
-
- * share/logo-mandrake-Firewall.xpm: aded logo for firewall
-
- * install_gtk.pm: corrected errors
- left pixmap centered if firewall
- improved the firewall theme.
- errare humanum es
- firewall infects the install.
- The logo is changed if firewall.
-
-2000/12/06 Pixel <pixel@mandrakesoft.com>
-
- * standalone/keyboarddrake: add possibility to use keyboarddrake
- non-interactive (aka give the keyboard as
- first parameter)
-
- * lang.pm, install_steps.pm, install_steps_interactive.pm, install2.pm,
- install_any.pm: adapt to the fact that RPM_INSTALL_LANG is obsoloted.
- Now rpm uses %_install_langs in /etc/rpm/macros
-
-2000/12/05 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: final fixes to versionCompare to make sure no deadlock can
- occurs.
-
- * Xconfigurator.pm: restored Matrox G200/G400 hw 3d accel configuration.
-
-2000/12/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po, share/po/pl.po, share/po/da.po, share/po/fi.po,
- share/po/es.po: updated several pofiles
-
-2000/12/04 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: use isCdNotEjectable.
-
- * common.pm: added function isCdNotEjectable.
-
- * share/Cards+: SiS620 card are said to be unsupported by XF4.
-
- * pkgs.pm: load only one hdlist in memory if CD is not ejectable (low
- memory).
- fixed compareVersion for deadlock. removed silly CODE print on deporder
- problems.
-
- * Xconfigurator.pm: add Options sw_cursor for SiS 6326 in XF3 mode.
-
-2000/12/03 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: incorporated cmodifications in the firewall branch
-
- * netconnect.pm: netconnect_new > netconnect.pm
-
- * netconnect_consts.pm: incorporated in the firewall branch.
-
- * standalone/draknet2: incoporated in the firewall branch
-
- * any_new.pm: any_new > any, so we remove it now.
-
- * netconnect_new.pm: netconnect_new > netconnect, so we remove it now.
- incorporated in the firewall branch
-
- * modules.pm: incorporated modifications to the firewall branch. Hope they
- won't break anything...
-
-2000/12/02 dam's <damien@mandrakesoft.com>
-
- * share/po/az.po: correction in firewall incorporated
-
- * ChangeLog: first attempt ro build the firewall install
-
- * standalone/mousedrake: incorporated in the firewall branch
-
- * share/po/ru.po, share/po/no.po, share/po/sk.po: correction incorporated
- in the firewall branch
-
-2000/11/28 dam's <damien@mandrakesoft.com>
-
- * modules.pm: included reno's patches. Now should work without kudzu.
- branch to build the firewall install.
-
- * standalone/pixmaps/port.xpm, standalone/pixmaps/.xvpics/px4.xpm,
- standalone/pixmaps/ethernet.xpm, standalone/pixmaps/.xvpics/px1.xpm,
- standalone/pixmaps/px2.xpm, standalone/pixmaps/unknown.xpm,
- standalone/pixmaps/.xvpics/px3.xpm, standalone/pixmaps/px4.xpm,
- standalone/pixmaps/px1.xpm, standalone/pixmaps/.xvpics/px2.xpm,
- standalone/pixmaps/px3.xpm, standalone/pixmaps/modem.xpm,
- standalone/pixmaps/isdn.xpm: Initial revision
- branch to build the firewall install.
-
- * partition_table_dos.pm, share/po/bg.po, share/po/sr.po,
- share/template.in/cdrom.kdelnk.in,
- share/template.in/cdrom.fsdev.kdelnk.in, share/po/hr.po, c/silo.c,
- Makefile, share/consolefonts/lat0-sun16,
- share/themes/DarkMarble-check_off.png,
- share/themes/marble3d-button_def.png, share/locales.tar.bz2.sparc,
- do_resize_fat, share/po/wa.po, share/po/is.po,
- share/themes/DarkMarble-button3_out_prelight.png, resize_fat/main.pm,
- class_discard.pm, .cvsignore, share/step-orange.xpm, share/reload.xpm,
- install_interactive.pm, c/README, Xconfig.pm, share/themes.rc,
- share/themes/marble3d-bg1.png, perl2fcalls, share/themes-blackwhite.rc,
- share/themes-blueHeart.rc, pkgs.pm, keyboard.pm,
- share/rpm-installed.xpm, share/po/gl.po, share/po/lv.po,
- standalone/icons/ftout.xpm, Makefile.drakxtools, http.pm,
- share/step-green-click.xpm, partition_table_sun.pm,
- share/themes/focus.png, share/keymaps_generate, lang.pm, verify_c,
- share/po/.cvsignore, share/ftin.xpm, standalone/draksec,
- resize_fat/info_sector.pm, share/compssUsers, share/step-orange-on.xpm,
- Makefile.config, share/list.sparc, share/po/hu.po, run_program.pm,
- share/themes/marble3d-button4.png, share/rpm-unselected.xpm,
- share/list.i386, netconnect.pm, share/themes/DarkMarble-button3_out.png,
- c/md5_crypt.c, share/themes/mdk-toggle_on.png, partition_table.pm,
- standalone/livedrake, share/diskdrake.rc,
- share/themes/DarkMarble-check_on.png, standalone/draknet,
- share/po/br.po, Newt/typemap, share/themes/blueHeart-button2.png,
- share/po/ro.po, share/list, share/po/cs.po, share/po/be.po,
- share/po/sp.po, share/step-orange-click.xpm, modparm.pm,
- share/step-green.xpm, share/rpm-base.xpm,
- share/themes/marble3d-check1.png, crypto.pm, share/po/eu.po,
- share/themes/marble3d-button1.png, c/stuff.pm, install_steps.pm,
- share/Cards2CardsNames, Newt/Makefile.PL,
- share/themes/mdk-Desktop-bg.png, netconnect_consts.pm, share/po/id.po,
- share/themes/mdk-check_on.png, share/po/fi.po, share/po/sk.po,
- standalone/icons/findf.xpm, share/po/lt.po,
- share/themes/mdk-check_off.png, fs.pm, c/.cvsignore,
- share/themes/mdk-toggle_off.png, share/po/ca.po, timezone.pm,
- detect_devices.pm, share/consolefonts/ruscii_8x16, diskdrake.pm,
- standalone/icons/reload.xpm, share/rpm-selected.xpm, resize_fat/io.pm,
- Newt/Newt.xs, Newt/.cvsignore, install2, share/po/pt_BR.po,
- share/themes-marble3d.rc, resize_fat/fat.pm, sbus_probing/main.pm,
- share/template.in/floppy.fsdev.kdelnk.in, printer.pm, share/po/it.po,
- resize_fat/.cvsignore, install_steps_interactive.pm,
- share/themes/mdk-button4.png, live_install, standalone/draknet2,
- any_new.pm, share/list.alpha, share/rpm-semiselected.xpm, c.pm,
- share/logo-mandrake-Desktop.xpm, printerdrake.pm, network.pm,
- share/step-red-on.xpm, share/themes-mdk.rc, share/po/validate.pl,
- swap.pm, share/themes/blueHeart-button4.png, standalone/keyboarddrake,
- g_auto_install, share/po/es.po, standalone/lspcidrake, share/po/de.po,
- partition_table_mac.pm, standalone/mousedrake, devices.pm,
- share/po/ru.po, resize_fat/c_rewritten.xs, share/po/cy.po,
- share/themes/mdk-button1.png, netconnect_new.pm, install_any.pm,
- share/po/nl.po, share/aliases, share/keyboards.tar.bz2, share/po/sv.po,
- Newt/Av_CharPtrPtr.c, c/stuff.xs.pm, share/themes-DarkMarble.rc,
- share/step-red.xpm, Newt/Av_CharPtrPtr.h, c/smp.c,
- share/po/zh_CN.GB2312.po, commands.pm, standalone/icons/find.xpm,
- perl2etags, share/po/Changelog, standalone/drakboot,
- resize_fat/dir_entry.pm, share/fonts.tar.bz2, share/install.rc,
- share/themes/blueHeart-button1.png, share/Cards+, share/po/uk.po,
- share/MonitorsDB, share/template.in/Dos_.kdelnk.in,
- standalone/printerdrake, services.pm, share/kmap2bkmap,
- share/themes/blueHeart-button_def.png, share/po/az.po, share/po/tr.po,
- common.pm, getpkgs_deps, standalone/drakxconf, share/ftout.xpm,
- install_gtk.pm, Xconfigurator_consts.pm, share/consolefonts/lat2-sun16,
- share/po/no.po, resize_fat/boot_sector.pm, share/CardsNames,
- c/Makefile.PL, share/themes-mdk-Desktop.rc,
- share/themes/blueHeart-brown_bg1.png, share/logo-mandrake.xpm,
- share/consolefonts/Cyr_a8x16, standalone/netdrake, standalone/drakgw,
- share/po/sl.po, standalone/rpmdrake, share/makedev.sh,
- share/themes/DarkMarble-button3_in_prelight.png, share/themes-blue.rc,
- install_steps_newt.pm, resize_fat/Makefile.PL, partition_table_empty.pm,
- my_gtk.pm, share/po/i18n_compssUsers, install2.pm, share/compssList,
- share/po/fr.po, share/themes/DarkMarble-button3_in.png,
- standalone/icons/ftin.xpm, share/modparm.lst, raid.pm,
- standalone/diskdrake, share/po/ko.po,
- share/template.in/zip.fsdev.kdelnk.in, share/compssUsers.desktop,
- share/po/ja.po, any.pm, share/isdndb.net,
- share/template.in/floppy.kdelnk.in, share/step-green-on.xpm,
- share/step-red-click.xpm, share/po/Makefile, help.pm,
- share/po/zh_TW.Big5.po, c/sbus.c, genmodparm, share/po/pl.po,
- share/themes-savane.rc, install_steps_stdio.pm, share/po/th.po,
- loopback.pm, resize_fat/any.pm, share/po/el.po, install_steps_gtk.pm,
- Newt/Newt.pm, Xconfigurator.pm, interactive_gtk.pm,
- standalone/drakxservices, resize_fat/Makefile, fsedit.pm,
- interactive_stdio.pm, live_install2, resize_fat/directory.pm,
- share/po/pt.po, install_steps_auto_install.pm, share/po/DrakX.pot,
- share/themes/mdk-bg.png, share/list.ppc, share/po/ga.po, share/po/et.po,
- share/keymaps.tar.bz2, partition_table_bsd.pm, c/md5.c, share/help.xpm,
- share/themes/marble3d-check2.png, ftp.pm, c/md5.h,
- standalone/adduserdrake, share/themes/marble3d-button2.png,
- partition_table_raw.pm, share/template.in/zip.kdelnk.in,
- share/locales.tar.bz2, standalone/icons/fileopen.xpm,
- share/template.in/kppprc.in, ChangeLog, resize_fat/README, mouse.pm,
- commands, standalone/XFdrake, share/gconv.tar.bz2, share/po/eo.po,
- interactive.pm, log.pm, share/themes/DarkMarble-gloom2.png,
- interactive_newt.pm, share/po/da.po, resize_fat/c_rewritten.pm,
- bootloader.pm, share/po/af.po: branch to build the firewall install.
-
-2000/11/28 Franois Pons <fpons@mandrakesoft.com>
-
- * install2.pm: change upgrade section for keyboard.
-
- * install_steps_gtk.pm: extended chooseSizeToInstall.
-
- * install_steps.pm: updated comment.
-
- * pkgs.pm: fixed misuse of map with values returing list which are indexed
- afterward.
-
- * install_any.pm: removed some more logs.
-
- * keyboard.pm: keep track of unknown keyboard (for upgrade)
-
- * install_steps_interactive.pm: modified def_mark to 59 (gl hw
- acceleration level) and upgrade use this level
- for newbies so.
- make sure a recommended upgrade get the minimum and a little more (80).
- choose default size according to a default mark (currently 49).
-
-2000/11/27 dam's <damien@mandrakesoft.com>
-
- * netconnect_consts.pm: added isdn Gazel card 10b5 1151
-
-2000/11/27 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (@bad_types): list of the different type of extended
- partitions
- (important_types): remove @bad_types from important_types
-
-2000/11/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ru.po: updated Russian file
-
-2000/11/24 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: doc + split
-
- * netconnect_new.pm: added depmod after having writed modules.conf
-
- * standalone/mousedrake: splited
-
-2000/11/24 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: avoid .la files for selection.
-
- * install_steps.pm: added missing portmap.
-
-2000/11/23 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet2: progressbar.
-
-2000/11/23 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps_gtk.pm: updated with
- structural change of pkgs.
-
- * install_any.pm: removed some ugly logs.
- updated with structural change of pkgs.
-
- * install_steps.pm: added tempory fix for initscripts %post.
- updated with structural change of pkgs.
-
- * pkgs.pm: synced versionCompare() with rpmtools-2.1-4mdk.
- removed ugly log on transaction.
- added special case to avoid counting kernels space when upgrading
- as these package are not upgraded (just installed).
- Memory usage optimization, change structure of storing
- package informations. lot of fork to make sure of
- freeing memory by perl (no free on used hashes or arrays
- usable by other than perl), now upgrade takes as much as
- install which takes at least 0.5Mb less than before.
-
-2000/11/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: put all tina stuff to weight 0
-
-2000/11/21 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfig.pm: added more subtil upgrade from /etc/X11/XF86Config* files,
- keep
- wacom entries.
-
- * Xconfigurator.pm: upgrade for XF86Config, take care of resolution and
- depth wanted.
-
- * install_steps.pm: always try to get default from /etc/X11/XF86Config
- removing logs.
-
- * pkgs.pm: cosmetic changes for upgrade, removing some logs.
-
- * install_steps_interactive.pm: removed code to ask if take care of
- /etc/X11/XF86Config* files.
- added wait message during rebuild of rpm database as it takes some time.
-
- * Xconfigurator_new.pm: WARNING
-
-2000/11/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: updated Azeri file
-
-2000/11/20 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: clean up as today filelist is no more.
- use parsehdlist from rpmtools-2.1-3mdk or above instead of
- perl code from DrakX forking to simulate a filelist server.
- this increase performance by 100 to 150% on selection of
- packages to upgrade.
-
- * share/list: added parsehdlist.
-
- * c/stuff.xs.pm: removed logs.
-
-2000/11/20 Pixel <pixel@mandrakesoft.com>
-
- * share/Cards+: add radeon
-
- * install_steps_auto_install.pm (exitInstall): fix message
-
- * install_steps.pm (afterInstallPackages): moved the
- writeandclean_ldsoconf here
-
- * fsedit.pm: add /var/ftp and /var/www in the list of propose mount-points
-
-2000/11/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: add openuniverse to the list of gl apps
-
-2000/11/16 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: corrected isdn_get_{list, info}
-
-2000/11/16 Franois Pons <fpons@mandrakesoft.com>
-
- * share/list: include /usr/lib/rpm/macros else rpmlib gets crazy :-)
-
- * modules.pm: tempory version for current glibc, a lot of module have been
- removed due to
- problem of stage1 increase in size when compiled with glibc-2.2 and
- current
- modutils.
-
- * c/Makefile.PL: updated with rpmlib 4.
-
- * c/stuff.xs.pm: completed something that seems to work almost correctly
- at the first look
- with rpmlib 4.
-
-2000/11/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: add netscape-german, thx to florin
- isdn4k-utils gets same weight as isdn4net, thx to Florin
-
-2000/11/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
- * share/po/sk.po: updated Slovak file
-
-2000/11/15 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: added isdn_get_list and isdn_get_info
- calls modules::write_conf to fill the modules.conf.
-
- * Xconfigurator_new.pm: added to fork frontends backends. Not operationnal
- at all for now.
-
- * modules.pm: when loading a new module, add an alias for it, even in
- standalone mode.
-
-2000/11/15 Franois Pons <fpons@mandrakesoft.com>
-
- * c/stuff.xs.pm: updated for rpm 4.
-
- * pkgs.pm: rpmdepOrder again (for new TAGp)
-
-2000/11/15 Pixel <pixel@mandrakesoft.com>
-
- * c/Makefile.PL: add librpmio
-
- * c/stuff.xs.pm: workaround for kernel-headers not in sync with glibc
- (dev_t)
-
-2000/11/14 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: better structure for the ethx-driver.
- added call to add_alias and write_conf
-
- * standalone/draknet2: updated
-
-2000/11/14 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: removed foreach (<... which are eating memory
- fork install on upgrade for searching trhough filelist, this saves
- about 20Mb of memory before rpmlib transaction are started so its is
- more than 2 times faster for upgrading a system, sorry it was
- effectively
- a machine two overloaded that makes the upgrade slower.
- make rpmlib not to check size as DrakX should do it.
- added special cases for selection of packages according to files, avoid
- all kde-i18n packages if their locales-$lang is not selected, avoid
- a -devel package if only one files is updated (typical for fixes on
- package by moving files around).
-
- deactivated rpmdepOrder as it should be done directly in
- depslist.ordered
- file.
-
- fixed obsoletes which never run correctly, even if almost no package are
- selected explicitely this way.
-
- added log during selection of packages to upgrade to keep a track of
- what DrakX is doing.
-
- * modules.pm, network.pm, netconnect.pm, common.pm, modparm.pm,
- Xconfig.pm, commands.pm, lang.pm, fsedit.pm, detect_devices.pm,
- printer.pm, Xconfigurator.pm: removed foreach (<... which are eating
- memory
-
-2000/11/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2000/11/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: Integrate Till's patches for better work with Cups.
-
-2000/11/12 Pixel <pixel@mandrakesoft.com>
-
- * standalone/mousedrake: fix for bug #1350
- (mousedrake dies with: Undefined subroutine &mouse::serial_ports_names)
-
- * pkgs.pm (psUpdateHdlistsDeps): fixed an ugly typo (uses .cz2 for .cz and
- .cz22 for
- .cz2) that makes for than one CD install breaks :-(
-
-2000/11/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
-2000/11/10 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet2: draknet2 : new version of draknet, post-install
- only, uses only libDrakX backend, beautyfull
-
- * netconnect_new.pm: completed adsl_conf_backend
- corrected conf_network_card_backend : return interface and module
- separately
- splitted pppconfig.
-
-2000/11/10 Franois Pons <fpons@mandrakesoft.com>
-
- * share/po/fr.po: typo fixing
-
- * printerdrake.pm: fixed wrong case for managing IP for remove CUPS server
- updated typo for remote CUPS server configuration dialog
-
-2000/11/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po, share/po/lv.po: updated Latvian and Slovak files
-
- * share/po/wa.po, share/po/da.po: updated Danish and Walloon files
-
-2000/11/10 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm: initIMPS2 move where it should be (in non-C_RPM dependent
- section)
-
-2000/11/09 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: added handling for 2 ethernet cards with the same module
-
-2000/11/09 Franois Pons <fpons@mandrakesoft.com>
-
- * share/po/fr.po: add some missing translation (mainly printer for CUPS
- remote config)
-
- * printer.pm: make sure to restart cups when cupsd.conf is modified.
-
- * printerdrake.pm: fixed modification of BrowsePoll on a existing file.
-
-2000/11/08 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: updated
-
-2000/11/08 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: make sure class discarding do not destroy result
-
- * pkgs.pm: added new function for selected or installed accessor on pkg
- make sure package already installed for oem are marked as selected, as
- some
- code refer to this state to perform some actions (install_urpmi)
-
- * install_steps.pm: fixed for urpmi again;
-
- * printerdrake.pm: add management of BrowsePoll <ip>:<port> in
- /etc/cups/cupsd.conf
-
- * printer.pm: add minimal management of /etc/cups/cupsd.conf
-
-2000/11/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/MonitorsDB: Fixed Samsung SyncMaster 3Ne (bug #1136)
-
-2000/11/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po: updated Spanish file
-
-2000/11/07 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: now there are 8 ttyS* available for configuration. Used for
- internal modem configuration that uses ttyS* > 3
-
- * netconnect_new.pm: ttyS0 -> ttyS7 available for configuration
- some doc
-
-2000/11/07 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed text for card prefered in XFree 3.3 (RIVA128).
-
- * install_steps_interactive.pm: use of install_any::boot_medium to avoid
- listing medium used for boot
-
- * install_any.pm: use of $boot_medium where the boot medium is used
- (default 1)
-
-2000/11/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/Cards+: fix tseng server for ET4000 W32i, W32p thanks to
- <sileryti@mail.com>
-
-2000/11/07 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): in oem, configureX automatic
- (main): $::oem is now global :-( (needed in install_steps.pm)
-
- * install_steps.pm (afterInstallPackages): give medium 'cdrom' to
- install_urpmi in case of $::oem
-
-2000/11/06 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: backend/frontend fork complete
-
- * any_new.pm: load_thiskind changed to load_thiskind_backend, the wait
- function is passed by argument
-
- * network.pm: configureNetwork2 commented.
-
-2000/11/06 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: created function for examining already installed package on
- install (oem).
-
- * install2.pm: add a flag to allow by default formating /
-
- * install_steps.pm: conditionnal format of / and use already installed
- packages if any on install.
-
-2000/11/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/MonitorsDB: added Hitachi CM753 contributed by Adam Julius
- <ajulius@yahoo.com>
-
-2000/11/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/ru.po, share/po/uk.po: updated pot file
- GRUB/LILO/SILO messages *must* be in ascii only. Changed cyrillic to
- ascii transliteration for them
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po,
- share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/no.po, share/po/zh_CN.GB2312.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/sl.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
- * keyboard.pm, ChangeLog: added the 3 kbd layouts for CZ and SK kbds
-
-2000/11/06 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (formatPartitions): formatMountPartitions done even in
- upgrade
- (main): set $o->{partitioning}{use_existing_root} in oem
-
- * install_steps.pm (doPartitionDisksAfter): remove the mount_all which is
- plain dumb
- (doPartitionDisksAfter): fs::mount_all moved here
- (doPartitionDisks): use $o->{partitioning}{use_existing_root}
-
- * install_any.pm (use_root_part): fs::mount_all really removed
- (use_root_part): fs::mount_all removed
-
- * install_steps_interactive.pm (choosePartitionsToFormat): don't propose
- already mounted partitions
- (installCrypto): nicer layout
-
-2000/11/05 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: changed 'IntelliMouse label' to 'Generic PS2 Wheel Mouse'
-
-2000/11/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/MonitorsDB: added LG StudioWorks520Si contributed by Yves Maniette
- <yves@maniette.com>
-
-2000/11/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eo.po: updated Esperanto file
-
-2000/10/31 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: continuing forking frontend - backend. adsl ist
- nearly finished
-
- * any_new.pm: added this file to fork frontends and backends in any.pm
-
-2000/10/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: heartbeat pixel wonderful un chien vaut mieux que deux
- tu damsera
-
-2000/10/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po: updated Walloon file
-
- * share/keyboards.tar.bz2: updated keyboards
-
-2000/10/30 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (load_po): backslash @ in po strings, otherwise the eval fails
-
-2000/10/28 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: new version of draknet. Splited frontends - backends
-
-2000/10/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
-2000/10/27 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: remove the noising rpm output command line when loging
- installed rpm
- size (only usefull for live_update and just for conveniance).
-
- * pkgs.pm: Make sure $meta_class is defined in readCompsUsers (for HTTP
- hack)
- before reading a compssUsers file.
-
- * live_install: add VERSION in list of file that have to be symlinked.
-
- * common.pm: list_skels returns list of existing directory and writeable.
-
- * live_install2: Make sure to remove font path in /tmp/drakx before
- exiting.
-
-2000/10/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/tr.po, share/po/it.po: updated Italian and
- Turkish files
-
-2000/10/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: fortune-mod gets 10/0/10 on request from egil
-
-2000/10/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pl.po: updated Polish file
-
-2000/10/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po: updated Catalan file
-
-2000/10/23 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, ChangeLog, diskdrake.pm: added some carriage returns
- to please jl :)
-
- * detect_devices.pm (floppies, probeall): add require "modules" as it
- should be
-
- * install_interactive.pm (partitionWizardSolutions): add "require
- resize_fat::main" as it should be
-
-2000/10/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: linuxconf-gui got -1/-1/-1 while gnome-linuxconf has
- 74/0/74
-
-2000/10/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/uk.po, share/po/tr.po, share/po/az.po: updated Azeri, Turkish
- and Ukrainian files
-
-2000/10/20 fabman
-
- * share/po/es.po: updated
-
-2000/10/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: ntp to -1/-1/-1
-
-2000/10/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: put all packages requiring kde1-compat to 0 except
- kisdn-free
- aumix now gets a high weight (79) because it's required to save the
- mixer
- settings at shutdown
-
-2000/10/19 Pixel <pixel@mandrakesoft.com>
-
- * share/locales.tar.bz2: fix symlink zh_CN.GB2312 (was zh_CN.G23212)
-
-2000/10/19 tlb
-
- * share/po/da.po: 100%, Troels Liebe Bentsen.
-
-2000/10/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: Added AZeri file
-
- * share/po/no.po: updated Norwegian file
-
-2000/10/17 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm, netconnect.pm, netconnect_consts.pm: removed unused
- code in ineractive_gtk
- added some isdn card in pcitable
- corrected typos, and made ISA isdn work
-
-2000/10/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/lv.po: updated Latvian file
-
-2000/10/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file
-
- * standalone/keyboarddrake, keyboard.pm, ChangeLog: corrected BackSpace
- setting
-
-2000/10/16 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (cdroms): fix the setting of scdX for ide burners
-
- * share/compssList: sympa is -1 except for server
-
- * keyboard.pm (write): small pixelization (neater now)
-
- * install_steps.pm (installPackages): don't run ldconfig in g_auto_install
-
-2000/10/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
-
-2000/10/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, keyboard.pm: small fix for Swedish locale
-
- * share/po/DrakX.pot, share/po/es.po, share/po/bg.po, share/po/fr.po,
- share/po/wa.po, share/po/de.po: updated Bulgarian file
-
-2000/10/13 Franois Pons <fpons@mandrakesoft.com>
-
- * partition_table_empty.pm: empty partition table as assumed only if the
- MBR is really composed of only null chars.
-
-2000/10/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: added viavoicemenu
-
-2000/10/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (ask_mntpoint_s): dqs
-
-2000/10/11 Pixel <pixel@mandrakesoft.com>
-
- * .cvsignore: ignore flog files
-
- * install2.pm (main): test
-
- * ChangeLog: qsdqsd
-
- * install_steps_interactive.pm: * (selectKeyboard): set default
- $o->{langs} to $o->{lang}
-
-2000/10/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw, ChangeLog: make only one call to urpmi in order to
- install all the needed rpm's
-
-2000/10/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po, share/po/es.po: updated Norwegian file
-
- * share/po/pl.po: updated Polish file
-
- * share/po/zh_CN.GB2312.po, share/po/zh_TW.Big5.po: updated Chinese file
-
-2000/10/10 tlb
-
- * share/po/da.po: 99%.
-
-2000-10-10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: make only one call to urpmi in order
- to install all the needed rpm's
-
-2000-10-10 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-10 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: increase $::VERSION
-
-2000-10-09 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: update after Dam's new messages in netconnect
-
-2000-10-09 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-09 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (kdeicons_postinstall): remove the handling of
- doc desktop icons. see dadou
-
-2000-10-09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssUsers: new list (with icons)
-
- * share/list: add icons for compssUsers
-
-2000-10-09 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: added wait message
-
-2000-10-09 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-09 Pixel <pixel@mandrakesoft.com>
-
- * share/themes-*.rc: change the fg[INSENSITIVE] entry
-
-2000-10-09 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: added tuxracer in OpenGL games to install if an
- accelerated card has been found.
-
-2000-10-09 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (main): asking connection after writing start/stop scripts.
- (adsl_conf): if during install, don't use chkconfig, make the
- links directly for the adsl init script.
-
-2000-10-09 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-09 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): UserView in kdmrc is
- now true by default. So put false if security >= 3 instead of
- removing it.
-
-2000-10-09 Franois Pons <fpons@mandrakesoft.com>
-
- * any.pm: default speed of modem set to 115200.
-
- * fs.pm: fixed format of RAID partition.
-
- * install_interactive.pm: take into account RAID partitions for
- searching / partition.
-
-2000-10-09 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-09 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (selectKeyboard): don't assume $o->{langs} is set
- (selectLanguage): don't set $o->{langs} (so that you can go back
- and it works)
-
- * common.pm (round_up, round_down): ensure number is an integer
-
- * install_steps_interactive.pm (chooseGroups): take into account
- the min_level to compute the size
-
-2000-10-08 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): move the
- computing of max_size before calling chooseGroups (not the one for
- desktop meta_class)
- (chooseGroups): compute the size of Miscellaneous
-
-2000-10-07 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-07 Pixel <pixel@mandrakesoft.com>
-
- * share/compssList: don't install locales-* even in 'all' install
- (those files are usefull if RPM_INSTALL_LANG doesn't include that
- lang)
-
-2000-10-07 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-07 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (install): log the gonna be installed packages (-> be
- able to track not installed packages that should have been
- installed)
-
-2000-10-06 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-06 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (pppConfig): the domain used for kppp is copied in resolv.conf
- (intro): connection detection improved : now use "ifconfig | grep interface"
- (pppConfig): corrected cnx_up/down
-
-2000-10-06 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-06 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): don't fail if
- kdeglobals file is not there
-
- * share/compssUsers.desktop: fix icons
-
- * detect_devices.pm (cdroms): fix for scsi cdrom drives
-
- * pci_probing/pcitable: put cs46xx instead of snd-card-cs461x
- (dixit jeff)
-
- * diskdrake.pm (Resize): comment ext2&reiserfs resizing for the
- moment
-
-2000-10-06 Frederic Lepied <flepied@mandrakesoft.com>
-
- * Xconfigurator.pm (write_XF86Config): added mode of wacom devices
-
-2000-10-06 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (ask_connect_now): connection is now tested.
-
-2000-10-06 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps_gtk.pm: updated
- license.
-
- * Xconfigurator.pm: removed Matrox G200/G400 3D acceleration by
- DRI, use only Mesa with Utah GLX, fixed autologin for avoiding
- drakres and no wm available, moved Riva128 card from experimental
- to stable, fixed presentations of text.
-
- * pci_probing/pcitable: fixed Cirrus Logic sound card.
-
-2000-10-06 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-06 Franois Pons <fpons@mandrakesoft.com>
-
- * install2.pm: fixed bad call to hasUsb...
-
- * share/Cards+: fixed wrong use of SiS card with 4.0.1, only keep
- 530, 620 and 6326 with XFree 4.0.1.
-
-2000-10-06 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-06 Pixel <pixel@mandrakesoft.com>
-
- * share/list: remove /usr/X11R6/lib/X11/Cards, not needed anymore
-
- * install_steps.pm (afterInstallPackages): put the Charset in
- kdeglobals, otherwise kde uses charset iso8859-1 :(
-
- * lang.pm (charset): created
-
- * common.pm (update_userkderc): fix it, change the argument
- passing
-
-2000-10-05 Pixel <pixel@mandrakesoft.com>
-
- * share/compssList: raise kde-i18n-*, should be installed whenever
- kdebase is installed
-
- * pci_probing/pcitable: integrate patch from viet (concerns
- sym53c8xx cards)
-
- * share/compssUsers: use "documentation" as the database icon
-
- * install_steps_interactive.pm (chooseGroups): fix to accept icons
- not in the format "*_section.xpm"
-
- * install2.pm (miscellaneous): put yes/no in sysconfig/usb entries
-
-2000-10-05 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (adsl_conf): updated pppoe conf.
- (main): added $netc->{minus_one} to avoid to count dhcp configured
- eth when asking to share the connection.
- (adsl-pppoe): improvement. Should work now.
- (miscellaneous): corrected chmod 755 to 744 for connections scripts
-
- * netconnect.pm (main): network is stopped then started, instead
- of restarted.
-
-2000-10-05 Franois Pons <fpons@mandrakesoft.com>
-
- * live_install: added icons (this fixes the yellow on white
- tooltips problem).
-
- * install_any.pm: added ghostscript-utils in the list of packages
- to copy when changing CD.
-
- * printerdrake.pm: install ghostscript-utils if a lexmark printer
- is selected on cups.
-
-2000-10-05 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-05 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (loadO): look for auto_inst.cfg in /, not in
- /Mandrake/base
-
-2000-10-05 Franois Pons <fpons@mandrakesoft.com>
-
- * netconnect.pm: fixed syntax error.
-
- * share/po/i18n_compssUsers: simplified version and fixed
- dependancies to pkgs.pm (for building drakxtools).
-
-2000-10-04 Franois Pons <fpons@mandrakesoft.com>
-
- * install_gtk.pm: removed 80 pixel on height for live upgrade.
-
- * install_steps.pm: do not set keyboard when live upgrade after
- setting the language.
-
- * install_steps_gtk.pm: fixed the trying to start a X server on
- live.
-
-2000-10-04 Pixel <pixel@mandrakesoft.com>
-
- * share/po/i18n_compssUsers: fake module ``c'' so that no need to
- build DrakX to use i18n_compssUsers
-
- * install_steps_interactive.pm (selectLanguage): update license
-
- * install_steps_gtk.pm (installPackages): add second license for
- shitty soft (commercial one)
-
-2000-10-04 dam's <damien@mandrakesoft.com>
-
- * draknet (netconnect.pm and network.pm): various translations
- corrected, network is restarted, buttons connect/disconnect
- debugged.
-
-2000-10-04 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-04 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (main): kill prefdm instead of autologin
-
- * install_any.pm (find_root_parts): don't use
- suggest_mount_points, it couldn't do what we wanted
- (guess_mount_point): created, contains the common stuff between
- suggest_mount_points and find_root_parts
-
-2000-10-04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: fix some failing/untranslated i18n messages
-
- * share/po/fr.po: write translations according to drakgw
-
-2000-10-04 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: removed bad card for 3D Rage Pro.
-
- * install_any.pm: removed Aurora for SiS card, add more case for
- detecting right cdrom for live upgrade, fixed wrong list of
- packages for laptops.
-
- * c/stuff.xs.pm: added time interval of 200ms between update of
- progression bar of install, make sure the last step is seen.
-
-2000-10-04 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-04 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (when_load): stricter regexp for $type is scsi or not
- (so that scsi_mod with is scsi_raw doesn't get an alias
- scsi_hostadapter)
-
- * detect_devices.pm (isLS120Drive): extend the regexp to include
- "Caleb Technology - 144MB FDD UHD Floppy"
-
- * detect_devices.pm (burners, IDEburners): reworked, renamed, now
- works!
- * c/stuff.xs.pm (isBurner): created
-
- * modules.pm (load_ide): make sure ide-cd is loaded!
-
- * install_steps_interactive.pm (chooseGroups): the label and help
- are now translated (at least will be), so use the translations
-
-2000-10-03 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile (DrakX.pot): added the to-be-translated from
- compssUsers
- * share/po/i18n_compssUsers: read the compssUsers's and output the
- to-be-translated in po format
-
- * log.pm (l): log to STDERR instead of STDOUT
-
- * install_any.pm (loadO): use first floppy drive available (won't
- help much though, as stage1 doesn't follow this...)
-
-2000-10-03 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-03 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (autologin): don't propose autologin in
- security > 3
-
- * common.pm (availableRamMB): HACK HACK if i810 and memsize,
- returns 127
-
- * bootloader.pm (suggest): don't use grub if more than 800MB
-
-2000-10-04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/validate.pl: create this tool
-
- * share/po/fr.po: fix many typos
-
- * share/po/fr.po: make compssUsers translation
-
-2000-10-03 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: changed resolution allocation.
-
- * fs.pm: removed no more used log.
-
- * install2.pm: add exit button if live upgrade.
-
- * install_any.pm: increased minimal available size to 65Mb.
-
- * install_steps.pm, standalone/printerdrake: fixed cups to CUPS
- for mode.
-
- * printerdrake.pm: fixed not_edit for lpr mode of printerdrake.
-
- * share/Cards+: fixed Savage2000 entry.
-
-2000-10-03 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-03 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: updated bad card with Rage Mobility card.
-
- * live_install: added test of root user, abort if not root.
-
-2000-10-03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fixed bug #518 and fixed other misc errors
-
-2000-10-03 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-10-02 Franois Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm (Resize): fix to make ext2resizing work a little
- better
-
- * install_steps.pm: fixed installation of urpmi configuration.
-
- * detect_devices.pm: updated comment about UltraDMA66/100
- management.
-
- * modules.pm: updated comment about UltraDMA66/100 management.
-
- * diskdrake.pm: adding a cylinder for the minimum of the resize
- and if there is nothing to do for resize, simply return.
-
- * install_any.pm: added missing require pkgs.
-
-2000-10-02 Pixel <pixel@mandrakesoft.com>
-
- * many files: remove many lnx4win special cases which are not
- needed anymore
-
- * any.pm (addUsers): grpuser output goes to Mr Dave
-
- * bootloader.pm (install_lilo): change the default color of menu
-
- * install_steps_interactive.pm (choosePackages): add 300MB choice
- in desktop
-
- * mouse.pm (fullnames): fix i18n fix
-
- * install_steps.pm (miscellaneous): don't add ide2=0x... for
- ultra66 (otherwise chmouel is not happy, so is hdc being hde)
-
- * Xconfigurator.pm (main): add handling of icewm logout
-
- * c/stuff.xs.pm: changed the stepping of "Progressing installing package"
-
-2000-10-02 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (main): infos are written only when needed.
- * netconnect.pm (intro): connection checking now works.
-
-2000-10-02 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * pci_probing/pcitable: s|snd-card-via686a|via82cxxx_audio|; like
- jeff request.
-
-2000-09-30 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-30 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: a LOT of bugs fixed. draknet is now completely
- brok^H^H^H^Hfrozen.
-
-2000-09-29 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-29 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (adsl_conf): dhcp should better work.
-
- * network.pm (configureNetwork): remove connection script if a
- gateway is given.
-
- * common.pm (setVarsInShMode): created. chmod the file with
- permissions passed in argument.
-
-2000-09-29 Franois Pons <fpons@mandrakesoft.com>
-
- * modules.pm (load): fixed when standalone, use modprobe.
-
- * pkgs.pm: added preference for wu-ftpd.
-
- * detect_devices.pm: added code to proble USB printer.
-
- * printer.pm: fixed missing PRINTER=yes on CUPS configuration for
- USB printer.
-
- * install_steps.pm: removed possibilty to add an user in urpmi
- group (jloup).
-
- * install_steps_interactive.pm: log if CD not ejectable.
-
-2000-09-29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: sync with latest packages
-
- * install_steps_interactive.pm (selectLanguage($)): s/42/43/ in
- MandrakeSoft physical address
-
-2000-09-29 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-29 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (intro): detection of internet
- configuration/connexion state.
-
- * network.pm (write_resolv_conf): better "ppp temp nameserver" in resolv.conf
-
-2000-09-28 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (load_thiskind): add read_already_loaded cuz of
- pcmcia
-
-2000-09-28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: add nasty DrakSync and DrakProfile with 50 0 50
-
-2000-09-28 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): the minimum is 25
- in beginner, not 10
-
- * pkgs.pm (readCompssUsers): fix reading description
-
- * install_steps.pm (afterInstallPackages): remove the code to
- handle RPM-GPG-KEYS
-
-2000-09-28 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_list_with_helpW): no more theme
- parsing, no more draknet.rc
-
- * netconnect.pm (read_net_conf): no adsl tree anymore.
-
- * netconnect.pm: drakgw called if enough card are installed.
-
- * netconnect.pm: minor bugs correction.
-
-2000-09-28 Franois Pons <fpons@mandrakesoft.com>
-
- * Makefile.config: added livedrake for drakxtools.
- * diskdrake.pm: use corrected partition size when resizing a dos
- partition (like the others).
- * install_any.pm: no more pnm2ppa packages and others in package
- to copy when changing CD.
- * live_install: exec live_install2 instead.
- * live_install2: contains post live upgrade stuff now.
- * printerdrake.pm: protect set_help() usage by if $::isInstall,
- removed reference to package pnm2ppa and others.
- * standalone/livedrake: initial release for drakxtools.
-
-2000-09-28 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-28 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm (partitionWizardSolutions): fix the limit
- cases for lnx4win
-
- * share/po/Makefile ($(PMSCFILES)): fix the DrakX.pot generation
-
-2000-09-27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): set $size2install
- to $availableC in desktop install, as it should be
-
- * install2.pm (choosePackages): remove the code for removing kdesu
- in high security...
-
- * install_steps_interactive.pm (createBootdisk): format more
- nicely the text
-
- * install_steps_gtk.pm (installPackages): add 10 seconds to have a
- better estimation
-
- * install_steps_interactive.pm (chooseGroups): now returns a boolean
- (choosePackages): use chooseGroups return value to redo
- choosePackages
-
- * install_steps_gtk.pm (selectMouse): if mouse type is none, then
- don't test!
-
- * Xconfigurator.pm (monitorConfiguration): rename Unlisted to Custom
-
- * various: replace all Rescue by Update
-
- * pkgs.pm (readCompssUsers): read description for groups
-
- * install_steps_interactive.pm (chooseGroups): add description for
- groups
-
-2000-09-27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssUsers.desktop: added description
-
- * share/compssUsers: added description
-
- * share/compssUsers.desktop: added icon support, reordered,
- renamed
-
- * share/compssUsers: reordered, renamed
-
-2000-09-27 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectLanguage): intregrate
- license again
-
- * pkgs.pm (readCompssUsers): reads compssUsers.meta_class
-
- * diskdrake.pm (Create): replace ``ne "i386"'' by ``!~ /i.86/''
- (as should be)
-
- * install_steps_gtk.pm (selectInstallClass1): if @$l (list of
- install classes) contains only one element, call
- install_steps_interactive::selectInstallClass1
-
- * install_steps_interactive.pm (choosePartitionsToFormat): fix for
- "no partitions selected to format"
-
- * my_gtk.pm (_create_window): alt-e now *toggles* expert/newbie
-
-2000-09-27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: more for gnupg, -11 for sucking things,
- changed compss-groups to be less than 70.
-
- * share/compssUsers: modified compssUsers with Warly, added
- compssUsers.desktop, simplified for KD (now uses Graphical
- Desktop/KDE instead of listing all relevant packages)
-
-2000-09-27 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (get_info_adsl_providers, read_adsl_providers):
- Created. adsl provider tree.
- (set_net_conf): better informations storing.
-
- * my_gtk.pm (new): windows are always centered if standalone.
-
-2000-09-27 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added option "sw_cursor" for S3 Trio3D. fixed
- 3D hw acceleration for i815 (VideoRam). prefer XF3 for all
- NeoMagic cards.
- * install_gtk.pm: re-enabled themes on live upgrade but without
- modifying background image.
- * install_steps_gtk.pm: fixed missing help.
- * live_install: lot of fixes to enable DrakX font, keep upgraded
- system clean (libperl.so which allows graphical login).
- * pkgs.pm: added function allowedToUpgrade to filter kernel
- package.
-
-2000-09-27 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (configureX): if `clicked' don't go
- to auto mode
-
- * Xconfigurator.pm (monitorConfiguration): fix the translated
- 'Generic' which is not so (and must not be so) anymore
-
-2000-09-26 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: remove all Unskip code
-
- * my_gtk.pm (_create_window): add shortcut alt-e to switch to
- expert
-
- * Xconfigurator.pm (resolutionsConfiguration): fix for setting
- legal resolution
-
- * install_steps_interactive.pm (selectLanguage): use formatAlaTeX
- on the license
-
-2000-09-26 Franois Pons <fpons@mandrakesoft.com>
-
- * fs.pm: added mounting of swap partition when mounting them
- all (this can help :-)
- * pkgs.pm: fixed correction size code to make (really) a true
- bijection between corrected and rpm size.
-
-2000-09-26 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectLanguage): integrate the
- license (temporary one)
-
- * modules.pm (write_conf): fix the /etc/modules generation
-
- * interactive_gtk.pm (ask_many_from_listW): if more than 5 entries
- in icon format, use scrollbar. In non-icon format, use scrollbar
- for more than 11 entries.
-
- * commands.pm (bug): add ddcxinfos
-
- * pci_probing/pcitable: replace tulip by de4x5 for 2104x cards
-
-2000-09-26 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added more 3D Rage Pro card for 3D
- acceleration with Utah-GLX (Rage Mobility, Rage XC/XL),
- modified identification for checking acceleration.
- * install_any.pm: added automatic installation (up 60) for
- OpenGL games if a graphic card MAY BE accelerated.
- * live_install: fixed perl idioms in pure shell script and added
- packdrake symlink if not already installed.
- * share/compssList: changed level to -1 for all needing 3D hw
- acceleration packages.
-
-2000-09-26 dam's <damien@mandrakesoft.com>
-
- * network.pm (write_resolv_conf): write temp dns line to be used
- with new initscripts package. Use to set dns live.
-
-2000-09-26 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-26 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (read): catch exception if fullname2mouse fails (eg:
- old FULLNAME format)
-
-2000-09-25 Pixel <pixel@mandrakesoft.com>
-
- * share/MonitorsDB: merge with latest redhat MonitorsDB
-
- * pci_probing/pcitable: major merge with latest redhat pcitable
-
- * share/Cards+: added "Intel 815", renamed "Rage 128 (generic)" to
- "Rage 128", added "Rage 128 Mobility"
-
- * install_any.pm (getAvailableSpace): keep 10% of free space on
- big partitions
-
- * Xconfigurator.pm (readMonitorsDB): don't translate Generic
- (otherwise, only a part is translated, see MonitorsDB for the
- non-translated part)
-
- * interactive.pm (ask_many_from_list): fix sorting
-
- * install_gtk.pm (test_mouse): smaller box to fit in 640x480
-
- * install_steps.pm (afterInstallPackages, beforeInstallPackages):
- RPM-GPG-KEYS is copied before installing packages
-
- * pkgs.pm (readCompssUsers): handle icons in compssUsers
-
- * common.pm (truncate_list): ensure the list is not too big
-
- * install_steps_gtk.pm (choosePackagesTree): restrict the list to
- 20 elements if it is too big (use truncate_list)
-
-2000-09-25 Franois Pons <fpons@mandrakesoft.com>
-
- * bootloader.pm: add Video mode for entry.
- * fs.pm: updated for live upgrade.
- * install2.pm: dropped unuseful steps filtering.
- * install_any.pm: fixed wrong Device3Dfx package name and clean
- postinstall rpms directory on upgrade before filling it.
- * install_gtk.pm: removed window restrictions of live upgrade.
- * install_steps.pm: fixed initrd symlink following in case of
- upgrade.
- * install_steps_gtk.pm, install_steps_interactive.pm: keep always
- upgrade on live upgrade.
- * modules.pm: may fixed pcmcia lost driver (typically on network).
- * pkgs.pm: fixed (uggly?) usage of floating perl data on perl
- script :-)
- * printer.pm: back to "Generic PostScript" for default printer (jloup).
- * printerdrake.pm: make sure an expert can choose among available
- devices.
-
-2000-09-25 dam's <damien@mandrakesoft.com>
-
- * network.pm (write_resolv_conf): write '# ppp temp entry adsl' in
- /etc/resolv.conf if needed.
-
- * netconnect.pm : adsl connection does'nt need any dns anymore.
-
- * netconnect.pm (read_net_conf): created. draknet now stores and
- reload the config.
-
- * netconnect.pm (main): if the user is french and uses french
- keyboard, don't ask his country.
-
-2000-09-25 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: added 8139too
-
- * share/Cards+: GeForce2 DDR is handled by driver "nv"
-
- * Xconfigurator.pm (main): in killall X for Xdrakres, also killall
- kdm/xdm/gdm/autologin :)
-
-2000-09-25 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-25 dam's <damien@mandrakesoft.com>
-
- * network.pm (configureNetwork): Warn user if he already
- configured the interface.
-
-2000-09-24 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (mergein_conf): created. call read_conf, fills
- %modules::conf and set $modules::scsi
-
-2000-09-24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw (fatal_quit($)): add log of reason of fatal_quit
-
-2000-09-24 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-24 Pixel <pixel@mandrakesoft.com>
-
- * commands.pm (bug): use first floppy drive instead of fd0 hard
- coded (nice for LS120's)
-
- * install_steps_gtk.pm (selectMouse): if device changed, do the
- test
- * standalone/mousedrake: fix for serial mice
- * install_steps_interactive.pm (selectMouse): fix for serial mice
-
-2000-09-23 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (conf_network_card): now displays the modules of
- detected ethernet cards.
-
-2000-09-22 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (main): calls drakegw.
- * netconnect.pm (get_net_device): fixed
-
-2000-09-22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw:
- - added logs
- - added verbose mode
- - fixed wrong stopping of named in other languages than english
-
- * netconnect.pm (get_net_device): try to fix it..
-
-2000-09-22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectKeyboard,
- choosePartitionsToFormat, chooseCD, installCrypto): use new ask_many_from_list
- ():
-
- * interactive.pm (ask_many_from_list): now only ask_many_from_list
- exists, obsoleting ask_many_from_list_ref and
- ask_many_from_list_with_help. More flexible and nicer
- * interactive_newt.pm (ask_many_from_listW): adapted to new
- calling type
- * interactive_gtk.pm (ask_many_from_listW): adapted to new calling
- type, handle 'shadow' and 'icon2f'
-
-2000-09-22 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): if /lnx4win/i in VERSION, set $o->{lnx4win}
-
- * Xconfigurator.pm (cardConfiguration): fix setting 4MB of meg for
- i810
- (testFinalConfig): i810 is a verybad_card, aka can't test anything
- on it :-(
- (main): fork to background and stay there while waiting for the WM
- to exit
- (testFinalConfig): update the backgroung image path
-
- * interactive_gtk.pm (exit): flush X before leaving (otherwise the
- mousecursor is not restored)
-
- * run_program.pm (rooted): don't redirect the stdout and stderr to
- ddebug.log if not $::isInstall
-
- * log.pm (l): log on stdout/stderr if !isInstall and !isStandalone
-
- * modules.pm (load_raw): redirect stderr to tty5
-
- * install2.pm (main): set variable $::isInstall
-
-2000-09-22 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: now includes information from netconnect to
- ignore the interface used for Internet connection
-
-2000-09-22 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm (selectInstallClass1): pixel's typo.
-
- * netconnect.pm (get_net_device): added get_net_device to know
- which interface has been used to configure the internet connection.
- (conf_network_card): ask to restart network if dhcp too.
- (main): enable dialing when modem.
-
- * network.pm (configureNetworkIntf): changed label to warn people
- about already configured eth cards.
-
-2000-09-22 Franois Pons <fpons@mandrakesoft.com>
-
- * install_gtk.pm: added Desktop themes.
- * share/themes-mdk-Desktop.rc, share/themes/mdk-Desktop-bg.png:
- initial release.
- * install2.pm: moved back to all steps for live upgrade.
- * install_gtk.pm: select right logo if desktop.
- * install_steps_interactive, install_steps_gtk.pm: avoid asking if
- upgrade for a live upgrade.
-
-2000-09-22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: add some call to log_sizes to log the
- installed size
-
- * install_steps_gtk.pm (installPackages): beep before changeMedium
-
-2000-09-21 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_listf): try to call the f translation
- function on the default value with the index
-
- * install_steps.pm (afterInstallPackages): make the gpg code work,
- changed the call to
- "gpg --fast-import --homedir /etc/rpm /root/tmp/RPM-GPG-KEYS"
-
- * detect_devices.pm: cleanup and removed unused code
-
-2000-09-21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * detect_devices.pm (getNet()): really remove plip in standalone
-
-2000-09-21 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm, netconnect.pm: changed NETWORKING reference
- from false to no.
- * printer.pm: changed timeout from 30 to 60.
- * printerdrake.pm: added wait message when waiting for cups to
- start.
- * pci_probing/pcitable: added erwan VIA Rhine board.
- * network.pm: added DHCP_HOSTNAME reference.
-
-2000-09-21 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-21 Pixel <pixel@mandrakesoft.com>
-
- * standalone/keyboarddrake: fix for XF4
-
- * Xconfigurator.pm (write_XF86Config): comment the omit
- xfree86-dga
-
- * install_steps.pm (afterInstallPackages): configure GPG public
- keyring with mandrake key
-
- * standalone/mousedrake: updated/fixed for new mouse handling
-
- * install2.pm (main): update for handling oem installs
-
- * many files: relGetFile cleanup, updated calls to getFile and
- getAndSaveFile accordingly
-
- * Xconfigurator.pm (testFinalConfig): new XFdrake-image-test.jpg
-
- * detect_devices.pm (@netdevices): plip removed in standalone,
- otherwise plip is always there (because of kmod)
-
- * install_steps_interactive.pm (choosePartitionsToFormat): replace
- the die "cancel" by die "already displayed", so that no error is
- displayed.
-
- * pci_probing/pcitable: replace some rtl8139 by 8139too, added
- cards DELTA8139 and ADDTRON8139 (for jeff)
-
- * Xconfigurator.pm (show_info): also show the colordepth and
- resolution. don't show server if none, show XF4 driver if there's
- one.
- (main): change the "Forget the changes" to "Keep the changes?"
- with displaying the current configuration.
-
-2000-09-21 Franois Pons <fpons@mandrakesoft.com>
-
- * printer.pm: changed "PostScript" ppd default description to "Raw
- queue (no filtering)", asked by Till.
- * Xconfigurator.pm: add log of what user select for 3D hw
- acceleration.
- * share/compssList: changed XFree86-glide-module to -2 because the
- level is the same for XFree86-Glide* which may have multiple
- different version installed due to dependancies of the first one.
-
-2000-09-21 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (conf_network_card): added check when dhcp. Cable connection
- should now work.
-
-2000-09-21 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (exitInstall): call $o->exit if
- "Some steps are not completed"
-
-2000-09-20 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (install_loadlin_config_sys,
- install_loadlin_desktop): extracted from install_loadlin, do not
- call them anymore (remove it?)
- (suggest): put grub in lnx4win install
-
- * common.pm (availableRamMB): fixed (round to a multiple of 4)
-
-2000-09-20 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (get_info_isdn_providers & read_isdn_providers):
- read file in /usr/share and $prefix/usr/share
- (isdn_write_config): corrected file to be sh compliant.
- (isdn_write_config): added default route settings for isdn.
-
-2000-09-20 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-20 Pixel <pixel@mandrakesoft.com>
-
- * pci_probing/pcitable: replace es1371 by snd-card-ens1371
-
-2000-09-20 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm (autologin): for urpmi, added `--best-output' and suspend/resume
-
-2000-09-20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/printerdrake: for urpmi, added `--best-output' and suspend/resume
-
- * standalone/XFdrake: for urpmi, added `--best-output' and suspend/resume
-
-2000-09-20 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: used new package install function.
-
-2000-09-20 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (isFloppyOrHD): detects wether a device is a
- floppy or not based on its size (for scsi floppy)
-
- * Xconfigurator.pm (testFinalConfig): check if "server" OR
- "driver" field is set (otherwise XF4 only card won't pass)
-
- * bootloader.pm (suggest): fix for ``installing the last cooker
- from kenobi:/I on an smp machine i don't get anymore an entry for
- linux-up'' (c chmouel)
-
-2000-09-20 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (read_isdn_providers): corrected typo ($_ -> $_[0])
-
-2000-09-20 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-19 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (get_pcmcia_devices): fix (especially, now ethernet
- should be detected)
-
- * lang.pm (get_langs): created, gives rpm install langs
- * install_any.pm (setPackages): give langs::get_langs() to
- readCompssList
- * pkgs.pm (readCompssList): don't use RPM_INSTALL_LANG, use given
- $langs instead. This fixes the RPM_INSTALL_LANG=all install.
-
-2000-09-19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * netconnect.pm: make dhcp-client, pump and such not translatable.
- Those are program names and should therefore not be translated,
- that only confuses translators
-
-2000-09-19 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm (autologin): corrected @users definition and
- passwd cat.
-
-2000-09-19 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-19 Pixel <pixel@mandrakesoft.com>
-
- * many files: changed some access to get_root to get_root_
-
- * install_steps_interactive.pm (choosePackages): added code for
- desktop meta_class install type
-
- * install_steps_gtk.pm (selectMouse): cleanup, give parameter
- emulate3buttons to setMouseLive
- * c/stuff.xs.pm (setMouseLive): add argument emulate3buttons
-
-2000-09-19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive*.pm: changed `suspend' and `resume' to behave as expected,
- added `enter_console' and `leave_console'
-
-2000-09-19 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-19 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (miscellaneous): replaced LITTLE_FRIED_OIGNONS by
- META_CLASS
-
- * Xconfigurator.pm (cardConfiguration): when ddcxinfos gives false
- result (not enough VideoRam), also remove the found resolutions
- * Xconfigurator.pm (main): remove the automatic searching of
- resolutions
- * Xconfigurator.pm (resolutionsConfiguration): cleanup, remove the
- automatic searching of resolutions.
-
- * mouse.pm (fullnames): changed the `_' in `[' before Other
- (nicer, uh?)
-
- * install2.pm (selectMouse): changed clicked to !first_time
-
-2000-09-19 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-19 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (testFinalConfig): remove the bloody prototype
-
-2000-09-19 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-18 Dam's <damien@mandrakesoft.com>
-
- * Xconfigurator (autologin): do it eve, if newbie. Autologin is
- now in separated function.
-
-2000-09-18 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (testFinalConfig): don't skip the test in auto
- if called via "Test again"
- * Xconfigurator.pm (resolutionsConfiguration): ensure all depth
- are bounded
-
- * bootloader.pm (suggest): don't put "linux-nonfb" if "linux" is
- classic and no-fb
-
- * fsedit.pm (check_mntpoint): add a check for /etc /lib... which
- must not be mount points. Also check that /home, /tmp and /usr are
- on trueFS
-
- * interactive.pm (ask_from_entries_ref): add bounding of "val" in
- case of type "range". die if min > max.
-
-2000-09-18 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-18 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): nicer
- partition/device display
-
- * partition_table_raw.pm (zero_MBR): add on the fly require of the
- good partition_table_$type
-
- * detect_devices.pm (cdroms): fix (yet again) the scd$nb device
- assignment to ide burners
-
- * install_steps.pm (afterInstallPackages): comment out a part of
- the icons mess messing
-
- * Xconfigurator.pm (cardConfiguration): move Unlisted to
- Other/Unlisted
- * share/CardsNames: updated (for Voodoo5)
-
- * install_steps_gtk.pm (selectMouse): fix the test to know wether
- the guy has changed the mouse type (to know wether to test the
- mouse or not)
-
- * install_steps_interactive.pm (selectLanguage): add the license
-
- * install_steps_interactive.pm (choosePackages): have the
- "Recommended" size be the default
- (in the choice Minimum/Recommanded/Complete)
-
- * diskdrake.pm (Type): fix a typo
-
- * install_steps.pm (doPartitionDisksAfter): mark partition as
- mounted
-
-2000-09-17 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-17 Pixel <pixel@mandrakesoft.com>
-
- * install/pcmcia_config.patch: cleaned
-
- * diskdrake.pm (Create, Type): have type field not_editable
-
- * tools/make_mdkinst_stage2: use TMPDIR if available
-
-2000-09-16 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): move
- the setting of toFormat before asking for bad blocks, seems to fix
- things?? weird :-/
-
- * network.pm (miscellaneousNetwork): fix the setting of focus on
- error (tx2Thomas Poindessous :)
-
- * install_steps_interactive.pm (configurePrinter): changed
- "Cancel" to "None" (for Thomas Poindessous :)
-
- * printer.pm (poll_ppd_base): max polling time raised from 10s to
- 30s (for Till)
-
- * install_steps.pm (ask_mntpoint_s): don't force partition type to
- be ext2 (at least if it's a known fs) (for Warly)
-
-2000-09-15 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (set_help): save the help message displayed
- in $o->{current_help}
- * install_gtk.pm (create_big_help): display $o->{current_help}
-
- * mouse.pm: reworked quite a lot. Now sorts/categorize nicely the mice.
- * install_steps_interactive.pm (selectMouse): adapted for reworked mouse.pm
- * install2.pm (selectMouse): adapted for mouse::read now returning
- an hash ref
-
- * detect_devices.pm (hasMousePS2): remove hasMouseMacUSB, do it in
- one function (now takes the device in the parameter)
-
- * interactive.pm (ask_from_treelistf): added (just like
- ask_from_listf, but with a tree)
-
- * Xconfigurator.pm: the reference is now nbuttons to
- know wether to put Emulate3Buttons or ZAxisMapping.
- * Xconfigurator.pm (cardConfiguration): install Glide_V3-DRI on
- Banshee too.
-
- * Xconfig.pm: guess nbuttons based on Emulate3Buttons and
- ZAxisMapping.
-
- * common.pm (availableRamMB): replace availableRam, now use the
- size of /proc/kcore (what else to find the real ramsize?)
-
- * common.pm (cat__): created
-
- * install2.pm (main): add field meta_class in $o. Can be
- 'desktop', in case option desktop is given, or if /desktop/i is
- found in /VERSION
-
- * install_steps.pm (miscellaneous): for lnx4win, always have
- 'mem=' (so that the initrd is visible by both windows
-
- * install2.pm (main): add option "desktop"
-
- * install_any.pm (generate_ks_cfg): fix for new(?) $o->{intf} format
-
- * install_interactive.pm (partitionWizardSolutions):
- use only TrueFS for existing_part
- (partitionWizard): have only "loopback" for lnx4win
-
- * pci_probing/pcitable: associate Voodoo5 with Voodoo5
-
- * share/Cards+: add Voodoo5
-
- * bootloader.pm (suggest): add entry linux-nonfb (called linux-up
- for smp)
-
-2000-09-14 DrakX <install@linux-mandrake.com>
-
- * snapshot uploaded
-
-2000-09-12 Franois Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm, mouse.pm: moved probing serial port before to
- detect a wacom tablet (even if a PS/2 or USB mouse is found).
- * help.pm: corrected reference to previous version of LM (jloup).
- * install2.pm: removed duplicate code for getting network
- configuration, using network module.
- * netconnect.pm: intf is now a hash and no more an array.
- * network.pm: changed nature of intf to hash from array, reworked
- write_resolv_conf function to keep old code in comment but only
- when not used anymore (to make it easier by hand modification).
- * printer.pm: SOCKET accessible to expert only (jloup).
- * printerdrake.pm: local port only available for expert if a
- printer has been detected (jloup).
-
-2000-09-11 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: reorganized choices of 3D optimizations, added
- experimental support for expert users.
- * install_steps_interactive.pm: removed question to keep XF3.
-
-2000-09-05 Franois Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: removed all previous URI specific mode and
- added socket and expert URI general mode.
- * printer.pm: fixed bugs, start lo interface before cups.
-
-2000-09-04 Franois Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: added pnm2ppa and lm110 support in cups
- configuration. probe for printer device (parallel) and try to
- install usb for printer.
- * printer.pm: removed local printer configuration for cups (keep
- only local configuration using URI).
-
-2000-09-01 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixes to configure XF86Config-4 when XFree-3.3
- is installed, make 16bits by default on 3D hardware acceleration,
- fixed selection of hardware for hardware acceleration.
- * install_steps.pm: add cups for printer configuration, used for
- auto_install. added new function to add packages only if requires
- are already satisfied.
- * standalone/printerdrake: updated.
-
-2000-08-31 dam's <damien@mandrakesoft.com>
-
- * moved many things to network.pm and any.pm
- * everything should be broken now.
-
-2000-08-31 Franois Pons <fpons@mandrakesoft.com>
-
- * install2.pm: removed printer default config (now obsoleted).
- * install_steps_interactive.pm: add cups support.
- * printerdrake.pm: add cups support.
- * printer.pm: add cups support.
-
-2000-08-31 Frederic Lepied <flepied@mandrakesoft.com>
-
- * install_any.pm (setPackages): install the right glide module
- according to the Voodoo card detected.
-
- * Xconfigurator.pm (write_XF86Config): ZAxisMapping for XF 4.
- (autoDefaultDepth): default depth to 16 for Voodoo cards except
- for Voodo5 ones.
-
-2000-08-29 dam's <damien@mandrakesoft.com>
-
- * moved pppConfig in netconnect.pm and any.pm
- * moved miscellaneousNetwork in any
- * modem configuration is now useable in standalone mode.
-
-2000-08-29 David BAUDENS <baudens@mandrakesoft.com>
-
- * install_steps_interactive.pm: change Small/Normal/Full ->
- Minimum/Recommanded/Complete (aka make FredB happy)
-
-2000-08-28 dam's <damien@mandrakesoft.com>
-
- * draknet (netconnect): renamed drakfuck -> draknet. standard ADSL
- and french alcatel ADSL implemented.
- * Xconfigurator.pm (autologin) : use of the new autologin system.
-
-2000-08-24 Franois Pons <fpons@mandrakesoft.com>
-
- * ../update_kernel*: changed reference from extract_archive to
- packadrake.
- * Makefile*: added live_install and live_install2.
- * Xconfigurator.pm: updated Mach64 acceleration to only 3D Rage
- Pro AGP card type, commented SiS and S3ViRGE support by GLX.
- * commands.pm, keyboard.pm, lang.pm, pkgs.pm, list, tools/*:
- updated to use packdrake now.
- * install2.pm, install_steps.pm, install_steps_gtk, Makefile*:
- manage live upgrade.
- * modules.pm: use standard modprobe command for load in live
- upgrade.
- * netconnect.pm: added minimal modification for being compilable.
- * rescue/list: added packdrake and sfdisk.
- * live_install, live_install2: live upgrade of package.
-
-2000-08-22 dam's <damien@mandrakesoft.com>
-
- * drakfuck (netconnect):finished isdn PCI/ISA card implemetation
- * added isdndb.net: providers database
-
-2000-08-20 dam's <damien@mandrakesoft.com>
-
- * moved Netconnect.pm to netconnect.pm
- * moved DrakFuck to drakfuck
-
-2000-08-18 Pixel <pixel@mandrakesoft.com>
-
- * share/Cards+: for i810, force VideoRam
-
-2000-08-18 dam's <damien@mandrakesoft.com>
-
- * modules.pm: added isdn type in @drivers_by_category. corrected
- load_thiskind (thx pixel) : it's not unsafe anymore
- * Netconnect.pm: just display PCI isdn card recognized.
-
-2000-08-17 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: many cleanup. moved some functions to common,
- any or install_interactive (newly created)
-
-2000-08-16 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm(configureNetwork): added call to
- isdn configuration
- * added standalone/DrakFuck: standalone entry point to configure
- internet connexion.
- * added Netconnect.pm: internet connexion functions.
-
-2000-08-11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectInstallClass): yet a bigger
- warning so that people don't choose expert installs. Also set the
- focus on "Custom" by default.
-
- * install_steps_interactive.pm (doPartitionDisks): created, calls
- the wizard.
- * install_steps.pm (doPartitionDisksBefore,
- doPartitionDisksAfter): created (was mainly in
- install2::doPartitionDisks)
- * install2.pm (doPartitionDisks): much cleanup
- * install_any.pm (partitionWizard): working state (still rough)
-
-2000-08-08 Pixel <pixel@mandrakesoft.com>
-
- * standalone/rpmdrake (AddMedia): fix the ftp addmedia, fix the
- cdrom addmedia
-
-2000-08-07 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Resize):
- * install_steps_gtk.pm (doPartitionDisks): remove the
- before_leaving ensuring the filehandle is closed
- * resize_fat/main.pm (DESTROY): use a better solution for ensuring
- the filehandle is closed
-
-2000-08-07 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added SiS6326 in the list of chipset that
- needVideoRam, reported on ml.
- * install_steps.pm: fixed auto install of printer.
-
-2000-08-06 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_listf): created this GREAT function
- that should have been created a long time ago.
- * any.pm, install_any.pm, install_steps_gtk.pm,
- install_steps_interactive.pm: a lot of rewrite to use the new
- ask_from_listf, a lot of nice cleanup!
-
- * fs.pm (df): created, returns the free space of the part. Save it
- in $part->{free}
-
- * install_steps_gtk.pm (doPartitionDisks): ensure the closing of
- the device in case of error
- * resize_fat/main.pm (new): ensure the closing of the device in
- case of error
-
- * install_any.pm (partitionWizard): the great partitioning wizard
- is created. Not finished yet (nor called from anywhere)
-
- * install_steps.pm (doPartitionDisksLnx4win): created function out
- of doPartitionDisks
-
- * install_steps_gtk.pm (installPackages): removed the displaying
- of size to install (people are bothered cuz not the same size)
-
-2000-08-06 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm (create_steps_window): use drawing area
- instead of button. Implemented all steps events.
-
-2000-08-05 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (detect): test a hack for usb mouse via hub
- (sparhawk@enteract.com)
-
- * fsedit.pm (undo): force isDirty and needKernelReread only if hd
- hasBeenDirty, otherwise believe the flag saved
- * partition_table.pm (write): flag hd as hasBeenDirty
-
- * install2.pm: a few renaming of methods so that the step names
- correspond to install2 function and install_steps* methods (eg:
- configureX & setupXfree unified to configureX)
-
-2000-08-04 dam's <damien@mandrakesoft.com>
-
- * any.pm (setAutoLogin): added this method to write xdm-config
- * Xconfigurator.pm: clenead autologin code and use of above method
-
-2000-08-04 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (setSelectedFromCompssList): save $nb to able to restore
- it in case of max_size reached. only purpose is the log!
-
- * install_steps_interactive.pm (choosePackages): in newbie, ask
- between Small/Medium/Full install
- * install_steps_interactive.pm (choosePackages): in expert, have
- the min_mark be 0 instead of 1
-
- * common.pm (find_index): added this nice function
-
- * install_any.pm (getAvailableSpace_mounted): use common::df
- * loopback.pm (getFree): use common::df
- * commands.pm (df): use common::df
- * common.pm (df): added
-
- * diskdrake.pm (Resize)): add resizing of reiserfs
- * share/list.i386: add resize_reiserfs
-
-
-2000-08-02 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm : autologin is functionall. When wmsession.d is
- more up to date, I'll add the list of wm to launch at boot. It
- writes in /etc/X11/xdm/xdm-config.
-
-2000-08-01 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (miscellaneous): modify as chmouel want (aka, ""
- instead of "no" for MOUSE and KEYBOARD in sysconfig/usb)
-
- * services.pm: separation between interaction and action.
- * install_steps.pm (servicesConfig): the job is now done here
- * install_steps_interactive.pm (servicesConfig): only the asking
- part
-
-2000-08-01 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed the below fixe, now ok.
- * Xconfigurator.pm: fixed a bug for using default card flags
- setting, add support for GeForce DDR for both 3.3 and 4.0.
- * pci_probing/pcitable: fixed NV15 (GeForce2) card entry, now use
- XFree 3.3 as unsupported in XFree 4.0.
- * share/Cards+: added "NVIDIA GeForce2 DDR (generic)".
-
-2000-07-31 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed provided package with choice in deps used with a
- base package, complicated but kernel-fb or similar can be
- unselected now.
-
-2000-07-27 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: changed expert message to ask
- using XFree 3.3 instead of XFree 4.0 used by default (server).
- * Xconfigurator.pm: make sure only one server is installed,
- default to XFree 4.0 if supported unless XFree 3.3 accept
- 3D acceleration and not XFree 4.0, ask user in such case.
- * pci_probing/pcitable: added Intel 815 pci ids.
-
-2000-07-26 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm: applied new LN stars, logo title and help
- logo. improved steps appearences.
- * modified share/step-*.xpm
- * added share/help.xpm
- * updated ../HACKING to ling help logo.
-
-2000-07-21 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: enable 3D acceleration configuration with
- XFree86, use /usr/X11R6/lib/modules/glx-3.so for X version 3
- Utah-GLX accelerated module.
-
-2000-07-20 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: use {miscellaneous}{autologuser} instead of
- {miscellaneous}{autologuser} + {miscellaneous}{autologing}.
- * move some README content to ../HACKING
-
-2000-07-19 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: added autologin boxes.
- result is in {miscellaneous}{autologin} and in
- {miscellaneous}{autologuser}
-
-2000-07-19 Franois Pons <fpons@mandrakesoft.com>
-
- * any.pm: added default root to existing root device when adding
- an entry in bootloader.
- * bootloader.pm: avoid duplicating entry (floppy and old-floppy)
- when they are identical.
- manage hackkernel by suggest an entry by default if installed.
- * install_steps.pm: reworked symlink closure for bootloader
- to keep previous configuration.
-
-2000-07-11 Franois Pons <fpons@mandrakesoft.com>
-
- * bootloader.pm: merged lilo.pm and silo.pm inside bootloader.pm,
- this include a configure_entry from silo.pm to build a initrd if
- used.
- * share/compssList: added kde2 packages.
- * share/compssUsers: added kde2 group, renamed kde to kde1 group
- specific.
-
-2000-07-07 Franois Pons <fpons@mandrakesoft.com>
-
- * install2.pm (choosePackages): always execute setPackage to copy
- hdlist* and depslist files (support mixed partitionDisks and
- choosePackages).
- * install_any.pm (setPackages): avoid clearing upgrade flag.
- * install_steps.pm (choosePackages): use $first_time to avoid
- reselection of packages according to compssList.
- * install_steps_interactive (choosePackages): use $first_time and
- $individual to avoid reselection of packages according if user go
- back to step choosePackages.
- * pkgs.pm: added psUpdateHdlistsDeps to restore hdlist* and
- depslist files in /var/lib/urpmi.
- * diskdrake.pm: fixed uneditable combo for Mount point action.
-
-2000-06-23 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: better approach for Sun* server in newbie.
- * fs.pm: added romfs support for mount.
- * fsedit.pm: changed auto allocation for partitions for sparc*.
- * install2.pm: restored bootdisk creation and auto install boot
- disk creation for sparc*.
- * install_any.pm: changed vfat to romfs when mounting kickstart
- floppy on sparc*.
- * install_steps.pm: avoid proposing formating sunos partition.
- * install_steps_interactive.pm: boot disk for sparc* and support for
- installation of SILO on /boot partition (sparc*).
- * install_steps_newt.pm: removed cylinder 0 bug warning.
- * interactive.pm: fixed typo for not_edit set to 1 by default.
- * partition_table.pm: fixed get_holes on sparc* where a whole disk
- partition caused problems.
- * partition_table_sun.pm: removed cylinder 0 bug as found in mke2fs.
- * silo.pm: handle /boot partition, install silo.conf in /boot and
- make a symlink from /etc.
- * share/list.sparc: added losetup and genromfs for boot disk creation.
-
-2000-06-21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: changed the way console font data is written; not all
- of the [0], [1], [2] values must defined, so three cases must be used.
- Also added a variable $CHARSET for /etc/sysconfig/i18n; it can then
- be used by console-tools to load the proper compose table
-
-2000-06-20 Franois Pons <fpons@mandrakesoft.com>
-
- * c/sbus.c: added some functions for silo.c integration.
- * c/silo.c: initial release including write in prom, and translation
- of disk name from openprom to linux, rh version modified.
- * silo.pm: added write in prom, support of sunos boot from silo.
- * partition_table.pm: added support for ufs partition like windows one.
- * install_steps_interactive.pm: added other entries in silo.
- * install_steps.pm: support sunos partition.
- * install_any.pm: automatically mount sunos partition with diskdrake.
- * fsedit.pm: added /mnt/sunos suggested mount point.
- * fs.pm: added ufs support for mount.
-
-2000-06-19 Franois Pons <fpons@mandrakesoft.com>
-
- * crypto.pm: modified for getting sparc crypto file for sparc*.
- * modules.pm: make sure to load sd_mod when needed.
- * pci_probing/main.pm: always use loaw_endian in pci structs.
- * pci_probing/translate-pcitable.pl: added arch specific module name
- translation.
-
-2000-06-16 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (write_conf): rename conf.modules to modules.conf if
- needed. Outputs to modules.conf
-
- * detect_devices.pm (cdroms): fix using scd0 for ide-burners when
- already a scsi cdrom drive
-
-2000-06-13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * pkgs.pm: added 'acon' requirement for all right-to-left languages
-
-2000-06-07 Franois Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm: added SunOS partition as blue for diskdrake.
- * install_steps_interactive.pm: make sure of no division by zero may
- happen.
- * install_steps_newt.pm: added WARNING for fdisk on sparc*.
- * modules.pm: make sure of loading sd_mod module after any scsi module.
- * sbus_probing/main.pm: insmod openprom before trying sbus probing.
- * pkgs.pm: corrected by use of parabolic solution for size approximation.
- * silo.pm: try with "silo -p 2 -t" if "silo -t" has failed due to bad probe.
-
-2000-06-05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * install_steps.pm,lang.pm: added load_console_font, to load the
- proper console fonts (text mode install is not very useful otherwise)
-
-2000-06-03 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Create): don't accept less than 32MB part for reiserfs
- * diskdrake.pm (Type): don't accept less than 32MB part for reiserfs
-
-2000-06-01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/fonts.tar.bz2: replaced the Korean 16pt fonts by a 12pt font;
- it fits better with the other fonts. Added a 'README' file with
- some comments and the required copyright notice
-
-2000-05-29 Franois Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added support for SBUS card autodetection.
- * commands.pm: added lssbus to list SBUS devices detected.
- * detect_devices.pm: removed alpha restriction on USB.
- * install_steps_interactive.pm: added SBUS support.
- * c/sbus.c: initial revision, core SBUS support (inspired from kudzu).
- * c/stuff.xs.pm: added wrapper for sbus.c interface.
- * sbus_probing/main.pm: initial revision (inspired from kudzu).
-
-2000-05-27 Adam Lebsack <adam@mandrakesoft.com>
-
- * share/list.ppc: various PPC modifications, for HFS
- * partition_table_mac.pm: bug fixes
- * partition_table.pm: various HFS fixes, isHiddenMacPart()
- * diskdrake.pm: added HFS to top buttons when run on PPC
- * keyboard.pm: fixed name of mac-fr2-ext keymap
- * install_steps_gtk.pm: added Xpmac server support for PPC.
- * install_steps_interactive.pm: disallow hardware configuration on PPC for
- now. All drivers should be in the kernel. setup_this_kind().
- * fsedit.pm: fixed verify_hds for PPC, /proc/partitions will never match
- our partition table read. Added PPC grep condition for PPC in get_visible_fstab.
- * fs.pm: fix argument for HFS formatting.
- * Makefile: special installation of PPC files.
-
-2000-05-25 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * standalone/drakboot: Don't display Configure-/LILO/GRUB/ on
- alpha|sparc.
-
-2000-05-25 Franois Pons <fpons@mandrakesoft.com>
-
- * silo.pm: added configure_entry to try creating an initrd for an image
- entry in bootloader. fixed wrong usage of run_programm::rooted with 2>.
- * commands.pm: fixed insmod command to take modules64.cz* on sparc*
- * install2.pm: removed create boot disk and create auto install disk on
- sparc*. force writing of /etc/conf.modules for step setupBootloader.
- * install_steps.pm: fixed upgrade for sparc* and disable supermount for sparc*.
- * install_steps_interactive.pm: added missing $prefix for glob_. call
- configure_entry in setupSILO. fixed cancel or None entry on setupBootloader.
- * modules.pm: updated alias for sparc*.
- * any.pm: fixed proprable wrong test for setupBootloader in beginner at
- the very beginning.
- * printer.pm: fixed typo.
- * Xconfigurator.pm: avoid testing if using a Sun* server, added depth and
- resolution for these server too.
-
-2000-05-24 Franois Pons <fpons@mandrakesoft.com>
-
- * partition_tabel.pm: fixed wrong detection of DOS partition on sparc*.
- * partition_table_sun.pm: fixed a bug when reading partition table
- with unused partition in the middle of the table.
-
-2000-05-23 Franois Pons <fpons@mandrakesoft.com>
-
- * common.pm: update arch to take into account sparc and sparc64. added
- better_arch and compat_arch function.
- * silo.pm: fixed adding new kernel automatically.
- * install2.pm: removed create boot disk stuff for sparc*.
- * install_steps.pm: added initrd generation for alpha. added ldconfig
- at end of installation. removed /usr/bin/dumpkeys existence test on
- sparc*, should be added in the future.
- * install_steps_interactive.pm: removed supermount for sparc*.
- * install_steps_gtk.pm: added /dev/kbd device creation and permedia2
- support for sparc*. removed screen limit of 1024x768.
- * detect_devices.pm: fixed problem on machine with really no IDE interface.
- * modules.pm: added support for 32 and 64 bit architectures on sparc*.
- * install_any.pm: fixed getAvailableSpace_mounted if /usr is not a separate
- partition.
- * pkgs.pm: added support for multi-arch rpm file (need for sparc*),
- fixed correctSize and invCorrectSize to take back a linear approximation
- above 9Gb approximatively. removed ftp rewind as broken currently.
- * keyboard.pm: fixed bad list of available keyboard (broke sparc*), fixed
- globing (removed) against existing '*'.
- * partition_table.pm: removed support for non SUN partition table, as it
- may freeze the kernel or may be blanked?
- * Xconfigurator.pm: take Sun24 server by default on sparc*, add support
- for permedia2 card (3DLabs server).
- * share/list.sparc: added perl-5.6.0 for sparc*, fixed for sparc*.
- * Makefile: added support for modules and modules64 for sparc*.
- * c/stuff.xs.pm: added kernel_arch function for getting the current true
- architecture provided by the kernel (uname -m).
-
-2000-05-09 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (kdeicons_postinstall): the URL link to doc must
- be $lang/index.html, not only $lang.
-
- * standalone/mousedrake: add handling of XF86Config-4
-
- * any.pm (setupBootloader): fix bug (was adding 2 glob_'s)
-
-2000-05-08 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): move the touch of some files here to please linuxconf
-
- * install2.pm (miscellaneous): s/KBD/KEYBOARD/
-
- * lilo.pm (install_grub): don't keep symlinks for reiserfs
- * lilo.pm (suggest): allow grub everytime now (not only if !reiserfs)
-
- * install_any.pm (getHds): default mount point for windobe in
- lowercased for StartOffice(!)
-
-2000-05-08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/keyboards.tar.bz2: Fixed Brazilian keyboard (.br); added
- Iranian (.ir), Arabic (.ar) and new Lithuanian (.lt_new) keyboards
- * keyboard.pm: Added new Lithuanian keyboard and changed the
- string for brazilian ABNT-2 to state more clearly its ABNT nature
- (it is not a standard PC keyboard; it uses some different keycodes)
-
-2000-05-07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (choosePackages): return availableCorrected
- instead of available
-
- * pkgs.pm (correctSize): add 18MB for full multi-cd (many hdlist's)
-
- * modules.pm (text2driver): same as text2lang below
- * keyboard.pm (text2keyboard): same as text2lang below
- * lang.pm (text2lang): replace the while (... each) by a foreach
- (keys) (because each is dangerous if loop is exited)
-
- * install_steps_interactive.pm (selectKeyboard): better handling
- of multiple langs question.
-
- * ftp.pm (new): Timeout set to 60 (seconds), was default (120)
-
- * install_steps_interactive.pm (setup_thiskind): remove ide-*
- from modules displayed as loaded.
-
-2000-05-06 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm (check_mntpoint): verify that standard mntpoints (/
- /usr) are not on not trueFS
-
- * any.pm (setupBootloader): add $prefix for the 2 glob_'s
-
-2000-05-07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/keyboards.tar.bz2: added Ukrainian keyboard xmodmap.ua
-
-2000-05-06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * printerdrake.pm: fixed English error
-
-2000-05-05 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): remove the special case
- for fbdev.
-
- * install_steps_interactive.pm (setup_thiskind): replace return by
- next in case load_module fails.
-
- * install_steps_gtk.pm (selectInstallClass1): translate Install/Upgrade
-
- * Xconfigurator.pm (cardConfiguration): force xf4 for rage 128's
- * Xconfigurator.pm (testFinalConfig): force $bad_card for xf4
-
- * pkgs.pm (correctSize): updated for 7.1
-
- * install_any.pm (getAvailableSpace): move the removing of
- $minAvailableSize here.
-
-2000-05-04 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (configurePrinter): give clicked to printerConfig
-
- * interactive.pm (ask_from_entries_ref): set default val if not_edit
-
- * interactive_newt.pm (ask_from_entries_refW): remove setting of
- default val. Now done in interactive::ask_from_entries_ref
-
- * interactive_gtk.pm (ask_from_entries_refW): handle empty value
-
- * modules.pm (read_already_loaded): ensure that already loaded
- modules are put in %loaded.
- * modules.pm (load_ide): add loading if ide-probe-mod (for new kernel)
-
- * lilo.pm (install_lilo): truncate label's to 15 chars
-
- * install_any.pm (generate_ks_cfg): fix missing space
- * install_any.pm (generate_ks_cfg): fix bug for nfs comand
-
- * install2.pm: get rid of autoformat
- * install_steps.pm (choosePartitionsToFormat): get rid of autoformat
-
-2000-05-03 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (setupBootloader): replace ask_many_from_list by
- ask_from_list for bootloader choice
-
- * services.pm (drakxservices): stop immediately service if removed
-
- * install_steps.pm (configureNetwork): replaced dhcpxd by dhcpcd
- * install_steps.pm (afterInstallPackages): touch some files to
- please linuxconf
-
-2000-05-03 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: updated min size, fixed kppprc generation.
- * install_any.pm: make sure postinstall-rpm is here before
- erasing (avoid error on reboot only).
-
-2000-05-02 Pixel <pixel@mandrakesoft.com>
-
- * raid.pm (format_part): don't call raid::make if part is already
- formatted (as raidstop fails)
-
- * Xconfigurator_consts.pm: Rage128 and 3dfx are not available any
- more
-
- * install_steps_interactive.pm (setup_thiskind): make insmod'ing
- fail a simple warning.
-
- * Xconfigurator.pm (readMonitorsDB): adapt to new MonitorsDB
- * share/MonitorsDB: take new one from RedHat
-
- * standalone/drakboot: added kfloppy
-
- * g_auto_install: add $dir/lib to LD_LIBRARY_PATH (it was silly
- not to have it)
-
-2000-05-01 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): remove
- NIS_server, use NIS instead
- * install_any.pm (setAuthentication): remove NIS_server, use NIS instead
-
- * standalone/rpmdrake (AddMedia): hdlist.cz2 instead of hdlist
-
-2000-04-28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): fix yet another bug for
- ttf from windobe handling
-
- * install_steps_interactive.pm (selectInstallClass): hide beginner
- mode in corporate. Display special help.
-
-2000-04-29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * my_gtk.pm: added call to Gtk->init; that makes 16 bit locales
- text to be properly aligned (reported by Craig Chang
- <craig_chang@taipei.siscomm.com.tw>)
- * common.pm: now that po handling is correct, I changed the order
- of reading variables so that it follows the standards ($LANGUAGE first)
- * share/fonts.tar.bz2, lang.pm: added an 8pt font for cp1251
-
-2000-04-28 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps*.pm: added support for selection of package during
- upgrade the same way it is done for installation. added check of
- minimal size, abort else (at least let the user know about :-)
- fixed crypto if no network interface available.
- * install2.pm: fixed problem during upgrade that lost network
- configuration.
-
-2000-04-28 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (load_raw): don't call commands::insmod, do it in
- place. Merge with load_multi
-
- * install_steps.pm (afterInstallPackages): fix windobe ttfonts
- symlinking
-
- * Xconfigurator.pm (cardConfiguration): load module agpgart for
- i810
-
- * install_any.pm (getHds): changed the mount point setting for
- windows partitions as device_windobe is not unique
-
-2000-04-27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (create_steps_window): changed to adapt to
- new hidden format
-
- * install2.pm (@installSteps): changed the way hidden is handled.
- Now it is a true perl expression (great power now)
-
- * install_steps_gtk.pm (selectInstallClass1): update steps window
- before asking normal/devel/server. Nicer!
-
- * install_steps_interactive.pm (configureNetwork): when "Cancel"
- pressed at network interface configuration do not skip all
- configuration.
-
-2000-04-26 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm (pppConfig): modified a lot, removed template
- file for ifcfg and chat file.
-
-2000-04-26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (choosePackagesTree): use a fix width for
- the tree column (so that the checkbox are always visible without
- scrolling)
-
- * standalone/drakboot: drakfloppy and gfloppy are X only, no need
- to propose them in console
-
- * install_any.pm (relGetFile): added auto_inst to files to get
- from Mandrake/base
-
- * install2.pm (main): changed auto_inst behaviour
-
- * standalone/adduserdrake: fix a bug (s/$o/$in/g)
-
- * interactive_newt.pm (ask_from_entries_refW): now handling
- complete/changed/focus_out callbacks (at least more than before)
-
- * Newt/Newt.xs: added rough callback handling
-
-2000-04-25 Franois Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: added support for PPA more easily, allow
- printers entry using ppa driver event if pnm2ppa not installed,
- install it if neccessary after.
- * network.pm, install_steps.pm, install_steps_interactive.pm:
- added support for stoping a network interface, usefull for ppp0 to
- avoid using it too long.
- * install_steps.pm: fixed missing local on pap_secrets file.
-
-2000-04-25 Pixel <pixel@mandrakesoft.com>
-
- * lilo.pm (install): moved the generation of the keytable here. It
- is used by both lilo & grub (lilo is not always installed as was
- assumed)
-
- * common.pm (formatAlaTeX): remove bounding spaces
-
- * pkgs.pm (setSelectedFromCompssList): remove the hack for min
- mark 25 in beginner
- * install_steps_interactive.pm (choosePackages): set $min_mark to
- 25 in beginner
-
-2000-04-24 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setupXfree): add a yesorno
- question for choosing between XF4 and XF3 in expert
-
- * install_steps_gtk.pm (choosePackagesTree): enlarge the tree window
-
- * install_any.pm (update_userkderc): make sure uid and gid are kept
-
- * diskdrake.pm (Create): add Extended_0x85 as a choice for expert
-
- * partition_table.pm (add_extended): handle a 3rd arg,
- $extended_type to tell which kind of extended partition is wanted
- * partition_table.pm (adjust_main_extended): in non-expert,
- automatically set extended to linux-extended if there's only
- linux-type partitions.
-
-2000-04-22 Pablo Saratxaga <pablo@madrakesoft.com>
-
- * install_steps_interactive.pm: s/Mb/MB/ as 'b' is symbol for bit
- and not for byte. RAM is expressed in megabytes -> MB
-
-2000-04-19 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed crazy mutli CD manipulation.
- * printer.pm: fixed wrong prototype of print_pages.
- * install2.pm: set version to 7.1 for crypto stuff.
- * crypto.pm: commented ackbar crypto site.
-
-2000-04-17 Pixel <pixel@mandrakesoft.com>
-
- * lilo.pm (suggest): in failsafe, runlevel ASKRUNLEVEL (handled by
- linuxconf)
-
-2000-04-14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): don't
- ask about checking bad blocks for reiserfs, cuz not handled
-
- * fs.pm (mount): reiserfs handling
- * fs.pm (format_reiserfs): added
- * fs.pm (write_fstab): add option "notail" for reiserfs if
- the partition holds the kernel (/boot or /)
-
- * partition_table.pm (isTrueFS): added, replaces most occurences
- of isExt2
-
-2000-04-12 Franois Pons <fpons@mandrakesoft.com>
-
- * install2.pm: force installation step if package have been
- selected on step choose packages.
- * install_any.pm: protected against die in perl (setstep or
- theme_changed).
-
-2000-04-11 Franois Pons <fpons@mandrakesoft.com>
-
- * resize_fat: added some limits verification.
- * interactive_gtk.pm: corrected swap of arg with help adding.
-
-2000-04-10 Franois Pons <fpons@mandrakesoft.com>
-
- * interactive_gtk.pm, my_gtk.pm: added tooltips for ask_from_list,
- which is used by printerdrake only. drops key bindings.
-
-2000-04-07 Franois Pons <fpons@mandrakesoft.com>
-
- * tools/serial_probe: obsoleting pnp_serial which is now replaced
- by this one, taken from kudzu, really faster and probe all serial
- devices at one time. modified to probe correctly modem :-)
- * mouse.pm: updated to use serial_probe interface of
- detect_devices.pm.
- * detect_devices.pm: modified to use serial_probe, cache probed
- devices to avoid reprobing.
-
-2000-04-06 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps.pm: added support
- for peerdns options of ppp, so removed dns address unless expert.
-
-2000-04-05 Franois Pons <fpons@mandrakesoft.com>
-
- * crypto.pm, install_steps_interactive.pm, install2.pm,
- install_steps.pm: added crypto stuff to support hdlist-crypto.cz2
- and depslist-crypto. dependancies are not supported but with a
- simpler format of depslist file where closure are not done and
- only package name are used for dependancies.
- * pkgs.pm: added better support for multi CD manipulation,
- including selection and refus.
-
-2000-04-04 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: modified selection packages from compssList by
- incremental selection, much more quickly.
- added selected medium for selecting a package.
- * install_any.pm: refused media hash transfered to selected value
- of media table.
- @needToCopy list should only have package of default medium.
-
-2000-04-03 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (format_ext2): add options "-b 1024 -O none" for alpha
-
-2000-03-31 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: made changeMedium sub modification
- permanent.
- * pkgs.pm: modified upgrade to avoid use of header.
-
-2000-03-31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: some more choices for PPC keyboards
-
-2000-03-30 Franois Pons <fpons@mandrakesoft.com>
-
- * install2pm: added eval around loading af_packet and postinstall
- copy of RPMS.
- * devices.pm: added /dev/kdb for SPARC.
- * install_any.pm: modified multi CD management, postinstall copy
- of RPMS.
- * install_steps_gtk.pm: added support for Xsun server for SPARC.
- * install_steps_interactive.pm: added multi CD dialog box for
- selecting CD available. Serialized ethernet configuration and ppp
- configuration.
- * pkgs.pm: added check for infinite recursion for bad depslist.
- * printer.pm: better test for reparse of printerdb.
- * Xconfigurator.pm: added support for Xsun server for SPARC.
-
-2000-03-30 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (choosePackagesTree): enhance tree selection
-
-2000-03-29 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (wait_messageW): add some padding (nicer)
-
- * install_steps_interactive.pm (generateAutoInstFloppy): created,
- creates a floppy for auto installs.
-
- * install_any.pm (generate_ks_cfg): created, generates stage1
- ks.cfg file
-
- * share/po/DrakX.pot: added special comment for grub entry
-
-2000-03-28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectKeyboard): sort langs for
- many-lang install
-
- * mouse.pm (write): add WHEEL telling if a wheel mouse is there
-
-2000-03-28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: added entries for all three Armenian keyboards
-
-2000-03-26 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (install_urpmi): full support for multi-hdlist's
-
- * pkgs.pm (extractHeaders): look for hdlist in /tmp instead of
- $prefix/var/lib/urpmi
- * pkgs.pm (psUsingHdlists): put hdlist's in /var/lib/urpmi with a
- fake name. Access via /tmp/$hdlist is given for non-fake name
-
- * detect_devices.pm (hasHPT): return undef if no htp (silly me :-/)
-
-2000-03-25 Pixel <pixel@mandrakesoft.com>
-
- * lilo.pm: updated to the new format of entries. It was an hash.
- Now the key is field kernel_or_dev, and entries is an array.
-
- (get): added, it returns the entry using a kernel
- (needed because entries is no more a hash)
-
- * install_steps_interactive.pm (setupLILO): adapted to the new format
-
- * Xconfigurator.pm (write_XF86Config): basic XF86Config-4 handling
-
- * fsedit.pm (suggest_part): if suggested part contains a field
- "hd", ensure the partition is created on this hard drive
-
- * install2.pm (main): before leaving installation, remove
- /var/lib/urpmi if urpmi not installed
-
- * diskdrake.pm (Resize): ext2resize to size $part->{size} instead
- of $size
-
-2000-03-24 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (hasHPT): added. Now nice handling of hpt366
- (ultra66) without rebooting and making special floppy :)
-
- * lilo.pm (install_grub): much better grub configuration (better
- than lilo's :pp)
-
- * install_steps.pm (setupBootloaderBefore): remove entry floppy
- for security > 3
-
-2000-03-23 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (selectMouse): added, takes care of telling
- the X server if the user changed the mouse type. Only done if
- a serial mouse is chosen.
-
- * install_steps_newt.pm (doPartitionDisks): add a call to
-
- * mouse.pm (write): added "device=" in etc/sysconfig/mouse for
- devfs (it looses the symlink /dev/mouse)
-
-2000-03-22 Pixel <pixel@mandrakesoft.com>
-
- * pci_probing/pcitable: replace Server:Rage128 by proper XFree entry
-
-2000-03-20 Franois Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm, fs.pm, install_any.pm: added supports for
- LS-120 floppy drive and icons on desktop of KDE (untested).
- * printer.pm, printerdrake.pm: added supports for PPA interface in
- new rhs-printfilters, always enable "Print text as postscript"
- option for such printers.
-
-2000-03-20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: changed XKB name for Swedish keyboard
- changed XKB names for Russian and German keyboards
- added a choice for "Croatian" keyboard
- * share/compss{,List}: added various new locales-*, ispell-*
- and netscape-* files. changed ppa to pnm2ppa.
-
-2000-03-17 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: added setup for all configured queue.
- * install_steps_interactive.pm: modified for retrieving packages
- or current configuration.
- * printer.pm: correction, tested retrieve of printer
- configuration without printtool comments in printcap file: added
- update of entry according to gsdriver used (untested again).
- * printerdrake.pm: better handling of cancel, manage of multiple
- queue definition together (as lp|My printer).
-
-2000-03-16 Franois Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: moved in printerdrake.pm the test
- of printer usage.
- * printerdrake.pm: heavy modification to handle multiple queue,
- corrected some bugs too, added much more features as printtool.
- * printer.pm: added more features for filter, allow printer to be
- retrieved without help of printtool id in printcap file (untested).
-
-2000-03-14 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Loopback): handling of the file loopback: test
- existence of the file and take its size.
-
-2000-03-14 Franois Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: corrected for duplicate file on other CD.
-
-2000-03-13 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (floppies): don't return hash but the device name
-
-2000-03-13 Franois Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm, install_any.pm: small correction for multiple media
- installation.
- * tools/syncrpms: added for handling synchronisation of multiple source
- rpm directories (and multiple target), include cleaning.
- * tools/closurepkgs: tools to get rpm that may be installed by DrakX
- after normal packages installation (printer, network, X11...), may
- be used to duplicate on other CD some important stuff of the first
- one.
-
-2000-03-12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): compute the
- max_size very simply (sum of all package sizes), otherwise too costly
-
- * pkgs.pm (install): call cleanHeaders at the end
- * pkgs.pm (cleanHeaders): created
-
- * install2.pm (miscellaneous): /etc/msec/init.sh is now
- /usr/sbin/msec (yoann thanks for not telling :pp)
-
- * pkgs.pm (install): remove the $prefix of mountpoints for not
- enough room to install error message
-
-2000-03-11 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm (_create_window): add callback on focus to
- ensure_focus. The result is no more 3 focus states with 2 buttons.
-
- * interactive_gtk.pm (ask_from_treelistW): better keyboard handling
-
- * raid.pm (make): check the result of mkraid. Suggest raidtools
- are missing in standalone diskdrake
-
- * devices.pm (set_loop): created, searches for an available
- loopback and sets the file to it
-
- * lilo.pm (dev2grub): fixed a missing slash
-
- * interactive_gtk.pm (wait_message_nextW): do not update if same
- message, otherwise silly gtk won't do anything and we'll wait
- forever :(
-
-2000-03-10 Franois Pons <fpons@mandrakesoft.com>
-
- * *.pm: heavy modification to take into account multiple media
- installation.
-
-2000-03-10 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (@install_classes): cleanup, no more i18n (is now in
- install_steps_interactive), remove old entries
-
-2000-03-09 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (write_conf): don't add alias block-major-11 in every case
- * modules.pm (add_alias): special case oss (post-installs modprobe snd-pcm-oss)
-
- * fs.pm (format_*): move the @options before the device
-
- * loopback.pm: created, added a lot of stuff for loopback in
- diskdrake.pm, fs.pm...
-
-2000-03-08 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm: %type2fs replaced ox402 by 0x402
-
- * detect_devices.pm (cdroms): fix "scd" (should be "scd0")
-
- * install_any.pm (install_urpmi): update for new hdlist.cz2
-
-2000-03-07 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_treelistW): s/focus_row/set_focus_row/
-
- * install_steps_interactive.pm (addUser): force add a normal user
- for security 4
-
-2000-03-05 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm (_ask_from_list): replace focus_row with set_focus_row
- (tis the Gtk-Perl 0.7002 was of doing)
-
-2000-03-04 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (write_conf): add ide-floppy to the modprobes of
- post-install supermount
-
-2000-03-03 Pixel <pixel@mandrakesoft.com>
-
- * commands.pm (ps): add RSS to ps command
-
-2000-03-02 Adam Lebsack <adam@mandrakesoft.com>
-
- * mouse.pm: added mac mouse detection to mouse::detect.
- * detect_devices.pm: added a routine to probe /dev/usbmouse on macs.
-
-2000-03-01 Franois Pons <fpons@mandrakesoft.com>
-
- * *.pm: heavy modification to take into account smaller
- transaction during installation.
- still a lot of test to perform, no provides updated currently and
- building of hdlist.cz2 and depslist.ordered need old files...
- nothing done for hdlist.gz during post installation, but
- hdlist.cz2 is already copied in /var/lib/urpmi [and is used during
- installation of packages as extract_archive need a true file].
-
-2000-03-01 Pixel <pixel@mandrakesoft.com>
-
- * lilo.pm (install_grub): creation
-
- * network.pm (write_interface_conf): ONBOOT = !pcmcia
-
- * install_steps_gtk.pm (new): more intelligent SIGCHLD handler
-
-2000-02-29 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: moved common network stuff from "net" to "network"
- (modules like nfs lockd...)
-
- * fs.pm (write_fstab): moved the sort to the right place
-
- * services.pm (drakxservices): chkconfig --list is i18n'ed :(
- set LANGUAGE=C before
-
- * partition_table_raw.pm (get_geometry): geom{cylinders} must not
- be a decimal value :)
-
- * install_steps_gtk.pm (create_logo_window): set_name logo for
- logo window
- * share/install.rc: force disabling of background image theme
-
- * install_steps_gtk.pm (enteringStep): add step information for
- console 1
-
- * any.pm (addKdmIcon): new function
- * install_steps.pm (addUser): handle field icon
- * install_steps_interactive.pm (addUser): add choice of kdm icon
- * standalone/adduserdrake: add choice of kdm icon
-
- * diskdrake.pm (ask_all_data...): change for easier i18n
-
- * install_steps.pm (miscellaneous): add CLEAN_TMP handling
- (need cleaning?)
- * install_steps_interactive.pm (miscellaneous): add CLEAN_TMP
- option in expert
- * install2.pm (miscellaneous): add CLEAN_TMP option for
- /etc/sysconfig/system
-
- * install_steps_interactive.pm (miscellaneous): forbidden
- useSupermount if high security.
-
- * mouse.pm (detect): fix bug (ttyS instead of ttyS0)
-
-2000-02-28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (createXconf): do not use "Generic VGA" for
- svga and accel. SVGA also wants 16 bpp. added ugly modeline for
- 800x600.
-
- * partition_table_raw.pm (get_geometry): when the
- HDIO_GET_IDENTITY fails, defaults to what GETGEO gave
-
- * install2.pm (main): use modules::load_multi to increase boot
- start time
-
- * modules.pm (load_multi): added this function for loading many
- modules at once.
-
- * install_steps_gtk.pm (new): increase time before timeout
-
- * detect_devices.pm (cdroms): change the device associated with
- ide-burners (hdX -> scdX). Problem is how to know the X in scdX :(
-
- * modules.pm (write_conf): sort scsi_hostadapter's
-
-2000-02-27 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): load ide-probe and the like in 'prereq' type
- so no aliases are added to conf.modules
-
-2000-02-25 Pixel <pixel@mandrakesoft.com>
-
- * devices.pm (make): small code cleanup
-
- * partition_table_raw.pm (adjustEnd): more explicit error message
-
- * fsedit.pm (allocatePartitions): fix a bug (size was getting too
- big after each allocation) making adjustEnd cry
-
-2000-02-24 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (new): added the "new" method to initialize
- windowheight for isStandalone
-
- * install_steps_gtk.pm (new): returns undef in case no X server
- works
-
- * install2.pm (main): moved the ejectCdrom from install_steps::END
- to here
- * install2.pm (main): fix the $SIG{SEGV} handler
- * install2.pm (main): added a "try again" in text install if the
- "new" fails
-
- * install_steps_interactive.pm (createBootdisk): fix an error for
- non fdX choice of floppy drive
-
- * install_steps_interactive.pm (setup_thiskind): remove the
- "defined @l"
-
-2000-02-23 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (%suggestedPartitions): remove any /boot entries
- * install2.pm (selectInstallClass): removed the special code to
- /boot entries from suggestedPartitions for on non-intel (and it
- was buggy :)
- * fsedit.pm (@suggestions): remove the /boot entry
- * fsedit.pm (check_mntpoint): remove the 1024 cylinder check
- * fsedit.pm (suggest_part): remove the 1024 cylinder special case
-
- * install_steps_interactive.pm (setupLILO): replace linear option
- by lba32
-
- * lilo.pm (suggest): add lba32 by default
-
- * install_steps_interactive.pm (load_thiskind): moved the HPT
- stuff to install_any::ultra66 and call it.
- Add sound card configuration (3 lines :)
-
- * my_gtk.pm and interactive_gtk: resize the list and tree based on
- root window size
-
- * install_steps_gtk: $width and $height goes $::rootwidth and
- $::rootheight, also other dimensions goes global (main::)
-
- * commands.pm (strings): replace the typo \{$n,} by {$n,}
-
-2000-02-23 Franois Pons <fpons@mandrakesoft.com>
-
- * build_archive, extract_archive: changed format of TOC to speed
- up extraction of archive, now 5 to 6 times faster to read TOC :-)
-
-2000-02-22 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: load "Cards" database only to translate NAME
- to fields. Added file CardsNames created from Cards using
- share/Cards2CardsNames. Kind of list of normalized NAMEs
-
- * MonitorsDB: replace the ` ' separator for vendor by `|'
-
- * install_steps_interactive.pm (timeConfig): use ask_from_treelist
-
- * interactive_gtk.pm (ask_from_treelist): creation of
- ask_from_treelist. Usage is just the same as ask_from_list with
- one more argument (the separator eg: |, /)
-
-2000-02-21 Franois Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm: fixed deadlock while trying to create partition
- when available space is equal or less than 2 cylinders. fixed
- Create action on corrupted partition by removing stalling window.
- Blocked partition table writing if there are error by forcing user
- to correct partition table.
- * partition_table.pm: fixed typo in verifyParts with cdie, added
- verifyParts on Resize action.
-
-2000-02-21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (create_big_help): display the help in full
- screen
-
- * my_gtk.pm (_create_window): add big help on F1
-
- * common.pm (add2hash): now returns the first parameter
-
- * mouse.pm (detect): really defaults to serial mouse
-
- * interactive.pm: add ask_many_from_list_with_help and
- ask_many_from_list_with_help_ref
-
- * services.pm: creation, it handles what was in
- standalone/drakxservices
-
-2000-02-18 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (createXconf): added /dev/ (X wants
- "/dev/psaux" and not "psaux")
-
- * diskdrake.pm (Create): show start sector even for non-expert on
- non-i386
-
-2000-02-16 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (detect): add defaults to serial mouse
-
- * install_steps_gtk.pm (createXconf): remove the defaults to
- serial mouse
-
-2000-02-15 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: "After %s partition %s," inlined otherwise does
- not please pablo and translators...
-
-2000-02-14 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Create): hide start sector choice for non-expert
-
-2000-02-11 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_raw.pm (get_geometry): do not use the cylinder
- number given by HDIO_GETGEO cuz limited to 16bits. Compute using
- the total_sectors using HDIO_GET_IDENTITY
-
- * c/stuff.xs.pm: added total_sectors (gives the number of sector
- of a drive)
-
- * modules.pm (load): ignore error in loading prereq's
-
- * modules.pm (@drivers_by_category): rcpci instead of rcpci45,
- z85230 added
-
- * commands.pm (mount): add modules::load_deps otherwise the
- fs::mount won't succeed insmoding vfat if needed
-
-2000-02-11 Franois Pons <fpons@mandrakesoft.com>
-
- * fixed diskdrake to handle limit case when creating and resizing
- partition table, address size limit and start sector limit.
-
-2000-02-11 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): add a callback on SEGV
- -> message printed
- -> that way, ENDs are called (otherwise skipped)
-
- * install_steps_interactive.pm (setup_thiskind): handles the undef
- value returned by load_thiskind
-
- * install_steps_interactive.pm (exitInstall): do not call
- install_steps::exitInstall
-
- * install_steps (exitInstall): removed
- * install_steps (END): added (it does ejectCdrom)
-
- * install_steps_interactive.pm (load_thiskind): returns undef if
- error loading a module
-
- * fs.pm (format_part): changed the prototype from $;$@ to $;@
- otherwise, @options always have a value (mostly undef) and mkdosfs
- fails (with "mkdosfs", "/dev/hdXX", undef, "-F", 32)
-
- * install_steps_interactive.pm (setup_thiskind):
- add a $auto_probe_pci that overrules $o->{auto_probe_pci}
- (that way no pci probe the second time)
-
-2000-02-10 Franois Pons <fpons@mandrakesoft.com>
-
- * heavy modification of build_archive and extract_archive to manage
- a TOC directly in archive file, handle bzip2 or gzip compression,
- extract_archive can extract multiple files a time, with minimal
- invocation of uncompress program and follow symlink and expand
- directory contents.
- * use build_archive/extract_archive for locales.
- * fixed a min/max in install_steps_gtk for Resize/Create partition.
- * fixed adjustEnd with dos partition table, take care of magic 63
- sectors at beginning of partitions, a more solid method should be
- used for that.
-
-2000-02-10 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (load_thiskind): skip modules "unknown" and "ignore"
-
-2000-02-09 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (add): cdie if maximum number of partitions
- handled by linux is reached
-
- * Xconfigurator.pm (chooseResolutionsGtk): display the graphic
- card or server found
-
- * install_any.pm (relGetFile): for mdkinst files, take care not to
- have a double '/' (see debbugs #591)
-
- * install_steps_interactive.pm (configureNetwork):
- purpose: add ability to configure both modem and lan
- clean up the behaviour
-
- * fs.pm (write_fstab):
- purpose: sort the fstab per mount point (cuz /usr must be before /usr/local)
- also: rewrite of the part writing the fstab.
diff --git a/perl-install/Makefile b/perl-install/Makefile
deleted file mode 100644
index f5e855c26..000000000
--- a/perl-install/Makefile
+++ /dev/null
@@ -1,157 +0,0 @@
-include Makefile.config
-
-.PHONY: all $(DIRS) install clean stage2 full_stage2 verify_c
-
-all: TAGS $(DIRS)
-
-TAGS: $(PMS)
- etags -o - $^ | ./perl2etags > $@
-
-clean:
- for i in $(DIRS); do $(MAKE) -C $$i clean; done
- rm -rf auto ../drakxtools.tar.bz2
- find . -name "*~" -o -name ".#*" -o -name "TAGS" -o -name "*.old" | xargs rm -f
-
-tar-drakxtools: clean
- $(MAKE) -C ../tools clean
- cd .. ; rm -rf drakxtools ; cp -af perl-install drakxtools ; cp -af tools/ddcprobe tools/serial_probe drakxtools
- cd ../drakxtools ; perl -pi -e 's/^C_RPM.*/C_RPM=0/; s/^C_DRAKX.*/C_DRAKX=0/' c/Makefile
- cd ../drakxtools ; rm -rf install* pkgs.pm ftp.pm t.pm */CVS ; mv Makefile.drakxtools Makefile ; mv -f standalone/* .
- cd .. ; tar cfj drakxtools.tar.bz2 --exclude CVS $(patsubst %,drakxtools/%,Makefile Makefile.config Newt c ddcprobe serial_probe share/po sbus_probing resize_fat share/diskdrake.rc share/wizard.rc $(STANDALONEPMS) icons pixmaps *.pm)
- cd .. ; rm -rf drakxtools
-
-$(DIRS):
- install -d auto
- $(MAKE) -C $@
-
-test_pms: verify_c
- for i in install2 standalone/keyboarddrake standalone/XFdrake standalone/drakboot; do ./perl2fcalls -excludec -excluderesize_fat::c_rewritten $$i; done
- for i in install2 install_steps_*.pm; do perl -cw -I. $$i; done
-
-verify_c:
- ./verify_c $(PMS)
-
-install_pms: $(DIRS)
- for i in `perl -ne 's/sub (\w+?)_? {.*/$$1/ and print' commands.pm` sync; do ln -sf commands $(DEST)/usr/bin/$$i; done
-
- install -d $(DESTREP4PMS)
- for i in $(PMS); do \
- dest=$(DESTREP4PMS)/`dirname $$i`; \
- install -d $$dest; \
- perl -ne 'print' $$i > $(DESTREP4PMS)/$$i; \
- perl -pe 's/#[-+].*//; $$_ = "\n" if (/^=head/ .. /^=cut/) || /use (diagnostics|vars|strict)/' $$i > $(DESTREP4PMS)/$$i; \
- done
-# perl -pe 's/#-.*//; $$_ = "\n" if (/^=head/ .. /^=cut/) || /use (diagnostics)/' $$i > $(DESTREP4PMS)/$$i; \
-
- cp share/*.rc $(DESTREP4PMS)
- install -d $(DESTREP4PMS)/po
- cp -f share/po/*.po* $(DESTREP4PMS)/po ||:
- chmod a+x $(DESTREP4PMS)/install2
- chmod a+x $(DESTREP4PMS)/commands
- chmod a+x $(DESTREP4PMS)/standalone/*
- chmod a+x $(DESTREP4PMS)/g_auto_install
- chmod a+x $(DESTREP4PMS)/live_install*
-
-get_needed_files: $(DIRS)
-# export PERL_INSTALL_TEST=1 ; strace -f -e trace=file -o '| grep -v "(No such file or directory)" | sed -e "s/[^\"]*\"//" -e "s/\".*//" | grep "^/" | grep -v -e "^/tmp" -e "^/home" -e "^/proc" -e "^/var" -e "^/dev" -e "^/etc" -e "^/usr/lib/rpm" > /tmp/list ' $(PERL) -d install2 < /dev/null
- eval `perl -V:version`; \
- cat share/list `../tools/specific_arch share/list` | \
- perl -pe "s/ARCH/$(ARCH)/g" | perl -pe "s/PERL_VERSION/$$version/g" > /tmp/list
-
- @missing=`perl -lne 'print if !-e $$_' /tmp/list`; [ -z "$$missing" ] || { echo "missing files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$missing" ; echo "missing files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; }
-
- find auto -follow -name "*.so" >> /tmp/list
-
- for i in $(LOCALFILES) `cat /tmp/list` ; do \
- ldd $$i 2>/dev/null | grep "=>" | sed -e 's/.*=> //' -e 's/ .*//' | uniq | sort >> /tmp/list; \
- done
-
- perl -Mlang -I. -e 'print "$$_\n" foreach lang::console_font_files()' >> /tmp/list
-
- install -d $(DEST)/etc
- install -d $(DEST)/etc/sysconfig/network-scripts
- install -d $(DEST)/lib
- install -d $(DEST)/bin
- install -d $(DEST)/usr/bin
- install -d $(DEST)/usr/lib
- install -d $(DEST)/usr/share
- install -d $(DEST)/usr/share/gtk
- install -d $(DEST)/usr/share/xmodmap
- install -d $(DEST)/usr/X11R6/lib/X11
- install -d $(ROOTDEST)/Mandrake/base
- install -s $(LOCALFILES) $(DEST)/usr/bin
-# cp -f $(LOCALFILES2) $(DEST)/usr/bin
- ln -s ../X11R6/lib/X11 $(DEST)/usr/lib/X11
-ifeq (sparc,$(ARCH))
- cp -a /usr/X11R6/lib/X11/xkb $(DEST)/usr/X11R6/lib/X11
- rm -f $(DEST)/usr/X11R6/lib/X11/xkb/compiled
- ln -s /tmp $(DEST)/usr/X11R6/lib/X11/xkb/compiled
- ln -s /usr/X11R6/lib/X11/xkb/xkbcomp $(DEST)/usr/bin/xkbcomp
-endif
-ifeq (i386,$(ARCH))
- install -s ../all.kernels/*/cardmgr/cardmgr-* $(DEST)/usr/bin
-endif
-
- for i in `cat /tmp/list`; do \
- if (echo $$i | grep -q "lib/[^/]*\.so"); then \
- install -s $$i $(DEST)/lib; \
- else \
- d=$$i; \
- (echo $$d | grep -q "^[^/]") && d="$(REP4PMS)/$$d"; \
- d=`echo $(DEST)/$$d | sed 's/\/usr\/local\//\/usr\//'`; \
- install -d `dirname $$d` && \
- if (echo $$i | grep -q "\.pm"); then \
- perl -pe '$$_ =~ /^__END__/ and exit(0);' $$i > $$d; \
- elif (echo $$i | grep -q "\.so"); then \
- install -s $$i $$d; \
- else \
- cp -f $$i $$d; \
- fi; \
- fi; \
- done
- mv -f $(DEST)/lib/libimlib-png.so $(DEST)/usr/lib
-
-# # transform xpm's in png's
- for i in $(DEST)/usr/share/icons/*.xpm; do convert $$i `echo $$i | sed 's/xpm/png/'`; rm $$i; done
-
- mv -f $(DEST)/bin/* $(DEST)/sbin/* $(DEST)/usr/bin
- cd $(DEST)/usr/bin ; mv insmod insmod_
- rmdir $(DEST)/bin $(DEST)/sbin
-
- perl -ane 'symlink "$$F[1]", "$(DEST)/usr/bin/$$F[0]"' share/aliases
-
- for i in fonts keyboards locales keymaps; do tar xfj `../tools/specific_arch share/$$i.tar.bz2` -C $(DEST); done
-
- grep ChangeLog CVS/Entries > $(DEST)/usr/share/VERSION
-
- gzip -9 $(DEST)/usr/share/ldetect-lst/*
-
- cd share ; cp -a modparm.lst $(DEST)/usr/share
- cd share ; cp -a consolefonts $(DEST)/usr/share
- cd share ; cp template.in/*.in $(DEST)/usr/share
- -cd share ; cp -f *.png *.xpm $(DEST)/usr/share
- -cd pixmaps ; cp -f *.png *.xpm $(DEST)/usr/share ; rm -f $(DEST)/usr/share/wiz_*
- cd share ; cp -a themes $(DEST)/usr/share/gtk
- cd share ; cp compssUsers compssUsers.desktop rpmsrate $(ROOTDEST)/Mandrake/base
-
- for i in ../all.modules/modules.cz*; do cp -f $$i $(DEST)/lib/; done
-
-# echo -e '#!/bin/sh\n\nexec "/usr/bin/sh"' > $(DEST)/usr/bin/runinstall2
-# chmod a+x $(DEST)/usr/bin/runinstall2
-
-ifeq (i386,$(ARCH))
- cp -a /etc/pcmcia $(DEST)/etc
- patch -p0 -d $(DEST)/etc < ../tools/pcmcia_config.patch
-endif
-
- find $(DEST) -name CVS | xargs rm -rf
-
-full_stage2:
- if [ `id -u` = 0 ]; then rm -rf $(DEST); else $(SUDO) rm -rf $(DEST); fi
- mkdir -p $(DEST)
- $(MAKE) get_needed_files
- $(MAKE) stage2
-
-stage2:
- $(MAKE) install_pms
- $(ROOTDEST)/misc/make_mdkinst_stage2 $(DEST) $(ROOTDEST)/Mandrake/base/mdkinst_stage2
diff --git a/perl-install/Makefile.config b/perl-install/Makefile.config
deleted file mode 100644
index 01edefaa5..000000000
--- a/perl-install/Makefile.config
+++ /dev/null
@@ -1,21 +0,0 @@
-ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
-
-VERSION = 2.2.10-BOOT
-SUDO = sudo
-SO_FILES = c/blib/arch/auto/c/c.so
-PMS = *.pm Newt/*.pm c/stuff.pm resize_fat/*.pm sbus_probing/*.pm commands install2 g_auto_install live_install live_install2
-STANDALONEPMS= diskdrake XFdrake mousedrake printerdrake keyboarddrake draknet net_monitor tinyfirewall drakxconf drakxservices draksec drakboot adduserdrake drakgw livedrake
-PMS += $(STANDALONEPMS:%=standalone/%)
-REP4PMS = /usr/bin/perl-install
-ROOTDEST = /export
-DEST = $(ROOTDEST)/Mandrake/mdkinst
-STAGE2 = $(ROOTDEST)/Mandrake/base/mdkinst_stage2
-BASE = $(ROOTDEST)/Mandrake/base
-DESTREP4PMS = $(DEST)$(REP4PMS)
-PERL = perl
-LOCALFILES = $(patsubst %, ../tools/%,$(ARCH)/e2fsck.shared ddcprobe/ddcxinfos serial_probe/serial_probe xhost+)
-DIRS = c Newt resize_fat #po
-CFLAGS = -Wall
-override CFLAGS += -pipe
-
diff --git a/perl-install/Makefile.drakxtools b/perl-install/Makefile.drakxtools
deleted file mode 100644
index 7395064d4..000000000
--- a/perl-install/Makefile.drakxtools
+++ /dev/null
@@ -1,43 +0,0 @@
-include Makefile.config
-
-DIRS = ddcprobe serial_probe share/po Newt c resize_fat
-PREFIX =
-SBINDEST = $(PREFIX)/usr/sbin
-ETCDEST = $(PREFIX)/etc/gtk
-DATADIR = $(PREFIX)/usr/share
-BINDEST = $(PREFIX)/usr/bin
-LIBDEST = $(PREFIX)/usr/lib/libDrakX
-BINX11DEST = $(PREFIX)/usr/X11R6/bin
-LIBX11DEST = $(PREFIX)/usr/X11R6/lib/X11
-PIXDIR = $(PREFIX)/usr/share/libDrakX/pixmaps
-.PHONY: $(DIRS)
-
-all: $(DIRS)
-
-$(DIRS):
- install -d auto
- rm standalone ; ln -s . standalone
- rm -f po/DrakX.pot # force rebuild of po's
- $(MAKE) -C $@
-
-install:
- install -d $(BINDEST) $(ETCDEST) $(SBINDEST) $(DATADIR) $(LIBDEST) $(BINX11DEST) $(LIBX11DEST) $(PIXDIR) $(LIBDEST)/po $(DIRS:%=$(LIBDEST)/%)
- install -d $(LIBDEST)/sbus_probing
- install $(STANDALONEPMS) $(SBINDEST)
- install -s ddcprobe/ddcxinfos serial_probe/serial_probe $(SBINDEST)
- ln -s ../../$(patsubst $(PREFIX)/usr%,%,$(SBINDEST))/XFdrake $(BINX11DEST)/Xdrakres
-
- install -m 644 *.pm $(LIBDEST)
- install -m 644 pixmaps/* $(PIXDIR)
- install -m 644 share/diskdrake.rc $(ETCDEST)
- install -m 644 share/wizard.rc $(ETCDEST)
- install -m 644 share/po/*.po $(LIBDEST)/po
- install -m 644 $(patsubst %,Newt/%.pm,Newt) $(LIBDEST)/Newt
- install -m 644 $(patsubst %,c/%.pm,stuff) $(LIBDEST)/c
- install -m 644 $(patsubst %,sbus_probing/%.pm,main) $(LIBDEST)/sbus_probing
- install -m 644 $(patsubst %,resize_fat/%.pm,main any boot_sector c_rewritten dir_entry directory fat info_sector io) $(LIBDEST)/resize_fat
- find $(LIBDEST) -name "*.pm" | xargs perl -pi -e '$$_ = "\n" if /\s*use\s+(diagnostics|vars|strict)/'
-
- cp -rf auto icons $(LIBDEST)
- bzip2 -9 $(LIBDEST)/po/*.po
- find $(LIBDEST) -name "*.so" | xargs strip
diff --git a/perl-install/Newt/.cvsignore b/perl-install/Newt/.cvsignore
deleted file mode 100644
index c296b7faf..000000000
--- a/perl-install/Newt/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-Newt.bs
-Newt.c
-pm_to_blib
-blib
-Makefile
-Makefile_c
diff --git a/perl-install/Newt/Av_CharPtrPtr.c b/perl-install/Newt/Av_CharPtrPtr.c
deleted file mode 100644
index f28fa6315..000000000
--- a/perl-install/Newt/Av_CharPtrPtr.c
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-#include "Av_CharPtrPtr.h" /* XS_*_charPtrPtr() */
-#ifdef __cplusplus
-}
-#endif
-
-
-/* Used by the INPUT typemap for char**.
- * Will convert a Perl AV* (containing strings) to a C char**.
- */
-char **
-XS_unpack_charPtrPtr( rv )
-SV *rv;
-{
- AV *av;
- SV **ssv;
- char **s;
- int avlen;
- int x;
-
- if( SvROK( rv ) && (SvTYPE(SvRV(rv)) == SVt_PVAV) )
- av = (AV*)SvRV(rv);
- else {
- warn("XS_unpack_charPtrPtr: rv was not an AV ref");
- return( (char**)NULL );
- }
-
- /* is it empty? */
- avlen = av_len(av);
- if( avlen < 0 ){
- warn("XS_unpack_charPtrPtr: array was empty");
- return( (char**)NULL );
- }
-
- /* av_len+2 == number of strings, plus 1 for an end-of-array sentinel.
- */
- s = (char **)safemalloc( sizeof(char*) * (avlen + 2) );
- if( s == NULL ){
- warn("XS_unpack_charPtrPtr: unable to malloc char**");
- return( (char**)NULL );
- }
- for( x = 0; x <= avlen; ++x ){
- ssv = av_fetch( av, x, 0 );
- if( ssv != NULL ){
- if( SvPOK( *ssv ) ){
- s[x] = (char *)safemalloc( SvCUR(*ssv) + 1 );
- if( s[x] == NULL )
- warn("XS_unpack_charPtrPtr: unable to malloc char*");
- else
- strcpy( s[x], SvPV( *ssv, PL_na ) );
- }
- else
- warn("XS_unpack_charPtrPtr: array elem %d was not a string.", x );
- }
- else
- s[x] = (char*)NULL;
- }
- s[x] = (char*)NULL; /* sentinel */
- return( s );
-}
-
-/* Used by the OUTPUT typemap for char**.
- * Will convert a C char** to a Perl AV*.
- */
-void
-XS_pack_charPtrPtr( st, s )
-SV *st;
-char **s;
-{
- AV *av = newAV();
- SV *sv;
- char **c;
-
- for( c = s; *c != NULL; ++c ){
- sv = newSVpv( *c, 0 );
- av_push( av, sv );
- }
- sv = newSVrv( st, NULL ); /* upgrade stack SV to an RV */
- SvREFCNT_dec( sv ); /* discard */
- SvRV( st ) = (SV*)av; /* make stack RV point at our AV */
-}
-
-
-/* cleanup the temporary char** from XS_unpack_charPtrPtr */
-void
-XS_release_charPtrPtr(s)
-char **s;
-{
- char **c;
- for( c = s; *c != NULL; ++c )
- safefree( *c );
- safefree( s );
-}
-
diff --git a/perl-install/Newt/Av_CharPtrPtr.h b/perl-install/Newt/Av_CharPtrPtr.h
deleted file mode 100644
index 765f1a731..000000000
--- a/perl-install/Newt/Av_CharPtrPtr.h
+++ /dev/null
@@ -1,4 +0,0 @@
-char ** XS_unpack_charPtrPtr _(( SV *rv ));
-void XS_pack_charPtrPtr _(( SV *st, char **s ));
-void XS_release_charPtrPtr _(( char **s ));
-
diff --git a/perl-install/Newt/Makefile b/perl-install/Newt/Makefile
deleted file mode 100644
index cb80c5ab7..000000000
--- a/perl-install/Newt/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-.PHONY: clean
-
-Newt: %: %.xs
- test -e Makefile_c || perl Makefile.PL
- $(MAKE) -f Makefile_c LD_RUN_PATH=
- rm -f ../auto/Newt ; ln -s ../Newt/blib/arch/auto/Newt ../auto
-
-clean:
- test ! -e Makefile_c || $(MAKE) -f Makefile_c clean
- rm -f *~ *.o
diff --git a/perl-install/Newt/Makefile.PL b/perl-install/Newt/Makefile.PL
deleted file mode 100644
index 6378a8f31..000000000
--- a/perl-install/Newt/Makefile.PL
+++ /dev/null
@@ -1,13 +0,0 @@
-use ExtUtils::MakeMaker;
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-
-WriteMakefile(
- 'NAME' => 'Newt',
- 'OBJECT' => 'Av_CharPtrPtr.o Newt.o',
- 'MAKEFILE' => 'Makefile_c',
- 'OPTIMIZE' => '-Os',
- 'VERSION_FROM' => 'Newt.pm', # finds $VERSION
- 'LIBS' => ['-lnewt -lslang'],
- 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
-);
diff --git a/perl-install/Newt/Newt.pm b/perl-install/Newt/Newt.pm
deleted file mode 100644
index fdf9c0232..000000000
--- a/perl-install/Newt/Newt.pm
+++ /dev/null
@@ -1,16 +0,0 @@
-package Newt; # $Id$
-
-use strict;
-use vars qw($VERSION @ISA);
-use DynaLoader;
-
-use vars qw($VERSION @ISA);
-@ISA = qw(DynaLoader);
-$VERSION = '0.01';
-bootstrap Newt $VERSION;
-
-package Newt::Component; # $Id$
-package Newt::Grid; # $Id$
-
-
-1;
diff --git a/perl-install/Newt/Newt.xs b/perl-install/Newt/Newt.xs
deleted file mode 100644
index fba7c5455..000000000
--- a/perl-install/Newt/Newt.xs
+++ /dev/null
@@ -1,478 +0,0 @@
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-#include <newt.h>
-
-static void suspend() {
- newtSuspend();
- raise(SIGTSTP);
- newtResume();
-}
-
-static void componentCallback(newtComponent co, void *data) {
- dSP;
- PUSHMARK(SP);
- perl_call_sv((SV *) data, G_DISCARD);
-}
-
-
-typedef newtComponent Newt__Component;
-typedef newtGrid Newt__Grid;
-
-
-MODULE = Newt PACKAGE = Newt PREFIX = newt
-
-void
-DESTROY()
- CODE:
- {
- newtFinished();
- }
-
-int
-newtInit()
-
-int
-newtFinished()
-
-void
-newtCls()
-
-void
-newtSuspend()
-
-void
-newtResume()
-
-int
-newtCenteredWindow(width,height,title)
- int width;
- int height;
- const char * title;
-
-void
-newtPopWindow()
-
-void
-newtRefresh()
-
-void
-newtPushHelpLine(text)
- const char * text;
-
-void
-newtDrawRootText(row,col,text)
- int row;
- int col;
- const char * text;
-
-void
-newtGetScreenSize()
- PPCODE:
-{
- int cols, rows;
- newtGetScreenSize(&cols, &rows);
- PUSHs(sv_2mortal(newSViv(cols)));
- PUSHs(sv_2mortal(newSViv(rows)));
-}
-
-void
-newtSetSuspendCallback()
- CODE:
- {
- newtSetSuspendCallback(suspend, NULL);
- }
-
-
-void
-newtWinMessage(title,buttonText,text)
- char * title;
- char * buttonText;
- char * text;
-
-int
-newtWinChoice(title,button1,button2,text)
- char * title;
- char * button1;
- char * button2;
- char * text;
-
-int
-newtWinTernary(title,button1,button2,button3,message)
- char * title;
- char * button1;
- char * button2;
- char * button3;
- char * message;
-
-void
-newtWinMenu(title,text,suggestedWidth,flexDown,flexUp,maxListHeight,list,def,buttons, ...)
- char * title;
- char * text;
- int suggestedWidth;
- int flexDown;
- int flexUp;
- int maxListHeight;
- char **list;
- int def;
- char *buttons;
- PPCODE:
- {
- int button;
-#define nb 8
-#define a(i) SvPV(ST(i + nb),PL_na)
- button = newtWinMenu(title, text, suggestedWidth, flexDown, flexUp, maxListHeight, list, &def,
- items > nb + 0 ? a( 0) : NULL,
- items > nb + 1 ? a( 1) : NULL,
- items > nb + 2 ? a( 2) : NULL,
- items > nb + 3 ? a( 3) : NULL,
- items > nb + 4 ? a( 4) : NULL,
- items > nb + 5 ? a( 5) : NULL,
- items > nb + 6 ? a( 6) : NULL,
- items > nb + 7 ? a( 7) : NULL,
- items > nb + 8 ? a( 8) : NULL,
- items > nb + 9 ? a( 9) : NULL,
- items > nb + 10 ? a(10) : NULL,
- NULL);
-#undef a
- EXTEND(SP, 2);
- PUSHs(sv_2mortal(newSViv(button)));
- PUSHs(sv_2mortal(newSViv(def)));
- }
-
-MODULE = Newt PACKAGE = Newt::Component PREFIX = newt
-
-void
-addCallback(co, callback)
- Newt::Component co;
- SV *callback;
- CODE:
- newtComponentAddCallback(co, componentCallback, callback);
-
-Newt::Component
-newtCompactButton(left,top,text)
- int left;
- int top;
- const char * text;
-
-Newt::Component
-newtButton(left,top,text)
- int left;
- int top;
- const char * text;
-
-Newt::Component
-newtCheckbox(left,top,text,defValue,seq)
- int left;
- int top;
- const char * text;
- char *defValue;
- const char * seq;
- CODE:
- RETVAL = newtCheckbox(left, top, text, defValue[0], seq, NULL);
- OUTPUT:
- RETVAL
-
-int
-newtCheckboxGetValue(co)
- Newt::Component co;
-
-void
-newtCheckboxSetValue(co, value)
- Newt::Component co;
- char *value;
- CODE:
- newtCheckboxSetValue(co, value[0]);
-
-Newt::Component
-newtLabel(left,top,text)
- int left;
- int top;
- const char * text;
-
-void
-newtLabelSetText(co,text)
- Newt::Component co;
- const char * text;
-
-Newt::Component
-newtVerticalScrollbar(left,top,height,normalColorset,thumbColorset)
- int left;
- int top;
- int height;
- int normalColorset;
- int thumbColorset;
-
-void
-newtScrollbarSet(co,where,total)
- Newt::Component co;
- int where;
- int total;
-
-Newt::Component
-newtListbox(left,top,height,flags)
- int left;
- int top;
- int height;
- int flags;
-
-SV *
-newtListboxGetCurrent(co)
- Newt::Component co;
-CODE:
- RETVAL = SvREFCNT_inc(newtListboxGetCurrent(co));
-OUTPUT:
- RETVAL
-
-
-void
-newtListboxSetCurrent(co,indice)
- Newt::Component co;
- int indice;
-
-void
-newtListboxSetWidth(co,width)
- Newt::Component co;
- int width;
-
-int
-newtListboxAddEntry(co,text,data)
- Newt::Component co;
- const char * text;
- SV * data;
-CODE:
- RETVAL = newtListboxAddEntry(co, text, data);
-OUTPUT:
- RETVAL
-
-Newt::Component
-newtTextboxReflowed(left,top,text,width,flexDown,flexUp,flags)
- int left;
- int top;
- char * text;
- int width;
- int flexDown;
- int flexUp;
- int flags;
-
-Newt::Component
-newtTextbox(left,top,width,height,flags)
- int left;
- int top;
- int width;
- int height;
- int flags;
-
-void
-newtTextboxSetText(co,text)
- Newt::Component co;
- const char * text;
-
-void
-newtTextboxSetHeight(co,height)
- Newt::Component co;
- int height;
-
-int
-newtTextboxGetNumLines(co)
- Newt::Component co;
-
-char *
-newtReflowText(text,width,flexDown,flexUp,actualWidth,actualHeight)
- char * text;
- int width;
- int flexDown;
- int flexUp;
- int * actualWidth;
- int * actualHeight;
-
-Newt::Component
-newtForm(vertBar,help,flags)
- Newt::Component vertBar;
- const char * help;
- int flags;
-
-void
-newtFormSetSize(co)
- Newt::Component co;
-
-Newt::Component
-newtFormGetCurrent(co)
- Newt::Component co;
-
-void
-newtFormSetBackground(co,color)
- Newt::Component co;
- int color;
-
-void
-newtFormSetCurrent(co,subco)
- Newt::Component co;
- Newt::Component subco;
-
-void
-newtFormAddComponent(form,co)
- Newt::Component form;
- Newt::Component co;
-
-void
-newtFormAddGrid(form,grid,recurse)
- Newt::Component form;
- Newt::Grid grid;
- int recurse;
- CODE:
- newtGridAddComponentsToForm(grid,form,recurse);
-
-void
-newtFormSetHeight(co,height)
- Newt::Component co;
- int height;
-
-void
-newtFormSetWidth(co,width)
- Newt::Component co;
- int width;
-
-Newt::Component
-newtRunForm(form)
- Newt::Component form;
-
-void
-newtDrawForm(form)
- Newt::Component form;
-
-Newt::Component
-newtEntry(left,top,initialValue,width,flag)
- int left;
- int top;
- const char * initialValue;
- int width;
- int flag;
- CODE:
- {
- char *result;
- RETVAL = newtEntry(left,top,initialValue,width,&result,flag);
- }
- OUTPUT:
- RETVAL
-
-void
-newtEntrySet(co,value,cursorAtEnd)
- Newt::Component co;
- const char * value;
- int cursorAtEnd;
-
-char *
-newtEntryGetValue(co)
- Newt::Component co;
-
-void
-newtFormDestroy(form)
- Newt::Component form;
-
-MODULE = Newt PACKAGE = Newt::Grid PREFIX = newt
-
-Newt::Grid
-newtCreateGrid(cols,rows)
- int cols;
- int rows;
-
-Newt::Grid
-HCloseStacked(first, ...)
- Newt::Component first;
- CODE:
- {
- int i;
- newtComponent *p = alloca(sizeof(newtComponent) * (2 * items + 1));
- for (i = 0; i < items; i++) {
- p[2 * i] = 1;
- p[2 * i + 1] = (newtComponent)SvIV((SV*)SvRV( ST(i) ));
- }
- p[2 * items] = NULL;
- RETVAL = ((newtGrid (*)()) newtGridHCloseStacked)();
- }
-OUTPUT:
-RETVAL
-
-
-Newt::Grid
-newtGridBasicWindow(text,middle,buttons)
- Newt::Component text;
- Newt::Grid middle;
- Newt::Grid buttons;
-
-
-Newt::Grid
-newtGridSimpleWindow(text,middle,buttons)
- Newt::Component text;
- Newt::Component middle;
- Newt::Grid buttons;
-
-void
-newtGridSetField(grid,col,row,type,val,padLeft,padTop,padRight,padBottom,anchor,flags)
- Newt::Grid grid;
- int col;
- int row;
- enum newtGridElement type;
- void * val;
- int padLeft;
- int padTop;
- int padRight;
- int padBottom;
- int anchor;
- int flags;
-
-
-void
-newtGridFree(grid,recurse)
- Newt::Grid grid;
- int recurse;
-
-void
-newtGridPlace(grid,left,top)
- Newt::Grid grid;
- int left;
- int top;
-
-void
-newtGridGetSize(grid)
- Newt::Grid grid;
- PPCODE:
-{
- int width;
- int height;
- newtGridGetSize(grid, &width, &height);
- PUSHs(sv_2mortal(newSViv(width)));
- PUSHs(sv_2mortal(newSViv(height)));
-}
-
-void
-newtGridWrappedWindow(grid,title)
- Newt::Grid grid;
- char * title;
-
-Newt::Grid
-newtButtonBar(button1, ...)
- char * button1;
- PPCODE:
- {
- static newtComponent p[11];
- int i;
- EXTEND(SP, items + 1);
-#define a(i) (char *)SvPV(ST(i),PL_na)
- PUSHs(sv_setref_pv(sv_newmortal(), "Newt::Grid",
- newtButtonBar(items > 0 ? a( 0) : NULL, items > 0 ? &p[ 0] : NULL,
- items > 1 ? a( 1) : NULL, items > 1 ? &p[ 1] : NULL,
- items > 2 ? a( 2) : NULL, items > 2 ? &p[ 2] : NULL,
- items > 3 ? a( 3) : NULL, items > 3 ? &p[ 3] : NULL,
- items > 4 ? a( 4) : NULL, items > 4 ? &p[ 4] : NULL,
- items > 5 ? a( 5) : NULL, items > 5 ? &p[ 5] : NULL,
- items > 6 ? a( 6) : NULL, items > 6 ? &p[ 6] : NULL,
- items > 7 ? a( 7) : NULL, items > 7 ? &p[ 7] : NULL,
- items > 8 ? a( 8) : NULL, items > 8 ? &p[ 8] : NULL,
- items > 9 ? a( 9) : NULL, items > 9 ? &p[ 9] : NULL,
- items > 10 ? a(10) : NULL, items > 10 ? &p[10] : NULL,
- NULL)));
-#undef a
- for (i = 0; i < items; i++) PUSHs(sv_setref_pv(sv_newmortal(), "Newt::Component", p[i]));
- }
diff --git a/perl-install/Newt/typemap b/perl-install/Newt/typemap
deleted file mode 100644
index 5aaa2f668..000000000
--- a/perl-install/Newt/typemap
+++ /dev/null
@@ -1,25 +0,0 @@
-TYPEMAP
-
-const char * T_PV
-const void * T_PV
-int * T_PV
-void ** T_PACKED
-
-enum newtFlagsSense T_IV
-enum newtGridElement T_IV
-SV ** T_SV
-
-Newt::Component NewtComponent
-Newt::Grid NewtGrid
-
-INPUT
-NewtComponent
- $var = ($type) SvIV((SV*)SvRV($arg))
-NewtGrid
- $var = ($type) SvIV((SV*)SvRV($arg))
-
-OUTPUT
-NewtComponent
- sv_setref_pv($arg, "Newt::Component", (void*) $var);
-NewtGrid
- sv_setref_pv($arg, "Newt::Grid", (void*) $var);
diff --git a/perl-install/Xconfig.pm b/perl-install/Xconfig.pm
deleted file mode 100644
index c91f5f666..000000000
--- a/perl-install/Xconfig.pm
+++ /dev/null
@@ -1,212 +0,0 @@
-package Xconfig; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:common :file :system);
-use mouse;
-use devices;
-use Xconfigurator;
-
-# otherwise uses the rule substr($keymap, 0, 2)
-my %keymap_translate = (
- cf => "ca_enhanced",
- uk => "gb",
-);
-
-
-1;
-
-sub keymap_translate {
- $keymap_translate{$_[0]} || substr($_[0], 0, 2);
-}
-
-
-sub getinfo {
- my $o = shift || {};
- getinfoFromDDC($o);
- getinfoFromSysconfig($o);
-
- my ($mouse) = mouse::detect();
- add2hash($o->{mouse}, $mouse) unless $o->{mouse}{XMOUSETYPE};
- add2hash($o->{mouse}{auxmouse}, $mouse->{auxmouse}) unless $o->{mouse}{auxmouse}{XMOUSETYPE};
- $o->{mouse}{auxmouse}{XMOUSETYPE} or delete $o->{mouse}{auxmouse};
-
- $o->{mouse}{device} ||= "mouse" if -e "/dev/mouse";
- $o;
-}
-
-sub getinfoFromXF86Config {
- my $o = shift || {}; #- original $::o->{X} which must be changed only if sure!
- my $prefix = shift || "";
- my (%keyboard, %mouse, %wacom, %card, %monitor);
- my (%c, $depth, $driver);
-
- local $_;
- local *G; open G, "$prefix/etc/X11/XF86Config-4";
- while (<G>) {
- if (my $i = /^Section "InputDevice"/ .. /^EndSection/) {
- %c = () if $i == 1;
-
- $c{driver} = $1 if /^\s*Driver\s+"(.*?)"/;
- $c{id} = $1 if /^\s*Identifier\s+"[^\d"]*(\d*)"/;
- $c{xkb_model} ||= $1 if /^\s*Option\s+"XkbModel"\s+"(.*?)"/;
- $c{xkb_keymap} ||= $1 if /^\s*Option\s+"XkbLayout"\s+"(.*?)"/;
- $c{XMOUSETYPE} ||= $1 if /^\s*Option\s+"Protocol"\s+"(.*?)"/;
- $c{device} ||= $1 if /^\s*Option\s+"Device"\s+"\/dev\/(.*?)"/;
- $c{chordmiddle} ||= $1 if /^\s*Option\s+"ChordMiddle"\s+"\/dev\/(.*?)"/;
- $c{nbuttons} = 2 if /^\s*Option\s+"Emulate3Buttons"\s+/;
- $c{nbuttons} ||= 3 if /^\s*#\s*Option\s+"Emulate3Buttons"\s+/;
- $c{nbuttons} ||= 5 if /^\s*#\s*Option\s+"ZAxisMapping"\s.*5/;
- $c{nbuttons} = 7 if /^\s*#\s*Option\s+"ZAxisMapping"\s.*7/;
-
- if ($i =~ /E0/) {
- @keyboard{qw(xkb_keymap)} = @c{qw(xkb_keymap)}
- if $c{driver} =~ /keyboard/i;
- @{$mouse{auxmouse}}{qw(XMOUSETYPE device chordmiddle nbuttons)} = @c{qw(XMOUSETYPE device chordmiddle nbuttons)}
- if $c{driver} =~ /mouse/i && $c{id} > 1;
- @mouse{qw(XMOUSETYPE device chordmiddle nbuttons)} = @c{qw(XMOUSETYPE device chordmiddle nbuttons)}
- if $c{driver} =~ /mouse/i && $c{id} < 1;
- $wacom{$c{device}} = undef
- if $c{driver} =~ /wacom/i;
- }
- } elsif (/^Section "Monitor"/ .. /^EndSection/) {
- $monitor{type} ||= $1 if /^\s*Identifier\s+"(.*?)"/;
- $monitor{hsyncrange} ||= $1 if /^\s*HorizSync\s+(.*)/;
- $monitor{vsyncrange} ||= $1 if /^\s*VertRefresh\s+(.*)/;
- $monitor{vendor} ||= $1 if /^\s*VendorName\s+"(.*?)"/;
- $monitor{model} ||= $1 if /^\s*ModelName\s+"(.*?)"/;
- $monitor{modelines_}{"$1_$2"} = $_ if /^\s*Mode[lL]ine\s+(\S+)\s+(\S+)\s+/;
- } elsif (my $s = /^Section "Screen"/ .. /^EndSection/) {
- $card{default_depth} ||= $1 if /^\s*DefaultColorDepth\s+(\d+)/;
- if (my $i = /^\s*Subsection\s+"Display"/ .. /^\s*EndSubsection/) {
- undef $depth if $i == 1;
- $depth = $1 if /^\s*Depth\s+(\d*)/;
- if (/^\s*Modes\s+(.*)/) {
- my $a = 0;
- unshift @{$card{depth}{$depth || 8} ||= []}, #- insert at the beginning for resolution_wanted!
- grep { $_->[0] >= 640 } map { [ /"(\d+)x(\d+)"/ ] } split ' ', $1;
- }
- }
- }
- }
- close G;
- local *F; open F, "$prefix/etc/X11/XF86Config";
- while (<F>) {
- if (/^Section "Keyboard"/ .. /^EndSection/) {
- $keyboard{xkb_model} ||= $1 if /^\s*XkbModel\s+"(.*?)"/;
- $keyboard{xkb_keymap} ||= $1 if /^\s*XkbLayout\s+"(.*?)"/;
- } elsif (/^Section "Pointer"/ .. /^EndSection/) {
- $mouse{XMOUSETYPE} ||= $1 if /^\s*Protocol\s+"(.*?)"/;
- $mouse{device} ||= $1 if m|^\s*Device\s+"/dev/(.*?)"|;
- $mouse{cleardtrrts} ||= 1 if m/^\s*ClearDTR\s+/;
- $mouse{cleardtrrts} ||= 1 if m/^\s*ClearRTS\s+/;
- $mouse{chordmiddle} ||= 1 if m/^\s*ChordMiddle\s+/;
- $mouse{nbuttons} = 2 if m/^\s*Emulate3Buttons\s+/;
- $mouse{nbuttons} ||= 3 if m/^\s*#\s*Emulate3Buttons\s+/;
- $mouse{nbuttons} ||= 5 if m/^\s*ZAxisMapping\s.*5/;
- $mouse{nbuttons} = 7 if m/^\s*ZAxisMapping\s.*7/;
- } elsif (/^Section "XInput"/ .. /^EndSection/) {
- if (/^\s*SubSection "Wacom/ .. /^\s*EndSubSection/) {
- $wacom{$1} = undef if /^\s*Port\s+"\/dev\/(.*?)"/;
- }
- } elsif (/^Section "Monitor"/ .. /^EndSection/) {
- $monitor{type} ||= $1 if /^\s*Identifier\s+"(.*?)"/;
- $monitor{hsyncrange} ||= $1 if /^\s*HorizSync\s+(.*)/;
- $monitor{vsyncrange} ||= $1 if /^\s*VertRefresh\s+(.*)/;
- $monitor{vendor} ||= $1 if /^\s*VendorName\s+"(.*?)"/;
- $monitor{model} ||= $1 if /^\s*ModelName\s+"(.*?)"/;
- $monitor{modelines_}{"$1_$2"} = $_ if /^\s*Mode[lL]ine\s+(\S+)\s+(\S+)\s+/;
- } elsif (my $i = /^Section "Device"/ .. /^EndSection/) {
- %c = () if $i == 1;
-
- $c{type} ||= $1 if /^\s*Identifier\s+"(.*?)"/;
- $c{memory} ||= $1 if /VideoRam\s+(\d+)/;
- $c{flags}{needVideoRam} ||= 1 if /^\s*VideoRam\s+/;
- $c{vendor} ||= $1 if /^\s*VendorName\s+"(.*?)"/;
- $c{board} ||= $1 if /^\s*BoardName\s+"(.*?)"/;
- $c{driver} ||= $1 if /^\s*Driver\s+"(.*?)"/;
- $c{options_xf3}{$1} ||= 1 if /^\s*Option\s+"(.*?)"/;
- $c{options_xf3}{$1} ||= 0 if /^\s*#\s*Option\s+"(.*?)"/;
-
- add2hash(\%card, \%c) if ($i =~ /E0/ && $c{type} && $c{type} ne "Generic VGA");
- } elsif (my $s = /^Section "Screen"/ .. /^EndSection/) {
- undef $driver if $s == 1;
- $driver = $1 if /^\s*Driver\s+"(.*?)"/;
- if ($driver eq $Xconfigurator::serversdriver{$card{server}}) {
- $card{default_depth} ||= $1 if /^\s*DefaultColorDepth\s+(\d+)/;
- if (my $i = /^\s*Subsection\s+"Display"/ .. /^\s*EndSubsection/) {
- undef $depth if $i == 1;
- $depth = $1 if /^\s*Depth\s+(\d*)/;
- if (/^\s*Modes\s+(.*)/) {
- my $a = 0;
- unshift @{$card{depth}{$depth || 8} ||= []}, #- insert at the beginning for resolution_wanted!
- grep { $_->[0] >= 640 } map { [ /"(\d+)x(\d+)"/ ] } split ' ', $1;
- }
- }
- }
- }
- }
- close F;
-
- #- clean up modeline by those automatically given by $modelines_text.
- foreach (split /\n/, $Xconfigurator::modelines_text) {
- delete $monitor{modelines_}{"$1_$2"} if /^\s*Mode[lL]ine\s+(\S+)\s+(\S+)\s+(.*)/;
- }
- $monitor{modelines} .= $_ foreach values %{$monitor{modelines_}}; delete $monitor{modelines_};
-
- #- get the default resolution according the the current file.
- #- suggestion to take into account, but that have to be checked.
- $o->{card}{suggest_depth} = $card{default_depth};
- if (my @depth = keys %{$card{depth}}) {
- $o->{card}{suggest_wres} = ($card{depth}{$o->{card}{suggest_depth} || $depth[0]}[0][0]);
- }
-
- #- try to merge with $o, the previous has been obtained by ddcxinfos.
- add2hash($o->{keyboard} ||= {}, \%keyboard);
- add2hash($o->{mouse} ||= {}, \%mouse);
- add2hash($o->{mouse}{auxmouse} ||= {}, $mouse{auxmouse}) if $mouse{auxmouse}{XMOUSETYPE};
- @{$o->{wacom} || []} > 0 or $o->{wacom} = [ keys %wacom ];
- add2hash($o->{monitor} ||= {}, \%monitor);
-
- $o;
-}
-
-sub getinfoFromSysconfig {
- my $o = shift || {};
- my $prefix = shift || "";
-
- add2hash($o->{mouse} ||= {}, { getVarsFromSh("$prefix/etc/sysconfig/mouse") });
-
- if (my %keyboard = getVarsFromSh "$prefix/etc/sysconfig/keyboard") {
- $o->{keyboard}{xkb_keymap} ||= keymap_translate($keyboard{KEYTABLE}) if $keyboard{KEYTABLE};
- }
- $o;
-}
-
-sub getinfoFromDDC {
- my $o = shift || {};
- my $O = $o->{monitor} ||= {};
- #- return $o if $O->{hsyncrange} && $O->{vsyncrange} && $O->{modelines};
- my ($m, @l) = `ddcxinfos`;
- $? == 0 or return $o;
-
- $o->{card}{memory} ||= to_int($m);
- local $_;
- while (($_ = shift @l) ne "\n") {
- my ($depth, $x, $y) = split;
- $depth = int(log($depth) / log(2));
- if ($depth >= 8 && $x >= 640) {
- push @{$o->{card}{depth}{$depth}}, [ $x, $y ] unless scalar grep { $_->[0] == $x && $_->[1] == $y } @{$o->{card}{depth}{$depth}};
- push @{$o->{card}{depth}{32}}, [ $x, $y ] if $depth == 24 && ! scalar grep { $_->[0] == $x && $_->[1] == $y } @{$o->{card}{depth}{32}};
- }
- }
- my ($h, $v, $size, @m) = @l;
-
- chop $h; chop $v;
- $O->{hsyncrange} ||= $h;
- $O->{vsyncrange} ||= $v;
- $O->{size} ||= to_float($size);
- $O->{modelines} ||= join '', @m;
- $o;
-}
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm
deleted file mode 100644
index 1676fcc04..000000000
--- a/perl-install/Xconfigurator.pm
+++ /dev/null
@@ -1,1455 +0,0 @@
-package Xconfigurator; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw($in $install @window_managers @depths @monitorSize2resolution @hsyncranges %min_hsync4wres @vsyncranges %depths @resolutions %serversdriver @svgaservers @accelservers @allbutfbservers @allservers %vgamodes %videomemory @ramdac_name @ramdac_id @clockchip_name @clockchip_id %keymap_translate %standard_monitors $XF86firstchunk_text $keyboardsection_start $keyboardsection_start_v4 $keyboardsection_part2 $keyboardsection_part3 $keyboardsection_part3_v4 $keyboardsection_end $pointersection_text $monitorsection_text1 $monitorsection_text2 $monitorsection_text3 $monitorsection_text4 $modelines_text_Trident_TG_96xx $modelines_text $devicesection_text $devicesection_text_v4 $screensection_text1 %lines @options %xkb_options $good_default_monitor $low_default_monitor $layoutsection_v4 $modelines_text_apple);
-
-use common qw(:common :file :functional :system);
-use log;
-use detect_devices;
-use run_program;
-use Xconfigurator_consts;
-use any;
-use modules;
-use my_gtk qw(:helpers :wrappers);
-
-my $tmpconfig = "/tmp/Xconfig";
-
-my ($prefix, %monitors, %standard_monitors_);
-
-
-sub xtest {
- my ($display) = @_;
- $::isStandalone ?
- system("DISPLAY=$display /usr/X11R6/bin/xtest") == 0 :
- c::Xtest($display);
-}
-
-sub getVGAMode($) { $_[0]->{card}{vga_mode} || $vgamodes{"640x480x16"}; }
-
-sub readCardsDB {
- my ($file) = @_;
- my ($card, %cards);
-
- my $F = common::openFileMaybeCompressed($file);
-
- my ($lineno, $cmd, $val) = 0;
- my $fs = {
- LINE => sub { push @{$card->{lines}}, $val unless $val eq "VideoRam" },
- NAME => sub {
- $cards{$card->{type}} = $card if $card;
- $card = { type => $val };
- },
- SEE => sub {
- my $c = $cards{$val} or die "Error in database, invalid reference $val at line $lineno";
-
- push @{$card->{lines}}, @{$c->{lines} || []};
- add2hash($card->{flags}, $c->{flags});
- add2hash($card, $c);
- },
- CHIPSET => sub {
- $card->{chipset} = $val;
- $card->{flags}{needChipset} = 1 if $val eq 'GeForce DDR';
- $card->{flags}{needVideoRam} = 1 if member($val, qw(mgag10 mgag200 RIVA128 SiS6326));
- },
- SERVER => sub { $card->{server} = $val; },
- DRIVER => sub { $card->{driver} = $val; },
- RAMDAC => sub { $card->{ramdac} = $val; },
- DACSPEED => sub { $card->{dacspeed} = $val; },
- CLOCKCHIP => sub { $card->{clockchip} = $val; $card->{flags}{noclockprobe} = 1; },
- NOCLOCKPROBE => sub { $card->{flags}{noclockprobe} = 1 },
- UNSUPPORTED => sub { $card->{flags}{unsupported} = 1 },
- COMMENT => sub {},
- };
-
- local $_;
- while (<$F>) { $lineno++;
- s/\s+$//;
- /^#/ and next;
- /^$/ and next;
- /^END/ and last;
-
- ($cmd, $val) = /(\S+)\s*(.*)/ or next; #log::l("bad line $lineno ($_)"), next;
-
- my $f = $fs->{$cmd};
-
- $f ? $f->() : log::l("unknown line $lineno ($_)");
- }
- \%cards;
-}
-sub readCardsNames {
- my $file = "$ENV{SHARE_PATH}/ldetect-lst/CardsNames";
- map { (split '=>')[0] } grep { !/^#/ } catMaybeCompressed($file);
-}
-sub cardName2RealName {
- my ($name) = @_;
- my $file = "$ENV{SHARE_PATH}/ldetect-lst/CardsNames";
- foreach (catMaybeCompressed($file)) {
- chop;
- next if /^#/;
- my ($name_, $real) = split '=>';
- return $real if $name eq $name_;
- }
- $name;
-}
-sub updateCardAccordingName {
- my ($card, $name) = @_;
- my $cards = readCardsDB("$ENV{SHARE_PATH}/ldetect-lst/Cards+");
-
- add2hash($card->{flags}, $cards->{$name}{flags});
- add2hash($card, $cards->{$name});
- $card;
-}
-
-sub readMonitorsDB {
- my ($file) = @_;
-
- %monitors and return;
-
- my $F = common::openFileMaybeCompressed($file);
- local $_;
- my $lineno = 0; while (<$F>) {
- $lineno++;
- s/\s+$//;
- /^#/ and next;
- /^$/ and next;
-
- my @fields = qw(vendor type eisa hsyncrange vsyncrange);
- my @l = split /\s*;\s*/;
- @l == @fields or log::l("bad line $lineno ($_)"), next;
-
- my %l; @l{@fields} = @l;
- if ($monitors{$l{type}}) {
- my $i; for ($i = 0; $monitors{"$l{type} ($i)"}; $i++) {}
- $l{type} = "$l{type} ($i)";
- }
- $monitors{"$l{vendor}|$l{type}"} = \%l;
- }
- while (my ($k, $v) = each %standard_monitors) {
- $monitors{'Generic|' . translate($k)} = $standard_monitors_{$k} =
- { hsyncrange => $v->[1], vsyncrange => $v->[2] };
- }
-}
-
-sub keepOnlyLegalModes {
- my ($card, $monitor) = @_;
- my $mem = 1024 * ($card->{memory} || ($card->{server} eq 'FBDev' ? 2048 : 99999));
- my $hsync = max(split(/[,-]/, $monitor->{hsyncrange}));
-
- while (my ($depth, $res) = each %{$card->{depth}}) {
- @$res = grep {
- $mem >= product(@$_, $depth / 8) &&
- $hsync >= ($min_hsync4wres{$_->[0]} || 0) &&
- ($card->{server} ne 'FBDev' || $vgamodes{"$_->[0]x$_->[1]x$depth"})
- } @$res;
- delete $card->{depth}{$depth} if @$res == 0;
- }
-}
-
-sub cardConfigurationAuto() {
- my @cards;
- if (my @c = grep { $_->{driver} =~ /(Card|Server):/ } detect_devices::probeall(1)) {
- foreach my $i (0..$#c) {
- local $_ = $c[$i]->{driver};
- my $card = { identifier => ($c[$i]{description} . (@c > 1 && " $i")) };
- $card->{type} = $1 if /Card:(.*)/;
- $card->{server} = $1 if /Server:(.*)/;
- $card->{flags}{needVideoRam} &&= /86c368/;
- $card->{busid} = "PCI:$c[$i]{pci_bus}:$c[$i]{pci_device}:$c[$i]{pci_function}";
- push @{$card->{lines}}, @{$lines{$card->{identifier}} || []};
- push @cards, $card;
- }
- }
- #- take a default on sparc if nothing has been found.
- if (arch() =~ /^sparc/ && !@cards) {
- log::l("Using probe with /proc/fb as nothing has been found!");
- local $_ = cat_("/proc/fb");
- if (/Mach64/) { push @cards, { server => "Mach64" } }
- elsif (/Permedia2/) { push @cards, { server => "3DLabs" } }
- else { push @cards, { server => "Sun24" } }
- }
- #- special case for dual head card using only one busid.
- @cards = map { my $dup = $_->{identifier} =~ /MGA G450/ ? 2 : 1;
- if ($dup > 1) {
- my @result;
- my $orig = $_;
- foreach (1..$dup) {
- my $card = {};
- add2hash($card, $orig);
- push @result, $card;
- }
- @result;
- } else {
- ($_);
- }
- } @cards;
- #- make sure no type are already used, duplicate both screen
- #- and rename type (because used as id).
- if (@cards > 1) {
- my $card = 1;
- foreach (@cards) {
- updateCardAccordingName($_, $_->{type}) if $_->{type};
- $_->{type} = "$_->{type} $card";
- $card++;
- }
- }
- #- in case of only one cards, remove all busid reference, this will avoid
- #- need of change of it if the card is moved.
- #- on many PPC machines, card is on-board, busid is important, leave?
- @cards == 1 and delete $cards[0]{busid} if arch() !~ /ppc/;
- @cards;
-}
-
-sub cardConfiguration(;$$$) {
- my ($card, $noauto, $cardOptions) = @_;
- $card ||= {};
-
- updateCardAccordingName($card, $card->{type}) if $card->{type}; #- try to get info from given type
- undef $card->{type} unless $card->{server}; #- bad type as we can't find the server
- my @cards = cardConfigurationAuto();
- if (@cards > 1 && ($noauto || !$card->{server})) {#} && !$::isEmbedded) {
- my (%single_heads, @choices, $tc);
- my $configure_multi_head = sub {
- add2hash($card, $cards[0]); #- assume good default.
- delete $card->{cards} if $noauto;
- $card->{cards} or $card->{cards} = \@cards;
- $card->{force_xf4} = 1; #- force XF4 in such case.
- $card->{Xinerama} = $_[0];
- };
- foreach (@cards) {
- unless ($_->{driver} && !$_->{flags}{unsupported}) {
- log::l("found card \"$_->{identifier}\" not supported by XF4, disabling mutli-head support");
- $configure_multi_head = undef;
- }
- #- if more than one card use the same BusID, we have to use screen.
- if ($single_heads{$_->{busid}}) {
- $single_heads{$_->{busid}}{screen} ||= 0;
- $_->{screen} = $single_heads{$_->{busid}}{screen} + 1;
- }
- $single_heads{$_->{busid}} = $_;
- }
- if ($configure_multi_head) {
- push @choices, { text => _("Configure all heads independantly"), code => sub { $configure_multi_head->('') } };
- push @choices, { text => _("Use Xinerama extension"), code => sub { $configure_multi_head->(1) } };
- }
- foreach (values %single_heads) {
- push @choices, { text => _("Configure only card \"%s\" (%s)", $_->{identifier}, $_->{busid}),
- code => sub { add2hash($card, $_); delete $card->{cards}; delete $card->{Xinerama} } };
- }
- $tc = $in->ask_from_listf(_("Multi-head configuration"),
-_("Your system support multiple head configuration.
-What do you want to do?"), sub { translate($_[0]{text}) }, \@choices) or return; #- no more die, CHECK with auto that return ''!
- $tc->{code} and $tc->{code}();
- } else {
- #- only one head found, configure it as before.
- add2hash($card, $cards[0]) unless $card->{server} || $noauto;
- delete $card->{cards}; delete $card->{Xinerama};
- }
- $card->{server} = 'FBDev' unless !$cardOptions->{allowFB} || $card->{server} || $card->{type} || $noauto;
- $card->{type} = cardName2RealName($in->ask_from_treelist(_("Graphic card"), _("Select a graphic card"), '|', ['Other|Unlisted', readCardsNames()])) unless $card->{type} || $card->{server};
- undef $card->{type}, $card->{server} = $in->ask_from_list(_("X server"), _("Choose a X server"), $cardOptions->{allowFB} ? \@allservers : \@allbutfbservers ) or return if $card->{type} eq 'Other|Unlisted';
-
- updateCardAccordingName($card, $card->{type}) if $card->{type};
- add2hash($card, { vendor => "Unknown", board => "Unknown" });
-
- foreach ($card, @{$card->{cards} || []}) {
- $_->{memory} = 4096, delete $_->{depth} if $_->{driver} eq 'i810';
- $_->{memory} = 16384, delete $_->{depth} if $_->{chipset} =~ /PERMEDIA/ && $_->{memory} <= 1024;
- }
- #- 3D acceleration configuration for XFree 3.3 using Utah-GLX.
- $card->{Utah_glx} = ($card->{identifier} =~ /Matrox.* G[24][05]0/ || #- 8bpp does not work.
- $card->{identifier} =~ /Riva.*128/ ||
- $card->{identifier} =~ /Rage X[CL]/ ||
- $card->{identifier} =~ /3D Rage (?:LT|Pro)/);
- #- NOT WORKING $card->{type} =~ /Intel 810/);
- $card->{Utah_glx} = '' if arch() =~ /ppc/; #- No 3D XFree 3.3 for PPC
- #- 3D acceleration configuration for XFree 3.3 using Utah-GLX but EXPERIMENTAL that may freeze the machine (FOR INFO NOT USED).
- $card->{Utah_glx_EXPERIMENTAL} = ($card->{type} =~ /RIVA TNT/ || #- all RIVA/GeForce comes from NVIDIA and may freeze (gltron).
- #$card->{type} =~ /RIVA128/ ||
- $card->{type} =~ /GeForce 256/ ||
- $card->{type} =~ /S3 Savage3D/ || #- only this one is evoluting (expect a stable release ?)
- #- $card->{type} =~ /S3 ViRGE/ || #- 15bits only
- $card->{identifier} =~ /Rage Mobility (?:P\/M|L) / ||
- $card->{type} =~ /SiS/);
- #- 3D acceleration configuration for XFree 4 using DRI.
- $card->{DRI_glx} = ($card->{identifier} =~ /Voodoo [35]/ || $card->{identifier} =~ /Voodoo Banshee/ || #- 16bit only
- $card->{identifier} =~ /Matrox.* G[24][05]0.*AGP/ || #- prefer 16bit with AGP only
- $card->{identifier} =~ /8281[05].* CGC/ || #- 16bits (Intel 810 & 815).
- #$card->{identifier} =~ /Radeon / || #- 16bits preferable ?
- $card->{identifier} =~ /Rage 128/); #- 16 and 32 bits, prefer 16bit as no DMA.
- #- 3D acceleration configuration for XFree 4 using DRI but EXPERIMENTAL that may freeze the machine (FOR INFO NOT USED).
- $card->{DRI_glx_EXPERIMENTAL} = ($card->{identifier} =~ /SiS.*6C?326/ || #- prefer 16bit, other ?
- $card->{identifier} =~ /SiS.*6C?236/ ||
- $card->{identifier} =~ /SiS.*630/ ||
- $card->{identifier} =~ /Radeon /); #- 16bits preferable ?
- #- 3D acceleration configuration for XFree 4 using NVIDIA driver (TNT, TN2 and GeForce cards only).
- $card->{NVIDIA_glx} = $cardOptions->{allowNVIDIA_rpms} && ($card->{identifier} =~ /[nN]Vidia.*T[nN]T2/ || #- TNT2 cards
- $card->{identifier} =~ /[nN]Vidia.*NV[56]/ ||
- $card->{identifier} =~ /[nN]Vidia.*Vanta/ ||
- $card->{identifier} =~ /[nN]Vidia.*GeForce/ || #- GeForce cards
- $card->{identifier} =~ /[nN]Vidia.*NV1[15]/ ||
- $card->{identifier} =~ /[nN]Vidia.*Quadro/);
- #- check to use XFree 4 or XFree 3.3.
- $card->{use_xf4} = $card->{driver} && !$card->{flags}{unsupported};
- $card->{force_xf4} = arch() =~ /ppc/; #- try to figure out ugly hack for PPC (recommend XF4 always so...)
- $card->{prefer_xf3} = !$card->{force_xf4} && ($card->{type} =~ /RIVA TNT/ ||
- $card->{type} =~ /RIVA128/ ||
- $card->{type} =~ /GeForce/ ||
- $card->{type} =~ /SiS / && $card->{type} !~ /SiS 6326/ ||
- $card->{type} =~ /NeoMagic /);
- #- take into account current environment in standalone to keep
- #- the XFree86 version.
- if ($::isStandalone) {
- readlink("$prefix/etc/X11/X") =~ /XFree86/ and $card->{prefer_xf3} = 0;
- readlink("$prefix/etc/X11/X") =~ /XF86_/ and $card->{prefer_xf3} = !$card->{force_xf4};
- }
-
- #- basic installation, use of XFree 4.1 or XFree 3.3.
- my ($xf4_ver, $xf3_ver) = ("4.1.0", "3.3.6");
- my $xf3_tc = { text => _("XFree %s", $xf3_ver),
- code => sub { $card->{Utah_glx} = $card->{DRI_glx} = $card->{NVIDIA_glx} = ''; $card->{use_xf4} = '';
- log::l("Using XFree $xf3_ver") } };
- my $msg = _("Which configuration of XFree do you want to have?");
- my @choices = $card->{use_xf4} ? (if_($card->{prefer_xf3}, $xf3_tc),
- #- hack for Matrox driver where there are undefined reference if no DRI!
- if_($card->{identifier} !~ /Matrox.* G[24][05]0/ && (!$card->{prefer_xf3} || $::expert),
- { text => _("XFree %s", $xf4_ver),
- code => sub { $card->{Utah_glx} = $card->{DRI_glx} = $card->{NVIDIA_glx} = '';
- log::l("Using XFree $xf4_ver") } }),
- if_(!$card->{prefer_xf3} && $::expert, $xf3_tc)) : $xf3_tc;
- #- try to figure if 3D acceleration is supported
- #- by XFree 3.3 but not XFree 4 then ask user to keep XFree 3.3 ?
- if ($card->{Utah_glx}) {
- $msg = ($card->{use_xf4} && !($card->{DRI_glx} || $card->{NVIDIA_glx}) && !$card->{prefer_xf3} ?
-_("Your card can have 3D hardware acceleration support but only with XFree %s.
-Your card is supported by XFree %s which may have a better support in 2D.", $xf3_ver, $xf4_ver) :
-_("Your card can have 3D hardware acceleration support with XFree %s.", $xf3_ver)) . "\n\n\n" . $msg;
- $::expert or @choices = (); #- keep it by default here as it is the only choice available.
- unshift @choices, { text => _("XFree %s with 3D hardware acceleration", $xf3_ver),
- code => sub { $card->{use_xf4} = '';
- log::l("Using XFree $xf3_ver with 3D hardware acceleration") } };
- }
-
- #- an expert user may want to try to use an EXPERIMENTAL 3D acceleration.
- if ($::expert && $card->{use_xf4} && $card->{DRI_glx_EXPERIMENTAL}) {
- $msg =
-_("Your card can have 3D hardware acceleration support with XFree %s,
-NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", $xf4_ver) . "\n\n\n" . $msg;
- push @choices, { text => _("XFree %s with EXPERIMENTAL 3D hardware acceleration", $xf4_ver),
- code => sub { $card->{DRI_glx} = 'EXPERIMENTAL';
- log::l("Using XFree $xf4_ver with EXPERIMENTAL 3D hardware acceleration") } };
- }
-
- #- an expert user may want to try to use an EXPERIMENTAL 3D acceleration, currenlty
- #- this is with Utah GLX and so, it can provide a way of testing.
- if ($::expert && $card->{Utah_glx_EXPERIMENTAL}) {
- $msg = ($card->{use_xf4} && !($card->{DRI_glx} || $card->{NVIDIA_glx}) && !$card->{prefer_xf3} ?
-_("Your card can have 3D hardware acceleration support but only with XFree %s,
-NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.
-Your card is supported by XFree %s which may have a better support in 2D.", $xf3_ver, $xf4_ver) :
-_("Your card can have 3D hardware acceleration support with XFree %s,
-NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", $xf3_ver)) . "\n\n\n" . $msg;
- push @choices, { text => _("XFree %s with EXPERIMENTAL 3D hardware acceleration", $xf3_ver),
- code => sub { $card->{use_xf4} = ''; $card->{Utah_glx} = 'EXPERIMENTAL';
- log::l("Using XFree $xf3_ver with EXPERIMENTAL 3D hardware acceleration") } };
- }
-
- #- ask the expert user to enable or not hardware acceleration support.
- if ($card->{use_xf4} && ($card->{DRI_glx} || $card->{NVIDIA_glx})) {
- $msg = _("Your card can have 3D hardware acceleration support with XFree %s.", $xf4_ver) . "\n\n\n" . $msg;
- $::expert or @choices = (); #- keep all user by default with XFree 4 including 3D acceleration.
- unshift @choices, { text => _("XFree %s with 3D hardware acceleration", $xf4_ver),
- code => sub { log::l("Using XFree $xf4_ver with 3D hardware acceleration") } };
- }
- if (arch() =~ /ppc/) {
- #- not much choice for PPC - we only have XF4
- @choices = { text => _("XFree %s", $xf4_ver), code => '' };
- log::l("Using XFree $xf4_ver");
- }
- #- examine choice of user, beware the list MUST NOT BE REORDERED AS the first item should be the
- #- proposed one by DrakX.
- my $tc = $in->ask_from_listf(_("XFree configuration"), formatAlaTeX($msg), sub { translate($_[0]{text}) }, \@choices) or return;
- #- in case of class discarding, this can help ...
- $tc or $tc = $choices[0];
- $tc->{code} and $tc->{code}();
-
-
- $card->{prog} = "/usr/X11R6/bin/" . ($card->{use_xf4} ? 'XFree86' : $card->{server} =~ /Sun (.*)/x ?
- "Xsun$1" : "XF86_$card->{server}");
-
- #- additional packages to install according available card.
- #- add XFree86-libs-DRI here if using DRI (future split of XFree86 TODO)
- my @l = ();
- if ($card->{DRI_glx}) {
- push @l, 'Glide_V5' if $card->{identifier} =~ /Voodoo 5/;
- push @l, 'Glide_V3-DRI' if $card->{identifier} =~ /Voodoo (3|Banshee)/;
- push @l, 'XFree86-glide-module' if $card->{identifier} =~ /Voodoo/;
- } elsif ($card->{NVIDIA_glx}) {
- push @l, @{$cardOptions->{allowNVIDIA_rpms}};
- }
- if ($card->{Utah_glx}) {
- push @l, 'Mesa' if !$card->{use_xf4};
- }
-
- -x "$prefix$card->{prog}" or $install && $install->($card->{use_xf4} ? 'XFree86-server' : "XFree86-$card->{server}", @l);
- -x "$prefix$card->{prog}" or die "server $card->{server} is not available (should be in $prefix$card->{prog})";
-
- #- make sure everything is correct at this point, packages have really been installed
- #- and driver and GLX extension is present.
- if ($card->{NVIDIA_glx} && !$card->{DRI_glx} && (-e "$prefix/usr/X11R6/lib/modules/drivers/nvidia_drv.o" &&
- -e "$prefix/usr/X11R6/lib/modules/extensions/libglx.so")) {
- log::l("Using specific NVIDIA driver and GLX extensions");
- $card->{driver} = 'nvidia';
- } else {
- $card->{NVIDIA_glx} = '';
- }
-
- delete $card->{depth}{32} if $card->{type} =~ /S3 Trio3D|SiS/;
- $card->{options}{sw_cursor} = 1 if $card->{type} =~ /S3 Trio3D|SiS 6326/;
- unless ($card->{type}) {
- $card->{flags}{noclockprobe} = member($card->{server}, qw(I128 S3 S3V Mach64));
- }
- $card->{options_xf3}{power_saver} = 1;
- $card->{options_xf4}{DPMS} = 1;
-
- $card->{flags}{needVideoRam} and
- $card->{memory} ||= $videomemory{$in->ask_from_list_('', _("Select the memory size of your graphic card"),
- [ sort { $videomemory{$a} <=> $videomemory{$b} }
- keys %videomemory]) || return};
-
- #- hack for ATI Mach64 cards where two options should be used if using Utah-GLX.
- if ($card->{identifier} =~ /Rage X[CL]/ ||
- $card->{identifier} =~ /Rage Mobility (?:P\/M|L) / ||
- $card->{identifier} =~ /3D Rage (?:LT|Pro)/) {
- $card->{options_xf3}{no_font_cache} = $card->{Utah_glx};
- $card->{options_xf3}{no_pixmap_cache} = $card->{Utah_glx};
- }
- #- hack for SiS cards where an option should be used if using Utah-GLX.
- if ($card->{type} =~ /SiS /) {
- $card->{options_xf3}{no_pixmap_cache} = $card->{Utah_glx};
- }
-
- #- 3D acceleration configuration for XFree 4 using DRI, this is enabled by default
- #- but for some there is a need to specify VideoRam (else it won't run).
- if ($card->{DRI_glx}) {
- $card->{identifier} =~ /Matrox.* G[24]00/ and $card->{flags}{needVideoRam} = 'fakeVideoRam';
- $card->{identifier} =~ /8281[05].* CGC/ and ($card->{flags}{needVideoRam}, $card->{memory}) = ('fakeVideoRam', 16384);
- }
-
- if (!$::isStandalone && $card->{driver} eq 'i810') {
- require modules;
- eval { modules::load("agpgart"); };
- }
- $card;
-}
-
-sub optionsConfiguration($) {
- my ($o) = @_;
- my @l;
- my %l;
-
- foreach (@options) {
- if ($o->{card}{server} eq $_->[1] && $o->{card}{identifier} =~ /$_->[2]/) {
- my $options = 'options_' . ($o->{card}{server} eq 'XFree86' ? 'xf4' : 'xf3');
- $o->{card}{$options}{$_->[0]} ||= 0;
- unless ($l{$_->[0]}) {
- push @l, { label => $_->[0], val => \$o->{card}{$options}{$_->[0]}, type => 'bool' };
- $l{$_->[0]} = 1;
- }
- }
- }
- @l = @l[0..9] if @l > 9; #- reduce list size to 10 for display
-
- $in->ask_from_entries_refH('', _("Choose options for server"), \@l);
-}
-
-sub monitorConfiguration(;$$) {
- my $monitor = shift || {};
- my $useFB = shift || 0;
-
- if ($monitor->{hsyncrange} && $monitor->{vsyncrange}) {
- add2hash($monitor, { type => "monitor1", vendor => "Unknown", model => "Unknown" });
- return $monitor;
- }
-
- readMonitorsDB("$ENV{SHARE_PATH}/ldetect-lst/MonitorsDB");
-
- my $good_default = (arch() =~ /ppc/ ? 'Apple|' : 'Generic|') . translate($good_default_monitor);
- $monitor->{type} ||=
- ($::auto_install ? $low_default_monitor :
- $in->ask_from_treelist(_("Monitor"), _("Choose a monitor"), '|', ['Custom', keys %monitors], $good_default));
- if ($monitor->{type} eq 'Custom') {
- $in->ask_from_entries_refH('',
-_("The two critical parameters are the vertical refresh rate, which is the rate
-at which the whole screen is refreshed, and most importantly the horizontal
-sync rate, which is the rate at which scanlines are displayed.
-
-It is VERY IMPORTANT that you do not specify a monitor type with a sync range
-that is beyond the capabilities of your monitor: you may damage your monitor.
- If in doubt, choose a conservative setting."),
- [ { val => \$monitor->{hsyncrange}, list => \@hsyncranges, label => _("Horizontal refresh rate") },
- { val => \$monitor->{vsyncrange}, list => \@vsyncranges, label => _("Vertical refresh rate") }]);
- } else {
- add2hash($monitor, $monitors{$monitor->{type}} || $standard_monitors_{$monitor->{type}});
- }
- add2hash($monitor, { type => "Unknown", vendor => "Unknown", model => "Unknown", manual => 1 });
-}
-
-sub testConfig($) {
- my ($o) = @_;
- my ($resolutions, $clocklines);
-
- write_XF86Config($o, $tmpconfig);
-
- unlink "/tmp/.X9-lock";
- #- restart_xfs;
-
- my $f = $tmpconfig . ($o->{card}{use_xf4} && "-4");
- local *F; open F, "$prefix$o->{card}{prog} :9 -probeonly -pn -xf86config $f 2>&1 |";
- local $_;
- while (<F>) {
- $o->{card}{memory} ||= $2 if /(videoram|Video RAM):\s*(\d*)/;
-
- # look for clocks
- push @$clocklines, $1 if /clocks: (.*)/ && !/(pixel |num)clocks:/;
-
- push @$resolutions, [ $1, $2 ] if /: Mode "(\d+)x(\d+)": mode clock/;
- print;
- }
- close F or die "X probeonly failed";
-
- ($resolutions, $clocklines);
-}
-
-sub testFinalConfig {
- my ($o, $auto, $skiptest, $skip_badcard) = @_;
-
- $o->{monitor}{hsyncrange} && $o->{monitor}{vsyncrange} or
- $in->ask_warn('', _("Monitor not configured")), return;
-
- $o->{card}{server} || $o->{card}{driver} or
- $in->ask_warn('', _("Graphic card not configured yet")), return;
-
- $o->{card}{depth} or
- $in->ask_warn('', _("Resolutions not chosen yet")), return;
-
- my $f = "/etc/X11/XF86Config.test";
- write_XF86Config($o, $::testing ? $tmpconfig : "$prefix/$f");
-
- $skiptest || $o->{card}{server} =~ 'FBDev|Sun' and return 1; #- avoid testing with these.
-
- #- needed for bad cards not restoring cleanly framebuffer
- my $bad_card = $o->{card}{identifier} =~ /i740|ViRGE/;
- $bad_card ||= $o->{card}{identifier} =~ /Rage Mobility (?:P\/M|L) / || $o->{card}{identifier} =~ /3D Rage LT/;
- $bad_card ||= $o->{card}{use_xf4}; #- TODO obsoleted to check, when using fbdev of XFree 4!
- log::l("the graphic card does not like X in framebuffer") if $bad_card;
-
- my $verybad_card = $o->{card}{driver} eq 'i810';
- $verybad_card ||= $o->{card}{driver} eq 'nvidia' && !$::isStandalone; #- avoid testing during install at any price.
- $verybad_card and return 1;
-
- my $mesg = _("Do you want to test the configuration?");
- my $def = 1;
- if ($bad_card && !$::isStandalone) {
- $skip_badcard and return 1;
- $mesg = $mesg . "\n" . _("Warning: testing this graphic card may freeze your computer");
- $def = 0;
- }
- $auto && $def or $in->ask_yesorno(_("Test of the configuration"), $mesg, $def) or return 1;
-
- unlink "$prefix/tmp/.X9-lock";
-
- #- create a link from the non-prefixed /tmp/.X11-unix/X9 to the prefixed one
- #- that way, you can talk to :9 without doing a chroot
- #- but take care of non X11 install :-)
- if (-d "/tmp/.X11-unix") {
- symlinkf "$prefix/tmp/.X11-unix/X9", "/tmp/.X11-unix/X9" if $prefix;
- } else {
- symlinkf "$prefix/tmp/.X11-unix", "/tmp/.X11-unix" if $prefix;
- }
- #- restart_xfs;
-
- my $f_err = "$prefix/tmp/Xoutput";
- my $pid;
- unless ($pid = fork) {
- open STDERR, ">$f_err";
- chroot $prefix if $prefix;
- exec $o->{card}{prog},
- if_($o->{card}{prog} !~ /Xsun/, "-xf86config", ($::testing ? $tmpconfig : $f) . ($o->{card}{use_xf4} && "-4")),
- ":9" or c::_exit(0);
- }
-
- do { sleep 1 } until xtest(":9") || waitpid($pid, c::WNOHANG());
-
- my $b = before_leaving { unlink $f_err };
-
- unless (xtest(":9")) {
- local $_;
- local *F; open F, $f_err;
- i: while (<F>) {
- if (/\b(error|not supported)\b/i) {
- my @msg = !/error/ && $_ ;
- while (<F>) {
- /not fatal/ and last i;
- /^$/ and last;
- push @msg, $_;
- }
- $in->ask_warn('', [ _("An error has occurred:"), " ", @msg, _("\ntry to change some parameters") ]);
- return 0;
- }
- }
- }
-
- local *F;
- open F, "|perl 2>/dev/null" or die '';
- print F "use lib qw(", join(' ', @INC), ");\n";
- print F q{
- use interactive_gtk;
- use my_gtk qw(:wrappers);
-
- $ENV{DISPLAY} = ":9";
-
- gtkset_background(200 * 257, 210 * 257, 210 * 257);
- my ($h, $w) = Gtk::Gdk::Window->new_foreign(Gtk::Gdk->ROOT_WINDOW)->get_size;
- $my_gtk::force_position = [ $w / 3, $h / 2.4 ];
- $my_gtk::force_focus = 1;
- my $text = Gtk::Label->new;
- my $time = 8;
- Gtk->timeout_add(1000, sub {
- $text->set(_("Leaving in %d seconds", $time));
- $time-- or Gtk->main_quit;
- 1;
- });
-
- my $background = "/usr/share/pixmaps/backgrounds/linux-mandrake/XFdrake-image-test.jpg";
- my $qiv = "/usr/bin/qiv";
- -r "} . $prefix . q{/$background" && -x "} . $prefix . q{/$qiv" and
- system(($::testing ? "} . $prefix . q{" : "chroot } . $prefix . q{/ ") . "$qiv -y $background");
-
- my $in = interactive_gtk->new;
- $in->exit($in->ask_yesorno('', [ _("Is this the correct setting?"), $text ], 0) ? 0 : 222);
- };
- my $rc = close F;
- my $err = $?;
-
- unlink "/tmp/.X11-unix/X9" if $prefix;
- kill 2, $pid;
-
- $rc || $err == 222 << 8 or $in->ask_warn('', _("An error has occurred, try to change some parameters"));
- $rc;
-}
-
-sub autoDefaultDepth($$) {
- my ($card, $wres_wanted) = @_;
- my ($best, $depth);
-
- return 16 if $card->{Utah_glx} || $card->{DRI_glx}; #- assume 16bit as most of them need 16.
-
- for ($card->{server}) {
- /FBDev/ and return 16; #- this should work by default, FBDev is allowed only if install currently uses it at 16bpp.
- /Sun24/ and return 24;
- /SunMono/ and return 2;
- /Sun/ and return 8;
- }
-
- while (my ($d, $r) = each %{$card->{depth}}) {
- $depth = max($depth || 0, $d);
-
- #- try to have resolution_wanted
- $best = max($best || 0, $d) if $r->[0][0] >= $wres_wanted;
- $best = $card->{suggest_depth}, last if ($card->{suggest_depth} &&
- $card->{suggest_wres} && $r->[0][0] >= $card->{suggest_wres});
- }
- $best || $depth or die "no valid modes";
-}
-
-sub autoDefaultResolution {
- return "1024x768" if detect_devices::hasPCMCIA;
-
- if (arch() =~ /ppc/) {
- return "1024x768" if detect_devices::get_mac_model =~ /^PowerBook|^iMac/;
- }
-
- my ($size) = @_;
- $monitorSize2resolution[round($size || 14)] || #- assume a small monitor (size is in inch)
- $monitorSize2resolution[-1]; #- no corresponding resolution for this size. It means a big monitor, take biggest we have
-}
-
-sub chooseResolutionsGtk($$;$) {
- my ($card, $chosen_depth, $chosen_w) = @_;
-
- require my_gtk;
- my_gtk->import(qw(:wrappers));
-
- my $W = my_gtk->new(_("Resolution"));
- my %txt2depth = reverse %depths;
- my ($r, $depth_combo, %w2depth, %w2h, %w2widget, $pix_monitor, $pix_colors, $w2_combo);
- $w2_combo = new Gtk::Combo;
- my $best_w;
- while (my ($depth, $res) = each %{$card->{depth}}) {
- foreach (@$res) {
- $w2h{$_->[0]} = $_->[1];
- push @{$w2depth{$_->[0]}}, $depth;
-
- $best_w = max($_->[0], $best_w) if $_->[0] <= $chosen_w;
- }
- }
- $chosen_w = $best_w;
-
- my $set_depth = sub { $depth_combo->entry->set_text(translate($depths{$chosen_depth})) };
-
- #- the set function is usefull to toggle the CheckButton with the callback being ignored
- my $ignore;
- my $no_human; # is the w2_combo->entry changed by a human?
- my $set = sub { $ignore = 1; $_[0]->set_active(1); $ignore = 0; };
-
- my %monitor;
- $monitor{$_} = [ gtkcreate_png("monitor-" . $_ . ".png") ] foreach (640, 800, 1024, 1280);
- $monitor{1152} = [ gtkcreate_png("monitor-" . 1024 . ".png") ];
- $monitor{1600} = [ gtkcreate_png("monitor-" . 1280 . ".png") ];
-
- my $pixmap_m = new Gtk::Pixmap( $monitor{$chosen_w}[0] , $monitor{$chosen_w}[1] );
-
- while (my ($w, $h) = each %w2h) {
- my $V = $w . "x" . $h;
- $w2widget{$w} = $r = new Gtk::RadioButton($r ? ($V, $r) : $V);
- if ($chosen_w == $w) {
- &$set($r);
- }
- $r->signal_connect("clicked" => sub {
- $ignore and return;
- $chosen_w = $w;
- $no_human=1;
- $w2_combo->entry->set_text($w . "x" . $w2h{$w});
- unless (member($chosen_depth, @{$w2depth{$w}})) {
- $chosen_depth = max(@{$w2depth{$w}});
- &$set_depth();
- }
- });
- }
- gtkadd($W->{window},
- gtkpack_($W->create_box_with_title(_("Choose the resolution and the color depth"),
- "(" . ($card->{type} ?
- _("Graphic card: %s", $card->{type}) :
- _("XFree86 server: %s", $card->{server})) . ")"
- ),
- 1, gtkpack2(new Gtk::VBox(0,0),
- gtkpack2__(new Gtk::VBox(0, $::isEmbedded ? 15 : 0),
- if_($::isEmbedded, $pixmap_m),
- if_(!$::isEmbedded, map {$w2widget{$_} } ikeys(%w2widget)),
- gtkpack2(new Gtk::HBox(0,0),
- create_packtable({ col_spacings => 5, row_spacings => 5},
- [ if_($::isEmbedded,$w2_combo) , new Gtk::Label("")],
- [ $depth_combo = new Gtk::Combo, gtkadd(gtkset_shadow_type(new Gtk::Frame, 'etched_out'), $pix_colors = gtkpng ("colors")) ],
- ),
- ),
- ),
- ),
- 0, gtkadd($W->create_okcancel,
- $::isEmbedded ?
- gtksignal_connect(new Gtk::Button(_("Expert Mode")), clicked => sub { system ("XFdrake --expert"); }) :
- gtksignal_connect(new Gtk::Button(_("Show all")), clicked => sub { $W->{retval} = 1; $chosen_w = 0; Gtk->main_quit })),
- ));
- $depth_combo->disable_activate;
- $depth_combo->set_use_arrows_always(1);
- $depth_combo->entry->set_editable(0);
- $depth_combo->set_popdown_strings(map { translate($depths{$_}) } ikeys(%{$card->{depth}}));
- $depth_combo->entry->signal_connect(changed => sub {
- $chosen_depth = $txt2depth{untranslate($depth_combo->entry->get_text, keys %txt2depth)};
- my $w = $card->{depth}{$chosen_depth}[0][0];
- $chosen_w > $w and &$set($w2widget{$chosen_w = $w});
- $pix_colors->set(gtkcreate_png(
- $chosen_depth >= 24 ? "colors.png" :
- $chosen_depth >= 15 ? "colors16.png" :
- "colors8.png"));
- });
- if ($::isEmbedded) {
- $w2_combo->disable_activate;
- $w2_combo->set_use_arrows_always(1);
- $w2_combo->entry->set_editable(0);
- $w2_combo->set_popdown_strings(map { $_ . "x" . $w2h{$_} } keys %w2h);
- $w2_combo->entry->signal_connect(changed => sub {
- ($chosen_w) = $w2_combo->entry->get_text =~ /([^x]*)x.*/;
- $no_human ? $no_human=0 : $w2widget{$chosen_w}->set_active(1);
- $pixmap_m->set($monitor{$chosen_w}[0], $monitor{$chosen_w}[1]);
- });
- }
- &$set_depth();
- $W->{ok}->grab_focus;
-
- if ($::isEmbedded) {
- $no_human=1;
- $w2_combo->entry->set_text($chosen_w . "x" . $w2h{$chosen_w});
- }
- $W->main or return;
- ($chosen_depth, $chosen_w);
-}
-
-sub chooseResolutions($$;$) {
- goto &chooseResolutionsGtk if ref($in) =~ /gtk/;
-
- my ($card, $chosen_depth, $chosen_w) = @_;
-
- my $best_w;
- local $_ = $in->ask_from_list(_("Resolutions"), "",
- [ map_each { map { "$_->[0]x$_->[1] ${main::a}bpp" } @$::b } %{$card->{depth}} ]) or return;
- reverse /(\d+)x\S+ (\d+)/;
-}
-
-
-sub resolutionsConfiguration {
- my ($o, $auto) = @_;
- my $card = $o->{card};
-
- #- For the mono and vga16 server, no further configuration is required.
- if (member($card->{server}, "Mono", "VGA16")) {
- $card->{depth}{8} = [[ 640, 480 ]];
- return;
- } elsif ($card->{server} =~ /Sun/) {
- $card->{depth}{2} = [[ 1152, 864 ]] if $card->{server} =~ /^(SunMono)$/;
- $card->{depth}{8} = [[ 1152, 864 ]] if $card->{server} =~ /^(SunMono|Sun)$/;
- $card->{depth}{24} = [[ 1152, 864 ]] if $card->{server} =~ /^(SunMono|Sun|Sun24)$/;
- $card->{default_wres} = 1152;
- $o->{default_depth} = max(keys %{$card->{depth}});
- return 1; #- aka we cannot test, assumed as good (should be).
- }
- if (is_empty_hash_ref($card->{depth})) {
- $card->{depth}{$_} = [ map { [ split "x" ] } @resolutions ]
- foreach @depths;
- }
- #- sort resolutions in each depth
- foreach (values %{$card->{depth}}) {
- my $i = 0;
- @$_ = grep { first($i != $_->[0], $i = $_->[0]) }
- sort { $b->[0] <=> $a->[0] } @$_;
- }
-
- #- remove unusable resolutions (based on the video memory size and the monitor hsync rate)
- keepOnlyLegalModes($card, $o->{monitor});
-
- my $res = $o->{resolution_wanted} || $card->{suggest_wres} || autoDefaultResolution($o->{monitor}{size});
- my $wres = first(split 'x', $res);
-
- #- take the first available resolution <= the wanted resolution
- $wres = max map { first(grep { $_->[0] <= $wres } @$_)->[0] } values %{$card->{depth}};
- my $depth = eval { $o->{default_depth} || autoDefaultDepth($card, $wres) };
-
- $auto or ($depth, $wres) = chooseResolutions($card, $depth, $wres) or return;
-
- unless ($wres) {
- delete $card->{depth};
- return resolutionsConfiguration($o);
- }
-
- #- needed in auto mode when all has been provided by the user
- $card->{depth}{$depth} or die "you selected an unusable depth";
-
- #- remove all biggest resolution (keep the small ones for ctl-alt-+)
- #- otherwise there'll be a virtual screen :(
- $_ = [ grep { $_->[0] <= $wres } @$_ ] foreach values %{$card->{depth}};
- $card->{default_wres} = $wres;
- $card->{vga_mode} = $vgamodes{"${wres}xx$depth"} || $vgamodes{"${res}x$depth"}; #- for use with frame buffer.
- $o->{default_depth} = $depth;
- 1;
-}
-
-
-#- Create the XF86Config file.
-sub write_XF86Config {
- my ($o, $file) = @_;
- my $O;
-
- local (*F, *G);
- open F, ">$file" or die "can't write XF86Config in $file: $!";
- open G, ">$file-4" or die "can't write XF86Config in $file-4: $!";
-
- print F $XF86firstchunk_text;
- print G $XF86firstchunk_text;
-
- #- Write keyboard section.
- $O = $o->{keyboard};
- print F $keyboardsection_start;
- print G $keyboardsection_start_v4;
- print F qq( XkbDisable\n) unless $O->{xkb_keymap};
- print G qq( Option "XkbDisable"\n) unless $O->{xkb_keymap};
- print F $keyboardsection_part3;
- print G $keyboardsection_part3_v4;
-
- $O->{xkb_model} ||=
- arch() =~ /ppc/ ? 'macintosh' :
- arch() =~ /sparc/ ? 'sun' :
- $O->{xkb_keymap} eq 'br' ? 'abnt2' : 'pc105';
- print F qq( XkbModel "$O->{xkb_model}"\n);
- print G qq( Option "XkbModel" "$O->{xkb_model}"\n);
-
- print F qq( XkbLayout "$O->{xkb_keymap}"\n);
- print G qq( Option "XkbLayout" "$O->{xkb_keymap}"\n);
- print F join '', map { " $_\n" } @{$xkb_options{$O->{xkb_keymap}} || []};
- print G join '', map { /(\S+)(.*)/; qq( Option "$1" $2\n) } @{$xkb_options{$O->{xkb_keymap}} || []};
- print F $keyboardsection_end;
- print G $keyboardsection_end;
-
- #- Write pointer section.
- my $pointer = sub {
- my ($O, $id) = @_;
- print F $id > 1 ? qq(Section "XInput"\n) : qq(Section "Pointer"\n);
- $id > 1 and print F qq( SubSection "Mouse"\n);
- print G qq(Section "InputDevice"\n\n);
- $id > 1 and print F qq( DeviceName "Mouse$id"\n);
- print G qq( Identifier "Mouse$id"\n);
- print G qq( Driver "mouse"\n);
- print F ($id > 1 && " ") . qq( Protocol "$O->{XMOUSETYPE}"\n);
- print G qq( Option "Protocol" "$O->{XMOUSETYPE}"\n);
- print F ($id > 1 && " ") . qq( Device "/dev/$O->{device}"\n);
- print G qq( Option "Device" "/dev/$O->{device}"\n);
- #- this will enable the "wheel" or "knob" functionality if the mouse supports it
- print F ($id > 1 && " ") . " ZAxisMapping 4 5\n" if $O->{nbuttons} > 3;
- print F ($id > 1 && " ") . " ZAxisMapping 6 7\n" if $O->{nbuttons} > 5;
- print G qq( Option "ZAxisMapping" "4 5"\n) if $O->{nbuttons} > 3;
- print G qq( Option "ZAxisMapping" "6 7"\n) if $O->{nbuttons} > 5;
-
- print F "#" unless $O->{nbuttons} < 3;
- print G "#" unless $O->{nbuttons} < 3;
- print F ($id > 1 && " ") . qq( Emulate3Buttons\n);
- print G qq( Option "Emulate3Buttons"\n);
- print F "#" unless $O->{nbuttons} < 3;
- print G "#" unless $O->{nbuttons} < 3;
- print F ($id > 1 && " ") . qq( Emulate3Timeout 50\n\n);
- print G qq( Option "Emulate3Timeout" "50"\n\n);
- print F "# ChordMiddle is an option for some 3-button Logitech mice\n\n";
- print G "# ChordMiddle is an option for some 3-button Logitech mice\n\n";
- print F "#" unless $O->{chordmiddle};
- print G "#" unless $O->{chordmiddle};
- print F ($id > 1 && " ") . qq( ChordMiddle\n\n);
- print G qq( Option "ChordMiddle"\n\n);
- print F ($id > 1 && " ") . " ClearDTR\n" if $O->{cleardtrrts};
- print F ($id > 1 && " ") . " ClearRTS\n\n" if $O->{cleardtrrts};
- $id > 1 and print F qq( EndSubSection\n);
- print F "EndSection\n\n\n";
- print G "EndSection\n\n\n";
- };
- print F $pointersection_text;
- print G $pointersection_text;
- $pointer->($o->{mouse}, 1);
- $o->{mouse}{auxmouse} and $pointer->($o->{mouse}{auxmouse}, 2);
-
- #- write module section for version 3.
- if (@{$o->{wacom}} || $o->{card}{Utah_glx}) {
- print F qq(Section "Module"
-);
- print F qq( Load "xf86Wacom.so"\n) if @{$o->{wacom}};
- print F qq( Load "glx-3.so"\n) if $o->{card}{Utah_glx}; #- glx.so may clash with server version 4.
- print F qq(EndSection
-
-);
- }
-
- #- write wacom device support.
- foreach (@{$o->{wacom}}) {
- my $dev = "/dev/" . $o->{wacom}[$_-1];
- print F $dev =~ /input\/event/ ? qq(
-Section "XInput"
- SubSection "WacomStylus"
- DeviceName "Stylus$_"
- Port "$dev"
- USB
- AlwaysCore
- Mode Absolute
- EndSubSection
- SubSection "WacomCursor"
- DeviceName "Cursor$_"
- Port "$dev"
- USB
- AlwaysCore
- Mode Relative
- EndSubSection
- SubSection "WacomEraser"
- DeviceName "Eraser$_"
- Port "$dev"
- USB
- AlwaysCore
- Mode Absolute
- EndSubSection
-EndSection
-
-) : qq(
-Section "XInput"
- SubSection "WacomStylus"
- DeviceName "Stylus$_"
- Port "$dev"
- AlwaysCore
- Mode Absolute
- EndSubSection
- SubSection "WacomCursor"
- DeviceName "Sursor$_"
- Port "$dev"
- AlwaysCore
- Mode Relative
- EndSubSection
- SubSection "WacomEraser"
- DeviceName "Eraser$_"
- Port "$dev"
- AlwaysCore
- Mode Absolute
- EndSubSection
-EndSection
-
-);
- }
-
- foreach (1..@{$o->{wacom}}) {
- my $dev = "/dev/" . $o->{wacom}[$_-1];
- print G $dev =~ /input\/event/ ? qq(
-Section "InputDevice"
- Identifier "Stylus$_"
- Driver "wacom"
- Option "Type" "stylus"
- Option "Device" "$dev"
- Option "Mode" "Absolute"
- Option "USB" "on"
-EndSection
-Section "InputDevice"
- Identifier "Eraser$_"
- Driver "wacom"
- Option "Type" "eraser"
- Option "Device" "$dev"
- Option "Mode" "Absolute"
- Option "USB" "on"
-EndSection
-Section "InputDevice"
- Identifier "Cursor$_"
- Driver "wacom"
- Option "Type" "cursor"
- Option "Device" "$dev"
- Option "Mode" "Relative"
- Option "USB" "on"
-EndSection
-) : qq(
-Section "InputDevice"
- Identifier "Stylus$_"
- Driver "wacom"
- Option "Type" "stylus"
- Option "Device" "$dev"
- Option "Mode" "Absolute"
-EndSection
-Section "InputDevice"
- Identifier "Eraser$_"
- Driver "wacom"
- Option "Type" "eraser"
- Option "Device" "$dev"
- Option "Mode" "Absolute"
-EndSection
-Section "InputDevice"
- Identifier "Cursor$_"
- Driver "wacom"
- Option "Type" "cursor"
- Option "Device" "$dev"
- Option "Mode" "Relative"
-EndSection
-);
- }
-
- #- write modules section for version 4.
- print G qq(
-Section "Module"
-
-# This loads the DBE extension module.
-
- Load "dbe"
-);
- if ($o->{card}{DRI_glx}) {
- print G qq(
- Load "glx"
- Load "dri"
-);
- } elsif ($o->{card}{NVIDIA_glx}) {
- print G qq(
-# This loads the NVIDIA GLX extension module.
-# IT IS IMPORTANT TO KEEP NAME AS FULL PATH TO libglx.so ELSE
-# IT WILL LOAD XFree86 glx module and the server will crash.
-
- Load "/usr/X11R6/lib/modules/extensions/libglx.so"
-);
- }
- print G qq(
-
-# This loads the miscellaneous extensions module, and disables
-# initialisation of the XFree86-DGA extension within that module.
-
- SubSection "extmod"
- #Option "omit xfree86-dga"
- EndSubSection
-
-# This loads the Type1 and FreeType font modules
-
- Load "type1"
- Load "freetype"
-EndSection
-);
- print G qq(
-
-Section "DRI"
- Mode 0666
-EndSection
-
-) if $o->{card}{DRI_glx};
-
- #- Write monitor section.
- $O = $o->{monitor};
- print F $monitorsection_text1;
- print G $monitorsection_text1;
- print F qq( Identifier "$O->{type}"\n);
- print G qq( Identifier "$O->{type}"\n);
- print G qq( UseModes "Mac Modes"\n) if arch() =~ /ppc/;
- print F qq( VendorName "$O->{vendor}"\n);
- print G qq( VendorName "$O->{vendor}"\n);
- print F qq( ModelName "$O->{model}"\n\n);
- print G qq( ModelName "$O->{model}"\n\n);
- print F $monitorsection_text2;
- print G $monitorsection_text2;
- print F qq( HorizSync $O->{hsyncrange}\n\n);
- print G qq( HorizSync $O->{hsyncrange}\n\n);
- print F $monitorsection_text3;
- print G $monitorsection_text3;
- print F qq( VertRefresh $O->{vsyncrange}\n\n);
- print G qq( VertRefresh $O->{vsyncrange}\n\n);
- print F $monitorsection_text4;
- print F ($O->{modelines} || '') . ($o->{card}{type} eq "TG 96" ? $modelines_text_Trident_TG_96xx : $modelines_text);
- print F "\nEndSection\n\n\n";
- print G "\nEndSection\n\n\n";
- print G $modelines_text_apple if arch() =~ /ppc/;
- foreach (2..@{$o->{card}{cards} || []}) {
- print G qq(Section "Monitor"\n);
- print G qq( Identifier "monitor$_"\n);
- print G qq( VendorName "$O->{vendor}"\n);
- print G qq( ModelName "$O->{model}"\n\n);
- print G qq( HorizSync $O->{hsyncrange}\n);
- print G qq( VertRefresh $O->{vsyncrange}\n);
- print G qq(EndSection\n\n\n);
- }
-
- #- Write Device section.
- $O = $o->{card};
- print F $devicesection_text;
- print G $devicesection_text_v4;
- print F qq(Section "Device"\n);
- print F qq( Identifier "$O->{type}"\n);
- print F qq( VendorName "$O->{vendor}"\n);
- print F qq( BoardName "$O->{board}"\n);
-
- print F "#" if $O->{chipset} && !$O->{flags}{needChipset};
- print F qq( Chipset "$O->{chipset}"\n) if $O->{chipset};
-
- print F "#" if $O->{memory} && !$O->{flags}{needVideoRam};
- print F " VideoRam $O->{memory}\n" if $O->{memory};
-
- print F map { " $_\n" } @{$O->{lines} || []};
-
- print F qq( Ramdac "$O->{ramdac}"\n) if $O->{ramdac};
- print F qq( Dacspeed "$O->{dacspeed}"\n) if $O->{dacspeed};
-
- if ($O->{clockchip}) {
- print F qq( Clockchip "$O->{clockchip}"\n);
- } else {
- print F " # Clock lines\n";
- print F " Clocks $_\n" foreach (@{$O->{clocklines}});
- }
- print F qq(
-
- # Uncomment following option if you see a big white block
- # instead of the cursor!
- # Option "sw_cursor"
-
-);
- my $p = sub {
- my $l = $O->{$_[0]};
- map { (!$l->{$_} && '#') . qq( Option "$_"\n) } keys %{$l || {}};
- };
- print F $p->('options');
- print F $p->('options_xf3');
- print F "EndSection\n\n\n";
-
- #- configure all drivers here!
- foreach (@{$O->{cards} || [ $O ]}) {
- print G qq(Section "Device"\n);
- print G qq( Identifier "$_->{type}"\n);
- print G qq( VendorName "$_->{vendor}"\n);
- print G qq( BoardName "$_->{board}"\n);
- print G qq( Driver "$_->{driver}"\n);
- print G "#" if $_->{memory} && !$_->{flags}{needVideoRam};
- print G " VideoRam $_->{memory}\n" if $_->{memory};
- print G map { " $_\n" } @{$_->{lines} || []};
- print G qq( Ramdac "$_->{ramdac}"\n) if $_->{ramdac};
- print G qq( Dacspeed "$_->{dacspeed}"\n) if $_->{dacspeed};
- if ($_->{clockchip}) {
- print G qq( Clockchip "$_->{clockchip}"\n);
- } else {
- print G " # Clock lines\n";
- print G " Clocks $_\n" foreach (@{$_->{clocklines}});
- }
- print G qq(
-
- # Uncomment following option if you see a big white block
- # instead of the cursor!
- # Option "sw_cursor"
-
-);
- print G $p->('options'); #- keep $O for these!
- print G $p->('options_xf4'); #- keep $O for these!
- print G qq( Screen $_->{screen}\n) if defined $_->{screen};
- print G qq( BusID "$_->{busid}"\n) if $_->{busid};
- print G "EndSection\n\n\n";
- }
-
- #- Write Screen sections.
- print F $screensection_text1, "\n";
- print G $screensection_text1, "\n";
-
- my $subscreen = sub {
- my ($f, $server, $defdepth, $depths) = @_;
- print $f " DefaultColorDepth $defdepth\n" if $defdepth;
-
- foreach (ikeys(%$depths)) {
- my $m = $server ne "fbdev" ? join(" ", map { qq("$_->[0]x$_->[1]") } @{$depths->{$_}}) : qq("default"); #-"
- print $f qq( Subsection "Display"\n);
- print $f qq( Depth $_\n) if $_;
- print $f qq( Modes $m\n);
- print $f qq( ViewPort 0 0\n);
- print $f qq( EndSubsection\n);
- }
- print $f "EndSection\n";
- };
-
- my $screen = sub {
- my ($server, $defdepth, $device, $depths) = @_;
- print F qq(
-Section "Screen"
- Driver "$server"
- Device "$device"
- Monitor "$o->{monitor}{type}"
-); #-"
- $subscreen->(*F, $server, $defdepth, $depths);
- };
-
- #- SVGA screen section.
- print F qq(
-# The Colour SVGA server
-);
-
- if (member($O->{server}, @svgaservers)) {
- &$screen("svga", $o->{default_depth}, $O->{type}, $O->{depth});
- } else {
- &$screen("svga", '', "Generic VGA", { 8 => [[ 320, 200 ]] });
- }
-
- &$screen("vga16", '',
- (member($O->{server}, "Mono", "VGA16") ? $O->{type} : "Generic VGA"),
- { '' => [[ 640, 480 ], [ 800, 600 ]]});
-
- &$screen("vga2", '',
- (member($O->{server}, "Mono", "VGA16") ? $O->{type} : "Generic VGA"),
- { '' => [[ 640, 480 ], [ 800, 600 ]]});
-
- &$screen("accel", $o->{default_depth}, $O->{type}, $O->{depth});
-
- &$screen("fbdev", $o->{default_depth}, $O->{type}, $O->{depth});
-
- print G qq(
-Section "Screen"
- Identifier "screen1"
- Device "$O->{type}"
- Monitor "$o->{monitor}{type}"
-);
- #- bpp 32 not handled by XF4
- $subscreen->(*G, "svga", min($o->{default_depth}, 24), $O->{depth});
- foreach (2..@{$O->{cards} || []}) {
- my $device = $O->{cards}[$_ - 1]{type};
- print G qq(
-Section "Screen"
- Identifier "screen$_"
- Device "$device"
- Monitor "monitor$_"
-);
- #- bpp 32 not handled by XF4
- $subscreen->(*G, "svga", min($o->{default_depth}, 24), $O->{depth});
- }
-
- print G qq(
-
-Section "ServerLayout"
- Identifier "layout1"
- Screen "screen1"
-);
- foreach (2..@{$O->{cards} || []}) {
- my ($curr, $prev) = ($_, $_ - 1);
- print G qq( Screen "screen$curr" RightOf "screen$prev"\n);
- }
- print G '#' if defined $O->{Xinerama} && !$O->{Xinerama};
- print G qq( Option "Xinerama" "on"\n) if defined $O->{Xinerama};
-
- print G '
- InputDevice "Mouse1" "CorePointer"
-';
- $o->{mouse}{auxmouse} and print G '
- InputDevice "Mouse2" "SendCoreEvents"
-';
- foreach (1..@{$o->{wacom}}) {
- print G qq(
- InputDevice "Stylus$_" "AlwaysCore"
- InputDevice "Eraser$_" "AlwaysCore"
- InputDevice "Cursor$_" "AlwaysCore"
-);
- }
- print G '
- InputDevice "Keyboard1" "CoreKeyboard"
-EndSection
-'; #-"
-
- close F;
- close G;
-}
-
-sub XF86check_link {
- my ($ext) = @_;
-
- my $f = "$prefix/etc/X11/XF86Config$ext";
- touch($f);
-
- my $l = "$prefix/usr/X11R6/lib/X11/XF86Config$ext";
-
- if (-e $l && (stat($f))[1] != (stat($l))[1]) { #- compare the inode, must be the sames
- -e $l and unlink($l) || die "can't remove bad $l";
- symlinkf "../../../../etc/X11/XF86Config$ext", $l;
- }
-}
-
-sub info {
- my ($o) = @_;
- my $info;
-
- $info .= _("Keyboard layout: %s\n", $o->{keyboard}{xkb_keymap});
- $info .= _("Mouse type: %s\n", $o->{mouse}{XMOUSETYPE});
- $info .= _("Mouse device: %s\n", $o->{mouse}{device}) if $::expert;
- $info .= _("Monitor: %s\n", $o->{monitor}{type});
- $info .= _("Monitor HorizSync: %s\n", $o->{monitor}{hsyncrange}) if $::expert;
- $info .= _("Monitor VertRefresh: %s\n", $o->{monitor}{vsyncrange}) if $::expert;
- $info .= _("Graphic card: %s\n", $o->{card}{type});
- $info .= _("Graphic memory: %s kB\n", $o->{card}{memory}) if $o->{card}{memory};
- if ($o->{default_depth} and my $depth = $o->{card}{depth}{$o->{default_depth}}) {
- $info .= _("Color depth: %s\n", translate($depths{$o->{default_depth}}));
- $info .= _("Resolution: %s\n", join "x", @{$depth->[0]}) if $depth && !is_empty_array_ref($depth->[0]);
- }
- $info .= _("XFree86 server: %s\n", $o->{card}{server}) if $o->{card}{server};
- $info .= _("XFree86 driver: %s\n", $o->{card}{driver}) if $o->{card}{driver};
- $info;
-}
-
-sub show_info {
- my ($o) = @_;
- $in->ask_warn('', info($o));
-}
-
-#- Program entry point.
-sub main {
- my ($o, $cardOptions);
- ($prefix, $o, $in, $cardOptions, $install) = @_;
- $o ||= {};
-
- XF86check_link('');
- XF86check_link('-4');
-
- {
- my $w = $in->wait_message('', _("Preparing X-Window configuration"), 1);
-
- $o->{card} = cardConfiguration($o->{card}, $::noauto, $cardOptions);
-
- $o->{monitor} = monitorConfiguration($o->{monitor}, $o->{card}{server} eq 'FBDev');
- }
- my $ok = resolutionsConfiguration($o, $::auto);
-
- $ok &&= testFinalConfig($o, $::auto, $o->{skiptest}, $::auto);
-
- my $quit;
- until ($ok || $quit) {
- ref($in) =~ /discard/ and die "automatic X configuration failed, ensure you give hsyncrange and vsyncrange with non-DDC aware videocards/monitors";
-
- $in->set_help('configureXmain') unless $::isStandalone;
-
- my $f;
- $in->ask_from_entries_refH_powered(
- {
- title => 'XFdrake',
- messages => _("What do you want to do?"),
- cancel => '',
- }, [
- { format => sub { $_[0][0] }, val => \$f,
- list => [
- [ _("Change Monitor") => sub { $o->{monitor} = monitorConfiguration() } ],
- [ _("Change Graphic card") => sub { $o->{card} = cardConfiguration('', 'noauto', $cardOptions) } ],
- if_($::expert,
- [ _("Change Server options") => sub { optionsConfiguration($o) } ]),
- [ _("Change Resolution") => sub { resolutionsConfiguration($o) } ],
- [ _("Show information") => sub { show_info($o) } ],
- [ _("Test again") => sub { $ok = testFinalConfig($o, 1) } ],
- [ _("Quit") => sub { $quit = 1 } ],
- ],
- }
- ]);
- $f->[1]->();
- $in->kill;
- }
- if (!$ok) {
- $ok = $in->ask_yesorno('', _("Keep the changes?
-Current configuration is:
-
-%s", info($o)));
- }
- if ($ok) {
- unless ($::testing) {
- my $f = "$prefix/etc/X11/XF86Config";
- if (-e "$f.test") {
- rename $f, "$f.old" or die "unable to make a backup of XF86Config";
- rename "$f-4", "$f-4.old";
- rename "$f.test", $f;
- rename "$f.test-4", "$f-4";
- symlinkf "../..$o->{card}{prog}", "$prefix/etc/X11/X";
- }
- }
-
- if ($::isStandalone && $0 =~ /Xdrakres/) {
- my $found;
- foreach (@window_managers) {
- if (`pidof "$_"` > 0) {
- if ($in->ask_okcancel('', _("Please relog into %s to activate the changes", ucfirst $_), 1)) {
- fork and $in->exit;
- system("kwmcom logout") if /kwm/;
- system("dcop kdesktop default logout") if /kwin/;
- system("save-session --kill") if /gnome-session/;
- system("killall -QUIT icewm") if /icewm/;
-
- open STDIN, "</dev/zero";
- open STDOUT, ">/dev/null";
- open STDERR, ">&STDERR";
- c::setsid();
- exec qw(perl -e), q{
- my $wm = shift;
- for (my $nb = 30; $nb && `pidof "$wm"` > 0; $nb--) { sleep 1 }
- system("killall X ; killall -15 xdm gdm kdm prefdm") unless `pidof "$wm"` > 0;
- }, $_;
- }
- $found = 1; last;
- }
- }
- $in->ask_warn('', _("Please log out and then use Ctrl-Alt-BackSpace")) unless $found;
- } else {
- $in->set_help('configureXxdm') unless $::isStandalone;
- my $run = exists $o->{xdm} ? $o->{xdm} : $::auto || $in->ask_yesorno(_("X at startup"),
-_("I can set up your computer to automatically start X upon booting.
-Would you like X to start when you reboot?"), 1);
- any::runlevel($prefix, $run ? 5 : 3) unless $::testing;
- }
- run_program::rooted($prefix, "chkconfig", "--del", "gpm") if $o->{mouse}{device} =~ /ttyS/ && !$::isStandalone;
- }
-}
-
-1;
diff --git a/perl-install/Xconfigurator_consts.pm b/perl-install/Xconfigurator_consts.pm
deleted file mode 100644
index aad9fc13c..000000000
--- a/perl-install/Xconfigurator_consts.pm
+++ /dev/null
@@ -1,828 +0,0 @@
-package Xconfigurator; # $Id$
-
-use common qw(:common);
-
-%depths = (
- 8 => __("256 colors (8 bits)"),
- 15 => __("32 thousand colors (15 bits)"),
- 16 => __("65 thousand colors (16 bits)"),
- 24 => __("16 million colors (24 bits)"),
- 32 => __("4 billion colors (32 bits)"),
-);
-@depths = ikeys(%depths);
-
-@resolutions = qw(640x480 800x600 1024x768 1152x864 1280x1024 1600x1200);
-
-@window_managers = ('kdeinit: kwin', qw(gnome-session icewm wmaker kwm afterstep fvwm fvwm2 fvwm95 mwm twm enlightenment xfce blackbox sawfish));
-
-%serversdriver = arch() =~ /^sparc/ ? (
- 'Mach64' => "accel",
- '3DLabs' => "accel",
- 'Sun' => "fbdev",
- 'Sun24' => "fbdev",
- 'SunMono' => "fbdev",
- 'VGA16' => "vga16",
- 'FBDev' => "fbdev",
-) : (
- 'SVGA' => "svga",
-#- 'Rage128' => "svga",
-#- '3dfx' => "svga",
- 'S3' => "accel",
- 'Mach32' => "accel",
- 'Mach8' => "accel",
- '8514' => "accel",
- 'P9000' => "accel",
- 'AGX' => "accel",
- 'W32' => "accel",
- 'Mach64' => "accel",
- 'I128' => "accel",
- 'S3V' => "accel",
- '3DLabs' => "accel",
- 'Mono' => "vga2",
- 'VGA16' => "vga16",
- 'FBDev' => "fbdev",
-);
-@svgaservers = grep { $serversdriver{$_} eq "svga" } keys(%serversdriver);
-@accelservers = grep { $serversdriver{$_} eq "accel" } keys(%serversdriver);
-@allbutfbservers = grep { arch() =~ /^sparc/ || $serversdriver{$_} ne "fbdev" } keys(%serversdriver);
-@allservers = keys(%serversdriver);
-
-%vgamodes = (
- '640xx8' => 769,
- '640x480x8' => 769,
- '800xx8' => 771,
- '800x600x8' => 771,
- '1024xx8' => 773,
- '1024x768x8' => 773,
- '1280xx8' => 775,
- '1280x1024x8' => 775,
- '640xx15' => 784,
- '640x480x15' => 784,
- '800xx15' => 787,
- '800x600x15' => 787,
- '1024xx15' => 790,
- '1024x768x15' => 790,
- '1280xx15' => 793,
- '1280x1024x15' => 793,
- '640xx16' => 785,
- '640x480x16' => 785,
- '800xx16' => 788,
- '800x600x16' => 788,
- '1024xx16' => 791,
- '1024x768x16' => 791,
- '1280xx16' => 794,
- '1280x1024x16' => 794,
-#- '640xx24' => 786, #- there is a problem with these resolutions since the BIOS may take 24 or 32 planes.
-#- '640x480x24' => 786,
-#- '800xx24' => 789,
-#- '800x600x24' => 789,
-#- '1024xx24' => 792,
-#- '1024x768x24' => 792,
-#- '1280xx24' => 795,
-#- '1280x1024x24' => 795,
-);
-
-{ #- @monitorSize2resolution
- my %l = my @l = ( #- size in inch
- 13 => "640x480",
- 14 => "800x600",
- 15 => "800x600",
- 16 => "1024x768",
- 17 => "1024x768",
- 18 => "1024x768",
- 19 => "1280x1024",
- 20 => "1280x1024",
- 21 => "1600x1200",
- );
- for (my $i = 0; $i < $l[0]; $i++) {
- $monitorSize2resolution[$i] = $l[1];
- }
- while (my ($s, $r) = each %l) {
- $monitorSize2resolution[$s] = $r;
- }
-}
-
-%videomemory = (
- __("256 kB") => 256,
- __("512 kB") => 512,
- __("1 MB") => 1024,
- __("2 MB") => 2048,
- __("4 MB") => 4096,
- __("8 MB") => 8192,
- __("16 MB or more") => 16384,
-);
-
-$good_default_monitor = arch !~ /ppc/ ? "High Frequency SVGA, 1024x768 at 70 Hz" :
- detect_devices::get_mac_model =~ /^iBook/ ? "iBook 800x600" : "iMac/PowerBook 1024x768";
-$low_default_monitor = "Super VGA, 800x600 at 56 Hz";
-
-%standard_monitors = (
- __("Standard VGA, 640x480 at 60 Hz") => [ '640x480@60', "31.5" , "60" ],
- __("Super VGA, 800x600 at 56 Hz") => [ '800x600@56', "31.5-35.1" , "55-60" ],
- __("8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)") => [ '8514 compatible', "31.5,35.5" , "60,70,87" ],
- __("Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz") => [ '1024x768@87i', "31.5,35.15,35.5" , "55-90" ],
- __("Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz") => [ '800x600@60', "31.5-37.9" , "55-90" ],
- __("Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz") => [ '1024x768@60', "31.5-48.5" , "55-90" ],
- __("High Frequency SVGA, 1024x768 at 70 Hz") => [ '1024x768@70', "31.5-57.0" , "50-90" ],
- __("Multi-frequency that can do 1280x1024 at 60 Hz") => [ '1280x1024@60', "31.5-64.3" , "50-90" ],
- __("Multi-frequency that can do 1280x1024 at 74 Hz") => [ '1280x1024@74', "31.5-79.0" , "50-100" ],
- __("Multi-frequency that can do 1280x1024 at 76 Hz") => [ '1280x1024@76', "31.5-82.0" , "40-100" ],
- __("Monitor that can do 1600x1200 at 70 Hz") => [ '1600x1200@70', "31.5-88.0" , "50-120" ],
- __("Monitor that can do 1600x1200 at 76 Hz") => [ '1600x1200@76', "31.5-94.0" , "50-160" ],
-);
-
-@vsyncranges = ("50-70", "50-90", "50-100", "40-150");
-
-@hsyncranges = (
- "31.5",
- "31.5-35.1",
- "31.5, 35.5",
- "31.5, 35.15, 35.5",
- "31.5-37.9",
- "31.5-48.5",
- "31.5-57.0",
- "31.5-64.3",
- "31.5-79.0",
- "31.5-82.0",
- "31.5-88.0",
- "31.5-94.0",
-);
-
-%min_hsync4wres = (
- 640 => 31.5,
- 800 => 35.1,
- 1024 => 35.5,
- 1152 => 44.0,
- 1280 => 51.0,
- 1600 => 75.0,
-);
-
-
-%lines = (
-#- 'Cirrus Logic|GD 5446' => [ ' Option "no_bitblt"' ],
- 'Silicon Integrated Systems [SiS]|86C326' => [ qq( Option "noaccel"\n Option "sw_cursor") ],
-#- 'Trident Microsystems|Cyber 9525' => [ ' Option "noaccel"' ],
-#- 'S3 Inc.|86c368 [Trio 3D/2X]' => [ ' ChipID 0x8a10' ],
-);
-
-#- most usefull XFree86-4.0.1 server options. Default values is the first ones.
-@options_serverflags = (
- 'NoTrapSignals' => [ "Off", "On" ],
- 'DontZap' => [ "Off", "On" ],
- 'DontZoom' => [ "Off", "On" ],
- 'DisableVidModeExtension' => [ "Off", "On" ],
- 'AllowNonLocalXvidtune' => [ "Off", "On" ],
- 'DisableModInDev' => [ "Off", "On" ],
- 'AllowNonLocalModInDev' => [ "Off", "On" ],
- 'AllowMouseOpenFail' => [ "False", "True" ],
- 'VTSysReq' => [ "Off", "On" ],
- 'BlankTime' => [ "10", "5", "3", "15", "30" ],
- 'StandByTime' => [ "20", "10", "6", "30", "60" ],
- 'SuspendTime' => [ "30", "15", "9", "45", "90" ],
- 'OffTime' => [ "40", "20", "12", "60", "120" ],
- 'Pixmap' => [ "32", "24" ],
- 'PC98' => [ "auto-detected", "False", "True" ],
- 'NoPM' => [ "False", "True" ],
-);
-
-#- most usefull server options have to be accessible at the beginning, since
-#- no more than a small set of options will be available for the user, maybe ?
-@options = (
- [ 'DPMS', 'XFree86', '.*' ],
- [ 'SyncOnGreen', 'XFree86', '.*' ],
- [ 'power_saver', 'Mono', '.*' ],
- [ 'hibit_low', 'VGA16', 'Tseng.*ET4000' ],
- [ 'hibit_high', 'VGA16', 'Tseng.*ET4000' ],
- [ 'power_saver', 'VGA16', '.*' ],
- [ 'noaccel', 'SVGA', 'Cirrus|C&T|SiS|Oak|Western Digital|Alliance|Trident|Tseng' ],
- [ 'no_accel', 'SVGA', 'ARK|MGA|i740|Oak|ET6000|W32|Media.*GX|Neomagic' ],
- [ 'linear', 'SVGA', 'Cirrus|ET6000|ET4000/W32p rev [CD]|Oak|Neomagic|Triden|Tseng' ],
- [ 'nolinear', 'SVGA', 'Cirrus|C&T|Trident' ],
- [ 'no_linear', 'SVGA', 'ARK|SiS|Neomagic|Tseng' ],
- [ 'no_bitblt', 'SVGA', 'Cirrus|C&T|SiS' ],
- [ 'no_imageblt', 'SVGA', 'Cirrus|C&T|SiS' ],
- [ 'sw_cursor', 'SVGA', '.*' ],
- [ 'slow_dram', 'SVGA', 'Cirrus|Trident|ET6000|W32|Western Digital|Tseng' ],
- [ 'mga_sdram', 'SVGA', 'MGA' ],
- [ 'no_pixmap_cache', 'SVGA', 'ARK|Cirrus|C&T|MGA|SiS|Trident.*9440|Trident.*9680|Tseng' ],
- [ 'no_mmio', 'SVGA', 'Cirrus|Neomagic|Trident' ],
- [ 'pci_burst_off', 'SVGA', 'ET6000|W32|Trident|Tseng' ],
- [ 'hw_clocks', 'SVGA', 'SiS|C&T' ],
- [ 'use_modeline', 'SVGA', 'C&T' ],
- [ 'enable_bitblt', 'SVGA', 'Oak' ],
- [ 'w32_interleave_off', 'SVGA', 'ET6000|W32|Tseng' ],
- [ 'fifo_conservative', 'SVGA', 'Cirrus|ARK|SiS|Oak' ],
- [ 'fifo_moderate', 'SVGA', 'Cirrus|ARK|SiS' ],
- [ 'all_wait', 'SVGA', 'Oak' ],
- [ 'one_wait', 'SVGA', 'Oak' ],
- [ 'first_wait', 'SVGA', 'Oak' ],
- [ 'first_wwait', 'SVGA', 'Oak' ],
- [ 'write_wait', 'SVGA', 'Oak' ],
- [ 'read_wait', 'SVGA', 'Oak' ],
- [ 'clgd6225_lcd', 'SVGA', 'Cirrus' ],
- [ 'fix_panel_size', 'SVGA', 'C&T' ],
- [ 'lcd_center', 'SVGA', 'C&T|Neomagic|Trident' ],
- [ 'cyber_shadow', 'SVGA', 'Trident' ],
- [ 'STN', 'SVGA', 'C&T' ],
- [ 'no_stretch', 'SVGA', 'C&T|Cirrus|Neomagic|Trident' ],
- [ 'no_prog_lcd_mode_regs', 'SVGA', 'Neomagic' ],
- [ 'prog_lcd_mode_stretch', 'SVGA', 'Neomagic' ],
- [ 'suspend_hack', 'SVGA', 'C&T' ],
- [ 'use_18bit_bus', 'SVGA', 'C&T' ],
- [ 'hibit_low', 'SVGA', 'Tseng.*ET4000' ],
- [ 'hibit_high', 'SVGA', 'Tseng.*ET4000' ],
- [ 'probe_clocks', 'SVGA', 'Cirrus' ],
- [ 'power_saver', 'SVGA', '.*' ],
- [ 'use_vlck1', 'SVGA', 'C&T' ],
- [ 'sgram', 'SVGA', 'i740' ],
- [ 'sdram', 'SVGA', 'i740' ],
- [ 'no_2mb_banksel', 'SVGA', 'Cirrus' ],
- [ 'tgui_pci_read_on', 'SVGA', 'Trident' ],
- [ 'tgui_pci_write_on', 'SVGA', 'Trident' ],
- [ 'no_program_clocks', 'SVGA', 'Trident' ],
- [ 'mmio', 'SVGA', 'Cirrus|C&T|Neomagic' ],
- [ 'sync_on_green', 'SVGA', 'C&T|MGA' ],
- [ 'pci_retry', 'SVGA', 'Tseng|MGA|Cirrus' ],
- [ 'hw_cursor', 'SVGA', 'C&T|SiS|ARK|ET6000|i740|Tseng' ],
- [ 'xaa_no_color_exp', 'SVGA', 'C&T|Cirrus|Trident|Tseng' ],
- [ 'xaa_benchmarks', 'SVGA', 'C&T' ],
- [ 'pci_burst_on', 'SVGA', 'Trident|Tseng' ],
- [ 'prog_lcd_mode_regs', 'SVGA', 'Neomagic' ],
- [ 'no_prog_lcd_mode_stretch', 'SVGA', 'Neomagic' ],
- [ 'no_wait', 'SVGA', 'Oak' ],
- #- [ 'med_dram', 'SVGA', 'Cirrus|Trident|Western Digital' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'fast_dram', 'SVGA', 'C&T|Cirrus|ET[46]000|Trident|Western Digital' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'fast_vram', 'SVGA', 'SiS' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'clock_50', 'SVGA', 'Oak' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'clock_66', 'SVGA', 'Oak' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'fifo_aggressive', 'SVGA', 'Cirrus|ARK|SiS|Oak' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'override_validate_mode', 'SVGA', 'Neomagic' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'tgui_mclk_66', 'SVGA', 'Trident' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'favour_bitblt', 'SVGA', 'Cirrus' ], #- OBSELETE
- [ 'sw_cursor', '3DLabs', '.*' ],
- [ 'no_pixmap_cache', '3DLabs', '.*' ],
- [ 'no_accel', '3DLabs', '.*' ],
- [ 'firegl_3000', '3DLabs', '.*' ],
- [ 'sync_on_green', '3DLabs', '.*' ],
- [ 'pci_retry', '3DLabs', '.*' ],
- #- [ 'overclock_mem', '3DLabs', '.*' ], #- WARNING, MAY DAMAGE CARD
- [ 'dac_8_bit', 'I128', '.*' ],
- [ 'no_accel', 'I128', '.*' ],
- [ 'sync_on_green', 'I128', '.*' ],
- [ 'composite', 'Mach32', '.*' ],
- [ 'sw_cursor', 'Mach32', '.*' ],
- [ 'dac_8_bit', 'Mach32', '.*' ],
- [ 'ast_mach32', 'Mach32', '.*' ],
- [ 'intel_gx', 'Mach32', '.*' ],
- [ 'no_linear', 'Mach32', '.*' ],
- [ 'sw_cursor', 'Mach64', '.*' ],
- [ 'nolinear', 'Mach64', '.*' ],
- [ 'no_block_write', 'Mach64', '.*' ],
- [ 'block_write', 'Mach64', '.*' ],
- [ 'fifo_conservative', 'Mach64', '.*' ],
- [ 'no_font_cache', 'Mach64', '.*' ],
- [ 'no_pixmap_cache', 'Mach64', '.*' ],
- [ 'composite', 'Mach64', '.*' ],
- [ 'power_saver', 'Mach64', '.*' ],
- [ 'no_program_clocks', 'Mach64', '.*' ],
- [ 'no_bios_clocks', 'Mach64', '.*' ],
- [ 'dac_6_bit', 'Mach64', '.*' ],
- [ 'dac_8_bit', 'Mach64', '.*' ],
- [ 'hw_cursor', 'Mach64', '.*' ],
- #- [ 'override_bios', 'Mach64', '.*' ], #- WARNING, MAY DAMAGE CARD
- [ 'sw_cursor', 'P9000', '.*' ],
- [ 'noaccel', 'P9000', '.*' ],
- [ 'sync_on_green', 'P9000', '.*' ],
- [ 'vram_128', 'P9000', '.*' ],
- [ 'nolinear', 'S3', '.*' ],
- [ 'dac_8_bit', 'S3', '.*' ],
- [ 'slow_vram', 'S3', 'S3.*964' ],
- [ 'stb_pegasus', 'S3', 'S3.*928' ],
- [ 'SPEA_Mercury', 'S3', 'S3.*(928|964)' ],
- [ 'number_nine', 'S3', 'S3.*(864|928)' ],
- [ 'lcd_center', 'S3', 'S3.*Aurora64V' ],
- [ 'noaccel', 'S3V', '.*' ],
- [ 'slow_edodram', 'S3V', '.*' ],
- [ 'pci_burst_on', 'S3V', '.*' ],
- [ 'early_ras_precharge', 'S3V', '.*' ],
- [ 'late_ras_precharge', 'S3V', '.*' ],
- [ 'fifo_conservative', 'S3V', '.*' ],
- [ 'fifo_aggressive', 'S3V', '.*' ],
- [ 'fifo_moderate', 'S3V', '.*' ],
- [ 'lcd_center', 'S3V', 'S3.*ViRGE\/MX' ],
- [ 'hw_cursor', 'S3V', '.*' ],
- [ 'pci_retry', 'S3V', '.*' ],
- [ 'dac_6_bit', 'AGX', '.*' ],
- [ 'dac_8_bit', 'AGX', '.*' ],
- [ 'sync_on_green', 'AGX', '.*' ],
- [ '8_bit_bus', 'AGX', '.*' ],
- [ 'wait_state', 'AGX', '.*' ],
- [ 'no_wait_state', 'AGX', '.*' ],
- [ 'noaccel', 'AGX', '.*' ],
- [ 'crtc_delay', 'AGX', '.*' ],
- [ 'fifo_conserv', 'AGX', '.*' ],
- [ 'fifo_aggressive', 'AGX', '.*' ],
- [ 'fifo_moderate', 'AGX', '.*' ],
- [ 'vram_delay_latch', 'AGX', '.*' ],
- [ 'vram_delay_ras', 'AGX', '.*' ],
- [ 'vram_extend_ras', 'AGX', '.*' ],
- [ 'slow_dram', 'AGX', '.*' ],
- [ 'slow_vram', 'AGX', '.*' ],
- [ 'med_dram', 'AGX', '.*' ],
- [ 'med_vram', 'AGX', '.*' ],
- [ 'fast_dram', 'AGX', '.*' ],
- [ 'fast_vram', 'AGX', '.*' ],
- [ 'engine_delay', 'AGX', '.*' ],
- [ 'vram_128', 'AGX', '.*' ],
- [ 'vram_256', 'AGX', '.*' ],
- [ 'refresh_20', 'AGX', '.*' ],
- [ 'refresh_25', 'AGX', '.*' ],
- [ 'screen_refresh', 'AGX', '.*' ],
- [ 'vlb_a', 'AGX', '.*' ],
- [ 'vlb_b', 'AGX', '.*' ],
- [ 'slow_dram', 'W32', '.*' ],
- [ 'pci_burst_off', 'W32', '.*' ],
- [ 'w32_interleave_off', 'W32', '.*' ],
- [ 'no_accel', 'W32', '.*' ],
- [ 'nolinear', '8514', '.*' ],
- [ 'sw_cursor', '8514', '.*' ],
- [ 'no_block_write', '8514', '.*' ],
- [ 'block_write', '8514', '.*' ],
- [ 'fifo_conservative', '8514', '.*' ],
- [ 'no_font_cache', '8514', '.*' ],
- [ 'no_pixmap_cache', '8514', '.*' ],
- [ 'composite', '8514', '.*' ],
- [ 'power_saver', '8514', '.*' ],
- [ 'power_saver', 'FBDev', '.*' ],
-);
-
-%xkb_options = (
- 'ru(winkeys)' => [ 'XkbOptions "grp:caps_toggle"' ],
- 'jp' => [ 'XkbModel "jp106"' ],
-);
-
-$XF86firstchunk_text = q(
-# File generated by XFdrake.
-
-# **********************************************************************
-# Refer to the XF86Config(4/5) man page for details about the format of
-# this file.
-# **********************************************************************
-
-Section "Files"
-
- RgbPath "/usr/X11R6/lib/X11/rgb"
-
-# Multiple FontPath entries are allowed (they are concatenated together)
-# By default, Mandrake 6.0 and later now use a font server independent of
-# the X server to render fonts.
-
- FontPath "unix/:-1"
-
-EndSection
-
-# **********************************************************************
-# Server flags section.
-# **********************************************************************
-
-Section "ServerFlags"
-
- # Uncomment this to cause a core dump at the spot where a signal is
- # received. This may leave the console in an unusable state, but may
- # provide a better stack trace in the core dump to aid in debugging
- #NoTrapSignals
-
- # Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
- # This allows clients to receive this key event.
- #DontZap
-
- # Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
- # sequences. This allows clients to receive these key events.
- #DontZoom
-
- # This allows the server to start up even if the
- # mouse device can't be opened/initialised.
- AllowMouseOpenFail
-
-EndSection
-
-# **********************************************************************
-# Input devices
-# **********************************************************************
-);
-
-$keyboardsection_start = '
-# **********************************************************************
-# Keyboard section
-# **********************************************************************
-
-Section "Keyboard"
-
- Protocol "Standard"
-
- # when using XQUEUE, comment out the above line, and uncomment the
- # following line
- #Protocol "Xqueue"
-
- AutoRepeat 250 30
-
- # Let the server do the NumLock processing. This should only be
- # required when using pre-R6 clients
- #ServerNumLock
-
- # Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
- #Xleds "1 2 3"
-
- #To set the LeftAlt to Meta, RightAlt key to ModeShift,
- #RightCtl key to Compose, and ScrollLock key to ModeLock:
-
- LeftAlt Meta
- RightAlt Meta
- ScrollLock Compose
- RightCtl Control
-
-# To disable the XKEYBOARD extension, uncomment XkbDisable.
-
-# XkbDisable
-';
-
-$keyboardsection_start_v4 = '
-# **********************************************************************
-# Keyboard section
-# **********************************************************************
-
-Section "InputDevice"
-
- Identifier "Keyboard1"
- Driver "Keyboard"
- Option "AutoRepeat" "250 30"
-';
-
-if (arch() =~ /^sparc/) {
- $keyboardsection_part3 = '
-# To customise the XKB settings to suit your keyboard, modify the
-# lines below (which are the defaults). For example:
-# XkbModel "type6"
-# If you have a SUN keyboard, you may use:
-# XkbModel "sun"
-#
-# Then to change the language, change the Layout setting.
-# For example, a german layout can be obtained with:
-# XkbLayout "de"
-# or:
-# XkbLayout "de"
-# XkbVariant "nodeadkeys"
-#
-# If you\'d like to switch the positions of your capslock and
-# control keys, use:
-# XkbOptions "ctrl:swapcaps"
-
-# These are the default XKB settings for XFree86 on SUN:
-# XkbRules "sun"
-# XkbModel "type5_unix"
-# XkbLayout "us"
-# XkbCompat "compat/complete"
-# XkbTypes "types/complete"
-# XkbKeycodes "sun(type5)"
-# XkbGeometry "sun(type5)"
-# XkbSymbols "sun/us(sun5)"
-
- XkbRules "sun"
- XkbLayout "us"
- XkbCompat "compat/complete"
- XkbTypes "types/complete"
- XkbKeycodes "sun(type5)"
- XkbGeometry "sun(type5)"
- XkbSymbols "sun/us(sun5)"
-';
-$keyboardsection_part3_v4 = '
- Option "XkbRules" "sun"
- Option "XkbLayout" "us"
- Option "XkbCompat" "compat/complete"
- Option "XkbTypes" "types/complete"
- Option "XkbKeycodes" "sun(type5)"
- Option "XkbGeometry" "sun(type5)"
- Option "XkbSymbols" "sun/us(sun5)"
-';
-} elsif (arch() =~ /ppc/) {
-$keyboardsection_part3 = '
-# To customise the XKB settings to suit your keyboard, modify the
-# lines below (which are the defaults). For example, for a non-U.S.
-# keyboard, you will probably want to use:
-# XkbModel "pc102"
-# If you have a US Microsoft Natural keyboard, you can use:
-# XkbModel "microsoft"
-#
-# Then to change the language, change the Layout setting.
-# For example, a german layout can be obtained with:
-# XkbLayout "de"
-# or:
-# XkbLayout "de"
-# XkbVariant "nodeadkeys"
-#
-# If you\'d like to switch the positions of your capslock and
-# control keys, use:
-# XkbOptions "ctrl:swapcaps"
-
-# These are the default XKB settings for XFree86
-# XkbRules "xfree86"
-# XkbModel "pc101"
-# XkbLayout "us"
-# XkbVariant ""
-# XkbOptions ""
-
- XkbKeycodes "xfree86"
- XkbTypes "default"
- XkbCompat "default"
- XkbSymbols "macintosh/us"
- XkbGeometry "macintosh"
- XkbRules "xfree86"
-';
-
-$keyboardsection_part3_v4 = '
- Option "XkbRules" "xfree86"
-';
-} else {
-$keyboardsection_part3 = '
-# To customise the XKB settings to suit your keyboard, modify the
-# lines below (which are the defaults). For example, for a non-U.S.
-# keyboard, you will probably want to use:
-# XkbModel "pc102"
-# If you have a US Microsoft Natural keyboard, you can use:
-# XkbModel "microsoft"
-#
-# Then to change the language, change the Layout setting.
-# For example, a german layout can be obtained with:
-# XkbLayout "de"
-# or:
-# XkbLayout "de"
-# XkbVariant "nodeadkeys"
-#
-# If you\'d like to switch the positions of your capslock and
-# control keys, use:
-# XkbOptions "ctrl:swapcaps"
-
-# These are the default XKB settings for XFree86
-# XkbRules "xfree86"
-# XkbModel "pc101"
-# XkbLayout "us"
-# XkbVariant ""
-# XkbOptions ""
-
- XkbKeycodes "xfree86"
- XkbTypes "default"
- XkbCompat "default"
- XkbSymbols "us(pc105)"
- XkbGeometry "pc"
- XkbRules "xfree86"
-';
-
-$keyboardsection_part3_v4 = '
- Option "XkbRules" "xfree86"
-';
-}
-
-$keyboardsection_end = '
-EndSection
-';
-
-$pointersection_text = '
-# **********************************************************************
-# Pointer section
-# **********************************************************************
-
-';
-
-$monitorsection_text1 = '
-# **********************************************************************
-# Monitor section
-# **********************************************************************
-
-# Any number of monitor sections may be present
-
-Section "Monitor"
-';
-
-$monitorsection_text2 = '
-# HorizSync is in kHz unless units are specified.
-# HorizSync may be a comma separated list of discrete values, or a
-# comma separated list of ranges of values.
-# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR\'S
-# USER MANUAL FOR THE CORRECT NUMBERS.
-';
-
-$monitorsection_text3 = '
-# VertRefresh is in Hz unless units are specified.
-# VertRefresh may be a comma separated list of discrete values, or a
-# comma separated list of ranges of values.
-# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR\'S
-# USER MANUAL FOR THE CORRECT NUMBERS.
-';
-
-$monitorsection_text4 = '
-# Modes can be specified in two formats. A compact one-line format, or
-# a multi-line format.
-
-# These two are equivalent
-
-# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace
-
-# Mode "1024x768i"
-# DotClock 45
-# HTimings 1024 1048 1208 1264
-# VTimings 768 776 784 817
-# Flags "Interlace"
-# EndMode
-';
-
-$modelines_text_Trident_TG_96xx = '
-# This is a set of standard mode timings. Modes that are out of monitor spec
-# are automatically deleted by the server (provided the HorizSync and
-# VertRefresh lines are correct), so there\'s no immediate need to
-# delete mode timings (unless particular mode timings don\'t work on your
-# monitor). With these modes, the best standard mode that your monitor
-# and video card can support for a given resolution is automatically
-# used.
-
-# These are special modelines for Trident Providia 9685. It is for VA Linux
-# systems only.
-# 640x480 @ 72 Hz, 36.5 kHz hsync
-Modeline "640x480" 31.5 640 680 720 864 480 488 491 521
-# 800x600 @ 72 Hz, 48.0 kHz hsync
-Modeline "800x600" 50 800 856 976 1040 600 637 643 666 +hsync +vsync
-# 1024x768 @ 60 Hz, 48.4 kHz hsync
-#Modeline "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync
-# 1024x768 @ 70 Hz, 56.5 kHz hsync
-Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
-';
-$modelines_text_apple = '
-Section "Modes"
- Identifier "Mac Modes"
- # Apple iMac modes
- Modeline "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync
- Modeline "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync
- Modeline "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync
- # Apple monitors tend to do 832x624
- Modeline "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync
- # Apple PowerBook G3
- Modeline "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync
-EndSection
-';
-$modelines_text = '
-# This is a set of standard mode timings. Modes that are out of monitor spec
-# are automatically deleted by the server (provided the HorizSync and
-# VertRefresh lines are correct), so there\'s no immediate need to
-# delete mode timings (unless particular mode timings don\'t work on your
-# monitor). With these modes, the best standard mode that your monitor
-# and video card can support for a given resolution is automatically
-# used.
-
-# 640x400 @ 70 Hz, 31.5 kHz hsync
-Modeline "640x400" 25.175 640 664 760 800 400 409 411 450
-# 640x480 @ 60 Hz, 31.5 kHz hsync
-Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
-# 800x600 @ 56 Hz, 35.15 kHz hsync
-ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
-# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync
-Modeline "1024x768" 44.9 1024 1048 1208 1264 768 776 784 817 Interlace
-
-# 640x400 @ 85 Hz, 37.86 kHz hsync
-Modeline "640x400" 31.5 640 672 736 832 400 401 404 445 -HSync +VSync
-# 640x480 @ 72 Hz, 36.5 kHz hsync
-Modeline "640x480" 31.5 640 680 720 864 480 488 491 521
-# 640x480 @ 75 Hz, 37.50 kHz hsync
-ModeLine "640x480" 31.5 640 656 720 840 480 481 484 500 -HSync -VSync
-# 800x600 @ 60 Hz, 37.8 kHz hsync
-Modeline "800x600" 40 800 840 968 1056 600 601 605 628 +hsync +vsync
-
-# 640x480 @ 85 Hz, 43.27 kHz hsync
-Modeline "640x480" 36 640 696 752 832 480 481 484 509 -HSync -VSync
-# 1152x864 @ 89 Hz interlaced, 44 kHz hsync
-ModeLine "1152x864" 65 1152 1168 1384 1480 864 865 875 985 Interlace
-
-# 800x600 @ 72 Hz, 48.0 kHz hsync
-Modeline "800x600" 50 800 856 976 1040 600 637 643 666 +hsync +vsync
-# 1024x768 @ 60 Hz, 48.4 kHz hsync
-Modeline "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync
-
-# 640x480 @ 100 Hz, 53.01 kHz hsync
-Modeline "640x480" 45.8 640 672 768 864 480 488 494 530 -HSync -VSync
-# 1152x864 @ 60 Hz, 53.5 kHz hsync
-Modeline "1152x864" 89.9 1152 1216 1472 1680 864 868 876 892 -HSync -VSync
-# 800x600 @ 85 Hz, 55.84 kHz hsync
-Modeline "800x600" 60.75 800 864 928 1088 600 616 621 657 -HSync -VSync
-
-# 1024x768 @ 70 Hz, 56.5 kHz hsync
-Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
-# 1280x1024 @ 87 Hz interlaced, 51 kHz hsync
-Modeline "1280x1024" 80 1280 1296 1512 1568 1024 1025 1037 1165 Interlace
-
-# 800x600 @ 100 Hz, 64.02 kHz hsync
-Modeline "800x600" 69.65 800 864 928 1088 600 604 610 640 -HSync -VSync
-# 1024x768 @ 76 Hz, 62.5 kHz hsync
-Modeline "1024x768" 85 1024 1032 1152 1360 768 784 787 823
-# 1152x864 @ 70 Hz, 62.4 kHz hsync
-Modeline "1152x864" 92 1152 1208 1368 1474 864 865 875 895
-# 1280x1024 @ 61 Hz, 64.2 kHz hsync
-Modeline "1280x1024" 110 1280 1328 1512 1712 1024 1025 1028 1054
-
-# 1024x768 @ 85 Hz, 70.24 kHz hsync
-Modeline "1024x768" 98.9 1024 1056 1216 1408 768 782 788 822 -HSync -VSync
-# 1152x864 @ 78 Hz, 70.8 kHz hsync
-Modeline "1152x864" 110 1152 1240 1324 1552 864 864 876 908
-
-# 1280x1024 @ 70 Hz, 74.59 kHz hsync
-Modeline "1280x1024" 126.5 1280 1312 1472 1696 1024 1032 1040 1068 -HSync -VSync
-# 1600x1200 @ 60Hz, 75.00 kHz hsync
-Modeline "1600x1200" 162 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync
-# 1152x864 @ 84 Hz, 76.0 kHz hsync
-Modeline "1152x864" 135 1152 1464 1592 1776 864 864 876 908
-
-# 1280x1024 @ 74 Hz, 78.85 kHz hsync
-Modeline "1280x1024" 135 1280 1312 1456 1712 1024 1027 1030 1064
-
-# 1024x768 @ 100Hz, 80.21 kHz hsync
-Modeline "1024x768" 115.5 1024 1056 1248 1440 768 771 781 802 -HSync -VSync
-# 1280x1024 @ 76 Hz, 81.13 kHz hsync
-Modeline "1280x1024" 135 1280 1312 1416 1664 1024 1027 1030 1064
-
-# 1600x1200 @ 70 Hz, 87.50 kHz hsync
-Modeline "1600x1200" 189 1600 1664 1856 2160 1200 1201 1204 1250 -HSync -VSync
-# 1152x864 @ 100 Hz, 89.62 kHz hsync
-Modeline "1152x864" 137.65 1152 1184 1312 1536 864 866 885 902 -HSync -VSync
-# 1280x1024 @ 85 Hz, 91.15 kHz hsync
-Modeline "1280x1024" 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +HSync +VSync
-# 1600x1200 @ 75 Hz, 93.75 kHz hsync
-Modeline "1600x1200" 202.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync
-# 1600x1200 @ 85 Hz, 105.77 kHz hsync
-Modeline "1600x1200" 220 1600 1616 1808 2080 1200 1204 1207 1244 +HSync +VSync
-# 1280x1024 @ 100 Hz, 107.16 kHz hsync
-Modeline "1280x1024" 181.75 1280 1312 1440 1696 1024 1031 1046 1072 -HSync -VSync
-
-# 1800x1440 @ 64Hz, 96.15 kHz hsync
-ModeLine "1800X1440" 230 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync
-# 1800x1440 @ 70Hz, 104.52 kHz hsync
-ModeLine "1800X1440" 250 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync
-
-# 512x384 @ 78 Hz, 31.50 kHz hsync
-Modeline "512x384" 20.160 512 528 592 640 384 385 388 404 -HSync -VSync
-# 512x384 @ 85 Hz, 34.38 kHz hsync
-Modeline "512x384" 22 512 528 592 640 384 385 388 404 -HSync -VSync
-
-# Low-res Doublescan modes
-# If your chipset does not support doublescan, you get a \'squashed\'
-# resolution like 320x400.
-
-# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio
-Modeline "320x200" 12.588 320 336 384 400 200 204 205 225 Doublescan
-# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio
-Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-# 320x240 @ 72 Hz, 36.5 kHz hsync
-Modeline "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan
-# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio
-ModeLine "400x300" 18 400 416 448 512 300 301 302 312 Doublescan
-# 400x300 @ 60 Hz, 37.8 kHz hsync
-Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
-# 400x300 @ 72 Hz, 48.0 kHz hsync
-Modeline "400x300" 25 400 424 488 520 300 319 322 333 Doublescan
-# 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio
-ModeLine "480x300" 21.656 480 496 536 616 300 301 302 312 Doublescan
-# 480x300 @ 60 Hz, 37.8 kHz hsync
-Modeline "480x300" 23.890 480 496 576 632 300 301 303 314 Doublescan
-# 480x300 @ 63 Hz, 39.6 kHz hsync
-Modeline "480x300" 25 480 496 576 632 300 301 303 314 Doublescan
-# 480x300 @ 72 Hz, 48.0 kHz hsync
-Modeline "480x300" 29.952 480 504 584 624 300 319 322 333 Doublescan
-
-';
-
-$devicesection_text = '
-# **********************************************************************
-# Graphics device section
-# **********************************************************************
-
-Section "Device"
- Identifier "Generic VGA"
- Chipset "generic"
-EndSection
-
-';
-
-$devicesection_text_v4 = '
-# **********************************************************************
-# Graphics device section
-# **********************************************************************
-
-Section "Device"
- Identifier "Generic VGA"
- Driver "vga"
-EndSection
-
-';
-
-$screensection_text1 = '
-# **********************************************************************
-# Screen sections
-# **********************************************************************
-';
-
diff --git a/perl-install/any.pm b/perl-install/any.pm
deleted file mode 100644
index a4710b375..000000000
--- a/perl-install/any.pm
+++ /dev/null
@@ -1,806 +0,0 @@
-package any; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :system :file :functional);
-use commands;
-use detect_devices;
-use partition_table qw(:types);
-use fsedit;
-use fs;
-use run_program;
-use modules;
-use log;
-
-sub drakx_version {
- sprintf "DrakX v%s built %s", $::testing ? ('TEST', scalar gmtime()) : (split('/', cat_("$ENV{SHARE_PATH}/VERSION")))[2,3];
-}
-
-sub facesdir {
- my ($prefix) = @_;
- "$prefix/usr/share/faces/";
-}
-sub face2xpm {
- my ($face, $prefix) = @_;
- facesdir($prefix) . $face . ".xpm";
-}
-sub face2png {
- my ($face, $prefix) = @_;
- facesdir($prefix) . $face . ".png";
-}
-sub facesnames {
- my ($prefix) = @_;
- my $dir = facesdir($prefix);
- my @l = grep { /^[A-Z]/ } all($dir);
- grep { -e "$dir/$_.png" } map { /(.*)\.xpm/ } (@l ? @l : all($dir));
-}
-
-sub addKdmIcon {
- my ($prefix, $user, $icon) = @_;
- my $dest = "$prefix/usr/share/faces/$user.png";
- eval { commands::cp("-f", facesdir($prefix) . $icon . ".png", $dest) } if $icon;
-}
-
-sub allocUsers {
- my ($prefix, $users) = @_;
- my @m = my @l = facesnames($prefix);
- foreach (grep { !$_->{icon} || $_->{icon} eq "automagic" } @$users) {
- $_->{auto_icon} = splice(@m, rand(@m), 1); #- known biased (see cookbook for better)
- log::l("auto_icon is $_->{auto_icon}");
- @m = @l unless @m;
- }
-}
-
-sub addUsers {
- my ($prefix, $users) = @_;
- my $msec = "$prefix/etc/security/msec";
-
- allocUsers($prefix, $users);
- foreach my $u (@$users) {
- substInFile { s/^$u->{name}\n//; $_ .= "$u->{name}\n" if eof } "$msec/user.conf" if -d $msec;
- addKdmIcon($prefix, $u->{name}, delete $u->{auto_icon} || $u->{icon});
- }
- run_program::rooted($prefix, "/usr/share/msec/grpuser.sh --refresh >/dev/null");
-}
-
-sub crypt {
- my ($password, $md5) = @_;
- crypt($password, $md5 ? '$1$' . salt(8) : salt(2));
-}
-sub enableShadow {
- my ($prefix) = @_;
- run_program::rooted($prefix, "pwconv") or log::l("pwconv failed");
- run_program::rooted($prefix, "grpconv") or log::l("grpconv failed");
-}
-sub enableMD5Shadow {
- my ($prefix, $shadow, $md5) = @_;
- substInFile {
- if (/^password.*pam_pwdb.so/) {
- s/\s*shadow//; s/\s*md5//;
- s/$/ shadow/ if $shadow;
- s/$/ md5/ if $md5;
- }
- } grep { -r $_ } map { "$prefix/etc/pam.d/$_" } qw(login rlogin passwd);
-}
-
-sub setupBootloader {
- my ($in, $b, $hds, $fstab, $security, $prefix, $more) = @_;
-
- $more++ if $b->{bootUnsafe};
- $more = 2 if arch() =~ /ppc/; #- no auto for PPC yet
-
- if (!$::expert && $more < 1) {
- #- automatic
- } elsif (!$::expert) {
- my @l = (__("First sector of drive (MBR)"), __("First sector of boot partition"));
-
- $in->set_help('setupBootloaderBeginner') unless $::isStandalone;
- if (arch() =~ /sparc/) {
- $b->{use_partition} = $in->ask_from_list_(_("SILO Installation"),
- _("Where do you want to install the bootloader?"),
- \@l, $l[$b->{use_partition}]) or return;
- } elsif (arch() =~ /ppc/) {
- if (defined $partition_table_mac::bootstrap_part) {
- $b->{boot} = $partition_table_mac::bootstrap_part;
- log::l("set bootstrap to $b->{boot}");
- } else {
- die "no bootstrap partition - yaboot.conf creation failed";
- }
- } else {
- my $boot = $hds->[0]{device};
- my $onmbr = "/dev/$boot" eq $b->{boot};
- $b->{boot} = "/dev/" . ($in->ask_from_list_(_("LILO/grub Installation"),
- _("Where do you want to install the bootloader?"),
- \@l, $l[!$onmbr]) eq $l[0]
- ? $boot : fsedit::get_root($fstab, 'boot')->{device});
- }
- } else {
- $in->set_help(arch() =~ /sparc/ ? "setupSILOGeneral" : arch() =~ /ppc/ ? 'setupYabootGeneral' :"setupBootloaderGeneral") unless $::isStandalone; #- TO MERGE ?
-
- my @silo_install_lang = (_("First sector of drive (MBR)"), _("First sector of boot partition"));
- my $silo_install_lang = $silo_install_lang[$b->{use_partition}];
-
- my %bootloaders = (if_(exists $b->{methods}{silo},
- __("SILO") => sub { $b->{methods}{silo} = 1 }),
- if_(exists $b->{methods}{lilo},
- __("LILO with text menu") => sub { $b->{methods}{lilo} = "lilo-menu" },
- __("LILO with graphical menu") => sub { $b->{methods}{lilo} = "lilo-graphic" }),
- if_(exists $b->{methods}{grub},
- #- put lilo if grub is chosen, so that /etc/lilo.conf is generated
- __("Grub") => sub { $b->{methods}{grub} = 1;
- exists $b->{methods}{lilo}
- and $b->{methods}{lilo} = "lilo-menu" }),
- if_(exists $b->{methods}{loadlin},
- __("Boot from DOS/Windows (loadlin)") => sub { $b->{methods}{loadlin} = 1 }),
- if_(exists $b->{methods}{yaboot},
- __("Yaboot") => sub { $b->{methods}{yaboot} = 1 }),
- );
- my $bootloader = arch() =~ /sparc/ ? __("SILO") : arch() =~ /ppc/ ? __("Yaboot") : __("LILO with graphical menu");
- my $profiles = bootloader::has_profiles($b);
- my $memsize = bootloader::get_append($b, 'mem');
-
- $b->{vga} ||= 'Normal';
- if (arch !~ /ppc/) {
- $in->ask_from_entries_refH('', _("Bootloader main options"), [
-{ label => _("Bootloader to use"), val => \$bootloader, list => [ keys(%bootloaders) ], format => \&translate },
- arch() =~ /sparc/ ? (
-{ label => _("Bootloader installation"), val => \$silo_install_lang, list => \@silo_install_lang },
-) : (
-{ label => _("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_" } (map { $_->{device} } (@$hds, grep { !isFat($_) } @$fstab)), detect_devices::floppies() ], not_edit => !$::expert },
-{ label => _("LBA (doesn't work on old BIOSes)"), val => \$b->{lba32}, type => "bool", text => "lba", advanced => 1 },
-{ label => _("Compact"), val => \$b->{compact}, type => "bool", text => _("compact"), advanced => 1 },
-{ label => _("Video mode"), val => \$b->{vga}, list => [ keys %bootloader::vga_modes ], not_edit => !$::expert, advanced => 1 },
-),
-{ label => _("Delay before booting default image"), val => \$b->{timeout} },
- if_($security >= 4,
-{ label => _("Password"), val => \$b->{password}, hidden => 1 },
-{ label => _("Password (again)"), val => \$b->{password2}, hidden => 1 },
-{ label => _("Restrict command line options"), val => \$b->{restricted}, type => "bool", text => _("restrict") },
- ),
-{ label => _("Clean /tmp at each boot"), val => \$b->{CLEAN_TMP}, type => 'bool', advanced => 1 },
-{ label => _("Precise RAM size if needed (found %d MB)", availableRamMB()), val => \$memsize, advanced => 1 },
- if_(detect_devices::hasPCMCIA,
-{ label => _("Enable multi profiles"), val => \$profiles, type => 'bool', advanced => 1 },
- ),
-],
- complete => sub {
- !$memsize || $memsize =~ /K$/ || $memsize =~ s/^(\d+)M?$/$1M/i or $in->ask_warn('', _("Give the ram size in MB")), return 1;
-#- $security > 4 && length($b->{password}) < 6 and $in->ask_warn('', _("At this level of security, a password (and a good one) in lilo is requested")), return 1;
- $b->{restricted} && !$b->{password} and $in->ask_warn('', _("Option ``Restrict command line options'' is of no use without a password")), return 1;
- $b->{password} eq $b->{password2} or !$b->{restricted} or $in->ask_warn('', [ _("The passwords do not match"), _("Please try again") ]), return 1;
- 0;
- }
- ) or return 0;
- } else {
- $b->{boot} = $partition_table_mac::bootstrap_part;
- $in->ask_from_entries_refH('', _("Bootloader main options"), [
- { label => _("Bootloader to use"), val => \$bootloader, list => [ keys(%bootloaders) ], format => \&translate },
- { label => _("Init Message"), val => \$b->{initmsg} },
- { label => _("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_" } (map { $_->{device} } (grep { isAppleBootstrap($_) } @$fstab))], not_edit => !$::expert },
- { label => _("Open Firmware Delay"), val => \$b->{delay} },
- { label => _("Kernel Boot Timeout"), val => \$b->{timeout} },
- { label => _("Enable CD Boot?"), val => \$b->{enablecdboot}, type => "bool" },
- { label => _("Enable OF Boot?"), val => \$b->{enableofboot}, type => "bool" },
- { label => _("Default OS?"), val=> \$b->{defaultos}, list => [ 'linux', 'macos', 'macosx', 'darwin' ] },
- ]) or return 0;
- }
-
- $b->{methods}{$_} = 0 foreach keys %{$b->{methods}};
- $bootloaders{$bootloader} and $bootloaders{$bootloader}->();
- #- at least one method
- grep_each { $::b } %{$b->{methods}} or return;
-
- $b->{use_partition} = $silo_install_lang eq _("First sector of drive (MBR)") ? 0 : 1;
- $b->{vga} = $bootloader::vga_modes{$b->{vga}} || $b->{vga};
-
- bootloader::set_profiles($b, $profiles);
- bootloader::add_append($b, "mem", $memsize);
- }
-
- while ($::expert || $more > 1) {
- $in->set_help(arch() =~ /sparc/ ? 'setupSILOAddEntry' : arch() =~ /ppc/ ? 'setupYabootAddEntry' : 'setupBootloaderAddEntry') unless $::isStandalone;
- my ($c, $e);
- eval { $in->ask_from_entries_refH_powered(
- {
- messages =>
-_("Here are the different entries.
-You can add some more or change the existing ones."),
- ok => '',
-},
- [ { val => \$e, format => sub {
- my ($e) = @_;
- ref $e ?
- "$e->{label} ($e->{kernel_or_dev})" . ($b->{default} eq $e->{label} && " *") :
- translate($e);
- }, list => [ @{$b->{entries}} ] },
- (map { my $s = $_; { val => translate($_), clicked => sub { $c = $s; die } } } (__("Modify"), __("Add"), __("Done"))),
- ]
- ) };
- !$c || $c eq "Done" and last;
-
- if ($c eq "Add") {
- my @labels = map { $_->{label} } @{$b->{entries}};
- my $prefix;
- if ($in->ask_from_list_('', _("Which type of entry do you want to add?"),
- [ __("Linux"), arch() =~ /sparc/ ? __("Other OS (SunOS...)") : arch() =~ /ppc/ ?
- __("Other OS (MacOS...)") : __("Other OS (windows...)") ]
- ) eq "Linux") {
- $e = { type => 'image',
- root => '/dev/' . fsedit::get_root($fstab)->{device}, #- assume a good default.
- };
- $prefix = "linux";
- } else {
- $e = { type => 'other' };
- $prefix = arch() =~ /sparc/ ? "sunos" : arch() =~ /ppc/ ? "macos" : "windows";;
- }
- $e->{label} = $prefix;
- for (my $nb = 0; member($e->{label}, @labels); $nb++) { $e->{label} = "$prefix-$nb" }
- }
- my %old_e = %$e;
- my $default = my $old_default = $e->{label} eq $b->{default};
-
- my @l;
- if ($e->{type} eq "image") {
- @l = (
-arch =~ /ppc/ ?
-({ label => _("Image"), val => \$e->{kernel_or_dev}, list => [ map { s/$prefix//; $_ } glob_("$prefix/boot/vmlinux*") ], not_edit => 0 })
-:
-({ label => _("Image"), val => \$e->{kernel_or_dev}, list => [ map { s/$prefix//; $_ } glob_("$prefix/boot/vmlinuz*") ], not_edit => 0 }),
-{ label => _("Root"), val => \$e->{root}, list => [ map { "/dev/$_->{device}" } @$fstab ], not_edit => !$::expert },
-{ label => _("Append"), val => \$e->{append} },
-arch =~ /ppc/ ? () : (
-{ label => _("Video mode"), val => \$e->{vga}, list => [ keys %bootloader::vga_modes ], not_edit => !$::expert },
-),
-{ label => _("Initrd"), val => \$e->{initrd}, list => [ map { s/$prefix//; $_ } glob_("$prefix/boot/initrd*") ] },
-{ label => _("Read-write"), val => \$e->{'read-write'}, type => 'bool' }
- );
- @l = @l[0..2] unless $::expert;
- } else {
- @l = (
-{ label => _("Root"), val => \$e->{kernel_or_dev}, list => [ map { "/dev/$_->{device}" } @$fstab ], not_edit => !$::expert },
-if_(arch() !~ /sparc|ppc/,
-{ label => _("Table"), val => \$e->{table}, list => [ '', map { "/dev/$_->{device}" } @$hds ], not_edit => !$::expert },
-{ label => _("Unsafe"), val => \$e->{unsafe}, type => 'bool' }
-),
- );
- @l = $l[0] unless $::expert;
- }
-if (arch() !~ /ppc/) {
- @l = (
-{ label => _("Label"), val => \$e->{label} },
-@l,
-{ label => _("Default"), val => \$default, type => 'bool' },
- );
-} else {
- @l = ({ label => _("Label"), val => \$e->{label}, list=> ['macos', 'macosx', 'darwin'] },
- @l );
- if ($e->{type} eq "image") {
- @l = ({ label => _("Label"), val => \$e->{label} },
- $::expert ? @l[1..4] : (@l[1..2], { label => _("Append"), val => \$e->{append} }) ,
- if_($::expert, { label => _("Initrd-size"), val => \$e->{initrdsize}, list => [ '', '4096', '8192', '16384', '24576' ] }),
- if_($::expert, $l[5]),
- { label => _("NoVideo"), val => \$e->{novideo}, type => 'bool' },
- { label => _("Default"), val => \$default, type => 'bool' }
- );
- }
-}
-
- if ($in->ask_from_entries_refH_powered(
- {
- if_($c ne "Add", cancel => _("Remove entry")),
- callbacks => {
- complete => sub {
- $e->{label} or $in->ask_warn('', _("Empty label not allowed")), return 1;
- member($e->{label}, map { $_->{label} } grep { $_ != $e } @{$b->{entries}}) and $in->ask_warn('', _("This label is already used")), return 1;
- 0;
- } } }, \@l)) {
- $b->{default} = $old_default || $default ? $default && $e->{label} : $b->{default};
- $e->{vga} = $bootloader::vga_modes{$e->{vga}} || $e->{vga};
- require bootloader;
- bootloader::configure_entry($prefix, $e); #- hack to make sure initrd file are built.
-
- push @{$b->{entries}}, $e if $c eq "Add";
- } else {
- @{$b->{entries}} = grep { $_ != $e } @{$b->{entries}};
- }
- }
- 1;
-}
-
-sub partitions_suggestions {
- my ($in) = @_;
- my $t = $::expert ?
- $in->ask_from_list_('', _("What type of partitioning?"), [ keys %fsedit::suggestions ]) :
- 'simple';
- $fsedit::suggestions{$t};
-}
-
-my @etc_pass_fields = qw(name pw uid gid realname home shell);
-sub unpack_passwd {
- my ($l) = @_;
- chomp $l;
- my %l; @l{@etc_pass_fields} = split ':', $l;
- \%l;
-}
-sub pack_passwd {
- my ($l) = @_;
- join(':', @$l{@etc_pass_fields}) . "\n";
-}
-
-sub get_autologin {
- my ($prefix, $o) = @_;
- my %l = getVarsFromSh("$prefix/etc/sysconfig/autologin");
- $o->{autologin} ||= $l{USER};
- %l = getVarsFromSh("$prefix/etc/sysconfig/desktop");
- $o->{desktop} ||= $l{DESKTOP};
-}
-
-sub set_autologin {
- my ($prefix, $user, $desktop) = @_;
-
- if ($user) {
- my %l = getVarsFromSh("$prefix/etc/sysconfig/desktop");
- $l{DESKTOP} = uc($desktop);
- setVarsInSh("$prefix/etc/sysconfig/desktop", %l);
- }
- setVarsInSh("$prefix/etc/sysconfig/autologin",
- { USER => $user, AUTOLOGIN => bool2yesno($user), EXEC => "/usr/X11R6/bin/startx" });
- log::l("cat $prefix/etc/sysconfig/autologin: ", cat_("$prefix/etc/sysconfig/autologin"));
-}
-
-sub rotate_log {
- my ($f) = @_;
- if (-e $f) {
- my $i = 1;
- for (; -e "$f$i" || -e "$f$i.gz"; $i++) {}
- rename $f, "$f$i";
- }
-}
-sub rotate_logs {
- my ($prefix) = @_;
- rotate_log("$prefix/root/$_") foreach qw(ddebug.log install.log);
-}
-
-sub writeandclean_ldsoconf {
- my ($prefix) = @_;
- my $file = "$prefix/etc/ld.so.conf";
- output $file,
- grep { !m|^(/usr)?/lib$| } #- no need to have /lib and /usr/lib in ld.so.conf
- uniq cat_($file), "/usr/X11R6/lib\n";
-}
-
-sub shells {
- my ($prefix) = @_;
- grep { -x "$prefix$_" } map { chomp; $_ } cat_("$prefix/etc/shells");
-}
-
-sub inspect {
- my ($part, $prefix, $rw) = @_;
-
- isMountableRW($part) or return;
-
- my $dir = "/tmp/inspect_tmp_dir";
-
- if ($part->{isMounted}) {
- $dir = ($prefix || '') . $part->{mntpoint};
- } elsif ($part->{notFormatted} && !$part->{isFormatted}) {
- $dir = '';
- } else {
- mkdir $dir, 0700;
- eval { fs::mount($part->{device}, $dir, type2fs($part->{type}), !$rw) };
- $@ and return;
- }
- my $h = before_leaving {
- if (!$part->{isMounted} && $dir) {
- fs::umount($dir);
- unlink($dir)
- }
- };
- $h->{dir} = $dir;
- $h;
-}
-
-#-----modem conf
-sub pppConfig {
- my ($in, $modem, $prefix, $install) = @_;
- $modem or return;
-
- symlinkf($modem->{device}, "$prefix/dev/modem") or log::l("creation of $prefix/dev/modem failed")
- if $modem->{device} ne "/dev/modem";
- $install->(qw(ppp)) unless $::testing;
-
- my %toreplace;
- $toreplace{$_} = $modem->{$_} foreach qw(connection phone login passwd auth domain dns1 dns2);
- $toreplace{kpppauth} = ${{ 'Script-based' => 0, 'PAP' => 1, 'Terminal-based' => 2, }}{$modem->{auth}};
- $toreplace{phone} =~ s/\D//g;
- $toreplace{dnsserver} = join ',', map { $modem->{$_} } "dns1", "dns2";
- $toreplace{dnsserver} .= $toreplace{dnsserver} && ',';
-
- #- using peerdns or dns1,dns2 avoid writing a /etc/resolv.conf file.
- $toreplace{peerdns} = "yes";
-
- $toreplace{connection} ||= 'DialupConnection';
- $toreplace{domain} ||= 'localdomain';
- $toreplace{intf} ||= 'ppp0';
- $toreplace{papname} = $modem->{auth} eq 'PAP' && $toreplace{login};
-
- #- build ifcfg-ppp0.
- my $ifcfg = "$prefix/etc/sysconfig/network-scripts/ifcfg-ppp0";
- local *IFCFG; open IFCFG, ">$ifcfg" or die "Can't open $ifcfg";
- print IFCFG <<END;
-DEVICE="$toreplace{intf}"
-ONBOOT="no"
-USERCTL="no"
-MODEMPORT="/dev/modem"
-LINESPEED="115200"
-PERSIST="yes"
-DEFABORT="yes"
-DEBUG="yes"
-INITSTRING="ATZ"
-DEFROUTE="yes"
-HARDFLOWCTL="yes"
-ESCAPECHARS="no"
-PPPOPTIONS=""
-PAPNAME="$toreplace{papname}"
-REMIP=""
-NETMASK=""
-IPADDR=""
-MRU=""
-MTU=""
-DISCONNECTTIMEOUT="5"
-RETRYTIMEOUT="60"
-BOOTPROTO="none"
-PEERDNS="$toreplace{peerdns}"
-END
- foreach (1..2) {
- if ($toreplace{"dns$_"}) {
- print IFCFG <<END;
-DNS$_=$toreplace{"dns$_"}
-END
- }
- }
- close IFCFG;
-
- #- build chat-ppp0.
- my $chat = "$prefix/etc/sysconfig/network-scripts/chat-ppp0";
- local *CHAT; open CHAT, ">$chat" or die "Can't open $chat";
- print CHAT <<END;
-'ABORT' 'BUSY'
-'ABORT' 'ERROR'
-'ABORT' 'NO CARRIER'
-'ABORT' 'NO DIALTONE'
-'ABORT' 'Invalid Login'
-'ABORT' 'Login incorrect'
-'' 'ATZ'
-END
- if ($modem->{special_command}) {
- print CHAT <<END;
-'OK' '$modem->{special_command}'
-END
- }
- print CHAT <<END;
-'OK' 'ATDT$toreplace{phone}'
-'CONNECT' ''
-END
- if ($modem->{auth} eq 'Terminal-based' || $modem->{auth} eq 'Script-based') {
- print CHAT <<END;
-'ogin:--ogin:' '$toreplace{login}'
-'ord:' '$toreplace{passwd}'
-END
- }
- print CHAT <<END;
-'TIMEOUT' '5'
-'~--' ''
-END
- close CHAT;
- chmod 0600, $chat;
-
- if ($modem->{auth} eq 'PAP') {
- #- need to create a secrets file for the connection.
- my $secrets = "$prefix/etc/ppp/" . lc($modem->{auth}) . "-secrets";
- my @l = cat_($secrets);
- my $replaced = 0;
- do { $replaced ||= 1
- if s/^\s*"?$toreplace{login}"?\s+ppp0\s+(\S+)/"$toreplace{login}" ppp0 "$toreplace{passwd}"/; } foreach @l;
- if ($replaced) {
- local *F;
- open F, ">$secrets" or die "Can't open $secrets: $!";
- print F @l;
- } else {
- local *F;
- open F, ">>$secrets" or die "Can't open $secrets: $!";
- print F "$toreplace{login} ppp0 \"$toreplace{passwd}\"\n";
- }
- #- restore access right to secrets file, just in case.
- chmod 0600, $secrets;
- }
-
- #- install kppprc file according to used configuration.
- commands::mkdir_("-p", "$prefix/usr/share/config");
- local *KPPPRC;
- open KPPPRC, ">$prefix/usr/share/config/kppprc" or die "Can't open $prefix/usr/share/config/kppprc: $!";
- #chmod 0600, "$prefix/usr/share/config/kppprc";
- print KPPPRC <<END;
-# KDE Config File
-[Account0]
-ExDNSDisabled=0
-AutoName=0
-ScriptArguments=
-AccountingEnabled=0
-Phonenumber=$toreplace{phone}
-IPAddr=0.0.0.0
-Domain=$toreplace{domain}
-Name=$toreplace{connection}
-VolumeAccountingEnabled=0
-pppdArguments=
-Password=$toreplace{passwd}
-BeforeDisconnect=
-Command=
-ScriptCommands=
-Authentication=$toreplace{kpppauth}
-DNS=$toreplace{dnsserver}
-SubnetMask=0.0.0.0
-AccountingFile=
-DefaultRoute=1
-Username=$toreplace{login}
-Gateway=0.0.0.0
-StorePassword=1
-DisconnectCommand=
-[Modem]
-BusyWait=0
-Enter=CR
-FlowControl=CRTSCTS
-Volume=0
-Timeout=60
-UseCDLine=0
-UseLockFile=1
-Device=/dev/modem
-Speed=115200
-[Graph]
-InBytes=0,0,255
-Text=0,0,0
-Background=255,255,255
-Enabled=true
-OutBytes=255,0,0
-[General]
-QuitOnDisconnect=0
-ShowLogWindow=0
-DisconnectOnXServerExit=1
-DefaultAccount=$toreplace{connection}
-iconifyOnConnect=1
-Hint_QuickHelp=0
-AutomaticRedial=0
-PPPDebug=0
-NumberOfAccounts=1
-ShowClock=1
-DockIntoPanel=0
-pppdTimeout=30
-END
-
- miscellaneousNetwork($prefix);
-}
-
-sub miscellaneousNetwork {
- my ($prefix) = @_;
- setVarsInSh ("$prefix/etc/profile.d/proxy.sh", $::o->{miscellaneous}, qw(http_proxy ftp_proxy));
- setVarsInCsh("$prefix/etc/profile.d/proxy.csh", $::o->{miscellaneous}, qw(http_proxy ftp_proxy));
-}
-
-sub setup_thiskind {
- my ($in, $type, $auto, $at_least_one) = @_;
-
- my @l = setup_thiskind_backend ($type, $auto, $at_least_one, sub { my $w = wait_load_module($in, $type, @_); } );
-
- if (!$::noauto) {
- if (my @err = grep { $_ } map { $_->{error} } @l) {
- $in->ask_warn('', join("\n", @err));
- }
- return @l if $auto && (@l || !$at_least_one);
- }
- @l = map { $_->{description} } @l;
- while (1) {
- (my $msg_type = $type) =~ s/\|.*//;
- my $msg = @l ?
- [ _("Found %s %s interfaces", join(", ", @l), $msg_type),
- _("Do you have another one?") ] :
- _("Do you have any %s interfaces?", $msg_type);
-
- my $opt = [ __("Yes"), __("No") ];
- push @$opt, __("See hardware info") if $::expert;
- my $r = "Yes";
- $r = $in->ask_from_list_('', $msg, $opt, "No") || die 'already displayed' unless $at_least_one && @l == 0;
- if ($r eq "No") { return @l }
- if ($r eq "Yes") {
- push @l, load_module($in, $type) || next;
- } else {
- $in->ask_warn('', [ detect_devices::stringlist() ]);
- }
- }
-}
-
-# setup_thiskind_backend : setup the kind of hardware
-# input :
-# $type : typeof hardware to setup
-# $auto : automatic behaviour
-# $at_least_one :
-# output:
-# @l : list of loaded
-sub setup_thiskind_backend {
- my ($type, $auto, $at_least_one, $wait_function) = @_;
- #- for example $wait_function=sub { $w = wait_load_module($in, $type, @_) }
-
- my @l;
- if (!$::noauto) {
- @l = modules::load_thiskind($type, $wait_function );
- return @l;# sorry to be a sucker, pixel... :)
- }
-}
-
-sub wait_load_module {
- my ($in, $type, $text, $module) = @_;
-#-PO: the first %s is the card type (scsi, network, sound,...)
-#-PO: the second is the vendor+model name
- $in->wait_message('',
- [ _("Installing driver for %s card %s", $type, $text),
- if_($::expert, _("(module %s)", $module))
- ]);
-}
-
-sub load_module {
- my ($in, $type) = @_;
- my @options;
-
- (my $msg_type = $type) =~ s/\|.*//;
- my $m = $in->ask_from_listf('',
-#-PO: the %s is the driver type (scsi, network, sound,...)
- _("Which %s driver should I try?", $msg_type),
- \&modules::module2text,
- [ modules::module_of_type($type) ]) or return;
- my $l = modules::module2text($m);
- require modparm;
- my @names = modparm::get_options_name($m);
-
- if ((@names != 0) && $in->ask_from_list_('',
-_("In some cases, the %s driver needs to have extra information to work
-properly, although it normally works fine without. Would you like to specify
-extra options for it or allow the driver to probe your machine for the
-information it needs? Occasionally, probing will hang a computer, but it should
-not cause any damage.", $l),
- [ __("Autoprobe"), __("Specify options") ], "Autoprobe") ne "Autoprobe") {
- ASK:
- if (@names >= 0) {
- my @l = $in->ask_from_entries('',
-_("You may now provide its options to module %s.", $l),
- \@names) or return;
- @options = modparm::get_options_result($m, @l);
- } else {
- @options = split ' ',
- $in->ask_from_entry('',
-_("You may now provide its options to module %s.
-Options are in format ``name=value name2=value2 ...''.
-For instance, ``io=0x300 irq=7''", $l),
- _("Module options:"),
- );
- }
- }
- eval {
- my $w = wait_load_module($in, $type, $l, $m);
- log::l("user asked for loading module $m (type $type, desc $l)");
- modules::load($m, $type, @options);
- };
- if ($@) {
- $in->ask_yesorno('',
-_("Loading module %s failed.
-Do you want to try again with other parameters?", $l), 1) or return;
- goto ASK;
- }
- $l;
-}
-
-sub ask_users {
- my ($prefix, $in, $users, $security) = @_;
-
- my $u if 0; $u ||= {};
-
- my @shells = map { chomp; $_ } cat_("$prefix/etc/shells");
- my @icons = facesnames($prefix);
-
- while (1) {
- $u->{password2} ||= $u->{password} ||= '';
- $u->{shell} ||= '/bin/bash';
- my $names = @$users ? _("(already added %s)", join(", ", map { $_->{realname} || $_->{name} } @$users)) : '';
-
- my $verif = sub {
- $u->{password} eq $u->{password2} or $in->ask_warn('', [ _("The passwords do not match"), _("Please try again") ]), return (1,2);
- $security > 3 && length($u->{password}) < 6 and $in->ask_warn('', _("This password is too simple")), return (1,2);
- $u->{name} or $in->ask_warn('', _("Please give a user name")), return (1,0);
- $u->{name} =~ /^[a-z0-9_-]+$/ or $in->ask_warn('', _("The user name must contain only lower cased letters, numbers, `-' and `_'")), return (1,0);
- member($u->{name}, map { $_->{name} } @$users) and $in->ask_warn('', _("This user name is already added")), return (1,0);
- return 0;
- };
- my $ret = $in->ask_from_entries_refH_powered(
- { title => _("Add user"),
- messages => _("Enter a user\n%s", $names),
- ok => _("Accept user"),
- cancel => $security < 4 || @$users ? _("Done") : '',
- callbacks => {
- focus_out => sub {
- if ($_[0] eq 0) {
- $u->{name} ||= lc first($u->{realname} =~ /((\w|-)+)/);
- }
- },
- complete => $verif,
- canceled => sub { $u->{name} ? &$verif : 0; },
- } }, [
- { label => _("Real name"), val => \$u->{realname} },
- { label => _("User name"), val => \$u->{name} },
- { label => _("Password"),val => \$u->{password}, hidden => 1 },
- { label => _("Password (again)"), val => \$u->{password2}, hidden => 1 },
- { label => _("Shell"), val => \$u->{shell}, list => [ shells($prefix) ], not_edit => !$::expert, advanced => 1 },
- if_($security <= 3 && @icons,
- { label => _("Icon"), val => \$u->{icon}, list => \@icons, icon2f => sub { face2png($_[0], $prefix) }, format => \&translate },
- ),
- ],
- );
-
- push @$users, $u if $u->{name};
- $u = {};
- $ret or return;
- }
-}
-
-sub autologin {
- my ($prefix, $o, $in) = @_;
-
- my $cmd = $prefix ? "chroot $prefix" : "";
- my @wm = (split (' ', `$cmd /usr/sbin/chksession -l 2>/dev/null`));
- my @users = map { $_->{name} } @{$o->{users} || []};
-
- if (@wm && @users && !$o->{authentication}{NIS} && $o->{security} <= 2) {
- add2hash_($o, { autologin => $users[0] });
-
- $in->ask_from_entries_refH(_("Autologin"),
- _("I can set up your computer to automatically log on one user.
-If you don't want to use this feature, click on the cancel button."),
- [ { label => _("Choose the default user:"), val => \$o->{autologin}, list => [ '', @users ] },
- { label => _("Choose the window manager to run:"), val => \$o->{desktop}, list => \@wm }, ]) or delete $o->{autologin};
- }
-}
-
-sub write_passwd_user {
- my ($prefix, $u, $isMD5) = @_;
-
- local $u->{pw} = $u->{pw} || $u->{password} && &crypt($u->{password}, $isMD5);
- $u->{shell} ||= '/bin/bash';
-
- substInFile {
- my $l = unpack_passwd($_);
- if ($l->{name} eq $u->{name}) {
- add2hash_($u, $l);
- $_ = pack_passwd($u);
- $u = {};
- }
- if (eof && $u->{name}) {
- $_ .= pack_passwd($u);
- }
- } "$prefix/etc/passwd";
-}
-
-sub runlevel {
- my ($prefix, $runlevel) = @_;
- my $f = "$prefix/etc/inittab";
- -r $f or log::l("missing inittab!!!"), return;
- if ($runlevel) {
- substInFile { s/^id:\d:initdefault:\s*$/id:$runlevel:initdefault:\n/ } $f;
- } else {
- cat_($f) =~ /^id:(\d):initdefault:\s*$/ && $1;
- }
-}
-
-sub to_utf8 { c::iconv($_[0], $lang::charset || 'ISO-8859-1', "utf-8") }
-
-1;
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
deleted file mode 100644
index a7758e897..000000000
--- a/perl-install/bootloader.pm
+++ /dev/null
@@ -1,958 +0,0 @@
-package bootloader; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(%vga_modes);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :file :functional :system);
-use partition_table qw(:types);
-use log;
-use any;
-use fsedit;
-use devices;
-use loopback;
-use commands;
-use detect_devices;
-use partition_table_raw;
-use run_program;
-use modules;
-
-
-%vga_modes = (
- "Ask at boot" => 'ask',
- "Normal" => 'normal',
- "80x50" => '0x0f01',
- "80x43" => '0x0f02',
- "80x28" => '0x0f03',
- "80x30" => '0x0f04',
- "80x34" => '0x0f05',
- "80x60" => '0x0f06',
- "100x30" => '0x0122',
- "640x480 in 16 bits (FrameBuffer only)" => 785,
- "800x600 in 16 bits (FrameBuffer only)" => 788,
- "1024x768 in 16 bits (FrameBuffer only)" => 791,
- "1280x1024 in 16 bits (FrameBuffer only)" => 794,
-);
-
-my %vga_modes2nb = (
- 'ask' => -3,
- 'normal' => -1,
-#- other entries are identity
-);
-
-
-#-#####################################################################################
-#- Functions
-#-#####################################################################################
-
-sub get {
- my ($kernel, $bootloader) = @_;
- $_->{kernel_or_dev} && $_->{kernel_or_dev} eq $kernel and return $_ foreach @{$bootloader->{entries}};
- undef;
-}
-sub get_label {
- my ($label, $bootloader) = @_;
- $_->{label} && $_->{label} eq $label and return $_ foreach @{$bootloader->{entries}};
- undef;
-}
-
-sub mkinitrd($$$) {
- my ($prefix, $kernelVersion, $initrdImage) = @_;
-
- $::testing || -e "$prefix/$initrdImage" and return;
-
- my $loop_boot = loopback::prepare_boot($prefix);
-
- modules::load('loop');
- run_program::rooted($prefix, "mkinitrd", "-f", $initrdImage, "--ifneeded", $kernelVersion) or unlink("$prefix/$initrdImage");
-
- loopback::save_boot($loop_boot);
-
- -e "$prefix/$initrdImage" or die "mkinitrd failed";
-}
-
-sub mkbootdisk($$$;$) {
- my ($prefix, $kernelVersion, $dev, $append) = @_;
-
- modules::load_multi(arch() =~ /sparc/ ? 'romfs' : (), 'loop');
- my @l = qw(mkbootdisk --noprompt);
- push @l, "--appendargs", $append if $append;
- if ($dev =~ /fd/) {
- devices::make($dev . 'H1440');
- } else {
- push @l, "--bios", 0, if $dev !~ /fd/;
- }
- run_program::rooted_or_die($prefix, @l, "--device", "/dev/$dev", $kernelVersion);
-}
-
-sub read($$) {
- my ($prefix, $file) = @_;
- my $global = 1;
- my ($e, $v, $f);
- my %b;
- foreach (cat_("$prefix$file")) {
- ($_, $v) = /^\s*(.*?)\s*(?:=\s*(.*?))?\s*$/;
-
- if (/^(image|other)$/) {
- push @{$b{entries}}, $e = { type => $_, kernel_or_dev => $v };
- $global = 0;
- } elsif ($global) {
- $b{$_} = $v || 1;
- } else {
- if ((/map-drive/ .. /to/) && /to/) {
- $e->{mapdrive}{$e->{'map-drive'}} = $v;
- } else {
- $e->{$_} = $v || 1;
- }
- }
- }
- delete $b{timeout} unless $b{prompt};
- $_->{append} =~ s/^\s*"?(.*?)"?\s*$/$1/ foreach \%b, @{$b{entries}};
- $b{timeout} = $b{timeout} / 10 if $b{timeout};
- $b{message} = cat_("$prefix$b{message}") if $b{message};
- \%b;
-}
-
-sub suggest_onmbr ($) {
- my ($hds) = @_;
-
- my $type = partition_table_raw::typeOfMBR($hds->[0]{device});
- !$type || member($type, qw(dos dummy lilo grub empty)), !$type;
-}
-
-sub compare_entries ($$) {
- my ($a, $b) = @_;
- my %entries;
-
- @entries{keys %$a, keys %$b} = ();
- $a->{$_} eq $b->{$_} and delete $entries{$_} foreach keys %entries;
- scalar keys %entries;
-}
-
-sub add_entry($$) {
- my ($entries, $v) = @_;
- my (%usedold, $freeold);
-
- do { $usedold{$1 || 0} = 1 if $_->{label} =~ /^old ([^_]*)_/x } foreach @$entries;
- foreach (0..scalar keys %usedold) { exists $usedold{$_} or $freeold = $_ || '', last }
-
- foreach (@$entries) {
- if ($_->{label} eq $v->{label}) {
- compare_entries($_, $v) or return; #- avoid inserting it twice as another entry already exists !
- $_->{label} = "old${freeold}_$_->{label}";
- }
- }
- push @$entries, $v;
-}
-
-sub add_kernel($$$$$) {
- my ($prefix, $lilo, $kernelVersion, $specific, $v) = @_;
- my $ext = $specific && "-$specific"; $specific =~ s/\d+\.\d+|hack//;
- my $kname = arch() =~ /ppc/ ? "vmlinux" : "vmlinuz";
- my ($vmlinuz, $image, $initrdImage) = ("$kname-$kernelVersion$specific", "/boot/$kname$ext", "/boot/initrd$ext.img");
- -e "$prefix/boot/$vmlinuz" or log::l("unable to find kernel image $prefix/boot/$vmlinuz"), return;
- {
- my $f = "initrd-$kernelVersion$specific.img";
- eval { mkinitrd($prefix, "$kernelVersion$specific", "/boot/$f") };
- undef $initrdImage if $@;
- symlinkf $f, "$prefix$initrdImage" or $initrdImage = "/boot/$f"
- if $initrdImage;
- }
- symlinkf "$vmlinuz", "$prefix/$image" or $image = "/boot/$vmlinuz";
- add2hash($v,
- {
- type => 'image',
- label => 'linux',
- kernel_or_dev => $image,
- initrd => $initrdImage,
- append => $lilo->{perImageAppend},
- });
- add_entry($lilo->{entries}, $v);
- $v;
-}
-
-sub get_append {
- my ($b, $key) = @_;
- ($b->{perImageAppend} =~ /\b$key=(\S*)/)[0];
-}
-sub add_append {
- my ($b, $key, $val) = @_;
-
- foreach ({ append => $b->{perImageAppend} }, @{$b->{entries}}) {
- $_->{append} =~ s/\b$key=\S*\s*//;
- $_->{append} =~ s/\s*$/ $key=$val)/ if $val;
- }
-}
-
-sub configure_entry($$) {
- my ($prefix, $entry) = @_;
- if ($entry->{type} eq 'image') {
- my $specific_version;
- $entry->{kernel_or_dev} =~ /vmlinu.-(.*)/ and $specific_version = $1;
- readlink("$prefix/$entry->{kernel_or_dev}") =~ /vmlinu.-(.*)/ and $specific_version = $1;
-
- if ($specific_version) {
- $entry->{initrd} or $entry->{initrd} = "/boot/initrd-$specific_version.img";
- unless (-e "$prefix/$entry->{initrd}") {
- eval { mkinitrd($prefix, $specific_version, "$entry->{initrd}") };
- undef $entry->{initrd} if $@;
- }
- }
- }
- $entry;
-}
-
-sub dev2prompath { #- SPARC only
- my ($dev) = @_;
- my ($wd, $num) = $dev =~ /^(.*\D)(\d*)$/;
- require c;
- $dev = c::disk2PromPath($wd) and $dev = $dev =~ /^sd\(/ ? "$dev$num" : "$dev;$num";
- $dev;
-}
-
-sub suggest {
- my ($prefix, $lilo, $hds, $fstab, $kernelVersion, $vga_fb) = @_;
- my $root_part = fsedit::get_root($fstab);
- my $root = isLoopback($root_part) ? "loop7" : $root_part->{device};
- my $boot = fsedit::get_root($fstab, 'boot')->{device};
- my $partition = first($boot =~ /\D*(\d*)/);
-
- require c; c::initSilo() if arch() =~ /sparc/;
-
- my ($onmbr, $unsafe) = $lilo->{crushMbr} ? (1, 0) : suggest_onmbr($hds);
- add2hash_($lilo, arch() =~ /sparc/ ?
- {
- default => "linux",
- entries => [],
- timeout => 5,
- use_partition => 0, #- we should almost always have a whole disk partition.
- root => "/dev/$root",
- partition => $partition || 1,
- boot => $root eq $boot && "/boot", #- this helps for getting default partition for silo.
- } : arch =~ /ppc/ ?
- {
- defaultos => "linux",
- default => "linux",
- entries => [],
- initmsg => "Welcome to Mandrake Linux!",
- delay => 30, #- OpenFirmware delay
- timeout => 50,
- enableofboot => 1,
- enablecdboot => 1,
- } :
- {
- boot => "/dev/" . ($onmbr ? $hds->[0]{device} : fsedit::get_root($fstab, 'boot')->{device}),
- bootUnsafe => $unsafe,
- map => "/boot/map",
- default => "linux",
- lba32 => 1,
- entries => [],
- timeout => $onmbr && 5,
- install => "/boot/boot.b",
- });
-
- if (!$lilo->{message} || $lilo->{message} eq "1") {
- $lilo->{message} = join('', cat_("$prefix/boot/message"));
- if (!$lilo->{message}) {
- my $msg_en =
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-__("Welcome to %s the operating system chooser!
-
-Choose an operating system in the list above or
-wait %d seconds for default boot.
-
-");
- my $msg = translate($msg_en);
- #- use the english version if more than 20% of 8bits chars
- $msg = $msg_en if int(grep { $_ & 0x80 } unpack "c*", $msg) / length($msg) > 0.2;
- $lilo->{message} = sprintf $msg, arch() =~ /sparc/ ? "SILO" : "LILO", $lilo->{timeout};
- }
- }
-
-
- add2hash_($lilo, { getVarsFromSh("$prefix/etc/sysconfig/system") }); #- for CLEAN_TMP
- add2hash_($lilo, { memsize => $1 }) if cat_("/proc/cmdline") =~ /mem=(\S+)/;
-
- my $isSecure = -e "$prefix/boot/vmlinuz-${kernelVersion}secure";
-
- my $isSMP = detect_devices::hasSMP();
- if ($isSMP && !-e "$prefix/boot/vmlinuz-${kernelVersion}smp") {
- log::l("SMP machine, but no SMP kernel found") unless $isSecure;
- $isSMP = 0;
- }
- my $entry = add_kernel($prefix, $lilo, $kernelVersion, $isSecure ? 'secure' : $isSMP ? 'smp' : '',
- {
- label => 'linux',
- root => "/dev/$root",
- if_($vga_fb, vga => $vga_fb), #- using framebuffer
- });
- add_kernel($prefix, $lilo, $kernelVersion, '',
- {
- label => $isSecure || $isSMP ? 'linux-up' : 'linux-nonfb',
- root => "/dev/$root",
- }) if $isSecure || $isSMP || $vga_fb;
- my $failsafe = add_kernel($prefix, $lilo, $kernelVersion, '',
- {
- label => 'failsafe',
- root => "/dev/$root",
- });
- $entry->{append} .= " quiet" if $vga_fb;
- $failsafe->{append} .= " failsafe" if $failsafe && !$lilo->{password};
-
- #- manage older kernel if installed.
- foreach (qw(2.2 hack)) {
- my $hasOld = -e "$prefix/boot/vmlinuz-$_";
- if ($hasOld) {
- my $oldVersion = first(readlink("$prefix/boot/vmlinuz-$_") =~ /vmlinuz-(.*mdk)/);
- my $oldSecure = -e "$prefix/boot/vmlinuz-${_}secure";
- my $oldSMP = $isSMP && -e "$prefix/boot/vmlinuz-${_}smp";
-
- add_kernel($prefix, $lilo, $oldVersion, $oldSecure ? "${_}secure" : $oldSMP ? "${_}smp" : $_,
- {
- label => "linux-$_",
- root => "/dev/$root",
- $vga_fb ? ( vga => $vga_fb) : (), #- using framebuffer
- });
- add_kernel($prefix, $lilo, $oldVersion, $_,
- {
- label => $oldSecure || $oldSMP ? "linux-${_}up" : "linux-${_}nonfb",
- root => "/dev/$root",
- }) if $oldSecure || $oldSMP || $vga_fb;
- my $entry = add_kernel($prefix, $lilo, $oldVersion, $_,
- {
- label => "failsafe-$_",
- root => "/dev/$root",
- });
- $entry->{append} .= " failsafe" if $entry && !$lilo->{password};
- }
- }
-
- if (arch() =~ /sparc/) {
- #- search for SunOS, it could be a really better approach to take into account
- #- partition type for mounting point.
- my $sunos = 0;
- foreach (@$hds) {
- foreach (@{$_->{primary}{normal}}) {
- my $path = $_->{device} =~ m|^/| && $_->{device} !~ m|^/dev/| ? $_->{device} : dev2prompath($_->{device});
- add_entry($lilo->{entries},
- {
- type => 'other',
- kernel_or_dev => $path,
- label => "sunos" . ($sunos++ ? $sunos : ''),
- }) if $path && isSunOS($_) && type2name($_->{type}) =~ /root/i;
- }
- }
- } elsif (arch() =~ /ppc/) {
- #- if we identified a MacOS partition earlier - add it
- if (defined $partition_table_mac'macos_part) {
- add_entry($lilo->{entries},
- {
- label => "macos",
- kernel_or_dev => $partition_table_mac'macos_part
- });
- }
- } else {
- #- search for dos (or windows) boot partition. Don't look in extended partitions!
- my %nbs;
- foreach (@$hds) {
- foreach (@{$_->{primary}{normal}}) {
- my $label = isNT($_) ? 'NT' : isDos($_) ? 'dos' : 'windows';
- add_entry($lilo->{entries},
- {
- type => 'other',
- kernel_or_dev => "/dev/$_->{device}",
- label => $label . ($nbs{$label}++ ? $nbs{$label} : ''),
- table => "/dev/$_->{rootDevice}",
- unsafe => 1
- }) if isNT($_) || isFat($_) && isFat({ type => fsedit::typeOfPart($_->{device}) });
- }
- }
- }
- my %l = (
- yaboot => bool(arch() =~ /ppc/),
- silo => bool(arch() =~ /sparc/),
- lilo => bool(arch() !~ /sparc|ppc/) && !isLoopback(fsedit::get_root($fstab)),
- grub => bool(arch() !~ /sparc|ppc/ && availableRamMB() < 800), #- don't use grub if more than 800MB
- loadlin => bool(arch() !~ /sparc|ppc/) && -e "/initrd/loopfs/lnx4win",
- );
- unless ($lilo->{methods}) {
- $lilo->{methods} ||= { map { $_ => 1 } grep { $l{$_} } keys %l };
- if ($lilo->{methods}{lilo} && -e "$prefix/boot/lilo-graphic") {
- $lilo->{methods}{lilo} = "lilo-graphic";
- exists $lilo->{methods}{grub} and $lilo->{methods}{grub} = undef;
- }
- }
-}
-
-sub suggest_floppy {
- my ($bootloader) = @_;
-
- my $floppy = detect_devices::floppy() or return;
- $floppy eq 'fd0' or log::l("suggest_floppy: not adding $floppy"), return;
-
- add_entry($bootloader->{entries},
- {
- type => 'other',
- kernel_or_dev => '/dev/fd0',
- label => 'floppy',
- unsafe => 1
- });
-}
-
-sub keytable($$) {
- my ($prefix, $f) = @_;
- local $_ = $f;
- if ($_ && !/\.klt$/) {
- $f = "/boot/$_.klt";
- run_program::rooted($prefix, "keytab-lilo.pl", ">", $f, $_) or undef $f;
- }
- $f && -r "$prefix/$f" && $f;
-}
-
-sub has_profiles { bool(get_label("office", $b)) }
-sub set_profiles {
- my ($b, $want_profiles) = @_;
-
- my $office = get_label("office", $b);
- if ($want_profiles xor $office) {
- my $e = get_label("linux", $b);
- if ($want_profiles) {
- push @{$b->{entries}}, { %$e, label => "office", append => "$e->{append} prof=Office" };
- $e->{append} .= " prof=Home";
- } else {
- # remove profiles
- $e->{append} =~ s/\s*prof=\w+//;
- @{$b->{entries}} = grep { $_ != $office } @{$b->{entries}};
- }
- }
-
-}
-
-sub get_of_dev($$) {
- my ($prefix, $unix_dev) = @_;
- #- don't care much for this - need to run ofpath rooted, and I need the result
- #- In test mode, just run on "/", otherwise you can't get to the /proc files
- if ($::testing) {
- $prefix = "";
- }
- run_program::rooted_or_die($prefix, "/usr/local/sbin/ofpath $unix_dev", ">", "/tmp/ofpath");
- open(FILE, "$prefix/tmp/ofpath") || die "Can't open $prefix/tmp/ofpath";
- my $of_dev = "";
- local $_ = "";
- while (<FILE>){
- $of_dev = $_;
- }
- chop($of_dev);
- my @del_file = ($prefix . "/tmp/ofpath");
- unlink (@del_file);
- log::l("OF Device: $of_dev");
- $of_dev;
-}
-
-sub install_yaboot($$$) {
- my ($prefix, $lilo) = @_;
- $lilo->{prompt} = $lilo->{timeout};
-
- if ($lilo->{message}) {
- local *F;
- open F, ">$prefix/boot/message" and print F $lilo->{message} or $lilo->{message} = 0;
- }
- {
- local *F;
- local $\ = "\n";
- my $f = "$prefix/etc/yaboot.conf";
- open F, ">$f" or die "cannot create yaboot config file: $f";
- log::l("writing yaboot config to $f");
-
- print F "#yaboot.conf - generated by DrakX";
- print F "init-message=\"\\n$lilo->{initmsg}\\n\"" if $lilo->{initmsg};
-
- if ($lilo->{boot}) {
- print F "boot=$lilo->{boot}";
- my $of_dev = get_of_dev($prefix, $lilo->{boot});
- print F "ofboot=$of_dev";
- } else {
- die "no bootstrap partition defined."
- }
-
- $lilo->{$_} and print F "$_=$lilo->{$_}" foreach qw(delay timeout);
- print F "install=/usr/local/lib/yaboot/yaboot";
- print F "magicboot=/usr/local/lib/yaboot/ofboot";
- $lilo->{$_} and print F $_ foreach qw(enablecdboot enableofboot);
- $lilo->{$_} and print F "$_=$lilo->{$_}" foreach qw(defaultos default);
- print F "nonvram";
-
- foreach (@{$lilo->{entries}}) {
-
- if ($_->{type} eq "image") {
- my $of_dev = get_of_dev($prefix, $_->{root});
- print F "$_->{type}=$of_dev,$_->{kernel_or_dev}";
- print F "\tlabel=", substr($_->{label}, 0, 15); #- lilo doesn't handle more than 15 char long labels
- print F "\troot=$_->{root}";
- print F "\tinitrd=$of_dev,$_->{initrd}" if $_->{initrd};
- print F "\tappend=\"$_->{append}\"" if $_->{append};
- print F "\tread-write" if $_->{'read-write'};
- print F "\tread-only" if !$_->{'read-write'};
- } else {
- my $of_dev = get_of_dev($prefix, $_->{kernel_or_dev});
- print F "$_->{label}=$of_dev";
- }
- }
- }
- log::l("Installing boot loader...");
- my $f = "$prefix/tmp/of_boot_dev";
- my $of_dev = get_of_dev($prefix, $lilo->{boot});
- output($f, "$of_dev\n");
- $::testing and return;
- if (defined $install_steps_interactive::new_bootstrap) {
- run_program::run("hformat", "$lilo->{boot}") or die "hformat failed";
- }
- run_program::rooted($prefix, "/sbin/ybin", "2>", "/tmp/.error") or die "ybin failed";
- unlink "$prefix/tmp/.error";
-}
-
-sub install_silo($$$) {
- my ($prefix, $silo, $fstab) = @_;
- my $boot = fsedit::get_root($fstab, 'boot')->{device};
- my ($wd, $num) = $boot =~ /^(.*\D)(\d*)$/;
-
- #- setup boot promvars for.
- require c;
- if ($boot =~ /^md/) {
- #- get all mbr devices according to /boot are listed,
- #- then join all zero based partition translated to prom with ';'.
- #- keep bootdev with the first of above.
- log::l("/boot is present on raid partition which is not currently supported for promvars");
- } else {
- if (!$silo->{use_partition}) {
- foreach (@$fstab) {
- if (!$_->{start} && $_->{device} =~ /$wd/) {
- $boot = $_->{device};
- log::l("found a zero based partition in $wd as $boot");
- last;
- }
- }
- }
- $silo->{bootalias} = c::disk2PromPath($boot);
- $silo->{bootdev} = $silo->{bootalias};
- log::l("preparing promvars for device=$boot");
- }
- c::hasAliases() or log::l("clearing promvars alias as non supported"), $silo->{bootalias} = '';
-
- if ($silo->{message}) {
- local *F;
- open F, ">$prefix/boot/message" and print F $silo->{message} or $silo->{message} = 0;
- }
- {
- local *F;
- local $\ = "\n";
- my $f = "$prefix/boot/silo.conf"; #- always write the silo.conf file in /boot ...
- symlinkf "../boot/silo.conf", "$prefix/etc/silo.conf"; #- ... and make a symlink from /etc.
- open F, ">$f" or die "cannot create silo config file: $f";
- log::l("writing silo config to $f");
-
- $silo->{$_} and print F "$_=$silo->{$_}" foreach qw(partition root default append);
- $silo->{$_} and print F $_ foreach qw(restricted);
- #- print F "password=", $silo->{password} if $silo->{restricted} && $silo->{password}; #- done by msec
- print F "timeout=", round(10 * $silo->{timeout}) if $silo->{timeout};
- print F "message=$silo->{boot}/message" if $silo->{message};
-
- foreach (@{$silo->{entries}}) {#my ($v, $e) = each %{$silo->{entries}}) {
- my $type = "$_->{type}=$_->{kernel_or_dev}"; $type =~ s|/boot|$silo->{boot}|;
- print F $type;
- print F "\tlabel=$_->{label}";
-
- if ($_->{type} eq "image") {
- my $initrd = $_->{initrd}; $initrd =~ s|/boot|$silo->{boot}|;
- print F "\tpartition=$_->{partition}" if $_->{partition};
- print F "\troot=$_->{root}" if $_->{root};
- print F "\tinitrd=$initrd" if $_->{initrd};
- print F "\tappend=\"$1\"" if $_->{append} =~ /^\s*"?(.*?)"?\s*$/;
- print F "\tread-write" if $_->{'read-write'};
- print F "\tread-only" if !$_->{'read-write'};
- }
- }
- }
- log::l("Installing boot loader...");
- $::testing and return;
- run_program::rooted($prefix, "silo", "2>", "/tmp/.error", $silo->{use_partition} ? ("-t") : ()) or
- run_program::rooted($prefix, "silo", "2>", "/tmp/.error", "-p", "2", $silo->{use_partition} ? ("-t") : ()) or
- die "silo failed";
- unlink "$prefix/tmp/.error";
-
- #- try writing in the prom.
- log::l("setting promvars alias=$silo->{bootalias} bootdev=$silo->{bootdev}");
- require c;
- c::setPromVars($silo->{bootalias}, $silo->{bootdev});
-}
-
-sub install_lilo ($$) {
- my ($prefix, $lilo, $fstab, $hds) = @_;
- $lilo->{prompt} = $lilo->{timeout};
-
- #- try to use a specific stage2 if defined and present.
- -e "$prefix/boot/$lilo->{methods}{lilo}" and symlinkf $lilo->{methods}{lilo}, "$prefix/boot/lilo";
- log::l("stage2 of lilo used is " . readlink "$prefix/boot/lilo");
-
- if ($lilo->{methods}{lilo} eq "lilo-graphic") {
- -e "$prefix/boot/$lilo->{methods}{lilo}/message" and symlinkf "$lilo->{methods}{lilo}/message", "$prefix/boot/message";
- } else {
- -e "$prefix/boot/message" and unlink "$prefix/boot/message";
- print "-->$prefix/boot/messag<--\n";
-
- my $msg_en =
- #-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-__("Welcome to %s the operating system chooser!
-
-Choose an operating system in the list above or
-wait %d seconds for default boot.
-
-");
- my $msg = translate($msg_en);
- #- use the english version if more than 20% of 8bits chars
- $msg = $msg_en if int(grep { $_ & 0x80 } unpack "c*", $msg) / length($msg) > 0.2;
- $msg = sprintf $msg, arch() =~ /sparc/ ? "SILO" : "LILO", $lilo->{timeout};
- local *F;
- open F, ">$prefix/boot/message" and print F $msg;
- }
- {
- local *F;
- local $\ = "\n";
- my $f = "$prefix/etc/lilo.conf";
- open F, ">$f" or die "cannot create lilo config file: $f";
- log::l("writing lilo config to $f");
-
- $lilo->{$_} and print F "$_=$lilo->{$_}" foreach qw(boot map install vga default append keytable);
- $lilo->{$_} and print F $_ foreach qw(linear lba32 compact prompt restricted);
- #- print F "password=", $lilo->{password} if $lilo->{restricted} && $lilo->{password}; #- done by msec
- print F "timeout=", round(10 * $lilo->{timeout}) if $lilo->{timeout};
-
- my $dev = $hds->[0]{device};
- my %dev2bios = map_index { $_ => $::i } dev2bios($hds, $lilo->{boot});
- if ($dev2bios{$dev}) {
- my %bios2dev = reverse %dev2bios;
- print F "disk=/dev/$bios2dev{0} bios=0x80";
- printf F "disk=/dev/$dev bios=0x%x", 0x80 + $dev2bios{$dev};
- } elsif ($dev =~ /hd[bde]/) {
- print F "disk=/dev/$dev bios=0x80";
- }
-
- print F "message=/boot/message";
- print F "menu-scheme=wb:bw:wb:bw";
-
- foreach (@{$lilo->{entries}}) {
- print F "$_->{type}=$_->{kernel_or_dev}";
- my $label = substr($_->{label}, 0, 15); #- lilo doesn't handle more than 15 char long labels
- $label =~ s/\s/_/g; #- lilo doesn't like spaces
- print F "\tlabel=$label";
-
- if ($_->{type} eq "image") {
- print F "\troot=$_->{root}";
- print F "\tinitrd=$_->{initrd}" if $_->{initrd};
- print F "\tappend=\"$_->{append}\"" if $_->{append};
- print F "\tvga=$_->{vga}" if $_->{vga};
- print F "\tread-write" if $_->{'read-write'};
- print F "\tread-only" if !$_->{'read-write'};
- } else {
- print F "\ttable=$_->{table}" if $_->{table};
- print F "\tunsafe" if $_->{unsafe} && !$_->{table};
-
- if (my ($dev) = $_->{table} =~ m|/dev/(.*)|) {
- if ($dev2bios{$dev}) {
- #- boot off the nth drive, so reverse the BIOS maps
- my $nb = sprintf("0x%x", 0x80 + $dev2bios{$dev});
- $_->{mapdrive} ||= { '0x80' => $nb, $nb => '0x80' };
- }
- }
- while (my ($from, $to) = each %{$_->{mapdrive} || {}}) {
- print F "\tmap-drive=$from";
- print F "\t to=$to";
- }
- }
- }
- }
-
- log::l("Installing boot loader...");
- $::testing and return;
- run_program::rooted_or_die($prefix, "lilo", "2>", "/tmp/.error");
- unlink "$prefix/tmp/.error";
-}
-
-sub dev2bios {
- my ($hds, $where) = @_;
- my @dev = map { $_->{device} } @$hds;
- member($where, @dev) or ($where) = @dev; #- if not on mbr,
-
- s/h(d[e-g])/x$1/ foreach $where, @dev; #- emulates ultra66 as xd_
-
- my $start = substr($where, 0, 2);
-
- my $translate = sub {
- $_ eq $where ? "aaa" : #- if exact match, value it first
- /^$start(.*)/ ? "ad$1" : #- if same class (ide/scsi/ultra66), value it before other classes
- $_;
- };
- @dev = map { $_->[0] }
- sort { $a->[1] cmp $b->[1] }
- map { [ $_, &$translate ] } @dev;
-
- s/x(d.)/h$1/ foreach @dev; #- switch back;
-
- @dev;
-}
-
-sub dev2grub {
- my ($dev, $dev2bios) = @_;
- $dev =~ m|^(/dev/)?(...)(.*)$| or die "dev2grub (bad device $dev), caller is " . join(":", caller());
- my $grub = $dev2bios->{$2} or die "dev2grub ($2)";
- "($grub" . ($3 && "," . ($3 - 1)) . ")";
-}
-
-sub install_grub {
- my ($prefix, $lilo, $fstab, $hds) = @_;
- my %dev2bios = (
- (map_index { $_ => "fd$::i" } detect_devices::floppies()),
- (map_index { $_ => "hd$::i" } dev2bios($hds, $lilo->{boot})),
- );
-
- {
- my %bios2dev = reverse %dev2bios;
- output "$prefix/boot/grub/device.map",
- join '', map { "($_) /dev/$bios2dev{$_}\n" } sort keys %bios2dev;
- }
- my $bootIsReiser = isReiserfs(fsedit::get_root($fstab, 'boot'));
- my $file2grub = sub {
- my $file = expand_symlinks "$prefix$_[0]"; #- grub in reiserfs doesn't handle symlinks.
- unless ($file =~ s/^$prefix//) {
- my ($fs) = grep { loopback::carryRootLoopback($_) } @$fstab or die;
- log::l("found $fs->{mntpoint}");
- $file =~ s|/initrd/loopfs|$fs->{mntpoint}|;
- }
- my ($fs);
- foreach (@$fstab) {
- my $m = $_->{mntpoint};
- $fs = $_ if
- $file =~ /^$m/ &&
- (!$fs || length $fs->{mntpoint} < length $m);
- }
- $fs or die "file2grub not found $file";
- $file =~ s|$fs->{mntpoint}/?|/|;
- dev2grub($fs->{device}, \%dev2bios) . $file;
- };
- {
- local *F;
- local $\ = "\n";
- my $f = "$prefix/boot/grub/menu.lst";
- open F, ">$f" or die "cannot create grub config file: $f";
- log::l("writing grub config to $f");
-
- $lilo->{$_} and print F "$_ $lilo->{$_}" foreach qw(timeout);
-
- print F "color black/cyan yellow/cyan";
- print F "i18n ", $file2grub->("/boot/grub/messages");
- print F "keytable ", $file2grub->($lilo->{keytable}) if $lilo->{keytable};
- #- since we use notail in reiserfs, altconfigfile is broken :-(
- unless ($bootIsReiser) {
- print F "altconfigfile ", $file2grub->(my $once = "/boot/grub/menu.once");
- output "$prefix$once", " " x 100;
- }
-
- map_index {
- print F "default $::i" if $_->{label} eq $lilo->{default};
- } @{$lilo->{entries}};
-
- foreach (@{$lilo->{entries}}) {
- print F "\ntitle $_->{label}";
-
- if ($_->{type} eq "image") {
- my $vga = $_->{vga} || $lilo->{vga};
- printf F "kernel %s root=%s %s%s%s\n",
- $file2grub->($_->{kernel_or_dev}),
- $_->{root} =~ /loop7/ ? "707" : $_->{root}, #- special to workaround bug in kernel (see #ifdef CONFIG_BLK_DEV_LOOP)
- $_->{append},
- $_->{'read-write'} && " rw",
- $vga && $vga ne "normal" && " vga=$vga";
- print F "initrd ", $file2grub->($_->{initrd}) if $_->{initrd};
- } else {
- print F "root ", dev2grub($_->{kernel_or_dev}, \%dev2bios);
- if ($_->{kernel_or_dev} !~ /fd/) {
- #- boot off the second drive, so reverse the BIOS maps
- $_->{mapdrive} ||= { '0x80' => '0x81', '0x81' => '0x80' }
- if $_->{table} && $lilo->{boot} !~ /$_->{table}/;
-
- map_each { print F "map ($::b) ($::a)" } %{$_->{mapdrive} || {}};
-
- print F "makeactive";
- }
- print F "chainloader +1";
- }
- }
- }
- my $hd = fsedit::get_root($fstab, 'boot')->{rootDevice};
-
- my $dev = dev2grub($lilo->{boot}, \%dev2bios);
- my ($s1, $s2, $m) = map { $file2grub->("/boot/grub/$_") } qw(stage1 stage2 menu.lst);
- my $f = "/boot/grub/install.sh";
- output "$prefix$f",
-"grub --device-map=/boot/grub/device.map --batch <<EOF
-install $s1 d $dev $s2 p $m
-quit
-EOF
-";
-
- output "$prefix/boot/grub/messages", map { substr(translate($_) . "\n", 0, 78) } ( #- ensure the translated messages are not too big the hard way
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-__("Welcome to GRUB the operating system chooser!"),
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-__("Use the %c and %c keys for selecting which entry is highlighted."),
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-__("Press enter to boot the selected OS, \'e\' to edit the"),
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-__("commands before booting, or \'c\' for a command-line."),
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-__("The highlighted entry will be booted automatically in %d seconds."),
-);
-
- my $e = "$prefix/boot/.enough_space";
- output $e, 1; -s $e or die _("not enough room in /boot");
- unlink $e;
-
- log::l("Installing boot loader...");
- $::testing and return;
- symlink "$prefix/boot", "/boot";
- run_program::run("sh", $f) or die "grub installation failed";
- unlink "$prefix/tmp/.error.grub", "/boot";
-}
-
-sub lnx4win_file {
- my $lilo = shift;
- map { local $_ = $_; s,/,\\,g; "$lilo->{boot_drive}:\\lnx4win$_" } @_;
-}
-
-sub loadlin_cmd {
- my ($prefix, $lilo) = @_;
- my $e = get_label("linux", $lilo) || first(grep { $_->{type} eq "image" } @{$lilo->{entries}});
-
- commands::cp("$prefix$e->{kernel_or_dev}", "$prefix/boot/vmlinuz") unless -e "$prefix/boot/vmlinuz";
- commands::cp("$prefix$e->{initrd}", "$prefix/boot/initrd.img") unless -e "$prefix/boot/initrd.img";
-
- $e->{label}, sprintf"%s %s initrd=%s root=%s $e->{append}",
- lnx4win_file($lilo, "/loadlin.exe", "/boot/vmlinuz", "/boot/initrd.img"),
- $e->{root} =~ /loop7/ ? "0707" : $e->{root}; #- special to workaround bug in kernel (see #ifdef CONFIG_BLK_DEV_LOOP)
-}
-
-sub install_loadlin {
- my ($prefix, $lilo, $fstab) = @_;
-
- my $boot;
- ($boot) = grep { $lilo->{boot} eq "/dev/$_->{device}" } @$fstab;
- ($boot) = grep { loopback::carryRootLoopback($_) } @$fstab unless $boot && $boot->{device_windobe};
- ($boot) = grep { isFat($_) } @$fstab unless $boot && $boot->{device_windobe};
- log::l("loadlin device is $boot->{device} (windobe $boot->{device_windobe})");
- $lilo->{boot_drive} = $boot->{device_windobe};
-
- my ($winpart) = grep { $_->{device_windobe} eq 'C' } @$fstab;
- log::l("winpart is $winpart->{device}");
- my $winhandle = any::inspect($winpart, $prefix, 'rw');
- my $windrive = $winhandle->{dir};
- log::l("windrive is $windrive");
-
- my ($label, $cmd) = loadlin_cmd($prefix, $lilo);
-
- #install_loadlin_config_sys($lilo, $windrive, $label, $cmd);
- #install_loadlin_desktop($lilo, $windrive);
-
- output "/initrd/loopfs/lnx4win/linux.bat", unix2dos(
-'@echo off
-echo Linux Mandrake
-smartdrv /C
-' . "$cmd\n");
-
-}
-
-sub install_loadlin_config_sys {
- my ($lilo, $windrive, $label, $cmd) = @_;
-
- my $config_sys = "$windrive/config.sys";
- local $_ = cat_($config_sys);
- output "$windrive/config.mdk", $_ if $_;
-
- my $timeout = $lilo->{timeout} || 1;
-
- $_ = "
-[Menu]
-menuitem=Windows
-menudefault=Windows,$timeout
-
-[Windows]
-" . $_ if !/^\Q[Menu]/m;
-
- #- remove existing entry
- s/^menuitem=$label\s*//mi;
- s/\n\[$label\].*?(\n\[|$)/$1/si;
-
- #- add entry
- s/(.*\nmenuitem=[^\n]*)/$1\nmenuitem=$label/s;
-
- $_ .= "
-[$label]
-shell=$cmd
-";
- output $config_sys, unix2dos($_);
-}
-
-sub install_loadlin_desktop {
- my ($lilo, $windrive) = @_;
- my $windir = lc(cat_("$windrive/msdos.sys") =~ /^WinDir=.:\\(\S+)/m ? $1 : "windows");
-
-#-PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#-PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
- foreach (__("Desktop"),
-#-PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
- __("Start Menu")) {
- my $d = "$windrive/$windir/" . translate($_);
- -d $d or $d = "$windrive/$windir/$_";
- -d $d or log::l("can't find windows $d directory"), next;
- output "$d/Linux4Win.url", unix2dos(sprintf
-q([InternetShortcut]
-URL=file:\lnx4win\lnx4win.exe
-WorkingDirectory=%s
-IconFile=%s
-IconIndex=0
-), lnx4win_file($lilo, "/", "/lnx4win.ico"));
- }
-}
-
-
-sub install {
- my ($prefix, $lilo, $fstab, $hds) = @_;
-
- {
- my $f = "$prefix/etc/sysconfig/system";
- setVarsInSh($f, add2hash_({ CLEAN_TMP => $lilo->{CLEAN_TMP} }, { getVarsFromSh($f) }));
- }
- $lilo->{keytable} = keytable($prefix, $lilo->{keytable});
-
- my %l = grep_each { $::b } %{$lilo->{methods}};
- my @rcs = map {
- my $f = $bootloader::{"install_$_"} or die "unknown bootloader method $_";
- eval { $f->(@_) };
- $@;
- } reverse sort keys %l; #- reverse sort for having grub installed after lilo if both are there.
-
- return if grep { !$_ } @rcs; #- at least one worked?
- die first(map { $_ } @rcs);
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
diff --git a/perl-install/bootlook.pm b/perl-install/bootlook.pm
deleted file mode 100644
index cf88e7cda..000000000
--- a/perl-install/bootlook.pm
+++ /dev/null
@@ -1,463 +0,0 @@
-#!/usr/bin/perl -w
-
-# Control-center
-
-# Copyright (C) 2001 MandrakeSoft
-# Yves Duret <yduret at mandrakesoft.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-use Gtk;
-use Config;
-init Gtk;
-use POSIX;
-use lib qw(/usr/lib/libDrakX);
-use interactive;
-use standalone;
-use common qw(:common :file :functional :system);
-use my_gtk qw(:helpers :wrappers);
-use any;
-use bootloader;
-use fs;
-
-$::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~/--embedded (\S*) (\S*)/;
-if ($::isEmbedded) {
- print "EMBED\n";
- print "XID : $::XID\n";
- print "CCPID : $::CCPID\n";
-}
-
-my $in = interactive::vnew('su');
-local $_ = join '', @ARGV;
-
-/-h/ and die _("no help implemented yet.\n");
-
-my @winm;
-my @usernames;
-parse_etc_passwd();
-
-my $x_mode = isXlaunched();
-my $a_mode = (-e "/etc/aurora/Monitor") ? 1 : 0;
-my $l_mode = isAutologin();
-my %auto_mode = get_autologin("");
-my $inmain = 0;
-my $lilogrub = `detectloader -q`;
-chomp $lilogrub;
-
-my $window = $::isEmbedded ? new Gtk::Plug ($::XID) : new Gtk::Window ("toplevel");
-$window->signal_connect(delete_event => sub { $::isEmbedded ? kill(USR1, $::CCPID) : Gtk->exit(0) });
-$window->set_title(_("Boot Style Configuration") );
-$window->border_width(2);
-$window->realize;
-
-# drakX mode
-my ($t_pixmap, $t_mask) = gtkcreate_png("tradi.png");
-my ($h_pixmap, $h_mask) = gtkcreate_png("hori.png");
-my ($v_pixmap, $v_mask) = gtkcreate_png("verti.png");
-my ($g_pixmap, $g_mask) = gtkcreate_png("gmon.png");
-my ($c_pixmap, $c_mask) = gtkcreate_png("categ.png");
-
-# a pixmap widget to contain the pixmap
-my $pixmap = new Gtk::Pixmap( $h_pixmap, $h_mask );
-
-### menus definition
-# the menus are not shown
-# but they provides shiny shortcut like C-q
-my @menu_items = ( { path => _("/_File"),
- type => '<Branch>' },
- { path => _("/File/_New"),
- accelerator => _("<control>N"),
- callback => \&print_hello },
- { path => _("/File/_Open"),
- accelerator => _("<control>O"),
- callback => \&print_hello },
- { path => _("/File/_Save"),
- accelerator => _("<control>S"),
- callback => \&print_hello },
- { path => _("/File/Save _As") },
- { path => _("/File/-"),
- type => '<Separator>' },
- { path => _("/File/_Quit"),
- accelerator => _("<control>Q"),
- callback => sub { $::isEmbedded ? kill(USR1, $::CCPID) : Gtk->exit(0) } },
- { path => _("/_Options"),
- type => '<Branch>' },
- { path => _("/Options/Test")},
- { path => _("/_Help"),
- type => '<LastBranch>' },
- { path => _("/Help/_About...")} );
-
-my $menubar = get_main_menu( $window );
-
-######### menus end
-
-my $global_vbox = new Gtk::VBox();
-
-########### lilo/grub
-my $lilo_dedans = new Gtk::HBox(0, 0);
-my $lilo_button = new Gtk::Button _("Configure");
-
-my $lilo_label = new Gtk::Label(
-_("You are currently using %s as Boot Manager.
-Click on Configure to launch the setup wizard.", $lilogrub));
-
-$lilo_dedans->pack_start($lilo_label,0,0,0);
-$lilo_dedans->pack_end($lilo_button,0,0,0);
-$lilo_button->signal_connect(clicked => sub { lilo_choice(); });
-
-my $lilo_frame = new Gtk::Frame _("Lilo/grub mode");
-$lilo_frame->add($lilo_dedans);
-$global_vbox->pack_start ($lilo_frame, 0, 0, 0);
-
-
-######## aurora part
-my $a_dedans = new Gtk::VBox(0, 5);
-$a_dedans->border_width(0);
-my $a_box = new Gtk::VBox(0, 0);
-
-my $a_c_button = new Gtk::RadioButton _("NewStyle Categorizing Monitor");
-$a_c_button->signal_connect(clicked => sub { $pixmap->set($c_pixmap, $c_mask) });
-$a_box->pack_start($a_c_button, 0, 0, 0);
-my $a_h_button = new Gtk::RadioButton _("NewStyle Monitor"), $a_c_button;
-$a_h_button->signal_connect(clicked => sub { $pixmap->set($h_pixmap, $h_mask) });
-$a_box->pack_start($a_h_button, 0, 0, 0);
-my $a_v_button = new Gtk::RadioButton _("Traditional Monitor"), $a_c_button;
-$a_v_button->signal_connect(clicked => sub { $pixmap->set($v_pixmap, $v_mask) });
-$a_box->pack_start($a_v_button, 0, 0, 0);
-my $a_g_button = new Gtk::RadioButton _("Traditional Gtk+ Monitor"), $a_c_button;
-$a_g_button->signal_connect(clicked => sub { $pixmap->set($g_pixmap, $g_mask) });
-$a_box->pack_start($a_g_button, 0, 0, 0);
-
-my $a_button = new Gtk::CheckButton(_("Launch Aurora at boot time") );
-$a_button->signal_connect(clicked => sub {
- if ($inmain) {
- $a_box->set_sensitive(!$a_mode);
- $a_mode = !$a_mode;
- if ($a_mode) {
- $pixmap->set($c_pixmap, $c_mask) if $a_c_button->get_active();
- $pixmap->set($h_pixmap, $h_mask) if $a_h_button->get_active();
- $pixmap->set($v_pixmap, $v_mask) if $a_v_button->get_active();
- $pixmap->set($g_pixmap, $g_mask) if $a_g_button->get_active();
- } else {
- $pixmap->set($t_pixmap, $t_mask);
- }
- }
- });
-$a_dedans->pack_start($a_button, 0, 0, 0);
-$a_dedans->pack_start ($a_box, 0, 0, 0);
-
-my $a_main_hbox = new Gtk::HBox;
-$a_main_hbox->pack_start ($a_dedans, 0, 0, 0);
-my $a_pix_hbox = new Gtk::HBox;
-$a_pix_hbox->border_width(0);
-$a_pix_hbox->pack_start ($pixmap, 0, 0, 0);
-$a_main_hbox->pack_end ($a_pix_hbox, 0, 0, 0);
-
-my $aurora_frame = new Gtk::Frame _("Boot mode");
-$aurora_frame->add($a_main_hbox);
-$global_vbox->pack_start ($aurora_frame, 0, 0, 0);
-
-### X mode
-my $x_dedans = new Gtk::VBox(0, 0);
-$x_dedans->border_width (0);
-my $x_box = new Gtk::VBox(0, 0);
-$x_box->border_width (0);
-
-my $x_button = new Gtk::CheckButton _("Launch the X-Window system at start");
-$x_button->set_active($x_mode);
-$x_button->signal_connect(clicked => sub {
- $x_box->set_sensitive(!$x_mode);
- $x_mode = !$x_mode;
- });
-$x_dedans->pack_start ($x_button, 0, 0, 0);
-
-my $x_no_button = new Gtk::RadioButton _("No, I don't want autologin");
-$x_no_button->set_active(!$l_mode);
-$x_box->pack_start($x_no_button, 0, 0, 0);
-
-my $user_dedans = new Gtk::HBox(0, 10);
-$user_dedans->border_width (0);
-my $x_yes_button = new Gtk::RadioButton _("Yes, I want autologin with this (user, desktop)"), $x_no_button;
-$x_yes_button->set_active($l_mode);
-my $x_combo_vbox = new Gtk::VBox(0, 10);
-my $user_combo = new Gtk::Combo;
-$user_combo->set_popdown_strings(@usernames);
-$user_combo->entry->set_text($auto_mode{autologin}) if ($auto_mode{autologin});
-
-my $desktop_combo =new Gtk::Combo;
-$desktop_combo->set_popdown_strings(get_wm());
-$desktop_combo->entry->set_text($auto_mode{desktop}) if ($auto_mode{desktop});
-$x_combo_vbox->pack_start($user_combo, 0, 0, 0);
-$x_combo_vbox->pack_start($desktop_combo, 0, 0, 0);
-$user_dedans->pack_start($x_yes_button, 0, 0, 0);
-$user_dedans->pack_start($x_combo_vbox, 0, 0, 0);
-$x_box->pack_start ($user_dedans, 0, 0, 0);
-$x_box->set_sensitive($x_mode);
-$x_dedans->pack_start ($x_box, 0, 0, 0);
-my $x_main_frame = new Gtk::Frame _("System mode");
-$x_main_frame->add($x_dedans);
-$global_vbox->pack_start ($x_main_frame, 1, 1, 0);
-
-#deush : hability to choose the runlevel.
-my $runl_hbox = new Gtk::HBox;
-my $runl_button5 = new Gtk::RadioButton _("5");
-my $runl_button1 = new Gtk::RadioButton _("1"), $runl_button5;
-$runl_hbox->pack_start($runl_button1, 0, 0, 0);
-my $runl_button2 = new Gtk::RadioButton _("2"), $runl_button5;
-$runl_hbox->pack_start($runl_button2, 0, 0, 0);
-my $runl_button3 = new Gtk::RadioButton _("3"), $runl_button5;
-$runl_hbox->pack_start($runl_button3, 0, 0, 0);
-my $runl_button4 = new Gtk::RadioButton _("4"), $runl_button5;
-$runl_hbox->pack_start($runl_button4, 0, 0, 0);
-
-$runl_hbox->pack_start($runl_button5, 0, 0, 0);
-
-my $runlevel_frame = new Gtk::Frame _("Default Runlevel");
-$runlevel_frame->add($runl_hbox);
-$global_vbox->pack_start ($runlevel_frame, 0, 0, 0);
-
-### final buttons
-my $bbox = new Gtk::HButtonBox;
-$global_vbox->pack_start($bbox, 0, 0, 0);
-$bbox->set_layout(-end);
-my $build_button = new Gtk::Button _("OK");
-$bbox->add($build_button);
-my $cancel_button = new Gtk::Button $::isEmbedded ? _("Cancel") : _("Quit");
-$bbox->add($cancel_button);
-my $fin_hbox = new Gtk::HBox( 0, 0 );
-$cancel_button->signal_connect(clicked => sub {$::isEmbedded ? kill(USR1, $::CCPID) : Gtk->exit(0)});
-$build_button->signal_connect(clicked=>sub{updateInit();updateAutologin();updateAurora();runlevel_choice();$::isEmbedded ? kill(USR1,$::CCPID) : Gtk->exit(0)});
-
-### back to window
-$window->add($global_vbox);
-$window->show_all();
-
-$a_box->set_sensitive($a_mode); # box grise == false == "0"
-$a_button->set_active($a_mode); # up == false == "0"
-if ($a_mode) {
- my $a = readlink "/etc/aurora/Monitor";
- $a =~ s#/lib/aurora/Monitors/##;
- if ($a eq "NewStyle-Categorizing-WsLib") {$a_c_button->set_active(1); $pixmap->set($c_pixmap, $c_mask);}
- if ($a eq "NewStyle-WsLib") {$a_h_button->set_active(1); $pixmap->set($h_pixmap, $h_mask);}
- if ($a eq "Traditional-WsLib") {$a_v_button->set_active(1); $pixmap->set($v_pixmap, $v_mask);}
- if ($a eq "Traditional-Gtk+") {$a_g_button->set_active(1); $pixmap->set($g_pixmap, $g_mask);}
-} else {
- $pixmap->set($t_pixmap, $t_mask);
-}
-
-Gtk->main_iteration while Gtk->events_pending;
-$::isEmbedded and kill USR2, $::CCPID;
-$inmain=1;
-Gtk->main;
-Gtk->exit(0);
-
-#-------------------------------------------------------------
-# get user names to put in combo
-#-------------------------------------------------------------
-
-sub parse_etc_passwd
-{
- my ($uname, $uid);
- setpwent();
- do {
- @user_info = getpwent();
- ($uname, $uid) = @user_info[0,2];
- if ($uid > 500) {
- push (@usernames, $uname);
- }
- } while (@user_info);
-}
-
-sub get_wm
-{
- @winm = (split (' ', `/usr/sbin/chksession -l`));
-}
-
-#-------------------------------------------------------------
-# menu callback functions
-#-------------------------------------------------------------
-
-sub print_hello {
- print( "mcdtg !\n" );
-}
-
-sub get_main_menu {
- my ( $window ) = @_;
-
- my $accel_group = new Gtk::AccelGroup();
- my $item_factory = new Gtk::ItemFactory( 'Gtk::MenuBar', '<main>', $accel_group );
- $item_factory->create_items( @menu_items );
- $window->add_accel_group( $accel_group );
- return ( $item_factory->get_widget( '<main>' ) );
-}
-
-#-------------------------------------------------------------
-# launch X functions
-#-------------------------------------------------------------
-
-sub isXlaunched
-{
- my $line;
-
- open INITTAB, "/etc/inittab" or die _("can not open /etc/inittab for reading: $!");
- while (<INITTAB>) {
- if (/id:([1-6]):initdefault:/) { $line = $_; last; }
- }
- close INITTAB;
- $line =~ s/id:([1-6]):initdefault:/$1/;
- return ($line-3);
-}
-
-sub updateInit
-{
- my $runlevel = ($x_mode) ? 5 : 3;
- substInFile { s/^id:\d:initdefault:\s*$/id:$runlevel:initdefault:\n/ } "/etc/inittab";
-}
-
-#-------------------------------------------------------------
-# aurora functions
-#-------------------------------------------------------------
-
-
-
-sub updateAurora
-{
- if ($a_mode) {
- if ($a_c_button->get_active()) {
- symlinkf("/lib/aurora/Monitors/NewStyle-Categorizing-WsLib", "/etc/aurora/Monitor");
- $in->standalone::pkgs_install(q(Aurora-Monitor-NewStyle-Categorizing-WsLib)) if !(-e "/lib/aurora/Monitors/NewStyle-Categorizing-WsLib");
- }
- if ($a_h_button->get_active()) {
- symlinkf("/lib/aurora/Monitors/NewStyle-WsLib", "/etc/aurora/Monitor");
- $in->standalone::pkgs_install(q(Aurora-Monitor-NewStyle-WsLib)) if !(-e "/lib/aurora/Monitors/NewStyle-WsLib");
- }
- if ($a_v_button->get_active()) {
- symlinkf("/lib/aurora/Monitors/Traditional-WsLib", "/etc/aurora/Monitor");
- $in->standalone::pkgs_install(q(Aurora-Monitor-Traditional-WsLib)) if !(-e "/lib/aurora/Monitors/Traditional-WsLib");
- }
- if ($a_g_button->get_active()) {
- symlinkf("/lib/aurora/Monitors/Traditional-Gtk+", "/etc/aurora/Monitor");
- $in->standalone::pkgs_install(q(Aurora-Monitor-Traditional-Gtk+)) if !(-e "/lib/aurora/Monitors/Traditional-Gtk+");
- }
- } else {
- unlink "/etc/aurora/Monitor";
- }
-
-}
-
-#-------------------------------------------------------------
-# launch autologin functions
-#-------------------------------------------------------------
-
-sub isAutologin
-{
- my $line;
-
- open AUTOLOGIN, "/etc/sysconfig/autologin" or die _("can not open /etc/sysconfig/autologin for reading: $!");
- while (<AUTOLOGIN>) {
- if (/AUTOLOGIN=(yes|no)/) { $line = $_; last; }
- }
- close AUTOLOGIN;
- $line =~ s/AUTOLOGIN=(yes|no)/$1/;
- chomp ($line);
- $line = ($line eq "yes");
- return ($line);
-}
-
-sub get_autologin {
- my ($prefix) = @_;
- my %o;
- my %l = getVarsFromSh("$prefix/etc/sysconfig/autologin");
-
- $o{autologin} = $l{USER};
- %l = getVarsFromSh("$prefix/etc/sysconfig/desktop");
- $o{desktop} = $l{DESKTOP};
- %o;
-}
-
-sub updateAutologin
-{
- my ($usern,$deskt)=($user_combo->entry->get_text(), $desktop_combo->entry->get_text());
-
- if ($x_yes_button->get_active()) {
- $in->standalone::pkgs_install(q(autologin)) if $x_mode;
- set_autologin('',$usern,$deskt);
- } else {
- set_autologin('',undef) if ($x_no_button->get_active());
- }
-}
-
-sub set_autologin {
- my ($prefix, $user, $desktop) = @_;
-
- output "$prefix/etc/sysconfig/desktop", uc($desktop), "\n" if $user;
-
- setVarsInSh("$prefix/etc/sysconfig/autologin",
- { USER => $user, AUTOLOGIN => bool2yesno($user), EXEC => "/usr/X11R6/bin/startx" });
- chmod 0600, "$prefix/etc/sysconfig/autologin";
-# log::l("cat $prefix/etc/sysconfig/autologin: ", cat_("$prefix/etc/sysconfig/autologin"));
-}
-
-
-#-------------------------------------------------------------
-# lilo/grub functions
-#-------------------------------------------------------------
-sub lilo_choice
-{
- my $bootloader = bootloader::read('', '/etc/lilo.conf');
- local ($_) = `detectloader`;
- $bootloader->{methods} = { lilo => 1, grub => !!/grub/i };
-
- my ($hds) = catch_cdie { fsedit::hds([ detect_devices::hds() ], {}) } sub { 1 };
- my $fstab = [ fsedit::get_fstab(@$hds) ];
- fs::get_mntpoints_from_fstab($fstab);
-
- $::expert=1;
- ask:
- local $::isEmbedded = 0;
- any::setupBootloader($in, $bootloader, $hds, $fstab, $ENV{SECURE_LEVEL}) or return;
- eval { bootloader::install('', $bootloader, $fstab, $hds) };
- if ($@) {
- $in->ask_warn('',
- [ _("Installation of LILO failed. The following error occured:"),
- grep { !/^Warning:/ } cat_("/tmp/.error") ]);
- unlink "/tmp/.error";
- goto ask;
- }
-}
-
-#---------------------------------------------------------------
-# Choose your runlevel: from 1 to 5
-#---------------------------------------------------------------
-sub runlevel_choice
-{
- if ($runl_button1->get_active()) {
- any::runlevel('',1);
- }
- if ($runl_button2->get_active()) {
- any::runlevel('',2);
- }
- if ($runl_button3->get_active()) {
- any::runlevel('',3);
- }
- if ($runl_button4->get_active()) {
- any::runlevel('',4);
- }
- if ($runl_button5->get_active()) {
- any::runlevel('',5);
- }
-}
-
diff --git a/perl-install/c.pm b/perl-install/c.pm
deleted file mode 100644
index 0683c0ef8..000000000
--- a/perl-install/c.pm
+++ /dev/null
@@ -1,12 +0,0 @@
-package c; # $Id$
-
-use vars qw($AUTOLOAD);
-
-use c::stuff;
-
-sub AUTOLOAD {
- $AUTOLOAD =~ /::(.*)/;
- goto &{$c::stuff::{$1}};
-}
-
-1;
diff --git a/perl-install/c/.cvsignore b/perl-install/c/.cvsignore
deleted file mode 100644
index 665b57e54..000000000
--- a/perl-install/c/.cvsignore
+++ /dev/null
@@ -1,9 +0,0 @@
-Makefile
-Makefile_c
-stuff.c
-stuff.bs
-pm_to_blib
-Makefile_c.old
-blib
-stuff.xs
-pcmcia_probe.c
diff --git a/perl-install/c/Makefile b/perl-install/c/Makefile
deleted file mode 100644
index e58cab335..000000000
--- a/perl-install/c/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-.PHONY: clean
-
-C_RPM = 1
-C_DRAKX = 1
-
-stuff: %: %.xs
- test -e Makefile_c || C_RPM=$(C_RPM) C_DRAKX=$(C_DRAKX) perl Makefile.PL
- $(MAKE) -f Makefile_c LD_RUN_PATH=
- rm -f ../auto/c ; ln -s ../c/blib/arch/auto ../auto/c
-
-clean:
- test ! -e Makefile_c || $(MAKE) -f Makefile_c clean
- rm -f *~ *.o stuff.xs pcmcia_probe.c
-
-stuff.xs: %: %.pm
- rm -f $@
- C_RPM=$(C_RPM) C_DRAKX=$(C_DRAKX) perl $< > $@
- chmod a-w $@
diff --git a/perl-install/c/Makefile.PL b/perl-install/c/Makefile.PL
deleted file mode 100644
index fbcb16914..000000000
--- a/perl-install/c/Makefile.PL
+++ /dev/null
@@ -1,23 +0,0 @@
-use ExtUtils::MakeMaker;
-use Config;
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-
-my $libs = '-lldetect';
-$libs .= ' -L/usr/X11R6/lib -lX11 -lgdk -lXxf86misc' if $ENV{C_DRAKX};
-$libs .= ' -lrpm -lrpmio -lz' if $ENV{C_RPM};
-
-my $pcmcia_dir = $ENV{C_DRAKX} && $Config{archname} =~ /i.86/ ? '../../mdk-stage1/pcmcia' : '';
-
-symlink "$pcmcia_dir/pcmcia_probe.c", "pcmcia_probe.c" if $pcmcia_dir;
-
-WriteMakefile(
- 'NAME' => 'stuff',
- 'OPTIMIZE' => '-Os',
- 'MAKEFILE' => 'Makefile_c',
- 'OBJECT' => "stuff.o smp.o sbus.o silo.o" . ($pcmcia_dir && " pcmcia_probe.o"),
- 'VERSION_FROM' => 'stuff.pm', # finds $VERSION
- 'LIBS' => [$libs], # e.g., '-lm'
- 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
- 'INC' => "-I/usr/include/rpm `gtk-config --cflags` `glib-config --cflags`" . ($pcmcia_dir && " -I$pcmcia_dir -I$pcmcia_dir/.."),
-);
diff --git a/perl-install/c/README b/perl-install/c/README
deleted file mode 100644
index b5ad1224f..000000000
--- a/perl-install/c/README
+++ /dev/null
@@ -1,3 +0,0 @@
-md5.c, md5_crypt.c and md5.h are taken from pam (dir modules/pam_pwdb)
-
-smp.c is taken from RedHat's install
diff --git a/perl-install/c/sbus.c b/perl-install/c/sbus.c
deleted file mode 100644
index 85d44fa79..000000000
--- a/perl-install/c/sbus.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* This file is inspired from source code of kudzu from Red Hat, Inc.
- * It has been modified to keep only "what is needed" in C, the prom_walk
- * has been rewritten in perl for convenience :-)
- *
- * Copyright notice from original version.
- * sbus.c: Probe for Sun SBUS and UPA framebuffers using OpenPROM,
- * SBUS SCSI and Ethernet cards and SBUS or EBUS audio chips.
- *
- * Copyright (C) 1998, 1999 Jakub Jelinek (jj@ultra.linux.cz)
- * (C) 1999 Red Hat, Inc.
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *
- */
-
-#ifdef __sparc__
-
-#include <fcntl.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/ioctl.h>
-#include <asm/openpromio.h>
-
-static char *promdev = "/dev/openprom";
-static int promfd = -1;
-static int prom_current_node;
-#define MAX_PROP 128
-#define MAX_VAL (4096-128-4)
-static char buf[4096];
-#define DECL_OP(size) struct openpromio *op = (struct openpromio *)buf; op->oprom_size = (size)
-
-int prom_open()
-{
- int prom_root_node;
-
- if (promfd == -1) {
- promfd = open(promdev, O_RDONLY);
- if (promfd == -1)
- return 0;
- }
- prom_root_node = prom_getsibling(0);
- if (!prom_root_node) {
- close(promfd);
- promfd = -1;
- return 0;
- }
- return prom_root_node;
-}
-
-void prom_close()
-{
- if (promfd != -1) {
- close(promfd);
- promfd = -1;
- }
-}
-
-int prom_getsibling(int node)
-{
- DECL_OP(sizeof(int));
-
- if (node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMNEXT, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-int prom_getchild(int node)
-{
- DECL_OP(sizeof(int));
-
- if (!node || node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMCHILD, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-char *prom_getopt(char *var, int *lenp)
-{
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, var);
- if (ioctl (promfd, OPROMGETOPT, op) < 0)
- return 0;
- if (lenp) *lenp = op->oprom_size;
- return op->oprom_array;
-}
-
-void prom_setopt(char *var, char *value) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, var);
- strcpy (op->oprom_array + strlen (var) + 1, value);
- ioctl (promfd, OPROMSETOPT, op);
-}
-
-char *prom_getproperty(char *prop, int *lenp)
-{
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, prop);
- if (ioctl (promfd, OPROMGETPROP, op) < 0)
- return 0;
- if (lenp) *lenp = op->oprom_size;
- return op->oprom_array;
-}
-
-int prom_getbool(char *prop)
-{
- DECL_OP(0);
-
- *(int *)op->oprom_array = 0;
- for (;;) {
- op->oprom_size = MAX_PROP;
- if (ioctl(promfd, OPROMNXTPROP, op) < 0)
- return 0;
- if (!op->oprom_size)
- return 0;
- if (!strcmp (op->oprom_array, prop))
- return 1;
- }
-}
-
-int prom_pci2node(int bus, int devfn) {
- DECL_OP(2*sizeof(int));
-
- ((int *)op->oprom_array)[0] = bus;
- ((int *)op->oprom_array)[1] = devfn;
- if (ioctl (promfd, OPROMPCI2NODE, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-#else
-int prom_open() { return 0; }
-void prom_close() {}
-int prom_getsibling(int node) { return 0; }
-int prom_getchild(int node) { return 0; }
-char *prom_getopt(char *var, int *lenp) { return 0; /* NULL */ }
-void prom_setopt(char *var, char *value) {}
-char *prom_getproperty(char *prop, int *lenp) { return 0; /* NULL */ }
-int prom_getbool(char *prop) { return 0; }
-int prom_pci2node(int bus, int devfn) { return 0; }
-#endif /* __sparc__ */
diff --git a/perl-install/c/silo.c b/perl-install/c/silo.c
deleted file mode 100644
index 2fd621f4e..000000000
--- a/perl-install/c/silo.c
+++ /dev/null
@@ -1,817 +0,0 @@
-/* silo.c: Conversions between SCSI and IDE disk names
- * and OpenPROM fully qualified paths.
- *
- * Modified for DrakX light integration.
- * Copyright (C) 1999, 2000 Jakub Jelinek <jakub@redhat.com>
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifdef __sparc__
-
-#define _GNU_SOURCE
-#include <fcntl.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/ioctl.h>
-#include <asm/openpromio.h>
-#include <ctype.h>
-#include <dirent.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-
-#ifndef OPROMSETCUR
-#define OPROMSETCUR 0x20004FF0
-#define OPROMPCI2NODE 0x20004FF1
-#define OPROMPATH2NODE 0x20004FF2
-#endif
-
-static int hasaliases;
-static char *promdev = "/dev/openprom";
-static int promfd;
-static char sd_targets[10] = "31204567";
-static int p1275 = 0;
-static int prom_root_node, prom_current_node;
-static int promvers;
-static void (*prom_walk_callback)(int node);
-static char prom_path[1024];
-#define MAX_PROP 128
-#define MAX_VAL (4096-128-4)
-static char buf[4096];
-static char regstr[40];
-#define DECL_OP(size) struct openpromio *op = (struct openpromio *)buf; op->oprom_size = (size)
-
-static int
-prom_setcur(int node) {
- DECL_OP(sizeof(int));
-
- if (node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMSETCUR, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-static int
-prom_getsibling(int node) {
- DECL_OP(sizeof(int));
-
- if (node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMNEXT, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-static int
-prom_getchild(int node) {
- DECL_OP(sizeof(int));
-
- if (!node || node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMCHILD, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-static char *
-prom_getproperty(char *prop, int *lenp) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, prop);
- if (ioctl (promfd, OPROMGETPROP, op) < 0)
- return 0;
- if (lenp) *lenp = op->oprom_size;
- return op->oprom_array;
-}
-
-static char *
-prom_getopt(char *var, int *lenp) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, var);
- if (ioctl (promfd, OPROMGETOPT, op) < 0)
- return 0;
- if (lenp) *lenp = op->oprom_size;
- return op->oprom_array;
-}
-
-static void
-prom_setopt(char *var, char *value) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, var);
- strcpy (op->oprom_array + strlen (var) + 1, value);
- ioctl (promfd, OPROMSETOPT, op);
-}
-
-static int
-prom_getbool(char *prop) {
- DECL_OP(0);
-
- *(int *)op->oprom_array = 0;
- for (;;) {
- op->oprom_size = MAX_PROP;
- if (ioctl(promfd, OPROMNXTPROP, op) < 0)
- return 0;
- if (!op->oprom_size)
- return 0;
- if (!strcmp (op->oprom_array, prop))
- return 1;
- }
-}
-
-static int
-prom_pci2node(int bus, int devfn) {
- DECL_OP(2*sizeof(int));
-
- ((int *)op->oprom_array)[0] = bus;
- ((int *)op->oprom_array)[1] = devfn;
- if (ioctl (promfd, OPROMPCI2NODE, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-static int
-prom_path2node(char *path) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, path);
- if (ioctl (promfd, OPROMPATH2NODE, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-#define PW_TYPE_SBUS 1
-#define PW_TYPE_PCI 2
-#define PW_TYPE_EBUS 3
-
-static void
-prom_walk(char *path, int parent, int node, int type) {
- int nextnode;
- int len, ntype = type;
- char *prop;
-
- prop = prom_getproperty("name", &len);
- if (prop && len > 0) {
- if ((!strcmp(prop, "sbus") || !strcmp(prop, "sbi")) && !type)
- ntype = PW_TYPE_SBUS;
- else if (!strcmp(prop, "ebus") && type == PW_TYPE_PCI)
- ntype = PW_TYPE_EBUS;
- else if (!strcmp(prop, "pci") && !type)
- ntype = PW_TYPE_PCI;
- }
- *path = '/';
- strcpy (path + 1, prop);
- prop = prom_getproperty("reg", &len);
- if (prop && len >= 4) {
- unsigned int *reg = (unsigned int *)prop;
- int cnt = 0;
- if (!p1275 || (type == PW_TYPE_SBUS))
- sprintf (regstr, "@%x,%x", reg[0], reg[1]);
- else if (type == PW_TYPE_PCI) {
- if ((reg[0] >> 8) & 7)
- sprintf (regstr, "@%x,%x", (reg[0] >> 11) & 0x1f, (reg[0] >> 8) & 7);
- else
- sprintf (regstr, "@%x", (reg[0] >> 11) & 0x1f);
- } else if (len == 4)
- sprintf (regstr, "@%x", reg[0]);
- else {
- unsigned int regs[2];
-
- /* Things get more complicated on UPA. If upa-portid exists,
- then address is @upa-portid,second-int-in-reg, otherwise
- it is @first-int-in-reg/16,second-int-in-reg (well, probably
- upa-portid always exists, but just to be safe). */
- memcpy (regs, reg, sizeof(regs));
- prop = prom_getproperty("upa-portid", &len);
- if (prop && len == 4) {
- reg = (unsigned int *)prop;
- sprintf (regstr, "@%x,%x", reg[0], regs[1]);
- } else
- sprintf (regstr, "@%x,%x", regs[0] >> 4, regs[1]);
- }
- for (nextnode = prom_getchild(parent); nextnode; nextnode = prom_getsibling(nextnode)) {
- prop = prom_getproperty("name", &len);
- if (prop && len > 0 && !strcmp (path + 1, prop))
- cnt++;
- }
- if (cnt > 1)
- strcat (path, regstr);
- }
-
- prom_walk_callback(node);
-
- nextnode = prom_getchild(node);
- if (nextnode)
- prom_walk(strchr (path, 0), node, nextnode, ntype);
- nextnode = prom_getsibling(node);
- if (nextnode)
- prom_walk(path, parent, nextnode, type);
-}
-
-static int
-prom_init(int mode) {
- struct utsname u;
-
- promfd = open(promdev, mode);
- if (promfd == -1)
- return -1;
- prom_root_node = prom_getsibling(0);
- if (!prom_root_node)
- return -1;
-
- if (!uname (&u) && !strcmp (u.machine, "sparc64"))
- p1275 = 1;
- return 0;
-}
-
-#define SDSK_TYPE_IDE 1
-#define SDSK_TYPE_SD 2
-#define SDSK_TYPE_PLN 3
-#define SDSK_TYPE_FC 4
-
-static struct sdsk_disk {
- unsigned int prom_node;
- unsigned int type, host, hi, mid, lo;
- unsigned char *prom_name;
-} *hd = NULL, *sd = NULL;
-static int hdlen, sdlen;
-
-static void
-scan_walk_callback(int node) {
- int nextnode;
- char *prop;
- int len, disk;
- static int v0ctrl = 0;
-
- for (disk = 0; disk < hdlen + sdlen; disk++) {
- if (hd[disk].prom_node == node) {
- switch (hd[disk].type) {
- case SDSK_TYPE_IDE:
- for (nextnode = prom_getchild(node); nextnode; nextnode = prom_getsibling(nextnode)) {
- prop = prom_getproperty("name", &len);
- if (prop && len > 0 && (!strcmp (prop, "ata") || !strcmp (prop, "disk")))
- break;
- }
- if (!nextnode)
- continue;
- if (prop[0] == 'a')
- sprintf (prop, "/ata@%x,0/cmdk@%x,0", hd[disk].hi, hd[disk].lo);
- else
- sprintf (prop, "/disk@%x,0", hd[disk].hi * 2 + hd[disk].lo);
- break;
- case SDSK_TYPE_SD:
- for (nextnode = prom_getchild(node); nextnode; nextnode = prom_getsibling(nextnode)) {
- prop = prom_getproperty("compatible", &len);
- if (prop && len > 0 && !strcmp (prop, "sd"))
- break;
- prop = prom_getproperty("name", &len);
- if (prop && len > 0 && (!strcmp (prop, "sd") || !strcmp (prop, "disk")))
- break;
- }
- if (!nextnode || hd[disk].hi)
- continue;
- if (promvers) {
- char name[1024];
- prop = prom_getproperty("name", &len);
- if (prop && len > 0)
- strcpy (name, prop);
- else
- strcpy (name, "sd");
- if (!prop)
- prop = ((struct openpromio *)buf)->oprom_array;
- sprintf (prop, "/%s@%x,%x", name, hd[disk].mid, hd[disk].lo);
- } else {
- int i;
- for (i = 0; sd_targets[i]; i++)
- if (sd_targets[i] == '0' + hd[disk].mid)
- break;
- if (!sd_targets[i])
- i = hd[disk].mid;
- sprintf (prop, "sd(%d,%d,", v0ctrl, i);
- }
- break;
- case SDSK_TYPE_PLN:
- prop = ((struct openpromio *)buf)->oprom_array;
- sprintf (prop, "/SUNW,pln@%x,%x/SUNW,ssd@%x,%x",
- hd[disk].lo & 0xf0000000, hd[disk].lo & 0xffffff,
- hd[disk].hi, hd[disk].mid);
- break;
- case SDSK_TYPE_FC:
- prop = ((struct openpromio *)buf)->oprom_array;
- sprintf (prop, "/sf@0,0/ssd@w%08x%08x,%x", hd[disk].hi, hd[disk].mid, hd[disk].lo);
- break;
- default:
- continue;
- }
- hd[disk].prom_name = malloc (strlen (prom_path) + strlen(prop) + 3);
- if (!hd[disk].prom_name)
- continue;
- if (promvers)
- strcpy (hd[disk].prom_name, prom_path);
- else
- hd[disk].prom_name[0] = '\0';
- strcat (hd[disk].prom_name, prop);
- }
- }
- v0ctrl++;
-}
-
-static int
-scan_ide(void) {
- DIR * dir;
- char path[80];
- char buffer[512];
- int fd, i, disk;
- struct dirent * ent;
- int pci_bus, pci_devfn;
-
- if (access("/proc/ide", R_OK)) return 0;
-
- if (!(dir = opendir("/proc/ide"))) {
- return 1;
- }
-
- while ((ent = readdir(dir))) {
- if (ent->d_name[0] == 'h' && ent->d_name[1] == 'd' &&
- ent->d_name[2] >= 'a' && ent->d_name[2] <= 'z' &&
- ent->d_name[3] == '\0') {
- disk = ent->d_name[2] - 'a';
- if (disk >= hdlen) {
- hd = (struct sdsk_disk *)realloc(hd, ((disk&~3)+4)*sizeof(struct sdsk_disk));
- memset (hd + hdlen, 0, ((disk&~3)+4-hdlen)*sizeof(struct sdsk_disk));
- hdlen = (disk&~3)+4;
- }
- for (i = (disk & ~3); i <= (disk | 3); i++) {
- if (hd[i].type)
- break;
- }
- if (i > (disk | 3)) {
- sprintf(path, "/proc/ide/%s", ent->d_name);
- if (readlink(path, buffer, 512) < 5)
- continue;
- if (strncmp(buffer, "ide", 3) ||
- !isdigit(buffer[3]) ||
- buffer[4] != '/')
- continue;
- buffer[4] = 0;
- sprintf(path, "/proc/ide/%s/config", buffer);
- if ((fd = open(path, O_RDONLY)) < 0)
- continue;
- i = read(fd, buffer, 50);
- close(fd);
- if (i < 50) continue;
- if (sscanf (buffer, "pci bus %x device %x ",
- &pci_bus, &pci_devfn) != 2)
- continue;
- hd[disk].prom_node = prom_pci2node (pci_bus, pci_devfn);
- } else
- hd[disk].prom_node = hd[i].prom_node;
- hd[disk].type = SDSK_TYPE_IDE;
- hd[disk].hi = (disk & 2) >> 1;
- hd[disk].lo = (disk & 1);
- }
- }
-
- closedir(dir);
-
- return 0;
-}
-
-static int
-scan_scsi(void) {
- FILE *f;
- DIR * dir, *dirhba;
- struct dirent * ent, *enthba;
- struct stat st;
- char * p, * q;
- char buf[512];
- char path[128];
- int disk = 0;
- int host, channel, id, lun;
- int prom_node, pci_bus, pci_devfn;
-
- if (access("/proc/scsi/scsi", R_OK)) {
- return 0;
- }
-
- f = fopen("/proc/scsi/scsi", "r");
- if (f == NULL) return 1;
-
- if (fgets(buf, sizeof(buf), f) == NULL) {
- fclose(f);
- return 1;
- }
- if (!strcmp(buf, "Attached devices: none\n")) {
- fclose(f);
- return 0;
- }
-
- while (fgets(buf, sizeof(buf), f) != NULL) {
- if (sscanf(buf, "Host: scsi%d Channel: %d Id: %d Lun: %d\n",
- &host, &channel, &id, &lun) != 4)
- break;
- if (fgets(buf, sizeof(buf), f) == NULL)
- break;
- if (strncmp(buf, " Vendor:", 9))
- break;
- if (fgets(buf, sizeof(buf), f) == NULL)
- break;
- if (strncmp(buf, " Type: ", 10))
- break;
- if (!strncmp(buf+10, "Direct-Access", 13)) {
- if (disk >= sdlen) {
- hd = (struct sdsk_disk *)
- realloc(hd, (hdlen+(disk&~3)+4)*sizeof(struct sdsk_disk));
- sd = hd + hdlen;
- memset (sd + sdlen, 0,
- ((disk&~3)+4-sdlen)*sizeof(struct sdsk_disk));
- sdlen = (disk&~3)+4;
- }
- sd[disk].type = SDSK_TYPE_SD;
- sd[disk].host = host;
- sd[disk].hi = channel;
- sd[disk].mid = id;
- sd[disk].lo = lun;
- disk++;
- }
- }
- fclose (f);
-
- if (!(dir = opendir("/proc/scsi"))) {
- if (!hdlen && hd) {
- free(hd);
- hd = NULL;
- }
- sd = NULL;
- sdlen = 0;
- return 1;
- }
-
- while ((ent = readdir(dir))) {
- if (!strcmp (ent->d_name, "scsi") || ent->d_name[0] == '.')
- continue;
- sprintf (path, "/proc/scsi/%s", ent->d_name);
- if (stat (path, &st) < 0 || !S_ISDIR (st.st_mode))
- continue;
- if (!(dirhba = opendir(path)))
- continue;
-
- while ((enthba = readdir(dirhba))) {
- if (enthba->d_name[0] == '.')
- continue;
- host = atoi(enthba->d_name);
- sprintf (path, "/proc/scsi/%s/%s", ent->d_name, enthba->d_name);
- f = fopen (path, "r");
- if (f == NULL) continue;
-
- if (!strcmp (ent->d_name, "esp") ||
- !strcmp (ent->d_name, "qlogicpti") ||
- !strcmp (ent->d_name, "fcal"))
- p = "PROM node";
- else if (!strcmp (ent->d_name, "pluto"))
- p = "serial ";
- else
- p = "PCI bus";
- while (fgets (buf, sizeof(buf), f) != NULL) {
- q = strstr (buf, p);
- if (q == NULL) continue;
- prom_node = 0;
- switch (p[1]) {
- case 'R':
- if (sscanf (q, "PROM node %x", &prom_node) == 1)
- q = NULL;
- break;
- case 'e':
- if (sscanf (q, "serial 000000%x %*dx%*d on soc%*d port %x PROM node %x",
- &id, &lun, &prom_node) == 3 &&
- lun >= 10 && lun <= 11) {
- q = NULL;
- }
- break;
- case 'C':
- if (sscanf (q, "PCI bus %x device %x", &pci_bus, &pci_devfn) == 2) {
- q = NULL;
- prom_node = prom_pci2node (pci_bus, pci_devfn);
- }
- break;
- }
- if (q == NULL) {
- for (disk = 0; disk < sdlen; disk++)
- if (sd[disk].host == host && sd[disk].type) {
- sd[disk].prom_node = prom_node;
- if (p[1] == 'e') {
- sd[disk].type = SDSK_TYPE_PLN;
- sd[disk].lo = (lun << 28) | id;
- } else if (!strcmp (ent->d_name, "fcal"))
- sd[disk].type = SDSK_TYPE_FC;
- }
- }
- }
- if (!strcmp (ent->d_name, "fcal")) {
- while (fgets (buf, sizeof(buf), f) != NULL) {
- unsigned long long ll;
- if (sscanf (buf, " [AL-PA: %*x, Id: %d, Port WWN: %Lx, Node WWN: ", &id, &ll) == 2) {
- for (disk = 0; disk < sdlen; disk++)
- if (sd[disk].host == host && sd[disk].mid == id) {
- sd[disk].hi = ll >> 32;
- sd[disk].mid = ll;
- }
- }
- }
- }
- fclose(f);
- }
- closedir(dirhba);
- }
- closedir(dir);
- return 0;
-}
-
-static int get_prom_ver(void)
-{
- FILE *f = fopen ("/proc/cpuinfo","r");
- int ver = 0;
- char buffer[1024];
- char *p;
-
- if (f) {
- while (fgets (buffer, 1024, f)) {
- if (!strncmp (buffer, "promlib", 7)) {
- p = strstr (buffer, "Version ");
- if (p) {
- p += 8;
- if (*p == '0' || (*p >= '2' && *p <= '3')) {
- ver = *p - '0';
- }
- }
- break;
- }
- }
- fclose(f);
- }
- if (!ver) {
- int len;
- p = prom_getopt("sd-targets", &len);
- if (p && len > 0 && len <= 8)
- strcpy(sd_targets, p);
- }
- return ver;
-}
-
-static void check_aliases(void) {
- int nextnode, len;
- char *prop;
- hasaliases = 0;
- for (nextnode = prom_getchild(prom_root_node); nextnode; nextnode = prom_getsibling(nextnode)) {
- prop = prom_getproperty("name", &len);
- if (prop && len > 0 && !strcmp (prop, "aliases"))
- hasaliases = 1;
- }
-}
-
-char *prom_root_name = NULL;
-
-static void get_root_name(void) {
- int len;
- char *prop;
-
- prom_getsibling(0);
- prop = prom_getproperty("name", &len);
- if (prop && len > 0)
- prom_root_name = strdup(prop);
-}
-
-int init_sbusdisk(void) {
- if (prom_init(O_RDONLY))
- return -1;
- promvers = get_prom_ver();
- check_aliases();
- get_root_name();
- scan_ide();
- scan_scsi();
- prom_walk_callback = scan_walk_callback;
- prom_walk(prom_path, prom_root_node, prom_getchild (prom_root_node), 0);
- close(promfd);
- return 0;
-}
-
-void set_prom_vars(char *linuxAlias, char *bootDevice) {
- int len;
- int aliasDone = 0;
- if (prom_init(O_RDWR))
- return;
- if (linuxAlias && hasaliases) {
- char *use_nvramrc;
- char nvramrc[2048];
- char *p, *q, *r, *s;
- int enabled = -1;
- int count;
-
- use_nvramrc = prom_getopt ("use-nvramrc?", &len);
- if (len > 0) {
- if (!strcasecmp (use_nvramrc, "false"))
- enabled = 0;
- else if (!strcasecmp (use_nvramrc, "true"))
- enabled = 1;
- }
- if (enabled != -1) {
- p = prom_getopt ("nvramrc", &len);
- if (p) {
- memcpy (nvramrc, p, len);
- nvramrc [len] = 0;
- q = nvramrc;
- for (;;) {
- /* If there is already `devalias linux /some/ugly/prom/path'
- make sure we fully understand that and remove it. */
- if (!strncmp (q, "devalias", 8) && (q[8] == ' ' || q[8] == '\t')) {
- for (r = q + 9; *r == ' ' || *r == '\t'; r++);
- if (!strncmp (r, "linux", 5)) {
- for (s = r + 5; *s && *s != ' ' && *s != '\t'; s++);
- if (!*s) break;
- if (s == r + 5 ||
- (r[5] == '#' && r[6] >= '0' && r[6] <= '9' &&
- (s == r + 7 ||
- (r[7] >= '0' && r[7] <= '9' && s == r + 8)))) {
- for (r = s + 1; *r == ' ' || *r == '\t'; r++);
- for (; *r && *r != ' ' && *r != '\t' && *r != '\n'; r++);
- for (; *r == ' ' || *r == '\t'; r++);
- if (*r == '\n') {
- r++;
- memmove (q, r, strlen(r) + 1);
- continue;
- }
- }
- }
- }
- q = strchr (q, '\n');
- if (!q) break;
- q++;
- }
- len = strlen (nvramrc);
- if (len && nvramrc [len-1] != '\n')
- nvramrc [len++] = '\n';
- p = nvramrc + len;
- p = stpcpy (p, "devalias linux ");
- r = linuxAlias;
- q = strchr (r, ';');
- count = 1;
- while (q) {
- memcpy (p, r, q - r);
- p += q - r;
- sprintf (p, "\ndevalias linux#%d ", count++);
- p = strchr (p, 0);
- r = q + 1;
- q = strchr (r, ';');
- }
- p = stpcpy (p, r);
- *p++ = '\n';
- *p = 0;
- prom_setopt ("nvramrc", nvramrc);
- if (!enabled)
- prom_setopt ("use-nvramrc?", "true");
- aliasDone = 1;
- }
- }
- }
- if (bootDevice) {
- char *p;
- if (aliasDone)
- bootDevice = "linux";
- p = prom_getopt ("boot-device", &len);
- if (p) {
- prom_setopt ("boot-device", bootDevice);
- prom_setopt ("boot-file", "");
- } else {
- p = prom_getopt ("boot-from", &len);
- if (p)
- prom_setopt ("boot-from", bootDevice);
- }
- }
- close(promfd);
-}
-
-#ifdef STANDALONE_SILO
-
-int main(void) {
- int i;
-
- init_sbusdisk();
- set_prom_vars ("/sbus@1f,0/espdma/esp/sd@1,0:c;/sbus@1f,0/espdma/esp/sd@1,0:g;/sbus@1f,0/espdma/esp/sd@1,0:h", "linux");
- printf ("prom root name `%s'\n", prom_root_name);
- for (i = 0; i < hdlen; i++) {
- if (hd[i].type)
- printf ("hd%c %x %d %d %d\n", i + 'a', hd[i].prom_node,
- hd[i].hi, hd[i].mid, hd[i].lo);
- if (hd[i].prom_name) printf ("%s\n", hd[i].prom_name);
- }
- for (i = 0; i < sdlen; i++) {
- if (sd[i].type) {
- if (i < 26)
- printf ("sd%c %x %d %d %d\n", i + 'a', sd[i].prom_node,
- sd[i].hi, sd[i].mid, sd[i].lo);
- else
- printf ("sd%c%c %x %d %d %d\n", (i / 26) + 'a' - 1, (i % 26) + 'a', sd[i].prom_node,
- sd[i].hi, sd[i].mid, sd[i].lo);
- }
- if (sd[i].prom_name) printf ("%s\n", sd[i].prom_name);
- }
- exit(0);
-}
-
-#else
-
-void
-initSilo ()
-{
- return init_sbusdisk();
-}
-
-char *
-disk2PromPath (unsigned char *disk)
-{
- static unsigned char prompath[1024];
- int diskno = -1, part;
-
- if (disk[0] == 'h' && disk[1] == 'd' && disk[2] >= 'a' && disk[2] <= 'z') {
- diskno = disk[2] - 'a';
- disk += 3;
- } else if (disk[0] == 's' && disk[1] == 'd' && disk[2] >= 'a' && disk[2] <= 'z') {
- if (disk[3] >= 'a' && disk[3] <= 'z') {
- diskno = (disk[2] - 'a' + 1) * 26 + (disk[3] - 'a');
- disk += 4;
- } else {
- diskno = disk[2] - 'a';
- disk += 3;
- }
- if (diskno >= 128)
- diskno = -1;
- else
- diskno += hdlen;
- }
- if (diskno == -1)
- part = -1;
- else if (!disk[0])
- part = 3;
- else {
- part = atoi (disk);
- if (part <= 0 || part > 8) part = -1;
- }
- if (diskno < 0 || part == -1 ||
- diskno >= hdlen + sdlen || !hd[diskno].prom_name) {
- return NULL;
- }
- if (!promvers)
- sprintf (prompath, "%s%d)", hd[diskno].prom_name, part ? part - 1 : 2);
- else {
- if (part)
- sprintf (prompath, "%s:%c", hd[diskno].prom_name, part + 'a' - 1);
- else
- strcpy (prompath, hd[diskno].prom_name);
- }
- return prompath;
-}
-
-int
-hasAliases (void)
-{
- return hasaliases;
-}
-
-char *
-promRootName (void)
-{
- return prom_root_name ? prom_root_name : "";
-}
-
-void
-setPromVars (char *linuxAlias, char *bootDevice)
-{
- if (linuxAlias && !*linuxAlias) linuxAlias = NULL;
- if (bootDevice && !*bootDevice) bootDevice = NULL;
- set_prom_vars (linuxAlias, bootDevice);
-}
-
-#endif
-
-#else
-void initSilo() {}
-char *disk2PromPath(unsigned char *disk) { return 0; /* NULL */ }
-int hasAliases(void) { return 0; }
-char *promRootName(void) { return 0; /* NULL */ }
-void setPromVars(char *linuxAlias, char *bootDevice) {}
-#endif /* __sparc__ */
diff --git a/perl-install/c/smp-test.c b/perl-install/c/smp-test.c
deleted file mode 100644
index f644449b8..000000000
--- a/perl-install/c/smp-test.c
+++ /dev/null
@@ -1,6 +0,0 @@
-main() {
- if (detectSMP())
- printf("has smp\n");
- else
- printf("no smp\n");
-}
diff --git a/perl-install/c/smp.c b/perl-install/c/smp.c
deleted file mode 100644
index b885de850..000000000
--- a/perl-install/c/smp.c
+++ /dev/null
@@ -1,506 +0,0 @@
-/*
-[_Anarchy_(alan@lightning.swansea.uk.linux.org)] you should do one check
- though - if the board seems to be SMP and the CPU in /proc/cpuinfo is non
- intel dont install an SMP kernel - thats a dual pentium board with a cyrix
- or similar single cpu in it
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <string.h>
-#include <errno.h>
-
-#ifdef __alpha__
-int alphaDetectSMP(void)
-{
- int issmp = 0;
- FILE *f;
-
- f = fopen("/proc/cpuinfo", "r");
- if (f) {
- char buff[1024];
-
- while (fgets (buff, 1024, f) != NULL) {
- if (!strncmp (buff, "cpus detected\t\t: ", 17)) {
- if (strtoul (buff + 17, NULL, 0) > 1)
- issmp = 1;
- break;
- }
- }
- fclose(f);
- } else
- return -1;
-
- return issmp;
-}
-#endif /* __alpha__ */
-
-#ifdef __sparc__
-int sparcDetectSMP(void)
-{
- int issmp = 0;
- FILE *f;
-
- f = fopen("/proc/cpuinfo", "r");
- if (f) {
- char buff[1024];
-
- while (fgets (buff, 1024, f) != NULL) {
- if (!strncmp (buff, "ncpus probed\t: ", 15)) {
- if (strtoul (buff + 15, NULL, 0) > 1)
- issmp = 1;
- break;
- }
- }
- fclose(f);
- } else
- return -1;
-
- return issmp;
-}
-#endif /* __sparc__ */
-
-/* just a placeholder for now - don't have an SMP machine
- need something in place to build - s.benedict */
-
-#ifdef __powerpc__
-int ppcDetectSMP(void)
-{
- int issmp = 0;
- FILE *f;
-
- f = fopen("/proc/cpuinfo", "r");
- if (f) {
- char buff[1024];
-
- while (fgets (buff, 1024, f) != NULL) {
- if (!strncmp (buff, "ncpus active\t: ", 15)) {
- if (strtoul (buff + 15, NULL, 0) > 1)
- issmp = 1;
- break;
- }
- }
- fclose(f);
- } else
- return -1;
-
- return issmp;
-}
-#endif /* __powerpc__ */
-
-#ifdef __i386__
-/*
- * Copyright (c) 1996, by Steve Passe
- * 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. The name of the developer 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 AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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.
- *
- * $Id$
- */
-
-/*
- * mptable.c
- */
-
-#define VMAJOR 2
-#define VMINOR 0
-#define VDELTA 12
-
-/*
- * this will cause the raw mp table to be dumped to /tmp/mpdump
- *
-#define RAW_DUMP
- */
-
-#define MP_SIG 0x5f504d5f /* _MP_ */
-#define EXTENDED_PROCESSING_READY
-#define OEM_PROCESSING_READY_NOT
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/types.h>
-
-#define LINUX 1
-#if LINUX
-typedef unsigned int vm_offset_t;
-#else
-#include <machine/types.h>
-#endif
-
-/* EBDA is @ 40:0e in real-mode terms */
-#define EBDA_POINTER 0x040e /* location of EBDA pointer */
-
-/* CMOS 'top of mem' is @ 40:13 in real-mode terms */
-#define TOPOFMEM_POINTER 0x0413 /* BIOS: base memory size */
-
-#define DEFAULT_TOPOFMEM 0xa0000
-
-#define BIOS_BASE 0xf0000
-#define BIOS_BASE2 0xe0000
-#define BIOS_SIZE 0x10000
-#define ONE_KBYTE 1024
-
-#define GROPE_AREA1 0x80000
-#define GROPE_AREA2 0x90000
-#define GROPE_SIZE 0x10000
-
-/* MP Floating Pointer Structure */
-typedef struct MPFPS {
- char signature[ 4 ];
- void* pap;
- u_char length;
- u_char spec_rev;
- u_char checksum;
- u_char mpfb1;
- u_char mpfb2;
- u_char mpfb3;
- u_char mpfb4;
- u_char mpfb5;
-} mpfps_t;
-
-/* MP Configuration Table Header */
-typedef struct MPCTH {
- char signature[ 4 ];
- u_short base_table_length;
- u_char spec_rev;
- u_char checksum;
- u_char oem_id[ 8 ];
- u_char product_id[ 12 ];
- void* oem_table_pointer;
- u_short oem_table_size;
- u_short entry_count;
- void* apic_address;
- u_short extended_table_length;
- u_char extended_table_checksum;
- u_char reserved;
-} mpcth_t;
-
-typedef struct PROCENTRY {
- u_char type;
- u_char apicID;
- u_char apicVersion;
- u_char cpuFlags;
- u_long cpuSignature;
- u_long featureFlags;
- u_long reserved1;
- u_long reserved2;
-} ProcEntry;
-
-#define PROCENTRY_FLAG_EN 0x01
-
-static void seekEntry( vm_offset_t addr );
-static void apic_probe( vm_offset_t* paddr, int* where );
-static void readEntry( void* entry, int size );
-
-/* global data */
-static int pfd; /* physical /dev/mem fd */
-static int verbose = 0;
-static int grope = 0;
-
-static int
-readType()
-{
- u_char type;
-
- if ( read( pfd, &type, sizeof( u_char ) ) != sizeof( u_char ) ) {
- perror( "type read" );
- fprintf( stderr, "\npfd: %d", pfd );
- fflush( stderr );
- exit( 1 );
- }
-
- if ( lseek( pfd, -1, SEEK_CUR ) < 0 ) {
- perror( "type seek" );
- exit( 1 );
- }
-
- return (int)type;
-}
-
-static int intelDetectSMP(void)
-{
- vm_offset_t paddr;
- int where;
- mpfps_t mpfps;
- int rc = 0;
- int ncpus = 0;
-
- /* open physical memory for access to MP structures */
- if ( (pfd = open( "/dev/mem", O_RDONLY )) < 0 ) {
- return 0;
- }
-
- /* probe for MP structures */
- apic_probe( &paddr, &where );
- if ( where <= 0 )
- return 0;
-
- seekEntry( paddr );
- readEntry( &mpfps, sizeof( mpfps_t ) );
-
- if (mpfps.mpfb1)
- /* old style */
- rc = 1;
- else {
- /* go to the config table */
- mpcth_t cth;
- int count, i;
-
- paddr = (vm_offset_t) mpfps.pap;
- seekEntry( paddr );
- readEntry( &cth, sizeof( cth ) );
- /* if we don't have any entries, the kernel sure
- won't be able to set up mp. Needs at least one entry
- for smp kernel */
- if (cth.entry_count <= 1) {
- close (pfd);
- return 0;
- }
- count = cth.entry_count;
- for (i = 0; i < count; i++) {
- if ( readType() == 0 ) {
- ProcEntry entry;
- readEntry( &entry, sizeof( entry ) );
- if (entry.cpuFlags & PROCENTRY_FLAG_EN)
- ncpus++;
- }
- }
- if (ncpus > 1)
- rc = 1;
- }
-
- close (pfd);
- return rc;
-}
-
-/*
- * set PHYSICAL address of MP floating pointer structure
- */
-#define NEXT(X) ((X) += 4)
-static void
-apic_probe( vm_offset_t* paddr, int* where )
-{
- /*
- * c rewrite of apic_probe() by Jack F. Vogel
- */
-
- int x;
- u_short segment;
- vm_offset_t target;
- u_int buffer[ BIOS_SIZE / sizeof( int ) ];
-
- if ( verbose )
- printf( "\n" );
-
- /* search Extended Bios Data Area, if present */
- if ( verbose )
- printf( " looking for EBDA pointer @ 0x%04x, ", EBDA_POINTER );
- seekEntry( (vm_offset_t)EBDA_POINTER );
- readEntry( &segment, 2 );
- if ( segment ) { /* search EBDA */
- target = (vm_offset_t)segment << 4;
- if ( verbose )
- printf( "found, searching EBDA @ 0x%08x\n", target );
- seekEntry( target );
- readEntry( buffer, ONE_KBYTE );
-
- for ( x = 0; x < ONE_KBYTE / sizeof ( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 1;
- *paddr = (x * sizeof( unsigned int )) + target;
- return;
- }
- }
- }
- else {
- if ( verbose )
- printf( "NOT found\n" );
- }
-
- /* read CMOS for real top of mem */
- seekEntry( (vm_offset_t)TOPOFMEM_POINTER );
- readEntry( &segment, 2 );
- --segment; /* less ONE_KBYTE */
- target = segment * 1024;
- if ( verbose )
- printf( " searching CMOS 'top of mem' @ 0x%08x (%dK)\n",
- target, segment );
- seekEntry( target );
- readEntry( buffer, ONE_KBYTE );
-
- for ( x = 0; x < ONE_KBYTE / sizeof ( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 2;
- *paddr = (x * sizeof( unsigned int )) + target;
- return;
- }
- }
-
- /* we don't necessarily believe CMOS, check base of the last 1K of 640K */
- if ( target != (DEFAULT_TOPOFMEM - 1024)) {
- target = (DEFAULT_TOPOFMEM - 1024);
- if ( verbose )
- printf( " searching default 'top of mem' @ 0x%08x (%dK)\n",
- target, (target / 1024) );
- seekEntry( target );
- readEntry( buffer, ONE_KBYTE );
-
- for ( x = 0; x < ONE_KBYTE / sizeof ( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 3;
- *paddr = (x * sizeof( unsigned int )) + target;
- return;
- }
- }
- }
-
- /* search the BIOS */
- if ( verbose )
- printf( " searching BIOS @ 0x%08x\n", BIOS_BASE );
- seekEntry( BIOS_BASE );
- readEntry( buffer, BIOS_SIZE );
-
- for ( x = 0; x < BIOS_SIZE / sizeof( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 4;
- *paddr = (x * sizeof( unsigned int )) + BIOS_BASE;
- return;
- }
- }
-
- /* search the extended BIOS */
- if ( verbose )
- printf( " searching extended BIOS @ 0x%08x\n", BIOS_BASE2 );
- seekEntry( BIOS_BASE2 );
- readEntry( buffer, BIOS_SIZE );
-
- for ( x = 0; x < BIOS_SIZE / sizeof( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 5;
- *paddr = (x * sizeof( unsigned int )) + BIOS_BASE2;
- return;
- }
- }
-
- if ( grope ) {
- /* search additional memory */
- target = GROPE_AREA1;
- if ( verbose )
- printf( " groping memory @ 0x%08x\n", target );
- seekEntry( target );
- readEntry( buffer, GROPE_SIZE );
-
- for ( x = 0; x < GROPE_SIZE / sizeof( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 6;
- *paddr = (x * sizeof( unsigned int )) + GROPE_AREA1;
- return;
- }
- }
-
- target = GROPE_AREA2;
- if ( verbose )
- printf( " groping memory @ 0x%08x\n", target );
- seekEntry( target );
- readEntry( buffer, GROPE_SIZE );
-
- for ( x = 0; x < GROPE_SIZE / sizeof( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 7;
- *paddr = (x * sizeof( unsigned int )) + GROPE_AREA2;
- return;
- }
- }
- }
-
- *where = 0;
- *paddr = (vm_offset_t)0;
-}
-
-
-/*
- *
- */
-static void
-seekEntry( vm_offset_t addr )
-{
- if ( lseek( pfd, (off_t)addr, SEEK_SET ) < 0 ) {
- return;
- perror( "/dev/mem seek" );
- exit( 1 );
- }
-}
-
-
-/*
- *
- */
-static void
-readEntry( void* entry, int size )
-{
- if ( read( pfd, entry, size ) != size ) {
- return;
- perror( "readEntry" );
- exit( 1 );
- }
-}
-
-
-#endif /* __i386__ */
-
-int detectSMP(void)
-{
- static int isSMP = -1;
-
- if (isSMP != -1)
- return isSMP;
-
-#ifdef __i386__
- return isSMP = intelDetectSMP();
-#elif __sparc__
- return isSMP = sparcDetectSMP();
-#elif __alpha__
- return isSMP = alphaDetectSMP();
-#elif __powerpc__
- return isSMP = ppcDetectSMP();
-#elif __ia64__
- return isSMP = 1;
-#else
- #error unknown architecture
-#endif
-}
-
-#if 0
-main() {
- if (detectSMP())
- printf("has smp\n");
- else
- printf("no smp\n");
-}
-
-#endif
diff --git a/perl-install/c/smp.h b/perl-install/c/smp.h
deleted file mode 100644
index 3255cc489..000000000
--- a/perl-install/c/smp.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef SMP_H
-#define SMP_H
-
-int detectSMP(void);
-
-#endif /* SMP_H */
diff --git a/perl-install/c/stuff.pm b/perl-install/c/stuff.pm
deleted file mode 100644
index 0121f2904..000000000
--- a/perl-install/c/stuff.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-package c::stuff; # $Id$
-
-use strict;
-use vars qw($VERSION @ISA);
-
-require DynaLoader;
-
-@ISA = qw(DynaLoader);
-$VERSION = '0.01';
-
-bootstrap c::stuff $VERSION;
-
-sub from_utf8 { iconv($_[0], "utf-8", standard_charset()) }
-
-sub headerGetEntry {
- my ($h, $q) = @_;
- $h or log::l("empty header in headerGetEntry"), return;
- $q eq 'name' and return headerGetEntry_string($h, RPMTAG_NAME());
- $q eq 'group' and return from_utf8(headerGetEntry_string($h, RPMTAG_GROUP()));
- $q eq 'version' and return headerGetEntry_string($h, RPMTAG_VERSION());
- $q eq 'release' and return headerGetEntry_string($h, RPMTAG_RELEASE());
- $q eq 'summary' and return from_utf8(headerGetEntry_string($h, RPMTAG_SUMMARY()));
- $q eq 'description' and return from_utf8(headerGetEntry_string($h, RPMTAG_DESCRIPTION()));
- $q eq 'arch' and return headerGetEntry_string($h, RPMTAG_ARCH());
- $q eq 'size' and return headerGetEntry_int($h, RPMTAG_SIZE());
- $q eq 'obsoletes' and return headerGetEntry_string_list($h, RPMTAG_OBSOLETES());
- $q eq 'requires' and return headerGetEntry_string_list($h, RPMTAG_REQUIRENAME());
- $q eq 'fileflags' and return headerGetEntry_int_list($h, RPMTAG_FILEFLAGS());
- $q eq 'filenames' and return headerGetEntry_filenames($h);
-}
-
-1;
diff --git a/perl-install/c/stuff.xs.pm b/perl-install/c/stuff.xs.pm
deleted file mode 100644
index 475da7664..000000000
--- a/perl-install/c/stuff.xs.pm
+++ /dev/null
@@ -1,1026 +0,0 @@
-use Config;
-
-print '
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-/* workaround for glibc and kernel header files not in sync */
-#define dev_t dev_t
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <syslog.h>
-#include <fcntl.h>
-#include <resolv.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/ioctl.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <sys/mount.h>
-#include <linux/keyboard.h>
-#include <linux/kd.h>
-#include <linux/hdreg.h>
-#include <linux/vt.h>
-#include <linux/cdrom.h>
-#include <linux/loop.h>
-#include <net/if.h>
-#include <net/route.h>
-
-#include <libldetect.h>
-#include <X11/Xlib.h>
-#include <X11/extensions/xf86misc.h>
-
-#include <term.h>
-#undef max_colors
-
-#define SECTORSIZE 512
-';
-
-$ENV{C_RPM} and print '
-#include <langinfo.h>
-#include <string.h>
-#include <iconv.h>
-
-#undef Fflush
-#undef Mkdir
-#undef Stat
-#include <rpm/rpmlib.h>
-
-void rpmError_callback_empty(void) {}
-
-int rpmError_callback_data;
-void rpmError_callback(void) {
- if (rpmErrorCode() != RPMERR_UNLINK && rpmErrorCode() != RPMERR_RMDIR) {
- write(rpmError_callback_data, rpmErrorString(), strlen(rpmErrorString()));
- write(rpmError_callback_data, "\n", 1);
- }
-}
-
-';
-
-$ENV{C_DRAKX} and print '
-#include <gdk/gdkx.h>
-
-void initIMPS2() {
- unsigned char imps2_s1[] = { 243, 200, 243, 100, 243, 80, };
- unsigned char imps2_s2[] = { 246, 230, 244, 243, 100, 232, 3, };
-
- int fd = open("/dev/cdrom", O_WRONLY);
- if (fd < 0) return;
-
- write (fd, imps2_s1, sizeof (imps2_s1));
- usleep (30000);
- write (fd, imps2_s2, sizeof (imps2_s2));
- usleep (30000);
- tcflush (fd, TCIFLUSH);
- tcdrain(fd);
-}
-
-void log_message(const char * s, ...) {}
-
-';
-
-print '
-long long llseek(int fd, long long offset, int whence);
-
-MODULE = c::stuff PACKAGE = c::stuff
-
-int
-Xtest(display)
- char *display
- CODE:
- int pid;
- if ((pid = fork()) == 0) {
- Display *d = XOpenDisplay(display);
- if (d) {
- XSetCloseDownMode(d, RetainPermanent);
- XCloseDisplay(d);
- }
- _exit(d != NULL);
- }
- waitpid(pid, &RETVAL, 0);
- OUTPUT:
- RETVAL
-';
-
-$ENV{C_DRAKX} && $Config{archname} =~ /i.86/ and print '
-char *
-pcmcia_probe()
-';
-
-$ENV{C_DRAKX} and print '
-
-void
-setMouseLive(display, type, emulate3buttons)
- char *display
- int type
- int emulate3buttons
- CODE:
- {
- XF86MiscMouseSettings mseinfo;
- Display *d = XOpenDisplay(display);
- if (d) {
- if (XF86MiscGetMouseSettings(d, &mseinfo) == True) {
- mseinfo.type = type;
- mseinfo.flags |= MF_REOPEN;
- mseinfo.emulate3buttons = emulate3buttons;
- XF86MiscSetMouseSettings(d, &mseinfo);
- XFlush(d);
- if (type == MTYPE_IMPS2) initIMPS2();
- }
- }
- }
-';
-
-print '
-int
-KTYP(x)
- int x
- CODE:
- RETVAL = KTYP(x);
- OUTPUT:
- RETVAL
-
-int
-lseek_sector(fd, sector, offset)
- int fd
- long sector
- long offset
- CODE:
- RETVAL = llseek(fd, (long long) sector * SECTORSIZE + offset, SEEK_SET) >= 0;
- OUTPUT:
- RETVAL
-
-int
-isBurner(fd)
- int fd
- CODE:
- RETVAL = ioctl(fd, CDROM_GET_CAPABILITY) & CDC_CD_RW;
- OUTPUT:
- RETVAL
-
-int
-isDvdDrive(fd)
- int fd
- CODE:
- RETVAL = ioctl(fd, CDROM_GET_CAPABILITY) & CDC_DVD;
- OUTPUT:
- RETVAL
-
-unsigned int
-total_sectors(fd)
- int fd
- CODE:
- {
- long s;
- RETVAL = ioctl(fd, BLKGETSIZE, &s) == 0 ? s : 0;
- }
- OUTPUT:
- RETVAL
-
-void
-unlimit_core()
- CODE:
- {
- struct rlimit rlim = { RLIM_INFINITY, RLIM_INFINITY };
- setrlimit(RLIMIT_CORE, &rlim);
- }
-
-int
-getlimit_core()
- CODE:
- {
- struct rlimit rlim;
- getrlimit(RLIMIT_CORE, &rlim);
- RETVAL = rlim.rlim_cur;
- }
- OUTPUT:
- RETVAL
-
-void
-openlog(ident)
- char *ident
- CODE:
- openlog(ident, 0, 0);
-
-void
-closelog()
-
-void
-syslog(mesg)
- char *mesg
- CODE:
- syslog(LOG_WARNING, mesg);
-
-void
-setsid()
-
-void
-_exit(status)
- int status
-
-int
-detectSMP()
-
-void
-pci_probe(probe_type)
- int probe_type
- PPCODE:
- struct pciusb_entries entries = pci_probe(probe_type);
- char buf[2048];
- int i;
-
- EXTEND(SP, entries.nb);
- for (i = 0; i < entries.nb; i++) {
- struct pciusb_entry e = entries.entries[i];
- snprintf(buf, sizeof(buf), "%04x\t%04x\t%04x\t%04x\t%d\t%d\t%d\t%s\t%s\t%s",
- e.vendor, e.device, e.subvendor, e.subdevice, e.pci_bus, e.pci_device, e.pci_function,
- pci_class2text(e.class), e.module ? e.module : "unknown", e.text);
- PUSHs(sv_2mortal(newSVpv(buf, 0)));
- }
- pciusb_free(entries);
-
-void
-usb_probe()
- PPCODE:
- struct pciusb_entries entries = usb_probe();
- char buf[2048];
- int i;
-
- EXTEND(SP, entries.nb);
- for (i = 0; i < entries.nb; i++) {
- struct pciusb_entry e = entries.entries[i];
- snprintf(buf, sizeof(buf), "%04x\t%04x\t%s\t%s\t%s",
- e.vendor, e.device, usb_class2text(e.class), e.module ? e.module : "unknown", e.text);
- PUSHs(sv_2mortal(newSVpv(buf, 0)));
- }
- pciusb_free(entries);
-
-unsigned int
-getpagesize()
-
-int
-hasNetDevice(device)
- char * device
- CODE:
- struct ifreq req;
- int s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s == -1) { RETVAL = 0; return; }
-
- strcpy(req.ifr_name, device);
-
- RETVAL = ioctl(s, SIOCGIFFLAGS, &req) == 0;
- close(s);
- OUTPUT:
- RETVAL
-
-int
-addDefaultRoute(gateway)
- char *gateway
- CODE:
- struct rtentry route;
- struct sockaddr_in addr;
- int s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s == -1) { RETVAL = 0; return; }
-
- memset(&route, 0, sizeof(route));
-
- addr.sin_family = AF_INET;
- addr.sin_port = 0;
- inet_aton(gateway, &addr.sin_addr);
- memcpy(&route.rt_gateway, &addr, sizeof(addr));
-
- addr.sin_addr.s_addr = INADDR_ANY;
- memcpy(&route.rt_dst, &addr, sizeof(addr));
- memcpy(&route.rt_genmask, &addr, sizeof(addr));
-
- route.rt_flags = RTF_UP | RTF_GATEWAY;
- route.rt_metric = 0;
-
- RETVAL = !ioctl(s, SIOCADDRT, &route);
- OUTPUT:
- RETVAL
-
-char *
-kernel_version()
- CODE:
- struct utsname u;
- if (uname(&u) == 0) RETVAL = u.release; else RETVAL = NULL;
- OUTPUT:
- RETVAL
-
-char *
-kernel_arch()
- CODE:
- struct utsname u;
- if (uname(&u) == 0) RETVAL = u.machine; else RETVAL = NULL;
- OUTPUT:
- RETVAL
-
-int
-set_loop(dev_fd, file)
- int dev_fd
- char *file
- CODE:
- RETVAL = 0;
-{
- struct loop_info loopinfo;
- int file_fd = open(file, O_RDWR);
-
- if (file_fd < 0) return;
-
- memset(&loopinfo, 0, sizeof(loopinfo));
- strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
- loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
-
- if (ioctl(dev_fd, LOOP_SET_FD, file_fd) < 0) return;
- if (ioctl(dev_fd, LOOP_SET_STATUS, &loopinfo) < 0) {
- ioctl(dev_fd, LOOP_CLR_FD, 0);
- return;
- }
- close(file_fd);
- RETVAL = 1;
-}
- OUTPUT:
- RETVAL
-
-int
-del_loop(device)
- char *device
- CODE:
- RETVAL = 0;
-{
- int fd;
- if ((fd = open(device, O_RDONLY)) < 0) return;
- if (ioctl(fd, LOOP_CLR_FD, 0) < 0) return;
- close(fd);
- RETVAL = 1;
-}
- OUTPUT:
- RETVAL
-
-int
-prom_open()
-
-void
-prom_close()
-
-int
-prom_getsibling(node)
- int node
-
-int
-prom_getchild(node)
- int node
-
-void
-prom_getopt(key)
- char *key
- PPCODE:
- int lenp = 0;
- char *value = NULL;
- value = prom_getopt(key, &lenp);
- EXTEND(sp, 1);
- if (value != NULL) {
- PUSHs(sv_2mortal(newSVpv(value, 0)));
- } else {
- PUSHs(&PL_sv_undef);
- }
-
-void
-prom_setopt(key, value)
- char *key
- char *value
-
-void
-prom_getproperty(key)
- char *key
- PPCODE:
- int lenp = 0;
- char *value = NULL;
- value = prom_getproperty(key, &lenp);
- EXTEND(sp, 1);
- if (value != NULL) {
- PUSHs(sv_2mortal(newSVpv(value, lenp)));
- } else {
- PUSHs(&PL_sv_undef);
- }
-
-void
-prom_getstring(key)
- char *key
- PPCODE:
- int lenp = 0;
- char *value = NULL;
- value = prom_getproperty(key, &lenp);
- EXTEND(sp, 1);
- if (value != NULL) {
- PUSHs(sv_2mortal(newSVpv(value, 0)));
- } else {
- PUSHs(&PL_sv_undef);
- }
-
-int
-prom_getbool(key)
- char *key
-
-
-
-void
-initSilo()
-
-char *
-disk2PromPath(disk)
- unsigned char *disk
-
-int
-hasAliases()
-
-char *
-promRootName()
-
-void
-setPromVars(linuxAlias, bootDevice)
- char *linuxAlias
- char *bootDevice
-';
-
-$ENV{C_RPM} and print '
-char *
-iconv(s, from_charset, to_charset)
- char *s
- char *from_charset
- char *to_charset
- CODE:
- iconv_t cd = iconv_open(to_charset, from_charset);
- RETVAL = s;
- if (cd != (iconv_t) (-1)) {
- int s_len = strlen(RETVAL);
- char *buf = alloca(3 * s_len + 10); /* 10 for safety, it should not be needed */
- {
- char *ptr = buf;
- int ptr_len = 3 * s_len + 10;
- if ((iconv(cd, &s, &s_len, &ptr, &ptr_len)) != (size_t) (-1)) {
- *ptr = 0;
- RETVAL = buf;
- }
- }
- iconv_close(cd);
- }
- OUTPUT:
- RETVAL
-
-char *
-standard_charset()
- CODE:
- RETVAL = nl_langinfo(CODESET);
- OUTPUT:
- RETVAL
-
-int
-rpmReadConfigFiles()
- CODE:
- char *rpmrc = getenv("RPMRC_FILE");
- if (rpmrc != NULL && !*rpmrc) rpmrc = NULL;
- RETVAL = rpmReadConfigFiles(rpmrc, NULL) == 0;
- OUTPUT:
- RETVAL
-
-int
-rpmdbInit(root, perms)
- char *root
- int perms
- CODE:
- RETVAL = rpmdbInit(root, perms) == 0;
- OUTPUT:
- RETVAL
-
-void *
-rpmdbOpen(root)
- char *root
- CODE:
- static rpmdb db;
- RETVAL = rpmdbOpen(root, &db, O_RDWR | O_CREAT, 0644) == 0 ||
- rpmdbOpen(root, &db, O_RDONLY, 0644) == 0 ? db : NULL;
- OUTPUT:
- RETVAL
-
-void *
-rpmdbOpenForTraversal(root)
- char *root
- CODE:
- static rpmdb db;
- rpmErrorCallBackType old_cb;
- old_cb = rpmErrorSetCallback(rpmError_callback_empty);
- rpmSetVerbosity(RPMMESS_FATALERROR);
- RETVAL = rpmdbOpen(root, &db, O_RDONLY, 0644) == 0 ? db : NULL;
- rpmErrorSetCallback(old_cb);
- rpmSetVerbosity(RPMMESS_NORMAL);
- OUTPUT:
- RETVAL
-
-void
-rpmdbClose(db)
- void *db
-
-int
-rpmdbTraverse(db, ...)
- void *db
- PREINIT:
- SV *callback = &PL_sv_undef;
- int count;
- Header h;
- rpmdbMatchIterator mi;
- CODE:
- if (items > 1) {
- callback = ST(1);
- }
- count = 0;
- mi = rpmdbInitIterator(db, RPMDBI_PACKAGES, NULL, 0);
- while (h = rpmdbNextIterator(mi)) {
- if (callback != &PL_sv_undef && SvROK(callback)) {
- dSP;
- ENTER;
- SAVETMPS;
- PUSHMARK(sp);
- XPUSHs(sv_2mortal(newSViv((IV)(void *)h)));
- PUTBACK;
- perl_call_sv(callback, G_DISCARD | G_SCALAR);
- FREETMPS;
- LEAVE;
- }
- ++count;
- }
- rpmdbFreeIterator(mi);
- RETVAL = count;
- OUTPUT:
- RETVAL
-
-int
-rpmdbNameTraverse(db, name, ...)
- void *db
- char *name
- PREINIT:
- SV *callback = &PL_sv_undef;
- int count;
- Header h;
- rpmdbMatchIterator mi;
- rpmErrorCallBackType oldcb;
- CODE:
- if (items > 2) {
- callback = ST(2);
- }
- count = 0;
- mi = rpmdbInitIterator(db, RPMTAG_NAME, name, 0);
- oldcb = rpmErrorSetCallback(rpmError_callback_empty);
- while (h = rpmdbNextIterator(mi)) {
- if (callback != &PL_sv_undef && SvROK(callback)) {
- dSP;
- ENTER;
- SAVETMPS;
- PUSHMARK(sp);
- XPUSHs(sv_2mortal(newSViv((IV)(void *)h)));
- PUTBACK;
- perl_call_sv(callback, G_DISCARD | G_SCALAR);
- FREETMPS;
- LEAVE;
- }
- ++count;
- }
- rpmErrorSetCallback(oldcb);
- rpmdbFreeIterator(mi);
- RETVAL = count;
- OUTPUT:
- RETVAL
-
-
-void *
-rpmtransCreateSet(db, rootdir)
- void *db
- char *rootdir
-
-void
-rpmtransAvailablePackage(rpmdep, header, key)
- void *rpmdep
- void *header
- char *key
- CODE:
- rpmtransAvailablePackage(rpmdep, header, strdup(key));
-
-int
-rpmtransAddPackage(rpmdep, header, key, update)
- void *rpmdep
- void *header
- char *key
- int update
- CODE:
- rpmTransactionSet r = rpmdep;
- RETVAL = rpmtransAddPackage(r, header, NULL, strdup(key), update, NULL) == 0;
- /* rpminstall.c of rpm-4 call headerFree directly after, we can make the same ?*/
- OUTPUT:
- RETVAL
-
-int
-rpmtransRemovePackages(db, rpmdep, p)
- void *db
- void *rpmdep
- char *p
- CODE:
- rpmdb d = db;
- rpmTransactionSet r = rpmdep;
- Header h;
- rpmdbMatchIterator mi;
- int count = 0;
- mi = rpmdbInitIterator(db, RPMDBI_LABEL, p, 0);
- while (h = rpmdbNextIterator(mi)) {
- unsigned int recOffset = rpmdbGetIteratorOffset(mi);
- if (recOffset) {
- rpmtransRemovePackage(rpmdep, recOffset);
- ++count;
- }
- }
- rpmdbFreeIterator(mi);
- RETVAL=count;
- OUTPUT:
- RETVAL
-
-int
-rpmdepOrder(order)
- void *order
- CODE:
- RETVAL = rpmdepOrder(order) == 0;
- OUTPUT:
- RETVAL
-
-void
-rpmdepCheck(rpmdep)
- void *rpmdep
- PPCODE:
- struct rpmDependencyConflict * conflicts;
- int numConflicts, i;
- rpmdepCheck(rpmdep, &conflicts, &numConflicts);
- if (numConflicts) {
- EXTEND(SP, numConflicts);
- for (i = 0; i < numConflicts; i++)
- if (conflicts[i].sense == RPMDEP_SENSE_CONFLICTS) {
- fprintf(stderr, "%s conflicts with %s\n", conflicts[i].byName, conflicts[i].needsName);
- } else {
- if (conflicts[i].suggestedPackage)
- PUSHs(sv_2mortal(newSVpv((char *) conflicts[i].suggestedPackage, 0)));
- else {
- char *p = malloc(100 + strlen(conflicts[i].needsName) + strlen(conflicts[i].byName));
- sprintf(p, "%s needed but nothing provide it (%s)", conflicts[i].needsName, conflicts[i].byName);
- PUSHs(sv_2mortal(newSVpv(p, 0)));
- free(p);
- }
- }
- }
-
-void
-rpmdepCheckFrom(rpmdep)
- void *rpmdep
- PPCODE:
- struct rpmDependencyConflict * conflicts;
- int numConflicts, i;
- rpmdepCheck(rpmdep, &conflicts, &numConflicts);
- if (numConflicts) {
- EXTEND(SP, numConflicts);
- for (i = 0; i < numConflicts; i++)
- PUSHs(sv_2mortal(newSVpv(conflicts[i].byName, 0)));
- }
-
-int
-rpmdbRebuild(root)
- char *root
- CODE:
- rpmErrorCallBackType old_cb;
- old_cb = rpmErrorSetCallback(rpmError_callback_empty);
- rpmSetVerbosity(RPMMESS_FATALERROR);
- RETVAL = rpmdbRebuild(root) == 0;
- rpmErrorSetCallback(old_cb);
- rpmSetVerbosity(RPMMESS_NORMAL);
- OUTPUT:
- RETVAL
-
-void
-rpmtransFree(trans)
- void *trans
-
-char *
-rpmErrorString()
-
-int
-rpmVersionCompare(headerFirst, headerSecond)
- void *headerFirst
- void *headerSecond
-
-void
-rpmSetVeryVerbose()
- CODE:
- rpmSetVerbosity(RPMMESS_DEBUG);
-
-void
-rpmtransSetScriptFd(trans, fd)
- void *trans
- int fd
- CODE:
- static FD_t scriptFd = NULL;
- if (scriptFd != NULL) fdClose(scriptFd);
- scriptFd = fdDup(fd);
- rpmtransSetScriptFd(trans, scriptFd);
-
-void
-rpmRunTransactions(trans, callbackOpen, callbackClose, callbackMessage, force)
- void *trans
- SV *callbackOpen
- SV *callbackClose
- SV *callbackMessage
- int force
- PPCODE:
- rpmProblemSet probs;
- void *rpmRunTransactions_callback(const Header h, const rpmCallbackType what, const unsigned long amount, const unsigned long total, const void * pkgKey, void * data) {
- static int last_amount;
- static FD_t fd = NULL;
- char *msg = NULL;
- char *param_s = NULL;
- const unsigned long *param_ul1 = NULL;
- const unsigned long *param_ul2 = NULL;
- char *n = (char *) pkgKey;
- static struct timeval tprev;
- static struct timeval tcurr;
- long delta;
-
- switch (what) {
- case RPMCALLBACK_INST_OPEN_FILE: {
- int i;
- dSP;
- PUSHMARK(sp);
- XPUSHs(sv_2mortal(newSVpv(n, 0)));
- PUTBACK;
- i = perl_call_sv(callbackOpen, G_SCALAR);
- SPAGAIN;
- if (i != 1) croak("Big trouble\n");
- i = POPi; fd = fdDup(i);
- fd = fdLink(fd, "persist DrakX");
- PUTBACK;
- return fd;
- }
-
- case RPMCALLBACK_INST_CLOSE_FILE: {
- dSP;
- PUSHMARK(sp);
- XPUSHs(sv_2mortal(newSVpv(n, 0)));
- PUTBACK;
- perl_call_sv(callbackClose, G_DISCARD);
- free(n); /* was strdup in rpmtransAddPackage */
- fd = fdFree(fd, "persist DrakX");
- if (fd) {
- fdClose(fd);
- fd = NULL;
- }
- break;
- }
-
- case RPMCALLBACK_TRANS_START: {
- switch (amount) {
- case 1: msg = "Examining packages to install..."; break;
- case 5: msg = "Examining files to install..."; break;
- case 6: msg = "Finding overlapping files..."; break;
- }
- if (msg) param_ul1 = &total;
- } break;
-
- case RPMCALLBACK_UNINST_START: {
- msg = "Removing old files...";
- param_ul1 = &total;
- } break;
-
- case RPMCALLBACK_TRANS_PROGRESS: {
- msg = "Progressing transaction";
- param_ul1 = &amount;
- } break;
-
- case RPMCALLBACK_UNINST_PROGRESS: {
- msg = "Progressing removing old files";
- param_ul1 = &amount;
- } break;
-
- case RPMCALLBACK_TRANS_STOP: {
- msg = "Done transaction";
- } break;
-
- case RPMCALLBACK_UNINST_STOP: {
- msg = "Done removing old files";
- } break;
-
- case RPMCALLBACK_INST_START: {
- msg = "Starting installing package";
- gettimeofday(&tprev, NULL);
- param_s = n;
-
- last_amount = 0;
- } break;
-
- case RPMCALLBACK_INST_PROGRESS:
- gettimeofday(&tcurr, NULL);
- delta = 1000000 * (tcurr.tv_sec - tprev.tv_sec) + (tcurr.tv_usec - tprev.tv_usec);
- if (delta > 200000 || amount >= total - 1) { /* (total && (amount - last_amount) * 22 / 4 / total)) { */
- msg = "Progressing installing package";
- param_s = n;
- param_ul1 = &amount;
- param_ul2 = &total;
-
- tprev = tcurr;
- last_amount = amount;
- } break;
- default: break;
- }
-
- if (msg) {
- dSP ;
- PUSHMARK(sp) ;
- XPUSHs(sv_2mortal(newSVpv(msg, 0)));
- if (param_s) {
- XPUSHs(sv_2mortal(newSVpv(param_s, 0)));
- }
- if (param_ul1) {
- XPUSHs(sv_2mortal(newSViv(*param_ul1)));
- }
- if (param_ul2) {
- XPUSHs(sv_2mortal(newSViv(*param_ul2)));
- }
- PUTBACK ;
- perl_call_sv(callbackMessage, G_DISCARD);
- }
- return NULL;
- }
- if (rpmRunTransactions(trans, rpmRunTransactions_callback, NULL, NULL, &probs, 0, force ? ~0 : ~RPMPROB_FILTER_DISKSPACE)) {
- int i;
- /* printf("rpmRunTransactions finished, errors occured %d\n", probs->numProblems); fflush(stdout); */
- EXTEND(SP, probs->numProblems);
- for (i = 0; i < probs->numProblems; i++) {
- PUSHs(sv_2mortal(newSVpv(rpmProblemString(probs->probs[i]), 0)));
- }
- }
-
-void
-rpmErrorSetCallback(fd)
- int fd
- CODE:
- rpmError_callback_data = fd;
- rpmErrorSetCallback(rpmError_callback);
-
-void *
-rpmReadPackageHeader(fdno)
- int fdno
- CODE:
- Header h;
- int isSource, major;
- FD_t fd = fdDup(fdno);
- RETVAL = rpmReadPackageHeader(fd, &h, &isSource, &major, NULL) ? NULL : h;
- fdClose(fd);
- OUTPUT:
- RETVAL
-
-void *
-headerRead(fdno, magicp)
- int fdno
- int magicp
- CODE:
- FD_t fd = fdDup(fdno);
- RETVAL = (void *) headerRead(fd, magicp);
- fdClose(fd);
- OUTPUT:
- RETVAL
-
-void
-headerFree(header)
- void *header
-
-char *
-headerGetEntry_string(h, query)
- void *h
- int query
- CODE:
- int type, count;
- headerGetEntry((Header) h, query, &type, (void **) &RETVAL, &count);
- OUTPUT:
- RETVAL
-
-int
-headerGetEntry_int(h, query)
- void *h
- int query
- CODE:
- int type, count, *i;
- headerGetEntry((Header) h, query, &type, (void **) &i, &count);
- RETVAL = *i;
- OUTPUT:
- RETVAL
-
-void
-headerGetEntry_int_list(h, query)
- void *h
- int query
- PPCODE:
- int i, type, count = 0;
- int_32 *intlist = (int_32 *) NULL;
- if (headerGetEntry((Header) h, query, &type, (void**) &intlist, &count)) {
- if (count > 0) {
- EXTEND(SP, count);
- for (i = 0; i < count; i++) {
- PUSHs(sv_2mortal(newSViv(intlist[i])));
- }
- }
- }
-
-void
-headerGetEntry_string_list(h, query)
- void *h
- int query
- PPCODE:
- int i, type, count = 0;
- char **strlist = (char **) NULL;
- if (headerGetEntry((Header) h, query, &type, (void**) &strlist, &count)) {
- if (count > 0) {
- EXTEND(SP, count);
- for (i = 0; i < count; i++) {
- PUSHs(sv_2mortal(newSVpv(strlist[i], 0)));
- }
- }
- free(strlist);
- }
-
-void
-headerGetEntry_filenames(h)
- void *h
- PPCODE:
- int i, type, count = 0;
- char ** baseNames, ** dirNames;
- int_32 * dirIndexes;
- char **strlist = (char **) NULL;
-
- if (headerGetEntry((Header) h, RPMTAG_OLDFILENAMES, &type, (void**) &strlist, &count)) {
- if (count > 0) {
- EXTEND(SP, count);
- for (i = 0; i < count; i++) {
- PUSHs(sv_2mortal(newSVpv(strlist[i], 0)));
- }
- }
- free(strlist);
- } else {
-
- headerGetEntry(h, RPMTAG_BASENAMES, &type, (void **) &baseNames, &count);
- headerGetEntry(h, RPMTAG_DIRINDEXES, &type, (void **) &dirIndexes, NULL);
- headerGetEntry(h, RPMTAG_DIRNAMES, &type, (void **) &dirNames, NULL);
-
- if (baseNames && dirNames && dirIndexes) {
- EXTEND(SP, count);
- for(i = 0; i < count; i++) {
- char *p = malloc(strlen(dirNames[dirIndexes[i]]) + strlen(baseNames[i]) + 1);
- if (p == NULL) croak("malloc failed");
- strcpy(p, dirNames[dirIndexes[i]]);
- strcat(p, baseNames[i]);
- PUSHs(sv_2mortal(newSVpv(p, 0)));
- free(p);
- }
- free(baseNames);
- free(dirNames);
- }
- }
-';
-
-@macros = (
- [ qw(int S_IFCHR S_IFBLK KDSKBENT KT_SPEC NR_KEYS MAX_NR_KEYMAPS BLKRRPART TIOCSCTTY
- HDIO_GETGEO BLKGETSIZE LOOP_GET_STATUS
- MS_MGC_VAL MS_RDONLY O_NONBLOCK O_CREAT SECTORSIZE WNOHANG
- VT_ACTIVATE VT_WAITACTIVE VT_GETSTATE CDROM_LOCKDOOR CDROMEJECT
- ) ],
-);
-push @macros, [ qw(int RPMTAG_NAME RPMTAG_GROUP RPMTAG_SIZE RPMTAG_VERSION RPMTAG_SUMMARY RPMTAG_DESCRIPTION RPMTAG_RELEASE RPMTAG_ARCH RPMTAG_OBSOLETES RPMTAG_REQUIRENAME RPMTAG_FILEFLAGS RPMFILE_CONFIG) ]
- if $ENV{C_RPM};
-
-$\= "\n";
-print;
-
-foreach (@macros) {
- my ($type, @l) = @$_;
- foreach (@l) {
- print<< "END"
-$type
-$_()
- CODE:
- RETVAL = $_;
-
- OUTPUT:
- RETVAL
-
-END
-
- }
-}
diff --git a/perl-install/class_discard.pm b/perl-install/class_discard.pm
deleted file mode 100644
index 7ecd1375b..000000000
--- a/perl-install/class_discard.pm
+++ /dev/null
@@ -1,11 +0,0 @@
-package class_discard; # $Id$
-
-use log;
-
-sub new { bless {}, "class_discard" }
-
-sub AUTOLOAD {
- log::l("class_discard: $AUTOLOAD called at ", caller);
-}
-
-1;
diff --git a/perl-install/commands b/perl-install/commands
deleted file mode 100755
index edd22bb5f..000000000
--- a/perl-install/commands
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/perl
-
-use diagnostics;
-use strict;
-
-use lib qw(/usr/bin/perl-install .);
-use common qw(:file);
-use commands;
-
-my $progname = basename($0);
-
-# hack as some functions are defined by perl... so chmod -> chmod_
-&{$commands::{$progname} || $commands::{$progname . "_"} || \&err}(@ARGV), exit 0;
-
-sub err { die "$0: unknown program (unimplemented)\n"; }
diff --git a/perl-install/commands.pm b/perl-install/commands.pm
deleted file mode 100644
index c6f8100e9..000000000
--- a/perl-install/commands.pm
+++ /dev/null
@@ -1,596 +0,0 @@
-#-########################################################################
-#- This file implement many common shell commands:
-#- true, false, cat, which, dirname, basename, rmdir, lsmod, grep, tr,
-#- mount, umount, mkdir, mknod, ln, rm, chmod, chown, mkswap, swapon,
-#- swapoff, ls, cp, ps, dd, head, tail, strings, hexdump, more, insmod,
-#- modprobe, route, df, kill, lspci, lssbus, dmesg, sort, du,
-#-########################################################################
-package commands; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw($printable_chars);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :file :system :constant);
-
-#-#####################################################################################
-#- Globals
-#-#####################################################################################
-my $BUFFER_SIZE = 1024;
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub getopts {
- my $o = shift;
- my @r = map { '' } (@_ = split //, $_[0]);
- while (1) {
- local $_ = $o->[0];
- $_ && /^-/ or return @r;
- for (my $i = 0; $i < @_; $i++) { /$_[$i]/ and $r[$i] = $_[$i]; }
- shift @$o;
- }
- @r;
-}
-
-sub true { exit 0 }
-sub false { exit 1 }
-sub cat { @ARGV = @_; print while <> }
-sub which { ARG: foreach (@_) { foreach my $c (split /:/, $ENV{PATH}) { -x "$c/$_" and print("$c/$_\n"), next ARG; }}}
-sub dirname_ { print dirname(@_), "\n" }
-sub basename_ { print basename(@_), "\n" }
-sub rmdir_ { foreach (@_) { rmdir $_ or die "rmdir: can't remove $_\n" } }
-sub lsmod { print "Module Size Used by\n"; cat("/proc/modules"); }
-
-sub grep_ {
- my ($h, $v, $i) = getopts(\@_, qw(hvi));
- @_ == 0 || $h and die "usage: grep <regexp> [files...]\n";
- my $r = shift;
- $r = qr/$r/i if $i;
- @ARGV = @_; (/$r/ ? $v || print : $v && print) while <>
-}
-
-sub tr_ {
- my ($s, $c, $d) = getopts(\@_, qw(s c d));
- @_ >= 1 + (!$d || $s) or die "usage: tr [-c] [-s [-d]] <set1> <set2> [files...]\n or tr [-c] -d <set1> [files...]\n";
- my $set1 = shift;
- my $set2; !$d || $s and $set2 = shift;
- @ARGV = @_;
- eval "(tr/$set1/$set2/$s$d$c, print) while <>";
-}
-
-sub mount {
- @_ or return cat("/proc/mounts");
- my ($t, $r) = getopts(\@_, qw(tr));
- my $fs = $t && shift;
-
- @_ == 2 or die "usage: mount [-r] [-t <fs>] <device> <dir>\n",
- " (use -r for readonly)\n",
- " (if /dev/ is left off the device name, a temporary node will be created)\n";
-
- my ($dev, $where) = @_;
- $fs ||= $where =~ /:/ ? "nfs" :
- $dev =~ /fd/ ? "vfat" : "ext2";
-
- require fs;
- require modules;
- modules::load_deps("/modules/modules.dep");
- fs::mount($dev, $where, $fs, $r);
-}
-
-sub umount {
- @_ == 1 or die "umount expects a single argument\n";
-
- require fs;
- fs::umount($_[0]);
-}
-
-sub mkdir_ {
- my ($rec) = getopts(\@_, qw(p));
-
- my $mkdir; $mkdir = sub {
- my $root = dirname $_[0];
- if (-e $root) {
- -d $root or die "mkdir: error creating directory $_[0]: $root is a file and i won't delete it\n";
- } else {
- $rec or die "mkdir: $root does not exist (try option -p)\n";
- &$mkdir($root);
- }
- $rec and -d $_[0] and return;
- mkdir $_[0], 0755 or die "mkdir: error creating directory $_: $!\n";
- };
- &$mkdir($_) foreach @_;
-}
-
-
-sub mknod {
- if (@_ == 1) {
- require devices;
- eval { devices::make($_[0]) }; $@ and die "mknod: failed to create $_[0]\n";
- } elsif (@_ == 4) {
- require c;
- my $mode = $ {{"b" => c::S_IFBLK(), "c" => c::S_IFCHR()}}{$_[1]} or die "unknown node type $_[1]\n";
- syscall_('mknod', my $a = $_[0], $mode | 0600, makedev($_[2], $_[3])) or die "mknod failed: $!\n";
- } else { die "usage: mknod <path> [b|c] <major> <minor> or mknod <path>\n"; }
-}
-
-sub ln {
- my ($force, $soft) = getopts(\@_, qw(fs));
- @_ >= 1 or die "usage: ln [-s] [-f] <source> [<dest>]\n";
-
- my ($source, $dest) = @_;
- $dest ||= basename($source);
-
- $force and unlink $dest;
-
- ($soft ? symlink($source, $dest) : link($source, $dest)) or die "ln failed: $!\n";
-}
-
-sub rm {
- my ($rec, undef) = getopts(\@_, qw(rf));
-
- my $rm; $rm = sub {
- foreach (@_) {
- if (!-l $_ && -d $_) {
- $rec or die "$_ is a directory\n";
- &$rm(glob_($_));
- rmdir $_ or die "can't remove directory $_: $!\n";
- } else { unlink $_ or die "rm of $_ failed: $!\n" }
- }
- };
- &$rm(@_);
-}
-
-sub chmod_ {
- @_ >= 2 or die "usage: chmod <mode> <files>\n";
-
- my $mode = shift;
- $mode =~ /^[0-7]+$/ or die "illegal mode $mode\n";
-
- foreach (@_) { chmod oct($mode), $_ or die "chmod failed $_: $!\n" }
-}
-
-sub chown_ {
- my ($rec, undef) = getopts(\@_, qw(r));
- local $_ = shift or die "usage: chown [-r] name[.group] <files>\n";
-
- my ($name, $group) = (split('\.'), $_);
-
- my ($uid, $gid) = (getpwnam($name) || $name, getgrnam($group) || $group);
-
- my $chown; $chown = sub {
- foreach (@_) {
- chown $uid, $gid, $_ or die "chown of file $_ failed: $!\n";
- -d $_ && $rec and &$chown(glob_($_));
- }
- };
- &$chown(@_);
-}
-
-sub mkswap {
- @_ == 1 or die "mkswap <device>\n";
- require swap;
- swap::enable($_[0], 0);
-}
-
-sub swapon {
- @_ == 1 or die "swapon <file>\n";
- require swap;
- swap::swapon($_[0]);
-}
-sub swapoff {
- @_ == 1 or die "swapoff <file>\n";
- require swap;
- swap::swapoff($_[0]);
-}
-
-sub uncpio {
- @_ and die "uncpio reads from stdin\n";
-
-# cpioInstallArchive(gzdopen(0, "r"), NULL, 0, NULL, NULL, &fail);
-}
-
-
-sub rights {
- my $r = '-' x 9;
- my @rights = (qw(x w r x w r x w r), ['t', 0], ['s', 3], ['s', 6]);
- for (my $i = 0; $i < @rights; $i++) {
- if (vec(pack("S", $_[0]), $i, 1)) {
- my ($val, $place) = $i >= 9 ? @{$rights[$i]} : ($rights[$i], $i);
- my $old = \substr($r, 8 - $place, 1);
- $$old = ($$old eq '-' && $i >= 9) ? uc $val : $val;
- }
- }
- my @types = split //, "_pc_d_b_-_l_s";
- $types[$_[0] >> 12 & 0xf] . $r;
-}
-
-sub displaySize {
- my $m = $_[0] >> 12;
- $m == 4 || $m == 8 || $m == 10;
-}
-
-sub ls {
- my ($l , $h) = getopts(\@_, qw(lh));
- $h and die "usage: ls [-l] <files...>\n";
-
- @_ or @_ = '.';
- @_ == 1 && -d $_[0] and @_ = glob_($_[0]);
- foreach (sort @_) {
- if ($l) {
- my @s = lstat or warn("can't stat file $_\n"), next;
- formline(
-"@<<<<<<<<< @<<<<<<< @<<<<<<< @>>>>>>>> @>>>>>>>>>>>>>>> @*\n",
- rights($s[2]), getpwuid $s[4] || $s[4], getgrgid $s[5] || $s[5],
- displaySize($s[2]) ? $s[7] : join(", ", unmakedev($s[6])),
- scalar localtime $s[9], -l $_ ? "$_ -> " . readlink $_ : $_);
- print $^A; $^A = '';
- } else { print "$_\n"; }
- }
-}
-sub cp {
- my ($force) = getopts(\@_, qw(f));
- @_ >= 2 or die "usage: cp [-f] <sources> <dest>\n(this cp does -Rl by default)\n";
-
- my $cp; $cp = sub {
- my $dest = pop @_;
-
- @_ or return;
- @_ == 1 || -d $dest or die "cp: copying multiple files, but last argument ($dest) is not a directory\n";
-
- foreach my $src (@_) {
- my $dest = $dest;
- -d $dest and $dest .= "/" . basename($src);
-
- if (-e $dest) {
- $force ? unlink $dest : die "file $dest already exist\n";
- }
-
- if (-d $src) {
- -d $dest or mkdir $dest, mode($src) or die "mkdir: can't create directory $dest: $!\n";
- &$cp(glob_($src), $dest);
- } elsif (-l $src) {
- unless (symlink((readlink($src) || die "readlink failed: $!"), $dest)) {
- my $msg = "symlink: can't create symlink $dest: $!\n";
- $force ? warn $msg : die $msg;
- }
- } else {
- local (*F, *G);
- open F, $src or die "can't open $src for reading: $!\n";
- open G, "> $dest" or $force or die "can't create $dest : $!\n";
- local $_;
- while (<F>) { print G $_ }
- chmod mode($src), $dest;
- }
- }
- };
- &$cp(@_);
-}
-
-sub ps {
- @_ and die "usage: ps\n";
- my ($pid, $rss, $cpu, $cmd);
- my ($uptime) = split ' ', first(cat_("/proc/uptime"));
- my $hertz = 100;
-
- require c;
- my $page = c::getpagesize() / 1024;
-
- open PS, ">&STDOUT";
- format PS_TOP =
- PID RSS %CPU CMD
-.
- format PS =
-@>>>> @>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-$pid, $rss, $cpu, $cmd
-.
- foreach $pid (sort {$a <=> $b} grep { /\d+/ } all('/proc')) {
- my @l = split(' ', cat_("/proc/$pid/stat"));
- $cpu = sprintf "%2.1f", max(0, min(99, ($l[13] + $l[14]) * 100 / $hertz / ($uptime - $l[21] / $hertz)));
- $rss = (split ' ', cat_("/proc/$pid/stat"))[23] * $page;
- (($cmd) = cat_("/proc/$pid/cmdline")) =~ s/\0/ /g;
- $cmd ||= (split ' ', (cat_("/proc/$pid/stat"))[0])[1];
- write PS;
- }
-}
-
-
-sub dd {
- my $u = "usage: dd [-h] [-p] [if=<file>] [of=<file>] [bs=<number>] [count=<number>]\n";
- my ($help, $percent) = getopts(\@_, qw(hp));
- die $u if $help;
- my %h = (if => *STDIN, of => *STDOUT, bs => 512, count => undef);
- foreach (@_) {
- /(.*?)=(.*)/ && exists $h{$1} or die $u;
- $h{$1} = $2;
- }
- local (*IF, *OF); my ($tmp, $nb, $read);
- ref $h{if} eq 'GLOB' ? *IF = $h{if} : sysopen(IF, $h{if}, 0 ) || die "error: can't open file $h{if}\n";
- ref $h{of} eq 'GLOB' ? *OF = $h{of} : sysopen(OF, $h{of}, 0x41) || die "error: can't open file $h{of}\n";
-
- $h{bs} = removeXiBSuffix($h{bs});
-
- for ($nb = 0; !$h{count} || $nb < $h{count}; $nb++) {
- printf "\r%02.1d%%", 100 * $nb / $h{count} if $h{count} && $percent;
- $read = sysread(IF, $tmp, $h{bs}) or $h{count} ? die "error: can't read block $nb\n" : last;
- syswrite(OF, $tmp) or die "error: can't write block $nb\n";
- $read < $h{bs} and $read = 1, last;
- }
- print STDERR "\r$nb+$read records in\n";
- print STDERR "$nb+$read records out\n";
-}
-
-sub head_tail {
- my ($h, $n) = getopts(\@_, qw(hn));
- $h || @_ < bool($n) and die "usage: $0 [-h] [-n lines] [<file>]\n";
- $n = $n ? shift : 10;
- local *F; @_ ? open(F, $_[0]) || die "error: can't open file $_[0]\n" : (*F = *STDIN);
-
- local $_;
- if ($0 eq 'head') {
- while (<F>) { $n-- or return; print }
- } else {
- @_ = (); while (<F>) { push @_, $_; @_ > $n and shift; }
- print @_;
- }
-}
-sub head { $0 = 'head'; &head_tail }
-sub tail { $0 = 'tail'; &head_tail }
-
-sub strings {
- my ($h, $o, $n) = getopts(\@_, qw(hon));
- $h and die "usage: strings [-o] [-n min-length] [<files>]\n";
- $n = $n ? shift : 4;
- $/ = "\0"; @ARGV = @_; my $l = 0; while (<>) {
- while (/[$printable_chars]{$n,}/og) {
- printf "%07d ", ($l + length $') if $o;
- print "$&\n" ;
- }
- $l += length;
- } continue { $l = 0 if eof }
-}
-
-sub hexdump {
- my $i = 0; $/ = \16; @ARGV = @_; while (<>) {
- printf "%08lX ", $i; $i += 16;
- print join(" ", (map { sprintf "%02X", $_ } unpack("C*", $_)),
- ($_ =~ s/[^$printable_chars]/./og, $_)[1]), "\n";
- }
-}
-
-sub more {
- @ARGV = @_;
- require devices;
- my $tty = devices::make('tty');
- local *IN; open IN, "<$tty" or die "can't open $tty\n";
- my $n = 0; while (<>) {
- if (++$n == 25) {
- my $v = <IN>;
- $v =~ /^q/ and exit 0;
- $n = 0;
- }
- print
- }
-}
-
-sub pack_ {
- my $t;
- foreach (@_) {
- if (-d $_) {
- pack_(glob_($_));
- } else {
- print -s $_, "\n";
- print $_, "\n";
-
- local *F;
- open F, $_ or die "can't read file $_: $!\n";
- while (read F, $t, $BUFFER_SIZE) { print $t; }
- }
- }
-}
-
-sub unpack_ {
- my $t;
- @_ == 1 or die "give me one and only one file to unpack\n";
- local *F;
- open F, $_[0] or die "can't open file $_: $!\n";
- while (1) {
- my ($size) = chop_(scalar <F>);
- defined $size or last;
- $size =~ /^\d+$/ or die "bad format (can't find file size)\n";
- my ($filename) = chop_(scalar <F>) or die "expecting filename\n";
-
- print "$filename\n";
- my $dir = dirname($filename);
- -d $dir or mkdir_('-p', $dir);
-
- local *G;
- open G, "> $filename" or die "can't write file $filename: $!\n";
- while ($size) {
- $size -= read(F, $t, min($size, $BUFFER_SIZE)) || die "data for file $filename is missing\n";
- print G $t or die "error writing to file $filename: $!\n";
- }
- }
-}
-
-sub insmod {
- my ($h) = getopts(\@_, qw(h));
- $h || @_ == 0 and die "usage: insmod <module> [options]\n";
- my $f = local $_ = shift;
-
- require run_program;
-
- #- try to install the module if it exist else extract it from archive.
- #- needed for cardmgr.
- unless (-r $f) {
- $_ = $1 if m@.*/([^/]*)\.o@;
- unless (-r ($f = "/lib/modules/$_.o")) {
- $f = "/tmp/$_.o";
- my $cz = "/lib/modules" . (arch() eq 'sparc64' && "64") . ".cz"; -e $cz or $cz .= "2";
- if (-e $cz) {
- eval {
- require packdrake;
- my $packer = new packdrake($cz, quiet => 1);
- $packer->extract_archive("/tmp", "$_.o");
- };
- } elsif (-e "/lib/modules.cpio.bz2") {
- run_program::run("cd /tmp ; $ENV{LD_LOADER} bzip2 -cd /lib/modules.cpio.bz2 | $ENV{LD_LOADER} cpio -i $_.o");
- } else {
- die "unable to find an archive for modules";
- }
- }
- }
- -r $f or die "can't find module $_";
- run_program::run(["/usr/bin/insmod_", "insmod"], "-f", $f, @_) or die("insmod $_ failed");
- unlink $f;
-}
-
-sub modprobe {
- my ($h) = getopts(\@_, qw(h));
- $h || @_ == 0 and die "usage: modprobe <module> [options]\n";
- my $name = shift;
- require modules;
- modules::load_deps("/modules/modules.dep");
- modules::load($name, '', @_);
-}
-
-sub route {
- @_ == 0 or die "usage: route\nsorry, no modification handled\n";
- my ($titles, @l) = cat_("/proc/net/route");
- my @titles = split ' ', $titles;
- my %l;
- open ROUTE, ">&STDOUT";
- format ROUTE_TOP =
-Destination Gateway Mask Iface
-.
- format ROUTE =
-@<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<
-$l{Destination}, $l{Gateway}, $l{Mask}, $l{Iface}
-.
- foreach (@l) {
- /^\s*$/ and next;
- @l{@titles} = split;
- $_ = join ".", reverse map { hex } unpack "a2a2a2a2", $_ foreach @l{qw(Destination Gateway Mask)};
- $l{Destination} = 'default' if $l{Destination} eq "0.0.0.0";
- $l{Gateway} = '*' if $l{Gateway} eq "0.0.0.0";
- write ROUTE;
- }
-}
-
-sub df {
- my ($h) = getopts(\@_, qw(h));
- my ($dev, $size, $free, $used, $use, $mntpoint);
- open DF, ">&STDOUT";
- format DF_TOP =
-Filesystem Size Used Avail Use Mounted on
-.
- format DF =
-@<<<<<<<<<<<<<<<< @>>>>>>> @>>>>>>> @>>>>>>> @>>>>>% @<<<<<<<<<<<<<<<<<<<<<<<<<
-$dev, $size, $used, $free, $use, $mntpoint
-.
- my %h;
- foreach (cat_("/proc/mounts"), cat_("/etc/mtab")) {
- ($dev, $mntpoint) = split;
- $h{$dev} = $mntpoint;
- }
- foreach $dev (sort keys %h) {
- ($size, $free) = common::df($mntpoint = $h{$dev});
- $size or next;
-
- $use = int (100 * ($size - $free) / $size);
- $used = $size - $free;
- if ($h) {
- $used = int ($used / 1024) . "M";
- $size = int ($size / 1024) . "M";
- $free = int ($free / 1024) . "M";
- }
- write DF if $size;
- }
-}
-
-sub kill {
- my $signal = 15;
- @_ or die "usage: kill [-<signal>] pids\n";
- $signal = (shift, $1)[1] if $_[0] =~ /^-(.*)/;
- kill $signal, @_ or die "kill failed: $!\n";
-}
-
-sub lspci {
- require detect_devices;
- print join "\n", detect_devices::stringlist(), '';
-}
-*lssbus = *lspci;
-
-sub dmesg { print cat_("/tmp/syslog"); }
-
-sub sort {
- my ($n, $h) = getopts(\@_, qw(nh));
- $h and die "usage: sort [-n] [<file>]\n";
- local *F; @_ ? open(F, $_[0]) || die "error: can't open file $_[0]\n" : (*F = *STDIN);
- if ($n) {
- print sort { $a <=> $b } <F>;
- } else {
- print sort <F>;
- }
-}
-
-sub du {
- my ($s, $h) = getopts(\@_, qw(sh));
- $h || !$s and die "usage: du -s [<directories>]\n";
-
- my $f; $f = sub {
- my ($e) = @_;
- my $s = (lstat($e))[12];
- $s += sum map { &$f($_) } glob_("$e/*") if !-l $e && -d $e;
- $s;
- };
- print &$f($_) >> 1, "\t$_\n" foreach @_ ? @_ : glob_("*");
-}
-
-sub install_cpio($$;@) {
- my ($dir, $name, @more) = @_;
-
- return "$dir/$name" if -e "$dir/$name";
-
- my $cpio = "$dir.cpio.bz2";
- -e $cpio or return;
-
- eval { rm("-r", $dir) };
- mkdir $dir, 0755;
- require run_program;
-
- my $more = join " ", map { $_ && "$_ $_/*" } @more;
- run_program::run("cd $dir ; $ENV{LD_LOADER} bzip2 -cd $cpio | $ENV{LD_LOADER} cpio -id $name $name/* $more");
-
- "$dir/$name";
-}
-
-sub bug {
- my ($h) = getopts(\@_, "h");
- $h and die "usage: bug\nput file report.bug on fat formatted floppy\n";
-
- require detect_devices;
- mount devices::make(detect_devices::floppy()), "/fd0";
-
- require install_any;
- output "/fd0/report.bug", install_any::report_bug("/mnt"); #- no other way :-(
- umount "/fd0";
- sync;
-}
-
-sub loadkeys {
- my ($h) = getopts(\@_, "h");
- $h || @_ != 1 and die "usage: loadkeys <keyboard>\n";
-
- require keyboard;
- keyboard::setup($_[0]);
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
-
diff --git a/perl-install/common.pm b/perl-install/common.pm
deleted file mode 100644
index 9b2ace894..000000000
--- a/perl-install/common.pm
+++ /dev/null
@@ -1,703 +0,0 @@
-package common; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $printable_chars $sizeof_int $bitof_int $cancel $SECTORSIZE %compat_arch);
-
-@ISA = qw(Exporter);
-%EXPORT_TAGS = (
- common => [ qw(__ may_apply even odd arch better_arch compat_arch min max sqr sum and_ or_ if_ if__ sign product bool invbool listlength bool2text bool2yesno text2bool to_int to_float ikeys member divide is_empty_array_ref is_empty_hash_ref add2hash add2hash_ put_in_hash set_new set_add round round_up round_down first second top uniq translate untranslate warp_text formatAlaTeX formatLines deref next_val_in_array) ],
- functional => [ qw(fold_left compose mapgrep map_index grep_index find_index map_each grep_each list2kv map_tab_hash mapn mapn_ difference2 before_leaving catch_cdie cdie combine) ],
- file => [ qw(dirname basename touch all glob_ cat_ cat__ catMaybeCompressed output symlinkf renamef chop_ mode typeFromMagic expand_symlinks) ],
- system => [ qw(sync makedev unmakedev psizeof strcpy gettimeofday syscall_ salt getVarsFromSh setVarsInSh setVarsInShMode setVarsInCsh substInFile availableMemory availableRamMB removeXiBSuffix formatXiB template2file template2userfile update_userkderc list_skels formatTime formatTimeRaw unix2dos setVirtual isCdNotEjectable) ],
- constant => [ qw($printable_chars $sizeof_int $bitof_int $SECTORSIZE %compat_arch) ],
-);
-@EXPORT_OK = map { @$_ } values %EXPORT_TAGS;
-
-
-#-#####################################################################################
-#- Globals
-#-#####################################################################################
-$printable_chars = "\x20-\x7E";
-$sizeof_int = psizeof("i");
-$bitof_int = $sizeof_int * 8;
-$SECTORSIZE = 512;
-%compat_arch = ( #- compatibilty arch mapping.
- 'noarch' => undef,
- 'i386' => 'noarch',
- 'i486' => 'i386',
- 'i586' => 'i486',
- 'i686' => 'i586',
- 'i786' => 'i686',
- 'k6' => 'i586',
- 'k7' => 'k6',
- 'k8' => 'k7',
- 'ppc' => 'noarch',
- 'alpha' => 'noarch',
- 'sparc' => 'noarch',
- 'sparc32' => 'sparc',
- 'sparc64' => 'sparc32',
- );
-
-#-#####################################################################################
-#- Functions
-#-#####################################################################################
-
-sub fold_left(&@) {
- my $f = shift;
- local $a = shift;
- foreach $b (@_) { $a = &$f() }
- $a
-}
-
-sub _ {
- my $s = shift @_; my $t = translate($s);
- $t && ref $t or return sprintf $t, @_;
- my ($T, @p) = @$t;
- sprintf $T, @_[@p];
-}
-#-delete $main::{'_'};
-sub __ { $_[0] }
-sub even($) { $_[0] % 2 == 0 }
-sub odd($) { $_[0] % 2 == 1 }
-sub min { fold_left { $a < $b ? $a : $b } @_ }
-sub max { fold_left { $a > $b ? $a : $b } @_ }
-sub sum { fold_left { $a + $b } @_ }
-sub and_{ fold_left { $a && $b } @_ }
-sub or_ { fold_left { $a || $b } @_ }
-sub sqr { $_[0] * $_[0] }
-sub sign { $_[0] <=> 0 }
-sub product { fold_left { $a * $b } @_ }
-sub first { $_[0] }
-sub second { $_[1] }
-sub top { $_[-1] }
-sub uniq { my %l; @l{@_} = (); keys %l }
-sub to_int { $_[0] =~ /(\d*)/; $1 }
-sub to_float { $_[0] =~ /(\d*(\.\d*)?)/; $1 }
-sub ikeys { my %l = @_; sort { $a <=> $b } keys %l }
-sub add2hash($$) { my ($a, $b) = @_; while (my ($k, $v) = each %{$b || {}}) { $a->{$k} ||= $v } $a }
-sub add2hash_($$) { my ($a, $b) = @_; while (my ($k, $v) = each %{$b || {}}) { exists $a->{$k} or $a->{$k} = $v } $a }
-sub put_in_hash($$) { my ($a, $b) = @_; while (my ($k, $v) = each %{$b || {}}) { $a->{$k} = $v } $a }
-sub member { my $e = shift; foreach (@_) { $e eq $_ and return 1 } 0 }
-sub dirname { @_ == 1 or die "usage: dirname <name>\n"; local $_ = shift; s|[^/]*/*\s*$||; s|(.)/*$|$1|; $_ || '.' }
-sub basename { @_ == 1 or die "usage: basename <name>\n"; local $_ = shift; s|/*\s*$||; s|.*/||; $_ }
-sub bool($) { $_[0] ? 1 : 0 }
-sub invbool { my $a = shift; $$a = !$$a; $$a }
-sub listlength { scalar @_ }
-sub bool2text { $_[0] ? "true" : "false" }
-sub bool2yesno { $_[0] ? "yes" : "no" }
-sub text2bool { my $t = lc($_[0]); $t eq "true" || $t eq "yes" ? 1 : 0 }
-sub strcpy { substr($_[0], $_[2] || 0, length $_[1]) = $_[1] }
-sub cat_ { local *F; open F, $_[0] or $_[1] ? die "cat of file $_[0] failed: $!\n" : return; my @l = <F>; wantarray ? @l : join '', @l }
-sub cat__ { my ($f) = @_; my @l = <$f>; wantarray ? @l : join '', @l }
-sub output { my $f = shift; local *F; open F, ">$f" or die "output in file $f failed: $!\n"; print F foreach @_; }
-sub deref { ref $_[0] eq "ARRAY" ? @{$_[0]} : ref $_[0] eq "HASH" ? %{$_[0]} : $_[0] }
-sub linkf { unlink $_[1]; link $_[0], $_[1] }
-sub symlinkf { unlink $_[1]; symlink $_[0], $_[1] }
-sub renamef { unlink $_[1]; rename $_[0], $_[1] }
-sub chop_ { map { my $l = $_; chomp $l; $l } @_ }
-sub divide { my $d = int $_[0] / $_[1]; wantarray ? ($d, $_[0] % $_[1]) : $d }
-sub round { int ($_[0] + 0.5) }
-sub round_up { my ($i, $r) = @_; $i = int $i; $i += $r - ($i + $r - 1) % $r - 1; }
-sub round_down { my ($i, $r) = @_; $i = int $i; $i -= $i % $r; }
-sub is_empty_array_ref { my $a = shift; !defined $a || @$a == 0 }
-sub is_empty_hash_ref { my $a = shift; !defined $a || keys(%$a) == 0 }
-sub difference2 { my %l; @l{@{$_[1]}} = (); grep { !exists $l{$_} } @{$_[0]} }
-sub intersection { my (%l, @m); @l{@{shift @_}} = (); foreach (@_) { @m = grep { exists $l{$_} } @$_; %l = (); @l{@m} = (); } keys %l }
-
-sub set_new(@) { my %l; @l{@_} = undef; { list => [ @_ ], hash => \%l } }
-sub set_add($@) { my $o = shift; foreach (@_) { exists $o->{hash}{$_} and next; push @{$o->{list}}, $_; $o->{hash}{$_} = undef } }
-
-sub sync { syscall_('sync') }
-sub gettimeofday { my $t = pack "LL"; syscall_('gettimeofday', $t, 0) or die "gettimeofday failed: $!\n"; unpack("LL", $t) }
-sub unix2dos { local $_ = $_[0]; s/\015$//mg; s/$/\015/mg; $_ }
-
-sub openFileMaybeCompressed {
- my ($f) = @_;
- -e $f || -e "$f.gz" or die "file $f not found";
- open F, -e $f ? $f : "gzip -dc $f.gz|";
- *F;
-}
-sub catMaybeCompressed { cat__(openFileMaybeCompressed($_[0])) }
-
-sub remove_spaces { local $_ = shift; s/^ +//; s/ +$//; $_ }
-sub mode { my @l = stat $_[0] or die "unable to get mode of file $_[0]: $!\n"; $l[2] }
-sub psizeof { length pack $_[0] }
-
-sub concat_symlink {
- my ($f, $l) = @_;
- $l =~ m|^\.\./(/.*)| and return $1;
-
- $f =~ s|/$||;
- while ($l =~ s|^\.\./||) {
- $f =~ s|/[^/]+$|| or die "concat_symlink: $f $l\n";
- }
- "$f/$l";
-}
-
-sub expand_symlinks {
- my ($first, @l) = split '/', $_[0];
- $first eq '' or die "expand_symlinks: $_[0] is relative\n";
- my ($f, $l);
- foreach (@l) {
- $f .= "/$_";
- $f = concat_symlink($f, "../$l") while $l = readlink $f;
- }
- $f;
-}
-
-sub may_apply { $_[0] ? $_[0]->($_[1]) : (@_ > 2 ? $_[2] : $_[1]) }
-
-sub if_($@) {
- my $b = shift;
- $b or return ();
- wantarray || @_ <= 1 or die("if_ called in scalar context with more than one argument " . join(":", caller()));
- wantarray ? @_ : $_[0];
-}
-sub if__($@) {
- my $b = shift;
- defined $b or return ();
- wantarray || @_ <= 1 or die("if_ called in scalar context with more than one argument " . join(":", caller()));
- wantarray ? @_ : $_[0];
-}
-sub arch() {
- require c;
- c::kernel_arch();
-}
-sub better_arch {
- my ($new, $old) = @_;
- while ($new && $new ne $old) { $new = $compat_arch{$new} }
- $new;
-}
-sub compat_arch { better_arch(arch(), $_[0]) }
-
-sub touch {
- my ($f) = @_;
- unless (-e $f) {
- local *F;
- open F, ">$f";
- }
- my $now = time;
- utime $now, $now, $f;
-}
-
-sub mapgrep(&@) {
- my $f = shift;
- my @l;
- foreach (@_) {
- my ($b, $v) = $f->($_);
- push @l, $v if $b;
- }
- @l;
-}
-
-sub map_index(&@) {
- my $f = shift;
- my @v; local $::i = 0;
- map { @v = &$f($::i); $::i++; @v } @_;
-}
-sub grep_index(&@) {
- my $f = shift;
- my $v; local $::i = 0;
- grep { $v = &$f($::i); $::i++; $v } @_;
-}
-sub find_index(&@) {
- my $f = shift;
- local $_;
- for (my $i = 0; $i < @_; $i++) {
- $_ = $_[$i];
- &$f and return $i;
- }
- die "find_index failed in @_";
-}
-
-sub map_each(&%) {
- my ($f, %h) = @_;
- my @l;
- local ($::a, $::b);
- while (($::a, $::b) = each %h) { push @l, &$f($::a, $::b) }
- @l;
-}
-sub grep_each(&%) {
- my ($f, %h) = @_;
- my %l;
- local ($::a, $::b);
- while (($::a, $::b) = each %h) { $l{$::a} = $::b if &$f($::a, $::b) }
- %l;
-}
-sub list2kv(@) { [ grep_index { even($::i) } @_ ], [ grep_index { odd($::i) } @_ ] }
-
-sub combine {
- my $nb = shift;
- my @l; while (my @m = splice(@_, 0, $nb)) { push @l, \@m }
- @l;
-}
-
-#- pseudo-array-hash :)
-sub map_tab_hash(&$@) {
- my ($f, $fields, @tab_hash) = @_;
- my %hash;
- my $key = { map_index {($_, $::i + 1)} @{$fields} };
-
- for (my $i = 0; $i < @tab_hash; $i += 2) {
- my $h = [$key, @{$tab_hash[$i + 1]}];
- &$f($i, $h) if $f;
- $hash{ $tab_hash[$i] } = $h;
- }
- %hash;
-}
-
-sub smapn {
- my $f = shift;
- my $n = shift;
- my @r = ();
- for (my $i = 0; $i < $n; $i++) { push @r, &$f(map { $_->[$i] } @_); }
- @r
-}
-sub mapn(&@) {
- my $f = shift;
- smapn($f, min(map { scalar @$_ } @_), @_);
-}
-sub mapn_(&@) {
- my $f = shift;
- smapn($f, max(map { scalar @$_ } @_), @_);
-}
-
-
-sub add_f4before_leaving {
- my ($f, $b, $name) = @_;
-
- unless ($common::before_leaving::{$name}) {
- no strict 'refs';
- ${"common::before_leaving::$name"} = 1;
- ${"common::before_leaving::list"} = 1;
- }
- local *N = *{$common::before_leaving::{$name}};
- my $list = *common::before_leaving::list;
- $list->{$b}{$name} = $f;
- *N = sub {
- my $f = $list->{$_[0]}{$name} or die '';
- $name eq 'DESTROY' and delete $list->{$_[0]};
- goto $f;
- } unless defined &{*N};
-
-}
-
-#- ! the functions are not called in the order wanted, in case of multiple before_leaving :(
-sub before_leaving(&) {
- my ($f) = @_;
- my $b = bless {}, 'common::before_leaving';
- add_f4before_leaving($f, $b, 'DESTROY');
- $b;
-}
-
-sub catch_cdie(&&) {
- my ($f, $catch) = @_;
-
- local @common::cdie_catches;
- unshift @common::cdie_catches, $catch;
- &$f();
-}
-
-sub cdie($;&) {
- my ($err, $f) = @_;
- foreach (@common::cdie_catches) {
- $@ = $err;
- &{$_}(\$err) and return;
- }
- die $err;
-}
-
-sub all {
- my $d = shift;
-
- local *F;
- opendir F, $d or return;
- my @l = grep { $_ ne '.' && $_ ne '..' } readdir F;
- closedir F;
-
- @l;
-}
-
-sub glob_ {
- my ($d, $f) = ($_[0] =~ /\*/) ? (dirname($_[0]), basename($_[0])) : ($_[0], '*');
-
- $d =~ /\*/ and die "glob_: wildcard in directory not handled ($_[0])\n";
- ($f = quotemeta $f) =~ s/\\\*/.*/g;
-
- $d =~ m|/$| or $d .= '/';
- map { $d eq './' ? $_ : "$d$_" } grep { /^$f$/ } all($d);
-}
-
-
-sub syscall_ {
- my $f = shift;
-
- require 'syscall.ph';
- syscall(&{$common::{"SYS_$f"}}, @_) == 0;
-}
-
-sub salt($) {
- my ($nb) = @_;
- require devices;
- open F, devices::make("random") or die "missing random";
- my $s; read F, $s, $nb;
- local $_ = pack "b8" x $nb, unpack "b6" x $nb, $s;
- tr [\0-\x3f] [0-9a-zA-Z./];
- $_;
-}
-
-sub makedev { ($_[0] << 8) | $_[1] }
-sub unmakedev { $_[0] >> 8, $_[0] & 0xff }
-
-sub list_passwd() {
- my (@l, @e);
- setpwent();
- while (@e = getpwent()) { push @l, [ @e ] }
- endpwent();
- @l;
-}
-sub list_home() {
- map { $_->[7] } grep { $_->[2] >= 500 } list_passwd();
-}
-sub list_skels {
- my ($prefix, $suffix) = @_;
- grep { -d $_ && -w $_ } map { "$prefix$_/$suffix" } '/etc/skel', '/root', list_home() }
-
-sub translate {
- my ($s) = @_;
- my ($lang) = $ENV{LANGUAGE} || $ENV{LC_MESSAGES} || $ENV{LC_ALL} || $ENV{LANG} || 'en';
-
- require lang;
- foreach (split ':', $lang) {
- lang::load_po($_) unless defined $po::I18N::{$_};
- if (%{$po::I18N::{$_}}) {
- return if $s eq '_I18N_';
- return ${$po::I18N::{$_}}{$s} || $s
- }
- }
- $s;
-}
-
-sub untranslate($@) {
- my $s = shift || return;
- foreach (@_) { translate($_) eq $s and return $_ }
- die "untranslate failed";
-}
-
-sub warp_text($;$) {
- my ($text, $width) = @_;
- $width ||= 80;
-
- my @l;
- foreach (split "\n", $text) {
- my $t = '';
- foreach (split /\s+/, $_) {
- if (length "$t $_" > $width) {
- push @l, $t;
- $t = $_;
- } else {
- $t = "$t $_";
- }
- }
- push @l, $t;
- }
- @l;
-}
-
-sub formatAlaTeX($) {
- my ($t, $tmp);
- foreach (split "\n", $_[0]) {
- if (/^$/) {
- $t .= ($t && "\n") . $tmp;
- $tmp = '';
- } else {
- $tmp = ($tmp && "$tmp ") . first(/^\s*(.*?)\s*$/);
- }
- }
- $t . ($t && $tmp && "\n") . $tmp;
-}
-
-sub formatLines($) {
- my ($t, $tmp);
- foreach (split "\n", $_[0]) {
- if (/^\s/) {
- $t .= "$tmp\n";
- $tmp = $_;
- } else {
- $tmp = ($tmp ? "$tmp " : ($t && "\n") . $tmp) . $_;
- }
- }
- "$t$tmp\n";
-}
-
-sub getVarsFromSh($) {
- my %l;
- local *F; open F, $_[0] or return;
- local $_;
- while (<F>) {
- s/#.*//; # remove comments
- my ($v, $val, $val2) =
- /^\s* # leading space
- (\w+) = # variable
- (
- "([^"]*)" # double-quoted text
- | '([^']*)' # single-quoted text
- | [^'"\s]+ # normal text
- )
- \s*$ # end of line
- /x or next;
- $l{$v} = defined $val2 ? $val2 : $val;
- }
- %l;
-}
-
-sub setVarsInSh {
- my ($file, $l, @fields) = @_;
- setVarsInShMode($file, 0777 ^ umask(), $l, @fields);
-}
-
-sub setVarsInShMode {
- my ($file, $mod, $l, @fields) = @_;
- @fields = keys %$l unless @fields;
-
- local *F;
- open F, "> $file" or die "cannot create config file $file";
- chmod $mod, $file;
- $l->{$_} and print F "$_=$l->{$_}\n" foreach @fields;
-}
-
-sub setVarsInCsh {
- my ($file, $l, @fields) = @_;
- @fields = keys %$l unless @fields;
-
- local *F;
- open F, "> $_[0]" or die "cannot create config file $file";
- $l->{$_} and print F "setenv $_ $l->{$_}\n" foreach @fields;
-}
-
-sub template2file {
- my ($in, $out, %toreplace) = @_;
- output $out, map { s/@@@(.*?)@@@/$toreplace{$1}/g; $_ } cat_($in);
-}
-sub template2userfile {
- my ($prefix, $in, $out_rel, $force, %toreplace) = @_;
-
- foreach (list_skels($prefix, $out_rel)) {
- -d dirname($_) or !-e $_ or $force or next;
-
- template2file($in, $_, %toreplace);
- m|/home/(.+?)/| and chown(getpwnam($1), getgrnam($1), $_);
- }
-}
-sub update_userkderc {
- my ($file, $category, %subst) = @_;
-
- output $file,
- (map {
- my $l = $_;
- s/^\s*//;
- if (my $i = /^\[$category\]/i ... /^\[/) {
- if ($i =~ /E/) { #- for last line of category
- $l = join('', map_each { "$::a=$::b\n" } %subst) . $l;
- %subst = ();
- } elsif (/^(\w*?)=/) {
- if (my $e = delete $subst{lc($1)}) {
- $l = "$1=$e\n";
- }
- }
- }
- $l;
- } cat_($file)),
- (%subst && "[$category]\n", map_each { "$::a=$::b\n" } %subst); #- if category has not been found above.
-}
-
-sub substInFile(&@) {
- my $f = shift;
- foreach my $file (@_) {
- if (-e $file) {
- local @ARGV = $file;
- local ($^I, $_) = '';
- while (<>) { &$f($_); print }
- } else {
- local *F; my $old = select F; # that way eof return true
- local $_ = '';
- &$f($_);
- select $old;
- eval { output($file, $_) };
- }
- }
-}
-
-sub best_match {
- my ($str, @lis) = @_;
- my @words = split /\W+/, $str;
- my ($max, $res) = 0;
-
- foreach (@lis) {
- my $count = 0;
- foreach my $i (@words) {
- $count++ if /$i/i;
- }
- $max = $count, $res = $_ if $count >= $max;
- }
- $res;
-}
-
-sub bestMatchSentence {
-
- my $best = -1;
- my $bestSentence;
- my @s = split /\W+/, shift;
- foreach (@_) {
- my $count = 0;
- foreach my $e (@s) {
- $count++ if /$e/i;
- }
- $best = $count, $bestSentence = $_ if $count > $best;
- }
- wantarray ? ($bestSentence, $best) : $bestSentence;
-}
-
-# count the number of character that match
-sub bestMatchSentence2 {
-
- my $best = -1;
- my $bestSentence;
- my @s = split /\W+/, shift;
- foreach (@_) {
- my $count = 0;
- foreach my $e (@s) {
- $count+= length ($e) if /^$e$/;
- $count+= length ($e) if /^$e$/i;
- $count+= length ($e) if /$e/;
- $count+= length ($e) if /$e/i;
- }
- $best = $count, $bestSentence = $_ if $count > $best;
- }
- wantarray ? ($bestSentence, $best) : $bestSentence;
-}
-
-sub typeFromMagic($@) {
- my $f = shift;
- local *F; sysopen F, $f, 0 or return;
-
- my $tmp;
- M: foreach (@_) {
- my ($name, @l) = @$_;
- while (@l) {
- my ($offset, $signature) = splice(@l, 0, 2);
- sysseek(F, $offset, 0) or next M;
- sysread(F, $tmp, length $signature);
- $tmp eq $signature or next M;
- }
- return $name;
- }
- undef;
-}
-
-sub availableMemory() { sum map { /(\d+)/ } grep { /^(MemTotal|SwapTotal):/ } cat_("/proc/meminfo"); }
-sub availableRamMB() {
- my $s = 4 * round((-s '/proc/kcore') / 1024 / 1024 / 4);
- #- HACK HACK: if i810 and memsize
- require detect_devices;
- return $s - 1 if $s == 128 && grep { $_->{driver} =~ /i810/ } detect_devices::probeall();
- $s;
-}
-
-sub setVirtual($) {
- my $vt = '';
- local *C;
- sysopen C, "/dev/console", 2 or die "failed to open /dev/console: $!";
- ioctl(C, c::VT_GETSTATE(), $vt) or die "ioctl VT_GETSTATE failed";
- ioctl(C, c::VT_ACTIVATE(), $_[0]) or die "ioctl VT_ACTIVATE failed";
- ioctl(C, c::VT_WAITACTIVE(), $_[0]) or die "ioctl VT_WAITACTIVE failed";
- unpack "S", $vt;
-}
-
-
-sub removeXiBSuffix($) {
- local $_ = shift;
-
- /(\d+)\s*kB?$/i and return $1 * 1024;
- /(\d+)\s*MB?$/i and return $1 * 1024 * 1024;
- /(\d+)\s*GB?$/i and return $1 * 1024 * 1024 * 1024;
- $_;
-}
-sub formatXiB {
- my ($newnb, $newbase) = (@_, 1);
- my ($nb, $base);
- my $decr = sub {
- ($nb, $base) = ($newnb, $newbase);
- $base >= 1024 ? ($newbase = $base / 1024) : ($newnb = $nb / 1024);
- };
- foreach ('', _("KB"), _("MB"), _("GB")) {
- $decr->();
- if ($newnb < 1 && $newnb * $newbase < 1) {
- my $v = $nb * $base;
- my $s = $v < 10 && int(10 * $v - 10 * int($v));
- return int($v) . ($s ? ".$s" : '') . $_;
- }
- }
- int($newnb * $newbase) . _("TB");
-}
-
-sub truncate_list {
- my $nb = shift;
- @_ <= $nb ? @_ : (@_[0..$nb-1], '...');
-}
-
-sub formatTime {
- my ($s, $m, $h) = gmtime($_[0]);
- if ($h) {
- sprintf "%02d:%02d", $h, $m;
- } elsif ($m > 1) {
- _("%d minutes", $m);
- } elsif ($m == 1) {
- _("1 minute");
- } else {
- _("%d seconds", $s);
- }
-}
-sub formatTimeRaw {
- my ($s, $m, $h) = gmtime($_[0]);
- sprintf "%d:%02d:%02d", $h, $m, $s;
-}
-
-#- return the size of the partition and its free space in KiB
-sub df {
- my ($mntpoint) = @_;
- my ($blocksize, $size, $free);
- my $buf = ' ' x 20000;
- syscall_('statfs', $mntpoint, $buf) or return;
- (undef, $blocksize, $size, $free, undef, undef) = unpack "L6", $buf;
- map { $_ * ($blocksize / 1024) } $size, $free;
-}
-
-sub next_val_in_array {
- my ($v, $l) = @_;
- my %l = mapn { @_ } $l, [ @$l[1..$#$l], $l->[0] ];
- $l{$v};
-}
-
-sub isCdNotEjectable { scalar(grep { /ram3/ } cat_("/proc/mounts")) == 0 }
-
-sub formatError {
- my ($err) = @_;
- $err =~ s/ at .*?$/\./ if !$::testing;
- $err;
-}
-
-sub backtrace {
- my $s;
- for (my $i = 1; caller($i); $i++) {
- my ($package, $file, $line, $func) = caller($i);
- $s .= "$func() called from $file:$line\n";
- }
- $s;
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
diff --git a/perl-install/crypto.pm b/perl-install/crypto.pm
deleted file mode 100644
index 780539cc9..000000000
--- a/perl-install/crypto.pm
+++ /dev/null
@@ -1,71 +0,0 @@
-package crypto; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:common);
-use log;
-use ftp;
-
-my %mirrors = (
- "ftp.ucr.ac.cr" => [ "Costa Rica", "/pub/Unix/linux/mandrake/Mandrake" ],
- "ftp.nectec.or.th" => [ "Thailand", "/pub/mirrors/Mandrake-crypto" ],
- "ftp.tvd.be" => [ "Belgium", "/packages/mandrake-crypto" ],
- "sunsite.mff.cuni.cz" => [ "Czech Republic", "/OS/Linux/Dist/Mandrake-crypto" ],
- "ftp.uni-kl.de" => [ "Germany", "/pub/linux/mandrake/Mandrake-crypto" ],
- "ftp.duth.gr" => [ "Grece", "/pub/mandrake-crypto" ],
- "ftp.leo.org" => [ "Germany", "/pub/comp/os/unix/linux/Mandrake/Mandrake-crypto" ],
- "sunsite.uio.no" => [ "Norway", "/pub/unix/Linux/Mandrake-crypto" ],
- "ftp.sunet.se" => [ "Sweden", "/pub/Linux/distributions/mandrake-crypto" ],
-#- "ackbar" => [ "Ackbar", "/crypto", "a", "a" ],
-);
-
-my %deps = (
- 'libcrypto.so.0' => 'openssl',
- 'libssl.so.0' => 'openssl',
- 'mod_sxnet.so' => 'mod_ssl-sxnet',
-);
-
-sub require2package { $deps{$_[0]} || $_[0] }
-sub mirror2text($) { $mirrors{$_[0]} && "$mirrors{$_[0]}[0] ($_[0])" }
-sub mirrors() { keys %mirrors }
-sub dir { $mirrors{$_[0]}[1] . '/' . (arch() !~ /i.86/ && ((arch() =~ /sparc/ ? "sparc" : arch()). '/')) . $::VERSION }
-sub ftp($) { ftp::new($_[0], dir($_[0])) }
-
-sub getFile($$) {
- my ($file, $host) = @_;
- $host ||= $crypto::host;
- log::l("getting crypto file $file on directory " . dir($host) . " with login $mirrors{$host}[2]");
- my ($ftp, $retr) = ftp::new($host, dir($host),
- $mirrors{$host}[2] ? $mirrors{$host}[2] : (),
- $mirrors{$host}[3] ? $mirrors{$host}[3] : ()
- );
- $$retr->close if $$retr;
- $$retr = $ftp->retr($file) or ftp::rewindGetFile();
- $$retr ||= $ftp->retr($file);
-}
-
-sub getDepslist { getFile("depslist-crypto", $_[0]) or die "unable to get depslist-crypto" }
-
-sub getPackages {
- my ($prefix, $packages, $mirror) = @_;
-
- $crypto::host = $mirror;
-
- #- extract hdlist of crypto, then depslist.
- require pkgs;
- pkgs::psUsingHdlist($prefix, '', $packages, "hdlist-crypto.cz2", "crypto.cz2", "Crypto", "Cryptographic site", 1, getFile("hdlist-crypto.cz2", $mirror)) and
- pkgs::getOtherDeps($packages, getDepslist($mirror));
-
- #- produce an output suitable for visualization.
- map { pkgs::packageName($_) } pkgs::packagesOfMedium($packages, "Crypto");
-}
-
-sub get {
- my ($mirror, $dir, @files) = @_;
- foreach (@files) {
- log::l("crypto: downloading $_");
- ftp($mirror)->get($_, "$dir/$_")
- }
- int @files;
-}
diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm
deleted file mode 100644
index 03d90cda2..000000000
--- a/perl-install/detect_devices.pm
+++ /dev/null
@@ -1,362 +0,0 @@
-package detect_devices; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use log;
-use common qw(:common :file :functional);
-use devices;
-use c;
-
-#-#####################################################################################
-#- Globals
-#-#####################################################################################
-my @netdevices = map { my $l = $_; map { "$l$_" } (0..3) } qw(eth tr fddi plip);
-my %serialprobe = ();
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub get {
- #- Detect the default BIOS boot harddrive is kind of tricky. We may have IDE,
- #- SCSI and RAID devices on the same machine. From what I see so far, the default
- #- BIOS boot harddrive will be
- #- 1. The first IDE device if IDE exists. Or
- #- 2. The first SCSI device if SCSI exists. Or
- #- 3. The first RAID device if RAID exists.
-
- getIDE(), getSCSI(), getDAC960(), getCompaqSmartArray();
-}
-sub hds() { grep { $_->{type} eq 'hd' && ($::isStandalone || !isRemovableDrive($_)) } get(); }
-sub zips() { grep { $_->{type} =~ /.d/ && isZipDrive($_) } get(); }
-sub ide_zips() { grep { $_->{type} =~ /.d/ && isZipDrive($_) } getIDE(); }
-#-sub jazzs() { grep { $_->{type} =~ /.d/ && isJazDrive($_) } get(); }
-sub ls120s() { grep { $_->{type} =~ /.d/ && isLS120Drive($_) } get(); }
-sub cdroms() {
- my @l = grep { $_->{type} eq 'cdrom' } get();
- if (my @l2 = IDEburners()) {
- require modules;
- modules::add_alias('scsi_hostadapter', 'ide-scsi');
- my $nb = 1 + max(-1, map { $_->{device} =~ /scd (\d+)/x } @l);
- foreach my $i (@l2) {
- log::l("IDEBurner: $i->{device}");
- my ($e) = grep { $_->{device} eq $i->{device} } @l;
- $e->{device} = "scd" . $nb++;
- }
- }
- @l;
-}
-sub burners { grep { $_->{type} eq 'cdrom' && isBurner($_) } get() }
-sub IDEburners { grep { $_->{type} eq 'cdrom' && isBurner($_) } getIDE() }
-sub dvdroms { grep { $_->{type} eq 'cdrom' && isDvdDrive($_) } get() }
-
-sub get_mac_model() {
- my $mac_model = cat_("/proc/device-tree/model") || die "Can't open /proc/device-tree/model";
- log::l("Mac model: $mac_model");
- $mac_model;
-}
-
-sub floppies() {
- require modules;
- eval { modules::load("floppy") };
- my @fds = grep { tryOpen($_) } qw(fd0 fd1);
- my @ide = ls120s() and modules::load("ide-floppy");
- my @scsi = grep { $_->{type} eq 'fd' } getSCSI();
- (map { $_->{device} } @ide, @scsi), @fds;
-}
-sub floppy { first(floppies()) }
-#- example ls120, model = "LS-120 SLIM 02 UHD Floppy"
-
-sub isBurner {
- my $dev = $_[0]{device};
- if (my($nb) = $dev =~ /scd (.*)/x) {
- grep { /^(scd|sr)$nb:.*writer/ } syslog();
- } else {
- my $f = tryOpen($dev); #- SCSI burner are not detected this way.
- $f && c::isBurner(fileno($f));
- }
-}
-sub isDvdDrive {
- $_[0]{info} =~ /DVD/; #- SCSI DVD seems not to be detected correctly, so use another probe after.
- my $f = tryOpen($_[0]{device});
- $f && c::isDvdDrive(fileno($f));
-}
-sub isZipDrive { $_[0]->{info} =~ /ZIP\s+\d+/ } #- accept ZIP 100, untested for bigger ZIP drive.
-#-sub isJazzDrive { $_[0]->{info} =~ /JAZZ?\s+/ } #- untested.
-sub isLS120Drive { $_[0]->{info} =~ /LS-?120|144MB/ }
-sub isRemovableDrive { &isZipDrive || &isLS120Drive || $_[0]->{type} eq 'fd' } #-or &isJazzDrive }
-
-sub isFloppyOrHD {
- my ($dev) = @_;
- require partition_table_raw;
- my $geom = partition_table_raw::get_geometry(devices::make($dev));
- $geom->{totalsectors} < 10 << 11 ? 'fd' : 'hd';
-}
-
-sub getSCSI() {
- my @drives;
- my ($driveNum, $cdromNum, $tapeNum) = qw(0 0 0);
- my $err = sub { chop; die "unexpected line in /proc/scsi/scsi: $_"; };
- local $_;
-
- local *F;
- open F, "/proc/scsi/scsi" or return;
- local $_ = <F>; /^Attached devices:/ or return &$err();
- while ($_ = <F>) {
- my ($id) = /^Host:.*?Id: (\d+)/ or return &$err();
- $_ = <F>; my ($vendor, $model) = /^\s*Vendor:\s*(.*?)\s+Model:\s*(.*?)\s+Rev:/ or return &$err();
- $_ = <F>; my ($type) = /^\s*Type:\s*(.*)/ or &$err();
- my $device;
- if ($type =~ /Direct-Access/) { #- what about LS-120 floppy drive, assuming there are Direct-Access...
- $device = "sd" . chr($driveNum++ + ord('a'));
- $type = isFloppyOrHD($device);
- } elsif ($type =~ /Sequential-Access/) {
- $device = "st" . $tapeNum++;
- $type = 'tape';
- } elsif ($type =~ /CD-ROM/) {
- $device = "scd" . $cdromNum++;
- $type = 'cdrom';
- }
- $device and push @drives, { device => $device, type => $type, info => "$vendor $model", id => $id, bus => 0 };
- }
- @drives;
-}
-
-sub getIDE() {
- my @idi;
-
- #- what about a system with absolutely no IDE on it, like some sparc machine.
- -e "/proc/ide" or return ();
-
- #- Great. 2.2 kernel, things are much easier and less error prone.
- foreach my $d (sort @{[glob_('/proc/ide/hd*')]}) {
- my ($t) = chop_(cat_("$d/media"));
- my $type = $ {{disk => 'hd', cdrom => 'cdrom', tape => 'tape', floppy => 'fd'}}{$t} or next;
- my ($info) = chop_(cat_("$d/model")); $info ||= "(none)";
-
- my $num = ord (($d =~ /(.)$/)[0]) - ord 'a';
- push @idi, { type => $type, device => basename($d), info => $info, bus => $num/2, id => $num%2 };
- }
- @idi;
-}
-
-sub getCompaqSmartArray() {
- my (@idi, $f);
-
- foreach ('array/ida', 'cciss/cciss') {
- my $prefix = "/proc/driver/$_"; #- kernel 2.4 places it here
- $prefix = "/proc/$_" if !-e "${prefix}0"; #- kernel 2.2
-
- my ($name) = m|/(.*)|;
- for (my $i = 0; -r ($f = "${prefix}$i"); $i++) {
- foreach (cat_($f)) {
- if (m|^\s*($name/.*?):|) {
- push @idi, { device => $1, info => "Compaq RAID logical disk", type => 'hd' };
- }
- }
- }
- }
- @idi;
-}
-
-sub getDAC960() {
- my %idi;
-
- #- We are looking for lines of this format:DAC960#0:
- #- /dev/rd/c0d0: RAID-7, Online, 17928192 blocks, Write Thru0123456790123456789012
- foreach (syslog()) {
- my ($device, $info) = m|/dev/(rd/.*?): (.*?),| or next;
- $idi{$device} = { info => $info, type => 'hd', device => $device };
- log::l("DAC960: $device ($info)");
- }
- values %idi;
-}
-
-sub getNet() {
- grep { !($::isStandalone && /plip/) && c::hasNetDevice($_) } @netdevices;
-}
-
-sub pci_probe {
- my ($probe_type) = @_;
- map {
- my %l;
- @l{qw(vendor id subvendor subid pci_bus pci_device pci_function type driver description)} = split "\t";
- $l{$_} = hex $l{$_} foreach qw(vendor id subvendor subid);
- $l{bus} = 'PCI';
- \%l
- } c::pci_probe($probe_type || 0);
-}
-
-sub usb_probe {
- -e "/proc/bus/usb/devices" or return ();
-
- map {
- my %l;
- @l{qw(vendor id type driver description)} = split "\t";
- $l{$_} = hex $l{$_} foreach qw(vendor id);
- $l{bus} = 'USB';
- \%l
- } c::usb_probe();
-}
-
-# pci_probe with $probe_type is unsafe for pci! (bug in kernel&hardware)
-# get_pcmcia_devices provides field "device", used in network.pm
-# => probeall with $probe_type is unsafe
-sub probeall {
- my ($probe_type) = @_;
- require sbus_probing::main;
- require modules;
- pci_probe($probe_type), usb_probe(), sbus_probing::main::probe(), modules::get_pcmcia_devices();
-}
-sub matching_desc {
- my ($regexp) = @_;
- grep { $_->{description} =~ /$regexp/i } probeall();
-}
-sub stringlist {
- map {
- sprintf("%-16s: %s%s%s",
- $_->{driver} ? $_->{driver} : 'unknown',
- $_->{description} eq '(null)' ? sprintf("Vendor=0x%04x Device=0x%04x", $_->{vendor}, $_->{id}) : $_->{description},
- $_->{type} ? sprintf(" [%s]", $_->{type}) : '',
- $_->{subid} && $_->{subid} != 0xffff ? sprintf(" SubVendor=0x%04x SubDevice=0x%04x", $_->{subvendor}, $_->{subid}) : '',
- );
- } probeall(1);
-}
-sub check {
- my ($l) = @_;
- my $ok = $l->{driver} !~ /(unknown|ignore)/;
- $ok or log::l("skipping $l->{description}, no module available (if you know one, please mail bugs\@linux-mandrake.com)");
- $ok
-}
-
-
-sub tryOpen($) {
- local *F;
- sysopen F, devices::make($_[0]), c::O_NONBLOCK() and *F;
-}
-
-sub tryWrite($) {
- local *F;
- sysopen F, devices::make($_[0]), 1 | c::O_NONBLOCK() and *F;
-}
-
-sub syslog {
- -r "/tmp/syslog" and return map { /<\d+>(.*)/ } cat_("/tmp/syslog");
- `$ENV{LD_LOADER} /bin/dmesg`;
-}
-
-sub hasSMP { c::detectSMP() }
-sub hasPCMCIA { -e "/proc/pcmcia" }
-
-sub hasUltra66 {
- die "hasUltra66 deprecated";
- #- keep it BUT DO NOT USE IT as now included in kernel.
- cat_("/proc/cmdline") =~ /(ide2=(\S+)(\s+ide3=(\S+))?)/ and return $1;
-
- my @l = map { $_->{verbatim} } matching_desc('HPT|Ultra66') or return;
-
- my $ide = sprintf "ide2=0x%x,0x%x ide3=0x%x,0x%x",
- @l == 2 ?
- (map_index { hex($_) + (odd($::i) ? 1 : -1) } map { (split ' ')[3..4] } @l) :
- (map_index { hex($_) + (odd($::i) ? 1 : -1) } map { (split ' ')[3..6] } @l);
-
- log::l("HPT|Ultra66: found $ide");
- $ide;
-}
-
-sub whatParport() {
- my @res = ();
- foreach (0..3) {
- my $elem = {};
- local *F;
- open F, "/proc/parport/$_/autoprobe" or open F, "/proc/sys/dev/parport/parport$_/autoprobe" or next;
- {
- local $_;
- while (<F>) { $elem->{$1} = $2 if /(.*):(.*);/ }
- }
- push @res, { port => "/dev/lp$_", val => $elem};
- }
- @res;
-}
-
-sub usbMice { grep { $_->{type} =~ /\|Mouse/ && $_->{driver} !~ /Tablet:wacom/} usb_probe() }
-sub usbWacom { grep { $_->{driver} =~ /Tablet:wacom/ } usb_probe() }
-sub usbKeyboards { grep { $_->{type} =~ /\|Keyboard/ } usb_probe() }
-sub usbZips { grep { $_->{type} =~ /Mass Storage\|/ } usb_probe() }
-
-sub whatUsbport() {
- my ($i, $elem, @res) = (0, {});
- foreach (grep { $_->{type} =~ /Printer/ } usb_probe()) {
- my ($manufacturer, $model) = split '\|', $_->{description};
- $_->{description} =~ s/Hewlett[-\s_]Packard/HP/;
- push @res, { port => "/dev/usb/lp$i", val => { CLASS => 'PRINTER',
- MODEL => $model,
- MANUFACTURER => $manufacturer,
- DESCRIPTION => $_->{description},
- }};
- ++$i;
- }
- @res;
-}
-
-#-CLASS:PRINTER;
-#-MODEL:HP LaserJet 1100;
-#-MANUFACTURER:Hewlett-Packard;
-#-DESCRIPTION:HP LaserJet 1100 Printer;
-#-COMMAND SET:MLC,PCL,PJL;
-sub whatPrinter() {
- my @res = (whatParport(), whatUsbport());
- grep { $_->{val}{CLASS} eq "PRINTER"} @res;
-}
-
-sub whatPrinterPort() {
- grep { tryWrite($_)} qw(/dev/lp0 /dev/lp1 /dev/lp2 /dev/usb/lp0 /dev/usb/lp1 /dev/usb/lp2);
-}
-
-sub probeSerialDevices {
- #- make sure the device are created before probing.
- foreach (0..3) { devices::make("/dev/ttyS$_") }
-
- #- for device already probed, we can safely (assuming device are
- #- not moved during install :-)
- #- include /dev/mouse device if using an X server.
- -d "/var/lock" or mkdir "/var/lock", 0755;
- -l "/dev/mouse" and $serialprobe{"/dev/" . readlink "/dev/mouse"} = undef;
- foreach (keys %serialprobe) { m|^/dev/(.*)| and touch "/var/lock/LCK..$1" }
-
- print STDERR "Please wait while probing serial ports...\n";
- #- start probing all serial ports... really faster than before ...
- #- ... but still take some time :-)
- local *F; open F, "$ENV{LD_LOADER} serial_probe |";
- local $_;
- my %current = (); while (<F>) {
- $serialprobe{$current{DEVICE}} = { %current } and %current = () if /^\s*$/ && $current{DEVICE};
- $current{$1} = $2 if /^([^=]+)=(.*?)\s*$/;
- }
- close F;
-
- foreach (values %serialprobe) {
- $_->{DESCRIPTION} =~ /modem/i and $_->{CLASS} = 'MODEM'; #- hack to make sure a modem is detected.
- $_->{DESCRIPTION} =~ /olitec/i and $_->{CLASS} = 'MODEM'; #- hack to make sure such modem gets detected.
- log::l("probed $_->{DESCRIPTION} of class $_->{CLASS} on device $_->{DEVICE}");
- }
-}
-
-sub probeSerial($) { $serialprobe{$_[0]} }
-
-sub hasModem($) {
- $serialprobe{$_[0]} and $serialprobe{$_[0]}{CLASS} eq 'MODEM' and $serialprobe{$_[0]}{DESCRIPTION};
-}
-
-sub hasMousePS2 {
- my $t; sysread(tryOpen($_[0]) || return, $t, 256) != 1 || $t ne "\xFE";
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
-
diff --git a/perl-install/devices.pm b/perl-install/devices.pm
deleted file mode 100644
index d14f3c397..000000000
--- a/perl-install/devices.pm
+++ /dev/null
@@ -1,148 +0,0 @@
-package devices; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:system :file);
-use run_program;
-use log;
-use c;
-
-1;
-
-
-sub size($) {
- local *F;
- sysopen F, $_[0], 0 or log::l("open $_[0]: $!"), return 0;
-
- my $valid_offset = sub { sysseek(F, $_[0], 0) && sysread(F, my $a, 1) };
-
- #- first try getting the size nicely
- my $size = 0;
- ioctl(F, c::BLKGETSIZE(), $size) and return unpack("i", $size) * $common::SECTORSIZE;
-
- #- sad it didn't work, well searching the size using the dichotomy algorithm!
- my $low = 0;
- my ($high, $mid);
-
- #- first find n where 2^n < size <= 2^n+1
- for ($high = 1; $high > 0 && &$valid_offset($high); $high *= 2) { $low = $high; }
-
- while ($low < $high - 1) {
- $mid = int ($low + $high) / 2;
- &$valid_offset($mid) ? $low : $high = $mid;
- }
- $low + 1;
-}
-
-sub set_loop {
- my ($file) = @_;
-
- foreach (0..7) {
- local *F;
- my $dev = make("loop$_");
- sysopen F, $dev, 2 or next;
- !ioctl(F, c::LOOP_GET_STATUS(), my $tmp) && $! == 6 or next; #- 6 == ENXIO
- log::l("trying with loop $dev");
- return c::set_loop(fileno F, $file) && $dev;
- }
-}
-
-sub entry {
- my ($type, $major, $minor);
- local ($_) = @_;
-
- if (/^sd(.)(\d{0,2})/) {
- $type = c::S_IFBLK();
- $major = 8;
- $minor = 16 * (ord($1) - ord('a')) + ($2 || 0);
- } elsif (/^hd(.)(\d{0,2})/) {
- $type = c::S_IFBLK();
- ($major, $minor) =
- @{ $ {{'a' => [3, 0], 'b' => [3, 64],
- 'c' => [22,0], 'd' => [22,64],
- 'e' => [33,0], 'f' => [33,64],
- 'g' => [34,0], 'h' => [34,64],
- 'i' => [56,0], 'j' => [56,64],
- 'k' => [57,0], 'l' => [57,64],
- }}{$1} or die "unknown device $_" };
- $minor += $2 || 0;
- } elsif (/^ram(.*)/) {
- $type = c::S_IFBLK();
- $major = 1;
- $minor = $1 eq '' ? 1 : $1;
- } elsif (m|^rd/c(\d+)d(\d+)(p(\d+))?|) {
- # dac 960 "rd/cXdXXpX"
- $type = c::S_IFBLK();
- $major = 48 + $1;
- $minor = 8 * $2 + $4;
- } elsif (m,(ida|cciss)/c(\d+)d(\d+)(?:p(\d+))?,) {
- # Compaq Smart Array "ida/c0d0{p1}"
- $type = c::S_IFBLK();
- $major = ($1 eq 'ida' ? 72 : 104) + $2;
- $minor = 16 * $3 + ($4 || 0);
- } elsif (/(.*)(\d+)$/) {
- ($type, $major, $minor) =
- @{ ${{"fd" => [ c::S_IFBLK(), 2, 0 ],
- "hidbp-mse-" => [ c::S_IFCHR(), 10, 32 ],
- "lp" => [ c::S_IFCHR(), 6, 0 ],
- "usb/lp" => [ c::S_IFCHR(), 180, 0 ],
- "input/event" => [ c::S_IFCHR(), 13, 64 ],
- "loop" => [ c::S_IFBLK(), 7, 0 ],
- "md" => [ c::S_IFBLK(), 9, 0 ],
- "nst" => [ c::S_IFCHR(), 9, 128],
- "scd" => [ c::S_IFBLK(), 11, 0 ],
- "ttyS" => [ c::S_IFCHR(), 4, 64 ],
- }}{$1}};
- $minor += $2;
- }
- unless ($type) {
- ($type, $major, $minor) =
- @{ ${{"aztcd" => [ c::S_IFBLK(), 29, 0 ],
- "bpcd" => [ c::S_IFBLK(), 41, 0 ],
- "cdu31a" => [ c::S_IFBLK(), 15, 0 ],
- "cdu535" => [ c::S_IFBLK(), 24, 0 ],
- "cm206cd" => [ c::S_IFBLK(), 32, 0 ],
- "fd0H1440"=> [ c::S_IFBLK(), 2,28 ],
- "fd1H1440"=> [ c::S_IFBLK(), 2,29 ],
- "gscd" => [ c::S_IFBLK(), 16, 0 ],
- "mcd" => [ c::S_IFBLK(), 23, 0 ],
- "mcdx" => [ c::S_IFBLK(), 20, 0 ],
- "mem" => [ c::S_IFCHR(), 1, 1 ],
- "optcd" => [ c::S_IFBLK(), 17, 0 ],
- "kbd" => [ c::S_IFCHR(), 11, 0 ],
- "psaux" => [ c::S_IFCHR(), 10, 1 ],
- "random" => [ c::S_IFCHR(), 1, 8 ],
- "sbpcd" => [ c::S_IFBLK(), 25, 0 ],
- "sjcd" => [ c::S_IFBLK(), 18, 0 ],
- "tty" => [ c::S_IFCHR(), 5, 0 ],
- "usbmouse"=> [ c::S_IFCHR(), 13, 63], #- aka /dev/input/mice
- "adbmouse"=> [ c::S_IFCHR(), 10, 10], #- PPC
- "zero" => [ c::S_IFCHR(), 1, 5 ],
- }}{$_} or die "unknown device $_ (caller is " . join(":", caller()) . ")" };
- }
- ($type, $major, $minor);
-}
-
-
-sub make($) {
- local $_ = my $file = $_[0];
-
- if (m,^(.*/(?:dev|tmp))/(.*),) {
- $_ = $2;
- } else {
- -e $file or $file = "/tmp/$_";
- -e $file or $file = "/dev/$_";
- }
- -e $file and return $file; #- assume nobody takes fun at creating files named as device
-
- my ($type, $major, $minor) = eval { entry($_) };
- $@ and die "unknown device $_ (caller is " . join(":", caller()) . ")";
-
- #- make a directory for this inode if needed.
- mkdir dirname($file), 0755;
-
- syscall_('mknod', $file, $type | 0600, makedev($major, $minor)) or die "mknod failed (dev $_): $!";
-
- $file;
-}
diff --git a/perl-install/do_resize_fat b/perl-install/do_resize_fat
deleted file mode 100755
index 41ebf1b83..000000000
--- a/perl-install/do_resize_fat
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/perl
-
-use diagnostics;
-use strict;
-
-use lib qw(/usr/lib/libDrakX);
-use common;
-use resize_fat::main;
-
-local *log::l = sub { print join(' ', @_), "\n" };
-
-@ARGV = qw(/mnt/iso/w +0);
-
-@ARGV == 2 or die "usage: fatresize <device> <size>\n <size> = 100 means `resize to 100Mb'\n <size> = +10 means `keep 10Mb of free space'\n";
-
-my $fs = new resize_fat::main(common::basename($ARGV[0]), $ARGV[0]);
-resize_fat::main::resize($fs, $ARGV[1]);
-
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
deleted file mode 100644
index cc42a96a4..000000000
--- a/perl-install/fs.pm
+++ /dev/null
@@ -1,464 +0,0 @@
-package fs; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:common :file :system :functional);
-use log;
-use devices;
-use partition_table qw(:types);
-use run_program;
-use swap;
-use detect_devices;
-use commands;
-use modules;
-use fsedit;
-use loopback;
-
-1;
-
-sub add_options(\$@) {
- my ($option, @options) = @_;
- my %l; @l{split(',', $$option), @options} = (); delete $l{defaults};
- $$option = join(',', keys %l) || "defaults";
-}
-
-sub read_fstab($) {
- my ($file) = @_;
-
- local *F;
- open F, $file or return;
-
- map {
- my ($dev, @l) = split;
- $dev =~ s,/(tmp|dev)/,,;
- { device => $dev, mntpoint => $l[0], type => $l[1], options => $l[2] }
- } <F>;
-}
-
-sub up_mount_point {
- my ($mntpoint, $fstab) = @_;
- while (1) {
- $mntpoint = dirname($mntpoint);
- $mntpoint ne "." or return;
- $_->{mntpoint} eq $mntpoint and return $_ foreach @$fstab;
- }
-}
-
-sub check_mounted($) {
- my ($fstab) = @_;
-
- local (*F, *G, *H);
- open F, "/etc/mtab";
- open G, "/proc/mounts";
- open H, "/proc/swaps";
- foreach (<F>, <G>, <H>) {
- foreach my $p (@$fstab) {
- /$p->{device}\s+([^\s]*)\s+/ and $p->{mntpoint} = $1, $p->{isMounted} = $p->{isFormatted} = 1;
- }
- }
-}
-
-sub get_mntpoints_from_fstab {
- my ($fstab, $prefix, $uniq) = @_;
-
- log::l("reading fstab");
- foreach (read_fstab("$prefix/etc/fstab")) {
- next if $uniq && fsedit::mntpoint2part($_->{mntpoint}, $fstab);
-
- foreach my $p (@$fstab) {
- $p->{device} eq $_->{device} or next;
- $_->{type} ne 'auto' && $_->{type} ne type2fs($p->{type}) and
- log::l("err, fstab and partition table do not agree for $_->{device} type: " . (type2fs($p->{type}) || type2name($p->{type})) . " vs $_->{type}"), next;
- delete $p->{unsafeMntpoint} || !$p->{mntpoint} or next;
- $p->{mntpoint} = $_->{mntpoint};
- $p->{options} = $_->{options};
- }
- }
-}
-
-#- mke2fs -b (1024|2048|4096) -c -i(1024 > 262144) -N (1 > 100000000) -m (0-100%) -L volume-label
-#- tune2fs
-sub format_ext2($@) {
- my ($dev, @options) = @_;
-
- $dev =~ m,(rd|ida|cciss)/, and push @options, qw(-b 4096 -R stride=16); #- For RAID only.
- push @options, qw(-b 1024 -O none) if arch() =~ /alpha/;
-
- run_program::run("mke2fs", @options, devices::make($dev)) or die _("%s formatting of %s failed", "ext2", $dev);
-}
-
-sub format_reiserfs($@) {
- my ($dev, @options) = @_;
-
- #TODO add -h tea
- run_program::run("mkreiserfs", "-f", "-q", @options, devices::make($dev)) or die _("%s formatting of %s failed", "reiserfs", $dev);
-}
-
-sub format_xfs($@) {
- my ($dev, @options) = @_;
-
- run_program::run("mkfs.xfs", "-f", "-q", @options, devices::make($dev)) or die _("%s formatting of %s failed", "xfs", $dev);
-}
-
-sub format_dos($@) {
- my ($dev, @options) = @_;
-
- run_program::run("mkdosfs", @options, devices::make($dev)) or die _("%s formatting of %s failed", "dos", $dev);
-}
-
-sub format_hfs($@) {
- my ($dev, @options) = @_;
-
- run_program::run("hformat", @options, devices::make($dev)) or die _("%s formatting of %s failed", "HFS", $dev);
-}
-
-sub real_format_part {
- my ($part) = @_;
-
- $part->{isFormatted} and return;
-
- my @options = $part->{toFormatCheck} ? "-c" : ();
- log::l("formatting device $part->{device} (type ", type2name($part->{type}), ")");
-
- if (isExt2($part)) {
- push @options, "-F" if isLoopback($part);
- format_ext2($part->{device}, @options);
- } elsif (isReiserfs($part)) {
- format_reiserfs($part->{device}, @options, if_(c::kernel_version() =~ /^\Q2.2/, "-v", "1"));
- } elsif (isXfs($part)) {
- format_xfs($part->{device}, @options);
- } elsif (isDos($part)) {
- format_dos($part->{device}, @options);
- } elsif (isWin($part)) {
- format_dos($part->{device}, @options, '-F', 32);
- } elsif (isHFS($part)) {
- format_hfs($part->{device}, @options, '-l', "Untitled");
- } elsif (isAppleBootstrap($part)) {
- format_hfs($part->{device}, @options, '-l', "bootstrap");
- } elsif (isSwap($part)) {
- my $check_blocks = grep { /^-c$/ } @options;
- swap::make($part->{device}, $check_blocks);
- } else {
- die _("I don't know how to format %s in type %s", $_->{device}, type2name($_->{type}));
- }
- $part->{isFormatted} = 1;
-}
-sub format_part {
- my ($raid, $part, $prefix) = @_;
- if (isMDRAID($part)) {
- require raid;
- raid::format_part($raid, $part);
- } elsif (isLoopback($part)) {
- loopback::format_part($part, $prefix);
- } else {
- real_format_part($part);
- }
-}
-
-sub formatMount_part {
- my ($part, $raid, $fstab, $prefix, $callback) = @_;
-
- if (isLoopback($part)) {
- formatMount_part($part->{device}, $raid, $fstab, $prefix, $callback);
- }
- if (my $p = up_mount_point($part->{mntpoint}, $fstab)) {
- formatMount_part($p, $raid, $fstab, $prefix, $callback) unless loopback::carryRootLoopback($part);
- }
-
- if ($part->{toFormat}) {
- $callback->($part) if $callback;
- format_part($raid, $part, $prefix);
- }
- mount_part($part, $prefix);
-}
-
-sub formatMount_all {
- my ($raid, $fstab, $prefix, $callback) = @_;
- formatMount_part($_, $raid, $fstab, $prefix, $callback)
- foreach sort { isLoopback($a) ? 1 : isSwap($a) ? -1 : 0 } grep { $_->{mntpoint} } @$fstab;
-
- #- ensure the link is there
- loopback::carryRootCreateSymlink($_, $prefix) foreach @$fstab;
-
- #- for fun :)
- #- that way, when install exits via ctrl-c, it gives hand to partition
- eval {
- local $SIG{__DIE__} = 'ignore';
- my ($type, $major, $minor) = devices::entry(fsedit::get_root($fstab)->{device});
- output "/proc/sys/kernel/real-root-dev", makedev($major, $minor);
- };
-}
-
-sub mount($$$;$) {
- my ($dev, $where, $fs, $rdonly) = @_;
- log::l("mounting $dev on $where as type $fs");
-
- -d $where or commands::mkdir_('-p', $where);
-
- if ($fs eq 'nfs') {
- log::l("calling nfs::mount($dev, $where)");
-# nfs::mount($dev, $where) or die _("nfs mount failed");
- } elsif ($fs eq 'smb') {
- die "no smb yet...";
- } else {
- $dev = devices::make($dev) if $fs ne 'proc' && $fs ne 'usbdevfs';
-
- my $flag = c::MS_MGC_VAL();
- $flag |= c::MS_RDONLY() if $rdonly;
- my $mount_opt = "";
-
- if ($fs eq 'vfat') {
- $mount_opt = 'check=relaxed';
- eval { modules::load('vfat') }; #- try using vfat
- eval { modules::load('msdos') } if $@; #- otherwise msdos...
- } elsif ($fs eq 'ufs') {
- eval { modules::load('ufs') };
- } elsif ($fs eq 'xfs') {
- eval { modules::load('xfs') };
- } elsif ($fs eq 'reiserfs') {
- #- could be better if we knew if there is a /boot or not
- #- without knowing it, / is forced to be mounted with notail
- # if $where =~ m|/(boot)?$|;
- $mount_opt = 'notail'; #- notail in any case
- eval { modules::load('reiserfs') };
- } elsif ($fs eq 'romfs') {
- eval { modules::load('romfs') };
- }
-
- $where =~ s|/$||;
- log::l("calling mount($dev, $where, $fs, $flag, $mount_opt)");
- syscall_('mount', $dev, $where, $fs, $flag, $mount_opt) or die _("mount failed: ") . "$!";
- }
- local *F;
- open F, ">>/etc/mtab" or return; #- fail silently, must be read-only /etc
- print F "$dev $where $fs defaults 0 0\n";
-}
-
-#- takes the mount point to umount (can also be the device)
-sub umount($) {
- my ($mntpoint) = @_;
- $mntpoint =~ s|/$||;
- log::l("calling umount($mntpoint)");
- syscall_('umount', $mntpoint) or die _("error unmounting %s: %s", $mntpoint, "$!");
-
- substInFile { $_ = '' if /(^|\s)$mntpoint\s/ } '/etc/mtab'; #- don't care about error, if we can't read, we won't manage to write... (and mess mtab)
-}
-
-sub mount_part($;$$) {
- my ($part, $prefix, $rdonly) = @_;
-
- #- root carrier's link can't be mounted
- loopback::carryRootCreateSymlink($part, $prefix);
-
- return if $part->{isMounted};
-
- unless ($::testing) {
- if (isSwap($part)) {
- swap::swapon(isLoopback($part) ? $prefix . loopback::file($part) : $part->{device});
- } else {
- $part->{mntpoint} or die "missing mount point";
-
- my $dev = $part->{device};
- my $mntpoint = ($prefix || '') . $part->{mntpoint};
- if (isLoopback($part)) {
- eval { modules::load('loop') };
- $dev = $part->{real_device} = devices::set_loop($prefix . loopback::file($part)) || die;
- } elsif (loopback::carryRootLoopback($part)) {
- $mntpoint = "/initrd/loopfs";
- }
- mount(devices::make($dev), $mntpoint, type2fs($part->{type}), $rdonly);
- rmdir "$mntpoint/lost+found";
- }
- }
- $part->{isMounted} = $part->{isFormatted} = 1; #- assume that if mount works, partition is formatted
-}
-
-sub umount_part($;$) {
- my ($part, $prefix) = @_;
-
- $part->{isMounted} or return;
-
- unless ($::testing) {
- if (isSwap($part)) {
- swap::swapoff($part->{device});
- } elsif (loopback::carryRootLoopback($part)) {
- umount("/initrd/loopfs");
- } else {
- umount(($prefix || '') . $part->{mntpoint} || devices::make($part->{device}));
- c::del_loop(delete $part->{real_device}) if isLoopback($part);
- }
- }
- $part->{isMounted} = 0;
-}
-
-sub mount_all($;$$) {
- my ($fstab, $prefix) = @_;
-
- #- TODO fsck, create check_mount_all ?
- log::l("mounting all filesystems");
-
- #- order mount by alphabetical ordre, that way / < /home < /home/httpd...
- foreach (sort { $a->{mntpoint} cmp $b->{mntpoint} } grep { isSwap($_) || $_->{mntpoint} && isTrueFS($_) } @$fstab) {
- mount_part($_, $prefix);
- }
-}
-
-sub umount_all($;$) {
- my ($fstab, $prefix) = @_;
-
- log::l("unmounting all filesystems");
-
- foreach (sort { $b->{mntpoint} cmp $a->{mntpoint} } @$fstab) {
- $_->{mntpoint} and umount_part($_, $prefix);
- }
-}
-
-sub df {
- my ($part, $prefix) = @_;
- my $dir = "/tmp/tmp_fs_df";
-
- return $part->{free} if exists $part->{free};
-
- if ($part->{isMounted}) {
- $dir = ($prefix || '') . $part->{mntpoint};
- } elsif ($part->{notFormatted} && !$part->{isFormatted}) {
- return; #- won't even try!
- } else {
- mkdir $dir;
- eval { mount($part->{device}, $dir, type2fs($part->{type}), 'readonly') };
- if ($@) {
- $part->{notFormatted} = 1;
- $part->{isFormatted} = 0;
- unlink $dir;
- return;
- }
- }
- my (undef, $free) = common::df($dir);
-
- if (!$part->{isMounted}) {
- umount($dir);
- unlink($dir)
- }
-
- $part->{free} = 2 * $free if defined $free;
- $part->{free};
-}
-
-#- do some stuff before calling write_fstab
-sub write {
- my ($prefix, $fstab, $manualFstab, $useSupermount, $options) = @_;
- $fstab = [ @{$fstab||[]}, @{$manualFstab||[]} ];
-
- unless ($::live) {
- log::l("resetting /etc/mtab");
- local *F;
- open F, "> $prefix/etc/mtab" or die "error resetting $prefix/etc/mtab";
- }
-
- my $floppy = detect_devices::floppy();
-
- my @to_add = (
- $useSupermount ?
- [ split ' ', "/mnt/floppy /mnt/floppy supermount fs=vfat,dev=/dev/$floppy 0 0" ] :
- [ split ' ', "/dev/$floppy /mnt/floppy auto sync,user,noauto,nosuid,nodev 0 0" ],
- [ split ' ', 'none /proc proc defaults 0 0' ],
- [ split ' ', 'none /dev/pts devpts mode=0620 0 0' ],
- (map_index {
- my $i = $::i ? $::i + 1 : '';
- mkdir "$prefix/mnt/cdrom$i", 0755;#- or log::l("failed to mkdir $prefix/mnt/cdrom$i: $!");
- symlinkf $_->{device}, "$prefix/dev/cdrom$i" or log::l("failed to symlink $prefix/dev/cdrom$i: $!");
- chown 0, 22, "$prefix/dev/$_->{device}";
- $useSupermount ?
- [ "/mnt/cdrom$i", "/mnt/cdrom$i", "supermount", "fs=iso9660,dev=/dev/cdrom$i", 0, 0 ] :
- [ "/dev/cdrom$i", "/mnt/cdrom$i", "auto", "user,noauto,nosuid,exec,nodev,ro", 0, 0 ];
- } detect_devices::cdroms()),
- (map_index { #- for zip drives, the right partition is the 4th by default.
- my $i = $::i ? $::i + 1 : '';
- mkdir "$prefix/mnt/zip$i", 0755 or log::l("failed to mkdir $prefix/mnt/zip$i: $!");
- symlinkf "$_->{device}4", "$prefix/dev/zip$i" or log::l("failed to symlink $prefix/dev/zip$i: $!");
- $useSupermount ?
- [ "/mnt/zip$i", "/mnt/zip$i", "supermount", "fs=vfat,dev=/dev/zip$i", 0, 0 ] :
- [ "/dev/zip$i", "/mnt/zip$i", "auto", "user,noauto,nosuid,exec,nodev", 0, 0 ];
- } detect_devices::zips()));
- write_fstab($fstab, $prefix, $options, @to_add);
-}
-
-sub write_fstab($;$$@) {
- my ($fstab, $prefix, $options, @to_add) = @_;
- $prefix ||= '';
-
- my $format_options = sub {
- my ($default, @l) = @_;
- join(',', $default, map { "$_=$options->{$_}" } grep { $options->{$_} } @l);
- };
-
- unshift @to_add, map {
- my ($dir, $options, $freq, $passno) = qw(/dev/ defaults 0 0);
- $options = $_->{options} || $options;
-
- isTrueFS($_) and ($freq, $passno) = (1, ($_->{mntpoint} eq '/') ? 1 : 2);
- isNfs($_) and $dir = '', $options = $_->{options} || $format_options->('ro,nosuid,rsize=8192,wsize=8192', 'iocharset');
- isFat($_) and $options = $_->{options} || $format_options->("user,exec,umask=0", 'codepage', 'iocharset');
-
- #isReiserfs($_) && $_ == fsedit::get_root($fstab, 'boot') and add_options($options, "notail");
-
- my $dev = isLoopback($_) ?
- ($_->{mntpoint} eq '/' ? "/initrd/loopfs$_->{loopback_file}" : loopback::file($_)) :
- ($_->{device} =~ /^\// ? $_->{device} : "$dir$_->{device}");
-
- local $_->{mntpoint} = do {
- $passno = 0;
- "/initrd/loopfs";
- } if loopback::carryRootLoopback($_);
-
- add_options($options, "loop") if isLoopback($_) && !isSwap($_); #- no need for loop option for swap files
-
- eval { devices::make("$prefix/$dev") } if $dir && !isLoopback($_);
- mkdir "$prefix/$_->{mntpoint}", 0755 if $_->{mntpoint} && !isSwap($_);
-
- [ $dev, $_->{mntpoint}, type2fs($_->{type}), $options, $freq, $passno ];
-
- } grep { $_->{mntpoint} && type2fs($_->{type}) } @$fstab;
-
- push @to_add, map { [ split ] } cat_("$prefix/etc/fstab");
-
- my %new;
- @to_add = grep {
- if (($_->[0] eq 'none' || !$new{$_->[0]}) && !$new{$_->[1]}) {
- #- keep in mind the new line for fstab.
- @new{$_->[0], $_->[1]} = (1, 1);
- 1;
- } else {
- 0;
- }
- } @to_add;
-
- log::l("writing $prefix/etc/fstab");
- local *F;
- open F, "> $prefix/etc/fstab" or die "error writing $prefix/etc/fstab";
- print F join(" ", @$_), "\n" foreach sort { $a->[1] cmp $b->[1] } @to_add;
-}
-
-sub merge_fstabs {
- my ($fstab, $manualFstab) = @_;
- my %l; $l{$_->{device}} = $_ foreach @$manualFstab;
- put_in_hash($_, $l{$_->{device}}) foreach @$fstab;
-}
-
-#sub check_mount_all_fstab($;$) {
-# my ($fstab, $prefix) = @_;
-# $prefix ||= '';
-#
-# foreach (sort { ($a->{mntpoint} || '') cmp ($b->{mntpoint} || '') } @$fstab) {
-# #- avoid unwanted mount in fstab.
-# next if ($_->{device} =~ /none/ || $_->{type} =~ /nfs|smbfs|ncpfs|proc/ || $_->{options} =~ /noauto|ro/);
-#
-# #- TODO fsck
-#
-# eval { mount(devices::make($_->{device}), $prefix . $_->{mntpoint}, $_->{type}, 0); };
-# if ($@) {
-# log::l("unable to mount partition $_->{device} on $prefix/$_->{mntpoint}");
-# }
-# }
-#}
diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm
deleted file mode 100644
index bc2182255..000000000
--- a/perl-install/fsedit.pm
+++ /dev/null
@@ -1,474 +0,0 @@
-package fsedit; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(%suggestions);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :constant :functional :file);
-use partition_table qw(:types);
-use partition_table_raw;
-use detect_devices;
-use fsedit;
-use devices;
-use loopback;
-use log;
-use fs;
-
-%suggestions = (
- __("simple") => [
- { mntpoint => "/", size => 300 << 11, type => 0x83, ratio => 5, maxsize =>3500 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 1, maxsize => 250 << 11 },
- { mntpoint => "/home", size => 300 << 11, type => 0x83, ratio => 3 },
- ], 'with usr' => [
- { mntpoint => "/", size => 150 << 11, type => 0x83, ratio => 1, maxsize => 500 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 1, maxsize => 250 << 11 },
- { mntpoint => "/usr", size => 300 << 11, type => 0x83, ratio => 4, maxsize =>3000 << 11 },
- { mntpoint => "/home", size => 100 << 11, type => 0x83, ratio => 5 },
- ], __("server") => [
- { mntpoint => "/", size => 150 << 11, type => 0x83, ratio => 1, maxsize => 250 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 2, maxsize => 400 << 11 },
- { mntpoint => "/usr", size => 300 << 11, type => 0x83, ratio => 3, maxsize =>3000 << 11 },
- { mntpoint => "/var", size => 100 << 11, type => 0x83, ratio => 4 },
- { mntpoint => "/home", size => 100 << 11, type => 0x83, ratio => 5 },
- ],
-);
-my @suggestions_mntpoints = (
- "/root", "/var/ftp", "/var/www", "/boot",
- arch() =~ /sparc/ ? "/mnt/sunos" : "/mnt/windows",
-);
-
-my @partitions_signatures = (
- [ 0x83, 0x438, "\x53\xEF" ],
- [ 0x183, 0x10034, "ReIsErFs" ],
- [ 0x183, 0x10034, "ReIsEr2Fs" ],
- [ 0x283, 0, 'XFSB', 0x200, 'XAGF', 0x400, 'XAGI' ],
- [ 0x82, 4086, "SWAP-SPACE" ],
- [ 0x7, 0x1FE, "\x55\xAA", 0x3, "NTFS" ],
- [ 0xc, 0x1FE, "\x55\xAA", 0x52, "FAT32" ],
-arch() !~ /^sparc/ ? (
- [ 0x6, 0x1FE, "\x55\xAA", 0x36, "FAT" ],
-) : (),
-);
-
-sub typeOfPart { typeFromMagic(devices::make($_[0]), @partitions_signatures) }
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub hds {
- my ($drives, $flags) = @_;
- my (@hds, @lvms);
- my $rc;
-
- foreach (@$drives) {
- my $file = devices::make($_->{device});
-
- my $hd = partition_table_raw::get_geometry($file) or log::l("An error occurred while getting the geometry of block device $file: $!"), next;
- add2hash_($hd, $_);
- $hd->{file} = $file;
- $hd->{prefix} = $hd->{device};
- # for RAID arrays of format c0d0p1
- $hd->{prefix} .= "p" if $hd->{prefix} =~ m,(rd|ida|cciss)/,;
-
- eval { partition_table::read($hd, $flags->{clearall} || member($_->{device}, @{$flags->{clear} || []})) };
- if ($@) {
- partition_table_raw::zero_MBR($hd);
- }
- member($_->{device}, @{$flags->{clear} || []}) and partition_table::remove($hd, $_)
- foreach partition_table::get_normal_parts($hd);
-
- #- special case for type overloading (eg: reiserfs is 0x183)
- foreach (grep { isExt2($_) } partition_table::get_normal_parts($hd)) {
- my $type = typeOfPart($_->{device});
- $_->{type} = $type if $type > 0x100;
- }
- push @hds, $hd;
- }
- if (my @pvs = grep { isLVM($_) } map { partition_table::get_normal_parts($_) } @hds) {
- #- otherwise vgscan won't find them
- devices::make($_->{device}) foreach @pvs;
- require lvm;
- foreach (@pvs) {
- my $name = lvm::get_vg($_) or next;
- my ($lvm) = grep { $_->{LVMname} eq $name } (@hds, @lvms);
- if (!$lvm) {
- $lvm = bless { disks => [], LVMname => $name, level => 'linear' }, 'lvm';
- lvm::update_size($lvm);
- lvm::get_lvs($lvm);
- push @lvms, $lvm;
- }
- $_->{lvm} = $name;
- push @{$lvm->{disks}}, $_;
- }
- }
- \@hds, \@lvms;
-}
-
-sub readProcPartitions {
- my ($hds) = @_;
- my @parts;
- foreach (cat_("/proc/partitions")) {
- my (undef, undef, $size, $device) = split;
- next if $size eq "1"; #- extended partitions
- foreach (@$hds) {
- push @parts, { start => 0, size => $size * 2, device => $device,
- type => typeOfPart($device), rootDevice => $_->{device}
- } if $device =~ /^$_->{device}./;
- }
- }
- @parts;
-}
-
-#- get all normal partition including special ones as found on sparc.
-sub get_fstab {
- loopback::loopbacks(@_), map { partition_table::get_normal_parts($_) } @_
-}
-
-#- get normal partition that should be visible for working on.
-sub get_visible_fstab {
- grep { $_ && !partition_table::isWholedisk($_) && !partition_table::isHiddenMacPart($_) } map { partition_table::get_normal_parts($_) } @_;
-}
-
-sub free_space {
- sum map { $_->{size} } map { partition_table::get_holes($_) } @_;
-}
-
-sub is_one_big_fat {
- my ($hds) = @_;
- @$hds == 1 or return;
-
- my @l = get_fstab(@$hds);
- @l == 1 && isFat($l[0]) && free_space(@$hds) < 10 << 11;
-}
-
-
-sub computeSize {
- my ($part, $best, $hds, $suggestions) = @_;
- my $max = $part->{maxsize} || $part->{size};
- return min($max, $best->{size}) unless $best->{ratio};
-
- my $free_space = free_space(@$hds);
- my @l = my @L = grep {
- if (!has_mntpoint($_->{mntpoint}, $hds) && $free_space >= $_->{size}) {
- $free_space -= $_->{size};
- 1;
- } else { 0 } } @$suggestions;
-
- my $tot_ratios = 0;
- while (1) {
- my $old_free_space = $free_space;
- my $old_tot_ratios = $tot_ratios;
-
- $tot_ratios = sum(map { $_->{ratio} } @l);
- last if $tot_ratios == $old_tot_ratios;
-
- @l = grep {
- if ($_->{ratio} && $_->{maxsize} && $tot_ratios &&
- $_->{size} + $_->{ratio} / $tot_ratios * $old_free_space >= $_->{maxsize}) {
- return min($max, $best->{maxsize}) if $best->{mntpoint} eq $_->{mntpoint};
- $free_space -= $_->{maxsize} - $_->{size};
- 0;
- } else {
- $_->{ratio};
- }
- } @l;
- }
- my $size = int min($max, $best->{size} + $free_space * ($tot_ratios && $best->{ratio} / $tot_ratios));
- #- verify other entry can fill the hole
- if (grep { $_->{size} < $max - $size } @L) { $size } else { $max }
-}
-
-sub suggest_part {
- my ($part, $hds, $suggestions) = @_;
- $suggestions ||= $suggestions{server};
-
- my $has_swap = grep { isSwap($_) } get_fstab(@$hds);
-
- my ($best, $second) =
- grep { !$_->{maxsize} || $part->{size} <= $_->{maxsize} }
- grep { $_->{size} <= ($part->{maxsize} || $part->{size}) }
- grep { !has_mntpoint($_->{mntpoint}, $hds) || isSwap($_) && !$has_swap }
- grep { !$_->{hd} || $_->{hd} eq $part->{rootDevice} }
- grep { !$part->{type} || $part->{type} == $_->{type} || isTrueFS($part) && isTrueFS($_) }
- @$suggestions or return;
-
-#- if (arch() =~ /i.86/) {
-#- $best = $second if
-#- $best->{mntpoint} eq '/boot' &&
-#- $part->{start} + $best->{size} > 1024 * $hd->cylinder_size(); #- if the empty slot is beyond the 1024th cylinder, no use having /boot
-#- }
-
- defined $best or return; #- sorry no suggestion :(
-
- $part->{mntpoint} = $best->{mntpoint};
- $part->{type} = $best->{type};
- $part->{size} = computeSize($part, $best, $hds, $suggestions);
- 1;
-}
-
-sub suggestions_mntpoint {
- my ($hds) = @_;
- sort grep { !/swap/ && !has_mntpoint($_, $hds) }
- (@suggestions_mntpoints, map { $_->{mntpoint} } @{$suggestions{server}});
-}
-
-#-sub partitionDrives {
-#-
-#- my $cmd = "/sbin/fdisk";
-#- -x $cmd or $cmd = "/usr/bin/fdisk";
-#-
-#- my $drives = findDrivesPresent() or die "You don't have any hard drives available! You probably forgot to configure a SCSI controller.";
-#-
-#- foreach (@$drives) {
-#- my $text = "/dev/" . $_->{device};
-#- $text .= " - SCSI ID " . $_->{id} if $_->{device} =~ /^sd/;
-#- $text .= " - Model " . $_->{info};
-#- $text .= " array" if $_->{device} =~ /^c.d/;
-#-
-#- #- truncate at 50 columns for now
-#- $text = substr $text, 0, 50;
-#- }
-#- #-TODO TODO
-#-}
-
-
-sub mntpoint2part {
- my ($mntpoint, $fstab) = @_;
- first(grep { $mntpoint eq $_->{mntpoint} } @$fstab);
-}
-sub has_mntpoint {
- my ($mntpoint, $hds) = @_;
- mntpoint2part($mntpoint, [ get_fstab(@$hds) ]);
-}
-sub get_root_ {
- my ($fstab, $boot) = @_;
- $boot && mntpoint2part("/boot", $fstab) || mntpoint2part("/", $fstab);
-}
-sub get_root { &get_root_ || {} }
-
-#- do this before modifying $part->{mntpoint}
-#- $part->{mntpoint} should not be used here, use $mntpoint instead
-sub check_mntpoint {
- my ($mntpoint, $hd, $part, $hds, $loopbackDevice) = @_;
-
- ref $loopbackDevice or undef $loopbackDevice;
-
- $mntpoint eq '' || isSwap($part) || isNonMountable($part) and return;
-
- local $_ = $mntpoint;
- m|^/| or die _("Mount points must begin with a leading /");
-#- m|(.)/$| and die "The mount point $_ is illegal.\nMount points may not end with a /";
-
- has_mntpoint($mntpoint, $hds) and die _("There is already a partition with mount point %s\n", $mntpoint);
-
- my $fake_part = { mntpoint => $mntpoint, device => $loopbackDevice };
- $fake_part->{loopback_file} = 1 if $loopbackDevice;
- my $fstab = [ get_fstab(@$hds), $fake_part ];
- my $check; $check = sub {
- my ($p, @seen) = @_;
- push @seen, $p->{mntpoint} || return;
- @seen > 1 && $p->{mntpoint} eq $mntpoint and die _("Circular mounts %s\n", join(", ", @seen));
- if (my $part = fs::up_mount_point($p->{mntpoint}, $fstab)) {
- #- '/' carrier is a special case, it will be mounted first
- $check->($part, @seen) unless loopback::carryRootLoopback($p);
- }
- if (isLoopback($p)) {
- $check->($p->{device}, @seen);
- }
- };
- $check->($fake_part) unless $mntpoint eq '/' && $loopbackDevice; #- '/' is a special case, no loop check
-
- die "raid / with no /boot" if $mntpoint eq "/" && isMDRAID($part) && !has_mntpoint("/boot", $hds);
- die _("You can't use a LVM Logical Volume for mount point %s", $mntpoint) if ($mntpoint eq '/' || $mntpoint eq '/boot') && isLVMBased($hd);
- die _("This directory should remain within the root filesystem") if member($mntpoint, qw(/bin /dev /etc /lib /sbin));
- die _("You need a true filesystem (ext2, reiserfs) for this mount point\n") if !isTrueFS($part) && member($mntpoint, qw(/ /home /tmp /usr /var));
-#- if ($part->{start} + $part->{size} > 1024 * $hd->cylinder_size() && arch() =~ /i.86/) {
-#- die "/boot ending on cylinder > 1024" if $mntpoint eq "/boot";
-#- die "/ ending on cylinder > 1024" if $mntpoint eq "/" && !has_mntpoint("/boot", $hds);
-#- }
-}
-
-sub add($$$;$) {
- my ($hd, $part, $hds, $options) = @_;
-
- isSwap($part) ?
- ($part->{mntpoint} = 'swap') :
- $options->{force} || check_mntpoint($part->{mntpoint}, $hd, $part, $hds);
-
- delete $part->{maxsize};
-
- if (isLVMBased($hd)) {
- lvm::lv_create($hd, $part);
- } else {
- partition_table::add($hd, $part, $options->{primaryOrExtended});
- }
-}
-
-sub allocatePartitions($$) {
- my ($hds, $to_add) = @_;
-
- foreach my $hd (@$hds) {
- foreach (partition_table::get_holes($hd)) {
- my ($start, $size) = @$_{"start", "size"};
- my $part;
- while (suggest_part($part = { start => $start, size => 0, maxsize => $size, rootDevice => $hd->{device} },
- $hds, $to_add)) {
- add($hd, $part, $hds);
- $size -= $part->{size} + $part->{start} - $start;
- $start = $part->{start} + $part->{size};
- }
- }
- }
-}
-
-sub auto_allocate {
- my ($hds, $suggestions) = @_;
- allocatePartitions($hds, $suggestions || $suggestions{simple});
- map { partition_table::assign_device_numbers($_) } @$hds;
-}
-
-sub undo_prepare($) {
- my ($hds) = @_;
- require Data::Dumper;
- $Data::Dumper::Purity = 1;
- foreach (@$hds) {
- my @h = @{$_}{@partition_table::fields2save};
- push @{$_->{undo}}, Data::Dumper->Dump([\@h], ['$h']);
- }
-}
-sub undo($) {
- my ($hds) = @_;
- foreach (@$hds) {
- my $h; eval pop @{$_->{undo}} || next;
- @{$_}{@partition_table::fields2save} = @$h;
-
- $_->{isDirty} = $_->{needKernelReread} = 1 if $_->{hasBeenDirty};
- }
-}
-
-sub move {
- my ($hd, $part, $hd2, $sector2) = @_;
-
- my $part1 = { %$part };
- my $part2 = { %$part };
- $part2->{start} = $sector2;
- $part2->{size} += $hd2->cylinder_size() - 1;
- partition_table::remove($hd, $part);
- {
- local ($part2->{notFormatted}, $part2->{isFormatted}); #- do not allow partition::add to change this
- partition_table::add($hd2, $part2);
- }
-
- return if $part2->{notFormatted} && !$part2->{isFormatted} || $::testing;
-
- local (*F, *G);
- sysopen F, $hd->{file}, 0 or die '';
- sysopen G, $hd2->{file}, 2 or die _("Error opening %s for writing: %s", $hd2->{file}, "$!");
-
- my $base = $part1->{start};
- my $base2 = $part2->{start};
- my $step = 10;
- if ($hd eq $hd2) {
- $base == $base2 and return;
- $step = min($step, abs($base2 - $base));
-
- if ($base < $base2) {
- $base += $part1->{size} - $step;
- $base2 += $part1->{size} - $step;
- $step = -$step;
- }
- }
-
- my $f = sub {
- $base < 0 and $base2 += -$base, $base = 0;
- $base2 < 0 and $base += -$base2, $base2 = 0;
- c::lseek_sector(fileno(F), $base, 0) or die "seeking to sector $base failed on drive $hd->{device}";
- c::lseek_sector(fileno(G), $base2, 0) or die "seeking to sector $base2 failed on drive $hd2->{device}";
-
- my $buf;
- sysread F, $buf, $SECTORSIZE * abs($_[0]) or die '';
- syswrite G, $buf;
- };
-
- for (my $i = 0; $i < $part1->{size} / abs($step); $i++, $base += $step, $base2 += $step) {
- print "$base $base2\n";
- &$f($step);
- }
- if (my $v = ($part1->{size} % abs($step)) * sign($step)) {
- $base += $v;
- $base2 += $v;
- &$f($v);
- }
-}
-
-sub change_type($$$) {
- my ($hd, $part, $type) = @_;
- $type != $part->{type} or return;
- $hd->{isDirty} = 1;
- $part->{mntpoint} = '' if isSwap($part) && $part->{mntpoint} eq "swap";
- $part->{mntpoint} = '' if isLVM({ type => $type }) || isRAID({ type => $type });
- $part->{type} = $type;
- $part->{notFormatted} = 1;
- $part->{isFormatted} = 0;
-}
-
-sub rescuept($) {
- my ($hd) = @_;
- my ($ext, @hd);
-
- my $dev = devices::make($hd->{device});
- local *F; open F, "rescuept $dev|";
- local $_;
- while (<F>) {
- my ($st, $si, $id) = /start=\s*(\d+),\s*size=\s*(\d+),\s*Id=\s*(\d+)/ or next;
- my $part = { start => $st, size => $si, type => hex($id) };
- if (isExtended($part)) {
- $ext = $part;
- } else {
- push @hd, $part;
- }
- }
- close F or die "rescuept failed";
-
- partition_table_raw::zero_MBR($hd);
- foreach (@hd) {
- my $b = partition_table::verifyInside($_, $ext);
- if ($b) {
- $_->{start}--;
- $_->{size}++;
- }
- local $_->{notFormatted};
-
- partition_table::add($hd, $_, ($b ? 'Extended' : 'Primary'), 1);
- }
-}
-
-sub verifyHds {
- my ($hds, $readonly, $ok) = @_;
-
- if (is_empty_array_ref($hds)) { #- no way
- die _("An error has occurred - no valid devices were found on which to create new filesystems. Please check your hardware for the cause of this problem");
- }
-
- my @parts = readProcPartitions($hds);
- $ok &&= @parts == listlength(get_fstab(@$hds)) unless arch() eq "ppc";
-
- if ($readonly && !$ok) {
- log::l("using /proc/partitions as diskdrake failed :(");
- foreach my $hd (@$hds) {
- partition_table_raw::zero_MBR($hd);
- $hd->{primary} = { normal => [ grep { $hd->{device} eq $_->{rootDevice} } @parts ] };
- }
- $ok = 1;
- }
- $readonly && get_fstab(@$hds) == 0 and die _("You don't have any partitions!");
- $ok;
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
diff --git a/perl-install/ftp.pm b/perl-install/ftp.pm
deleted file mode 100644
index 20b837b8c..000000000
--- a/perl-install/ftp.pm
+++ /dev/null
@@ -1,84 +0,0 @@
-package ftp; # $Id$
-
-use Net::FTP;
-
-use network;
-use log;
-
-my %hosts;
-
-1;
-
-sub fromEnv() {
- #- now URLPREFIX is generated from what is given by mdk-stage1 which is only this 4 variables.
- $ENV{URLPREFIX} = "ftp://" . ($ENV{LOGIN} && ("$ENV{LOGIN}" . ($ENV{PASSWORD} && ":$ENV{PASSWORD}") . '@')) .
- "$ENV{HOST}/$ENV{PREFIX}";
- @ENV{qw(HOST PREFIX LOGIN PASSWORD)};
-}
-
-sub new {
- my ($host, $prefix, $login, $password) = @_;
- my @l = do { if ($hosts{"$host$prefix"}) {
- @{$hosts{"$host$prefix"}};
- } else {
- my %options = (Passive => 1, Timeout => 60, Port => 21);
- $options{Firewall} = $ENV{PROXY} if $ENV{PROXY};
- $options{Port} = $ENV{PROXYPORT} if $ENV{PROXYPORT};
- unless ($login) {
- $login = 'anonymous';
- $password = '-drakx@';
- }
-
- my $ftp;
- foreach (1..10) {
- $ftp = Net::FTP->new(network::resolv($host), %options) or die;
- $ftp && $ftp->login($login, $password) and last;
-
- log::l("ftp login failed, sleeping before trying again");
- sleep 5 * $_;
- }
- $ftp or die "unable to open ftp connection to $host";
- $ftp->binary;
- $ftp->cwd($prefix);
-
- my @l = ($ftp, \ (my $retr = undef));
- $hosts{"$host$prefix"} = \@l;
- @l;
- }};
- wantarray ? @l : $l[0];
-}
-
-sub getFile {
- my ($f, @para) = @_;
- $f eq 'XXX' and rewindGetFile(), return; #- special case to force closing connection.
- foreach (1..3) {
- my ($ftp, $retr) = new(@para ? @para : fromEnv);
- $$retr->close if $$retr;
- $$retr = $ftp->retr($f) and return $$retr;
- ($ftp->code == 550) and log::l("FTP: 550 file unavailable"), return;
- rewindGetFile();
- log::l("ftp get failed, sleeping before trying again");
- sleep 1;
- }
-}
-
-#-sub closeFiles() {
-#- #- close any existing connections
-#- foreach (values %hosts) {
-#- my $retr = $_->[1] if ref $_;
-#- $$retr->close if $$retr;
-#- undef $$retr;
-#- }
-#-}
-
-sub rewindGetFile() {
- #- close any existing connection.
- foreach (values %hosts) {
- my ($ftp, $retr) = @{$_ || []};
- $$retr->close if $$retr;
- $ftp->close() if $ftp;
- }
-
- #- make sure to reconnect to server.
- %hosts = ();
-}
diff --git a/perl-install/g_auto_install b/perl-install/g_auto_install
deleted file mode 100755
index 871a15945..000000000
--- a/perl-install/g_auto_install
+++ /dev/null
@@ -1,12 +0,0 @@
-#!../perl
-
-my $dir = `pwd`;
-chomp $dir;
-$dir .= "/../../..";
-
-$ENV{PERL5LIB} = join ":", map { "$dir/$_" } @INC;
-$ENV{LD_LIBRARY_PATH} = "$dir/lib:$dir/usr/lib";
-$ENV{PATH} = join(":", map { "$dir/$_" } split ":", "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin") . ":$ENV{PATH}";
-$ENV{SHARE_PATH} = "$dir/usr/share";
-
-exec "../../../lib/ld-linux.so.2", "../perl", "./install2", "--g_auto_install", @ARGV or die;
diff --git a/perl-install/getpkgs_deps b/perl-install/getpkgs_deps
deleted file mode 100755
index bc2d5e0e8..000000000
--- a/perl-install/getpkgs_deps
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/perl
-
-use diagnostics;
-use strict;
-
-use lib qw(/usr/bin/perl-install . c c/blib/arch);
-use pkgs_deps;
-use pkgs;
-
-pkgs_deps::main(pkgs::psUsingDirectory());
diff --git a/perl-install/help.pm b/perl-install/help.pm
deleted file mode 100644
index b1ad37b26..000000000
--- a/perl-install/help.pm
+++ /dev/null
@@ -1,1087 +0,0 @@
-package help; # $Id$
-
-use common qw(:common);
-
-%steps = (
-empty => '',
-
-selectLanguage =>
- __("Please choose your preferred language for installation and system usage."),
-
-license =>
- __("You need to accept the terms of the above license to continue installation.
-
-
-Please click on \"Accept\" if you agree with its terms.
-
-
-Please click on \"Refuse\" if you disagree with its terms. Installation will end without modifying your current
-configuration."),
-
-selectKeyboard =>
- __("Choose the layout corresponding to your keyboard from the list above"),
-
-selectLangs =>
- __("If you wish other languages (than the one you choose at
-beginning of installation) will be available after installation, please chose
-them in list above. If you want select all, you just need to select \"All\"."),
-
-selectInstallClass =>
- __("Please choose \"Install\" if there are no previous version of Linux-Mandrake
-installed or if you wish to use several operating systems.
-
-
-Please choose \"Update\" if you wish to update an already installed version of Linux-Mandrake.
-
-
-Depend of your knowledge in GNU/Linux, you can choose one of the following levels to install or update your
-Linux-Mandrake operating system:
-
- * Recommended: if you have never installed a GNU/Linux operating system choose this. Installation will be
- be very easy and you will be asked only on few questions.
-
-
- * Customized: if you are familiar enough with GNU/Linux, you may choose the primary usage (workstation, server,
- development) of your system. You will need to answer to more questions than in \"Recommended\" installation
- class, so you need to know how GNU/Linux works to choose this installation class.
-
-
- * Expert: if you have a good knowledge in GNU/Linux, you can choose this installation class. As in \"Customized\"
- installation class, you will be able to choose the primary usage (workstation, server, development). Be very
- careful before choose this installation class. You will be able to perform a higly customized installation.
- Answer to some questions can be very difficult if you haven't a good knowledge in GNU/Linux. So, don't choose
- this installation class unless you know what you are doing."),
-
-selectInstallClassCorpo =>
- __("Select:
-
- - Customized: If you are familiar enough with GNU/Linux, you may then choose
- the primary usage for your machine. See below for details.
-
-
- - Expert: This supposes that you are fluent with GNU/Linux and want to
- perform a highly customized installation. As for a \"Customized\"
- installation class, you will be able to select the usage for your system.
- But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE DOING!"),
-
-selectInstallClass2 =>
- __("You must now define your machine usage. Choices are:
-
- * Workstation: this the ideal choice if you intend to use your machine primarily for everyday use, at office or
- at home.
-
-
- * Development: if you intend to use your machine primarily for software development, it is the good choice. You
- will then have a complete collection of software installed in order to compile, debug and format source code,
- or create software packages.
-
-
- * Server: if you intend to use this machine as a server, it is the good choice. Either a file server (NFS or
- SMB), a print server (Unix style or Microsoft Windows style), an authentication server (NIS), a database
- server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) to be installed."),
-
-setupSCSI =>
- __("DrakX will attempt to look for PCI SCSI adapter(s). If DrakX
-finds an SCSI adapter and knows which driver to use, it will be automatically
-installed.
-
-
-If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that
-DrakX doesn't recognize, you will be asked if a SCSI adapter is present in your
-system. If there is no adapter present, you can click on \"No\". If you click on
-\"Yes\", a list of drivers will be presented from which you can select your
-specific adapter.
-
-
-If you have to manually specify your adapter, DrakX will ask if you want to
-specify options for it. You should allow DrakX to probe the hardware for the
-options. This usually works well.
-
-
-If not, you will need to provide options to the driver. Please review the User
-Guide (chapter 3, section \"Collective informations on your hardware) for hints
-on retrieving this information from hardware documentation, from the
-manufacturer's Web site (if you have Internet access) or from Microsoft Windows
-(if you have it on your system)."),
-
-doPartitionDisks =>
- __("At this point, you need to choose where to install your
-Linux-Mandrake operating system on your hard drive. If it is empty or if an
-existing operating system uses all the space available on it, you need to
-partition it. Basically, partitioning a hard drive consists of logically
-dividing it to create space to install your new Linux-Mandrake system.
-
-
-Because the effects of the partitioning process are usually irreversible,
-partitioning can be intimidating and stressful if you are an inexperienced user.
-This wizard simplifies this process. Before beginning, please consult the manual
-and take your time.
-
-
-You need at least two partitions. One is for the operating system itself and the
-other is for the virtual memory (also called Swap).
-
-
-If partitions have been already defined (from a previous installation or from
-another partitioning tool), you just need choose those to use to install your
-Linux system.
-
-
-If partitions haven't been already defined, you need to create them.
-To do that, use the wizard available above. Depending of your hard drive
-configuration, several solutions can be available:
-
- * Use existing partition: the wizard has detected one or more existing Linux partitions on your hard drive. If
- you want to keep them, choose this option.
-
-
- * Erase entire disk: if you want delete all data and all partitions present on your hard drive and replace them by
- your new Linux-Mandrake system, you can choose this option. Be careful with this solution, you will not be
- able to revert your choice after confirmation.
-
-
- * Use the free space on the Windows partition: if Microsoft Windows is installed on your hard drive and takes
- all space available on it, you have to create free space for Linux data. To do that you can delete your
- Microsoft Windows partition and data (see \"Erase entire disk\" or \"Expert mode\" solutions) or resize your
- Microsoft Windows partition. Resizing can be performed without loss of any data. This solution is
- recommended if you want use both Linux-Mandrake and Microsoft Windows on same computer.
-
-
- Before choosing this solution, please understand that the size of your Microsoft
- Windows partition will be smaller than at present time. It means that you will have less free space under
- Microsoft Windows to store your data or install new software.
-
-
- * Expert mode: if you want to partition manually your hard drive, you can choose this option. Be careful before
- choosing this solution. It is powerful but it is very dangerous. You can lose all your data very easily. So,
- don't choose this solution unless you know what you are doing."),
-
-partition_with_diskdrake =>
- __("At this point, you need to choose what
-partition(s) to use to install your new Linux-Mandrake system. If partitions
-have been already defined (from a previous installation of GNU/Linux or from
-another partitioning tool), you can use existing partitions. In other cases,
-hard drive partitions must be defined.
-
-
-To create partitions, you must first select a hard drive. You can select the
-disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb\" for
-the second or \"sda\" for the first SCSI drive and so on.
-
-
-To partition the selected hard drive, you can use these options:
-
- * Clear all: this option deletes all partitions available on the selected hard drive.
-
-
- * Auto allocate: this option allows you to automatically create Ext2 and swap partitions in free space of your
- hard drive.
-
-
- * Rescue partition table: if your partition table is damaged, you can try to recover it using this option. Please
- be careful and remember that it can fail.
-
-
- * Undo: you can use this option to cancel your changes.
-
-
- * Reload: you can use this option if you wish to undo all changes and load your initial partitions table
-
-
- * Wizard: If you wish to use a wizard to partition your hard drive, you can use this option. It is recommended if
- you do not have a good knowledge in partitioning.
-
-
- * Restore from floppy: if you have saved your partition table on a floppy during a previous installation, you can
- recover it using this option.
-
-
- * Save on floppy: if you wish to save your partition table on a floppy to be able to recover it, you can use this
- option. It is strongly recommended to use this option
-
-
- * Done: when you have finished partitioning your hard drive, use this option to save your changes.
-
-
-For information, you can reach any option using the keyboard: navigate trough the partitions using Tab and Up/Down arrows.
-
-
-When a partition is selected, you can use:
-
- * Ctrl-c to create a new partition (when a empty partition is selected)
-
- * Ctrl-d to delete a partition
-
- * Ctrl-m to set the mount point
-
-
-
-If you are installing on a PPC Machine, you will want to create a small HFS 'bootstrap' partition of at least 1MB for use
-by the yaboot bootloader. If you opt to make the partition a bit larger, say 50MB, you may find it a useful place to store
-a spare kernel and ramdisk image for emergency boot situations."),
-
-ask_mntpoint_s =>
- __("Above are listed the existing Linux partitions detected on
-your hard drive. You can keep choices make by the wizard, they are good for a
-common usage. If you change these choices, you must at least define a root
-partition (\"/\"). Don't choose a too little partition or you will not be able
-to install enough software. If you want store your data on a separate partition,
-you need also to choose a \"/home\" (only possible if you have more than one
-Linux partition available).
-
-
-For information, each partition is listed as follows: \"Name\", \"Capacity\".
-
-
-\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",
-\"partition number\" (for example, \"hda1\").
-
-
-\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and \"sd\"
-if it is an SCSI hard drive.
-
-
-\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE hard drives:
-
- * \"a\" means \"master hard drive on the primary IDE controller\",
-
- * \"b\" means \"slave hard drive on the primary IDE controller\",
-
- * \"c\" means \"master hard drive on the secondary IDE controller\",
-
- * \"d\" means \"slave hard drive on the secondary IDE controller\".
-
-
-With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means \"secondary hard drive\", etc..."),
-
-takeOverHdChoose =>
- __("Choose the hard drive you want to erase to install your
-new Linux-Mandrake partition. Be careful, all data present on it will be lost
-and will not be recoverable."),
-
-takeOverHdConfirm =>
- __("Click on \"OK\" if you want to delete all data and
-partitions present on this hard drive. Be careful, after clicking on \"OK\", you
-will not be able to recover any data and partitions present on this hard drive,
-including any Windows data.
-
-
-Click on \"Cancel\" to cancel this operation without losing any data and
-partitions present on this hard drive."),
-
-resizeFATChoose =>
- __("More than one Microsoft Windows partition have been
-detected on your hard drive. Please choose the one you want resize to install
-your new Linux-Mandrake operating system.
-
-
-For information, each partition is listed as follow; \"Linux name\", \"Windows
-name\" \"Capacity\".
-
-\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number\",
-\"partition number\" (for example, \"hda1\").
-
-
-\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd\"
-if it is an SCSI hard drive.
-
-
-\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With IDE hard drives:
-
- * \"a\" means \"master hard drive on the primary IDE controller\",
-
- * \"b\" means \"slave hard drive on the primary IDE controller\",
-
- * \"c\" means \"master hard drive on the secondary IDE controller\",
-
- * \"d\" means \"slave hard drive on the secondary IDE controller\".
-
-With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means \"secondary hard drive\", etc.
-
-
-\"Windows name\" is the letter of your hard drive under Windows (the first disk
-or partition is called \"C:\")."),
-
-resizeFATWait =>
- __("Please be patient. This operation can take several minutes."),
-
-formatPartitions =>
- __("Any partitions that have been newly defined must be
-formatted for use (formatting meaning creating a filesystem).
-
-
-At this time, you may wish to reformat some already existing partitions to erase
-the data they contain. If you wish do that, please also select the partitions
-you want to format.
-
-
-Please note that it is not necessary to reformat all pre-existing partitions.
-You must reformat the partitions containing the operating system (such as \"/\",
-\"/usr\" or \"/var\") but do you no have to reformat partitions containing data
-that you wish to keep (typically /home).
-
-
-Please be careful selecting partitions, after formatting, all data will be
-deleted and you will not be able to recover any of them.
-
-
-Click on \"OK\" when you are ready to format partitions.
-
-
-Click on \"Cancel\" if you want to choose other partitions to install your new
-Linux-Mandrake operating system."),
-
-choosePackages =>
- __("You may now select the group of packages you wish to
-install or upgrade.
-
-
-DrakX will then check whether you have enough room to install them all. If not,
-it will warn you about it. If you want to go on anyway, it will proceed onto the
-installation of all selected groups but will drop some packages of lesser
-interest. At the bottom of the list you can select the option
-\"Individual package selection\"; in this case you will have to browse through
-more than 1000 packages..."),
-
-choosePackagesTree =>
- __("You can now choose individually all the packages you
-wish to install.
-
-
-You can expand or collapse the tree by clicking on options in the left corner of
-the packages window.
-
-
-If you prefer to see packages sorted in alphabetic order, click on the icon
-\"Toggle flat and group sorted\".
-
-
-If you want not to be warned on dependencies, click on \"Automatic
-dependencies\". If you do this, note that unselecting one package may silently
-unselect several other packages which depend on it."),
-
-chooseCD =>
- __("If you have all the CDs in the list above, click Ok. If you have
-none of those CDs, click Cancel. If only some CDs are missing, unselect them,
-then click Ok."),
-
-installPackages =>
- __("Your new Linux-Mandrake operating system is currently being
-installed. This operation should take a few minutes (it depends on size you
-choose to install and the speed of your computer).
-
-
-Please be patient."),
-
-selectMouse =>
- __( "You can now test your mouse. Use buttons and wheel to verify
-if settings are good. If not, you can click on \"Cancel\" to choose another
-driver."),
-
-selectSerialPort =>
- __("Please select the correct port. For example, the COM1
-port under MS Windows is named ttyS0 under GNU/Linux."),
-
-configureNetwork =>
- __("If you wish to connect your computer to the Internet or
-to a local network please choose the correct option. Please turn on your device
-before choosing the correct option to let DrakX detect it automatically.
-
-
-If you do not have any connection to the Internet or a local network, choose
-\"Disable networking\".
-
-
-If you wish to configure the network later after installation or if you have
-finished to configure your network connection, choose \"Done\"."),
-
-configureNetworkNoModemFound =>
- __("No modem has been detected. Please select the serial port on which it is plugged.
-
-
-For information, the first serial port (called \"COM1\" under Microsoft
-Windows) is called \"ttyS0\" under Linux."),
-
-configureNetworkDNS =>
- __("You may now enter dialup options. If you don't know
-or are not sure what to enter, the correct informations can be obtained from
-your Internet Service Provider. If you do not enter the DNS (name server)
-information here, this information will be obtained from your Internet Service
-Provider at connection time."),
-
-configureNetworkISDN =>
- __("If your modem is an external modem, please turn on it now to let DrakX detect it automatically."),
-
-configureNetworkADSL =>
- __("Please turn on your modem and choose the correct one."),
-
-configureNetworkADSL2 =>
- __("If you are not sure if informations above are
-correct or if you don't know or are not sure what to enter, the correct
-informations can be obtained from your Internet Service Provider. If you do not
-enter the DNS (name server) information here, this information will be obtained
-from your Internet Service Provider at connection time."),
-
-configureNetworkCable =>
- __("You may now enter your host name if needed. If you
-don't know or are not sure what to enter, the correct informations can be
-obtained from your Internet Service Provider."),
-
-configureNetworkIP =>
- __("You may now configure your network device.
-
- * IP address: if you don't know or are not sure what to enter, ask your network administrator.
- You should not enter an IP address if you select the option \"Automatic IP\" below.
-
- * Netmask: \"255.255.255.0\" is generally a good choice. If you don't know or are not sure what to enter,
- ask your network administrator.
-
- * Automatic IP: if your network uses BOOTP or DHCP protocol, select this option. If selected, no value is needed in
- \"IP address\". If you don't know or are not sure if you need to select this option, ask your network administrator."),
-
-configureNetworkHost =>
- __("You may now enter your host name if needed. If you
-don't know or are not sure what to enter, ask your network administrator."),
-
-configureNetworkHostDHCP =>
- __("You may now enter your host name if needed. If you
-don't know or are not sure what to enter, leave blank."),
-
-configureNetworkISP =>
- __("You may now enter dialup options. If you're not sure what to enter, the
-correct information can be obtained from your ISP."),
-
-configureNetworkProxy =>
- __("If you will use proxies, please configure them now. If you don't know if
-you should use proxies, ask your network administrator or your ISP."),
-
-installCrypto =>
- __("You can install cryptographic package if your internet connection has been
-set up correctly. First choose a mirror where you wish to download packages and
-after that select the packages to install.
-
-
-Note you have to select mirror and cryptographic packages according
-to your legislation."),
-
-configureTimezone =>
- __("You can now select your timezone according to where you live."),
-
-configureTimezoneGMT =>
- __("GNU/Linux manages time in GMT (Greenwich Manage
-Time) and translates it in local time according to the time zone you have
-selected.
-
-
-If you use Microsoft Windows on this computer, choose \"No\"."),
-
-configureServices =>
- __("You may now choose which services you want to start at boot time.
-
-
-When your mouse comes over an item, a small balloon help will popup which
-describes the role of the service.
-
-
-Be very careful in this step if you intend to use your machine as a server: you
-will probably want not to start any services that you don't need. Please
-remember that several services can be dangerous if they are enable on a server.
-In general, select only the services that you really need."),
-
-configurePrinter =>
- __("You can configure a local printer (connected to your computer) or remote
-printer (accessible via a Unix, Netware or Microsoft Windows network)."),
-
-configurePrinterSystem =>
- __("If you wish to be able to print, please choose one printing system between
-CUPS and LPR.
-
-
-CUPS is a new, powerful and flexible printing system for Unix systems (CUPS
-means \"Common Unix Printing System\"). It is the default printing system in
-Linux-Mandrake.
-
-
-LPR is the old printing system used in previous Linux-Mandrake distributions.
-
-
-If you don't have printer, click on \"None\"."),
-
-configurePrinterConnected =>
- __("GNU/Linux can deal with many types of printer. Each of these types requires
-a different setup.
-
-
-If your printer is physically connected to your computer, select \"Local
-printer\".
-
-
-If you want to access a printer located on a remote Unix machine, select
-\"Remote printer\".
-
-
-If you want to access a printer located on a remote Microsoft Windows machine
-(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."),
-
-configurePrinterLocal =>
- __("Please turn on your printer before continuing to let DrakX detect it.
-
-You have to enter some informations here.
-
-
- * Name of printer: the print spooler uses \"lp\" as default printer name. So, you must have a printer named \"lp\".
- If you have only one printer, you can use several names for it. You just need to separate them by a pipe
- character (a \"|\"). So, if you prefer a more meaningful name, you have to put it first, eg: \"My printer|lp\".
- The printer having \"lp\" in its name(s) will be the default printer.
-
-
- * Description: this is optional but can be useful if several printers are connected to your computer or if you allow
- other computers to access to this printer.
-
-
- * Location: if you want to put some information on your
- printer location, put it here (you are free to write what
- you want, for example \"2nd floor\").
-"),
-
-configurePrinterLPR =>
-__("You need to enter some informations here.
-
-
- * Name of queue: the print spooler uses \"lp\" as default printer name. So, you need have a printer named \"lp\".
- If you have only one printer, you can use several names for it. You just need to separate them by a pipe
- character (a \"|\"). So, if you prefer to have a more meaningful name, you have to put it first, eg: \"My printer|lp\".
- The printer having \"lp\" in its name(s) will be the default printer.
-
-
- * Spool directory: it is in this directory that printing jobs are stored. Keep the default choice
- if you don't know what to use
-
-
- * Printer Connection: If your printer is physically connected to your computer, select \"Local printer\".
- If you want to access a printer located on a remote Unix machine, select \"Remote lpd printer\".
-
-
- If you want to access a printer located on a remote Microsoft Windows machine (or on Unix machine using SMB
- protocol), select \"SMB/Windows 95/98/NT\".
-
-
- If you want to acces a printer located on NetWare network, select \"NetWare\".
-"),
-
-configurePrinterDev =>
- __("Your printer has not been detected. Please enter the name of the device on
-which it is connected.
-
-
-For information, most printers are connected on the first parallel port. This
-one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft Windows."),
-
-configurePrinterType =>
- __("You must now select your printer in the above list."),
-
-configurePrinterOptions =>
-__("Please select the right options according to your printer.
-Please see its documentation if you don't know what choose here.
-
-
-You will be able to test your configuration in next step and you will be able to modify it if it doesn't work as you want."),
-
-setRootPassword =>
- __("You can now enter the root password for your Linux-Mandrake system.
-The password must be entered twice to verify that both password entries are identical.
-
-
-Root is the system's administrator and is the only user allowed to modify the
-system configuration. Therefore, choose this password carefully.
-Unauthorized use of the root account can be extemely dangerous to the integrity
-of the system, its data and other system connected to it.
-
-
-The password should be a mixture of alphanumeric characters and at least 8
-characters long. It should never be written down.
-
-
-Do not make the password too long or complicated, though: you must be able to
-remember it without too much effort."),
-
-setRootPasswordMd5 =>
- __("To enable a more secure system, you should select \"Use shadow file\" and
-\"Use MD5 passwords\"."),
-
-setRootPasswordNIS =>
- __("If your network uses NIS, select \"Use NIS\". If you don't know, ask your
-network administrator."),
-
-addUser =>
- __("You may now create one or more \"regular\" user account(s), as
-opposed to the \"privileged\" user account, root. You can create
-one or more account(s) for each person you want to allow to use
-the computer. Note that each user account will have its own
-preferences (graphical environment, program settings, etc.)
-and its own \"home directory\", in which these preferences are
-stored.
-
-
-First of all, create an account for yourself! Even if you will be the only user
-of the machine, you may NOT connect as root for daily use of the system: it's a
-very high security risk. Making the system unusable is very often a typo away.
-
-
-Therefore, you should connect to the system using the user account
-you will have created here, and login as root only for administration
-and maintenance purposes."),
-
-createBootdisk =>
- __("Creating a boot disk is strongly recommended. If you can't
-boot your computer, it's the only way to rescue your system without
-reinstalling it."),
-
-setupBootloaderBeginner =>
- __("You need to indicate where you wish
-to place the information required to boot to GNU/Linux.
-
-
-Unless you know exactly what you are doing, choose \"First sector of
-drive (MBR)\"."),
-
-setupBootloader =>
- __("Unless you know specifically otherwise, the usual choice is \"/dev/hda\"
- (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."),
-
-setupBootloaderAddEntry =>
- __("LILO (the LInux LOader) and Grub are bootloaders: they are able to boot
-either GNU/Linux or any other operating system present on your computer.
-Normally, these other operating systems are correctly detected and
-installed. If this is not the case, you can add an entry by hand in this
-screen. Be careful as to choose the correct parameters.
-
-
-You may also want not to give access to these other operating systems to
-anyone, in which case you can delete the corresponding entries. But
-in this case, you will need a boot disk in order to boot them!"),
-
-setupBootloaderGeneral =>
- __("LILO and grub main options are:
- - Boot device: Sets the name of the device (e.g. a hard disk
-partition) that contains the boot sector. Unless you know specifically
-otherwise, choose \"/dev/hda\".
-
-
- - Delay before booting default image: Specifies the number in tenths
-of a second the boot loader should wait before booting the first image.
-This is useful on systems that immediately boot from the hard disk after
-enabling the keyboard. The boot loader doesn't wait if \"delay\" is
-omitted or is set to zero.
-
-
- - Video mode: This specifies the VGA text mode that should be selected
-when booting. The following values are available:
-
- * normal: select normal 80x25 text mode.
-
- * <number>: use the corresponding text mode.
-
-
- - Clean \"/tmp\" at each boot: if you want delete all files and directories
-stored in \"/tmp\" when you boot your system, select this option.
-
-
- - Precise RAM if needed: unfortunately, there is no standard method to ask the
-BIOS about the amount of RAM present in your computer. As consequence, Linux may
-fail to detect your amount of RAM correctly. If this is the case, you can
-specify the correct amount or RAM here. Please note that a difference of 2 or 4
-MB between detected memory and memory present in your system is normal."),
-
-setupYabootGeneral =>
- __("Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able
-to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.
-Normally, these other operating systems are correctly detected and
-installed. If this is not the case, you can add an entry by hand in this
-screen. Be careful as to choose the correct parameters.
-
-
-Yaboot main options are:
-
-
- - Init Message: A simple text message that is displayed before the boot
-prompt.
-
-
- - Boot Device: Indicate where you want to place the information required to
-boot to GNU/Linux. Generally, you will have setup a bootstrap partition earlier
-to hold this information.
-
-
- - Open Firmware Delay: Unlike LILO, there are two delays available with
-yaboot. The first delay is measured in seconds and at this point you can
-choose between CD, OF boot, MacOS, or Linux.
-
-
- - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. After
-selecting Linux, you will have this delay in 0.1 seconds before your default
-kernel description is selected.
-
-
- - Enable CD Boot?: Checking this option will allow you to choose 'C' for CD at
-the first boot prompt.
-
-
- - Enable OF Boot?: Checking this option will allow you to choose 'N' for Open
-Firmware at the first boot prompt.
-
-
- - Default OS: You can select which OS will boot by default when the Open Firmware
-Delay expires."),
-
-setupYabootAddEntry =>
-__("You can add additional entries for yaboot, either for other operating systems,
-alternate kernels, or for an emergency boot image.
-
-
-For other OS's - the entry consists only of a label and the root partition.
-
-
-For Linux, there are a few possible options:
-
-
- - Label: This is simply the name will type at the yaboot prompt to select this
-boot option.
-
-
- - Image: This would be the name of the kernel to boot. Typically vmlinux or
-a variation of vmlinux with an extension.
-
-
- - Root: The root device or '/' for your Linux installation.
-
-
-
- - Append: On Apple hardware, the kernel append option is used quite often to
-assist in initializing video hardware, or to enable keyboard mouse button emulation
-for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The following
-are some examples:
-
-
- video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 hda=autotune
-
- video=atyfb:vmode:12,cmode:24 adb_buttons=103,111
-
-
-
- - Initrd: This option can be used either to load initial modules, before the boot
-device is available, or to load a ramdisk image for an emergency boot situation.
-
-
- - Initrd-size: The default ramdisk size is generally 4096 bytes. If you should need
-to allocate a large ramdisk, this option can be used.
-
-
- - Read-write: Normally the 'root' partition is initially brought up read-only, to allow
-a filesystem check before the system becomes 'live'. You can override this option here.
-
-
- - NoVideo: Should the Apple video hardware prove to be exceptionally problematic, you can
-select this option to boot in 'novideo' mode, with native framebuffer support.
-
-
- - Default: Selects this entry as being the default Linux selection, selectable by just
-pressing ENTER at the yaboot prompt. This entry will also be highlighted with a '*', if you
-press TAB to see the boot selections."),
-
-setupSILOAddEntry =>
- __("SILO is a bootloader for SPARC: it is able to boot
-either GNU/Linux or any other operating system present on your computer.
-Normally, these other operating systems are correctly detected and
-installed. If this is not the case, you can add an entry by hand in this
-screen. Be careful as to choose the correct parameters.
-
-
-You may also want not to give access to these other operating systems to
-anyone, in which case you can delete the corresponding entries. But
-in this case, you will need a boot disk in order to boot them!"),
-
-setupSILOGeneral =>
- __("SILO main options are:
- - Bootloader installation: Indicate where you want to place the
-information required to boot to GNU/Linux. Unless you know exactly
-what you are doing, choose \"First sector of drive (MBR)\".
-
-
- - Delay before booting default image: Specifies the number in tenths
-of a second the boot loader should wait before booting the first image.
-This is useful on systems that immediately boot from the hard disk after
-enabling the keyboard. The boot loader doesn't wait if \"delay\" is
-omitted or is set to zero."),
-
-configureX =>
- __("Now it's time to configure the X Window System, which is the
-core of the GNU/Linux GUI (Graphical User Interface). For this purpose,
-you must configure your video card and monitor. Most of these
-steps are automated, though, therefore your work may only consist
-of verifying what has been done and accept the settings :)
-
-
-When the configuration is over, X will be started (unless you
-ask DrakX not to) so that you can check and see if the
-settings suit you. If they don't, you can come back and
-change them, as many times as necessary."),
-
-configureXmain =>
- __("If something is wrong in X configuration, use these options to correctly
-configure the X Window System."),
-
-configureXxdm =>
- __("If you prefer to use a graphical login, select \"Yes\". Otherwise, select
-\"No\"."),
-
-miscellaneous =>
- __("You can choose a security level for your system. Please refer to the manual for complete
- information. Basically, if you don't know what to choose, keep the default option.
-"),
-
-exitInstall =>
- __("Your system is going to reboot.
-
-After rebooting, your new Linux Mandrake system will load automatically.
-If you want to boot into another existing operating system, please read
-the additional instructions."),
-);
-
-#-#- ################################################################################
-#-#- NO LONGER UP-TO-DATE...
-#-%steps_long = (
-#-selectLanguage =>
-#- __("Choose preferred language for install and system usage."),
-#-
-#-selectKeyboard =>
-#- __("Choose the layout corresponding to your keyboard from the list above"),
-#-
-#-selectPath =>
-#- __("Choose \"Installation\" if there are no previous versions of GNU/Linux
-#-installed, or if you wish to use multiple distributions or versions.
-#-
-#-
-#-Choose \"Update\" if you wish to update a previous version of Mandrake
-#-Linux: 5.1 (Venice), 5.2 (Leeloo), 5.3 (Festen) or 6.0 (Venus)."),
-#-
-#-selectInstallClass =>
-#- __("Select:
-#-
-#- - Beginner: If you have never installed GNU/Linux before, and wish to
-#-install the distribution elected \"Product of the year\" for 1999,
-#-click here.
-#-
-#- - Developer: If you are familiar with GNU/Linux and will be using the
-#-computer primarily for software development, you will find happiness
-#-here.
-#-
-#- - Server: If you wish to install a general purpose server, or the
-#-GNU/Linux distribution elected \"Distribution/Server\" for 1999, select
-#-this.
-#-
-#- - Expert: If you are fluent with GNU/Linux and want to perform
-#-a highly customized installation, this Install Class is for you."),
-#-
-#-setupSCSI =>
-#- __("DrakX will attempt at first to look for one or more PCI
-#-SCSI adapter(s). If it finds it (or them) and knows which driver(s)
-#-to use, it will insert it (them) automatically.
-#-
-#-If your SCSI adapter is ISA, or is PCI but DrakX doesn't know
-#-which driver to use for this card, or if you have no SCSI adapters
-#-at all, you will then be prompted on whether you have one or not.
-#-If you have none, answer \"No\". If you have one or more, answer
-#-\"Yes\". A list of drivers will then pop up, from which you will
-#-have to select one.
-#-
-#-After you have selected the driver, DrakX will ask if you
-#-want to specify options for it. First, try and let the driver
-#-probe for the hardware: it usually works fine.
-#-
-#-If not, do not forget the information on your hardware that you
-#-could get from you documentation or from Windows (if you have
-#-it on your system), as suggested by the installation guide.
-#-These are the options you will need to provide to the driver."),
-#-
-#-partitionDisks =>
-#- __("In this stage, you may choose what partition(s) use to install your
-#-Linux-Mandrake system."),
-#-
-#-#At this point, hard drive partitions must be defined. (Unless you
-#-#are overwriting a previous install of GNU/Linux and have already defined
-#-#your hard drive partitions as desired.) This operation consists of
-#-#logically dividing the computer's hard drive capacity into separate
-#-#areas for use.
-#-#
-#-#
-#-#Two common partition are: the root partition (/), which is the starting
-#-#point of the filesystem's directory hierarchy, and /boot, which contains
-#-#all files necessary to start the operating system when the
-#-#computer is first turned on.
-#-#
-#-#
-#-#Because the effects of this process are usually irreversible, partitioning
-#-#can be intimidating and stressful to the unexperienced. DiskDrake
-#-#simplifies the process so that it need not be. Consult the documentation
-#-#and take your time before proceeding."),
-#-
-#-formatPartitions =>
-#- __("Any partitions that have been newly defined must be formatted for
-#-use (formatting meaning creating a filesystem). At this time, you may
-#-wish to re-format some already existing partitions to erase the data
-#-they contain. Note: it is not necessary to re-format pre-existing
-#-partitions, particularly if they contain files or data you wish to keep.
-#-Typically retained are /home and /usr/local."),
-#-
-#-choosePackages =>
-#- __("You may now select the packages you wish to install.
-#-
-#-
-#-Please note that some packages require the installation of others.
-#-These are referred to as package dependencies. The packages you select,
-#-and the packages they require will be automatically selected for
-#-install. It is impossible to install a package without installing all
-#-of its dependencies.
-#-
-#-
-#-Information on each category and specific package is available in the
-#-area titled \"Info\", located between list of packages and the five
-#-buttons \"Install\", \"Select more/less\" and \"Show more/less\"."),
-#-
-#-doInstallStep =>
-#- __("The packages selected are now being installed.
-#-
-#-
-#-This operation should take a few minutes."),
-#-
-#-selectMouse =>
-#- __("If DrakX failed to find your mouse, or if you want to
-#-check what it has done, you will be presented the list of mice
-#-above.
-#-
-#-
-#-If you agree with DrakX' settings, just jump to the section
-#-you want by clicking on it in the menu on the left. Otherwise,
-#-choose a mouse type in the menu which you think is the closest
-#-match for your mouse.
-#-
-#-In case of a serial mouse, you will also have to tell DrakX
-#-which serial port it is connected to."),
-#-
-#-configureNetwork =>
-#- __("This section is dedicated to configuring a local area network,
-#-or LAN. If you answer \"Yes\" here, DrakX will try to find an
-#-Ethernet adapter on your machine. PCI adapters should be found and
-#-initialized automatically. However, if your peripheral is ISA,
-#-autodetection will not work, and you will have to choose a driver
-#-from the list that will appear then.
-#-
-#-
-#-As for SCSI adapters, you can let the driver probe for the adapter
-#-in the first time, otherwise you will have to specify the options
-#-to the driver that you will have fetched from Windows' control
-#-panel.
-#-
-#-
-#-If you install a Linux-Mandrake system on a machine which is part
-#-of an already existing network, the network administrator will
-#-have given you all necessary information (IP address, network
-#-submask or netmask for short, and hostname). If you're setting
-#-up a private network at home for example, you should choose
-#-addresses "),
-#-
-#-configureTimezone =>
-#- __("Help"),
-#-
-#-configureServices =>
-#- __("Help"),
-#-
-#-configurePrinter =>
-#- __("GNU/Linux can deal with many types of printer. Each of these
-#-types require a different setup.
-#-
-#-
-#-If your printer is directly connected to your computer, select
-#-\"Local printer\". You will then have to tell which port your
-#-printer is connected to, and select the appropriate filter.
-#-
-#-
-#-If you want to access a printer located on a remote Unix machine,
-#-you will have to select \"Remote lpd queue\". In order to make
-#-it work, no username or password is required, but you will need
-#-to know the name of the printing queue on this server.
-#-
-#-
-#-If you want to access a SMB printer (which means, a printer located
-#-on a remote Windows 9x/NT machine), you will have to specify its
-#-SMB name (which is not its TCP/IP name), and possibly its IP address,
-#-plus the username, workgroup and password required in order to
-#-access the printer, and of course the name of the printer.The same goes
-#-for a NetWare printer, except that you need no workgroup information."),
-#-
-#-setRootPassword =>
-#- __("You must now enter the root password for your Linux-Mandrake
-#-system. The password must be entered twice to verify that both
-#-password entries are identical.
-#-
-#-
-#-Root is the administrator of the system, and is the only user
-#-allowed to modify the system configuration. Therefore, choose
-#-this password carefully! Unauthorized use of the root account can
-#-be extremely dangerous to the integrity of the system and its data,
-#-and other systems connected to it. The password should be a
-#-mixture of alphanumeric characters and a least 8 characters long. It
-#-should *never* be written down. Do not make the password too long or
-#-complicated, though: you must be able to remember without too much
-#-effort."),
-#-
-#-addUser =>
-#- __("You may now create one or more \"regular\" user account(s), as
-#-opposed to the \"privileged\" user account, root. You can create
-#-one or more account(s) for each person you want to allow to use
-#-the computer. Note that each user account will have its own
-#-preferences (graphical environment, program settings, etc.)
-#-and its own \"home directory\", in which these preferences are
-#-stored.
-#-
-#-
-#-First of all, create an account for yourself! Even if you will be the only user
-#-of the machine, you may NOT connect as root for daily use of the system: it's a
-#-very high security risk. Making the system unusable is very often a typo away.
-#-
-#-
-#-Therefore, you should connect to the system using the user account
-#-you will have created here, and login as root only for administration
-#-and maintenance purposes."),
-#-
-#-createBootdisk =>
-#- __("Please, please, answer \"Yes\" here! Just for example, when you
-#-reinstall Windows, it will overwrite the boot sector. Unless you have
-#-made the bootdisk as suggested, you won't be able to boot into GNU/Linux
-#-any more!"),
-#-
-#-setupBootloader =>
-#- __("You need to indicate where you wish
-#-to place the information required to boot to GNU/Linux.
-#-
-#-
-#-Unless you know exactly what you are doing, choose \"First sector of
-#-drive (MBR)\"."),
-#-
-#-configureX =>
-#- __("Now it's time to configure the X Window System, which is the
-#-core of the GNU/Linux GUI (Graphical User Interface). For this purpose,
-#-you must configure your video card and monitor. Most of these
-#-steps are automated, though, therefore your work may only consist
-#-of verifying what has been done and accept the settings :)
-#-
-#-
-#-When the configuration is over, X will be started (unless you
-#-ask DrakX not to) so that you can check and see if the
-#-settings suit you. If they don't, you can come back and
-#-change them, as many times as necessary."),
-#-
-#-exitInstall =>
-#- __("Help"),
-#-);
diff --git a/perl-install/http.pm b/perl-install/http.pm
deleted file mode 100644
index 48c89d4f7..000000000
--- a/perl-install/http.pm
+++ /dev/null
@@ -1,42 +0,0 @@
-package http; # $Id$
-
-use IO::Socket;
-use network;
-
-
-my $sock;
-
-sub getFile {
- local($^W) = 0;
-
- my ($host, $port, $path) = $ENV{URLPREFIX} =~ m,^http://([^/:]+)(?::(\d+))?(/\S*)?$,;
- $host = network::resolv($host);
- $path .= "/$_[0]";
-
- $sock->close if $sock;
- $_[0] eq 'XXX' and return; #- force closing connection.
- $sock = IO::Socket::INET->new(PeerAddr => $host,
- PeerPort => $port || 80,
- Proto => 'tcp',
- Timeout => 60) or die "can't connect ";
- $sock->autoflush;
- print $sock join("\015\012" =>
- "GET $path HTTP/1.0",
- "Host: $host" . ($port && ":$port"),
- "User-Agent: DrakX/vivelinuxabaszindozs",
- "", "");
-
- #- skip until empty line
- local $_;
- my ($now, $last, $tmp) = 0;
- my $read = sub { sysread($sock, $_, 1) || die; $tmp .= $_ };
- do {
- $last = $now;
- &$read; &$read if /\015/;
- $now = /\012/;
- } until ($now && $last);
-
- $tmp =~ /^.*\b200\b/ ? $sock : undef;
-}
-
-1;
diff --git a/perl-install/install2 b/perl-install/install2
deleted file mode 100755
index 426b8ce21..000000000
--- a/perl-install/install2
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/perl
-
-#- Mandrake Graphic Install $Id$
-#- Copyright (C) 1999/2000 MandrakeSoft (pixel@linux-mandrake.com)
-#-
-#- This program is free software; you can redistribute it and/or modify
-#- it under the terms of the GNU General Public License as published by
-#- the Free Software Foundation; either version 2, or (at your option)
-#- any later version.
-#-
-#- This program is distributed in the hope that it will be useful,
-#- but WITHOUT ANY WARRANTY; without even the implied warranty of
-#- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#- GNU General Public License for more details.
-#-
-#- You should have received a copy of the GNU General Public License
-#- along with this program; if not, write to the Free Software
-#- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-use diagnostics;
-use strict;
-
-use lib qw(/usr/bin/perl-install .);
-use install2;
-
-$::testing = $ENV{PERL_INSTALL_TEST};
-$::isStandalone = 0;
-
-install2::main(@ARGV);
-
-c::_exit(0);
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
deleted file mode 100644
index ac9f40db0..000000000
--- a/perl-install/install2.pm
+++ /dev/null
@@ -1,619 +0,0 @@
-
-package install2; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw($o $version);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :file :system :functional);
-use install_any qw(:all);
-use install_steps;
-use commands;
-use lang;
-use keyboard;
-use mouse;
-use fsedit;
-use devices;
-use partition_table qw(:types);
-use modules;
-use detect_devices;
-use run_program;
-use any;
-use log;
-use fs;
-#-$::corporate=1;
-
-#-######################################################################################
-#- Steps table
-#-######################################################################################
-my (%installSteps, @orderedInstallSteps);
-{
- my @installStepsFields = qw(text redoable onError hidden needs icon);
- #entered reachable toBeDone next done;
- my @installSteps = (
- selectLanguage => [ __("Choose your language"), 1, 1, '', '', 'default' ],
- selectInstallClass => [ __("Select installation class"), 1, 1, '', '', 'default' ],
- setupSCSI => [ __("Hard drive detection"), 1, 0, '', '', 'harddrive' ],
- selectMouse => [ __("Configure mouse"), 1, 1, '', "selectInstallClass", 'mouse' ],
- selectKeyboard => [ __("Choose your keyboard"), 1, 1, '', "selectInstallClass", 'keyboard' ],
- miscellaneous => [ __("Security"), 1, 1, '!$::expert', '', 'security' ],
- doPartitionDisks => [ __("Setup filesystems"), 1, 0, '', "selectInstallClass", 'default' ],
- formatPartitions => [ __("Format partitions"), 1, -1, '$o->{isUpgrade}', "doPartitionDisks", 'default' ],
- choosePackages => [ __("Choose packages to install"), 1, -2, '!$::expert', "formatPartitions", 'default' ],
- installPackages => [ __("Install system"), 1, -1, '', ["formatPartitions", "selectInstallClass"], '' ],
- setRootPassword => [ __("Set root password"), 1, 1, '', "installPackages", 'rootpasswd' ],
- addUser => [ __("Add a user"), 1, 1, '', "installPackages", 'user' ],
- configureNetwork => [ __("Configure networking"), 1, 1, '', "formatPartitions", 'network' ],
-#- installCrypto => [ __("Cryptographic"), 1, 1, '!$::expert', "configureNetwork" ],
- summary => [ __("Summary"), 1, 0, '', "installPackages", 'default' ],
- configureServices => [ __("Configure services"), 1, 1, '!$::expert', "installPackages", 'services' ],
-if_((arch() !~ /alpha/) && (arch() !~ /ppc/),
- createBootdisk => [ __("Create a bootdisk"), 1, 0, '', "installPackages", 'bootdisk' ],
-),
- setupBootloader => [ __("Install bootloader"), 1, 1, '', "installPackages", 'bootloader' ],
- configureX => [ __("Configure X"), 1, 1, '', ["formatPartitions", "setupBootloader"], 'X' ],
- exitInstall => [ __("Exit install"), 0, 0, '!$::expert && !$::live', '', 'default' ],
-);
- for (my $i = 0; $i < @installSteps; $i += 2) {
- my %h; @h{@installStepsFields} = @{ $installSteps[$i + 1] };
- $h{next} = $installSteps[$i + 2];
- $h{entered} = 0;
- $h{onError} = $installSteps[$i + 2 * $h{onError}];
- $h{reachable} = !$h{needs};
- $installSteps{ $installSteps[$i] } = \%h;
- push @orderedInstallSteps, $installSteps[$i];
- }
- $installSteps{first} = $installSteps[0];
-}
-#-#####################################################################################
-#-INTERNAL CONSTANT
-#-#####################################################################################
-
-my @install_classes = qw(normal developer server);
-
-#-#######################################################################################
-#-$O
-#-the big struct which contain, well everything (globals + the interactive methods ...)
-#-if you want to do a kickstart file, you just have to add all the required fields (see for example
-#-the variable $default)
-#-#######################################################################################
-$o = $::o = {
-# bootloader => { linear => 0, lba32 => 1, message => 1, timeout => 5, restricted => 0 },
- mkbootdisk => 1, #- no mkbootdisk if 0 or undef, find a floppy with 1, or fd1
-#- packages => [ qw() ],
- partitioning => { clearall => 0, eraseBadPartitions => 0, auto_allocate => 0 }, #-, readonly => 0 },
- security => 2,
- authentication => { md5 => 1, shadow => 1 },
- lang => 'en_US',
- isUpgrade => 0,
- toRemove => [],
- toSave => [],
-#- simple_themes => 1,
-
- timezone => {
-#- timezone => "Europe/Paris",
-#- UTC => 1,
- },
-#- superuser => { password => 'a', shell => '/bin/bash', realname => 'God' },
-#- user => { name => 'foo', password => 'bar', home => '/home/foo', shell => '/bin/bash', realname => 'really, it is foo' },
-
-#- keyboard => 'de',
-#- display => "192.168.1.19:1",
- steps => \%installSteps,
- orderedSteps => \@orderedInstallSteps,
-
-#- for the list of fields available for user and superuser, see @etc_pass_fields in install_steps.pm
-#- intf => { eth0 => { DEVICE => "eth0", IPADDR => '1.2.3.4', NETMASK => '255.255.255.128' } },
-
-#-step : the current one
-#-prefix
-#-mouse
-#-keyboard
-#-netc
-#-methods
-#-packages compss
-#-printer haveone entry(cf printer.pm)
-
-};
-
-#-######################################################################################
-#- Steps Functions
-#- each step function are called with two arguments : clicked(because if you are a
-#- beginner you can force the the step) and the entered number
-#-######################################################################################
-
-#------------------------------------------------------------------------------
-sub selectLanguage {
- $o->selectLanguage($_[1] == 1);
-
- addToBeDone {
- lang::write_langs($o->{prefix}, $o->{langs});
- } 'formatPartitions' unless $::g_auto_install;
- addToBeDone {
- lang::write($o->{prefix}, $o->{lang});
- keyboard::write($o->{prefix}, $o->{keyboard}, lang::lang2charset($o->{lang}));
- } 'installPackages' unless $::g_auto_install;
-}
-
-#------------------------------------------------------------------------------
-sub selectMouse {
- require pkgs;
- my ($first_time) = $_[1] == 1;
-
- add2hash($o->{mouse} ||= {}, mouse::read($o->{prefix})) if $o->{isUpgrade} && $first_time;
-
- $o->selectMouse(!$first_time);
- addToBeDone { mouse::write($o->{prefix}, $o->{mouse}) } 'installPackages';
-}
-
-#------------------------------------------------------------------------------
-sub setupSCSI {
- my ($clicked) = @_;
- $o->setupSCSI($clicked);
-}
-
-#------------------------------------------------------------------------------
-sub selectKeyboard {
- my ($clicked, $first_time) = ($_[0], $_[1] == 1);
-
- if ($o->{isUpgrade} && $first_time && $o->{keyboard_unsafe}) {
- my $keyboard = keyboard::read($o->{prefix});
- $keyboard and $o->{keyboard} = $keyboard;
- }
- return if !$::expert && !$clicked;
-
- $o->selectKeyboard($clicked);
-}
-
-#------------------------------------------------------------------------------
-sub selectInstallClass {
- my ($clicked) = @_;
-
- $o->selectInstallClass($clicked);
-
- if ($o->{steps}{choosePackages}{entered} >= 1 && !$o->{steps}{installPackages}{done}) {
- $o->setPackages(\@install_classes);
- $o->selectPackagesToUpgrade if $o->{isUpgrade};
- }
- if ($o->{isUpgrade}) {
- @{$o->{orderedSteps}} = map { /setupSCSI/ ? ($_, "doPartitionDisks") : $_ }
- grep { !/doPartitionDisks/ } @{$o->{orderedSteps}};
- my $s; foreach (@{$o->{orderedSteps}}) {
- $s->{next} = $_ if $s;
- $s = $o->{steps}{$_};
- }
- }
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisks {
- $o->{steps}{formatPartitions}{done} = 0;
- $o->doPartitionDisksBefore;
- $o->doPartitionDisks;
- $o->doPartitionDisksAfter;
-}
-
-sub formatPartitions {
- $o->{steps}{choosePackages}{done} = 0;
- $o->choosePartitionsToFormat($o->{fstab}) unless $o->{isUpgrade};
- $o->formatMountPartitions($o->{fstab}) unless $::testing;
-
- mkdir "$o->{prefix}/$_", 0755 foreach
- qw(dev etc etc/profile.d etc/rpm etc/sysconfig etc/sysconfig/console
- etc/sysconfig/network-scripts etc/sysconfig/console/consolefonts
- etc/sysconfig/console/consoletrans
- home mnt tmp var var/tmp var/lib var/lib/rpm var/lib/urpmi);
- mkdir "$o->{prefix}/$_", 0700 foreach qw(root root/tmp);
-
- any::rotate_logs($o->{prefix});
-
- require raid;
- raid::prepare_prefixed($o->{raid}, $o->{prefix});
-
- my $d = "/initrd/loopfs/lnx4win";
- if (-d $d) {
-#- install_any::useMedium(0);
- install_any::getAndSaveFile("lnx4win/$_", "$d/$_") foreach qw(ctl3d32.dll loadlin.exe linux.pif lnx4win.exe lnx4win.ico rm.exe uninstall.bat uninstall.pif);
- }
-
-#- chdir "$o->{prefix}"; was for core dumps
-
- #-noatime option for ext2 fs on laptops (do not wake up the hd)
- #- Do not update inode access times on this
- #- file system (e.g, for faster access on the
- #- news spool to speed up news servers).
- $o->{pcmcia} and $_->{options} = "noatime" foreach grep { isTrueFS($_) } @{$o->{fstab}};
-}
-
-#------------------------------------------------------------------------------
-sub choosePackages {
- require pkgs;
-
- #- always setPackages as it may have to copy hdlist files and depslist file.
- $o->setPackages;
- $o->selectPackagesToUpgrade if $o->{isUpgrade} && $_[1] == 1;
-
- $o->choosePackages($o->{packages}, $o->{compssUsers}, $_[1] == 1);
- log::l("compssUsersChoice's: ", join(" ", grep { $o->{compssUsersChoice}{$_} } keys %{$o->{compssUsersChoice}}));
-
- #- check pre-condition where base backage has to be selected.
- pkgs::packageFlagSelected(pkgs::packageByName($o->{packages}, 'basesystem')) or die "basesystem package not selected";
-
- #- check if there are package that need installation.
- $o->{steps}{installPackages}{done} = 0 if $o->{steps}{installPackages}{done} && pkgs::packagesToInstall($o->{packages}) > 0;
-}
-
-#------------------------------------------------------------------------------
-sub installPackages {
- $o->readBootloaderConfigBeforeInstall if $_[1] == 1;
-
- $o->beforeInstallPackages;
- $o->installPackages;
- $o->afterInstallPackages;
-}
-#------------------------------------------------------------------------------
-sub miscellaneous {
- $o->miscellaneousBefore($_[0]);
- $o->miscellaneous($_[0]);
-
- addToBeDone {
- setVarsInSh("$o->{prefix}/etc/sysconfig/system", {
- CLEAN_TMP => $o->{miscellaneous}{CLEAN_TMP},
- CLASS => $::expert && 'expert' || 'beginner',
- SECURITY => $o->{security},
- META_CLASS => $o->{meta_class} || 'PowerPack',
- });
- substInFile { s/KEYBOARD_AT_BOOT=.*/KEYBOARD_AT_BOOT=yes/ } "$o->{prefix}/etc/sysconfig/usb" if detect_devices::usbKeyboards();
-
- } 'installPackages';
-}
-
-#------------------------------------------------------------------------------
-sub summary { $o->summary($_[1] == 1) }
-#------------------------------------------------------------------------------
-sub configureNetwork {
- #- get current configuration of network device.
- require network;
- eval { network::read_all_conf($o->{prefix}, $o->{netc} ||= {}, $o->{intf} ||= {}) };
- $o->configureNetwork($_[1] == 1);
-}
-#------------------------------------------------------------------------------
-sub installCrypto { $o->installCrypto }
-#------------------------------------------------------------------------------
-sub configureServices { $o->configureServices($_[0]) }
-#------------------------------------------------------------------------------
-sub setRootPassword {
- return if $o->{isUpgrade};
-
- $o->setRootPassword($_[0]);
- addToBeDone { install_any::setAuthentication($o) } 'installPackages';
-}
-#------------------------------------------------------------------------------
-sub addUser {
- return if $o->{isUpgrade} && !$_[0];
-
- $o->addUser($_[0]);
-}
-
-#------------------------------------------------------------------------------
-sub createBootdisk {
- modules::write_conf($o->{prefix});
- $o->createBootdisk($_[1] == 1);
-}
-
-#------------------------------------------------------------------------------
-sub setupBootloader {
- return if $::g_auto_install;
-
- modules::write_conf($o->{prefix});
-
- $o->setupBootloaderBefore if $_[1] == 1;
- $o->setupBootloader($_[1] - 1);
-
- local $ENV{DRAKX_PASSWORD} = $o->{bootloader}{password};
- local $ENV{DURING_INSTALL} = 1;
- run_program::rooted($o->{prefix}, "/usr/sbin/msec", $o->{security});
-}
-#------------------------------------------------------------------------------
-sub configureX {
- my ($clicked) = @_;
-
- #- done here and also at the end of install2.pm, just in case...
- install_any::write_fstab($o);
- modules::write_conf($o->{prefix});
-
- require pkgs;
- $o->configureX($clicked) if pkgs::packageFlagInstalled(pkgs::packageByName($o->{packages}, 'XFree86')) && !$o->{X}{disabled} || $clicked || $::testing;
-}
-#------------------------------------------------------------------------------
-sub exitInstall { $o->exitInstall(getNextStep() eq "exitInstall") }
-
-
-#-######################################################################################
-#- MAIN
-#-######################################################################################
-sub main {
- $SIG{__DIE__} = sub { chomp(my $err = $_[0]); log::l("warning: $err") };
- $SIG{SEGV} = sub { my $msg = "segmentation fault: seems like memory is missing as the install crashes"; print "$msg\n"; log::l($msg);
- $o->ask_warn('', $msg);
- setVirtual(1);
- require install_steps_auto_install;
- install_steps_auto_install::errorInStep();
- };
- $ENV{PERL_BADLANG} = 1;
- umask 022;
-
- $::isInstall = 1;
- $::expert = $::g_auto_install = 0;
-
-#- c::unlimit_core() unless $::testing;
-
- my ($cfg, $patch, @auto);
- my %cmdline; map {
- my ($n, $v) = split '=';
- $cmdline{$n} = $v || 1;
- } split ' ', cat_("/proc/cmdline");
-
- my $opt; foreach (@_) {
- if (/^--?(.*)/) {
- $cmdline{$opt} = 1 if $opt;
- $opt = $1;
- } else {
- $cmdline{$opt} = $_ if $opt;
- $opt = '';
- }
- } $cmdline{$opt} = 1 if $opt;
-
- map_each {
- my ($n, $v) = @_;
- my $f = ${{
- oem => sub { $::oem = $v },
- lang => sub { $o->{lang} = $v },
- flang => sub { $o->{lang} = $v ; push @auto, 'selectLanguage' },
- method => sub { $o->{method} = $v },
- pcmcia => sub { $o->{pcmcia} = $v },
- vga16 => sub { $o->{vga16} = $v },
- vga => sub { $o->{vga} = $v },
- step => sub { $o->{steps}{first} = $v },
- expert => sub { $::expert = $v },
- fbeginner => sub { $::expert = 0; push @auto, 'selectInstallClass' },
- fexpert => sub { $::expert = 1; push @auto, 'selectInstallClass' },
- desktop => sub { $o->{meta_class} = 'desktop' },
- firewall => sub { $o->{meta_class} = 'firewall'; push @auto, 'selectInstallClass'},
- lnx4win => sub { $o->{lnx4win} = 1 },
- readonly => sub { $o->{partitioning}{readonly} = $v ne "0" },
- display => sub { $o->{display} = $v },
- security => sub { $o->{security} = $v },
- live => sub { $::live = 1 },
- noauto => sub { $::noauto = 1 },
- test => sub { $::testing = 1 },
- nopci => sub { $::nopci = 1 },
- patch => sub { $patch = 1 },
- defcfg => sub { $cfg = $v },
- newt => sub { $o->{interactive} = "newt" },
- text => sub { $o->{interactive} = "newt" },
- stdio => sub { $o->{interactive} = "stdio"},
- corporate => sub { $::corporate = 1 },
- kickstart => sub { $::auto_install = $v },
- auto_install => sub { $::auto_install = $v },
- simple_themes => sub { $o->{simple_themes} = 1 },
- useless_thing_accepted => sub { $o->{useless_thing_accepted} = 1 },
- alawindows => sub { $o->{security} = 0; $o->{partitioning}{clearall} = 1; $o->{bootloader}{crushMbr} = 1 },
- fdisk => sub { $o->{partitioning}{fdisk} = 1 },
- g_auto_install => sub { $::testing = $::g_auto_install = 1; $o->{partitioning}{auto_allocate} = 1 },
- nomouseprobe => sub { $o->{nomouseprobe} = $v },
- }}{lc $n}; &$f if $f;
- } %cmdline;
-
- if ($::testing) {
- $ENV{SHARE_PATH} ||= "/export/Mandrake/mdkinst/usr/share";
- $ENV{SHARE_PATH} = "/usr/share" if !-e $ENV{SHARE_PATH};
- } else {
- $ENV{SHARE_PATH} ||= "/usr/share";
- }
-
- undef $::auto_install if $cfg;
- if ($::g_auto_install) {
- (my $root = `/bin/pwd`) =~ s|(/[^/]*){5}$||;
- symlinkf $root, "/tmp/image" or die "unable to create link /tmp/image";
- $o->{method} ||= "cdrom";
- $o->{mkbootdisk} = 0;
- }
- unless ($::testing || $::live) {
- symlink "rhimage", "/tmp/image"; #- for compatibility with old stage1
- unlink $_ foreach "/modules/modules.mar", "/sbin/stage1";
- }
-
- print STDERR "in second stage install\n";
- log::openLog(($::testing || $o->{localInstall}) && 'debug.log');
- log::l("second stage install running (", any::drakx_version(), ")");
-
- $o->{prefix} = $::testing ? "/tmp/test-perl-install" : $::live ? "" : "/mnt";
- $o->{root} = $::testing ? "/tmp/root-perl-install" : "/";
- $o->{isUpgrade} = 1 if $::live;
- mkdir $o->{prefix}, 0755;
- mkdir $o->{root}, 0755;
- devices::make("/dev/zero"); #- needed by ddcxinfos
-
- #- make sure we don't pick up any gunk from the outside world
- my $remote_path = "$o->{prefix}/sbin:$o->{prefix}/bin:$o->{prefix}/usr/sbin:$o->{prefix}/usr/bin:$o->{prefix}/usr/X11R6/bin";
- $ENV{PATH} = "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin:$remote_path" unless $::g_auto_install;
-
- eval { spawnShell() };
-
- $o->{prefix} = $::testing ? "/tmp/test-perl-install" : $::live ? "" : "/mnt";
- mkdir $o->{prefix}, 0755;
-
- modules::load_deps(($::testing ? ".." : "") . "/modules/modules.dep");
- modules::read_stage1_conf($_) foreach "/tmp/conf.modules", "/etc/modules.conf";
- modules::read_already_loaded();
-
- $o->{interactive} ||= 'gtk';
- if ($o->{interactive} eq "gtk" && availableMemory < 22 * 1024) {
- log::l("switching to newt install cuz not enough memory");
- $o->{interactive} = "newt";
- }
-
- #- done after module dependencies are loaded for "vfat depends on fat"
- if ($::auto_install) {
- require install_steps_auto_install;
- eval { $o = $::o = install_any::loadO($o, $::auto_install) };
- if ($@) {
- log::l("error using auto_install, continuing");
- undef $::auto_install;
- } else {
- log::l("auto install config file loaded successfully");
- }
- }
- unless ($::auto_install) {
- $o->{interactive} ||= 'gtk';
- require"install_steps_$o->{interactive}.pm";
- }
-
- eval { $o = $::o = install_any::loadO($o, "patch") } if $patch;
- eval { $o = $::o = install_any::loadO($o, $cfg) } if $cfg;
-
- eval { modules::load("af_packet") };
-
- map_index {
- modules::add_alias("sound-slot-$::i", $_->{driver});
- } modules::get_that_type('sound');
-
- #- needed very early for install_steps_gtk
- modules::load_thiskind("usb");
- eval { ($o->{mouse}, @{$o->{wacom} = []}) = mouse::detect() } unless $o->{nomouseprobe} || $o->{mouse};
-
- lang::set($o->{lang}); #- mainly for defcfg
-
- $o->{allowFB} = listlength(cat_("/proc/fb"));
-
- my $VERSION = cat__(install_any::getFile("VERSION")) or do { print "VERSION file missing\n"; sleep 5 };
- $o->{lnx4win} = 1 if $VERSION =~ /lnx4win/i;
- $o->{meta_class} = 'desktop' if $VERSION =~ /desktop/i;
- $o->{meta_class} = 'firewall' if $VERSION =~ /firewall/i;
- if ($::oem) {
- $o->{partitioning}{use_existing_root} = 1;
- $o->{partitioning}{auto_allocate} = 1;
- $o->{compssListLevel} = 50;
- push @auto, 'selectInstallClass', 'doPartitionDisks', 'choosePackages', 'configureTimezone', 'exitInstall';
- }
-
- foreach (@auto) {
- eval "undef *" . (!/::/ && "install_steps_interactive::") . $_;
- my $s = $o->{steps}{/::(.*)/ ? $1 : $_} or next;
- $s->{hidden} = 1;
- }
-
- my $o_;
- while (1) {
- require"install_steps_$o->{interactive}.pm";
- $o_ = $::auto_install ?
- install_steps_auto_install->new($o) :
- $o->{interactive} eq "stdio" ?
- install_steps_stdio->new($o) :
- $o->{interactive} eq "newt" ?
- install_steps_newt->new($o) :
- $o->{interactive} eq "gtk" ?
- install_steps_gtk->new($o) :
- die "unknown install type";
- $o_ and last;
-
- $o->{interactive} = "newt";
- require install_steps_newt;
- }
- $::o = $o = $o_;
-
- if (-e '/tmp/network') {
- require network;
- #- get stage1 network configuration if any.
- log::l('found /tmp/network');
- $o->{netc} ||= network::read_conf('/tmp/network');
- if (my ($file) = glob_('/tmp/ifcfg-*')) {
- log::l("found network config file $file");
- my $l = network::read_interface_conf($file);
- $o->{intf} ||= { $l->{DEVICE} => $l };
- }
- if (-e '/etc/resolv.conf') {
- my $file ='/etc/resolv.conf';
- log::l("found network config file $file");
- add2hash($o->{netc}, network::read_resolv_conf($file));
- }
- }
-
- #-the main cycle
- my $clicked = 0;
- MAIN: for ($o->{step} = $o->{steps}{first};; $o->{step} = getNextStep()) {
- $o->{steps}{$o->{step}}{entered}++;
- $o->enteringStep($o->{step});
- $o->{steps}{$o->{step}}{icon} and $o->{icon} = $o->{steps}{$o->{step}}{icon};
- eval {
- &{$install2::{$o->{step}}}($clicked, $o->{steps}{$o->{step}}{entered});
- };
- my $err = $@;
- $o->kill_action;
- $clicked = 0;
- if ($err) {
- local $_ = $err;
- $o->kill_action;
- if (/^setstep (.*)/) {
- $o->{step} = $1;
- $o->{steps}{$1}{done} = 0;
- $clicked = 1;
- redo MAIN;
- }
- /^theme_changed$/ and redo MAIN;
- unless (/^already displayed/) {
- eval { $o->errorInStep($_) };
- $err = $@;
- $err and next;
- }
- $o->{step} = $o->{steps}{$o->{step}}{onError};
- next MAIN unless $o->{steps}{$o->{step}}{reachable}; #- sanity check: avoid a step not reachable on error.
- redo MAIN;
- }
- $o->{steps}{$o->{step}}{done} = 1;
- $o->leavingStep($o->{step});
-
- last if $o->{step} eq 'exitInstall';
- }
- install_any::clean_postinstall_rpms();
- install_any::log_sizes($o);
- install_any::ejectCdrom();
- install_any::remove_advertising($o);
-
- install_any::write_fstab($o);
- modules::write_conf($o->{prefix});
-
- #- to ensure linuxconf doesn't cry against those files being in the future
- foreach ('/etc/modules.conf', '/etc/crontab', '/etc/sysconfig/mouse', '/etc/sysconfig/network', '/etc/X11/fs/config') {
- my $now = time - 24 * 60 * 60;
- utime $now, $now, "$o->{prefix}/$_";
- }
- $::live or install_any::killCardServices();
-
- #- make sure failed upgrade will not hurt too much.
- install_steps::cleanIfFailedUpgrade($o);
-
- -e "$o->{prefix}/usr/bin/urpmi" or eval { commands::rm("-rf", "$o->{prefix}/var/lib/urpmi") };
-
- #- mainly for auto_install's
- run_program::run("bash", "-c", $o->{postInstallNonRooted}) if $o->{postInstallNonRooted};
- run_program::rooted($o->{prefix}, "sh", "-c", $o->{postInstall}) if $o->{postInstall};
-
- #- have the really bleeding edge ddebug.log
- eval { commands::cp('-f', "/tmp/ddebug.log", "$o->{prefix}/root") };
-
- #- ala pixel? :-) [fpons]
- sync(); sync();
-
- log::l("installation complete, leaving");
- print "\n" x 80;
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
deleted file mode 100644
index 9bba376cb..000000000
--- a/perl-install/install_any.pm
+++ /dev/null
@@ -1,969 +0,0 @@
-package install_any; # $Id$
-
-use diagnostics;
-use strict;
-
-use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @needToCopy @needToCopyIfRequiresSatisfied $boot_medium @advertising_images);
-
-@ISA = qw(Exporter);
-%EXPORT_TAGS = (
- all => [ qw(getNextStep spawnShell addToBeDone) ],
-);
-@EXPORT_OK = map { @$_ } values %EXPORT_TAGS;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :system :functional :file);
-use run_program;
-use partition_table qw(:types);
-use partition_table_raw;
-use devices;
-use fsedit;
-use modules;
-use detect_devices;
-use lang;
-use any;
-use log;
-use fs;
-
-#- package that have to be copied for proper installation (just to avoid changing cdrom)
-#- here XFree86 is copied entirey if not already installed, maybe better to copy only server.
-@needToCopy = qw(
-XFree86-8514 XFree86-AGX XFree86-Mach32 XFree86-Mach64 XFree86-Mach8 XFree86-Mono
-XFree86-P9000 XFree86-S3 XFree86-S3V XFree86-SVGA XFree86-W32 XFree86-I128
-XFree86-Sun XFree86-SunMono XFree86-Sun24 XFree86-3DLabs XFree86-FBDev XFree86-server
-XFree86 XFree86-glide-module Device3Dfx Glide_V3-DRI Glide_V5 Mesa
-dhcpcd pump dhcpxd dhcp-client isdn4net isdn4k-utils dev pptp-adsl-fr rp-pppoe ppp ypbind
-rhs-printfilters lpr cups cups-drivers samba ncpfs ghostscript-utils autologin
-);
-#- package that have to be copied only if all their requires are satisfied.
-@needToCopyIfRequiresSatisfied = qw(
-Mesa-common xpp libqtcups2 qtcups kups
-);
-
-#- boot medium (the first medium to take into account).
-$boot_medium = 1;
-
-#-######################################################################################
-#- Media change variables&functions
-#-######################################################################################
-my $postinstall_rpms = '';
-my $current_medium = $boot_medium;
-my $asked_medium = $boot_medium;
-my $cdrom = undef;
-sub useMedium($) {
- #- before ejecting the first CD, there are some files to copy!
- #- does nothing if the function has already been called.
- $_[0] > 1 and $::o->{method} eq 'cdrom' and setup_postinstall_rpms($::o->{prefix}, $::o->{packages});
-
- $asked_medium eq $_[0] or log::l("selecting new medium '$_[0]'");
- $asked_medium = $_[0];
-}
-sub changeMedium($$) {
- my ($method, $medium) = @_;
- log::l("change to medium $medium for method $method (refused by default)");
- 0;
-}
-sub relGetFile($) {
- local $_ = $_[0];
- m|\.rpm$| ? "$::o->{packages}{mediums}{$asked_medium}{rpmsdir}/$_" : $_;
-}
-sub askChangeMedium($$) {
- my ($method, $medium) = @_;
- my $allow;
- do {
- eval { $allow = changeMedium($method, $medium) };
- } while ($@); #- really it is not allowed to die in changeMedium!!! or install will cores with rpmlib!!!
- $allow;
-}
-sub errorOpeningFile($) {
- my ($file) = @_;
- $file eq 'XXX' and return; #- special case to force closing file after rpmlib transaction.
- $current_medium eq $asked_medium and log::l("errorOpeningFile $file"), return; #- nothing to do in such case.
- $::o->{packages}{mediums}{$asked_medium}{selected} or return; #- not selected means no need for worying about.
-
- my $max = 32; #- always refuse after $max tries.
- if ($::o->{method} eq "cdrom") {
- cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1;
- return unless $cdrom;
- ejectCdrom($cdrom);
- while ($max > 0 && askChangeMedium($::o->{method}, $asked_medium)) {
- $current_medium = $asked_medium;
- eval { fs::mount($cdrom, "/tmp/image", "iso9660", 'readonly') };
- my $getFile = getFile($file);
- $getFile && @advertising_images and copy_advertising($::o);
- $getFile and return $getFile;
- $current_medium = 'unknown'; #- don't know what CD is inserted now.
- ejectCdrom($cdrom);
- --$max;
- }
- } else {
- while ($max > 0 && askChangeMedium($::o->{method}, $asked_medium)) {
- $current_medium = $asked_medium;
- my $getFile = getFile($file); $getFile and return $getFile;
- $current_medium = 'unknown'; #- don't know what CD image has been copied.
- --$max;
- }
- }
-
- #- keep in mind the asked medium has been refused on this way.
- #- this means it is no more selected.
- $::o->{packages}{mediums}{$asked_medium}{selected} = undef;
-
- #- on cancel, we can expect the current medium to be undefined too,
- #- this enable remounting if selecting a package back.
- $current_medium = 'unknown';
-
- return;
-}
-sub getFile {
- my ($f, $method) = @_;
- log::l("getFile $f:$method");
- my $rel = relGetFile($f);
- do {
- if ($method =~ /crypto/i) {
- require crypto;
- crypto::getFile($f);
- } elsif ($::o->{method} eq "ftp") {
- require ftp;
- ftp::getFile($rel);
- } elsif ($::o->{method} eq "http") {
- require http;
- http::getFile($rel);
- } else {
- #- try to open the file, but examine if it is present in the repository, this allow
- #- handling changing a media when some of the file on the first CD has been copied
- #- to other to avoid media change...
- my $f2 = "$postinstall_rpms/$f";
- $f2 = "/tmp/image/$rel" unless $postinstall_rpms && -e $f2;
- open GETFILE, $f2 and *GETFILE;
- }
- } || errorOpeningFile($f);
-}
-sub getAndSaveFile {
- my ($file, $local) = @_ == 1 ? ("Mandrake/mdkinst$_[0]", $_[0]) : @_;
- local *F; open F, ">$local" or return;
- local $/ = \ (16 * 1024);
- my $f = ref($file) ? $file : getFile($file) or return;
- local $_;
- while (<$f>) { syswrite F, $_ }
- 1;
-}
-
-
-#-######################################################################################
-#- Post installation RPMS from cdrom only, functions
-#-######################################################################################
-sub setup_postinstall_rpms($$) {
- my ($prefix, $packages) = @_;
-
- $postinstall_rpms and return;
- $postinstall_rpms = "$prefix/usr/postinstall-rpm";
-
- require pkgs;
- require commands;
-
- log::l("postinstall rpms directory set to $postinstall_rpms");
- clean_postinstall_rpms(); #- make sure in case of previous upgrade problem.
- commands::mkdir_('-p', $postinstall_rpms);
-
- #- compute closure of unselected package that may be copied,
- #- don't complain if package does not exists as it may happen
- #- for the various architecture taken into account (X servers).
- my %toCopy;
- foreach (@needToCopy) {
- my $pkg = pkgs::packageByName($packages, $_);
- pkgs::selectPackage($packages, $pkg, 0, \%toCopy) if $pkg;
- }
- @toCopy{@needToCopyIfRequiresSatisfied} = ();
-
- my @toCopy = map { pkgs::packageByName($packages, $_) } keys %toCopy;
-
- #- extract headers of package, this is necessary for getting
- #- the complete filename of each package.
- #- copy the package files in the postinstall RPMS directory.
- #- last arg is default medium '' known as the CD#1.
- pkgs::extractHeaders($prefix, \@toCopy, $packages->{mediums}{1});
- commands::cp((map { "/tmp/image/" . relGetFile(pkgs::packageFile($_)) } @toCopy), $postinstall_rpms);
-}
-sub clean_postinstall_rpms() {
- require commands;
- $postinstall_rpms and -d $postinstall_rpms and commands::rm('-rf', $postinstall_rpms);
-}
-
-
-#-######################################################################################
-#- Specific Hardware to take into account and associated rpms to install
-#-######################################################################################
-sub allowNVIDIA_rpms {
- my ($packages) = @_;
- require pkgs;
- if (pkgs::packageByName($packages, "NVIDIA_GLX")) {
- #- at this point, we can allow using NVIDIA 3D acceleration packages.
- my @rpms;
- foreach (qw(kernel kernel-smp kernel-entreprise kernel22 kernel22-smp kernel22-secure)) {
- my $p = pkgs::packageByName($packages, $_);
- pkgs::packageSelectedOrInstalled($p) or next;
- my $name = "NVIDIA_kernel-" . pkgs::packageVersion($p) . "-" . pkgs::packageRelease($p) . (/(-.*)/ && $1);
- pkgs::packageByName($packages, $name) or return;
- push @rpms, $name;
- }
- @rpms > 0 or return;
- return [ @rpms, "NVIDIA_GLX" ];
- }
-}
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub kernelVersion {
- my ($o) = @_;
- require pkgs;
- my $p = pkgs::packageByName($o->{packages}, "kernel");
- $p ||= pkgs::packageByName($o->{packages}, "kernel22");
- $p or die "I couldn't find the kernel package!";
- pkgs::packageVersion($p) . "-" . pkgs::packageRelease($p);
-}
-
-
-sub getNextStep {
- my ($s) = $::o->{steps}{first};
- $s = $::o->{steps}{$s}{next} while $::o->{steps}{$s}{done} || !$::o->{steps}{$s}{reachable};
- $s;
-}
-
-sub spawnShell {
- return if $::o->{localInstall} || $::testing;
-
- -x "/bin/sh" or die "cannot open shell - /bin/sh doesn't exist";
-
- fork and return;
-
- $ENV{DISPLAY} ||= ":0"; #- why not :pp
-
- local *F;
- sysopen F, "/dev/tty2", 2 or die "cannot open /dev/tty2 -- no shell will be provided";
-
- open STDIN, "<&F" or die '';
- open STDOUT, ">&F" or die '';
- open STDERR, ">&F" or die '';
- close F;
-
- print any::drakx_version(), "\n";
-
- c::setsid();
-
- ioctl(STDIN, c::TIOCSCTTY(), 0) or warn "could not set new controlling tty: $!";
-
- exec {"/bin/sh"} "-/bin/sh" or log::l("exec of /bin/sh failed: $!");
-}
-
-sub fsck_option {
- my ($o) = @_;
- my $y = $o->{security} < 3 && !$::expert && "-y ";
- substInFile { s/^(\s*fsckoptions="?)(-y )?/$1$y/ } "$o->{prefix}/etc/rc.d/rc.sysinit"; #- " help po, DONT REMOVE
-}
-
-sub getAvailableSpace {
- my ($o) = @_;
-
- #- make sure of this place to be available for installation, this could help a lot.
- #- currently doing a very small install use 36Mb of postinstall-rpm, but installing
- #- these packages may eat up to 90Mb (of course not all the server may be installed!).
- #- 65mb may be a good choice to avoid almost all problem of insuficient space left...
- my $minAvailableSize = 65 * sqr(1024);
-
- my $n = !$::testing && getAvailableSpace_mounted($o->{prefix}) ||
- getAvailableSpace_raw($o->{fstab}) * 512 / 1.07;
- $n - max(0.1 * $n, $minAvailableSize);
-}
-
-sub getAvailableSpace_mounted {
- my ($prefix) = @_;
- my $dir = -d "$prefix/usr" ? "$prefix/usr" : "$prefix";
- my (undef, $free) = common::df($dir) or return;
- log::l("getAvailableSpace_mounted $free KB");
- $free * 1024 || 1;
-}
-sub getAvailableSpace_raw {
- my ($fstab) = @_;
-
- do { $_->{mntpoint} eq '/usr' and return $_->{size} } foreach @$fstab;
- do { $_->{mntpoint} eq '/' and return $_->{size} } foreach @$fstab;
-
- if ($::testing) {
- my $nb = 450;
- log::l("taking ${nb}MB for testing");
- return $nb << 11;
- }
- die "missing root partition";
-}
-
-sub preConfigureTimezone {
- my ($o) = @_;
- require timezone;
-
- #- can't be done in install cuz' timeconfig %post creates funny things
- add2hash($o->{timezone}, { timezone::read($o->{prefix}) }) if $o->{isUpgrade};
-
- $o->{timezone}{timezone} ||= timezone::bestTimezone(lang::lang2text($o->{lang}));
- add2hash_($o->{timezone}, { UTC => $::expert && !grep { isFat($_) || isNT($_) } @{$o->{fstab}} });
-}
-
-sub setPackages {
- my ($o) = @_;
-
- require pkgs;
- if (!$o->{packages} || is_empty_hash_ref($o->{packages}{names})) {
- $o->{packages} = pkgs::psUsingHdlists($o->{prefix}, $o->{method});
-
- push @{$o->{default_packages}}, "nfs-utils-clients" if $o->{method} eq "nfs";
- push @{$o->{default_packages}}, "numlock" if $o->{miscellaneous}{numlock};
- push @{$o->{default_packages}}, "kernel22" if c::kernel_version() =~ /^\Q2.2/;
- push @{$o->{default_packages}}, "kernel22-secure" if $o->{security} > 3;
- push @{$o->{default_packages}}, "kernel-smp" if detect_devices::hasSMP();
- push @{$o->{default_packages}}, "kernel-pcmcia-cs" if $o->{pcmcia};
- push @{$o->{default_packages}}, "raidtools" if $o->{raid} && !is_empty_array_ref($o->{raid}{raid});
- push @{$o->{default_packages}}, "lvm" if -e '/etc/lvmtab';
- push @{$o->{default_packages}}, "usbd" if modules::get_alias("usb-interface");
- push @{$o->{default_packages}}, "reiserfsprogs" if grep { isReiserfs($_) } @{$o->{fstab}};
- push @{$o->{default_packages}}, "xfsprogs" if grep { isXfs($_) } @{$o->{fstab}};
- push @{$o->{default_packages}}, "alsa", "alsa-utils" if modules::get_alias("sound-slot-0") =~ /^snd-card-/;
- push @{$o->{default_packages}}, "imwheel" if $o->{mouse}{nbuttons} > 3;
-
- pkgs::getDeps($o->{prefix}, $o->{packages});
- pkgs::selectPackage($o->{packages},
- pkgs::packageByName($o->{packages}, 'basesystem') || die("missing basesystem package"), 1);
-
- #- must be done after selecting base packages (to save memory)
- pkgs::getProvides($o->{packages});
-
- #- must be done after getProvides
- pkgs::read_rpmsrate($o->{packages}, getFile("Mandrake/base/rpmsrate"));
- ($o->{compssUsers}, $o->{compssUsersSorted}) = pkgs::readCompssUsers($o->{meta_class});
-
- if ($::auto_install && !$o->{compssUsersChoice}) {
- $o->{compssUsersChoice}{$_} = 1 foreach map { @{$o->{compssUsers}{$_}{flags}} } @{$o->{compssUsersSorted}};
- }
- if (!$::auto_install && !$o->{isUpgrade}) {
- #- by default, choose:
- $o->{compssUsersChoice}{$_} = 1 foreach 'GNOME', 'KDE', 'CONFIG';
- $o->{compssUsersChoice}{$_} = 1
- foreach map { @{$o->{compssUsers}{$_}{flags}} } 'Workstation|Office Workstation', 'Workstation|Internet station';
- }
- $o->{compssUsersChoice}{uc($_)} = 1 foreach grep { modules::get_that_type($_) } ('tv', 'scanner', 'photo', 'sound');
- $o->{compssUsersChoice}{uc($_)} = 1 foreach map { $_->{driver} =~ /Flag:(.*)/ } detect_devices::probeall();
- $o->{compssUsersChoice}{SYSTEM} = 1;
- $o->{compssUsersChoice}{BURNER} = 1 if detect_devices::burners();
- $o->{compssUsersChoice}{DVD} = 1 if detect_devices::dvdroms();
- $o->{compssUsersChoice}{PCMCIA} = 1 if detect_devices::hasPCMCIA();
- $o->{compssUsersChoice}{'3D'} = 1 if
- detect_devices::matching_desc('Matrox.* G[24]00') ||
- detect_devices::matching_desc('Riva.*128') ||
- detect_devices::matching_desc('Rage X[CL]') ||
- detect_devices::matching_desc('Rage Mobility (?:P\/M|L) ') ||
- detect_devices::matching_desc('3D Rage (?:LT|Pro)') ||
- detect_devices::matching_desc('Voodoo [35]') ||
- detect_devices::matching_desc('Voodoo Banshee') ||
- detect_devices::matching_desc('8281[05].* CGC') ||
- detect_devices::matching_desc('Rage 128') ||
- detect_devices::matching_desc('[nN]Vidia.*T[nN]T2') || #- TNT2 cards
- detect_devices::matching_desc('[nN]Vidia.*NV[56]') ||
- detect_devices::matching_desc('[nN]Vidia.*Vanta') ||
- detect_devices::matching_desc('[nN]Vidia.*GeForce') || #- GeForce cards
- detect_devices::matching_desc('[nN]Vidia.*NV1[15]') ||
- detect_devices::matching_desc('[nN]Vidia.*Quadro');
-
-
- foreach (map { substr($_, 0, 2) } lang::langs($o->{langs})) {
- pkgs::packageByName($o->{packages}, "locales-$_") or next;
- push @{$o->{default_packages}}, "locales-$_";
- }
- foreach (lang::langsLANGUAGE($o->{langs})) {
- $o->{compssUsersChoice}{qq(LOCALES"$_")} = 1;
- }
- } else {
- #- this has to be done to make sure necessary files for urpmi are
- #- present.
- pkgs::psUpdateHdlistsDeps($o->{prefix}, $o->{method});
- }
-}
-
-sub unselectMostPackages {
- my ($o) = @_;
- pkgs::unselectAllPackages($o->{packages});
- pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || next) foreach @{$o->{default_packages}};
-}
-
-sub warnAboutNaughtyServers {
- my ($o) = @_;
- my @naughtyServers = pkgs::naughtyServers($o->{packages}) or return 1;
- if (!$o->ask_yesorno('',
-formatAlaTeX(_("You have selected the following server(s): %s
-
-
-These servers are activated by default. They don't have any known security
-issues, but some new could be found. In that case, you must make sure to upgrade
-as soon as possible.
-
-
-Do you really want to install these servers?
-", join(", ", @naughtyServers))), 1)) {
- pkgs::unselectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_)) foreach @naughtyServers;
- }
-}
-
-sub addToBeDone(&$) {
- my ($f, $step) = @_;
-
- return &$f() if $::o->{steps}{$step}{done};
-
- push @{$::o->{steps}{$step}{toBeDone}}, $f;
-}
-
-sub setAuthentication {
- my ($o) = @_;
- my ($shadow, $md5, $nis) = @{$o->{authentication} || {}}{qw(shadow md5 NIS)};
- my $p = $o->{prefix};
- any::enableMD5Shadow($p, $shadow, $md5);
- any::enableShadow($p) if $shadow;
- if ($nis) {
- $o->pkg_install("ypbind");
- my $domain = $o->{netc}{NISDOMAIN};
- $domain || $nis ne "broadcast" or die _("Can't use broadcast with no NIS domain");
- my $t = $domain ? "domain $domain" . ($nis ne "broadcast" && " server")
- : "ypserver";
- substInFile {
- $_ = "#~$_" unless /^#/;
- $_ .= "$t $nis\n" if eof;
- } "$p/etc/yp.conf";
- require network;
- network::write_conf("$p/etc/sysconfig/network", $o->{netc});
- }
-}
-
-sub killCardServices {
- my $pid = chop_(cat_("/tmp/cardmgr.pid"));
- $pid and kill(15, $pid); #- send SIGTERM
-}
-
-sub hdInstallPath() {
- cat_("/proc/mounts") =~ m|/\w+/(\S+)\s+/tmp/hdimage| or return;
- my ($part) = grep { $_->{device} eq $1 } @{$::o->{fstab}};
- $part->{mntpoint} or grep { $_->{mntpoint} eq "/mnt/hd" } @{$::o->{fstab}} and return;
- $part->{mntpoint} ||= "/mnt/hd";
- $part->{mntpoint} . first(readlink("/tmp/image") =~ m|^/tmp/hdimage/(.*)|);
-}
-
-sub unlockCdrom(;$) {
- my ($cdrom) = @_;
- $cdrom or cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1;
- eval { $cdrom and ioctl detect_devices::tryOpen($1), c::CDROM_LOCKDOOR(), 0 };
-}
-sub ejectCdrom(;$) {
- my ($cdrom) = @_;
- $cdrom or cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1;
- my $f = eval { $cdrom && detect_devices::tryOpen($cdrom) } or return;
- getFile("XXX"); #- close still opened filehandle
- eval { fs::umount("/tmp/image") };
- ioctl $f, c::CDROMEJECT(), 1;
-}
-
-sub setupFB {
- my ($o, $vga) = @_;
-
- $vga ||= 785; #- assume at least 640x480x16.
-
- require bootloader;
- #- update bootloader entries with vga, all kernel are now framebuffer.
- foreach (qw(vmlinuz vmlinuz-secure vmlinuz-smp vmlinuz-hack)) {
- if (my $e = bootloader::get("/boot/$_", $o->{bootloader})) {
- $e->{vga} = $vga;
- }
- }
- bootloader::install($o->{prefix}, $o->{bootloader}, $o->{fstab}, $o->{hds});
- 1;
-}
-
-sub install_urpmi {
- my ($prefix, $method, $mediums) = @_;
-
- my @cfg = map_index {
- my $name = $_->{fakemedium};
-
- #- build synthesis file at install, this will improve performance greatly.
- run_program::rooted($prefix, "parsehdlist", ">", "/var/lib/urpmi/synthesis.hdlist.$name",
- "--compact", "--provides", "--requires", "/var/lib/urpmi/hdlist.$name.cz");
- run_program::rooted($prefix, "gzip", "-S", ".cz", "/var/lib/urpmi/synthesis.hdlist.$name");
- #- safe guard correct generation of synthesis file.
- -s "$prefix/var/lib/urpmi/synthesis.hdlist.$name.cz" > 24 or unlink "$prefix/var/lib/urpmi/synthesis.hdlist.$name.cz";
-
- local *LIST;
- my $mask = umask 077;
- open LIST, ">$prefix/var/lib/urpmi/list.$name" or log::l("failed to write list.$name");
- umask $mask;
-
- my $dir = ${{ nfs => "file://mnt/nfs",
- hd => "file:/" . hdInstallPath(),
- ftp => $ENV{URLPREFIX},
- http => $ENV{URLPREFIX},
- cdrom => "removable_cdrom_$::i://mnt/cdrom" }}{$method} . "/$_->{rpmsdir}";
-
- local *FILES; open FILES, "$ENV{LD_LOADER} parsehdlist /tmp/$_->{hdlist} |";
- chop, print LIST "$dir/$_\n" foreach <FILES>;
- close FILES or log::l("parsehdlist failed"), return;
- close LIST;
-
- $name =~ s/(\s)/\\$1/g; $dir =~ s/(\s)/\\$1/g; #- necessary to change protect white char, for urpmi >= 1.40
- $dir .= " with ../base/$_->{hdlist}";
- "$name $dir\n";
- } values %$mediums;
- eval { output "$prefix/etc/urpmi/urpmi.cfg", @cfg };
-}
-
-
-#-###############################################################################
-#- kde stuff
-#-###############################################################################
-sub kderc_largedisplay {
- my ($prefix) = @_;
-
- update_userkderc($_, 'KDE',
- Contrast => 7,
- kfmIconStyle => "Large",
- kpanelIconStyle => "Normal", #- to change to Large when icons looks better
- KDEIconStyle => "Large") foreach list_skels($prefix, '.kderc');
-
- substInFile {
- s/^(GridWidth)=85/$1=100/;
- s/^(GridHeight)=70/$1=75/;
- } $_ foreach list_skels($prefix, '.kde/share/config/kfmrc');
-}
-
-sub kdeicons_postinstall {
- my ($prefix) = @_;
-
- #- parse etc/fstab file to search for dos/win, floppy, zip, cdroms icons.
- #- handle both supermount and fsdev usage.
- my %l = (
- 'cdrom' => [ 'cdrom', 'Cd-Rom' ],
- 'zip' => [ 'zip', 'Zip' ],
- 'floppy-ls' => [ 'floppy', 'LS-120' ],
- 'floppy' => [ 'floppy', 'Floppy' ],
- );
- foreach (fs::read_fstab("$prefix/etc/fstab")) {
-
- my ($name_, $nb) = $_->{mntpoint} =~ m|.*/(\S+?)(\d*)$/|;
- my ($name, $text) = @{$l{$name_} || []};
-
- my $f = ${{
- supermount => sub { $name .= '.fsdev' if $name },
- vfat => sub { $name = 'Dos_'; $text = $name_ },
- }}{$_->{type}};
- &$f if $f;
-
- template2userfile($prefix,
- "$ENV{SHARE_PATH}/$name.kdelnk.in",
- "Desktop/$text" . ($nb && " $nb"). ".kdelnk",
- 1, %$_) if $name;
- }
-
- # rename the .kdelnk to the name found in the .kdelnk as kde doesn't use it
- # for displaying
- foreach my $dir (grep { -d $_ } list_skels($prefix, 'Desktop')) {
- foreach (grep { /\.kdelnk$/ } all($dir)) {
- cat_("$dir/$_") =~ /^Name\[\Q$ENV{LANG}\E\]=(.{2,14})$/m
- and rename "$dir/$_", "$dir/$1.kdelnk";
- }
- }
-}
-
-sub kdemove_desktop_file {
- my ($prefix) = @_;
- my @toMove = qw(doc.kdelnk news.kdelnk updates.kdelnk home.kdelnk printer.kdelnk floppy.kdelnk cdrom.kdelnk FLOPPY.kdelnk CDROM.kdelnk);
-
- #- remove any existing save in Trash of each user and
- #- move appropriate file there after an upgrade.
- foreach my $dir (grep { -d $_ } list_skels($prefix, 'Desktop')) {
- renamef("$dir/$_", "$dir/Trash/$_")
- foreach grep { -e "$dir/$_" } @toMove, grep { /\.rpmorig$/ } all($dir)
- }
-}
-
-
-#-###############################################################################
-#- auto_install stuff
-#-###############################################################################
-sub auto_inst_file() { ($::g_auto_install ? "/tmp" : "$::o->{prefix}/root") . "/auto_inst.cfg.pl" }
-
-sub report_bug {
- my ($prefix) = @_;
-
- sub header { "
-********************************************************************************
-* $_[0]
-********************************************************************************";
- }
-
- join '', map { chomp; "$_\n" }
- header("lspci"), detect_devices::stringlist(),
- header("pci_devices"), cat_("/proc/bus/pci/devices"),
- header("fdisk"), arch() =~ /ppc/ ? `$ENV{LD_LOADER} pdisk -l` : `$ENV{LD_LOADER} fdisk -l`,
- header("scsi"), cat_("/proc/scsi/scsi"),
- header("lsmod"), cat_("/proc/modules"),
- header("cmdline"), cat_("/proc/cmdline"),
- header("pcmcia: stab"), cat_("/var/run/stab"),
- header("usb"), cat_("/proc/bus/usb/devices"),
- header("partitions"), cat_("/proc/partitions"),
- header("cpuinfo"), cat_("/proc/cpuinfo"),
- header("syslog"), cat_("/tmp/syslog"),
- header("ddcxinfos"), `$ENV{LD_LOADER} ddcxinfos`,
- header("ddebug.log"), cat_("/tmp/ddebug.log"),
- header("install.log"), cat_("$prefix/root/install.log"),
- header("fstab"), cat_("$prefix/etc/fstab"),
- header("auto_inst"), g_auto_install(),
- ;
-}
-
-sub g_auto_install {
- my ($replay) = @_;
- my $o = {};
-
- require pkgs;
- $o->{default_packages} = pkgs::selected_leaves($::o->{packages});
-
- my @fields = qw(mntpoint type size);
- $o->{partitions} = [ map { my %l; @l{@fields} = @$_{@fields}; \%l } grep { $_->{mntpoint} } @{$::o->{fstab}} ];
-
- exists $::o->{$_} and $o->{$_} = $::o->{$_} foreach qw(lang authentication printer mouse wacom netc timezone superuser intf keyboard users partitioning isUpgrade manualFstab nomouseprobe crypto security netcnx useSupermount autoExitInstall); #- TODO modules bootloader
-
- if (my $card = $::o->{X}{card}) {
- $o->{X}{$_} = $::o->{X}{$_} foreach qw(default_depth resolution_wanted);
- if ($o->{X}{default_depth} and my $depth = $card->{depth}{$o->{X}{default_depth}}) {
- $depth ||= [];
- $o->{X}{resolution_wanted} ||= join "x", @{$depth->[0]} unless is_empty_array_ref($depth->[0]);
- $o->{X}{monitor} = $::o->{X}{monitor} if $::o->{X}{monitor}{manual};
- }
- }
-
- local $o->{partitioning}{auto_allocate} = !$replay;
- local $o->{autoExitInstall} = !$replay;
-
- #- deep copy because we're modifying it below
- $o->{users} = [ @{$o->{users} || []} ];
-
- $_ = { %{$_ || {}} }, delete @$_{qw(oldu oldg password password2)} foreach $o->{superuser}, @{$o->{users} || []};
-
- require Data::Dumper;
- join('',
-"#!/usr/bin/perl -cw
-#
-# You should check the syntax of this file before using it in an auto-install. You
-# can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file (note the
-# '#!/usr/bin/perl -cw' on the first line).
-",
- Data::Dumper->Dump([$o], ['$o']), if_($replay,
-qq(\npackage install_steps_auto_install;), q(
-$graphical = 1;
-push @graphical_steps, 'doPartitionDisks', 'choosePartitionsToFormat', 'formatMountPartitions';
-)), "\0");
-}
-
-
-sub g_default_packages {
- my ($o) = @_;
-
- my $floppy = detect_devices::floppy();
-
- while (1) {
- $o->ask_okcancel('', _("Insert a FAT formatted floppy in drive %s", $floppy), 1) or return;
-
- eval { fs::mount(devices::make($floppy), "/floppy", "vfat", 0) };
- last if !$@;
- $o->ask_warn('', _("This floppy is not FAT formatted"));
- }
-
- require Data::Dumper;
- output('/floppy/auto_inst.cfg',
- "# You should always check the syntax with 'perl -cw auto_inst.cfg.pl' before testing\n",
- "# To use it, boot with ``linux defcfg=floppy''\n",
- Data::Dumper->Dump([ { default_packages => pkgs::selected_leaves($o->{packages}) } ], ['$o']), "\0");
- fs::umount("/floppy");
-
- $o->ask_warn('', _("To use this saved packages selection, boot installation with ``linux defcfg=floppy''"));
-}
-
-sub loadO {
- my ($O, $f) = @_; $f ||= auto_inst_file;
- my $o;
- if ($f =~ /^(floppy|patch)$/) {
- my $f = $f eq "floppy" ? 'auto_inst.cfg' : "patch";
- unless ($::testing) {
- fs::mount(devices::make(detect_devices::floppy()), "/mnt", (arch() =~ /sparc/ ? "romfs" : "vfat"), 'readonly');
- $f = "/mnt/$f";
- }
- -e $f or $f .= '.pl';
-
- my $b = before_leaving {
- fs::umount("/mnt") unless $::testing;
- modules::unload($_) foreach qw(vfat fat);
- };
- $o = loadO($O, $f);
- } else {
- -e "$f.pl" and $f .= ".pl" unless -e $f;
-
- my $fh = -e $f ? do { local *F; open F, $f; *F } : getFile($f) or die _("Error reading file $f");
- {
- local $/ = "\0";
- no strict;
- eval <$fh>;
- close $fh;
- $@ and log::l("Bad kickstart file $f (failed $@)");
- }
- add2hash_($o ||= {}, $O);
- }
- bless $o, ref $O;
-}
-
-sub generate_automatic_stage1_params {
- my ($o) = @_;
-
- my $ks = "automatic=";
-
- if ($o->{method} =~ /hd/) {
- $ks .= "method:disk,";
- } else {
- $ks .= "method:" . $o->{method} . ",";
- }
-
- if ($o->{method} =~ /http/) {
- "$ENV{URLPREFIX}" =~ m|http://(.*)/(.*)| or die;
- $ks .= "server:$1,directory:$2,";
- } elsif ($o->{method} =~ /ftp/) {
- $ks .= "server:$ENV{HOST},directory:$ENV{PREFIX},user:$ENV{LOGIN},pass:$ENV{PASSWORD},";
- } elsif ($o->{method} =~ /nfs/) {
- cat_("/proc/mounts") =~ m|(\S+):(\S+)\s+/tmp/image nfs| or die;
- $ks .= "server:$1,directory:$2,";
- }
-
- my ($intf) = values %{$o->{intf}};
- if ($intf->{BOOTPROTO} =~ /dhcp/) {
- $ks .= "network:dhcp,";
- } else {
- require network;
- $ks .= "network:static,ip:$intf->{IPADDR},netmask:$intf->{NETMASK},gateway:$o->{netc}{GATEWAY},";
- my @dnss = network::dnsServers($o->{netc});
- $ks .= "dns:$dnss[0]," if @dnss;
- }
- $ks;
-}
-
-sub guess_mount_point {
- my ($part, $prefix, $user) = @_;
-
- my %l = (
- '/' => 'etc/fstab',
- '/boot' => 'vmlinuz',
- '/tmp' => '.X11-unix',
- '/usr' => 'X11R6',
- '/var' => 'catman',
- );
-
- my $handle = any::inspect($part, $prefix) or return;
- my $d = $handle->{dir};
- my ($mnt) = grep { -e "$d/$l{$_}" } keys %l;
- $mnt ||= (stat("$d/.bashrc"))[4] ? '/root' : '/home/user' . ++$$user if -e "$d/.bashrc";
- $mnt ||= (grep { -d $_ && (stat($_))[4] >= 500 && -e "$_/.bashrc" } glob_("$d")) ? '/home' : '';
- ($mnt, $handle);
-}
-
-sub suggest_mount_points {
- my ($fstab, $prefix, $uniq) = @_;
-
- my $user;
- foreach my $part (grep { isTrueFS($_) } @$fstab) {
- $part->{mntpoint} && !$part->{unsafeMntpoint} and next; #- if already found via an fstab
-
- my ($mnt, $handle) = guess_mount_point($part, $prefix, \$user) or next;
-
- next if $uniq && fsedit::mntpoint2part($mnt, $fstab);
- $part->{mntpoint} = $mnt; delete $part->{unsafeMntpoint};
-
- #- try to find other mount points via fstab
- fs::get_mntpoints_from_fstab($fstab, $handle->{dir}, $uniq) if $mnt eq '/';
- }
- $_->{mntpoint} and log::l("suggest_mount_points: $_->{device} -> $_->{mntpoint}") foreach @$fstab;
-}
-
-#- mainly for finding the root partitions for upgrade
-sub find_root_parts {
- my ($fstab, $prefix) = @_;
- log::l("find_root_parts");
- my $user;
- grep {
- my ($mnt) = guess_mount_point($_, $prefix, \$user);
- $mnt eq '/';
- } @$fstab;
-}
-sub use_root_part {
- my ($fstab, $part, $prefix) = @_;
- {
- my $handle = any::inspect($part, $prefix) or die;
- fs::get_mntpoints_from_fstab($fstab, $handle->{dir}, 'uniq');
- }
- map { $_->{mntpoint} = 'swap' } grep { isSwap($_) } @$fstab; #- use all available swap.
-}
-
-sub getHds {
- my ($o, $f_err) = @_;
- my $ok = 1;
- my $try_scsi = !$::expert;
- my $flags = $o->{partitioning};
-
- my @drives = detect_devices::hds();
-# add2hash_($o->{partitioning}, { readonly => 1 }) if partition_table_raw::typeOfMBR($drives[0]{device}) eq 'system_commander';
-
- getHds:
- my ($hds, $lvms) = catch_cdie { fsedit::hds(\@drives, $flags) }
- sub {
- $ok = 0;
- my $err = $@; $err =~ s/ at (.*?)$//;
- log::l("error reading partition table: $err");
- !$flags->{readonly} && $f_err and $f_err->($err);
- };
-
- if (is_empty_array_ref($hds) && $try_scsi) {
- $try_scsi = 0;
- $o->setupSCSI; #- ask for an unautodetected scsi card
- goto getHds;
- }
- $::testing or partition_table_raw::test_for_bad_drives($_) foreach @$hds;
-
- $ok = fsedit::verifyHds($hds, $flags->{readonly}, $ok)
- unless $flags->{clearall} || $flags->{clear};
-
- #- try to figure out if the same number of hds is available, use them if ok.
- $ok && $hds && @$hds > 0 && @{$o->{hds} || []} == @$hds and return $ok;
-
- $o->{hds} = $hds;
- $o->{lvms} = $lvms;
- $o->{fstab} = [ fsedit::get_fstab(@$hds, @$lvms) ];
- fs::check_mounted($o->{fstab});
- fs::merge_fstabs($o->{fstab}, $o->{manualFstab});
-
- my @win = grep { isFat($_) && isFat({ type => fsedit::typeOfPart($_->{device}) }) } @{$o->{fstab}};
- log::l("win parts: ", join ",", map { $_->{device} } @win) if @win;
- if (@win == 1) {
- $win[0]{mntpoint} = "/mnt/windows";
- } else {
- my %w; foreach (@win) {
- my $v = $w{$_->{device_windobe}}++;
- $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/win_" . lc($_->{device_windobe}) . ($v ? $v+1 : ''); #- lc cuz of StartOffice(!) cf dadou
- }
- }
-
- my @sunos = grep { isSunOS($_) && type2name($_->{type}) =~ /root/i } @{$o->{fstab}}; #- take only into account root partitions.
- if (@sunos) {
- my $v = '';
- map { $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/sunos" . ($v && ++$v) } @sunos;
- }
- #- a good job is to mount SunOS root partition, and to use mount point described here in /etc/vfstab.
-
- $ok;
-}
-
-sub log_sizes {
- my ($o) = @_;
- my @df = common::df($o->{prefix});
- log::l(sprintf "Installed: %s(df), %s(rpm)",
- formatXiB($df[0] - $df[1], 1024),
- formatXiB(sum(`$ENV{LD_LOADER} rpm --root $o->{prefix}/ -qa --queryformat "%{size}\n"`))) if -x "$o->{prefix}/bin/rpm";
-}
-
-sub copy_advertising {
- my ($o) = @_;
-
- return if $::rootwidth < 800;
-
- my $f;
- my $source_dir = "Mandrake/share/advertising";
- foreach ("." . $o->{lang}, "." . substr($o->{lang},0,2), '') {
- $f = getFile("$source_dir$_/list") or next;
- $source_dir = "$source_dir$_";
- }
- if (my @files = <$f>) {
- my $dir = "$o->{prefix}/tmp/drakx-images";
- mkdir $dir;
- unlink glob_("$dir/*");
- foreach (@files) {
- chomp;
- getAndSaveFile("$source_dir/$_", "$dir/$_");
- }
- @advertising_images = map { "$dir/$_" } @files;
- }
-}
-sub remove_advertising {
- my ($o) = @_;
- unlink @advertising_images;
- rmdir "$o->{prefix}/tmp/drakx-images";
- @advertising_images = ();
-}
-
-sub disable_user_view {
- my ($prefix) = @_;
- substInFile { s/^UserView=.*/UserView=true/ } "$prefix/usr/share/config/kdmrc";
- substInFile { s/^Browser=.*/Browser=0/ } "$prefix/etc/X11/gdm/gdm.conf";
-}
-
-sub write_fstab {
- my ($o) = @_;
- fs::write($o->{prefix}, $o->{fstab}, $o->{manualFstab}, $o->{useSupermount}, lang::fs_options($o->{lang}))
- if !$::live;
-}
-
-my @bigseldom_used_groups = (
- [ qw(pvcreate pvdisplay vgchange vgcreate vgdisplay vgextend vgremove vgscan lvcreate lvdisplay lvremove /lib/liblvm.so) ],
-);
-
-sub check_prog {
- my ($f) = @_;
-
- my @l = $f !~ m|^/| ?
- map { "$_/$f" } split(":", $ENV{PATH}) :
- $f;
- return if grep { -x $_ } @l;
-
- my ($f_) = map { m|^/| ? $_ : "/usr/bin/$_" } $f;
- remove_bigseldom_used();
- foreach (@bigseldom_used_groups) {
- my (@l) = map { m|^/| ? $_ : "/usr/bin/$_" } @$_;
- if (member($f_, @l)) {
- foreach (@l) {
- getAndSaveFile($_);
- chmod 0755, $_;
- }
- return;
- }
- }
- getAndSaveFile($f_);
- chmod 0755, $f_;
-}
-
-sub remove_bigseldom_used {
- log::l("remove_bigseldom_used");
- $::testing and return;
- unlink glob_("/usr/share/gtk/themes/$_*") foreach qw(DarkMarble marble3d);
- if (ref($::o) =~ /gtk/) {
- unlink glob_("/lib/lib$_*") foreach qw(slang newt);
- unlink "/usr/bin/perl-install/auto/Newt/Newt.so";
- } else {
- unlink glob_("/usr/X11R6/bin/XF*");
- }
- unlink(m|^/| ? $_ : "/usr/bin/$_") foreach
- ((map { @$_ } @bigseldom_used_groups),
- qw(mkreiserfs resize_reiserfs),
- );
-}
-
-1;
diff --git a/perl-install/install_gtk.pm b/perl-install/install_gtk.pm
deleted file mode 100644
index 378e66b6b..000000000
--- a/perl-install/install_gtk.pm
+++ /dev/null
@@ -1,435 +0,0 @@
-package install_gtk; # $Id$
-
-use diagnostics;
-use strict;
-
-use my_gtk qw(:helpers :wrappers);
-use common qw(:common :file :functional);
-use lang;
-use devices;
-
-#-#####################################################################################
-#-INTERN CONSTANT
-#-#####################################################################################
-my @themes_vga16 = qw(blue blackwhite savane);
-my @themes_desktop = qw(mdk-Desktop DarkMarble marble3d blueHeart);
-my @themes_firewall = qw(mdk-Firewall);
-my @themes = qw(mdk DarkMarble marble3d blueHeart);
-
-my (@background1, @background2);
-
-
-#------------------------------------------------------------------------------
-sub load_rc {
- my ($name) = @_;
-
- if (my ($f) = grep { -r $_ } map { "$_/$name.rc" } ("share", $ENV{SHARE_PATH}, dirname(__FILE__))) {
- Gtk::Rc->parse($f);
- foreach (cat_($f)) {
- if (/style\s+"background"/ .. /^\s*$/) {
- @background1 = map { $_ * 256 * 257 } split ',', $1 if /NORMAL.*\{(.*)\}/;
- @background2 = map { $_ * 256 * 257 } split ',', $1 if /PRELIGHT.*\{(.*)\}/;
- }
- }
- }
-}
-
-sub default_theme {
- my ($o) = @_;
- @themes = @themes_desktop if $o->{meta_class} eq 'desktop';
- @themes = @themes_firewall if $o->{meta_class} eq 'firewall';
- @themes = @themes_vga16 if $o->{simple_themes} || $o->{vga16};
- install_theme($o, $o->{theme} || $themes[0]);
-}
-
-#------------------------------------------------------------------------------
-sub install_theme {
- my ($o, $theme) = @_;
-
- $o->{theme} = $theme || $o->{theme};
-
- load_rc($_) foreach "themes-$o->{theme}", "install", "themes";
-
- if (my ($font, $font2) = lang::get_x_fontset($o->{lang}, $::rootwidth < 800 ? 10 : 12)) {
- $font2 ||= $font;
- Gtk::Rc->parse_string(qq(
-style "default-font"
-{
- fontset = "$font,*"
-}
-style "small-font"
-{
- fontset = "$font2,*"
-}
-widget "*" style "default-font"
-widget "*Steps*" style "small-font"
-
-));
- }
-
- gtkset_background(@background1) unless $::live; #- || testing;
-
- create_logo_window($o);
- create_help_window($o);
-}
-
-#------------------------------------------------------------------------------
-sub create_big_help {
- my ($o) = @_;
- my $w = my_gtk->new('', grab => 1, force_position => [ $::stepswidth, $::logoheight ]);
- $w->{rwindow}->set_usize($::logowidth, $::rootheight - $::logoheight);
- gtkadd($w->{window},
- gtkpack_(new Gtk::VBox(0,0),
- 1, createScrolledWindow(gtktext_insert(new Gtk::Text, $o->{current_help})),
- 0, gtksignal_connect(my $ok = new Gtk::Button(_("Ok")), "clicked" => sub { Gtk->main_quit }),
- ));
- $ok->grab_focus;
- $w->main;
- gtkset_mousecursor_normal();
-}
-
-#------------------------------------------------------------------------------
-sub create_help_window {
- my ($o) = @_;
-
- my $w;
- if ($w = $o->{help_window}) {
- $_->destroy foreach $w->{window}->children;
- } else {
- $w = bless {}, 'my_gtk';
- $w->{rwindow} = $w->{window} = new Gtk::Window;
- $w->{rwindow}->set_uposition($::rootwidth - $::helpwidth, $::rootheight - $::helpheight);
- $w->{rwindow}->set_usize($::helpwidth, $::helpheight);
- $w->sync;
- }
- my $pixmap = gtkpng("$ENV{SHARE_PATH}/help.png");
- gtkadd($w->{window},
- gtkpack_(new Gtk::HBox(0,-2),
- 0, gtkadd(gtksignal_connect(new Gtk::Button, clicked => sub { create_big_help($o) }), $pixmap),
- 1, createScrolledWindow($o->{help_window_text} = new Gtk::Text),
- ));
- $o->set_help($o->{step}) if $o->{step};
- $w->show;
- $o->{help_window} = $w;
-}
-
-#------------------------------------------------------------------------------
-sub create_steps_window {
- my ($o) = @_;
-
- my $PIX_H = my $PIX_W = 21;
-
- $o->{steps_window}->destroy if $o->{steps_window};
-
- my $w = bless {}, 'my_gtk';
- $w->{rwindow} = $w->{window} = new Gtk::Window;
- $w->{rwindow}->set_uposition(0, 0);
- $w->{rwindow}->set_usize($::stepswidth, $::stepsheight);
- $w->{rwindow}->set_name('Steps');
- $w->{rwindow}->set_events('button_press_mask');
- #$w->show;
-
- gtkadd($w->{window},
- gtkpack_(new Gtk::VBox(0,0),
- (map {; 1, $_ } map {
- my $step_name = $_;
- my $step = $o->{steps}{$_};
- my $darea = new Gtk::DrawingArea;
- my $in_button;
- my $draw_pix = sub {
- my ($map, $mask) = gtkcreate_xpm($darea, $_[0]);
- $darea->window->draw_pixmap ($darea->style->bg_gc('normal'),
- $map, 0, 0,
- ($darea->allocation->[2]-$PIX_W)/2 + 3,
- ($darea->allocation->[3]-$PIX_H)/2,
- $PIX_W , $PIX_H );
- };
-
- my $f = sub {
- my ($type) = @_;
- my $color = $step->{done} ? 'green' : $step->{entered} ? 'orange' : 'red';
- "$ENV{SHARE_PATH}/step-$color$type.xpm";
- };
- $darea->set_usize($PIX_W+3,$PIX_H);
- $darea->set_events(['exposure_mask', 'enter_notify_mask', 'leave_notify_mask', 'button_press_mask', 'button_release_mask' ]);
- $darea->signal_connect(expose_event => sub { $draw_pix->($f->('')) });
- if ($step->{reachable}) {
- $darea->signal_connect(enter_notify_event => sub { $in_button=1; $draw_pix->($f->('-on')); });
- $darea->signal_connect(leave_notify_event => sub { undef $in_button; $draw_pix->($f->('')); });
- $darea->signal_connect(button_press_event => sub { $draw_pix->($f->('-click')); });
- $darea->signal_connect(button_release_event => sub { $in_button && die "setstep $step_name\n" });
- }
- gtkpack_(new Gtk::HBox(0,5), 0, $darea, 0, new Gtk::Label(translate($step->{text})));
- } grep {
- !eval $o->{steps}{$_}{hidden};
- } @{$o->{orderedSteps}}),
- 0, gtkpack(new Gtk::HBox(0,0), map {
- my $t = $_;
- my $w = new Gtk::Button('');
- $w->set_name($t);
- $w->set_usize(0, 7);
- gtksignal_connect($w, clicked => sub {
- $::setstep or return; #- just as setstep s
- install_theme($o, $t); die "theme_changed\n"
- });
- } @themes)));
- $w->show;
- $o->{steps_window} = $w;
-}
-
-#------------------------------------------------------------------------------
-sub create_logo_window {
- my ($o) = @_;
-
- gtkdestroy($o->{logo_window});
- my $w = bless {}, 'my_gtk';
- $w->{rwindow} = $w->{window} = new Gtk::Window;
- $w->{rwindow}->set_uposition($::stepswidth, 0);
- $w->{rwindow}->set_usize($::logowidth, $::logoheight);
- $w->{rwindow}->set_name("logo");
- $w->show;
- my $file = $o->{meta_class} eq 'desktop' ? "logo-mandrake-Desktop.png" : "logo-mandrake.png";
- $o->{meta_class} eq 'firewall' and $file = "logo-mandrake-Firewall.png";
- -r $file or $file = "$ENV{SHARE_PATH}/$file";
- -r $file and gtkadd($w->{window}, gtkpng($file));
- $o->{logo_window} = $w;
-}
-
-#------------------------------------------------------------------------------
-sub init_sizes() {
- ($::rootheight, $::rootwidth) = my_gtk::gtkroot()->get_size;
- $::live and $::rootheight -= 80;
- #- ($::rootheight, $::rootwidth) = (min(768, $::rootheight), min(1024, $::rootwidth));
- ($::stepswidth, $::stepsheight) = (145, $::rootheight);
- ($::logowidth, $::logoheight) = ($::rootwidth - $::stepswidth, 40);
- ($::helpwidth, $::helpheight) = ($::rootwidth - $::stepswidth, 104);
- ($::windowwidth, $::windowheight) = ($::rootwidth - $::stepswidth, $::rootheight - $::helpheight - $::logoheight);
-}
-
-#------------------------------------------------------------------------------
-sub createXconf {
- my ($file, $mouse_type, $mouse_dev, $wacom_dev) = @_;
-
- devices::make("/dev/kbd") if arch() =~ /^sparc/; #- used by Xsun style server.
- symlinkf(devices::make($mouse_dev), "/dev/mouse");
-
- #- needed for imlib to start on 8-bit depth visual.
- symlink("/tmp/stage2/etc/imrc", "/etc/imrc");
- symlink("/tmp/stage2/etc/im_palette.pal", "etc/im_palette.pal");
-
- my $wacom;
- if ($wacom_dev) {
- $wacom_dev = devices::make($wacom_dev);
- $wacom = <<END;
-Section "Module"
- Load "xf86Wacom.so"
-EndSection
-
-Section "XInput"
- SubSection "WacomStylus"
- Port "$wacom_dev"
- AlwaysCore
- EndSubSection
- SubSection "WacomCursor"
- Port "$wacom_dev"
- AlwaysCore
- EndSubSection
- SubSection "WacomEraser"
- Port "$wacom_dev"
- AlwaysCore
- EndSubSection
-EndSection
-END
- }
-
- local *F;
- open F, ">$file" or die "can't create X configuration file $file";
- print F <<END;
-Section "Files"
- FontPath "/usr/X11R6/lib/X11/fonts:unscaled"
-EndSection
-
-Section "Keyboard"
- Protocol "Standard"
- AutoRepeat 0 0
-
- LeftAlt Meta
- RightAlt Meta
- ScrollLock Compose
- RightCtl Control
-END
-
- if (arch() =~ /^sparc/) {
- print F <<END;
- XkbRules "sun"
- XkbModel "sun"
- XkbLayout "us"
- XkbCompat "compat/complete"
- XkbTypes "types/complete"
- XkbKeycodes "sun(type5)"
- XkbGeometry "sun(type5)"
- XkbSymbols "sun/us(sun5)"
-END
- } else {
- print F " XkbDisable\n";
- }
-
- print F <<END;
-EndSection
-
-Section "Pointer"
- Protocol "$mouse_type"
- Device "/dev/mouse"
- ZAxisMapping 4 5
-EndSection
-
-$wacom
-
-Section "Monitor"
- Identifier "My Monitor"
- VendorName "Unknown"
- ModelName "Unknown"
- HorizSync 31.5-35.5
- VertRefresh 50-70
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "640x480" 28.3 640 664 760 800 480 491 493 525
- ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
-EndSection
-
-
-Section "Device"
- Identifier "Generic VGA"
- VendorName "Unknown"
- BoardName "Unknown"
- Chipset "generic"
-EndSection
-
-Section "Device"
- Identifier "svga"
- VendorName "Unknown"
- BoardName "Unknown"
-EndSection
-
-Section "Screen"
- Driver "vga16"
- Device "Generic VGA"
- Monitor "My Monitor"
- Subsection "Display"
- Modes "640x480"
- ViewPort 0 0
- EndSubsection
-EndSection
-
-Section "Screen"
- Driver "fbdev"
- Device "Generic VGA"
- Monitor "My Monitor"
- Subsection "Display"
- Depth 16
- Modes "default"
- ViewPort 0 0
- EndSubsection
-EndSection
-
-Section "Screen"
- Driver "svga"
- Device "svga"
- Monitor "My Monitor"
- Subsection "Display"
- Depth 16
- Modes "800x600" "640x480"
- ViewPort 0 0
- EndSubsection
-EndSection
-
-Section "Screen"
- Driver "accel"
- Device "svga"
- Monitor "My Monitor"
- Subsection "Display"
- Depth 16
- Modes "800x600" "640x480"
- ViewPort 0 0
- EndSubsection
-EndSection
-END
-}
-#- ModeLine "640x480" 28 640 672 768 800 480 490 492 525
-
-
-sub test_mouse {
- my ($mouse) = @_;
-
- my $w = my_gtk->new;
- my ($width, $height, $offset) = (210, round_up(min(350, $::windowheight - 150), 6), 25);
- my ($bw, $bh) = ($width / 3, $height / 3);
-
- gtkadd($w->{window},
- gtkpack(new Gtk::VBox(0,0),
- my $darea = gtkset_usize(new Gtk::DrawingArea, $width+1, $height+1),
- '',
- create_okcancel($w, '', '', "edge"),
- ),
- );
-
- my $draw_rect; $draw_rect = sub {
- my ($black, $fill, $rect) = @_;
- $draw_rect->(0, 1, $rect) if !$fill; #- blank it first
- $darea->window->draw_rectangle($black ? $darea->style->fg_gc('normal') : $darea->style->bg_gc('normal'), $fill, @$rect);
- $darea->draw($rect);
- };
- my $paintWheel = sub {
- my ($x, $y, $w, $h) = ($width / 2 - $bw / 6, $bh / 4, $bw / 3, $bh / 2);
- $mouse->{nbuttons} = max($mouse->{nbuttons}, 5); #- it means, the mouse has more than 3 buttons...
- $draw_rect->(1, 0, [ $x, $y, $w, $h ]);
-
- my $offset = 0 if 0;
- $offset += $_[0] if $_[0];
- my $step = 10;
- for (my $i = $offset % $step; $i < $h; $i += $step) {
- $draw_rect->(1, 1, [ $x, $y + $i, $w, min(2, $h - $i) ]);
- }
- };
- my $paintButton = sub {
- my ($nb, $pressed) = @_;
- my $rect = [ $bw * $nb, 0, $bw, $bh ];
- $draw_rect->(1, $pressed, $rect);
- $paintWheel->(0) if $nb == 1 && $mouse->{nbuttons} > 3;
- };
- my $draw_text = sub {
- my ($t, $y) = @_;
- my $font = $darea->style->font;
- my $w = $font->string_width($t);
- $darea->window->draw_string($font, $darea->style->fg_gc('normal'), ($width - $w) / 2, $y, $t);
- };
- my $default_time = 10;
- my $time = $default_time;
- $darea->signal_connect(button_press_event => sub {
- my $b = $_[1]{button};
- $time = $default_time;
- $b >= 4 ?
- $paintWheel->($b == 4 ? -1 : 1) :
- $paintButton->($b - 1, 1);
- });
- $darea->signal_connect(button_release_event => sub {
- my $b = $_[1]{button};
- $paintButton->($b - 1, 0) if $b < 4;
- });
- $darea->size($width, $height);
- $darea->set_events([ 'button_press_mask', 'button_release_mask' ]);
-
- $w->sync; # HACK
- $draw_rect->(1, 0, [ 0, 0, $width, $height]);
- $draw_text->(_("Please test the mouse"), 2 * $bh - 20);
- $draw_text->(_("To activate the mouse,"), 2 * $bh + 10) if $mouse->{XMOUSETYPE} eq 'IMPS/2';
- $draw_text->(_("MOVE YOUR WHEEL!"), 2 * $bh + 30) if $mouse->{XMOUSETYPE} eq 'IMPS/2';
-
- $paintButton->($_, 0) foreach 0..2;
- $w->{cancel}->grab_focus;
-# my $timeout = Gtk->timeout_add(1000, sub { if ($time-- == 0) { log::l("timeout test_mouse"); undef $w->{retval}; Gtk->main_quit } 1 });
-# my $b = before_leaving { log::l("removing timeout"); Gtk->timeout_remove($timeout) };
- $w->main;
-}
-
-
-1;
diff --git a/perl-install/install_interactive.pm b/perl-install/install_interactive.pm
deleted file mode 100644
index a486a13ec..000000000
--- a/perl-install/install_interactive.pm
+++ /dev/null
@@ -1,243 +0,0 @@
-package install_interactive; # $Id$
-
-use diagnostics;
-use strict;
-
-use vars;
-
-use common qw(:common :functional);
-use partition_table qw(:types);
-use partition_table_raw;
-use detect_devices;
-use install_steps;
-use devices;
-use fsedit;
-use log;
-use fs;
-
-
-sub tellAboutProprietaryModules {
- my ($o) = @_;
- my @l = grep {$_} map { $_->{driver} =~ /^Bad:(.*)/ && $1 } detect_devices::probeall();
- $o->ask_warn('',
-_("Some hardware on your computer needs ``proprietary'' drivers to work.
-You can find some information about them at: %s", join(", ", @l))) if @l;
-}
-
-sub partition_with_diskdrake {
- my ($o, $hds, $nowizard) = @_;
- my $ok;
-
- $o->set_help('partition_with_diskdrake');
- do {
- $ok = 1;
- require diskdrake;
- diskdrake::main($hds, $o->{lvms}, $o->{raid}, interactive_gtk->new, $nowizard);
- delete $o->{wizard} and return partitionWizard($o, 'nodiskdrake');
- my @fstab = fsedit::get_fstab(@$hds, @{$o->{lvms}}, $o->{raid});
-
- unless (fsedit::get_root_(\@fstab)) {
- $ok = 0;
- $o->ask_okcancel('', _("You must have a root partition.
-For this, create a partition (or click on an existing one).
-Then choose action ``Mount point'' and set it to `/'"), 1) or return;
- }
- if (!grep { isSwap($_) } @fstab) {
- $o->ask_warn('', _("You must have a swap partition")), $ok=0 if !$::expert;
- $ok &&= $::expert || $o->ask_okcancel('', _("You don't have a swap partition\n\nContinue anyway?"));
- }
- } until $ok;
- 1;
-}
-
-sub partitionWizardSolutions {
- my ($o, $hds, $fstab, $readonly) = @_;
- my @wizlog;
- my (@solutions, %solutions);
-
- my $min_linux = 400 << 11;
- my $max_linux = 3000 << 11;
- my $min_swap = 50 << 11;
- my $max_swap = 300 << 11;
- my $min_freewin = 100 << 11;
-
- # each solution is a [ score, text, function ], where the function retunrs true if succeeded
-
- my @good_hds = grep { partition_table::can_raw_add($_) } @$hds;
- if (fsedit::free_space(@good_hds) > $min_linux and !$readonly) {
- $solutions{free_space} = [ 20, _("Use free space"), sub { fsedit::auto_allocate($hds); 1 } ]
- } else {
- push @wizlog, _("Not enough free space to allocate new partitions") . ": " .
- (@good_hds ?
- fsedit::free_space(@good_hds) . " < $min_linux" :
- "no harddrive on which partitions can be added") if !$readonly;
- }
-
- if (my @truefs = grep { isTrueFS($_) } @$fstab) {
- #- value twice the ext2 partitions
- $solutions{existing_part} = [ 6 + @truefs + @$fstab, _("Use existing partition"), sub { $o->ask_mntpoint_s($fstab) } ]
- } else {
- push @wizlog, _("There is no existing partition to use");
- }
-
- my @fats = grep { isFat($_) } @$fstab;
- fs::df($_) foreach @fats;
- if (my @ok_forloopback = sort { $b->{free} <=> $a->{free} } grep { $_->{free} > $min_linux + $min_swap + $min_freewin } @fats) {
- $solutions{loopback} =
- [ -10 - @fats, _("Use the Windows partition for loopback"),
- sub {
- my ($s_root, $s_swap);
- my $part = $o->ask_from_listf('', _("Which partition do you want to use for Linux4Win?"), \&partition_table_raw::description, \@ok_forloopback) or return;
- $max_swap = $min_swap + 1 if $part->{free} - $max_swap < $min_linux;
- $o->ask_from_entries_refH('', _("Choose the sizes"), [
- { label => _("Root partition size in MB: "), val => \$s_root, min => $min_linux >> 11, max => min($part->{free} - $max_swap, $max_linux) >> 11, type => 'range' },
- { label => _("Swap partition size in MB: "), val => \$s_swap, min => $min_swap >> 11, max => $max_swap >> 11, type => 'range' },
- ]) or return;
- push @{$part->{loopback}},
- { type => 0x83, loopback_file => '/lnx4win/linuxsys.img', mntpoint => '/', size => $s_root << 11, device => $part, notFormatted => 1 },
- { type => 0x82, loopback_file => '/lnx4win/swapfile', mntpoint => 'swap', size => $s_swap << 11, device => $part, notFormatted => 1 };
- 1;
- } ];
- $solutions{resize_fat} =
- [ 6 - @fats, _("Use the free space on the Windows partition"),
- sub {
- $o->set_help('resizeFATChoose');
- my $part = $o->ask_from_listf('', _("Which partition do you want to resize?"), \&partition_table_raw::description, \@ok_forloopback) or return;
- $o->set_help('resizeFATWait');
- my $w = $o->wait_message(_("Resizing"), _("Computing Windows filesystem bounds"));
- require resize_fat::main;
- my $resize_fat = eval { resize_fat::main->new($part->{device}, devices::make($part->{device})) };
- $@ and die _("The FAT resizer is unable to handle your partition,
-the following error occured: %s", $@);
- my $min_win = $resize_fat->min_size;
- $part->{size} > $min_linux + $min_swap + $min_freewin + $min_win or die _("Your Windows partition is too fragmented, please run ``defrag'' first");
- $o->ask_okcancel('', _("WARNING!
-
-DrakX will now resize your Windows partition. Be careful: this operation is
-dangerous. If you have not already done so, you should first exit the
-installation, run scandisk under Windows (and optionally run defrag), then
-restart the installation. You should also backup your data.
-When sure, press Ok.")) or return;
-
- my $size = $part->{size};
- $o->ask_from_entries_refH('', _("Which size do you want to keep for windows on"), [
- { label => _("partition %s", partition_table_raw::description($part)), val => \$size, min => $min_win >> 11, max => ($part->{size} - $min_linux - $min_swap) >> 11, type => 'range' },
- ]) or return;
- $size <<= 11;
-
- local *log::l = sub { $w->set(join(' ', @_)) };
- eval { $resize_fat->resize($size) };
- $@ and die _("FAT resizing failed: %s", $@);
-
- $part->{size} = $size;
- $part->{isFormatted} = 1;
-
- my ($hd) = grep { $_->{device} eq $part->{rootDevice} } @$hds;
- $hd->{isDirty} = $hd->{needKernelReread} = 1;
- $hd->adjustEnd($part);
- partition_table::adjust_local_extended($hd, $part);
- partition_table::adjust_main_extended($hd);
-
- fsedit::auto_allocate($hds);
- 1;
- } ] if !$readonly;
- } else {
- push @wizlog, _("There is no FAT partitions to resize or to use as loopback (or not enough space left)") .
- @fats ? "\nFAT partitions:" . join('', map { "\n $_->{device} $_->{free} (" . ($min_linux + $min_swap + $min_freewin) . ")" } @fats) : '';
- }
-
- if (@$fstab && !$readonly) {
- $solutions{wipe_drive} =
- [ 10, fsedit::is_one_big_fat($hds) ? _("Remove Windows(TM)") : _("Erase entire disk"),
- sub {
- $o->set_help('takeOverHdChoose');
- my $hd = $o->ask_from_listf('', _("You have more than one hard drive, which one do you install linux on?"),
- \&partition_table_raw::description, $hds) or return;
- $o->set_help('takeOverHdConfirm');
- $o->ask_okcancel('', _("ALL existing partitions and their data will be lost on drive %s", partition_table_raw::description($hd))) or return;
- partition_table_raw::zero_MBR($hd);
- fsedit::auto_allocate($hds);
- 1;
- } ];
- }
-
- if (!$readonly && ref($o) =~ /gtk/) { #- diskdrake only available in gtk for now
- $solutions{diskdrake} = [ 0, _("Custom disk partitioning"), sub { partition_with_diskdrake($o, $hds, 'nowizard') } ];
- }
-
- $solutions{fdisk} =
- [ -10, _("Use fdisk"), sub {
- $o->enter_console;
- foreach (@$hds) {
- print "\n" x 10, _("You can now partition %s.
-When you are done, don't forget to save using `w'", partition_table_raw::description($_));
- print "\n\n";
- my $pid = 0;
- if (arch() =~ /ppc/) {
- $pid = fork or exec "pdisk", devices::make($_->{device});
- } else {
- $pid = fork or exec "fdisk", devices::make($_->{device});
- }
- waitpid($pid, 0);
- }
- $o->leave_console;
- 0;
- } ] if $o->{partitioning}{fdisk};
-
- log::l("partitioning wizard log:\n", (map { ">>wizlog>>$_\n" } @wizlog));
- %solutions;
-}
-
-sub partitionWizard {
- my ($o, $nodiskdrake) = @_;
-
- $o->set_help('doPartitionDisks');
-
- my %solutions = partitionWizardSolutions($o, $o->{hds}, $o->{fstab}, $o->{partitioning}{readonly});
- if ($o->{lnx4win}) {
- if ($solutions{loopback}) {
- %solutions = (loopback => $solutions{loopback});
- } else {
- $o->ask_warn('', _("You don't have enough free space on your Windows partition")) if grep { isFat($_) } @{$o->{fstab}}
- }
- }
-
- delete $solutions{diskdrake} if $nodiskdrake;
-
- my @solutions = sort { $b->[0] <=> $a->[0] } values %solutions;
-
- my $level = $::expert ? -9999 : 0;
- my @sol = grep { $_->[0] >= $level } @solutions;
-
- log::l( "solutions found: " . join('', map {$_->[1]} @sol) .
- " (all solutions found: " . join('', map {$_->[1]} @solutions) . ")");
-
- @solutions = @sol if @sol > 1;
- log::l("solutions: ", int @solutions);
- @solutions or $o->ask_warn('', _("I can't find any room for installing")), die 'already displayed';
-
- my $ok; while (!$ok) {
- log::l('HERE: ', join(',', map { $_->[1] } @solutions));
- my $sol = $o->ask_from_listf('', _("The DrakX Partitioning wizard found the following solutions:"), sub { $_[0][1] }, \@solutions) or redo;
- log::l("partitionWizard calling solution $sol->[1]");
- eval { $ok = $sol->[2]->() };
- die if $@ =~ /setstep/;
- $ok &&= !$@;
- $@ and $o->ask_warn('', _("Partitioning failed: %s", $@));
- }
-}
-
-sub upNetwork {
- my ($o, $pppAvoided) = @_;
- my $w = $o->wait_message('', _("Bringing up the network"));
- install_steps::upNetwork($o, $pppAvoided);
-}
-sub downNetwork {
- my ($o, $pppOnly) = @_;
- my $w = $o->wait_message('', _("Bringing down the network"));
- install_steps::downNetwork($o, $pppOnly);
-}
-
-
-
-1;
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
deleted file mode 100644
index 1817466d3..000000000
--- a/perl-install/install_steps.pm
+++ /dev/null
@@ -1,896 +0,0 @@
-package install_steps; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@filesToSaveForUpgrade);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:file :system :common :functional);
-use install_any qw(:all);
-use partition_table qw(:types);
-use detect_devices;
-use modules;
-use run_program;
-use lang;
-use keyboard;
-use fsedit;
-use loopback;
-#use commands;
-use any;
-use log;
-use fs;
-
-@filesToSaveForUpgrade = qw(
-/etc/ld.so.conf /etc/fstab /etc/hosts /etc/conf.modules /etc/modules.conf
-);
-
-
-#-######################################################################################
-#- OO Stuff
-#-######################################################################################
-sub new($$) {
- my ($type, $o) = @_;
-
- bless $o, ref $type || $type;
- return $o;
-}
-
-#-######################################################################################
-#- In/Out Steps Functions
-#-######################################################################################
-sub enteringStep {
- my ($o, $step) = @_;
- log::l("starting step `$step'");
-}
-sub leavingStep {
- my ($o, $step) = @_;
- log::l("step `$step' finished");
-
- if (-d "$o->{prefix}/root") {
- eval { commands::cp('-f', "/tmp/ddebug.log", "$o->{prefix}/root") };
- output(install_any::auto_inst_file(), install_any::g_auto_install());
- }
-
- for (my $s = $o->{steps}{first}; $s; $s = $o->{steps}{$s}{next}) {
- #- the reachability property must be recomputed each time to take
- #- into account failed step.
- next if $o->{steps}{$s}{done} && !$o->{steps}{$s}{redoable};
-
- my $reachable = 1;
- if (my $needs = $o->{steps}{$s}{needs}) {
- my @l = ref $needs ? @$needs : $needs;
- $reachable = min(map { $o->{steps}{$_}{done} || 0 } @l);
- }
- $o->{steps}{$s}{reachable} = 1 if $reachable;
- }
- $o->{steps}{$step}{reachable} = $o->{steps}{$step}{redoable};
-
- while (my $f = shift @{$o->{steps}{$step}{toBeDone} || []}) {
- eval { &$f() };
- $o->ask_warn(_("Error"), [
-_("An error occurred, but I don't know how to handle it nicely.
-Continue at your own risk."), $@ ]) if $@;
- }
-}
-
-sub errorInStep($$) { print "error :(\n"; c::_exit(1) }
-sub kill_action {}
-sub set_help { 1 }
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-#------------------------------------------------------------------------------
-sub selectLanguage {
- my ($o) = @_;
- lang::set($o->{lang});
- $o->{langs} ||= { $o->{lang} => 1 };
-
- log::l("selectLanguage: pack_langs ", lang::pack_langs($o->{langs}));
-
- if ($o->{keyboard_unsafe} || !$o->{keyboard}) {
- $o->{keyboard_unsafe} = 1;
- $o->{keyboard} = keyboard::lang2keyboard($o->{lang});
- selectKeyboard($o) if !$::live;
- }
-}
-#------------------------------------------------------------------------------
-sub selectKeyboard {
- my ($o) = @_;
- keyboard::setup($o->{keyboard});
-
- #- if we go back to the selectKeyboard, you must rewrite
- addToBeDone {
- lang::write_langs($o->{prefix}, $o->{langs});
- } 'formatPartitions' unless $::g_auto_install;
- addToBeDone {
- lang::write($o->{prefix}, $o->{lang});
- keyboard::write($o->{prefix}, $o->{keyboard}, lang::lang2charset($o->{lang}));
- } 'installPackages' unless $::g_auto_install;
-}
-#------------------------------------------------------------------------------
-sub selectPath {}
-#------------------------------------------------------------------------------
-sub selectInstallClass {}
-#------------------------------------------------------------------------------
-sub setupSCSI {
- my ($o) = @_;
- modules::configure_pcmcia($o->{pcmcia}) if $o->{pcmcia};
- modules::load_ide();
- modules::load_thiskind('scsi|disk');
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisksBefore {
- my ($o) = @_;
-
- if (cat_("/proc/mounts") =~ m|/\w+/(\S+)\s+/tmp/hdimage\s+(\S+)| && !$o->{partitioning}{readonly}) {
- $o->{stage1_hd} = { device => $1, type => $2 };
- install_any::getFile("XXX"); #- close still opened filehandle
- eval { fs::umount("/tmp/hdimage") };
- }
- eval {
- close *pkgs::LOG;
- eval { fs::umount("$o->{prefix}/proc") };
- eval { fs::umount_all($o->{fstab}, $o->{prefix}) };
- eval { sleep 1; fs::umount_all($o->{fstab}, $o->{prefix}) } if $@; #- HACK
- } if $o->{fstab} && !$::testing && !$::live;
-
- $o->{raid} ||= {};
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisksAfter {
- my ($o) = @_;
- unless ($::testing) {
- partition_table::write($_) foreach @{$o->{hds}};
- $_->{rebootNeeded} and $o->rebootNeeded foreach @{$o->{hds}};
- }
-
- $o->{fstab} = [ fsedit::get_fstab(@{$o->{hds}}, @{$o->{lvms}}, $o->{raid}) ];
- fsedit::get_root_($o->{fstab}) or die "Oops, no root partition";
-
- if ($o->{partitioning}{use_existing_root}) {
- #- ensure those partitions are mounted so that they are not proposed in choosePartitionsToFormat
- fs::mount_part($_, $o->{prefix}) foreach grep { $_->{mntpoint} && !$_->{notFormatted} } @{$o->{fstab}};
- }
-
- if (my $s = delete $o->{stage1_hd}) {
- my ($part) = grep { $_->{device} eq $s->{device} } @{$o->{fstab}};
- $part->{isMounted} ?
- do { rmdir "/tmp/hdimage" ; symlinkf("$o->{prefix}$part->{mntpoint}", "/tmp/hdimage") } :
- eval {
- fs::mount($s->{device}, "/tmp/hdimage", $s->{type});
- $part->{isMounted} = 1;
- };
- }
-
- cat_("/proc/mounts") =~ m|(\S+)\s+/tmp/image nfs| &&
- !grep { $_->{mntpoint} eq "/mnt/nfs" } @{$o->{manualFstab} || []} and
- push @{$o->{manualFstab}}, { type => "nfs", mntpoint => "/mnt/nfs", device => $1, options => "noauto,ro,nosuid,rsize=8192,wsize=8192" };
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisks {
- my ($o) = @_;
-
- install_any::getHds($o);
-
- if ($o->{partitioning}{use_existing_root} || $o->{isUpgrade}) {
- # either one root is defined (and all is ok), or we take the first one we find
- my $p = fsedit::get_root_($o->{fstab}) || first(install_any::find_root_parts($o->{fstab}, $o->{prefix})) or die;
- install_any::use_root_part($o->{fstab}, $p, $o->{prefix});
- }
- if ($o->{partitioning}{auto_allocate}) {
- fsedit::auto_allocate($o->{hds}, $o->{partitions});
- }
-}
-
-#------------------------------------------------------------------------------
-
-sub ask_mntpoint_s {
- my ($o, $fstab) = @_;
-
- #- TODO: set the mntpoints
-
- my %m; foreach (@$fstab) {
- my $m = $_->{mntpoint};
-
- next unless $m && $m ne 'swap'; #- there may be a lot of swap.
-
- $m{$m} and die _("Duplicate mount point %s", $m);
- $m{$m} = 1;
-
- #- in case the type does not correspond, force it to ext2
- $_->{type} = 0x83 if $m =~ m|^/| && !isFat($_) && !isTrueFS($_);
- }
- 1;
-}
-
-
-sub rebootNeeded($) {
- my ($o) = @_;
- log::l("Rebooting...");
- c::_exit(0);
-}
-
-sub choosePartitionsToFormat($$) {
- my ($o, $fstab) = @_;
-
- foreach (@$fstab) {
- $_->{mntpoint} = "swap" if isSwap($_);
- $_->{mntpoint} or next;
-
- add2hash_($_, { toFormat => $_->{notFormatted} });
- if (!$_->{toFormat}) {
- my $t = isLoopback($_) ?
- eval { fsedit::typeOfPart($o->{prefix} . loopback::file($_)) } :
- fsedit::typeOfPart($_->{device});
- $_->{toFormatUnsure} = $_->{mntpoint} eq "/" ||
- #- if detected dos/win, it's not precise enough to just compare the types (too many of them)
- (!$t || isOtherAvailableFS({ type => $t }) ? !isOtherAvailableFS($_) : $t != $_->{type});
- }
- }
-}
-
-sub formatMountPartitions {
- my ($o) = @_;
- fs::formatMount_all($o->{raid}, $o->{fstab}, $o->{prefix});
-}
-
-#------------------------------------------------------------------------------
-sub setPackages {
- my ($o) = @_;
- install_any::setPackages($o);
- pkgs::selectPackagesAlreadyInstalled($o->{packages}, $o->{prefix})
- if !$o->{isUpgrade} && (-r "$o->{prefix}/var/lib/rpm/packages.rpm" || -r "$o->{prefix}/var/lib/rpm/Packages");
-}
-sub selectPackagesToUpgrade {
- my ($o) = @_;
- pkgs::selectPackagesToUpgrade($o->{packages}, $o->{prefix}, $o->{base}, $o->{toRemove}, $o->{toSave});
-}
-
-sub choosePackages {
- my ($o, $packages, $compssUsers, $first_time) = @_;
-
- #- now for upgrade, package that must be upgraded are
- #- selected first, after is used the same scheme as install.
-
- #- make sure we kept some space left for available else the system may
- #- not be able to start (xfs at least).
- my $available = install_any::getAvailableSpace($o);
- my $availableCorrected = pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024);
- log::l(sprintf "available size %s (corrected %s)", formatXiB($available), formatXiB($availableCorrected));
-
- #- avoid destroying user selection of packages but only
- #- for expert, as they may have done individual selection before.
- if ($first_time || !$::expert) {
- install_any::unselectMostPackages($o);
-
- unless ($::expert) {
- add2hash_($o, { compssListLevel => 5 }) unless $::auto_install;
- exists $o->{compssListLevel}
- and pkgs::setSelectedFromCompssList($packages, $o->{compssUsersChoice}, $o->{compssListLevel}, $availableCorrected);
- }
- }
-
- $availableCorrected;
-}
-
-sub beforeInstallPackages {
- my ($o) = @_;
-
- #- save these files in case of upgrade failure.
- if ($o->{isUpgrade}) {
- foreach (@filesToSaveForUpgrade) {
- unlink "$o->{prefix}/$_.mdkgisave";
- if (-e "$o->{prefix}/$_") {
- eval { commands::cp("$o->{prefix}/$_", "$o->{prefix}/$_.mdkgisave") };
- }
- }
- }
-
- #- some packages need such files for proper installation.
- install_any::write_fstab($o);
-
- require network;
- network::add2hosts("$o->{prefix}/etc/hosts", "localhost.localdomain", "127.0.0.1");
-
- require pkgs;
- pkgs::init_db($o->{prefix});
-}
-
-sub pkg_install {
- my ($o, @l) = @_;
- log::l("selecting packages");
- require pkgs;
- if ($::testing) {
- log::l("selecting package \"$_\"") foreach @l;
- } else {
- pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || die "$_ rpm not found") foreach @l;
- }
- my @toInstall = pkgs::packagesToInstall($o->{packages});
- if (@toInstall) {
- log::l("installing packages");
- $o->installPackages;
- } else {
- log::l("all packages selected are already installed, nothing to do")
- }
-}
-
-sub pkg_install_if_requires_satisfied {
- my ($o, @l) = @_;
- require pkgs;
- foreach (@l) {
- my %newSelection;
- my $pkg = pkgs::packageByName($o->{packages}, $_) || die "$_ rpm not found";
- pkgs::selectPackage($o->{packages}, $pkg, 0, \%newSelection);
- if (scalar(keys %newSelection) == 1) {
- pkgs::selectPackage($o->{packages}, $pkg);
- } else {
- log::l("pkg_install_if_requires_satisfied: not selecting $_ because of ", join(", ", keys %newSelection));
- }
- }
- $o->installPackages;
-}
-
-sub installPackages($$) { #- complete REWORK, TODO and TOCHECK!
- my ($o) = @_;
- my $packages = $o->{packages};
-
- if (@{$o->{toRemove} || []}) {
- #- hack to ensure proper upgrade of packages from other distribution,
- #- as release number are not mandrake based. this causes save of
- #- important files and restore them after.
- foreach (@{$o->{toSave} || []}) {
- if (-e "$o->{prefix}/$_") {
- eval { commands::cp("-f", "$o->{prefix}/$_", "$o->{prefix}/$_.mdkgisave") };
- }
- }
- pkgs::remove($o->{prefix}, $o->{toRemove});
- foreach (@{$o->{toSave} || []}) {
- if (-e "$o->{prefix}/$_.mdkgisave") {
- renamef("$o->{prefix}/$_.mdkgisave", "$o->{prefix}/$_");
- }
- }
- $o->{toSave} = [];
-
- #- hack for compat-glibc to upgrade properly :-(
- if (pkgs::packageFlagSelected(pkgs::packageByName($packages, 'compat-glibc')) &&
- !pkgs::packageFlagInstalled(pkgs::packageByName($packages, 'compat-glibc'))) {
- rename "$o->{prefix}/usr/i386-glibc20-linux", "$o->{prefix}/usr/i386-glibc20-linux.mdkgisave";
- }
- }
-
- #- small transaction will be built based on this selection and depslist.
- my @toInstall = pkgs::packagesToInstall($packages);
-
- my $time = time;
- $ENV{DURING_INSTALL} = 1;
- pkgs::install($o->{prefix}, $o->{isUpgrade}, \@toInstall, $packages->{depslist}, $packages->{mediums});
- delete $ENV{DURING_INSTALL};
- run_program::rooted_or_die($o->{prefix}, 'ldconfig') unless $::g_auto_install;
- log::l("Install took: ", formatTimeRaw(time - $time));
- install_any::log_sizes($o);
- scalar(@toInstall); #- return number of packages installed.
-}
-
-sub afterInstallPackages($) {
- my ($o) = @_;
-
- return if $::g_auto_install;
-
- die _("Some important packages didn't get installed properly.
-Either your cdrom drive or your cdrom is defective.
-Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm\"
-") if grep { m|read failed: Input/output error| } cat_("$o->{prefix}/root/install.log");
-
- if (arch() !~ /^sparc/) { #- TODO restore it as may be needed for sparc
- -x "$o->{prefix}/usr/bin/dumpkeys" or $::testing or die
-"Some important packages didn't get installed properly.
-
-Please switch to console 2 (using ctrl-alt-f2)
-and look at the log file /tmp/ddebug.log
-
-Consoles 1,3,4,7 may also contain interesting information";
- }
-
- pkgs::done_db();
-
- #- why not? cuz weather is nice today :-) [pixel]
- sync(); sync();
-
- #- generate /etc/lvmtab needed for rc.sysinit
- run_program::rooted($o->{prefix}, 'vgscan') if -e '/etc/lvmtab';
-
- #- configure PCMCIA services if needed.
- modules::write_pcmcia($o->{prefix}, $o->{pcmcia});
-
- #- for mandrake_firstime
- touch "$o->{prefix}/var/lock/TMP_1ST";
-
- any::writeandclean_ldsoconf($o->{prefix});
- log::l("before install packages, after writing ld.so.conf");
-
- #- make sure some services have been enabled (or a catastrophic restart will occur).
- #- these are normally base package post install scripts or important services to start.
- run_program::rooted($o->{prefix}, "chkconfig", "--add", $_) foreach
- qw(random netfs network rawdevices sound kheader usb keytable syslog crond portmap);
-
- #- call update-menus at the end of package installation
- run_program::rooted($o->{prefix}, "update-menus");
-
- if ($o->{pcmcia}) {
- substInFile { s/.*(TaskBarShowAPMStatus).*/$1=1/ } "$o->{prefix}/usr/lib/X11/icewm/preferences";
- eval { commands::cp("$o->{prefix}/usr/share/applnk/System/kapm.kdelnk",
- "$o->{prefix}/etc/skel/Desktop/Autostart/kapm.kdelnk") };
- }
-
- my $msec = "$o->{prefix}/etc/security/msec";
- substInFile { s/^usb\n//; $_ .= "usb\n" if eof } "$msec/group.conf" if -d $msec;
- substInFile { s/^xgrp\n//; $_ .= "xgrp\n" if eof } "$msec/group.conf" if -d $msec;
- substInFile { s/^audio\n//; $_ .= "audio\n" if eof } "$msec/group.conf" if -d $msec;
- substInFile { s/^cdrom\n//; $_ .= "cdrom\n" if eof } "$msec/group.conf" if -d $msec;
- substInFile { s/^cdwriter\n//; $_ .= "cdwriter\n" if eof } "$msec/group.conf" if -d $msec;
-
- my $pkg = pkgs::packageByName($o->{packages}, 'urpmi');
- if ($pkg && pkgs::packageSelectedOrInstalled($pkg)) {
- install_any::install_urpmi($o->{prefix},
- $::oem ? 'cdrom' : $o->{method}, #- HACK
- $o->{packages}{mediums});
- pkgs::saveCompssUsers($o->{prefix}, $o->{packages}, $o->{compssUsers}, $o->{compssUsersSorted});
- }
-
-# #- update language and icons for KDE.
-# update_userkderc($_, 'Locale', Language => "") foreach list_skels($o->{prefix}, '.kderc');
-# log::l("updating kde icons according to available devices");
-# install_any::kdeicons_postinstall($o->{prefix});
-
- my $welcome = any::to_utf8(_("Welcome to %s", "HOSTNAME"));
- substInFile { s/^(GreetString)=.*/$1=$welcome/ } "$o->{prefix}/usr/share/config/kdmrc";
- install_any::disable_user_view($o->{prefix}) if $o->{security} >= 3 || $o->{authentication}{NIS};
- run_program::rooted($o->{prefix}, "kdeDesktopCleanup");
-
- #- konsole and gnome-terminal are lamers in exotic languages, link them to something better
- if ($o->{lang} =~ /ja|ko|zh/) {
- foreach ("konsole", "gnome-terminal") {
- my $f = "$o->{prefix}/usr/bin/$_";
- symlinkf("X11/rxvt.sh", $f) if -e $f;
- }
- }
- foreach (list_skels($o->{prefix}, '.kde/share/config/kfmrc')) {
- my $found;
- substInFile {
- $found ||= /KFM Misc Defaults/;
- $_ .=
-"[KFM Misc Defaults]
-GridWidth=85
-GridHeight=70
-" if eof && !$found;
- } $_
- }
-
- #- move some file after an upgrade that may be seriously annoying.
- #- and rename saved files to .mdkgiorig.
- if ($o->{isUpgrade}) {
- my $pkg = pkgs::packageByName($o->{packages}, 'rpm');
- $pkg && pkgs::packageSelectedOrInstalled($pkg) && pkgs::versionCompare(pkgs::packageVersion($pkg), '4.0') >= 0 and
- pkgs::clean_old_rpm_db($o->{prefix});
-
- log::l("moving previous desktop files that have been updated to Trash of each user");
- install_any::kdemove_desktop_file($o->{prefix});
-
- foreach (@filesToSaveForUpgrade) {
- renamef("$o->{prefix}/$_.mdkgisave", "$o->{prefix}/$_.mdkgiorig")
- if -e "$o->{prefix}$_.mdkgisave";
- }
- }
-}
-
-#------------------------------------------------------------------------------
-sub selectMouse($) {
- my ($o) = @_;
-}
-
-#------------------------------------------------------------------------------
-sub configureNetwork {
- my ($o) = @_;
- require network;
- network::configureNetwork2($o, $o->{prefix}, $o->{netc}, $o->{intf}, sub { $o->pkg_install(@_) });
-}
-
-#------------------------------------------------------------------------------
-sub installCrypto {
- my ($o) = @_;
- my $u = $o->{crypto} or return; $u->{mirror} && $u->{packages} or return;
-
- upNetwork($o);
- require crypto;
- my @crypto_packages = crypto::getPackages($o->{prefix}, $o->{packages}, $u->{mirror});
- $o->pkg_install(@{$u->{packages}});
-}
-
-sub summary {
- my ($o) = @_;
- configureTimezone($o);
- configurePrinter($o);
-}
-
-#------------------------------------------------------------------------------
-sub configureTimezone {
- my ($o) = @_;
- install_any::preConfigureTimezone($o);
-
- require timezone;
- timezone::write($o->{prefix}, $o->{timezone});
-}
-
-#------------------------------------------------------------------------------
-sub configureServices {
- my ($o) = @_;
- if ($o->{services}) {
- require services;
- services::doit($o, $o->{services}, $o->{prefix});
- }
-}
-#------------------------------------------------------------------------------
-sub configurePrinter {
- my($o) = @_;
- my ($use_cups, $use_lpr) = (0, 0);
- foreach (values %{$o->{printer}{configured} || {}}) {
- for ($_->{mode}) {
- /CUPS/ and $use_cups++;
- /lpr/ and $use_lpr++;
- }
- }
- #- if at least one queue is configured, configure it.
- if ($use_cups || $use_lpr) {
- $o->pkg_install(if_($use_cups, 'cups-drivers'), if_($use_lpr, 'rhs-printfilters'));
-
- require printer;
- eval { add2hash($o->{printer}, printer::getinfo($o->{prefix})) }; #- get existing configuration.
- $use_cups and printer::poll_ppd_base();
- $use_lpr and printer::read_printer_db();
- foreach (values %{$o->{printer}{configured} || {}}) {
- log::l("configuring printer queue $_->{QUEUE} for $_->{mode}");
- printer::copy_printer_params($_, $o->{printer});
- #- setup all configured queues, which is not the case interactively where
- #- only the working queue is setup on configuration.
- printer::configure_queue($o->{printer});
- }
- }
-}
-
-#------------------------------------------------------------------------------
-sub setRootPassword {
- my ($o) = @_;
- my $p = $o->{prefix};
- my $u = $o->{superuser} ||= {};
- local $o->{superuser}{name} = 'root';
- any::write_passwd_user($o->{prefix}, $o->{superuser}, $o->{authentication}{md5});
-}
-
-#------------------------------------------------------------------------------
-
-sub addUser {
- my ($o) = @_;
- my $p = $o->{prefix};
- my $users = $o->{users} ||= [];
-
- my (%uids, %gids);
- foreach (glob_("$p/home")) { my ($u, $g) = (stat($_))[4,5]; $uids{$u} = 1; $gids{$g} = 1; }
-
- foreach (@$users) {
- $_->{home} ||= "/home/$_->{name}";
-
- my $u = $_->{uid} || ($_->{oldu} = (stat("$p$_->{home}"))[4]);
- my $g = $_->{gid} || ($_->{oldg} = (stat("$p$_->{home}"))[5]);
- #- search for available uid above 501 else initscripts may fail to change language for KDE.
- if (!$u || getpwuid($u)) { for ($u = 501; getpwuid($u) || $uids{$u}; $u++) {} }
- if (!$g ) { for ($g = 501; getgrgid($g) || $gids{$g}; $g++) {} }
-
- $_->{uid} = $u; $uids{$u} = 1;
- $_->{gid} = $g; $gids{$g} = 1;
- }
-
- any::write_passwd_user($p, $_, $o->{authentication}{md5}) foreach @$users;
-
- open F, ">> $p/etc/group" or die "can't append to group file: $!";
- print F "$_->{name}:x:$_->{gid}:\n" foreach grep { ! getgrgid($_->{gid}) } @$users;
-
- foreach my $u (@$users) {
- if (! -d "$p$u->{home}") {
- my $mode = $o->{security} < 2 ? 0755 : 0750;
- eval { commands::cp("-f", "$p/etc/skel", "$p$u->{home}") };
- if ($@) {
- log::l("copying of skel failed: $@"); mkdir("$p$u->{home}", $mode);
- } else {
- chmod $mode, "$p$u->{home}";
- }
- }
- require commands;
- eval { commands::chown_("-r", "$u->{uid}.$u->{gid}", "$p$u->{home}") }
- if $u->{uid} != $u->{oldu} || $u->{gid} != $u->{oldg};
- }
- any::addUsers($p, $users);
-
- $o->pkg_install("autologin") if $o->{autologin};
- any::set_autologin($p, $o->{autologin}, $o->{desktop});
-
- install_any::setAuthentication($o);
-
- install_any::disable_user_view($p) if @$users == ();
-}
-
-#------------------------------------------------------------------------------
-sub createBootdisk($) {
- my ($o) = @_;
- my $dev = $o->{mkbootdisk} or return;
-
- my @l = detect_devices::floppies();
-
- $dev = shift @l || die _("No floppy drive available")
- if $dev eq "1"; #- special case meaning autochoose
-
- return if $::testing;
-
- require bootloader;
- bootloader::mkbootdisk($o->{prefix}, install_any::kernelVersion($o), $dev, $o->{bootloader}{perImageAppend});
- $o->{mkbootdisk} = $dev;
-}
-
-#------------------------------------------------------------------------------
-sub readBootloaderConfigBeforeInstall {
- my ($o) = @_;
- my ($image, $v);
-
- require bootloader;
- add2hash($o->{bootloader} ||= {}, bootloader::read($o->{prefix}, arch() =~ /sparc/ ? "/etc/silo.conf" : arch() =~ /ppc/ ? "/etc/yaboot.conf" : "/etc/lilo.conf"));
-
- #- since kernel or kernel-smp may not be upgraded, it should be checked
- #- if there is a need to update existing lilo.conf entries by following
- #- symlinks before kernel or other packages get installed.
- #- update everything that could be a filename (for following symlink).
- foreach my $e (@{$o->{bootloader}{entries}}) {
- while (my $v = readlink "$o->{prefix}/$e->{kernel_or_dev}") {
- $v = "/boot/$v" if $v !~ m|^/|; -e "$o->{prefix}$v" or last;
- log::l("renaming /boot/$e->{kernel_or_dev} entry by $v");
- $e->{kernel_or_dev} = $v;
- }
- while (my $v = readlink "$o->{prefix}/$e->{initrd}") {
- $v = "/boot/$v" if $v !~ m|^/|; -e "$o->{prefix}$v" or last;
- log::l("renaming /boot/$e->{initrd} entry by $v");
- $e->{initrd} = $v;
- }
- }
-}
-
-sub setupBootloaderBefore {
- my ($o) = @_;
- if (arch() =~ /alpha/) {
- if (my $dev = fsedit::get_root($o->{fstab})) {
- $o->{bootloader}{boot} ||= "/dev/$dev->{rootDevice}";
- $o->{bootloader}{root} ||= "/dev/$dev->{device}";
- $o->{bootloader}{part_nb} ||= first($dev->{device} =~ /(\d+)/);
- }
- } else {
- #- check for valid fb mode to enable a default boot with frame buffer.
- my $vga = $o->{allowFB} && (!detect_devices::matching_desc('Rage LT') &&
- !detect_devices::matching_desc('SiS') &&
- !detect_devices::matching_desc('Matrox') &&
- !detect_devices::matching_desc('Rage Mobility')) && $o->{vga};
-
- require bootloader;
- #- propose the default fb mode for kernel fb, if aurora is installed too.
- my $has_aurora = do {
- my $p = pkgs::packageByName($o->{packages}, 'Aurora');
- $p && pkgs::packageFlagInstalled($p);
- };
- bootloader::suggest($o->{prefix}, $o->{bootloader}, $o->{hds}, $o->{fstab}, install_any::kernelVersion($o),
- $has_aurora && $vga);
- bootloader::suggest_floppy($o->{bootloader}) if $o->{security} <= 3 && arch() !~ /ppc/;
-
- $o->{bootloader}{keytable} ||= keyboard::keyboard2kmap($o->{keyboard});
- }
-}
-
-sub setupBootloader($) {
- my ($o) = @_;
- return if $::g_auto_install;
-
- if (arch() =~ /alpha/) {
- return if $::testing;
- my $b = $o->{bootloader};
- $b->{boot} or $o->ask_warn('', "Can't install aboot, not a bsd disklabel"), return;
-
- run_program::rooted($o->{prefix}, "swriteboot", $b->{boot}, "/boot/bootlx") or do {
- cdie "swriteboot failed";
- run_program::rooted($o->{prefix}, "swriteboot", "-f1", $b->{boot}, "/boot/bootlx");
- };
- run_program::rooted($o->{prefix}, "abootconf", $b->{boot}, $b->{part_nb});
-
- modules::load('loop');
- output "$o->{prefix}/etc/aboot.conf",
- map_index { -e "$o->{prefix}/boot/initrd-$_->[1]" ?
- "$::i:$b->{part_nb}$_->[0] root=$b->{root} initrd=/boot/initrd-$_->[1] $b->{perImageAppend}\n" :
- "$::i:$b->{part_nb}$_->[0] root=$b->{root} $b->{perImageAppend}\n" }
- map { run_program::rooted($o->{prefix}, "mkinitrd", "-f", "/boot/initrd-$_->[1]", "--ifneeded", $_->[1]) ;#or
- #unlink "$o->{prefix}/boot/initrd-$_->[1]";$_ } grep { $_->[0] && $_->[1] }
- $_ } grep { $_->[0] && $_->[1] }
- map { [ m|$o->{prefix}(/boot/vmlinux-(.*))| ] } glob_("$o->{prefix}/boot/vmlinux-*");
-# output "$o->{prefix}/etc/aboot.conf",
-# map_index { "$::i:$b->{part_nb}$_ root=$b->{root} $b->{perImageAppend}\n" }
-# map { /$o->{prefix}(.*)/ } eval { glob_("$o->{prefix}/boot/vmlinux*") };
- } else {
- require bootloader;
- bootloader::install($o->{prefix}, $o->{bootloader}, $o->{fstab}, $o->{hds});
- }
-}
-
-#------------------------------------------------------------------------------
-sub configureXBefore {
- my ($o) = @_;
- my $xkb = $o->{X}{keyboard}{xkb_keymap} || keyboard::keyboard2xkb($o->{keyboard});
- $xkb = '' if !($xkb && $xkb =~ /([^(]*)/ && -e "$o->{prefix}/usr/X11R6/lib/X11/xkb/symbols/$1");
- if (!$xkb && (my $f = keyboard::xmodmap_file($o->{keyboard}))) {
- require commands;
- commands::cp("-f", $f, "$o->{prefix}/etc/X11/xinit/Xmodmap");
- $xkb = '';
- }
- {
- my $f = "$o->{prefix}/etc/sysconfig/i18n";
- setVarsInSh($f, add2hash_({ XKB_IN_USE => $xkb ? '': 'no' }, { getVarsFromSh($f) }));
- }
- $o->{X}{keyboard}{xkb_keymap} = $xkb;
- $o->{X}{mouse} = $o->{mouse};
- $o->{X}{wacom} = $o->{wacom};
-
- require Xconfig;
- Xconfig::getinfoFromDDC($o->{X});
- Xconfig::getinfoFromXF86Config($o->{X}, $o->{prefix}); #- take default from here at least.
-
- #- keep this here if the package has to be updated.
- $o->pkg_install("XFree86");
-}
-sub configureX {
- my ($o) = @_;
- $o->configureXBefore;
-
- require Xconfigurator;
- require class_discard;
- { local $::testing = 0; #- unset testing
- local $::auto = 1;
- $o->{X}{skiptest} = 1;
- Xconfigurator::main($o->{prefix}, $o->{X}, class_discard->new,
- { allowFB => $o->{allowFB},
- allowNVIDIA_rpms => install_any::allowNVIDIA_rpms($o->{packages}),
- }, sub { $o->pkg_install(@_) });
- }
- $o->configureXAfter;
-}
-sub configureXAfter {
- my ($o) = @_;
- if ($o->{X}{card}{server} eq 'FBDev') {
- unless (install_any::setupFB($o, Xconfigurator::getVGAMode($o->{X}))) {
- log::l("disabling automatic start-up of X11 if any as setup framebuffer failed");
- any::runlevel($o->{prefix}, 3) unless $::testing; #- disable automatic start-up of X11 on error.
- }
- }
- if ($o->{X}{default_depth} >= 16 && $o->{X}{card}{default_wres} >= 1024) {
- log::l("setting large icon style for kde");
- install_any::kderc_largedisplay($o->{prefix});
- }
-}
-
-#------------------------------------------------------------------------------
-sub miscellaneousBefore {
- my ($o) = @_;
-
- my %s = getVarsFromSh("$o->{prefix}/etc/sysconfig/system");
- $o->{miscellaneous}{HDPARM} ||= $s{HDPARM} if exists $s{HDPARM};
- $o->{security} ||= $s{SECURITY} if exists $s{SECURITY};
-
- $ENV{SECURE_LEVEL} = $o->{security};
- add2hash_ $o, { useSupermount => $o->{security} < 4 && arch() !~ /sparc/ && !$::corporate };
-
- add2hash_($o->{miscellaneous} ||= {}, { numlock => !$o->{pcmcia} });
-}
-sub miscellaneous {
- my ($o) = @_;
-
- local $_ = $o->{bootloader}{perImageAppend};
-
- if ($o->{lnx4win} and !/mem=/) {
- $_ .= ' mem=' . availableRamMB() . 'M';
- }
- if (my @l = detect_devices::IDEburners() and !/ide-scsi/) {
- $_ .= " " . join(" ", (map { "$_->{device}=ide-scsi" } @l),
- #- in that case, also add ide-floppy otherwise ide-scsi will be used!
- map { "$_->{device}=ide-floppy" } detect_devices::ide_zips());
- }
- if ($o->{miscellaneous}{HDPARM}) {
- $_ .= join('', map { " $_=autotune" } grep { /ide.*/ } all("/proc/ide")) if !/ide.=autotune/;
- }
- #- keep some given parameters
- #-TODO
-
- log::l("perImageAppend: $_");
- $o->{bootloader}{perImageAppend} = $_;
-}
-
-#------------------------------------------------------------------------------
-sub exitInstall {
- my ($o) = @_;
- eval { output "$o->{prefix}/root/report.bug", install_any::report_bug($o->{prefix}) };
- install_any::unlockCdrom;
- install_any::log_sizes($o);
-}
-
-#------------------------------------------------------------------------------
-sub hasNetwork {
- my ($o) = @_;
-
- $o->{intf} && $o->{netc}{NETWORKING} ne 'no' || $o->{netcnx}{modem};
-}
-
-#------------------------------------------------------------------------------
-sub upNetwork {
- my ($o, $pppAvoided) = @_;
-
- foreach (qw(resolv.conf protocols services)) {
- symlinkf("$o->{prefix}/etc/$_", "/etc/$_");
- }
-
- modules::write_conf($o->{prefix});
- if ($o->{intf} && $o->{netc}{NETWORKING} ne 'no') {
- network::up_it($o->{prefix}, $o->{intf});
- } elsif (!$pppAvoided && $o->{netcnx}{modem} && !$o->{netcnx}{modem}{isUp}) {
- eval { modules::load_multi(qw(serial ppp bsd_comp ppp_deflate)) };
- run_program::rooted($o->{prefix}, "/etc/rc.d/init.d/syslog", "start");
- run_program::rooted($o->{prefix}, "ifup", "ppp0");
- $o->{netcnx}{modem}{isUp} = 1;
- } else {
- $::testing or return;
- }
- 1;
-}
-
-#------------------------------------------------------------------------------
-sub downNetwork {
- my ($o, $pppOnly) = @_;
-
- modules::write_conf($o->{prefix});
- if (!$pppOnly && $o->{intf} && $o->{netc}{NETWORKING} ne 'no') {
- network::down_it($o->{prefix}, $o->{intf});
- } elsif ($o->{netcnx}{modem} && $o->{netcnx}{modem}{isUp}) {
- run_program::rooted($o->{prefix}, "ifdown", "ppp0");
- run_program::rooted($o->{prefix}, "/etc/rc.d/init.d/syslog", "stop");
- eval { modules::unload($_) foreach qw(ppp_deflate bsd_comp ppp serial) };
- $o->{netcnx}{modem}{isUp} = 0;
- } else {
- $::testing or return;
- }
- 1;
-}
-
-#------------------------------------------------------------------------------
-sub cleanIfFailedUpgrade($) {
- my ($o) = @_;
-
- #- if an upgrade has failed, there should be .mdkgisave files around.
- if ($o->{isUpgrade}) {
- foreach (@filesToSaveForUpgrade) {
- if (-e "$o->{prefix}/$_" && -e "$o->{prefix}/$_.mdkgisave") {
- rename "$o->{prefix}/$_", "$o->{prefix}/$_.mdkginew"; #- keep new files around in case !
- rename "$o->{prefix}/$_.mdkgisave", "$o->{prefix}/$_";
- }
- }
- }
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/install_steps_auto_install.pm b/perl-install/install_steps_auto_install.pm
deleted file mode 100644
index f72565fd4..000000000
--- a/perl-install/install_steps_auto_install.pm
+++ /dev/null
@@ -1,99 +0,0 @@
-package install_steps_auto_install; # $Id$
-
-use diagnostics;
-use strict;
-use lang;
-use vars qw(@ISA $graphical @graphical_steps);
-
-@ISA = qw(install_steps);
-
-@graphical_steps = qw(enteringStep beforeInstallPackages installPackages);
-
-use modules;
-
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :functional);
-use install_steps;
-use log;
-
-sub new {
- my ($type, $o) = @_;
-
- if ($graphical) {
- require install_steps_gtk;
- push @ISA, 'interactive_gtk';
- foreach my $f (@graphical_steps) {
- no strict 'refs';
- my $pkg = $install_steps_gtk::{$f} ? 'install_steps_gtk' : 'install_steps_interactive';
- log::l("install_steps_auto_install: adding function ", $pkg, "::", $f);
- *{"install_steps_auto_install::$f"} = sub {
- local @ISA = ('install_steps_gtk', @ISA);
- &{$pkg . '::' . $f};
- };
- }
- goto &install_steps_gtk::new;
- } else {
- (bless {}, ref $type || $type)->SUPER::new($o);
- }
-}
-
-sub configureNetwork {
- my ($o) = @_;
- modules::load_thiskind('net');
- goto &install_steps::configureNetwork;
-}
-
-sub enteringStep($$$) {
- my ($o, $step) = @_;
- print _("Entering step `%s'\n", translate($o->{steps}{$step}{text}));
- $o->SUPER::enteringStep($step);
-}
-
-sub ask_warn {
- log::l(ref $_[1] ? join " ", @{$_[1]} : $_[1]);
-}
-sub wait_message {}
-
-sub errorInStep {
- print "error :(\n";
- print "switch to console f2 for a shell\n";
- print "Press <Enter> to reboot\n";
- <STDIN>;
- c::_exit(0);
-}
-
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-sub selectLanguage {
- my ($o) = @_;
- $o->SUPER::selectLanguage;
- lang::load_console_font($o->{lang});
-}
-
-sub installPackages {
- my ($o, $packages) = @_;
- catch_cdie { $o->install_steps::installPackages($packages) } sub { print "$@\n"; 1 }
-}
-
-sub exitInstall {
- my ($o, $alldone) = @_;
- return if $o->{autoExitInstall};
-
- if ($graphical) {
- my $O = bless $o, "install_steps_gtk";
- $O->exitInstall($alldone);
- } else {
- install_steps::exitInstall($o);
- print "\a";
- print "Auto installation complete (the postInstall is not done yet though)\n";
- print "Press <Enter> to reboot\n";
- <STDIN>;
- }
-}
-
-1;
diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm
deleted file mode 100644
index 539d2f1e5..000000000
--- a/perl-install/install_steps_gtk.pm
+++ /dev/null
@@ -1,723 +0,0 @@
-package install_steps_gtk; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(install_steps_interactive interactive_gtk);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use install_steps_interactive;
-use interactive_gtk;
-use common qw(:common :file :functional :system);
-use my_gtk qw(:helpers :wrappers);
-use Gtk;
-use devices;
-use modules;
-use install_gtk;
-use install_any;
-use mouse;
-use help;
-use log;
-
-#-######################################################################################
-#- In/Out Steps Functions
-#-######################################################################################
-sub new($$) {
- my ($type, $o) = @_;
-
- my $old = $SIG{__DIE__};
- $SIG{__DIE__} = sub { $_[0] !~ /my_gtk\.pm/ and goto $old };
-
- $ENV{DISPLAY} ||= $o->{display} || ":0";
- unless ($::testing) {
- $my_gtk::force_focus = $ENV{DISPLAY} eq ":0";
-
- if ($ENV{DISPLAY} eq ":0" && !$::live) {
- my $f = "/tmp/Xconf";
- install_gtk::createXconf($f, @{$o->{mouse}}{"XMOUSETYPE", "device"}, $o->{wacom}[0]);
- devices::make("/dev/kbd");
-
- local (*T1, *T2);
- open T1, ">/dev/tty5";
- open T2, ">/dev/tty6";
-
- my $launchX = sub {
- my $ok = 1;
- my $xpmac_opts = cat_("/proc/cmdline");
- local $SIG{CHLD} = sub { $ok = 0 if waitpid(-1, c::WNOHANG()) > 0 };
- unless (fork) {
- exec $_[0], (arch() =~ /^sparc/ || arch() eq "ppc" ? () : ("-kb")), "-dpms","-s" ,"240",
- ($_[0] =~ /Xpmac/ ? $xpmac_opts !~ /ofonly/ ? ("-mode", "17", "-depth", "32") : ("-mach64"):()),
- ($_[0] =~ /Xsun/ || $_[0] =~ /Xpmac/ ? ("-fp", "/usr/X11R6/lib/X11/fonts:unscaled") :
- ("-allowMouseOpenFail", "-xf86config", $f)) or exit 1;
- }
- foreach (1..60) {
- sleep 1;
- log::l("Server died"), return 0 if !$ok;
- return 1 if c::Xtest($ENV{DISPLAY});
- }
- log::l("Timeout!!");
- 0;
- };
- my @servers = qw(FBDev VGA16); #-)
- if (arch() eq "alpha") {
- require Xconfigurator;
- my $card = Xconfigurator::cardConfigurationAuto();
- Xconfigurator::updateCardAccordingName($card, $card->{type}) if $card && $card->{type};
- @servers = $card->{server} || "TGA";
- #-@servers = qw(SVGA 3DLabs TGA)
- } elsif (arch() =~ /^sparc/) {
- local $_ = cat_("/proc/fb");
- if (/Mach64/) { @servers = qw(Mach64) }
- elsif (/Permedia2/) { @servers = qw(3DLabs) }
- else { @servers = qw(Xsun24) }
- } elsif (arch() eq "ppc") {
- @servers = qw(Xpmac);
- }
-
- foreach (@servers) {
- log::l("Trying with server $_");
- my $dir = "/usr/X11R6/bin";
- my $prog = /Xsun|Xpmac/ ? $_ : "XF86_$_";
- unless (-x "$dir/$prog") {
- unlink $_ foreach glob_("$dir/X*");
- install_any::getAndSaveFile("Mandrake/mdkinst$dir/$prog", "$dir/$prog") or die "failed to get server $prog: $!";
- chmod 0755, "$dir/$prog";
- }
- if (/FB/) {
- !$o->{vga16} && $o->{allowFB} or next;
-
- $o->{allowFB} = &$launchX($prog) #- keep in mind FB is used.
- and goto OK;
- } else {
- $o->{vga16} = 1 if /VGA16/;
- &$launchX($prog) and goto OK;
- }
- }
- return undef;
- }
- }
- OK:
- install_gtk::init_sizes();
- install_gtk::default_theme($o);
- install_gtk::create_logo_window($o);
-
- $my_gtk::force_center = [ $::rootwidth - $::windowwidth, $::logoheight, $::windowwidth, $::windowheight ];
-
- (bless {}, ref $type || $type)->SUPER::new($o);
-}
-
-sub enteringStep {
- my ($o, $step) = @_;
-
- printf "Entering step `%s'\n", $o->{steps}{$step}{text};
- $o->SUPER::enteringStep($step);
- install_gtk::create_steps_window($o);
- install_gtk::create_help_window($o);
-}
-sub leavingStep {
- my ($o, $step) = @_;
- $o->SUPER::leavingStep($step);
-}
-
-
-sub charsetChanged {
- my ($o) = @_;
- Gtk->set_locale;
- install_gtk::install_theme($o);
- install_gtk::create_steps_window($o);
-}
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-sub selectLanguage {
- my ($o, $first_time) = @_;
- $o->SUPER::selectLanguage;
-
- $o->ask_warn('',
-_("Your system is low on resource. You may have some problem installing
-Linux-Mandrake. If that occurs, you can try a text install instead. For this,
-press `F1' when booting on CDROM, then enter `text'.")) if $first_time && availableRamMB() < 60; # 60MB
-
-}
-
-#------------------------------------------------------------------------------
-sub selectInstallClass1 {
- my ($o, $verif, $l, $def, $l2, $def2) = @_;
- $::live || @$l == 1 and return $o->SUPER::selectInstallClass1($verif, $l, $def, $l2, $def2);
-
- my $w = my_gtk->new('');
- my $focused;
- gtkadd($w->{window},
- gtkpack($w->create_box_with_title(_("Please, choose one of the following classes of installation:")),
- (my @radios = gtkradio(@$l, $def)),
- gtkadd(create_hbox(),
- map { my $v = $_;
- my $b = new Gtk::Button(translate($_));
- $focused = $b if $_ eq $def2;
- gtksignal_connect($b, "clicked" => sub { $w->{retval} = $v; Gtk->main_quit });
- } @$l2)
- ));
- $focused->grab_focus if $focused;
- $w->main;
-
- mapn { $verif->($_[1]) if $_[0]->active } \@radios, $l;
- install_gtk::create_steps_window($o);
-
- $w->{retval};
-}
-
-#------------------------------------------------------------------------------
-sub selectMouse {
- my ($o, $force) = @_;
- my %old = %{$o->{mouse}};
- $o->SUPER::selectMouse($force);
- my $mouse = $o->{mouse};
- $mouse->{type} eq 'none' ||
- $old{type} eq $mouse->{type} &&
- $old{name} eq $mouse->{name} &&
- $old{device} eq $mouse->{device} && !$force and return;
-
- local $my_gtk::grab = 1; #- unsure a crazy mouse don't go wild clicking everywhere
-
- while (1) {
- log::l("telling X server to use another mouse");
- eval { modules::load('serial') } if $mouse->{device} =~ /ttyS/;
-
- if (!$::testing) {
- devices::make($mouse->{device});
- symlinkf($mouse->{device}, "/dev/mouse");
- c::setMouseLive($ENV{DISPLAY}, mouse::xmouse2xId($mouse->{XMOUSETYPE}), $mouse->{nbuttons} < 3);
- }
- install_gtk::test_mouse($mouse) and return;
- $o->SUPER::selectMouse(1);
- $mouse = $o->{mouse};
- }
-}
-
-#------------------------------------------------------------------------------
-sub chooseSizeToInstall {
- my ($o, $packages, $min_size, $def_size, $max_size_, $availableC, $individual) = @_;
- my $max_size = min($max_size_, $availableC);
- my $enough = $max_size == $max_size_;
- my $percentage = int 100 * $max_size / $max_size_;
-
- #- don't ask anything if the difference between min and max is too small
- log::l("chooseSizeToInstall: min_size=$min_size, def_size=$def_size, max_size=$max_size_, available=$availableC");
- return $max_size if $min_size && $max_size / $min_size < 1.05;
-
- log::l("choosing size to install between $min_size and $max_size");
- my $w = my_gtk->new('');
- my $adj = create_adjustment(int(100 * $def_size / $max_size_), $min_size * 100 / $max_size_, $percentage);
- my $spin = gtkset_usize(new Gtk::SpinButton($adj, 0, 0), 20, 0);
- my $val;
-
- require pkgs;
- gtkadd($w->{window},
- gtkpack(new Gtk::VBox(0,20),
- _("The total size for the groups you have selected is approximately %d MB.\n", pkgs::correctSize($max_size_ / sqr(1024))) .
- ($enough ?
-_("If you wish to install less than this size,
-select the percentage of packages that you want to install.
-
-A low percentage will install only the most important packages;
-a percentage of 100%% will install all selected packages.") :
-_("You have space on your disk for only %d%% of these packages.
-
-If you wish to install less than this,
-select the percentage of packages that you want to install.
-A low percentage will install only the most important packages;
-a percentage of %d%% will install as many packages as possible.", $percentage, $percentage))
-. ($individual ? "\n\n" . _("You will be able to choose them more specifically in the next step.") : ''),
- create_packtable({},
- [ _("Percentage of packages to install") . ' ', $spin, "%", my $mb = new Gtk::Label ],
- [ undef, new Gtk::HScrollbar($adj) ],
- ),
- create_okcancel($w)
- )
- );
- $spin->signal_connect(changed => my $changed = sub {
- $val = $spin->get_value_as_int / 100 * $max_size_;
- $mb->set(sprintf("(%dMB)", pkgs::correctSize($val / sqr(1024))));
- }); &$changed();
- $spin->signal_connect(activate => sub { $w->{retval} = 1; Gtk->main_quit });
- $spin->grab_focus();
- $w->main and $val + 1; #- add a single byte (hack?) to make selection of 0 bytes ok.
-}
-
-sub reallyChooseGroups {
- my ($o, $size_to_display, $individual, $val) = @_;
-
- my $w = my_gtk->new('');
- my $tips = new Gtk::Tooltips;
- my $w_size = new Gtk::Label(&$size_to_display);
-
- my $entry = sub {
- my ($e) = @_;
- my $text = translate($o->{compssUsers}{$e}{label});
- my $help = translate($o->{compssUsers}{$e}{descr});
-
- my $file = do {
- my $f = "$ENV{SHARE_PATH}/icons/" . ($o->{compssUsers}{$e}{icons} || 'default');
- -e "$f.png" or $f .= "_section";
- -e "$f.png" or $f = "$ENV{SHARE_PATH}/icons/default_section";
- "$f.png";
- };
- my $check = Gtk::CheckButton->new($text);
- $check->set_active($val->{$e});
- $check->signal_connect(clicked => sub {
- $val->{$e} = $check->get_active;
- $w_size->set(&$size_to_display);
- });
- gtkset_tip($tips, $check, $help);
- gtkpack_(new Gtk::HBox(0,0), 0, gtkpng($file), 1, $check);
- #$check;
- };
- my $entries_in_path = sub {
- my ($path) = @_;
- translate($path), map { $entry->($_) } grep { !/Utilities/ && $o->{compssUsers}{$_}{path} eq $path } @{$o->{compssUsersSorted}};
- };
- gtkadd($w->{window},
- gtkpack($w->create_box_with_title(_("Package Group Selection")),
- gtkpack_(new Gtk::VBox(0,0),
- 1, gtkpack_(new Gtk::HBox(0,0),
- 1, gtkpack(new Gtk::VBox(0,0),
- $entries_in_path->('Workstation'),
- '',
- $entry->('Development|Development'),
- $entry->('Development|Documentation'),
- ),
- 0, gtkpack(new Gtk::VBox(0,0),
- $entries_in_path->('Server'),
- '',
- $entries_in_path->('Graphical Environment'),
- ),
- ),
- ),
- '',
- gtkadd(new Gtk::HBox(0,0),
- $w_size,
- if_($individual, do {
- my $check = Gtk::CheckButton->new(_("Individual package selection"));
- $check->set_active($$individual);
- $check->signal_connect(clicked => sub { $$individual = $check->get_active });
- $check;
- }),
- gtksignal_connect(new Gtk::Button(_("Ok")), clicked => sub { Gtk->main_quit }),
- ),
- ),
- );
- $w->{rwindow}->set_default_size($::windowwidth * 0.8, $::windowheight * 0.8);
- $w->main;
- 1;
-}
-
-
-sub choosePackagesTree {
- my ($o, $packages) = @_;
-
- $o->set_help('choosePackagesTree');
- my ($curr, $parent, $info_widget, $w_size, $go, $idle, $flat);
- my $auto_deps = 1;
- my (%wtree, %ptree);
-
- my $w = my_gtk->new('');
- my $details = new Gtk::VBox(0,0);
- my $tree = Gtk::CTree->new(3, 0);
- $tree->set_selection_mode('browse');
- $tree->set_column_width(0, 200);
- $tree->set_column_auto_resize($_, 1) foreach 1..2;
-
- gtkadd($w->{window},
- gtkpack_(new Gtk::VBox(0,5),
- 0, _("Choose the packages you want to install"),
- 1, gtkpack(new Gtk::HBox(0,0),
- createScrolledWindow($tree),
- gtkadd(gtkset_usize(new Gtk::Frame(_("Info")), $::windowwidth - 490, 0),
- createScrolledWindow($info_widget = new Gtk::Text),
- )),
- 0, my $l = new Gtk::HBox(0,15),
- 0, gtkpack(new Gtk::HBox(0,10),
- $go = gtksignal_connect(new Gtk::Button(_("Install")), "clicked" => sub { $w->{retval} = 1; Gtk->main_quit }),
- )
- ));
- gtkpack__($l, my $toolbar = new Gtk::Toolbar('horizontal', 'icons'));
- gtkpack__($l, gtksignal_connect(gtkset_active(new Gtk::CheckButton(_("Show automatically selected packages")), $auto_deps), clicked => sub { invbool \$auto_deps }));
- $l->pack_end($w_size = new Gtk::Label(''), 0, 1, 20);
-
- $w->{window}->set_usize(map { $_ - 2 * $my_gtk::border - 4 } $::windowwidth, $::windowheight);
- $go->grab_focus;
- $w->{rwindow}->show_all;
-
- my $pix_base = [ gtkcreate_png("$ENV{SHARE_PATH}/rpm-base.png") ];
- my $pix_selected = [ gtkcreate_png("$ENV{SHARE_PATH}/rpm-selected.png") ];
- my $pix_unselect = [ gtkcreate_png("$ENV{SHARE_PATH}/rpm-unselected.png") ];
- my $pix_semisele = [ gtkcreate_png("$ENV{SHARE_PATH}/rpm-semiselected.png") ];
- my $pix_installed= [ gtkcreate_png("$ENV{SHARE_PATH}/rpm-installed.png") ];
-
- my $add_parent; $add_parent = sub {
- $_[0] or return undef;
- if (my $w = $wtree{$_[0]}) { return $w }
- my $s; foreach (split '\|', $_[0]) {
- my $s2 = $s ? "$s|$_" : $_;
- $wtree{$s2} ||= do {
- my $n = $tree->insert_node($s ? $add_parent->($s) : undef, undef, [$_, '', ''], 5, (undef) x 4, 0, 0);
- $n;
- };
- $s = $s2;
- }
- $tree->node_set_pixmap($wtree{$s}, 1, $pix_semisele->[0], $pix_semisele->[1]);
- $wtree{$s};
- };
- my $add_node = sub {
- my ($leaf, $root) = @_;
- my $p = pkgs::packageByName($packages,$leaf) or return;
- pkgs::packageMedium($p)->{selected} or return;
- my $node = $tree->insert_node($add_parent->($root),
- undef, [$leaf, '', ''], 5, (undef) x 4, 1, 0);
- my $pix = pkgs::packageFlagBase($p) ? $pix_base : pkgs::packageFlagSelected($p) ? $pix_selected : pkgs::packageFlagInstalled($p) ? $pix_installed : $pix_unselect;
- $tree->node_set_pixmap($node, 1, $pix->[0], $pix->[1]);
- push @{$ptree{$leaf}}, $node;
- };
- my $add_nodes = sub {
- %ptree = %wtree = ();
-
- $tree->freeze;
- while (1) { $tree->remove_node($tree->node_nth(0) || last) }
-
- if ($flat = $_[0]) {
- $add_node->($_, undef) foreach sort grep { my $pkg = pkgs::packageByName($packages, $_);
- pkgs::packageMedium($pkg)->{selected} } keys %{$packages->{names}};
- } else {
- foreach my $root (@{$o->{compssUsersSorted}}) {
- my (%fl, @firstchoice, @others);
- $fl{$_} = 1 foreach @{$o->{compssUsers}{$root}{flags}};
- foreach my $p (values %{$packages->{names}}) {
- my ($rate, @flags) = pkgs::packageRateRFlags($p);
- next if !($rate && grep { grep { !/^!/ && $fl{$_} } split('\|\|') } @flags);
- $rate >= 3 ?
- push(@firstchoice, pkgs::packageName($p)) :
- push(@others, pkgs::packageName($p));
- }
- $add_node->($_, $root ) foreach sort @firstchoice;
- $add_node->($_, $root . '|' . _("Other")) foreach sort @others;
- }
- }
- $tree->thaw;
- };
- $add_nodes->($flat);
-
- my %toolbar = my @toolbar =
- (
- ftout => [ _("Expand Tree") , sub { $tree->expand_recursive(undef) } ],
- ftin => [ _("Collapse Tree") , sub { $tree->collapse_recursive(undef) } ],
- reload=> [ _("Toggle between flat and group sorted"), sub { $add_nodes->(!$flat) } ],
- );
- $toolbar->set_button_relief("none");
- foreach (grep_index { $::i % 2 == 0 } @toolbar) {
- gtksignal_connect($toolbar->append_item(undef, $toolbar{$_}[0], undef, gtkpng("$ENV{SHARE_PATH}/$_.png")),
- clicked => $toolbar{$_}[1]);
- }
- $toolbar->set_style("icons");
-
- my $display_info = sub {
- my $p = pkgs::packageByName($packages, $curr) or return gtktext_insert($info_widget, '');
- pkgs::extractHeaders($o->{prefix}, [$p], pkgs::packageMedium($p));
- pkgs::packageHeader($p) or die;
-
- my $imp = translate($pkgs::compssListDesc{pkgs::packageFlagBase($p) ?
- 5 : pkgs::packageRate($p)});
-
- gtktext_insert($info_widget, $@ ? _("Bad package") :
- _("Name: %s\n", pkgs::packageName($p)) .
- _("Version: %s\n", pkgs::packageVersion($p) . '-' . pkgs::packageRelease($p)) .
- _("Size: %d KB\n", pkgs::packageSize($p) / 1024) .
- ($imp && _("Importance: %s\n", $imp)) . "\n" .
- formatLines(c::headerGetEntry(pkgs::packageHeader($p), 'description')));
- pkgs::packageFreeHeader($p);
- #c::headerFree(delete $p->[$HEADER]);
- 0;
- };
-
- my $update_size = sub {
- my $size = pkgs::selectedSize($packages);
- $w_size->set(_("Total size: %d / %d MB",
- pkgs::correctSize($size / sqr(1024)),
- install_any::getAvailableSpace($o) / sqr(1024)));
- };
- my $select = sub {
- my %l;
- my $isSelection = !pkgs::packageFlagSelected($_[0]);
- foreach (@_) {
- pkgs::togglePackageSelection($packages, $_, my $l = {});
- @l{grep {$l->{$_}} keys %$l} = ();
- }
- if (my @l = keys %l) {
- #- check for size before trying to select.
- my $size = pkgs::selectedSize($packages);
- foreach (@l) {
- my $p = $packages->{names}{$_};
- pkgs::packageFlagSelected($p) or $size += pkgs::packageSize($p);
- }
- if (pkgs::correctSize($size / sqr(1024)) > install_any::getAvailableSpace($o) / sqr(1024)) {
- return $o->ask_warn('', _("You can't select this package as there is not enough space left to install it"));
- }
-
- @l > @_ && $auto_deps and $o->ask_okcancel('', [ $isSelection ?
- _("The following packages are going to be installed") :
- _("The following packages are going to be removed"),
- join(", ", common::truncate_list(20, sort @l)) ], 1) || return;
- $isSelection ? pkgs::selectPackage($packages, $_) : pkgs::unselectPackage($packages, $_) foreach @_;
- foreach (@l) {
- my $p = $packages->{names}{$_};
- my $pix = pkgs::packageFlagSelected($p) ? $pix_selected : $pix_unselect;
- $tree->node_set_pixmap($_, 1, $pix->[0], $pix->[1]) foreach @{$ptree{$_}};
- }
- &$update_size;
- } else {
- $o->ask_warn('', _("You can't select/unselect this package"));
- }
- };
- my $children = sub { map { $packages->{names}{($tree->node_get_pixtext($_, 0))[0]} } gtkctree_children($_[0]) };
- my $toggle = sub {
- if (ref $curr && ! $_[0]) {
- $tree->toggle_expansion($curr);
- } else {
- if (ref $curr) {
- my @l = grep { !pkgs::packageFlagBase($_) } $children->($curr) or return;
- my @unsel = grep { !pkgs::packageFlagSelected($_) } @l;
- my @p = @unsel ?
- @unsel : # not all is selected, select all
- @l;
- $select->(@p);
- $parent = $curr;
- } else {
- my $p = $packages->{names}{$curr} or return;
- if (pkgs::packageFlagBase($p)) {
- return $o->ask_warn('', _("This is a mandatory package, it can't be unselected"));
- } elsif (pkgs::packageFlagInstalled($p)) {
- return $o->ask_warn('', _("You can't unselect this package. It is already installed"));
- } elsif (pkgs::packageFlagUpgrade($p)) {
- if ($::expert) {
- if (pkgs::packageFlagSelected($p)) {
- $o->ask_yesorno('', _("This package must be upgraded\nAre you sure you want to deselect it?")) or return;
- }
- } else {
- return $o->ask_warn('', _("You can't unselect this package. It must be upgraded"));
- }
- }
- $select->($p);
- }
- if (my @l = $children->($parent)) {
- my $nb = grep { pkgs::packageFlagSelected($_) } @l;
- my $pix = $nb==0 ? $pix_unselect : $nb<@l ? $pix_semisele : $pix_selected;
- $tree->node_set_pixmap($parent, 1, $pix->[0], $pix->[1]);
- }
- }
- };
-
- $tree->signal_connect(key_press_event => sub {
- my ($w, $e) = @_;
- my $c = chr($e->{keyval} & 0xff);
- $toggle->(0) if $e->{keyval} >= 0x100 ? $c eq "\r" || $c eq "\x8d" : $c eq ' ';
- 1;
- });
- $tree->signal_connect(tree_select_row => sub {
- Gtk->timeout_remove($idle) if $idle;
-
- if ($_[1]->row->is_leaf) {
- ($curr) = $tree->node_get_pixtext($_[1], 0);
- $parent = $_[1]->row->parent;
- $idle = Gtk->timeout_add(100, $display_info);
- } else {
- $curr = $_[1];
- }
- $toggle->(1) if $_[2] == 1;
- });
- &$update_size;
- $w->main;
-}
-
-#------------------------------------------------------------------------------
-sub beforeInstallPackages {
- my ($o) = @_;
- $o->SUPER::beforeInstallPackages;
- install_any::copy_advertising($o);
-}
-
-#------------------------------------------------------------------------------
-sub installPackages {
- my ($o, $packages) = @_;
-
- my ($current_total_size, $last_size, $nb, $total_size, $start_time, $last_dtime, $trans_progress_total);
-
- my $w = my_gtk->new(_("Installing"));
- $w->sync;
- my $text = new Gtk::Label;
- my ($advertising, $change_time, $i);
- my $show_advertising = bool(@install_any::advertising_images);
- my ($msg, $msg_time_remaining, $msg_time_total) = map { new Gtk::Label($_) } '', (_("Estimating")) x 2;
- my ($progress, $progress_total) = map { new Gtk::ProgressBar } (1..2);
- $w->{rwindow}->set_policy(1, 1, 1);
- gtkadd($w->{window}, my $box = new Gtk::VBox(0,10));
- $box->pack_end(gtkshow(gtkpack(gtkset_usize(new Gtk::VBox(0,5), $::windowwidth * 0.8, 0),
- $msg, $progress,
- create_packtable({},
- [_("Time remaining "), $msg_time_remaining],
-# [_("Total time "), $msg_time_total],
- ),
- $text,
- $progress_total,
- gtkadd(create_hbox(),
- my $cancel = new Gtk::Button(_("Cancel")),
- my $details = new Gtk::Button(_("Details")),
- ),
- )), 0, 1, 0);
- $details->hide if !@install_any::advertising_images;
- $w->sync;
- $msg->set(_("Please wait, preparing installation"));
- gtkset_mousecursor_normal($cancel->window);
- gtkset_mousecursor_normal($details->window);
- my $advertize = sub {
- @install_any::advertising_images or return;
- $show_advertising ? $_->hide : $_->show foreach $msg, $progress, $text;
- gtkdestroy($advertising) if $advertising;
- if ($show_advertising && $_[0]) {
- $change_time = time();
- my $f = $install_any::advertising_images[$i++ % @install_any::advertising_images];
- log::l("advertising $f");
- eval { gtkpack($box, $advertising = gtkpng($f)) };
- } else {
- $advertising = undef;
- }
- };
-
- $cancel->signal_connect(clicked => sub { $pkgs::cancel_install = 1 });
- $details->signal_connect(clicked => sub {
- invbool \$show_advertising;
- $advertize->(1);
- });
- $advertize->();
-
- my $oldInstallCallback = \&pkgs::installCallback;
- local *pkgs::installCallback = sub {
- my $m = shift;
- if ($m =~ /^Starting installation/) {
- $nb = $_[0];
- $total_size = $_[1]; $current_total_size = 0;
- $start_time = time();
- $msg->set(_("%d packages", $nb));
- $w->flush;
- } elsif ($m =~ /^Starting installing package/) {
- $progress->update(0);
- my $name = $_[0];
- $msg->set(_("Installing package %s", $name));
- $current_total_size += $last_size;
- my $p = pkgs::packageByName($o->{packages}, $name);
- $last_size = c::headerGetEntry(pkgs::packageHeader($p), 'size');
- $text->set((split /\n/, c::headerGetEntry(pkgs::packageHeader($p), 'summary'))[0] || '');
- $advertize->(1) if $show_advertising && $total_size > 20 * sqr(1024) && time() - $change_time > 20;
- $w->flush;
- } elsif ($m =~ /^Progressing installing package/) {
- $progress->update($_[2] ? $_[1] / $_[2] : 0);
-
- my $dtime = time() - $start_time;
- my $ratio = $total_size ? ($_[1] + $current_total_size) / $total_size : 0; $ratio >= 1 and $ratio = 1;
- my $total_time = $ratio ? $dtime / $ratio : time();
-
- $progress_total->update($ratio);
- if ($dtime != $last_dtime && $current_total_size > 10 * sqr(1024)) {
- $msg_time_total->set(formatTime(10 * round($total_time / 10) + 10));
- $msg_time_remaining->set(formatTime(10 * round(max($total_time - $dtime, 0) / 10) + 10));
- $last_dtime = $dtime;
- }
- $w->flush;
- } else { unshift @_, $m; goto $oldInstallCallback }
- };
- #- the modification is not local as the box should be living for other package installation.
- undef *install_any::changeMedium;
- *install_any::changeMedium = sub {
- my ($method, $medium) = @_;
-
- #- if not using a cdrom medium, always abort.
- $method eq 'cdrom' and do {
- local $my_gtk::grab = 1;
- my $name = pkgs::mediumDescr($o->{packages}, $medium);
- local $| = 1; print "\a";
- my $time = time();
- my $r = $name !~ /Application/ || ($o->{useless_thing_accepted2} ||= $o->ask_from_list_('', formatAlaTeX(_("
-Warning
-
-Please read carefully the terms below. If you disagree with any
-portion, you are not allowed to install the next CD media. Press 'Refuse'
-to continue the installation without using these media.
-
-
-Some components contained in the next CD media are not governed
-by the GPL License or similar agreements. Each such component is then
-governed by the terms and conditions of its own specific license.
-Please read carefully and comply with such specific licenses before
-you use or redistribute the said components.
-Such licenses will in general prevent the transfer, duplication
-(except for backup purposes), redistribution, reverse engineering,
-de-assembly, de-compilation or modification of the component.
-Any breach of agreement will immediately terminate your rights under
-the specific license. Unless the specific license terms grant you such
-rights, you usually cannot install the programs on more than one
-system, or adapt it to be used on a network. In doubt, please contact
-directly the distributor or editor of the component.
-Transfer to third parties or copying of such components including the
-documentation is usually forbidden.
-
-
-All rights to the components of the next CD media belong to their
-respective authors and are protected by intellectual property and
-copyright laws applicable to software programs.
-")), [ __("Accept"), __("Refuse") ], "Accept") eq "Accept");
- $r &&= $o->ask_okcancel('', _("Change your Cd-Rom!
-
-Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when done.
-If you don't have it, press Cancel to avoid installation from this Cd-Rom.", $name));
- #- add the elapsed time (otherwise the predicted time will be rubbish)
- $start_time += time() - $time;
- $r;
- };
- };
- my $install_result;
- catch_cdie { $install_result = $o->install_steps::installPackages($packages); }
- sub {
- if ($@ =~ /^error ordering package list: (.*)/) {
- $o->ask_yesorno('', [
-_("There was an error ordering packages:"), $1, _("Go on anyway?") ], 1) and return 1;
- ${$_[0]} = "already displayed";
- } elsif ($@ =~ /^error installing package list: (.*)/) {
- $o->ask_yesorno('', [
-_("There was an error installing packages:"), $1, _("Go on anyway?") ], 1) and return 1;
- ${$_[0]} = "already displayed";
- }
- 0;
- };
- if ($pkgs::cancel_install) {
- $pkgs::cancel_install = 0;
- die "setstep choosePackages\n";
- }
- $w->destroy;
- $install_result;
-}
-
-sub set_help {
- my ($o, @l) = @_;
-
- $o->{current_help} = formatAlaTeX(join "\n", map { _ deref($help::steps{$_}) } @l);
- gtktext_insert($o->{help_window_text}, $o->{current_help});
- 1;
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
deleted file mode 100644
index 15b0a50cd..000000000
--- a/perl-install/install_steps_interactive.pm
+++ /dev/null
@@ -1,1203 +0,0 @@
-package install_steps_interactive; # $Id$
-
-
-use diagnostics;
-use strict;
-use vars qw(@ISA $new_bootstrap);
-
-@ISA = qw(install_steps);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :file :functional :system);
-use partition_table qw(:types);
-use partition_table_raw;
-use install_steps;
-use install_interactive;
-use install_any;
-use detect_devices;
-use run_program;
-use devices;
-use fsedit;
-use loopback;
-use mouse;
-use modules;
-use lang;
-use keyboard;
-use any;
-use fs;
-use log;
-
-#-######################################################################################
-#- In/Out Steps Functions
-#-######################################################################################
-sub errorInStep($$) {
- my ($o, $err) = @_;
- $o->ask_warn(_("Error"), [ _("An error occurred"), common::formatError($err) ]);
-}
-
-sub kill_action {
- my ($o) = @_;
- $o->kill;
-}
-
-sub charsetChanged {}
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-#------------------------------------------------------------------------------
-sub selectLanguage {
- my ($o) = @_;
-
- $o->ask_from_entries_refH_powered(
- { messages => _("Please, choose a language to use."),
- advanced_messages => _("You can choose other languages that will be available after install"),
- callbacks => {
- focus_out => sub { $o->{langs}{$o->{lang}} = 1 },
- },
- },
- [ { val => \$o->{lang}, separator => '|',
- format => \&lang::lang2text, list => [ lang::list() ] },
- (map {;
- { val => \$o->{langs}{$_->[0]}, type => 'bool', disabled => sub { $o->{langs}{all} },
- text => $_->[1], advanced => 1,
- }
- } sort { $a->[1] cmp $b->[1] } map { [ $_, lang::lang2text($_) ] } lang::list()),
- { val => \$o->{langs}{all}, type => 'bool', text => _("All"), advanced => 1 }
- ]);
-
- install_steps::selectLanguage($o);
-
- $o->charsetChanged;
-
- $o->ask_warn('',
-"If you see this message it is because you choose a language for " .
-"which DrakX does not include a translation yet; however the fact " .
-"that it is listed means there is some support for it anyway.\n" .
-"That is, once GNU/Linux will be installed, you will be able to at " .
-"least read and write in that language; and possibly more (various " .
-"fonts, spell checkers, various programs translated etc. that " .
-"varies from language to language).") if $o->{lang} !~ /^en/ && translate("_I18N_");
-
- unless ($o->{useless_thing_accepted}) {
- $o->set_help('license');
- $o->{useless_thing_accepted} = $o->ask_from_list_(_("License agreement"), formatAlaTeX(
-_("Introduction
-
-The operating system and the different components available in the Linux-Mandrake distribution
-shall be called the \"Software Products\" hereafter. The Software Products include, but are not
-restricted to, the set of programs, methods, rules and documentation related to the operating
-system and the different components of the Linux-Mandrake distribution.
-
-
-1. License Agreement
-
-Please read carefully this document. This document is a license agreement between you and
-MandrakeSoft S.A. which applies to the Software Products.
-By installing, duplicating or using the Software Products in any manner, you explicitly
-accept and fully agree to conform to the terms and conditions of this License.
-If you disagree with any portion of the License, you are not allowed to install, duplicate or use
-the Software Products.
-Any attempt to install, duplicate or use the Software Products in a manner which does not comply
-with the terms and conditions of this License is void and will terminate your rights under this
-License. Upon termination of the License, you must immediately destroy all copies of the
-Software Products.
-
-
-2. Limited Warranty
-
-The Software Products and attached documentation are provided \"as is\", with no warranty, to the
-extent permitted by law.
-MandrakeSoft S.A. will, in no circumstances and to the extent permitted by law, be liable for any special,
-incidental, direct or indirect damages whatsoever (including without limitation damages for loss of
-business, interruption of business, financial loss, legal fees and penalties resulting from a court
-judgment, or any other consequential loss) arising out of the use or inability to use the Software
-Products, even if MandrakeSoft S.A. has been advised of the possibility or occurance of such
-damages.
-
-LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME COUNTRIES
-
-To the extent permitted by law, MandrakeSoft S.A. or its distributors will, in no circumstances, be
-liable for any special, incidental, direct or indirect damages whatsoever (including without
-limitation damages for loss of business, interruption of business, financial loss, legal fees
-and penalties resulting from a court judgment, or any other consequential loss) arising out
-of the possession and use of software components or arising out of downloading software components
-from one of Linux-Mandrake sites which are prohibited or restricted in some countries by local laws.
-This limited liability applies to, but is not restricted to, the strong cryptography components
-included in the Software Products.
-
-
-3. The GPL License and Related Licenses
-
-The Software Products consist of components created by different persons or entities. Most
-of these components are governed under the terms and conditions of the GNU General Public
-Licence, hereafter called \"GPL\", or of similar licenses. Most of these licenses allow you to use,
-duplicate, adapt or redistribute the components which they cover. Please read carefully the terms
-and conditions of the license agreement for each component before using any component. Any question
-on a component license should be addressed to the component author and not to MandrakeSoft.
-The programs developed by MandrakeSoft S.A. are governed by the GPL License. Documentation written
-by MandrakeSoft S.A. is governed by a specific license. Please refer to the documentation for
-further details.
-
-
-4. Intellectual Property Rights
-
-All rights to the components of the Software Products belong to their respective authors and are
-protected by intellectual property and copyright laws applicable to software programs.
-MandrakeSoft S.A. reserves its rights to modify or adapt the Software Products, as a whole or in
-parts, by all means and for all purposes.
-\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of MandrakeSoft S.A.
-
-
-5. Governing Laws
-
-If any portion of this agreement is held void, illegal or inapplicable by a court judgment, this
-portion is excluded from this contract. You remain bound by the other applicable sections of the
-agreement.
-The terms and conditions of this License are governed by the Laws of France.
-All disputes on the terms of this license will preferably be settled out of court. As a last
-resort, the dispute will be referred to the appropriate Courts of Law of Paris - France.
-For any question on this document, please contact MandrakeSoft S.A.
-")), [ __("Accept"), __("Refuse") ], "Accept") eq "Accept" or $o->exit;
- }
-}
-#------------------------------------------------------------------------------
-sub selectKeyboard {
- my ($o, $clicked) = @_;
-
- my $l = keyboard::lang2keyboards($o->{lang});
-
- #- good guess, don't ask
- return if !$::expert && !$clicked && $l->[0][1] > 90;
-
- my @best = map { $_->[0] } @$l;
- push @best, 'us_intl' if !member('us_intl', @best);
-
- my $format = sub { translate(keyboard::keyboard2text($_[0])) };
- my $other;
- my $ext_keyboard = $o->{keyboard};
- $o->ask_from_entries_refH_powered(
- { title => _("Keyboard"),
- messages => _("Please, choose your keyboard layout."),
- advanced_messages => _("Here is the full list of keyboards available"),
- advanced_label => _("More"),
- callbacks => { changed => sub { $other = $_[0]==1 } },
- },
- [ if_(@best > 1, { val => \$o->{keyboard}, type => 'list', format => $format,
- list => [ @best ] }),
- { val => \$ext_keyboard, type => 'list', format => $format,
- list => [ keyboard::keyboards ], advanced => @best > 1 }
- ]);
- delete $o->{keyboard_unsafe};
-
- $o->{keyboard} = $ext_keyboard if $other;
- install_steps::selectKeyboard($o);
-}
-#------------------------------------------------------------------------------
-sub selectInstallClass1 {
- my ($o, $verif, $l, $def, $l2, $def2) = @_;
- $verif->($o->ask_from_list(_("Install Class"), _("Which installation class do you want?"), $l, $def) || die 'already displayed');
-
- $::live ? 'Update' : $o->ask_from_list_(_("Install/Update"), _("Is this an install or an update?"), $l2, $def2);
-}
-
-#------------------------------------------------------------------------------
-sub selectInstallClass {
- my ($o, $clicked) = @_;
-
- my %c = my @c = (
- if_(!$::corporate,
- _("Recommended") => "beginner",
- ),
- if_($o->{meta_class} ne 'desktop',
- _("Expert") => "expert",
- ),
- );
- %c = @c = (_("Expert") => "expert") if $::expert && !$clicked;
-
- $o->set_help('selectInstallClassCorpo') if $::corporate;
-
- my $verifInstallClass = sub { $::expert = $c{$_[0]} eq "expert" };
-
- $o->{isUpgrade} = $o->selectInstallClass1($verifInstallClass,
- first(list2kv(@c)), ${{reverse %c}}{$::expert ? "expert" : "beginner"},
- [ __("Install"), __("Update") ], $o->{isUpgrade} ? "Update" : "Install") eq "Update";
- install_steps::selectInstallClass($o);
-}
-
-#------------------------------------------------------------------------------
-sub selectMouse {
- my ($o, $force) = @_;
-
- $force ||= $o->{mouse}{unsafe} || $::expert;
-
- my $prev = $o->{mouse}{type} . '|' . $o->{mouse}{name};
- $o->{mouse} = mouse::fullname2mouse(
- $o->ask_from_treelist_('', _("Please, choose the type of your mouse."),
- '|', [ mouse::fullnames ], $prev)) if $force;
-
- if ($force && $o->{mouse}{type} eq 'serial') {
- $o->set_help('selectSerialPort');
- $o->{mouse}{device} =
- $o->ask_from_listf(_("Mouse Port"),
- _("Please choose on which serial port your mouse is connected to."),
- \&mouse::serial_port2text,
- [ mouse::serial_ports ]) or return;
- }
- if (arch() =~ /ppc/ && $o->{mouse}{nbuttons} == 1) {
- #- set a sane default F11/F12
- $o->{mouse}{button2_key} = 87;
- $o->{mouse}{button3_key} = 88;
- $o->ask_from_entries_refH('', _("Buttons emulation"),
- [
- { label => _("Button 2 Emulation"), val => \$o->{mouse}{button2_key}, list => [ mouse::ppc_one_button_keys() ], format => \&mouse::ppc_one_button_key2text },
- { label => _("Button 3 Emulation"), val => \$o->{mouse}{button3_key}, list => [ mouse::ppc_one_button_keys() ], format => \&mouse::ppc_one_button_key2text },
- ]) or return;
- }
-
- any::setup_thiskind($o, 'usb', !$::expert, 0, $o->{pcmcia}) if $o->{mouse}{device} eq "usbmouse";
- eval {
- devices::make("usbmouse");
- modules::load("usbmouse");
- modules::load("mousedev");
- } if $o->{mouse}{device} eq "usbmouse";
-
- $o->SUPER::selectMouse;
-}
-#------------------------------------------------------------------------------
-sub setupSCSI {
- my ($o, $clicked) = @_;
-
- if (!$::noauto && arch() =~ /i.86/) {
- if ($o->{pcmcia} ||= !$::testing && c::pcmcia_probe()) {
- my $w = $o->wait_message(_("PCMCIA"), _("Configuring PCMCIA cards..."));
- modules::configure_pcmcia($o->{pcmcia});
- }
- }
- {
- my $w = $o->wait_message(_("IDE"), _("Configuring IDE"));
- modules::load_ide();
- }
- any::setup_thiskind($o, 'scsi|disk', !$::expert && !$clicked, $clicked, $o->{pcmcia});
-
- install_interactive::tellAboutProprietaryModules($o) if !$clicked;
-}
-
-sub ask_mntpoint_s {
- my ($o, $fstab) = @_;
- $o->set_help('ask_mntpoint_s');
-
- my @fstab = grep { isTrueFS($_) } @$fstab;
- @fstab = grep { isSwap($_) } @$fstab if @fstab == 0;
- @fstab = @$fstab if @fstab == 0;
- die _("no available partitions") if @fstab == 0;
-
- {
- my $w = $o->wait_message('', _("Scanning partitions to find mount points"));
- install_any::suggest_mount_points($fstab, $o->{prefix}, 'uniq');
- log::l("default mntpoint $_->{mntpoint} $_->{device}") foreach @fstab;
- }
- if (@fstab == 1) {
- $fstab[0]{mntpoint} = '/';
- } else {
- $o->ask_from_entries_refH('',
- _("Choose the mount points"),
- [ map { { label => partition_table_raw::description($_),
- val => \$_->{mntpoint}, not_edit => 0, list => [ '', fsedit::suggestions_mntpoint([]) ] }
- } @fstab ]) or return;
- }
- $o->SUPER::ask_mntpoint_s($fstab);
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisks {
- my ($o) = @_;
-
- my $warned;
- install_any::getHds($o, sub {
- my ($err) = @_;
- $warned = 1;
- if ($o->ask_yesorno(_("Error"),
-_("I can't read your partition table, it's too corrupted for me :(
-I can try to go on blanking bad partitions (ALL DATA will be lost!).
-The other solution is to disallow DrakX to modify the partition table.
-(the error is %s)
-
-Do you agree to loose all the partitions?
-", $err))) {
- 0;
- } else {
- $o->{partitioning}{readonly} = 1;
- 1;
- }
- }) or $warned or $o->ask_warn('',
-_("DiskDrake failed to read correctly the partition table.
-Continue at your own risk!"));
-
- if (arch() =~ /ppc/) { #- need to make bootstrap part if recommended install - thx Pixel ;^)
- if (defined $partition_table_mac::bootstrap_part) {
- #- don't do anything if we've got the bootstrap setup
- #- otherwise, go ahead and create one somewhere in the drive free space
- } else {
- if (defined $partition_table_mac::freepart_start && $partition_table_mac::freepart_size >= 1) {
- my ($hd) = $partition_table_mac::freepart_device;
- log::l("creating bootstrap partition on drive /dev/$hd->{device}, block $partition_table_mac::freepart_start");
- $partition_table_mac::bootstrap_part = $partition_table_mac::freepart_part;
- log::l("bootstrap now at $partition_table_mac::bootstrap_part");
- fsedit::add($hd, { start => $partition_table_mac::freepart_start, size => 1 << 11, type => 0x401, mntpoint => '' }, $o->{hds}, { force => 1, primaryOrExtended => 'Primary' });
- $new_bootstrap = 1;
- } else {
- die "no free space for 1MB bootstrap";
- }
- }
- }
-
- if ($o->{isUpgrade}) {
- # either one root is defined (and all is ok), or we take the first one we find
- my $p =
- fsedit::get_root_($o->{fstab}) ||
- $o->ask_from_listf(_("Root Partition"),
- _("What is the root partition (/) of your system?"),
- \&partition_table_raw::description,
- [ install_any::find_root_parts($o->{fstab}, $o->{prefix}) ]) or die "setstep exitInstall\n";
- install_any::use_root_part($o->{fstab}, $p, $o->{prefix});
- } elsif ($::expert && ref($o) =~ /gtk/) {
- install_interactive::partition_with_diskdrake($o, $o->{hds});
- } else {
- install_interactive::partitionWizard($o);
- }
-}
-
-#------------------------------------------------------------------------------
-sub rebootNeeded {
- my ($o) = @_;
- $o->ask_warn('', _("You need to reboot for the partition table modifications to take place"));
-
- install_steps::rebootNeeded($o);
-}
-
-#------------------------------------------------------------------------------
-sub choosePartitionsToFormat {
- my ($o, $fstab) = @_;
-
- $o->SUPER::choosePartitionsToFormat($fstab);
-
- my @l = grep { !$_->{isMounted} && !$_->{isFormatted} && $_->{mntpoint} && (!isSwap($_) || $::expert) &&
- (!isOtherAvailableFS($_) || $::expert || $_->{toFormat})
- } @$fstab;
- $_->{toFormat} = 1 foreach grep { isSwap($_) && !$::expert } @$fstab;
-
- return if @l == 0 || !$::expert && 0 == grep { ! $_->{toFormat} } @l;
-
- my $name2label = sub {
- sprintf("%s %s", isSwap($_) ? type2name($_->{type}) : $_->{mntpoint},
- isLoopback($_) ? $::expert && loopback::file($_) : partition_table_raw::description($_));
- };
-
- #- keep it temporary until the guy has accepted
- $_->{toFormatTmp} = $_->{toFormat} || $_->{toFormatUnsure} foreach @l;
-
- $o->ask_from_entries_refH_powered(
- { messages => _("Choose the partitions you want to format"),
- advanced_messages => _("Check bad blocks?"),
- },
- [ map {
- my $e = $_;
- ({
- text => $name2label->($e), type => 'bool',
- val => \$e->{toFormatTmp}
- }, if_(!isLoopback($_) && !isReiserfs($_), {
- text => $name2label->($e), type => 'bool', advanced => 1,
- disabled => sub { !$e->{toFormatTmp} },
- val => \$e->{toFormatCheck}
- })) } @l ]
- ) or die 'already displayed';
- #- ok now we can really set toFormat
- $_->{toFormat} = delete $_->{toFormatTmp} foreach @l;
-}
-
-
-sub formatMountPartitions {
- my ($o, $fstab) = @_;
- my $w;
- fs::formatMount_all($o->{raid}, $o->{fstab}, $o->{prefix}, sub {
- my ($part) = @_;
- $w ||= $o->wait_message('', _("Formatting partitions"));
- $w->set(isLoopback($part) ?
- _("Creating and formatting file %s", loopback::file($part)) :
- _("Formatting partition %s", $part->{device}));
- });
- die _("Not enough swap to fulfill installation, please add some") if availableMemory < 40 * 1024;
-}
-
-#------------------------------------------------------------------------------
-sub setPackages {
- my ($o) = @_;
- my $w = $o->wait_message('', _("Looking for available packages"));
- $o->SUPER::setPackages;
-}
-#------------------------------------------------------------------------------
-sub selectPackagesToUpgrade {
- my ($o) = @_;
- my $w = $o->wait_message('', _("Finding packages to upgrade"));
- $o->SUPER::selectPackagesToUpgrade();
-}
-#------------------------------------------------------------------------------
-sub choosePackages {
- my ($o, $packages, $compssUsers, $first_time) = @_;
-
- #- this is done at the very beginning to take into account
- #- selection of CD by user if using a cdrom.
- $o->chooseCD($packages) if $o->{method} eq 'cdrom';
-
- my $availableC = install_steps::choosePackages(@_);
- my $individual = $::expert;
-
- require pkgs;
-
- my $min_size = pkgs::selectedSize($packages);
- $min_size < $availableC or die _("Your system has not enough space left for installation or upgrade (%d > %d)", $min_size, $availableC);
-
- my $min_mark = $::expert ? 3 : 4;
- my $def_mark = 4; #-TODO: was 59, 59 is for packages that need gl hw acceleration.
-
- my $b = pkgs::saveSelected($packages);
- pkgs::setSelectedFromCompssList($packages, $o->{compssUsersChoice}, $def_mark, 0);
- my $def_size = pkgs::selectedSize($packages) + 1; #- avoid division by zero.
- my $level = pkgs::setSelectedFromCompssList($packages, { map { $_ => 1 } map { @{$compssUsers->{$_}{flags}} } @{$o->{compssUsersSorted}} }, $min_mark, 0);
- my $max_size = pkgs::selectedSize($packages) + 1; #- avoid division by zero.
- pkgs::restoreSelected($b);
-
- $o->chooseGroups($packages, $compssUsers, $min_mark, \$individual, $max_size) if !$::corporate;
-
- my $size2install = min($availableC, do {
- my $max = round_up(min($max_size, $availableC) / sqr(1024), 100);
-
- if (1) {
- my (@l);
- my @text = (__("Minimum (%dMB)"), __("Recommended (%dMB)"), __("Complete (%dMB)"));
- if ($o->{meta_class} eq 'desktop') {
- @l = (300, 500, 800, 0);
- $max > $l[2] or splice(@l, 2, 1);
- $max > $l[1] or splice(@l, 1, 1);
- $max > $l[0] or @l = $max;
- $text[$#l] = __("Custom");
- } else {
- @l = (300, 700, $max);
- $l[2] > $l[1] + 200 or splice(@l, 1, 1); #- not worth proposing too alike stuff
- $l[1] > $l[0] + 100 or splice(@l, 0, 1);
- }
- $o->set_help('empty');
-# $o->ask_from_listf('', _("Select the size you want to install"),
-# sub { _ ($text[$_[0]], $_[0]) }, \@l, $l[1]) * sqr(1024);
- $max * sqr(1024);
- } else {
- $o->chooseSizeToInstall($packages, $min_size, $def_size, $max_size, $availableC, $individual) || goto &choosePackages;
- }
- });
- if (!$size2install) { #- special case for desktop
- $o->chooseGroups($packages, $compssUsers, $min_mark) or goto &choosePackages;
- $size2install = $availableC;
- }
-
- ($o->{packages_}{ind}) =
- pkgs::setSelectedFromCompssList($packages, $o->{compssUsersChoice}, $min_mark, $size2install);
-
- $o->choosePackagesTree($packages) if $individual;
-
- install_any::warnAboutNaughtyServers($o);
-}
-
-sub chooseSizeToInstall {
- my ($o, $packages, $min, $def, $max, $availableC) = @_;
- min($def, $availableC * 0.7);
-}
-sub choosePackagesTree {
- my ($o, $packages) = @_;
-
- $o->ask_many_from_list('', _("Choose the packages you want to install"),
- {
- list => [ #grep { pkgs::packageMedium($_)->{selected} }
- map { pkgs::packageByName($packages, $_) }
- keys %{$packages->{names}} ],
- value => \&pkgs::packageFlagSelected,
- label => \&pkgs::packageName,
- sort => 1,
- });
-}
-
-sub chooseGroups {
- my ($o, $packages, $compssUsers, $min_level, $individual, $max_size) = @_;
-
- my $b = pkgs::saveSelected($packages);
- install_any::unselectMostPackages($o);
- pkgs::setSelectedFromCompssList($packages, {}, $min_level, $max_size);
- my $system_size = pkgs::selectedSize($packages);
- my ($sizes, $pkgs) = pkgs::computeGroupSize($packages, $min_level);
- pkgs::restoreSelected($b);
- log::l("system_size: $system_size");
-
- my @groups = @{$o->{compssUsersSorted}};
- my %stable_flags = grep_each { $::b } %{$o->{compssUsersChoice}};
- delete $stable_flags{$_} foreach map { @{$compssUsers->{$_}{flags}} } @groups;
-
- my $compute_size = sub {
- my %pkgs;
- my %flags = %stable_flags; @flags{@_} = ();
- my $total_size;
- A: while (my ($k, $size) = each %$sizes) {
- Or: foreach (split "\t", $k) {
- foreach (split "&&") {
- exists $flags{$_} or next Or;
- }
- $total_size += $size;
- $pkgs{$_} = 1 foreach @{$pkgs->{$k}};
- next A;
- }
- }
- log::l("computed size $total_size");
- log::l("chooseGroups: ", join(" ", sort keys %pkgs));
-
- int $total_size;
- };
- my %val = map {
- $_ => ! grep { ! $o->{compssUsersChoice}{$_} } @{$compssUsers->{$_}{flags}}
- } @groups;
-
-# @groups = grep { $size{$_} = round_down($size{$_} / sqr(1024), 10) } @groups; #- don't display the empty or small one (eg: because all packages are below $min_level)
- my ($all, $size);
- my $available_size = install_any::getAvailableSpace($o) / sqr(1024);
- my $size_to_display = sub {
- my $lsize = $system_size + $compute_size->(map { @{$compssUsers->{$_}{flags}} } grep { $val{$_} } @groups);
-
- #- if a profile is deselected, deselect everything (easier than deselecting the profile packages)
- $size > $lsize and install_any::unselectMostPackages($o);
- $size = $lsize;
- _("Total size: %d / %d MB", pkgs::correctSize($size / sqr(1024)), $available_size);
- };
-
- while (1) {
- $o->reallyChooseGroups($size_to_display, $individual, \%val) or return;
- last if pkgs::correctSize($size / sqr(1024)) < $available_size;
-
- $o->ask_warn('', _("Selected size is larger than available space"));
- }
-
- $o->{compssUsersChoice}{$_} = 0 foreach map { @{$compssUsers->{$_}{flags}} } grep { !$val{$_} } keys %val;
- $o->{compssUsersChoice}{$_} = 1 foreach map { @{$compssUsers->{$_}{flags}} } grep { $val{$_} } keys %val;
- 1;
-}
-
-sub reallyChooseGroups {
- my ($o, $size_to_display, $individual, $val) = @_;
-
- my $size_text = &$size_to_display;
-
- my ($path, $all);
- $o->ask_from_entries_refH('', _("Package Group Selection"), [
- { val => \$size_text, type => 'label' }, {},
- (map {;
- my $old = $path;
- $path = $o->{compssUsers}{$_}{path};
- if_($old ne $path, { val => translate($path) }),
- {
- val => \$val->{$_},
- type => 'bool',
- disabled => sub { $all },
- text => translate($o->{compssUsers}{$_}{label}),
- help => translate($o->{compssUsers}{$_}{descr}),
- }
- } @{$o->{compssUsersSorted}}),
- if_($o->{meta_class} eq 'desktop', { text => _("All"), val => \$all, type => 'bool' }),
- if_($individual, { text => _("Individual package selection"), val => $individual, advanced => 1, type => 'bool' }),
- ], changed => sub { $size_text = &$size_to_display }) or return;
-
- if ($all) {
- $val->{$_} = 1 foreach keys %$val;
- }
- 1;
-}
-
-sub chooseCD {
- my ($o, $packages) = @_;
- my @mediums = grep { $_ != $install_any::boot_medium } pkgs::allMediums($packages);
- my @mediumsDescr = ();
- my %mediumsDescr = ();
-
- if (isCdNotEjectable()) {
- #- mono-cd in case of no ramdisk
- undef $packages->{mediums}{$_}{selected} foreach @mediums;
- log::l("low memory install, using single CD installation (as it is not ejectable)");
- return;
- }
-
- #- if no other medium available or a poor beginner, we are choosing for him!
- #- note first CD is always selected and should not be unselected!
- return if @mediums == () || !$::expert;
-
- #- build mediumDescr according to mediums, this avoid asking multiple times
- #- all the medium grouped together on only one CD.
- foreach (@mediums) {
- my $descr = pkgs::mediumDescr($packages, $_);
- exists $mediumsDescr{$descr} or push @mediumsDescr, $descr;
- $mediumsDescr{$descr} ||= $packages->{mediums}{$_}{selected};
- }
-
- $o->set_help('chooseCD');
- $o->ask_many_from_list('',
-_("If you have all the CDs in the list below, click Ok.
-If you have none of those CDs, click Cancel.
-If only some CDs are missing, unselect them, then click Ok."),
- {
- list => \@mediumsDescr,
- label => sub { _("Cd-Rom labeled \"%s\"", $_[0]) },
- val => sub { \$mediumsDescr{$_[0]} },
- }) or do {
- $mediumsDescr{$_} = 0 foreach @mediumsDescr; #- force unselection of other CDs.
- };
- $o->set_help('choosePackages');
-
- #- restore true selection of medium (which may have been grouped together)
- foreach (@mediums) {
- my $descr = pkgs::mediumDescr($packages, $_);
- $packages->{mediums}{$_}{selected} = $mediumsDescr{$descr};
- log::l("select status of medium $_ is $packages->{mediums}{$_}{selected}");
- }
-}
-
-#------------------------------------------------------------------------------
-sub installPackages {
- my ($o, $packages) = @_;
- my ($current, $total) = 0;
-
- my $w = $o->wait_message(_("Installing"), _("Preparing installation"));
-
- my $old = \&pkgs::installCallback;
- local *pkgs::installCallback = sub {
- my $m = shift;
- if ($m =~ /^Starting installation/) {
- $total = $_[1];
- } elsif ($m =~ /^Starting installing package/) {
- my $name = $_[0];
- $w->set(_("Installing package %s\n%d%%", $name, $total && 100 * $current / $total));
- $current += pkgs::packageSize(pkgs::packageByName($o->{packages}, $name));
- } else { unshift @_, $m; goto $old }
- };
- $o->SUPER::installPackages($packages);
-}
-
-sub afterInstallPackages($) {
- my ($o) = @_;
- my $w = $o->wait_message('', _("Post-install configuration"));
- $o->SUPER::afterInstallPackages($o);
-}
-
-#------------------------------------------------------------------------------
-sub configureNetwork {
- my ($o, $first_time) = @_;
- require netconnect;
- netconnect::main($o->{prefix}, $o->{netcnx} ||= {}, $o->{netc}, $o->{mouse}, $o, $o->{intf},
- sub { $o->pkg_install(@_) }, $first_time, $o->{lang} eq "fr_FR" && $o->{keyboard} eq "fr");
-}
-
-#-configureNetworkIntf moved to network
-
-#-configureNetworkNet moved to network
-#------------------------------------------------------------------------------
-#-pppConfig moved to any.pm
-#------------------------------------------------------------------------------
-sub installCrypto {
- my ($o) = @_;
- my $u = $o->{crypto} ||= {};
-
- $::expert and $o->hasNetwork or return;
-
- is_empty_hash_ref($u) and $o->ask_yesorno('',
-_("You have now the possibility to download software aimed for encryption.
-
-WARNING:
-
-Due to different general requirements applicable to these software and imposed
-by various jurisdictions, customer and/or end user of theses software should
-ensure that the laws of his/their jurisdiction allow him/them to download, stock
-and/or use these software.
-
-In addition customer and/or end user shall particularly be aware to not infringe
-the laws of his/their jurisdiction. Should customer and/or end user not
-respect the provision of these applicable laws, he/they will incure serious
-sanctions.
-
-In no event shall Mandrakesoft nor its manufacturers and/or suppliers be liable
-for special, indirect or incidental damages whatsoever (including, but not
-limited to loss of profits, business interruption, loss of commercial data and
-other pecuniary losses, and eventual liabilities and indemnification to be paid
-pursuant to a court decision) arising out of use, possession, or the sole
-downloading of these software, to which customer and/or end user could
-eventually have access after having sign up the present agreement.
-
-
-For any queries relating to these agreement, please contact
-Mandrakesoft, Inc.
-2400 N. Lincoln Avenue Suite 243
-Altadena California 91001
-USA")) || return;
-
- require crypto;
- eval {
- $u->{mirror} = $o->ask_from_listf('',
- _("Choose a mirror from which to get the packages"),
- \&crypto::mirror2text,
- [ crypto::mirrors() ],
- $u->{mirror});
- };
- return if $@;
-
- #- bring all interface up for installing crypto packages.
- install_interactive::upNetwork($o);
-
- my @packages = do {
- my $w = $o->wait_message('', _("Contacting the mirror to get the list of available packages"));
- crypto::getPackages($o->{prefix}, $o->{packages}, $u->{mirror}); #- make sure $o->{packages} is defined when testing
- };
- $u->{packages} = $o->ask_many_from_list('', _("Please choose the packages you want to install."), { list => \@packages, values => $u->{packages} }) or return;
- $o->pkg_install(@{$u->{packages}});
-
- #- stop interface using ppp only.
- install_interactive::downNetwork($o, 'pppOnly');
-}
-
-#------------------------------------------------------------------------------
-sub configureTimezone {
- my ($o, $clicked) = @_;
-
- require timezone;
- $o->{timezone}{timezone} = $o->ask_from_treelist('', _("Which is your timezone?"), '/', [ timezone::getTimeZones($::g_auto_install ? '' : $o->{prefix}) ], $o->{timezone}{timezone});
- $o->set_help('configureTimezoneGMT');
- $o->{timezone}{UTC} = $o->ask_yesorno('', _("Is your hardware clock set to GMT?"), $o->{timezone}{UTC}) if $::expert || $clicked;
- install_steps::configureTimezone($o);
-}
-
-#------------------------------------------------------------------------------
-sub configureServices {
- my ($o, $clicked) = @_;
- require services;
- $o->{services} = services::ask($o, $o->{prefix}) if $::expert || $clicked;
- install_steps::configureServices($o);
-}
-
-sub summary {
- my ($o, $first_time) = @_;
-
- if ($first_time) {
- #- auto-detection
- $o->configurePrinter(0) if !$::expert;
- install_any::preConfigureTimezone($o);
- }
- my $mouse_name;
- my $format_mouse = sub { $mouse_name = translate($o->{mouse}{type}) . ' ' . translate($o->{mouse}{name}) };
- &$format_mouse;
-
- #- format printer description in a better way according to CUPS/LPR used.
- my $format_printers = sub {
- my ($printer) = @_;
- if (is_empty_hash_ref($printer->{configured})) {
- pkgs::packageFlagInstalled(pkgs::packageByName($o->{packages}, 'cups')) and return _("Remote CUPS server");
- return _("No printer");
- }
- my $entry = $printer->{configured}{$printer->{QUEUE}} || (values %{$printer->{configured}})[0];
- for ($entry->{mode}) {
- /CUPS/ and return $entry->{cupsDescr};
- /lpr/ and return $entry->{DBENTRY};
- die "unknown entry for printer $entry->{QUEUE}";
- }
- };
-
- $o->ask_from_entries_refH_powered({
- messages => _("Summary"),
- cancel => '',
- }, [
-{ label => _("Mouse"), val => \$mouse_name, clicked => sub { $o->selectMouse(1); mouse::write($o->{prefix}, $o->{mouse}); &$format_mouse } },
-{ label => _("Keyboard"), val => \$o->{keyboard}, clicked => sub { $o->selectKeyboard(1) }, format => sub { translate(keyboard::keyboard2text($_[0])) } },
-{ label => _("Timezone"), val => \$o->{timezone}{timezone}, clicked => sub { $o->configureTimezone(1) } },
-{ label => _("Printer"), val => \$o->{printer}, clicked => sub { $o->configurePrinter(1) }, format => $format_printers },
- (map {
-{ label => _("ISDN card"), val => $_->{description}, clicked => sub { $o->configureNetwork } }
- } grep { $_->{driver} eq 'hisax' } detect_devices::probeall()),
- (map {
-{ label => _("Sound card"), val => $_->{description} }
- } arch() !~ /ppc/ ? modules::get_that_type('sound') : modules::load_thiskind('sound')),
- (map {
-{ label => _("TV card"), val => $_->{description} }
- } grep { $_->{driver} eq 'bttv' } detect_devices::probeall()),
-]);
-}
-
-#------------------------------------------------------------------------------
-sub configurePrinter {
- my ($o, $clicked) = @_;
- $::corporate && !$clicked and return;
-
- require printer;
- require printerdrake;
-
- #- try to determine if a question should be asked to the user or
- #- if he is autorized to configure multiple queues.
- my $ask_multiple_printer = !$::expert && !$clicked ? scalar(printerdrake::auto_detect($o)) : 2;
- $ask_multiple_printer-- or return;
-
- #- take default configuration, this include choosing the right system
- #- currently used by the system.
- my $printer = $o->{printer} ||= {};
- eval { add2hash($printer, printer::getinfo($o->{prefix})) };
-
- #- figure out what printing system to use, currently are suported cups and lpr,
- #- in case this has not be detected above.
- $::expert or $printer->{mode} ||= 'CUPS';
- if ($::expert || !$printer->{mode}) {
- $o->set_help('configurePrinterSystem');
- $o->ask_from_entries_refH_powered(
- {
- messages => _("Which printing system do you want to use?"),
- }, [ { val => \$printer->{mode}, list => [ 'CUPS', 'lpr' ] } ]
- ) or $printer->{mode} = undef, $printer->{want} = undef, return;
- $printer->{want} = 1;
- $o->set_help('configurePrinter');
- }
-
- $printer->{PAPERSIZE} = $o->{lang} eq 'en' ? 'letter' : 'a4';
- printerdrake::main($printer, $o, $ask_multiple_printer,
- sub { $o->pkg_install(@_) }, sub { install_interactive::upNetwork($o, 'pppAvoided') });
-
- if (!is_empty_hash_ref($printer->{configured}) || pkgs::packageFlagInstalled(pkgs::packageByName($o->{packages}, 'cups'))) {
- $o->pkg_install_if_requires_satisfied('Mesa-common', 'xpp', 'libqtcups2', 'qtcups', 'kups')
- and run_program::rooted($o->{prefix}, "update-menus");
- }
-}
-
-#------------------------------------------------------------------------------
-sub setRootPassword {
- my ($o, $clicked) = @_;
- my $sup = $o->{superuser} ||= {};
- my $nis = $o->{authentication}{NIS};
- $sup->{password2} ||= $sup->{password} ||= "";
-
- return if $o->{security} < 1 && !$clicked;
-
- $::isInstall and $o->set_help("setRootPassword",
- if_($::expert, "setRootPasswordMd5"),
- if_($::expert, "setRootPasswordNIS"));
-
- $o->ask_from_entries_refH_powered(
- {
- title => _("Set root password"),
- messages => _("Set root password"),
- cancel => ($o->{security} <= 2 && !$::corporate ? _("No password") : ''),
- callbacks => {
- complete => sub {
- $sup->{password} eq $sup->{password2} or $o->ask_warn('', [ _("The passwords do not match"), _("Please try again") ]), return (1,1);
- length $sup->{password} < 2 * $o->{security}
- and $o->ask_warn('', _("This password is too simple (must be at least %d characters long)", 2 * $o->{security})), return (1,0);
- return 0
- } } }, [
-{ label => _("Password"), val => \$sup->{password}, hidden => 1 },
-{ label => _("Password (again)"), val => \$sup->{password2}, hidden => 1 },
- if_($::expert,
-{ label => _("Use NIS"), val => \$nis, type => 'bool', text => _("yellow pages") },
- ),
- ]) or return;
-
- if ($nis) {
- $o->{authentication}{NIS} ||= 'broadcast';
- $o->ask_from_entries_refH('',
- _("Authentification NIS"),
- [ { label => _("NIS Domain"), val => \ ($o->{netc}{NISDOMAIN} ||= $o->{netc}{DOMAINNAME}) },
- { label => _("NIS Server"), val => \$o->{authentication}{NIS}, list => ["broadcast"], not_edit => 0 },
- ]);
- } else { $o->{authentication}{NIS} = '' }
- install_steps::setRootPassword($o);
-}
-
-#------------------------------------------------------------------------------
-#-addUser
-#------------------------------------------------------------------------------
-sub addUser {
- my ($o, $clicked) = @_;
- $o->{users} ||= [];
-
- if ($o->{security} < 1) {
- push @{$o->{users}}, { password => 'mandrake', realname => 'default', icon => 'automagic' }
- if !member('mandrake', map { $_->{name} } @{$o->{users}});
- }
- if (($o->{security} >= 1 || $clicked)) {
- any::ask_users($o->{prefix}, $o, $o->{users}, $o->{security});
- }
- any::get_autologin($o->{prefix}, $o);
- any::autologin($o->{prefix}, $o, $o);
-
- install_steps::addUser($o);
-}
-
-#------------------------------------------------------------------------------
-sub createBootdisk {
- my ($o, $first_time) = @_;
-
- return if $first_time && !$::expert;
-
- if (arch() =~ /sparc/) {
- #- as probing floppies is a bit more different on sparc, assume always /dev/fd0.
- $o->ask_okcancel('',
- _("A custom bootdisk provides a way of booting into your Linux system without
-depending on the normal bootloader. This is useful if you don't want to install
-SILO on your system, or another operating system removes SILO, or SILO doesn't
-work with your hardware configuration. A custom bootdisk can also be used with
-the Mandrake rescue image, making it much easier to recover from severe system
-failures.
-
-If you want to create a bootdisk for your system, insert a floppy in the first
-drive and press \"Ok\"."),
- $o->{mkbootdisk}) or return $o->{mkbootdisk} = '';
- my @l = detect_devices::floppies();
- $o->{mkbootdisk} = $l[0] if !$o->{mkbootdisk} || $o->{mkbootdisk} eq "1";
- $o->{mkbootdisk} or return;
- } else {
- my @l = detect_devices::floppies();
- my %l = (
- 'fd0' => _("First floppy drive"),
- 'fd1' => _("Second floppy drive"),
- 'Skip' => _("Skip"),
- );
-
- if ($first_time || @l == 1) {
- $o->ask_yesorno('', formatAlaTeX(
- _("A custom bootdisk provides a way of booting into your Linux system without
-depending on the normal bootloader. This is useful if you don't want to install
-LILO (or grub) on your system, or another operating system removes LILO, or LILO doesn't
-work with your hardware configuration. A custom bootdisk can also be used with
-the Mandrake rescue image, making it much easier to recover from severe system
-failures. Would you like to create a bootdisk for your system?")),
- $o->{mkbootdisk}) or return $o->{mkbootdisk} = '';
- $o->{mkbootdisk} = $l[0] if !$o->{mkbootdisk} || $o->{mkbootdisk} eq "1";
- } else {
- @l or die _("Sorry, no floppy drive available");
-
- $o->ask_from_entries_refH_powered(
- {
- messages => _("Choose the floppy drive you want to use to make the bootdisk"),
- }, [ { val => \$o->{mkbootdisk}, list => \@l, format => sub { $l{$_[0]} || $_[0] } } ]
- ) or return;
- }
- $o->ask_warn('', _("Insert a floppy in drive %s", $l{$o->{mkbootdisk}} || $o->{mkbootdisk}));
- }
-
- my $w = $o->wait_message('', _("Creating bootdisk"));
- install_steps::createBootdisk($o);
-}
-
-#------------------------------------------------------------------------------
-sub setupBootloaderBefore {
- my ($o) = @_;
- my $w = $o->wait_message('', _("Preparing bootloader"));
- $o->set_help('empty');
- $o->SUPER::setupBootloaderBefore($o);
-}
-
-#------------------------------------------------------------------------------
-sub setupBootloader {
- my ($o, $more) = @_;
- if (arch() =~ /^alpha/) {
- $o->ask_yesorno('', _("Do you want to use aboot?"), 1) or return;
- catch_cdie { $o->SUPER::setupBootloader } sub {
- $o->ask_yesorno('',
-_("Error installing aboot,
-try to force installation even if that destroys the first partition?"));
- };
- } else {
- any::setupBootloader($o, $o->{bootloader}, $o->{hds}, $o->{fstab}, $o->{security}, $o->{prefix}, $more) or return;
-
- eval { $o->SUPER::setupBootloader };
- if ($@) {
- $o->ask_warn('',
- [ _("Installation of bootloader failed. The following error occured:"),
- grep { !/^Warning:/ } cat_("$o->{prefix}/tmp/.error") ]);
- unlink "$o->{prefix}/tmp/.error";
- die "already displayed";
- } elsif (arch() =~ /ppc/) {
- my $of_boot = cat_("$o->{prefix}/tmp/of_boot_dev") || die "Can't open $o->{prefix}/tmp/of_boot_dev";
- chop($of_boot);
- unlink "$o->{prefix}/tmp/.error";
- $o->ask_warn('', _("You may need to change your Open Firmware boot-device to\n enable the bootloader. If you don't see the bootloader prompt at\n reboot, hold down Command-Option-O-F at reboot and enter:\n setenv boot-device $of_boot,\\\\:tbxi\n Then type: shut-down\nAt your next boot you should see the bootloader prompt."));
- }
- }
-}
-
-sub miscellaneous {
- my ($o, $clicked) = @_;
- my %l = (
- 2 => _("Low"),
- 3 => _("Medium"),
- 4 => _("High"),
- );
- if ($::expert || $clicked) {
- $ENV{SECURE_LEVEL} = $o->{security} =
- $o->ask_from_listf('', _("Choose security level"), sub { $l{$_[0]} }, [ ikeys %l ], $o->{security})
- or return;
- }
- install_steps::miscellaneous($o);
-}
-
-#------------------------------------------------------------------------------
-sub configureX {
- my ($o, $clicked) = @_;
- $o->configureXBefore;
-
- #- strange, xfs must not be started twice...
- #- trying to stop and restart it does nothing good too...
- my $xfs_started if 0;
- run_program::rooted($o->{prefix}, "/etc/rc.d/init.d/xfs", "start") unless $::live || $xfs_started;
- $xfs_started = 1;
-
- require Xconfigurator;
- { local $::testing = 0; #- unset testing
- local $::auto = !$::expert && !$clicked;
-
- symlink "$o->{prefix}/etc/gtk", "/etc/gtk";
- Xconfigurator::main($o->{prefix}, $o->{X}, $o,
- { allowFB => $o->{allowFB},
- allowNVIDIA_rpms => install_any::allowNVIDIA_rpms($o->{packages}),
- }, sub { $o->pkg_install(@_) });
- }
- $o->configureXAfter;
-}
-
-#------------------------------------------------------------------------------
-sub generateAutoInstFloppy {
- my ($o, $replay) = @_;
-
- my $floppy = detect_devices::floppy();
-#+ $o->ask_yesorno('',
-#+_("Do you want to generate an auto install floppy for linux replication?"), $floppy) or return;
-
- $o->ask_okcancel('', _("Insert a blank floppy in drive %s", $floppy), 1) or return;
-
- my $dev = devices::make($floppy);
-
- my $image = cat_("/proc/cmdline") =~ /pcmcia/ ? "pcmcia" :
- ${{ hd => 'hd', cdrom => 'cdrom', ftp => 'network', nfs => 'network', http => 'network' }}{$o->{method}};
-
- if (arch() =~ /sparc/) {
- $image .= arch() =~ /sparc64/ && "64"; #- for sparc64 there are a specific set of image.
-
- my $imagefile = "$o->{prefix}/tmp/autoinst.img";
- my $mountdir = "$o->{prefix}/tmp/mount"; -d $mountdir or mkdir $mountdir, 0755;
- my $workdir = "$o->{prefix}/tmp/work"; -d $workdir or rmdir $workdir;
-
- my $w = $o->wait_message('', _("Creating auto install floppy"));
- install_any::getAndSaveFile("images/$image.img", $imagefile) or log::l("failed to write $dev"), return;
- devices::make($_) foreach qw(/dev/loop6 /dev/ram);
-
- require commands;
- run_program::run("losetup", "/dev/loop6", $imagefile);
- fs::mount("/dev/loop6", $mountdir, "romfs", 'readonly');
- commands::cp("-f", $mountdir, $workdir);
- fs::umount($mountdir);
- run_program::run("losetup", "-d", "/dev/loop6");
-
- substInFile { s/timeout.*//; s/^(\s*append\s*=\s*\".*)\"/$1 kickstart=floppy\"/ } "$workdir/silo.conf"; #" for po
-#-TODO output "$workdir/ks.cfg", install_any::generate_ks_cfg($o);
- output "$workdir/boot.msg", "\n7m",
-"!! If you press enter, an auto-install is going to start.
- ALL data on this computer is going to be lost,
- including any Windows partitions !!
-", "7m\n";
-
- local $o->{partitioning}{clearall} = 1;
- output("$workdir/auto_inst.cfg", install_any::g_auto_install());
-
- run_program::run("genromfs", "-d", $workdir, "-f", "/dev/ram", "-A", "2048,/..", "-a", "512", "-V", "DrakX autoinst");
- fs::mount("/dev/ram", $mountdir, 'romfs', 0);
- run_program::run("silo", "-r", $mountdir, "-F", "-i", "/fd.b", "-b", "/second.b", "-C", "/silo.conf");
- fs::umount($mountdir);
- commands::dd("if=/dev/ram", "of=$dev", "bs=1440", "count=1024");
-
- commands::rm("-rf", $workdir, $mountdir, $imagefile);
- } else {
- my $param = 'kickstart=floppy ' . install_any::generate_automatic_stage1_params($o);
- {
- my $w = $o->wait_message('', _("Creating auto install floppy"));
- install_any::getAndSaveFile("images/$image.img", $dev) or log::l("failed to write $dev"), return;
- }
- fs::mount($dev, "/floppy", "vfat", 0);
- substInFile {
- s/timeout.*/$replay ? 'timeout 1' : ''/e;
- s/^(\s*append)/$1 $param/
- } "/floppy/syslinux.cfg";
-
- unlink "/floppy/help.msg";
- output "/floppy/boot.msg", "\n0c",
-"!! If you press enter, an auto-install is going to start.
- All data on this computer is going to be lost,
- including any Windows partitions !!
-", "07\n" if !$replay;
-
- local $o->{partitioning}{clearall} = !$replay;
- output("/floppy/auto_inst.cfg", install_any::g_auto_install($replay));
-
- fs::umount("/floppy");
- }
-}
-
-#------------------------------------------------------------------------------
-sub exitInstall {
- my ($o, $alldone) = @_;
-
- return $o->{step} = '' unless $alldone || $o->ask_yesorno('',
-_("Some steps are not completed.
-
-Do you really want to quit now?"), 0);
-
- install_steps::exitInstall($o);
-
- $o->exit unless $alldone;
-
- $o->ask_from_entries_refH_powered_no_check(
- {
- messages =>
-_("Congratulations, installation is complete.
-Remove the boot media and press return to reboot.
-
-For information on fixes which are available for this release of Linux-Mandrake,
-consult the Errata available from http://www.linux-mandrake.com/.
-
-Information on configuring your system is available in the post
-install chapter of the Official Linux-Mandrake User's Guide."),
- cancel => '',
- },
- [
- if_($::expert,
- { val => \ (my $t1 = _("Generate auto install floppy")), clicked => sub {
- my $t = $o->ask_from_list_('',
-_("The auto install can be fully automated if wanted,
-in that case it will take over the hard drive!!
-(this is meant for installing on another box).
-
-You may prefer to replay the installation.
-"), [ __("Replay"), __("Automated") ]);
- $t and $o->generateAutoInstFloppy($t eq 'Replay');
- }, advanced => 1 },
- { val => \ (my $t2 = _("Save packages selection")), clicked => sub { install_any::g_default_packages($o) }, advanced => 1 },
- ),
- ]
- ) if $alldone && !$::g_auto_install;
-}
-
-
-#-######################################################################################
-#- Misc Steps Functions
-#-######################################################################################
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/install_steps_newt.pm b/perl-install/install_steps_newt.pm
deleted file mode 100644
index 7fd1cab1f..000000000
--- a/perl-install/install_steps_newt.pm
+++ /dev/null
@@ -1,60 +0,0 @@
-package install_steps_newt; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(install_steps_interactive interactive_newt);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use install_steps_interactive;
-use interactive_newt;
-use install_any;
-use devices;
-use lang;
-use common qw(:common);
-
-my $banner = __();
-
-sub banner {
- my $banner = translate(__("Linux-Mandrake Installation %s"));
- my $l = first(Newt::GetScreenSize) - length($banner) - length($_[0]) + 1;
- Newt::DrawRootText(0, 0, sprintf($banner, ' ' x $l . $_[0]));
-}
-
-sub new($$) {
- my ($type, $o) = @_;
-
- interactive_newt->new;
-
- banner('');
- Newt::PushHelpLine(_(" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "));
-
- (bless {}, ref $type || $type)->SUPER::new($o);
-}
-
-sub enteringStep {
- my ($o, $step) = @_;
- $o->SUPER::enteringStep($step);
- banner(translate($o->{steps}{$step}{text}));
-}
-
-sub exitInstall {
- &install_steps_interactive::exitInstall;
- interactive_newt::end;
-}
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-sub selectLanguage {
- my ($o) = @_;
- $o->SUPER::selectLanguage;
- lang::load_console_font($o->{lang});
-}
-
-
-1;
-
diff --git a/perl-install/install_steps_stdio.pm b/perl-install/install_steps_stdio.pm
deleted file mode 100644
index 1ef8b83fa..000000000
--- a/perl-install/install_steps_stdio.pm
+++ /dev/null
@@ -1,41 +0,0 @@
-package install_steps_stdio; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(install_steps_interactive interactive_stdio);
-
-use common qw(:common);
-use interactive_stdio;
-use install_steps_interactive;
-use lang;
-
-sub new($$) {
- my ($type, $o) = @_;
-
- $o->{partitioning}{readonly} = 1; #- needed til diskdrake is graphic only...
- (bless {}, ref $type || $type)->SUPER::new($o);
-}
-
-sub enteringStep {
- my ($o, $step) = @_;
- print _("Entering step `%s'\n", translate($o->{steps}{$step}{text}));
- $o->SUPER::enteringStep($step);
-}
-sub leavingStep {
- my ($o, $step) = @_;
- $o->SUPER::leavingStep($step);
- print "--------\n";
-}
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-sub selectLanguage {
- my ($o, $first_time) = @_;
- $o->SUPER::selectLanguage($first_time);
- lang::load_console_font($o->{lang});
-}
-
-1;
diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm
deleted file mode 100644
index 55b4e58ae..000000000
--- a/perl-install/interactive.pm
+++ /dev/null
@@ -1,304 +0,0 @@
-package interactive; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :functional);
-
-#- ask_from_entries takes:
-#- val => reference to the value
-#- label => description
-#- icon => icon to put before the description
-#- help => tooltip
-#- advanced => wether it is shown in by default or only in advanced mode
-#- disabled => function returning wether it should be disabled (grayed)
-#- type =>
-#- button => (with clicked) (type defaults to button if clicked is there) (val need not be a reference)
-#- label => (val need not be a reference) (type defaults to label if val is not a reference)
-#- bool (with text)
-#- range (with min, max)
-#- combo (with list, not_edit)
-#- list (with list, icon2f (aka icon), separator (aka tree), format (aka pre_format function),
-#- help can be a hash or a function)
-#- entry (the default) (with hidden)
-#
-#- heritate from this class and you'll get all made interactivity for same steps.
-#- for this you need to provide
-#- - ask_from_listW(o, title, messages, arrayref, default) returns one string of arrayref
-#-
-#- where
-#- - o is the object
-#- - title is a string
-#- - messages is an refarray of strings
-#- - default is an optional string (default is in arrayref)
-#- - arrayref is an arrayref of strings
-#- - arrayref2 contains booleans telling the default state,
-#-
-#- ask_from_list and ask_from_list_ are wrappers around ask_from_biglist and ask_from_smalllist
-#-
-#- ask_from_list_ just translate arrayref before calling ask_from_list and untranslate the result
-#-
-#- ask_from_listW should handle differently small lists and big ones.
-#-
-
-
-#-######################################################################################
-#- OO Stuff
-#-######################################################################################
-sub new($) {
- my ($type) = @_;
-
- bless {}, ref $type || $type;
-}
-
-sub vnew {
- my ($type, $su, $icon) = @_;
- $su = $su eq "su";
- require c;
- if ($ENV{DISPLAY} && system('/usr/X11R6/bin/xtest') == 0) {
- if ($su) {
- $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
- if ($>) {
- exec("kdesu", "-c", "$0 @ARGV") or die _("kdesu missing");
- }
- }
- eval { require interactive_gtk };
- if (!$@) {
- my $o = interactive_gtk->new;
- $icon and $o->{icon} = $icon;
- return $o;
- }
- }
-
- if ($su && $>) {
- die "you must be root to run this program";
- }
- require 'log.pm';
- undef *log::l;
- *log::l = sub {}; # otherwise, it will bother us :(
- require interactive_newt;
- interactive_newt->new;
-}
-
-sub enter_console {}
-sub leave_console {}
-sub suspend {}
-sub resume {}
-sub end {}
-sub exit { exit($_[0]) }
-
-#-######################################################################################
-#- Interactive functions
-#-######################################################################################
-sub ask_warn {
- my ($o, $title, $message) = @_;
- local $::isWizard=0;
- ask_from_listf_no_check($o, $title, $message, undef, [ _("Ok") ]);
-}
-
-sub ask_yesorno {
- my ($o, $title, $message, $def, $help) = @_;
- ask_from_list_($o, $title, $message, [ __("Yes"), __("No") ], $def ? "Yes" : "No", $help) eq "Yes";
-}
-
-sub ask_okcancel {
- my ($o, $title, $message, $def, $help) = @_;
-
- if ($::isWizard) {
- $::no_separator = 1;
- $o->ask_from_entries_refH_powered_no_check({ title => $title, messages => $message, focus_cancel => !$def });
- } else {
- ask_from_list_($o, $title, $message, [ __("Ok"), __("Cancel") ], $def ? "Ok" : "Cancel", $help) eq "Ok";
- }
-}
-
-sub ask_from_list {
- my ($o, $title, $message, $l, $def, $help) = @_;
- ask_from_listf($o, $title, $message, undef, $l, $def, $help);
-}
-
-sub ask_from_list_ {
- my ($o, $title, $message, $l, $def, $help) = @_;
- ask_from_listf($o, $title, $message, sub { translate($_[0]) }, $l, $def, $help);
-}
-
-sub ask_from_listf_ {
- my ($o, $title, $message, $f, $l, $def, $help) = @_;
- ask_from_listf($o, $title, $message, sub { translate($f->(@_)) }, $l, $def, $help);
-}
-sub ask_from_listf {
- my ($o, $title, $message, $f, $l, $def, $help) = @_;
- @$l == 0 and die "ask_from_list: empty list\n" . common::backtrace();
- @$l == 1 and return $l->[0];
- goto &ask_from_listf_no_check;
-}
-
-sub ask_from_listf_no_check {
- my ($o, $title, $message, $f, $l, $def, $help) = @_;
-
- if (@$l <= 2 && !$::isWizard) {
- my $ret = eval {
- ask_from_entries_refH_powered_no_check($o,
- { title => $title, messages => $message, ok => $l->[0] && may_apply($f, $l->[0]),
- if_($l->[1], cancel => may_apply($f, $l->[1]), focus_cancel => $def eq $l->[1]) }, []
- ) ? $l->[0] : $l->[1];
- };
- die if $@ && $@ !~ /^wizcancel/;
- $@ ? undef : $ret;
- } else {
- ask_from_entries_refH($o, $title, $message, [ { val => \$def, type => 'list', list => $l, help => $help, format => $f } ]) && $def;
- }
-}
-
-sub ask_from_treelist {
- my ($o, $title, $message, $separator, $l, $def) = @_;
- ask_from_treelistf($o, $title, $message, $separator, undef, $l, $def);
-}
-sub ask_from_treelist_ {
- my ($o, $title, $message, $separator, $l, $def) = @_;
- my $transl = sub { join '|', map { translate($_) } split(quotemeta($separator), $_[0]) };
- ask_from_treelistf($o, $title, $message, $separator, $transl, $l, $def);
-}
-sub ask_from_treelistf {
- my ($o, $title, $message, $separator, $f, $l, $def) = @_;
- ask_from_entries_refH($o, $title, $message, [ { val => \$def, separator => $separator, list => $l, format => $f } ]) or return;
- $def;
-}
-
-sub ask_many_from_list {
- my ($o, $title, $message, @l) = @_;
- @l = grep { @{$_->{list}} } @l or return '';
- foreach my $h (@l) {
- $h->{e}{$_} = {
- text => may_apply($h->{label}, $_),
- val => $h->{val} ? $h->{val}->($_) : do {
- my $i =
- $h->{value} ? $h->{value}->($_) :
- $h->{values} ? member($_, @{$h->{values}}) : 0;
- \$i;
- },
- type => 'bool',
- help => may_apply($h->{help}, $_, ''),
- icon => may_apply($h->{icon2f}, $_, ''),
- } foreach @{$h->{list}};
- if ($h->{sort}) {
- $h->{list} = [ sort { $h->{e}{$a}{text} cmp $h->{e}{$b}{text} } @{$h->{list}} ];
- }
- }
- $o->ask_from_entries_refH($title, $message, [ map { my $h = $_; map { $h->{e}{$_} } @{$h->{list}} } @l ]) or return;
-
- @l = map {
- my $h = $_;
- [ grep { ${$h->{e}{$_}{val}} } @{$h->{list}} ];
- } @l;
- wantarray ? @l : $l[0];
-}
-
-sub ask_from_entry {
- my ($o, $title, $message, %callback) = @_;
- first(ask_from_entries($o, $title, $message, [''], %callback));
-}
-sub ask_from_entries {
- my ($o, $title, $message, $l, %callback) = @_;
-
- my @l = map { my $i = ''; { label => $_, val => \$i } } @$l;
-
- $o->ask_from_entries_refH($title, $message, \@l, %callback) ?
- map { ${$_->{val}} } @l :
- undef;
-}
-
-#- can get a hash of callback: focus_out changed and complete
-#- moreove if you pass a hash with a field list -> combo
-#- if you pass a hash with a field hidden -> emulate stty -echo
-sub ask_from_entries_refH {
- my ($o, $title, $message, $l, %callback) = @_;
- ask_from_entries_refH_powered($o, { title => $title, messages => $message, callbacks => \%callback }, $l);
-}
-
-
-sub ask_from_entries_refH_powered_normalize {
- my ($o, $common, $l) = @_;
-
- foreach my $e (@$l) {
- if (my $l = $e->{list}) {
- if ($e->{sort} || @$l > 10 && !exists $e->{sort}) {
- my @l2 = map { may_apply($e->{format}, $_) } @$l;
- my @places = sort { $l2[$a] cmp $l2[$b] } 0 .. $#l2;
- $e->{list} = $l = [ map { $l->[$_] } @places ];
- }
- $e->{type} = 'iconlist' if $e->{icon2f};
- $e->{type} = 'treelist' if $e->{separator};
- $e->{type} ||= 'list' if $e->{format};
- add2hash_($e, { not_edit => 1, type => 'combo' });
- ${$e->{val}} = $l->[0] if ($e->{type} ne 'combo' || $e->{not_edit}) && !member(${$e->{val}}, @$l);
- } elsif ($e->{type} eq 'range') {
- $e->{min} <= $e->{max} or die "bad range min $e->{min} > max $e->{max} (called from " . join(':', caller()) . ")";
- ${$e->{val}} = max($e->{min}, min(${$e->{val}}, $e->{max}));
- } elsif ($e->{type} eq 'button' || $e->{clicked}) {
- $e->{type} = 'button';
- $e->{clicked} ||= sub {};
- $e->{val} = \ (my $v = $e->{val}) if !ref($e->{val});
- } elsif ($e->{type} eq 'label' || !ref($e->{val})) {
- $e->{type} = 'label';
- $e->{val} = \ (my $v = $e->{val}) if !ref($e->{val});
- }
- $e->{disabled} ||= sub { 0 };
- }
-
- #- don't display empty lists and one element lists
- @$l = grep {
- if ($_->{list} && $_->{not_edit}) {
- if (@{$_->{list}} == ()) {
- eval {
- require log;
- log::l("ask_from_entries_refH_powered_normalize: empty list for $_->{label}\n" . common::backtrace());
- };
- }
- @{$_->{list}} > 1;
- } else {
- 1;
- }
- } @$l;
-
- $common->{advanced_label} ||= _("Advanced");
- $common->{$_} = [ deref($common->{$_}) ] foreach qw(messages advanced_messages);
- add2hash_($common, { ok => _("Ok"), cancel => _("Cancel") }) if !exists $common->{ok} && !$::isWizard;
- add2hash_($common->{callbacks} ||= {}, { changed => sub {}, focus_out => sub {}, complete => sub { 0 }, canceled => sub { 0 } });
-}
-
-sub ask_from_entries_refH_powered {
- my ($o, $common, $l) = @_;
- ask_from_entries_refH_powered_normalize($o, $common, $l);
-
- @$l or return 1;
- $o->ask_from_entries_refW($common, [ grep { !$_->{advanced} } @$l ], [ grep { $_->{advanced} } @$l ]);
-}
-sub ask_from_entries_refH_powered_no_check {
- my ($o, $common, $l) = @_;
- ask_from_entries_refH_powered_normalize($o, $common, $l);
- $o->ask_from_entries_refW($common, [ grep { !$_->{advanced} } @$l ], [ grep { $_->{advanced} } @$l ]);
-}
-
-
-sub wait_message {
- my ($o, $title, $message, $temp) = @_;
-
- my $w = $o->wait_messageW($title, [ _("Please wait"), deref($message) ]);
- push @tempory::objects, $w if $temp;
- my $b = before_leaving { $o->wait_message_endW($w) };
-
- #- enable access through set
- common::add_f4before_leaving(sub { $o->wait_message_nextW([ deref($_[1]) ], $w) }, $b, 'set');
- $b;
-}
-
-sub kill {}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/interactive_gtk.pm b/perl-install/interactive_gtk.pm
deleted file mode 100644
index 710ca88a3..000000000
--- a/perl-install/interactive_gtk.pm
+++ /dev/null
@@ -1,545 +0,0 @@
-package interactive_gtk; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(interactive);
-
-use interactive;
-use common qw(:common :functional);
-use my_gtk qw(:helpers :wrappers);
-
-my $forgetTime = 1000; #- in milli-seconds
-
-sub new {
- ($::windowheight, $::windowwidth) = my_gtk::gtkroot()->get_size if $::isStandalone;
- goto &interactive::new;
-}
-sub enter_console { my ($o) = @_; $o->{suspended} = common::setVirtual(1) }
-sub leave_console { my ($o) = @_; common::setVirtual(delete $o->{suspended}) }
-
-sub suspend {}
-sub resume {}
-
-sub exit {
- gtkset_mousecursor_normal(); #- for restoring a normal in any case on standalone
- my_gtk::flush();
- c::_exit($_[1]) #- workaround
-}
-
-sub ask_warn {
- local $my_gtk::pop_it = 1;
- &interactive::ask_warn;
-}
-
-sub create_boxradio {
- my ($e, $may_go_to_next, $changed, $double_click) = @_;
- my @l = map { may_apply($e->{format}, $_) } @{$e->{list}};
-
- my $boxradio = gtkpack2__(new Gtk::VBox(0, 0),
- my @radios = gtkradio(@l, ''));
- $boxradio->show;
- my $tips = new Gtk::Tooltips;
- mapn {
- my ($txt, $w) = @_;
- $w->signal_connect(button_press_event => $double_click) if $double_click;
- $w->signal_connect(clicked => sub {
- ${$e->{val}} = $txt;
- &$changed;
- });
- if ($e->{help}) {
- gtkset_tip($tips, $w,
- ref($e->{help}) eq 'HASH' ? $e->{help}{$txt} :
- ref($e->{help}) eq 'CODE' ? $e->{help}($txt) : $e->{help});
- }
- } $e->{list}, \@radios;
-
- $boxradio, sub {
- my ($v) = @_;
- mapn { $_[0]->set_active($_[1] eq $v) } \@radios, $e->{list};
- }
-}
-
-sub create_clist {
- my ($e, $may_go_to_next, $changed, $double_click) = @_;
- my $curr;
- my @l = map { may_apply($e->{format}, $_) } @{$e->{list}};
-
- my $list = new Gtk::CList(1);
- $list->set_selection_mode('browse');
- $list->set_column_auto_resize(0, 1);
-
- my $select = sub {
- $list->set_focus_row($_[0]);
- $list->select_row($_[0], 0);
- $list->moveto($_[0], 0, 0.5, 0) if $list->row_is_visible($_[0]) ne 'full';
- };
-
-# ref $title && !@okcancel ?
-# $list->signal_connect(button_release_event => $leave) :
-# $list->signal_connect(button_press_event => sub { &$leave if $_[1]{type} =~ /^2/ });
-
- my ($first_time, $starting_word, $start_reg) = (1, '', "^");
- my $timeout;
- $list->signal_connect(key_press_event => sub {
- my ($w, $event) = @_;
- my $c = chr($event->{keyval} & 0xff);
-
- Gtk->timeout_remove($timeout) if $timeout; $timeout = '';
-
- if ($event->{keyval} >= 0x100) {
- &$may_go_to_next if $c eq "\r" || $c eq "\x8d";
- $starting_word = '' if $event->{keyval} != 0xffe4; # control
- } else {
- if ($event->{state} & 4) {
- #- control pressed
- $c eq "s" or return 1;
- $start_reg and $start_reg = '', return 1;
- $curr++;
- } else {
- &$may_go_to_next if $c eq ' ';
-
- $curr++ if $starting_word eq '' || $starting_word eq $c;
- $starting_word .= $c unless $starting_word eq $c;
- }
- my $word = quotemeta $starting_word;
- my $j; for ($j = 0; $j < @l; $j++) {
- $l[($j + $curr) % @l] =~ /$start_reg$word/i and last;
- }
- $j == @l ?
- $starting_word = '' :
- $select->(($j + $curr) % @l);
-
- $timeout = Gtk->timeout_add($forgetTime, sub { $timeout = $starting_word = ''; 0 } );
- }
- 1;
- });
- $list->show;
-
- $list->append($_) foreach @l;
-
- $list->signal_connect(select_row => sub {
- my ($w, $row) = @_;
- ${$e->{val}} = $e->{list}[$curr = $row];
- &$changed;
- });
- $list->signal_connect(button_press_event => $double_click) if $double_click;
-
- $list, sub {
- my ($v) = @_;
- eval {
- $select->(find_index { $_ eq $v } @{$e->{list}});
- };
- };
-}
-
-sub create_ctree {
- my ($e, $may_go_to_next, $changed, $double_click) = @_;
- my @l = map { may_apply($e->{format}, $_) } @{$e->{list}};
-
- my $sep = quotemeta $e->{separator};
- my $tree = Gtk::CTree->new(1, 0);
-
- my (%wtree, %wleaves, $size, $selected_via_click);
- my $parent; $parent = sub {
- if (my $w = $wtree{"$_[0]$e->{separator}"}) { return $w }
- my $s;
- foreach (split $sep, $_[0]) {
- $wtree{"$s$_$e->{separator}"} ||=
- $tree->insert_node($s ? $parent->($s) : undef, undef, [$_], 5, (undef) x 4, 0, 0);
- $size++ if !$s;
- $s .= "$_$e->{separator}";
- }
- $wtree{$s};
- };
- foreach (@l) {
- my ($root, $leaf) = /(.*)$sep(.+)/ ? ($1, $2) : ('', $_);
- $wleaves{$_} = $tree->insert_node($parent->($root), undef, [$leaf], 5, (undef) x 4, 1, 0);
- }
- undef %wtree;
-
- my $select = sub {
- my ($node) = @_;
- for (my $c = $node; $c; $c = $c->row->parent) {
- $tree->expand($c);
- }
- foreach (0 .. $#l) {
- if ($tree->node_nth($_) == $node) {
- $tree->set_focus_row($_);
- last;
- }
- }
- $tree->select($node);
- $tree->node_moveto($node, 0, 0.5, 0) if $tree->node_is_visible($node) ne 'full';
- };
-
- my $curr = $tree->node_nth(0); #- default value
- $tree->set_column_auto_resize(0, 1);
- $tree->set_selection_mode('browse');
- $tree->signal_connect(tree_select_row => sub {
- $curr = $_[1];
- if ($curr->row->is_leaf) {
- my @ll; for (my $c = $curr; $c; $c = $c->row->parent) {
- unshift @ll, first $tree->node_get_pixtext($c, 0);
- }
- my $val = join $e->{separator}, @ll;
- mapn {
- ${$e->{val}} = $_[1] if $val eq $_[0]
- } \@l, $e->{list};
- &$changed;
- } else {
- $tree->expand($curr) if $selected_via_click;
- }
- });
- my ($first_time, $starting_word, $start_reg) = (1, '', "^");
- my $timeout;
-
- my $toggle = sub {
- $curr->row->is_leaf ?
- &$may_go_to_next :
- $tree->toggle_expansion($curr);
- };
- $tree->signal_connect(key_press_event => sub {
- my ($w, $event) = @_;
- $selected_via_click = 0;
- my $c = chr($event->{keyval} & 0xff);
- $curr or return;
- Gtk->timeout_remove($timeout) if $timeout; $timeout = '';
-
- if ($event->{keyval} >= 0x100) {
- &$toggle if $c eq "\r" || $c eq "\x8d";
- $starting_word = '' if $event->{keyval} != 0xffe4; # control
- } else {
- my $next;
- if ($event->{state} & 4) {
- #- control pressed
- $c eq "s" or return 1;
- $start_reg and $start_reg = '', return 1;
- $next = 1;
- } else {
- &$toggle if $c eq ' ';
-
- $next = 1 if $starting_word eq '' || $starting_word eq $c;
- $starting_word .= $c unless $starting_word eq $c;
- }
- my $word = quotemeta $starting_word;
- my ($after, $best);
-
- $tree->pre_recursive(undef, sub {
- my ($tree, $node) = @_;
- $next &&= !$after;
- $after ||= $node == $curr;
- my ($t) = $tree->node_get_pixtext($node, 0);
-
- if ($t =~ /$start_reg$word/i) {
- if ($after && !$next) {
- ($best, $after) = ($node, 0);
- } else {
- $best ||= $node;
- }
- }
- });
- if (defined $best) {
- $select->($best);
- } else {
- $starting_word = '';
- }
- $timeout = Gtk->timeout_add($forgetTime, sub { $timeout = $starting_word = ''; 0 });
- }
- 1;
- });
- $tree->signal_connect(button_press_event => sub {
- $selected_via_click = 1;
- &$double_click if $curr->row->is_leaf && $double_click;
- });
-
- $tree->set_row_height($tree->style->font->ascent + $tree->style->font->descent + 1);
-
- $tree, sub {
- my $v = may_apply($e->{format}, $_[0]);
- $select->($wleaves{$v} || return);
- }, $size;
-}
-
-sub create_list {
- my ($e, $may_go_to_next, $changed, $double_click) = @_;
- my $l = $e->{list};
- my $list = new Gtk::List();
- $list->set_selection_mode('browse');
-
- my $select = sub {
- $list->select_item($_[0]);
- };
-
- my $tips = new Gtk::Tooltips;
- my $toselect;
- map_index {
- my $item = new Gtk::ListItem(may_apply($e->{format}, $_));
- $item->signal_connect(key_press_event => sub {
- my ($w, $event) = @_;
- my $c = chr($event->{keyval} & 0xff);
- $may_go_to_next->($event) if $event->{keyval} < 0x100 ? $c eq ' ' : $c eq "\r" || $c eq "\x8d";
- 1;
- });
- $list->append_items($item);
- $item->show;
- if ($e->{help}) {
- gtkset_tip($tips, $item,
- ref($e->{help}) eq 'HASH' ? $e->{help}{$_} :
- ref($e->{help}) eq 'CODE' ? $e->{help}($_) : $e->{help});
- }
- $item->grab_focus if ${$e->{val}} && $_ eq ${$e->{val}};
- } @$l;
-
- #- signal_connect'ed after append_items otherwise it is called and destroys the default value
- $list->signal_connect(select_child => sub {
- my ($w, $row) = @_;
- ${$e->{val}} = $l->[$list->child_position($row)];
- &$changed;
- });
- $list->signal_connect(button_press_event => $double_click) if $double_click;
-
- $list, sub {
- my ($v) = @_;
- eval {
- $select->(find_index { $_ eq $v } @$l);
- };
- };
-}
-
-sub ask_from_entries_refW {
- my ($o, $common, $l, $l2) = @_;
- my $ignore = 0; #-to handle recursivity
-
- my $mainw = my_gtk->new($common->{title}, %$o);
- $mainw->sync; # for XPM's creation
-
- #-the widgets
- my (@widgets, @widgets_always, @widgets_advanced, $advanced, $advanced_pack, $has_scroll, $total_size);
- my $tooltips = new Gtk::Tooltips;
-
- my $set_all = sub {
- $ignore = 1;
- $_->{set}->(${$_->{e}{val}}) foreach @widgets_always, @widgets_advanced;
- $_->{w}->set_sensitive(!$_->{e}{disabled}()) foreach @widgets_always, @widgets_advanced;
- $ignore = 0;
- };
- my $get_all = sub {
- ${$_->{e}{val}} = $_->{get}->() foreach @widgets_always, @widgets_advanced;
- };
- my $update = sub {
- my ($f) = @_;
- return if $ignore;
- $get_all->();
- $f->();
- $set_all->();
- };
- my $create_widget = sub {
- my ($e, $ind) = @_;
-
- my $may_go_to_next = sub {
- my ($w, $event) = @_;
- if (!$event || ($event->{keyval} & 0x7f) == 0xd) {
- $w->signal_emit_stop("key_press_event") if $event;
- if ($ind == $#widgets) {
- @widgets == 1 ? $mainw->{ok}->clicked : $mainw->{ok}->grab_focus;
- } else {
- $widgets[$ind+1]{w}->grab_focus;
- }
- }
- };
- my $changed = sub { $update->(sub { $common->{callbacks}{changed}($ind) }) };
-
- my ($w, $real_w, $set, $get, $expand, $size);
- if ($e->{type} eq 'iconlist') {
- $w = new Gtk::Button;
- $set = sub {
- gtkdestroy($e->{icon});
- my $f = $e->{icon2f}->($_[0]);
- $e->{icon} = -e $f ?
- gtkpng($f) :
- new Gtk::Label(may_apply($e->{format}, $_[0]));
- $w->add($e->{icon});
- $e->{icon}->show;
- };
- $w->signal_connect(clicked => sub {
- $set->(${$e->{val}} = next_val_in_array(${$e->{val}}, $e->{list}));
- $changed->();
- });
- $real_w = gtkpack_(new Gtk::HBox(0,10), 1, new Gtk::HBox(0,0), 0, $w, 1, new Gtk::HBox(0,0), );
- } elsif ($e->{type} eq 'bool') {
- $w = Gtk::CheckButton->new($e->{text});
- $w->signal_connect(clicked => $changed);
- $set = sub { $w->set_active($_[0]) };
- $get = sub { $w->get_active };
- } elsif ($e->{type} eq 'label') {
- $w = Gtk::Label->new(${$e->{val}});
- $set = sub { $w->set($_[0]) };
- } elsif ($e->{type} eq 'button') {
- $w = Gtk::Button->new('');
- $w->signal_connect(clicked => sub {
- $get_all->();
- $mainw->{rwindow}->hide;
- $e->{clicked}();
- $mainw->{rwindow}->show;
- $set_all->();
- });
- $set = sub { $w->child->set(may_apply($e->{format}, $_[0])) };
- } elsif ($e->{type} eq 'range') {
- my $adj = create_adjustment(${$e->{val}}, $e->{min}, $e->{max});
- $adj->signal_connect(value_changed => $changed);
- $w = new Gtk::HScale($adj);
- $w->set_digits(0);
- $w->signal_connect(key_press_event => $may_go_to_next);
- $set = sub { $adj->set_value($_[0]) };
- $get = sub { $adj->get_value };
- } elsif ($e->{type} =~ /list/) {
-
- my $quit_if_double_click =
- #- i'm the only one, double click means accepting
- @$l == 1 ?
- sub { if ($_[1]{type} =~ /^2/) { $mainw->{retval} = 1; Gtk->main_quit } } : '';
-
- my @para = ($e, $may_go_to_next, $changed, $quit_if_double_click);
- my $use_boxradio = @{$e->{list}} <= 8;
-
- if ($e->{help}) {
- #- used only when needed, as key bindings are dropped by List (CList does not seems to accepts Tooltips).
- ($w, $set) = $use_boxradio ? create_boxradio(@para) : create_list(@para);
- } elsif ($e->{type} eq 'treelist') {
- ($w, $set, $size) = create_ctree(@para);
- } else {
- ($w, $set) = $use_boxradio ? create_boxradio(@para) : create_clist(@para);
- }
- if (@{$e->{list}} > 4) {
- $has_scroll = 1;
- $expand = 1;
- $real_w = createScrolledWindow($w);
- $size ||= @{$e->{list}};
- }
- } else {
- if ($e->{type} eq "combo") {
- $w = new Gtk::Combo;
- $w->set_use_arrows_always(1);
- $w->entry->set_editable(!$e->{not_edit});
- $w->set_popdown_strings(@{$e->{list}});
- $w->disable_activate;
- ($real_w, $w) = ($w, $w->entry);
- } else {
- $w = new Gtk::Entry(${$e->{val}});
- }
- $w->signal_connect(key_press_event => $may_go_to_next);
- $w->signal_connect(changed => $changed);
- $w->set_visibility(0) if $e->{hidden};
- $set = sub { $w->set_text($_[0]) };
- $get = sub { $w->get_text };
- }
- $w->signal_connect(focus_out_event => sub {
- $update->(sub { $common->{callbacks}{focus_out}($ind) });
- });
- $tooltips->set_tip($w, $e->{help}) if $e->{help} && !ref($e->{help});
-
- $total_size += $size || 1;
-
- { e => $e, w => $w, real_w => $real_w || $w, expand => $expand,
- get => $get || sub { ${$e->{val}} }, set => $set || sub {},
- icon_w => -e $e->{icon} ? gtkpng($e->{icon}) : '' };
- };
- @widgets_always = map_index { $create_widget->($_, $::i ) } @$l;
- my $always_total_size = $total_size;
- @widgets_advanced = map_index { $create_widget->($_, $::i + @$l) } @$l2;
-
- my $set_advanced = sub {
- ($advanced) = @_;
- $advanced ? $advanced_pack->show : $advanced_pack->hide;
- @widgets = (@widgets_always, $advanced ? @widgets_advanced : ());
- $mainw->sync; #- for $set_all below (mainly for the set of clist)
- $set_all->(); #- must be done when showing advanced lists (to center selected value)
- };
- my $advanced_button = [ $common->{advanced_label}, sub { $set_advanced->(!$advanced) } ];
-
- my $create_widgets = sub {
- my $w = create_packtable({}, map { [($_->{icon_w}, $_->{e}{label}, $_->{real_w})]} @_);
- #- use a scrolled window if there is a lot of checkboxes (aka ask_many_from_list)
- my $has = (grep { $_->{e}{type} eq 'bool' } @_) > 4;
- $has_scroll ||= $has;
- $has ? createScrolledWindow($w) : $w;
- };
-
- my $pack = gtkpack_(create_box_with_title($mainw, @{$common->{messages}}),
- 1, $create_widgets->(@widgets_always),
- if_($common->{ok} || $::isWizard,
- 0, $mainw->create_okcancel($common->{ok}, $common->{cancel}, '', @$l2 ? $advanced_button : ())));
- my @adv = map { warp_text($_) } @{$common->{advanced_messages}};
- $always_total_size += $mainw->{box_size};
- $advanced_pack =
- gtkpack_(new Gtk::VBox(0,0),
- 0, '',
- (map {; 0, new Gtk::Label($_) } @adv),
- 0, new Gtk::HSeparator,
- 1, $create_widgets->(@widgets_advanced));
-
- $pack->pack_start($advanced_pack, 1, 1, 0);
- gtkadd($mainw->{window}, $pack);
- $mainw->{rwindow}->set_default_size(250, min(max(200, $always_total_size * 20), $::windowheight * 0.7)) if $has_scroll && !$::isEmbedded &&!$::isWizard;
- $set_advanced->(0);
- (@widgets ? $widgets[0]{w} : $common->{focus_cancel} ? $mainw->{cancel} : $mainw->{ok})->grab_focus();
-
- my $check = sub {
- my ($f) = @_;
- sub {
- $get_all->();
- my ($error, $focus) = $f->();
-
- if ($error) {
- $set_all->();
- $widgets[$focus || 0]{w}->grab_focus();
- }
- !$error;
- }
- };
- $mainw->main(map { $check->($common->{callbacks}{$_}) } 'complete', 'canceled');
-}
-
-
-sub wait_messageW($$$) {
- my ($o, $title, $messages) = @_;
-
- my $w = my_gtk->new($title, %$o, grab => 1);
- gtkadd($w->{window}, my $hbox = new Gtk::HBox(0,0));
- $hbox->pack_start(my $box = new Gtk::VBox(0,0), 1, 1, 10);
- $box->pack_start($_, 1, 1, 4) foreach my @l = map { new Gtk::Label($_) } @$messages;
-
- ($w->{wait_messageW} = $l[$#l])->signal_connect(expose_event => sub { $w->{displayed} = 1 });
- $w->{rwindow}->set_position('center') if ($::isStandalone && !$::isEmbedded && !$::isWizard);
- $w->{window}->show_all;
- $w->sync until $w->{displayed};
- $w;
-}
-sub wait_message_nextW {
- my ($o, $messages, $w) = @_;
- my $msg = join "\n", @$messages;
- return if $msg eq $w->{wait_messageW}->get; #- needed otherwise no expose_event :(
- $w->{displayed} = 0;
- $w->{wait_messageW}->set($msg);
- $w->flush until $w->{displayed};
-}
-sub wait_message_endW {
- my ($o, $w) = @_;
- $w->destroy;
-}
-
-sub kill {
- my ($o) = @_;
- $o->{before_killing} ||= 0;
-
- while (my $e = shift @tempory::objects) { $e->destroy }
- while (@interactive::objects > $o->{before_killing}) {
- my $w = pop @interactive::objects;
- $w->destroy;
- }
- $o->{before_killing} = @interactive::objects;
-}
-
-1;
diff --git a/perl-install/interactive_newt.pm b/perl-install/interactive_newt.pm
deleted file mode 100644
index 1f1f1157f..000000000
--- a/perl-install/interactive_newt.pm
+++ /dev/null
@@ -1,241 +0,0 @@
-package interactive_newt; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(interactive);
-
-use interactive;
-use common qw(:common :functional);
-use log;
-use Newt::Newt; #- !! provides Newt and not Newt::Newt
-
-my ($width, $height) = (80, 25);
-my @wait_messages;
-
-sub new() {
- Newt::Init;
- Newt::Cls;
- Newt::SetSuspendCallback;
- ($width, $height) = Newt::GetScreenSize;
- open STDERR,">/dev/null" if $::isStandalone;
- bless {}, $_[0];
-}
-
-sub enter_console { Newt::Suspend }
-sub leave_console { Newt::Resume }
-sub suspend { Newt::Suspend }
-sub resume { Newt::Resume }
-sub end() { Newt::Finished }
-sub exit() { end; exit($_[1]) }
-END { end() }
-
-sub myTextbox {
- my $allow_scroll = shift;
-
- my $width = $width - 9;
- my @l = map { /(.{1,$width})/g } map { split "\n" } @_;
- my $h = min($height - 13, int @l);
- my $flag = 1 << 6;
- if ($h < @l) {
- if ($allow_scroll) {
- $flag |= 1 << 2; #- NEWT_FLAG_SCROLL
- } else {
- # remove the text, no other way!
- @l = @l[0 .. $h-1];
- }
- }
- my $mess = Newt::Component::Textbox(1, 0, my $w = max(map { length } @l) + 1, $h, $flag);
- $mess->TextboxSetText(join("\n", @_));
- $mess, $w + 1, $h;
-}
-
-sub separator {
- my $blank = Newt::Component::Form(\undef, '', 0);
- $blank->FormSetWidth ($_[0]);
- $blank->FormSetHeight($_[1]);
- $blank;
-}
-sub checkval { $_[0] && $_[0] ne ' ' ? '*' : ' ' }
-
-sub ask_from_entries_refW {
- my ($o, $common, $l, $l2) = @_;
- my $ignore; #-to handle recursivity
- my $old_focus = -2;
-
- #-the widgets
- my (@widgets, $total_size);
-
- my $set_all = sub {
- $ignore = 1;
- $_->{set}->(${$_->{e}{val}}) foreach @widgets;
-# $_->{w}->set_sensitive(!$_->{e}{disabled}()) foreach @widgets;
- $ignore = 0;
- };
- my $get_all = sub {
- ${$_->{e}{val}} = $_->{get}->() foreach @widgets;
- };
- my $create_widget = sub {
- my ($e, $ind) = @_;
-
- $e->{type} = 'list' if $e->{type} =~ /(icon|tree)list/;
-
- #- combo doesn't exist, fallback to a sensible default
- $e->{type} = $e->{not_edit} ? 'list' : 'entry' if $e->{type} eq 'combo';
-
- my $changed = sub {
- return if $ignore;
- return $old_focus++ if $old_focus == -2; #- handle special first case
- $get_all->();
-
- #- TODO: this is very rough :(
- $common->{callbacks}{$old_focus == $ind ? 'changed' : 'focus_out'}->($ind);
-
- $set_all->();
- $old_focus = $ind;
- };
-
- my ($w, $real_w, $set, $get, $expand, $size);
- if ($e->{type} eq 'bool') {
- $w = Newt::Component::Checkbox(-1, -1, $e->{text} || '', checkval(${$e->{val}}), " *");
- $set = sub { $w->CheckboxSetValue(checkval($_[0])) };
- $get = sub { $w->CheckboxGetValue == ord '*' };
- } elsif ($e->{type} eq 'button') {
- $w = Newt::Component::Button(-1, -1, may_apply($e->{format}, ${$e->{val}}));
- } elsif ($e->{type} =~ /list/) {
- my ($h, $wi) = (@$l == 1 && $height > 30 ? 10 : 5, 20);
- my $scroll = @{$e->{list}} > $h ? 1 << 2 : 0;
- $size = min(int @{$e->{list}}, $h);
-
- $w = Newt::Component::Listbox(-1, -1, $h, $scroll); #- NEWT_FLAG_SCROLL
- foreach (@{$e->{list}}) {
- my $t = may_apply($e->{format}, $_);
- $w->ListboxAddEntry($t, $_);
- $wi = max($wi, length $t);
- }
- $w->ListboxSetWidth(min($wi + 3, $width - 7)); # 3 added for the scrollbar (?)
- $get = sub { $w->ListboxGetCurrent };
- $set = sub {
- my ($val) = @_;
- map_index {
- $w->ListboxSetCurrent($::i) if $val eq $_;
- } @{$e->{list}};
- };
- } else {
- $w = Newt::Component::Entry(-1, -1, '', 20, ($e->{hidden} && 1 << 11) | 1 << 2);
- $get = sub { $w->EntryGetValue };
- $set = sub { $w->EntrySet($_[0], 1) };
- }
- $total_size += $size || 1;
-
- #- !! callbacks must be kept otherwise perl will free them !!
- #- (better handling of addCallback needed)
-
- { e => $e, w => $w, real_w => $real_w || $w, expand => $expand, callback => $changed,
- get => $get || sub { ${$e->{val}} }, set => $set || sub {} };
- };
- @widgets = map_index { $create_widget->($_, $::i) } @$l;
-
- $_->{w}->addCallback($_->{callback}) foreach @widgets;
-
- $set_all->();
-
- my $grid = Newt::Grid::CreateGrid(3, max(1, int @$l));
- map_index {
- $grid->GridSetField(0, $::i, 1, ${Newt::Component::Label(-1, -1, $_->{e}{label})}, 0, 0, 1, 0, 1, 0);
- $grid->GridSetField(1, $::i, 1, ${$_->{real_w}}, 0, 0, 0, 0, 1, 0);
- } @widgets;
-
- my $listg = do {
- my $height = 18;
- #- use a scrolled window if there is a lot of checkboxes (aka ask_many_from_list)
- #- !! works badly together with list's :-(
- if ((grep { $_->{type} eq 'bool' } @$l) > 6 && $total_size > $height) {
- $grid->GridPlace(1, 1); #- Uh?? otherwise the size allocated is bad
-
- my $scroll = Newt::Component::VerticalScrollbar(-1, -1, $height, 9, 10);
- my $subf = $scroll->Form('', 0);
- $subf->FormSetHeight($height);
- $subf->FormAddGrid($grid, 0);
- Newt::Grid::HCloseStacked($subf, separator(1, $height), $scroll);
- } else {
- $grid;
- }
- };
- my ($buttons, $ok, $cancel) = Newt::Grid::ButtonBar($common->{ok} || _("Ok"), if_($common->{cancel}, $common->{cancel}));
-
- my $form = Newt::Component::Form(\undef, '', 0);
- my $window = Newt::Grid::GridBasicWindow(first(myTextbox(@widgets == 0, @{$common->{messages}})), $listg, $buttons);
- $window->GridWrappedWindow($common->{title} || '');
- $form->FormAddGrid($window, 1);
-
- my $check = sub {
- my ($f) = @_;
-
- $get_all->();
- my ($error, $focus) = $f->();
-
- if ($error) {
- $set_all->();
- }
- !$error;
- };
-
- my $canceled;
- do {
- my $r = $form->RunForm;
- foreach (@widgets) {
- if ($$r == ${$_->{w}}) {
- $form->FormDestroy;
- Newt::PopWindow;
- $_->{e}{clicked}();
- return ask_from_entries_refW($o, $common, $l, $l2);
- }
- }
- $canceled = $cancel && $$r == $$cancel;
-
- } until ($check->($common->{callbacks}{$canceled ? 'canceled' : 'complete'}));
-
- $form->FormDestroy;
- Newt::PopWindow;
- !$canceled;
-}
-
-
-sub waitbox {
- my ($title, $messages) = @_;
- my ($t, $w, $h) = myTextbox(1, @$messages);
- my $f = Newt::Component::Form(\undef, '', 0);
- Newt::CenteredWindow($w, $h, $title);
- $f->FormAddComponent($t);
- $f->DrawForm;
- Newt::Refresh;
- $f->FormDestroy;
- push @wait_messages, $f;
- $f;
-}
-
-
-sub wait_messageW {
- my ($o, $title, $messages) = @_;
- { form => waitbox($title, $messages), title => $title };
-}
-
-sub wait_message_nextW {
- my ($o, $messages, $w) = @_;
- $o->wait_message_endW($w);
- $o->wait_messageW($w->{title}, $messages);
-}
-sub wait_message_endW {
- my ($o, $w) = @_;
- my $wait = pop @wait_messages;
-# log::l("interactive_newt does not handle none stacked wait-messages") if $w->{form} != $wait;
- Newt::PopWindow;
-}
-
-sub kill {
-}
-
-
-1;
diff --git a/perl-install/interactive_stdio.pm b/perl-install/interactive_stdio.pm
deleted file mode 100644
index 284194a11..000000000
--- a/perl-install/interactive_stdio.pm
+++ /dev/null
@@ -1,97 +0,0 @@
-package interactive_stdio; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(interactive);
-
-use interactive;
-use common qw(:common);
-
-$| = 1;
-
-sub readln {
- my $l = <STDIN>;
- chomp $l;
- $l;
-}
-
-sub check_it {
- my ($i, $n) = @_;
- $i =~ /^\s*\d+\s*$/ && 1 <= $i && $i <= $n
-}
-
-sub ask_from_listW {
- my ($o, $title_, $messages, $list, $def) = @_;
- my ($title, @okcancel) = ref $title_ ? @$title_ : ($title_, _("Ok"), _("Cancel"));
- print map { "$_\n" } @$messages;
- my $i;
-
- if (@$list < 10 && sum(map { length $_ } @$list) < 50) {
- my @l;
- do {
- if (defined $i) {
- @l ? print _("Ambiguity (%s), be more precise\n", join(", ", @l)) :
- print _("Bad choice, try again\n");
- }
- @$list == 1 ? print @$list :
- print join("/", @$list), _(" ? (default %s) ", $def);
- $i = readln() || $def;
- @l = grep { /^$i/ } @$list;
- } until (@l == 1);
- $l[0];
- } else {
- my $n = 0; foreach (@$list) {
- $n++;
- $def eq $_ and $def = $n;
- print "$n: $_\n";
- }
- do {
- defined $i and print _("Bad choice, try again\n");
- print _("Your choice? (default %s) ", $def);
- $i = readln() || $def;
- } until (check_it($i, $n));
- $list->[$i - 1];
- }
-}
-
-sub ask_many_from_listW {
- my ($o, $title, $messages, $l) = @_;
- my ($list, $val) = ($l->{labels}, $l->{ref});
- my @defaults;
- print map { "$_\n" } @$messages;
- my $n = 0; foreach (@$list) {
- $n++;
- print "$n: $_\n";
- push @defaults, $n if ${$val->[$n - 1]};
- }
- my $i;
- TRY_AGAIN:
- defined $i and print _("Bad choice, try again\n");
- print _("Your choice? (default %s enter `none' for none) ", join(',', @defaults));
- $i = readln();
- my @t = split ',', $i;
- if ($i =~ /^none$/i) {
- @t = ();
- } else {
- foreach (@t) { check_it($_, $n) or goto TRY_AGAIN }
- }
-
- $$_ = 0 foreach @$val;
- ${$val->[$_ - 1]} = 1 foreach @t;
- $val;
-}
-
-sub wait_messageW {
- my ($o, $title, $message) = @_;
- print join "\n", @$message;
-}
-sub wait_message_nextW {
- my $m = join "\n", @{$_[1]};
- print "\r$m", ' ' x (60 - length $m);
-}
-sub wait_message_endW { print "\nDone\n" }
-
-1;
-
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm
deleted file mode 100644
index 0699a72f0..000000000
--- a/perl-install/keyboard.pm
+++ /dev/null
@@ -1,348 +0,0 @@
-
-package keyboard; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :system :file);
-use run_program;
-use commands;
-use log;
-use c;
-
-
-#-######################################################################################
-#- Globals
-#-######################################################################################
-my $KMAP_MAGIC = 0x8B39C07F;
-
-#- a best guess of the keyboard layout, based on the choosen locale
-my %lang2keyboard =
-(
- 'af' => 'us_intl',
-#-'ar' => 'ar:80',
- 'az' => 'az:80 tr:10 us_intl:5',
- 'be' => 'by:80 ru:50 ru_yawerty:40',
- 'be_BY.CP1251' => 'by:80 ru:50 ru_yawerty:40',
- 'bg' => 'bg:90',
-'bg_BG'=> 'bg:90',
- 'br' => 'fr:90',
- 'bs' => 'hr:60 sr:50 si:40',
- 'ca' => 'es:90 fr:15',
- 'cs' => 'cz_qwerty:70 cz:50 cz_prog:10',
- 'cy' => 'uk:90',
- 'da' => 'dk:90',
- 'de' => 'de_nodeadkeys:70 de:50',
-'de_AT'=> 'de_nodeadkeys:70 de:50',
-'de_BE'=> 'be:70 de_nodeadkeys:60 de:50',
-'de_CH'=> 'ch_de:70 ch_fr:25 de_nodeadkeys:20 de:15',
-'de_DE'=> 'de_nodeadkeys:70 de:50',
- 'el' => 'gr:90',
- 'en' => 'us:90 us_intl:50',
-'en_US'=> 'us:90 us_intl:50',
-'en_GB'=> 'uk:90 us:60 us_intl:50',
- 'eo' => 'us_intl:90 dvorak:20',
- 'es' => 'es:90 la:80 us_intl:50',
- 'es@tradicional' => 'es:90 la:80 us_intl:50',
-'es_AR'=> 'la:80 us_intl:50 es:20',
-'es_ES'=> 'es:90',
-'es_MX'=> 'la:80 us_intl:50 es:20',
- 'et' => 'ee:90',
- 'eu' => 'es:90 fr:15',
- 'fa' => 'ir:90',
- 'fi' => 'fi:90',
- 'fr' => 'fr:90',
-'fr_BE'=> 'be:90 fr:5',
-'fr_CA'=> 'qc:90 fr:5',
-'fr_CH'=> 'ch_fr:70 ch_de:15 fr:10',
-'fr_FR'=> 'fr:90',
- 'ga' => 'uk:90',
- 'gd' => 'uk:90',
- 'gl' => 'es:90',
- 'gv' => 'uk:90',
- 'he' => 'il:90 il_phonetic:10',
- 'hr' => 'hr:90 si:50',
- 'hu' => 'hu:90',
- 'hy' => 'am:80 am_old:10 am_phonetic:5',
- 'id' => 'us:90 us_intl:20',
- 'is' => 'is:90',
-'it_CH' => 'ch_fr:80 ch_de:60 it:50',
-'it_IT' => 'it:90',
- 'ja' => 'jp:80 us:50 us_intl:20',
- 'ka' => 'ge_la:80 ge_ru:50',
- 'kl' => 'dk:80 us_intl:30',
- 'ko' => 'kr:80 us:60',
- 'kw' => 'uk:90',
- 'lo' => 'us:60',
- 'lt' => 'lt:80 lt_new:70 lt_b:60 lt_p:50',
- 'lv' => 'lt:60 lt_new:50 lt_b:40 lt_p:30 ee:20',
- 'mi' => 'us_intl:60 uk:20 us:10',
- 'mk' => 'mk:80',
- 'ms' => 'us:90 us_intl:20',
- 'nb' => 'no:90 dvorak_no:10',
-'nl_BE'=> 'be:90 nl:10 us_intl:5',
-'nl_NL'=> 'us_intl:95 nl:15 us:10 uk:5',
- 'nn' => 'no:90 dvorak_no:10',
- 'no' => 'no:90 dvorak_no:10',
- 'oc' => 'fr:90',
- 'ph' => 'us:90 us_intl:20',
- 'pl' => 'pl:80 pl2:60',
- 'pp' => 'br:80 la:20 pt:10 us_intl:30',
-'pt_BR'=> 'br:80 la:20 pt:10 us_intl:30',
-'pt_PT'=> 'pt:80',
- 'ro' => 'us-intl:10',
- 'ru' => 'ru:90 ru_yawerty:80',
- 'ru_RU.CP1251' => 'ru:90 ru_yawerty:80',
- 'ru_RU.KOI8-R' => 'ru:90 ru_yawerty:80',
- 'sk' => 'sk_qwerty:80 sk:70 sk_prog:50',
- 'sl' => 'si:80 hr:50',
- 'sp' => 'sr:80',
- 'sr' => 'yu:80',
- 'sv' => 'se:90 fi:20',
- 'tg' => 'ru:50 ru_yawerty:40',
- 'th' => 'th:90',
- 'tr' => 'tr_q:90 tr_q:30',
- 'tt' => 'ru:50 ru_yawerty:40',
- 'uk' => 'ua:90 ru:50 ru_yawerty:40',
-'uk_UA' => 'ua:90 ru:50 ru_yawerty:40',
- 'uz' => 'us:80',
- 'vi' => 'vn:80 us:60 us_intl:50',
-'vi_VN.TCVN' => 'vn us:60 us_intl:50',
-'vi_VN.VISCII' => 'vn us:60 us_intl:50',
- 'wa' => 'be:90 fr:5',
-'zh_CN.GB2312' => 'us:60',
-'zh_TW.Big5' => 'us:60',
-);
-
-#- key = extension for Xmodmap file, [0] = description of the keyboard,
-#- [1] = name for loadkeys, [2] = name for XKB
-my %keyboards = (
-arch() =~ /^sparc/ ? (
- "cz" => [ __("Czech (QWERTZ)"), "sunt5-cz-us", "czsk(cz_us_qwertz)" ],
- "de" => [ __("German"), "sunt5-de-latin1", "de" ],
- "dvorak" => [ __("Dvorak"), "sundvorak", "dvorak" ],
- "es" => [ __("Spanish"), "sunt5-es", "es" ],
- "fi" => [ __("Finnish"), "sunt5-fi-latin1", "fi" ],
- "fr" => [ __("French"), "sunt5-fr-latin1", "fr" ],
- "no" => [ __("Norwegian"), "sunt4-no-latin1", "no" ],
- "pl" => [ __("Polish"), "sun-pl-altgraph", "pl" ],
- "ru" => [ __("Russian"), "sunt5-ru", "ru" ],
- "uk" => [ __("UK keyboard"), "sunt5-uk", "gb" ],
- "us" => [ __("US keyboard"), "sunkeymap", "us" ],
-) : (
-arch() eq "ppc" ? (
- "us" => [ __("US keyboard"), "mac-us-ext", "us" ],
- "de_nodeadkeys" => [ __("German"), "mac-de-latin1-nodeadkeys", "de(nodeadkeys)" ],
- "fr" => [ __("French"), "mac-fr2-ext", "fr" ],
-) : (
- "am_old" => [ __("Armenian (old)"), "am_old", "am(old)" ],
- "am" => [ __("Armenian (typewriter)"), "am-armscii8", "am" ],
- "am_phonetic" => [ __("Armenian (phonetic)"), "am_phonetic", "am(phonetic)" ],
-#- only xmodmap is currently available
-#-"ar_azerty" => [ __("Arabic (AZERTY)"), "ar-8859_6", "ar" ],
-#-"ar_qwerty" => [ __("Arabic (QWERTY)"), "ar-8859_6", "ar" ],
- "az" => [ __("Azerbaidjani (latin)"), "az", "az" ],
- "a3" => [ __("Azerbaidjani (cyrillic)"), "az-koi8c","az(cyrillic)" ],
- "be" => [ __("Belgian"), "be-latin1", "be" ],
- "bg" => [ __("Bulgarian"), "bg", "bg" ],
- "br" => [ __("Brazilian (ABNT-2)"), "br-abnt2", "br" ],
- "by" => [ __("Belarusian"), "by-cp1251", "byru" ],
- "ch_de" => [ __("Swiss (German layout)"), "sg-latin1", "de_CH" ],
- "ch_fr" => [ __("Swiss (French layout)"), "fr_CH-latin1", "fr_CH" ],
- "cz" => [ __("Czech (QWERTZ)"), "cz-latin2", "czsk(cz_us_qwertz)" ],
- "cz_qwerty" => [ __("Czech (QWERTY)"), "cz-lat2", "czsk(cz_us_qwerty)" ],
- "cz_prog" => [ __("Czech (Programmers)"), "cz-lat2-prog", "czsk(us_cz_prog)" ],
- "de" => [ __("German"), "de-latin1", "de" ],
- "de_nodeadkeys" => [ __("German (no dead keys)"), "de-latin1-nodeadkeys", "de(nodeadkeys)" ],
- "dk" => [ __("Danish"), "dk-latin1", "dk" ],
- "dvorak" => [ __("Dvorak (US)"), "pc-dvorak-latin1", "dvorak" ],
- "dvorak_no" => [ __("Dvorak (Norwegian)"), "no-dvorak", "dvorak(no)" ],
- "ee" => [ __("Estonian"), "ee-latin9", "ee" ],
- "es" => [ __("Spanish"), "es-latin1", "es" ],
- "fi" => [ __("Finnish"), "fi-latin1", "fi" ],
- "fr" => [ __("French"), "fr-latin1", "fr" ],
- "ge_ru"=>[__("Georgian (\"Russian\" layout)"),"ge_ru-georgian_academy","ge_ru"],
- "ge_la"=>[__("Georgian (\"Latin\" layout)"),"ge_la-georgian_academy","ge_la"],
- "gr" => [ __("Greek"), "gr-8859_7", "gr" ],
- "hu" => [ __("Hungarian"), "hu-latin2", "hu" ],
- "hr" => [ __("Croatian"), "croat", "yu" ],
- "il" => [ __("Israeli"), "il-8859_8", "il" ],
- "il_phonetic" => [ __("Israeli (Phonetic)"),"hebrew", "il_phonetic" ],
- "ir" => [ __("Iranian"), "ir-isiri3342","ir" ],
- "is" => [ __("Icelandic"), "is-latin1", "is" ],
- "it" => [ __("Italian"), "it-latin1", "it" ],
- "jp" => [ __("Japanese 106 keys"), "jp106", "jp" ],
- "kr" => [ __("Korean keyboard"),"us", "kr" ],
- "la" => [ __("Latin American"), "la-latin1", "la" ],
- "mk" => [ __("Macedonian"), "mk", "mk" ],
- "nl" => [ __("Dutch"), "nl-latin1", "nl" ],
- "lt" => [ __("Lithuanian AZERTY (old)"), "lt-latin7","lt_a" ],
-#- TODO: write a console kbd map for lt_new
- "lt_new" => [ __("Lithuanian AZERTY (new)"), "lt-latin7","lt_std" ],
- "lt_b" => [ __("Lithuanian \"number row\" QWERTY"), "ltb-latin7", "lt" ],
- "lt_p" => [ __("Lithuanian \"phonetic\" QWERTY"), "ltp-latin7", "lt_p" ],
- "no" => [ __("Norwegian"), "no-latin1", "no" ],
- "pl" => [ __("Polish (qwerty layout)"), "pl", "pl" ],
- "pl2" => [ __("Polish (qwertz layout)"), "pl-latin2", "pl2" ],
- "pt" => [ __("Portuguese"), "pt-latin1", "pt" ],
- "qc" => [ __("Canadian (Quebec)"), "qc-latin1","ca_enhanced" ],
- "ru" => [ __("Russian"), "ru4", "ru(winkeys)" ],
- "ru_yawerty" => [ __("Russian (Yawerty)"),"ru-yawerty","ru_yawerty" ],
- "se" => [ __("Swedish"), "se-latin1", "se" ],
- "si" => [ __("Slovenian"), "slovene", "si" ],
- "sk" => [ __("Slovakian (QWERTZ)"), "sk-qwertz", "czsk(sk_us_qwertz)" ],
- "sk_qwerty" => [ __("Slovakian (QWERTY)"), "sk-qwerty", "czsk(sk_us_qwerty)" ],
- "sk_prog" => [ __("Slovakian (Programmers)"), "sk-prog", "czsk(us_sk_prog" ],
- "th" => [ __("Thai keyboard"), "th", "th" ],
- "tr_f" => [ __("Turkish (traditional \"F\" model)"), "trf", "tr_f" ],
- "tr_q" => [ __("Turkish (modern \"Q\" model)"), "tr_q-latin5", "tr" ],
- "ua" => [ __("Ukrainian"), "ua", "ua" ],
- "uk" => [ __("UK keyboard"), "uk", "gb" ],
- "us" => [ __("US keyboard"), "us", "us" ],
- "us_intl" => [ __("US keyboard (international)"), "us-latin1", "us_intl" ],
- "vn" => [ __("Vietnamese \"numeric row\" QWERTY"),"vn-tcvn", "vn" ],
- "yu" => [ __("Yugoslavian (latin/cyrillic)"), "sr", "sr" ],
-)),
-);
-
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub keyboards { keys %keyboards }
-sub keyboard2text { $keyboards{$_[0]} && $keyboards{$_[0]}[0] }
-sub keyboard2kmap { $keyboards{$_[0]} && $keyboards{$_[0]}[1] }
-sub keyboard2xkb { $keyboards{$_[0]} && $keyboards{$_[0]}[2] }
-
-sub loadkeys_files {
- my $archkbd = arch() =~ /^sparc/ ? "sun" : arch() =~ /i.86/ ? "i386" : arch();
- my $p = "/usr/lib/kbd/keymaps/$archkbd";
- my $post = ".kmap.gz";
- my %trans = ("cz-latin2" => "cz-lat2");
- my (@l, %l);
- foreach (values %keyboards) {
- local $_ = $trans{$_->[1]} || $_->[1];
- my ($l) = grep { -e $_ } ("$p/$_$post");
- $l or /(..)/ and ($l) = grep { -e $_ } ("$p/$1$post");
- print STDERR "unknown $_\n" if $_[0] && !$l; $l or next;
- push @l, $l;
- foreach (`zgrep include $l | grep "^include"`) {
- /include\s+"(.*)"/ or die "bad line $_";
- @l{grep { -e $_ } ("$p/$1.inc.gz")} = ();
- }
- }
- @l, keys %l, grep { -e $_ } map { "$p/$_.inc.gz" } qw(compose euro windowkeys linux-keys-bare);
-}
-
-sub unpack_keyboards {
- my ($k) = @_ or return;
- [ map { [ split ':' ] } split ' ', $k ];
-}
-sub lang2keyboards {
- my ($l) = @_;
- my $li = unpack_keyboards($lang2keyboard{$l}) || [ $keyboards{$l} && $l || "us" ];
- $li->[0][1] ||= 100;
- $li;
-}
-sub lang2keyboard {
- my ($l) = @_;
- my $kb = lang2keyboards($l)->[0][0];
- $keyboards{$kb} ? $kb : "us"; #- handle incorrect keyboad mapping to us.
-}
-
-sub load {
- my ($keymap) = @_;
- return if $::testing;
-
- my ($magic, @keymaps) = unpack "I i" . c::MAX_NR_KEYMAPS() . "a*", $keymap;
- $keymap = pop @keymaps;
-
- $magic != $KMAP_MAGIC and die "failed to read kmap magic";
-
- local *F;
- sysopen F, "/dev/console", 2 or die "failed to open /dev/console: $!";
-
- my $count = 0;
- foreach (0 .. c::MAX_NR_KEYMAPS() - 1) {
- $keymaps[$_] or next;
-
- my @keymap = unpack "s" . c::NR_KEYS() . "a*", $keymap;
- $keymap = pop @keymap;
-
- my $key = -1;
- foreach my $value (@keymap) {
- $key++;
- c::KTYP($value) != c::KT_SPEC() or next;
- ioctl(F, c::KDSKBENT(), pack("CCS", $_, $key, $value)) or die "keymap ioctl failed ($_ $key $value): $!";
- }
- $count++;
- }
- #- log::l("loaded $count keymap tables");
-}
-
-sub xmodmap_file {
- my ($keyboard) = @_;
- my $f = "$ENV{SHARE_PATH}/xmodmap/xmodmap.$keyboard";
- if (! -e $f) {
- eval {
- require packdrake;
- my $packer = new packdrake("$ENV{SHARE_PATH}/xmodmap.cz2", quiet => 1);
- $packer->extract_archive("/tmp", "xmodmap.$keyboard");
- };
- $f = "/tmp/xmodmap.$keyboard";
- }
- -e $f && $f;
-}
-
-sub setup {
- return if arch() =~ /^sparc|ppc/;
- my ($keyboard) = @_;
- my $o = $keyboards{$keyboard} or return;
-
- log::l("loading keymap $o->[1]");
- if (-e (my $f = "$ENV{SHARE_PATH}/keymaps/$o->[1].bkmap")) {
- load(scalar cat_($f));
- } else {
- local *F;
- if (my $pid = open F, "-|") {
- local $/ = undef;
- eval { load(join('', <F>)) };
- waitpid $pid, 0;
- } else {
- eval {
- require packdrake;
- my $packer = new packdrake("$ENV{SHARE_PATH}/keymaps.cz2", quiet => 1);
- $packer->extract_archive(undef, "$o->[1].bkmap");
- };
- c::_exit(0);
- }
- }
- my $f = xmodmap_file($keyboard);
- eval { run_program::run('xmodmap', $f) } if $f && !$::testing && $ENV{DISPLAY};
-}
-
-sub write {
- my ($prefix, $keyboard, $charset, $isNotDelete) = @_;
-
- setVarsInSh("$prefix/etc/sysconfig/keyboard", { KEYTABLE => keyboard2kmap($keyboard),
- KBCHARSET => $charset,
- REMOVE_MOD_META_L => "",
- BACKSPACE => $isNotDelete ? "BackSpace" : "Delete" });
- run_program::rooted($prefix, "dumpkeys > /etc/sysconfig/console/default.kmap") or log::l("dumpkeys failed");
-}
-
-sub read {
- my ($prefix) = @_;
- my %keyf = getVarsFromSh("$prefix/etc/sysconfig/keyboard");
- my $keytable = $keyf{KEYTABLE};
- keyboard2kmap($_) eq $keytable and return $_ foreach keys %keyboards;
- $keyboards{$keytable} && $keytable; #- keep track of unknown keyboard.
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/lang.pm b/perl-install/lang.pm
deleted file mode 100644
index 92b653548..000000000
--- a/perl-install/lang.pm
+++ /dev/null
@@ -1,545 +0,0 @@
-package lang; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :file :system);
-use commands;
-use log;
-
-#-######################################################################################
-#- Globals
-#-######################################################################################
-#- key (to be used in $LC_ALL), [0] = english name, [1] = charset encoding,
-#- [2] = value for $LANG, [3] = value for LANGUAGE (a list of possible
-#- languages, carefully choosen)
-#-
-#- when adding a new language here, also add a line in kleyboards list
-my %languages = (
-'en_US' => [ 'English|United States', 'iso-8859-1', 'en', 'en_US:en' ],
-'en_GB' => [ 'English|United Kingdom', 'iso-8859-1', 'en', 'en_GB:en' ],
- 'af' => [ 'Afrikaans', 'iso-8859-1', 'af', 'af:en_ZA' ],
- 'ar' => [ 'Arabic', 'iso-8859-6', 'ar', 'ar' ],
- 'az' => [ 'Azeri (Latin)', 'iso-8859-9e','az', 'az:tr' ],
-#-'a3' => [ 'Azeri|Cyrillic', 'koi8-c', 'a3', 'a3' ],
- 'be' => [ 'Belarussian', 'cp1251', 'be', 'be:be_BY.CP1251:ru_RU.CP1251' ],
-#- provide aliases for some not very standard names used in po files...
- 'bg' => [ 'Bulgarian', 'cp1251', 'bg', 'bg:bg.CP1251:bg_BG.CP1251:bg_BG' ],
- 'br' => [ 'Brezhoneg', 'iso-8859-1', 'br', 'br:fr_FR:fr' ],
- 'bs' => [ 'Bosnian', 'iso-8859-2', 'bs', 'bs:hr:sr' ],
- 'ca' => [ 'Catalan', 'iso-8859-1', 'ca', 'ca:es_ES:es:fr_FR:fr' ],
- 'cs' => [ 'Czech', 'iso-8859-2', 'cs', 'cs' ],
- 'cy' => [ 'Cymraeg (Welsh)', 'iso-8859-14','cy', 'cy:en_GB:en' ],
- 'da' => [ 'Danish', 'iso-8859-1', 'da', 'da' ],
-'de_AT' => [ 'German|Austria', 'iso-8859-1', 'de', 'de_AT:de' ],
-'de_BE' => [ 'German|Belgium', 'iso-8859-1', 'de', 'de_BE:de' ],
-'de_CH' => [ 'German|Switzerland', 'iso-8859-1', 'de', 'de_CH:de' ],
-'de_DE' => [ 'German|Germany', 'iso-8859-1', 'de', 'de_DE:de' ],
- 'el' => [ 'Greek', 'iso-8859-7', 'el', 'el' ],
- 'eo' => [ 'Esperanto', 'iso-8859-3', 'eo', 'eo' ],
-'es_AR' => [ 'Spanish|Argentina', 'iso-8859-1', 'es', 'es_AR:es_UY:es:es_ES' ],
-'es_ES' => [ 'Spanish|Spain (modern sorting)', 'iso-8859-1', 'es', 'es_ES:es' ],
-'es@tradicional' => [ 'Spanish|Spain (traditional sorting)', 'iso-8859-1', 'es', 'es' ],
-'es_MX' => [ 'Spanish|Mexico', 'iso-8859-1', 'es', 'es_MX:es:es_ES' ],
- 'et' => [ 'Estonian', 'iso-8859-15','et', 'et' ],
- 'eu' => [ 'Euskara (Basque)', 'iso-8859-1', 'eu', 'eu:es_ES:fr_FR:es:fr' ],
- 'fa' => [ 'Farsi (Iranian)', 'isiri-3342', 'fa', 'fa' ],
- 'fi' => [ 'Finnish (Suomi)', 'iso-8859-15', 'fi', 'fi' ],
-#-'fo' => [ 'Faroese', 'iso-8859-1', 'fo', 'fo' ],
-'fr_BE' => [ 'French|Belgium', 'iso-8859-1', 'fr', 'fr_BE:fr' ],
-'fr_CA' => [ 'French|Canada', 'iso-8859-1', 'fr', 'fr_CA:fr' ],
-'fr_CH' => [ 'French|Switzerland', 'iso-8859-1', 'fr', 'fr_CH:fr' ],
-'fr_FR' => [ 'French|France', 'iso-8859-1', 'fr', 'fr_FR:fr' ],
- 'ga' => [ 'Gaeilge (Irish)', 'iso-8859-14','ga', 'ga:en_IE:en' ],
-#-'gd' => [ 'Scottish gaelic', 'iso-8859-14','gd', 'gd:en_GB:en' ],
- 'gl' => [ 'Galego (Galician)', 'iso-8859-1', 'gl', 'gl:es_ES:pt_PT:pt_BR:es:pt' ],
-#-'gv' => [ 'Manx gaelic', 'iso-8859-14','gv', 'gv:en_GB:en' ],
-#- 'iw' was the old code for hebrew language
- 'he' => [ 'Hebrew', 'iso-8859-8', 'he', 'he:iw_IL' ],
- 'hr' => [ 'Croatian', 'iso-8859-2', 'hr', 'hr' ],
- 'hu' => [ 'Hungarian', 'iso-8859-2', 'hu', 'hu' ],
- 'hy' => [ 'Armenian', 'armscii-8', 'hy', 'hy' ],
-#- 'in' was the old code for indonesian language; by putting LANGUAGE=id:in_ID
-#- we catch the few catalog files still using the wrong code
- 'id' => [ 'Indonesian', 'iso-8859-1', 'id', 'id:in_ID' ],
- 'is' => [ 'Icelandic', 'iso-8859-1', 'is', 'is' ],
-'it_CH' => [ 'Italian|Switzerland', 'iso-8859-1', 'it', 'it_IT:it' ],
-'it_IT' => [ 'Italian|Italy', 'iso-8859-1', 'it', 'it_IT:it' ],
- 'ja' => [ 'Japanese', 'jisx0208', 'ja', 'ja_JP.ujis:ja' ],
- 'ka' => [ 'Georgian', 'georgian-ps','ka', 'ka' ],
- 'kl' => [ 'Greenlandic (inuit)', 'iso-8859-1', 'kl', 'kl' ],
- 'ko' => [ 'Korean', 'ksc5601', 'ko', 'ko' ],
-#-'kw' => [ 'Cornish gaelic', 'iso-8859-14','kw', 'kw:en_GB:en' ],
-#-'lo' => [ 'Laotian', 'mulelao-1', 'lo', 'lo' ],
- 'lt' => [ 'Lithuanian', 'iso-8859-13','lt', 'lt' ],
- 'lv' => [ 'Latvian', 'iso-8859-13','lv', 'lv' ],
- 'mi' => [ 'Maori', 'iso-8859-13','mi', 'mi' ],
- 'mk' => [ 'Macedonian (Cyrillic)', 'iso-8859-5', 'mk', 'mk' ],
-#-'ms' => [ 'Malay', 'iso-8859-1', 'ms', 'ms' ],
-'nl_BE' => [ 'Dutch|Belgium', 'iso-8859-1', 'nl', 'nl_NL:nl' ],
-'nl_NL' => [ 'Dutch|Netherlands', 'iso-8859-1', 'nl', 'nl_NL:nl' ],
-# 'nb' is the new locale name in glibc 2.2
- 'no' => [ 'Norwegian|Bokmaal', 'iso-8859-1', 'no', 'no:nb:nn:no@nynorsk:no_NY' ],
-# no_NY is used by KDE (but not standard); 'nn' is the new locale in glibc 2.2
- 'nn' => [ 'Norwegian|Nynorsk', 'iso-8859-1', 'no', 'nn:no@nynorsk:no_NY:no:nb' ],
-#-'oc' => [ 'Occitan', 'iso-8859-1', 'oc', 'oc:fr_FR' ],
-#-'pd' => [ 'Plauttdietsch', 'iso-8859-1', 'pd', 'pd' ],
-#-'ph' => [ 'Pilipino', 'iso-8859-1', 'ph', 'ph:tl' ],
- 'pl' => [ 'Polish', 'iso-8859-2', 'pl', 'pl' ],
-#-'pp' => [ 'Papiamento', 'iso-8859-1', 'pp', 'pp' ],
-'pt_BR' => [ 'Portuguese|Brazil', 'iso-8859-1', 'pt_BR', 'pt_BR:pt_PT:pt' ],
-'pt_PT' => [ 'Portuguese|Portugal', 'iso-8859-1', 'pt', 'pt_PT:pt:pt_BR' ],
- 'ro' => [ 'Romanian', 'iso-8859-2', 'ro', 'ro' ],
-'ru_RU.KOI8-R' => [ 'Russian|KOI8-R', 'koi8-r', 'ru', 'ru_RU.KOI8-R:ru' ],
-'ru_RU.CP1251' => [ 'Russian|CP1251', 'cp1251', 'ru', 'ru_RU.CP1251:ru' ],
- 'sk' => [ 'Slovak', 'iso-8859-2', 'sk', 'sk' ],
- 'sl' => [ 'Slovenian', 'iso-8859-2', 'sl', 'sl' ],
- 'sp' => [ 'Serbian|Cyrillic', 'iso-8859-5', 'sp', 'sp:sr' ],
- 'sr' => [ 'Serbian|Latin', 'iso-8859-2', 'sr', 'sr' ],
- 'sv' => [ 'Swedish', 'iso-8859-1', 'sv', 'sv' ],
- 'ta' => [ 'Tamil', 'tscii-0', 'ta', 'ta' ],
- 'tg' => [ 'Tajik', 'koi8-c', 'tg', 'tg' ],
- 'th' => [ 'Thai', 'tis620', 'th', 'th' ],
- 'tr' => [ 'Turkish', 'iso-8859-9', 'tr', 'tr' ],
- 'tt' => [ 'Tatar', 'tatar-cyr', 'tg', 'tg' ],
-#-'ur' => [ 'Urdu', 'cp1256', 'ur', 'ur' ],
-'uk_UA' => [ 'Ukrainian', 'koi8-u', 'uk', 'uk_UA:uk' ],
- 'uz' => [ 'Uzbek', 'iso-8859-1', 'uz', 'uz' ],
- 'vi' => [ 'Vietnamese|TCVN', 'tcvn', 'vi',
- 'vi_VN.TCVN:vi_VN.TCVN-5712:vi_VN.tcvn:vi' ],
-'vi_VN.VISCII' => [ 'Vietnamese|VISCII','viscii', 'vi',
- 'vi_VN.VISCII:vi_VN.viscii:vi' ],
- 'wa' => [ 'Walon', 'iso-8859-1', 'wa', 'wa:fr_BE:fr' ],
-#-'yi' => [ 'Yiddish', 'cp1255', 'yi', 'yi' ],
-'zh_TW.Big5' => [ 'Chinese|Traditional', 'Big5', 'zh_TW.Big5', 'zh_TW.Big5:zh_TW.big5:zh_TW:zh' ],
-'zh_CN.GB2312' => [ 'Chinese|Simplified', 'gb2312', 'zh_CN.GB2312', 'zh_CN.GB2312:zh_CN.gb2312:zh_CN:zh' ],
-);
-
-my %xim = (
- 'zh_TW.Big5' => {
- ENC => 'big5',
- XIM => 'xcin',
- XIM_PROGRAM => 'xcin',
- XMODIFIERS => '"@im=xcin"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'zh_CN.GB2312' => {
- ENC => 'gb',
- XIM => 'xcin-zh_CN.GB2312',
- XIM_PROGRAM => 'xcin',
- XMODIFIERS => '"@im=xcin-zh_CN.GB2312"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'ko' => {
- ENC => 'kr',
- XIM => 'Ami',
- XIM_PROGRAM => 'ami',
- XMODIFIERS => '"@im=Ami"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'ja' => {
- ENC => 'eucj',
- XIM => 'kinput2',
- XIM_PROGRAM => 'kinput2',
- XMODIFIERS => '"@im=kinput2"',
- },
- #xvnkb is not an XIM input method; but an input method of another
- #kind, only XIM_PROGRAM needs to be defined
- 'vi' => {
- XIM_PROGRAM => 'xvnkb',
- },
- 'vi_VN.TCVN' => {
- XIM_PROGRAM => 'xvnkb',
- },
- 'vi_VN.VISCII' => {
- XIM_PROGRAM => 'xvnkb',
- },
- 'vi_VN.UTF-8' => {
- XIM_PROGRAM => 'xvnkb',
- },
- # right to left languages only work properly on console
- 'ar' => {
- X11_NOT_LOCALIZED => "yes",
- },
- 'fa' => {
- X11_NOT_LOCALIZED => "yes",
- },
-# KDE has some "mirrored" translations
-# 'he' => {
-# X11_NOT_LOCALIZED => "yes",
-# },
- 'ur' => {
- X11_NOT_LOCALIZED => "yes",
- },
- 'yi' => {
- X11_NOT_LOCALIZED => "yes",
- },
-);
-
-sub std2 { "-*-*-medium-r-normal-*-$_[1]-*-*-*-*-*-$_[0]" }
-sub std_ { std2($_[0], 10), std2($_[0], 10) }
-sub std { std2($_[0], $_[1] || 10), std2($_[0], 8) }
-
-#- [0]: console font name; [1]: unicode map for console font
-#- [2]: acm file for console font;
-#- [3]: iocharset param for mount; [4]: codepage parameter for mount
-#- [5]: X11 fontset
-my %charsets = (
- "armscii-8" => [ "arm8", "armscii8.uni", "trivial.trans",
- undef, undef, std_("armscii-8") ],
-#- chinese needs special console driver for text mode
- "Big5" => [ undef, undef, undef,
- "big5", "950", "-*-*-*-*-*-*-*-*-*-*-*-*-big5-0" ],
- "gb2312" => [ undef, undef, undef,
- "gb2312", "936", "-*-*-*-*-*-*-*-*-*-*-*-*-gb2312.1980-0" ],
- "georgian-academy" => [ "t_geors", "geors.uni", "trivial.trans",
- undef, undef, "-*-*-*-*-*-*-*-*-*-*-*-*-georgian-academy" ],
- "georgian-ps" => [ "t_geors", "geors.uni", "geors_to_geops.trans",
- undef, undef, "-*-*-*-*-*-*-*-*-*-*-*-*-georgian-academy" ],
- "iso-8859-1" => [ "lat0-sun16", undef, "iso15",
- "iso8859-1", "850", sub { std("iso8859-1", @_) } ],
- "iso-8859-2" => [ "lat2-sun16", undef, "iso02",
- "iso8859-2", "852", sub { std("iso8859-2", @_) } ],
- "iso-8859-3" => [ "iso03.f16", undef, "iso03",
- "iso8859-3", undef, std_("iso8859-3") ],
- "iso-8859-4" => [ "lat4u-16", undef, "iso04",
- "iso8859-4", "775", std_("iso8859-4") ],
- "iso-8859-5" => [ "iso05.f16", "iso05", "trivial.trans",
- "iso8859-5", "855",
- std2("iso8859-5", 10), std2("iso8859-5", 8) ],
-#-#- arabic needs special console driver for text mode [acon]
-#-#- (and gtk support isn't done yet)
- "iso-8859-6" => [ "iso06.f16", "iso06", "trivial.trans",
- "iso8859-6", "864", std_("iso8859-6") ],
- "iso-8859-7" => [ "iso07.f16", "iso07", "trivial.trans",
- "iso8859-7", "869", std_("iso8859-7") ],
-#-#- hebrew needs special console driver for text mode [acon]
-#-#- (and gtk support isn't done yet)
- "iso-8859-8" => [ "iso08.f16", "iso08", "trivial.trans",
-# std_("iso8859-8") ],
- "iso8859-8", "862", std_("microsoft-cp1255") ],
- "iso-8859-9" => [ "iso09.f16", "iso09", "trivial.trans",
- "iso8859-9", "857", sub { std("iso8859-9", @_) } ],
- "iso-8859-13" => [ "tlat7", "iso01", "trivial.trans",
- "iso8859-13", "775", std_("iso8859-13") ],
- "iso-8859-14" => [ "tlat8", "iso01", "trivial.trans",
- "iso8859-14", "850", std_("iso8859-14") ],
- "iso-8859-15" => [ "lat0-sun16", undef, "iso15",
- "iso8859-15", "850", std("iso8859-15") ],
- "iso-8859-9e" => [ "tiso09e", "iso09", "trivial.trans",
- "iso8859-9", "857", std2("iso8859-9e",10) ],
-#- japanese needs special console driver for text mode [kon2]
- "jisx0208" => [ undef, undef, "trivial.trans",
- "euc-jp", "932", "-*-*-*-*-*-*-*-*-*-*-*-*-jisx*.*-0" ],
- "koi8-r" => [ "UniCyr_8x16", undef, "koi8-r",
- "koi8-r", "866", std("koi8-r") ],
- "koi8-u" => [ "UniCyr_8x16", undef, "koi8-u",
- "koi8-u", "866", std("koi8-u") ],
- "koi8-k" => [ "koi8-k", "iso01", "trivial.trans",
- undef, undef, std("koi8-c") ],
- "tatar-cyr" => [ "tatar-cyr", undef, "cp1251",
- undef, undef, std("tatar-cyr") ],
- "cp1251" => [ "UniCyr_8x16", undef, "cp1251",
- "cp1251", "866", sub { std("microsoft-cp1251", @_) } ],
-#- Yiddish needs special console driver for text mode [acon]
-#- (and gtk support isn't done yet)
- "cp1255" => [ "iso08.f16", "iso08", "trivial.trans",
- "cp1255", "862", std_("microsoft-cp1255") ],
-#- Urdu needs special console driver for text mode [acon]
-#- (and gtk support isn't done yet)
- "cp1256" => [ undef, undef, "trivial.trans",
- undef, "864", std_("microsoft-cp1255") ],
-#- korean needs special console driver for text mode
- "ksc5601" => [ undef, undef, undef,
- "euc-kr", "949", "-*-*-*-*-*-*-*-*-*-*-*-*-ksc5601.1987-*" ],
-#- I have no console font for Thai...
- "tis620" => [ undef, undef, "trivial.trans",
- "tis-620", "874", std2("tis620.2533-1",12) ],
- "tcvn" => [ "tcvn8x16", "tcvn", "trivial.trans",
- undef, undef, std2("tcvn-5712", 13), std2("tcvn-5712", 10) ],
- "viscii" => [ "viscii10-8x16", "viscii.uni", "viscii1.0_to_viscii1.1.trans",
-#- "-*-*-*-*-*-*-*-*-*-*-*-*-viscii1.1-1" ],
- undef, undef, std2("tcvn-5712", 13), std2("tcvn-5712", 10) ],
-#- Farsi (iranian) needs special console driver for text mode [acon]
-#- (and gtk support isn't done yet)
- "isiri-3342" => [ undef, undef, "trivial.trans",
- undef, undef, "-*-*-*-*-*-*-*-*-*-*-*-*-isiri-3342" ],
- "tscii-0" => [ "tamil", undef, "trivial.trans",
- undef, undef, "-*-*-*-*-*-*-*-*-*-*-*-*-tscii-0" ],
- "unicode" => [ undef, undef, "trivial.trans",
- "utf8", undef, "-*-*-*-*-*-*-*-*-*-*-*-*-iso10646-1" ],
-);
-
-my %bigfonts = (
- Big5 => 'taipei16.pcf.gz',
- gb2312 => 'gb16fs.pcf.gz',
- jisx0208 => 'k14.pcf.gz',
- ksc5601 => 'baekmuk_gulim_h_14.pcf.gz',
- unicode => 'cu12.pcf.gz',
-);
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-
-sub list { keys %languages }
-sub lang2text { $languages{$_[0]} && $languages{$_[0]}[0] }
-sub lang2charset { $languages{$_[0]} && $languages{$_[0]}[1] }
-sub lang2LANG { $languages{$_[0]} && $languages{$_[0]}[2] }
-sub lang2LANGUAGE { $languages{$_[0]} && $languages{$_[0]}[3] }
-sub getxim { $xim{$_[0]} }
-
-sub set {
- my ($lang) = @_;
-
- if ($lang && $languages{$lang}) {
- #- use "packdrake -x" that follow symlinks and expand directory.
- #- it is necessary as there is a lot of symlinks inside locale.cz2,
- #- using a compressed cpio archive is nighmare to extract all files.
- #- reset locale environment variable to avoid any warnings by perl,
- #- so installation of new locale is done with empty locale ...
- unless (-e "$ENV{SHARE_PATH}/locale/$languages{$lang}[2]") {
- @ENV{qw(LANG LC_ALL LANGUAGE LINGUAS)} = ();
-
- eval { commands::rm("-r", "$ENV{SHARE_PATH}/locale") };
- eval {
- require packdrake;
- my $packer = new packdrake("$ENV{SHARE_PATH}/locale.cz2", quiet => 1);
- $packer->extract_archive("$ENV{SHARE_PATH}/locale", "UTF-8", $languages{$lang}[2]);
- };
- }
-
-#- set all LC_* variables to a unique locale ("C"), and only redefine
-#- LC_CTYPE (for X11 choosing the fontset) and LANGUAGE (for the po files)
- $ENV{LC_NUMERIC} = "C";
- $ENV{LC_TIME} = "C";
- $ENV{LC_COLLATE} = "C";
- $ENV{LC_MONETARY} = "C";
- $ENV{LC_MESSAGES} = "C";
- $ENV{LC_PAPER} = "C";
- $ENV{LC_NAME} = "C";
- $ENV{LC_ADDRESS} = "C";
- $ENV{LC_TELEPHONE} = "C";
- $ENV{LC_MEASUREMENT} = "C";
- $ENV{LC_IDENTIFICATION} = "C";
-
- $ENV{LC_CTYPE} = $lang;
- $ENV{LANG} = $languages{$lang}[2];
- $ENV{LANGUAGE} = $languages{$lang}[3];
-
- } else {
- # stick with the default (English) */
- delete $ENV{LANG};
- delete $ENV{LC_ALL};
- delete $ENV{LANGUAGE};
- delete $ENV{LINGUAS};
- }
-}
-
-sub langs {
- my ($l) = @_;
- grep { $l->{$_} } keys %$l;
-}
-
-sub langsLANGUAGE {
- my ($l) = @_;
- my @l = $l->{all} ? list() : langs($l);
- uniq(map { split ':', $languages{$_}[3] } @l);
-}
-
-sub pack_langs {
- my ($l) = @_;
- my $s = $l->{all} ? 'all' : join ':', uniq(map { $languages{$_}[3] } langs($l));
- $ENV{RPM_INSTALL_LANG} = $s;
- $s;
-}
-
-sub write_langs {
- my ($prefix, $langs) = @_;
- my $s = pack_langs($langs);
- symlink "$prefix/etc/rpm", "/etc/rpm" if $prefix;
- substInFile { s/%_install_langs.*//; $_ .= "%_install_langs $s\n" if eof && $s } "$prefix/etc/rpm/macros";
-}
-
-sub write {
- my ($prefix, $lang) = @_;
-
- $lang or return;
-
- my $h = {};
- $h->{$_} = $lang foreach qw(LC_COLLATE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_MONETARY LC_TIME);
- if (my $l = $languages{$lang}) {
- add2hash $h, { LANG => $l->[2], LANGUAGE => $l->[3] };
-
- my $c = $charsets{$l->[1] || ''};
- if ($c) {
- my $p = "$prefix/usr/lib/kbd";
- if ($c->[0]) {
- add2hash $h, { SYSFONT => $c->[0] };
- eval {
- commands::cp("-f",
- "$p/consolefonts/$c->[0].psf.gz",
- "$prefix/etc/sysconfig/console/consolefonts");
- };
- $@ and log::l("missing console font $c->[0]");
- }
- if ($c->[1]) {
- add2hash $h, { UNIMAP => $c->[1] };
- eval {
- commands::cp("-f",
- glob_("$p/consoletrans/$c->[1]*"),
- "$prefix/etc/sysconfig/console/consoletrans");
- };
- $@ and log::l("missing console unimap file $c->[1]");
- }
- if ($c->[2]) {
- add2hash $h, { SYSFONTACM => $c->[2] };
- eval {
- commands::cp("-f",
- glob_("$p/consoletrans/$c->[2]*"),
- "$prefix/etc/sysconfig/console/consoletrans");
- };
- $@ and log::l("missing console acm file $c->[2]");
- }
-
- }
- add2hash $h, $xim{$lang};
- }
- setVarsInSh("$prefix/etc/sysconfig/i18n", $h);
-}
-
-sub load_po {
- my ($lang) = @_;
- my ($s, $from, $to, $state, $fuzzy);
-
- $s .= "package po::I18N;\n";
- $s .= "no strict;\n";
- $s .= "\%{'$lang'} = (";
-
- my $f; -e ($f = "$_/po/$lang.po") and last foreach @INC;
-
- my $F;
- unless ($f && -e $f) {
- -e ($f = "$_/po/$lang.po.bz2") and last foreach @INC;
- if (-e $f) {
- open $F, "$ENV{LD_LOADER} bzip2 -dc $f 2>/dev/null |";
- } elsif ($::isInstall) {
- require install_any;
- $F = install_any::getFile("Mandrake/mdkinst/usr/bin/perl-install/po/$lang.po");
- }
- } else {
- open $F, $f; #- not returning here help avoiding reading the same multiple times.
- }
- local $_;
- while (<$F>) {
- /^msgstr/ and $state = 1;
- /^msgid/ && !$fuzzy and $state = 2;
- s/@/\\@/g;
-
- if (/^(#|$)/ && $state != 3) {
- $state = 3;
- if (my @l = $to =~ /%(\d+)\$/g) {
- $to =~ s/%(\d+)\$/%/g;
- $to = qq([ "$to", ) . join(",", map { $_ - 1 } @l) . " ],";
- } else {
- $to = qq("$to");
- }
- if ($from) {
- $s .= qq("$from" => ) . c::iconv($to, $lang::charset, c::standard_charset()) . ",\n";
- } elsif ($to =~ /charset=([\w-]+)/) {
- $lang::charset = $1;
- }
- $from = $to = '';
- }
- $to .= (/"(.*)"/)[0] if $state == 1;
- $from .= (/"(.*)"/)[0] if $state == 2;
-
- $fuzzy = /^#, fuzzy/;
- }
- $s .= ");";
- no strict "vars";
- eval $s;
- !$@;
-}
-
-
-sub console_font_files {
- map { -e $_ ? $_ : "$_.gz" }
- (map { "/usr/lib/kbd/consolefonts/$_.psf" } uniq grep {$_} map { $_->[0] } values %charsets),
- (map { -e $_ ? $_ : "$_.sfm" } map { "/usr/lib/kbd/consoletrans/$_" } uniq grep {$_} map { $_->[1] } values %charsets),
- (map { -e $_ ? $_ : "$_.acm" } map { "/usr/lib/kbd/consoletrans/$_" } uniq grep {$_} map { $_->[2] } values %charsets),
-}
-
-sub load_console_font {
- my ($lang) = @_;
- my ($charset) = $languages{$lang} && $languages{$lang}[1] ;
- my ($f, $u, $m) = @{$charsets{$charset} || []};
-
- require run_program;
- run_program::run(if_($ENV{LD_LOADER}, $ENV{LD_LOADER}), 'consolechars', '-v',
- ('-f', $f || 'lat0-sun16'),
- $u ? ('-u', $u) : (),
- $m ? ('-m', $m) : ());
-}
-
-#-sub load_font {
-#- my ($charset) = @_;
-#- my $fontFile = "lat0-sun16";
-#-
-#- if (my $c = $charsets{$charset}) {
-#- log::l("loading $charset font");
-#- $fontFile = $c->[0];
-#- }
-#-
-#- # text mode font
-#- log::l("loading font $ENV{SHARE_PATH}/consolefonts/$fontFile");
-#- #c::loadFont("/tmp/$fontFile") or log::l("error in loadFont: one of PIO_FONT PIO_UNIMAPCLR PIO_UNIMAP PIO_UNISCRNMAP failed: $!");
-#- #print STDERR "\033(K";
-#-
-#-}
-
-sub get_x_fontset {
- my ($lang, $size) = @_;
-
- my $l = $languages{$lang} or return;
- my $c = $charsets{$l->[1]} or return;
- if (my $f = $bigfonts{$l->[1]}) {
- my $dir = "/usr/X11R6/lib/X11/fonts";
- if (! -e "$dir/$f" && $::isInstall) {
- unlink "$dir/$_" foreach values %bigfonts;
- install_any::remove_bigseldom_used ();
- install_any::getAndSaveFile ("$dir/$f");
- }
- }
- my ($big, $small) = @$c[5..6];
- ($big, $small) = $big->($size) if ref $big;
- ($big, $small);
-}
-
-sub fs_options {
- my ($lang) = @_;
- my $l = $languages{$lang} or return;
- my $c = $charsets{$l->[1]} or return;
- my ($iocharset, $codepage) = @$c[3..4];
- +{
- if_($iocharset, iocharset => $iocharset),
- if_($codepage, codepage => $codepage),
- };
-}
-
-sub charset {
- my ($lang, $prefix) = @_;
- my $l = $languages{$lang} && $languages{$lang}[2];
- foreach (cat_("$prefix/usr/X11R6/lib/X11/locale/locale.alias")) {
- /$l:\s+.*\.(\S+)/ and return $1;
- }
- $l =~ /.*\.(\S+)/ and return $1;
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/list.sparc b/perl-install/list.sparc
deleted file mode 100644
index 448e0b63e..000000000
--- a/perl-install/list.sparc
+++ /dev/null
@@ -1,74 +0,0 @@
-/bin/ash
-/bin/cpio
-/lib/libnss_nis.so.2
-/lib/libnss_files.so.2
-/lib/libnss_dns.so.2
-/lib/libresolv.so.2
-/etc/protocols
-/sbin/fdisk
-/sbin/ifport
-/sbin/insmod
-/sbin/mkraid
-/sbin/rmmod
-/sbin/mkdosfs
-/sbin/mke2fs
-/sbin/raidstart
-/usr/bin/bzip2
-/usr/bin/perl
-/usr/lib/libimlib-png.so
-/usr/lib/gtk/themes/engines/libpixmap.so
-/usr/lib/gtk/themes/engines/libpixmap.la
-/usr/lib/libimlib-png.so
-/usr/lib/perl5/5.00503/AutoLoader.pm
-/usr/lib/perl5/5.00503/Carp.pm
-/usr/lib/perl5/5.00503/Data/Dumper.pm
-/usr/lib/perl5/5.00503/Exporter.pm
-/usr/lib/perl5/5.00503/FileHandle.pm
-/usr/lib/perl5/5.00503/SelectSaver.pm
-/usr/lib/perl5/5.00503/SelfLoader.pm
-/usr/lib/perl5/5.00503/Symbol.pm
-/usr/lib/perl5/5.00503/Time/Local.pm
-/usr/lib/perl5/5.00503/dumpvar.pl
-/usr/lib/perl5/5.00503/sparc-linux/Config.pm
-/usr/lib/perl5/5.00503/sparc-linux/DynaLoader.pm
-/usr/lib/perl5/5.00503/sparc-linux/Fcntl.pm
-/usr/lib/perl5/5.00503/sparc-linux/auto/Fcntl/Fcntl.bs
-/usr/lib/perl5/5.00503/sparc-linux/auto/Fcntl/Fcntl.so
-/usr/lib/perl5/5.00503/sparc-linux/IO/File.pm
-/usr/lib/perl5/5.00503/sparc-linux/IO/Handle.pm
-/usr/lib/perl5/5.00503/sparc-linux/IO/Seekable.pm
-/usr/lib/perl5/5.00503/sparc-linux/IO/Socket.pm
-/usr/lib/perl5/5.00503/sparc-linux/Socket.pm
-/usr/lib/perl5/5.00503/sparc-linux/_h2ph_pre.ph
-/usr/lib/perl5/5.00503/sparc-linux/asm/unistd.ph
-/usr/lib/perl5/5.00503/sparc-linux/asm-sparc/unistd.ph
-/usr/lib/perl5/5.00503/sparc-linux/asm-sparc64/unistd.ph
-/usr/lib/perl5/5.00503/sparc-linux/auto/Data/Dumper/Dumper.bs
-/usr/lib/perl5/5.00503/sparc-linux/auto/Data/Dumper/Dumper.so
-/usr/lib/perl5/5.00503/sparc-linux/auto/IO/IO.so
-/usr/lib/perl5/5.00503/sparc-linux/auto/Socket/Socket.bs
-/usr/lib/perl5/5.00503/sparc-linux/auto/Socket/Socket.so
-/usr/lib/perl5/5.00503/sparc-linux/bits/syscall.ph
-/usr/lib/perl5/5.00503/sparc-linux/sys/syscall.ph
-/usr/lib/perl5/5.00503/sparc-linux/syscall.ph
-/usr/lib/perl5/5.00503/lib.pm
-/usr/lib/perl5/5.00503/overload.pm
-/usr/lib/perl5/5.00503/strict.pm
-/usr/lib/perl5/5.00503/vars.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Gtk.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Gtk/Types.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Cmd.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Config.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/A.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/I.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/dataconn.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Netrc.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/auto/Gtk/Gtk.bs
-/usr/lib/perl5/site_perl/5.005/sparc-linux/auto/Gtk/Gtk.so
-/usr/lib/rpm/rpmrc
-/usr/X11R6/bin/XF86_FBDev
-/usr/X11R6/bin/XF86_Mach64
-/usr/X11R6/bin/Xsun
-/usr/X11R6/bin/xmodmap
-/usr/X11R6/lib/modules/xf86Wacom.so
diff --git a/perl-install/live_install b/perl-install/live_install
deleted file mode 100755
index c749aa7d7..000000000
--- a/perl-install/live_install
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-
-if [ "$UID" -ne 0 ]; then
- echo >&2 "you need to be root to start live install"
- exit 3
-fi
-
-if [ -x ./Mandrake/mdkinst/usr/bin/perl-install/live_install2 ]; then
- dir=`pwd`/Mandrake/mdkinst
-elif [ -x ../../../../../Mandrake/mdkinst/usr/bin/perl-install/live_install2 ]; then
- dir=`pwd`/../../..
-else
- echo >&2 "unable to get a working live system to start, check your working directory"
- exit 2
-fi
-
-/bin/rm -rf /tmp/image
-/bin/mkdir -m 0700 /tmp/image || exit 1
-/bin/rm -rf /tmp/drakx
-/bin/mkdir -m 0700 /tmp/drakx || exit 2
-
-for i in Mandrake RPMS misc boot images VERSION
-do
- /bin/ln -sf "$dir/../../$i" "/tmp/image/$i"
-done
-
-/bin/cp -a "$dir/../../Mandrake/mdkinst" "/tmp/drakx"
-
-if [ -x "/tmp/drakx/mdkinst/usr/bin/perl-install/live_install2" ]; then
- # get correct fonts for DrakX.
- if [ -n "$DISPLAY" ]; then
- xset +fp /tmp/drakx/mdkinst/usr/X11R6/lib/X11/fonts/
- xset fp rehash
- fi
-
- # avoid pollution for environment
- unset LC_MONETARY LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME LC_COLLATE LANGUAGE LANG RPM_INSTALL_LANG
-
- # start DrakX, do not keep shell script in background else the CD is locked by it!!!
- cd /tmp/drakx/mdkinst/usr/bin/perl-install
- exec ../../../lib/ld-linux.so.2 ../perl ./live_install2
-fi
-
-echo >&2 "unable to get a working live system to start, check your working directory"
-exit 2
diff --git a/perl-install/live_install2 b/perl-install/live_install2
deleted file mode 100755
index 5fee58147..000000000
--- a/perl-install/live_install2
+++ /dev/null
@@ -1,46 +0,0 @@
-#!../perl
-
-my $dir = `pwd`;
-chomp $dir;
-$dir .= "/../../..";
-
-#- keep it mind the ELF loader to use.
-$ENV{LD_LOADER} = "$dir/lib/ld-linux.so.2";
-
-$ENV{LOCPATH}="$dir/usr/share/locale";
-$ENV{GCONV_PATH}="$dir/usr/lib/gconv";
-$ENV{PERL5LIB} = join ":", map { "$dir/$_" } @INC;
-$ENV{LD_LIBRARY_PATH} = "$dir/usr/bin:$dir/bin:$dir/sbin:$dir/usr/sbin:$dir/usr/X11R6/bin:$dir/lib:$dir/usr/lib:$dir/usr/lib/perl5/5.6.0/i386-linux/CORE";
-$ENV{PATH} = join(":", map { "$dir/$_" } split ":", "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin") . ":$ENV{PATH}";
-$ENV{SHARE_PATH} = "$dir/usr/share";
-$ENV{RPMRC_FILE} = "$dir/usr/lib/rpm/rpmrc";
-$ENV{GTK_DATA_PREFIX} = "$dir/usr";
-$ENV{GTK_EXE_PREFIX} = "$dir/usr";
-$ENV{GDK_IMLIB_PATH} = "$dir/usr/lib";
-
-system $ENV{LD_LOADER}, "../perl", "-i", "-pe", "s,^(.*macrofiles[^/]*)(.*),\$1$dir/usr/lib/rpm/macros:\$2,", $ENV{RPMRC_FILE};
-system $ENV{LD_LOADER}, "../perl", "./install2", "--live", @ARGV;
-
-#- at this point, unwind above else they will not run correctly (wrong ld-linux.so.2)
-delete $ENV{GTK_EXE_PREFIX};
-delete $ENV{RPMRC_FILE};
-delete $ENV{LOCPATH};
-delete $ENV{SHARE_PATH};
-delete $ENV{PATH};
-delete $ENV{LD_LIBRARY_PATH};
-delete $ENV{PERL5LIB};
-delete $ENV{LD_LOADER};
-
-$ENV{DISPLAY} and system "xset", "-fp", "/tmp/drakx/mdkinst/usr/X11R6/lib/X11/fonts/";
-foreach (qw(misc PEX Speedo Type1 mdk 75dpi 100dpi cyrillic)) {
- -d "/usr/X11R6/lib/X11/fonts/$_" or next;
- -e "/usr/X11R6/lib/X11/fonts/$_/fonts.dir" and next;
- chdir "/usr/X11R6/lib/X11/fonts/$_";
- system "mkfontdir";
-}
-$ENV{DISPLAY} and system "xset", "fp", "rehash";
-
-system "/bin/rm", "-rf", "/tmp/drakx";
-system "/bin/rm", "-rf", "/tmp/rhimage";
-
-exec "/bin/sync";
diff --git a/perl-install/log.pm b/perl-install/log.pm
deleted file mode 100644
index b049f5d49..000000000
--- a/perl-install/log.pm
+++ /dev/null
@@ -1,60 +0,0 @@
-package log; # $Id$
-
-use diagnostics;
-use strict;
-use c;
-
-
-#-#####################################################################################
-#- Globals
-#-#####################################################################################
-my $logOpen = 0;
-my $logDebugMessages = 0;
-
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub F() { *LOG }
-
-sub l {
- $logOpen or openLog();
- if ($::isStandalone) {
- c::syslog(join "", @_);
- } elsif ($::isInstall) {
- print LOG "* ", @_, "\n";
- print LOG2 "* ", @_, "\n";
- } else {
- print STDERR @_, "\n";
- }
-}
-sub ld { $logDebugMessages and &l }
-sub w { &l }
-
-sub openLog(;$) {
- if ($::isStandalone) {
- c::openlog("DrakX");
- } elsif ($::isInstall) {
- if ($_[0]) { #- useLocal
- open LOG, "> $_[0]";# or die "no log possible :(";
- } else {
- open LOG, "> /dev/tty3" or open LOG, ">> /tmp/install.log";# or die "no log possible :(";
- }
- open LOG2, ">> /tmp/ddebug.log";# or die "no log possible :(";
- select((select(LOG), $| = 1)[0]);
- select((select(LOG2), $| = 1)[0]);
- }
- exists $ENV{DEBUG} and $logDebugMessages = 1;
- $logOpen = 1;
-}
-
-sub closeLog() {
- if ($::isStandalone) {
- c::closelog();
- } else { close LOG; close LOG2; }
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/loopback.pm b/perl-install/loopback.pm
deleted file mode 100644
index 955019748..000000000
--- a/perl-install/loopback.pm
+++ /dev/null
@@ -1,116 +0,0 @@
-package loopback; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :system :file :functional);
-use partition_table qw(:types);
-use commands;
-use fs;
-use log;
-
-
-sub file {
- my ($part) = @_;
- ($part->{device}{mntpoint} || die "loopback::file but loopback file has no associated mntpoint") .
- $part->{loopback_file};
-}
-
-sub loopbacks {
- map { map { @{$_->{loopback} || []} } partition_table::get_normal_parts($_) } @_;
-}
-
-sub carryRootLoopback {
- my ($part) = @_;
- $_->{mntpoint} eq '/' and return 1 foreach @{$part->{loopback} || []};
- 0;
-}
-
-sub carryRootCreateSymlink {
- my ($part, $prefix) = @_;
-
- carryRootLoopback($part) or return;
-
- my $mntpoint = "$prefix$part->{mntpoint}";
- unless (-e $mntpoint) {
- eval { commands::mkdir_("-p", dirname($mntpoint)) };
- #- do non-relative link for install, should be changed to relative link before rebooting
- symlink "/initrd/loopfs", $mntpoint;
-
- commands::mkdir_("-p", "/initrd/loopfs/lnx4win/boot");
- symlink "/initrd/loopfs/lnx4win/boot", "$prefix/boot";
- }
- #- indicate kernel to keep initrd
- mkdir "$prefix/initrd", 0755;
-}
-
-
-sub format_part {
- my ($part, $prefix) = @_;
- fs::mount_part($part->{device}, $prefix);
- my $f = create($part, $prefix);
- local $part->{device} = $f;
- fs::real_format_part($part);
-}
-
-sub create {
- my ($part, $prefix) = @_;
- my $f = "$prefix$part->{device}{mntpoint}$part->{loopback_file}";
- return $f if -e $f;
-
- eval { commands::mkdir_("-p", dirname($f)) };
-
- log::l("creating loopback file $f ($part->{size} sectors)");
-
- local *F;
- sysopen F, $f, 2 | c::O_CREAT() or die "failed to create loopback file";
- sysseek F, ($part->{size} << 9) - 1, 0 or die "failed to create loopback file";
- syswrite F, "\0" or die "failed to create loopback file";
- $f;
-}
-
-sub getFree {
- my ($dir, $part) = @_;
- my $freespace = $dir ?
- 2 * (common::df($dir))[1] : #- df in KiB
- $part->{size};
-
- $freespace - sum map { $_->{size} } @{$part->{loopback} || []};
-}
-
-#- returns the size of the loopback file if it already exists
-#- returns -1 is the loopback file can't be used
-sub verifFile {
- my ($dir, $file, $part) = @_;
- -e "$dir$file" and return -s "$dir$file";
-
- $_->{loopback_file} eq $file and return -1 foreach @{$part->{loopback} || []};
-
- undef;
-}
-
-sub prepare_boot {
- my ($prefix) = @_;
- my $r = readlink "$prefix/boot";
- unlink "$prefix/boot";
- mkdir "$prefix/boot", 0755;
- [$r, $prefix];
-}
-
-sub save_boot {
- my ($loop_boot, $prefix) = @{$_[0]};
-
- $loop_boot or return;
-
- my @files = glob_("$prefix/boot/*");
- commands::cp("-f", @files, $loop_boot) if @files;
- commands::rm("-rf", "$prefix/boot");
- symlink $loop_boot, "$prefix/boot";
-}
-
-
-1;
-
diff --git a/perl-install/lvm.pm b/perl-install/lvm.pm
deleted file mode 100644
index 8d7207723..000000000
--- a/perl-install/lvm.pm
+++ /dev/null
@@ -1,98 +0,0 @@
-package lvm; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :functional :system :file);
-use modules;
-use fsedit;
-use devices;
-use run_program;
-
-#- for partition_table_xxx emulation
-sub hasExtended { 0 }
-sub adjustStart {}
-sub adjustEnd {}
-sub write {}
-sub cylinder_size {
- my ($hd) = @_;
- $hd->{PE_size};
-}
-
-
-eval { modules::load('lvm-mod') };
-run_program::run('vgscan') if !-e '/etc/lvmtab';
-run_program::run('vgchange', '-a', 'y');
-
-sub get_vg {
- my ($part) = @_;
- my $dev = devices::make($part->{device});
- (split(':', `pvdisplay -c $dev`))[1];
-}
-
-sub update_size {
- my ($lvm) = @_;
- my @l = split(':', `vgdisplay -c -D $lvm->{LVMname}`);
- $lvm->{totalsectors} = ($lvm->{PE_size} = $l[12]) * $l[13];
-}
-
-sub get_lvs {
- my ($lvm) = @_;
- $lvm->{primary}{normal} =
- [
- map {
- my $type = -e $_ && fsedit::typeOfPart($_);
- { device => $_,
- type => $type || 0x83,
- size => (split(':', `lvdisplay -D -c $_`))[6] }
- } map { /^LV Name\s+(\S+)/ ? $1 : () } `vgdisplay -v -D $lvm->{LVMname}`
- ];
-}
-
-sub vg_add {
- my ($part) = @_;
- if (my $old_name = get_vg($part)) {
- run_program::run('vgchange', '-a', 'n', $old_name);
- run_program::run('vgremove', $old_name);
- }
- my $dev = devices::make($part->{device});
- run_program::run_or_die('pvcreate', $dev);
- my $prog = run_program::run('vgdisplay', $part->{lvm}) ? 'vgextend' : 'vgcreate';
- run_program::run_or_die($prog, $part->{lvm}, $dev);
-}
-
-sub vg_destroy {
- my ($lvm) = @_;
-
- is_empty_array_ref($lvm->{primary}{normal}) or die _("Remove the logical volumes first\n");
- run_program::run('vgchange', '-a', 'n', $lvm->{LVMname});
- run_program::run_or_die('vgremove', $lvm->{LVMname});
- foreach (@{$lvm->{disks}}) {
- delete $_->{lvm};
- $_->{isFormatted} = 0;
- $_->{notFormatted} = 1;
- }
-}
-
-sub lv_delete {
- my ($lvm, $lv) = @_;
-
- run_program::run_or_die('lvremove', '-f', $lv->{device});
-
- my $list = $lvm->{primary}{normal};
- @$list = grep { $_ != $lv } @$list;
-}
-
-sub lv_create {
- my ($lvm, $lv) = @_;
- my $list = $lvm->{primary}{normal};
- my $nb = 1 + max(map { basename($_->{device}) } @$list);
- $lv->{device} = "/dev/$lvm->{LVMname}/$nb";
- run_program::run_or_die('lvcreate', '--size', int($lv->{size} / 2) . 'k', '-n', $nb, $lvm->{LVMname});
- push @$list, $lv;
-}
-
-1;
diff --git a/perl-install/modparm.pm b/perl-install/modparm.pm
deleted file mode 100644
index b6aee8905..000000000
--- a/perl-install/modparm.pm
+++ /dev/null
@@ -1,60 +0,0 @@
-package modparm; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :functional);
-use log;
-
-
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub read_modparm_file {
- my $file = -e "modparm.lst" ? "modparm.lst" : "$ENV{SHARE_PATH}/modparm.lst";
- my @line;
-
- my %modparm_hash;
- local *F; open F, $file or log::l("missing $file: $!"), return;
- local $_;
- while (<F>) {
- chomp;
- @line = split ':';
-
- $modparm_hash{$line[0]}{$line[1]} = {
- type => $line[2],
- default => $line[3],
- desc => $line [4],
- };
- }
- \%modparm_hash;
-}
-
-sub get_options_result($@) {
- my ($module, @value) = @_;
- my $modparm_hash = modparm::read_modparm_file;
-
- mapn {
- my ($a, $b) = @_;
- $a ? "$b=$a" : ()
- } \@value, [ keys %{$modparm_hash->{$module}} ];
-}
-
-sub get_options_name($) {
- my ($module) = @_;
- my @names;
- my $modparm_hash = modparm::read_modparm_file;
-
- while (my ($k, $v) = each %{$modparm_hash->{$module} || {}}) {
- my $opttype = $v->{type};
- my $default = $v->{default};
- push @names, "$k ($v->{type})" . (defined($v->{default}) && "[$v->{default}]");
- }
- @names;
-}
-
-1;
diff --git a/perl-install/modules.pm b/perl-install/modules.pm
deleted file mode 100644
index c2d9ccb2c..000000000
--- a/perl-install/modules.pm
+++ /dev/null
@@ -1,799 +0,0 @@
-package modules; # $Id$
-
-use strict;
-use vars qw(%drivers);
-
-use common qw(:common :file :system :functional);
-use detect_devices;
-use run_program;
-use log;
-
-
-my %conf;
-my $scsi = 0;
-my %deps = ();
-
-my @drivers_by_category = (
-[ 'net', {
-if_(arch() =~ /ppc/,
- "mace" => "Apple PowerMac Ethernet",
- "bmac" => "Apple G3 Ethernet",
- "gmac" => "Apple G4/iBook Ethernet",
-),
-if_(arch() =~ /^sparc/,
- "myri_sbus" => "MyriCOM Gigabit Ethernet",
- "sunbmac" => "Sun BigMac Ethernet",
- "sunqe" => "Sun Quad Ethernet",
-),
-if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- "3c501" => "3com 3c501",
- "3c503" => "3com 3c503",
- "3c505" => "3com 3c505",
- "3c507" => "3com 3c507",
- "3c509" => "3com 3c509",
- "3c515" => "3com 3c515",
- "3c90x" => "3Com 3c90x (Cyclone/Hurricane/Tornado)",
- "3c90x" => "3Com 3c90x (Cyclone/Hurricane/Tornado)",
- "82596" => "Apricot 82596",
- "abyss" => "Smart 16/4 PCI Ringnode (token ring)",
- "ac3200" => "Ansel Communication AC3200",
- "acenic" => "AceNIC Gigabit Ethernet",
- "aironet4500_card" => "aironet4500_card",
- "at1700" => "Allied Telesis AT1700",
- "atp" => "ATP",
- "com20020-pci" => "com20020-pci",
- "cs89x0" => "CS89x0",
- "de600" => "D-Link DE-600 pocket adapter",
- "de620" => "D-Link DE-620 pocket adapter",
- "defxx" => "DEC DEFPA FDDI", # most unused
- "depca" => "Digital DEPCA and EtherWORKS",
- "dgrs" => "Digi International RightSwitch",
- "dmfe" => "dmfe",
- "e100" => "Intel Ethernet Pro 100", #- newer Intel version of eepro100
- "e1000" => "Intel Gigabit Ethernet",
- "e2100" => "Cabletron E2100",
- "eepro" => "Intel EtherExpress Pro",
- "eepro100" => "Intel EtherExpress Pro 100", #- should run on sparc but no memory on floppy
- "eexpress" => "Intel EtherExpress",
- "epic100" => "SMC 83c170 EPIC/100",
- "eth16i" => "ICL EtherTeam 16i",
- "ewrk3" => "Digital EtherWORKS 3",
- "hamachi" => "Packet Engines Inc.|PCI Ethernet Adapter",
- "hp" => "HP LAN/AnyLan",
- "hp-plus" => "HP PCLAN/plus",
- "hp100" => "HP10/100VG any LAN ",
- "ibmtr" => "Token Ring Tropic",
- "kaweth" => "kaweth",
-# requires scsi_mod??? "iph5526" => "iph5526",
- "lance" => "Lance",
- "natsemi" => "National Semiconductor 10/100",
- "ne" => "NE1000, NE2000, and clones",
- "ne2k-pci" => "NE2000 PCI clones",
- "ni5010" => "NI 5010",
- "ni52" => "NI 5210",
- "ni65" => "NI 6510",
- "old_tulip" => "Digital 21040/21041/21140 (old Tulip driver)",
- "olympic" => "IBM|16/4 Token ring UTP/STP controller",
- "pcnet32" => "AMD PC/Net 32",
- "pegasus" => "pegasus",
- "plip" => "PLIP (parallel port)",
- "rcpci" => "Red Creek Hardware VPN",
- "rrunner" => "Roadrunner serial HIPPI", # mostly unused
- "sb1000" => "sb1000",
- "sis900" => "sis900",
- "sk98lin" => "Syskonnect (Schneider & Koch)|Gigabit Ethernet",
- "sktr" => "Syskonnect Token ring adaptor",
- "smc-ultra" => "SMC Ultra",
- "smc9194" => "SMC 9000 series",
- "starfire" => "Adaptec|ANA620xx/ANA69011A Fast Ethernet",
- "tlan" => "Compaq Netelligent, Olicom OC-2xxx",
- "tmspci" => "3Com Token Link Velocity, Compaq IPG-Austin Token Ring",
- "tulip" => "Digital 21040/21041/21140 (Tulip)",
- "via-rhine" => "VIA VT86c100A Rhine-II, 3043 Rhine-I",
-# "wavelan" => "AT&T WaveLAN & DEC RoamAbout DS", # TODO is a "AT&T GIS WaveLAN ISA" ?
- "wd" => "WD8003, WD8013 and compatible",
- "winbond-840" => "Compex RL100-ATX",
- "yellowfin" => "Symbios Yellowfin G-NIC",
-#******(missing-2.4) "smc-ultra32" => "SMC Ultra 32",
-#******(missing-2.4) "rl100a" => "rl100a",
-#******(missing-2.4) "z85230" => "Z85x30",
-),
- "3c59x" => "3com Vortex/Boomerang/Hurricane/Cyclone/Etherlink",
- "8139too" => "Realtek RTL-8139",
- "de4x5" => "Digital 425,434,435,450,500",
- "rtl8139" => "RealTek RTL8129/8139",
- "sundance" => "sundance",
- "sunhme" => "Sun Happy Meal Ethernet",
-}],
-[ 'net_raw', {
- "8390" => "8390",
- "af_packet" => "packet socket",
- "nfs" => "Network File System (nfs)",
- "lockd" => "lockd",
- "parport" => "parport",
- "parport_pc" => "parport_pc",
- "sunrpc" => "sunrpc",
- "pci-scan" => "pci-scan",
- "usbcore" => "usbcore",
-}],
-[ 'isdn', {
- "hisax" => "hisax",
- "hysdn" => "hysdn",
- "b1pci" => "b1pci",
- "t1pci" => "t1pci",
- "c4" => "c4",
-}],
-[ 'tv', {
- "bttv" => "Brooktree Corporation|Bt8xx Video Capture",
- "cpia_usb" => '',
- "ibmcam" => '',
- "mod_quickcam" => '',
- "ov511" => '',
- "ultracam" => '',
- "usbvideo" => '',
-}],
-[ 'scanner', {
- "scanner" => '',
- "microtek" => '',
-}],
-[ 'photo', {
- "dc2xx" => '',
- "mdc800" => '',
-}],
-[ 'joystick', {
- "ns558" => "Creative Labs SB Live! joystick",
-}],
-[ 'radio', {
- "radio-maxiradio" => "radio-maxiradio",
-}],
-[ 'scsi', {
-if_(arch() =~ /ppc/,
- "mesh" => "Apple Internal SCSI",
- "mac53c94" => "Apple External SCSI",
-),
-if_(arch() =~ /^sparc/,
- "qlogicpti" => "Performance Technologies ISP",
-),
-if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- "3w-xxxx" => "3ware ATA-RAID",
- "53c7,8xx" => "NCR 53c7xx",
- "AM53C974" => "AMD SCSI",
- "BusLogic" => "BusLogic Adapters",
- "NCR53c406a" => "NCR 53c406a",
- "a100u2w" => "a100u2w",
- "advansys" => "AdvanSys Adapters",
- "aha152x" => "Adaptec 152x",
- "aha1542" => "Adaptec 1542",
- "aha1740" => "Adaptec 1740",
- "atp870u" => "atp870u (Acard/Artop)",
- "dc395x_trm" => "dc395x_trm",
- "dtc" => "DTC 3180/3280",
- "fdomain" => "Future Domain TMC-16x0",
- "g_NCR5380" => "NCR 5380",
- "in2000" => "Always IN2000",
- "initio" => "Initio",
- "pci2220i" => "Perceptive Solutions 2240I",
- "psi240i" => "psi240i",
- "qla1280" => "Q Logic QLA1280",
- "qla2x00" => "Q Logic QLA2200",
- "qlogicfas" => "Qlogic FAS",
- "qlogicfc" => "qlogicfc",
- "seagate" => "Seagate ST01/02",
- "sim710" => "NCR53c710",
- "sym53c416" => "sym53c416",
- "t128" => "Trantor T128/T128F/T228",
- "tmscsim" => "tmscsim",
- "u14-34f" => "UltraStor 14F/34F",
- "ultrastor" => "UltraStor 14F/24F/34F",
- "wd7000" => "Western Digital wd7000",
-),
- "aic7xxx" => "Adaptec 2740, 2840, 2940",
- "ncr53c8xx" => "NCR 53C8xx PCI",
- "pci2000" => "Perceptive Solutions PCI-2000", # TODO
- "qlogicisp" => "Qlogic ISP",
- "sym53c8xx" => "Symbios 53c8xx",
-}],
-[ 'scsi_raw', {
- "scsi_mod" => "SCSI subsystem support",
- "sd_mod" => "Disk SCSI support",
-#- "ide-mod" => "ide-mod",
-#- "ide-probe" => "ide-probe",
-#- "ide-probe-mod" => "ide-probe-mod",
-}],
-[ 'disk', {
-if_(arch() =~ /^sparc/,
- "pluto" => "Sun SparcSTORAGE Array SCSI", #- name it "fc4:soc:pluto" ?
-),
-if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- "DAC960" => "Mylex DAC960",
- "dpt_i2o" => "Distributed Tech SmartCache/Raid I-V Controller",
- "megaraid" => "AMI MegaRAID",
- "aacraid" => "AACxxx Raid Controller",
- "cciss" => "Compaq Smart Array 5300 Controller",
- "cpqarray" => "Compaq Smart-2/P RAID Controller",
- "gdth" => "ICP Disk Array Controller",
- "i2o_block" => "Intel Integrated RAID",
- "ips" => "IBM ServeRAID controller",
- "eata" => "EATA SCSI PM2x24/PM3224",
- "eata_pio" => "EATA PIO Adapters",
- "eata_dma" => "EATA DMA Adapters",
- "ppa" => "Iomega PPA3 (parallel port Zip)",
- "imm" => "Iomega Zip (new driver, for post 31/Aug/1998 drives)",
-),
-}],
-[ 'disk_raw', {
-#- "ide-disk" => "IDE disk",
-}],
-[ 'cdrom', {
-if_(arch() !~ /alpha/ && arch() !~ /sparc/,
-#******(missing-2.4) "sbpcd" => "SoundBlaster/Panasonic",
-#******(missing-2.4) "aztcd" => "Aztech CD",
-#******(missing-2.4) "gscd" => "Goldstar R420",
-#******(missing-2.4) "isp16" => "ISP16/MAD16/Mozart",
-#******(missing-2.4) "mcd" => "Mitsumi", #- removed for space
-#******(missing-2.4) "mcdx" => "Mitsumi (alternate)",
-#******(missing-2.4) "optcd" => "Optics Storage 8000",
-#******(missing-2.4) "cm206" => "Phillips CM206/CM260",
-#******(missing-2.4) "sjcd" => "Sanyo",
-#******(missing-2.4) "cdu31a" => "Sony CDU-31A",
-#******(missing-2.4) "sonycd535" => "Sony CDU-5xx",
-),
-}],
-[ 'cdrom_raw', {
- "isofs" => "iso9660",
- "ide-cd" => "ide-cd",
- "sr_mod" => "SCSI CDROM support",
- "cdrom" => "cdrom",
-}],
-[ 'sound', {
-if_(arch() =~ /ppc/,
- "dmasound" => "Amiga or PowerMac DMA sound",
-),
-if_(arch() !~ /^sparc/,
- "cmpci" => "C-Media Electronics CMI8338A CMI8338B CMI8738",
- "cs46xx" => "Cirrus Logic CrystalClear SoundFusion (cs46xx)",
- "cs4281" => "Cirrus Logic|Crystal CS4281 PCI Audio",
- "es1370" => "Ensoniq ES1370 [AudioPCI]",
- "es1371" => "Ensoniq ES1371 [AudioPCI-97]",
- "esssolo1" => "ESS Technology ES1969 Solo-1 Audiodrive",
- "i810_audio" => "i810 integrated sound card",
- "maestro" => "ESS Maestro 1/2",
- "maestro3" => "ESS Maestro-3",
- "nm256" => "Neomagic MagicMedia 256AV",
- "pas16" => "Pro Audio Spectrum/Studio 16",
- "trident" => "M5451 PCI South Bridge Audio",
- "via82cxxx" => "VIA VT82C686_5",
- "via82cxxx_audio" => "VIA Technologies|VT82C686 [Apollo Super AC97/Audio]",
- "sonicvibes" => "S3 SonicVibes",
- "snd-card-ice1712" => "IC Ensemble Inc|ICE1712 [Envy24]",
- "emu10k1" => "Creative Labs|SB Live! (audio)",
- "ymfpci" => "Yamaha YMF-740, DS-1",
-# "au8820" => "Aureal Semiconductor|Vortex 1",
-# "au8830" => "Aureal Semiconductor|Vortex 2",
- "snd-card-cmipci" => "CMI",
- "snd-card-cs461x" => "Cirrus Logic|CS 4610/11 [CrystalClear SoundFusion Audio Accelerator]",
- "snd-card-ens1371" => "Ensoniq/Creative Labs ES1371",
- "snd-card-es1938" => "ESS Technology|ES1969 Solo-1 Audiodrive",
- "snd-card-fm801" => "Fortemedia, Inc|Xwave QS3000A [FM801]<>Fortemedia, Inc|FM801 PCI Audio",
- "snd-card-intel8x0" => "Intel Corporation|82440MX AC'97 Audio Controller<>Intel Corporation",
- "snd-card-rme96" => "Xilinx, Inc.|RME Digi96<>Xilinx, Inc.",
- "snd-card-trident" => "Silicon Integrated Systems [SiS]|7018 PCI Audio",
- "snd-card-via686a" => "VIA Technologies|VT82C686 [Apollo Super AC97/Audio]",
- "snd-card-ymfpci" => "Yamaha Corporation|YMF-740",
-),
-}],
-[ 'pcmcia', {
-if_(arch() !~ /^sparc/,
- "ide_cs" => "ide_cs",
- "fmvj18x_cs" => "fmvj18x_cs",
- "fdomain_cs" => "fdomain_cs",
- "netwave_cs" => "netwave_cs",
- "serial_cs" => "serial_cs",
- "wavelan_cs" => "wavelan_cs",
- "pcnet_cs" => "pcnet_cs",
- "aha152x_cs" => "aha152x_cs",
- "xirc2ps_cs" => "xirc2ps_cs",
- "3c574_cs" => "3c574_cs",
- "qlogic_cs" => "qlogic_cs",
- "nmclan_cs" => "nmclan_cs",
- "ibmtr_cs" => "ibmtr_cs",
-# "dummy_cs" => "dummy_cs",
-# "memory_cs" => "memory_cs",
- "ftl_cs" => "ftl_cs",
- "smc91c92_cs" => "smc91c92_cs",
- "3c589_cs" => "3c589_cs",
-#******(missing-2.4) "parport_cs" => "parport_cs",
- "3c575_cb" => "3c575_cb",
- "apa1480_cb" => "apa1480_cb",
- "cb_enabler" => "cb_enabler",
- "epic_cb" => "epic_cb",
- "iflash2+_mtd" => "iflash2+_mtd",
- "iflash2_mtd" => "iflash2_mtd",
-# "memory_cb" => "memory_cb",
- "serial_cb" => "serial_cb",
-# "sram_mtd" => "sram_mtd",
- "tulip_cb" => "tulip_cb",
-
-),
-}],
-[ 'pcmcia_everywhere', {
-if_(arch() !~ /^sparc/,
- "pcmcia_core" => "PCMCIA core support",
- "tcic" => "PCMCIA tcic controller",
- "ds" => "PCMCIA card support",
- "i82365" => "PCMCIA i82365 controller",
-),
-}],
-[ 'paride', {
-if_(arch() !~ /^sparc/,
- "aten" => "ATEN EH-100",
- "bpck" => "Microsolutions backpack",
- "comm" => "DataStor (older type) commuter adapter",
- "dstr" => "DataStor EP-2000",
- "epat" => "Shuttle EPAT",
- "epia" => "Shuttle EPIA",
- "fit2" => "Fidelity Intl. (older type)",
- "fit3" => "Fidelity Intl. TD-3000",
- "frpw" => "Freecom Power",
- "friq" => "Freecom IQ (ASIC-2)",
- "kbic" => "KingByte KBIC-951A and KBIC-971A",
- "ktti" => "KT Tech. PHd",
- "on20" => "OnSpec 90c20",
- "on26" => "OnSpec 90c26",
- "pd" => "Parallel port IDE disks",
- "pcd" => "Parallel port CD-ROM",
- "pf" => "Parallel port ATAPI disk",
- "paride" => "Main parallel port module",
-),
-}],
-[ 'raid', {
- "linear" => "linear",
- "raid0" => "raid0",
- "raid1" => "raid1",
- "raid5" => "raid5",
-}],
-[ 'mouse', {
-if_(arch() !~ /^sparc/,
- "busmouse" => "busmouse",
- "msbusmouse" => "msbusmouse",
- "serial" => "serial",
- "qpmouse" => "qpmouse",
- "atixlmouse" => "atixlmouse",
-),
-}],
-[ 'usb', {
- "usb-uhci" => "USB Controller (uhci)",
- "usb-ohci" => "USB Controller (ohci)",
- "usb-ohci-hcd" => "USB (ohci-hcd)",
-}],
-[ 'fs', {
- "smbfs" => "Windows SMB",
- "fat" => "fat",
- "msdos" => "msdos",
- "romfs" => "romfs",
- "vfat" => "vfat",
-}],
-[ 'other', {
- "agpgart" => "agpgart",
- "buz" => "Zoran Corporation|ZR36057PQC Video cutting chipset",
- "defxx" => "DEC|DEFPA",
- "i810_rng" => "i810_rng",
- "ide-floppy" => "ide-floppy",
- "ide-scsi" => "ide-scsi",
- "ide-tape" => "ide-tape",
- "loop" => "Loopback device",
- "lp" => "Parallel Printer",
- "nbd" => "nbd",
- "rrunner" => "Essential Communications|Roadrunner serial HIPPI",
- "sg" => "sg",
- "st" => "st",
-}],
-);
-
-my %type_aliases = (
- scsi => 'disk',
-);
-
-my @skip_big_modules_on_stage1 = (
-# dgrs e1000
-qw(
-olympic
-sk98lin acenic
-3c90x
-aironet4500_card com20020-pci hamachi starfire winbond-840
-
-dc395x_trm
-BusLogic seagate fdomain g_NCR5380 tmscsim
-)
-); #******(missing-2.4) dpt_i2o aztcd gscd isp16 mcd mcdx optcd cm206 sjcd cdu31a
-
-my @skip_modules_on_stage1 = (
- qw(sktr tmspci ibmtr abyss), # alt token ring
- qw(old_tulip rtl8139), # doesn't exist in 2.4
- qw(kaweth pegasus), # usb net
- if_(arch() =~ /alpha|ppc/, qw(sb1000)),
- "apa1480_cb",
- "imm",
- "ppa",
- "parport",
- "parport_pc",
- "plip",
- qw(3w-xxxx pci2220i qla1280 qla2x00 i2o_block),
- qw(gdth eata eata_pio eata_dma ips),
- qw(ac3200 at1700 atp ni5010 ni52 ni65), #- unused from Jeff
- "u14-34f", #- duplicate from ultrastor.o
-);
-
-
-my @drivers_fields = qw(text type);
-%drivers = ();
-
-foreach (@drivers_by_category) {
- my ($type, $l) = @$_;
- foreach (keys %$l) { $drivers{$_} = [ $l->{$_}, $type ]; }
-}
-while (my ($k, $v) = each %drivers) {
- my %l; @l{@drivers_fields} = @$v;
- $drivers{$k} = \%l;
-}
-
-sub module_of_type__4update_kernel {
- my ($type) = @_;
- $type = join "|", map { $_, $_ . "_raw" } split ' ', $type;
- my %skip;
- @skip{@skip_modules_on_stage1} = ();
- @skip{@skip_big_modules_on_stage1} = () if $type !~ /big/;
- "big" =~ /^($type)$/ ? @skip_big_modules_on_stage1 : (),
- grep { !exists $skip{$_} } grep { $drivers{$_}{type} =~ /^($type)$/ } keys %drivers;
-}
-sub module_of_type {
- my ($type) = @_;
- my $alias = $type_aliases{$type} || $type;
- grep { $drivers{$_}{type} =~ /^(($type)|$alias)$/ } keys %drivers;
-}
-sub module2text { $drivers{$_[0]}{text} or log::l("trying to get text of unknown module $_[0]"), return $_[0] }
-
-sub get_alias {
- my ($alias) = @_;
- $conf{$alias}{alias};
-}
-sub get_options {
- my ($name) = @_;
- $conf{$name}{options};
-}
-
-sub add_alias {
- my ($alias, $name) = @_;
- $name =~ /ignore/ and return;
- /\Q$alias/ && $conf{$_}{alias} && $conf{$_}{alias} eq $name and return $_ foreach keys %conf;
- $alias .= $scsi++ || '' if $alias eq 'scsi_hostadapter';
- log::l("adding alias $alias to $name");
- $conf{$alias}{alias} ||= $name;
- if ($name =~ /^snd-card-/) {
- $conf{$name}{"post-install"} = "modprobe snd-pcm-oss";
- }
- $alias;
-}
-
-sub remove_alias($) {
- my ($name) = @_;
- foreach (keys %conf) {
- $conf{$_}{alias} && $conf{$_}{alias} eq $name or next;
- delete $conf{$_}{alias};
- return 1;
- }
- 0;
-}
-
-sub when_load {
- my ($name, $type, @options) = @_;
- if ($type =~ /\bscsi\b/ || $type eq $type_aliases{scsi}) {
- add_alias('scsi_hostadapter', $name), eval { load('sd_mod') };
- }
- if ($type eq 'sound') {
- #- mainly for ppc
- add_alias('sound-slot-0', $name);
- }
- if ($name =~ /^snd-card-/) {
- load('snd-pcm-oss', 'prereq');
- }
- $conf{$name}{options} = join " ", @options if @options;
-}
-
-sub load {
- my ($name, $type, @options) = @_;
-
- my @netdev = detect_devices::getNet() if $type eq 'net';
-
- if ($::testing) {
- log::l("i try to install $name module (@options)");
- } elsif ($::isStandalone || $::live) {
- run_program::run(-x "/sbin/modprobe.static" ? "/sbin/modprobe.static" : "/sbin/modprobe", $name, @options)
- or die "insmod'ing module $name failed";
- } else {
- $conf{$name}{loaded} and return;
-
- eval { load($_, 'prereq') } foreach @{$deps{$name}};
- load_raw([ $name, @options ]);
- }
- sleep 2 if $name =~ /usb-storage|mousedev/;
-
- if ($type eq 'net') {
- add_alias($_, $name) foreach difference2([ detect_devices::getNet() ], \@netdev);
- }
- when_load($name, $type, @options);
-}
-sub load_multi {
- my $f; $f = sub { map { $f->(@{$deps{$_}}), $_ } @_ };
- my %l; my @l =
- grep { !$conf{$_}{loaded} }
- grep { my $o = $l{$_}; $l{$_} = 1; !$o }
- $f->(@_);
-
- if ($::testing) {
- log::l("i would install modules @l");
- } elsif ($::isStandalone || $::live) {
- foreach (@l) { run_program::run(-x "/sbin/modprobe.static" ? "/sbin/modprobe.static" : "/sbin/modprobe", $_) }
- } else {
- load_raw(map { [ $_ ] } @l);
- }
-}
-
-sub unload {
- my ($m) = @_;
- if ($::testing) {
- log::l("rmmod $m");
- } else {
- if (run_program::run("rmmod", $m)) {
- delete $conf{$m}{loaded};
- }
- }
-}
-
-sub load_raw {
- my @l = map { my ($i, @i) = @$_; [ $i, \@i ] } grep { $_->[0] !~ /ignore/ } @_;
- my $cz = "/lib/modules" . (arch() eq 'sparc64' && "64") . ".cz-" . c::kernel_version();
- if (!-e $cz) {
- unlink $_ foreach glob_("/lib/modules*.cz*");
- require install_any;
- install_any::getAndSaveFile("Mandrake/mdkinst$cz", $cz) or die "failed to get modules $cz: $!";
- }
- eval {
- require packdrake;
- my $packer = new packdrake($cz, quiet => 1);
- $packer->extract_archive("/tmp", map { "$_->[0].o" } @l);
- };
- my @failed = grep {
- my $m = "/tmp/$_->[0].o";
- if (-e $m && run_program::run(["/usr/bin/insmod_", "insmod"], '2>', '/dev/tty5', '-f', $m, @{$_->[1]})) {
- unlink $m;
- $conf{$_->[0]}{loaded} = 1;
- '';
- } else {
- log::l("missing module $_->[0]") unless -e $m;
- -e $m;
- }
- } @l;
-
- die "insmod'ing module " . join(", ", map { $_->[0] } @failed) . " failed" if @failed;
-
- foreach (@l) {
- if ($_->[0] eq "parport_pc") {
- #- this is a hack to make plip go
- foreach (@{$_->[1]}) {
- /^irq=(\d+)/ and eval { output "/proc/parport/0/irq", $1 };
- }
- } elsif ($_->[0] =~ /usb-[uo]hci/) {
- add_alias('usb-interface', $_->[0]);
- eval {
- require fs; fs::mount('/proc/bus/usb', '/proc/bus/usb', 'usbdevfs');
- #- ensure keyboard is working, the kernel must do the job the BIOS was doing
- sleep 2;
- load_multi("usbkbd", "keybdev") if detect_devices::usbKeyboards();
- }
- }
- }
-}
-
-sub read_already_loaded() {
- foreach (cat_("/proc/modules")) {
- my ($name) = split;
- $conf{$name}{loaded} = 1;
- when_load($name, $drivers{$name}{type});
- }
-}
-
-sub load_deps($) {
- my ($file) = @_;
-
- local *F; open F, $file or log::l("error opening $file: $!"), return 0;
- local $_;
- while (<F>) {
- my ($f, $deps) = split ':';
- push @{$deps{$f}}, split ' ', $deps;
- }
-}
-
-sub read_conf($;$) {
- my ($file, $scsi) = @_;
- my %c;
-
- foreach (cat_($file)) {
- do {
- $c{$2}{$1} = $3;
- $$scsi = max($$scsi, $1 || 0) if /^\s*alias\s+scsi_hostadapter (\d*)/x && $scsi; #- space added to make perl2fcalls happy!
- } if /^\s*(\S+)\s+(\S+)\s+(.*?)\s*$/;
- }
- #- cheating here: not handling aliases of aliases
- while (my ($k, $v) = each %c) {
- if (my $a = $v->{alias}) {
- local $c{$a}{alias};
- add2hash($c{$a}, $v);
- }
- }
- \%c;
-}
-
-sub mergein_conf {
- my ($file) = @_;
-#- add2hash(\%conf, read_conf($file, \$scsi));
- my $modconfref = read_conf ($file, \$scsi);
- while (my ($key, $value) = each %$modconfref) {
- $conf{$key}{alias} = $value->{alias} unless exists $conf{$key}{alias};
- }
-}
-
-sub write_conf {
- my ($prefix) = @_;
-
- my $file = "$prefix/etc/modules.conf";
- rename "$prefix/etc/conf.modules", $file; #- make the switch to new name if needed
-
- #- remove the post-install supermount stuff. We now do it in /etc/modules
- #- Substitute new aliases in modules.conf (if config has changed)
- substInFile { $_ = '' if /^post-install supermount/ } $file;
- substInFile {
- my ($type,$alias,$module) = split /\s+/, $_;
- if ($type ne "loaded" &&
- $conf{$alias}{alias} &&
- $conf{$alias}{alias} !~ /$module/) {
- $_ = "$type $alias $conf{$alias}{alias} \n";
- }
- } $file;
-
- my $written = read_conf($file);
-
- local *F;
- open F, ">> $file" or die("cannot write module config file $file: $!\n");
- while (my ($mod, $h) = each %conf) {
- while (my ($type, $v2) = each %$h) {
- print F "$type $mod $v2\n" if $v2 && $type ne "loaded" && !$written->{$mod}{$type};
- }
- }
- my @l = map { "scsi_hostadapter$_" } '', 1..$scsi-1 if $scsi;
- push @l, 'ide-floppy' if detect_devices::ide_zips();
- push @l, 'bttv' if grep { $_->{driver} eq 'bttv' } detect_devices::probeall();
- my $l = join '|', @l;
- log::l("to put in modules ", join(", ", @l));
-
- substInFile {
- $_ = '' if /$l/;
- $_ = join '', map { "$_\n" } @l if eof;
- } "$prefix/etc/modules";
-}
-
-sub read_stage1_conf {
- mergein_conf($_[0]);
-
- if (arch() =~ /sparc/) {
- } elsif (arch() =~ /ppc/) {
- $conf{pcmcia_core}{"pre-install"} ||= "CARDMGR_OPTS=-f /etc/rc.d/init.d/pcmcia start";
- } else {
- $conf{pcmcia_core}{"pre-install"} ||= "CARDMGR_OPTS=-f /etc/rc.d/init.d/pcmcia start";
- }
-}
-
-sub load_thiskind {
- my ($type, $f) = @_;
-
- #- get_that_type returns the PCMCIA cards. It doesn't know they are already
- #- loaded, so:
- read_already_loaded();
-
- my @try_modules = (
- if_($type =~ /scsi/,
- if_(arch() !~ /ppc/, 'imm', 'ppa'),
- if_(detect_devices::usbZips(), 'usb-storage'),
- ),
- if_(arch() =~ /ppc/,
- if_($type =~ /scsi/, 'mesh', 'mac53c94'),
- if_($type =~ /net/, 'bmac', 'gmac', 'mace'),
- if_($type =~ /sound/, 'dmasound'),
- ),
- );
- grep {
- $f->($_->{description}, $_->{driver}) if $f;
- eval { load($_->{driver}, $type) };
- $_->{error} = $@;
-
- !($@ && $_->{try});
- } get_that_type($type),
- map {; { driver => $_, description => $_, try => 1 } } @try_modules;
-}
-
-sub get_that_type {
- my ($type) = @_;
-
- grep {
- my $l = $drivers{$_->{driver}};
- ($_->{type} =~ /$type/ || $l && $l->{type} =~ /$type/) && detect_devices::check($_);
- } detect_devices::probeall('');
-}
-
-sub load_ide {
- if (1) { #- add it back to support Ultra66 on ide modules.
- eval { load("ide-cd"); }
- } else {
- eval {
- load("ide-mod", 'prereq', 'options="' . detect_devices::hasUltra66() . '"');
- delete $conf{"ide-mod"}{options};
- load_multi(qw(ide-probe ide-probe-mod ide-disk ide-cd));
- }
- }
-}
-
-sub configure_pcmcia {
- my ($pcic) = @_;
-
- #- try to setup pcmcia if cardmgr is not running.
- my $running if 0;
- return if $running;
- $running = 1;
-
- log::l("i try to configure pcmcia services");
-
- symlink "/tmp/stage2/$_", $_ foreach "/etc/pcmcia";
-
- eval {
- load("pcmcia_core");
- load($pcic);
- load("ds");
- };
-
- #- run cardmgr in foreground while it is configuring the card.
- run_program::run("cardmgr-" . c::kernel_version(), "-f", "-m" ,"/modules");
- sleep(3);
-
- #- make sure to be aware of loaded module by cardmgr.
- read_already_loaded();
-}
-
-sub get_pcmcia_devices {
- my (@devs, $desc);
-
- foreach (cat_("/var/run/stab")) {
- if (/^Socket\s+\d+:\s+(.*)/) {
- $desc = $1;
- } else {
- my (undef, $type, $module, undef, $device) = split;
- push @devs, { description => $desc, driver => $module, type => $type, device => $device };
- }
- }
- @devs;
-}
-
-sub write_pcmcia {
- my ($prefix, $pcmcia) = @_;
-
- #- should be set after installing the package above otherwise the file will be renamed.
- setVarsInSh("$prefix/etc/sysconfig/pcmcia", {
- PCMCIA => bool2yesno($pcmcia),
- PCIC => $pcmcia,
- PCIC_OPTS => "",
- CORE_OPTS => "",
- });
-}
-
-
-
-1;
diff --git a/perl-install/mouse.pm b/perl-install/mouse.pm
deleted file mode 100644
index cdcc453f5..000000000
--- a/perl-install/mouse.pm
+++ /dev/null
@@ -1,361 +0,0 @@
-package mouse; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :system :functional :file);
-use modules;
-use detect_devices;
-use run_program;
-use devices;
-use commands;
-use modules;
-use log;
-
-my @mouses_fields = qw(nbuttons MOUSETYPE XMOUSETYPE name);
-
-my %mice =
- arch() =~ /^sparc/ ?
-(
- 'sunmouse' =>
- [ [ 'sunmouse' ],
- [ [ 3, 'sun', 'sun', __("Sun - Mouse") ]
- ]]
-) :
-(
- 'PS/2' =>
- [ [ 'psaux' ],
- [ [ 2, 'ps/2', 'PS/2', __("Standard") ],
- [ 5, 'ps/2', 'MouseManPlusPS/2', __("Logitech MouseMan+") ],
- [ 5, 'imps2', 'IMPS/2', __("Generic PS2 Wheel Mouse") ],
- [ 5, 'ps/2', 'GlidePointPS/2', __("GlidePoint") ],
- '',
- [ 5, 'ps/2', 'ThinkingMousePS/2', __("Kensington Thinking Mouse") ],
- [ 5, 'netmouse', 'NetMousePS/2', __("Genius NetMouse") ],
- [ 5, 'netmouse', 'NetScrollPS/2', __("Genius NetScroll") ],
- ]],
-
- 'USB' =>
- [ [ 'usbmouse' ],
- [ if_(arch() eq 'ppc', [ 1, 'ps/2', 'PS/2', __("1 button") ]),
- [ 2, 'ps/2', 'PS/2', __("Generic") ],
- [ 5, 'ps/2', 'IMPS/2', __("Wheel") ],
- ]],
-
- __("serial") =>
- [ [ map { "ttyS$_" } 0..3 ],
- [ [ 2, 'Microsoft', 'Microsoft', __("Generic 2 Button Mouse") ],
- [ 3, 'Microsoft', 'Microsoft', __("Generic 3 Button Mouse") ],
- [ 5, 'ms3', 'IntelliMouse', __("Microsoft IntelliMouse") ],
- [ 3, 'MouseMan', 'MouseMan', __("Logitech MouseMan") ],
- [ 2, 'MouseSystems', 'MouseSystems', __("Mouse Systems") ],
- '',
- [ 3, 'logim', 'MouseMan', __("Logitech CC Series") ],
- [ 5, 'pnp', 'IntelliMouse', __("Logitech MouseMan+/FirstMouse+") ],
- [ 5, 'ms3', 'IntelliMouse', __("Genius NetMouse") ],
- [ 2, 'MMSeries', 'MMSeries', __("MM Series") ],
- [ 2, 'MMHitTab', 'MMHittab', __("MM HitTablet") ],
- [ 3, 'Logitech', 'Logitech', __("Logitech Mouse (serial, old C7 type)") ],
- [ 3, 'Microsoft', 'ThinkingMouse', __("Kensington Thinking Mouse") ],
- ]],
-
- __("busmouse") =>
- [ [ arch() eq 'ppc' ? 'adbmouse' : ('atibm', 'inportbm', 'logibm') ],
- [ if_(arch() eq 'ppc', [ 1, 'Busmouse', 'BusMouse', __("1 button") ]),
- [ 2, 'Busmouse', 'BusMouse', __("2 buttons") ],
- [ 3, 'Busmouse', 'BusMouse', __("3 buttons") ],
- ]],
-
- __("none") =>
- [ [ 'none' ],
- [ [ 0, 'none', 'Microsoft', __("No mouse") ],
- ]],
-);
-
-
-sub xmouse2xId {
- #- xmousetypes must be sorted as found in /usr/include/X11/extensions/xf86misc.h
- #- so that first mean "0", etc
- my @xmousetypes = (
- "Microsoft",
- "MouseSystems",
- "MMSeries",
- "Logitech",
- "BusMouse", #MouseMan,
- "Logitech",
- "PS/2",
- "MMHittab",
- "GlidePoint",
- "IntelliMouse",
- "ThinkingMouse",
- "IMPS/2",
- "ThinkingMousePS/2",
- "MouseManPlusPS/2",
- "GlidePointPS/2",
- "NetMousePS/2",
- "NetScrollPS/2",
- "SysMouse",
- "Auto",
- "AceCad",
- "WSMouse",
- "USB",
- );
- my ($id) = @_;
- $id = 'BusMouse' if $id eq 'MouseMan';
- my $i; map_index { $_ eq $id and $i = $::i } @xmousetypes; $i;
-}
-
-my %mouse_btn_keymap = (
- 0 => "NONE",
- 67 => "F9",
- 68 => "F10",
- 87 => "F11",
- 88 => "F12",
- 85 => "F13",
- 89 => "F14",
- 90 => "F15",
- 56 => "L-Option/Alt",
- 125 => "L-Command",
- 98 => "Num: /",
- 55 => "Num: *",
- 117 => "Num: =",
-);
-sub ppc_one_button_keys { keys %mouse_btn_keymap }
-sub ppc_one_button_key2text { $mouse_btn_keymap{$_[0]} }
-
-sub raw2mouse {
- my ($type, $raw) = @_;
- $raw or return;
-
- my %l; @l{@mouses_fields} = @$raw;
- +{ %l, type => $type };
-}
-
-sub fullnames {
- map_each {
- my $type = $::a;
- grep {$_} map {
- if ($_) {
- my $l = raw2mouse($type, $_);
- "$type|$l->{name}";
- } else {
- $type .= "|[" . _("Other") . "]";
- '';
- }
- } @{$::b->[1]}
- } %mice;
-}
-
-sub fullname2mouse {
- my ($fname, %opts) = @_;
- my ($type, @l) = split '\|', $fname;
- my ($name) = pop @l;
- $opts{device} ||= $mice{$type}[0][0];
- foreach (@{$mice{$type}[1]}) {
- my $l = raw2mouse($type, $_);
- $name eq $l->{name} and return { %$l, %opts };
- }
- die "$fname not found ($type, $name)";
-}
-
-sub serial_ports() { map { "ttyS$_" } 0..7 }
-sub serial_port2text {
- $_[0] =~ /ttyS (\d+)/x ? "$_[0] / COM" . ($1 + 1) : $_[0];
-}
-
-sub read {
- my ($prefix) = @_;
- my %mouse = getVarsFromSh "$prefix/etc/sysconfig/mouse";
- eval { add2hash_(\%mouse, fullname2mouse($mouse{FULLNAME})) };
- $mouse{device} = readlink "$prefix/dev/mouse" or log::l("reading $prefix/dev/mouse symlink failed");
- $mouse{nbuttons} = $mouse{XEMU3} eq "yes" ? 2 : $mouse{WHEEL} eq "yes" ? 5 : 3;
- \%mouse;
-}
-
-sub write {
- my ($prefix, $mouse) = @_;
- local $mouse->{FULLNAME} = qq("$mouse->{type}|$mouse->{name}"); #-"
- local $mouse->{XEMU3} = bool2yesno($mouse->{nbuttons} < 3);
- local $mouse->{WHEEL} = bool2yesno($mouse->{nbuttons} > 3);
- setVarsInSh("$prefix/etc/sysconfig/mouse", $mouse, qw(MOUSETYPE XMOUSETYPE FULLNAME XEMU3 WHEEL device));
- symlinkf $mouse->{device}, "$prefix/dev/mouse" or log::l("creating $prefix/dev/mouse symlink failed");
-
- if (arch() =~ /ppc/) {
- my $s = join('',
- "dev.mac_hid.mouse_button_emulation = " . bool($mouse->{button2_key} || $mouse->{button3_key}) . "\n",
- if_($mouse->{button2_key}, "dev.mac_hid.mouse_button2_keycode = $mouse->{button2_key}\n"),
- if_($mouse->{button3_key}, "dev.mac_hid.mouse_button3_keycode = $mouse->{button3_key}\n"),
- );
- substInFile {
- $_ = '' if /^\Qdev.mac_hid.mouse_button/;
- $_ .= $s if eof;
- } "$prefix/etc/sysctl.conf";
- #- hack - dev RPM symlinks to mouse0 - lands on mouse1 with new input layer on PPC input/mice will get both ADB and USB
- symlinkf "/dev/input/mice", "$prefix/dev/usbmouse" if ($mouse->{device} eq "usbmouse");
- }
-}
-
-sub mouseconfig {
- my ($t, $mouse, @wacom);
-
- #- Whouah! probing all devices from ttyS0 to ttyS3 once a time!
- detect_devices::probeSerialDevices();
-
- #- check new probing methods keep everything used here intact!
- foreach (0..3) {
- $t = detect_devices::probeSerial("/dev/ttyS$_");
- if ($t->{CLASS} eq 'MOUSE') {
- $t->{MFG} ||= $t->{MANUFACTURER};
-
- $mouse = fullname2mouse("serial|Microsoft IntelliMouse") if $t->{MFG} eq 'MSH' && $t->{MODEL} eq '0001';
- $mouse = fullname2mouse("serial|Logitech MouseMan") if $t->{MFG} eq 'LGI' && $t->{MODEL} =~ /^80/;
- $mouse = fullname2mouse("serial|Genius NetMouse") if $t->{MFG} eq 'KYE' && $t->{MODEL} eq '0003';
-
- $mouse ||= fullname2mouse("serial|Generic 2 Button Mouse"); #- generic by default.
- $mouse->{device} = "ttyS$_";
- last;
- } elsif ($t->{CLASS} eq "PEN" || $t->{MANUFACTURER} eq "WAC") {
- push @wacom, "ttyS$_";
- }
- }
- $mouse, @wacom;
-}
-
-sub detect() {
- if (arch() =~ /^sparc/) {
- return fullname2mouse("sunmouse|Sun - Mouse");
- }
- if (arch() eq "ppc") {
- return fullname2mouse(detect_devices::hasMousePS2("usbmouse") ?
- "USB|1 button" :
- # No need to search for an ADB mouse. If I did, the PPC kernel would
- # find one whether or not I had one installed! So.. default to it.
- "busmouse|1 button");
- }
-
- my @wacom;
- my $fast_mouse_probe = sub {
- my $auxmouse = detect_devices::hasMousePS2("psaux") && fullname2mouse("PS/2|Standard", unsafe => 1);
-
- if (modules::get_alias("usb-interface")) {
- if (my (@l) = detect_devices::usbMice()) {
- log::l("found usb mouse $_->{driver} $_->{description} ($_->{type})") foreach @l;
- eval { modules::load("usbmouse"); modules::load("mousedev"); };
- if (!$@ && detect_devices::tryOpen("usbmouse")) {
- my $mouse = fullname2mouse($l[0]{driver} =~ /Mouse:(.*)/ ? $1 : "USB|Generic");
- $auxmouse and $mouse->{auxmouse} = $auxmouse; #- for laptop, we kept the PS/2 as secondary (symbolic).
- return $mouse;
- }
- eval { modules::unload("mousedev"); modules::unload("usbmouse"); };
- }
- }
- $auxmouse;
- };
-
- if (modules::get_alias("usb-interface")) {
- my $keep_mouse;
- if (my (@l) = detect_devices::usbWacom()) {
- log::l("found usb wacom $_->{driver} $_->{description} ($_->{type})") foreach @l;
- eval { modules::load("wacom"); modules::load("evdev"); };
- unless ($@) {
- foreach (0..$#l) {
- detect_devices::tryOpen("input/event$_") and $keep_mouse = 1, push @wacom, "input/event$_";
- }
- }
- $keep_mouse or eval { modules::unload("evdev"); modules::unload("wacom"); };
- }
- }
-
- #- at this level, not all possible mice are detected so avoid invoking serial_probe
- #- which takes a while for its probe.
- if ($::isStandalone) {
- my $mouse = $fast_mouse_probe->();
- $mouse and return ($mouse, @wacom);
- }
-
- #- probe serial device to make sure a wacom has been detected.
- eval { modules::load("serial") };
- my ($r, @serial_wacom) = mouseconfig(); push @wacom, @serial_wacom;
-
- if (!$::isStandalone) {
- my $mouse = $fast_mouse_probe->();
- $r && $mouse and $r->{auxmouse} = $mouse; #- we kept the auxilliary mouse as PS/2.
- $r and return ($r, @wacom);
- $mouse and return ($mouse, @wacom);
- } else {
- $r and return ($r, @wacom);
- }
-
- #- in case only a wacom has been found, assume an inexistant mouse (necessary).
- @wacom and return { CLASS => 'MOUSE',
- nbuttons => 2,
- device => "nothing",
- MOUSETYPE => "Microsoft",
- XMOUSETYPE => "Microsoft"}, @wacom;
-
- #- defaults to generic serial mouse on ttyS0.
- #- Oops? using return let return a hash ref, if not using it, it return a list directly :-)
- return fullname2mouse("serial|Generic 2 Button Mouse", unsafe => 1);
-}
-
-#- write_conf : write the mouse infos into the Xconfig files.
-#- input :
-#- $mouse : the hashtable containing the informations
-#- $mouse input
-#- $mouse->{nbuttons} : number of buttons : integer
-#- $mouse->{device} : device of the mouse : string : ex 'psaux'
-#- $mouse->{XMOUSETYPE} : type of the mouse for gpm : string : ex 'PS/2'
-#- $mouse->{type} : type (generic ?) of the mouse : string : ex 'PS/2'
-#- $mouse->{name} : name of the mouse : string : ex 'Standard'
-#- $mouse->{MOUSETYPE} : type of the mouse : string : ex "ps/2"
-#- $mouse->{XEMU3} : emulate 3rd button : string : 'yes' or 'no'
-sub write_conf {
- my ($mouse) = @_;
-
- &write('', $mouse);
- modules::write_conf('') if $mouse->{device} eq "usbmouse" && !$::testing;
-
- my $f = "/etc/X11/XF86Config";
- my $g = "/etc/X11/XF86Config-4";
-
- my $update_mouse = sub {
- my ($mouse, $id) = @_;
-
- my @zaxis = (
- $mouse->{nbuttons} > 3 ? [ "ZAxisMapping", "4 5" ] : (),
- $mouse->{nbuttons} > 5 ? [ "ZAxisMapping", "6 7" ] : (),
- $mouse->{nbuttons} < 3 ? ([ "Emulate3Buttons" ], [ "Emulate3Timeout", "50" ]) : ()
- );
-
- my $zaxis = join('', map { qq(\n $_->[0]) . ($_->[1] && qq( $_->[1])) } @zaxis);
- substInFile {
- if ($id > 1) {
- if (/^DeviceName\s+"Mouse$id"/ .. /^EndSection/) {
- $_ = '' if /(ZAxisMapping|Emulate3)/; #- remove existing line
- s|^(\s*Protocol\s+).*|$1"$mouse->{XMOUSETYPE}"|;
- s|^(\s*Device\s+).*|$1"/dev/mouse"$zaxis|;
- }
- } else {
- if (/^Section\s+"Pointer"/ .. /^EndSection/) {
- $_ = '' if /(ZAxisMapping|Emulate3)/; #- remove existing line
- s|^(\s*Protocol\s+).*|$1"$mouse->{XMOUSETYPE}"|;
- s|^(\s*Device\s+).*|$1"/dev/mouse"$zaxis|;
- }
- }
- } $f if -e $f && !$::testing;
-
- $zaxis = join('', map { qq(\n Option "$_->[0]") . ($_->[1] && qq( "$_->[1]")) } @zaxis);
- substInFile {
- if (/Identifier\s+"Mouse$id"/ .. /^EndSection/) {
- $_ = '' if /(ZAxisMapping|Emulate3)/; #- remove existing line
- s|^(\s*Option\s+"Protocol"\s+).*|$1"$mouse->{XMOUSETYPE}"|;
- s|^(\s*Option\s+"Device"\s+).*|$1"/dev/mouse"$zaxis|;
- }
- } $g if -e $g && !$::testing;
- };
- $update_mouse->($mouse, 1);
- $mouse->{auxmouse} and $update_mouse->($mouse->{auxmouse}, 2);
-}
diff --git a/perl-install/my_gtk.pm b/perl-install/my_gtk.pm
deleted file mode 100644
index a4eaa7583..000000000
--- a/perl-install/my_gtk.pm
+++ /dev/null
@@ -1,677 +0,0 @@
- #-########################################################################
-#- Pixel's implementation of Perl-GTK :-) [DDX]
-#-########################################################################
-package my_gtk; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $border);
-
-@ISA = qw(Exporter);
-%EXPORT_TAGS = (
- helpers => [ qw(create_okcancel createScrolledWindow create_menu create_notebook create_packtable create_hbox create_vbox create_adjustment create_box_with_title create_treeitem) ],
- wrappers => [ qw(gtksignal_connect gtkradio gtkpack gtkpack_ gtkpack__ gtkpack2 gtkpack3 gtkpack2_ gtkpack2__ gtksetstyle gtkset_tip gtkappenditems gtkappend gtkset_shadow_type gtkadd gtkput gtktext_insert gtkset_usize gtksize gtkset_justify gtkset_active gtkset_modal gtkset_border_width gtkmove gtkshow gtkhide gtkdestroy gtkset_mousecursor gtkset_mousecursor_normal gtkset_mousecursor_wait gtkset_background gtkset_default_fontset gtkctree_children gtkxpm gtkpng gtkcreate_xpm gtkcreate_png) ],
- ask => [ qw(ask_warn ask_okcancel ask_yesorno ask_from_entry ask_file) ],
-);
-$EXPORT_TAGS{all} = [ map { @$_ } values %EXPORT_TAGS ];
-@EXPORT_OK = map { @$_ } values %EXPORT_TAGS;
-
-use Gtk;
-use Gtk::Gdk::ImlibImage;
-use c;
-use log;
-use common qw(:common :functional :file);
-
-my $forgetTime = 1000; #- in milli-seconds
-$border = 5;
-
-1;
-
-#-###############################################################################
-#- OO stuff
-#-###############################################################################
-sub new {
- my ($type, $title, %opts) = @_;
-
- Gtk->init;
- Gtk::Gdk::ImlibImage->init;
- Gtk->set_locale;
- my $o = bless { %opts }, $type;
- $o->_create_window($title);
- while (my $e = shift @tempory::objects) { $e->destroy }
- foreach (@interactive::objects) {
- $_->{rwindow}->set_modal(0) if $_->{rwindow}->can('set_modal');
- }
- push @interactive::objects, $o if !$opts{no_interactive_objects};
- $o->{rwindow}->set_position('center_always') if $::isStandalone;
- $o->{rwindow}->set_modal(1) if $my_gtk::grab || $o->{grab};
-
- if ($::isWizard && !$my_gtk::pop_it) {
- my $rc = "/etc/gtk/wizard.rc";
- -r $rc or $rc = dirname(__FILE__) . "/wizard.rc";
- Gtk::Rc->parse($rc);
- $o->{window} = new Gtk::VBox(0,0);
- $o->{window}->set_border_width(10);
- $o->{rwindow} = $o->{window};
- if (!defined($::WizardWindow)) {
- $::WizardWindow = new Gtk::Window;
- $::WizardWindow->set_position('center_always');
- $::WizardTable = new Gtk::Table(2, 2, 0);
- $::WizardWindow->add($::WizardTable);
- my $draw1 = new Gtk::DrawingArea;
- $draw1->set_usize(540,100);
- my $draw2 = new Gtk::DrawingArea;
- $draw2->set_usize(1,300);
- my ($im_up, $mask_up) = gtkcreate_png($::Wizard_pix_up || "wiz_default_up.png");
- my ($y1, $x1) = $im_up->get_size;
-# my ($im_left, $mask_left) = gtkcreate_png($::Wizard_pix_left || "wiz_default_left.png");
-# my ($y2, $x2) = $im_left->get_size;
- my $style= new Gtk::Style;
- $style->font(Gtk::Gdk::Font->fontset_load("-adobe-times-bold-r-normal-*-25-*-100-100-p-*-iso8859-*"));
- my $w = $style->font->string_width($::Wizard_title);
- $draw1->signal_connect(expose_event => sub {
- my $i;
- for ($i=0;$i<(540/$y1);$i++) {
- $draw1->window->draw_pixmap ($draw1->style->bg_gc('normal'),
- $im_up, 0, 0, 0, $y1*$i,
- $x1 , $y1 );
- $draw1->window->draw_string(
- $style->font,
- $draw1->style->white_gc,
- 140+(380-$w)/2, 62,
- ($::Wizard_title) );
- }
- });
-# $draw2->signal_connect(expose_event => sub {
-# my $i;
-# for ($i=0;$i<(300/$y2);$i++) {
-# $draw2->window->draw_pixmap ($draw2->style->bg_gc('normal'),
-# $im_left, 0, 0, 0, $y2*$i,
-# $x2 , $y2 );
-# }
-# });
- $::WizardTable->attach($draw1, 0, 2, 0, 1, 'fill', 'fill', 0, 0);
- $::WizardTable->attach($draw2, 0, 1, 1, 2, 'fill', 'fill', 0, 0);
- $::WizardTable->set_usize(540,400);
- $::WizardWindow->show_all;
- flush();
- }
- $::WizardTable->attach($o->{window}, 1, 2, 1, 2, {'fill', 'expand'}, {'fill', 'expand'}, 0, 0);
- }
-
- $::isEmbedded or return $o;
- $o->{window} = new Gtk::HBox(0,0);
- $o->{rwindow} = $o->{window};
- defined($::Plug) or $::Plug = new Gtk::Plug ($::XID);
- $::Plug->show;
- flush();
- $::Plug->add($o->{window});
- $::CCPID and kill "USR2", $::CCPID;
- $o;
-}
-sub main {
- my ($o, $completed, $canceled) = @_;
- gtkset_mousecursor_normal();
- my $timeout = Gtk->timeout_add(1000, sub { gtkset_mousecursor_normal(); 1 });
- my $b = before_leaving { Gtk->timeout_remove($timeout) };
- $o->show;
- $o->{rwindow}->window->set_events(['key_press_mask', 'key_release_mask', 'exposure_mask']);
-
- do {
- local $::setstep = 1;
- Gtk->main;
- } while ($o->{retval} ? $completed && !$completed->() : $canceled && !$canceled->());
- $o->destroy;
- $o->{retval}
-}
-sub show($) {
- my ($o) = @_;
- $o->{window}->show;
- $o->{rwindow}->show;
-}
-sub destroy($) {
- my ($o) = @_;
- $o->{rwindow}->destroy;
- gtkset_mousecursor_wait();
- flush();
-}
-sub DESTROY { goto &destroy }
-sub sync($) {
- my ($o) = @_;
- show($o);
- flush();
-}
-sub flush {
- Gtk->main_iteration while Gtk->events_pending;
-}
-
-sub gtkshow($) { $_[0]->show; $_[0] }
-sub gtkhide($) { $_[0]->hide; $_[0] }
-sub gtkdestroy($) { $_[0] and $_[0]->destroy }
-sub gtkset_usize($$$) { $_[0]->set_usize($_[1],$_[2]); $_[0] }
-sub gtksize($$$) { $_[0]->size($_[1],$_[2]); $_[0] }
-sub gtkset_justify($$) { $_[0]->set_justify($_[1]); $_[0] }
-sub gtkset_active($$) { $_[0]->set_active($_[1]); $_[0] }
-sub gtkset_modal { $_[0]->set_modal($_[1]); $_[0] }
-sub gtkset_border_width{ $_[0]->set_border_width($_[1]); $_[0] }
-sub gtkmove { $_[0]->window->move($_[1], $_[2]); $_[0] }
-
-sub gtksignal_connect($@) {
- my $w = shift;
- $w->signal_connect(@_);
- $w
-}
-
-sub gtkradio {
- my $def = pop;
- my $radio;
- map { $radio = new Gtk::RadioButton($_, $radio ? $radio : ());
- $radio->set_active($_ eq $def); $radio } @_;
-}
-
-sub gtkpack($@) {
- my $box = shift;
- gtkpack_($box, map {; 1, $_ } @_);
-}
-sub gtkpack__($@) {
- my $box = shift;
- gtkpack_($box, map {; 0, $_ } @_);
-}
-sub gtkpack_($@) {
- my $box = shift;
- for (my $i = 0; $i < @_; $i += 2) {
- my $l = $_[$i + 1];
- ref $l or $l = new Gtk::Label($l);
- $box->pack_start($l, $_[$i], 1, 0);
- $l->show;
- }
- $box
-}
-sub gtkpack2($@) {
- my $box = shift;
- gtkpack2_($box, map {; 1, $_ } @_);
-}
-sub gtkpack2__($@) {
- my $box = shift;
- gtkpack2_($box, map {; 0, $_ } @_);
-}
-sub gtkpack3 {
- my $a = shift;
- $a && goto \&gtkpack2__;
- goto \&gtkpack2;
-}
-sub gtkpack2_($@) {
- my $box = shift;
- for (my $i = 0; $i < @_; $i += 2) {
- my $l = $_[$i + 1];
- ref $l or $l = new Gtk::Label($l);
- $box->pack_start($l, $_[$i], 0, 0);
- $l->show;
- }
- $box
-}
-
-sub gtksetstyle {
- my ($w, $s) = @_;
- $w->set_style($s);
- $w;
-}
-
-sub gtkset_tip {
- my ($tips, $w, $tip) = @_;
- $tips->set_tip($w, $tip) if $tip;
-}
-
-sub gtkappenditems {
- my $w = shift;
- map {gtkshow($_) } @_;
- $w->append_items(@_);
- $w
-}
-
-sub gtkappend($@) {
- my $w = shift;
- foreach (@_) {
- my $l = $_;
- ref $l or $l = new Gtk::Label($l);
- $w->append($l);
- $l->show;
- }
- $w
-}
-
-sub gtkset_shadow_type {
- $_[0]->set_shadow_type($_[1]);
- $_[0];
-}
-
-sub gtkadd($@) {
- my $w = shift;
- foreach (@_) {
- my $l = $_;
- ref $l or $l = new Gtk::Label($l);
- $w->add($l);
- $l->show;
- }
- $w
-}
-sub gtkput {
- my ($w, $w2, $x, $y) = @_;
- $w->put($w2, $x, $y);
- $w2->show;
- $w
-}
-
-sub gtktext_insert {
- my ($w, $t) = @_;
- $w->freeze;
- $w->backward_delete($w->get_length);
- $w->insert(undef, undef, undef, $t);
- #- DEPRECATED? needs \n otherwise in case of one line text the beginning is not shown (even with the vadj->set_value)
- $w->set_word_wrap(1);
-#- $w->vadj->set_value(0);
- $w->thaw;
- $w;
-}
-
-sub gtkroot {
- Gtk->init;
- Gtk->set_locale;
- Gtk::Gdk::Window->new_foreign(Gtk::Gdk->ROOT_WINDOW);
-}
-
-sub gtkcolor($$$) {
- my ($r, $g, $b) = @_;
-
- my $color = bless { red => $r, green => $g, blue => $b }, 'Gtk::Gdk::Color';
- gtkroot()->get_colormap->color_alloc($color);
-}
-
-sub gtkset_mousecursor {
- my ($type, $w) = @_;
- ($w || gtkroot())->set_cursor(Gtk::Gdk::Cursor->new($type));
-}
-sub gtkset_mousecursor_normal { gtkset_mousecursor(68, @_) }
-sub gtkset_mousecursor_wait { gtkset_mousecursor(150, @_) }
-
-sub gtkset_background {
- my ($r, $g, $b) = @_;
-
- my $root = gtkroot();
- my $gc = Gtk::Gdk::GC->new($root);
-
- my $color = gtkcolor($r, $g, $b);
- $gc->set_foreground($color);
- $root->set_background($color);
-
- my ($h, $w) = $root->get_size;
- $root->draw_rectangle($gc, 1, 0, 0, $w, $h);
-}
-
-sub gtkset_default_fontset {
- my ($fontset) = @_;
-
- my $style = Gtk::Widget->get_default_style;
- my $f = Gtk::Gdk::Font->fontset_load($fontset) or die '';
- $style->font($f);
- Gtk::Widget->set_default_style($style);
-}
-
-sub gtkctree_children {
- my ($node) = @_;
- my @l;
- $node or return;
- for (my $p = $node->row->children; $p; $p = $p->row->sibling) {
- push @l, $p;
- }
- @l;
-}
-
-sub gtkcreate_xpm {
- my ($w, $f) = @_;
- my @l = Gtk::Gdk::Pixmap->create_from_xpm($w->window, $w->style->bg('normal'), $f) or die "gtkcreate_xpm: missing pixmap file $f";
- @l;
-}
-sub gtkcreate_png {
- my ($f) = @_;
- $f =~ m|.png$| or $f="$f.png";
- if ( $f !~ /\//) { -e "$_/$f" and $f="$_/$f", last foreach $ENV{SHARE_PATH}, "$ENV{SHARE_PATH}/libDrakX/pixmaps", "pixmaps" }
- my $im = Gtk::Gdk::ImlibImage->load_image($f) or die "gtkcreate_png: missing png file $f";
- $im->render($im->rgb_width, $im->rgb_height);
- ($im->move_image(), $im->move_mask);
-}
-sub xpm_d { my $w = shift; Gtk::Gdk::Pixmap->create_from_xpm_d($w->window, undef, @_) }
-sub gtkxpm { new Gtk::Pixmap(gtkcreate_xpm(@_)) }
-sub gtkpng { new Gtk::Pixmap(gtkcreate_png(@_)) }
-#-###############################################################################
-#- createXXX functions
-
-#- these functions return a widget
-#-###############################################################################
-
-sub create_okcancel {
- my ($w, $ok, $cancel, $spread, @other) = @_;
- my $one = ($ok xor $cancel);
- $spread ||= $::isWizard ? "end" : "spread";
- $ok ||= $::isWizard ? ($::Wizard_finished ? _("Finish") : _("Next ->")) : _("Ok");
- $cancel ||= $::isWizard ? _("<- Previous") : _("Cancel");
- my $b1 = gtksignal_connect($w->{ok} = new Gtk::Button($ok), clicked => $w->{ok_clicked} || sub { $w->{retval} = 1; Gtk->main_quit });
- my $b2 = !$one && gtksignal_connect($w->{cancel} = new Gtk::Button($cancel), clicked => $w->{cancel_clicked} || sub { log::l("default cancel_clicked"); undef $w->{retval}; Gtk->main_quit });
- $::isWizard and gtksignal_connect($w->{wizcancel} = new Gtk::Button(_("Cancel")), clicked => sub { die 'wizcancel' });
- my @l = grep { $_ } $::isWizard ? ($w->{wizcancel}, $::Wizard_no_previous ? () : $b2, $b1): ($b1, $b2);
- push @l, map { gtksignal_connect(new Gtk::Button($_->[0]), clicked => $_->[1]) } @other;
-
- $_->can_default($::isWizard) foreach @l;
- gtkadd(create_hbox($spread), @l);
-}
-
-sub create_box_with_title($@) {
- my $o = shift;
-
- $o->{box_size} = sum(map { round(length($_) / 60 + 0.5) } map { split "\n" } @_);
- $o->{box} = new Gtk::VBox(0,0);
- $o->{icon} and eval { gtkpack__($o->{box}, gtkset_border_width(gtkpack_(new Gtk::HBox(0,0), 1, gtkpng($o->{icon})),5)); };
- if (@_ <= 2 && $o->{box_size} > 4) {
- my $font = $o->{box}->style->font;
- my $wanted = $o->{box_size} * ($font->ascent + $font->descent) + 7;
- my $height = min(250, $wanted);
- my $has_scroll = $height < $wanted;
-
- my $wtext = new Gtk::Text;
- $wtext->can_focus($has_scroll);
- chomp(my $text = join("\n", @_));
- my $scroll = createScrolledWindow(gtktext_insert($wtext, $text));
- $scroll->set_usize(400, $height);
- gtkpack__($o->{box}, $scroll);
- } else {
- my $a = !$::no_separator;
- undef $::no_separator;
- gtkpack__($o->{box},
- (map {
- my $w = ref $_ ? $_ : new Gtk::Label($_);
- $w->set_name("Title");
- $w;
- } map { ref $_ ? $_ : warp_text($_) } @_),
- if_($a, new Gtk::HSeparator)
- );
- }
-}
-
-sub createScrolledWindow {
- my ($W) = @_;
- my $w = new Gtk::ScrolledWindow(undef, undef);
- $w->set_policy('automatic', 'automatic');
- member(ref $W, qw(Gtk::CList Gtk::CTree Gtk::Text)) ?
- $w->add($W) :
- $w->add_with_viewport($W);
- $W->can("set_focus_vadjustment") and $W->set_focus_vadjustment($w->get_vadjustment);
- $W->show;
- $w
-}
-
-sub create_menu($@) {
- my $title = shift;
- my $w = new Gtk::MenuItem($title);
- $w->set_submenu(gtkshow(gtkappend(new Gtk::Menu, @_)));
- $w
-}
-
-sub add2notebook {
- my ($n, $title, $book) = @_;
-
- my ($w1, $w2) = map { new Gtk::Label($_) } $title, $title;
- $book->{widget_title} = $w1;
- $n->append_page_menu($book, $w1, $w2);
- $book->show;
- $w1->show;
- $w2->show;
-}
-
-sub create_notebook(@) {
- my $n = new Gtk::Notebook;
- add2notebook($n, splice(@_, 0, 2)) while @_;
- $n
-}
-
-sub create_adjustment($$$) {
- my ($val, $min, $max) = @_;
- new Gtk::Adjustment($val, $min, $max + 1, 1, ($max - $min + 1) / 10, 1);
-}
-
-sub create_packtable($@) {
- my ($options, @l) = @_;
- my $w = new Gtk::Table(0, 0, $options->{homogeneous} || 0);
- map_index {
- my ($i, $l) = ($_[0], $_);
- map_index {
- my ($j) = @_;
- if ($_) {
- ref $_ or $_ = new Gtk::Label($_);
- $j != $#$l ?
- $w->attach($_, $j, $j + 1, $i, $i + 1, 'fill', 'fill', 5, 0) :
- $w->attach($_, $j, $j + 1, $i, $i + 1, 1|4, ref($_) eq 'Gtk::ScrolledWindow' ? 1|4 : 0, 0, 0);
- $_->show;
- }
- } @$l;
- } @l;
- $w->set_col_spacings($options->{col_spacings} || 0);
- $w->set_row_spacings($options->{row_spacings} || 0);
- $w
-}
-
-sub create_hbox {
- my $w = new Gtk::HButtonBox;
- $w->set_layout($_[0] || "spread");
- $w;
-}
-sub create_vbox {
- my $w = new Gtk::VButtonBox;
- $w->set_layout(-spread);
- $w;
-}
-
-
-sub _create_window($$) {
- my ($o, $title) = @_;
- my $w = new Gtk::Window;
- my $f = new Gtk::Frame(undef);
- $w->set_name("Title");
- gtkadd($w, $f);
-
- $w->set_title($title);
-
- $w->signal_connect(expose_event => sub { eval { $interactive::objects[-1]{rwindow} == $w and $w->window->XSetInputFocus } }) if $my_gtk::force_focus || $o->{force_focus};
- $w->signal_connect(delete_event => sub { $w->destroy; die 'wizcancel' });
- $w->set_uposition(@{$my_gtk::force_position || $o->{force_position}}) if $my_gtk::force_position || $o->{force_position};
-
- $w->signal_connect(focus => sub { Gtk->idle_add(sub { $w->ensure_focus($_[0]); 0 }, $_[1]) }) if $w->can('ensure_focus');
-
- if ($::o->{mouse}{unsafe}) {
- $w->set_events("pointer_motion_mask");
- my $signal;
- $signal = $w->signal_connect(motion_notify_event => sub {
- delete $::o->{mouse}{unsafe};
- log::l("unsetting unsafe mouse");
- $w->signal_disconnect($signal);
- });
- }
- $w->signal_connect(key_press_event => sub {
- my $d = ${{ 65470 => 'help',
- 65481 => 'next',
- 65480 => 'previous' }}{$_[1]{keyval}};
-
- if ($d eq "help") {
- require install_gtk;
- install_gtk::create_big_help($::o);
- } elsif (chr($_[1]{keyval}) eq 'e' && $_[1]{state} & 8) {
- log::l("Switching to " . ($::expert ? "beginner" : "expert"));
- $::expert = !$::expert;
- } elsif ($d) {
- #- previous field is created here :(
- my $s; foreach (reverse @{$::o->{orderedSteps}}) {
- $s->{previous} = $_ if $s;
- $s = $::o->{steps}{$_};
- }
- $s = $::o->{step};
- do { $s = $::o->{steps}{$s}{$d} } until !$s || $::o->{steps}{$s}{reachable};
- $::setstep && $s and die "setstep $s\n";
- }
- });# if $::isInstall;
-
- $w->signal_connect(size_allocate => sub {
- my ($wi, $he) = @{$_[1]}[2,3];
- my ($X, $Y, $Wi, $He) = @{$my_gtk::force_center || $o->{force_center}};
- $w->set_uposition(max(0, $X + ($Wi - $wi) / 2), max(0, $Y + ($He - $he) / 2));
- }) if ($my_gtk::force_center || $o->{force_center}) && !($my_gtk::force_position || $o->{force_position}) ;
-
- $o->{window} = $f;
- $o->{rwindow} = $w;
-}
-
-my ($next_child, $left, $right, $up, $down);
-{
- my $next_child = sub {
- my ($c, $dir) = @_;
-
- my @childs = $c->parent->children;
-
- my $i; for ($i = 0; $i < @childs; $i++) {
- last if $childs[$i] == $c || $childs[$i]->subtree == $c;
- }
- $i += $dir;
- 0 <= $i && $i < @childs ? $childs[$i] : undef;
- };
- $left = sub { &$next_child($_[0]->parent, 0); };
- $right = sub {
- my ($c) = @_;
- if ($c->subtree) {
- $c->expand;
- ($c->subtree->children)[0];
- } else {
- $c;
- }
- };
- $down = sub {
- my ($c) = @_;
- return &$right($c) if ref $c eq "Gtk::TreeItem" && $c->subtree && $c->expanded;
-
- if (my $n = &$next_child($c, 1)) {
- $n;
- } else {
- return if ref $c->parent ne 'Gtk::Tree';
- &$down($c->parent);
- }
- };
- $up = sub {
- my ($c) = @_;
- if (my $n = &$next_child($c, -1)) {
- $n = ($n->subtree->children)[-1] while ref $n eq "Gtk::TreeItem" && $n->subtree && $n->expanded;
- $n;
- } else {
- return if ref $c->parent ne 'Gtk::Tree';
- &$left($c);
- }
- };
-}
-
-sub create_treeitem($) {
- my ($name) = @_;
-
- my $w = new Gtk::TreeItem($name);
- $w->signal_connect(key_press_event => sub {
- my (undef, $e) = @_;
- local $_ = chr ($e->{keyval});
-
- if ($e->{keyval} > 0x100) {
- my $n;
- $n = &$left($w) if /[Q\x96]/;
- $n = &$right($w) if /[S\x98]/;
- $n = &$up($w) if /[R\x97]/;
- $n = &$down($w) if /[T\x99]/;
- if ($n) {
- $n->focus('up');
- $w->signal_emit_stop("key_press_event");
- }
- $w->expand if /[+]/;
- $w->collapse if /[-\xad]/;
- do {
- $w->expanded ? $w->collapse : $w->expand;
- $w->signal_emit_stop("key_press_event");
- } if /[\r\x8d]/;
- }
- 1;
- });
- $w;
-}
-
-
-
-#-###############################################################################
-#- ask_XXX
-
-#- just give a title and some args, and it will return the value given by the user
-#-###############################################################################
-
-sub ask_warn { my $w = my_gtk->new(shift @_); $w->_ask_warn(@_); main($w); }
-sub ask_yesorno { my $w = my_gtk->new(shift @_); $w->_ask_okcancel(@_, _("Yes"), _("No")); main($w); }
-sub ask_okcancel { my $w = my_gtk->new(shift @_); $w->_ask_okcancel(@_, _("Is this correct?"), _("Ok"), _("Cancel")); main($w); }
-sub ask_from_entry { my $w = my_gtk->new(shift @_); $w->_ask_from_entry(@_); main($w); }
-sub ask_file { my $w = my_gtk->new(''); $w->_ask_file(@_); main($w); }
-
-sub _ask_from_entry($$@) {
- my ($o, @msgs) = @_;
- my $entry = new Gtk::Entry;
- my $f = sub { $o->{retval} = $entry->get_text; Gtk->main_quit };
- $o->{ok_clicked} = $f;
- $o->{cancel_clicked} = sub { undef $o->{retval}; Gtk->main_quit };
-
- gtkadd($o->{window},
- gtkpack($o->create_box_with_title(@msgs),
- gtksignal_connect($entry, 'activate' => $f),
- ($o->{hide_buttons} ? () : create_okcancel($o))),
- );
- $entry->grab_focus;
-}
-
-sub _ask_warn($@) {
- my ($o, @msgs) = @_;
- gtkadd($o->{window},
- gtkpack($o->create_box_with_title(@msgs),
- gtksignal_connect(my $w = new Gtk::Button(_("Ok")), "clicked" => sub { Gtk->main_quit }),
- ),
- );
- $w->grab_focus;
-}
-
-sub _ask_okcancel($@) {
- my ($o, @msgs) = @_;
- my ($ok, $cancel) = splice @msgs, -2;
-
- gtkadd($o->{window},
- gtkpack(create_box_with_title($o, @msgs),
- create_okcancel($o, $ok, $cancel),
- )
- );
- $o->{ok}->grab_focus;
-}
-
-
-sub _ask_file($$) {
- my ($o, $title) = @_;
- my $f = $o->{rwindow} = new Gtk::FileSelection $title;
- $f->ok_button->signal_connect(clicked => sub { $o->{retval} = $f->get_filename ; Gtk->main_quit });
- $f->cancel_button->signal_connect(clicked => sub { Gtk->main_quit });
- $f->hide_fileop_buttons;
-}
-
-#-###############################################################################
-#- rubbish
-#-###############################################################################
-
-#-sub label_align($$) {
-#- my $w = shift;
-#- local $_ = shift;
-#- $w->set_alignment(!/W/i, !/N/i);
-#- $w
-#-}
-
diff --git a/perl-install/network.pm b/perl-install/network.pm
deleted file mode 100644
index 6a426b76e..000000000
--- a/perl-install/network.pm
+++ /dev/null
@@ -1,482 +0,0 @@
-package network; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use Socket;
-
-use common qw(:common :file :system :functional);
-use detect_devices;
-use run_program;
-use any;
-use log;
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub read_conf {
- my ($file) = @_;
- my %netc = getVarsFromSh($file);
- \%netc;
-}
-
-sub read_resolv_conf {
- my ($file) = @_;
- my @l = qw(dnsServer dnsServer2 dnsServer3);
- my %netc;
-
- local *F; open F, $file or die "cannot open $file: $!";
- local $_;
- while (<F>) {
- /^\s*nameserver\s+(\S+)/ and $netc{shift @l} = $1;
- }
- \%netc;
-}
-
-sub read_interface_conf {
- my ($file) = @_;
- my %intf = getVarsFromSh($file) or die "cannot open file $file: $!";
-
- $intf{BOOTPROTO} ||= 'static';
- $intf{isPtp} = $intf{NETWORK} eq '255.255.255.255';
- $intf{isUp} = 1;
- \%intf;
-}
-
-sub up_it {
- my ($prefix, $intfs) = @_;
- $_->{isUp} and return foreach values %$intfs;
- my $f = "/etc/resolv.conf"; symlink "$prefix/$f", $f;
- run_program::rooted($prefix, "/etc/rc.d/init.d/network", "start");
- $_->{isUp} = 1 foreach values %$intfs;
-}
-sub down_it {
- my ($prefix, $intfs) = @_;
- run_program::rooted($prefix, "/etc/rc.d/init.d/network", "stop");
- $_->{isUp} = 1 foreach values %$intfs;
-}
-
-sub write_conf {
- my ($file, $netc) = @_;
-
- add2hash($netc, {
- NETWORKING => "yes",
- FORWARD_IPV4 => "false",
- HOSTNAME => "localhost.localdomain",
- });
- ($netc->{DOMAINNAME}) = ($netc->{HOSTNAME} =~ /\.(.*)/);
-
- setVarsInSh($file, $netc, qw(NETWORKING FORWARD_IPV4 DHCP_HOSTNAME HOSTNAME DOMAINNAME GATEWAY GATEWAYDEV NISDOMAIN));
-}
-
-sub write_resolv_conf {
- my ($file, $netc) = @_;
-
- #- get the list of used dns.
- my %used_dns; @used_dns{$netc->{dnsServer}, $netc->{dnsServer2}, $netc->{dnsServer3}} = (1, 2, 3);
-
- unless ($netc->{DOMAINNAME} || $netc->{DOMAINNAME2} || keys %used_dns > 0) {
- unlink($file);
- log::l("neither domain name nor dns server are configured");
- return 0;
- }
-
- my (%search, %dns, @unknown);
- local *F; open F, $file;
- local $_;
- while (<F>) {
- /^[#\s]*search\s+(.*?)\s*$/ and $search{$1} = $., next;
- /^[#\s]*nameserver\s+(.*?)\s*$/ and $dns{$1} = $., next;
- /^.*# ppp temp entry\s*$/ and next;
- /^[#\s]*(\S.*?)\s*$/ and push @unknown, $1;
- }
-
- close F; open F, ">$file" or die "cannot write $file: $!";
- print F "# search $_\n" foreach grep { $_ ne "$netc->{DOMAINNAME} $netc->{DOMAINNAME2}" } sort { $search{$a} <=> $search{$b} } keys %search;
- print F "search $netc->{DOMAINNAME} $netc->{DOMAINNAME2}\n\n" if ($netc->{DOMAINNAME} || $netc->{DOMAINNAME2});
- print F "# nameserver $_\n" foreach grep { ! exists $used_dns{$_} } sort { $dns{$a} <=> $dns{$b} } keys %dns;
- print F "nameserver $_\n" foreach sort { $used_dns{$a} <=> $used_dns{$b} } grep { $_ } keys %used_dns;
- print F "\n";
- print F "# $_\n" foreach @unknown;
- print F "\n";
- print F "# ppp temp entry\n";
-
- #-res_init(); # reinit the resolver so DNS changes take affect
- 1;
-}
-
-sub write_interface_conf {
- my ($file, $intf) = @_;
-
- my @ip = split '\.', $intf->{IPADDR};
- my @mask = split '\.', $intf->{NETMASK};
- add2hash($intf, {
- BROADCAST => join('.', mapn { int $_[0] | ~int $_[1] & 255 } \@ip, \@mask),
- NETWORK => join('.', mapn { int $_[0] & $_[1] } \@ip, \@mask),
- ONBOOT => bool2yesno(!member($intf->{DEVICE}, map { $_->{device} } detect_devices::probeall())),
- });
- setVarsInSh($file, $intf, qw(DEVICE BOOTPROTO IPADDR NETMASK NETWORK BROADCAST ONBOOT), ($intf->{wireless_eth}) ? qw(WIRELESS_MODE WIRELESS_ESSID WIRELESS_NWID WIRELESS_FREQ WIRELESS_SENS WIRELESS_RATE WIRELESS_ENC_KEY WIRELESS_RTS WIRELESS_FRAG WIRELESS_IWCONFIG WIRELESS_IWSPY WIRELESS_IWPRIV) : ());
-}
-
-sub add2hosts {
- my ($file, $hostname, @ips) = @_;
- my %l;
- $l{$_} = $hostname foreach @ips;
-
- local *F;
- if (-e $file) {
- open F, $file or die "cannot open $file: $!";
- /\s*(\S+)(.*)/ and $l{$1} ||= $2 foreach <F>;
- }
- log::l("writing host information to $file");
- open F, ">$file" or die "cannot write $file: $!";
- while (my ($ip, $v) = each %l) {
- $ip or next;
- print F "$ip";
- if ($v =~ /^\s/) {
- print F $v;
- } else {
- print F "\t\t$v";
- print F " $1" if $v =~ /(.*?)\./;
- }
- print F "\n";
- }
-}
-
-# The interface/gateway needs to be configured before this will work!
-sub guessHostname {
- my ($prefix, $netc, $intf) = @_;
-
- $intf->{isUp} && dnsServers($netc) or return 0;
- $netc->{HOSTNAME} && $netc->{DOMAINNAME} and return 1;
-
- write_resolv_conf("$prefix/etc/resolv.conf", $netc);
-
- my $name = gethostbyaddr(Socket::inet_aton($intf->{IPADDR}), AF_INET) or log::l("reverse name lookup failed"), return 0;
-
- log::l("reverse name lookup worked");
-
- add2hash($netc, { HOSTNAME => $name });
- 1;
-}
-
-sub addDefaultRoute {
- my ($netc) = @_;
- c::addDefaultRoute($netc->{GATEWAY}) if $netc->{GATEWAY};
-}
-
-sub sethostname {
- my ($netc) = @_;
- syscall_('sethostname', $netc->{HOSTNAME}, length $netc->{HOSTNAME}) or log::l("sethostname failed: $!");
-}
-
-sub resolv($) {
- my ($name) = @_;
- is_ip($name) and return $name;
- my $a = join(".", unpack "C4", (gethostbyname $name)[4]);
- #-log::l("resolved $name in $a");
- $a;
-}
-
-sub dnsServers {
- my ($netc) = @_;
- my %used_dns; @used_dns{$netc->{dnsServer}, $netc->{dnsServer2}, $netc->{dnsServer3}} = (1, 2, 3);
- sort { $used_dns{$a} <=> $used_dns{$b} } grep { $_ } keys %used_dns;
-}
-
-sub findIntf {
- my ($intf, $device) = @_;
- $intf->{$device}->{DEVICE} = $device;
- $intf->{$device};
-}
-#PAD \s* a la fin
-my $ip_regexp = qr/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
-sub is_ip {
- my ($ip) = @_;
- return 0 unless $ip =~ $ip_regexp;
- my @fields = ($1, $2, $3, $4);
- foreach (@fields) {
- return 0 if $_ < 0 || $_ > 255;
- }
- return 1;
-}
-
-sub netmask {
- my ($ip) = @_;
- return "255.255.255.0" unless is_ip($ip);
- $ip =~ $ip_regexp;
- if ($1 >= 1 && $1 < 127) {
- return "255.0.0.0"; #-1.0.0.0 to 127.0.0.0
- } elsif ($1 >= 128 && $1 <= 191 ){
- return "255.255.0.0"; #-128.0.0.0 to 191.255.0.0
- } elsif ($1 >= 192 && $1 <= 223) {
- return "255.255.255.0";
- } else {
- return "255.255.255.255"; #-experimental classes
- }
-}
-
-sub masked_ip {
- my ($ip) = @_;
- return "" unless is_ip($ip);
- my @mask = netmask($ip) =~ $ip_regexp;
- my @ip = $ip =~ $ip_regexp;
- for (my $i = 0; $i < @ip; $i++) {
- $ip[$i] &= int $mask[$i];
- }
- join(".", @ip);
-}
-
-sub dns {
- my ($ip) = @_;
- my $mask = masked_ip($ip);
- my @masked = masked_ip($ip) =~ $ip_regexp;
- $masked[3] = 2;
- join (".", @masked);
-
-}
-sub gateway {
- my ($ip) = @_;
- my @masked = masked_ip($ip) =~ $ip_regexp;
- $masked[3] = 1;
- join (".", @masked);
-
-}
-
-sub configureNetwork {
- my ($prefix, $netc, $in, $intf, $first_time) = @_;
- local $_;
- any::setup_thiskind($in, 'net', !$::expert, 1);
- my @l = detect_devices::getNet() or die _("no network card found");
- my @all_cards = netconnect::conf_network_card_backend ($prefix, $netc, $intf, undef, undef, undef, undef);
-
- configureNetwork_step_1:
- my $n_card=0;
- $netc ||= {};
- my $last; foreach (@l) {
- my $intf2 = findIntf($intf ||= {}, $_);
- add2hash($intf2, $last);
- add2hash($intf2, { NETMASK => '255.255.255.0' });
- configureNetworkIntf($netc, $in, $intf2, $netc->{NET_DEVICE}, 0, $all_cards[$n_card]->[1]) or return;
-
- $last = $intf2;
- $n_card++;
- }
- #- {
- #- my $wait = $o->wait_message(_("Hostname"), _("Determining host name and domain..."));
- #- network::guessHostname($o->{prefix}, $o->{netc}, $o->{intf});
- #- }
- $last or return;
- if ($last->{BOOTPROTO} =~ /^(dhcp|bootp)$/) {
- $netc->{minus_one} = 1;
- my $dhcp_hostname = $netc->{HOSTNAME};
- $::isInstall and $in->set_help('configureNetworkHostDHCP');
- $in->ask_from_entries_refH(_("Configuring network"),
-_("Please enter your host name if you know it.
-Some DHCP servers require the hostname to work.
-Your host name should be a fully-qualified host name,
-such as ``mybox.mylab.myco.com''."),
- [ { label => _("Host name"), val => \$netc->{HOSTNAME} }]) or goto configureNetwork_step_1;
- $netc->{HOSTNAME} ne $dhcp_hostname and $netc->{DHCP_HOSTNAME} = $netc->{HOSTNAME};
- } else {
- configureNetworkNet($in, $netc, $last ||= {}, @l) or goto configureNetwork_step_1;
- if ( $netc->{GATEWAY} ) {
- unlink "$prefix/etc/sysconfig/network-scripts/net_cnx_up";
- unlink "$prefix/etc/sysconfig/network-scripts/net_cnx_down";
- undef $netc->{NET_DEVICE};
- }
- }
- miscellaneousNetwork($in);
- 1;
-}
-
-
-sub configureNetworkIntf {
- my ($netc, $in, $intf, $net_device, $skip, $module) = @_;
- my $text;
- my @wireless_modules = ("airo_cs", "netwave_cs", "ray_cs", "wavelan_cs", "wvlan_cs");
- if (member($module, @wireless_modules)) {
- $intf->{wireless_eth} = 1;
- $netc->{wireless_eth} = 1;
- $intf->{WIRELESS_MODE} = "Managed";
- $intf->{WIRELESS_ESSID} = "any";
-#- $intf->{WIRELESS_NWID} = "";
-#- $intf->{WIRELESS_FREQ} = "";
-#- $intf->{WIRELESS_SENS} = "";
-#- $intf->{WIRELESS_RATE} = "";
-#- $intf->{WIRELESS_ENC_KEY} = "";
-#- $intf->{WIRELESS_RTS} = "";
-#- $intf->{WIRELESS_FRAG} = "";
-#- $intf->{WIRELESS_IWCONFIG} = "";
-#- $intf->{WIRELESS_IWSPY} = "";
-#- $intf->{WIRELESS_IWPRIV} = "";
- }
- if ($net_device eq $intf->{DEVICE}) {
- $skip and return 1;
- $text = _("WARNING: This device has been previously configured to connect to the Internet.
-Simply accept to keep this device configured.
-Modifying the fields below will override this configuration.");
- }
- else {
- $text = _("Please enter the IP configuration for this machine.
-Each item should be entered as an IP address in dotted-decimal
-notation (for example, 1.2.3.4).");
- }
- my $pump = $intf->{BOOTPROTO} =~ /^(dhcp|bootp)$/;
- delete $intf->{NETWORK};
- delete $intf->{BROADCAST};
- my @fields = qw(IPADDR NETMASK);
- $::isStandalone or $in->set_help('configureNetworkIP');
- $in->ask_from_entries_refH(_("Configuring network device %s", $intf->{DEVICE}),
- (_("Configuring network device %s", $intf->{DEVICE}) . ( $module ? _(" (driver $module)") : '' ) ."\n\n") .
- $text,
- [ { label => _("IP address"), val => \$intf->{IPADDR}, disabled => sub { $pump } },
- { label => _("Netmask"), val => \$intf->{NETMASK}, disabled => sub { $pump } },
- { label => _("Automatic IP"), val => \$pump, type => "bool", text => _("(bootp/dhcp)") },
- if_($intf->{wireless_eth},
- { label => "WIRELESS_MODE", val => \$intf->{WIRELESS_MODE}, list => [ "Ad-hoc", "Managed", "Master", "Repeater", "Secondary", "Auto"] },
- { label => "WIRELESS_ESSID", val => \$intf->{WIRELESS_ESSID} },
- { label => "WIRELESS_NWID", val => \$intf->{WIRELESS_NWID} },
- { label => "WIRELESS_FREQ", val => \$intf->{WIRELESS_FREQ} },
- { label => "WIRELESS_SENS", val => \$intf->{WIRELESS_SENS} },
- { label => "WIRELESS_RATE", val => \$intf->{WIRELESS_RATE} },
- { label => "WIRELESS_ENC_KEY", val => \$intf->{WIRELESS_ENC_KEY} },
- { label => "WIRELESS_RTS", val => \$intf->{WIRELESS_RTS} },
- { label => "WIRELESS_FRAG", val => \$intf->{WIRELESS_FRAG} },
- { label => "WIRELESS_IWCONFIG", val => \$intf->{WIRELESS_IWCONFIG} },
- { label => "WIRELESS_IWSPY", val => \$intf->{WIRELESS_IWSPY} },
- { label => "WIRELESS_IWPRIV", val => \$intf->{WIRELESS_IWPRIV} }
- ),
- ],
- complete => sub {
- $intf->{BOOTPROTO} = $pump ? "dhcp" : "static";
- return 0 if $pump;
- for (my $i = 0; $i < @fields; $i++) {
- unless (is_ip($intf->{$fields[$i]})) {
- $in->ask_warn('', _("IP address should be in format 1.2.3.4"));
- return (1,$i);
- }
- return 0;
- }
- if ($intf->{WIRELESS_FREQ} !~ /[0-9.]*[kGM]/) {
- $in->ask_warn('', _('Freq should have the suffix k, M or G (for example, "2.46G" for 2.46 GHz fre
- quency), or add enough \'0\'.'));
- return (1,6);
- }
- if ($intf->{WIRELESS_RATE} !~ /[0-9.]*[kGM]/) {
- $in->ask_warn('', _('Rate should have the suffix k, M or G (for example, "11M" for 11M), or add enough \'0\'.'));
- return (1,8);
- }
- },
- focus_out => sub {
- $intf->{NETMASK} ||= netmask($intf->{IPADDR}) unless $_[0]
- }
- );
-}
-
-sub configureNetworkNet {
- my ($in, $netc, $intf, @devices) = @_;
-
- $netc->{dnsServer} ||= dns($intf->{IPADDR});
- $netc->{GATEWAY} ||= gateway($intf->{IPADDR});
-
- $::isInstall and $in->set_help('configureNetworkHost');
- $in->ask_from_entries_refH(_("Configuring network"),
-_("Please enter your host name.
-Your host name should be a fully-qualified host name,
-such as ``mybox.mylab.myco.com''.
-You may also enter the IP address of the gateway if you have one"),
- [ { label => _("Host name"), val => \$netc->{HOSTNAME} },
- { label => _("DNS server"), val => \$netc->{dnsServer} },
- { label => _("Gateway"), val => \$netc->{GATEWAY} },
- if_($::expert,
- { label => _("Gateway device"), val => \$netc->{GATEWAYDEV}, list => \@devices },
- ),
- ],
- );
-}
-
-sub miscellaneousNetwork {
- my ($in, $clicked) = @_;
- my $u = $::o->{miscellaneous} ||= {};
- $::isInstall and $in->set_help('configureNetworkProxy');
- $::expert || $clicked and $in->ask_from_entries_refH('',
- _("Proxies configuration"),
- [ { label => _("HTTP proxy"), val => \$u->{http_proxy} },
- { label => _("FTP proxy"), val => \$u->{ftp_proxy} },
- ],
- complete => sub {
- $u->{http_proxy} =~ m,^($|http://), or $in->ask_warn('', _("Proxy should be http://...")), return 1,0;
- $u->{ftp_proxy} =~ m,^($|ftp://), or $in->ask_warn('', _("Proxy should be ftp://...")), return 1,1;
- 0;
- }
- ) || return;
-}
-
-sub read_all_conf {
- my ($prefix, $netc, $intf) = @_;
- $netc ||= {}; $intf ||= {};
- add2hash($netc, read_conf("$prefix/etc/sysconfig/network")) if -r "$prefix/etc/sysconfig/network";
- add2hash($netc, read_resolv_conf("$prefix/etc/resolv.conf")) if -r "$prefix/etc/resolv.conf";
- foreach (all("$prefix/etc/sysconfig/network-scripts")) {
- if (/ifcfg-(\w+)/ && $1 ne 'lo' && $1 !~ /ppp/) {
- my $intf = findIntf($intf, $1);
- add2hash($intf, { getVarsFromSh("$prefix/etc/sysconfig/network-scripts/$_") });
- }
- }
-}
-
-#- configureNetwork2 : configure the network interfaces.
-#- input
-#- $prefix
-#- $netc
-#- $intf
-#- $install : a function that takes a list of package and install them : ex sub { system("urpmi --auto --best-output " . join(' ', @_)); }
-#- $netc input
-#- NETWORKING : networking flag : string : "yes" by default
-#- FORWARD_IPV4 : forward IP flag : string : "false" by default
-#- HOSTNAME : hostname : string : "localhost.localdomain" by default
-#- DOMAINNAME : domainname : string : $netc->{HOSTNAME} =~ /\.(.*)/ by default
-#- DOMAINNAME2 : well it's another domainname : have to look further why we used 2
-#- The following are facultatives
-#- DHCP_HOSTNAME : If you have a dhcp and want to set the hostname
-#- GATEWAY : gateway
-#- GATEWAYDEV : gateway interface
-#- NISDOMAIN : nis domain
-#- $netc->{dnsServer} : dns server 1
-#- $netc->{dnsServer2} : dns server 2
-#- $netc->{dnsServer3} : dns server 3 : note that we uses the dns1 for the LAN, and the 2 others for the internet conx
-#- $intf input: for each $device (for example ethx)
-#- $intf->{$device}{IPADDR} : IP address
-#- $intf->{$device}{NETMASK} : netmask
-#- $intf->{$device}{DEVICE} : DEVICE = $device
-#- $intf->{$device}{BOOTPROTO} : boot prototype : "bootp" or "dhcp" or "pump" or ...
-sub configureNetwork2 {
- my ($in, $prefix, $netc, $intf, $install) = @_;
- my $etc = "$prefix/etc";
-
- $netc->{wireless_eth} and $install->('wireless-tools');
- write_conf("$etc/sysconfig/network", $netc);
- write_resolv_conf("$etc/resolv.conf", $netc);
- write_interface_conf("$etc/sysconfig/network-scripts/ifcfg-$_->{DEVICE}", $_) foreach grep { $_->{DEVICE} } values %$intf;
- add2hosts("$etc/hosts", $netc->{HOSTNAME}, map { $_->{IPADDR} } values %$intf);
-
- if (grep { $_->{BOOTPROTO} =~ /^(dhcp)$/ } values %$intf) {
- $::isStandalone ? $in->standalone::pkgs_install('dhcpcd') : $install->('dhcpcd');
- }
- if (grep { $_->{BOOTPROTO} =~ /^(pump|bootp)$/ } values %$intf) {
- $::isStandalone ? $in->standalone::pkgs_install('pump') : $install->('pump');
- }
- #-res_init(); #- reinit the resolver so DNS changes take affect
-
- any::miscellaneousNetwork($prefix);
-}
-
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
deleted file mode 100644
index 05cb5e5f1..000000000
--- a/perl-install/partition_table.pm
+++ /dev/null
@@ -1,707 +0,0 @@
-package partition_table; # $Id$
-
-#use diagnostics;
-#use strict;
-#use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @important_types @important_types2 @fields2save);
-
-@ISA = qw(Exporter);
-%EXPORT_TAGS = (
- types => [ qw(type2name type2fs name2type fs2type isExtended isExt2 isReiserfs isXfs isTrueFS isSwap isDos isWin isFat isSunOS isOtherAvailableFS isPrimary isNfs isSupermount isLVM isRAID isMDRAID isLVMBased isHFS isNT isMountableRW isNonMountable isApplePartMap isLoopback isApple isAppleBootstrap) ],
-);
-@EXPORT_OK = map { @$_ } values %EXPORT_TAGS;
-
-
-use common qw(:common :system :functional);
-use partition_table_raw;
-use log;
-
-if (arch() =~ /ppc/) {
- @important_types = ('Linux native', 'Linux swap', 'Apple HFS Partition', 'Apple Bootstrap');
-} else {
- @important_types = ('Linux native', 'Linux swap', if_(arch() =~ /i.86/, 'ReiserFS', 'DOS FAT16', 'Win98 FAT32'));
-}
-@important_types2 = ('Linux RAID', 'Linux Logical Volume Manager partition');
-
-@fields2save = qw(primary extended totalsectors isDirty needKernelReread);
-
-@bad_types = ('Empty', 'DOS 3.3+ Extended Partition', 'Win95: Extended partition, LBA-mapped', 'Linux extended partition');
-
-my %types = (
- 0x0 => 'Empty',
-arch() =~ /^ppc/ ? (
- 0x401 => 'Apple Partition',
- 0x401 => 'Apple Bootstrap',
- 0x402 => 'Apple HFS Partition',
-) : arch() =~ /^i.86/ ? (
- 0x183 => 'ReiserFS',
- 0x283 => 'XFS',
-) : arch() =~ /^sparc/ ? (
- 0x1 => 'SunOS boot',
- 0x2 => 'SunOS root',
- 0x3 => 'SunOS swap',
- 0x4 => 'SunOS usr',
- 0x5 => 'Whole disk',
- 0x6 => 'SunOS stand',
- 0x7 => 'SunOS var',
- 0x8 => 'SunOS home',
-) : (
- 0x1 => 'DOS 12-bit FAT',
- 0x2 => 'XENIX root',
- 0x3 => 'XENIX /usr',
- 0x4 => 'DOS 16-bit FAT (up to 32M)',
- 0x5 => 'DOS 3.3+ Extended Partition',
- 0x6 => 'DOS FAT16',
- 0x7 => 'NTFS (or HPFS)',
- 0x8 => 'OS/2 (v1.0-1.3 only) / AIX boot partition / SplitDrive / Commodore DOS / DELL partition spanning multiple drives / QNX 1.x and 2.x ("qny")',
-),
- 0x9 => 'AIX data partition / Coherent filesystem / QNX 1.x and 2.x ("qnz")',
- 0xa => 'OS/2 Boot Manager / Coherent swap partition / OPUS',
- 0xb => 'Win98 FAT32',
- 0xc => 'Win98 FAT32, LBA-mapped',
- 0xe => 'Win95: DOS 16-bit FAT, LBA-mapped',
- 0xf => 'Win95: Extended partition, LBA-mapped',
- 0x10 => 'OPUS (?)',
- 0x11 => 'Hidden DOS 12-bit FAT',
- 0x12 => 'Compaq/HP config partition',
- 0x14 => 'Hidden DOS 16-bit FAT <32M',
- 0x16 => 'Hidden DOS 16-bit FAT >=32M',
- 0x17 => 'Hidden IFS (e.g., HPFS)',
- 0x18 => 'AST Windows swapfile',
- 0x1b => 'Hidden WIN95 OSR2 32-bit FAT',
- 0x1c => 'Hidden WIN95 OSR2 32-bit FAT, LBA-mapped',
- 0x1e => 'Hidden FAT95',
- 0x22 => 'Used for Oxygen Extended Partition Table by ekstazya@sprint.ca.',
- 0x24 => 'NEC DOS 3.x',
- 0x38 => 'THEOS ver 3.2 2gb partition',
- 0x39 => 'THEOS ver 4 spanned partition',
- 0x3a => 'THEOS ver 4 4gb partition',
- 0x3b => 'THEOS ver 4 extended partition',
- 0x3c => 'PartitionMagic recovery partition',
- 0x40 => 'Venix 80286',
- 0x41 => 'Linux/MINIX (sharing disk with DRDOS) / Personal RISC Boot / PPC PReP (Power PC Reference Platform) Boot',
- 0x42 => 'Linux swap (sharing disk with DRDOS) / SFS (Secure Filesystem) / W2K marker',
- 0x43 => 'Linux native (sharing disk with DRDOS)',
- 0x45 => 'EUMEL/Elan',
- 0x46 => 'EUMEL/Elan 0x46',
- 0x47 => 'EUMEL/Elan 0x47',
- 0x48 => 'EUMEL/Elan 0x48',
- 0x4d => 'QNX4.x',
- 0x4e => 'QNX4.x 2nd part',
- 0x4f => 'QNX4.x 3rd part / Oberon partition',
- 0x50 => 'OnTrack Disk Manager (older versions) RO',
- 0x51 => 'OnTrack Disk Manager RW (DM6 Aux1) / Novell',
- 0x52 => 'CP/M / Microport SysV/AT',
- 0x53 => 'Disk Manager 6.0 Aux3',
- 0x54 => 'Disk Manager 6.0 Dynamic Drive Overlay',
- 0x55 => 'EZ-Drive',
- 0x56 => 'Golden Bow VFeature Partitioned Volume. / DM converted to EZ-BIOS',
- 0x57 => 'DrivePro',
- 0x5c => 'Priam EDisk',
- 0x61 => 'SpeedStor',
- 0x63 => 'Unix System V (SCO, ISC Unix, UnixWare, ...), Mach, GNU Hurd',
- 0x64 => 'PC-ARMOUR protected partition / Novell Netware 2.xx',
- 0x65 => 'Novell Netware 3.xx or 4.xx',
- 0x67 => 'Novell',
- 0x68 => 'Novell 0x68',
- 0x69 => 'Novell 0x69',
- 0x70 => 'DiskSecure Multi-Boot',
- 0x75 => 'IBM PC/IX',
- 0x80 => 'MINIX until 1.4a',
- 0x81 => 'MINIX since 1.4b, early Linux / Mitac disk manager',
- 0x82 => 'Linux swap',
- 0x83 => 'Linux native',
- 0x84 => 'OS/2 hidden C: drive / Hibernation partition',
- 0x85 => 'Linux extended partition',
- 0x86 => 'Old Linux RAID partition superblock / NTFS volume set',
- 0x87 => 'NTFS volume set',
- 0x8a => 'Linux Kernel Partition (used by AiR-BOOT)',
- 0x8e => 'Linux Logical Volume Manager partition',
- 0x93 => 'Amoeba',
- 0x94 => 'Amoeba bad block table',
- 0x99 => 'DCE376 logical drive',
- 0xa0 => 'IBM Thinkpad hibernation partition / Phoenix NoteBIOS Power Management "Save-to-Disk" partition',
- 0xa5 => 'BSD/386, 386BSD, NetBSD, FreeBSD',
- 0xa6 => 'OpenBSD',
- 0xa7 => 'NEXTSTEP',
- 0xa9 => 'NetBSD',
- 0xaa => 'Olivetti Fat 12 1.44Mb Service Partition',
- 0xb7 => 'BSDI filesystem',
- 0xb8 => 'BSDI swap partition',
- 0xbe => 'Solaris boot partition',
- 0xc0 => 'CTOS / REAL/32 secure small partition',
- 0xc1 => 'DRDOS/secured (FAT-12)',
- 0xc4 => 'DRDOS/secured (FAT-16, < 32M)',
- 0xc6 => 'DRDOS/secured (FAT-16, >= 32M) / Windows NT corrupted FAT16 volume/stripe set',
- 0xc7 => 'Windows NT corrupted NTFS volume/stripe set / Syrinx boot',
- 0xcb => 'reserved for DRDOS/secured (FAT32)',
- 0xcc => 'reserved for DRDOS/secured (FAT32, LBA)',
- 0xcd => 'CTOS Memdump?',
- 0xce => 'reserved for DRDOS/secured (FAT16, LBA)',
- 0xd0 => 'REAL/32 secure big partition',
- 0xd1 => 'Old Multiuser DOS secured FAT12',
- 0xd4 => 'Old Multiuser DOS secured FAT16 <32M',
- 0xd5 => 'Old Multiuser DOS secured extended partition',
- 0xd6 => 'Old Multiuser DOS secured FAT16 >=32M',
- 0xd8 => 'CP/M-86',
- 0xdb => 'Digital Research CP/M, Concurrent CP/M, Concurrent DOS / CTOS (Convergent Technologies OS -Unisys) / KDG Telemetry SCPU boot',
- 0xdd => 'Hidden CTOS Memdump?',
- 0xe1 => 'DOS access or SpeedStor 12-bit FAT extended partition',
- 0xe3 => 'DOS R/O or SpeedStor',
- 0xe4 => 'SpeedStor 16-bit FAT extended partition < 1024 cyl.',
- 0xeb => 'BeOS',
- 0xee => 'Indication that this legacy MBR is followed by an EFI header',
- 0xef => 'Partition that contains an EFI file system',
- 0xf1 => 'SpeedStor 0xf1',
- 0xf2 => 'DOS 3.3+ secondary partition',
- 0xf4 => 'SpeedStor large partition / Prologue single-volume partition',
- 0xf5 => 'Prologue multi-volume partition',
- 0xfd => 'Linux RAID',
- 0xfe => 'SpeedStor > 1024 cyl. or LANstep / IBM PS/2 IML (Initial Microcode Load) partition, located at the end of the disk. / Windows NT Disk Administrator hidden partition / Linux Logical Volume Manager partition (old)',
- 0xff => 'Xenix Bad Block Table',
-);
-
-my %type2fs = (
-arch() =~ /^ppc/ ? (
- 0x07 => 'hpfs',
-) : (
- 0x07 => 'ntfs',
-),
-arch() !~ /sparc/ ? (
- 0x01 => 'vfat',
- 0x04 => 'vfat',
- 0x05 => 'ignore',
- 0x06 => 'vfat',
-) : (
- 0x01 => 'ufs',
- 0x02 => 'ufs',
- 0x04 => 'ufs',
- 0x06 => 'ufs',
- 0x07 => 'ufs',
- 0x08 => 'ufs',
-),
- 0x0b => 'vfat',
- 0x0c => 'vfat',
- 0x0e => 'vfat',
- 0x1b => 'vfat',
- 0x1c => 'vfat',
- 0x1e => 'vfat',
- 0x82 => 'swap',
- 0x83 => 'ext2',
- 0x183=> 'reiserfs',
- 0x283=> 'xfs',
- 0x401 => 'apple',
- 0x402 => 'hfs',
- nfs => 'nfs', #- hack
-);
-
-my %types_rev = reverse %types;
-my %fs2type = reverse %type2fs;
-
-
-1;
-
-sub important_types {
- my @l = (@important_types, if_($::expert, @important_types2, sort values %types));
- difference2(\@l, \@bad_types);
-}
-
-sub type2name($) { $types{$_[0]} || $_[0] }
-sub type2fs($) { $type2fs{$_[0]} }
-sub fs2type($) { $fs2type{$_[0]} }
-sub name2type($) {
- local ($_) = @_;
- /0x(.*)/ ? hex $1 : $types_rev{$_} || $_;
-}
-
-sub isWholedisk($) { arch() =~ /^sparc/ && $_[0]{type} == 5 }
-sub isExtended($) { arch() !~ /^sparc/ && ($_[0]{type} == 5 || $_[0]{type} == 0xf || $_[0]{type} == 0x85) }
-sub isLVM($) { $_[0]{type} == 0x8e }
-sub isRAID($) { $_[0]{type} == 0xfd }
-sub isMDRAID { $_[0]{device} =~ /^md/ }
-sub isLVMBased { $_[0]{LVMname} }
-sub isSwap($) { $type2fs{$_[0]{type}} eq 'swap' }
-sub isExt2($) { $type2fs{$_[0]{type}} eq 'ext2' }
-sub isReiserfs($) { $type2fs{$_[0]{type}} eq 'reiserfs' }
-sub isXfs($) { $type2fs{$_[0]{type}} eq 'xfs' }
-sub isDos($) { arch() !~ /^sparc/ && $ {{ 1=>1, 4=>1, 6=>1 }}{$_[0]{type}} }
-sub isWin($) { $ {{ 0xb=>1, 0xc=>1, 0xe=>1, 0x1b=>1, 0x1c=>1, 0x1e=>1 }}{$_[0]{type}} }
-sub isFat($) { isDos($_[0]) || isWin($_[0]) }
-sub isSunOS($) { arch() =~ /sparc/ && $ {{ 0x1=>1, 0x2=>1, 0x4=>1, 0x6=>1, 0x7=>1, 0x8=>1 }}{$_[0]{type}} }
-sub isSolaris($) { 0; } #- hack to search for getting the difference ? TODO
-sub isOtherAvailableFS($) { isFat($_[0]) || isSunOS($_[0]) } #- other OS that linux can access its filesystem
-sub isNfs($) { $_[0]{type} eq 'nfs' } #- small hack
-sub isNT($) { arch() !~ /^sparc/ && $_[0]{type} == 0x7 }
-sub isSupermount($) { $_[0]{type} eq 'supermount' }
-sub isHFS($) { $type2fs{$_[0]{type}} eq 'hfs' }
-sub isApple($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isDriver} }
-sub isAppleBootstrap($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isBoot} }
-sub isHiddenMacPart { defined $_[0]{isMap} }
-sub isLoopback { defined $_[0]{loopback_file} }
-sub isTrueFS { isExt2($_[0]) || isReiserfs($_[0]) || isXfs($_[0]) }
-sub isMountableRW { isTrueFS($_[0]) || isOtherAvailableFS($_[0]) }
-sub isNonMountable { isRAID($_[0]) || isLVM($_[0]) }
-
-sub isPrimary($$) {
- my ($part, $hd) = @_;
- foreach (@{$hd->{primary}{raw}}) { $part eq $_ and return 1; }
- 0;
-}
-
-sub adjustStartAndEnd($$) {
- my ($hd, $part) = @_;
-
- $hd->adjustStart($part);
- $hd->adjustEnd($part);
-}
-
-sub verifyNotOverlap($$) {
- my ($a, $b) = @_;
- $a->{start} + $a->{size} <= $b->{start} || $b->{start} + $b->{size} <= $a->{start};
-}
-sub verifyInside($$) {
- my ($a, $b) = @_;
- $b->{start} <= $a->{start} && $a->{start} + $a->{size} <= $b->{start} + $b->{size};
-}
-
-sub verifyParts_ {
- foreach my $i (@_) {
- foreach (@_) {
- next if !$i || !$_ || $i == $_ || isWholedisk($i) || isExtended($i); #- avoid testing twice for simplicity :-)
- if (isWholedisk($_)) {
- verifyInside($i, $_) or
- cdie sprintf("partition sector #$i->{start} (%s) is not inside whole disk (%s)!",
- formatXiB($i->{size}, 512), formatXiB($_->{size}, 512));
- } elsif (isExtended($_)) {
- verifyNotOverlap($i, $_) or
- log::l(sprintf("warning partition sector #$i->{start} (%s) is overlapping with extended partition!",
- formatXiB($i->{size}, 512))); #- only warning for this one is acceptable
- } else {
- verifyNotOverlap($i, $_) or
- cdie sprintf("partitions sector #$i->{start} (%s) and sector #$_->{start} (%s) are overlapping!",
- formatXiB($i->{size}, 512), formatXiB($_->{size}, 512));
- }
- }
- }
-}
-sub verifyParts($) {
- my ($hd) = @_;
- verifyParts_(get_normal_parts($hd));
-}
-sub verifyPrimary($) {
- my ($pt) = @_;
- $_->{start} > 0 || arch() =~ /^sparc/ || die "partition must NOT start at sector 0" foreach @{$pt->{normal}};
- verifyParts_(@{$pt->{normal}}, $pt->{extended});
-}
-
-sub assign_device_numbers($) {
- my ($hd) = @_;
-
- my $i = 1;
- $_->{device} = $hd->{prefix} . $i++ foreach @{$hd->{primary}{raw}},
- map { $_->{normal} } @{$hd->{extended} || []};
-
- #- try to figure what the windobe drive letter could be!
- #
- #- first verify there's at least one primary dos partition, otherwise it
- #- means it is a secondary disk and all will be false :(
- my ($c, @others) = grep { isFat($_) } @{$hd->{primary}{normal}};
-
- $i = ord 'C';
- $c->{device_windobe} = chr($i++) if $c;
- $_->{device_windobe} = chr($i++) foreach grep { isFat($_) } map { $_->{normal} } @{$hd->{extended}};
- $_->{device_windobe} = chr($i++) foreach @others;
-}
-
-sub remove_empty_extended($) {
- my ($hd) = @_;
- my $last = $hd->{primary}{extended} or return;
- @{$hd->{extended}} = grep {
- if ($_->{normal}) {
- $last = $_;
- } else {
- %{$last->{extended}} = $_->{extended} ? %{$_->{extended}} : ();
- }
- $_->{normal};
- } @{$hd->{extended}};
- adjust_main_extended($hd);
-}
-
-sub adjust_main_extended($) {
- my ($hd) = @_;
-
- if (!is_empty_array_ref $hd->{extended}) {
- my ($l, @l) = @{$hd->{extended}};
-
- # the first is a special case, must recompute its real size
- my $start = round_down($l->{normal}{start} - 1, $hd->{geom}{sectors});
- my $end = $l->{normal}{start} + $l->{normal}{size};
- my $only_linux = 1; my $has_win_lba = 0;
- foreach (map $_->{normal}, $l, @l) {
- $start = min($start, $_->{start});
- $end = max($end, $_->{start} + $_->{size});
- $only_linux &&= isTrueFS($_) || isSwap($_);
- $has_win_lba ||= $_->{type} == 0xc || $_->{type} == 0xe;
- }
- $l->{start} = $hd->{primary}{extended}{start} = $start;
- $l->{size} = $hd->{primary}{extended}{size} = $end - $start;
- $hd->{primary}{extended}{type} = $only_linux ? 0x85 : $has_win_lba ? 0xf : 0x5 if !$::expert;
- }
- unless (@{$hd->{extended} || []} || !$hd->{primary}{extended}) {
- %{$hd->{primary}{extended}} = (); #- modify the raw entry
- delete $hd->{primary}{extended};
- }
- verifyParts($hd); #- verify everything is all right
-}
-
-sub adjust_local_extended($$) {
- my ($hd, $part) = @_;
-
- foreach (@{$hd->{extended} || []}) {
- $_->{normal} == $part or next;
- $_->{size} = $part->{size} + $part->{start} - $_->{start};
- last;
- }
-}
-
-sub get_normal_parts($) {
- my ($hd) = @_;
-
- #- HACK !!
- $hd->{raid} and return grep {$_} @{$hd->{raid}};
- $hd->{loopback} and return grep {$_} @{$hd->{loopback}};
-
- @{$hd->{primary}{normal} || []}, map { $_->{normal} } @{$hd->{extended} || []}
-}
-
-sub get_holes($) {
- my ($hd) = @_;
-
- my $start = arch() eq "alpha" ? 2048 : 1;
-
- map {
- my $current = $start;
- $start = $_->{start} + $_->{size};
- { start => $current, size => $_->{start} - $current }
- } sort { $a->{start} <=> $b->{start} } grep { !isWholedisk($_) } get_normal_parts($hd), { start => $hd->{totalsectors}, size => 0 };
-}
-
-
-sub read_one($$) {
- my ($hd, $sector) = @_;
- my ($pt, $info);
-
- #- it can be safely considered that the first sector is used to probe the partition table
- #- but other sectors (typically for extended partition ones) have to match this type!
- if (!$sector) {
- my @parttype = arch() =~ /^sparc/ ? ('sun', 'bsd', 'unknown') : ('dos', 'bsd', 'sun', 'mac', 'unknown');
- foreach ('empty', @parttype) {
- /unknown/ and die "unknown partition table format";
- eval {
- require("partition_table_$_.pm");
- bless $hd, "partition_table_$_";
- ($pt, $info) = $hd->read($sector);
- log::l("found a $_ partition table on $hd->{file} at sector $sector");
- };
- $@ or last;
- }
- } else {
- #- keep current blessed object for that, this means it is neccessary to read sector 0 before.
- ($pt, $info) = $hd->read($sector);
- }
-
- my @extended = $hd->hasExtended ? grep { isExtended($_) } @$pt : ();
- my @normal = grep { $_->{size} && $_->{type} && !isExtended($_) } @$pt;
-
- @extended > 1 and die "more than one extended partition";
-
- $_->{rootDevice} = $hd->{device} foreach @normal, @extended;
- { raw => $pt, extended => $extended[0], normal => \@normal, info => $info };
-}
-
-sub read($;$) {
- my ($hd, $clearall) = @_;
- if ($clearall) {
- partition_table_raw::zero_MBR_and_dirty($hd);
- return 1;
- }
- my $pt = read_one($hd, 0) or return 0;
- $hd->{primary} = $pt;
- undef $hd->{extended};
- verifyPrimary($pt);
- eval {
- $pt->{extended} and read_extended($hd, $pt->{extended}) || return 0;
- }; die "extended partition: $@" if $@;
-
- assign_device_numbers($hd);
- remove_empty_extended($hd);
- 1;
-}
-
-sub read_extended {
- my ($hd, $extended) = @_;
-
- my $pt = read_one($hd, $extended->{start}) or return 0;
- $pt = { %$extended, %$pt };
-
- push @{$hd->{extended}}, $pt;
- @{$hd->{extended}} > 100 and die "oops, seems like we're looping here :( (or you have more than 100 extended partitions!)";
-
- @{$pt->{normal}} <= 1 or die "more than one normal partition in extended partition";
- @{$pt->{normal}} >= 1 or cdie "no normal partition in extended partition";
- $pt->{normal} = $pt->{normal}[0];
- #- in case of extended partitions, the start sector is local to the partition or to the first extended_part!
- $pt->{normal}{start} += $pt->{start};
-
- #- the following verification can broke an existing partition table that is
- #- correctly read by fdisk or cfdisk. maybe the extended partition can be
- #- recomputed to get correct size.
- if (!verifyInside($pt->{normal}, $extended)) {
- $extended->{size} = $pt->{normal}{start} + $pt->{normal}{size};
- verifyInside($pt->{normal}, $extended) or die "partition $pt->{normal}{device} is not inside its extended partition";
- }
-
- if ($pt->{extended}) {
- $pt->{extended}{start} += $hd->{primary}{extended}{start};
- read_extended($hd, $pt->{extended}) or return 0;
- }
- 1;
-}
-
-# write the partition table
-sub write($) {
- my ($hd) = @_;
- $hd->{isDirty} or return;
-
- #- set first primary partition active if no primary partitions are marked as active.
- for ($hd->{primary}{raw}) {
- (grep { $_->{local_start} = $_->{start}; $_->{active} ||= 0 } @$_) or $_->[0]{active} = 0x80;
- }
-
- #- last chance for verification, this make sure if an error is detected,
- #- it will never be writed back on partition table.
- verifyParts($hd);
-
- $hd->write(0, $hd->{primary}{raw}, $hd->{primary}{info}) or die "writing of partition table failed";
-
- #- should be fixed but a extended exist with no real extended partition, that blanks mbr!
- if (arch() !~ /^sparc/) {
- foreach (@{$hd->{extended}}) {
- # in case of extended partitions, the start sector must be local to the partition
- $_->{normal}{local_start} = $_->{normal}{start} - $_->{start};
- $_->{extended} and $_->{extended}{local_start} = $_->{extended}{start} - $hd->{primary}{extended}{start};
-
- $hd->write($_->{start}, $_->{raw}) or die "writing of partition table failed";
- }
- }
- $hd->{isDirty} = 0;
- $hd->{hasBeenDirty} = 1; #- used in undo (to know if undo should believe isDirty or not)
-
- #- now sync disk and re-read the partition table
- if ($hd->{needKernelReread}) {
- sync();
- $hd->kernel_read;
- $hd->{needKernelReread} = 0;
- }
-}
-
-sub active($$) {
- my ($hd, $part) = @_;
-
- $_->{active} = 0 foreach @{$hd->{primary}{normal}};
- $part->{active} = 0x80;
- $hd->{isDirty} = 1;
-}
-
-
-# remove a normal partition from hard drive hd
-sub remove($$) {
- my ($hd, $part) = @_;
- my $i;
-
- #- first search it in the primary partitions
- $i = 0; foreach (@{$hd->{primary}{normal}}) {
- if ($_ eq $part) {
- splice(@{$hd->{primary}{normal}}, $i, 1);
- %$_ = (); #- blank it
-
- return $hd->{isDirty} = $hd->{needKernelReread} = 1;
- }
- $i++;
- }
-
- my ($first, $second, $third) = map { $_->{normal} } @{$hd->{extended} || []};
- if ($third && $first eq $part) {
- die "Can't handle removing hda5 when hda6 is not the second partition" if $second->{start} > $third->{start};
- }
-
- #- otherwise search it in extended partitions
- foreach (@{$hd->{extended} || []}) {
- $_->{normal} eq $part or next;
-
- delete $_->{normal}; #- remove it
- remove_empty_extended($hd);
-
- return $hd->{isDirty} = $hd->{needKernelReread} = 1;
- }
- 0;
-}
-
-# create of partition at starting at `start', of size `size' and of type `type' (nice comment, uh?)
-sub add_primary($$) {
- my ($hd, $part) = @_;
-
- {
- local $hd->{primary}{normal}; #- save it to fake an addition of $part, that way add_primary do not modify $hd if it fails
- push @{$hd->{primary}{normal}}, $part;
- adjust_main_extended($hd); #- verify
- raw_add($hd->{primary}{raw}, $part);
- }
- push @{$hd->{primary}{normal}}, $part; #- really do it
-}
-
-sub add_extended {
- arch() =~ /^sparc/ and die _("Extended partition not supported on this platform");
-
- my ($hd, $part, $extended_type) = @_;
- $extended_type =~ s/Extended_?//;
-
- my $e = $hd->{primary}{extended};
-
- if ($e && !verifyInside($part, $e)) {
- #-die "sorry, can't add outside the main extended partition" unless $::unsafe;
- my $end = $e->{start} + $e->{size};
- my $start = min($e->{start}, $part->{start});
- $end = max($end, $part->{start} + $part->{size}) - $start;
-
- { #- faking a resizing of the main extended partition to test for problems
- local $e->{start} = $start;
- local $e->{size} = $end - $start;
- eval { verifyPrimary($hd->{primary}) };
- $@ and die
-_("You have a hole in your partition table but I can't use it.
-The only solution is to move your primary partitions to have the hole next to the extended partitions");
- }
- }
-
- if ($e && $part->{start} < $e->{start}) {
- my $l = first (@{$hd->{extended}});
-
- #- the first is a special case, must recompute its real size
- $l->{start} = round_down($l->{normal}{start} - 1, $hd->cylinder_size());
- $l->{size} = $l->{normal}{start} + $l->{normal}{size} - $l->{start};
- my $ext = { %$l };
- unshift @{$hd->{extended}}, { type => 5, raw => [ $part, $ext, {}, {} ], normal => $part, extended => $ext };
- #- size will be autocalculated :)
- } else {
- my ($ext, $ext_size) = is_empty_array_ref($hd->{extended}) ?
- ($hd->{primary}, -1) : #- -1 size will be computed by adjust_main_extended
- (top(@{$hd->{extended}}), $part->{size});
- my %ext = ( type => $extended_type || 5, start => $part->{start}, size => $ext_size );
-
- raw_add($ext->{raw}, \%ext);
- $ext->{extended} = \%ext;
- push @{$hd->{extended}}, { %ext, raw => [ $part, {}, {}, {} ], normal => $part };
- }
- $part->{start}++; $part->{size}--; #- let it start after the extended partition sector
- adjustStartAndEnd($hd, $part);
-
- adjust_main_extended($hd);
-}
-
-sub add($$;$$) {
- my ($hd, $part, $primaryOrExtended, $forceNoAdjust) = @_;
-
- get_normal_parts($hd) >= ($hd->{device} =~ /^rd/ ? 7 : $hd->{device} =~ /^(sd|ida|cciss)/ ? 15 : 63) and cdie "maximum number of partitions handled by linux reached";
-
- $part->{notFormatted} = 1;
- $part->{isFormatted} = 0;
- $part->{rootDevice} = $hd->{device};
- $hd->{isDirty} = $hd->{needKernelReread} = 1;
- $part->{start} ||= 1 if arch() !~ /^sparc/; #- starting at sector 0 is not allowed
- adjustStartAndEnd($hd, $part) unless $forceNoAdjust;
-
- my $e = $hd->{primary}{extended};
- my $nb_primaries = $hd->{device} =~ /^rd/ ? 3 : 1;
-
- if (arch() =~ /^sparc|ppc/ ||
- $primaryOrExtended eq 'Primary' ||
- $primaryOrExtended !~ /Extended/ && @{$hd->{primary}{normal} || []} < $nb_primaries) {
- eval { add_primary($hd, $part) };
- return unless $@;
- }
- eval { add_extended($hd, $part, $primaryOrExtended) } if $hd->hasExtended; #- try adding extended
- if ($@ || !$hd->hasExtended) {
- eval { add_primary($hd, $part) };
- die $@ if $@; #- send the add extended error which should be better
- }
-}
-
-# search for the next partition
-sub next($$) {
- my ($hd, $part) = @_;
-
- first(
- sort { $a->{start} <=> $b->{start} }
- grep { $_->{start} >= $part->{start} + $part->{size} }
- get_normal_parts($hd)
- );
-}
-sub next_start($$) {
- my ($hd, $part) = @_;
- my $next = &next($hd, $part);
- $next ? $next->{start} : $hd->{totalsectors};
-}
-
-sub can_raw_add {
- my ($hd) = @_;
- $_->{size} || $_->{type} or return 1 foreach @{$hd->{primary}{raw}};
- 0;
-}
-sub raw_add {
- my ($raw, $part) = @_;
-
- foreach (@$raw) {
- $_->{size} || $_->{type} and next;
- $_ = $part;
- return;
- }
- die "raw_add: partition table already full";
-}
-
-sub load($$;$) {
- my ($hd, $file, $force) = @_;
-
- local *F;
- open F, $file or die _("Error reading file %s", $file);
-
- my $h;
- {
- local $/ = "\0";
- eval <F>;
- }
- $@ and die _("Restoring from file %s failed: %s", $file, $@);
-
- ref $h eq 'ARRAY' or die _("Bad backup file");
-
- my %h; @h{@fields2save} = @$h;
-
- $h{totalsectors} == $hd->{totalsectors} or $force or cdie "bad totalsectors";
-
- #- unsure we don't modify totalsectors
- local $hd->{totalsectors};
-
- @{$hd}{@fields2save} = @$h;
-
- delete @$_{qw(isMounted isFormatted notFormatted toFormat toFormatUnsure)} foreach get_normal_parts($hd);
- $hd->{isDirty} = $hd->{needKernelReread} = 1;
-}
-
-sub save($$) {
- my ($hd, $file) = @_;
- my @h = @{$hd}{@fields2save};
- local *F;
- require Data::Dumper;
- open F, ">$file"
- and print F Data::Dumper->Dump([\@h], ['$h']), "\0"
- or die _("Error writing to file %s", $file);
-}
diff --git a/perl-install/partition_table_bsd.pm b/perl-install/partition_table_bsd.pm
deleted file mode 100644
index c6cd71394..000000000
--- a/perl-install/partition_table_bsd.pm
+++ /dev/null
@@ -1,145 +0,0 @@
-package partition_table_bsd; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(partition_table_raw);
-
-use common qw(:common :system :file :functional);
-use partition_table_raw;
-use partition_table;
-use c;
-
-#- very bad and rough handling :(
-my %typeToDos = (
- 8 => 0x83,
- 1 => 0x82,
-);
-my %typeFromDos = reverse %typeToDos;
-
-my ($main_format, $main_fields) = list2kv(
- I => 'magic',
- S => 'type',
- S => 'subtype',
- a16 => 'typename',
- a16 => 'packname',
- I => 'secsize',
- I => 'nsectors',
- I => 'ntracks',
- I => 'ncylinders',
- I => 'secpercyl',
- I => 'secprtunit',
- S => 'sparespertrack',
- S => 'sparespercyl',
- I => 'acylinders',
- S => 'rpm',
- S => 'interleave',
- S => 'trackskew',
- S => 'cylskew',
- I => 'headswitch',
- I => 'trkseek',
- I => 'flags',
- a20 => 'drivedata',
- a20 => 'spare',
- I => 'magic2',
- S => 'checksum',
- S => 'npartitions',
- I => 'bbsize',
- I => 'sbsize',
- a128=> 'partitions',
- a236=> 'blank',
-);
-$main_format = join '', @$main_format;
-
-my @fields = qw(size start fsize type frag cpg);
-my $format = "I I I C C S";
-my $magic = 0x82564557;
-my $nb_primary = 8;
-my $offset = 0x40;
-
-sub read($$) {
- my ($hd, $sector) = @_;
- my $tmp;
-
- local *F; partition_table_raw::openit($hd, *F) or die "failed to open device";
- c::lseek_sector(fileno(F), $sector, $offset) or die "reading of partition in sector $sector failed";
-
- sysread F, $tmp, psizeof($main_format) or die "error while reading partition table in sector $sector";
- my %info; @info{@$main_fields} = unpack $main_format, $tmp;
-
- #- TODO verify checksum
-
- my $size = psizeof($format);
- my @pt = map {
- my %h; @h{@fields} = unpack $format, $_;
- $h{type} = $typeToDos{$h{type}} || $h{type};
- \%h;
- } $info{partitions} =~ /(.{$size})/g;
-
- #- check magic number
- $info{magic} == $magic or die "bad magic number";
- $info{magic2} == $magic or die "bad magic number";
-
- [ @pt ], \%info;
-}
-
-# write the partition table (and extended ones)
-# for each entry, it uses fields: start, size, type, active
-sub write($$$;$) {
- my ($hd, $sector, $pt, $info) = @_;
-
- #- handle testing for writing partition table on file only!
- local *F;
- if ($::testing) {
- my $file = "/tmp/partition_table_$hd->{device}";
- open F, ">$file" or die "error opening test file $file";
- } else {
- partition_table_raw::openit($hd, *F, 2) or die "error opening device $hd->{device} for writing";
- c::lseek_sector(fileno(F), $sector, $offset) or return 0;
- }
-
- #- TODO compute checksum
-
- $info->{npartitions} = $nb_primary; #- is it ok?
-
- @$pt == $nb_primary or die "partition table does not have $nb_primary entries";
- $info->{partitions} = join '', map {
- local $_->{type} = $typeFromDos{$_->{type}} || $_->{type};
- pack $format, @$_{@fields};
- } @$pt;
-
- syswrite F, pack($main_format, @$info{@$main_fields}), psizeof($main_format) or return 0;
- 1;
-}
-
-sub info {
- my ($hd) = @_;
- my $dtype_scsi = 4; #- taken from fdisk, removed unused one,
- my $dtype_ST506 = 6; #- see fdisk for more
-
- {
- magic => $magic,
- magic2 => $magic,
- dtype => $hd->{device} =~ /^sd/ ? $dtype_scsi : $dtype_ST506,
- secsize => $common::SECTORSIZE,
- ncylinders => $hd->{geom}{cylinders},
- secpercyl => $hd->cylinder_size(),
- secprtunit => $hd->{geom}{totalsectors},
- rpm => 3600,
- interleave => 1,
- trackskew => 0,
- cylskew => 0,
- headswitch => 0,
- trkseek => 0,
- bbsize => 8192, #- size of boot area, with label
- sbsize => 8192, #- max size of fs superblock
- };
-}
-
-sub clear_raw {
- my ($hd) = @_;
- { raw => [ ({}) x $nb_primary ], info => info($hd) };
-}
-
-1;
diff --git a/perl-install/partition_table_dos.pm b/perl-install/partition_table_dos.pm
deleted file mode 100644
index e8ef57851..000000000
--- a/perl-install/partition_table_dos.pm
+++ /dev/null
@@ -1,94 +0,0 @@
-package partition_table_dos; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(partition_table_raw);
-
-use common qw(:common :system :file);
-use partition_table_raw;
-use partition_table;
-use c;
-
-my @fields = qw(active start_head start_sec start_cyl type end_head end_sec end_cyl start size);
-my $format = "C8 I2";
-my $magic = "\x55\xAA";
-my $nb_primary = 4;
-
-my $offset = $common::SECTORSIZE - length($magic) - $nb_primary * common::psizeof($format);
-
-sub hasExtended { 1 }
-
-sub compute_CHS($$) {
- my ($hd, $e) = @_;
- my @l = qw(cyl head sec);
- @$e{map { "start_$_" } @l} = $e->{start} || $e->{type} ? CHS2rawCHS(sector2CHS($hd, $e->{start})) : (0,0,0);
- @$e{map { "end_$_" } @l} = $e->{start} || $e->{type} ? CHS2rawCHS(sector2CHS($hd, $e->{start} + $e->{size} - 1)) : (0,0,0);
- 1;
-}
-
-sub CHS2rawCHS($$$) {
- my ($c, $h, $s) = @_;
- $c = min($c, 1023); #- no way to have a #cylinder >= 1024
- ($c & 0xff, $h, $s | ($c >> 2 & 0xc0));
-}
-
-# returns (cylinder, head, sector)
-sub sector2CHS($$) {
- my ($hd, $start) = @_;
- my ($s, $h);
- ($start, $s) = divide($start, $hd->{geom}{sectors});
- ($start, $h) = divide($start, $hd->{geom}{heads});
- ($start, $h, $s + 1);
-}
-
-sub read($$) {
- my ($hd, $sector) = @_;
- my $tmp;
-
- local *F; partition_table_raw::openit($hd, *F) or die "failed to open device";
- c::lseek_sector(fileno(F), $sector, $offset) or die "reading of partition in sector $sector failed";
-
- my @pt = map {
- sysread F, $tmp, psizeof($format) or die "error while reading partition table in sector $sector";
- my %h; @h{@fields} = unpack $format, $tmp;
- \%h;
- } (1..$nb_primary);
-
- #- check magic number
- sysread F, $tmp, length $magic or die "error reading magic number";
- $tmp eq $magic or die "bad magic number";
-
- [ @pt ];
-}
-
-# write the partition table (and extended ones)
-# for each entry, it uses fields: start, size, type, active
-sub write($$$;$) {
- my ($hd, $sector, $pt) = @_;
-
- #- handle testing for writing partition table on file only!
- local *F;
- if ($::testing) {
- my $file = "/tmp/partition_table_$hd->{device}";
- open F, ">$file" or die "error opening test file $file";
- } else {
- partition_table_raw::openit($hd, *F, 2) or die "error opening device $hd->{device} for writing";
- c::lseek_sector(fileno(F), $sector, $offset) or return 0;
- }
-
- @$pt == $nb_primary or die "partition table does not have $nb_primary entries";
- foreach (@$pt) {
- compute_CHS($hd, $_);
- local $_->{start} = $_->{local_start} || 0;
- $_->{active} ||= 0; $_->{type} ||= 0; $_->{size} ||= 0; #- for no warning
- syswrite F, pack($format, @$_{@fields}), psizeof($format) or return 0;
- }
- syswrite F, $magic, length $magic or return 0;
- 1;
-}
-
-sub clear_raw { { raw => [ ({}) x $nb_primary ] } }
-
-1;
diff --git a/perl-install/partition_table_empty.pm b/perl-install/partition_table_empty.pm
deleted file mode 100644
index a33798faf..000000000
--- a/perl-install/partition_table_empty.pm
+++ /dev/null
@@ -1,38 +0,0 @@
-package partition_table_empty; # $Id$
-
-#- this is a mainly dummy partition table. If we find it's empty, we just call -
-#- zero_MBR which will take care of bless'ing us to the partition table type best
-#- suited
-
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(partition_table_raw);
-
-use common qw(:common :system :file);
-use partition_table_raw;
-use partition_table;
-use c;
-
-
-sub read($$) {
- my ($hd, $sector) = @_;
- my $tmp;
-
- my $magic = "\0" x 512;
-
- local *F; partition_table_raw::openit($hd, *F) or die "failed to open device";
- c::lseek_sector(fileno(F), $sector, 0) or die "reading of partition in sector $sector failed";
-
- #- check magic number
- sysread F, $tmp, length $magic or die "error reading magic number";
- $tmp eq $magic or die "bad magic number";
-
- partition_table_raw::zero_MBR($hd);
-
- $hd->{primary}{raw};
-}
-
-1;
diff --git a/perl-install/partition_table_mac.pm b/perl-install/partition_table_mac.pm
deleted file mode 100644
index 52486a776..000000000
--- a/perl-install/partition_table_mac.pm
+++ /dev/null
@@ -1,373 +0,0 @@
-package partition_table_mac; # $Id$
-
-use diagnostics;
-#use strict; - fixed other PPC code to comply, but program bails on empty partition table - sbenedict
-use vars qw(@ISA $freepart_device $bootstrap_part $freepart_start $freepart_size $freepart_part $macos_part);
-
-@ISA = qw(partition_table_raw);
-
-use common qw(:common :system :file :functional);
-use partition_table_raw;
-use partition_table;
-use c;
-
-my %typeToDos = (
- "Apple_partition_map" => 0x401,
- "Apple_Bootstrap" => 0x401,
- "Apple_Driver43" => 0x401,
- "Apple_Driver_IOKit" => 0x401,
- "Apple_Patches" => 0x401,
- "Apple_HFS" => 0x402,
- "Apple_UNIX_SVR2" => 0x83,
- "Apple_Free" => 0x0,
-);
-my %typeFromDos = reverse %typeToDos;
-
-
-my ($bz_format, $bz_fields) = list2kv(
- n => 'bzSig',
- n => 'bzBlkSize',
- N => 'bzBlkCnt',
- n => 'bzDevType',
- n => 'bzDevID',
- N => 'bzReserved',
- n => 'bzDrvrCnt',
-);
-$bz_format = join '', @$bz_format;
-
-
-my ($dd_format, $dd_fields) = list2kv(
- N => 'ddBlock',
- n => 'ddSize',
- n => 'ddType',
-);
-$dd_format = join '', @$dd_format;
-
-
-my ($p_format, $p_fields) = list2kv(
- n => 'pSig',
- n => 'pSigPad',
- N => 'pMapEntry',
- N => 'pPBlockStart',
- N => 'pPBlocks',
-
- a32 => 'pName',
- a32 => 'pType',
-
- N => 'pLBlockStart',
- N => 'pLBlocks',
- N => 'pFlags',
- N => 'pBootBlock',
- N => 'pBootBytes',
-
- N => 'pAddrs1',
- N => 'pAddrs2',
- N => 'pAddrs3',
- N => 'pAddrs4',
- N => 'pChecksum',
-
- a16 => 'pProcID',
- a128 => 'pBootArgs',
- a248 => 'pReserved',
-);
-$p_format = join '', @$p_format;
-
-my $magic = 0x4552;
-my $pmagic = 0x504D;
-
-sub adjustStart($$) {
- my ($hd, $part) = @_;
- my $end = $part->{start} + $part->{size};
- my $partmap_end = $hd->{primary}{raw}[0]{size};
-
- if ($part->{start} <= $partmap_end) {
- $part->{start} = $partmap_end + 1;
- $part->{size} = $end - $part->{start};
- }
-}
-
-sub adjustEnd($$) {
- my ($hd, $part) = @_;
-}
-
-sub read($$) {
- my ($hd, $sector) = @_;
- my $tmp;
-
- local *F; partition_table_raw::openit($hd, *F) or die "failed to open device";
- c::lseek_sector(fileno(F), $sector, 0) or die "reading of partition in sector $sector failed";
-
- sysread F, $tmp, psizeof($bz_format) or die "error while reading bz \(Block Zero\) in sector $sector";
- my %info; @info{@$bz_fields} = unpack $bz_format, $tmp;
- my $i;
-
- foreach $i (0 .. $info{bzDrvrCnt}-1) {
- sysread F, $tmp, psizeof($dd_format) or die "error while reading driver data in sector $sector";
- my %dd; @dd{@$dd_fields} = unpack $dd_format, $tmp;
- push @{$info{ddMap}}, \%dd;
- }
-
- #- check magic number
- $info{bzSig} == $magic or die "bad magic number";
-
- my $numparts;
- c::lseek_sector(fileno(F), $sector, 516) or die "reading of partition in sector $sector failed";
- sysread F, $tmp, 4 or die "error while reading partition info in sector $sector";
- $numparts = unpack "N", $tmp;
-
- my $partmapsize;
- c::lseek_sector(fileno(F), $sector, 524) or die "reading of partition in sector $sector failed";
- sysread F, $tmp, 4 or die "error while reading partition info in sector $sector";
- $partmapsize = ((unpack "N", $tmp) * $info{bzBlkSize}) / psizeof($p_format);
-
- c::lseek_sector(fileno(F), $sector, 512) or die "reading of partition in sector $sector failed";
-
- my @pt;
- for ($i=0;$i<$partmapsize;$i++) {
- my $part;
- sysread F, $part, psizeof($p_format) or die "error while reading partition info in sector $sector";
-
- push @pt, map {
- my %h; @h{@$p_fields} = unpack $p_format, $part;
- if ($i < $numparts && $h{pSig} eq $pmagic) {
-
- $h{size} = ($h{pPBlocks} * $info{bzBlkSize}) / 512;
- $h{start} = ($h{pPBlockStart} * $info{bzBlkSize}) / 512;
-
- if ($h{pType} =~ /^Apple_UNIX_SVR2/i) {
- $h{pName} =~ /swap/i ? ($h{type} = 0x82) : ($h{type} = 0x83);
- } elsif ($h{pType} =~ /^Apple_Free/i) {
- #- need to locate a 1MB partition to setup a bootstrap on
- if (defined $freepart_start && $freepart_size >= 1) {
- #- already found a suitable partition
- } else {
- $freepart_start = $h{start};
- $freepart_size = $h{size}/2048;
- $freepart_device = $hd;
- $freepart_part = "/dev/" . $hd->{device} . ($i+1);
- log::l("free apple partition found on drive /dev/$freepart_device->{device}, block $freepart_start, size $freepart_size");
- }
- next;
- #$h{type} = 0x0;
- } elsif ($h{pType} =~ /^Apple_HFS/i) {
- $h{type} = 0x402;
- if (defined $macos_part) {
- #- swag at identifying MacOS - 1st HFS partition
- } else {
- $macos_part = "/dev/" . $hd->{device} . ($i+1);
- log::l("found MacOS at partition $macos_part");
- }
- } elsif ($h{pType} =~ /^Apple_Partition_Map/i) {
- $h{type} = 0x401;
- $h{isMap} = 1;
- } elsif ($h{pType} =~ /^Apple_Bootstrap/i) {
- $h{type} = 0x401;
- $h{isBoot} = 1;
- if (defined $bootstrap_part) {
- #found a bootstrap already - use it, but log the find
- log::l("found another apple bootstrap at partition /dev/$hd->{device}" . ($i+1));
- } else {
- $bootstrap_part = "/dev/" . $hd->{device} . ($i+1);
- log::l("found apple bootstrap at partition $bootstrap_part");
- }
- } else {
- $h{type} = 0x401;
- $h{isDriver} = 1;
- };
-
- # Let's see if this partition is a driver.
- foreach (@{$info{ddMap}}) {
- $_->{ddBlock} == $h{pPBlockStart} and $h{isDriver} = 1;
- }
-
- }
- \%h;
- } [ $part ];
- };
-
- [ @pt ], \%info;
-}
-
-sub write($$$;$) {
- my ($hd, $sector, $pt, $info) = @_;
-
- #- handle testing for writing partition table on file only!
- local *F;
- if ($::testing) {
- my $file = "/tmp/partition_table_$hd->{device}";
- open F, ">$file" or die "error opening test file $file";
- } else {
- partition_table_raw::openit($hd, *F, 2) or die "error opening device $hd->{device} for writing";
- c::lseek_sector(fileno(F), $sector, 0) or return 0;
- }
-
- # Find the partition map.
- my @partstowrite;
- my $part = $pt->[0];
- (defined $part->{isMap}) or die "the first partition is not the partition map";
- push @partstowrite, $part;
-
- # Now go thru the partitions, sort and fill gaps.
- my $last;
- while ($part) {
- $last = $part;
- $part = &partition_table::next($hd, $part);
- $part or last;
-
- if ($last->{start} + $last->{size} < $part->{start}) {
- #There is a gap between partitions. Fill it and move on.
- push @partstowrite, {
- type => 0x0,
- start => $last->{start} + $last->{size},
- size => $part->{start} - ($last->{start} + $last->{size}),
- };
- }
- push @partstowrite, $part;
- };
-
- # now, fill a gap at the end if there is one.
- if ($last->{start} + $last->{size} < $hd->{totalsectors}) {
- push @partstowrite, {
- type => 0x0,
- start => $last->{start} + $last->{size},
- size => $hd->{totalsectors} - ($last->{start} + $last->{size}),
- };
- }
-
- # Since we didn't create any new drivers, let's try and match up our driver records with out partitons and see if any are missing.
- $info->{bzDrvrCnt} = 0;
- my @ddstowrite;
- my $dd;
- foreach $dd (@{$info->{ddMap}}) {
- foreach (@partstowrite) {
- if ($dd->{ddBlock} == $_->{pPBlockStart}) {
- push @ddstowrite, $dd;
- $info->{bzDrvrCnt}++;
- last;
- }
- }
- }
-
- # Now let's write our first block.
- syswrite F, pack($bz_format, @$info{@$bz_fields}), psizeof($bz_format) or return 0;
-
- # ...and now the driver information.
- foreach (@ddstowrite) {
- syswrite F, pack($dd_format, @$_{@$dd_fields}), psizeof($dd_format) or return 0;
- }
- # zero the rest of the data in the first block.
- foreach ( 1 .. (494 - ((@ddstowrite) * 8))) {
- syswrite F, "\0", 1 or return 0;
- }
- #c::lseek_sector(fileno(F), $sector, 512) or return 0;
- # Now, we iterate thru the partstowrite and write them.
- foreach (@partstowrite) {
- if (!defined $_->{pSig}) {
- # The values we need to write to disk are not defined. Let's make them up.
- $_->{pSig} = $pmagic;
- $_->{pSigPad} = 0;
- $_->{pPBlockStart} = ($_->{start} * 512) / $info->{bzBlkSize};
- $_->{pPBlocks} = ($_->{size} * 512) / $info->{bzBlkSize};
- $_->{pLBlockStart} = 0;
- $_->{pLBlocks} = $_->{pPBlocks};
- $_->{pBootBlock} = 0;
- $_->{pBootBytes} = 0;
- $_->{pAddrs1} = 0;
- $_->{pAddrs2} = 0;
- $_->{pAddrs3} = 0;
- $_->{pAddrs4} = 0;
- $_->{pChecksum} = 0;
- $_->{pProcID} = "\0";
- $_->{pBootArgs} = "\0";
- $_->{pReserved} = "\0";
-
- if ($_->{type} == 0x402) {
- $_->{pType} = "Apple_HFS";
- $_->{pName} = "MacOS";
- $_->{pFlags} = 0x4000037F;
- } elsif ($_->{type} == 0x401 && $_->{start} == 1) {
- $_->{pType} = "Apple_Partition_Map";
- $_->{pName} = "Apple";
- $_->{pFlags} = 0x33;
- } elsif ($_->{type} == 0x401) {
- $_->{pType} = "Apple_Bootstrap";
- $_->{pName} = "bootstrap";
- $_->{pFlags} = 0x33;
- $_->{isBoot} = 1;
- } elsif ($_->{type} == 0x82) {
- $_->{pType} = "Apple_UNIX_SVR2";
- $_->{pName} = "swap";
- $_->{pFlags} = 0x33;
- } elsif ($_->{type} == 0x83) {
- $_->{pType} = "Apple_UNIX_SVR2";
- $_->{pName} = "Linux Native";
- $_->{pFlags} = 0x33;
- } elsif ($_->{type} == 0x0) {
- $_->{pType} = "Apple_Free";
- $_->{pName} = "Extra";
- $_->{pFlags} = 0x31;
- }
- };
- $_->{pMapEntry} = @partstowrite;
- syswrite F, pack($p_format, @$_{@$p_fields}), psizeof($p_format) or return 0;
- }
-
- sync();
-
- 1;
-}
-
-sub info {
- my ($hd) = @_;
-
- # - Build the first block of the drive.
-
- my $info = {
- bzSig => $magic,
- bzBlkSize => 512,
- bzBlkCnt => $hd->{totalsectors},
- bzDevType => 0,
- bzDevID => 0,
- bzReserved => 0,
- bzDrvrCnt => 0,
- };
-
- $info;
-}
-
-sub clear_raw {
- my ($hd) = @_;
- my @oldraw = @{$hd->{primary}{raw}};
- my $pt = { raw => [ ({}) x 63 ], info => info($hd) };
-
- #- handle special case for partition 1 which is the partition map.
- $pt->{raw}[0] = {
- type => 0x401,
- start => 1,
- size => 63,
- isMap => 1,
- };
-# $pt->{raw}[1] = {
-# type => 0x0,
-# start => 64,
-# size => $hd->{totalsectors} - 64,
-# isMap => 0,
-# };
- push @{$pt->{normal}}, $pt->{raw}[0];
-# push @{$pt->{normal}}, $pt->{raw}[1];
-
- #- Recover any Apple Drivers, if any.
- my $i = 1;
- foreach (@oldraw) {
- if (defined $_->{isDriver}) {
- $pt->{raw}[$i] = $_;
- push @{$pt->{normal}}, $pt->{raw}[$i];
- $i++;
- }
- };
- @{$pt->{info}{ddMap}} = @{$hd->{primary}{info}{ddMap}};
-
- $pt;
-}
-
-1;
diff --git a/perl-install/partition_table_raw.pm b/perl-install/partition_table_raw.pm
deleted file mode 100644
index c245301b6..000000000
--- a/perl-install/partition_table_raw.pm
+++ /dev/null
@@ -1,166 +0,0 @@
-package partition_table_raw; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:common :system :file :constant);
-use devices;
-use log;
-use c;
-
-my @MBR_signatures = (
- [ 'empty', 0, "\0\0\0\0" ],
- [ 'grub', 0, "\xEBG", 0x17d, "stage1 \0" ],
- [ 'grub', 0, "\xEBH", 0x17e, "stage1 \0" ],
- [ 'grub', 0, "\xEBH", 0x18a, "stage1 \0" ],
- [ 'grub', 0, "\xEBH", 0x181, "GRUB \0" ],
- [ 'lilo', 0x2, "LILO" ],
- [ 'lilo', 0x6, "LILO" ],
- [ 'osbs', 0x2, "OSBS" ], #- http://www.prz.tu-berlin.de/~wolf/os-bs.html
- [ 'pqmagic', 0xef, "PQV" ],
- [ 'BootStar', 0x130, "BootStar:" ],
- [ 'DocsBoot', 0x148, 'DocsBoot' ],
- [ 'system_commander', 0x1ad, "SYSCMNDRSYS" ],
- [ 'Be Os', 0x24, 'Boot Manager' ],
- [ 'TimO', 0, 'IBM Thinkpad hibernation partition' ],
- [ 'dos', 0xa0, "\x25\x03\x4E\x02\xCD\x13" ],
- [ 'dos', 0xa0, "\x00\xB4\x08\xCD\x13\x72" ], #- nt2k's
- [ 'dos', 0x60, "\xBB\x00\x7C\xB8\x01\x02\x57\xCD\x13\x5F\x73\x0C\x33\xC0\xCD\x13" ], #- nt's
- [ 'dos', 0x70, "\x0C\x33\xC0\xCD\x13\x4F\x75\xED\xBE\xA3" ],
- [ 'freebsd', 0xC0, "\x00\x30\xE4\xCD\x16\xCD\x19\xBB\x07\x00\xB4" ],
- [ 'freebsd', 0x160, "\x6A\x10\x89\xE6\x48\x80\xCC\x40\xCD\x13" ],
- [ 'dummy', 0xAC, "\x0E\xB3\x07\x56\xCD\x10\x5E\xEB" ], #- caldera?
- [ 'ranish', 0x100, "\x6A\x10\xB4\x42\x8B\xF4\xCD\x13\x8B\xE5\x73" ],
- [ 'os2', 0x1c2, "\xA" ],
-);
-
-sub typeOfMBR($) { typeFromMagic(devices::make($_[0]), @MBR_signatures) }
-sub typeOfMBR_($) { typeFromMagic($_[0], @MBR_signatures) }
-
-sub hasExtended { 0 }
-
-sub cylinder_size($) {
- my ($hd) = @_;
- $hd->{geom}{sectors} * $hd->{geom}{heads};
-}
-
-#- default method for starting a partition, only head size or twice
-#- is allowed for starting a partition after a cylinder boundarie.
-sub adjustStart($$) {
- my ($hd, $part) = @_;
- my $end = $part->{start} + $part->{size};
-
- $part->{start} = round_up($part->{start},
- $part->{start} % cylinder_size($hd) < 2 * $hd->{geom}{sectors} ?
- $hd->{geom}{sectors} : cylinder_size($hd));
- $part->{size} = $end - $part->{start};
- $part->{size} > 0 or die "adjustStart get a too small partition to handle correctly";
-}
-#- adjusting end to match a cylinder boundary, two methods are used and must
-#- match at the end, else something is wrong and nothing will be done on
-#- partition table.
-#- $end2 is computed by removing 2 (or only 1 if only 2 heads on drive) groups
-#- of sectors, this is necessary to handle extended partition where logical
-#- partition start after 1 (or 2 accepted) groups of sectors (typically 63).
-#- $end is floating (is not on cylinder boudary) so we have to choice a good
-#- candidate, $end1 or $end2 should always be good except $end1 for small
-#- partition size.
-sub adjustEnd($$) {
- my ($hd, $part) = @_;
- my $end = $part->{start} + $part->{size};
- my $end1 = round_down($end, cylinder_size($hd));
- my $end2 = round_up($end - ($hd->{geom}{heads} > 2 ? 2 : 1) * $hd->{geom}{sectors}, cylinder_size($hd));
- $end2 <= $hd->{geom}{cylinders} * cylinder_size($hd) or die "adjustEnd go beyond end of device geometry ($end2 > $hd->{totalsectors})";
- $part->{size} = ($end1 - $part->{start} > cylinder_size($hd) ? $end1 : $end2) - $part->{start};
- $part->{size} > 0 or die "adjustEnd get a too small partition to handle correctly";
-}
-
-sub get_geometry($) {
- my ($dev) = @_;
- my $g = "";
-
- local *F; sysopen F, $dev, 0 or return;
- ioctl(F, c::HDIO_GETGEO(), $g) or return;
- my %geom; @geom{qw(heads sectors cylinders start)} = unpack "CCSL", $g;
- $geom{totalcylinders} = $geom{cylinders};
-
- #- $geom{cylinders} is no good (only a ushort, that means less than 2^16 => at best 512MB)
- if (my $total = c::total_sectors(fileno F)) {
- $geom{cylinders} = int $total / $geom{heads} / $geom{sectors};
- }
-
- { geom => \%geom, totalsectors => $geom{heads} * $geom{sectors} * $geom{cylinders} };
-}
-
-#- works for both hard drives and partitions ;p
-sub description {
- my ($hd) = @_;
- my $win = $hd->{device_windobe};
-
- sprintf "%s%s (%s%s)",
- $hd->{device},
- $win && " [$win:]",
- formatXiB($hd->{totalsectors} || $hd->{size}, 512),
- $hd->{info} && ", $hd->{info}";
-}
-
-sub openit($$;$) { sysopen $_[1], $_[0]{file}, $_[2] || 0; }
-
-# cause kernel to re-read partition table
-sub kernel_read($) {
- my ($hd) = @_;
- sync();
- local *F; openit($hd, *F) or return 0;
- sync(); sleep(1);
- $hd->{rebootNeeded} = !ioctl(F, c::BLKRRPART(), 0);
- sync();
- close F;
- sync(); sleep(1);
-}
-
-sub zero_MBR {
- my ($hd) = @_;
- #- force the standard partition type for the architecture
- my $type = arch() eq "alpha" ? "bsd" : arch() =~ /^sparc/ ? "sun" : arch() eq "ppc" ? "mac" : "dos";
- require("partition_table_$type.pm");
- bless $hd, "partition_table_$type";
- $hd->{primary} = $hd->clear_raw();
- delete $hd->{extended};
-}
-
-sub zero_MBR_and_dirty {
- my ($hd) = @_;
- zero_MBR($hd);
- $hd->{isDirty} = $hd->{needKernelReread} = 1;
-
-}
-
-#- ugly stuff needed mainly for Western Digital IDE drives
-#- try writing what we've just read, yells if it fails
-#- testing on last sector of head #0 (unused in 99% cases)
-sub test_for_bad_drives {
- my ($hd) = @_;
-
- log::l("test_for_bad_drives($hd->{file})");
- my $sector = $hd->{geom}{sectors} - 1;
-
-
- local *F; openit($hd, *F, 2) or die "error opening device $hd->{device} for writing";
-
- my $seek = sub {
- c::lseek_sector(fileno(F), $sector, 0) or die "seeking to sector $sector failed";
- };
- my $tmp;
-
- &$seek; sysread F, $tmp, $SECTORSIZE or die "test_for_bad_drives: can't even read ($!)";
- &$seek; syswrite F, $tmp or die "test_for_bad_drives: can't even write ($!)";
-
- my $tmp2;
- &$seek; sysread F, $tmp2, $SECTORSIZE or die "test_for_bad_drives: can't even read again ($!)";
- $tmp eq $tmp2 or die
-_("Something bad is happening on your drive.
-A test to check the integrity of data has failed.
-It means writing anything on the disk will end up with random trash");
-}
-
-1;
diff --git a/perl-install/partition_table_sun.pm b/perl-install/partition_table_sun.pm
deleted file mode 100644
index 2eec591b3..000000000
--- a/perl-install/partition_table_sun.pm
+++ /dev/null
@@ -1,201 +0,0 @@
-package partition_table_sun; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(partition_table_raw);
-
-use common qw(:common :system :file :functional);
-use partition_table_raw;
-use partition_table;
-use c;
-
-my ($main_format, $main_fields) = list2kv(
- a128 => 'info',
- a14 => 'spare0',
- a32 => 'infos',
- a246 => 'spare1',
- n => 'rspeed',
- n => 'pcylcount',
- n => 'sparecyl',
- a4 => 'spare2',
- n => 'ilfact',
- n => 'ncyl',
- n => 'nacyl',
- n => 'ntrks',
- n => 'nsect',
- a4 => 'spare3',
- a64 => 'partitions',
- n => 'magic',
- n => 'csum',
-);
-$main_format = join '', @$main_format;
-
-my ($fields1, $fields2) = ([ qw(type flags) ], [ qw(start_cylinder size) ]);
-my ($format1, $format2) = ("xCxC", "N2");
-my ($size1, $size2) = map { psizeof($_) } ($format1, $format2);
-my $magic = 0xDABE;
-my $nb_primary = 8;
-my $offset = 0;
-
-sub adjustStart($$) {
- my ($hd, $part) = @_;
- my $end = $part->{start} + $part->{size};
-
- #- since partition must always start on cylinders boundaries on sparc,
- #- note that if start sector is on the first cylinder, it is adjusted
- #- to 0 and it is valid, cylinder 0 bug is from bad define for sparc
- #- compilation of mke2fs combined with a blind kernel...
- $part->{start} = round_down($part->{start}, $hd->cylinder_size());
- $part->{size} = $end - $part->{start};
- $part->{size} = $hd->cylinder_size() if $part->{size} <= 0;
-}
-sub adjustEnd($$) {
- my ($hd, $part) = @_;
- my $end = $part->{start} + $part->{size};
- my $end2 = round_up($end, $hd->cylinder_size());
- $end2 = $hd->{geom}{cylinders} * $hd->cylinder_size() if $end2 > $hd->{geom}{cylinders} * $hd->cylinder_size();
- $part->{size} = $end2 - $part->{start};
-}
-
-#- compute crc checksum used for Sun Label partition, expect
-#- $tmp to be the 512 bytes buffer to be read/written to MBR.
-sub compute_crc($) {
- my ($tmp) = @_;
- my @l2b = unpack "n256", $tmp;
- my $crc = 0;
-
- map { $crc ^= $_ } @l2b;
-
- $crc;
-}
-
-sub read($$) {
- my ($hd, $sector) = @_;
- my $tmp;
-
- local *F; partition_table_raw::openit($hd, *F) or die "failed to open device";
- c::lseek_sector(fileno(F), $sector, $offset) or die "reading of partition in sector $sector failed";
-
- sysread F, $tmp, psizeof($main_format) or die "error while reading partition table in sector $sector";
- my %info; @info{@$main_fields} = unpack $main_format, $tmp;
-
- #- check magic number
- $info{magic} == $magic or die "bad magic number";
-
- #- check crc, csum contains the crc so result should be 0.
- compute_crc($tmp) == 0 or die "bad checksum";
-
- @{$hd->{geom}}{qw(cylinders heads sectors)} = @info{qw(ncyl ntrks nsect)};
-
- my @pt;
- my @infos_up = unpack $format1 x $nb_primary, $info{infos};
- my @partitions_up = unpack $format2 x $nb_primary, $info{partitions};
- for (0..$nb_primary-1) {
- my $h = { type => $infos_up[2 * $_], flag => $infos_up[1 + 2 * $_],
- start_cylinder => $partitions_up[2 * $_], size => $partitions_up[1 + 2 * $_] };
- $h->{start} = $sector + $h->{start_cylinder} * $hd->cylinder_size();
- $h->{type} && $h->{size} or $h->{$_} = 0 foreach keys %$h;
- push @pt, $h;
- }
-
-#- this code is completely broken by null char inside strings, it gets completely crazy :-)
-# my @pt = mapn {
-# my %h;
-# @h{@$fields1} = unpack $format1, $_[0];
-# @h{@$fields2} = unpack $format2, $_[1];
-# $h{start} = $sector + $h{start_cylinder} * $hd->cylinder_size();
-# $h{type} && $h{size} or $h{$_} = 0 foreach keys %h;
-# \%h;
-# } [ grep { $_ } split /(.{$size1})/o, $info{infos} ], [ grep { $_ } split /(.{$size2})/o, $info{partitions} ];
-
- [ @pt ], \%info;
-}
-
-# write the partition table (and extended ones)
-# for each entry, it uses fields: start, size, type, active
-sub write($$$;$) {
- my ($hd, $sector, $pt, $info) = @_;
-# my ($csize, $wdsize) = (0, 0);
-
- #- handle testing for writing partition table on file only!
- local *F;
- if ($::testing) {
- my $file = "/tmp/partition_table_$hd->{device}";
- open F, ">$file" or die "error opening test file $file";
- } else {
- partition_table_raw::openit($hd, *F, 2) or die "error opening device $hd->{device} for writing";
- c::lseek_sector(fileno(F), $sector, $offset) or return 0;
- }
-
- ($info->{infos}, $info->{partitions}) = map { join '', @$_ } list2kv map {
- $_->{start} % $hd->cylinder_size() == 0 or die "partition not at beginning of cylinder";
-# $csize += $_->{size} if $_->{type} != 5;
-# $wdsize += $_->{size} if $_->{type} == 5;
- $_->{flags} |= 0x10 if $_->{mntpoint} eq '/';
- $_->{flags} |= 0x01 if partition_table::isSwap($_);
- local $_->{start_cylinder} = $_->{start} / $hd->cylinder_size() - $sector;
- pack($format1, @$_{@$fields1}), pack($format2, @$_{@$fields2});
- } @$pt;
-# $csize == $wdsize or die "partitions are not using whole disk space";
-
- #- compute the checksum by building the buffer to write and call compute_crc.
- #- set csum to 0 so compute_crc will give the right csum value.
- $info->{csum} = 0;
- $info->{csum} = compute_crc(pack($main_format, @$info{@$main_fields}));
-
- syswrite F, pack($main_format, @$info{@$main_fields}), psizeof($main_format) or return 0;
-
- sync();
-
- 1;
-}
-
-sub info {
- my ($hd) = @_;
-
- #- take care of reduction of the number of cylinders, avoid loop of reduction!
- unless ($hd->{geom}{totalcylinders} > $hd->{geom}{cylinders}) {
- $hd->{geom}{totalcylinders} = $hd->{geom}{cylinders};
- $hd->{geom}{cylinders} -= 2;
-
- #- rebuild some constants according to number of cylinders.
- $hd->{totalsectors} = $hd->{geom}{heads} * $hd->{geom}{sectors} * $hd->{geom}{cylinders};
- }
-
- #- build a default suitable partition table,
- #- checksum will be built when writing on disk.
- #- note third partition is ALWAYS of type Whole disk.
- my $info = {
- info => "DiskDrake partition table",
- rspeed => 5400,
- pcylcount => $hd->{geom}{totalcylinders},
- sparecyl => 0,
- ilfact => 1,
- ncyl => $hd->{geom}{cylinders},
- nacyl => $hd->{geom}{totalcylinders} - $hd->{geom}{cylinders},
- ntrks => $hd->{geom}{heads},
- nsect => $hd->{geom}{sectors},
- magic => $magic,
- };
-
- $info;
-}
-
-sub clear_raw {
- my ($hd) = @_;
- my $pt = { raw => [ ({}) x $nb_primary ], info => info($hd) };
-
- #- handle special case for partition 2 which is whole disk.
- $pt->{raw}[2] = {
- type => 5, #- the whole disk type.
- flags => 0,
- start_cylinder => 0,
- size => $hd->{geom}{cylinders} * $hd->cylinder_size(),
- };
-
- $pt;
-}
-
-1;
diff --git a/perl-install/perl2etags b/perl-install/perl2etags
deleted file mode 100755
index 6eed722c0..000000000
--- a/perl-install/perl2etags
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/perl -p
-
-if (/^ / ... !/^ /) {
- ($package) = /(.*).pm,/;
- $package =~ s|/|::|g;
-}
-
-s/(\x7F)(sub\s+)?(\w+)(\([^)]*\))?/$1${package}::$3/;
diff --git a/perl-install/pixmaps/X.png b/perl-install/pixmaps/X.png
deleted file mode 100644
index 80b08c97f..000000000
--- a/perl-install/pixmaps/X.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/bootdisk.png b/perl-install/pixmaps/bootdisk.png
deleted file mode 100644
index 22d89c482..000000000
--- a/perl-install/pixmaps/bootdisk.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/bootloader.png b/perl-install/pixmaps/bootloader.png
deleted file mode 100644
index a4f0e024b..000000000
--- a/perl-install/pixmaps/bootloader.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/colors.png b/perl-install/pixmaps/colors.png
deleted file mode 100644
index 8de1929b4..000000000
--- a/perl-install/pixmaps/colors.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/colors16.png b/perl-install/pixmaps/colors16.png
deleted file mode 100644
index 76de54753..000000000
--- a/perl-install/pixmaps/colors16.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/colors8.png b/perl-install/pixmaps/colors8.png
deleted file mode 100644
index 904517e2f..000000000
--- a/perl-install/pixmaps/colors8.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/default.png b/perl-install/pixmaps/default.png
deleted file mode 100644
index bcbca644d..000000000
--- a/perl-install/pixmaps/default.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/eth_card_mini.png b/perl-install/pixmaps/eth_card_mini.png
deleted file mode 100644
index 0af32dbaf..000000000
--- a/perl-install/pixmaps/eth_card_mini.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/harddrive.png b/perl-install/pixmaps/harddrive.png
deleted file mode 100644
index ce3e84bdb..000000000
--- a/perl-install/pixmaps/harddrive.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/keyboard.png b/perl-install/pixmaps/keyboard.png
deleted file mode 100644
index e614c9cd4..000000000
--- a/perl-install/pixmaps/keyboard.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/monitor-1024.png b/perl-install/pixmaps/monitor-1024.png
deleted file mode 100644
index 6ed801825..000000000
--- a/perl-install/pixmaps/monitor-1024.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/monitor-1280.png b/perl-install/pixmaps/monitor-1280.png
deleted file mode 100644
index b338ecb28..000000000
--- a/perl-install/pixmaps/monitor-1280.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/monitor-640.png b/perl-install/pixmaps/monitor-640.png
deleted file mode 100644
index e0738b936..000000000
--- a/perl-install/pixmaps/monitor-640.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/monitor-800.png b/perl-install/pixmaps/monitor-800.png
deleted file mode 100644
index 04f4b861c..000000000
--- a/perl-install/pixmaps/monitor-800.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/monitor.png b/perl-install/pixmaps/monitor.png
deleted file mode 100644
index bacf844ba..000000000
--- a/perl-install/pixmaps/monitor.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/mouse.png b/perl-install/pixmaps/mouse.png
deleted file mode 100644
index 547f4384d..000000000
--- a/perl-install/pixmaps/mouse.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/printer.png b/perl-install/pixmaps/printer.png
deleted file mode 100644
index 749d0d9ab..000000000
--- a/perl-install/pixmaps/printer.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/rootpasswd.png b/perl-install/pixmaps/rootpasswd.png
deleted file mode 100644
index ee8ebef8e..000000000
--- a/perl-install/pixmaps/rootpasswd.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/security.png b/perl-install/pixmaps/security.png
deleted file mode 100644
index ee8ebef8e..000000000
--- a/perl-install/pixmaps/security.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/services.png b/perl-install/pixmaps/services.png
deleted file mode 100644
index 6a1bd1ea3..000000000
--- a/perl-install/pixmaps/services.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pixmaps/user.png b/perl-install/pixmaps/user.png
deleted file mode 100644
index e4aed67c7..000000000
--- a/perl-install/pixmaps/user.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
deleted file mode 100644
index b55e737ea..000000000
--- a/perl-install/pkgs.pm
+++ /dev/null
@@ -1,1511 +0,0 @@
-package pkgs; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(*LOG %preferred $limitMinTrans %compssListDesc);
-
-use common qw(:common :file :functional :system);
-use install_any;
-use commands;
-use run_program;
-use detect_devices;
-use log;
-use fs;
-use loopback;
-use c;
-
-
-
-my @preferred = qw(perl-GTK postfix proftpd ghostscript-X vim-minimal kernel db1 db2 ispell-en Bastille-Curses-module);
-@preferred{@preferred} = ();
-
-#- lower bound on the left ( aka 90 means [90-100[ )
-%compssListDesc = (
- 5 => __("must have"),
- 4 => __("important"),
- 3 => __("very nice"),
- 2 => __("nice"),
- 1 => __("maybe"),
-);
-
-#- constant for small transaction.
-$limitMinTrans = 8;
-
-#- constant for package accessor (via table).
-my $FILE = 0;
-my $FLAGS = 1;
-my $SIZE_DEPS = 2;
-my $MEDIUM = 3;
-my $PROVIDES = 4;
-my $VALUES = 5;
-my $HEADER = 6;
-my $INSTALLED_CUMUL_SIZE = 7;
-
-#- constant for packing flags, see below.
-my $PKGS_SELECTED = 0x00ffffff;
-my $PKGS_FORCE = 0x01000000;
-my $PKGS_INSTALLED = 0x02000000;
-my $PKGS_BASE = 0x04000000;
-my $PKGS_UPGRADE = 0x20000000;
-
-#- package to ignore, typically in Application CD.
-my %ignoreBadPkg = (
- 'civctp-demo' => 1,
- 'eus-demo' => 1,
- 'myth2-demo' => 1,
- 'heretic2-demo' => 1,
- 'heroes3-demo' => 1,
- 'rt2-demo' => 1,
- );
-
-#- basic methods for extracting informations about packages.
-#- to save memory, (name, version, release) are no more stored, they
-#- are directly generated from (file).
-#- all flags are grouped together into (flags), these includes the
-#- following flags : selected, force, installed, base, skip.
-#- size and deps are grouped to save memory too and make a much
-#- simpler and faster depslist reader, this gets (sizeDeps).
-sub packageHeaderFile { $_[0]->[$FILE] }
-sub packageName { $_[0]->[$FILE] =~ /(.*)-[^-]+-[^-]+\..*/ ? $1 : die "invalid file `$_[0]->[$FILE]'" }
-sub packageVersion { $_[0]->[$FILE] =~ /.*-([^-]+)-[^-]+\..*/ ? $1 : die "invalid file `$_[0]->[$FILE]'" }
-sub packageRelease { $_[0]->[$FILE] =~ /.*-[^-]+-([^-]+)\..*/ ? $1 : die "invalid file `$_[0]->[$FILE]'" }
-sub packageArch { $_[0]->[$FILE] =~ /.*-[^-]+-[^-]+\.(.*)/ ? $1 : die "invalid file `$_[0]->[$FILE]'" }
-sub packageFile { $_[0]->[$FILE] . ".rpm" }
-
-sub packageSize { to_int($_[0]->[$SIZE_DEPS]) }
-sub packageDepsId { split ' ', ($_[0]->[$SIZE_DEPS] =~ /^\d*\s*(.*)/)[0] }
-
-sub packageFlagSelected { $_[0]->[$FLAGS] & $PKGS_SELECTED }
-sub packageFlagForce { $_[0]->[$FLAGS] & $PKGS_FORCE }
-sub packageFlagInstalled { $_[0]->[$FLAGS] & $PKGS_INSTALLED }
-sub packageFlagBase { $_[0]->[$FLAGS] & $PKGS_BASE }
-sub packageFlagUpgrade { $_[0]->[$FLAGS] & $PKGS_UPGRADE }
-
-sub packageSetFlagSelected { $_[0]->[$FLAGS] &= ~$PKGS_SELECTED; $_[0]->[$FLAGS] |= $_[1] & $PKGS_SELECTED; }
-
-sub packageSetFlagForce { $_[1] ? ($_[0]->[$FLAGS] |= $PKGS_FORCE) : ($_[0]->[$FLAGS] &= ~$PKGS_FORCE); }
-sub packageSetFlagInstalled { $_[1] ? ($_[0]->[$FLAGS] |= $PKGS_INSTALLED) : ($_[0]->[$FLAGS] &= ~$PKGS_INSTALLED); }
-sub packageSetFlagBase { $_[1] ? ($_[0]->[$FLAGS] |= $PKGS_BASE) : ($_[0]->[$FLAGS] &= ~$PKGS_BASE); }
-sub packageSetFlagUpgrade { $_[1] ? ($_[0]->[$FLAGS] |= $PKGS_UPGRADE) : ($_[0]->[$FLAGS] &= ~$PKGS_UPGRADE); }
-
-sub packageMedium { $_[0]->[$MEDIUM] }
-
-sub packageProvides { map { $_[0]->{depslist}[$_] || die "unkown package id $_" } unpack "s*", $_[1]->[$PROVIDES] }
-
-sub packageRate { substr($_[0]->[$VALUES], 0, 1) }
-sub packageRateRFlags { my ($rate, @flags) = split "\t", $_[0]->[$VALUES]; ($rate, @flags) }
-sub packageSetRateRFlags { my ($pkg, $rate, @flags) = @_; $pkg->[$VALUES] = join("\t", $rate, @flags) }
-
-sub packageHeader { $_[0]->[$HEADER] }
-sub packageFreeHeader { c::headerFree(delete $_[0]->[$HEADER]) }
-
-sub packageSelectedOrInstalled { packageFlagSelected($_[0]) || packageFlagInstalled($_[0]) }
-
-sub packageId {
- my ($packages, $pkg) = @_;
- my $i = 0;
- foreach (@{$packages->{depslist}}) { return $i if $pkg == $packages->{depslist}[$i]; $i++ }
- return;
-}
-
-sub cleanHeaders {
- my ($prefix) = @_;
- commands::rm("-rf", "$prefix/tmp/headers") if -e "$prefix/tmp/headers";
-}
-
-#- get all headers from an hdlist file.
-sub extractHeaders($$$) {
- my ($prefix, $pkgs, $medium) = @_;
-
- cleanHeaders($prefix);
-
- eval {
- require packdrake;
- my $packer = new packdrake("/tmp/$medium->{hdlist}", quiet => 1);
- $packer->extract_archive("$prefix/tmp/headers", map { packageHeaderFile($_) } @$pkgs);
- };
-
- foreach (@$pkgs) {
- my $f = "$prefix/tmp/headers/". packageHeaderFile($_);
- local *H;
- open H, $f or log::l("unable to open header file $f: $!"), next;
- $_->[$HEADER] = c::headerRead(fileno H, 1) or log::l("unable to read header of package ". packageHeaderFile($_));
- }
- @$pkgs = grep { $_->[$HEADER] } @$pkgs;
-}
-
-#- size and correction size functions for packages.
-#- invCorrectSize corrects size in the range 0 to 3Gb approximately, so
-#- it should not be used outside these levels.
-#- but since it is an inverted parabolic curve starting above 0, we can
-#- get a solution where X=Y at approximately 9.3Gb. we use this point as
-#- a limit to change the approximation to use a linear one.
-#- for information above this point, we have the corrected size below the
-#- original size wich is absurd, this point is named D below.
-my $A = -121568/100000000000; # -1.21568e-05; #- because perl does like that on some language (TO BE FIXED QUICKLY)
-my $B = 121561/100000; # 1.21561
-my $C = -239889/10000; # -23.9889 #- doesn't take hdlist's into account as getAvailableSpace will do it.
-my $D = (-sqrt(sqr($B - 1) - 4 * $A * $C) - ($B - 1)) / 2 / $A; #- $A is negative so a positive solution is with - sqrt ...
-sub correctSize {
- my $csz = ($A * $_[0] + $B) * $_[0] + $C;
- $csz > $_[0] ? $csz : $_[0]; #- size correction (in MB) should be above input argument (as $A is negative).
-}
-sub invCorrectSize {
- my $sz = $_[0] < $D ? (sqrt(sqr($B) + 4 * $A * ($_[0] - $C)) - $B) / 2 / $A : $_[0];
- $sz < $_[0] ? $sz : $_[0];
-}
-
-sub selectedSize {
- my ($packages) = @_;
- my $size = 0;
- foreach (values %{$packages->{names}}) {
- packageFlagSelected($_) && !packageFlagInstalled($_) and $size += packageSize($_) - ($_->[$INSTALLED_CUMUL_SIZE] || 0);
- }
- $size;
-}
-sub correctedSelectedSize { correctSize(selectedSize($_[0]) / sqr(1024)) }
-
-
-#- searching and grouping methods.
-#- package is a reference to list that contains
-#- a hash to search by name and
-#- a list to search by id.
-sub packageByName {
- my ($packages, $name) = @_;
- $packages->{names}{$name} or log::l("unknown package `$name'") && undef;
-}
-sub packageById {
- my ($packages, $id) = @_;
- $packages->{depslist}[$id] or log::l("unknown package id $id") && undef;
-}
-sub packagesOfMedium {
- my ($packages, $mediumName) = @_;
- my $medium = $packages->{mediums}{$mediumName};
- grep { $_->[$MEDIUM] == $medium } @{$packages->{depslist}};
-}
-sub packagesToInstall {
- my ($packages) = @_;
- grep { $_->[$MEDIUM]{selected} && packageFlagSelected($_) && !packageFlagInstalled($_) } values %{$packages->{names}};
-}
-
-sub allMediums {
- my ($packages) = @_;
- keys %{$packages->{mediums}};
-}
-sub mediumDescr {
- my ($packages, $medium) = @_;
- $packages->{mediums}{$medium}{descr};
-}
-
-#- selection, unselection of package.
-sub selectPackage { #($$;$$$)
- my ($packages, $pkg, $base, $otherOnly, $check_recursion) = @_;
-
- #- check if the same or better version is installed,
- #- do not select in such case.
- packageFlagInstalled($pkg) and return;
-
- #- check for medium selection, if the medium has not been
- #- selected, the package cannot be selected.
- $pkg->[$MEDIUM]{selected} or return;
-
- #- avoid infinite recursion (mainly against badly generated depslist.ordered).
- $check_recursion ||= {}; exists $check_recursion->{$pkg->[$FILE]} and return; $check_recursion->{$pkg->[$FILE]} = undef;
-
- #- make sure base package are set even if already selected.
- $base and packageSetFlagBase($pkg, 1);
-
- #- select package and dependancies, otherOnly may be a reference
- #- to a hash to indicate package that will strictly be selected
- #- when value is true, may be selected when value is false (this
- #- is only used for unselection, not selection)
- unless (packageFlagSelected($pkg)) {
- foreach (packageDepsId($pkg)) {
- if (/\|/) {
- #- choice deps should be reselected recursively as no
- #- closure on them is computed, this code is exactly the
- #- same as pixel's one.
- my $preferred;
- foreach (split '\|') {
- my $dep = packageById($packages, $_) or next;
- $preferred ||= $dep;
- packageFlagSelected($dep) and $preferred = $dep, last;
- exists $preferred{packageName($dep)} and $preferred = $dep;
- }
- $preferred or die "unable to find a package for choice";
- packageFlagSelected($preferred) or log::l("selecting default package as $preferred->[$FILE]");
- selectPackage($packages, $preferred, $base, $otherOnly, $check_recursion);
- } else {
- #- deps have been closed except for choices, so no need to
- #- recursively apply selection, expand base on it.
- my $dep = packageById($packages, $_);
- $base and packageSetFlagBase($dep, 1);
- $otherOnly and !packageFlagSelected($dep) and $otherOnly->{packageName($dep)} = 1;
- $otherOnly or packageSetFlagSelected($dep, 1+packageFlagSelected($dep));
- }
- }
- }
- $otherOnly and !packageFlagSelected($pkg) and $otherOnly->{packageName($pkg)} = 1;
- $otherOnly or packageSetFlagSelected($pkg, 1+packageFlagSelected($pkg));
- 1;
-}
-sub unselectPackage($$;$) {
- my ($packages, $pkg, $otherOnly) = @_;
-
- #- base package are not unselectable,
- #- and already unselected package are no more unselectable.
- packageFlagBase($pkg) and return;
- packageFlagSelected($pkg) or return;
-
- #- dependancies may be used to propose package that may be not
- #- usefull for the user, since their counter is just one and
- #- they are not used any more by other packages.
- #- provides are closed and are taken into account to get possible
- #- unselection of package (value false on otherOnly) or strict
- #- unselection (value true on otherOnly).
- foreach my $provided ($pkg, packageProvides($packages, $pkg)) {
- packageFlagBase($provided) and die "a provided package cannot be a base package";
- if (packageFlagSelected($provided)) {
- my $unselect_alone = 1;
- foreach (packageDepsId($provided)) {
- $unselect_alone = 0;
- if (/\|/) {
- #- this package use a choice of other package, so we have to check
- #- if our package is not included in the choice, if this is the
- #- case, if must be checked one of the other package are selected.
- foreach (split '\|') {
- my $dep = packageById($packages, $_);
- $dep == $pkg and $unselect_alone |= 1 and next;
- packageFlagBase($dep) || packageFlagSelected($dep) and $unselect_alone |= 2;
- }
- } else {
- packageById($packages, $_) == $pkg and $unselect_alone = 1;
- }
- $unselect_alone == 1 and last;
- }
- #- if package has been found and nothing more selected,
- #- deselect the provided, or we can ignore it safely.
- $provided == $pkg || $unselect_alone == 1 or next;
- $otherOnly or packageSetFlagSelected($provided, 0);
- $otherOnly and $otherOnly->{packageName($provided)} = 1;
- }
- foreach (map { split '\|' } packageDepsId($provided)) {
- my $dep = packageById($packages, $_);
- packageFlagBase($dep) and next;
- packageFlagSelected($dep) or next;
- for (packageFlagSelected($dep)) {
- $_ == 1 and do { $otherOnly and $otherOnly->{packageName($dep)} ||= 0; };
- $_ > 1 and do { $otherOnly or packageSetFlagSelected($dep, $_-1); };
- last;
- }
- }
- }
- 1;
-}
-sub togglePackageSelection($$;$) {
- my ($packages, $pkg, $otherOnly) = @_;
- packageFlagSelected($pkg) ? unselectPackage($packages, $pkg, $otherOnly) : selectPackage($packages, $pkg, 0, $otherOnly);
-}
-sub setPackageSelection($$$) {
- my ($packages, $pkg, $value) = @_;
- $value ? selectPackage($packages, $pkg) : unselectPackage($packages, $pkg);
-}
-
-sub unselectAllPackages($) {
- my ($packages) = @_;
- foreach (values %{$packages->{names}}) {
- unless (packageFlagBase($_) || packageFlagUpgrade($_)) {
- packageSetFlagSelected($_, 0);
- }
- }
-}
-sub unselectAllPackagesIncludingUpgradable($) {
- my ($packages, $removeUpgradeFlag) = @_;
- foreach (values %{$packages->{names}}) {
- unless (packageFlagBase($_)) {
- packageSetFlagSelected($_, 0);
- packageSetFlagUpgrade($_, 0);
- }
- }
-}
-
-sub psUpdateHdlistsDeps {
- my ($prefix, $method) = @_;
- my $listf = install_any::getFile('Mandrake/base/hdlists') or die "no hdlists found";
-
- #- WARNING: this function should be kept in sync with functions
- #- psUsingHdlists and psUsingHdlist.
- #- it purpose it to update hdlist files on system to install.
-
- #- parse hdlist.list file.
- my $medium = 1;
- foreach (<$listf>) {
- chomp;
- s/\s*#.*$//;
- /^\s*$/ and next;
- m/^\s*(hdlist\S*\.cz2?)\s+(\S+)\s*(.*)$/ or die "invalid hdlist description \"$_\" in hdlists file";
- my ($hdlist, $rpmsdir, $descr) = ($1, $2, $3);
-
- #- copy hdlist file directly to $prefix/var/lib/urpmi, this will be used
- #- for getting header of package during installation or after by urpmi.
- my $fakemedium = "$descr ($method$medium)";
- my $newf = "$prefix/var/lib/urpmi/hdlist.$fakemedium.cz" . ($hdlist =~ /\.cz2/ && "2");
- -e $newf and do { unlink $newf or die "cannot remove $newf: $!"; };
- install_any::getAndSaveFile("Mandrake/base/$hdlist", $newf) or die "no $hdlist found";
- symlinkf $newf, "/tmp/$hdlist";
- ++$medium;
- }
-
- #- this is necessary for urpmi.
- install_any::getAndSaveFile("Mandrake/base/$_", "$prefix/var/lib/urpmi/$_")
- foreach qw(depslist.ordered provides rpmsrate);
-}
-
-sub psUsingHdlists {
- my ($prefix, $method) = @_;
- my $listf = install_any::getFile('Mandrake/base/hdlists') or die "no hdlists found";
- my %packages = ( names => {}, depslist => [], mediums => {});
-
- #- parse hdlists file.
- my $medium = 1;
- foreach (<$listf>) {
- chomp;
- s/\s*#.*$//;
- /^\s*$/ and next;
- m/^\s*(hdlist\S*\.cz2?)\s+(\S+)\s*(.*)$/ or die "invalid hdlist description \"$_\" in hdlists file";
-
- #- make sure the first medium is always selected!
- #- by default select all image.
- psUsingHdlist($prefix, $method, \%packages, $1, $medium, $2, $3, 1);
-
- ++$medium;
- }
-
- log::l("psUsingHdlists read " . scalar keys(%{$packages{names}}) .
- " headers on " . scalar keys(%{$packages{mediums}}) . " hdlists");
-
- \%packages;
-}
-
-sub psUsingHdlist {
- my ($prefix, $method, $packages, $hdlist, $medium, $rpmsdir, $descr, $selected, $fhdlist) = @_;
- my $fakemedium = "$descr ($method$medium)";
- log::l("trying to read $hdlist for medium $medium");
-
- #- if the medium already exist, use it.
- $packages->{mediums}{$medium} and return;
-
- my $m = $packages->{mediums}{$medium} = { hdlist => $hdlist,
- method => $method,
- medium => $medium,
- rpmsdir => $rpmsdir, #- where is RPMS directory.
- descr => $descr,
- fakemedium => $fakemedium,
- min => scalar keys %{$packages->{names}},
- max => -1, #- will be updated after reading current hdlist.
- selected => $selected, #- default value is only CD1, it is really the minimal.
- };
-
- #- copy hdlist file directly to $prefix/var/lib/urpmi, this will be used
- #- for getting header of package during installation or after by urpmi.
- my $newf = "$prefix/var/lib/urpmi/hdlist.$fakemedium.cz" . ($hdlist =~ /\.cz2/ && "2");
- -e $newf and do { unlink $newf or die "cannot remove $newf: $!"; };
- install_any::getAndSaveFile($fhdlist || "Mandrake/base/$hdlist", $newf) or die "no $hdlist found";
- symlinkf $newf, "/tmp/$hdlist";
-
- #- avoid using more than one medium if Cd is not ejectable.
- #- but keep all medium here so that urpmi has the whole set.
- $method eq 'cdrom' && $medium > 1 && isCdNotEjectable() and return;
-
- #- extract filename from archive, this take advantage of verifying
- #- the archive too.
- eval {
- require packdrake;
- my $packer = new packdrake($newf, quiet => 1);
- foreach (@{$packer->{files}}) {
- $packer->{data}{$_}[0] eq 'f' or next;
- my $pkg = [ (undef) x 8 ]; $pkg->[$FILE] = $_; $pkg->[$MEDIUM] = $m;
- my $specific_arch = packageArch($pkg);
- if (!$specific_arch || compat_arch($specific_arch)) {
- my $old_pkg = $packages->{names}{packageName($pkg)};
- if ($old_pkg) {
- if (packageVersion($pkg) eq packageVersion($old_pkg) && packageRelease($pkg) eq packageRelease($old_pkg)) {
- if (better_arch($specific_arch, packageArch($old_pkg))) {
- log::l("replacing old package with package $_ with better arch: $specific_arch");
- $packages->{names}{packageName($pkg)} = $pkg;
- } else {
- log::l("keeping old package against package $_ with worse arch");
- }
- } else {
- log::l("ignoring package $_ already present in distribution with different version or release");
- }
- } else {
- $packages->{names}{packageName($pkg)} = $pkg;
- }
- } else {
- log::l("ignoring package $_ with incompatible arch: $specific_arch");
- }
- }
- };
-
- #- update maximal index.
- $m->{max} = scalar(keys %{$packages->{names}}) - 1;
- $m->{max} >= $m->{min} or die "nothing found while parsing $newf";
- log::l("read " . ($m->{max} - $m->{min} + 1) . " headers in $hdlist");
- 1;
-}
-
-sub getOtherDeps($$) {
- my ($packages, $f) = @_;
-
- #- this version of getDeps is customized for handling errors more easily and
- #- convert reference by name to deps id including closure computation.
- local $_;
- while (<$f>) {
- my ($name, $version, $release, $size, $deps) = /^(\S*)-([^-\s]+)-([^-\s]+)\s+(\d+)\s+(.*)/;
- my $pkg = $packages->{names}{$name};
-
- $pkg or log::l("ignoring package $name-$version-$release in depslist is not in hdlist"), next;
- $version eq packageVersion($pkg) and $release eq packageRelease($pkg)
- or log::l("warning package $name-$version-$release in depslist mismatch version or release in hdlist ($version ne ",
- packageVersion($pkg), " or $release ne ", packageRelease($pkg), ")"), next;
-
- my $index = scalar @{$packages->{depslist}};
- $index >= $pkg->[$MEDIUM]{min} && $index <= $pkg->[$MEDIUM]{max}
- or log::l("ignoring package $name-$version-$release in depslist outside of hdlist indexation");
-
- #- here we have to translate referenced deps by name to id.
- #- this include a closure on deps too.
- my %closuredeps;
- @closuredeps{map { packageId($packages, $_), packageDepsId($_) }
- grep { $_ }
- map { packageByName($packages, $_) or do { log::l("unknown package $_ in depslist for closure"); undef } }
- split /\s+/, $deps} = ();
-
- $pkg->[$SIZE_DEPS] = join " ", $size, keys %closuredeps;
-
- push @{$packages->{depslist}}, $pkg;
- }
-
- #- check for same number of package in depslist and hdlists, avoid being to hard.
- scalar(keys %{$packages->{names}}) == scalar(@{$packages->{depslist}})
- or log::l("other depslist has not same package as hdlist file");
-}
-
-sub getDeps {
- my ($prefix, $packages) = @_;
-
- #- this is necessary for urpmi.
- install_any::getAndSaveFile('Mandrake/base/depslist.ordered', "$prefix/var/lib/urpmi/depslist.ordered");
- install_any::getAndSaveFile('Mandrake/base/provides', "$prefix/var/lib/urpmi/provides");
-
- #- beware of heavily mismatching depslist.ordered file against hdlist files.
- my $mismatch = 0;
-
- #- update dependencies list, provides attributes are updated later
- #- cross reference to be resolved on id (think of loop requires)
- #- provides should be updated after base flag has been set to save
- #- memory.
- local *F; open F, "$prefix/var/lib/urpmi/depslist.ordered" or die "can't find dependancies list";
- local $_;
- while (<F>) {
- my ($name, $version, $release, $sizeDeps) = /^(\S*)-([^-\s]+)-([^-\s]+)\s+(.*)/;
- my $pkg = $packages->{names}{$name};
-
- #- these verification are necessary in case of error, but are no more fatal as
- #- in case of only one medium taken into account during install, there should be
- #- silent warning for package which are unknown at this point.
- $pkg or
- log::l("ignoring $name-$version-$release in depslist is not in hdlist"), next;
- $version eq packageVersion($pkg) or
- log::l("ignoring $name-$version-$release in depslist mismatch version in hdlist"), next;
- $release eq packageRelease($pkg) or
- log::l("ignoring $name-$version-$release in depslist mismatch release in hdlist"), next;
-
- $pkg->[$SIZE_DEPS] = $sizeDeps;
-
- #- check position of package in depslist according to precomputed
- #- limit by hdlist, very strict :-)
- #- above warning have chance to raise an exception here, but may help
- #- for debugging.
- my $i = scalar @{$packages->{depslist}};
- $i >= $pkg->[$MEDIUM]{min} && $i <= $pkg->[$MEDIUM]{max} or
- log::l("inconsistency in position for $name-$version-$release in depslist and hdlist"), $mismatch = 1;
-
- #- package are already sorted in depslist to enable small transaction and multiple medium.
- push @{$packages->{depslist}}, $pkg;
- }
-
- #- check for mismatching package, it should break with above die unless depslist has too many errors!
- $mismatch and die "depslist.ordered mismatch against hdlist files";
-
- #- check for same number of package in depslist and hdlists.
- scalar(keys %{$packages->{names}}) == scalar(@{$packages->{depslist}})
- or die "depslist.ordered has not same package as hdlist files";
-}
-
-sub getProvides($) {
- my ($packages) = @_;
-
- #- update provides according to dependencies, here are stored
- #- reference to package directly and choice are included, this
- #- assume only 1 of the choice is selected, else on unselection
- #- the provided package will be deleted where other package still
- #- need it.
- #- base package are not updated because they cannot be unselected,
- #- this save certainly a lot of memory since most of them may be
- #- needed by a large number of package.
- #- now using a packed of signed short, this means no more than 32768
- #- packages can be managed by DrakX (currently about 2000).
- my $i = 0;
- foreach my $pkg (@{$packages->{depslist}}) {
- unless (packageFlagBase($pkg)) {
- foreach (map { split '\|' } grep { !/^NOTFOUND_/ } packageDepsId($pkg)) {
- my $provided = $packages->{depslist}[$_] or die "invalid package index $_";
- packageFlagBase($provided) or $provided->[$PROVIDES] = pack "s*", (unpack "s*", $provided->[$PROVIDES]), $i;
- }
- }
- ++$i;
- }
-}
-
-sub read_rpmsrate {
- my ($packages, $f) = @_;
- my $line_nb = 0;
- my (@l);
- while (<$f>) {
- $line_nb++;
- /\t/ and die "tabulations not allowed at line $line_nb\n";
- s/#.*//; # comments
-
- my ($indent, $data) = /(\s*)(.*)/;
- next if !$data; # skip empty lines
-
- @l = grep { $_->[0] < length $indent } @l;
-
- my @m = @l ? @{$l[$#l][1]} : ();
- my ($t, $flag, @l2);
- while ($data =~
- /^((
- [1-5]
- |
- (?: (?: !\s*)? [0-9A-Z_]+(?:".*?")?)
- (?: \s*\|\|\s* (?: !\s*)? [0-9A-Z_]+(?:".*?")?)*
- )
- (?:\s+|$)
- )(.*)/x) { #@")) {
- ($t, $flag, $data) = ($1,$2,$3);
- while ($flag =~ s,^\s*(("[^"]*"|[^"\s]*)*)\s+,$1,) {}
- my $ok = 0;
- $flag = join('||', grep {
- if (my ($inv, $p) = /^(!)?HW"(.*)"/) {
- ($inv xor detect_devices::matching_desc($p)) and $ok = 1;
- 0;
- } else {
- 1;
- }
- } split '\|\|', $flag);
- push @m, $ok ? 'TRUE' : $flag || 'FALSE';
- push @l2, [ length $indent, [ @m ] ];
- $indent .= $t;
- }
- if ($data) {
- # has packages on same line
- my ($rate) = grep { /^\d$/ } @m or die sprintf qq(missing rate for "%s" at line %d (flags are %s)\n), $data, $line_nb, join('&&', @m);
- foreach (split ' ', $data) {
- if ($packages) {
- my $p = packageByName($packages, $_) or next;
-
- my @m2 = map { packageName(packageById($packages, $_)) =~ /locales-(.*)/ ? qq(LOCALES"$1") : () } packageDepsId($p);
- packageSetRateRFlags($p, $rate, (grep { !/^\d$/ } @m), @m2);
- } else {
- print "$_ = ", join(" && ", @m), "\n";
- }
- }
- push @l, @l2;
- } else {
- push @l, [ $l2[0][0], $l2[$#l2][1] ];
- }
- }
-}
-
-sub readCompssUsers {
- my ($meta_class) = @_;
- my (%compssUsers, @sorted, $l);
-
- my $file = 'Mandrake/base/compssUsers';
- my $f = $meta_class && install_any::getFile("$file.$meta_class") || install_any::getFile($file) or die "can't find $file";
- local $_;
- while (<$f>) {
- /^\s*$/ || /^#/ and next;
- s/#.*//;
-
- if (/^(\S.*)/) {
- my $verbatim = $_;
- my ($icon, $descr, $path);
- /^(.*?)\s*\[path=(.*?)\](.*)/ and $_ = "$1$3", $path = $2;
- /^(.*?)\s*\[icon=(.*?)\](.*)/ and $_ = "$1$3", $icon = $2;
- /^(.*?)\s*\[descr=(.*?)\](.*)/ and $_ = "$1$3", $descr = $2;
- $compssUsers{"$path|$_"} = { label => $_, verbatim => $verbatim, path => $path, icons => $icon, descr => $descr, flags => $l=[] };
- push @sorted, "$path|$_";
- } elsif (/^\s+(.*?)\s*$/) {
- push @$l, $1;
- }
- }
- \%compssUsers, \@sorted;
-}
-sub saveCompssUsers {
- my ($prefix, $packages, $compssUsers, $sorted) = @_;
- my $flat;
- foreach (@$sorted) {
- my @fl = @{$compssUsers->{$_}{flags}};
- my %fl; $fl{$_} = 1 foreach @fl;
- $flat .= $compssUsers->{$_}{verbatim};
- foreach my $p (values %{$packages->{names}}) {
- my ($rate, @flags) = packageRateRFlags($p);
- if ($rate && grep { grep { !/^!/ && $fl{$_} } split('\|\|') } @flags) {
- $flat .= sprintf "\t%d %s\n", $rate, packageName($p);
- }
- }
- }
- output "$prefix/var/lib/urpmi/compssUsers.flat", $flat;
-}
-
-sub setSelectedFromCompssList {
- my ($packages, $compssUsersChoice, $min_level, $max_size) = @_;
- $compssUsersChoice->{TRUE} = 1; #- ensure TRUE is set
- my $nb = selectedSize($packages);
- foreach my $p (sort { packageRate($b) <=> packageRate($a) } values %{$packages->{names}}) {
- my ($rate, @flags) = packageRateRFlags($p);
- next if !$rate || $rate < $min_level || grep { !grep { /^!(.*)/ ? !$compssUsersChoice->{$1} : $compssUsersChoice->{$_} } split('\|\|') } @flags;
-
- #- determine the packages that will be selected when
- #- selecting $p. the packages are not selected.
- my %newSelection;
- selectPackage($packages, $p, 0, \%newSelection);
-
- #- this enable an incremental total size.
- my $old_nb = $nb;
- foreach (grep { $newSelection{$_} } keys %newSelection) {
- $nb += packageSize($packages->{names}{$_});
- }
- if ($max_size && $nb > $max_size) {
- $nb = $old_nb;
- $min_level = packageRate($p);
- last;
- }
-
- #- at this point the package can safely be selected.
- selectPackage($packages, $p);
- }
- log::l("setSelectedFromCompssList: reached size ", formatXiB($nb), ", up to indice $min_level (less than ", formatXiB($max_size), ")");
- log::l("setSelectedFromCompssList: ", join(" ", sort map { packageName($_) } grep { packageFlagSelected($_) } @{$packages->{depslist}}));
- $min_level;
-}
-
-#- usefull to know the size it would take for a given min_level/max_size
-#- just saves the selected packages, call setSelectedFromCompssList and restores the selected packages
-sub saveSelected {
- my ($packages) = @_;
- my @l = values %{$packages->{names}};
- my @flags = map { packageFlagSelected($_) } @l;
- [ $packages, \@l, \@flags ];
-}
-sub restoreSelected {
- my ($packages, $l, $flags) = @{$_[0]};
- mapn { packageSetFlagSelected(@_) } $l, $flags;
-}
-
-sub computeGroupSize {
- my ($packages, $min_level) = @_;
-
- sub inside {
- my ($l1, $l2) = @_;
- my $i = 0;
- return if @$l1 > @$l2;
- foreach (@$l1) {
- my $c;
- while ($c = $l2->[$i++] cmp $_ ) {
- return if $c == 1 || $i > @$l2;
- }
- }
- 1;
- }
-
- sub or_ify {
- my ($first, @other) = @_;
- my @l = split('\|\|', $first);
- foreach (@other) {
- @l = map {
- my $n = $_;
- map { "$_&&$n" } @l;
- } split('\|\|');
- }
- #- HACK, remove LOCALES, too costly
- grep { !/LOCALES/ } @l;
- }
- sub or_clean {
- my (@l) = map { [ sort split('&&') ] } @_ or return '';
- my @r;
- B: while (@l) {
- my $e = shift @l;
- foreach (@r, @l) {
- inside($e, $_) and next B;
- }
- push @r, $e;
- }
- join("\t", map { join('&&', @$_) } @r);
- }
- my (%group, %memo);
-
- foreach my $p (values %{$packages->{names}}) {
- my ($rate, @flags) = packageRateRFlags($p);
- next if !$rate || $rate < $min_level;
-
- my $flags = join("\t", @flags = or_ify(@flags));
- $group{packageName($p)} = ($memo{$flags} ||= or_clean(@flags));
-
- #- determine the packages that will be selected when selecting $p. the packages are not selected.
- my %newSelection;
- selectPackage($packages, $p, 0, \%newSelection);
- foreach (grep { $newSelection{$_} } keys %newSelection) {
- my $s = $group{$_} || do {
- $packages->{names}{$_}[$VALUES] =~ /\t(.*)/;
- join("\t", or_ify(split("\t", $1)));
- };
- next if length($s) > 80; # HACK, truncated too complicated expressions, too costly
- my $m = "$flags\t$s";
- $group{$_} = ($memo{$m} ||= or_clean(@flags, split("\t", $s)));
- }
- }
- my (%sizes, %pkgs);
- while (my ($k, $v) = each %group) {
- push @{$pkgs{$v}}, $k;
- $sizes{$v} += packageSize($packages->{names}{$k});
- }
- log::l(sprintf "%s %dMB %s", $_, $sizes{$_} / sqr(1024), join(',', @{$pkgs{$_}})) foreach keys %sizes;
- \%sizes, \%pkgs;
-}
-
-
-sub init_db {
- my ($prefix) = @_;
-
- my $f = "$prefix/root/install.log";
- open(LOG, "> $f") ? log::l("opened $f") : log::l("Failed to open $f. No install log will be kept.");
- *LOG or *LOG = log::F() or *LOG = *STDERR;
- CORE::select((CORE::select(LOG), $| = 1)[0]);
- c::rpmErrorSetCallback(fileno LOG);
-#- c::rpmSetVeryVerbose();
-
- log::l("reading /usr/lib/rpm/rpmrc");
- c::rpmReadConfigFiles() or die "can't read rpm config files";
- log::l("\tdone");
-}
-
-sub rebuild_db_open_for_traversal {
- my ($packages, $prefix) = @_;
-
- log::l("reading /usr/lib/rpm/rpmrc");
- c::rpmReadConfigFiles() or die "can't read rpm config files";
- log::l("\tdone");
-
- unless (exists $packages->{rebuild_db}) {
- if (my $pid = fork()) {
- waitpid $pid, 0;
- ($? & 0xff00) and die "rebuilding of rpm database failed";
- } else {
- log::l("rebuilding rpm database");
- my $rebuilddb_dir = "$prefix/var/lib/rpmrebuilddb.$$";
- -d $rebuilddb_dir and log::l("removing stale directory $rebuilddb_dir"), commands::rm("-rf", $rebuilddb_dir);
-
- c::rpmdbRebuild($prefix) or log::l("rebuilding of rpm database failed: ". c::rpmErrorString()), c::_exit(2);
-
- c::_exit(0);
- }
- $packages->{rebuild_db} = undef;
- }
-
- my $db = c::rpmdbOpenForTraversal($prefix) or die "unable to open $prefix/var/lib/rpm/Packages";
- log::l("opened rpm database for examining existing packages");
-
- $db;
-}
-
-sub clean_old_rpm_db {
- my ($prefix) = @_;
- my $failed;
-
- foreach (qw(Basenames Conflictname Group Name Packages Providename Requirename Triggername)) {
- -s "$prefix/var/lib/rpm/$_" or $failed = 'failed';
- }
- #- rebuilding has been successfull, so remove old rpm database if any.
- #- once we have checked the rpm4 db file are present and not null, in case
- #- of doubt, avoid removing them...
- unless ($failed) {
- log::l("rebuilding rpm database completed successfully");
- foreach (qw(conflictsindex.rpm fileindex.rpm groupindex.rpm nameindex.rpm packages.rpm
- providesindex.rpm requiredby.rpm triggerindex.rpm)) {
- -e "$prefix/var/lib/rpm/$_" or next;
- log::l("removing old rpm file $_");
- commands::rm("-f", "$prefix/var/lib/rpm/$_");
- }
- }
-}
-
-sub done_db {
- log::l("closing install.log file");
- close LOG;
-}
-
-sub versionCompare($$) {
- my ($a, $b) = @_;
- local $_;
-
- while ($a || $b) {
- my ($sb, $sa) = map { $1 if $a =~ /^\W*\d/ ? s/^\W*0*(\d+)// : s/^\W*(\D*)// } ($b, $a);
- $_ = length($sa) <=> length($sb) || $sa cmp $sb and return $_;
- $sa eq '' && $sb eq '' and return $a cmp $b || 0;
- }
-}
-
-sub selectPackagesAlreadyInstalled {
- my ($packages, $prefix) = @_;
-
- #- avoid rebuilding the database if such case.
- $packages->{rebuild_db} = "oem does not need rebuilding the rpm db";
- my $db = rebuild_db_open_for_traversal($packages, $prefix);
-
- #- this method has only one objectif, check the presence of packages
- #- already installed and avoid installing them again. this is to be used
- #- with oem installation, if the database exists, preselect the packages
- #- installed WHATEVER their version/release (log if a problem is perceived
- #- is enough).
- c::rpmdbTraverse($db, sub {
- my ($header) = @_;
- my $p = $packages->{names}{c::headerGetEntry($header, 'name')};
-
- if ($p) {
- my $version_cmp = versionCompare(c::headerGetEntry($header, 'version'), packageVersion($p));
- my $version_rel_test = $version_cmp > 0 || $version_cmp == 0 &&
- versionCompare(c::headerGetEntry($header, 'release'), packageRelease($p)) >= 0;
- $version_rel_test or log::l("keeping an older package, avoiding selecting $p->[$FILE]");
- packageSetFlagInstalled($p, 1);
- }
- });
-
- #- close db, job finished !
- c::rpmdbClose($db);
- log::l("done selecting packages to upgrade");
-}
-
-sub selectPackagesToUpgrade($$$;$$) {
- my ($packages, $prefix, $base, $toRemove, $toSave) = @_;
- local $_; #- else perl complains on the map { ... } grep { ... } @...;
-
- local (*UPGRADE_INPUT, *UPGRADE_OUTPUT); pipe UPGRADE_INPUT, UPGRADE_OUTPUT;
- if (my $pid = fork()) {
- @{$toRemove || []} = (); #- reset this one.
-
- close UPGRADE_OUTPUT;
- while (<UPGRADE_INPUT>) {
- chomp;
- my ($action, $name) = /^([\w\d]*):(.*)/;
- for ($action) {
- /remove/ and do { push @$toRemove, $name; next };
- /keepfiles/ and do { push @$toSave, $name; next };
-
- my $p = $packages->{names}{$name} or die "unable to find package ($name)";
- /^\d*$/ and do { $p->[$INSTALLED_CUMUL_SIZE] = $action; next };
- /installed/ and do { packageSetFlagInstalled($p, 1); next };
- /select/ and do { selectPackage($packages, $p); next };
-
- die "unknown action ($action)";
- }
- }
- close UPGRADE_INPUT;
- waitpid $pid, 0;
- } else {
- close UPGRADE_INPUT;
-
- my $db = rebuild_db_open_for_traversal($packages, $prefix);
- #- used for package that are not correctly updated.
- #- should only be used when nothing else can be done correctly.
- my %upgradeNeedRemove = (
- 'libstdc++' => 1,
- 'compat-glibc' => 1,
- 'compat-libs' => 1,
- );
-
- #- generel purpose for forcing upgrade of package whatever version is.
- my %packageNeedUpgrade = (
- 'lilo' => 1, #- this package has been misnamed in 7.0.
- );
-
- #- help removing package which may have different release numbering
- my %toRemove; map { $toRemove{$_} = 1 } @{$toRemove || []};
-
- #- help searching package to upgrade in regard to already installed files.
- my %installedFilesForUpgrade;
-
- #- help keeping memory by this set of package that have been obsoleted.
- my %obsoletedPackages;
-
- #- make a subprocess here for reading filelist, this is important
- #- not to waste a lot of memory for the main program which will fork
- #- latter for each transaction.
- local (*INPUT, *OUTPUT_CHILD); pipe INPUT, OUTPUT_CHILD;
- local (*INPUT_CHILD, *OUTPUT); pipe INPUT_CHILD, OUTPUT;
- if (my $pid = fork()) {
- close INPUT_CHILD;
- close OUTPUT_CHILD;
- select((select(OUTPUT), $| = 1)[0]);
-
- #- internal reading from interactive mode of parsehdlist.
- #- takes a code to call with the line read, this avoid allocating
- #- memory for that.
- my $ask_child = sub {
- my ($name, $tag, $code) = @_;
- $code or die "no callback code for parsehdlist output";
- print OUTPUT "$name:$tag\n";
-
- local $_;
- while (<INPUT>) {
- chomp;
- /^\s*$/ and last;
- $code->($_);
- }
- };
-
- #- select packages which obseletes other package, obselete package are not removed,
- #- should we remove them ? this could be dangerous !
- foreach my $p (values %{$packages->{names}}) {
- $ask_child->(packageName($p), "obsoletes", sub {
- #- take care of flags and version and release if present
- if ($_[0] =~ /^(\S*)\s*(\S*)\s*([^\s-]*)-?(\S*)/ && c::rpmdbNameTraverse($db, $1) > 0) {
- $3 and eval(versionCompare(packageVersion($p), $3) . $2 . 0) or next;
- $4 and eval(versionCompare(packageRelease($p), $4) . $2 . 0) or next;
- log::l("selecting " . packageName($p) . " by selection on obsoletes");
- $obsoletedPackages{$1} = undef;
- selectPackage($packages, $p);
- }
- });
- }
-
- #- mark all files which are not in /etc/rc.d/ for packages which are already installed but which
- #- are not in the packages list to upgrade.
- #- the 'installed' property will make a package unable to be selected, look at select.
- c::rpmdbTraverse($db, sub {
- my ($header) = @_;
- my $otherPackage = (c::headerGetEntry($header, 'release') !~ /mdk\w*$/ &&
- (c::headerGetEntry($header, 'name'). '-' .
- c::headerGetEntry($header, 'version'). '-' .
- c::headerGetEntry($header, 'release')));
- my $p = $packages->{names}{c::headerGetEntry($header, 'name')};
-
- if ($p) {
- my $version_cmp = versionCompare(c::headerGetEntry($header, 'version'), packageVersion($p));
- my $version_rel_test = $version_cmp > 0 || $version_cmp == 0 &&
- versionCompare(c::headerGetEntry($header, 'release'), packageRelease($p)) >= 0;
- if ($packageNeedUpgrade{packageName($p)}) {
- log::l("package ". packageName($p) ." need to be upgraded");
- } elsif ($version_rel_test) { #- by default, package are upgraded whatever version is !
- if ($otherPackage && $version_cmp <= 0) {
- log::l("force upgrading $otherPackage since it will not be updated otherwise");
- } else {
- #- let the parent known this installed package.
- print UPGRADE_OUTPUT "installed:" . packageName($p) . "\n";
- packageSetFlagInstalled($p, 1);
- }
- } elsif ($upgradeNeedRemove{packageName($p)}) {
- my $otherPackage = (c::headerGetEntry($header, 'name'). '-' .
- c::headerGetEntry($header, 'version'). '-' .
- c::headerGetEntry($header, 'release'));
- log::l("removing $otherPackage since it will not upgrade correctly!");
- $toRemove{$otherPackage} = 1; #- force removing for theses other packages, select our.
- }
- } else {
- if (! exists $obsoletedPackages{c::headerGetEntry($header, 'name')}) {
- my @files = c::headerGetEntry($header, 'filenames');
- @installedFilesForUpgrade{grep { ($_ !~ m|^/etc/rc.d/| && $_ !~ m|\.la$| &&
- ! -d "$prefix/$_" && ! -l "$prefix/$_") } @files} = ();
- }
- }
- });
-
- #- find new packages to upgrade.
- foreach my $p (values %{$packages->{names}}) {
- my $skipThis = 0;
- my $count = c::rpmdbNameTraverse($db, packageName($p), sub {
- my ($header) = @_;
- $skipThis ||= packageFlagInstalled($p);
- });
-
- #- skip if not installed (package not found in current install).
- $skipThis ||= ($count == 0);
-
- #- make sure to upgrade package that have to be upgraded.
- $packageNeedUpgrade{packageName($p)} and $skipThis = 0;
-
- #- select the package if it is already installed with a lower version or simply not installed.
- unless ($skipThis) {
- my $cumulSize;
-
- selectPackage($packages, $p);
-
- #- keep in mind installed files which are not being updated. doing this costs in
- #- execution time but use less memory, else hash all installed files and unhash
- #- all file for package marked for upgrade.
- c::rpmdbNameTraverse($db, packageName($p), sub {
- my ($header) = @_;
- $cumulSize += c::headerGetEntry($header, 'size');
- my @files = c::headerGetEntry($header, 'filenames');
- @installedFilesForUpgrade{grep { ($_ !~ m|^/etc/rc.d/| && $_ !~ m|\.la$| &&
- ! -d "$prefix/$_" && ! -l "$prefix/$_") } @files} = ();
- });
-
- $ask_child->(packageName($p), "files", sub {
- delete $installedFilesForUpgrade{$_[0]};
- });
-
- #- keep in mind the cumul size of installed package since they will be deleted
- #- on upgrade, only for package that are allowed to be upgraded.
- if (allowedToUpgrade(packageName($p))) {
- print UPGRADE_OUTPUT "$cumulSize:" . packageName($p) . "\n";
- }
- }
- }
-
- #- unmark all files for all packages marked for upgrade. it may not have been done above
- #- since some packages may have been selected by depsList.
- foreach my $p (values %{$packages->{names}}) {
- if (packageFlagSelected($p)) {
- $ask_child->(packageName($p), "files", sub {
- delete $installedFilesForUpgrade{$_[0]};
- });
- }
- }
-
- #- select packages which contains marked files, then unmark on selection.
- #- a special case can be made here, the selection is done only for packages
- #- requiring locales if the locales are selected.
- #- another special case are for devel packages where fixes over the time has
- #- made some files moving between the normal package and its devel couterpart.
- #- if only one file is affected, no devel package is selected.
- foreach my $p (values %{$packages->{names}}) {
- unless (packageFlagSelected($p)) {
- my $toSelect = 0;
- $ask_child->(packageName($p), "files", sub {
- if ($_[0] !~ m|^/etc/rc.d/| && $_ !~ m|\.la$| && exists $installedFilesForUpgrade{$_[0]}) {
- ++$toSelect if ! -d "$prefix/$_[0]" && ! -l "$prefix/$_[0]";
- }
- delete $installedFilesForUpgrade{$_[0]};
- });
- if ($toSelect) {
- if ($toSelect <= 1 && packageName($p) =~ /-devel/) {
- log::l("avoid selecting " . packageName($p) . " as not enough files will be updated");
- } else {
- #- default case is assumed to allow upgrade.
- my @deps = map { my $p = $packages->{depslist}[$_];
- $p && packageName($p) =~ /locales-/ ? ($p) : () } packageDepsId($p);
- if (@deps == 0 || @deps > 0 && (grep { !packageFlagSelected($_) } @deps) == 0) {
- log::l("selecting " . packageName($p) . " by selection on files");
- selectPackage($packages, $p);
- } else {
- log::l("avoid selecting " . packageName($p) . " as its locales language is not already selected");
- }
- }
- }
- }
- }
-
- #- clean memory...
- %installedFilesForUpgrade = ();
-
- #- no need to still use the child as this point, we can let him to terminate.
- close OUTPUT;
- close INPUT;
- waitpid $pid, 0;
- } else {
- close INPUT;
- close OUTPUT;
- open STDIN, "<&INPUT_CHILD";
- open STDOUT, ">&OUTPUT_CHILD";
- exec if_($ENV{LD_LOADER}, $ENV{LD_LOADER}), "parsehdlist", "--interactive", map { "/tmp/$_->{hdlist}" } values %{$packages->{mediums}}
- or c::_exit(1);
- }
-
- #- let the parent known about what we found here!
- foreach my $p (values %{$packages->{names}}) {
- print UPGRADE_OUTPUT "select:" . packageName($p) . "\n" if packageFlagSelected($p);
- }
-
- #- clean false value on toRemove.
- delete $toRemove{''};
-
- #- get filenames that should be saved for packages to remove.
- #- typically config files, but it may broke for packages that
- #- are very old when compabilty has been broken.
- #- but new version may saved to .rpmnew so it not so hard !
- if ($toSave && keys %toRemove) {
- c::rpmdbTraverse($db, sub {
- my ($header) = @_;
- my $otherPackage = (c::headerGetEntry($header, 'name'). '-' .
- c::headerGetEntry($header, 'version'). '-' .
- c::headerGetEntry($header, 'release'));
- if ($toRemove{$otherPackage}) {
- print UPGRADE_OUTPUT "remove:$otherPackage\n";
- if (packageFlagBase($packages->{names}{c::headerGetEntry($header, 'name')})) {
- delete $toRemove{$otherPackage}; #- keep it selected, but force upgrade.
- } else {
- my @files = c::headerGetEntry($header, 'filenames');
- my @flags = c::headerGetEntry($header, 'fileflags');
- for my $i (0..$#flags) {
- if ($flags[$i] & c::RPMFILE_CONFIG()) {
- print UPGRADE_OUTPUT "keepfiles:$files[$i]\n" unless $files[$i] =~ /kdelnk/;
- }
- }
- }
- }
- });
- }
-
- #- close db, job finished !
- c::rpmdbClose($db);
- log::l("done selecting packages to upgrade");
-
- close UPGRADE_OUTPUT;
- c::_exit(0);
- }
-
- #- keep a track of packages that are been selected for being upgraded,
- #- these packages should not be unselected (unless expertise)
- foreach my $p (values %{$packages->{names}}) {
- packageSetFlagUpgrade($p, 1) if packageFlagSelected($p);
- }
-}
-
-sub allowedToUpgrade { $_[0] !~ /^(kernel|kernel-secure|kernel-smp|kernel-linus|hackkernel)$/ }
-
-sub installCallback {
-# my $msg = shift;
-# log::l($msg .": ". join(',', @_));
-}
-
-sub install($$$;$$) {
- my ($prefix, $isUpgrade, $toInstall, $depOrder, $media) = @_;
- my %packages;
-
- return if $::g_auto_install || !scalar(@$toInstall);
-
- #- for root loopback'ed /boot
- my $loop_boot = loopback::prepare_boot($prefix);
-
- #- first stage to extract some important informations
- #- about the packages selected. this is used to select
- #- one or many transaction.
- my ($total, $nb);
- foreach my $pkg (@$toInstall) {
- $packages{packageName($pkg)} = $pkg;
- $nb++;
- $total += packageSize($pkg);
- }
-
- log::l("pkgs::install $prefix");
- log::l("pkgs::install the following: ", join(" ", keys %packages));
- eval { fs::mount("/proc", "$prefix/proc", "proc", 0) } unless -e "$prefix/proc/cpuinfo";
-
- log::l("reading /usr/lib/rpm/rpmrc");
- c::rpmReadConfigFiles() or die "can't read rpm config files";
- log::l("\tdone");
-
- my $callbackOpen = sub {
- my $p = $packages{$_[0]};
- my $f = packageFile($p);
- print LOG "$f $p->[$MEDIUM]{descr}\n";
- my $fd = install_any::getFile($f, $p->[$MEDIUM]{descr});
- $fd ? fileno $fd : -1;
- };
- my $callbackClose = sub { packageSetFlagInstalled(delete $packages{$_[0]}, 1) };
-
- #- do not modify/translate the message used with installCallback since
- #- these are keys during progressing installation, or change in other
- #- place (install_steps_gtk.pm,...).
- installCallback("Starting installation", $nb, $total);
-
- my ($i, $min, $medium) = (0, 0, 1);
- do {
- my @transToInstall;
-
- if (!$depOrder || !$media) {
- @transToInstall = values %packages;
- $nb = 0;
- } else {
- do {
- #- change current media if needed.
- if ($i > $media->{$medium}{max}) {
- #- search for media that contains the desired package to install.
- foreach (keys %$media) {
- $i >= $media->{$_}{min} && $i <= $media->{$_}{max} and $medium = $_, last;
- }
- }
- $i >= $media->{$medium}{min} && $i <= $media->{$medium}{max} or die "unable to find right medium";
- install_any::useMedium($medium);
-
- while ($i <= $media->{$medium}{max} && ($i < $min || scalar @transToInstall < $limitMinTrans)) {
- my $dep = $packages{packageName($depOrder->[$i++])} or next;
- if ($dep->[$MEDIUM]{selected}) {
- push @transToInstall, $dep;
- foreach (map { split '\|' } packageDepsId($dep)) {
- $min < $_ and $min = $_;
- }
- } else {
- log::l("ignoring package $dep->[$FILE] as its medium is not selected");
- }
- --$nb; #- make sure the package is not taken into account as its medium is not selected.
- }
- } while ($nb > 0 && scalar(@transToInstall) == 0); #- avoid null transaction, it a nop that cost a bit.
- }
-
- #- added to exit typically after last media unselected.
- if ($nb == 0 && scalar(@transToInstall) == 0) {
- cleanHeaders($prefix);
-
- loopback::save_boot($loop_boot);
- return;
- }
-
- #- extract headers for parent as they are used by callback.
- extractHeaders($prefix, \@transToInstall, $media->{$medium});
-
- if ($media->{$medium}{method} eq 'cdrom') {
- #- reset file descriptor open for main process but
- #- make sure error trying to change from hdlist are
- #- trown from main process too.
- install_any::getFile(packageFile($transToInstall[0]), $transToInstall[0][$MEDIUM]{descr});
- }
- #- and make sure there are no staling open file descriptor too (before forking)!
- install_any::getFile('XXX');
-
- my $retry;
- while ($retry || @transToInstall) {
- local (*INPUT, *OUTPUT); pipe INPUT, OUTPUT;
- if (my $pid = fork()) {
- close OUTPUT;
- my $error_msg = '';
- local $_;
- while (<INPUT>) {
- if (/^die:(.*)/) {
- $error_msg = $1;
- last;
- } else {
- chomp;
- my @params = split ":";
- if ($params[0] eq 'close') {
- &$callbackClose($params[1]);
- } else {
- installCallback(@params);
- }
- }
- }
- $error_msg and $error_msg .= join('', <INPUT>);
- waitpid $pid, 0;
- close INPUT;
- $error_msg and die $error_msg;
- } else {
- #- child process will run each transaction.
- $SIG{SEGV} = sub { log::l("segmentation fault on transactions"); c::_exit(0) };
- my $db;
- eval {
- close INPUT;
- select((select(OUTPUT), $| = 1)[0]);
- $db = c::rpmdbOpen($prefix) or die "error opening RPM database: ", c::rpmErrorString();
- my $trans = c::rpmtransCreateSet($db, $prefix);
- if ($retry) {
- log::l("opened rpm database for retry transaction of 1 package only");
- c::rpmtransAddPackage($trans, $retry->[$HEADER], packageName($retry),
- $isUpgrade && allowedToUpgrade(packageName($retry)));
- } else {
- log::l("opened rpm database for transaction of ". scalar @transToInstall ." new packages, still $nb after that to do");
- c::rpmtransAddPackage($trans, $_->[$HEADER], packageName($_),
- $isUpgrade && allowedToUpgrade(packageName($_)))
- foreach @transToInstall;
- }
-
- c::rpmdepOrder($trans) or die "error ordering package list: " . c::rpmErrorString();
- c::rpmtransSetScriptFd($trans, fileno LOG);
-
- log::l("rpmRunTransactions start");
- my @probs = c::rpmRunTransactions($trans, $callbackOpen,
- sub { #- callbackClose
- print OUTPUT "close:$_[0]\n"; },
- sub { #- installCallback
- print OUTPUT join(":", @_), "\n"; },
- 1);
- log::l("rpmRunTransactions done, now trying to close still opened fd");
- install_any::getFile('XXX'); #- close still opened fd.
-
- if (@probs) {
- my %parts;
- @probs = reverse grep {
- if (s/(installing package) .* (needs (?:.*) on the (.*) filesystem)/$1 $2/) {
- $parts{$3} ? 0 : ($parts{$3} = 1);
- } else {
- 1;
- }
- } reverse map { s|/mnt||; $_ } @probs;
-
- c::rpmdbClose($db);
- die "installation of rpms failed:\n ", join("\n ", @probs);
- }
- }; $@ and print OUTPUT "die:$@\n";
-
- c::rpmdbClose($db);
- log::l("rpm database closed");
-
- close OUTPUT;
-
- #- now search for child process which may be locking the cdrom, making it unable to be ejected.
- my (@killpid, %tree, $pid);
- local (*DIR, *F, $_);
- opendir DIR, "/proc";
- while ($pid = readdir DIR) {
- $pid =~ /^\d+$/ or next;
- open F, "/proc/$pid/status";
- while (<F>) {
- /^Pid:\s+(\d+)/ and $pid == $1 || die "incorrect pid reported for $pid (found $1)";
- if (/^PPid:\s+(\d+)/) {
- $tree{$pid} and die "PPID already found for $pid, previously $tree{$pid}, now $1";
- $tree{$pid} = $1;
- }
- }
- close F;
- }
- closedir DIR;
- foreach (keys %tree) {
- #- remove child of this process (which will terminate).
- $pid = $_; while ($pid = $tree{$pid}) { $pid == $$ and push @killpid, $_ }
- #- remove child of 1 direct that have a pid greater than current one.
- $_ > $$ && $tree{$_} == 1 and push @killpid, $_;
- }
- if (@killpid) {
- log::l("killing process ". join(", ", @killpid));
- kill 15, @killpid;
- sleep 2;
- kill 9, @killpid;
- }
-
- c::_exit(0);
- }
-
- #- if we are using a retry mode, this means we have to split the transaction with only
- #- one package for each real transaction.
- unless ($retry) {
- my @badPackages;
- foreach (@transToInstall) {
- if (!packageFlagInstalled($_) && $_->[$MEDIUM]{selected} && !exists($ignoreBadPkg{packageName($_)})) {
- push @badPackages, $_;
- log::l("bad package $_->[$FILE]");
- } else {
- packageFreeHeader($_);
- }
- }
- @transToInstall = @badPackages;
- #- if we are in retry mode, we have to fetch only one package at a time.
- $retry = shift @transToInstall;
- } else {
- if (!packageFlagInstalled($retry) && $retry->[$MEDIUM]{selected} && !exists($ignoreBadPkg{packageName($retry)})) {
- log::l("bad package $retry->[$FILE] unable to be installed");
- packageSetFlagSelected($retry, 0);
- cdie ("error installing package list: $retry->[$FILE]");
- }
- packageFreeHeader($retry);
- $retry = shift @transToInstall;
- }
- }
- cleanHeaders($prefix);
- } while ($nb > 0 && !$pkgs::cancel_install);
-
- cleanHeaders($prefix);
-
- loopback::save_boot($loop_boot);
-}
-
-sub remove($$) {
- my ($prefix, $toRemove) = @_;
-
- return if $::g_auto_install || !@{$toRemove || []};
-
- log::l("reading /usr/lib/rpm/rpmrc");
- c::rpmReadConfigFiles() or die "can't read rpm config files";
- log::l("\tdone");
-
- my $db = c::rpmdbOpen($prefix) or die "error opening RPM database: ", c::rpmErrorString();
- log::l("opened rpm database for removing old packages");
-
- my $trans = c::rpmtransCreateSet($db, $prefix);
-
- foreach my $p (@$toRemove) {
- #- stuff remove all packages that matches $p, not a problem since $p has name-version-release format.
- c::rpmtransRemovePackages($db, $trans, $p) if allowedToUpgrade($p);
- }
-
- eval { fs::mount("/proc", "$prefix/proc", "proc", 0) } unless -e "$prefix/proc/cpuinfo";
-
- my $callbackOpen = sub { log::l("trying to open file from $_[0] which should not happen"); };
- my $callbackClose = sub { log::l("trying to close file from $_[0] which should not happen"); };
-
- #- we are not checking depends since it should come when
- #- upgrading a system. although we may remove some functionalities ?
-
- #- do not modify/translate the message used with installCallback since
- #- these are keys during progressing installation, or change in other
- #- place (install_steps_gtk.pm,...).
- installCallback("Starting removing other packages", scalar @$toRemove);
-
- if (my @probs = c::rpmRunTransactions($trans, $callbackOpen, $callbackClose, \&installCallback, 1)) {
- die "removing of old rpms failed:\n ", join("\n ", @probs);
- }
- c::rpmtransFree($trans);
- c::rpmdbClose($db);
- log::l("rpm database closed");
-
- #- keep in mind removing of these packages by cleaning $toRemove.
- @{$toRemove || []} = ();
-}
-
-sub selected_leaves {
- my ($packages) = @_;
- my %l;
- $l{$_->[$FILE]} = 1 foreach grep { packageFlagSelected($_) && !packageFlagBase($_) } @{$packages->{depslist}};
-
- my %m = %l;
- foreach (@{$packages->{depslist}}) {
- delete $m{$_->[$FILE]} or next;
-
- foreach (map { split '\|' } grep { !/^NOTFOUND_/ } packageDepsId($_)) {
- delete $l{$packages->{depslist}[$_][$FILE]};
- }
- }
- [ map {
- my @l; $l[$FILE] = $_;
- packageName(\@l);
- } grep { $l{$_} } keys %l ];
-}
-
-
-sub naughtyServers {
- my ($packages) = @_;
-
- my @naughtyServers = qw(FreeWnn MySQL am-utils boa cfengine cups
-finger-server freeswan imap jabber leafnode lpr mon ntp apache
-openssh-server pidentd postfix postgresql-server proftpd rwall rwho
-telnet-server webmin wu-ftpd ypbind); # portmap nfs-utils-clients
-
- grep {
- my $p = packageByName($packages, $_);
- $p && packageFlagSelected($p);
- } @naughtyServers;
-}
-
-1;
diff --git a/perl-install/printer.pm b/perl-install/printer.pm
deleted file mode 100644
index 2eb683eb2..000000000
--- a/perl-install/printer.pm
+++ /dev/null
@@ -1,687 +0,0 @@
-package printer; # $Id$
-
-use diagnostics;
-use strict;
-
-use vars qw(%thedb %thedb_gsdriver %printer_type %printer_type_inv @papersize_type %fields @entries_db_short @entry_db_description %descr_to_help %descr_to_db %db_to_descr %descr_to_ppd);
-
-use common qw(:common :system :file);
-use commands;
-use run_program;
-
-#-if we are in an DrakX config
-my $prefix = "";
-
-#-location of the printer database in an installed system
-my $PRINTER_DB_FILE = "/usr/lib/rhs/rhs-printfilters/printerdb";
-my $PRINTER_FILTER_DIR = "/usr/lib/rhs/rhs-printfilters";
-
-%printer_type = (
- __("Local printer") => "LOCAL",
- __("Remote printer") => "REMOTE",
- __("Remote CUPS server") => "CUPS",
- __("Remote lpd server") => "LPD",
- __("Network printer (socket)") => "SOCKET",
- __("SMB/Windows 95/98/NT") => "SMB",
- __("NetWare") => "NCP",
- __("Printer Device URI") => "URI",
-);
-%printer_type_inv = reverse %printer_type;
-
-%fields = (
- STANDARD => [qw(QUEUE SPOOLDIR IF)],
- SPEC => [qw(DBENTRY RESOLUTION PAPERSIZE BITSPERPIXEL CRLF)],
- LOCAL => [qw(DEVICE)],
- REMOTE => [qw(REMOTEHOST REMOTEQUEUE)],
- SMB => [qw(SMBHOST SMBHOSTIP SMBSHARE SMBUSER SMBPASSWD SMBWORKGROUP AF)],
- NCP => [qw(NCPHOST NCPQUEUE NCPUSER NCPPASSWD)],
-);
-@papersize_type = qw(letter legal ledger a3 a4);
-
-#------------------------------------------------------------------------------
-sub set_prefix($) { $prefix = $_[0]; }
-
-sub default_queue($) { (split '\|', $_[0]{QUEUE})[0] }
-sub default_spooldir($) { "/var/spool/lpd/" . default_queue($_[0]) }
-
-sub default_printer_type($) { "LOCAL" }
-sub printer_type($) {
- for ($_[0]{mode}) {
- /CUPS/ && return @printer_type_inv{qw(LOCAL REMOTE SMB), $::expert ? qw(URI) : ()};
- /lpr/ && return @printer_type_inv{qw(LOCAL LPD SMB NCP)};
- }
-}
-
-sub copy_printer_params($$) {
- my ($from, $to) = @_;
- map { $to->{$_} = $from->{$_} } grep { $_ ne 'configured' } keys %$from; #- avoid cycles.
-}
-
-sub getinfo($) {
- my ($prefix) = @_;
- my $printer = {};
-
- set_prefix($prefix);
-
- #- try to detect which printing system has been previously installed.
- #- the first detected is the default.
- read_printers_conf($printer); #- try to read existing cups (local only) queues.
- read_configured_queue($printer); #- try to read existing lpr queues.
-
- add2hash($printer, {
- #- global parameters.
- want => 0,
- complete => 0,
- str_type => undef,
- QUEUE => "lp",
-
- #- lpr parameters.
- SPOOLDIR => "/var/spool/lpd/lp",
- DBENTRY => "PostScript",
- PAPERSIZE => "",
- ASCII_TO_PS => undef,
- CRLF => undef,
- NUP => 1,
- RTLFTMAR => 18,
- TOPBOTMAR => 18,
- AUTOSENDEOF => 1,
-
- DEVICE => "/dev/lp0",
-
- REMOTEHOST => "",
- REMOTEQUEUE => "",
-
- NCPHOST => "", #-"printerservername",
- NCPQUEUE => "", #-"queuename",
- NCPUSER => "", #-"user",
- NCPPASSWD => "", #-"pass",
-
- SMBHOST => "", #-"hostname",
- SMBHOSTIP => "", #-"1.2.3.4",
- SMBSHARE => "", #-"printername",
- SMBUSER => "", #-"user",
- SMBPASSWD => "", #-"passowrd",
- SMBWORKGROUP => "", #-"AS3",
-
- #- cups parameters.
- DeviceURI => "parallel:/dev/lp0",
- Info => "",
- Location => "",
- State => "Idle",
- Accepting => "Yes",
- });
- $printer;
-}
-
-#------------------------------------------------------------------------------
-sub read_configured_queue($) {
- my ($printer) = @_;
- my $current = undef;
- my $flush_current = sub {
- if ($current) {
- add2hash($printer->{configured}{$current->{QUEUE}} ||= {}, $current);
- $current = undef;
- }
- };
-
- #- read /etc/printcap file.
- local *PRINTCAP; open PRINTCAP, "$prefix/etc/printcap" or return;
- local $_;
- while (<PRINTCAP>) {
- chomp;
- my $p = '(?:\{(.*?)\}|(\S+))';
- if (/^##PRINTTOOL3##\s+$p\s+$p\s+$p\s+$p\s+$p\s+$p\s+$p(?:\s+$p)?/) {
- &$flush_current;
- $current = {
- mode => 'lpr',
- TYPE => $1 || $2,
- GSDRIVER => $3 || $4,
- RESOLUTION => $5 || $6,
- PAPERSIZE => $7 || $8,
- #- ignored $9 || $10,
- DBENTRY => $11 || $12,
- BITSPERPIXEL => $13 || $14,
- CRLF => $15 || $16,
- };
- } elsif (/^\s*$/) { &$flush_current }
- elsif (/^([^:]*):\\/) { $current->{QUEUE} = $1 }
- if (/^\s+:(?:[^:]*:)*sd=([^:]*):/) { $current->{SPOOLDIR} = $1 }
- if (/^\s+:(?:[^:]*:)*lp=([^:]*):\\/) { $current->{DEVICE} = $1 }
- if (/^\s+:(?:[^:]*:)*rm=([^:]*):\\/) { $current->{REMOTEHOST} = $1 }
- if (/^\s+:(?:[^:]*:)*rp=([^:]*):\\/) { $current->{REMOTEQUEUE} = $1 }
- if (/^\s+:(?:[^:]*:)*af=([^:]*):\\/) { $current->{AF} = $1 }
- if (/^\s+:(?:[^:]*:)*if=([^:]*):\\/) { $current->{IF} = $1 }
- }
- close PRINTCAP;
- &$flush_current;
-
- #- parse general.cfg for any configured queue.
- foreach (values %{$printer->{configured}}) {
- my $entry = $_;
- local *F; open F, "$prefix$entry->{SPOOLDIR}/general.cfg" or next;
- local $_;
- while (<F>) {
- chomp;
- if (/^\s*(?:export\s+)?PRINTER_TYPE=(.*?)\s*$/) { $entry->{TYPE} = $1 unless defined $entry->{TYPE} }
- elsif (/^\s*(?:export\s+)?ASCII_TO_PS=(.*?)\s*$/) { $entry->{ASCII_TO_PS} = $1 eq 'YES' unless defined $entry->{ASCII_TO_PS} }
- elsif (/^\s*(?:export\s+)?PAPER_SIZE=(.*?)\s*$/) { $entry->{PAPERSIZE} = $1 unless defined $entry->{PAPERSIZE} }
- }
- close F;
- }
-
- #- parse postscript.cfg for any configured queue.
- foreach (values %{$printer->{configured}}) {
- my $entry = $_;
- local *F; open F, "$prefix$entry->{SPOOLDIR}/postscript.cfg" or next;
- local $_;
- while (<F>) {
- chomp;
- if (/^\s*(?:export\s+)?GSDEVICE=(.*?)\s*$/) { $entry->{GSDRIVER} = $1 unless defined $entry->{GSDRIVER} }
- elsif (/^\s*(?:export\s+)?RESOLUTION=(.*?)\s*$/) { $entry->{RESOLUTION} = $1 unless defined $entry->{RESOLUTION} }
- elsif (/^\s*(?:export\s+)?COLOR=-dBitsPerPixel=(.*?)\s*$/) { $entry->{COLOR} = $1 unless defined $entry->{COLOR} }
- elsif (/^\s*(?:export\s+)?COLOR=(.*?)\s*$/) { $entry->{COLOR} = $1 ? $1 : 'Default' unless defined $entry->{COLOR} }
- elsif (/^\s*(?:export\s+)?PAPERSIZE=(.*?)\s*$/) { $entry->{PAPERSIZE} = $1 unless defined $entry->{PAPERSIZE} }
- elsif (/^\s*(?:export\s+)?EXTRA_GS_OPTIONS=(.*?)\s*$/) { $entry->{EXTRA_GS_OPTIONS} = $1 unless defined $entry->{EXTRA_GS_OPTIONS}; $entry->{EXTRA_GS_OPTIONS} =~ s/^\"(.*)\"/$1/ }
- elsif (/^\s*(?:export\s+)?REVERSE_ORDER=(.*?)\s*$/) { $entry->{REVERSE_ORDER} = $1 unless defined $entry->{REVERSE_ORDER} }
- elsif (/^\s*(?:export\s+)?PS_SEND_EOF=(.*?)\s*$/) { $entry->{AUTOSENDEOF} = $1 eq 'YES' && $entry->{DBENTRY} eq 'PostScript' unless defined $entry->{AUTOSENDEOF} }
- elsif (/^\s*(?:export\s+)?NUP=(.*?)\s*$/) { $entry->{NUP} = $1 unless defined $entry->{NUP} }
- elsif (/^\s*(?:export\s+)?RTLFTMAR=(.*?)\s*$/) { $entry->{RTLFTMAR} = $1 unless defined $entry->{RTLFTMAR} }
- elsif (/^\s*(?:export\s+)?TOPBOTMAR=(.*?)\s*$/) { $entry->{TOPBOTMAR} = $1 unless defined $entry->{TOPBOTMAR} }
- }
- close F;
- }
-
- #- parse textonly.cfg for any configured queue.
- foreach (values %{$printer->{configured}}) {
- my $entry = $_;
- local *F; open F, "$prefix$entry->{SPOOLDIR}/textonly.cfg" or next;
- local $_;
- while (<F>) {
- chomp;
- if (/^\s*(?:export\s+)?TEXTONLYOPTIONS=(.*?)\s*$/) { $entry->{TEXTONLYOPTIONS} = $1 unless defined $entry->{TEXTONLYOPTIONS}; $entry->{TEXTONLYOPTIONS} =~ s/^\"(.*)\"/$1/ }
- elsif (/^\s*(?:export\s+)?CRLFTRANS=(.*?)\s*$/) { $entry->{CRLF} = $1 eq 'YES' unless defined $entry->{CRLF} }
- elsif (/^\s*(?:export\s+)?TEXT_SEND_EOF=(.*?)\s*$/) { $entry->{AUTOSENDEOF} = $1 eq 'YES' && $entry->{DBENTRY} ne 'PostScript' unless defined $entry->{AUTOSENDEOF} }
- }
- close F;
- }
-
- #- get extra parameters for SMB or NCP type queue.
- foreach (values %{$printer->{configured}}) {
- my $entry = $_;
- if ($entry->{TYPE} eq 'SMB') {
- my $config_file = "$prefix$entry->{SPOOLDIR}/.config";
- local *F; open F, "$config_file" or next; #die "Can't open $config_file $!";
- local $_;
- while (<F>) {
- chomp;
- if (/^\s*share='\\\\(.*?)\\(.*?)'/) {
- $entry->{SMBHOST} = $1;
- $entry->{SMBSHARE} = $2;
- } elsif (/^\s*hostip=(.*)/) {
- $entry->{SMBHOSTIP} = $1;
- } elsif (/^\s*user='(.*)'/) {
- $entry->{SMBUSER} = $1;
- } elsif (/^\s*password='(.*)'/) {
- $entry->{SMBPASSWD} = $1;
- } elsif (/^\s*workgroup='(.*)'/) {
- $entry->{SMBWORKGROUP} = $1;
- }
- }
- close F;
- } elsif ($entry->{TYPE} eq 'NCP') {
- my $config_file = "$prefix$entry->{SPOOLDIR}/.config";
- local *F; open F, "$config_file" or next; #die "Can't open $config_file $!";
- local $_;
- while (<F>) {
- chomp;
- if (/^\s*server=(.*)/) {
- $entry->{NCPHOST} = $1;
- } elsif (/^\s*user='(.*)'/) {
- $entry->{NCPUSER} = $1;
- } elsif (/^\s*password='(.*)'/) {
- $entry->{NCPPASSWD} = $1;
- } elsif (/^\s*queue='(.*)'/) {
- $entry->{NCPQUEUE} = $1;
- }
- }
- close F;
- }
- }
-
- #- assume this printing system, but only if some queue are defined.
- scalar(keys %{$printer->{configured}}) > 0 and $printer->{mode} ||= 'lpr';
-}
-
-sub read_printer_db(;$) {
- my $dbpath = $prefix . ($_[0] || $PRINTER_DB_FILE);
-
- scalar(keys %thedb) > 4 and return; #- try reparse if using only ppa, POSTSCRIPT, TEXT.
-
- my %available_devices; #- keep only available devices in our database.
- local $_; #- use of while (<...
- local *AVAIL; open AVAIL, ($::testing ? "$prefix" : "chroot $prefix/ ") . "/usr/bin/gs --help |";
- while (<AVAIL>) {
- if (/^Available devices:/ ... /^\S/) {
- @available_devices{split /\s+/, $_} = () if /^\s+/;
- }
- }
- close AVAIL;
- $available_devices{ppa} = undef; #- if -x "$prefix/usr/bin/pbm2ppa" && -x "$prefix/usr/bin/pnm2ppa";
- delete $available_devices{''};
- @available_devices{qw/POSTSCRIPT TEXT/} = (); #- these are always available.
-
- local *DBPATH; #- don't have to do close ... and don't modify globals at least
- open DBPATH, $dbpath or die "An error has occurred on $dbpath : $!";
-
- while (<DBPATH>) {
- if (/^StartEntry:\s(\w*)/) {
- my $entry = { ENTRY => $1 };
-
- WHILE :
- while (<DBPATH>) {
- SWITCH: {
- /GSDriver:\s*(\w*)/ and do { $entry->{GSDRIVER} = $1; last SWITCH };
- /Description:\s*{(.*)}/ and do { $entry->{DESCR} = $1; last SWITCH };
- /About:\s*{\s*(.*?)\s*}/ and do { $entry->{ABOUT} = $1; last SWITCH };
- /About:\s*{\s*(.*?)\s*\\\s*$/
- and do {
- my $string = $1;
- while (<DBPATH>) {
- $string =~ /\S$/ and $string .= ' ';
- /^\s*(.*?)\s*\\\s*$/ and $string .= $1;
- /^\s*(.*?)\s*}\s*$/ and do { $entry->{ABOUT} = $string . $1; last SWITCH };
- }
- };
- /Resolution:\s*{(.*)}\s*{(.*)}\s*{(.*)}/
- and do { push @{$entry->{RESOLUTION} ||= []}, { XDPI => $1, YDPI => $2, DESCR => $3 }; last SWITCH };
- /BitsPerPixel:\s*{(.*)}\s*{(.*)}/
- and do { push @{$entry->{BITSPERPIXEL} ||= []}, {DEPTH => $1, DESCR => $2}; last SWITCH };
-
- /EndEntry/ and last WHILE;
- }
- }
- if (exists $available_devices{$entry->{GSDRIVER}}) {
- $thedb{$entry->{ENTRY}} = $entry;
- $thedb_gsdriver{$entry->{GSDRIVER}} = $entry;
- }
- }
- }
-
- @entries_db_short = sort keys %printer::thedb;
- %descr_to_db = map { $printer::thedb{$_}{DESCR}, $_ } @entries_db_short;
- %descr_to_help = map { $printer::thedb{$_}{DESCR}, $printer::thedb{$_}{ABOUT} } @entries_db_short;
- @entry_db_description = keys %descr_to_db;
- %db_to_descr = reverse %descr_to_db;
-}
-
-#------------------------------------------------------------------------------
-sub read_cupsd_conf {
- my @cupsd_conf;
- local *F;
-
- open F, "$prefix/etc/cups/cupsd.conf";
- @cupsd_conf = <F>;
- close F;
-
- @cupsd_conf;
-}
-sub write_cupsd_conf {
- my (@cupsd_conf) = @_;
- local *F;
-
- open F, ">$prefix/etc/cups/cupsd.conf";
- print F @cupsd_conf;
- close F;
-
- #- restart cups after updating configuration.
- run_program::rooted($prefix, "/etc/rc.d/init.d/cups restart"); sleep 1;
-}
-
-sub read_printers_conf {
- my ($printer) = @_;
- my $current = undef;
-
- #- read /etc/cups/printers.conf file.
- #- according to this code, we are now using the following keys for each queues.
- #- DeviceURI > lpd://printer6/lp
- #- Info > Info Text
- #- Location > Location Text
- #- State > Idle|Stopped
- #- Accepting > Yes|No
- local *PRINTERS; open PRINTERS, "$prefix/etc/cups/printers.conf" or return;
- local $_;
- while (<PRINTERS>) {
- chomp;
- /^\s*#/ and next;
- if (/^\s*<(?:DefaultPrinter|Printer)\s+([^>]*)>/) { $current = { mode => 'CUPS', QUEUE => $1, } }
- elsif (/\s*<\/Printer>/) { $current->{QUEUE} && $current->{DeviceURI} or next; #- minimal check of synthax.
- add2hash($printer->{configured}{$current->{QUEUE}} ||= {}, $current); $current = undef }
- elsif (/\s*(\S*)\s+(.*)/) { $current->{$1} = $2 }
- }
- close PRINTERS;
-
- #- assume this printing system.
- $printer->{mode} ||= 'CUPS';
-}
-
-sub get_direct_uri {
- #- get the local printer to access via a Device URI.
- my @direct_uri;
- local *F; open F, ($::testing ? "$prefix" : "chroot $prefix/ ") . "/usr/sbin/lpinfo -v |";
- local $_;
- while (<F>) {
- /^(direct|usb|serial)\s+(\S*)/ and push @direct_uri, $2;
- }
- close F;
- @direct_uri;
-}
-
-sub get_descr_from_ppd {
- my ($printer) = @_;
- my %ppd;
-
- #- if there is no ppd, this means this is the PostScript generic filter.
- local *F; open F, "$prefix/etc/cups/ppd/$printer->{QUEUE}.ppd" or return "POSTSCRIPT|Generic PostScript printer (en)";
- local $_;
- while (<F>) {
- /^\*([^\s:]*)\s*:\s*\"([^\"]*)\"/ and do { $ppd{$1} = $2; next };
- /^\*([^\s:]*)\s*:\s*([^\s\"]*)/ and do { $ppd{$1} = $2; next };
- }
- close F;
-
- $ppd{Manufacturer} . '|' . ($ppd{NickName} || $ppd{ShortNickName} || $ppd{ModelName}) .
- ($ppd{LanguageVersion} && (" (" . lc(substr($ppd{LanguageVersion}, 0, 2)) . ")"));
-}
-
-sub poll_ppd_base {
- #- before trying to poll the ppd database available to cups, we have to make sure
- #- the file /etc/cups/ppds.dat is no more modified.
- #- if cups continue to modify it (because it reads the ppd files available), the
- #- poll_ppd_base program simply cores :-)
- run_program::rooted($prefix, "ifup lo"); #- else cups will not be happy!
- run_program::rooted($prefix, "/etc/rc.d/init.d/cups start");
-
- foreach (1..60) {
- local *PPDS; open PPDS, ($::testing ? "$prefix" : "chroot $prefix/ ") . "/usr/bin/poll_ppd_base -a |";
- local $_;
- while (<PPDS>) {
- chomp;
- my ($ppd, $mf, $descr, $lang) = split /\|/;
- $ppd && $mf && $descr and $descr_to_ppd{"$mf|$descr" . ($lang && " ($lang)")} = $ppd;
- }
- close PPDS;
- scalar(keys %descr_to_ppd) > 5 and last;
- sleep 1; #- we have to try again running the program, wait here a little before.
- }
-
- scalar(keys %descr_to_ppd) > 5 or die "unable to connect to cups server";
-
- #- assume a default printer not using any ppd at all.
- $descr_to_ppd{"No driver (raw queue)"} = '';
-}
-
-#-******************************************************************************
-#- write functions
-#-******************************************************************************
-
-#------------------------------------------------------------------------------
-#- given the path queue_path, we create all the required spool directory
-#------------------------------------------------------------------------------
-sub create_spool_dir($) {
- my ($queue_path) = @_;
- my $complete_path = "$prefix/$queue_path";
-
- commands::mkdir_("-p", $complete_path);
-
- unless ($::testing) {
- #-redhat want that "drwxr-xr-x root lp"
- my $gid_lp = (getpwnam("lp"))[3];
- chown 0, $gid_lp, $complete_path
- or die "An error has occurred - can't chgrp $complete_path to lp $!";
- }
-}
-
-#------------------------------------------------------------------------------
-#-given the input spec file 'input', and the target output file 'output'
-#-we set the fields specified by fieldname to the values in fieldval
-#-nval is the number of fields to set
-#-Doesnt currently catch error exec'ing sed yet
-#------------------------------------------------------------------------------
-sub create_config_file($$%) {
- my ($inputfile, $outputfile, %toreplace) = @_;
- template2file("$prefix/$inputfile", "$prefix/$outputfile", %toreplace);
- eval { commands::chown_("root.lp", "$prefix/$outputfile") };
-}
-
-
-#------------------------------------------------------------------------------
-#-copy master filter to the spool dir
-#------------------------------------------------------------------------------
-sub copy_master_filter($) {
- my ($queue_path) = @_;
- my $complete_path = "$prefix/$queue_path/filter";
- my $master_filter = "$prefix/$PRINTER_FILTER_DIR/master-filter";
-
- eval { commands::cp('-f', $master_filter, $complete_path) };
- $@ and die "Can't copy $master_filter to $complete_path $!";
- eval { commands::chown_("root.lp", $complete_path); };
-}
-
-#------------------------------------------------------------------------------
-#- given a PrintCap Entry, create the spool dir and special
-#- rhs-printfilters related config files which are required
-#------------------------------------------------------------------------------
-my $intro_printcap_test = "
-#
-# Please don't edit this file directly unless you know what you are doing!
-# Look at the printcap(5) man page for more info.
-# Be warned that the control-panel printtool requires a very strict format!
-#
-# This file can be edited with printerdrake or printtool.
-#
-
-";
-
-sub configure_queue($) {
- my ($entry) = @_;
-
- for ($entry->{mode}) {
- /CUPS/ && do {
- #- at this level, we are using lpadmin to create a local printer (only local
- #- printer are supported with printerdrake).
- run_program::rooted($prefix, "lpadmin",
- "-p", $entry->{QUEUE},
- $entry->{State} eq 'Idle' && $entry->{Accepting} eq 'Yes' ? ("-E") : (),
- "-v", $entry->{DeviceURI},
- $entry->{cupsPPD} ? ("-m", $entry->{cupsPPD}) : (),
- $entry->{Info} ? ("-D", $entry->{Info}) : (),
- $entry->{Location} ? ("-L", $entry->{Location}) : (),
- ) or die "lpadmin failed";
- last };
- /lpr/ && do {
- #- old style configuration scheme for lpr.
- my $queue_path = "$entry->{SPOOLDIR}";
- create_spool_dir($queue_path);
-
- my $get_name_file = sub {
- my ($name) = @_;
- ("$PRINTER_FILTER_DIR/$name.in", "$entry->{SPOOLDIR}/$name")
- };
- my ($filein, $file);
- my %fieldname = ();
- my $dbentry = $thedb{($entry->{DBENTRY})} or die "no dbentry";
-
- #- make general.cfg
- ($filein, $file) = &$get_name_file("general.cfg");
- $fieldname{ascps_trans} = $entry->{ASCII_TO_PS} || $dbentry->{GSDRIVER} eq 'ppa' ? "YES" : "NO";
- $fieldname{desiredto} = $dbentry->{GSDRIVER} ne "TEXT" ? "ps" : "asc";
- $fieldname{papersize} = $entry->{PAPERSIZE} ? $entry->{PAPERSIZE} : "letter";
- $fieldname{printertype} = $entry->{TYPE};
- create_config_file($filein, $file, %fieldname);
-
- #- now do postscript.cfg
- ($filein, $file) = &$get_name_file("postscript.cfg");
- %fieldname = ();
- $fieldname{gsdevice} = $dbentry->{GSDRIVER};
- $fieldname{papersize} = $entry->{PAPERSIZE} ? $entry->{PAPERSIZE} : "letter";
- $fieldname{resolution} = $entry->{RESOLUTION};
- $fieldname{color} = $entry->{BITSPERPIXEL} ne "Default" &&
- (($dbentry->{GSDRIVER} ne "uniprint" && "-dBitsPerPixel=") . $entry->{BITSPERPIXEL});
- $fieldname{reversepages} = $entry->{REVERSE_ORDER} ? "YES" : "";
- $fieldname{extragsoptions} = "\"$entry->{EXTRA_GS_OPTIONS}\"";
- $fieldname{pssendeof} = $entry->{AUTOSENDEOF} ? ($dbentry->{GSDRIVER} eq "POSTSCRIPT" ? "YES" : "NO") : "NO";
- $fieldname{nup} = $entry->{NUP};
- $fieldname{rtlftmar} = $entry->{RTLFTMAR};
- $fieldname{topbotmar} = $entry->{TOPBOTMAR};
- create_config_file($filein, $file, %fieldname);
-
- #- finally, make textonly.cfg
- ($filein, $file) = &$get_name_file("textonly.cfg");
- %fieldname = ();
- $fieldname{textonlyoptions} = "\"$entry->{TEXTONLYOPTIONS}\"";
- $fieldname{crlftrans} = $entry->{CRLF} ? "YES" : "";
- $fieldname{textsendeof} = $entry->{AUTOSENDEOF} ? ($dbentry->{GSDRIVER} eq "POSTSCRIPT" ? "NO" : "YES") : "NO";
- create_config_file($filein, $file, %fieldname);
-
- if ($entry->{TYPE} eq "SMB") {
- #- simple config file required if SMB printer
- my $config_file = "$prefix$queue_path/.config";
- local *F;
- open F, ">$config_file" or die "Can't create $config_file $!";
- print F "share='\\\\$entry->{SMBHOST}\\$entry->{SMBSHARE}'\n";
- print F "hostip=$entry->{SMBHOSTIP}\n";
- print F "user='$entry->{SMBUSER}'\n";
- print F "password='$entry->{SMBPASSWD}'\n";
- print F "workgroup='$entry->{SMBWORKGROUP}'\n";
- close F;
- eval { chmod 0640, $config_file; commands::chown_("root.lp", $config_file) };
- } elsif ($entry->{TYPE} eq "NCP") {
- #- same for NCP printer
- my $config_file = "$prefix$queue_path/.config";
- local *F;
- open F, ">$config_file" or die "Can't create $config_file $!";
- print F "server=$entry->{NCPHOST}\n";
- print F "queue=$entry->{NCPQUEUE}\n";
- print F "user=$entry->{NCPUSER}\n";
- print F "password=$entry->{NCPPASSWD}\n";
- close F;
- eval { chmod 0640, $config_file; commands::chown_("root.lp", $config_file) };
- }
-
- copy_master_filter($queue_path);
-
- #-now the printcap file, note this one contains all the printer (use configured for that).
- local *PRINTCAP;
- open PRINTCAP, ">$prefix/etc/printcap" or die "Can't open printcap file $!";
- print PRINTCAP $intro_printcap_test;
- foreach (values %{$entry->{configured}}) {
- $_->{DBENTRY} = $thedb_gsdriver{$_->{GSDRIVER}}{ENTRY} unless defined $_->{DBENTRY};
- my $db_ = $thedb{$_->{DBENTRY}} or next; #die "no dbentry";
-
- $_->{SPOOLDIR} ||= default_spooldir($_);
- $_->{IF} ||= "$_->{SPOOLDIR}/filter";
- $_->{AF} ||= "$_->{SPOOLDIR}/acct";
-
- printf PRINTCAP "##PRINTTOOL3## %s %s %s %s %s %s %s%s\n",
- $_->{TYPE} || '{}',
- $db_->{GSDRIVER} || '{}',
- $_->{RESOLUTION} || '{}',
- $_->{PAPERSIZE} || '{}',
- '{}',
- $db_->{ENTRY} || '{}',
- $_->{BITSPERPIXEL} || '{}',
- $_->{CRLF} ? " 1" : "";
-
- print PRINTCAP "$_->{QUEUE}:\\\n";
- print PRINTCAP "\t:sd=$_->{SPOOLDIR}:\\\n";
- print PRINTCAP "\t:mx#0:\\\n\t:sh:\\\n";
-
- if ($_->{TYPE} eq "LOCAL") {
- print PRINTCAP "\t:lp=$_->{DEVICE}:\\\n";
- } elsif ($_->{TYPE} eq "LPD") {
- print PRINTCAP "\t:rm=$_->{REMOTEHOST}:\\\n";
- print PRINTCAP "\t:rp=$_->{REMOTEQUEUE}:\\\n";
- } else {
- #- (pcentry->Type == (PRINTER_SMB | PRINTER_NCP))
- print PRINTCAP "\t:lp=/dev/null:\\\n";
- print PRINTCAP "\t:af=$_->{AF}\\\n";
- }
-
- #- cheating to get the input filter!
- print PRINTCAP "\t:if=$_->{IF}:\n";
- print PRINTCAP "\n";
- }
- eval { commands::chown_("root.lp", "$prefix/etc/printcap") };
- last };
- }
-
- my $useUSB = 0;
- foreach (values %{$entry->{configured}}) {
- $useUSB ||= $_->{DEVICE} =~ /usb/ || $_->{DeviceURI} =~ /usb/;
- }
- if ($useUSB) {
- my $f = "$prefix/etc/sysconfig/usb";
- my %usb = getVarsFromSh($f);
- $usb{PRINTER} = "yes";
- setVarsInSh($f, \%usb);
- }
-}
-
-#- use the queue currently configured at the top of printer hash.
-sub remove_queue($) {
- my ($printer) = @_;
- $printer->{configured}{$printer->{QUEUE}} or return; #- something strange at this point.
-
- if ($printer->{mode} eq 'CUPS') {
- run_program::rooted($prefix, "lpadmin", "-x", $printer->{QUEUE});
- }
- delete $printer->{configured}{$printer->{QUEUE}};
-}
-
-sub restart_queue($) {
- my ($printer) = @_;
- my $queue = default_queue($printer);
-
- for ($printer->{mode}) {
- /CUPS/ && do {
- #- restart cups before cleaning the queue.
- run_program::rooted($prefix, "/etc/rc.d/init.d/cups start"); sleep 1;
- run_program::rooted($prefix, "lprm-cups", "-P$queue", "-");
- last };
- /lpr/ && do {
- #- restart lpd after cleaning the queue.
- foreach (("/var/spool/lpd/$queue/lock", "/var/spool/lpd/lpd.lock")) {
- my $pidlpd = (cat_("$prefix$_"))[0];
- kill 'TERM', $pidlpd if $pidlpd;
- unlink "$prefix$_";
- }
- run_program::rooted($prefix, "lprm-lpd", "-P$queue", "-"); sleep 1;
- run_program::rooted($prefix, "lpd"); sleep 1;
- last };
- }
-}
-
-sub print_pages($@) {
- my ($printer, @pages) = @_;
- my $queue = default_queue($printer);
- my ($lpr, $lpq);
-
- for ($printer->{mode}) {
- /CUPS/ and ($lpr, $lpq) = ("/usr/bin/lpr-cups", "/usr/bin/lpq-cups");
- /lpr/ and ($lpr, $lpq) = ("/usr/bin/lpq-lpd", "/usr/bin/lpq-lpd");
- }
-
- foreach (@pages) {
- run_program::rooted($prefix, $lpr, "-P$queue", $_);
- }
- sleep 5; #- allow lpr to send pages.
- local *F; open F, ($::testing ? "$prefix" : "chroot $prefix/ ") . "$lpq -P$queue |";
- my @lpq_output = grep { !/^no entries/ && !(/^Rank\s+Owner/ .. /^\s*$/) } <F>;
- close F;
- @lpq_output;
-}
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1;
diff --git a/perl-install/printerdrake.pm b/perl-install/printerdrake.pm
deleted file mode 100644
index d0aeffd20..000000000
--- a/perl-install/printerdrake.pm
+++ /dev/null
@@ -1,519 +0,0 @@
-package printerdrake; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:common :file :functional :system);
-use detect_devices;
-use commands;
-use modules;
-use network;
-use log;
-use printer;
-
-1;
-
-sub auto_detect {
- my ($in) = @_;
- {
- my $w = $in->wait_message(_("Test ports"), _("Detecting devices..."));
- modules::get_alias("usb-interface") and eval { modules::load("printer"); sleep(2); };
- foreach (qw(parport_pc lp parport_probe parport)) {
- eval { modules::unload($_); }; #- on kernel 2.4 parport has to be unloaded to probe again
- }
- foreach (qw(parport_pc lp parport_probe)) {
- eval { modules::load($_); }; #- take care as not available on 2.4 kernel (silent error).
- }
- }
- my $b = before_leaving { eval { modules::unload("parport_probe") } };
- detect_devices::whatPrinter();
-}
-
-
-sub setup_local($$$) {
- my ($printer, $in, $install) = @_;
-
- my @port = ();
- my @str = ();
- my @parport = auto_detect($in);
- foreach (@parport) {
- $_->{val}{DESCRIPTION} and push @str, _("A printer, model \"%s\", has been detected on ",
- $_->{val}{DESCRIPTION}) . $_->{port};
- }
- if ($::expert || !@str) {
- @port = detect_devices::whatPrinterPort();
- } else {
- @port = map { $_->{port} } grep { $_->{val}{DESCRIPTION} } @parport;
- }
- $printer->{DEVICE} = $port[0] if $port[0];
-
- if ($in) {
- $::expert or $in->set_help('configurePrinterDev') if $::isInstall;
- return if !$in->ask_from_entries_refH(_("Local Printer Device"),
-_("What device is your printer connected to
-(note that /dev/lp0 is equivalent to LPT1:)?\n") . (join "\n", @str), [
-{ label => _("Printer Device"), val => \$printer->{DEVICE}, list => \@port } ],
- );
- }
-
- #- make the DeviceURI from DEVICE.
- $printer->{DeviceURI} = ($printer->{DEVICE} =~ /usb/ ? "usb:" : "parallel:") . $printer->{DEVICE};
-
- foreach (@parport) {
- $printer->{DEVICE} eq $_->{port} or next;
- $printer->{DBENTRY} = $printer::descr_to_db{common::bestMatchSentence2($_->{val}{DESCRIPTION},
- @printer::entry_db_description)};
- $printer->{cupsDescr} = common::bestMatchSentence2($_->{val}{DESCRIPTION}, keys %printer::descr_to_ppd);
- }
- 1;
-}
-
-sub setup_remote($$$) {
- my ($printer, $in, $install) = @_;
-
- return if !$in->ask_from_entries_refH(_("Remote lpd Printer Options"),
-_("To use a remote lpd print queue, you need to supply
-the hostname of the printer server and the queue name
-on that server which jobs should be placed in."), [
-{ label => _("Remote hostname"), val => \$printer->{REMOTEHOST} },
-{ label => _("Remote queue"), val => \$printer->{REMOTEQUEUE} } ],
- );
- #- make the DeviceURI from DEVICE.
- $printer->{DeviceURI} = "lpd://$printer->{REMOTEHOST}/$printer->{REMOTEQUEUE}";
-}
-
-sub setup_smb($$$) {
- my ($printer, $in, $install) = @_;
-
- return if !$in->ask_from_entries_refH(_("SMB (Windows 9x/NT) Printer Options"),
-_("To print to a SMB printer, you need to provide the
-SMB host name (Note! It may be different from its
-TCP/IP hostname!) and possibly the IP address of the print server, as
-well as the share name for the printer you wish to access and any
-applicable user name, password, and workgroup information."), [
-{ label => _("SMB server host"), val => \$printer->{SMBHOST} },
-{ label => _("SMB server IP"), val => \$printer->{SMBHOSTIP} },
-{ label => _("Share name"), val => \$printer->{SMBSHARE} },
-{ label => _("User name"), val => \$printer->{SMBUSER} },
-{ label => _("Password"), val => \$printer->{SMBPASSWD}, hidden => 1 },
-{ label => _("Workgroup"), val => \$printer->{SMBWORKGROUP} }, ],
- complete => sub {
- unless (network::is_ip($printer->{SMBHOSTIP})) {
- $in->ask_warn('', _("IP address should be in format 1.2.3.4"));
- return (1,1);
- }
- return 0;
- },
- );
- #- make the DeviceURI from DEVICE, try to probe for available variable to build a some suitable URI.
- #- Yes, SMBWORKGROUP is not used here, seems to be not usefull for cups.
- $printer->{DeviceURI} = join '', ("smb://",
- ($printer->{SMBUSER} && ($printer->{SMBUSER} .
- ($printer->{SMBPASSWD} && ":$printer->{SMBPASSWD}") . "@")),
- ($printer->{SMBHOST} || $printer->{SMBHOSTIP}),
- "/$printer->{SMBSHARE}");
-
- &$install('samba');
- $printer->{mode} eq 'CUPS' and printer::restart_queue($printer);
- 1;
-}
-
-sub setup_ncp($$$) {
- my ($printer, $in, $install) = @_;
-
- return if !$in->ask_from_entries_refH(_("NetWare Printer Options"),
-_("To print to a NetWare printer, you need to provide the
-NetWare print server name (Note! it may be different from its
-TCP/IP hostname!) as well as the print queue name for the printer you
-wish to access and any applicable user name and password."), [
-{ label => _("Printer Server"), val => \$printer->{NCPHOST} },
-{ label => _("Print Queue Name"), val => \$printer->{NCPQUEUE} },
-{ label => _("User name"), val => \$printer->{NCPUSER} },
-{ label => _("Password"), val => \$printer->{NCPPASSWD}, hidden => 1 } ],
- );
- &$install('ncpfs');
- 1;
-}
-
-sub setup_socket($$$) {
- my ($printer, $in, $install) = @_;
- my ($hostname, $port);
-
- return if !$in->ask_from_entries_refH(_("Socket Printer Options"),
-_("To print to a socket printer, you need to provide the
-hostname of the printer and optionally the port number."), [
-{ label => _("Printer Hostname"), val => \$hostname },
-{ label => _("Port"), val => \$port } ],
- );
-
- #- make the DeviceURI parameters given above, these parameters are not in printer
- #- structure as only the URI is needed (cups only).
- $printer->{DeviceURI} = join '', ("socket://$hostname", $port ? (":$port") : ());
- 1;
-}
-
-sub setup_uri($$$) {
- my ($printer, $in, $install) = @_;
-
- return if !$in->ask_from_entries_refH(_("Printer Device URI"),
-_("You can specify directly the URI to access the printer with CUPS."), [
-{ label => _("Printer Device URI"), val => \$printer->{DeviceURI}, list => [ printer::get_direct_uri(),
- "file:/",
- "http://",
- "ipp://",
- "lpq://",
- "smb://",
- "socket://",
- ], not_edit => 0 }, ],
- );
- if ($printer->{DeviceURI} =~ /^smb:/) {
- &$install('samba');
- printer::restart_queue($printer);
- }
- 1;
-}
-
-sub setup_gsdriver($$$;$) {
- my ($printer, $in, $install, $upNetwork) = @_;
- for ($printer->{mode}) {
- /CUPS/ && return setup_gsdriver_cups($printer, $in, $install, $upNetwork);
- /lpr/ && return setup_gsdriver_lpr($printer, $in, $install, $upNetwork);
- die "mode not chosen to configure a printer";
- }
-}
-
-sub setup_gsdriver_cups($$$;$) {
- my ($printer, $in, $install, $upNetwork) = @_;
- my $testpage = "/usr/share/cups/data/testprint.ps";
-
- $in->set_help('configurePrinterType') if $::isInstall;
- while (1) {
- $printer->{cupsDescr} ||= printer::get_descr_from_ppd($printer);
- $printer->{cupsDescr} = $in->ask_from_treelist('', _("What type of printer do you have?"), '|',
- [ keys %printer::descr_to_ppd ], $printer->{cupsDescr}) or return;
- $printer->{cupsPPD} = $printer::descr_to_ppd{$printer->{cupsDescr}};
-
- #- install additional tools according to PPD files.
- $printer->{cupsPPD} =~ /lexmark/i and &$install('ghostscript-utils');
-
- $printer->{complete} = 1;
- printer::copy_printer_params($printer, $printer->{configured}{$printer->{QUEUE}} ||= {});
- printer::configure_queue($printer);
- $printer->{complete} = 0;
-
- if ($in->ask_yesorno('', _("Do you want to test printing?"), 1)) {
- my @lpq_output;
- {
- my $w = $in->wait_message('', _("Printing test page(s)..."));
-
- $upNetwork and do { &$upNetwork(); undef $upNetwork; sleep(1) };
- @lpq_output = printer::print_pages($printer, $testpage);
- }
-
- if (@lpq_output) {
- $in->ask_yesorno('', _("Test page(s) have been sent to the printer daemon.
-This may take a little time before printer start.
-Printing status:\n%s\n\nDoes it work properly?", "@lpq_output"), 1) and last;
- } else {
- $in->ask_yesorno('', _("Test page(s) have been sent to the printer daemon.
-This may take a little time before printer start.
-Does it work properly?"), 1) and last;
- }
- } else {
- last;
- }
- }
- $printer->{complete} = 1;
-}
-
-sub setup_gsdriver_lpr($$$;$) {
- my ($printer, $in, $install, $upNetwork) = @_;
- my $action;
- my @action = qw(ascii ps both done);
- my %action = (
- ascii => _("Yes, print ASCII test page"),
- ps => _("Yes, print PostScript test page"),
- both => _("Yes, print both test pages"),
- done => _("No"),
- );
-
- do {
- $printer->{DBENTRY} ||= $printer::thedb_gsdriver{$printer->{GSDRIVER}}{ENTRY};
- $printer->{DBENTRY} = $printer::descr_to_db{
- $in->ask_from_list_(_("Configure Printer"),
- _("What type of printer do you have?"),
- [ @printer::entry_db_description ],
- $printer::db_to_descr{$printer->{DBENTRY}},
- { %printer::descr_to_help }) || return
- };
- my %db_entry = %{$printer::thedb{$printer->{DBENTRY}}};
-
- #- specific printer drivers to install.
- #-&$install('pnm2ppa') if $db_entry{GSDRIVER} eq 'ppa';
-
- my @list_res = @{$db_entry{RESOLUTION} || []};
- my @res = map { "$_->{XDPI}x$_->{YDPI}" } @list_res;
- my @list_col = @{$db_entry{BITSPERPIXEL} || []};
- my @col = map { "$_->{DEPTH} $_->{DESCR}" } @list_col;
- my %col_to_depth = map { ("$_->{DEPTH} $_->{DESCR}", $_->{DEPTH}) } @list_col;
- my %depth_to_col = reverse %col_to_depth;
- my $is_uniprint = $db_entry{GSDRIVER} eq "uniprint";
-
- $printer->{PAPERSIZE} ||= "letter";
- $printer->{RESOLUTION} = @res ? $res[0] || "Default" : "Default" unless member($printer->{RESOLUTION}, @res);
- $printer->{ASCII_TO_PS} = $db_entry{GSDRIVER} eq 'POSTSCRIPT' unless defined($printer->{ASCII_TO_PS});
- $printer->{CRLF} = $db_entry{DESCR} =~ /HP/ unless defined($printer->{CRLF});
- $printer->{BITSPERPIXEL} = @list_col ? $depth_to_col{$printer->{BITSPERPIXEL}} || $col[0] : "Default";
- $printer->{NUP} = 1 unless member($printer->{NUP}, qw(1 2 4 8));
- $printer->{RTLFTMAR} = 18 unless $printer->{RTLFTMAR} =~ /^\d+$/;
- $printer->{TOPBOTMAR} = 18 unless $printer->{TOPBOTMAR} =~ /^\d+$/;
- $printer->{EXTRA_GS_OPTIONS} =~ s/^"(.*)"/$1/;
- $printer->{TEXTONLYOPTIONS} =~ s/^"(.*)"/$1/;
-
- return if !$in->ask_from_entries_refH('', _("Printer options"), [
-{ label => _("Paper Size"), val => \$printer->{PAPERSIZE}, type => 'list', not_edit => !$::expert, list => \@printer::papersize_type },
-{ label => _("Eject page after job?"), val => \$printer->{AUTOSENDEOF}, type => 'bool' },
- if_(@list_res > 1,
-{ label => _("Resolution"), val => \$printer->{RESOLUTION}, type => 'list', not_edit => !$::expert, list => \@res },
- ), if_(@list_col > 1,
- $is_uniprint ?
-{ label => _("Uniprint driver options"), val => \$printer->{BITSPERPIXEL}, type => 'list', list => \@col } :
-{ label => _("Color depth options"), val => \$printer->{BITSPERPIXEL}, type => 'list', list => \@col }
- ), if_($db_entry{GSDRIVER} ne 'TEXT' && $db_entry{GSDRIVER} ne 'POSTSCRIPT' && $db_entry{GSDRIVER} ne 'ppa',
-{ label => _("Print text as PostScript?"), val => \$printer->{ASCII_TO_PS}, type => 'bool' },
- ), if_($db_entry{GSDRIVER} ne 'POSTSCRIPT',
-{ label => _("Fix stair-stepping text?"), val => \$printer->{CRLF}, type => 'bool' },
- ), if_($db_entry{GSDRIVER} ne 'TEXT',
-{ label => _("Number of pages per output pages"), val => \$printer->{NUP}, type => 'list', not_edit => !$::expert, list => [1,2,4,8] },
-{ label => _("Right/Left margins in points (1/72 of inch)"), val => \$printer->{RTLFTMAR} },
-{ label => _("Top/Bottom margins in points (1/72 of inch)"), val => \$printer->{TOPBOTMAR} },
- ), if_($::expert && $db_entry{GSDRIVER} ne 'TEXT' && $db_entry{GSDRIVER} ne 'POSTSCRIPT',
-{ label => _("Extra GhostScript options"), val => \$printer->{EXTRA_GS_OPTIONS} },
- ), if_($::expert && $db_entry{GSDRIVER} ne 'POSTSCRIPT',
-{ label => _("Extra Text options"), val => \$printer->{TEXTONLYOPTIONS} },
- ),
-#+ { label => _("Reverse page order"), val => \$printer->{REVERSE_ORDER}, type => 'bool' },
-]);
-
- $printer->{BITSPERPIXEL} = $col_to_depth{$printer->{BITSPERPIXEL}} || $printer->{BITSPERPIXEL}; #- translate back.
-
- $printer->{complete} = 1;
- printer::copy_printer_params($printer, $printer->{configured}{$printer->{QUEUE}} ||= {});
- printer::configure_queue($printer);
- $printer->{complete} = 0;
-
- $action = $in->ask_from_listf('', _("Do you want to test printing?"), sub { $action{$_[0]} }, \@action, 'done') or return;
-
- my @testpages;
- push @testpages, "/usr/lib/rhs/rhs-printfilters/testpage.asc"
- if $action eq "ascii" || $action eq "both";
- push @testpages, "/usr/lib/rhs/rhs-printfilters/testpage". ($printer->{PAPERSIZE} eq 'a4' && '-a4') .".ps"
- if $action eq "ps" || $action eq "both";
-
- if (@testpages) {
- my @lpq_output;
- {
- my $w = $in->wait_message('', _("Printing test page(s)..."));
-
- $upNetwork and do { &$upNetwork(); undef $upNetwork; sleep(1) };
- printer::restart_queue($printer);
- @lpq_output = printer::print_pages($printer, @testpages);
- }
-
- if (@lpq_output) {
- $action = $in->ask_yesorno('', _("Test page(s) have been sent to the printer daemon.
-This may take a little time before printer start.
-Printing status:\n%s\n\nDoes it work properly?", "@lpq_output"), 1) ? 'done' : 'change';
- } else {
- $action = $in->ask_yesorno('', _("Test page(s) have been sent to the printer daemon.
-This may take a little time before printer start.
-Does it work properly?"), 1) ? 'done' : 'change';
- }
- }
- } while ($action ne 'done');
- $printer->{complete} = 1;
-}
-
-#- Program entry point for configuration with lpr or cups (stored in $mode).
-sub main($$$$;$) {
- my ($printer, $in, $ask_multiple_printer, $install, $upNetwork) = @_;
- my ($queue, $continue) = ('', 1);
-
- while ($continue) {
- if (!$ask_multiple_printer && %{$printer->{configured} || {}} == ()) {
- $queue = $printer->{want} || $in->ask_yesorno(_("Printer"),
- _("Would you like to configure a printer?"), 0) ? 'lp' : 'Done';
- } else {
- unless (%{$printer->{configured} || {}} == ()) {
- $in->ask_from_entries_refH_powered(
- {
- messages =>
-_("Here are the following print queues.
-You can add some more or change the existing ones."),
- cancel => '',
- }, [ { val => \$queue, format => \&translate,
- list => [ (sort keys %{$printer->{configured} || {}}),
- __("Add"), __("Done") ] } ]
- );
- } else { $queue = 'Add' } #- as there are no printer already configured, Add one automatically.
- if ($queue eq 'Add') {
- my %queues; @queues{map { split '\|', $_ } keys %{$printer->{configured}}} = ();
- my $i = ''; while ($i < 100) { last unless exists $queues{"lp$i"}; ++$i; }
- $queue = "lp$i";
- }
- }
- $queue eq 'Done' and last;
-
- #- switch according to what is being installed: cups, lpr or other.
- for ($printer->{mode}) {
- /CUPS/ && do { &$install('cups-drivers') unless $::testing;
- my $w = $in->wait_message(_("CUPS starting"), _("Reading CUPS drivers database..."));
- printer::poll_ppd_base(); last };
- /lpr/ && do { &$install('rhs-printfilters') unless $::testing;
- printer::read_printer_db(); last };
- }
-
- printer::copy_printer_params($printer->{configured}{$queue}, $printer) if $printer->{configured}{$queue};
- $printer->{OLD_QUEUE} = $printer->{QUEUE} = $queue; #- keep in mind old name of queue (in case of changing)
-
- while ($continue) {
- $in->set_help('configurePrinterConnected') if $::isInstall;
- $printer::printer_type_inv{$printer->{TYPE}} or $printer->{TYPE} = printer::default_printer_type($printer);
- $printer->{str_type} = $printer::printer_type_inv{$printer->{TYPE}};
- if ($printer->{mode} eq 'CUPS') {
- $printer->{str_type} = $in->ask_from_list_(_("Select Printer Connection"),
- _("How is the printer connected?"),
- [ printer::printer_type($printer) ],
- $printer->{str_type},
- ) or return;
- $printer->{TYPE} = $printer::printer_type{$printer->{str_type}};
- if ($printer->{TYPE} eq 'REMOTE') {
- $printer->{str_type} = $printer::printer_type_inv{CUPS};
- $printer->{str_type} = $in->ask_from_list_(_("Select Remote Printer Connection"),
-_("With a remote CUPS server, you do not have to configure
-any printer here; printers will be automatically detected.
-In case of doubt, select \"Remote CUPS server\"."),
- [ @printer::printer_type_inv{qw(CUPS LPD SOCKET)} ],
- $printer->{str_type},
- ) or return;
- $printer->{TYPE} = $printer::printer_type{$printer->{str_type}};
- }
- if ($printer->{TYPE} eq 'CUPS') {
- #- hack to handle cups remote server printing,
- #- first read /etc/cups/cupsd.conf for variable BrowsePoll address:port
- my @cupsd_conf = printer::read_cupsd_conf();
- my ($server, $port);
-
- foreach (@cupsd_conf) {
- /^\s*BrowsePoll\s+(\S+)/ and $server = $1, last;
- }
- $server =~ /([^:]*):(.*)/ and ($server, $port) = ($1, $2);
-
- #- then ask user for this combination
- #- and rewrite /etc/cups/cupsd.conf according to new settings.
- #- there are no other point where such information is written in this file.
- if ($in->ask_from_entries_refH(_("Remote CUPS server"),
-_("With a remote CUPS server, you do not have to configure
-any printer here; printers will be automatically detected
-unless you have a server on a different network; in the
-latter case, you have to give the CUPS server IP address
-and optionally the port number."), [
-{ label => _("CUPS server IP"), val => \$server },
-{ label => _("Port"), val => \$port } ],
- complete => sub {
- unless (!$server || network::is_ip($server)) {
- $in->ask_warn('', _("IP address should be in format 1.2.3.4"));
- return (1,0);
- }
- if ($port !~ /^\d*$/) {
- $in->ask_warn('', _("Port number should be numeric"));
- return (1,1);
- }
- return 0;
- },
- )) {
- $server && $port and $server = "$server:$port";
- if ($server) {
- @cupsd_conf = map { $server and s/^\s*BrowsePoll\s+(\S+)/BrowsePoll $server/ and $server = '';
- $_ } @cupsd_conf;
- $server and push @cupsd_conf, "\nBrowsePoll $server\n";
- } else {
- @cupsd_conf = map { s/^\s*BrowsePoll\s+(\S+)/\#BrowsePoll $1/;
- $_ } @cupsd_conf;
- }
- printer::write_cupsd_conf(@cupsd_conf);
- }
- return; #- exit printer configuration, here is another hack for simplification.
- }
- $in->set_help('configurePrinterLocal') if $::isInstall;
- $in->ask_from_entries_refH_powered(
- { title => _("Select Printer Connection"),
- cancel => !$printer->{configured}{$printer->{QUEUE}} ? '' : _("Remove queue"),
- callbacks => { complete => sub {
- unless ($printer->{QUEUE} =~ /^\w+[\w\|]*\w+$/) {
- $in->ask_warn('', _("Name of printer should contains only letters, numbers and the underscore"));
- return (1,0);
- }
- return 0;
- },
- },
- messages =>
-_("Every printer need a name (for example lp).
-Other parameters such as the description of the printer or its location
-can be defined. What name should be used for this printer and
-how is the printer connected?") }, [
-{ label => _("Name of printer"), val => \$printer->{QUEUE} },
-{ label => _("Description"), val => \$printer->{Info} },
-{ label => _("Location"), val => \$printer->{Location} },
- ]) or printer::remove_queue($printer), $continue = 1, last;
- } else {
- if (!$::expert) {
- $printer->{str_type} = $in->ask_from_list_(_("Select Printer Connection"),
- _("How is the printer connected?"),
- [ printer::printer_type($printer) ],
- $printer->{str_type},
- ) or return;
- } else {
- $in->set_help('configurePrinterLPR') if $::isInstall;
- $in->ask_from_entries_refH_powered(
- { title => _("Select Printer Connection"),
- cancel => $::expert ? _("Remove queue") : '',
- messages =>
-_("Every print queue (which print jobs are directed to) needs a
-name (often lp) and a spool directory associated with it. What
-name and directory should be used for this queue and how is the printer connected?"),
- callbacks => { changed => sub {
- $printer->{SPOOLDIR} = printer::default_spooldir($printer) unless $_[0];
- } }
- }, [
-{ label => _("Name of queue"), val => \$printer->{QUEUE} },
-{ label => _("Spool directory"), val => \$printer->{SPOOLDIR} },
-{ label => _("Printer Connection"), val => \$printer->{str_type}, list => [ printer::printer_type($printer) ] },
-]) or printer::remove_queue($printer), $continue = 1, last;
- }
- $printer->{TYPE} = $printer::printer_type{$printer->{str_type}};
- }
-
- $continue = 0;
- for ($printer->{TYPE}) {
- /LOCAL/ and setup_local ($printer, $in, $install) and last;
- /LPD/ and setup_remote ($printer, $in, $install) and last;
- /SOCKET/ and setup_socket ($printer, $in, $install) and last;
- /SMB/ and setup_smb ($printer, $in, $install) and last;
- /NCP/ and setup_ncp ($printer, $in, $install) and last;
- /URI/ and setup_uri ($printer, $in, $install) and last;
- $continue = 1; last;
- }
- }
-
- #- configure specific part according to lpr/cups.
- if (!$continue && setup_gsdriver($printer, $in, $install, $printer->{TYPE} !~ /LOCAL/ && $upNetwork)) {
- delete $printer->{OLD_QUEUE}
- if $printer->{QUEUE} ne $printer->{OLD_QUEUE} && $printer->{configured}{$printer->{QUEUE}};
- $continue = $::expert;
- } else {
- $continue = 1;
- }
- }
-}
-
diff --git a/perl-install/raid.pm b/perl-install/raid.pm
deleted file mode 100644
index 1f2275706..000000000
--- a/perl-install/raid.pm
+++ /dev/null
@@ -1,160 +0,0 @@
-package raid; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :functional);
-use partition_table qw(:types);
-use run_program;
-use devices;
-use commands;
-use modules;
-use fs;
-
-sub nb($) {
- my ($nb) = @_;
- first((ref $nb ? $nb->{device} : $nb) =~ /(\d+)/);
-}
-
-sub new($$) {
- my ($raid, $part) = @_;
- my $nb = @$raid;
- $raid->[$nb] = { 'chunk-size' => "64k", type => 0x83, disks => [ $part ], device => "md$nb", notFormatted => 1 };
- $part->{raid} = $nb;
- delete $part->{mntpoint};
- $nb;
-}
-
-sub add($$$) {
- my ($raid, $part, $nb) = @_; $nb = nb($nb);
- $raid->[$nb]{isMounted} and die _("Can't add a partition to _formatted_ RAID md%d", $nb);
- $part->{raid} = $nb;
- delete $part->{mntpoint};
- push @{$raid->[$nb]{disks}}, $part;
-}
-
-sub delete($$) {
- my ($raid, $nb) = @_;
- $nb = nb($nb);
-
- delete $_->{raid} foreach @{$raid->[$nb]{disks}};
- undef $raid->[$nb];
-}
-
-sub changeNb($$$) {
- my ($raid, $oldnb, $newnb) = @_;
- if ($oldnb != $newnb) {
- ($raid->[$newnb], $raid->[$oldnb]) = ($raid->[$oldnb], undef);
- $raid->[$newnb]{device} = "md$newnb";
- $_->{raid} = $newnb foreach @{$raid->[$newnb]{disks}};
- }
- $newnb;
-}
-
-sub removeDisk($$) {
- my ($raid, $part) = @_;
- my $nb = nb($part->{raid});
- run_program::run("raidstop", devices::make($part->{device}));
- delete $part->{raid};
- @{$raid->[$nb]{disks}} = grep { $_ != $part } @{$raid->[$nb]{disks}};
- update($raid->[$nb]);
-}
-
-sub updateSize($) {
- my ($part) = @_;
- local $_ = $part->{level};
- my @l = map { $_->{size} } @{$part->{disks}};
-
- $part->{size} = do {
- if (/0|linear/) { sum @l }
- elsif (/1/ ) { min @l }
- elsif (/4|5/) { min(@l) * $#l }
- };
-}
-
-sub module($) {
- my ($part) = @_;
- my $mod = $part->{level};
-
- $mod = 5 if $mod eq "4";
- $mod = "raid$mod" if $mod =~ /^\d+$/;
- $mod;
-}
-
-sub updateIsFormatted($) {
- my ($part) = @_;
- $part->{isFormatted} = and_ map { $_->{isFormatted} } @{$part->{disks}};
- $part->{notFormatted} = and_ map { $_->{notFormatted} } @{$part->{disks}};
-}
-sub update {
- foreach (@_) {
- updateSize($_);
- updateIsFormatted($_);
- }
-}
-
-sub write($) {
- my ($raid, $file) = @_;
- local *F;
- local $\ = "\n";
- open F, ">$file" or die _("Can't write file $file");
-
- foreach (grep {$_} @$raid) {
- print F <<"EOF";
-raiddev /dev/$_->{device}
-raid-level $_->{level}
-chunk-size $_->{'chunk-size'}
-persistent-superblock 1
-EOF
- print F "nr-raid-disks ", int @{$_->{disks}};
- map_index {
- print F " device ", devices::make($_->{device});
- print F " raid-disk $::i";
- } @{$_->{disks}};
- }
-}
-
-sub make {
- my ($raid, $part) = @_;
- isMDRAID($_) and make($raid, $_) foreach @{$part->{disks}};
- my $dev = devices::make($part->{device});
- eval { modules::load(module($part)) };
- run_program::run("raidstop", $dev);
- &write($raid, "/etc/raidtab");
- run_program::run("mkraid", "--really-force", $dev) or die
- $::isStandalone ? _("mkraid failed (maybe raidtools are missing?)") : _("mkraid failed");
-}
-
-sub format_part($$) {
- my ($raid, $part) = @_;
- $part->{isFormatted} and return;
-
- make($raid->{raid}, $part);
- fs::real_format_part($part);
- $_->{isFormatted} = 1 foreach @{$part->{disks}};
-}
-
-sub verify($) {
- my ($raid) = @_;
- $raid && $raid->{raid} or return;
- foreach (grep {$_} @{$raid->{raid}}) {
- @{$_->{disks}} >= ($_->{level} =~ /4|5/ ? 3 : 2) or die _("Not enough partitions for RAID level %d\n", $_->{level});
- }
-}
-
-sub prepare_prefixed($$) {
- my ($raid, $prefix) = @_;
- $raid && $raid->{raid} or return;
-
- eval { commands::cp("-f", "/etc/raidtab", "$prefix/etc/raidtab") };
- foreach (@{$raid->{raid}}) {
- devices::make("$prefix/dev/$_->{device}") foreach @{$_->{disks}};
- }
-}
-
-sub stopAll() { run_program::run("raidstop", devices::make("md$_")) foreach 0..7 }
-
-1;
diff --git a/perl-install/resize_fat/.cvsignore b/perl-install/resize_fat/.cvsignore
deleted file mode 100644
index 3001c7424..000000000
--- a/perl-install/resize_fat/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-blib
-pm_to_blib
-Makefile_c
-c_rewritten.c
-c_rewritten.bs
diff --git a/perl-install/resize_fat/Makefile b/perl-install/resize_fat/Makefile
deleted file mode 100644
index a82ca8441..000000000
--- a/perl-install/resize_fat/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-.PHONY: clean
-
-c_rewritten: %: %.xs
- test -e Makefile_c || perl Makefile.PL
- $(MAKE) -f Makefile_c LD_RUN_PATH=
- rm -f ../auto/resize_fat ; ln -s ../resize_fat/blib/arch/auto ../auto/resize_fat
-
-clean:
- test ! -e Makefile_c || $(MAKE) -f Makefile_c clean
- rm -f *~ *.o
diff --git a/perl-install/resize_fat/Makefile.PL b/perl-install/resize_fat/Makefile.PL
deleted file mode 100644
index 712f4e395..000000000
--- a/perl-install/resize_fat/Makefile.PL
+++ /dev/null
@@ -1,13 +0,0 @@
-use ExtUtils::MakeMaker;
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-
-WriteMakefile(
- 'MAKEFILE' => 'Makefile_c',
- 'NAME' => 'c_rewritten',
- 'OPTIMIZE' => '-Os',
- 'VERSION_FROM' => 'c_rewritten.pm', # finds $VERSION
- 'LIBS' => '', # e.g., '-lm'
- 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
- 'INC' => '', # e.g., '-I/usr/include/other'
-);
diff --git a/perl-install/resize_fat/README b/perl-install/resize_fat/README
deleted file mode 100644
index 1c4798c82..000000000
--- a/perl-install/resize_fat/README
+++ /dev/null
@@ -1,8 +0,0 @@
-TODO:
-
-resize_fat::fat::update($fs) should be called before doing undoable things
-(before the sync in construct_dir_tree)
-
-BUGS:
-no known bugs :)
-if you found one, please mail pixel@linux-mandrake.com !!
diff --git a/perl-install/resize_fat/any.pm b/perl-install/resize_fat/any.pm
deleted file mode 100644
index 3844e1c16..000000000
--- a/perl-install/resize_fat/any.pm
+++ /dev/null
@@ -1,123 +0,0 @@
-package resize_fat::any; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw($FREE $FILE $DIRECTORY $UNMOVEABLE);
-
-use common qw(:common :constant);
-use resize_fat::fat;
-use resize_fat::directory;
-use resize_fat::dir_entry;
-use resize_fat::c_rewritten;
-
-
-$FREE = 0;
-$FILE = 1;
-$DIRECTORY = 2;
-$UNMOVEABLE = 8;
-
-
-1;
-
-
-#- returns the number of clusters for a given filesystem type
-sub min_cluster_count($) {
- my ($fs) = @_;
- (1 << $ {{ FAT16 => 12, FAT32 => 12 }}{$fs->{fs_type}}) - 12;
-}
-sub max_cluster_count($) {
- my ($fs) = @_;
- (1 << $ {{ FAT16 => 16, FAT32 => 28 }}{$fs->{fs_type}}) - 11;
-}
-
-
-
-#- patch to get the function last_used that return the last used cluster of a fs.
-sub last_used($) {
- my ($fs) = @_;
-
- #- count in negative so absolute value count back to 2.
- foreach (-($fs->{nb_clusters}+1)..-2) { return -$_ if resize_fat::c_rewritten::flag(-$_) }
- die "any: empty FAT table of $fs->{nb_clusters} clusters";
-}
-#- patch to get the function last_unmoveable that return the last unmoveable cluster of a fs.
-sub last_unmoveable($) {
- my ($fs) = @_;
-
- #- count in negative so absolute value count back to 2.
- foreach (-($fs->{nb_clusters}+1)..-2) { return -$_ if 0x8 & resize_fat::c_rewritten::flag(-$_) }
-
- #- Oh at this point there are no unmoveable blocks!
- 2;
-}
-
-#- calculates the minimum size of a partition, in physical sectors
-sub min_size($) {
- my ($fs) = @_;
- my $count = $fs->{clusters}{count};
-
- #- directories are both in `used' and `dirs', so are counted twice
- #- It's done on purpose since we're moving all directories. So at the worse
- #- moment, 2 directories are there, but that way nothing wrong can happen :)
- my $min_cluster_count = max(2 + $count->{used} + $count->{bad} + $count->{dirs}, min_cluster_count($fs));
- $min_cluster_count = max($min_cluster_count, last_unmoveable($fs));
-
- my $size = $min_cluster_count * divide($fs->{cluster_size}, $SECTORSIZE) +
- divide($fs->{cluster_offset}, $SECTORSIZE) +
- 64*1024*1024 / $SECTORSIZE; #- help with such more sectors (ie 64Mb).
-
- #- help zindozs again with 512Mb+ at least else partition is ignored.
- if ($resize_fat::isFAT32) {
- $size = max($size, 524*1024*1024 / $SECTORSIZE);
- }
- $size;
-
-}
-#- calculates the maximum size of a partition, in physical sectors
-sub max_size($) {
- my ($fs) = @_;
-
- my $max_cluster_count = min($fs->{nb_fat_entries} - 2, max_cluster_count($fs));
-
- $max_cluster_count * divide($fs->{cluster_size}, $SECTORSIZE) +
- divide($fs->{cluster_offset}, $SECTORSIZE);
-}
-#- calculates used size in order to avoid modifying anything.
-sub used_size($) {
- my ($fs) = @_;
-
- my $used_cluster_count = max(last_used($fs), min_cluster_count($fs));
-
- $used_cluster_count * divide($fs->{cluster_size}, $SECTORSIZE) +
- divide($fs->{cluster_offset}, $SECTORSIZE);
-}
-
-#- fills in fat_flag_map in c_rewritten.
-#- Each FAT entry is flagged as either FREE, FILE or DIRECTORY.
-sub flag_clusters {
- my ($fs) = @_;
- my ($cluster, $curr_dir_name, $entry, $type, $nb_dirs);
-
- my $f = sub {
- ($curr_dir_name, $entry) = @_;
- $cluster = resize_fat::dir_entry::get_cluster($entry);
-
- if (resize_fat::dir_entry::is_file($entry)) {
- $type = $FILE;
- $type |= $UNMOVEABLE if resize_fat::dir_entry::is_unmoveable($entry);
- } elsif (resize_fat::dir_entry::is_directory($entry)) {
- $type = $DIRECTORY;
- } else { return }
-
- my $nb = resize_fat::c_rewritten::checkFat($cluster, $type, "$curr_dir_name/$entry->{name}");
- print "resize_fat:flag_clusters: check fat returned $nb of type $type for $curr_dir_name/$entry->{name}\n";
- $nb_dirs += $nb if $type == $DIRECTORY;
- 0;
- };
-
- #- this must call allocate_fat_flag that zeroes the buffer allocated.
- resize_fat::c_rewritten::allocate_fat_flag($fs->{nb_clusters} + 2);
-
- resize_fat::directory::traverse_all($fs, $f);
- $fs->{clusters}{count}{dirs} = $nb_dirs;
-}
diff --git a/perl-install/resize_fat/boot_sector.pm b/perl-install/resize_fat/boot_sector.pm
deleted file mode 100644
index 4ed4a73f7..000000000
--- a/perl-install/resize_fat/boot_sector.pm
+++ /dev/null
@@ -1,110 +0,0 @@
-package resize_fat::boot_sector; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:common :system :constant :functional);
-use resize_fat::io;
-use resize_fat::any;
-use resize_fat::directory;
-
-
-#- Oops, this will be unresizable on big-endian machine. trapped by signature.
-my $format = "a3 a8 S C S C S S C S S S I I I S S I S S a458 S";
-my @fields = (
- 'boot_jump', #- boot strap short or near jump
- 'system_id', #- Name - can be used to special case partition manager volumes
- 'sector_size', #- bytes per logical sector
- 'cluster_size_in_sectors', #- sectors/cluster
- 'nb_reserved', #- reserved sectors
- 'nb_fats', #- number of FATs
- 'nb_root_dir_entries', #- number of root directory entries
- 'small_nb_sectors', #- number of sectors: big_nb_sectors supersedes
- 'media', #- media code
- 'fat16_fat_length', #- sectors/FAT for FAT12/16
- 'sectors_per_track',
- 'nb_heads',
- 'nb_hidden', #- (unused)
- 'big_nb_sectors', #- number of sectors (if small_nb_sectors == 0)
-
-#- FAT32-only entries
- 'fat32_fat_length', #- size of FAT in sectors
- 'fat32_flags', #- bit8: fat mirroring,
- #- low4: active fat
- 'fat32_version', #- minor * 256 + major
- 'fat32_root_dir_cluster',
- 'info_offset_in_sectors',
- 'fat32_backup_sector',
-
-#- Common again...
- 'boot_code', #- Boot code (or message)
- 'boot_sign', #- 0xAA55
-);
-
-1;
-
-
-#- trimfs_init_boot_sector() - reads in the boot sector - gets important info out
-#- of boot sector, and puts in main structure - performs sanity checks - returns 1
-#- on success, 0 on failureparameters: filesystem an empty structure to fill.
-sub read($) {
- my ($fs) = @_;
-
- my $boot = eval { resize_fat::io::read($fs, 0, $SECTORSIZE) }; $@ and die "reading boot sector failed on device $fs->{fs_name}";
- @{$fs}{@fields} = unpack $format, $boot;
-
- $fs->{nb_sectors} = $fs->{small_nb_sectors} || $fs->{big_nb_sectors};
- $fs->{cluster_size} = $fs->{cluster_size_in_sectors} * $fs->{sector_size};
-
- $fs->{boot_sign} == 0xAA55 or die "Invalid signature for a MS-based filesystem.\n";
- $fs->{nb_sectors} < 32 and die "Too few sectors for viable file system\n";
- $fs->{nb_fats} == 2 or cdie "Weird number of FATs: $fs->{nb_fats}, not 2.\n";
- $fs->{sector_size} == 512 or cdie "Strange sector_size != 512\n";
-
- if ($fs->{fat16_fat_length}) {
- #- asserting FAT16, will be verified later on
- $resize_fat::isFAT32 = 0;
- $fs->{fs_type} = 'FAT16';
- $fs->{fs_type_size} = 16;
- $fs->{fat_length} = $fs->{fat16_fat_length};
- $resize_fat::bad_cluster_value = 0xfff7; #- 2**16 - 1
- } else {
- $resize_fat::isFAT32 = 1;
- $fs->{fs_type} = 'FAT32';
- $fs->{fs_type_size} = 32;
- $fs->{fat_length} = $fs->{fat32_fat_length};
-
- $fs->{nb_root_dir_entries} = 0;
- $fs->{info_offset} = $fs->{info_offset_in_sectors} * $fs->{sector_size};
- $resize_fat::bad_cluster_value = 0x0ffffff7;
- }
-
- $fs->{fat_offset} = $fs->{nb_reserved} * $fs->{sector_size};
- $fs->{fat_size} = $fs->{fat_length} * $fs->{sector_size};
- $fs->{root_dir_offset} = $fs->{fat_offset} + $fs->{fat_size} * $fs->{nb_fats};
- $fs->{root_dir_size} = $fs->{nb_root_dir_entries} * resize_fat::directory::entry_size();
- $fs->{cluster_offset} = $fs->{root_dir_offset} + $fs->{root_dir_size} - 2 * $fs->{cluster_size};
-
- $fs->{nb_fat_entries} = divide($fs->{fat_size}, $fs->{fs_type_size} / 8);
-
- #- - 2 because clusters 0 & 1 doesn't exist
- $fs->{nb_clusters} = divide($fs->{nb_sectors} * $fs->{sector_size} - $fs->{cluster_offset}, $fs->{cluster_size}) - 2;
-
- $fs->{dir_entries_per_cluster} = divide($fs->{cluster_size}, psizeof($format));
-
-#- $fs->{nb_clusters} >= resize_fat::any::min_cluster_count($fs) or die "error: not enough sectors for a $fs->{fs_type}\n";
- $fs->{nb_clusters} < resize_fat::any::max_cluster_count($fs) or die "error: too many sectors for a $fs->{fs_type}\n";
-}
-
-sub write($) {
- my ($fs) = @_;
- my $boot = pack($format, @{$fs}{@fields});
-
- eval { resize_fat::io::write($fs, 0, $SECTORSIZE, $boot) }; $@ and die "writing the boot sector failed on device $fs->{fs_name}";
-
- if ($resize_fat::isFAT32) {
- #- write backup
- eval { resize_fat::io::write($fs, $fs->{fat32_backup_sector} * $SECTORSIZE, $SECTORSIZE, $boot) };
- $@ and die "writing the backup boot sector (#$fs->{fat32_backup_sector}) failed on device $fs->{fs_name}";
- }
-}
diff --git a/perl-install/resize_fat/c_rewritten.pm b/perl-install/resize_fat/c_rewritten.pm
deleted file mode 100644
index d74ecb5d3..000000000
--- a/perl-install/resize_fat/c_rewritten.pm
+++ /dev/null
@@ -1,14 +0,0 @@
-package resize_fat::c_rewritten; # $Id$
-
-use strict;
-use vars qw($VERSION @ISA);
-
-require DynaLoader;
-
-@ISA = qw(DynaLoader);
-$VERSION = '0.01';
-
-bootstrap resize_fat::c_rewritten $VERSION;
-
-1;
-
diff --git a/perl-install/resize_fat/c_rewritten.xs b/perl-install/resize_fat/c_rewritten.xs
deleted file mode 100644
index 92361097d..000000000
--- a/perl-install/resize_fat/c_rewritten.xs
+++ /dev/null
@@ -1,259 +0,0 @@
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-/* set by scan_fat, used by next */
-short *fat = NULL;
-char *fat_flag_map = NULL;
-unsigned int *fat_remap = NULL;
-int fat_remap_size;
-int type_size, nb_clusters, bad_cluster_value;
-
-void free_all() {
-#define FREE(p) if (p) free(p), p = NULL;
- FREE(fat);
- FREE(fat_flag_map);
- FREE(fat_remap);
-#undef FREE
-}
-
-unsigned int next(unsigned int cluster) {
- short *p = fat + type_size * cluster;
- if (!fat) {
- free_all();
- croak("fat::next: trying to use null pointer");
- }
- if (cluster >= nb_clusters + 2) {
- free_all();
- croak("fat::next: cluster %d outside filesystem", cluster);
- }
- return type_size == 1 ? *p : *((unsigned int *) p);
-}
-
-void set_next(unsigned int cluster, unsigned int val) {
- short *p = fat + type_size * cluster;
- if (!fat) {
- free_all();
- croak("fat::set_next: trying to use null pointer");
- }
- if (cluster >= nb_clusters + 2) {
- free_all();
- croak("fat::set_next: cluster %d outside filesystem", cluster);
- }
- type_size == 1 ? *p : *((unsigned int *) p) = val;
-}
-
-MODULE = resize_fat::c_rewritten PACKAGE = resize_fat::c_rewritten
-
-void
-read_fat(fd, offset, size, magic)
- int fd
- int offset
- int size
- unsigned char magic
- PPCODE:
-{
- fat = (short *) malloc(size);
- if (!fat) {
- free_all();
- croak("read_fat: not enough memory");
- }
- if (lseek(fd, offset, SEEK_SET) != offset ||
- read(fd, fat, size) != size) {
- free_all();
- croak("read_fat: reading FAT failed");
- }
- if (magic != *(unsigned char *) fat) {
- free_all();
- croak("read_fat: FAT has invalid signature");
- }
-}
-
-void
-write_fat(fd, size)
- int fd
- int size
- PPCODE:
-{
- if (write(fd, fat, size) != size) {
- free_all();
- croak("write_fat: write failed");
- }
-}
-
-void
-free_all()
- PPCODE:
- free_all();
-
-void
-scan_fat(nb_clusters_, type_size_)
- int nb_clusters_
- int type_size_
- PPCODE:
-{
- unsigned int v;
- int free = 0, bad = 0, used = 0;
- short *p;
-
- type_size = type_size_; nb_clusters = nb_clusters_;
- bad_cluster_value = type_size == 32 ? 0x0ffffff7 : 0xfff7;
-
- if (type_size % 16) {
- free_all();
- croak("scan_fat: unable to handle FAT%d", type_size);
- }
- type_size /= 16;
-
- for (p = fat + 2 * type_size; p < fat + type_size * (nb_clusters + 2); p += type_size) {
- v = type_size == 1 ? *p : *((unsigned int *) p);
-
- if (v == 0) free++;
- else if (v == bad_cluster_value) bad++;
- }
- used = nb_clusters - free - bad;
- EXTEND(SP, 3);
- PUSHs(sv_2mortal(newSViv(free)));
- PUSHs(sv_2mortal(newSViv(bad)));
- PUSHs(sv_2mortal(newSViv(used)));
-}
-
-unsigned int
-next(unused, cluster)
- void *unused
- unsigned int cluster
- CODE:
- RETVAL = next(cluster);
- OUTPUT:
- RETVAL
-
-void
-set_next(unused, cluster, val)
- void *unused
- unsigned int cluster
- unsigned int val
- CODE:
- set_next(cluster, val);
-
-void
-allocate_fat_flag(size)
- int size
- CODE:
- fat_flag_map = calloc(size, 1);
- if (!fat_flag_map) {
- free_all();
- croak("allocate_fat_flag: not enough memory");
- }
-
-int
-checkFat(cluster, type, name)
- unsigned int cluster
- int type
- char *name
- CODE:
- int nb = 0;
-
- if (!fat_flag_map) {
- free_all();
- croak("Bad FAT: trying to use null pointer");
- }
- for (; cluster < bad_cluster_value; cluster = next(cluster)) {
- if (cluster == 0) {
- free_all();
- croak("Bad FAT: unterminated chain for %s\n", name);
- }
- if (cluster >= nb_clusters + 2) {
- free_all();
- croak("Bad FAT: chain outside filesystem for %s\n", name);
- }
- if (fat_flag_map[cluster]) {
- free_all();
- croak("Bad FAT: cluster %d is cross-linked for %s\n", cluster, name);
- }
- fat_flag_map[cluster] = type;
- nb++;
- }
- RETVAL = nb;
- OUTPUT:
- RETVAL
-
-unsigned int
-flag(cluster)
- unsigned int cluster
- CODE:
- if (!fat_flag_map) {
- free_all();
- croak("Bad FAT: trying to use null pointer");
- }
- if (cluster >= nb_clusters + 2) {
- free_all();
- croak("Bad FAT: going outside filesystem");
- }
- RETVAL = fat_flag_map[cluster];
- OUTPUT:
- RETVAL
-
-void
-set_flag(cluster, flag)
- unsigned int cluster
- int flag
- CODE:
- if (!fat_flag_map) {
- free_all();
- croak("Bad FAT: trying to use null pointer");
- }
- if (cluster >= nb_clusters + 2) {
- free_all();
- croak("Bad FAT: going outside filesystem");
- }
- fat_flag_map[cluster] = flag;
-
-void
-allocate_fat_remap(size)
- int size
- CODE:
- fat_remap_size = size;
- fat_remap = (unsigned int *) calloc(size, sizeof(unsigned int *));
- if (!fat_remap) {
- free_all();
- croak("allocate_fat_remap: not enough memory");
- }
-
-unsigned int
-fat_remap(cluster)
- unsigned int cluster
- CODE:
- if (!fat_remap) {
- free_all();
- croak("fat_remap: trying to use null pointer");
- }
- if (cluster >= bad_cluster_value) {
- RETVAL = cluster; /* special cases */
- } else {
- if (cluster >= fat_remap_size) {
- free_all();
- croak("fat_remap: cluster %d >= %d in fat_remap", cluster, fat_remap_size);
- }
- RETVAL = fat_remap[cluster];
- }
- OUTPUT:
- RETVAL
-
-void
-set_fat_remap(cluster, val)
- unsigned int cluster
- unsigned int val
- CODE:
- if (!fat_remap) {
- free_all();
- croak("set_fat_remap: trying to use null pointer");
- }
- if (cluster >= fat_remap_size) {
- free_all();
- croak("set_fat_remap: cluster %d >= %d in set_fat_remap", cluster, fat_remap_size);
- }
- if (val < bad_cluster_value && val >= fat_remap_size) {
- free_all();
- croak("set_fat_remap: remapping cluster %d to cluster %d >= %d in set_fat_remap", cluster, val, fat_remap_size);
- }
- fat_remap[cluster] = val;
diff --git a/perl-install/resize_fat/dir_entry.pm b/perl-install/resize_fat/dir_entry.pm
deleted file mode 100644
index b39c72094..000000000
--- a/perl-install/resize_fat/dir_entry.pm
+++ /dev/null
@@ -1,77 +0,0 @@
-package resize_fat::dir_entry; # $Id$
-
-use diagnostics;
-use strict;
-
-
-my $DELETED_FLAG = 0xe5;
-
-my $READ_ONLY_ATTR = 0x01;
-my $HIDDEN_ATTR = 0x02;
-my $SYSTEM_ATTR = 0x04;
-my $VOLUME_LABEL_ATTR = 0x08;
-my $VFAT_ATTR = 0x0f;
-my $DIRECTORY_ATTR = 0x10;
-
-1;
-
-sub get_cluster($) {
- my ($entry) = @_;
- $entry->{first_cluster} + ($resize_fat::isFAT32 ? $entry->{first_cluster_high} * (1 << 16) : 0);
-}
-sub set_cluster($$) {
- my ($entry, $val) = @_;
- $entry->{first_cluster} = $val & (1 << 16) - 1;
- $entry->{first_cluster_high} = $val >> 16 if $resize_fat::isFAT32;
-}
-
-sub is_unmoveable($) {
- my ($entry) = @_;
- $entry->{attributes} & $HIDDEN_ATTR || $entry->{attributes} & $SYSTEM_ATTR;
-}
-
-sub is_directory($) {
- my ($entry) = @_;
- $entry->{attributes} & $DIRECTORY_ATTR && $entry->{name} !~ /^\.\.? / && !is_special_entry($entry);
-}
-
-sub is_volume($) {
- my ($entry) = @_;
- !is_special_entry($entry) && $entry->{attributes} & $VOLUME_LABEL_ATTR;
-}
-
-sub is_file($) {
- my ($entry) = @_;
- !is_special_entry($entry) && !is_directory($entry) && !is_volume($entry) && $entry->{length};
-}
-
-
-sub is_special_entry($) {
- my ($entry) = @_;
- my ($c) = unpack "C", $entry->{name};
-
- #- skip empty slots, deleted files, and 0xF6?? (taken from kernel)
- $c == 0 || $c == $DELETED_FLAG || $c == 0xF6 and return 1;
-
- $entry->{attributes} == $VFAT_ATTR and return 1;
- 0;
-}
-
-
-#- return true if entry has been modified
-#- curr_dir_name is added to contains current directory name, "" for root.
-sub remap {
- my ($curr_dir_name, $entry) = @_;
-
- is_special_entry($entry) and return;
-
- my $cluster = get_cluster($entry);
- my $new_cluster = resize_fat::c_rewritten::fat_remap($cluster);
-
- #-print "remapping cluster ", get_cluster($entry), " to $new_cluster";
-
- $new_cluster == $cluster and return; #- no need to modify
-
- set_cluster($entry, $new_cluster);
- 1;
-}
diff --git a/perl-install/resize_fat/directory.pm b/perl-install/resize_fat/directory.pm
deleted file mode 100644
index beb780bcf..000000000
--- a/perl-install/resize_fat/directory.pm
+++ /dev/null
@@ -1,79 +0,0 @@
-package resize_fat::directory; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:system);
-use resize_fat::dir_entry;
-use resize_fat::io;
-
-
-my $format = "a8 a3 C C C S7 I";
-my @fields = (
- 'name',
- 'extension',
- 'attributes',
- 'is_upper_case_name',
- 'creation_time_low', #- milliseconds
- 'creation_time_high',
- 'creation_date',
- 'access_date',
- 'first_cluster_high', #- for FAT32
- 'time',
- 'date',
- 'first_cluster',
- 'length',
-);
-my $psizeof_format = psizeof($format);
-
-1;
-
-sub entry_size { $psizeof_format }
-
-#- call `f' for each entry of the directory
-#- if f return true, then modification in the entry are taken back
-sub traverse($$$) {
- my ($directory, $curr_dir_name, $f) = @_;
-
- for (my $i = 0;; $i++) {
- my $raw = \substr($directory, $i * $psizeof_format, $psizeof_format);
-
- #- empty entry means end of directory
- $$raw =~ /^\0*$/ and return $directory;
-
- my $entry; @{$entry}{@fields} = unpack $format, $$raw;
-
- &$f($curr_dir_name, $entry)
- and $$raw = pack $format, @{$entry}{@fields};
- }
- $directory;
-}
-
-sub traverse_all($$) {
- my ($fs, $f) = @_;
-
- my $traverse_all; $traverse_all = sub {
- my ($curr_dir_name, $entry) = @_;
-
- &$f($curr_dir_name, $entry);
-
- resize_fat::dir_entry::is_directory($entry)
- and traverse(resize_fat::io::read_file($fs, resize_fat::dir_entry::get_cluster($entry)), "$curr_dir_name/$entry->{name}", $traverse_all);
-
- undef; #- no need to write back (cf traverse)
- };
-
- my $directory = $resize_fat::isFAT32 ?
- resize_fat::io::read_file($fs, $fs->{fat32_root_dir_cluster}) :
- resize_fat::io::read($fs, $fs->{root_dir_offset}, $fs->{root_dir_size});
- traverse($directory, "", $traverse_all);
- undef $traverse_all; #- circular reference is no good for perl's poor GC :(
-}
-
-
-#- function used by construct_dir_tree to translate the `cluster' fields in each
-#- directory entry
-sub remap($$) {
- my ($fs, $directory) = @_;
- traverse($directory, "", \&resize_fat::dir_entry::remap);
-}
diff --git a/perl-install/resize_fat/fat.pm b/perl-install/resize_fat/fat.pm
deleted file mode 100644
index 31643f0a3..000000000
--- a/perl-install/resize_fat/fat.pm
+++ /dev/null
@@ -1,138 +0,0 @@
-package resize_fat::fat; # $Id$
-
-use diagnostics;
-use strict;
-
-use resize_fat::any;
-use resize_fat::io;
-use resize_fat::c_rewritten;
-
-1;
-
-sub read($) {
- my ($fs) = @_;
-
- resize_fat::c_rewritten::read_fat(fileno $fs->{fd}, $fs->{fat_offset}, $fs->{fat_size}, $fs->{media});
-
- @{$fs->{clusters}{count}}{qw(free bad used)} =
- resize_fat::c_rewritten::scan_fat($fs->{nb_clusters}, $fs->{fs_type_size});
-}
-
-sub write($) {
- my ($fs) = @_;
-
- sysseek $fs->{fd}, $fs->{fat_offset}, 0 or die "write_fat: seek failed";
- foreach (1..$fs->{nb_fats}) {
- resize_fat::c_rewritten::write_fat(fileno $fs->{fd}, $fs->{fat_size});
- }
-}
-
-
-
-#- allocates where all the clusters will be moved to. Clusters before cut_point
-#- remain in the same position, however cluster that are part of a directory are
-#- moved regardless (this is a mechanism to prevent data loss) (cut_point is the
-#- first cluster that won't occur in the new fs)
-sub allocate_remap {
- my ($fs, $cut_point) = @_;
- my ($cluster, $new_cluster);
- my $remap = sub { resize_fat::c_rewritten::set_fat_remap($cluster, $new_cluster) };
- my $get_new = sub {
- $new_cluster = get_free($fs);
- 0 < $new_cluster && $new_cluster < $cut_point or die "no free clusters";
- set_eof($fs, $new_cluster); #- mark as used
- #-log::ld("resize_fat: [$cluster,", &next($fs, $cluster), "...]->$new_cluster...");
- };
-
- #- this must call allocate_fat_remap that zeroes the buffer allocated.
- resize_fat::c_rewritten::allocate_fat_remap($fs->{nb_clusters} + 2);
-
- $fs->{last_free_cluster} = 2;
- for ($cluster = 2; $cluster < $fs->{nb_clusters} + 2; $cluster++) {
- if ($cluster < $cut_point) {
- if (resize_fat::c_rewritten::flag($cluster) == $resize_fat::any::DIRECTORY) {
- &$get_new();
- } else {
- $new_cluster = $cluster;
- }
- &$remap();
- } elsif (!is_empty(&next($fs, $cluster))) {
- &$get_new();
- &$remap();
- }
- }
-}
-
-
-#- updates the fat for the resized filesystem
-sub update {
- my ($fs) = @_;
-
- for (my $cluster = 2; $cluster < $fs->{nb_clusters} + 2; $cluster++) {
- if (resize_fat::c_rewritten::flag($cluster)) {
- my $old_next = &next($fs, $cluster);
- my $new = resize_fat::c_rewritten::fat_remap($cluster);
- my $new_next = resize_fat::c_rewritten::fat_remap($old_next);
-
- set_available($fs, $cluster);
-
- is_eof($old_next) ?
- set_eof($fs, $new) :
- set_next ($fs, $new, $new_next);
- }
- }
-}
-
-
-sub endianness16($) { (($_[0] & 0xff) << 8) + ($_[0] >> 8); }
-sub endianness($$) {
- my ($val, $nb_bits) = @_;
- my $r = 0;
- for (; $nb_bits > 0; $nb_bits -= 8) {
- $r <<= 8;
- $r += $val & 0xff;
- $val >>= 8;
- }
- $nb_bits < 0 and die "error: endianness only handle numbers divisible by 8";
- $r;
-}
-
-*next = \&resize_fat::c_rewritten::next;
-*set_next = \&resize_fat::c_rewritten::set_next;
-
-
-
-sub get_free($) {
- my ($fs) = @_;
- foreach (my $i = 0; $i < $fs->{nb_clusters}; $i++) {
- my $cluster = ($i + $fs->{last_free_cluster} - 2) % $fs->{nb_clusters} + 2;
- is_available(&next($fs, $cluster)) and return $fs->{last_free_cluster} = $cluster;
- }
- die "no free clusters";
-}
-
-#- returns true if <cluster> represents an EOF marker
-sub is_eof($) {
- my ($cluster) = @_;
- $cluster >= $resize_fat::bad_cluster_value;
-}
-sub set_eof($$) {
- my ($fs, $cluster) = @_;
- set_next ($fs, $cluster, $resize_fat::bad_cluster_value + 1);
-}
-
-#- returns true if <cluster> is empty. Note that this includes bad clusters.
-sub is_empty($) {
- my ($cluster) = @_;
- $cluster == 0 || $cluster == $resize_fat::bad_cluster_value;
-}
-
-#- returns true if <cluster> is available.
-sub is_available($) {
- my ($cluster) = @_;
- $cluster == 0;
-}
-sub set_available($$) {
- my ($fs, $cluster) = @_;
- set_next ($fs, $cluster, 0);
-}
diff --git a/perl-install/resize_fat/info_sector.pm b/perl-install/resize_fat/info_sector.pm
deleted file mode 100644
index 1d9c1690a..000000000
--- a/perl-install/resize_fat/info_sector.pm
+++ /dev/null
@@ -1,37 +0,0 @@
-package resize_fat::info_sector; # $Id$
-
-use diagnostics;
-use strict;
-
-use common qw(:system);
-use resize_fat::io;
-
-#- Oops, this will be unresizable on big-endian machine. trapped by signature.
-my $format = "a484 I I I a16";
-my @fields = (
- 'unused',
- 'signature', #- should be 0x61417272
- 'free_clusters', #- -1 for unknown
- 'next_cluster', #- most recently allocated cluster
- 'unused2',
-);
-
-1;
-
-
-sub read($) {
- my ($fs) = @_;
- my $info = resize_fat::io::read($fs, $fs->{info_offset}, psizeof($format));
- @{$fs->{info_sector}}{@fields} = unpack $format, $info;
- $fs->{info_sector}{signature} == 0x61417272 or die "Invalid information sector signature\n";
-}
-
-sub write($) {
- my ($fs) = @_;
- $fs->{info_sector}{free_clusters} = $fs->{clusters}->{count}->{free};
- $fs->{info_sector}{next_cluster} = 2;
-
- my $info = pack $format, @{$fs->{info_sector}}{@fields};
-
- resize_fat::io::write($fs, $fs->{info_offset}, psizeof($format), $info);
-}
diff --git a/perl-install/resize_fat/io.pm b/perl-install/resize_fat/io.pm
deleted file mode 100644
index 7643a0953..000000000
--- a/perl-install/resize_fat/io.pm
+++ /dev/null
@@ -1,71 +0,0 @@
-package resize_fat::io; # $Id$
-
-use diagnostics;
-use strict;
-
-use resize_fat::fat;
-use c;
-
-1;
-
-
-sub read($$$) {
- my ($fs, $pos, $size) = @_;
- print "reading $size bytes at $pos\n";
- my $buf = "\0" x $size;
- sysseek $fs->{fd}, $pos, 0 or die "seeking to byte #$pos failed on device $fs->{fs_name}";
- sysread $fs->{fd}, $buf, $size or die "reading at byte #$pos failed on device $fs->{fs_name}";
- $buf;
-}
-sub write($$$$) {
- my ($fs, $pos, $size, $buf) = @_;
- sysseek $fs->{fd}, $pos, 0 or die "seeking to byte #$pos failed on device $fs->{fs_name}";
- syswrite $fs->{fd}, $buf or die "writing at byte #$pos failed on device $fs->{fs_name}";
-}
-
-sub read_cluster($$) {
- my ($fs, $cluster) = @_;
- my $buf;
- my $pos = $fs->{cluster_offset} / 512 + $cluster * ($fs->{cluster_size} / 512);
-
- c::lseek_sector(fileno $fs->{fd}, $pos, 0) or die "seeking to sector #$pos failed on device $fs->{fs_name}";
- sysread $fs->{fd}, $buf, $fs->{cluster_size} or die "reading at sector #$pos failed on device $fs->{fs_name}";
- $buf;
-}
-sub write_cluster($$$) {
- my ($fs, $cluster, $buf) = @_;
- my $pos = $fs->{cluster_offset} / 512 + $cluster * ($fs->{cluster_size} / 512);
-
- c::lseek_sector(fileno $fs->{fd}, $pos, 0) or die "seeking to sector #$pos failed on device $fs->{fs_name}";
- syswrite $fs->{fd}, $buf or die "writing at sector #$pos failed on device $fs->{fs_name}";
-}
-
-sub read_file($$) {
- my ($fs, $cluster) = @_;
- my $buf = '';
-
- for (; !resize_fat::fat::is_eof($cluster); $cluster = resize_fat::fat::next ($fs, $cluster)) {
- $cluster == 0 and die "Bad FAT: unterminated chain\n";
- $buf .= read_cluster($fs, $cluster);
- }
- $buf;
-}
-
-sub check_mounted($) {
- my ($f) = @_;
-
- local *F;
- open F, "/proc/mounts" or die "error opening /proc/mounts\n";
- foreach (<F>) {
- /^$f\s/ and die "device is mounted";
- }
-}
-
-sub open($) {
- my ($fs) = @_;
-
- check_mounted($fs->{device});
-
- sysopen F, $fs->{fs_name}, 2 or sysopen F, $fs->{fs_name}, 0 or die "error opening device $fs->{fs_name} for writing\n";
- $fs->{fd} = *F;
-}
diff --git a/perl-install/resize_fat/main.pm b/perl-install/resize_fat/main.pm
deleted file mode 100644
index dc1a65e65..000000000
--- a/perl-install/resize_fat/main.pm
+++ /dev/null
@@ -1,185 +0,0 @@
-#!/usr/bin/perl
-
-# DiskDrake
-# Copyright (C) 1999 MandrakeSoft (pixel@linux-mandrake.com)
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# This is mainly a perl rewrite of the work of Andrew Clausen (libresize)
-
-package resize_fat::main; # $Id$
-
-use diagnostics;
-use strict;
-
-use log;
-use common qw(:common :system :constant);
-use resize_fat::boot_sector;
-use resize_fat::info_sector;
-use resize_fat::directory;
-use resize_fat::io;
-use resize_fat::fat;
-use resize_fat::any;
-
-
-1;
-
-#- - reads in the boot sector/partition info., and tries to make some sense of it
-sub new($$$) {
- my ($type, $device, $fs_name) = @_;
- my $fs = { device => $device, fs_name => $fs_name } ;
-
- eval {
- resize_fat::io::open($fs);
- resize_fat::boot_sector::read($fs);
- $resize_fat::isFAT32 and eval { resize_fat::info_sector::read($fs) };
- resize_fat::fat::read($fs);
- resize_fat::any::flag_clusters($fs);
- };
- if ($@) {
- close $fs->{fd};
- die;
- }
- bless $fs, $type;
-}
-
-sub DESTROY {
- my ($fs) = @_;
- close $fs->{fd};
- resize_fat::c_rewritten::free_all();
-}
-
-#- copy all clusters >= <start_cluster> to a new place on the partition, less
-#- than <start_cluster>. Only copies files, not directories.
-#- (use of buffer needed because the seeks slow like hell the hard drive)
-sub copy_clusters {
- my ($fs, $cluster) = @_;
- my @buffer;
- my $flush = sub {
- while (@buffer) {
- my $cluster = shift @buffer;
- resize_fat::io::write_cluster($fs, $cluster, shift @buffer);
- }
- };
- for (; $cluster < $fs->{nb_clusters} + 2; $cluster++) {
- resize_fat::c_rewritten::flag($cluster) == $resize_fat::any::FILE or next;
- push @buffer,
- resize_fat::c_rewritten::fat_remap($cluster),
- resize_fat::io::read_cluster($fs, $cluster);
- @buffer > 50 and &$flush();
- }
- &$flush();
-}
-
-#- Constructs the new directory tree to match the new file locations.
-sub construct_dir_tree {
- my ($fs) = @_;
-
- if ($resize_fat::isFAT32) {
- #- fat32's root must remain in the first 64k clusters
- #- so don't set it as DIRECTORY, it will be specially handled
- resize_fat::c_rewritten::set_flag($fs->{fat32_root_dir_cluster}, $resize_fat::any::FREE);
- }
-
- for (my $cluster = 2; $cluster < $fs->{nb_clusters} + 2; $cluster++) {
- resize_fat::c_rewritten::flag($cluster) == $resize_fat::any::DIRECTORY or next;
-
- resize_fat::io::write_cluster($fs,
- resize_fat::c_rewritten::fat_remap($cluster),
- resize_fat::directory::remap($fs, resize_fat::io::read_cluster($fs, $cluster)));
- }
-
- sync();
-
- #- until now, only free clusters have been written. it's a null operation if we stop here.
- #- it means no corruption :)
- #
- #- now we must be as fast as possible!
-
- #- remapping non movable root directory
- if ($resize_fat::isFAT32) {
- my $cluster = $fs->{fat32_root_dir_cluster};
-
- resize_fat::io::write_cluster($fs,
- resize_fat::c_rewritten::fat_remap($cluster),
- resize_fat::directory::remap($fs, resize_fat::io::read_cluster($fs, $cluster)));
- } else {
- resize_fat::io::write($fs, $fs->{root_dir_offset}, $fs->{root_dir_size},
- resize_fat::directory::remap($fs, resize_fat::io::read($fs, $fs->{root_dir_offset}, $fs->{root_dir_size})));
- }
-}
-
-sub min_size($) { &resize_fat::any::min_size }
-sub max_size($) { &resize_fat::any::max_size }
-sub used_size($) { &resize_fat::any::used_size }
-
-#- resize
-#- - size is in sectors
-#- - checks boundaries before starting
-#- - copies all data beyond new_cluster_count behind the frontier
-sub resize {
- my ($fs, $size) = @_;
-
- my ($min, $max) = (min_size($fs), max_size($fs));
-
- $size += $min if $size =~ /^\+/;
-
- $size >= $min or die "Minimum filesystem size is $min sectors";
- $size <= $max or die "Maximum filesystem size is $max sectors";
-
- log::l("resize_fat: Partition size will be ". ($size * $SECTORSIZE >> 20) ."Mb (well exactly ${size} sectors)");
-
- my $new_data_size = $size * $SECTORSIZE - $fs->{cluster_offset};
- my $new_nb_clusters = divide($new_data_size, $fs->{cluster_size});
- my $used_size = used_size($fs);
-
- log::l("resize_fat: Break point for moving files is ". ($used_size * $SECTORSIZE >> 20) ." Mb ($used_size sectors)");
- if ($size < $used_size) {
- log::l("resize_fat: Allocating new clusters");
- resize_fat::fat::allocate_remap($fs, $new_nb_clusters);
-
- log::l("resize_fat: Copying files");
- copy_clusters($fs, $new_nb_clusters);
-
- log::l("resize_fat: Copying directories");
- construct_dir_tree($fs);
-
- log::l("Writing new FAT...");
- resize_fat::fat::update($fs);
- resize_fat::fat::write($fs);
- } else {
- log::l("resize_fat: Nothing need to be moved");
- }
-
- $fs->{nb_sectors} = $size;
- $fs->{nb_clusters} = $new_nb_clusters;
- $fs->{clusters}{count}->{free} =
- $fs->{nb_clusters} - $fs->{clusters}{count}->{used} - $fs->{clusters}->{count}->{bad} - 2;
-
- $fs->{system_id} = 'was here!';
- $fs->{small_nb_sectors} = 0;
- $fs->{big_nb_sectors} = $size;
-
- log::l("resize_fat: Writing new boot sector...");
-
- resize_fat::boot_sector::write($fs);
-
- $resize_fat::isFAT32 and eval { resize_fat::info_sector::write($fs) }; #- doesn't matter if this fails - its pretty useless!
-
- sync();
- close $fs->{fd};
- log::l("resize_fat: done");
-}
-
diff --git a/perl-install/run_program.pm b/perl-install/run_program.pm
deleted file mode 100644
index a0a966efa..000000000
--- a/perl-install/run_program.pm
+++ /dev/null
@@ -1,70 +0,0 @@
-package run_program; # $Id$
-
-use diagnostics;
-use strict;
-
-use log;
-
-1;
-
-sub run_or_die {
- my ($name, @args) = @_;
- run($name, @args) or die "$name failed\n";
-}
-sub rooted_or_die {
- my ($root, $name, @args) = @_;
- rooted($root, $name, @args) or die "$name failed\n";
-}
-sub run { rooted('', @_) }
-
-sub rooted {
- my ($root, $name, @args) = @_;
- my $str = ref $name ? $name->[0] : $name;
- log::l("running: $str @args" . ($root ? " with root $root" : ""));
-
- return 1 if $root && $<;
-
- $root ? $root .= '/' : ($root = '');
- install_any::check_prog (ref $name ? $name->[0] : $name) if !$root && $::isInstall;
-
- if (my $pid = fork) {
- waitpid $pid, 0;
- return $? == 0;
- }
- {
- my ($stdout, $stdoutm, $stderr, $stderrm);
- ($stdoutm, $stdout, @args) = @args if $args[0] =~ /^>>?$/;
- ($stderrm, $stderr, @args) = @args if $args[0] =~ /^2>>?$/;
-
- open STDIN, "/dev/null" or die "can't open /dev/null as stdin";
-
- if ($stderr) {
- $stderrm =~ s/2//;
- open STDERR, "$stderrm $root$stderr" or die "run_program can't output in $root$stderr (mode `$stderrm')";
- } elsif ($::isInstall) {
- open STDERR, ">> /tmp/ddebug.log" or open STDOUT, ">> /dev/tty7" or die "run_program can't log, give me access to /tmp/ddebug.log";
- }
- if ($stdout) {
- open STDOUT, "$stdoutm $root$stdout" or die "run_program can't output in $root$stdout (mode `$stdoutm')";
- } elsif ($::isInstall) {
- open STDOUT, ">> /tmp/ddebug.log" or open STDOUT, ">> /dev/tty7" or die "run_program can't log, give me access to /tmp/ddebug.log";
- }
-
- $root and chroot $root;
- chdir "/";
-
- if (ref $name) {
- unless (exec { $name->[0] } $name->[1], @args) {
- log::l("exec of $name->[0] failed: $!");
- c::_exit(1);
- }
- } else {
- unless (exec $name, @args) {
- log::l("exec of $name failed: $!");
- c::_exit(1);
- }
-
- }
- }
-
-}
diff --git a/perl-install/sbus_probing/main.pm b/perl-install/sbus_probing/main.pm
deleted file mode 100644
index f3269e671..000000000
--- a/perl-install/sbus_probing/main.pm
+++ /dev/null
@@ -1,138 +0,0 @@
-package sbus_probing::main; # $Id$
-
-use c;
-use log;
-use common qw(:common);
-use modules;
-
-my %sbus_table_network = (
- hme => [ "Sun Happy Meal Ethernet", "sunhme" ],
- le => [ "Sun Lance Ethernet", "ignore:lance" ],
- qe => [ "Sun Quad Ethernet", "sunqe" ],
- mlanai => [ "MyriCOM MyriNET Gigabit Ethernet", "myri_sbus" ],
- myri => [ "MyriCOM MyriNET Gigabit Ethernet", "myri_sbus" ],
- );
-my %sbus_table_scsi = (
- soc => [ "Sun SPARCStorage Array", "fc4:soc:pluto" ],
- socal => [ "Sun Enterprise Network Array", "fc4:socal:fcal" ],
- esp => [ "Sun Enhanced SCSI Processor (ESP)", "ignore:esp" ],
- fas => [ "Sun Swift (ESP)", "ignore:esp" ],
- ptisp => [ "Performance Technologies ISP", "qlogicpti" ],
- isp => [ "QLogic ISP", "qlogicpti" ],
- );
-my %sbus_table_audio = (
- audio => [ "AMD7930", "amd7930" ],
- CS4231 => [ "CS4231 APC DMA (SBUS)", "cs4231" ],
- CS4231_PCI => [ "CS4231 EB2 DMA (PCI)", "cs4231" ],
- );
-my %sbus_table_video = (
- bwtwo => [ "Sun|Monochrome (bwtwo)", "Server:SunMono" ],
- cgthree => [ "Sun|Color3 (cgthree)", "Server:Sun" ],
- cgeight => [ "Sun|CG8/RasterOps", "Server:Sun" ],
- cgtwelve => [ "Sun|GS (cgtwelve)", "Server:Sun24" ],
- gt => [ "Sun|Graphics Tower", "Server:Sun24" ],
- mgx => [ "Sun|Quantum 3D MGXplus", "Server:Sun24" ],
- mgx_4M => [ "Sun|Quantum 3D MGXplus with 4M VRAM", "Server:Sun24" ],
- cgsix => [ "Sun|Unknown GX", "Server:Sun" ],
- cgsix_dbl => [ "Sun|Double Width GX", "Server:Sun" ],
- cgsix_sgl => [ "Sun|Single Width GX", "Server:Sun" ],
- cgsix_t1M => [ "Sun|Turbo GX with 1M VSIMM", "Server:Sun" ],
- cgsix_tp => [ "Sun|Turbo GX Plus", "Server:Sun" ],
- cgsix_t => [ "Sun|Turbo GX", "Server:Sun" ],
- cgfourteen => [ "Sun|SX", "Server:Sun24" ],
- cgfourteen_4M => [ "Sun|SX with 4M VSIMM", "Server:Sun24" ],
- cgfourteen_8M => [ "Sun|SX with 8M VSIMM", "Server:Sun24" ],
- leo => [ "Sun|ZX or Turbo ZX", "Server:Sun24" ],
- leo_t => [ "Sun|Turbo ZX", "Server:Sun24" ],
- tcx => [ "Sun|TCX (S24)", "Server:Sun24" ],
- tcx_8b => [ "Sun|TCX (8bit)", "Server:Sun" ],
- afb => [ "Sun|Elite3D", "Server:Sun24" ],
- afb_btx03 => [ "Sun|Elite3D-M6 Horizontal", "Server:Sun24" ],
- ffb => [ "Sun|FFB", "Server:Sun24" ],
- ffb_btx08 => [ "Sun|FFB 67Mhz Creator", "Server:Sun24" ],
- ffb_btx0b => [ "Sun|FFB 67Mhz Creator 3D", "Server:Sun24" ],
- ffb_btx1b => [ "Sun|FFB 75Mhz Creator 3D", "Server:Sun24" ],
- ffb_btx20 => [ "Sun|FFB2 Vertical Creator", "Server:Sun24" ],
- ffb_btx28 => [ "Sun|FFB2 Vertical Creator", "Server:Sun24" ],
- ffb_btx23 => [ "Sun|FFB2 Vertical Creator 3D", "Server:Sun24" ],
- ffb_btx2b => [ "Sun|FFB2 Vertical Creator 3D", "Server:Sun24" ],
- ffb_btx30 => [ "Sun|FFB2+ Vertical Creator", "Server:Sun24" ],
- ffb_btx33 => [ "Sun|FFB2+ Vertical Creator 3D", "Server:Sun24" ],
- ffb_btx40 => [ "Sun|FFB2 Horizontal Creator", "Server:Sun24" ],
- ffb_btx48 => [ "Sun|FFB2 Horizontal Creator", "Server:Sun24" ],
- ffb_btx43 => [ "Sun|FFB2 Horizontal Creator 3D", "Server:Sun24" ],
- ffb_btx4b => [ "Sun|FFB2 Horizontal Creator 3D", "Server:Sun24" ],
- );
-
-1;
-
-sub prom_getint($) { unpack "I", c::prom_getproperty($_[0]) }
-
-#- update $@sbus_probed according to SBUS detection.
-sub prom_walk($$$$) {
- my ($sbus_probed, $node, $sbus, $ebus) = @_;
- my ($prob_name, $prob_type) = (c::prom_getstring("name"), c::prom_getstring("device_type"));
- my ($nextnode, $nsbus, $nebus) = (undef, $sbus, $ebus);
-
- #- probe for network devices.
- if ($sbus && $prob_type eq 'network') {
- $prob_name =~ s/[A-Z,]*(.*)/$1/;
- $sbus_table_network{$prob_name} and push @$sbus_probed, [ "NETWORK", @{$sbus_table_network{$prob_name}} ];
- #- TODO for Sun Quad Ethernet (qe)
- }
-
- #- probe for scsi devices.
- if ($sbus && ($prob_type eq 'scsi' || $prob_name =~ /^(soc|socal)$/)) {
- $prob_name =~ s/[A-Z,]*(.*)/$1/;
- $sbus_table_scsi{$prob_name} and push @$sbus_probed, [ "SCSI", @{$sbus_table_scsi{$prob_name}} ];
- }
-
- #- probe for audio devices, there are no type to check here.
- if ($sbus_table_audio{$prob_name}) {
- $prob_name =~ /,/ and $prob_name =~ s/[A-Z,]*(.*)/$1/;
- my $ext = $prob_name eq 'CS4231' && $ebus && "_PCI";
- $sbus_table_audio{$prob_name . $ext} ?
- push @$sbus_probed, [ "AUDIO", @{$sbus_table_audio{$prob_name . $ext}} ] :
- push @$sbus_probed, [ "AUDIO", @{$sbus_table_audio{$prob_name}} ];
- }
-
- #- probe for video devices.
- if ($prob_type eq 'display' && ($sbus || $prob_name =~ /^(ffb|afb|cgfourteen)$/)) {
- $prob_name =~ s/[A-Z,]*(.*)/$1/;
- my $ext = ($prob_name eq 'mgx' && prom_getint('fb_size') == 0x400000 && '_4M' ||
- $prob_name eq 'cgsix' && do {
- my ($chiprev, $vmsize) = (prom_getint('chiprev'), prom_getint('vmsize'));
- my $result = '';
- $chiprev >= 1 && $chiprev <= 4 and $result = '_dbl';
- $chiprev >= 5 && $chiprev <= 9 and $result = '_sgl';
- $chiprev == 11 && $vmsize == 2 and $result = '_t1M';
- $chiprev == 11 && $vmsize == 4 and $result = '_tp';
- $chiprev == 11 && !$result and $result = '_t';
- $result;
- } ||
- $prob_name eq 'leo' && c::prom_getstring('model') =~ /501-2503/ && '_t' ||
- $prob_name eq 'tcx' && c::prom_getbool('tcx-8-bit') && '_8b' ||
- $prob_name eq 'afb' && sprintf "_btx%x", prom_getint('board_type') ||
- $prob_name eq 'ffb' && sprintf "_btx%x", prom_getint('board_type'));
-
- $sbus_table_video{$prob_name . $ext} ?
- push @$sbus_probed, [ "VIDEO", @{$sbus_table_video{$prob_name . $ext}} ] :
- push @$sbus_probed, [ "VIDEO", @{$sbus_table_video{$prob_name}} ];
- }
-
- #- parse prom tree.
- $prob_name eq 'sbus' || $prob_name eq 'sbi' and $nsbus = 1;
- $prob_name eq 'ebus' and $nebus = 1;
- $nextnode = c::prom_getchild($node) and prom_walk($sbus_probed, $nextnode, $nsbus, $nebus);
- $nextnode = c::prom_getsibling($node) and prom_walk($sbus_probed, $nextnode, $sbus, $ebus);
-}
-
-sub probe {
- eval { modules::load("openprom") } if arch() =~ /sparc/;
- my $root_node = c::prom_open();
- my @l;
-
- prom_walk(\@l, $root_node, 0, 0);
- c::prom_close();
- map { my %l; @l{qw(type description drivers)} = @$_ } @l;
-}
diff --git a/perl-install/services.pm b/perl-install/services.pm
deleted file mode 100644
index 87fe381f2..000000000
--- a/perl-install/services.pm
+++ /dev/null
@@ -1,213 +0,0 @@
-package services; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common qw(:common :functional :system :file);
-use commands;
-use run_program;
-use my_gtk qw(:helpers :wrappers);
-
-sub description {
- my %services = (
-alsa => __("Launch the ALSA (Advanced Linux Sound Architecture) sound system"),
-anacron => __("Anacron a periodic command scheduler."),
-apmd => __("apmd is used for monitoring batery status and logging it via syslog.
-It can also be used for shutting down the machine when the battery is low."),
-atd => __("Runs commands scheduled by the at command at the time specified when
-at was run, and runs batch commands when the load average is low enough."),
-crond => __("cron is a standard UNIX program that runs user-specified programs
-at periodic scheduled times. vixie cron adds a number of features to the basic
-UNIX cron, including better security and more powerful configuration options."),
-gpm => __("GPM adds mouse support to text-based Linux applications such the
-Midnight Commander. It also allows mouse-based console cut-and-paste operations,
-and includes support for pop-up menus on the console."),
-harddrake => __("HardDrake runs a hardware probe, and optionally configures
-new/changed hardware."),
-httpd => __("Apache is a World Wide Web server. It is used to serve HTML files
-and CGI."),
-inet => __("The internet superserver daemon (commonly called inetd) starts a
-variety of other internet services as needed. It is responsible for starting
-many services, including telnet, ftp, rsh, and rlogin. Disabling inetd disables
-all of the services it is responsible for."),
-ipchains => __("Launch packet filtering for Linux kernel 2.2 series, to set
-up a firewall to protect your machine from network attacks."),
-keytable => __("This package loads the selected keyboard map as set in
-/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.
-You should leave this enabled for most machines."),
-kheader => __("Automatic regeneration of kernel header in /boot for
-/usr/include/linux/{autoconf,version}.h"),
-kudzu => __("Automatic detection and configuration of hardware at boot."),
-linuxconf => __("Linuxconf will sometimes arrange to perform various tasks
-at boot-time to maintain the system configuration."),
-lpd => __("lpd is the print daemon required for lpr to work properly. It is
-basically a server that arbitrates print jobs to printer(s)."),
-lvs => __("Linux Virtual Server, used to build a high-performance and highly
-available server."),
-named => __("named (BIND) is a Domain Name Server (DNS) that is used to resolve
-host names to IP addresses."),
-netfs => __("Mounts and unmounts all Network File System (NFS), SMB (Lan
-Manager/Windows), and NCP (NetWare) mount points."),
-network => __("Activates/Deactivates all network interfaces configured to start
-at boot time."),
-nfs => __("NFS is a popular protocol for file sharing across TCP/IP networks.
-This service provides NFS server functionality, which is configured via the
-/etc/exports file."),
-nfslock => __("NFS is a popular protocol for file sharing across TCP/IP
-networks. This service provides NFS file locking functionality."),
-numlock => __("Automatically switch on numlock key locker under console
-and XFree at boot."),
-oki4daemon => __("Support the OKI 4w and compatible winprinters."),
-pcmcia => __("PCMCIA support is usually to support things like ethernet and
-modems in laptops. It won't get started unless configured so it is safe to have
-it installed on machines that don't need it."),
-portmap => __("The portmapper manages RPC connections, which are used by
-protocols such as NFS and NIS. The portmap server must be running on machines
-which act as servers for protocols which make use of the RPC mechanism."),
-postfix => __("Postfix is a Mail Transport Agent, which is the program that
-moves mail from one machine to another."),
-random => __("Saves and restores system entropy pool for higher quality random
-number generation."),
-rawdevices => __("Assign raw devices to block devices (such as hard drive
-partitions), for the use of applications such as Oracle"),
-routed => __("The routed daemon allows for automatic IP router table updated via
-the RIP protocol. While RIP is widely used on small networks, more complex
-routing protocols are needed for complex networks."),
-rstatd => __("The rstat protocol allows users on a network to retrieve
-performance metrics for any machine on that network."),
-rusersd => __("The rusers protocol allows users on a network to identify who is
-logged in on other responding machines."),
-rwhod => __("The rwho protocol lets remote users get a list of all of the users
-logged into a machine running the rwho daemon (similiar to finger)."),
-sound => __("Launch the sound system on your machine"),
-syslog => __("Syslog is the facility by which many daemons use to log messages
-to various system log files. It is a good idea to always run syslog."),
-usb => __("Load the drivers for your usb devices."),
-xfs => __("Starts the X Font Server (this is mandatory for XFree to run)."),
- );
- my ($name, $prefix) = @_;
- my $s = $services{$name};
- if ($s) {
- $s = translate($s);
- } else {
- ($s = cat_("$prefix/etc/rc.d/init.d/$_")) =~ s/\\\s*\n#\s*//mg;
- ($s) = $s =~ /^# description:\s+(.*?)^(?:[^#]|# {0,2}\S)/sm;
- $s =~ s/^#\s*//m;
- }
- $s =~ s/\n/ /gm; $s =~ s/\s+$//;
- $s;
-}
-
-#- returns:
-#--- the listref of installed services
-#--- the listref of "on" services
-sub services {
- my ($prefix) = @_;
- my $cmd = $prefix ? "chroot $prefix" : "";
- my @l = map { [ /([^\s:]+)/, /\bon\b/ ] } grep { !/:$/ } sort `LANGUAGE=C $cmd chkconfig --list`;
- [ map { $_->[0] } @l ], [ mapgrep { $_->[1], $_->[0] } @l ];
-}
-
-sub ask {
- my ($in, $prefix) = @_;
- my ($l, $on_services) = services($prefix);
- ref($in) !~ /gtk/ || $::isInstall and return $in->ask_many_from_list("drakxservices",
- _("Choose which services should be automatically started at boot time"),
- {
- list => $l,
- help => sub { description($_, $prefix) },
- values => $on_services,
- sort => 1,
- });
- my $W = my_gtk->new(_("Resolution"));
- my ($x, $y, $w_popup);
- my $nopop = sub { $w_popup and $w_popup->destroy };
- my $display = sub { $nopop->(); $_[0] and gtkmove(gtkshow(gtkadd($w_popup=new Gtk::Window (-popup),
- gtksignal_connect(gtkadd(new Gtk::EventBox(),
- gtkadd(gtkset_shadow_type(new Gtk::Frame, 'etched_out'),
- gtkset_justify(new Gtk::Label($_[0]), 0))),
- button_press_event => sub { $nopop->() }
- ))), $x, $y) };
- my $update_service = sub {
- my $started = -e "/var/lock/subsys/$_[0]";
- my $action = $started ? "stop" : "start";
- $_[1]->set($started ? _("running") : _("stopped"));
- $started, $action;
- };
- my $strip = sub {
- my $infos_old = $_[0];
- my $infos;
- while ($infos_old =~ s/(.{40})//) {
- $1 =~ /(.*) ([^ ]*)/;
- $infos .= "$1\n$2";
- }
- $infos .= $infos_old;
- };
- my $b = new Gtk::EventBox();
- $b->set_events(["pointer_motion_mask"]);
- gtkadd($W->{window}, gtkadd($b, gtkpack_($W->create_box_with_title(_("Services and deamons")),
- 1, gtkset_usize(createScrolledWindow(create_packtable({ col_spacings => 10, row_spacings => 3 },
- map {
- my $service = $_;
- my $infos = $strip->(description($_, $prefix));
- $infos ||= _("No additionnal information\nabout this service, sorry.");
- my $l = new Gtk::Label();
- my ($started, $action) = $update_service->($service, gtkset_justify($l, 0));
- [ gtkpack__(new Gtk::HBox(0,0), $_),
- gtkpack__(new Gtk::HBox(0,0), $l),
- gtkpack__(new Gtk::HBox(0,0), gtksignal_connect(new Gtk::Button("Infos"), clicked => sub { $display->($infos) })),
- gtkpack__(new Gtk::HBox(0,0), gtkset_active(gtksignal_connect(
- new Gtk::CheckButton(_("On boot")),
- clicked => sub { if ($_[0]->active) {
- "@$on_services" =~ /$service/ or push(@$on_services,$service)
- } else {
- @$on_services = grep(!/$service/, @$on_services)
- }}), "@$on_services" =~ /$service/ )),
- map { my $a = $_;
- gtkpack__(new Gtk::HBox(0,0), gtksignal_connect(new Gtk::Button(_($a)),
- clicked => sub { my $c = "service $service " . (lc($a) eq "start" ? "restart" : lc($a)) . " 2>&1"; local $_=`$c`; s/\033\[[^mG]*[mG]//g;
- ($started, $action) = $update_service->($service, $l);
- $display->($_);
- }
- )) } ("Start", "Stop")
- ]
- }
- @$l)), 500, 400),
- 0, gtkpack(gtkset_border_width(new Gtk::HBox(0,0),5), $W->create_okcancel)
- ))
- );
- $b->signal_connect( motion_notify_event => sub { my ($w, $e) = @_;
- my ($ox, $oy) = $w->window->get_deskrelative_origin;
- $x = $e->{'x'}+$ox; $y = $e->{'y'}+$oy; });
- $b->signal_connect( button_press_event => sub { $nopop->()});
- $::isEmbedded and Gtk->main_iteration while Gtk->events_pending;
- $::isEmbedded and kill (12, $::CCPID);
- $W->main or return;
- ($l, $on_services);
-}
-
-sub doit {
- my ($in, $on_services, $prefix) = @_;
- my ($l, $was_on_services) = services($prefix);
-
- foreach (@$l) {
- my $before = member($_, @$was_on_services);
- my $after = member($_, @$on_services);
- if ($before != $after) {
- my $script = "/etc/rc.d/init.d/$_";
- run_program::rooted($prefix, "chkconfig", $after ? "--add" : "--del", $_);
- if ($after && cat_("$prefix$script") =~ /^#\s+chkconfig:\s+-/m) {
- run_program::rooted($prefix, "chkconfig", "--level", "35", $_, "on");
- }
- if (!$after && $::isStandalone) {
- run_program::rooted($prefix, $script, "stop");
- }
- }
- }
-}
-
-
-1;
diff --git a/perl-install/share/aliases b/perl-install/share/aliases
deleted file mode 100644
index 6710d5e4b..000000000
--- a/perl-install/share/aliases
+++ /dev/null
@@ -1,9 +0,0 @@
-raidstop raidstart
-sh ash
-gunzip gzip
-install2 perl-install/install2
-commands perl-install/commands
-runinstall2 install2
-e2fsck e2fsck.shared
-fsck.ext2 e2fsck.shared
-rmmod insmod_
diff --git a/perl-install/share/compssList b/perl-install/share/compssList
deleted file mode 100644
index 36b0f4a44..000000000
--- a/perl-install/share/compssList
+++ /dev/null
@@ -1,1665 +0,0 @@
- normal server developer
-
-AVLTree-devel 0 0 0
-AfterStep 22 0 53
-AfterStep-APPS 22 0 35
-Apache-ASP -99 0 -99
-ApacheJServ -99 0 -99
-Apple-StyleWriter-printer-driver__lpstyl 0 0 0
-Aurora 81 -1 -1
-BasiliskII 35 0 10
-BasiliskII-sheepnet 33 0 8
-BitchX 43 0 15
-C++2LaTeX 0 0 30
-Canon-CaPSL-printer-driver__cjet 0 0 0
-ClanLib 32 0 32
-ClanLib-devel 0 0 25
-ClanLib-docs 0 0 25
-ClanLib-gl 0 0 0
-ClanLib-magick 0 0 0
-ClanLib-mikmod 0 0 0
-ClanLib-png 0 0 0
-Device3Dfx -1 -1 -1
-DrakConf 84 84 84
-drakprofile 50 0 50
-draksync 50 0 50
-DrakeLogo 20 0 0
-ElectricFence 10 0 66
-Epplets 57 0 53
-Eterm 57 0 53
-Eterm-devel 0 0 0
-FaxMail 30 0 0
-FileRunner 45 0 25
-FreeWnn -20 -20 -20
-FreeWnn-devel -70 -60 -40
-GConf 0 0 0
-GConf-devel 0 0 40
-GXedit 40 0 55
-Glide_V2 -1 -1 -1
-Glide_V2-devel -1 -1 -1
-Glide_V3 -1 -1 -1
-Glide_V3-DRI -1 -1 -1
-Glide_V3-DRI-devel -1 -1 -1
-Glide_V3-devel -1 -1 -1
-Glide_V5 -1 -1 -1
-Glide_V5-devel -1 -1 -1
-HTML-Embperl 0 40 40
-Hermes 32 0 42
-Hermes-devel 0 0 35
-ImageMagick 56 5 60
-ImageMagick-devel 10 0 60
-ImageMagick-lib 0 0 0
-MAKEDEV 91 91 91
-MandrakeUpdate 82 0 80
-Mesa 30 0 70
-Mesa-common 30 0 70
-Mesa-common-devel 0 0 70
-Mesa-demos 10 0 15
-MySQL 2 55 15
-MySQL-bench 2 50 10
-MySQL-client 2 52 11
-MySQL-devel 0 0 15
-MySQL-shared 2 50 10
-ORBit 0 0 55
-ORBit-devel 10 0 55
-SDL 50 0 25
-SDL-devel 0 0 25
-SDL_image 0 0 25
-SDL_image-devel 0 0 25
-SDL_mixer 0 0 25
-SDL_mixer-devel 0 0 25
-SDL_net 0 0 25
-SDL_net-devel 0 0 25
-SDL_ttf 0 0 25
-SDL_ttf-devel 0 0 25
-SVGATextMode 0 0 0
-SmallEiffel 0 0 30
-SysVinit 15 52 45
-TiMidity++ 51 0 54
-WMRack 40 0 32
-WindowMaker 40 0 57
-WindowMaker-devel 0 0 30
-WsLib-devel 0 0 0
-X11R6-contrib 55 0 47
-XFree86 91 0 81
-XFree86-100dpi-fonts 56 0 30
-XFree86-3DLabs -30 -30 -30
-XFree86-75dpi-fonts 91 0 81
-XFree86-8514 -30 -30 -30
-XFree86-AGX -30 -30 -30
-XFree86-FBDev -30 -30 -30
-XFree86-I128 -30 -30 -30
-XFree86-ISO8859-2 -20 -30 -20
-XFree86-ISO8859-2-100dpi-fonts -20 -30 -20
-XFree86-ISO8859-2-75dpi-fonts -20 -30 -20
-XFree86-ISO8859-2-Type1-fonts -20 -30 -20
-XFree86-ISO8859-9 -20 -30 -20
-XFree86-ISO8859-9-100dpi-fonts -20 -30 -20
-XFree86-ISO8859-9-75dpi-fonts -20 -30 -20
-XFree86-Mach32 -30 -30 -30
-XFree86-Mach64 -30 -30 -30
-XFree86-Mach8 -30 -30 -30
-XFree86-Mono -30 -30 -30
-XFree86-P9000 -30 -30 -30
-XFree86-S3 -30 -30 -30
-XFree86-S3V -30 -30 -30
-XFree86-SVGA -30 -30 -30
-XFree86-VGA16 -30 -30 -30
-XFree86-W32 -30 -30 -30
-XFree86-Xnest 0 0 55
-XFree86-Xvfb 0 0 15
-XFree86-cyrillic-fonts -20 -30 -20
-XFree86-devel 12 0 55
-XFree86-doc -30 -30 -30
-XFree86-glide-module -2 -2 -2
-XFree86-libs 10 0 0
-XFree86-server -30 -30 -30
-XFree86-server-common -30 -30 -30
-XFree86-static-libs 0 0 20
-XFree86-xfs 0 0 0
-XaoS 40 0 25
-XaoS-aalib 0 0 0
-XaoS-svgalib 0 0 0
-Xaw3d 20 0 70
-Xaw3d-devel 10 0 60
-Zope 0 15 30
-Zope-components 0 15 30
-Zope-core 0 15 30
-Zope-pcgi 0 15 30
-Zope-services 0 15 30
-Zope-zpublisher 0 15 30
-Zope-zserver 0 15 30
-Zope-ztemplates 0 15 30
-aalib 25 0 15
-aalib-devel 0 0 25
-abisuite 59 0 45
-acon -10 -10 -10
-acpid 0 0 0
-adjtimex 22 35 87
-adns 30 30 30
-adns-devel 0 0 30
-aktion 66 0 15
-alsa 0 0 0
-alsa-lib 0 0 0
-alsa-lib-devel 0 0 20
-alsa-source 0 0 0
-alsa-utils 0 0 0
-alsaplayer 0 0 0
-am-utils 0 25 19
-ami -20 -20 -20
-ami-gnome -20 -20 -20
-anacron 85 70 85
-anonftp 0 86 13
-apache -99 80 -99
-apache-common -99 0 -99
-apache-devel -99 0 -99
-apache-manual -99 40 -99
-apache-mod_perl -99 85 -99
-apache-mod_perl-devel -99 0 -99
-apache-suexec -99 75 -99
-apcupsd -1 -1 -1
-apmd -1 -1 -1
-apmd-devel -1 -1 -1
-app-defaults-be -30 -30 -30
-app-defaults-cs -30 -30 -30
-app-defaults-ga -30 -30 -30
-app-defaults-ru -30 -30 -30
-app-defaults-th -30 -30 -30
-app-defaults-uk -30 -30 -30
-arpwatch 0 50 0
-ash 10 10 10
-aspell 49 15 22
-aspell-ca -30 -30 -30
-aspell-cs -30 -30 -30
-aspell-da -30 -30 -30
-aspell-de -30 -30 -30
-aspell-de_CH -30 -30 -30
-aspell-devel 0 0 10
-aspell-en -30 -30 -30
-aspell-en_CA -30 -30 -30
-aspell-en_GB -30 -30 -30
-aspell-eo -30 -30 -30
-aspell-es -30 -30 -30
-aspell-fr -30 -30 -30
-aspell-it -30 -30 -30
-aspell-nl -30 -30 -30
-aspell-no -30 -30 -30
-aspell-pl -30 -30 -30
-aspell-sv -30 -30 -30
-at 42 96 94
-aterm 17 0 13
-audiofile 25 0 26
-audiofile-devel 10 0 26
-aumix 79 0 79
-auth_ldap 5 75 20
-autoconf 15 0 84
-autofs 48 45 50
-autoirpm -60 -60 -60
-autologin 82 0 82
-automake 15 0 84
-awesfx 20 0 13
-basesystem 0 0 0
-bash 0 0 0
-bash-doc 35 50 71
-bash1 15 5 13
-bc 40 25 25
-bdflush 0 0 0
-bind 0 75 0
-bind-devel 0 0 0
-bind-utils 25 35 70
-binutils 47 0 87
-bison 10 0 80
-blackbox 30 0 45
-blt 10 0 75
-bluefish 60 0 60
-boa -99 -99 -99
-bonnie 5 45 25
-bonobo 20 0 20
-bonobo-devel 0 0 35
-bootparamd 20 78 0
-bug-buddy 0 0 20
-byacc 16 0 80
-bzflag -1 -1 -1
-bzip2 41 85 75
-caching-nameserver 0 70 0
-cbb 55 0 13
-cdecl 10 0 70
-cdialog 3 0 20
-cdp 40 0 27
-cdparanoia 45 0 45
-cdparanoia-devel 0 0 30
-cdrecord 45 0 45
-cdrecord-cdda2wav 44 0 45
-cdrecord-devel 10 0 0
-cervisia 0 0 0
-cfengine 0 30 0
-chkconfig 0 65 10
-chkfontpath 0 0 50
-chromium -1 -1 -1
-clanbomber 65 0 25
-cleanfeed 24 65 21
-clisp 0 0 15
-compat-glibc 0 0 40
-compat-libs 0 0 0
-comsat 0 30 2
-console-tools 97 97 97
-console-tools-devel 0 0 0
-control-center 69 0 10
-control-center-devel 0 0 0
-control-panel 2 0 2
-cooledit 0 0 30
-corewars 0 15 0
-cpio 90 89 90
-cproto 15 0 61
-cracklib 10 85 35
-cracklib-devel 0 0 15
-cracklib-dicts 10 82 35
-crontabs 95 95 95
-csmash -1 -1 -1
-ctags 10 0 80
-cttex -30 -30 -30
-cups -99 -99 -99
-cups-devel 0 0 20
-cups-drivers -99 -99 -99
-cvs 18 60 72
-cvsweb 0 0 30
-cxhextris 50 0 36
-detect 25 25 75
-detect-devel 0 0 60
-detect-lst 25 25 75
-dev 99 99 99
-dev86 0 0 40
-dev86-devel 0 0 40
-devfsd 0 0 0
-dhcp -99 80 -99
-dhcp-client 0 79 5
-dhcp-relay 0 10 0
-dhcpcd 0 0 0
-dhcpxd 0 0 0
-dia 30 0 30
-dialog 10 0 71
-diffstat 12 50 87
-diffutils 42 55 87
-dip 40 45 13
-docbook-dtd31-sgml 30 0 45
-docbook-style-dsssl 5 15 15
-docbook-style-dsssl-doc 4 14 14
-dosemu 45 0 49
-dosemu-freedos 45 0 49
-dosfstools 40 15 22
-doxygen 0 0 40
-dpsftp 45 0 0
-dpsftplib 45 0 0
-dpsftplib-devel 45 0 15
-drakfloppy 84 0 84
-drakfont 84 0 84
-drakxtools 86 80 87
-dump 10 75 87
-e2fsprogs 98 98 98
-e2fsprogs-devel 0 0 25
-eMusic 65 0 50
-ed 45 10 5
-ee 58 0 54
-efax 25 78 30
-egcs 5 0 50
-egcs-c++ 5 0 50
-egcs-cpp 5 0 50
-egcs-g77 5 0 50
-egcs-objc 5 0 50
-egcs-objc-devel 4 0 20
-eggdrop 25 0 25
-eject 92 33 91
-elm 22 5 13
-emacs 49 45 0
-emacs-X11 51 0 69
-emacs-el 0 0 15
-emacs-leim 20 0 50
-emacs-nox 20 0 14
-emacs-pcomplete 20 0 30
-emacs-tramp 20 20 30
-enlightenment 41 0 55
-enscript 20 25 71
-eog 30 0 20
-eperl 0 0 10
-eshell 20 0 30
-esound 0 0 0
-esound-devel 12 0 4
-etcskel 98 98 98
-ethemes 40 0 35
-exmh 40 0 36
-expect 23 0 71
-ext2ed 5 52 42
-ext2resize 5 52 42
-faces 20 75 15
-faces-devel 10 0 0
-faces-xface 20 0 15
-faq 63 49 53
-fbset 22 0 0
-fdutils 10 0 0
-fetchmail 45 99 31
-fetchmail-daemon 20 30 20
-fetchmailconf 45 0 40
-file 92 92 94
-filesystem 99 99 99
-fileutils 99 99 99
-findutils 97 97 97
-finger 40 35 27
-finger-server 0 30 0
-flex 13 0 72
-fltk 0 0 0
-fltk-devel 0 0 15
-fmirror 45 35 40
-fnlib 10 0 7
-fnlib-devel 10 0 0
-fonts-ttf-armenian -10 0 -10
-fonts-ttf-big5 -10 0 -10
-fonts-ttf-decoratives 72 0 68
-fonts-ttf-gb2312 -10 0 -10
-fonts-ttf-japanese -10 0 -10
-fonts-ttf-korean -10 0 -10
-fonts-ttf-west_european 77 0 74
-fonts-type1-baltic -15 -15 -15
-fortune-mod 10 0 10
-freeciv 54 0 53
-freetype 10 0 4
-freetype-devel 10 0 0
-fribidi 0 0 0
-fribidi-devel 0 0 0
-ftp 90 92 90
-fvwm 12 0 15
-fvwm2 17 0 17
-fvwm2-icons 17 0 17
-fwhois 25 45 36
-g-print 20 0 20
-g-wrap 0 0 40
-g-wrap-devel 0 0 20
-gaddr 45 0 40
-gaim 35 0 30
-gated 0 80 0
-gatos 55 0 49
-gawk 10 55 87
-gawk-doc 10 35 50
-gcc 50 40 90
-gcc-c++ 15 0 74
-gcc-chill 20 0 65
-gcc-colorgcc 0 0 0
-gcc-cpp 47 0 72
-gcc-fr 0 0 0
-gcc-g77 15 0 27
-gcc-java 16 0 65
-gcc-libgcj 15 0 30
-gcc-objc 16 0 35
-gcombust 40 0 0
-gd 12 0 71
-gd-devel 10 0 71
-gd-utils 45 0 64
-gdb 12 0 94
-gdbm 12 0 72
-gdbm-devel 10 0 72
-gdk-pixbuf 68 0 70
-gdk-pixbuf-devel 0 0 40
-gdm 67 0 55
-gedit 68 0 62
-gedit-devel 0 0 0
-genromfs 10 0 9
-gentoo 30 0 0
-gettext 10 15 71
-gettext-devel 0 0 35
-getty_ps 99 99 99
-gfcc 15 0 31
-gftp 67 0 62
-ggv 25 0 0
-ghc 0 0 35
-ghc-prof 0 0 2
-ghostscript 40 70 75
-ghostscript-utils 30 50 55
-ghostscript-fonts 22 55 75
-ghostscript-module-SVGALIB 10 0 63
-ghostscript-module-X 40 60 65
-gif2png 10 0 20
-giftrans 42 0 71
-gimp 69 0 67
-gimp-data-extras 55 0 58
-gimp-devel 10 0 40
-gimp-libgimp 10 0 50
-gimp-perl 30 0 30
-git 69 35 54
-gkrellm 15 30 15
-gkrellm-devel 0 0 20
-glade 17 0 57
-glademm 0 0 40
-glib 1 0 0
-glib-devel 10 0 87
-glibc 1 99 96
-glibc-devel 25 0 76
-glibc-profile 1 0 54
-gltron -1 -1 -1
-gmc 68 0 59
-gmp 17 0 71
-gmp-devel 10 0 71
-gnomba 24 0 24
-gnome-applets 68 0 55
-gnome-audio 60 0 55
-gnome-audio-extra 55 0 50
-gnome-chess 60 0 55
-gnome-core 68 0 55
-gnome-core-devel 10 0 55
-gnome-games 60 0 59
-gnome-games-devel 10 0 0
-gnome-guile 0 0 50
-gnome-guile-devel 10 0 50
-gnome-iconedit 60 0 55
-gnome-libs 68 0 55
-gnome-libs-devel 10 0 55
-gnome-linuxconf 74 0 74
-gnome-media 60 0 58
-gnome-network 60 0 58
-gnome-objc 0 0 40
-gnome-objc-devel 10 0 40
-gnome-pilot 55 0 45
-gnome-pilot-conduits 45 0 35
-gnome-pilot-devel 0 15 0
-gnome-pim 61 0 70
-gnome-pim-conduits 51 0 60
-gnome-pim-devel 10 0 70
-gnome-print 62 0 55
-gnome-print-devel 10 0 55
-gnome-tiles 60 0 55
-gnome-toaster 65 0 61
-gnome-users-guide 66 0 60
-gnome-utils 66 0 50
-gnome-vfs 0 0 0
-gnome-vfs-devel 0 0 30
-gnomeicu 61 0 58
-gnomemm 0 0 40
-gnomemm-devel 0 0 30
-gnorpm 74 0 71
-gnozip 50 0 60
-gnucash 35 0 15
-gnucash-devel 0 0 12
-gnuchess 40 0 31
-gnumeric 67 0 58
-gnuplot 65 0 53
-gnus 20 0 14
-gob 0 0 20
-gperf 12 0 72
-gphoto 60 0 58
-gpm 0 65 87
-gpm-devel 10 0 55
-gprolog 5 5 45
-gps 30 15 30
-gqcam 0 0 0
-gqview 55 0 49
-grep 0 92 94
-grip 60 0 35
-groff 0 0 62
-groff-for-man 0 0 0
-groff-gxditview 22 0 19
-groff-perl 0 0 0
-grpmi 0 0 0
-grub 99 99 99
-grub-doc 0 0 25
-gsl 10 0 0
-gsl-devel 0 0 0
-gsu 65 0 53
-gtk+ 0 0 70
-gtk+-devel 10 0 70
-gtk+licq 45 0 30
-gtk+mdk 0 0 15
-gtk+mdk-devel 0 0 15
-gtk-engines 0 0 70
-gtk-themes 50 0 20
-gtkdialogs 0 0 0
-gtkeyboard 20 0 0
-gtkglarea 10 0 15
-gtkglarea-devel 0 0 15
-gtkgo 15 0 5
-gtkgraph 65 0 35
-gtkhtml 0 0 0
-gtkhtml-devel 0 0 0
-gtkmm 20 0 55
-gtkmm-devel 20 0 55
-gtktalog 52 0 25
-gtkzip 60 0 58
-gtop 60 0 58
-gtulpas 10 0 10
-guile 11 0 75
-guile-devel 10 0 75
-gurpmi 82 0 86
-gv 55 0 49
-gzip 98 98 98
-hackkernel 0 0 0
-hackkernel-doc 0 0 0
-hackkernel-headers 0 0 0
-hackkernel-pcmcia-cs 0 0 0
-hackkernel-source 0 0 0
-happy 0 0 25
-harddrake 83 0 83
-haskell-GTK 0 0 10
-haskell-GTK-devel 0 0 10
-hdparm 98 98 98
-heartbeat -1 25 -1
-hexedit 91 91 91
-howto-html-de -30 -30 -30
-howto-html-el -30 -30 -30
-howto-html-en -30 -30 -30
-howto-html-es -30 -30 -30
-howto-html-fr -30 -30 -30
-howto-html-hr -30 -30 -30
-howto-html-id -30 -30 -30
-howto-html-it -30 -30 -30
-howto-html-ja -30 -30 -30
-howto-html-ko -30 -30 -30
-howto-html-pl -30 -30 -30
-howto-html-ro -30 -30 -30
-howto-html-sl -30 -30 -30
-howto-html-sv -30 -30 -30
-howto-html-zh -30 -30 -30
-howto-utils 0 0 0
-hugs98 0 0 15
-hylafax 0 0 0
-hylafax-client 0 0 0
-hylafax-server 0 0 0
-ibtk 20 0 13
-ical 40 0 27
-icepref 50 0 54
-icewm 65 0 78
-icewm-light 90 0 80
-imap 0 80 6
-imap-devel 0 0 6
-imlib 10 0 71
-imlib-cfgeditor 70 0 71
-imlib-devel 10 0 50
-imwheel 78 60 73
-indent 20 0 91
-indexhtml 0 87 76
-inews 6 12 15
-info 20 65 70
-info-install 0 0 10
-initscripts 99 99 99
-inn 0 55 0
-inn-devel 0 0 0
-intimed 0 55 10
-ipchains 15 98 13
-iplog 15 15 15
-iproute2 0 30 0
-ipvsadm 0 15 0
-ipxutils 20 85 9
-irda-utils -1 -1 -1
-irssi 59 0 57
-isapnptools 43 73 73
-isapnptools-devel 0 0 70
-isdn4k-utils -99 -99 -99
-isdn4net -99 -99 -99
-isicom 20 0 13
-ispell 49 15 22
-ispell-af -15 -15 -15
-ispell-br -15 -15 -15
-ispell-ca -15 -15 -15
-ispell-cs -15 -15 -15
-ispell-da -15 -15 -15
-ispell-de -15 -15 -15
-ispell-el -15 -15 -15
-ispell-en -15 -15 -15
-ispell-eo -15 -15 -15
-ispell-es -15 -15 -15
-ispell-fi -15 -15 -15
-ispell-fr -15 -15 -15
-ispell-ga -15 -15 -15
-ispell-gd -15 -15 -15
-ispell-gv -15 -15 -15
-ispell-id -15 -15 -15
-ispell-it -15 -15 -15
-ispell-nl -15 -15 -15
-ispell-no -15 -15 -15
-ispell-pl -15 -15 -15
-ispell-pt -15 -15 -15
-ispell-pt_BR -15 -15 -15
-ispell-ro -15 -15 -15
-ispell-ru -15 -15 -15
-ispell-sk -15 -15 -15
-ispell-sl -15 -15 -15
-ispell-sv -15 -15 -15
-itcl 10 0 60
-jadetex 15 0 45
-jed 16 18 14
-jed-common 0 18 0
-jed-xjed 40 0 22
-jikes 1 0 65
-joe 20 20 15
-kaffe 10 0 60
-kdbg 15 0 27
-kde1-compat 0 0 0
-kde1-compat-devel 0 0 0
-kdeaddutils 73 0 62
-kdeaddutils-devel 1 1 50
-kdeadmin 72 0 60
-kdebase 79 40 68
-kdebase-devel 1 1 60
-kdegames 71 0 59
-kdegraphics 77 40 66
-kdegraphics-devel 1 1 60
-kdelibs 0 0 0
-kdelibs-devel 1 1 60
-kdelibs-sound 60 0 55
-kdelibs-sound-devel 1 1 60
-kdemultimedia 77 0 66
-kdemultimedia-devel 1 1 60
-kdenetwork 72 0 60
-kdenetwork-devel 1 1 60
-kdepim 72 0 63
-kdesdk 0 0 35
-kdesupport 0 0 0
-kdesupport-devel 0 0 15
-kdetoys 70 0 65
-kdeutils 78 0 67
-kdiff 0 0 0
-kdiskcat 0 0 0
-kdoc 0 0 35
-kernel 99 99 99
-kernel-doc 5 50 65
-kernel-headers 1 45 94
-kernel-linus -1 -1 -1
-kernel-pcmcia-cs -1 -1 -1
-kernel-secure 0 0 0
-kernel-smp -1 -1 -1
-kernel-source 0 45 65
-kernel-utils 0 5 25
-kfilecoder 0 0 0
-kfirewall 0 0 0
-kfortune 0 0 0
-kfsstatus 0 0 0
-kfun21 0 0 0
-kimon 0 0 0
-kinput2-wnn4 -15 -15 -15
-kisocd 0 0 0
-kless 0 0 0
-klilo 0 0 0
-klyx 0 0 0
-kmag 0 0 0
-kmol 0 0 0
-kmp3 0 0 0
-kmp3te 0 0 0
-koffice 69 0 55
-koffice-devel 0 0 35
-kon2 -12 -60 -15
-kover 69 0 60
-kpacman 0 0 0
-kreglo 0 0 0
-krubik 0 0 0
-ksendfax 0 0 0
-kslide 0 0 0
-ktail 0 0 0
-ktelnet 0 0 0
-kterm -10 -90 -10
-kudzu 97 0 97
-kudzu-devel 0 0 43
-kups 60 0 50
-kups-devel 0 0 0
-kvideogen 0 0 0
-kvirc 69 0 56
-kvoice 0 0 0
-kvoicecontrol 0 0 0
-kwebget 0 0 0
-lame 15 40 35
-latex2html 25 0 50
-latte 0 0 45
-ld.so 98 98 98
-leafnode 0 50 0
-less 97 97 97
-lesstif 0 0 0
-lesstif-clients 0 0 0
-lesstif-devel 0 0 0
-lesstif-mwm 2 0 2
-lftp 50 78 83
-lha 40 25 72
-libPropList 10 0 80
-libPropList-devel 0 0 34
-libc 10 15 75
-libelf 10 15 80
-libghttp 10 0 55
-libghttp-devel 10 0 55
-libglade 10 0 55
-libglade-devel 10 0 40
-libgr 10 0 71
-libgr-devel 10 0 70
-libgr-progs 10 0 9
-libgtop 10 0 55
-libgtop-devel 10 0 55
-libjpeg 10 0 71
-libjpeg-devel 10 0 70
-libmikmod 10 0 55
-libmikmod-devel 10 0 55
-libnet 97 97 97
-libole2 0 0 0
-libole2-devel 0 0 0
-libpcap 10 80 72
-libpcap-devel 0 0 0
-libpng 10 0 71
-libpng-devel 10 0 71
-librep 10 0 50
-librep-devel 10 0 50
-libsafe 0 0 35
-libsigc++ 0 0 25
-libsigc++-devel 0 0 25
-libsigc++-examples 0 0 25
-libstdc++ 10 0 80
-libstdc++-compat 10 0 60
-libstdc++-devel 10 0 80
-libtabe -15 -90 -15
-libtabe-devel -15 -90 -15
-libtermcap 10 55 87
-libtermcap-devel 10 0 64
-libtiff 10 0 72
-libtiff-devel 10 0 72
-libtool 10 0 85
-libtool-devel 0 0 0
-libungif 10 0 72
-libungif-devel 10 0 72
-libungif-progs 10 0 2
-libunicode 10 0 80
-libunicode-devel 0 0 50
-libwmf 0 0 15
-libxml 10 0 71
-libxml-devel 10 0 71
-libxml2 10 0 71
-libxml2-devel 10 0 71
-licq 62 0 45
-licq-autoreply 45 0 30
-licq-console 45 0 30
-licq-devel 0 0 20
-licq-forwarder 45 0 30
-licq-rms 45 0 30
-licq-update-hosts 45 0 30
-lilo 99 99 99
-lilo-doc 0 0 30
-links 20 25 20
-linux_logo 92 72 92
-linuxconf 90 79 86
-linuxconf-gui -1 -1 -1
-linuxconf-lib 0 0 0
-linuxconf-util 0 0 0
-linuxconf 90 79 86
-linuxconf-devel 10 0 70
-lkmpg 2 0 65
-locales 96 76 96
-locales-af -1 -1 -1
-locales-ar -1 -1 -1
-locales-az -1 -1 -1
-locales-be -1 -1 -1
-locales-bg -1 -1 -1
-locales-br -1 -1 -1
-locales-ca -1 -1 -1
-locales-cs -1 -1 -1
-locales-cy -1 -1 -1
-locales-da -1 -1 -1
-locales-de -1 -1 -1
-locales-el -1 -1 -1
-locales-en -1 -1 -1
-locales-eo -1 -1 -1
-locales-es -1 -1 -1
-locales-et -1 -1 -1
-locales-eu -1 -1 -1
-locales-fa -1 -1 -1
-locales-fi -1 -1 -1
-locales-fo -1 -1 -1
-locales-ur -1 -1 -1
-locales-fr -1 -1 -1
-locales-ga -1 -1 -1
-locales-gd -1 -1 -1
-locales-gl -1 -1 -1
-locales-gv -1 -1 -1
-locales-he -1 -1 -1
-locales-hi -1 -1 -1
-locales-hr -1 -1 -1
-locales-hu -1 -1 -1
-locales-hy -1 -1 -1
-locales-id -1 -1 -1
-locales-is -1 -1 -1
-locales-it -1 -1 -1
-locales-ja -1 -1 -1
-locales-ka -1 -1 -1
-locales-kl -1 -1 -1
-locales-ko -1 -1 -1
-locales-kw -1 -1 -1
-locales-lo -1 -1 -1
-locales-lt -1 -1 -1
-locales-lv -1 -1 -1
-locales-mi -1 -1 -1
-locales-mk -1 -1 -1
-locales-ms -1 -1 -1
-locales-nl -1 -1 -1
-locales-no -1 -1 -1
-locales-oc -1 -1 -1
-locales-pd -1 -1 -1
-locales-ph -1 -1 -1
-locales-pl -1 -1 -1
-locales-pp -1 -1 -1
-locales-pt -1 -1 -1
-locales-ro -1 -1 -1
-locales-ru -1 -1 -1
-locales-sk -1 -1 -1
-locales-sl -1 -1 -1
-locales-sq -1 -1 -1
-locales-sr -1 -1 -1
-locales-sv -1 -1 -1
-locales-ta -1 -1 -1
-locales-tg -1 -1 -1
-locales-th -1 -1 -1
-locales-tr -1 -1 -1
-locales-tt -1 -1 -1
-locales-uk -1 -1 -1
-locales-vi -1 -1 -1
-locales-wa -1 -1 -1
-locales-yi -1 -1 -1
-locales-zh -1 -1 -1
-logrotate 0 25 15
-losetup 5 45 35
-lout 15 35 10
-lout-doc 31 32 10
-lpg 40 0 80
-lpr -99 -99 -99
-lrzsz 0 34 0
-lslk 20 49 54
-lsof 10 0 67
-ltrace 10 0 0
-lynx 42 78 84
-lyx 50 0 58
-m4 15 0 80
-macutils 22 5 19
-mailcap 5 5 4
-mailx 92 92 92
-make 50 50 94
-man 90 65 72
-man-pages 90 65 72
-man-pages-cs -10 -30 -25
-man-pages-de -10 -30 -25
-man-pages-es -10 -30 -25
-man-pages-fr -10 -30 -25
-man-pages-hu -10 -30 -25
-man-pages-id -10 -30 -25
-man-pages-it -10 -30 -25
-man-pages-ja -10 -30 -25
-man-pages-ko -10 -30 -25
-man-pages-pl -10 -30 -25
-man-pages-ru -10 -30 -25
-man-pages-zh -10 -30 -25
-mandrake-release 99 99 99
-mandrake_desk 88 0 88
-mandrake_doc-de -15 -90 -25
-mandrake_doc-en -15 -90 -25
-mandrake_doc-es -15 -90 -25
-mandrake_doc-fr -15 -90 -25
-mandrake_doc-it -15 -90 -25
-mandrake_doc-ru -15 -90 -25
-mars-nwe 0 35 0
-mathplot 30 0 20
-mawk 0 25 80
-mc 49 45 31
-mcserv 0 40 9
-mek 40 0 0
-memprof 2 5 65
-menu 90 0 80
-menudrake 79 75 75
-userdrake 50 0 40
-mercury 0 0 45
-metamail 40 80 50
-mgetty 24 20 9
-mgetty-contrib 28 20 15
-mgetty-sendfax 28 20 15
-mgetty-viewfax 28 20 15
-mgetty-voice 28 20 15
-mikmod 42 0 10
-mingetty 5 25 15
-minicom 27 0 4
-mirrordir 26 99 0
-mkbootdisk 35 55 60
-mkinitrd 99 99 99
-mkisofs 26 0 13
-mktemp 15 75 65
-mkxauth 2 99 1
-mm 0 0 15
-mm-devel 0 0 0
-mod_php -99 35 -99
-php-gd -99 15 -99
-php-imap -99 15 -99
-php-ldap -99 15 -99
-php-mysql -99 15 -99
-php-pgsql -99 15 -99
-php-oracle -99 15 -99
-php-dba_gdbm_db2 -99 15 -99
-php-readline -99 15 -99
-mod_ssl -99 75 -99
-mod_ssl-sxnet -99 30 -99
-modutils 99 99 99
-mon 0 40 0
-mount 97 97 97
-mouseconfig 0 0 0
-mozilla-fonts 0 0 0
-mp3info 50 20 50
-mpage 55 65 80
-mpeg_lib 0 0 0
-mpeg_lib-devel 0 0 30
-mpeg_lib-devel 0 0 0
-mpg123 42 0 42
-msec 98 98 98
-mt-st 40 0 49
-mtools 90 0 84
-mutt 10 0 10
-mxp 0 0 0
-nag 35 75 25
-nasm 20 20 65
-nasm-doc 0 20 65
-nasm-rdoff 0 20 65
-nc 0 0 0
-ncftp 55 0 49
-sftp 15 10 15
-ncompress 42 79 91
-ncpfs 0 0 0
-ncurses 0 0 80
-ncurses-extraterms 0 0 0
-ncurses-devel 10 0 75
-nedit 45 20 65
-net-tools 95 96 95
-netkit-base 82 99 82
-netscape-castellano -13 -30 -18
-netscape-catalan -13 -30 -18
-netscape-common 0 0 0
-netscape-communicator 78 60 73
-netscape-euskara -13 -30 -18
-netscape-francais -13 -30 -18
-netscape-german -13 -30 -18
-netscape-japanese -13 -30 -18
-netscape-navigator 0 0 0
-netscape-polish -13 -30 -18
-netscape-russian -13 -30 -18
-netscape-spanish -13 -30 -18
-netscape-walon -13 -30 -18
-newt 10 0 75
-newt-devel 10 0 75
-nfs-utils -99 80 13
-nfs-utils-clients 23 75 23
-nist 55 0 45
-nmap 5 40 40
-nmap-frontend 5 40 40
-nmh 0 0 0
-nscd 0 40 0
-nss_ldap 0 55 25
-ntp -1 -1 -1
-ntsysv 0 65 25
-numlock -11 -11 -11
-oaf 0 0 0
-oaf-devel 0 0 0
-ocaml 0 0 35
-octave 0 0 30
-oggvorbis 30 10 20
-oggvorbis-devel 0 0 15
-oggvorbis-examples 0 0 15
-open 20 45 80
-openjade 5 15 15
-openldap 0 50 35
-openldap-devel 0 0 25
-openssl 0 0 0
-openssl-devel 0 0 0
-oregano 0 0 0
-p2c 10 0 71
-p2c-devel 10 0 55
-pam 7 99 91
-pam-devel 0 0 0
-pam-doc 0 50 50
-pan 22 0 0
-pango 10 0 10
-pango-devel 0 0 10
-parted 35 35 35
-parted-devel 0 0 35
-passwd 99 99 99
-patch 14 0 72
-pciutils 16 55 55
-pciutils-devel 0 0 20
-pdksh 10 25 9
-penguin-command 35 0 10
-perl 20 19 90
-perl-Apache-Filter 0 0 0
-perl-Apache-SSI 0 0 0
-perl-Apache-Session 0 0 0
-perl-Compress-Zlib 0 0 0
-perl-Convert-BER 0 0 0
-perl-DBI 10 0 65
-perl-DBIx-Recordset 0 0 0
-perl-DB_File 10 0 50
-perl-Data-ShowTable 10 0 50
-perl-Date-Calc 0 0 0
-perl-DateManip 0 0 0
-perl-Devel-Symdump 0 0 0
-perl-Digest-MD5 10 0 70
-perl-ExtUtils_F77 0 0 0
-perl-File-Tail 0 0 0
-perl-GTK 10 0 72
-perl-GTK-GLArea 10 0 70
-perl-GTK-GdkImlib 10 0 70
-perl-GTK-Glade 10 0 70
-perl-GTK-Gnome 10 0 70
-perl-GTK-GtkHTML 0 0 0
-perl-HTML-Clean 0 0 0
-perl-HTML-Parser 10 0 55
-perl-HTML-SimpleParse 10 0 50
-perl-IO-stringy 5 0 65
-perl-MIME-Base64 5 0 45
-perl-MIME-tools 5 0 50
-perl-MLDBM 0 0 0
-perl-MP3-Info 5 0 40
-perl-Magick 0 0 0
-perl-MailTools 5 0 50
-perl-Mon 0 0 0
-perl-Msgcat 5 0 50
-perl-Mysql 5 0 40
-perl-Net-Telnet 0 0 0
-perl-Net_SSLeay 0 0 0
-perl-PDL 10 0 75
-perl-PDL-doc 0 0 0
-perl-Parse-RecDescent 10 0 75
-perl-Parse-Yapp 0 0 0
-perl-Period 0 0 0
-perl-RPM 0 0 0
-perl-Storable 0 0 0
-perl-Term-Readline-Gnu 10 10 88
-perl-Tie-Cache 0 0 0
-perl-Time-HiRes 0 0 0
-perl-TimeDate 0 0 0
-perl-Tk 0 15 0
-perl-Tk-devel 0 0 0
-perl-Tk-doc 0 0 0
-perl-URI 5 0 50
-perl-XML-Parser 0 0 0
-perl-XML-XSLT 0 0 0
-perl-base 0 0 0
-perl-devel 0 0 30
-perl-libnet 10 10 80
-perl-libwww-perl 10 10 80
-perl-libxml-enno 0 0 0
-perl-libxml-perl 0 0 0
-perl-Array-RefElem 0 0 0
-perl-Data-DumpXML 0 0 0
-perl-ExtUtils-PerlPP 0 0 0
-perl-File-NCopy 0 0 0
-perl-Image-Size 0 0 0
-perl-Mail-Sendmail 0 0 0
-perl-Net-XWhois 0 0 0
-perl-XML-RSS 0 0 0
-perlftlib 10 0 0
-php 0 35 5
-php-devel 0 0 5
-php-manual 0 0 5
-pidentd 15 69 87
-pilot-link 40 0 27
-perl-PDA-Pilot 0 0 0
-pilot-link-devel 11 0 25
-pine 40 0 27
-pinfo 20 20 20
-pingus 40 0 10
-piranha 0 10 0
-piranha-docs 0 10 0
-piranha-gui 0 10 0
-playmidi 43 0 19
-playmidi-X11 53 0 20
-plugger 40 0 40
-pmake 22 0 75
-pmake-customs 12 0 72
-popt 10 0 80
-popt-devel 0 0 45
-portmap 0 91 19
-postfix 20 88 51
-postgresql 0 56 23
-postgresql-devel 0 0 23
-postgresql-jdbc 0 0 15
-postgresql-odbc 0 0 23
-postgresql-perl 0 0 23
-postgresql-python 0 0 5
-postgresql-server 0 56 23
-postgresql-tcl 0 0 23
-postgresql-test 0 0 23
-postgresql-tk 0 0 5
-ppp 0 0 0
-pppoe-linuxconf 0 0 0
-pptp-adsl-fr -99 -99 -99
-pptp-client -99 -99 -99
-procinfo 24 15 96
-procmail 2 65 45
-procps 98 98 98
-procps-X11 50 0 32
-procps-devel 0 0 0
-proftpd -99 -99 -99
-psacct 20 70 87
-psmisc 25 62 56
-pspell 0 0 0
-pspell-devel 0 0 0
-psutils 5 42 15
-pth 0 0 25
-pth-devel 0 0 15
-publib-devel 0 0 0
-pump 0 0 0
-pump-devel 0 0 0
-pwdb 13 90 75
-pwdb-devel 0 0 50
-pygnome 12 0 50
-pygnome-applet 10 0 30
-pygnome-capplet 10 0 30
-pygnome-libglade 10 0 30
-pygtk 13 0 50
-pygtk-glarea 15 0 25
-pygtk-libglade 16 0 50
-pysol 27 0 27
-python 15 0 74
-python-devel 0 0 65
-python-docs 31 0 40
-python-imaging 31 0 40
-pythonlib 17 0 75
-qcad 5 0 5
-qiv 78 0 70
-qt 0 0 55
-qt-devel 10 0 55
-qt-qgl 10 0 50
-qt-qimgio 10 0 50
-qt2 0 0 45
-qt2-devel 0 0 45
-qt2-doc 0 0 30
-qtcups 0 0 0
-qtcups-devel 0 0 0
-queso 0 25 35
-quota 42 85 37
-raidtools 25 85 4
-rcs 12 0 71
-rdate 10 80 9
-rdist 10 75 9
-readline 11 0 70
-readline-devel 11 0 65
-recode 10 0 72
-recode-devel 0 0 50
-reiserfs-utils 60 60 60
-rep-gtk 0 0 20
-rep-gtk-gnome 0 0 20
-rep-gtk-libglade 0 0 20
-rgrep 55 55 75
-rhs-printfilters 1 1 0
-rmt 24 0 24
-rocksndiamonds 35 0 10
-rootfiles 99 99 99
-routed 0 90 19
-rp-pppoe -99 -99 -99
-rpm 99 99 99
-rpm-build 45 45 70
-rpm-devel 10 0 80
-rpm-python 0 0 50
-rpmdrake 84 0 81
-rpmlint 10 10 60
-rpmtools 0 0 25
-rpmtools-compat 0 0 0
-rpmtools-devel 0 0 25
-rsh 46 99 75
-rsh-server -99 55 25
-rsync 20 99 75
-ruby 0 0 25
-ruby-doc 0 0 25
-ruby-extensions 0 0 25
-ruby-gtk 0 0 25
-rusers 20 0 20
-rute -50 -75 -60
-rwall -1 0 -1
-rwho -1 0 -1
-rxvt 49 0 80
-rxvt-CLE -10 -90 -10
-sag 39 35 25
-samba 21 99 23
-samba-client 55 56 50
-samba-common 0 0 0
-sane 45 0 53
-sane-devel 10 0 2
-sash 5 5 5
-sawfish 59 0 57
-sawfish-themer 15 0 15
-sawfish-themes 50 0 50
-screen 26 43 79
-sed 97 97 97
-sendmail -99 -99 -99
-sendmail-cf 0 0 0
-sendmail-doc 0 0 0
-setserial 42 0 55
-setup 15 25 15
-sfm 25 0 25
-sgml-common 5 15 15
-sgml-tools 5 15 15
-sh-utils 97 97 97
-shadow-utils 98 98 98
-shapecfg 20 75 8
-sharutils 43 99 38
-sketch 45 0 0
-slang 12 0 75
-slang-devel 10 0 70
-slang-doc 0 0 70
-slocate 99 99 99
-slrn 10 0 10
-slrn-pull 35 0 45
-smpeg 50 0 25
-smpeg-devel 0 0 25
-sndconfig 70 40 70
-sox 41 32 80
-sox-devel 13 0 70
-space_sounds 52 0 55
-spacecup -1 -1 -1
-spec-helper 0 0 35
-spellutils 0 0 0
-spruce 0 0 0
-squid 0 45 16
-stat 5 55 45
-statserial 15 0 13
-strace 11 0 87
-sudo 0 30 0
-svgalib 10 0 63
-svgalib-devel 10 0 63
-swatch 22 65 4
-swi-prolog 5 5 45
-swig 0 0 20
-swig-devel 0 0 10
-symlinks 23 75 29
-sympa -1 40 -1
-sysklogd 97 97 97
-t1lib 1 0 29
-t1lib-devel 10 0 40
-taipeifonts -10 0 -10
-talk 44 0 39
-talk-server 0 0 0
-taper 42 0 27
-tar 97 97 97
-tcl 12 0 70
-tcllib 0 0 0
-tclx 12 0 70
-tcp_wrappers 0 99 0
-tcp_wrappers-devel 0 0 0
-tcpdump 10 79 2
-tcsh 1 25 15
-telnet 90 79 92
-openssh 65 75 65
-openssh-server -99 35 -99
-openssh-clients 65 75 65
-openssh-askpass 0 0 0
-openssh-askpass-gnome 0 0 0
-gnupg 90 90 90
-telnet-server -99 28 -99
-termcap 98 98 98
-tetex 25 0 50
-tetex-afm 25 0 40
-tetex-doc 25 0 40
-tetex-dvilj 40 0 40
-tetex-dvips 25 0 40
-tetex-latex 25 0 40
-tetex-latex-heb -65 -90 -90
-tetex-xdvi 25 0 50
-texinfo 22 0 50
-textutils 99 99 99
-teyjus 0 0 35
-tftp 0 40 2
-tftp-server 0 40 2
-thud 0 0 0
-time 40 65 87
-timeconfig 55 80 60
-timed 40 70 36
-timetool 54 0 57
-timidity-instruments 51 0 54
-tin 44 0 39
-tix 15 0 60
-tk 15 0 60
-tkbabel 15 0 15
-tkcvs 15 0 15
-tkinter 15 0 60
-tksysv 55 0 60
-tmake 10 0 25
-tmpwatch 35 75 60
-traceroute 40 79 29
-transfig 16 0 14
-tree 40 25 10
-trn 46 0 41
-trophy 35 0 10
-tunelp 24 15 28
-tuxracer -1 -1 -1
-ucd-snmp 0 70 45
-ucd-snmp-devel 0 25 45
-ucd-snmp-utils 0 37 45
-umb-scheme 10 0 65
-unarj 40 45 16
-units 22 0 10
-unixODBC 0 0 0
-unzip 70 75 91
-urlview 43 0 47
-urpmi 95 95 95
-urw-fonts 50 0 34
-usbview 5 0 10
-usermode 51 0 58
-usernet 42 55 37
-utempter 90 0 73
-utempter-devel 0 0 0
-util-linux 98 98 98
-uucp 0 80 2
-uxcook 0 0 0
-vigmeup 23 0 11
-vim-X11 52 0 26
-vim-common 0 19 0
-vim-enhanced 46 78 83
-vim-minimal 98 98 98
-vimguide 30 0 25
-vixie-cron 97 97 97
-vlock 40 99 80
-vnc 44 0 39
-vnc-SVGALIB 43 0 38
-vnc-doc 38 35 33
-vnc-java 38 0 34
-vnc-server 0 40 28
-webmin 20 40 20
-wget 65 75 53
-which 1 25 25
-wine 54 0 57
-wine-devel 0 0 0
-wmakerconf 47 0 57
-wmnet 24 0 21
-words 47 85 42
-wu-ftpd -99 85 -99
-wv 55 0 54
-wv-devel 0 0 0
-x3270 1 0 0
-xa+cv -10 -20 -10
-xalf 68 0 55
-xanim 58 0 54
-xbanner 15 0 12
-xboard 54 0 48
-xboing 53 0 47
-xcdroast 59 0 53
-xchat 58 0 52
-xcin -10 -10 -10
-xcpustate 53 0 47
-xdaliclock 57 0 51
-xdelta 16 0 5
-xdelta-devel 10 0 2
-xdosemu 34 0 37
-xearth 53 0 56
-xemacs 57 0 0
-xemacs-el 0 0 15
-xemacs-extras 50 0 36
-xemacs-info 54 0 42
-xemacs-mule 0 0 0
-xfce 0 0 0
-xfig 39 0 33
-xfishtank 51 0 45
-xgammon 40 0 31
-xinetd 0 0 0
-xinetd-devel 0 0 0
-xinitrc 0 0 0
-xinput 10 0 30
-xjewel 58 0 52
-xkobo 57 0 51
-xli 65 0 60
-xlispstat 2 0 45
-xloadimage 45 0 30
-xlockmore 58 0 52
-xmailbox 53 0 47
-xmame 25 0 25
-xmess 25 0 15
-xmms 64 0 57
-xmms-devel 0 0 15
-xmms-esd 46 0 41
-xmms-gnome 62 0 52
-xmms-kjofol-skins 50 0 50
-xmms-mesa -1 -1 -1
-xmms-mikmod 43 0 38
-xmms-more-vis-plugins 55 0 55
-xmms-oggvorbis 64 0 57
-xmms-skins 60 0 55
-xmms-smpeg 50 0 45
-xmorph 52 0 44
-xmovie 55 0 35
-xntp3 0 75 31
-xoscope 10 0 10
-xosview 51 0 45
-xpaint 53 0 47
-xpat2 43 0 38
-xpcd 40 0 30
-xpcd-gimp 30 0 25
-xpcd-svga 0 0 0
-xpdf 57 0 51
-xpilot 59 0 53
-xpm 52 0 64
-xpm-devel 10 0 56
-xpp 60 0 50
-xpuzzles 50 0 43
-xrally 5 0 5
-xrn 55 0 49
-xscreensaver 68 0 55
-xscreensaver-gl -1 -1 -1
-xsoldier 51 0 45
-xsysinfo 55 0 56
-xterm 87 0 80
-xtoolwait 50 0 35
-xtraceroute 50 0 40
-xtrojka 51 0 45
-xwc 65 0 40
-xwpe 0 0 20
-xwpe-X11 0 0 20
-xwpick 55 0 49
-xxgdb 53 0 47
-yodl 0 0 0
-yp-tools 0 40 0
-ypbind 0 40 0
-ypserv 0 0 0
-ytalk 21 75 18
-yudit 50 0 38
-zgv 15 0 13
-zip 70 65 87
-zlib 16 60 94
-zlib-devel 10 0 72
-zsh 20 50 72
-zsh-doc 0 35 60
-jpilot 40 0 30
-jpilot-Mail 12 0 10
-jpilot-syncmal 12 0 10
-jpilot-plugin-devel 0 0 0
-Maelstrom 50 0 35
-auctex 5 0 5
-bcast 15 0 10
-mpeg2_movie 10 0 8
-bg5ps -10 -10 -10
-eroaster 55 0 45
-everybuddy 52 0 52
-jabber 0 30 0
-libjabber 0 0 0
-libjabber-devel 0 0 0
-gabber 35 10 20
-gdk-pixbuf-gnomecanvas 0 0 0
-gdk-pixbuf-loaders 0 0 0
-gdk-pixbuf-xlib 0 0 0
-htdig 20 0 15
-libxode 0 0 0
-libxode-devel 0 0 0
-libgnet 0 0 0
-libgnet-devel 0 0 0
-libetherx 0 0 0
-libetherx-devel 0 0 0
-screem 55 0 60
-portsentry 0 15 0
-ttfprint -10 -10 -10
-kde-i18n-Afrikaans -12 -51 -23
-kde-i18n-Basque -12 -51 -23
-kde-i18n-Brazil -12 -51 -23
-kde-i18n-Breton -12 -51 -23
-kde-i18n-British -12 -51 -23
-kde-i18n-Bulgarian -12 -51 -23
-kde-i18n-Catalan -12 -51 -23
-kde-i18n-Chinese -12 -51 -23
-kde-i18n-Chinese-Big5 -12 -51 -23
-kde-i18n-Croatian -12 -51 -23
-kde-i18n-Czech -12 -51 -23
-kde-i18n-Danish -12 -51 -23
-kde-i18n-Dutch -12 -51 -23
-kde-i18n-Esperanto -12 -51 -23
-kde-i18n-Estonian -12 -51 -23
-kde-i18n-Finnish -12 -51 -23
-kde-i18n-French -12 -51 -23
-kde-i18n-Galacian -12 -51 -23
-kde-i18n-German -12 -51 -23
-kde-i18n-Greek -12 -51 -23
-kde-i18n-Hebrew -12 -51 -23
-kde-i18n-Hungarian -12 -51 -23
-kde-i18n-Icelandic -12 -51 -23
-kde-i18n-Italian -12 -51 -23
-kde-i18n-Japanese -12 -51 -23
-kde-i18n-Korean -12 -51 -23
-kde-i18n-Lithuanian -12 -51 -23
-kde-i18n-Macedonian -12 -51 -23
-kde-i18n-Maori -12 -51 -23
-kde-i18n-Norwegian -12 -51 -23
-kde-i18n-Norwegian -12 -51 -23
-kde-i18n-Polish -12 -51 -23
-kde-i18n-Portuguese -12 -51 -23
-kde-i18n-Romanian -12 -51 -23
-kde-i18n-Russian -12 -51 -23
-kde-i18n-Serbian -12 -51 -23
-kde-i18n-Slovak -12 -51 -23
-kde-i18n-Slovenian -12 -51 -23
-kde-i18n-Spanish -12 -51 -23
-kde-i18n-Swedish -12 -51 -23
-kde-i18n-Tamil -12 -51 -23
-kde-i18n-Thai -12 -51 -23
-kde-i18n-Turkish -12 -51 -23
-kde-i18n-Ukrainian -12 -51 -23
-kde-i18n-Walloon -12 -51 -23
-kde-i18n-Welsh -12 -51 -23
-kde-i18n-Norwegian-Nynorsk -12 -51 -23
-linuxconf-lang-cn -35 -60 -35
-linuxconf-lang-cs -35 -60 -35
-linuxconf-lang-de -35 -60 -35
-linuxconf-lang-es -35 -60 -35
-linuxconf-lang-fi -35 -60 -35
-linuxconf-lang-fr -35 -60 -35
-linuxconf-lang-it -35 -60 -35
-linuxconf-lang-ko -35 -60 -35
-linuxconf-lang-no -35 -60 -35
-linuxconf-lang-pt -35 -60 -35
-linuxconf-lang-ro -35 -60 -35
-linuxconf-lang-ru-SU -35 -60 -35
-linuxconf-lang-se -35 -60 -35
-linuxconf-lang-sk -35 -60 -35
-linuxconf-lang-zh -35 -60 -35
-7colors 15 0 0
-ltris 28 0 0
-lbreakout 35 0 0
-fonts-hebrew-elmar -30 -30 -30
-kwintv 0 0 0
-xawtv 0 0 0
-xawtv-misc 0 0 0
-xawtv-radio 0 0 0
-wxxt 0 0 0
-wxxt-devel 0 0 0
-surfraw 0 0 0
-R-base 0 0 0
-gpa 20 0 0
-gnome-telnet 0 0 0
-quanta 32 0 24
-nslint 0 12 0
-logcheck 0 12 0
-kisdn-free 33 0 30
-
-# commercial
-ac3d 20 0 20
-acroread 24 15 24
-acroread-nppdf 24 15 24
-IglooFTP-PRO 20 20 20
-interbase 0 15 15
-interbase-docs 0 15 15
-civctp-demo 22 0 20
-compupic 19 0 19
-commercial-menu 50 40 50
-eus-demo 23 0 20
-myth2-demo 24 0 25
-macromedia-flash 45 15 45
-RealPlayer 27 15 27
-RealPlayer-rpnp 27 15 27
-scol 23 0 23
-avp-database 20 20 20
-avp-linux 20 20 20
-arkeia-arkc 0 20 0
-arkeia-client 20 0 20
-arkeia-gui 24 0 20
-arkeia-server-shareware 0 30 0
-Artstream 20 0 0
-citrix-icaclient-en -70 -70 -70
-citrix-icaclient-fr -70 -70 -70
-citrix-icaclient-ge -70 -70 -70
-citrix-icaclient-sp -70 -70 -70
-printpro 0 0 0
-printpro-agfa 0 0 0
-printpro-alps 0 0 0
-printpro-apple 0 0 0
-printpro-autologic 0 0 0
-printpro-calcomp 0 0 0
-printpro-canon 0 0 0
-printpro-digital 0 0 0
-printpro-efi 0 0 0
-printpro-encad 0 0 0
-printpro-epson 0 0 0
-printpro-hp 0 0 0
-printpro-ibm 0 0 0
-printpro-lexmark 0 0 0
-printpro-lhag 0 0 0
-printpro-linotronic 0 0 0
-printpro-nec 0 0 0
-printpro-oki 0 0 0
-printpro-otheram 0 0 0
-printpro-othernz 0 0 0
-printpro-qms 0 0 0
-printpro-seiko 0 0 0
-printpro-sony 0 0 0
-printpro-tektronix 0 0 0
-printpro-ti 0 0 0
-printpro-varityper 0 0 0
-printpro-xerox 0 0 0
-emumail4.0 0 20 0
-EnlightenDSMFree 0 24 0
-EnlightenDSMFree-dsa 0 24 0
-EnlightenDSMFree-gui 0 24 0
-ForteCE-FCS 0 0 30
-ViaVoice_Outloud_rtk 0 0 45
-ViaVoice_Outloud_sdk 0 0 45
-ViaVoice_runtime 0 0 45
-ViaVoice_sdk 0 0 45
-jdk-sun 0 0 35
-jdk-sun-doc 0 0 35
-jre-sun 20 0 35
-heretic2-demo 24 0 24
-heroes3-demo 24 0 24
-rt2-demo 24 0 24
-MainActor 24 0 0
-mupad 20 0 20
-mtv 24 0 24
-mtv-fullscreen-extension 15 0 15
-NetPartitioner 0 24 0
-omnimark 0 0 35
-rebol-core 0 0 30
-staroffice-de -64 -90 -64
-staroffice-en -64 -90 -64
-staroffice-fr -64 -90 -64
-staroffice-it -64 -90 -64
-staroffice-nl -64 -90 -64
-staroffice-pt -64 -90 -64
-staroffice-es -64 -90 -64
-staroffice-sv -64 -90 -64
-tina-base 0 0 0
-tina-lesstif 0 0 0
-tina-oracle80 0 0 0
-tina-oracle8i 0 0 0
-tina-server 0 0 0
-VMware 20 0 35
-VariCAD 24 0 24
-ViaVoice_runtime 26 0 26
-<<<<<<< compssList
-viavoicemenu 26 0 26
-=======
-viavoicemenu 26 0 26
->>>>>>> 1.139
-kisdn 0 0 0
diff --git a/perl-install/share/compssUsers b/perl-install/share/compssUsers
deleted file mode 100644
index 504344b22..000000000
--- a/perl-install/share/compssUsers
+++ /dev/null
@@ -1,94 +0,0 @@
- # --- Workstation
-
-Office Workstation [icon=office] [path=Workstation] [descr=Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc]
- OFFICE
- PUBLISHING
- PIM
-
-Game station [icon=arcade] [path=Workstation] [descr=Amusement programs: arcade, boards, strategy, etc]
- GAMES
-
-Multimedia station [icon=multimedia] [path=Workstation] [descr=Sound and video playing/editing programs]
- AUDIO
- VIDEO
- GRAPHICS
-
-Internet station [icon=networking] [path=Workstation] [descr=Set of tools to read and send mail and news (pine, mutt, tin..) and to browse the Web]
- NETWORKING_WWW
- NETWORKING_MAIL
- NETWORKING_NEWS
- COMMUNICATIONS
- NETWORKING_CHAT
- NETWORKING_FILE_TRANSFER
- NETWORKING_IRC
- NETWORKING_INSTANT_MESSAGING
-
-Network Computer (client) [icon=terminals] [path=Workstation] [descr=Clients for different protocols including ssh]
- NETWORKING_REMOTE_ACCESS
- NETWORKING_FILE
- NIS
-
-Configuration [icon=configuration] [path=Workstation] [descr=Tools to ease the configuration of your computer]
- CONFIG
-
-Scientific Workstation [icon=sciences] [path=Workstation] [descr=]
- SCIENCES
-
-Console Tools [icon=terminals] [path=Workstation] [descr=Editors, shells, file tools, terminals]
- EDITORS
- TERMINALS
- TEXT_TOOLS
- SHELLS
- FILE_TOOLS
-
-Utilities [icon=configuration] [path=Workstation] [descr=Archiving, emulators, monitoring]
- MONITORING
- EMULATORS
- ACCESSIBILITY
- ARCHIVING
- NETWORKING_OTHER
-
- # --- Graphical Environment
-
-KDE Workstation [icon=kde] [path=Graphical Environment] [descr=The K Desktop Environment, the basic graphical environment with a collection of accompanying tools]
- KDE
-
-Gnome Workstation [icon=gnome] [path=Graphical Environment] [descr=A graphical environment with user-friendly set of applications and desktop tools]
- GNOME
-
-Other Graphical Desktops [icon=windowmanager] [path=Graphical Environment] [descr=Icewm, Window Maker, Enlightenment, Fvwm, etc]
- GRAPHICAL_DESKTOP
-
-
- # --- Development
-
-Development [icon=editors] [path=Development] [descr=C and C++ development libraries, programs and include files]
- DEVELOPMENT
-
-Documentation [icon=documentation] [path=Development] [descr=Books and Howto's on Linux and Free Software]
- BOOKS
-
- # --- Server
-
-Web/FTP [icon=file_transfer] [path=Server] [descr=Apache, Pro-ftpd]
- NETWORKING_WWW_SERVER
- NETWORKING_FILE_TRANSFER_SERVER
-
-Mail/Groupware/News [icon=mail] [path=Server] [descr=Postfix mail server, Inn news server]
- NETWORKING_MAIL_SERVER
- NETWORKING_NEWS_SERVER
-
-Database [icon=archiving] [path=Server] [descr=PostgreSQL or MySQL database server]
- DATABASES
- DATABASES_SERVER
-
-Firewall/Router [icon=networking] [path=Server] [descr=Internet gateway]
- NETWORKING_FIREWALLING_SERVER
-
-DNS/NIS [icon=hardware] [path=Server] [descr=Domain Name and Network Information Server]
- NIS_SERVER
- NETWORKING_DNS_SERVER
-
-Network Computer server [icon=networking] [path=Server] [descr=NFS server, SMB server, Proxy server, ssh server]
- NETWORKING_FILE_SERVER
- NETWORKING_REMOTE_ACCESS_SERVER
diff --git a/perl-install/share/compssUsers.desktop b/perl-install/share/compssUsers.desktop
deleted file mode 100644
index f836d6731..000000000
--- a/perl-install/share/compssUsers.desktop
+++ /dev/null
@@ -1,39 +0,0 @@
-Office [icon=office] [descr=Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc]
- Office
-
-Internet [icon=networking] [descr=Set of tools for mail, news, web, file transfer, and chat]
- Networking
-
-Games [icon=amusement] [descr=Amusement programs: arcade, boards, strategy, etc]
- Games
-
-Multimedia - Graphics [icon=graphics] [descr=Graphics programs such as The Gimp]
- Graphics
-
-Multimedia - Sound [icon=multimedia] [descr=Audio-related tools: mp3 or midi players, mixers, etc]
- Sound
-
-Multimedia - Video [icon=video] [descr=Video players and editors]
- Video
-
-Multimedia - CD Burning [icon=cd_burning] [descr=Tools to create and burn CD's]
- Archiving/Cd burning
-
-More Graphical Desktops (Gnome, IceWM) [icon=windowmanager] [descr=Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc]
- Graphical desktop/GNOME
- Graphical desktop/Sawmill
- Graphical desktop/Icewm
- +XFree86-75dpi-fonts
- +fonts-ttf-west_european
-
-Personal Information Management [icon=remote_access] [descr=Tools for your Palm Pilot or your Visor]
- +jpilot
- +pilot-link
- +kde-pim
- +gnome-pim
- +gnome-pim-conduits
-
-Personal Finance [icon=sciences] [descr=Programs to manage your finance, such as gnucash]
- +gnucash
- +MoneyDance
-
diff --git a/perl-install/share/consolefonts/Cyr_a8x16 b/perl-install/share/consolefonts/Cyr_a8x16
deleted file mode 100644
index a09ac03d8..000000000
--- a/perl-install/share/consolefonts/Cyr_a8x16
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/consolefonts/lat0-sun16 b/perl-install/share/consolefonts/lat0-sun16
deleted file mode 100644
index 19e3d432e..000000000
--- a/perl-install/share/consolefonts/lat0-sun16
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/consolefonts/lat2-sun16 b/perl-install/share/consolefonts/lat2-sun16
deleted file mode 100644
index 509e5def2..000000000
--- a/perl-install/share/consolefonts/lat2-sun16
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/consolefonts/ruscii_8x16 b/perl-install/share/consolefonts/ruscii_8x16
deleted file mode 100644
index b0513a9db..000000000
--- a/perl-install/share/consolefonts/ruscii_8x16
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/diskdrake.rc b/perl-install/share/diskdrake.rc
deleted file mode 100644
index 06bdee053..000000000
--- a/perl-install/share/diskdrake.rc
+++ /dev/null
@@ -1,43 +0,0 @@
-style "font"
-{
- fontset = "-*-*-medium-r-normal-*-8-*-*-*-*-*-iso8859-1,*-r-*"
-}
-
-style "red" = "font"
-{
- bg[NORMAL] = { 1.0, 0, 0 }
- bg[PRELIGHT] = { 0.9, 0, 0 }
-}
-style "darkred" = "font"
-{
- bg[NORMAL] = { 0.7, 0, 0 }
- bg[PRELIGHT] = { 0.6, 0, 0 }
-}
-style "green" = "font"
-{
- bg[NORMAL] = { 0, 1.0, 0 }
- bg[PRELIGHT] = { 0, 0.9, 0 }
- fg[NORMAL] = { 0, 0, 0 }
-}
-style "blue" = "font"
-{
- bg[NORMAL] = { 0, 0, 1.0 }
- bg[PRELIGHT] = { 0, 0, 0.9 }
-}
-style "white" = "font"
-{
- bg[NORMAL] = { 1.0, 1.0, 1.0 }
- bg[PRELIGHT] = { 0.67, 0.67, 0.67 }
- fg[NORMAL] = { 0, 0, 0 }
-}
-
-widget "*Linux*" style "red"
-widget "*Ext2*" style "red"
-widget "*ReiserFS*" style "darkred"
-widget "*Linux swap*" style "green"
-widget "*Swap*" style "green"
-widget "*FAT*" style "blue"
-widget "*SunOS*" style "blue"
-widget "*NT NTFS*" style "blue"
-widget "*Empty*" style "white"
-widget "*Other*" style "font"
diff --git a/perl-install/share/fonts.tar.bz2 b/perl-install/share/fonts.tar.bz2
deleted file mode 100644
index 456b14e31..000000000
--- a/perl-install/share/fonts.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/ftin.png b/perl-install/share/ftin.png
deleted file mode 100644
index 3cec3c194..000000000
--- a/perl-install/share/ftin.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/ftout.png b/perl-install/share/ftout.png
deleted file mode 100644
index d821716eb..000000000
--- a/perl-install/share/ftout.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/help.png b/perl-install/share/help.png
deleted file mode 100644
index 418aebe1a..000000000
--- a/perl-install/share/help.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/install.rc b/perl-install/share/install.rc
deleted file mode 100644
index b86a22c29..000000000
--- a/perl-install/share/install.rc
+++ /dev/null
@@ -1,21 +0,0 @@
-style "default-font"
-{
- fontset = "-*-*-medium-r-normal-*-12-*-*-*-*-*-iso8859-15"
-}
-
-style "small-font"
-{
- fontset = "-*-*-medium-r-normal-*-8-*-*-*-*-*-iso8859-15"
-}
-
-style "logo" = "background"
-{
- # no background image
- engine "pixmap" { image { function = FLAT_BOX } }
-}
-
-widget "*" style "default-font"
-widget "Steps" style "steps"
-widget "*Steps*" style "small-font"
-widget "*logo*" style "logo"
-
diff --git a/perl-install/share/keyboards.tar.bz2 b/perl-install/share/keyboards.tar.bz2
deleted file mode 100644
index 1b5d03adc..000000000
--- a/perl-install/share/keyboards.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/keymaps.tar.bz2 b/perl-install/share/keymaps.tar.bz2
deleted file mode 100644
index 8ca03c137..000000000
--- a/perl-install/share/keymaps.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/keymaps_generate b/perl-install/share/keymaps_generate
deleted file mode 100755
index 0265502c9..000000000
--- a/perl-install/share/keymaps_generate
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/perl
-
-use lib "..";
-use keyboard;
-
-my $dir = "keymaps/usr/share/keymaps";
-system("rm -rf keymaps ; mkdir -p keymaps/usr/share/keymaps");
-
-foreach (keyboard::keyboards()) {
- my $kmap = keyboard::keyboard2kmap($_);
- if (system("./kmap2bkmap $kmap > $dir/$kmap.bkmap 2>/dev/null") != 0) {
- warn "unknown kmap $kmap\n";
- unlink "$dir/$kmap.bkmap";
- }
-}
-
-system("tar cfj keymaps.tar.bz2 -C keymaps usr") == 0 or die;
-system("rm -rf keymaps");
diff --git a/perl-install/share/kmap2bkmap b/perl-install/share/kmap2bkmap
deleted file mode 100755
index 3aff35c3e..000000000
--- a/perl-install/share/kmap2bkmap
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/perl
-
-use lib "..";
-use c;
-
-my $KMAP_MAGIC = 0x8B39C07F;
-
-BEGIN { @ARGV == 1 or die "usage: kmap2bkmap <keymap>\n" }
-
-system("sudo loadkeys $ARGV[0]") == 0 or die;
-open F, "dumpkeys -n -f |";
-<F> =~ /^keymaps\s+(.*)/ or die;
-foreach (split ',', $1) {
- my @l = /(\d+)-(\d+)/;
- my ($i, $j) = @l ? @l : ($_,$_);
- $keymaps[$_] = 1 foreach $i .. $j;
-}
-
-print pack("I", $KMAP_MAGIC);
-print map { pack "i", $keymaps[$_] || 0 } 0 .. c::MAX_NR_KEYMAPS()-1;
-
-foreach (<F>) {
- s/\+0x/0x/g;
- my ($keycode, $key, undef, @l) = split;
- $keycode eq 'keycode' or next;
- my $i = 0;
- $L[$i++][$key] = hex $_ foreach @l;
-}
-close F or die "dumpkeys failed";
-
-foreach (@L) {
- foreach my $i (0 .. c::NR_KEYS()-1) {
- print pack "s", defined $_->[$i] ? $_->[$i] : 0x200;
- }
-}
-
-exit 0;
diff --git a/perl-install/share/list b/perl-install/share/list
deleted file mode 100644
index 3c4ba4f44..000000000
--- a/perl-install/share/list
+++ /dev/null
@@ -1,160 +0,0 @@
-/bin/ash
-/bin/consolechars
-/bin/cpio
-/bin/gzip
-/lib/libnss_nis.so.2
-/lib/libnss_files.so.2
-/lib/libnss_dns.so.2
-/lib/libresolv.so.2
-/etc/protocols
-/etc/imrc
-/etc/im_palette.pal
-/sbin/badblocks
-/sbin/fdisk
-/sbin/insmod
-/sbin/mkraid
-/sbin/mkreiserfs
-/sbin/mke2fs
-/sbin/raidstart
-/sbin/resize2fs
-/sbin/dumpe2fs
-/usr/X11R6/lib/modules/xf86Wacom.so
-/usr/bin/bzip2
-/usr/bin/packdrake
-/usr/bin/parsehdlist
-/usr/bin/perl
-/usr/lib/gconv/BIG5.so
-/usr/lib/gconv/EUC-JP.so
-/usr/lib/gconv/libGB.so
-/usr/lib/gconv/libJIS.so
-/usr/lib/gconv/libKSC.so
-/usr/lib/gconv/EUC-KR.so
-/usr/lib/gconv/ISIRI-3342.so
-/usr/lib/gconv/ISO8859-15.so
-/usr/lib/gconv/ISO8859-14.so
-/usr/lib/gconv/ISO8859-13.so
-/usr/lib/gconv/ISO8859-9E.so
-/usr/lib/gconv/ISO8859-9.so
-/usr/lib/gconv/ISO8859-7.so
-/usr/lib/gconv/ISO8859-6.so
-/usr/lib/gconv/ISO8859-5.so
-/usr/lib/gconv/ISO8859-3.so
-/usr/lib/gconv/ISO8859-2.so
-/usr/lib/gconv/ISO8859-1.so
-/usr/lib/gconv/KOI8-K.so
-/usr/lib/gconv/KOI8-U.so
-/usr/lib/gconv/KOI8-R.so
-/usr/lib/gconv/TIS-620.so
-/usr/lib/gconv/ARMSCII-8.so
-/usr/lib/gconv/CP1251.so
-/usr/lib/gconv/CP1255.so
-/usr/lib/gconv/CP1256.so
-/usr/lib/gconv/TCVN-5712.so
-/usr/lib/gconv/GEORGIAN-PS.so
-/usr/lib/gconv/EUC-CN.so
-/usr/lib/gconv/gconv-modules
-/usr/lib/gtk/themes/engines/libpixmap.so
-/usr/lib/gtk/themes/engines/libpixmap.la
-/usr/lib/libimlib-png.so
-/usr/lib/perl5/PERL_VERSION/AutoLoader.pm
-/usr/lib/perl5/PERL_VERSION/Carp.pm
-/usr/lib/perl5/PERL_VERSION/Carp/Heavy.pm
-/usr/lib/perl5/PERL_VERSION/Exporter.pm
-/usr/lib/perl5/PERL_VERSION/Exporter/Heavy.pm
-/usr/lib/perl5/PERL_VERSION/FileHandle.pm
-/usr/lib/perl5/PERL_VERSION/SelectSaver.pm
-/usr/lib/perl5/PERL_VERSION/SelfLoader.pm
-/usr/lib/perl5/PERL_VERSION/Symbol.pm
-/usr/lib/perl5/PERL_VERSION/Time/Local.pm
-/usr/lib/perl5/PERL_VERSION/IO/Socket/INET.pm
-/usr/lib/perl5/PERL_VERSION/IO/Socket/UNIX.pm
-/usr/lib/perl5/PERL_VERSION/dumpvar.pl
-/usr/lib/perl5/PERL_VERSION/warnings.pm
-/usr/lib/perl5/PERL_VERSION/warnings/register.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/File/Glob.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/auto/File/Glob/Glob.so
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/Config.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/Data/Dumper.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/DynaLoader.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/Errno.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/Fcntl.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/XSLoader.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/auto/Fcntl/Fcntl.so
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/IO.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/IO/File.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/IO/Handle.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/IO/Seekable.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/IO/Select.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/IO/Socket.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/Socket.pm
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/_h2ph_pre.ph
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/asm/unistd.ph
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/auto/Data/Dumper/Dumper.so
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/auto/IO/IO.so
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/auto/Socket/Socket.so
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/bits/syscall.ph
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/sys/syscall.ph
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/syscall.ph
-/usr/lib/perl5/PERL_VERSION/ARCH-linux/auto/DynaLoader/dl_findfile.al
-/usr/lib/perl5/PERL_VERSION/lib.pm
-/usr/lib/perl5/PERL_VERSION/overload.pm
-/usr/lib/perl5/PERL_VERSION/strict.pm
-/usr/lib/perl5/PERL_VERSION/vars.pm
-/usr/lib/perl5/site_perl/5.6.0/Net/Cmd.pm
-/usr/lib/perl5/site_perl/5.6.0/Net/Config.pm
-/usr/lib/perl5/site_perl/5.6.0/Net/FTP.pm
-/usr/lib/perl5/site_perl/5.6.0/Net/FTP/A.pm
-/usr/lib/perl5/site_perl/5.6.0/Net/FTP/I.pm
-/usr/lib/perl5/site_perl/5.6.0/Net/FTP/dataconn.pm
-/usr/lib/perl5/site_perl/5.6.0/Net/Netrc.pm
-/usr/lib/perl5/site_perl/PERL_VERSION/ARCH-linux/packdrake.pm
-/usr/lib/perl5/site_perl/PERL_VERSION/ARCH-linux/Gtk.pm
-/usr/lib/perl5/site_perl/PERL_VERSION/ARCH-linux/Gtk/Types.pm
-/usr/lib/perl5/site_perl/PERL_VERSION/ARCH-linux/Gtk/Gdk/ImlibImage.pm
-/usr/lib/perl5/site_perl/PERL_VERSION/ARCH-linux/auto/Gtk/Gtk.so
-/usr/lib/perl5/site_perl/PERL_VERSION/ARCH-linux/auto/Gtk/Gdk/ImlibImage/ImlibImage.so
-/usr/lib/rpm/rpmrc
-/usr/lib/rpm/macros
-/sbin/rescuept
-/usr/share/icons/amusement_section.xpm
-/usr/share/icons/arcade_section.xpm
-/usr/share/icons/cd_burning_section.xpm
-/usr/share/icons/chat_section.xpm
-/usr/share/icons/default_section.xpm
-/usr/share/icons/documentation_section.xpm
-/usr/share/icons/gnome.xpm
-/usr/share/icons/graphics_section.xpm
-/usr/share/icons/kde.xpm
-/usr/share/icons/multimedia_section.xpm
-/usr/share/icons/development_section.xpm
-/usr/share/icons/networking_section.xpm
-/usr/share/icons/mail_section.xpm
-/usr/share/icons/archiving_section.xpm
-/usr/share/icons/hardware_section.xpm
-/usr/share/icons/file_transfer_section.xpm
-/usr/share/icons/office_section.xpm
-/usr/share/icons/remote_access_section.xpm
-/usr/share/icons/sciences_section.xpm
-/usr/share/icons/video_section.xpm
-/usr/share/icons/windowmanager_section.xpm
-/usr/share/icons/editors_section.xpm
-/usr/share/icons/terminals_section.xpm
-/usr/share/icons/configuration_section.xpm
-/usr/share/ldetect-lst/Cards+
-/usr/share/ldetect-lst/CardsNames
-/usr/share/ldetect-lst/MonitorsDB
-/usr/share/ldetect-lst/isdn.db
-/usr/share/ldetect-lst/pcitable
-/usr/share/ldetect-lst/usbtable
-
-/sbin/pvcreate
-/sbin/pvdisplay
-/sbin/vgchange
-/sbin/vgcreate
-/sbin/vgdisplay
-/sbin/vgextend
-/sbin/vgremove
-/sbin/vgscan
-/sbin/lvcreate
-/sbin/lvdisplay
-/sbin/lvremove
diff --git a/perl-install/share/list.alpha b/perl-install/share/list.alpha
deleted file mode 100644
index 81f7dcb0c..000000000
--- a/perl-install/share/list.alpha
+++ /dev/null
@@ -1,6 +0,0 @@
-/usr/X11R6/bin/XF86_3DLabs
-/usr/X11R6/bin/XF86_SVGA
-/usr/X11R6/bin/XF86_TGA
-/usr/X11R6/bin/XF86_S3
-/usr/X11R6/bin/XF86_Mach64
-/usr/X11R6/bin/xmodmap
diff --git a/perl-install/share/list.i386 b/perl-install/share/list.i386
deleted file mode 100644
index 9575f3896..000000000
--- a/perl-install/share/list.i386
+++ /dev/null
@@ -1,6 +0,0 @@
-/sbin/ifport
-/sbin/mkdosfs
-/sbin/resize_reiserfs
-/usr/X11R6/bin/XF86_FBDev
-/usr/X11R6/bin/XF86_VGA16
-/usr/X11R6/bin/xmodmap
diff --git a/perl-install/share/list.ppc b/perl-install/share/list.ppc
deleted file mode 100644
index fd74a05f6..000000000
--- a/perl-install/share/list.ppc
+++ /dev/null
@@ -1,8 +0,0 @@
-/usr/bin/hformat
-/usr/bin/hmount
-/usr/bin/humount
-/usr/bin/hattrib
-/usr/bin/hcopy
-/usr/bin/hcd
-/sbin/pdisk
-/usr/X11R6/bin/Xpmac
diff --git a/perl-install/share/list.sparc b/perl-install/share/list.sparc
deleted file mode 100644
index 16fb13a44..000000000
--- a/perl-install/share/list.sparc
+++ /dev/null
@@ -1,84 +0,0 @@
-/bin/ash
-/bin/cpio
-/lib/libnss_nis.so.2
-/lib/libnss_files.so.2
-/lib/libnss_dns.so.2
-/lib/libresolv.so.2
-/etc/protocols
-/sbin/fdisk
-/sbin/ifport
-/sbin/insmod
-/sbin/mkraid
-/sbin/rmmod
-/sbin/mkdosfs
-/sbin/mke2fs
-/sbin/raidstart
-/sbin/losetup
-/usr/bin/genromfs
-/usr/bin/bzip2
-/usr/bin/perl
-/usr/lib/libimlib-png.so
-/usr/lib/gtk/themes/engines/libpixmap.so
-/usr/lib/gtk/themes/engines/libpixmap.la
-/usr/lib/libimlib-png.so
-/usr/lib/perl5/5.6.0/AutoLoader.pm
-/usr/lib/perl5/5.6.0/Carp.pm
-/usr/lib/perl5/5.6.0/sparc-linux/Data/Dumper.pm
-/usr/lib/perl5/5.6.0/Exporter.pm
-/usr/lib/perl5/5.6.0/Carp/Heavy.pm
-/usr/lib/perl5/5.6.0/Exporter/Heavy.pm
-/usr/lib/perl5/5.6.0/FileHandle.pm
-/usr/lib/perl5/5.6.0/SelectSaver.pm
-/usr/lib/perl5/5.6.0/SelfLoader.pm
-/usr/lib/perl5/5.6.0/Symbol.pm
-/usr/lib/perl5/5.6.0/Time/Local.pm
-/usr/lib/perl5/5.6.0/dumpvar.pl
-/usr/lib/perl5/5.6.0/warnings.pm
-/usr/lib/perl5/5.6.0/warnings/register.pm
-/usr/lib/perl5/5.6.0/sparc-linux/File/Glob.pm
-/usr/lib/perl5/5.6.0/sparc-linux/auto/File/Glob/Glob.bs
-/usr/lib/perl5/5.6.0/sparc-linux/auto/File/Glob/Glob.so
-/usr/lib/perl5/5.6.0/sparc-linux/Config.pm
-/usr/lib/perl5/5.6.0/sparc-linux/XSLoader.pm
-/usr/lib/perl5/5.6.0/sparc-linux/DynaLoader.pm
-/usr/lib/perl5/5.6.0/sparc-linux/Fcntl.pm
-/usr/lib/perl5/5.6.0/sparc-linux/auto/Fcntl/Fcntl.bs
-/usr/lib/perl5/5.6.0/sparc-linux/auto/Fcntl/Fcntl.so
-/usr/lib/perl5/5.6.0/sparc-linux/IO/File.pm
-/usr/lib/perl5/5.6.0/sparc-linux/IO/Handle.pm
-/usr/lib/perl5/5.6.0/sparc-linux/IO/Seekable.pm
-/usr/lib/perl5/5.6.0/sparc-linux/IO/Socket.pm
-/usr/lib/perl5/5.6.0/sparc-linux/Socket.pm
-/usr/lib/perl5/5.6.0/sparc-linux/_h2ph_pre.ph
-/usr/lib/perl5/5.6.0/sparc-linux/asm/unistd.ph
-/usr/lib/perl5/5.6.0/sparc-linux/asm-sparc/unistd.ph
-/usr/lib/perl5/5.6.0/sparc-linux/asm-sparc64/unistd.ph
-/usr/lib/perl5/5.6.0/sparc-linux/auto/Data/Dumper/Dumper.bs
-/usr/lib/perl5/5.6.0/sparc-linux/auto/Data/Dumper/Dumper.so
-/usr/lib/perl5/5.6.0/sparc-linux/auto/IO/IO.so
-/usr/lib/perl5/5.6.0/sparc-linux/auto/Socket/Socket.bs
-/usr/lib/perl5/5.6.0/sparc-linux/auto/Socket/Socket.so
-/usr/lib/perl5/5.6.0/sparc-linux/bits/syscall.ph
-/usr/lib/perl5/5.6.0/sparc-linux/sys/syscall.ph
-/usr/lib/perl5/5.6.0/sparc-linux/syscall.ph
-/usr/lib/perl5/5.6.0/sparc-linux/auto/DynaLoader/dl_findfile.al
-/usr/lib/perl5/5.6.0/lib.pm
-/usr/lib/perl5/5.6.0/overload.pm
-/usr/lib/perl5/5.6.0/strict.pm
-/usr/lib/perl5/5.6.0/vars.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Gtk.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Gtk/Types.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/Cmd.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/Config.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/FTP.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/FTP/A.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/FTP/I.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/FTP/dataconn.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/Netrc.pm
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/auto/Gtk/Gtk.bs
-/usr/lib/perl5/site_perl/5.6.0/sparc-linux/auto/Gtk/Gtk.so
-/usr/lib/rpm/rpmrc
-/usr/X11R6/bin/Xsun24
-/usr/X11R6/bin/XF86_Mach64
-/usr/X11R6/bin/XF86_3DLabs
-/usr/X11R6/bin/xmodmap
diff --git a/perl-install/share/logo-mandrake.png b/perl-install/share/logo-mandrake.png
deleted file mode 100644
index e1c32cad9..000000000
--- a/perl-install/share/logo-mandrake.png
+++ /dev/null
Binary files differ
diff --git a/perl-install/share/makedev.sh b/perl-install/share/makedev.sh
deleted file mode 100755
index e9dccaff2..000000000
--- a/perl-install/share/makedev.sh
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/sh
-#
-# $Id$
-#
-# This script creates all ISDN devices under /dev .
-# Many/most distributions don't include these devices.
-
-echo -e "Creating device inodes ... \c"
-
-if [ $# = 1 ] ; then
- DEV=$1/dev
-else
- DEV=/dev
-fi
-
-MAJ=45
-MIN=0
-rm -f $DEV/isdnctrl* $DEV/ippp*
-while [ $MIN -lt 64 ] ; do
- mknod -m 600 $DEV/isdn$MIN c $MAJ $MIN
- mknod -m 660 $DEV/isdnctrl$MIN c $MAJ `expr $MIN + 64`
- mknod -m 600 $DEV/ippp$MIN c $MAJ `expr $MIN + 128`
- MIN=`expr $MIN + 1`
-done
-if grep '^pppusers:' /etc/group > /dev/null
-then # RH 5 standard
- chgrp pppusers $DEV/isdnctrl* $DEV/ippp*
-elif grep '^dialout:' /etc/group > /dev/null
-then # Debian/SuSE standard
- chgrp dialout $DEV/isdnctrl* $DEV/ippp*
-fi
-rm -f $DEV/isdninfo
-mknod -m 444 $DEV/isdninfo c $MAJ 255
-ln -sf $DEV/isdnctrl0 $DEV/isdnctrl
-
-MAJ=43
-MIN=0
-rm -f $DEV/ttyI*
-while [ $MIN -lt 64 ] ; do
- mknod -m 666 $DEV/ttyI$MIN c $MAJ $MIN
- MIN=`expr $MIN + 1`
-done
-
-MAJ=44
-MIN=0
-rm -f $DEV/cui*
-while [ $MIN -lt 64 ] ; do
- mknod -m 666 $DEV/cui$MIN c $MAJ $MIN
- MIN=`expr $MIN + 1`
-done
-
-if grep '^dialout:' /etc/group > /dev/null
-then # Debian/SuSE standard
- chgrp dialout $DEV/ttyI* $DEV/cui*
-fi
-
-MAJ=68
-MIN=0
-rm -f $DEV/capi20*
-mknod -m 666 $DEV/capi20 c $MAJ 0
-mknod -m 666 $DEV/capi20.00 c $MAJ 1
-mknod -m 666 $DEV/capi20.01 c $MAJ 2
-mknod -m 666 $DEV/capi20.02 c $MAJ 3
-mknod -m 666 $DEV/capi20.03 c $MAJ 4
-mknod -m 666 $DEV/capi20.04 c $MAJ 5
-mknod -m 666 $DEV/capi20.05 c $MAJ 6
-mknod -m 666 $DEV/capi20.06 c $MAJ 7
-mknod -m 666 $DEV/capi20.07 c $MAJ 8
-mknod -m 666 $DEV/capi20.08 c $MAJ 9
-mknod -m 666 $DEV/capi20.09 c $MAJ 10
-mknod -m 666 $DEV/capi20.10 c $MAJ 11
-mknod -m 666 $DEV/capi20.11 c $MAJ 12
-mknod -m 666 $DEV/capi20.12 c $MAJ 13
-mknod -m 666 $DEV/capi20.13 c $MAJ 14
-mknod -m 666 $DEV/capi20.14 c $MAJ 15
-mknod -m 666 $DEV/capi20.15 c $MAJ 16
-mknod -m 666 $DEV/capi20.16 c $MAJ 17
-mknod -m 666 $DEV/capi20.17 c $MAJ 18
-mknod -m 666 $DEV/capi20.18 c $MAJ 19
-mknod -m 666 $DEV/capi20.19 c $MAJ 20
-
-if grep '^dialout:' /etc/group > /dev/null
-then # Debian/SuSE standard
- chgrp dialout $DEV/capi20 $DEV/capi20.??
-fi
-rm -f $DEV/isdnctrl
-ln -s $DEV/isdnctrl1 $DEV/isdnctrl
-
-echo "done."
diff --git a/perl-install/share/modparm.lst b/perl-install/share/modparm.lst
deleted file mode 100644
index d91797d20..000000000
--- a/perl-install/share/modparm.lst
+++ /dev/null
@@ -1,1229 +0,0 @@
-cumana_2:term:1-8i:1, 1, 1, 1, 1, 1, 1, 1:SCSI bus termination
-eesox:term:1-8i:1, 1, 1, 1, 1, 1, 1, 1:SCSI bus termination
-powertec:term:1-8i:1, 1, 1, 1, 1, 1, 1, 1:SCSI bus termination
-amiflop:fd_def_df0:l:0xffffffff:
-ataflop:UserSteprate:?:-1, -1:
-ataflop:UseTrackbuffer:i:-1:
-cpqarray:eisa:1-8i:0, 0 ,0 ,0, 0, 0 ,0 ,0:
-floppy:FLOPPY_DMA:i:2:
-floppy:floppy:s:0:
-floppy:FLOPPY_IRQ:i:6:
-ide-cd:ignore:s:0:
-ide:options:s:0:
-pcd:verbose:i:0:
-pcd:nice:i:0:
-pcd:major:i:46:
-pcd:drive0:1-6i:0,0,0,-1,-1,-1:
-pcd:drive1:1-6i:0,0,0,-1,-1,-1:
-pcd:drive2:1-6i:0,0,0,-1,-1,-1:
-pcd:drive3:1-6i:0,0,0,-1,-1,-1:
-pcd:name:s:"pcd":
-pd:cluster:i:64:
-pd:major:i:45:
-pd:drive0:1-8i:0,0,0,-1,0,1,-1,-1:
-pd:drive1:1-8i:0,0,0,-1,0,1,-1,-1:
-pd:drive2:1-8i:0,0,0,-1,0,1,-1,-1:
-pd:drive3:1-8i:0,0,0,-1,0,1,-1,-1:
-pd:name:s:"pd":
-pd:verbose:i:0:
-pd:nice:i:0:
-pf:cluster:i:64:
-pf:major:i:47:
-pf:drive0:1-7i:0,0,0,-1,-1,-1,-1:
-pf:drive1:1-7i:0,0,0,-1,-1,-1,-1:
-pf:drive2:1-7i:0,0,0,-1,-1,-1,-1:
-pf:drive3:1-7i:0,0,0,-1,-1,-1,-1:
-pf:name:s:"pf":
-pf:verbose:i:0:
-pf:nice:i:0:
-pg:major:i:97:
-pg:drive0:1-6i:0,0,0,-1,-1,-1:
-pg:drive1:1-6i:0,0,0,-1,-1,-1:
-pg:drive2:1-6i:0,0,0,-1,-1,-1:
-pg:drive3:1-6i:0,0,0,-1,-1,-1:
-pg:name:s:"pg":
-pg:verbose:i:0:
-pt:major:i:96:
-pt:drive0:1-6i:0,0,0,-1,-1,-1:
-pt:drive1:1-6i:0,0,0,-1,-1,-1:
-pt:drive2:1-6i:0,0,0,-1,-1,-1:
-pt:drive3:1-6i:0,0,0,-1,-1,-1:
-pt:name:s:"pt":
-pt:verbose:i:0:
-ps2esdi:track:i::
-ps2esdi:head:i:-1, -1:
-ps2esdi:cyl:i:-1,-1:
-ps2esdi:tp720esdi:i:0:
-rd:rd_size:1i:CONFIG_BLK_DEV_RAM_SIZE:Size of each RAM disk.
-xd:xd_geo:3-6i::
-xd:nodma:i:0:
-xd:xd:1-4i:-1,-1,-1,-1,:
-aztcd:azt_port:i:-1:
-cdrom:check_media_type:i:0:
-cdrom:lockdoor:i:1:
-cdrom:autoclose:i:1:
-cdrom:autoeject:i:0:
-cdrom:debug:i:0:
-cdu31a:cdu31a_irq:i:0:
-cdu31a:cdu31a_port:i:0:
-cm206:cm206_irq:i:11:
-cm206:cm206_base:i:0x340:
-cm206:auto_probe:i:1:
-cm206:cm206:1-2i:0,0:
-gscd:gscd:h::
-isp16:isp16_cdrom_base:i:0x340:
-isp16:isp16_cdrom_irq:i:0:
-isp16:isp16_cdrom_dma:i:0:
-isp16:isp16_cdrom_type:s:"Sanyo":
-mcd:mcd:1-2i::
-mcdx:mcdx:1-4i::
-optcd:optcd_port:h:0x340:
-sbpcd:sbpcd:2i:0x634 , 0:
-sjcd:sjcd_base:i:0x340:
-sonycd535:sony535_cd_base_io:i:0x340:
-atarimouse:mouse_threshold:2i:2,2:
-bttv:card:1-4i::
-bttv:vidmem:i:0:
-bttv:triton1:i:0:
-bttv:remap:1-4i::
-bttv:radio:1-4i::
-bttv:pll:1-4i:0, 0, 0, 0:
-busmouse:mouse_irq:i:5:
-buz:triton:i:0:
-buz:vidmem:i:0:
-buz:natoma:i:0:
-buz:default_norm:i:0:
-buz:v4l_bufsize:i:128:
-buz:v4l_nbufs:i:2:
-buz:default_input:i:0:
-bw-qcam:maxpoll:i:250:
-bw-qcam:yieldlines:i:4:
-bw-qcam:parport:?:0,:
-c-qcam:detect:s:0,:
-c-qcam:parport:?:0,:
-cpia_pp:parport:?:0,:'auto' or a list of parallel port numbers. Just like lp.
-cyclades:irq:?:0,:
-cyclades:maddr:?:0,:
-esp:dma:i:0:
-esp:divisor:1-8i:0,0,0,0,0,0,0,0:
-esp:flow_off:i:1016:
-esp:rx_trigger:i:768:
-esp:rx_timeout:i:128:
-esp:flow_on:i:944:
-esp:pio_threshold:i:32:
-esp:irq:1-8i:0,0,0,0,0,0,0,0:
-esp:tx_trigger:i:768:
-main:dma:i:1:dma number (>=4 for SB16/32/64/etc, <=3 for the rest)
-main:scale_tvusec:i::
-main:scale_rdtsc:i::
-main:midiio:i:0:address of midi (MPU401) port to output PTT
-main:irq:i:7:interrupt number
-main:iobase:i:0x220:io base address
-main:pario:i:0:address of parallel port to output PTT
-main:serio:i:0:address of serial port to output PTT
-main:hw:i:0:hardware type: 0=SBC, 1=WSS
-main:rdtsc_ok:i::
-i2c-old:scan:i:0:
-i2c-old:verbose:i:0:
-i2c-old:i2c_debug:i:0:
-ip2:io:?:0,:I/O ports for IntelliPort Cards
-ip2:irq:?:0,:Interrupts for IntelliPort Cards
-isicom:io:1-4i::I/O ports for the cards
-isicom:irq:1-4i::Interrupts for the cards
-istallion:board0:1-3s::Board 0 config -> name[,ioaddr[,memaddr]
-istallion:board1:1-3s::Board 1 config -> name[,ioaddr[,memaddr]
-istallion:board2:1-3s::Board 2 config -> name[,ioaddr[,memaddr]
-istallion:board3:1-3s::Board 3 config -> name[,ioaddr[,memaddr]
-joy-amiga:js_am:1-2i::
-joy-analog:js_an:2-24i::
-joy-assassin:js_as:2-24i::
-joy-console:js_console:2-6i::
-joy-console:js_console_2:2-6i::
-joy-console:js_console_3:2-6i::
-joy-db9:js_db9:2i::
-joy-db9:js_db9_2:2i::
-joy-db9:js_db9_3:2i::
-joy-lightning:js_l4:2-24i::
-joy-pci:js_pci:3-32i::
-joy-turbografx:js_tg:2-8i::
-joy-turbografx:js_tg_2:2-8i::
-joy-turbografx:js_tg_3:2-8i::
-lp:reset:i:0:
-lp:parport:?:0,:
-lp_intern:minor:i:-1:
-moxa:ttymajor:i:172:
-moxa:calloutmajor:i:173:
-moxa:baseaddr:1-4i:0, 0, 0, 0:
-moxa:verbose:i:0:
-moxa:numports:1-4i:0, 0, 0, 0:
-moxa:type:1-4i:0, 0, 0, 0:
-msbusmouse:mouse_irq:i:5:
-msp3400:debug:i:0:
-mxser:ttymajor:i:174:
-mxser:calloutmajor:i:175:
-mxser:verbose:i:0:
-mxser:ioaddr:1-4i:0, 0, 0, 0:
-n_hdlc:maxframe:i:4096:
-n_hdlc:debuglevel:i:0:
-pcxx:memsize:1-4i:0, 0, 0, 0:
-pcxx:altpin:1-4i:0, 0, 0, 0:
-pcxx:membase:1-4i:0, 0, 0, 0:
-pcxx:io:1-4i:0, 0, 0, 0:
-pcxx:verbose:i:0:
-pcxx:numports:1-4i:0, 0, 0, 0:
-pcxx:debug:i:0:
-planb:def_norm:i:VIDEO_MODE_PAL:Default startup norm (0=PAL, 1=NTSC, 2=SECAM)
-pms:io_port:i:0x250:
-pms:mem_base:i:0xC8000:
-radio-aimslab:io:i:-1:I/O address of the RadioTrack card (0x20f or 0x30f)
-radio-aztech:io:i:-1:I/O address of the Aztech card (0x350 or 0x358)
-radio-cadet:io:i:0x330:I/O address of Cadet card (0x330,0x332,0x334,0x336,0x338,0x33a,0x33c,0x33e)
-radio-gemtek:io:i:-1:I/O address of the GemTek card (0x20c, 0x30c, 0x24c or 0x34c (0x20c or 0x248 have been reported to work for the combined sound/radiocard)).
-radio-rtrack2:io:i:-1:I/O address of the RadioTrack card (0x20c or 0x30c)
-radio-sf16fmi:io:i:-1:I/O address of the SF16MI card (0x284 or 0x384)
-radio-trust:io:i:-1:I/O address of the Trust FM Radio card (0x350 or 0x358)
-radio-typhoon:mutefreq:i:0:Frequency used when muting the card (in kHz)
-radio-typhoon:io:i:-1:I/O address of the Typhoon card (0x316 or 0x336)
-radio-zoltrix:io:i:-1:I/O address of the Zoltrix Radio Plus (0x20c or 0x30c)
-rio_linux:rio_poll:i:1:
-rio_linux:rio_debug:i:0:
-rio_linux:rio_irqmask:i:-1:
-riscom8:iobase1:i:0:
-riscom8:iobase2:i:0:
-riscom8:iobase3:i:0:
-riscom8:iobase:i:0:
-rocket:support_low_speed:i:0:0 means support 50 baud, 1 means support 460400 baud
-rocket:controller:i:0:I/O port for (ISA) rocketport controller
-rocket:board1:i:0:I/O port for (ISA) board #1
-rocket:board2:i:0:I/O port for (ISA) board #2
-rocket:board3:i:0:I/O port for (ISA) board #3
-rocket:board4:i:0:I/O port for (ISA) board #4
-softdog:soft_margin:i:60:
-specialix:irq:?:0,:
-specialix:iobase:?:0,:
-stallion:board0:1-4s::Board 0 config -> name[,ioaddr[,ioaddr2][,irq]]
-stallion:board1:1-4s::Board 1 config -> name[,ioaddr[,ioaddr2][,irq]]
-stallion:board2:1-4s::Board 2 config -> name[,ioaddr[,ioaddr2][,irq]]
-stallion:board3:1-4s::Board 3 config -> name[,ioaddr[,ioaddr2][,irq]]
-sx:si_probe_addrs:i::
-sx:sx_maxints:i:100:
-sx:sx_debug:i:0:
-sx:sx_probe_addrs:i::
-sx:sx_irqmask:i:-1:
-sx:sx_slowpoll:i:0:
-sx:sx_poll:i:1:
-synclink:dma:?:0,:
-synclink:ttymajor:i:0:
-synclink:maxframe:?:0,:
-synclink:break_on_load:i:0:
-synclink:io:?:0,:
-synclink:dosyncppp:?:0,:
-synclink:irq:?:0,:
-synclink:debug_level:i:0:
-synclink:cuamajor:i:0:
-toshiba:tosh_fn:i:0:
-tuner:type:i:-1:
-tuner:debug:i:0:
-i2c-algo-bit:bit_scan:i:0:Scan for active chips on the bus
-i2c-algo-bit:bit_test:i:0:Test the lines of the bus to see if it is stuck
-i2c-algo-bit:i2c_debug:i:0:
-i2c-algo-pcf:pcf_scan:i:0:Scan for active chips on the bus
-i2c-algo-pcf:pcf_test:i:0:Test if the I2C bus is available
-i2c-algo-pcf:i2c_debug:i:1:
-i2c-core:i2c_debug:i:1:debug level
-i2c-elektor:base:i:0:
-i2c-elektor:own:i:0:
-i2c-elektor:irq:i:0:
-i2c-elektor:clock:i:0:
-i2c-elv:base:i:0:
-i2c-philips-par:base:i:0:
-i2c-piix4:force_addr:i:0:
-i2c-piix4:force:i:0:Forcibly enable the PIIX4. DANGEROUS!
-i2c-velleman:base:i:0:
-pcilynx:mem_mindma:h:2400:
-module:act_irq:i:-1:IRQ of first card (-1 = grab next free IRQ)
-module:act_bus:i:0:BusType of first card, 1=ISA, 2=MCA, 3=PCMCIA, currently only ISA
-module:membase:::Base port address of first card
-module:act_id:s:"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0":ID-String of first card
-module:act_port:i:-1:
-avm_cs:irq_list:1-10i:-1:
-b1dma:suppress_pollack:0-1i:0:
-c4:suppress_pollack:0-1i:0:
-capi:capi_rawmajor:i:190:
-capi:capi_major:i:68:
-capi:capi_ttymajor:i:191:
-capidrv:debugmode:i:0:
-kcapi:showcapimsgs:0-4i:0:
-eicon_mod:membase:i:-1:Base address of first ISA card
-eicon_mod:irq:i:-1:IRQ of first card
-eicon_mod:id:s:"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0":ID-String of first card
-config:io0:1-8i::
-config:io1:1-8i::
-config:protocol:1-8i::
-config:mem:1-8i::
-config:io:1-8i::
-config:irq:1-8i::
-config:id:s::
-config:type:1-8i::
-module:mem:?:0,:
-module:irq:?:0,:
-init:do_reset:i:0:
-init:io:1-4i:0,0,0,0:
-init:irq:1-4i:0,0,0,0:
-init:ram:1-4i:0,0,0,0:
-parport_pc:dma:?:-1 }:
-parport_pc:io:?:0 }:
-parport_pc:irq:?::
-3c501:io:i:0x280:
-3c501:irq:i:5:
-3c503:xcvr:?:0,:
-3c503:io:?:0,:
-3c503:irq:?:0,:
-3c505:dma:?:0,:
-3c505:io:?:0,:
-3c505:irq:?:0,:
-3c507:io:i:0x300:
-3c507:irq:i:0:
-3c509:xcvr:1-8i:-1, -1, -1, -1, -1, -1, -1, -1:
-3c509:irq:1-8i:-1, -1, -1, -1, -1, -1, -1, -1:
-3c509:debug:i:-1:
-3c515:rx_copybreak:i::
-3c515:full_duplex:?::
-3c515:options:?:-1, -1, -1, -1, -1, -1, -1, -1,:
-3c515:max_interrupt_work:i:20:
-3c515:debug:i:-1:
-3c523:io:?:0,:
-3c523:irq:?:0,:
-3c59x:compaq_irq:i::
-3c59x:rx_copybreak:i::
-3c59x:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-3c59x:options:?:-1, -1, -1, -1, -1, -1, -1, -1,:
-3c59x:compaq_device_id:i::
-3c59x:compaq_ioaddr:i:0, compaq_irq = 0, compaq_device_id = 0x5900:
-3c59x:max_interrupt_work:i:20:
-3c59x:debug:i::
-3c90x:flowcontrol:?:0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1:
-3c90x:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-3c90x:downpoll:?:0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8:
-3c90x:media_select:?:0,:
-3c90x:switchdelay:?:0, 0, 0, 0, 0, 0, 0, 0:
-3c90x:debug:i:0x80000000:
-82596:irq:i:10:
-82596:i596_debug:i:(0x0004|(x,y) if (i596_debug & (x)) y_PROBE):
-82596:debug:i:-1:
-ac3200:mem:?:0,:
-ac3200:io:?:0,:
-ac3200:irq:?:0,:
-acenic:rx_coal_tick:?:0,:
-acenic:trace:?:0,:
-acenic:max_tx_desc:?:0,:
-acenic:max_rx_desc:?:0,:
-acenic:tx_coal_tick:?:0,:
-acenic:link:?:0,:
-arc-rimi:device:s::
-arc-rimi:irq:i:0:
-arc-rimi:shmem:i:0x0:
-arc-rimi:node:i:0:
-arlan:mdebug:i:0:
-arlan:registrationMode:i:-1:
-arlan:numDevices:i:1:
-arlan:arlan_entry_debug:i:0:
-arlan:channelSet:i:0:
-arlan:tx_delay_ms:i:0:
-arlan:mem:i:0:
-arlan:systemId:i:-1:
-arlan:tx_queue_len:i:1:
-arlan:async:i:1:
-arlan:arlan_entry_and_exit_debug:i:0:
-arlan:arlan_debug:i:0:
-arlan:txScrambled:i:1:
-arlan:channelNumber:i:0:
-arlan:keyStart:i:0:
-arlan:SID:i:-1:
-arlan:retries:i:5:
-arlan:irq:i:0:
-arlan:arlan_exit_debug:i:0:
-arlan:radioNodeId:i:-1:
-arlan:arlan_EEPROM_bad:i:0:
-arlan:spreadingCode:i:0:
-arlan:probe:i:1:
-arlan:testMemory:i:1:
-at1700:io:i:0x260:
-at1700:net_debug:i:1:
-at1700:irq:i:0:
-atari_bionet:bionet_debug:i:0:
-atari_pamsnet:pamsnet_debug:i:0:
-atarilance:lance_debug:i:1:
-bagetlance:lance_debug:i:1:
-c101:hw:s:0:
-com20020:device:s::
-com20020:io:i:0x0:
-com20020:clock:i:0:
-com20020:backplane:i:0:
-com20020:timeout:i:3:
-com20020:irq:i:0:
-com20020:node:i:0:
-com90io:device:s::
-com90io:io:i:0x0:
-com90io:irq:i:0:
-com90xx:device:s::
-com90xx:io:i:0x0:
-com90xx:shmem:i:0:
-com90xx:irq:i:0:
-cops:io:i:0:
-cops:board_type:i:2:
-cops:irq:i:0:
-cosa:io:?:0,:The I/O bases of the COSA or SRP cards
-cosa:dma:?:0,:The DMA channels of the COSA or SRP cards
-cosa:irq:?:-1, -1, -1, -1, -1, -1, 0,:The IRQ lines of the COSA or SRP cards
-cs89x0:media:s::
-cs89x0:io:i:0:
-cs89x0:debug:i:0:
-cs89x0:irq:i:0:
-cs89x0:duplex:i:-1:
-de4x5:dec_only:i:1:
-de4x5:io:i:0x0:
-de4x5:args:s:0:
-de4x5:de4x5_debug:i:(0x0002 | 0x0001 ):
-de600:de600_debug:i:0:
-de600:delay_time:i:10:
-de620:utp:i:0:
-de620:io:i:0x378:
-de620:bnc:i:0:
-de620:irq:i:7:
-de620:de620_debug:i:0:
-de620:clone:i:0:
-depca:io:i:0x200:
-depca:irq:i:7:
-dgrs:ipxnet:i:-1:
-dgrs:ipaddr:1-4i:-1:
-dgrs:spantree:i:-1:
-dgrs:hashexpire:i:-1:
-dgrs:nicmode:i:-1:
-dgrs:debug:i:-1:
-dgrs:dma:i:-1:
-dgrs:iptrap:1-4i:-1:
-dmfe:chkmode:i:1:
-dmfe:cr6set:i:0:
-dmfe:debug:i:0:
-dmfe:mode:i:8:
-e2100:mem:?:0,:
-e2100:io:?:0,:
-e2100:xcvr:?:0,:
-e2100:irq:?:0,:
-eepro:mem:?::
-eepro:io:?::
-eepro:irq:?:0 }:
-eepro:autodetect:?::
-eepro100:rx_copybreak:i:200:
-eepro100:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-eepro100:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-eepro100:rxfifo:i:8:
-eepro100:rxdmacount:i:0:
-eepro100:debug:i:-1:
-eepro100:txfifo:i:8:
-eepro100:congenb:i:0:
-eepro100:multicast_filter_limit:i:64:
-eepro100:max_interrupt_work:i:20:
-eepro100:txdmacount:i:128:
-eexpress:io:?:0,:
-eexpress:irq:?:0,:
-epic100:rx_copybreak:i:200:
-epic100:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-epic100:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-epic100:debug:i:1:
-epic100:max_interrupt_work:i:32:
-es3210:mem:?:0,:
-es3210:io:?:0,:
-es3210:irq:?:0,:
-eth16i:debug:i:-1:eth16i debug level (0-4)
-eth16i:mediatype:?:0,:eth16i interfaceport mediatype
-eth16i:irq:?:0,:eth16i interrupt request number
-eth16i:ioaddr:?:0,:eth16i io base address
-ethertap:unit:i::
-ewrk3:io:i:0x300:
-ewrk3:irq:i:5:
-fmv18x:io:i:0x220:
-fmv18x:net_debug:i:1:
-fmv18x:irq:i:0:
-hamachi:min_tx_pkt:i:0x30:
-hamachi:force32:i:0:
-hamachi:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-hamachi:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-hamachi:rx_copybreak:i:0:
-hamachi:max_rx_latency:i:0x11:
-hamachi:tx_params:?:-1, -1, -1, -1, -1, -1, -1, -1:
-hamachi:max_rx_gap:i:0x05:
-hamachi:mtu:i:0:
-hamachi:min_pci_latency:i:64:
-hamachi:debug:i:1:
-hamachi:rx_params:?:-1, -1, -1, -1, -1, -1, -1, -1:
-hamachi:min_rx_pkt:i:0x18:
-hamachi:max_tx_gap:i:0x00:
-hamachi:max_tx_latency:i:0x00:
-hamachi:max_interrupt_work:i:40:
-baycom_epp:iobase:i:0x378,:baycom io base address
-baycom_epp:mode:s::baycom operating mode; epp
-baycom_par:iobase:?:0x378,:baycom io base address
-baycom_par:mode:?::baycom operating mode; eg. par96 or picpar
-baycom_ser_fdx:baud:?:1200 }:baycom baud rate (300 to 4800)
-baycom_ser_fdx:iobase:?:0x3f8,:baycom io base address
-baycom_ser_fdx:irq:?:4,:baycom irq number
-baycom_ser_fdx:mode:?:"ser12*",:baycom operating mode; * for software DCD
-baycom_ser_hdx:iobase:?:0x3f8,:baycom io base address
-baycom_ser_hdx:irq:?:4,:baycom irq number
-baycom_ser_hdx:mode:?:"ser12*",:baycom operating mode; * for software DCD
-dmascc:io:?:dev->base_addr:
-mkiss:ax25_maxdev:i:16:number of MKISS devices
-sm:iobase:i:-1:soundmodem base address
-sm:dma:i:-1:soundmodem dma channel
-sm:dma2:i:-1:soundmodem 2nd dma channel; full duplex only
-sm:midiio:i:0:soundmodem PTT output on midi port
-sm:irq:i:-1:soundmodem interrupt
-sm:pario:i:0:soundmodem PTT output on parallel port
-sm:serio:i:0:soundmodem PTT output on serial port
-sm:mode:s:0:soundmodem operating mode; eg. sbc:afsk1200 or wss:fsk9600
-hostess_sv11:io:i:0x200:The I/O base of the Comtrol Hostess SV11 card
-hostess_sv11:dma:i::Set this to 1 to use DMA1/DMA3 for TX/RX
-hostess_sv11:irq:i:9:The interrupt line setting for the Comtrol Hostess SV11 card
-hp-plus:io:?:0,:
-hp-plus:irq:?:0,:
-hp:io:?:0,:
-hp:irq:?:0,:
-hp100:hp100_name:?:"", "", "", "", "":
-hp100:hp100_port:1-5i:0, -1, -1, -1, -1:
-ibmtr:mem:?:0,0:
-ibmtr:io:?:0xa20,0xa24:
-ibmtr:irq:?:0,0:
-ipddp:ipddp_mode:i:2:
-irport:io:1-4i:~0, ~0, ~0, ~0:
-irport:irq:1-4i:0, 0, 0, 0:
-irtty:qos_mtt_bits:i:0x03:
-nsc-ircc:io:1-4i:~0, ~0, ~0, ~0:
-nsc-ircc:dongle_id:i:0:
-nsc-ircc:dma:1-4i:0, 0, 0, 0, 0:
-nsc-ircc:qos_mtt_bits:i:0x07:
-nsc-ircc:irq:1-4i:0, 0, 0, 0, 0:
-nsc_fir:io:1-4i:0x2f8, 0x2f8, 0x2f8, 0x2f8, 0x2f8:
-nsc_fir:dongle_id:i:0:
-nsc_fir:io2:1-4i:0x150, 0x398, 0xea, 0x15c, 0x2e:
-nsc_fir:qos_mtt_bits:i:0x07:
-nsc_fir:irq:1-4i:3, 3, 3, 3, 3:
-smc-ircc:ircc_dma:1i:255:
-smc-ircc:ircc_irq:1i:255:
-toshoboe:max_baud:i:4000000:
-w83977af_ir:io:1-4i:0x180, ~0, ~0, ~0:
-w83977af_ir:io2:1-4i::
-w83977af_ir:qos_mtt_bits:i:0x07:
-w83977af_ir:irq:1-4i:11, 0, 0, 0:
-lance:io:?:0,:
-lance:dma:?:dmas[i]:
-lance:irq:?:0,:
-lanstreamer:pkt_buf_sz:?:0,:
-lanstreamer:ringspeed:?:0,:
-lne390:mem:?:0,:
-lne390:io:?:0,:
-lne390:irq:?:0,:
-ltpc:io:i:0:
-ltpc:debug:i:0:
-ltpc:dma:i:0:
-ltpc:irq:i:0:
-n2:hw:s:0:
-ncr885e:debug:i:1:
-ne:probe_pci:i:1:
-ne:io:?:0,:
-ne:bad:?:0,:
-ne:irq:?:0,:
-ne2:io:?:0,:
-ne2:bad:?:0,:
-ne2:irq:?:0,:
-ne3210:mem:?:0,:
-ne3210:io:?:0,:
-ne3210:irq:?:0,:
-ni5010:io:i:0:
-ni5010:irq:i:0:
-ni52:io:i:0x300:
-ni52:irq:i:9:
-ni52:memend:l:0:
-ni52:memstart:l:0:
-ni65:io:i:0:
-ni65:dma:i:0:
-ni65:irq:i:0:
-old_tulip:full_duplex:?:0,:
-old_tulip:options:?:0,:
-old_tulip:rx_copybreak:i:100:
-old_tulip:debug:i:-1:
-old_tulip:reverse_probe:i:0:
-old_tulip:max_interrupt_work:i:25:
-olympic:message_level:?:0,:
-olympic:pkt_buf_sz:?:0,:
-olympic:ringspeed:?:0,:
-pcnet32:full_duplex:?:0,:
-pcnet32:options:?:0,:
-pcnet32:rx_copybreak:i::
-pcnet32:tx_start_pt:i:-1:
-pcnet32:debug:i:-1:
-pcnet32:max_interrupt_work:i::
-plip:parport:?:-1 }:
-plip:timid:1i:0:
-ppp:flag_time:i:0:
-rl100a:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-rl100a:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-rl100a:rx_copybreak:i:0:
-rl100a:min_pci_latency:i:32:
-rl100a:debug:i:1:
-rl100a:multicast_filter_limit:i:32:
-rl100a:max_interrupt_work:i:20:
-rtl8139:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-rtl8139:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-rtl8139:debug:i::
-rtl8139:max_interrupt_work:i:20:
-rtl8139:multicast_filter_limit:i:32:
-sb1000:io:1-2i:0, 0:
-sb1000:irq:i:0:
-sbni:baud:?:0:
-sbni:io:?:0:
-sbni:mac:?:0:
-sbni:irq:?:0:
-sbni:rxl:?:-1, -1, -1, -1, -1, -1, -1, -1:
-sealevel:io:i:0x238:The I/O base of the Sealevel card
-sealevel:rxdma:i:3:Receive DMA channel
-sealevel:slow:i:0:Set this for an older Sealevel card such as the 4012
-sealevel:irq:i:5:The interrupt line setting for the SeaLevel card
-sealevel:txdma:i:1:Transmit DMA channel
-seeq8005:io:i:0x320:
-seeq8005:irq:i:10:
-sis900:debug:i::
-sis900:max_interrupt_work:i:20:
-sis900:multicast_filter_limit:i:128:
-skge:FlowCtrl_A:?:"",:
-skge:AutoNeg_B:?:"",:
-skge:FlowCtrl_B:?:"",:
-skge:options:?:0,:
-skge:Role_A:?:"",:
-skge:Role_B:?:"",:
-skge:DupCap_A:?:"",:
-skge:DupCap_B:?:"",:
-skge:debug:i:0:
-skge:PrefPort:?:"",:
-skge:RlmtMode:?:"",:
-skge:AutoNeg_A:?:"",:
-sktr:rate:?:16 ,:
-sktr:io:?:0,:
-sktr:dma:?:0,:
-sktr:irq:?:0,:
-slip:slip_maxdev:i:256:
-smc-mca:io:?:0,:
-smc-mca:irq:?:0,:
-smc-ultra:io:?:0,:
-smc-ultra:irq:?:0,:
-smc9194:io:i:0:
-smc9194:ifport:i:0:
-smc9194:irq:i:0:
-syncppp:debug:1i:0:
-tlan:speed:i:0:
-tlan:debug:i:0:
-tlan:sa_int:i:0:
-tlan:duplex:i:0:
-tlan:aui:i:0:
-tulip:csr0:i:0x00A00000 | 0x4800:
-tulip:full_duplex:?:0,:
-tulip:options:?:0,:
-tulip:rx_copybreak:i:100:
-tulip:debug:i::
-tulip:reverse_probe:i:0:
-tulip:max_interrupt_work:i:25:
-via-rhine:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-via-rhine:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-via-rhine:rx_copybreak:i:0:
-via-rhine:min_pci_latency:i:64:
-via-rhine:debug:i:1:
-via-rhine:max_interrupt_work:i:20:
-wd:mem:?:0,:
-wd:io:?:0,:
-wd:irq:?:0,:
-wd:mem_end:?:0,:
-x25_asy:x25_asy_maxdev:i:256:
-yellowfin:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-yellowfin:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-yellowfin:rx_copybreak:i:0:
-yellowfin:mtu:i:0:
-yellowfin:min_pci_latency:i:64:
-yellowfin:debug:i:-1:
-yellowfin:max_interrupt_work:i:20:
-dasd:dasd_force_mdsk:?::
-dasd:dasd:?::
-xpram:devs:i:1:
-xpram:sizes:?:0,:
-dbri:dbri_debug:i:0:
-dbri:dbri_trace:i:0:
-aurora:irq1:i:0:
-aurora:irq2:i:0:
-aurora:irq3:i:0:
-aurora:irq:i:0:
-BusLogic:BusLogic_Options:s::
-aha152x:aha152x:1-8i::
-aha152x:aha152x1:1-8i::
-aha1542:aha1542:1-4i:0x330, 11, 4, -1:
-aic7xxx:aic7xxx:s:0:
-atari_scsi:setup_cmd_per_lun:i:-1:
-atari_scsi:setup_can_queue:i:-1:
-atari_scsi:setup_sg_tablesize:i:-1:
-atari_scsi:setup_hostid:i:-1:
-atari_scsi:setup_use_tagged_queuing:i:-1:
-dc395x_trm:dc395x_trm:1-6i::Host SCSI ID, Speed (0=20MHz), Device Flags, Adapter Flags, Max Tags (log2(tags)-1), DelayReset (s)
-eata:linked_comm:i:0:
-eata:io_port:?::
-eata:rev_scan:i:1:
-eata:use_new_eh_code:i:1:
-eata:link_statistics:i:0:
-eata:ext_tran:i:0:
-eata:tag_mode:i:0:
-eata:boot_options:s:0:
-eata:max_queue_depth:i:2:
-eata:tagged_comm:i:0:
-fdomain:fdomain:2-3i:0, 0, 0:
-g_NCR5380:ncr_53c400a:i:0:
-g_NCR5380:ncr_dma:i:0:
-g_NCR5380:ncr_5380:i:0:
-g_NCR5380:ncr_addr:i:0:
-g_NCR5380:ncr_irq:i:0:
-g_NCR5380:dtc_3181e:i:0:
-g_NCR5380:ncr_53c400:i:0:
-gdth:max_ids:i:127:
-gdth:reserve_list:?::
-gdth:disable:i::
-gdth:reverse_scan:i:0:
-gdth:reserve_mode:i:1:
-gdth:irq:i::
-gdth:rescan:i:0:
-gdth:hdr_channel:i:0:
-ibmmca:scsi_id:?:7, 7, 7, 7, 7, 7, 7, 7:
-ibmmca:display:1i::
-ibmmca:ansi:1i::
-ibmmca:normal:1i::
-ibmmca:io_port:?:0, 0, 0, 0, 0, 0, 0, 0:
-ibmmca:adisplay:1i::
-ibmmca:bypass:1i::
-in2000:setup_strings:s:0:
-megaraid:megaraid:s::
-ncr53c8xx:ncr53c8xx:s:0:
-pas16:pas16_irq:i:0:
-pas16:pas16_addr:h:0:
-scsi:max_scsi_luns:i:1:
-seagate:controller_type:b:0:
-seagate:base_address:i:0:
-seagate:irq:i:5:
-sim710:sim710:s::
-sr:xa_test:i::
-st:write_threshold_kbs:i:0:
-st:max_sg_segs:i:0:
-st:max_buffers:i:0:
-st:buffer_kbs:i:0:
-sym53c416:sym53c416:1-2i::
-sym53c416:sym53c416_1:1-2i::
-sym53c416:sym53c416_2:1-2i::
-sym53c416:sym53c416_3:1-2i::
-sym53c8xx:sym53c8xx:s:0:
-tmscsim:tmscsim:1-6i::Host SCSI ID, Speed (0=10MHz), Device Flags, Adapter Flags, Max Tags (log2(tags)-1), DelayReset (s)
-u14-34f:have_old_firmware:i:0:
-u14-34f:linked_comm:i:0:
-u14-34f:io_port:?::
-u14-34f:use_new_eh_code:i:1:
-u14-34f:link_statistics:i:0:
-u14-34f:ext_tran:i:0:
-u14-34f:boot_options:s:0:
-u14-34f:max_queue_depth:i:2:
-wd33c93:setup_strings:s:0:
-eeprom:checksum:i:0:
-ad1816:options:i:0:
-ad1816:io:i:-1:
-ad1816:ad1816_clockfreq:i:33000:
-ad1816:dma:i:-1:
-ad1816:dma2:i:-1:
-ad1816:irq:i:-1:
-ad1848:deskpro_m:i:0:
-ad1848:io:i:-1:
-ad1848:deskpro_xl:i:0:
-ad1848:type:i:0:
-ad1848:dma:i:-1:
-ad1848:soundpro:i:0:
-ad1848:dma2:i:-1:
-ad1848:irq:i:-1:
-adlib_card:io:i:-1:
-cmpci:mpu_io:i:0:
-cmpci:rear_out:i:0:
-cmpci:four_ch:i:0:
-cmpci:synth_io:i:0:
-cmpci:spdif_loop:i:0:
-cs4232:synthio:i:-1:
-cs4232:io:i:-1:
-cs4232:synthirq:i:-1:
-cs4232:dma:i:-1:
-cs4232:mpuio:i:-1:
-cs4232:mpuirq:i:-1:
-cs4232:dma2:i:-1:
-cs4232:irq:i:-1:
-dmasound:bufSize:i::
-dmasound:catchRadius:i:0, numBufs = 4, bufSize = 32:
-dmasound:numBufs:i::
-es1370:joystick:?:0,:if 1 enables joystick interface (still need separate driver)
-es1370:lineout:?:0,:if 1 the LINE input is converted to LINE out
-es1370:micbias:?:0,:sets the +5V bias for an electret microphone
-es1371:joystick:?:0,:sets address and enables joystick interface (still need separate driver)
-es1371:spdif:?:0,:if 1 the output is in S/PDIF digital mode
-gus_card:io:i:-1:
-gus_card:no_wave_dma:i:0:
-gus_card:type:i:0:
-gus_card:dma16:i:-1:
-gus_card:dma:i:-1:
-gus_card:gus16:i:0:
-gus_card:db16:i:0:
-gus_card:irq:i:-1:
-i810_audio:ftsodell:i:0:
-i810_audio:clocking:i:48000:
-aci:aci_reset:i:1:
-aedsp16:mpu_base:i:-1:MPU-401 I/O base address (0x300 0x310 0x320 0x330)
-aedsp16:mpu_irq:i:-1:MPU-401 IRQ line (5 7 9 10 0)
-aedsp16:io:i:-1:I/O base address (0x220 0x240)
-aedsp16:mss_base:i:-1:MSS emulation I/O base address (0x530 0xE80)
-aedsp16:dma:i:-1:dma line (0 1 3)
-aedsp16:irq:i:-1:IRQ line (5 7 9 10 11)
-awe_wave:io:i:0:base i/o port of Emu8000
-awe_wave:memsize:i:-1:onboard DRAM size in Kbytes
-mad16:opl4:i:0:
-mad16:mpu_io:i:0:
-mad16:joystick:i:0:
-mad16:io:i:-1:
-mad16:mpu_irq:i:0:
-mad16:debug:i:0:
-mad16:dma16:i:-1:
-mad16:dma:i:-1:
-mad16:cddma:i:-1:
-mad16:cdtype:i:0:
-mad16:irq:i:-1:
-mad16:cdport:i:0x340:
-mad16:cdirq:i:0:
-maestro:dsps_order:i:0:
-maestro:use_pm:i:2:
-maestro:debug:i:0:
-maui:io:i:-1:
-maui:irq:i:-1:
-mpu401:io:i:-1:
-mpu401:irq:i:-1:
-msnd_pinnacle:calibrate_signal:i::
-msnd_pinnacle:major:i::
-msnd_pinnacle:mpu_io:i::
-msnd_pinnacle:cfg:i::
-msnd_pinnacle:mpu_irq:i::
-msnd_pinnacle:mem:i::
-msnd_pinnacle:io:i::
-msnd_pinnacle:ide_io0:i::
-msnd_pinnacle:ide_io1:i::
-msnd_pinnacle:write_ndelay:i::
-msnd_pinnacle:ide_irq:i::
-msnd_pinnacle:reset:i::
-msnd_pinnacle:fifosize:i::
-msnd_pinnacle:digital:i::
-msnd_pinnacle:irq:i::
-msnd_pinnacle:joystick_io:i::
-nm256_audio:force_load:i:0:
-nm256_audio:buffertop:i:0:
-nm256_audio:usecache:i:0:
-nm256_audio:nm256_debug:i:0:
-opl3:io:i:-1:
-opl3sa:mpu_io:i:-1:
-opl3sa:mpu_irq:i:-1:
-opl3sa:io:i:-1:
-opl3sa:dma:i:-1:
-opl3sa:dma2:i:-1:
-opl3sa:irq:i:-1:
-opl3sa2:mpu_io:i:-1:Set MIDI I/O base (0x330 or other. Address must be on 4 location boundaries and must be from 0x300 to 0x334)
-opl3sa2:io:i:-1:Set i/o base of OPL3-SA2 or SA3 card (usually 0x370)
-opl3sa2:mss_io:i:-1:Set MSS (audio) I/O base (0x530, 0xE80, or other. Address must end in 0 or 4 and must be from 0x530 to 0xF48)
-opl3sa2:mss_irq:::Set MSS (audio) IRQ (5, 7, 9, 10, 11, 12)
-opl3sa2:dma:i:-1:Set MSS (audio) first DMA channel (0, 1, 3)
-opl3sa2:dma2:i:-1:Set MSS (audio) second DMA channel (0, 1, 3)
-opl3sa2:irq:i:-1:
-pas2_card:symphony:i:0:
-pas2_card:broken_bus_clock:i:0:
-pas2_card:joystick:i:1:
-pas2_card:io:i:-1:
-pas2_card:dma16:i:-1:
-pas2_card:dma:i:-1:
-pas2_card:sb_dma:i:-1:
-pas2_card:sb_io:i:0:
-pas2_card:sb_dma16:i:-1:
-pas2_card:irq:i:-1:
-pas2_card:sb_irq:i:-1:
-pss:pss_enable_joystick:i:0:Enables the PSS joystick port (1 to enable, 0 to disable)
-pss:mpu_io:i:-1:Set MIDI i/o base (0x330 or other. Address must be on 4 location boundaries and must be from 0x100 to 0xFFC)
-pss:mss_dma:i:-1:Set WSS (audio) DMA (0, 1, 3)
-pss:pss_keep_settings:i:1:Keep hardware setting at driver unloading (0 - no, 1 - yes)
-pss:mpu_irq:i:-1:Set MIDI IRQ (3, 5, 7, 9, 10, 11, 12)
-pss:pss_cdrom_port:i:-1:Set the PSS CDROM port i/o base (0x340 or other)
-pss:mss_io:i:-1:Set WSS (audio) i/o base (0x530, 0x604, 0xE80, 0xF40, or other. Address must end in 0 or 4 and must be from 0x100 to 0xFF4)
-pss:pss_mixer:b:0:Enable (1) or disable (0) PSS mixer (controlling of output volume, bass, treble, synth volume). The mixer is not available on all PSS cards.
-pss:mss_irq:i:-1:Set WSS (audio) IRQ (3, 5, 7, 9, 10, 11, 12)
-pss:pss_firmware:s:"/etc/sound/pss_synth":Location of the firmware file (default - /etc/sound/pss_synth)
-pss:pss_no_sound:i:0:Configure sound compoents (0 - no, 1 - yes)
-pss:pss_io:i:-1:Set i/o base of PSS card (probably 0x220 or 0x240)
-sb_card:mpu_io:i:0:
-sb_card:pas2:i:0:
-sb_card:io:i:-1:
-sb_card:esstype:i::
-sb_card:type:i:0:
-sb_card:dma16:i:-1:
-sb_card:support:i:0:
-sb_card:dma:i:-1:
-sb_card:sm_games:i:0:
-sb_card:mad16:i:0:
-sb_card:irq:i:-1:
-sb_card:trix:i:0:
-sgalaxy:io:i:-1:
-sgalaxy:dma:i:-1:
-sgalaxy:dma2:i:-1:
-sgalaxy:irq:i:-1:
-sgalaxy:sgbase:i:-1:
-sonicvibes:reverb:?:0,:if 1 enables the reverb circuitry. NOTE: your card must have the reverb RAM
-sonicvibes:wavetable:?:0,:if 1 the wavetable synth is enabled
-sonicvibes:dmaio:i:0xac00:if the motherboard BIOS did not allocate DDMA io, allocate them starting at this address
-soundcard:dmabuf:i:0:
-soundcard:traceinit:i:0:
-sscape:mpu_io:i:-1:
-sscape:mpu_irq:i:-1:
-sscape:io:i:-1:
-sscape:mss:i:0:
-sscape:dma:i:-1:
-sscape:spea:i:-1:
-sscape:irq:i:-1:
-trix:mpu_io:i:-1:
-trix:joystick:i:0:
-trix:mpu_irq:i:-1:
-trix:io:i:-1:
-trix:dma:i:-1:
-trix:sb_dma:i:-1:
-trix:sb_io:i:-1:
-trix:dma2:i:-1:
-trix:irq:i:-1:
-trix:sb_irq:i:-1:
-uart401:io:i:-1:
-uart401:irq:i:-1:
-uart6850:io:i:-1:
-uart6850:irq:i:-1:
-waveartist:io:i:CONFIG_WAVEARTIST_BASE:
-waveartist:dma:i:CONFIG_WAVEARTIST_DMA:
-waveartist:dma2:i:CONFIG_WAVEARTIST_DMA2:
-waveartist:irq:i:CONFIG_WAVEARTIST_IRQ:
-wavfront:ospath:s:"/etc/sound/wavefront.os":
-wavfront:debug_default:i:0:
-wavfront:io:i:-1:
-wavfront:wf_raw:i:0:
-wavfront:sleep_tries:i:50:
-wavfront:sleep_interval:i:100:
-wavfront:ramcheck_time:i:20:
-wavfront:irq:i:-1:
-wavfront:reset_time:i:2:
-wavfront:wait_usecs:i:150:
-wavfront:fx_raw:i:1:
-wavfront:osrun_time:i:10:
-ymf_sb:spdif_out:i:0:
-ymf_sb:mpu_io:i:0x330:
-ymf_sb:io:i:0x220:
-ymf_sb:master_vol:i:80:
-ymf_sb:dma:i:1:
-ymf_sb:synth_io:i:0x388:
-ixj:dspio:?::
-ixj:ixjdebug:i:0:
-ixj:pc_debug:i:PCMCIA_DEBUG:
-ixj:xio:?::
-dabusb:buffers:i:0:
-ibmcam:init_hue:i:128:
-ibmcam:flags:i:0:
-ibmcam:init_color:i:128:
-ibmcam:init_contrast:i:192:
-ibmcam:framerate:i:2:
-ibmcam:sharpness:i:4:
-ibmcam:init_model2_sat:i:-1:
-ibmcam:debug:i:0:
-ibmcam:init_model2_rg:i:-1:
-ibmcam:videosize:i:VIDEOSIZE_352x288:
-ibmcam:init_model2_rg2:i:-1:
-ibmcam:hue_correction:i:128:
-ibmcam:lighting:i:1:
-ibmcam:init_model2_yb:i:-1:
-ibmcam:init_brightness:i:128:
-ov511:sensor:i:0:
-ov511:snapshot:i:0:
-ov511:aperture:i:-1:
-ov511:i2c_detect_tries:i:5:
-ov511:autoadjust:i:1:
-ov511:fix_rgb_offset:i:0:
-ov511:debug:i:3:
-ov511:force_rgb:i:0:
-pegasus:loopback:i:0:
-usbserial:vendor:i:0x05f9:User specified USB idVendor
-usbserial:product:i:0xffff:User specified USB idProduct
-uhci:debug:i:1:
-atyfb:noaccel:i::Do not use accelerating engine (0 or 1=disabled) (default=0)
-atyfb:vmode:i:0:Specify the vmode mode number that should be used (640x480 default)
-atyfb:blink:i:1:Enables hardware cursor blinking (0 or 1) (default=1)
-atyfb:cmode:i:-1:Specify the video depth that should be used (8bit default)
-matroxfb:hslen:i:0:Horizontal sync length (px), overrides hslen from vesa (default=vesa)
-matroxfb:xres:i:0:Horizontal resolutioni (px), overrides xres from vesa (default=vesa)
-matroxfb:noaccel:i:0:Do not use accelerating engine (0 or 1=disabled) (default=0)
-matroxfb:sync:i:-1:Sync polarity, overrides sync from vesa (default=vesa)
-matroxfb:novga:i:0:VGA I/O (0x3C0-0x3DF) disabled (0 or 1=disabled) (default=0)
-matroxfb:yres:i:0:Vertical resolution (scans), overrides yres from vesa (default=vesa)
-matroxfb:pixclock:i:0:Pixelclock (ns), overrides pixclock from vesa (default=vesa)
-matroxfb:upper:i:~0:Upper blank space (scans), overrides upper from vesa (default=vesa)
-matroxfb:right:i:~0:Right blank space (px), overrides right from vesa (default=vesa)
-matroxfb:vslen:i:0:Vertical sync length (scans), overrides lower from vesa (default=vesa)
-matroxfb:noinit:i:1:Disables W/SG/SD-RAM and bus interface initialization (0 or 1=do not initialize) (default=0)
-matroxfb:nobios:i:0:Disables ROM BIOS (0 or 1=disabled) (default=do not change BIOS state)
-matroxfb:mem:i:0:Size of available memory in MB, KB or B (2,4,8,12,16MB, default=autodetect)
-matroxfb:hwcursor:i:1:Enables hardware cursor (0 or 1) (default=0)
-matroxfb:fv:i:0:
-matroxfb:disabled:i:0:Disabled (0 or 1=disabled), meaningless for module (default=0)
-matroxfb:cross4MB:i:-1:Specifies that 4MB boundary can be in middle of line. (default=autodetected)
-matroxfb:lower:i:~0:Lower blank space (scans), overrides lower from vesa (default=vesa)
-matroxfb:vmode:i:simple_strtoul(this_opt+6, 0, 0):Specify the vmode mode number that should be used (640x480 default)
-matroxfb:blink:i:1:Enables hardware cursor blinking (0 or 1) (default=1)
-matroxfb:left:i:~0:Left blank space (px), overrides left from vesa (default=vesa)
-matroxfb:inv24:i:0:Inverts clock polarity for 24bpp and loop frequency > 100MHz (default=do not invert polarity)
-matroxfb:cmode:i:simple_strtoul(this_opt+6, 0, 0):Specify the video depth that should be used (8bit default)
-matroxfb:inverse:i:0:Inverse (0 or 1) (default=0)
-matroxfb:sgram:i:0:Indicates that G200/G400 has SGRAM memory (0=SDRAM, 1=SGRAM) (default=0)
-matroxfb:nopan:i:0:Disable pan on startup (0 or 1=disabled) (default=0)
-matroxfb:maxclk:i:0:Startup maximal clock, 0-999MHz, 1000-999999kHz, 1000000-INF Hz
-matroxfb:no_pci_retry:i:0:PCI retries enabled (0 or 1=disabled) (default=0)
-matroxfb:grayscale:i:0:Sets display into grayscale. Works perfectly with paletized videomode (4, 8bpp), some limitations apply to 16, 24 and 32bpp videomodes (default=nograyscale)
-matroxfb:mtrr:i:1:This speeds up video memory accesses (0=disabled or 1) (default=1)
-matroxfb:dev:i:-1:Multihead support, attach to device ID (0..N) (default=first working)
-matroxfb:depth:i:-1:Color depth (0=text,8,15,16,24,32) (default=vesa)
-matroxfb:fh:i:0:Startup horizontal frequency, 0-999kHz, 1000-INF Hz
-matroxfb:vesa:i:~0:Startup videomode (0x000-0x1FF) (default=0x101)
-matroxfb:fastfont:i:0:Specifies, how much memory should be used for font data (0, 1024-65536 are reasonable) (default=0)
-mdacon:mda_first_vc:1-255i:13:
-mdacon:mda_last_vc:1-255i:16:
-pm2fb:mode:s:0:
-vfb:videomemorysize:l::
-svc:nlm_timeout:3-20l:10:
-svc:nlm_grace_period:10-240l:0:
-fs:ntdebug:i::Debug level
-emulate:sco_serial:1-10s::SCO Serial Number
-emulate:ibcs_trace:i:0:iBCS debug trace
-ip_masq_autofw:debug:i:0:
-ip_masq_cuseeme:ports:?:7648:
-ip_masq_cuseeme:debug:i:0:
-ip_masq_ftp:ports:?:21:
-ip_masq_ftp:debug:i:0:
-ip_masq_ftp:noport:?:6000, 0:
-ip_masq_irc:ports:?:6667:
-ip_masq_irc:debug:i:0:
-ip_masq_mfw:debug:i:0:
-ip_masq_portfw:debug:i:0:
-ip_masq_raudio:ports:?:554, 7070, 0:
-ip_masq_raudio:debug:i:0:
-ip_masq_user:ports:?::
-ip_masq_user:debug:i:0:
-ip_masq_vdolive:ports:?:7000:
-ip_masq_vdolive:debug:i:0:
-af_inet6:unloadable:i:0:
-irlan_common:eth:i:0:
-irlan_common:timeout:i::
-irlan_common:access:i:2:
-irmod:irda_debug:1l:0:
-af_netrom:nr_ndevs:i:4:number of NET/ROM devices
-af_rose:rose_ndevs:i:10:number of ROSE devices
-3c574_cs:full_duplex:i:0:
-3c574_cs:pc_debug:i:PCMCIA_DEBUG:
-3c574_cs:irq_list:1-4i:-1:
-3c574_cs:irq_mask:i:0xdeb8:
-3c574_cs:max_interrupt_work:i:32:
-3c575_cb:use_hw_csums:i:1:
-3c575_cb:rx_copybreak:i::
-3c575_cb:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-3c575_cb:options:?:-1, -1, -1, -1, -1, -1, -1, -1,:
-3c575_cb:debug:i:1:
-3c575_cb:max_interrupt_work:i:32:
-3c589_cs:irq_list:1-4i:-1:
-3c589_cs:pc_debug:i:PCMCIA_DEBUG:
-3c589_cs:irq_mask:i:0xdeb8:
-3c589_cs:if_port:i:0:
-aha152x_stub:irq_list:1-4i:-1:
-aha152x_stub:pc_debug:i:PCMCIA_DEBUG:
-aha152x_stub:irq_mask:i:0xdeb8:
-aha152x_stub:host_id:i:7:
-aha152x_stub:ext_trans:i:0:
-aha152x_stub:synchronous:i:0:
-aha152x_stub:reset_delay:i:100:
-aha152x_stub:parity:i:1:
-aha152x_stub:reconnect:i:1:
-apa1480_stub:pc_debug:i:PCMCIA_DEBUG:
-apa1480_stub:ultra:i:0:
-apa1480_stub:reset:i:1:
-dummy_cs:free_ports:i:0:
-dummy_cs:irq_list:1-4i:-1:
-dummy_cs:pc_debug:i:PCMCIA_DEBUG:
-dummy_cs:irq_mask:i:0xdeb8:
-eepro100_cb:rx_copybreak:i:200:
-eepro100_cb:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-eepro100_cb:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-eepro100_cb:rxfifo:i:8:
-eepro100_cb:rxdmacount:i:0:
-eepro100_cb:debug:i:1:
-eepro100_cb:txfifo:i:8:
-eepro100_cb:congenb:i:0:
-eepro100_cb:multicast_filter_limit:i:3:
-eepro100_cb:max_interrupt_work:i:20:
-eepro100_cb:txdmacount:i:128:
-epic_cb:rx_copybreak:i:200:
-epic_cb:full_duplex:?:-1, -1, -1, -1, -1, -1, -1, -1:
-epic_cb:options:?:-1, -1, -1, -1, -1, -1, -1, -1:
-epic_cb:debug:i:1:
-epic_cb:max_interrupt_work:i:32:
-fdomain_stub:irq_list:1-4i:-1:
-fdomain_stub:pc_debug:i:PCMCIA_DEBUG:
-fdomain_stub:irq_mask:i:0xdeb8:
-fmvj18x_cs:irq_list:1-4i:-1:
-fmvj18x_cs:pc_debug:i:PCMCIA_DEBUG:
-fmvj18x_cs:irq_mask:i:0xdeb8:
-fmvj18x_cs:sram_config:i:0:
-ftl_cs:pc_debug:i:PCMCIA_DEBUG:
-ftl_cs:shuffle_freq:i:50:
-ftl_cs:major_dev:i:0:
-ibmtr_cs:irq_list:1-4i:-1:
-ibmtr_cs:pc_debug:i:PCMCIA_DEBUG:
-ibmtr_cs:irq_mask:i:0xdeb8:
-ibmtr_cs:srambase:i:0:
-ibmtr_cs:ringspeed:i:16:
-ibmtr_cs:mmiobase:i:0:
-ibmtr_cs:sramsize:i:16:
-ide_cs:irq_list:1-4i:-1:
-ide_cs:pc_debug:i:PCMCIA_DEBUG:
-ide_cs:irq_mask:i:0xdeb8:
-iflash2+_mtd:pc_debug:i:PCMCIA_DEBUG:
-iflash2_mtd:max_tries:i:4096:
-iflash2_mtd:word_width:i:1:
-iflash2_mtd:pc_debug:i:PCMCIA_DEBUG:
-iflash2_mtd:mem_speed:i:0:
-iflash2_mtd:vpp_timeout_period:i:1000:
-iflash2_mtd:erase_timeout:i:100:
-iflash2_mtd:retry_limit:i:4:
-iflash2_mtd:erase_limit:i:10000:
-iflash2_mtd:vpp_settle:i:100:
-memory_cb:pc_debug:i:PCMCIA_DEBUG:
-memory_cs:force_size:i:0:
-memory_cs:word_width:i:1:
-memory_cs:pc_debug:i:PCMCIA_DEBUG:
-memory_cs:mem_speed:i:0:
-nmclan_cs:irq_list:1-4i:-1:
-nmclan_cs:pc_debug:i:PCMCIA_DEBUG:
-nmclan_cs:irq_mask:i:0xdeb8:
-nmclan_cs:if_port:i:0:
-parport_cs:irq_list:1-4i:-1:
-parport_cs:pc_debug:i:PCMCIA_DEBUG:
-parport_cs:irq_mask:i:0xdeb8:
-parport_cs:epp_mode:i:1:
-pcnet_cs:use_big_buf:i:1:
-pcnet_cs:irq_list:1-4i:-1:
-pcnet_cs:pc_debug:i:PCMCIA_DEBUG:
-pcnet_cs:irq_mask:i:0xdeb8:
-pcnet_cs:mem_speed:i:0:
-pcnet_cs:use_shmem:i:-1:
-pcnet_cs:delay_output:i:0:
-pcnet_cs:delay_time:i:4:
-pcnet_cs:if_port:i:1:
-pcnet_cs:hw_addr:6i:{ 0,:
-qlogic_stub:irq_list:1-4i:-1:
-qlogic_stub:pc_debug:i:PCMCIA_DEBUG:
-qlogic_stub:irq_mask:i:0xdeb8:
-serial_cb:pc_debug:i:PCMCIA_DEBUG:
-serial_cs:irq_list:1-4i:-1:
-serial_cs:pc_debug:i:PCMCIA_DEBUG:
-serial_cs:irq_mask:i:0xdeb8:
-serial_cs:do_sound:i:1:
-smc91c92_cs:irq_list:1-4i:-1:
-smc91c92_cs:pc_debug:i:PCMCIA_DEBUG:
-smc91c92_cs:irq_mask:i:0xdeb8:
-smc91c92_cs:if_port:i:0:
-sram_mtd:word_width:i:1:
-sram_mtd:pc_debug:i:PCMCIA_DEBUG:
-sram_mtd:mem_speed:i:0:
-tulip_cb:csr0:i:0x00A00000 | 0x4800:
-tulip_cb:full_duplex:?:0,:
-tulip_cb:options:?:0,:
-tulip_cb:rx_copybreak:i:100:
-tulip_cb:debug:i::
-tulip_cb:reverse_probe:i:0:
-tulip_cb:max_interrupt_work:i:25:
-xirc2ps_cs:irq_list:1-4i:-1:
-xirc2ps_cs:pc_debug:i:PCMCIA_DEBUG:
-xirc2ps_cs:irq_mask:i:0xdeb8:
-xirc2ps_cs:card_type:i:0:
-xirc2ps_cs:lockup_hack:i:0:
-xirc2ps_cs:do_sound:i:1:
-xirc2ps_cs:if_port:i:0:
-cb_enabler:pc_debug:i:PCMCIA_DEBUG:
-cs:pc_debug:i:PCMCIA_(n, args...) do { } while (0):
-ds:pc_debug:i:PCMCIA_DEBUG:
-i82365:pci_irq_list:1-8i:0:
-i82365:irq_list:1-16i:-1:
-i82365:pc_debug:i:PCMCIA_DEBUG:
-pci_fixup:cb_mem_base:i:0x0, 0x68000000, 0xf8000000:
-rsrc_mgr:probe_mem:i:1:
-rsrc_mgr:probe_io:i:1:
-rsrc_mgr:mem_limit:i:0x10000:
-tcic:irq_list:1-16i:-1:
-tcic:pc_debug:i:PCMCIA_DEBUG:
-tcic:irq_mask:i:0xffff:
-tcic:tcic_base:i:0x240:
-tcic:poll_quick:i:HZ/20:
-tcic:do_scan:i:1:
-tcic:cycle_time:i:70:
-tcic:cs_irq:i:0:
-tcic:poll_interval:i:0:
-tcic:ignore:i:-1:
-airo:rates:1-8i:0,0,0,0,0,0,0,0:
-airo:io:1-4i:0,:
-airo:aux_bap:i:0:
-airo:ssids:1-3s:0,0,0:
-airo:auto_wep:i:0:
-airo:basic_rate:i:0:
-airo:irq:1-4i:0,:
-airo_cs:irq_list:1-4i:-1:
-airo_cs:pc_debug:i:PCMCIA_DEBUG:
-airo_cs:irq_mask:i:0xdeb8:
-netwave_cs:scramble_key:i:0x0:
-netwave_cs:irq_list:1-4i:-1:
-netwave_cs:pc_debug:i:PCMCIA_DEBUG:
-netwave_cs:irq_mask:i:0xdeb8:
-netwave_cs:mem_speed:i:0:
-netwave_cs:domain:i:0x100:
-ray_cs:country:i:1:
-ray_cs:net_type:i:0:
-ray_cs:sniffer:i:0:
-ray_cs:essid:s:0:
-ray_cs:pc_debug:i:RAYLINK_DEBUG:
-ray_cs:irq_mask:i:0xdeb8:
-ray_cs:hop_dwell:i:128:
-ray_cs:phy_addr:s:0:
-ray_cs:bc:i:0:
-ray_cs:psm:i:0:
-ray_cs:ray_mem_speed:i:500:
-ray_cs:beacon_period:i:256:
-ray_cs:translate:i:1:
-wvlan_cs:station_name:?:"\0":
-wvlan_cs:irq_list:1-4i:-1:
-wvlan_cs:pc_debug:i:PCMCIA_DEBUG:
-wvlan_cs:eth:i:0:
-wvlan_cs:irq_mask:i:0xdeb8:
-wvlan_cs:network_name:?:"\0":
-wvlan_cs:mtu:i:1500:
-wvlan_cs:medium_reservation:i:2347:
-wvlan_cs:frag_threshold:i:2346:
-wvlan_cs:channel:i:wrq->u.freq.m:
-wvlan_cs:port_type:i:1:
-wvlan_cs:transmit_rate:i:3:
-wvlan_cs:ap_density:i:1:
diff --git a/perl-install/share/po/.cvsignore b/perl-install/share/po/.cvsignore
deleted file mode 100644
index 9eccd17f0..000000000
--- a/perl-install/share/po/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.*.sw?
-*~
diff --git a/perl-install/share/po/Changelog b/perl-install/share/po/Changelog
deleted file mode 100644
index f74a59c53..000000000
--- a/perl-install/share/po/Changelog
+++ /dev/null
@@ -1,246 +0,0 @@
-2001-03-14 Pablo Saratxaga <pablomandrakesoft.com>
-
- * i18n_compssUsers: improved the script to not include path=
- lines
-
-2000-10-03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * fr.po: fixed bug #518 and fixed other misc errors
-
-2000-09-16 Pixel <pixel@mandrakesoft.com>
- * de.po: fix translation of "Size: %d KB\n" (was MB instead of KB)
-
-2000-04-28 Stefan Siegel <siegel@linux-mandrake.com>
- * de.po: Update German File
-
-2000-04-18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * cy.po: There is now a Welsh file, Thanks Dafydd !
- * da.po: Updated Danish file
-
-2000-04-04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lv.po: Added Latvian file; now we are the very first to have
- Latvian language :)
-
-2000-03-26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * sk.po: Slovakian translation is now mantained and updated
-
-2000-01-10 Pixel <pixel@mandrakesoft.com>
-
- * po/Changelog: remove the paragraph which was removed from
- help.pm in br.po cs.po el.po et.po gl.po ro.po ru.po tr.po
-
-2000-01-06 Franois PONS <fpons@mandrakesoft.com>
- * it.po: updated by Maurizio.
-
-2000-01-06 David BAUDENS <baudens@mandrakesoft.com>
- * fr.po: updated
-
-2000-01-05 Pixel <pixel@mandrakesoft.com>
- * *.po: changed the crypto message (french address in usa, and
- removed a paragraph)
-
-2000-01-03 Pablo Saratxaga <pablo@mandrakesoft.com>
- * *.po: merged some strigns from gnorpm to help transaltiosn fo
- rpmdrake new strings
-
-2000-01-03 Pablo Saratxaga <pablo@mandrakesoft.com>
- * no.po: updated Norwegian file
- * id.po: updated Indonesian file
- * hr.po: updated Croatian file
- * da.po: updated Danish file
- * et.po: updated Estonian file
-
-2000-01-01 Pablo Saratxaga <pablo@mandrakesoft.com>
- Happy New Year to all !
- * es.po: completed Spanish file
- * zh_CN.po: created a GB2312 version by converting the Big5 one
- however a real mantainer for a GB2312 version is still wanted
- * ca.po: the first one to be updated after Y2K :)
-
-1999-12-30 Pablo Saratxaga <pablo@mandrakesoft.com>
- * zh_TW.Big5.po: uddated chinese file
- * it.po: updated the Italian file
- * es.po: completed spanish file
- * br.po: updated Britton file
- * ja.po: updated Japanese file
-
-1999-12-29 Pablo Saratxaga <pablo@mandrakesoft.com>
- * no.po: completed Norwegian file
- * eo.po: Completed esperanto file
- * sv.po: updated Swedish file
- * hu.po: compelted Hungarian file
-
-1999-12-27 Pablo Saratxaga <pablo@mandrakesoft.com>
- * ru.po: updated Russian file
- * id.po: completed Indonesian file
- * et.po: Estonian files fixes
- * no.po: completed file
- * et.po: completed file
- * lt.po: updated Lithuanian file
- * da.po: completed Danish file
- * ja.po: updated Japanese file
-
-1999-12-24 Pablo Saratxaga <pablo@mandrakesoft.com>
- * lt.po: updated Lithuanian file
- * *.po: new strings have been added...
-
-1999-12-23 Pablo Saratxaga <pablo@mandrakesoft.com>
- * eo.po: completed esperanto file
- * hr.po: updated Croatian file
- * zh_TW.Big5: updated chinese file
- * id.po: completed Indonesian file
- * et.po: completed Estonian file
- * sv.po: updated swedish file
- * da.po: completed Danish file
- * bg.po: updated Bulgarian file
- * sr.po: updated serbian file
- * no.po: completed norwegian file
-
-1999-12-22 Pablo Saratxaga <pablo@mandrakesoft.com>
- * de.po: update from Stefan Siegel <siegel@informatik.uni-kl.de>
- * bg.po: updated Bulgarian file
-
-1999-12-16 Pablo Saratxaga <pablo@mandrakesoft.com>
- * *.po: updated po files
- * ja.po: added japanese file
-
-1999-12-12 Pablo Saratxaga <pablo@mandrakesoft.com>
- * pt_BR.po: added portuguese file from Andrei <andreib@zaz.com.br>
-
-1999-12-10 Pablo Saratxaga <pablo@mandrakesoft.com>
- * et.po: completed 100% the Estonian file
-
-1999-12-09 Pablo Saratxaga <pablo@mandrakesoft.com>
- * th.po: Thai file from Kan Yuenyong <kan@kaiwal.com>
-
-1999-12-07 Pablo Saratxaga <pablo@mandrakesoft.com>
- * ro.po: did 'ispell -d romanian ro.po', I hope that improves the
- lack of 8 bit letters; but a real mantainer is needed.
-
-1999-12-02 Pablo Saratxaga <pablo@mandrakesoft.com>
- * es.po, ca.po, no.po, id.po: Completed Spanish, Catalan,
- Norwegian and Indonesian language files.
- * hu.po: Update of Hungarian file (60% done)
-
-1999-11-30 Pablo Saratxaga <pablo@mandrakesoft.com>
- * hu.po: added Hungarian language file
-
-1999-11-26 Pablo Saratxaga <pablo@mandrakesoft.com>
- * no.po: updated Norwegian file
- * ca.po: added beginnign of Catalan file from SoftCatal
-
-1999-11-25 Pablo Saratxaga <pablo@mandrakesoft.com>
- * *.po: corrected a typo ( s/Size: %d/Size: %s/ )
- * de.po: updated German file
- * id.po: updated Indonesian file
-
-1999-11-24 Pablo Saratxaga <pablo@mandrakesoft.com>
- * bg.po: added Bulgarian file from Elena Radva <ely@triada.bg>
-
-1999-11-19 Pablo Saratxaga <pablo@mandrakesoft.com>
- * uk.po: added Ukrainian file
- * pl.po: Polish is now 100% complete!
-
-1999-11-18 Pablo Saratxaga <pablo@mandrakesoft.com>
- * et.po: added estonian from Riho Kurg <riho@aso.ee>
- * pl.po: updated polish from Pawel Jablonski
-
-1999-11-16 Pablo Saratxaga <pablo@mandrakesoft.com>
- * update-po, lots of new strings :)
- * es.po: updated & completed
-
-1999-11-10 Pablo Saratxaga <pablo@mandrakesoft.com>
- * es.po: completed
- * pl.po: updated from Pavel Jablonski
-
-1999-11-08 Franois PONS <fpons@mandrakesoft.com>
- * fr.po: updated.
-
-1999-11-05 Pablo Saratxaga <pablo@mandrakesoft.com>
- * pl.po: added Polish language file
- * ru.po: updated russian file
- * no.po: completed norwegian file
-
-1999-11-04 Pablo Saratxaga <pablo@mandrakesoft.com>
- * es.po: updated and completed spanish language file
- * wa.po: updated walon language file
-
-1999-10-30 Pablo Saratxaga <pablo@mandrakesoft.com>
- * es.po: updated spanish language file
-
-1999-10-22 Pablo Saratxaga <pablo@mandrakesoft.com>
- * it.po, es.po: uopdated spanish and italian language files
-
-1999-10-22 Pablo Saratxaga <pablo@mandrakesoft.com>
- * no.po: update of the Nowegian translation by Terje Bjerkelia
-
-1999-10-22 Pixel <pixel@linux-mandrake.com>
- * es.po: some corrections by Camille <camille@mandrakesoft.com>
-
-1999-10-21 Franois PONS <fpons@mandrakesoft.com>
- * fr.po: modified printer or queue translation (line 1950 and 2778)
-
-1999-10-21 Pablo Saratxaga <pablo@mandrakesoft.com>
- * es.po: updated Spanish language file
-
-1999-10-20 Franois PONS <fpons@mandrakesoft.com>
- * fr.po: corrected "Skip PCMCIA probing" message with new msgid
-
-1999-10-14 Pablo Saratxaga <pablo@mandrakesoft.com>
- * ru.po: new Russian translations from Aleksey Smirnov
- * no.po: update of the Nowegian translation by Terje Bjerkelia
-
-1999-10-13 Pablo Saratxaga <pablo@mandrakesoft.com>
- * *.po: checked that the name is correctly DrakX now, and updated them
- * tr.po: newer translations from Hakan Terziolu <hakan@gelecek.com.tr>
-
-1999-10-11 Pablo Saratxaga <pablo@mandrakesoft.com>
- * no.po,es.po: updated Norwegian and Spanish language files
-
-1999-09-30 Pablo Saratxaga <pablo@mandrakesoft.com>
- * es.po: updated Spanish language file
-
-1999-09-26 Pablo Saratxaga <pablo@mandrakesoft.com>
- * no.po: updated norwegian file
-
-1999-09-25 Pablo Saratxaga <pablo@mandrakesoft.com>
- * it.po: updated italian file
-
-1999-09-19 Pablo Saratxaga <pablo@mandrakesoft.com>
- * no.po: update Norwegian language file
-
-1999-09-18 Pablo Saratxaga <pablo@mandrakesoft.com>
- * tr.po: Added Turkish language file from
- Hakan Terziolu <hakan@gelecek.com.tr>
- * it.po: updated italian file
-
-1999-09-13 Pablo Saratxaga <pablo@mandrakesoft.com>
- * it.po: added italian language file from
- "Paolo Lorenzin" <pasusu@tin.it>
-
-1999-09-08 Pablo Saratxaga <pablo@mandrakesoft.com>
- * id.po, es.po: completed files
-
-1999-08-26 Pablo Saratxaga <pablo@mandrakesoft.com>
- * fr.po: updated fr.po from gregus@linux-mandrake.com (Grgoire Colbert)
- who is now in charge of the French translation
-
-1999-08-25 Pablo Saratxaga <pablo@mandrakesoft.com>
- * Makefile: corrected the msgmerge update (translations were
- being deleted !). make it so DrakX.pot has a header
- * *.po: get back all *.po files to the latest version including
- translated strings. add headers
- * id.po: update from indonesian team
-
-1999-08-22 Pablo Saratxaga <pablo@mandrakesoft.com>
- * no.po: added norwegian translations from
- Terje Bjerkelia <terje@bjerkelia.com>
-
-1999-08-18 Pablo Saratxaga <pablo@mandrakesoft.com>
- * Changelog: created a Changelog file
- * id.po: added indonesian translations from
- Mohammad DAMT <mdamt@cakraweb.com>
-
diff --git a/perl-install/share/po/DrakX.pot b/perl-install/share/po/DrakX.pot
deleted file mode 100644
index e847dfda1..000000000
--- a/perl-install/share/po/DrakX.pot
+++ /dev/null
@@ -1,6717 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2001-06-10 18:32+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr ""
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr ""
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr ""
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr ""
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr ""
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr ""
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr ""
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr ""
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr ""
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr ""
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr ""
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr ""
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr ""
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr ""
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr ""
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr ""
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr ""
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr ""
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr ""
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr ""
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr ""
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr ""
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr ""
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr ""
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr ""
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr ""
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr ""
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr ""
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr ""
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr ""
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr ""
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr ""
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr ""
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr ""
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr ""
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr ""
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr ""
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr ""
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr ""
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr ""
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr ""
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr ""
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr ""
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr ""
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr ""
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr ""
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr ""
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr ""
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr ""
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr ""
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr ""
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr ""
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr ""
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr ""
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr ""
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr ""
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr ""
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr ""
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr ""
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr ""
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr ""
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr ""
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr ""
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr ""
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr ""
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr ""
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr ""
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr ""
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr ""
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr ""
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr ""
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr ""
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr ""
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr ""
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr ""
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr ""
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-msgid "Default Runlevel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr ""
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr ""
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr ""
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr ""
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr ""
-
-#: ../../fs.pm_.c:231
-msgid "mount failed: "
-msgstr ""
-
-#: ../../fs.pm_.c:243
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr ""
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr ""
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr ""
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr ""
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr ""
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr ""
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr ""
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr ""
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr ""
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr ""
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr ""
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr ""
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr ""
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr ""
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr ""
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr ""
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr ""
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr ""
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr ""
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr ""
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr ""
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr ""
-
-#: ../../install_any.pm_.c:403
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:434
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:675
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr ""
-
-#: ../../install_any.pm_.c:679
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:689
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:711
-msgid "Error reading file $f"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr ""
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr ""
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr ""
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr ""
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr ""
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr ""
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr ""
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr ""
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr ""
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr ""
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr ""
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr ""
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr ""
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr ""
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr ""
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr ""
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr ""
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr ""
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr ""
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr ""
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr ""
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr ""
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr ""
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr ""
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr ""
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr ""
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr ""
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr ""
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr ""
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr ""
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr ""
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr ""
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr ""
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr ""
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr ""
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr ""
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr ""
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr ""
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr ""
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr ""
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr ""
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr ""
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr ""
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr ""
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr ""
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr ""
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr ""
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr ""
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr ""
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr ""
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr ""
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr ""
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr ""
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr ""
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr ""
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr ""
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr ""
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr ""
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr ""
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr ""
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr ""
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr ""
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr ""
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr ""
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr ""
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr ""
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr ""
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr ""
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr ""
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr ""
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr ""
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr ""
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr ""
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr ""
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr ""
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr ""
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr ""
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr ""
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr ""
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr ""
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr ""
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr ""
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr ""
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr ""
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr ""
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr ""
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr ""
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr ""
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr ""
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr ""
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr ""
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr ""
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr ""
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr ""
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr ""
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr ""
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ""
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr ""
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr ""
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr ""
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr ""
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr ""
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr ""
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr ""
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr ""
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr ""
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr ""
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr ""
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr ""
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr ""
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr ""
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr ""
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr ""
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr ""
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr ""
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:131
-msgid "Test the mouse here."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Set of tools to read and send mail and news (pine, mutt, tin..) and to browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "A graphical environment with user-friendly set of applications and desktop tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "The K Desktop Environment, the basic graphical environment with a collection of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
diff --git a/perl-install/share/po/Makefile b/perl-install/share/po/Makefile
deleted file mode 100644
index b308e9dde..000000000
--- a/perl-install/share/po/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-include ../../Makefile.config
-
-PMSFILES = $(wildcard $(PMS:%=../../%))
-PMSCFILES = $(PMSFILES:%=%_.c)
-POFILES = $(shell ls *.po)
-
-all: $(POFILES)
-
-clean:
- rm -f empty.po messages $(POFILES:%=%t) $(PMSCFILES)
-
-verif:
- perl -ne '/^\s*#/ or $$i += my @l = /\b__?\(/g; END { print "$$i\n" }' $(PMSFILES)
- perl -ne '$$i += my @l = /\.c:/g; END { print "$$i\n" }' DrakX.pot
-
-$(POFILES): DrakX.pot
- cp -f $@ $@t
- msgmerge $@t $< > $@
- rm $@t
-
-DrakX.pot: $(PMSFILES)
- $(MAKE) $(PMSCFILES);
- xgettext -F -n --add-comments='-PO' --keyword=_ --keyword=__ -o $@ $(PMSCFILES)
- rm $(PMSCFILES)
- perl i18n_compssUsers 2>/dev/null >> $@
-
-$(PMSCFILES): %_.c: %
- perl -pe 's|^(__?\()| $$1|; s|//|/""/|g; s,(^|[^\$$])#([^+].*),\1/*\2*\/,; s|$$|\\n\\|' $< > $@
-
-# for i in *.po; do echo -n "$i "; msgfmt -v $i 2>&1; done | perl -e 'print map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_, (split)[1] ] } <>'
diff --git a/perl-install/share/po/af.po b/perl-install/share/po/af.po
deleted file mode 100644
index 2cdeb4448..000000000
--- a/perl-install/share/po/af.po
+++ /dev/null
@@ -1,8674 +0,0 @@
-# KTranslator Generated File
-# Copyright (c) 1999-2000 MandrakeSoft
-# Schalk. W. Cronj <schalkc@ntaba.co.za>, 2000
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: Tue Sep 26 2000 08:03:14+0200\n"
-"Last-Translator: Schalk W. Cronj <schalkc@ntaba.co.za>\n"
-"Language-Team: Afrikaans <lia@af.org.za>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KTranslator v 0.6.0\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr "Konfigurasie word gelees"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Videokaart"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Selekteer 'n videokaart"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Kies 'n X-bediener"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X-bediener"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Watter tipe XFree-konfigurasie verlang u?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"U videokaart kan slegs 3D-versnelling onder XFree %s ondersteun.\n"
-"DIt word wel onder XFree %s ondersteun wat dalk beter 2D-ondersteuning het."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-"U videokaart kan vir 3D-hardewareversnelling ondestuen word in XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s met 3D-hardwareversnelling"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Hierdie kaart kan ondersteuning vir 3D-hardewareversnelling onder XFree86 %s "
-"bied,\n"
-"MAAR LET DAAROP DAT DIT EKSPERIMENTEEL IS EN DIE REKENAAR MAG VRIES."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s met EKSPERIMENTELE 3D-hardewareversnelling"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Hierdie kaart kan ondersteuning vir 3D-hardewareversnelling onder XFree86 %s "
-"bied,\n"
-"MAAR LET DAAROP DAT DIT EKSPERIMENTEEL IS EN DIE REKENAAR MAG VRIES.\n"
-"U kaart word deur XFree %s ondersteun, wat beter 2D-ondersteuning bied."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree-konfigurasie"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Kies die geheue grootte van u videokaart"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Selekteer opsies vir bediener"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Kies 'n monitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Die kritiese twee parameters is die vertikale verfristempo (die tempo\n"
-"waarteen die hele skerm verfris) en die horisontale sinkronisasietempo (die\n"
-"tempo waarteen die horisontale skandeerlyne vertoon word). Lg. is die\n"
-"belangrikste.\n"
-"\n"
-"Dit is BAIE BELANGRIK dat u nie 'n sinkronisasie bereik buite di van u\n"
-"monitor spesifiseer nie, dit kan die monitor beskadig. Indien u twyfel,\n"
-"kies konservatief."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Horisontale verfristempo"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Vertikale verfristempo"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Monitor is nie opgestel nie"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Grafikakaart is nog nie konfigureer nie"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Resolusie is nog nie gekies nie"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Wil u die konfigurasie toets?"
-
-#
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Waarskuwing: Toetsing is gevaarlik met hierdie videokaart"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Toets konfigurasie"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"probeer van die parameters verander"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Daar was 'n fout:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "uitgang binne %ds"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Is dit korrek?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Hier is fout, probeer van die parameters verander"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Resolusie"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Kies die resolusie en kleurdiepte"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Videokaart: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 bediener: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr "Kundige modus"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Vertoon almal"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Resolusies"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Sleutelbord uitleg: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Muistipe: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Muistoestel: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Monitor HoriSink: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Monitor VertVerfris: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Videokaart: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Video geheue: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Kleurdiepte: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Resolusie: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 bediener: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86-drywer: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "X-Window konfigurasie word opgestel"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Wat wil u doen?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Verander monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Verander videokaart"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Verander bedienerinstellings"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Verander resolusie"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Vertoon inligting"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Toets weer"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Verlaat"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Behou die veranderinge?\n"
-"Huidige konfigurasie is:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Teken asb. weer in %s om veranderinge te aktiveer"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Teken uit en gebruik dan Ctrl-Alt-Backspace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X met herlaai"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Ek kan u rekenaar so opstel om X outomaties te laai.\n"
-"Wil u X begin met 'n herlaai?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 kleure (8 bis)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32-duisend kleure (15 bis)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65-duisend kleure (16 bis)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16-miljoen kleure (24 bis)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 biljoen kleure (32 bis)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16MB of meer"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standaard VGA, 640x480 teen 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 teen 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514-aanpasbaar, 1024x768 teen 87Hz interverweef (nie 800x600 nie)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 102x768 teen 87 Hz interverweef, 800x600 teen 56 Hz "
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Verlengde Super VGA, 800x600 teen 60 Hz, 640x480 teen 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Nie-interverweefde SVGA, 1024x768 teen 60 Hz, 800x600 teen 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Hod frekwensie SVGA, 1024x768 teen 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multi-frekwensie wat 1280x1024 kan doen teen 60Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multi-frekwensie wat 1280x1024 kan doen teen 74Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multi-frekwensie wat 1280x1024 kan doen teen 76Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor wat 1600x1220 kan doen teen 70Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor wat 1600x1220 kan doen teen 76Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Eerste sektor van herlaaipartisie"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Eerste sektor van skyf (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO installasie"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Waar wil u die herlaaistelsel installeer"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub installasie"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Herlaaistelsel hoofopsies"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-#, fuzzy
-msgid "Bootloader to use"
-msgstr "Herlaaistelsel hoofopsies"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Herlaaiprogram installasie"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Herlaaitoestel"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (werk nie op 'n ou BIOS nie)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Kompak"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "kompak"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Videomodus"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Wagperiode voro verstekstelsel gelaai word"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Wagwoord"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Wagwoord (weer)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Beperk instruksielynopsies"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "beperk"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Maak /tmp skoon met elke herlaai"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Presiese RAM grootte indien nodig (%d MB bespeur)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Ontsper multiprofiele"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Gee die geheuegrootte in MB"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Opsie ``Beperk instruksielynopsies'' kan nie sonder wagwoord gebruikword nie"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Probeer asb. weer"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Die wagwoorde stem nie ooreen nie."
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-#, fuzzy
-msgid "Default OS?"
-msgstr "Verstek"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Hier is die huidige inskrywings\n"
-"U kan byvoeg or verwyder soos nodig."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Voeg by"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Klaar"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "Verander RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Watter tipe inskrywing wil u byvoeg?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Ander bedryfstelsel (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Ander bedryfstelsel (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Ander bedryfstelsel (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Beeld"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Basis"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Aanlas"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lees-skryf"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tabel"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Onveilig"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Etiket"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Verstek"
-
-#: ../../any.pm_.c:284
-#, fuzzy
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Verwyder inskrywing"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Le etiket word nie toegelaat nie"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Hierdie etiket is alreeds in gebruik"
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr "Oor watter tipe drukker beskik u?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Het %s %s koppelvlakke gevind"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Beskik u oor nog?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Het u enige %s koppelvlakke?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Nee"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Sien hardeware inligting"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Drywer vir %s kaart %s in installasieproses"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(module %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Watter %s drywer meot ek probeer?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"In sekere gevalle sal die %s drywer ekstra inligting benodig, alhoewel in\n"
-"meeste gevalle dit nie nodig wees nie. Wil u ekstra opsies voorsien od moet\n"
-"rekenaar self daarvoor aftas. IN uitsonderlike gevalle mag die rekenaar\n"
-"ophang, maar dit sal nie skade veroorsaak nie."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Aftas"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Spesifieer opsies"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "U kan die opsies vir module %s hier intik."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Ukan noue die opsies voorsien vir module %s.\n"
-"Opsies is in die formaat ``naam=waarde naam2=waarde2 ...''.\n"
-"Bv. ``io=0x300 irq-7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Module opsies:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Laai van module %s het gefaal.\n"
-"Wil u ander parameters probeer?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s alreeds bygevoeg)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Die wagwoorde is te eenvoudig"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Gee asb. 'n gebruikerskode"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"Die gebruikerskode maag alleenlikui kleinletter, nommers, '-' en '_' bestaan"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Hierdie genruikerskode bestaan alreeds"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Voeg gebruiker by"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Tik 'n gebruiker in\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Aanvaar gebruiker"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Regte naam"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Gebruikerskode"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Dop"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Ikoon"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Outointeken"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Ek kan u rekenaar so opstel om X outomaties een gebruiker in te teken.\n"
-"Kliek op kanselleer indien u nie hierdie funksionaliteit verlang nie."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Kies die verstek gebruiker:"
-
-#
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Kies die vensterbestuurder om te loop:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, fuzzy, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Welkom by %s die bedryfstelselkeuseprogram!\n"
-"\n"
-"Om die moontlikehede te vertoon, druk <TAB>.\n"
-"\n"
-"Om 'n spesifieke een te laai, tik die nodige naam en druk <ENTER> of wag\n"
-"%ds en die verstek bedryfstelsel sal laai.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Welkom by GRUB, die bedryfstelselkieskaart!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-"Gebruik die %c en %c sleutels om die inskrywing te kies wat uitgelig moet "
-"word."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Druk ENTER om die gekose bedryfstelsel te laai, 'e' om te redigeer."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "instruksies voor herlaai, of 'c' vir 'n instruksielyn."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Die uitgeligte inskrywing sal outomaties in %ds gelaai word."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "nie genoeg spasie in /boot nie"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Werkskerm"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Beginkieskaart"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr "Postinstallasiekonfigurasie"
-
-#: ../../bootlook.pm_.c:79
-#, fuzzy
-msgid "/_File"
-msgstr "Lers:\n"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr ""
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr "Stel X op"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Internetkonneksiedeling"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr "Belmetode"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "Monitor"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "Verander monitor"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr "Herlaaitoestel"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Verstek"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Kanselleer"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "LILO installasie het gefaal a.g.v. hierdie fout: "
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Skep"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Ontheg"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Uitwis"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatteer"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Verstel Grootte"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tipe"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Hegpunt"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Skryf /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Skakel oor na kundige gebruiksvlak"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Skakel oor na normale gebruiksvlak"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Herstel vanaf lOer"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Stoor in lOer"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Assistent"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Herstel vanaf floppie"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Stoor op floppie"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Verwydeer almal"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formatteer almal"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Outo-allokeer"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Alle primOre partisies is gebruik"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Ek kan nie meer partisies byvoeg nie"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Om meer partisies te verkry, verwyder asb. een om 'n ektensiepartisiete kan "
-"skep"
-
-#: ../../diskdrake.pm_.c:61
-#, fuzzy
-msgid "Not enough space for auto-allocating"
-msgstr "Nie genoeg spasie beskikbaar om nuwe partisies toe te ken nie"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Herroep"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Skryf partisietabel"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr "Skuif"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Ruilarea"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Leeg"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Ander"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "LOersteltipes:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detail"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"U het een massiewe FAT partisie. \n"
-"(gewoonlik deur DOS/Windows gebruik)\n"
-"Ek stel voor u verstel eers die grootte van di partisie\n"
-"(kliek daarop en kliek dan op \"Verstel Grootte\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Rugsteun u data eers asb."
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lees noukeurig!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Indien u beplan om 'aboot' te gebruik, los spasie aan die begin\n"
-"van die skyf. (2048 sektors is genoeg)."
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Wees versigtig: hierdie is 'n gevaarlike operasie"
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Fout"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Hegpunt:"
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Toestel:"
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS-skyfletter: %s ('n raaiskoot)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tipe:"
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Naam: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Begin: sektor %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Grootte: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektore"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Silinder %d na silinder %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Geformateer\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Nie geformatter\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Geheg\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Teruglus ler(s): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Verstekpartisie vir herlaai\n"
-" (vir MS_DOS doeleindes, nie LILO s'n nie)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Vlak %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Blokgrootte %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-skywe %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Teruglus lernaam: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Kliek asb. op 'n partisie"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Grootte: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometrie: %s silinders, %s koppe, %s sektore\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-skywe %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Partisietabeltipe: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "op bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Heg"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktief"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Voeg by RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Verwyder uit RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Verander RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Voeg by LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Verwyder uit LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Gebruik vir teruglus"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Kies aksie"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Jammer, ek kan nie die versoek om /boot om hierdie skyf (op 'n silinder > "
-"1024) te skep,\n"
-"aanvaar nie. As u LILO genruik sal dit nie werk nie en as uit nie LILO "
-"gebruik\n"
-"nie, dan het u nie /boot nodig nie."
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"_ keuse vir die \"root\" partisie (/) is fisies buite die 1024de silindervan "
-"die\n"
-"hardeskyf en u het nie 'n /boot partisie nie. Indien u beplan om LILO te "
-"gebruik,moet u\n"
-"asb. 'n /boot partisie skep,"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"U het 'n sagteware RAID-partisie as wortel (/).\n"
-"Geen herlaaistelsel sal dit kan hanteer sonder 'n /boot partisie nie.\n"
-"Onthou om 'n /boot by te voeg."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Gebruik ``%s'' instede."
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Gebruik ``Ontheg'' eerste"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Alle data om hierdie partisie %s sal uitgewis word na verandering van die "
-"partisietipe"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Wil u in elk geval voortgaan?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Verlaat, maar moenie iets stoor nie"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Wil u verlaat, sonder om die partisietabel op te dateer?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Verander partisietipe"
-
-#
-#: ../../diskdrake.pm_.c:517
-#, fuzzy
-msgid "Which filesystem do you want?"
-msgstr "Watter drukkerstelsel verlang u?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "U kan nie ReiserFS vir partisies kleiner as 32MB gebruik nie"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Waar wil u teruglusler %s heg?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Waar wil u toestel %s heg?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Kan nie hegpunt ontset nie, omdat hierdie partisie vir teruglus\n"
-"gebruik word. Verwyder eers die teruglus."
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "Alle data om partisie %s sal uitgewis word met formatering."
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formatering"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Teruglusler %s word geformateer"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Partisie %s word formateer"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Na formatering van alle partisies"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "alle data om hierdie partisies sal verloor word"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Skuif"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Na watter skyf wil u skuif?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Na watter sektor wil u skuif?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Verskuiwing"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Partisie word verskuif..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Partisietabel van skyf %s gaan opdateer word!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "U sal moet herlaai voor die veranderinge geaktiveer kan word"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "FAT lerstelselgrense word bereken"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Grootteverandering"
-
-#: ../../diskdrake.pm_.c:643
-#, fuzzy
-msgid "This partition is not resizeable"
-msgstr "Watter partisie se grootte wil u verander?"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Alle data om hierdie partisie moet gerugsteun word."
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "Alle data om partisie %s sal uitgewis word met die grootteverandering"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Kies die nuwe grootte"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Kies 'n nuwe grootte"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Kies sektor: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Grootte in MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "LOerstelseltipe: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Voorkeure: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Hierdie partisie kan nie vir teruglus gebruik word nie."
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Teruglus"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Teruglus lernaam:"
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Ler word alreeds deur 'n ander teruglus gebruik,kies 'n ander een"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Ler bestaan alreeds. Moet dit gebruik word?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Selekteer lOer"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Die rugsteunpartisietabel het nie dieselfde grootte nie\n"
-"Wil u voortgaan?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Waarskuwing"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Sit 'n floppie in die aandrywer.\n"
-"Alle data op hierdie floppie sal verloor word."
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Partisietabel Reddingspoging"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "toestel"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "vlak"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "blokgrootte"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Kies 'n bestaande RAID om by toe te voeg"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "nuut"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Kies 'n bestaande LVM om by toe te voeg"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Outohegting van verwyderbare media"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Reddingspartisietabel"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Herlaai"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formatering ban %s het gefaal"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "Ek weet nie om %s as tipe %s te formateer nie"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "heg het gefaal"
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "fout met onthegting van %s: %s"
-
-#: ../../fsedit.pm_.c:21
-#, fuzzy
-msgid "simple"
-msgstr "Ler"
-
-#: ../../fsedit.pm_.c:30
-#, fuzzy
-msgid "server"
-msgstr "X-bediener"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Hegpunte moet met 'n / begin"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Daar is alreeds 'n partisie met hegpunt %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Sirkulre heg %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Hierdie lergids moet altyd in die wortellerstelsel bly"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr "U benodig 'n ware lerstelsel (ext2, reiserfs) vir hierdie hegpunt\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Four om %s in skryfmode te open: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"'n Fout het voorgekom - geen geldige toestelle om die nuwe lOerstelsels op "
-"teskep, is gevind nie. Deursoek asb. die hardeware vir die oorsaak."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "U get geen partisies nie!"
-
-#: ../../help.pm_.c:9
-#, fuzzy
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Kies voorkeurtaal vir installasie en stelselgebruik"
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Kies die sleutelborduitleg uit die bostaande lys"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Selekteer:\n"
-"\n"
-" - Afgemeet: Indien u vertroud genoeg is met GNU/Linux, kan u die primre\n"
-" gebruik van u rekenaar kies. Sien onder vir details.\n"
-"\n"
-" - Kundige: Indien u vlot is in GNU/Linux en 'n hoogs aangepaste "
-"installasie wil\n"
-" doen, kan u die deur die gebruik van u rekenaar te kies.\n"
-" MOET ASB. NIE HIERDIE OPSIE KIES INDIEN U NIE WEET WAT U DOEN NIE."
-
-#: ../../help.pm_.c:68
-#, fuzzy
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Die verskillende opsies vir u rekenaar se gebruik (indien u \"Afgemeet\" \n"
-"of \"Kundige\" sou kies) is die volgende:\n"
-"\n"
-" - Normaal: Indien die rekenaar primr vir daaglikse kantoorgebruik is.\n"
-" Moenie programmeringspakette verwag nie.\n"
-"\n"
-" - Ontwikkeling: Indien die rekenaar vir programontwikkel;ing gebruik sal\n"
-" word. 'n Volledige stel kompileerders, saamstellers en ontfouters sal \n"
-" opgesit word.\n"
-"\n"
-" - Bediener: Indien die rekenaar primr 'n bediener sal wees, hetsy met "
-"NFS,\n"
-" SMB, drukkerbediening, NIS magtiging ens.\n"
-" Moenie vensterstelsels soos KDE en GNOME verwag nie.\n"
-
-#: ../../help.pm_.c:84
-#, fuzzy
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX sal probeer om vir PCI SCSI-kaarte te soek.\n"
-"Indien DrakX 'n SCSI-kaart bespeur en weet watter drywer omte gebruik sal "
-"dit outomaties installeer word.\n"
-"\n"
-"Indien u nie oor 'n SCSI-kaart, beskik nie of oor 'n ISA SCSI-kaart of 'n "
-"PCI SCSI-kaart beskik wat DrakX nie kan herken nie, sal u gevra word of daar "
-"enige SCSI-kaarte in diestelsel is. Indien daar geen is nie kliek op 'Nee', "
-"andersins op 'Ja'. U sal dan uit'n drywerlys kan kies.\n"
-"\n"
-"\n"
-"Indien u self 'n drywer moes spesifiseer, sal DrakX u ook vra vir enige "
-"spesifiekeopsies.\n"
-"U kan egter DrakX toelaat om self die hardeware te ondervra. DIt werk "
-"gewoonlik die beste.\n"
-"\n"
-"Lees die installasie inligting hoe om hierdie tipe inligting m.b.v. die "
-"Windows-bedryfstelsel te bekom.\n"
-"U kan dit ook vanaf die internet onttrek indien u sulke toegang het."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-#, fuzzy
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"U kan nou die pakketgroepe kies wat u wil installeer of opgradeer.\n"
-"\n"
-"DrakX sal dan kyk of daar genoegsame spasie is vir die volledige "
-"installasie.\n"
-"Indien nie sal u verwittig word. Indien u voortgaan, sal van die minder "
-"belangrike\n"
-"pakkette nie installeer word nie.Heel onder kan u die opsie \"Individuele "
-"pakketkeuses\"\n"
-"kies waarna u deur meer as 'n 1000 pakkette sal moet blaai....."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-#, fuzzy
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Indienu al die CDs in die bogenoemde lys het, kliek OK.\n"
-"Indien u geen het nie, kliek Kanselleer.\n"
-"Indien sekere CDs weg is, onselekteer hulle en kliek dan OK."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-#, fuzzy
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Kies asb. die korrekte poort. Onthou dat COM1 onder MS Windows \n"
-"ttyS0 onder GNU/Linux is."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"U kan nou die opbelopsie invul. Indien u\n"
-"twyfel kry die korrekte inligting van u ISP."
-
-#: ../../help.pm_.c:431
-#, fuzzy
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Sleutel in:\n"
-"\n"
-" - IP-adres: Indien u dit nie weet nie vra u netwerkadministrateur of ISP.\n"
-"\n"
-"\n"
-" - Netmasker: \"255.255.255.0\" is gewoonlik 'n goeie keuse. Indien u "
-"twyfel,\n"
-" vra die netwerkadministrateur of ISP.\n"
-"\n"
-"\n"
-" - Outomatiese IP: Indien u netwerk bootp of dhcp protokolle ondersteun, "
-"kies\n"
-" hierdie opsie. In so 'n geval is 'n IP-adresinskrywing nie nodig nie. "
-"Indien u\n"
-" twyfel, vra die netwerkadministrateur of ISP.\n"
-
-#: ../../help.pm_.c:443
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Indien u netwerk NIS gebruik, kies \"Gebruik NIS\". Indien u twyfel vra\n"
-"die netwerkadministrateur."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"U kan nou die opbelopsie invul. Indien u\n"
-"twyfel kry die korrekte inligting van u ISP."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Indien u instaanbedieners wil gebruik, stel hulle hier op.. Indien u twyfel "
-"vra\n"
-"die netwerkadministrateur of ISP."
-
-#: ../../help.pm_.c:459
-#, fuzzy
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"U kan 'n kriptografiese pakket installeer indien u internetkonneksie reg "
-"opgestel is.\n"
-"Kies eers die spiel waar u die pakket vanaf wil aflaai en kies dan die "
-"pakkette\n"
-"om te installeer.\n"
-"\n"
-"Let wel: U moet 'n spiel en pakkette selekteer n.a.l plaaslike wetgewing."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-#, fuzzy
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"U kan nou u tydsone kies.\n"
-"\n"
-"\n"
-"GNU/Linux beheer tyd in GMT (Greenwichmeridiaantyd) en vertaal dit dan\n"
-"in u lokale tyd volgends die gekose tydsone."
-
-#: ../../help.pm_.c:479
-#, fuzzy
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"U kan nou dienste kies wat by herlaaityd moet afskop.\n"
-"Wanneer u die muis oor 'n item beweeg, sal 'n klein ballon opspring\n"
-"wat die rol van die diens verduidelik.\n"
-"\n"
-"Wees versigtig met hierdie stap. Indien u beplan om di rekenaar as 'n\n"
-"bediener te gebruik wil u nie dienste afskop wat u nie gaan gebruik nie."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-#, fuzzy
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"U kan nou die 'root' wagwoord voorsien vir u Linux-Mandrake stelsel.\n"
-"Die wagworod moet twee keer ingevoer word en te verfier dat dit\n"
-"korrek is.\n"
-"\n"
-"\n"
-"Root is die administrateur van die stelsel en is die enigste gebruiker\n"
-"wat toegelaat wiord om die stelselkonfigurasie te verander. In di lig,\n"
-"kies asb. die wagwoord sorgvuldig. Ongemagtigde gebruik van die root\n"
-"rekening kan uitermatiglik nadelig wees vir die integriteit van die\n"
-"stelsel. Die wagwoord moet alfanumeries wees en ten minste 8 karakters\n"
-"lank. MOENIE die wagwoord rens neerskryf nie. Moet dit nie te lank of te\n"
-"ingwikkeld maak nie, u moet dit met min moeite onthou."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Om 'n veiliger stelsel te bou, moet u \"Gebruik skaduler\" \n"
-"en \"Gebruik MD5 wagwoorde\" kies."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Indien u netwerk NIS gebruik, kies \"Gebruik NIS\". Indien u twyfel vra\n"
-"die netwerkadministrateur."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"U mag nou een of meer gewone gebruikersrekeninge skep. Dit is in\n"
-"teenstelling met die bevoorregte 'root' rekening. Elke gebruikersrekening\n"
-"sal oor sy eie voorkeure (grafiese omgewing, programstelling, ens.) en\n"
-"tuisgids (waar hierdie instellings gestoor word) beskik.\n"
-"\n"
-"\n"
-"Derhalwe moet u in die stelsel intkeen met u eie gebruikerskode en slegs\n"
-"'root' gebruik vir administratiewe doeleindes.\n"
-"\n"
-"Skep eerstens 'n rekening vir uself. Selfs indien u die enigste gebruiker\n"
-"op die stelsel sal wees, moet u NIE as 'root' vir u daaglikse gebruik\n"
-"inteken NIE. 'n Onbruikbare stelsel kan net een tikfout ver weg wees.\n"
-"\n"
-"\n"
-"Derhalwe moet u aanteken met die gebruikerskode wat u hier skep en 'root'\n"
-"net vir admintratiewe doeleindes gebruik."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"U moet aandui waar u die informasie om Linux te herlaai, wil plaas.\n"
-"\n"
-"\n"
-"Behalwe as u werklik weet wat u doen moet u \"Eerste sektor van skyf (MBR)\" "
-"kies."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Indien u spesifiek anders weet, is die gewone keuse \"/dev/hda\"\n"
-"(primre meester IDE-skyf) of \"/dev/sda\" (eerste SCSI-skyf)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (Die LInux LOader) en Grub is herlaaistelsels. Beide kan GNU/Linux of "
-"enige ander\n"
-"bedryfstelsel wat op u rekenar teenwoordig is, laai. Gewoonlik word hierdie\n"
-"beryfstelsels reg bespeur en bygevoeg. Indien nie, kan u 'n inskrywing maak\n"
-"op hierdie skerm. Maak seker u kies die korrekte paramters.\n"
-"\n"
-"\n"
-"U mag dalk toegang tot ander bedryfstelsels beperk, in welke geval u die "
-"nodige\n"
-"inskrywings kan uitvee. Maar dan het u die nodige herlaaiskywe nodig om die\n"
-"betrokke bedryfstelsels te laai."
-
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILO en Grub hoof opsies is:\n"
-" - Herlaaitoestel: Stel die naam van die toestel (bv. hardeskyfpartisie\n"
-" wat die herlaaisektor bevat. Indien u spesifiek anders weet\n"
-" kies \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Wagperiode voor verstekbedryfstelsel gelaai word. Kies die syfer in\n"
-" tiendes van 'n sekonde at die herlaaistelsel moet wag.\n"
-" Hierdie is handig op stelsels wat onmiddelik die hardeskyf skop na die\n"
-" sleutelbord geaktiveer is. Die herlaaistelsel sal nie wag nie indien "
-"die\n"
-" wagperiode nul is.\n"
-"\n"
-"\n"
-" - Videomode: Kies die spesifieke VGA teksmode wat gebruik moet word met\n"
-" herlaai. Die volgende waardes is beskikbaar:\n"
-" * normaal: selekteer normale 80x25 mode.\n"
-" * syfer: die ooreenstemmende teksmode."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO 'n herlaaiprogram vir SPARC. Dir kan GNU/Linux of enige ander\n"
-"bedryfstelsel wat op u rekenar teenwoordig is, laai. Gewoonlik word hierdie\n"
-"bedryfstelsels reg bespeur en bygevoeg. Indien nie, kan u 'n inskrywing "
-"maak\n"
-"op hierdie skerm. Maak seker u kies die korrekte paramters.\n"
-"\n"
-"\n"
-"U mag dalk toegang tot ander bedryfstelsels beperk, in welke geval u die "
-"nodige\n"
-"inskrywings kan uitvee. Maar dan het u die nodige herlaaiskywe nodig om die\n"
-"betrokke bedryfstelsels te laai."
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"SILO hoofkeuses is:\n"
-" - Herlaaitoestel: Waar wil u die inligting om GNU/Linux te laai plaas? Die "
-"beste is\n"
-"gewoonlik om \"Eerste hardeskyfsektor (MBR)\" te kies.\n"
-"\n"
-"\n"
-" - Wagperiode voor verstekbedryfstelsel gelaai word. Kies die syfer in\n"
-" tiendes van 'n sekonde at die herlaaistelsel moet wag.\n"
-" Hierdie is handig op stelsels wat onmiddelik die hardeskyf skop na die\n"
-" sleutelbord geaktiveer is. Die herlaaistelsel sal nie wag nie indien "
-"die\n"
-" wagperiode nul is."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Dit is tyd om die X-vensterstelsel op te stel. Hierdie is die kern van\n"
-"die GNU/Linux grafiese omgewing. Vir hierdie doeleindes, moet u 'n "
-"videokaart\n"
-"en monitor kies. Meeste van hierdie stappe is outomaties en u moet net\n"
-"verifier of dit korrek is.\n"
-"\n"
-"\n"
-"Na konfigurasie sal X outmaties gelaai word, behalwe as u DrakX andersins\n"
-"aans. Indien die stelling u nie pas nie, kom terug en verander so veel\n"
-"keer soos nodig."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Indien iets verkeerd is in die X-konfigurasie, gebruik hierdie opsies om\n"
-"die X-vensterstelsel reg op te stel."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Indien u verkies om 'n grafiese intekenarea te kry, kies \"Ja\", andersins "
-"\"Nee\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"U stelsel gaan nou herlaai.\n"
-"\n"
-"U nuwe Linux-Mandrake stelsel sal outomaties laai. Indien u 'n ander\n"
-" bedryfstelsel wil laai, lees die ekstra instruksies noukeurig deur."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Kies u taal"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Kies installasieklas"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Hardeskyfdeteksie."
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Stel muistoestel op"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Kies u sleutelbord"
-
-#: ../../install2.pm_.c:42
-#, fuzzy
-msgid "Security"
-msgstr "krul"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Stel lerstelsels op"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formateer partisies"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Kies pakkette om te installeer"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Installeer stelsel"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Kies 'root' se wagwoord"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Voeg 'n gebruiker by"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Stel netwerk op"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Konfigureer dienste"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Maar 'n herlaaiskyf"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Installeer herlaaistelsel"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Stel X op"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Verlaay installasie"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "Kan nie uitsaau sonder 'n NIS-domein nie"
-
-#: ../../install_any.pm_.c:676
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Sit 'n skyf in aandrywer %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Fout met lees van ler $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "OK"
-
-#
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Toets asb. die muis"
-
-#
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-#, fuzzy
-msgid "To activate the mouse,"
-msgstr "Toets asb. die muis"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Sekere hardeware op u rekenaar benodig geslote drywers.\n"
-" U kan inligting hieroorvind by %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"U moet 'n wortelpartisie definieer.\n"
-"Skep 'n partisie of kliek op 'n bestaande een.\n"
-"Kies dan Hegpunt en stel dit dan '/'."
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "U moet oor 'n ruilpartisie beskik"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"U het nie 'n ruilpartisie nie\n"
-"\n"
-"Wil u steeds voortgaan?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Gebruik beskikbare spasie"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Nie genoeg spasie beskikbaar om nuwe partisies toe te ken nie"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Gebruik bestaande partisies"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Daar is geen bestaande partisies om te gebruik nie"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Gebruik vir die Windows-partisie vir teruglus"
-
-#: ../../install_interactive.pm_.c:90
-#, fuzzy
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "In watter partisie wil u Linux4Win plaas?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Kies die groottes"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Basispartisiegrootte in MB:"
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Ruilpartisiegrootte in MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Gebruik die beskikbare spasie op die Windowspartisie"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Watter partisie se grootte wil u verander?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Windowslerstelselgrense word bereken"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"Die FAT-verstellingsprogram kan nie u partisie hanteer nie.\n"
-"Fout: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr "U Windows-partisie is te gefragmenteer. Loop eers 'defrag' asb."
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"WAARSKUWING\n"
-"\n"
-"DrakX moet nou u WIndowspartisie se grootte verander. Hierdie operasie\n"
-"IS GEVAARLIK. Indien u nie alreeds so gemaak het nie, moet u hierdie "
-"installasie\n"
-"verlaat, scandisk onder Windows loop en dalk ook defrag. Dan kan u terugkeer "
-"na\n"
-"hierdie installasie. Rugstuen ook u data. Insien u skeer is van u saak, kies "
-"OK."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Watter grootte wil u vir Windows behou?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "partisie %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "FAT-grootteverandering het gefaal: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Daar is geen FAT partisies om te verander of om as teruglus (nie genoeg "
-"spasie nie) te gebruik nie"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Wis hele skyf"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Verwyder Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "U het meer as een hardeskyf, waar wil u Linux installeer?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "Alle bestaande partisies en data sal uitgewis word op skyf %s"
-
-#: ../../install_interactive.pm_.c:165
-#, fuzzy
-msgid "Custom disk partitioning"
-msgstr "Gebruik bestaande partisies"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Gebruik fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"U het nou partisie %s partisioneer.\n"
-"Wanneer u klaar is, stoor u veranderinge met 'w'."
-
-#: ../../install_interactive.pm_.c:201
-#, fuzzy
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Gebruik die beskikbare spasie op die Windowspartisie"
-
-#: ../../install_interactive.pm_.c:217
-#, fuzzy
-msgid "I can't find any room for installing"
-msgstr "Ek kan nie meer partisies byvoeg nie"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "Die DrakX partisioneringsassistent het die volgende oplossings:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Partisionering het misluk: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Netwerk op pad op"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Netwerk op pad af"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"'n Fout het plaasgevind en ek weet nie hoe om dit veilig te hanteer\n"
-"nie. Gaan op u eie risiko voort."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Duplikaat hegpunt %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Sekere belangrike pakkette het nie korrek genstalleer nie.\n"
-"f die CDROM-aandrywer f die CD is foutief.\n"
-"Toets die CD op 'n werkende Linux installasie met \"rpm -qpl Mandrake/RPMS/*."
-"rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Welkom by %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Geen sagteskyaandrywer beskikbaar nie"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Gaan stap '%s' binne\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Kies die grootte van die installasie"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Totale grootte: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Weergawe: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Groote: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Kies die pakkette wat u wil installeer"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Installasie"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Besig met installasie"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Wag asb.,"
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Tyd oor "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Totale tyd "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Berei installasie voor"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Installeer pakket %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Gaan steeds voort?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Daar was 'n fout met pakkette:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Gebruik bestaande konfigurasie vir X11?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"U stelsel het min hulpbronne beskikbaar. U mag dalk probleme ondervind met "
-"die installering\n"
-"van Linux-Mandrake. In so 'n geval probeer eerder die teksinstallasie. "
-"Daarvoor moet u\n"
-"'F1' druk wanneer u vanaf die CDROM herlaai en dan 'text' op die "
-"instruksielyn intik."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Kies asb. een van die volgende installasieklasse:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Die totale grootte vir die gekose groepe is naastenby %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Indien u verkies om minder as hierdie grootte te installeer, kies dan 'n\n"
-"persentasie van pakkette wat u wil installeer.\n"
-"\n"
-"'n Lae persentasie sal net die belangrikste pakkette installeer;\n"
-"'n persentasie van 100%% sal alles gekose pakkette installeer."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"U het net spasie op u hardeskyf vir %d%% van hierdie pakkette.\n"
-"\n"
-"Indien u minder wil installeer, kies die persentasie wat u verlang.\n"
-"'n Lae persentasie sal net die belangrikste pakkette installeer;\n"
-"'n Persentasie van %d%% sal soveel moontlik probeer installeer."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "U sal met meer akkuraatheid in die volgende stap kan kies."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Persentasie pakkette om te installeer"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Kies pakketgroepe"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Individuele pakketseleksie"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Maak boom oop"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Maak boom toe"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Skakel tussen plat- en groepsortering"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Foutiewe pakket"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Naam: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Belangrikheid: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Totale grootte: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"U kan nie hierdie pakket selekteer nie, omdat daar nie meer spasie "
-"beskikbaar is nie"
-
-#
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Die volgende pakkette gaan installeer word"
-
-#
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Dei volgende pakkette gaan verwyder word"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "U kan nie hierdie pakket selekteer/deselekteer nie"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Hierdie is 'n verpligte pakket. Dit kan nie uitgehaal word nie."
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "U kan nie heirdie pakket verwyder nie. Dis alreeds genstalleer"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Hierdie pakket moet opgradeer word\n"
-"Is u seker u wil dit deselekteer?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "U kan nie hierdie pakket deselekteer nie. Dit moet opgradeer word."
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Skatting"
-
-#: ../../install_steps_gtk.pm_.c:582
-#, fuzzy
-msgid "Please wait, preparing installation"
-msgstr "Berei installasie voor"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d pakkette"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Aanvaar "
-
-#
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Weier"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Verander u CDROM!\n"
-"\n"
-"Sit asb. die CDROM getiteld \"%s\" in die aandrywer en druk OK. Indien u "
-"nie\n"
-"hieroor beskik nie, druk Kanselleer om installasies vanaf di CDROM te vermy."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Daar was 'n fout met die installasie van die pakkette:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "'n Fout het voorgekom"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Kies asb. 'n taal om te gebruik."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "U kan ander tale selekteer wat na installasie beskikbaar sal wees."
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Alles"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Sleutelbord"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Wat is u sleutelborduitleg?"
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Installasieklas"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Watter installasieklas verlang u?"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Install/Update"
-msgstr "Installeer/Opgradeer"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Is this an install or an update?"
-msgstr "Is hierdie 'n installasie of reddingspoging?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Aanbevole"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Kundige"
-
-#: ../../install_steps_interactive.pm_.c:226
-#, fuzzy
-msgid "Update"
-msgstr "Opgradeer"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Wat is u muistoestel?"
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Muispoort"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Aan watter seriaalpoort is u muis gekoppel?"
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Stel PCMCIA op..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "IDE word opgestel"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "geen beskikbare partisies"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Kies die hegpunte"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Ek kan nie u partisietabel lees nie, dit is te korrup.\n"
-"Ek sal die nodige partisies skoonmaak, maar alle data sal vernietig word.\n"
-"Die ander opsie is om DrakX te belet om die partisietabel te verander.\n"
-"(fout is %s)\n"
-"\n"
-"Will u al die partisies verwyder?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DrakX kon nie die partisietabel korrek interpreteer nie.\n"
-"Gaan aan op u eie risiko!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Basispartisie"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Wat is die basispartisie (/) van u stelsel?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "U moet herlaai om die partisietabelveranderinge te aktiveer"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Kies die partisies om te formatteer"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Toets vir foutiewe areas?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Partisies word formateer"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Ler %s word geskep en formatteer"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Nie genoeg ruilarea om die installasie te voltooi. Voeg asb. by."
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Soek vir beskikbare pakkette"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Soek vir pakkette om op te gradeer."
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"U stelsel het nie genoeg plek vir 'n installasie of opgradering nie (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Klaar (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimum (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Aanbevole (%dMB)"
-
-#
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Aangepaste"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Indien u oor al die gelyste CD's beskik, kliek OK.\n"
-"Indien u oor geen van die gelyste CD's beskik nie, kliek Kanselleer.\n"
-"Indien u net oor sekere CDs beskik, deselekteer die ander en kliek OK."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CDROM getiteld \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Installeer nou pakket %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Postinstallasiekonfigurasie"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"U het nou die kans om enkripsieprogrammatuur af te laai.\n"
-"\n"
-"WAARSKUWING:\n"
-"\n"
-"A.g.v. die verskillende algemene vereistes wat van toepassing gemaak word "
-"deur\n"
-"wetgewing, moet die eindgebruiker van hierdie sagteware seker wees dat die\n"
-"wette in sy/haar land dit wel toelaat dat om hierdie agteware af te laai, "
-"aan te hou\n"
-"en te gebruik.\n"
-"Daarbenewens moet die gebruiker seker maak dat plaaslike wetgewing nie "
-"oortree\n"
-"word nie. Misbruik kan lei tot ernstige sanksies.\n"
-"\n"
-"In geen geval kan MandrakeSoft nog sy vervaardigers en verskaffers "
-"verantwoordelik\n"
-"gehou word vir spesiale, indirekte or toevallige skade berokken (insluitend, "
-"maar nie\n"
-"beperk tot, winsverlies, besigheidsonderbreking, dataverlies en enige "
-"voorspruitende laste\n"
-"soos moontlik bepaal deur die wetgewende hof) wat vooruitspruit uit die "
-"gebruik, besit\n"
-"of aflaai van hierdie programmatuur nie, na tekening wat hierdie ooreenkoms "
-"nie.\n"
-"\n"
-"\n"
-"Vir navrae vewant aan hierdie ooreenkoms, kontak asb.\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Kies 'n spiel waar die pakkette verkry kan word"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Spiel word gekontak vir die lys van pakkette"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Kies die pakkette wat u wil installeer"
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Wat is u tydsone?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Is die hardewareklok gestel vir GMT?"
-
-#
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Verwyder CUPS-bediener"
-
-#: ../../install_steps_interactive.pm_.c:807
-#, fuzzy
-msgid "No printer"
-msgstr "Drukkernaam"
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr "USB Muis"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Drukker"
-
-#: ../../install_steps_interactive.pm_.c:826
-#, fuzzy
-msgid "ISDN card"
-msgstr "Interne ISDN-kaart"
-
-#: ../../install_steps_interactive.pm_.c:829
-#, fuzzy
-msgid "Sound card"
-msgstr "Standaard"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Watter drukkerstelsel verlang u?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Geen wagwoord"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"Hierdie wagwoord is te eenvoudig. Dit moet ten minste %d karakters bevat."
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Gebruik NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "geel bladsye"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "NIS-bemagtiging"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS-domein"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS-bediener"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"'n Spesiale herlaaiskyf voorsien ;n metode waarby u Linux kan laai sonder\n"
-"die gebruik van 'n normale herlaaistelsel. Dit is veral bruikbaar wanneer\n"
-"u nie SILO op u stelsel wil installeer nie, 'n ander bedryfstelsel SILO\n"
-"verwyder of SILO nie met u stelsel werk nie. Hierdie herlaaiskyf kan ook\n"
-"met die Mandrake reddingsbeeld gebruik word, wat dit makliker maak om van\n"
-"ernstige stelselfalings te herstel.\n"
-"\n"
-"Indien u 'n herlaaiskyf wil maak,\n"
-"plaas 'n skyf in die aandrywer en druk \"OK\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Eerste sagteskyfaandrywer"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Tweede sagteskyfaandrywer"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Mis hierdie stap"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"'n Spesiale herlaaiskyf voorsien ;n metode waarby u Linux kan laai sonder\n"
-"die gebruik van 'n normale herlaaistelsel. Dit is veral bruikbaar wanneer\n"
-"u nie LILO (of Grub) op u stelsel wil installeer nie, 'n ander bedryfstelsel "
-"LILO\n"
-"verwyder of LILO nie met u stelsel werk nie. Hierdie herlaaiskyf kan ook\n"
-"met die Mandrake reddingsbeeld gebruik word, wat dit makliker maak om van\n"
-"ernstige stelselfalings te herstel. Wil u 'n herlaaiskyf maak?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Jammer, geen sagteskyfaandrywer beskikbaar nie"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Kies die sagteskyfaandrywer wat u wil gebruik"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Sit 'n skyf in aandrywer %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Herlaaiskyf word geskryf"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Herlaaistelsel word voorberei"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Wil u aboot gebruik?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Die 'aboot' installasie het gefaal. Wil u 'n installasie afwurg al\n"
-"word die eerste partisie vernietig?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Installasie van herlaaiprogram het gefaal a.g.v. hierdie fout: "
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Laag"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Medium"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Hoog"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Gebruik sekuriteitsvlak"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "Wil u 'n outoinstallasieskyf maak vir Linux replikasie?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Sit 'n le floppie in aandrywer %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Outoinstallasieskyf word geskep."
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Bepaalde stappe is nie afgehandel nie.\n"
-"\n"
-"Wil u werklik nou aborteer?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Geluk, installasie is afgehandel.\n"
-"Verwyder die herlaaimedium en druk 'enter' om te herlaai.\n"
-"\n"
-"Vir lapinligting oor hierdie vrystelling vanLinux-Mandrake,\n"
-"bekyk die errata beskikbaar op http://www.linux-mandrake.com/.\n"
-"Inligting oor stelskonfigurasie is beskikbaar in die postinstallasie-\n"
-"hoofstuk in die Offisile Liux-Mandrake Gebruikersgids."
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr "Outoinstallasieskyf word geskep."
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Outomaties"
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr "Herlaai"
-
-#: ../../install_steps_interactive.pm_.c:1189
-#, fuzzy
-msgid "Save packages selection"
-msgstr "Individuele pakketseleksie"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux-Mandrake Installasie %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> tussen elemente | <Space> selekteer | <F12> volgende skerm "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Wag asb."
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Vaagheid (%s). Wees meer presies\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Swak keuse, probeer weer\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (verstek %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "U keuse? (verstek %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "U keuse? (Verstek %s tik 'none' vir geen)"
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Tseggies (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Duits"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Spaans"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finnies"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Frans"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norweegs"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Pools"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Russies"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "VK sleutelbord"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "VSA sleutelbord"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armenies (oud)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armenies (tikmasjien)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armenies (Foneties)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaidjani (latyns)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbaidjani (kirillies)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgies"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgaars"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasiliaans (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Belarussies"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Switsers (Duitse uitleg)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Switsers (Franse uitleg)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Tseggies (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Duits (geen dooie sleutels)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Deens"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (VSA)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norweegs)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estoniaans"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgies (Russiese uitleg)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgies (Latynse uitleg)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Grieks"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hongaars"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroaties"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israelies"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israelies (Foneties)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iranies"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Yslandies"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italiaans"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japanees 106 sleutels"
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr "VK sleutelbord"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latyns-Amerikaans"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Nederlands"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lituanies AZERTY (oud)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lituanies AZERTY (nuut)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lituanies \"nommerry\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lituanies \"foneties\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Pools (QWERTY uitleg)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Pools (QWERTZ uitleg)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugees"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanadees (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Russue (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Sweeds"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Sloveens"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovaaks (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovaaks (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thai sleutelbord"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turks (tradisionele \"F\" model)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turks (moderne \"Q\" modem)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukranies"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "VSA internasionale sleutelbord"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vitnamees \"nommerry\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-#, fuzzy
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoslaavs (latynse uitleg)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - Muis"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standaard"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-#, fuzzy
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Generiese Muis"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-#, fuzzy
-msgid "1 button"
-msgstr "2 knoppies"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Generies"
-
-#
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Wiel"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "seriaal"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Generiese 2-knop muis"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Generiese 3-knop muis"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Reeks (seriaal)"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Muis (seriaal, ou C7 tipe)"
-
-#: ../../mouse.pm_.c:65
-#, fuzzy
-msgid "busmouse"
-msgstr "Geen muis"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 knoppies"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 knoppies"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "niks"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Geen muis"
-
-#: ../../my_gtk.pm_.c:356
-#, fuzzy
-msgid "Finish"
-msgstr "Finnies"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Volgende ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Is dit korrek?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Internetkonfigurasie"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Wil u nou aan die internet konnekteer?"
-
-#: ../../netconnect.pm_.c:148
-#, fuzzy
-msgid "Testing your connection..."
-msgstr "Konfigureer internetkonneksie"
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid "The system is now connected to Internet."
-msgstr "Hoe wil u aan die internet konnekteer?"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr "Konnekteer aan die internet / Konfigureer LAN"
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Netwerkkonfigurasie"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN Konfigurasie"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Kies u internetdiensvoorsiener.\n"
-"Indien nie in die lys nie kies Ongelys"
-
-#
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Konneksiekonfigurasie"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Vul asb. die velde hieronder in"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Kaart IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Kaartgeheue (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Kaart I/O"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Kaart IO_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Kaart IO_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "U persoonlike telefoonnommer"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Voorsienernaam (bv voorsiener.co.za)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Voorsiener se telefoonnommer"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Voorsiener DNS 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Voorsiener DNS 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Belmetode"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Gebruikerskode"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Wagwoord"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europa (EDSS1)"
-
-#
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Res van die wreld"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Res vd wreld \n"
-" geen D-Kanaal (bruikhuurlyne)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Watter protokol verlang u?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Oor watter tipe kaart beskik u?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Ek weet nie"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Indien u 'n ISA-kaart het, behoort die waardes op die volgende skerm reg te "
-"wees.\n"
-"\n"
-"Indien u 'n PCMCIA kaart het, moet u die IRQ en I/O van u kaart weet.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Aborteer"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Gaan voort"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Wat is u ISDN-kaart?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Ek het 'n ISDB PCI-kaart gevind, maar ek ken nie die tipe nie. Kies asb.'n "
-"PCI-kaart op die volgende skerm."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr "Geen ISDN PCI-kaart gevind nie. Kies asb. een op die volgende skerm."
-
-#: ../../netconnect.pm_.c:371
-#, fuzzy
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Geen ethernetkaart is op die stelsel gevind nie. Gebruik asb. die "
-"hardewarekonfigurasieprogram."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Kies die netwerkkoppelvlak"
-
-#: ../../netconnect.pm_.c:376
-#, fuzzy
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Kies asb. die netwerkkoppelvlak wat u wil gebruik vir die internet.\n"
-"Indien u nie weet nie, kies eth0.\n"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Netwerkkoppelvlak"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-#, fuzzy
-msgid "I'm about to restart the network device:\n"
-msgstr "Ek gaan nou die netwerkkoppelvlak herlaai. Stem u saam?"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL konfigurasie"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Wil u die konneksie by herlaaityd aanskakel?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Op watter seriaalpoort is u modem gekoppel?"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Opbelopsies"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Konneksienaam"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefoonnommer"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Aantekenkode"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Magtiging"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Skriptipe"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminaaltipe"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Domeinnaam"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr "Eerste DNS bediener"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr "Tweede DNS bediener"
-
-#: ../../netconnect.pm_.c:701
-#, fuzzy
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr "Ek gaan nou die netwerkkoppelvlak herlaai. Stem u saam?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr "Konfigureer internetkonneksie"
-
-#: ../../netconnect.pm_.c:745
-#, fuzzy
-msgid "You are currently connected to internet."
-msgstr "Hoe wil u aan die internet konnekteer?"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr "Konnekteer aan die internet / Konfigureer LAN"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid "You are not currently connected to Internet."
-msgstr "Hoe wil u aan die internet konnekteer?"
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Konnekteer aan die internet"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Diskonnekteer van die internet"
-
-#: ../../netconnect.pm_.c:756
-#, fuzzy
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Konfigureer internetkonneksie"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Internetkonneksie en konfigurasie"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr "Netwerkkonfigurasie"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Eksterne ISDN-kaart"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Interne ISDN-kaart"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Watter tipe is u ISDN-konneksie?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Konnekteer aan die internet"
-
-#: ../../netconnect.pm_.c:834
-#, fuzzy
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Die mees algemene metode vir ADSL is om DHCP + pppoe te gebruik.\n"
-"Daar is wel sekere konneksie wat net DHCP gebruik. Indien u nie weet nie,\n"
-"kies 'gebruik pppoe'"
-
-#: ../../netconnect.pm_.c:836
-#, fuzzy
-msgid "use dhcp"
-msgstr "dhcpd"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "gebruik pppoe"
-
-#: ../../netconnect.pm_.c:836
-#, fuzzy
-msgid "use pptp"
-msgstr "gebruik pppoe"
-
-#: ../../netconnect.pm_.c:846
-#, fuzzy, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Ek gaan nou die netwerkkoppelvlak herlaai. Stem u saam?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Watter DCHP-klint wil u gebruik?\n"
-"Verstek is dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-#, fuzzy
-msgid "Network configuration"
-msgstr "Netwerkkonfigurasie"
-
-#: ../../netconnect.pm_.c:901
-#, fuzzy
-msgid "Do you want to restart the network"
-msgstr "Wil u die konfigurasie toets?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Wil u die konfigurasie toets?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr "Kies die verstek gebruiker:"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Toestel word afgetas..."
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy
-msgid "Normal modem connection"
-msgstr "Konfigureer internetkonneksie"
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr "Duplikaat hegpunt %s"
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr "Kabelkonneksie"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy
-msgid "DSL (or ADSL) connection"
-msgstr "Konfigureer internetkonneksie"
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy, c-format
-msgid "detected on interface %s"
-msgstr "Netwerkkoppelvlak"
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr "Kabelkonneksie"
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr "Kabelkonneksie"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Hoe wil u aan die internet konnekteer?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "geen netwerkkaart gevind nie"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Stel netwerk op"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Tik asb die rekenaarnaam in.\n"
-"Sekere DHCP-bedieners benodig die rekenaarnaam.\n"
-"Dit moet 'n volle gekwalifiseerde naam wees,\n"
-"bv. ``myne.mywerk.co.za''."
-
-#
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Rekenaarnaam"
-
-#: ../../network.pm_.c:319
-#, fuzzy
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"WAARSKUWING: Die toestel is alreeds opgestel om aan die internette "
-"konnekteer.\n"
-"Druk OK om die toetsel so te hou.\n"
-"Veranderinge aan onderstaande velde sal hierdie konfigurasie oorskryf."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Gee asb die IP-konfigurasie vir hierdie rekenaar.\n"
-"Elke item moet as 'n IP-adres in dotdesimalenotasie\n"
-"(1.2.3.4) gegee word."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Konfigureer netwerktoestel %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP adres"
-
-#
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Netmasker"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Outomatiese IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP-adres moet in 1.2.3.4. formaat wees"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Tik asb die rekenaarnaam in.\n"
-"Dit moet 'n volle gekwalifiseerde naam wees,\n"
-"bv. ``myne.mywerk.co.za''.\n"
-"U mag ook die netwerkhek byvoeg indien daar een is"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS bediener"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Portaal"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Netwerkportaaltoestel"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Instaanbedienerkonfigurasie"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP instaanbediener"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP instaanbediener"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Instaanbediener moet begin met http://"
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Instaanbediener moet begin met ftp://"
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Ekstensiepartisie word nie op hierdie platform ondersteun nie"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"U het 'n gat die partisietabel maar ek kan dit nie gebruik nie.\n"
-"Die enigste oplossing is om die primre partisie te skuif sodat die gat\n"
-"langs die ekstensie partisies is"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Fout met die les van ler %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Herstel van ler %s het gefaal: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Korrupte rugsteunler"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Fout in die skryf van %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "benodig"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "belangrik"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "baie oulik"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "oulik"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "moontlik"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Plaaslike drukker"
-
-#
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Eksterne drukker"
-
-#
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Eksterne lpd-bediener"
-
-#
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Netwerkdrukker (sok)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Drukkertoestel URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Toets poorte"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "'n Drukker, model \"%s\", is opgespoor op "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Plaaslikte drukkertoestel"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Watter toestel is die drukker aan gekoppel?\n"
-"(let op dat /dev/lp0 ekwiwalent is aan LPT1:)\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Drukkertoestel:"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Eksterne lpd drukkeropsies"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Om 'n eksterne lpd drukkertou te gebruik, het die naam\n"
-"van die drukkkerbediener en die naam van die drukkertou\n"
-"nodig."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Eksterne bediener:"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Eksterne drukkertou"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) drukkeropsies"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Om na 'n SMB drukker te druk moet u die volgende voorsien:\n"
-"SMB rekenaarnaam (dis nie noodwendig dieselfde as die TCP/IP rekenaarnaam\n"
-"nie); moontlik die IP adres van die drukkerbediener; die drukkernaam; \n"
-"toepaslike gebruikerskode en wagwoord; werkgroepnaam."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB-bedienernaam"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "SMB-bediener IP:"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Drukkernaam:"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Werkgroep:"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "NetWare drukkeropsies"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Om na 'n Netware drukker te druk moet u die volgende voorsien:\n"
-"Netware rekenaarnaam (dis nie noodwendig dieselfde as die TCP/IP\n"
-"rekenaarnaam nie); moontlik die IP adres van die drukkerbediener;\n"
-"die drukkernaam; toepaslike gebruikerskode en wagwoord."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Drukkerbediener"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Drukkertounaam"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Sokdrukkeropsies"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Om aan 'n sokdrukker te konnekteer, moet u die rekenaarnaam van die\n"
-"drukker voorsien en dalk ook 'n poortnommer."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Drukkerrekenaarnaam"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Poort"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "U kan die URI, om die drukker via CUPS te gebruik, direk spesifiseer"
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Oor watter tipe drukker beskik u?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Wil u drukwerk toets?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Toetsbladsy(e) word gedruk..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Toetsbladsy(e) is na die drukkerstelsel gestuur.\n"
-"Dit mag 'n tydjie neem voordat drukwerk begin.\n"
-"Drukstatus:\n"
-"%s\n"
-"\n"
-"Het dit reg gedruk?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Toetsbladsy(e) is na die drukkerstelsel gestuur.\n"
-"Dit mag 'n tydjie neem voordat drukwerk begin.\n"
-"Het dit reg gedruk?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Ja, druk die ASCII toetsbladsy"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Ja, druk die PostScript toetsbladsy"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Ja, druk albei toetsbladsye"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Stel drukker op"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Drukkeropsies"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Papiergrootte"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Stoot papier uit na voltooiing?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Uniprint dryweropsies"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Kleurdiepte opsies"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Druk teks as PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Korrigeer trapsgewyse teks?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Aantal bladsye per uitsetblad?"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Regs/Links kantlyne in punte (1/72 van 'n duim)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Bo/Onder kantlyne in punte (1/72 van 'n duim)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Ekstra GhostScriptopsies"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Ekstra teksopsies"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Omgekeerde bladsyorde"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Wil u 'n drukker opstel?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Hier is die bestaande drukkertoue.\n"
-"U kan byvoeg or verwyder soos nodig."
-
-#
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS word gelaai"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "CUPS-drywerdatagbasis word gelees"
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Kies drukkerkonneksie"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Hoe is die drukker gekonekteer?"
-
-#
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Kies eksterne drukkerkonneksie"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Met 'n eksterne CUPS-bediener, hoef u glad nie 'n drukker hier\n"
-"op te stel nie; drukkers wod outomaties bespeur.\n"
-"Indien u twyfel, kies \"Eksterne CUPS-bediener\"."
-
-#: ../../printerdrake.pm_.c:416
-#, fuzzy
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Met 'n eksterne CUPS-bediener, hoef u glad nie 'n drukker hier\n"
-"op te stel nie; drukkers wod outomaties bespeur.\n"
-"Indien u twyfel, kies \"Eksterne CUPS-bediener\"."
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr "SMB-bediener IP:"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Verwyder drukkertou"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Elke drukker benodig 'n naam (bv. lp)\n"
-"Ander parameters soos 'n beskrywing en 'n ligging kan ook gegee word.\n"
-"Wat is die drukker se naam en wat is die konneksietipe?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Drukkernaam"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Beskrywing"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Ligging"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Elke drukkertou (waar drukstukke heengaan) het 'n naam nodig \n"
-"(baie keer 'lp') and 'n gekoppelde spoelgids. Watter naam en\n"
-"spoelgids moet gebruik word?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Naam van drukkertou"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Spoelgids"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Drukkerkonneksie"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Kan nie 'n partisie by geformatteerde RAID md%d byvoeg nie"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Kan nie ler $file skryf nie"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid het gefaal"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid het gefaal. Dalk is 'raidtools' nie beskikbaar nie."
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Nie genoeg partisies vir RAID vlak %d nie\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron is skeduleerder vir periodiese instruksies."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd word gebruik om battery status te monitor en dit dan te log via "
-"syslog.\n"
-"Dit kan ook gebruik word om die rekenaar af te bring wanneer die battery "
-"swak is."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Loop instruksies deur 'at' geskeduleer op die tyd deur 'at' gespesifiseer. "
-"Loop ookinstruksiebondels wanneer die stelsellas laag genoeg is."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron is die standaard UNIX program om gebruikergespesifiseerde programme\n"
-"op periodies geskeduleerde tye te loop. vixie cron voeg addisionele "
-"funksionaliteit\n"
-"by die standaard UNIX cron, insluitende beter sekuriteit en 'n kragtiger "
-"konfigurasie."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM verleen muisvermons aan teksgebaseerde Linuxapplikasies soos\n"
-"Midnight Commander. Dit laat muisgebaseerde knip-en-plak aksies op die\n"
-"konsole toe asook opspringkieskaarte."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache is 'n WWW-bediener.\n"
-"Dit kan HTML-lers uitstuur en CGI's hanteer"
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Die internetsuperbedienerdiensprogram (gewoonlik inetd genoem) laai 'n\n"
-"verskeidenheid internetdienste soos nodig. Dit is gewoonlik verantwoordelik "
-"vir\n"
-"telnet, ftp, rsh en rlogin. As inetd gesper word, sper dit ook die dienste "
-"waarvoor\n"
-"inetd verantwoordelik is."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Hierdie pakket laai die sleutelbordkaart soos dit in /etc/sysconfig/"
-"keyboard\n"
-"opgestel is. Dit kan vernader word met die kbdconfig nutsprogram. U moet "
-"dit\n"
-"op meeste rekenaars ongesper laat."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd is die drukkerdiensprogram en is nodig vir lpr om te funksioneer.\n"
-"Dit is 'n diens wat drukstukke na drukkers toe reguleer."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) is die domeinnaamdiens (DNS) wat gebruik word om\n"
-"rekenaarname na IP-adresse toe om te skakel."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Heg en ontheg all netwerklerstels (NFS), SMB (Lan Manger/Windows)\n"
-"en NCP (Netware) hegpunte."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Aktiveer/Deaktiveer all netwerkkoppelvlakke wat opgestel is om by\n"
-"herlaaityf te begin."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS is 'n populre protokol vir lerdeling oor TCP/IP netwerke.\n"
-"Hierdie diens voorsien NFS-bedienerfunksionaliteit. Dit word via\n"
-"die /etc/exports ler opgestel."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS is 'n populre protokol vir lerdeling oor TCP/IP netwerke.\n"
-"Hierdie diens vorosien die NFS-lersluitfunksionaliteit."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA is gewoonlik nodig om ondersteuning te verleen aan\n"
-"toestelle soos ethernet en modems in skootrekenaars. Dit sal nie\n"
-"gelaai word, behalwe as dit konfigureer is nie en dit is derhalwe\n"
-"veilig om op rekenaars te h wat dit nie nodig het nie."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Portmapper bestuur RPC-konneksies wat deur protokolle soos NFS en NIS\n"
-"gebruik word. Portmap moet loop op rekenaars wat as bedieners vir hierdie\n"
-"protokolle, en ander protokolle wat die RPC meganisme gebruik, dien."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"POstfix is 'n E-posoordragagent (MTA). Dit is die program wat E-pos\n"
-"van een bediener na 'n ander oordra."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Stoor en herstel die stelselentropiepoel vir ho kwaliteit,\n"
-"lukraaknommergenerasie."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"Die 'routed' diensprogram hanteer outomatiese IP-roeteertabelopdatering\n"
-"via die RIP protokol. Alhoewel RIP baie gebruik word in klein netwerke, is\n"
-"meer komplekse protokolle nodig vir komplekse netwerke."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Die 'rstat' protokol laat gebruikers op 'n netwerk toe om\n"
-"werksverrigtinginligting oor enige rekenaar op die netwerk te onttrek."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Die 'rusers' protokol laat netwerkgebruikers toe om te bepaal wie\n"
-"aangeteken is op ander samewerkende rekenaars."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Die 'rwho' protokol laat eksterne gebruikers toe om te sien wie\n"
-"ingeteken is op 'n rkeneaar wat die 'rwho' diensprogram loop. (Amper soos "
-"'finger')."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog is die fasiliteit wat baie diensprogramme gebruik om boodskappe\n"
-"te log na 'n verskeidenheid loglers. Dit is altyd goed om syslog te loop."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Stop en begin die X-fontbediener met herlaaityd en afsittyd."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Kies watter dienste moet outomaties begin met herlaaityd."
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr "Waarskuwing"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "stopped"
-msgstr "Aanlas"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-#, fuzzy
-msgid "On boot"
-msgstr "Yaboot"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Ek kan nie u partisietabel lees nie, dit is te korrup.\n"
-"Ek sal die nodige partisies skoonmak."
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Internetkonneksiedeling"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Internetkonneksiedeling is ontsper"
-
-#: ../../standalone/drakgw_.c:119
-#, fuzzy
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr "Die opstelling van die Internetkonnkesiedeling is alreeds gedoen.\n"
-
-#: ../../standalone/drakgw_.c:123
-#, fuzzy
-msgid "disable"
-msgstr "Tabel"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "reconfigure"
-msgstr "Stel X op"
-
-#: ../../standalone/drakgw_.c:126
-#, fuzzy
-msgid "Disabling servers..."
-msgstr "Toestel word afgetas..."
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr "Internetkonneksiedeling is gesper"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Internetkonneksiedeling is gesper"
-
-#: ../../standalone/drakgw_.c:144
-#, fuzzy
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr "Die opstelling van die Internetkonnkesiedeling is alreeds gedoen.\n"
-
-#: ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "enable"
-msgstr "Tabel"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr "Internetkonneksiedeling is ontsper"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Konfigurasielerinhoud is onverstaanbaar"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-#, fuzzy
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Nou dat u internetkonfigurasie opgestel is,\n"
-"moet u die rekenaar opstel om dit te deel.\n"
-"LW: U benodig 'n ware netwerkkaart om 'n lokalearea netwerk (LAN) op te "
-"stel.\n"
-"\n"
-"Wil u internetdeling opstel?\n"
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "interessant"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Daar is geen netwerkkaart op hierdie rekenaar nie!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Geen ethernetkaart is op die stelsel gevind nie. Gebruik asb. die "
-"hardewarekonfigurasieprogram."
-
-#
-#: ../../standalone/drakgw_.c:224
-#, fuzzy, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Daar is net een konfigureerde netwerkkaart op u stelsel.\n"
-"\n"
-"$interface\n"
-"\n"
-"Wil u dit gebruik vir die LAN?"
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Kies asb. die netwerkkaart wat aan die loakel area netwerk gekoppel is."
-
-#: ../../standalone/drakgw_.c:242
-#, fuzzy
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Waarskuwing! Die netwerkkaart is alreeds opgestel.]nWil u dit ooropstel?"
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr "Moontlike LAN-adresbotsing gevind in konfigurasie $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Vuurmuurkonfigurasie gevind!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Waarskuwing! 'n Bestaande vuurmuurkonfigurasie is bespeur. U sal dalk na "
-"dietyd self regstellings moet aanbring."
-
-#: ../../standalone/drakgw_.c:276
-#, fuzzy
-msgid "Configuring..."
-msgstr "IDE word opgestel"
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-"Skrips word konfigureer, sagterware installeer en bedieners afgeskop..."
-
-#: ../../standalone/drakgw_.c:307
-#, fuzzy
-msgid "Problems installing package $_"
-msgstr "Installeer pakket %s"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Geluk!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-#, fuzzy
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "Die opstelling van die Internetkonnkesiedeling is alreeds gedoen.\n"
-
-#: ../../standalone/drakgw_.c:609
-#, fuzzy
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Die opstelling van die Internetkonnkesiedeling is alreeds gedoen.\n"
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Internetkonneksiedeling is ontsper"
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "Internetkonneksie en konfigurasie"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Internetkonneksiedeling"
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Netwerkkonfigurasie"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-#, fuzzy
-msgid "Profile: "
-msgstr "heg het gefaal"
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-#, fuzzy
-msgid "Hostname: "
-msgstr "Rekenaarnaam:"
-
-#: ../../standalone/draknet_.c:147
-#, fuzzy
-msgid "Internet access"
-msgstr "interessant"
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr "Tipe:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Portaal:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-#, fuzzy
-msgid "Interface:"
-msgstr "interessant"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "Konneksienaam"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr "Kabelkonneksie"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Konfigureer internetkonneksie"
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "Konfigureer internetkonneksie"
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr "Hoe wil u aan die internet konnekteer?"
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr "Konfigureer dienste"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr "ADSL konfigurasie"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Adapter"
-msgstr "Opgradeer"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr "Bediener"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr "interessant"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-#, fuzzy
-msgid "Configure Local Area Network..."
-msgstr "Stel plaaslike netwerk op"
-
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Normal Mode"
-msgstr "Normaal"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr "Toets konfigurasie"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr "ADSL konfigurasie"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Disable"
-msgstr "Tabel"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Enable"
-msgstr "Tabel"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr "Internetkonneksie en konfigurasie"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr "Internetkonneksie en konfigurasie"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr "Konneksienaam"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-#, fuzzy
-msgid "Provider dns 1 (optional)"
-msgstr "Voorsiener DNS 1"
-
-#: ../../standalone/draknet_.c:561
-#, fuzzy
-msgid "Provider dns 2 (optional)"
-msgstr "Voorsiener DNS 2"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Krakers welkom"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Swak"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoes"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Hierdie vlak moet met sorg gebruik word. Dit maak 'n stelsel baie maklik\n"
-"om te gebruik, maar is baie sensitief. Dit moet nie gebruik vir 'n rekenaar\n"
-"wat aan ander rekenaars of die internet gekoppel is nie. Daar is geen "
-"wagwoord\n"
-"toegang nie."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Wagwoorde is nou ontsper, maar gebruik as 'n netwerkrekenaar word nie "
-"aanbeveel nie."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"'n Aantal verbetering op heirdie sekuriteitsvlak, die hoof een is meer\n"
-"sekuriteitswaarskuwings en -toetse."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Hierdie is die standaard sekuriteitsvlak wat aanbeveel word vir rekenaars\n"
-"wat aan die internet as 'n klint konnekteer. Daar is heelwat "
-"sekuriteitstoetse."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Met hierdie sekuriteitsvlak, kan die stelsel as 'n bediener gebruik word.\n"
-"Die sekuriteit is goed genoeg sodat 'n stelsel konneksies wat baie klinte\n"
-"af kan aanvaar."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Hierdie is Vlak-4 sekuriteit, maar die stelsel is afgeslote.\n"
-"Sekuriteitseienskappe is maksimaal."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Sekuriteitsvlak word gestel."
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr "Konnekteer aan die internet"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Kies die instrument wat u wil gebruik"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-#, fuzzy
-msgid "Change Cd-Rom"
-msgstr "Verander resolusie"
-
-#: ../../standalone/livedrake_.c:24
-#, fuzzy
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Verander u CDROM!\n"
-"\n"
-"Sit asb. die CDROM getiteld \"%s\" in die aandrywer en druk OK. Indien u "
-"nie\n"
-"hieroor beskik nie, druk Kanselleer om installasies vanaf di CDROM te vermy."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "Geen 'serial_usb' gevind nie\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emuleer derde knop?"
-
-#
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Toets asb. die muis"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Netwerkkonfigurasie"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "USB Muis"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Konnekteer aan die internet"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Diskonnekteer van die internet"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Diskonnekteer van die internet"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Diskonnekteer van die internet"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Konneksienaam"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "Konneksienaam"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Kabelkonneksie"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Vuurmuurkonfigurasie"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Vuurmuurkonfigurasie"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Four om %s in skryfmode te open: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Development"
-msgstr "Ontwikkeling"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr "Werkstasie"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Graphics"
-msgstr "Multimedia"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet"
-msgstr "interessant"
-
-#
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Netwerkdrukker (sok)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr "Internetkonfigurasie"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Kantoor"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr "Multimedia"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentasie"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Sound"
-msgstr "Multimedia"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Scientific Workstation"
-msgstr "Werkstasie"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Games"
-msgstr "Gnome"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Video"
-msgstr "Multimedia"
-
-#
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Netwerkdrukker (sok)"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office Workstation"
-msgstr "Werkstasie"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - CD Burning"
-msgstr "Multimedia"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr "X-bediener"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Konfigurasie"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "KDE Workstation"
-msgstr "Werkstasie"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Gnome Workstation"
-msgstr "Werkstasie"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "interessant"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr "Dokumentasie"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "Wil u die konfigurasie toets?"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minute"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minuut"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d sekondes"
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "ADSL konfigurasie"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr "Selekteer lOer"
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr "Konfigureer internetkonneksie"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr "IDE word opgestel"
-
-#, fuzzy
-#~ msgid "Standard tools"
-#~ msgstr "Standaard"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Konfigurasie: Voeg area by"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr "Hierdie skrip laai de nodige modules vir 'n USB-muis."
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Nou dat u internetkonfigurasie opgestel is,\n"
-#~ "moet u die rekenaar opstel om dit te deel.\n"
-#~ "LW: U benodig 'n ware netwerkkaart om 'n lokalearea netwerk (LAN) op te "
-#~ "stel.\n"
-#~ "\n"
-#~ "Wil u internetdeling opstel?\n"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Outomatiese afhanklikhede"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Stel LILO/GRUB op"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Maar 'n herlaaiskyf"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formatteer floppie"
-
-#~ msgid "Choice"
-#~ msgstr "Keuse"
-
-#, fuzzy
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "U kan nou 'n paar diverse opsies vir u stelsel kies.\n"
-#~ "\n"
-#~ " - Optimeer hardeskyf. Hierdie kan hardeskyfwerksverrigting verbeter, "
-#~ "maar is net\n"
-#~ " vir kundige gebruikers bedoel. Sekere gebroke koppelvlakke kan data "
-#~ "runeer.\n"
-#~ " Die bedryfstelsel kern het 'n swartlys van hardeskywe, maar indien u "
-#~ "onaangename\n"
-#~ " verrassings wil voorkom los hierdie opsie uit.\n"
-#~ "\n"
-#~ " - Sekuriteitsvlak: Lees die handleiding vir volledigheid, maar in "
-#~ "kort:\n"
-#~ " Kies \"Medium\" indien u twyfel. Vir 'n hoogs veilige stelsel kies "
-#~ "\"Paranoes\",\n"
-#~ " maar pasop: OP HIERDIE VLAK KLAN SELFS NIE 'ROOT' OP DIE KONSOLE\n"
-#~ " AANTEKEN NIE. Vir 'root' toegang moet 'n gewone gebruiker eers "
-#~ "aanteken en dan\n"
-#~ " \"su\". Dit is uitsluitlik vir 'n bediener bedoel.\n"
-#~ "\n"
-#~ " - Presiese geheuegrootte: Daar is geen ongelukkig standaard metode om "
-#~ "die geheuegrootte\n"
-#~ " uit die BIOS te bepaal nie. Soms sal Linux nie die grootte korrek "
-#~ "bepaal nie. In hierdie geval\n"
-#~ " kan die korrekte grootte her gegee word. Let daarop dat 'n verskil "
-#~ "van 2-4MB normaal is.\n"
-#~ "\n"
-#~ " - Outohegting van verwyderbare media: Indien u nie elke keer die "
-#~ "hegting per intik wil doen\n"
-#~ " nie (van CDROMs, floppies, ZIpaandrywers ens.), selekteer hierdie "
-#~ "opsie.\n"
-#~ "\n"
-#~ " - NumLock: Indien u NumLock wil aansit by herlaaityd, selekteer hierdie "
-#~ "opsie. Dit sal\n"
-#~ " nie noodwendig NumLock onder X aansit nie."
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Arbitrre items"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Diverse vrae"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr ""
-#~ "Superhegting (supermount) kan nie met 'n ho sekuriteitsvlak gebruik word "
-#~ "nie"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "Warskuwing: IN HIERDIE SEKURITEITSVLAK, kan ROOT nie by die KONSOLE "
-#~ "AANTEKEN nie.\n"
-#~ "OM 'root' te wees moet u eers as 'n gewone gebruiker aanteken en dan 'su'."
-#~ "Hierdie is spesifiek vir bedienergebruik. U is gewaarsku!"
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Wees versigtig, met NumLock aan sal heelwat sleutels as syfers eerder as "
-#~ "karakters na vore kom. (Bv 'n 'p' mag dalk '6' wees)"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Eerste DNS bediener"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Tweede DNS bediener"
-
-#~ msgid "loopback"
-#~ msgstr "teruglus"
-
-#~ msgid "None"
-#~ msgstr "Niks"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Watter herlaaistelsel(s) wil u gebruik?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Outoinstalleer floppie"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Soekj vir 'n modem?"
-
-#~ msgid "Configure local network"
-#~ msgstr "Stel plaaslike netwerk op"
-
-#~ msgid "Disable networking"
-#~ msgstr "Sper netwerkstelsel"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr "Plaaslike netwerk is alreeds opgestel: Wil u?"
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimedia"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Stel tydsone op"
-
-#~ msgid "Configure printer"
-#~ msgstr "Stel drukker op"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(kan data korrupteer)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Gebruik skyfoptimisasie?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Aansit van NumLock met herlaai"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Bevestig wagwoord"
-
-#~ msgid "default"
-#~ msgstr "Verstek"
-
-#~ msgid "What is your system used for?"
-#~ msgstr "Wat is die gebruik van u stelsel?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr "Kies die grootte van die installasie"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Gebruik diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr "Aangepaste"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "Is u 'n kundige? U sal sal toegelaat word om kragtige, maar\n"
-#~ "gevaarlike keuses uit te oefen\n"
-#~ "\n"
-#~ "U sal vrae gevra word soos: \"Gebruik skaduwagwoorde?\"\n"
-#~ "Is u reg vir sulke vrae?"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Gebruik skaduler"
-
-#~ msgid "shadow"
-#~ msgstr "skadu's"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "gebruik MD5 wagwoorde"
-
-#~ msgid "Search"
-#~ msgstr "Soek"
-
-#~ msgid "Package"
-#~ msgstr "Pakket"
-
-#~ msgid "Text"
-#~ msgstr "Teks"
-
-#~ msgid "Tree"
-#~ msgstr "Boom"
-
-#~ msgid "Sort by"
-#~ msgstr "Gesorteer volgens"
-
-#~ msgid "Category"
-#~ msgstr "Kategorie"
-
-#~ msgid "See"
-#~ msgstr "Sien"
-
-#~ msgid "Installed packages"
-#~ msgstr "Installeerde pakkette"
-
-#~ msgid "Available packages"
-#~ msgstr "Beskikbare pakkette"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Wys net eindnodes"
-
-#~ msgid "Expand all"
-#~ msgstr "Brei alles uit"
-
-#~ msgid "Collapse all"
-#~ msgstr "Trek alles in"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Voeg pakketareas by"
-
-#~ msgid "Update location"
-#~ msgstr "Dateer area op"
-
-#~ msgid "Remove"
-#~ msgstr "Verwyder "
-
-#~ msgid "Find Package"
-#~ msgstr "Soek pakket"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Soek pakket met ler"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Skakel tussen installeerde en beskikbare"
-
-#~ msgid "Uninstall"
-#~ msgstr "Verwyder"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Kies pakket om te installeer"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Afhanklikhede word getoets"
-
-#~ msgid "Wait"
-#~ msgstr "Wag"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Die volgende pakkette gaan verwyder word"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "RPM's word verwyder."
-
-#~ msgid "Regexp"
-#~ msgstr "Regex"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Watter pakket soek vir"
-
-#~ msgid "%s not found"
-#~ msgstr "%s is nie gevind nie"
-
-#~ msgid "No match"
-#~ msgstr "Geen treffer"
-
-#~ msgid "No more match"
-#~ msgstr "Niks meer treffers nie"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake is in lae-geheue opstelling.\n"
-#~ "Ek gaan rpmdrake herlaai om soektogte toe te laat."
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Watter ler soek u vir?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Wat soek vir?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Gee 'n (engelse) naam (bv. 'extra')"
-
-#~ msgid "Directory"
-#~ msgstr "Lergids"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "Geen cdrom beskikbaar nie (niks in /mnt/cdrom nie)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL van die lergids met die RPM's"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Vir FTP en HTTP, moet die pad vir die hdlist gegee word\n"
-#~ "Dit moet relatief tot bg. URL wees."
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Verskaf asb. die volgende inligting"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s is alreeds in gebruik"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "Die RPM's se basis word opgedateer"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "Inskrywing %s gaan verwyder word"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Eindnodes word gesoek"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "Soek van eindnodes neem 'n tydjie"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "Ek het 'n ISDN-kaart gevind\n"
-
-#~ msgid "France"
-#~ msgstr "Frankryk"
-
-#~ msgid "Other countries"
-#~ msgstr "Ander lande"
-
-#
-#~ msgid "In which country are you located ?"
-#~ msgstr "In watter land is u?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Alcatel modem"
-
-#~ msgid "ECI modem"
-#~ msgstr "ECI modem"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr "Indien u ADSL-modem 'n Alcatel is, kies Alcatel, andersins ECI."
-
-#~ msgid "don't use pppoe"
-#~ msgstr "moenie pppoe gebruik nie"
-
-#~ msgid "mandatory"
-#~ msgstr "verpligtend"
-
-#~ msgid "interesting"
-#~ msgstr "interessant"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (belangrik)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (baie oulik)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (oulik)"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Aan watter seriaalpoort is u muis gekoppel?"
-
-#~ msgid "Czech"
-#~ msgstr "Tseggies"
-
-#~ msgid "Slovakian"
-#~ msgstr "Slovaaks"
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr "Kon nie ipchains RPM m.b.v. urpmi installeer nie."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr "Kon nie dhcp RPM m.b.v. urpmi installeer nie."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr "Kon nie linuxconf RPM m.b.v. urpmi installeer nie."
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr "Kon nie bind RPM m.b.v. urpmi installeer nie."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr "Kon nie caching-nameserver RPM m.b.v. urpmi installeer nie. "
-
-#~ msgid "Reconfigure local network"
-#~ msgstr "Herkonfigureer netwerk nou"
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "U rekenaar kan opgestel word om sy internetkonneksie te deel.\n"
-#~ "\n"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr "Alles is opgestel.\n"
-
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Konnekteer aan die internet met 'n gewone modem"
-
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Konnekteer aan die internet met ISDN"
-
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Konnekteer aan die internet met DSL of ASDL"
-
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Konnekteer aan die internet met 'n kabelmodem"
-
-#~ msgid ""
-#~ "Time (secs) of inactivity after which\n"
-#~ "it hangs up. (leave blank to disable it)"
-#~ msgstr ""
-#~ "Tyd, in sekondes, van onaktiwiteit voor diskonneksie.\n"
-#~ "Los oop om di funksie te sper."
-
-#
-#~ msgid "Germany"
-#~ msgstr "Duitsland"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "Duits (1TR6)"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr "Wat wil u doen?"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "Installasie/Redding"
-
-#~ msgid "Rescue"
-#~ msgstr "Redding"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Watter partisietipe verlang u?"
-
-#
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Kies \"Installeer\" indien daar geen vorige weergawe van GNU/Linux\n"
-#~ "op is nie, of indien u 'n multidistribusie wil laat realiseer.\n"
-#~ "\n"
-#~ "Kies \"Redding\" indien u 'n bestaande weergawe van Mandrake Linux wil "
-#~ "red:\n"
-#~ "\n"
-#~ "\n"
-#~ "Selekteer:\n"
-#~ "\n"
-#~ " - Aanbevole: Indien u nooit Linux vantevore installeer het nie,kies "
-#~ "hierdie een. \n"
-#~ "\n"
-#~ " - Aangepas: Indien u vertroud genoeg is met GNU/Linux, kan u die "
-#~ "primre\n"
-#~ " gebruik van u rekenaar kies. Sien onder vir details.\n"
-#~ "\n"
-#~ " - Kundige: Indien u vlot is in GNU/Linux en 'n hoogs aangepaste "
-#~ "installasie wil\n"
-#~ " doen, kan u die deur die gebruik van u rekenaar te kies.\n"
-#~ " MOET ASB. NIE HIERDIE OPSIE KIES INDIEN U WERKLIK WEET WAAROOR DIT GAAN "
-#~ "NIE!\n"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ "U kan nou kies watter partisie(s) gebruik kan word om Linux-Mandrake\n"
-#~ "op te installeer indien hulle reeds bestaan (geskep uit 'n vorige "
-#~ "installasie,\n"
-#~ "of met 'n ander partisieprogram). In ander gevalle moet die partisies nog "
-#~ "geskep\n"
-#~ "word. Hierdie operasie bestan uit die logiese verdeling van die hardeskyf "
-#~ "in\n"
-#~ "aparte bruikbare areas\n"
-#~ "\n"
-#~ "\n"
-#~ "Indien u nuwe partisies moet skep, gebruik \"Outo-allokasie\" om "
-#~ "outomaties\n"
-#~ "partisies vir Linux te skep. U kan die skyf vir partisionering selekteer "
-#~ "deur\n"
-#~ "op \"hda\" te kliek vir die eerste IDE hardeskyf, hdb vir die tweede of "
-#~ "\"sda\"\n"
-#~ "vir die eerste SCSI skyf ens.\n"
-#~ "\n"
-#~ "\n"
-#~ "Twee algemene partisies is die \"root\" partisie (/), wat die wortel is\n"
-#~ "van die lergidsstelsel, en /boot, wat die nodige lers bevat om die\n"
-#~ "bedryfstelsel aan die gang te kry wanneer die rekenaar aangesit word.\n"
-#~ "\n"
-#~ "\n"
-#~ "Omdat die gevolge van hierdie proses onomkeerbaar is, kan partisionering "
-#~ "baie\n"
-#~ "intimiderend en stresvol vir die onervare gebruiker wees. DiskDrake maak "
-#~ "di\n"
-#~ "proses heelwat makliker. Lees die dokumentasie en neem u tyd voor u "
-#~ "voortgaan.\n"
-#~ "\n"
-#~ "\n"
-#~ "U kan enige opsie gebruik deur die sleutelbord te gebruik. Navigeer deur "
-#~ "diepartisies met\n"
-#~ "Tab en die pyltjies. Wanneer 'n partisie gekies is, gebruik:\n"
-#~ "\n"
-#~ "- Ctrl-c om 'n partisie te skep (wanneer 'n le partisie gekies is)\n"
-#~ "\n"
-#~ "- Ctrl-d om 'n partisie uit te vee\n"
-#~ "\n"
-#~ "- Ctrl-m om 'n partisie te heg\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Enige partisies wat nuut geskep is, moet eers formateer word voor "
-#~ "gebruik.\n"
-#~ "(Formateering beteken die skep van 'n lOerstelsel). U kan nou kies om "
-#~ "ook\n"
-#~ "bestaande partisies te herformateer en die data daarop te vernietig.\n"
-#~ "NOTA: Dit is nie nodig om alle bestaande partisies te herformateer nie,\n"
-#~ "veral indien daar data op is wat u wil hou. 'n Tipiese voorbeeld is /home."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "Die gekose pakette gaan nou installeer word. Hierdie proses\n"
-#~ "sal 'n paar minute neem. Indien u 'n opgradering gekies, kan dit\n"
-#~ "nog langer neem voordat die opgradering begin."
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "Indien DrakX nie u muis kon vind nie, of as u wil sien\n"
-#~ "wat gedoen is, sal u moet die bg. lys van muistoestelle gepresenteer\n"
-#~ "word.\n"
-#~ "\n"
-#~ "\n"
-#~ "Indien u met DrakX saamstem, spring na die afdeling wat u\n"
-#~ "verlang deur op die kierkaart links te kliek. Andersins kies\n"
-#~ "'n muistoetsel in die kieskaart wat u dink die beste klop met die\n"
-#~ "muis wat u het.\n"
-#~ "\n"
-#~ "In geval van 'n seriaalmuis, moet u ook vir DrakX die seriaalpoort\n"
-#~ "gee."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "Hierdie afdeling is vir die konfigurasie van 'n lokaalareanetwerk\n"
-#~ "of 'n modem.\n"
-#~ "\n"
-#~ "Kies \"LAN\" en DrakX sal probeer om 'n Ethernetkaart in u rekenaar\n"
-#~ "te vind. PCI-kaarte sal heelwaarskynlik outomaties gevind en\n"
-#~ "inisialiseer word. Indien u 'n ISA-kaart het sal daar 'n kieslys\n"
-#~ "vertoon word waaruit u dan u kaart moet selekteer.\n"
-#~ "\n"
-#~ "\n"
-#~ "indien u Linux-Mandrake installeer op 'n stelsel wat deel is van 'n\n"
-#~ "bestaande netwerk, sal due netwerk administrateur u alreeds met die\n"
-#~ "nodige inligting (IP adres, netmasker en rekenaarnaam) voorsien het.\n"
-#~ "Indien u 'n privaat netwerk opstel (sso by die huis), dan moet u die\n"
-#~ "adresse kies.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kies \"Uitbel met Modem\" en die internetkonneksie vir 'n modem\n"
-#~ "sal opgestel word. DrakX sal u modem probeer bepaal. Indien di faal\n"
-#~ "sal u die modem en korrekte seriaalpoort moet selekteer."
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "GNU/Linux kan verskeie drukkers gebruik. Elkeen van hierdie tipes\n"
-#~ "verlang 'n ander opstelling. Let asb. daarop dat die verstek drukkernaam "
-#~ "'lp' is.\n"
-#~ "U moet so 'n drukker skep. U kan egter addisionele name bysit deur dit "
-#~ "met die '|' karakterte skei.\n"
-#~ "Derhalwe kan u dus die drukker 'n meer betekenisvolle naam ook toeken.\n"
-#~ "Die drukker met 'lp' in die naam sal die verstek drukker wees.\n"
-#~ "\n"
-#~ "\n"
-#~ "Indien u drukker direk aan die rekenaar gekoppel is, selekteer\n"
-#~ "\"Lokale Drukker\". U moet dan die korrekte poort uitwys\n"
-#~ "en die gepaslike filter selekteer.\n"
-#~ "\n"
-#~ "\n"
-#~ "Indien u 'n drukker om 'n ander Unix-rekenaar wil gebruik, kies\n"
-#~ "\"Eksterne lpd\". In hierdie geval moet u die naam van die drukkertou\n"
-#~ "op die ander rekenaar ken.\n"
-#~ "\n"
-#~ "\n"
-#~ "Indien u toegang tot 'n SMB drukker (op 'n Windows-rekenaar) verlang,\n"
-#~ "moet u die SMB/NETBIOS naam (nie TCP/IP-naam nie) ken en moontlik ook "
-#~ "die\n"
-#~ "IP-adres. Daarby moet u ook 'n gebruikerskode, werkgroep en wagwoord en "
-#~ "die\n"
-#~ "drukkernaam voorsien. Dieselfde geld vir 'n Netware-drukker, behalwe dat "
-#~ "u\n"
-#~ "die werkgroep hoef te voorsien nie."
-
-# ../help.pm_.c:240 ../help.pm_.c:481 msgid ""
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "Dit word sterk aanbeveel dat u \"Ja\" antwoord. Indien u Windows sou\n"
-#~ "herinstalleer, sal dit die herlaaisektor oorskryf. Indien u die die "
-#~ "herlaaiskyf\n"
-#~ "gemaak het nie, sal u nie weer in GNU/Linux kan inkom nie."
-
-#~ msgid "Move your wheel!"
-#~ msgstr "Draai u wiel!"
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Vergeet van die veranderinge?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Wat is u muistoestel?"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Outomatiese resolusies"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "Ek gaan nou probeer m die beskikbare resolusies te kry.\n"
-#~ "Die skerm sal 'n paar maal flits...\n"
-#~ "U kan die skerm afsit indien u wil, ek sal biep wanneer ek klaar is"
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "Ek kan probeer om al die beskikbare resolusies te kry (bv. 800x600).\n"
-#~ "Soms kan die rekenaar ophang.\n"
-#~ "Wil u probeer?"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "Geen geldige modes was gevind nie\n"
-#~ "Probeer 'n ander videokaart of monitor"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Outomatiese resolusie soektog"
-
-#~ msgid "pump"
-#~ msgstr "pump"
-
-#~ msgid "dhcpxd"
-#~ msgstr "dhcpxd"
-
-#~ msgid "dhcp-client"
-#~ msgstr "DHCP-klint"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Apple ADB-muis"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Apple ADB-muis (2 knoppe)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Apple ADB-muis (3+ knoppe)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Apple USB-muis"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Apple USB-muis (2 knoppe)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Apple USB-muis (3+ knoppe)"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI Busmuis"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft Busmuis"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech Busmuis"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB Muis (3 knoppe of meer)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Rev 2.1A of beter (seriaal)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (seriaal)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (seriaal)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (seriaal)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "Generiese Muis (seriaal)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Microsoft aanpasbaar (seriaal)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "Generiese 3-knop Muis (seriaal)"
-
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse (seriaal)"
-
-#~ msgid ""
-#~ "I need to configure your network adapter to be able to connect to "
-#~ "internet."
-#~ msgstr "Ek moet nou u netwerkkaart konfigureer vir die internet"
-
-#~ msgid "nfs mount failed"
-#~ msgstr "NFS heg het gefaal"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Socket"
-#~ msgstr "Sok"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Kriptografie"
-
-#~ msgid ""
-#~ "DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
-#~ "By default, the 4.0 server is used unless your card is not supported.\n"
-#~ "\n"
-#~ "Do you want to keep XFree 3.3?"
-#~ msgstr ""
-#~ "DrakX sal konfigurasielers maak vir beide XFree 3.3 en XFree 4.0.\n"
-#~ "By verstek sal die 4.0 bediener gebruik word indien u videokaart "
-#~ "ondersteun. word\n"
-#~ "\n"
-#~ "Wil u XFree 3.3 behou?"
-
-#~ msgid "Configure LAN"
-#~ msgstr "Konfigureer LAN"
-
-#~ msgid "End configuration"
-#~ msgstr "Beindig konfigurasie"
-
-#~ msgid "Do not set up networking"
-#~ msgstr "Moenie netwerk opstel nie"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "Wil u die netwerk vir u stelsel opstel?"
-
-#~ msgid "Show less"
-#~ msgstr "Vertoon minder"
-
-#~ msgid "Show more"
-#~ msgstr "Vertoon meer"
-
-#~ msgid "tie"
-#~ msgstr "das"
-
-#~ msgid "brunette"
-#~ msgstr "brunette"
-
-#~ msgid "girl"
-#~ msgstr "meisie"
-
-#~ msgid "woman-blond"
-#~ msgstr "blondine"
-
-#~ msgid "automagic"
-#~ msgstr "outowonder"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Wat is u sleutelborduitleg?"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Wil u PCMCIA-kaarte soek?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "Soek vir %s-toestelle?"
-
-#~ msgid "Modem Configuration"
-#~ msgstr "Modemkonfigurasie"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr "Wil u 'n opbelkonneksie (modem) vir u stelsel opstel?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "Soek vir PCI-toestelle?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "Deursoek wortellerstelsel"
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr ""
-#~ "%s: Hierdie is nie 'n wortellerstelsel nie, kies asb. 'n ander een."
-
-#~ msgid "No root partition found"
-#~ msgstr "Geen basislerstelsel gevind nie"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr "Watter partisie moet u wortelpartisie wees?"
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr "U het geen Windowspartisies nie!"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "U het nie genoeg plek vir Lnx4win nie"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is then suggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-# When possible cp437 accentuated letters can be used too.
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Welkom by LILO die bedryfstelselkeuseprogram!\n"
-#~ "\n"
-#~ "Om die moontlikehede te vertoon, druk <TAB>.\n"
-#~ "\n"
-#~ "Om 'n spesifieke een te laai, tik die nodige naam en druk <ENTER> of wag\n"
-#~ "%ds en dit verstek bedryfstelsel sal laai.\n"
-#~ "\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Welkom by SILO die bedryfstelselkeuseprogram!\n"
-#~ "\n"
-#~ "Om die moontlikehede te vertoon, druk <TAB>.\n"
-#~ "\n"
-#~ "Om 'n spesifieke een te laai, tik die nodige naam en druk <ENTER> of wag\n"
-#~ "%ds en die verstek bedryfstelsel sal laai.\n"
-#~ "\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "SILO hoofopsies"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Hier is die huidige inskrywings in SILO.\n"
-#~ "U kan byvoeg or verwyder soos nodig."
-
-#~ msgid "This label is already in use"
-#~ msgstr "Hierdie etiket is alreeds in gebruik"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "SILO installasie het gefaal a.g.v. hierdie fout: "
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ "DrakX will probeer om eers te kyk vir een of meer bekende PCI\n"
-#~ "SCSI kaarte. Indien iets gevind word, en die drywers daarvoor\n"
-#~ "bekend is, sal dit outomaties bygevoeg word.\n"
-#~ "\n"
-#~ "\n"
-#~ "Indien u 'n ISA SCSI kaart het, of 'n onbekende PCI SCSI kaart, of\n"
-#~ "geen SCSI kaart nie, sa; u gevra word of daar enige SCSI kaarte is.\n"
-#~ "Indien daar geen is nie, antwoord \"Nee\". Indien daar wel is, antwoord\n"
-#~ "\"Ja\" en 'n lys van kaarte sal gegee word waaruit u moet kies.\n"
-#~ "\n"
-#~ "\n"
-#~ "Na seleksie van die drywer, sal DrakX of vra vir opsies. Probeer eers\n"
-#~ "dat die drywer die hardeware ondervra; dit werk gewoonlik.\n"
-#~ "\n"
-#~ "\n"
-#~ "Indien nie, moenie die dokumentasie van u hardeware vergeet nie; ook nie\n"
-#~ "enige inligting van Windows (indien u dit gennstalleer het). Hierdie is\n"
-#~ "opsies wat u die drywer moet verskaf."
-
-#~ msgid "Shutting down"
-#~ msgstr "Stelselafsluiting"
diff --git a/perl-install/share/po/ar.po b/perl-install/share/po/ar.po
deleted file mode 100644
index 0033f54c3..000000000
--- a/perl-install/share/po/ar.po
+++ /dev/null
@@ -1,6774 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) 2000 Free Software Foundation, Inc.
-# Djaghlouli Kamel <djkamel@chez.com>, 2000.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DarkeX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-11-1 13:00+0200\n"
-"Last-Translator: Djaghlouli Kamel <djkamel@chez.com>\n"
-"Language-Team: ar\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-6\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr " XFree"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr " X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr " X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr " XFree ?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr " XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr " ʿ"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ": "
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-" "
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr " %d "
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr " Ϳ"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr " : %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr " XFree86 :%s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr ": %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr ""
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr ""
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr ""
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr ""
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr ""
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr ""
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr ""
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr ""
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr ""
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr ""
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr ""
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr ""
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr ""
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr ""
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr ""
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr ""
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr ""
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr ""
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr ""
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr ""
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr ""
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr ""
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr ""
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr ""
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr ""
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr ""
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr ""
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr ""
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr ""
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr ""
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr ""
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr ""
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr ""
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr ""
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr ""
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr ""
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr ""
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr ""
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr ""
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr ""
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr ""
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr ""
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr ""
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr ""
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr ""
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr ""
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr ""
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr ""
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr ""
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr ""
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr ""
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr ""
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr ""
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr ""
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr ""
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr ""
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr ""
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr ""
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr ""
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr ""
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr ""
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr ""
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr ""
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr ""
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr ""
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr ""
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr ""
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr ""
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr ""
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr ""
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr ""
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr ""
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr ""
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr " "
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr ""
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr ""
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr " XFree"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-msgid "Default Runlevel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr ""
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr ""
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr ""
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr ""
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr ""
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr ""
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr ""
-
-#: ../../fsedit.pm_.c:30
-#, fuzzy
-msgid "server"
-msgstr " X"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr ""
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr ""
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr ""
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr ""
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr ""
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr ""
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr ""
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr ""
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr ""
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr ""
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr ""
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr ""
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr ""
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr ""
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr ""
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr ""
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr ""
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr ""
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr ""
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr ""
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr ""
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr ""
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr ""
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr ""
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr ""
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr ""
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr ""
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr ""
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr ""
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr ""
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr ""
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr ""
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr ""
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr ""
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr ""
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr ""
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr ""
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr ""
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr ""
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr ""
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr ""
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr ""
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr ""
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr ""
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr ""
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr ""
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr ""
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr ""
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr ""
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr ""
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr ""
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr ""
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr ""
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr ""
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr ""
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr ""
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr ""
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr ""
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr ""
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr ""
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr ""
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr ""
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr ""
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr ""
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr ""
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr ""
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr ""
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr ""
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr ""
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr ""
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr ""
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr ""
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr ""
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr ""
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr " XFree"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr ""
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr ""
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr ""
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr ""
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr ""
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr ""
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr " XFree"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr ""
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr ""
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr ""
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr ""
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr ""
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr ""
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr ""
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr ""
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr ""
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr ""
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr ""
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr ""
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr ""
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr ""
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr ""
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr ""
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr ""
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr ""
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr ""
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr ""
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr ""
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr ""
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr ""
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr ""
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr ""
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr ""
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr ""
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr ""
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr ""
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr ""
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr ""
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr ""
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr " X"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr ""
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr ""
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr ""
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr ""
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr ""
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ""
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr ""
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr ""
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr ""
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr " "
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr " "
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr " "
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr " "
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr ""
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr ""
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr " XFree"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr ""
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr " XFree"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr ""
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr " "
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr " XFree"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr " "
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr " "
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr ""
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr ""
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr ""
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr ""
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr ""
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr ""
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr ""
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:131
-msgid "Test the mouse here."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr " XFree"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr " XFree"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr " XFree"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr " XFree"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr " X"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Configuration"
-msgstr " XFree"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr " ʿ"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr " XFree"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr " XFree"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr " XFree"
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr ""
diff --git a/perl-install/share/po/az.po b/perl-install/share/po/az.po
deleted file mode 100644
index d214825bb..000000000
--- a/perl-install/share/po/az.po
+++ /dev/null
@@ -1,8232 +0,0 @@
-# Azerbaijani Turkish translation of DrakX
-# Copyright (C) 1999 MandrakeSof
-# Vasif Ismailoglu MD <azerb_linux@hotmail.com>, 2000
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-10 18:32+0200\n"
-"PO-Revision-Date: 2001-06-09 23:30GMT +0200\n"
-"Last-Translator: Vasif smaylolu MD <azerb_linux@hotmail.com>\n"
-"Language-Team: Azerbaijani Turkish <linuxaz@azerimal.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-9E\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.8\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Btn balqlar ayr ayr quradr"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Xinerama ifadlrini ilt"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Tkc \"%s\" kartn qur (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "oxlu Balq quradrlmas"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Sizin sisteminiz oxlu balq quradrmasn dstklyir.\n"
-"N etmk istyirsiniz?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Ekran kart"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Ekran kartnz sein"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Bir X vericisi sein"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X verici"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Nec bir XFree qurusunu istyirsiniz?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Sizin kartnzn 3D sr'tlndirm dstyi ola bilr, amma sadec olaraq "
-"XFree %s\n"
-"il dzgn ilyr.\n"
-"Sizin kartnza XFree %s trfindn dstk verilir ve bu 2D n daha yax "
-"bir fikir olar."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Sizin kartnzn XFree %s il 3D dstyi ola bilr."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "3D avadanlq sr'tlndirmsi il XFree %s"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Sizin kartnzn XFree %s il 3D dstyi ola bilr.\n"
-"DQQT! BU SINAQ MRHLSINDDIR V KOMPTERNZ DONDURA BILR."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "SINAQ MRHLSNDK 3D sr'tlndirm dstkli XFree %s"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Sizin kartnzn 3D sr'tlndirm dstyi ola bilr, amma sadec olaraq "
-"XFree %s\n"
-"il dzgn ilyr.\n"
-"DQQT! BU SINAQ MRHLSINDDIR V KOMPTERNZ DONDURA BILR.\n"
-"Sizin kartnza XFree %s trfindn dstk verilir ve bu 2D n daha yax "
-"bir seki olar."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree quradrlmas"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Ekran kartnzn yadda byklyn sein"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "X verici n senklri gstrin"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Monitorunuzu sein"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Buradaki iki vacib parametr fqi ve aquli yenilm sr'tlridir.\n"
-"Serkn monitorunuzun qabiliyytinin stnd bir parametr\n"
-"semmyiniz ox vacibdir, ks halda monitor zrr grr.\n"
-"Serkn bir qrarszla drsniz, alaq rezolyusiya sein."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "fqi yenilm sr'ti"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "aquli yenilm sr'ti"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Monitor qurulmayb"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Ekran kart hl qurulmayb"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Rezolyusiya hl seilmyib"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Qurular snamaq istyirsiniz?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Diqqt: Bu qrafika kart il edilck snaq thlklidir"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Qurularn sna"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"b'zi parametrlri dyidirin"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Bir xta oldu:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "%d saniy sonra xlacaq"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Bu qurular dorudur?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Bir xta oldu, parametrlri dyidirin"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Rezolyusiya"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Rezolyusiya v rng drinliyini sein"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Ekran kart: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 verici: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Usta Modu"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Hamsn Gstr"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Rezolyusiyalar"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Klavatura dzl: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Sian nv: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Sian avadanl: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Monitorun aquli Daramas: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Monitorun fqi Yenilmsi: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Ekran kart: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Ekran kart yadda: %s KB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Rng drinliyi: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Rezolyusiya: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 verici: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 src: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "X-Window qurular hazrlanr"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "N etmk istyirsiniz?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Monitoru Dyidir"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Ekran kartn dyidir"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Verici senklrini dyidir"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Rezolyusiyan Dyidir"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "M'lumat gstr"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Yenidn sna"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "x"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Mvcud qurular saxlaym?\n"
-"Hal-hazrk qurular:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "\"%s\"a() tkrar girin v dyiikliklri falladrn"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Ltfen xn v Ctrl-Alt-BackSpace dymlrin basn"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X il Al"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Kompterinizi avtomatik olaraq X il almas n qura bilrm.\n"
-"Alda X Window il balamaq istyirsiniz?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 rng (8 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 min rng (15 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 min rng (16 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 milyon rng (24 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 milyard rng (32 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB v ya daha ox"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standart VGA, 60 Hz-d 640x480 "
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 56 Hz-d 800x600"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514 Uyun, 87 Hz-d titrimli 1024x768 (800x600 yox)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 87 Hz-d titrimli 1024x768, 56 Hz-d 800x600"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Tkmilldirilmi Super VGA, 60 Hz-d 800x600, 72 Hz-d 640x480"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Titrimsiz SVGA, 60 Hz-d 1024x768, 72 Hz-d 800x600"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Yksk Frekansl SVGA, 70 Hz-d 1024x768"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "oxlu Frekansa qadir 60 Hz-d 1280x1024"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "oxlu Frekansa qadir 74 Hz-d 1280x1024"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "oxlu Frekansa qadir 76 Hz-d 1280x1024"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "70 Hz d 1600x1200 qadir Monitor"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "76 Hz d 1600x1200 qadir Monitor"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Al qisminin ilk sektoru"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Diskin ilk sektoru (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO Qurulumu"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Sistem yklyicisini haraya qurmaq istyirsiniz?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grup Qurulumu"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "Mtn menyulu LILO"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "Qrafiki menyulu LILO"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "DOS/Wndowsdan al (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Sistem yklyicisi ana senklri"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "stifad edilck Al idarcisi"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Al yklyici quruluu"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Al avadanl"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (khn BIOSlarda ilmz)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Bsit"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "bsit"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Ekran modu"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Alda gecikm mddti"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Parol"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Parol (tkrar)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "mr stiri senklrini mhdudladr"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "mhdudladr"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "/tmp-i hr alda tmizl"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "mumi yadda miqdar (%d MB tapld)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Birdn artq profil icaz ver"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Yadda miqdarn Mb cinsindn verin"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"``mr stiri senklrini mhdudladr`` senyi parolsuz bir i yaramaz"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Xahi edirik tkrar snayn"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Parollar uyun glmir"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "nit smarc"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Firmware Gecikmsini A"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "kirdk Al Vaxt Dolmas"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "CDdn Al Falladrm?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "OF Al Falladrm?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "sas OS"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Buradak bir birindn frqli senklr yenilrini lav ed bilr,\n"
-"ya da mvcud olanlar dyidir bilrsiniz."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "lav et"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Qurtard"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Tkmilldir"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Ne cr bir giri istyirsiniz?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linuks"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Digr sistemlr (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Digr sistemlr (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Digr sistemlr (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "ks"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Kk"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Sonuna lav et"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Oxu-yaz"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Cdvl"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "E'tibarsz"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Etiket"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "sas"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd bykly"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "NoVdeo"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Girii sil"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Bo etiket qbul edil bilmz"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Bu etiket istifad edilmz"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Nc blmlandirm istyirsn?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "%s %s ara z tapld"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Baqa var?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "He %s ara z var?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Xeyr"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Bli"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Avadanlq m'lumatna bax"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "%s kart (%s) n src yklnir"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(modul %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Hans %s srcs snansn?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Bzi hallarda, %s src dzgn ilmsi n lav m'lumat isty bilr.\n"
-"Srcler n lav bir xsusiyyt gstrmk mi istyrsiniz, yoxsa\n"
-"srclrin lazmi m'lumatlar n avadal tanmasn m istyrsiniz? \n"
-"B'zn tanmlama kompterinizi dondura bilr amma donduu n\n"
-"kompteriniz he bir ey olmaz."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Avtomatik yoxla"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Senklri gstr"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "ndi %s moduluna parametrlr gir bilrsiniz."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"stsniz indi %s modulunun parametrlrini gstr bilrsiniz.\n"
-"Parametrlr``ad=qiymt ad2=qiymt2...'' klind olmaldr.\n"
-"Msln ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Modul senklri:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"%s modulunun yklnmsi iflas etdi.\n"
-"Yenidn baqa bir parametr il snamaq istyirsiniz?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s artq lav edilmidir)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Zif parol sediniz!"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Xahi edirik bir istifadi ad aln"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"stifadi adnda sadac kiik hrflr, rqmlr, `-' v `_' xarakterlri "
-"ola bilr"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Bu istifadi ad artq vardr"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "stifadini lav et"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Bir istifadi girin\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "stifadini qbul et"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Hqiqi ad"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "stifadi ad"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Qabq"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Timsal"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Avtomatik Giri"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Kompterinizi avtomatik olaraq bir istifadi il balada bilrm.\n"
-"stmirsiniz is rdd edin."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "sas istifadini sein:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "stifad etmk istdiyiniz pncr idarisini sein:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"%s emeliyyat sistemi secki proqramina xos glmissiniz!\n"
-"\n"
-"Ilerinden birini acmaq ucun adini yazin ve <ENTER>\n"
-"duymesine basin ve ya esas acilis ucun %d saniye gozleyin.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Emeliyyat sistemi secici GRUB'a xos glmissiniz!"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "%c ve %c duymeleri ile isqlandrlms girisleri sece bilersiniz"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Sistemi secili emeliyyat sistemiyle acmaq ucun entere,"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-"acilisdan evvel emrleri duzeltmk ucun 'e', emr setiri ucun ise 'c' basin"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Isaretli secenek %d saniye icinde sistemi acacaq."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "/boot iind lazmi yer yoxdur"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Masa st"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Balama Menyusu"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "hllik yardm sistemi mvcud deyildir.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Qurulum Trzi Quradrlmas"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Fayl"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Fayl/_Yeni"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>Y"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Fayl/_A"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>A"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Fayl/_Qeyd Et"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Fayl/_Frqli Qeyd Et"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Fayl/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Fayl/_x"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>x"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Senklr"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Senklr/Snaq"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Yardm"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Yardm/_Haqqnda..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Qur"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Al darisi olaraq hazrda %s ildirsiniz.\n"
-"Quradrma sehirbazn balatmaq n tqlayn."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Lilo/grub modu"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "NewStyle Kateqoriyasndan Monitor"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "NewStyle Monitor"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "nnvi Monitor"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "nnvi Gtk+ Monitor"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Alda Auroran balat"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Al modu"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Alda X-Window sistemini balat"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Xeyr, Avtomatik giri istmirm"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-"Bli, bu istifadi n avtomatik giri istyirm (istifadi, masa st)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Sistem modu"
-
-#: ../../bootlook.pm_.c:228
-msgid "Default Runlevel"
-msgstr "sas Runlevel"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "Oldu"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Lv et"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "/etc/inittab oxunmaq n ala bilmir: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "/etc/sysconfig/autologin oxunmaq n ala bilmir: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "LILO qurulumu iflas etdi. Olan xta:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Yarat"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Ayr"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Sil"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "killndir"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Byklyn Dyidir"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Nv"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Balama nqtsi"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "/etc/fstab-a Yaz"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Usta moduna ke"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Normal moda ke"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Fayldan geri ar"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Fayla qeyd et"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Sehirbaz"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Disketdn geri ar"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Disket qeyd et"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Hamsn tmizl"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Hamsn killndir"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Avtomatik ayr"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Btn birinci blmlr istifadddir"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Artq blm lav edil bilmz"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr "Artq blm yaratmaq n, bir blmni silib mntiqi blm yaradn"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Avtomatik yerldirm n bo sah yoxdur"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Geri al"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Blm cdvlini yaz"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Daha ox"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Bo"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Digr"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Fayl sistemi nv:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "trafl"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Tk bir byk disk blmniz var\n"
-"(sasn MS DOS/Windows istifad edr).\n"
-"vvlc bu disk blmsinin byklyn dyidirmyinizi\n"
-"tvsiy edirik. vvlc blmnin stn, sonra \"Bykly\n"
-"Dyidir\" dymsin tqlayn"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "vvlc datanzn yedyini aln"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Diqqtl Oxuyun!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Aboot istifad etmyi istyirsinizs, bo disk sahsi (2048 sektor bsdir.)\n"
-"buraxmay unutmayn."
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Diqqtl olun: bu mliyyat thlklidir."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Xta"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Balama nqtsi: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Avadanlq: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS src hrfi: %s (sadc txmini)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Nv: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Ad: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Balanc: sektor %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Bykly: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektor"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Silindr %d -dn silindr %d-y\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "killndirilmi\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "killndirilmmi\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Bal\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback fayl: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Ana alma blmsi\n"
-" (MS-DOS al n)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Sviyy %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Para bykly %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-disklri %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Loopback fayl ad: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Blk d bu bir Src blmsidir.\n"
-"Onda bunu ele belc buraxn.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Bu, ikili al n xsusi\n"
-"Bootstrap-dr.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Xahi edirik bir blm stn tqlayn"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Byklk: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometriyas: %s silindr, %s ba, %s sektor\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-disklri %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Blm cdvli nv: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "%d data yolunda, %d n'li\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Bala"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Fal"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "RAID lav et"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "RAIDdn ayr"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "RAIDi dyidir"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "LVM lav et"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "LVMdn ayr"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Loopback n istifad et"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Monitorunuzu sein"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Balayn, /boot blmsini bu srcd yarada bilmycm.\n"
-"Onda ya LILO istifad ed bilmycksiniz ve /boot blmn \n"
-"ehtiyacnz yoxdur v ya LILO istifadsini snayarsnz, ancaq LILO ilmy "
-"bilr."
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Sediyiniz blm fiziki sahnin stnd (1024. silindrin xaricind)\n"
-"/boot blmnz yoxdur. Lilo al idarcisindn istifad etmk "
-"istyirsinizs, \n"
-"/boot blmsini lav edrkn ox diqqtli olmalsnz."
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Bir proqram t'minatl RAID blmsini kk qovluu (/) olaraq t'yin "
-"etdiniz.\n"
-"gr lilo ya da grub istifad etmk istyirsinizs, bir /boot blmsi\n"
-"lav etmyi unutmayn"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Yerin ``%s'' ilt"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "vvlc ``Ayr'- ilt"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"%s blmsinin nvn dyidirdikdn sonra, bu blmdki btn m'lumatlar "
-"silinckdir"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Davam edilsin?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Qeyd etmdn x"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Blm cdvlini qeyd etmdn xrsnz?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Blm nvn Dyidir"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Hans dili istyirsiniz?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "32MB dn kiik disk blmlrind ReiserFS istifad etmlisiniz"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "%s loopback avadanln haraya balamaq istyirsiniz?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "%s avadanln haraya balamaq istyirsiniz?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Bu disk blmsi loopback n istifad edildiyindn tr balanma "
-"nqtsindn ayrla bilinmir.\n"
-"vvlc loopback- lv edin."
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"%s blmsi killndirildikdn sonra bu blmdki btn m'lumatlar "
-"silinckdir"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "killndirilir"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Loopback fayl killndirilir: %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "killndiriln blm: %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Btn blmlri killndirdikdn sonra, "
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "bu blmlrdki btn verilr itckdir"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Da"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Hans disk damaq istyirsiniz?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Hans sektora damaq istyirsiniz?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Danr"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Blm danr..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "%s srcsnn blm cdvli disk yazlacaq!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Yeni qurularn fallama n sistemi yenidn balatmalsnz"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Fat fayl sistemi uclar hesaplanr"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Bykly dyidirilir"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Hans blm nvn istyirsiniz?"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Bu blmdki btn m'lumatlar yedklnmlidir"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"%s blmsi bykly dyidirildirkdn sonra bu blmdki btn m'lumatlar "
-"silinckdir"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Yeni byklk sein"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Yeni blm yarat"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Balan sektoru: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "MB cinsindn byklk: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Fayl sistemi nv: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Xsusiyytlr: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Bu disk blmsi loopback n ildilmz"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Loopback fayl ad: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-"Fayl baqa bir loopback trfindn istifadddir, baqa\n"
-"birini sein"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Fayl onsuz da vardr. ldilsin?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Fayl se"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Yedk blm cdvli eyni bykly sahib deyil\n"
-"Davam etmk istyirsiniz?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Xbrdarlq"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Disket srcy bir disket yerldirin\n"
-"Bu disketdki btn m'lumatlar yox olacaqdr"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Blm cdvli qurtarlmaa chd edilir"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "avadanlq"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "sviyy"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "para bykly"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "lav etmk n mvcud bir RAID sein"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "yeni"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "lav etmk n mvcud bir LVM sein"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "LVM ad?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Taxlb skl biln avadanlqlarn avtomatik balanmas"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Blm cdvlini qurtar"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Yenidn ykl"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s killndirilmsind %s blm xtas"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "%s'i nec killndircyimi bilmirm (Nv: %s)"
-
-#: ../../fs.pm_.c:231
-msgid "mount failed: "
-msgstr "balama iflas etdi: "
-
-#: ../../fs.pm_.c:243
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "%s ayrlrkn xta oldu: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "bsit"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "verici"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Balama nqtlri / il balamaldr"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Onsuz da balama nqtsi %s olan bir blm var\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Dairvi balama %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "%s n LVM Mntiqi Cildini istifad ed bilmzsiniz"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Bu qovluq kk fayl sistemi irisind olmaldr"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Bu balama nqtsi n hqiqi bir fayl sistemin (ext2, reisrfs)\n"
-"ehtiyac vardr.\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Yazmaq n alan %s'd xta: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Bir xta oldu. Yeni fayl sisteminin yaradlaca hkml bir src "
-"taplmad. Bu problemin qayna n avadanlnz yoxlayn"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "He disk blmniz yoxdur!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Qurulma v sistem istifadsi n bir dil sein."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Davam ed bilmk n yuxardak lisenziyann maddlrini qbul "
-"etmlisiniz.\n"
-"\n"
-"\n"
-"Xahi edirik, maddlrl raz isniz \"Qbul\" dymsin basn.\n"
-"\n"
-"\n"
-"Xahi edirik, maddlrl raz deyilsniz ,\"Rdd\" dymsin basn\n"
-"Yklm indiki qurularnz dyidirilmdn bitirilck."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Yuxardak siyahdan klaviaturanza uyun gln dzl seiniz"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"gr yklmdn sonra iltmk n frqli dillr (yklmnin vvlind "
-"sediyinizdn) semk istyirsinizs,\n"
-"xahi edirik, onlar yuxardak siyahdan sein.\n"
-"gr hamsn semk istyirsiniz is \"Hamsn\" sein."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Xahi edirik Linuks Mandrakenin daha vvlki buraxllar qurulu deyils v "
-"ya mxtlif mliyyat sistemlrindn istifad etmk istyirsinizs \"Ykl\" "
-"sein.\n"
-"\n"
-"\n"
-"Xahi edirik qurulu olan Linuks Mandrakenin vvlki buraxln gncllmk "
-"istyirsinizs \"Gncll\" sein.\n"
-"\n"
-"\n"
-"Sizin GNU/Linuks biliyinizdn asl olaraq yklmk v ya gncllmk n "
-"Linuks Mandrakenin aadak sviyylrini se bilrsiniz:\n"
-"\n"
-"\t* Tvsiy ediln: gr vvlc he GNU/Linuks il tan olmadnz is "
-"sein. Yklm ox asand olacaq v ox az sual soruulacaq.\n"
-"\n"
-"\n"
-"\t* Xsusi: g vvlc GNU/Linuksa bir az aina isniz, sein. Onda siz "
-"istdiyiniz sistem nvn (Masa st, Verici, Tcrbi) se bilcksiniz.\n"
-"\t lbtd siz \"Tvsiy ediln\" sekidn daha ox sual soruulacaq.\n"
-"\t Ona gr d GNU/Linuksa bir az aina olmalsnz.\n"
-"\n"
-"\n"
-"\t* Usta: gr yax bir GNU/Linuks biliyin sahibsniz, bu sinifi sein.\n"
-"\t \"Xsusi\" sinifindki kimi ildcyiniz sistemi (Masa st, Verici, "
-"Tcrbi)\n"
-"\t se bilcksiniz. Amma sizi ox tin suallar gzlyir. Bzn bu "
-"suallarn iindn\n"
-"\t xa bilmk ox zhmtli olur. Ona gr d n etdiyinizi bilirsniz, bu "
-"sinifi sein."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Se:\n"
-"\n"
-" - Xsusi: gr Linuksa aina isniz bu seny tqlayn.\n"
-" Sonra sistemin sinifini se bilcksiniz.\n"
-" Ayrnrlar n aaya baxn.\n"
-"\n"
-"\n"
-" - Usta: gr GNU/Linuks haqqnda yax bilik sahibi isniz bunu sein.\n"
-" Daha sonra \"Xsusi\" sekisind olduu kimi sistemin sinifini se "
-"bilcksiniz.\n"
-" Ancaq artq drcd xahi edirik, N ETDYNZ BLMRSNZ BU SNF "
-"SEMYN!."
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"ndi is kompterinizi nec ildcyiniz qerar verin.Se:\n"
-"\n"
-"\t* Masa st: kompterinizi gndlik ilr (idar ilri, qrafika vs.)\n"
-"\t n istifad edck isniz, bunu sein.\n"
-"\n"
-"\n"
-"\t* Tcrbi: Kompterinizi proqram t'minat inkiaf n ildcksniz, "
-"sizin n ideal sekidir.\n"
-"\t O zaman qaynaq kodlar yazmaq, killndirmk v xtadan ayqlamaq v ya "
-"proqram paketlri hazrlamaq n lazmi hr cr proqramn daxil olduu bir "
-"kolleksiya kompteriniz qurulacaqdr.\n"
-"\n"
-"\n"
-"\t* Verici: Kompteriniz Linuks-Mandrakeni verici olaraq iltmk n "
-"quracaqsanz, bu yax bir sekidir.\n"
-"\t Bir fayl vericisi (NFS ya da SMB),ap edici vericisi(Unixin lp protokolu "
-"ya da Windows trzi SMB ap),\n"
-"\t tandc verici (NIS), m'lumat taban vericisi v oxar...Onda KDE, "
-"GNOME kimi mzli eylrin qurulman gzlmyin."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX PCI SCSI adapterleri axtarmaa chd edck. g DrakX SCSI\n"
-"taparsa v hans src ildilcyini bilrs, her ey z zn\n"
-"qurulacaq.\n"
-"\n"
-"\n"
-"gr sisteminizd SCSI adapteri yoxsa, DrakXin tanmayaca bir\n"
-"ISA SCSI v ya PCI SCSI adapteri var is, siz sisteminizd SCSI\n"
-"adapteri olub olmad soruulacaq.\n"
-"gr SCSI adapteriniz yox is, \"Yox\" tqlayn. gr \"Var\" "
-"tqlayarsanz.\n"
-"qarnza srclin siyahs xacaq, oradan siz uyann sersiniz.\n"
-"\n"
-"\n"
-"gr ll qurma srsniz, o zaman DrakX siz adapterin xsusiyytlrini\n"
-"soruacaq. mkan verin ki, DrakX srbstc z xsusiyytlri tapsn.\n"
-"oxunda bu i yarayr.\n"
-"\n"
-"\n"
-"gr istmirsniz is, o zaman adapter n xsusiyytlri znz\n"
-"gstrmlisiniz. Bunun n stifadinin l Kitabasna\n"
-"(balq 3, \"Avadanlnz n kollektiv m'lumat) blmsin\n"
-"baxn. Ya da avadanlnzn l kitabasndan v ya\n"
-"veb shifsindn (gr internet xnz var is)\n"
-"ya da Microsoft Windowsdan (gr sisteminizd qurulu is)\n"
-"m'lumat aln."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Bu nqtd Linuks Mandrakeni sabit diskinizd haraya quracanza\n"
-"qrar vercksiniz. gr diskiniz bo is v ya bir baqa sistem\n"
-"btn yeri doldurmu is, o zaman diskinizd Linuks Mandrake n\n"
-"yer amalsnz. Ona gr d diski blmlndirmlisiniz.\n"
-"Blmlndirm sasn diskinizd mntiqi srclr yaratmaqdan ibartdir.\n"
-"\n"
-"mumiyytl blmlndirmnin tsiri geri dnlmzdir.Ona gr d\n"
-"bu i ox grgin v yorucudur. gr znz inanmrsnz is bu\n"
-"sehirbaz siz yardm edr. Balamadan vvl xahi edirik l kitabanza\n"
-"baxn. V bu i n bir az vaxt ayrn.\n"
-"\n"
-"\n"
-"Siz n az 2 blm lazmdr. Biri sistemin zn krmsi n\n"
-"Digri is uydurma yadda (ya da digr ad il Swap) n.\n"
-"\n"
-"\n"
-"gr diskiniz onsuz da blnm is (vvlki sistemden ya da\n"
-"baqa blmlndirm vasitlri il hazrlanm) quruluda\n"
-"sadc olaraq o yerlri yklmk n sein.\n"
-"\n"
-"\n"
-"gr disk blnmmi ise, yuxardak sehirbazdan istifad ed bilrsiniz.\n"
-"Sisteminizin quruluundan asl olaraq mxtlif imkanlarnz var:\n"
-"\n"
-"\t* Btn diski sil: Linuks Mandrake qurmaq n btn diskinizin\n"
-"\t zrindki blmlri silr. Burada diqqtli olun.\n"
-"\t Sildiklriniz sla geri glmz.\n"
-"\n"
-"\n"
-"\t* Windows blmsindki sahni istifad et: Sisteminizd\n"
-"\t Microsoft Windows qurulu is ve btn diski hat edir is\n"
-"\t Linuks Mandrake n bir yer ayrmalsnz. Bunun n\n"
-"\t ya btn diski silmlisiniz (\"Btn diski sil\" bax ya da\n"
-"\t \" Usta modu\" tvsiylri) ya da yenidn blmlndirmlisiniz.Bu i he "
-"bir m'lumat itkisi olmadan da edil bilr.Bunun baqa ad\n"
-"\t eyni kompterd hm Linuks Mandrake hm d Windows qurulu olmasdr.\n"
-"\n"
-"\n"
-"t Bu sekiy getmdn vvl bir eyi baa dmlisiniz ki, yenidn "
-"blmlndirm il sizin Windows blmsi kiilckdir.\n"
-"\t Y'ni Windows altnda daha az disk sahsin malik olacaqsnz.\n"
-"\n"
-"\n"
-"\t* Usta modu: gr ll diski blmk istsniz, bu modu sein. Diqqtli "
-"olun.\n"
-"\t Bu mod gldr amma bir o qdr d thlklidir. Diskinizdki btn "
-"bilgiyi asandlqla itir bilrsiniz.\n"
-"\t Tcrbsiz isniz bunu semyin."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Bu nqtd siz Linuks Mandrake yklmk n blmlri semlisiniz. gr "
-"vvldn blmlr var is (sistemd vvllr qurulu olan GNU/Linuks "
-"blmlri v ya baqa blmlndirm vasitlri il hazrladnz blmlr), "
-"onlar sein v istifad edin.\n"
-"Yoxsa onlar bildirmlisiniz.\n"
-"\n"
-"\n"
-"Blmlri yaratmaq n vvlci diski semlisiniz.\n"
-"Diski semk n birinci IDE srcs n \"hda\" n, ikinciyi semk n "
-"\"hdb\"ni, birinci SCS srcs n ise \"sda\" vs tqlamalsnz.\n"
-"\n"
-"\n"
-"Sediyiniz srcy aadaklar etmy qadirsiniz:\n"
-"\n"
-" *Hamsn tmizl: seili srcd btn blmlri silr.\n"
-"\n"
-"\n"
-" *Avtomatik: Srcnzdki bo sahd Ext2 v Swap\tblmlrini avtomatik\n"
-"yaradar.\n"
-"\n"
-"\n"
-" *Blm cdvlini qurtar: Zdlnmi blm cdvlini\tbrpa edr. Xahi "
-"edirik\n"
-" diqqtli olun, nk bu da iflas ed bilr.\n"
-"\n"
-"\n"
-" *Gri dn: stmdiyiniz sekilrinizdn geri dndrr.\n"
-"\n"
-"\n"
-" *Yenidn ykl: Btn dyiikliklrinizdn geri dnr\tbadak blm "
-"cdvlin glr.\n"
-"\n"
-"\n"
-" *Sehirbaz: Blmlndirmyi bir sehirbaz edr. Tcrbsiz\tisniz bunu "
-"sein.\n"
-"\n"
-"\n"
-" *Floppy-dn brpa et: Blm cdvlini vvllr flopy-y qeyd\tetdiniz is, "
-"blm cdvlini brpa edin.\n"
-"\n"
-"\n"
-" *Floppy-y qeyd et: Daha sonradan brpa etmek n\tbilgilri floppy-y "
-"qeyd edin.\n"
-" Bu seki iddtl tvsiy edilir.\n"
-"\n"
-"\n"
-" *Oldu: Blmlndirm bitdiyind, bunu serk\tdyiikliklrinizi qeyd "
-"edin.\n"
-"\n"
-"\n"
-"Xbriniz olsun, istniln sekiy Tab ve Aa/Yuxar oxlarn da ildrk "
-"klaviaturadan idar ed bilrsiniz.\n"
-"\n"
-"\n"
-"Blm seildiyi zaman bunlar ild bilrsiniz:\n"
-"\n"
-" *Ctrl-c yeni blm yaratmaq n (bo blm seili olduu zaman)\n"
-"\n"
-" *Ctrl-d blmni lv etmk n\n"
-"\n"
-" *Ctrl-m balama nqtsini gstrmk n\n"
-"\t\n"
-"\n"
-"\t\n"
-"gr PPC kompterd qurulum aparrsnzsa, n az 1 MBlq balaca bir HFC "
-"'bootstrap' blmsini yaboot al yklyicisi n semk istycksiniz.\n"
-"gr daha ox yeriniz varsa ; msln 50 MB, onda btn kernel v ramdisk "
-"ksini tcili al hallar n saxlaya bilrsiniz."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Yuxarda srcnzd taplan Linuks blmlri sralanb\n"
-"Sehirbazn tvsiylrin uyun, onlar ox vaxt i yarayr.\n"
-"gr bunu istmsniz en azndan kk blmsi (\"/\") semlisiniz\n"
-"ox kiik blm semyin. yoxsa ox proqram t'minat ykly bilmzsniz.\n"
-"gr verilrinizi baqa blmd tutmaq istyirsinizs, ondabir de \"/home\" "
-"blmsi d yaratmalsnz (birdn ox Linuks\n"
-"blmniz var is).\n"
-"\n"
-"\n"
-"Xbriniz olsun, hr blm aadak kimi sralanb: \"Ad\", \"Hcm\".\n"
-"\n"
-"\n"
-"\"Ad\" bel kodlanb: \"src nv\", \"src mmrsi\",\n"
-"\"blm nmrsi\" (msln \"hda1\").\n"
-"\n"
-"\n"
-"\"Src nv\" gr srcnz IDE srcdrs \"hd\"dirv SCSI src is "
-"\"sd\"dir.\n"
-"\n"
-"\n"
-"\"Src nmrsi\" hmi \"hd\" v ya \"sd\"dn sonrak rqmdir.IDE "
-"srclr n:\n"
-"\n"
-"\t*\"a\" yni \"birinci IDE idarcisind ali src\",\n"
-"\n"
-"\t*\"b\" yni \"birinci IDE idarcisind kl src\",\n"
-"\n"
-"\t*\"c\" yni \"ikinci IDE idarcisind ali src\",\n"
-"\n"
-"\t*\"d\" yni \"ikinci IDE idarcisind kl src\".\n"
-"\n"
-"\n"
-"SCSI srclrind \"a\" nn mnas \"birinci src\",\n"
-"\"b\"nin mnas \"ikinci src\"dr vs..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Linuks Mandrakeni yklmak n srcy sein.\n"
-"Diqqtli olun, srcdki btn m'lumatlar silinck\n"
-"v geri glmyck."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Srcdki btn bilgilri v blmlri silmk n\n"
-"\"Oldu\" dymsin basn. Diqqtli olun,\"Oldu\" dymsin basdqdan sonra\n"
-"Windows bilgilri d daxil olmaq zrbtn blm m'lumat geri dnmyck "
-"kild silinck.\n"
-"\n"
-"\n"
-"Blmdki m'lumatlar qoruyaraq \"Lv et\" dymsin\n"
-"mliyyat lv ed bilrsiniz."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Srcnzd bir v ya daha ox Windows blmsi tapld.\n"
-"Xahi edirik Linuks Mandrakeni qurmaq n onlardan birini "
-"yenidnllndirmk zr sein.\n"
-"\n"
-"\n"
-"Xbriniz olsun, her blm bu cr sralanb; \"Linuks ad\",\"Windows\n"
-"ad\"\"Hcm\".\n"
-"\n"
-"\"Linuks ad\" bu cr kodlanb: \"src nv\", \"src nmrsi\",\"blm "
-"nmrsi\" (msln, \"hda\").\n"
-"\n"
-"\n"
-"\"Src nv\" srcnz IDE src is \"hd\"dirSCSI src is\n"
-"\"sd\"dir.\n"
-"\n"
-"\n"
-"\"Src nmrsi\" hmi \"hd\" v ya \"sd\"dn sonrak rqmdir.IDE "
-"srclr n:\n"
-"\n"
-"\t*\"a\" yni \"birinci IDE idarcisind ali src\",\n"
-"\n"
-"\t*\"b\" yni \"birinci IDE idarcisind kl src\",\n"
-"\n"
-"\t*\"c\" yni \"ikinci IDE idarcisind ali src\",\n"
-"\n"
-"\t*\"d\" yni \"ikinci IDE idarcisind kl src\".\n"
-"\n"
-"\n"
-"SCSI srclrind \"a\" nn mnas \"birinci src\",\n"
-"\"b\"nin mnas \"ikinci src\"dr vs..."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Sbrli olun. Bu mliyyat bir ne deqiq sr bilr."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Yeni yaradlan btn blmlr killndirilmlidir\n"
-"(killndirmk yni fayl sistemi yaratmaq - format).\n"
-"\n"
-"\n"
-"Bu arada var olan hazr blmlri d stndkilri silmk nyenidn "
-"killndirmk istya\n"
-"bilrsiniz.\n"
-"Bunu istyirsinizs bu blmlri d semlisiniz.\n"
-"\n"
-"\n"
-"Bunu alnzda tutun ki var olan btn blmlri killndirmk\n"
-"mcburi deyil.\n"
-"ltim sistmini ml gtirn blmlri (yni\n"
-"\"/\", \"usr\" v ya \"var\" yenidn killndirmk n\n"
-"se bilrsiniz. Verilr olan \"home\"u msl toxunulmadan\n"
-"buraxa bilrsiniz.\n"
-"\n"
-"\n"
-"Diqqtli olun. killndirdiyiniz blmlrdki verilr\n"
-"geri glmz.\n"
-"\n"
-"\n"
-"killndirmy hazr isniz \"Oldu\" dymsini tqlayn.\n"
-"\n"
-"\n"
-"Yeni Linuks Mandrake sisteminizi qurmaq n baqa blm semk\n"
-"istyirsiniz is \"Lv et\" dymsin basn."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"ndi qurmaq ya da gncllmk istdiyiniz paket qruplarn\n"
-"se bilrsiniz.\n"
-"\n"
-"Sonra DrakX sediklrinizi qurmaq ya da gncllmk n lazmi \n"
-"bo yerinizin olub olmadn snayacaq. gr yoxsa, siz bunu \n"
-"sylyck. N olursa olsun davam etmk istsniz,yklm davam edck.\n"
-"Amma daha az ehtiyac olan paketlr qurulmayacaq.\n"
-"Siyahnn stnd \"xsi paket seilmsi\"\n"
-"senyini iartlsiniz 1000dn artqpaket arasndan se bilrsiniz."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"ndi is siz istdiyiniz paketi qurmaq n\n"
-"se bilrsiniz.\n"
-"\n"
-"\n"
-"Paket pncrsi solundak bucaqdaki seny tqlayaraqaac hm aa\n"
-"hm d sxdra bilrsiniz.\n"
-"\n"
-"\n"
-"Paketlrin lifba srasna gr dzlmsini istyirsinizs\n"
-"\"Otaq v grupu dz\"\n"
-"dymsin basn.\n"
-"\n"
-"\n"
-"Paket ehtiyaclar xbrdarlqlarn istmirsniz \"Avtomatik\n"
-"ehtiyaclar\" se bilrsiniz.\n"
-"Amma bunu iartldiyiniz vaxt unutmayn bir paketin iartini "
-"qaldrdnzda\n"
-"ehtiyac olan digr paketlerin de iarti sssizc qalxar."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Yuxardak siyahdak btn CDlr sahibsniz, OLDUya tqlayn.\n"
-"Bu CD'lrin he birin sahib deyilsniz, Lv et'i tqlayn.\n"
-"CD'lrdn b'zilri ksiks, bunlar seili vziyytdn xarb OLDUya "
-"tqlayn."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Tptz Linuks Mandrake sisteminiz qurulacaq. Bu da sediyiniz\n"
-"yklm byklyn v sistminizin qabiliyytin gr\n"
-"bir ne deqiq alar.\n"
-"\n"
-"\n"
-"Xahi edirik, sbrli olun."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"ndi sian snaya bilrsiniz. Hr eyin yolunda olduunu \n"
-"snamaq n dym v arx ildin. Qurular yax is\n"
-"problem yoxdur. gr deyils onda \"Lv et\"i tqlayaraq\n"
-"baqa sian srcs se bilrsiniz."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Xahi edirik doru qapn sein. Msln, MS Windowsdak COM1'in qarl\n"
-"Linuksda ttyS0'dr."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Kompterinizi internete v ya yerli networka balamaq\n"
-"istyirsinizs xahi edirik doru xsusiyti sein. Ayrca DrakXin bunu "
-"tapmas n avadanlnz an.\n"
-"\n"
-"\n"
-"nternet v ya yerli networka he giriiniz yox is\"bk qurularn ke"
-"\"\n"
-"senyini iartlyin.\n"
-"\n"
-"\n"
-"bk qurularn sonraya buraxmaq istyirsinizsv ya qurular bitdiys "
-"\"Oldu\" senyini iartlyin."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Modem taplmad. Xahi edirik modemin bal olduu serial qapn sein.\n"
-"\n"
-"\n"
-"Xbriniz olsun, birinci serial qap (Windows altnda\n"
-"\"COM1\") linux altnda\"ttyS0\" dey adlandrlr."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"ndi is evirmli balant xsusiyytlri se bilrsiniz.\n"
-"gr bilmirsinizs v ya ne gircyiniz qerar vermdinizs\n"
-"(Msln, XV (ISP) v DNS nmrlri kimi) bunlar\n"
-"daha sonra da internete girrk yrn bilrsiniz."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Modeminiz xarici is modeminizi an ki DrakX onu avtomatik olaraq tapsn."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Xahi edirik modeminizi an ve doru senyi iartlyin."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"gr yuxardaklar haqqnda m'lumatnz yox is v ya ne gircyiniz qrar "
-"vermdinizs\n"
-"(Msln, XV (ISP) v DNS nmrlri kimi)bunlar\n"
-"daha sonra da internete girrk yrn bilrsiniz."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"ndi is ev sahibi bilgilrini girin. Ne gircyiniz\n"
-"qerar vermdinizs\n"
-"(Msln, XV (ISP) v DNS nmrlri kimi)bunlar\n"
-"daha sonra da internete girrk yrn bilrsiniz."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Se:\n"
-"\n"
-" - IP nvan: gr IP nvann bilmirsinizs, sistem idarcisinya da \n"
-"nternet xidmt vericisin dann.\n"
-"\n"
-" - bk maskas: mumiyytl \"255.255.255.0\" yax bir sekidir. gr "
-"min \n"
-"deyilsniz, yen sistem idarciniz ya da xidmt vericinizsoruun.\n"
-"\n"
-"\n"
-" - Avtomatik IP : gr networkunuz bootp ya da dhcp protokollarndan bir "
-"dnsini \n"
-"istifad edirs bu senyi iartlyin."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"gr bkd NIS ildilirs, \"NIS kullan\" senyini iartlyin. gr \n"
-"bilmirsinizs sistem idarciniz soruun."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr "ndi ev sahibi adn girin. Bilmirsinizs bo buraxn."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"ndi evirmli balant senklrini gir bilrsiniz. gr n yazlmas "
-"lazm olduunu\n"
-"bilmirsinizs nternet xidmt vericinizdn lazmi bilgilri aln."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr "g vkil (proxy) verici istifad edacmsniz bunlar girin."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"gr nternet balantnz doru kild qurulmu is kriptoqrafik paketi \n"
-"d qura bilrsiniz. vvl bir ks nvan sein v daha sonra qurulacaq \n"
-"paketlri quradrn."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "ndi is yaadnz yer gr zaman zolan sein."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"Linuks zaman GMT-y (Greenwich Mean Time) gr qurular v olduunuz \n"
-"yerdki zamana gr lazmi dyiikliklri edr.\n"
-"\n"
-"Sisteminizd Microsoft Windows ildirsniz \"Xeyr\" sein."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"ndi, alda avtomatik olaraq balamasn istdiyiniz xidmtlri \n"
-"se bilrsiniz. Sian bir maddnin zrina gldiyind o xidmtin rolunu "
-"aqlayan\n"
-"kiik bir baloncuq ortaya xacaqdr.\n"
-"\n"
-"gr kompterinizi bir verici olaraq istifad edcksniz bu addmda tam bir "
-"diqqt ayrmalsnz:\n"
-"mhtmldir ki lazmi he bir xidmti balatmaq istmzsiniz."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Siz indi yerli v ya evirmli yazn qura bilrsiniz\n"
-"(Unix, Netware v ya Microsoft Windows networkundak)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Yazdrma funksiyas istyirsinizs CUPS v LPR arasnda seici\n"
-"davranmalsnz.\n"
-"\n"
-"\n"
-"CUPS yeni, gcl ve elastik bir Unix yazdrma sistemidir\n"
-"CUPS yni \"Common Unix Printing System\". Bu da Linuks Mandrake\n"
-"d sas yazdrma sistemidir.\n"
-"\n"
-"\n"
-"LPR Linuks Mandrakenin khne sistemidir.\n"
-"\n"
-"\n"
-"Printeriniz yox is \"Yox\" dymsin tqlayn."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linuks bir ox ap edici nv ild bilr. Hr bir nv\n"
-"mxtlif qurulu istyr.\n"
-"\n"
-"\n"
-"ap ediciniz fiziki olaraq kompteriniz bal is\n"
-"\"Yerli ap edici\"n sein.\n"
-"\n"
-"\n"
-"Unix sistemin bal ap ediciy uzaqdan balanmaq istyirsinizs\n"
-"\"Uzaqdan balanlan ap edici\".\n"
-"\n"
-"\n"
-" MS Windows kompterin (v ya SMB protokolunu\n"
-"ildn Unix kompterin) bal bir ap ediciy atmaq n\n"
-"\"SMB/Windows95/98/NT\" senyini iartlyin."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Xahi edirik DrakXin tapa bilmsi n yaznz an.\n"
-"\n"
-"Burada bir ne m'lumat vermlisiniz.\n"
-"\n"
-"\n"
-"\t*ap Edici ad: yazlar n \"lp\" ildilir.\n"
-"Ona gr d yaznzn ad \"lp\" olmaldr.\n"
-"Bir ne ap ediciniz var is istdiyiniz ad ver bilrsiniz. Sadc olaraq "
-" aralarna boru iarti \"|\" qoymalsnz.\n"
-"Msln \"Mnim yazm|lp\".\n"
-"Adnda \"lp\" olan ap edici ba ap edici olacaqdr.\n"
-"\n"
-"\n"
-"\t*Tsvir: sty baldr. Amma bir ne ap ediciniz var is\n"
-"\tbir xeyli faydal ola bilr.\n"
-"\n"
-"\n"
-"\t*Yerlm: ap Edicinin yeri haqqnda istdiyinizi yaza bilrsiniz."
-"\tMsln, \"2ci mrtb\".\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Burada bir ne m'lumat vermlisiniz.\n"
-"\n"
-"\n"
-"\t*stk ad: yazlar n \"lp\" ildilir.\n"
-"Ona gr d yaznzn ad \"lp\" olmaldr.\n"
-"Bir ne ap ediciniz var is istdiyiniz ad ver bilrsiniz. Sadc "
-"olaraq aralarna boru iarti \"|\" qoymalsnz.\n"
-"Msln \"Mnim yazm|lp\".\n"
-"Adnda \"lp\" olan ap edici ba ap edici olacaqdr.\n"
-"\n"
-"\n"
-"\t*Saxlama qovluu: ap Edici sifarilrinizi saxlanld yer.\n"
-"\tMvzudan bixbr isniz sas qurunu sein.\n"
-"\n"
-"\n"
-"\t*ap Edici balants: ap Edici fiziki olaraq kompter bal ise\n"
-"\t\"Yerli ap Edici\" sein.\n"
-"\tUzaq bir Unix sistem bal ap edici is\"Uzaqdan idarli lpd ap Edici\" "
-"sein.\n"
-"\n"
-"\n"
-"\tUzaq SMB vericisi ildn Unix v ya Windows sistemin balyaz n "
-"is \"SMB/Windows 95/98/NT\" sein.\n"
-"\n"
-"\n"
-"\tNetWare bkd yerln ap edici n is\"NetWare\" sein.\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Sizin ap edici taplmad. Xahi edirik bal olduu avadanln\n"
-"adn girin.\n"
-"\n"
-"\n"
-"Xbriniz olsun, bir ox ap edici birinci paralel qapya baldr.\n"
-"Bu da GNU/Linuksda \"/dev/lp0\", Windowsda is \"LPT1\"dir."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "ndi yuxardak siyahdan ap edici semalisiniz."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Xahi edirik yazcnz n doru qurular girin.\n"
-"N secyinizi bilmirsiniz is sndlr baxn\n"
-"\n"
-"\n"
-"Bir sonrak addmda yazcnz snaya bilrsiniz v\n"
-"daha sonra da istdiyiniz zaman dyidir bilr."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Linuks sisteminiz n bir idarci parolu verilmlidir. Bu parol\n"
-"yazl xtalarna meydan vermmsi v e'tibarl olmas sbbi il iki df\n"
-"girilmlidir.\n"
-"\n"
-"\n"
-"Bu parolu diqqtli semlisiniz. Sadc idari parolunu biln \n"
-"adamlar sistemi idar v dyiiklik ed bilirlr. Ayrca idarci \n"
-"parolu il sistem girn bir adam btn verilri silib, sistema zrr \n"
-"ver bilr. Sediyiniz parol alfanumerik xarakterlr daxil edib en az 8 "
-"xarakter uzunluunda olmaldr. Hr hans bir kaza, dftara qeyd\n"
-"alnmamaldr. ox uzun bir parol v ya ox qarq bir parol ildilir "
-"is \n"
-"parolun xatrlanmas tinlir.\n"
-"\n"
-"\n"
-"darci olaraq sistem gircayiniz zaman, giri srasnda \"login\"\n"
-"yazan qism \"root\" v \"password\" yazan qism idarci parolunu\n"
-"yazmalsnz."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Daha e'tibarl bir sistem n \"Klg parol ilt\" v \"MD5 kodlama \n"
-"ilt\" senklrini iartlayin."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"gr bkd NIS istifad edilirs, \"NIS ilt\" seneyini iartlyin. "
-"gr \n"
-"bilmirsinizs sistem idarciniz soruun."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"ndi bir ya da daha ox adamn Linuks sisteminizi istifad etmsin icaz\n"
-"ver bilrsiniz. Hr istifadi hesab n ediln dyiikliklr sadc\n"
-"o istifadi ve istifadinin \"istifadi sras\" n hkml olar.\n"
-"\n"
-"\n"
-"Sistemi sadc siz istifad edeceksniz bel ayr bir istifadi hesab "
-"aaraq\n"
-"normal iler n bu hesab istifad etmlisiniz. dari \"root\" hesab\n"
-"gndlik ilrd istifad edilmmlidir. Bu bir thlksizlik riski tkil "
-"edr.\n"
-"Sad bir istifadi hesab il ilmk sizi v sistemi size qar\n"
-"qoruyar. darci hesab olan \"root\" sadc, sad bir istifadi hesab\n"
-"il etmycyiniz idar v tmir ilri n istifad edilmlidir."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Balanc disketi yaradlmas ar drcd tvsiyy edilir.\n"
-"Sistemi aa bilmdiyiniz zaman bu, sizin n tk qurtulu yolu olar.\n"
-"Yoxsa sistemi yenidn yklmk mcburiyytindsiniz."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Linuksu amaq n lazmi bilgilrin harada saxlanlacana qrar verin.\n"
-"\n"
-"\n"
-"N etdiyinizi bilmirsinizs, \"Diskin ilk sektoru (MBR)\" sein."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Baqa bir kild seilmmi is, mumiyytl bu seki \"/dev/hda\" \n"
-"(Birinci ali IDE disk) ya da \"/dev/sda\" (birinci SCSI disk)\n"
-"olacaqdr."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (Linuks Yklyici) v Grub al sistem yklyicilridir: sistemi "
-"Linuks\n"
-"ya da kompterinizd olan baqa bir mliyyatiyle aa bilrlr.\n"
-"sasn bu digr mliyyat sistemlri doru bir kilde tsbit edilib "
-"ala\n"
-"qurula bilrlr. gr bir problem olarsa, buradan ll lav edil "
-"bilrlr.\n"
-"Parametrlr mvzusunda diqqtli olun."
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILO v grub ana senklri bunlardr: \n"
-"\t- Al avadanl: Al sektorunu olduu sabit disk blmsini daxil "
-"edn avadanln\n"
-"adn tyin edr.\n"
-"gr he bir ey bilmirsinizs \"/dev/hda\"y sein.\n"
-"\n"
-"\n"
-"\t- sas ks il amadan vvl gecikm: Al sistem yklyicisinin ilk \n"
-"ksi amadan vvl gzlycyi zamann, saniynin onda biri cinsindn "
-"miqdardr.\n"
-"Bu, klaviaturann fallamasndan hmn sonra sabit diskdn alan sistemlr "
-"n faydaldr.\n"
-"Sistem yklyicisi, gr \"delay\" sfr olaraq verilmi is\n"
-"he gzlmz.\n"
-"\n"
-"\n"
-"\t- Ekran modu: Alda bir ne mtn ekran modu seil bilr:\n"
-" * sad: 80x25 mtn ekran alr.\n"
-" * <rqm>: Gstrilnn rqmlr gr mtn ekran rezolyusiyas "
-"quradrlr.\n"
-"\n"
-"\n"
-"\t- \"/tmp\"I hr alda tmizl: gr hr alda \"/tmp\" crgsind "
-"olan btn\n"
-"olan btn crg v qovluqlarn silinmsini istyirsinizs, bu senyi "
-"sein.\n"
-"\n"
-"\n"
-"\t- Var olan RAM miqdar: Tsf ki, Linuks hmi RAM miqdarn BIOSdan "
-"dzgn\n"
-"bir kild yrnmy bilr. Onda siz znz sisteminizd olan hqiq RAM "
-"miqdarn buradan\n"
-"gir bilrsiniz. Yadda saxlayn ki, hqiqi RAM il sistemin tapd miqdar "
-"arasnda 2\n"
-"v ya 4 MBlq frq ola bilr."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot NewWorld MacIntosh avadal n al idarcisidir. Ayrca\n"
-"GNU/Linuks, MacOS, v ya MacOSX sistemlrini kompterinizd varsa, "
-"aacaqdr.\n"
-"Normalda, bu mliyyat sistemlri dzgn taplb qurula bilirlr\n"
-"gr bel olmazsa, bu ekrandan ll lazmi qurular gir bilrsiniz.\n"
-"Dzgn parametrlri girib girmdiyinizi yaxca bir yoxlayn.\n"
-"\n"
-"\n"
-"Yaboot ana senklri:\n"
-"\n"
-"\n"
-" - Balanc smarc: Aldan vvl xan sad bir ismarc.\n"
-"\n"
-"\n"
-" - Al Avadanl: GNU/Linuksu hardan balatmaq istdiyinizi bildirir."
-"mumiyytl bu m'lumat daha vvl \"bootstrap\" quradrlmas "
-"srasndabildirmi olacaqsnz.\n"
-"\n"
-"\n"
-" - Aq Firmware Gecikmsi: LILOdan frqli olaraq, yabootda iki dn "
-"gecikm vardr\n"
-"Birinci gecikm saniylrl llr v bu arada siz\n"
-"CD, OF al, MacOS v ya Linuks arasnda seki aparmalsnz.\n"
-"\n"
-"\n"
-" - Kernel Al Vaxt Dolmas: Bu vaxt dolmas LILO al gecikmsin "
-"uyun glir. Linuksu\n"
-"sedikdn sonra ana kernel parametri olaraq bu gecikm 0.1 saniy olaraq "
-"qurulu olacaqdr.\n"
-"\n"
-"\n"
-" - CD Al Fallasnm?: Bu senkl CDdn al timsal edn 'C' "
-"xarakteri ilk alda xacaqdr.\n"
-"\n"
-"\n"
-" - OF Al Fallasn?: Bu senkl OFdn (Open Firmware) aln "
-"timsal edn 'N' xarakteri\n"
-"ilk alda xacaqdr.\n"
-"\n"
-"\n"
-" - Ana OS: OF gecikmsi mddti dolduu vaxt hans OSnin alacan "
-"gstrir."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"Burada yaboot n hm baqa mliyyat sistemlri, hm alternativ "
-"kernellr,\n"
-" ya da tcili yardm al kslri lav ed bilrsiniz.\n"
-"\n"
-"\n"
-"Baqa OSlr n giriin mnas ad v kk rndan ibartdir.\n"
-"\n"
-"\n"
-"Linuks n mhtml girilr bunlar ola bilr: \n"
-"\n"
-"\n"
-" - Ad: Bu sadc olaraq yaboot n alacaq sistemi timsal edn bir "
-"addr.\n"
-"\n"
-"\n"
-" - ks: Bu is alacaq kirdyin, y'ni kernelin addr. ox vaxt bu "
-"vmlinux v ya\n"
-"bunun variasiyalardr.\n"
-"\n"
-"\n"
-" - Kk: Linuks qurulumunun kk avadanl v ya '/'.\n"
-"\n"
-"\n"
-" \n"
-" - lav: Apple avadanlqlarnda kernel lav senklri il sxlqla "
-"balanc\n"
-"video avadanl v ya sx sx xta vern 2ci v 3c sian dymlri n "
-"emulyasiya\n"
-"imkanlar tanna bilir. Msln bunlar \n"
-"bir ne nmundir:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: Al avadanlndan vvl b'zi al modullarn semk\n"
-"n ildilir, ya da tcili yardm allarnda ramdisk ksini yklmk "
-"imkan verir.\n"
-"\n"
-"\n"
-" - Initrd-size: Ana ramdisk bykly mumiyytl 4096 baytdr. gr daha "
-"geni ramdisk bildir\n"
-"bilrsiniz is bu senyi ildin.\n"
-"\n"
-"\n"
-" - Oxuma-yazma: Normalda sistemin 'dirilmsindn' vvl b'zi snaqlarn "
-"aparla bilmsi n\n"
-"'root' fayl sistemi bu moda soxulur. Bu senyi nzr almayabilrsiniz.\n"
-"\n"
-"\n"
-" - NoVideo: Blk Apple video avadanl problem xarda bilr.Onda bu "
-"senkl\n"
-"sistemi 'novideo' modda tbii framebuffer dstyi il aa bilrsiniz.\n"
-"\n"
-"\n"
-" - sas: Bu senkl Linuks sistemi sas mliyyat sistemi halna gtir "
-"bilrsiniz.\n"
-"Onda ENTER dymsin basmaqla Linuks sistemi alacaqdr. Bu giri ayrca "
-"TAB il al sekilrin baxdnz vaxt \n"
-"'*' iartil iqlandrlacaqdr."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO (Linuks Yklyici) SPARC n bir sistem yklyicidir: sistemi Linuks\n"
-"ya da kompterinizdki baqa bir mliyyat sistemiyl aa bilirlr.\n"
-"sasn bu digr mliyyat sistemlri doru bir kild tsbit edilib "
-"ala\n"
-"qurula bilrlr. gr bir problem olarsa, buradan ll lav edil "
-"bilrlr.\n"
-"Parametrlr mvzusunda diqqtli olun."
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"\t - Al avadanl: Al sektorunu olduu sabit disk blmsini daxil "
-"edn avadanln\n"
-"adn tyin edr.\n"
-"gr he bir ey bilmirsinizs \"/dev/hda\"y sein.\n"
-"\n"
-"\n"
-" \t - Ana ks il amadan vvl gecikm: Al sistem yklyicisinin ilk \n"
-"grn amadan vvl gzlycyi zamann, saniynin onda biri cinsindn "
-"miqdardr.\n"
-"Bu, klaviaturann aktivlmsindn hmn sonra sabit diskdn alan "
-"sistemlr n faydaldr.\n"
-"Sistem yklyicisi, gr delay sfr olaraq verilmi is\n"
-"he gzlmz."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Buradan etibarn, Linuks GUI (Qrafik stifadi Ara z) kirdyini\n"
-"ml gtirn X Window sistemini quracaq. Buna gr d ekran kartnz\n"
-"v monitorunuzu qurmalsnz. Bu addmlarn oxu onsuz da avtomatik olaraq\n"
-"keilck v siz sadc olaraq tvsiy ediln qurular inclmk v qbul "
-"etmk\n"
-"dck. :-)\n"
-"\n"
-"\n"
-"Qurulu qurtardnda gr DrakXdn ksini istmdiniz is X Window \n"
-"balayacaqdr. Quruarnza baxn v yoxlayn. Qurularnz yoxlayaraq\n"
-"uyumazlq olub olmadna baxn, lazm glirs geriy dnn."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr "X qurularnda problem olarsa aadak senklri istifad edin."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"gr sistem girrkn qrafik arar znn glmsini istyirsnz is \"Bli\","
-"ks halda \"Xeyr\" dymsin basn."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Sisteminiz n thlksizlik sviyysini se bilrsiniz. trafl m'lumat "
-"n xahi edirik bldiy\n"
-" ba vurun. sasn , n secyinizi bilmirsiniz is buraya he toxunmayn.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"ndi sistem yenidn qapanb alacaqdr.\n"
-"\n"
-"Aldqdan sonra Linuks Mandrake avtomatik olaraq yklnckdir. gr "
-"baqa \n"
-"bir mliyyat sistemi d ildcksniz lav xbrdarlqlar oxuyun."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "ltdiyiniz dili sein"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Qurulu sinifini sein"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Sabit disk sekisi"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Sian qurular"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Klaviaturanz sein"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Thlksizlik"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Fayl sistemi qurular"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Blm killndirilmsi"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Qurulacaq paketlri sein"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Sistemi qur"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Root parolunu qur"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "stifadi lav et"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "bkni qur"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Mndricat"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Xidmtlri qur"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Al disketi yarat"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Sistem yklyicini qur"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "X qur"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Qurulumdan x"
-
-#: ../../install_any.pm_.c:403
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"bu vericilri sediniz: %s\n"
-"\n"
-"\n"
-"bu vericilr sasn falladrlr. Onlarn he bir thlksizlik\n"
-"problemlri yoxdur, amma b'zi xtalar tapla bilr. Bel olsa, mmkn olan "
-"n yaxn zamanda gncllmlisiniz.\n"
-"\n"
-"\n"
-"Bu vericilri qurmaq istyirsiniz?\n"
-
-#: ../../install_any.pm_.c:434
-msgid "Can't use broadcast with no NIS domain"
-msgstr "NS domeyni olmadan translasiya ildil bilmz"
-
-#: ../../install_any.pm_.c:675
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "%s srcsn FAT killndirilmi bir disket taxn"
-
-#: ../../install_any.pm_.c:679
-msgid "This floppy is not FAT formatted"
-msgstr "Bu floppi FAT klind deyildir"
-
-#: ../../install_any.pm_.c:689
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Bu saxlanm paketlr sekisini iltmk n qurulumu ``linux "
-"defcfg=floppy''il baladn."
-
-#: ../../install_any.pm_.c:711
-msgid "Error reading file $f"
-msgstr "$f fayl oxunurkn xta oldu"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Oldu"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Xahi edirik siannz sein"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Siannz i salmaq n,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "TKR OYNADIN!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Sisteminizdaki b'zi avadanlqlar ilmsi n dzgn srclr ehtiyac "
-"duyar.\n"
-"Bunun haqqnda %s d/a lazmi malumatlar tapa bilrsiniz"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Bir root disk blmna ehtiyacnz var.\n"
-"Bunun n istr mvcud bir disk blm zrina tqlayn, \n"
-"ya da yeni birini badan yaradn. Sonra \"Balama \n"
-"Nqtsi\"n glin va buray '/' olaraq dyidirin."
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Bir swap sahsin ehtiyacnz var"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Bir swap sahniz yoxdur\n"
-"Davam edim?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Bo sahni istifad et"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Yeni blmlr n bo sah yoxdur"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Var olan blmlri ildimmi"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Blm cdvli qurtarlmaa allr"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Loopback n Windows blmsini ilt"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Linuks4Win'i qurmaq n hans disk blmsini istifad edcksiniz?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Byklklrini sein"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Kk (root) blmsi bykly (Mb): "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Swap sahsi bykly (Mb): "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Windows blmsindki bo sahni ilt"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Hans blmnin byklyn dyidircksiniz?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Fat fayl sistemi uclar hesaplanr"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"FAT tdqiqatmz sizin blmlri ild bilmir,\n"
-"bu xta oldu: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Sizin Windows blm ox danqdr. Daxi edirik, vvlc birldirin "
-"(defraq)"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"DQQT!\n"
-"\n"
-"DrakX \"Windows\" disk blmnizin byklyn dyidirck. Bu i \n"
-"tehlkli ola bilr. Aina deyil isniz qurulumdan xn v \"Windows\" \n"
-"altnda \"Scandisk\" (lazm glrs \"defrag\" da) proqramn aldrn. "
-"Ardndan quruluma \n"
-"davam edin. Verilrinizin yedyini alma da unutmayn!"
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Hans sektora damaq istyirsiniz?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "blm %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "FAT bykly dyidirilmsi bacarlmad: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr "FAT blmsi yoxdur ya da loopback n lazmi yer buraxlmayb"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Btn diski sil"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "\"Windows\"u sil"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-"Sizin birdn ox diskiniz var, linux qurmaq n hansn istifad "
-"edcksiniz?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-"%s blmsinin bykly dyidirildikdn sonra bu blmdki btn "
-"m'lumatlar silinckdir"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Hazrk disk blmlndirmsi"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Fdisk istifad et"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"ndi %s sabit diskinizi blmlndir bilrsiniz\n"
-"inizi bitirdiyinizd `w' il qeyd etmyi unutmayn"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "He Windows disk blmniz yoxdur!"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Artq blm lav edil bilmz"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "DrakX blm sehirbaz bu yolu tapd:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Blm cdvli nv: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "bk falladrlr"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "bk dayandrlr"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Bir xta oldu, fqt nec dzldilcyini bilmirm.\n"
-"Davam edin, riski siz aitdir!"
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "%s balama nqtsini oxalt"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Bzi paketlr doru olaraq qurulumu bitirmdi.\n"
-"cdrom srcnz ya da cdromunuz dzgn ilmir.\n"
-"vvldn Linuks qurulu bir sistemd \"rpm -qpl Mandrake/RPMS/*.rpm\"'yi\n"
-"istifad edrk Cd-Rom'u yoxlayn.\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "%s Sistemin Xoglmisiniz"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Disket src yoxdur"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Balanc addm `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Qurmaq istdiyiniz paketlri sein"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Hams: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Buraxl: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Bykly: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Qurmaq istdiyiniz paketlri sein"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "M'lumat"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Qurulum"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Qurulur"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Xahi edirik gzlyin, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Qalan mddt"
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "mumi mddt"
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Qurulum hazrlanr"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "%s paketi qurulur"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Yen d davam edk?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Paketlri istrkn bir xta oldu:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "X11 qurular n mvcud qurulardan istifad edk?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Sizin sisteminizin qaynaqlar atmr. Qurulum rzind problem yaaya "
-"bilrsiniz\n"
-"Bu ba verrs mtn aracl il qurulumu snamalsnz. Bunun n "
-"dCDROMdan balatdnz zaman,\n"
-" 'F1' basn v 'text' yazaraq enter' basn."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Xahi edirik aadak qurulum siniflrindn birisini seiniz:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Sediyiniz paket qruplarnn mumi bykly tximn %d MBdr.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Bu byklkdn daha azn yklmk istsniz,\n"
-"qurmaq istdiyiniz paket faizini sein.\n"
-"100%%'i sersniz btn paketlr qurulacaqdr."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Sabit diskinizd bu paketlrin sadc olaraq %d%%'sini quracaq qdr yer "
-"var.\n"
-"Bundan daha azn qurmaq istsniz,\n"
-"daha az bir faiz sadc n vacib paketlri ;\n"
-"%d%% is qurula bilck btn paketlri quracaqdr."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Sonrak addmda daha geni bir seki qabanza glckdir."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Qurulacaq paketlrin faizi"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Paket Qrup Sekisi"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Frdi paket sekisi"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Avtomatik seili paketlri gstr"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Aac A"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Aac Qapat"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Otaq v grup sralamas arasnda gz"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Xtal paket"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Ad: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "hmiyyt: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "mumi byklk: %d / %d Mb"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr "Bu paketi se bilmzsiniz, nki qurmaq n yer atmr."
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Aadak paketlr qurulacaqdr"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Aadak paketlr sistemdn silincklr"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Bu paketi se bilmzsiniz/sistemdn xarda bilmzsnz"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Bu lazml bir paketdir, sistemdn xardla bilmz"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Bu paketi sistemdn xarda bilmzsnz. Artq qurulmudur."
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Bu paket yenilnmlidir\n"
-"Sistemdn xarmaq mvzusunda ciddisiniz?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Bu paketi sistemdn xarda bilmzsiniz. Yenilnmlidir"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Txmini olaraq hesaplanr"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Xahi edirik gzlyin, qurulum hazrlanr"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d paket"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a bk. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Qbul Et"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Rdd Et"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Cd-Romu dyidirin!\n"
-"\n"
-"\"%s\" adl Cd-Romu srcnz taxn v OLDU'ya basn.\n"
-"gr Cd-Rom linizd deyils bu Cd-Rom'dan qurmamaq n MTNA ET' basn."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Paketlr qurulurkn bir xta oldu:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Bir xta oldu"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Xahi edirik istifad n bir dil sein."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "Qurulumdan sonra istifad ed bilcyiniz baqa dillr se bilrsiniz"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Hams"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Lisenziya szlmsi"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linuks-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linuks-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linuks-Mandrake sites which are prohibited or restricted in "
-"some countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linuks-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Klaviatura"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Klaviatura quruluunu seiniz."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Btn mvcud klaviaturalarn siyahs"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Qurulum Sinifi"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Hans qurulum sinifini istyirsiniz?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Qurulum/Gncllm"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Bu bir qurulum mu, yoxsa gncllmmidir?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Tvsiy ediln"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Usta"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Gncllm"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Xahi edirik siannzn nvn sein."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Sian Qaps"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Siannzn bal olduu serial Qapy sein."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Dym emulyasiyas"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Dym 2 emulyasiyas"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Dym 3 emulyasiyas"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "PCMCIA kartlar qurulur..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "IDE qaplar qurulur"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "uyun blm taplmad"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Balama nqtlri n blmlr daranr"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Balama nqtlrini sein"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Blm cdvlinizi oxuya bilmirm, dysn biraz xarab olub:-(\n"
-"Xarab olmu bolmlri dzltmy alacam.\n"
-"Amma btn m'lumatlar itckdir.\n"
-"Baqa bir yol is DrakXin blm cdvllrini yoxlamasn "
-"passivldirmkdir.\n"
-"(xta %s)\n"
-"\n"
-"Btn blmlri itirmk istyirsiniz?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake blm cdvlini oxuma bacara bilmdi.\n"
-"znz davam ed bilrsiniz."
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Kk (root) Blmsi"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Sisteminizin kk (/) blmsi hansdr?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"Blm cvlindki dyiikliklrin daxil olmas n kompterinizi yenidn "
-"balatmalsnz."
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "killndirilck disk blmlrini sein"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Xtal bloklar snansnm?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Blmlr killndirilir"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "%s fayl yaradlr v killndirilir"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Qurulumu bitirmk n lazmi sah yoxdur, xahi edirik lav edin"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Mvcud olan paketlr axtarlr."
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Gncllnck paketlar taplr"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Sisteminizd qurulum ya da gncllm n lazmi bo yer yoxdur(%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Hams (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "n az (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Tvsiy ediln (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Xsusi"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr "Seili byklk var olandan daha bykdr"
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Aadak siyahdak btn CD'lr sahib isniz, OLDU'ya basn.\n"
-"CD'lrin he birin sahib deyilsniz, MTNA ET' basn.\n"
-"CD'lrdn b'zili ksik is, onlar seili vziyytdn xardb OLDU'ya "
-"basn."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "\"%s\" adl Cd-Rom"
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"%s paketi qurulur\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Qurulum sonras qurular"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"ndi ifrlm n istifad edilck t'minat endir bilrsiniz.\n"
-"DQQT:\n"
-"\n"
-"Bu t'minata b'zi frqli mumi ehtiyaclardan v mxtlif\n"
-"mhakm haqlarndan tr, bu t'minatn son istifadisi, qanunlarn ona "
-"bu\n"
-"t'minat internetdn endirm v saxlama haqqn verdiyindn min "
-"olmaldr.\n"
-"\n"
-"lav olaraq, mdri va/v ya son istifadi xsusil, yerldiyi mhakm "
-"yerinin\n"
-"qanunlarn eynmdiyindn min olmaldr. Mdri v/v ya son istifadi\n"
-"qanunlarn mr etdiyi rtlri pozduu zaman ciddi czalara\n"
-"m'ruz qalacaqdr.\n"
-"\n"
-"Xsusi ya da dolayl zrrlr (glir azalmas, iin pozulmas, ticari "
-"m'lumat\n"
-"itkisi v digr maddi itkilr) yol aan he bir hadisd n Mandrakesoft, n "
-"d \n"
-"istehsalatlar v/va ya qaynaq vericilri ms'ul tutulmazlar. Bu "
-"t'minat\n"
-"internetden endirirkn son istifadi bu szlmyi qbul etdiyini \n"
-"byan etmi saylr.\n"
-"\n"
-"\n"
-"Bu szlmyl laqdr hr cr sual n xahi edirik\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA\n"
-"nvanna yaznz."
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Paketleri almaq n bir ks nvan sein"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "ks nvanna balant qurulur"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Xahi edirik qurmaq istdiyiniz paketlri sein."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Sisteminiz hans mqsdl istifad edilck?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Avadanlq saatnz GMT-y gra quruludur mu?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Uzaq CUPS vericisi"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "ap Edicisiz"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Sian"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Vaxt Dilimi"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "ap Edici"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "ISDN kart"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Ss kart"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV kart"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Hans ap edici sistemini istifad etmk istyirsiniz?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Parolsuz"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "Bu parol ox saddir (en az %d xarakter boyunda olmaldr)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "NIS istifad et"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "sar shiflr"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS sahsi"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS Verici"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Xsusi bir al disketi, Linuks sisteminizin normal bir sistem yklyiciy "
-"lzm\n"
-"olmadan almasna imkan verr. g sisteminiz lilo (ya da grub) "
-"qurmayacaqsanz,\n"
-"ya da baqa bir mliyyat sistemi liloyu silrsa ya da lilo "
-"avadanlnzlailmzs\n"
-"bu disket siz yardmi olacaqdr. Sonradan Mandrake qurtarma disketi "
-"rsmini\n"
-"istifad edrk d bu disket yaradla bilr.\n"
-"Al disketi yaratmaq istyirsiniz?\n"
-"Al disketi yaratmaq istyirsinizs, birinci disket srcy disket "
-"yerldirin\n"
-"v \"OLDU\" basn."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "lk disket src"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "kinci disket src"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Nzr Alma"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Xsusi bir al disketi, Linuks sisteminizin normal bir sistem yklyiciy "
-"lzm\n"
-"olmadan almasna imkan verr. g sisteminiz lilo (ya da grub) "
-"qurmayacaqsanz,\n"
-"ya da baqa bir mliyyat sistemi liloyu silrsa ya da lilo "
-"avadanlnzlailmzs\n"
-"bu disket siz yardmi olacaqdr. Sonradan Mandrake qurtarma disketi "
-"rsmini\n"
-"istifad edrk d bu disket yaradla bilr.\n"
-"Al disketi yaratmaq istyirsiniz?\n"
-"Al disketi yaratmaq istyirsinizs, birinci disket srcydisklet "
-"yerldirin\n"
-"v \"OLDU\" basn."
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Balayn, disket src yoxdur"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Al disketi yaratmaq n istifad edilck disket srcy sein"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "%s srcsn bir disket taxn"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Al disketi yaradlr"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Al yklyici hazrlanr"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "aboot istifad etmk istyirsiniz?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"aboot qurulumunda xata, \n"
-"ilk disk blmsini yox ets bel yen d qurulmasn istyirsiniz?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Al yklyicisi qurulumu iflas etdi. Xta:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Siz Open Frmware al avadanlnz al yklyicisini\n"
-"falladrmaq n dyidirmli ola bilrsiniz. mr-Senk-O-F dymlrini\n"
-" yenidn balarkn basn v bunlar girin:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Sonra da bunlar yazn: shut-down\n"
-"Bir sonrak balancda al yklyicisi stirini grmlisiniz."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Alaq"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Orta"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Yksk"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Thlksizlik sviyysini sein"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-"Linuks krlmsi n bir dn avtomatik qurulum disketi yaratmaq "
-"istyrmisiniz?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "%s srcsn bo bir disket yerldirin"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Avtomatik qurulum disketi hazrlanr"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"B'zi blmlr bitdi.\n"
-"\n"
-"Hqiqtn d xmaq istyirsiniz?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Tbriklr, qurulu bitdi.\n"
-"Cdrom v disketi xartdqtan sonra Enter' basaraq kompterinizi \n"
-"yenidn baladn. Linuks Mandrake'nin bu buraxlndak yamaqlar haqqnda \n"
-"m'lumat almaq n http://www.linux-mandrake.com nvanndan Errata'ya "
-"baxn.\n"
-"Sisteminizin qurular haqqnda daha geni bilgiyi Linuks Mandrake \n"
-"stifadi Kitabcnda tapa bilrsiniz."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Avtomatik qurulum disketi hazrlanr"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Avtomatik qurulum disketi hazrlanmas seilrs,\n"
-"btn sabit disk m'lumat daxil edilckdir!!\n"
-"(y'ni baqa sistemi d qura bilmk n).\n"
-"\n"
-"Bu qurulumu takrar etmk isty bilrsiniz ax.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Avtomatladrlm"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Tkrarla"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Paket sekilrini saxla"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linuks-Mandrake Qurulumu %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> irli/geri | <Boluq> iartl | <F12> sonrak ekran"
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "kdesu ksikdir"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "trafl"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Xahi edirik gzlyin"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Qarqlq (%s), daha aydn yazn\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Xtal trcih, tkrar snayn\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (sas %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Sekiniz? (sas %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Sekiniz (sas %s, yoxsa `none' yazn) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "ex dili (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Almanca"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "spanca"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finc"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Franszca"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norvec"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polyakca"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Rusca"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "ngiliz (UK) klaviaturas"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Amerikan (US) klaviaturas"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Ermenic (khn) "
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Ermenic (yaz man)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Ermenic (fonetik)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azrbaycanca (latn)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azrbaycanca (kiril)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belika dili"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulqarca"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brazilya dili (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Belarusca"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "svec (Alman sras)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "svec (Fransz sras)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "ex dili (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "ex dili (Proqramclar)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Almanca (l dymlr olmasn)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Danimarka dili"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norvec)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estoniya dili"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Grc dili (\"Rus\" sras)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Grc dili (\"Latn\" sras)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Yunanca"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Macarca"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Xrvatca"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "srail"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "srail (Fonetik)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Farsca"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "zlandiya dili"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "talyanca"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Yaponca 106 dymli"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Koreya klaviaturas"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latn Amerika dili"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Makedoniya dili"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Hollandiya dili"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Litvaniya dili AZERTY (khn)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Litvanya dili AZERTY (yeni)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Litvanya dili \"number row\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Litvanya dili \"Fonetik\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polyakca (QWERTY sras)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polyakca (QWERTZ sras)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portuqalca"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Franszca (Kanada/Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Rusca (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "svec"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovenc"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovakca (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovakca (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slovakca (Proqramclar)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thai klaviatura"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Trkc (nnvi \"F\" klaviatura)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Trkc (masir \"Q\" klaviatura)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrayna dili"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Amerikan (US) klaviaturas (beynlmill)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vyetnam dili \"numeric row\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Yugoslavca (latn/kiril)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Mntiqi ciltlri birinci olaraq sil\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - Sian"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standart"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Sravi PS2 rxli Sian"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 dym"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "mumi"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "rx"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "serial"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Sravi 2 Dymli Sian"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Sravi 3 Dymli Sian"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech mouse (serial ya da khn C7 nv)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "busmouse"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 dymli"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 dymli"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "he biri"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Sianszs"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Qurtar"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Sonrak ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- vvlki"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Dorudur?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "nternet qurular"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "nternete girii indi snamaq istyirsiniz?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Balantnz snanr..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "nternet artq balsnz"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Thlksizlik sbbi il indi balant qopacaqdr."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Sisteminiz nternet bal deyil.\n"
-"Balantn yenidn quradrn"
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "bk quradrlmas"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN quradrlmas"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"nternet xidmt vericinizi sein.\n"
-"Siyahda deyils Siyahda deyil'i sein."
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Balant quradrlmas"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Xahi edirik aadaklar doldurun ya da sein"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Kart IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Kart mem (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Kart IO"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Kart IO_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Kart IO_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Sizin xsi telefon nmrniz"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "nternet xidmt vericinizin ad (msln azeronline.com)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "XM telefon nmrsi"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "XM dns 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "XM dns 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Yma modu"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Hesab Girii (istifadi ad)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Hesap Parolu"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Avropa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Avropa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Btn dnya"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Btn dnya \n"
-" D-Channel'l xaric (kiralq xtlr)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Hans protokolu istifad etmk istyirsiniz?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Hans nv kartnz var?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Bilmirm"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"ISA kartnz var is sonrak ekrandak qiymtlr doru olmaldr.\n"
-"\n"
-"PCMCIA kartnz var is kartnzn irq v ya io'sunu bilmlisiniz.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Dayandr"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Davam et"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Hanss sizin ISDN kartnzdr?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"ISDN PCI kart tapdm, amma nvn bilmirm. Xahi edirik sonrak ekrandak "
-"kartlardan birini sein."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr "He bir ISDN PCI kart taplma. Sonrak ekrandaklardan sein."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Sisteminizd he bir eternet bk adapteri tapla bilmdi.\n"
-"Bu balant klini qura bilmrm."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "bk ara zn sein"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr "nternet balanmaq n bk adapteri sein."
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "bk ara z"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Razsnz?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "bk avadanln yenidn balatmalyam:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL quradrlmas"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Balantnz alda balatmaq istyirsiniz?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Modeminizin hans serial qapya bal olduunu seiniz"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "evirmli bk senklri"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Balant ad"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefon nmrsi"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Giri ad"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Tantma"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Skript sasl"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminal sasl"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Sah(domain) ad"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Birinci DNS Vericisi (arzuya gr)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "kinci DNS Vericisi (arzuya gr)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr "$netc->{NET_DEVICE} avadanln yenidn baladacam. Razsnz?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Balantnz ks bilrsiniz. Ya da balantn yenidn d quradra "
-"bilrsiniz."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Balantnz yenidn quradra bilrsiniz."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Artq nternet balsnz."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"stsniz nternet balana bilrsiniz ya da yeniden quradra bilrsiniz."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Hl nternet bal deyilsiniz."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "nternet balant"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "nternet balantn ks"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "bk (nternet/LAN) balantnz quradrn"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "nternet balants & quradrlmas"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "bk Quradrlmas Sehirbaz"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Xarici ISDN kart"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Daxili ISDN kart"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "ISDN balantnzn nv ndir?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "nternet balan"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"ADSL il internet balanmann n yax yolu pppoe'dur.\n"
-"Bzi balantlar pptp istifad edir, ox az is dhcp ildir.\n"
-"Bilmirsiniz is 'pppop istifad et'i sein"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "dhcp istifad et"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "pppoe istifad et"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "pptpe istifad et"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "%s avadanln yenidn baladacam. Razsnz?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Hans dhcp alcsn istifad edcksiniz?\n"
-"sas dhcpcd dir"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "bk quradrlmas"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "bkni yenidn balatmaq istyirsiniz?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"bknin yenidn baladlmas srasnda xta oldu: \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"bkdn quradrmas apardnz n bkniz artq qurulmu olmaldr.\n"
-"bk/nternet balantnz yenidn quradrmaq n Oldu'ya yoxsa Lv "
-"et' basn.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"bk Quradrma Sehirbazna Xo Gldiniz\n"
-"\n"
-"nternet/bk qurularnz edcyik.\n"
-"Avtomatik tsbit istmirsiniz is iarti qaldrn.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Qurulacaq profili sein"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Avtomatik tsbit ilt"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Avadanlqlar tannr..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Normal modem tsbiti"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "%s qapsnda tapld"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN Balants"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "%s tapld"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL (v ya ADSL) balants"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "%s ara znd tapld"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Kabel balants"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "Yerli bk quradrlmas"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "eternet kart tapld"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "nternet nec balanmaq istyirsiniz?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Tbrik edirik, internet v bk quradrlmas qurtard.\n"
-"\n"
-"Qurular indi sisteminiz lav edilck."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Bu edildikdn sonra Xdn xmanz tvsiyy edirik, yoxsa\n"
-"verici ad xsartlri meydana gl bilr."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "bk kart taplmad"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "bk Qurular"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Xahi edirik kompterinizn adn girin.\n"
-"Msln``kompterad.sahad.com''.\n"
-"g bk keidi istifad edirsinizs bunun da IP nmrsini girmlisiniz."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Ev sahibi ad"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"DQQT: Bu avadanlq daha vvl ntenet balanmaq n qurulmudur.\n"
-"Avadanln qurularn dyidirmak istmirsiniz is,\n"
-"OLDU ya basn.\n"
-"Aadak girilri dzltmniz zn vvlki qurularn stn yazacaqdr."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr "Xahi edirik bu kompter n IP qurularn girin"
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "%s bk avadanl qurulur"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (src $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP nvan"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Netmask"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Avtomatladrlm IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP nvan 1.2.3.4 klind olmaldr"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Xahi edirik kompterinizn adn girin.\n"
-"Msln``kompterad.sahad.com''.\n"
-"gr bk keidi istifad edirsinizs bunun da IP nmrsini girmlisiniz."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS verici"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Keit"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Keit avadanl"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Vkil vericilr quradrlmas"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP vkil verici"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP vkil verici"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Vkil verici http://... klind olmaldr."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Vkil verici ftp://... olmaldr."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Bu platformda genildilmi blmlr dstklnmir"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Blm cdvlinizd bir boluq var, amma o da ildil bilmz.\n"
-"Bu boluu, birinci blmnizi en yaxnndak genildilmi blmy "
-"dayaraq\n"
-"mslni hll ed bilrsiniz."
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "%s fayl oxunurkan xta oldu"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "%s faylndan qurtarlda xta: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Xtal yedklm fayl"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "%s faylna yazarkn xta oldu"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"B'zn srcnzd pis eylr ola bilr.\n"
-"Datann btvly yoxlamas bacarlmad. \n"
-"Bu o demekdir ki disk yazlan hr ey tsadfi olacaqdr"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "alnmal"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "vacib"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "la"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "gzl"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "blk"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Yerli ap Edici"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Uzaq ap Edici"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Uzaq ap edici vericisi(lpd)"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "bk ap Edicisi (soket) "
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "ap Edici avadanl URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Qaplar sna"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "\"%s\" modelind bir ap edici tapld:"
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Yerli ap Edici Avadanl"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"ap ediciniz hans avadanla baldr? \n"
-"(/dev/lp0, LPT1'nin qarldr)\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "ap Edici Avadanl"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Uzaq ap Edici (lpd) Senklri"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Uzaqdak bir lpd ap edici nvbsini istifad etmk n, \n"
-"ap edicinin bal olduu ap edici vericisinin adn v nvb \n"
-"adnn vermlisiniz."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Uzaqdak ev sahibi ad"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Uzaqdak nvb ad"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) ap Edici Senklri"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Bir SMB ap edicidn yekun almaq n, SMB kompter ad, ap edici "
-"vericisinin\n"
-"IP nvan, ap edicinin payladrma ad, ilm grupu, istifadi ad v \n"
-"parol verilmlidir."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB verici ad"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "SMB verici IP"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Payladrma ad"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr " qrupu"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "NetWare ap Edici Qurular"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"NetWare ap edicidn yekun almaq n, NetWare vericisinin ad v ap "
-"edici \n"
-"nvbsi ad il istifadi ad va parolu verilmlidir."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "ap Edici Vericisi"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "ap Edici Nvb Ad"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Soket ap Edici Qurular"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Soket ap edicidn yekun almaq n, ap edicinin ev sahibi adn ve "
-"mmkns, qapsnn nmrsini vermlisiniz."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "ap Edici Ev sahibi"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Qap"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "CUPS il ap ediciy yetimk n URIni vermlisiniz"
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "N cr bir ap ediciniz var?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "ap edicini snamaq istyirsiniz?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Snaq shifsi ap edilir..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Snaq shifsi ap edici vasitsin gndrildi.\n"
-"ap edicinin ilmsi n bir az vaxt ker.\n"
-"ap vziyyti:\n"
-"%s\n"
-"\n"
-"Dz m ilyir?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Snaq shifsi ap edici vasitsin gndrildi.\n"
-"ap edicinin ilmsi n bir az vaxt ker.\n"
-"Dz m ilyir?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Bli, ASCII snaq shifsi ap et"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Bli, PostScript snaq shifsi ap et"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Bli, hr iki snaq shifsini d ap et"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "ap Edicini Qur"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "ap edici senklri"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Kaz Bykly"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr " bittikdn sonra shif atlsn m?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Uniprint src senklri"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Rng drinlik senklri"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Mtni PostScript olaraq yazdrsn m?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Mtn pillli olaraq dzldilsin mi?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Hr yekun shifsinin nmrsi"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Sa/Sol boluqlar nqtvi(inch'in 1/72'si"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "st/Alt boluqlar nqtvi (inch'in 1/72'si)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "lav GhostScript senklri"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "lav mtn senklri"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Trs shif sralamas"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Bir ap edici qurmaq istyirsiniz?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Aada yazdak nvblr verilmidir.\n"
-"Yenilrini lav ed bilr, v ya mvcud olanlar dyidir bilrsiniz."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS balayr"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "CUPS src datas oxunur..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "ap Edici Balants Sein"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "ap ediciniz n kild baldr?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "ap Edici Balants Sein"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Uzaq CUPS vericilri n he bir quradrmaa lzm yoxdur\n"
-"Buradak hr ap edici avtomatik taplacaqdr.\n"
-"Olmazsa \"Uzaq CUPS vericisi\" ni sein."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Uzaq CUPS vericilri n he bir quradrmaya lzm yoxdur \n"
-"Buradak hr ap edici avtomatik taplacaqdr. \n"
-"gr uzaq ap edici vericiniz var ise CUPS vercisinin \n"
-"IP nvann vermlisiniz. Qap nmrsi vacib \n"
-"deyil."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "CUPS verici IP"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Qap nmrsi rqml yazlmaldr"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Nvbni sil"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr "ap edici ad tkc hrf, rqm v alt xtt daxil ed bilr"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Hr ap edicinin bir ad olmaldr (msln lp).\n"
-"ap edicinin tsviri v yeri d gstrilmlidir.\n"
-"Bu ap edicinin ad ndir v yeri haradadr?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "ap edici ad"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "zah"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Yeri"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Hr ap edici nvbsinin (ap edici ilrinin yolland yer) bir ad olar \n"
-"(oxunda lp) v gzlm qovluuna ehtiyac duyar. Bu nvb n\n"
-"hans ad v qovluq istifad edilsin?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Nvbnin ad"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Gzlm qovluu"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "ap Edici Balants"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "killndirilmi RAID md%d-y disk blmsi lav edil bilinmdi"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "$file faylna yazla bilinmdi"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid iflas etdi"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid iflas etdi (raidtools ksik ola bilr mi?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "%d sviyy RAID n atmayan sayda disk blmsi\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "ALSA ss sistemini (Advanced Linux Sound Architecture) balat"
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anakron, periodik mr zamanlaycs"
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd batareya vziyytini izlmk n v syslog araclyla bunun qeydini "
-"tutmaq n istifad edilir.\n"
-"Ayrca batareya azaldnda sistemi qapatmaq n d istifad edilir."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"at mri, zamanlanan mrlri ilmlri lazm gln vaxtda ildir.\n"
-"Sistem yk lazmi qdr alaq olduunda yma mrlri ildilir."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron, istifadilr xsusi mrlri periodik olaraq i sala biln\n"
-"standart bir UNIX proqramdr. vixie cron, standart cron'a lav edilmi bir "
-"ox\n"
-"yeni xsusiyyt daxildir."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM, Midnight Commander kimi mtn sasl t'minatlara sian dstyi lav "
-"edr.\n"
-"Ayrca konsolda sianla ksm v yapdrma mliyyatlarna da imkan verr.\n"
-"Konsolda pop-up menyu dstyi verr."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-"HardDrake texniki t'minat sna aparar v onlar bir n quradrmadan "
-"keirr."
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache bir World Wide Web vericisidir. HTML fayllar v CGI verilmsi n "
-"istifad edilir."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Internet superserver daemon (qsaca inetd ) bir ox \n"
-"baqa internet xidmtcisini lazm gldiyi zaman ia salr. ind telnet, "
-"ftp, rsh v rlogin kimi proqramn olduu xidmtlri i salmaqla ms'uldur.\n"
-"inetd-ni sistemden xarmaq, onun ms'ul olduu btn xidmtlri\n"
-"rdd etmk mnasn dayr."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-"Linuks 2.2 seriyas kirdklrind firewall\n"
-"qurmaq n n paket szlmsini balat."
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Bu paket /etc/sysconfig/keyboard'dak seili klaviatura dzln yklr.\n"
-"Hans klaviatura dzl istifad edilcyi kbdconfig il seilir.\n"
-"Bu, mandrake qurulan bir ox kompterd fal buraxlmaldr."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-"/usr/include/linux/{autoconf,version}.h n \n"
-"/boot-da avtomatik kirdk bal yaradlmas."
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr "Texniki avadanln alda avtomatik tsbiti v qurulmas."
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-"Linuxconf sistem qurularnz idar edn proqramlar\n"
-"mxtlif vziflri alda icra edr."
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd, lpr'nin dzgn olaraq ilmsi n lazmi ap edici vasitsidir.\n"
-"lpd sasn, ap vziflrini idar edn v onlar ap ediciy gndrn "
-"vericidir."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-"Linuks Virtual Verici, yksk qabiliyytli vericilr qurmaq n ildilir."
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) verici adlarn IP nvanlarna evirn\n"
-"Sah Ad Vericisidir(DNS)."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Btn bk Fayl Sistemlrini (NFS), SMB (Lan Manager/Windows), v \n"
-"NCP (NetWare) balama nqtlrini balar v ayrr."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Al srasnda balamaq n qurulmu btn bk axtar zlrini "
-"falladrr ya da qapatr."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS TCP/IP bklrind fayl bllmsi n istifad ediln mhur bir "
-"protokoldur.\n"
-"Bu xidmt, /etc/exports faylnda qurular olan NFS vericisinin\n"
-"istifadsin imkan verr."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS TCP/IP bklrind fayl bllmsi n istifad ediln mhur bir \n"
-"protokoldur. Bu xidmt NFS fayl qfl istifadsin imkan verr."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"Alda XFree v konsolda numlock dymsini\n"
-"avtomatik olaraq a."
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "OKI 4w v uyun Windows ap edicilrini dstkl."
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA dstyi, laptoplarda eternet v modem kimi avadanlqlarn "
-"dstklnmsin imkan verr.\n"
-"Qurulmad vaxtda alda ilmz, ilmsin ehtiyac olmayan\n"
-"kompterlrd qurulu olmas problem yaratmaz."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"portmapper, NFS ve NIS kimi protokollar trfindn istifad ediln RPC \n"
-"balantlarn tkilatlandrr. Portmap vericisi RPC mexanizmini ildn\n"
-"protokollarla xidmt edn kompterlrd qurulmaldr v ildilmlidir."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Posfix, elektronik mktublarn bir kompterdn digrin yollayan \n"
-"Elektronik Mktub Yollama Vasitsidir."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Yksk keyfiyyt tsadfi rqm istehsal edn sistem entropi hovuzunun \n"
-"saxlanmas v yenidn khn halna gtirilmsin imkan verr."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"routed vasitsi avtomatik IP router cdvlinin RIP protokolu trfindn\n"
-"yenilnmsin imkan verr. RIP sasn kiik bklrd istifad edilir, "
-"daha byk\n"
-"bklrd daha qarq routing protokollarna ehtiyac vardr."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"rstat protokolu bir bkdk istifadilrin o bkdk hr hans bir\n"
-"kompter haqqndak qabiliyyt llri ala bilmlrin imkan verr."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"rusers protokolu bir bkdk istifadilrin o bkdk kompterlrd\n"
-"ilyn istifadilri grmsin imkan verr."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"rwho protokolu, uzaq istifadilrin, rwho vasitsi ildn bir kompterd\n"
-"olan btn istifadilri grmlrina imkan verr."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr "Kompterinizd ss sistem baladn"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog, bir ox vasitnin ismarclarn mxtlif sistem qeydlrind\n"
-"tutmalarna imkan verr. Syslog'un hr zaman ilmsi\n"
-"yax fikirdir."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr "USB avadanlnz n srclri yklyin."
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-"X Font Vericisini alda i salar (Bu, XFree icras n mcburidir)."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Alda avtomatik olaraq balayacaq xidmtlri sein"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "ilmir"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "dayandrlb"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Xidmtlr v vasitlr"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Bu xidmt haqqnda tsf ki,\n"
-"lav m'lumat yoxdur."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Alda"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Blm cdvlini oxuya bilmirm, dysn biraz xarab olub:-(\n"
-"Xsrli hisslri dzltmy chd edcm"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "nternet Balants Bldrlmsi"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "nternet Balants Bldrlmsi falladrld"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"nternet Balants Bldrlmsi qurulmas artq bitdi.\n"
-"V artq falladrlmdr.\n"
-"\n"
-"N etmk istyirsiniz?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "passivldir"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "ke"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "yenidn quradr"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Vericilr balanr..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "nternet Balants Bldrlmsi indi baland"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "nternet Balants Bldrlmsi passivldirildi"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"nternet Balants Bldrlmsi qurulmas artq bitdi.\n"
-"V artq passivldirilmidir.\n"
-"\n"
-"N etmk istyirsiniz?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "falladr"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Xidmtlr falladrlr..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "nternet Balants Bldrlmsi indi ald"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Quradrma faylnn iindkilrl oynanlmaz"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Tannmaz quradrma fayl"
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Kompternzi nternet balantsn bldrmk n quradrrsnz.\n"
-"Bu senkl yerli bknizdki baqa kompterlr sizin nternet "
-"balantnzdan faydalana bilcklr.\n"
-"\n"
-"Xbdarlq: Yerli bk (LAN) qurmaq n uyun bk Adapterin "
-"ehtiyacnz var."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Ara z %s (%s modulu ildilir)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Ara z %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Siseminizd bk adapteri yoxdur!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Sisteminizd bk kart tapla bilmyib.Avadanl quran vasitni i "
-"saln."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Sistemnizd bir dn qurulmu bk adapteri var:\n"
-"\n"
-"%s\n"
-"\n"
-"Yerli bk adapterinizi qurmaq zrym?"
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr "Sizi Yerli bky balayacaq adapteri sein"
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr "Diqqt, bk adapteriniz onsuz da qurulub. Yenidn quracam."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr "$_ quusunda dysn bir LAN nvan axmas tapld!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Oddan divar (Firewall) quruluu tapld!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Diqqt! Var olan Firewall qurusu tapld. Yklmdn sonra bir az l "
-"gzdir bilrsiniz."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Quradrlr..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Skriptl qurulur, proqram t'minat qurulur, xidmtlr baladlr..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "$_ paketi qurulurkn xta oldu"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Tbriklr!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Hr ey quruldu.\n"
-"ndi is nternet balantnz yerli bkdk baqa kompterlr il "
-"bldr bilrsiniz, bunun n is avtomatik bk quradrlmas (DHCP) "
-"ildilir."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "Quradrma artq qurtarbdr, amma faliyyti dayandrlb."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Quradrma artq qurtarbdr v faliyytddir."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "nternet Balants Bldrm Quradrmas aparlmayb."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "nternet balants bldrlmsi quradrlmas"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"nternet Balants Bldrm vasitsin Xo Gldiniz!\n"
-"\n"
-"%s\n"
-"\n"
-"Quradrma sehirbazn amaq n Quradra tqlayn."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "bk quradrlmas (%d adapter)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Profili sil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Silinck profil:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Yeni profil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Yaradlacaq profil ad:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Ev sahibi ad:"
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "nternet imkan"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Nv: "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Keit:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Ara z"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Hal:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Baland"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Bal deyil"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Balan..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Balantn Ks..."
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr "Balantnz baladlr..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Balantnz ksilir..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Balant ksildi. Buna ll kkd\n"
-"/etc/sysconfig/bk-scripts/net_cnx_down\n"
-"mrini icra edrk nail ola bilrsiniz."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Sistem indi balantsn ksib."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "nternet keiini Qur..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "Yerli bk quradrlmas"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adapter"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Src"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Ara z"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokol"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Yerli bkni Quradr..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Normal Mod"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "lav Et"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Ltdn Gzlyin... Qurular lav edilir"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-"Qurulu ara znz yoxdure.\n"
-"vvlc onlar 'Quradr'a basaraq qurun"
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "Yerli bk Quradrlmas"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "%s Adapteri: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Al Protokolu"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Alda baladlr"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP alcs"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Bala"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "A"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-"He nternet balantnz yoxdur.\n"
-"vvlc onlar 'Quradr'a basaraq qurun"
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "nternet balants quradrlmas"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "nternet Balants Quradrlmas"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Balant nv:"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parametrlr"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "Dns xidmtcisi 1 (arzuya gr)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "Dns xidmtcisi 2 (arzuya gr)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Eternet Kart"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP Alcs"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Krakerlr xoglmisiniz"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Zif"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "bhci"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Bu sviyy RAID'i diqqtli istifadnizi tvsiy edirik. Sisteminiz daha "
-"asand\n"
-"ildilck, ancaq xtalara qar da hssaiyyti d artacaqdr. nternet \n"
-"bal isniz bunu tvsiy etmirik. Parol il girilir."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Parollar falladrld, yen d bir bk stnd istifad edilmmsi "
-"tvsiy edilir."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Bu thlksizlik sviyysi n lav olaraq artrlm thlksizlik "
-"xbrdarl v \n"
-"yoxlama var."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"nternet bal bir kompter n standart v tvsiy ediln bir "
-"thlksizlik sviyysidir."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Bu thlksizlik sviyysiyl sistemin bir verici olaraq istifadsi "
-"mmkndr. \n"
-"Thlksizlik, birdn ox alcnn balanmasna icaz verck kild "
-"artrlmdr. "
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Biz drdnc sviyy haqlarn verdik v sistem xarici balantlara qar "
-"tamamil qapaldr.\n"
-"Thlksizlik sviyysi indi n stddir."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Thlksizlik sviyysinin quradrlmas"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "dar Mrkzi"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "stifad edcyiniz vasitni sein"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "istifad qaydas: keyboarddrake [--expert] [klavatura]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Konsolda BackSpace'in Silm funksyasn grmyini istyirmisiniz?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Cd-Romu dyidir"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Qurma Cd-Romunu srcnz taxn v OLDUya basn.\n"
-"gr Cd-Rom linizd yox is, bu Cd-Rom-dan qurmamaq n RDD ET basn."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Tkmilldirm ii balaya bilmir !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "serial_USB avadanl taplmad\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "3 dym emulasiyas"
-
-#: ../../standalone/mousedrake_.c:131
-msgid "Test the mouse here."
-msgstr "Siannz buradan snayn."
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "bk Monitoru"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Statistikalar"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Yollama Sr'ti:"
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Alam Sr'ti:"
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Qapat"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "nternet balanlr"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "nternet il balantn ks"
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "nternet il balant ksilmsi bacarlmad."
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "nternet il balant ksilmsi qurtard."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Balant qurtard."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"Balant iflas etdi.\n"
-"Qurularnz Mandrake dar Mrkzindn yoxlayn."
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "yolland:"
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "alnd:"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Balan"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Balantn ks"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Firewall quradrlmas"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Firewall quradrlmas"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Firewall\n"
-"\n"
-"Firewall qurularn artq qurtarmsnz.\n"
-"Qur-a tqlayaraq firewall qurularn silin ya da tkmilldirin."
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Firewall\n"
-"\n"
-"Qur-a tqlayaraq standart firewall qurularn aparn."
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"tinyfirewall configurator\n"
-"\n"
-"Bu, Linuks Mandrake sisteminiz n xsi bir firewall quradracaqdr.\n"
-"Daha gcl v e'tibarl sistem n xahi edirik xsusi MandrakeSecurity "
-"Firewall\n"
-"buraxln tdqiq edin."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"ndi is internet balanrkn istifad etmyi arzuladnz xidmtlri\n"
-"soruacaq. Bu suallara xahi edirik diqqtl cavab verin, nk "
-"kompterinizin \n"
-"thlksizliyi ox vacib msldir.\n"
-"\n"
-"Xahi edirik, bu xidmtlrdn istifad etmdiklriniz yax qrar verin ki, "
-"firewall\n"
-"onu balasn. Sonradan bu qurular znz proqram yenidn i salaraq "
-"dyidir bilrsiniz.!"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Sisteminizd btn nternet gstrmk istdiyiniz veb vericisi "
-"ildirsiniz? \n"
-"Tkc bu kompterin grcyi bir veb vericisi olacaqsa burada YOX cavasb "
-"ver bilrsiniz.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Bu kompterd ad vericisi ildirsiniz? gr internet balanrkn bir IP "
-"nvan v\n"
-"nahiy m'lumat almrsnzsa YOX cavab verin.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Gln E'tibarl Qabq (ssh) balantlarna icaz vermk istyiriniz? Bu, "
-"bir\n"
-"cr telnet vzidir. ndi telnet ildirsinizs onda \"ssh\"y "
-"kemlisiniz. \n"
-"Telnet kodlama iltmir, ona gr db'zi hkerlr parolunuzu ourlaya "
-"bilr. \n"
-"ssh bunlara icaz vermz."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Gln telnet balantlarna icaz verim?\n"
-"Bu ox e'tibarszdr. Bunu siz vvlki ekranda syldik. Buna \n"
-"yox cavab vermyinizi tvsiyy edirik. Yerin ssh ildin.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"nternetdn yetiil biln bir FTP vericisi ildirsiniz? gr "
-"ildirsinizs,\n"
-"tkc Anonim krmlr n olmasn tvsiyy edrik. FTP il gndriln\n"
-"parollar hkerlr trfindn ourlana bilr. FTP parollar kodlaya bilmir "
-"ax.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Burada mktub vericisi ildirsiniz? gr ismarclarnz pine\n"
-"mutt v ya baqa mtn sasl mktub alcsndan gndrirsinizs,\n"
-"demk ki, ildirsiniz. Yoxsa firewall bunu balamaldr.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Burada POP v ya IMAP vericisi ildirsiniz? Bu is\n"
-"kompterd veb sasl olmayan mktub hesablar qurmaq n lazmdr.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Dysn 2.2 kirdk ildirsiniz. gr kompterinizin\n"
-"IPsi baqa bir kompter trfindn dinamik olaraq verilirs,\n"
-"onda buna icaz vermk olar. Beledir?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Kompterinizin vaxt baqa bir kompterl sinxronladrr?\n"
-"Bu, daha ox orta v geni Unix/Linuks irktlri trfindn ildilir.\n"
-"gr bir irktin bir paras deyilsinizs, demk ki, iltmirsiniz."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Qurulum qurtarld. Dyiikliklri disk yazm?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "%s ala bilmir: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Yazmaq n %s ala bilmir: %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "SSH daxil bir ox protokollarn alclar"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Tcrbi"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Masa st"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Verici, Firewall/Ruter"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "xsi M'lumat darisi"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedya - Qrafika"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "nternet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "bk Kompteri (alc)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-"Ss il laqdr vasitlr: mp3 v ya midi allar, qardrlar, vs."
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "nternet stansiyas"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr " Yeri"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimedya stansiyas"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Elektronik mktub v xbr oxuyucusu (pine, mutt, tin..) v Web syyahlar"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "C v C++ inkiaf kitabxanalar, proqramlar v daxil edilck fayllar"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Domeyn Ad b bk M'lumat Vericisi"
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "xsi maliyy idarilri, msln gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "PostgreSQL v ya MySQL databeyz vericisi"
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS vericisi, SMB vericisi, SSH vericisi, Vkil Verici"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Sndlr"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, vs."
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Vasitlr"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Qrafiki Ara z"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedya - Ss"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Mzli proqramlar: arkad, lvh oyunlar, strategiya, vs"
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Video allar v editorlar"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Konsol Vasitlri"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Ss v video alnmas/dzli proqramlar"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Elmi i stansiyas"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editorlar, rflr, fayl vasitlri, terminallar"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Linuks v pulsuz proqram t'minatlar Kitablar v Howtolar"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"stifadi dostu proqram v masa st il brabr qrafiki ara z vasitlri"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr "Postfix mktub vericisi, Inn xbr vericisi"
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Oyunlar"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedya - Video"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "bk Kompteri vericisi"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Qrafika proqramlar, msln The Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr " Yeri Stansiyas"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr "KDE, sas qrafiki ara z v yardmi proqramlar kolleksiyas"
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Baqa qrafiki ara zlr (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "CD yazmaq v yandrmaq proqramlar"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedya - CD Yandrma"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Arxivlm, emulyatorlar, izlm"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Databeyz"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"dar proqramlar: klm ilynlr (kword, abiword), hesablayclar v pdf "
-"gstricilri, vs."
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Verici, Veb/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Verici"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "xsi Maliyy"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Quradrma"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE i stansiyas"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Baqa qrafiki ara zlr"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache v Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Verici, ePot/Groupware/Xbrlr"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome i stansiyas"
-
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr "nternet kei"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Palm Pilot v ya Visorunuz n vasitlr"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Oyun stansiyas"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, IceWM, Windows Maker, Enlightement, Fvwm, vs."
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Kompter qurularn asandladran vasitlr"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr "Mktub, xbrlr, fayl danmas, chat vasitlri"
diff --git a/perl-install/share/po/be.po b/perl-install/share/po/be.po
deleted file mode 100644
index 66e241c59..000000000
--- a/perl-install/share/po/be.po
+++ /dev/null
@@ -1,9120 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) 1999 MandrakeSoft.
-# Alexander Bokovoy <ab@avilink.net>, 2000
-# Maryia Davidouskaia <maryia@scientist.com>, 2000
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-09-24 12:30 +0100\n"
-"Last-Translator: Alexander Bokovoy <ab@avilink.net>\n"
-"Language-Team: be\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=windows-1251\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, fuzzy, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "i "
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr " i"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "i"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr " i"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr " X "
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X "
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr " XFree86 %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr " i XFree ?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-" 3D- XFree %s.\n"
-"XFree %s 2D- ."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-" i 3D-, i i XFree %"
-"s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s 3D-"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-" i 3D-, i i XFree %"
-"s.\n"
-" , I I \n"
-"I '."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s 3D-"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-" i 3D-, i i XFree %"
-"s.\n"
-" , I I \n"
-"I '. i i XFree %s, i\n"
-" i 2D-."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr " XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr " ii"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr " i "
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr " i"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "i"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-" - i, i\n"
-" , -\n"
-" iii i, i \n"
-" .\n"
-"\n"
-"I , i i iii, \n"
-" i i: i \n"
-" i.\n"
-"i , i."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr " i"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr " i"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "i "
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "i i"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "i i i?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ": i i "
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr " i"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-" i "
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr ":"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr " %d "
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr " i?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr " , i "
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr " i ii "
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "i: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr " XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr " i: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr ": %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "i: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr " .. i: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr " .. i: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "i: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "i: %s \n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr " ii : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr " XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr " XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr " i X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr " i?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "i i"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "i i"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "i i "
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "i "
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "I"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"ֳ ?\n"
-" :\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "i , i %s i "
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "i , i, Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr " X i"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-" i i X i.\n"
-", X ?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 (8 i)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 (15 i)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 (16 i)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 i (24 i)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 ii (24 i)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 "
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 "
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 "
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 "
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 "
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 "
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 i "
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr " VGA, 640x480 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr " 8514, 1024x768 87 Hz ( 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 i 87 Hz , 800x600 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Extended Super VGA, 800x600 60 Hz, 640x480 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr " SVGA, 1024x768 60 Hz, 800x600 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr " SVGA, 1024x768 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr ", i i 1280x1024 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr ", i i 1280x1024 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr ", i i 1280x1024 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "i, i i 1600x1200 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "i, i i 1600x1200 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr " "
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr " (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr " SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr " ?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr " LILO/GRUB"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr " i "
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-#, fuzzy
-msgid "Bootloader to use"
-msgstr " i "
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr " "
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr " "
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA ( i BIOS)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr ""
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "i-"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr " "
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr ""
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr " "
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr " "
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr ""
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr " /tmp "
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr " RAM ( %d M)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr " i"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr " RAM M"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-" `` '' "
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr " "
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "i "
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-#, fuzzy
-msgid "Default OS?"
-msgstr " "
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-" .\n"
-" , i i."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr ""
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "i RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "i ?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "I (SunOS,...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "I (MacOS,...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "I (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr ""
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr ""
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "-i"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "i"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr ""
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr ""
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr " "
-
-#: ../../any.pm_.c:284
-#, fuzzy
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "i i"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr " "
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr " "
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr "i i ?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr " %s %s i"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "i i?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "i %s i?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr ""
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr ""
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr ". i "
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr " %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "( %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "i %s ?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-" %s i,\n"
-" . i \n"
-" i, i i i \n"
-" ii? , i \n"
-" ', i ."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr " "
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr " i %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-" i %s.\n"
-"i - ``i= i2=2 ...''.\n"
-", ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "i :"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-" %s .\n"
-" ii i?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "( %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr " "
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "i , i i i"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"I i i i i ii i, \n"
-"i, `-' i `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr " i i "
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr " i"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"i i i\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr " i"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr " i"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "I i:"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr ":"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "i"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr " i"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-" i i i \n"
-" i. i , ii \"\"."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr " i:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr " :"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Welcome to GRUB the operating system chooser!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Use the %c and %c keys for selecting which entry is highlighted."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Press enter to boot the selected OS, 'e' to edit the"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "commands before booting, or 'c' for a command-line."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "The highlighted entry will be booted automatically in %d seconds."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr " /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr " "
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr " "
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr " "
-
-#: ../../bootlook.pm_.c:79
-#, fuzzy
-msgid "/_File"
-msgstr ":\n"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr ""
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr " X Window"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr " I-"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr " "
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "i"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "i i"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr " "
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr " "
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr " LILO . i :"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "i"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "i"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr " i"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "i /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "i "
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-" i , i i i "
-"(extended)"
-
-#: ../../diskdrake.pm_.c:61
-#, fuzzy
-msgid "Not enough space for auto-allocating"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "i i "
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr " i:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "i"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-" i i ii FAT\n"
-"( MS Dos/Windows).\n"
-", -, i \n"
-"(ii , \" \")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "-, i i "
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr " i!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"i boot , i \n"
-" 2048 "
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr " i. i"
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr " i:"
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr ":"
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "i DOS-: %s ()\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "I: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr ": %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr ": %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s "
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "i %d %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr " \n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "i\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "() i i: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-" \n"
-" ( i MS-DOS, lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr " %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr " %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-i %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "I i i: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr ": %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr ": %s i, %s , %s \n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-i %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr " i : %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr " %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "i"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr " RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "i RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "i RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr " LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "i LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr " i i"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-", /boot ( i > 1024).\n"
-" LILO - , LILO "
-", /boot ."
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-" i (/) ii i \n"
-"1024- i , /boot .\n"
-"i i LILO, \n"
-" /boot"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-" i RAID .\n"
-" , i i /boot .\n"
-" /boot, i ."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr " ``%s'' "
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr " i ``Unmount''"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr " %s "
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr " ?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "i "
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "i i i "
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "i "
-
-#: ../../diskdrake.pm_.c:517
-#, fuzzy
-msgid "Which filesystem do you want?"
-msgstr " i ?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr " i , i 32 "
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr " i i %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr " i %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-" i, \n"
-"i i.\n"
-" i i i"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr " %s "
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr " i %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr " %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr " i ,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr " i ?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr " i ?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr " ..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "i %s i !"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr " i ii , i"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr " i FAT"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:643
-#, fuzzy
-msgid "This partition is not resizeable"
-msgstr " i?"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr " i i"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr " %s "
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr " :"
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr " :"
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr " i:"
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr " i i"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "i i (loopback)"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "I i "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-" i i i. i , \n"
-" i "
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr " i. ?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"i i \n"
-" ?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "!"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-" \n"
-" "
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr " i "
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr " i RAID "
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr " i LVM "
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "i "
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr " i "
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "i"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s %s"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr " %s %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr " i: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr " i %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr ""
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr ""
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr " i i /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr " i %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "i %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr " "
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-" i i (ext2, reiserfs)\n"
-" i i\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr " %s i: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-": i \n"
-". i ."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr " i ii !"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-" 糳, .\n"
-"\n"
-"\n"
-" , \"\", 糳.\n"
-"\n"
-"\n"
-" , \"\", 糳."
-" \n"
-" ."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr " i i"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-" \n"
-"( , ), \n"
-" . \"\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-" , \"븢\" "
-"Linux-Mandrake\n"
-" .\n"
-"\n"
-"\n"
-" GNU/Linux, "
-", 븢 \n"
-" Linux-Mandrake:\n"
-"\n"
-"\t* : , 븢GNU/"
-"Linux. ,\n"
-"\t .\n"
-"\n"
-"\n"
-"\t* : GNU/Linux, "
-" \n"
-"\t , , . "
-" \n"
-"\t \"\", , GNU/Linux, "
-" .\n"
-"\n"
-"\n"
-"\t* : , GNU/"
-"Linux. \n"
-"\t \"\", "
-" , ,\n"
-"\t . , "
-". \n"
-"\t . "
-" , GNU/Linux.\n"
-"\t , , ."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-": \n"
-"\n"
-" - : , i i \n"
-" GNU/Linux, i i \n"
-" i '. i i "
-".\n"
-"\n"
-"\n"
-" - : , GNU/"
-"Linux\n"
-" i i . i \n"
-" \" \" i \n"
-" .\n"
-" i , I , I ݡ, I "
-"I!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-" , \n"
-" Linux-Mandrake. \n"
-" \n"
-" , . ,\n"
-" \n"
-" Linux-Mandrake.\n"
-"\n"
-" , \n"
-" , . \n"
-" . , \n"
-", .\n"
-"\n"
-" , , . \n"
-", (Swap - ).\n"
-"\n"
-" ( \n"
-" ), , \n"
-" .\n"
-"\n"
-"\n"
-" , . \n"
-", , . \n"
-" , :\n"
-"\n"
-"\t* : .\n"
-" . ,\n"
-" .\n"
-"\n"
-"\n"
-"\t* : , "
-" \n"
-"\t Linux-Mandrake. "
-", .\n"
-"\n"
-"\n"
-"\t* Windows: MicrosoftWindows "
-" \n"
-"\t , "
-" Linux\n"
-"\t , Windows (."
-"\" \" \n"
-"\t \" \") Windows "
-" \n"
-"\t . , "
-" Linux-Mandrake \n"
-"\t Microsoft Windows '.\n"
-"\n"
-"\t , , , , "
-" \n"
-"\t Microsoft Windows .\n"
-"\n"
-"\n"
-"\t* : , "
-" .\n"
-"\t . "
-", \n"
-"\t . "
-" ."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-" Linux, ,\n"
-" . "
-"\n"
-" , . \n"
-" , , (\"/\"). \n"
-" , \n"
-" . "
-"\n"
-" , \"/home\".\n"
-"\n"
-" \"\", \"\".\n"
-"\n"
-"\n"
-"\"\" - \" \", \" \", \" \" \n"
-"(, \"hda1\").\n"
-"\n"
-"\n"
-"\" \" \"hd\", IDE, \"sd\" SCSI.\n"
-" * \"\" \"master\" IDE \n"
-" * \"b\" \"slave\" IDE\n"
-" * \"c\" \"master\" IDE\n"
-" * \"d\" \"slave\" IDE\n"
-"\n"
-"\n"
-" SCSI - \"a\" \" \", \"b\" - \" "
-" \", .."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-" \n"
-" Linux-Mandrake. , "
-"\n"
-" ."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-" \"\", \n"
-" . , \n"
-"\n"
-" , Windows\n"
-"\n"
-"\n"
-" \"\" "
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-" \n"
-"Windows. , , , "
-"\n"
-" Linux-Mandrake.\n"
-"\n"
-"\n"
-" i, : \"Linux \", \"Windows\n"
-"\" \"C\".\n"
-"\"Linux \" - \" \", \" \",\" "
-"\n"
-"(, \"hda1\").\n"
-"\n"
-"\n"
-"\" \" \"hd\", IDE, \"sd\" SCSI.\n"
-"\n"
-"\" \" - \"hd\" \"sd\". IDE :\n"
-" * \"\" \"master\" IDE \n"
-" * \"b\" \"slave\" IDE\n"
-" * \"c\" \"master\" IDE\n"
-" * \"d\" \"slave\" IDE\n"
-"\n"
-"\n"
-" SCSI - \"a\" \" \", \"b\" - \" "
-" \", ..\n"
-"\n"
-"\"Windows \" Windows ( \n"
-" \"C:\")."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr " , . ."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-" , \n"
-" ( - ).\n"
-"\n"
-"\n"
-" , , \n"
-" . , "
-"\n"
-" .\n"
-"\n"
-"\n"
-", . \n"
-" , ( \"/"
-"\",\n"
-"\"/usr\" \"/var\"), , "
-"\n"
-", ( /home).\n"
-"\n"
-"\n"
-" , , , \n"
-" .\n"
-"\n"
-"\n"
-" \"\" .\n"
-"\n"
-"\n"
-" \"\" "
-"\n"
-" Linux-Mandrake."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-" , \n"
-".\n"
-"\n"
-"\n"
-" , \n"
-" .\n"
-"\n"
-"\n"
-" , \n"
-"\"\".\n"
-"\n"
-"\n"
-" , \n"
-" \" \". , , \n"
-" ,\n"
-" ."
-
-#: ../../help.pm_.c:364
-#, fuzzy
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"i CD i i i, ii .\n"
-"i i CD , ii i.\n"
-"i CD , i i i ii ."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-" Linux-Mandrake 븢.\n"
-" ( "
-"\n"
-" ') .\n"
-"\n"
-"\n"
-" , ."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-" . \n"
-" . \"\" \n"
-" ."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-" ' Internet , ,\n"
-" . "
-", DrakX \n"
-"\n"
-"\n"
-"\n"
-" Internet , \n"
-"\" \".\n"
-" \n"
-" , \"\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-" . .\n"
-"\n"
-"\n"
-" ( \"COM1\" Microsoft Windows) \n"
-"\"ttyS0\" Linux."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-" .\n"
-" , "
-"nternet\n"
-". DNS , \n"
-" Internet-."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-" , , , DrakX "
-"."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr " , ."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-" , ' \n"
-" \n"
-"\n"
-" Internet. \n"
-" DNS, \n"
-" ."
-
-#: ../../help.pm_.c:426
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-" i (dialup). i \n"
-" , i,\n"
-" i Internet (ISP)."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:443
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-" , . \n"
-" , . ."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-" , . \n"
-" , . ."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-" i (dialup). i \n"
-" , i,\n"
-" i Internet (ISP)."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"i i proxy, i i .\n"
-"i , i , i ii\n"
-"i i Internet-."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr " ."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-" ( ')\n"
-" ( Unix, Netware MS Windows)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-" , , \n"
-"CUPS LPR.\n"
-"\n"
-"\n"
-"CUPS , Unix (CUPS\n"
-"- \"Common Unix Printing System\"). \n"
-" Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR - Linux-Mandrake.\n"
-"\n"
-"\n"
-" , \"\"."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux . \n"
-" .\n"
-"\n"
-"\n"
-" ', \"\n"
-"\".\n"
-"\n"
-"\n"
-" Unix , \n"
-"\" \".\n"
-"\n"
-"\n"
-" Microsoft Windows ( Unix\n"
-", SMB), \"SMB/Windows 95/98/NT\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-" , DrakX .\n"
-"\n"
-" .\n"
-"\n"
-"\n"
-" * : \"lp\" "
-" \n"
-", \"lp\".\n"
-" , "
-". ( \"|\").\n"
-" , , "
-" , .: \"My printer|lp\".\n"
-" \"lp\" .\n"
-"\n"
-"\n"
-" * : , , "
-" ' \n"
-" ' .\n"
-"\n"
-"\n"
-" * : i \n"
-" , ( \n"
-" , \"2nd floor\").\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-" .\n"
-"\n"
-"\n"
-" * : \"lp\" . , "
-" \"lp\".\n"
-" , "
-". ( \"|\").\n"
-" , , "
-" , .: \"My printer|lp\".\n"
-" \"lp\" .\n"
-"\n"
-" \n"
-" * spool: . "
-"\n"
-" , .\n"
-"\n"
-"\n"
-" * : ', "
-" \" \".\n"
-" Unix , \" "
-"lpd \".\n"
-"\n"
-"\n"
-" MS Windows ( Unix "
-", SMB,\n"
-" \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" NetWare, \"NetWare\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-" . \n"
-".\n"
-"\n"
-"\n"
-" .\n"
-" \"/dev/lp0\" GNU/Linux \"LPT1\" Microsoft Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr " ."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-" , .\n"
-" , .\n"
-"\n"
-"\n"
-" , \n"
-" ."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-" i i, \" \"\n"
-"i \" i MD5\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"i NIS, \" NIS\". "
-"i\n"
-" , ii i."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-" i i \"\" i "
-"i\n"
-"i. i i "
-"i\n"
-"i i. i i i\n"
-"(i , i ,...) i \"i \",\n"
-" i i.\n"
-"\n"
-"\n"
-"-, ! i i\n"
-"i , i i\n"
-"i : i \n"
-"i. i i .\n"
-"\n"
-"\n"
-" i i i i,\n"
-" i , i i root i\n"
-" i ii i i."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-" boot ! \n"
-" ', \n"
-" ."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-" , i i, \n"
-" i Linux.\n"
-"\n"
-"\n"
-"i , i, \n"
-" \" (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"i , ' \"/dev/hda\"\n"
-"( IDE ) i \"/dev/sda\" ( SCSI )."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO ( LInux LOader) i Grub - i. i "
-"\n"
-"GNU/Linux i i i, .\n"
-", i i i\n"
-"븢. i , i\n"
-". , i .\n"
-"\n"
-"\n"
-" i i i.\n"
-" i i i. \n"
-" , i!"
-
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-" SILO:\n"
-" - : , i\n"
-"i, i GNU/Linux. i , \n"
-"i i, \" (MBR)\".\n"
-"\n"
-"\n"
-" - : \n"
-", "
-".\n"
-" i, i \n"
-" i. , i \""
-"\"\n"
-"\"\" i ."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO - SPARC. i \n"
-"GNU/Linux i i i, .\n"
-", i i i\n"
-"븢. i , i\n"
-". , i .\n"
-"\n"
-"\n"
-" i i i.\n"
-" i i i. \n"
-" i , i."
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-" SILO:\n"
-" - : , i\n"
-"i, i GNU/Linux. i , \n"
-"i i, \" (MBR)\".\n"
-"\n"
-"\n"
-" - : \n"
-", "
-".\n"
-" i, i \n"
-" i. , i \""
-"\"\n"
-"\"\" i ."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-" i X Window System, '\n"
-" Linux GUI (i I i). \n"
-" i i i i. \n"
-", \n"
-"i i i :)\n"
-"\n"
-"i i , X (i \n"
-"i DrakX i ), i , i \n"
-" i. i , i i\n"
-"i ."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"i X, \n"
-" i X Window System."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"i i (login), \"\". I "
-"- \n"
-"\"\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"i i i.\n"
-"\n"
-" i, i Linux Mandrake i "
-".\n"
-"i i i i, \n"
-" ii."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr " "
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr " "
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr " "
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr " "
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr " i"
-
-#: ../../install2.pm_.c:42
-#, fuzzy
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr ". i"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr " "
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr " "
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr " i"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr " root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr " i"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr " i"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr " "
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr " . "
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr " "
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr " X Window"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr " "
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr " broadcast NIS"
-
-#: ../../install_any.pm_.c:676
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr " %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr " $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr " , ."
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-#, fuzzy
-msgid "To activate the mouse,"
-msgstr " , ."
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr " !"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-" .\n"
-" : %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-" i .\n"
-" ( i).\n"
-" `` i'' i i `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr " i swap"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-" swap.\n"
-"\n"
-" ?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr " i "
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr " i , i "
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr " Windows i i"
-
-#: ../../install_interactive.pm_.c:90
-#, fuzzy
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr " i?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr " M: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr " swap M:"
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr " Windows"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr " i?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "i i Windows"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-" FAT \n"
-" , : %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-" Windows . \n"
-" i ``defrag''"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"!\n"
-"\n"
-"DrakX i i Windows.\n"
-" i: . i ii \n"
-" i , i ,"
-" scandisk i defrag , i i\n"
-" i i i .\n"
-"i i, ii Ok."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr " Windows?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr " %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr " FAT %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-" FAT \n"
-" i i i (i )"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "i i "
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "i Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr " i i Linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr " i %s i i "
-
-#: ../../install_interactive.pm_.c:165
-#, fuzzy
-msgid "Custom disk partitioning"
-msgstr " i "
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr " fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-" i %s\n"
-" i i, `w'"
-
-#: ../../install_interactive.pm_.c:201
-#, fuzzy
-msgid "You don't have enough free space on your Windows partition"
-msgstr " Windows"
-
-#: ../../install_interactive.pm_.c:217
-#, fuzzy
-msgid "I can't find any room for installing"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr " i DrakX :"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr " : %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr " i"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr " i"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"i , ,\n"
-" ."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr " i %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-" i .\n"
-"i cdrom i cdrom .\n"
-" cdrom , \"rpm -qpl Mandrake/RPMS/*."
-"rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Сардэчна запрашаем у %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr " "
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr " `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr " : "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "i: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr ": %d K\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "I"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "븢"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "븢"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr ", i , "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr " %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr " ?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr " :"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr " i X11?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-" i , \n"
-" i Linux-Mandrake. \n"
-" . ii `F1' i, \n"
-" `text' i ii <ENTER>."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "i , i :"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr " i %d .\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"i ,\n"
-" , i .\n"
-"\n"
-" ii i ,\n"
-" 100% ."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-" i %d%% .\n"
-"\n"
-"i , \n"
-" .\n"
-" ;\n"
-" %d%% i i ."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr " i ."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "i "
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr " i i "
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "I: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr ": %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr " : %d / %d M"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-" , "
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr " i"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr " , i"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr " i . "
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-" i \n"
-" , i ?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr " i . i"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:582
-#, fuzzy
-msgid "Please wait, preparing installation"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d "
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"i Cd-Rom!\n"
-"\n"
-"i , Cd-Rom, \"%s\", i ii O "
-".\n"
-"i , ii i, i "
-"Cd."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr " :"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "i , ."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr " , i "
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "˳ "
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "i"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "i , i."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "i ?"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Install/Update"
-msgstr "븢"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Is this an install or an update?"
-msgstr " i "
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "i , ."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "i , , ."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr " PCMCIA ..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr " IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr " i"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"i , :(\n"
-" ii i ( \n"
-" !). I i DrakX i i "
-".\n"
-"( %s)\n"
-"\n"
-"i i ?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake i i .\n"
-" i !"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "i (/) i?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr " i i i, ."
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr " ?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr " i %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-" i (swap) , i ."
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-" i i (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr " (%dM)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "ii (%dM)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr " (%d)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"i CD i i i, ii .\n"
-"i i CD , ii i.\n"
-"i CD , i i i ii ."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-" %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-" i .\n"
-"\n"
-":\n"
-"\n"
-"- i \n"
-" , i/ i "
-"i\n"
-"i , /i , "
-"\n"
-"i/ .\n"
-"\n"
-" , i/ i i , "
-"\n"
-" i. i i/ i \n"
-", i , / \n"
-"\n"
-"i i i Mandrakesoft, i i i \n"
-" , ( , \n"
-" , i, "
-" \n"
-" i ii i, i i i i, i \n"
-" i ), i , \n"
-", i i , i \n"
-"i i i .\n"
-"\n"
-" i, "
-"\n"
-", i \n"
-" . \n"
-"i , , i.\n"
-"i , i i i ii "
-"i\n"
-"i.\n"
-"\n"
-" i i, i , : \n"
-"Mandrakesoft\n"
-"43, rue d'Aboukir\n"
-"75002 Paris\n"
-"FRANCE"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr " i "
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "i ?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr " i ii GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr " CUPS"
-
-#: ../../install_steps_interactive.pm_.c:807
-#, fuzzy
-msgid "No printer"
-msgstr "I i"
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:826
-#, fuzzy
-msgid "ISDN card"
-msgstr " ISDN "
-
-#: ../../install_steps_interactive.pm_.c:829
-#, fuzzy
-msgid "Sound card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr " i ?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-" ( i %d i)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr " NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr " i"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "i NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS Domain"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS :"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-" Linux \n"
-" . , i \n"
-"븢 SILO, i i i SILO, i SILO \n"
-" ii. \n"
-" Linux Mandrake, i \n"
-" i .\n"
-"\n"
-"i , \n"
-" i ii \"Ok\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "i "
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "i"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-" Linux i \n"
-" . , i \n"
-"븢 LILO (i Grub), i i i LILO,\n"
-"i LILO ii. "
-"\n"
-" Linux Mandrake, i \n"
-" i .\n"
-"\n"
-" ?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr ", "
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr " , i "
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr " aboot?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-" boot, \n"
-" 븢, ?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr " . i :"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "i"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "i"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr " i"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-"i i- ii linux?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-" i .\n"
-" i ?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"i, .\n"
-"i i ii enter i.\n"
-" i i Linux-Mandrake,\n"
-" http://www.linux-mandrake.com/.\n"
-"I i -\n"
-" i i i Linux-Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr "i"
-
-#: ../../install_steps_interactive.pm_.c:1189
-#, fuzzy
-msgid "Save packages selection"
-msgstr "i "
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr " Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> i i | <Space> | <F12> "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "i , "
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr " (%s), \n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr " , \n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? ( %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr " ? ( %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr " ? ( %s. i `none' i) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "i (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Ii"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "ii"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "UK i"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "US i"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "i ()"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "i (typewriter)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "i ()"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr " (latin)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "ii"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "ii (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "i ( )"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "i ( )"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "i (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "i ( i i)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (i)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "ii (\"\" )"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "ii (\"i\" )"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "I"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "I ()"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Ii"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Ii"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Ii"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "i 106 i"
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr "UK i"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "i-i"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "ii AZERTY ()"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "ii AZERTY ()"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "ii \" \" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "ii \"\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "i ( )"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "i (qwertz )"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "i ()"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "i (-----)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "i"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "i (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "i (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr " i"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "i ( \"F\" )"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "i ( \"Q\" )"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "ii"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "US i (i)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "i \" \" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr ""
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - "
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-#, fuzzy
-msgid "Generic PS2 Wheel Mouse"
-msgstr " 2 "
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-#, fuzzy
-msgid "1 button"
-msgstr "2 i"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr ""
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr " "
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr ""
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr " 2 "
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr " 3 "
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (, C7)"
-
-#: ../../mouse.pm_.c:65
-#, fuzzy
-msgid "busmouse"
-msgstr " "
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 i"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 i"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr ""
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr " "
-
-#: ../../my_gtk.pm_.c:356
-#, fuzzy
-msgid "Finish"
-msgstr "ii"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr " ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr " I"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "i I?"
-
-#: ../../netconnect.pm_.c:148
-#, fuzzy
-msgid "Testing your connection..."
-msgstr "i ISDN ?"
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid "The system is now connected to Internet."
-msgstr " I?"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "i i"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr " ISDN"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-" .\n"
-"i i, ``I''"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr " I"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "i , i i i"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ "
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr " (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "IO "
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "IO_0 "
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "IO_1 "
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr " i "
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "I , .net"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr " "
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "DNS 1 "
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "DNS 2 "
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr " "
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "I (i i)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr " "
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Ţ"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Ţ (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-" \n"
-" D- ( )"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "i ?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "i ?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr " "
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"i ISA , ii i "
-"i.\n"
-"\n"
-"i PCMCIA , i irq i io .\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "i"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr ""
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr " ISDN ?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-" ISDN PCI , . i , PCI "
-" ."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr " ISDN PCI . i , ."
-
-#: ../../netconnect.pm_.c:371
-#, fuzzy
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"i ethernet i . i , "
-" i i."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr " i"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"i , , i "
-" i"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr " i"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-" ?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr " ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr " , ?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr " (Dialup)"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "I "
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr " "
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "I (login ID)"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "i"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr " "
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr " i"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "I "
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr " DNS"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr "i DNS:"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:745
-#, fuzzy
-msgid "You are currently connected to internet."
-msgstr " I?"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid "You are not currently connected to Internet."
-msgstr " I?"
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-#, fuzzy
-msgid "Connect to Internet"
-msgstr " I"
-
-#: ../../netconnect.pm_.c:754
-#, fuzzy
-msgid "Disconnect from Internet"
-msgstr " I"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "I i i"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr "i i"
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "External ISDN modem"
-msgstr " ISDN "
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr " ISDN "
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "i ISDN ?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr " I"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr " pppoe"
-
-#: ../../netconnect.pm_.c:836
-#, fuzzy
-msgid "use pptp"
-msgstr " pppoe"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"i dhcp i ?\n"
-" , dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-#, fuzzy
-msgid "Network configuration"
-msgstr "i i"
-
-#: ../../netconnect.pm_.c:901
-#, fuzzy
-msgid "Do you want to restart the network"
-msgstr "i i i?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "i i i?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr " i:"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr " ..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr " i %s"
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr " ISDN"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy, c-format
-msgid "detected on interface %s"
-msgstr " i"
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr " "
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr " I?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr " "
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr " i"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"i i (host).\n"
-"I i ,\n"
-" ``mybox.mylab.myco.com''.\n"
-" i IP , i ."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "I "
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"i , i IP i .\n"
-" i IP - \n"
-"i (, 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr " %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP "
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr " i"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr " IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP i 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"i i (host).\n"
-"I i ,\n"
-" ``mybox.mylab.myco.com''.\n"
-" i IP , i ."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS "
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr ""
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "-"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr " proxy "
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP proxy"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Proxy i http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Proxy i ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr " i "
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-" i i , i .\n"
-"i , i , i i\n"
-" (extended) "
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr " %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr " %s : %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr " ii"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr " i %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "i "
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr ""
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "i "
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr " "
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr " "
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr " "
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr " lpd"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr " (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "URI "
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr " i \"%s\" "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-" \n"
-"(/dev/lp0 i LPT1:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "i lpd"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-" i i \n"
-" i i i i ,\n"
-" i."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "i SMB (Windows 9x/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-" SMB i SMB ( "
-" i TCP/IP) i IP , i "
-", i , i i, i "
-"i ."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "I SMB"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP SMB"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "I "
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "i NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-" NetWare i NetWare "
-"( i TCP/IP) i i i , "
-" , i i i ."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "I i "
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "i "
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-" i, \n"
-"i i ."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "I "
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr " URI i CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "i i ?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr " i ?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr " "
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-" i .\n"
-" , , i .\n"
-" :\n"
-"%s\n"
-"\n"
-" ?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-" i .\n"
-" , , i .\n"
-" ?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr ", ASCII"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr ", PostScript"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr ", i "
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "i "
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr " ?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr " Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr " ii "
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr " PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr " ?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr " i i "
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "/ i (1/72 )"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "/i i (1/72 )"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr " i GhostScript"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr " i ?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-" i .\n"
-" , i i."
-
-#: ../../printerdrake.pm_.c:370
-#, fuzzy
-msgid "CUPS starting"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr " CUPS"
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr " ?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-" CUPS \n"
-" , .\n"
-" , \" CUPS\"."
-
-#: ../../printerdrake.pm_.c:416
-#, fuzzy
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-" CUPS \n"
-" , .\n"
-" , \" CUPS\"."
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr "IP SMB"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "i "
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-" , i , "
-" i ( lp). i , i i i "
-"i\n"
-" , . i i \n"
-" i ?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "I i"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "i"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-" , i , "
-" i ( lp) i i. "
-"i i i."
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "I i "
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr " i"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr " "
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr " i _i_ RAID md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr " i i $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid "
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid ( raid i?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr " RAID %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, i."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"ampd i i "
-"i.\n"
-" ii i."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-", i , i i \n"
-"i , i i i ."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron - UNIX , i\n"
-" . Vixie cron "
-"\n"
-"UNIX cron, i i i i."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM , i ,\n"
-"i Midnight Commander. "
-"ii i ,\n"
-"i (pop-up) ."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache - World Wide Web . \n"
-"HTML i CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"I - ( inetd) \n"
-" i , i . "
-" \n"
-" , telnet, ftp, rsh i rlogin. inetd, "
-"\n"
-" , i ."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-" i \n"
-"/etc/sysconfig/keyboard. "
-"kbdconfig.\n"
-" i ."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd - , lpr. \n"
-", i i ()."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) - i, i \n"
-" i IP ."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"i i i i (NFS),\n"
-" SMB (Lan Manager/Windows) i NCP (Netware) i."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"i/i i, i \n"
-" i."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS - TCP/IP i.\n"
-" NFS , i i \n"
-"/etc/exports ."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS - TCP/IP\n"
-"i. i i NFS i."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-" PCMCIA - i , Ethernet i\n"
-" . i i i, i \n"
-" i , i ."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Portmapper (i ) i RPC i, i \n"
-" ii i NFS i NIS. Portmap i "
-"\n"
-" i , i RPC."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix - , , \n"
-" ."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-" i i i i i\n"
-" ."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-" i i i IP i\n"
-" RIP . RIP , \n"
-" i - ii ."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-" rstat i i i\n"
-" i i."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-" rusers i i , \n"
-" i ."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-" rwho i i i\n"
-"i, , rwho ( finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog - , i i "
-"i\n"
-" i. i ."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr " i X Font Server i i."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ", i i "
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr "!"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "stopped"
-msgstr ""
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-#, fuzzy
-msgid "On boot"
-msgstr "Yaboot"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"i , :(\n"
-" ii i "
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr " I-"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr " I- "
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123
-#, fuzzy
-msgid "disable"
-msgstr "i"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "reconfigure"
-msgstr " X Window"
-
-#: ../../standalone/drakgw_.c:126
-#, fuzzy
-msgid "Disabling servers..."
-msgstr " ..."
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr " I- "
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr " I- "
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "enable"
-msgstr "i"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr " I- "
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr " ."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-#, fuzzy
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-" ' \n"
-" (Internet Connection Sharing)?\n"
-"\n"
-": .\n"
-"\n"
-" Internet?"
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr " i"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr " i !"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"i ethernet i . i , "
-" i i."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"i , , "
-" i."
-
-#: ../../standalone/drakgw_.c:242
-#, fuzzy
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-", i.\n"
-"i i ?"
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr " i i $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr " (firewall)!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"! i i (firewall). "
-" ."
-
-#: ../../standalone/drakgw_.c:276
-#, fuzzy
-msgid "Configuring..."
-msgstr " IDE"
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr " , , ..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr " $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr " ii!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-" .\n"
-" Internet\n"
-" ' , \n"
-" (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr " I- "
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "I i i"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr " I-"
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "i i"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-#, fuzzy
-msgid "Profile: "
-msgstr " i: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-#, fuzzy
-msgid "Hostname: "
-msgstr "I "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr ""
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr ": "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr ":"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "I "
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "i ISDN ?"
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "i ISDN ?"
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr " I?"
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr " "
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr " ADSL"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr " i"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-#, fuzzy
-msgid "Configure Local Area Network..."
-msgstr " i"
-
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Normal Mode"
-msgstr ""
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr " i"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr ""
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Disable"
-msgstr "i"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Enable"
-msgstr "i"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr "I i i"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr "I i i"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr "I "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-#, fuzzy
-msgid "Provider dns 1 (optional)"
-msgstr "DNS 1 "
-
-#: ../../standalone/draknet_.c:561
-#, fuzzy
-msgid "Provider dns 2 (optional)"
-msgstr "DNS 2 "
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr " Crackers"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr " "
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "i"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-" . i \n"
-" i, i : i "
-"\n"
-" , i i i Internet. "
-"."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-" , ' i \n"
-" ."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-" i , \n"
-"i i ."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-" i, i ',\n"
-"i Internet i i. i\n"
-"i."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-" i i i\n"
-". i i \n"
-", i i iii ii."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-" ii 4 , i .\n"
-" i i."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "i i"
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr " I"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr " i, i "
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr " BackSpace Delete?"
-
-#: ../../standalone/livedrake_.c:23
-#, fuzzy
-msgid "Change Cd-Rom"
-msgstr "i "
-
-#: ../../standalone/livedrake_.c:24
-#, fuzzy
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"i Cd-Rom!\n"
-"\n"
-"i , Cd-Rom, \"%s\", i ii O "
-".\n"
-"i , ii i, i "
-"Cd."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr " live upgrade !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "serial_usb \n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr " ?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr " , ."
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "i i"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr " "
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr " I"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr " I"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr " I"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr " I"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "I "
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "I "
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr " ISDN"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr " (firewall)!"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr " (firewall)!"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr " %s i: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Development"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet"
-msgstr "i"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr " (socket)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ": mp3 midi, .."
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr " I"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-" (pine, mutt, tin...), "
-"Web "
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr " ++"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr " , gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Documentation"
-msgstr "i"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr " : , 㳳 .."
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr " "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Scientific Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ", , "
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr " Howto Linux Free Software"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-" "
-" "
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr " (socket)"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr " The Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"The K Desktop Environment - "
-" "
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr " (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr " CD"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr " - CD"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ", , "
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-" : (kword, abiword), , "
-" pdf-, .."
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr " I"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr " Palm Pilot Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "i i i?"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr " , , web', , chat"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d ii"
-
-#~ msgid "1 minute"
-#~ msgstr "1 ii"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d "
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr " ADSL"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr "i ISDN ?"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr " IDE"
-
-#, fuzzy
-#~ msgid "Standard tools"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr ": i"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr " i usb ."
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ " ' \n"
-#~ " (Internet Connection Sharing)?\n"
-#~ "\n"
-#~ ": .\n"
-#~ "\n"
-#~ " Internet?"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr " "
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr " LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr " . "
-
-#~ msgid "Format floppy"
-#~ msgstr " "
-
-#~ msgid "Choice"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr "i"
-
-#, fuzzy
-#~ msgid "Mail information"
-#~ msgstr "I"
-
-#, fuzzy
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr "i i"
-
-#~ msgid "Miscellaneous"
-#~ msgstr ""
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr " i"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr " i i i i"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ ": I ΡI I ROOT I "
-#~ "!\n"
-#~ "i i root, i, \n"
-#~ " \"su\". i , "
-#~ ",\n"
-#~ " i .\n"
-#~ " , i ."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ " i, NumLock i \n"
-#~ " i (, i `p' `6')."
-
-#, fuzzy
-#~ msgid "Actions"
-#~ msgstr ""
-
-#~ msgid "Scientific applications"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid "toot"
-#~ msgstr "Root"
-
-#~ msgid "First DNS Server"
-#~ msgstr " DNS"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "i DNS:"
-
-#, fuzzy
-#~ msgid "using module"
-#~ msgstr " "
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s "
-
-#~ msgid "%s not found"
-#~ msgstr " i %s"
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s: , i i."
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "( i )"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse ()"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI Bus Mouse"
-
-#~ msgid "Add location of packages"
-#~ msgstr " i "
-
-#~ msgid "After %s partition %s,"
-#~ msgstr " %s %s,"
-
-#~ msgid "Alcatel modem"
-#~ msgstr " Alcatel"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ " i \n"
-#~ "( i). ii\n"
-#~ " i i ,\n"
-#~ "i i. : i "
-#~ ",\n"
-#~ "i i i , i .\n"
-#~ " /home i /usr/local."
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Apple ADB "
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Apple ADB (2 i)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Apple ADB (3 i i )"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Apple USB "
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Apple USB (2 i)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Apple USB (3 i i )"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ " , ?\n"
-#~ " "
-#~ ",\n"
-#~ " ii i .\n"
-#~ "\n"
-#~ " , , i i: ``i "
-#~ "\n"
-#~ " ?'' i i?"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ " , i \n"
-#~ " i Linux-Mandrake, i i ( "
-#~ "\n"
-#~ " Linux i i). i \n"
-#~ " i . "
-#~ "\n"
-#~ "i i ' i\n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ "i , \n"
-#~ "\" \", GNU/Linux. "
-#~ "\n"
-#~ " i, i \"hda\" IDE "
-#~ ",\n"
-#~ "\"hdb\" i \"sda\" SCSI i ..\n"
-#~ "\n"
-#~ "\n"
-#~ " : (/), i ' "
-#~ "\n"
-#~ " iii i, i /boot, i \n"
-#~ ", i i "
-#~ "'.\n"
-#~ "\n"
-#~ "\n"
-#~ "i ii , i "
-#~ "\n"
-#~ " i. DiskDrake , \n"
-#~ "i i. i i .\n"
-#~ "\n"
-#~ "\n"
-#~ " \n"
-#~ "i, i i i "
-#~ "Tab\n"
-#~ "i Up/Down. i , :\n"
-#~ "\n"
-#~ "- Ctrl-c (i "
-#~ ")\n"
-#~ "\n"
-#~ "- Ctrl-d i \n"
-#~ "\n"
-#~ "- Ctrl-m i.\n"
-
-#~ msgid "Auto install floppy"
-#~ msgstr " i"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr " "
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr " "
-
-#~ msgid "Available packages"
-#~ msgstr " "
-
-#~ msgid "Bad kickstart file %s (failed %s)"
-#~ msgstr " (kickstart) %s ( %s)"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Category"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ " Chat (IRC or instant messaging), xchat, licq, gaim .."
-
-#~ msgid "Checking dependencies"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "%s or %s.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ " \"\", i i ii\n"
-#~ "GNU/Linux, , i i i i "
-#~ ".\n"
-#~ "\n"
-#~ " \"\", i "
-#~ "i Mandrake Linux:\n"
-#~ "%s %s.\n"
-#~ "\n"
-#~ "\n"
-#~ ":\n"
-#~ "\n"
-#~ " - : i ii 븢i \n"
-#~ " GNU/Linux, .\n"
-#~ "\n"
-#~ " - : , i "
-#~ "i \n"
-#~ " GNU/Linux, i i \n"
-#~ " i . i i "
-#~ ".\n"
-#~ "\n"
-#~ " - : , GNU/"
-#~ "Linux\n"
-#~ " i i . i "
-#~ "\n"
-#~ " \" \" i \n"
-#~ " .\n"
-#~ " i , I , I ݡ, I "
-#~ "I!\n"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ " \"\", i i ii\n"
-#~ "GNU/Linux, , i i i i "
-#~ ".\n"
-#~ "\n"
-#~ " \"\", i "
-#~ "i Mandrake Linux:\n"
-#~ "\n"
-#~ "\n"
-#~ ":\n"
-#~ "\n"
-#~ " - : i ii 븢i \n"
-#~ " GNU/Linux, .\n"
-#~ "\n"
-#~ " - : , i "
-#~ "i \n"
-#~ " GNU/Linux, i i \n"
-#~ " i . i i "
-#~ ".\n"
-#~ "\n"
-#~ " - : , GNU/"
-#~ "Linux\n"
-#~ " i i . i "
-#~ " \n"
-#~ " \" \" i \n"
-#~ " .\n"
-#~ " i , I , I ݡ, I "
-#~ "I!\n"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake\n"
-#~ "Linux: 5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1\n"
-#~ "(Helios) or Gold 2000."
-#~ msgstr ""
-#~ " \"\", i Linux,\n"
-#~ " i i .\n"
-#~ "\n"
-#~ "\n"
-#~ " \"i\" i i i\n"
-#~ "Mandrake Linux: 5.1 (Venice), 5.2 (Leeloo), 5.3 (Festen), 6.0 (Venus),\n"
-#~ "6.1 (Helios) Gold 2000."
-
-#~ msgid "Choose package to install"
-#~ msgstr " "
-
-#~ msgid "Collapse all"
-#~ msgstr " "
-
-#~ msgid "Communication facilities"
-#~ msgstr " "
-
-#~ msgid "Configure LAN"
-#~ msgstr " i ()"
-
-#~ msgid "Configure printer"
-#~ msgstr " "
-
-#~ msgid "Configure timezone"
-#~ msgstr " "
-
-#~ msgid "Confirm Password"
-#~ msgstr "i "
-
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr " I ()"
-
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr " i DSL (i ADSL)"
-
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr " i ISDN"
-
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr " i "
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr " RPM ``bind'' urpmi."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr ""
-#~ " RPM "
-#~ "urpmi."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr " RPM ``dhcp'' urpmi."
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr " RPM ``ipchains'' urpmi."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr " RPM ``linuxconf'' urpmi."
-
-#~ msgid "Cryptographic"
-#~ msgstr "i"
-
-#~ msgid "Customized"
-#~ msgstr " "
-
-#~ msgid "Czech"
-#~ msgstr "i"
-
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr " (mysql and postgresql)"
-
-#~ msgid "Directory"
-#~ msgstr ""
-
-#~ msgid "Disable networking"
-#~ msgstr "i "
-
-#~ msgid "Do not set up networking"
-#~ msgstr " 븢 "
-
-#~ msgid "Do you want to configure a ISDN connection for your system?"
-#~ msgstr "i i ISDN i?"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr "i i i?"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "i i i i?"
-
-#~ msgid "Downloading cryptographic packages"
-#~ msgstr " i "
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ "DrakX i i i i PCI\n"
-#~ "i SCSI. i , i DrakX , i \n"
-#~ " , .\n"
-#~ "\n"
-#~ "i SCSI ISA-, PCI-, DrakX \n"
-#~ "i , i DrakX , \n"
-#~ "SCSI , , i .\n"
-#~ "i , \"\". i i i i,\n"
-#~ " \"\". 'i i , i \n"
-#~ " .\n"
-#~ "\n"
-#~ " , DrakX , i \n"
-#~ " i. "
-#~ ":\n"
-#~ " .\n"
-#~ "\n"
-#~ " , i i, "
-#~ "\n"
-#~ " Windows (i i i), "
-#~ "\n"
-#~ " i . i, "
-#~ "i\n"
-#~ " ."
-
-#~ msgid ""
-#~ "DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
-#~ "By default, the 4.0 server is used unless your card is not supported.\n"
-#~ "\n"
-#~ "Do you want to keep XFree 3.3?"
-#~ msgstr ""
-#~ "DrakX i XFree 3.3 i XFree 4.0.\n"
-#~ " 4.0. i i \n"
-#~ "i i, 3.3.\n"
-#~ "i i XFree 3.3 i?"
-
-#~ msgid "ECI modem"
-#~ msgstr " ECI"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr " num lock "
-
-#~ msgid "End configuration"
-#~ msgstr " i"
-
-#~ msgid ""
-#~ "Enter a floppy to create an HTP enabled boot\n"
-#~ "(all data on floppy will be lost)"
-#~ msgstr ""
-#~ " i HTP\n"
-#~ "( i)"
-
-#~ msgid "Everything configured!"
-#~ msgstr " i!"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr " i.\n"
-
-#~ msgid "Expand all"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "Failed to create an HTP boot floppy.\n"
-#~ "You may have to restart installation and give ``%s'' at the prompt"
-#~ msgstr ""
-#~ " . HTP.\n"
-#~ ", i ``%s'' i"
-
-#~ msgid "Find Package"
-#~ msgstr " "
-
-#~ msgid "Find Package containing file"
-#~ msgstr "i , i "
-
-#~ msgid "Finding leaves"
-#~ msgstr " i"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr " i "
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ " FTP i HTTP, i hdlist\n"
-#~ " URL"
-
-#~ msgid "Forget the changes?"
-#~ msgstr " i?"
-
-#~ msgid "France"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "Linux iii i . "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ "i "
-#~ "',\n"
-#~ " \" \". , "
-#~ "\n"
-#~ " i i.\n"
-#~ "\n"
-#~ "\n"
-#~ "i , i i "
-#~ "\n"
-#~ " Unix, \" lpd\". i "
-#~ "\n"
-#~ ", i i , i i "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " SMB (i i \n"
-#~ "Windows 9x/NT/2000 i Unix Samba), i\n"
-#~ "SMB ( i i TCP/IP), i, ,\n"
-#~ " IP i i i, i \n"
-#~ ", i . i \n"
-#~ "NetWare, i i ."
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse ()"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "Germany"
-#~ msgstr "i"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "i (1TR6)"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr " i (.: `extra', `commercial')"
-
-#~ msgid "Going to install %d MB. You can choose to install more programs"
-#~ msgstr ""
-#~ " %d M. ."
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr " %s"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "SILO .\n"
-#~ " , i i."
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ " i (.: 800x600).\n"
-#~ " i i i ' .\n"
-#~ " ?"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "i ISDN :\n"
-
-#~ msgid ""
-#~ "I need to configure your network adapter to be able to connect to "
-#~ "internet."
-#~ msgstr ""
-#~ " i , "
-#~ " I."
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "i DrakX i , \n"
-#~ "i . i \n"
-#~ " i .\n"
-#~ "\n"
-#~ "\n"
-#~ " , , "
-#~ "i\n"
-#~ "DrakX i , ."
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr ""
-#~ "i ADSL Alcatel, Alcatel. i "
-#~ " - ECI."
-
-#~ msgid "In which country are you located ?"
-#~ msgstr " i ?"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "/"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr " SILO . i :"
-
-#~ msgid "Installed packages"
-#~ msgstr " "
-
-#~ msgid "It is necessary to restart installation booting on the floppy"
-#~ msgstr " i i i "
-
-#~ msgid "It is necessary to restart installation with the new parameters"
-#~ msgstr " i i i"
-
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "i \"\"! , i \n"
-#~ " Windows, i .\n"
-#~ "i i , i\n"
-#~ "Linux!"
-
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse ()"
-
-#~ msgid ""
-#~ "LILO (the LInux LOader) can boot Linux and other operating systems.\n"
-#~ "Normally they are correctly detected during installation. If you don't\n"
-#~ "see yours detected, you can add one or more now.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you don't want that everybody could access at one of them, you can "
-#~ "remove\n"
-#~ "it now (a boot disk will be needed to boot it)."
-#~ msgstr ""
-#~ "LILO (LInux LOader) Linux i i i.\n"
-#~ " . i i\n"
-#~ " i, i i , \n"
-#~ " i i.\n"
-#~ "\n"
-#~ "\n"
-#~ "i , i i, i \n"
-#~ "( i )."
-
-#~ msgid "Linear (needed for some SCSI drives)"
-#~ msgstr "i ( SCSI)"
-
-#~ msgid ""
-#~ "Linux does not yet fully support ultra dma 66 HPT.\n"
-#~ "As a work-around i can make a custom floppy giving access the hard drive "
-#~ "on ide2 and ide3"
-#~ msgstr ""
-#~ "Linux i ultra dma 66 HPT.\n"
-#~ " , , "
-#~ "ide2 i ide3"
-
-#~ msgid "Local LAN"
-#~ msgstr " "
-
-#~ msgid "Local Printer Device (URI)"
-#~ msgstr " (URI)"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "i i .\n"
-#~ "i :"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech Bus Mouse"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ ()"
-
-#~ msgid "Logitech MouseMan/FirstMouse (serial)"
-#~ msgstr "Logitech MouseMan/FirstMouse ()"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft Bus Mouse"
-
-#~ msgid "Microsoft IntelliMouse (serial)"
-#~ msgstr "Microsoft IntelliMouse ()"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Rev 2.1A ()"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Microsoft i ()"
-
-#~ msgid "Move your wheel!"
-#~ msgstr " "
-
-#~ msgid "Multimedia"
-#~ msgstr ""
-
-#~ msgid "Network:"
-#~ msgstr ":"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "cdrom (i /mnt/cdrom)"
-
-#~ msgid "No match"
-#~ msgstr " "
-
-#~ msgid "No more match"
-#~ msgstr " "
-
-#~ msgid "No root partition found"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ " .\n"
-#~ " i i i i"
-
-#~ msgid "None"
-#~ msgstr ""
-
-#~ msgid "Other countries"
-#~ msgstr "I i"
-
-#~ msgid "Package"
-#~ msgstr ""
-
-#~ msgid "Password:"
-#~ msgstr ":"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr "i i ?"
-
-#~ msgid ""
-#~ "Please choose which network adaptater do you want to use to connect to "
-#~ "internet.\n"
-#~ "If you don't know, choose eth0.\n"
-#~ msgstr ""
-#~ "i , , i "
-#~ " I.\n"
-#~ "i , eth0.\n"
-
-#~ msgid "Please submit the following information"
-#~ msgstr " i"
-
-#~ msgid "Reconfigure local network"
-#~ msgstr "i "
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "Remove"
-#~ msgstr "i"
-
-#~ msgid "Rescue"
-#~ msgstr ""
-
-#~ msgid "SILO main options"
-#~ msgstr " i SILO"
-
-#~ msgid "Sciences"
-#~ msgstr ""
-
-#~ msgid "Search"
-#~ msgstr ""
-
-#~ msgid "Searching root partition."
-#~ msgstr " ."
-
-#~ msgid "See"
-#~ msgstr "."
-
-#~ msgid "Select the size you want to install"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed Linux before.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Customized: If you are familiar with Linux, you will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\"."
-#~ msgstr ""
-#~ ":\n"
-#~ "\n"
-#~ " - : i ii 븢i Linux.\n"
-#~ "\n"
-#~ " - : i Linux, \n"
-#~ " i: , , \n"
-#~ ". \"\" i "
-#~ ".\n"
-#~ " \" i\" , "
-#~ "'\n"
-#~ "i i . i "
-#~ "\n"
-#~ " ( , , ...), \"\".\n"
-#~ "\n"
-#~ "\n"
-#~ " - : i GNU/Linux i i\n"
-#~ " , - .\n"
-#~ " i, \" "
-#~ "\"."
-
-#~ msgid "Setup SCSI"
-#~ msgstr " SCSI"
-
-#~ msgid "Show less"
-#~ msgstr " "
-
-#~ msgid "Show more"
-#~ msgstr " "
-
-#~ msgid "Show only leaves"
-#~ msgstr " i"
-
-#~ msgid "Shutting down"
-#~ msgstr " '"
-
-#~ msgid "Size: %d MB"
-#~ msgstr ": %d MB"
-
-#~ msgid "Size: %d MB\n"
-#~ msgstr ": %d MB\n"
-
-#~ msgid "Size: %s MB"
-#~ msgstr ": %s M"
-
-#~ msgid "Slovakian"
-#~ msgstr "i"
-
-#~ msgid "Small(%dMB)"
-#~ msgstr " (%dM)"
-
-#~ msgid "Socket"
-#~ msgstr ""
-
-#~ msgid "Sort by"
-#~ msgstr " "
-
-#~ msgid "Take over the hard drive"
-#~ msgstr " "
-
-#~ msgid "Text"
-#~ msgstr ""
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr " i"
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ " . \n"
-#~ "i ii , i i i i,\n"
-#~ " i \n"
-#~ " i i."
-
-#~ msgid "This label is already in use"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ " i,\n"
-#~ "(LAN), . \n"
-#~ "\n"
-#~ " \" \" i DrakX i\n"
-#~ " Ethernet. PCI i \n"
-#~ "i . , i ISA,\n"
-#~ " , i i \n"
-#~ " i, i 'i .\n"
-#~ "\n"
-#~ "\n"
-#~ " i SCSI, i \n"
-#~ " , i i,\n"
-#~ "i i .\n"
-#~ "\n"
-#~ "\n"
-#~ " Linux-Mandrake ', i \n"
-#~ " , ii i i\n"
-#~ " i (IP , i\n"
-#~ "i , i i ). i \n"
-#~ " , , i \n"
-#~ " i .\n"
-#~ "\n"
-#~ "\n"
-#~ " \" \" i \n"
-#~ " Internet . DrakX \n"
-#~ "i , i , \n"
-#~ " , ."
-
-#~ msgid ""
-#~ "Time (secs) of inactivity after which\n"
-#~ "it hangs up. (leave blank to disable it)"
-#~ msgstr ""
-#~ " () i, \n"
-#~ " . (i , i)"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ " . \n"
-#~ " i... i i, \n"
-#~ ", ."
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr " /"
-
-#~ msgid "Too many packages chosen: %dMB doesn't fit in %dMB"
-#~ msgstr " : %dM i %dM"
-
-#~ msgid "Tree"
-#~ msgstr ""
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr " i %s ?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr " i PCI ?"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr " i PCMCIA?"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr " i ?"
-
-#~ msgid "URI for Local printer"
-#~ msgstr "URI "
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL , i RPM"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB (3 i i )"
-
-#~ msgid "Uninstall"
-#~ msgstr "i i"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr " RPM- i"
-
-#~ msgid "Update location"
-#~ msgstr "i i"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr " RPM"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr " i MD5"
-
-#~ msgid "Use diskdrake"
-#~ msgstr " DiskDrake"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr " i ?"
-
-#~ msgid "Use shadow file"
-#~ msgstr " "
-
-#~ msgid "User name:"
-#~ msgstr "I i:"
-
-#~ msgid "Wait"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "What URI device is your printer connected to\n"
-#~ "(note that parallel:/dev/lp0 is equivalent to LPT1:)?"
-#~ msgstr ""
-#~ " \n"
-#~ "(/dev/lp0 i LPT1:)?"
-
-#~ msgid "What are looking for?"
-#~ msgstr " ?"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr " i?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "i ?"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "i i?"
-
-#~ msgid "What is your system used for?"
-#~ msgstr " ?"
-
-#~ msgid "What usage do you want?"
-#~ msgstr " i?"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "i ?"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "i ?"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "i "
-
-#~ msgid "Which packages do you want to install"
-#~ msgstr " "
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "i ?"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr " ?"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr " Lnx4win"
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr " ii Windows !"
-
-#~ msgid ""
-#~ "You may now select the packages you wish to install.\n"
-#~ "\n"
-#~ "\n"
-#~ "First you can select group of package to install or upgrade. After that\n"
-#~ "you can select more packages according to the total size you wish to\n"
-#~ "select.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you are in expert mode, you can select packages individually.\n"
-#~ "Please note that some packages require the installation of others.\n"
-#~ "These are referred to as package dependencies. The packages you select,\n"
-#~ "and the packages they require will be automatically selected for\n"
-#~ "install. It is impossible to install a package without installing all\n"
-#~ "of its dependencies."
-#~ msgstr ""
-#~ " , i .\n"
-#~ "\n"
-#~ "\n"
-#~ "-, i i. "
-#~ "\n"
-#~ " i , i\n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ "i , i "
-#~ "ii.\n"
-#~ " , i "
-#~ ".\n"
-#~ " . , i i, i ,\n"
-#~ " i , .\n"
-#~ " i , i "
-#~ "."
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ " ' i I-.\n"
-
-#~ msgid "automagic"
-#~ msgstr "i"
-
-#~ msgid "beginner"
-#~ msgstr ""
-
-#~ msgid "brunette"
-#~ msgstr ""
-
-#~ msgid "changing type of"
-#~ msgstr " "
-
-#~ msgid "default"
-#~ msgstr " "
-
-#~ msgid "dhcp-client"
-#~ msgstr "dhcp-client"
-
-#~ msgid "dhcpxd"
-#~ msgstr "dhcpxd"
-
-#~ msgid "don't use pppoe"
-#~ msgstr " pppoe"
-
-#~ msgid "expert"
-#~ msgstr ""
-
-#~ msgid "formatting"
-#~ msgstr ""
-
-#~ msgid "girl"
-#~ msgstr ""
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n ()"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n ()"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (i )"
-
-#~ msgid "linear"
-#~ msgstr "i"
-
-#~ msgid "loopback"
-#~ msgstr "i i (loopback)"
-
-#~ msgid "mandatory"
-#~ msgstr ""
-
-#~ msgid "nfs mount failed"
-#~ msgstr " i nfs"
-
-#~ msgid "pptp alcatel"
-#~ msgstr "pptp alcatel"
-
-#~ msgid "pump"
-#~ msgstr "pump"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake ``low memory''.\n"
-#~ "rpmdrake "
-
-#~ msgid "shadow"
-#~ msgstr ""
-
-#~ msgid "tie"
-#~ msgstr ""
-
-#~ msgid "woman-blond"
-#~ msgstr "-"
diff --git a/perl-install/share/po/bg.po b/perl-install/share/po/bg.po
deleted file mode 100644
index c72317658..000000000
--- a/perl-install/share/po/bg.po
+++ /dev/null
@@ -1,8696 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) 1999, 2000 MandrakeSoft
-# Elena Radeva <ely@triada.bg>, 1999.
-# Pavel Cholakov <pavel@linux.home.bg>, 1999.
-# Boyan Ivanov <boyan17@bulgaria.com>, 1999, 2000
-# Bozhan Boiadzhiev <bozhan@plov.omega.bg>, 2000
-# Valery Dachev <v.dachev@mail.com>, 2000, 2001
-#
-# Bulgarians on Linux use windows-1251 encoding
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-08-15 15:29+0200\n"
-"Last-Translator: Valery Dachev <v.dachev@mail.com>\n"
-"Language-Team: Bulgarian\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=windows-1251\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr " Xinerama"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr " \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr " X "
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X "
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr " XFree ?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-" 3D , Xfree %"
-"s.\n"
-" XFree %s, - "
-"2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr " 3D XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s 3D "
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-" 3D XFree %s.\n"
-", "
-"."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s O 3D "
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-" 3D , XFree %"
-"s,\n"
-", "
-".\n"
-" XFree %s, - "
-"2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr " XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-" , "
-" , \n"
-" , - - \n"
-" , , "
-" .\n"
-"\n"
-" , "
-" - "
-" .\n"
-" , ."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr " ?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
-": \"\" "
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-" "
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr " :"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr " %d "
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr " ?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr " , "
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr " : %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 : %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr ": %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr " : %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr " X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr " ?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-" ?\n"
-" :\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr " %s, "
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr " Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X "
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"K , X .\n"
-" X , ?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 (8 )"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 (15 )"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 (16 )"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 (24 )"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 (32 )"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB "
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standard VGA, 640x480 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514-, 1024x768 87 Hz interlaced ( 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 87 Hz interlaced, 800x600 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Extended Super VGA, 800x600 60 Hz, 640x480 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Non-Interlaced SVGA, 1024x768 60 Hz, 800x600 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr " SVGA, 1024x768 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr " , 1280x1024 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr " , 1280x1024 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr " , 1280x1024 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr ", 1600x1200 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr ", 1600x1200 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr " "
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr " (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO "
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr " bootloader-?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub "
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO "
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO "
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr " DOS/Windows (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr " "
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr " "
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Bootloader "
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr " "
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA ( BIOS-)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr ""
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr " "
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr " default "
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr ""
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr " ()"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr " , "
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr ""
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr " /tmp "
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr " RAM-, ( %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr " "
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr " RAM- Mb"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr " `` '' "
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr ", "
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr " "
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr " "
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr " Open Firmware"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr " "
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr " CD ?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr " OF ?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr " ?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-" .\n"
-" ."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr ""
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr " RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr " "
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr " (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr " (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr " (Windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr ""
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr ""
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr ""
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "-"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr ""
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr ""
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr ""
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr " "
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd-"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr " "
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr " "
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr " "
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr " "
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr " ?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr " %s %s "
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr " () ?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr " %s ?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr ""
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr ""
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr " "
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr " %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "( %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr " %s ?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-" , %s , \n"
-" , . "
-"\n"
-" "
-"\n"
-" ? , "
-" ."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr " "
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr " "
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr " %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-" %s.\n"
-" ``= 2=2 ...''.\n"
-": ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr " :"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-" %s .\n"
-" ?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "( %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr " "
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr ", "
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-" , , `-' `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr " "
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr " "
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-" \n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr " "
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr " "
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr " "
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr ""
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr ""
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Autologin"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-" "
-".\n"
-" , \"\""
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr " :"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr " Windows Manager :"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Welcome to GRUB the operating system chooser!"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Use the %c and %c keys for selecting which entry is highlighted."
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Press enter to boot the selected OS, 'e' to edit the"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "commands before booting, or 'c' for a command-line."
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "The highlighted entry will be booted automatically in %d seconds."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr " /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr " "
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr " .\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr " "
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "//_"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "//_"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "//_"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "// _"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "//-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "//_"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "//"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "//_..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr ""
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-" !\n"
-"\n"
-"%s\n"
-"\n"
-" ``'', ."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr " Lilo/grub"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "NewStyle "
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "NewStyle "
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr " "
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr " Gtk+ "
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr " Aurora "
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr " "
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr " X-Window "
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ", autologin"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ", autologin (, )"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr " "
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr " "
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr " /etc/inittab : $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr " /etc/sysconfig/autologin : $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr " LILO . :"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr " /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-" , , "
-" "
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr " :"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-" FAT \n"
-"( Microsoft Dos/Windows).\n"
-" \n"
-"( , \" \")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr " backup "
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr " !"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-" aboot, (2048 "
-"\n"
-" ) "
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr " : "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr " DOS: %s ( )\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr ": %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr ": %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s "
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr " %d %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback (): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-", \n"
-" ( MS-DOS boot, lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr " %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr " %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID- %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr " loopback : %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-" \n"
-"-, \n"
-" .\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-" \n"
-" \n"
-" .\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr ": %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr ": %s , %s , %s \n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM- %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr " : %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr " %d %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr " RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr " RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr " RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr " LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr " LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr " loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-", /boot "
-"( > 1024).\n"
-" LILO , LILO "
-" /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-", root (/) \n"
-"1024- /boot .\n"
-" boot LILO, \n"
-" /boot "
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-" RAID root (/).\n"
-" , /boot .\n"
-" /boot "
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr " ``%s''"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr " ''"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-" %s, "
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr " ?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr ", ?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr " ?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr " ReiserFS - 32MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr " loopback- %s ?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr " %s ?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-" , "
-"loopback.\n"
-" loopback"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr " %s, "
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr " loopback %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr " %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr " ,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr " ?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr " ?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr " ... "
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr " %s !"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr " , "
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr " fat "
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-" %s, te "
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr " : "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr " MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr " : "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr " loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr " loopback : "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr " loopback, ."
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr " . ?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-" \n"
-" ?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-" \n"
-" , , "
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr " RAID "
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr " LVM "
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "LVM ?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr ""
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s %s "
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr " %s %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr " : "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr " %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr ""
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr ""
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr " /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr " %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "\" \" : %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr " LVM %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr " root ."
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-" (ext2, reiserfs) "
-"\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr " %s : %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-" - , "
-" . "
-" "
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr " !"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr " ."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-" -, "
-".\n"
-"\n"
-"\n"
-" \"\", .\n"
-"\n"
-"\n"
-" \"\", . "
-" \n"
-"."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr " -"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-" ( , \n"
-" ), , , "
-"\n"
-" -. , "
-"\"\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-", \"\", "
-"Linux-Mandrake\n"
-" .\n"
-"\n"
-"\n"
-", \"\", "
-" Linux-Mandrake.\n"
-"\n"
-"\n"
-" GNU/Linux, "
-" \n"
-" Linux-Mandrake :\n"
-"\n"
-"\t* : GNU/Linux "
-", . \n"
-"\t .\n"
-"\n"
-"\n"
-"\t* : GNU/Linux, "
-" ( , ,\n"
-"\t ) . , "
-" \"\" \n"
-"\t , GNU/Linux, "
-" .\n"
-"\n"
-"\n"
-"\t* : GNU/Linux, "
-" . \"\"\n"
-"\t , ( "
-", , ). \n"
-"\t . "
-" .\n"
-"\t , "
-" GNU/Linux. \n"
-"\t , ."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-":\n"
-"\n"
-" - : GNU/Linux, "
-"\n"
-" . - .\n"
-"\n"
-"\n"
-" - : , \"\" GNU/Linux \n"
-" . \""
-"\"\n"
-" , .\n"
-" , , , !"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-" . "
-":\n"
-"\n"
-"\t* : , "
-" \n"
-"\t .\n"
-"\n"
-"\n"
-"\t* : "
-" , .\n"
-"\t , , "
-" ,\n"
-"\t .\n"
-"\n"
-"\n"
-"\t* : , "
-" . \n"
-"\t (NFS SMB), (Unix- Microsoft Windows-), "
-" (NIS), \n"
-"\t - ... , "
-" (KDE, GNOME, ..)."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX PCI SCSI ().\n"
-" DrakX SCSI , \n"
-" .\n"
-"\n"
-"\n"
-" SCSI , ISA SCSI , PCI SCSI , \n"
-"DrakX , SCSI "
-"\n"
-". , \"\". \"\", \n"
-" , .\n"
-"\n"
-"\n"
-" , DrakX \n"
-" . DrakX \n"
-" . .\n"
-"\n"
-" , . , \n"
-" ( 3, \" \n"
-" \") "
-"\n"
-", Web- ( ) "
-"\n"
-" Microsoft Windows ( )."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-" , \n"
-" Linux-Mandrade. \n"
-" , .\n"
-" , \n"
-", \n"
-"Linux-Mandrake .\n"
-"\n"
-"\n"
-" , "
-"\n"
-" . "
-"\n"
-" . , , \n"
-" .\n"
-"\n"
-"\n"
-" . , "
-"\n"
-" ( Swap).\n"
-"\n"
-"\n"
-" ( \n"
-" ), , \n"
-"Linux .\n"
-"\n"
-"\n"
-" , . \n"
-", -. \n"
-" :\n"
-"\n"
-"\t* : "
-" Linux . \n"
-"\t , . \n"
-"\n"
-"\n"
-"\t* : "
-" \n"
-"\t Linux-Mandrake , . , "
-" , \n"
-"\t , .\n"
-"\n"
-"\n"
-"\t* Windows : "
-"Microsoft Windows \n"
-"\t , "
-"Linux. , \n"
-"\t Microsoft Windows ( \" \" "
-"\" \" ) \n"
-"\t Microsoft Windows . "
-" . \n"
-"\t , Linux-Mandrake Microsoft Windows "
-" .\n"
-"\n"
-"\n"
-"\t , , , "
-"Microsoft\n"
-"\t Windows -, . , "
-" \n"
-"\t Microsoft Windows, .\n"
-"\n"
-"\n"
-"\t* : , "
-" . \n"
-"\t . , . "
-" . \n"
-"\t , ."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"- Linux \n"
-" . , \n"
-" . , \n"
-"root (\"/\"). , "
-"\n"
-" . \n"
-" , \"/home\" ( , "
-"\n"
-" Linux ).\n"
-"\n"
-"\n"
-" , , : \"\", \"\".\n"
-"\n"
-"\n"
-"\"\" : \" \", \" \",\n"
-"\" \" (, \"hda1\").\n"
-"\n"
-"\n"
-"\" \" \"hd\", IDE , \"sd\", \n"
-"SCSI .\n"
-"\n"
-"\n"
-"\" \" \"hd\" \"sd\". IDE "
-":\n"
-"\n"
-" * \"a\" \"master IDE \",\n"
-" * \"b\" \"slave IDE \",\n"
-" * \"c\" \"master IDE \",\n"
-" * \"d\" \"slave IDE \".\n"
-"\n"
-"\n"
-" SCSI , \"a\" \" \", \"b\" "
-"\" \" ..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-" , , \n"
-" Linux-Mandrake . , "
-" \n"
-" ."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-" \"OK\", \n"
-" . , \"OK\", "
-" "
-" ,\n"
-" Windows .\n"
-"\n"
-"\n"
-" \"\", \n"
-" ."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-" Microsoft Windows \n"
-" . , , \n"
-" Linux-Mandrake .\n"
-"\n"
-"\n"
-" , : \"Linux \", \"Windows "
-"\", \"\".\n"
-"\n"
-"\"Linux \" : \" \", \" "
-"\",\n"
-"\" \" (, \"hda1\").\n"
-"\n"
-"\n"
-"\" \" \"hd\", IDE , \"sd\", \n"
-"SCSI .\n"
-"\n"
-"\n"
-"\" \" \"hd\" \"sd\". IDE "
-":\n"
-"\n"
-" * \"a\" \"master IDE \",\n"
-" * \"b\" \"slave IDE \",\n"
-" * \"c\" \"master IDE \",\n"
-" * \"d\" \"slave IDE \".\n"
-"\n"
-"\n"
-" SCSI , \"a\" \" \", \"b\" "
-"\" \" ...\n"
-"\n"
-"\"Windows \" Windows ( \n"
-" \"C:\")."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ", . ."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-" , , \n"
-" ( ).\n"
-"\n"
-"\n"
-" , \n"
-", , . \n"
-", , .\n"
-"\n"
-"\n"
-", , "
-".\n"
-" ( \"/\",\n"
-"\"/usr\", \"/var\"), , "
-"\n"
-" ( , \"/home\").\n"
-"\n"
-"\n"
-", - , \n"
-" .\n"
-"\n"
-"\n"
-" \"OK\", .\n"
-"\n"
-"\n"
-" \"\", , \n"
-" Linux-Mandrake ."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-" , \n"
-" .\n"
-"\n"
-"DrakX . "
-",\n"
-" . , "
-"\n"
-" , - "
-".\n"
-" \" "
-"\";\n"
-" , 1000 ..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-" , \n"
-" .\n"
-"\n"
-"\n"
-" , "
-"\n"
-" .\n"
-"\n"
-"\n"
-" , \n"
-" \" \".\n"
-"\n"
-"\n"
-" , "
-"\" \".\n"
-" , "
-"\n"
-" , ."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-" CD- -, Ok. \n"
-" CD-, . CD-, "
-" ,\n"
-" Ok."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-" Linux-Mandrake .\n"
-" ( \n"
-" ).\n"
-"\n"
-"\n"
-", ."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-" . , \n"
-" . , \"\",\n"
-" ."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-", . , COM1\n"
-" Windows GNU/Linux ttyS0."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-" \n"
-" , , . , "
-"\n"
-" , DrakX "
-".\n"
-"\n"
-"\n"
-" , \n"
-"\" \".\n"
-"\n"
-"\n"
-" -, , "
-" , \"\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-" . , , .\n"
-"\n"
-"\n"
-" , ( \"COM1\" Microsoft\n"
-"Windows) \"ttyS0\" Linux."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-" dialup . \n"
-" , "
-"\n"
-" . DNS (name server)\n"
-", \n"
-"."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-" , , , DrakX "
-" ."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ", ."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-" - \n"
-" , \n"
-" . \n"
-"DNS (name server), \n"
-"."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-" , . \n"
-" , \n"
-" ."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-" .\n"
-"\n"
-" * IP : , "
-" .\n"
-" IP , \" IP"
-"\", -.\n"
-"\n"
-" * : \"255.255.255.0\" . "
-" , "
-".\n"
-"\n"
-"\n"
-" * IP: BOOTP DHCP , "
-" . , \n"
-" \"IP \". "
-" , ."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-" . \n"
-" , ."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-" , . \n"
-" , ."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-" . ,\n"
-" ."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-" proxy , , . ,\n"
-" ."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-" , \n"
-" . , "
-"\n"
-", .\n"
-"\n"
-"\n"
-", ,\n"
-" ."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr " ."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU/Linux GMT ( )\n"
-" , .\n"
-"\n"
-"\n"
-"\n"
-" Microsoft Windows , \"\"."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-" .\n"
-"\n"
-"\n"
-" , ,\n"
-" .\n"
-"\n"
-"\n"
-" , \n"
-" : , \n"
-" . , , , \n"
-" .\n"
-" , , ."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-" ( ) \n"
-" ( Unix, Netware Microsoft Windows )."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-" , , \n"
-"CUPS LPR.\n"
-"\n"
-"\n"
-"CUPS , Unix (CUPS\n"
-" \" Unix \"). "
-" \n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR , Linux-Mandrake "
-".\n"
-"\n"
-"\n"
-" , \"\"."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux . \n"
-" .\n"
-"\n"
-"\n"
-" , \"\n"
-"\".\n"
-"\n"
-"\n"
-" Unix , \n"
-"\" \".\n"
-"\n"
-"\n"
-" Microsoft Windows "
-"\n"
-"( Unix SMB ), \"SMB/Windows 95/98/NT"
-"\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-", , DrakX \n"
-" .\n"
-"\n"
-" .\n"
-"\n"
-"\n"
-" * : , spooler \"lp\" "
-" . \n"
-" \"lp\".\n"
-" , "
-". pipe\n"
-" (\"|\"). , - , "
-" , . \"My printer|lp\".\n"
-" \"lp\" () "
-".\n"
-"\n"
-"\n"
-" * : , , "
-" \n"
-" .\n"
-"\n"
-"\n"
-" * : \n"
-" , ( "
-",\n"
-" \"2- \").\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-" .\n"
-"\n"
-"\n"
-" * : , spooler \"lp\" "
-" . \n"
-" \"lp\".\n"
-" , "
-". pipe\n"
-" (\"|\"). , - , "
-" , . \"My printer|lp\".\n"
-" \"lp\" () , "
-".\n"
-"\n"
-"\n"
-" * Spool : , "
-". \n"
-" , \n"
-"\n"
-"\n"
-" * : "
-", \" \".\n"
-" Unix , "
-" \" LPD \".\n"
-"\n"
-"\n"
-" Microsoft Windows "
-" ( Unix SMB\n"
-" ), \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" NetWare , "
-"\"NetWare\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-" . , , \n"
-" .\n"
-"\n"
-"\n"
-" , . \n"
-" \"/dev/lp0\" GNU/Linux \"LPT1\" Microsoft Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr " -."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-", .\n"
-", , .\n"
-"\n"
-"\n"
-" , "
-" ."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-" root Linux-Mandrake .\n"
-" , "
-".\n"
-"\n"
-"\n"
-"Root , "
-"\n"
-" . .\n"
-" root "
-"\n"
-" , .\n"
-"\n"
-"\n"
-" - 8\n"
-". .\n"
-"\n"
-"\n"
-" , : "
-"\n"
-" ."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-" - , \" shadow \"\n"
-" \" MD5 \"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-" NIS, \" NIS\". ,\n"
-" ."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-" \"\" \n"
-", \"\" \n"
-" \"root\". , \n"
-" . \n"
-" ( , ..)\n"
-" \"Home\" , \n"
-" .\n"
-"\n"
-"\n"
-" . ,\n"
-" .\n"
-"\n"
-"\n"
-" , \n"
-", ."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-" boot . \n"
-" , \n"
-" ."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-" \n"
-" , GNU/Linux.\n"
-"\n"
-"\n"
-" , , \" \n"
-" (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-" , \"/dev/hda\"\n"
-"( IDE ) \"/dev/sda\" ( SCSI )."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO ( LInux LOader) Grub bootloader-: \n"
-"GNU/Linux "
-".\n"
-", \n"
-". , \n"
-" . .\n"
-"\n"
-"\n"
-" ,\n"
-" . ,\n"
-" boot-, !"
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-" LILO GRUB :\n"
-" - Boot : (.. \n"
-"), boot . \"/dev/hda\", \n"
-" .\n"
-"\n"
-"\n"
-" - : \n"
-" , \n"
-". , "
-"\n"
-" . , \"delay\" \n"
-" .\n"
-"\n"
-"\n"
-" - : VGA , \n"
-" . :\n"
-" * normal: 80x25 .\n"
-"\n"
-" * <number>: .\n"
-"\n"
-"\n"
-" - \"/tmp\" : \n"
-" \"/tmp\", ,\n"
-" .\n"
-"\n"
-"\n"
-" - RAM, : , , \n"
-" BIOS RAM . , GNU/Linux \n"
-" RAM. , \n"
-" RAM. , 2 4 MB\n"
-" RAM ."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO bootloader SPARC: o \n"
-"GNU/Linux , "
-".\n"
-", \n"
-". , \n"
-" . .\n"
-"\n"
-"\n"
-" ,\n"
-" . ,\n"
-" boot-, !"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-" SILO :\n"
-" - bootloader : , \n"
-" GNU/Linux. \n"
-", \" (MBR)\".\n"
-"\n"
-"\n"
-" - : \n"
-" , \n"
-". , \n"
-" . , \"delay\" \n"
-" ."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-" X Window System, \n"
-"GNU/Linux GUI ( ). \n"
-" . - \n"
-", \n"
-" :)\n"
-"\n"
-"\n"
-" , X ( \n"
-"DrakX ), . \n"
-" , , \n"
-" ."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-" X, \n"
-" X Window ."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-" , \"\". \n"
-" , \"\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-" . , "
-" \n"
-". , , "
-".\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-" .\n"
-"\n"
-" , Linux Mandrake \n"
-". ,\n"
-" ."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr " "
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr " "
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr " "
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr " "
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr " "
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr " "
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr " "
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr " "
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr " "
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr " root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr " "
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr " "
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr " "
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr " boot-"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr " bootloader"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr " "
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr " "
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr " FAT %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr " FAT"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-" , ``linux "
-"defcfg=floppy''"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr " $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr ", "
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr " ,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr " !"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-" `` '' , "
-" .\n"
-" : %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-" root-.\n"
-" ( ).\n"
-" `` '' `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr " swap-"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-" swap-\n"
-"\n"
-" ?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr " , "
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr " Windows loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr " Linux4Win ?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr " root- MB: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr " swap- MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr " Windows "
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr " ?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr " Windows "
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-" FAT , \n"
-" : %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-" Windows , ''defrag''"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"!\n"
-"\n"
-"DrakX Windows . : "
-" \n"
-". , scandisk (\n"
-" defrag) Windows , \n"
-" . .\n"
-" , ."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr " windows?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr " %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr " FAT: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-" FAT loopback ( "
-" )"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr " Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr " , ?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr " e %s "
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr " fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-" %s.\n"
-" , `w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr " DrakX :"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr " : %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr " "
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-" , .\n"
-" ."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr " %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-" .\n"
-" CDROM .\n"
-" \"rpm -qpl "
-"Mandrake/RPMS/*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr " %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr " "
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr " `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr " , "
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr " : "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr ": %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr ": %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr " , "
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr ", , "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr " %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr " ?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr " :"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr " X11 ?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-" . \n"
-" Linux-Mandrake. . "
-",\n"
-" 'F1', CDROM ''."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr ", :"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr " , , %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-" - ,\n"
-" , .\n"
-"\n"
-" - ;\n"
-" 100%% ."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-" %d%% .\n"
-"\n"
-" - ,\n"
-" , .\n"
-" - ;\n"
-" %d%% ."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr " - ."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr ": %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr ": %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr " : %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-" , "
-""
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr " / "
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr " , "
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr " . "
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-" \n"
-" , ?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr " . "
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr ", , "
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d "
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"\n"
-"\n"
-", -. ,\n"
-" CD . \n"
-"'', .\n"
-"\n"
-"\n"
-" CD \n"
-" GPL . \n"
-" . , \n"
-" "
-"\n"
-".\n"
-" , ( \n"
-"), , , \n"
-" .\n"
-" \n"
-" . ,\n"
-" \n"
-" . , \n"
-" .\n"
-" , \n"
-" , .\n"
-"\n"
-"\n"
-" CD \n"
-" \n"
-" .\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-" CD-ROM !\n"
-"\n"
-", CD-ROM \"%s\" Ok, "
-" .\n"
-" , , CD-"
-"ROM."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr " :"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr ", ."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr " , "
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"\n"
-"\n"
-" Linux-Mandrake "
-" - \n"
-" \" \". , "
-" , \n"
-", , "
-" \n"
-" Linux-Mandrake .\n"
-"\n"
-"\n"
-"1. \n"
-"\n"
-", . "
-" \n"
-"MandrakeSoft S.A., . "
-", \n"
-" "
-" \n"
-" .\n"
-" , , "
-" \n"
-" . , "
-" \n"
-" "
-" \n"
-" . , "
-" \n"
-" .\n"
-"\n"
-"\n"
-"2. \n"
-"\n"
-" \" "
-" \", ,\n"
-" .\n"
-"MandrakeSoft S.A., , "
-" e\n"
-", , ( "
-", ,\n"
-", , "
-" \n"
-" ) "
-" \n"
-" , MandrakeSoft S.A. "
-" .\n"
-"\n"
-" "
-" \n"
-"\n"
-" , MandrakeSoft S.A. "
-" \n"
-" , , "
-"( \n"
-" , , , , "
-" \n"
-" ) "
-" \n"
-" "
-" Linux-Mandrake,\n"
-" .\n"
-" , , "
-" \n"
-" .\n"
-"\n"
-"\n"
-"3. GPL \n"
-"\n"
-" "
-". \n"
-" GNU "
-", \n"
-"\"GPL\", . "
-", , \n"
-" , . , "
-" \n"
-" . "
-" \n"
-" , "
-" MandrakeSoft.\n"
-" MandrakeSoft S.A. GPL . "
-" \n"
-" MandrakeSoft S.A. . , "
-" \n"
-" .\n"
-"\n"
-"\n"
-"4. \n"
-"\n"
-" "
-" \n"
-" "
-" .\n"
-"MandrakeSoft S.A. "
-", \n"
-", .\n"
-"\"Mandrake\", \"Linux-Mandrake\" "
-"MandrakeSoft S.A.\n"
-"\n"
-"\n"
-"5. \n"
-"\n"
-" , "
-" ,\n"
-" . "
-" .\n"
-" .\n"
-" "
-". ,\n"
-" - "
-".\n"
-" , , MandrakeSoft S.A.\n"
-"\n"
-": , "
-", \n"
-" . - "
-" \n"
-".\n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr ", ."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr " ?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "/"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr " ?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr ", ."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr ", ."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr " 2 "
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr " 3 "
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr " PCMCIA ..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr " IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-" , :(\n"
-" ( "
-"!).\n"
-" DrakX .\n"
-"( %s)\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake .\n"
-" !"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Root "
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr " root- (/) ?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr " , "
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr " , "
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr " ?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr " owe"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-" swap , "
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-" (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr " (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr " (%d Mb)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr " (%dMb)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-" CD- -, Ok.\n"
-" CD-, .\n"
-" CD-, , Ok. "
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CD-ROM \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-" %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-" .\n"
-"\n"
-":\n"
-"\n"
-" \n"
-", / \n"
-" , , \n"
-"/ .\n"
-"\n"
-" / \n"
-" . / \n"
-" , \n"
-".\n"
-" Mandrakesoft /\n"
-" \n"
-", (, \n"
-" , , \n"
-" , \n"
-" ) , \n"
-" , / \n"
-" .\n"
-"\n"
-" , , \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr " , "
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr ", , ."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr " ?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr " GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr " CUPS "
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "ISDN "
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV "
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr " ?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr " ( %d )"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr " NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr " NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS "
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS "
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-" bootdisk Linux "
-"\n"
-" bootloader. , \n"
-"SILO , SILO\n"
-" SILO . bootdisk\n"
-" \n"
-" Mandrake, \n"
-" .\n"
-"\n"
-" bootdisk , \n"
-" \"Ok\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-" bootdisk Linux "
-"\n"
-" . , "
-"\n"
-"LILO ( GRUB) "
-" LILO LILO \n"
-" . Bootdisk- \n"
-" Mandrake, \n"
-" . bootdisk ?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr " , "
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr " bootloader"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr " aboot ?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-" aboot, \n"
-" , ?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr " bootloader . :"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-" Open Firmware ,\n"
-" . \n"
-" , Command-Option-O-F :\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" : shut-down\n"
-" \n"
-" ."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-" Linux ?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-" .\n"
-"\n"
-" ?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-", .\n"
-" Enter .\n"
-"\n"
-" , Linux-Mandrake,\n"
-" Errata, : http://www.linux-mandrake.com/.\n"
-"\n"
-" \n"
-" Official Linux-Mandrake User's Guide."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-" ,\n"
-" !!!\n"
-"( ).\n"
-"\n"
-" .\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr " "
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr " Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> | <Space> | <F12> "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr " kdesu"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr " "
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "..... (%s), -\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr " , \n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? ( %s)"
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr " ? ( %s)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr " ? ( %s, 'none' )"
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr " (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr ""
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr ""
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr ""
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "U "
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "US "
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr " ( )"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr " (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr " ( )"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr " ( )"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr " (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr " ( )"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr " (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr " (\"\" )"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr " (\"\" )"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr ""
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr ""
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr ""
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr " 106 "
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr " "
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr ""
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr ""
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr " AZERTY ()"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr " AZERTY ()"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr " \" \" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr " \"\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr " (QWERTY )"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr " (QWERTZ )"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr ""
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr " (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr " (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr " "
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr " ( \"F\" )"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr " ( \"Q\" )"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "US ()"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr " \" \" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr " (/)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr " \n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr " Sun"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr " PS2 "
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington THinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genuis NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 "
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr ""
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Wheel"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr ""
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr " 2- "
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr " 3- "
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (, C7)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "BUS "
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 "
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 "
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr ""
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr " "
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr " ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- "
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr " "
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr " ..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr " ."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr " , ."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-" .\n"
-" ."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr " "
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr " IDSN"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-" .\n"
-" , Unlisted"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr " "
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr ", -"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ "
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr " (DMA) "
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "IO "
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "IO_0 "
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "IO_1 "
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr " "
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr " (. provider.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr " "
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "1- DNS "
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "2- DNS "
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr " "
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr " ( )"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr " "
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr " (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr " "
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-" \n"
-" D- ( )"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr " "
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-" ISA , .\n"
-"\n"
-" PCMCIA , IRC IO .\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr ""
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr " ISDN ?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-" ISDN PCI , . PCI "
-" ."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr " ISDN PCI . ."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-" .\n"
-" ."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr " "
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ", "
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr " "
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-" ?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr " :\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr " ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr ", ."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr " "
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr " "
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr " "
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr " "
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr " "
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr " "
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr " "
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr " DNS ( )"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr " DNS ( )"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-" $netc->{NET_DEVICE}. "
-" ?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr " "
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr " "
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr " "
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr " "
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr " (LAN )"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr " "
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr " "
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr " ISDN "
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr " ISDN "
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr " ISDN ?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr " "
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"- ADSL PPPOE.\n"
-" PPTP, ma DHCP.\n"
-" , ' PPPOE'."
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr " DHCP"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr " PPPOE"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr " PPPTP"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr " %s. ?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-" DHCP ?\n"
-" dhcpcd ?"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr " "
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-" :\n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-" , .\n"
-" Ok, , , "
-" .\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-" \n"
-"\n"
-" / .\n"
-" , .\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr " "
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr " "
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr " ..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr " "
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr " %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN "
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr " %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL ( ADSL) "
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr " %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr " "
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "LAN "
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "ethernet "
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr " ?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-", .\n"
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-" , X\n"
-" , ."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr " "
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr " "
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-", .\n"
-" DHCP .\n"
-"Host ,\n"
-" ``mybox.mylab.myco.com''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr " :"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-": .\n"
-" , .\n"
-" - ."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-", IP .\n"
-" IP \n"
-" - (, 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr " %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " ( $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP "
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr " "
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr " IP "
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-", host name .\n"
-"Host ,\n"
-" ``mybox.mylab.myco.com''.\n"
-" IP gateway, "
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS "
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Gateway"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Gateway "
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr " proxy"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP proxy"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Proxy- http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Proxy- ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr " "
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-" , .\n"
-" , "
-" extended-"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr " %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr " %s : %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr " backup-"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr " %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-" .\n"
-" .\n"
-" , \n"
-" "
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr ""
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr ""
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr " "
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr ""
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr " "
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr " "
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr " LPD "
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr " (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr " URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr " \"%s\", "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-" \n"
-"(: /dev/lp0 LPT1) ?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr " lpd-"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-" lpd-, \n"
-" , \n"
-"."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) "
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-" SMB , \n"
-" SMB ( ! TCP/IP !)\n"
-" IP , \n"
-", , \n"
-" ."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr " SMB "
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP SMB :"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr " NetWare "
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-" NetWare , \n"
-" , , ,."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr " Socket "
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-" socket , \n"
-" , , ."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr " URI CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr " ?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr " ?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr " (/) (/) ..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-" .\n"
-" .\n"
-" :\n"
-"%s\n"
-"\n"
-" ?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-" .\n"
-" .\n"
-" ?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr ", ASCII "
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr ", PostScript "
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr ", "
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr " ?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr " Uniprint "
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr " PostScript ?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr " stair-stepping ?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "/ (1/72 )"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "/ (1/72 )"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr " GhostScript "
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr " ?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-" .\n"
-" ."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr " CUPS"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr " CUPS ..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr " ?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-" CUPS , \n"
-" ; .\n"
-" , \" CUPS \"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-" CUPS , \n"
-" ; ,\n"
-" ; ,\n"
-" IP \n"
-"CUPS ."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "IP CUPS "
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr " , "
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-" (, \"lp\").\n"
-" \n"
-" . \n"
-" ?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-" ( ) \n"
-" ( lp) spool- . \n"
-" "
-" ?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Spool-"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr " "
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr " __ RAID md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr " $file "
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid "
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid ( raidtools ?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr " RAID %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacrton - ."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd \n"
-"syslog. , "
-"."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-" at \n"
-" , ."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron UNIX , \n"
-" . vixie cron \n"
-"UNIX cron, - ."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM - Linux \n"
-"Midnight Commander. \n"
-"-- , ."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache World Wide Web (WWW) . HTML "
-"\n"
-" CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Internet superserver daemon ( inetd) \n"
-" . \n"
-"telnet, ftp, rsh rlogin. inetd ,\n"
-" ."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-" /etc/sysconfig/"
-"keyboard.\n"
-" kbdconfig. "
-" ."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd lpr . \n"
-", (/)."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) Domain Name Server (DNS), \n"
-" IP ."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-" Network File System (NFS), SMB (LAN\n"
-"Manager/Windows), NCP (NetWare)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"/ , \n"
-" ."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS TCP/IP .\n"
-" NFS , \n"
-" /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS TCP/IP .\n"
-" NFS ."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA ethernet \n"
-"laptop-. , \n"
-"- , ."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"portmapper RPC , \n"
-"NFS NIS. portmap , \n"
-" , RPC ."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix Main Transport Agent (MTA), \n"
-" ."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-" - \n"
-" ."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"touted IP \n"
-"RIP . RIP , -\n"
-" . "
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"rstat \n"
-" ."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"rusers \n"
-" ."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"rwho \n"
-" rwho ( "
-"finger)."
-
-#: ../../services.pm_.c:85
-#, fuzzy
-msgid "Launch the sound system on your machine"
-msgstr " X-Window "
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog \n"
-" (). ."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr " X Font Server ."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr " , "
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr ""
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr ""
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr " "
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-" \n"
-" , ."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr " "
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-" , :(\n"
-" "
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr " "
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr " "
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-" .\n"
-" .\n"
-"\n"
-" ?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr " ..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr " ."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr " ."
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-" .\n"
-" .\n"
-"\n"
-" ?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr " ..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr " ."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr " ."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr " "
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-" , \n"
-". , \n"
-" .\n"
-"\n"
-": , "
-" (LAN)."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr " %s ( %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr " %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr " !"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-" ethernet . , "
-" ."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-" :\n"
-"\n"
-"%s\n"
-"\n"
-" ."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-" ."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ", . ."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr " LAN $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr " !"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-" ! . "
-" ."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr " ..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-" , , ..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr " $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr " !"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-" .\n"
-" "
-" (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr " , ."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr " ."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr " ."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr " "
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-" !\n"
-"\n"
-"%s\n"
-"\n"
-" ``'', ."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr " (%d )"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr ": "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr " ..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr " :"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr " ..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr " :"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr " :"
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr " "
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr ": "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Gateway:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr ":"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ":"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr " "
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr " ..."
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr " ..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr " ..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-" .\n"
-" , \n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-" root."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr " ."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr " ..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr " LAN"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr " ..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr " "
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr ", ... "
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr " "
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr " %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr " "
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr " "
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP "
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr " "
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr " "
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr " : "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "1- DNS ( )"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "2- DNS ( )"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Ethernet "
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP "
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr " Cracker-"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr ""
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr ""
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-" . - \n"
-", -: \n"
-" . ."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-" , "
-"."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-" . , \n"
-" ."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-" , \n"
-" . "
-". "
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-" , "
-".\n"
-" \n"
-" . "
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-" 4- , .\n"
-" ."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr " "
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr " "
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr " , "
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ": keyboarddrake [--expert] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr " BackSpace Delete ?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr " CD-ROM"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-", CD-ROM Ok, "
-" .\n"
-" , , CD-"
-"ROM."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr " !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr " serial_usb\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr " ?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr ", "
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr " "
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr " : "
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr " : "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr " "
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr " "
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr " ."
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr " ."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr " ."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-" .\n"
-" Mandrake Control Center."
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ": "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ": "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr " "
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr " "
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-" \n"
-"\n"
-" .\n"
-" , "
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-" \n"
-"\n"
-" , "
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-" \n"
-"\n"
-" Linux Mandrake .\n"
-" , , \n"
-"MandrakeSecurity Firewall ."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-" , \n"
-" . , \n"
-" , .\n"
-"\n"
-", , .\n"
-" , , \n"
-" !"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-" Web , \n"
-" ? , ,\n"
-" .\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-" Name ? \n"
-" IP- , , .\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-" Secure SHell (SSH) ? \n"
-" telnet, . \n"
-" telnet, SSH.\n"
-"Telnet -- \n"
-" , . SSH \n"
-"."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-" telnet ?\n"
-" , . \n"
-" SSH \n"
-"telnet.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-" FTP , ?\n"
-" , .\n"
-" FTP \n"
-", FTP .\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-" ? \n"
-" pine, mutt ,\n"
-" . , .\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-" POP IMAP ? \n"
-" -web- \n"
-" .\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-" 2.2 . IP \n"
-" ( ),\n"
-" . ?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-" ?\n"
-" - Unix/Linux ,\n"
-" .\n"
-" - ,\n"
-" ."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-" . ?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr " %s: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr " %s : %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr " SSH"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ", Firewall/"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr " ()"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr " : MP3 MIDI , , .. "
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-" (pine, mutt, "
-"tin..) "
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr " C C++, include "
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr " , gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS , SMB , Proxy , SSH "
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm .."
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "FND/NIS"
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr " : , , .."
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr " / "
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ", , , "
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr " HOTWO- Linux "
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-" desktop "
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr " , "
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr " The Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"The K Desktop Environment, "
-""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr " desktop- (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr " CD-"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr " - CD"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ", , "
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ", -"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-" : word- (kword, abiword), (kspread, gnumeric), "
-" PDF, .."
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ", Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE "
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr " desktop-"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ", /Groupware/"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr " Palm Pilot Visor- "
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, .."
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr " , , web, , "
-
-#~ msgid "GB"
-#~ msgstr ""
-
-#~ msgid "KB"
-#~ msgstr ""
-
-#~ msgid "TB"
-#~ msgstr ""
-
-#~ msgid "%d minutes"
-#~ msgstr "%d "
-
-#~ msgid "1 minute"
-#~ msgstr "1 "
-
-#~ msgid "%d seconds"
-#~ msgstr "%d "
-
-#~ msgid "cannot fork: "
-#~ msgstr " : "
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr " LAN"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr " %d%s"
-
-#~ msgid "Opening your connection..."
-#~ msgstr " ..."
-
-#~ msgid "Configure..."
-#~ msgstr " ..."
-
-#~ msgid "Standard tools"
-#~ msgstr " "
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr " usb ."
-
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr " Lilo/Grub"
-
-#~ msgid "Boot style configuration"
-#~ msgstr " "
-
-#~ msgid "Automatic dependencies"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ ", ,\n"
-#~ " .\n"
-#~ ": , "
-#~ " (LAN).\n"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr " LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr " boot-"
-
-#~ msgid "Format floppy"
-#~ msgstr " "
-
-#~ msgid "Choice"
-#~ msgstr ""
-
-#~ msgid "horizontal nice looking aurora"
-#~ msgstr " - aurora"
-
-#~ msgid "vertical traditional aurora"
-#~ msgstr " aurora"
-
-#~ msgid "gMonitor"
-#~ msgstr "gMonitor"
-
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ " .\n"
-#~ "\n"
-#~ "* : "
-#~ " , \n"
-#~ " : , "
-#~ " . , \n"
-#~ " , , "
-#~ " , .\n"
-#~ "\n"
-#~ "\n"
-#~ "* : "
-#~ "\n"
-#~ " . , . , "
-#~ "\n"
-#~ " , .\n"
-#~ "\n"
-#~ "\n"
-#~ "* RAM, : , , "
-#~ " BIOS RAM . \n"
-#~ " , GNU/Linux "
-#~ "RAM. , \n"
-#~ " RAM. , 2 4 MB "
-#~ " RAM .\n"
-#~ "\n"
-#~ "\n"
-#~ "* : "
-#~ " (CD-ROM,\n"
-#~ " , Zip ..) \"mount\" \"umount\", "
-#~ ".\n"
-#~ "\n"
-#~ "\n"
-#~ "* \"/tmp\" : "
-#~ " \"/tmp\",\n"
-#~ " , .\n"
-#~ "\n"
-#~ "\n"
-#~ "* NumLock : NumLock "
-#~ " , . , \n"
-#~ " "
-#~ " X)."
-
-#~ msgid "Sorry, the mail configuration is not yet implemented. Be patient."
-#~ msgstr ""
-#~ ", . ."
-
-#~ msgid ""
-#~ "Welcome to The Network Configuration Wizard.\n"
-#~ "Which components do you want to configure?\n"
-#~ msgstr ""
-#~ " .\n"
-#~ " ?\n"
-
-#~ msgid "Internet/Network access"
-#~ msgstr "/ "
-
-#~ msgid "Mail information"
-#~ msgstr " "
-
-#~ msgid "Miscellaneous"
-#~ msgstr ""
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr " "
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr " supermount "
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ ": , ROOT "
-#~ " !\n"
-#~ " root, "
-#~ " \"su\".\n"
-#~ " , , "
-#~ ". ."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ ", numlock \n"
-#~ " (: 'p' '6')"
-
-#~ msgid "not connected"
-#~ msgstr " "
-
-#~ msgid "Scientific applications"
-#~ msgstr " "
-
-#~ msgid "File/Print/Samba"
-#~ msgstr ", //Samba"
-
-#~ msgid "DNS/DHCP "
-#~ msgstr ", DNS/DHCP "
-
-#~ msgid "First DNS Server"
-#~ msgstr " DNS "
-
-#~ msgid "Second DNS Server"
-#~ msgstr " DNS "
-
-#~ msgid "using module"
-#~ msgstr " "
-
-#~ msgid "Development, Database"
-#~ msgstr ", -"
-
-#~ msgid "Development, Integrated Environment"
-#~ msgstr ", "
-
-#~ msgid "Development, Standard tools"
-#~ msgstr ", "
-
-#~ msgid ""
-#~ "\n"
-#~ "Warning:\n"
-#~ "Applying the changes while running may crash your X environnement."
-#~ msgstr ""
-#~ "\n"
-#~ ":\n"
-#~ " X ."
-
-#~ msgid ""
-#~ "\n"
-#~ "If you continue, I will shut down your %s environnement"
-#~ msgstr ""
-#~ "\n"
-#~ " , %s "
-
-#~ msgid "eth$_"
-#~ msgstr "eth$_"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr ""
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr " ?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr " "
-
-#~ msgid "Try to find a modem?"
-#~ msgstr " ?"
-
-#~ msgid "Disable Internet Connection"
-#~ msgstr " "
-
-#~ msgid "Configure local network"
-#~ msgstr " "
-
-#~ msgid "Disable networking"
-#~ msgstr " "
-
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr " / "
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ " .\n"
-#~ " :"
-
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr " ..."
-
-#~ msgid "Graphics Manipulation"
-#~ msgstr " "
-
-#~ msgid "Multimedia"
-#~ msgstr ""
-
-#~ msgid "Sciences"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ " (IRC ) xchat, licq, gaim "
-#~ " "
-
-#~ msgid "Communication facilities"
-#~ msgstr " "
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Internet Tools"
-#~ msgstr " "
-
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr " (MySQL PostgreSQL)"
-
-#~ msgid "Development C/C++"
-#~ msgstr " C/C++"
-
-#~ msgid "Configure timezone"
-#~ msgstr " "
-
-#~ msgid "Configure printer"
-#~ msgstr " "
-
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr " 1 (eth0):"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "( )"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr " ?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr " Num Lock- "
-
-#~ msgid "Confirm Password"
-#~ msgstr " "
-
-#~ msgid "default"
-#~ msgstr " "
-
-#~ msgid "What is your system used for?"
-#~ msgstr " ?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr " , "
-
-#~ msgid "Use diskdrake"
-#~ msgstr " diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ " , ?\n"
-#~ " , .\n"
-#~ " : ``Use shadow file for passwords?'',\n"
-#~ " ?"
-
-#~ msgid "Use shadow file"
-#~ msgstr " shadow "
-
-#~ msgid "shadow"
-#~ msgstr "shadow"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr " MD5 "
-
-#~ msgid "Search"
-#~ msgstr ""
-
-#~ msgid "Package"
-#~ msgstr ""
-
-#~ msgid "Text"
-#~ msgstr ""
-
-#~ msgid "Tree"
-#~ msgstr ""
-
-#~ msgid "Sort by"
-#~ msgstr " "
-
-#~ msgid "Category"
-#~ msgstr ""
-
-#~ msgid "See"
-#~ msgstr ""
-
-#~ msgid "Installed packages"
-#~ msgstr " "
-
-#~ msgid "Available packages"
-#~ msgstr " "
-
-#~ msgid "Show only leaves"
-#~ msgstr " "
-
-#~ msgid "Expand all"
-#~ msgstr " "
-
-#~ msgid "Collapse all"
-#~ msgstr " "
-
-#~ msgid "Add location of packages"
-#~ msgstr " "
-
-#~ msgid "Update location"
-#~ msgstr " "
-
-#~ msgid "Remove"
-#~ msgstr ""
-
-#~ msgid "Find Package"
-#~ msgstr " "
-
-#~ msgid "Find Package containing file"
-#~ msgstr " "
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr " "
-
-#~ msgid "Uninstall"
-#~ msgstr ""
-
-#~ msgid "Choose package to install"
-#~ msgstr " "
-
-#~ msgid "Checking dependencies"
-#~ msgstr " "
-
-#~ msgid "Wait"
-#~ msgstr " "
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr " "
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr " "
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "Which package are looking for"
-#~ msgstr " "
-
-#~ msgid "%s not found"
-#~ msgstr "%s "
-
-#~ msgid "No match"
-#~ msgstr " "
-
-#~ msgid "No more match"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake `` ''.\n"
-#~ " rpmdrake, "
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr " ?"
-
-#~ msgid "What are looking for?"
-#~ msgstr " ?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr " (.: `extra', `commercial')"
-
-#~ msgid "Directory"
-#~ msgstr ""
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr " CDROM ( /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL RPM"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ " FTP HTTP, hdlist\n"
-#~ " URL- "
-
-#~ msgid "Please submit the following information"
-#~ msgstr ", "
-
-#~ msgid "%s is already in use"
-#~ msgstr " %s "
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr " RPM "
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr " %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr " "
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr " "
-
-#~ msgid "Alcatel modem"
-#~ msgstr " Alcatel"
-
-#~ msgid "ECI modem"
-#~ msgstr " ECI"
-
-#~ msgid "France"
-#~ msgstr ""
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr " ISDN :\n"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr ""
-#~ " ADSL Alcatel, Alcatel. , ECI."
-
-#~ msgid "In which country are you located ?"
-#~ msgstr " ?"
-
-#~ msgid "KDE, QT, Gnome, GTK+"
-#~ msgstr "KDE, QT, Gnome, GTK+"
-
-#~ msgid "Other countries"
-#~ msgstr " "
-
-#~ msgid "Python, Perl, libraries, tools"
-#~ msgstr "Python, Perl, , "
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr " ?"
-
-#~ msgid "don't use pppoe"
-#~ msgstr " PPPOE"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n ()"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n ()"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n ( )"
-
-#~ msgid "interesting"
-#~ msgstr ""
-
-#~ msgid "mandatory"
-#~ msgstr ""
diff --git a/perl-install/share/po/br.po b/perl-install/share/po/br.po
deleted file mode 100644
index e54c49bdb..000000000
--- a/perl-install/share/po/br.po
+++ /dev/null
@@ -1,8684 +0,0 @@
-# DrakX e Brezhoneg.
-# Copyright (C) 1999-2000 MandrakeSoft
-# Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999-2000
-# Ja-Mai Drapier <jan-mai.drapier@mail.dotcom.fr>, 1999-2000
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 1999-12-30 15:29+0100\n"
-"Last-Translator: Ja-Mai Drapier <jan-mai.drapier@mail.dotcom.fr>\n"
-"Language-Team: Brezhoneg <ofisk@wanadoo.fr>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr "o lenn ar c'hefluniadur"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Kartenn c'hrafek"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Diuzit ur gartenn c'hrafek"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Dibabit ur servijer X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "servijer X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-#, fuzzy
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Pe seurt enmont a vennit ouzhpenna"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:371
-#, fuzzy
-msgid "XFree configuration"
-msgstr "Kefluniadur goude stalia"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Diuzit ment memor ho kartenn c'hrafek"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Dibabit dibarzho ar servijer"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Dibabit ur skramm"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Skramm"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"An div arventenn dreistpouezus a zo ar feur freskaat a-serzh, da lavaret eo "
-"ar\n"
-"feur ma vez freskaet ar skramm a-bezh, ha pouezusuc'h c'hoazh ar feur "
-"kempreda\n"
-"a-led, da lavaret eo ar feur ma vez diskwelet linenno skuba.\n"
-"\n"
-"HOLLBOUEZHUS eo deoc'h na spisaat ur seurt skramm gant ur feur kempreda\n"
-"a zo en tu-hont da varregezh ho skramm : gallout a rafe gwasta ho skramm\n"
-" M'hoc'h eus douetas, dibabit ur c'hefluniadur fur."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Feur freskaat a-led"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Feur freskaat a-serzh"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Skramm ket kefluniet"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Kartenn c'hrafek ket kefluniet c'hoazh"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Spisterio ket dibabet c'hoazh"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Mennout a rit amproui ar c'hefluniadur ?"
-
-#: ../../Xconfigurator.pm_.c:555
-#, fuzzy
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Da ziwall : arvarus eo amproui ar gartenn c'hrafek-ma"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Amproui ar c'hefluniadur"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"klaskit kemma arventenno 'zo"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "C'hoarvezet eo ur fazi :"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Kuitaat e %d eilenn"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Ha reizh eo ar c'hefluniadur ?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "C'hoarvezet eo ur fazi, klaskit kemma arventenno 'zo"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Spister"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Dibabit ar spister ha donder al livio"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Kartenn c'hrafek : %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Servijer XFree86 : %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr "Mailh"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Diskouez pep tra"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Spisterio"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Reizhadur ar stokellaoueg : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Seurt logodenn : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Trobarzhell al logodenn : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Skramm : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "KempredA-led ar skramm : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "FreskA-serzh ar skramm : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Kartenn c'hrafek : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Memor c'hrafek : %s ko\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, fuzzy, c-format
-msgid "Color depth: %s\n"
-msgstr "Dibarzho donder liv"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, fuzzy, c-format
-msgid "Resolution: %s\n"
-msgstr "Spisterio"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Servijer XFree86 : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, fuzzy, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Servijer XFree86 : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "O prienti kefluniadur X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Petra a vennit ober ? "
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Kemma ar skramm"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Kemma ar gartenn c'hrafek"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Kemma dibarzho ar servijer"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Kemma ar spister"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Diskouez titouro"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Amproui adarre"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Kuitaat"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, fuzzy, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr "Derc'hel ar c'hefluniadur IP o ren"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Adereit ouzh %s evit bevaat ar c'hemmo mar plij"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Dizereit mar plij ha neuze implijit Ctrl-Alt-WarGil"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X pa loc'her"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Keflunia ho urzhiataer evit lasa X ent emgefreek pa loc'ho a c'hella.\n"
-"Mennout a rit lasa X pa adloc'hit ?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 liv (8 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mil liv (15 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mil liv (16 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 milion a livio (24 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 miliard a livio (32 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 ko"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 ko"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 Mo"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 Mo"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 Mo"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 Mo"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 Mo pe vuioc'h"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "VGA standard, 640x480 da 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Gour-VGA, 800x600 da 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "Kenglotus 8514, 1024x768 da 87 Hz pebeilet (800x600 ebet)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Gour-VGA, 1024x768 da 87 Hz pebeilet, 800x600 da 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Gour-VGA astennet, 800x600 da 60 Hz, 640x480 da 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "G-VGA nann-pebeilet, 1024x768 da 60 Hz, 800x600 da 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "G-VGA talm uhel, 1024x768 da 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Lies-talm a c'hell ober 1280x1024 da 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Lies-talm a c'hell ober 1280x1024 da 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Lies-talm a c'hell ober 1280x1024 da 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Skramm a c'hell ober 1600x1200 da 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Skramm a c'hell ober 1600x1200 da 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Rann genta ar parzhadur loc'ha"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Rann genta ar bladenn (MBR)"
-
-#: ../../any.pm_.c:103
-#, fuzzy
-msgid "SILO Installation"
-msgstr "Staliadur LILO/grub"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Pelec'h e mennit stalia ar c'harger loc'ha ?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Staliadur LILO/grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-#, fuzzy
-msgid "Yaboot"
-msgstr "Gwrizienn"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Dibarzho penna ar c'harger loc'ha"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-#, fuzzy
-msgid "Bootloader to use"
-msgstr "Dibarzho penna ar c'harger loc'ha"
-
-#: ../../any.pm_.c:151
-#, fuzzy
-msgid "Bootloader installation"
-msgstr "Dibarzho penna ar c'harger loc'ha"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Trobarzhell loc'ha"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (ne da ket en-dro gant BIOSo kozh)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Fetis"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "fetis"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Mod video"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Gedvezh kent loc'ha ar skeudenn dre ziouer"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Tremenger"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Tremenger (adarre)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Strishaat dibarzho al linenn urzhia"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "strishaat"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Skara /tmp bep ma loc'her"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Spisait ment ar memor vev diouzh ret (kavet %d Mo)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Aotren lies trolinenn"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Roit ment ar memor vev e Mo"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr "Didalvout eo ``Strishaat dibarzho al linenn urzhia'' hep tremenger"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Klaskit adarre mar plij"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "An tremegerio ne glot ket"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-#, fuzzy
-msgid "Default OS?"
-msgstr "Dre ziouer"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Setu da heul an enmonto liesseurt.\n"
-"Gallout a rit ouzhpenna lod pe gemma a re a zo."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Ouzhpenna"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Graet"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "Kemma RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Pe seurt enmont a vennit ouzhpenna"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Reizhiado (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Reizhiado (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Reizhiado (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Skeudenn"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Gwrizienn"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Ouzhpenna"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lenn-skriva "
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Taolenn"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Arvarus"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Skridennad"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Dre ziouer"
-
-#: ../../any.pm_.c:284
-#, fuzzy
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Dilemel an enmont"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Berzet eo ar skridennado goullo"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "En implij eo ar skridennad-se endeo"
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr "Peseurt moullerez hoc'h eus ?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Kavet etrefas %s %s"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Hag un all hoc'h eus ?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Hag un etrefas %s bennak a zo ganeoc'h ?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Ket"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Ya"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Gwelet titouro periantel"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "O stalia ur sturier evit kartenn %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(mollad %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Pe sturier %s a zlefen amproui ?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"E degouezho 'zo, ar sturier %s en deus ezhomm titouro ouzhpenn evit mont\n"
-"en-dro reizh, daoust ma da en-dro mat hepto peurvuia. Ha mennout a rit "
-"spisaat\n"
-"dibabo ouzphenn evita, pe aotren d'ar sturier amproui ho penvek evit\n"
-"an titouro en deus ezhomm ? A-wecho, amproui a c'hell sac'ha un "
-"urzhiataer,\n"
-"hogen ne raio reuz ebet."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Embroui"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Spisait dibarzho"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Brema e c'hellit pourveza e zibarzho d'ar mollad %s"
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Brema e c'hellit pourveza e zibarzho d'ar mollad %s.\n"
-"Diouzh ar furmad ``anv=talvoud anv2=talvoud2...'' eo an dibabo.\n"
-"Da skouer, ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Dibarzho ar mollad :"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Karga ar mollad %s a zo sac'het.\n"
-"Mennout a rit klask adarre gant arventenno all ?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(ouzhpennet %s endeo)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Re eeun eo an tremeger"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Roit un anv arveriad mar plij"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"An anv arveriad a zle beza enna lizherenno munut, sifro, `-' ha `_' "
-"hepken"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "En implij eo an anv arveriad-se endeo"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Ouzhpenna un arveriad"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Skrivit un arveriad\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Aotren an arveriad"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Anv gwirion"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Anv arveriad"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Arlun"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr ""
-
-#: ../../any.pm_.c:767
-#, fuzzy
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Keflunia ho urzhiataer evit lasa X ent emgefreek pa loc'ho a c'hella.\n"
-"Mennout a rit lasa X pa adloc'hit ?"
-
-#: ../../any.pm_.c:769
-#, fuzzy
-msgid "Choose the default user:"
-msgstr "Dibabit ar ment nevez"
-
-#: ../../any.pm_.c:770
-#, fuzzy
-msgid "Choose the window manager to run:"
-msgstr "Dibabit ar benveg a vennit stalia"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, fuzzy, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Degemer mat e %s, an dibaber reizhiad oberian~ !\n"
-"\n"
-"Evit rollan~ an dibabou aotreet, stokit <TAB>.\n"
-"\n"
-"Evit kargan~ unan anezho, skrivit e anv ha stokit <ENKAS> pe c'hortozit %d "
-"eilenn evit al loc'han~ dre ziouer.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Degemer mat e GRUB an dibaber reizhiad oberia !"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Implijit ar stokello %c ha %c evit diuz pe enmont zo war wel"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Stokit enkas evit loc'ha ar RK diuzet, 'e' evit aoza an"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "urzhiado kent loc'ha, pe 'c' evit ul linenn-urzhia."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "An enmont war wel a vo loc'het ent emgefreek e %d eilenn."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Gorretaol"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Meuziad Lasa"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr "Kefluniadur goude stalia"
-
-#: ../../bootlook.pm_.c:79
-#, fuzzy
-msgid "/_File"
-msgstr "Restro :\n"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr ""
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr "Keflunia X"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Lugerezh ar voullerez"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr "Anv domani"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "Skramm"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "Kemma ar skramm"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr "Trobarzhell loc'ha"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Dre ziouer"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Nulla"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Staliadur LILO a zo sac'het. Degouezhet eo ar fazi a heul :"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Kroui"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Divarc'ha"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Dilemel"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Furmadi"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Adventa"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Seurt"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Poent marc'ha"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Skriva /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Tremen er mod mailh"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Tremen er mod boas"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Adaoza adalek ar restr"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Enrolla er restr"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Assevel adalek ar pladennig"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Enrolla war bladennig"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Skara an holl"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Furmadi an holl"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Ac'hubi ent emgefreek"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Ac'hubet eo an holl barzhadurio kenta renk"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "N'hellan ouzpenna parzhadur ebet ken"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Evit kaout muioc'h a barzhadurio, lamit unan evit ma c'hellot kroui ur "
-"parzhadur astennet mar plij"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Dizober"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Skriva an daolenn barzha"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr "Dilec'hia"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Disloa"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Goullo"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "All"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Seurt ar reizhiado restro :"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Munudo"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Ur mell barzhadur FAT hoc'h eus\n"
-"(implijet gant MicroSoft Dos/Windows peurliesa).\n"
-"Alia a ran ouzoc'h adventa ar parzhadur-se\n"
-"(klikit warni, da c'houde klikit war \"Adventa\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Gwarezit ho roado da genta mar plij"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lennit aketus !"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"M'emaoc'h e soj implijout aboot, taolit evezh leuskel un egor dieub (2048 "
-"rann\n"
-"a zo a-walc'h) e dero ar bladenn"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Bezit war evezh : arvarus eo an obererezh-ma."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Fazi"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Poent marc'ha :"
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Trobarzhell :"
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Lizher ar bladenn DOS : %s (diwar varteze hepken)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Seurt : "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Anv: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "O kregi : rann %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Ment: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s rann"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Kranenn %d da granenn %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Furmadet\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Ket furmadet\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Marc'het\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Restr(o) savetei : %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Parzhadur loc'het dre ziouer\n"
-" (evit loc'ha MS-DOS, ket evit lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Live %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Ment diaoz %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "Pladenno RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Anv ar restr savetei : %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Klikit war ur parzhadur mar plij"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Ment: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Mentoniezh : %s kranenn, %s penn, %s rann\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "Pladenno LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Seurt taolenn barzha : %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "war bus %d Nn %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Marc'ha"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Bevaat"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Ouzhpenna da RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Lemel diwar RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Kemma RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Ouzhpenna da LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Lemel diwar LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Implij da savetei"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Dibabit un obererezh"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Ma zigarezit na asanti kroui /boot ken pell war ar bladenn (war ur granenn "
-"> 1024).\n"
-"Pe e implijit LILO ha ne daio ket en-dro, pe ne rit ket ha n'hoc'h eus ket "
-"ezhomm a /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Lec'hiet eo ar parzhadur hoc'h eus diuzet da ouzphenna evel gwrizienn (/) "
-"en tu-hont\n"
-"d'ar 1024vet kranenn eus ar bladenn galet, ha n'hoc'h eus ket a barzhadur /"
-"boot.\n"
-"Ma vennit implijout ar merour loc'ha LILO, taolit pled da ouzhpenna ur "
-"parzhadur /boot"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Grit kentoc'h gant ``%s''"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Implijit ``Divarc'ha'' da genta"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Goude kemma seurt ar parzhadur %s, holl roado ar parzhadur-se a vo kollet"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Kenderc'hel evelato ?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Kuitaat hep enrolla"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Kuitaat hep skriva an daolenn barzha ?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Kemma seurt ar parzhadur"
-
-#: ../../diskdrake.pm_.c:517
-#, fuzzy
-msgid "Which filesystem do you want?"
-msgstr "Pe seurt parzhadur a vennit ?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Pelec'h e mennit marc'ha ar restr savetei %s ?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Pelec'h e mennit marc'ha an drobarzhell %s ?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"N'hellan ket dizober ar poent marc'ha dre m'eo implijet ar parzhadur-se\n"
-"evit savetei. Lamit ar savetei da genta"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"Goude furmadi ar parzhadur %s, holl roado ar parzhadur-se a vo kollet"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "O furmadi"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "O furmadi ar restr savetei %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "O furmadi ar parzhadur %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Goude furmadi an holl barzhadurio,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "kollet e vo holl roado war ar parzhadurio-se"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Dilec'hia"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Da beseurt pladenn e mennit dilec'hia ?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Rann"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Da beseurt rann e mennit dilec'hia ?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "O tilec'hia"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "O tilec'hia ur parzhadur..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "War-nes beza skrivet war bladenn eo taolenn barzha an ardivink %s !"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Ret e vo deoc'h adloc'ha a-raok ma talvezo ar c'hemm"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "O jedi bevenno ar reizhiad restro FAT"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Oc'h adventa"
-
-#: ../../diskdrake.pm_.c:643
-#, fuzzy
-msgid "This partition is not resizeable"
-msgstr "Pe seurt parzhadur a vennit ?"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Mat e vije gwarezi holl roado ar parzhadur-se"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "Goude adventa ar parzhadur %s e vo kollet holl roado ar parzhadur-se"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Dibabit ar ment nevez"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "Mo"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Kroui ur parzhadur nevez"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Rann kregi :"
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Ment e Mo :"
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Seurt ar reizhiad restro :"
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Dibarzh :"
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "N'heller ket implijout ar parzhadur-ma evit savetei"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Savetei"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Anv ar restr savetei :"
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Restr implijet gant ur savetei all endeo, dibabit unan all"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Ar restr a zo endeo. E implijout ?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Diuzit ar restr"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"N'eo ket hevel ment an daolenn barzha gwarezet\n"
-"Kenderc'hel memestra ?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Ho evezh"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Lakait ur bladennig el lenner\n"
-"Kollet e vo holl roado ar bladennig-se"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "O klask assevel an daolenn barzha"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "trobarzhell"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "live"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "ment diaoz"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Dibabit da be RAID ouzhpenna"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "nevez"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Dibabit da be LVM ouzhpenna"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Emvarc'ha ar skoro lem/laka"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Taolenn barzha saveteerezh"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Adkarga"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "furmadi er seurt %s eus %s a zo sac'het"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "N'ouzon ket penaos furmadi %s er seurt %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "marc'ha sac'het :"
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "fazi en ur zivarc'ha %s : %s"
-
-#: ../../fsedit.pm_.c:21
-#, fuzzy
-msgid "simple"
-msgstr "Restr"
-
-#: ../../fsedit.pm_.c:30
-#, fuzzy
-msgid "server"
-msgstr "servijer X"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Poento marc'ha a rank kregi gant /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Bez' ez eus ur parzhadur e boent marc'ha %s endeo\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Marc'ha kelc'hiek %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Fazi en ur zigeri %s evit skriva : %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"C'hoarvezet ez eus ur fazi - n'eus bet kavet trobarzhell reizh ebet a-benn "
-"kroui reizhiado restro nevez warni. Gwiriit abeg ar gudenn-ma en ho "
-"ardivinkaj mar plij "
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "N'hoc'h eus parzhadur ebet !"
-
-#: ../../help.pm_.c:9
-#, fuzzy
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Dibabit ho yezh muia-karet evit stalia hag implijout ar reizhiad."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Dibabit ar reizhadur a glot gant ho stokellaoueg er roll a-us"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Diuzit :\n"
-"\n"
-" - Neuziet : Ma 'z oc'h kustumet a-walc'h gant GNU/Linux, tu vo neuze "
-"deoc'h\n"
-" dibab an implij penna evit ho ardivink. Sellit a-is evit munudo.\n"
-"\n"
-"\n"
-" - Mailh : Ma 'z oc'h en ho pleud gant GNU/Linux ha mennet da seveni\n"
-" ur staliadur neuziet-tre. Evel evit ar renkad stalia \"Neuziet\" e vo\n"
-" tu deoc'h diuz an implij evit hor reizhiad.\n"
-" Hogen mar plij, NA ZIBABIT KET SE NEMET MA OUZIT PEZH EMAOC'H OC'H OBER!"
-
-#: ../../help.pm_.c:68
-#, fuzzy
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"An dibabo liessek evit implij ho ardivink (en ur c'houlakaat neuze hoc'h "
-"eus\n"
-"dibabet pe \"Neuziet\" pe \"Mailh\" da renkad stalia) a zo evel a-heul :\n"
-"\n"
-" - Boas : dibabit se ma 'z oc'h mennet da implijout ho ardivink dreist-"
-"holl\n"
-" evit un implij pemdeziek (labour burev, aozerezh grafiko hag all). Na\n"
-" c'hortozit ket e vije staliaet nep kempuner, maveg diorren h.a.\n"
-"\n"
-" - Diorren : evel m'hen diskouez an anv. Dibabit se ma 'z oc'h mennet da\n"
-" implijout ho ardivink dreist-holl evit diorren mezianto. Neuze ho po "
-"un\n"
-" heuliad klok a mezianto staliet a-benn kempuna, dizraena ha furmadi\n"
-" kod tarzh, pe groui pakado meziantel.\n"
-"\n"
-" - Servijer : dibabit se m'eo gouestlet an ardivink a stalhit Linux-"
-"Mandrake\n"
-" warna da veza impliet evel servijer. ur servijer restro (NFS pe "
-"SMB),\n"
-" ur servijer moulla (moulla diouzh komenad Unix lp (line printer) pe "
-"zoare\n"
-" Windows SMB), ur servijer dilesadur (NIS), ur servijer stlennvon hag "
-"all.\n"
-" Da heul, na c'hortozit staliadur tamm kinkladur ebet (KDE, GNOME...).\n"
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-#, fuzzy
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Gallout a rit brema diuz ar strollad pakado a vennit\n"
-"stalia pe vremanaat.\n"
-"\n"
-"DrakX a glasko neuze hag-e hoc'h eus egor a-walc'h evit stalia an holl "
-"anezho.\n"
-"Ma n'hoc'h eus ket, e kemenno deoc'h. Ma vennit kenderc'hel evelato, e "
-"seveno staliadur\n"
-"an holl strollado diuzet hogen e laosko pakado 'zo dezho nebeutoc'h a\n"
-"dalvoudegezh. E trao ar roll e c'hellit diuz an dibarzh\n"
-"\"Diuz pakado unan hag unan\" ; en degouezh-se e vo ret deoc'h furchal\n"
-"a-dreuz tremen 1000 pakad..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-#, fuzzy
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"M'hoc'h eus an holl CDo er roll a-is, gwaskit Mat eo.\n"
-"Ma n'hoc'h eus hini eus ar CDo-se, gwaskit Nulla.\n"
-"Ma fazi deoc'h lod eus ar CDo, andiuzit anezho ha gwaskit Mat eo."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-#, fuzzy
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Diuzit ar porzh a zere mar plij. Da skouer, porzh COM1 dindan MS Windows\n"
-"a vez anvet ttyS0 gant Linux."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Gallout a rit brema skriva dibarzho sifrenna. Ma n'oc'h ket sur petra\n"
-"skriva, an titouro reizh ho po digant ho PMG."
-
-#: ../../help.pm_.c:431
-#, fuzzy
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Skrivit :\n"
-"\n"
-" - Chomlec'h IP : m'eo dianav deoc'h, goulennit digant merour ho rouedad.\n"
-"\n"
-"\n"
-" - Rouedmaskl : \"255.255.255.0\" a zo peurvuia un dibab mat. M'hoc'h eus\n"
-"douetas, goulennit digant merour ho rouedad.\n"
-"\n"
-"\n"
-" - IP emgefreek : Ma ra ho rouedad gant ar c'homenad bootp pe dhcp, "
-"diuzit \n"
-"an dibarzh-se. Ma vez diuzet, n'eus ezhomm talvoud ebet er \"Chomlec'h IP"
-"\".\n"
-"M'hoc'h eus douetas, goulennit digant merour ho rouedad.\n"
-
-#: ../../help.pm_.c:443
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Ma implij ho rouedad NIS, diuzit \"Implijout NIS\". Ma ne ouzit ket, "
-"goulennit\n"
-"digant merour ho rouedad."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Gallout a rit brema skriva dibarzho sifrenna. Ma n'oc'h ket sur petra\n"
-"skriva, an titouro reizh ho po digant ho PMG."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Ma implijit proksio, keflugnit anezho brema mar plij. Ma ne ouzit ket hag\n"
-"e rankit implijout proksio, goulennit digant merour ho rouedad pe ho PMG."
-
-#: ../../help.pm_.c:459
-#, fuzzy
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Stalia pakado rinegouriezh a c'hellit m'eo bet kefluniet reizh ho\n"
-"kevreadenn ouzh ar Genrouedad. Dibabit da genta ur melezour a vennit "
-"ezkarga\n"
-"pakado diwarna ha da c'houde diuzit ar pakado da stalia.\n"
-"\n"
-"Taolit evezh e rankit diuz ar melezour hag ar rinegouriezh hervez al\n"
-"lezenno o ren du-se."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-#, fuzzy
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"Brema e c'hellit diuz ho takad-eur diouzh al lec'h ma chomit enna.\n"
-"\n"
-"\n"
-"Linux a vera an eur e GMT pe \"Greenwich Mean Time\" hag e amdrei a ra\n"
-"en eur lec'hel hervez an takad-eur hoc'h eus diuzet."
-
-#: ../../help.pm_.c:479
-#, fuzzy
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Brema e c'hellit diuz pe servijo a vennit e vije laset pa loc'her.\n"
-"Pa zeu ho logodenn war un draez, ul lagadenn skoazell a zeuio war wel hag\n"
-"a zisplego pal ar servij-se.\n"
-"\n"
-"Bezit aketuz-kena el lankad-ma ma vennit implijout ho ardivink evel ur\n"
-"servijer : mennout a rit emichas chom hep loc'ha kement servij n'ho peus "
-"ket\n"
-"c'hoant."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-#, fuzzy
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Brema e c'hellit skriva an tremenger root evit ho reizhiad\n"
-"Linux-Mandrake. An tremenger a zle beza roet div wech evit\n"
-"gwiria m'eo skrivet hevel an div wech.\n"
-"\n"
-"\n"
-"Merour ar reizhiad eo root, hag e eo an arveriad nemeta aotreet\n"
-"da gemma kefluniadur ar reizhad. Rak se, dibabit an tremenger-se\n"
-"gant aket ! Dajerus-kena e c'hell beza un implij nann aotreet\n"
-"ar gont root evit anterinded ar reizhiad hag e roado, hag ar\n"
-"reizhiado all kevreet outa. An tremenger a zlefe beza ur meskaj\n"
-"a lizherenno alfaniverel, enna 8 arouezenn d'an nebeuta. Ne\n"
-"zlefe BIKEN beza lakaet dre skrid. Na rit ket a dremenger re hir\n"
-"pe re luziet, memestra : dav eo deoc'h kaout soj anezha hep re a\n"
-"strivo."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Evit sevel ur reizhiad suroc'h, gwelloc'h deoc'h diuz \"Implijout ur restr "
-"kuzhet\"\n"
-"hag \"Implijout tremegerio MD5\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Ma implij ho rouedad NIS, diuzit \"Implijout NIS\". Ma ne ouzit ket, "
-"goulennit\n"
-"digant merour ho rouedad."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Brema e c'hellit kroui unan pe vuioc'h a gont(o) arveriad \"boutin\",\n"
-"dre enebiez ouzh ar gont arveriad \"dreistwiriet\", root hec'h anv. Gallout\n"
-"a rit kroui unan pe vuioc'h a gont(o) evit kement den a fell deoc'h\n"
-"aotren da implijout an urzhiataer. Taolit evezh pep kont arveriad he\n"
-"devo he dibarzho dezhi (endro grafikel, kefluniadur ar goulevio,\n"
-"h.a.) hag he renkell \"Er-gr\" dezhi, ma vo enrollet an dibarzho-se\n"
-"enni.\n"
-"\n"
-"\n"
-"Da genta holl, krouit ur gont evidoc'h-chwi ! Ha pa vefec'h arveriad "
-"nemeta\n"
-"an ardivink, ARABAT deoc'h erea evel root evit implij pemdeziek ar "
-"reizhiad : \n"
-"arvarus-kena eo a-fet surentez. Ur fazi stokell a zo a-walc'h evit lakaat\n"
-"boud ho reizhiad.\n"
-"\n"
-"\n"
-"Gant se, gwelloc'h vije deoc'h erea ouzh ar reizhiad en ur implijout ar\n"
-"gont arveriad ho po krouet ama, hag erea evel root evit kefridio a\n"
-"vererezh ha trezerc'hel hepken."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-#, fuzzy
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Ret eo deoc'h menegi pelec'h e mennit\n"
-"lec'hia an titouro ret evit loc'ha Linux.\n"
-"\n"
-"\n"
-"Nemet ma ouifec'h resis ar pezh a rit, dibabit \"Rann genta\n"
-"ar bladenn (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Nemet ma ouifec'h a-zevri ez eo dishevel, \"/dev/hda\" eo an dibab boas\n"
-"(pladenn IDE mestr kenta) pe \"/dev/sda\" (pladenn SCSI kenta)."
-
-#: ../../help.pm_.c:653
-#, fuzzy
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (the LInux LOader) ha Grub a zo kargerien loc'ha : barrek int da "
-"loc'ha\n"
-"pe Linux pe forzh pe reizhiad korvoi all bezat war ho urzhiataer.\n"
-"Peurvuia, ar reizhiado korvoi all-se a vez dinoet ha staliet reizh.\n"
-"Ma n'eo ket kont evel-hen, gallout a rit ouzhpenna un enmont gant an dorn\n"
-"er skramm-ma. Taolit pled da zibab an arventenno reizh.\n"
-"\n"
-"\n"
-"Gallout a rafec'h ivez mennout na lakaat hegerz hini ebet eus ar reizhiado\n"
-"korvoi-se, neuze n'hoc'h eus ken nemet dilemel an enmonto a zegouezh. "
-"Hogen\n"
-"neuze e vo ret deoc'h kaout ur bladennig loc'ha evit loc'ha anezho."
-
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"Setu dibabo penna LILO ha grub :\n"
-" - Trobarzhell loc'ha : a dermen anv an drobarzhell (da sk. parzhadur\n"
-"ur bladenn galet) a zo enni ar rann loc'ha. Nemet ma ouifec'h a-zevri\n"
-"ez eo dishevel, dibabit \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Gedvezh a-raok loc'ha ar skeudenn dre ziouer : a spisa an niver a\n"
-"zekvet eilenno a rankfe gortoz ar c'harger loc'ha kent loc'ha ar "
-"skeudenn\n"
-"genta. Talvoudus eo war reizhiado a loc'h diouzhtu adalek ar bladenn "
-"galet\n"
-"goude beza enaouet ar stokellaoueg. Ne gortoz ket ar c'harger loc'ha m'eo\n"
-"disojet \"gedvezh\" pe dermenet da mann.\n"
-"\n"
-"\n"
-" - Mod video : a spisa ar mod skrid VGA a rankfe beza diuzet pa loc'her.\n"
-"An talvoudo a heul a zo hegerz :\n"
-" * boas : a ziuz ar mod skrid 80x25 boas.\n"
-" * <niver> : a implij ar mod skrid a zegouezh."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-#, fuzzy
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (the LInux LOader) ha Grub a zo kargerien loc'ha : barrek int da "
-"loc'ha\n"
-"pe Linux pe forzh pe reizhiad korvoi all bezat war ho urzhiataer.\n"
-"Peurvuia, ar reizhiado korvoi all-se a vez dinoet ha staliet reizh.\n"
-"Ma n'eo ket kont evel-hen, gallout a rit ouzhpenna un enmont gant an dorn\n"
-"er skramm-ma. Taolit pled da zibab an arventenno reizh.\n"
-"\n"
-"\n"
-"Gallout a rafec'h ivez mennout na lakaat hegerz hini ebet eus ar reizhiado\n"
-"korvoi-se, neuze n'hoc'h eus ken nemet dilemel an enmonto a zegouezh. "
-"Hogen\n"
-"neuze e vo ret deoc'h kaout ur bladennig loc'ha evit loc'ha anezho."
-
-#: ../../help.pm_.c:805
-#, fuzzy
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"Setu dibabo penna LILO ha grub :\n"
-" - Trobarzhell loc'ha : a dermen anv an drobarzhell (da sk. parzhadur\n"
-"ur bladenn galet) a zo enni ar rann loc'ha. Nemet ma ouifec'h a-zevri\n"
-"ez eo dishevel, dibabit \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Gedvezh a-raok loc'ha ar skeudenn dre ziouer : a spisa an niver a\n"
-"zekvet eilenno a rankfe gortoz ar c'harger loc'ha kent loc'ha ar "
-"skeudenn\n"
-"genta. Talvoudus eo war reizhiado a loc'h diouzhtu adalek ar bladenn "
-"galet\n"
-"goude beza enaouet ar stokellaoueg. Ne gortoz ket ar c'harger loc'ha m'eo\n"
-"disojet \"gedvezh\" pe dermenet da mann.\n"
-"\n"
-"\n"
-" - Mod video : a spisa ar mod skrid VGA a rankfe beza diuzet pa loc'her.\n"
-"An talvoudo a heul a zo hegerz :\n"
-" * boas : a ziuz ar mod skrid 80x25 boas.\n"
-" * <niver> : a implij ar mod skrid a zegouezh."
-
-#: ../../help.pm_.c:818
-#, fuzzy
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Brema eo poent keflunia ar reizhiad X Window, a zo kraonienn\n"
-"EGA (Etrefas Grafikel Arveriad) Linux. Evit ar c'hefridi-se, ret eo\n"
-"deoc'h keflunia ho kartenn grafek hag ho skramm. Emgefreek eo ar bras\n"
-"eus al lankado-se, evelato, neuze gwiria pezh a zo bet graet hag\n"
-"asanti d'ar c'hefluniadur a zlefe beza ho labour :)\n"
-"\n"
-"\n"
-"Pa 'z eo graet ar c'heflunia, laset e vo X (nemet ma c'houlennit\n"
-"digant DrakX chom hep hen ober) e seurt ma c'hellit gwiria ha\n"
-"sellet ha plijet oc'h gant an dibarzho. Ma n'oc'h ket, e c'hellit\n"
-"mont war gil hag o c'hemma, ken lies gwech ha ma karot."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"M'eo siek un dra bennak en ho kefluniadur X, implijit an dibarzho-se\n"
-"a-benn keflunia reizh ar reizhiad X Window."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Ma kavit gwelloc'h implijout un ereadur grafikel, diuzit \"Ya\". Mod all,\n"
-"diuzit \"Ket\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Ema ho reizhiad war-nes adloc'ha.\n"
-"\n"
-"Goude adloc'ha, karga a raio ho reizhiad Linux Mandrake nevez ent "
-"emgefreek.\n"
-"Ma vennit loc'ha ur reizhiad korvoi all, lennit ar gourc'hemenno "
-"ouzhpenn\n"
-"mar plij."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Dibabit ho yezh"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Diuzit renkad ar staliadur"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Dinoi ar bladenn galet"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Keflunia al logodenn"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Dibabit ho stokellaoueg"
-
-#: ../../install2.pm_.c:42
-#, fuzzy
-msgid "Security"
-msgstr "rodellek"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Keflunia reizhiado restro"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Furmadi parzhadurio"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Dibabit pakado da stalia"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Stalia ar reizhiad"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Termeni tremenger root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Ouzhpenna un arveriad"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Keflunia ur rouedad"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Keflunia servijo"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Kroui ur bladennig loc'ha"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Stalia ar c'harger loc'ha"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Keflunia X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Dilezel ar staliadur"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "N'hella ket implijout ar skigna hep domani NIS"
-
-#: ../../install_any.pm_.c:676
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Lakait ur bladennig el lenner %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Fazi en ur lenn ar restr $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Mat eo"
-
-#: ../../install_gtk.pm_.c:423
-#, fuzzy
-msgid "Please test the mouse"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-#, fuzzy
-msgid "To activate the mouse,"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Ret eo deoc'h kaout ur parzhadur gwrizienn.\n"
-"Evit se, krouit ur parzhadur (pe glikit war unan a zo c'hoazh).\n"
-"Da c'houde dibabit an ober ``Poent marc'ha'' ha lakait anezha da `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Ret eo deoc'h kaout ur parzhadur disloa"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"N'hoc'h eus ket a barzhadur disloa\n"
-"\n"
-"Kenderc'hel evelato ?"
-
-#: ../../install_interactive.pm_.c:68
-#, fuzzy
-msgid "Use free space"
-msgstr "Implij da savetei"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:78
-#, fuzzy
-msgid "Use existing partition"
-msgstr "O furmadi parzhadurio"
-
-#: ../../install_interactive.pm_.c:80
-#, fuzzy
-msgid "There is no existing partition to use"
-msgstr "O klask assevel an daolenn barzha"
-
-#: ../../install_interactive.pm_.c:87
-#, fuzzy
-msgid "Use the Windows partition for loopback"
-msgstr "Implij da savetei"
-
-#: ../../install_interactive.pm_.c:90
-#, fuzzy
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Pe barzhadur a vennit implijout evit lakaat Linux4Win ?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Dibabit ar mento"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Ment ar parzhadur gwrizienn e Mo :"
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Ment ar parzhadur disloa e Mo :"
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:105
-#, fuzzy
-msgid "Which partition do you want to resize?"
-msgstr "Pe seurt parzhadur a vennit ?"
-
-#: ../../install_interactive.pm_.c:107
-#, fuzzy
-msgid "Computing Windows filesystem bounds"
-msgstr "O jedi bevenno ar reizhiad restro FAT"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:114
-#, fuzzy
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"HO EVEZH !\n"
-"\n"
-"Ezhomm en deus DrakX adventa ho parzhadur Windows brema. Bezit war "
-"evezh :\n"
-"arvarus eo an obererezh-se. Ma n'hoc'h eus ket graet c'hoazh, gwelloc'h e\n"
-"vije deoc'h seveni da genta scandisk (ha diouzh ret seveni defrag) war "
-"ar\n"
-"parzhadur-se, ha gwarezi ho roado. Pa vezit sur, gwaskit \"Mat eo\""
-
-#: ../../install_interactive.pm_.c:123
-#, fuzzy
-msgid "Which size do you want to keep for windows on"
-msgstr "Da beseurt rann e mennit dilec'hia ?"
-
-#: ../../install_interactive.pm_.c:124
-#, fuzzy, c-format
-msgid "partition %s"
-msgstr "Parzhadur"
-
-#: ../../install_interactive.pm_.c:130
-#, fuzzy, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Adventa ent emgefreek sac'het"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:157
-#, fuzzy, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "Goude adventa ar parzhadur %s e vo kollet holl roado ar parzhadur-se"
-
-#: ../../install_interactive.pm_.c:165
-#, fuzzy
-msgid "Custom disk partitioning"
-msgstr "O furmadi parzhadurio"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:172
-#, fuzzy, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Gallout a rit brema parzha ho pladenn galet %s\n"
-"Pa 'z eo graet, na zisojit ket enrolla dre implijout `w'"
-
-#: ../../install_interactive.pm_.c:201
-#, fuzzy
-msgid "You don't have enough free space on your Windows partition"
-msgstr "N'hoc'h eus parzhadur windows ebet !"
-
-#: ../../install_interactive.pm_.c:217
-#, fuzzy
-msgid "I can't find any room for installing"
-msgstr "N'hellan ouzpenna parzhadur ebet ken"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:226
-#, fuzzy, c-format
-msgid "Partitioning failed: %s"
-msgstr "Seurt taolenn barzha : %s\n"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "O lasa ar rouedad"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "O tizenaoui ar rouedad"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Degouezhet ez eus ur fazi, hogen n'ouzon ket e vera naet.\n"
-"Kendalc'hit war ho mar."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Poent marc'ha doubl %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Degemer e %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Lenner pladennig hegerz ebet"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "O kregi gant al lankad `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Dibabit ar ment a vennit stalia"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Ment hollek :"
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Stumm : %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Ment : %d Ko\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Dibabit ar pakado a vennit stalia"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Titouro"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Stalia"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "O stalia"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Gortozit mar plij,"
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Amzer a chom"
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Amzer hollek"
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "O prienti ar staliadur"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "O stalia ar pakad %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Kenderc'hel evelato ?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Ur fazi a zo bet en ur rumma pakado :"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Implijout ar c'hefluniadur o ren evit X11 ?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Dibabit unan eus ar renkado stalia a-heul mar plij :"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Ment hollek ar strollado hoc'h eus diuzet a zo war-dro %d Mo.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Ma vennit stalia nebeutoc'h eget ar ment-se,\n"
-"diuzit an dregantad a bakado a vennit stalia.\n"
-"\n"
-"Un dregantad izel a stalio hepken ar pakado pouezusa;\n"
-"un dregantad a 100%% a stalio an holl bakado diuzet."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"N'eus egor war ho pladenn nemet evit %d%% eus ar pakado-se.\n"
-"\n"
-"Ma vennit stalia nebeutoc'h eget se,\n"
-"diuzit an dregantad a bakado a vennit stalia.\n"
-"Un dregantad izel a stalio hepken ar pakado pouezusa;\n"
-"un dregantad a %d%% a stalio kement a bakado ma 'z eus tu."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Tu vo deoc'h o dibab spisoc'h el lankad a zeu."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Dregantad a bakado da stalia"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Diuzadenn strollad pakado"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Diuz pakado unan hag unan"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Astenn ar wezenn"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Plega ar wezenn"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Gwinta etre kompez ha rummet dre strollad"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Pakad siek"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Anv: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Talvoudegezh : %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Ment hollek : %d / %d Mo"
-
-#: ../../install_steps_gtk.pm_.c:467
-#, fuzzy
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr "N'hellit ket andiuz ar pakad-ma. Staliet eo endo"
-
-#: ../../install_steps_gtk.pm_.c:471
-#, fuzzy
-msgid "The following packages are going to be installed"
-msgstr "Ar pakado a-heul a zo war-nes beza distaliet"
-
-#: ../../install_steps_gtk.pm_.c:472
-#, fuzzy
-msgid "The following packages are going to be removed"
-msgstr "Ar pakado a-heul a zo war-nes beza staliet/lamet"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "N'hellit ket diuz/andiuz ar pakad-ma"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Hema a zo ur pakad ret, n'hell ket beza andiuzet"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "N'hellit ket andiuz ar pakad-ma. Staliet eo endo"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Bremanaet e tle beza ar pabak-ma\n"
-"Ha sur oc'h e mennit e ziuza ?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "N'hellit ket andiuz ar pakad-ma. Ret eo dezha beza bremanaet"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "O vrasjedi"
-
-#: ../../install_steps_gtk.pm_.c:582
-#, fuzzy
-msgid "Please wait, preparing installation"
-msgstr "O prienti ar staliadur"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d pakad"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-#, fuzzy
-msgid "Accept"
-msgstr "Aotren an arveriad"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-#, fuzzy
-msgid "Refuse"
-msgstr "Adventa"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Kemmit ho Cd-Rom!\n"
-"\n"
-"Lakait el lenner ar Cd-Rom warna an diketenn \"%s\" mar plij ha gwaskit Mat "
-"eo da c'houde.\n"
-"Ma n'ema ket ganeoc'h gwaskit Nulla evit chom hep stalia ar Cd-Rom-se."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Ur fazi a zo bet en ur stalia ar pakado :"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Ur fazi a zo bet"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Diuzit ar yezh da implijout, mar plij."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "Gallout a rit dibab yezho all hag a vo hegerz goude stalia"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Stokellaoueg"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Dibabit reizhadur ho stokellaoueg, mar plij."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Renkad stalia"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Pe renkad stalia a fell deoc'h ?"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Install/Update"
-msgstr "Stalia/Bremanaat"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Is this an install or an update?"
-msgstr "Hag ur staliadur pe ur bremanadur eo ?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Erbedet"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Mailh"
-
-#: ../../install_steps_interactive.pm_.c:226
-#, fuzzy
-msgid "Update"
-msgstr "Bremanaat"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Porzh al logodenn"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Dibabit ar porzh a-steud m'eo luget ho logodenn outa, mar plij."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "O keflunia kartenno PCMCIA..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Keflunia IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "parzhadur hegerz ebet"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Dibabit at poento marc'ha"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, fuzzy, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"N'hella ket lenn ho taolenn barzha, re vrein eo evidon :(\n"
-"Klask a rin kenderc'hel en ur ziverka ar parzhadurio siek"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"Ne c'hellas ket DiskDrake lenn ent reizh an daolenn barzha.\n"
-"Kendalc'hit war ho mar !"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Parzhadur gwrizienn"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Pehini eo parzhadur gwrizienn (/) ho reizhiad ?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Ret eo deoc'h adloc'ha evit ma talvezo kemmo an daolenn barzha"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Dibabit ar parzhadur a vennit furmadi"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Gwiria ar bloc'ho siek ?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "O furmadi parzhadurio"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "O kroui hag o furmadi ar restr savetei %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Ket a-walc'h a zisloa evit peurstalia, kreskit anezha mar plij"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "O klask ar pakado hegerz"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "O kavout pakado da vremanaat"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, fuzzy, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr "Ho reizhiad n'eus ket wa-walc'h a egor evit stalia pe vremanaat"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, fuzzy, c-format
-msgid "Complete (%dMB)"
-msgstr "Boas"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, fuzzy, c-format
-msgid "Minimum (%dMB)"
-msgstr "(%d Mo)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, fuzzy, c-format
-msgid "Recommended (%dMB)"
-msgstr "Erbedet"
-
-#: ../../install_steps_interactive.pm_.c:486
-#, fuzzy
-msgid "Custom"
-msgstr "Neuziet"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"M'hoc'h eus an holl CDo er roll a-is, gwaskit Mat eo.\n"
-"Ma n'hoc'h eus hini eus ar CDo-se, gwaskit Nulla.\n"
-"Ma fazi deoc'h lod eus ar CDo, andiuzit anezho ha gwaskit Mat eo."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom skridennet \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"O stalia ar pakad %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Kefluniadur goude stalia"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Tu zo deoc'h brema ezkarga mezianto gouestlet d'ar rinegouriezh.\n"
-"\n"
-"HO EVEZH :\n"
-"\n"
-"Abalamour m'eo dishevel ar pennaenno meur o talvezout evit ar mezianto-"
-"ma hervez\n"
-"gwiraouriezho dishevel, ret eo d'an arval ha/pe arveriad en diwezh ar "
-"mezianto-ma\n"
-"gwiria eo aotreet da ezskarga, mirout ha/pe implijout ar mezianto-ma\n"
-"gouez d'al lezenno en e/he gwiraouriezh.\n"
-"\n"
-"Ouzhpenn an arval ha/pe arveriad en diwezh a rank beza war evezh chom hep "
-"terri\n"
-"lezenno e/he gwiraouriezh. Ma c'hoarvezfe gant an arval ha/pe arveriad\n"
-"en diwezh na zouja ouzh termeno lezenno o talvezout, e telezfe kastizo\n"
-"kriz.\n"
-"\n"
-"E nep degouezh ne vo dalc'het Mandrakesoft nag e oberatourien na/pe e "
-"bourvezerien\n"
-"atebek eus nep gaou dibar, ameeun pe zarvoudus a c'hoarvezfe (ha pa vefe\n"
-"zoken e-touez trao all koll gounid, arsav aferio, koll roado kenwerzhel "
-"ha\n"
-"kollo arc'hant all, hag atebegezh pe zigoll diouzh an dro da veza paeet\n"
-"da heul ur barnadeg) o tont diouzh implij, perc'henna, pe zoken ezkarga\n"
-"ar mezianto-ma, a c'hellfe an arval ha/pe arveriad en diwezh beza\n"
-"grataet goude beza sinet an emglev-ma.\n"
-"\n"
-"\n"
-"Evit forzh pe c'houlenn a-zivout an emglevio-se, darempredit mar plij\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"SUA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Dibabit ur melezour da dapout ar pakado diwarna"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "O tarempredi ar melezour evit kaout roll ar pakado hegerz"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Dibabit ar pakado a vennit stalia, mar plij."
-
-#: ../../install_steps_interactive.pm_.c:776
-#, fuzzy
-msgid "Which is your timezone?"
-msgstr "Pe seurt a vo implij ho reizhiad ?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Ha war GMT eo lakaet ho eurier periantel ?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-#, fuzzy
-msgid "Remote CUPS server"
-msgstr "Steud a-bell"
-
-#: ../../install_steps_interactive.pm_.c:807
-#, fuzzy
-msgid "No printer"
-msgstr "Moullerez lec'hel"
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr "Logodenn USB"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Moullerez"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-#, fuzzy
-msgid "Which printing system do you want to use?"
-msgstr "Pe seurt parzhadur a vennit ?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Tremenger ebet"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "Re eeun eo an tremenger-se (%d arouezenn a zo ret d'an nebeuta)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Implijout NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "pajenno melen"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Dilesadur NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "Domani NIS"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "Servijer NIS"
-
-#: ../../install_steps_interactive.pm_.c:951
-#, fuzzy
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Ur bladenn loc'ha neuziet a ro un tu da loc'ha ho reizhiad Linux hep "
-"beza\n"
-"dindan beli ar c'harger loc'ha boas. Talvoudus eo ma ne mennit ket stalia "
-"LILO\n"
-"(pe grub) war ho reizhiad, pe ma skarzh ur reizhiad oberia LILO, pe ma ne\n"
-"da ket en-dro LILO war ho kefluniadur periantel. Ur bladenn loc'ha neuziet\n"
-"a c'hell ivez beza implijet gant ar skeudenn savetei Mandrake, en ur "
-"aesaat an\n"
-"assevel pa vefec'h sac'het grevus. Mennout a rit kroui ur bladenn loc'ha "
-"evit\n"
-"ho reizhiad ?"
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Lenner pladennig kenta"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Eil lenner pladennig"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Tremen e-biou"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Ur bladenn loc'ha neuziet a ro un tu da loc'ha ho reizhiad Linux hep "
-"beza\n"
-"dindan beli ar c'harger loc'ha boas. Talvoudus eo ma ne mennit ket stalia "
-"LILO\n"
-"(pe grub) war ho reizhiad, pe ma skarzh ur reizhiad oberia LILO, pe ma ne\n"
-"da ket en-dro LILO war ho kefluniadur periantel. Ur bladenn loc'ha neuziet\n"
-"a c'hell ivez beza implijet gant ar skeudenn savetei Mandrake, en ur "
-"aesaat an\n"
-"assevel pa vefec'h sac'het grevus. Mennout a rit kroui ur bladenn loc'ha "
-"evit\n"
-"ho reizhiad ?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Ho tigarez, lenner pladennig hegerz ebet"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr ""
-"Dibabit al lenner pladennig a vennit implijout evit ober ar bladenn loc'ha"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Lakait ur bladennig el lenner %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "O kroui ar bladenn loc'ha"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "O prienti ar c'harger loc'ha"
-
-#: ../../install_steps_interactive.pm_.c:1010
-#, fuzzy
-msgid "Do you want to use aboot?"
-msgstr "Mennout a rit implijout SILO ?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Fazi en ur stalia aboot,\n"
-"klask redia ar staliadur zoken ma tistruj ar parzhadur kenta ?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-#, fuzzy
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Staliadur LILO a zo sac'het. Degouezhet eo ar fazi a heul :"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Izel"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Etre"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Uhel"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Dibabit al live surentez"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Lakait ur bladennig gwerc'h el lenner %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "O kroui ur bladennig stalia emgefreek"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Lankado 'zo n'int ket peurc'hraet.\n"
-"\n"
-"Mennout a rit kuitaat da vat brema ?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Gourc'hemenno, peurc'hraet eo ar staliadur.\n"
-"Lamit ar bladenn loc'ha ha gwaskit enkas evit adloc'ha.\n"
-"\n"
-"Evit titouro war palastro hegerz evit stumm-ma Linux-Mandrake,\n"
-"sellit ouzh ar meneger fazio hegerz e http://www.linux-mandrake.com/.\n"
-"\n"
-"Titouro war geflunia ho reizhiad a zo hegerz e rannbennad Goude\n"
-"Stalia Sturier ofisiel an Arveriad Linux-Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr "O kroui ur bladennig stalia emgefreek"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Emgefreek"
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr "Adkarga"
-
-#: ../../install_steps_interactive.pm_.c:1189
-#, fuzzy
-msgid "Save packages selection"
-msgstr "Diuz pakado unan hag unan"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Staliadur Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> etre elfenno | <Esaouenn> a ziuz | <F12> skramm a heul "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Gortozit mar plij"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Amsklaer (%s), bezit spisoc'h\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Dibab fall, klaskit adarre\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr "? (%s dre ziouer)"
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Ho tibab ? (%s dre ziouer)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Ho tibab ? (%s dre ziouer, skrivit `none' evit hini ebet)"
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Tchek (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Alaman"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Spagnol"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finnek"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Gall"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norvegek"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polonek"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Rusiek"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Stokellaoueg RU"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Stokellaoueg SUA"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armeniek (kozh)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armeniek (skriverez)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armeniek (soniadel)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgian"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgarek"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasilek"
-
-#: ../../keyboard.pm_.c:152
-#, fuzzy
-msgid "Belarusian"
-msgstr "Bulgarek"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Suis (reizhadur alaman)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Suis (reizhadur gall)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Tchek (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Alaman (stokell marv ebet)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Danek"
-
-#: ../../keyboard.pm_.c:161
-#, fuzzy
-msgid "Dvorak (US)"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:162
-#, fuzzy
-msgid "Dvorak (Norwegian)"
-msgstr "Norvegek"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estoniek"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Jorjiek (reizhadur \"Rusiek\")"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Jorjiek (reizhadur \"Latin\")"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Gresian"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hungarian"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroatek"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israelian"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israelian (soniadel)"
-
-#: ../../keyboard.pm_.c:174
-#, fuzzy
-msgid "Iranian"
-msgstr "Ukrainiek"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islandek"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italian"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr ""
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr "Stokellaoueg RU"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Amerikan Latin"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Hollandek"
-
-#: ../../keyboard.pm_.c:182
-#, fuzzy
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lituaniek AZERTY"
-
-#: ../../keyboard.pm_.c:184
-#, fuzzy
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lituaniek AZERTY"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lituaniek QUERTY \"linenn sifro\""
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lituaniek QUERTY \"soniadel\""
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polonek (reizhadur qwerty)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polonek (reizhadur qwerty)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugalek"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanadian (Kebek)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Rusiek (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Svedek"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovek"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovakek (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovakek (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Stokellaoueg Thai"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turkek (hengounel doare \"F\")"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turkek (arnevez doare \"Q\")"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrainiek"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Stokellaoueg SUA (etrevroadel)"
-
-#: ../../keyboard.pm_.c:206
-#, fuzzy
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Lituaniek QUERTY \"linenn sifro\""
-
-#: ../../keyboard.pm_.c:207
-#, fuzzy
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Yougoslaviek (reizhadur latin)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Logodenn Sun"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-#, fuzzy
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Logodenn rummel"
-
-#: ../../mouse.pm_.c:34
-#, fuzzy
-msgid "GlidePoint"
-msgstr "ALPS GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Logodenn Kensington Thinking"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr ""
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Rummel"
-
-#: ../../mouse.pm_.c:45
-#, fuzzy
-msgid "Wheel"
-msgstr "live"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "a-steud"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Logodenn rummel 2 nozelenn"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Logodenn rummel 3 nozelenn"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech doare CC (a-steud)"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-#, fuzzy
-msgid "MM Series"
-msgstr "Doare MM"
-
-#: ../../mouse.pm_.c:60
-#, fuzzy
-msgid "MM HitTablet"
-msgstr "MM HitTablet (a-steud)"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logodenn Logitech (a-steud, seurt C7 kozh)"
-
-#: ../../mouse.pm_.c:65
-#, fuzzy
-msgid "busmouse"
-msgstr "Logodenn ebet"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:72
-#, fuzzy
-msgid "none"
-msgstr "Graet"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Logodenn ebet"
-
-#: ../../my_gtk.pm_.c:356
-#, fuzzy
-msgid "Finish"
-msgstr "Finnek"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Ha reizh eo ?"
-
-#: ../../netconnect.pm_.c:143
-#, fuzzy
-msgid "Internet configuration"
-msgstr "Keflunia ar proksio"
-
-#: ../../netconnect.pm_.c:144
-#, fuzzy
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Mennout a rit amproui ar c'hefluniadur ?"
-
-#: ../../netconnect.pm_.c:148
-#, fuzzy
-msgid "Testing your connection..."
-msgstr "Keflunia ur rouedad"
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid "The system is now connected to Internet."
-msgstr "Da beseurt pladenn e mennit dilec'hia ?"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr "Anv ar gevreadenn"
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-#, fuzzy
-msgid "ISDN Configuration"
-msgstr "Kefluniadur"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-
-#: ../../netconnect.pm_.c:236
-#, fuzzy
-msgid "Connection Configuration"
-msgstr "Keflunia ar proksio"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr ""
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr ""
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr ""
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr ""
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-#, fuzzy
-msgid "Provider phone number"
-msgstr "Niverenn bellgomz"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr ""
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-#, fuzzy
-msgid "Dialing mode"
-msgstr "Anv domani"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-#, fuzzy
-msgid "Account Login (user name)"
-msgstr "Poent marc'ha"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-#, fuzzy
-msgid "Account Password"
-msgstr "Tremenger"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-#, fuzzy
-msgid "Rest of the world"
-msgstr "Amproui ar c'hefluniadur"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:267
-#, fuzzy
-msgid "Which protocol do you want to use ?"
-msgstr "Pe seurt parzhadur a vennit ?"
-
-#: ../../netconnect.pm_.c:277
-#, fuzzy
-msgid "What kind of card do you have?"
-msgstr "Peseurt moullerez hoc'h eus ?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-#, fuzzy
-msgid "ISA / PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-#, fuzzy
-msgid "PCI"
-msgstr "PCMCIA"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-#, fuzzy
-msgid "Continue"
-msgstr "Kenderc'hel evelato ?"
-
-#: ../../netconnect.pm_.c:294
-#, fuzzy
-msgid "Which is your ISDN card ?"
-msgstr "Pehini eo ho takad-eur ?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-#, fuzzy
-msgid "Choose the network interface"
-msgstr "Dibabit ar ment nevez"
-
-#: ../../netconnect.pm_.c:376
-#, fuzzy
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr "Dibabit ar porzh a-steud m'eo luget ho logodenn outa, mar plij."
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-#, fuzzy
-msgid "I'm about to restart the network device:\n"
-msgstr "Mennout a rit amproui ar c'hefluniadur ?"
-
-#: ../../netconnect.pm_.c:484
-#, fuzzy
-msgid "ADSL configuration"
-msgstr "Kefluniadur"
-
-#: ../../netconnect.pm_.c:485
-#, fuzzy
-msgid "Do you want to start your connection at boot?"
-msgstr "Mennout a rit implijout aboot ?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Dibarzho sifrenna"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Anv ar gevreadenn"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-#, fuzzy
-msgid "Phone number"
-msgstr "Niverenn bellgomz"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Anv erea"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Dilesadur"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Diazezet war ur skrid"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Diazezet war un dermenell"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-#, fuzzy
-msgid "Domain name"
-msgstr "Anv ar gevreadenn"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr "Servijer DNS kenta"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr "Eil servijer DNS"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr "Keflunia ur rouedad"
-
-#: ../../netconnect.pm_.c:745
-#, fuzzy
-msgid "You are currently connected to internet."
-msgstr "Da beseurt pladenn e mennit dilec'hia ?"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr "Anv ar gevreadenn"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid "You are not currently connected to Internet."
-msgstr "Da beseurt pladenn e mennit dilec'hia ?"
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-#, fuzzy
-msgid "Connect to Internet"
-msgstr "Anv ar gevreadenn"
-
-#: ../../netconnect.pm_.c:754
-#, fuzzy
-msgid "Disconnect from Internet"
-msgstr "Anv ar gevreadenn"
-
-#: ../../netconnect.pm_.c:756
-#, fuzzy
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Keflunia ur rouedad"
-
-#: ../../netconnect.pm_.c:759
-#, fuzzy
-msgid "Internet connection & configuration"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "External ISDN modem"
-msgstr "Mailh"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr ""
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "What kind is your ISDN connection?"
-msgstr "Ouzh pe borzh a-steud eo luget ho logodenn ?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-#, fuzzy
-msgid "Connect to the Internet"
-msgstr "Anv ar gevreadenn"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:846
-#, fuzzy, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Mennout a rit amproui ar c'hefluniadur ?"
-
-#: ../../netconnect.pm_.c:883
-#, fuzzy
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr "Pe seurt parzhadur a vennit ?"
-
-#: ../../netconnect.pm_.c:900
-#, fuzzy
-msgid "Network configuration"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../netconnect.pm_.c:901
-#, fuzzy
-msgid "Do you want to restart the network"
-msgstr "Mennout a rit amproui ar c'hefluniadur ?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Mennout a rit amproui ar c'hefluniadur ?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr "Dibabit ar ment nevez"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "O tinoi trobarzhello..."
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy
-msgid "Normal modem connection"
-msgstr "Keflunia ur rouedad"
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr "Poent marc'ha doubl %s"
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy
-msgid "DSL (or ADSL) connection"
-msgstr "Keflunia ur rouedad"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-#, fuzzy
-msgid "How do you want to connect to the Internet?"
-msgstr "Da beseurt pladenn e mennit dilec'hia ?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "kartenn rouedad kavet ebet"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Keflunia ar rouedad"
-
-#: ../../network.pm_.c:278
-#, fuzzy
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Roit ho anv ostiz mar plij.\n"
-"Un anv peurzoareet a zlefe beza hini o ostiz,\n"
-"evel ``mabenveg.mastal.makomp.com''.\n"
-"Gallout a rit ivez rei chomlec'h IP an dreuzell m'hoc'h eus unan"
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-#, fuzzy
-msgid "Host name"
-msgstr "Anv an ostiz :"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Skrivit ar c'hefluniadur IP evit ar benveg-ma mar plij.\n"
-"Pep mellad a zlefe beza skrivet evel ur chomlec'h IP e stumm\n"
-"sifro dekvel piko etrezo (da skouer 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "O keflunia an drobarzhell rouedad %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-#, fuzzy
-msgid "IP address"
-msgstr "Chomlec'h IP :"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-#, fuzzy
-msgid "Netmask"
-msgstr "Maskl rouedad :"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "IP emgefreek"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "Er furmad 1.2.3.4 e tlefe beza ar chomlec'h IP"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Roit ho anv ostiz mar plij.\n"
-"Un anv peurzoareet a zlefe beza hini o ostiz,\n"
-"evel ``mabenveg.mastal.makomp.com''.\n"
-"Gallout a rit ivez rei chomlec'h IP an dreuzell m'hoc'h eus unan"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "Servijer DNS"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Treuzell"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Trobarzhell an dreuzell"
-
-#: ../../network.pm_.c:407
-#, fuzzy
-msgid "Proxies configuration"
-msgstr "Kefluniadur goude stalia"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "Proksi HTTP"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "Proksi FTP"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "http://... a zlefe beza ar proksi"
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "ftp://... a zlefe beza ar proksi"
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr ""
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Un toull a zo en ho taolenn barzha hogen n'hellan ket e implijout.\n"
-"Fival ar parzhadurio kenta derez evit ma vo an toull stok ouzh ar "
-"parzhadurio astennet eo an diskoulm"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Fazi en ur lenn ar restr %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Assevel adalek ar restr %s sac'het %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Restr gwarezi siek"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Fazi en ur skriva er restr %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "a rankfec'h kaout"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "a-bouez"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "brav-tre"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "brav"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "marteze"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Moullerez lec'hel"
-
-#: ../../printer.pm_.c:21
-#, fuzzy
-msgid "Remote printer"
-msgstr "Dibarzho ar voullerez lpd a-bell"
-
-#: ../../printer.pm_.c:23
-#, fuzzy
-msgid "Remote lpd server"
-msgstr "lpd a-bell"
-
-#: ../../printer.pm_.c:24
-#, fuzzy
-msgid "Network printer (socket)"
-msgstr "Dibarzho ar voullerez NetWare"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-#, fuzzy
-msgid "Printer Device URI"
-msgstr "Trobarzhell ar voullerez"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Amproui ar porzhio"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Ur voullerez, doare \"%s\", zo bet dinoet war "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Trobarzhell voullerez lec'hel"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Ouzh pe drobarzhell eo luget ho moullerez \n"
-"(taolit evezh /dev/lp0 a zo kevatal da LPT1:) ?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Trobarzhell ar voullerez"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Dibarzho ar voullerez lpd a-bell"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"A-benn implijout ur steud moula lpd a-bell, ret eo deoc'h\n"
-"pourveza anv ostiz ar servijer moulla hag anv as steud\n"
-"war ar servijer-se ma zlefe beza kaset an dleado moulla."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Anv an ostiz a-bell"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Steud a-bell"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Dibarzho moulla SMB (Windows 9x/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Evit moulla war ur voullerez SMB eo ret deoc'h pourveza\n"
-"anv an ostiz SMB (Ho evezh ! Dishevel e c'hell beza diouzh\n"
-"e anv ostiz TCP/IP !) ha marteze chomlec'h IP ar servijer moulla,\n"
-"kement hag anv rannet ar voullerez a glaskit tizhout ha ne vern pe\n"
-"ditour a anv arveriad, tremenger ha strollad labour en implij."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Anv ar servijer SMB"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP ar servijer SMB"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Anv rannet"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Strollad labour"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Dibarzho ar voullerez NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Evit moulla war ur voullerez NetWare eo ret deoc'h pourveza anv ar\n"
-"servijer moulla NetWare (Ho evezh ! Dishevel e c'hell beza diouzh e\n"
-"anv ostiz TCP/IP !) kement hag anv ar steud moulla evit ar voullerez\n"
-"a glaskit tizhout ha ne vern pe anv arveriad ha tremenger en implij."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Servijer moulla"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Anv ar steud moulla"
-
-#: ../../printerdrake.pm_.c:142
-#, fuzzy
-msgid "Socket Printer Options"
-msgstr "Dibarzho ar voullerez NetWare"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:145
-#, fuzzy
-msgid "Printer Hostname"
-msgstr "Dibarzho ar voullerez"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-#, fuzzy
-msgid "Port"
-msgstr "Paour"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Peseurt moullerez hoc'h eus ?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Ha mennout a rit amproui moulla skrid ?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "O voulla pajenn(o) skrid..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Pajenn(o) arnod zo bet kaset d'an diaoul moulla.\n"
-"Ur pennadig e c'hell padout a-raok ma loc'hfe a voullerez.\n"
-"Stad ar moulla :\n"
-"%s\n"
-"\n"
-"Ha mont a ra en-dro reizh ?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Pajenn(o) arnod zo bet kaset d'an diaoul moulla.\n"
-"Ur pennadig e c'hell padout a-raok ma loc'hfe a voullerez.\n"
-"Ha mont a ra en-dro reizh ?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Ya, moullit ur bajenn arnod ASCII"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Ya, moullit ur bajenn arnod PostScript"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Ya, moullit an div bajenn arnod"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Keflunia ar voullerez"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Dibarzho ar voullerez"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Ment ar paper"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Stlepel ar bajenn goude moulla ?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Dibarzho ar sturier Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Dibarzho donder liv"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Moulla skrid evel PostScript ?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Kempenn an efed-diri ?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Niver a bajenno dre bajenn ziskas"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Marzo Deho/Kleiz e poento (1/72 ur meudad)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Marzo Krec'h/Trao e poento (1/72 ur meudad)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Dibarzho GhostScript ouzhpenn"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Dibarzho skrid ouzhpenn"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Eilpenna urzh ar pajenno"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Mennout a rit keflunia ur voullerez ?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Setu da heul ar steudado moulla.\n"
-"Gallout a rit ouzhpenna lod pe gemma a re a zo."
-
-#: ../../printerdrake.pm_.c:370
-#, fuzzy
-msgid "CUPS starting"
-msgstr "O vrasjedi"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Diuzit lugerezh ar voullerez"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Penaos eo luget ar voullerez ?"
-
-#: ../../printerdrake.pm_.c:392
-#, fuzzy
-msgid "Select Remote Printer Connection"
-msgstr "Diuzit lugerezh ar voullerez"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr "IP ar servijer SMB"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Lemel ar steudad"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-#, fuzzy
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Pep steud moulla (m'eo kaset an dleado moulla daveta) en deus\n"
-"ezhomm un anv (lp alies) hag ur renkell spool kevret ganta. Pe anv\n"
-"ha renkell a zo da implijout evit ar steud-ma ha penaos eo luget ar "
-"voullerrez ?"
-
-#: ../../printerdrake.pm_.c:465
-#, fuzzy
-msgid "Name of printer"
-msgstr "Moullerez lec'hel"
-
-#: ../../printerdrake.pm_.c:466
-#, fuzzy
-msgid "Description"
-msgstr "Spisait dibarzho"
-
-#: ../../printerdrake.pm_.c:467
-#, fuzzy
-msgid "Location"
-msgstr "Titouro"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Pep steud moulla (m'eo kaset an dleado moulla daveta) en deus\n"
-"ezhomm un anv (lp alies) hag ur renkell spool kevret ganta. Pe anv\n"
-"ha renkell a zo da implijout evit ar steud-ma ha penaos eo luget ar "
-"voullerrez ?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Anv ar steud"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Renkell ar spool"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "N'hellan ket ouzhpenna ur parzhadur da RAID md%d _furmadet_"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "N'hellan ket skriva e $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid sac'het"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid sac'het (raidtools a vank emichas ?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Ket a-walc'h a parzhadurio evit RAID live %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, ur steuvaer urzhiado mareadek."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"servijout a ra apmd evit evezhia stad an daspugner hag he enrolla dre "
-"syslog.\n"
-"Gallout a ra ivez servijout da lazha an ardivink pa vez izel an daspugner."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Seveni an urzhiado steuvaet gant an urzhiad at d'ar pred laket pa 'z eo\n"
-"bet sevenet at, ha seveni urzhiado dre lod pa 'z eo izel a-walc'h ar garg."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"Ur goulev standard UNIX eo cron evit seveni goulevio diouzh c'hoant an\n"
-"arveriaded da goulzo mareadek steuvaet. vixie cron a ouzhpenn kalzig a "
-"arc'hwelo\n"
-"d'ar cron UNIX diazez, en o zouez surentez ha dibarzho keflunia gwelloc'h."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM a zegas implij al logodenn d'an arloado Linux mod-skrid evel\n"
-"Midnight Commander. Rei a ra tu da seveni obererezho troc'ha-ha-pega,\n"
-"ha skor evit meuziado kemperzhel war al letrin."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Ur servijer evit ar Gwiad Bedel eo Apache. Implijet e vez evit servija\n"
-"restro HTML ha CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"An diaoul gourservijer kenrouedad (anvet inetd ordinal) a loc'h ur\n"
-"bochad a servijo kenrouedad all diouzh an ezhomm. E karg loc'ha meur a "
-"servijo\n"
-"eo, en o zouez telnet, ftp, rsh, and rlogin. Dizoberia inetd a zizoberia\n"
-"an holl servijo m'eo e atebek warno."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Ar pakad-ma a garg ar stokellaoueg diuzet evel termenet e\n"
-"/etc/sysconfig/keyboard. Dre ar maveg kbdconfig e c'hell beza diuzet\n"
-"kement-se. Gwell deoc'h leuskel se gweredekaet war darn vuia an ardivinko."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"An diaoul moulla ret evit ma dafez en-ro reizh lpr eo lpd. Dre vras\n"
-"ez eo ur servijer a vera dleado moulla evir ar voullerez(ed)."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) a zo ur Servijer Anvio Domani (DNS) a zo implijet evit\n"
-"amdrei anvio ostiz e chomlec'hio IP."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Evit marc'ha ha divarc'ha poento marc'ha an holl Reizhiado Restro\n"
-"Rouedad (NFS), SMB (Lan Manager/Windows) ha NCP (NetWare)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Oberia/Dizoberia an holl etrefaso rouedad kefluniet da lasa\n"
-"da vare al loc'ha."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS a zo ur c'homenad brudet evit ranna restro dre rouedado TCP/IP.\n"
-"Ar servij-ma a bourvez arc'hwelo ur servijer NFS, a vez kefluniaet dre ar\n"
-"restr /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS a zo ur c'homenad brudet evit ranna restro dre rouedado\n"
-"TCP/IP. Ar servij-ma a bourvez un arc'hwel morailha restro NFS."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"Skora PCMCIA a zegas an tu da implijonut trao evel ethernet ha modemo\n"
-"e urzhiataero hezoug. Ne vo ket kroget hep beza bet kefluniet, rak-se eo "
-"diarvar\n"
-"e stalia war ardivinko n'o deus ket ezhomm anezha."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Ar c'hartenner porzhio a vera kevreadenno RPC, a zo implijet gant\n"
-"komenado evel NFS ha NIS. Ar servijer kartenn-porzhio a rankfe mont en-"
-"dro\n"
-"war ardivinko anezho servijerien komenado a implij ar reizhiad RPC."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Ur Gwazour Treuzdougen Postel eo Postfix, a zo ar goulev a\n"
-"zilech postelo etre un ardivink hag un all."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Enroll hag assav poul dizurzh ar reizhiad evit genel nivero\n"
-"dargouezhek gant gwelloc'h perzhded."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"An diaoul routed a ro an tu da vremanaat ent emgefreek an taolenn hencha\n"
-"IP dre ar c'homenad RIP. Tra ma vez implijet aliesig RIP war rouedado "
-"bihan,\n"
-"ezhomm a zo komenado hencha kemplezhoc'h evit rouedado rouestlet."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Ar c'homenad rstat a ro tu da implijerien ur rouedad da zastum\n"
-"muzulio barregezh diwar ne vern pe ardivink er rouedad-se."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Ar c'homenad rusers a ro tu da implijerien ur rouedad da anavezout piv\n"
-"a zo kevreet ouzh ardivinko all a respont."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Ar c'homenad rwho a bourchas da implijerien a-bell roll an holl arveriaded a "
-"zo\n"
-"kevreet ouzh un ardivink ma da en-dro warna an diaoul rwhod (hevel ouzh "
-"finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog a zo ur gwazerezh ma enroll dreza an diaouled niverus o "
-"c'hemennado\n"
-"e kerzhlevrio liesseurt ar reizhiad. Ur mennozh mat eo seveni ingal syslog."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-"Enaou ha dizenaou ar servijer Fonto X da vare al loc'ha hag al lazha."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Dibabit pe servijo a zlefe beza laset ent emgefreek pa loc'her"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr "Ho evezh"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "stopped"
-msgstr "Ouzhpenna"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-#, fuzzy
-msgid "On boot"
-msgstr "Gwrizienn"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"N'hella ket lenn ho taolenn barzha, re vrein eo evidon :(\n"
-"Klask a rin kenderc'hel en ur ziverka ar parzhadurio siek"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-#, fuzzy
-msgid "Internet Connection Sharing"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123
-#, fuzzy
-msgid "disable"
-msgstr "Taolenn"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "reconfigure"
-msgstr "Keflunia X"
-
-#: ../../standalone/drakgw_.c:126
-#, fuzzy
-msgid "Disabling servers..."
-msgstr "O tinoi trobarzhello..."
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "enable"
-msgstr "Taolenn"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "dedennus"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-#, fuzzy
-msgid "Firewalling configuration detected!"
-msgstr "o lenn ar c'hefluniadur"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:276
-#, fuzzy
-msgid "Configuring..."
-msgstr "Keflunia IDE"
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:307
-#, fuzzy
-msgid "Problems installing package $_"
-msgstr "O stalia ar pakad %s"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Gourc'hemenno!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-#, fuzzy
-msgid "Profile: "
-msgstr "marc'ha sac'het :"
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-#, fuzzy
-msgid "Hostname: "
-msgstr "Anv an ostiz :"
-
-#: ../../standalone/draknet_.c:147
-#, fuzzy
-msgid "Internet access"
-msgstr "dedennus"
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr "Seurt : "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Treuzell :"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-#, fuzzy
-msgid "Interface:"
-msgstr "dedennus"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Keflunia ur rouedad"
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "Keflunia ur rouedad"
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr "Da beseurt pladenn e mennit dilec'hia ?"
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr "Keflunia servijo"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr "Kefluniadur"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Adapter"
-msgstr "Bremanaat"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr "Servijer"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr "dedennus"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-#, fuzzy
-msgid "Configure Local Area Network..."
-msgstr "Keflunia ur rouedad"
-
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Normal Mode"
-msgstr "Boas"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr "Amproui ar c'hefluniadur"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr "Kefluniadur"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Disable"
-msgstr "Taolenn"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Enable"
-msgstr "Taolenn"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-#, fuzzy
-msgid "Provider dns 1 (optional)"
-msgstr "Dibarzho ar voullerez"
-
-#: ../../standalone/draknet_.c:561
-#, fuzzy
-msgid "Provider dns 2 (optional)"
-msgstr "Dibarzho ar voullerez"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Bezit deuet mat, preizherien !"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Paour"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Ankeniet"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Ret eo implijout al live-ma gant evezh. Ober a ra d'ho reizhiad beza\n"
-"aesoc'h da implijout, hogen kizidig-tre : arabat e implj evit un ardivink\n"
-"kevreet ouzh lod all pe ouzh ar genrouedad. N'eus ket a haezi dre dremenger."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Gweredekaet eo brema an tremenger, hogen dierbedet eo c'hoazh an implij en "
-"ur rouedad"
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Nebeut a wellaeno evit al live surentez-ma, an hini pouezusa eo beza\n"
-"muioc'h a evezhiadenno hag a wiriadenno surentez."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Setu al live surentez standard a vez erbedet evit un urzhiataer a vo "
-"implijet\n"
-"evit kevrea evel arval ouzh ar Genrouedad. Brema ez eus gwiriadenno "
-"surentez."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Gant al live surentez-ma e teu posupl implijout ar reizhiad-ma evel ur "
-"servijer.\n"
-"Uhel a-walc'h eo brema ar surentez evit implijout ar reizhiad evel ur "
-"servijer\n"
-"o tigemer kevreadenno a-berzh arvalo niverus."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Kemer a reomp arc'hwelo al live 4, hogen brema eo peurserret ar reizhiad.\n"
-"Arc'hwelo surentez a zo en o muia"
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "O termeni al live surentez"
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Dibabit ar benveg a vennit stalia"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-#, fuzzy
-msgid "Change Cd-Rom"
-msgstr "Kemma ar spister"
-
-#: ../../standalone/livedrake_.c:24
-#, fuzzy
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Kemmit ho Cd-Rom!\n"
-"\n"
-"Lakait el lenner ar Cd-Rom warna an diketenn \"%s\" mar plij ha gwaskit Mat "
-"eo da c'houde.\n"
-"Ma n'ema ket ganeoc'h gwaskit Nulla evit chom hep stalia ar Cd-Rom-se."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "serial_usb kavet ebet\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Kendarvan an trede nozelenn ?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "Logodenn USB"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "Anv ar gevreadenn"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr "o lenn ar c'hefluniadur"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr "o lenn ar c'hefluniadur"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Fazi en ur zigeri %s evit skriva : %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Development"
-msgstr "Diorren/C"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr "Titouro"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Graphics"
-msgstr "Liesvedia"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet"
-msgstr "dedennus"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Dibarzho ar voullerez NetWare"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr "Keflunia ar proksio"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Burev"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr "Liesvedia"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Teuliadur"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Sound"
-msgstr "Liesvedia"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Scientific Workstation"
-msgstr "Titouro"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Video"
-msgstr "Liesvedia"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Dibarzho ar voullerez NetWare"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office Workstation"
-msgstr "Titouro"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - CD Burning"
-msgstr "Liesvedia"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr "servijer X"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Kefluniadur"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "KDE Workstation"
-msgstr "Titouro"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Gnome Workstation"
-msgstr "Titouro"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "dedennus"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr "Teuliadur"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "Mennout a rit amproui ar c'hefluniadur ?"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-
-#, fuzzy
-#~ msgid "%d seconds"
-#~ msgstr "Kuitaat e %d eilenn"
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "Kefluniadur"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr "Diuzit ar restr"
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr "Keflunia ur rouedad"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr "Keflunia IDE"
-
-#, fuzzy
-#~ msgid "Standard tools"
-#~ msgstr "Diorren"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Kefluniadur : Ouzhpenna al lec'hiadur"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr "An urzhiaoueg loc'ha a glask karga mollado evit ho logodenn usb."
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr "Kefluniadur goude stalia"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Sujedigezh emgefreek"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Keflunia LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Kroui ur bladennig loc'ha"
-
-#~ msgid "Format floppy"
-#~ msgstr "Furmadi ar bladennig"
-
-#~ msgid "Choice"
-#~ msgstr "Dibab"
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr "Skramm"
-
-#, fuzzy
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Gallout a rit brema diuz bibarzho a bep seurt evit ho reizhiad.\n"
-#~ "\n"
-#~ " - Implijit gwellaenno ar bladenn galet : Gwellaat dehaezadur ar "
-#~ "bladenn galet\n"
-#~ " a c'hell an dibarzh-ma, evit implijerien barrek hepken : amredo "
-#~ "dreinek a\n"
-#~ " c'hell freuzi ho roado, diwallit 'ta. Ur roll parzho siek a zeu "
-#~ "gant ar\n"
-#~ " graoiell, laoskit an dibarzh didermenet avat evit beza kuit a "
-#~ "souezhadenn.\n"
-#~ "\n"
-#~ " - Dibabit al live surentez : Gallout a rit dibab ul live surentez evit "
-#~ "ho\n"
-#~ " reizhiad. Sellit en dornlevr evit muioc'h a ditouro mar plij. Dre "
-#~ "vras :\n"
-#~ " ma ne ouzit ket, diuzit \"Etre\" ; ma vennit da vat kaout un ardivink "
-#~ "sur\n"
-#~ " dibabit \"Ankeniet\" met taolit evezh : EL LIVE-SE, N'EO KET AOTREET "
-#~ "EREA\n"
-#~ " EVEL ROOT WAR AL LETRIN ! Ma vennit beza root, e rankit erea evel\n"
-#~ " arverdiad hag implijout \"su\" da c'houde. Pelloc'h, na sojit ket\n"
-#~ " implijout ho ardivink estreget evel servijer. Grit ho soj.\n"
-#~ "\n"
-#~ " - Spisait RAM diouzh ret : siwazh gant PCo hiziv, n'eus ket a hentenn\n"
-#~ " standard evit atersi ar BIOS a-zivout ar c'hementad a RAM hegerz war "
-#~ "ho\n"
-#~ " urzhiataer. Da heul, Linux a c'hell na zinoi reizh ho kementad a "
-#~ "RAM.\n"
-#~ " M'eo kont evel-se e c'hellit spisaat ama ar c'hementad a RAM a "
-#~ "zere.\n"
-#~ " Ho evezh : un diforzh a 2 pe 4Mo a zo reizh.\n"
-#~ "\n"
-#~ " - Emvarc'ha ar media lem-laka : Ma gavit gwelloc'h na varc'ha dre an "
-#~ "dorn\n"
-#~ " ar pladenno lem-laka (CD-ROM, pladennig, Zip) dre urzhia \"mount\" "
-#~ "hag\n"
-#~ " \"umount\", diuzit an dibarzh-ma.\n"
-#~ "\n"
-#~ " - Enaoui KrouilhNiv pa loc'her : ma gavit mat KrouilhNiv enaouet pa "
-#~ "loc'her\n"
-#~ " diuzit an dibarzh-ma (Evezh : ne daio ket en-dro dre ret dindan X)."
-
-#~ msgid "Miscellaneous"
-#~ msgstr "A bep seurt"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Goulenno a bep seurt"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "N'hellan ket implijout supermount el live surentez uhel"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Servijer DNS kenta"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Eil servijer DNS"
-
-#~ msgid "loopback"
-#~ msgstr "savetei"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Pe garger(ien) loc'ha a vennit imlijout ?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Pladennig stalia emgefreek"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Klask kavout ur modem ?"
-
-#~ msgid "Multimedia"
-#~ msgstr "Liesvedia"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Keflunia an takad-eur"
-
-#~ msgid "Configure printer"
-#~ msgstr "Keflunia ar voullerez"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(a c'hell breina roado)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Implijout gwelladur ar bladenn galet ?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Enaoui KrouilhNiv pa loc'her"
-
-#~ msgid "DNS server:"
-#~ msgstr "Servijer DNS :"
-
-#~ msgid "Gateway device:"
-#~ msgstr "Trobarzhell an dreuzell :"
-
-#~ msgid "default"
-#~ msgstr "dre ziouer"
-
-#~ msgid "Customized"
-#~ msgstr "Neuziet"
-
-#, fuzzy
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "Ha sur oc'h beza ur mailh ? \n"
-#~ "Na rit ket goap, trao galloudus hogen arvarus a vo aotreet deoc'h ama."
-
-#~ msgid "Use shadow file"
-#~ msgstr "Implijout ur restr kuzhet"
-
-#~ msgid "shadow"
-#~ msgstr "kuzhet"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Implijout tremegerio MD5"
-
-#~ msgid "Search"
-#~ msgstr "Klask"
-
-#~ msgid "Package"
-#~ msgstr "Pakad"
-
-#~ msgid "Text"
-#~ msgstr "Skrid"
-
-#~ msgid "Tree"
-#~ msgstr "Gwezenn"
-
-#~ msgid "Sort by"
-#~ msgstr "Rumma dre"
-
-#~ msgid "Category"
-#~ msgstr "Rummad"
-
-#~ msgid "See"
-#~ msgstr "Sellet"
-
-#~ msgid "Installed packages"
-#~ msgstr "Pakado staliet"
-
-#~ msgid "Available packages"
-#~ msgstr "Pakado hegerz"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Diskouez an delio hepken"
-
-#~ msgid "Expand all"
-#~ msgstr "Astenn pep tra"
-
-#~ msgid "Collapse all"
-#~ msgstr "Plega pep tra"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Ouzhpenna lec'hiadur ar pakado"
-
-#~ msgid "Update location"
-#~ msgstr "Bremanaat al lec'hiadur"
-
-#~ msgid "Remove"
-#~ msgstr "Dilemel"
-
-#~ msgid "Find Package"
-#~ msgstr "Kavout ur pakad"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Kavout ur pakad enna ur restr"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Gwinta etre Staliet hag Hegerz"
-
-#~ msgid "Uninstall"
-#~ msgstr "Distalia"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Dibabit pakado da stalia"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "O wiria sujedigezhio"
-
-#~ msgid "Wait"
-#~ msgstr "Gortoz"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Ar pakado a-heul a zo war-nes beza distaliet"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "O tistalia ar RPMo"
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Pe bakad a glask"
-
-#~ msgid "%s not found"
-#~ msgstr "%s ket kavet"
-
-#~ msgid "No match"
-#~ msgstr "Klotadur ebet"
-
-#~ msgid "No more match"
-#~ msgstr "Klotadur ouzphenn ebet"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "Ema rpmdrake er mod ``memor izel'' evit poent.\n"
-#~ "Adlasa a rin rpmdrake tuchantik evit aotren da glask restro"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Pe restr emaoc'h o klask ?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Petra emaoc'h o klask ?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Roit din un anv (da sk. `ouzhpenn', `kenwerzhel')"
-
-#~ msgid "Directory"
-#~ msgstr "Renkell"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "Cdrom hegerz ebet (netra e /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL ar renkell enni ar RPMo"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Evit FTP hag HTTP eo ret deoc'h rei lec'hiadur an hdlist\n"
-#~ "Da gever an URL a-us e rank beza"
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Leugnit ar stlenn a-heul mar plij"
-
-#~ msgid "%s is already in use"
-#~ msgstr "War implij eo %s endeo"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "O vremanaat an diaz RPMo"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "War-nes dilemel an enmont %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr "O klask delio"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "Klask delio a bad ur frapadig"
-
-#~ msgid "mandatory"
-#~ msgstr "ret-gros"
-
-#~ msgid "interesting"
-#~ msgstr "dedennus"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (a-bouez)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (brav-tre)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (brav)"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Ouzh pe borzh a-steud eo luget ho logodenn ?"
-
-#~ msgid "Czech"
-#~ msgstr "Tchek"
-
-#~ msgid "Slovakian"
-#~ msgstr "Slovakek"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Pe seurt parzhadur a vennit ?"
-
-#, fuzzy
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Dibabit \"Stalia\" ma n'eus ket a stumm kent Linux bet staliaet,\n"
-#~ "pe ma vennit implijout meur a stumm pe a zasparzhadenn.\n"
-#~ "\n"
-#~ "Dibabit \"Bremanaat\" ma vennit hizivaat ur stumm kent Mandrake Linux :\n"
-#~ "%s pe %s.\n"
-#~ "\n"
-#~ "\n"
-#~ "Diuzit :\n"
-#~ "\n"
-#~ " - Emgefreek : Ma n'hoc'h eus morse staliaet Linux a-raok, dibabit se. "
-#~ "EVEZH :\n"
-#~ " ne vo ket kefluniet a rouedad e-kerz ar staliadur, implijit "
-#~ "\"LinuxConf\"\n"
-#~ " evit keflunia unan goude diwezh ar staliadur.\n"
-#~ "\n"
-#~ " - Neuziet : Ma 'z oc'h kustumet a-walc'h gant GNU/Linux, tu vo neuze "
-#~ "deoc'h\n"
-#~ " dibab an implij penna evit ho ardivink. Sellit a-is evit munudo.\n"
-#~ "\n"
-#~ " - Mailh : Ma 'z oc'h en ho pleud gant GNU/Linux ha mennet da seveni\n"
-#~ " ur staliadur neuziet-tre. Evel evit ar renkad stalia \"Neuziet\" e "
-#~ "vo\n"
-#~ " tu deoc'h diuz an implij evit hor reizhiad.\n"
-#~ " Hogen mar plij, NA ZIBABIT KET SE NEMET MA OUZIT PEZH EMAOC'H OC'H "
-#~ "OBER !\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ "D'ar poent-ma, e c'hellit dibab pe barzhadur(io) implijout evit\n"
-#~ "stalia ho reizhiad Linux-Mandrake, ma 'z int bet termenet endeo (diwar\n"
-#~ "ur staliadur kent Linux pe diwar ur benveg parzha all). E degouezho\n"
-#~ "all, ret eo termeni parzhadurio ar bladenn galet. Talvezout a ra an\n"
-#~ "obererezh-se kement ha ranna dre meiz egor pladenn galet an urzhiataer\n"
-#~ "e takado distag o implij.\n"
-#~ "\n"
-#~ "\n"
-#~ "M'hoc'h eus da groui parzhadurio nevez, implijit \"Ac'hubi ent "
-#~ "emgefreek\"\n"
-#~ "a-benn kroui parzhadurio evit Linux ent engrefreek. Gallout a rit diuz\n"
-#~ "ar bladenn da parzha dre glika war \"hda\" evit an drobarzhell IDE "
-#~ "kenta,\n"
-#~ "\"hdb\" evit an eil pe \"sda\" evit an drobarzhell SCSI kenta hag all.\n"
-#~ "\n"
-#~ "\n"
-#~ "Daou barzhadur boutin-tre a zo : ar parzhadur gwrizienn (/), a zo penn\n"
-#~ "kenta urzhaz renkello ar reizhiad restro, ha /boot, a zo enna an "
-#~ "holl\n"
-#~ "restro ret evit loc'ha ar reizhiad korvoi p'emeur o paouez enaoui\n"
-#~ "an urzhiataer.\n"
-#~ "\n"
-#~ "\n"
-#~ "Gant ma n'heller ket diverka efedo an argerzh-ma, parzha a c'hell\n"
-#~ "beza abafus ha bec'hius d'an arveriad deraouat. DiskDrake a aesa kement\n"
-#~ "an argerzh ha n'eus ket aon da gaout. Sellit ouzh an teuliadur hag it\n"
-#~ "war ho pouez a-raok kregi ganti.\n"
-#~ "\n"
-#~ "Gallout a rit tizhout kement dibarzh 'zo gant ar stokello : merdei dre "
-#~ "ar parzhadurio\n"
-#~ "gant Tab ha biro Laez/Trao. P'hoc'h eus diuzet ur parzhadur, grit "
-#~ "gant :\n"
-#~ "\n"
-#~ "- Ctrl-c evit kroui ur parzhadur nevez (m'eo goullo ar parzhadur "
-#~ "diuzet)\n"
-#~ "\n"
-#~ "- Ctrl-d evit lemel ur parzhadur\n"
-#~ "\n"
-#~ "- Ctrl-m evit termeni ar poent marc'ha\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Kement parzhadur a zo bet nevez termenet a zle beza furmadet a-benn\n"
-#~ "e implijout (furmadi a dalvez kroui ur reizhiad restro). Er poent-se,\n"
-#~ "e c'hellit mennout adfurmadi parzhadurio 'zo o veza endeo evit "
-#~ "diverka\n"
-#~ "ar roado a zo enno. Ho evezh : n'eo ket ret adfurmadi parzhadurio o\n"
-#~ "veza endeo, dreist-holl ma 'z eus enno restro pe roado a vennit "
-#~ "derc'hel.\n"
-#~ "Skouerio dibar eo /home ha /usr."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "Ema ar pakado diuzet o veza staliaet brema. Un nebeut munut\n"
-#~ "e zlefe padout an obererezh-se nemet m'ho pije dibabet bremanaat\n"
-#~ "ur reizhiad o veza, en degouezh-se e c'hell kemer muioc'h a amzer\n"
-#~ "zoken a-raok na grogfe ar bremanaat."
-
-#, fuzzy
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "Ma ne c'hell ket DrakX kavout ho logodenn, pe ma vennit\n"
-#~ "gwiria pezh en deus graet, kinniget e vo deoc'h ur roll\n"
-#~ "logodennou a-us.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ma 'z oc'h a-du gant kefluniadur DrakX, n'hoc'h eus ken nemet lammat\n"
-#~ "d'ar rann a fell deoc'h en ur glika el laser a gleiz. Mod all,\n"
-#~ "dibabit el laser ar seurt logodenn a gav deoc'h ez eo hini a zegouezh\n"
-#~ "ar gwella evit ho logodenn.\n"
-#~ "\n"
-#~ "Ma 'z eo ul logodenn a-steud, ret e vo ivez deoc'h lavaret da DrakX\n"
-#~ "war be borzh a-steud eo luget ho logodenn."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "Gouestlet eo ar rann-ma da geflunia ur rouedad takad lec'hel\n"
-#~ "(LAN) pe ur modem.\n"
-#~ "\n"
-#~ "Dibabit \"Rouedad lec'hel\" ha DrakX a glasko kavout un azasaer\n"
-#~ "Ethernet war ho ardivink. Azasaerien PCI a zlefe beza kavet\n"
-#~ "ha deraouekaet ent emgefreek. Evelato, m'eo ho trobarzhell unan ISA,\n"
-#~ "ne daio ket en-dro an emzinoi, hag e vo ret deoc'h diuz ur sturier\n"
-#~ "diwar ar roll a zeuio war wel neuze.\n"
-#~ "\n"
-#~ "\n"
-#~ "Evel evit azasaerien SCSI e c'hellit leuskel ar sturier amproui\n"
-#~ "an azasaer ar wech kenta, mod all e vo ret deoc'h spisaat d'ar\n"
-#~ "sturier dibarzho ho pije tapet diwar teuliadur ho periant.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ma stalhit ur reizhiad Linux-Mandrake war un ardivink a zo\n"
-#~ "lodek en ur rouedad a zo c'hoazh, merour ar rouedad en devo\n"
-#~ "roet deoc'h an holl titouro ret (chomlec'h IP, ismaskl rouedad\n"
-#~ "pe verroc'h rouedmaskl, hag anv ostiz). M'emaoc'h o sevel ur\n"
-#~ "rouedad prevez er gr da skouer, mat e vije deoc'h dibab\n"
-#~ "chomlec'hio \n"
-#~ "\n"
-#~ "Dibabit \"Sifrenna gant ar modem\" hag e vo kefluniet ar gevreadenn\n"
-#~ "ouzh ar Genrouedad gant ur modem. Klask a raio DrakX kavout ho modem,\n"
-#~ "ma ne teu ket a-benn e vo ret deoc'h diuz ar porzh a-steud m'eo luget\n"
-#~ "ho modem outa."
-
-#, fuzzy
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "Linux a oar en em zibab gant kalz a seurto moullerezed. Pep hini eus\n"
-#~ "ar seurto-se en deus ezhomm ur c'hefluniadur dishevel. Taolit evezh\n"
-#~ "avat ar spooler moulla a laka 'lp' da anv ar voullerrez dre ziouer ;\n"
-#~ "ret eo deoc'h eta kaout ur voullerez gant an anv-se ; hogen meur a anv,\n"
-#~ "pep hini dsipartiet gant an arouezenn '|', a c'hellit rei d'ur "
-#~ "voullerez.\n"
-#~ "Neuze, mar kavit gwelloc'h beza un anv splannoc'h, n'hoc'h eus ken "
-#~ "nemet\n"
-#~ "e lakaat da genta, da sk. \"Ma Voullerez|lp\".\n"
-#~ "Ar voullerez he deus \"lp\" en he anv(io) a vo hini dre ziouer.\n"
-#~ "\n"
-#~ "\n"
-#~ "M'eo luget ho moullerez end-eeun ouzh ho urzhiataer, diuzit\n"
-#~ "\"Moullerez lec'hel\". Neuze e rankot lavaret ouzh be borzh eo\n"
-#~ "luget ho moullerez, ha diuz ar sil a zere.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ma vennit tizhout ur voullerez a zo lec'hiet war un ardivink Unix\n"
-#~ "a-bell, rankout a reot diuz \"lpd a-bell\". Evit ma 'z afe en-dro,\n"
-#~ "n'eus ezhomm nag anv na tremenger, hogen e rankot anavezout anv\n"
-#~ "ar steud moulla war ar servijer-se.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ma vennit tizhout ur voullerez SMB (da lavaret eo ur voullerez\n"
-#~ "lec'hiet war un ardivink Windows 9x/NT a-bell), e rankot spisaat\n"
-#~ "e anv SMB (n'eo ket e anv TCP/IP), ha marteze e chomlec'h IP, mui\n"
-#~ "an anv arveriad, ar strollad labour hag an tremenger ret a-benn tizhout\n"
-#~ "ar voullerez, hag evel-just anv ar voullerez. Hevel tra evit ur\n"
-#~ "voullerez NetWare, war-bouez titour ar strollad labour a zo diezhomm."
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Disojal ar c'hemmo"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Peseurt eo ho logodenn ?"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Spisterio emgefreek"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "A-benn kavout ar spisterio hegerz e klaskin meur a hini.\n"
-#~ "C'hwilda a raio ho skramm...\n"
-#~ "Gallout a rit e tizenaoui ma fell deoc'h, klevet a rit ur bip pa vo echu"
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "Klask kavout ar spisterio hegerz a c'hellan (da sk. 800x600).\n"
-#~ "A-wecho, evelato, e c'hell sac'ha an ardivink.\n"
-#~ "Mennout a rit klask ?"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "Mod reizh ebet kavet\n"
-#~ "Klaskit gant ur gartenn video pe ur skramm all"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Klask ent emgefreek ar spisterio"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Logodenn Apple ADB"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Logodenn Apple ADB (2 nozelenn)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Logodenn Apple ADB (3 nozelenn pe vuioc'h)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Logodenn Apple ADB "
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Logodenn Apple USB (2 nozelenn)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Logodenn Apple USB (3 nozelenn pe vuioc'h)"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "Logodenn bus ATI"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Logodenn bus Microsoft"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logodenn bus Logitech"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "Logodenn USB (3 nozelenn pe vuioc'h)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Stumm 2.1A pe uheloc'h (a-steud)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (a-steud)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (a-steud)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (a-steud)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "Logodenn rummel (a-steud)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Kenglotus Microsoft (a-steud)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "Logodenn rummel 3 nozelenn (a-steud)"
-
-#~ msgid "nfs mount failed"
-#~ msgstr "marc'ha NFS sac'het"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Rinegouriezh"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "Ha mennout a rit keflunia ur rouedad lec'hel evit ho reizhiad ?"
-
-#~ msgid "Show less"
-#~ msgstr "Diskouez nebeutoc'h"
-
-#~ msgid "Show more"
-#~ msgstr "Diskouez muioc'h"
-
-#~ msgid "tie"
-#~ msgstr "frondenn"
-
-#~ msgid "brunette"
-#~ msgstr "duardez"
-
-#~ msgid "girl"
-#~ msgstr "plac'h"
-
-#~ msgid "woman-blond"
-#~ msgstr "meleganez"
-
-#~ msgid "automagic"
-#~ msgstr "emhud"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Petra eo reizhadur ho stokellaoueg ?"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Klask kavout kartenno PCMCIA ?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "Klask kavout trobarzhello %s ?"
-
-#~ msgid "Modem Configuration"
-#~ msgstr "Keflunia ar modem"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr ""
-#~ "Ha mennout a rit keflunia ur gevreadenn gervel dre modem evit ho "
-#~ "reizhiad ?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "Klask kavout trobarzhello PCI ?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "O klask ar parzhadur gwrizienn."
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s : N'eo ket ur parzhadur gwrizienn, diuzit un all mar plij."
-
-#~ msgid "No root partition found"
-#~ msgstr "Parzhadur gwrizienn kavet ebet"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr ""
-#~ "Dibabit ur parzhadur d'ober anezha ho parzhadur gwrizienn, mar plij."
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "N'hoc'h eus ket a-walc'h a egor evit Lnx4win !"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U Mo"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# '' is the '' (ntilde) in cp437 encoding.
-# '\227' is the '' (ugrave) in cp437 encoding.
-#
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Degemer mat e LILO, an dibaber reizhiad oberia !\n"
-#~ "\n"
-#~ "Evit rolla an dibabo aotreet, stokit <TAB>.\n"
-#~ "\n"
-#~ "Evit karga unan anezho, skrivit e anv ha stokit <ENKAS> pe c'hortozit %d "
-#~ "eilenn evit al loc'ha dre ziouer.\n"
-#~ "\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Degemer mat e SILO, an dibaber reizhiad oberian~ !\n"
-#~ "\n"
-#~ "Evit rollan~ an dibabou aotreet, stokit <TAB>.\n"
-#~ "\n"
-#~ "Evit kargan~ unan anezho, skrivit e anv ha stokit <ENKAS> pe c'hortozit %"
-#~ "d eilenn evit al loc'han~ dre ziouer.\n"
-#~ "\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "Dibarzho penna SILO"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Setu da heul enmonto a vez e SILO.\n"
-#~ "Gallout a rit ouzhpenna lod pe gemma a re a zo."
-
-#~ msgid "This label is already in use"
-#~ msgstr "War implij eo ar skridennad-se endeo"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "Staliadur SILO zo sac'het. Degouezhet eo ar fazi a heul :"
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ "DrakX a glasko da genta kavout unan pe vuioc'h a azasaer SCSI PCI.\n"
-#~ "Ma gav anezha (pe anezho) ha ma oar pe sturier(ien) implijout, e (o)\n"
-#~ "enlakaat a raio ent emgefreek.\n"
-#~ "\n"
-#~ "\n"
-#~ "M'eo ho azasaer SCSI ur gartenn ISA, pe m'eo ur gartenn PCI hogen\n"
-#~ "ne oar ket DrakX pe sturier implijout evit ar gartenn-se, pe n'hoc'h eus\n"
-#~ "tamm azasaer SCSI ebet, goulennet e vo diganeoc'h neuze hag-e hoc'h\n"
-#~ "eus unan pe get. Ma n'hoc'h eus hini, eilgeriit \"Ket\". M'hoc'h eus\n"
-#~ "unan pe vuioc'h, eilgeriit \"Ya\". Ur roll sturierien a zeuio neuze\n"
-#~ "war wel, a vo ret deoc'h diuz unan anezho.\n"
-#~ "\n"
-#~ "\n"
-#~ "Goude m'ho po diuzet ar sturier, DrakX a c'houlenno ma vennit spisaat\n"
-#~ "dibarzho evita. Da genta, klaskit leuskel ar sturier amproui\n"
-#~ "ar periant : peurliesa e da mat en-dro.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ma ne ra ket, na zisojit ket an titouro war ho periant a c'hellit\n"
-#~ "kavout en ho teuliadur pe digant Windows (m'hoc'h eus hema war ho\n"
-#~ "reizhiad), evel m'eo aliet gant ar sturlevr stalia. An dibarzho a\n"
-#~ "vo ret deoc'h pourveza d'ar sturier eo a zo e kaoz."
-
-#~ msgid "Shutting down"
-#~ msgstr "O tizenaoui"
-
-#~ msgid "useless"
-#~ msgstr "diezhomm"
-
-#~ msgid "garbage"
-#~ msgstr "lastez"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "or 7.0 (Air)."
-#~ msgstr ""
-#~ "Dibabit \"Stalia\" ma n'eus ket a stumm kent Linux bet staliaet,\n"
-#~ "pe ma vennit implijout meur a stumm pe a zasparzhadenn.\n"
-#~ "\n"
-#~ "\n"
-#~ "Dibabit \"Bremanaat\" ma vennit hizivaat ur stumm kent Mandrake Linux :\n"
-#~ "5.1 (Venice), 5.2 (Leeloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "pe 7.0 (Air)."
-
-#~ msgid "Creating and formatting loopback file %s"
-#~ msgstr "O kroui hag o furmadi ar restr savetei %s"
-
-#~ msgid "Amusements/Games"
-#~ msgstr "Dudi/C'hoario"
-
-#~ msgid "Applications/Archiving"
-#~ msgstr "Arloado/Diellerezh"
-
-#~ msgid "Applications/CPAN"
-#~ msgstr "Arloado/CPAN"
-
-#~ msgid "Applications/Configuration"
-#~ msgstr "Arloado/Keflunia"
-
-#~ msgid "Applications/Engineering"
-#~ msgstr "Arloado/Kalvezerezh"
-
-#~ msgid "Applications/File"
-#~ msgstr "Arloado/Restr"
-
-#~ msgid "Applications/Finance"
-#~ msgstr "Arloado/Arc'hanterezh"
-
-#~ msgid "Applications/Internet"
-#~ msgstr "Arloado/Kenrouedad"
-
-#~ msgid "Applications/Multimedia"
-#~ msgstr "Arloado/Liesvedia"
-
-#~ msgid "Applications/Networking"
-#~ msgstr "Arloado/Rouedad"
-
-#~ msgid "Applications/Productivity"
-#~ msgstr "Arloado/Ampletusted"
-
-#~ msgid "Applications/Publishing/TeX"
-#~ msgstr "Arloado/Embann/TeX"
-
-#~ msgid "Applications/Text"
-#~ msgstr "Arloado/Skrid"
-
-#~ msgid "Base"
-#~ msgstr "Diazez"
-
-#~ msgid "Development/Debuggers"
-#~ msgstr "Diorren/Dizraenerien"
-
-#~ msgid "Development/Languages"
-#~ msgstr "Diorren/Arego"
-
-#~ msgid "Development/System"
-#~ msgstr "Diorren/Reizhiad"
-
-#~ msgid "Development/Tools"
-#~ msgstr "Diorren/Binvio"
-
-#~ msgid "Extensions/Arabic"
-#~ msgstr "Astenno/Arabeg"
-
-#~ msgid "Extensions/Chinese"
-#~ msgstr "Astenno/Sineg"
-
-#~ msgid "Extensions/Japanese"
-#~ msgstr "Astenno/Japaneg"
-
-#~ msgid "Libraries"
-#~ msgstr "Mezarc'hio"
-
-#~ msgid "Networking/Daemons"
-#~ msgstr "Rouedad/Diaouled"
-
-#~ msgid "Networking/Utilities"
-#~ msgstr "Rouedad/Mavego"
-
-#~ msgid "System Environment/Base"
-#~ msgstr "Endro reizhiad/Diazez"
-
-#~ msgid "System Environment/Daemons"
-#~ msgstr "Endro reizhiad/Diaouled"
-
-#~ msgid "User Interface/Desktops"
-#~ msgstr "Etrefas arveriad/Gorretaol"
-
-#~ msgid "User Interface/X"
-#~ msgstr "Etrefas arveriad/X"
-
-#~ msgid "User Interface/X Hardware Support"
-#~ msgstr "Etrefas arveriad/Mera ardivinkaj X"
-
-#~ msgid "Utilities/Archiving"
-#~ msgstr "Mavego/Diellerezh"
-
-#~ msgid "Utilities/System"
-#~ msgstr "Mavego/Reizhiad"
-
-#~ msgid "Utilities/Text"
-#~ msgstr "Mavego/Skrid"
-
-#~ msgid "X11/Amusements"
-#~ msgstr "X11/Dudi"
-
-#~ msgid "X11/Applications"
-#~ msgstr "X11/Arloado"
-
-#~ msgid "X11/Applications/Internet"
-#~ msgstr "X11/Arloado/Kenrouedad"
-
-#~ msgid "X11/Applications/Networking"
-#~ msgstr "X11/Arloado/Rouedad"
-
-#~ msgid "X11/Window Managers"
-#~ msgstr "X11/Merourien prenester"
-
-#~ msgid "Communications"
-#~ msgstr "Kehenti"
-
-#~ msgid "Databases"
-#~ msgstr "Stlennvonio"
-
-#~ msgid "Development/C++"
-#~ msgstr "Diorren/C++"
-
-#~ msgid "Development/Databases"
-#~ msgstr "Diorren/Stlennvonio"
-
-#~ msgid "Development/Kernel"
-#~ msgstr "Diorren/Kraoell"
-
-#~ msgid "Editors"
-#~ msgstr "Aozerien"
-
-#~ msgid "Emulators"
-#~ msgstr "Kendarvanerezh"
-
-#~ msgid "Graphics"
-#~ msgstr "Grafek"
-
-#~ msgid "Publishing"
-#~ msgstr "Embann"
-
-#~ msgid "Shells"
-#~ msgstr "Shello"
-
-#~ msgid "Sound"
-#~ msgstr "Son"
-
-#~ msgid "System/Base"
-#~ msgstr "Reizhiad/Diazez"
-
-#~ msgid "System/Fonts/True type"
-#~ msgstr "Reizhiad/Nodrezho/True Type"
-
-#~ msgid "System/Libraries"
-#~ msgstr "Reizhiad/Mezarc'hio"
diff --git a/perl-install/share/po/ca.po b/perl-install/share/po/ca.po
deleted file mode 100644
index 80e3b7ac1..000000000
--- a/perl-install/share/po/ca.po
+++ /dev/null
@@ -1,10351 +0,0 @@
-# drakX translation to Catalan
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Copyright (c) 1999 MandrakeSoft
-# Copyright (c) 1999-2001 Softcatal
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2001-04-10 23:29+0200\n"
-"Last-Translator: Softcatal <traddrake@softcatala.org>\n"
-"Language-Team: Catalan\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Configura tots els capals independentment"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Utilitza l'extensi Xinerama"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Configura noms la targeta \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Configuraci Multi-head"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"El vostre sistema permet l's d'una configuraci de mltiples capals.\n"
-"Qu voleu fer?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Targeta grfica"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Seleccioneu una targeta grfica"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Escolliu un servidor X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "Servidor X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Quina configuraci de l'XFree voleu tenir?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"La vostra targeta pot tenir acceleraci 3D de maquinari, per noms amb "
-"l'Xfree %s.\n"
-"L'XFree %s, que pot tenir un suport millor en 2D, suporta la vostra targeta."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-"La vostra targeta pot tenir acceleraci 3D de maquinari amb l'Xfree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "Xfree %s amb acceleraci 3D de maquinari"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"La vostra targeta pot tenir acceleraci 3D de maquinari amb l'Xfree %s,\n"
-"TINGUEU EN COMPTE QUE ES TRACTA D'UN SUPORT EXPERIMENTAL; L'ORDINADOR ES POT "
-"PENJAR."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s amb acceleraci 3D de maquinari EXPERIMENTAL"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"La vostra targeta pot tenir acceleraci 3D de maquinari, per noms amb "
-"l'Xfree %s,\n"
-"TINGUEU EN COMPTE QUE ES TRACTA D'UN SUPORT EXPERIMENTAL; L'ORDINADOR ES POT "
-"PENJAR.\n"
-"L'XFree %s, que pot tenir un suport millor en 2D, suporta la vostra targeta."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "Configuraci de l'XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Seleccioneu la mida de memria de la vostra targeta grfica"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Escolliu les opcions per al servidor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Escolliu un monitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Els dos parmetres ms importants son la velocitat de refresc vertical, que\n"
-"s la velocitat a qu es refresca tota la pantalla, i el ms important, la\n"
-"velocitat de sincronitzaci horitzontal, que s la velocitat a qu es\n"
-"visualitzen les lnies d'exploraci.\n"
-"\n"
-"s MOLT IMPORTANT que no especifiqueu un tipus de monitor amb un abast\n"
-"de sincronitzaci superior a les possibilitats del vostre monitor, perqu\n"
-"el podreu fer malb.\n"
-"En cas de dubte, sigueu conservador amb aquest parmetre."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Velocitat de refresc horitzontal"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Velocitat de refresc vertical"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "El monitor no est configurat"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "La targeta grfica encara no est configurada"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Encara no s'han escollit les resolucions"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Voleu comprovar la configuraci?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
-"Avs: la comprovaci d'aquesta targeta grfica pot penjar-vos l'ordinador"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Comprova la configuraci"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"intenteu canviar alguns parmetres"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "S'ha produt un error:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Sortida en %d segons"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "s aquest el parmetre corrcte?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "S'ha produt un error, intenteu canviar alguns parmetres"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Resoluci"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Escolliu la resoluci i la profunditat de color"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Targeta grfica: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Servidor xFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Mode expert"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Mostra'ls tots"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Resolucions"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Disposici del teclat: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Tipus de ratol: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Dispositiu del ratol: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Sincronitzaci horitzontal del monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Refresc vertical del monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Targeta grfica: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Memria grfica: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Profunditat del color: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Resoluci: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Servidor xFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Controlador de l'xFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "S'est preparant la configuraci de l'X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Qu voleu fer?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Canvia el monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Canvia la targeta grfica"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Canvia les opcions del servidor"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Canvia la resoluci"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Mostra la informaci"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Torna-ho a comprovar"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Surt"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Voleu conservar els canvis?La configuraci actual s:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Si us plau, torneu a entrar a %s per activar els canvis"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Si us plau, sortiu i utilitzeu Ctrl-Alt-Enrere"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X a l'inici"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Puc configurar el vostre ordinador de manera que executi X automticament "
-"durant l'arrencada.\n"
-"Voleu que X s'inici quan torneu a arrencar l'ordinador?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 colors (8 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32.768 colors (15 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65.536 colors (16 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 milions de colors (24 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4.294 milions de colors (32 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB o ms"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "VGA estndard, 640x480 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "Compatible 8514, 1024x768 a 87 Hz entrellaada (no 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 a 87 Hz entrellaada, 800x600 a 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Super VGA ampliada, 800x600 a 60 Hz, 640x480 a 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "SVGA no entrellaada, 1024x768 a 60 Hz, 800x600 a 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "SVGA d'alta freqncia, 1024x768 a 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multi-freqncia que pot fer 1280x1024 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multi-freqncia que pot fer 1280x1024 a 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multi-freqncia que pot fer 1280x1024 a 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor que pot fer 1600x1200 a 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor que pot fer 1600x1200 a 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Primer sector de la partici d'arrencada"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Primer sector de la unitat (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "Installaci del SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "On voleu installar el carregador d'arrencada?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Installaci del LILO/grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO amb men de text"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO amb men grfic"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Arrencada des de DOS/Windows (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Opcions principals del carregador d'arrencada"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Carregador d'arrencada a utilitzar"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Installaci del carregador d'arrencada"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Dispositiu d'arrencada"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (no funciona en BIOS antics)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Compacte"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "compacte"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Mode de vdeo"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Demora abans d'arrencar la imatge predeterminada"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Contrasenya"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Contrasenya (un altre cop)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Limita les opcions de la lnia d'ordres"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "limita"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Buida /tmp en cada arrencada"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Mida exacta de la RAM, si cal (s'han trobat %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Habilita perfils mltiples"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Introduu la mida de la RAM en Mb"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"L'opci ``Limita les opcions de la lnia d'ordres'' no t cap s sense una "
-"contrasenya"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Si us plau, torneu-ho a intentar"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Les contrasenyes no coincideixen"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Missatge d'inicialitzaci"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Demora de firmware obert"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Temps mxim d'arrencada del nucli"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Voleu habilitar l'arrencada des de CD?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Voleu habilitar l'arrencada des d'OF?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "OS per defecte?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Aquestes sn les diferents entrades.\n"
-"Podeu afegir-ne algunes ms o canviar-ne les existents."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Afegeix"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Fet"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "Modifica el RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Quin tipus d'entrada voleu afegir?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Un altre SO (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Un altre SO (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Un altre SO (Windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Imatge"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Arrel"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Afegeix"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lectura-escriptura"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Taula"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "No segur"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Etiqueta"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Predeterminat"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd-size"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "NoVideo"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Elimina l'entrada"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "No es permet una etiqueta buida"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Aquesta etiqueta ja est en s"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Quin tipus de particionament?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "S'han trobat interfcies %2$s %1$s"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "En teniu una altra?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Teniu alguna interfcie %s?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "No"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "S"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Mira la informaci del maquinari"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "S'est installant el programa de control per a la targeta %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(mdul %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Quin programa de control %s he de provar?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"En alguns casos, el programa de control %s necessita informaci addicional\n"
-"per funcionar correctament, tot i que normalment funciona b sense ella.\n"
-"Voleu especificar opcions addicionals o deixar que el programa de control\n"
-"cerqui al vostre ordinador la informaci que necessita? Aquesta recerca\n"
-"podria blocar l'ordinador, per aix no causaria cap dany."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Exploraci automtica"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Especifica les opcions"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Ara podeu proporcionar les seves opcions per al mdul %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Ara podeu proporcionar les seves opcions per al mdul %s.\n"
-"Les opcions estan amb el format ``nom=valor nom2=valor2 ...''.\n"
-"Per exemple, ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Opcions del mdul:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Ha fallat la crrega del mdul %s.\n"
-"Voleu tornar-ho a intentar amb altres parmetres?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(ja s'ha afegit %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Aquesta contrasenya s massa senzilla"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Si us plau, introduu un nom d'usuari"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"El nom d'usuari noms pot contenir lletres en minscula, nmeros, `-' i `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Aquest nom d'usuari ja s'ha afegit"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Afegeix un usuari"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Introduu un usuari\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Accepta l'usuari"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Nom real"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Nom d'usuari"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Icona"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Entrada automtica"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Puc configurar el vostre ordinador de manera que entri automticament amb un "
-"nom d'usuari.\n"
-"Si no voleu utilitzar aquesta caracterstica, feu clic al bot Cancella."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Escolliu l'usuari per omissi:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Escolliu el gestor de finestres per executar:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Benvingut al %s, el selector de sistema operatiu!\n"
-"\n"
-"Trieu un sistema operatiu de la lista superior, o espereu\n"
-"%d segons per arrencar en el sistema operatiu predeterminat.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Benvingut al GRUB, el selector de sistema operatiu!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-"Utilitzeu les tecles %c i %c per seleccionar quina posici est ressaltada."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Premeu Intro per arrencar el SO seleccionat, 'e' per editar les"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "ordres prvies a l'arrencada, o 'c' per obtenir una lnia d'ordres."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "La posici ressaltada arrencar automticament dintre de %d segons."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "no hi ha prou espai a /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Escriptori"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Men Inici"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "encara no s'ha implementat cap ajuda.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Configuraci del tipus d'arrencada"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Fitxer"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Fitxer/_Nou"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Fitxer/_Obre"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Fitxer/_Desa"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Fitxer/_Anomena i desa"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Fitxer/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Fitxer/_Surt"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Opcions"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Opcions/Prova"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Ajuda"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Ajuda/_Quant a..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Configura"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Benvingut a la utilitat de compartici de la connexi a Internet!\n"
-"\n"
-"%s\n"
-"\n"
-"Feu clic a Configura per executar l'auxiliar de configuraci."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Mode LILO/Grub"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Monitor de categoritzaci NewStyle"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Monitor NewStyle"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Monitor tradicional"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Monitor Gtk+ tradicional"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Executa l'Aurora durant l'arrencada"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Mode d'arrencada"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Executa el sistema X-Window en iniciar"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "No, no vull l'entrada automtica"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "S, vull l'entrada automtica amb aquest (usuari, escriptori)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Mode de sistema"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Predeterminat"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "D'acord"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Cancella"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "no es pot obrir /etc/inittab per a lectura: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "no es pot obrir /etc/sysconfig/autologin per a lectura: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Ha fallat la installaci del LILO. S'ha produt l'error segent:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Crea"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Desmunta"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Suprimeix"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formata"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Canvia la mida"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tipus"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Punt de muntatge"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Escriu a /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Normal > Expert"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Expert > Normal"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Restaura des del fitxer"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Desa al fitxer"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Assistent"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Restaura des del disquet"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Desa al disquet"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Buida-ho tot"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formata-ho tot"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Assigna automticament"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "S'utilitzen totes les particions primries"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "No puc afegir cap ms partici"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Per tenir ms particions, suprimiu-ne una per poder crear una partici "
-"ampliada"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "No hi ha prou espai per a l'assignaci automtica"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Desfs"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Escriu la taula de particions"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Ms"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Intercanvia"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Buit"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Altres"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Tipus de sistema de fitxers"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detalls"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Teniu una partici FAT gran\n"
-"(utilitzada normalment pel DOS/Windows de Microsoft).\n"
-"Suggereixo que primer en canvieu la mida\n"
-"(feu-hi clic i desprs feu clic a \"Canvia la mida\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Si us plau, feu primer una cpia de seguretat de les vostres dades"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Llegiu-ho atentament!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Si penseu utilitzar aboot, assegureu-vos de deixar espai lliure (amb 2.048\n"
-"sectors n'hi ha prou) al comenament del disc"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Aneu amb compte: aquesta operaci s perillosa."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Error"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Punt de muntatge: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Dispositiu: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Lletra d'unitat del DOS: %s (noms s una suposici)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tipus: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nom: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Inici: sector %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Mida: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sectors"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Cilindre %d a cilindre %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formatat\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Sense formatar\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Muntat\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Fitxer(s) de loopback: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"La partici s'ha arrencat per defecte\n"
-" (per a l'arrencada de l'MS-DOS, no per a LILO)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Nivell %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Mida del tros %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "Discs RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Nom del fitxer de loopback: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"s possible que aquesta partici sigui\n"
-"una partici de programa de control;\n"
-"s millor que no la toqueu.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Aquesta partici Bootstrap\n"
-"especial s per arrencar\n"
-"el vostre sistema en dual.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Si us plau, feu clic a una partici "
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Mida: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometria: %s cilindres, %s capals, %s sectors\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "Discs LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Tipus de taula de particions: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "al bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Munta"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Actiu"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Afegeix al RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Elimina del RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Modifica el RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Afegeix al LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Elimina del LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Utilitza per a loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Trieu una acci"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Fins al moment no puc acceptar crear el /boot a la unitat (a un cilindre > "
-"1024).\n"
-"O esteu utilitzant LILO, i no funcionar, o no l'esteu utilitzant i no "
-"necessiteu el /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"La partici que heu seleccionat per afegir com a arrel (/) est ubicada "
-"fsicament ms enll del cilindre n 1024 del disc dur, i no teniu cap "
-"partici /boot.\n"
-"Si teniu previst utilitzar el gestor d'arrencada LILO, penseu d'afegir una "
-"partici /boot"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Heu seleccionat una partici de programari RAID com a arrel (/).\n"
-"Aix no ho pot gestionar cap carregador d'arrencada sense una partici /"
-"boot.\n"
-"Per tant, assegureu-vos d'afegir una partici /boot"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Utilitzeu ``%s'' al seu lloc"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Utilitzeu primer ``Unmount''"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Desprs de canviar el tipus de la partici %s, se'n perdran totes les dades"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Voleu continuar igualment?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Surt sense desar"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Voleu sortir sense desar la taula de particions?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Canvia el tipus de partici"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Quin sistema de fitxers voleu?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "No podeu utilitzar el ReiserFS per a particions inferiors a 32 MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "On voleu muntar el fitxer de loopback %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "On voleu muntar el dispositiu %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"No es pot anullar el punt de muntatge, perqu aquesta partici\n"
-"s'utilitza per al loopback. Elimineu primer el loopback"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "Desprs de formatar la partici %s, se'n perdran totes les dades"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "S'est formatant"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "S'est formatant el fitxer de loopback %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "S'est formatant la partici %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Desprs de formatar totes les particions,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "totes les dades d'aquestes particions s'hauran perdut"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Mou"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "A quin disc us voleu desplaar?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sector"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "A quin sector us voleu desplaar?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "S'est desplaant"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "S'est desplaant la partici..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "La taula de particions de la unitat %s s'escriur al disc!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr ""
-"Us caldr tornar a arrencar per tal que les modificacions tinguin efecte"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "S'estan calculant els lmits del sistema de fitxers de la FAT"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "S'est canviant la mida"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "No es pot canviar la mida d'aquesta partici"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Cal fer una cpia de seguretat de totes les dades d'aquesta partici"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"Desprs de canviar la mida de la partici %s, se'n perdran totes les dades"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Escolliu la nova mida"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Crea una nova partici"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "sector d'inici: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Mida en MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Tipus de sistema de fitxers: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Preferncia: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Aquesta partici no es pot utilitzar per al loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Nom del fitxer de loopback: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Un altre loopback ja est utilitzant el fitxer, escolliu-ne un altre"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "El fitxer ja existeix. El voleu utilitzar?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Seleccioneu el fitxer"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"La cpia de seguretat de la taula de particions no t la mateixa mida\n"
-"Voleu continuar igualment?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Advertncia"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Inseriu un disquet a la unitat\n"
-"Se'n perdran totes les dades"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "S'est intentant rescatar la taula de particions"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "dispositiu"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "nivell"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "mida del tros"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Escolliu un RAID existent al qual afegir"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "nou"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Escolliu un LVM existent al qual afegir"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "Nom LVM?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Muntatge automtic del suport extrable"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Rescata la taula de particions"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Torna a carregar"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formatatge de %s ha fallat"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "no s com formatar %s amb el tipus %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "ha fallat el muntatge: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "s'ha produt un error en muntar %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "senzill"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "servidor"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Els punts de muntatge han de comenar amb una /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Ja hi ha una partici amb el punt de muntatge %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Muntatges circulars %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "No podeu utilitzar un volum lgic LVM per al punt de muntatge %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Aquest directori s'ha de mantenir dins del sistema de fitxers de root"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Necessiteu un sistema de fitxers real (ext2, reiserfs) per a aquest punt de "
-"muntatge\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "S'ha produt un error en obrir %s per escriure: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"S'ha produt un error: no s'han trobat dispositius vlids on crear nous "
-"sistemes de fitxers. Si us plau, comproveu el vostre maquinari per trobar el "
-"problema"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "No teniu cap partici!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Escolliu l'idioma que voleu utilitzar per a la installaci i per a l's del "
-"sistema."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Heu d'acceptar els termes de la llicncia de ms amunt per poder continuar "
-"la installaci.\n"
-"\n"
-"\n"
-"Si us plau, feu clic a \"Accepto\" si hi esteu d'acord.\n"
-"\n"
-"\n"
-"Feu clic a \"No accpeto\" si no hi esteu d'acord. La installaci "
-"finalitzar sense modificar la installaci actual."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Escolliu el vostre tipus de teclat de la llista inferior"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Si desitgeu que altres idiomes (a ms del que vau triar en\n"
-"iniciar la installaci) estiguin disponibles desprs de la installaci,\n"
-"escolliu-los de la llista de ms amunt. Si els voleu seleccionar tots,\n"
-"noms cal que seleccioneu \"Tots\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Escolliu \"Installaci\" si no teniu cap versi anterior de Linux-Mandrake\n"
-"installada a l'ordinador o si voleu utilitzar diversos sistemes operatius.\n"
-"\n"
-"\n"
-"Escolliu \"Actualitzaci\" si voleu actualitzar un versi de Linux-Mandrake "
-"que ja est installada.\n"
-"\n"
-"\n"
-"Segons els vostres coneixements de GNU/Linux, podeu escollir un dels "
-"nivells\n"
-"segents d'installaci o actualitzaci del sistema operatiu Linux-"
-"Mandrake:\n"
-"\n"
-"\t* Recomanada: si mai no heu installat un sistema operatiu GNU/Linux,\n"
-"escolliu aquest. La installaci ser molt fcil i noms se us faran\n"
-"unes poques preguntes.\n"
-"\n"
-"\n"
-"\t* Personalitzada: si coneixeu prou el GNU/Linux, podeu escollir l's\n"
-"principal (estaci de treball, servidor, desenvolupament) del vostre\n"
-"sistema. Haureu de respondre ms preguntes que en la installaci\n"
-"\"Recomanada\", de manera que, si escolliu aquest tipus d'installaci,\n"
-"haureu de saber com funciona el GNU/Linux.\n"
-"\n"
-"\n"
-"\t* Per a experts: si domineu el GNU/Linux, trieu aquest tipus\n"
-"d'installaci. Com en el cas de la installaci \"Personalitzada\"\n"
-"podreu escollir l's principal del vostre ordinador (estaci de treball,\n"
-"servidor, desenvolupament). Aneu amb molt de compte abans de triar aquest\n"
-"tipus d'installaci; podreu realitzar una installaci altament\n"
-"personalitzada.\n"
-"\t La resposta a algunes preguntes pot ser molt difcil si no teniu slids\n"
-"coneixements de GNU/Linux. Per tant, no escolliu aquest tipus "
-"d'installaci\n"
-"tret que sapigueu qu esteu fent."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Seleccioneu:\n"
-"\n"
-" - Personalitzada: Si esteu familiaritzat amb el Linux, podreu\n"
-"triar l's del sistema installat entre Normal, Desenvolupament o\n"
-"Servidor. Trieu \"Normal\" per a una installaci per a un s\n"
-"general del vostre ordinador, \"Desenvolupament\" si utilitzareu\n"
-"l'ordinador principalment per a desenvolupament de programari,\n"
-"o \"Servidor\" si voleu installar un servidor convencional (per\n"
-"a correu, impressions...).\n"
-"\n"
-"\n"
-" - Per a experts: Si domineu el GNU/Linux i voleu realitzar una\n"
-"installaci totalment personalitzada, aquest s el vostre\n"
-"tipus d'installaci. Podreu seleccionar l's del vostre sistema\n"
-"com a \"Personalitzada\"."
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Ara heu de decidir com utilitzareu l'ordinador. Les opcions sn:\n"
-"\n"
-"\t* Estaci de treball: l'elecci ideal si penseu utilitzar l'ordinador "
-"bsicament per a l's quotidi, a la feina o\n"
-"\t a casa.\n"
-"\n"
-"\n"
-"\t* Desenvolupament: si penseu utilitzar l'ordinador bsicament per a "
-"desenvolupament de programari, aquesta s l'elecci ideal.\n"
-"\t Tindreu installada una completa collecci de programari per poder "
-"compilar, depurar i formatar codi font,\n"
-"\t o crear paquets de programari.\n"
-"\n"
-"\n"
-"\t* Servidor: si penseu utilitzar l'ordinador com a servidor, aquesta s "
-"l'elecci ideal, ja sigui un servidor de fitxers (NFS o\n"
-"\t SMB), un servidor d'impressi (tipus Unix o Microsoft Windows), un "
-"servidor d'autenticaci (NIS), un servidor\n"
-"\t de bases de dades, etc. En canvi, no espereu que se us installin coses "
-"com ara el KDE, el GNOME, etc.)"
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"El DrakX intentar trobar el(s) adaptador(s) SCSI PCI. \n"
-"Si en troba, i sap quin programa de control utilitzar, el(s)\n"
-"installar automticament.\n"
-"\n"
-"\n"
-"Si no teniu cap adaptador SCSI, un adaptador SCSI ISA, o un\n"
-"adaptador SCSI PCI que el DrakX no reconegui, se us demanar si teniu\n"
-"un adaptador SCSI al sistema. Si no en teniu cap, simplement feu clic a \"No"
-"\". Si feu\n"
-"clic a \"S\", apareixer una llista de programes de control on podreu\n"
-"seleccionar l'adaptador concret.\n"
-"\n"
-"\n"
-"Si heu hagut de seleccionar l'adaptador manualment, el DrakX us preguntar\n"
-"si voleu indicar opcions per a ell. Conv que deixeu que el DrakX comprovi\n"
-"el maquinari per a les opcions; aix sol funcionar b.\n"
-"\n"
-"\n"
-"Si no, us caldr proporcionar les opcions al programa de control. Consulteu\n"
-"el captol 3 de la Guia de l'usuari, secci \"Informaci obtinguda del\n"
-"maquinari\" per saber com treure aquesta informaci de la documentaci del\n"
-"maquinari, del lloc web del fabricant (si teniu accs a Internet) o del\n"
-"Microsoft Windows (si el teniu al sistema)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Ara s quan heu de decidir en quin lloc del vostre disc dur voleu "
-"installar\n"
-"el sistema operatiu Linux-Mandrake. Si el disc s buit, o si un sistema\n"
-"operatiu existent n'utilitza tot l'espai disponible, us caldr particionar-\n"
-"lo. Bsicament, particionar un disc dur consisteix en dividir-lo de manera\n"
-"lgica per crear espai on installar el nou sistema Linux-Mandrake.\n"
-"\n"
-"\n"
-"Ats que els efectes d'aquest procs solen ser irreversibles, el "
-"particionament \n"
-"us pot espantar si sou un usuari sense experincia.\n"
-"Aquest assistent simplifica aquest procs; abans de comenar, consulteu el\n"
-"manual i preneu-vos el temps que calgui.\n"
-"\n"
-"\n"
-"Necessiteu, com a mnim, dues particions, una per al sistema operatiu en\n"
-"si i l'altra per a la memria virtual (anomenada tamb \"Intercanvi\").\n"
-"\n"
-"\n"
-"Si les particions ja s'han definit (en una installaci anterior o "
-"mitjanant\n"
-"una altra eina de particionament), noms caldr que seleccioneu les que "
-"voleu\n"
-"utilitzar per installar el sistema Linux.\n"
-"\n"
-"\n"
-"Si les particions encara no s'han definit, les heu de crear.\n"
-"Per fer-ho, utilitzeu l'assistent que trobareu ms amunt; segons la\n"
-"configuraci del vostre disc dur, hi ha diverses solucions possibles:\n"
-"\n"
-"\t* Utilitzar una partici existent: l'assistent ha detectat al vostre\n"
-"disc dur una o ms particions de Linux existents. Si voleu conservar-les,\n"
-"escolliu aquesta opci.\n"
-"\n"
-"\n"
-"\t* Esborrar completament el disc: si voleu suprimir totes les dades i\n"
-"particions que teniu al disc dur i substituir-les pel sistema Linux-\n"
-"Mandrake, podeu escollir aquesta opci. Aneu amb compte, per, perqu,\n"
-"un cop la confirmeu, no podreu fer-vos enrere.\n"
-"\n"
-"\n"
-"\t* Utilitzar l'espai lliure de la partici del Windows: si teniu el "
-"Microsoft\n"
-"Windows installat al disc dur i n'ocupa tot l'espai diponible, us hi "
-"caldr\n"
-"crear espai lliure per a les dades del Linux. Per fer-ho, podeu suprimir la\n"
-"partici i les dades del Windows (consulteu les opcions \"Esborrar "
-"completament\n"
-"el disc\" o \"Mode expert\") o canviar la mida de la partici del Windows;\n"
-"aquest canvi de mida es pot dur a terme sense cap prdua de dades. Aquesta\n"
-"opci s la ms recomanable si voleu utilitzar tant el Linux-Mandrake com "
-"el\n"
-"Microsoft Windows al mateix ordinador.\n"
-"\n"
-"\n"
-"\t Abans de decidir-vos per aquesta opci, tingueu en compte que la mida\n"
-"de la partici del Microsoft Windows ser ms petita que ara. Aix "
-"significa\n"
-"que tindreu menys espai lliure per emmagatzemar-hi dades o installar-hi "
-"ms\n"
-"programari.\n"
-"\n"
-"\n"
-"\t* Mode expert: si voleu particionar el disc dur manualment, podeu triar\n"
-"aquesta opci. Aneu amb compte, perqu s molt potent per tamb perillosa;\n"
-"podeu perdre fcilment totes les dades. Per tant, no trieu aquesta opci "
-"tret\n"
-"que sapigueu exactament qu esteu fent."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Ara s quan heu de decidir quina(es) partici(ns) voleu utilitzar per\n"
-"installar el sistems Linux-Mandrake. Si ja s'han definit les particions "
-"(amb\n"
-"una installaci anterior de GNU/Linux o mitjanant una altra eina de\n"
-"particionament), podeu utilitzar les particiones existents. En cas "
-"contrari,\n"
-"s'han de definir particions al disc dur.\n"
-"\n"
-"\n"
-"Per crear particions, primer heu de seleccionar un disc dur. Podeu "
-"seleccionar\n"
-"el disc que s'ha de particionar fent clic a \"hda\" per a la primera unitat\n"
-"IDE, \"hdb\" per a la segona o \"sda\" per a la primera unitat SCSI, etc.\n"
-"\n"
-"\n"
-"Per particionar el disc dur seleccionat, podeu utilitzar aquestes opcions:\n"
-"\n"
-" * Buidar-ho tot: aquesta opci suprimeix totes les particions que hi ha\n"
-"al disc dur seleccionat.\n"
-"\n"
-"\n"
-" * Assignaci automtica: aquesta opci us permet crear automticament "
-"les\n"
-"particions Ext2 i Intercanvi en l'espai lliure del disc dur.\n"
-"\n"
-"\n"
-" * Rescatar la taula de particions: si la taula de particions est\n"
-"malmesa, podeu intentar recuperar-la mitjanant aquesta opci. Aneu\n"
-"amb compte i penseu que aix pot fallar.\n"
-"\n"
-"\n"
-" * Desfer: podeu utilitzar aquesta opci per anullar els canvis.\n"
-"\n"
-"\n"
-" * Tornar a carregar: podeu utilitzar aquesta opci si voleu desfer\n"
-"tots els canvis i carregar la taula de particions inicial.\n"
-"\n"
-"\n"
-" * Assistent: Si voleu utilitzar un assistent per particionar el disc "
-"dur,\n"
-"podeu utilitzar aquesta opci, que s la ms recomanable si no teniu massa\n"
-"experincia en particionament.\n"
-"\n"
-"\n"
-" * Restaurar des de disquet: si, en una installaci anterior, vau desar\n"
-"la taula de particions en un disquet, podeu recuperar-la mitjanant aquesta\n"
-"opci.\n"
-"\n"
-"\n"
-" * Desar en disquet: si voleu desar la taula de particions en un disquet\n"
-"per poder-la recuperar, podeu utilitzar aquesta opci. s molt recomanable\n"
-"que l'utilitzeu.\n"
-"\n"
-"\n"
-" * Fet: quan hagueu acabat de particionar el disc dur, utilizeu aquesta\n"
-"opci per desar els canvis.\n"
-"\n"
-"\n"
-"Per a la vostra informaci, podeu accedir a qualsevol opci mitjanant el "
-"teclat:\n"
-"moveu-vos per les particions amb la tecles Tab i Fletxa amunt/Fletxa avall.\n"
-"\n"
-"\n"
-"Quan s'ha seleccionat una partici, podeu utilitzar:\n"
-"\n"
-" * Ctrl+C per crear una nova partici (quan se n'ha seleccionat\n"
-"una de buida)\n"
-"\n"
-" * Ctrl+D per suprimir una partici\n"
-"\n"
-" * Ctrl+M per definir el punt de muntatge\n"
-" \n"
-"\n"
-" \n"
-"Si esteu fent la installaci en un ordinador PPC, potser voldreu crear una\n"
-"petita partici 'bootstrap' HFS d'un mnim d'1 MB per a s del carregador\n"
-"d'arrencada 'yaboot'. Si decidiu fer-la una mica ms gran, per exemple de\n"
-"50 MB, us ser d'utilitat per emmagatzemar un nucli de recanvi i una imatge\n"
-"del disc RAM per a situacions d'emergncia durant l'arrencada."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Aquestes sn les particions de Linux existents que s'han detectat a la\n"
-"vostra unitat de disc dur. Podeu conservar les eleccions fetes per "
-"l'assistent,\n"
-"sn adequades per a un s normal. Si les canvieu, heu de definir una "
-"partici\n"
-"root (\"/\"); no escolliu una partici massa petita, o no podreu installar\n"
-"prou programari. Si voleu emmagatzemar les dades en una altra partici, "
-"tamb\n"
-"haureu de seleccionar una \"/home\" (noms si teniu ms d'una partici de\n"
-"Linux).\n"
-"\n"
-"\n"
-"Per a la vostra informaci, cada partici est identificada d'aquesta "
-"manera: \"Nom\", \"Capacitat\".\n"
-"\n"
-"\n"
-"\"Nom\" es compon de: \"tipus d'unitat de disc\", \"nmero d'unitat de disc"
-"\",\n"
-"\"nmero de la partici\" (per exemple, \"hda1\").\n"
-"\n"
-"\n"
-"\"Tipus d'unitat de disc\" s \"hd\" si la vostre unitat de disc s IDE i "
-"\"sd\"\n"
-"si s SCSI.\n"
-"\n"
-"\n"
-"\"Nmero de la unitat de disc\" s sempre una lletra desprs d'\"hd\" o \"sd"
-"\".\n"
-"Amb unitats de disc IDE:\n"
-"\n"
-" * \"a\" significa \"unitat de disc mestre en el controlador IDE primari"
-"\",\n"
-"\n"
-" * \"b\" significa \"unitat de disc esclava en el controlador IDE primari"
-"\",\n"
-"\n"
-" * \"c\" significa \"unitat de disc mestre en el controlador IDE secundari"
-"\",\n"
-"\n"
-" * \"d\" significa \"unitat de disc esclava en el controlador IDE secundari"
-"\".\n"
-"\n"
-"\n"
-"Amb les unitats de disc SCSI, una \"a\" significa \"unitat primria de disc"
-"\", una \"b\" significa \"unitat secundria de disc\", etc..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Escolliu el disc dur que voleu buidar per installar la nova partici "
-"Linux-\n"
-"Mandrake. Aneu amb compte, se'n perdran totes les dades i no es podran "
-"recuperar."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Feu clic a \"D'acord\" si voleu suprimir totes les dades i\n"
-"particions que hi ha en aquesta unitat de disc. Aneu amb compte, perqu, un "
-"cop hagueu fet clic a \"D'acord\", no podreu recuperar cap dada ni partici "
-"del disc,\n"
-"incloent las dades de Windows.\n"
-"\n"
-"\n"
-"Feu clic a \"Cancella\" per anullar aquesta operaci sense perdre cap "
-"dada\n"
-"ni partici d'aquest disc."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"S'ha detectat ms d'una partici de Microsoft Windows en la unitat de disc.\n"
-"Si us plau, trieu quina d'elles voleu redimensionar per installar el nou\n"
-"sistema operatiu Linux-Mandrake.\n"
-"\n"
-"\n"
-"Per a la vostra informaci, cada partici est identificada d'aquesta "
-"manera; \"Nom Linux\", \"Nom\n"
-"Windows\" \"Capacitat\".\n"
-"\n"
-"\"Nom Linux\" es compon de: \"tipus d'unitat de disc\", \"nmero d'unitat de "
-"disc\",\n"
-"\"nmero de la partici\" (per exemple, \"hda1\").\n"
-"\n"
-"\n"
-"\"Tipus d'unitat de disc\" s \"hd\" si la vostre unitat de disc s IDE i "
-"\"sd\"\n"
-"si s SCSI.\n"
-"\n"
-"\n"
-"\"Nmero de la unitat de disc\" s sempre una lletra desprs d'\"hd\" o \"sd"
-"\".\n"
-"Amb unitats de disc IDE:\n"
-"\n"
-" * \"a\" significa \"unitat de disc mestre en el controlador IDE primari"
-"\",\n"
-"\n"
-" * \"b\" significa \"unitat de disc esclava en el controlador IDE primari"
-"\",\n"
-"\n"
-" * \"c\" significa \"unitat de disc mestre en el controlador IDE secundari"
-"\",\n"
-"\n"
-" * \"d\" significa \"unitat de disc esclava en el controlador IDE secundari"
-"\".\n"
-"\n"
-"\n"
-"Amb les unitats de disc SCSI, una \"a\" significa \"unitat primria de disc"
-"\", una \"b\" significa \"unitat secundria de disc\", etc...\n"
-"\n"
-"\"Nom Windows\" s la lletra de la vostra unitat de disc sota Windows (el "
-"primer disc o partici s'anomena \"C:\")."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-"Si us plau, tingueu pacincia. Aquesta operaci pot trigar diversos minuts."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Les particions que s'acaben de definir s'han de formatar per poder-les\n"
-"utilitzar. El formatatge consisteix en crear-hi un sistema de fitxers).\n"
-"\n"
-"\n"
-"En aquest punt, potser voldreu tornar a formatar algunes de les particions\n"
-"existents per eliminar les dades que contenen. Si s aix, seleccioneu les\n"
-"particions que voleu formatar.\n"
-"\n"
-"\n"
-"Tingueu en compte que no cal tornar a formatar totes les particions que ja\n"
-"existien; heu de tornar a formatar les particions que contenen el sistema\n"
-"operatiu (com ara \"/\", \"/usr\" o \"/var\"), per no les que contenen "
-"dades\n"
-"que voleu conservar (habitualment, /home).\n"
-"\n"
-"\n"
-"Aneu amb compte en seleccionar les particions; desprs del formatatge, "
-"totes\n"
-"les dades s'hauran suprimit i no en podreu recuperar cap.\n"
-"\n"
-"\n"
-"Feu clic a \"D'acord\" quan estigueu a punt per formatar les particions.\n"
-"\n"
-"\n"
-"Feu clic a \"Cancella\" si voleu seleccionar altres particions per "
-"installar\n"
-"el nou sistema Linux-Mandrake."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Ara podeu seleccionar el grup de paquets que voleu installar o "
-"actualitzar.\n"
-"\n"
-"\n"
-"El DrakX comprovar si teniu prou espai per installar-los tots i, si no, "
-"us\n"
-"ho avisar. Si voleu seguir igualment, continuar amb la installaci de "
-"tots\n"
-"els grups seleccionats per no n'installar alguns de menys inters. Al "
-"final\n"
-"de la llista podeu seleccionar l'opci \"Selecci individual de paquets\", "
-"i\n"
-"en aquest cas haureu de navegar per ms de 1.000 paquets..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Ara podeu triar individualment tots els paquets que voleu installar.\n"
-"\n"
-"\n"
-"Podeu expandir o reduir l'arbre fent clic a les opcions del rac esquerre de "
-"la finestra de paquets.\n"
-"\n"
-"\n"
-"Si preferiu veure els paquets ordenats alfabticament, feu clic a la icona\n"
-"\"Commuta entre ordenaci plana i per grups\".\n"
-"\n"
-"\n"
-"Si no voleu ser avisat pel que fa a les dependncies, feu clic a "
-"\"Dependncies\n"
-"automtiques\". Si ho feu, tingueu en compte que el fet de desseleccionar\n"
-"un paquet pot causar la desselecci d'altres paquets que en depenen, i no\n"
-"us n'assabentareu."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Si teniu tots els CD de la llista superior, feu clic a D'acord.\n"
-"Si no teniu cap d'aquests CD, feu clic a Cancella.\n"
-"Si noms falten alguns CD, desseleccioneu-los i feu clic a D'acord."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"El nou sistema operatiu Linux-Mandrake s'est installant. Aquesta\n"
-"operaci trigar uns quants minuts (dependr de la mida total que\n"
-"hagueu escollit installar i de la velocitat del vostre ordinador).\n"
-"\n"
-"\n"
-"Si us plau, tingueu pacincia."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Ara podeu provar el ratol. Utilitzeu els botons i la bola per comprovar "
-"que\n"
-"els parmetres sn correctes; si no ho sn, feu clic a \"Cancella\" per\n"
-"seleccionar un altre controlador."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Si us plau, seleccioneu el port correcte. Per exemple, el port COM1 en MS\n"
-"Windows s'anomena ttyS0 en GNU/Linux."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Si voleu connectar l'ordinador a Internet o a una xarxa local, seleccioneu\n"
-"l'opci corresponent, per abans recordeu engegar el dispositiu per tal que\n"
-"el DrakX el detecti automticament.\n"
-"\n"
-"\n"
-"Si no teniu connexi a Internet ni a cap xarxa local, escolliu \"Inhabilita "
-"el servei de xarxa\".\n"
-"\n"
-"\n"
-"Si voleu configurar la xarxa ms endavant, desprs de la installaci, o si\n"
-"heu acabat la configuraci de la connexi de xarxa, trieu \"Fet\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"No s'ha detectat cap mdem. Si us plau, seleccioneu el port srie on est "
-"connectat.\n"
-"\n"
-"\n"
-"Per a la vostra informaci, el primer port srie (anomenat \"COM1\" en "
-"Microsoft Windows) s'anomena \"ttyS0\" en Linux."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Ara podeu introduir les opcions de marcatge. Si no sabeu qu heu "
-"d'introduir,\n"
-"o si no n'esteu segur, podreu aconseguir la informaci necessria del "
-"vostre\n"
-"provedor d'Internet. Si no introduu aqu la informaci del DNS (servidor "
-"de\n"
-"noms), aquesta informaci s'obtindr del provedor en el moment de connectar."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Si el mdem que teniu s extern, engegueu-lo per tal que el DrakX el detecti "
-"automticament."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Si us plau, engegueu el mdem i trieu-ne el correcte."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Si no esteu segur de si la informaci de ms amunt s correcta, si no sabeu\n"
-"qu introduir o si no n'esteu segur, podreu aconseguir la informaci\n"
-"necessria del vostre provedor d'Internet. Si no introduu aqu la\n"
-"informaci del DNS (servidor de noms), aquesta informaci s'obtindr del\n"
-"provedor en el moment de connectar."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Ara podeu introduir el nom del vostre ordinador central. Si no esteu segur "
-"del que hi\n"
-"heu d'introduir, el vostre provedor us en donar la informaci correcta."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Ara podeu configurar el voste dispositiu de xarxa.\n"
-"\n"
-" * Adrea IP: si no la sabeu, o no n'esteu segur, pregunteu-la a "
-"l'administrador de la xarxa.\n"
-" No heu d'introduir cap adrea IP si ms avall seleccioneu l'opci \"IP "
-"automtica\".\n"
-"\n"
-" * Mscara de la xarxa: Normalment, \"255.255.255.0\" s una bona elecci. "
-"Si no n'esteu segur, consulteu-ho a l'administrador de la xarxa.\n"
-"\n"
-" * IP automtica: si la vostra xarxa utilitza els protocols BOOTP o DHCP,\n"
-"seleccioneu aquesta opci. Si es selecciona, no cal cap valor per a \"Adrea "
-"IP\". Si no n'esteu segur, consulteu-ho a l'administrador de la xarxa."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Ara podeu introduir el nom del vostre ordinador central, si cal. Si no el\n"
-"sabeu, o no esteu segur de qu heu d'introduir, consulteu a l'administrador "
-"de la xarxa."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Ara podeu introduir el nom del vostre ordinador central, si cal. Si no\n"
-"el sabeu, o si esteu segur de qu introduir, deixeu-ho en blanc."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Ara podeu introduir les opcions de marcatge. Si no esteu segur del que hi\n"
-"heu d'introduir, el vostre provedor us en donar la informaci correcta."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Si teniu previst utilitzar proxys, configureu-los ara. Si no sabeu si\n"
-"n'utilitzareu, consulteu-ho a l'administrador de la xarxa o al vostre\n"
-"provedor."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Podeu installar el paquet criptogrfic si la vostra connexi a Internet\n"
-"s'ha configurat correctament. Escolliu primer una rpilca des de la qual\n"
-"vulgueu descarregar paquets i desprs seleccioneu els paquets a installar.\n"
-"\n"
-"\n"
-"Tingueu en compte que heu de seleccionar la rplica i els paquets\n"
-"criptogrfics segons la vostra legislaci."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Ara podeu seleccionar la zona horria segons el lloc on viviu."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"El GNU/Linux gestiona l'hora en GMT (Hora de Greenwich) i la\n"
-"tradueix a l'hora local segons la zona horria seleccionada.\n"
-"\n"
-"\n"
-"Si utilitzeu Microsoft Windows en aquest ordinador, trieu \"No\"."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Ara podeu triar quins serveis voleu que s'inicin durant l'arrencada.\n"
-"\n"
-"\n"
-"Quan el ratol passi sobre un element apareixer un petit globus d'ajuda "
-"que\n"
-"explica la finalitat del servei.\n"
-"\n"
-"\n"
-"Aneu especialment amb cura en aquest pas si penseu utilitzar l'ordinador "
-"com\n"
-"a servidor: segurament no us interessar iniciar serveis que no necessiteu.\n"
-"Recordeu que hi ha diversos serveis que poden ser perillosos si s'habiliten\n"
-"en un servidor.\n"
-"En general, seleccioneu noms els serveis que realment necessiteu."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Podeu configurar una impressora local (connectada al vostre ordinador) o\n"
-"remota (accessible mitjanant una xarxa Unix, Netware o Microsoft Windows)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Si voleu imprimir, trieu un sistema de impressi entre CUPS i LPR.\n"
-"\n"
-"\n"
-"El CUPS s un nou sistema d'impressi, potent i flexible, per a sistemes "
-"Unix\n"
-"(CUPS significa \"Common Unix Printing System\"). s el sistema d'impressi\n"
-"per defecte en Linux-Mandrake.\n"
-"\n"
-"\n"
-"L'LPR s l'antic sistema d'impressi utilitzat en distribucions anteriors "
-"de\n"
-"Linux-Mandrake distributions.\n"
-"\n"
-"\n"
-"Si no teniu impressora, feu clic a \"Cap\"."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"El GNU/Linux pot treballar amb molts tipus d'impressores, per cada un\n"
-"d'aquests tipus requereix una configuraci diferent.\n"
-"\n"
-"\n"
-"Si teniu la impressora connectada fsicament a l'ordinador, seleccioneu\n"
-"\"Impressora local\".\n"
-"\n"
-"\n"
-"Si voleu accedir a una impressora que es troba en un ordinador Unix remot,\n"
-"seleccioneu \"Impressora remota\".\n"
-"\n"
-"\n"
-"Si voleu accedir a una impressora que es troba en un ordinador Microsoft\n"
-"Windows remot (o en un ordinador Unix que utilitza el protocol SMB),\n"
-"seleccioneu \"SMB/Windows 95/98/NT\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Si us plau, engegueu la impressora abans de continuar per tal que el DrakX\n"
-"la pugui detectar.\n"
-"\n"
-"Aqu heu d'introduir algunes dades.\n"
-"\n"
-"\n"
-" * Nom de la impressora: l'spool d'impressi utilitza \"lp\" com a nom "
-"per\n"
-"omissi de la impressora. Per tant, heu de tenir una impressora anomenada\n"
-"\"lp\".\n"
-" Si noms teniu una impressora, podeu donar-li diversos;\n"
-"noms; noms cal que els separeu amb el carcter \"|\". Per tant,\n"
-"si preferiu un nom ms expressiu, l'heu d'indicar en primer lloc\n"
-"(per exemple: \"La meva impressora|lp\").\n"
-" La impressora que contingui \"lp\" al(s) nom(s) ser la impressora per "
-"omissi.\n"
-"\n"
-"\n"
-" * Descripci: s opcional, per pot ser til si teniu diverses\n"
-"impressores connectades a l'ordinador o si permeteu que altres\n"
-"ordinadors accedeixin a aquesta impressora.\n"
-"\n"
-"\n"
-" * Ubicaci: si voleu incloure informaci sobre la ubicaci de la\n"
-"impressora, feu-ho aqu (podeu escriure el que vulgueu, (per exemple,\n"
-"\"2n pis\").\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Aqu heu d'introduir algunes dades.\n"
-"\n"
-"\n"
-" * Nom de la cua: l'spool d'impressi utilitza \"lp\" com a nom per\n"
-"omissi de la impressora. Per tant, heu de tenir una impressora anomenada\n"
-"\"lp\".\n"
-" Si noms teniu una impressora, podeu donar-li diversos;\n"
-"noms; noms cal que els separeu amb el carcter \"|\". Per tant,\n"
-"si preferiu un nom ms expressiu, l'heu d'indicar en primer lloc\n"
-"(per exemple: \"La meva impressora|lp\").\n"
-" La impressora que contingui \"lp\" al(s) nom(s) ser la impressora per "
-"omissi.\n"
-"\n"
-" \n"
-" * Directori d'spool: les tasques d'impressi s'emmagatzemen en aquest "
-"directori.Conserveu la opci predeterminada si no sabeu quina utilitzar\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" Si voleu accedir a una impressora que es troba en un ordinador Unix\n"
-"remot, seleccioneu \"Impressora lpd remota\".\n"
-"\n"
-"\n"
-" Si voleu accedir a una impressora que es troba en un ordinador\n"
-"Microsoft Windows remot (o en un ordinador Unix que utilitza el protocol\n"
-"SMB), seleccioneu \"SMB/Windows 95/98/NT\".\n"
-"\n"
-" Si voleu accedir a una impressora que es troba en una xarxa NetWare,\n"
-"seleccioneu \"NetWare\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"No s'ha detectat la vostra impressora. Si us plau, introduu el nom del\n"
-"dispositiu a qu est connectada.\n"
-"\n"
-"\n"
-"Per a la vostra informaci, la majoria d'impressores estan connectades al\n"
-"primer port parallel, que s'anomena \"/dev/lp0\" en GNU/Linux i \"LPT1\"\n"
-"en Microsoft Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Ara heu de seleccionar la vostra impressora a la llista superior."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Si us plau, seleccioneu les opcions correctes segons la vostra impressora;\n"
-"consulteu-ne la documentaci si no sabeu qu heu de seleccionar.\n"
-"\n"
-"\n"
-"Podreu comprovar la configuraci en el pas segent i modificar-la si no\n"
-"funciona exactament com voleu."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Ara podeu introduir la contrasenya de l'usuari 'root' del vostre\n"
-"sistema Linux-Mandrake. Ho heu de fer dos cops per verificar que\n"
-"ambdues introduccions sn idntiques.\n"
-"\n"
-"\n"
-"L'usuari 'root' s l'administrador del sistema, i s l'nic\n"
-"autoritzat per modificar la configuraci del sistema; per tant,\n"
-"trieu amb molta cura aquesta contrasenya. L's no autoritzat del\n"
-"compte 'root' pot ser extremadament perills per a la integritat\n"
-"del sistema, per a les seves dades, i per a altres sistema que hi\n"
-"estan connectats.\n"
-"\n"
-"\n"
-"La contrasenya s'ha de crear amb diversos carcters alfanumrics, ha de\n"
-"tenir una llargada mnima de 8 carcters, i mai no s'ha d'anotar enlloc.\n"
-"\n"
-"\n"
-"No obstant aix, no creeu una contrasenya excessivament llarga o\n"
-"complicada: heu de poder recordar-la sense problemes."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Per habilitar un sistema ms segur, seleccioneu \"Utilitza el\n"
-"fitxer d'ombra\" i \"Utilitza les contrasenyes MD5\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Si la vostra xarxa utilitza NIS, seleccioneu \"Utilitza NIS\". Si no ho\n"
-"sabeu, consulteu a l'administrador de la xarxa."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Ara podeu crear un o ms comptes \"normals\" d'usuari, en\n"
-"contraposici al compte \"privilegiat\", el 'root'. Podeu crear\n"
-"un o ms comptes per a cada una de les persones a qui permetreu\n"
-"utilitzar l'ordinador. Tingueu en compte que cada compte d'usuari\n"
-"tindr les seves prpies preferncies (entorn grfic, parmetres\n"
-"del programa. etc.) i el seu propi \"directori inicial\", on\n"
-"s'emmagatzemen aquestes preferncies.\n"
-"\n"
-"\n"
-"Primer de tot, creeu-vos un compte propi! Encara que sigueu l'nic\n"
-"usuari de l'ordinador, NO us connecteu com a 'root'\n"
-"per a l's quotidi del sistema: s un risc de seguretat molt alt.\n"
-"Tot sovint, fer el sistema inutilitzable depn d'un simple error\n"
-"tipogrfic.\n"
-"\n"
-"\n"
-"Per tant, connecteu-vos al sistema amb el compte d'usuari que heu\n"
-"creat, i entreu-hi com a 'root' noms per a tasques d'administraci\n"
-"i manteniment."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"s molt recomanable crear un disc d'arrencada. Si no podeu arrencar "
-"l'ordinador,\n"
-"s l'nica manera de solucionar-ho sense haver de reinstallar-ho tot."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Heu d'indicar on voleu situar la informaci necessria per\n"
-"arrencar el GNU/Linux.\n"
-"\n"
-"\n"
-"Tret que sabeu exactament qu esteu fent, escolliu \"Primer sector\n"
-"de la unitat (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Tret que sapigueu expressament que s'ha d'indicar una altra cosa, l'elecci\n"
-"habitual s \"/dev/hda\" (el disc IDE mestre primari) o b \"/dev/sda\"\n"
-"(el primer disc SCSI)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"El LILO (Linux Loader, carregador de Linux) i el Grub sn carregadors\n"
-"d'arrencada: poden arrencar el GNU/Linux o qualsevol altre sistema operatiu\n"
-"que tingueu a l'ordinador. Normalment, aquests altres sistemes operatius\n"
-"es detecten i installen correctament, per si no s aix, podeu afegir-los\n"
-"manualment en aquesta pantalla. Aneu amb compte de triar els parmetres\n"
-"correctes.\n"
-"\n"
-"\n"
-"Tamb s possible que no volgueu donar accs a tothom a aquests sistemes\n"
-"operatius; en aquest cas podeu suprimir les entrades corresponents, per\n"
-"aleshores us caldr un disc d'arrencada per poder-los arrencar!"
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"Les opcions principals del LILO i del Grub sn:\n"
-" - Dispositiu d'arrencada: Defineix el nom del dispositiu (p.\n"
-"ex., una partici del disc dur) que cont el sector d'arrencada.\n"
-"Tret que sapigueu expressament que s'ha d'indicar una altra cosa,\n"
-"trieu \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Temps d'espera abans d'arrencar la imatge per defecte: Especifica el\n"
-"temps, en dcimes de segon, que el carregador d'arrencada ha\n"
-"d'esperar abans de carregar la primera imatge.\n"
-"Aix s til en sistemes que arrenquen immediatament des del disc\n"
-"dur desprs d'habilitar el teclat. El carregador d'arrencada no\n"
-"esperar si s'omet el \"temps d'espera\" o si se li dna el valor zero.\n"
-"\n"
-"\n"
-" - Mode de vdeo: Amb aix s'especifica el mode de text VGA que\n"
-"cal seleccionar en arrencar. Es poden utilitzar els valors\n"
-"segents:\n"
-" * normal: selecciona el mode de text 80x25 normal.\n"
-" * <nmero>: utilitza el mode de text corresponent.\n"
-"\n"
-"\n"
-" - Neteja de \"/tmp\" en cada arrencada: si voleu suprimir tots els fitxers "
-"i\n"
-"directoris emmagatzemats a \"/tmp\" en arrencar el sistame, seleccioneu\n"
-"aquesta opci.\n"
-"\n"
-"\n"
-" - Si cal, indicaci de la mida exacta de la RAM: malauradament, no hi cap\n"
-"mtode estndard per preguntar al BIOS la quantitat de RAM que teniu a\n"
-"l'ordinador. Per tant, s possible que el Linux no pugui detectar\n"
-"correctament la quantitat de RAM installada. Si s aquest el cas, en podeu\n"
-"indicar aqu la quantitat correcta, per penseu que una diferncia de 2 o 4\n"
-"MB entre la memria detectada i la memria real s normal."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"El Yaboot s un carregador d'arrencada per a maquinari NewWorld MacIntosh.\n"
-"Pot arrencar tant el GNU/Linux com el MacOS o el MacOSX, si s que els "
-"teniu\n"
-"a l'ordinador. Normalment, aquests altres sistemes operatius es detecten i\n"
-"installen correctament; si no s aix, per, en aquesta pantalla podeu\n"
-"afegir una entrada manualment. Aneu amb compte de triar els parmetres\n"
-"correctes.\n"
-"\n"
-"\n"
-"Les opcions principals del Yaboot sn:\n"
-"\n"
-"\n"
-" - Missatge d'inicialitzaci: un senzill missatge de text que apareix "
-"abans\n"
-"de l'indicador d'arrencada.\n"
-"\n"
-"\n"
-" - Dispositiu d'arrencada: indica on voleu situar la informaci necessria\n"
-"per arrencar el GNU/Linux. Normalment, haureu configurat abans una partici\n"
-"bootstrap que contindr aquesta informaci.\n"
-"\n"
-"\n"
-" - Demora de l'Open Firmware: a diferncia del LILO, amb el Yaboot hi ha\n"
-"dues demores disponibles. La primera d'elles es mesura en segons i, en "
-"aquest\n"
-"punt, podeu triar entre CD, arrencada OF, MacOS o Linux.\n"
-"\n"
-"\n"
-" - Temps mxim d'arrencada del nucli: aquest temps mxim s similar a la "
-"demora d'arrencada del LILO. Desprs de seleccionar el Linux tindreu aquesta "
-"demora en 0,1 segons abans que se seleccioni la descripci per defecte del "
-"nucli.\n"
-"\n"
-"\n"
-" - Habilitar l'arrencada des de CD?: si activeu aquesta opci podreu triar\n"
-"'C' per a CD al primer indicador de l'arrencada.\n"
-"\n"
-"\n"
-" - Habilitar l'arrencada OF?: si activeu aquesta opci podreu triar 'N' "
-"per\n"
-"Open Firmware al primer indicador de l'arrencada.\n"
-"\n"
-"\n"
-" - OS per defecte: podeu seleccionar amb quin OS, per defecte, s'arrencar\n"
-"quan la demora de l'Open Firmware venci."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"Podeu afegir entrades addicionals per al yaboot, ja sigui per a altres\n"
-"sistemes operatius, nuclis alternatius, o per a una imatge per a arrencades\n"
-"d'emergncia.\n"
-"\n"
-"\n"
-"Per a altres OS, l'entrada noms consta d'una etiqueta i de la partici "
-"arrel.\n"
-"\n"
-"\n"
-"Per al Linux, hi ha algunes opcions possibles: \n"
-"\n"
-"\n"
-" - Label: s noms el nom a indicar a l'indicador del yaboot per\n"
-"seleccionar aquesta opci d'arrencada.\n"
-"\n"
-"\n"
-" - Image: el nom del nucli a arrencar. Normalment, vmlinux o una\n"
-"variaci de vmlinux amb una extensi.\n"
-"\n"
-"\n"
-" - Rool: el dispositiu arrel o '/' per a la installaci del Linux.\n"
-"\n"
-"\n"
-" \n"
-" - Append: en maquinari Apple, l'opci d'addici de nuclis s'utilitza\n"
-"fora sovint per auxiliar en la inicialitzaci de maquinari de vdeo o per\n"
-"habilitar l'emulaci del bot del ratol de teclat per als 2n i 3r botons,\n"
-"que sovint no existeixen, d'un ratol Apple convencional. Alguns exemples\n"
-"d'aix sn:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: aquesta opci es pot utilitzar per carregar els mduls "
-"inicials,\n"
-"abans que el dispostiu d'arrencada estigui disponible, o per tornar a "
-"carregar\n"
-"una imatge de disc RAM en una situaci d'arrencada d'emergncia.\n"
-"\n"
-"\n"
-" - Initrd-size: la mida per defecte del disc RAM sol ser de 4.096 bytes. Si "
-"necessiteu assignar un disc RAM gran, podeu utilitzar aquesta opci.\n"
-"\n"
-"\n"
-" - Read-write: normalment, la partici 'root' es tracta inicialment com "
-"noms de lectura per permetre una comprovaci del sistema de fitxers abans "
-"que el sistema esdevingui 'viu'; podeu substituir aquesta opci aqu.\n"
-"\n"
-"\n"
-" - NoVideo: en cas que el maquinari de vdeo de Apple resulti sigui\n"
-"especialment problemtic, podeu seleccionar aquesta opci per arrencar\n"
-"en mode 'no-vdeo', amb el suport nadiu per a memria intermdia de marcs.\n"
-"\n"
-"\n"
-" - Default: selecciona aquesta entrada com a selecci per defecte del\n"
-"Linux; se selecciona prement simplement Retorn a l'indicador del yaboot.\n"
-"Aquesta opci tamb es ressaltar amb un '*' si premeu Tab per veure les\n"
-"seleccions d'arrencada."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"El SILO s un carregador d'arrencada per a l'SPARC: pot arrencar el\n"
-"GNU/Linux o qualsevol altre sistema operatiu que tingueu a l'ordinador.\n"
-"Normalment, aquests altres sistemes operatius es detecten i installen\n"
-"correctament, per si no s aix, podeu afegir-los manualment en aquesta\n"
-"pantalla. Aneu amb compte de triar els parmetres correctes.\n"
-"\n"
-"\n"
-"Tamb s possible que no volgueu donar accs a tothom a aquests sistemes\n"
-"operatius; en aquest cas podeu suprimir les entrades corresponents, per\n"
-"aleshores us caldr un disc d'arrencada per poder-los arrencar!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"Les opcions principals del SILO sn:\n"
-" - Installaci del carregador d'arrencada: indica on voleu situar la\n"
-"informaci necessria per arrencar el GNU/Linux. Tret que sapigueu\n"
-"exactament qu esteu fent, seleccioneu \"Primer sector de la unitat\n"
-"(MBR)\".\n"
-" \n"
-"\n"
-" - Temps d'espera abans d'arrencar la imatge per defecte: Especifica el\n"
-"temps, en dcimes de segon, que el carregador d'arrencada ha\n"
-"d'esperar abans de carregar la primera imatge.\n"
-"Aix s til en sistemes que arrenquen immediatament des del disc\n"
-"dur desprs d'habilitar el teclat. El carregador d'arrencada no\n"
-"esperar si s'omet el \"temps d'espera\" o si se li dna el valor zero."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Ara cal configurar el sistema X Window, que s el nucli del GUI\n"
-"(Interfcie grfica d'usuari) del GNU/Linux. Per a aix, heu de\n"
-"configurar la vostra targeta grfica i el monitor. No obstant\n"
-"aix, la majoria d'aquests passos estan automatitzats, aix que pot\n"
-"ser que la vostra feina es limiti a verificar qu s'ha fet i a\n"
-"acceptar els parmetres :)\n"
-"\n"
-"\n"
-"Quan la configuraci hagi acabat s'iniciar X (tret que demaneu al\n"
-"Drakx que no ho faci), i podreu verificar si els parmetres us\n"
-"convenen. Si no, podreu tornar enrere i canviar-los tantes vegades\n"
-"com calgui."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Si hi ha algun problema a la configuraci X, utilitzeu aquestes opcions\n"
-"per configurar correctament l'X Window System."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Si preferiu utilitzar una entrada grfica, seleccioneu \"S\". En cas\n"
-"contrari, seleccioneu \"No\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Podeu triar un nivell de seguretat per al vostre sistema. Si us plau,\n"
-"consulteu el manual per obtenir informaci completa. Bsicament, si no\n"
-"sabeu qu triar, conserveu l'opci per defecte.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Ara, el sistema es tornar a arrencar.\n"
-"\n"
-"Desprs d'aix, el sistema Linux Mandrake es carregar\n"
-"automticament. Si voleu arrencar un altre sistema operatiu existent,\n"
-"llegiu les instruccions addicionals."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Escolliu el vostre idioma"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Tipus d'installaci"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Detecci del disc dur"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Configura el ratol"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Escolliu el vostre teclat"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Seguretat"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Sistemes de fitxers"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formata les particions"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Paquets a installar"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Installa el sistema"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Contrasenya de 'root'"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Afegeix un usuari"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Configura la xarxa"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Resum"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Configura els serveis"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Crea un disc d'arrencada"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Installa el LILO"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Configura l'X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Surt de la installaci"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "No es pot utilitzar l'emissi sense un domini NIS"
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Inseriu un disquet formatat amb FAT a la unitat %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Aquest disquet no est formatat en FAT"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Per utilitzar aquesta selecci de paquets desada, arrenqueu la installaci "
-"amb ``linux defcfg=floppy''"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "S'ha produt un error en llegir el fitxer $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "D'acord"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Si us plau, comproveu el ratol."
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Per activar el ratol,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "MOVEU LA BOLA!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Part del maquinari del vostre ordinador necessita programes de control\n"
-"``registrats'' per poder funcionar. En podeu trobar informaci a: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Heu de tenir una partici arrel.\n"
-"Per fer-ho, creeu una partici (o feu clic a una d'existent).\n"
-"Desprs, trieu l'acci ``Punt de muntatge'' i doneu-li el valor '/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Heu de tenir una partici d'intercanvi"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"No teniu cap partici d'intercanvi\n"
-"\n"
-"Voleu continuar igualment?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Utilitza l'espai lliure"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "No hi ha prou espai lliure per assignar noves particions"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Utilitza la partici existent"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "No existeix cap partici per utilitzar"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Utilitza la particio Windows per al loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Quina partici voleu utilitzar per al Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Escolliu les mides"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Mida de la partici arrel en MB: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Mida de la partici d'intercanvi en MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Utilitza l'espai lliure de la partici de Windows"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "A quina partici voleu canviar la mida?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "S'estan calculant els lmits del sistema de fitxers de Windows"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"El redimensionador de la FAT no pot gestionar la vostra partici, \n"
-"s'ha produt l'error segent: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"La partici de Windows est massa fragmentada; si us plau, executeu "
-"``defrag'' primer"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"ATENCI!\n"
-"\n"
-"Ara, el DrakX canviar la mida de la vostra partici de Windows. Aneu amb\n"
-"compte: aquesta operaci s perillosa. Si encara no ho heu fet, sortiu de "
-"la\n"
-"installaci, executeu l'Scandisk sota Windows (i potser tamb el Defrag), "
-"i\n"
-"torneu a comenar la installaci. Feu tamb una cpia de seguretat de les\n"
-"vostres dades.\n"
-"Quan estigueu segur, premeu D'acord."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Quina mida voleu deixar per a la partici de Windows?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "partici %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Ha fallat la redimensi de la FAT: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"No hi ha particions FAT a qu canviar la mida o per utilitzar-les com a "
-"loopback (o no queda prou espai)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Esborra el disc complet"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Elimina el Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Teniu ms d'un disc dur; en quin voleu installar el Linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-"Es perdran TOTES les particions, i les dades que contenen, de la unitat %s"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Particionament personalitzat de disc"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Utilitza l'fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Ara podeu fer les particions a %s.\n"
-"Quan acabeu, no oblideu desar-les utiltzant `w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "No teniu prou espai lliure a la partici de Windows"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "No puc trobar espai per a la installaci"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-"L'assistent de particionament del DrakX ha trobat les solucions segents:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Ha fallat el particionament: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "S'est activant la xarxa"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "S'est desactivant la xarxa"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"S'ha produt un error, per no s com gestionar-lo correctament.\n"
-"Si continueu, s sota la vostra responsabilitat."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Duplica el punt de muntatge %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Alguns paquets importants no s'han installat correctament.\n"
-"La vostra unitat de CD-ROM, o b el CD-ROM, sn defectuosos.\n"
-"Comproveu el CD-ROM en un ordinador installat mitjanant \"rpm -qpl "
-"Mandrake/RPMS/*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Benvingut a %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "No hi ha cap unitat de disquet disponible"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "S'est introduint el pas `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Escolliu la mida que voleu installar"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Mida total: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Versi: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Mida: %d kB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Escolliu els paquets que voleu installar"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Informaci"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Installa"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "S'est installant"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Si us plau, espereu, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Temps restant "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Temps total "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "S'est preparant la installaci"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "S'est installant el paquet %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Voleu seguir igualment?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "S'ha produt un error en ordenar els paquets"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Voleu utilitzar la configuraci existent per a X11?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"El vostre sistema est baix de recursos; podeu tenir algun problema en\n"
-"installar el Linux-Mandrake. Si aix passa, podeu provar d'installar-lo "
-"en\n"
-"mode text. Per fer-ho, premeu `F1' en arrencar des del CD-ROM i escriviu "
-"`text'"
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Si us plau, trieu un dels tipus d'installaci segents:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr ""
-"La mida total dels grups que heu seleccionat es d'aproximadament %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Si no voleu installar tants MB, seleccioneu el percentatge de paquets\n"
-"que voleu installar.\n"
-"\n"
-"Un percentatge baix installar noms els paquets ms importants;\n"
-"un percentatge del 100%% installar tots els paquets seleccionats."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Noms teniu prou espai al disc per a %d%% d'aquests paquets.\n"
-"\n"
-"Si en voleu installar menys, seleccioneu el percentatge de paquets\n"
-"que voleu installar.\n"
-"Un percentatge baix installar noms els paquets ms importants;\n"
-"un percentatge del %d%% installar tants paquets com sigui possible."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Podreu fer una elecci ms concreta al pas segent"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Percentatge de paquets per installar"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Selecci del grup de paquets"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Selecci individual de paquets"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Mostra automticament els paquets seleccionats"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Expandeix l'arbre"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Redueix l'arbre"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Commuta entre pla i ordenat per grups"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Paquet incorrecte"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nom: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Importncia: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Mida total: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"No podeu seleccionar aquest paquet perqu no queda prou espai per installar-"
-"lo"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Ara s'installaran els paquets segents"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Ara s'eliminaran els paquets segents"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "No podeu seleccionar/desseleccionar aquest paquet"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Aquest paquet s obligatori; no es pot deseleccionar"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "No podeu desseleccionar aquest paquet; ja est installat"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Aquest paquet s'ha d'actualitzar\n"
-"Esteu segur que voleu desseleccionar-lo?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "No podeu desseleccionar aquest paquet; s'ha d'actualitzar"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "S'est estimant"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Si us plau, espereu, s'est preparant la installaci"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d paquets"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Warning\n"
-"\n"
-"Si us plau, llegiu atentament les clusules segents. Si no esteu\n"
-"d'acord amb qualsevol d'elles, no esteu autoritzat a installar\n"
-"els CD segents. Premeu 'Rebutja-ho' per continuar la installaci\n"
-"sense utilitzar aquests CD.\n"
-"\n"
-"\n"
-"Alguns dels components que s'inclouen en aquest CD no estan\n"
-"regits per la llicncia GPL o acords semblants. Cada un d'aquests\n"
-"components es regeix per les clusules i condicions de la seva\n"
-"prpia llicncia especfica. Si us plau, llegiu atentament i\n"
-"accepteu aquestes llicncies especfiques abans d'utilitzar o\n"
-"redistribuir els components esmentats. En general, aquestes\n"
-"llicncies impedeixen la transferncia, duplicaci (excepte amb\n"
-"la finalitat de fer-ne cpies de seguretat), redistribuci,\n"
-"enginyeria inversa, deassemblatge, decompilaci o modificaci del\n"
-"component. Qualsevol violaci de l'acord finalitzar immediatament\n"
-"els vostres drets sobre la llicncia especfica. Tret que la\n"
-"llicncia especfica us en garanteixi els drets, normalment no\n"
-"podreu installar els programes en ms d'un sistema, ni adaptar-lo\n"
-"per utilitzar-lo en una xarxa. En cas de dubte, poseu-vos en\n"
-"contacte directament amb el distribudor o editor del component.\n"
-"La transferncia a terceres parts i la cpia d'aquests components,\n"
-"incloent la documentaci, estan normalments prohibides.\n"
-"\n"
-"\n"
-"Tots els drets sobre els components del CD segent pretanyen als\n"
-"seus autors respectius i estan protegits per les lleis de\n"
-"propietat intellectual i de copyright aplicables als programes\n"
-"informtics.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Accepta"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Rebutja"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Canvieu el vostre CD-ROM!\n"
-"\n"
-"Si us plau, inseriu el CD-ROM etiquetat com \"%s\" a la unitat i desprs\n"
-"premeu D'acord.\n"
-"Si no el teniu, premeu Cancella per no fer la installaci des d'aquest CD-"
-"ROM."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "S'ha produt un error en installar els paquets"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "S'ha produt un error"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Si us plau, trieu un idioma per utilitzar."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-"Podeu seleccionar altres idiomes, que quedaran disponibles desprs de la "
-"installaci"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Tots"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Acord de llicncia"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Introducci\n"
-"\n"
-"D'ara endavant, hom es referir al sistema operatiu i als diferents\n"
-"components disponibles en la distribuci Linux-Mandrake com als\n"
-"\"Productes de programari\". Els Productes de programari inclouen,\n"
-"per no estan restringits a, el conjunt de programes, mtodes, regles\n"
-"i documentaci relativa al sistema operatiu i els diferents\n"
-"components de la distribuci Linux-Mandrake.\n"
-"\n"
-"\n"
-"1. Acord de llicncia\n"
-"\n"
-"Si us plau, llegiu atentament aquest document. Aquest document s un\n"
-"acord de llicncia entre la vostra persona i MandrakeSoft S.A., que\n"
-"s'aplica als Productes de programari. Pel fet d'installar, duplicar\n"
-"o utilitzar els Productes de programari en qualsevol forma esteu\n"
-"acceptant explcitament, i expressant el vostre acord a, avenir-vos a\n"
-"les clusules i condicions d'aquesta Llicncia. Si no esteu d'acord\n"
-"amb qualsevol part de la Llicncia, no esteu autoritzat a installar,\n"
-"duplicar o utilitzar els Productes de programari. Qualsevol intent\n"
-"d'installar, duplicar o utilitzar els Productes de programari en una\n"
-"forma que no s'adapti a les clusules i condicions d'aquesta\n"
-"Llicncia, s nul i finalitzar els vostres drets sobre la mateixa.\n"
-"En finalitzar-se la Llicncia, heu de destruir immediatament totes\n"
-"les cpies dels Productes de programari.\n"
-"\n"
-"\n"
-"2. Garantia limitada\n"
-"\n"
-"Els Productes de programari i documentaci adjunta es subministren\n"
-"\"tal com sn\", sense cap garantia, fins al punt perms per la llei.\n"
-"MandrakeSoft S.A. no ser, sota cap circumstncia, i fins al punt\n"
-"perms per la llei, responsable de cap dany especial, incidental ni\n"
-"directe (incloent, sense limitar-se a, els danys per prdua de\n"
-"negocis, interrupci de negocis, prdues financeres, multes i costes\n"
-"judicials, o qualsevol altre dany que resultin d'un judici, o\n"
-"qualsevol altre prdua d'importncia) que resulti de l's o de la\n"
-"impossibilitat d'utilitzar els Productes de programari, fins i tot si\n"
-"MandrakeSoft S.A. ha estat avisat de la possibilitat que\n"
-"s'esdevinguin aquests danys.\n"
-"\n"
-"RESPONSABILITAT LIMITADA RELATIVA A LA POSSESSI O UTILITZACI DE PROGRAMARI "
-"PROHIBIT EN ALGUNS PASOS\n"
-"\n"
-"Fins al punt perms per la llei, MandrakeSoft S.A. o els seus\n"
-"distribudors no seran, sota cap circumstncia, responsables de cap\n"
-"dany especial, incidental ni directe (incloent, sense limitar-se a,\n"
-"els danys per prdua de negocis, interrupci de negocis, prdues\n"
-"financeres, multes i costes judicials, o qualsevol altre dany que\n"
-"resultin d'un judici, o qualsevol altre prdua d'importncia) que\n"
-"resulti de la possessi i utilitzaci dels components de programari o\n"
-"de la seva descrrega des d'un dels llocs de Linux-Mandrake, que\n"
-"estiguin prohibides o restringides en alguns pasos per les lleis\n"
-"locals. Aquesta responsabilitat limitada s'aplica, per no est\n"
-"limitada a, els potents components criptogrfics inclosos als\n"
-"Productes de programari.\n"
-"\n"
-"\n"
-"3. la llicncia GPL i llicncies relacionades\n"
-"\n"
-"Els Productes de programari consisteixen en components creats per\n"
-"diferents persones o entitats. La majoria d'aquests components es\n"
-"regeixen per les clusules i condicions de la Llicncia General\n"
-"Pblica de GNU, a la qual d'ara endavant hom s'hi referir com a\n"
-"\"GPL\", o de llicncies similars. la majoria d'aquestes llicncies\n"
-"us permeten duplicar, adaptar o redistribuir els components que\n"
-"cobreixen. Si us plau, llegiu atentament les clusules i condicions\n"
-"de l'acord de llicncia de cada component abans d'utilitzar-lo.\n"
-"Qualsevol pregunta sobre la lllicncia d'un component s'ha d'adrear\n"
-"al seu autor i no a MandrakeSoft.\n"
-"Els programes desenvolupats per MandrakeSoft S.A. es regeixen per la\n"
-"llicncia GPL.La documentaci escrita per MandrakeSoft S.A. est regida per "
-"una\n"
-"llicncia especfica; consulteu la documentaci per a ms\n"
-"informaci.\n"
-"\n"
-"\n"
-"4. Drets sobre la propietat intellectual\n"
-"\n"
-"Tots els drets sobre els components dels Productes de programari\n"
-"pertanyen als seus autors respectius i estan protegits per les lleis\n"
-"de propietat intellectual i de copyright aplicables als programes\n"
-"informtics.\n"
-"MandrakeSoft S.A. es reserva els drets de modificar o adaptar els\n"
-"Productes de programari, totalment o parcialment, per tots els\n"
-"mitjans i amb totes les finalitats.\n"
-"\"Mandrake\", \"Linux-Mandrake\" i els logotips associats son marques\n"
-"registrades de MandrakeSoft S.A.\n"
-"\n"
-"\n"
-"5. Lleis rectores \n"
-"\n"
-"Si qualsevol part d'aquest acord s declarat nul, illegal o\n"
-"inaplicable per un tribunal, aquesta part s'exclour del contracte.\n"
-"Seguiu obligat, per, per les altres seccions aplicables de\n"
-"l'acord.\n"
-"Les clusules i condicions d'aquesta Llicncia es regeixen per les\n"
-"lleis de Frana.\n"
-"Tots els litigis sobre les clusules d'aquesta llicncia es dirimiran\n"
-"preferiblement fora dels tribunals. Com a ltim recurs, el litigi es\n"
-"portar als tribunals competents de Pars, Frana.\n"
-"Per a qualsevol tema relacionat amb aquest document, poseu-vos en\n"
-"contacte amb MandrakeSoft S.A.\n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Teclat"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Si us plau, selecioneu la disposici del vostre teclat."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Aquesta s la llista completa de teclats disponibles"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Tipus d'installaci"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Quin tipus d'installaci voleu?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Installa/Actualitza"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Es tracta d'una installaci o d'una actualitzaci?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Recomanada"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Expert"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Actualitza"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Si us plau, seleccioneu el vostre tipus de ratol."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Port del ratol"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr ""
-"Si us plau, seleccioneu el port srie a qu est connectat el vostre ratol."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Emulaci dels botons"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Emulaci del bot 2"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Emulaci del bot 3"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "S'estan configurant les targetes PCMCIA..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "S'est configurant l'IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "no hi ha particions disponibles"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "S'estan explorant les particions per trobar els punts de muntatge"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Escolliu els punts de muntatge"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"No puc llegir la vostra taula de particions, est massa malmesa per a mi :(\n"
-"Intentar seguir, buidant les particions incorrectes (es perdran TOTES LES "
-"DADES!).\n"
-"L'altra soluci s impedir al DrakX que modifiqui la taula de particions.\n"
-"(l'error s %s)\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"El DiskDrake no ha pogut llegir correctament la taula de particions.\n"
-"Si continueu, s sota la vostra responsabilitat!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Partici arrel"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Quina s la partici arrel (/) del vostre sistema?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"Us caldr tornar a arrencar per tal que les modificacions de la taula de "
-"particions tinguin efecte"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Escolliu les particions que voleu formatar"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Voleu comprovar els blocs incorrectes?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "S'estan formatant les particions"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "S'est creant i formatant el fitxer %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-"No hi ha prou intercanvi per completar la installaci; si us plau, afegiu-ne"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "S'estan cercant els paquets disponibles"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "S'estan cercant els paquets a actualitzar"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Al vostre sistema no li queda prou espai per a la installaci o "
-"actualitzaci (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Completa (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Mnima (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Recomanada (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Personalitzada"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Si teniu tots els CD de la llista inferior, feu clic a D'acord.\n"
-"Si no teniu cap d'aquests CD, feu clic a Cancella.\n"
-"Si noms falten alguns CD, desseleccioneu-los i feu clic a D'acord."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CD-ROM etiquetat com \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"S'est installant el paquet %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Publica la configuraci de la installaci "
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Ara teniu la possibilitat de descarregar programari destinat al xifratge.\n"
-"\n"
-"AVS:\n"
-"Degut a diversos requeriments generals aplicables a aquest programari, i\n"
-"imposats per diverses jurisdiccions, el client i/o l'usuari final d'aquest\n"
-"programari s'ha(n) d'assegurar que les lleis de la(es) seva(es)\n"
-"jurisdicci(ns) li(els) permeten descarregar-lo, emmagatzemar-lo i/o\n"
-"utilitzar-lo.\n"
-"\n"
-"A mes, el client i/o l'usuari final ha(n) de tenir especialment en compte\n"
-"que no ha(n) d'infrigir les lleis de la(es) seva(es) jurisdicci(ns). Si\n"
-"el client i/o l'usuari final no respecta(en) les disposicions d'aquestes\n"
-"lleis, pot(den) ser severament sancionat(s).\n"
-"\n"
-"Mandrakesoft i els seus fabricants i/o provedors no seran en cap cas\n"
-"responsables de cap dany especial, indirecte o incidental (incloent,\n"
-"per sense limitar-se a, la prdua de beneficis, interrupci del negoci,\n"
-"prdua de dades comercials i altres prdues econmiques, i eventuals\n"
-"responsabilitats i idemnitzacions que s'hagin de pagar per sentncia\n"
-"judicial) derivat de l's, la possessi o la simple descrrega d'aquest\n"
-"programari, al qual el client i/o l'usuari final pugui(n), eventualment,\n"
-"tenir accs desprs d'haver signat el present acord.\n"
-"\n"
-"Per a qualsevol consulta relativa a aquest acord, podeu adrear-vos a \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Escolliu un mirror al qual aconseguir els paquets"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr ""
-"S'est contactant amb el mirror per obtenir la llista dels paquets "
-"disponibles"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Si us plau, escolliu els paquets que voleu installar"
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "En quina zona horria us trobeu?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "El rellotge del vostre ordinador est regulat a GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Servidor CUPS remot"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Cap impressora"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Ratol"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Zona horria"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Impressora"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "Targeta XDSI"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Targeta de so"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "Targeta de TV"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Quin sistema d'impressi voleu utilitzar?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Sense contrasenya"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"Aquesta contrasenya s massa senzilla (ha de tenir com a mnim %d carcters)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Utilitza el NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "pgines grogues"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "NIS d'autenticaci"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "Domini del NIS"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "Servidor NIS"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Un disc d'arrencada personalitzat proporciona una manera d'arrencar el "
-"vostre\n"
-"sistema Linux sense dependre del carregador d'arrencada normal. Aix s "
-"til\n"
-"si no voleu installar el SILO al sistema, o si un altre sistema operatiu\n"
-"elimina el SILO, o si el SILO no funciona amb la vostra configuraci de\n"
-"maquinari. Un disc d'arrencada personalitzat tamb es pot utilitzar amb la\n"
-"imatge de rescat del Mandrake, facilitant molt la recuperaci de fallides\n"
-"serioses del sistema.\n"
-"\n"
-"Si voleu crear un disc d'arrencada per al vostre sistema, inseriu un disquet "
-"a la primera unitat i premeu \"D'acord\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Primera unitat de disquet"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Segona unitat de disquet"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Omet"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Un disc d'arrencada personalitzat proporciona una manera d'arrencar el "
-"vostre\n"
-"sistema Linux sense dependre del carregador d'arrencada normal. Aix s "
-"til\n"
-"si no voleu installar el LILO (o el grub) al sistema, o si un altre sistema "
-"operatiu\n"
-"elimina el LILO, o si el LILO no funciona amb la vostra configuraci de\n"
-"maquinari. Un disc d'arrencada personalitzat tamb es pot utilitzar amb la\n"
-"imatge de rescat del Mandrake, facilitant molt la recuperaci de fallides\n"
-"serioses del sistema. Voleu crear un disc d'arrencada per al vostre sistema?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "No hi ha cap unitat de disquet disponible"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr ""
-"Escolliu la unitat de disquet que voleu utilitzar per crear el disc "
-"d'arrencada"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Inseriu un disquet a la unitat %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "S'est creant el disc d'arrencada"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "S'est preparant el carregador d'arrencada"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Voleu utilitzar l'aboot?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"S'ha produt un error en installar l'aboot; \n"
-"voleu intentar igualment la installaci encara que aix destrueixi la "
-"primera partici?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-"Ha fallat la installaci del carregador d'arrencada. S'ha produt l'error "
-"segent:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Potser us caldr canviar el dispositiu d'arrencada Open Firware per\n"
-" habilitar el carregador d'arencada. Si no veieu l'indicador del\n"
-" carregador d'arrencada en tornar a arrencar, premeu Command-Option-O-F\n"
-" en tornar a arrencar i introduu:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Desprs, escriviu: shut-down\n"
-"En l'arrencada segent heu de veure l'indicador del carregador d'arrencada."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Baix"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Mitj"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Alt"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Escolliu el nivell de seguretat"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-"Voleu generar un disquet d'installaci automtica per fer cpies del Linux?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Inseriu un disquet en blanc a la unitat %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "S'est creant el diquet d'installaci automtica"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Alguns passos no s'han completat.\n"
-"\n"
-"Segur que voleu sortir ara?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Felicitats! La installaci ha acabat.\n"
-"Traieu el suport d'arrencada i premeu Intro per tornar a arrencar.\n"
-"\n"
-"Trobareu la soluci als problemes coneguts d'aquesta versi del\n"
-"Linux-Mandrake a la fe d'errates que hi ha a http://www.linux-mandrake."
-"com/.\n"
-"\n"
-"La informaci sobre com configurar el vostre sistema est disponible a\n"
-"l'ltim captol d'installaci de la Guia Oficial de l'Usuari del\n"
-"Linux-Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Genera un disquet per a la installaci automtica"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Si es desitja, la installaci automtica es pot\n"
-"automatitzar completament, per en aquest cas\n"
-"prendr el control del disc dur!!\n"
-"(aix est pensat per a la installaci en una altra caixa).\n"
-"\n"
-"Potser preferireu repetir la installaci.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automtica"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Repeteix"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Desa la selecci de paquets"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Installaci del Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> entre elements | <Espai> selecciona | <F12> pant. segent"
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "El kdesu no hi s"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Avanat"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Si us plau, espereu"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Ambigitat (%s), sigueu ms precs\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Elecci incorrecta, torneu-ho a intentar\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (predeterminat %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "La vostra elecci? (predeterminat %s)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "La vostra elecci? (predeterminat %s introduu `cap' per a cap) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Txec (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Alemany"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Espanyol"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Fins"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Francs"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Noruec"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polons"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Rus"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Teclat RU"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Teclat EU"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armeni (antic)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armeni (mquina d'escriure)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armeni (fontic)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaidjans (llat)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbaidjans (cirllic)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belga"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Blgar"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasiler (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Bielors"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Sus (disposici alemanya)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Sus (disposici francesa)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Txec (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Txec (Programadors)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Alemany (sense tecles inoperatives)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Dans"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (EU)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Noruec)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estoni"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgi (disposici \"russa\")"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgi (disposici \"llatina\")"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Grec"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hongars"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Croata"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israeli"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israeli (fontic)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Irani"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islands"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Itali"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japons de 106 tecles"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Teclat core"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Espanyol sud-americ"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Macedoni"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Holands"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Litu AZERTY (antic)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Litu AZERTY (nou)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Litu \"fila de nmeros\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Litu \"fontic\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polons (disposici qwerty)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polons (disposici qwertz)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugus"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Canadenc (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Rus (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Suec"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Eslov"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Eslovac (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Eslovac (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Eslovac (Programadors)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Teclat tai"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turc (tradicional, model \"F\")"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turc (modern, model \"Q\")"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ucrans"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Teclat EU (internacional)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnamita \"fila numrica\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Iugoslau (llat/cirllic)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Elimineu primer els volums lgics\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - Mouse"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Estndard"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Rat de bola PS2 genric"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 bot"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "General"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "De bola"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "srie"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Generic 2 Button Mouse"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Generic 3 Button Mouse"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (srie, tipus C7 antic)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "busmouse"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 botons"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 botons"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "cap"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Cap ratol"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Fins"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Segent ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Anterior"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Aix s correcte?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Configuraci d'Internet"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Voleu intentar connectar-vos a Internet ara?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "S'est comprovant la vostra conexi..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Ara, el sistema est connectat a Internet."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Per raons de seguretat, ara es desconnectar."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"No sembla que el sistema estigui connectat a Internet.\n"
-"Intenteu tornar a configurar la connexi."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Configuraci de xarxa"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "Configuraci de l'XDSI"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Seleccioneu el vostre provedor.\n"
-" Si no s a la llista, seleccioneu No s a la llista"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Configuraci de la connexi"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Si us plau, ompliu o marqueu el camp inferior"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Targeta IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Targeta de memria (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Targeta d'E/S"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Targeta d'E/S_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Targeta d'E/S_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "El vostre telfon particular"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Nom del provedor (p.ex. proveidor.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Nmero de telfon del provedor"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "DNS 1 del provedor"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "DNS 2 del provedor"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Mode de marcatge"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Entrada del compte (nom d'usuari)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Contrasenya del compte"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Resta del mn"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Resta del mn \n"
-" cap canal D (lnies llogades)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Quin protocol voleu utilitzar?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Quin tipus de targeta teniu?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "No s"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Si teniu una targeta ISA, els valors de la pantalla segent han de ser "
-"correctes.\n"
-"\n"
-"Si teniu una targeta PCMCIA, us en cal saber l'irq i l'io.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Interromp"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Continua"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Quina targeta XDSI teniu ?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"He detectat una targeta PCI XDSI, per no en conec el tipus. Si us plau, "
-"seleccioneu una targeta PCI a la pantalla segent."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"No s'ha trobat cap targeta PCI XDSI. Si us plau, seleccioneu-ne una a la "
-"pantalla segent"
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"No s'ha detectat cap adaptador de xarxa ethernet al sistema.\n"
-"No puc configurar aquest tipus de connexi."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Escolliu la interfcie de xarxa"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Si us plau, seleccioneu quin adaptador de xarxa voleu utilitzar per\n"
-"connectar-vos a Internet."
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Interfcie de la xarxa"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Hi esteu d'acord?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Ara reiniciar el dispositiu de xarxa:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "Configuraci de l'ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Voleu iniciar la connexi en arrencar?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr ""
-"Si us plau, seleccioneu el port srie al qual teniu connectat el mdem."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Opcions de marcatge"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Nom de la connexi"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Nmero de telfon"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "ID d'entrada"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Autenticaci"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Basat en script"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Basat en terminal"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Nom de domini"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Primer servidor DNS (opcional)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Segon servidor DNS (opcional)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-"Ara reiniciar el dispositiu de xarxa $netc->{NET_DEVICE}. Hi esteu d'acord?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Podeu desconnectar-vos o tornar a configurar la connexi."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Podeu tornar a configurar la connexi."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Ara mateix esteu connectat a Internet."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Podeu connectar-vos a Internet o tornar a configurar la connexi."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Ara mateix no esteu connectat a Internet."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Connecta't a Internet"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Desconnecta't d'Internet"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Configura la connexi de xarxa (LAN o Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Connexi i configuraci d'Internet"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Assistent de configuraci de xarxa"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Mdem XDSI extern"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Targeta XDSI interna"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Quin tipus de connexi XDSI teniu?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Connecta't a internet"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"La manera ms habitual de connectar amb ADSL s pppoe.\n"
-"Algunes connexions utilitzen pptp, unes poques utilitzen dhcp.\n"
-"Si no ho sabeu, escolliu 'utilitza pppoe'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "utilitza dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "utilitza pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "utilitza pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Ara reiniciar el dispositiu de xarxa %s. Hi esteu d'acord?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Quin client dhcp voleu utilitzar?\n"
-"El predeterminat s dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Configuraci de xarxa"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Voleu reiniciar la xarxa"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"S'ha produt un problema en reiniciar la xarxa: \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Ats que esteu realitzant una installaci de xarxa, ja teniu la xarxa "
-"configurada.\n"
-"Feu clic a D'acord per conservar la configuraci, o a Cancella per tornar a "
-"configurar la connexi a Internet i xarxa.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Benvingut a l'Auxiliar de configuraci a xarxa\n"
-"\n"
-"Ara configurarem la connexi a Internet/xarxa.\n"
-"Si no voleu utilitzar la detecci automtica, desactiveu el quadre de "
-"verificaci.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Escolliu el perfil per configurar"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Utilitza la detecci automtica"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "S'estan detectant els dispositius..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Connexi normal per mdem"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "detectat al port %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "Connexi XDSI"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "s'ha detectat %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "Connexi per DSL (o ADSL)"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "detectat a la interfcie %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Connexi de cable"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "Connexi LAN"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "s'han detectat una o diverses targetes Ethernet"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Com us voleu connectar a Internet?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Felicitats, la configuraci de xarxa i Internet ha finalitzat.\n"
-"\n"
-"Ara s'aplicar la configuraci al sistema."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Desprs d'aix, s recomanable que reinicieu l'entorn X per\n"
-"evitar problemes deguts al canvi de nom de l'ordinador central."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "no s'ha trobat cap targeta de xarxa"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "S'est configurant la xarxa"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Si us plau, introduu el nom del vostre ordinador central, si el sabeu.\n"
-"Alguns servidors DHCP necessiten que aquest nom funcioni.\n"
-"El nom ha de ser complet,\n"
-"com ara ``mybox.mylab.myco.com''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Nom de l'ordinador central"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"ATENCI: Aquest dispositiu ja es va configurar per connectar-se a Internet.\n"
-"Noms cal que accepteu mantenir-lo configurat.\n"
-"Si modifiqueu els camps inferiors, sobreescriureu aquesta configuraci."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Si us plau, introduu la configuraci IP d'aquest ordinador.\n"
-"S'ha d'introduir cada element com a una adrea IP amb notaci decimal amb\n"
-"punts (per exemple, 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "S'est configurant el dispositiu de xarxa %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (programa de control $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "Adrea IP"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Submscara de la xarxa"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "IP automtic"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "L'adrea IP ha d'estar amb el format 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Si us plau, introduu el nom del vostre ordinador central.\n"
-"Aquest nom ha de ser complet, com ara\n"
-"``mybox.mylab.myco.com''.\n"
-"Tamb podeu introduir l'adrea IP de la passarella, si en teniu una"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "servidor DNS"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Passarella"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Dispositiu de la passarella"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Configuraci dels proxys"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "Proxy HTTP"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "Proxy FTP"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "El proxy ha de ser http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "El proxy ha de ser ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Aquesta plataforma no suporta particions esteses"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Hi ha un forat a la vostra taula de particions, per no puc utilitzar-lo.\n"
-"L'nica soluci s moure les particions primries per fer que el forat quedi "
-"contigu a les particions ampliades"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "S'ha produt un error en llegir el fitxer %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Ha fallat la restauraci del fitxer %s: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Fitxer de cpia de seguretat incorrecte"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "S'ha produt un error en escriure al fitxer %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Alguna cosa no va b en la vostra unitat. \n"
-"Ha fallat una comprovaci de la integritat de les dades. \n"
-"Aix vol dir que qualsevol cosa que s'escrigui al disc acabar feta malb"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "ha de tenir"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "important"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "molt bonic"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "bonic"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "potser"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Impressora local"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Impressora remota"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Servidor lpd remot"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Impressora de xarxa (scol)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Dispositiu URI d'impressora"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Ports de comprovaci"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "S'ha detectat una impressora, model \"%s\", a"
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Dispositiu de la impressora local"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"A quin dispositiu est connectada la vostra impressora?\n"
-"(tingueu en compte que /dev/lp0 equival a LPT1:)\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Dispositiu d'impressora"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Opcions de la impressora lpd remota"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Per poder utilitzar una cua d'impressi lpd remota, necessiteu proporcionar\n"
-"el nom de l'ordinador central del servidor de la impressora i el nom de la\n"
-"cua d'aquest servidor on s'hi han de situar les tasques."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Nom de l'ordinador central remot"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Cua remota"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Opcions de la impressora SMB (Windows 9x/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Per poder imprimir a una impressora SMB, heu d'indicar el nom de\n"
-"l'ordinador central SMB (tingueu en compte que pot ser diferent del seu nom\n"
-"TCP/IP) i possiblement l'adrea IP del servidor d'impressi, aix com el "
-"nom\n"
-"de compartici de la impressora a qu voleu accedir i el nom d'usuari,\n"
-"contrasenya i informaci de grup si sn necessaris."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Ordinador central del servidor SMB"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP del servidor SMB"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Nom de compartici"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Grup de treball"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Opcions de la impressora NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Per poder imprimir a una impressora NetWare, heu de proporcionar el nom del\n"
-"servidor d'impressi NetWare (tingueu en compte que pot ser diferent del "
-"nom\n"
-"TCP/IP del seu ordinador central), aix com el nom de la cua d'impressi de\n"
-"la impressora a qu voleu accedir i el nom d'usuari i contrasenya si sn\n"
-"necessaris."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Servidor de la impressora"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Nom de la cua d'impressi"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Opcions de la impressora de scol"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Per imprimir a una impressora de scol, heu d'indicar el nom de l'ordinador\n"
-"central de la impressora i, opcionalment, el nmero de port."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Nom de l'ordinador central de la impressora"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Podeu indicar directament l'URI per accedir a la impressora amb CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Quin tipus d'impressora teniu?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Voleu comprovar la impressi?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "S'esta(n) imprimint la(es) pgina(es) de prova... "
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"La(es) pgina(es) de prova s'ha(n) enviat al procs d'impressi.\n"
-"Degut a aix, pot passar un cert temps abans no comenci la impressi.\n"
-"Estat de la impressi:\n"
-"%s\n"
-"\n"
-"Funciona correctament?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"La(es) pgina(es) de prova s'ha(n) enviat al procs d'impressi.\n"
-"Degut a aix, pot passar un cert temps abans no comenci la impressi.\n"
-"Funciona correctament?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "S, imprimeix una pgina ASCII de prova"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "S, imprimeix una pgina PostScript de prova"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "S, imprimeix ambdues pgines de prova"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Configura la impressora"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Opcions de la impressora"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Mida del paper"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Voleu expulsar la pgina desprs de la tasca?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Opcions del programa de control Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Opcions de profunditat del color"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Voleu imprimir el text com a PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Voleu ajustar el text 'stair-stepping'?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Nombre de pgines per pgines de sortida"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Marges dret/esquerra en punts (1/72 de polzada)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Marges superior/inferior en punts (1/72 de polzada)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "opcions addicionals del GhostScript"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Opcions addicionals per al text"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Inverteix l'ordre de les pgines"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Voleu configurar una impressora?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Aquestes sn les cues d'impressi segents.\n"
-"Podeu afegir-ne algunes ms o canviar-ne les existents."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "S'est iniciant el CUPS"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "S'est llegint la base de dades de controladors CUPS..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Seleccioneu la connexi de la impressora"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Com est connectada la impressora?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Seleccioneu la connexi de la impressora remota"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Amb un servidor CUPS remot, aqu no us cal configurar cap\n"
-"impressora; les impressores es detectaran automticament.\n"
-"En cas de dubte, seleccioneu \"Servidor CUPS remot\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Amb un servidor CUPS remot, aqu no us cal configurar cap\n"
-"impressora; les impressores es detectaran automticament,\n"
-"tret que tingueu un servidor en una altra xarxa; en aquest\n"
-"cas, heu d'indicar l'adrea IP, i opcionalment el nmero de\n"
-"port, al servidor CUPS."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "IP del servidor CUPS"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "El nmero de port ha de ser numric"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Elimina la cua"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-"El nom de la impressora noms pot constar de lletres, nmeros i el carcter "
-"de subratllat"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Cada impressora necessita un nom (p.ex. lp).\n"
-"Es poden definir altres parmetres, com ara la descripci de la impressora\n"
-"o la seva ubicaci. Quin nom cal utilitzar per a aquesta impressora, i com\n"
-"est connectada?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Nom de la impressora"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Descripci"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Ubicaci"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Cada cua d'impressi (a qu s'adrecen les tasques d'impressi) necessita\n"
-"un nom (sovint lp) i un directori d'spool associada amb ell. Quin nom i\n"
-"directori cal utilitzar per a aquesta cua, i com est connectada la "
-"impressora?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Nom de la cua"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Directori d'spool"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Connexi de la impressora"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "No es pot afegir una partici a un RAID _formatat_ md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "No es pot escriure al fitxer $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "l'mkraid ha fallit"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "l'mkraid ha fallit (potser manquen eines del RAID?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "No hi ha prou particions per al nivell RAID %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, un programador d'ordres peridiques."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"L'apmd s'utilitza per monitoritzar l'estat de la bateria i registrar-lo "
-"mitjanant el registre del sistema.\n"
-"Tamb es pot utilitzar per apagar l'ordinador quan queda poca bateria."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Executa les ordres programades per l'ordre 'at' a l'hora que es va\n"
-"especificar en executar 'at', i executa les ordres 'batch' quan la\n"
-"mitjana de crrega s prou baixa."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"El cron s un programa UNIX estndard que executa programes determinats\n"
-"per l'usuari en hores programades. El vixie cron afegeix un cert nombre de\n"
-"caracterstiques al cron bsic, incloent seguretat millorada i opcions\n"
-"de configuraci ms potents."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"El GPM afegeix suport de ratol a aplicacions Linux basades en text, com ara "
-"el Midnight Commander. Tamb permet operacions de tallar i enganxar amb el "
-"ratol, i inclou suport de mens desplegables a la consola."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"L'Apache s un servidor de World Wide Web. S'utilitza per servir fitxers\n"
-"HTML i CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"El procs superservidor d'Internet (conegut normalment com 'inetd') inicia\n"
-"altres serveis d'Internet a mesura que es van necessitant. s el "
-"responsable\n"
-"d'iniciar molts serveis, incloent el telnet, l'ftp, l'rsh i l'rlogin. Si\n"
-"s'inhabilita l'inetd s'inhabiliten tots els serveis de qu s responsable."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Aquest paquet carrega el mapa de teclat seleccionat segons s'ha definit\n"
-"a /etc/sysconfig/keyboard. Aix es pot seleccionar mitjanant la utilitat\n"
-"kbdconfig.\n"
-"Per a la majoria d'ordinadors, s'ha de deixar habilitat."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"L'lpd s el procs d'impressi necessari per a que l'lpr funcioni\n"
-"correctament. Bsicament, es tracta d'un servidor que assigna les\n"
-"tasques d'impressi a la(es) impressora(es)."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) s un servidor de noms de domini (DNS) que s'utiilitza\n"
-"per convertir noms d'ordinadors centrals en adreces IP."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Munta i desmunta tots els punts de muntatge dels sistemes de fitxers\n"
-"de xarxa (NFS), SMB (gestor de xarxes d'rea local/Windows) i NCP (NetWare)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Activa/Desactiva totes les interfcies de xarxa configurades per\n"
-"iniciar-se durant l'arrencada."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"L'NFS s un popular protocol de compartici de fitxers en xarxes TCP/IP.\n"
-"Aquest servei proporciona la funcionalitat del servidor NFS, que es\n"
-"configura mitjanant el fitxer /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"L'NFS s un popular protocol de compartici de fitxers en xarxes TCP/IP\n"
-"Aquest servei proporciona la funcionalitat de blocatge del fitxer NFS."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"El suport PCMCIA serveix normalment per suportar coses com ara l'ethernet\n"
-"i els mdems en porttils. No s'iniciar tret que es configuri, de manera\n"
-"que no hi ha problema per installar-lo en ordinadors que no el necessiten."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"El portmapper gestiona les connexions RPC, que sn utilitzades per\n"
-"protocols com ara l'NFS i l'NIS. El servidor portmap s'ha d'estar\n"
-"executant en ordinadors que actuen com a servidors per a protocols que\n"
-"utilitzen el mecanisme RPC."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"El Postfix s un agent de transport de correu, que s el programa que\n"
-"passa el correu d'un ordinador a un altre."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Desa i recupera el generador d'entropia del sistema per a\n"
-"la generaci de nombres aleatoris d'una ms alta qualitat."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"El procs 'routed' permet que la taula d'encaminadors IP automtics\n"
-"s'actualitzi mitjanant el protocol RIP. Mentre que el RIP s'utilitza\n"
-"mpliament en xarxes petites, les xarxes complexes necessiten protocols\n"
-"d'encaminament ms complexs."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"El protocol rstat permet que els usuaris d'una xarxa recuperin\n"
-"mtrics de funcionament de qualsevol ordinador de la mateixa."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"El protocol rusers permet que els usuaris d'una xarxa identifiquin\n"
-"qui est connectat en altres ordinadors de la mateixa."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"El protocol rwho permet que els usuaris remots obtinguin una llista\n"
-"de tots els usuaris que estn connectats a un ordinador que est\n"
-"executant el procs rwho (similar al finger)."
-
-#: ../../services.pm_.c:85
-#, fuzzy
-msgid "Launch the sound system on your machine"
-msgstr "Executa el sistema X-Window en iniciar"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"El syslog s el sistema que utilitzen molts processos per registrar\n"
-"missatges en diversos fitxers de registre del sistema. s aconsellable\n"
-"executar-lo sempre."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Inicia i atura l'X Font Server en arrencar i apagar l'ordinador."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ""
-"Escolliu els serveis que s'han d'iniciar automticament durant l'arrencada"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "s'est executant"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "aturat"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Serveis i dimonis"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Malauradament no hi ha ms informaci\n"
-"sobre aquest servei."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "En arrencar"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"No puc llegir la vostra taula de particions, est massa malmesa per a mi :(\n"
-"Intentar seguir buidant les particions incorrectes"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Connexi a Internet compartida"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "La connexi a Internet compartida est habilitada"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"La configuraci de la connexi compartida a Internet ja s'ha dut a terme.\n"
-"Ara est habilitada.\n"
-"\n"
-"Qu voleu fer?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "inhabilita"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "deixa-ho crrer"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "torna a configurar"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "S'estan inhabilitant els servidors..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Ara, la compartici de la connexi a Internet est inhabilitada."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "La connexi a Internet compartida est inhabilitada"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"La configuraci de la connexi compartida a Internet ja s'ha dut a terme.\n"
-"Ara est inhabilitada.\n"
-"\n"
-"Qu voleu fer?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "habilita"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "S'estan habilitant els servidors..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Ara, la connexi compartida a Internet est habilitada."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "No s'ha pogut interpretar el contingut del fitxer de configuraci."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Fitxer de configuraci no reconegut"
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Ara configurareu l'ordinador per tal que comparteixi la connexi a "
-"Internet.\n"
-"Amb aquesta caracterstica, altres ordinadors de la vostra xarxa local\n"
-"podran utilitzar la connexi a Internet d'aquest ordinador.\n"
-"\n"
-"Nota: per configurar una xarxa d'rea local (LAN), us cal un adaptador de "
-"xarxa dedicat."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Interfcie %s (utilitzant el mdul %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Interfcie %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "No teniu cap adaptador de xarxa al sistema!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"No s'ha detectat cap adaptador de xarxa ethernet al sistema. Si us plau, "
-"executeu l'eina de configuraci de maquinari."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Noms teniu un adaptador de xarxa configurat al sistema:\n"
-"\n"
-"%s\n"
-"\n"
-"Ara configurar la vostra xarxa d'rea local amb aquest adaptador."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Si us plau, escolliu l'adaptador de xarxa que es connectar\n"
-"a la vostra xarxa d'rea local."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Compte, l'adaptador de xarxa ja est configurat. El tornar a configurar."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-"S'ha trobat un conflicte potencial d'adrea LAN en la configuraci actual de "
-"$_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "S'ha detectat la configuraci del sistema de tallafocs!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Atenci! S'ha detectat una configuraci existent del sistema de tallafocs. "
-"Potser us caldr fer algun ajustament manual desprs de la installaci."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "S'est configurant..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-"S'estan configurant les seqncies, installant el programari, iniciant els "
-"servidors..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Hi ha hagut problemes en installar el paquet $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Felicitats!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Ja est tot configurat.\n"
-"Ara podeu compartir la connexi a Internet amb altres ordinadors de la "
-"vostra xarxa d'rea local utilitzant la configuraci automtica de xarxa "
-"(DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "La configuraci ja s'ha realitzat, per ara est inhabilitada."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "La configuraci ja s'ha realitzat i ara est habilitada."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "No s'ha configurat mai cap connexi compartida a Internet."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Configuraci de la compartici de la connexi a Internet"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Benvingut a la utilitat de compartici de la connexi a Internet!\n"
-"\n"
-"%s\n"
-"\n"
-"Feu clic a Configura per executar l'auxiliar de configuraci."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Configuraci de xarxa (%d adaptadors)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Perfil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Suprimeix el perfil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Perfil a suprimir:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Perfil nou..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Nom del perfil a crear:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Nom de l'ordinador central: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Accs a Internet"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Tipus:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Passarella:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Intefcie:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Estat:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Connectat"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Sense connexi"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Connecta..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Desconnecta..."
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "S'est comprovant la vostra conexi..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "S'est tancant la connexi..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"La connexi no est tancada.\n"
-"Intenteu fer-ho manualment executant\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"a root."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Ara, el sistema est desconnectat."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Configura l'accs a Internet..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "Configuraci de la LAN"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adaptador"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Programa de control"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Interfcie"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protocol"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Configura la xarxa d'rea local..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Mode normal"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Aplica"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Si us plau, espereu... s'est aplicant la configuraci"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "Configuraci de la LAN"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Adaptador %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Protocol d'arrencada"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Iniciat en l'arrencada"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "Client DHCP"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Inhabilita"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Habilita"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Configuraci de la connexi a Internet"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Configuraci de la connexi a Internet"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Tipus de connexi: "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parmetres"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "DNS 1 del provedor (opcional)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "DNS 2 del provedor (opcional)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Targeta Ethernet"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "Client DHCP"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Benvinguts, crackers"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Pobre"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoic"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Aquest nivell s'ha d'utilitzar amb cura. Fa el vostre sistema molt ms "
-"fcil\n"
-"d'utilitzar, per tamb molt sensible: no s'ha d'utilitzar en un ordinador\n"
-"connectat a d'altres o a Internet. No s'hi accedeix mitjanant contrasenya."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Ara, la contrasenya est habilitada, per l's com a ordinador de xarxa "
-"segueix sense ser recomanable."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Poques millores per a aquest nivell de seguretat; la principal s que hi ha\n"
-"ms avisos i comprovacions de seguretat."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Aquesta s la seguretat estndard recomanada per a un ordinador que\n"
-"s'utilitzar per connectar-se a Internet com a client. Ara hi ha "
-"comprovacions de seguretat."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Amb aquest nivell de seguretat, la utilitzaci d'aquest sistema com a\n"
-"servidor esdev possible.\n"
-"La seguretat s ara prou alta com per utilitzar el sistema com a servidor\n"
-"que accepti connexions de molts clients. "
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Assumim les caracterstiques del nivell 4, per ara el sistema est\n"
-"totalment tancat.\n"
-"Les caracterstiques de seguretat estan al mxim."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "S'est establint el nivell de seguretat"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Control Center"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Escolliu l'eina que voleu utilitzar "
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "sintaxi: keyboarddrake [--expert] [teclat]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Voleu que la tecla Enrere efectu un Suprimeix en la consola?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Canvieu el CD-ROM"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Si us plau, inseriu el CD-ROM d'installaci a la unitat i desprs\n"
-"premeu D'acord.\n"
-"Si no el teniu, premeu Cancella per evitar la installaci en directe."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "No es pot iniciar l'actualitzaci en directe !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "no s'ha trobat cap serial_usb\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Voleu emular el tercer bot?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Si us plau, comproveu el ratol."
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Monitoritzaci de la xarxa"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Estadstiques"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "S'est enviant la velocitat: "
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "S'est rebent la velocitat: "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Tanca"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "S'est establint la connexi a Internet"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "S'est realitzant la desconnexi d'Internet"
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "No s'ha pogut realitzar la desconnexi d'Internet"
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "La desconnexi d'Internet ha finalitzat"
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "La connexi ha finalitzat."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"No s'ha pogut establir la connexi.\n"
-"Comproveu la configuraci al Centre de control de Mandrake."
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "enviat: "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "rebut: "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Connecta"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Desconnecta"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Configuraci del sistema de tallafocs"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Configuraci del sistema de tallafocs"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Sistema de tallafocs\n"
-"\n"
-"Ja heu configurat un tallafocs.\n"
-"Feu clic a Configura per canviar o eliminar el tallafoc"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Sistema de tallafocs\n"
-"\n"
-"Feu clic a Configura per configurar un tallafocs estndard"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"Configurador del tinyfirewall\n"
-"\n"
-"Amb aix es configura un tallafocs personal per a aquest ordinador Linux "
-"Mandrake.\n"
-"Per a una potent soluci de tallafocs dedicada, consulteu si us plau la "
-"distribuci especialitzada MandrakeSecurity Firewall."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Ara us farem preguntes sobre els serveis a qu voleu autoritzar que\n"
-"Internet us connecti. Si us plau, penseu-hi a fons perqu la seguretat\n"
-"del vostre ordinador s important.\n"
-"\n"
-"Si us plau, si un moment donat no esteu utilitzant algun d'aquests serveis,\n"
-"desactiveu-ne el tallafocs. Podeu canviar aquesta configuraci sempre que\n"
-"vulgueu tornant a executar aquesta aplicaci!"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Esteu executant un servidor de web en aquest ordinador que necessiteu que\n"
-"pugui veure tothom a Internet? Si esteu executant un servidor de web a qu\n"
-"noms ha d'accedir aquest ordinador, aqu podeu respondre tranquillament "
-"NO.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Esteu executant un servidor de noms en aquest ordinador? Si no n'heu\n"
-"configurat cap per proporcionar la IP i la informaci de zona a tothom a\n"
-"Internet, si us plau responeu NO.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Voleu autoritzar les connexions Secure Shell (ssh) d'entrada? Es tracta\n"
-"d'una substituci del Telnet que podeu utilitzar per entrar. Si ara esteu\n"
-"utilitzant el Telnet, passeu-vos a l'ssh sense cap mena de dubte; el\n"
-"Telnet no est xifrat, de manera que us poden robar la contrasenya si\n"
-"l'utilitzeu, mentre que l'ssh est xifrat i no permet cap mena d'intercepci."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Voleu autoritzar les connexions Telnet d'entrada?\n"
-"Aix s tremendament insegur, com hem dit a la pantalla anterior. Us\n"
-"recomanem vivament que respongueu No aqu i que utilitzeu l'ssh en comptes\n"
-"del Telnet.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Esteu executant un servidor d'FTP que necessiteu que sigui accessible a\n"
-"Internet? Si s aix, us recomanen vivament que noms l'utilitzeu per a\n"
-"transferncies annimes, ja que qualsevol contrasenya que s'envia per FTP\n"
-"pot ser robada, ats que l'FTP no utilitza xifratge per a la transferncia\n"
-"de contrasenyes.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Esteu executant un servidor de correu? Si esteu enviant els missatges\n"
-"a travs del pine, el mutt o qualsevol altre client de correu basat en\n"
-"text, probablement s aix. En cas contrari, desactiveu-ne el tallafocs.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Esteu executant un servidor POP o IMAP? Aix s'utilitzaria\n"
-"per allotjar comptes de correu dels usuaris, no basats en web,\n"
-"mitjanant aquest ordinador.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Sembla que esteu utilitzant un nucli 2.2. Si l'ordinador de\n"
-"casa o de l'oficina estableix automticament la IP de la vostra\n"
-"xarxa (assignaci dinmica), us cal autoritzar aix. s aquest el cas?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"El vostre ordinador est sincronitzat pel que fa al temps amb un altre?\n"
-"Normalment, aix ho utilitzen organitzacions Unix/Linux mitjanes-grans\n"
-"per sincronitzar el temps de les entrades i coses aix. Si no sou una part\n"
-"d'una oficina gran i no heu sentit parlar d'aix, probablement no us trobeu\n"
-"en aquest cas."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"La configuraci est completa. Podem desar aquests canvis al disc?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "No es pot obrir %s: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "No s'ha pogut obrir %s per escriure-hi: %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Clients per a diferents protocols, incloent l'ssh"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Desenvolupament"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Estaci de treball"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Servidor, Tallafoc/Encaminador"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Gesti d'informaci personal"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimdia - Grfics"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Ordinador de xarxa (client)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Eines d'udio: reproductors d'mp3 o midi, mescladors, etc."
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Estaci d'Internet"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Oficina"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Estaci multimdia"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Conjunt d'eines per llegir i enviar correu i notcies (pine, mutt, tin...) i "
-"per navegar pel Web"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "Biblioteques de desenvolupament C i C++, programes i fitxers inclosos"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Programes per gestionar els vostres comptes, com ara el gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "Servidor NFS, Servidor SMB, Servidor intermediari, Servidor SSH"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Documentaci"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Utilitats"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Entorn grfic"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimdia - So"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Programes d'entreteniment: acci, jocs de taula, estratgia, etc."
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Reproductors i editors de vdeo"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Eines de consola"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Programes de reproducci/edici de so i vdeo"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Estaci cientfica de treball"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editors, intrprets d'ordres, eines de fitxer, terminals"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Llibres i Com es fa... sobre el Linux i el programari lliure"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Entorn grfic amb un conjunt d'aplicacions i eines d'escriptori fcil "
-"d'utilitzar"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Jocs"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimdia - Vdeo"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Servidor d'ordinador de xarxa"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Programes grfics com ara el Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Estaci de treball Office"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr "Entorn d'escriptori K, l'entorn grfic bsic que inclou diverses eines"
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Ms escriptoris grfics (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Eines per crear i gravar CD"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimdia - Gravaci de CD"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Arxivament, emuladors, monitoritzaci"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Servidor, base de dades"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Programes d'ofimtica: processadors de textos (kword, abiword), gestors de "
-"fulls de clcul (kspread, gnumeric), visualitzadors pdf, etc."
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Servidor, Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Servidor"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Comptabilitat personal"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Configuraci"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "Estaci de treball KDE"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Altres escriptoris grfics"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache i Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Servidor, Correu/Groupware/Notcies"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Estaci de treball GNOME"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Accs a Internet"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Eines per al Palm Pilot o per al Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Estaci de jocs"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc."
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Eines per facilitar la configuraci de l'ordinador"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-"Conjunt d'eines per al correu, notcies, web, transferncia de fitxers i xat"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "kB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minuts"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minute"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d segons"
-
-#~ msgid "cannot fork: "
-#~ msgstr "no es pot bifurcar: "
-
-#~ msgid "Configure..."
-#~ msgstr "Configura..."
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "Configuraci de la LAN"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "S'ha seleccionat la mida %d%s"
-
-#~ msgid "Opening your connection..."
-#~ msgstr "S'est obrint la connexi..."
-
-#~ msgid "Standard tools"
-#~ msgstr "Eines estndard"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr "Aquest script d'inici intenta carregar els mduls del ratol USB."
-
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Configuraci del LILO/Grub"
-
-#~ msgid "Boot style configuration"
-#~ msgstr "Configuraci del tipus d'arrencada"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Ara que ja teniu configurada la connexi a Internet,\n"
-#~ "podeu configurar l'ordinador per tal que la comparteixi.\n"
-#~ "Nota: per configurar una xarxa d'rea local (LAN), us cal un adaptador de "
-#~ "xarxa dedicat.\n"
-#~ "\n"
-#~ "Voleu configurar la connexi a Internet compartida?\n"
-
-#~ msgid "Welcome to the Internet Connection Sharing utility!"
-#~ msgstr "Benvingut a la utilitat de compartici de la connexi a Internet!"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Dependncies automtiques"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Configura el LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Crea un disquet d'arrencada"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formata el disquet"
-
-#~ msgid "Choice"
-#~ msgstr "Elecci"
-
-#~ msgid "horizontal nice looking aurora"
-#~ msgstr "aurora horitzontal amb bon aspecte"
-
-#~ msgid "vertical traditional aurora"
-#~ msgstr "aurora vertical tradicional"
-
-#~ msgid "gMonitor"
-#~ msgstr "gMonitor"
-
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Ara podeu seleccionar diverses opcions per al vostre sistema.\n"
-#~ "\n"
-#~ "* Utilitzaci de l'optimitzaci del disc dur: Aquesta opci pot millorar "
-#~ "el\n"
-#~ "rendiment del disc dur, per s noms per a usuaris avanats. Alguns "
-#~ "xips\n"
-#~ "amb errors poden fer malb les vostres dades, aix que aneu amb compte. "
-#~ "El\n"
-#~ "nucli inclou una \"llista negra\" d'unitats i jocs de xips, per, si "
-#~ "voleu\n"
-#~ "evitar-vos sorpreses desagradables, no activeu aquesta opci.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Selecci d'un nivell de seguretat: Podeu escollir un nivell de\n"
-#~ "seguretat per al sistema. Si us plau, consulteu el manual per a ms\n"
-#~ "informaci. Bsicament, si no n'esteu segur, trieu l'opci "
-#~ "predeterminada.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Si cal, indicaci de la mida exacta de la RAM: malauradament, no hi "
-#~ "cap\n"
-#~ "mtode estndard per preguntar al BIOS la quantitat de RAM que hi ha a\n"
-#~ "l'ordinador. Per tant, s possible que el Linux no pugui detectar\n"
-#~ "correctament la quantitat de RAM installada. Si s aquest el cas, en "
-#~ "podeu\n"
-#~ "indicar aqu la quantitat correcta, per penseu que una diferncia de 2 o "
-#~ "4\n"
-#~ "MB entre la memria detectada i la memria real s normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Muntatge automtic de suports extrables: Si preferiu no haver\n"
-#~ "de muntar manualment les unitats extrables (CD-ROM, disquet, Zip)\n"
-#~ "escrivint \"mount\" i \"umount\", seleccioneu aquesta opci.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Neteja de \"/tmp\" en cada arrencada: si voleu suprimir tots els "
-#~ "fitxers\n"
-#~ "i directoris que hi ha emmagatzemats a \"/tmp\" quan arranqueu el "
-#~ "sistema,\n"
-#~ "seleccioneu aquesta opci.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Habilitaci de BlocNum a l'inici: Si voleu que BlocNum s'habiliti "
-#~ "desprs\n"
-#~ "de l'arrencada, seleccioneu aquesta opci. Tingueu en compte que no heu\n"
-#~ "d'habilitar aquesta opci en porttils i que BlocNum pot funcionar o pot "
-#~ "no\n"
-#~ "funcionar sota X."
-
-#~ msgid "Sorry, the mail configuration is not yet implemented. Be patient."
-#~ msgstr ""
-#~ "Si us plau, tingueu pacincia; la configuraci del correu encara no est "
-#~ "implementada."
-
-#~ msgid ""
-#~ "Welcome to The Network Configuration Wizard.\n"
-#~ "Which components do you want to configure?\n"
-#~ msgstr ""
-#~ "Benvingut a l'Auxiliar de configuraci de la xarxa.\n"
-#~ "Quins components voleu configurar?\n"
-
-#~ msgid "Internet/Network access"
-#~ msgstr "Accs a Internet/xarxa"
-
-#~ msgid "Mail information"
-#~ msgstr "Informaci del correu"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Miscellnia"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Preguntes diverses"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "No es pot utilitzar supermount en un nivell d'alta seguretat"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "Atenci: EN AQUEST NIVELL DE SEGURETAT NO ES POT ENTRAR COM A ROOT A LA "
-#~ "CONSOLA!\n"
-#~ "Si voleu ser root, heu d'entrar com a usuari i aleshores utilitzar \"su"
-#~ "\".\n"
-#~ "En general, no espereu utilitzar l'ordinador per a altre cosa que com a "
-#~ "servidor.\n"
-#~ "Esteu avisat."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Aneu amb compte; si teniu BlocNm habilitat, moltes tecles donaran\n"
-#~ "nmeros en comptes de lletres (p.ex., si premeu la `p' obtindreu un `6')"
-
-#~ msgid "not connected"
-#~ msgstr "sense connexi"
-
-#~ msgid "Scientific applications"
-#~ msgstr "Aplicacions cientfiques"
-
-#~ msgid "toot"
-#~ msgstr "toot"
-
-#~ msgid "File/Print/Samba"
-#~ msgstr "Servidor, Fitxer/Impressi/Samba"
-
-#~ msgid "DNS/DHCP "
-#~ msgstr "Servidor, DNS/DHCP "
-
-#~ msgid "First DNS Server"
-#~ msgstr "Servidor DNS primari"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Servidor DNS secundari"
-
-#~ msgid "using module"
-#~ msgstr "s'est utilitzant el mdul"
-
-#~ msgid "Development, Database"
-#~ msgstr "Desenvolupament, base de dades"
-
-#~ msgid "Development, Integrated Environment"
-#~ msgstr "Desenvolupament, entorn integrat"
-
-#~ msgid "Development, Standard tools"
-#~ msgstr "Desenvolupament, eines estndard"
-
-#~ msgid ""
-#~ "\n"
-#~ "Warning:\n"
-#~ "Applying the changes while running may crash your X environnement."
-#~ msgstr ""
-#~ "\n"
-#~ "Avs:\n"
-#~ "Si apliquu els canvis durant l'execuci, s possible que l'entorn X "
-#~ "caigui."
-
-#~ msgid ""
-#~ "\n"
-#~ "If you continue, I will shut down your %s environnement"
-#~ msgstr ""
-#~ "\n"
-#~ "Si continueu, tancar l'entorn %s"
-
-#~ msgid "eth$_"
-#~ msgstr "eth$_"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr "Cap"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Quin(s) carregador(s) d'arrencada voleu utilitzar?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Disquet d'installaci automtica"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Voleu que intenti trobar un mdem?"
-
-#~ msgid "Configure an ISDN connection"
-#~ msgstr "Configura una connexi per XDSI"
-
-#~ msgid "Configure a cable connection"
-#~ msgstr "Configura una connexi per cable"
-
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Inhabilita la connexi a Internet"
-
-#~ msgid "Configure local network"
-#~ msgstr "Configura la xarxa local"
-
-#~ msgid "Disable networking"
-#~ msgstr "Inhabilita el sistema de xarxa"
-
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Configura la connexi a Internet / Configura la xarxa local"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "La xarxa local ja s'ha configurat.\n"
-#~ "Voleu:"
-
-#~ msgid "Graphics Manipulation"
-#~ msgstr "Manipulaci de grfics"
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimdia"
-
-#~ msgid "Sciences"
-#~ msgstr "Cincies"
-
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ "Programes de xat (IRC o missatgeria instantnia) com ara xchat, licq, "
-#~ "gaim, i eines de transferncia de fitxers"
-
-#~ msgid "Communication facilities"
-#~ msgstr "Installacions de comunicaci"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Internet Tools"
-#~ msgstr "Eines d'Internet"
-
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr "Clients de bases de dades i servidors (mysql i postgresql)"
-
-#~ msgid "Development C/C++"
-#~ msgstr "Desenvolupament C/C++"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Zona horria"
-
-#~ msgid "Configure printer"
-#~ msgstr "Configura la impressora"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(pot malmetre les dades)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Voleu utilitzar l'optimitzaci del disc dur?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Habilita la tecla Bloc Num en iniciar"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Confirmeu la contrasenya"
-
-#~ msgid "default"
-#~ msgstr "predeterminat"
-
-#~ msgid "What is your system used for?"
-#~ msgstr "Amb quina finalitat utilitzeu el sistema?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr "Seleccioneu la mida que voleu installar"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Utilitza el diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr "Personalitzada"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "Esteu segur que sou un expert? \n"
-#~ "Aqu podreu fer coses molt potents, per tamb perilloses.\n"
-#~ "\n"
-#~ "Us preguntaran coses com: ``Voleu utilitzar un fitxer d'ombres per a les "
-#~ "contrasenyes?'',\n"
-#~ "Sou capa de respondre aquest tipus de preguntes?"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Utilitza el fitxer d'ombra"
-
-#~ msgid "shadow"
-#~ msgstr "ombra"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Utilitza les contrasenyes MD5"
-
-#~ msgid "Search"
-#~ msgstr "Cerca"
-
-#~ msgid "Package"
-#~ msgstr "Paquet"
-
-#~ msgid "Text"
-#~ msgstr "Text"
-
-#~ msgid "Tree"
-#~ msgstr "Arbre"
-
-#~ msgid "Sort by"
-#~ msgstr "Ordena per"
-
-#~ msgid "Category"
-#~ msgstr "Categoria"
-
-#~ msgid "See"
-#~ msgstr "Consulteu"
-
-#~ msgid "Installed packages"
-#~ msgstr "Paquets installats"
-
-#~ msgid "Available packages"
-#~ msgstr "Paquets disponibles"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Mostra noms les fulles"
-
-#~ msgid "Expand all"
-#~ msgstr "Expandeix-ho tot"
-
-#~ msgid "Collapse all"
-#~ msgstr "Redueix-ho tot"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Afegeix la ubicaci dels paquets"
-
-#~ msgid "Update location"
-#~ msgstr "Actualitza la ubicaci"
-
-#~ msgid "Remove"
-#~ msgstr "Elimina"
-
-#~ msgid "Find Package"
-#~ msgstr "Cerca el paquet"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Cerca el paquet que cont el fitxer"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Commuta entre Installats i Disponibles"
-
-#~ msgid "Uninstall"
-#~ msgstr "Desinstalla"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Escolliu el paquet a installar"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "S'estan comprovant les dependncies"
-
-#~ msgid "Wait"
-#~ msgstr "Espera"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Ara es desinstallaran els paquets segents"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "S'estan desinstallant els RPM"
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Quin paquet esteu cercant"
-
-#~ msgid "%s not found"
-#~ msgstr "no s'ha trobat %s"
-
-#~ msgid "No match"
-#~ msgstr "Cap coincidncia"
-
-#~ msgid "No more match"
-#~ msgstr "Cap altra coincidncia"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "Actualment, l'rpmdrake est en el mode ``poca memria''.\n"
-#~ "Ara tornar a reiniciar l'rpmdrake per permetre la recerca de fitxers"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Quin fitxer esteu cercant?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Qu esteu cercant?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Introduu un nom (p.ex. `extra', `comercial')"
-
-#~ msgid "Directory"
-#~ msgstr "Directori"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "No hi ha cap CD-ROM disponible (no hi ha res a /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "L'URL del directori que cont els RPM"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Per a FTP i HTTP, us cal introduir la ubicaci de hdlist\n"
-#~ "Ha de ser relativa a l'URL superior"
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Si us plau, trameteu la informaci segent"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s ja s en s"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "S'est actualitzant la base dels RPM"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "Ara s'eliminar l'entrada %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr "S'estan cercant les fulles"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "Cal una mica de temps per cercar les fulles"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "He trobat una targeta XDSI:\n"
-
-#~ msgid "France"
-#~ msgstr "Frana"
-
-#~ msgid "Other countries"
-#~ msgstr "Altres pasos"
-
-#~ msgid "In which country are you located ?"
-#~ msgstr "A quin pas us trobeu?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Mdem Alcatel"
-
-#~ msgid "ECI modem"
-#~ msgstr "Mdem ECI"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr ""
-#~ "Si el vostre mdem adsl s un mdem Alcatel, seleccioneu Alcatel. Si no, "
-#~ "ECI."
-
-#~ msgid "don't use pppoe"
-#~ msgstr "no utilitzis pppoe"
-
-#~ msgid "mandatory"
-#~ msgstr "obligatori"
-
-#~ msgid "interesting"
-#~ msgstr "interessant"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (important)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (molt bonic)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (bonic)"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "A quin port srie est connectat el vostre ratol?"
-
-#~ msgid "KDE, QT, Gnome, GTK+"
-#~ msgstr "KDE, QT, Gnome, GTK+"
-
-#~ msgid "Python, Perl, libraries, tools"
-#~ msgstr "Python, Perl, biblioteques, eines"
-
-#~ msgid "Czech"
-#~ msgstr "Txec"
-
-#~ msgid "Slovakian"
-#~ msgstr "Eslovac"
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr "No s'ha pogut installar el RPM d'ipchains amb l'urpmi."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr "No s'ha pogut installar el RPM de dhcp amb l'urpmi."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr "No s'ha pogut installar el RPM de linuxconf amb l'urpmi."
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr "No s'ha pogut installar el RPM de bind amb l'urpmi."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr "No s'ha pogut installar el RPM de caching-nameserver amb l'urpmi"
-
-#~ msgid "Reconfigure local network"
-#~ msgstr "Torna a configurar la xarxa local"
-
-#~ msgid ""
-#~ " Introduction\n"
-#~ "\n"
-#~ "The operating system and the different components available in the Linux-"
-#~ "Mandrake distribution \n"
-#~ "shall be called the \"Software Products\" hereafter. The Software "
-#~ "Products include, but are not \n"
-#~ "restricted to, the set of programs, methods, rules and documentation "
-#~ "related to the operating \n"
-#~ "system and the different components of the Linux-Mandrake distribution.\n"
-#~ "\n"
-#~ "\n"
-#~ "1. License Agreement\n"
-#~ "\n"
-#~ "Please read carefully this document. This document is a license agreement "
-#~ "between you and \n"
-#~ "MandrakeSoft S.A., 43, rue d'Aboukir, 75002 Paris - France, which applies "
-#~ "to the Software Products.\n"
-#~ "By installing, duplicating or using the Software Products in any manner, "
-#~ "you explicitly \n"
-#~ "accept and fully agree to conform to the terms and conditions of this "
-#~ "License. \n"
-#~ "If you disagree with any portion of the License, you are not allowed to "
-#~ "install, duplicate or use \n"
-#~ "the Software Products. \n"
-#~ "Any attempt to install, duplicate or use the Software Products in a "
-#~ "manner which does not comply \n"
-#~ "with the terms and conditions of this License is void and will terminate "
-#~ "your rights under this \n"
-#~ "License. Upon termination of the License, you must immediately destroy "
-#~ "all copies of the \n"
-#~ "Software Products.\n"
-#~ "\n"
-#~ "\n"
-#~ "2. The GPL License and Related Licenses\n"
-#~ "\n"
-#~ "The Software Products consist of components created by different persons "
-#~ "or entities. Most \n"
-#~ "of these components are governed under the terms and conditions of the "
-#~ "GNU General Public \n"
-#~ "Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-#~ "licenses allow you to use, \n"
-#~ "duplicate, adapt or redistribute the components which they cover. Please "
-#~ "read carefully the terms \n"
-#~ "and conditions of the license agreement for each component before using "
-#~ "any component. Any question \n"
-#~ "on a component license should be addressed to the component author and "
-#~ "not to MandrakeSoft.\n"
-#~ "The programs developed by MandrakeSoft S.A. are governed by the GPL "
-#~ "License. Documentation written \n"
-#~ "by MandrakeSoft S.A. is governed by a specific license. Please refer to "
-#~ "the documentation for \n"
-#~ "further details.\n"
-#~ "Some versions of the Software Products may contain components which are "
-#~ "not governed by the GPL \n"
-#~ "License or similar agreements. Each such component is then governed by "
-#~ "the terms and conditions \n"
-#~ "of its own specific license. Please read carefully and comply with such "
-#~ "specific licenses before \n"
-#~ "you install, use or redistribute the said components. Such licenses will "
-#~ "in general prevent the \n"
-#~ "transfer, duplication (except for backup purposes), redistribution, "
-#~ "reverse engineering, \n"
-#~ "de-assembly, \n"
-#~ "de-compilation or modification of the component. Any breach of agreement "
-#~ "will immediately terminate \n"
-#~ "your rights under the specific license. Unless the specific license terms "
-#~ "grant you such rights, \n"
-#~ "you usually cannot install the programs on more than one system, or adapt "
-#~ "it to be used on a \n"
-#~ "network. \n"
-#~ "In doubt, please contact directly the distributor or editor of the "
-#~ "component. Transfer to third \n"
-#~ "parties or copying of such components including the documentation is "
-#~ "usually forbidden.\n"
-#~ "\n"
-#~ "\n"
-#~ "3. Intellectual Property Rights\n"
-#~ "\n"
-#~ "All rights to the components of the Software Products belong to their "
-#~ "respective authors and are \n"
-#~ "protected by intellectual property and copyright laws applicable to "
-#~ "software programs.\n"
-#~ "MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-#~ "Products, as a whole or in \n"
-#~ "parts,\n"
-#~ "by all means and for all purposes.\n"
-#~ "\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-#~ "MandrakeSoft S.A. All rights \n"
-#~ "are \n"
-#~ "reserved. The duplication is forbidden without prior written consent by "
-#~ "MandrakeSoft S.A.\n"
-#~ "\n"
-#~ "\n"
-#~ "4. Limited Warranty\n"
-#~ "\n"
-#~ "The Software Products and attached documentation are provided \"as is\", "
-#~ "with no warranty, to the \n"
-#~ "extent permitted by law. Should the Software Products be defective, "
-#~ "MandrakeSoft S.A. will at its \n"
-#~ "own will either replace the Software Products, or reimburse the paid "
-#~ "fee.\n"
-#~ "This limited warranty is void if you fail to comply to the "
-#~ "recommendations, instructions and \n"
-#~ "conditions \n"
-#~ "of use listed in the documentation or license agreements of the Software "
-#~ "Products.\n"
-#~ "To the extent permitted by law, MandrakeSoft S.A. will in no "
-#~ "circumstances be liable for any \n"
-#~ "special, \n"
-#~ "incidental, direct or indirect damages whatsoever (including without "
-#~ "limitation damages for loss of \n"
-#~ "business, interruption of business, financial loss, legal fees and "
-#~ "penalties resulting from a court \n"
-#~ "judgement, or any other consequential loss) arising out of the use or "
-#~ "inability to use the \n"
-#~ "Software \n"
-#~ "Products, even if MandrakeSoft S.A. has been advised of the possibility "
-#~ "or occurance of such \n"
-#~ "damages.\n"
-#~ "\n"
-#~ "LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN "
-#~ "SOME COUNTRIES\n"
-#~ "\n"
-#~ "To the extent permitted by law, MandrakeSoft S.A. or its distributors "
-#~ "will, in no circumstances, be \n"
-#~ "liable for any special, incidental, direct or indirect damages whatsoever "
-#~ "(including without \n"
-#~ "limitation \n"
-#~ "damages for loss of business, interruption of business, financial loss, "
-#~ "legal fees and penalties \n"
-#~ "resulting from a court judgement, or any other consequential loss) "
-#~ "arising out of the possession \n"
-#~ "and \n"
-#~ "use of software components or arising out of downloading software "
-#~ "components from one of \n"
-#~ "Linux-Mandrake \n"
-#~ "sites which are prohibited or restricted in some countries by local "
-#~ "laws. This limited liability \n"
-#~ "applies to, but is not restricted to, the strong cryptography components "
-#~ "included in the Software \n"
-#~ "Products.\n"
-#~ "\n"
-#~ "\n"
-#~ "5. Governing Laws \n"
-#~ "\n"
-#~ "If any portion of this agreement is held void, illegal or inapplicable by "
-#~ "a court judgement, this \n"
-#~ "portion is excluded from this contract. You remain bound by the other "
-#~ "applicable sections of the \n"
-#~ "agreement.\n"
-#~ "The terms and conditions of this License are governed by the Laws of "
-#~ "France.\n"
-#~ "All disputes on the terms of this license will preferably be settled out "
-#~ "of court. As a last \n"
-#~ "resort, \n"
-#~ "the dispute will be referred to the appropriate Courts of Law of Paris - "
-#~ "France.\n"
-#~ "For any question on this document, please contact MandrakeSoft S.A., \n"
-#~ "43, rue d'Aboukir, 75002 Paris - France\n"
-#~ msgstr ""
-#~ " Introducci\n"
-#~ "\n"
-#~ "D'ara endavant, el sistema operatiu i els diferents components que "
-#~ "s'inclouen\n"
-#~ "a la distribuci Linux-Mandrake s'anomenaran els \"Productes de programari"
-#~ "\".\n"
-#~ "Els Productes de programari inclouen, per no es limiten a, el conjunt "
-#~ "de\n"
-#~ "programes, mtodes, regles i documentaci relativa al sistema operatiu i "
-#~ "als\n"
-#~ "diferents components de la distribuci Linux-Mandrake.\n"
-#~ "\n"
-#~ "\n"
-#~ "1. Acord de Llicncia\n"
-#~ "\n"
-#~ "Si us plau, llegiu aquest document atentament. Aquest document s un "
-#~ "acord\n"
-#~ "de llicncia entre vs i MandrakeSoft S.A., 43, rue d'Aboukir, 75002 "
-#~ "Pars,\n"
-#~ "Frana, que s'aplica als Productes de programari.\n"
-#~ "Pel fet d'installar, duplicar o utilitzar els Productes de programari, "
-#~ "en \n"
-#~ "qualsevol manera, accepteu i esteu totalment d'acord, de manera "
-#~ "explcita, en\n"
-#~ "sometre-us als termes i condicions d'aquesta Llicncia. Si no esteu "
-#~ "d'acord amb\n"
-#~ "qualsevol part d'aquesta Llicncia, no esteu autoritzat a installar, "
-#~ "duplicar\n"
-#~ "ni utilitzar els Productes de programari. Qualsevol intent d'installar,\n"
-#~ "duplicar o utilitzar els Productes de programari d'una manera no conforme "
-#~ "als\n"
-#~ "termes i condicions d'aquesta Llicncia s invlid i conclour els "
-#~ "vostres\n"
-#~ "drets sota aquesta Llicncia. En concloure la Llicncia, heu de destruir\n"
-#~ "immediatament totes les cpies dels Productes de programari.\n"
-#~ "\n"
-#~ "\n"
-#~ "2. la Llicncia GPL i Llicncies relacionades\n"
-#~ "\n"
-#~ "Els Productes de programari sn components creats per diferents persones "
-#~ "o\n"
-#~ "entitats. La majoria d'aquests components estan coberts pels termes i\n"
-#~ "condicions de la Llicncia General Pblica de GNU (d'ara endavant \"GPL"
-#~ "\"), o\n"
-#~ "de llicncies similars. La majoria d'aquestes llicncies us permeten "
-#~ "utilitzar,\n"
-#~ "duplicar, adaptar o redistribuir els components que cobreixen. Si us "
-#~ "plau,\n"
-#~ "llegiu atentament els termes i condicions de l'acord de llicncia de "
-#~ "cada\n"
-#~ "component abans d'utilitzar-lo. Qualsevol pregunta sobre un component "
-#~ "s'ha\n"
-#~ "d'adrear al seu autor i no a MandrakeSoft. Els programes desenvolupats "
-#~ "per\n"
-#~ "MandrakeSoft S.A. estan coberts per la Llicncia GPL. La documentaci "
-#~ "escrita\n"
-#~ "per MandrakeSoft S.A. est coberta per una llicncia especfica. Si us "
-#~ "plau,\n"
-#~ "consulteu la documentaci per a ms informaci. Algunes versions dels "
-#~ "Productes\n"
-#~ "de programari poden incloure components que no estiguin coberts per la\n"
-#~ "Llicncia GPL o llicncies similars; en aquest cas, cada un d'aquests\n"
-#~ "components estar cobert pels termes i condicions de la seva prpia "
-#~ "llicncia\n"
-#~ "especfica. Si us plau, llegiu atentament i respecteu aquestes "
-#~ "llicncies\n"
-#~ "especfiques abans d'installar, utilitzar o redistribuir els components\n"
-#~ "esmentats. En general, aquestes llicncies impediran la transferncia,\n"
-#~ "duplicaci (excepte amb la finalitat de fer cpies de seguretat),\n"
-#~ "redistribuci, enginyeria inversa, desensamblatge, decompilaci o "
-#~ "modificaci\n"
-#~ "del component. Qualsevol ruptura de l'acord conclour immediatament els "
-#~ "vostres\n"
-#~ "drets sota la llicncia especfica. Tret que els termes de la llicncia\n"
-#~ "especfica us ho autoritzin, normalment no podreu installar els "
-#~ "programes en\n"
-#~ "ms d'un sistema ni adaptar-lo per al seu s en xarxa. Si hi teniu "
-#~ "dubtes,\n"
-#~ "poseu-vos en contacte directament amb el distribudor o editor del "
-#~ "component.\n"
-#~ "Normalment, est prohibida la transferncia a terceres parts i la cpia\n"
-#~ "d'aquests components, incloent la documentaci.\n"
-#~ "\n"
-#~ "\n"
-#~ "3. Drets de propietat intellectual\n"
-#~ "\n"
-#~ "Tots els drets dels components dels Productes de programari pertanyen als "
-#~ "seus\n"
-#~ "autors respectius i estan protegits per la propietat intellectual i les "
-#~ "lleis\n"
-#~ "de copyright aplicables al programari. MandrakeSoft S.A. es reserva els "
-#~ "drets\n"
-#~ "de modificar o adaptar els Productes de programari, ja sigui parcialment "
-#~ "o\n"
-#~ "totalment, per tots els mitjans i per a totes les finalitats. \"Mandrake"
-#~ "\",\n"
-#~ "\"Linux-Mandrake\" i els logotips associats son marques registrades de\n"
-#~ "MandrakeSoft S.A. Tots els drets reservats. Es prohibeix la duplicaci "
-#~ "sense\n"
-#~ "consentiment previ per escrit de MandrakeSoft S.A.\n"
-#~ "\n"
-#~ "\n"
-#~ "4. Garantia limitada\n"
-#~ "\n"
-#~ "Els Productes de programari i la documentaci que s'hi adjunta es "
-#~ "subministren\n"
-#~ "\"tal com sn\", sense cap garantia, fins al punt perms per la llei. En "
-#~ "cas\n"
-#~ "que els Productes de programari siguin defectuosos, MandrakeSoft S.A., a\n"
-#~ "criteri seu, decidir si reemplaa els Productes de programari o si en\n"
-#~ "reemborsa el preu pagat. Aquesta garantia limitada s nulla si no "
-#~ "compliu les\n"
-#~ "recomanacions, instruccions i condicions d's que s'indiquen a la "
-#~ "documentaci\n"
-#~ "o als acords de llicncia dels Productes de programari. Fins al punt "
-#~ "perms per\n"
-#~ "la llei, MandrakeSoft S.A. no ser, en cap circumstncia, responsable de "
-#~ "cap\n"
-#~ "dany especial, incidental, directe o indirecte (incloent, per sense "
-#~ "limitar-se\n"
-#~ "a, danys per prdua de negocis, interrupci de negocis, prdues "
-#~ "financeres,\n"
-#~ "honoraris i multes legals que resultin per un judici i qualsevol altre "
-#~ "prdua\n"
-#~ "important) que resulti de l's o impossibilitat d'utilitzar els Productes "
-#~ "de\n"
-#~ "programari, fins i tot si s'ha notificat a MandrakeSoft S.A. la "
-#~ "possibilitat de\n"
-#~ "que es produeixin aquests danys.\n"
-#~ "\n"
-#~ "RESPONSABILITAT LIMITADA LLIGADA A LA POSESSI O UTILITZACI DE "
-#~ "PROGRAMARI PROHIBIT EN ALGUNES PASOS\n"
-#~ "\n"
-#~ "Fins al put perms per la llei, MandrakeSoft S.A. i els seus "
-#~ "distribudors no\n"
-#~ "seran, sota cap circumstncia, responsables de cap dany especial, "
-#~ "incidental,\n"
-#~ "directe o indirecte (incloent, per sense limitar-se a, danys per prdua "
-#~ "de\n"
-#~ "negocis, interrupci de negocis, prdues financeres, honoraris i multes "
-#~ "legals\n"
-#~ "que resultin per un judici i qualsevol altre prdua important) que "
-#~ "resultin de\n"
-#~ "la possessi i s de components de programari o de la descrrega de "
-#~ "components\n"
-#~ "de programari d'algun dels llocs web de Linux-Mandrake que estiguin "
-#~ "prohibits o\n"
-#~ "restringits en alguns pasos per lleis locals. Aquesta responsabilitat "
-#~ "limitada\n"
-#~ "s'aplica, per no est restringida a, els potents components de "
-#~ "criptografia\n"
-#~ "inclosos en els Productes de programari.\n"
-#~ "\n"
-#~ "\n"
-#~ "5. Lleis aplicables \n"
-#~ "\n"
-#~ "Si qualsevol part d'aquest acord s declarat nul, illegal o inaplicable "
-#~ "en un\n"
-#~ "judici, aquesta part s'exclou del contracte, per seguiu obligat per les "
-#~ "altres\n"
-#~ "seccions aplicables de l'acord. Els termes i condicions d'aquesta "
-#~ "Llicncia\n"
-#~ "estan coberts per les lleis de Frana. Preferiblement, tots els desacords "
-#~ "sobre\n"
-#~ "els termes d'aquesta Llicncia es resoldran fora dels tribunals. Com a "
-#~ "ltim\n"
-#~ "recurs, el plet es dirimir en els tribunals de Pars, Frana.\n"
-#~ "Per a qualsevol pregunta sobre aquest document, poseu-vos en contacte "
-#~ "amb\n"
-#~ "MandrakeSoft S.A., 43, rue d'Aboukir, 75002 Pars, Frana.\n"
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Es pot configurar el vostre ordinador per tal que comparteixi la connexi "
-#~ "a Internet.\n"
-#~ "\n"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr "S'ha configurat tot.\n"
-
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Connecta't a Internet amb un mdem normal"
-
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Connecta't a Internet mitjanant XDSI"
-
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Connecta't a Internet mitjanant DSL (o ADSL)"
-
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Connecta't a Internet mitjanant cable"
-
-#~ msgid ""
-#~ "Time (secs) of inactivity after which\n"
-#~ "it hangs up. (leave blank to disable it)"
-#~ msgstr ""
-#~ "Temps (en segons) d'inactivitat desprs del qual\n"
-#~ "penjar (deixeu-ho en blanc per inhabilitar-ho)."
-
-#~ msgid "Germany"
-#~ msgstr "Alemany"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "Alemanya (1TR6)"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr "Qu voleu fer?"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "Installa/Rescata"
-
-#~ msgid "Rescue"
-#~ msgstr "Rescata"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Quin tipus de partici voleu?"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Escolliu \"Installaci\" si no hi ha installada cap versi anterior de "
-#~ "GNU/Linux,\n"
-#~ "o si voleu utilitzar diverses distribucions o versions.\n"
-#~ "\n"
-#~ "Escolliu \"Rescat\" si voleu rescatar una versi anterior de\n"
-#~ "Mandrake Linux ja installada.\n"
-#~ "\n"
-#~ "\n"
-#~ "Seleccioneu:\n"
-#~ "\n"
-#~ " - Recomanada: Si mai no heu installat el GNU/Linux,\n"
-#~ " escolliu aquesta opci.\n"
-#~ " - Personalitzada: Si esteu prou familiaritzat amb el GNU/Linux, podeu\n"
-#~ " triar l's principal del vostre ordinador. Consulteu-ne els detalls\n"
-#~ " ms avall.\n"
-#~ "\n"
-#~ " - Per a experts: S'assumeix que domineu el GNU/Linux i voleu realitzar "
-#~ "una\n"
-#~ " installaci altament personalitzada. Com en el cas del tipus\n"
-#~ " d'installaci \"Personalitzada\", podreu seleccionar l's del "
-#~ "vostre\n"
-#~ " sistema.\n"
-#~ " Per, si us plau, sobretot NO TRIEU AQUESTA OPCI TRET QUE SAPIGUEU "
-#~ "QU ESTEU FENT!\n"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ "En aquest moment podeu decidir quina(es) partici(ns) voleu utilitzar\n"
-#~ "per installar el sistema Linux-Mandrake, si s que ja es va(n)\n"
-#~ "definir (en una installaci anterior del GNU/Linux o mitjanant una\n"
-#~ "altra eina de partici). En altres casos, s'han de definir les\n"
-#~ "particions del disc dur: aquesta operaci consisteix en dividir el\n"
-#~ "disc dur de l'ordinador en rees lgiques separades.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si heu de crear noves particions, utilitzeu \"Assignaci\n"
-#~ "automtica\" per crear particions per al GNU/Linux de manera automtica.\n"
-#~ "Podeu triar el disc on s'hi han de fer les particions fent clic a\n"
-#~ "\"hda\" per a la primera unitat IDE, \"hdb\" per a la segona, o\n"
-#~ "\"sda\" per a la primera unitat SCSI, i aix successivament.\n"
-#~ "\n"
-#~ "\n"
-#~ "Dues particions habituals sn: la partici root (/), que s el punt\n"
-#~ "d'inici de la jerarquia de directoris del sistema de fitxers, i\n"
-#~ "/boot, que cont tots els fitxers necessaris per iniciar el sistema\n"
-#~ "operatiu quan s'arrenca l'ordinador per primer cop.\n"
-#~ "\n"
-#~ "\n"
-#~ "Donat que aquest procs sol ser irreversible, la partici d'un disc\n"
-#~ "s sovint un procs que espanta als usuaris sense experincia, per\n"
-#~ "el DiskDrake simplifica molt aquest procs. Consulteu la documentaci\n"
-#~ "i preneu-vos tant temps com sigui necessari abans de realitzar la\n"
-#~ "partici.\n"
-#~ "\n"
-#~ "Podeu accedir a qualsevol opci mitjanant el teclat: desplaceu-vos per "
-#~ "les particions amb el tabulador i les fletxes amunt i avall. Quan se "
-#~ "selecciona una partici, podeu utilitzar:\n"
-#~ "\n"
-#~ "- Ctrl-c per crear una nova partici (quan se selecciona una partici "
-#~ "buida)\n"
-#~ "\n"
-#~ "- Ctrl-d per suprimir una partici\n"
-#~ "\n"
-#~ "- Ctrl-m per definir el punt de muntatge\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Cal formatar les particions que s'acaben de definir per poder-les\n"
-#~ "utilitzar ('formatar' significa 'crear un sistema de fitxers').\n"
-#~ "En aquest punt podeu, si voleu, tornar a formatar particions\n"
-#~ "existents per eliminar les dades que contenen. Nota: no s\n"
-#~ "necessari tornar a formatar les particions existents, especialment\n"
-#~ "si contenen fitxers o dades que voleu conservar.\n"
-#~ "Els directoris que es solen conservar sn /home i /usr/local."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "Ara s'estan installant els paquets seleccionats. Aquesta operaci\n"
-#~ "trigar pocs minuts, tret que hagueu escollit actualitzar un\n"
-#~ "sistema existent; en aquest cas trigar ms temps, fins i tot\n"
-#~ "abans que s'inici la installaci."
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "Si el DrakX no ha pogut trobar el ratol, o si voleu comprovar qu\n"
-#~ "ha fet, a la part superior apareixer la llista de ratolins.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si esteu d'acord amb els parmetres del DrakX, feu clic a 'D'acord'.\n"
-#~ "Si no, escolliu, al men superior, el tipus de ratol que us sembli ms "
-#~ "semblant al vostre.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si es tracta d'un ratol srie, tamb us caldr indicar al DrakX a\n"
-#~ "quin port srie est connectat."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "Aquesta secci est dedicada a la configuraci d'una xarxa local\n"
-#~ "(LAN) o d'un mdem.\n"
-#~ "\n"
-#~ "Escolliu \"LAN local\" i el DrakX intentar trobar un adaptador\n"
-#~ "Ethernet al vostre ordinador. El sistema trobar i inicialitzar\n"
-#~ "automticament els adaptadors PCI.\n"
-#~ "No obstant aix, si el vostre perifric s ISA, la detecci\n"
-#~ "no funcionar, i us caldr escollir un programa de control a la\n"
-#~ "llista que apareixer.\n"
-#~ "\n"
-#~ "\n"
-#~ "Com en el cas dels adaptadors SCSI, podeu deixar que, d'entrada,\n"
-#~ "el programa de control comprovi l'adaptador; si no ho feu aix, us\n"
-#~ "caldr especificar les opcions del programa de control que haureu\n"
-#~ "d'anar a buscar a la documentaci del vostre maquinari.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si installeu un sistema Linux-Mandrake en un ordinador que forma\n"
-#~ "part d'una xarxa existent, l'administrador de la xarxa us haur de\n"
-#~ "facilitar la informaci necessria (l'adrea IP, la submscara de\n"
-#~ "xarxa i el nom de l'ordinador central). Si esteu configurant una\n"
-#~ "xarxa privada, com ara a casa, haureu d'escollir les adreces.\n"
-#~ "\n"
-#~ "\n"
-#~ "Escolliu \"Marcatge amb mdem\" i es configurar la connexi a\n"
-#~ "Internet amb un mdem. El DrakX intentar trobar el mdem, per,\n"
-#~ "si no se'n surt, us caldr seleccionar el port srie al qual est\n"
-#~ "connectat."
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "El GNU/Linux pot treballar amb molts tipus d'impressores. Per a cada\n"
-#~ "un d'aquests tipus, per, cal una configuraci diferent. Tingueu\n"
-#~ "en compte, per, que l'spooler utilitza 'lp' com a nom d'impressora\n"
-#~ "per defecte, de manera que heu de tenir una impressora amb aquest nom.\n"
-#~ "No obstant aix, podeu donar diferents noms a una impressora, separant-\n"
-#~ "los amb el carcter '|'. D'aquesta manera, si voleu donar-li un nom ms\n"
-#~ "aclaridor noms us caldr indicar-lo en primer lloc, p.ex. \"La meva\n"
-#~ "impressora|lp\".\n"
-#~ "La impressora que contingui \"lp\" al(s) nom(s) ser la impressora per\n"
-#~ "defecte\n"
-#~ "\n"
-#~ "\n"
-#~ "Si la vostra impressora est connectada directament a l'ordinador,\n"
-#~ "seleccioneu \"Impressora local\". Haureu d'indicar a quin port\n"
-#~ "est connectada i seleccionar-ne el filtre corresponent.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si voleu accedir a una impressora que es troba a un ordinador Unix\n"
-#~ "remot, seleccioneu \"lpd remot\". Per poder-la fer funcionar no\n"
-#~ "cal cap nom d'usuari ni contrasenya, per us caldr saber el nom\n"
-#~ "de la cua d'impressi del servidor remot.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si voleu accedir a una impressora SMB (s a dir, una impressora\n"
-#~ "que es troba a un ordinador remot amb Windows 9x/NT), per poder-ho\n"
-#~ "fer haureu d'indicar el seu nom SMB (que no s el seu nom TCP/IP)\n"
-#~ "i possiblement la seva adrea IP, nom d'usuari, grup de treball,\n"
-#~ "contrasenya, i, evidentment, el nom de la impressora. El mateix\n"
-#~ "per a una impressora NetWare, per en aquest cas no us caldr la\n"
-#~ "informaci del grup de treball."
-
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "s molt recomanable que respongueu \"S\" aqu. Si ms endavant\n"
-#~ "installeu Microsoft Windows, sobreescriur el sector d'arrencada.\n"
-#~ "Tret que hagueu fet el disc d'arrencada com es\n"
-#~ "recomana, ja no podreu tornar a arrencar el GNU/Linux."
-
-#~ msgid "Move your wheel!"
-#~ msgstr "Moveu la bola!"
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Voleu descartar els canvis?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "De quin tipus s el vostre ratol?"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Resolucions automtiques"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "Per saber quines resolucions estan disponibles, en provar algunes.\n"
-#~ "La pantalla parpellejar...\n"
-#~ "Ho podeu desactivar si voleu; sentireu un avs sonor quan estigui llest"
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "Puc mirar de trobar les resolucions disponibles (p.ex. 800x600).\n"
-#~ "De vegades, per, aix pot penjar l'ordinador.\n"
-#~ "Us hi voleu arriscar?"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "No s'han trobat modes vlids\n"
-#~ "Intenteu-ho amb una altra targeta de vdeo o monitor"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Recerca automtica de resolucions"
-
-#~ msgid "dhcpd"
-#~ msgstr "dhcpd"
-
-#~ msgid "pump"
-#~ msgstr "pump"
-
-#~ msgid "dhcpxd"
-#~ msgstr "dhcpxd"
-
-#~ msgid "dhcp-client"
-#~ msgstr "dhcp-client"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Apple ADB Mouse"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Apple ADB Mouse (2 botons)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Apple ADB Mouse (3 o ms botons)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Apple USB Mouse"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Apple USB Mouse (2 botons)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Apple USB Mouse (3 o ms botons)"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI Bus Mouse"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft Bus Mouse"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech Bus Mouse"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB Mouse (3 o ms botons)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Rev 2.1A o superior (srie)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (srie)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (srie)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (srie)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "Generic Mouse (srie)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Compatible Microsoft (srie)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "Ratol Generic de 3 botons (srie)"
-
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Ratol Kensington Thinking (srie)"
-
-#~ msgid ""
-#~ "I need to configure your network adapter to be able to connect to "
-#~ "internet."
-#~ msgstr ""
-#~ "Necessito configurar el vostre adaptador de xarxa por poder connectar a "
-#~ "Internet."
-
-#~ msgid "nfs mount failed"
-#~ msgstr "ha fallat el muntatge de l'nfs"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Socket"
-#~ msgstr "Scol"
-
-#~ msgid ""
-#~ "DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
-#~ "By default, the 4.0 server is used unless your card is not supported.\n"
-#~ "\n"
-#~ "Do you want to keep XFree 3.3?"
-#~ msgstr ""
-#~ "El DrakX generar els fitxers de configuraci tant per a l'XFree 3.3 com "
-#~ "per a l'Xfree 4.0.\n"
-#~ "Per defecte, s'utilitza el servidor 4.0, tret que no funcioni per a la "
-#~ "vostra targeta.\n"
-#~ "\n"
-#~ "Voleu conservar l'Xfree 3.3?"
-
-#~ msgid "tie"
-#~ msgstr "lla"
-
-#~ msgid "brunette"
-#~ msgstr "morena"
-
-#~ msgid "girl"
-#~ msgstr "noia"
-
-#~ msgid "woman-blond"
-#~ msgstr "dona-rossa"
-
-#~ msgid "automagic"
-#~ msgstr "automagic"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Criptogrfic"
-
-#~ msgid "Take over the hard drive"
-#~ msgstr "Encarrega't del disc dur"
-
-#~ msgid "Do not set up networking"
-#~ msgstr "No configuris la xarxa"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "Voleu configurar la xarxa local per al vostre sistema?"
-
-#~ msgid "Have you been provided with a hostname?"
-#~ msgstr "Us han donat un nom d'ordinador central?"
-
-#~ msgid "Show less"
-#~ msgstr "Mostra'n menys"
-
-#~ msgid "Show more"
-#~ msgstr "Mostra'n ms"
-
-#~ msgid "URI for Local printer"
-#~ msgstr "URI per a la impressora local"
-
-#~ msgid "URI for Network printer"
-#~ msgstr "URI per a la impressora de xarxa"
-
-#~ msgid "Local Printer Device (URI)"
-#~ msgstr "Dispositiu de la impressora local (URI)"
-
-#~ msgid ""
-#~ "What URI device is your printer connected to\n"
-#~ "(note that parallel:/dev/lp0 is equivalent to LPT1:)?"
-#~ msgstr ""
-#~ "A quin dispositiu URI est connectada la vostra impressora?\n"
-#~ "(tingueu en compte que parallel:/dev/lp0 equival a LPT1:)"
-
-#~ msgid "Network Printer Options (URI)"
-#~ msgstr "Opcions de la impressora de xarxa (URI)"
-
-#~ msgid ""
-#~ "Choose the right Device URI for a network printer or a local file. "
-#~ "Examples:\n"
-#~ " file:/path/to/filename.prn\n"
-#~ " http://hostname:631/ipp/port1\n"
-#~ " ipp://hostname/ipp/port1\n"
-#~ " lpq://hostname/queue\n"
-#~ " socket://hostname\n"
-#~ " socket://hostname:9100"
-#~ msgstr ""
-#~ "Seleccioneu l'URI de dispositiu correcte per a una impressora de xarxa o "
-#~ "un fitxer local. Exemples:\n"
-#~ " file:/cam/al/nomdefitxer.prn\n"
-#~ " http://ordinadorcentral:631/ipp/port1\n"
-#~ " ipp://ordinadorcentral/ipp/port1\n"
-#~ " lpq://ordinadorcentral/cua\n"
-#~ " socket://ordinadorcentral\n"
-#~ " socket://ordinadorcentral:9100"
-
-#~ msgid "Local Area Network specification"
-#~ msgstr "Especificaci de la xarxa d'rea local"
-
-#~ msgid "You may now decide which class C network to use.\n"
-#~ msgstr "Ara podeu decidir quina xarxa de classe C voleu utilitzar.\n"
-
-#~ msgid "Network:"
-#~ msgstr "Xarxa:"
-
-#~ msgid "Internet Connection Sharing - setup of $device"
-#~ msgstr "Connexi a Internet compartida: configuraci de $device"
-
-#~ msgid ""
-#~ "The following interface is about to be configured:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Ara es configurar la interfcie segent:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-
-#~ msgid "Everything configured!"
-#~ msgstr "S'ha configurat tot!"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Quina s la disposici del vostre teclat?"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Voleu que intenti trobar targetes PCMCIA?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "Voleu que intenti trobar els dispositius %s?"
-
-#~ msgid "Modem Configuration"
-#~ msgstr "Configuraci del mdem"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr ""
-#~ "Voleu configurar el marcatge amb xarxa per mdem per al vostre sistema?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "Voleu que intenti trobar dispositius PCI?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "S'est cercant la partici arrel."
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr ""
-#~ "%s: Aquesta partici no s arrel; si us plau, seleccioneu-ne una altra."
-
-#~ msgid "No root partition found"
-#~ msgstr "No s'ha trobat cap partici arrel"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr "Si us plau, seleccioneu una partici per utilitzar-la com a arrel."
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr "No teniu cap partici de Windows!"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "No teniu prou espai per al Lnx4win"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Benvingut al LILO, la utilitat que us permet triar el sistema operatiu!\n"
-#~ "\n"
-#~ "Per obtenir una llista de les eleccions possibles, premeu <TAB>.\n"
-#~ "\n"
-#~ "Per carregar-ne una, escriviu-ne el nom i premeu <INTRO> o espereu %d "
-#~ "segons\n"
-#~ "fins a l'arrencada predeterminada.\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Benvingut al SILO, la utilitat que us permet triar el sistema operatiu!\n"
-#~ "\n"
-#~ "Per obtenir una llista de les eleccions possibles, premeu <TAB>.\n"
-#~ "\n"
-#~ "Per carregar-ne una, escriviu-ne el nom i premeu <INTRO> o espereu %d "
-#~ "segons\n"
-#~ "fins a l'arrencada predeterminada.\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "Opcions principals del SILO"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Aquestes sn les entrades segents del SILO.\n"
-#~ "Podeu afegir-ne algunes ms o canviar-ne les existents."
-
-#~ msgid "This label is already in use"
-#~ msgstr "Aquesta etiqueta ja est en s"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "Ha fallat la installaci del SILO. S'ha produt l'error segent:"
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ "En primer lloc, el DrakX intentar trobar un o ms adaptadors SCSI\n"
-#~ "PCI. Si en troba, i sap quin(s) programa(es) de control utilitzar,\n"
-#~ "l'inserir o els inserir automticament.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si el vostre adaptador SCSI s una targeta ISA, o si s PCI per\n"
-#~ "el DrakX no sap amb quin programa de control ha d'utilitzar-la, o\n"
-#~ "si no teniu cap adaptador SCSI, se us preguntar si en teniu un o\n"
-#~ "no. Si no en teniu cap, respongueu \"No\". Si en teniu un o ms,\n"
-#~ "respongueu \"S\". Apareixer una llista de programes de control,\n"
-#~ "de la qual n'haureu de triar un.\n"
-#~ "\n"
-#~ "\n"
-#~ "Un cop hagueu triat el programa de control, el DrakX us preguntar\n"
-#~ "si voleu establir-ne les opcions. Primer, per, deixeu que el\n"
-#~ "programa de control explori el maquinari: normalment funciona b.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si no, no oblideu la informaci sobre el vostre maquinari que\n"
-#~ "pugueu aconseguir a la documentaci o al Windows (si el teniu al\n"
-#~ "sistema), com aconsella la guia d'installaci. Aquestes sn les\n"
-#~ "opcions que haureu de proporcionar al programa de control."
-
-#~ msgid "Shutting down"
-#~ msgstr "S'est tancant l'ordinador"
-
-#~ msgid ""
-#~ "Some true type fonts from windows have been found on your computer.\n"
-#~ "Do you want to use them? Be sure you have the right to use them under "
-#~ "Linux."
-#~ msgstr ""
-#~ "S'han trobat alguns tipus de lletra \"true type\" del Windows a "
-#~ "l'ordinador.\n"
-#~ "Voleu utilitzar-les? Assegureu-vos que esteu autoritzat a utilitzar-les "
-#~ "sota Linux."
-
-#~ msgid "useless"
-#~ msgstr "intil"
-
-#~ msgid "garbage"
-#~ msgstr "escombraries"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "or 7.0 (Air)."
-#~ msgstr ""
-#~ "Escolliu \"Installa\" si no hi ha installada cap versi anterior de "
-#~ "Linux,\n"
-#~ "o si voleu utilitzar diverses distribucions o versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Escolliu \"Actualitzaci\" si voleu actualitzar una versi anterior de\n"
-#~ "Mandrake Linux: 5.1 (Venice), 5.2 (Leeloo), 5.3 (Festen) 6.0 (Venus),\n"
-#~ "6.1 (Helios), Gold 2000 o 7.0 (Air)."
-
-#~ msgid ""
-#~ "(a user ``mandrake'' with password ``mandrake'' has been automatically "
-#~ "added)"
-#~ msgstr ""
-#~ "(s'ha afegit automticament un usuari ``mandrake'' amb contrasenya "
-#~ "``mandrake'')"
-
-#~ msgid "Do you want to use LILO?"
-#~ msgstr "Voleu utilitzar el LILO?"
-
-#~ msgid ""
-#~ "You may now select the packages you wish to install.\n"
-#~ "\n"
-#~ "\n"
-#~ "First you can select group of package to install or upgrade. After that\n"
-#~ "you can select more packages according to the total size you wish to\n"
-#~ "select.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you are in expert mode, you can select packages individually.\n"
-#~ "Please note that some packages require the installation of others.\n"
-#~ "These are referred to as package dependencies. The packages you select,\n"
-#~ "and the packages they require will be automatically selected for\n"
-#~ "install. It is impossible to install a package without installing all\n"
-#~ "of its dependencies."
-#~ msgstr ""
-#~ "Ara podeu seleccionar els paquets que voleu installar.\n"
-#~ "\n"
-#~ "\n"
-#~ "En primer lloc, podeu seleccionar el grup del paquet a installar\n"
-#~ "o actualitzar. Desprs, podeu seleccionar ms paquets segons la\n"
-#~ "mida total que voleu seleccionar.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si treballeu amb el mode expert, podeu seleccionar els paquets\n"
-#~ "individualment.\n"
-#~ "Tingueu en compte, per, que alguns paquets necessiten que altres\n"
-#~ "tamb estiguin installats.\n"
-#~ "Aix s'anomena 'dependncia de paquets'. Els paquets que\n"
-#~ "seleccioneu, i els que aquests necessitin, es seleccionaran\n"
-#~ "automticament per a la installaci. No s possible installar un\n"
-#~ "paquet sense installar-ne tots els dependents."
-
-#~ msgid ""
-#~ "LILO (the LInux LOader) can boot Linux and other operating systems.\n"
-#~ "Normally they are correctly detected during installation. If you don't\n"
-#~ "see yours detected, you can add one or more now.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you don't want that everybody could access at one of them, you can "
-#~ "remove\n"
-#~ "it now (a boot disk will be needed to boot it)."
-#~ msgstr ""
-#~ "El LILO (el carregador de Linux) pot arrencar el Linux i altres sistemes\n"
-#~ "operatius, que normalment es detecten correctament durant la "
-#~ "installaci.\n"
-#~ "Si veieu que el vostre no s'ha detectat, ara podeu afegir-ne un o ms.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si no voleu que tothom pugui accedir a algun d'ells, podeu\n"
-#~ "eliminar-lo ara (caldr un disc d'arrencada per arrencar-lo)."
-
-#~ msgid ""
-#~ "Now that you've selected desired groups, please choose \n"
-#~ "how many packages you want, ranging from minimal to full \n"
-#~ "installation of each selected groups."
-#~ msgstr ""
-#~ "Ara que ja heu seleccionat els grups desitjats, seleccioneu \n"
-#~ "quants paquets voleu, ordenant-los des de la installaci mnima \n"
-#~ "fins a la installaci completa de cadascun dels grups seleccionats."
-
-#~ msgid ""
-#~ "You need %dMB for a full install of the groups you selected.\n"
-#~ "You can go on anyway, but be warned that you won't get all packages"
-#~ msgstr ""
-#~ "Us calen %dMB per a una instalaci completa dels grups que heu "
-#~ "seleccionat.\n"
-#~ "Podeu continuar igualment, per tingueu en compte que no tindreu tots els "
-#~ "paquets"
-
-#~ msgid "Choose other CD to install"
-#~ msgstr "Escolliu un altre CD per installar"
-
-#~ msgid ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed Linux before.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Customized: If you are familiar with Linux, you will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\"."
-#~ msgstr ""
-#~ "Seleccioneu:\n"
-#~ "\n"
-#~ " - Recomanada: Si mai no heu installat el Linux.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Personalitzada: Si esteu familiaritzat amb el Linux, podreu\n"
-#~ "triar l's del sistema installat entre Normal, Desenvolupament o\n"
-#~ "Servidor. Trieu \"Normal\" per a una installaci per a un s\n"
-#~ "general del vostre ordinador, \"Desenvolupament\" si utilitzareu\n"
-#~ "l'ordinador principalment per a desenvolupament de programari,\n"
-#~ "o \"Servidor\" si voleu installar un servidor convencional (per\n"
-#~ "a correu, impressions...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Per a experts: Si domineu el GNU/Linux i voleu realitzar una\n"
-#~ "installaci totalment personalitzada, aquest s el vostre\n"
-#~ "tipus d'installaci. Podreu seleccionar l's del vostre sistema\n"
-#~ "com a \"Personalitzada\"."
-
-#~ msgid "Downloading cryptographic packages"
-#~ msgstr "S'estan descarregant els paquets criptogrfics"
-
-#~ msgid "Setup SCSI"
-#~ msgstr "Configura el SCSI"
-
-#~ msgid "Installation CD Nr %s"
-#~ msgstr "CD d'installaci Nr %s"
-
-#~ msgid ""
-#~ "Update installation image!\n"
-#~ "\n"
-#~ "Ask your system administrator or reboot to update your installation image "
-#~ "to include\n"
-#~ "the Cd-Rom image labelled \"%s\". Press Ok if image has been updated or "
-#~ "press Cancel\n"
-#~ "to avoid installation from this Cd-Rom image."
-#~ msgstr ""
-#~ "Actualitzeu la imatge de la installaci!\n"
-#~ "\n"
-#~ "Consulteu a l'administrador del sistema o torneu a arrencar per "
-#~ "actualitzar\n"
-#~ "la imatge de la installaci per incloure la imatge en CD-ROM etiquetada "
-#~ "com\n"
-#~ "\"%s\". Premeu D'acord si la imatge s'ha actualitzat o premeu Cancella "
-#~ "per\n"
-#~ "no fer la installaci des d'aquesta imatge en Cd-ROM."
-
-#~ msgid "Which language do you want?"
-#~ msgstr "Quin idioma voleu?"
-
-#~ msgid "Hurt me plenty"
-#~ msgstr "Fes-me molt de mal"
-
-#~ msgid "Which packages do you want to install"
-#~ msgstr "Quins paquets voleu installar"
-
-#~ msgid "What usage do you want?"
-#~ msgstr "Quina utilitzaci voleu?"
-
-#~ msgid "Choose install or upgrade"
-#~ msgstr "Installaci o actualitzaci"
-
-#~ msgid "Enter a floppy (all data will be lost)"
-#~ msgstr ""
-#~ "Inseriu un disquet a la unitat\n"
-#~ "(Se'n perdran totes les dades)"
-
-#~ msgid "Going to install %d MB. You can choose to install more programs"
-#~ msgstr "Ara s'installaran %d MB. Podeu triar installar ms programes"
-
-#~ msgid "Too many packages chosen: %dMB doesn't fit in %dMB"
-#~ msgstr "S'han escollit massa paquets: %dMB no cap a %dMB"
-
-#~ msgid "Bad kickstart file %s (failed %s)"
-#~ msgstr "Fitxer d'inici rpid %s incorrecte (ha fallat %s)"
-
-#~ msgid "Size: %s MB"
-#~ msgstr "Mida: %s MB"
-
-#~ msgid "US Keyboard"
-#~ msgstr "Teclat EU"
-
-#~ msgid "resizing"
-#~ msgstr "s'est canviant la mida"
-
-#~ msgid "formatting"
-#~ msgstr "s'est formatant"
-
-#~ msgid "changing type of"
-#~ msgstr "s'est canviant el tipus de"
-
-#~ msgid "After %s partition %s,"
-#~ msgstr "Desprs de %s partici %s,"
-
-#~ msgid "linear"
-#~ msgstr "lineal"
-
-#~ msgid "Linear (needed for some SCSI drives)"
-#~ msgstr "Lineal (necessari per a algunes unitats SCSI)"
-
-#~ msgid "beginner"
-#~ msgstr "principiant"
-
-#~ msgid "developer"
-#~ msgstr "desenvolupador"
-
-#~ msgid "expert"
-#~ msgstr "expert"
-
-#~ msgid "Password:"
-#~ msgstr "Contrasenya:"
-
-#~ msgid "User name:"
-#~ msgstr "Nom d'usuari:"
-
-#~ msgid ""
-#~ "Failed to create an HTP boot floppy.\n"
-#~ "You may have to restart installation and give ``%s'' at the prompt"
-#~ msgstr ""
-#~ "No s'ha pogut crear un disquet d'arrencada HTP.\n"
-#~ "Potser us caldr reiniciar la installaci i introduir \"%s\" a "
-#~ "l'indicador"
-
-#~ msgid "It is necessary to restart installation with the new parameters"
-#~ msgstr "Cal reiniciar la installaci amb els nous parmetres"
-
-#~ msgid "It is necessary to restart installation booting on the floppy"
-#~ msgstr "Cal reiniciar la installaci arrencant des del disquet"
-
-#~ msgid ""
-#~ "Enter a floppy to create an HTP enabled boot\n"
-#~ "(all data on floppy will be lost)"
-#~ msgstr ""
-#~ "Introduu un disquet per una arrencada habilitada per a HTP\n"
-#~ "(es perdran totes les dades del disquet)"
-
-#~ msgid ""
-#~ "Linux does not yet fully support ultra dma 66.\n"
-#~ "As a work-around i can make a custom floppy giving access the hard drive "
-#~ "on ide2 and ide3"
-#~ msgstr ""
-#~ "El Linux encara no suporta completament l'ultra dma 66.\n"
-#~ "Com a alternativa, puc fer un disquet personalitzat que doni accs a tot "
-#~ "el disc dur a ide2 i ide3"
-
-#~ msgid "A entry %s already exists"
-#~ msgstr "Ja existeix una entrada %s"
-
-#~ msgid "Installation CD Nr 1"
-#~ msgstr "CD d'installaci Nr 1"
-
-#~ msgid "Local LAN"
-#~ msgstr "LAN local"
diff --git a/perl-install/share/po/cs.po b/perl-install/share/po/cs.po
deleted file mode 100644
index d6d29d2f0..000000000
--- a/perl-install/share/po/cs.po
+++ /dev/null
@@ -1,8222 +0,0 @@
-# Czech messages for DrakX.
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Copyright (C) 1999 MandrakeSoft
-# Vladimr Marek <vlmarek@volny.cz>, 2000
-# Radek Vybiral <Radek.Vybiral@vsb.cz>, 2000
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2001-04-19 11:08GMT+02:00\n"
-"Last-Translator: Radek Vybiral <Radek.Vybiral@vsb.cz>\n"
-"Language-Team: Czech <cs@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.8\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Konfigurovat monitor nezvisle"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Pout rozen Xinerama"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Konfigurovat pouze kartu \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Konfigurace dvou monitor"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"V systm podporuje zobrazen na dvou monitorech.\n"
-"Co chcete dlat?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Grafick karta"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Zvolte typ va grafick kary"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Zvolte X server"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X server"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Kter XFree byste chtli pout?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Vae karta podporuje 3D akceleraci, ale pouze s XFree %s.\n"
-"Pokud pouijete XFree %s, mete na druhou stranu doshnout lepch vsledk "
-"ve 2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "S XFree %s me vae karta vyut 3D hardwarov akcelerace."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s s hardwarovou 3D akcelerac"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"S XFree %s me vae karta vyut 3D hardwarov akcelerace.ALE TOTO JE POUZE "
-"EXPERIMENTLN VERZE, A MٮE VST K NESTABILIT SYSTMU."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s s EXPERIMENTLN 3D hardwarovou akcelerac"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Vae karta podporuje 3D akceleraci, ale pouze s XFree %s,\n"
-"ALE TOTO JE POUZE EXPERIMENTLN VERZE, A MٮE VST K NESTABILIT SYSTMU.\n"
-"Vae karta je podporovna i v XFree %s, kde me mt lep podporu pro 2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "Nastaven XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Kolik pamti je na va grafick kart ?"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Zvolte monosti pro dan X server"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Zvolte typ svho monitoru"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Dva rozhodujc parametry jsou: vertikln synchronizan frekvence, co je "
-"frekvence\n"
-"kterou je obnovovna cel obrazovka, a frekvence dkov synchronizace\n"
-"(horiz. sync. rate), co je frekvence jakou jsou zobrazovny jednotliv "
-"mikrodky (scanline).\n"
-"\n"
-"Je VELMI DLEIT abyste nezvolili typ monitoru se schopnostmi vymi ne "
-"m\n"
-"v monitor, protoe byste si ho tm mohli pokodit. Jestlie si nejste "
-"jist\n"
-"zvolte radji typ s nimi schopnostmi."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Horizontln(dkov) synchronizace"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Vertikln(obrazovkov) synchronizace"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Monitor nen nastaven"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Grafick karta jet nen nastavena"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Jet nejsou zvolena rozlien"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Chcete si vyzkouet nastaven?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Varovn: na tto grafick kart je testovn nebezpen"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Vyzkouet nastaven"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"zkuste zmnit nkter parametry"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Vyskytla se tato chyba:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Test skon automaticky za %d sekund"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Je to sprvn nastaven?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Vyskytla se chyba, zkuste zmnit nkter parametry"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Rozlien"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Vyberte si rozlien a barevnou hloubku"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Grafick karta: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 server: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Expertn reim"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Ukzat ve"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Rozlien"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Rozloen klvesnice: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Typ myi: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Ppojen myi: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Horizontln frekvence monitoru: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Vertikln frekvence monitoru: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Grafick karta: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Pam na gr. kart: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Barevn hloubka: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Rozlien: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 server: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 ovlada: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Pipravuji nastaven X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Co chcete dlat?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Zmnit monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Zmnit grafickou kartu"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Zmnit parametry X Serveru"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Zmnit rozlien"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Zobrazit informace"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Znovu vyzkouet nastaven X"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Konec"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Zachovat zmny?\n"
-"Aktuln konfigurace je:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Pro aktivaci zmn se prosm znovu pihlaste na %s"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Prosm odhlaste se a pak stisknte Ctrl-Alt-Backspace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "Spout se X"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Mu nastavit v pota tak, aby automaticky spustil X pi startu.\n"
-"Chcete aby pota po zapnut spustil grafick reim?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 barev (8 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 tisc barev (15 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 tisc barev (16 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 milin barev (24 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 miliardy barev (32 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB nebo vce"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Klasick VGA, 640x480 pi 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 pi 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "Kompatibiln s 8514, 1024x768 pi 87 Hz prokldan (ne 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 pi 87 Hz prokldan, 800x600 pi 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Lep Super VGA, 800x600 pi 60 Hz, 640x480 pi 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Neprokldan SVGA, 1024x768 pi 60 Hz, 800x600 pi 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Vysokofrekvenn SVGA, 1027x768 pi 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multifrekvenn kter um 1280x1024 pi 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multifrekvenn kter um 1280x1024 pi 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multifrekvenn kter um 1280x1024 pi 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor kter um 1600x1200 pi 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor kter um 1600x1200 pi 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Prvn sektor zavdcho diskovho oddlu"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Prvn sektor disku (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "Instalace SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Kam chcete nainstalovat zavdc program?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Instalace LILO/Grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO s textovou nabdkou"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO s grafickou nabdkou"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Sputn s DOS/Windows (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Zkladn nastaven zavdcho programu"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Zavdc program"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Instalace zavdcho programu"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Startovac zazen"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (nefunguje se starm BIOSem)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Kompaktn"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "kompaktn"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Textov reim"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Prodleva ped automatickm sputnm"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Heslo"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Heslo (podruh)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Omezen nastaven z pkazov dky"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "omezen"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Vyistit /tmp pi kadm startu"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Pokud teba, upesnte velikost RAM (nalezeno %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Povolit vce profil"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Zadejte velikost pamti v MB"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Volba ``Omezen nastaven z pkazov dky'' je bezpedmtn bez hesla"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Zkuste to znovu, prosm"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Hesla nejsou shodn"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "vodn zprva"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Prodleva pro firmware"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Prodleva pi sputn"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Povolit sputn z CD?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Povolit zavad OF?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Vychoz OS?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Tady jsou vechny zznamy.\n"
-"Mete pidat dal nebo zmnit stvajc."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Pidat"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Hotovo"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Zmnit"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Jak typ zznamu chcete pidat?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Jin systm (SunOs...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Jin systm (MacOs...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Jin systm (Windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Obraz(image)"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Koenov(root)"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Pipojit"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Pro ten i zpis"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tabulka"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Nejist"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Znaka"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Vchoz"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd-velikost"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "BezVidea"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Odstranit zznam"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Przdn znaka nen povolena"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Tato znaka se ji pouv"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Jak typ diskovho oddlu?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Nael jsem %s %s rozhran"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Mte jet njak jin?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Mte njak %s rozhran?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Ne"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Ano"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Ukzat informace o hardware"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Instaluji ovlada pro %s kartu %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(modul %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Kter %s ovlada mm zkusit?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"V nkterch ppadech potebuje ovlada %s pro svoji sprvnou funkci dal\n"
-"informace, pestoe normln funguje i bez nich. Chtli byste zadat\n"
-"njak doplujc monosti, nebo radji nechte ovlada samostatn "
-"prozkoumat\n"
-"hardware vaeho potae, aby zskal informace kter potebuje? Zkoumn\n"
-"hardware me ve vyjmench ppadech zpsobit zamrznut potae, ale "
-"nemlo\n"
-"by v dnm ppad zpsobit jin kody."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Automatick prozkoumn"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Zadejte monosti"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Nyn mete poskytnout modulu %s dal parametry."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Nyn mete poskytnout modulu %s dal parametry.\n"
-"Volby se zadvaj ve tvaru ``jmno=hodnota jmno2=hodnota2 ...''.\n"
-"Napklad, ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Volby modulu:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Sputn modulu %s selhalo.\n"
-"Chcete to zkusit s jinmi parametry?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(u byl pidn %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Toto heslo je pli jednoduch"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Prosm zadejte uivatelsk jmno"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "Uivatelsk jmno me obsahovat pouze mal psmena, sla, `-' a `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Toto uivatelsk jmno u bylo pidno"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Pidat uivatele"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Zadejte uivatele\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Vytvoit uivatele"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Skuten jmno"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Uivatelsk jmno"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Ikona"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Autologin"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Mu nastavit v pota tak, aby se automaticky pihlaoval jako\n"
-"uivatel. Pokud nechcete pout tuto monost, kliknte na tlatko Zruit."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Zvolte standardnho uivatele :"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Vyberte si, kter sprvce oken m bt spoutn:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Vita Vas %s, program pro start operacniho systemu!\n"
-"\n"
-"Vyberte si ze seznamu operacnich systemu nize nebo\n"
-"pockejte %d vterin pro automaticky start.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Vita Vas GRUB, program pro vyber operacniho systemu"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Pro vyber polozek pouzijte klavesy %c a %c."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Stisknete ENTER pro start vybranho OS, 'e' pro upravu"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "spoustecich parametru, nebo 'c' pro prikazovou radku."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Vybrana polozka bude automaticky spustena za %d sekund."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "nen dost msta v adresi /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Desktop"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Nabdka Start"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "npovda zatm nedostupn.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Nastaven stylu zavdn"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "_Soubor"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Soubor/_Nov"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Soubor/_Otevt"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Soubor/_Uloit"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>U"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Soubor/Uloit _jako"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Soubor/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Soubor/_Konec"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>K"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Volby"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Volby/Test"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Npovda"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Npovda/O _aplikaci"
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Konfigurovat"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Jako sprvce spoutn nyn pouvte %s.\n"
-"Pokud chcete spustit prvodce nastavenm, kliknte na Konfigurovat."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Reim Lilo/Grub"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Novj zatdn monitor "
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Novj monitor"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Tradin monitor"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Tradin Gtk+ monitor"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Spustit Auroru pi startu"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Startovac reim"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Spustit X-Window pi startu"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Ne, nechci automatick pihlen"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Ano, chci automatick pihlen s tmto (uivatelem, desktopem)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Systmov reim"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Vchoz"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Zruit"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "nelze otevt /etc/inittab pro ten: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "nelze otevt /etc/sysconfig/autologin pro ten: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Instalace LILO neuspla. Stala se tato chyba:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Vytvoit"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Odpojit"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Smazat"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formtovat"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Zmnit velikost"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Zmnit typ"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Ppojn bod"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Zapsat /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Pepnout se do mdu 'expert'"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Pepnout se do mdu 'normln'"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Obnovit ze souboru"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Uloit do souboru"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Prvodce"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Obnovit z diskety"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Uloit na disketu"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Ve smazat"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Naformtovat vechny"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Automaticky rozmstit"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Vechny primrn oddly (partitions) jsou pouvny"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Nemu pidat dn dal oddl"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Abyste mohli mt vce oddl, muste smazat jeden existujc a na jeho "
-"mst\n"
-"vytvoit rozen(extended) oddl"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Nen dostatek msta pro automatick rozdlen disku"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Zpt"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Zapsat tabulku oddl"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Vce"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOs"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Odkldac (swap)"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Przdn"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Jin"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Souborov systmy:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detaily"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Mte jeden velik oddl FAT\n"
-"(vtinou pouvan Microsoft Dos/Windows).\n"
-"Doporuuji vm nejprve zmenit tento oddl\n"
-"(klepnte na nj a potom na\n"
-"\"Zmnit velikost\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Zlohujte si nejdv sv data, prosm"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "tte pozorn!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Jestlie chcete pouvat aboot, muste nechat voln msto na zatku disku\n"
-"(2048 sektor sta)"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Bute opatrn: tato akce je nebezpen."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Chyba"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Adres pipojen (mount point): "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Zazen: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Psmeno v DOSu: %s (jenom odhad)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Typ: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Jmno: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Zatek: sektor %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Velikost: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektor"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Od cylindru %d do cylindru %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Naformtovan\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Nenaformtovan\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Pipojen\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback soubor(y): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Standardn startovac oddl\n"
-" (Pro MS-DOS, ne pro LILO)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "rove %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Velikost bloku(chunk) %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID disky %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Loopback soubor: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Tento oddl je oddl\n"
-"s ovladai, je lep\n"
-"no nechat neporuen.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Tento speciln Boostrap\n"
-"oddl je pro sputn\n"
-"dalho systmu.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Prosm klepnte na oddl"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Velikost: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometrie: %s cylindr, %s hlav, %s sektor\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM disky %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Typ tabulky oddl: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "na sbrnici %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Pipojit"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktivn"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Pidat do RAIDu"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Odebrat z RAIDu"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Zmnit RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Pidat do LVMu"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Odebrat z LVMu"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Pouit loopbacku"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Co udlte ?"
-
-# msgstr "Vyberte si innost"
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Promite, nemu povolit vytvoit /boot tak daleko na disku (na cylindru > "
-"1024).\n"
-"Buto pouijete LILO a nebude to fungovat, nebo nepouijete LILO a tedy "
-"nepotebujete /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Oddl kter jste zvolili jako koenov (root - /) je na disku fyzicky za "
-"cylindrem 1024,\n"
-"a pitom nemte /boot oddl. Jestlie chcete pout sprvce bootu (boot "
-"manager),\n"
-"pidejte jet /boot oddl"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Zvolili jste softwarovou RAID partition jako koenov oddl (/).\n"
-"S tm se nen schopn vypodat dn zavdc program bez pouit oddlu\n"
-"/boot. Ujistte se prosm, e tento oddl mte."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Msto toho pouijte ``%s''"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Nejprve pouijte ``Odpojit''"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr "Tm e zmnte typ oddlu %s pijdete o vechna jeho data"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Pesto chcete pokraovat?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Konec bez uloen"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Chcete skonit bez zapsn do tabulky oddl?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Zmnit typ oddlu"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Kter souborov systm chcete pout?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Nemete pout ReiserFS pro oddl men ne 32MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Kam chcete pipojit loopback %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Kam chcete pipojit zazen %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Nemu smazat ppojn bod, protoe tento oddl je pouvn pro loopback.\n"
-"Odstrate nejprve loopback"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "Kdy naformtujete oddl %s, ztratte tm vechna jeho data"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formtuji"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formtuji soubor loopbacku %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formtuji oddl %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Po naformtovn vech oddl,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "na nich budou vechna data ztracena"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Pesunout"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Na kter disk chcete oddl pesunout?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Na kter sektor chcete oddl pesunout?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Pesouvm"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Pesouvm oddl..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Nov tabulka oddl na disku %s bude zapsna!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Aby se zmny uplatnily budete muset restartovat pota"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Potm hranice souborovho systmu fat"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Mnm velikost"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Na tomto diskovm oddlu nelze mnit velikost"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Vechna data z tohoto oddlu by mla bt zlohovna"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "Kdy zmnte velikost oddlu %s, ztratte tm vechna jeho data"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Zvolte novou velikost"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Vytvoit nov oddl"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Poten sektor: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Velikost v MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Souborov systm: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Nastaven: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Tento oddl neme bt pouit pro loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Nzev souboru loopbacku:"
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Soubor u je pouvn jinm loopbackem, zvolte si jin"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Soubor u existuje. Mm ho pout?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Zvolit soubor"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Zlon tabulka oddl nem stejnou velikost\n"
-"Chcete pesto chcete pokraovat?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Varovn"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Vlote disketu do mechaniky\n"
-"Vechna data na tto disket budou smazna"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Pokoum se obnovit tabulku oddl"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "zazen"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "rove"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "Velikost bloku(chunk)"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Zvolte existujc RAID pro pidn"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "nov"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Zvolte existujc LVM pro pidn"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "Jmno pro LVM?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Automatick pipojovn vyjmatelnch mdi"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Zachrnit tabulku oddl"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Obnovit"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formtovn %s skonilo chybou"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "nevm jak naformtovat %s na typ %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "chyba pipojovn: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "chyba odpojovn %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "jednoduch"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "server"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Ppojn body (mount points) mus zanat '/'"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Oddl s ppojnm bodem %s u existuje\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Propleten ppojn body %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "Nelze pout LVM Logickho disku na pipojen bod %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Tento adres mus krom koenovho souborovho systmu zstat"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Pro tento ppojn bod potebujete opravdov souborov systm (Ext2, "
-"ReiserFS)\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Chyba pi otevrn %s pro zpis: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Stala se chyba - nebylo nalezeno dn zazen na kterm by se daly "
-"vytvoit nov souborov systmy. Zkontrolujte prosm hardware"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Nemte dn oddly!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Zvolte si jazyk pro instalaci a pouvn systmu."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Pro pokraovn v instalaci je nutn odsouhlasit licenci.\n"
-"\n"
-"\n"
-"Kliknte na \"Potvrdit\", pokud s n souhlaste.\n"
-"\n"
-"\n"
-"Kliknte na \"Odmtnout\", pokud s n nesouhlaste. Instalace skon bez\n"
-"jakhokoliv zsahu do aktulnho nastaven."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Zvolte si odpovdajc rozloen klvesnice"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Pokud plnujete po instalaci pouvat jin jazyky (krom toho, kter jste\n"
-"si vybrali pi instalaci), vyberte jej z nsledujcho seznamu.\n"
-"Lze tak vybrat vechny jazyky volbou \"Vechny\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Vyberte si volbu \"Instalovat\" pokud nemte instalovnu dnou pedchoz\n"
-"verzi systmu Linux-Mandrake nebo chcete pouvat vce operanch systm.\n"
-"\n"
-"\n"
-"Zvolte \"Aktualizovat\" pokud chcete aktualizovat pedchoz verzi distribuce "
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"V zvislosti na vaich znalostech GNU/Linuxu si mete vybrat z "
-"nsledujcch\n"
-"rovn instalace nebo aktualizace operanho systmu Linux-Mandrake:\n"
-"\n"
-"\n"
-"\t* Doporuen: volte pokud jste jet nikdy neinstalovali GNU/Linux. "
-"Instalace bude velmi jednoduch a budete dotzni pouze na nkolik otzek.\n"
-"\n"
-"\n"
-"\t* Vlastn: jestlie znte Linux, mete si vybrat typick pouit "
-"nainstalovanho systmu (pracovn stanice, server, pota pro vvoj).\n"
-"\t Budete dotzni na vce otzek ne pi Doporuen metod, take "
-"potebujete vdt o Linuxu daleko vce.\n"
-"\n"
-"\n"
-"\t* Expertn: jestlie jste dobe obeznmeni s GNU/Linuxem a chcete provst\n"
-"precizn nastaven instalace, je prv pro vs tato volba. Budete si moci\n"
-"vybrat typick pouit vaeho systmu stejn jako v ppad \"Vlastn\" "
-"instalace.\n"
-"\t Odpovdi na otzky budou velmi tk pro ty, kte nemaj velmi dobr "
-"znalosti GNU/Linuxu.\n"
-"\t Nevolte tuto volbu, pokud pesn nevte, co dlte."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Vyberte si:\n"
-"\n"
-" - Vlastn: Jestlie znte Linux, budete si moct vybrat typick pouit\n"
-"nainstalovanho systmu mezi Normlnm (Normal), Vvojov (Development) \n"
-"nebo Server. Zvolte \"Normln\" pro veobecn pouit vaeho potae.\n"
-"Jestlie budete pota pevn pouvat pro vvoj software zvolte\n"
-"\"Vvojov\", nebo zvolte \"Server\" jestlie si pejete nainstalovat\n"
-"obecn server (pro potu, tisk...).\n"
-"\n"
-"\n"
-" - Expert: Jestlie jste dobe obeznmeni s GNU/Linuxem a chcete provst\n"
-"precizn nastaven instalace, je prv pro Vs tato volba. Budete si moci\n"
-"vybrat typick pouit vaeho systmu stejn jako v ppad \"Vlastn\"\n"
-"instalace."
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Nyn muste urit styl pouit potae. Volby jsou nsledujc:\n"
-"\n"
-"\t* Pracovn stanice: nejlep volba, pokud s potaem pracujete kad den "
-"jak v prci\n"
-"\t tak i doma.\n"
-"\n"
-"\n"
-"\t* Vvojov: pokud plnujete pouvat pota primrn pro vvoj "
-"softwaru,\n"
-"\t je tato volba ideln. Budete mt k dispozici kolekci softwaru pro "
-"kompilaci\n"
-"\t zdrojovho kdu, ladn a vytven softwarovch balk.\n"
-"\n"
-"\n"
-"\t* Server: pota bude pouvn obecn jako server. Bu jako souborov\n"
-"\t (NFS, SMB) nebo jako tiskov (pro Unix nebo Windows)\n"
-"\t nebo jako ovovac (NIS), i databzov, atd. Neoekvejte\n"
-"\t dn KDE nebo GNOME."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX se nejdve pokus najt PCI SCSI adaptry. Pokud njak najde,\n"
-"a bude vdt, kter ovlada pro n pout, automaticky ho pouije.\n"
-"\n"
-"\n"
-"Pokud je v SCSI adaptr na ISA sbrnici nebo je na sbrnici PCI ale DrakX\n"
-"nev, kter ovlada pro nj pout, a nebo nemte dn SCSI adaptr, "
-"budete\n"
-"dotzni, zda vbec mte njak SCSI adaptr. Jestlie dn nemte,\n"
-"odpovzte \"Ne\". V opanm ppad se objev seznam ovlada, ze kterho\n"
-"si budete moci vybrat.\n"
-"\n"
-"\n"
-"Pokud si vybrerete ovlada, DrakX se zept, zda pro nj\n"
-"chcete zadat njak informace. Nechat ovlada samostatn prozkoumat "
-"hardware\n"
-"vtinou funguje dobe, proto to zkuste jako prvn vc.\n"
-"\n"
-"\n"
-"Pokud to nebude fungovat, budete muset zadat dal informace pro ovlada.\n"
-"Pro dal npovdu se podvejte do instalan pruky, kde je popsno,\n"
-"jak zskat tyto informace z Windows (pokud je mte na potai), z\n"
-"dokumentace k hardware, nebo z internetov strnky vrobce (pokud mte\n"
-"pstup k internetu."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"V tomto bod si muste definovat, na kter diskov oddly budete\n"
-"instalovat nov operan systm Linux-Mandrake. Pokud je disk przdn\n"
-"nebo existujc operan systm pouv cel disk, je nutn ho rozdlit.\n"
-"Rozdlen disku spov ve vytvoen volnho prostoru pro instalaci\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"Protoe rozdllen disku je nenvratn operace, je to velmi nebezpen\n"
-"akce pro ty uivatele, kte nemaj dn zkuenosti.\n"
-"Pro tyto uivatele je dobr prvodce, kter zjednodu dan proces.\n"
-"Jet ped zapoetm rozdlovn disku si protte manul.\n"
-"\n"
-"\n"
-"Potebujete vytvoit nejmn dva diskov oddly. Jeden je pro vlastn "
-"operan systm a druh oddl slou jako vituln pam, tzv. Swap.\n"
-"\n"
-"\n"
-"Pokud mte ji vytvoeny diskov oddly z pedchozch instalac nebo\n"
-"od jinch diskovch nstroj, lze je nyn pout pro instalaci.\n"
-"\n"
-"\n"
-"Pokud nejsou definovny dn diskov oddly, je nutn je vytvoit.\n"
-"K tomu slou prvodce, kter provede nkolik een:\n"
-"\n"
-"\t* Pout existujc oddly: prvodce detekoval jeden nebo vce "
-"existujcch Linuxovch oddl a pouij se pro instalaci.\n"
-"\n"
-"\n"
-"\t* Zruit cel disk: pokud chcete smazat veker data a vechny oddly na "
-"disku a pout je pro instalaci systmu Linux-Mandrake,\n"
-"\t vyberte toto een. Zde postupujte opatrn, po vbru ji nen mon "
-"vzt volbu zpt.\n"
-"\n"
-"\t* Pout voln msto na oddle s Windows: pokud mte na disku "
-"nainstalovny Microsoft Windows a zabraj cel disk, je mon\n"
-"\t tento prostor zmnit a pout ho pro instalaci.\n"
-"\t Zmna velikost oddlu je provedena bez ztrty dat. Toto je doporuen "
-"postup, pokud chcete na disku provozovat jak systm\n"
-"Linux-Mnadrake tak i Microsoft Windows.\n"
-"\n"
-"\n"
-"\t Ped touto volbou si uvdomte, e velikost oddlu s Microsoft Windows "
-"bude men ne je nyn. To znamen, e budete mt mn\n"
-"\t msta pro instalaci program do Microsoft Windows.\n"
-"\n"
-"\t* Expertn reim: rozdlen disku mete provst manuln.\n"
-"\t Ped touto volbou bute opatrn, je sice mocn ale nebezpen.\n"
-"\t Nedoporuuje se tm, kte pesn nevd, co dlaj."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"V tomto bod si muste definovat, na kter diskov oddly budete\n"
-"instalovat nov operan systm Linux-Mandrake. Pokud ji mte diskov\n"
-"oddly definovny (nap. z dvj instalace GNU/Linuxu nebo jinm\n"
-"diskovm nstrojem), mete je bez obav pout. V jinch ppadech\n"
-"mus bt diskov oddly na disku vytvoeny.\n"
-"\n"
-"\n"
-"Pro vytvoen diskovch oddl muste nejdve vybrat pevn disk. Prvn\n"
-"IDE disk lze vybrat klinutm na \"hda\", druh IDE disk \"hdb\",\n"
-"pro prvn SCSI disk zvolte \"sda\" atd.\n"
-"\n"
-"\n"
-"Rozdlit disk na oddly lze nkolika zpsoby:\n"
-"\n"
-" * Smazat ve: tato volba smae vechna pedchoz rozdlen na vybranm\n"
-" disku.\n"
-"\n"
-"\n"
-" * Automaticky rozmstit: tato volba doke automaticky rozmstit soubor "
-"systm\n"
-" ext2 a odkldac oddl na volnm mst na disku.\n"
-"\n"
-"\n"
-" * Obnovit: pokud mte pokozenou tabulku rozdlen disku, mete zkusit "
-"jej obnovu touto volbou. Bute opatrn a mjte na pamti, e tato volba "
-"me selhat.\n"
-"\n"
-"\n"
-" * Zpt: touto volbou vrtte zpt vechny proveden zmny.\n"
-"\n"
-"\n"
-" * Prvodce: pokud chcete pout pi rozdlovn disku prvodce, zvolte\n"
-" tuto monost. Je to doporuen volba, pokud nemte dn zkuenosti s "
-"rozdlovnm disku.\n"
-"\n"
-"\n"
-" * Obnovit z diskety: pokud jste si uloili obsah tabulky rozdlen "
-"disku na disku pi pedchoz instalaci, lze ji nyn obnovit.\n"
-"\n"
-"\n"
-" * Uloit na disketu: pro obnovu tabulky rozdlen disku mte monost si "
-"obsah tabulky uloit na disketu. Je doporueno vyut tto volby.\n"
-"\n"
-"\n"
-" * Hotovo: pi ukonen vech zmn v rozdlen disku pouijte tuto "
-"volbu pro uloen vech zmn.\n"
-"\n"
-"\n"
-"Pro informaci: do vech nabdek se lze dostat pouitm klves Tab a "
-"kurzorovch ipek Nahoru/Dol.\n"
-"\n"
-"\n"
-"Pokud je vybrn diskov oddl, lze pout:\n"
-"\n"
-" * Ctrl-c pro vytvoen novho diskov oddlu (pokud existuje przdn "
-"msto na disku)\n"
-"\n"
-" * Ctrl-d pro zruen oddlu\n"
-"\n"
-" * Ctrl-m pro zadn ppojnho bodu\n"
-"\n"
-"Pokud instalujete na PowerPC, budete muset vytvoit mal HFS 'bootstrap' "
-"oddl o velikosti minimln 1MB, protoe ho pouv zavad yaboot.\n"
-"Pokud tento oddl vytvote vt, eknme o velikosti 50MB, bude to vhodn "
-"msto pro uloen obrazu jdra na disk pi zchrannch situacch."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Ne je seznam existujcch diskovch oddl tak, jak byl detekovn.\n"
-"Zmny proveden prvodcem lze v obvyklch ppadech takto nechat.\n"
-"Pokud chcete pesto provst zmny, muste zachovat nejmn koenov\n"
-"oddl (\"/\"). Nezmenujte pli velikost diskovch oddl, protoe\n"
-"potom nebudete moci nainstalovat vechen potebn software.\n"
-"Pokud chcete mt sv data na oddlenm diskovm oddlu, vyberte tak\n"
-"\"/home\" (pstupn pouze pokud mte vce ne jeden Linuxov oddl).\n"
-"\n"
-"\n"
-"Pro informaci: kad diskov oddl v seznamu m \"Jmno\" a \"Velikost\".\n"
-"\n"
-"\n"
-"\"Jmno\" je sloeno nsledovn: \"typ pevnho disku\", \"slo disku\",\n"
-"\"slo diskovho oddlu\" (nap. \"hda1\")\n"
-"\n"
-"\n"
-"\"Typ pevnho disku\" je \"hd\" pro IDE zazen a \"sd\" pro SCSI disk.\n"
-"\n"
-"\n"
-"\"slo disku\" je psmeno za \"hd\" nebo \"sd\". Pro IDE disky plat:\n"
-"\n"
-" * \"a\" znamen \"master disk na primrnm IDE adii\",\n"
-"\n"
-" * \"b\" znamen \"slave disk na primrnm IDE adii\",\n"
-"\n"
-" * \"c\" znamen \"master disk na sekundrnm IDE adii\",\n"
-"\n"
-" * \"d\" znamen \"slave disk na sekundrnm IDE adii\".\n"
-"\n"
-"\n"
-"Pro SCSI disky \"a\" znamen primrn pevn disk, \"b\" znamen sekundrn\n"
-"pevn disk, atd."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Vyberte si disk a diskov oddl pro novou instalaci systmu Linux-Mandrake.\n"
-"Mjte na pamti, e vechna souasn data na disku budou ztracena\n"
-"a nelze je obnovit."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Kliknte na \"OK\", pokud chcete zruit vechna souasn data a diskov "
-"oddly\n"
-"na disku. Bute opatrn, po kliknut na \"OK\" ji nelze obnovit dn "
-"data,\n"
-"kter zde byla ped instalac, vetn dat z Windows.\n"
-"\n"
-"\n"
-"Kliknutm na \"Zruit\" zrute operaci bez ztrty dat a bez zmny tabulky\n"
-"rozdlen disku."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Byl detekovn vce ne jeden oddl s Microsoft Windows. Vyberte si prosm\n"
-"jeden z nich, ktermu zmnte velikost a bude se na nj instalovat\n"
-"operan systm Linux-Mandrake.\n"
-"\n"
-"\n"
-"Pro informaci: kad diskov oddl m \"Jmno\", \"Windows jmno\"\n"
-"a \"Velikost\".\n"
-"\n"
-"\n"
-"\"Jmno\" je sloeno nsledovn: \"typ pevnho disku\", \"slo disku\",\n"
-"\"slo diskovho oddlu\" (nap. \"hda1\")\n"
-"\n"
-"\n"
-"\"Typ pevnho disku\" je \"hd\" pro IDE zazen a \"sd\" pro SCSI disk.\n"
-"\n"
-"\n"
-"\"slo disku\" je psmeno za \"hd\" nebo \"sd\". Pro IDE disky plat:\n"
-"\n"
-" * \"a\" znamen \"master disk na primrnm IDE adii\",\n"
-"\n"
-" * \"b\" znamen \"slave disk na primrnm IDE adii\",\n"
-"\n"
-" * \"c\" znamen \"master disk na sekundrnm IDE adii\",\n"
-"\n"
-" * \"d\" znamen \"slave disk na sekundrnm IDE adii\".\n"
-"\n"
-"\n"
-"Pro SCSI disky \"a\" znamen primrn pevn disk, \"b\" znamen sekundrn\n"
-"pevn disk, atd.\n"
-"\n"
-"\n"
-"\"Windows jmno\" jsou psmena ponaje psmenem \"C:\"."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Bute trpliv. Tato operace me trvat nkolik minut."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Kad nov vytvoen diskov oddl mus bt ped pouitm zformtovn\n"
-"(formtovnm se mysl vytvoen souborovho systmu).\n"
-"\n"
-"\n"
-"Nyn lze formtovat ji existujc diskov oddly pro vymazn\n"
-"vech dat, kter obsahuj. Pokud to chcete provst, vyberte diskov oddly\n"
-"pro peformtovn.\n"
-"\n"
-"\n"
-"Nen ale nutn peformtovat vechny ji existujc diskov oddly.\n"
-"Je nutn peformtovat oddly, kter obsahuj operan systm (jako je \"/"
-"\",\n"
-"\"/usr\" nebo \"/var\") ale nen nutn peformtovat oddly, kter obsahuj\n"
-"data, kter chcete zachovat (typicky /home).\n"
-"\n"
-"\n"
-"Pi vbru diskovch oddl, kter se budou formtovat bute opatrn, "
-"vechna\n"
-"data na formtovanch oddlech budou ztracena a nelze je ji obnovit\n"
-"\n"
-"\n"
-"Pokud je ve pipraveno pro formtovn, kliknte na \"OK\".\n"
-"\n"
-"\n"
-"Kliknte na \"Zruit\" pokud chcete vybrat jin oddly pro instalaci\n"
-"systmu Linux-Mandrake."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Nyn si mete vybrat skupiny balk pro instalaci nebo obnoven.\n"
-"\n"
-"DrakX potom otestuje, zda mte dostatek prostoru pro instalaci vech\n"
-"zvolench balk. Varuje vs, pokud dostatek prostoru nemte. Ale i pesto\n"
-"mete pokraovat s tm, e DrakX nenainstaluje nkter balky s ni\n"
-"prioritou. Na konci seznamu si mete zvolit \"Vbr jednotlivch balk"
-"\",\n"
-"co znamen, e budete prochzet vce jak 1000 program..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Nyn si lze vybrat individuln balky, kter chcete instalovat.\n"
-"\n"
-"\n"
-"Stromov seznam balk lze rozbalit a sbalit kliknutm na lev horn\n"
-"roh okna s nabdkou balk.\n"
-"\n"
-"\n"
-"Pokud dvte pednost seazenm podle abecedy, kliknte na ikonu\n"
-"\"adit podle abecedy\".\n"
-"\n"
-"\n"
-"Jestlie nechcete bt nsledn pi vbru balku varovni zvislostmi,\n"
-"kliknte na \"Automatick zvislosti\". Tato volba zpsob, e pi vbru\n"
-"i zruen vbru balku se vbre i zru vbr vech zvislch\n"
-"balk."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Pokud mte vechna CD vypsan ve, klepnte na Ok.\n"
-"Pokud nemte dn z nich, klepnte na Zruit.\n"
-"Pokud vm chyb pouze nkter z nich, odoznate je, a zvolte Ok."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Nyn zane nov instalace operanho systmu Linux-Mandrake.\n"
-"Tato operace me trvat nkolik destek minut (zle na mnostv\n"
-"balk, kter jste si vybrali pro instalaci a rychlosti vaeho potae).\n"
-"\n"
-"\n"
-"Mjte prosm trplivost a vykejte."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Nyn mete otestovat svoji my. Pouijte tlatka i koleko pro oven,\n"
-"e je ve dobe nastaveno. Pokud ne, kliknte na \"Zruit\" a vyberte si "
-"jin\n"
-"ovlada."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Prosm zvolte sprvn sriov port. Napklad COM1\n"
-"v MS Windows je v GNU/Linuxu pojmenovn ttyS0."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Pokud se chcete pipojitk Internetu nebo k lokln sti, vyberte si\n"
-"sprvnou volbu. Ped vbrem nejdve zaponnte dan ectern zazen,\n"
-"aby ho DrakX automaticky detekoval.\n"
-"\n"
-"\n"
-"Pokud nemte pipojen k Internetu nebo k lokln siti,\n"
-"vyberte volbu \"Vypnout sov sluby\".\n"
-"\n"
-"\n"
-"Pokud chcete nastavit sov pipojen po instalaci nebo ji mte\n"
-"konfiguraci hotovou, vyberte \"Hotovo\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Nebyl detekovn dn modem. Vyberte prosm sriov port, na kterm je modem "
-"pipojen.\n"
-"\n"
-"\n"
-"Pro informaci, prvn sriov port (nazvan \"COM1\" v Microsoft Windows)\n"
-"je pojmenovn v Linuxu \"ttyS0\"."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Zde mete zadat volby pro dialup pipojen. Pokud nevte co zadat, i si\n"
-"nejste jisti, zjistte si sprvn informace od poskytovatele internetovho\n"
-"pipojen. Pokud nezadte DNS (jmenn server), bude tato informace zskna\n"
-"od poskytovatele pi spojen."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Pokud mte extern modem, zapnte jej, aby ho DrakX mohl automaticky "
-"detekovat."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Zapnte prosm modem a vyberte sprvn typ."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Pokud nevte, zda jsou pedchoz informace sprvn nebo nevte, co zadat,\n"
-"tak se obrate na svho poskytovatele pipojen pro sprvn informace.\n"
-"Kdy nezadte informaci o DNS (jmenn server), bude tato informace zskna "
-"od poskytovatele pi pipojen."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Nyn mete zadat parametry pipojen k internetu pes modem. Pokud nevte\n"
-"co zadat, mete zskat sprvn hodnoty od vaeho internetovho "
-"poskytovatele."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Nyn lze nastavit sov zazen.\n"
-"\n"
-" * IP adresa: jestlie ji neznte, zeptejte se vaeho sprvce st\n"
-"nebo internetovho poskytovatele.\n"
-" Nemuste zadvat IP adresu pokud si zvolte volbu \"Automatick IP\" "
-"ne.\n"
-"\n"
-" * Sov maska (netmask): Obyejn se vol \"255.255.255.0\". Jestlie\n"
-"si nejste jisti, zeptejte se vaeho sprvce st nebo internetovho\n"
-"poskytovatele.\n"
-"\n"
-" * Automatick IP: Zvolte tuto monost, jestlie vae s pouv BOOTP\n"
-"nebo DHCP protokol. Do kolonky \"IP adresa\" nemuste nic zapisovat.\n"
-"Pokud si nejste jist, zeptejte se vaeho sprvce st nebo internetovho\n"
-"poskytovatele."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Zde mete zadat jmno potae, pokud je to poteba. Pokud ho neznte\n"
-"nebo nevte co zadat, zeptejte se vaeho sprvce st."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Zde mete zadat jmno potae, pokud je to poteba. Pokud ho neznte\n"
-"nebo nevte co zadat, nechte polko przdn."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Nyn mete zadat parametry pipojen k internetu pes modem. Pokud nevte\n"
-"co zadat, mete zskat sprvn hodnoty od vaeho internetovho "
-"poskytovatele."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Jestli budete pouvat proxy, nakonfigurujte je nyn, prosm. Kdy nevte\n"
-"jestli proxy pouvat budete nebo ne, zeptejte se vaeho sprvce st, nebo\n"
-"internetovho poskytovatele."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Pokud bylo pipojen k internetu sprvn nakonfigurovno, mete\n"
-"nainstalovat ifrovac balky. Nejprve si zvolte mirror, ze kterho byste "
-"si\n"
-"rdi tyto balky sthli a pot si zvolte, kter balky budete instalovat.\n"
-"\n"
-"\n"
-"Poznmka: Mirror a balky si muste zvolit podle mstnch zkon"
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Nyn vyberte asovou znu podle msta, kde ijete."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU/Linux pracuje s asem v GMT (Greenwichsk as) a pepotv ho na "
-"mstn,\n"
-"podle asovho psma, kter si vyberete.\n"
-"\n"
-"Pokud pouvte na potai Microsoft Windows, vyberte \"Ne\"."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Mete si zvolit kter sluby maj bt sputny pi startu potae.\n"
-"\n"
-"\n"
-"Pokud pejedete my nad nkterou poloku, objev se mal npovda\n"
-"s popisem, co dan sluba dl.\n"
-"\n"
-"\n"
-"Rozvate, co za sluby spustit, zvlt pokud budete pota provozovat\n"
-"jako server: nepotebujete vechny sluby. Pamatujte, e m vce slueb\n"
-"je sputno, tm je vt nebezpe proniknut do st. Take povolte\n"
-"opravdu jen ty sluby, kter nezbytn potebujete."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Zde lze konfigurovat lokln tiskrnu (pipojenou k potai) nebo\n"
-"vzdlenou tiskrnu (dostupnou pes Unix, Netware nebo Windows s)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Pokud chcete tisknout, vyberte si mezi CUPS a LPR\n"
-"\n"
-"\n"
-"CUPS je nov, vkonn a flexibiln tiskov systm pro Unix (CUPS znamen\n"
-"\"Common Unix Printing System\"). Je to vchoz tiskov systm pro\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR je star tiskov systm, pouvan v pedchozch verzch distribuce\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"Pokud nemte dnou tiskrnu, kliknte na \"dn\"."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux spolupracuje s vce rznmi typy tiskren. Kad z nich vyaduje\n"
-"rzn nastaven.\n"
-"\n"
-"\n"
-"Pokud je vae tiskrna fyzicky pipojena k potai, vyberte \"Lokln\n"
-"tiskrna\".\n"
-"\n"
-"\n"
-"Pokud chcete pistupovat na tiskrnu pipojenou ke vzdlenmu Unix stroji,\n"
-"zvolte \"Vzdlen tiskrna\".\n"
-"\n"
-"\n"
-"Pokud chcete tisknout na tiskrn fyzicky pipojen k potai s Microsoft\n"
-"Windows (nebo na Unix stroji pes SMB prokotol), zvolte \n"
-"\"SMB/Windows 95/98/NT\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Ped dalm krokem zapnte prosm tiskrnu, aby ji DrakX mohl detekovat.\n"
-"\n"
-"Potebujete zadat nsledujc informace.\n"
-"\n"
-"\n"
-" * Jmno tiskrny: tiskov spooler pouv \"lp\" jako vchoz jmno pro "
-"jmno tiskrny. Take muste mt tiskrnu s tmto jmnem.\n"
-" Pokud ji tiskrnu mte, mete ji piadit vce jmen, kter mus bt "
-"oddlena znakem pipe (\"|\"). Pokud tedy preferujete lehce zapamatovateln "
-"jmna, mete pout nap. \"Moje tiskarna|lp\".\n"
-" Tiskrna, kter m jmno \"lp\" je vdy vchoz tiskrnou.\n"
-"\n"
-"\n"
-" * Popis: nepovinn, ale uiten, kdy potebujete rozliit vce stejnch "
-"tiskren nebo dvte svoji tiskrnu ke sdlen.\n"
-"\n"
-"\n"
-" * Umstn: zde lze zadat informace o tom, kde ji tiskrna umstna\n"
-" (nap. \"Druh patro\").\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Potebujete zadat nsledujc informace.\n"
-"\n"
-"\n"
-" * Jmno fronty: tiskov fronta pouv jako vchoz jmno tiskrny \"lp"
-"\". Take muste mt tiskrnu s tmto jmnem.\n"
-" Pokud ji tiskrnu mte, mete ji piadit vce jmen, kter mus bt "
-"oddlena znakem pipe (\"|\"). Pokud tedy preferujete lehce zapamatovateln "
-"jmna, mete pout nap. \"Moje tiskarna|lp\".\n"
-" Tiskrna, kter m jmno \"lp\" je vdy vchoz tiskrnou.\n"
-"\n"
-"\n"
-" * Adres pro tisk: je to adres, kam jsou ukldny zpracovvan tiskov "
-"lohy. Nechejte zde radji vchoz nastaven.\n"
-"\n"
-"\n"
-" * Pipojen tiskrny: pokud mte pipojenou tiskrnu pmo k potai, "
-"vyberte \"Lokln tiskrna\".\n"
-" Pokud chcete tisknout na tiskrn pipojen ke vzdlenemu Unix stroji, "
-"vyberte \"Vzdlen lpd tiskrna\".\n"
-"\n"
-"\n"
-" Pro pstup k tiskrn pipojen k potai s Microsoft Windows (nebo k "
-"Unix stroji protokolem SMB), vyberte \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" Pro pstup k tiskrn v sti Netware, vyberte \"Netware\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Nebyla detekovna dn tiskrna. Zadejte prosm zazen, ke ktermu je\n"
-"pipojena.\n"
-"\n"
-"\n"
-"Pro informaci, vtina tiskren je pipojena na prvn paraleln port.\n"
-"Ten se nazv v GNU/Linuxu \"/dev/lp0\" a \"LPT1\" ve Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Vyberte si tiskrnu z nsledujcho seznamu."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Zadejte prosm sprvn volby pro vai tiskrnu.\n"
-"Pokud neznte sprvn hodnoty, podvejte se do dokumentace k tiskrn.\n"
-"\n"
-"\n"
-"V nsledujcm kroku mete otestovat danou konfiguraci a ppadn ji\n"
-"lze tak zmnit, pokud nebude nastaven pracovat sprvn."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Nyn mete zadat superuivatelsk (root) heslo pro v Mandrake Linux.\n"
-"Heslo mus bt zadno dvakrt pro vylouen peklepu.\n"
-"\n"
-"\n"
-"Superuivatel (root) je sprvce systmu, a je jedin uivatel oprvnn\n"
-"mnit nastaven systmu. Proto volte toto heslo opatrn. Neoprvnn\n"
-"pouit superuivatelskho tu me bt nesmrn nebezpen pro v\n"
-"systm a jeho data, i pro ostatn systmy k nmu pipojen.\n"
-"\n"
-"\n"
-"Heslo by mlo bt alespo osm znak dlouh sms psmen a slic. Nikdy by\n"
-"nemlo bt *nikde* poznamenan.\n"
-"\n"
-"\n"
-"Nedlejte si heslo pli dlouh nebo komplikovan, protoe muste bt\n"
-"schopni si ho zapamatovat bez pli velk nmahy."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Pro bezpenj systm byste si mli zvolit \"Pouvn stnovn\"\n"
-"(shadow file) a \"Pouvn MD5 hesel\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Jestlie vae s pouv NIS, zvolte \"Pouij NIS\". Pokud si nejste "
-"jist,\n"
-"zeptejte se vaeho sprvce st."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Nyn mete vytvoit jeden nebo vce \"normlnch\" uivatelskch t,\n"
-"na rozdl od \"privilegovanho\" tu superuivatele (root). Mete "
-"vytvoit\n"
-"jeden, nebo vce t pro kadou osobu, kter m mt pstup na pota.\n"
-"Kad uivatelsk et bude mt svoje nastaven (grafick rozhran, \n"
-"nastaven program, atd.) a svj vlastn \"domovsk adres\" ve kterm\n"
-"jsou tato nastaven uloena.\n"
-"\n"
-"\n"
-"Nejdve si ale vytvote et pro sebe! I v ppad e jste jedin uivatel "
-"potae, NEML byste se pro bnou prci pihlaovat jako superuivatel.\n"
-"To je velk risk, protoe udlat systm nestabilnm me bt otzka\n"
-"i jedinho peklepu.\n"
-"\n"
-"\n"
-"Take byste se mli k systmu pihlaovat pomoc svho uivatelskho tu,\n"
-"kter si zde vytvote, a jako superuivatel se pihlaovat pouze pro\n"
-"spravovn systmu."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Vytvoen bootovac diskety je vele doporuovno. Pokud nelze zavst\n"
-"operan systm, je to jedin cesta, jak obnovit systm bez nutnosti\n"
-"provst reinstalaci."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Je zapoteb zadat, kam si pejete umstit\n"
-"informaci potebnou k nastartovn GNU/Linuxu.\n"
-"\n"
-"\n"
-"Pokud nevte pesn co dlte, zvolte \"Prvn sektor disku (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Pokud nemte jin speciln poadavek, obvykle se vol \"/dev/hda\"\n"
-"(master disk na prvnm adii) nebo \"/dev/sda\" (prvn SCSI disk)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (LInux LOader) a Grub jsou zavdc programy, co znamen, e mohou\n"
-"spustit bu GNU/Linux nebo kterkoliv jin operan systm, kter je na "
-"vaem\n"
-"potai. Normln jsou vechny takovto systmy detekovny a nastaveny.\n"
-"Pokud se tak nestalo, mete v tto obrazovce run pidat dal zznam.\n"
-"Muste ale sprvn zadat nkter parametry danho systmu."
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"Hlavn monosti pro LILO a Grub jsou:\n"
-" - Startovac zazen: Nastavte jmno zazen (nap. diskov oddl),\n"
-"kter obsahuje startovac sektor (boot sector). Pokud nemte jin speciln\n"
-"poadavek, zvolte \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Prodleva ped automatickm startem: Uruje poet desetin sekundy, po "
-"kter\n"
-"bude zavdc program ekat, ne spust standardn volbu. Toto je ikovn "
-"pro\n"
-"potae, kter okamit po zapnut klvesnice zanou startovat. Zavdc\n"
-"program nebude ekat pokud je tato hodnota nastavena na 0 nebo nen zadna\n"
-"vbec.\n"
-"\n"
-" - Textov reim: uruje, kter textov md by ml bt pi startu zvolen.\n"
-"Mete pout tyto hodnoty:\n"
-" * normln: standardn reim 80x25 znak\n"
-"\n"
-" * <slo>: pouije odpovdajc reim.\n"
-"\n"
-"\n"
-" - Vyistit \"/tmp\" pi kadm sputn: pokud chcete smazat vechny "
-"soubory a adrese, \n"
-"kter jsou v \"/tmp\" pi startu systmu, vyberte tuto volbu.\n"
-"\n"
-"\n"
-" - Specifikovat velikost RAM: bohuel neexistuje jednoduch zpsob, jak "
-"pomoc\n"
-"BIOSu zjistit, kolik pamti m v pota. Me se tedy stt, e Linux\n"
-"chybn detekuje velikost RAM. V tchto ppadech te mte zde monost\n"
-"zadat sprvnou velikost pamti. Vimnte si, e je rozdl 2 nebo 4 MB mezi\n"
-"detekovanou velikost a velikost pamti, kterou pouv systm."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot je zavad systmu pro hardware od NewWorld MacIntosh. Je mon s "
-"nm\n"
-"zavst jak GNU/Linux, MacOS tak i MacOSX.\n"
-"Bn jsou tyto systmy sprvn detekovny a instalovny.\n"
-"V jinch ppadech je mon pidat poloky v tto obrazovce.\n"
-"Volte opatrn sprvn parametry.\n"
-"\n"
-"\n"
-"Hlavn volby pro Yaboot jsou:\n"
-"\n"
-"\n"
-" - vodn zprva: jednoduch textov zprva, kter je zobrazena ped\n"
-"zavadem.\n"
-"\n"
-"\n"
-" - Spoutc zazen: ukazuje na msto, odkud jsou brny vechny potebn\n"
-"informace pro zaveden GNU/Linuxu. Obvykle se zde zadv oddl, kter m\n"
-"potebn informace pro sputn.\n"
-"\n"
-"\n"
-" - Povolit prodlevu pro fimware: Narozdl od LILa jsou zde dv prodlevy, \n"
-"kter lze pout pro yaboot. Prvn prodleva v sekundch umouje vybrat "
-"mezi\n"
-"CD, OF boot, MacOS a Linuxem\n"
-"\n"
-"\n"
-" - Prodleva pi sputn jdra: Tato prodleva je pro LILO.\n"
-" Po vybrn Linuxu je prodleva v nsobcch 0,1 vteiny ped sputnm "
-"vchozho \n"
-"jdra. \n"
-"\n"
-"\n"
-" - Povolit OF Boot? Zvolenm tto volby umouje vybrat 'N' pro Open "
-"Firmware\n"
-"pi prvnm vzv po sputn.\n"
-"\n"
-" - Vchoz OS: Vyberte, kter z OS bude sputn jako vchoz a skon "
-"prodleva\n"
-"pro zaveden firmware."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"Zde mete pidat dal volby pro yaboot, pro dal operan systmy, "
-"alternatvn\n"
-"jdra nebo zchrann disk.\n"
-"\n"
-"\n"
-"Pro dal OS - zznam obsahuje nzev a koenov oddl.\n"
-"\n"
-"\n"
-"Pro Linux jsou zde dal volby:\n"
-"\n"
-"\n"
-" - Jmenovka: Je to krtk nzev, kter se bude pst na vzvu yaboot.\n"
-"\n"
-"\n"
-" - Obraz: Je to nzev souboru s jdrem, kter bude sputno. Bn je to "
-"vmlinux\n"
-"nebo kombinace vmlinux a rznch ppon.\n"
-"\n"
-"\n"
-" - Koenov oddl: Koenov oddl '/' pro instalace Linuxu.\n"
-"\n"
-"\n"
-" - Pidat: Pi intalaci na potae Apple je toto asto vyuvno pi "
-"inicializaci\n"
-"grafick karty, emulaci dalch tlatek na klvesnici, protoe my pro "
-"Apple\n"
-"m pouze jedno tlatko. Zde jsou nkter pklady:\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" - Initrd: Tato volba se pouita bu pro nahrn modul ped sputnm "
-"systmu\n"
-"nebo nahrn obrazu do ramdisku pi zchrannm reimu.\n"
-"\n"
-"\n"
-" - Initrd-size: Obyejn je velikost ramdisku 4096 byt. Pokud potebujete "
-"msto\n"
-"pro vt ramdisk, je mon zde zadat poadovanou velikost.\n"
-"\n"
-"\n"
-" - Read-write: Bn je 'koenov' oddl pipojen v read-only reimu kvli\n"
-"testovn souborovho systmu ped jeho pipojenm. Zde mete tento stav "
-"zmnit\n"
-"\n"
-"\n"
-" - BezVidea: na potach Apple me inicializace videa zpsobit "
-"problmy,\n"
-"tato volba umouje spustit systm bez grafiky s nativn podporou "
-"framebufferu.\n"
-"\n"
-"\n"
-" - Vchoz: Tato volba je vchoz volbou, kter se vol pouze stiskem\n"
-"ENTER na yaboot vzvu. Pokud stisknete klvesu TAB pi vbru sputn "
-"systmu,\n"
-"je tato volba vysvcena a oznaena '*'."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO je zavdc program pro SPARC: um nastartovat bu GNU/Linux nebo\n"
-"jakkoliv jin operan systm na vaem potai. Normln jsou vechny\n"
-"takovto systmy detekovny a nastaveny. Pokud se tak nestalo, mete\n"
-"v tto obrazovce run pidat dal zznam. Muste ale sprvn zadat\n"
-"nkter parametry danho systmu.\n"
-"\n"
-"Pokud nechcete umonit pstup k tmto operanm systmm komukoliv,\n"
-"mete smazat odpovdajc zznamy. Ale v tchto ppadech budete\n"
-"pro sputn tchto systm potebovat spoutc disk!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"Hlavn monosti pro SILO jsou:\n"
-" - Instalace zavdcho programu: Nastavte jmno zazen (nap.\n"
-"diskov oddl) kam si pejete umstit informace potebn pro start systmu.\n"
-"Pokud pesn nevte co dlte, zvolte \"Prvn sektor disku (MBR)\".\n"
-"\n"
-"\n"
-" - Prodleva ped automatickm startem: Uruje poet desetin sekundy, po "
-"kter\n"
-"bude zavdc program ekat, ne spust standardn volbu. Toto je ikovn "
-"pro\n"
-"potae, kter okamit po zapnut klvesnice zanou startovat. Zavdc\n"
-"program nebude ekat pokud je tato hodnota nastavena na 0, nebo nen zadna\n"
-"vbec."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Te je as nastavit grafick systm X, co je jdro GNU/Linuxovho GUI\n"
-"(grafickho uivatelskho rozhran). K tomuto elu muste nastavit\n"
-"vai grafickou kartu a monitor. Vtina tto prce je provdna\n"
-"automaticky, take na vs by mla zbt pouze kontrola toho, co bylo\n"
-"provedeno a odsouhlasen nastaven :)\n"
-"\n"
-"\n"
-"Kdy je nastaven dokoneno, budou X-ka nastartovna (pokud nepodte\n"
-"DrakX o opak), take si mete vyzkouet, zda vm nastaven vyhovuj.\n"
-"Pokud vm vyhovovat nebudou, mete se vrtit a mnit je tak dlouho,\n"
-"dokud to bude zapoteb."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Pokud je nastaven X patn, pouijte tyto monosti pro sprvn nastaven\n"
-"grafickho systmu."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Jestlie radji pouvte pihlaovn v grafickm reimu, zvolte \"Ano\".\n"
-"Jinak zvolte \"Ne\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Vyberte si rove bezpenosti pro v systm. Pro kompletn informace se "
-"podvejte\n"
-"do manulu. Pokud nevte co vybrat, nechte vchoz volbu.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"V systm se nyn restartuje.\n"
-"\n"
-"Po resetu se v nov Mandrake Linux automaticky spust. Jestli chcete\n"
-"nastartovat jin existujc operan systm, pette si dal informace."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Vbr jazyka"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Volba typu instalace"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Detekce hardisk"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Nastaven myi"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Vbr klvesnice"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Bezpenost"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Souborov systmy"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formtovn oddl"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Vbr balk pro instalaci"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Istalace systmu"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Hlavn(root) heslo"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Pidn uivatele"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Nastaven st"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Souhrn"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Nastaven slueb"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Startovac disketa"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Zavdc program"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Nastaven X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Ukonit instalaci"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"Vybrali jste pro instalaci nsledujc server(y): %s\n"
-"\n"
-"\n"
-"Tyto servery budou standardn aktivovny. Pestoe nen znm dn\n"
-"bezpenostn problm, mohou se pesto vyskytnout. Je proto dleit "
-"aktualizovat\n"
-"vdy, kdy je to poteba.\n"
-"\n"
-"\n"
-"Chcete opravdu nainstalovat tyto servery?\n"
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "Nelze pout vesmrov vysln bez NIS domny"
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Vlote naformtovanou disketu do %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Tato disketa nen formtovna"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Pokud chcete pout uloen vbr balk, spuste instalaci takto: 'linux "
-"defcfg=floppy'"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Chyba pi ten souboru $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Vyzkouejte prosm, zda fungujei my"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Vyzkouejte na myi,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "TOIT KOLEKEM!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Nkter st vaeho hardware potebuje 'speciln' ovladae, aby mohla "
-"pracovat.\n"
-"Dal informace mete nalzt na: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Muste mt koenov oddl.\n"
-"K jeho vytvoen muste zvolit jeden existujc oddl\n"
-"(nebo vytvoit nov), zvolit 'Ppojn bod'\n"
-"a nastavit ho na '/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Muste mt odkldac oddl"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Nemte odkldac oddl\n"
-"\n"
-"Pesto chcete pokraovat?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Pout voln msto"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Nen dostatek msta pro vytvoen novho diskovho oddlu"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Pout existujc oddl"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Nen zde dn existujc oddl k pouit"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Pout Windows oddl jako loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Kter diskov oddl chcete pout pro Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Zvolte velikosti"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Velikost koenovho oddlu v MB:"
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Velikost swapovho oddlu v MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Pout voln msto na Windows oddlu"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Na kterm oddlu chcete mnit velikost?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Potm hranice souborovho systmu s Windows"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"Zmnu velikost FAT nen mon provst, \n"
-"vyskytla se nsledujc chyba: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"V diskov oddl s Windows je pli fragmentovn, pouijte nejdve "
-"program 'defrag'"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"VAROVN!\n"
-"\n"
-"DrakX nyn mus zmenit oddl s Windows. Bute opatrn: tato operace je\n"
-"nebezpen. Pokud jste tak ji neuinili, mli byste nejprve ukonit "
-"instalaci,\n"
-"spustit scandisk ve Windows (poppad i defrag) a potom instalaci znovu "
-"spustit\n"
-"Tak byste si mli data zlohovat. A si budete jist, e chcete pokraovat\n"
-"stisknte Ok."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Jakou velikost oddlu chcete nechat pro Windows na"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "diskovm oddlu %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Zmna FAT oddlu neuspla: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Nejsou zde dn FAT oddly, kter by bylo mon zmnit (nebo nen dostatek "
-"msta)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Smazat cel disk"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Odstranit Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Mte vce ne jeden pevn disk, na kter chcete instalovat Linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "VECHNY diskov oddly a data na disku %s budou zruena"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Vlastn rozdlen disku"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Pout fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Nyn mete rozdlit v hardisk %s.\n"
-"A skonte, nezapomete uloit zmny pomoc 'w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Nemte dostatek volnho msta na oddlu s Windows"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Nemu najt dn voln msto pro instalaci"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "Prvodce DrakX nael nsledujc een:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Vytven diskovch oddl selhalo: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Startuji s"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Zastavuji s"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Stala se chyba, ale nevm jak j sprvn interpretovat.\n"
-"Pokraujte na vlastn riziko."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Zdvojen ppojn bod %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Nkter dleit balky nebyly sprvn nainstalovan.\n"
-"Je mon, e je pokozen CD disk nebo CD-ROM mechanika.\n"
-"Zkontrolujete to pouitm pkazu \"rpm -qpl Mandrake/RPMS/*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Vt vs %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Nen dostupn dn disketov mechanika"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Zanm '%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Zadejte velikost pro instalovan systm"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Celkov velikost: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Verze: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Velikost: %d kB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Vyberte si balky, kter chcete nainstalovat"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Informace"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Instalovat"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Instaluji"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "ekejte prosm "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Zbvajc as "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Celkov as "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Pipravuji instalaci"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Instaluji balek %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Pesto pokraovat?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Stala se chyba pi azen balk:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Pout existujc nastaven pro X11?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"V systm m mlo systmovch prostedk. Pi instalaci Mandrake Linuxu se\n"
-"mete setkat s rznmi problmy. Pokud se tak stane, zkuste textovou\n"
-"verzi instalanho programu. Ta se spout tak, e pi startu\n"
-"z CD mechaniky stisknete 'F1' a pot napete 'text'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Prosm zvolte jednu z nsledujcch instalanch td:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Celkov velikost zvolench balk je piblin %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Pokud si pejete instalaci na men prostor ne je tento,\n"
-"zvolte si kolik procent balk se m nainstalovat.\n"
-"\n"
-"Mal poet procent nainstaluje pouze ty nejdleitj balky, 100%%\n"
-"nainstaluje vechny zvolen."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Na vaem hardisku je msto pouze pro %d%% tchto balk.\n"
-"\n"
-"Pokud jich chcete nainstalovat jet mn, zvolte jin poet\n"
-"procent. Mal poet procent nainstaluje pouze ty nejdleitj\n"
-"balky, %d%% nainstaluje maximln mon mnostv balk."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Pesnji si budete moci vybrat v ptm kroku"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Procent balk k instalaci"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Vbr skupiny balk"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Vbr jednotlivch balk"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Ukzat automaticky vybran balky"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Rozbal vtev"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Sbal vtev"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Pepnut mezi abcednm a skupinovm azenm"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "patn balek"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Jmno: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Dleitost: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Celkov velikost: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Nemete oznait tento balek, protoe pro jeho instalaci nen dost msta"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Tyto balky budou instalovny"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Tyto balky budou odebrny"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Nemete vybrat/nevybrat tento balek"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Toto je nepostradateln balek, neme bt odstrann"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Nemete od-oznait tento balek, protoe je u nainstalovan"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Tento balek mus bt obnoven\n"
-"Jste si jisti, e ho nechcete zvolit?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Tento balek mus bt obnoven, nemete ho nezvolit"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Odhaduji"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "ekejte prosm, pipravuji instalaci"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d balk(y)"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Varovn\n"
-"\n"
-"Pette si prosm pozorn nsledujc termny. Pokud s nimi nesouhlaste,\n"
-"nejste oprvnn pokraovat v instalaci nsledujcm CD. Stisknte\n"
-"\"Odmtnout\" pro pokraovn v instalaci bez tohoto mdia.\n"
-"\n"
-"\n"
-"Nkter programy na dalm CD mdiu nejsou eny podle licence GPL i\n"
-"podobn. Kad z tchto program je en podle vlastn licence a podmnek.\n"
-"tete pozorn tyto licence a podmnky ped tm, ne zanete dan software\n"
-"pouvat nebo it.\n"
-"Nkter licence zakazuj penen, vytven duplikat (mimo zlon "
-"kopii),\n"
-"dal en, dekompilaci, reverzn engineering nebo modifikaci komponent.\n"
-"Kad poruen podmnek okamit perueuje vae prva podle dan licence.\n"
-"I kdy dan licence davaj nejak prva, nen dovoleno instalovat dan\n"
-"program na vce systm, pizpsobovat ho provozu na sti. V ppad\n"
-"pochybnost kontaktujte distributora nebo vrobce danho programu.\n"
-"Penechn prv tetm osobm nebo koprovn sti komponent i\n"
-"dokumentace je tak zakzno.\n"
-"\n"
-"\n"
-"Vechna prva na programy na dalm CD mdiu pat jejm pravoplatnm\n"
-"vlastnkm podle autorskho zkona.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Potvrdit"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Odmtnout"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Vymte prosm CD!\n"
-"\n"
-"Prosm vlote CD oznaen \"%s\" do mechaniky a stisknte Ok.\n"
-"\n"
-"Pokud toto CD nemte, stisknte Zruit a toto CD nebude nainstalovno."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Stala se chyba pi instalaci balk:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Stala se chyba"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Prosm zvolte si, kter jazyk chcete pouvat."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "Mete si zvolit dal jazyky, kter budou dostupn po instalaci"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Vechno"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Souhlas s licenc"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Uvod\n"
-"\n"
-"Operacni system a ruzne casti dostupne v distribuci Linux-Mandrake jsou "
-"nazyvany \"Softwarove produkty\" (\"Software Products\"). Softwarov "
-"produkty zahrnuji, ale nejsou omezeny, na programy, metody pravidla a "
-"dokumentaci vztahujici se k operacnimu systemu a dalsim komponentam "
-"distribuce Linux-Mandrake.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Klvesnice"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Jak je rozloen va klvesnice?"
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Zde je kompletn seznam dostupnch klvesnic"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Typ instalace"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Kter typ instalace chcete?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Instalace/Aktualizace"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Je to instalace nebo aktualizace?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Doporuen"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Expertn"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Aktualizovat"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Jak je typ va myi?"
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Pipojen myi"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Ke ktermu sriovmu portu je pipojena vae my?"
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Emulace tlatek"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Emulace 2 tlatka"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Emulace 3 tlatka"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Nastavuji PCMCIA karty..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Nastavuji IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "nejsou dostupn dn diskov oddly"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Hledm oddly, kter lze pipojit"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Zvolte si ppojn(mount) body"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Nemu pest vai tabulku oddl, je pro m pli poruen :(\n"
-"Mu se pokusit pokraovat v itn patnch oddl (VECHNA\n"
-"DATA budou ztracena!). Jin monost je zakzat DrakX mnit tabulku\n"
-"oddl (chyba je %s)\n"
-"\n"
-"Souhlaste s tm, e pjdete o vechny oddly?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake neuspl pi ten tabulky oddl.\n"
-"Pokraujte pouze na vlastn riziko!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Koenov oddl"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Kter diskov oddl je koenov (/) ?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Muste restartovat pota aby se projevily zmny v tabulce oddl"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Zvolte diskov oddly kter chcete naformtovat"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Otestovat na vadn stopy?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Formtuji oddly"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Vytvm a formtuji soubor %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Nen dostatek odkldacho prostoru k instalaci, prosm pidejte njak"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Hledm dostupn balky"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Vyhledvm balky pro upgrade"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Na vaem systmu nen dostatek msta pro instalaci nebo upgrade (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Kompletn (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimln (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Doporuen (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Vlastn"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr "Velikost vybranch balk je vt ne msto na disku"
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Pokud mte vechna CD vypsan ne, klepnte na Ok.\n"
-"Pokud nemte dn z nich, klepnte na Zruit.\n"
-"Pokud Vm chyb pouze nkter z nich, odoznate je, a zvolte Ok."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CD-ROM oznaen \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Instaluji balek %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Nastaven po instalaci"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Nyn si mete sthnout ifrovac software.\n"
-"\n"
-"VAROVN:\n"
-"\n"
-"Kvli rznm obecnm poadavkm a nazenm rznch soudnch ad,\n"
-"vztahujcm se na tento druh software, by se ml zkaznk a/nebo koncov\n"
-"uivatel ujistit, zda mu jeho soudn sprva umouje sthnout si, uloit\n"
-"a pouvat tento software.\n"
-"\n"
-"Zkaznk a/nebo koncov uivatel by si ml bt vdom toho, e nesm\n"
-"pestupovat zkony sv jurisdikce. Pokud zkaznk a/nebo koncov uivatel\n"
-"nebude respektovat ustanoven vztahujcch se zkon, me se vystavit\n"
-"postihu.\n"
-"\n"
-"V kadm ppad se Mandrakesoft i jeho vrobny a dodavatel vzdvaj\n"
-"jakkoliv zodpovdnosti za pm i nepm kody (vetn ztrty zisk,\n"
-"peruen podnikn, ztrty obchodnch informac, jakoto i jinch "
-"pennch\n"
-"ztrt a eventulnch postih, poadavk na odkodnn a alob) vznikl\n"
-"vlastnictvm, pouvnm nebo pouhm stahovnm tohoto software, ke ktermu\n"
-"me mt zkaznk a/nebo nebo koncov uivatel pstup kdy odsouhlas\n"
-"tuto dohodu.\n"
-"\n"
-"\n"
-"Pokud mje jakkoliv dotazy vztahujc se k tto dohod, kontaktujte prosm\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Zvolte si zrcadlo(mirror) pro stahovn balk"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Stahuji ze zrcadla(mirror) seznam dostupnch balk"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Prosm vyberte si balky kter chcete nainstalovat."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Jak je vae asov psmo?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Jsou vae hardwarov hodiny nastaveny na GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Vzdlen CUPS server"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Bez tiskrny"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "My"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "asov zna"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Tiskrna"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "ISDN karta"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Zvukov karta"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV karta"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Kter systm chcete pout pro tisk?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "dn heslo"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "Toto heslo je pli jednoduch (mus bt alespo %d znak dlouh)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Pouvat NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "lut strnky - NIS"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Oven pravosti NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS Domna"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS Server"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Pomoc startovac diskety mete spustit Linux bez pouit normlnho\n"
-"zavdcho programu (bootloader). To je uiten pokud nechcete instalovat\n"
-"SILO nebo jin operan systm odstran SILO, nebo SILO\n"
-"na vaem potai nefunguje. Vlastn startovac disketa tak me bt\n"
-"pouita spolu se zchrannm diskem Mandraku (rescue image), co poskytuje\n"
-"innou pomoc pi havrii systmu.\n"
-"Jestlie chcete vytvoit startovac disketu, nejdve vlote disketu do\n"
-"mechaniky a potom stisknte \"Ok\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "prvn mechaniky"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "druh mechaniky"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Peskoit"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Pomoc startovac diskety mete spustit Linux bez pouit normlnho\n"
-"zavdcho programu (bootloader). To je uiten pokud nechcete instalovat\n"
-"LILO (nebo Grub), nebo jin operan systm odstran LILO, nebo LILO\n"
-"na vaem potai nefunguje. Vlastn startovac disketa tak me bt\n"
-"pouita spolu s \"Mandrake zchrannm diskem\" (rescue image), co "
-"poskytuje\n"
-"innou pomoc pi havrii systmu. Chcete vytvoit startovac disketu?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Bohuel nen dostupn dn disketov mechanika"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Zvolte mechaniku, kde chcete vytvoit startovac disketu"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Vlote disketu do %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Vytvm startovac disketu"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Pipravuji zavdc program"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Chcete pout aboot?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Stala se chyba pi instalaci aboot,\n"
-"mm se pokusit o instalaci i kdy to zru prvn oddl na disku?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Instalace zavdcho programu neuspla. Stala se tato chyba:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Mete potebovat zmnit startovac zazen pro Open Firmware\n"
-" pro aktivaci spoutcho programu. Pokud nevidte po sputn prompt,\n"
-" stisknte pi startu Command-Option-O-F a zadajte:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Potom zadejte: shut-down\n"
-"Pi dalm sputn u uvidte prompt."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Nzk"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Stedn"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Vysok"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Zvolte si rove zabezpeen"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "Pejete si vytvoit disketu pro automatickou replikaci Linuxu?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Vlote przdnou disketu do %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Vytvm disketu pro automatickou instalaci"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Nkter kroky nebyly dokoneny.\n"
-"\n"
-"Chcete opravdu nyn skonit?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Gratulujeme vm, instalace je dokonena.\n"
-"Vyjmte startovac mdia a stisknte return pro restart.\n"
-"\n"
-"Na opravy tto instalace systmu Linux-Mandrake se lze informovat\n"
-"na strnce Errata na http://www.linux-mandrake.com/.\n"
-"\n"
-"Informace o konfiguraci systmu po instalaci jsou dostupn\n"
-"v dan kapitole oficiln uivatelsk pruky pro Linux-Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Vytvoit disketu pro automatickou instalaci"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Instalace me bt v ppad poteby pln automatick,\n"
-"ale pouije se cel disk!!!\n"
-"(v ppad instalace na druh pota)\n"
-"\n"
-"Takto lze jednodue zopakovat instalaci.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automaticky"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Zopakovat"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Uloit vbr jednotlivch balk"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Mandrake Linux Instalace %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> pepn. mezi prvky | <Space> vbr | <F12> dal obraz."
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "chyb kdesu"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Rozen"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Prosm pokejte"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Dvojsmyslnost (%s), bute pesnj\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "patn volba, zkuste to znovu\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (vchoz %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Vae volba? (vchoz %s)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Vae volba? (vchoz %s; zadejte 'nic' pro nic) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "esk (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Nmeck"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvok"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "panlsk"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finsk"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Francouzsk"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norsk"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polsk"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Rusk"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "UK-Britsk"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "US-Americk"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armnsk (star)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armnsk (psac stroj)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armnsk (foneticky)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "zerbajdnsk (latinka)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "zerbajdnsk (cyrilice)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgick"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulharsk"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brazilsk (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Blorusk"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "vcarsk (Nmeck styl)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "vcarsk (Francouzsk styl)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "esk (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "esk (programtorsk)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Nmeck (bez mrtvch klves)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Dnsk"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvok (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvok (Norsk)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estonsk"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Gruznsk (\"Rusk\" rozloen)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Gruznsk (rozloen \"Latin\")"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "eck"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Maarsk"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Chorvatsk"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Izraelsk"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Izraelsk (foneticky)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "rnsk"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islandsk"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italsk"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japonsk 106 klves"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Korejsk klvesnice"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latinsko-Americk"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Makedonsk"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Holandsk"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Litevsk AZERTY (star)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Litevsk AZERTY (nov)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Litevsk \"seln ada\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Litevsk \"foneticky\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polsk (rozloen QWERTY)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polsk (rozloen QWERTZ)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugalsk"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanadsk (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Rusk (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "vdsk"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovinsk"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovensk (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovensk (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slovensk (programtorsk)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thaisk"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Tureck (tradin model \"F\")"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Tureck (modern model \"Q\")"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrajinsk"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "US (mezinrodn)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnamsk \"seln ada\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoslvsk (rozloen latin)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Odeberte nejdve logick disky\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - my"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standardn"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Standardn PS2 my s kolekem"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 tlatko"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Obecn"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "S kolekem"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "Sriov"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Standardn dvoutlatkov my"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Standardn ttlatkov my"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech srie CC (sriov)"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (sriov, star C7 typ)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "Busmouse"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 tlatka"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 tlatka"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "dn"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Bez myi"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Ukonit"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Dal ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Pedchoz"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Je to sprvn?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Nastaven Internetu"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Chcete se nyn pokusit pipojit k internetu?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Testuji pipojen k internetu..."
-
-# ../.vygenerovat ./netconnect.pm_.c:528
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Pota je nyn pipojen k internetu"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Z bezpenostnch dvod bude spojen ukoneno."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Nepodailo se pipojit k Internetu.\n"
-"Pokuste se pekonfigurovat dan pipojen."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Nastaven st"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "Nastaven ISDN"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Vyberte si svho poskytovatele internetu.\n"
-" Pokud nen na seznamu, vyberte si Unlisted"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Nastaven pipojen"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Prosm vyplte nebo zkontrolujte nsledujc daje"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ karty"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "DMA karty"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "IO karty"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "IO_0 karty"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "IO_1 karty"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Vae osobn telefonn slo"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Jmno poskytovatele (nap provider.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Telefonn slo poskytovatele"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Primrn DNS poskytovatele"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Sekundrn DNS poskytovatele"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Typ vyten"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "V et (uivatelsk jmno)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Heslo vaeho tu"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Evropa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Evropa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Zbytek svta"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Zbytek svta \n"
-" dn D-kanl (leased lines)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Kter protokol chcete pout?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Jak typ karty mte?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Nevm"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Jestli mte ISA kartu, mly by bt hodnoty na nsledujc obrazovce "
-"sprvn.\n"
-"\n"
-"Jestli mte PCMCIA kartu, muste znt jej IRQ a IO.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Peruit"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Pokraovat"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Kterou z thto ISND karet mte?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Nael jsem ISDN PCI kartu, jej typ ale neznm. Prosm zvolte si jednu z "
-"nsledujcho seznamu PCI karet."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Nenael jsem dnou ISDN PCI kartu. Prosm zvolte si jednu z nsledujc "
-"nabdky"
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Ve vaem potai nebyl nalezen dn sov adaptr.\n"
-"Nemohu nastavit typ spojen."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Zvolte sov rozhran"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Vyberte si prosm, kter sov adaptr chcete pout pro pipojen k "
-"internetu"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Sov rozhran"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Souhlaste?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Znovu spustm sov rozhran:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "Nastaven ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Chcete se automaticky pipojovat po startu potae?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Ke ktermu sriovmu portu je v modem pipojen?"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Monosti vyten"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Jmno pipojen"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefonn slo"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Pihlaovac jmno"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Oven"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Podle scne"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Pomoc terminlu"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Jmno domny"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Prvn DNS Server (nepovinn)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Druh DNS Server (nepovinn)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr "Znovu spustm sov rozhran $netc->{NET_DEVICE}. Souhlaste?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Mete se odpojit nebo pekonfigurovat pipojen."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Mete pekonfigurovat pipojen."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "V souastnosti jste pipojeni k Internetu"
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Nemete se pipojit k Internetu nebo pekonfigurovat ipojen."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "V souastnosti nejste pipojeni k Internetu."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Pipojit se k internetu"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Odpojit se od internetu"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Nastaven sovho pipojen (LAN nebo Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Nastaven a pipojen k internetu"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Prvodce nastavenm st"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Extern ISDN modem"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Intern ISDN karta"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Jak je vae ISDN pipojen?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Pipojen k Internetu"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Nejbnji se pro pipojen pomoc adsl pouv pppoe.\n"
-"Nkter pipojen pouvaj pptp, nkter pouze dhcp. Jestli si nejste "
-"jist, zvolte 'pout pppoe'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "pout dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "pout pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "pout pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Znovu spustm sov rozhran %s. Souhlaste?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Kterho dhcp klienta chcete pout?\n"
-"Standardn je dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Nastaven st"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Chcete restartovat s?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"Vyskytl se problm pi restartu st: \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Protoe provdte instalaci po sti, je ji s nastavena.\n"
-"Kliknte na Ok pro zachovn nastaven nebo kliknte na Zruit pro nov "
-"nastaven pipojen Internetu a k sti.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Vt vs prvodce pipojenm k sti\n"
-"\n"
-"Nyn lze nastavit pipojen k sti nebo internetu.\n"
-"Pokud nechcete pout automatickou detekci, odoznate polko.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Zvolte profil pro nastaven"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Pout autodetekci"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Detekuji zazen..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Modemov pipojen"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "detekovno na portu %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN pipojen"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "detekovno %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL (nebo ADSL) pipojen"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "detekovno na rozhran %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Kabelov pipojen"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "Pipojen k LAN"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "detekovan() sov() karta(y)"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Jak se chcete pipojit k Internetu?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Gratulujeme, konfigurace st a internetu je ukonena.\n"
-"\n"
-"Konfigurace bude nyn aktivovna."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Doporuujeme po tomto kroku restartovat X Window,\n"
-"aby se pedelo problmm se zmnou jmna potae."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "nebyla nalezena sov karta"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Nastavuji s"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Prosm zadejte jmno vaeho potae, protoe ho vyaduj nkter\n"
-"DHCP servery. Toto jmno mus bt pln, jako napklad\n"
-"'mybox.mylab.myco.com'."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Jmno potae"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"VAROVN: Toto zazen ji bylo nastaveno pro pipojen k Internetu.\n"
-"Kliknte na Ok pro zachovn nastaven.\n"
-"Modifikace nsledujcch poloek pepe toto nastaven."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Prosm zadejte IP nastaven pro tento pota.\n"
-"Kad poloka mus bt zadna jako IP adresa v 'desetinn' form\n"
-"(napklad 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Nastavuji sov zazen %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (ovlada $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP adresa"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Maska st"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Automatick IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP adresa mus bt ve formtu 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Prosm zadejte jmno vaeho potae.\n"
-"Toto jmno mus bt pln, jako 'mybox.mylab.myco.com'.\n"
-"Pokud pouvte brnu(gateway), mete tak zadat jej adresu"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS server"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Brna(gateway)"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Zazen brny(gateway)"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Nastaven proxy"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP proxy"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Proxy by mla bt http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Proxy by mla bt ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Rozen diskov oddly nejsou na tomto systmu podporovny"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Ve tabulce diskovch oddl je mezera, ale nemohu ji pout.\n"
-"Jedin een je pesunout primrn oddly tak, abyste mli mezeru vedle\n"
-"rozench oddl."
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Chyba pi ten souboru %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Obnova ze souboru %s neuspla: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "patn zlon soubor"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Chyba pi zapisovn do souboru %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Nco patnho se stalo s pevnm diskem. \n"
-"Test na integritu dat selhal. \n"
-"To znamen, e zpis na tento disk me skonit nepedvdan"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "muste mt"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "dleit"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "nejm dleit"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "nedleit"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "me se hodit"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Mstn tiskrna"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Vzdlen tiskrna"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Vzdlen lpd server"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Sov tiskrna (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "URI Tiskovho Zazen"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Otestovat porty"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Tiskrna typu \"%s\" byla nalezena na "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Mstn Tiskrna"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Ke ktermu zazen je vae tiskrna pipojena\n"
-"(vimli jste si e /dev/lp0 odpovd LPT1:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Zazen tiskrny"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Monosti vzdlen lpd tiskrny"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Abyste mohli pouvat vzdlenou tiskovou frontu lpd,\n"
-"muste zadat jmno tiskovho serveru a jmno fronty,\n"
-"kam m bt posln tisk."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Jmno vzdlenho potae"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Vzdlen fronta"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Monosti SMB (Windows 9x/NT) tiskrny"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Abyste mohli tisknout na SMB tiskrn, muste zadat\n"
-"jmno SMB potae(Pozor! To me bt odlin od jeho TCP/IP\n"
-"jmna) a mon i IP adresu tiskovho serveru, jmno sdlen tiskrny,\n"
-"vhodn uivatelsk jmno, heslo a informace o pracovn skupin."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Jmno SMB serveru"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP adresa SMB serveru"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Sdlen jmno"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Pracovn skupina"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Monosti NetWare tiskrny"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Abyste mohli tisknout na NetWare tiskrn, muste zadat jmno NetWare\n"
-"serveru (Pozor! To me bt odlin od jeho jmna pro TCP/IP!), jmno\n"
-"tiskov fronty tiskrny, kterou chcete pouvat a uivatelsk\n"
-"jmno a heslo."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Tiskov server"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Jmno tiskov fronty"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Monosti soketov tiskrny"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Abyste mohli tisknout na soketov tiskrn, muste zadat\n"
-"jmno potae s tiskrnou a voliteln i slo portu."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Jmno potae s tiskrnou"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "S CUPS mete pmo zadat URI pro pstup k tiskrn."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Jak typ tiskrny mte?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Chcete vyzkouet tisk?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Tisknu testovac strnku(y)"
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Zkuebn tisk byl posln tiskovmu dmonu.\n"
-"Me chvilku trvat ne zane tisk.\n"
-"Stav tisku:\n"
-"%s\n"
-"\n"
-"Probhl tisk sprvn ?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Zkuebn tisk byl posln tiskovmu dmonu.\n"
-"Me chvilku trvat ne zane tisk.\n"
-"Probhl tisk sprvn ?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Ano, vytiskni testovac ASCII strnku"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Ano, vytiskni Postskriptovou testovac strnku"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Ano, vytiskni ob testovac strnky"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Nastaven tiskrny"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Monosti tiskrny"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Velikost papru"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Vysunout papr po tisku?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Monosti ovladae Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Monosti barevn hloubky"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Tisknout text jako PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Opravovat schodovit text?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Poet strnek na jeden vytitn list"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Prav/lev okraj v bodech (1/72 palce)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Horn/doln okraj v bodech (1/72 palce)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Extra monosti GhostScriptu"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Speciln textov monosti"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Tisknout odzadu"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Chtli byste nastavit tiskrnu?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Zde jsou tiskov fronty.\n"
-"Mete pidat dal nebo zmnit stvajc."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "Startuje se CUPS"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Natm databzi ovlada pro CUPS..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Zvolte pipojen tiskrny"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Jak je tiskrna pipojena?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Zvolte pipojen vzdlen tiskrny"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"V ppad CUPS serveru nemuste pmo nastavovat tiskrny,\n"
-"ty budou automaticky detekovny.\n"
-"Pokud si nejste jist, zvolte \"Vzdlen CUPS server\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"V ppad vzdlenho CUPS serveru nemuste pmo nastavovat tiskrny,\n"
-"ty budou automaticky detekovny pokud nemte server na jin sti;\n"
-"v dalm kroku zadejte IP adresu pro vzdlen CUPS server\n"
-"a voliteln tak slo portu."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "IP adresa CUPS serveru"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "slo portu mus bt numerick"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Odebrat frontu"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr "Jmno fronty me obsahovat pouze psmena, slice a podtrtko"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Kad tiskrna mus mt jmno (nap. lp).\n"
-"Ostatn parametry jako je popis tiskrny nebo jej umstn\n"
-"mohou tak bt definovny. Jak m bt pouito jmno pro tuto\n"
-"tiskrnu a jak je tak tiskrna pipojena?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Jmno tiskrny"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Popis"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Umstn"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Kad tiskov fronta (do kter je smrovno titn) potebuje\n"
-"jmno (asto lp) a vlastn (spool) adres. Jak jmno a adres\n"
-"m bt pouit pro tuto frontu, a jak je tiskrna pipojena ?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Jmno fronty"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Spool adres"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Pipojen tiskrny"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Nemu pidat oddl do _naformtovanho_ RAID md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Nemu zapsat soubor $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid neuspl"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid neuspl (mon, e chyb raidtools?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Nen dostatek oddl pro RAID rovn %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "Spustit zvukov systm ALSA (Advanced Linux Sound Architecture)"
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron - spout opakujc se akce"
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd je pouvn pro sledovn stavu baterie a zaznamenvn pes syslog.\n"
-"Me tak bt pouit pro vypnut potae pi vybit baterii."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Spout pkazy naplnovan pkazem na urit as pkazem 'at'.\n"
-"Tak spout pkazy pi nzkm vyten systmu."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron je standardn Unixov program kter spout uivatelem zadan programy\n"
-"v pedem definovanch intervalech. vixie cron m navc mnoho vlastnost,\n"
-"vetn vy bezpenosti a vce monost nastaven."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM pidv do textovch program podporu myi (nap pro Midnight "
-"Commander).\n"
-"Me tak v konzoli provdt operace 'vyjmi' a 'vlo' a ovldat pop-up menu."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-"HardDrake testuje hardware a umouje nov/zmnn\n"
-"hardware nastavit"
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr "Apache je WWW server. Je pouvn k poskytovn HTML a CGI soubor."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Internetov superserver dmon (nazvan inetd) spout mnoho ostatnch\n"
-"internetovch slueb, tak jak jsou zapoteb. Odpovd za start nap.\n"
-"telnetu, ftp, rsh a rlogin. Pokud vypnete inetd, vypnete tm i ostatn\n"
-"sluby kter spout."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-"Spustit paketov filter pro jdra ady 2.2, kter chrn pota\n"
-"proti tokm ze st."
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Tento balek nahraje zvolenou mapu klvesnice definovanou\n"
-"v /etc/sysconfig/keyboard. Tu lze vybrat pomoc utility kbdconfig.\n"
-"Pro vtinu pota byste ji mli nechat zapnutou."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-"Automatick generace hlaviky jdra v adresi /boot\n"
-"pro soubory /usr/include/linux/{autoconf,version}.h"
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr "Automatick detekce a konfigurace hardware pi sputn."
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-"Linuxconf provd rzn koly pi sputn systmu\n"
-"nutn pro sprvu systmov konfigurace."
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd je tiskov dmon, bez kterho nebude fungovat lpr (program pro tisk).\n"
-"Je to server, kter posl titn dokumenty jednotlivm tiskrnm."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-"Linux Virtual Server pouvan pro sestaven vysoce vkonnho\n"
-"a dostupnho serveru."
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) je DNS server, kter pekld hostitelsk jmna (hostnames) na\n"
-"IP adresy."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Pipojuje a odpojuje vechny sov (NFS), SMB (Lan/Windows) a NetWare "
-"(NCP)\n"
-"ppojn body (mount points)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Aktivuje i deaktivuje vechny sov rozhran, kter maj nastartovat pi\n"
-"startu systmu."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS je oblben protokol pro sdlen soubor pes st TCP/IP.\n"
-"Tato sluba poskytuje NFS server, jeho nastaven je v /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS je oblben protokol pro sdlen soubor pes st TCP/IP.\n"
-"Tato sluba poskytuje monost uzamykn soubor na NFS."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"Automaticky nastav podporu numerick klvesnice v konzoli\n"
-"a v XFree pi startu."
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "Podpora pro OKI 4w a kompatibiln wintiskrny."
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"Podpora PCMCIA vtinou znamen podporu zazen jako sov karty a\n"
-"modemy v laptopech. Nespust se pokud ji pmo nenastavte, ale nen "
-"problm\n"
-"j mt nainstalovanou i na potach, kter ji nepotebuj."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Portmapper spravuje RPC spojen, kter jsou pouvna protokoly jako NFS\n"
-"a NIS. Portmap server mus bt sputn na potach, kter funguj jako\n"
-"servery pro protokoly, kter pouvaj mechanismus RPC."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr "Postfix je program pro doruovn poty z jednoho potae na jin."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Ukld a obnovuje 'stav entropie' na potai, co je pouvno pro\n"
-"kvalitnj generaci nhodnch sel."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-"Piazuje pm zazen blokovm (napklad diskov oddly)\n"
-"pro aplikace jako je Oracle"
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"Dmon routed umouje automaticky obnovovat smrovac tabulku (router "
-"table)\n"
-"pro IP adresy. K tomu pouv protokol RIP. Zatmco RIP je bn pouvn\n"
-"v malch stch, pro sloitj st je zapoteb sloitj protokoly."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Protokol rstat umouje uivatelm st sledovat vyten jednotlivch\n"
-"stroj pipojench k sti."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Protokol rusers umouje uivatelm st zjistit kdo je pihlen na\n"
-"jinm potai."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Protokol rwho umouje vzdlenm(remote) uivatelm zskat seznam\n"
-"vech uivatel pihlench na potai s dmonem rwho (je to podobn\n"
-"slub finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr "Spustit zvukov systm pi startu"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog je program pomoc nho zaznamenv mnoho dmon sprvy do "
-"systmovch\n"
-"log soubor. Je dobr mt sputn syslog."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr "Nahrt ovladae pro usb zazen."
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Startuje X Font Server (to je nezbytn pro bh XFree)."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Zvolte si, kter sluby by mli bt automaticky sputny pi startu"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "sputno"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "zastaveno"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Sluby a dmoni"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Nejsou dn dal\n"
-"informace o slube, sorry."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Pi sputn"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Nemu pest vai tabulku oddl, mon je pli naruen :(\n"
-"Pokusm se pokraovat v itn patnch oddl"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Sdlen Internetovho Pipojen"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Sdlen Internetovho pipojen je zapnuto"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Sdlen internetovho pipojen u bylo nastaveno.\n"
-"Nyn je povoleno.\n"
-"\n"
-"Co chcete dle dlat?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "vypnout"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "odmtnout"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "pekonfigurovat"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Zakazuji servery..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Sdlen Internetovho pipojen je nyn vypnuto."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Sdlen Internetovho pipojen je vypnuto"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Internetov sdlen u bylo nastaveno.\n"
-"Nyn je vypnuto.\n"
-"\n"
-"Co chcete dle dlat?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "povolit"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Povoluji servery..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Sdlen Internetovho pipojen je nyn zapnuto."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Nepochopil jsem obsah souboru s nastavenm."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Neznm konfiguran soubor"
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"V pota bude zkonfigurovn pro sdlen pipojen na Internet.\n"
-"Tato monost umouje pstup dalch pota na lokln sti do Internetu "
-"pes tento pota.\n"
-"\n"
-"Pozn.: potebujete vyhrazen sov adaptr pro nastaven lokln st (LAN)."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Rozhran %s (pouv modul %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Rozhran %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Ve vaem systmu nen dn sov adaptr!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Ve vaem potai nebyl nalezen dn sov adaptr. Spuste prosm program "
-"pro nastaven hardware."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Na vaem systmu je nastaveno pouze jedno sov rozhran:\n"
-"\n"
-"%s\n"
-"\n"
-"Na tomto adaptru bude nastavena lokln s."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr "Prosm zvolte si, ke ktermu sovmu adaptru bude pipojena LAN."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr "Pozor, sov adaptr je u nastaven. Provedu nov nastaven."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr "Nael jsem mon konflikt v souasnm nastaven $_\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Nael jsem existujc nastaven firewallu!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Varovn! Bylo nalezeno existujc nastaven firewallu. Po instalaci me "
-"bt zapoteb njak run prava."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Nastavuji..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Nastavuji skripty, instaluji software, startuji servery..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Problm s instalac balku $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Gratuluji!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Ve se podailo nastavit.\n"
-"Nyn lze pout tento pota pro sdlen pipojen k Internetu pro vai "
-"lokln s, kter pouv automatickou konfiguraci st (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "Nastaven ji bylo provedeno, ale nyn je vypnuto."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Nastaven ji bylo provedeno, nyn je povoleno."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Nen nastaveno dn sdlen Internetovho pipojen."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Nastaven sdlen pipojen k Internetu"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Vt vs prvodce nastavenm sdlen pipojen k Internetu!\n"
-"\n"
-"%s\n"
-"\n"
-"Kliknte na Konfigurovat, pokud chcete spustit prvodce nastavenm."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Nastaven st (%d adaptery())"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Smazat profil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Smazat profil:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Nov profil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Jmno vytvenho profilu:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Jmno potae: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Pstup na Internet"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Typ:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Brna(gateway):"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Rozhran:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Pipojen"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Nepipojen"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Pipojit..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Odpojit..."
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr "Pipojuji se k internetu..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Ukonuji pipojen..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Pipojen nen ukoneno.\n"
-"Zkuste to provst run sputnm\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"jako root."
-
-# ../.vygenerovat ./netconnect.pm_.c:528
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Pota je nyn odpojen."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Nastavuji pstup na Internet..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "Nastaven LAN"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adaptr"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Ovlada"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Rozhran"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokol"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Nastavuji lokln s..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Normn reim"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Pout"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "ekejte prosm... Aktivuji konfiguraci"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-"Nemte nakonfigurovno dn rozhran.\n"
-"Nastavte jej kliknutm na 'Konfigurovat'"
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "Nastaven LAN"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Adaptr %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Protokol o sputn"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Spustit pi startu"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP klient"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Vypnout"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Povolit"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-"Nemte dn pipojen k Internetu.\n"
-"Vytvote si jej kliknutm na 'Konfigurovat'"
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Konfigurace pipojen k internetu"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Konfigurace pipojen k internetu"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Typ pipojen:"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parametry"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "DNS poskytovatele .1 (voliteln)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "DNS poskytovatele .2 (voliteln)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Ethernetov karta"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP klient"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Dvee dokon"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Slab"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoidn"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Tato rove mus bt pouita s rozmyslem. Sice mete snadnji pouvat "
-"svj\n"
-"systm, ale na druhou stranu je velmi citliv: Nesm bt pouit pro\n"
-"pota pipojen k Internetu. Pro pihlen nen zapoteb dn heslo."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Hesla jsou nyn zapnuta, ale stle nedoporuuji pout tento pota na sti."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"V tto rovni zabezpeen je pr vylepen, hlavn vce bezpenostnch\n"
-"varovn a test."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Toto je standardn rove zabezpeen pro pota, kter je pouvn jako\n"
-"klient pro pipojen k internetu. Jsou tu bezpenostn testy."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"S touto bezpenostn rovn je mon pouvat pota jako server.\n"
-"Bezpenost je nyn dostaten pro server s pipojenm mnoha klient."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Tato rove m vlastnosti rovn 4, ale systm je pln uzaven.\n"
-"Toto je maximln bezpenostn rove."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "rove zabezpeen"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "dc centrum"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Zvolte si nstroj, kter chcete pout"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "pouit: keyboarddrake [--expert] [klvesnice]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Chcete aby se klvesa BackSpace chovala v konzoli jako Delete?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Vymnit CD-ROM"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Vlote prosm Instalan CD-ROM do mechaniky a stisknte Ok.\n"
-"Pokud CD nemte, stisknte Zruit pro peruen aktualizace systmu."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Nelze spustit upgrade na bc systm !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "nebylo nalezeno serial_usb\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emulovat tet tlatko?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Vyzkouejte prosm, zda fungujei my"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Monitorovn st"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Statistiky"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Rychlost odesln: "
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Rychlost pjmu: "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Zavt"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "Pipojovn k Internetu"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "Odpojovn od Internetu"
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "Odpojen od Internetu selhalo."
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "Odpojen od Internetu ukoneno."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Pipojen dokoneno."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"Pipojen selhalo.\n"
-"Zkontrolujte si nastaven v dcm centru Mandrake."
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "poslno: "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "pijato: "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Pipojit"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Odpojit"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Konfigurace firewallu"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Konfigurace firewallu"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Firewall\n"
-"\n"
-"Firewall je ji nastaven.\n"
-"Kliknte na Konfigurovat pro zmnu nebo odebrn firewallu"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Firewall\n"
-"\n"
-"Kliknte na Konfigurovat pro standardn firewall"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"Konfigurace tinyfirewalli\n"
-"\n"
-"Zde je mon nastavit jednoduch firewall pro Linux-Mandrake.\n"
-"Pro vkonn een firewallu pouijte specializovanou\n"
-"distribuci MandrakeSecurity Firewall."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Nyn budete dotzni v nkolika otzkch na sluby, kter chcete mt\n"
-"pstupn z Internetu. Zamyslete se prosm dobe nad tmito\n"
-"otzkami, protoe bezpenost potae je dleit.\n"
-"\n"
-"Pokud nepouvte dle vyjmenovan sluby, zakate je prosm.\n"
-"Tyto volby lze kdykoliv zmnit sputnm tto aplikace!"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Potebujete na tomto potai web server, kter je pstupn\n"
-"z Internetu? Pokud potebujete webov server pstupn pouze\n"
-"z tohoto stroje, odpovzte na tuto otzku Ne.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Pouvte na tomto serveru jmenn server? Pokud ne a nepotebujete\n"
-"pedvat jinm potam informace o IP adresch, odpovzte Ne.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Chcete povolit pchoz ssh (Secure Shell) spojen? Ssh je nhrada\n"
-"za telnet, kter umouje vzdlen pihlen. Pokud nyn\n"
-"pouvte telnet, je velmi vhodn pejt na ssh. Telnet nen\n"
-"kryptovan -- kdokoliv me zjistit heslo, pokud ho pi telnetu\n"
-"pouijete. Na rozdl od telnetu je ssh kryptovan, take nen\n"
-"mon, aby kdokoliv zjistil heslo."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Chcete povolit pchoz spojen pes telnet?\n"
-"To je VELMI nebezpen, tak jak u bylo vysvtleno na pedchoz\n"
-"obrazovce. Drazn doporuujeme odpovdt Ne a pout namsto\n"
-"telnetu ssh.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Pouvte FTP server, kter je pstupn z Internetu? Pokud ano,\n"
-"je doporueno jej pouvat pouze pro anonymn pstup. Protoe FTP\n"
-"pro pstup nepouv dn kryptovn, je mon, e zaslan heslo me\n"
-"zskat kdokoliv, i potenciln tonk.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Pouvte mailov server? Pokud poslte potu pes klienta pine,\n"
-"mutt nebo jinho textovho klienta, tak zejm ano. V jinch\n"
-"ppadech to zakate na firewalu.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Pouvte na tomto serveru POP nebo IMAP? Ty se pouvaj\n"
-"pro pstup lid k emailovm tm (ne pes web).\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Pouvte jdro verze 2.2. Pokud je sov IP adresa automaticky\n"
-"pidlena potai doma nebo v prci (dynamick pidlen),\n"
-"potebujeme tuto monost povolit. Je to tento ppad?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Bude v pota synchronizovn s jinm pota?\n"
-"Vtinou se to pouv v organizacch s vtm potem Unix/Linux\n"
-"pota pro sychronizaci logovn a podobn. Pokud nejste\n"
-"soust vtho celku nebo jste o niem podobnm neslyeli,\n"
-"synchronizaci nepotebujete."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Konfigurace je hotova. Je mon zapsat tyto zmny na disk?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "Nelze otevt %s: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Chyba pi otevrn %s pro zpis: %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Klienti pro rzn verze protokolu ssh"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Vvoj"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Pracovn stanice"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Firewall/Router"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Sprvce osobnch informac (PIM)"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimdia - grafika"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Sov pota (klient)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Nstroje pro zvuk: pehrvae mp3 a midi, mixry a dal"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Internetov stanice"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Kancel"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimdiln stanice"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Kolekce nstroj pro ten a poslan mail (pine, mutt, tin..) a pro "
-"prohlen Webu"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "Knihovny pro vvoj v C a C++, programy a hlavikov soubory"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Domnov jmna a sov informan server"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Programy na sprvu financ jako nap. gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "Databzov servery PostreSQL nebo MySQL"
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS server, SMB server, Proxy server, SSH server"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentace"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm a dal"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Utility"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Grafick prosted"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimdia - zvuk"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Zbavn programy: deskov hry, strategie, atd."
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Pehrvae a editory videa"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Konzolov nstroje"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Programy pro pehrvn/editaci zvuku a videa"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Vdeck stanice"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editory, shelly, souborov nstroje, terminly"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Knihy a Howto o Linuxu a Free Software"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Grafick prosted s uivatelsky pvtivm seskupenm aplikac a pracovn "
-"plochou"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr "Potovn server postfix, server pro news Inn"
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Hry"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimdia - video"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Sov server"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Grafick programy jako nap. Gimp"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Kancelsk stanice"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"K Desktop Environment, zkladn grafick prosted s kolekc doprovodnch "
-"nstroj"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Dal grafick desktopy Gnome, IceWM)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Nstroje pro vytven a vypalovn CD"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimdia - vypalovn CD"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Archivace, emultory, minitoring"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Databze"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Programy pro kancel: textov procesory (kword, abiword), tabulkov "
-"procesory (kspread, gnumeric), prohlee pdf a dal"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Server"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Sprva osobnch financ"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Nastaven"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "Pracovn stanice s KDE"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Dal grafick desktopy"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache a Pro-ftpd"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Pota/Groupware/News"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Pracovn stanice s Gnome"
-
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr "Internetov brna"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Nstroje pro v Palm Pilot nebo Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Hry"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm a dal"
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Nstroje pro snadnou konfiguraci potae"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr "Skupina program pro mail, newsy, web, penos soubor a chat"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "KB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minut(y)"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minuta"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d sekund"
diff --git a/perl-install/share/po/cy.po b/perl-install/share/po/cy.po
deleted file mode 100644
index 49c8084b7..000000000
--- a/perl-install/share/po/cy.po
+++ /dev/null
@@ -1,7065 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Copyright (c) 1999 MandrakeSoft
-# Dafydd Tomos <dafydd@imaginet.co.uk>, 1999
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 1999-11-17 17:21+0100\n"
-"Last-Translator: Dafydd Tomos <dafydd@imaginet.co.uk>\n"
-"Language-Team: Welsh\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-14\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Cerdyn graffeg"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Dewiswch gerdyn graffeg"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Dewiswch weinydd X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "Gweinydd X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, fuzzy, c-format
-msgid "XFree %s"
-msgstr "Gweinydd XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:312
-#, fuzzy
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:371
-#, fuzzy
-msgid "XFree configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Dewiswch faint y cof yn eich cerdyn graffeg"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Dewiswch opsiynau ar gyfer y gweinydd"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Dewiswch fonitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Fe gafwyd gwall:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Gadael mewn %d eiliad"
-
-#: ../../Xconfigurator.pm_.c:630
-#, fuzzy
-msgid "Is this the correct setting?"
-msgstr "Ydi hyn yn gywir?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Cerdyn graffeg: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Gweinydd XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr "Ext2"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Dangos i gyd"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Ffurf yr allweddell: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Math y llygoden: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Dyfais y lygoden: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Cerdyn graffeg: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Cof graffeg: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Gweinydd XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, fuzzy, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Gweinydd XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Beth ydych eisiau wneud?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Newid Monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Newid cerdyn graffeg"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Dangos gwybodaeth"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Profi eto"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Gorffen"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, fuzzy, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X wrth ddechrau"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Fe alla'i osod eich cyfrifiadur i ddechrau X yn otomatig ar l bwtio\n"
-"Hoffech chi X i ddechrau wedi i chi ail-fwtio?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 lliw (8 did)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mil o liwiau (15 did)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mil o liwiau (16 did)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 miliwn o liwiau (24 did)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 biliwn o liwiau (32 did)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB neu fwy"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "VGA safonol, 640x480 ar 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Uwch VGA, 800x600 ar 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514 cydweithiol, 1024x768 ar 87 Hz masgledig (dim 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "SVGA, 1024x768 ar 87Hz masgledig, 800x600 ar 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "SVGA estynedig, 800x600 ar 60 Hz, 640x480 ar 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "SVGA Di-fasgledig, 1024x768 ar 60 Hz, 800x600 ar 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "SVGA amledd uchel, 1024x768 ar 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Amledd newidiol sydd yn gallu dangos 1280x1024 ar 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Amledd newidiol sydd yn gallu dangos 1280x1024 ar 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Amledd newidiol sydd yn gallu dangos 1280x1024 ar 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor sydd yn gallu dangos 1600x1200 ar 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor sydd yn gallu dangos 1600x1200 ar 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr ""
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr ""
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr ""
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr ""
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr ""
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr ""
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr ""
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr ""
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr ""
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr ""
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr ""
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr ""
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr ""
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr ""
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr ""
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr ""
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr ""
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr ""
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr ""
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr ""
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr ""
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr ""
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr ""
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr ""
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Wedi ei wneud"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr ""
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr ""
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr ""
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr ""
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr ""
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr ""
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr ""
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr ""
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr ""
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr ""
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr ""
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr ""
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr ""
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr ""
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr ""
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr ""
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr ""
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr ""
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr ""
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr ""
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr ""
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr ""
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Na"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Ie"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr ""
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr ""
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr ""
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr ""
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr ""
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr ""
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr ""
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr ""
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr ""
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr ""
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr ""
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr ""
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr ""
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr ""
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr ""
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr ""
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr ""
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr ""
-
-#: ../../any.pm_.c:767
-#, fuzzy
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Fe alla'i osod eich cyfrifiadur i ddechrau X yn otomatig ar l bwtio\n"
-"Hoffech chi X i ddechrau wedi i chi ail-fwtio?"
-
-#: ../../any.pm_.c:769
-#, fuzzy
-msgid "Choose the default user:"
-msgstr "Dewiswch y maint newydd"
-
-#: ../../any.pm_.c:770
-#, fuzzy
-msgid "Choose the window manager to run:"
-msgstr "Dewiswch weithred"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr ""
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr ""
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr ""
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-#, fuzzy
-msgid "/_Help"
-msgstr "Cymorth"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "Monitor"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "Newid Monitor"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr "Ext2"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-msgid "Default Runlevel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Creu"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Dileu"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Fformatio"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Newid maint"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Math"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Ysgrifennu /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Cyffredinol > Arbennigwr"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Arbennigwr > Cyffredinol"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Llwytho o ffeil"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Arbed i ffeil"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Llwytho o flopi"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Arbed ar flopi"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Clirio i gyd"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Fformatio i gyd"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Mae pob rhaniad cynradd wedi ei ddefnyddio"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Alla'i ddim ychwanegu unrhyw raniadau ychwanegol"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr "I gael mwy o raniadau, dilwch un er mwyn gallu creu rhaniad estynedig"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Dadwneud"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Sgrifennu y tabl rhaniadau"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr "Symud"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Gwag"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Arall"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Mathau ffeil-system:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Manylion"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Darllenwch yn ofalus!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr ""
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Gwall"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Dyfais: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Llythyren disg-yrrwr yn DOS: %s (dim ond dyfalu)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Math: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Dechrau: sector %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Maint: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sector"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Silindr %d i silindr %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Wedi fformatio\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Heb ei fformatio\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Y rhaniad i'w bwtio fel rheol\n"
-" (ar gyfer bwt MS-DOS, nid ar gyfer lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Lefel %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-#, fuzzy
-msgid "Please click on a partition"
-msgstr "Creu rhaniad newydd"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Maint: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometreg: %s silindr, %s pen, %s sector\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:303
-#, fuzzy, c-format
-msgid "Partition table type: %s\n"
-msgstr "Sgrifennu y tabl rhaniadau"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "ar fws %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Dewiswch weithred"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Mae'n flin gen i ond ni alla'i dderbyn creu /boot mor bell o ddechrau'r disg "
-"(ar silindr > 1024).\n"
-"Naill ai nad ydych yn defnyddio LILO a ddim angen /boot neu byddwch yn "
-"defnyddio LILO a ni fydd yn gweithio."
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Mae'r rhaniad rydych wedi dewis ychwanegu fel y gwraidd (/) wedi'i leoli yn "
-"bellach na 1024ed silindr eich disg a nid oes gennych rhaniad /boot.\n"
-"Os ydych yn bwriadu defnyddio y rheolwr bwtio LILO, nodwch fe ddylech greu "
-"rhaniad /boot"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, fuzzy, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr "fe fydd yr holl wybodaeth ar y rhaniad yma yn cael ei ddileu"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Gorffen heb arbed"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Gorffen heb ysgrifennu y tabl rhaniadau?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Newid math y rhaniad"
-
-#: ../../diskdrake.pm_.c:517
-#, fuzzy
-msgid "Which filesystem do you want?"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:537
-#, fuzzy, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Pa sector hoffech chi symud iddo?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:561
-#, fuzzy, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "fe fydd yr holl wybodaeth ar y rhaniad yma yn cael ei ddileu"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Fformatio"
-
-#: ../../diskdrake.pm_.c:564
-#, fuzzy, c-format
-msgid "Formatting loopback file %s"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Ar l fformatio pob rhaniad,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "mi fydd yr holl wybodaeth ar y rhaniadau yma yn cael ei ddileu"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Symud"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sector"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Pa sector hoffech chi symud iddo?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Symud"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Yn symud rhaniad.."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Mae tabl rhaniad disg-yrrwr %s am gael ei ysgrifennu i'r disg!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Mi fydd angen i chi ail-fwtio cyn i'r newidiadau gymeryd lle"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Newid maint"
-
-#: ../../diskdrake.pm_.c:643
-#, fuzzy
-msgid "This partition is not resizeable"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../diskdrake.pm_.c:648
-#, fuzzy
-msgid "All data on this partition should be backed-up"
-msgstr "fe fydd yr holl wybodaeth ar y rhaniad yma yn cael ei ddileu"
-
-#: ../../diskdrake.pm_.c:650
-#, fuzzy, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "fe fydd yr holl wybodaeth ar y rhaniad yma yn cael ei ddileu"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Dewiswch y maint newydd"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Creu rhaniad newydd"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Sector dechreuol: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Maint mewn MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Math o ffeilsystem: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Dewiswch ffeil"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Rhybudd"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Rhowch flopi yn y disg-yrrwr\n"
-"Mi fydd yr holl wybodaeth ar y fflopi yma yn gael ei ddileu"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Yn trio achub y tabl rhaniadau"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "dyfais"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "lefel"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "newydd"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Achub y tabl rhaniadau"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Ail-lwytho"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "mi fethodd y %s fformatio o %s"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr ""
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr ""
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:21
-#, fuzzy
-msgid "simple"
-msgstr "Ffeil"
-
-#: ../../fsedit.pm_.c:30
-#, fuzzy
-msgid "server"
-msgstr "Gweinydd X"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr ""
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Does gennych chi ddim rhaniadau!"
-
-#: ../../help.pm_.c:9
-#, fuzzy
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Dewiswch yr iaith hoffech weld ar gyfer gosodiad a defnydd y system"
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr ""
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr ""
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr ""
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr ""
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr ""
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr ""
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr ""
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr ""
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr ""
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr ""
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr ""
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr ""
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr ""
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr ""
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr ""
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr ""
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr ""
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr ""
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr ""
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:78
-#, fuzzy
-msgid "Use existing partition"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../install_interactive.pm_.c:80
-#, fuzzy
-msgid "There is no existing partition to use"
-msgstr "Yn trio achub y tabl rhaniadau"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:90
-#, fuzzy
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Pa sector hoffech chi symud iddo?"
-
-#: ../../install_interactive.pm_.c:92
-#, fuzzy
-msgid "Choose the sizes"
-msgstr "Dewiswch y maint newydd"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr ""
-
-#: ../../install_interactive.pm_.c:94
-#, fuzzy
-msgid "Swap partition size in MB: "
-msgstr "Maint mewn MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:105
-#, fuzzy
-msgid "Which partition do you want to resize?"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-
-#: ../../install_interactive.pm_.c:123
-#, fuzzy
-msgid "Which size do you want to keep for windows on"
-msgstr "Pa sector hoffech chi symud iddo?"
-
-#: ../../install_interactive.pm_.c:124
-#, fuzzy, c-format
-msgid "partition %s"
-msgstr "Ar l %s rhaniad %"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:157
-#, fuzzy, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "fe fydd yr holl wybodaeth ar y rhaniad yma yn cael ei ddileu"
-
-#: ../../install_interactive.pm_.c:165
-#, fuzzy
-msgid "Custom disk partitioning"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:201
-#, fuzzy
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Does gennych chi ddim rhaniadau!"
-
-#: ../../install_interactive.pm_.c:217
-#, fuzzy
-msgid "I can't find any room for installing"
-msgstr "Alla'i ddim ychwanegu unrhyw raniadau ychwanegol"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:226
-#, fuzzy, c-format
-msgid "Partitioning failed: %s"
-msgstr "Sgrifennu y tabl rhaniadau"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr ""
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr ""
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr ""
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr ""
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:287
-#, fuzzy
-msgid "Choose the size you want to install"
-msgstr "Dewiswch weithred"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:237
-#, fuzzy
-msgid "Percentage of packages to install"
-msgstr "Dewiswch weithred"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:471
-#, fuzzy
-msgid "The following packages are going to be installed"
-msgstr "Dewiswch weithred"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:563
-#, fuzzy
-msgid "Estimating"
-msgstr "fformatio"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-#, fuzzy
-msgid "Refuse"
-msgstr "Newid maint"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:37
-#, fuzzy
-msgid "An error occurred"
-msgstr "Fe gafwyd gwall:"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-#, fuzzy
-msgid "Which installation class do you want?"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-#, fuzzy
-msgid "Expert"
-msgstr "Ext2"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:280
-#, fuzzy
-msgid "Configuring IDE"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:295
-#, fuzzy
-msgid "no available partitions"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-#, fuzzy
-msgid "Choose the mount points"
-msgstr "Dewiswch weithred"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:361
-#, fuzzy
-msgid "Root Partition"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../install_steps_interactive.pm_.c:362
-#, fuzzy
-msgid "What is the root partition (/) of your system?"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../install_steps_interactive.pm_.c:376
-#, fuzzy
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Mi fydd angen i chi ail-fwtio cyn i'r newidiadau gymeryd lle"
-
-#: ../../install_steps_interactive.pm_.c:403
-#, fuzzy
-msgid "Choose the partitions you want to format"
-msgstr "Dewiswch weithred"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:427
-#, fuzzy
-msgid "Formatting partitions"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:438
-#, fuzzy
-msgid "Looking for available packages"
-msgstr "Yn fformatio rhaniad %s"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:486
-#, fuzzy
-msgid "Custom"
-msgstr "Wedi fformatio\n"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:693
-#, fuzzy
-msgid "Post-install configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:764
-#, fuzzy
-msgid "Please choose the packages you want to install."
-msgstr "Dewiswch weithred"
-
-#: ../../install_steps_interactive.pm_.c:776
-#, fuzzy
-msgid "Which is your timezone?"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr "Symud"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-#, fuzzy
-msgid "Which printing system do you want to use?"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:916
-#, fuzzy
-msgid "NIS Server"
-msgstr "Gweinydd X"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:967
-#, fuzzy
-msgid "First floppy drive"
-msgstr "Fformatio i gyd"
-
-#: ../../install_steps_interactive.pm_.c:968
-#, fuzzy
-msgid "Second floppy drive"
-msgstr "Arbed ar flopi"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:987
-#, fuzzy
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Dewiswch weithred"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1010
-#, fuzzy
-msgid "Do you want to use aboot?"
-msgstr "Beth ydych eisiau wneud?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-#, fuzzy
-msgid "Creating auto install floppy"
-msgstr "Arbed ar flopi"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr "Arbed ar flopi"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Automated"
-msgstr "Wedi fformatio\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr "Ail-lwytho"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr ""
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr ""
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr ""
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr ""
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr ""
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr ""
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr ""
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr ""
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr ""
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr ""
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr ""
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr ""
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr ""
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr ""
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr ""
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr ""
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr ""
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr ""
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr ""
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr ""
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr ""
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr ""
-
-#: ../../mouse.pm_.c:45
-#, fuzzy
-msgid "Wheel"
-msgstr "lefel"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr ""
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr ""
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr ""
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr ""
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr ""
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr ""
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr ""
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr ""
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:72
-#, fuzzy
-msgid "none"
-msgstr "Wedi ei wneud"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Ydi hyn yn gywir?"
-
-#: ../../netconnect.pm_.c:143
-#, fuzzy
-msgid "Internet configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:144
-#, fuzzy
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr ""
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid "The system is now connected to Internet."
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-#, fuzzy
-msgid "Network Configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-#, fuzzy
-msgid "ISDN Configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-
-#: ../../netconnect.pm_.c:236
-#, fuzzy
-msgid "Connection Configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr ""
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr ""
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr ""
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr ""
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr ""
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr ""
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:267
-#, fuzzy
-msgid "Which protocol do you want to use ?"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr ""
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr ""
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-#, fuzzy
-msgid "Choose the network interface"
-msgstr "Dewiswch y maint newydd"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-#, fuzzy
-msgid "I'm about to restart the network device:\n"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:484
-#, fuzzy
-msgid "ADSL configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:485
-#, fuzzy
-msgid "Do you want to start your connection at boot?"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr ""
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr ""
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-#, fuzzy
-msgid "Connection name"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-#, fuzzy
-msgid "Login ID"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr ""
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr ""
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr ""
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr "Gweinydd X"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr "Arbed ar flopi"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-#, fuzzy
-msgid "You are currently connected to internet."
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid "You are not currently connected to Internet."
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-#, fuzzy
-msgid "Connect to Internet"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:754
-#, fuzzy
-msgid "Disconnect from Internet"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:756
-#, fuzzy
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:759
-#, fuzzy
-msgid "Internet connection & configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "External ISDN modem"
-msgstr "Ext2"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr ""
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-#, fuzzy
-msgid "Connect to the Internet"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:846
-#, fuzzy, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:883
-#, fuzzy
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#: ../../netconnect.pm_.c:900
-#, fuzzy
-msgid "Network configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:901
-#, fuzzy
-msgid "Do you want to restart the network"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr "Dewiswch y maint newydd"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr ""
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-#, fuzzy
-msgid "How do you want to connect to the Internet?"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr ""
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr ""
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr ""
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr ""
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr ""
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr ""
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr ""
-
-#: ../../network.pm_.c:338
-#, fuzzy
-msgid "Automatic IP"
-msgstr "Wedi fformatio\n"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr ""
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-
-#: ../../network.pm_.c:393
-#, fuzzy
-msgid "DNS server"
-msgstr "Gweinydd X"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr ""
-
-#: ../../network.pm_.c:396
-#, fuzzy
-msgid "Gateway device"
-msgstr "dyfais"
-
-#: ../../network.pm_.c:407
-#, fuzzy
-msgid "Proxies configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr ""
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr ""
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr ""
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr ""
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr ""
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr ""
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr ""
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr ""
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr ""
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr ""
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr ""
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr ""
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr ""
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr ""
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr ""
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr ""
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr ""
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr ""
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr ""
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-#, fuzzy
-msgid "Port"
-msgstr "Fformatio"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:370
-#, fuzzy
-msgid "CUPS starting"
-msgstr "fformatio"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr "Gweinydd X"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr ""
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr ""
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr ""
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr ""
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr ""
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ""
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr "Rhybudd"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr ""
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr ""
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "reconfigure"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-#, fuzzy
-msgid "Firewalling configuration detected!"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:276
-#, fuzzy
-msgid "Configuring..."
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:147
-#, fuzzy
-msgid "Internet access"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr "Math: "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-#, fuzzy
-msgid "Gateway:"
-msgstr "dyfais"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr "Gweinydd X"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Normal Mode"
-msgstr "Fformatio"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr ""
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr ""
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr ""
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr ""
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr ""
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr ""
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:131
-msgid "Test the mouse here."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "Symud"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr "Dogfennau"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Graphics"
-msgstr "Aml-gyfrwng"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Swyddfa"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr "Aml-gyfrwng"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dogfennau"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Sound"
-msgstr "Aml-gyfrwng"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Video"
-msgstr "Aml-gyfrwng"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - CD Burning"
-msgstr "Aml-gyfrwng"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr "Gweinydd X"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Configuration"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Gnome Workstation"
-msgstr "Dogfennau"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Yn parataoi cyfluniad X-Window"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr "Dogfennau"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-
-#, fuzzy
-#~ msgid "%d seconds"
-#~ msgstr "Gadael mewn %d eiliad"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr "Dewiswch ffeil"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Create a boot floppy"
-#~ msgstr "Arbed ar flopi"
-
-#, fuzzy
-#~ msgid "Format floppy"
-#~ msgstr "Fformatio i gyd"
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr "Monitor"
-
-#, fuzzy
-#~ msgid "Internet/Network access"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Mail information"
-#~ msgstr "Dangos gwybodaeth"
-
-#, fuzzy
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "First DNS Server"
-#~ msgstr "Gweinydd X"
-
-#, fuzzy
-#~ msgid "Second DNS Server"
-#~ msgstr "Arbed ar flopi"
-
-#, fuzzy
-#~ msgid "None"
-#~ msgstr "Wedi ei wneud"
-
-#, fuzzy
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Pa sector hoffech chi symud iddo?"
-
-#, fuzzy
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#~ msgid "Multimedia"
-#~ msgstr "Aml-gyfrwng"
-
-#, fuzzy
-#~ msgid "Gnome"
-#~ msgstr "Wedi ei wneud"
-
-#, fuzzy
-#~ msgid "Internet Tools"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Enable num lock at startup"
-#~ msgstr "X wrth ddechrau"
-
-#, fuzzy
-#~ msgid "What is your system used for?"
-#~ msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#, fuzzy
-#~ msgid "Select the size you want to install"
-#~ msgstr "Dewiswch weithred"
-
-#, fuzzy
-#~ msgid "Customized"
-#~ msgstr "Wedi fformatio\n"
-
-#, fuzzy
-#~ msgid "Remove"
-#~ msgstr "Symud"
-
-#, fuzzy
-#~ msgid "Choose package to install"
-#~ msgstr "Dewiswch weithred"
-
-#, fuzzy
-#~ msgid "ECI modem"
-#~ msgstr "Ext2"
-
-#, fuzzy
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#, fuzzy
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#, fuzzy
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#, fuzzy
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Pa ddisg hoffech chi symud iddo?"
-
-#, fuzzy
-#~ msgid "What do you wish to do?"
-#~ msgstr "Beth ydych eisiau wneud?"
-
-#, fuzzy
-#~ msgid "Rescue"
-#~ msgstr "Newid maint"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Pa fath o rhaniad ydych chi eisiau?"
-
-#, fuzzy
-#~ msgid "Configure LAN"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Everything configured!"
-#~ msgstr "Yn parataoi cyfluniad X-Window"
-
-#, fuzzy
-#~ msgid "Autologin - Choose default user"
-#~ msgstr "Dewiswch y maint newydd"
-
-#, fuzzy
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "Does gennych chi ddim rhaniadau!"
-
-#~ msgid "Normal > Expert"
-#~ msgstr "Cyffredinol > Arbennigwr"
-
-#~ msgid "Expert > Normal"
-#~ msgstr "Arbennigwr > Cyffredinol"
-
-#~ msgid "Size: %s MB"
-#~ msgstr "Maint: %s MB"
-
-#~ msgid "changing type of"
-#~ msgstr "newid math "
diff --git a/perl-install/share/po/da.po b/perl-install/share/po/da.po
deleted file mode 100644
index 636db1ef7..000000000
--- a/perl-install/share/po/da.po
+++ /dev/null
@@ -1,8345 +0,0 @@
-# Danish translation of/Dansk oversttelse af
-# Linux-Mandrake DrakX.
-# Copyright (C) 1999-2001 MandrakeSoft
-#
-# In order of activity:
-# 1, Keld Simonsen <keld@dkuug.dk>, 2000-2001
-# 2, Jacob Nordfalk <nordfalk@mobilixnet.dk>, 2001
-# 3, Troels Liebe Bentsen <tlb@iname.com>, 1999-2000
-# 4, Nikolaj Berg Amondsen <mr_nba@get2net.dk>, 2000
-# 5, Jacob Sparre Andersen, <sparre@sslug.dk>, 2000
-# 6, Kenneth Christiansen, <kenneth@ripen.dk>, 2000
-# 7, Jens Burkal <jburkal@get2net.dk>, 1999
-# 8, Mads Stenhuus Hansen <msh@com.dtu.dk>, 1999
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2001-04-08 08:21GMT-1\n"
-"Last-Translator: Jacob Nordfalk <nordfalk@mobilixnet.dk>\n"
-"Language-Team: da_DK <da@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.8\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Konfigurr alle skrme uafhngigt"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Brug Xinerama-udvidelse"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Konfigurr kun kort \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Flerskrms-konfiguration"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Dit system understtter konfiguration af flere skrme\n"
-"Hvad vil du gre?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Grafikkort"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Vlg et grafikkort"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Vlg en X-server"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X-server"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Hvilken konfiguration af XFree nsker du?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Dit kort kan have 3D acceleration, men kun med XFree %s.\n"
-"Dit kort er understttet af XFree %s som kan have bedre understttelse i 2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-"Dit kort kan have 3D hardware accelerations-understttelse med XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s med 3D hardware acceleration"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Dit kort kan have 3D acceleration understttelse, men kun med XFree %s,\n"
-"VIGTIGT: Dette er eksperimentelt og kan f din maskine til at lse eller g "
-"ned."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s med EKSPERMENTAL 3d hardware acceleration"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Dit kort kan have 3D acceleration understttelse, men kun med XFree %s.\n"
-"VIGTIGT: Dette er eksperimentelt og kan f din maskine til at lse eller g "
-"ned.\n"
-"Dit kort er understttet af XFree %s som kan have bedre understttelse i 2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree konfiguration"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Vlg hukommelsesmngde for dit grafikkort"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Vlg server-indstillinger"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Vlg en skrmtype"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Skrm"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"De to kritiske parametre er den lodrette frekvens, som angiver hvor mange\n"
-"gange (per sekund) hele skrmbilledet bliver genopfrisket, og (vigtigst af "
-"alt)\n"
-"den vandrette frekvens, som angiver antallet af vandrette linier der kan\n"
-"tegnes p skrmen hvert sekund.\n"
-"\n"
-"Det er MEGET VIGTIGT at du ikke angiver en skrmtype med "
-"opdateringsfrekvenser,\n"
-"der er strre end din skrms formen: du risikerer at delgge din skrm.\n"
-"Hvis du er i tvivl, br du vlge en opstning, som du med SIKKERHED ved\n"
-"at din skrm kan klare."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Vandret opdateringsfrekvens"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Lodret opdateringsfrekvens"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Skrm ikke konfigureret"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Grafikkort er endnu ikke konfigureret"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Oplsninger ikke valgt endnu"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "nsker du at afprve konfigurationen?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
-"Advarsel: afprvning af dette grafikkort kan f din maskine til at lse"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Test konfigurationen"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"prv at ndre nogle parametre"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "En fejl opstod:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Vender tilbage om %d sekunder"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Er dette den korrekte indstilling?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "En fejl opstod, prv at ndre nogle parametre"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Oplsning"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Vlg oplsning og farvedybde"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Grafikkort: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86-server: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Ekspert modus"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Vis alle"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Oplsninger"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Tastatur-type: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Muse-type: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Muse-enhed: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Skrm: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Skrms vandrette frekvens: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Skrms lodrette frekvens: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Grafikkort: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Grafik-hukommelse: %s kb\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Farvedybde: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Oplsninger %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86-server: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 driver: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Forbereder konfiguration af X"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Hvad nsker du at gre?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Skift skrmtype"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Skift grafikkort"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Foretag ndringer i server-indstillinger"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Skift oplsning"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Vis information"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Test igen"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Afslut"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Behold ndringer?\n"
-"Nuvrende konfiguration er:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Log venligst ind i %s igen for at aktivere ndringerne"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Log venligst ud og tryk herefter p Ctrl-Alt-Bak"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "Start X ved systemstart"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Jeg kan stte din maskine op til automatisk at starte X ved\n"
-"opstart. nsker du at starte X hver gang du genstarter?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 farver (8 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 tusinde farver (15 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 tusinde farver (16 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 millioner (24 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 milliarder farver (32 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kb"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kb"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 Mb eller mere"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standard-VGA, 640x480 ved 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super-VGA, 800x600 ved 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514 kompatibel, 1024x768 ved 87 Hz interlaced (ikke 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 ved 87 Hz interlaced, 800x600 ved 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Udvidet Super-VGA, 800x600 ved 60 Hz, 640x480 ved 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Non-Interlaced SVGA, 1024x768 ved 60 Hz, 800x600 ved 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Hjfrekvens SVGA, 1024x768 ved 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multi-frekvens, som kan klare 1280x1024 ved 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multi-frekvens, som kan klare 1280x1024 ved 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multi-frekvens, som kan klare 1280x1024 ved 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Skrm, som kan klare 1600x1200 ved 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Skrm, som kan klare 1600x1200 ved 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Frste sektor af opstartspartition"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Frste sektor p disken (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO-installering"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Hvor vil du placere opstartsprogrammet?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub-installering"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO med tekstmenu"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO med grafisk menu"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Start fra DOS/Windows (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Systemopstarterens hovedindstillinger"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Systemopstarter der skal bruges"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Systemopstarterens installation"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Opstartsenhed"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (virker ikke med gamle BIOS'er)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Kompakt"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "kompakt"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Videoindstilling"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Ventetid fr opstart af forvalgt styresystem"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Adgangskode"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Adgangskode (igen)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Begrns kommandolinie-indstillinger"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "begrns"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Rens /tmp ved hver systemopstart"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Prcis RAM-mngde, hvis pkrvet (fandt %d Mb)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Aktivr multiprofiler"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Angiv RAM-strrelse i Mb"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Indstillingen ``Begrns kommandolinie-indstillinger'' er intet vrd uden\n"
-"en adgangskode"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Prv venligst igen"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Adgangskoderne stemmer ikke overens"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Init-besked"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "ben firmwareforsinkelse"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Ventetid fr kerneopstart"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Skal det vre muligt at starte fra CD?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Skal det vre muligt at starte fra OF?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Forvalgt styresystem?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Her er flgende typer indgange.\n"
-"Du kan tilfje flere eller ndre de eksisterende."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Tilfj"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Frdig"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "ndr RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Hvilken type nsker du at tilfje"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Andet styresystem (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Andet styresystem (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Andet styresystem (Windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Billede"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Rod"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Vedhft"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Ls-skriv"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tabel"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Usikker"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Mrkat"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Forvalgt"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd-strrelse"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "Ingen video"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Fjern indgang"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Tom mrkat er ikke tilladt"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Denne mrkat er allerede brugt"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Hvilken slags partitionering?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Fandt %s %s grnsesnit"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Har du n til?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Har du nogen %s grnsesnit?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Nej"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Se info for maskinel"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Installerer driver for %s kort %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(modul %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Hvilken %s driver skal jeg prve?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"I nogen tilflde behver %s driveren at have ekstra information for at "
-"virke\n"
-"ordentligt, selv om den normalt virker fint uden. nsker du at angive "
-"ekstra\n"
-"optioner for den eller tillade driveren at sondere din maskine for\n"
-"den information den behver? Af og til vil sondering stoppe maskinen, men "
-"burde\n"
-"ikke forrsage nogen skader."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Automatisk sondering"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Specificr optioner"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Du kan nu give dens optioner til modul %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Du kan nu stte parametre til modulet %s.\n"
-"Parametrene er i formatet ``navn=vrdi navn2=vrdi2 ...''.\n"
-"F.eks., ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Modulindstillinger:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Indlsning af modul %s mislykkedes.\n"
-"nsker du at prve igen med andre parametre?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(har allerede tilfjet %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Adgangskoden er for simpel"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Indtast venligst et brugernavn"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "Brugernavnet m kun indeholde sm bogstaver, tal, `-' og `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Dette brugernavn eksisterer allerede"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Tilfj bruger"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Indtast en bruger\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Acceptr bruger"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Rigtige navn"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Brugernavn"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Skal"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Ikon"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Autologin"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Jeg kan stte din maskine op til automatisk at logge en bruger p.\n"
-"Hvis du ikke nsker denne facilitet, s klik p 'Annullr' knappen."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Vlg forvalgte bruger :"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Vlg den vinduesbehandler du nsker at benytte:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Velkommen til %s styresystems-vlger!\n"
-"\n"
-"Vlg et styresystem i den ovenstende liste eller\n"
-"vent %d sekunder for at starte standard.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the suggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Velkommen til GRUB styresystemsvlgeren!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Brug tasterne %c og %c til at vlge mellem mulighederne."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Tryk 'enter' for at starte det valgte OS, 'e' for at redigere"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "kommandoerne fr opstart, eller 'c' for en kommandolinie."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Den fremhvede mulighed vil blive startet automatisk om %d sekunder."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "Ikke nok plads i /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Skrivebord"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Start-menu"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "endnu er ingen hjlp implementeret.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Konfiguration af opstartsudseende"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Fil"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/fil/_Ny"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<kontrol>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Fil/_bn"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<kontrol>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Fil/_Gem"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<kontrol>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Fil/Gem _som"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "Fil/_"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Fil/_Afslut"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<kontrol>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Valg"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Valg/Afprv"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Hjlp"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Hjlp/_Om..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Konfigurr"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Velkommen til vrktjet til deling af internetforbindelse!"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr "Opringningsmde"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Katergoriserende oversigt i ny stil"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Oversigt i ny stil"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Traditionel oversigt"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Traditionel Gtk+-oversigt"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Start Aurora ved opstart"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Opstartsmde"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Start X-vinduessystemet efter opstart"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Nej, jeg nsker ikke automatisk login"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Ja, jeg nsker automatisk login med denne (bruger, skrivebord)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Systemmodus"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Forvalgt"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Annullr"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "kan ikke lse /etc/inittab: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "kan ikke lse /etc/sysconfig/autologin: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Installationen af LILO mislykkedes. Flgende fejl opstod:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Opret"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Afmontr"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Slet"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatr"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Strrelsesndring"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Type"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Monteringssti"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Skriv /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Normal -> Ekspert"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Ekspert -> Normal"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Genskab fra fil"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Gem i fil"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Guide"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Genskab fra diskette"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Gem p diskette"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Slet alt"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formatr alle"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Allokr automatisk"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Alle primre partitioner er brugt"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Kan ikke tilfje flere partitioner"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"For at du kan f flere partitioner, skal du slette n, s der kan oprettes "
-"en udvidet partition"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Ikke nok fri plads til at tildele nye partitioner automatisk"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Fortryd"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Skriv partitionstabellen"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Mere"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Tom"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Andet"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Filsystems-typer:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detaljer"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Du har n stor FAT partition.\n"
-"(normalt brugt af Microsoft Dos/Windows).\n"
-"Jeg anbefaler, at du ndrer strrelsen p partitionen\n"
-"(klik p den, og klik herefter p \"Strrelsesndring\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Lav venligst en sikkerhedkopi af dine data frst"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Ls omhyggeligt!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Hvis du planlgger at bruge Yaboot, skal du huske at efterlade fri plads p\n"
-"begyndelsen af disken (2048 sektorer skulle vre nok)"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Vr forsigtig: denne operation er farlig."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Fejl"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Monteringssti: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Enhed: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS-drevbogstav: %s (bare et gt)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Type: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Navn: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Start: sektor %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Strrelse: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektorer"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Cylinder %d til cylinder %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formateret\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Ikke formateret\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Monteret\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback-fil(er): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Partition som opstartes som standard\n"
-" (glder kun MS-DOS-opstart, ikke LILO)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Niveau %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Enhedsstrrelse %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-diske %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Loopback-filnavn: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Denne partition er nok\n"
-"en driver-partition, du skal\n"
-"sandsynligvis lade den vre.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Denne specielle Bootstrap-\n"
-"partition er for at\n"
-"dual-boote dit system.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Klik venligst p en partition"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Strrelse: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Opbygning: %s cylindre, %s hoveder, %s sektorer\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-diske %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Partitionstabel-type: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "p bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Montr"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktiv"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Tilfj til RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Fjern fra RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "ndr RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Tilfj til LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Fjern fra LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Loopback anvendelse"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Vlg handling"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Jeg kan desvrre ikke p nuvrende tidspunkt acceptere at oprette /boot p\n"
-"drevet (p en cylinder > 1024).\n"
-"Enten benytter du LILO, hvilket ikke vil fungere, eller du kan undlade at "
-"benytte\n"
-"LILO, hvilket vil betyde, at du ikke har brug for /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Den partition som du har valgt som rod-partition (/) er fysisk placeret ud\n"
-"over cylinder nr. 1024 p harddisken, og du har ikke lavet nogen /boot\n"
-"partition. Hvis du nsker at benytte LILO, skal du oprette en /boot "
-"partition\n"
-"indenfor 1024-cylinder grnsen."
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Du har valgt en programmeret RAID-partition som rod (/).\n"
-"Ingen systemopstarter kan hndtere dette uden en /boot partition.\n"
-"S vr omhyggelig med at tilfje en /boot partition"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Benyt ``%s'' i stedet"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Benyt ``Afmontr'' frst"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Efter type-ndring af partition %s vil alle data p denne partition g tabt"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Fortst alligevel?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Afslut uden at gemme"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Afslut uden at skrive partitionstabellen?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Skift partitionstype"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Hvilket filsystem nsker du at bruge?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Du kan ikke bruge ReiserFS p partitioner mindre end 32Mb"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Hvor nsker du at montere loopback-fil %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Hvor nsker du at montere partitionen %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Kan ikke fjerne monteringssti, da denne partition bliver brugt til "
-"loopback.\n"
-"Fjern loopback frst"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"Efter formatering af partitionen %s vil alle data p denne partition g tabt"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formaterer"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formaterer loopback-fil %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formaterer partition %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Efter formatering alle partitioner"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "vil alle data p disse partitioner g tabt"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Flyt"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Hvilken disk nsker du at flytte den til?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Hvilken sektor nsker du at flytte den til?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Flytter"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Flytter partition..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Partitionstabellen for disk %s vil nu blive skrevet p disken!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Du skal genstarte maskinen for at aktivere ndringerne"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Udregner FAT-filsystemets grnser"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "ndrer strrelsen"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Strrelsen p denne partition kan ikke ndres"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Det br laves en backup af alle data p denne partition"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"Efter ndring af strrelsen af partition %s, vil alle data p denne "
-"partition g tabt"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Vlg den nye strrelse"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "Mb"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Opret en ny partition"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Startsektor: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Strrelse i Mb: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Filsystemstype: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Prference: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Denne partition kan ikke bruges til loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Loopback-filnavn: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Filen er allerede brugt af en anden loopback, vlg en anden fil"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Filen findes allerede. Skal den bruges?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Vlg fil"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Kopien af partitionstabellen har ikke samme strrelse\n"
-"Fortst alligevel?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Advarsel"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Indst en diskette i diskettedrevet\n"
-"Alle data p disketten vil blive slettet"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Forsger at redde partitionstabellen"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "enhed"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "niveau"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "enhedsstrrelse"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Vlg en eksisterende RAID som skal udvides"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "ny"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Vlg en eksisterende LVM som skal udvides"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "LVM-navn?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Automatisk montering af flytbare medier"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Red partitionstabellen"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Genindls"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formatering af %s mislykkedes"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "Ved ikke hvordan man formaterer %s som type %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "montering mislykkedes: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "fejl ved afmontering af %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "simpel"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "server"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Monteringsstier skal begynde med /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Der findes allerede en partition med monterings-sti %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Cirkulre monteringer %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "Du kan ikke bruge et LVM logisk delarkiv for monteringspunkt %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Dette katalog br ligge p rod-filsystemet"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Du skal have et rigtigt filsystem (ext2, reiserfs) til dette "
-"monteringspunkt\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Fejl ved bning af %s for skrivning: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Der er opstet en fejl - der kunne ikke findes nogen gyldige enheder, hvor "
-"der kan oprettes nye filsystemer. Undersg venligst din maskine for at finde "
-"rsagen til problemet"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Du har ikke nogen partitioner!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Vlg dit foretrukne sprog til installations- og system-brug."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Du bliver nd til at acceptere den ovenstende licens for at fortstte "
-"installationen.\n"
-"\n"
-"\n"
-"Tryk venligst p \"Acceptr\" hvis du er enig med betingelserne i licensen.\n"
-"\n"
-"\n"
-"Tryk venligst p \"Acceptr ikke\" hvis du er uenig med betingelserne. "
-"Installationen vil stoppe uden af ndre din\n"
-"nuvrende konfiguration."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Vlg den udlgning der svarer til dit tastatur fra listen ovenover"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Hvis du nsker at andre sprog (end det du har valgt ved\n"
-"begyndelsen af installationen) skal vre tilgngelige efter installationen, "
-"s vlg dem\n"
-"venligst fra listen ovenfor. Hvis du nsker at vlge dem alle s tryk p "
-"\"Alle\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Vlg venligst \"Installr\" hvis du ikke har nogen tidligere version af "
-"Linux-Mandrake\n"
-"installeret eller du nsker at have flere operativsystemer.\n"
-"\n"
-"\n"
-"Vlg venligst \"Opdatr\" hvis nsker at at opdatere en allerede installeret "
-"version af Linux-Mandrake.\n"
-"\n"
-"\n"
-"Afhngig af din viden om GNU/Linux kan du vlge en af de flgende niveauer "
-"under din installation eller opdatering\n"
-"af Linux-Mandrake:\n"
-"\n"
-"\t* Anbefalet: hvis du aldrig har installeret et GNU/Linux operativ system "
-"s vlg det her. Installationen vil\n"
-"\t vre meget nem og du vil kun blive stillet nogen f sprgsml.\n"
-"\n"
-"\n"
-"\t* Tilpasset: hvis du kender en del til GNU/Linux, kan du vlge den primre "
-"brug (arbejdsstation, server,\n"
-"\t udvikling) af systemet. Du kommer til at besvare 2 yderligere sprgsml "
-"end hvis du vlger \"Anbefalet\" installation\n"
-"\t niveau, s det er ndvendigt at du ved hvordan GNU/Linux virker hvis du "
-"vlger dette installationsniveau\n"
-"\n"
-"\n"
-"\t* Ekspert: hvis du har en god viden om GNU/Linux, kan du vlge dette "
-"installationsniveau. Som i \"Tilpasset\"\n"
-"\t installationsniveauet kan du vlge den primre brug (arbejdsstation, "
-"server, udvikling). Vr forsigtig\n"
-"\t fr du vlger dette installationsniveau. Du vil vre i stand til at lave "
-"meget tilpassede installationer.\n"
-"\t nogen af sprgsmlene du vil blive stillet kan vre svre hvis du ikke "
-"har s et s godt kendskab til GNU/Linux. S lad vre med at vlge\n"
-"\t dette installationsniveau, medmindre du ved hvad du laver."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Valgmuligheder:\n"
-"\n"
-" - Tilpasset: Hvis du kender til Linux, har du mulighed for at vlge, hvad\n"
-" din maskine primrt skal benyttes til. Se nedenfor for detaljer.\n"
-"\n"
-"\n"
-" - Ekspert: Her antages det at du er ekspert i GNU/Linux og nsker en "
-"specielt\n"
-" \"skrddersyet\" installation. Du vil ogs her f mulighed for\n"
-" at vlge din maskines anvendelsesomrde som under \"Tilpasset\"\n"
-" Men vr nu rigtig sd og VLG IKKE DETTE UDEN AT DU VED HVAD DU GR!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Du skal nu definere maskinens brug. Mulighederne er:\n"
-"\n"
-"\t* Arbejdsstation: dette er det ideelle valg hvis du agter at bruge din "
-"maskine dagligt p kontoret eller\n"
-"\t derhjemme.\n"
-"\n"
-"\n"
-"\t* Udvikling: hvis du agter primrt at bruge din maskine til udvikling af "
-"programmel er dette et godt valg. Du\n"
-"\t vil f en komplet samling af programmel installeret til oversttelse, "
-"fejlfinding, formatering af kildekode eller fremstilling\n"
-"\t af programmelpakker.\n"
-"\n"
-"\n"
-"\t* Server: hvis du agter at bruge denne maskine som en server, er dette et "
-"godt valg. Enten som en filserver (NFS eller\n"
-"\t SMB), en print server (Unix eller Microsoft Windows stil), en login "
-"server (NIS), en database\n"
-"\t server og s videre. Men forvent ikke at nogen fine grafiske "
-"brugerflader (KDE, GNOME, etc.) bliver installeret."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX vil forsge at lede efter PCI SCSI adapter. Hvis DrakX\n"
-"finder en SCSI adapter og hvis den ved hvilken driver der skal benyttes, vil "
-"den blive installeret\n"
-"automatisk.\n"
-"\n"
-"\n"
-"Hvis du ikke har en SCSI adapter, en ISA SCSI adapter, eller en PCI SCSI-"
-"adapter\n"
-"som DrakX ikke genkender, vil du blive spurgt om du har en SCSI-adapter p "
-"dit system.\n"
-"Hvis der ikke er nogen adapter p systemet kan du blot klikke \"Nej\". Hvis "
-"du klikker p \n"
-"\"Ja\" vil der blive forvist en liste af drivere, hvorfra du kan vlge din\n"
-"specifikke adapter.\n"
-"\n"
-"\n"
-"Hvis du mtte angive din driver manuelt, vil DrakX sprge om du vil\n"
-"specificere nogle indstillingsmuligheder for den. Du br dog lade DrakX "
-"sprge\n"
-"hardware'en om opstningen. Det virker som regel fint.\n"
-"\n"
-"\n"
-"Hvis det ikke virker, skal du angive opstningsinformation til driveren.\n"
-"Se i brugervejledningen (kapitel 3, underafsnit \"Collective informations on "
-"your hardware\")\n"
-"om hjlp med at finde informationen i maskinel-dokumentationen, fra\n"
-"fabrikantens side (hvis du har Internet adgang) eller fra Microsoft Windows\n"
-"(hvis du har det p dit system)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Ved dette punkt skal du vlge hvor du skal installere dit\n"
-"Linux-Mandrake operativsystem p din harddisk. Hvis disken er tom eller\n"
-"et eksisterende operativsystem bruger alt pladsen p den, bliver du ndt "
-"til\n"
-"at partitionere den. Nr disken partitioneres deles den i logiske dele\n"
-"for at gre plads til dit nye Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Fordi en partitionering normalt ikke kan fortrydes kan det godt vre "
-"frustrerende\n"
-"og skrmmende for nybegyndere\n"
-"Denne guide forenkler denne proces. Fr du begynder se da i manualen\n"
-"og tag den tid du skal bruge.\n"
-"\n"
-"\n"
-"Du skal bruge mindst 2 partitioner. Den ene er til selve operativsystemet "
-"og\n"
-"den anden til virtuel hukommelse (ogs kaldt Swap).\n"
-"\n"
-"\n"
-"Hvis partitionerne allerede er definerede (fra en tidlige installation eller "
-"fra\n"
-"et andet partitions-vrktj), skal du bare vlge dem for at installere dit\n"
-"Linux system\n"
-"\n"
-"\n"
-"Hvis partitionerne ikke er lavet endnu, bliver du ndt til at oprette dem. \n"
-"For at gre det, brug guiden overfor. Afhngig af din disks konfiguration\n"
-"er flere muligheder tilstede:\n"
-"\n"
-"\t* Brug eksisterende partitioner: guiden har fundet en eller flere Linux "
-"partitioner p din harddisk. Hvis\n"
-"\t du vil beholde dem, vlg denne mulighed.\n"
-"\n"
-"\n"
-"\t* Slet hele disken: hvis du vil slette alle data p alle partitioner p "
-"denne disk og erstatte dem med\n"
-"\t dit nye Linux-Mandrake system, kan du vlge denne mulighed. Vr "
-"forsigtig med denne lsning, du vil ikke vre i\n"
-"\t stand til at fortryde dine ndringer.\n"
-"\n"
-"\n"
-"\t* Brug den fri plads p Windows partitionen: hvis Microsoft Windows er "
-"installeret p din disk og bruger\n"
-"\t al pladsen, bliver du ndt til at lave plads til Linux. For at gre det "
-"kan du slette dine\n"
-"\t Microsoft Windows partitioner og data (se \"Slet hele disken\" eller "
-"\"Ekspert niveau\" ) eller ndre strrelsen p\n"
-"\t din Microsoft Windows partition. Strrelsesndringen kan fortages uden "
-"tab af data. Denne lsning er\n"
-"\t anbefalet hvis du vil bruge bde Linux-Mandrake og Microsoft Windows p "
-"samme maskine.\n"
-"\n"
-"\n"
-"\t Fr du vlger denne lsning, br du forst at strrelsen p din "
-"Microsoft\n"
-"\t Windows partition vil blive mindre. Det betyder at du vil have mindre "
-"fri plads under\n"
-"\t Microsoft Windows til at gemme din data eller installere programmel.\n"
-"\n"
-"\n"
-"\t* Ekspert niveau: hvis du vil partitionere disken manuelt, skal du vlge "
-"dette niveau. Vr forsigtig fr du\n"
-"\t vlger denne lsning. Det giver dig mange muligheder, men du kan ogs "
-"nemt komme til at slette dine data. S\n"
-"\t lad vre med at vlge den lsning med mindre du ved hvad du gr."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Nu skal du vlge hvor Linux-Mandrake skal installeres. Hvis partitionerne\n"
-"allerede er lavet (fra en tidligere installation af GNU/Linux eller fra et\n"
-"andet partitioneringsvrktj), kan du bruge dem. Ellers skal partitionerne\n"
-"laves frst.\n"
-"\n"
-"\n"
-"For at lave partitioner, skal du frst vlge en harddisk. Du kan vlge\n"
-"harddisk der skal partitioneres ved at trykke p \"hda\" for den frste IDE\n"
-"disk, \"hdb\" for den anden eller \"sda\" for den frste SCSI disk og s "
-"videre.\n"
-"\n"
-"\n"
-"For at partitionere den valgte disk kan du bruge disse muligheder:\n"
-" * Slet alt: Dette valg sletter alle partitioner p den valgte disk.\n"
-"\n"
-"\n"
-" * Allokr automatisk: dette valg tillader dig automatisk at lave Ext2 og "
-"swappartitioner p den fri plads p din\n"
-" disk.\n"
-"\n"
-"\n"
-" * Red partitionstabel: hvis din partitionstabel er beskadiget, kan du "
-"prve at redde den med denne mulighed. Vr venligst\n"
-" forsigtig og husk at det kan sl fejl.\n"
-"\n"
-"\n"
-" * Fortryd: Du kan bruge denne mulighed for at annullere dine ndringer.\n"
-"\n"
-"\n"
-" * Genindls: Du kan bruge denne mulighed hvis du nsker at fortryde alle "
-"ndringer og genindlse din oprindelige partitionstabel\n"
-"\n"
-"\n"
-" * Guide: Hvis du nsker at bruge guiden til at partitionere din disk, kan "
-"du bruge denne mulighed. Det er anbefalet\n"
-" hvis du ikke har det store kendskab til partitionering.\n"
-"\n"
-"\n"
-" * Genskab fra diskette: Hvis du har gemt din partitionstabel p en "
-"diskette under en tidligere installation, kan du\n"
-" genskabe den med denne mulighed.\n"
-"\n"
-"\n"
-" * Gem p diskette: Hvis du nsker at gemme din partitionstabel p en "
-"diskette, for at kunne hente den senere,\n"
-" kan du bruge denne mulighed. Det er strkt anbefalet at bruge denne "
-"mulighed.\n"
-"\n"
-" * Frdig: nr du er frdig med partitionering af din disk, s tryk p "
-"\"Frdig\" for at gemme ndringerne.\n"
-"\n"
-"\n"
-"Som oplysning kan du n alle mulighederne ved at bruge tastaturet: navigr "
-"gennem partitioner med Tab og op- og ned-pilen.\n"
-"\n"
-"\n"
-"Nr en partition er valgt kan du bruge:\n"
-"\n"
-" * Ctrl-c for at lave en ny partition (Nr en tom partition er "
-"valgt)\n"
-" * Ctrl-d for at slette en partition\n"
-"\n"
-" * Ctrl-m for at stte et monteringssti\n"
-" \n"
-"\n"
-" \n"
-"Hvis du er i gang med at installere p en PPC-maskine skal du lave en lille "
-"HFS-'bootstrap'-partition p mindst 1MB til \n"
-"yaboot-systemstarteren. Hvis du vlger at lave partitionen en smule strre, "
-"f.eks 50MB kan den vre nyttig til at gemme\n"
-"en ekstra kerne og ramdisk-billede for ndsituationer ved opstart."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Ovenfor er listet de eksisterende Linux-partitioner genkendt p din disk.\n"
-"Du kan beholde valgene gjort af guiden, de er velegnede til almindelig\n"
-"brug. Hvis du ndrer disse valg skal du i det mindste definere en\n"
-"rod-partition '/'. Lad vre med at vlge en for lille partition, ellers\n"
-"vil du ikke kunne installere nok programmel. Hvis du nsker at lagre data "
-"p\n"
-"en separat partition, skal du ogs vlge en '/home' (kun muligt hvis du har\n"
-"mere end n Linux-partition).\n"
-"\n"
-"\n"
-"Som oplysning er hver partition listet som flger: 'Navn', 'Kapacitet'.\n"
-"\n"
-"\n"
-"'Navn' er kodet som flger: 'drevtype', 'drevnummer', 'partitionsnummer'\n"
-"(for eksempel '/hda1').\n"
-"\n"
-"\n"
-"'drevtype' er 'hd' hvis dit diskdrev er et IDE drev, og 'sd' hvis det er\n"
-"et SCSI drev.\n"
-"\n"
-"\n"
-"'drevnummer' er altid et bogstav efter 'hd' eller 'sd'. For IDE drev:\n"
-"\n"
-" * 'a' betyder 'hoved-drev p den primre IDE controller',\n"
-"\n"
-" * 'b' betyder 'slave-drev p den primre IDE controller',\n"
-"\n"
-" * 'c' betyder 'hoved-drev p den skundre IDE controller',\n"
-"\n"
-" * 'd' betyder 'slave-drev p den skundre IDE controller'.\n"
-"\n"
-"\n"
-"For SCSI drev betyder 'a' det 'frste drev', 'b' betyder det 'andet drev', "
-"osv."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Vlg den disk du vil slette for at installere din\n"
-"nye Linux-Mandrake partition. Vr forsigtig, alle data p disken vil g tabt."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Klik p 'Ok' hvis du nsker at slette alle data og\n"
-"partitioner som forefindes p denne disk. Vr forsigtig, efter klik p "
-"'Ok' \n"
-"vil du *ikke* kunne redde nogen data eller partitioner p denne disk,\n"
-"inklusive nogensomhelst data fra Windows.\n"
-"\n"
-"Klik p 'Annullr' for at annullere denne handling uden at tabe nogen data "
-"og\n"
-"partitioner p denne disk."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Mere end n Microsoft Windows partition er blevet genkendt p dit diskdrev.\n"
-"Vlg venligst den som du nsker at ndre strrelse p for at kunne "
-"installere\n"
-"dit nye Linux-Mandrake operativsystem.\n"
-"\n"
-"\n"
-"Som oplysning er hver partition listet som flger: 'Linux navn', 'Windows "
-"navn',\n"
-"'Kapacitet'.\n"
-"\n"
-"'Linux navn' er kodet som flger: 'drevtype', 'drevnummer', "
-"'partitionsnummer'\n"
-"(for eksempel '/hda1').\n"
-"\n"
-"\n"
-"'drevtype' er 'hd' hvis dit diskdrev er et IDE drev, og 'sd' hvis det er\n"
-"et SCSI drev.\n"
-"\n"
-"\n"
-"'drevnummer' er altid et bogstav efter 'hd' eller 'sd'. For IDE drev:\n"
-"\n"
-" * 'a' betyder 'hoved-drev p den primre IDE controller',\n"
-"\n"
-" * 'b' betyder 'slave-drev p den primre IDE controller',\n"
-"\n"
-" * 'c' betyder 'hoved-drev p den skundre IDE controller',\n"
-"\n"
-" * 'd' betyder 'slave-drev p den skundre IDE controller'.\n"
-"\n"
-"\n"
-"For SCSI drev betyder 'a' det 'frste drev', 'b' betyder det 'andet drev', "
-"osv.\n"
-"\n"
-"'Windows navn' er det bogstav som dit drev har under Windows (den frste\n"
-"disk eller partition kaldes 'C:')."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Vr tlmodig. Denne handling kan tage flere minutter."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Enhver partition der netop er blevet defineret, skal formateres til brug\n"
-"(formatering betyder oprettelse af et filsystem).\n"
-"\n"
-"\n"
-"Nu kan du ogs nske at omformatere nogle allerede eksisterende partitioner\n"
-"for at slette de data som de indeholder. Hvis du nsker dette, s vlg "
-"venligst\n"
-"de partitioner som du nsker at formatere.\n"
-"\n"
-"\n"
-"Bemrk venligst at det ikke er ndvendigt at omformatere alle allerede "
-"eksisterende\n"
-"partitioner. Det er ndvendigt at omformatere de partitioner, der "
-"indeholder\n"
-"operativsystemet (ssom '/', '/usr' og '/var', men du er ikke ndt til at "
-"omformatere\n"
-"partitioner som du nsker at beholde (typisk /home).\n"
-"\n"
-"\n"
-"Vr venligst forsigtig med valg af partitioner; efter formatering vil alle "
-"data\n"
-"vre slettede, og du vil ikke kunne redde nogetsomhelst af det.\n"
-"\n"
-"\n"
-"Klik p 'Ok' nr du er klar til at formatere partitioner.\n"
-"\n"
-"\n"
-"Klik p 'Annullr' hvis du nsker at vlge andre partitioner til at "
-"installere\n"
-"dit nye Linux-Mandrake operativsystem."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Du kan nu vlge den gruppe pakker som du nsker at installere eller "
-"opgradere.\n"
-"\n"
-"\n"
-"DrakX vil s tjekke om du har nok plads til at installere dem alle. Hvis "
-"ikke,\n"
-"vil den advare dig om det. Hvis du nsker at fortstte alligevel, vil den\n"
-"g videre til installationen af alle valgte grupper, men vil droppe nogle "
-"pakker af mindre interesse. P bunden af listen kan du vlge\n"
-"muligheden \"Individuelt pakkevalg\"; i dette tilflde vil du vre ndt til "
-"at\n"
-"bladre igennem mere end 1000 pakker..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Du kan nu lave individuelle valg af alle pakker du nsker at installere.\n"
-"\n"
-"\n"
-"Du kan udvide eller sammenfolde tret ved at klikke p indstillinger i det\n"
-"venstre hjrne af pakke-vinduet.\n"
-"\n"
-"\n"
-"Hvis du foretrkker at se pakker sorteret i alfabetisk orden, klik da p "
-"ikonen\n"
-"'Skift mellem flad og gruppesorteret'\n"
-"\n"
-"\n"
-"Hvis du nsker ikke at blive advaret om afhngigheder, klik da p "
-"'Automatiske\n"
-"afhngigheder'. Hvis du gr dette, bemrk da at fravalg af en pakke kan\n"
-"fravlge adskillige andre pakker som afhnger af denne uden yderligere "
-"advarsel."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Hvis du har alle cd'erne i listen ovenover, klik Ok. Hvis du ikke\n"
-"har nogen af disse cd'er, klik Annullr. Hvis kun nogen cd'er mangler, "
-"fravlg dem,\n"
-"og klik s Ok."
-
-# Fejl
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Dit nye Linux-Mandrake styresystem er i frd med\n"
-"at blive installeret. Dette burde kun tage nogen f minutter (afhngig\n"
-"af den installationsstrrelse du har valgt og hastigheden p din maskine).\n"
-"\n"
-"\n"
-"Hav venligst tlmodighed."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Du kan nu teste din mus. Brug knapperne og hjulet for sikre\n"
-"dig at det virker. Hvis ikke, s klik p \"Annullr\" og vlg en anden\n"
-"driver."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Vlg venligst den korrekte port. F.eks. har COM1-porten (kendt fra MS\n"
-"Windows) navnet ttyS0 i GNU/Linux."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Hvis du nsker at forbinde din maskine til Internettet eller\n"
-"til et lokalnetvrk, vlg da venligst den rigtige indstilling. Tnd "
-"venligst\n"
-"for din enhed fr den rigtige indstilling vlges, s DrakX kan finde den\n"
-"automatisk.\n"
-"\n"
-"\n"
-"Hvis du ikke har nogen forbindelse til Internettet eller et lokalnetvrk, "
-"s\n"
-"vlg 'Deaktivr netvrk'.\n"
-"\n"
-"\n"
-"Hvis du nsker at konfigurere netvrket senere efter installationen, eller\n"
-"hvis du er frdig med at konfigurere din netvrksforbindelse, vlg da "
-"'Frdig'."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Der blev ikke fundet noget modem. Vlg venligst hvilken port modemet sidder "
-"p.\n"
-"\n"
-"\n"
-"Som oplysning kaldes den frste serielle port (hedder \"COM1\" under "
-"Microsoft\n"
-"Windows) \"ttyS0\" under Linux."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Du kan nu indtaste opkalds-indstillinger. Hvis du ikke ved noget, eller "
-"ikke\n"
-"er sikker p hvad der skal indtastes, kan de korrekte informationer fs fra\n"
-"din Internet-udbyder. Hvis du ikke indtaster DNS (navneservice) "
-"informationen\n"
-"her, vil informationen blive hentet fra din Internet-udbyder ved "
-"forbindelsen."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Hvis dit modem er et eksternt modem, s tnd det, s DrakX kan finde det "
-"automatisk."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Tnd venligst dit modem og vlg det rigtige"
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Hvis du ikke er sikker p om oplysningerne ovenfor er rigtige, eller hvis\n"
-"du ikke ved eller ikke er sikker p hvad der skal indtastes, kan de "
-"korrekte\n"
-"informationer fs fra din Internet-udbyder. Hvis du ikke indtaster DNS\n"
-"(navneservice) informationen her, vil informationen blive hentet fra din\n"
-"Internet-udbyder ved forbindelsen."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Du kan nu indtaste dit vrtsnavn. Hvis du ikke \n"
-"er sikker p hvad du skal skrive, kan du f de korrekte oplysninger fra din\n"
-"Internet-udbyder (ISP)."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Du kan du konfigurere din netvrksenhed\n"
-"\n"
-" * IP-adresse: hvis du ikke kender den, sprg din netvrksadministrator\n"
-" Du m ikke skrive en IP adresse hvis du vlger \"Automatisk IP\" "
-"nedenfor.\n"
-"\n"
-" * Netmaske: \"255.255.255.0\" er normalt et godt valg. Hvis du ikke er\n"
-"sikker, sprg din\n"
-" netvrksadministrator.\n"
-"\n"
-" * Automatisk IP: hvis dit netvrk anvender `BOOTP' eller `DHCP' "
-"protokollen, s vlg denne mulighed.\n"
-" Hvis denne mulighed er valgt, skal du ikke skrive noget i feltet\n"
-" \"IP-adresse\". Hvis du ikke er sikker, sprg din netvrksadministrator."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Du kan nu skive dit vrtsnavn om ndvendigt.\n"
-"Hvis du ikke ved hvad du skal skrive, sprg din netvrks administrator."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Du kan nu skive dit vrtsnavn om ndvendigt\n"
-"Hvis du ikke ved hvad du skal skrive, s efterlad det blankt."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Du kan nu indtaste dine opkaldsindstillinger. Hvis du ikke er sikker p,\n"
-"hvad du skal skrive, kan du f de korrekte oplysninger fra din\n"
-"Internet-udbyder (ISP)."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Hvis du vil benytte proxy'er, skal du konfigurere dem nu. Hvis du ikke\n"
-"ved, om du vil benytte proxy'er, kan du sprge din netvrksadministrator\n"
-"eller din Internet-udbyder (ISP)."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Du har mulighed for at installere krypterings-pakker, hvis din\n"
-"internetforbindelse er blevet sat korrekt op. Vlg frst en server,\n"
-"hvorfra du vil hente pakkerne, og vlg herefter hvilke pakker du nsker at\n"
-"installere.\n"
-"\n"
-"\n"
-"Bemrk, at du skal vlge server og krypterings-pakker i overensstemmelse "
-"med\n"
-"dit lands lovgivning p dette omrde."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Du kan nu vlge din tidszone efter hvor du bor."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU/Linux styrer sin tid efter GMT (\"Greenwich Mean Time\") og\n"
-"overstter denne tid til den lokale tid alt efter hvilken tidszone du\n"
-"har valgt.\n"
-"\n"
-"Hvis du bruger Microsoft Windows p denne maskine, vlg da 'nej'."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Du kan nu vlge hvilke tjenester du nsker skal startes ved opstart af "
-"maskinen.\n"
-"\n"
-"\n"
-"Nr din mus passerer over et emne kommer en lille hjlpeballon frem\n"
-"som beskriver tjenestens rolle.\n"
-"\n"
-"\n"
-"Vr specielt varsom p dette trin hvis du planlgger at bruge maskinen som\n"
-"server: du vil formentlig nske ikke at starte nogensomhelst tjeneste\n"
-"op som du ikke har brug for. Husk venligst at adskillige tjenester kan vre\n"
-"farlige hvis de er aktiveret p en server.\n"
-"Vlg som hovedregel kun de tjenester som du virkelig behver."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Du kan konfigurere en lokal printer (siddende p din maskine) eller en "
-"fjern\n"
-"printer (gennem et Unix, Netware eller Microsoft Windows netvrk)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Hvis du nsker at kunne udskrive, s vlg venligst et af printsystemerne\n"
-"CUPS eller LPR\n"
-"\n"
-"\n"
-"CUPS er et nyt strkt og fleksibelt printsystem til Unix-systemer\n"
-"(CUPS betyder 'Common Unix Printing System'). Det er standard "
-"udskriftssystemet\n"
-"i Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR er det gamle udskriftssystem som blev brugt i tidligere Linux-Mandrake "
-"distributioner,\n"
-"\n"
-"\n"
-"Hvis du ikke har nogen printer, klik p 'None'."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux kan behandle mange printertyper. Hver af disse typer krver sin\n"
-"egen opstning.\n"
-"\n"
-"\n"
-"Hvis din printer er fysisk forbundet til din maskine, vlg 'lokal printer'\n"
-"\n"
-"\n"
-"Hvis du nsker at anvende en printer placeret p en enstern Microsoft\n"
-"Windows maskine (eller p en Unix-maskine med SMB-protokol), vlg 'SMB/"
-"Windows\n"
-"95/98/NT'"
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Tnd venligst din printer inden du fortstter med at lade DrakX sge efter "
-"den.\n"
-"\n"
-" * Printerens navn: Printer-spooleren bruger \"lp\" som standard "
-"printernavn. S du skal have en printer der hedder \"lp\".\n"
-" Hvis du kun har n printer, kan du give den mange navne. De skal blot "
-"adskilles med en pibe (dvs. \"|\") \n"
-" Dette kan du bruge hvis du vil give printeren et mere sigende navn. "
-"Skriv det frst fx \"Min printer|lp\".\n"
-" Printeren hvis navn(e) indeholder \"lp\", vil blive brugt som standard-"
-"printer.\n"
-" * Beskrivelse: dette er valgfrit, men det kan vre praktisk hvis du har "
-"flere printere tilsluttet din computer, \n"
-" eller hvis du tillader andre maskiner at bruge din printer.\n"
-"\n"
-"\n"
-" * Placering: Hvis du vil tilfje nogle yderligere oplysninger\n"
-" om din printer, s kan du skrive det her. Du kan skrive lige\n"
-" hvad du har lyst til (fx \"2. sal\", eller lignende...).\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-" * Kens navn: Printer-spooleren bruger \"lp\" som standard printernavn. "
-"S du skal have en printer der hedder \"lp\".\n"
-" Hvis du kun har n printer, kan du give den mange navne. De skal blot "
-"adskilles med en pibe (dvs. \"|\") \n"
-" Dette kan du bruge hvis du vil give printeren et mere sigende navn. "
-"Skriv det frst fx \"Min printer|lp\".\n"
-" Printeren hvis navn(e) indeholder \"lp\", vil blive brugt som "
-"standardprinter.\n"
-"\n"
-"\n"
-" * Spool-bibliotek: Det er i dette bibliotek at print-jobs gemmes. Behold "
-"standardindstillingen hvis du ikke ved hvad du skal bruge.\n"
-"\n"
-"\n"
-" * Printer-tilslutning: Hvis din printer er fysisk forbundet til din "
-"computer, s vlg \"Lokal printer\".\n"
-"\n"
-"\n"
-" Hvis du vil bruge en printer der befinder sig p en Microsoft Windows "
-"maskine (eller en Linux maskine med SMB\n"
-"protokol), skal du vlge \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" Hvis du vil bruge en printer der befinder sig p et NetWare netvrk, "
-"skal du vlge \"NetWare\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Din printer er ikke blevet fundet. Indtast venligst navnet p den enhed som\n"
-"den er forbundet til.\n"
-"\n"
-"\n"
-"Som oplysning er de fleste printere forbundet til den frste parallelle "
-"port.\n"
-"Denne kaldes '/dev/lp0' under GNU/Linux og 'LPT1' under Microsoft Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Du skal nu vlge din printer i listen ovenfor."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Vlg venligst rettigheds-indstillinger svarende til din printer.\n"
-"Se venligst i dokumentationen hvis du ikke ved hvad der skal vlges her.\n"
-"\n"
-"\n"
-"Du vil kunne afprve din konfiguration i det nste trin, og du vil kunne\n"
-"ndre den, hvis den ikke virker som du nsker."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Du kan nu angive adgangskoden for brugeren `root' (som p dansk ofte\n"
-"kaldes `rod' eller `superbruger') p dit Linux-Mandrake system.\n"
-"Adgangskoden skal indtastes to gange for at sikre at de to adgangskoder\n"
-"er identiske.\n"
-"\n"
-"\n"
-"`root' er systemets administrator og er den eneste bruger, der har\n"
-"rettigheder til at ndre p systemets opstning. Derfor skal du vlge\n"
-"adgangskoden med omhu! Utilsigtet adgang til systemets `root'-konto\n"
-"kan vre ekstremt farlig for systemets sikkerhed, for de data der ligger\n"
-"p systemet, samt andre systemer p netvrket.\n"
-"\n"
-"\n"
-"Adgangskoden br vre en blanding af alfanumeriske tegn og vre\n"
-"mindst 8 tegn lang. Adgangskoden br *aldrig* skrives ned.\n"
-"\n"
-"\n"
-"Du br dog heller ikke gre adgangskoden *for* lang eller for kompliceret,\n"
-"idet du jo gerne skulle kunne huske den uden *alt* for meget besvr."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"For at f et mere sikkert system, br du vlge \"Benyt skygge-fil\" og\n"
-"\"Benyt MD5-adgangkoder\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Hvis dit netvrk benytter NIS, vlg \"Benyt NIS\". Hvis du ikke ved det,\n"
-"kan du sprge din netvrksadministrator."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Du kan nu oprette n eller flere \"almindelige\" brugerkonti, i\n"
-"modstning til den \"privilegerede\" bruger, `root'. Du kan oprette n\n"
-"eller flere konti for hver person, som du nsker at give adgang til\n"
-"maskinen. Bemrk at den enkelte bruger normalt har sin egen individuelle\n"
-"opstning (det grafiske milj, opstning af programmer, o.s.v.) samt sit\n"
-"eget private katalog (\"home directory\"), hvor brugerens opstning og data\n"
-"er gemt.\n"
-"\n"
-"\n"
-"Frst og fremmest br du dog oprette en konto til dig selv! Selv om du\n"
-"eventuelt er den eneste bruger af systemet, br du ikke logge p som rod\n"
-"(`root') til daglig: det kan udgre et meget stort sikkerhedsproblem.\n"
-"Ofte kan man risikere at systemet bringes i en ustabil tilstand blot ved\n"
-"en taste-fejl!\n"
-"\n"
-"\n"
-"Derfor br du normalt benytte din \"almindelige\" brugerkonto nr du logger\n"
-"systemet, og *kun* logge ind som rod hvis du skal foretage administrative\n"
-"handlinger eller vedligeholde systemet."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Oprettelse af en opstartsdiskette er strkt anbefalet. Hvis du ikke kan\n"
-"starte din maskine, er dette den eneste mde at redde den uden at "
-"geninstallere alt."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Du skal indikere, hvor du nsker at placere de informationer, der er\n"
-"ndvendige for at starte GNU/Linux op.\n"
-"\n"
-"\n"
-"Med mindre du ved prcist hvad du gr, br du vlge \"Frste sektor p\n"
-"disken (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Med mindre du ved bedre, er det sdvanlige valg \"/dev/hda\" (Frste\n"
-"IDE-disk) eller \"/dev/sda\" (frste SCSI-disk)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (Linux LOader) og Grub er systemopstartere: de kan starte\n"
-"enten GNU/Linux eller ethvert andet operativsystem op p din maskine. \n"
-"Normalt bliver disse operativsystemer opdaget korrekt og installeret. \n"
-"Hvis dette ikke er tilfldet, kan du tilfje en indgang manuelt p \n"
-"dette skrmbillede. Vr forsigtig med at vlge de rigtige parametre.\n"
-"\n"
-"\n"
-"Du vil mske ogs nske ikke at give adgang til disse andre "
-"operativsystemer \n"
-"til nogensomhelst, i s fald kan du slette de tilsvarende indgange. Men \n"
-"i dette tilflde vil du have brug for en opstartsdiskette for at \n"
-"kunne starte dem op!"
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILO's og grub's hovedindstillingsmuligheder er:\n"
-" - Opstartsenhed: Angiver navnet p enheden (f.eks. en disk partition)\n"
-"som indeholder opstarts-sektoren. Med mindre du selv ved bedre, br du "
-"vlge\n"
-"\"/dev/hda\".\n"
-"\n"
-"\n"
-" - Ventetid fr opstart af forvalgt styresystem: Angiver det antal\n"
-"tiendedele sekunder systemopstarteren skal vente fr den starter det\n"
-"styresystem du har valgt som standard. Dette er nyttigt p systemer,\n"
-"der startes jeblikkeligt fra harddisken efter tastaturet er aktiveret. \n"
-"Opstarteren venter ikke, hvis \"ventetid\" er udeladt eller sat til nul.\n"
-"\n"
-"\n"
-" - Videoindstilling: Dette angiver den VGA-tekstindstilling som skal\n"
-"vlges ved opstart. Flgende vrdier kan benyttes: \n"
-"\n"
-" * normal: vlger den normale 80x25-tegns tekstskrm.\n"
-"\n"
-" * <tal>: benyt den til <tal> svarende tekstskrm.\n"
-"\n"
-"\n"
-" - Rens \"/tmp\" ved hver genstart: hvis du vil slette alle filer og "
-"kataloger\n"
-"gemt i \"/tmp\" nr du starter dit system, s vlg denne mulighed.\n"
-"\n"
-" - Prcis RAM-mngde, hvis pkrvet: desvrre er der i dagens pc-verden\n"
-"ingen standardmetode til at sprge BIOS'en om hvor meget RAM der er i en\n"
-"maskine. Som flge deraf kan GNU/Linux i nogle tilflde ikke korrekt\n"
-"detektere hele den installerede mngde RAM. Hvis dette er tilfldet kan\n"
-"du her angive den korrekte mngde. Bemrk at en forskel p 2 eller 4 Mb\n"
-"er ganske normalt."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot er en systemstarter til NewWorld MacIntosh-maskinel. Den kan\n"
-"starte enten GNU/Linux, MacOS eller MacOSX, hvis de er til stede p din\n"
-"computer. Sdvanligvis vil disse andre styresystemer blive korrekt opdaget\n"
-"og installeret. Hvis dette ikke skulle vre tilfldet kan du her tilfje en "
-"indgang\n"
-"i hnden. Vr forsigtig med at vlger de korrekte parametre.\n"
-"\n"
-"\n"
-"Yaboots hovedvalg er:\n"
-"\n"
-"\n"
-" - Init-besked: En enkel tekstbesked som vises fr valg af opstart.\n"
-"\n"
-"\n"
-" - Opstartsenhed: Angiver hvor du nsker at placere informationen\n"
-"som er ndvendig for at starte GNU/Linux. Du vil generelt have indstillet "
-"en\n"
-"bootstrap-partition til at have denne information.\n"
-"\n"
-"\n"
-" - ben firmwareforsinkelse: Til forskel fra LILO er der to forsinkelser\n"
-"mulige med yaboot. Den frste forsinkelse bliver mlt i sekunder og du\n"
-"kan ved det punkt vlge mellem CD, OF-opstart, MacOS eller Linux.\n"
-"\n"
-"\n"
-" - Ventetid fr kerneopstart: Denne er lig LILO-opstartsforsinkelsen.\n"
-"Efter at have valgt Linux vil du have denne ventetid gange 0,1 sekunder\n"
-"fr din forvalgte kernebeskrivelse bliver valgt.\n"
-"\n"
-"\n"
-" - Aktivr CD-opstart?: Hvis du vlger dette valg vil \n"
-"du kunne trykke 'C' for CD ved det frste opstartsvalg.\n"
-"\n"
-"\n"
-" - Aktiver OF-opstart?: Hvis du vlger dette valg vil du kunne\n"
-"trykke 'N' for ben Firmware ved det frste opstartsvalg.\n"
-"\n"
-"\n"
-" - Forvalgt styresystem: Du kan vlge hvilket forvalgt styresystem der\n"
-"skal startes nr ben Firmwareforsinkelsen er udlbet."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"Du kan tilfje flere valgmuligheder for yaboot, enten til andre "
-"styresystemer\n"
-"andre kerner, eller til nd-opstart.\n"
-"\n"
-"\n"
-"For andre styresystemer - indtast navn og rodpartition\n"
-"\n"
-"\n"
-"Der er for Linux nogen mulige valg:\n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO er en opstarter for SPARC: den kan starte\n"
-"enten GNU/Linux eller ethvert andet operativsystem der ligger p din "
-"maskine. \n"
-"Normalt bliver disse operativsystemer opdaget korrekt og installeret. \n"
-"Hvis dette ikke er tilfldet, kan du tilfje en indgang manuelt p \n"
-"dette skrmbillede. Vr forsigtig med at vlge de rigtige parametre.\n"
-"\n"
-"\n"
-"Du vil mske ogs nske ikke at give adgang til disse andre "
-"operativsystemer \n"
-"til nogensomhelst, i s fald kan du slette de tilsvarende indgange. Men \n"
-"i dette tilflde vil du have brug for en opstartsdiskette for at \n"
-"kunne starte dem op!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"SILOs hovedindstillingsmuligheder er:\n"
-" - Opstarts-installation: Angiv hvor du nsker at placere informationen\n"
-"der krves for at opstarte GNU/Linux. Med mindre du ved njagtig hvad\n"
-"du gr, vlg 'Frste sektor p drev (MBR)'\n"
-"\n"
-"\n"
-" - Ventetid fr standard-styresystem skal opstartes: Angiver det antal\n"
-"tiendedele sekunder opstarteren br vente fr den starter det frste "
-"operativsystem, Dette er nyttigt p systemer, der startes\n"
-"jeblikkeligt fra harddisken efter tastaturet er aktiveret. Opstarteren\n"
-"venter ikke, hvis \"delay\" (ventetid) er udeladt eller sat til nul."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Det er nu tid til at konfigurere X-vinduessystemet, som er kernen\n"
-"i GNU/Linux' grafiske brugerflade. Til dette forml skal du konfigurere\n"
-"dit grafikkort samt din skrm. De fleste af disse valg foregr dog\n"
-"automatisk, hvilket betyder at du normalt blot skal godkende de valg\n"
-"som er truffet :-)\n"
-"\n"
-"\n"
-"Nr konfigurationen er afsluttet, vil X blive startet (medmindre du\n"
-"beder DrakX om at lade vre) sledes at du kan se om opstningen passer til\n"
-"dig. Hvis ikke, kan du komme tilbage og ndre opstningerne s ofte det\n"
-"mtte vre ndvendigt."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Hvis der er noget galt med X-konfigurationen, skal du benytte disse\n"
-"indstillingsmuligheder til at stte X-vinduessystem korrekt op."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Hvis du fortrkker at benytte grafisk logind, vlg \"Ja\". Hvis ikke,\n"
-"vlg \"Nej\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Du kan vlge et sikkerhedsniveau for dit system. Ls venligst vejledningen\n"
-"for fyldestgrende information. Hvis du ikke ved hvad du skal vlge s "
-"behold\n"
-"det forvalgte.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Dit system bliver nu genstartet.\n"
-"\n"
-"Efter genstart vil dit nye Linux Mandrake system opstarte automatisk.\n"
-"Hvis du nsker at starte et andet eksisterende operativsystem, bedes du\n"
-"lse de ekstra instruktioner."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Vlg sprog"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Vlg installations-metode"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Harddisk bestemmelse"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Konfigurr mus"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Vlg tastatur"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Sikkerhed"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Vlg filsystemer"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formatr partitioner"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Vlg pakker til installation"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Installr system"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "St rod-adgangskode"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Tilfj bruger"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Konfigurr netvrk"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Oversigt"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Konfigurr tjenester"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Opret opstartsdiskette"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Installr systemopstarter"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Konfigurr X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Afslut installation"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Indst en tom diskette i diskette-drev %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Denne diskette er ikke formatteret til FAT"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"For at bruge dette gemte pakkevalg, start installationen op med``linux "
-"defcfg=floppy''"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Fejl ved lsning af fil $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Test venligst musen"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "For at aktivere musen,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "FLYT P HJULET!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Noget maskinel p din maskine skal bruge ''proprietre'' drivere for at "
-"virke.\n"
-"Du kan finde information om dem hos: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Du skal have en rod partition. For at f dette, lav en ny partition (eller "
-"vlg en eksisterende).\n"
-"Vlg s kommandoen \"Monterings-sti\" og st den til `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Du skal tildele en partition til Swap"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Du har ingen Swap partition\n"
-"\n"
-"Fortst alligevel?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Brug fri plads"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Ikke nok fri plads til at tildele nye partitioner"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Brug eksisterende partition"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Der er ingen eksisterende partition der kan bruges"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Brug Windows partitionen til Loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Hvilken partition vil du benytte som Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Vlg strrelserne"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Rod-partitions strrelse i Mb: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Swap-partitions strrelse i Mb: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Brug den frie plads p Windows-partitionen"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Hvilken partition nsker du at ndre strrelse p?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Udregner Windows-filsystemets grnser"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"Programmet til at ndre strrelse p FAT kan ikke behandle din partition, \n"
-"den flgende fejl opstod: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr "Din Windows partition er for fragmenteret, kr venligst 'defrag' frst"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"ADVARSEL!\n"
-"\n"
-"DrakX vil nu ndre strrelsen p din Windows-partition. Udvis\n"
-"forsigtighed: denne operation er farlig. Hvis du ikke allerede har gjort "
-"det, br du frst g ud af denne installation, \n"
-"kre scandisk under Windows (og eventuelt defrag) og s genstarte\n"
-"installationen. Du br ogs tage en sikkerhedskopi af dine data.\n"
-"Tryk p Ok, hvis du er helt sikker."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Hvilken strrelse nsker du at at beholde Windows p?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "partition %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "FAT strrelsesndring mislykkedes: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Der er ingen FAT-partitioner at ndre strrelse p, eller bruge som loopback "
-"(eller ikke nok plads tilbage)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Slet hele disken"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Fjern Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Du har mere end et diskdrev, hvilken nsker du at installere Linux p?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "Alle eksisterende partitioner og deres data vil g tabt p drev %s"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Brugerdefineret disk-opdeling"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Brug fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Du kan nu partitionere %s.\n"
-"Nr du er frdig, s husk at gemme med 'w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Du har ikke nok fri plads p din Windows-partition"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Kan ikke finde plads til installering"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "DrakX partitionerings-guiden fandt de flgende lsninger:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Partitionering mislykkedes: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Bringer netvrket op"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Lukker netvrket ned"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Der opstod en fejl, men jeg ved ikke hvordan den kan hndteres p en\n"
-"pn mde.\n"
-"Fortst p eget ansvar!"
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Duplikr monterings-sti %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Nogle vigtige pakker blev ikke installeret rigtigt.\n"
-"Enten er dit cdrom-drev eller din cdrom fejlbehftet.\n"
-"Tjek cdrom'en p en frdiginstalleret maskine ved brug af \"rpm -qpl "
-"Mandrake/RPMS/*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Velkommen til %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Intet tilgngeligt diskettedrev"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Gr til trin `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Vlg den samlede strrelse som din installation m fylde"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Total strrelse: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Version: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Strrelse: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Vlg pakker som skal installeres"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Installr"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Installerer"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Vent venligst, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Resterende tid "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Total tid "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Forbereder installationen"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Installerer pakke %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Fortst alligevel?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Der opstod en fejl ved sorteringen af pakkerne:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Benyt eksisterende konfiguration for X11?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Dit system har kun f resurser. Du kan f problemer med at installere\n"
-"Linux-Mandrake. Hvis dette sker, kan du prve en tekst-baseret installation "
-"istedet.\n"
-"Dette gres ved at trykke 'F1' ved opstart fra cdrommen, og s skrive 'text'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Vlg venligst en af de flgende installations-mder"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Den totale strrelse af de grupper du har valg er cirka %d Mb.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Hvis du nsker at installere mindre end denne strrelse,\n"
-"s vlg procentdelen af pakker som du vil installere.\n"
-"\n"
-"En lav procentdel vil kun installere de vigtigste pakker;\n"
-"en procentdel p 100%% vil installere alle valgte pakker."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Du har kun plads p din disk til %d%% af disse pakker.\n"
-"\n"
-"Hvis du nsker at installere mindre end denne strrelse,\n"
-"s vlg procentdelen af pakker som du vil installere.\n"
-"En lav procentdel vil kun installere de vigtigste pakker;\n"
-"en procentdel p %d%% vil installere s mange pakker som muligt."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr ""
-"Du har mulighed for at vlge dem mere prcist i nste installationstrin"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Procentandel pakker til installation"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Valg af pakkegrupper"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Individuelt pakkevalg"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Vis automatisk valgte pakker"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Udvid tr"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Sammenfold tr"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Skift mellem flad og gruppesorteret"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Drlig pakke"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Navn: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Vigtighed: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Total strrelse: %d / %d Mb"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Du kan ikke vlge denne pakke, da der ikke er nok plads tilbage til at "
-"installere den"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "De flgende pakker vil blive installeret"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "De flgende pakker vil blive afinstalleret"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Du kan ikke vlge/fravlge denne pakke"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Dette er en ndvendig pakke, den kan ikke vlges fra"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Du kan ikke fravlge denne pakke. Den er allerede installeret"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Denne pakke skal opgraderes\n"
-"Er du sikker p at du vil fravlge den?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Du kan ikke fravlge denne pakke. Den skal opgraderes"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Beregner"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Vent venligst, forbereder installationen"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d pakker"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Advarsel\n"
-"\n"
-"Ls venligst betingelserne nedenfor omhyggeligt. Hvis du ikke er enig\n"
-"i alt der str, m du ikke installere indholdet af CDen. Tryk p 'ngt' \n"
-"for at fortstte installationen uden disse cdrommer.\n"
-"\n"
-"\n"
-"Visse komponenter p den nste CD er ikke omfattet af GPL licensen eller \n"
-"andre lignende licenser. Hver enkelt komponent er derfor omfattet af \n"
-"de betingelser der er beskrevet i dets egen licens. \n"
-"Ls derfor venligst omhyggeligt betingelserne og flg de opstillede "
-"betingelser\n"
-"nr du bruger og/eller videredistribuerer komponenterne.\n"
-"Sdanne licenser forebygger normalt kopiering (sikkerheds-kopiering "
-"undtaget) \n"
-"videredistribuering, at folk skiller programmet ad, eller ndrer i "
-"komponenterne.\n"
-"Ethvert brud p licensen vil jeblikkeligt fratage dig rettighederne "
-"beskrevet\n"
-"i den specifikke licens. Medmindre licensen giver dig lov hertil, vil det \n"
-"normalt ikke vre tilladt at installere programmet p mere end en "
-"computer, \n"
-"eller bruge det p et netvrk. Hvis du er i tvivl, s kontakt venligst "
-"producenten\n"
-"af komponenten direkte.\n"
-"Overdragelse til tredjemand eller kopiering af sdanne komponenter "
-"inklusive \n"
-"dokumentationen er normalt forbudt.\n"
-"\n"
-"\n"
-"Alle rettigheder til komponenterne p CDen, tilfalder deres respektive "
-"skabere\n"
-"og er beskyttet af Lov om Ophavsret.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Acceptr"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Ngt"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Skift din cdrom!\n"
-"\n"
-"Indst cdrom'en med navnet \"%s\" i dit cdrom-drev og tryk p Ok, nr det "
-"gjort\n"
-"Hvis du ikke har den s tryk p Annullr, s undgs installation fra denne cd"
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Der opstod en fejl ved installeringen af pakkerne:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Der er opstet en fejl"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Vlg venligst det sprog, du vil bruge."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-"Du kan vlge andre sprog der vil vre tilgngelige efter installationen"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Alt"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Licensaftale"
-
-# Mangler
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Introduktion\n"
-"\n"
-"Operativsystemet og de forskellige komponenter tilgngelige i Linux-Mandrake "
-"distributionen \n"
-"vil herefter blive kaldt \"programmelprodukter\". Programmelprodukterne "
-"inkluderer, men er ikke begrnset til: vrktjssttet, metoder, regler og "
-"dokumentation.\n"
-"\n"
-"\n"
-"1. Licensaftale\n"
-"\n"
-"Ls venligst dette dokument. Dette dokument er en licensaftale mellem dig "
-"og \n"
-"MandrakeSoft S.A., som glder til disse programmelprodukter.\n"
-"Ved at installere, kopiere eller bruge disse programmelprodukter accepterer "
-"du indirekte \n"
-"og fuldt ud denne licensaftale med dens betingelser og regler.\n"
-"Hvis du er uenig i nogensomhelst del af denne licens, mister du retten til "
-"at installere, kopiere eller bruge \n"
-"disse programmelprodukter. \n"
-"Hvilket som helst forsg p at installere, kopiere eller bruge disse "
-"programmelprodukter p en mde som ikke er i overensstemmelse \n"
-"med betingelserne og reglerne i denne licens er ulovlig og vil betyde at du "
-"mister dine rettighedder under denne \n"
-"licens, Hvis dette sker, skal du med det samme delgge alle kopier af "
-"disse \n"
-"programmelprodukter.\n"
-"\n"
-"\n"
-"2. Begrnset garanti\n"
-"\n"
-"Disse programmelprodukter og dokumenter leveres \"som de er\", uden nogen "
-"form for garanti \n"
-"efter som hvad lov foreskriver.\n"
-"MandrakeSoft S.A. vil under ingen omstndigheder undtagen hvad lov "
-"foreskriver vre ansvarlig for specielle, \n"
-"tilfldige, direkte eller indirekte tab af nogen art (inkluderende uden "
-"begrnsninger, skader ved tab af \n"
-"forretning, forstyrrelser af forretning, finansielle tab, advokatbistand, "
-"erstatninger som resultat af en retssag \n"
-"eller nogen anden form for tab) opstet under brugen af disse "
-"programmelprodukter eller \n"
-"mangel p samme, selv hvis MandrakeSoft S.A. er blevet gjort opmrksom p "
-"mulighed for sdanne \n"
-"skader.\n"
-"\n"
-"BEGRNSET GARANTI MED HENSYN TIL REGLER OM BRUG AF FORBUDT PROGRAMMEL I "
-"VISSE LANDE\n"
-"\n"
-"Udover hvad lov foreskriver vil MandrakeSoft S.A. eller deres distributrer "
-"under ingen omstndigheder vre \n"
-"ansvarlig for tilfldige, direkte eller indirekte tab af nogen art "
-"(inkluderende uden begrnsninger skader ved tab af \n"
-"forretning, forstyrrelser af forretning, finansielle tab, advokatbistand, "
-"erstatninger som resultat af en retssag \n"
-"eller nogen anden form for tab) opstet under hentning eller brugen af dette "
-"programmel fra Linux-Mandrake websider\n"
-"som er forbudt i visse lande ved lov.\n"
-"Denne begrnsede garanti glder, men er ikke begrnset til, de strke "
-"krypteringskomponenter \n"
-"inkluderet i disse programmelprodukter.\n"
-"\n"
-"\n"
-"3. GPL licensen og relaterede licenser. \n"
-"\n"
-"Dette programmel bestr af komponenter lavet af forskellige personer.\n"
-"De fleste af disse komponenter bliver reguleret efter vilkrene og aftalerne "
-"i GNU General Public License, herefter kaldet \"GPL\", eller lignende "
-"licenser. De fleste af disse licenser tillader dig at bruge, kopiere, "
-"tilpasse eller redistribuere komponenterne, de dkker. Ls venligst "
-"vilkrene\n"
-"og aftalerne i licensaftalen for hver komponent fr du bruger det. Sprgsml "
-"angende en komponent bedes adresseret til komponentens forfatter og ikke "
-"til MandrakeSoft.\n"
-"Programmerne udviklet af MandrakeSoft S.A. bliver reguleret efter GPL "
-"licensen. Dokumentationen skrevet af MandrakeSoft S.A. bliver reguleret "
-"efter en specifik licens. Referr venligst til dokumentationen for "
-"yderligere detaljer.\n"
-"\n"
-"\n"
-"4. Intellektuelle rettigheder \n"
-"\n"
-"Alle rettigheder til komponenterne i programmelproduktet tilhrer deres "
-"respektive forfattere, og er\n"
-"beskyttet af intellektuelle rettigheds- og ophavsretslove, gldende for "
-"programmel.\n"
-"MandrakeSoft S.A. forbeholder sine rettigheder til at ndre eller tilpasse "
-"programmelprodukterne, helt eller delvist, med alle midler og til alle "
-"forml.\n"
-"\"Mandrake\", \"Linux-Mandrake\" samt de tilhrende logoer er varemrker for "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Gldende love \n"
-"\n"
-"Hvis dele af denne aftale bliver kendt ugyldig, ulovlig eller ubrugelig ved "
-"en domstolsafgrelse, \n"
-"vil disse dele blive ekskluderet fra denne kontrakt. Du vil forblive bundet "
-"af de andre gldende dele af\n"
-"aftalen.\n"
-"Vilkrene og aftalerne i denne licens er reguleret under fransk lov.\n"
-"Alle uenigheder vedrrende vilkrene i denne licens vil fortrinsvist blive "
-"lst udenfor domstolene. Som en sidste udvej vil uenighederne blive "
-"hndteret ved den rette domstol i Paris, Frankrig.\n"
-"Ved sprgsml omkring dette dokument, kontakt venligst MandrakeSoft S.A. \n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Tastatur"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Vlg venligst tastaturlayout."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Her er den komplette liste over tilgngelige tastaturer"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Installationsmetode"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Hvilken installations-klasse nsker du?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Installr/Opdatr"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Er dette en nyinstallation eller en opdatering?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Anbefalet"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Ekspert"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Opdatering"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Vlg venligst muse-type."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Muse-port"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Vlg venligst hvilken seriel port din mus er forbundet til."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Emulering af knapper"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Emulering af knap 2"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Emulering af knap 3"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Konfigurerer PCMCIA kort..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Konfigurerer IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "ingen ledige partitioner"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Skanner partitioner for at finde monteringspunkter"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Vlg monterings-stierne"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Jeg kan ikke lse din partitionstabel, den er for delagt for mig :(\n"
-"Jeg kan forsge fortsat at udblanke drlige partitioner, ALLE DATA vil g "
-"tabt\n"
-"Den anden mulighed er at forbyde DrakX at ndre partitionstabellen.\n"
-"(fejlen er %s)\n"
-"\n"
-"Er du indforstet med at delgge alle partitionerne?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake kunne ikke lse partitionstabellen korrekt.\n"
-"Fortst p eget ansvar!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Rod-partition"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Hvilken partition indeholder systemets rod-partition (/)?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Du skal genstarte for at aktivere ndringerne i partitionstabellen"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Vlg partitioner der skal formateres"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Led efter beskadigede blokke?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Formaterer partitioner"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Opretter og formaterer fil %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Ikke nok swap-plads til at gennemfre installationen, tilfj mere"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Leder efter tilgngelige pakker"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Leder efter pakker som skal opgraderes"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Dit system har ikke nok plads tilbage til en installation eller opgradering "
-"(%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Alting (%dMb)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimum (%d Mb)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Anbefalet (%d Mb)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Tilpasset"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Hvis du har alle cd'erne i listen nedenunder, klik Ok.\n"
-"Hvis du ikke har nogen af disse cd'er, klik Annullr.\n"
-"Hvis kun nogen cd'er mangler, fravlg dem, og klik s Ok."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cdrom med etikette '%s'"
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Installerer pakke %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Konfiguration efter installation"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Du har nu mulighed for at nedlse programmel, der bruger kryptering.\n"
-"\n"
-"ADVARSEL:\n"
-"\n"
-"Grundet forskellige krav til programmel der bruger kryptering, og ptvunget\n"
-"af forskellige lokale lovomrder, br kunder og/eller slutbrugere af\n"
-"dette programmel sikre sig at lokale love fra dit/jeres lokalomrde\n"
-"tillader dig/jer at nedlse, gemme og/eller bruge dette programmel.\n"
-"\n"
-"Derudover skal kunder og/eller slutbrugere vre opmrksomme p ikke at "
-"bryde\n"
-"lokale love fra dit/jeres lokalomrde. Skulle en kunde og/eller slutbruger\n"
-"ikke respektere det lokale omrdes love, vil han/de blive udsat\n"
-"for serise sanktioner.\n"
-"\n"
-"Under ingen omstndigheder kan Mandrakesoft eller deres producenter\n"
-"og/eller leverandrer holdes ansvarlig for speciel, indirekte eller\n"
-"tilfldig skade (inkluderet, men ikke begrnset til tab af overskud,\n"
-"forretningsafbrydelser, tab af kommercielle data og andre pekunire tab,\n"
-"eventuelle risici og erstatninger der skal betales i overensstemmelse\n"
-"med retlig beslutning) som flge af brug, besiddelse eller nedlsning af\n"
-"dette programmel, som kunder og/eller slutbrugere kunne f adgang til efter\n"
-"at have accepteret denne aftale.\n"
-"\n"
-"\n"
-"For sprgsml om denne aftale, vr venlig at kontakte \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Vlg det spejl hvorfra pakkerne skal hentes"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Kontakter spejlet for at hente listen af tilgngelige pakker"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Vlg venligst pakkerne som du vil installere."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Hvad er din tidszone?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Er maskinens interne ur sat til GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Fjern CUPS server"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Ingen printer"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Mus"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Tidszone"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Printer"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "Internt ISDN-kort"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Lydkort"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV-kort"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Hvilket printersystem nsker du at bruge?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Ingen adgangskode"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "Dette kodeord er for nemt at gtte (det skal mindst vre p %d tegn)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Benyt NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "gule sider"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "NIS-identifikation"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS-domne"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS-server"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"En tilpasset opstartsdiskette lader dig starte Linux systemet op uden at "
-"vre\n"
-"afhngig af den normale opstarter. Det kan vre nyttigt, hvis du ikke vil\n"
-"installere SILO p dit system - eller hvis et andet operativsystem fjerner "
-"SILO,\n"
-"eller hvis SILO ikke virker med dit maskinel. En tilpasset opstartsdiskette "
-"kan\n"
-"ogs bruges sammen med Mandrakes `rescue image', hvilket gr det meget\n"
-"nemmere at reparere systemet i tilflde af systemnedbrud.\n"
-"\n"
-"Hvis du nsker at lave en opstartsdiskette til dit system, indst en\n"
-"diskette i dit frste diskettedrev og tryk 'Ok'."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Frste diskette-drev"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Andet diskette-drev"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Spring over"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"En tilpasset opstartsdiskette lader dig opstarte Linux systemet uden at "
-"vre\n"
-"afhngig af den normale opstarter. Det kan vre nyttigt, hvis du ikke vil\n"
-"installere LILO (eller grub) p dit system - eller hvis et andet "
-"operativsystem fjerner LILO,\n"
-"eller hvis LILO ikke virker med din hardware. En tilpasset opstartsdiskette "
-"kan\n"
-"ogs bruges sammen med Mandrakes `rescue image', hvilket gr det meget\n"
-"nemmere at reparere systemet i tilflde af systemnedbrud.\n"
-"\n"
-"Vil du lave en opstartsdiskette til dit system?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Der er desvrre ikke noget tilgngeligt diskette-drev"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Vlg det diskette-drev, du vil benytte til at lave boot-disketten"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Indst en tom diskette i diskette-drevet %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Oprette opstartsdiskette"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Forbereder opstarter"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "nsker du at bruge aboot?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Fejl ved installation af aboot, \n"
-"forsg at gennemtvinge installation selv om dette kan delgge den frste "
-"partition?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Installation af opstarter mislykkedes. Den flgende fejl opstod:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Du vil mske behve at ndre din ben Firmware opstartsenhed for\n"
-" at sl systemstarteren til. Hvis du ikke ser systemstarter-beskedden\n"
-"ved genstart, s hold Command-Option-O-F nede og indtast:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Skriv s: shut-down\n"
-"Ved nste opstart burde du se systemstarteren."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Lav"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Mellem"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Hj"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Vlg sikkerhedniveau"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-"nsker du at lave en auto-installations diskette til linux genskabelse?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Indst en tom diskette i drev %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Laver autoinstallations-diskette"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Nogen dele af installationen er ikke frdig\n"
-"\n"
-"Er du sikker p du nsker du at lukke nu?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Tillykke, installationen er frdig.\n"
-"Fjern boot-mediet og tryk enter for at genstarte.\n"
-"\n"
-"For information om opdateringer til denne udgivelse af Linux-\n"
-"Mandrake, kontakt Errata p http://www.linux-mandrake.com/.\n"
-"\n"
-"Information om konfigurering af systemet kan findes i den\n"
-"Officielle Linux-Mandrake Bruger Guide."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Laver autoinstallations-diskette"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Autoinstallation kan ske fuldautomatisk hvis nsket.\n"
-"I s tilflde vil den overtage hele harddisken!!\n"
-"(dette er beregnet til at installere p en anden maskine).\n"
-"\n"
-"Du foretrkker mske at afspille installationen igen\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automatisk"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Afspil igen"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Gem pakke-valg"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux-Mandrake Installation %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> mellem elementer | <Space> vlger | <F12> nste skrm "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "kdesu mangler"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Avanceret"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Vent venligst"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Flertydighed (%s), vr mere prcis\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Drligt valg, prv igen\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (standard %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Dit valg? (standard %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Dit valg? (standard %s skriv `none' for ingenting) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Tjekkisk (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Tysk"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Spansk"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finsk"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Fransk"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norsk"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polsk"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Russisk"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Britisk"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Amerikansk"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armensk (gammel)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armensk (skrivemaskine)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armensk (fonetisk)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaidiansk (latin)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbaidiansk (kyrillisk)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgisk"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgarsk"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasiliansk"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Hviderussisk"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Schweizisk (Tysk layout)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Schweizisk (Fransk layout)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Tjekkisk (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Tjekkisk (programmrer)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Tysk (ingen dde taster)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Dansk"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norsk)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estisk"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgisk (russisk layout)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgisk (Latin layout)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Grsk"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Ungarsk"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroatisk"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israelsk"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israelsk (Fonetisk)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iransk"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islandsk"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italiensk"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japansk 106 taster"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Koreansk tastatur"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latinamerikansk"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Makedonisk"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Hollandsk"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Litauisk AZERTY (gammel)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Litauisk AZERTY (ny)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Litauisk \"talrkke\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Litauisk \"fonetisk\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polsk (polsk layout)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polsk (polsk layout)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugisisk"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Canadisk (Qubec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Russisk (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Svensk"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovensk"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovakisk (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovakisk (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slovakisk (programmrer)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thailandsk"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Tyrkisk (traditionel \"F\" model)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Tyrkisk (moderne \"Q\" model)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrainsk"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Amerikansk (internaltionalt)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnamesisk \"talrkke\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoslavisk (latinsk/kyrillisk)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Fjern de logiske delarkiver frst\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun-mus"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standard"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Standard PS2 mus med hjul"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking-mus"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 knap"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Standard"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Hjul"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "seriel"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Standard 2-knaps mus"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Standard 3-knaps mus"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Serien (seriel)"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Serien"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech mus (seriel, gammel C7 type)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "Busmus"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 knapper"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 knapper"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "ingenting"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Ingen mus"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Afslut"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Nste ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Forrige"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Er dette korrekt?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Internet-konfiguration"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "nsker du at forsge at skabe forbindelse til Internettet nu?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Tester din forbindelse..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Systemet er ikke forbundet til Internettet nu."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Af sikkerhedsgrunde vil det blive afbrudt nu."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Det lader ikke til at dit system har forbindelse til Internettet.\n"
-"Prv at omkonfigurere din forbindelse."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Konfigurr netvrk"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN konfiguration"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Vlg din udbyder.\n"
-" Hvis de ikke er i listen, vlg Ikke listet"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Forbindelses-konfiguration"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Udfyld eller markr venligst feltet nedenunder"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Kort IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Kort mem (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Kort IO"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Kort IO_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Kort IO_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Dit personlige telefonnummer"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Navn p udbyder (f.eks. udbyder.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Udbyders telefonnummer"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Udbyder DNS 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Udbyder DNS 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Opringningsmde"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Konto login (brugernavn)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Kodeord for konto"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Resten af verden"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Resten af verden \n"
-" ingen D-kanal (lejet linje)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Hvilken protokol nsker du at bruge?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Hvad slags kort har du?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Det ved jeg ikke"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Hvis du har et ISA kort burde vrdiene i nste billede vre rigtige.\n"
-"\n"
-"Hvis du har et PCMCIA kort skal du vide irq og io for kortet.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Afbryd"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Fortst"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Hvilket er dit ISDN-kort?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Jeg har opdaget et ISDN PCI-kort, men jeg ved ikke hvilken type. Vlg "
-"venligst et PCI-kort i nste skrmbillede."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr "Ingen ISDN PCI-kort fundet. Vlg venligst t i nste skrmbillede."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Der blev ikke fundet nogen ethernet netvrksadapter p dit system.\n"
-"Kan ikke stte denne forbindelsetype op."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Vlg netvrksgrnsesnit"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Vlg venligst hvilken netvrksadapter du nsker at bruge til at lave "
-"forbindelse til Internettet med."
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Netvrksgrnsesnit"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Er du enig?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Jeg er ved at genstarte netvrksenheden:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL Konfiguration"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "nsker du at starte din forbindelse ved opstart?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Angiv venligst hvilken seriel port dit modem er forbundet til."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Opkaldsindstillinger"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Navn p forbindelsen"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefonnummer"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Login id"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Identifikation"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Skript-baseret"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminal-baseret"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Domnenavn"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Frste DNS-server (valgfri)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Anden DNS-server (valgfri)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-"Jeg er ved at genstarte netvrksenheden $netc->{NET_DEVICE}. Er du enig?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Du kan lukke forbindelsen til Internettet eller genkonfigurere din "
-"forbindelse."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Du kan genkonfigurere din forbindelse"
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Du har forbindelse til Internettet nu."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Du kan lave forbindelse til Internettet eller omkonfigurere din forbindelse."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Du er ikke forbundet til Internettet nu."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Lav forbindelse til Internettet"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Luk forbindelse til Internettet"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Konfigurr netvrksforbindelse (LAN eller Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Internetforbindelse & -konfiguration"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Konfigurr netvrk"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Eksternt ISDN modem"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Internt ISDN-kort"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Hvad slags type er din ISDN-forbindelse?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Lav forbindelse til Internettet"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Den mest almindelige mde at forbinde med ADSL er pppoe.\n"
-"Nogen forbindelser bruger pptp, og nogle f bruger DHCP.\n"
-"Hvis du ikke ved noget, vlg 'brug pppoe'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "brug dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "brug pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "brug pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Jeg er ved at genstarte netvrksenheden %s. Er du enig?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Hvilken DHCP klient nsker du at bruge?\n"
-"Standard er dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Netvrks konfiguration"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "nsker du at genstarte netvrket"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "nsker du at genstarte netvrket"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Da du er i gang med en netvrksinstallation er dit netvrk "
-"alleredekonfigureret.\n"
-"Klik OK for at beholde din konfiguration, eller annullr for at "
-"omkonfigureredin Internet- og netvrksforbindelse.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Velkommen til Netvrkskonfigurationen\n"
-"\n"
-"Vi skal til at konfigurere din internet- eller netvrksforbindelse.\n"
-"Hvis du ikke nsker at bruge autodetektering s fravlg afkrydsningsboksen\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Vlg profilen der skal konfigureres"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Brug automatisk detektion"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Detekterer enheder..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Normal modemforbindelse"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "Detekteret p port %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN-forbindelse"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "Detekteret %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL (eller ADSL) forbindelse"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "Detekteret p grnseflade %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Kabelforbindelse"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "Lokalnet-konfiguration"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "ethernet-kort detekteret"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Hvordan vil du lave forbindelse til Internettet?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Tillykke, netvrks- og internetkonfigurationen er frdig.\n"
-"\n"
-"Konfigurationen vil nu blive anvendt p dit system."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Derefter anbefaler vi at du genstarter dit X-milj for\n"
-"at undg problemer med det ndrede vrtsnavn"
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "kunne ikke finde noget netkort"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Konfigurerer netvrk"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Indtast venligst vrtsnavn hvis du kender det.\n"
-"Nogle DHCP-servere krver vrtsnavnet for at fungere.\n"
-"Dit vrtsnavn br vre et fuldt kvalificeret vrtsnavn,\n"
-"fx 'minpc.mitfirma.dk'."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Vrtsnavn"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"ADVARSEL: Denne enhed er tidligere blevet konfigureret til at lave "
-"forbindelse til Internettet.\n"
-"Ved kun at trykke p OK beholder du den nuvrende konfiguration.\n"
-"ndringer i felterne nedenunder vil overskrive denne konfiguration."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Indtast IP konfigurationen for denne maskine. Hvert felt skal udfyldes\n"
-"med en IP adresse i `dotted-decimal' notation (for eksempel 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Konfigurerer netvrksenheden %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (drivprogram $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP-adresse"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Netmaske"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Automatisk IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP adresse skal have formatet 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Indtast domnenavn, vrtsnavn og IP adressen for evt. ekstra navne-servere.\n"
-"Dit vrtsnavn skal vre et fuldt kvalificeret vrtsnavn inklusive domne,\n"
-"f.eks. minpc.mitfirma.dk. Hvis du ikke har nogen ekstra navne-servere,\n"
-"s lad navne-server-felterne vre blanke."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS-server"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Gateway"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Gateway enhed"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Konfiguration af mellemvrt (proxy)"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP-mellemvrt"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP-mellemvrt"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Proxy skal vre http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Proxy skal vre ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Udvidet partition ikke understttet p denne platform"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Du har plads tilovers i din partitionstabel, men jeg kan ikke udnytte den.\n"
-"Den eneste lsning er at flytte dine primre partitioner, sledes at\n"
-"\"hullet\" bliver placeret ved siden af de udvidede partitioner."
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Fejl ved lsning af filen %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Genskabning fra fil %s mislykkedes: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Fejl i sikkerhedskopien"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Fejl ved skrivning til fil %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Noget slemt sker p dit drev. \n"
-"En test for at tjekke integriteten af data er mislykkedes. \n"
-"Dette betyder at alt p disken vil ende som tilfldigt snavs"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "skal have"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "vigtigt"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "meget rart"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "rart"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "mske"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Lokal printer"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Fjern printer"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Fjern lpd server"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Netvrksprinter (sokkel)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Printer-enheds URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Afprv porte"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "En printer, model \"%s\" er blevet fundet p "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Lokal Printer"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Hvilken enhed er printeren forbundet til \n"
-"(bemrk at /dev/lp0 er det samme som LPT1:-)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Printer-enhed"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Parametre til fjern lpd"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"For at bruge en lpd printer k p en anden maskine skal du angive navnet\n"
-"p den anden maskine og ken som jobbet skal lgges i."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Eksternt maskinnavn"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Eksternt knavn"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT)-printer indstillinger"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"For at skrive til en SMB printer, skal du angive navnet p SMB maskinen\n"
-"(bemrk at dette navn kan vre forskelligt fra TCP/IP-navnet!) og\n"
-"muligvis IP-adressen p printerserveren. Ydermere skal du angive\n"
-"knavnet for printeren, brugernavn, adgangskode og information for\n"
-"arbejdsgruppen."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB-servervrt"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "SMB-serverens IP"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Dele-navn"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Arbejdsgruppe"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "NetWare printer-parametre"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"For at skrive til en NetWare printer skal du angive navnet p NetWare\n"
-"printerserveren (bemrk at dette navn kan vre forskelligt fra\n"
-"TCP/IP-navnet!) svel som knavnet for den printer du vil benytte\n"
-"og et brugernavn samt en adgangskode."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Printer-server"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Printerk-navn"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Sokkel-printer-parametre"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"For at udskrive til en sokkel-printer skal du oplyse\n"
-"vrtsnavnet p printeren og eventuelt port-nummeret."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "printer-vrtsnavn"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Du kan direkte angive URI-en til at tilg printeren via CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Hvilken slags printer har du?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "nsker du at teste udskrift?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Udskriver testside(r)..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Testsider er blevet sendt til printerdmonen.\n"
-"Dette kan tage lidt tid fr printeren starter.\n"
-"Udskrivningsstatus:\n"
-"%s\n"
-"\n"
-"Fungerer det korrekt?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Testsider er sendt til printer-dmonen.\n"
-"Det kan tage lidt tid fr printeren starter.\n"
-"Fungerer det korrekt?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Ja, udskriv ASCII-testside"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Ja, udskriv PostScript-testside"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Ja, udskriv begge testsider"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Konfigurr printer"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "printer-valg"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Papirstrrelse"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Skift side efter opgave?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Valgmuligheder for Uniprint driver"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Valgmuligheder for farvedybde"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Udskriv tekst som PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Ordn trappetrins-tekst?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Antal sider per udskriftsside"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Hjre/venstre margener i punkter (1/72 tomme)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Top/bund margener i punkter (1/72 tomme)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Ekstra valgmuligheder til GhostScript"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Ekstra valgmuligheder til tekst"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Omvendt sideorden"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Vil du gerne konfigurere en printer?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Her er flgende printk.\n"
-"Du kan tilfje flere eller ndre de eksisterende."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS starter"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Lser CUPS driver database..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Vlg printer-forbindelse"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Hvordan er printeren tilsluttet?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Vlg fjernprinter-forbindelse"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Med en fjern CUPS server behver du ikke at konfigurere\n"
-"nogen printere; printere vil automatisk blive fundet.\n"
-"Hvis du er i tvivl, s vlg \"Fjern CUPS server\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Med en fjern CUPS server behver du ikke at konfigurere\n"
-"nogen printere; printere vil automatisk blive fundet,\n"
-"medmindre du har en server p et andet netvrk; i s fald\n"
-"skal du angive IP-nummeret p CUPS-serveren og muligvis\n"
-"dens portnummer."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "CUPS-serverens IP"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Port-nummeret br vre numerisk"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Fjern k"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr "Navn p printer br kun indeholde bogstaver, tal og understregen _"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Hver printer behver et navn (fx lp)\n"
-"Andre parametre ssom beskrivelse af printeren eller dens placering\n"
-"kan defineres. Hvilket navn skal bruges for denne printer, og hvordan\n"
-"er printeren forbundet?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Navn p printer"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Beskrivelse"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Placering"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Alle printker (som bruges til en print-opgave) behver et\n"
-"navn (ofte lp) og et mellemlagringskatalog knyttet til det. Hvilket\n"
-"navn og katalog skal bruges til denne k, og hvordan er ken forbundet?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "knavn"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Mellemlagrings-katalog"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Printer-forbindelse"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Kan ikke tilfje en partition til _formatret_ RAID md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Kan ikke skrive filen $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid fejlede"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid fejlede (mske mangler raidtools?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Ikke nok partitioner til at benytte RAID level %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron en periodisk kommando planlgger"
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd bruges til at overvge batteristatus og skrive log til syslog.\n"
-"Den kan ogs bruges til at lukke maskinen nr batteriet er p lav."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Krer planlagte kommandoer med 'at' kommandoen p tiden specificeret da\n"
-"'at' blev krt, og krer batch kommandoer nr den gennemsnitlige\n"
-"systembelastning er lav nok"
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron er et standard UNIX program der krer bruger-specifikke programmer\n"
-"p planlagte tidspunkter. Vixie cron tilfjer en del forbedringer til\n"
-"den basale UNIX cron, inklusive bedre sikkerhed og strkere "
-"konfigurationsmuligheder."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM tilfjer muse-support til tekst-baserede Linux applikationer\n"
-"ssom Midnight Commander. Den tillader muse-baseret kopir-og-stind "
-"operationer p konsollen\n"
-"og inkluderer support for pop-op-menuer i konsollen."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache er en webserver. Den bruges til at betjene HTML-filer\n"
-"og CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Internet superserver-dmonen (kaldet inetd) starter forskellige\n"
-"internet-tjenester efter behov. Den er ansvarlig for at starte tjenester "
-"som\n"
-"telnet, ftp, rsh og rlogin. Hvis inetd deaktiveres, deaktiveres alle de "
-"tjenester,\n"
-"den er ansvarlig for."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Denne pakke indlser den valgte tastatur-tabel,\n"
-"som valgt i /etc/sysconfig/keyboard. Dette kan vlges i kbdconfig "
-"programmet.\n"
-"Dette br vre slet til p de fleste maskiner."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd er printer-dmonen som er ndvendig for at lpr virker.\n"
-"Den er basalt en server der hndterer udskrifts-opgaver."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) er en domne-navneserver (DNS) der bruges til\n"
-"opslag af navne til IP-adresser."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Monterer og afmonterer alle netvrks filsystemer (NFS),\n"
-"SMB (LanManager/Windows) og NCP (NetWare) monterings-stier"
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Aktiverer/deaktiverer alle netvrks-kort som er konfigureret\n"
-"til at starte ved opstart"
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS er en populr protokol til fildeling over TCP/IP netvrk.\n"
-"Denne tjeneste giver NFS-serverfunktionalitet, som konfigureres gennem\n"
-"/etc/exports filen"
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS er en populr protokol til fildeling over TCP/IP\n"
-"netvrk. Denne service giver NFS fillsnings funktionalitet"
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA understttelse er normalt til at understtte ting som\n"
-"ethernet og modemer p brbare. Den vil ikke blive startet medmindre den "
-"er\n"
-"konfigureret, s det er sikkert at have den installeret p maskiner der "
-"ikke\n"
-"har behov for den."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Portmapper hndterer RPC tilslutninger, som bliver brugt af\n"
-"protokoller som NFS og NIS. Portmap serveren skal kre p maskiner som\n"
-"bruger protokoller der udnytter RPC mekanismen"
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix er en transport-agent for post, som bruges af programmer der\n"
-"flytter post fra en maskine til en anden."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Gemmer og henter system entropi pl for en hjre kvalitet\n"
-"p generering af tilfldige tal."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"Routed dmonen giver mulighed for automatisk IP rutetabel opdatering\n"
-"via RIP protokollen. RIP kan bruges til sm netvrk, men nr det kommer til\n"
-"mere komplekse netvrk er der behov for en mere kompleks protokol."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"rstat protokollen tillader brugere p et netvrk at\n"
-"hente systeminformation fra enhver maskine p dette netvrk."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"rusers protokollen tillader brugere p et netvrk at identificere\n"
-"hvem der er logget p andre maskiner"
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"rwho protokollen tillader fjerne brugere at hente en liste over alle\n"
-"brugere der er logget ind p en maskine, der krer rwho dmonen (minder om "
-"finger)."
-
-#: ../../services.pm_.c:85
-#, fuzzy
-msgid "Launch the sound system on your machine"
-msgstr "Start X-vinduessystemet efter opstart"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog er en facilitet som mange dmoner bruger til log beskeder\n"
-"Det er en god id altid at kre syslog"
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Starter og stopper X-skrifttypeserver ved opstart samt nedlukning."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Vlg hvilke tjenester der skal startes automatisk ved opstart"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "krer"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "stoppet"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Tjenester og dmoner"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Beklager, der er ingen ekstra\n"
-"information om denne tjeneste."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Ved opstart"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Jeg kan ikke lse din partitionstabel, den er for delagt :(\n"
-"Jeg vil forsge mig med at slette de beskadigede partitioner"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Deling af internetforbindelse"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Deling af internetforbindelse er slet til"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Indstilling af deling af internetforbindelse er allerede gjort.\n"
-"Deling er aktiveret.\n"
-"\n"
-"Hvad nsker du at gre?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "de-aktivr"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "trd af"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "genkonfigurr"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Slr servere fra..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Deling af internetforbindelse er nu slet fra"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Deling af internetforbindelse er slet fra"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Indstilling af deling af internetforbindelse er allerede gjort.\n"
-"Den er de-aktiveret for nrvrende\n"
-"Hvad nsker du at gre?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "aktivr"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Aktiverer servere..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Deling af internetforbindelse er nu slet til"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Indhold i konfigurationsfilen kunne ikke fortolkes."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Konfigurationsfil ikke genkendt"
-
-#: ../../standalone/drakgw_.c:181
-#, fuzzy
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Din computer kan konfigureres til at dele sin internetforbindelse.\n"
-"\n"
-"Bemrk: du skal bruge en dediceret netvrks Adapter, for at lave et lokalt "
-"netvrk (LAN)."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Grnseflade %s (benytter modul %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Grnseflade %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Ikke nogen netvrksadapter i dit system!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Ingen ethernet netvrksadapter er blevet fundet p dit system. Kr venligst "
-"vrktjet til maskinel konfiguration."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Der er kun n konfigureret netvrksadapter i dit system:\n"
-"\n"
-"%s\n"
-"\n"
-"Jeg skal til at stte dit lokalnet p med den adapter."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Vlg venligst hvilken netvrksadapter som skal forbindestil dit lokalnet."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Advarsel, netvrksadapteren er allerede konfigureret. Jeg vil omkonfigurere "
-"den."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr "Mulig LAN-adresse konflikt fundet i konfigurationen til $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Brandmurkonfiguration genkendt!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Advarsel! En eksisterende brandmurkonfiguration er blevet fundet. Du skal "
-"muligvis lave manuelle rettelser efter installationen."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Konfigurerer..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Konfigurerer skript, installerer programmel, starter servere..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Problemer med installation af $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Tillykke!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Alt er blevet konfigureret.\n"
-"Du kan nu dele din internetforbindelse med andre maskiner p dit lokale "
-"netvrk, ved at bruge DHCP."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "Indstilling er allerede gjort. men er de-aktiveret for nrvrende."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Indstilling er allerede gjort. og er for nrvrende aktiv."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Deling af Internetforbindelse har aldrig vret konfigureret."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Konfiguration af deling af internetforbindelse"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Velkommen til vrktjet til deling af internetforbindelse!"
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Netvrkskonfiguration (%d adaptorer)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Slet profil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Profil der skal slettes:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Ny profil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Navn p profil der skal oprettes:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Vrtsnavn: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Internetadgang"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Type:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Gateway:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Grnseflade:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Tilsluttet"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Ikke tilsluttet"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Tilslut..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Afbrud..."
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Tester din forbindelse..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Lukker din forbindelse..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Forbindelsen er ikke lukket.\n"
-"Prv at gre det manuelt ved at kre\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"i roden (som root)"
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Systemet er nu afbrudt."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Konfigurr Internetadgang..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "LAN konfiguration"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adapter"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Drivprogram"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Grnseflade"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokol"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Konfigurr lokalnetvrk..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Normal modus"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Anvend"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Vent venligst... Stter konfigurationen i anvendelse"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "LAN konfiguration"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Adapter %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Opstartsprotokol"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Startede med opstart"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP-klient"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "De-aktivr"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Aktivr"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Konfiguration af Internetforbindelse"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Konfiguration af Internetforbindelse"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Type af forbindelse"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parametre"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "Udbyder DNS 1 (valgfri)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "Udbyder DNS 2 (valgfri)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Ethernet-kort"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP-Klient"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Velkommen til Crackere"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Ringe"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoid"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Dette niveau skal bruges med omtanke. Det gr dit system nemmere at bruge,\n"
-"men er meget srbart: det m ikke bruges til en maskine der er i et netvrk\n"
-"eller har forbindelse til Internettet. Der er ikke nogen kontrol af "
-"adgangskoder."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Kontrol af adgangskode er nu aktiveret, men brug som netvrksmaskine er\n"
-"stadig ikke anbefalet."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Ikke mange forbedringer af sikkerheds-niveauet, den vigtigste er at der er\n"
-"flere sikkerheds-advarsler og eftersyn."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Dette er standard sikkerheds-anbefalingen for en maskine med\n"
-"forbindelse til Internettet. Der er nu sikkerheds-eftersyn."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Med dette sikkerhedsniveau, kan brug som server blive muligt\n"
-"Sikkerheden er nu hj nok til at systemet kan bruges som server\n"
-"som tillader forbindelser fra mange klienter."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Dette svarer til niveau 4 med ekstra sikkerhed, systemet er nu helt lukket.\n"
-"Sikkerheden er nu p hjeste niveau."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Indstiller sikkerhedsniveau"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Kontrolcenter"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Vlg det vrktj du nsker at benytte"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "brug: keyboarddrake [--expert] [tastatur]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Vil du have at Bak-tasten giver Delete i konsollen?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Skift cdrom"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Indst venligst installations-cdrom'en i dit cdrom-drev og tryk p Ok, nr "
-"det gjort\n"
-"Hvis du ikke har den - tryk p Annullr, s undgs levende opgradering"
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Kan ikke starte levende opgradering !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "ingen seriel_usb fundet\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emulering af tredje knap?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Test venligst musen"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Netvrks konfiguration"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "Mus"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Lav forbindelse til Internettet"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Luk forbindelse til Internettet"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Luk forbindelse til Internettet"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Luk forbindelse til Internettet"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Navn p forbindelsen"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "Tilsluttet"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Afbrud..."
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Brandmurkonfiguration"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Brandmurkonfiguration"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Brandmure\n"
-"\n"
-"Du har allerede indstillet en brandmur.\n"
-"Klik p Konfigurr for at ndre eller fjerne brandmuren"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Brandmure\n"
-"\n"
-"Klik p Konfigurr for at stte en standard-brandmur op"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"tinyfirewall-konfigurator\n"
-"\n"
-"Dette konfigurerer en personlig brandmur for denne Linux Mandrake maskine.\n"
-"For en kraftfuld dedikeret brandmurs-lsning se venligst denspecialiserede "
-"MandrakeSecurity Firewall-distribution."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Vi vil nu sprge dig om hvilke tjenester du gerne vil tillade\n"
-"internettet at forbinde til. Tnk grundigt over disse\n"
-"sprgsml, da din maskines sikkerhed er vigtig.\n"
-"\n"
-"Hvis du ikke bruger nogle af disse tjenester s skrm dem af\n"
-"med brandmuren. Du kan altid ndre indstillingerne nr du vil\n"
-"ved at kre dette program igen!"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Krer du en webserver p denne maskine som du har brug for at hele\n"
-"internettet kan se? Hvis du krer en webserver som kun behver at blive\n"
-"tilget af denne maskine kan du roligt svare NEJ her.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Krer du en DNS-navneserver p denne maskine? Hvis du ikke har sat\n"
-"en op til at give IP- og zone-information til hele internettet kan du svare\n"
-"nej her.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"nsker du at tillade indgende Secure Shell ssh-forbindelser?\n"
-"Det er en erstatning for telnet som du mske vil bruge til at logge ind.\n"
-"Hvis du bruger telnet nu br du afgjort skifte til ssh. telnet er ikke\n"
-"krypteret - s nogle angribere kan stjle din adgangskode hvis du bruger\n"
-"den. ssh er krypteret og tillader ikke den slags aflytning."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Vil du tillade indgende telnet-forbindelser?\n"
-"Dette er virkeligt usikkert som vi har forklaret i det foregende billede. "
-"Vi\n"
-"anbefaler strkt at du svarer NEJ her og bruger ssh i stedet for telnet.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Krer du en FTP-tjeneste p denne maskine som du har brug for at hele\n"
-"internettet har adgang til? Hvis du har s anbefaler vi strkt at du kun\n"
-"bruger den til anonyme overfrsler. En hvilkensomhelst adgangskode sendt\n"
-"over FTP kan stjles af visse angribere, siden FTP heller ikke bruger\n"
-"kryptering til at overfre adgangskoder.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Krer du en post-server her? Hvis du sender beskedder med\n"
-"pine, mutt eller en anden tekstbaseret post-klient er det sandsynligt.\n"
-"Ellers br du skrme den vk.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Krer du en POP eller IMAP-tjeneste her? Dette villeblive brugt til at tjene "
-"ikke-webbaserede postkonti for folkvia denne maskine.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Du ser ud til at kre en 2.2-kerne. Hvis din IP-netvrksadresse\n"
-"bliver sat automatisk af en maskine i dit hjem eller kontor\n"
-"(dynamisk tildelt) br vi tillade dette. Er dette tilfldet?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Fr din maskine tiden synkroniseret efter en anden maskine?\n"
-"Oftest er dette brugt af strre Unix/Linux-organisationer for at\n"
-"synkronisere tiden for logning og lignende. Hvis du ikke er en del\n"
-"af et strre kontor og ikke har hrt om dette er det sandsynligvis\n"
-"ikke tilfldet."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Konfigurationen er frdig. Skal vi skrive disse ndringer til disken?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, fuzzy, c-format
-msgid "Can't open %s: %s\n"
-msgstr "Adapter %s: %s"
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Fejl ved bning af %s for skrivning: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Klienter for forskellige protokoller inklusiv ssh"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Udvikling"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Arbejdsstation"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Brandmur/router"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Personal Information Management"
-msgstr "Personlig informationshndtering"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedie - Grafik"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Netvrksmaskine (klient)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Lyd-relaterede vrktjer: mp3 eller midi-afspillere, mixere o.lign."
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Internet-station"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Kontor"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimedie-station"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Vrktjsst til at lse samt sende post og nyheder (pine, mutt, tin..) , og "
-"til at browse p nettet"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "C og C++ udviklingsbiblioteker, programmer, og include-filer."
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Programmer til at hndtere din konomi, som fx gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS-vrt, SMB-vrt, mellemvrt (proxy), SSH-vrt"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentation"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Vrktjer"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Grafisk milj"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedie - Lyd"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Underholdnings-programmer: arkade, brt, strategi, osv."
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Videoafspillere og redigeringsvrktjer"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Konsolvrktjer"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Lyd- og video-afspillere og redigeringsvrktjer"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Videnskabelig arbejdsstation"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Redigeringsvrktjer, skaller, filvrktjer, terminaler"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Bger og vejledninger om Linux og Frit Programmel"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr "Et grafisk milj med brugervenlig samling af programmer og vrktjer"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Spil"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedie - Video"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Netvrksmaskine filserver"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Grafiske programmer som fx The Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Kontor-arbejdsstation"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"K Desktop -miljet, det grundlggende grafiske milj, med en vifte af "
-"supplerende vrktjer."
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Flere grafiske miljer (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Vrktjer til at skabe og brnde CDer"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedie - CD-brnding"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Arkivering, emulering, overvgning"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Database"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Kontor-programmer: Tekstbehandler (kword, abiword), regneark (kspread, "
-"gnumeric), pdf-visere, o.lign."
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Server"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Personal Finance"
-msgstr "Personlig konomi"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Konfiguration"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE-arbejdsstation"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Andre grafiske miljer"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache og Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Post/diskussionsgrupper"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome-arbejdsstation"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Internetadgang"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Vrktjer til Palm Pilot og Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Spillemaskine"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, o.lign."
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Vrktjer til at lette indstillingen af din maskine"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr "Samling af vrktjer til post, nyheder, filoverfrsel og chat"
-
-#~ msgid "GB"
-#~ msgstr "Gb"
-
-#~ msgid "KB"
-#~ msgstr "Kb"
-
-#~ msgid "TB"
-#~ msgstr "Tb"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minutter"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minut"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d sekunder"
-
-#~ msgid "Configure..."
-#~ msgstr "Konfigurr..."
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "LAN konfiguration"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "Valgt strrelse %d%s"
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr "bner din forbindelse..."
-
-#~ msgid "Standard tools"
-#~ msgstr "Standardvrktjer"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Konfiguration"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr "Denne opstartsfil prver at indlse modulet til din USB-mus"
-
-#~ msgid "Boot style configuration"
-#~ msgstr "Konfiguration af opstartsudseende"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Nu da din internetforbindelse er konfigureret,\n"
-#~ "kan din maskine blive konfigureret til at dele sin internetforbindelse.\n"
-#~ "Info: Du skal bruge en ekstra netvrks adapter for at stte et lokalnet "
-#~ "op (LAN).\n"
-#~ "\n"
-#~ "nsker du at opstte deling af internetforbindelsen?\n"
diff --git a/perl-install/share/po/de.po b/perl-install/share/po/de.po
deleted file mode 100644
index 0a760f4a4..000000000
--- a/perl-install/share/po/de.po
+++ /dev/null
@@ -1,8457 +0,0 @@
-# german translation of DrakX (cooker/gi/perl-install/share/po/de.po).
-# Copyright (C) 2001 MandrakeSoft.
-# Dr. Hinrich Göhlmann <hgoehlmann@gmx.de>, 1999-2000
-# Stefan Siegel <siegel@linux-mandrake.com>, 1999-2001
-# Daniel Haischt <daniel.haischt@student.fh-reutlingen.de>, 2000
-# Peer Dunker <peer46@gmx.net>, 2001
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2001-05-26 00:24+0200\n"
-"Last-Translator: Stefan Siegel <siegel@linux-mandrake.com>\n"
-"Language-Team: German <de@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Alle Karten getrennt konfigurieren"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Xinerama Erweiterung verwenden"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Nur Karte „%s“ (%s) konfigurieren"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Mehrkarten-Einstellung"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Ihr System erlaubt die Verwendung einer Mehrkarten Konfiguration.\n"
-"Was wollen Sie tun?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Grafikkarte"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Wählen Sie Ihre Grafikkarte"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Wählen Sie einen X Server"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X Server"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Welche XFree-Konfiguration wollen Sie verwenden?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Ihre Karte kann D3 hardwarebeschleunigt werden, allerdings nur mit \n"
-"XFree %s. Ihre Karte wird auch von XFree %s unterstützt, wodurch Sie \n"
-"bessere 2D Unterstützung erhalten können."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Ihre Karte kann mit XFree %s D3 hardwarebeschleunigt werden."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s mit D3 Hardwarebeschleunigung"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Ihre Karte kann D3 hardwarebeschleunigt werden, allerdings nur mit \n"
-"XFree %s. BEMERKUNG: DIESE FUNKTION IST NOCH IM EXPERIMENTIERSTADIUM \n"
-"UND KANN ZUM STEHENBLEIBEN IHRES RECHNERS FÜHREN."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s mit EXPERIMENTELLER 3D Hardwarebeschleunigung"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Ihre Karte kann D3 hardwarebeschleunigt werden, allerdings nur mit \n"
-"XFree %s. BEM: DIESE FUNKTION IST NOCH IM EXPERIMENTIERSTADIUM UND KANN \n"
-"ZUM STEHENBLEIBEN IHRES RECHNERS FÜHREN. Ihre Karte wird auch von \n"
-"XFree %s unterstützt, wodurch Sie bessere 2D Unterstützung erhalten \n"
-"können."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree konfigurieren"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Wählen Sie die Speichergröße Ihrer Grafikkarte"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Wählen Sie die Einstellungen für den Server"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Wählen Sie Ihren Monitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Die beiden kritischen Parameter sind die vertikale Wiederholfrequenz\n"
-"(wie oft der gesamte Bildschirm neu angezeigt wird) und insbesondere die\n"
-"horizontale Synchronisationsfrequenz (wie oft Scanlinien angezeigt werden).\n"
-"Es ist SEHR WICHTIG, dass Sie keinen Monitortyp mit einer falschen \n"
-"Synchronisationsrate auswählen, da Sie sonst Ihren Monitor beschädigen \n"
-"könnten. Im Zweifelsfall wählen Sie bitte eine konservativere \n"
-"Einstellung."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Horizontale Wiederholfrequenz"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Vertikale Wiederholfrequenz"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Ihr Monitor ist nicht konfiguriert"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Ihre Grafikkarte ist noch nicht konfiguriert"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Die Auflösungen wurden noch nicht ausgewählt"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Möchten Sie die vorgenommenen Einstellungen prüfen?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Warnung: Testen dieser Grafikkarte kann Ihren Rechner anhalten"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Prüfen der Einstellungen"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"Versuchen Sie bitte, einige Einstellungen zu ändern"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Ein Fehler ist aufgetreten:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Verlassen in %d Sekunden"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Ist dies richtig?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr ""
-"Ein Fehler ist aufgetreten. Versuchen Sie bitte, einige Parameter zu ändern"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Auflösung"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Wählen Sie bitte Auflösung und Farbtiefe"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Grafikkarte: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 Server: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Experten-Modus"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Alle anzeigen"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Auflösungen"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Tastaturtyp: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Maustyp: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Mausschnittstelle: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Monitor Horiz. Frequenz: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Monitor Vert. Frequenz: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Grafikkarte: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Grafikkartenspeicher: %s KB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Farbtiefe: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Auflösung: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 Server: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 Treiber: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "X-Window Konfiguration vorbereiten"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Was wollen Sie machen?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Monitor ändern"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Grafikkarte ändern"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Server Einstellungen ändern"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Auflösung ändern"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Informationen anzeigen"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Nochmals testen"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Verlassen"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Die Änderungen beibehalten?\n"
-"Momentan wäre dies:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr ""
-"Bitte loggen Sie sich erneut in %s ein, \n"
-"um die Änderungen wirksam werden zu lassen."
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Bitte loggen Sie sich aus, und drücken Sie Ctrl-Alt-Rücktaste"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X zur Startzeit"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Ich kann GNU/Linux so einrichten, dass bei jedem Systemstart\n"
-"automatisch die Grafische Oberfläche (= der X Server) aktiviert wird.\n"
-"Wollen Sie, dass X nach jedem Neustart direkt zur Verfügung steht?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 Farben (8 Bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32.000 Farben (15 Bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65.000 Farben (16 Bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 Millionen Farben (24 Bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 Milliarden Farben (32 Bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 KB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 KB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB oder mehr"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standard VGA, 640x480 bei 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 bei 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514 kompatibel, 1024x768 bei 87 Hz, interlaced (kein 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 bei 87 Hz, interlaced und 800x600 bei 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Extended Super VGA, 800x600 bei 60 Hz und 640x480 bei 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Non-Interlaced SVGA, 1024x768 bei 60 Hz und 800x600 bei 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Hochfrequenz SVGA, 1025x768 bei 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Mehrfrequenz mit der Fähigkeit für 1280x1024 bei 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Mehrfrequenz mit der Fähigkeit für 1280x1024 bei 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Mehrfrequenz mit der Fähigkeit für 1280x1024 bei 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Ihr Monitor kann 1600x1200 bei 70 Hz darstellen"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Ihr Monitor kann 1600x1200 bei 76 Hz darstellen"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Erster Sektor der Boot-Partition"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Erster Sektor der Platte (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO Installation"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Wo soll der Betriebssystemstarter installiert werden?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/Grub Installation"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO mit Textmenü"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO mit grafischem Menü"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Boot von DOS/Windows aus (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Haupt-Optionen des Betriebssystemstarters"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Zu verwendender Betriebssystemstarter"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Installation des Betriebssystemstarters"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Boot Gerät"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (funktioniert nicht mit alten BIOS Versionen)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Kompakt"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "Kompakt"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Video Modus"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Wartezeit vorm Starten des Standard Betriebssystems"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Passwort"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Passwort (erneut)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Gebrauch der Kommandozeilen-Parameter einschränken"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "Einschränken"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Die Partition /tmp bei jedem Systemstart säubern"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Geben Sie, falls nötig, die genaue RAM Größe an (%d MB gefunden)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Mehrere Profile einschalten"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Geben Sie die RAM Größe in MB an"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Die Option „Gebrauch der Kommandozeilen-Parameter einschränken“ ist ohne \n"
-"Angabe eines Passworts wirkungslos"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Bitte versuchen Sie es erneut"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Die Passwörter stimmen nicht überein"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Intit Nachricht"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Open Firmware Verzögerung"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "BS-Startverzögerung für den Kern"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "BS-Start von CD erlauben"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Open Firmware Start erlauben"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Standard BS"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Hier sind die verschiedenen Einträge.\n"
-"Sie können weitere hinzufügen oder existierende ändern."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Hinzufügen"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Fertig"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Ändern"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Welche Art Eintrag wollen Sie hinzufügen?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Anderes Betriebssystem (SunOS ...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Anderes Betriebssystem (MacOS ...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Anderes Betriebssystem"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Kern"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Verzeichnisbaumwurzel"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Übergeben"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Init-RamDisk"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Schreiben/Lesen"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tabelle"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Unsicher"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Identifikator"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Standard"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Größe der Init-RamDisk"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "NoVideo"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Eintrag löschen"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Leere Einträge sind nicht erlaubt"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Dieser Eintrag existiert bereits"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Welcher Partitionstyp?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Schnittstelle(n) %s %s gefunden"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Verfügen Sie über weitere?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Verfügen Sie über %s Schnittstellen?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Nein"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Hardware Informationen anzeigen"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Installation des Treibers für die Karte %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(Modul %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Welchen %s-Treiber soll ich versuchen?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"In einigen Fällen benötigt der „%s“ Treiber zusätzliche Informationen,\n"
-"um korrekt zu funktionieren, meistens sollte er jedoch auch ohne \n"
-"funktionieren. Wollen Sie solche Informationen angeben oder es dem Treiber "
-"überlassen, nach geeigneten Parametern zu suchen? (Das Austesten durch den "
-"Treiber kann in seltenen Fällen zum „Hängenbleiben“ des Rechners führen, was "
-"jedoch keine Hardwareschäden nach sich ziehen sollte)"
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Automatische Erkennung"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Optionen angeben"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Sie müssen nun die Optionen für Modul %s angeben."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Sie müssen nun die Optionen für Modul %s angeben.\n"
-"Optionen haben die Form „name=wert name2=wert2“.\n"
-"Beispielsweise: „io=0x300 irq=7“"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Modul-Optionen:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Laden von Modul %s schlug Fehl.\n"
-"Wollen Sie es erneut mit anderen Parametern versuchen?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s wurde bereits hinzugefügt)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Dieses Passwort ist zu einfach"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Bitte geben Sie ein Benutzerkennzeichen an"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"Das Benutzerkennzeichen sollte nur aus Kleinbuchstaben, Ziffern, \n"
-"„-“ und „_“ bestehen"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Dieses Benutzerkennzeichen existiert bereits"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Benutzer hinzufügen"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Benutzerkennzeichen einrichten\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Benutzer akzeptieren"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Benutzername"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Benutzerkennzeichen"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Symbol"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Autologin"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Ich kann GNU/Linux so einrichten, dass beim Systemstart automatisch \n"
-"ein Nutzer angemeldet wird.\n"
-"Wollen Sie davon keinen Gebrauch machen, wählen Sie „Abbruch“"
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Wählen Sie den Standard-Nutzer:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Wählen Sie den Window-Manager, den Sie verwenden wollen:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Willkommen zum Betriebssystem-Starter %s\n"
-"\n"
-"Markieren Sie in obiger Liste ein Betriebssystem\n"
-"oder warten Sie %d Sekunden, dann starte ich Ihr Standard-System.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Willkommen zum Betriebssystem-Starter GRUB!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Verwenden Sie die Tasten %c und %c um ein Betriebssystem zu w„hlen."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Zum Starten des BS drcken Sie <Return>. Mit <e> k”nnen Sie das"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "Kommando vorher editieren, mit <c> erhalten Sie eine Kommandozeile."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "In %d Sekunden wird das gew„hlte BS automatisch gestartet."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "Sie haben nicht genug Platz in „/boot“"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Arbeitsoberfläche"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Start-Menü"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "Es steht noch keine Hilfe zur Verfügung.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Konfiguration der Boot-Einstellungen"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Datei"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Datei/_Neu"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Datei/_Öffnen"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Datei/_Speichern"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Datei/Speichern_als"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Datei/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Datei/_Beenden"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Optionen"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Optionen/Test"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Hilfe"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/_Hilfe/_Über..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Konfigurieren"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Sie verwenden momentan „%s“ als Betriebssystemstarter.\n"
-"Wählen Sie „Konfigurieren“, wenn Sie den Wizard starten wollen."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "LILO/GRUB Modus"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Neuer kategorisierter Monitor"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Neuer Monitor"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Herkömmlicher Monitor"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Herkömmlicher Gtk+ Monitor"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Aurora beim Hochfahren starten"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Boot-Modus"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "X-Window nach dem Hochfahren automatisch starten "
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Nein ich will kein Autologin"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Ja ich will Autologin mit diesem Kennzeichen und dieser Oberfläche"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "System-Modus"
-
-#: ../../bootlook.pm_.c:228
-msgid "Default Runlevel"
-msgstr "Standard Runlevel"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Abbruch"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "Ich kann „/etc/inittab“ nicht zum lesen öffnen: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "Ich kann „/etc/sysconfig/autologin“ nicht zum lesen öffnen: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Die Installation von LILO schlug Fehl. Folgender Fehler trat auf:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Erzeugen"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Aushängen"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Löschen"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatieren"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Größe verändern"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Typ"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Einhängpunkt"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Schreibe /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Normal > Experten-Modus"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Experten > Normal-Modus"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Von Datei wiederherstellen"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "In eine Datei speichern"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Wizard"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Von Diskette wiederherstellen"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Auf Diskette speichern"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Alles löschen"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Alles formatieren"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Automatisches Erstellen"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Alle Primärpartitionen sind in Gebrauch"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Ich kann keinen weiteren Partitionen hinzufügen"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Um mehr Partitionen einrichten zu können, müssen Sie zunächst eine Partition "
-"löschen und anschließend eine erweiterte Partition erzeugen"
-
-# ../../diskdrak1
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Nicht genug freier Platz, damit ich selbst Partition anlegen kann."
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Rückgängig"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Partitionstabelle schreiben"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Mehr"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Auslagerung"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Leer"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Andere"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Dateisystemtypen:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Details"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Sie haben eine große FAT Partition \n"
-"(diese enthält häufig nur Microsoft DOS/Windows).\n"
-"Ich rate Ihnen, diese Partition erst zu verkleinern\n"
-"(Wählen Sie sie an und drücken Sie dann „Größe verändern“)"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Bitte machen Sie erst eine Sicherheitskopie Ihrer Daten!"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lesen Sie bitte aufmerksam!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Wenn Sie aboot verwenden wollen, müssen Sie ausreichend Platz am Anfang \n"
-"der Platte lassen (2048 Sektoren reichen aus)."
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Vorsicht: Diese Aktion ist gefährlich."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Fehler"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Einhängpunkt: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Gerät: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS Laufwerksbuchstabe: %s (vermutlich?)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Typ:"
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Name: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Anfang: Sektor %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Größe: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s Sektoren"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Zylinder %d bis Zylinder %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formatiert\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Nicht formatiert\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Eingehängt\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback Datei(en): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Partition wird standardmäßig geladen\n"
-" (für MS-DOS Boot, nicht jedoch für LILO)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Level %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Blockgröße %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID Platten %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Dateiname des Loopbacks: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Es besteht die Wahrscheinlichkeit,\n"
-"dass es sich um eine Treiber-\n"
-"Partition handelt. Sie sollten sie\n"
-"daher unverändert lassen.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Diese spezielle Start-Partition\n"
-"ist für die Verwendung mehrerer\n"
-"Betriebssysteme auf dem selben\n"
-"Rechner.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Bitte klicken Sie auf eine Partition"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Größe: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometrie: %s Zylinder, %s Köpfe, %s Sektoren\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM Platten %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Partitionstabellen Typ: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "auf Bus %d ID %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Einhängen"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktiv"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Zum RAID hinzufügen"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Löschen aus dem RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "RAID modifizieren"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Zum LVM hinzufügen"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Löschen aus dem LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Als Loopback verwenden"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Wählen Sie ein Aktion aus"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Es tut mir Leid, aber ich weigere mich, eine „/boot“ Partition \n"
-"hinter dem Zylinder 1024 anzulegen.\n"
-"Entweder verwenden Sie LILO und es wird nicht funktionieren, oder Sie "
-"verwenden \n"
-"LILO nicht, dann benötigen Sie keine „/boot“ Partition."
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Die Partition, die Sie als 'Verzeichnisbaumwurzel' (/) ausgewählt haben, ist "
-"physikalisch hinter dem 1024ten Zylinder Ihrer Festplatte gelegen und Sie "
-"haben keine „/boot“ Partition eingerichtet. Falls Sie den LILO "
-"Betriebssystemstarter einsetzen wollen, vergessen Sie bitte nicht, eine /"
-"boot Partition anzulegen!"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Sie haben eine Software-RAID-Partition als Verzeichnisbaumwurzel "
-"ausgewählt. \n"
-"Kein Betriebssystemstarter kann damit ohne Verwendung einer \n"
-"„/boot“-Partition arbeiten. Sie sollten also daran denken, eine solche \n"
-"Partition zu erstellen."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Verwenden Sie stattdessen „%s“"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Verwenden Sie erst „umount“"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Nach Änderung des Partitionstyps von %s, werden sämtliche Daten darauf "
-"gelöscht"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Wollen Sie trotzdem fortfahren?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Beenden ohne speichern"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Beenden ohne die Partitionstabelle zu speichern?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Partitionstyp ändern"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Welches Dateisystem wollen Sie verwenden?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-"Sie können ReiserFS nicht für Partitionen verwenden, die kleiner als 32MB "
-"sind!"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Wo wollen Sie die Loopback-Datei %s einhängen?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Wo wollen Sie das Gerät %s einhängen?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Ich kann diesen Einhängpunkt nicht zurücksetzen, da diese Partition als \n"
-"Loopback verwendet wird. Bitte entfernen Sie erst diesen Loopback."
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"Nach Formatieren der Partition %s, werden sämtliche Daten darauf gelöscht"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formatiere"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formatiere Loopback-Datei %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formatiere Partition %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Nach dem Formatieren aller Partitionen, "
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "werden alle Daten auf diesen Partitionen gelöscht sein"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Bewegen"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Zu welcher Platte wollen Sie wechseln?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Zu welchem Sektor wollen Sie wechseln?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "wechsele"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Bewege Partition..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Die Partitionstabelle der Platte „%s“ wird gespeichert!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr ""
-"Sie müssen Ihren Rechner neu starten, damit die Veränderungen wirksam werden"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Errechne die Grenzen des FAT Dateisystems"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Neuberechnen der Größe"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Die Größe dieser Partition kann ich nicht ändern"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Sie sollten ein Backup sämtlicher Daten dieser Partition erstellen"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"Durch Veränderung der Partitionsgröße von %s, gehen sämtliche Daten darauf "
-"verloren"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Wählen Sie die neue Größe"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Erzeuge eine neue Partition"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Anfangssektor: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Größe in MB:"
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Dateisystemtyp: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Einstellung: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Diese Partition kann nicht als Loopback verwendet werden"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Name der Loopback-Datei: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-"Diese Datei wird bereits von einer anderen Loopback-Verknüpfung verwendet, "
-"wählen Sie eine andere Datei."
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr ""
-"Es existiert bereits eine Datei mit diesem Namen. Soll ich sie verwenden?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Datei auswählen"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Die gesicherte Partitionstabelle hat nicht dieselbe Größe\n"
-"Soll trotzdem fortgefahren werden?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Warnung"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Legen Sie eine Diskette in das Laufwerk\n"
-"Alle Daten auf dieser Diskette werden gelöscht!"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Ich Versuche, die Partitionstabelle zu retten"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "Gerät"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "Level"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "Blockgröße"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Wählen Sie einen vorhandenen RAID"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "Neu"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Wählen Sie einen vorhandenen LVM"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "LVM Name?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Wechselmedien automatisch einhängen"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Partitionstabelle retten"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Neu laden"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formatieren von %s schlug Fehl"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr ""
-"Ich bin nicht in der Lage, %s mit einem Dateisystem vom Typ %s zu "
-"formatieren."
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "Fehler beim Einhängen:"
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "Fehler beim Aushängen von %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "Einfach"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "Server"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Einhängpunkte müssen mit einem / beginnen."
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Es gibt bereits eine Partition, mit dem Einhängpunkt %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Schleife bei den Einhängpunkten %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-"Sie können kein logisches LVM Medium für den Einhängpunkt %s verwenden."
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Dieses Verzeichnis muss in der Verzeichnisbaumwurzel bleiben"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Sie benötigen ein echtes GNU/Linux Dateisystem (Ext2, ReiserFS) für \n"
-"diesen Einhängpunkt.\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Fehler beim Öffnen von %s zum Schreiben: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Ein Fehler ist aufgetreten - es wurden keine gültigen Geräte gefunden, auf "
-"denen neue Dateisysteme erstellt werden können. Bitte überprüfen Sie Ihre "
-"Hardware(-Konfiguration) auf mögliche Fehler und falsche Einstellungen."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Sie haben keine Partitionen!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Wählen Sie Ihre bevorzugte Sprache für den Installationsvorgang und \n"
-" Systemlaufzeit."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Sie müssen obige Lizenz akzeptieren, bevor Sie mit der Installation \n"
-"fortfahren können.\n"
-"\n"
-"\n"
-"Wählen Sie „Akzeptieren“, falls Sie mit den Bedingungen einverstanden sind.\n"
-"\n"
-"\n"
-"Bitte wählen Sie „Zurückweisen“, falls Sie damit nicht einverstanden \n"
-"sind. Die Installation wird ohne Veränderungen an Ihrem Rechner abgebrochen."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Wählen Sie Ihre Tastatur aus der vorgegebenen Liste"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Falls Sie weitere Sprachen im laufenden Betrieb wünschen, wählen Sie \n"
-"sie aus obiger Liste. Durch markieren von „Alle“ werden alle \n"
-"Sprachen installiert."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Bitte wählen Sie „Installation“ falls keine alte Version von \n"
-"Linux-Mandrake auf Ihrem Rechner installiert ist oder Sie diese \n"
-"Version parallel zu anderen Linux-Mandrake Installationen verwenden \n"
-"wollen.\n"
-"\n"
-"\n"
-"Bitte wählen Sie „Aktualisierung“ falls Sie eine bereits installierte \n"
-"Version von Linux Mandrake aktualisieren wollen.\n"
-"\n"
-"\n"
-"Abhängig von Ihren GNU/Linux Kenntnissen, können Sie eine der folgenden \n"
-"Installationsklassen wählen:\n"
-"\n"
-" * Empfehlenswert: Falls Sie noch nie ein GNU/Linux Betriebssystem \n"
-"installiert haben. Die Installation wird sehr einfach sein und es werden \n"
-"Ihnen nur sehr wenige Fragen gestellt werden.\n"
-"\n"
-"\n"
-"\t* Benutzerdefiniert: Falls Sie bereits mit GNU/Linux gearbeitet haben, \n"
-"könne Sie sie diese Installationsklasse wählen. Sie haben die Wahl \n"
-"zwischen „Arbeitsplatzrechner“, „Entwicklungsplattform“ und \n"
-"„Server“. Sie müssen mehr Fragen als bei einer empfehlenswerten \n"
-"Installation beantworten, dafür haben Sie jedoch auch mehr Einfluss \n"
-"auf die Installation.\n"
-"\n"
-"\n"
-"\t* Experte: Wenn Sie den Umgang mit GNU/Linux „im Schlaf“ beherrschen \n"
-"und hochgranulare Wahlmöglichkeiten wünschen, ist dies ihre \n"
-"Installationsmethode. Wie bei der benutzerdefinierten Installation \n"
-"können Sie die hauptsächliche Verwendung festlegen: \n"
-"„Arbeitsplatzrechner“, „Entwicklungsplattform“ oder „Server“.\n"
-"Seien Sie sehr vorsichtig, wenn Sie sich für diese Installationsklasse \n"
-"entscheiden. Die Antworten auf einige Fragen kann sehr schwierig sein \n"
-"und Auswirkungen auf Sicherheit und Stabilität Ihrer Distribution haben. \n"
-"Wählen Sie diese Installationsklasse also wirklich nur wenn Sie wissen, \n"
-"was Sie tun!"
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Wählen Sie:\n"
-"\n"
-" - Benutzerdefiniert: Wenn Sie mit GNU/Linux vertraut sind. Sie können \n"
-"dann die hauptsächliche Nutzung Ihres Rechners angeben. Einzelheiten \n"
-"folgen später.\n"
-"\n"
-"\n"
-" - Experte: Wenn Sie den Umgang mit GNU/Linux „im Schlaf“ beherrschen \n"
-"und hochgranulare Wahlmöglichkeiten wünschen, ist dies ihre \n"
-"Installationsmethode. Aber BITTE WÄHLEN SIE DIESE VARIANTE NUR, WENN \n"
-"SIE WIRKLICH WISSEN, WAS SIE TUN!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Die unterschiedlichen Installationsklassen (erstellt um Ihren Wünschen \n"
-"und Kenntnissen gerecht zu werden) sind:\n"
-"\n"
-"* Arbeitsplatzrechner: Das ist die ideale Wahl, wenn Sie Ihren \n"
-"Rechner als normalen Arbeitsrechner (Büro-Anwendungen, Daten- oder \n"
-"Bildverarbeitung) verwenden wollen.\n"
-"\n"
-"\n"
-"* Entwicklungsplattform: Der Name spricht für sich. Wählen Sie diese \n"
-"Alternative, wenn Sie primär Software entwickeln wollen. Sie erhalten \n"
-"eine Vielzahl von Compilern, Debuggern und Werkzeugen zur \n"
-"Manipulation von Quellkode.\n"
-"\n"
-"\n"
-"* Server: Verwenden Sie diese Alternative, wenn Sie einen Server \n"
-"aufsetzen wollen. Sei dies ein Datei-Server (NFS oder SMB), ein \n"
-"Drucker-Server (sowohl UNIX- als auch SMB-Protokoll), ein \n"
-"Authentifizierungs-Server (NIS), ein Datenbank-Server, usw.\n"
-"In diesem Fall werden keine Endanwender Umgebungen (etwa KDE oder \n"
-"GNOME) installiert."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX versucht PCI SCSI Adapter zu finden. \n"
-"Im Erfolgsfalle versucht DrakX automatisch den richtigen Treiber \n"
-"einzubinden.\n"
-"\n"
-"\n"
-"Falls Sie über keinen SCSI Adapter verfügen, es sich um einen ISA SCSI \n"
-"Adapter handelt oder um einen PCI SCSI Adapter, den DrakX nicht kennt, \n"
-"werden Sie nach der Existenz eines SCSI Adapter gefragt. Sollte Ihnen \n"
-"keiner zur Verfügung stehen, können Sie einfach „Nein“ anwählen. \n"
-"Sollten Sie Sich für „Ja“ entscheiden, erscheint eine Liste, aus der \n"
-"Sie Ihren Adapter auswählen auswählen können.\n"
-"\n"
-"\n"
-"Mussten Sie den Adapter aus der Liste wählen, fragt DrakX Sie, ob Sie\n"
-"dem Modul Optionen übergeben wollen. Normalerweise sollte DrakX diese \n"
-"selbst herausfinden können.\n"
-"\n"
-"\n"
-"Falls nicht, müssen Sie die Optionen angeben. Schauen Sie im \n"
-"Installationshandbuch, wie Sie diese Informationen erhalten können, \n"
-"etwa unter Windows (sofern das auf Ihren Rechner installiert ist), \n"
-"aus den Handbüchern, die sie mit dem Adapter erhalten haben oder\n"
-"von den Web-Seiten den Hardware-Anbieters (sofern Sie einen WWW-Zugang \n"
-"haben)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Sie müssen nun entscheiden, wo auf Ihrer/n Festplatte(n) Ihr Linux-"
-"Mandrake \n"
-"System installiert werden soll. Sofern alles leer ist bzw ein "
-"Betriebssystem \n"
-"alles belegt, müssen Sie die Platte neu partitionieren. Prinzipiell "
-"besteht \n"
-"das Partitionieren der Platte(n) darin, den Plattenplatz so aufzuteilen, "
-"dass \n"
-"Sie Ihr Linux-Mandrake darauf installieren können.\n"
-"\n"
-"\n"
-"Da dieser Schritt normalerweise irreversibel ist, kann das Partitionieren "
-"für \n"
-"unerfahrene Anwender unangenehm und stressig sein.\n"
-"Dieser Wizard kann Ihnen diesen Schritt abnehmen. Lesen Sie dennoch vor "
-"Beginn \n"
-"im Handbuch die entsprechenden Passagen und lassen Sie sich Zeit mit der \n"
-"Entscheidung.\n"
-"\n"
-"\n"
-"Sie benötigen mindestens zwei Partitionen. Die erste für das "
-"Betriebssystem \n"
-"selbst, die zweite als Auslagerbereich für den Speicher (engl. „Swap“ \n"
-"genannt).\n"
-"\n"
-"\n"
-"Sollten Sie bereits existierende Partitionen haben (etwa von einer alten \n"
-"GNU/Linux Installation oder von einem anderen Partitionierungswerkzeug \n"
-"erstellt) , wählen Sie diese einfach für Ihre Installation von \n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"Falls Sie noch keine Partitionen existieren, müssen Sie sie erstellen.\n"
-"Verwenden Sie dafür obigen Wizard. Abhängig vom aktuellen Zustand Ihrer \n"
-"Platte haben Sie verschiedene Alternativen:\n"
-"\n"
-"\t* Verwende existierende: Der Wizard hat eine oder mehrere existierende \n"
-"Linux Partitionen auf Ihrer Platte gefunden. Wählen Sie diese \n"
-"Schaltfläche, falls Sie sie behalten wollen.\n"
-"\n"
-"\n"
-"\t* Komplette Platte löschen: Falls Sie alle Daten Ihrer Platte verlieren,\n"
-"und sie durch Ihr neues Linux Mandrake System ersetzen wollen, wählen Sie\n"
-"diese Schaltfläche. Beachten Sie, dass dieser Schritt nicht rückgängig\n"
-"gemacht werden kann.\n"
-"\n"
-"\n"
-"\t* Den freien Platz der Windows Partition verwenden: Falls der gesamte\n"
-"Plattenplatz aktuell für Microsoft Windows(TM) verschwendet ist, müssen\n"
-"Sie für Linux Platz schaffen. Um dies zu erreichen, können Sie entweder\n"
-"Ihre Microsoft Windows(TM) Partition samt Daten löschen (also \n"
-"„Komplette Platte löschen“ oder „Experten-Modus“) oder Ihre Windows\n"
-"Partition verkleinern. Letzteres geht ohne Datenverlust. Sie sollten \n"
-"diese Variante wählen, falls Sie beide Betriebssysteme (Windows und \n"
-"Linux Mandrake) nebeneinander nutzen wollen.\n"
-"\n"
-"\n"
-"\t Bevor Sie sich für diese Variante entscheiden, sei hier noch einmal \n"
-"betont, dass diese Variante bedeutet, dass Sie weniger Platz für \n"
-"Windows haben werden, als momentan.\n"
-"\n"
-"\n"
-"\t* Experten-Modus: Falls Sie Ihre Platten manuell partitionieren wollen, \n"
-"wählen Sie diese Schaltfläche. Seien Sie Sich jedoch bewusst, das Sie\n"
-"dadurch ein mächtiges Werkzeug erhalten, mit dem Sie gefährliche \n"
-"Aktivitäten durchführen dürfen, die zu Datenverlust führen können.\n"
-"Diese Alternative ist wirklich nur für Anwender, die genau wissen, was\n"
-"sie wollen und wie sie es erreichen können."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Sie müssen nun entscheiden auf welche Partition(en) Ihr neues \n"
-"Linux-Mandrake System installiert werden soll. Falls bereits Partitionen \n"
-"existieren (etwa von einer früheren Installation von GNU/Linux oder \n"
-"durch das Erzeugen mit einem anderen Partitionierungs-Werkzeug), \n"
-"können Sie diese verwenden. Anderenfalls müssen Sie Partitionen \n"
-"definieren.\n"
-"\n"
-"\n"
-"Um Partitionen zu erzeugen müssen Sie erst eine Festplatte wählen.\n"
-"Sie können die Platte wählen in dem Sie „hda“ für die erste IDE-Platte \n"
-"anwählen, „sda“ für die erste SCSI-Platte, usw.\n"
-"\n"
-"\n"
-"Um die gewählte Platte zu partitionieren stehen folgende Möglichkeiten \n"
-"zur Verfügung:\n"
-"\n"
-"\n"
-" * Alles löschen: Diese Schaltfläche löscht alle Partitionen auf der "
-"gewählten Festplatte.\n"
-"\n"
-"\n"
-" * Automatisches Erstellen: Diese Schaltfläche erstellt automatisch \n"
-"Ext2- und Swap-Partitionen im ungenutzten Bereich Ihrer Festplatte.\n"
-"\n"
-"\n"
-" * Partitionstabelle retten: Falls Ihre Partitionstabelle defekt ist, \n"
-"können Sie durch drücken dieser Schaltfläche versuchen Sie wieder \n"
-"herzustellen. Seien Sie vorsichtig und denken Sie immer daran, \n"
-"dass dieser Versuch misslingen kann.\n"
-"\n"
-"\n"
-" * Rückgängig: Mit dieser Schaltfläche können Sie alle Einstellungen \n"
-"rückgängig machen.\n"
-"\n"
-"\n"
-" * Neu laden: Sie können durch betätigen dieser Schaltfläche alle \n"
-"Einstellungen rückgängig machen und die (noch bestehende) \n"
-"Partitionstabelle neu laden.\n"
-"\n"
-"\n"
-" * Wizard: Falls Sie keine Ahnung haben wie Sie die Festplatte \n"
-"partitionieren sollen, wählen Sie diese Schaltfläche. Sie überlassen \n"
-"damit die gesamte Arbeit unserem „Wizard“, einem kleinen Zauberer, \n"
-"der mittels „Abra Kadabra“(TM) Ihre Platte partitioniert.\n"
-"\n"
-"\n"
-" * Von Diskette wiederherstellen: Falls Sie Ihre Partitionstabelle \n"
-"vor Beginn auf eine Diskette gespeichert haben, können Sie sie mittels \n"
-"dieser Schaltfläche wieder zurückschreiben.\n"
-"\n"
-"\n"
-" * Auf Diskette speichern: Falls Sie Ihre aktuelle Partitionstabelle \n"
-"auf Diskette speichern wollen, falls Sie sie später wiederherstellen \n"
-"wollen, können Sie das mit Hilfe dieser Schaltfläche tun.\n"
-"\n"
-"\n"
-" * Fertig: Nachdem Sie das Partitionieren Ihrer Festplatte beendet \n"
-"haben, aktivieren Sie diese Schaltfläche, um Ihre Änderungen zu \n"
-"speichern.\n"
-"\n"
-"\n"
-"Information: Sie können alle Einstellungen per Tastatur vornehmen.\n"
-"Sie können sich mittels [Tab] und den Pfeiltasten bewegen.\n"
-"\n"
-"\n"
-"Wenn eine Partition ausgewählt ist, können Sie mittels:\n"
-"\n"
-" * Strg-C eine neue Partition erstellen (wenn Sie auf \n"
-"einer leerte Partition sind)\n"
-"\n"
-" * Strg-D die Partition löschen\n"
-"\n"
-" * Strg-M dem Einhängpunkt festlegen\n"
-" \n"
-"\n"
-" \n"
-"Falls Sie die Installation auf einem PPC-Rechner vornehmen, werden Sie\n"
-" eine mindestens 1 MB große HFS Start-Partition für den BS-Starter \n"
-"yaboot erstellen wollen. Sollten Sie diese Partition etwas größer \n"
-"dimensionieren, etwa 50 MB, haben Sie einen geeigneten Platz, um \n"
-"einen Rettungs-Kern samt RamDisk abzulegen, um in Notfällen starten \n"
-"zu können."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Oben sehen Sie die auf Ihrer Festplatte gefundenen Linux-Partitionen.\n"
-"Als normaler Linuxanwender können Sie problemlos die Vorschläge des \n"
-"Wizards übernehmen.\n"
-"Sollten Sie diesen Vorschlag ändern, müssen Sie zumindest eine Partition\n"
-"als Verzeichnisbaumwurzel („/“) definieren. Wählen Sie keine zu kleine\n"
-"Partition, da sie sonst nicht genug Software installieren können.\n"
-"Falls Sie Ihre persönlichen Daten auf einer getrennten Partition \n"
-"speichern möchten, müssen Sie eine Linux-Partition für ihre persönlichen \n"
-"Verzeichnisse („/home“) definieren (Dies geht natürlich nur, wenn \n"
-"Sie mehr als nur eine Linux Partition haben).\n"
-"\n"
-"\n"
-"Alle Partitionen werden folgendermaßen aufgeführt: „Name“, „Kapazität“.\n"
-"\n"
-"\n"
-"„Name“ ist zusammengesetzt aus: „Festplattentyp“, „Festplattennummer“\n"
-"und „Partitionsnummer“ (etwa, „hda1“ oder „sdb4“).\n"
-"\n"
-"\n"
-"„Festplattentyp“ ist „hd“ falls es sich um einen IDE Platte handelt\n"
-"und „sd“ wenn es eine SCSI Platte ist.\n"
-"\n"
-"\n"
-"„Festplattennummer“ ist der Buchstabe hinter „hd“ oder „sd“. \n"
-"Bei IDE Platten bedeutet:\n"
-"\n"
-" * „a“ - „Master Festplatte am primären IDE Kontroller“,\n"
-"\n"
-" * „b“ - „Slave Festplatte am primären IDE Kontroller“,\n"
-"\n"
-" * „c“ - „Master Festplatte am sekundären IDE Kontroller“,\n"
-"\n"
-" * „d“ - „Slave Festplatte am sekundären IDE Kontroller“.\n"
-"\n"
-"\n"
-"Bei SCSI Platten steht „a“ für „erste Festplatte am Bus“, \n"
-"„b“ für „zweite Festplatte am Bus“, etc..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Wählen Sie die Festplatte, die sie löschen wollen, um Ihre neue \n"
-"Linux-Mandrake Distribution darauf zu installieren. Achtung: Alle darauf \n"
-"befindlichen Daten gehen bei diesem Schritt unwiederbringlich verloren!"
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Wählen Sie „OK“, wenn Sie alle Partitionen (damit auch alle Daten) \n"
-"dieser Festplatte löschen wollen. Achtung: durch betätigen dieser \n"
-"Schaltfläche werden alle Daten auf der Festplatte unwiederbringlich \n"
-"gelöscht (auch alle evtl. vorhandenen Windows-Daten)!\n"
-"\n"
-"\n"
-"Wählen Sie „Abbruch“, um die vorhandenen Daten unangetastet zu \n"
-"lassen und die Operation abzubrechen."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Es wurde mehr als nur eine Microsoft Windows Partition auf Ihrer Platte\n"
-"gefunden. Bitte wählen Sie welche Sie verkleinern wollen, um Ihr neues \n"
-"Betriebssystem Linux-Mandrake installieren zu können.\n"
-"\n"
-"\n"
-"Zu Ihrer Information sind alle Partitionen folgendermaßen aufgeführt:\n"
-"„Linuxname“, „Windowsname“, „Kapazität“.\n"
-"\n"
-"„Linuxname“ ist zusammengesetzt aus: „Festplattentyp“, \n"
-"„Festplattennummer“ und „Partitionsnummer“ (etwa, „hda1“ oder \n"
-"„sdb4“).\n"
-"\n"
-"„Festplattentyp“ ist „hd“ falls es sich um einen IDE Platte handelt\n"
-"und „sd“ wenn es eine SCSI Platte ist.\n"
-"\n"
-"\n"
-"„Festplattennummer“ ist der Buchstabe hinter „hd“ oder „sd“. \n"
-"Bei IDE Platten bedeutet:\n"
-"\n"
-" * „a“ - „Master Festplatte am primären IDE Kontroller“,\n"
-"\n"
-" * „b“ - „Slave Festplatte am primären IDE Kontroller“,\n"
-"\n"
-" * „c“ - „Master Festplatte am sekundären IDE Kontroller“,\n"
-"\n"
-" * „d“ - „Slave Festplatte am sekundären IDE Kontroller“.\n"
-"\n"
-"\n"
-"Bei SCSI Platten steht „a“ für „erste Festplatte am Bus“, \n"
-"„b“ für „zweite Festplatte am Bus“, etc...\n"
-"\n"
-"\n"
-"„Windowsname“ ist der Laufwerksbuchstabe, wie er von Windows vergeben\n"
-"wird (die erste FAT Partition der ersten Platte heißt „C:“)."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Bitte gedulden Sie sich etwas. Es kann einige Minuten dauern."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Alle neu angelegten Partitionen müssen formatiert (= ein Dateisystem \n"
-"erzeugt) werden, bevor Sie sie verwenden können.\n"
-"\n"
-"\n"
-"Möglicherweise wollen Sie auch einige bereits existierende Partitionen \n"
-"formatieren, um alle darauf vorhandenen Daten zu löschen. Falls ja, \n"
-"markieren Sie diese ebenfalls.\n"
-"\n"
-"\n"
-"Es sei angemerkt, das bereits existierende Partitionen nicht erneut \n"
-"formatiert werden müssen.\n"
-"Sie sollten Partitionen, die Teile des Betriebssystems enthalten neu \n"
-"formatieren (etwa „/“, „/usr“ oder „/var“), Partitionen mit \n"
-"Ihren privaten Daten (normalerweise „/home“) sollten Sie jedoch \n"
-"nicht neu formatieren.\n"
-"\n"
-"\n"
-"Seien Sie in diesem Schritt sehr sorgfältig. Nach dem Formatieren \n"
-"einer Partition ist der komplette Inhalt unwiederbringlich gelöscht!\n"
-"\n"
-"Wählen Sie „OK“, sobald Sie bereit sind die Partitionen zu \n"
-"formatieren.\n"
-"\n"
-"\n"
-"Wählen Sie „Abbruch“, falls Sie andere Partitionen verwenden wollen, \n"
-"um Ihr Linux-Mandrake darauf zu installieren."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Sie können nun die Paketgruppen auswählen, die Sie installieren /\n"
-"aktualisieren wollen.\n"
-"\n"
-"\n"
-"DrakX wird dann kontrollieren, ob Sie genug Plattenplatz haben, um sie \n"
-"alle zu installieren. Falls nicht werden sie darüber informiert.\n"
-"Sie können dennoch fortfahren, DrakX wird dann mit der Installation \n"
-"beginnen, es wird jedoch einige weniger wichtige Pakete weglassen. \n"
-"Sie können auch den Punkt „Individuelle Paketauswahl“ am Ende der \n"
-"Liste markieren; Zum Dank dafür dürfen Sie aus über 1000 Paketen \n"
-"manuell Ihre Auswahl treffen ;-)"
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Sie können nun genau die Pakete auswählen, die Sie installieren wollen.\n"
-"\n"
-"\n"
-"Durch Klicken auf die Symbole [+] bzw. [-] können Sie Teilbäume auf-\n"
-"bzw. zuklappen.\n"
-"\n"
-"Falls Sie die Pakete lieber in alphabetischer Reihenfolge aufgelistet \n"
-"bekommen wollen, wählen Sie das Symbol „Umschalten zwischen flacher \n"
-"Liste und Baumstruktur“.\n"
-"\n"
-"\n"
-"Falls Sie nicht über fehlgeschlagene Abhängigkeiten informiert werden \n"
-"wollen, markieren Sie „Automatische Abhängigkeiten“. Seien Sie sich \n"
-"bewusst, dass das deaktivieren eines Pakets in diesem Fall das \n"
-"automatische deaktivieren etlicher anderer Pakete nach sich ziehen \n"
-"kann."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Falls Sie alle aufgeführten CDs haben, wählen Sie „OK“, \n"
-"falls Sie keine der aufgeführten CDs haben, wählen Sie „Abbruch“,\n"
-"falls nur einige der aufgeführten CDs fehlen, entfernen Sie die \n"
-"entsprechende Markierung und wählen Sie dann „OK“."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Ihre neue Linux-Mandrake Distribution wird nun installiert. Das \n"
-"dauert einige Minuten (abhängig von der Anzahl zu installierender \n"
-"Pakete und der Geschwindigkeit Ihres Rechners).\n"
-"\n"
-"\n"
-"Bitte haben Sie etwas Geduld."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Sie können nun Ihre Maus testen. Betätigen Sie nun die Tasten und das\n"
-"Rad (sofern vorhanden), um zu sehen ob Sie die richtige Wahl getroffen \n"
-"haben. Falls nicht, wählen Sie „Abbruch“ und korrigieren Sie Ihre \n"
-"Auswahl."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Bitte wählen Sie den richtigen Anschluss aus. Die COM1-Schnittstelle \n"
-"unter MS Windows wird beispielsweise unter GNU/Linux als „ttyS0“ \n"
-"bezeichnet."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Falls Sie Ihren Rechner mit einem lokalen Netz oder dem Internet in \n"
-"Verbindung bringen wollen, wählen Sie die entsprechenden Alternativen.\n"
-"Bitte stellen Sie sicher, dass das entsprechende Gerät eingeschaltet \n"
-"und korrekt mit dem Rechner verbunden ist, damit DrakX es automatisch \n"
-"erkennen kann.\n"
-"\n"
-"\n"
-"Falls Sie Ihre Netzwerkeinstellungen nach der Installation vornehmen \n"
-"wollen oder falls Sie Ihre Einstellungen beendet haben, wählen Sie \n"
-"„Fertig“."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Es wurde kein Modem gefunden. Bitte wählen Sie die serielle \n"
-"Schnittstelle, an der es hängt.\n"
-"\n"
-"\n"
-"Zu Ihre Information: Die erste serielle Schnittstelle (unter \n"
-"Microsoft Windows „COM1“) heißt unter GNU/Linux „ttyS0“."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Sie können nun Einwahlparameter eingeben. Falls Sie nicht wissen, \n"
-"was Sie eingeben müssen, fragen Sie Ihren Internet-Dienstanbieter. \n"
-"Falls Sie keinen DNS (Name-Server) angeben wir dieser bei \n"
-"Verbindungsaufbau von Ihrem Internetanbieter erfragt."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Falls Sie ein externes Modem besitzen, schalten Sie es jetzt bitte an, \n"
-"damit DrakX es automatisch erkennen kann."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Bitte schalten Sie Ihr Modem ein und wählen Sie das richtige."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Falls Sie nicht sicher sind, ob obige Informationen korrekt sind, \n"
-"oder falls Sie nicht wissen, was Sie eintragen müssen, wenden Sie sich \n"
-"bitte an Ihren Internet-Dienst-Anbieter. Falls Sie keinen Domain Name \n"
-"Server (DNS) angeben, werden die Informationen Ihres Internetanbieters \n"
-"bei Aufbau der Verbindung erwartet."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Sie können nun, falls nötig, Ihren Rechnernamen eingeben. Falls Sie \n"
-"nicht wissen was Sie eintragen sollen, wenden Sie sich bitte an Ihren \n"
-"Internet-Dienst-Anbieter."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Sie können nun Ihr Netzwerk-Gerät einrichten.\n"
-"\n"
-"* IP Adresse: Falls Sie diese nicht kennen sollten, wenden Sie sich bitte an "
-"Ihren Netzwerk-Administrator. Sie sollten hier keine IP-Adresse \n"
-"angeben, falls Sie weiter unten „Automatische IP“ auswählen.\n"
-"\n"
-"* Netzmaske: „255.255.255.0“ ist normalerweise eine gute Wahl. Wenn Sie \n"
-"nicht sicher sind, fragen Sie Ihren Netzwerk-Administrator.\n"
-"\n"
-"\n"
-" - Automatische IP: Falls Ihr Netzwerk das BOOTP- oder DHCP-Protokoll \n"
-"verwendet, wählen Sie bitte diese Option. Wenn gewählt, müssen Sie keine \n"
-"„IP Adresse“ angeben. Sind Sie sich nicht sicher, fragen Sie bitte \n"
-"ebenfalls Ihren Netzwerk-Administrator."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Sie können nun, falls nötig, Ihren Rechnernamen eingeben. Falls Sie \n"
-"nicht wissen was Sie eintragen sollen, wenden Sie sich bitte an Ihren \n"
-"Netzwerk-Administrator."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Sie können nun, falls nötig, Ihren Rechnernamen eingeben. Falls Sie \n"
-"Ihn nicht kennen, lassen Sie die Zeile leer."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Sie können jetzt Einwahl-Einstellungen vornehmen. Falls Sie sich nicht "
-"sicher \n"
-"sind, so können Sie die richtigen Informationen von Ihrem ISP erhalten."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Falls Sie einen Proxy-Server einsetzen wollen, so stellen Sie bitte jetzt "
-"die\n"
-"nötigen Parameter ein. Sind Sie sich bei diesem Punkt nicht sicher, so "
-"wenden\n"
-"Sie sich bitte an Ihren Netzwerk-Administrator oder ISP."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Sie können Crypto-Pakete installieren, wenn Ihre Internetverbindung \n"
-"korrekt eingerichtet wurde. Wählen Sie zuerst einen Mirror, von dem \n"
-"Sie die Pakete herunterladen wollen, um anschließend auszuwählen, \n"
-"welche Sie installierenden wollen.\n"
-"\n"
-"\n"
-"Bedenken Sie bei der Auswahl des Mirrors sowie der Pakete die rechtlichen \n"
-"Rahmenbedingungen Ihres Standorts."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Sie können nun die Zeitzone anhand Ihres Wohnortes einstellen."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU/Linux arbeitet mit GMT (Greenwich Mean Time) und übersetzt \n"
-"diese anhand der Zeitzone in Ihre lokale Zeit.\n"
-"\n"
-"\n"
-"Da Microsoft Windows nicht sinnvoll mit GMT umgehen kann, müssen Sie\n"
-"„Nein“ wählen, falls Sie auch ein Betriebssystem aus dem Hause\n"
-"Microsoft auf Ihrem Rechner „beherbergen“."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Sie können nun die Dienste wählen, die ab Systemstart zur Verfügung \n"
-"stehen sollen.\n"
-"\n"
-"\n"
-"Wenn Sie mit dem Mauszeiger über einem Eintrag stehen, erhalten Sie \n"
-"eine Hilfestellung, was der jeweilige Dienst leistet. \n"
-"\n"
-"\n"
-"Seien Sie in diesem Schritt besonders umsichtig, wenn Sie einen Server \n"
-"aufsetzen wollen: Starten sie nur die Dienste, die sie wirklich benötigen."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Sie können einen Drucker, der direkt an Ihrem Rechner hängt, oder einen\n"
-"entfernten Drucker (egal ob unter UNIX, Netware oder Microsoft Windows)\n"
-"einrichten."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Falls Sie mit Ihrem neuen System auch drucken wollen, wählen Sie nun \n"
-"ein Drucksystem: CUPS oder LPR.\n"
-"\n"
-"\n"
-"CUPS ist ein neues, mächtigesund flexibles UNIX Drucksystem (CUPS\n"
-"steht für „Common Unix Printing System“, engl. für „Allgemeines \n"
-"UNIX Drucksystem“). Es ist das Standard-Drucksystem Ihres Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR ist das leicht antiquierte UNIX Drucksystem aus den 1970ern. Es wurde \n"
-"in früheren Linux-Mandrake Versionen verwendet.\n"
-"\n"
-"\n"
-"Falls Sie keinen Drucker besitzen/verwenden wollen, wählen Sie „Keinen“."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux kann mit einer Reihe verschiedenster Drucker arbeiten. \n"
-"Jede Klasse benötigt jedoch ein eigenes Konfigurationsverfahren.\n"
-"\n"
-"\n"
-"Falls Ihr Drucker direkt mit Ihrem Rechner verbunden ist, wählen Sie \n"
-"„Lokaler Drucker“.\n"
-"\n"
-"\n"
-"Hängt der Drucker hingegen an einem anderen UNIX Rechner, wählen Sie\n"
-"„Entfernter Drucker“.\n"
-"\n"
-"\n"
-"Sollten Sie hingegen einen Drucker an einem Microsoft Windows Rechner \n"
-"ansprechen wollen (bzw. einem UNIX Rechner der mit SMB arbeitet), \n"
-"wählen Sie „SMB/Windows 95/98/NT“."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Bitte schalten Sie Ihren Drucker an, bevor Sie DrakX ihn von DrakX \n"
-"suchen lassen.\n"
-"\n"
-"Sie müssen hier einige Informationen eingeben.\n"
-"\n"
-"\n"
-"* Druckername: Der Drucker-Spooler verwendet „lp“ als Standarddrucker.\n"
-"Sie benötigen daher einen Drucker Namens „lp“.\n"
-"Auch wenn Sie nur einen Drucker haben, können Sie ihm mehrere Namen \n"
-"geben. Sie müssen die Namen nur durch einen senkrechten Strich (also \n"
-"„|“) trennen. Falls Sie einen aussagekräftigeren Namen haben wollen,\n"
-"schreiben Sie diesen vor „lp“: „Mein Drucker|lp“.\n"
-"\n"
-"\n"
-"* Beschreibung: Sie müssen hier keinen Text angeben, es kann jedoch \n"
-"hilfreich sein, wenn Sie mehrere Drucker besitzen, die Sie \n"
-"unterscheiden wollen.\n"
-"\n"
-"\n"
-"* Standort: Sie können hier (falls Sie wollen) Informationen zum \n"
-"Standort Ihres Druckers angeben (etwa „Abstellkammer im 2. Stock“)\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Sie müssen hier einige Informationen eingeben.\n"
-"\n"
-"\n"
-"* Name der Warteschlange: Der Drucker-Spooler verwendet „lp“ als \n"
-"Standarddrucker. Sie benötigen daher einen Drucker Namens „lp“.\n"
-"Auch wenn Sie nur einen Drucker haben, können Sie ihm mehrere Namen \n"
-"geben. Sie müssen die Namen nur durch einen senkrechten Strich (also \n"
-"„|“) trennen. Falls Sie einen aussagekräftigeren Namen haben wollen,\n"
-"schreiben Sie diesen vor „lp“: „Mein Drucker|lp“.\n"
-"\n"
-"\n"
-"* Spool-Verzeichnis: In diesem Verzeichnis werden die Druckprozesse \n"
-"zwischengespeichert. Falls Sie unsicher sind, was Sie eintragen sollen,\n"
-"sollten Sie die Vorgabe beibehalten.\n"
-"\n"
-"\n"
-"* Drucker-Anbindung: Falls Ihr Drucker direkt an Ihrem Rechner hängt,\n"
-"wählen Sie „Lokaler Drucker“. Wollen Sie einen Drucker an einem anderen\n"
-"UNIX/Linux Rechner ansprechen, wählen Sie „lpd-Server auf der Gegenseite“\n"
-"\n"
-"\n"
-"Falls Sie einen Drucker an einem Windows Rechner (oder einem UNIX Rechner\n"
-"mittels SMB-Protokoll) ansprechen wollen, wählen Sie \n"
-"„SMB/Windows 95/98/NT“.\n"
-"\n"
-"\n"
-"Einen Netware Drucker erreichen Sie mittels „NetWare“.\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Ihr Drucker wurde nicht erkannt. Bitte geben Sie die Schnittstelle an,\n"
-"an die er angeschlossen ist.\n"
-"\n"
-"\n"
-"Bem.: Die meisten Drucker hängen an der ersten parallelen Schnittstelle.\n"
-"Diese heißt unter GNU/Linux „/dev/lp0“ (das entspricht „LPT1“ unter\n"
-"den Microsoft Betriebssystemen)."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Sie müssen nun Ihren Drucker aus der Liste auswählen."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Bitte wählen Sie die passenden Parameter für Ihren Drucker.\n"
-"Bitte schauen Sie in Ihr Druckerhandbuch, sofern Sie nicht wissen, \n"
-"was Sie hier eintragen müssen.\n"
-"\n"
-"\n"
-"Im nächsten Schritt haben Sie die Möglichkeit die eingestellten Werte \n"
-"zu testen. Sollten die Parameter nicht stimmen, erhalten Sie die \n"
-"Möglichkeit Korrekturen vorzunehmen."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Sie können nun das Root Passwort für ihr Linux-Mandrake System \n"
-"eingeben. Das Passwort muss zweimal eingegeben werden, um sicher \n"
-"zu stellen, dass sie es korrekt eingegeben haben.\n"
-"\n"
-"\n"
-"Root ist das Benutzerkennzeichen des Systemadministrators. Er ist \n"
-"der einzige der berechtigt ist Systemdateien zu ändern. Wählen Sie \n"
-"deshalb das Passwort sehr sorgfältig aus!\n"
-"\n"
-"\n"
-"Unberechtigter Zugang zu diesem Benutzerkennzeichen ist extrem \n"
-"gefährlich für die Integrität Ihres Systems, der darauf enthaltenen \n"
-"Daten, sowie anderer Rechner, auf die sie Zugriff haben.\n"
-"\n"
-"\n"
-"Das Passwort sollte eine mindestens acht Zeichen lange alphanumerischen \n"
-"Zeichenkette sein. Sie sollten es unter keinen Umständen schriftlich \n"
-"aufbewahren. Machen Sie es nicht zu lang oder zu kompliziert, \n"
-"schließlich sollten Sie sich ohne größere Anstrengungen daran erinnern."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Um ein sicheres System zu erhalten, sollten Sie „Shadow Datei verwenden“\n"
-"und „MD5 Passwörter verwenden“ auswählen."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Falls Ihr Netzwerk NIS verwendet, so wählen Sie bitte „NIS verwenden“.\n"
-"Sind Sie sich nicht sicher, so wenden Sie sich bitte an Ihren \n"
-"Netzwerk-Administrator."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Sie können nun einen oder mehrere „reguläre“ Benutzerkennzeichen \n"
-"einrichten, im Gegensatz zum „privilegierten“ Kennzeichen: root.\n"
-"Sie können mehrere Benutzerkennzeichen pro Person einrichten, der Sie \n"
-"Zugang zu Ihrem GNU/Linux gewähren wollen. Jedes Benutzerkennzeichen hat \n"
-"eigene Präferenzen (Grafische Umgebung, Programmeinstellungen, etc.), \n"
-"sowie ein eigenes „home“-Verzeichnis, in dem diese Einstellungen \n"
-"gespeichert werden.\n"
-"\n"
-"\n"
-"Erstellen Sie sich zuerst eine eigene Benutzerkennung, auch wenn Sie der \n"
-"einzige Anwender sind, der diesen Rechner nutzt. Sie dürfen NICHT \n"
-"ständig mit dem privilegierten Kennzeichen arbeiten! Das ist ein hohes \n"
-"Sicherheitsrisiko! Das Risiko, Ihr System unbrauchbar zu machen ist \n"
-"häufig nur einen falschen Tastendruck weit entfernt.\n"
-"\n"
-"\n"
-"Sie sollten sich daher, außer zu Administrationszwecken, immer nur \n"
-"unter dem hier erzeugten Benutzerkennzeichen anmelden."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Wir empfehlen Ihnen das erstellen einer Startdiskette! Falls sie einmal \n"
-"Probleme beim Starten Ihres GNU/Linux bekommen kann dies die einzige \n"
-"Möglichkeit sein, wieder an Ihre Daten zu kommen."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Sie müssen nun entscheiden, wo die Informationen zum Starten\n"
-"Ihrer GNU/Linux Distribution erstellt werden sollen.\n"
-"\n"
-"\n"
-"Sofern Sie nicht genau wissen, was sie machen sollen, wählen Sie\n"
-"„Erster Sektor der Platte (MBR)“."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Falls Sie keine spezifischen Kenntnisse besitzen, so sollten Sie hier\n"
-"„/dev/hda“ (erste IDE Platte) oder „/dev/sda“ (erste SCSI Platte) \n"
-"auswählen."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (der LInux LOader) und Grub sind Betriebssystemstarter: Diese \n"
-"Programme starten entweder GNU/Linux oder die anderen Betriebssysteme, \n"
-"die auf Ihrem Rechner vorhanden sind. Normalerweise erkennen diese \n"
-"Werkzeuge alle existierenden Betriebssysteme korrekt und bieten Sie \n"
-"als Startalternativen an. Ist dies einmal nicht der Fall, können Sie \n"
-"hier manuell helfend eingreifen. Seien Sie jedoch vorsichtig, dass sie \n"
-"die korrekten Parameter eingeben.\n"
-"\n"
-"\n"
-"Eventuell möchten Sie anderen Anwendern nicht die Möglichkeit geben, \n"
-"diese anderen Betriebssysteme zu verwenden, in diesem Fall können Sie \n"
-"den entsprechenden Eintrag einfach löschen. Das hat jedoch zur Folge, \n"
-"dass sie eine Startdiskette benötigen, um diese Betriebssysteme in \n"
-"Zukunft starten zu können."
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"Die Haupt-Optionen von LILO bzw. Grub sind:\n"
-"\n"
-"* Boot Gerät: Angabe des Geräts (etwa eine Festplattenpartition) \n"
-"das den Bootsektor enthält. Sofern Sie es nicht besser wissen, \n"
-"wählen Sie hier „/dev/hda“.\n"
-"\n"
-"\n"
-"* Wartezeit vorm Starten des Standard Betriebssystems: Angabe der Zeit \n"
-"(in zehntel Sekunden), die der Starter wartet, bevor das Standard-BS \n"
-"geladen wird. Das ist besonders sinnvoll, für Rechner, die sofort nach \n"
-"aktivieren der Tastatur mit dem Systemstart beginnen. Wenn die \n"
-"Wartezeit auf 0 gesetzt wird, wird sofort das Standard-BS gestartet.\n"
-"\n"
-"\n"
-"* Video Modus: Hier wird der VGA-Text-Modus, den Mandrake beim \n"
-"Systemstart verwenden soll eingestellt. Folgende Werte sind möglich: \n"
-"\n"
-" * normal: Normaler 80x25 Text Modus.\n"
-"\n"
-" * <Zahl>: Entsprechender Text-Modus.\n"
-"\n"
-"\n"
-" - Die Partition /tmp bei jedem Systemstart säubern: Falls Sie alle \n"
-"Dateien und Verzeichnisse im Ordner „/tmp“ bei jedem BS-Start geleert \n"
-"bekommen wollen, markieren Sie diesen Punkt.\n"
-"\n"
-"\n"
-" - Geben Sie, falls nötig, die genaue RAM Größe an: Es gibt leider keine \n"
-"Standardmethode, das BIOS nach der vorhandenen RAM-Größe zu befragen.\n"
-"Daher kann es sein, dass der Linux-Kern nicht die richtige Menge RAM \n"
-"erkennt. Sollte das der Fall sein, können Sie hier die richtige Menge \n"
-"angeben (Bemerkung: eine Differenz von bis zu 4 MB zur realen Menge \n"
-"ist normal)."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot ist ein BS-Starter für NewWorld MacIntosh Rechner. Er kann sowohl\n"
-"GNU/Linux als auch MacOS oder MacOS X starten, falls diese auf Ihrem\n"
-"Rechner installiert sind. Normalerweise werden diese Betriebssysteme\n"
-"alle automatisch gefunden und eingebunden. Sollte dies nicht der Fall\n"
-"sein, können Sie diese hier manuell hinzufügen. Stellen Sie jedoch\n"
-"sicher, die richtigen Parameter zu verwenden.\n"
-"\n"
-"\n"
-"Die Hauptparameter von Yaboot sind:\n"
-"\n"
-"\n"
-" - Init Message: Ein Text, der vor dem Prompt angezeigt wird.\n"
-"\n"
-"\n"
-" - Boot Gerät: Hiermit wird angegeben, wohin die Informationen zum Starten\n"
-"Ihres GNU/Linux Systems geschrieben werden sollen. Sie sollten in einem\n"
-"früheren Schritt bereits eine Boot-Partition angelegt haben, um diese\n"
-"Daten zu beherbergen.\n"
-"\n"
-"\n"
-" - Open Firmware Verzögerung: Im Gegensatz zu LILO, stehen mit Yaboot\n"
-"zwei Verzögerungen zur Verfügung. Die erste Verzögerung wird in Sekunden\n"
-"angegeben und dient zur Auswahl zwischen CD, OF Boot, MacOS oder Linux.\n"
-"\n"
-"\n"
-" - BS-Startverzögerung für den Kern: Diese Verzögerung entspricht der\n"
-"LILO Start-Verzögerung. Sie haben nach der Auswahl von Linux diese \n"
-"Verzögerung (in 0,1 Sekunden Schritten) Zeit, bis der Standardkern\n"
-"geladen wird.\n"
-"\n"
-"\n"
-" - BS-Start von CD erlauben: Markieren dieses Punkts erlaubt es Ihnen\n"
-"an der ersten Eingabeaufforderung „C“ für den Start von CD zu wählen.\n"
-"\n"
-"\n"
-" - Open Firmware Start erlauben: Markieren dieses Punkts erlaubt es Ihnen\n"
-"an der ersten Eingabeaufforderung „N“ für den Open Firmware Start zu\n"
-"wählen.\n"
-"\n"
-"\n"
-" - Standard BS: Hiermit stellen Sie ein, welches Betriebssystem nach\n"
-"Ablauf der Open Firmware Verzögerung automatisch gestartet werden soll."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"Sie können weitere Yaboot einträge angeben, etwa für andere \n"
-"Betriebssysteme, alternative Kerne oder ein Rettungssystem.\n"
-"\n"
-"\n"
-"Für ein anderes BS können Sie nur einen Namen und die Start-Partition\n"
-"angeben.\n"
-"\n"
-"\n"
-"Für Linux gibt es einige Parameter:\n"
-"\n"
-"\n"
-" - Identifikator: Es handelt sich um den Namen, den Sie an der Yaboot\n"
-"Eingabeaufforderung angeben müssen, um diese Alternative zu wählen.\n"
-"\n"
-"\n"
-" - Kern: Der Name des BS-Kerns, den sie starten wollen. Normalerweise\n"
-"handelt es sich um „vmlinuz“ oder eine Variante von „vmlinuz“ mit \n"
-"einer Versionsnummer.\n"
-"\n"
-"\n"
-" - Verzeichnisbaumwurzel: Die Verzeichnisbaumwurzel „/“ Ihrer Linux\n"
-"Installation.\n"
-"\n"
-"\n"
-" - Übergeben: Auf Apple Hardware, wird die Übergabemöglichkeit weiterer\n"
-"Kernparameter häufig verwendet, um die Grafikausgabe richtig zu\n"
-"konfigurieren oder die Tastaturemulation der Mausknöpfe einzuschalten,\n"
-"da klassische Apple-Mäuse von Hause aus mit 2 fehlenden Maustasten\n"
-"ausgeliefert werden. Hier einige Beispiele:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" - Init-RamDisk: Dieser Parameter kann eintweder verwendet werden, um\n"
-"zum Boot-Zeitpunkt bereits zusätzliche Kern-Module zur Verfügung zu \n"
-"haben, ohne dass das Boot-Gerät zur Verfügung steht oder um ein RamDisk\n"
-"Abbild für den BS-Start in Notfällen zur Verfügung zu haben.\n"
-"\n"
-"\n"
-" - Größe der Init-RamDisk: Standardmäßig ist eine RamDisk 4096 Bytes\n"
-"groß. Sollten Sie eine größere RamDisk benötigen, können Sie das\n"
-"mit diesem Parameter einstellen.\n"
-"\n"
-"\n"
-" - Schreiben/Lesen: Normalerweise wird die Verzeichnisbaumwurzel zuerst\n"
-"im Nur-Lese-Modus eingehängt, um eine Dateisystem Verifikation \n"
-"durchführen zu können, bevor das Betriebssystem seinen Dienst aufnimmt.\n"
-"Diesen Umstand können Sie hier abstellen.\n"
-"\n"
-"\n"
-" - NoVideo: Sollte sich die Apple Grafik-Hardware als extrem\n"
-"problematisch erweisen, können Sie diesen Parameter verwenden um im sog.\n"
-"„novideo“-Modus, also im Framebuffer-Modus zu starten.\n"
-"\n"
-"\n"
-" - Standard: Wählt diesen Eintrag als Standard Linux-Kern, den Sie durch\n"
-"drücken von <Enter> an der Yaboot Eingabeaufforderung gestartet bekommen.\n"
-"Wenn Sie die <Tab>-Taste an der Eingabeaufforderung drücken, erhalten \n"
-"Sie eine Liste der verfügbaren Alternativen. Der Standardeintrag wird\n"
-"mit einem Stern „*“ markiert."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO ist ein Betriebssystemstarter für SPARC Rechner: Dieses Programm \n"
-"startet entweder GNU/Linux oder die anderen Betriebssysteme, die auf \n"
-"Ihrem Rechner vorhanden sind. Normalerweise erkennen diese Werkzeuge \n"
-"alle existierenden Betriebssysteme korrekt und bieten Sie als \n"
-"Startalternativen an. Ist dies einmal nicht der Fall, können Sie hier \n"
-"manuell helfend eingreifen. Seien Sie jedoch vorsichtig, dass sie die \n"
-"korrekten Parameter eingeben. \n"
-"\n"
-"\n"
-"Eventuell möchten Sie anderen Anwendern nicht die Möglichkeit geben, \n"
-"diese anderen Betriebssysteme zu verwenden, in diesem Fall können Sie \n"
-"den entsprechenden Eintrag einfach löschen. Das hat jedoch zur Folge, \n"
-"dass sie eine Startdiskette benötigen, um diese Betriebssysteme in \n"
-"Zukunft starten zu können."
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"Die Haupt-Optionen von SILO sind:\n"
-" - Boot Gerät: Hier geben Sie an, wo sie die Informationen ablegen \n"
-"wollen, die zum Starten Ihres GNU/Linux Systems benötigt wird. Sofern \n"
-"Sie es nicht besser wissen, wählen Sie hier „Erster Sektor der Platte \n"
-"(MBR)“.\n"
-"\n"
-"\n"
-" - Wartezeit vorm Starten des Standard Betriebssystems: Angabe der Zeit \n"
-"(in zehntel Sekunden), die SILO wartet bevor das Standard-BS geladen \n"
-"wird. Das ist besonders sinnvoll, für Rechner, die sofort nach \n"
-"aktivieren der Tastatur mit dem Systemstart beginnen. Wenn die \n"
-"Wartezeit auf 0 gesetzt wird, startet SILO sofort das Standard-BS."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Nun ist es an der Zeit, Ihr X Windows System zu konfigurieren. Es \n"
-"handelt sich dabei um die Basis der Grafischen Benutzerschnittstelle \n"
-"(GUI) von GNU/Linux. Sie müssen dafür Ihre Videokarte sowie Ihren \n"
-"Monitor einrichten. Die meisten der notwendigen Schritte sind \n"
-"automatisiert. Daher wird Ihre Aufgabe vor Allem im Kontrollieren der \n"
-"Ergebnisse und Bestätigen bestehen.\n"
-"\n"
-"\n"
-"Nach Beendigung der Konfiguration wird der X-Server gestartet (außer \n"
-"wenn Sie es DrakX untersagen), damit Sie testen können, ob die \n"
-"vorgenommenen Einstellungen Ihren Wünschen entsprechen. Sollte dies \n"
-"nicht der Fall sein, können Sie so oft wie nötig zurückkommen, um \n"
-"Änderungen vorzunehmen."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Verwenden Sie diese Parameter, falls mit Ihrer X-Konfiguration etwas \n"
-"nicht in Ordnung sein sollte."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Wenn Sie nach dem Systemstart direkt eine grafische Oberfläche verwenden \n"
-"möchten, wählen Sie „Ja“, andernfalls „Nein“."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Sie können hier die Sicherheitsebene Ihres Systems einstellen. Für \n"
-"weitere Informationen schauen Sie bitte ins Handbuch. Falls Sie nicht \n"
-"wissen, was Sie einstellen sollen, lassen Sie die Standardeinstellung.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Ihr Rechner wir neu gestartet.\n"
-"\n"
-"Nach dem Neustart wir Ihr Linux-Mandrake System automatisch gestartet.\n"
-"Sollten Sie ein anderes Betriebssystem starten wollen, lesen Sie bitte \n"
-"die zusätzlichen Informationen."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Sprache auswählen"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Installationsart auswählen"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Festplatten suchen"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Maus konfigurieren"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Tastatur auswählen"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Sicherheit"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Dateisysteme einrichten"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Partitionen formatieren"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Zu installierende Pakete"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "System installieren"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Root-Passwort setzen"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Benutzer hinzufügen"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Netzwerk konfigurieren"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Zusammenfassung"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Dienste konfigurieren"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Startdiskette erstellen"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "BS-Starter installieren"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "X konfigurieren"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Installation beenden"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"Sie haben die folgenden Server ausgewählt: %s\n"
-"\n"
-"\n"
-"Diese Server werden standardmäßig aktiviert. Sie haben keine bekannten\n"
-"Sicherheitsprobleme, es können jedoch irgendwann welche gefunden werden.\n"
-"In diesem Fall müssen Sie sicherstellen, dass Sie so schnell wie möglich\n"
-" eine Paketaktualisierung vornehmen.\n"
-"\n"
-"\n"
-"Wollen Sie diese Server wirklich installieren?\n"
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-"Ich kann kein Broadcast machen,\n"
-"da keine NIS Domäne angegeben wurde"
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Legen Sie eine FAT formatierte Diskette in Laufwerk %s ein."
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Dieskette ist nicht FAT formatiert."
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Um diese gespeicherte Paketauswahl zu verwenden, starten Sie die \n"
-"Installation bitte mit: „boot defcfg=floppy“"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Fehler beim Lesen der Datei $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "OK"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Bitte testen Sie Ihre Maus?"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Um Ihre Maus zu aktivieren:"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "BEWEGEN SIE IHR MAUS-RAD!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Einige Hardware Komponenten Ihres Rechners benötigen „proprietäre“\n"
-"Treiber. Weitere Infos hierzu finden Sie unter: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Sie brauchen eine Verzeichnisbaumwurzel.\n"
-"Erzeugen Sie eine Partition (oder klicken Sie auf eine existierende).\n"
-"Wählen Sie „Einhängpunkt“ und setzen Sie ihn auf „/“"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Sie benötigen eine Auslagerungs-Partition"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Sie haben keine Auslagerungs-Partition\n"
-"\n"
-"Wollen Sie trotzdem fortfahren?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Freien Platz verwenden"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Nicht genug freier Platz, um die neue Partition anlegen zu können."
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Verwende existierende"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Es gibt keine existierende Partition, die ich verwenden kann."
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Auf der Windows Partition Loopbacks anlegen"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Auf welche Partition wollen Sie Linux4Win installieren?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Wählen Sie die Größen"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Größe der Verzeichnisbaumwurzel-Partition in MB: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Größe der Auslagerungs-Partition in MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Den freien Platz der Windows Partition verwenden"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Bei welcher Partition wollen Sie die Größe ändern?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Errechne die Grenzen des Windows Dateisystems"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"Das Werkzeug zum Verändern der FAT Partitionsgröße kann mit der \n"
-"Partition nicht arbeiten. Folgender Fehler trat auf:\n"
-"%s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Ihre Windows-Partition ist zu sehr fragmentiert.\n"
-"Starten Sie bitte erst „defrag“ unter Windows."
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"WARNUNG!\n"
-"\n"
-"DrakX wird nun die Größe Ihrer Windows Partition verändern.\n"
-"Seien Sie Vorsichtig: Diese Aktion ist gefährlich. Falls Sie es noch\n"
-"nicht getan haben, sollten Sie nun die Installation abbrechen, um\n"
-"scandisk (sowie möglicherweise defrag) unter Windows auf die Partition \n"
-"anzuwenden. Anschließend können Sie die Installation erneut starten.\n"
-"Sie sollten natürlich generell Sicherheitskopien Ihrer Daten angelegt\n"
-"haben. Falls dies der Fall ist, können Sie mit OK fortfahren."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Wieviel Platz benötigen sie noch für Windows auf"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "Partition %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "FAT Größenanpassung schlug Fehl: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Sie haben keine FAT Partition, deren Größe ich anpassen kann, bzw. die\n"
-"ich als Loopback verwenden kann (möglicherweise haben Sie auch einfach\n"
-"nur nichtmehr genügend freien Speicher)."
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Komplette Platte löschen"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Windows(TM) löschen"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-"Sie haben mehr als eine Festplatte.\n"
-"Auf welche soll GNU/Linux installiert werden?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-"SÄMTLICHE existierende Partitionen samt der derauf befindlichen Daten \n"
-"auf Laufwerk %s gehen dabei verloren"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Benutzerdefinierte Partitionierung"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Fdisk verwenden"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Sie können nun %s partitionieren.\n"
-"Vergessen Sie nicht die Einstellungen mittels ,w` zu speichern, \n"
-"sobald Sie fertig sind."
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Sie haben nicht genug freien Platz auf Ihrer Windows Partition."
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Ich finde nicht genug Platz für die Installation."
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "Der DrakX Partitionierungs-Wizard fand folgende Lösung:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Das Partitionieren schlug Fehl: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Netzwerkverbindung herstellen"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Netzwerkverbindung trennen"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Es trat ein Fehler auf. Ich weiß jedoch nicht, wie ich damit sinnvoll \n"
-"umgehen soll. Sie können fortfahren, jedoch auf eigenes Risiko!"
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Den Einhängpunkt %s kopieren"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Einige wichtige Pakete wurden nicht richtig installiert. \n"
-"Entweder ist Ihr CD-ROM-Laufwerk oder Ihre CD-ROM defekt. \n"
-"Testen Sie die CD-ROM auf einem Linux-Rechner mittels „rpm -qpl \n"
-"Mandrake/rpms/*.rpm“\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Willkommen auf %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Kein Disketten-Laufwerk verfügbar"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Beginn von Schritt „%s“\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Wählen Sie die Menge die Sie installieren wollen"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Gesamtgröße: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Version: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Größe: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Zu installierende Pakete auswählen"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Installation"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Installation wird durchgeführt"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Bitte warten, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Verbleibende Zeit "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Gesamtzeit "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Installation vorbereiten"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Installation des Pakets %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Wollen Sie trotzdem fortfahren?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Bei der Anforderung folgender Pakete trat ein Fehler auf:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Wollen Sie die existierende X11 Konfiguration verwenden?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Ihr Rechner hat nicht genug Ressourcen. Vermutlich werden bei der \n"
-"Installation Probleme auftreten. In diesem Fall sollten Sie eine \n"
-"Text-Installation versuchen. Drücken Sie dafür <F1> während dem \n"
-"Installationsstart und geben Sie „text“ an der Eingabeaufforderung \n"
-"ein."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Bitte wählen Sie eine der folgenden Installationsklassen:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Die Gesamtgröße der zu installierenden Pakete beträgt etwa %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Falls Sie weniger als diese Menge installieren wollen, \n"
-"geben Sie (in Prozent) an, wie viele Pakete Sie installieren wollen.\n"
-"\n"
-"Ein geringer Prozentsatz installiert nur die wichtigsten Pakete;\n"
-"100%% installiert alle ausgewählten Pakete."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Sie haben nur Platz für %d%% der ausgewählten Pakete. \n"
-"\n"
-"Falls Sie weniger als diese Menge installieren wollen, \n"
-"geben Sie (in Prozent) an, wie viele Pakete Sie installieren wollen.\n"
-"Ein geringer Prozentsatz installiert nur die wichtigsten Pakete;\n"
-"%d%% installiert so viele Pakete wie möglich."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Im nächsten Schritt können Sie genauer auswählen"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Prozent der zu installierenden Pakete"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Auswahl der Paketgruppen"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Individuelle Paketauswahl"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Anzeige automatisch markierter Pakete"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Baum erweitern"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Baum verkleinern"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Umschalten zwischen unsortiert und gruppiert"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Ungültiges Paket"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Name: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Wichtigkeit: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Gesamtgröße: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Sie können dieses Paket nicht auswählen, da Sie nicht genug Plattenplatz "
-"haben."
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Die folgenden Pakete werden installiert werden"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Die folgenden Pakete werden entfernt"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Sie können dieses Paket nicht auswählen/es aus der Auswahl entfernen."
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Dieses Paket ist existenziell, sie können es nicht deselektieren"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr ""
-"Sie können dieses Paket nicht aus der Auswahl entfernen. \n"
-"Es ist bereits installiert!"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Dieses Paket muss aktualisiert werden.\n"
-"Sind Sie sicher, dass Sie es aus der Auswahl entfernen wollen?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-"Sie können dieses Paket nicht aus der Auswahl entfernen. \n"
-"Es muss aktualisiert werden!"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Schätzung"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Bitte warten, bereite Installation vor"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d Pakete"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Achtung\n"
-"\n"
-"Bitte lesen Sie die nachfolgenden Ausführungen sorgfältig. Wenn Sie mit\n"
-"irgendeinem Teil nicht einverstanden sind, dürfen Sie nicht den Inhalt\n"
-"der folgenden CDs installieren. Klicken Sie auf \"Zurückweisen\", um die\n"
-"Installation ohne Verwendung dieser CDs fortzusetzen.\n"
-"\n"
-"\n"
-"Einige Komponenten auf den nachfolgenden CDs unterliegen nicht der GPL\n"
-"oder ähnlichen Lizenzabkommen. Jede dieser Komponenten unterliegt dann\n"
-"den Bedingungen ihrer eigenen spezifischen Lizenz.\n"
-"Bitte lesen Sie diese Lizenzen sorgfältig und nur wenn Sie mit ihnen\n"
-"einverstanden sind, dürfen Sie die entsprechenden Produkte entsprechend\n"
-"ihrer Lizenz benutzen und weitergeben.\n"
-"Solche Lizenzen verbieten im allgemeinen das Transferieren, Duplizieren\n"
-"(außer für Sicherheitskopien), Weitergeben, Decompilieren, Disassamblen\n"
-"oder Verändern der Komponente.\n"
-"Jeder Bruch des Lizenzabkommens beendet sofort die Ihnen im Rahmen der\n"
-"Lizenz eingeräumten Rechte. Wenn die jeweilige Lizenz Ihnen nicht\n"
-"entsprechende Rechte einräumt, dürfen Sie die Programme nicht auf mehr\n"
-"als einem System installieren oder zur Benutzung in einem Netzwerk\n"
-"einrichten. Im Zweifelsfall kontaktieren Sie bitte den Vertreiber oder\n"
-"Herausgeber der jeweiligen Komponente.\n"
-"Transfer an Dritte oder Kopieren solcher Komponenten inklusive ihrer\n"
-"Dokumentation ist normalerweise verboten.\n"
-"\n"
-"\n"
-"Alle Rechte an den Komponenten der nachfolgenden CDs liegen bei den\n"
-"jeweiligen Autoren und sind durch die Urheberrechtsgesetze für\n"
-"Softwareprodukte geschützt.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Akzeptieren"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Zurückweisen"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Bitte wechseln Sie die CD!\n"
-"\n"
-"Bitte legen Sie die CD-ROM „%s“ in Ihr Laufwerk,\n"
-"dann drücken Sie OK.\n"
-"Falls Sie sie nicht vorlegen haben, drücken Sie Abbruch."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Bei der Installation der Pakete trat ein Fehler auf:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Es ist ein Fehler aufgetreten"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Bitte wählen Sie die zu verwendende Sprache."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-"Sie können andere Sprachen auswählen, die nach der Installation zur "
-"Verfügung stehen."
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Alle"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Lizenz"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Bei dieser Übersetzung handelt es sich um eine inoffizielle Übersetzung\n"
-"der Linux-Mandrake-Lizenz in die deutsche Sprache. Sie ist keine\n"
-"rechtsverbindliche Darstellung der Lizenzbedingungen der Software in\n"
-"dieser Distribution -- nur der ursprüngliche französische Text der\n"
-"Linux-Mandrake Lizenz ist rechtsverbindlich. Wir hoffen aber, dass diese\n"
-"Übersetzung den deutschsprechenden Benutzern das Verständnis dieser\n"
-"Lizenz erleichtert.\n"
-"\n"
-"\n"
-"Einführung\n"
-"\n"
-"Das Betriebssystem und die anderen Komponenten, die in Linux-Mandrake\n"
-"enthalten sind, werden hier \"Software-Produkte\" genannt. Die\n"
-"Software-Produkte umfassen, aber sind nicht beschränkt auf, die\n"
-"Gesamtheit der Programme, Methoden, Regeln, und Dokumentation, welche\n"
-"zum Betriebssystem und den anderen Komponenten der Linux-Mandrake\n"
-"Distribution gehören.\n"
-"\n"
-"\n"
-"1. Lizenzabkommen\n"
-"\n"
-"Bitte lesen Sie dieses Dokument sorgfältig. Dieses Dokument ist ein\n"
-"Lizenzabkommen zwischen Ihnen und MandrakeSoft S. A. welches sich auf\n"
-"die Software-Produkte bezieht.\n"
-"Durch Installation, Duplizierung oder Benutzung der Software-Produkte in\n"
-"irgendeiner Art und Weise erklären Sie sich mit den Bedingungen dieser\n"
-"Lizenz einverstanden.\n"
-"Wenn Sie mit irgendeinem Punkt dieser Lizenz nicht einverstanden sind,\n"
-"ist es Ihnen nicht erlaubt, die Software-Produkte zu installieren,\n"
-"duplizieren oder zu benutzen.\n"
-"Mit jedem Versuch, die Software-Produkte in einer Art und Weise zu\n"
-"benutzen, die nicht den Bedingungen dieser Lizenz entspricht, verlieren\n"
-"Sie die Ihnen mit dieser Lizenz eingeräumten Rechte. In diesem Fall\n"
-"haben Sie unverzüglich alle Kopien der Software-Produkte zu vernichten.\n"
-"\n"
-"\n"
-"2. Eingeschränkte Garantie\n"
-"\n"
-"Die Software-Produkte und die beigefügte Dokumentation werden dem\n"
-"Benutzer lediglich zur Verfügung gestellt, es wird keinerlei Garantie\n"
-"gegeben soweit es gesetzlich zulässig ist.\n"
-"MandrakeSoft S. A. haftet unter keinen Umständen, soweit gesetzlich\n"
-"zulässig, für direkte oder indirekte Schäden irgendwelcher Art,\n"
-"(inklusive uneingeschränkt Schäden aufgrund Verlust von\n"
-"Geschäftsbeziehungen, Unterbrechung von Geschäftsvorgängen,\n"
-"finanziellen Verlust, Gebühren oder Strafen aufgrund gerichtlicher\n"
-"Entscheide, oder jegliche Folgeschäden) die aufgrund der Benutzung oder\n"
-"der Unmöglichkeit der Benutzung der Software-Produkte entstehen, auch\n"
-"wenn MandrakeSoft S. A. über die Möglichkeit und das Auftreten\n"
-"derartiger Schäden unterrichtet wurde.\n"
-"\n"
-"\n"
-"EINGESCHRÄNKTE VERANTWORTLICHKEIT BEZOGEN AUF DEN BESITZ UND DIE\n"
-"BENUTZUNG VON SOFTWARE, DIE IN EINIGEN LÄNDERN VERBOTEN IST.\n"
-"\n"
-"\n"
-"Soweit gesetzlich zulässig, haften MandrakeSoft S. A. und deren\n"
-"Vertreiber unter keinen Umständen für direkte oder indirekte Schäden\n"
-"irgendwelcher Art, (inklusive uneingeschränkt Schäden aufgrund Verlust\n"
-"von Geschäftsbeziehungen, Unterbrechung von Geschäftsvorgängen,\n"
-"finanziellen Verlust, Gebühren oder Strafen aufgrund gerichtlicher\n"
-"Entscheide, oder jegliche Folgeschäden) die aufgrund des Besitzes und\n"
-"der Benutzung von Software-Komponenten oder aufgrund des Ladens von\n"
-"Software-Komponenten von den Internet-Servern von MandrakeSoft S. A.,\n"
-"deren Besitz und Benutzung in einigen Ländern aufgrund lokaler Gesetze\n"
-"nicht gestattet ist, entstehen.\n"
-"Diese Einschränkung der Verantwortlichkeit bezieht sich auch, aber nicht\n"
-"nur, auf die Komponenten für starke Kryptografie enthalten in den\n"
-"Software-Produkten.\n"
-"\n"
-"\n"
-"3. Die GPL und verwandte Lizenzen\n"
-"\n"
-"Die Software-Produkte bestehen aus Komponenten, die von verschiedenen\n"
-"Personen und Einrichtungen erstellt wurden. Die meisten Komponenten\n"
-"unterliegen den Bedingungen der GNU General Public License, im folgenden\n"
-"\"GPL\" genannt, oder ähnlichen Lizenzen. Die meisten dieser Lizenzen\n"
-"erlauben es, die Komponenten, die diesen Lizenzen unterliegen, zu\n"
-"benutzen, zu duplizieren, anzupassen, und weiterzugeben. Bitte lesen sie\n"
-"sorgfältig die Bedingungen der Lizenzabkommen von jeder Komponente,\n"
-"bevor Sie sie benutzen. Jegliche Frage zur Lizenz einer Komponente ist an\n"
-"den Autor der Komponente und nicht an MandrakeSoft S. A. zu richten. Die\n"
-"von MandrakeSoft S. A. erstellten Programme unterliegen der GPL.\n"
-"Von MandrakeSoft S. A. geschriebene Dokumentation unterliegt einer\n"
-"spezifischen Lizenz. Bitte lesen Sie die Dokumentation für weitere\n"
-"Details.\n"
-"\n"
-"\n"
-"4. Geistiges Eigentum\n"
-"\n"
-"Alle Rechte an den Komponenten der Software-Produkte liegen bei den\n"
-"entsprechenden Autoren und sind durch die Urheberrechtsgesetze für\n"
-"Softwareprodukte geschützt.\n"
-"MandrakeSoft S. A. behält sich das Recht vor, die Software-Produkte zu\n"
-"modifizieren und anzupassen.\n"
-"\"Mandrake\", \"Linux-Mandrake\" und entsprechende Logos sind eingetragene\n"
-"Warenzeichen der MandrakeSoft S. A..\n"
-"\n"
-"\n"
-"5. Gesetzliche Bestimmungen\n"
-"\n"
-"Wenn irgendein Teil dieses Lizenzabkommens durch einen Gerichtsentscheid\n"
-"für ungültig, illegal oder inakzeptabel erklärt wird, wird dieser Teil\n"
-"aus dem Abkommen ausgeschlossen. Sie bleiben weiterhin an die anderen,\n"
-"anwendbaren Teile gebunden.\n"
-"Die Bedingungen dieses Lizenzabkommens unterliegen den Gesetzen von\n"
-"Frankreich. Alle Unstimmigkeiten bezüglich der Bedingungen dieser Lizenz\n"
-"werden vorzugsweise außergerichtlich beigelegt. Letztes Mittel ist das\n"
-"zuständige Gericht in Paris, Frankreich.\n"
-"Zu jeglicher Frage zu diesem Dokument kontaktieren Sie bitte\n"
-"MandrakeSoft S. A..\n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Tastatur"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Bitte wählen Sie Ihren Tastaturtyp."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Hier die Liste aller Schlüsselworte"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Installationsart"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Welche Art von Installation wollen Sie durchführen?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Installation/Aktualisierung"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Handelt es sich um eine Installation oder eine Aktualisierung?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Empfehlenswert"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Experte"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Aktualisierung"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Bitte wählen Sie Ihren Maustyp."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Maus Port"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Bitte wählen Sie den seriellen Anschluss, an dem Ihre Maus hängt."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Tastenemulation"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Emulation der 2. Taste"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Emulation der 3. Taste"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "PCMCIA Karten konfigurieren ..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "IDE konfigurieren"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "Keine Partition verfügbar"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Durchsuchen der Partitionen, um die Einhängpunkte zu finden."
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Wählen Sie die Einhängpunkte"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Vermutlich ist Ihre Partitionstabelle fehlerhaft, ich habe Probleme,\n"
-"sie zu lesen :-( (Folgender Fehler trat auf: „%s“).\n"
-"Ich kann fortfahren, indem ich die fehlerhaften Partitionen lösche \n"
-"(dabei gehen ALLE darauf vorhandenen DATEN VERLOREN!). Alternativ können \n"
-"Sie mir jedoch auch verbieten, die Partitionstabelle zu verändern.\n"
-"\n"
-"Sind Sie einverstanden, dass ich die problematischen Partitionen lösche?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake ist nicht in der Lage, Ihre Partitionstabelle korrekt zu \n"
-"interpretieren. Sie können fortfahren, jedoch auf eigenes Risiko!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Root-Partition"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Welche ist Ihre Root-Partition (Verzeichnisbaum Wurzel)?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"Sie müssen Ihren Rechner neu starten, um die Änderungen \n"
-"der Partitionstabelle wirksam werden zu lassen."
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Zu formatierende Partitionen auswählen"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Soll ich nach defekten Blöcken suchen?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Partitionen formatieren"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Erzeugen und formatieren der Datei %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-"Der Swap-Bereich ist zu klein, um die Installation zu ermöglichen! \n"
-"Bitte vergrößern Sie den Bereich."
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Suche nach vorhandenen Paketen"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Finden der zu aktualisierenden Pakete"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Es steht auf Ihrem System nicht genügend Speicherplatz für die \n"
-"Installation bzw. Aktualisierung zur Verfügung (%d > %d)."
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Komplett (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimal (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Empfohlen (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Benutzerdefiniert"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr "Gewünschte Größe übersteigt den verfügbaren Platz"
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Falls Sie alle aufgeführten CDs haben, wählen Sie „OK“, \n"
-"falls Sie keine der aufgeführten CDs haben, wählen Sie „Abbruch“,\n"
-"falls nur einige der aufgeführten CDs fehlen, entfernen Sie die \n"
-"entsprechende Markierung und wählen Sie dann „OK“."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CD-ROM „%s“"
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Installiere Paket %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Einstellungen für nach der Installation"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Sie haben nun die Möglichkeit Software mit starker Verschlüsselung aus dem \n"
-"Internet zu laden.\n"
-"\n"
-"WARNUNG:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall MandrakeSoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"Bitte wenden Sie sich für alle weiteren Fragen bzgl. dieser Übereinkunft "
-"an: \n"
-"MandrakeSoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Bitte wählen Sie einen Mirror, von dem Sie die Pakete holen wollen."
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr ""
-"Verbindung mit dem Mirror aufbauen, um eine Liste verfügbarer Pakete zu "
-"erhalten."
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Bitte wählen Sie die zu installierenden Pakete."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "In welcher Zeitzone wollen Sie Ihren Rechner verwenden?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Liefert Ihre Hardware Uhr GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "CUPS-Server auf der Gegenseite"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Kein Drucker"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Maus"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Zeitzone"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Drucker"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "ISDN Karte"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Soundkarte"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV-Karte"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Welches Drucksystem wollen Sie verwenden?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Kein Passwort"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"Dieses Passwort ist zu einfach (es muss mindestens %d Zeichen lang sein!"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "NIS verwenden"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "Gelbe Seiten"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "NIS Authentifizierung"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS Domain"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS Server"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Mit einer individuellen Startdiskette können Sie Ihr LINUX-System starten, \n"
-"ohne auf einen Betriebssystemstarter angewiesen zu sein. Dies ist "
-"nützlich, \n"
-"wenn Sie SILO nicht auf Ihrem System installieren möchten, wenn ein \n"
-"anderes Betriebssystem SILO entfernt hat oder Ihre Hardware-Konfiguration \n"
-"die Verwendung eines BS-Starters nicht korrekt verarbeitet. \n"
-"Eine individuelle Startdiskette kann auch mit der Linux Mandrake \n"
-"Rettungsdiskette verwendet werden, wodurch das System nach schwerwiegenden \n"
-"Fehlern viel einfacher wiederhergestellt werden kann.\n"
-"\n"
-"Falls Sie eine Startdiskette erstellen wollen, legen Sie eine Diskette \n"
-"ohne relevante Daten in ihr erstes Laufwerk und drücken Sie „OK“."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Erstes Disketten-Laufwerk"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Zweites Disketten-Laufwerk"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Überspringen"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Mit einer individuellen Startdiskette können Sie Ihr LINUX-System starten, \n"
-"ohne auf den normalen Betriebssystemstarter angewiesen zu sein. Dies ist "
-"nützlich, wenn \n"
-"Sie weder LILO noch Grub auf Ihrem System installieren möchten, wenn ein \n"
-"anderes Betriebssystem Ihren Betriebssystemstarter entfernt hat wird oder "
-"Ihre Hardware-Konfiguration die Verwendung eines Betriebssystemstarters "
-"nicht korrekt \n"
-"verarbeitet. Eine individuelle Startdiskette kann auch mit der Linux \n"
-"Mandrake Rettungsdiskette verwendet werden, wodurch das System nach \n"
-"schwerwiegenden Fehlern viel einfacher wiederhergestellt werden kann.\n"
-"\n"
-"Möchten Sie jetzt eine Startdiskette für Ihr System erstellen?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Ich kann kein Laufwerk finden"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr ""
-"Wählen Sie das Laufwerk, in dem Sie die Start-Diskette erstellen wollen"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Legen Sie eine leere Diskette in Laufwerk %s ein."
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Startdiskette wird erstellt..."
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Betriebssystemstarter vorbereiten"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Möchten Sie „aboot“ verwenden?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Fehler bei der Installation von aboot, \n"
-"soll ich die Installation mit Gewalt versuchen, selbst wenn dies die \n"
-"Zerstörung der ersten Partition verursacht."
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-"Die Installation des BS-Starters schlug Fehl. Folgender Fehler trat auf:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Sie müssen Ihr Open Firmware Startgerät anpassen, dass es den \n"
-"BS-Starter erkennt. Falls Sie beim Neustart nicht die \n"
-"Eingabeaufforderung des BS-Starters sehen, drücken Sie \n"
-"Strg-Option-O-F und geben Sie folgendes ein:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-"Tippen Sie dann: shut-down\n"
-"Beim darauffolgenden Neustart sollte Sie die Eingabeaufforderung sehen."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Niedrig"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Mittel"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Hoch"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Wählen Sie eine Sicherheitsebene"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-"Wollen Sie eine Auto-Installations-Diskette zur einfachen \n"
-"Replikation der Linux Installation erstellen"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Legen Sie eine leere Diskette in Laufwerk %s ein."
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Erstellen einer Auto-Installations-Diskette"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Einige Schritte sind noch nicht komplett.\n"
-"\n"
-"Wollen Sie DrakX wirklich beenden?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Herzlichen Glückwunsch, die Installation ist abgeschlossen.\n"
-"Entfernen Sie die Startmedien (CD-ROMs / Disketten) und drücken Sie \n"
-"Return zum Neustart Ihres Rechners.\n"
-"\n"
-"Für Informationen zu Sicherheitsaktualisierungen dieser Version von \n"
-"Linux-Mandrake informieren Sie sich bitte unter \n"
-"http://www.linux-mandrake.com/.\n"
-"\n"
-"Wie Sie Ihr System warten können, erfahren Sie im Kapitel „Nach der \n"
-"Installation“ im offiziellen Benutzerhandbuch von Linux-Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Erstellen einer Auto-Installations-Diskette"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Die automatische Installation kann, falls Sie wollen,\n"
-"vollautomatisch erfolgen. In diesem Fall wird die\n"
-"Festplatte vollständig durch DrakX rekonfiguriert\n"
-"(diese Möglichkeit ist für die Replikation auf anderen\n"
-"Rechnern gedacht).\n"
-"\n"
-"Vermutlich werden Sie es vorziehen, erneut eine normale\n"
-"Installation durchzuführen.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automatisiert"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Erneut abspielen"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Paketauswahl speichern"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux-Mandrake Installation %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> nächstes Element | <Leertaste> auswählen | <F12> weiter "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "Ich kann „kdesu“ nicht finden!"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Fortgeschritten"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Bitte warten"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Mehrdeutigkeit (%s), bitte präzisieren Sie\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Schlechte Wahl, bitte versuchen Sie es noch einmal\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr "? (Standard %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Ihre Wahl? (Standard %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Ihre Wahl? (Standard %s, geben Sie „none“ für keine(r/s) ein) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Tschechien (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Deutsch"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Spanien"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finnland"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Frankreich"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norwegen"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polen"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Russland"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Vereinigtes Königreich"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Vereinigte Staaten"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armenien (alt)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armenien (Schreibmaschine)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armenien (Phonetisch)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Aserbeidschan (Lateinisches Layout)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Aserbeidschan (Kyrillisches Layout)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgien"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgarien"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasilien (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Weißrussland"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Schweiz (deutsches Layout)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Schweiz (französisches Layout)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Tschechien (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Tschechien (Programmierer)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Deutschland (ohne Tod-Tasten)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Dänemark"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (USA)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norwegen)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estland"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgien („Russisches“ Layout)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgien („Lateinisches“ Layout)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Griechenland"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Ungarn"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroatien"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israel"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israel (Phonetisch)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iran"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Island"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italien"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japan 106 Tasten"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Korea"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latein Amerika"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Mazedonien"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Niederlande"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Litauen AZERTY (alt)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Litauen AZERTY (neu)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Litauen „number row“ QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Litauen „phonetic“ QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polen (QWERTY Layout)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polen (QWERTZ Layout)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugal"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanada (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Russland (YaWERTY)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Schweden"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slowenien"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slowakei (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slowakei (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slowakei (Programmierer)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thailändische Tastatur"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Türkei (traditionelles „F“ Modell)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Türkei (modernes „Q“ Modell)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukraine"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Vereinigte Staaten (international)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnam „numeric row“ QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoslawien (lateinisch/kyrillisch)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Entfernen Sie erst die Logischen Medien\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - Maus"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standard"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MausMan/FirstMaus (Seriell)"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Generische PS2 Rad-Maus"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Maus"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMaus"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 Taste"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Generisch"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Rad"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "Seriell"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Generische 2 Tasten Maus"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Generische 3 Tasten Maus"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMaus"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MausMan/FirstMaus"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Serie"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MausMan+/FirstMaus+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Serie"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Maus (Seriell, alter C7 Typ)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "Bus-Maus"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 Tasten"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 Tasten"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "keine"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Keine Maus"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Beenden"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Weiter ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Zurück"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Ist dies richtig?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Internet Konfiguration"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Möchten Sie jetzt versuchen eine Internetverbindung aufzubauen?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Ich teste gerade Ihre Verbindung..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Sie sind jetzt mit dem Internet verbunden."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Aus Sicherheitsgründen wird die Verbindung nun unterbrochen."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Sie sind momentan nicht mit dem Internet verbunden.\n"
-"Versuchen Sie Ihre Internetverbindung wieder zu konfigurieren."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Netzwerk konfigurieren"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN Konfiguration"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Wählen Sie Ihren Netzanbieter.\n"
-"Sollte er nicht aufgeführt sein, wählen Sie „Nicht aufgeführt“"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Verbindungs-Konfiguration"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Bitte füllen oder kontrollieren Sie die folgenden Angaben"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Karten IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Karten Mem (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Karten E/A"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Karten IO_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Karten IO_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Ihre eigene Telefonnummer"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Name des Providers (z.B. provider.net) "
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Telefonnummer des Providers"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Erster DNS des Providers"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Zweiter DNS des Providers"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Wahlmodus"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Kennzeichen (Login)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Passwort"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Rest der Welt"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Rest der Welt \n"
-" kein D-Kanal (leased lines)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Welches Protokoll wollen Sie verwenden?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Welchen Kartentyp verwenden Sie?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Keine Ahnung"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA/PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Falls Sie eine ISA-Karte besitzen, sollten die Einstellungen auf dem "
-"nächsten Schirm korrekt sein.\n"
-"\n"
-"Falls Sie eine PCMCIA-Karte besitzen, müssen Sie IRQ und E/A-Bereich Ihrer "
-"Karte kennen.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Abbruch"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Fortfahren"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Bitte wählen Sie Ihre ISDN Karte"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Ich habe eine PCI ISDN-Karte gefunden, \n"
-"kenne sie jedoch nicht. Bitte helfen Sie mir,\n"
-"indem Sie im nächsten Menü eine auswählen."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Ich konnte keine PCI ISDN-Karte finden.\n"
-"Bitte wählen Sie im nächsten Menü eine aus."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Ich habe keine Ethernet-Netzwerkkarte finden können, daher kanndieser "
-"Verbindungstyp nicht konfiguriert werden."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Wählen Sie die Netzwerkkarte"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Bitte wählen Sie, über welches Netzwerkgerät Sie die \n"
-"Internetverbindung herstellen wollen."
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Netzwerkkarte"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Sind Sie einverstanden?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Sind Sie einverstanden diese Netzwerkkarte neu zu starten:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL Konfiguration"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Möchten Sie die Verbindung bei Betriebssystemstart herstellen?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Bitte wählen Sie den seriellen Anschluss, an dem Ihr Modem hängt."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Einwahl Parameter"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Name der Verbindung"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefonnummer"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Login ID"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Authentifizierung"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Skript-basiert"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminal-basiert"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Name der Domäne"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Erster DNS Server (optional)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Zweiter DNS Server (optional)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-"Ich werde nun die Netzwerkkarte „$netc->{NET_DEVICE}“ neu starten. Sind Sie "
-"einverstanden?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Sie können die Verbindung trennen oder sie neu konfigurieren."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Sie können Ihre Internetverbindung neu konfigurieren"
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Sie sind momentan mit dem Internet verbunden."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Sie können eine Internetverbindung aufbauen oder die Verbindung neu "
-"konfigurieren"
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Sie sind momentan nicht mit dem Internet verbunden."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Internetverbindung herstellen"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Internetverbindung trennen"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Internetverbindung konfigurieren (LAN oder Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Internetverbindung und -einrichtung"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Netzwerk Konfigurations-Wizard"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Externes ISDN Modem"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Interne ISDN Karte"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Um welchen Typ ISDN-Verbindung handelt es sich?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Internetverbindung"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Der gebräuchlichste Weg mit ADSL eine Verbindung aufzubauen ist pppoe.\n"
-"Einige Verbindungen benutzen jedoch pptp, andere dhcp.\n"
-"Wenn Sie nicht wissen was Sie brauchen, wählen Sie „pppoe verwenden“"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "dhcp verwenden"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "pppoe verwenden"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "pptp verwenden"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr ""
-"Ich werde nun die Netzwerkkarte „%s“ neu starten. Sind Sie einverstanden?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Welchen dhcp Klienten wollen Sie verwenden?\n"
-"Voreingestellt ist „dhcpcd“"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Netzwerk Konfiguration"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Möchten Sie das Netzwerk neu starten?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"Beim Neustart des Netzwerks trat ein Fehler auf: \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Da Sie eine Netzwerkinstallation durchführen, ist Ihr Netzwerk bereits\n"
-"konfiguriert. Wählen Sie „OK“, um diese Einstellung beizubehalten oder\n"
-"„Abbruch“, um Ihre Internet- und Netzwerk-Konfiguration neu zu\n"
-"konfigurieren.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Willkommen zum Netzwerk Konfigurations-Wizard.\n"
-"\n"
-"Ich versuche nun Ihre Internet-/Netzwerk-Verbindung zu konfigurieren.\n"
-"Falls Sie keine Autodetektion wünschen, entfernen Sie bitte die Markierung.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Wählen Sie das Profil, dass eingestellt werden soll"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Autoerkennung benutzen"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Geräteerkennung..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Normale Modem Verbindung"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "an Prot %s gefunden"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN Verbindung"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "%s gefunden"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL (oder ADSL) Verbindung"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "an Schnittstelle %s gefunden"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Kabel Verbindung"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "LAN Verbindung"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "Netzwerkkarte(n) gefunden"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Wie wollen Sie sich ins Internet einklinken?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Herzlichen Glückwunsch, die Netzwerk-/Internet-Verbindung ist beendet.\n"
-"\n"
-"Die Konfiguration wird nun in Ihr System integriert."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Es ist sehr empfehlenswert, im Anschluss Ihre X-Oberfläche\n"
-"neu zu starten, um Probleme, die durch die Änderung des\n"
-"Rechnernamens hervorgerufen werden, zu vermeiden."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "Keine Netzwerkkarte gefunden"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Netzwerk konfigurieren"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Bitte geben Sie ihren Rechnernamen an.\n"
-"Einige DHCP-Server benötigen ihn, um korrekt zu arbeiten.\n"
-"Ihr Rechnername sollte auch die Domain beinhalten,\n"
-"etwa „meinrechner.meineabteilung.meinefirma.de“."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Rechnername"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"WARNUNG: Dieses Gerät wurde bereits zum Herstellen einer Internetverbindung "
-"konfiguriert.\n"
-"Drücken Sie einfach OK, um die Einstellungen zu behalten.\n"
-"Fall Sie Felder verändern, wird die Konfiguration überschrieben."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Bitte geben Sie die IP Parameter dieser Maschine ein.\n"
-"Jeder Eintrag muss als dezimale IP-Adresse in Punktschreibweise \n"
-"angegeben werden (z.B. 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Konfigurieren der Netzwerkkarte %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (Treiber $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP Adresse"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Netzmaske"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(BOOTP/DHCP)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Automatische IP-Adressen Zuweisung"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "Die IP Adresse muss die Form „1.2.3.4“ haben"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Bitte geben Sie ihren Rechnernamen an.\n"
-"Ihr Rechnername sollte auch die Domain beinhalten,\n"
-"etwa „meinrechner.meineabteilung.meinefirma.de“.\n"
-"Falls Sie ein Gateway verwenden, sollten Sie auch dessen IP-Adresse angeben."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS-Server"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Gateway"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Gateway Gerät"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Proxies einstellen"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP Proxy"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP Proxy"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Proxy muss http://... sein"
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Proxy muss ftp://... sein"
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Diese Rechnerarchitektur kennt keine erweiterten Partitionen"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Sie haben einen unbenutzten Bereich in Ihrer Partitionstabelle, \n"
-"den ich nicht ansprechen kann. Die einzige Lösung ist, dass Sie \n"
-"Ihre primären Partitionen so verschieben, dass der Bereich direkt \n"
-"neben der erweiterten Partition zu liegen kommt."
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Fehler beim Lesen der Datei %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Restaurieren aus der Datei %s schlug Fehl: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Fehlerhafte Backup-Datei"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Fehler beim Schreiben in Datei %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Mit Ihrer Platte stimmt etwas nicht!\n"
-"Der vorgenommene Integritätstest schlug Fehl.\n"
-"Das bedeutet, dass jeder Schreibvorgang auf der Platte zu einem \n"
-"unvorhersagbaren Ergebnis führen wird."
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "unbedingt notwendig"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "wichtig"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "sehr angenehm"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "angenehm"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "eventuell"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Lokaler Drucker"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Entfernter Drucker"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "lpd-Server auf der Gegenseite"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Netzwerkdrucker (Socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Druckeranschluss URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Test der Anschlüsse"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Ein Drucker, Modell „%s“ wurde gefunden an "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Lokaler Druckeranschluss"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Mit welchem Anschluss ist Ihr Drucker verbunden \n"
-"(Bem.: /dev/lp0 entspricht LPT1:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Druckeranschluss"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Optionen für Netzwerk-Druckerspooler"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Um die Warteschlange eines Netzwerk-Druckerdämons zu verwenden, müssen \n"
-"Sie den Rechnernamen des Drucker-Servers sowie den Namen der Warteschlange \n"
-"auf diesem Server angeben, in die Aufträge gestellt werden sollen."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Name des Netzwerkrechners"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Warteschlange des Netzwerkdruckers"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) Drucker-Parameter"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Um auf einem SMB-Drucker zu drucken sind folgende Angaben erforderlich: \n"
-"Rechnername des Drucker-Servers (entspricht nicht immer dem \n"
-"TCP/IP-Rechnernamen des Computers) und möglicherweise die IP-Adresse, \n"
-"Freigabename für den Drucker, auf den Sie zugreifen möchten, sowie \n"
-"entsprechender Benutzername, Passwort und Arbeitsgruppe."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB-Server"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "SMB-Server-IP"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Freigabename"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Arbeitsgruppe"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Optionen für NetWare-Drucker"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Um auf einem NetWare-Drucker zu drucken sind folgende Angaben erforderlich: "
-"Name des NetWare-Drucker-Servers (entspricht nicht immer dem TCP/IP-"
-"Rechnernamen des Computers), Name der Drucker-Warteschlange, sowie den "
-"entsprechenden Benutzernamen samt Passwort."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Drucker-Server"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Name der Druckerwarteschlange"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Optionen für Socket-Drucker"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Um einem Socket-Drucker verwenden zu können, müssen Sie auf alle \n"
-"Fälle dessen Rechnernamen, möglicherweise auch den Port, angeben."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Rechnername des Druckers"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-"Sie könne direkt die URI angeben, unter der der Drucker mit CUPSangesprochen "
-"werden kann."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Über welchen Druckertyp verfügen Sie?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Möchten Sie Testseiten drucken?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Druck der Testseite(n) ..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Die Testseite(n) wurden an den Drucker-Dämon gesandt.\n"
-"Es kann einen Augenblick dauern, bevor der Drucker seine Arbeit aufnimmt.\n"
-"Druckstatus:\n"
-"%s\n"
-"\n"
-"War der Ausdruck korrekt?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Die Testseite(n) wurden an den Drucker-Dämon gesandt.\n"
-"Es kann einen Augenblick dauern, bevor der Drucker seine Arbeit aufnimmt.\n"
-"War der Ausdruck korrekt?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Ja, die ASCII Testseite drucken"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Ja, die PostScript Testseite drucken"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Ja, beide Testseiten drucken"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Drucker konfigurieren"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Drucker-Optionen"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Papierformat"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Letzte Seite automatisch auswerfen?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Uniprint-Treiber Optionen"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Farbtiefe"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Text als PostScript drucken?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Treppeneffekt korrigieren?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Anzahl Seiten pro Blatt"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Linker/Rechter Rand in Punkt (1/72 Zoll)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Oberer/Unterer Rand in Punkt (1/72 Zoll)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Zusätzliche GhostScript-Parameter"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Zusätzliche Text-Parameter"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Druckreihenfolge umkehren"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Möchten Sie einen Drucker konfigurieren?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Hier die Druckerwarteschlangen.\n"
-"Sie können weitere hinzufügen oder existierende ändern."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS starten"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Lesen der CUPS Treiber-Datenbank"
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Wählen Sie die Drucker-Anbindung"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Wie ist der Drucker mit Ihrem Rechner verbunden?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Wählen Sie die Drucker-Anbindung der Gegenseite"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Falls auf der Gegenseite ein CUPS-Server läuft, müssen Sie\n"
-"hier keine Einstellungen vornehmen, die Drucker werden \n"
-"automatisch erkannt und übernommen. Wählen Sie im\n"
-"Zweifelsfall „CUPS-Server auf der Gegenseite“"
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Falls auf der Gegenseite ein CUPS-Server läuft, müssen Sie\n"
-"hier keine Einstellungen vornehmen, die Drucker werden \n"
-"automatisch erkannt und übernommen. Sollte der Server jedoch \n"
-"in einem anderen Netzwerk hängen, müssen Sie CUPS die IP-Adresse \n"
-"und evtl. auch die Port-Nummer mitteilen."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "CUPS-Server-IP"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Die Prot Nummer muss eine Zahl sein!"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Warteschlange entfernen"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-"Druckernamen sollten nur Buchstaben, Ziffern und den Unterstrich unterhalten"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Jeder Drucker benötigt einen Namen (der Hauptdrucker sollte „lp“ \n"
-"genannt werden). Andere Parameter, etwa die Beschreibung und der \n"
-"Standort, können frei gewählt werden. Welchen Namen soll ich dem \n"
-"Drucker geben und wie ist er angebunden?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Druckername"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Beschreibung"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Standort"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Jede Druckerwarteschlange (hier werden Druckaufträge eines Druckers \n"
-"verwaltet) benötigt einen Namen (der Hauptdrucker sollte „lp“ genannt \n"
-"werden) und ein Spool-Verzeichnis, in der sie ihre Verwaltungstätigkeiten \n"
-"vornehmen kann. Welchen Namen und welches Verzeichnis soll ich der \n"
-"Schlange geben? Wie ist der Drucker angebunden?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Name der Warteschlange"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Spool-Verzeichnis"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Drucker-Anbindung"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Ich kann keine Partition zu dem _formatierten_ RAID md%d hinzufügen"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Ich kann Datei „$file“ nicht schreiben"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid schlug Fehl"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid schlug Fehl (Möglicherweise fehlen die RAID-Tools)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Nicht genügend Partitionen für RAID Level %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "Startet das ALSA (Advanced Linux Sound Architecture) Sound System"
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr ""
-"Mit dem Dienst anacron können cron-Prozesse auch zu anderen als den \n"
-"vorgegebenen Zeiten gestartet werden. Dies ist vor Allem dann \n"
-"sinnvoll, wenn Ihr Rechner nicht rund um die Uhr läuft, da sonst \n"
-"Prozesse, die etwa zwischen Mitternacht und 6:00 Uhr gestartet \n"
-"werden sollten, nie ausgeführt würden."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"Der APM-Dienst (apmd) wird von Laptops verwendet, um den Ladestatus \n"
-"der Batterie durch den Syslog-Dienst erfassen zu lassen. Mit seiner \n"
-"Hilfe kann man den Rechner auch rechtzeitig herunterfahren lassen, \n"
-"bevor die Batterien leer sind."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Dieser Dienst startet Applikationen der at-Warteschlange wenn der \n"
-"dafür vorgesehene Zeitpunkt erreicht ist. Lässt die Systemauslastung \n"
-"es zu, werden sog. Batch-Anwendungen gestartet."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"Der Befehl cron wird unter UNIX/Linux dazu verwendet, Benutzerprogramme \n"
-"zu vordefinierten regelmäßigen Zeiten abzuarbeiten. \n"
-"Der Dienst vixie cron erweitert dieses Konzept um weitere Funktionen, etwa \n"
-"ein verbessertes Sicherheitskonzept und einfachere Konfiguration."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"Der GPM-Dienst stellt Ihnen Mausunterstützung auf Text-Konsolen zur \n"
-"Verfügung. Sie erhalten damit die Möglichkeit Ausschneiden und \n"
-"Einfügen von Text wie unter X zu verwenden. In einigen Applikationen \n"
-"können Sie auch Pop-Up-Menüs damit bedienen."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-"HardDrake führt Hardwaretests durch, und konfiguriert (falls nötig) \n"
-"neue/geänderte Hardware."
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache ist ein World-Wide-Web-Server. Mit seiner Hilfe können Sie \n"
-"HTML-Dateien über HTTP publizieren. Der Server ist CGI-fähig."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Der Internet Superserver-Dienst (inetd) startet je nach Bedarf \n"
-"etliche andere Internet-Dienste, so etwa telnet, ftp, rsh oder \n"
-"rlogin. Dies jedoch nur, wenn die entsprechenden Dienste in der \n"
-"Datei „/etc/inetd.conf“ freigeschaltet sind. \n"
-"Schalten Sie diesen Dienst ab, können Sie keine der von inetd \n"
-"verwalteten Dienste mehr zugreifen."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-"Startet Paketfilterung für Linux 2.2er Kerne, um Ihren Rechner \n"
-"durch eine Firewall vor Angriffen aus dem Netz zu schützen."
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Dieser Dienst lädt die Tastaturbelegung, die in der Datei \n"
-"„/etc/sysconfig/keyboard“ angegeben ist. Mittels „kbdconfig“ \n"
-"können Sie diese Einstellung ändern. Schalten Sie diesen Dienst ab, \n"
-"müssen Sie ab dem nächsten Systemstart mit der amerikanischen \n"
-"Tastatur vorlieb nehmen."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-"Automatische Neuerstellung der Kern-Header in /boot für\n"
-"/usr/include/linux/{autoconf,version}.h"
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-"Automatische Erkennung und Konfiguration neuer Hardware während des \n"
-"Betriebssystemstarts."
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-"Linuxconf versucht beim Betriebssystemstart einige Verwaltungsaufgaben \n"
-"auszuführen."
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"Der Dienst lpd ist der Drucker-Server Ihres Rechners. Wenn Sie \n"
-"diesen Dienst abschalten werden Druckaufträge nicht mehr abgearbeitet.\n"
-"Hauptaufgabe von lpd ist es, Druckaufträge an den jeweiligen \n"
-"zuständigen Drucker (dieser kann auch einen anderen Rechner hängen) \n"
-"zu senden."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-"Der Linux Virtual Server kann verwendet werden, um um ein \n"
-"hochperformanten Hochverfügbarkeitsserver aufzusetzen."
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"Der Dienst named (BIND) stellt ihnen einen Server zur Verfügung, \n"
-"mit dessen Hilfe Rechnernamen in IP-Adressen umgesetzt werden. \n"
-"Ein solcher Dienst wird „Domain Name Server“ (DNS) genannt. \n"
-"Falls Sie nur einen Rechner besitzen, mit dem Sie über Modem ins \n"
-"Netz gehen, benötigen Sie diesen Dienst nicht."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Dieser Dienst ist verantwortlich dafür, dass alle Netzwerk-Dateisysteme \n"
-"(NFS) bei Systemstart eingehängt werden, etwa SMB (Lan Manager/Windows) \n"
-"und NCP (NetWare)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Dieser Dienst aktiviert Netzwerkgeräte (etwa Netzwerkkarten), die \n"
-"so konfiguriert wurden, dass sie ab dem Systemstart zur Verfügung \n"
-"stehen sollen."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS ist ein geläufiges Protokoll in TCP/IP Netzwerken um Dateien \n"
-"durch verschiedene Rechner gemeinsam nutzen zu können. \n"
-"Dieser Dienst stellt Ihnen einen solchen Server zur Verfügung. \n"
-"Konfiguriert wird er in der Datei „/etc/exports“."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS ist ein geläufiges Protokoll in TCP/IP Netzwerken um Dateien \n"
-"durch verschiedene Rechner gemeinsam nutzen zu können. \n"
-"Der Dienst nfslock stellt Ihnen hierfür Locking-Mechanismen zur \n"
-"Verfügung, damit eine Datei nicht durch mehrere Personen \n"
-"gleichzeitig verändert werden kann."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"Schaltet beim Betriebssystemstart automatisch die „Num“-Taste für \n"
-"die virtuellen Konsolen und XFree ein."
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "Unterstützung für den OKI 4w und kompatible WinDrucker."
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA wird normalerweise in Laptops verwendet, um Ethernet-Karten \n"
-"oder Modems verwenden zu können. Dieser Dienst wird nur gestartet, \n"
-"wenn Sie ihn vorher konfiguriert haben. Daher schadet es nicht, \n"
-"wenn Sie ihn auf Rechnern aktivieren, auf denen er nutzlos ist."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Mittels portmapper werden RPC-Verbindungen verwaltet, die etwa von \n"
-"den Protokollen NFS und NIS verwendet werden. Auf Rechnern, die \n"
-"solche Server (RPC-basierte) beherbergen, muss dieser Dienst \n"
-"aktiviert sein."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix ist ein E-Mail Transport-Dienst. Mit seiner Hilfe werden \n"
-"E-Mails auf andere Maschinen weitergeleitet."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Dieser Dienst speichert beim Herunterfahren des Rechners den Zustand \n"
-"des Zufallszahlengenerators, um ihn beim nächsten Systemstart \n"
-"wieder zu restaurieren. Die Qualität erzeugter Zufallszahlen \n"
-"wird dadurch verbessert."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-"Weist Roh-Geräten ein Blockorientiertes-Gerät (etwa eine\n"
-"Festplattenpartition) zu. Dies wird für Anwendungen wie\n"
-"etwa ORACLE benötigt"
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"Der Dienst routed ermöglicht ein automatisches Aktualisieren der \n"
-"IP-Routing-Tabellen mittels RIP Protokoll. Zwar wird RIP in kleinen \n"
-"Netzwerken verwendet, jedoch wird für komplexere Netzwerke ein \n"
-"anderer Dienst benötigt."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Der Dienst rstat ermöglicht es Anwendern anderer Rechner des \n"
-"Netzwerks Preformance-Daten dieses Rechners zu erhalten."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Der Dienst rusers ermöglicht es Anwendern anderer Rechner \n"
-"herauszubekommen, welche Benutzerkennzeichen auf diesem Rechner \n"
-"gerade angemeldet sind."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Der Dienst rwho erlaubt es Benutzern entfernter Rechner eine Liste\n"
-"momentan angemeldeter Benutzerkennzeichen übermittelt zu bekommen \n"
-"(ähnlich wie finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr "Starten des Sound-Systems Ihres Rechners"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Mittels Syslog versuchen zahlreiche Dienste Verlaufsprotokolle \n"
-"in vorgesehene Dateien zu sichern. Es ist sinnvoll Syslog immer \n"
-"aktiviert zu haben."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr "Lädt die Treiber für Ihre USB-Geräte."
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-"Dieser Dienst startet den X-Font-Server. Er ist notwendig, \n"
-"damit XFree gestartet werden kann!"
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ""
-"Wählen Sie, welche Dienste\n"
-"automatisch beim Systemstart\n"
-"aktiviert werden sollen"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "aktiv"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "gestoppt"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Dienste und Dämonen"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Es existieren leider keine\n"
-"weiteren Informationen zu\n"
-"diesem Dienst."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Bei BS-Start"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Ich kann Ihre Partitionstabelle nicht lesen, sie ist fehlerhaft :-(\n"
-"Um fortfahren zu können setze ich die fehlerhaften Partitionen zurück"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Teilen der Internet-Verbindung"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Teilen der Internetverbindung momentan eingeschaltet."
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Es wurde bereits eine geteilte Internet-Verbindung aufgesetzt.\n"
-"Momentan ist sie aktiviert.\n"
-"\n"
-"Was wollen Sie tun?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "deaktivieren"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "Verwerfen"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "neu konfigurieren"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Server deaktivieren ..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Teilen der Internet-Verbindung ist nun abgeschaltet."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Teilen der Internet-Verbindung momentan abgeschaltet."
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Es wurde bereits eine geteilte Internet-Verbindung aufgesetzt.\n"
-"Momentan ist sie deaktiviert.\n"
-"\n"
-"Was wollen Sie tun?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "aktivieren"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Server aktivieren ..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Teilen der Internetverbindung ist nun eingeschaltet."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Ich kann den Inhalt der Konfigurationsdatei nicht verstehen."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Die Konfigurationsdatei hat ein unbekanntes Format!"
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Sie sind dabei, Ihren Rechner zu konfigurieren, dass er die eingerichtete \n"
-"Internetverbindung mit einem lokalem Netzwerk teilt.\n"
-"\n"
-"Anmerkung: Sie benötigen eine Netzwerkkarte, mit deren Hilfe Sie ein \n"
-"lokales Netz (LAN) aufsetzen können."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Schnittstelle %s (verwendet Modul %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Schnittstelle: %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Sie haben keine Netzwerkkarte!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Ihr Rechner hat keine konfigurierte Netzwerkkarte. Bitte verwenden Sie erst "
-"HardDrake, bevor Sie weiter machen."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Sie haben nur eine konfiguriertes Netzwerkgerät an Ihrem Rechner:\n"
-"\n"
-"%s\n"
-"\n"
-"Ich setze ihr lokales Netz damit auf."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Bitte wählen Sie die Netzwerkkarte, die mit Ihrem lokalen Netzwerk \n"
-"verbunden ist."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"WARNUNG: Ihre Netzwerkkarte ist bereits konfiguriert.\n"
-"Ich werde eine Neukonfiguration vornehmen."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-"Es liegt ein möglicher LAN-Adressen Konflikt in der Konfiguration\n"
-"von $_ vor!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Ich habe eine Firewall-Konfiguration gefunden!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"WARNUNG: Ich habe eine eine Firewall-Konfiguration gefunden. \n"
-"Möglicherweise müssen Sie nach der Installation einige Einstellungen \n"
-"von Hand vornehmen."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Konfigurieren ..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Skripte konfigurieren, Software installieren, Dienste starten ..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Probleme beim Installieren von Paket $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Gratuliere!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Es wurde alles eingerichtet.\n"
-"Sie können Ihre Internetverbindung nun anderen Rechnern in Ihrem \n"
-"lokalen Netz mittels automatischer Netzwerk-Konfiguration (DHCP) \n"
-"teilen."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-"Die Einstellungen wurden bereits vorgenommen, sie sind nur nicht aktiviert."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Die Einstellungen wurden bereits vorgenommen und sind aktiv."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Teilen der Internetverbindung wurde noch nicht konfiguriert."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Teilen der Internetverbindung - Konfiguration"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Willkommen zu DrakGW -\n"
-"das Werkzeug zum Teilen Ihrer Internetverbindung\n"
-"\n"
-"%s\n"
-"\n"
-"Wählen Sie „Konfigurieren“ wenn Sie den Wizard starten wollen."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Netzwerk Konfiguration (%d Karten)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Profil löschen..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Zu löschendes Profil: "
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Neues Profil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Name des Profils das erstellt wird: "
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Rechnername: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Internetzugang"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Typ:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Gateway:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Schnittstelle:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Verbunden"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Nicht Verbunden"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Verbinden ..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Trenne Verbindung ..."
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr "Ich starte Ihre Verbindung..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Ich trenne Ihre Verbindung..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Die Verbindung wurde nicht getrennt.\n"
-"Versuchen Sie es von Hand, indem sie als Root\n"
-"„/etc/sysconfig/network-scripts/net_cnx_down“ ausführen."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Ihr Rechner ist nun nichtmehr verbunden."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Internet-Zugang konfigurieren"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "LAN Konfiguration"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adapter"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Treiber"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Schnittstelle"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokoll"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Netzwerk konfigurieren"
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Normaler Modus"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Anwenden"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Einen Moment ... ich richte die Konfiguration ein"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-"Sie haben noch keine Schnittstelle eingerichtet.\n"
-"Sie können dies tun, indem Sie die Schaltfläche \n"
-"„Konfigurieren“ betätigen."
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "LAN Konfiguration"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Adapter %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Boot-Protokoll"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Beim Hochfahren gestartet"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP Klient"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Deaktivieren"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Aktivieren"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-"Sie haben noch keine Internetverbindung eingerichtet.\n"
-"Sie können dies tun, indem Sie die Schaltfläche \n"
-"„Konfigurieren“ betätigen."
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Konfiguration der Internetverbindung"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Konfiguration der Internetverbindung"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Verbindungstyp: "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parameter"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "Erster DNS des Providers (optional)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "Zweiter DNS des Providers (optional)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Netzwerkkarte"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP-Klient"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Cracker-Spielplatz"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Schwach"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoid"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Diese Ebene ist mit Vorsicht zu verwenden. Zwar macht sie Ihr System \n"
-"einfacher handhabbar, aber auch leichter angreifbar: In dieser Form darf \n"
-"der Rechner nicht als Netzwerkrechner (LAN oder Modem) verwendet werden, \n"
-"da Angreifer mangels Passwort an Ihre Daten gelangen können!"
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Passwortabfragen sind nun eingeschaltet, aber die Verwendung als \n"
-"Netzwerkrechner kann hier nicht empfohlen werden."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Diese Sicherheitsebene bringt wenige Verbesserungen. Die Zentrale ist \n"
-"die Ausgabe von mehr Warnungen und Tests."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Das ist die Standard-Sicherheitsebene für Rechner, mit Internetzugang \n"
-"als Klient. Es werden keine Sicherheitstests durchgeführt."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Mit dieser Sicherheitsebene wird es möglich, das System als einen \n"
-"Server zu verwenden.\n"
-"Die Sicherheit ist nun ausreichend hoch, um das System als Server \n"
-"einzusetzen, der einer Vielzahl von Klienten einen Verbindungsaufbau \n"
-"erlaubt."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Diese Ebene bietet die selbe Funktionalität, wie Ebene 4. Jedoch ist \n"
-"das System nun komplett geschlossen. Das ist die höchste Sicherheitsebene."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Sicherheitsebene einstellen"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Kontrollzentrum"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Wählen Sie das Werkzeug, das Sie verwenden wollen"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "Verwendung: keyboarddrake [--expert] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Wollen Sie, dass die Rücktaste auf den Konsolen Entfernen sendet?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "CD-ROM wechseln"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Bitte legen Sie die Installations-CD-ROM in Ihr Laufwerk und drücken \n"
-"Sie dann „OK“. Falls Sie sie nicht vorlegen haben, drücken Sie \n"
-"„Abbruch“."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Ich bin nicht in der Lage, eine Live Aktualisierung durchzuführen!!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "Kein „serial_usb“ gefunden\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Den dritten Maustaste emulieren?"
-
-#: ../../standalone/mousedrake_.c:131
-msgid "Test the mouse here."
-msgstr "Testen Sie Ihre Maus hier."
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Netzwerküberwachung"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Statistik"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Sendegeschwindigkeit: "
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Empfangsgeschwindigkeit: "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Schließen"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "Internetverbindung herstellen "
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "Internetverbindung trennen "
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "Trennen der Internetverbindung schlug Fehl."
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "Trennen der Internetverbindung abgeschlossen."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Verbindung hergestellt."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"Verbindung schlug Fehl.\n"
-"Kontrollieren Bis Ihre Einstellungen im Mandrake Kontrollzentrum."
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "Sende: "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "Empfing: "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Verbinde"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Trenne Verbindung"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Firewall-Konfiguration"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Firewall-Konfiguration"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Firewall\n"
-"\n"
-"Sie haben bereits eine Firewall eingerichtet.\n"
-"Wählen Sie die Schaltfläche „Konfigurieren“,\n"
-"um sie zu löschen oder zu verändern."
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Firewall\n"
-"\n"
-"Wählen Sie die Schaltfläche „Konfigurieren“,\n"
-"um eine Standard-Firewall einzurichten."
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"TinyFirewall Konfigurierer\n"
-"\n"
-"Hiermit konfigurieren Sie eine persönliche Firewall für diesen\n"
-"Linux-Mandrake Rechner. Sollten Sie an einer speziellen ausgereiften\n"
-"Firewall-Lösung interessiert sein, schauen Sie sich nach der speziell\n"
-"dafür entwickelten MandrakeSecurity Firewall Distribution um."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Wir fragen Sie nun, welchen Diensten Sie direkten Internetzugang\n"
-"gestatten wollen. Bitte machen Sie sich sorgfältig Gedanken über diese\n"
-"Fragen. Es geht hierbei schließlich um die Sicherheit Ihres Systems!\n"
-"\n"
-"Bitte schotten Sie jeden Dienst, den sie aktuell nicht verwenden, vom \n"
-"Netz ab. Sie können die vorgenommenen Einstellungen mit Hilfe dieses \n"
-"Programms jederzeit wieder ändern!"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Betreiben Sie auf Ihrem Rechner einen Web-Server, der im gesamten\n"
-"Internet sichtbar sein soll? Falls der Server nur auf Ihrer Maschine\n"
-"zugreifbar sein soll, können Sie hier getrost NEIN antworten.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Betreiben Sie einen Name-Server auf Ihrem Rechner? Falls Sie keinen\n"
-"Eingerichtet haben, um dem gesamten Internet IP und Bereichsinformationen\n"
-"anzubieten, antworten Sie hier NEIN.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Wollen Sie eingehende Secure Shell (ssh) Verbindungen gestatten?\n"
-"Es handelt sich hierbei um einen Ersatz für Telnet. Falls sie noch\n"
-"Telnet verwenden, sollten Sie definitiv auf dieses Protokoll wechseln.\n"
-"Telnet überträgt Ihre gesamte Kommunikation (also auch Passwörter)\n"
-"UNVERSCHLÜSSELT! Sie bieten damit einem potentiellen Angreife ein\n"
-"leichtes Spiel. Die SSH hingegen verschlüsselt die komplette\n"
-"Kommunikation und warnt sogar falls sie eine Unregelmäßigkeit bemerkt."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Wollen Sie eingehende Telnet-Verbindungen gestatten?\n"
-"Dienst extrem unsicher, wie wir bereits früher erwähnten. Wir empfehlen\n"
-"Ihnen daher nachdrücklich mit NEIN zu antworten und im Bedarfsfall auf\n"
-"die SSH auszuweichen.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Betreiben Sie einen FTP Server der aus dem Internet zugreifbar sein soll?\n"
-"Falls ja, sollten Sie ihn jedoch nur für „anonymen Transfair“ verwenden,\n"
-"da das Protokoll keine Verschlüsselung übertragener Passwörter vorsieht."
-"Verwenden Sie „scp“ aus dem SSH Paket zum verschlüsselten\n"
-"Datentransfer zwischen zwei Rechnern.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Betreiben Sie einen Mail-Server? Falls Sie Ihre Nachrichten mit\n"
-"einem textbasierten E-Mail Programm wie pine oder mutt schreiben\n"
-"ist dies vermutlich der Fall. Andernfalls sollten Sie den Dienst\n"
-"abschalten.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Betreiben Sie einen POP oder IMAP Server? Sie würden damit\n"
-"Postfächer für nicht-web-basierten E-Mail Zugriff über diese\n"
-"Maschine bereitstellen.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Sie scheinen einen 2.2er Kern zu verwenden. Falls Sie Ihre\n"
-"IP-Adresse automatisch im lokalen Netzwerk erhalten sollen,\n"
-"müssen wir dies gestatten. Ist das bei Ihnen der Fall?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Wird die Zeit Ihres Rechners automatisch mit anderen Rechnern\n"
-"synchronisiert? Dies ist häufig ab mittelgroßen UNIX/Linux Betrieben\n"
-"der Fall. Damit wird ein einheitliches Zeitschema, etwa für die\n"
-"Datensicherung zugrunde gelegt. Wenn Sie nicht in einem größeren\n"
-"Betrieb arbeiten oder noch nie etwas zu diesem Thema gehört haben,\n"
-"trifft es für Sie vermutlich nicht zu."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Konfiguration beendet. Soll ich die Änderungen auf Platte schreiben?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "Ich kann „%s“ nicht öffnen: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Ich kann „%s“ nicht zum Schreiben öffnen: %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Klienten für verschiedene Protokolle, u.a. SSH"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Entwicklungsplattform"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Arbeitsplatzrechner"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Server, Firewall/Router"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Persönliches Informationsmanagement"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedia / Grafik"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Netzwerk-Computer (Klient)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Audio Programme: MP3- und Midi-Abspieler, Mixer, usw."
-
-#
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Internetrechner"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Office"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimediarechner"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Programme zum E-Mail bzw. News lesen und senden (pine, mutt, tin, ...)sowie "
-"zum durchstöbern des WWW"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "C und C++ Entwicklung: Bibliotheken, Programme und Include-Dateien"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Domänen- (DNS) und Netzwerk Informations-Server (NIS)"
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Finanzverwaltungsprogramme, etwa Gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "PostgeSQL oder MySQL Datenbankserver"
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS-Server, SMB-Server, Proxy-Server, SSH-Server"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentation"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, usw."
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Werkzeuge"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS"
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Grafische Arbeitsoberfläche"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedia / Sound"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Spiele: Arcade-, Brett-, Strategiespiele, usw."
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Videoabspieler und Editoren"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Konsolen-Werkzeuge"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Sound- und Video-Abspieler/Editoren"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Wissenschaftlicher Arbeitsplatzrechner"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editoren, Shells, Dateiwerkzeuge, Konsolen"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Bücher und HOWTOs zu GNU/Linux und Freier Software"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Eine grafische Oberfläche mit anwenderfreundlichen Anwendungen und Werkzeugen"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-"Postfix E-Mail-Server und\n"
-"Inn Diskussionsforen-Server"
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Spiele"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedia / Video"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Netzwerkrechner Server"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Bildverarbeitungsprogramme wie der GIMP"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Büro-Arbeitsplatz"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"Das K Desktop Environment, die Standard-Arbeitsoberfläche mit einer Sammlung "
-"zugehöriger Programme"
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Weitere Arbeitsoberflächen (GNOME, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Werkzeuge zur Erstellung und zum Brennen von CDs"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedia / CD-Brenner"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Archivierung, Emulation, Überwachung"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Server, Datenbank"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Office-Programme: Textverarbeitung (KWord, Abiword), Tabellenkalkulation "
-"(KSpread, Gnumeric), PDF-Betrachter, usw."
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Server, Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Server"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Finanzverwaltung"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Einstellungen"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE-Arbeitsplatz"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Andere grafische Arbeitsoberflächen"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache und Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Server, Mail/Groupware/News"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome-Arbeitsplatz"
-
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr "Internet-Gateway"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Werkzeuge für Ihren Palm Pilot oder Ihren Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Spiel-Station"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "GNOME, IceWM, Window Maker, Enlightenment, Fvwm, usw."
-
-#
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Werkzeuge, die die Konfiguration Ihres Rechners erleichtern"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr "Programme für Mail, News, WWW, FTP und Chat"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "KB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d Minuten"
-
-#~ msgid "1 minute"
-#~ msgstr "1 Minute"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d Sekunden"
diff --git a/perl-install/share/po/el.po b/perl-install/share/po/el.po
deleted file mode 100644
index 060e3ec77..000000000
--- a/perl-install/share/po/el.po
+++ /dev/null
@@ -1,9473 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (c) 1999 MandrakeSoft
-# FIRST AUTHOR Theodore J. Soldatos <theodore@eexi.gr>, 1999.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-1-4 16:27+0100\n"
-"Last-Translator: unmantained\n"
-"Language-Team: GREEK <nls@tux.hellug.gr>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-7\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr " X server ( )"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr " X Window"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr " XFree ;"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-" \n"
-" XFree %s. XFree %s "
-" \n"
-" ."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-" XFree "
-"%s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s "
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-" XFree "
-"%s,\n"
-": - !"
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s "
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-" \n"
-" XFree %s. : - "
-" !\n"
-" XFree %s "
-"\n"
-" ."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr " XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr " X server"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-" , "
-"\n"
-" , \n"
-" , \n"
-" .\n"
-"\n"
-" \n"
-" : "
-"\n"
-" . , ."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr " ;"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ": "
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-" "
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr " :"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr " %d "
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr " ;"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr " , "
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr " : %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 server: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr " ..."
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr ": %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr " : %s kb\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr ": %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 server: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr " XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr " (X-Window)"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr " ;"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr " X server"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr " "
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-" ;\n"
-" :\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr " %s "
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr " Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr " (X) "
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-" \n"
-" (X-Windows).\n"
-" ;"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 (8 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 (15 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 (16 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 (24 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 (32 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kb"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kb"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB "
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standard VGA, 640x480 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514 Compatible, 1024x768 87 Hz interlaced (no 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 87 Hz interlaced, 800x600 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Extended Super VGA, 800x600 60 Hz, 640x480 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Non-Interlaced SVGA, 1024x768 60 Hz, 800x600 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "High Frequency SVGA, 1024x768 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multi-frequency 1280x1024 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multi-frequency 1280x1024 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multi-frequency 1280x1024 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr " 1600x1200 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr " 1600x1200 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr " "
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr " (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr " SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr " ;"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr " LILO/grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-#, fuzzy
-msgid "Yaboot"
-msgstr "Root"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr " "
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-#, fuzzy
-msgid "Bootloader to use"
-msgstr " "
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr " "
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr " "
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA ( BIOS)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr ""
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr " "
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr " "
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr ""
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr " ()"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr " "
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr ""
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr " /tmp "
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr " ( %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr " profiles"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr " Mb"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-" `` '' "
-""
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr " "
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr " "
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-#, fuzzy
-msgid "Default OS?"
-msgstr " ' "
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-" .\n"
-" ."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr ""
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr " RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr " "
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr " (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr " (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr " (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Image"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Append"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Read-write"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr ""
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr ""
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr ""
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr " ' "
-
-#: ../../any.pm_.c:284
-#, fuzzy
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr " "
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr " "
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr " "
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr " ;"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr " %s %s "
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr " ;"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr " %s;"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr ""
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr ""
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr " "
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr " %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(module %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr " %s ;"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-" , %s \n"
-" , ' .\n"
-" \n"
-" ; \n"
-" , ."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr " "
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr " "
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr " %s"
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-" %s.\n"
-" ``= 2=2 ...''.\n"
-" , ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr " "
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-" %s .\n"
-" ;"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "( %s )"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr " "
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr " "
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-" , , `-' `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr " "
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr " "
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-" \n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr " "
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr " "
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr " "
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr " (shell)"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr ""
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr " (Autologin)"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-" \n"
-" .\n"
-" , ."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr " ' :"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr " "
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"KALOS HRTHATE STON EPILOGEA LEITOURGIKOU SYSTHMATOS %s!\n"
-"\n"
-"EPILEXTE LEITORGIKO SYSTHMA APO TON PARAPANO KATALOGO \n"
-"H PERIMENETE %d DEUTEROLEPTA GIA THN AYTOMATH EPILOGH.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Welcome to GRUB the operating system chooser!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Use the %c and %c keys for selecting which entry is highlighted."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Press enter to boot the selected OS, 'e' to edit the"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "commands before booting, or 'c' for a command-line."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "The highlighted entry will be booted automatically in %d seconds."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr " /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Desktop"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Start Menu"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr " "
-
-#: ../../bootlook.pm_.c:79
-#, fuzzy
-msgid "/_File"
-msgstr ":\n"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-#, fuzzy
-msgid "/_Help"
-msgstr ""
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr " "
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr " Internet"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr " "
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr " "
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr " "
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr " ' "
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr ""
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr " LILO . :"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr " /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-" , "
-" "
-
-#: ../../diskdrake.pm_.c:61
-#, fuzzy
-msgid "Not enough space for auto-allocating"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr " :"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-" FAT \n"
-"( Dos Windows).\n"
-" \n"
-"( , \" \")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr " !"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-" aboot, "
-"2048 )\n"
-" "
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr ": ."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr " : "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr " DOS : %s \n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr ": %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr ": %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s "
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr " %d %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr " loopback: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-" \n"
-" ( MS-DOS, lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr " %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr " chunk %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr " RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr " loopback: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr ": %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr ": %s , %s , %s \n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr " LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr " : %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr " bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr " RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr " RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr " RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr " LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr " LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr " loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-", /boot "
-" 1024.\n"
-" LILO , LILO "
-" /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-" root (/) 1024 \n"
-" /boot.\n"
-" LILO, /boot."
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-" software RAID root (/).\n"
-" "
-" /boot.\n"
-" /boot."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr " ``%s'' "
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr " ``''"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-" %s, "
-" "
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr " ;"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr " ;"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr " ;"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-" ReiserFS "
-"32MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr " loopback %s;"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr " %s;"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-" "
-"\n"
-" loopback. loopback"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-" %s, "
-" "
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr " loopback %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr " %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr " ,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr " ;"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr " ;"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr " ..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr " %s !"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr " fat filesystem bounds"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr " ' ."
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr ""
-" "
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-" %s, "
-" "
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr " : "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr " MB"
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr " : "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr ": "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr " loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr " loopback: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr " , "
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr " . ;"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-" \n"
-" ;"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-" \n"
-" "
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr " chunk"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr " RAID "
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr " LVM "
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr " "
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr ""
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s %s "
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr " %s %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr " : "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr " %s: %s"
-
-#: ../../fsedit.pm_.c:21
-#, fuzzy
-msgid "simple"
-msgstr ""
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr ""
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr " /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr " %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr " %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr ""
-" (root)"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-" (ext2, reiserfs) "
-" \n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr " %s : %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-" - "
-" . "
-" "
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr " !"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr " ."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-" "
-".\n"
-"\n"
-"\n"
-" \"\" .\n"
-"\n"
-"\n"
-" \"\" . "
-" \n"
-" ."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr ""
-" "
-""
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-" ( )\n"
-" ."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-" \"\" "
-" Linux-Mandrake\n"
-" .\n"
-"\n"
-"\n"
-" \"\" "
-" Linux-Mandrake\n"
-"\n"
-"\n"
-" GNU/Linux, "
-" \n"
-" Linux-Mandrake:\n"
-"\n"
-"\t* : GNU/Linux . "
-" \n"
-"\t .\n"
-"\n"
-"\n"
-"\t* : GNU/Linux, "
-" \n"
-"\t (, ) . "
-" \n"
-"\t , "
-" GNU/Linux.\n"
-"\n"
-"\n"
-"\t* : GNU/Linux. , "
-" \n"
-"\t . "
-" ,\n"
-"\t "
-" .\n"
-"\t ."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-":\n"
-"\n"
-" - : Linux, \n"
-" , "
-"\n"
-".\n"
-"\n"
-"\n"
-" - : GNU/Linux \n"
-" , \n"
-" . \n"
-" (\"\") ."
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-" \n"
-" :\n"
-"\n"
-"\t* : "
-"\n"
-"\t , . \n"
-"\n"
-"\t* : \n"
-"\t . "
-"\n"
-"\t , , "
-"\n"
-"\t .\n"
-"\n"
-"\t* : "
-"\n"
-"\t , (NFS SMB), (lp SMB), "
-"\n"
-"\t (NIS), . , \n"
-"\t KDE, Gnome ."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-" DrakX SCSI PCI.\n"
-" DrakX "
-",\n"
-" \n"
-"\n"
-"\n"
-" SCSI ISA, PCI "
-" \n"
-" SCSI, DrakX "
-" \n"
-" SCSI . , ''. "
-"\n"
-"'', .\n"
-"\n"
-"\n"
-" , DrakX "
-".\n"
-", DrakX , "
-" .\n"
-"\n"
-"\n"
-" , . \n"
-" \n"
-" Windows ( ), "
-"\n"
-" ( "
-"Internet)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-" , GNU/Linux\n"
-" . "
-"\n"
-" , , "
-"\n"
-" , "
-" Linux-Mandrake.\n"
-"\n"
-"\n"
-" , "
-" \n"
-" .\n"
-" . , "
-" \n"
-" .\n"
-"\n"
-"\n"
-" . "
-" \n"
-" (swap).\n"
-"\n"
-"\n"
-" "
-", \n"
-" Linux .\n"
-"\n"
-"\n"
-" , "
-". \n"
-" , :\n"
-"\n"
-"\t* : "
-"Linux .\n"
-"\t , .\n"
-"\n"
-"\n"
-"\t* : "
-" \n"
-"\t Linux-Mandrake "
-", \n"
-"\t . : \n"
-"\t ! !\n"
-"\n"
-"\n"
-"\t* Windows: "
-" Microsoft Windows\n"
-"\t , "
-" Linux.\n"
-"\t , Windows "
-" \n"
-"\t ( \" \" \"\") "
-" Windows.\n"
-"\t . "
-" \n"
-"\t Microsoft Windows Linux-Mandrake .\n"
-"\n"
-"\n"
-"\t , "
-" \n"
-"\t Windows "
-" .\n"
-"\n"
-"\n"
-"\t* : , "
-". \n"
-"\t , "
-" \n"
-"\t . "
-"."
-
-#: ../../help.pm_.c:160
-#, fuzzy
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-" , "
-" \n"
-" Linux-Mandrake. , "
-" \n"
-" , . , "
-" \n"
-" .\n"
-"\n"
-"\n"
-" , , "
-"\n"
-" \"hda\" IDE , \"hdb\" "
-"IDE, \"sda\"\n"
-" SCSI \n"
-"\n"
-"\n"
-" , :\n"
-"\n"
-" * : \n"
-" .\n"
-"\n"
-"\n"
-" * : \n"
-" ext2 swap .\n"
-"\n"
-"\n"
-" * : "
-",\n"
-" . "
-"\n"
-" .\n"
-"\n"
-"\n"
-" * : , .\n"
-"\n"
-"\n"
-" * : , "
-" \n"
-" .\n"
-"\n"
-"\n"
-" * : . "
-" \n"
-" .\n"
-"\n"
-"\n"
-" * : "
-" \n"
-" , . \n"
-"\n"
-"\n"
-" * : "
-", \n"
-" . .\n"
-"\n"
-"\n"
-" * : , "
-" .\n"
-"\n"
-"\n"
-", "
-": \n"
-" Tab "
-".\n"
-"\n"
-"\n"
-" , :\n"
-"\n"
-" * Ctrl-c ( "
-")\n"
-"\n"
-" * Ctrl-d \n"
-"\n"
-" * Ctrl-m "
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-" Linux "
-" \n"
-" . , \n"
-" . , "
-"\n"
-" (root, \"/\"). "
-"\n"
-" . "
-"\n"
-" , \"/home"
-"\" (\n"
-" Linux ).\n"
-"\n"
-"\n"
-", : \"\", \"\".\n"
-"\n"
-"\n"
-" : , , "
-" \n"
-" , \"hda1\").\n"
-"\n"
-"\n"
-" \"hd\" IDE \"sd\" SCSI .\n"
-"\n"
-"\n"
-" \"hd\" \"sd\". "
-"IDE \n"
-": \n"
-"\n"
-" * \"a\" master IDE,\n"
-"\n"
-" * \"b\" slave IDE,\n"
-"\n"
-" * \"c\" master IDE,\n"
-"\n"
-" * \"d\" slave IDE.\n"
-"\n"
-"\n"
-" SCSI, \"a\" , \"b\" "
-"..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-" \n"
-" Linux-Mandrake. : \n"
-" ."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-" \"OK\" \n"
-" . , \n"
-" \n"
-", Windows.\n"
-"\n"
-"\n"
-" \"\" \n"
-" ."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-" Windows . \n"
-" Linux-"
-"Mandrake.\n"
-"\n"
-"\n"
-", : \" Linux\", \" Windows"
-"\", \"\".\n"
-"\n"
-"\n"
-" Linux : , , "
-" \n"
-" , \"hda1\").\n"
-"\n"
-"\n"
-" \"hd\" IDE \"sd\" SCSI .\n"
-"\n"
-"\n"
-" \"hd\" \"sd\". "
-"IDE \n"
-": \n"
-"\n"
-" * \"a\" master IDE,\n"
-"\n"
-" * \"b\" slave IDE,\n"
-"\n"
-" * \"c\" master IDE,\n"
-"\n"
-" * \"d\" slave IDE.\n"
-"\n"
-"\n"
-" SCSI, \"a\" , \"b\" "
-"...\n"
-"\n"
-"\n"
-" Windows "
-"Windows\n"
-"( \"C:\")."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr " . ."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-" ( "
-"\n"
-") .\n"
-"\n"
-"\n"
-" "
-" \n"
-" . , "
-" \n"
-" .\n"
-"\n"
-"\n"
-" "
-".\n"
-" "
-"( \n"
-"\"/\", \"/usr\" \"/var\"), "
-" \n"
-" ( \"/home\").\n"
-"\n"
-"\n"
-" "
-" \n"
-" .\n"
-"\n"
-"\n"
-" \"OK\" .\n"
-"\n"
-"\n"
-" \"\" "
-" \n"
-" Linux-Mandrake."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-" "
-" .\n"
-"\n"
-"\n"
-" DrakX .\n"
-" , . , "
-"\n"
-" , "
-".\n"
-" \" "
-"\". \n"
-" 1000 ."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-" \n"
-" .\n"
-"\n"
-"\n"
-" \n"
-" .\n"
-"\n"
-"\n"
-" , \n"
-"\" \".\n"
-"\n"
-"\n"
-" , \n"
-"\" \". , \n"
-" \n"
-" ."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-" CDs, Ok.\n"
-" CDs, .\n"
-" , Ok."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-" Linux-Mandrake .\n"
-" , \n"
-" .\n"
-"\n"
-"\n"
-" ."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-" . \n"
-" . , \n"
-"\"\" ."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-" . ,\n"
-" COM1 Windows ttyS0 GNU/Linux."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-" \n"
-", , "
-" \n"
-" DrakX .\n"
-"\n"
-"\n"
-" , \" \".\n"
-"\n"
-"\n"
-" , \n"
-" , \"\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-" modem. \n"
-" .\n"
-"\n"
-"\n"
-", ( \"COM1\" Microsoft Windows),\n"
-" Linux \"ttyS0\"."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-" dial-up. "
-"\n"
-" , \n"
-" . (DNS), "
-" \n"
-" ."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-" modem , DrakX "
-" ."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr " modem ."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-" dial-up. "
-"\n"
-" , \n"
-" . (DNS), "
-" \n"
-" ."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-" ( ). "
-",\n"
-" ."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-" .\n"
-"\n"
-" - IP: , \n"
-" .\n"
-" IP \" IP\"\n"
-".\n"
-"\n"
-"\n"
-" - : \"255.255.255.0\" . \n"
-" , .\n"
-"\n"
-"\n"
-" - IP: "
-"\n"
-"BOOTP DHCP, . , "
-"\n"
-" IP. , \n"
-" ."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-" . \n"
-" , ."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-" . \n"
-" , ."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-" dialup. ,\n"
-" ."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-" proxies, . ,\n"
-" ."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-" , \n"
-" . '\n"
-" \n"
-".\n"
-"\n"
-" \n"
-" ."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr " ."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-" GNU/Linux GMT (\"Greenwich Mean Time\" \n"
-"\" \") \n"
-" .\n"
-"\n"
-" Microsoft Windows, \"\"."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-" \n"
-".\n"
-"\n"
-"\n"
-" , \n"
-" .\n"
-"\n"
-"\n"
-" \n"
-". , \n"
-" \n"
-" .\n"
-", ."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-" ( ) \n"
-" ( UNIX , Netware \n"
-"Microsoft Windows)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-" , \n"
-"(CUPS LPR.\n"
-"\n"
-"\n"
-" CUPS , UNIX \n"
-". Linux-Mandrake.\n"
-"\n"
-"\n"
-" LPR .\n"
-"\n"
-" , \"\"."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-" GNU/Linux . "
-"\n"
-" .\n"
-"\n"
-" , \"\n"
-"\".\n"
-"\n"
-" "
-"UNIX\n"
-", \" \".\n"
-"\n"
-"\n"
-" "
-"Windows\n"
-" ( UNIX SMB ), \"SMB/Windows 95/98/NT\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-" . \n"
-" .\n"
-"\n"
-"\n"
-" . "
-"\n"
-"\"/dev/lp0\" GNU/Linux \"LPT1\" Microsoft Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr " "
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-" .\n"
-" .\n"
-"\n"
-"\n"
-" "
-" ."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-" - \"root\".\n"
-" .\n"
-"\n"
-"\n"
-" root \n"
-" . , \n"
-" ! \n"
-" root \n"
-" , \n"
-" . \n"
-"\n"
-"\n"
-" \n"
-" (8) . ** \n"
-" ."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-" , \" shadow\" \n"
-"\" MD5\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-" NIS, \" NIS\". \n"
-" , ."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-" \"\" ,\n"
-"( \"\" , root). \n"
-" \n"
-" . \n"
-" ( , ),\n"
-" \"home directory\", \n"
-" .\n"
-"\n"
-"\n"
-"' , ! \n"
-" , \n"
-" root , \n"
-" . \n"
-" root.\n"
-"\n"
-"\n"
-" , \n"
-" root \n"
-" ."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-" . \n"
-" , \n"
-" ."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-" \n"
-" \n"
-"GNU/Linux.\n"
-"\n"
-"\n"
-" , \" \n"
-" (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-" , \n"
-" \"/dev/hda\" ( ), \"/dev/sda\n"
-"( SCSI )."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-" LILO Grub : \n"
-" GNU/Linux . "
-", \n"
-" . "
-" \n"
-", . \n"
-" .\n"
-"\n"
-" "
-"\n"
-" . , "
-" \n"
-" !"
-
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-" LILO grub :\n"
-" - : (.. \n"
-") . \n"
-" , \"/dev/hda\".\n"
-"\n"
-"\n"
-" - : \n"
-" .\n"
-" \n"
-" . \n"
-" .\n"
-"\n"
-"\n"
-" - : VGA \n"
-" . : \n"
-"\n"
-" * normal: 8025.\n"
-"\n"
-" * <>: ."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-" SILO SPARC: \n"
-" GNU/Linux . "
-", \n"
-" . "
-" \n"
-", . \n"
-" .\n"
-"\n"
-" "
-"\n"
-" . , "
-" \n"
-" !"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-" SILO :\n"
-" - bootloader: "
-"\n"
-" GNU/Linux . "
-",\n"
-" \" (MBR)\".\n"
-"\n"
-"\n"
-" - : \n"
-" .\n"
-" \n"
-" . \n"
-" ."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-" X Window System, \n"
-" (GUI) GNU/Linux. \n"
-" . \n"
-" , \n"
-" \n"
-" :)\n"
-"\n"
-"\n"
-" , \n"
-"X Window ( ), \n"
-" . , \n"
-" \n"
-" ."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-" , \n"
-" (X Window System)."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-" \"\". , \n"
-" \"\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-" .\n"
-"\n"
-" , Linux Mandrake \n"
-". , \n"
-" ."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr " "
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr " "
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr " "
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr " "
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr " "
-
-#: ../../install2.pm_.c:42
-#, fuzzy
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr ". . ."
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr ". ."
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr " "
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr " "
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr " root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr " "
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr " "
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr " "
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr " "
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr ". . "
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr " "
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr ""
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr " broadcast NIS domain"
-
-#: ../../install_any.pm_.c:676
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr " %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr " $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr " "
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr " "
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr " !"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-" ``'' "
-".\n"
-" : %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-" .\n"
-"o .\n"
-" `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr " swap"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-" swap\n"
-"\n"
-" ;"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr " Windows loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr " Linux4Win;"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr " MB:"
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr " swap MB"
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr " Windows"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr " ;"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr " Windows"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-" FAT, \n"
-" : %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-" Windows , "
-" ``defrag'' "
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"!\n"
-"\n"
-" DrakX Windows.\n"
-" . ,\n"
-" (\n"
-"scandisk) (defragment).\n"
-" .\n"
-" , Ok."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr " windows "
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr " %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr " FAT : %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-" FAT loopback ( "
-" )"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr " Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-" , "
-"Linux;"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-" %s "
-
-#: ../../install_interactive.pm_.c:165
-#, fuzzy
-msgid "Custom disk partitioning"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr " fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-" %s\n"
-" , `w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr " Windows"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr " DrakX :"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr " : %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr " "
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr " ."
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-" .\n"
-" ( "
-"Internet). ."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr " %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-" .\n"
-" CD-ROM CD-ROM .\n"
-" CD-ROM \"rpm -qpl "
-"Mandrake/RPMS/*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr " %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr " "
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr " `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr " : "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr ": %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr ": %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr " , "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr " "
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr " %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr " ;"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr " :"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr " 11;"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-" . "
-"\n"
-" Linux-Mandrake. , "
-" .\n"
-" F1 CDROM, `text'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr " %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-" ,\n"
-" .\n"
-"\n"
-" .\n"
-" 100% ."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-" %d%% .\n"
-"\n"
-" ,\n"
-" .\n"
-" .\n"
-" %d%% ."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr " ."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr ": %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr ": %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr " : %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-" "
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr " / "
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr " , "
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr " . "
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-" \n"
-" ;"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr " . "
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:582
-#, fuzzy
-msgid "Please wait, preparing installation"
-msgstr " "
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d "
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-" Cd-Rom!\n"
-"\n"
-" Cd-Rom \"%s\" .\n"
-" , CdRom."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr " :"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr " ."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-" "
-" "
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr " ."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr " ;"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "/"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr " ;"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr " ."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr ""
-" ."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr " PCMCIA "
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr " IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr " ."
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-" , :(\n"
-" \n"
-" . \n"
-"DrakX . : %s\n"
-"\n"
-" ;\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-" DiskDrake .\n"
-" !"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Root Partition ( )"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr " (/) ;"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-" "
-""
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr " blocks;"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-" swap , "
-""
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-" (%"
-"d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr " (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr " (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr " (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-" CDs, Ok.\n"
-" CDs, .\n"
-" , Ok."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-" %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-" .\n"
-"\n"
-":\n"
-"\n"
-" "
-",\n"
-" "
-",\n"
-" / .\n"
-"\n"
-" . "
-" \n"
-" , .\n"
-"\n"
-" Mandrakesoft, "
-" \n"
-" ( , "
-" \n"
-", "
-" .\n"
-"\n"
-" \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr " ;"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr " GMT ( );"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr " CUPS"
-
-#: ../../install_steps_interactive.pm_.c:807
-#, fuzzy
-msgid "No printer"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr "USB Mouse"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:826
-#, fuzzy
-msgid "ISDN card"
-msgstr " ISDN"
-
-#: ../../install_steps_interactive.pm_.c:829
-#, fuzzy
-msgid "Sound card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr " ;"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-" ( %d "
-" )"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr " NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "yellow pages"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr " NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr " (domain) NIS"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr " NIS"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-" \n"
-" . "
-" \n"
-" SILO , SILO\n"
-" SILO. \n"
-" "
-"Mandrake,\n"
-" .\n"
-" ;"
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-" \n"
-" . "
-" \n"
-" LILO ( grub), "
-" LILO\n"
-" LILO. \n"
-" "
-"Mandrake,\n"
-" .\n"
-" ;"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr ", "
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr " aboot;"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-" aboot, \n"
-" , "
-" ;"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-" . "
-":"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-" "
-" ;"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-" .\n"
-"\n"
-" ;"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-", .\n"
-" CD return "
-".\n"
-"\n"
-" Mandrake Linux,\n"
-" http://www.linux-mandrake.com/.\n"
-"\n"
-" "
-"\n"
-" Linux-Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr " "
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1189
-#, fuzzy
-msgid "Save packages selection"
-msgstr " "
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr " Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> | <Space> | <F12> . "
-
-#: ../../interactive.pm_.c:65
-#, fuzzy
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr " "
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr " (%s), \n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr " , \n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ; (' %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr " ; (' %s)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr " ; (' %s `none' ) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr " (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr ""
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr ""
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr " (UK)"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "... (US)"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr " ( )"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr " ( )"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr " (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr " ( )"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak ()"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak ()"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr " (\"\" )"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr " (\"\" )"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr ""
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr ""
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr ""
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr " 106 "
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr " (UK)"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr " "
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr ""
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr " AZERTY ()"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr " AZERTY ()"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr " \"number row\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr " \"\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr " ( qwerty)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr " ( qwertz)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr ""
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr " (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr " (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr " (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr " ()"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thai"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr " ( \"F\" )"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr " ( \"Q\" )"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "US "
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr " \"numeric row\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-#, fuzzy
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr " ( )"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - Mouse"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr " PS2 "
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-#, fuzzy
-msgid "1 button"
-msgstr " "
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr ""
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr " "
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr ""
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr " 2 "
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr " 3 "
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (, C7 )"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "busmouse"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr " "
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr " "
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr ""
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr " "
-
-#: ../../my_gtk.pm_.c:356
-#, fuzzy
-msgid "Finish"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr " -"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr ";"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr " (Internet)"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr " ;"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr " ... "
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr " ."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-" .\n"
-" ."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr " "
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr " ISDN"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-" \n"
-" , Unlisted"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr " "
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr " "
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ "
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "DMA "
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "IO "
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "IO_0 "
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "IO_1 "
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr " "
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr " (.. provider.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr " "
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "DNS 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "DNS 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr " "
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "' (user name)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr " "
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr " (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr " "
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-" \n"
-" D-Channel ( )"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr " ;"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr " ;"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr " "
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-" ISA , .\n"
-"\n"
-" PCMCIA , irq io .\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr ""
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr " ISDN ;"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-" ISDN , . "
-" PCI ."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr " ISDN. ."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-" Ethernet .\n"
-" ."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr " "
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-" "
-" "
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr " "
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-";"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr " :\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr " ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr " ;"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr " modem ;"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr " dialup"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr " "
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr " "
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Login ID"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr " "
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr " script"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr " "
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr " "
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr " DNS"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr " DNS"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr " $netc->{NET_DEVICE}. ;"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr " ."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-" ."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr " ."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr " (internet)"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr " (internet)"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr " ( )"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr " (internet)"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr " "
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr " ISDN modem"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr " ISDN"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr " ISDN ;"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr " "
-
-#: ../../netconnect.pm_.c:834
-#, fuzzy
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-" adsl dhcp + pppoe.\n"
-" pptp, () dhcp.\n"
-" , ' pppoe'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr " dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr " pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr " pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr " %s. ;"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-" dhcp ;\n"
-" dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr " "
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr " ;"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr " ;"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr " ' :"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr " ..."
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy
-msgid "Normal modem connection"
-msgstr " modem"
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr " %s"
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr " ISDN"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy
-msgid "DSL (or ADSL) connection"
-msgstr " DSL ( ADSL)"
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy, c-format
-msgid "detected on interface %s"
-msgstr " "
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr " "
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr " ADSL"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr " ;"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr " "
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr " "
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-" .\n"
-" DHCP .\n"
-" ,\n"
-" .. ``mybox.mylab.myco.com''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr " "
-
-#: ../../network.pm_.c:319
-#, fuzzy
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-": "
-".\n"
-" OK .\n"
-" ."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-" IP .\n"
-" IP \n"
-" (: 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr " %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr " IP"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr " "
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr " IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr " IP 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-" .\n"
-" ,\n"
-" .. ``mybox.mylab.myco.com''.\n"
-" IP "
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr " DNS"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr " "
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr " "
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr " proxies"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP proxy"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr " proxy http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr " proxy ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr " "
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-" .\n"
-" "
-" "
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr " %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr " %s : %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr " "
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr " %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr " "
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr ""
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr " "
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr ""
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr " "
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr " "
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr " lpd"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr " (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr " URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr " \"%s\" "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-" ;\n"
-"(: /dev/lp0 LPT1:)\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr " lpd "
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-" \n"
-"lpd, \n"
-", \n"
-" ."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr " :"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr " SMB (Windows 9x/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-" SMB , \n"
-"SMB (! \n"
-" TCP/IP!) IP \n"
-" , \n"
-", \n"
-", ."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr " SMB :"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP SMB :"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr " :"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr " :"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr " NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-" NetWare, \n"
-" NetWare (! \n"
-" TCP/IP!), \n"
-" , \n"
-" ."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr " socket"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-" socket, \n"
-" ."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-" URI CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr " ;"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr " ;"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr " ..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-" .\n"
-" .\n"
-" :\n"
-"%s\n"
-"\n"
-" "
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-" .\n"
-" .\n"
-" ;"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr ", ASCII"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr ", PostScrip"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr ", "
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr " ;"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr " Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr " PostScript;"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr " -;"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "/ (1/72 )"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "/ (1/72 )"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr " GhostScript"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr " ;"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr " ;"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-" .\n"
-" ."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr " CUPS"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr " CUPS"
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr " ;"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-" CUPS, \n"
-". . , \n"
-"\" CUPS\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-" CUPS, \n"
-". , \n"
-" . , \n"
-"IP CUPS ."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "IP CUPS:"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-" ( lp). "
-" \n"
-" . \n"
-" ;"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-" ( ) \n"
-" ( lp) . \n"
-" ;"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr " "
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr " "
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr " __ RAID md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr " $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr " mkraid"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr " mkraid ( raidtools;)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr " RAID %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, ."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-" apmd .\n"
-" \n"
-" ."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-" at \n"
-" ."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-" cron UNIX \n"
-" . vixie cron "
-" \n"
-" "
-"."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-" GPM mouse \n"
-" \n"
-"mouse , menu."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-" Apache WWW. \n"
-"HTML CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-" Internet (inetd) \n"
-" inetrnet . \n"
-" , telnet, ftp, rsh rlogin. "
-"\n"
-" \n"
-" ."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-" \n"
-" /etc/sysconfig/keyboard. \n"
-" kbdconfig. ."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-" lpd \n"
-" lpd. \n"
-" ."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-" named (BIND) Domain Name Server (DNS) \n"
-" IP."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-" (NFS, \n"
-"SMB NCP (Netware))."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"/ \n"
-" ."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-" NFS \n"
-" TCP/IP. , \n"
-" /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-" NFS \n"
-" TCP/IP. ."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-" PCMCIA , modems \n"
-" laptop. "
-" \n"
-", "
-"."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-" portmapper RPC, \n"
-" NFS NIS. \n"
-" ."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-" postfix , \n"
-" \n"
-" ."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-" \n"
-" ."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-" routed \n"
-"IP RIP. ' RIP "
-" \n"
-" , ."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-" rstat \n"
-" \n"
-" ."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-" rusers \n"
-" ."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-" rwho \n"
-" ( finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-" Syslog \n"
-" (log files)\n"
-" ."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr " ."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr " "
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr ""
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "stopped"
-msgstr "Append"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-#, fuzzy
-msgid "On boot"
-msgstr "Root"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-" , :(\n"
-" "
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr " Internet"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr " Internet "
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-" Internet .\n"
-" .\n"
-"\n"
-" ;"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:126
-#, fuzzy
-msgid "Disabling servers..."
-msgstr " ..."
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr " Internet "
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr " Internet "
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-" Internet .\n"
-" .\n"
-"\n"
-" ;"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr " Internet "
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr " "
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-#, fuzzy
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-" \n"
-" .\n"
-"\n"
-": "
-" (LAN).\n"
-"\n"
-" Internet;"
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr " !"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-" Ethernet . "
-" ."
-
-#: ../../standalone/drakgw_.c:224
-#, fuzzy, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-" :\n"
-"\n"
-"$interface\n"
-"\n"
-" "
-";"
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-" \n"
-" ."
-
-#: ../../standalone/drakgw_.c:242
-#, fuzzy
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-", . \n"
-" ;"
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-" LAN $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr " firewall!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"! firewall. "
-"\"\" ."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ", , ..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr " $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"' .\n"
-" "
-" , "
-"(DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-#, fuzzy
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-" Internet .\n"
-" .\n"
-"\n"
-" ;"
-
-#: ../../standalone/drakgw_.c:609
-#, fuzzy
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-" Internet .\n"
-" .\n"
-"\n"
-" ;"
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr " Internet "
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr " (internet)"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr " Internet"
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr " "
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-#, fuzzy
-msgid "Profile: "
-msgstr " : "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-#, fuzzy
-msgid "Hostname: "
-msgstr " :"
-
-#: ../../standalone/draknet_.c:147
-#, fuzzy
-msgid "Internet access"
-msgstr ""
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr ": "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr " :"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-#, fuzzy
-msgid "Interface:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr " "
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr " ADSL"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr " ... "
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr " ... "
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr " ."
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr " "
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr " ADSL"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Adapter"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr " "
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-#, fuzzy
-msgid "Configure Local Area Network..."
-msgstr " "
-
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Normal Mode"
-msgstr ""
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr " "
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr " ADSL"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr ""
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr " (internet)"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr " (internet)"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr " "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-#, fuzzy
-msgid "Provider dns 1 (optional)"
-msgstr "DNS 1"
-
-#: ../../standalone/draknet_.c:561
-#, fuzzy
-msgid "Provider dns 2 (optional)"
-msgstr "DNS 2"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr " Crackers"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr ""
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr ""
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-" . \n"
-" , . "
-"\n"
-" Internet LAN. ."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-" , \n"
-" ."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-" , \n"
-" ."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-" \n"
-" Internet. ."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-" \n"
-"Internet . \n"
-" ."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-" 4, . \n"
-" ."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr " "
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr " (internet)"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr " "
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ": keyboarddrake [--expert] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr " BackSpace Delete ;"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr " Cd-Rom"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-" CD .\n"
-" , ."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr " live upgrade!!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr " serial_usb\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr " ;"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr " "
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr " "
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "USB Mouse"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr " (internet)"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr " (internet)"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr " (internet)"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr " (internet)"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr " "
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr " "
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr " ISDN"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr " firewall!"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr " firewall!"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr " %s : %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Development"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr " (socket)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr " : mp3 midi players, "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr " (Internet)"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-" news (pine, mutt, tin...) "
-" Web Browsers"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr " C C++, "
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr " , gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, "
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr " - "
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr " ()"
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr " video"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr " video "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Scientific Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr " , , , "
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr " Linux "
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr " - Video"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr " (socket)"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr " Gimp"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr " KDE "
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr " (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr " CD"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr " - CD"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ", , "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Database"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr " : , "
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "KDE Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr " "
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Gnome Workstation"
-msgstr " "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr " Palm Pilot Visor"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, "
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr " ;"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr " , , web, "
-
-#~ msgid "%d minutes"
-#~ msgstr "%d "
-
-#~ msgid "1 minute"
-#~ msgstr "1 "
-
-#~ msgid "%d seconds"
-#~ msgstr "%d "
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr "..."
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr " ADSL"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr " ... "
-
-#, fuzzy
-#~ msgid "Standard tools"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr ": "
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr ""
-#~ " usb mouse."
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ " , "
-#~ " \n"
-#~ " . "
-#~ ": \n"
-#~ " "
-#~ " (LAN).\n"
-#~ "\n"
-#~ " Internet;\n"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr " "
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr " LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr " "
-
-#~ msgid "Format floppy"
-#~ msgstr " "
-
-#~ msgid "Choice"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ " .\n"
-#~ "\n"
-#~ "* : "
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ ", chipsets "
-#~ ".\n"
-#~ " \" \" chipsets, "
-#~ " \n"
-#~ " , .\n"
-#~ "\n"
-#~ "\n"
-#~ "* : "
-#~ ".\n"
-#~ " .\n"
-#~ " , . \n"
-#~ "\n"
-#~ "* RAM : PC "
-#~ "\n"
-#~ " RAM BIOS. , GNU/"
-#~ "Linux \n"
-#~ " RAM. , "
-#~ " \n"
-#~ ". : 2 4 MB .\n"
-#~ "\n"
-#~ "\n"
-#~ "* : "
-#~ "\n"
-#~ " (CD-ROM, , Zip), "
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ "* \"/tmp\" : "
-#~ " \n"
-#~ "\"tmp\" , .\n"
-#~ "\n"
-#~ "\n"
-#~ "* numlock : Number Lock "
-#~ "\n"
-#~ " , (: X "
-#~ "Window)."
-
-#, fuzzy
-#~ msgid "Internet/Network access"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Mail information"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr " "
-
-#~ msgid "Miscellaneous"
-#~ msgstr ""
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr " "
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr " supermount "
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ ": , ROOT "
-#~ " \n"
-#~ " ! root, "
-#~ "\n"
-#~ " \"su\". , "
-#~ "\n"
-#~ " ."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ ", numlock "
-#~ " \n"
-#~ " (.. `p' `6')"
-
-#, fuzzy
-#~ msgid "Actions"
-#~ msgstr ""
-
-#~ msgid "Scientific applications"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid "toot"
-#~ msgstr "Root"
-
-#~ msgid "First DNS Server"
-#~ msgstr " DNS"
-
-#~ msgid "Second DNS Server"
-#~ msgstr " DNS"
-
-#~ msgid "using module"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid "Development, Database"
-#~ msgstr ""
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr ""
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr " ;"
-
-#~ msgid "Auto install floppy"
-#~ msgstr " "
-
-#~ msgid "Try to find a modem?"
-#~ msgstr " modem?"
-
-#~ msgid "Disable Internet Connection"
-#~ msgstr " "
-
-#~ msgid "Configure local network"
-#~ msgstr " "
-
-#~ msgid "Disable networking"
-#~ msgstr " "
-
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr " / "
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ " . \n"
-#~ " :"
-
-#, fuzzy
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr "..."
-
-#~ msgid "Graphics Manipulation"
-#~ msgstr " "
-
-#~ msgid "Multimedia"
-#~ msgstr ""
-
-#~ msgid "Sciences"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ " xchat, licq, gaim "
-
-#~ msgid "Communication facilities"
-#~ msgstr " "
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Internet Tools"
-#~ msgstr " "
-
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr " (mysql postgresql)"
-
-#~ msgid "Development C/C++"
-#~ msgstr " C/C++"
-
-#~ msgid "Configure timezone"
-#~ msgstr " "
-
-#~ msgid "Configure printer"
-#~ msgstr " "
-
-#, fuzzy
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr " (socket)"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "( "
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr " ;"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr " num lock "
-
-#~ msgid "Confirm Password"
-#~ msgstr " "
-
-#~ msgid "default"
-#~ msgstr " ' "
-
-#~ msgid "What is your system used for?"
-#~ msgstr " ;"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr " "
-
-#~ msgid "Use diskdrake"
-#~ msgstr " diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ " ;\n"
-#~ " !\n"
-#~ " : `` ;'',\n"
-#~ " ;"
-
-#~ msgid "Use shadow file"
-#~ msgstr " shadow"
-
-#~ msgid "shadow"
-#~ msgstr "shadow"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr " MD5"
-
-#~ msgid "Search"
-#~ msgstr ""
-
-#~ msgid "Package"
-#~ msgstr ""
-
-#~ msgid "Text"
-#~ msgstr ""
-
-#~ msgid "Tree"
-#~ msgstr ""
-
-#~ msgid "Sort by"
-#~ msgstr " "
-
-#~ msgid "Category"
-#~ msgstr ""
-
-#~ msgid "See"
-#~ msgstr ""
-
-#~ msgid "Installed packages"
-#~ msgstr " "
-
-#~ msgid "Available packages"
-#~ msgstr " "
-
-#~ msgid "Show only leaves"
-#~ msgstr " "
-
-#~ msgid "Expand all"
-#~ msgstr " "
-
-#~ msgid "Collapse all"
-#~ msgstr " "
-
-#~ msgid "Add location of packages"
-#~ msgstr " "
-
-#~ msgid "Update location"
-#~ msgstr " "
-
-#~ msgid "Remove"
-#~ msgstr ""
-
-#~ msgid "Find Package"
-#~ msgstr " "
-
-#~ msgid "Find Package containing file"
-#~ msgstr " "
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr " "
-
-#~ msgid "Uninstall"
-#~ msgstr ""
-
-#~ msgid "Choose package to install"
-#~ msgstr " "
-
-#~ msgid "Checking dependencies"
-#~ msgstr " "
-
-#~ msgid "Wait"
-#~ msgstr ""
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr " "
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr " RPM"
-
-#~ msgid "Regexp"
-#~ msgstr "RegExp"
-
-#~ msgid "Which package are looking for"
-#~ msgstr " "
-
-#~ msgid "%s not found"
-#~ msgstr "%s "
-
-#~ msgid "No match"
-#~ msgstr " "
-
-#~ msgid "No more match"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ " rpmdrake .\n"
-#~ " ."
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr " ;"
-
-#~ msgid "What are looking for?"
-#~ msgstr " ;"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr " (.. `extra', `commercial')"
-
-#~ msgid "Directory"
-#~ msgstr ""
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr " cdrom ( /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL RPM"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ " FTP HTTP, hdlist\n"
-#~ " URL"
-
-#~ msgid "Please submit the following information"
-#~ msgstr " "
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s "
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr " RPM"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr " %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr " "
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr " "
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr " ISDN:\n"
-
-#~ msgid "France"
-#~ msgstr ""
-
-#~ msgid "Other countries"
-#~ msgstr " "
-
-#~ msgid "In which country are you located ?"
-#~ msgstr " ;"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Alcatel modem"
-
-#~ msgid "ECI modem"
-#~ msgstr "ECI modem"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr " adsl modem alcatel, Alcatel. , ECI."
-
-#~ msgid "don't use pppoe"
-#~ msgstr " pppoe"
-
-#~ msgid "mandatory"
-#~ msgstr ""
-
-#~ msgid "interesting"
-#~ msgstr ""
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n ()"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n ( )"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n ()"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr " ;"
-
-#~ msgid "Czech"
-#~ msgstr ""
-
-#~ msgid "Slovakian"
-#~ msgstr ""
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr " ipchains RPM urpmi."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr " dhcp RPM urpmi."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr " linuxconf RPM urpmi."
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr " bind RPM urpmi."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr " caching-nameserver RPM urpmi."
-
-#~ msgid ""
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ " \n"
-#~ " Internet \n"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr " !\n"
-
-#~ msgid ""
-#~ "Time (secs) of inactivity after which\n"
-#~ "it hangs up. (leave blank to disable it)"
-#~ msgstr ""
-#~ " ( ) \n"
-#~ " ( )"
-
-#~ msgid "Germany"
-#~ msgstr ""
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr " (1TR6)"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr " ;"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "/"
-
-#~ msgid "Rescue"
-#~ msgstr ""
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr " ;"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ " \"\" GNU/"
-#~ "Linux\n"
-#~ " , "
-#~ ".\n"
-#~ "\n"
-#~ " \"\" \n"
-#~ " Mandrake Linux.\n"
-#~ "\n"
-#~ "\n"
-#~ ":\n"
-#~ "\n"
-#~ " - : GNU/Linux.\n"
-#~ "\n"
-#~ " - : GNU/Linux, "
-#~ " \n"
-#~ " ( "
-#~ ")\n"
-#~ "\n"
-#~ " - : GNU/Linux "
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ " . "
-#~ "\n"
-#~ " (\"\") .\n"
-#~ " : , "
-#~ " !\n"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ " , "
-#~ "\n"
-#~ " Linux-Mandrake, (\n"
-#~ " GNU/Linux ). "
-#~ ",\n"
-#~ " . \n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " , \"\n"
-#~ "\" .\n"
-#~ " \n"
-#~ " \"hda\" IDE , \n"
-#~ " \"hdb\" IDE , \"sda\" \n"
-#~ "SCSI .\n"
-#~ "\n"
-#~ "\n"
-#~ " : (/), \n"
-#~ " \n"
-#~ "/boot, \n"
-#~ ".\n"
-#~ "\n"
-#~ "\n"
-#~ " \n"
-#~ ", \n"
-#~ " . DiskDrake .\n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " : \n"
-#~ " Tab .\n"
-#~ " , :\n"
-#~ "\n"
-#~ "- Ctrl-C ( )\n"
-#~ "\n"
-#~ "- Ctrl-d \n"
-#~ "\n"
-#~ "- Ctrl-m \n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ " \n"
-#~ " ( \n"
-#~ "). , \n"
-#~ " \n"
-#~ " . : \n"
-#~ " , \n"
-#~ " . \n"
-#~ " /home /usr/local."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ " . \n"
-#~ " , \n"
-#~ " , \n"
-#~ " ."
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ " DrakX \n"
-#~ ", , \n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " DrakX, 'Ok'\n"
-#~ ", \n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " , \n"
-#~ "DrakX ."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ " (LAN) \n"
-#~ "modem.\n"
-#~ "\n"
-#~ " \" \" DrakX \n"
-#~ " Ethernet . \n"
-#~ "PCI . \n"
-#~ " ISA, \n"
-#~ " \n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " SCSI, \n"
-#~ " () , \n"
-#~ " , \n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " Linux-Mandrake ,\n"
-#~ " \n"
-#~ " ( IP, , ). \n"
-#~ " , , \n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " \" modem\" \n"
-#~ " modem. DrakX modem . \n"
-#~ ", \n"
-#~ " modem ."
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ " GNU/Linux . \n"
-#~ " . \n"
-#~ " 'lp' ' \n"
-#~ ", \n"
-#~ " . \n"
-#~ " , '|'. , \n"
-#~ " , , .. \"My Printer|lp\".\n"
-#~ " () \"lp\" ' "
-#~ ".\n"
-#~ "\n"
-#~ "\n"
-#~ " ' \n"
-#~ ", \" \". \n"
-#~ " \n"
-#~ " ().\n"
-#~ "\n"
-#~ "\n"
-#~ " \n"
-#~ " Unix , \" lpd\".\n"
-#~ " , \n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " SMB ( \n"
-#~ " Windows 9x/NT), \n"
-#~ " SMB ( TCP/IP) \n"
-#~ " IP, , \n"
-#~ " .\n"
-#~ " NetWare, \n"
-#~ " ."
-
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ " \"\"! \n"
-#~ " Windows, \n"
-#~ "(boot sector) . \n"
-#~ " Linux, \n"
-#~ " !"
-
-#~ msgid "Move your wheel!"
-#~ msgstr " !"
-
-#~ msgid "Forget the changes?"
-#~ msgstr " ;"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr " ;"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ " .\n"
-#~ " ...\n"
-#~ " , \n"
-#~ " ."
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ " ( 800600).\n"
-#~ " .\n"
-#~ " ;"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ " \n"
-#~ " "
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr " "
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Apple ADB Mouse"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Apple ADB Mouse (2 )"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Apple ADB Mouse (3 )"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Apple USB Mouse"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Apple USB Mouse (2 )"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Apple USB Mouse (3 )"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI Bus Mouse"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft Bus Mouse"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech Bus Mouse"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB Mouse (3 )"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Rev 2.1A ()"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ ()"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse ()"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse ()"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr " ()"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Microsoft ()"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr " 3 ()"
-
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse ()"
-
-#~ msgid "nfs mount failed"
-#~ msgstr " nfs "
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid ""
-#~ "DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
-#~ "By default, the 4.0 server is used unless your card is not supported.\n"
-#~ "\n"
-#~ "Do you want to keep XFree 3.3?"
-#~ msgstr ""
-#~ " DrakX XFree 3.3 XFree 4.0.\n"
-#~ " , 4.0 "
-#~ " .\n"
-#~ "\n"
-#~ " XFree 3.3;"
-
-#~ msgid "Cryptographic"
-#~ msgstr ""
-
-#~ msgid "Do not set up networking"
-#~ msgstr " "
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr " (LAN) ;"
-
-#~ msgid "Show less"
-#~ msgstr " "
-
-#~ msgid "Show more"
-#~ msgstr " "
-
-#~ msgid "Take over the hard drive"
-#~ msgstr " "
-
-#~ msgid "tie"
-#~ msgstr ""
-
-#~ msgid "brunette"
-#~ msgstr ""
-
-#~ msgid "girl"
-#~ msgstr ""
-
-#~ msgid "woman-blond"
-#~ msgstr " "
-
-#~ msgid "automagic"
-#~ msgstr ""
-
-#~ msgid "Have you been provided with a hostname?"
-#~ msgstr " (hostname);"
-
-#~ msgid "Local Area Network specification"
-#~ msgstr " "
-
-#~ msgid "You may now decide which class C network to use.\n"
-#~ msgstr " C \n"
-
-#~ msgid "Network:"
-#~ msgstr ":"
-
-#~ msgid "Internet Connection Sharing - setup of $device"
-#~ msgstr " Internet - $device"
-
-#~ msgid ""
-#~ "The following interface is about to be configured:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-#~ msgstr ""
-#~ " :\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-
-#~ msgid "Everything configured!"
-#~ msgstr " !"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr " ;"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr " PCMCIA"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr " %s;"
-
-#~ msgid "Small(%dMB)"
-#~ msgstr "(%dMB)"
-
-#~ msgid "Modem Configuration"
-#~ msgstr " modem"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr " modem;"
-
-#~ msgid "Do you want to configure a ISDN connection for your system?"
-#~ msgstr " ISDN ;"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr " PCI;"
-
-#~ msgid "Searching root partition."
-#~ msgstr " root partition."
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s: root partition, ."
-
-#~ msgid "No root partition found"
-#~ msgstr " root partition"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr " (/);"
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr " windows!"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr " Lnx4win!"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "KALOS HRTHATE STON EPILOGEA LEITOURGIKOU SYSTHMATOS LILO!\n"
-#~ "\n"
-#~ "GIA NA DEITE TIS DIATHESIMES EPILOGES, PATHSTE <TAB>.\n"
-#~ "\n"
-#~ "GIA NA EPILEXETE MIA APO AUTES PLHKTROLOGHSTE TO ONOMA THS KAI \n"
-#~ "PATHSTE <ENTER>, H PERIMENETE %d DEUTEROLEPTA GIA THN AYTOMATH \n"
-#~ "EPILOGH.\n"
-#~ "\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "KALOS HRTHATE STON EPILOGEA LEITOURGIKOU SYSTHMATOS SILO!\n"
-#~ "\n"
-#~ "GIA NA DEITE TIS DIATHESIMES EPILOGES, PATHSTE <TAB>.\n"
-#~ "\n"
-#~ "GIA NA EPILEXETE MIA APO AUTES PLHKTROLOGHSTE TO ONOMA THS KAI \n"
-#~ "PATHSTE <ENTER>, H PERIMENETE %d DEUTEROLEPTA GIA THN AYTOMATH \n"
-#~ "EPILOGH.\n"
-#~ "\n"
-
-#~ msgid "SILO main options"
-#~ msgstr " SILO"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ " SILO.\n"
-#~ " ."
-
-#~ msgid "This label is already in use"
-#~ msgstr " "
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr " SILO . :"
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ " DrakX ' \n"
-#~ "PCI SCSI. \n"
-#~ " , .\n"
-#~ "\n"
-#~ "\n"
-#~ " SCSI ISA PCI \n"
-#~ " DrakX, SCSI,\n"
-#~ " . , \n"
-#~ "\"\". , \"\". \n"
-#~ " , .\n"
-#~ "\n"
-#~ "\n"
-#~ " , Dra \n"
-#~ " . ' , \n"
-#~ " . \n"
-#~ ".\n"
-#~ "\n"
-#~ "\n"
-#~ " , \n"
-#~ " Windows \n"
-#~ "( ), \n"
-#~ " ."
-
-#~ msgid "Shutting down"
-#~ msgstr ""
-
-#~ msgid "useless"
-#~ msgstr ""
-
-#~ msgid "garbage"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "or 7.0 (Air)."
-#~ msgstr ""
-#~ " \"\" Linux\n"
-#~ " , "
-#~ ".\n"
-#~ "\n"
-#~ "\n"
-#~ " \"\" \n"
-#~ " Mandrake Linux: 5.1 (Venice), 5.2 (Leeloo),\n"
-#~ "5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold 2000 or 7.0 (Air)."
-
-#~ msgid "Do you want to use LILO?"
-#~ msgstr " LILO;"
-
-#~ msgid ""
-#~ "You may now select the packages you wish to install.\n"
-#~ "\n"
-#~ "\n"
-#~ "First you can select group of package to install or upgrade. After that\n"
-#~ "you can select more packages according to the total size you wish to\n"
-#~ "select.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you are in expert mode, you can select packages individually.\n"
-#~ "Please note that some packages require the installation of others.\n"
-#~ "These are referred to as package dependencies. The packages you select,\n"
-#~ "and the packages they require will be automatically selected for\n"
-#~ "install. It is impossible to install a package without installing all\n"
-#~ "of its dependencies."
-#~ msgstr ""
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " ' \n"
-#~ " . , \n"
-#~ " .\n"
-#~ "\n"
-#~ "\n"
-#~ " , \n"
-#~ " . \n"
-#~ " . . \n"
-#~ " , , \n"
-#~ " . \n"
-#~ ", ."
-
-#~ msgid ""
-#~ "LILO (the LInux LOader) can boot Linux and other operating systems.\n"
-#~ "Normally they are correctly detected during installation. If you don't\n"
-#~ "see yours detected, you can add one or more now.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you don't want that everybody could access at one of them, you can "
-#~ "remove\n"
-#~ "it now (a boot disk will be needed to boot it)."
-#~ msgstr ""
-#~ " LILO Linux .. \n"
-#~ " . \n"
-#~ ", .\n"
-#~ "\n"
-#~ "\n"
-#~ " ,\n"
-#~ " ( \n"
-#~ ")."
-
-#~ msgid ""
-#~ "Now that you've selected desired groups, please choose \n"
-#~ "how many packages you want, ranging from minimal to full \n"
-#~ "installation of each selected groups."
-#~ msgstr ""
-#~ " , \n"
-#~ ", \n"
-#~ " ."
-
-#~ msgid ""
-#~ "You need %dMB for a full install of the groups you selected.\n"
-#~ "You can go on anyway, but be warned that you won't get all packages"
-#~ msgstr ""
-#~ " %dMB .\n"
-#~ " , "
-
-#~ msgid "Choose other CD to install"
-#~ msgstr " CD "
-
-#~ msgid ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed Linux before.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Customized: If you are familiar with Linux, you will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\"."
-#~ msgstr ""
-#~ ":\n"
-#~ "\n"
-#~ " - : Linux.\n"
-#~ "\n"
-#~ "\n"
-#~ " - : Linux, \n"
-#~ " , "
-#~ "\n"
-#~ ".\n"
-#~ "\n"
-#~ "\n"
-#~ " - : GNU/Linux "
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ " . "
-#~ "\n"
-#~ " (\"\") ."
-
-#~ msgid "Downloading cryptographic packages"
-#~ msgstr " "
-
-#~ msgid "Setup SCSI"
-#~ msgstr " SCSI"
-
-#~ msgid "Installation CD Nr %s"
-#~ msgstr " CD . %s"
-
-#~ msgid ""
-#~ "Update installation image!\n"
-#~ "\n"
-#~ "Ask your system administrator or reboot to update your installation image "
-#~ "to include\n"
-#~ "the Cd-Rom image labelled \"%s\". Press Ok if image has been updated or "
-#~ "press Cancel\n"
-#~ "to avoid installation from this Cd-Rom image."
-#~ msgstr ""
-#~ " image !\n"
-#~ "\n"
-#~ " "
-#~ "image \n"
-#~ " \"%s\". "
-#~ " Cd-Rom image."
-
-#~ msgid "Which language do you want?"
-#~ msgstr " ;"
-
-#~ msgid "Hurt me plenty"
-#~ msgstr " "
-
-#~ msgid "Which packages do you want to install"
-#~ msgstr " "
-
-#~ msgid "Local LAN"
-#~ msgstr " "
-
-#~ msgid "Going to install %d MB. You can choose to install more programs"
-#~ msgstr ""
-#~ " %d MB. "
-
-#~ msgid "Bad kickstart file %s (failed %s)"
-#~ msgstr " %s ( %s)"
-
-#~ msgid "Size: %s MB"
-#~ msgstr ": %s MB"
-
-#~ msgid "resizing"
-#~ msgstr " "
-
-#~ msgid "formatting"
-#~ msgstr ""
-
-#~ msgid "changing type of"
-#~ msgstr " "
-
-#~ msgid "After %s partition %s,"
-#~ msgstr " %s %s,"
-
-#~ msgid "linear"
-#~ msgstr ""
-
-#~ msgid "Linear (needed for some SCSI drives)"
-#~ msgstr " ( SCSI )"
-
-#~ msgid "User name:"
-#~ msgstr " :"
-
-#~ msgid "Password:"
-#~ msgstr " :"
-
-#~ msgid "expert"
-#~ msgstr ""
-
-#~ msgid "developer"
-#~ msgstr ""
-
-#~ msgid "beginner"
-#~ msgstr ""
-
-#~ msgid "A entry %s already exists"
-#~ msgstr " %s "
-
-#~ msgid "Choose install or upgrade"
-#~ msgstr " ;"
-
-#~ msgid "What usage do you want?"
-#~ msgstr " ;"
diff --git a/perl-install/share/po/eo.po b/perl-install/share/po/eo.po
deleted file mode 100644
index 136f5fab1..000000000
--- a/perl-install/share/po/eo.po
+++ /dev/null
@@ -1,8034 +0,0 @@
-#
-# MESAOJ DE DrakX
-# D. Dale Gulledge <dsplat@rochester.rr.com>, 2000
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-10-24 16:18-0500\n"
-"Last-Translator: D. Dale Gulledge <dsplat@rochester.rr.com>\n"
-"Language-Team: Esperanto <eo@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-3\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr "Legas konfiguraon"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Grafika karto"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Elektu grafikan karton"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Elektu X servilon"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X servilo"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Kiun konfiguron de XFree vi deziras havi?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Via karto povas havi 3D aparatan akceladon, sed nur kun XFree %s.\n"
-"XFree %s subtenas vian karton kiu eble havas pli bonan subtenon en 2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Vi povas havi 3D aparatan akceladan subtenon kun XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s kun 3D aparata akcelado"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Via karto povas havi 3D aparatan akceladon, sed nur kun XFree %s.\n"
-"NOTU KE I TIO ESTAS EKSPERIMENTA SUBTENO KAJ EBLE SVENIGOS VIAN KOMPUTILON."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s kun EKSPERIMENTA 3D aparata akcelado"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Via karto povas havi 3D aparatan akceladon, sed nur kun XFree %s.\n"
-"NOTU KE I TIO ESTAS EKSPERIMENTA SUBTENO KAJ EBLE SVENIGOS VIAN "
-"KOMPUTILON.\n"
-"XFree %s subtenas vian karton kiu eble havas pli bonan subtenon en 2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree Konfigurado"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Elektu memorkapaciton de via grafika karto"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Elektu opciojn por servilo"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Elektu ekranon"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Ekrano"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"La du gravegaj parametroj estas la vertikala refreigrapido (vertical\n"
-"refresh rate) kiu estas la rapido por refreigi la tutan ekranon, kaj\n"
-"plej grave la horizontala sinkronrapido (horizontal sync rate), kiu estas\n"
-"la rapido por montri skanliniojn.\n"
-"\n"
-"i estas TRE GRAVA ke vi ne elektas specon de ekrano kiu havas\n"
-"sinkronamplekson kiu estas preter la kapabloj de via ekrano: vi eble\n"
-"difektus vian ekranon. Se vi dubas, elektu zorgeman opcion."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Horizontala sinkronrapido (horizontal sync rate)"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Vertikala refreigrapido (vertical refresh rate)"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Ekrano ne estas konfigurata"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Grafika karto ne jam konfigurita"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Vi ne jam elektas distingivojn"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "u vi deziras provi la konfiguraon?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Averto: provado de i tiu grafika karto eble svenigos vian komputilon"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Provu konfiguraon"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"penu ani iom da parametroj"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Eraro okazis:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Mi eliros post %d sekundoj"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "u tio i pravas?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Eraro okazis, penu ani iom da parametroj"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Distingivo"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Elektu distingivon kaj kolorprofundon"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Grafika karto: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 servilo: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr "Spertula modalo"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Montru tuton"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Distingivoj"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Klavara arano: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Speco de muso: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Musaparato: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Ekrano: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Ekrana horizontala sinkronrapido (horizontal sync rate): %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Ekrana vertikala refreigrapido (vertical refresh rate): %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Grafika karto: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Graifka memoro: %s KB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Kolorprofuneco: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Distingivo: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 servilo: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 pelilo: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Preparas X-Fenestran konfiguraon"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Kion vi deziras fari?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "anu Ekranon"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "anu Grafika karto"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "anu Servilajn opciojn"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "anu distingivon"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Montru informon"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Provu denove"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "esu"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"u vi deziras teni la anojn?\n"
-"Nuna konfiguro estas:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Bonvolu resaluti en %s-n por aktivigi la anojn."
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr ""
-"Bonvole adiau kaj sekve uzu Kontrol-Alt-Retropao (Ctrl-Alt-Backspace)."
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X Fenestro e komenco"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Mi povas konfiguri vian komputilon tiel ke i atomate lanos X kiam i\n"
-"ekfunkcias. u vi deziras ke X atomate lanos?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 koloroj (8 bitoj)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mil koloroj (15 bitoj)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mil koloroj (16 bitoj)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 milionoj koloroj (24 bitoj)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 miliardoj koloroj (32 bitoj)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 KB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 KB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB a pli"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Normala VGA, 640x480 e 60 hercoj (Hz)"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Supera VGA, 800x600 e 56 hercoj (Hz)"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr ""
-"8514 kongrua karto, 1024x768 e 87 hercoj (Hz) interplektita (neniu 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr ""
-"Supera VGA, 1024x768 e 87 hercoj (Hz) interplektita, 800x600 e 56 hercoj"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Etendita Supera VGA, 800x600 e 60 hercoj (Hz), 640x480 e 72 hercoj"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr ""
-"Neinterplektita Supera VGA, 1024x768 e 60 hercoj (Hz), 640x480 e 72 hercoj"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Altfrekvenca Supera VGA, 1024x768 e 70 hercoj (Hz)"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Plurfrekvenca kiu povas fari 1024x768 e 60 hercoj (Hz)"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Plurfrekvenca kiu povas fari 1280x1024 e 74 hercoj (Hz)"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Plurfrekvenca kiu povas fari 1280x1024 e 76 hercoj (Hz)"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Ekrano kiu povas fari 1600x1200 e 70 hercoj (Hz)"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Ekrano kiu povas fari 1600x1200 e 76 hercoj (Hz)"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Unua sektoro de starta subdisko"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Unu sektoro de drajvo (efStartRikordo)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO Instalado"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Kie vi deziras instali la startargilon?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub Instalado"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-#, fuzzy
-msgid "Yaboot"
-msgstr "Radiko"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Startargilo efaj opcioj"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-#, fuzzy
-msgid "Bootloader to use"
-msgstr "Startargilo efaj opcioj"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Startargila instalado"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Starta aparato"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (ne funkcias kun malnovaj BIOSoj)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Kompakta"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "kompakta"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Grafika reimo"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Prokrastoperiodo anta starti defaltan sistemon"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Pasvorto"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Pasvorto (denove)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Limigu komandliniajn opciojn"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "limigu"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Purigu /tmp dum iuj startadoj"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Preciza kvanto de memoro se bezonata (trovis %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Ebligu multoblajn profilojn"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Donu kvanton de memoro en MB"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr "Opcio ``Limigu komandliniajn opciojn'' ne estas utila sen pasvorto"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Bonvole provu denove"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "La pasvortoj ne egalas"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-#, fuzzy
-msgid "Default OS?"
-msgstr "Defalta"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Jen la diversaj enskriboj.\n"
-"Vi povas aldoni pli a ani la ekzistantajn."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Aldonu"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Finata"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "anu RAID (Redundanca Aro de Malmultekostaj Diskoj)"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Kiun specon de enskribo vi deziras aldoni"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linukso"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Alia Mastruma Sistemo (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Alia Mastruma Sistemo (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Alia Mastruma Sistemo (Vindozo...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Kerna bildo"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Radiko"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Alfiksu"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lega-skriba"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tabelo"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Danera"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Etikedo"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Defalta"
-
-#: ../../any.pm_.c:284
-#, fuzzy
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Forigu enskribon"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Malplena etikedo ne estas permesata"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "i tiu etikedo estas jam uzata"
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr "Kiun specon de printilo vi havas?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Trovis %s %s interfacojn"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "u vi havas alian?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "u vi havas iun %s interfacon?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Ne"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Jes"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Vidu hardvaran informon"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Instalas pelilon por %s karto %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(modulo %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Kiun %s pelilon devus mi provi?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Iuokaze, la %s pelilo bezonas havi aldonan informon por uste funkcii,\n"
-"kvankam i normale funkcias bone sen la informo. u vi deziras specifi\n"
-"aldonajn opciojn por i a permesi al la pelilo esplori vian komputilon\n"
-"por la informo i bezonas? Kelkfoje, esplori svenas komputilon, sed\n"
-"i ne devus kazi difekton."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Atomate esploru"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Specifu opciojn"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Nun vi povas provizi iajn opciojn al modulo %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Nun vi povas provizi iajn opciojn al modulo %s.\n"
-"Opcioj estas en la formo ``nomo=valoro nomo2=valoro2 ...''.\n"
-"Ekzemple, ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Modulaj opcioj:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"argado de modulo %s malsukcesis.\n"
-"u vi deziras trovi denove kun aliaj parametroj?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(jam aldonis %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "i tiu pasvorto estas tro simpla"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Bonvole donu salutnomon"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "Salutnomo devas enhavi nur minusklojn, ciferojn, `-' kaj `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "i tiu salutnomo estas jam aldonita"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Aldonu uzanto"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Enigu uzanton\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Akceptu uzanto"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Vera nomo"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Salutnomo"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "elo"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Piktogramo"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Atomata-enregistrado"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Mi povas konfiguri vian komputilon por atomate enregistri unu uzulon kiam\n"
-"i startas. Se vi ne deziras uzi i tion, alklaku la `Nuligu' butonon."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Elektu la defaltan uzulon:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Elektu la fenestro-administrilon por lani:"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Bonvenon al %s, la mastruma sistema elektilo!\n"
-"\n"
-"Elektu mastruman sistemon de la supra listo a\n"
-"atendu dum %d sekundoj por defalta starto.\n"
-"\n"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Bonvenon al GRUB la elektilo por mastrumaj sistemoj!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Uzu la %c kaj %c klavoj por elekti kiun enskribon estas emfazata."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-"Premu la enenklavon por starti la elektatan mastruman sistemon, 'e' por\n"
-"redakti la"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "ordonoj antaux startado, aux 'c' por uzi komandan linion."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "La emfazata enskribo startos auxtomate post %d sekundoj."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "mankas sufie da spaco en /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Desktop"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Start Menu"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr "Post-instala konfigurado"
-
-#: ../../bootlook.pm_.c:79
-#, fuzzy
-msgid "/_File"
-msgstr "Dosieroj:\n"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr ""
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr "Konfiguru X"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Disdividado de Interreta Konekto"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr "Diskuma modalo"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "Ekrano"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "anu Ekranon"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr "Starta aparato"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Defalta"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Nuligu"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Instalado de LILO malsukcesis. La sekvanta eraro okazis:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Kreu"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Malmuntu"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Forigu"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatu"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Regrandecigu"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tipo"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Surmetingo"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Skribu /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "anu al Spertula reimo"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "anu al Normala reimo"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Restaru de dosiero"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Konservu en dosiero"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Soristo"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Restaru de disketo"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Konservu sur disketo"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Forviu ion"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formatu ion"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Atomate disponigu"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "iuj el la subdiskoj estas uzata"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Mi ne povas aldoni plu da subdiskoj"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Por havi plu da subdiskoj, bonvole forigu unu por povi krei etendigitan\n"
-"subdiskon"
-
-#: ../../diskdrake.pm_.c:61
-#, fuzzy
-msgid "Not enough space for auto-allocating"
-msgstr "Mankas sufian da libera spaco por disponigi novajn subdiskojn"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Malfaru"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Skribu subdiskotabelon"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr "Movu"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "2a Etendata (Ext2)"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "Dosierlokigtabelo (FAT)"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Interana"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Malplena"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Alia"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Specoj de dosiersistemoj:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detaloj"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Vi havas unu grandan FAT subdiskon.\n"
-"(enerale uzata de MicroSoft DOS/Vindozo).\n"
-"Mi sugestas ke vi unue regrandecigi tiun subdiskon\n"
-"(klaku sur in, kaj poste klaku sur \"Regrandecigu\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Bonvolu fari rezervan kopion de via dateno antae"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Legu zorge"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Se vi intencas uzi \"aboot\", zorgu lasi liberan spacon (2048 sektoroj "
-"sufias)\n"
-"e la komenco de la disko"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Zorgu: i tiu operacio estas danera."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Eraro"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Surmetingo: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Aparato: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS-a diskingolitero: %s (nur konjekto)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Speco: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nomo: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Komenco: sektoro %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Grandeco: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektoroj"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "De cilindro %d al cilindro %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formatita\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Ne formatita\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Muntita\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID (Redundanca Aro de Malmultekostaj Diskoj) md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Retrokonekta(j) dosiero(j): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Subdisko startata defalte\n"
-" (por MS-DOS starto, ne por \"lilo\")\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Nivelo %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Grandeco de pecoj %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-aj (Redundanca Aro de Malmultekostaj Diskoj) diskoj %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Retrokonekta dosieronomo: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Bonvolu klaki sur subdiskon"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Grandeco: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometrio: %s cilindroj, %s kapoj, %s sektoroj\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-aj (Redundanca Aro de Malmultekostaj Diskoj) diskoj %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Subdiskotabelospeco: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "e buso %d identigao %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Muntu"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktiva"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Aldonu al RAID (Redundanca Aro de Malmultekostaj Diskoj)"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Forigu de RAID (Redundanca Aro de Malmultekostaj Diskoj)"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "anu RAID (Redundanca Aro de Malmultekostaj Diskoj)"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Aldonu al LVM (Redundanca Aro de Malmultekostaj Diskoj)"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Forigu de LVM (Redundanca Aro de Malmultekostaj Diskoj)"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Uzu por retrokonektado"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Elektu agon"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Bedarinde mi ne kreas /boot tiom longe sur la drajvon (e cilindro > "
-"1024).\n"
-"A vi uzos LILO kaj i ne funkcios, a vi ne uzos LILO kaj vi ne bezonas\n"
-"/boot."
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"La subdiskon vi elektis por aldoni kiel la radiko (root, /) estas fizike\n"
-"situanta preter la 1024a cilindro de la drajvo, kaj vi ne havas /boot\n"
-"subdiskon. Se vi intencas uzi la LILO startadministranto, zorgu aldoni\n"
-"/boot subdiskon."
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Vi elektis softvaran RAID-an subdiskon por la radika dosiersistemo (/).\n"
-"Neniu startargilo povas trakti tiun sen /boot subdisko.\n"
-"Do zorgu aldoni /boot subdiskon."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Uzu ``%s'' anstatae"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Uzu ``Malmuntu'' antae"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Post vi anas la specon de subdisko %s, iuj datenoj en i tiu subdisko "
-"estos\n"
-"perdata"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "u mi devus dari malgrae?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "u eliru sen konservi"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "u eliru sen skribi la subdisktabelon?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "anu subdiskspecon"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Kiun dosierosistemo vi deziras uzi?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Vi ne povas uzi ReiserFS por subdisko pli malgranda ol 32MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Kie vi deziras munti retrokonektan dosieron %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Kie vi deziras munti aparato %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Ne povas malfiksi surmetingon ar i tiu subdisko estas uzata por\n"
-"retrokonektado. Unue forigu la retrokonektadon."
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"Post vi formatas la subdiskon %s, iuj datenoj en i tiu subdisko estos\n"
-"perdata"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formatas"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formatas retrokonektan dosieron %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formatas subdiskon %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Post formatado de iuj subdisko,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "iuj datenoj sur tiuj subdisko estos perdata"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Movu"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Al kiu disko vi deziras movi?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektoro"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Al kiu sektoro vi deziras movi?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Movante"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Movas subdisko..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "La subdisktabelo de drajvo %s estos skribata al disko!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Vi bezonos restarti anta ol la ano povas efektivii"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Kalkulas FAT dosiersistemajn limojn"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Regrandecigas"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "i tiu subdisko ne estas regrandecigebla"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "iuj datenoj en i tiu subdisko devus esti rezervata"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"Post vi regrandecigas subdiskon %s, iuj datenoj en i tiu subdisko estos\n"
-"perdata"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Elektu la novan grandecon"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Kreu novan subdiskon"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Komenca sektoro: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Grandeco en MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Speco de dosiersistemo: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Prefero: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Vi ne povas uzi i tiun subdiskon por retrokonektado"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Retrokonektado"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Retrokonekta dosieronomo: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Alia retrokonektado jam uzas tiun dosieron, elektu alian"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Dosiero jam ekzistas. u vi deziras uzi in?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Elektu dosieron"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"La rezerva subdisktabelo ne estas la sama grandeco\n"
-"u daras tamen?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Averto"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Enovu disketon en drajvo\n"
-"iuj datenoj sur tiu disketo estos perdata"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Provas savi subdisktabelon"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "aparato"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "nivelo"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "grandeco de pecoj"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "nova"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr ""
-"Elektu ekzistantan RAID (Redundanca Aro de Malmultekostaj Diskoj) por\n"
-"aldoni al"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Atomata muntado de demetebla medio"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Sava subdiskotabelo"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Reargu"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formatado de %s malsukcesis"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "ne scias kiel formati %s kiel speco %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "muntado malsukcesis: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "eraro dum malmunti %s: %s"
-
-#: ../../fsedit.pm_.c:21
-#, fuzzy
-msgid "simple"
-msgstr "Dosiero"
-
-#: ../../fsedit.pm_.c:30
-#, fuzzy
-msgid "server"
-msgstr "X servilo"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Surmetingoj devas komenci kun antaa /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Jam estas subdisko kun surmetingo e %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Cirklaj surmetingoj %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "i tiu dosierujo devus resti interne de la radika dosierosistemo (/)"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr "Vi bezonas veran dosiersistemon (ext2, reiserfs) por tiu surmetingo\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Eraro dum malfermado de %s por skribi: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Eraro okazis - neniuj validaj aparatoj estis trovata sur kiuj vi povas krei "
-"novajn dosiersistemojn. Bonvolu kontroli vian ekipaon por la kazo de i "
-"tiu problemo."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Vi ne havas iujn ajn subdiskojn!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Bonvole elektu vian preferatan lingvon por instalado kaj sistema uzado."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Elektu la aranon de via klavaro el la listo supre"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Elektu:\n"
-"\n"
-" - Akomodata: Se vi sufie konas GNU/Linukson, vi povas elektu la efan\n"
-" uzadon por via komputilo. Vidu malantae por detaloj.\n"
-"\n"
-"\n"
-" - Spertulo: i tio supoza ke vi flue konas GNU/Linukson kaj deziras fari\n"
-" treege akomodatan instaladon. Simile kiel \"Akomodata\" instalado, vi "
-"povos\n"
-" elekti la uzado por via komputilo.\n"
-" Sed bonvolege, NE ELEKTU I TION KROM SE VI SCIAS KION VI FARAS!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Nun vi devas elekti la uzadon por via komputilo. Jen la elektoj:\n"
-"\n"
-"\t* Laborstacio: i tio estas la ideala opcio se vi intencas uzi vian\n"
-"\t komputilon efe por iutaga uzado e la oficejo a hejme.\n"
-"\n"
-"\n"
-"\t* Programado: se vi intencas uzi vian komputilon efe por programado,\n"
-"\t i tio estas bona opcio. Vi havos plenan aron de programiloj por\n"
-"\t kompili, erarseri, formati programfontojn, kaj krei\n"
-"\t programpakaojn.\n"
-"\n"
-"\n"
-"\t* Servilo: se vi intencas uzi i tiun komputilon kiel servilo, i tio\n"
-"\t estas bona opcio. A dosierservilo (NFS a SMB), printservilo\n"
-"\t (Uniksa stilo a Mikrosofta Vindoza stilo), atentikada servilo\n"
-"\t (NIS), a datumbaza servilo, ktp. Kiel tia, ne atendu umojn (KDE,\n"
-"\t GNOME, ktp.) estas instalotaj."
-
-#: ../../help.pm_.c:84
-#, fuzzy
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX provos seri PCI-a(j)n SCSI-a(j)n adaptilo(j)n\n"
-"Se DrakX trovas SCSI-an adaptilon kaj scias kiun pelilon i devas uzi\n"
-"i atomate instalos in (a ilin).\n"
-"\n"
-"Se vi havas neniom da SCSI-aj adaptiloj, ISA-an SCSI-an adapilon, a\n"
-"PCI-an SCSI-an adaptilon kiun DrakX ne rekonas DrakX demandos al vi\n"
-"se vi havas SCSI-an adaptilon sur via komputilo. Se vi ne havas adaptilon\n"
-"vi povas nur klaki 'Ne'. Se vi klakos 'Jes', DrakX montros al vi liston de\n"
-"peliloj. Vi povos elekti vian specifan pelilon de la listo.\n"
-"\n"
-"\n"
-"Se vi devas permane elekti vian adaptilon, DrakX demandos\n"
-"u vi deziras specifi opciojn por i. Vi devus permesi al DrakX\n"
-"esplori la aparaton por la opcioj. i tiu kutime bone funkcias.\n"
-"\n"
-"Se ne, vi bezonos provizi opciojn al la pelilo.\n"
-"Reviziu la Instalgvidlibron por sugestoj pri ekstrakado de i tiu\n"
-"informo de Vindozo (se vi havas in sur via komputilo),\n"
-"de dokumentao de aparato, a de la TTT-ejo de la fabrikanto\n"
-"(se vi havas atingon al la reto)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-#, fuzzy
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Nun vi povas elekti la pakaaron kiun vi deziras instali a promocii.\n"
-"\n"
-"Tiam DrakX kontrolos u vi havas sufie da spaco por instali iujn de ili.\n"
-"Se ne, i informas vin pir i. Se vi deziras antaeniri malgrae, i\n"
-"antaeniros je la instalado de iuj de la elektitaj pakaaroj sed lasos\n"
-"fali iujn pakaojn kiujn estas malpli interesaj. Suben de la listo vi\n"
-"povas elekti la opcion \"Elektado de apartaj pakaoj\"; iokaze vi devus\n"
-"foliumi tra pli ol 1000 pakaoj..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-#, fuzzy
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Se vi havas iujn de la KDROM-oj en la listo sube, klaku \"Jes\".\n"
-"Se vi havas neniujn de i tiuj KDROM-oj, klaku \"Nuligu\".\n"
-"Se vi mankas nur iujn de la KDROM-oj, malelektu ilin, kaj poste klaku \"Jes"
-"\"."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Bonvolu elekti la ustan pordon. Ekzemple, la COM1-a\n"
-"pordo sub MS Vindozo estas nomata ttyS0 sub GNU/Linukso."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Nun vi povas enigi telefon-konektajn opciojn. Se vi ne estas certa kio "
-"enigi,\n"
-"vi povas havigi la ustan informon de via interretprovizanto."
-
-#: ../../help.pm_.c:431
-#, fuzzy
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Enigu:\n"
-"\n"
-" - IP-adreson: Se vi ne scias, demandu al via retadministranto.\n"
-"\n"
-"\n"
-" - Retmaskon: \"255.255.255.0\" enerale estas bona elektao. Se vi ne\n"
-"estas certa, demandu al via retadministranto a interretprovizanto.\n"
-"\n"
-"\n"
-" - Atomata IP-adreson: Se via reto uzas BOOTP-an a DHCP-an protokolon,\n"
-"elektu i tiun opcion. Se elektita, neniu valoro estas bezonata en\n"
-"\"IP-adreson\". Se vi ne estas certa, demandu al via retadministranto\n"
-"a interretprovizanto.\n"
-
-#: ../../help.pm_.c:443
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Se via reto uzas NIS, elektu \"Uzu NIS\". Se vi ne scias, demandu al via\n"
-"retadministranto."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Nun vi povas enigi telefon-konektajn opciojn. Se vi ne estas certa kio "
-"enigi,\n"
-"vi povas havigi la ustan informon de via interretprovizanto."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Se vi uzos prokurajn servilojn, bonvolu konfiguri ilin nune. Se vi ne\n"
-"scias u vi uzos prokurajn servilojn, demandu al via retadministranto a\n"
-"interretprovizanto."
-
-#: ../../help.pm_.c:459
-#, fuzzy
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Vi povas instali kriptografian pakaon se via interreta konekto estas uste\n"
-"pretigita. Unue elektu spegulon de kie vi deziras eluti pakaojn kaj "
-"poste\n"
-"elektu la pakaojn por instali.\n"
-"\n"
-"Notu ke vi devas elekti spegulon kaj kriptografiajn pakaojn la la "
-"ledonoj\n"
-"de via lando."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-#, fuzzy
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"Nun vi povas elekti vian horzonon la kie vi loas.\n"
-"\n"
-"\n"
-"GNU/Linukso administras tempon en GMT a \"Grenvia Meza Tempo\" kaj "
-"tradukas in\n"
-"en lokan tempon la la horzono vi elektis."
-
-#: ../../help.pm_.c:479
-#, fuzzy
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Nun vi povas elekti kiujn servojn vi deziras starti kiam vi startas\n"
-"vian komputilon. Kiam via muso estas supre de ero, malgranda balono\n"
-"ekaperas por helpi vin. i priskribas la rolon de la servo.\n"
-"\n"
-"Zorgegu en i tiu pao se vi intencas uzi vian komputilon kiel servilo:\n"
-"ne startu servojn kiujn vi ne deziras uzi."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-#, fuzzy
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Nun vi povas enigi la \"root\" (radiko) pasvorto por via Linuks-Mandrejka\n"
-"sistemo. Vi devas enigi la pasvorton dufoje por konfirmi ke amba fojoj\n"
-"estas identaj.\n"
-"\n"
-"\n"
-"La \"root\"-a uzanto estas la administranto de la sistemo, kaj estas la "
-"sola\n"
-"uzanto permesata ani la sisteman konfiguraon. Tial, elektu i tiun\n"
-"pasvorton zorge! Nepermesata uzado de la \"root\"-a uzanto povas esti\n"
-"treege danera al la sistema integreco kaj dateno, kaj al aliaj sistemoj\n"
-"konektata al i. La pasvorto devus esti miksao de literciferaj signoj kaj\n"
-"almena 8 signoj longa. *Neniam* surpaperigu in. Tamen, ne elektu tro\n"
-"longan a komplikan pasvorton: vi devas povi memori in sen tro multe da\n"
-"peno."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Por ebligi pli sekuran sistemon, vi devus elekti \"ombran dosieron\" kaj\n"
-"\"Uzu MD5-ajn pasvortojn\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Se via reto uzas NIS, elektu \"Uzu NIS\". Se vi ne scias, demandu al via\n"
-"retadministranto."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Nun vi povas krei unu a pli \"ordinara(j)\" uzanto(j), male al la\n"
-"\"privilegia\" uzanto, \"root\". Vi povas krei unu a pli uzanto(j) por\n"
-"iu persono vi deziras permesi uzi la komputilon. Notu ke iu uzanto\n"
-"havos viajn proprajn preferojn (grafikan medion, programajn aranojn,\n"
-"ktp.) kaj ian propran \"hejman dosierujon\", kie i tiuj preferoj estas\n"
-"konservata.\n"
-"\n"
-"\n"
-"Anta io, krei uzanton por vi mem! E se vi estos la sola uzulo e la\n"
-"komputilo, vi ne devus konekti kiel \"root\" por iutaga uzado de la\n"
-"sistemo: i estas tre alta sekureca risko. Fari la sistemon neuzebla\n"
-"estas oftege nur unu misklavo fora.\n"
-"\n"
-"\n"
-"Tial, vi devus konekti al la sistemo per ordinara uzanto vi kreos i tie,\n"
-"kaj saluti kiel \"root\" nur por administraj kaj flegadaj kialoj."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Vi bezonas indiki kie vi deziras meti la informon postulata\n"
-"por starti GNU/Linukson.\n"
-"\n"
-"\n"
-"Krom se vi scias precize kion vi faras, elektu \"Unua sektoro de\n"
-"drajvo (MBR)\""
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Krom se vi scias precize alie, la kutima elekto estas \"/dev/hda\"\n"
-" (unua efa IDE-a disko) a \"/dev/sda\" (unua SCSI-a disko)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (la Linuksa argilo) kaj Grub estas startargiloj: ili povas starti\n"
-"a GNU/Linukson a iun ajn mastruman sistemon eestanta e via komputilo.\n"
-"Normale, i tiuj aliaj mastrumaj sistemoj estas uste detektata kaj\n"
-"instalada. Se tiel ne estas, vi povas aldoni enskribon mane per i tiu\n"
-"ekrano. Zorgu elekti la ustajn parametrojn.\n"
-"\n"
-"\n"
-"Eble vi anka ne deziras doni atingon al i tiuj aliaj mastrumaj sistemoj\n"
-"al iu ajn. iokaze vi povas forstreki la respondajn enskribojn. Sed\n"
-"iokaze, vi bezonos startdiskon por starti ilin!"
-
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILO kaj Grub efaj opcioj estas:\n"
-" - Startaparato: Fiksas la nomon de la aparato (ekz-e subdisko de "
-"fiksdisko)\n"
-"tiu enhavas la startsektoron. Krom se vi scias specife alie, elektu\n"
-"\"/dev/hda\".\n"
-"\n"
-"\n"
-" - Prokrastoperiodo anta starti defaltan sistemon: Elektas la nombron\n"
-"da dekonoj de sekundo ke la startargilo devus atendi anta starti la\n"
-"unuan sistemon. i tiu utilas e sistemoj kiuj tuj startas de la\n"
-"fiksdisko malanta ili ebligas la klavaron. La startargilo ne atendas se\n"
-"\"delay\" (prokrastoperiodo) estas ellasita a estas fiksita al nul.\n"
-"\n"
-"\n"
-" - Grafika reimo: i tiu specifas la VGA tekstan reimon por uzi dum\n"
-"start. La sekvantaj valoroj estas uzeblaj:\n"
-" * normala: elektu normalan 80 per 25 tekstan reimon.\n"
-" * <numero>: uzu la respondan tekstan reimon."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO estas startargilo por Sparc: i povas starti a Linukson a iun ajn\n"
-"mastruman sistemon eestanta e via komputilo. Normale, i tiuj aliaj\n"
-"mastrumaj sistemoj estas uste detektata kaj instalada. Se tiel ne estas,\n"
-"vi povas aldoni enskribon mane per i tiu ekrano. Zorgu elekti la ustajn\n"
-"parametrojn.\n"
-"\n"
-"\n"
-"Eble vi anka ne deziras doni atingon al i tiuj aliaj mastrumaj sistemoj\n"
-"al iu ajn. iokaze vi povas forstreki la respondajn enskribojn. Sed\n"
-"iokaze, vi bezonos startdiskon por starti ilin!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"SILO efaj opcioj estas:\n"
-" - Instalado de Startargilo: Indiki kie vi deziras meti la informon\n"
-"bezonata por start GNU/Linukso. Krom se vi scias specife kion vi faras,\n"
-"elektu \"Unua sektoro de drajvo (MBR)\".\n"
-"\n"
-"\n"
-" - Prokrastoperiodo anta starti defaltan sistemon: Elektas la nombron\n"
-"da dekonoj de sekundo ke la startargilo devus atendi anta starti la\n"
-"unuan sistemon. i tiu utilas e sistemoj kiuj tuj startas de la\n"
-"fiksdisko malanta ili ebligas la klavaron. La startargilo ne atendas se\n"
-"\"delay\" (prokrastoperiodo) estas ellasita a estas fiksita al nul."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Nun estas tempo por konfiguri la X Fenestra Sistemo, kiu estas la kerno\n"
-"de la GNU/Linuksa GUI (Grafika UzulInterfaco). Por tiu celo, vi devas\n"
-"konfiguri vian grafikan karton kaj ekranon. La plejparto de i tiuj paoj\n"
-"estas atomatitaj, tamen, do via laboro eble konsistos en konfirmi kion\n"
-"estis farata kaj akcepti la aranojn. :)\n"
-"\n"
-"\n"
-"Kiam la konfigurado estas kompleta, X lanios (krom se vi demandas al\n"
-"DrakX ne fari tion) pro ke vi kontrolu in la observu se la aranojn\n"
-"tagas por vi. Se ne, vi povas reveni kaj ani ilin, tiom da tempoj kiom\n"
-"estas necesa."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Se iu misas en la X-a konfigurao, uzu i tiujn opciojn por uste konfiguri\n"
-"la X Fenestran Sistemon."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Se vi preferas uzi grafikan saluton, elektu \"Jes\". Aliokaze, elektu \"Ne"
-"\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Via sistemo restartos.\n"
-"\n"
-"Post restartado, via nova Linuks-Mandrejka sistemo argios atomate. Se "
-"vi\n"
-"deziras starti en alian ekzistanta mastruman sistemon, bonvole legu la\n"
-"pluan instrukcion."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Elektu vian lingvon"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Elektu instalklason"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Detektado de fiksdisko(j)"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Konfiguru muson"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Elektu vian klavaron"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Dosiersistemo konfiguro"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formatu subdiskojn"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Elektu pakaojn"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Instalu sistemon"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Difinu pasvorton de root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Aldonu uzulon"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Konfiguru retumon"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Konfiguru servojn"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Kreu praargdisketon"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Instalu restart-argilon"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Konfiguru X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Eliru instalprogramon"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Enovu disketon en drajvo %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Eraro dum legi dosiero $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Jeso"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Bonvole, provu la muson"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-#, fuzzy
-msgid "To activate the mouse,"
-msgstr "Bonvole, provu la muson"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "MOVU VIAN RADON!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Iuj aparatoj sur via komputilo bezonas \"proprietajn\" pelilojn por "
-"funkcii.\n"
-"Vi povas trovi iun informon pri ili e: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Vi devas havi radikan subdiskon.\n"
-"Por i tiu, kreu subdiskon (a klaku estantan).\n"
-"Sekve elektu la agon \"Surmetingo\" kaj faru in '/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Vi devas havi interanan subdiskon"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Vi ne havas interanan subdiskon\n"
-"\n"
-"u vi deziras dari tamen?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Uzu liberan spacon"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Mankas sufian da libera spaco por disponigi novajn subdiskojn"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Uzu ekzistantajn subdiskojn"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Ne ekzistas subdiskojn por uzi"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Uzu la Vindoza subdiskon por retrokonektado"
-
-#: ../../install_interactive.pm_.c:90
-#, fuzzy
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Kiun subdiskon vi deziras uzi por meti Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Elektu la grandecojn"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Radikosubdiska grandeco en MB: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Interana subdiska grandeco en MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Uzu la liberan spacon sur la Vindoza subdisko"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Kiun subdiskon vi deziras regrandecigi?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Kalkulas Vindozajn dosiersistemajn limojn"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"La regrandecigilo por la FAT (Dosiero-Atingo-Tablo) ne povas trakti\n"
-"vian subdiskon, la sekvanta eraro okazis: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Via Vindoza subdisko estas tro fragmentigata, bonvole uzu ``defrag'' antae"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"AVERTO!\n"
-"\n"
-"DrakX nun regrandecigas vian Vindozan subdiskon. Zorgu: i tiu operacio "
-"estas\n"
-"danera. Se vi ne jam faris in, vi devus antae eliru el la instalado, "
-"uzi\n"
-"\"scandisk\" sub Vindozo (kaj lavole \"defrag\"), kaj sekve relanu la\n"
-"instaladon. Anka vi devus fari rezervan kopion de via dateno.\n"
-"Kiam vi estas certa, klaku \"Jeso\"."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Kiun grandecon vi deziras teni por Vindozo?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "subdisko: %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Regrandecio de FAT malsukcesis: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Ne ekzistas FAT-ajn (Dosiero-Atingo-Tablo) subdiskojn por regrandecigi\n"
-"a uzi kiel retrokonektaj subdiskoj (a ne estas sufia da spaco)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Forviu la tutan diskon"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Forigu Vindozon"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Vi havas pli ol unu fiksdisko, sur kiu vi deziras instali Linukson?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-"iuj ekzistantaj subdiskoj kaj iliaj datenoj estos perdata sur drajvo %s"
-
-#: ../../install_interactive.pm_.c:165
-#, fuzzy
-msgid "Custom disk partitioning"
-msgstr "Uzu ekzistantajn subdiskojn"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Uzu fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Nun vi povas dispartigi %s.\n"
-"Kiam vi finios, ne forgesu savi kun `w'."
-
-#: ../../install_interactive.pm_.c:201
-#, fuzzy
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Uzu la liberan spacon sur la Vindoza subdisko"
-
-#: ../../install_interactive.pm_.c:217
-#, fuzzy
-msgid "I can't find any room for installing"
-msgstr "Mi ne povas aldoni plu da subdiskoj"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "La Dispartigsorilo de DrakX trovis i tiujn solvojn:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Dispartigado malsukcesis: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Startado de la reto"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Haltas de la reto"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Eraro okazis, sed mi ne scias kiel trakti in bone.\n"
-"Dari je via propra risko."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Duobla surmetingo %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Iuj gravaj pakaoj ne estis tage instalata.\n"
-"A via KDROM drajvo a via KDROM disko estas difektita.\n"
-"Kontrolu la KDROM sur instalata komputilo per\n"
-"\"rpm -qpl Mandrake/RPMS/*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Bonvenon al %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Neniu disketilo havebla"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Eniras paon `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Elektu la grandecon kiu vi deziras instali"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Tuta grandeco: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Versio: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Grandeco: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Elektu la pakaojn kiuj vi deziras instali"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Informo"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Instalu"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Instalanta"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Bonvolu atendi"
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Tempo restanta "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Tuta tempo "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Preparas instaladon"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Instalanta pakao %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "u vi deziras dari tamen?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Estis eraro ordigi pakaojn:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Uzu ekzistantan konfiguron de X11 (X-fenestroj)?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Via sistemo havas malmulte da risurcoj. Eble vi havos problemojn pri\n"
-"instali Linuks-Mandrejkon. Se tio okazos, vi povos anstata provi tekstan\n"
-"instaladon. Por i tio, premu `F1' kiam vi startas de KDROM, kaj sekve\n"
-"tajpu `text'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Bonvole, elektu unu el la sekvantaj specoj de instalado:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "La totala grandeco de la grupoj vi elektis estas proksimume %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Se vi volas instali malpli ol i tiu grandeco,\n"
-"elektu la procenton el la pakaoj kiuj vi deziras instali.\n"
-"\n"
-"Malalta procento instalos nur la plej gravajn pakaojn;\n"
-"100%% instalos iujn pakaojn."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Vi havas spacon e via disko por nur %d%% da i tiuj pakaoj.\n"
-"\n"
-"Se vi deziras instali malpli ol tiom,\n"
-"elektu la procenton el la pakaoj kiun vi deziras instali.\n"
-"Malalta procento instalos nur la plej gravajn pakaojn;\n"
-"%d%% instalos tiom pakaojn kiom eblajn."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Vi povos elekti ilin pli precize en la sekvanta pao."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Procento da pakaoj por instali"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Elektado de Pakaaj Grupoj"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Elektado de individuaj pakaoj"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Etendu Arbon"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Maletendu Arbon"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "anu inter ebena kaj ordigita je grupoj"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Malbona pakao"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nomo: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Graveco: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Tuta grandeco: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Vi ne povas elekti i tiun pakaon ar ne estas sufie da spaco por instali\n"
-"in."
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "La sekvaj pakaoj estos instalataj"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "La sekvaj pakaoj estos malinstalataj"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Vi ne povas elektu/malelektu i tiun pakaon"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "i tiu estas deviga pakao, vi ne povas malelekti in"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Vi ne povas malelekti i tiun pakaon. i estas jam instalita."
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"i tiu pakao devus esti promociata.\n"
-"u vi certas ke vi deziras malelekti in?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Vi ne povas malelekti i tiun pakaon. i devus esti promociata."
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Taksas"
-
-#: ../../install_steps_gtk.pm_.c:582
-#, fuzzy
-msgid "Please wait, preparing installation"
-msgstr "Preparas instaladon"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d pakaoj"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Akceptu"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Malakceptu"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"anu vian KDROM!\n"
-"\n"
-"Bonvole, enovu la KDROM-on etikedatan \"%s\" en via drajvo kaj klaku \"Jes"
-"\"\n"
-"kiam vi finos.\n"
-"Se vi ne havas in, klaku \"Nuligu\" por eviti la instaladon de i tiu KDROM."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Estis eraro dum instalado de pakaoj:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Eraro okazis"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Bonvole, elektu lingvon por uzi."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-"Vi povas elektu aliajn lingvojn kiujn estos uzeblaj malanta la instalado"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "iuj"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Licenca kontrakto"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Klavaro"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Bonvole, elektu vian klavaran aranon."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Instalklaso"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Kiun instalklaso deziras vi?"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Install/Update"
-msgstr "Instalu"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Is this an install or an update?"
-msgstr "u tiu i estas instalado a savado?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Rekomendata"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Spertulo"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "isdatigu"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Bonvole, elektu la specon de via muso."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Muspordo"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Bonvole, elektu al kiu seria pordo estas via muso konektata."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Konfiguras PCMCIA kartojn..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Konfiguras IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "neniuj haveblaj subdiskoj"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Elektu surmetingojn"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Mi ne povas legi vian subdisktabelon, i estas tro difektita por mi :(\n"
-"Mi povas peni dari per blankigi difektitajn subdiskojn (IOM DA DATUMO\n"
-"pereos!). La alia solvo estas malpermesi al DrakX ani la subdisktabelon.\n"
-"(la eraro estas %s)\n"
-"\n"
-"u vi konsentas perdi iujn subdiskojn?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake malsukcesis uste legi la subdisktabelon.\n"
-"Dari je via propra risko!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Radikosubdisko"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Kiu estas la radikosubdisko (/) e via sistemo?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Vi bezonas restarti por la anoj al la subdisktabelo efektivigi"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Elektu la subdiskoj kiuj vi deziras formati"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "u kontrolas malbonajn blokojn?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Formatas subdiskojn"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Kreas kaj formatas dosieron %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Nesufia interanospaco por plenumi instalado, bonvolu aldoni iom"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Seras haveblajn pakaojn"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Trovadas pakaojn por promocii"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Via komputilo ne havas sufie da spaco por instalado a promocio (%d > %d)."
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Kompleta (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimuma (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Rekomendata (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Akomodata"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Se vi havas iujn de la KDROM-oj en la listo sube, klaku \"Jes\".\n"
-"Se vi havas neniujn de i tiuj KDROM-oj, klaku \"Nuligu\".\n"
-"Se vi mankas nur iujn de la KDROM-oj, malelektu ilin, kaj poste klaku \"Jes"
-"\"."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "KDROM etikedata \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Instalas pakao %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Post-instala konfigurado"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Nun vi havas la ancon eluti softvaron por ifrado.\n"
-"\n"
-"AVERTO:\n"
-"\n"
-"Pro malsamaj eneralaj kondioj aplikeblaj al i tiu softvaro kaj trudata\n"
-"de diversaj jurisdikcioj, la kliento kaj/a fina uzanto de tiu softvaro\n"
-"devus certigi ke la leoj de lia/ilia jurisdikcio permesas li/ili eluti,\n"
-"stoki kaj/a uzi tiun softvaron.\n"
-"\n"
-"Plue, la kliento kaj/a fina uzanto scios specife atentos ne malobei la\n"
-"leojn de lia/ilia jurisdikcio. Se la kliento kaj/a la fina uzanto\n"
-"malobeas tiujn aplikeblajn leojn, li/ili altiros sur sin gravajn "
-"sankciojn.\n"
-"\n"
-"Neniuokaze a Mandrakesoft a iaj fabrikistoj responsigos por specialaj,\n"
-"nerektaj a hazardaj reparacioj kiuj ajn (inkluzive, sed ne limigite al\n"
-"perdo de profitoj, interrompo de komerco, perdo de komerca dateno kaj\n"
-"aliaj monaj malprofitoj, kaj rezultaj uldoj kaj indemizo pagenda konforme\n"
-"al prijuo) rezulte el uzado, posedado, a sole elutado de tiu softvaro, "
-"al\n"
-"kiu la kliento kaj/a fina uzanto ne povis atingi post subskribi la nunan\n"
-"kontrakton.\n"
-"\n"
-"Por iuj demandoj rilate al tiu kontrakto, bonvole demandu de\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Elektu spegulon de kiu havigi la pakaojn"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Kontaktu la spegulon por havigi la liston de havebla pakaoj"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Bonvole, elektu la pakaojn kiujn vi deziras instali."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "kio estas vian horzonon?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "u via hardvara horloo estas ustigata en GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Malproksima CUPS-a servilo"
-
-#: ../../install_steps_interactive.pm_.c:807
-#, fuzzy
-msgid "No printer"
-msgstr "Nomo de printilo"
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr "Movu"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Printilo"
-
-#: ../../install_steps_interactive.pm_.c:826
-#, fuzzy
-msgid "ISDN card"
-msgstr "Interna ISDN-karto"
-
-#: ../../install_steps_interactive.pm_.c:829
-#, fuzzy
-msgid "Sound card"
-msgstr "Lanorma"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Kiun printsistemo vi deziras uzi?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Neniu pasvorto"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"i tiu pasvorto ests tro simpla (i devas esti almena %d signoj longa)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Uzu NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "flavaj paoj"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Atentikigado NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS Domajno"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS Servilo"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Akomodita startdisketo provizas manieron de starti via Linuksa sistemo\n"
-"sendepende de la normala startargilo. i tiu estas utila se vi ne deziras\n"
-"instali SILO sur via sistemo, a alia mastruma sistemo forigas SILO,\n"
-"a SILO ne funkcias kun via aparato-konfigurao. Akomodita startdisketo "
-"anka\n"
-"povas esti uzata kun la Mandrejka savdisko, kiu plifaciligas resanii de\n"
-"severaj sistemaj paneoj.\n"
-"\n"
-"Se vi deziras krei startdisketon por via sistemo, enovu disketon en la\n"
-"unua drajvo kaj klaku \"JES\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Unua disketa drajvo"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Dua disketa drajvo"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Ellasu"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Akomodita startdisketo provizas manieron de starti via Linuksa sistemo\n"
-"sendepende de la normala startargilo. i tiu estas utila se vi ne deziras\n"
-"instali LILO (a grub) sur via sistemo, a alia mastruma sistemo forigas "
-"LILO,\n"
-"a LILO ne funkcias kun via komputilo. Akomodita startdisketo anka povas\n"
-"esti uzata kun la Mandrejka savdisko, kiu plifaciligas resanii de severaj\n"
-"sistemaj paneoj. u vi deziras krei startdisketo por via sistemo?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Bedarinde, neniu disketdrajvo havebla"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Elektu la disketdrajvo vi deziras uzi por krei la startdisketon"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Enovu disketon en drajvo %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Kreas startdisketon"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Preparas startargilon"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "u vi deziras uzi aboot-on?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Eraro dare mi instalis \"aboot\",\n"
-"u mi devus provi perforte instali e se tio detruas la unuan subdiskon?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Instalado de startargilo malsukcesis. La sekvanta eraro okazis:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Malalta"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Meza"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Alta"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Elektu sekurnivelon?"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "u vi deziras krei atoinstalan disketon por replikado de Linukso?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Enovu malplenan disketon en drajvo %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Kreas atoinstalan disketon"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr "Kreas atoinstalan disketon"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Automated"
-msgstr "Atomata IP"
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr "Reargu"
-
-#: ../../install_steps_interactive.pm_.c:1189
-#, fuzzy
-msgid "Save packages selection"
-msgstr "Elektado de individuaj pakaoj"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linuks-Mandrejka Instalado %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr " <Tabo>/<Alt-Tabo> inter eroj | <Spaco> elektas | <F12> sekva ekrano "
-
-#: ../../interactive.pm_.c:65
-#, fuzzy
-msgid "kdesu missing"
-msgstr "forsendu"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Bonvole atendu"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Ambigueco (%s), esti pli preciza\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Malbona elektao, provu denove\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (defalto estas %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Via elektao? (defalo estas %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Via elektao (defalto estas %s enigu `neniu' por elekti neniu) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "ea (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Germana"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak-a"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Hispana"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finna"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Franca"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norvega"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Pola"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Rusa"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Unuiinta Regna klavaro"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Usona klavaro"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armena (malnova)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armena (skribmaina)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armena (fonetika)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbajana (latina)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbajana (cirila)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belga"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgara"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brazila"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Belarusa"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Svisa (germana arano)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Svisa (franca arano)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "ea (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Germana (neniom da mortaj klavoj)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Dana"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak-a (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak-a (Norvega)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estona"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Kartvela (\"Rusa\" arano)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Kartvela (\"Latina\" arano)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Greka"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hungara"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroata"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israela"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israela (fonetika)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Irana"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islanda"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Itala"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japana 106 klavoj"
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr "Unuiinta Regna klavaro"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latinamerika"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Nederlanda"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Litova AZERTY-a (malnova)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Litova AZERTY-a (nova)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Litova \"numero-vica\" QWERTY-a"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Litova \"fonetika\" QWERTY-a"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Pola (qwerty arano)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Pola (qwertz arano)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugala"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanada (Kebeka)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Rusa (Yawerty-a)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Sveda"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovena"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovaka (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovaka (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Taja klavaro"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turka (tradicia \"F\" modelo)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turka (moderna \"Q\" modelo)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrajna"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Usona klavaro (internacia)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vjetnama \"numero-vica\" QWERTY-a"
-
-#: ../../keyboard.pm_.c:207
-#, fuzzy
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoslava (Latina arano)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - Muso"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Lanorma"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Loiteka MouseMan+"
-
-#: ../../mouse.pm_.c:33
-#, fuzzy
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Nespecifa 2 Butona Muso"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-#, fuzzy
-msgid "1 button"
-msgstr "2 butonoj"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Genera"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Rado"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "seria"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Nespecifa 2 Butona Muso"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Nespecifa 3 Butona Muso"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Mikrosofta IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Loiteka MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Loiteka CC serio"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Loiteka MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Serio"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Loiteka Muso (seria, malnova C7 speco)"
-
-#: ../../mouse.pm_.c:65
-#, fuzzy
-msgid "busmouse"
-msgstr "Neniu Muso"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 butonoj"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 butonoj"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "neniu"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Neniu Muso"
-
-#: ../../my_gtk.pm_.c:356
-#, fuzzy
-msgid "Finish"
-msgstr "Finna"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Sekvanta ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "u tio i pravas?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Interreta Konfigurado"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "u vi deziras provi konekti al la interreto nun?"
-
-#: ../../netconnect.pm_.c:148
-#, fuzzy
-msgid "Testing your connection..."
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid "The system is now connected to Internet."
-msgstr "Kiel vi deziras konekti al la Interreto?"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr "Konektu al la Interreto / Konfiguru lokan Reton"
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-#, fuzzy
-msgid "Network Configuration"
-msgstr "ISDN-a Konfiguraon"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN-a Konfiguraon"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Elektu vian interretprovizanton.\n"
-" Se in ne estas en la listo, elektu Nelistiitan"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Konfigurado de Konekto"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Bonvole plenigu a marku la suban kampon"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ de Karto"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Memoro de Karto (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "I/O (Eneligo) de Karto"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "I/O 0 (Eneligo 0) de Karto"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "I/O 1 (Eneligo 1) de Karto"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Via persona telefonnumero"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Nomo de interretprovizanto (ekz-e provizanto.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Telefonnumero de interretprovizanto"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Provizanto DNS 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Provizanto DNS 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Diskuma modalo"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Konta Salutnomo (uzula nomo)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Konta Pasvorto"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Eropo"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Eropo (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "La cetero de la mondo"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"La cetero de la mondo \n"
-" neniom da D-Kanelo (lukontraktataj lineoj)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Kiun protokolon vi deziras uzi?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Kiun specon de karto vi havas?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Mi ne scias"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Se via havas ISA-an karton, la valoro sur la sekvanta ekrano devus esti "
-"usta.\n"
-"\n"
-"Se vi havas PCMCIA-an karton, vi bezonas scii la IRQ-o kaj I/O (Eneligo)\n"
-"por via karto.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "esigu"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "u mi devus dari?"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Kiu estas via ISDN-a karto?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Mi detektis ISDN-an PCI-an Karton, sed mi ne scias la specon. Bonvole "
-"elektu\n"
-"unu el la PCI-aj kartojn sur la sekvanta ekrano."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Neniu ISDN-a PCI-a karto trovata. Bonvole elektu unu el la PCI-aj kartojn "
-"sur\n"
-"la sekvanta ekrano."
-
-#: ../../netconnect.pm_.c:371
-#, fuzzy
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Mi ne detektas eterretan retadaptilom sur via sistemo. Bonvole lanu la\n"
-"aparatokonfigurilon."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Elektu la retan interfacon"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Bonvole elektu kiun retadaptilon vi deziras uzi por konekti al la interreto"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Reta interfaco"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"u vi konsentas?"
-
-#: ../../netconnect.pm_.c:386
-#, fuzzy
-msgid "I'm about to restart the network device:\n"
-msgstr "u vi deziras provi la konfiguraon?"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL Konfigurao"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "u vi deziras starti vian konektaon je startado de la sistemo?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Bonvole, elektu al kiu seria pordo estas via modemo konektata?"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Telefon-konektaj opcioj"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Nomo de konekto"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefonnumero"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Salutnomo"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Atentikigado"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP (Pasvorta Atentikigada Protokolo)"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Programeto-bazata"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Finaparato-bazata"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Domajna nomo"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr "Unu DNA-a Servilo"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr "Dua DNA Servilo"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../netconnect.pm_.c:745
-#, fuzzy
-msgid "You are currently connected to internet."
-msgstr "Kiel vi deziras konekti al la Interreto?"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr "Konektu al la Interreto / Konfiguru lokan Reton"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid "You are not currently connected to Internet."
-msgstr "Kiel vi deziras konekti al la Interreto?"
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-#, fuzzy
-msgid "Connect to Internet"
-msgstr "Konekti al la interreto"
-
-#: ../../netconnect.pm_.c:754
-#, fuzzy
-msgid "Disconnect from Internet"
-msgstr "Malkonekti el la interreto"
-
-#: ../../netconnect.pm_.c:756
-#, fuzzy
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Interreta konektao kaj konfiguro"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr "ISDN-a Konfiguraon"
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "External ISDN modem"
-msgstr "Interna ISDN-karto"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Interna ISDN-karto"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Kia estas via ISDN-a konektao?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Konektu al la Interreto"
-
-#: ../../netconnect.pm_.c:834
-#, fuzzy
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"La plej ofte uzata maniero por konekti kun ADSL estas dhcp + pppoe.\n"
-"Tamen, ekzistas konektojn kiuj nur uzas dhcp.\n"
-"Se vi ne scias, elektu 'uzu pppoe'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "uzu pppoe"
-
-#: ../../netconnect.pm_.c:836
-#, fuzzy
-msgid "use pptp"
-msgstr "uzu pppoe"
-
-#: ../../netconnect.pm_.c:846
-#, fuzzy, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "u vi deziras provi la konfiguraon?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Kiun dhcp-an klienton vi deziras uzi?\n"
-"La defalto estas dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-#, fuzzy
-msgid "Network configuration"
-msgstr "ISDN-a Konfiguraon"
-
-#: ../../netconnect.pm_.c:901
-#, fuzzy
-msgid "Do you want to restart the network"
-msgstr "u vi deziras provi la konfiguraon?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "u vi deziras provi la konfiguraon?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr "Elektu la defaltan uzulon:"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Detektas aparatojn..."
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy
-msgid "Normal modem connection"
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr "Duobla surmetingo %s"
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy
-msgid "DSL (or ADSL) connection"
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy, c-format
-msgid "detected on interface %s"
-msgstr "Reta interfaco"
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr "ADSL Konfigurao"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Kiel vi deziras konekti al la Interreto?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "neniu retkarto trovita"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Konfiguras reto"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Bonvole enigu vian potejon se vi scias in.\n"
-"Iuj DHCP-aj serviloj bezonas potejon por funkcii.\n"
-"Via potejo devus esti plene specifita potejo,\n"
-"ekzemple ``miakomputilo.mialaborejo.miafirmao.com''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Potejo"
-
-#: ../../network.pm_.c:319
-#, fuzzy
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"AVERTO: i tiu aparato estis antae konfigurata por konekti al la "
-"Interreto.\n"
-"Simple klaki JES por teni la konfiguron de i tiu aparato.\n"
-"Se vi modifos la subajn kampojn, vi anos i tiun konfiguron."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Bonvole enigu la IP-an konfigurjon por i tiu komputilo.\n"
-"iu ero devus esti enigata kiel IP-adreson en punktita-decimala notacio\n"
-"(ekzemple, 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Konfiguras retan aparaton %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP-adreso"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Retmasko"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Atomata IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP-adreso devus esti en la notacio 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Bonvole enigu vian potejon.\n"
-"Via potejo devus esti plene specifita potejo,\n"
-"ekzemple ``miakomputilo.mialaborejo.miafirmao.com''.\n"
-"Vi anka povas enigi la IP-adreson de la prokura kluzo se via havas unu."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNA servilo"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Kluzo"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Prokura kluzaparato"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Konfigurado de prokuraj serviloj"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP prokura servilo"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP prokura servilo"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Prokura servilo devus esti http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Prokura servilo devus esti ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "i tiu platformo ne subtenas etendatajn subdiskojn"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Vi havas truon en via subdisktabelo sed mi ne povas uzi in.\n"
-"La sola solvo estas movi viajn efajn subdiskojn por situigi la truon\n"
-"apud la etendataj subdiskoj."
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Eraro legante dosiero %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Restaris el dosiero %s malsukcesis: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Malbona rezerva dosiero"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Eraro skribante al dosiero %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "havenda"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "grava(j)"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "tre agrabla(j)"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "agrabla(j)"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "elbe"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Loka printilo"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Malproksima printilo"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Malproksimaj lpd servilo"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Reta Printilo (ingo)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Vindozo 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Printila Aparato URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Provu pordojn"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Printilo, tipo \"%s\", estas detektita e "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Loka Printila Aparato"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Al kiu aparato estas via printilo konektata\n"
-"(notu ke /dev/lp0 egalas LPT1:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Printila Aparato"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Malproksimaj lpd Printilaj Opcioj"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Por uzi malproksima lpd printvico, vi devas provizi la potejon de la\n"
-"printservilo kaj la printviconomon e tiu servilo en kiun taskoj devus\n"
-"esti metata."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Malproksima potejo"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Malproksima printvico"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Vindozo 9x/NT) Printilaj Opcioj"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Por printi al SMB-a printilo, vi devas provizi la SMB potejon (Notu! i "
-"eble\n"
-"estas malsama de ia TCP/IP nomo!) kaj eble la IP-adreson de la "
-"printservilo,\n"
-"aldone al la opuzan nomon de la printilo vi deziras atingi kaj iun ajn\n"
-"tagan salutnomon, pasvorton, kaj laborgrupan informon."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Potejo de SMB servilo"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP de SMB servilo"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Opuza nomo"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Laborgrupo"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "NetWare Printilaj Opcioj"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Por print al NetWare printilo, vi devas provizi la NetWare printservilan\n"
-"nomon (Notu! i eble estas malsama de ia TCP/IP nomo!) aldone al la\n"
-"printvican nomon por la printilo vi deziras atingi kaj iun ajn tagan\n"
-"salutnomon kaj pasvorton."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Printservilo"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Printvica Nomo"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Ing-Printilaj Opcioj"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Por printi al inga printilo, vi bezonas provizi la\n"
-"potejon de la printilo kaj opcie la pordnumeron."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Printilaj Potejo"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Pordo"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Vi povas specifi rekte la URI por atingi la printilon per CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Kiun specon de printilo vi havas?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "u vi deziras provi printado?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Printas provpao(j)n..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Provpao(j)n estis sendataj al la printila demono.\n"
-"i tiu eble postulas iom da tempo anta ol la printilo komencas.\n"
-"Printada stato:\n"
-"%s\n"
-"\n"
-"u i uste funkcias?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Provpao(j)n estis sendataj al la printila demono.\n"
-"i tiu eble postulas iom da tempo anta ol la printilo komencas.\n"
-"u i uste funkcias?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Jes, printu Askian provpaon"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Jes, printu PostSkriban provpaon"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Jes, printu amba de la provpaojn"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Konfiguru Printilon"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Printilaj opcioj"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Papergrandeco"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Eletu paon post tasko?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Uniprint-aj pelilaj opcioj"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Kolorprofunecaj opcioj"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Printu tekston kiel PostScripto?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Riparu tuparan tekston?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Nombro de paoj en eliga pao"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr ""
-"Dekstra/Maldrekstra marenoj en punktoj (1/72 de colo, proksimume 1/3 mm)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Supra/Malsupra marenoj en punktoj (1/72 de colo, proksimume 1/3 mm)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Aldonaj GhostScript-aj opcioj"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Aldonaj Tekstaj opcioj"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Inversigu ordon de paoj"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "u vi deziras konfiguri printilon?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Jen la sekvantaj printvicoj.\n"
-"Vi povas aldoni pli a ani la ekzistantajn."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS startas"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Legas datumbason de CUPS peliloj..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Elektu Printilan Konekton"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Kiel estas la printilo konektata?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Elektu Malproksiman Printilan Konekton"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Kun malproksima CUPS servilo, vi ne devas konfiguri iun printilon\n"
-"i tie; printiloj estos atomate dektektataj. Se vi havas dubojn,\n"
-"elektu \"Malproksima CUPS servilo\"."
-
-#: ../../printerdrake.pm_.c:416
-#, fuzzy
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Kun malproksima CUPS servilo, vi ne devas konfiguri iun printilon\n"
-"i tie; printiloj estos atomate dektektataj. Se vi havas dubojn,\n"
-"elektu \"Malproksima CUPS servilo\"."
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr "IP de SMB servilo"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Malinstalu printvicon"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"iuj printilo bezonas nomon (ekzemple lp).\n"
-"Aliaj parametroj, ekzemple la priskribon de la printilo a ian lokon\n"
-"vi povas difini. Kiu nomo devus uzata por i tiu printilo kaj kiel\n"
-"i estas konektata?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Nomo de printilo"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Priskribo"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Loko"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"iuj printvico (al kiu printajn taskojn estas direktata) bezonas nomon\n"
-"(ofte lp) kaj fonan eneligan dosierujon asociata kun i. Kiu nomo kaj\n"
-"dosierujo devus uzata por i tiu printvico?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Nomo de printvico"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Fona eneliga dosierujo"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Printilan Konekton"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Ne povas aldoni subdiskon al _formatita_ RAID md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Ne povas skribi dosieron $file."
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid malsukcesis"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid malsukcesis (eble raidtools mankas)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Ne estas sufiaj subdiskoj por RAID nivelo %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, perioda ordonvicigilo."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd estas uzata por monitori la bateriostaton kaj registri in en la\n"
-"sistemlogdosiero (syslog). Vi anka povas uzi in por halti la komputilon\n"
-"kiam la baterioargo estas malgranda."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Lanas ordonojn vicigitajn per la 'at' ordono je la horo specifita kiam\n"
-"'at' estis uzata, kaj lanas baajn ordonojn kiam la argmezo estas\n"
-"sufie malgranda."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron estas norma Uniksa programo kiu lanas programojn kiujn la uzulo\n"
-"specifas je periodaj tempoj. vixie cron aldonas kelkajn trajtojn al la\n"
-"baza Uniksa cron, inkluzive de pli bona sekureco kaj pli fortaj\n"
-"konfiguraj opcioj."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM aldonas subtenon por musoj al teksta-reimaj Linuksaj aplikoj ekzemple\n"
-"la 'Midnight Commander' (Meznokta Estro). Anka i permesas uzi la muson\n"
-"por transpoigi e la konzolo (Sen X Fenestroj)."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache estas Tut-Tera Teksaa servilo. i liveras HTML-ajn dosierojn\n"
-"kaj CGI (komuna\tkluza interfaco)."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"La interreta superservila demono (kutime nomata inetd) lanas sortimenton\n"
-"da aliaj interretaj servoj labezone. i respondas por la lano de multaj\n"
-"servoj, inkluzive de telnet, ftp, rsh, kaj rlogin. Se vi malaltas inetd,\n"
-"ve malaltas iujn el la servoj por kiuj i respondas."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"i tiu pakao argas la elektitan klavarmapon la /etc/sysconfig/keyboard.\n"
-"Vi povas elekti i tion per la kbdconfig utilprogramo. Vi lasus i tion\n"
-"ebligatan por la plejmulto da sistemoj."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd estas la printvica dajmono bezonata por lpr tage funkcii. i estas\n"
-"baze servilo kiu arbitracias printajn taskojn al printilo(j)."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"'named' (BIND) estas Domajna NomServilo (DNS) kiun vi uzas por trovi\n"
-"potejojn de IP adresoj."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Muntas kaj malmuntas iujn RetDosierSistemajn (NFS), SMB (Lan\n"
-"Manager/Vindozaj), kaj NCP (NetWare) surmetingojn."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"altas/Malaltas iujn retajn interfacojn konfiguratajn por lani\n"
-"dum sistemstartado."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS estas populara protokolo por dosierdistribuado tra TCP/IP retoj.\n"
-"i tiu servo provizas NFS dosierlosado, kiun vi konfiguras per la\n"
-"/etc/exports dosiero."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS estas populara protokolo por dosierdistribuado tra TCP/IP retoj.\n"
-"i tiu servo provizas NFS dosierlosado."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA subteno kutime estas subteno de ao kiel ethernet kaj modemoj en\n"
-"tekkomputiloj. i ne estos lanata krom se vi konfiguras i por ke i\n"
-"estu sendanera e komputiloj kiuj ne bezonas in."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"La pordmapilo direktas RPC konektojn, kiujn protokoloj kiel NFS kaj NIS "
-"uzas.\n"
-"La pordmapservilo devas esti uzata e komputiloj kiuj agas kiel serviloj\n"
-"por protokoloj kiuj uzas la RPC mekanismon."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"\"Postfix\" estas PotTransportPerilo, kiu estas la programo kiu movas\n"
-"retpoton de unu komputilo al alia."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Savas kaj restaras sisteman entropikomunaon por pli altkvalita\n"
-"generado de aleatoraj nombroj."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"La routed dajmono permesas atomatan isdatigon de la IP enkursigila tabelo\n"
-"per la RIP protokolo. Kvankam RIP estas vaste uzata je malgrandaj retoj,\n"
-"pli malsimplaj enkursigaj protokoloj estas bezonataj por malsimplaj retoj."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"La rstat protokolo permesas al uzuloj sur reto ekstrakti metrikojn\n"
-"pri la rapideco de iu ajn komputilo sur tiu reto."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"La ruser protokolo permesas al uzuloj sur reto identigi kiujn estas\n"
-"konektataj e aliaj respondantaj komputiloj."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"La rwho protokolo permesas al uzuloj havigi liston de iuj el la uzuloj\n"
-"konektataj e komputilo kiu estas uzanta la rwho dajmono (simila al finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog (sistemlogilo) estas la rimedo per kiu multaj dajmonoj registras\n"
-"mesaojn al diversaj sistemlogdosieroj. i estas bona ideo iam uzi\n"
-"syslog."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-"Startas kaj esigas la X Tiparan Servilon je starttempo kaj esiga tempo."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Elektu kiujn servojn devus atomate startata e starta tempo"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr "Averto"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "stopped"
-msgstr "Alfiksu"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-#, fuzzy
-msgid "On boot"
-msgstr "Radiko"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Mi ne povas legi vian subdisktabelon, i estas tro difektita por mi :(\n"
-"Mi penos dari per blankigi difektitajn subdiskojn"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Disdividado de Interreta Konekto"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Disdividado de Interreta Konekto nuntempe kapabligata"
-
-#: ../../standalone/drakgw_.c:119
-#, fuzzy
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"La konfigurado de la disdividado de la Interreta konekto jam estas farita.\n"
-
-#: ../../standalone/drakgw_.c:123
-#, fuzzy
-msgid "disable"
-msgstr "Tabelo"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "forsendu"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "rekonfiguru"
-
-#: ../../standalone/drakgw_.c:126
-#, fuzzy
-msgid "Disabling servers..."
-msgstr "Detektas aparatojn..."
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr "Disdividado de Interreta Konekto nuntempe malkapabligata"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Disdividado de Interreta Konekto nuntempe malkapabligata"
-
-#: ../../standalone/drakgw_.c:144
-#, fuzzy
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"La konfigurado de la disdividado de la Interreta konekto jam estas farita.\n"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "ebligu"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr "Disdividado de Interreta Konekto nuntempe kapabligata"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Mi ne povas kompreni la enhavon de la konfigurodosiero."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-#, fuzzy
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Nun kiam via Interreta konekto estas konfigurata,\n"
-"vi povas konfiguri vian komputilon por disdividi ian Interretan konekton.\n"
-"Notu: vi bezonas dedian Retadaptilon por konfiguri Lokan Reton (LAN).\n"
-"\n"
-"u vi deziras konfiguri Disdividadon de Interreta Konekto?\n"
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "Interreto"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Via komputilo ne havas retadaptilon!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Mi ne detektas eterretan retadaptilom sur via sistemo. Bonvole lanu la\n"
-"aparatokonfigurilon."
-
-#: ../../standalone/drakgw_.c:224
-#, fuzzy, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Ekzitas nur unu konfigurita retadaptilo sur via sistemo:\n"
-"\n"
-"$interface\n"
-"\n"
-"u vi deziras konfiguri vian Lokan Reton (LAN) kun i tiu adaptilo?"
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Bonvole elektu kiun retadaptilon estos konektata al via Loka Reto (LAN)."
-
-#: ../../standalone/drakgw_.c:242
-#, fuzzy
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Averto, la retadaptilo estas jam konfigurata.\n"
-"u vi deziras rekonfiguri in?"
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr "Ebla konflikto pri Loka-Reta adreso trovata en nuna konfiguro de $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Konfigurao de barilo detektata!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Averto. Ekzistanta konfigurao de barilo detektata. Vi eble devas permane\n"
-"fiksi in poste de la instalado."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Mi konfiguras..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-"Mi konfiguras komandodosierojn, instalas programojn, startas servilojn..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Problemoj instalante pakaon $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Gratulojn!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-#, fuzzy
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-"La konfigurado de la disdividado de la Interreta konekto jam estas farita.\n"
-
-#: ../../standalone/drakgw_.c:609
-#, fuzzy
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-"La konfigurado de la disdividado de la Interreta konekto jam estas farita.\n"
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Disdividado de Interreta Konekto nuntempe kapabligata"
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "Interreta konektao kaj konfiguro"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Disdividado de Interreta Konekto"
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "ISDN-a Konfiguraon"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-#, fuzzy
-msgid "Profile: "
-msgstr "muntado malsukcesis: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-#, fuzzy
-msgid "Hostname: "
-msgstr "Potejo"
-
-#: ../../standalone/draknet_.c:147
-#, fuzzy
-msgid "Internet access"
-msgstr "Interreto"
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr "Speco: "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Kluzo:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-#, fuzzy
-msgid "Interface:"
-msgstr "Interreto"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "Nomo de konekto"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr "ADSL Konfigurao"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr "Kiel vi deziras konekti al la Interreto?"
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr "Konfiguru servojn"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr "ADSL Konfigurao"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Adapter"
-msgstr "isdatigu"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr "Servilo"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr "Interreto"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-#, fuzzy
-msgid "Configure Local Area Network..."
-msgstr "Konfiguru lokan reton"
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr ""
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr "Provu konfiguraon"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr "ADSL Konfigurao"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Disable"
-msgstr "Tabelo"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Ebligu"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr "Interreta konektao kaj konfiguro"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr "Interreta konektao kaj konfiguro"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr "Nomo de konekto"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-#, fuzzy
-msgid "Provider dns 1 (optional)"
-msgstr "Provizanto DNS 1"
-
-#: ../../standalone/draknet_.c:561
-#, fuzzy
-msgid "Provider dns 2 (optional)"
-msgstr "Provizanto DNS 2"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Bonvenon Al Rompistoj"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Malbona"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoja"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"vi devus uzi i tiun nivelon zorge. i faras vian komputilon pli facila\n"
-"por uzi, sed delikatega: vi devus neniam uzi i surrete.\n"
-"i ne havas pasvortojn."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Pasvortoj nun estas ebligataj, sed uzado kiel reta komputilo estas ankora\n"
-"ne rekomendita."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Malmultaj plibonigoj e i tiu sekurnivelo, la efa estas ke i havas pli\n"
-"multajn sekurecajn avertojn kaj kontrolojn."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"i tiu estas la normala sekureco rekomendata por komputilo kiu estos uzata\n"
-"por konekti al la Interreto kiel kliento. Nun estas sekurecaj kontroloj."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Kun i tiu sekurnivelo, uzado de i tiu komputilo kiel servilo eblias.\n"
-"La sekureco nun estas sufie alta por uzi la sistemon kiel servilo kiu\n"
-"akceptas konektojn de multaj klientoj."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Ni uzas aspektojn de la kvara nivelo, sed nun la komputilo estas tute\n"
-"malfermita. Sekurecaj aspektoj estas e iliaj maksimumoj."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Elektas sekurnivelon"
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr "Konekti al la interreto"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Elektu la ilon kiun vi deziras instali"
-
-#: ../../standalone/keyboarddrake_.c:16
-#, fuzzy
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "uzado: keyboarddrake [--expert]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "anu KD-ROM-on"
-
-#: ../../standalone/livedrake_.c:24
-#, fuzzy
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"anu vian KDROM!\n"
-"\n"
-"Bonvole, enovu la KDROM-on etikedatan \"%s\" en via drajvo kaj klaku \"Jes"
-"\"\n"
-"kiam vi finos.\n"
-"Se vi ne havas in, klaku \"Nuligu\" por eviti la instaladon de i tiu KDROM."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "neniu serial_usb (seria USB) trovita\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "u vi deziras emuli trian musbutonon?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Bonvole, provu la muson"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "ISDN-a Konfiguraon"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "Movu"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Konekti al la interreto"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Malkonekti el la interreto"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Malkonekti el la interreto"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Malkonekti el la interreto"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Nomo de konekto"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "Nomo de konekto"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Konfiguru interretan konektaon"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Konfigurao de barilo"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Konfigurao de barilo"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Eraro dum malfermado de %s por skribi: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Development"
-msgstr "Programisto"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr "Laborstacio"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Graphics"
-msgstr "Plurmedia - Grafiko"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Interreto"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Reta Printilo (ingo)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr "Interreta Konfigurado"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Oficejo"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr "Plurmedia - Sono"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "C kaj C++ programadaj bibliotekoj, programoj kaj apdosieroj"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentaro"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Plurmedia - Sono"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Scientific Workstation"
-msgstr "Laborstacio"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Redaktiloj, eloj, dosieriloj, terminaloj"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Ludoj"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Plurmedia - Video"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Reta Printilo (ingo)"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office Workstation"
-msgstr "Laborstacio"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Plurmedia - KD-ROM Kreado"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Database"
-msgstr "Datumbazoj"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr "X servilo"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Konfiguraon"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "KDE Workstation"
-msgstr "Laborstacio"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Gnome Workstation"
-msgstr "Laborstacio"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Interreto"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr "Dokumentaro"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "u vi deziras provi la konfiguraon?"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minutoj"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minuto"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d sekundoj"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr "Mi konfiguras..."
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "ADSL Konfigurao"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr "Elektu dosieron"
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr "Konfiguru interretan konektaon"
-
-#, fuzzy
-#~ msgid "Standard tools"
-#~ msgstr "Lanorma"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Konfigurado: Aldonu Lokon"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr ""
-#~ "i tiu starta komandodosiero provas argi viajn modulojn por via USB muso."
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr "Post-instala konfigurado"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Nun kiam via Interreta konekto estas konfigurata,\n"
-#~ "vi povas konfiguri vian komputilon por disdividi ian Interretan "
-#~ "konekton.\n"
-#~ "Notu: vi bezonas dedian Retadaptilon por konfiguri Lokan Reton (LAN).\n"
-#~ "\n"
-#~ "u vi deziras konfiguri Disdividadon de Interreta Konekto?\n"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Atomaciataj dependaoj"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Konfiguru LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Kreu praargdisketon"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formatu disketon"
-
-#~ msgid "Choice"
-#~ msgstr "Elekto"
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr "Ekrano"
-
-#, fuzzy
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Nun vi povas elekti kelkajn diversajn opciojn por via sistemo.\n"
-#~ "\n"
-#~ " - Uzu drajvajn optimumigaojn: i tiu opcio povas plibonigi la "
-#~ "rapidecon\n"
-#~ " de la drajvo, sed i estas nur por spertaj uzuloj: iuj difektaj "
-#~ "iparoj\n"
-#~ " povas detrui viajn datenojn, do zorgu. Notu ke la kerno havas\n"
-#~ " enkonstruitan nigran liston de drajvoj kaj iparoj, sed se via "
-#~ "deziras\n"
-#~ " eviti malbonajn surprizojn, lasu i tiun opcion ne elektatan\n"
-#~ "\n"
-#~ " - Elektu sekurnivelon: vi povas elekti sekurnivelon por via sistemo.\n"
-#~ " Bonvole konsultu la gvidlibron por plena informo. Baze: se vi ne "
-#~ "scias,\n"
-#~ " elektu \"Meza\".\n"
-#~ "\n"
-#~ " - Preciza kvanto de memoro se bezonata: bedarinde, en la hodiaa "
-#~ "persona\n"
-#~ " komputila mondo, ne estas normala metodo por demandi de la BIOS pri\n"
-#~ " la kvanto da memoro estanta en via komputilo. Konsekvence de tio,\n"
-#~ " GNU/Linukso eble malsukcesas detekti vian kvanton da memoro uste. "
-#~ "Se\n"
-#~ " tiel estas, vi povas specifi la ustan kvanton da memoro i tie. "
-#~ "Notu ke\n"
-#~ " diferenco je 2 a 4 MB estas normala.\n"
-#~ "\n"
-#~ " - Atomata muntado de demetebla medio: se vi preferus ne mane munti\n"
-#~ " demeteblajn mediojn (KDROM, Disketo, Zipdisko) per tajpi \"mount\" "
-#~ "kaj\n"
-#~ " \"umount\", elektu i tiun opcion.\n"
-#~ "\n"
-#~ " - Ebligu NumLock je startado: se vi dezirus ke NumLock estus ebligata\n"
-#~ " post startado, elektu i tiun opcion (Notu: NumLock eble funkcias a\n"
-#~ " ne funkcias sub X)."
-
-#, fuzzy
-#~ msgid "Internet/Network access"
-#~ msgstr "Interreto"
-
-#, fuzzy
-#~ msgid "Mail information"
-#~ msgstr "Montru informon"
-
-#, fuzzy
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr "ISDN-a Konfiguraon"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Diversaj"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Diversaj demandoj"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "Ne povas uzi \"supermount\" en alta sekurnivelo"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "Zorgu: EN I TIU SEKURNIVELO, LA \"ROOT\" SALUTNOMO ESTAS MALPERMESATA E "
-#~ "LA\n"
-#~ "KONZOLO! Se vi deziras esti \"root\", vi devas saluti kiel alia uzulo "
-#~ "kaj\n"
-#~ "sekve uzi \"su\". Pli enerale, ne ekspektu uzi vian komputilon por iu "
-#~ "ajn\n"
-#~ "escepte de servilo.\n"
-#~ "Vi estas avertita."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Zorgu, kapabligi \"NumLock\" kazas multe da klavopremoj produkti "
-#~ "ciferojn\n"
-#~ "anstata normaj literoj (ekzemple: premi `p' produktas `6')"
-
-#, fuzzy
-#~ msgid "Actions"
-#~ msgstr "Loko"
-
-#, fuzzy
-#~ msgid "toot"
-#~ msgstr "Radiko"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Unu DNA-a Servilo"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Dua DNA Servilo"
-
-#, fuzzy
-#~ msgid "using module"
-#~ msgstr "Diskuma modalo"
-
-#, fuzzy
-#~ msgid "Development, Database"
-#~ msgstr "Aliaj Programadaj Iloj"
-
-#, fuzzy
-#~ msgid "Development, Standard tools"
-#~ msgstr "Programisto"
-
-#~ msgid "loopback"
-#~ msgstr "retrokonekta"
-
-#~ msgid "None"
-#~ msgstr "Neniu"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Kiu(j)n startargilo(j)n vi deziras uzi?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Atoinstala disketo"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Provu trovi modemon?"
-
-#, fuzzy
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Konfiguru interretan konektaon"
-
-#~ msgid "Configure local network"
-#~ msgstr "Konfiguru lokan reton"
-
-#~ msgid "Disable networking"
-#~ msgstr "Malkapabligu retumon"
-
-#, fuzzy
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Konektu al la Interreto / Konfiguru lokan Reton"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "Loka Reto jam estas konfigurita.\n"
-#~ "u vi deziras:"
-
-#, fuzzy
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr "Mi konfiguras..."
-
-#~ msgid "Multimedia"
-#~ msgstr "Plurmedia"
-
-#~ msgid "Sciences"
-#~ msgstr "Sciencoj"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Internet Tools"
-#~ msgstr "Interretiloj"
-
-#~ msgid "Development C/C++"
-#~ msgstr "Programado C/C++"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Konfiguru horzonon"
-
-#~ msgid "Configure printer"
-#~ msgstr "Konfiguru printilon"
-
-#, fuzzy
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr "Reta Printilo (ingo)"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(eble kazos koruptadon de dateno)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Uzu drajvajn optimumigaojn?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Ebligu la \"Num Lock\"-an klavon je startado"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Konfirmu Pasvorton"
-
-#, fuzzy
-#~ msgid "default"
-#~ msgstr "Defalta"
-
-#~ msgid "What is your system used for?"
-#~ msgstr "Por kio vi uzos vian komputilon?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr "Elektu la grandecon kiu vi deziras instali"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Uzu diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr "Akomodata"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "u vi certas ke vi estas spertulo?\n"
-#~ "i tio permesos al vi fari potencajn sed danerajn agojn.\n"
-#~ "\n"
-#~ "Mi demandos demandojn kiel: ``u vi deziras `Uzi ombran dosieron por\n"
-#~ "pasvortoj?'', u vi pretas respondi al tiu speco de demando?\""
-
-#~ msgid "Use shadow file"
-#~ msgstr "Uzu ombran dosieron"
-
-#~ msgid "shadow"
-#~ msgstr "ombro"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Uzu MD5-ajn pasvortojn"
-
-#~ msgid "Search"
-#~ msgstr "Seru"
-
-#~ msgid "Package"
-#~ msgstr "Pakao"
-
-#~ msgid "Text"
-#~ msgstr "Teksto"
-
-#~ msgid "Tree"
-#~ msgstr "Arbo"
-
-#~ msgid "Sort by"
-#~ msgstr "Ordigu la"
-
-#~ msgid "Category"
-#~ msgstr "Kategorio"
-
-#~ msgid "See"
-#~ msgstr "Vidu"
-
-#~ msgid "Installed packages"
-#~ msgstr "Instalitaj pakaoj"
-
-#~ msgid "Available packages"
-#~ msgstr "Haveblaj pakaoj"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Montru nur foliojn"
-
-#~ msgid "Expand all"
-#~ msgstr "Etendu ion"
-
-#~ msgid "Collapse all"
-#~ msgstr "Maletendu ion"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Aldonu lokon de pakaoj"
-
-#~ msgid "Update location"
-#~ msgstr "isdatigu lokon"
-
-#~ msgid "Remove"
-#~ msgstr "Forigu"
-
-#~ msgid "Find Package"
-#~ msgstr "Trovu pakaon"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Trovu Pakaon kiu enhavas dosieron"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "altu inter Instalita kaj Havebla"
-
-#~ msgid "Uninstall"
-#~ msgstr "Malinstalu"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Elektu pakaon por instali"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Kontrolas dependaojn"
-
-#~ msgid "Wait"
-#~ msgstr "Atendu"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "La sekvaj pakaoj estos malinstalataj"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "Malinstalas la RPM-ajn dosierojn"
-
-#~ msgid "Regexp"
-#~ msgstr "Regula Esprimo"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Kiun pakaon vi seras?"
-
-#~ msgid "%s not found"
-#~ msgstr "%s ne trovita"
-
-#~ msgid "No match"
-#~ msgstr "Neniu egalaon"
-
-#~ msgid "No more match"
-#~ msgstr "Neniuj pluaj egalaoj"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake estas nune en la reimo de ``nesufia-memoro''.\n"
-#~ "Mi restartos rpmdrake por permesi seri dosierojn."
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Kiun dosieron vi seras?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Kion vi seras?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Donu nomon (ekz-e `ekstra', `komerca')"
-
-#~ msgid "Directory"
-#~ msgstr "Dosierujo"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "Neniu KD-ROMo havebla (neniu en /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL por la dosierujo kiu enhavas la RPM-ajn dosierojn"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Por FTP kaj HTTP, vi bezonas doni la lokon por hdlist-o.\n"
-#~ "i devas esti relativa al la supra URL-o."
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Bonvole liveru la sekvantan informon"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s estas jam uzata"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "isdatigas la bazon de RPM-aj dosieroj"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "Forigos enskribon %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Trovas foliojn"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "Trovi foliojn bezonas iom da tempo"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "Mi trovis ISDN-an Karton:\n"
-
-#~ msgid "France"
-#~ msgstr "Francujo"
-
-#~ msgid "Other countries"
-#~ msgstr "Aliaj landoj"
-
-#~ msgid "In which country are you located ?"
-#~ msgstr "En kiu lando vi estas?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Alcatel modemo"
-
-#~ msgid "ECI modem"
-#~ msgstr "ECI modemo"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr ""
-#~ "Se via ADSL modemo estas Alcatel-a, elektu \"Alcatel\". Aliokaze, elektu "
-#~ "\"ECI\"."
-
-#~ msgid "don't use pppoe"
-#~ msgstr "ne uzu pppoe"
-
-#~ msgid "mandatory"
-#~ msgstr "deviga(j)"
-
-#~ msgid "interesting"
-#~ msgstr "interesa(j)"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (grava(j))"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (tre agrabla(j))"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (agrabla(j))"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Al kiu seria pordo estas via muso konektata?"
-
-#~ msgid "KDE, QT, Gnome, GTK+"
-#~ msgstr "KDE, QT, Gnome, GTK+"
-
-#~ msgid "Python, Perl, libraries, tools"
-#~ msgstr "Python, Perl, bibliotekoj, iloj"
-
-#~ msgid "Czech"
-#~ msgstr "ea"
-
-#~ msgid "Slovakian"
-#~ msgstr "Slovaka"
diff --git a/perl-install/share/po/es.po b/perl-install/share/po/es.po
deleted file mode 100644
index 3181df6a9..000000000
--- a/perl-install/share/po/es.po
+++ /dev/null
@@ -1,10265 +0,0 @@
-# Translation file of Mandrake graphic install
-# Copyright (C) 1999 Mandrakesoft
-# Pablo Saratxaga <pablo@mandrakesoft.com>, 1999-2000
-# Fabian Mandelbaum <fabman@mandrakesoft.com>, 2000, 2001
-# Juan Manuel Garca Molina <juanmagm@mail.com>, 2000
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2001-04-24 08:47-0300\n"
-"Last-Translator: Fabian Mandelbaum <fabman@mandrakesoft.com>\n"
-"Language-Team: spanish\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Configurar los monitores independientemente"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Usar extensin Xinerama"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Slo configurar tarjeta \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Configuracin multi-monitor"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Su sistema soporta configuracin multi-monitor.\n"
-"Qu desea hacer?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Tarjeta grfica"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Seleccione una tarjeta grfica"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Elija un servidor X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "servidor X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Qu tipo de configuracin de XFree desea tener?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Su tarjeta puede soportar aceleracin de 3D pero slo con XFree %s.\n"
-"XFree %s soporta su tarjeta y puede tener un soporte de 2D mejor."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Su tarjeta puede soportar aceleracin de 3D por hardware con XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s con aceleracin de 3D por hardware"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Su tarjeta puede tener soporte de 3D por hardware con XFree %s,\n"
-"NOTE QUE ESTE SOPORTE ES EXPERIMENTAL Y PUEDE CONGELAR A SU COMPUTADORA."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s con aceleracin EXPERIMENTAL de 3D por hardware"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Su tarjeta slo puede soportar aceleracin de 3D por hardware con XFree %s,\n"
-"NOTE QUE ESTE SOPORTE ES EXPERIMENTAL Y PUEDE CONGELAR A SU COMPUTADORA.\n"
-"XFree %s soporta su tarjeta y puede tener un soporte de 2D mejor."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "Configuracin de XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Seleccione la cantidad de memoria de su tarjeta grfica"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Elija las opciones para el servidor X"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Elija un monitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Los dos parmetros crticos son la frecuencia de barrido vertical, que "
-"indica la frecuencia a la cual se refresca la pantalla entera, y ms\n"
-"importante an, la frecuencia de sincronizacin horizontal, la cual es la\n"
-"frecuencia de las lneas de barrido horizontal.\n"
-"\n"
-"Es SUMAMENTE IMPORTANTE que no especifique un tipo de monitor con una\n"
-"frecuencia de sincronizacin superior a la capacidad real de su monitor:\n"
-"puede daar su monitor.\n"
-"En caso de duda, elija una configuracin conservadora."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Frecuencia de barrido horizontal"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Frecuencia de barrido vertical"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "El monitor no est configurado"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "La tarjeta grfica todava no est configurada"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Resoluciones todava no elegidas"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Desea probar la configuracin?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
-"Advertencia: probar con esta tarjeta de vdeo puede congelar a su computadora"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Probar la configuracin"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"intente cambiar algunos parmetros"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Ocurri un error:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Saliendo en %d segundos"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Es esta la configuracin correcta?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Ocurri un error, intente cambiar algunos parmetros"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Resolucin"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Elija la resolucin y la profundidad de colores"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Tarjeta grfica: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Servidor XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Modo Experto"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Mostrar todo"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Resoluciones"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Eleccin del tipo de teclado: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Tipo de ratn: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Dispositivo del ratn: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Frecuencia horizontal del monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Frecuencia vertical del monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Tarjeta grfica: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Memoria de la tarjeta grfica: %s KB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Profundidad de color: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Resolucin: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Servidor XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Controlador XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Preparando la configuracin de X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Qu desea hacer?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Cambiar el monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Cambiar la tarjeta grfica"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Cambiar las opciones del servidor X"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Cambiar la resolucin"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Mostrar informacin"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Probar de nuevo"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Salir"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Conservar los cambios?\n"
-"La configuracin corriente es:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Abra de nuevo una sesin %s para activar los cambios"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Por favor salga de la sesin y luego use Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X al arrancar"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Puedo configurar su computadora para que inicie X automticamente\n"
-"al arrancar. Desea que X se lance cuando Ud. reinicie?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 colores (8 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mil colores (15 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mil colores (16 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 millones de colores (24 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 billones de colores (32 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 KB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 KB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB o ms"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "VGA estndar, 640x480 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 a 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "Compatible 8514, 1024x768 a 87 Hz entrelazado (sin 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 a 87 Hz entrelazado, 800x600 a 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Super VGA extendido, 800x600 a 60 Hz, 640x480 a 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "SVGA no-entrelazado, 1024x768 a 60 Hz, 800x600 a 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "SVGA alta-frecuencia, 1024x768 a 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Monitor multi-frecuencia que soporta 1280x1024 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Monitor multi-frecuencia que soporta 1280x1024 a 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Monitor multi-frecuencia que soporta 1280x1024 a 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor que soporta 1600x1200 a 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor que soporta 1600x1200 a 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Primer sector de la particin de arranque"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Primer sector del disco (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "Instalacin de SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Dnde quiere instalar el cargador de arranque?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Instalacin de LILO/grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO con men de texto"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO con men grfico"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Arrancar desde DOS/Windows (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Opciones principales del cargador de arranque"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Cargador de arranque a usar"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Instalacin del cargador de arranque"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Dispositivo de arranque"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (no funciona con BIOS antiguos)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Compacto"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "compacto"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Modo de vdeo"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Demora antes de arrancar la imagen predeterminada"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Contrasea"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Contrasea (de nuevo)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Restringir las opciones de la lnea de comandos"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "restringir"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Limpiar /tmp en cada inicio del equipo"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Precise el tamao de la RAM si es necesario (se encontraron %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Activar perfiles mltiples"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Proporcione el tamao de la RAM en MB"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"La opcin Restringir las opciones de la lnea de comandos\n"
-"no tiene sentido sin contrasea"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Vuelva a intentarlo por favor"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Las contraseas no coinciden"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Mensaje de Init"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Demora de Open Firmware"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Tiempo de espera de arranque del ncleo"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Habilitar el arranque desde CD?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Habilitar el arranque de OF?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "SO predeterminado?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Aqu estn las diferentes entradas.\n"
-"Ud. puede aadir algunas otras o cambiar las que ya existen."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Aadir"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Hecho"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Modificar"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Qu tipo de entrada desea aadir?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Otros SO (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Otros SO (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Otros SO (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Imagen"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Raz"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Agregar"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lectura/escritura"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tabla"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Inseguro"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Etiqueta"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Por omisin"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Tamao de Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "NoVideo"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Quitar entrada"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "No se admite una etiqueta vaca"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Esta etiqueta ya est en uso"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Qu tipo de particionado?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "%s interfaces %s encontradas"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Tiene alguna otra?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Tiene alguna interfaz %s?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "No"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "S"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Ver informacin sobre el hardware"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Instalando controlador para tarjeta %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(mdulo %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Qu controlador de %s debo probar?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"En algunos casos, el controlador de %s necesita informacin extra\n"
-"para funcionar correctamente, aunque normalmente funcione sin ella.\n"
-"Desea especificar informacin extra para el controlador o dejar que el "
-"mismo\n"
-"pruebe su equipo y encuentre la informacin que necesita? A veces,\n"
-"el probar el equipo puede provocar que este se cuelgue, pero no debera\n"
-"causar dao alguno."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Autodeteccin"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Especificar las opciones"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Ahora puede suministrar las opciones para el mdulo %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Aqu deben ir las diferentes opciones para el mdulo %s.\n"
-"Las opciones son de la forma nombre=valor nombre2=valor2 ....\n"
-"Por ejemplo puede tener io=0x300 irq=7"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Opciones de los mdulos:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Fallo al cargar el mdulo %s.\n"
-"Desea reintentarlo con otros parmetros?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s ya fue aadido)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Esta contrasea es demasiado sencilla"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Ingrese el nombre de usuario"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"El nombre de usuario (login) slo debe contener letras, nmeros, - y _"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Este nombre de usuario ya fu aadido"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Aadir usuario"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Ingrese un usuario\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Aceptar usuario"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Nombre y apellido"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Nombre de usuario"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Icono"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Conexin automtica"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Puedo configurar su computadora para que se conecte a un usuario\n"
-"automticamente al arrancar. Si no desea esto, haga clic sobre Cancelar."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Elija el usuario predeterminado:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Elija el administrador de ventanas a ejecutar:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Bienvenido a %s, el selector de SO de arranque!\n"
-"\n"
-"Elija un sistema operativo de la lista.\n"
-"O espere %d segundos para que arranque el sistema predeterminado.\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Bienvenido a GRUB, el selector de SO de arranque!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Use las teclas %c y %c para seleccionar una entrada."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Pulse <INTRO> para iniciar el SO elegido, pulse 'e' para editar"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "los comandos antes de iniciar, o pulse 'c' para una linea de comandos."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Se va a iniciar la entrada resaltada en %d segundos."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "no hay espacio suficiente en /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Escritorio"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Men Inicio"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "todava no est implementada la ayuda.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Configuracin del Estilo de Arranque"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Archivo"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Archivo/_Nuevo"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Archivo/_Abrir"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>A"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Archivo/_Guardar"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>G"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Archivo/Guardar _Como"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Archivo/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Archivo/_Salir"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Opciones"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Opciones/Probar"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_aYuda"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Ayuda/_Acerca de..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Configurar"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"En este momento est usando %s como Administrador de arranque.\n"
-"Haga click sobre Configurar para lanzar el asistente de configuracin."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Modo de Lilo/Grub"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Monitor Categorizante NewStyle"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Monitor NewStyle"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Monitor tradicional"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Monitor Gtk+ tradicional"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Iniciar Aurora al momento del arranque"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Modo de arranque"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Iniciar el sistema X-Window al comenzar"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "No, no deseo conexin automtica"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "S, deseo conexin automtica con este (usuario, escritorio)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Modo del sistema"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Por omisin"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "Aceptar"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Cancelar"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "no puedo abrir /etc/inittab para lectura: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "no puedo abrir /etc/sysconfig/autologin/ para lectura: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Fall la instalacin de LILO. Ocurri el error siguiente:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Crear"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Desmontar"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Borrar"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatear"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Redimensionar"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tipo"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Punto de montaje"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Escribir /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Cambiar al modo experto"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Cambiar al modo normal"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Restaurar a partir de un archivo"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Guardar en un archivo"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Asistente"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Restaurar a partir de un disquete"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Guardar en un disquete"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Borrar todas"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formatear todas"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Asignacin automtica"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Todas las particiones primarias estn usadas"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "No puedo agregar ms particiones"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Para tener ms particiones, por favor borre alguna para poder crear una "
-"particin extendida"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "No hay espacio libre suficiente para auto-asignacin"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Deshacer"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Escribir la tabla de particiones"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Ms"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Intercambio"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Vaco"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Otros"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Tipo de sist. de archivos:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detalles"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Ud. tiene una particin FAT de gran tamao\n"
-"(generalmente usada por DOS/Windows de MicroSoft).\n"
-"Le sugiero que primero cambie el tamao de la misma\n"
-"(para eso haga clic sobre ella, y luego sobre Redimensionar)"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Por favor, primero haga una copia de respaldo de sus datos"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lea con cuidado!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Si piensa usar aboot, no olvide dejar espacio libre (2048 sectores es\n"
-"suficiente) al principio del disco"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Cuidado: esta operacin es peligrosa."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Error"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Punto de montaje: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Dispositivo: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Letra DOS: %s (simplemente una adivinanza)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tipo: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nombre: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Comienzo: sector %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Tamao: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sectores"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Cilindro %d a cilindro %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formateado\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "No formateado\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Montado\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Archivo(s) de loopback: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Particin predeterminada de arranque\n"
-" (para arranque de MS-DOS, no para lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Nivel %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Tamao de los bloques %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "Discos-RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Nombre del archivo de loopback: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Es probable que esta particin sea\n"
-"una partcin de Controlador, probablemente\n"
-"debera dejarla como est.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Esta particin especial de Bootstrap\n"
-"es para el arranque\n"
-"dual de su sistema.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Por favor, haga clic sobre una particin"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Tamao: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometra: %s cilindros, %s cabezas, %s sectores\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "Discos-LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Tipo de la tabla de particiones: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "en el bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Montar"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Activar"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Aadir al RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Quitar del RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Modificar el RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Aadir al LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Quitar del LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Usar para loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Elija una accin"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Disculpe, pero no puedo aceptar la creacin de una particin /boot tan "
-"lejos\n"
-"en el disco (en un cilindro > 1024). O bien usa LILO, y es probable que\n"
-"no funcionar, o bien no usa LILO y entonces no necesita /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"La particin que escogi para usar como raz (/) est fsicamente ubicada\n"
-"despus del 1024 cilindro del disco rgido, y no tiene particin /boot.\n"
-"Si piensa usar el cargador de arranque LILO, tenga presente\n"
-"el aadir una particin /boot"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Ud. eligi una particin RAID en software como particin raz (/).\n"
-"Ningn cargador de arranque es capaz de manejarlo sin una particin /boot.\n"
-"As que tenga en cuenta el aadir una particin /boot."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Use %s en su lugar"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Use Desmontar primero"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Se perdern todos los datos de la particin %s despus de cambiar su tipo."
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Seguir adelante?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Salir sin grabar"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Salir del programa sin grabar la tabla de particiones?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Cambiar tipo de particin"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Qu sistema de archivos desea?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "No se puede usar ReiserFS para particiones menores que 32MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Donde desea montar el archivo de loopback %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Dnde desea montar el dispositivo %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"No puedo deseleccionar el punto de montaje ya que esta particin\n"
-"se usa para un montaje en loopback.\n"
-"Quite el montaje de loopback primero"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "Se perdern todos los datos de la particin %s despus de formatearla."
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formateando"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formateando el archivo de loopback %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formateando la particin %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Luego de formatear todas las particiones,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "se perdern todos los datos en dichas particiones"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Desplazar"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "A cual disco desea desplazarla?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sector"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "A cual sector desea desplazarla?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Desplazando"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Desplazando una particin..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Se escribir al disco la tabla de particiones de la unidad %s!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Necesita reiniciar el equipo para que la modificacin tenga efecto"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Calculando los lmites del sistema de archivos FAT"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Redimensionando"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Esta particin no es redimensionable"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr ""
-"Debera hacer una copia de respaldo de todos los datos de esta particin"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"Se perdern todos los datos de la particin %s despus de cambiar su tamao"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Eligiendo el tamao nuevo"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Crear una particin nueva"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Sector de comienzo: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Tamao en MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Tipo de sist. de archivos: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Preferencia: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Esta particin no puede usarse para el loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Nombre del archivo de loopback: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-"El archivo ya est usado por otro dispositivo loopback\n"
-"elija otro archivo por favor"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "El archivo ya existe. Desea usarlo?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Elija un archivo"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"La tabla de particiones de respaldo no tiene\n"
-"el mismo tamao. Desea continuar de todas formas?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Advertencia"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Inserte un disquete en la unidad\n"
-"Se perdern todos los datos del disquete"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Tratando de rescatar la tabla de particiones"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "dispositivo"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "nivel"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "tamao de los bloques"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Elegir un RAID existente al cual aadir"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "nuevo"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Elegir un LVM existente al cual aadir"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "nombre de LVM"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Montaje automtico de los soportes extrables"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Rescatar la tabla de particiones"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Recargar"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formateo de %s fall"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "No s cmo formatear %s en el tipo %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "mount fall: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "error desmontando %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "simple"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "servidor"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Los puntos de montaje deben comenzar con una /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Ya existe una particin con punto de montaje %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Montajes circulares %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "No puede usar un Volmen Lgico LVM para punto de montaje %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Este directorio debera permanecer dentro del sistema de archivos raz"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Necesita un sistema de archivos verdadero (ext2, reiserfs) para este punto "
-"de montaje\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Error al abrir %s para escribir: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Ocurri un error - ningn dispositivo vlido fue encontrado en el cual crear "
-"nuevos sistemas de archivos. Por favor, verifique su equipo para ver la\n"
-"razn de este fallo."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "No tiene particin alguna!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Por favor, elija el idioma que prefiere para la instalacin y el uso del "
-"sistema."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Debe aceptar los trminos de la licencia de arriba para continuar la "
-"instalacin\n"
-"\n"
-"\n"
-"Por favor, haga clic sobre Aceptar si est de acuerdo con los trminos de "
-"la misma.\n"
-"Por favor, haga clic sobre Rechazar si no est de acuerdo con los trminos "
-"de\n"
-"la misma. La instalacin finalizar sin modificar su configuracin actual."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Elija la disposicin de teclado que corresponde al suyo en la lista"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Si desea otros idiomas (adems del que eligi al comienzo de\n"
-"la instalacin) estn disponibles luego de la instalacin, por favor, "
-"eljalos\n"
-"de la lista de arriba. Si desea seleccionarlos a todos, slo debe "
-"seleccionar Todos."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Por favor, elija Instalar si no hay instalada una versin previa de Linux-"
-"Mandrake\n"
-"o si desea usar varios sistemas operativos.\n"
-"\n"
-"Por favor, elija Actualizar si desea actualizar una versin ya existente "
-"de Linux-Mandrake.\n"
-"\n"
-"\n"
-"Dependiendo de su conocimiento de GNU/Linux, Ud. puede elegir uno de los "
-"niveles siguientes para\n"
-"instalar o actualizar su sistema Linux-Mandrake:\n"
-"\n"
-"\t* Recomendada: si nunca antes ha instalado un sistema operativo GNU/Linux "
-"elija esta opcin. La instalacin ser\n"
-"\t muy fcil y slo se le formularn pocas preguntas.\n"
-"\n"
-"\n"
-"\t* Personalizada: si est familiarizado lo suficiente con GNU/Linux, puede "
-"elegir el uso primario (servidor,\n"
-"\t estacin de trabajo, desarrollo) de su sistema. Deber contestar ms "
-"preguntas que en la clase de instalacin\n"
-"\t Recomendada, por lo cual debe saber como funciona GNU/Linux para "
-"elegir esta clase de instalacin.\n"
-"\n"
-"\n"
-"\t* Experto: si conoce profundamente a GNU/Linux, puede elegir esta clase de "
-"instalacin. Como en la clase\n"
-"\t Personalizada, podr elegir el uso primario (servidor, estacin de "
-"trabajo, desarrollo). Tenga sumo\n"
-"\t cuidado al elegir esta clase de instalacin. Podr realizar una "
-"instalacin altamente personalizada.\n"
-"\t Las respuestas a algunas preguntas pueden ser muy difciles si no tiene "
-"suficiente conocimiento de GNU/Linux.\n"
-"\t Entonces, no elija esta clase de instalacin a menos que sepa lo que "
-"hace."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Seleccione:\n"
-"\n"
-" - Personalizada: si ya est familiarizado con GNU/Linux, podr elegir\n"
-" el uso que le dar al sistema. Vea debajo para los detalles.\n"
-"\n"
-"\n"
-" - Experto: Esto supone que Ud. est familiarizado en GNU/Linux y desdea\n"
-" realizar una instalacin sumamente personalizada. Al igual que "
-"Personalizada,\n"
-" Pero por favor, NO ELIJA ESTA OPCIN A MENOS QUE SEPA LO QUE EST "
-"HACIENDO!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Ahora debe definir el uso de su mquina. Las opciones son:\n"
-"\n"
-"\t* Estacin de trabajo: esta es la opcin ideal si pretende usar su mquina "
-"primariamente para un uso diario, en la oficina o\n"
-"\t en su casa.\n"
-"\n"
-"\n"
-"\t* Desarrollo: si pretende usar su mquina primariamente para desarrollar "
-"software, es la opcin adecuada. Entonces, tendr una\n"
-"\t coleccin completa de software instalado para poder compilar, depurar y "
-"formatear cdigo fuente,\n"
-"\t o crear paquetes de software.\n"
-"\n"
-"\n"
-"\t* Servidor: si pretende usar esta mquina como servidor, esta es la opcin "
-"adecuada. Ya sea un servidor de archivos (NFS o\n"
-"\t SMB), un servidor de impresin (estilo Unix o Microsoft Windows), un "
-"servidor de autenticacin (NIS), un servidor de base de\n"
-"\t y as sucesivamente. Como tal, no espere que se instale ningn chiche "
-"(KDE, GNOME, etc.)"
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX intentar buscar adaptador(es) SCSI PCI. Si DrakX\n"
-"encuentra un adaptador SCSI y sabe que controlador usar,\n"
-"lo instalar automticamente.\n"
-"\n"
-"\n"
-"Si no tiene adaptador SCSI alguno, o tiene un adaptador SCSI ISA, o un\n"
-"adaptador SCSI PCI que DrakX no reconoce se le preguntar si est presente\n"
-"un adaptador SCSI en su sistema. Si no hay adaptador alguno, simplemente\n"
-"puede hacer clic sobre No. Si hace clic sobre S se presentar una "
-"lista\n"
-"de controladores de la cual Ud. puede seleccionar su adaptador especfico.\n"
-"\n"
-"\n"
-"Si tiene que especificar su adaptador manualmente, DrakX le preguntar\n"
-"si desea especificar opciones para el controlador. Debera permitir a DrakX\n"
-"probar el hardware en busca de las opciones. Generalmente esto funciona "
-"bien.\n"
-"\n"
-"\n"
-"De no ser as, necesitar proporcionar las opciones del controlador.\n"
-"Revise la Gua del Usuario (captulo 3, seccin Obteniendo informacin "
-"sobre el hardware.)\n"
-"para consejos sobre como obtener esta informacin de la documentacin del "
-"hardware,\n"
-"desde el sitio web del fabricante (si es que tiene acceso a Internet),\n"
-"o desde Microsoft Windows (si es que lo tiene instalado)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Ahora debe elegir en qu lugar de su disco rgido instalar\n"
-"su sistema operativo Linux-Mandrake. Si este est vaci o si un\n"
-"sistema operativo existente usa todo el espacio disponible, debera\n"
-"particionarlo. Bsicamente, particionar un disco rgido consiste en "
-"dividirlo\n"
-"lgicamente para crear espacio para instalar su sistema Linux-Mandrake "
-"nuevo\n"
-"\n"
-"\n"
-"Dado que los efectos del proceso de particionado usualmente son "
-"irreversibles,\n"
-"esta operacin puede ser intimidatoria y estresante si Ud. no es un "
-"usuarioexperimentado.\n"
-"Este asistente simplifica este proceso. Antes de comenzar, por favor "
-"consulte el manual\n"
-"y tmese su tiempo.\n"
-"\n"
-"\n"
-"Necesita al menos dos particiones. Una es para el sistema operativo en s "
-"mismo y la\n"
-"otra es para la memoria virtual (denominada tambin Intercambio [Swap]).\n"
-"\n"
-"\n"
-"Si ya se han definido particiones (de una instalacin previa o de otra\n"
-"herramienta de particionado), slo debe elgir aquellas sobre las cuales "
-"instalar\n"
-"su sistema Linux.\n"
-"\n"
-"\n"
-"Si las particiones no han sido definidas aun, Ud. debe crearlas.\n"
-"Para esto, use el asistente disponible arriba. Dependiendo de la "
-"configuracin\n"
-"de su disco rgido, pueden estar disponibles varias opciones:\n"
-"\n"
-"\t* Usar la particin existente: el asistente ha detectado algunas "
-"particiones Linux existentes en su disco rgido. Si\n"
-"\t desea mantenerlas, elija esta opcin. \n"
-"\n"
-"\n"
-"\t* Borrar todo el disco: si desea borrar todos los datos y particiones "
-"presentes en su disco y reemplazarlas con\n"
-"\t su sistema Linux-Mandrake nuevo, puede elegir esta opcin. Tenga cuidado "
-"con esta solucin, no podr\n"
-"\t deshacer su opcin luego de la confirmacin.\n"
-"\n"
-"\n"
-"\t* Usar el espacio libre de la particin Windows: Si est instalado "
-"Microsoft Windows en su disco rgido y ocupa todo el\n"
-"\t espacio disponible, tiene que crear espacio libre para los datos de "
-"Linux. Para esto puede borrar su particin\n"
-"\t y los datos de Microsoft Windows (ver Borrar todo el disco o la "
-"solucin Modo experto) o cambiar el tamao\n"
-"\t de su particin Microsoft Windows. Cambiar el tamao se puede realizar "
-"sin perder datos. Esta solucin\n"
-"\t se recomienda si Ud. desea usar Linux-Mandrake y Microsoft Windows en la "
-"misma computadora.\n"
-"\n"
-"\n"
-"\t Antes de elegir esta solucin, por favor tenga presente que el tamao de "
-"su particin\n"
-"\t Microsoft Windows ser ms pequea que ahora. Esto significa que tendr "
-"menos espacio libre bajo\n"
-"\t Microsoft Windows para almacenar sus datos o instalar software.\n"
-"\n"
-"\n"
-"\t* Modo Experto: si desea particionar su disco manualmente, Ud. puede "
-"elegir esta opcin. Tenga cuidado antes de\n"
-"\t elegir esta solucin. La misma es potente pero es muy peligrosa. Ud. "
-"puede perder todos sus datos fcilmente. Entonces,\n"
-"\t no elija esta solucin a menos que sepa lo que est haciendo."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Ahora necesita elegir la(s) particin(es)\n"
-"a usar para instalar su sistema Linux-Mandrake nuevo. Si ya se han\n"
-"definido particiones (de una instalacin previa de GNU/Linux o de\n"
-"otra herramienta de particionado), puede usar las particiones existentes. En "
-"otros casos,\n"
-"se deben definir las particiones del disco rgido.\n"
-"\n"
-"\n"
-"Para crear particiones, primero debe seleccionar un disco rgido. Puede "
-"seleccionar el\n"
-"disco a particionar haciendo clic sobre hda para el primer disco IDE, "
-"hdb para\n"
-"el segundo o sda para el primer disco SCSI y as sucesivamente.\n"
-"\n"
-"\n"
-"Para particionar el disco seleccionado, puede usar estas opciones:\n"
-"\n"
-" * Borrar todas: esta opcin borra todas las particiones disponibles en el "
-"disco seleccionado.\n"
-"\n"
-"\n"
-" * Auto asignar: le permite crear particiones Ext2 y de Intercambio en el "
-"espacio libre de su\n"
-" disco rgido automticamente\n"
-"\n"
-"\n"
-" * Rescatar la tabla de particiones: si su tabla de particiones est "
-"daada, puede intentar recuperarla usando\n"
-"esta opcin. Por favor, tenga cuidado y recuerde que puede fallar.\n"
-"\n"
-"\n"
-" * Deshacer: puede usar esta opcin para cancelar sus cambios.\n"
-"\n"
-"\n"
-" * Recargar: puede usar esta opcin si desea deshacer todos los cambios y "
-"cargar su tabla de particiones inicial.\n"
-"\n"
-"\n"
-" * Asistente: si desea usar un asistente para particionar su disco, puede "
-"usar esta opcin. Esto se recomienda si\n"
-" no tiene un conocimiento bueno sobre particionar.\n"
-"\n"
-"\n"
-" * Restaurar desde disquete: si ha guardado su tabla de particiones en un "
-"disquete en una instalacin previa, puede\n"
-" recuperarla usando esta opcin.\n"
-"\n"
-"\n"
-" * Guardar en disquete: si desea guardar su tabla de particin en un "
-"disquete para poder recuperarla, puede usar esta\n"
-" opcin. Es altamente recomendable usar esta opcin\n"
-"\n"
-"\n"
-" * Hecho: cuando ha finalizado de particionar su disco rgido, use esta "
-"opcin para guardar sus cambios.\n"
-"\n"
-"\n"
-"Para informacin, puede alcanzar cualquier opcin con el teclado: navegue a "
-"travs de las particiones usando Tab y las flechas Arriba/Abajo.\n"
-"\n"
-"\n"
-"Cuando una particin est seleccionada, puede usar:\n"
-"\n"
-" * Ctrl-c para crear una particin nueva (cuando se selecciona una "
-"particin vaca)\n"
-"\n"
-" * Ctrl-d para borrar una particin\n"
-"\n"
-" * Ctrl-m para configurar el punto de montaje\n"
-" \n"
-"\n"
-" \n"
-"Si est instalando en una mquina PPC, querr crear una particin HFS de "
-"'bootstrap' de al menos 1MB para uso del\n"
-"cargador de arranque yaboot. Si opta por hacer la particin un poco mayor, "
-"digamos de 50MB, puede encontrar que es\n"
-"un buen lugar para almacenar un ncleo y ramdisk extra para arrancar en "
-"situaciones de emergencia."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Arriba se listan las particiones Linux existentes detectadas\n"
-"en su disco. Puede mantener las opciones hechas por el asistente, son buenas "
-"para\n"
-"un uso comn. Si cambia estas opciones, al menos debe definir una particin\n"
-"raz (/). No elija una particin muy pequea o no podr instalar una\n"
-"cantidad suficiente de software. Si desea almacenar sus datos en una "
-"particin,\n"
-"separada, tambin necesita una /home (slo es posible si tiene disponible "
-"ms\n"
-"de una particin Linux).\n"
-"\n"
-"\n"
-"Para informacin, cada particin se lista como sigue: Nombre, "
-"Capacidad.\n"
-"\n"
-"\n"
-"Nombre se codifica as: tipo de disco, nmero de disco,\n"
-"nmero de particin (por ejemplo, hda1).\n"
-"\n"
-"\n"
-"Tipo de disco es hd si su disco es un disco IDE y es sd\n"
-"si el mismo es un disco SCSI.\n"
-"\n"
-"\n"
-"Nmero de disco siempre es una letra despus de hd o sd. Con los "
-"discos IDE:\n"
-"\n"
-" * a significa disco maestro en la controladora IDE primaria,\n"
-"\n"
-" * b significa disco esclavo en la controladora IDE primaria,\n"
-"\n"
-" * c significa disco maestro en la controladora IDE secundaria,\n"
-"\n"
-" * d significa disco esclavo en la controladora IDE secundaria.\n"
-"\n"
-"\n"
-"Con los discos SCSI, una a significa disco primario, una b significa "
-"disco secundario, etc..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Elija el disco rgido que desea borrar para instalar su\n"
-"particin Linux-Mandrake nueva. Tenga cuidado, todos los datos presentes en "
-"el\n"
-"mismo se perdern y no se podrn recuperar."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Haga clic sobre Aceptar si desea borrar todos los datos y\n"
-"las particiones presentes en este disco. Tenga cuidado, luego de hacer clic\n"
-"sobre Aceptar no podr recuperar dato o particin alguna presentes en este "
-"disco,\n"
-"incluso cualquier dato Windows.\n"
-"\n"
-"\n"
-"Haga clic sobre Cancelar para cancelar esta operacin sin perder dato o\n"
-"particin alguna presente en este disco."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Se ha detectado ms de una particin Microsoft Windows en su\n"
-"disco. Por favor, elija a cual desea cambiar el tamao para instalar su\n"
-"sistema Linux-Mandrake nuevo.\n"
-"\n"
-"\n"
-"Para informacin, cada particin se lista como sigue: Nombre Linux,\n"
-"Nombre Windows, Capacidad.\n"
-"\n"
-"Nombre Linux se codifica as: tipo de disco, nmero de disco,\n"
-"nmero de particin (por ejemplo, hda1).\n"
-"\n"
-"\n"
-"Tipo de disco es hd si su disco es un disco IDE y es sd\n"
-"si el mismo es un disco SCSI.\n"
-"\n"
-"\n"
-"Nmero de disco siempre es una letra despus de hd o sd. Con los "
-"discos IDE:\n"
-"\n"
-" * a significa disco maestro en la controladora IDE primaria,\n"
-"\n"
-" * b significa disco esclavo en la controladora IDE primaria,\n"
-"\n"
-" * c significa disco maestro en la controladora IDE secundaria,\n"
-"\n"
-" * d significa disco esclavo en la controladora IDE secundaria.\n"
-"\n"
-"\n"
-"Con los discos SCSI, una a significa disco primario, una b significa "
-"disco secundario, etc.\n"
-"Nombre Windows es la letra de la unidad de su disco bajo Windows (el "
-"primer\n"
-"disco de la particin se denomina C:"
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Por favor, sea paciente. Esta operacin puede tomar varios minutos."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Se deben formatear para su uso cualquier particin\n"
-"nueva definida (formatear significa crear un sistema de archivos).\n"
-"\n"
-"\n"
-"Ahora, puede querer reformatear algunas paraticiones ya existentes para "
-"borrar\n"
-"los datos que contienen. Si desea esto, por favor seleccione tambin las\n"
-"particiones en cuestin.\n"
-"\n"
-"\n"
-"Por favor, note que no es necesario reformatear todas las particiones pre-"
-"existentes.\n"
-"Debe reformatear las particiones que contienen el sistema operativo (tales "
-"como\n"
-"/, /usr, /var) pero no tiene que reformatear particiones que contienen "
-"datos\n"
-"que desea conservar (tpicamente /home).\n"
-"\n"
-"\n"
-"Por favor, tenga cuidado al seleccionar las particiones, luego de formatear "
-"se\n"
-"borrarn todos los datos y no podr recuperarlos en absoluto.\n"
-"\n"
-"\n"
-"Haga clic sobre Aceptar cuando est listo para formatear las particiones.\n"
-"\n"
-"\n"
-"Haga clic sobre Cancelar si desea elegir otras particiones para instalar "
-"su nuevo\n"
-"sistema operativo Linux-Mandrake."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Ahora puede seleccionar el grupo de paquetes que desea\n"
-"instalar o actualizar.\n"
-"\n"
-"\n"
-"Entonces DrakX verificar si tiene espacio suficiente para instalarlos a "
-"todos. Si no,\n"
-"le advertir. Si, de todas formas, Ud. desea seguir, se continuar con la "
-"instalacin\n"
-"de todos los grupos seleccionados pero no se instalarn algunos paquetes de "
-"inters menor.\n"
-"Al final de la lista, Ud. puede seleccionar la opcin \n"
-"Seleccin por paquetes individuales; en este caso tendr que navegar\n"
-"por ms de 1000 paquetes..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Ahora puede elegir individualmente todos los paquetes que\n"
-"desea instalar.\n"
-"\n"
-"\n"
-"Puede expandir o contraer el rbol haciendo clic sobre las opciones de la "
-"izquierda de\n"
-"la ventana de los paquetes.\n"
-"\n"
-"\n"
-"Si prefiere ver los paquetes ordenados alfabticamente, haga clic sobre el "
-"icono\n"
-"Plano y ordenado por grupo.\n"
-"Si desea que no se le avise de las dependencias, haga clic sobre "
-"Dependencias\n"
-"Automticas. Si hace esto, note que deseleccionar un paquete puede "
-"deseleccionar silenciosamente\n"
-"varios otros paquetes que dependen de este."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Si Ud. tiene todos los CDs de la lista anterior, haga clic sobre Aceptar.\n"
-"Si no tiene CD alguno, haga clic sobre Cancelar. Si slo faltan algunos "
-"CDs,\n"
-"deseleccionelos, luego haga clic sobre Aceptar."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Se instalar su nuevo sistema operativo Linux-Mandrake\n"
-"en este momento. Esta operacin debera tomar algunos minutos (depende del "
-"tamao\n"
-"que Ud. eligi instalar y de la velocidad de su computadora).\n"
-"\n"
-"\n"
-"Por favor, tenga paciencia."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Ahora puede probar su ratn. Use los botones y la rueda para verificar\n"
-"si las configuraciones son correctas. Si no lo son, puede hacer clic sobre\n"
-"Cancelar para elegir otro controlador."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Por favor seleccione el puerto correcto. Por ejemplo, el puerto COM1\n"
-"en MS-Windows, se denomina ttyS0 en GNU/Linux."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Si desea conectar su computadora a Internet o a una red\n"
-"local, por favor seleccione la opcin correcta. Por favor, encienda su "
-"dispositivo\n"
-"antes de elegir la opcin correcta para permitir que DrakX lo detecte "
-"automticamente.\n"
-"\n"
-"\n"
-"Si no tiene conexin alguna con Internet o una red local, elija\n"
-"Deshabilitar la red.\n"
-"Si desea configurar la red despus de la instalacin o si ha finalizado la\n"
-"configuracin de la misma, elija Hecho."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"No se ha detectado mdem alguno. Por favor, seleccione el puerto serie en el "
-"que est conectado.\n"
-"\n"
-"\n"
-"Para informacin, el primer puerto serie (denominado COM1 en Microsoft\n"
-"Windows) se denomina ttyS0 en Linux."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Ahora puede ingresar las opciones de acceso telefnico. Si no sabe\n"
-"o no est seguro qu ingresar, se puede obtener la informacin correcta de "
-"su\n"
-"Proveedor de Servicios de Internet. Si no ingresa la informacin de DNS\n"
-"(servidor de nombres), esta informacin ser obtenida de su Proveedor de\n"
-"Servicios de Internet al momento de la conexin."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Si su mdem es uno externo, por favor encindalo ahora para permitir que "
-"DrakX lo detecte automticamente."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Por favor, encienda su mdem y seleccione el correcto."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Si no est seguro si la informacin de arriba est\n"
-"correcta o si no sabe o no est seguro de qu ingresar, se puede obtener\n"
-"la informacin correcta de su Proveedor de Servicios de Internet. Si no "
-"ingresa\n"
-"la informacin de DNS (servidor de nombres), se obtendr la misma de su\n"
-"Proveedor de Servicios de Internet al momento de la conexin."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Ahora Ud. puede ingresar el nombre del host si es necesario. Si no\n"
-"sabe, o no est seguro, que ingresar, puede obtener la informacin correcta\n"
-"de su Proveedor de Servicios de Internet."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Ahora puede configurar su dispositivo de red.\n"
-"\n"
-" * Direccin IP: si no la conoce, o no est seguro, pregntele al "
-"administrador de la red.\n"
-" No debera ingresar una direccin IP si selecciona la opcin Direccin "
-"IP automtica.\n"
-"\n"
-" * Mscara de red: Generalmente, 255.255.255.0 es una eleccin adecuada. "
-"Si no sabe o no est seguro, pregntele al\n"
-"administrador de la red.\n"
-"\n"
-" * Direccin IP automtica: Si su red usa el protocolo BOOTP o DHCP,\n"
-"seleccione esta opcin. Si lo hace, no necesita dar valores para\n"
-"Direccin IP. Si no sabe, o no est seguro, pregntele al administrador de "
-"su red."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Ahora puede ingresar el nombre de su host si es necesario. Si no\n"
-"sabe o no est seguro, pregntele al administrador de la red."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Ahora puede ingresar el nombre de su host si es necesario. Si Ud.\n"
-"no sabe o no est seguro sobre qu poner, djelo en blanco."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Ahora Ud. puede dar las opciones de conexin por mdem. Si no est seguro\n"
-"de lo que debe ingresar, la informacin correcta puede serle comunicada por "
-"su\n"
-"proveedor de servicios de Internet."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Si va a usar proxies, por favor configrelos ahora. Si no sabe si va a usar\n"
-"proxies o no, pregnteselo al administrador de su red o a su proveedor de\n"
-"servicios de Internet."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Ud. puede instalar paquetes criptogrficos si su conexin a Internet ha "
-"sido\n"
-"configurada correctamente. Primero elija un sitio de rplica del cual bajar "
-"los\n"
-"paquetes y despus de eso seleccione los paquetes a instalar.\n"
-"\n"
-"\n"
-"Note que debe elegir el sitio de rplica y los programas criptogrficos de\n"
-"manera acorde a la legislacin de su pas."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-"Ahora puede seleccionar la zona horaria de acuerdo al lugar donde vive."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU/Linux maneja la hora en GMT (Hora del meridiano de\n"
-"Greenwich) y la convierte a la hora local de acuerdo a la zona horaria\n"
-"que Ud. haya elegido.\n"
-"\n"
-"\n"
-"Si usa Microsoft Windows en esta computadora, elija No."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Ahora puede elegir los servicios que desea que se inicien al arrancar.\n"
-"\n"
-"\n"
-"Cuando la flecha se posa sobre un elemento, aparecer una pequea ayuda\n"
-"emergente que describe el rol del servicio.\n"
-"\n"
-"\n"
-"Tenga especial cuidado en este paso si Ud. pretende usar su mquina como\n"
-"un servidor: probablemente no querr iniciar servicios que Ud. no "
-"necesitar. Por favor,\n"
-"recuerde que muchos servicios pueden ser peligrosos si se habilitan en un "
-"servidor.\n"
-"En general, seleccione slo los servicios que realmente necesita."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Ahora puede configurar una impresora local (conectada a su computadora) o "
-"una\n"
-"impresora remota (que se accede por una red Unix, Netware o Microsoft "
-"Windows)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Si desea imprimir, por favor elija un sistema de impresin entre CUPS y "
-"LPR.\n"
-"\n"
-"\n"
-"CUPS es un sistema de impresin nuevo, potente y flexible para sistemas "
-"Unix\n"
-"(CUPS significa Sistema de Impresin Comn de Unix). Este es el sistema "
-"de\n"
-"impresin predeterminado en Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR es el sistema de impresin antiguo usado en las distribuciones previas "
-"de Linux-Mandrake.\n"
-"\n"
-"\n"
-"Si no posee impresora, haga clic sobre Ninguno."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux puede manejar muchos tipos de impresora. Cada uno de ellos "
-"necesita\n"
-"una configuracin diferente.\n"
-"\n"
-"\n"
-"Si desea acceder a una impresora ubicada en una mquina Unix remota, elija\n"
-"Impresora remota.\n"
-"\n"
-"\n"
-"Si desea acceder a una impresora ubicada en una mquina Microsoft Windows "
-"remota\n"
-"(o una mquina Unix usando el protocolo SMB), seleccione SMB/Windows "
-"95/98NT."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Por favor, encienda su impresora antes de continuar para permitir que DrakX "
-"la detecte.\n"
-"\n"
-"Aqu debe ingresar alguna informacin.\n"
-"\n"
-"\n"
-" * Nombre de la impresora: la cola de impresin usa lp como el nombre "
-"predeterminado. Entonces, debe tener una impresora denominada lp.\n"
-" Si slo tiene una impresora, puede usar varios nombres para la misma. "
-"Slo necesita separarlos por un |\n"
-" Entonces, si prefiere un nombre ms significativo, tiene que "
-"anteponerlo, por ejemplo: Mi impresora|lp.\n"
-" La impresora que tenga lp en su(s) nombre(s) ser la predeterminada.\n"
-"\n"
-"\n"
-" * Descripcin: es opcional pero puede ser til si varias impresoras estn "
-"conectadas a su computadora o si Ud. permite\n"
-" que otras computadoras accedan a esta impresora.\n"
-"\n"
-"\n"
-" * Ubicacin: si desea poner alguna informacin sobre la ubicacin\n"
-" de su impresora, hgalo aqu (puede escribir lo que desee, por\n"
-" ejemplo 2do. piso).\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Aqu debe ingresar alguna informacin.\n"
-"\n"
-"\n"
-" * Nombre de la impresora: la cola de impresin usa lp como el nombre "
-"predeterminado. Entonces, debe tener una impresora denominada lp.\n"
-" Si slo tiene una impresora, puede usar varios nombres para la misma. "
-"Slo necesita separarlos por un |\n"
-" Entonces, si prefiere un nombre ms significativo, tiene que "
-"anteponerlo, por ejemplo: Mi impresora|lp.\n"
-" La impresora que tenga lp en su(s) nombre(s) ser la predeterminada.\n"
-"\n"
-"\n"
-" * Directorio de la cola: es donde se almacenan los trabajos de impresin. "
-"Deje la opcin predeterminada\n"
-" si no sabe qu poner.\n"
-"\n"
-"\n"
-" * Conexin: si su impresora est fsicamente conectada a su "
-"computadora, elija Impresora local.\n"
-" Si desea acceder a una impresora ubicada en una mquina Unix remota, "
-"elija Impresora lpd remota.\n"
-" Si desea acceder a una impresora ubicada en una mquina Microsoft "
-"Windows (o Unix que usa el\n"
-" protocolo SMB), elija SMB/Windows 95/98/NT.\n"
-" Si desea acceder a una impresora ubicada en una red NetWare, elija "
-"NetWare.\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"No se ha detectado a su impresora. Por favor, ingrese el nombre del "
-"dispositivo\n"
-"al cual est conectada.\n"
-"\n"
-"\n"
-"Para informacin, la mayora de las impresoras se conectan al primer puerto "
-"paralelo.\n"
-"Este se denomina /dev/lp0 en GNU/Linux y LPT1 en Microsoft Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Ahora debe seleccionar su impresora de la lista de arriba."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Por favor, seleccione las opciones adecuadas de acuerdo a su impresora.\n"
-"Por favor, vea la documentacin de la misma si no sabe qu elegir aqu.\n"
-"\n"
-"\n"
-"En el paso siguiente podr probar su configuracin y podr modificarla si no "
-"funciona como Ud. desea."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Ahora puede teclear la contrasea para root en su sistema Linux-Mandrake.\n"
-"Esta contrasea tiene que ser tecleada dos veces para asegurarse que ambas "
-"entradas coinciden.\n"
-"\n"
-"\n"
-"Root es el administrador del sistema y es el nico usuario que puede\n"
-"modificar la configuracin del sistema. Por lo tanto, elija la contrasea\n"
-"con cuidado! El uso no autorizado de una cuenta de administrador puede\n"
-"ser sumamente peligroso para la integridad de su sistema, los datos del "
-"mismo,\n"
-"y los otros sistemas con los cuales est conectado.\n"
-"\n"
-"\n"
-"La contrasea debera ser una mezcla de letras y cifras de por lo menos 8\n"
-"caracteres de largo. Nunca debera escribirse en otro lado.\n"
-"Sin embargo, no haga la contrasea demasiado larga o complicada:\n"
-"tiene que poder recordarla sin demasiado esfuerzo."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Para habilitar un sistema ms seguro, debera elegir Usar archivo shadow "
-"y\n"
-"Usar contrasea con MD5."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Si su red local usa NIS, seleccione Usar NIS. Si no sabe, pregntele\n"
-"al administrador de la red."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Ahora puede ahora crear una o varias cuentas de usuarios regulares,\n"
-"en oposicin a la cuenta del usuario privilegiado, root.\n"
-"Puede crear una o ms cuenta(s) para cada persona a la cual quiere\n"
-"permitirle el uso de la computadora. Note que cada cuenta de usuario tendr\n"
-"sus preferencias (entorno grfico, configuracin de los programas, etc.)\n"
-"y su propio directorio presonal en el cual se almacenarn\n"
-"dichas preferencias.\n"
-"\n"
-"\n"
-"Antes que nada, cree una cuenta para Ud. mismo! Incluso si Ud. es la nica\n"
-"persona que usar la mquina, NO debe conectarse como root para el uso "
-"cotidiano\n"
-"del sistema: es un riesgo de seguridad elevado. El hacer que el\n"
-"sistema quede totalmente inoperante muchas veces est slo a un error de \n"
-"tecleo de distancia.\n"
-"\n"
-"\n"
-"Es por esto que debe conectarse al sistema usando la cuenta de usuario "
-"regular que\n"
-"va a crear aqu, y conectarse como root slo para las tareas de "
-"administracin\n"
-"que as lo requieran."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Es altamente recomendable crear un disquete de arranque. Si no puede\n"
-"arrancar a su computadora, el mismo es la nica manera de rescatarla sin "
-"volver a instalarla."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Debe indicar donde desea poner la informacin\n"
-"necesaria para arrancar GNU/Linux.\n"
-"\n"
-"\n"
-"A menos que sepa exactamente lo que hace, elija siempre\n"
-"\"Primer sector del disco (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"A menos que sepa especficamente que est en otro sitio, se usa\n"
-"habitualmente la /dev/hda (el disco principal del primer canal IDE)\n"
-"o /dev/sda (el primer disco SCSI)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (el LInux LOader) y Grub son cargadores de arranque: pueden arrancar\n"
-"GNU/Linux o cualquier otro sistema operativo presente en su computadora.\n"
-"Normalmente, estos otros sistemas operativos se detectan y se instalan\n"
-"correctamente. De no ser as, Ud. puede agregar una entrada a mano en esta\n"
-"pantalla. Tenga cuidado de elegir los parmetros correctos.\n"
-"\n"
-"\n"
-"Ud. tambin podra no querer dar acceso a estos otros sistemas operativos a\n"
-"cualquiera, en cuyo caso puede borrar las entradas correspondientes. Pero\n"
-"en este caso, necesitar un disquete de arranque para poder arrancarlos!"
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"Las opciones principales de LILO y grub son:\n"
-" - Dispositivo de arranque: Define el nombre del dispositivo (ej: una\n"
-"particin del disco rgido) que contiene el sector de arranque. A menos que\n"
-"sepa especficamente que est en otro sitio, elija /dev/hda.\n"
-"\n"
-"\n"
-" - Demora antes de arrancar la imagen predeterminada: Especifica el "
-"tiempo,\n"
-"en dcimas de segundo, que el arrancador debe esperar antes de arrancar\n"
-"la primer imagen. Esto es til en sistemas que arrancan directamente desde\n"
-"el disco rgido despus de activar el teclado. El arrancador no espera si\n"
-"se omite Demora o es igual a cero.\n"
-"\n"
-"\n"
-" - Modo de vdeo: Esto especifica el modo de texto VGA que debera "
-"seleccionarse\n"
-"al momento del arranque. Estn disponibles los valores siguientes: \n"
-"\n"
-" * normal: selecciona el modo de texto normal de 80x25.\n"
-"\n"
-" * <nmero>: usa el modo de texto correspondiente.\n"
-"\n"
-" - Borrar /tmp al arrancar: si desea borar todos los archivos y "
-"directorios\n"
-"almacenados en /tmp cada vez que arranca, seleccione esta opcin.\n"
-"\n"
-"\n"
-" - Precisar el tamao de la RAM si es necesario: desafortunadamente, no "
-"hay\n"
-"una forma estndar de preguntar al BIOS la cantidad de RAM de su "
-"computadora. como\n"
-"consecuencia, Linux puede fallar en detectar la RAM. Si este es el caso,\n"
-"puede especificar la cantidad correcta de RAM aqu. Por favor, note que una "
-"diferencia\n"
-"de 2 o 4 MB entre la memoria detectada y la presente en su sistema es normal."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot es un cargador de arranque para hardware NewWorld MacIntosh. Puede\n"
-"arrancar bien GNU/Linux, MacOS, o MacOSX, si estn presentes.\n"
-"Normalmente, se detectan e instalan correctamente estos otros sistemas\n"
-"operativos. Si este no es el caso, puede agregar una entrada a mano en esta\n"
-"pantalla. Tenga cuidado en elegir los parmetros correctos.\n"
-"\n"
-"\n"
-"Las opciones principales de Yaboot son:\n"
-"\n"
-"\n"
-" - Mensaje Inicial: Un texto simple que se muestra antes de la invitacin\n"
-"de arranque.\n"
-"\n"
-"\n"
-" - Dispositivo de arranque: Indica donde desea poner la informacin "
-"necesaria para \n"
-"arrancar GNU/Linux. Generalmente, habr configurado una particin de "
-"bootstrap con anterioridad \n"
-"para contener esta informacin.\n"
-"\n"
-"\n"
-" - Demora de Open Firmware: A diferencia de LILO, hay dos demoras "
-"posibles \n"
-"con yaboot. La primera se mide en segundos y ahora puede elegir entre CD, \n"
-"arranque OF, MacOS, o Linux.\n"
-"\n"
-"\n"
-" - Demora de arranque del Ncleo: Esta demora es simliar a la de LILO. "
-"Despus de \n"
-"seleccionar Linux, tendr esta demora en dcimas de segundo antes de que se "
-"seleccione \n"
-"su descripcin predeterminada del ncleo.\n"
-"\n"
-"\n"
-" - Habilitar arranque del CD?: Marcar esta opcin le permitir elegir 'C' "
-"para \n"
-"arrancar del CD en la primer invitacin de arranque.\n"
-"\n"
-"\n"
-" - Habilitar arranque de OF?: Marcar esta opcin le permitir elegir 'N' "
-"para \n"
-"arrancar Open Firmware en la primer invitacin de arranque.\n"
-"\n"
-"\n"
-" - SO Predeterminado: Puede seleccionar el SO que arrancar de forma "
-"predeterminada \n"
-"cuando expira la demora de Open Firmware."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"Puede agregar entradas adicionales para yaboot, ya sea para otros sistemas "
-"operativos,\n"
-"ncleos alternativos, o para una imagen de arranque de emergencia.\n"
-"\n"
-"\n"
-"Otros SO's, la entrada consiste slo de una etiqueta y de la particin "
-"raz.\n"
-"\n"
-"\n"
-"Para Linux, hay algunas opciones posibles: \n"
-"\n"
-"\n"
-" - Etiqueta: Es simplemente el nombre que ingresar en la invitacin de "
-"yaboot \n"
-"para seleccionar esta opcin.\n"
-"\n"
-"\n"
-" - Imagen: Sera el nombre del ncleo a arrancar. Tpicamente vmlinux o una "
-"variacin\n"
-"de vmlinux con una extensin.\n"
-"\n"
-"\n"
-" - Raz: El dispositivo raz o '/' para su instalacin de Linux.\n"
-"\n"
-"\n"
-" \n"
-" - Agregar: En hardware Apple, la opcin del ncleo 'append' se usa "
-"bastante seguido\n"
-"para asistir en la inicializacin del hardware de vdeo, o para habilitar la "
-"emulacin\n"
-"del botn del ratn del teclado para el generalmente faltante 2do o 3er "
-"botn del ratn\n"
-"en un ratn tpico de Apple. Los siguientes son \n"
-"algunos ejemplos:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: Esta opcin se puede usar bien para cargar mdulos iniciales, "
-"antes que \n"
-"el dispositivo de arranque est disponible, o bien para cargar una imagen de "
-"ramdisk para una situacin de arranque de emergencia.\n"
-"\n"
-"\n"
-" - Initrd-tamao: El tamao predeterminado de ramdisk es 4096 bytes. Si "
-"desara\n"
-"asignar un tamao mayor, se puede usar esta opcin.\n"
-"\n"
-"\n"
-" - Lectura-escritura: Normalmente la particin 'raz' se arranca como de "
-"slo lectura, para permitir\n"
-"una verificacin del sistema de archivos antes que el sistema se "
-"'despierte'. Puede cambiar esta opcin aqu.\n"
-"\n"
-"\n"
-" - NoVideo: En caso que el hardware de Apple se excepcionalmente "
-"problemtico puede\n"
-"seleccionar esta opcin para arrancar en modo 'novideo' con soporte nativo "
-"para el framebuffer.\n"
-"\n"
-"\n"
-" - Predeterminada: Selecciona esta entrada como la seleccin predeterminada "
-"de Linux, \n"
-"simplemente presionando INTRO en la invitacin de yaboot. Tambin se marcar "
-"esta entrada con\n"
-"un '*', si presiona TAB para ver las selecciones de arranque."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO es un cargador de arranque para SPARC: puede arrancar ya sea GNU/Linux\n"
-"o cualquier otro sistema operativo presente en su computadora.\n"
-"Normalmente, estos otros sistemas operativos se detectan y se instalan\n"
-"correctamente. De no ser as, Ud. puede agregar una entrada a mano en esta\n"
-"pantalla. Tenga cuidado de elegir los parmetros correctos.\n"
-"\n"
-"\n"
-"Ud. tambin podra no querer dar acceso a estos otros sistemas operativos a\n"
-"cualquiera, en cuyo caso puede borrar las entradas correspondientes. Pero\n"
-"en este caso, necesitar un disquete de arranque para poder arrancarlos!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"Las opciones principales de SILO son:\n"
-" - Instalacin del cargador de arranque: Indique donde desea poner la\n"
-"informacin necesaria para arrancar GNU/Linux. A menos que sepa exactamente\n"
-"lo que esta haciendo, elija Primer sector del disco (MBR).\n"
-"\n"
-"\n"
-" - Demora antes de arrancar la imagen predeterminada: Especifica el tiempo\n"
-"en dcimas de segundo que el cargador de arranque debera esperar antes de\n"
-"arrancar la primera imagen. Esto es til en sistemas que arrancan desde el\n"
-"disco rgido inmediatamente despues de habilitar el teclado. El cargador de\n"
-"arranque no espera si delay se omite o se configura en cero."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Ahora es el momento de configurar el sistema X Window, el cual es\n"
-"el centro de la interfaz grfica de GNU/Linux. Para ello necesita "
-"configurar\n"
-"su tarjeta de vdeo y su monitor. La mayora de esos pasos estn "
-"automatizados\n"
-"as que probablemente su tarea se limite a verificar lo que se hizo\n"
-"y aceptar la configuracin propuesta :-)\n"
-"\n"
-"\n"
-"Cuando la configuracin haya terminado se lanzar el servidor X\n"
-"(a menos que Ud. le pida a DrakX lo contrario), de manera que pueda "
-"comprobar\n"
-"si todo est bien y se corresponde con lo que desea. Si no, puede volver "
-"atrs y cambiar la configuracin tantas veces como sea necesario."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Si algo est mal en la configuracin de X, use estas opciones para\n"
-"configurar correctamente el X Window System."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Si prefiere usar una pantalla de conexin grfica, pulse S.\n"
-"De otro modo, pulse No."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Puede elegir un nivel de seguridad para su sistema. Por favor, refirase al "
-"manual para\n"
-"informacin completa. Bsicamente, si no sabe qu elegir, mantenga la opcin "
-"predeterminada.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Su sistema va a ser reinicializado.\n"
-"\n"
-"Despus del arranque, se cargar automticamente su sistema Linux Mandrake.\n"
-"Si desea arrancar con otro sistema operativo,\n"
-"por favor, lea las instrucciones adicionales."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Elija su idioma"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Clase de instalacin"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Deteccin del disco rgido"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Configuracin del ratn"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Elija su teclado"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Seguridad"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Sistemas de archivos"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formateo de particiones"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Elija los paquetes a instalar"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Instalar el sistema"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Contrasea de root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Aadir un usuario"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Configurar la red"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Sumario"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Servicios al inicio"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Crear un disco de arranque"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Instalar LILO"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Configuracin de X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Salir de la instalacin"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"Ha seleccionado los servidores siguientes: %s\n"
-"\n"
-"\n"
-"Estos servidores se activan por defecto. No tienen problemas conocidos de\n"
-"seguridad, pero se pueden encontrar nuevos. En ese caso, debe asegurarse de "
-"actualizar\n"
-"tan pronto como sea posible.\n"
-"\n"
-"\n"
-"Realmente desea instalar estos servidores?\n"
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "No se puede usar difusin sin un dominio NIS"
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Inserte un disquete formateado con FAT en la disquetera %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Este disquete no est formateado con FAT"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Para utilizar esta seleccin de paquetes salvada, arranque la instalacin "
-"con ``linux defcfg=floppy''"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Error al leer el archivo $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Aceptar"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Pruebe su ratn, por favor."
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Para activar el ratn,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "MUEVA SU RUEDA!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Algn hardware de su computadora necesita controladores propietarios para "
-"funcionar.\n"
-"Puede encontrar algo de informacin sobre ellos en: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Debe tener una particin raz.\n"
-"Para ello, cree una particin (o haga clic sobre una que ya existe).\n"
-"Luego elija la accin Punto de montaje y defnalo como /"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Debe tener una particin de intercambio"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"No dispone de una particin de intercambio\n"
-"\n"
-"desea continuar de todas formas?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Usar espacio libre"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "No hay espacio libre suficiente para asignar a particiones nuevas"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Usar particin existente"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "No hay particin existente alguna para usar"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Usar la particin Windows para loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Qu particin desea usar para Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Elija los tamaos"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Tamao de la particin raz en MB: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Tamao de la particin de intercambio en MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Usar el espacio libre de la particin Windows"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "A qu particin desea cambiarle el tamao?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Calculando los lmites del sistema de archivos Windows"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"El cambiador de tamao de FAT no puede manejar su particin, \n"
-"occurri el error siguiente: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Su particin Windows est muy fragmentada, por favor primero ejecute defrag"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"ADVERTENCIA!\n"
-"\n"
-"Ahora DrakX cambiar el tamao a su particin Windows. Proceda con cuidado:\n"
-"esta operacin es peligrosa. Si an no lo hizo, primero debera salir de\n"
-"la instalacin, ejecutar scandisk bajo Windows (y opcionalmente el defrag),\n"
-"luego volver a iniciar la instalacin. Tambin debera hacer una copia de\n"
-" respaldo de sus datos.\n"
-"Cuando est seguro, pulse sobre Aceptar."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Qu tamao desea conservar para windows en la"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "particin %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Fall el redimensionado de la FAT: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"No hay particiones FAT a redimensionar o para usar como loopback (o no queda "
-"espacio suficiente)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Borrar el disco entero"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Quitar Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Ud. tiene ms de un disco rgido, sobre cual desea instalar Linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "Se perdern TODAS las particiones y sus datos en la unidad %s"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Particionado de disco personalizado"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Use fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Ahora puede particionar a %s.\n"
-"Cuando haya terminado, no olvide de guardar usando w"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "No le queda espacio libre suficiente en la particin Windows"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "No puedo encontrar lugar alguna para instalar"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-"El Asistente de particionado de DrakX encontr las soluciones siguientes:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Fall el particionado: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Levantando la red"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Bajando la red"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Ocurri un error y no s como manejarlo de manera limpia,\n"
-"continue bajo su propio riesgo."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Punto de montaje %s duplicado"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Algunos paquetes importantes no fueron instalados correctamente.\n"
-"Seguramente su lector de CD, o su CD de instalacin sean defectuosos.\n"
-"Compruebe el CD de instalacin en un sistema ya existente con el comando:\n"
-" rpm -qpl Mandrake/RPMS/*.rpm\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Bienvenido a %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Ninguna disquetera disponible"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Entrando en la etapa `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Elija el tamao de lo que desea instalar"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Tamao total: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Versin: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Tamao: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Elija los paquetes que desea instalar"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Instalar"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Instalando"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Espere por favor, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Tiempo restante "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Tiempo total "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Preparando la instalacin"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Instalando el paquete %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Seguir adelante?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Hubo un error al ordenar los paquetes:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Usar la configuracin existente para X11?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Su sistema tiene pocos recursos. Puede tener algn problema instalando\n"
-"Linux-Mandrake. Si eso ocurre, puede intentar una instalacin tipo texto.\n"
-"Para ello, presione F1 cuando arranque desde el CDROM, e ingrese text."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Por favor, elija una de las clases de instalacin siguientes:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr ""
-"El tamao total para los grupos que seleccion es aproximadamente %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Si desea instalar por un tamao total inferior,\n"
-"elija el porcentaje de paquetes que desea instalar.\n"
-"\n"
-"Un porcentaje bajo instalar slo los paquetes ms importantes;\n"
-"un porcentaje de 100%% instalar todos los paquetes seleccionados."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Tiene espacio en disco para slo %d%% de esos paquetes.\n"
-"\n"
-"Si desea instalar menos que eso,\n"
-"elija el porcentaje de paquetes que desea instalar.\n"
-"Un porcentaje bajo instalar slo los paquetes ms importantes;\n"
-"un porcentaje de %d%% instalar todos los que sea posible."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Podr elegirlos ms detalladamente en la etapa siguiente"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Porcentaje de paquetes a instalar"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Seleccin por grupos de paquetes"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Seleccin por paquetes individuales"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Mostrar paquetes seleccionados automticamente"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Expandir el rbol"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Contraer el rbol"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Cambiar entre vista plana y ordenada por grupos"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Paquete incorrecto"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nombre: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Importancia: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Tamao total: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"No puede seleccionar este paquete, no hay espacio suficiente para instalarlo"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Se van a instalar los paquetes siguientes"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Se van a quitar los paquetes siguientes"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "No puede seleccionar/deseleccionar este paquete"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Este es un paquete obligatorio, no puede desmarcarlo"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "No puede desmarcar este paquete. Ya est instalado"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Se debe actualizar este paquete\n"
-"Est seguro que quiere desmarcarlo?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "No puede desmarcar este paquete. Debe ser actualizado"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Estimando"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Preparando la instalacin, por favor espere"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d paquetes"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Importante\n"
-"\n"
-"Favor leer cuidadosamente el presente documento. En caso de desacuerdo\n"
-"con el presente documento, no esta autorizado a instalar los dems\n"
-"CDs. En este caso seleccione 'Rehusar' para seguir la instalacin sin\n"
-"estos CDs.\n"
-"\n"
-"\n"
-"Algunos componentes de software contenidos en los siguientes CDs no\n"
-"estan sometidos a las licencias GPL o parecidas permitiendo la copia,\n"
-"adaptacin o redistribucin. Cada uno de los componentes de software\n"
-"esta distribuido bajo los trminos y condiciones de un acuerdo de\n"
-"licencia propio. Favor referirse a ste y aceptarlo antes de instalar,\n"
-"usar o redistribuirlo. Generalmente, estas licencias no autorizan la\n"
-"copia (otra que copia de respaldo), la distribucin, decompilacin,\n"
-"deasemblaje, ingenieria inversa, reconstitucin de la lgica del\n"
-"programa y/o modificacin, salvo en la medida y para las necesidades\n"
-"autorizadas por las Leyes vigentes. Toda violacin de la licencia\n"
-"vigente implica generalmente la caducidad de est, sin perjuicio a\n"
-"todos los dems derechos o acciones dirigidos en contra Ud. Salvo si\n"
-"el acuerdo de licencia lo autoriza, no puede instalar estos programas\n"
-"en ms de una mquina, ni adaptarlos para un uso en red. Si fuese\n"
-"necesario, favor contactar el distribuidor de cada programa para\n"
-"obtener licencias adicionales. La distribucin a terceros de copias de\n"
-"los programas o de la documentacin que lo acompaa es generalmente\n"
-"prohibida.\n"
-"\n"
-"\n"
-"Todos los derechos, ttulos e intereses de esos programas son la\n"
-"propiedad exclusiva de sus autores respectivos y son protegidos por el\n"
-"derechoh de propiedad intelectual y otras leyes aplicadas al derecho\n"
-"del software.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Aceptar"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Rechazar"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Cambie su Cd-Rom!\n"
-"\n"
-"Inserte el Cd-Rom etiquetado %s en la unidad y pulse Aceptar cuando lo "
-"haya hecho.\n"
-"Si no lo posee, pulse Cancelar para cancelar la instalacin desde este Cd-"
-"Rom."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Hubo un error al instalar los paquetes:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Ocurri un error"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Por favor, elija el idioma a usar."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-"Puede elegir otros idiomas los cuales estarn disponibles despus de la "
-"instalacin"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Todo"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Acuerdo de Licencia"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"EL PRESENTE TEXTO ES UNA TRADUCCION A PROPOSITO EXCLUSIVAMENTE\n"
-"INFORMATIVO DE LOS TERMINOS DE LA LICENCIA DE LINUX-MANDRAKE. EN\n"
-"NINGUN CASO LA PRESENTE TRADUCCION TIENE VALOR LEGAL SIENDO OFICIAL\n"
-"EXCLUSIVAMENTE LA VERSION EN FRANCES DE LA LICENCIA DE LINUX-MANDRAKE.\n"
-"No obstante, esperamos que esta traduccin ayudar a los que hablan\n"
-"Castellano a entenderla mejor.\n"
-"\n"
-"\n"
-"Introduccin\n"
-"\n"
-"El conjunto de elementos que incluye el sistema operativo y los\n"
-"diferentes componentes disponibles en la distribucin Linux-Mandrake\n"
-"son nombrados en adelante \"Programas\". Los programas incluyen en\n"
-"particular, pero de manera no limitativa, el conjunto de programas,\n"
-"procedimientos, reglas y documentaciones relativas al sistema\n"
-"operativo y a los diferentes componentes de la distribucin\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"1. Licencia\n"
-"\n"
-"Le rogamos leer cuidadosamente este documento. ste constituye un\n"
-"contrato de licencia entre Ud. (persona fsica o persona moral) y\n"
-"MandrakeSoft S.A. aplicado a los programas. El hecho de instalar, de\n"
-"reproducir o de usar los programas de cualquiera manera que sea indica\n"
-"que Ud. reconoce haber tenido conocimiento preliminar, y aceptado\n"
-"conformarse a los trminos y condiciones del presente contrato de\n"
-"licencia. En caso de desacuerdo con el documento presente no esta\n"
-"autorizado a instalar, reproducir y usar de cualquiera manera que sea\n"
-"este producto. El contrato de licencia sera automticamente anulado\n"
-"sin aviso previo en el caso que no se conformara a las disposiciones\n"
-"de este documento. En caso de anulacin Ud. tendr que anular\n"
-"inmediatamente todo ejemplar y todas las copias de todos los programas\n"
-"y de todas las documentaciones que constituyen el sistema operativo y\n"
-"los diferentes componentes disponibles en en la distribucin\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"2. Garanta y limitaciones de garanta\n"
-"\n"
-"Los programas y la documentacin que los acompaa son proporcionados\n"
-"en el estado y sin garanta ninguna. MandrakeSoft S.A. dclina toda\n"
-"no se responsabiliza de las consecuencias de un dao directo,\n"
-"especial, indirecto o accesorio, de cualquiera naturaleza que sea, en\n"
-"relacin con la utilizacin de los programas, en particular y de\n"
-"manera no limitativa, todos daos resultados por perdidas de\n"
-"beneficio, interrupcin de actividad, prdida de informaciones\n"
-"comerciales u otras perdidas financieras, as que por eventuales\n"
-"condenaciones y indemnizacines debidas consecuentes a una decisin de\n"
-"justicia, y eso incluso si MandrakeSoft S.A. fue informada de la\n"
-"aparicin o eventualidad de tales daos.\n"
-"\n"
-"ADVERTENCIA EN CUANTO AL POSEER O USO DE PROGRAMAS PROHIBIDOS\n"
-"EN CIERTOS PASES\n"
-"\n"
-"En ningn caso, ni MandrakeSoft S.A. ni sus proveedores podrn ser\n"
-"tenidos responsables por un perjuicio especial, directo, indirecto o\n"
-"accesorio, de cualquiera naturaleza que sea (en particular y de manera\n"
-"no limitativa, perdidas de beneficio, interrupcin de actividad,\n"
-"prdida de informaciones comerciales u otras perdidas financieras, as\n"
-"que por eventuales condenaciones y indemnizacines debidas\n"
-"consecuentes a una decisin de justicia) que resultara de la\n"
-"utilizacin, detencin o simple baja desde une de los sitios de\n"
-"transferencia de Linux-Mandrake de programas prohibidos por la\n"
-"legislacin a la cual Ud. esta sometido. Esta advertencia se aplica en\n"
-"particular a algunos programas de criptografia suplidos con los\n"
-"programas.\n"
-"\n"
-"\n"
-"3. Licencia GPL y otras licencias\n"
-"\n"
-"Los Programas estn constituidos por mdulos de programas creados por\n"
-"diversas personas (fsicas o morales). Muchos de ellos estn\n"
-"distribuidos bajo los trminos de la Licencia Pblica General GNU\n"
-"(denominada aqu abajo \"GPL\") u otras licencias parecidas. La mayora\n"
-"de estas licencias le permiten copiar, adaptar o redistribuir los\n"
-"mdulos de programas que cubren. Favor leer y aceptar los trminos y\n"
-"condiciones de las licencias acompaando cada uno de ellos antes de\n"
-"usarlos. Toda pregunta relativa a la licencia se debe someter al autor\n"
-"(o su representante) del dicho programa, y no a MandrakeSoft. Los\n"
-"programas desarrollados por MandrakeSoft son sometidos a la licencia\n"
-"GPL. La documentacin escrita por MandrakeSoft esta sometida a una\n"
-"licencia especifica. Favor de referirse a la documentacin para\n"
-"obtener ms informacin.\n"
-"\n"
-"\n"
-"4. Propiedad intelectual\n"
-"\n"
-"Todos los derechos, ttulos e intereses de los diferentes Programas\n"
-"son la propiedad exclusiva de sus autores respectivos y son protegidos\n"
-"por el derecho de propiedad intelectual y otras leyes aplicadas al\n"
-"derecho de programas. Las marcas \"Mandrake\" y \"Linux-Mandrake\" as\n"
-"como los logtipos asociados son registrados por MandrakeSoft S.A.\n"
-"\n"
-"\n"
-"5. Disposiciones diversas\n"
-" \n"
-"Si alguna disposicin de este contrato de licencia estuviera declarada\n"
-"nula, ilegal o inaplicable por un tribunal competente, esta\n"
-"disposicin sera excluida del presente contrato. Sin embargo\n"
-"Ud. seguir sometido a las otras disposiciones, que recibirn sus\n"
-"plenos efectos. El contrato de licencia es sometido a la Ley\n"
-"francesa. Toda pregunta o protesta relativa a las presentes sera\n"
-"resuelto en primer lugar por va amigable. En caso de desacuerdo con\n"
-"MandrakeSoft S.A., el litigio ser sometido a los tribunales\n"
-"competentes de Pars, Francia. Para toda pregunta relacionada con\n"
-"este documento, favor dirigirse a MandrakeSoft S.A.\n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Teclado"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Seleccione el tipo de su teclado."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Aqu tiene la lista completa de teclados disponibles"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Clase de instalacin"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Qu clase de instalacin desea?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Instalacin/Actualizacin"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Es una instalacin o una actualizacin?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Recomendada"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Experto"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Actualizacin"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Seleccione el tipo de su ratn, por favor."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Puerto del ratn"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Seleccion el puerto serie al cual est conectado el ratn."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Emulacin de los botones"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Emulacin del botn 2"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Emulacin del botn 3"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Configurando tarjetas PCMCIA..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Configurando dispositivos IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "ninguna particin disponible"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Rastreando particiones para encontrar puntos de montaje"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Seleccione los puntos de montaje"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"No puedo leer su tabla de particiones, est demasiado deteriorada para m:(\n"
-"Intentar poner en blanco las particiones malas (se perdern TODOS LOS "
-"DATOS!).\n"
-"La otra solucin es no permitir que DrakX modifique la tabla de "
-"particiones.\n"
-"(el error es %s)\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake no pudo leer correctamente la tabla de particiones.\n"
-"Continue bajo su propio riesgo!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Particin raz"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Cual es la particin raz (/) de su sistema?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"Necesita reiniciar el equipo para que se tome en cuenta la modificacin\n"
-"de la tabla de particiones."
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Elija las particiones que desea formatear"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Verificar el disco en busca de bloques malos?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Formateando las particiones"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Creando y formateando el archivo %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-"Espacio en intercambio insuficiente para completar la instalacin, aada un "
-"poco"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Buscando los paquetes disponibles"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Encontrando los paquetes a actualizar"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Su sistema no tiene espacio suficiente para instalar o actualizar (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Completa (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Mnima (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Recomendada (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Personalizada"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr "El tamao seleccionado es mayor que el disponible"
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Si Ud. tiene todos los CD de la lista siguiente, haga clic sobre Aceptar.\n"
-"Si no tiene CD alguno, haga clic sobre Cancelar.\n"
-"Si slo faltan algunos CD, desmrquelos y haga clic sobre Aceptar."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom etiquetado \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Instalando el paquete %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Configuracin posterior a la instalacin"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Ahora, Ud. tiene la posibilidad de bajar por la red paquetes especficos\n"
-"durante el procedimiento de instalacin, incuidos programas de cifrado.\n"
-"\n"
-"ADVERTENCIA:\n"
-"\n"
-"Debido a las diferencias de los requisitos aplicables a ese tipo de\n"
-"programas por las distintas jurisdicciones, es el cliente y/o el usuario "
-"final\n"
-"de dichos programas quien debe verificar que las leyes de su jurisdiccin "
-"le\n"
-"permiten bajar, guardar y/o utilizar dichos programas.\n"
-"\n"
-"En particular el cliente y/o usuario final debe tomar especial cuidado\n"
-"de no violar las leyes de su jurisdiccin. En el caso de que el cliente y/o\n"
-"el usuario final no respetase las condiciones de las leyes que le son\n"
-"aplicables, es posible que sea severamente sancionado por la ley.\n"
-"\n"
-"En ningn caso puede MandrakeSoft ni ninguno de sus fabricantes y/o\n"
-"distribuidores ser tomado por responsanble por daos especiales, directos\n"
-"o inderectos de cualquier tipo (incluyendo, pero sin limitarse a, prdida\n"
-"de beneficios, ruptura de negocios, prdida de datos comerciales u otras\n"
-"prdidas pecuniarias, o eventuales responsabilidades e indemnizaciones\n"
-"a pagar debido a decisiones de la justicia) que puedan ocurrir mediante el\n"
-"uso, posesin o el slo hecho de bajar por Internet u otro medio, programas\n"
-"a los cuales el cliente y/o usuario final tenga accesso despus de haber\n"
-"firmado el presente convenio.\n"
-"\n"
-"Para preguntas relativas a este convenio, contacte con\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Elija un sitio espejo del cual bajar los paquetes"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Contactando al espejo para obtener la lista de paquetes disponibles"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Elija los paquetes que desea instalar"
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Cual es su zona horaria?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "El reloj interno de la computadora usa la hora GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Servidor CUPS remoto"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Sin impresora"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Ratn"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Zona horaria"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Impresora"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "Tarjeta RDSI"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Tarjeta de sonido"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "Tarjeta de TV"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Qu sistema de impresin desea usar?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Sin contrasea"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"Esta contrasea es demasiado simple\n"
-"(tiene que tener por lo menos %d caracteres de largo)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Usar NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "pginas amarillas (NIS)"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Autenticacin NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "Dominio NIS"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "Servidor NIS"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Un disquete de arranque personalizado da la posibilidad de arrancar su "
-"equipo\n"
-"bajo Linux sin depender del cargador de arranque normal. Esto puede ser "
-"til\n"
-"si no desea instalar SILO en su sistema, o si otro sistema operativo borra\n"
-"a SILO, o si SILO no funciona con su configuracin de hardware. Un "
-"disquete\n"
-"de arranque personalizado tambin puede usarse con la imgen de rescate de\n"
-" Mandrake haciendo as mucho ms fcil la recuperacin en caso de fallo\n"
-"grave del sistema.\n"
-"\n"
-"Si desea crear un disquete de arranque para su sistema, inserte un disquete\n"
-"en la primer disquetera y presione Aceptar."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Primera disquetera"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Segunda disquetera"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Omitir"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Un disquete de arranque personalizado da la posibilidad de arrancar su "
-"equipo\n"
-"bajo Linux sin depender del cargador de arranque normal. Esto puede ser "
-"til\n"
-"si no desea instalar lilo (o grub) en su sistema, o si otro sistema "
-"operativo lo borra,\n"
-"o si lilo no funciona con su configuracin de hardware. Un disquete de "
-"arranque\n"
-"personalizado tambin puede usarse con la imgen de rescate de Mandrake,\n"
-"haciendo as mucho ms fcil la recuperacin en caso de fallo grave del "
-"sistema.\n"
-"Desea crear un disquete de arranque para su sistema?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Disculpe, pero no hay disquetera alguna disponible"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Elija la disquetera que desea usar para crear el disco de arranque"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Inserte un disquete en la disquetera %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Creando el disquete de arranque"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Preparando el cargador de arranque"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Desea usar aboot?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Ocurri un error al instalar aboot, \n"
-"desea forzar la instalacin incluso si ello puedo destruir la 1 particin?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-"Fall la instalacin del cargador de arranque. Ocurri el error siguiente:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Necesitar cambiar el dispositivo de arranque de Open Firmware para\n"
-" habilitar el arrancador. Si no ve el prompt del arrancador al reiniciar,\n"
-" mantenga presionado Command-Option-O-F e ingrese:\n"
-" setenv boot-device $of_boot, \\:tbxi\n"
-" Luego ingrese: shut-down\n"
-"La prxima vez que arranque debera ver el prompt del arrancador."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Baja"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Media"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Alta"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Elegir el nivel de seguridad"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-"Desea generar un disquete de auto-instalacin para replicar el sistema?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Inserte un disquete en blanco en la unidad %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Creando el disquete de auto-instalacin"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Algunas de las etapas no fueron completadas.\n"
-"\n"
-"Realmente desea salir ahora?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Felicidades, la instalacin est completa.\n"
-"Quite el disco de arranque de la unidad y presione [Intro] para reiniciar.\n"
-"\n"
-"Para informacin sobre correcciones disponibles para esta versin\n"
-"de Linux Mandrake, consulte el archivo de erratas disponible en\n"
-"http://www.linux-mandrake.com.\n"
-"\n"
-"Para informacin sobre la configuracin de su sistema, despus\n"
-"de la instalacin, hay un captulo en la Gua del Usuario\n"
-"de Linux Mandrake oficial."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Generar un disquete de auto-instalacin"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"La auto instalacin puede automatizarse por completo si lo desea,\n"
-"en ese caso se aduear del disco rgido!\n"
-"(la intencin de esto es para instalar en otra computadora).\n"
-"\n"
-"Podra preferir reproducir la instalacin.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automatizada"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Reproducir"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Guardar la seleccin de paquetes"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Instalacin %s de Linux-Mandrake"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> entre elementos|<espacio> seleccionar|<F12> pantalla sig. "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "falta kdesu"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Avanzada"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Espere por favor"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Ambigedad (%s), sea ms preciso\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Eleccin incorrecta, intente de nuevo\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (por omisin %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Su eleccin? (por omisin %s)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Su eleccin? (por omisin %s, teclee `none' para ninguno)"
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Checo (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Alemn"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Teclado dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Espaol"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finlands"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Francs"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Noruego"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polaco"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Ruso"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Britnico"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Estadounidense"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armenio (antiguo)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armenio (nuevo)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armenio (fontico)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbadjn (latino)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbadjn (cirlico)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belga"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Blgaro"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasileo (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Bieloruso"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Suizo (germnico)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Suizo (francs)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Checo (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Checo (programadores)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Alemn (sin teclas muertas)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Dans"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Teclado Dvorak (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Teclado Dvorak (Noruego)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Teclado de Estonia"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgiano (estilo Ruso)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgiano (estilo Latino)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Griego"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hngaro"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Croata"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israel"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israel (fontico)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iran"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Teclado Islands"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italiano"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japons de 106 teclas"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Teclado Coreano"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latinoamericano"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Macedonio"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Holands"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Teclado de Lituania (AZERTY antiguo)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Teclado de Lituania (AZERTY nuevo)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Teclado de Lituania (QWERTY numrico)"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Teclado de Lituania (QWERTY fontico)"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polaco (QWERTY)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polaco (QWERTZ)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugus"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Canadiense (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Ruso (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Sueco"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Esloveno"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Eslovaco (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Eslovaco (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Eslovaco (programadores)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Tailands"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turco (modelo F tradicional)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turco (modelo Q moderno)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ucraniano"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Estadounidense (con acentos)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Teclado de Vietnam (QWERTY numrico)"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Yugoeslavo (latino/cirlico)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Quite los volmenes lgicos primero\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Ratn SUN"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Estndar"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Ratn genrico PS2 con Rueda"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 botn"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Genrico"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Rueda"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "serie"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Ratn de 2 botones genrico"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Ratn de 3 botones genrico"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Ratn Logitech (serie, antiguo tipo C7)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "ratn bus"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 botones"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 botones"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "ninguno"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Ningn ratn"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Finalizar"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Prximo ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Anterior"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Est correcto?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Configuracin de Internet"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Desea intentar conectar con Internet ahora?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Probando su conexin..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "En este momento Ud. no est conectado a Internet."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Por razones de seguridad, deber desconectarse ahora."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"El sistema no parece estar conectado al Internet.\n"
-"Intente de reconfigurar su conexin."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Configuracin de la Red"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "Configuracin de RDSI"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Seleccione su proveedor.\n"
-" Si no est en la lista, elija No listado"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Configuracin de la conexin"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Por favor complete o verifique el campo debajo"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ de la tarjeta"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Mem (DMA) de la tarjeta"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "E/S de la tarjeta"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "E/S_0 de la tarjeta"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "E/S_1 de la tarjeta"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Su nmero de telfono personal"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Nombre del proveedor (ej proveedor.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Nmero de telfono del proveedor"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "DNS 1 del proveedor"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "DNS 2 del proveedor"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Modo de discado"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Nombre de conexin (nombre de usuario)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Contrasea de conexin"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Resto del mundo"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Resto del mundo \n"
-" sin canal D (lneas alquiladas)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Qu protocolo desea utilizar?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Qu tipo de tarjeta tiene?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "No s"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Si tiene una tarjeta ISA, los valores en la prxima pantalla deberan ser "
-"correctos.\n"
-"\n"
-"Si tiene una tarjeta PCMCIA, tiene que saber la irq y la e/s de su tarjeta.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Abortar"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Continuar"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Cual es su tarjeta RDSI?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"He detectado una tarjeta RDSI PCI, pero no conozco el tipo. Por favor, "
-"seleccione una tarjeta PCI en la pantalla siguiente."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"No se encontr tarjeta RDSI PCI. Por favor, seleccione una de la pantalla "
-"siguiente."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"No se ha detectado adaptador de red Ethernet en su sistema.\n"
-"No puedo configurar este tipo de conexin."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Elija la interfaz de red"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Por favor elija que adaptador de red desea usar para conectar a Internet"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Interfaz de red"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Est de acuerdo?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Estoy a punto de reiniciar el dispositivo de red:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "Configuracin ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Desea iniciar su conexin al arrancar?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Seleccione el puerto serie al cual est conectado su mdem."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Opciones de llamada por mdem"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Nombre de conexin"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Nmero de telfono"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "ID de conexin"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Autenticacin"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Por script"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Por terminal"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Nombre de dominio"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Primer servidor DNS (opcional)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Segundo servidor DNS (opcional)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-"Estoy a punto de reiniciar el dispositivo de red $netc->{NET_DEVICE}. Est "
-"de acuerdo?"
-
-# ../../netconnect.pm_.c:567msgid ""
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Puede desconectarse o volver a configurar su conexin."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Puede volver a configurar su conexin."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "En este momento Ud. est conectado a Internet."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Se puede conectar a Internet o volver a configurar su conexin."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "En este momento Ud. no est conectado a Internet."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Conectar a Internet"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Desconectar de Internet"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Configurar la conexin a la red (local o Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Configuracin de, y conexin a, Internet"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Asistente para la Configuracin de la Red"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Mdem RDSI externo"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Tarjeta RDSI interna"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "De qu tipo es su conexin RDSI?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Conectar a Internet"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"La forma ms comn de conexin con ADSL es pppoe.\n"
-"Algunas conexiones usan pptp, algunas otras usan dhcp.\n"
-"Si Ud. no sabe, elija usar pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "usar dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "usar pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "usar pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Estoy a punto de reiniciar el dispositivo de red %s. Est de acuerdo?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Qu cliente dhcp desea utilizar?\n"
-"dhcpcd es el predeterminado"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Configuracin de la red"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Desea reiniciar la red?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"Ha ocurrido un problema mientras se reiniciaba la red: \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Debido a que est realizando una instalacin por medio de la red, su red ya "
-"est configurada.\n"
-"Haga click sobre Aceptar para mantener su configuracin, o cancele para "
-"volver a configurar su conexin de Internet & Red.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Bienvenido al Asistente para la Configuracin de la Red\n"
-"\n"
-"Estamos a punto de configurar su conexin de red/Internet.\n"
-"Si no desea usar la deteccin automtica, deseleccione la casilla.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Elija el perfil a configurar"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Usar deteccin automtica"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Detectando los dispositivos..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Conexin normal por mdem"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "detectada en el puerto %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "Conexin RDSI"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "detectada %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "Conexin DSL (o ADSL)"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "detectada en la interfaz %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Conexin por cable"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "Conexin por red"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "tarjeta(s) de red detectada(s)"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Cmo desea conectarse a Internet?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Felicidades, la configuracin de la red e Internet est terminada.\n"
-"\n"
-"Ahora se aplicar la configuracin a su sistema."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Despus que est hecho, le recomendamos volver a iniciar su\n"
-"entorno X para evitar el problema del cambio del nombre del host."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "no se encontr tarjeta de red alguna"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Configurando la red"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Por favor ingrese el nombre de su host si es que lo conoce.\n"
-"Algunos servidores DHCP necesitan del nombre del host para funcionar.\n"
-"El nombre de su host debera ser un nombre completamente calificado,\n"
-"como mimaquina.milabo.micompa.com."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Nombre de host"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"ADVERTENCIA: Previamente se ha configurado este dispositivo para conectar "
-"con Internet.\n"
-"Simplemente acepte para mantener la configuracin del mismo.\n"
-"Al modificar los campos de abajo se ignorar esta configuracin."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Por favor, ingrese la direccin IP de esta mquina.\n"
-"Cada valor tiene que ingresarse como una direccin IP en notacin\n"
-"decimal con puntos (por ejemplo: 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Configurar el dispositivo de red %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (controlador $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "Direccin IP"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Mscara de red"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Direccin IP automtica"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "Las direcciones IP deben estar en el formato 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Defina el nombre de host de la mquina.\n"
-"Ese nombre debe de ser un nombre completamente calificado,\n"
-"como mimaquina.milabo.micompa.com.\n"
-"Tambin puede ingresar la direccin IP de la pasarela si es que usa una"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "Servidor DNS"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Pasarela"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Dispositivo de pasarela de red"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Configuracin de los proxies"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "Proxy HTTP"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "Proxy FTP"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "El nombre del proxy debe ser http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "El nombre del proxy debe ser ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Particin extendida no soportada en esta plataforma"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Tiene un hueco en la tabla de particiones, pero no puedo usarlo.\n"
-"La nica solucin es desplazar sus particiones primarias para que\n"
-"el hueco est despus de las particiones extendidas"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Error al leer el archivo %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Fall la restauracin a partir del archivo %s: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Archivo de respaldo incorrecto"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Error al escribir en el archivo %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Est ocurriendo algo malo en su disco. \n"
-"Ha fallado una prueba para verificar la integridad de los datos. \n"
-"Esto significa que escribir cualquier cosa en el disco terminar en basura"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "necesario"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "importante"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "muy agradable"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "agradable"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "quizs"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Impresora local"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Impresora remota"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Servidor lpd remoto"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Impresora de red (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "Impresora SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "Impresora Netware"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "URI del dispositivo de impresin"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Probar puertos"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Una impresora, modelo %s, fue detectada en "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Dispositivo de impresin local"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"En qu dispositivo est conectada su impresora\n"
-"(tome en cuenta que /dev/lp0 es equivalente a LPT1:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Dispositivo de impresin"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Opciones de impresora remota lpd"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Para utilizar una cola de impresin remota lpd, es necesario\n"
-"que indique el nombre del servidor de impresin y el nombre\n"
-"de la cola, en ese servidor, en la cual se colocarn los trabajos\n"
-"de impresin."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Nombre del host remoto"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Cola de impresin remota"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Opciones de impresora SMB (Windows 9x/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Para imprimir en una impresora SMB, es necesario escribir el\n"
-"nombre del servidor SMB (que no siempre es el mismo que el nombre de\n"
-"la mquina en TCP/IP) y posiblemente la direccin IP del servidor de\n"
-"impresoras, adems es necesario el nombre del recurso compartido para\n"
-"la impresora que se quiere usar, as como cualquier nombre de usuario,\n"
-"grupo de trabajo y contrasea que haga falta."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Host servidor SMB"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP del servidor SMB"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Nombre de recurso compartido"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Grupo de trabajo"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Opciones de impresora NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Para imprimir en una impresora NetWare, es necesario escribir el nombre\n"
-"del servidor de impresin NetWare (que no siempre es el mismo que\n"
-"el nombre de la mquina en TCP/IP) y posiblemente la direccin IP\n"
-"del servidor de impresoras, adems es necesario el nombre de la cola\n"
-"de impresin que desea usar, as como cualquier nombre de usuario\n"
-"y contrasea que haga falta."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Servidor de impresoras"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Nombre de la cola de impresin"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Opciones de impresora por Socket"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Para imprimir a una impresora por socket, necesita proporcionar\n"
-"el nombre del host de la impresora y opcionalmente el nmero de puerto."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Nombre de host de la impresora"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Puerto"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-"Puede especificar directamente la URI para acceder a la impresora con CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Qu tipo de impresora tiene?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Desea probar la impresin?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Imprimiendo la(s) pgina(s) de prueba..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"La(s) pgina(s) de prueba fueron enviadas al demonio de impresin.\n"
-"Puede que tome algn tiempo antes de que comience la impresin.\n"
-"Estado de la impresin:\n"
-"%s\n"
-"\n"
-"Funciona correctamente?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"La(s) pgina(s) de prueba fueron enviadas al demonio de impresin.\n"
-"Puede que tome algn tiempo antes de que comience la impresin.\n"
-"Funciona correctamente?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "S, imprimir la pgina de prueba ASCII"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "S, imprimir la pgina de prueba Postscript"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "S, imprimir ambas pginas de prueba"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Configuracin de la impresin"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Opciones de impresin"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Tamao del papel"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Eyectar la pgina al final de la impresin?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Opciones para el controlador Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Opciones de profundidad de colores"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Imprimir texto usando el filtro PostScript"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Corregir el efecto escalera?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Cantidad de ejemplares a imprimir por pgina"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Mrgenes Izq/Der en puntos (1/72 de pulgada)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Mrgenes Sup/Inf en puntos (1/72 de pulgada)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Opciones extra para GhostScript"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Opciones extra para le impresin de texto"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Imprimir las pginas en el orden inverso"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Desea configurar una impresora?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Aqu tiene la lista de las colas de impresin.\n"
-"Ud. puede aadir otras o cambiar las que ya existen."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "Iniciando CUPS"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Leyendo la base de datos de controladores de CUPS..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Seleccione la conexin de la impresora"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Como esta conectada la impresora?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Seleccione la conexin de la impresora remota"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Con un servidor CUPS remoto, Ud. no tiene que configurar\n"
-"impresora alguna aqu; las mismas se detectarn automticamente.\n"
-"En caso de duda, seleccione\"Servidor CUPS remoto\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Con un servidor CUPS remoto, Ud. no tiene que configurar\n"
-"impresora alguna aqu; las mismas se detectarn automticamente\n"
-"a no ser que tenga un servidor en una red diferente; en el\n"
-"ltimo caso, ha de dar la direccin IP del servidor CUPS\n"
-"opcionalmente el nmero de puerto."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "IP del servidor CUPS"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "El nmero de puerto debe ser numrico"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Quitar la cola de impresin"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-"El nombre de la impresora slo debera contener letras, nmeros y el guin "
-"bajo"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Cada impresoara necesita un nombre (por ejemplo lp).\n"
-"Se pueden definir otros parmetros tales como la descripcin de la "
-"impresora\n"
-"o su ubicacin. Qu nombre debe utilizarse para esta impresora y\n"
-"como est conectada la misma?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Nombre de la impresora"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Descripcin"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Ubicacin"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Cada cola de impresin (a la cual los trabajos de impresin estarn\n"
-"dirigidos) necesita un nombre (frecuentemente lp) y un directorio\n"
-"de paso (spool) asociado con l. Qu nombre y directorio deben\n"
-"utilizarse para esta cola, y como est conectada?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Nombre de la cola"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Directorio de paso (spool)"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Conexin de la impresora"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "No puedo aadir una particin al RAID md%d _ya formateado_"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "No puedo escribir el archivo $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "Fall mkraid"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "Fall mkraid (quizs las herramientas raid estn ausentes)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "No hay suficientes particiones para un RAID de nivel %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-"Lanzar el sistema de sonido ALSA (Arquitectura avanzada de sonido de Linux)"
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr ""
-"Anacron gestiona comandos a lanzar perodicamente. Es similar\n"
-"a un cron pero para sistemas que no estn encendidos las 24hs. Anacron\n"
-"se encarga de ponerse al da y lanzar los comandos en retraso cuando se\n"
-"enciende el equipo."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd se usa para monitorear el estado de las bateras y enviar esa\n"
-"informacin a syslogd. Tambin puede usarse para apagar el equipo cuando\n"
-"la batera est casi descargada."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Ejecuta los comandos programados por el comando at en el momento que\n"
-"se especific cuando at fue lanzado, y ejecuta comandos en serie\n"
-"(batch commands) cuando la carga promedio del sistema es\n"
-"suficientemente baja."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron es un programa UNIX estndar que ejecuta programas especificados por\n"
-"el usuario peridicamente, en el momento en que han sido programados. El "
-"cron\n"
-"de Vixie aade varias funcionalidades al cron de Unix bsico, incluyendo\n"
-"una mayor seguridad y opciones de configuracin ms potentes."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM aade soporte del ratn para los programas Linux en modo texto, como\n"
-"el Midnight Commander. Tambin permite operaciones de cortar-y-pegar con\n"
-"el ratn en la consola, e incluye soporte para menes emergentes en la "
-"consola."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-"HardDrake corre una prueba de hardware, y opcionalmente configura\n"
-"el hardware nuevo/cambiado."
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache es un servidor de pginas Web. Es usado para servir archivos HTML\n"
-"y programas CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"El demonio para servidores Internet (comnmente llamado inetd) inicia\n"
-"una variedad de otros servicios Internet segn sea necesario.\n"
-"Es el responsable de iniciar varios servicios, incluyendo a telnet, ftp, "
-"rsh\n"
-"y rlogin. Al desactivar a inetd se desactivan todos los servicios que "
-"dependen de l."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-"Lanzar el filtrado de paquetes para los ncleos de Linux de la serie 2.2,\n"
-"para configurar un cortafuegos que protege a su mquina de los ataques de la "
-"red."
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Este paquete carga la definicin de teclado que se indica en\n"
-"/etc/sysconfig/keyboard. Puede ser configurado con el programa kbdconfig.\n"
-"Debe dejarlo activado para la mayora de los sistemas."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-"Re-generacin automtica del encabezado del ncleo en /boot para\n"
-"/usr/include/linux/{autoconf,version}.h"
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr "Deteccin y configuracin automtica del hardware al arrancar."
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-"Linuxconf a veces realizar varias tareas al arrancar para\n"
-"mantener la configuracin del sistema."
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd es el demonio de impresin, necesario para que lpr funcione\n"
-"correctamente. Bsicamente, es un servidor que coloca las tareas de\n"
-"impresin en las colas de impresin adecuadas para cada impresora."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-"Servidor Virtual de Linux, usado para construir servidores de alto\n"
-"rendimiento y alta disponibilidad."
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) es un servidor de nombres de dominio (DNS) usado para\n"
-"resolver los nombres de host en direcciones IP."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Monta y desmonta todos los puntos de montaje de sistemas de archivos\n"
-"compartidos por medio de la red; como NFS (Network File System),\n"
-"SMB (Lan Manager/Windows) y NCP (Netware)"
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Activa/desactiva todas las interfaces de red configuradas para iniciarse\n"
-"en el arranque del sistema."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS es un protocolo para compartir archivos en redes TCP/IP muy popular.\n"
-"Este servicio provee la funcionalidad de servidor NFS, el cual se configura\n"
-"a travs del archivo /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS es un protocolo para compartir archivos en redes TCP/IP muy popular.\n"
-"Este servicio provee funcionalidad de trabado de archivos por NFS."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"Activar el bloqueo numrico automticamente bajo la consola y\n"
-"XFree al arrancar."
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "Soportar las win-impresoras OKI 4w y compatibles."
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"El soporte PCMCIA se usa por lo general para soportar cosas como tarjetas\n"
-"de red o mdems en computadoras porttiles. No ser iniciado salvo que\n"
-"est configurado, por lo que no es un problema tenerlo instalado\n"
-"en mquinas que no lo necesitan."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"El portmapper gestiona las conexiones RPC; las cuales son usadas por\n"
-"protocolos como NFS y NIS. El servidor portmap debe correr en los sistemas\n"
-"que actan como servidores para protocolos que usan el mecanismo RPC."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix es un agente de transporte de correo (MTA), es decir el programa\n"
-"encargado de enviar el correo electrnico de una mquina a otra."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Guarda y recupera el pool de entropa del sistema; usado para la\n"
-"generacin de nmeros aleatorios de gran calidad."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-"Asignar dispositivos `crudos' a dispositivos de bloque (como las "
-"particiones\n"
-"de los discos), para el uso de aplicaciones como Oracle"
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"El demonio routed permite actualizar automticamente las tablas de ruteo IP\n"
-"gracias al protocolo RIP. Mientras que RIP se usa bastante en redes "
-"pequeas,\n"
-"para redes ms complejas, se necesitan protocolos de ruteo ms complejos."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"El protocolo rstat le permite a los usuarios de una red recoger\n"
-"informacin sobre el rendimiento de cualquier mquina de dicha red."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"El protocolo rusers permite que los usuarios de una red identifiquen\n"
-"quien est conectado en otros sistemas que responden al pedido."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"El protocolo rwho permite que usuarios distantes obtengan una lista\n"
-"de todos los usuarios conectados a un sistema que corre el demonio rwho\n"
-"(similar al finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr "Lanzar el sistema de sonido en su mquina"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog es el servicio a travs del cual varios demonios van a enviar\n"
-"sus mensajes de bitcora, que syslog va a redirigir a varios archivos\n"
-"de bitcora. Siempre es una buena idea ejecutar syslog."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr "Cargar los controladores para sus dispositivos USB."
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Inicia el servidor de tipografas X11 (obligatorio para correr XFree)."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Elija cuales servicios debern lanzarse automticamente al arrancar"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "corriendo"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "detenido"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Servicios y demonios"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Lo siento, no hay informacin\n"
-"adicional sobre este servicio."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Al arranque"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"No puedo leer su tabla de particiones, est demasiado deteriorada :-(\n"
-"Probar de ir poniendo en blanco las particiones malas"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Compartir la conexin con Internet"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "La conexin compartida con Internet est habilitada en este momento"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"La configuracin de conexin compartida con Internet ya ha sido realizada.\n"
-"Est actualmente activada.\n"
-"\n"
-"Qu desea hacer?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "desactivar"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "rechazar"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "reconfigurar"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Deshabilitando servidores..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Ahora est deshabilitado el compartir la conexin de Internet."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "La conexin compartida con Internet est deshabilitada en este momento"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"La configuracin de conexin compartida con Internet ya ha sido realizada.\n"
-"Est actualmente desactivada.\n"
-"\n"
-"Qu desea hacer?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "activar"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Habilitando los servidores..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Ahora est habilitado el compartir la conexin de Internet."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "No se pudo interpretar el contenido del archivo de configuracin."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Archivo de configuracin desconocido"
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Est por configurar a su computadora para compartir su conexin a Internet.\n"
-"Con esta caracterstica, otras computadoras en su red local podrn usar la "
-"conexin a Internet de esta computadora.\n"
-"\n"
-"Nota: necesita un Adaptador de Red dedicado para configurar una red de rea "
-"local (LAN)."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Interfaz %s (usando mdulo %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Interfaz %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "No hay adaptador de red en su sistema!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"No se ha detectado adaptador de red en su sistema. Por favor, ejecute la "
-"herramienta de configuracin del hardware."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Slo hay un adaptador de red configurado en su sistema:\n"
-"\n"
-"%s\n"
-"\n"
-"Estoy a punto de configurar su conexin a la Red de rea Local con el mismo."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Por favor elija que adaptador de red estar conectado a su Red de rea Local."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Advertencia, el adaptador de red ya est configurado. Se volver a "
-"configurar."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-"Se encontr un conflicto potencial de direcciones LAN en la configuracin "
-"de $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Se detect configuracin con cortafuegos!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Atencin! Se ha detectado una configuracin con cortafuegos existente. "
-"Puede que necesite algun arreglo manual luego de la instalacin."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Configurando..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Configurando los scripts, instalando software, iniciando servidores..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Problemas al instalar el paquete $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Felicidades"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Se ha configurado todo.\n"
-"Ahora puede compartir su conexin a Internet con otras computadoras de su "
-"red de rea local, usando la configuracin automtica de la red (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-"La configuracin ya ha sido hecha, pero corrientemente est deshabilitada."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "La configuracin ya ha sido hecho, y corrientemente est habilitada."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "No se ha configurado el compartir la conexin de Internet"
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Configuracin de la conexin compartida a Internet"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Bienvenido al utilitario para compartir la conexin de Internet!\n"
-"\n"
-"%s\n"
-"\n"
-"Haga click sobre Configurar para lanzar el asistente de configuracin."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Configuracin de la red (%d adaptadores)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Perfil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Borrar perfil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Perfil a borrar:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Nuevo perfil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Nombre del perfil a crear:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Nombre de host: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Acceso a Internet"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Tipo:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Pasarela:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Interfaz:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Estado:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Conectado"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "No conectado"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Conectar..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Desconectar..."
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr "Iniciando su conexin..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Cerrando su conexin..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"La conexin no est cerrada.\n"
-"Intente hacerlo manualmente ejecutando\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"como root."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Ahora el sistema est desconectado."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Configurar el acceso a Internet"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "Configuracin red local"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adaptador"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Controlador"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Interfaz"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protocolo"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Configurar la Red de rea Local..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Modo Normal"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Aplicar"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Espere, por favor... Aplicando la configuracin"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-"No tiene configurada interfaz alguna.\n"
-"Configure la primera haciendo clic sobre Configurar"
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "Configuracin LAN"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Adaptador %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Protocolo de arranque"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Iniciado al arranque"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "cliente DHCP"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Desactivar"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Activar"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-"No tiene conexin de Internet alguna.\n"
-"Primero debe crear una haciendo clic sobre Configurar"
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Configuracin de la conexin Internet"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Configuracin de la conexin Internet"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Tipo de conexin:"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parmetros"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "DNS 1 del proveedor (opcional)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "DNS 2 del proveedor (opcional)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Tarjeta Ethernet"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "Cliente DHCP"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Crackers bienvenidos"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Pobre"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranica"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Este nivel se debe usar con mucho cuidado. Hace su sistema ms simple de\n"
-"usar, pero tambin mucho ms vulnerable: no debe usarse para una mquina\n"
-"conectada en red con otras o a Internet. No hay contraseas de acceso."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Las contraseas estn activadas, pero igual no se recomienda usar este\n"
-"nivel para una computadora conectada a una red."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Pocos cambios para este nivel de seguridad, el principal es que hay ms\n"
-"mensajes de advertencia y verificaciones relativas a la seguridad."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Este es el nivel de seguridad estndar recomendado para una mquina que "
-"ser\n"
-"usada para conectarse a Internet como cliente. Ahora hay verificaciones de "
-"seguridad."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Con este nivel, es posible usar el sistema como un servidor.\n"
-"La seguridad es lo suficientemente alta como para usar el sistema como un\n"
-"servidor que acepte conexiones de mltiples clientes."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Se toman las propiedades del nivel 4, pero ahora el sistema est cerrado\n"
-"totalmente. Las caractersticas de seguridad estn al mximo."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Definiendo el nivel de seguridad"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Centro de Control"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Elija la herramienta que desea usar"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "uso: keyboarddrake [--expert] [teclado]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Desea que la tecla BackSpace envie un Delete en consola?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Cambie el Cd-Rom"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Por favor, inserte el Cd-Rom de Instalacin en su unidad y presione "
-"Aceptar.\n"
-"Si no lo tiene, presione Cancelar para evitar la actualizacin en vivo."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "No se puede iniciar actualizacin en vivo!!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "no se encontr serial_usb alguno\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emular el tercer botn?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Pruebe su ratn, por favor."
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Monitoreo de la red"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Estadsticas"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Velocidad de transmisin: "
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Velocidad de recepcin: "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Cerrar"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "Conectando a Internet"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "Desconectando de Internet"
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "Fall la desconexin de Internet"
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "Se complet la desconeccin de Internet."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Se complet la conexin"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"Fall la conexin.\n"
-"Verifique su configuracin en el Centro de Control de Mandrake"
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "enviado: "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "recibido: "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Conectar"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Desconectar"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Configuracin del cortafuegos"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Configuracin del cortafuegos"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Cortafuegos\n"
-"\n"
-"Ya tiene configurado un cortafuegos.\n"
-"Haga clic sobre Configurar para cambiar o quitar el cortafuegos"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Cortafuegos\n"
-"\n"
-"Haga clic sobre Configurar para configurar un cortafuegos estndar"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"configurador de TF\n"
-"\n"
-"Esto configura un cortafuegos personal para esta mquina Linux Mandrake.\n"
-"Para una solucin potente de cortafuegos dedicada, por favor eche un "
-"vistazo\n"
-"a la distribucin especializada MandrakeSecurity Firewall."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Ahora le preguntaremos a cuales servicios quisiera permitir conectar desde\n"
-"Internet. Por favor, piense cuidadosamente las respuestas, ya que la\n"
-"seguridad de su computadora es importante.\n"
-"Por favor, si en este momento no est usando alguno de estos servicios,\n"
-"protjalos. Puede cambiar esta configuracin en cualquier momento que "
-"desee\n"
-"volviendo a ejecutar esta aplicacin!"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Est corriendo un servidor web en esta mquina que quiere que vea toda\n"
-"la Internet? Si est corriendo un servidor web al cual slo necesita "
-"acceder\n"
-"desde esta mquina, aqu puede responder con seguridad NO.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Est corriendo un servidor de nombres en esta mquina? Si no configur uno\n"
-"para entregar informacin de IP y de la zona a toda la Internet, por favor\n"
-"responda NO.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Desea permitir conexiones de entrada de Secure Shell (ssh)? Este es un\n"
-"reemplazo de telnet que puede usar para conectarse. Si ahora est usando\n"
-"telnet, definitivamente debera cambiar a ssh. telnet no est cifrado, por\n"
-"lo tanto algunos atacantes pueden robarle su contrasea si lo usa. ssh est\n"
-"cifrado y no permite este tipo de ataque."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Desea permitir conexiones entrantes de telnet?\n"
-"Esto es terriblemente inseguro, como explicamos en la pantalla previa. Es\n"
-"altamente recomendable responder No aqu y usar ssh en lugar de\n"
-"telnet.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Est corriendo un servidor FTP que debe ser accesible desde la Internet?\n"
-"En ese caso, es altamente recomendable que slo lo use para transferencias\n"
-"Annimas. Algunos atacantes pueden robar cualquier contrasea enviada por "
-"FTP,\n"
-"ya que FTP tampoco usa cifrado para transferir las contraseas.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Est corriendo un servidor de correo? Si enva sus mensajes con pine, "
-"mutt \n"
-"o cualquier otro cliente de correo de modo texto, probablemente s.\n"
-"Caso contrario, debera proteger esto con el cortafuegos.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Est corriendo un servidor POP o IMAP? Estos deberan ser\n"
-"usados para almacenar cuentas de correo no basadas en web para las\n"
-"personas en esta mquina.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Parece que est ejecutando un ncleo 2.2. Si una computadora en su casa\n"
-"o en la oficina configura su direccin IP de red automticamente\n"
-"(asignacin dinmica), debemos permitir esto. Es este el caso?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"El reloj de su computadora est sincronizado al reloj de otra computadora?\n"
-"Mayormente, esto es lo que usan las organizaciones con servidores Unix/"
-"Linux\n"
-"medianamente grandes para sincronizar los tiempos de conexin y cosas as.\n"
-"Si Ud. no es parte de una oficina grande y nunca escuch acerca de esto,\n"
-"probablemente no sea su situacin."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Configuracin completa. Podemos escribir estos cambios en el disco?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "No puedo abrir %s: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "No puedo abrir %s para escribir: %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Clientes para los distintos protocolos incluyendo a ssh"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Desarrollo"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Estacin de trabajo"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Servidor, Cortafuegos/Router"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Administracin de la informacin personal"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedios - Grficos"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Computadora de Red (cliente)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Herramientas de audio: reproductores mp3 o midi, mezcladores, etc"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Estacin Internet"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Oficina"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Estacin Multimedios"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Conjunto de herramientas para leer y enviar correo y noticiar (pine, mutt, "
-"tin...) y para navegar por la Web"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "Bibliotecas de desarrollo C y C++, programas y archivos *.h"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Servidor de Informacin de Red y de Nombres de Dominio"
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Programas para administrar sus finanzas, tales como gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "Servidor de base de datos PostgreSQL o MySQL"
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "Servidor NFS, servidor SMB, servidor proxy, servidor SSH"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Documentacin"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Utilitarios"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS"
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Entorno grfico"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedios - Sonido"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Programas de entretenimiento: arcade, tableros, estrategia, etc"
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Reproductores y editores de vdeo"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Herramientas para la consola"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Programas de reproduccin/edicin de sonido y vdeo"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Estacin de trabajo Cientfica"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editores, shells, manipulacin de archivos, terminales"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Libros y COMOs sobre Linux y Software Libre"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Entorno grfico con un conjunto de herramientas de escritorio y aplicaciones "
-"amigables"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr "Servidor de correo Postfix, servidor de noticias Inn"
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Juegos"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedios - Vdeo"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Computadora servidor de red"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Programas grficos, tales como El Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Estacin de trabajo de Oficina"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"El K Desktop Environment, el entorno grfico bsico con una coleccin de "
-"herramientas que lo acompaan"
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Ms escritorios grficos (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Herramientas para crear y grabar CDs"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedios - Grabacin de CD"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Archivado, emuladores, monitoreo"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Servidor, Bases de Datos"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Programas de Oficina: procesadores de palabras (kword, abiword), planillas "
-"de clculo (kspread, gnumeric), visualizadores PDF, etc"
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Servidor, Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Servidor"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Finanzas personales"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Configuracin"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "Estacin de trabajo KDE"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Otros entornos grficos"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache y Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Servidor, Correo/Groupware/Noticias"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Estacin de trabajo GNOME"
-
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr "Pasarela de acceso a Internet"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Herramientas para su Palm Pilot o su Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Estacin de Juegos"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Herramientas para facilitar la configuracin de su computadora"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-"Conjunto de herramientas para correo, noticias, web, transferencia de "
-"archivos, y chat"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "KB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minutos"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minuto"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d segundos"
-
-#~ msgid "cannot fork: "
-#~ msgstr "no puedo hacer fork: "
-
-#~ msgid "Configure..."
-#~ msgstr "Configurar..."
-
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "Configuracin de Lilo/Grub"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "Tamao seleccionado %d%s"
-
-#~ msgid "Opening your connection..."
-#~ msgstr "Abriendo su conexin..."
-
-#~ msgid "Standard tools"
-#~ msgstr "Herramientas estndar"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr ""
-#~ "Este script de inicio trata de cargar los mdulos para su ratn USB."
-
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Configuracin de Lilo/Grub"
-
-#~ msgid "Boot style configuration"
-#~ msgstr "Configuracin del estilo de arranque"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Ahora que su conexin a Internet est configurada, se puede\n"
-#~ "configurar a su computadora para compartir su conexin a Internet.\n"
-#~ "Nota: necesita un Adaptador de Red dedicado para configurar una red LAN.\n"
-#~ "Desea configurar la conexin compartida a Internet?\n"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Dependencias automticas"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Configuracin de LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Crear un disquete de arranque"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formatear disquete"
-
-#~ msgid "Choice"
-#~ msgstr "Opcin"
-
-#~ msgid "horizontal nice looking aurora"
-#~ msgstr "aurora horizontal y bonito"
-
-#~ msgid "vertical traditional aurora"
-#~ msgstr "aurora tradicional vertical"
-
-#~ msgid "gMonitor"
-#~ msgstr "gMonitor"
-
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Ahora puede elegir algunas opciones extra para su sistema.\n"
-#~ "\n"
-#~ "* Usar optimizaciones para el disco rgido: Esta opcin puede mejorar\n"
-#~ " el rendimiento del disco rgido, pero es slo para usuarios avanzados, "
-#~ "ya que\n"
-#~ " algunos chipsets tienen bugs y pueden arruinar sus datos, es por esto\n"
-#~ " que debe tener cuidado. Note que el ncleo viene con una lista de "
-#~ "manejadores\n"
-#~ "y chipsets que se sabe son defectuosos, pero si quiere evitar malas "
-#~ "sorpresas\n"
-#~ " no active esta opcin.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Elegir el nivel de seguridad: Puede elegir el nivel de seguridad parasu "
-#~ "sistema.\n"
-#~ " Refirase al manual para ms informacin. Bsicamente, si no sabe que "
-#~ "elegir\n"
-#~ " seleccione la opcin predeterminada.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise el tamao de la RAM si es necesario: Desafortunadamente, no hay "
-#~ "un\n"
-#~ " mtodo estndar de preguntarle al BIOS cuanta memoria tiene su "
-#~ "mquina.\n"
-#~ " Como consecuencia, Linux puede no detectar correctamente el tamao de "
-#~ "su RAM.\n"
-#~ " Si este es el caso, Ud.\n"
-#~ " puede especificar la cantidad correcta de RAM aqu. Note que una\n"
-#~ " diferencia de 2 o 4 MB entre la memoria de su mquina y la detectada es "
-#~ "normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Montaje automtico de los soportes extrables: Si prefiere no tener "
-#~ "que\n"
-#~ " montar manualmente los soportes extrables (CDROMs, disquetes, Zip) "
-#~ "con\n"
-#~ " los comandos mount y umount, elija esta opcin.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Limpiar /tmp al inicio: si quiere borrar todos los archivos y "
-#~ "directorios\n"
-#~ " almacenados en /tmp cada vez que arranca el sistema, elija esta "
-#~ "opcin.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Activar el teclado numrico al inicio: Si desea que su teclado "
-#~ "numrico\n"
-#~ " se active despus del arranque del sistema, elija esta opcin, Por "
-#~ "favor,\n"
-#~ " note que esta opcin no es necesaria para las porttiles y puede no "
-#~ "funcionar\n"
-#~ " bajo X."
-
-#~ msgid "Sorry, the mail configuration is not yet implemented. Be patient."
-#~ msgstr ""
-#~ "Perdn, la configuracin del correo todava no est implementada.\n"
-#~ "Tenga paciencia."
-
-#~ msgid ""
-#~ "Welcome to The Network Configuration Wizard.\n"
-#~ "Which components do you want to configure?\n"
-#~ msgstr ""
-#~ "Bienvenido al Asistente de la Configuracin de la Red.\n"
-#~ "Qu componentes desea configurar?\n"
-
-#~ msgid "Internet/Network access"
-#~ msgstr "Acceso a Internet/Red"
-
-#~ msgid "Mail information"
-#~ msgstr "Informacin de correo"
-
-#~ msgid "No I don't need DHCP"
-#~ msgstr "No, no necesito DHCP"
-
-#~ msgid "No I don't need NTP"
-#~ msgstr "No, no necesito NTP"
-
-#~ msgid "No (firewall this off from the internet)"
-#~ msgstr "No (proteger de la Internet con el cortafuegos)"
-
-#~ msgid "Yes (allow this through the firewall)"
-#~ msgstr "S (permitir esto a travs del cortafuegos)"
-
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr "Asistente para la Configuracin del Cortafuegos"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Varios"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Preguntas varias"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "No se puede usar supermount con un nivel de seguridad elevado"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "ciudado: EN ESTE NIVEL DE SEGURIDAD, NO SE PERMITE CONECTAR COMO ROOT\n"
-#~ "DESDE LA CONSOLA! Si desea ser root, tiene que conectarse como un "
-#~ "usuario\n"
-#~ "no privilegiado y luego usar su. Ms generalmente, no pretenda usar su\n"
-#~ "mquina para otra cosa que no sea un servidor.\n"
-#~ "Ha sido avisado."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Tenga cuidado, el tener numlock habilitado causa que un montn de "
-#~ "tecleos\n"
-#~ "den dgitos en vez de letras normales (ej: presionar la `p' da `6')"
-
-#~ msgid "not connected"
-#~ msgstr "no conectado"
-
-#~ msgid "Scientific applications"
-#~ msgstr "Programas cientficos"
-
-#~ msgid "toot"
-#~ msgstr "pitido"
-
-#~ msgid "File/Print/Samba"
-#~ msgstr "Servidor, Archivos/Impresin/Samba"
-
-#~ msgid "DNS/DHCP "
-#~ msgstr "Servidor, DNS/DHCP"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Primer servidor DNS"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Segundo servidor DNS"
-
-#~ msgid "using module"
-#~ msgstr "usando el mdulo"
-
-#~ msgid "Development, Database"
-#~ msgstr "Desarrollo, Bases de Datos"
-
-#~ msgid "Development, Integrated Environment"
-#~ msgstr "Desarrollo, Entorno Integrado"
-
-#~ msgid "Development, Standard tools"
-#~ msgstr "Desarrollo, Heramientas tpicas"
-
-#~ msgid ""
-#~ "\n"
-#~ "Warning:\n"
-#~ "Applying the changes while running may crash your X environnement."
-#~ msgstr ""
-#~ "\n"
-#~ "Advertencia:\n"
-#~ "Aplicar los cambios mientras est ejecutando puede congelar su entorno X."
-
-#~ msgid ""
-#~ "\n"
-#~ "If you continue, I will shut down your %s environnement"
-#~ msgstr ""
-#~ "\n"
-#~ "Si contina, cerrar su entorno %s"
-
-#~ msgid "eth$_"
-#~ msgstr "eth$_"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr "Ninguno"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Qu cargador(es) de arranque desea usar?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Disquete de auto-instalacin"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Intento encontrar un mdem?"
-
-#~ msgid "Configure an ISDN connection"
-#~ msgstr "Configurar una conexin por RDSI"
-
-#~ msgid "Configure a cable connection"
-#~ msgstr "Configurar una conexin por cable"
-
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Deshabilitar la conexin a Internet"
-
-#~ msgid "Configure local network"
-#~ msgstr "Configurar la red local"
-
-#~ msgid "Disable networking"
-#~ msgstr "Deshabilitar la red"
-
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Configurar la conexin a Internet / a la red local"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "La red local ya ha sido configurada.\n"
-#~ "Desea:"
-
-#~ msgid "Graphics Manipulation"
-#~ msgstr "Manipulacin de grficos"
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimedios"
-
-#~ msgid "Sciences"
-#~ msgstr "Ciencias"
-
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ "Programas de chat (IRC o mensajera instantnea) tales como xchat, licq, "
-#~ "gaim, y herramientas de transferencia de archivos"
-
-#~ msgid "Communication facilities"
-#~ msgstr "Herramientas de comunicacin"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Internet Tools"
-#~ msgstr "Herramoientas Internet"
-
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr "Clientes y servidores de bases de datos (mysql y postgresql)"
-
-#~ msgid "Development C/C++"
-#~ msgstr "Desarollo - C/C++"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Zona horaria"
-
-#~ msgid "Configure printer"
-#~ msgstr "Impresoras"
-
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr "1er adaptador de red (eth0)"
-
-#~ msgid "ippp0"
-#~ msgstr "ippp0"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(puede causar corrupcin de los datos)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Usar optimizaciones para el disco rgido?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Activar el teclado numrico al inicio"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Confirme contrasea"
-
-#~ msgid "default"
-#~ msgstr "por omisin"
-
-#~ msgid "What is your system used for?"
-#~ msgstr "Para qu se usa su sistema?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr "Elija el tamao que desea instalar"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Usar diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr "Personalizada"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "Est seguro que es un experto? \n"
-#~ "Aqu se le permitirn hacer cosas potentes pero peligrosas.\n"
-#~ "\n"
-#~ "Se le preguntarn cosas como: \"Usar contraseas shadow?\",\n"
-#~ "est listo para responder a este tipo de preguntas?"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Usar archivo shadow"
-
-#~ msgid "shadow"
-#~ msgstr "shadow"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Usar contrasea con MD5"
-
-#~ msgid "Search"
-#~ msgstr "Buscar"
-
-#~ msgid "Package"
-#~ msgstr "Paquete"
-
-#~ msgid "Text"
-#~ msgstr "Texto"
-
-#~ msgid "Tree"
-#~ msgstr "rbol"
-
-#~ msgid "Sort by"
-#~ msgstr "Ordenado por"
-
-#~ msgid "Category"
-#~ msgstr "Categora"
-
-#~ msgid "See"
-#~ msgstr "Ver"
-
-#~ msgid "Installed packages"
-#~ msgstr "Paquetes instalados"
-
-#~ msgid "Available packages"
-#~ msgstr "Paquetes disponibles"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Slo mostrar hojas del rbol"
-
-#~ msgid "Expand all"
-#~ msgstr "Expandir todo"
-
-#~ msgid "Collapse all"
-#~ msgstr "Contraer todo"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Aadir ubicacin de paquetes"
-
-#~ msgid "Update location"
-#~ msgstr "Actualizar ubicacin"
-
-#~ msgid "Remove"
-#~ msgstr "Quitar"
-
-#~ msgid "Find Package"
-#~ msgstr "Buscar paquete"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Buscar paquete que contiene el archivo"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Cambia de Instalado a Disponible"
-
-#~ msgid "Uninstall"
-#~ msgstr "Desinstalar"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Elija los paquetes a instalar"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Verificando las dependencias"
-
-#~ msgid "Wait"
-#~ msgstr "Espere"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Se desinstalarn los paquetes siguientes"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "Desinstalando los paquetes"
-
-#~ msgid "Regexp"
-#~ msgstr "Expresin regular"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Cuales paquetes requieren"
-
-#~ msgid "%s not found"
-#~ msgstr "no se encontr %s"
-
-#~ msgid "No match"
-#~ msgstr "Ninguna coincidencia"
-
-#~ msgid "No more match"
-#~ msgstr "Ninguna coincidencia ms"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake est actualmente en modo memoria escasa.\n"
-#~ "Voy a relanzar rpmdrake para que pueda buscar los archivos"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Qu archivos est buscando?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Qu requiere?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Proporcione un nombre (p. ej.: 'extra', 'comercial')"
-
-#~ msgid "Directory"
-#~ msgstr "Directorio"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "Ningn CD disponible (nada en /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL del directorio que contiene los RPMs"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Para FTP y HTTP, necesita dar la ubicacin de hdlist\n"
-#~ "Tiene que ser una ruta relativa a la URL anterior"
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Por favor, proporcione la informacin siguiente"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s ya est en uso"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "Actualizando la base de datos de RPM"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "Voy a quitar la entrada %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Buscando hojas del rbol"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "Buscando hojas del rbol, llevar cierto tiempo"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "Encontr una tarjeta RDSI:\n"
-
-#~ msgid "France"
-#~ msgstr "Francia"
-
-#~ msgid "Other countries"
-#~ msgstr "Otros paises"
-
-#~ msgid "In which country are you located ?"
-#~ msgstr "En qu pas se encuentra Ud.?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Mdem Alcatel"
-
-#~ msgid "ECI modem"
-#~ msgstr "Mdem ECI"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr "Si su mdem ADSL es Alcatel, elija Alcatel. Caso contrario, ECI."
-
-#~ msgid "don't use pppoe"
-#~ msgstr "no usar pppoe"
-
-#~ msgid "mandatory"
-#~ msgstr "obligatorio"
-
-#~ msgid "interesting"
-#~ msgstr "interesante"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (importante)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (muy agradable)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (agradable)"
-
-#~ msgid "KDE, QT, Gnome, GTK+"
-#~ msgstr "KDE, QT, Gnome, GTK+"
-
-#~ msgid "Python, Perl, libraries, tools"
-#~ msgstr "Python, Perl, bibliotecas, herramientas"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "En qu puerto serie est conectado el ratn?"
-
-#~ msgid "Czech"
-#~ msgstr "Checo"
-
-#~ msgid "Slovakian"
-#~ msgstr "Eslovaco"
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr "No se pudo instalar el RPM ipchains con urpmi."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr "No se pudo instalar el RPM dhcp con urpmi."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr "No se pudo instalar el RPM linuxconf con urpmi."
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr "No se pudo instalar el RPM bind con urpmi."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr "No se pudo instalar el RPM caching-nameserver con urpmi."
-
-#~ msgid ""
-#~ "The system is now connected to Internet! Congratulation.\n"
-#~ "Feel free to launch draknet at any time to setup your connection.\n"
-#~ msgstr ""
-#~ "Ahora el sistema est conectado a Internet! Felicidades.\n"
-#~ "Puede lanzar draknet en cualquier momento para configurar su conexin.\n"
-
-#~ msgid "Reconfigure local network"
-#~ msgstr "Reconfigurar la red local"
-
-#~ msgid ""
-#~ " Introduction\n"
-#~ "\n"
-#~ "The operating system and the different components available in the Linux-"
-#~ "Mandrake distribution \n"
-#~ "shall be called the \"Software Products\" hereafter. The Software "
-#~ "Products include, but are not \n"
-#~ "restricted to, the set of programs, methods, rules and documentation "
-#~ "related to the operating \n"
-#~ "system and the different components of the Linux-Mandrake distribution.\n"
-#~ "\n"
-#~ "\n"
-#~ "1. License Agreement\n"
-#~ "\n"
-#~ "Please read carefully this document. This document is a license agreement "
-#~ "between you and \n"
-#~ "MandrakeSoft S.A., 43, rue d'Aboukir, 75002 Paris - France, which applies "
-#~ "to the Software Products.\n"
-#~ "By installing, duplicating or using the Software Products in any manner, "
-#~ "you explicitly \n"
-#~ "accept and fully agree to conform to the terms and conditions of this "
-#~ "License. \n"
-#~ "If you disagree with any portion of the License, you are not allowed to "
-#~ "install, duplicate or use \n"
-#~ "the Software Products. \n"
-#~ "Any attempt to install, duplicate or use the Software Products in a "
-#~ "manner which does not comply \n"
-#~ "with the terms and conditions of this License is void and will terminate "
-#~ "your rights under this \n"
-#~ "License. Upon termination of the License, you must immediately destroy "
-#~ "all copies of the \n"
-#~ "Software Products.\n"
-#~ "\n"
-#~ "\n"
-#~ "2. The GPL License and Related Licenses\n"
-#~ "\n"
-#~ "The Software Products consist of components created by different persons "
-#~ "or entities. Most \n"
-#~ "of these components are governed under the terms and conditions of the "
-#~ "GNU General Public \n"
-#~ "Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-#~ "licenses allow you to use, \n"
-#~ "duplicate, adapt or redistribute the components which they cover. Please "
-#~ "read carefully the terms \n"
-#~ "and conditions of the license agreement for each component before using "
-#~ "any component. Any question \n"
-#~ "on a component license should be addressed to the component author and "
-#~ "not to MandrakeSoft.\n"
-#~ "The programs developed by MandrakeSoft S.A. are governed by the GPL "
-#~ "License. Documentation written \n"
-#~ "by MandrakeSoft S.A. is governed by a specific license. Please refer to "
-#~ "the documentation for \n"
-#~ "further details.\n"
-#~ "Some versions of the Software Products may contain components which are "
-#~ "not governed by the GPL \n"
-#~ "License or similar agreements. Each such component is then governed by "
-#~ "the terms and conditions \n"
-#~ "of its own specific license. Please read carefully and comply with such "
-#~ "specific licenses before \n"
-#~ "you install, use or redistribute the said components. Such licenses will "
-#~ "in general prevent the \n"
-#~ "transfer, duplication (except for backup purposes), redistribution, "
-#~ "reverse engineering, \n"
-#~ "de-assembly, \n"
-#~ "de-compilation or modification of the component. Any breach of agreement "
-#~ "will immediately terminate \n"
-#~ "your rights under the specific license. Unless the specific license terms "
-#~ "grant you such rights, \n"
-#~ "you usually cannot install the programs on more than one system, or adapt "
-#~ "it to be used on a \n"
-#~ "network. \n"
-#~ "In doubt, please contact directly the distributor or editor of the "
-#~ "component. Transfer to third \n"
-#~ "parties or copying of such components including the documentation is "
-#~ "usually forbidden.\n"
-#~ "\n"
-#~ "\n"
-#~ "3. Intellectual Property Rights\n"
-#~ "\n"
-#~ "All rights to the components of the Software Products belong to their "
-#~ "respective authors and are \n"
-#~ "protected by intellectual property and copyright laws applicable to "
-#~ "software programs.\n"
-#~ "MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-#~ "Products, as a whole or in \n"
-#~ "parts,\n"
-#~ "by all means and for all purposes.\n"
-#~ "\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-#~ "MandrakeSoft S.A. All rights \n"
-#~ "are \n"
-#~ "reserved. The duplication is forbidden without prior written consent by "
-#~ "MandrakeSoft S.A.\n"
-#~ "\n"
-#~ "\n"
-#~ "4. Limited Warranty\n"
-#~ "\n"
-#~ "The Software Products and attached documentation are provided \"as is\", "
-#~ "with no warranty, to the \n"
-#~ "extent permitted by law. Should the Software Products be defective, "
-#~ "MandrakeSoft S.A. will at its \n"
-#~ "own will either replace the Software Products, or reimburse the paid "
-#~ "fee.\n"
-#~ "This limited warranty is void if you fail to comply to the "
-#~ "recommendations, instructions and \n"
-#~ "conditions \n"
-#~ "of use listed in the documentation or license agreements of the Software "
-#~ "Products.\n"
-#~ "To the extent permitted by law, MandrakeSoft S.A. will in no "
-#~ "circumstances be liable for any \n"
-#~ "special, \n"
-#~ "incidental, direct or indirect damages whatsoever (including without "
-#~ "limitation damages for loss of \n"
-#~ "business, interruption of business, financial loss, legal fees and "
-#~ "penalties resulting from a court \n"
-#~ "judgement, or any other consequential loss) arising out of the use or "
-#~ "inability to use the \n"
-#~ "Software \n"
-#~ "Products, even if MandrakeSoft S.A. has been advised of the possibility "
-#~ "or occurance of such \n"
-#~ "damages.\n"
-#~ "\n"
-#~ "LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN "
-#~ "SOME COUNTRIES\n"
-#~ "\n"
-#~ "To the extent permitted by law, MandrakeSoft S.A. or its distributors "
-#~ "will, in no circumstances, be \n"
-#~ "liable for any special, incidental, direct or indirect damages whatsoever "
-#~ "(including without \n"
-#~ "limitation \n"
-#~ "damages for loss of business, interruption of business, financial loss, "
-#~ "legal fees and penalties \n"
-#~ "resulting from a court judgement, or any other consequential loss) "
-#~ "arising out of the possession \n"
-#~ "and \n"
-#~ "use of software components or arising out of downloading software "
-#~ "components from one of \n"
-#~ "Linux-Mandrake \n"
-#~ "sites which are prohibited or restricted in some countries by local "
-#~ "laws. This limited liability \n"
-#~ "applies to, but is not restricted to, the strong cryptography components "
-#~ "included in the Software \n"
-#~ "Products.\n"
-#~ "\n"
-#~ "\n"
-#~ "5. Governing Laws \n"
-#~ "\n"
-#~ "If any portion of this agreement is held void, illegal or inapplicable by "
-#~ "a court judgement, this \n"
-#~ "portion is excluded from this contract. You remain bound by the other "
-#~ "applicable sections of the \n"
-#~ "agreement.\n"
-#~ "The terms and conditions of this License are governed by the Laws of "
-#~ "France.\n"
-#~ "All disputes on the terms of this license will preferably be settled out "
-#~ "of court. As a last \n"
-#~ "resort, \n"
-#~ "the dispute will be referred to the appropriate Courts of Law of Paris - "
-#~ "France.\n"
-#~ "For any question on this document, please contact MandrakeSoft S.A., \n"
-#~ "43, rue d'Aboukir, 75002 Paris - France\n"
-#~ msgstr ""
-#~ " Introduccin\n"
-#~ "\n"
-#~ "El sistema operativo y los distintos componentes disponibles en la "
-#~ "distribucin Linux-Mandrake\n"
-#~ "se deberan denominar <Productos Software> de aqu en ms. Los Productos "
-#~ "Software incluyen, pero \n"
-#~ "no estn restringidos a, el conjunto de programas, mtodos y reglas y "
-#~ "documentacin relacionados al \n"
-#~ "sistema operativo y los distintos componentes de la distribucin Linux-"
-#~ "Mandrake.\n"
-#~ "\n"
-#~ "\n"
-#~ "1. Acuerdo de Licencia\n"
-#~ "\n"
-#~ "Por favor, lea este documento con cuidado. Este documento es un acuerdo "
-#~ "de licencia entre Ud. y\n"
-#~ "MandrakeSoft S.A., 43, rue d'Aboukir, 75002 Pars - Francia, que se "
-#~ "aplica a los Productos Software.\n"
-#~ "Al instalar, duplicar o usar los Productos Sofware de cualuier manera, "
-#~ "Ud. acepta y \n"
-#~ "acuerda explcitamente a conformar con los trminos y condiciones de esta "
-#~ "Licencia.\n"
-#~ "Si difiere con cualquier porcin de la misma, no se le permite instalar, "
-#~ "duplicar, o usar los\n"
-#~ "Productos Software. \n"
-#~ "Cualquier intento de instalar, duplicar o usar los Productos Software de "
-#~ "una manera que no cumpla\n"
-#~ "con los trminos y condiciones de esta Licencia est prohibido y "
-#~ "terminar sus derechos bajo esta\n"
-#~ "Licenica. Al terminar la Licencia, Ud. debe destruir inmediatamente todas "
-#~ "las copias de \n"
-#~ "los Productos Sofware.\n"
-#~ "\n"
-#~ "\n"
-#~ "2. La Licencia GPL y las Licencias Relacionadas\n"
-#~ "\n"
-#~ "Los Productos Software consisten de componentes creados por personas o "
-#~ "entidades diferentes. La\n"
-#~ "mayora de estos componentes estn regidos bajo los trminos y "
-#~ "condiciones de la Licencia\n"
-#~ "Pblica General, denominada en lo sucesivo \"GPL\", o de licencias "
-#~ "similares. La mayora de las mismas le permiten \n"
-#~ "usar, duplicar, adaptar o redistribuir los componentes que cubren. Por "
-#~ "favor, lea detenidamente los trminos\n"
-#~ "y condiciones del acuerdo de licencia para cada componente antes de usar "
-#~ "cualquier componente. Cualquier \n"
-#~ "pregunta sobre la licencia de un componente se debera dirigir al autor "
-#~ "del mismo y no a MandrakeSoft.\n"
-#~ "Los programas desarrollados por MandrakeSoft S.A. estn regidos por la "
-#~ "Licencia GPL. La documentacin escrita\n"
-#~ "por MandrakeSoft S.A. est regida por una licencia especfica. Por favor, "
-#~ "refirase a la documentacin\n"
-#~ "para ms detalles.\n"
-#~ "Algunas versiones de los Productos Sofware pueden contener componentes "
-#~ "que no estn regidos por la\n"
-#~ "Licencia GPL o acuerdos similares. Entonces, cada uno de esos componentes "
-#~ "se rige por los trminos\n"
-#~ "y condiciones de su lincecia especfica. Por favor, lea atentamente y "
-#~ "cumpla con esas licencias especficas\n"
-#~ "antes de instalar, usar o redistribuir dichos componentes. Tales "
-#~ "licencias, en general, no permiten\n"
-#~ "la transferencia, duplicacin (excepto para copia de respaldo), "
-#~ "redistribucin, ingeniera reversa,\n"
-#~ "des-ensamblado,\n"
-#~ "des-compilado o modificacin del componente. Cualquier ruptura del "
-#~ "acuerdo terminar inmediatamente sus\n"
-#~ "derechos bajo la licencia especfica. A menos que los trminos de la "
-#~ "licencia especfica le garantizen\n"
-#~ "esos derechos, usualmente no puede instalar los programas en ms de un "
-#~ "sistema o adaptarlos para su uso\n"
-#~ "en una red.\n"
-#~ "Si duda, por favor contacte directamente al distribuidor o editor del "
-#~ "componente. Usualmente, la copia\n"
-#~ "o transferencia a terceros de dichos componentes incluyendo ls "
-#~ "documentacin est prohibida.\n"
-#~ "\n"
-#~ "\n"
-#~ "3. Derechos de la Propiedad Intelectual\n"
-#~ "\n"
-#~ "Todos los derechos de los componentes de los Productos Software "
-#~ "pertenecen a sus autores respectivos y\n"
-#~ "estn protegidos por las leyes de propiedad intelectual y copyright "
-#~ "aplicables a los programas de software.\n"
-#~ "MandrakeSoft S.A. se reserva sus derechos de modificar o adaptar los "
-#~ "Productos Sofware, como\n"
-#~ "un todo o en parte,\n"
-#~ "por todos los medios y para todos los propsitos.\n"
-#~ "\"Mandrake\", \"Linux-Mandrake\" y los logotipos asociados son marcas "
-#~ "registradas de MandrakeSoft S.A. Estn reservados\n"
-#~ "todos\n"
-#~ "los derechos. Se prohibe la duplicacin sin previo consentimiento escrito "
-#~ "por MandrakeSoft S.A.\n"
-#~ "\n"
-#~ "\n"
-#~ "4. Garanta Limitada\n"
-#~ "\n"
-#~ "Los Productos Software y la documentacin asociada estn provistos \"tal "
-#~ "cual\", sin garanta alguna, en \n"
-#~ "la extensin permitida por ley. Si los Productos Sofware son defectuosos, "
-#~ "MandrakeSoft S.A., por sus propios medios,\n"
-#~ "o bien reemplazar los Productos Sofware, o bien reembolsar el cargo "
-#~ "pagado.\n"
-#~ "Esta garanta limitada es nula si Ud. no cumple con las recomendaciones, "
-#~ "instrucciones, y \n"
-#~ "condiciones\n"
-#~ "de uso que se listan en la documentacin o en los acuerdos de licencia de "
-#~ "los Productos Software.\n"
-#~ "Tanto como permita la ley, MandrakeSoft S.A. no estar expuesto en "
-#~ "circunstancia alguna\n"
-#~ "a daos\n"
-#~ "cualesquiera especiales, incidentales, directos o indirectos (incluyendo "
-#~ "sin limitacin daos por prdidas de\n"
-#~ "negocio, interrupcin de negocio, prdidas financieras, cargos legales y "
-#~ "penales resultantes de un juicio\n"
-#~ "de una corte, o cualquier otra prdida consecuente) debido al uso o a la "
-#~ "imposibilidad de uso \n"
-#~ "de los Productos\n"
-#~ "Software, incluso si MandrakeSoft S.A. ha sido avisado de la posibilidad "
-#~ "u ocurrencia de tales\n"
-#~ "daos.\n"
-#~ "\n"
-#~ "EXPOSICIN LIMITADA VINCULADA A LA POSESIN O USO DE SOFTWARE PROHIBIDO "
-#~ "EN ALGUNOS PASES\n"
-#~ "\n"
-#~ "Tanto como permita la ley, MandrakeSoft S.A. o sus distribuidores, no "
-#~ "estarn expuestos en \n"
-#~ "circunstancia alguna por cualquier dao especial, incidental, directo o "
-#~ "indirecto (incluyendo sin limitacin\n"
-#~ "daos por\n"
-#~ "prdidas de negocio, interrupcin de negocio, prdidas financieras, "
-#~ "cargos legales y penalidades que\n"
-#~ "resulten de un juicio de la corte, o cualquier otra prdida consecuente) "
-#~ "debido a la posesin y al uso\n"
-#~ "de \n"
-#~ "componentes de software o debido a la transferencia de componentes de "
-#~ "software desde uno\n"
-#~ "de los sitios\n"
-#~ "de Linux-Mandrake que estn prohibidos o restringidos en algunos pases "
-#~ "por leyes locales. Esta exposicin limitada\n"
-#~ "se aplica, pero no est restringida a, los componentes de cifrado fuerte "
-#~ "incluidos en los Productos\n"
-#~ "Software.\n"
-#~ "\n"
-#~ "\n"
-#~ "5. Leyes vigenetes \n"
-#~ "\n"
-#~ "Si cualquier porcin de este acuerdo es considerada ilegal o no aplicable "
-#~ "por un juicio de una corte,\n"
-#~ "dicha porcin se excluye de este contrato. Ud. permanece sujeto a las "
-#~ "otras secciones aplicables \n"
-#~ "del acuerdo.\n"
-#~ "Los trminos y condiciones de esta Licencia estn regidos por las Leyes "
-#~ "de Francia.\n"
-#~ "Todas las disputas sobre los trminos de esta licencia preferentemente "
-#~ "sern resueltas en la corte. Como\n"
-#~ "ltimo recurso, \n"
-#~ "la disputa ser referida a las Cortes de Ley de Pars - Francia "
-#~ "apropiadas.\n"
-#~ "Para cualquier pregunta sobre este documento, por favor contacte con "
-#~ "MandrakeSoft S.A.,\n"
-#~ "43, rue d'Aboukir, 75002 Pars - Francia\n"
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Se puede configurar su computadora para compartir su conexin con "
-#~ "Internet.\n"
-#~ "\n"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr "Todo ha sido configurado.\n"
-
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Conectar a Internet con un mdem normal"
-
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Conectar a Internet usando RDSI"
-
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Conectar a Internet usando DSL (o ADSL)"
-
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Conectar a Internet usando Cable"
-
-#~ msgid ""
-#~ "Time (secs) of inactivity after which\n"
-#~ "it hangs up. (leave blank to disable it)"
-#~ msgstr ""
-#~ "Tiempo (en segundos) de inactividad despus del cual\n"
-#~ "se cuelga. (dejar en blanco para deshabilitarlo)"
-
-#~ msgid "Germany"
-#~ msgstr "Alemania"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "Alemania (1TR6)"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr "Qu desea hacer?"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "Instalar/Rescatar"
-
-#~ msgid "Rescue"
-#~ msgstr "Rescate"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Qu tipo de particin desea?"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Elija Instalar si no hay alguna versin anterior de GNU/Linux\n"
-#~ "instalada, o si desea usar distribuciones o versiones mltiples.\n"
-#~ "\n"
-#~ "Elija Rescatar si desea rescatar una versin previa de Linux-Mandrake "
-#~ "ya instalada.\n"
-#~ "\n"
-#~ "\n"
-#~ "Seleccione:\n"
-#~ "\n"
-#~ " - Recomendada: Si nunca antes instal GNU/Linux, elija esta opcin.\n"
-#~ "\n"
-#~ " - Personalizada: Si ya est familiarizado con GNU/Linux, entonces podr "
-#~ "elegir\n"
-#~ " el uso primario que le dar a su mquina. Ver debajo para ms "
-#~ "detalles.\n"
-#~ "\n"
-#~ " - Experto: Esto supone que ya conoce muy bien GNU/Linux y desea "
-#~ "realizar\n"
-#~ " una instalacin altamente personalizada. Al igual que con la clase de\n"
-#~ " instalacin Personalizada, podr seleccionar el uso para su "
-#~ "sistema.\n"
-#~ " Pero por favor, NO ELIJA ESTA OPCIN A MENOS QUE SEPA LO QUE EST "
-#~ "HACIENDO!\n"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ "Ahora puede elegir cual(es) particin(es) usar para instalar su sistema\n"
-#~ "Linux-Mandrake, si ya han sido definidas (en una instalacin anterior\n"
-#~ "o con otra herramienta de particionamiento). De otro modo, tiene que\n"
-#~ "definir las particiones del disco rgido. Esta operacin consiste en\n"
-#~ "dividir lgicamente la capacidad del disco rgido de la computadora en\n"
-#~ "reas separadas para usar.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si debe crear particiones nuevas, use Asignacin automtica para crear\n"
-#~ "automticamente las particiones para GNU/Linux. Puede seleccionar el "
-#~ "disco a\n"
-#~ "particionar haciendo clic sobre hda para el primer disco IDE, hdb "
-#~ "para\n"
-#~ "el segundo, o sobre sda para el primer disco SCSI, y as "
-#~ "sucesivamente.\n"
-#~ "\n"
-#~ "\n"
-#~ "Las dos particiones de base son: la particin raz (/), la cual es el "
-#~ "punto\n"
-#~ "de partida de todo el rbol del sistema de archivos; y /boot, la cual\n"
-#~ "contiene todos los archivos necesarios para arrancar el sistema "
-#~ "operativo\n"
-#~ "al encender la computadora.\n"
-#~ "\n"
-#~ "\n"
-#~ "Como los efectos de este proceso generalmente son irreversibles,\n"
-#~ "el particionamiento puede ser intimidante para el usuario no "
-#~ "experimentado.\n"
-#~ "DiskDrake simplifica el proceso de manera que no sea as. Consulte la\n"
-#~ "documentacin y tmese su tiempo antes de empezar.\n"
-#~ "\n"
-#~ "\n"
-#~ "Puede alcanzar cualquier opcin usando el teclado: la navegacin entre "
-#~ "las\n"
-#~ "distintas particiones se hace con las teclas Tab y las flechas hacia "
-#~ "arriba\n"
-#~ "y hacia abajo. Cuando una particin est seleccionada, puede usar:\n"
-#~ "\n"
-#~ "- Ctrl-C para crear una nueva particin (cuando se selecciona un "
-#~ "espacio vaco)\n"
-#~ "\n"
-#~ "- Ctrl-D para borrar una particin\n"
-#~ "\n"
-#~ "- Ctrl-M para definir el punto de montaje\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Las particiones recin creadas deben ser formateadas para que el sistema\n"
-#~ "pueda usarlas (formatear significa crear un sistema de archivos).\n"
-#~ "Tambin puede formatear particiones creadas anteriormente para borrar\n"
-#~ "todos los datos que contienen. Note que no es necesario formatear las\n"
-#~ "particiones ya existentes, en particular si desea conservar los datos "
-#~ "que\n"
-#~ "contienen. Tpicamente se retienen /home y /usr/local."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "Los paquetes seleccionados estn siendo instalados. Esta operacin\n"
-#~ "tomar algunos minutos salvo que haya elegido actualizar un sistema\n"
-#~ "ya existente, en cuyo caso puede tomar ms tiempo antes siquiera\n"
-#~ "de empezar la actualizacin en s."
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "Si DrakX no pudo encontrar su ratn, o si desea comprobar lo que hizo,\n"
-#~ "se le presentar la lista de ratones aqu arriba.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si est de acuerdo con la configuracin hecha por DrakX, simplemente\n"
-#~ "haga clic sobre Aceptar.\n"
-#~ "Si no puede elegir en el men el tipo de ratn que sea ms parecido al "
-#~ "suyo\n"
-#~ "en el men de arriba.\n"
-#~ "\n"
-#~ "\n"
-#~ "En caso de un ratn conectado por puerto serie, adems deber indicarle\n"
-#~ "a DrakX el puerto serie al cual est conectado."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "Esta seccin est dedicada a la configuracin de la red local (LAN) o al "
-#~ "mdem.\n"
-#~ "\n"
-#~ "Elija Red local y DrakX tratar de encontrar las tarjetas de red\n"
-#~ "en su mquina. Las tarjetas PCI deberan encontrarse y configurarse\n"
-#~ "automticamente. Sin embargo, si su tarjeta es de tipo ISA,\n"
-#~ "la autodeteccin no funcionar, y tendr que elegir un controlador\n"
-#~ "de la lista que aparecer luego.\n"
-#~ "\n"
-#~ "\n"
-#~ "Igual que con las tarjetas SCSI, puede dejar que el controlador pruebe\n"
-#~ "por s mismo encontrar los parmetros adecuados, si no, Ud. los tendr\n"
-#~ "que especificar. Puede usar el panel de control de Windows para ver\n"
-#~ "qu parmetros usar.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si Ud. instala un sistema Linux-Mandrake en una mquina que forma parte\n"
-#~ "de una red ya existente, el administrador de la red le debe haber dado\n"
-#~ "la informacin necesaria (direccin IP, mscara de red, nombre de host).\n"
-#~ "Si est construyendo una red privada en casa, por ejemplo, deber elegir\n"
-#~ "direcciones IP.\n"
-#~ "\n"
-#~ "\n"
-#~ "Elija Conexin por mdem y se configurar la conexin a Internet por \n"
-#~ "mdem. DrakX tratar de encontrar su mdem, si no lo consigue deber\n"
-#~ "seleccionar el puerto serie en el cual est conectado su mdem."
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "GNU/Linux puede utilizar varios tipos de impresoras. Cada uno de ellos\n"
-#~ "necesita una configuracin diferente. Sin embargo note que la cola de\n"
-#~ "impresin usa el nombre lp para la impresora predeterminada; \n"
-#~ "es decir que Ud. tiene que tener una cola de impresin con ese nombre;\n"
-#~ "pero puede dar varios nombres a una misma cola de impresin,\n"
-#~ "separados con |. Por ejemplo si prefiere que el nombre visible sea ms\n"
-#~ "descriptivo, basta ponerlo primero: Mi impresora|lp\n"
-#~ "La impresora que incluye lp en su(s) nombre(s) ser la impresora\n"
-#~ "predeterminada.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si su impresora local est conectada directamente a su computadora,\n"
-#~ "elija Impresora local. Luego tendr que decir a cual puerto est\n"
-#~ "conectada su impresora, y elegir el filtro de impresin adecuado.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si desea acceder a una impresora situada en una mquina Unix remota,\n"
-#~ "elija Impresora remota lpd. Para que pueda utilizarla no es necesario "
-#~ "dar\n"
-#~ "un nombre de usuario o contrasea, pero necesita saber el nombre de la\n"
-#~ "cola de impresin en este servidor de impresin remoto.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si desea acceder a una impresora SMB (es decir a una impresora conectada\n"
-#~ "a una mquina remota Windows o usando Samba), deber especificar el "
-#~ "nombre\n"
-#~ "SMB de la mquina remota (que puede ser diferente de su nombre TCP/IP),\n"
-#~ "posiblemente tambin necesitar dar su direccin IP, as como el nombre "
-#~ "de\n"
-#~ "usuario, el grupo de trabajo y la contrasea necesarios para acceder a\n"
-#~ "la impresora; y, por supuesto, el nombre de la impresora.\n"
-#~ "Lo mismo vale para una impresora Netware, salvo que no necesita "
-#~ "informacin\n"
-#~ "sobre el grupo de trabajo."
-
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "Se aconseja que responda S aqu. Si no, si (re)instala Microsoft "
-#~ "Windows\n"
-#~ "este va a sobre-escribir el sector de arranque. Si no hizo un disco de "
-#~ "arranque\n"
-#~ "como se sugiri, no podr arrancar ms con GNU/Linux."
-
-#~ msgid "Move your wheel!"
-#~ msgstr "Mueva su rueda!"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Resoluciones automticas"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "Para encontrar las resoluciones disponibles voy a probar varias.\n"
-#~ "Su pantalla va a parpadear...\n"
-#~ "Puede apagarla si lo desea, escuchara un pitido cuando est terminado"
-
-#~ msgid "DNS server:"
-#~ msgstr "Servidor DNS:"
-
-#~ msgid "Gateway device:"
-#~ msgstr "Dispositivo de pasarela de red:"
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Olvidar los cambios?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Cual es el tipo de su ratn?"
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "Puedo tratar de encontrar las resoluciones disponibles (ej. 800x600).\n"
-#~ "No obstante, esto puede ocasionar que se cuelgue la mquina.\n"
-#~ "Desea intentarlo?"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "No se encontraron modos vlidos\n"
-#~ "Intente con otra tarjeta de vdeo o monitor"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Bsqueda automtica de resoluciones"
-
-#~ msgid "dhcpcd"
-#~ msgstr "dhcpd"
-
-#~ msgid "pump"
-#~ msgstr "pump"
-
-#~ msgid "dhcpxd"
-#~ msgstr "dhcpxd"
-
-#~ msgid "dhcp-client"
-#~ msgstr "cliente-dhcp"
-
-#~ msgid "IP address:"
-#~ msgstr "Direccin IP:"
-
-#~ msgid "Netmask:"
-#~ msgstr "Mscara de red:"
-
-#~ msgid "Socket"
-#~ msgstr "Socket"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Ratn ADB de Apple"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Ratn ADB de Apple (2 botones)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Ratn ADB de Apple (3 botones o ms)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Ratn USB de Apple"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Ratn USB de Apple (2 botones)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Ratn USB de Apple (3 botones o ms)"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "Ratn Bus ATI"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Ratn Bus Microsoft"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Ratn Bus Logitech"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "Ratn USB (3 botones o ms)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft rev 2.1A o superior (serie)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (serie)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (serie)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (serie)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "Ratn genrico (serie)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Compatible Microsoft (serie)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "Ratn de 3 botones genrico (serie)"
-
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse (serie)"
-
-#~ msgid "nfs mount failed"
-#~ msgstr "montaje de nfs fall"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid ""
-#~ "DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
-#~ "By default, the 4.0 server is used unless your card is not supported.\n"
-#~ "\n"
-#~ "Do you want to keep XFree 3.3?"
-#~ msgstr ""
-#~ "DrakX generar archivos de configuracin para XFree 3.3 y para XFree "
-#~ "4.0.\n"
-#~ "Por defecto, se usa el servidor 4.0 a menos que no soporte su trajeta.\n"
-#~ "\n"
-#~ "Quiere mantener XFree 3.3?"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Criptografa"
-
-#~ msgid "Do not set up networking"
-#~ msgstr "No configurar la red"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "Quiere configurar el soporte de la red local en su sistema?"
-
-#~ msgid "Show less"
-#~ msgstr "Mostrar menos"
-
-#~ msgid "Show more"
-#~ msgstr "Mostrar ms"
-
-#~ msgid "Take over the hard drive"
-#~ msgstr "Aduearse del disco rgido"
-
-#~ msgid "tie"
-#~ msgstr "corbata"
-
-#~ msgid "brunette"
-#~ msgstr "morocha"
-
-#~ msgid "girl"
-#~ msgstr "muchacha"
-
-#~ msgid "woman-blond"
-#~ msgstr "rubia"
-
-#~ msgid "automagic"
-#~ msgstr "automgico"
-
-#~ msgid "Have you been provided with a hostname?"
-#~ msgstr "Se la ha proporcionado un nombre de host?"
-
-#~ msgid "Local Area Network specification"
-#~ msgstr "Especificacin de Red de rea Local"
-
-#~ msgid "You may now decide which class C network to use.\n"
-#~ msgstr "Ahora puede decidir qu red clase C utilizar.\n"
-
-#~ msgid "Network:"
-#~ msgstr "Red:"
-
-#~ msgid "Internet Connection Sharing - setup of $device"
-#~ msgstr "Compartir conexin con Internet - configuracin de $device"
-
-#~ msgid ""
-#~ "The following interface is about to be configured:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Se est por configurar la interfaz siguiente:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-
-#~ msgid "Everything configured!"
-#~ msgstr "Todo configurado!"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Cual es el tipo de su teclado?"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Intentar encontrar los dispositivos PCMCIA?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "Intento encontrar los dispositivos %s?"
-
-#~ msgid "Small(%dMB)"
-#~ msgstr "Mnima(%d MB)"
-
-#~ msgid "Modem Configuration"
-#~ msgstr "Configuracin del mdem"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr ""
-#~ "Quiere configurar una conexin de acceso telefnico por mdem en su "
-#~ "sistema?"
-
-#~ msgid "Do you want to configure a ISDN connection for your system?"
-#~ msgstr "Quiere configurar una conexin RDSI (ISDN) para su sistema?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "Intento encontrar los dispositivos PCI?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "Buscando la particin raz"
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s : Esta no es una particin raz, elija otra por favor."
-
-#~ msgid "No root partition found"
-#~ msgstr "No se encontr particin raz alguna"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr "Elija la particin que desea usar como particin raz."
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr "No tiene particin windows alguna!"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "No tiene espacio suficiente para Lnx4win!"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# '\255' is '' (inversed !) in cp437 encoding
-# '\242' is '' (oacute) in cp437 encoding
-#
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Bienvenido a LILO, el selector de SO de arranque!\n"
-#~ "\n"
-#~ "Para ver las opciones posibles pulse <TAB>.\n"
-#~ "\n"
-#~ "Para arrancar con uno de ellos, teclee su nombre y pulse <INTRO>.\n"
-#~ "O espere %d segundos para que arranque el sistema por omisin.\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Bienvenido a SILO, el selector de SO de arranque!\n"
-#~ "\n"
-#~ "Para ver las opciones posibles pulse <TAB>.\n"
-#~ "\n"
-#~ "Para arrancar con uno de ellos, teclee su nombre y pulse <INTRO>.\n"
-#~ "O espere %d segundos para que arranque el sistema predeterminado.\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "Opciones principales de SILO"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Aqu tiene las entradas de SILO siquientes.\n"
-#~ "Ud. puede aadir otras o cambiar las que existen."
-
-#~ msgid "This label is already in use"
-#~ msgstr "Esta etiqueta ya est en uso"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "Fall la instalacin de SILO. Ocurri el error siguiente:"
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ "DrakX primero intentar encontrar uno o ms adaptadores SCSI en PCI.\n"
-#~ "Si lo(s) encuentra y sabe cual(es) controlador(es) usar, lo(s) insertar\n"
-#~ "automticamente.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si su adaptador SCSI es ISA, o si es PCI pero DrakX no sabe\n"
-#~ "que controlador usar para esa tarjeta, o si no tiene adaptadores SCSI,\n"
-#~ "se le preguntar si tiene adaptadores SCSI o no. Si no tiene alguno\n"
-#~ "responda No. Si tiene uno o varios responda S. Luego se le "
-#~ "preguntar\n"
-#~ "que controlador probar.\n"
-#~ "\n"
-#~ "\n"
-#~ "En ese caso se le preguntar si quiere especificar las opciones a pasar\n"
-#~ "al controlador. Deje primero que el programa pruebe por s mismo: en la "
-#~ "mayora\n"
-#~ "de los casos funciona bien.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si no, no olvide la informacin que puede obtener a partir de Windows\n"
-#~ "(si tiene Windows instalado en su sistema), como se sugiere en la gua "
-#~ "de\n"
-#~ "instalacin. Esos son los parmetros que necesitar pasarle al "
-#~ "controlador."
-
-#~ msgid "Shutting down"
-#~ msgstr "Apagando el equipo"
-
-#~ msgid "useless"
-#~ msgstr "intil"
-
-#~ msgid "garbage"
-#~ msgstr "basura"
-
-#~ msgid ""
-#~ "Some true type fonts from windows have been found on your computer.\n"
-#~ "Do you want to use them? Be sure you have the right to use them under "
-#~ "Linux."
-#~ msgstr ""
-#~ "Se encontraron tipos de letra True Type en una particin Windows\n"
-#~ "de su computadora. Desea usarlos?\n"
-#~ "Asegrese de que tiene derecho de usarlos con Linux."
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "or 7.0 (Air)."
-#~ msgstr ""
-#~ "Elija \"Instalar\" si no hay alguna versin de Linux anterior,\n"
-#~ "o si desea instalar ms de una distribucin o versin.\n"
-#~ "\n"
-#~ "\n"
-#~ "Elija \"Actualizar\" si desea actualizar a partir de una versin\n"
-#~ "anterior de Linux Mandrake: 5.1 (Venice), 5.2 (Leeloo), 5.3 (Festen),\n"
-#~ "6.0 (Venus), 6.1 (Helios), Gold 2000 o 7.0 (Air)."
-
-#~ msgid "Do you want to use LILO?"
-#~ msgstr "Desea usar LILO?"
-
-#~ msgid ""
-#~ "Now that you've selected desired groups, please choose \n"
-#~ "how many packages you want, ranging from minimal to full \n"
-#~ "installation of each selected groups."
-#~ msgstr ""
-#~ "Ahora que seleccion los grupos que desea, elija cuantos paquetes desea,\n"
-#~ "entre mnima e instalacin completa para cada uno de los grupos."
-
-#~ msgid "Choose other CD to install"
-#~ msgstr "Elija otro CD a instalar"
-
-#~ msgid ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed Linux before.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Customized: If you are familiar with Linux, you will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\"."
-#~ msgstr ""
-#~ "Elija:\n"
-#~ "\n"
-#~ " - Recomendada: si nunca instal antes un sistema Linux.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Personalizada: si ya est familiarizado con Linux, podr elegir\n"
-#~ "el uso que le dar al sistema, entre normal, programador o servidor.\n"
-#~ "Elija Normal para una instalacin generalizada. Elija Programador si\n"
-#~ "va a usar la computadora principalmente para desarrollar programas, o "
-#~ "elija\n"
-#~ "Servidor si desea instalar un servidor general (para correo, "
-#~ "impresin,...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Experto: si ya conoce muy bien GNU/Linux y desea mantener un control\n"
-#~ "completo sobre la instalacin, esta clase de instalacin es para Ud.\n"
-#~ "Podr elegir el uso que le dar a su sistema como en la opcin "
-#~ "Personalizada."
-
-#~ msgid "Downloading cryptographic packages"
-#~ msgstr "Bajando paquetes criptogrficos"
-
-#~ msgid "Setup SCSI"
-#~ msgstr "Configuracin SCSI"
-
-#~ msgid "Installation CD Nr %s"
-#~ msgstr "CD de instalacin n %s"
-
-#~ msgid ""
-#~ "Update installation image!\n"
-#~ "\n"
-#~ "Ask your system administrator or reboot to update your installation image "
-#~ "to include\n"
-#~ "the Cd-Rom image labelled \"%s\". Press Ok if image has been updated or "
-#~ "press Cancel\n"
-#~ "to avoid installation from this Cd-Rom image."
-#~ msgstr ""
-#~ "Actualice la imagen de instalacin!\n"
-#~ "\n"
-#~ "Pdale a su administrador de sistemas o reinicie el equipo para "
-#~ "actualizar\n"
-#~ "su imagen de instalacin de manera de incluir la imagen del CD "
-#~ "intitulado\n"
-#~ "%s. Pulse Aceptar si se ha actualizado la imagen\n"
-#~ "o pulse Cancelar para cancelar la isntalacin desde esta imagen de CD."
-
-#~ msgid "Which language do you want?"
-#~ msgstr "Qu idioma desea?"
-
-#~ msgid "Which packages do you want to install"
-#~ msgstr "Elija los paquetes que desea instalar"
-
-#~ msgid "Password:"
-#~ msgstr "Contrasea:"
-
-#~ msgid "User name:"
-#~ msgstr "Nombre de usuario:"
-
-#~ msgid "expert"
-#~ msgstr "experto"
-
-#~ msgid "developer"
-#~ msgstr "programador"
-
-#~ msgid "beginner"
-#~ msgstr "principiante"
-
-#~ msgid "US Keyboard"
-#~ msgstr "Estadounidense"
-
-#~ msgid "Size: %s MB"
-#~ msgstr "Tamao: %s MB"
-
-#~ msgid "Bad kickstart file %s (failed %s)"
-#~ msgstr "Archivo kickstart %s errneo (fall %s)"
-
-#~ msgid "Too many packages chosen: %dMB doesn't fit in %dMB"
-#~ msgstr "Demasiados paquetes elegidos: %d MB no caben en %d MB"
-
-#~ msgid "Going to install %d MB. You can choose to install more programs"
-#~ msgstr "Voy a instalar %d MB. Puede instalar ms programas si desea"
-
-#~ msgid "linear"
-#~ msgstr "linear"
-
-#~ msgid "Linear (needed for some SCSI drives)"
-#~ msgstr "Linear (necesario para ciertos discos SCSI)"
-
-#~ msgid "It is necessary to restart installation booting on the floppy"
-#~ msgstr "Es necesario reiniciar la instalacin a partir de un disquete"
-
-#~ msgid "It is necessary to restart installation with the new parameters"
-#~ msgstr "Es necesario de reiniciar la instalacin con los nuevos parmetros"
-
-#~ msgid ""
-#~ "Failed to create an HTP boot floppy.\n"
-#~ "You may have to restart installation and give ``%s'' at the prompt"
-#~ msgstr ""
-#~ "Fall la creacin de un disquete de arranque con soporte HTP.\n"
-#~ "Debe reiniciar la instalacin y teclear %s en el prompt"
-
-#~ msgid "A entry %s already exists"
-#~ msgstr "Ya existe una entrada %s"
-
-#~ msgid "Choose install or upgrade"
-#~ msgstr "Instalacin o actualizacin"
diff --git a/perl-install/share/po/et.po b/perl-install/share/po/et.po
deleted file mode 100644
index da06cc26d..000000000
--- a/perl-install/share/po/et.po
+++ /dev/null
@@ -1,9615 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# Riho Kurg <rx@linux.ee>, 1999-2001.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 1999-10-28 19:54+0200\n"
-"Last-Translator: Riho Kurg <rx@linux.ee>\n"
-"Language-Team: Estonian <et@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-15\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Seadista kik monitorid sltumatult"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Kasuta Xinerama laiendusi"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Seadista ainult kaart \"%s\" (%s)"
-
-#
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Mitme monitori seadistamine"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Ssteemis on vimalik kasutada mitut monitori.\n"
-"Mida Te soovite teha?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Graafikakaart"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Valige graafikakaart"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Valige X server"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X server"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree86 %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Millise XFree konfiguratsiooni soovite kasutada?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Teie videokaardi 3D graafikakiirendit saab kasutada vaid koos XFree %s-ga.\n"
-"XFree %s toetab Teie videokaarti ja vib omada paremat 2D tuge."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Teie kaardi 3D graafikakiirendit toetab XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s koos 3D graafikakiirendi toega"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Teie videokaardi 3D graafikakiirendit saab kasutada koos XFree %s-ga.\n"
-"SEE ON AGA EKSPERIMENTAALNE JA VIB OLLA EBASTABIILNE."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s koos EKSPERIMENTAALSE 3D kiirendi toega"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Teie videokaardi 3D graafikakiirendit saab kasutada vaid koos XFree %s-ga.\n"
-"SEE ON AGA EKSPERIMENTAALNE JA VIB OLLA EBASTABIILNE.\n"
-"Teie kaarti toetab ka XFree %s, millel on ehk parem 2D tugi."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree stted"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Valige graafikamlu suurus"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Valige X server"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Valige monitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Kaks kriitilist suurust on ekraanisagedus, mis mrab kogu kuva\n"
-"uuendamise aja ja realaotussagedus\n"
-"\n"
-"On VGA THTIS, et Te ei mraks siinkohal monitori, mille realaotus on\n"
-"suurem kui Teie monitor vimaldab. Vastasel juhul vib Teie monitor hvida.\n"
-"Kui kahtlete, valige pigem viksem vrtus."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Realaotussagedus"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Ekraaniuuendussagedus"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Monitor ei ole seadistatud"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Graafikakaart ei ole veel seatud"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Kuvatihedus ei ole veel seatud"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Kas soovite seadistusi proovida?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Hoiatus: testimine vib Teie arvuti peatada"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Proovime seadistusi"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"proovige mnd parameetrit muuta"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Tekkis mingi viga:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Jtkub %d sekundi prast"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Kas see on ige?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Tekkis mingi viga, proovige mnd parameetrit muuta"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Kuvatihedus"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Valige kuvatihedus ja vrvisgavus"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Graafikakaart: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 server: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Ekspertresiim"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Nita kike"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Kuvatihedused"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Klaviatuuriasetus: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Hiire tp: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Hiire port: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Realaotussagedus: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Ekraanisagedus: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Graafikakaart: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Videomlu: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Vrvisgavus: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Kuvatihedus: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 server: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 juhtprogramm: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Valmistume X-i seadistamiseks"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Mida Te soovite teha?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Muuda monitori"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Muuda graafikakaardi"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Muuda serveri parameetreid"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Muuda kuvatihedust"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Nita lisainfot"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Proovi veel"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Vlju"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Silita muutused?\n"
-"Olemasolevad stted:\n"
-"\n"
-"%s"
-
-# c-format
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Muudatuste aktiveerimiseks kivitage %s uuesti"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Palun vljuge ja vajutage siis Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X stardib nd"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Teie arvutis on vimalik kivitada X juba alglaadimisel.\n"
-"Kas soovite nii teha?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 vrvi (8 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 tuhat vrvi (15 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 tuhat vrvi (16 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 miljonit vrvi (24 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 miljardit vrvi (32 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB vi rohkem"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "VGA, 640x400 sagedusel 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "SVGA, 800x600 sagedusel 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514-hilduv, 1024x768, 87 Hz vahelejtuga "
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "SVGA, 1024x768, 87 Hz vahelejtuga, 800x600, 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "SVGA, 800x600 sagedusel 60 Hz, 640x480 sagedusel 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "SVGA, 1024x768 sagedusel 60 Hz, 800x600 sagedusel 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Krgsageduslik SVGA, 1024x768, 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Mitmesageduslik, 1280x1024 sagedusel 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Mitmesageduslik, 1280x1024 sagedusel 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Mitmesageduslik, 1280x1024 sagedusel 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Kuvatihedus saab olla 1600x1200 sagedusel 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Kuvatihedus saab olla 1600x1200 sagedusel 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Partitsiooni algusesse"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Ketta algusesse (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO installimine"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Kuhu soovite alglaaduri installida"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub installimine"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO tekstiresiimis"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO graafikaresiimis"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Laadimine DOS/Windowsist (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Alglaaduri peastted"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Eelistatav alglaadur"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Alglaaduri peastted"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Alglaadimisseade"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (ei tta vanema BIOSi korral)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Kompaktne"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "kompaktne"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Graafikamood"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Ooteaeg alglaadimisel"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Salasna"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Salasna (uuesti)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Piira ksurea suvandeid"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "piiratud"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Puhasta /tmp igal laadimisel"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Kui vaja, tpsusta RAM suurust (leitud %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Vimalda mitut profiili"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Anna mlu suurus megabaitides"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr "Ste ``Piira ksurea suvandeid'' on ilma salasnata mittekasutatav"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Palun proovige veel"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Salasnad ei klapi"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Initsialiseerimisteade"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Open Firmware viivitus"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Ajapiirang kerneli laadimisel"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "CD-lt laadimine lubatud?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "OF laadimine lubatud?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Vaikimisi OS?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Praegu on kasutusel sellised kirjed.\n"
-"Te vite neid lisada ning olemasolevaid muuta."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Lisa"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Tehtud"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "Modifitseeri RAIDi"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Millisele sektorile soovite seda tsta?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Muu OS (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Muu OS (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Muu OS (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Laadefail"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Juur"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Lisada"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Read-write"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tabel"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Ebaturvaline"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "This"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Vaikimisi"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd suurus"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "NoVideo"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Eemalda kirje"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Thi kirjethis ei ole lubatud"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Selline this on juba kasutusel"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Mis tpi partitsioonid teete?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Leiti %s %s liidest"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "On Teil veel kaarte?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Kas Teil on ikka mni %s liides?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Ei"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Jah"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Info riistvara kohta"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Installime juhtprogrammil %s kaardile %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(moodul %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Millist %s juhtprogrammi peaksime proovima?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Mnedel juhtudel vajab %s juhtprogramm tks lisainformatsiooni\n"
-"kuigi tavaliselt saab ka ilma hakkama. Kas soovite eraldi parameetreid\n"
-"mratleda vi lasta juhtprogrammil ise Teie arvutit kompida? Vib juhtuda,\n"
-"et see viib arvuti segadusse kuid ei tohiks mingit jvat kahju teha."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Proovida niisama"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Mrake parameetrid"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Nd vite moodulile %s parameetreid mrata"
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Nd vite moodulile %s parameetreid mrata.\n"
-"Parameetrid on vormingus \"nimi=vrtus nimi2=vrtus2 ...\".\n"
-"Niteks: \"io=0x300 irq=7\""
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Mooduli parameetrid:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Moodule %s laadimine ei nnestunud.\n"
-"Kas soovite proovida parameetreid muuta?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(juba lisatud %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Salasna on liiga lihtne"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Palun andke kasutajatunnus"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "Kasutajatunnus tohib sisaldada ainult vikesi thti, numbreid, - ja _"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "See kasutajatunnus on juba lisatud"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Lisa kasutaja"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Sisesta kasutaja\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Kasutaja ige"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Prisnimi"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Kasutajatunnus"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Ksurida"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Ikoon"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Vaikimisi sisenemine"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Teie arvutit saab seada vaikimisi kasutaja sisenemisele.\n"
-"Kui Te seda ei soovi, valige <Katkesta>"
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Valige uus vaikimisi kasutaja :"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Valige palun kivitatav aknahaldur:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Tere tulemast! Laadimisel aitab Teid %s!\n"
-"\n"
-"Valige nimekirjast eelistatav OS,\n"
-"vaikimisi oodake %d sekundit.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Tere tulemast! Laadimisel aitab Teid GRUB!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Kasutage valiku tegemiseks %c ja %c klahve"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Enter laeb Teie valiku, 'e' laseb muuta"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "suvandeid enne laadimist ja 'c' veel enam."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Valik laetakse automaatselt %d sekundi jooksul"
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "/boot on liiga tis"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Tlaud"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Startmen"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "selle kohta (veel) abi ei saa.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Alglaaduri stiil"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Fail"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Fail/_Uus"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Fail/_Ava"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Fail/_Salvesta"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Fail/Salvesta _Kui"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Fail/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Fail/_Vlju"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Eelistused"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Eelistused/Test"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Abi"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Abi/_Misvrk"
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Seadista"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Internetihenduse jagamise Abimees!\n"
-"\n"
-"%s\n"
-"\n"
-"Valige Abimehe kivitamiseks ``OK''"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr "Valimisviis"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "NewStyle kategoriseeritud jlgimine"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "NewStyle jlgimine"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Tavaline jlgimine"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Traditsiooniline Gtk+ jlgimine"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Kivita alglaadimisel Aurora"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Alglaadimismood"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Kivita X-Windows alglaadimisel"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Ei taha automaatselt siseneda"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-"Jah, soovin automaatset sisselogimist sellele (kasutajale, keskkonnale)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Tmood"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Vaikimisi"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Katkesta"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "ei saa lugeda faili /etc/inittab: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "ei saa lugeda faili /etc/sysconfig/autologin: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "LILO installimine ebannestus. Tekkis jrgnev viga:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Tekita"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "henda lahti"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Kustuta"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Vorminda"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Muuda suurust"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tp"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "henduspunkt"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Kirjuta /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Tavakasutaja > Ekspert"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Ekspert > Tavakasutaja"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Taasta failist"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Salvesta faili"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Abimees"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Taasta flopilt"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Salvesta flopile"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Kustuta kik"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Vorminda kik"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Paiguta ise"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Kik primaarsed partitsioonid on kasutusel"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Partitsioone ei saa enam lisada"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Et saada rohkem partitsioone, kustutage palun ks, et luua laiendatud "
-"partitsioon"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Ei ole piisavalt ruumi automaatpaigutuseks"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Tagasi"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Kirjuta partitsioonitabel"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Veel.."
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Saaleala"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Thi"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Muu"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Failissteemi tbid: "
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "ksikasjad"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Teil on ks suur FAT partitsioon.\n"
-"(tavaliselt kasutab sellist MS DOS/Windows)\n"
-"Soovitame teil esmalt selle suurust muuta\n"
-"(klikkige ja siis valige \"Muuda\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Palun tehke oma andmetest enne tagavarakoopia"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lugege hoolega!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Kui soovite kasutada aboot-i, jtke palun ketta algusesse vhemalt 2048 \n"
-"sektorit vaba ruumi"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Vaadake ette: see vib olla ohtlik."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Viga"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "henduspunkt:"
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Seade: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS kettathis: %s (arvatavasti)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tp: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nimi: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Algus: sektor %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Suurus: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektorit"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Silindrid %d kuni %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Vormindatud\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Vormindamata\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "hendatud\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "loopback fail(id): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Partitsioonilt toimub alglaadimine\n"
-" (MS-DOS-i, mitte lilo jaoks)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Tase %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "hiku suurus %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-kettad %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "loopback faili nimi: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Vimalik, et on tegemist\n"
-"juhtpartitsiooniga, parem oleks\n"
-"seda mitte puutuda.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"See on eriline, alglaadimisel\n"
-"kasutatav partitsioon, mis\n"
-"vimaldab mitme operratsioonissteemi\n"
-"laadimist.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Palun valige partitsioon"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Suurus: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geomeetria: %s silindrit, %s pead, %s sektorit\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-kettad %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Partitsioonitabeli tp: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "siinil %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "henda"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktiivne"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Lisa RAIDi"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Eemalda RAIDist"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Modifitseeri RAIDi"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Lisa LVMi"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Eemalda LVMist"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Kasuta loopback-ina"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Valige tegevus"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Vabandan, aga ei saa nustuda /boot kataloogi paigutamisega kaugemale 1024-"
-"st silindrist.\n"
-"Kui kasutate LILO-t, ei tta see sel moel, kui aga ei kasuta, ei ole Teile "
-"ka /boot vajalik"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Partitsioon, mida soovite kasutada juurkataloogi (/) hoidmiseks, asub\n"
-"fsiliselt tagapool 1024-t silindrit ja Teil ei ole /boot partitsiooni.\n"
-"Kui plaanite kasutada LILO alglaadurit, lisage kindlasti /boot partitsioon"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Olete valinud juurpartitsiooniks (/) tarkvaralise RAID-i.\n"
-"Ilma /boot partitsioonita ei ole vimalik sellist ssteemi laadida.\n"
-"Lisage kindlasti /boot partitsioon!"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Kasutage pigem ``%s''"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Kasutage enne \"henda lahti\""
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr "Partitsiooni %s tbi muutmisel hvivad kik seal olnud andmed"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Jtkate ikkagi?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Lpeta ilma salvestamata"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Lpetate ilma partitsioonitabelit salvestamata?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Muuda partitsiooni tp"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Mis failissteemi soovite kasutada?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "ReiserFS ei ole kasutatav alla 32MB partisioonidel"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Kuhu soovite loopback-faili %s hendada?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Kuhu soovite seadme %s hendada?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Seda henduspunkti ei saa eemaldada, kuna partitsioon on kasutusel.\n"
-"loopback-ina. Eemaldage enne loopback"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "Partitsiooni %s vormindamisel hvivad sellel kik andmed"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Vormindan"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Vormindan loopback faili %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Vormindan partitsiooni %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Prast kigi partitsioonide vormindamist"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "on kik andmed neil partitsioonidel hvivad"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Liiguta"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Millisele kettale soovite seda mber paigutada?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Millisele sektorile soovite seda mber paigutada?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Paigutan mber"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Liigutan partitsiooni..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Ketta %s partitsioonitabel salvestatakse!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Muudatuste justamiseks vajate alglaadimist"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Arvutan FAT failissteemi piire"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Muudan suurust"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "See partitsioon ei ole muudetav"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Selle partitsiooni andmetest viks olla tagavarakoopia"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "Partitsiooni %s suuruse muutmisel hvivad sellel kik andmed"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Valige uus suurus"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Looge uus partitsioon"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Algsektor: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Suurus (MB): "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Failissteemi tp: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Eelistus: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Seda partitsiooni ei saa loopback-ina kasutada"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "loopback faili nimi:"
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "See fail on juba loopback-ina kasutusel, valige mni muu"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Fail on juba olemas. Kas kasutan seda?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Valige fail"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Tabeli tagavarakoopia ei ole sama suurusega\n"
-"Soovite jtkata?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Hoiatus"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Pange thi flopi masinasse\n"
-"Kik andmed sellel hvivad"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Proovin psta partitsioonitabelit"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "seade"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "tase"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "hiku suurus"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Vali olemasolev RAID, millele lisada"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "uus"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Vali olemasolev LVM, millele lisada"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "LVM nimi?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "CD/flopi/.. autohendamine"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Psta partitsioonitabel"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Laadi uuesti"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s vormindamine seadmel %s ebannestus"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "Ei oska seadet %s vormindada tpi %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "hendamine ebannestus: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "viga %s lahti hendamisel: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "lihtne"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "server"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "henduspunktid peavad algama kaldkriipsuga (/)"
-
-# c-format
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "henduspunktile %s on juba ks partitsioon mratud\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Ringhendus %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "Te ei saa henduspunkti %s jaoks LVM loogilist ketast kasutada"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "See kataloog peab jma kokku juurfailissteemiga"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr "See henduspunkt vajab telist (ext2, reiserfs) failissteemi\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Seadme %s avamine kirjutamiseks ebannestus: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Tekkis viga: failissteemi loomiseks ei leitud htki seadet. Palun\n"
-"kontrollige oma riistvara."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Teil ei ole htki partitsiooni!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Valige keel ssteemi installimiseks ja kasutamiseks."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Et installimist jtkata, peate nustuma laltoodud litsentsitingimustega.\n"
-"\n"
-"\n"
-"Palun valige \"Nus\", kui nustute nendega.\n"
-"\n"
-"\n"
-"Palun valige \"Keeldun\", kui ei pea neile tingimistele allumist "
-"vimalikuks. Installimine lpetatakse, tegemata Teie ssteemis muutusi."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Valige klaviatuuripaigutus laltoodud nimekirjast"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Kui soovite, et peale installimist oleks vimalik kasutada veel erinevaid\n"
-"keeli, valige need laltoodud nimekirjast. Valik \"Kik\" lisab toe\n"
-"kigile keeltele."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Palun valige \"Installimine\" kui Teie arvutis ei ole varasemat Linux-"
-"Mandrake\n"
-"versiooni.\n"
-"\n"
-"\n"
-"Palun valige \"Uuendamine\" kui soovite uuendada varasemat Linux-Mandrake "
-"versiooni.\n"
-"\n"
-"\n"
-"Sltuvalt Teie GNU/Linuxi alastest teadmistest saate valida erineva tasemega "
-"installi- vi uuendusmeetodi:\n"
-"\n"
-"\t* Soovituslik: Te ei ole varem GNU/Linuxit installinud. Kik tehakse "
-"lihtsaks ja esitatakse vhe ksimusi\n"
-"\n"
-"\n"
-"\t* Isetehtud: Olete Linuxiga tuttav ja soovite ssteemi kohandada "
-"vastavalt\n"
-"\t Teie vajadustele. Jrgmisena saate teha valikud sltuvalt Teie arvuti \n"
-"\t edaspidisest kasutusalast.\n"
-"\n"
-"\n"
-"\t* Ekspert: Te tunnete end GNU/Linux keskkonnas vabalt ja soovite\n"
-"\t ssteemi, mis sobiks nagu valatult Teie tpsete ootustega.\n"
-"\t Aga palun, palun: RGE VALIGE SEDA, KUI TE TPSELT EI TEA, MIDA TEETE!"
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Valige:\n"
-"\n"
-" - Isetehtud: Olete Linuxiga tuttav ja soovite ssteemi kohandada "
-"vastavalt\n"
-" Teie vajadustele. Jrgmisena saate teha valikud sltuvalt Teie arvuti \n"
-" edaspidisest kasutusalast.\n"
-"\n"
-"\n"
-" - Ekspert: Te tunnete end GNU/Linux keskkonnas vabalt ja soovite\n"
-" ssteemi, mis sobiks nagu valatult Teie tpsete ootustega.\n"
-" Aga palun, palun: RGE VALIGE SEDA, KUI TE TPSELT EI TEA, MIDA TEETE!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Nd mrake oma arvuti peamne kasutusala. Valikud on:\n"
-"\n"
-"\t* Tjaam: valige, kui kavatsete oma arvutit rakendada igapevategemiste "
-"tarvis (kontorirakendused,\n"
-"\t graafika ja muu selline).\n"
-"\n"
-"\n"
-"\t* Arendus: installitakse tiskomplekt vahendeid eri programmeerimiskeelte "
-"kasutamiseks, allikkoodi loomiseks,\n"
-"\t kompileerimiseks, silumiseks jne.\n"
-"\n"
-"\n"
-"\t* Server: valige see, kui vajate Linux-Mandrake serverit. Saate serveerida "
-"faile (NFS vi SMB), printida\n"
-"\t (Unixi stiilis lp vi Windowsi SMB), lisaks andmebaasid, veebirakendused "
-"jms. Installimata\n"
-"\t jetakse graafiline kasutajaliides (KDE, GNOME...)."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"Esmalt otsib DrakX PCI siini SCSI liideseid. Kui neid leitakse, ja \n"
-"vastav(ad) juhtprogramm(id) on teada, siis laetakse ja installitakse \n"
-"kik vajalik automaatselt.\n"
-"\n"
-"\n"
-"Kui Teie SCSI liides kasutab ISA siini vi kui DrakX ei tea,\n"
-"millist juhtprogrammi kasutada vi Teil ei ole ldse SCSI liidest,\n"
-"siis ksitakse Teilt selle kohta.\n"
-"Kui Teil SCSI liidest testi ei ole, vastake \"Ei\". Kui Teil aga siiski\n"
-"on, siis vastake \"Jah\". Seejrel lastakse Teil nimekirjast sobiv\n"
-"juhtprogramm valida.\n"
-"\n"
-"\n"
-"Kui olete juhtprogrammi vlja valinud, on Teil vimalus anda sellele\n"
-"ka parameetreid. Siiski, enamasti lheb kik kenasti ka ilma neid\n"
-"sisestamata: vastavad andmed leiab juhtprogramm ise.\n"
-"\n"
-"Kui automaatne parameetrite otsimine ei tta, tutvuge palun lhemalt\n"
-"oma SCSI liidese dokumentatsiooniga vi ksige abi riistvara mjalt.\n"
-"Vaadake ka User Guide'i (peatkk 2, lik \"Collective informations on your\n"
-"hardware\")\n"
-"Ka samas masinas olev Windows oskab vahel SCSI kohta kasulikku \n"
-"informatsiooni anda."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Olete judnud punkti, kus peate otsustama, kuhu tpselt Linux-Mandrake oma\n"
-"kvakettal paigaldada. Kui kvaketas on thi vi kui mni muu \n"
-"operatsioonissteem seda tielikult kasutab, on vaja partitsioneerida.\n"
-"Partitsioneerimine on tegevus, mille kigus tekitatakse kettale loogilised\n"
-"piirkonnad Teie uue Linux-Mandrake ssteemi installimiseks.\n"
-"\n"
-"\n"
-"Kuna partitsioneerimine ei ole pratav protsess, siis peab kogemusteta\n"
-"kasutaja olema iseranis ettevaatlik! Selle tegevuse lihtsustamiseks ja\n"
-"vigade vhendamiseks on Teie jaoks loodudki kesolev abimees. Siiski,\n"
-"palun varuga natuke ettevalmistusaega\n"
-"\n"
-"\n"
-"Linux-Mandrake jaoks on Teil vaja vhemalt kaht partitsiooni. hele "
-"paigutatakse\n"
-"operatsioonissteem ise ja teisele luuakse virtuaalmlu (saaleala e. swap).\n"
-"\n"
-"\n"
-"Kui partitsioonid on juba loodud (eelmise installi vi mne muu vahendi\n"
-"abil), siis peate need lihtsalt Linuxi paigaldamise jaoks vlja valima.\n"
-"\n"
-"\n"
-"Kui partitsioone ei ole varem loodud, peate kasutama lalttoodud abimeest.\n"
-"Abimees hindab Teie kvaketast ja pakub jrgmised valikud:\n"
-"\n"
-"\t* Kasuta olemasolevaid partitsioone: abimees leidis kettalt Linuxi "
-"partitsioonid.\n"
-"\t Kui soovite neid kasutada, valige see.\n"
-"\n"
-"\n"
-"\t* Puhasta kogu ketas: kui soovite alustada Linux-Mandrake installimist "
-"tiesti thjale kettale.\n"
-"\t Thelepanu: kik andmed, mis enne kettal olid, hvivad!\n"
-"\n"
-"\n"
-"\t* Kasuta vaba ruumi Windowsi partitsioonil: kui Microsoft Windows kasutab "
-"kogu Teie kvaketta vaba pinna,\n"
-"\t saate luua lisaruumi Windowsi partitsiooni suuruse muutmisel.\n"
-"\t Sageli on see mistlik, kui soovite kasutada ka Windowst.\n"
-"\n"
-"\t* Asjatundja: kui soovite ise oma kvaketast jagada, valige see. Nii on "
-"Teil kige rohkem vimalusi,\n"
-"\t aga ka kige rohkem ohtusid! rge valige seda, kui Te tpselt ei tea, "
-"mida teete."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Nd peate valima partitsiooni(d), kuhu soovite Linux-Mandrake installida.\n"
-"\n"
-"Partitsioon on loogiliselt eraldatud kvaketta piirkond, mille suurust\n"
-"ei ole vimalik hiljem, ttavas ssteemis enam muuta. Samuti hvivad\n"
-"partitsiooni kustutamisel kik sellel sisalduvad andmed.\n"
-"\n"
-"Et muuta seda tegevust lihtsamaks, on loodud Abimees, mille soovitused\n"
-"on harilikult mistlikud.\n"
-"\n"
-"\n"
-"Partitsioonide loomiseks valige esmalt kvaketas.\n"
-"\n"
-"\n"
-"Valitud ketta partitsioneerimiseks on jrgmised vimalused:\n"
-"\n"
-" * Puhasta kik: kustutatakse kik olemasolevad partitsioonid sellel "
-"kettal\n"
-"\n"
-"\n"
-" * Paiguta ise: sel juhul tekitatakse Linuxi jaoks vajalikud partitsioonid "
-"vabale kettapinnale automaatselt.\n"
-"\n"
-"\n"
-" * Psta partitsioonitabel: kui partitsioonitabel on vigastatud, vib "
-"proovida seda parandada. \n"
-" Palun rge sellega igaks juhuks palju arvestage.\n"
-"\n"
-"\n"
-" * Lae uuesti: kui soovite thistada kik enda tehtud muutused ja alustada "
-"algse partitsioonitabeliga\n"
-"\n"
-"\n"
-" * Abimees: kui soovite uue partitsioonitabeli loomisel samm-sammulist "
-"juhatust.\n"
-" Soovitav, kui ei ole varem midagi sellist teinud.\n"
-"\n"
-"\n"
-" * Taasta flopilt: kui olete varem salvestanud koopia "
-"partitsioonitabelist\n"
-" flopile, tuleb see nd kasuks\n"
-"\n"
-"\n"
-" * Salvesta flopile: kui soovite salvestada partitsioonitabeli flopile, "
-"et\n"
-" vajadusel oleks vimalik sealt taastada.\n"
-"\n"
-"\n"
-" * Tehtud: kui olete partitsioneerimise lpetanud, siis saate muutused "
-"nd salvestada\n"
-"\n"
-"\n"
-"Valitud partitsioonil on vimalikud jrgmised tegevused:\n"
-"\n"
-" * Ctrl-c uue partitsiooni loomine\n"
-"\n"
-" * Ctrl-d partitsiooni kustutamine\n"
-"\n"
-" * Ctrl-m henduspunkti seadmine"
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"lalpool on toodud kik Teie kvakettal olemasolevad Linuxi partitsioonid\n"
-"Vaikimisi on need enamasti sna mistlikud. Kui teete nendes muutusi,\n"
-"pidage meeles, et kindlasti vajate juurpartitsiooni (\"/\"). Liiga vikeste\n"
-"partitsioonide puhul vib tekkida raskusi piisava hulga tarkvara "
-"installimisel\n"
-"Kasutajate jaoks on sageli mistlik luua eraldi \"/home\" partitsioon.\n"
-"\n"
-"\n"
-"Iga partitsiooni juures on toodud abiinfona \"Nimi\" ja \"Mahutavus\".\n"
-"\n"
-"\n"
-"\"Nimi\" koosneb kvakettatbist, selle numbrist ja partitsiooni\n"
-"numbrist (niteks \"hda1\").\n"
-"\n"
-"\n"
-"Kvaketta tp on \"hd\" kui on tegemist IDE kettaga ja \"sd\" kui on\n"
-"tegemist SCSI kettaga.\n"
-"\n"
-"\n"
-"Kvaketta number on alati tht \"hd\" vi \"sd\" jrel. IDE ketastel:\n"
-"\n"
-" * \"a\" - esmase IDE kontrolleri lem,\n"
-"\n"
-" * \"b\" - esmase IDE kontrolleri alluv,\n"
-"\n"
-" * \"c\" - teisase IDE kontrolleri lem,\n"
-"\n"
-" * \"d\" - teisase IDE kontrolleri alluv.\n"
-"\n"
-"SCSI ketaste puhul on \"a\" esimene, \"b\" teine ja nii edasi."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Valige kvaketas, mida soovite Linux-Mandrake installimiseks puhastada\n"
-"Ettevaatust, kik sellel leiduvad andmed hvitatakse ja ei ole enam\n"
-"taastatavad."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Valige \"OK\" kui soovite kustutada kik sellel kettal asuvad "
-"partitsioonid.\n"
-"Ettevaatust, peale \"OK\" klikkimist ei ole enam vimalik sellelt kettalt\n"
-"andmeid taastada.\n"
-"\n"
-"\n"
-"Katkestamiseks valige \"Katkesta\"."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Teie arvuti kvakettal on rohkem kui ks Microsoft Windows partitsioon.\n"
-"Palun valige vlja see, mille suurust soovite Linux-Mandrake jaoks muuta.\n"
-"\n"
-"\n"
-"Teie abistamiseks on iga partitsioonidel nidatud \"Nimi Linuxis\", \"Nimi "
-"Windowsis\" ja \"Mahutavus\".\n"
-"\n"
-"\"Nimi Linuxis\" koosneb kvakettatbist, selle numbrist ja partitsiooni\n"
-"numbrist (niteks \"hda1\").\n"
-"\n"
-"\n"
-"Kvaketta tp on \"hd\" kui on tegemist IDE kettaga ja \"sd\" kui on\n"
-"tegemist SCSI kettaga.\n"
-"\n"
-"\n"
-"Kvaketta number on alati tht \"hd\" vi \"sd\" jrel. IDE ketastel:\n"
-"\n"
-" * \"a\" - esmase IDE kontrolleri lem,\n"
-"\n"
-" * \"b\" - esmase IDE kontrolleri alluv,\n"
-"\n"
-" * \"c\" - teisase IDE kontrolleri lem,\n"
-"\n"
-" * \"d\" - teisase IDE kontrolleri alluv.\n"
-"\n"
-"SCSI ketaste puhul on \"a\" esimene, \"b\" teine ja nii edasi.\n"
-"\n"
-"\n"
-"\"Nimi Windowsis\" on tht, millega Microsoft Windows vastavat seadet\n"
-"thistab."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Palun natuke kannatust. Selleks vib kuluda mnigi minut."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Kik vrskelt loodud partitsioonid tuleb enne kasutamist vormindada\n"
-"ehk sinna tuleb luua failissteemid.\n"
-"\n"
-"\n"
-"Samuti vib vormindada varem olemas olnud partitsioonid, kui soovite\n"
-"seal leiduvad andmed ra kustutada.\n"
-"\n"
-"\n"
-"Paneme thele, et alati ei ole kigi vanade partitsioonide vormindamine\n"
-"vajalik.\n"
-"Kindlasti vib vormindada partitsioone, kus varem asus \"/\", \"/usr\"\n"
-"vi \"/var\" aga kasutajate faile sisaldav \"/home\" viks jda\n"
-"alles.\n"
-"\n"
-"\n"
-"Klikkige \"OK\", kui olete vormindamiseks valmis."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Nd vite valida paketigruppe installimiseks vi uuendamiseks\n"
-"\n"
-"\n"
-"DrakX kontrollib, kas Teil on ikka piisavalt vaba ruumi nende kigi jaoks.\n"
-"kui mitte, hoiatab ta Teid. Kui Te hoiatusest ei hooli jetakse "
-"automaatselt\n"
-"krvale vhemolulised paketid.\n"
-"Nimekirja lpus saate valida \"Valik paketthaaval\"; sel juhul aga peate\n"
-"lbi sirvima le 1000 ksiku paketi..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Nd saate pakette kshaaval installimiseks valida\n"
-"\n"
-"\n"
-"Paketipuud saate avada ja sulgeda vasakpoolses nurgas asuvatest nuppudest."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Kui Teil on olemas kik laltoodud CD-d, klikkige <OK>.\n"
-"Kui Teil ei ole htki neist, klikkige <Katkesta>.\n"
-"Kui puuduvad mned CD-d, jtke mrgituks vaid olemasolevad ja siis <OK>."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Teie Linux-Mandrake ssteemi hakati nd installima. Selleks vib\n"
-"olenevalt Teie poolt valitud pakettide arvust ja Teie arvuti kiirusest\n"
-"kuluda mnikmmend minutit.\n"
-"\n"
-"\n"
-"Palun veidi kannatlikkust."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Nd saate oma hiirt testida. Kasutage nii nuppe kui ratast. Kui tundub\n"
-"midagi valesti olevat, klikkige <Katkesta> uue juhtprogrammi valimiseks."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Palun valige ige port. Niteks MS Windows-i COM1 kannab GNU/Linuxis\n"
-"nime ttyS0."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Kui soovite oma arvuti hendada Internetti vi kohtvrku, tehke palun\n"
-"ige valik. Vlise seadme korrektseks tuvastamiseks on vajalik, et see "
-"oleks\n"
-"sisse llitatud ja arvutiga hendatud\n"
-"\n"
-"\n"
-"Kui Te ei soovi vrguhendust kasutada, valige \"Keela vrguhendus\".\n"
-"\n"
-"\n"
-"Kui soovite vrguhenduse seadistada hiljem, valige \"Tehtud\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Modemit ei leitud. Palun valige seerialport, kuhu see on hendatud.\n"
-"\n"
-"\n"
-"Igaks juhuks: esimese seerialpordi (\"COM1\" Microsoft Windowsis) nimi\n"
-"on GNU/Linux ssteemis \"ttyS0\"."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Sisestage sissehelistamiskeskuse andmed. Kui Te neid ei tea\n"
-"vi kahtlete, saate oma teenusepakkujalt (ISP-l) kindlasti abi.\n"
-"Niteks info nimeserveri (DNS) kohta saab tavaliselt henduse\n"
-"loomise ajal automaatselt"
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Kui Teil on vline modem, siis llitage see palun nd sisse, et DrakX saaks "
-"seda tuvastada."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Palun llitage modem sisse ja valige nimekirjast ige."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Kui Te ei ole kindlad, et laltoodud informatsioon vastab tele\n"
-"vi Te ei tea, mida sisestada, ksige abi oma internetiteenuse pakkujalt\n"
-"(ISP-lt). Niteks info nimeserveri (DNS) kohta saab tavaliselt henduse\n"
-"loomise ajal automaatselt"
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Nd sisestage oma arvuti nimi, kui see on vajalik. Kui kahtlete, siis "
-"peaksite ksima lisainformatsiooni oma ISP kest."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Vrguliidese seadistamiseks on vajalik:\n"
-"\n"
-" * IP-aadress: kui Te seda ei teha, ksige oma vrguhaldurilt vi\n"
-"internetiteenuse pakkujalt (ISP).\n"
-"\n"
-" * Vrgumask: \"255.255.255.0\" on tavaliselt sobiv. Igaks juhuks vite\n"
-"vrguhalduri vi ISP kest le ksida.\n"
-"\n"
-" * Automaatne IP: Kui Teie vrgus on kasutusel BOOTP vi DHCP.\n"
-"Selle valimisel ei pea vlja \"IP-aadress\" titma. Kui kahtlete\n"
-"ksige jllegi oma vrguhaldurilt vi ISP-lt."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Kui Teie vrgus on kasutusel NIS, valige \"Kasuta NIS-i\". Kahtluse korral\n"
-"ksige vrguhaldurilt."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Kui vaja, sisestage oma ssteemi nimi. Kui Teil ei\n"
-"ole htki head mtet, jtke see rida thjaks"
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Nd sisestage oma sissehelistamisteenuse pakkuja andmed. Kui ei ole "
-"kindel,\n"
-"mida kuhu sisestada, ksige oma ISP kest le."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Kui peate kasutama vahendajaid (tulemri vms), seadistage need nd. Kui\n"
-"kahtlete, on abiks vrguhaldur vi ISP"
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Krptopakette saate installida prast Internetihenduse seadistamist.\n"
-"Esmalt valige peegel, kust soovite pakette alla laadida ja seejrel\n"
-"valige paketid.\n"
-"\n"
-"\n"
-"Mrkus: krptopakettide valimisel peate arvesse vtma ka vimalikke\n"
-"iguslikke piiranguid oma asukohamaal."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Nd saate valida ajavtme vastavalt oma asukohale."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"Linuxil on kombeks hoida sisemist kella Greenwichi (GMT) ajas ja muuta\n"
-"vajadusel ssteemi kella vastavalt Teie valitud ajavndile.\n"
-"\n"
-"Kui kasutate selles arvutis ka Windowsi, valige \"Ei\"."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Nd saate valida, milliseid teenused peaks ssteemi laadimisel kivitama.\n"
-"\n"
-"\n"
-"Abiinfo balloonis antakse lhike kirjeldus igahe kohta neist.\n"
-"\n"
-"Kui kavatsete oma ssteemi kasutada serverina, olge eriti thelepanelik:\n"
-"tenoliselt ei soovi te kivitada mittevajalikke teenuseid."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Teil on vimalus seadistada kas kohalik (Teie arvutiga hendatud) vi\n"
-"vrguprinter (Unix, Netware vi Microsoft Windows vrgus)"
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Kui soovite vahetevahel printida, valige palun selleks sobiv meetod, CUPS\n"
-"vi LPR.\n"
-"\n"
-"\n"
-"CUPS on uus, vimas ja paindlik printimisssteem Unix keskkonnas (CUPS -\n"
-"Common Unix Printing System). Linux-Mandrake kasutab vaikimisi seda.\n"
-"\n"
-"\n"
-"LPR on vanem meetod, mis oli kasutusel ka eelmistest Linux-Mandrake\n"
-"distributsioonides.\n"
-"\n"
-"\n"
-"Kui Teil ei olegi printerit, valige \"Ei soovi\"."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux oskab toimetada mitut tpi printeritega. Igaht neist "
-"seadistatakse\n"
-"erinevalt.\n"
-"\n"
-"\n"
-"Kui Teie printer on fsiliselt arvutiga hendatud, valige \"Kohalik printer"
-"\"\n"
-"\n"
-"\n"
-"Kui soovite kasutada vrguprinterit Unix serveril, valige \"Vrguprinter\".\n"
-"\n"
-"\n"
-"Kui soovite kasutada vrguprinteri Windows serveril (vi muidu le SMB\n"
-"protokolli), valige \"SMB/Windows 95/98/NT\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Palun llitage oma printer sisse ja laske DrakX-il seda tuvastade.\n"
-"\n"
-"Samuti on vaja sisestada lisainformatsiooni:\n"
-"\n"
-"\n"
-" * Printeri nimi: spuuler kasutab vaikimisi printerit \"lp\". Seega peab "
-"Teil olema vhemalt he printeri nimi \"lp\".\n"
-" Kui Teil ongi ainult ks printer, saate sellele anda ka mitu nime. "
-"Nimed peavad olema eraldatud smboliga \"|\"\n"
-" Seega, kui soovite, et nimel oleks ka mingi thendus, kirjutage nimeks "
-"midagi niisugust: \"Minu printer|lp\".\n"
-" Printer, mille nimede hulgas on \"lp\", saab olema Teie ssteemi jaoks "
-"vaikimisi printeriks.\n"
-"\n"
-"\n"
-" * Kirjeldus: see ei ole kohustuslik, kuid vib osutuda vajalikuks, kui "
-"Teil on niteks mitu kohalikku printerit ja soovite neid vrgus vlja "
-"jagada\n"
-"\n"
-"\n"
-" * Asukoht: kui soovite anda tiendavat informatsiooni printeri asukohast\n"
-" Niteks: \"Teise korruse keskel\".\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Nd on vaja lisainformatsiooni.\n"
-"\n"
-"\n"
-" * Printeri nimi: spuuler kasutab vaikimisi printerit \"lp\". Seega peab "
-"Teil olema vhemalt he printeri nimi \"lp\".\n"
-" Kui Teil ongi ainult ks printer, saate sellele anda ka mitu nime. "
-"Nimed peavad olema eraldatud smboliga \"|\"\n"
-" Seega, kui soovite, et nimel oleks ka mingi thendus, kirjutage nimeks "
-"midagi niisugust: \"Minu printer|lp\".\n"
-" Printer, mille nimede hulgas on \"lp\", saab olema Teie ssteemi jaoks "
-"vaikimisi printeriks.\n"
-"\n"
-"\n"
-" * Spuulkataloog: kataloog, kus spuuler hoiab ajutisi faile enne "
-"printimist. Seda ei ole soovitav muuta.\n"
-"\n"
-"\n"
-" * Printeri hendusviis: Kui Teie printer on fsiliselt Teie arvuti "
-"kljes, valige \"Kohalik printer\".\n"
-" Kui soovite kasutada printerit UNIX serveri kljes, valige \"lpd "
-"printserver\".\n"
-"\n"
-"\n"
-" Kui soovite kasutada printerit Microsoft Windows vrgus (vi SMB "
-"serveril) valige \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" Kui soovite kasutada NetWare serveril asuvat printerit, valige \"NetWare"
-"\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Teie printerit ei nnestunud tuvastada. Palun abistavat infot vimaliku\n"
-"henduspistiku kohta.\n"
-"\n"
-"\n"
-"Enamasti on printer hendatud esimesse paralleelporti. GNU/Linuxis on selle\n"
-"nimeks \"/dev/lp0\" ja Microsoft Windowsis \"LPT1\"."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Valige printer laltoodud nimekirjast."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Palun valige oma printerile sobivad stted.\n"
-"Abi saate ilmselt ka printeri dokumentatsioonist.\n"
-"\n"
-"\n"
-"Jrgmisel sammul saate oma seadistusi testida ja soovi korral muuta, kui "
-"midagi ei tta nagu vaja."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Nd peate sisestama ssteemi juurkasutaja (root) parooli. Et vhendada\n"
-"eksimisvimalust, tehke seda kaks korda.\n"
-"\n"
-"\n"
-"Juurkasutaja on ssteemi thtsaim kasutaja ja ainuke, kes tohib teha\n"
-"muudatusi ssteemi stetesse. Seeprast valige juurkasutaja parooli erilise\n"
-"hoolega.\n"
-"\n"
-"Hea salasna peaks olema kombinatsioon thtedest ja numbritest \n"
-"ning vhemalt 8 mrki pikk. rge *kunagi* kirjutage oma parooli les!\n"
-"\n"
-"\n"
-"Samas ei peaks see olema liiga pikk ja keeruline meelde jtmiseks."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Turvalisema ssteemi saamiseks peaksite valima \"Kasuta varjutatud \n"
-"paroolifaili\" ja \"Kasuta parooli kaitsmiseks MD5 algoritmi\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Kui Teie vrgus on kasutusel NIS, valige \"Kasuta NIS-i\". Kahtluse korral\n"
-"ksige vrguhaldurilt."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Nd saate luua he vi rohkem \"tavakasutaja\" kontot. rmiselt soovitav\n"
-"on luua igale arvuti kasutajale eraldi konto(d). Sel viisi saab iga "
-"kasutaja\n"
-"valida ise endale sobiva graafilise keskkonna kujunduse ja programmide "
-"stted.\n"
-"Kik kasutaja failid saavad hoitud ja kaitstud tema isiklikus "
-"kodukataloogis.\n"
-"\n"
-"\n"
-"Esmalt looge konto iseendale, ka siis kui olete ssteemi ainuke kasutaja.\n"
-"rge tehke oma igapevatoimetusi juurkasutajana, suurendades sel viisil\n"
-"turvariski! Vale juurkasutaja npuliigutus vib ssteemi kergesti\n"
-"kasutusklbmatuks muuta!\n"
-"\n"
-"\n"
-"Juurkasutaja igused on ainult administreerimiseks ja hoolduseks,\n"
-"kike muud tehke palun tavakasutajana"
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Alglaadimisketta loomine on rmiselt soovitatav. Kui peaks kunagi\n"
-"tekkima probleeme ssteemi laadimisel, vi alglaadmisketas olla Teie\n"
-"ainuke psetee uue installimise krval."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Nd peate valima, milliselt kettaosalt soovite GNU/Linuxit laadida.\n"
-"\n"
-"Valige \"Kvaketta esimene sektor (MBR)\", kui ei tea tpselt, mida\n"
-"teha."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Tavaline valik on \"/dev/hda\" (esimese IDE kanali master), kui Te ei\n"
-"tea tpselt, et tahate teisiti teha."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (ehk LInux LOader) ja Grub on alglaadurid: nad vimaldavad laadida\n"
-"kas GNU/Linuxi vi mne muu Teie arvutis olevad operatsioonissteemi.\n"
-"Tavaliselt tuvastakse teised operatsioonissteemid igesti ja seadistatakse\n"
-"ka alglaadur. Kui Teil aga ei ole nne, tuleb parameetrid seada\n"
-"ksitsi. Olge sel juhul hoolas valima iged."
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILO ja grub-i peamised suvandid on:\n"
-" - Alglaadimisseade: mratakse kvaketas vi partitsioon, kus asub\n"
-"alglaadimissektor. Kui Te just tpselt ei tea, mida teete,\n"
-"\"/dev/hda\".\n"
-"\n"
-"\n"
-" - Ooteaeg alglaadimisel: mratakse ooteaeg sekundikmnendikes enne\n"
-"vaikimisi laadimist.\n"
-"\n"
-"\n"
-" - Graafikamood: mratakse VGA tekstmood ssteemi laadimisel. Vimalikud\n"
-"on jrgmised valikud:\n"
-"\n"
-" * normal: tavaline 80x25 tekstimood\n"
-"\n"
-" * <number>: numbrile vastav tekstimood. - Puhasta /tmp alglaadimisel: "
-"kui soovite kustutada ssteemi alglaadimisel,\n"
-"valige see\n"
-"\n"
-"\n"
-" - Tpsust RAM hulk kui vajalik: kahjuks ei ole htki standardset meetodit "
-"Teie\n"
-"arvutis leiduva operatiivmlu (RAM) koguse raarvamiseks. Kui siinkohal on "
-"eksimine\n"
-"2 vi 4 MB, siis ei maksa sellele vga thelepanu prata."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO on alglaadur SPARC arhitektuurile: see vimaldab laadida\n"
-"kas GNU/Linuxi vi mne muu Teie arvutis oleva operatsioonissteemi.\n"
-"Tavaliselt tuvastakse teised operatsioonissteemid igesti ja seadista-\n"
-"takse ka alglaadur. Kui Teil aga ei ole nne, tuleb parameetrid seada\n"
-"ksitsi. Olge sel juhul hoolas valima iged."
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"SILO peamised suvandid on:\n"
-" - Alglaaduri paigaldus: mratakse kvaketas vi partitsioon, kus soovite\n"
-"hoida GNU/Linuxi laadimiseks vajalikku infot. Kui Te just tpselt ei tea,\n"
-"mida teete, valige \"Kvaketta esimene sektor (MBR)\".\n"
-"\n"
-"\n"
-" - Ooteaeg alglaadimisel: mratakse aeg sekundikmnendikes enne vaikimisi\n"
-"laadimist."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"On aeg konfigureerida \"X Window System\" ehk lihtsalt X. X on\n"
-"GNU/Linuxi graafilise kasutajaliidese sda. Sel eesmrgil peame koos\n"
-"seadistama Teie graafikakaardi ja monitori. Enamus sellest protsessist\n"
-"on automatiseeritud ja Teie lesandeks on ainult DrakX-i\n"
-"valikutega nustuda (vi mitte :))\n"
-"\n"
-"\n"
-"Kui saame seadistamisega hakkama, kivitakse X (kui Te ei anna\n"
-"eraldi ksku mitte nii teha)."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Kui midagi on X-i seadistustega valesti, saab siinkohal vimalikke vigu\n"
-"parandada."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Kui eelistate graafilist ssteemi sisenemist, valige \"Jah\". Konsoolimoodi\n"
-"eelistamisel valige \"Ei\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Nd saate valida oma ssteemis kasutatava turvataseme. Palun vaadake "
-"lisainfot selle kohta ka\n"
-" kasutajajuhendist. ldiselt, kui Te ei tea, mida teete, jtke siia "
-"vaikimisi valik.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Teie ssteem sooritab alglaadimise.\n"
-"\n"
-"Taaskivitumisel laaditakse Teie uus Linux Mandrake ssteem automaatselt.\n"
-"Kui soovite laadida mnd muud operatsioonissteemi, lugege palun\n"
-"lisainformatsiooni."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Valige sobiv keel"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Valige paigaldusmeetod"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Kvaketta leidmine"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Hiire seadmine"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Klaviatuuri valik"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Turvalisus"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Failissteemid"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Vormindamine"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Pakettide valik"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Ssteemi installimine"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Juurkasutaja salasna"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Tavakasutaja"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Vrgustted"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Kokkuvte"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Teenuste stted"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Loo alglaadimisflopi"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Alglaaduri stted"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Seadista X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Vlju programmist"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "ldlevi kasutamine on ilma NIS domeenita vimatu"
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Pane FAT formaadis flopi seadmesse %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "See flopi ei ole FAT formaadis"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Et kasutada seda paketivalikut, alustage installimist ksureaga \"linux "
-"defcfg=floppy\""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Viga faili $f lugemisel"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "OK"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Palun testige hiirt"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Hiire aktiveerimiseks"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "KEERUTAGE RATTAKEST!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Osa teie riistvarast nuab tarnijapoolseid juhtprogramme.\n"
-"Informatsiooni nende kohta saate: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Teil peab olema juurpartitsioon.\n"
-"Selleks looge uus partitsioon (vi valige ks olemasolevatest).\n"
-"Siis valige tegevus \"henduspunkt\" ja seadke see kui '/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Teil peab olema saaleala"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Saaleala ei ole mratud\n"
-"\n"
-"Jtkate ikkagi?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Kasuta vaba ruumi"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Ei ole piisavalt ruumi uute partitsioonide jaoks"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Kasuta olemasolevat partitsiooni"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Kasutatavat partitsiooni ei leitud"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Kasuta Windowsi partitsiooni loopback-ina"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Millisele partitsioonile soovite installida Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Valige suurused"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Juurpartitsiooni suurus (MB): "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Saaleala suurus (MB): "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Kasuta vaba ruumi Windowsi partitsioonil"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Mis partitsiooni soovite muuta?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Arvutan Windowsi failissteemi piire"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"FAT partitsiooni suurust ei nnestu muuta, \n"
-"ilmnes selline viga: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Teie Windowsi partitsioon on fragmenteerunud, palun kasutada 'defrag'-i"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"HOIATUS!\n"
-"\n"
-"DrakX hakkab Teie Windowsi partitsiooni suurust muutma. Olge ettevaatlik:\n"
-"see operatsioon vib olla ohtlik Teie failidele. Palun kasutage enne\n"
-"scandisk-i, defrag-i ja tehke tagavarakoopia.\n"
-"Kui olete oma otsuses kindel, vajutage OK."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Kui palju ruumi jtate Windowsi jaoks?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "Partitsioon %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Suuruse muutmine ebannestus: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr "Sobivat FAT partitsiooni ei leitud (ei ole piisavalt ruumi)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Thjenda kogu ketas"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Eemalda Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Teil on rohkem kui ks kvaketas, millisele neis installite Linuxi?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "Kettal %s hvivad KIK partitsioonid ja andmed"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Partitsioneerin ise"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Kasuta fdisk-i"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Nd saate partitsioneerida %s kvaketta\n"
-"Kui olete valmis, salvestage ksuga 'w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Teil ei ole piisavalt vaba ruumi Windowsi partitsioonil"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Installimiseks ei ole ldse ruumi"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "DrakX kettajagamise abimees leidis sellised lahendused:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Ketta jagamine ebannestus: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Kivitame vrguliidesed"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Seiskame vrguliidesed"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Tekkis mingi viga, aga seda ei suuda programm ise klaarida.\n"
-"Jtkake omal vastutusel."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "henduspunkt %s on mratud topelt"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Mned thtsad paketid ei saanud korralikult paika.\n"
-"Teie CD-lugeja vi CD on ilmselt vigane.\n"
-"Paketifaile CD-l saate kontrollida ksuga \"rpm -qpl Mandrake/RPMS/*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "See ongi %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Flopiseade ei ole kttesaadav"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Jrgmine samm: '%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Valige paigalduse maht"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Suurus kokku: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Versioon: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Suurus: %d kB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Valige paketid installimiseks"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Installimine"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Installin"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Palun oodake, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Aega jnud "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Aega kokku "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Valmistun installimiseks"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Paketi %s installimine"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Ikkagi edasi?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Pakettide tellimisel tekkis viga:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Kasutada olemasolevat X-i seadistust?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Teie ssteemil on ressursiprobleeme ja installimine vib ebannestuda.\n"
-"Kui nii juhtub, proovige palun tekstiphjalist paigaldust. Selleks \n"
-"vajutaga laadimisel F1 ja sisestage 'text'"
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Palun valige ks jrgnevatest paigaldusklassidest"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Teie poolt valitud gruppide kogusuurus on umbes %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Kui soovite installida sellest vhem, valige vastav protsent.\n"
-"\n"
-"Madalama protsendi puhul installitakse vaid kige thtsamad paketid;\n"
-"100%% thendab kige valitud pakettide installimist."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, fuzzy, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Teil on kettal ruumi vaid %d%% pakettide jaoks.\n"
-"\n"
-"Kui soovite sellest vhem, valige viksem protsent ja installimisele\n"
-"kuuluvad vaid olulisemad paketid."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Tpsemalt saate valida jrgmisel sammul"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Installitavate pakettide protsent"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Paketigruppide valik"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Valik paketthaaval"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Nita automaatselt valitud pakette"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Ava puu"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Sule puu"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Sorteeritud vi sorteerimata"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Vigane pakett"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nimi: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Thtsus: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Suurus kokku: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr "Seda paketti ei saa valida, kettaruumi ei ole paigalsuseks piisavalt"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Installimiseks on valitud jrgmised paketid"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Eemaldamiseks on valitud jrgmised paketid"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Seda paketti ei saa (mitte) valida"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "See pakett on kohustuslik"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "See pakett on juba installitud"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Selle paketi peaks uuendame\n"
-"Olete kindel, et Te ei vali seda?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Selle paketi peate valima, sest selle uuendamine on kohustuslik"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Oletan"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Palun oodake, valmistun installimiseks"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d paketti"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Hoiatus\n"
-"\n"
-"Palun lugege hoolega alltoodud teksti. Kui Te ei ole kigi alljrgnevate\n"
-"videtega, on installimine jrgmise CD pealt keelatud. Vajutage 'Keeldun', \n"
-"et jtkata installimist ilma selle CD-ta.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Nus"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Keeldun"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Vahetage CD!\n"
-"\n"
-"Palun sisestage CD pealdisega \"%s\" lugejasse ja vajutage <OK>.\n"
-"Kui teil sherdust ei ole, vajutage <Katkesta>"
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Pakettide installimisel tekkis viga:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Tekkis mingi viga"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Palun valige kasutatav keel"
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "Teisi keeli saab valida prast installimist"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Kik"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Lppkasutaja litsentsileping"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Jrgnev lppkasutaja litsents on eksimuste vltimiseks originaalkeeles\n"
-"\n"
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Klaviatuur"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Palun valige klaviatuuriasetus"
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Vimalike klaviatuuride tielik nimekiri"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Installi klass"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Millist installi klassi Te soovite"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Installimine/Uuendus"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "On see installimine vi taastamine?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Soovituslik"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Ekspert"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Uuendus"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Palun valige hiire tp"
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Hiire port"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Millisesse seerialporti on Teie hiir hendatud?"
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Nuppude teesklemine"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Teeskle 2 hiirenupp"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Teeskle 3 hiirenuppu"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "PCMCIA kaartide seadmine..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "IDE seadistamine"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "ei leia partitsioone"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Otsin partitsioonidelt henduspunkte"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Valige henduspunktid"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Partitsioonitabel on loetamatu, liiga rikutud DrakX-i jaoks :(\n"
-"Proovin loetamatud kirjed puhastada kuid ANDMED NENDEL HVIVAD.\n"
-"Teine vimalus on keelata DrakX-il partitsioonitabeli muutmine.\n"
-"(Viga oli selline: %s)\n"
-"Kas olete nus partitsioonide kaotamisega?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake ei saanud partitsioonitabeli lugemisega hakkama.\n"
-"Jtkate omal vastutusel!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Juurpartitsioon"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Millisel partitsioonil hoiate juurkataloogi (/)?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Partitsioonitabeli silitamiseks vajate alglaadimist"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Valige partitsioonid, mida soovite vormindada"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Blokkide kontroll?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Vormindan partitsioone"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Loon ja vormindan faili %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Saaleala on installimiseks liiga vike, palun lisage"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Otsin kttesaadavaid pakette"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Otsin uuendatavaid pakette"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr "Teie kvakettal ei ole piisavalt vaba ruumi (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Tielik (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimaalne (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Soovitatav (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Isetehtud"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Kui Teil on olemas kik alltoodud CD-d, klikkige <OK>.\n"
-"Kui Teil ei ole htki neist, klikkige <Katkesta>.\n"
-"Kui puuduvad mned CD-d, mrkige vaid olemasolevad ja siis <OK>."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CD pealdisega \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Paketi %s installimine\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Paigaldusjrgsed stted"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Nd on Teil vimalik oma ssteemi laadida krptotarkvara.\n"
-"\n"
-"HOIATUS:\n"
-"\n"
-"Lhtuvalt erinevatest sellisele tarkvarale kohaldavatest nuetest ja \n"
-"mjutatuna eri jurisdiktsioonide normidest peavad kliendid ja/vi \n"
-"lppkasutajad olema kindlad, et nende asukohamaa jurisdiktsiooni "
-"iguslikud \n"
-"aktid lubavad neil alla laadida, silitada ja/vi kasutada \n"
-"krptograafiliste algoritmide realisatsioone sisaldavat tarkvara.\n"
-"\n"
-"Lisaks sellele peavad kliendid ja/vi lppkasutajad jlgima asukohamaa \n"
-"juriidiliste normide titmist. Kui klient ja/vi lppkasutaja rikub "
-"kehtivaid \n"
-"igusnorme, kohaldatakse karistus vastavalt asukohamaa seadustele.\n"
-"\n"
-"Mitte mingil juhul ei kanna Mandrakesoft S.A. ega tarkvara tarnija \n"
-"vastutust ei otseselt ega kaudselt tekkinud kahjude eest (kaasa arvatud, \n"
-"kuid mitte ainult, saamatajnud tulu, ritegevuse katkestamine, riinfo \n"
-"kaotsimine ja muud rahalised kaotused ning vimalikud kohtu poolt vlja \n"
-"mistetud hvitused), mis tulenevad tarkvara, mis on kasutatav prast \n"
-"kesoleva lepingu tingimustega nustumist, alla laadimisest, hoidmisest \n"
-"vi kasutamisest.\n"
-"\n"
-"Kigi lepinguga seotud ksimuste asjus prduge palun aadressil: \n"
-"Mandrakesoft, Inc. \n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Valige peegel, millelt lugeda pakettide nimekiri"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Proovin lugeda peeglilt pakettide nimekirja"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Palun valige paketid installimiseks"
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Millises ajavtmes asute?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Kas Teie arvuti sisekell on seatud GMT ajale?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "CUPS printserver"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Printerit ei ole"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Hiir"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Ajavde"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Printer"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "ISDN kaart"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Helikaart"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV kaart"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Millist printimisssteemi soovite kasutada?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Salasna puudub"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "Salasna on liiga lihtne (peaks olema vhemalt %d themrki)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Kasuta NIS-i"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "NIS YP"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "NIS autentimine"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS domeen"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS server:"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Isetehtud alglaadimisketas annab Teile vimaluse laadida Linux flopilt\n"
-"sltumata tavaliselt alglaadijast. See vib abiks olla, kui Te ei soovi\n"
-"SILO-t kvakettale kirjutada vi mni muu operatsioonissteem SILO\n"
-"ra kustutab vi ei nnestu SILO-t Teie riistvara peal kasutada.\n"
-"Alglaadmisflopi on kasutatav ka hdaabikettana, kui kvakettal oleva\n"
-"failissteemiga peaks mingi nnetus juhtuma. Hoidke end ja Teid hoiab\n"
-"ka Jumal!\n"
-"\n"
-"Alglaadimisketta loomiseks asetage flopi esimesse seadmesse ning vajutage\n"
-"\"Ok\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Esimene flopiseade"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Teine flopiseade"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Jta vahele"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Isetehtud alglaadimisketas annab Teile vimaluse laadida Linux flopilt\n"
-"sltumata tavaliselt alglaadijast. See vib abiks olla, kui Te ei soovi\n"
-"LILO-t (grubi) kvakettale kirjutada vi mni muu operatsioonissteem LILO\n"
-"ra kustutab vi ei nnestu LILO-t Teie riistvara peal kasutada.\n"
-"Alglaadmisflopi on kasutatav ka hdaabikettana, kui kvakettal oleva\n"
-"failissteemiga peaks mingi nnetus juhtuma. Hoidke end ja Teid hoiab\n"
-"ka Jumal!"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Flopiseade ei ole kttesaadav"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Vali flopiseade, mida kasutad alglaadimisketta tegemiseks"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Pane flopi seadmesse %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Loome alglaadimisketta"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Alglaaduri stted"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Soovite aboot-i kasutada?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Viga aboot-i installimisel, \n"
-"kas forseerida, riskides esimese partitsiooni hvinguga?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Alglaaduri installimine ebannestus. Tekkis jrgnev viga:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"You will need to change your Open Firmware boot-device to\n"
-" enable the bootloader. Hold down Command-Option-O-F\n"
-" at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Madal"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Keskmine"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Krge"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Valige turvatase"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "Kas soovite luua kiirpaigaldusflopi (abiks korduval paigaldusel)?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Pange palun thi flopi seadmesse %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Loon kiirpaigaldusflopi"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Mned sammud ei ole lpule viidud\n"
-"\n"
-"Olete kindel, et vljute programmist?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"nnitlen, installimine on edukalt lpetatud.\n"
-"Vtke palun vlja flopi ja/vi CD ja vajutage Enter alglaadimiseks.\n"
-"\n"
-"Informatsiooni selle distributsiooni paranduste kohta (Errata) saab\n"
-"Linux-Mandrake kodulehekljelt http://www.linux-mandrake.com/.\n"
-"\n"
-"Abi ssteemi edasiseks konfigureerimiseks saab eelkige dokumendist\n"
-"\"Official Linux-Mandrake User's Guide\""
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Loo kiirpaigaldusflopi"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Automaatne install vib olla ka sedavrd tegija,\n"
-"et kasutab ra kogu kvaketta !!\n"
-"\n"
-"Vite valida ka lihtsalt installi kordamise.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automaatne"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Korda"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Salvest paketivalik"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux-Mandrake installimine %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr " <Tab>/<Alt-Tab> vljade vahel | <Space> valib | <F12> jrgmine samm "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "kdesu puudub"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Edasijudnud"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Palun oodake"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Mitmeselt mistetav (%s), palun tpsustage\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Halb valik, proovige palun uuesti\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (vaikimisi %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Teie valik? (vaikimisi %s)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Teie valik? (vaikimisi %s, `none' - ei midagi)"
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Tehhi (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Saksa"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "DVORAK"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Hispaania"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Soome"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Prantsuse"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norra"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Poola"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Vene"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Briti"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "US"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armeenia (vanem)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armeenia (trkimasin)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armeenia (foneetiline)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Aserbaidaani (ladina)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Aserbaidaani (kirillitsa)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgia"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgaaria"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasiilia (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Valgevene"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "veitsi (Saksa asetus)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "veitsi (Prantsuse asetus)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Tehhi (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Tehhi (programmeerijad)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Saksa (ilma sammuta)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Taani"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "DVORAK (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "DVORAK (Norra)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Eesti"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Gruusia (vene)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Gruusia (ladina)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Kreeka"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Ungari"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroaadi"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Iisraeli"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Iisraeli foneetiline"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iraani"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islandi"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Itaalia"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Jaapani 106 klahviga"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Korea"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Ladina-Ameerika"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Makedoonia"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Hollandi"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Leedu AZERTY (vanem)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Leedu AZERTY (uuem)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Leedu numbrireaga QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Leedu foneetiline QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Poola (QWERTY)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Poola (QWERTZ)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugali"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanada (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Vene (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Rootsi"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Sloveenia"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovaki (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovaki (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slovaki (programmeerijad)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Tai"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Trgi (\"F\" mudel)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Trgi (\"Q\" mudel)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukraina"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "US (rahvusvaheline)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnami numbrireaga QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoslaavia (koos kirillitsaga)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Eemalda enne kettarhmad (logical volumes)\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Suni hiir"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Tavahiir"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Lihtsalt PS2 rattaga hiir"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 nupp"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Tavaline"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Ratas"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "seerial"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Lihtsalt 2-nupuline hiir"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Lihtsalt 3-nupuline hiir"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC seeria (seerial)"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech (seerial, vana C7 tpi)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "siinihiir"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 nuppu"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 nuppu"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "ei soovi"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Hiirt ei ole"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Lpeta"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Jrgmine ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Eelmine"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Kas see on sobiv?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Interneti stted"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Kas soovite oma internetihendust proovida?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Testime Teie hendust..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Ssteem on nd Internetti hendatud"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Turvakaalutlusel katkestan nd henduse."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Paistab, et ssteem ei ole Internetti hendatud.\n"
-"Palun seadistage hendus uuesti."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Vrgu stted"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN stted"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Vali oma teenusepakkuja.\n"
-" Kui see ei ole nimekirjas, vali Tundmatu"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Internetihenduse stted"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Palun tida allpool olev vli"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Kaardi IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Kaardi mlu (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Kaardi IO"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Kaardi IO_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Kaardi IO_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Teie telefoninumber"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Teenusepakkuja tunnus (niteks minuisp.ee)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Sissehelistamiskeskuse number"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Teenusepakkuja DNS 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Teenuspakkuja DNS 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Valimisviis"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Kasutajatunnus"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Salasna"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Euroopa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Euroopa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "lejnud maailm"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"lejnud maailm \n"
-" ilma D-kanalita"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Mis protokolli soovite kasutada?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Mis tpi kaart Teil on?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Ei tea"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Kui Teil on ISA kaart, siis peaks jrgmised vrtused olema iged.\n"
-"\n"
-"Kui Teil on PCMCIA kaart, peaksite Te ise teadma selle IRQ ning IO "
-"vrtusi.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Katkesta"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Jtka"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Milline on Teie ISDN kaart?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Leidsin kll PCI ISDN kaardi, kui selle tp on tundmatu. Palun valige ks "
-"PCI kaart jrgmisel sammul."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr "PCI ISDN kaarti ei leitud. Palun valige ks jrgmisel sammul."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"htki vrgukaarti ei nnestunud tuvastada\n"
-"Seega ei saa ka sellist hendust seadistada."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Valige vrguliides"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Palun valige, millist vrguliidest soovite internetihenduse jaoks kasutada"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Vrguliides"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Kas olete nus?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Nd taaskivitan vrguliidese:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL stted"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Kas soovite luua henduse juba alglaadimisel?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Millisesse seerialporti on Teie modem hendatud?"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "DialUp parameetrid"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "henduse nimi"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Sissehelistamiskeskuse number"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Kasutajakonto"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Autentimisviis"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Skriptiphine"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminaliphine"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Domeeninimi"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Esimene nimeserver (soovituslik)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Teine nimeserver (soovituslik)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr "Kas olete valmis vrguliidese $netc->{NET_DEVICE} taaskivitamiseks?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Saate henduse katkestada vi uuesti seadistada."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Saate seadistada henduse uuesti."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Hetkel olete Internetiga hendatud."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Saate henduda Internetti vi seadistada hendus uuesti."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Hetkel ei ole Te Internetti hendatud."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Loo internetihendus"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Katkesta internetihendus"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Seadista vrguhendus (kohtvrk vi Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Internetihenduse seadistamine"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Vrgu stete abimees"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Vline ISDN modem"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Sisemine ISDN kaart"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Millist ISDN hendust kasutate?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Loo internetihendus"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Kige tavalisem hendusviis ADSL jaoks on pppoe.\n"
-"Mnel juhul aga kasutatakse pptp-d, harva dhcp-d.\n"
-"Kui Te ei tea, kasutage pppoe-d"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Kas olete valmis vrguliidese %s taaskivitamiseks?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Mis DHCP klienti soovite kasutada?\n"
-"Vaikimisi on dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Vrgustted"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Kas soovite vrguhendust taaskivitada?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Kas soovite vrguhendust taaskivitada?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Vrguhendus on juba seadistatud, sest installitakse ju vrgust.\n"
-"Kui soovite neid seadistusi silitada, valige OK, muidu katkestage ja saate "
-"seadistada uuesti.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Internetihenduse Abimees\n"
-"\n"
-"Nd hakkame internetihendust seadistama.\n"
-"Kui Te ei soovi automaatset tuvastamist siis jtke see mrkimata.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Valige profiil, mida seadistada"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Kasuta automaattuvastust"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Otsin printerit..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Tavaline modemihendus"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "leiti port %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN hendus"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "tuvastati %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL (vi ADSL) hendus"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "leiti liidesel %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Kaablihendus"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "LAN hendus"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "vrgukaart(i) leiti les"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Kuidas soovite luua internetihendust?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"nnitleme, vrgundus ja internetihendus on seadistatud.\n"
-"\n"
-"Stted salvestatakse nd."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Soovitame taaskivitada ka X keskkonna, et vltida vimalikke\n"
-"masinanime muutmisest tingitud probleeme."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "vrgukaarti ei leitud"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Vrguseadistused"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Palun sisestage oma masina nimi.\n"
-"Seda nuavad ka mned DHCP serverid.\n"
-"Masina nimi peab olema esitatud tiskujul,\n"
-"nagu ``minumasin.minufirma.ee''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Masinanimi"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"HOIATUS: See seade on juba seadistatud Interneti jaoks.\n"
-"Valige lihtsalt OK, et stteid mitte muuta."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Palun andke IP parameetrid selle masina jaoks.\n"
-"Kik read tuleb sisestada IP-aadressi kujul\n"
-"(Niteks 12.34.56.78)"
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Seadistame vrgukaardi %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (juhtprogramm $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP-aadress"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Vrgu mask"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Automaatne IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP-aadress peab olema formaadis 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Palun sisestage oma masina nimi.\n"
-"Masina nimi peab olema esitatud tiskujul,\n"
-"nagu ``minumasin.minufirma.ee''.\n"
-"Kui Teil on vaikimisi ls, siis sisestage ka selle IP-aadress"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "Nimeserver"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Vaikels"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Lsipoolne seade"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Vahendajate stted"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP vahendaja"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP vahendaja"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Vahendaja peab olema kujul http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Vahendaja peab olema kujul ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Sellel platformil ei saa laiendatud partitsiooni luua"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Partitsioonitabelis on miskiprast thi koht, aga see ei ole kasutatav.\n"
-"Ainuke lahendus on nihutada primaarset partitsiooni, et auk satuks "
-"laiendatud partitsioonide krvale"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Viga faili %s lugemisel"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Taastamine failist %s ebannestus: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Klbmatu tagavarakoopia"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Viga faili %s kirjutamisel"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Teie kvakettal juhtub imelikke asju. \n"
-"Andmete pidevuse kontroll ebannestus. \n"
-"See thendab, et kettale kirjutamisel tekivad jamad"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "vajalik"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "thtis"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "vga kena"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "kena"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "vib olla"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Kohalik printer"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Vrguprinter"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "lpd printserver"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Vrguprinter (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Printeri seadme URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Proovin porte"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Leiti printer, nimega \"%s\" "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Otse hendatud printer"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Mis porti on Teie printer hendatud? \n"
-"(paneme thele, et /dev/lp0 on sama mis LPT1:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Printeri seade"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Vrguprinteri stted"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Et kasutada teise masina lpd printerit, peate sisestama\n"
-"printserveri nime ja prindijrjekorra nime, mida soovite\n"
-"serveril kasutada."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Printserveri nimi:"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Prindijrjekorra nimi"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) printeri stted"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Et printida SMB printerile, peate andma vastava server SMB nimi\n"
-"(NB! See ei pruugi kokku langeda TCP/IP nimega!) ja vibolla ka\n"
-"printserveri IP-aadressi, samuti ka serveri poolt jagatava printeri\n"
-"nime ning serveri poolt aktsepteeritud kasutajatunnuse, salasna ja tgrupi"
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB serveri nimi"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "SMB serveri IP"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Jagatav printer"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Tgrupp"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "NetWare printeri stted"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Et kasutada NetWare printerit, peate sisestama NetWare printserveri\n"
-"nime (NB! See vib olla erinev tema TCP/IP nimest!) samuti nagu ka\n"
-"prindijrjekorra nime serveril ning kasutajatunnuse ja salasna"
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Printserver:"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Prindijrjekorra nimi:"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Pistikprinteri stted"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Sisestage palun printeri masinanimi ja vimaluse\n"
-"korral pordi number"
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Printeri nimi"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Vite anda ette ka URI, mille jrgi CUPS printeri leiab."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Mis tpi printer see on?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Kas soovite seadistusi proovida?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Trkitakse testleheklg(i)..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Testleheklg on saadetus trkideemonile.\n"
-"Nd vib minna natuke aega.\n"
-"Staatus:\n"
-"%s\n"
-"\n"
-"Kas tulemust on juba nha?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Testleheklg on saadetud trkideemonile.\n"
-"Nd vib minna natuke aega.\n"
-"Staatus:\n"
-"%s\n"
-"\n"
-"Kas tulemust on juba nha?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Jah, trki ASCII testleheklg"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Jah, trki PostSript testleheklg"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Jah, trki mlemad testlehekljed"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Sea printer"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Otse hendatud printeri stted"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Paberi suurus"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "T lpetamisel vljasta kogu leht?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Kas optimiseerime kvaketast?"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Mooduli parameetrid:"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Trkkida tekst PostScriptina?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Paranda trepitud tekst?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Leheklgi hel paberil"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Lehe laiuse mrgid punktides (1/72 tollile)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Lehe krguse mrgid punktides (1/72 tollile)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Lisa GhostScript parameetrid"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Lisa teksti parameetrid"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Viimane leht enne"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Kas soovite printerit seadistada?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Kirjeldatud on jrgnevad prindijrjekorrad.\n"
-"Te vite neid lisada ning olemasolevaid muuta."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS kivitatakse"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Loetakse CUPS juhtprogramme"
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Vali printeri hendusviis"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Kuidas on see printer hendatud?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Vali vrguprinteri hendusviis"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Kui vrgus on CUPS server, siis ei ole Teil vaja siin\n"
-"printereid seadistada, need leitakse automaatselt.\n"
-"Kui kahtlete, valige \"CUPS printserver\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Kui vrgus on CUPS server, siis ei ole Teil vaja siin\n"
-"printereid seadistada, need leitakse automaatselt.\n"
-"Kui server asub kuskil kaugemal, peate sisestama CUPS serveri\n"
-"IP-aadress ning soovitavalt ka pordi numbri."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "CUPS serveri IP"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Pordi number peab olema ikkagi number"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Eemalda prindijrjekord"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr "Printeri nimi tohib sisaldada vaid thti, numbreid ja alakriipsu"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Masinal vib olla mitu printerit, millest igaks vajab nime\n"
-"(sageli lp) ja printkataloogi. Millist nime peaks kasutama\n"
-"kasutama selle printeri puhul ja kuidas see on hendatud?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Printeri nimi"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Kirjeldus"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Asukoht"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Masinal vib olla mitu prindijrjekorda, millest igaks vajab nime\n"
-"(sageli lp) ja spuulkataloogi (ajutiste failide jaoks). Millist nime\n"
-"ja kataloogi peaks kasutama selle printeri puhul ja kuidas see on hendatud?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Printeri nimi"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Spuulkataloog"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Printeri hendusviis"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Juba vormindatud RAID-ile (md%d) ei saa partitsiooni lisada"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Ei saa kirjutada faili $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid ebannestus"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid ebannestus (puudub 'raidtools'?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Ei ole piisavalt partitsiooni RAID-%d jaoks\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr ""
-"Anacron kivitab programme perioodiliselt analoogiliselt cron-ile.\n"
-"Kasutage seda juhul kui Teie arvuti ei tta 24h."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd on kasutusel philiselt slearvutites, akude tituvuse jlgimiseks.\n"
-"Samuti suudab see aku thjenemisel ssteemi viisakalt maha vtta."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Laseb kivitada hekordseid kske etteantud ajal vi ootab ssteemi\n"
-"koormuse laskumist ksu kivitamiseks piisavale tasemele."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron on UNIXi ssteemide standardvahend kasutaja programmide perioodiliseks\n"
-"kivitamiseks. Vixie cron sisaldab lisaks veel turvalisust ja kasutus-\n"
-"mugavust tstvaid omadusi. Soovitav ssteemile mis ttab 24h"
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM annab vimaluse kasutada hiirt ka tekstikonsoolil. Lisaks tavalisele\n"
-"likamisele/kleepimisele saab kasutada ka menssteeme."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache on maailma juhtiv veebiserveri programm. Tenoliselt\n"
-"ka vimsaim."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Interneti \"superserver\", nimega inetd laseb kivitada mitmeid vrgu-\n"
-"teenustel, nagu telnet, ftp, rsh, rlogin jne."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"See programm laeb ssteemi kivitumisel klaviatuuripaigutuse vastavalt\n"
-"failis /etc/sysconfig/keyboard kirjeldatule."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr "lpd on trkideemon, ilma selleta ei ole vimalik printida."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) on kasutusel nimeserverites, mis teenindavad DNS\n"
-"hierarhiat, tlkimaks nimesid IP-aadressideks"
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"hendab ja lahutab kiki vrgufailissteeme (nii NFS, SMB\n"
-"kui ka NCP)"
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr "Aktiveerib ssteemi laadimisel Teile vajalikud vrguliidesed."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS on UNIXi keskkonna standardne failijaotusprotokoll. See programm tidab\n"
-"NFS serveri funktsioone, ja konfigureeritakse failis /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS on UNIXi keskkonna standardne failijaotusprotokoll. See programm tidab\n"
-"NFS failide lukustamise funktsioone. Vajalik serveerimisel."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA tugi on tavaliselt vajalik slearvutitele vrgu- ja modemiliideste\n"
-"lisamiseks."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"portmapper haldab RPC hendusi, mida kasutavad NFS ja NIS. Neil \n"
-"serveritel on see hdavajalik."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix on meili transpordiagent, see thendab programm, mis\n"
-"toimetab meili hest masinast teise."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Salvestab ja taastab juhuarvude genereerimiseks vajaliku ssteemse\n"
-"entroopiasalve."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"routed on RIP deemon, mis vahetab selle protokolli alusel marsruutimis-\n"
-"infot. Kui Teil on RIP kasutusel, on vajalik ka routed."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"rstat protokoll laseb le vrgu saada informatsiooni ssteemi\n"
-"t kohta. Ettevaatust!"
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"rusers protokoll laseb le vrgu saada informatsiooni ssteemi\n"
-"kasutajate kohta. Ettevaatust!"
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"rwho protokoll laseb le vrgu saada informatsiooni ssteemi\n"
-"kasutajate kohta. Ettevaatust!"
-
-#: ../../services.pm_.c:85
-#, fuzzy
-msgid "Launch the sound system on your machine"
-msgstr "Kivita X-Windows alglaadimisel"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr "syslog-i kaudu toimub ssteemis toimiva logimine. Vajalik!"
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Stardib X fondiserveri, selleta X ei kivitu."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Valige, millised teenused tuleks alglaadimisel kivitada"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "kimas"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "peatatud"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Teenused ja deemonid"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Selle teenuse kohta ei oska\n"
-"lisainformatsiooni anda."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Alglaadimisel"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Partitsioonitabel on loetamatu, liiga rikutud DrakX-i jaoks :(\n"
-"Proovin loetamatud kirjed puhastada"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Internetihenduse jagamine"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Internetihenduse jagamine ttab"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Internetihenduse jagamine on juba seadistatud ja see on\n"
-"ka praegu aktiivne.\n"
-"\n"
-"Mida Te soovite teha?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "keela"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "thista"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "seadista uuesti"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Peaten serverid..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Internetihendust nd enam ei jagata"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Internetihendust hetkel ei jagata"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Internetihenduse jagamine on juba seadistatud aga hetkel\n"
-"on see keelatud.\n"
-"\n"
-"Mida Te soovite teha?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "luba"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Kivitan serverid..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Internetihenduse jagamine nd ttab"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Stete fail ei ole arusaadav."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Tundmatu sttefaili"
-
-#: ../../standalone/drakgw_.c:181
-#, fuzzy
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Nd on Teil vimalik seadistada oma arvutit internetihendust jagama.\n"
-"\n"
-"Mrkus: kohtvrgu (LAN) jaoks on vajalik eraldi vrgukaardi olemasolu."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Liides %s (kasutab moodulit %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Liides %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Teie ssteemis ei ole vrgukaarti!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"htki vrgukaarti ei ole hetkel seadistatud. Palun kasutage selleks "
-"riistvara stteseadjat."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Teil on vaid ks seadistatud vrguliides:\n"
-"\n"
-"%s\n"
-"\n"
-"Kohtvrgu stted seotakse selle liidesga."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Palun valige millist vrguliidest soovite kasutada kohtvrgu\n"
-"jaoks."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Hoiatan, vrguliides on juba seadistatud. Jrgnevalt seadistame selle uuesti."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr "Vimalik kohtvrgu aadressi konflikt $_ konfiguratsioonis!\n"
-
-#
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Leitud tulemri stted!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Hoiatus! Leiti olemasolevad tulemri stted. Tenoliselt peaksite need "
-"hiljem le vaatame."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Seadistan..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Hlestan skriptid, installin tarkvara, kivitan serverid..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Probleemid paketi $_ installimisel"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "nnitleme!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Kik on seadistatud.\n"
-"Nd saate internetihendust jagada teistele kohtvrgu arvutitele, kasutades "
-"neil automaatset konfigureerimist (DHCP)"
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "Internetihenduse jagamine on juba seadistatud aga hetkel keelatud."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-"Internetihenduse jagamine on juba seadistatud ja see on praegu aktiivne."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Internetihenduse jagamist ei ole kunagi seadistatud"
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Interneti jagamise seadistamine"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Internetihenduse jagamise Abimees!\n"
-"\n"
-"%s\n"
-"\n"
-"Valige Abimehe kivitamiseks ``OK''"
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Vrgustted (%d liidest)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profiil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Kustuta profiil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Profiil kustutamiseks:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Uus profiil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Loodava profiili nimi:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Masinanimi: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Internetihendus"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Tp: "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Vaikels:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Liides:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Olek:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "hendatud"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Ei ole hendatud"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "henda..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Lahuta..."
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Testime Teie hendust..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Sulgeme nd henduse..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Vrguhendus ei ole suletud.\n"
-"Proovige seda teha ksitsi, kivitades\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"juurkasutajana."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Ssteem on nd Internetist lahutatud."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Seadiste internetihendus..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "LAN stted"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Vrgukaart"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Juhtprogramm"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Liides"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokoll"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Seadista kohtvrk (LAN) ..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Tavakasutus"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Rakenda"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Palun oodake... Rakendan seadistusi"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "LAN stted"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Vrgukaart %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Laadimisprotokoll"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Kivitub laadimisel"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP klient"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Keela"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Luba"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Internetihenduse seadistamine"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Internetihenduse seadistamine"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "henduse tp: "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parameetrid"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "DNS 1 (vib jtta thjaks)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "DNS 2 (vib jtta thjaks)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Vrgukaart"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP klient"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Tere tulemast, krkkerid"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Vhene"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoiline"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Seda tase muudab kll ssteemi lihtsalt kasutatavaks, kui vga\n"
-"haavatavaks: ligipsupiirangute puudumise tttu ei peaks arvutit hendama\n"
-"ei teiste arvutitega ega ka mitte Internetti."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Salasnad on nd kasutusel, kuid vrku hendamine ei ole siiski soovitav."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr "Turvataset on parandatud, lisatud on hoiatusi ja piiranguid."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"See on sobilik turvatase arvutile, mis hendatakse Internetti kui klient."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr "Sellel turvatasemel vib ssteemi kasutada Internetis ka serverina."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Ssteem on tielikult suletud. Vrgust kasutamine on vimalik ainult\n"
-"spetsiaalselt loodud juurdepsuteid kasutades."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Turvataseme seadmine"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Juhtimiskeskus"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Valige kasutatav vahend"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "kasutamiseks: keyboarddrake [--expert] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Kas soovite konsoolil kasutada BackSpace-i kui Delete?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Vaheta CD plaat"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Palun sisestage installeerimise CD pealdisega lugejasse ja vajutage <OK>.\n"
-"Kui teil sherdust ei ole, vajutage <Katkesta>, et kiiruendust vltida."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Ei saa kiiruuendust alustada !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "ei leitud: serial_usb\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Teeskleme keskmist hiirenuppu?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Palun testige hiirt"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Vrgustted"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "Hiir"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Loo internetihendus"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Katkesta internetihendus"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Katkesta internetihendus"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Katkesta internetihendus"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "henduse nimi"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "hendatud"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Lahuta..."
-
-#
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Tulemri stted"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Tulemri stted"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Tulemr\n"
-"\n"
-"Tulemri olete juba seadistanud.\n"
-"Valige 'Seadista', et midagi muuta"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Tulemr\n"
-"\n"
-"Valige 'Seadista', selle seadistamiseks nd"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"tinyfirewall seadistamine\n"
-"\n"
-"Selle vahendiga saate luua lihtsa kaitse Interneti ohtude vastu.\n"
-"Kui vajate vimsat tulemri, vaadake palun\n"
-"spetsiaalset MandrakeSecurity Firewall distributsiooni."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Nd ksitakse Teilt millistele teenustele soovite lubada ligipsu\n"
-"Internetist. Palun melge hoolega, nende vastuste le, sest tegu on\n"
-"ju Teie arvuti turvalisusega.\n"
-"\n"
-"Palun, kui te ei soovi hetkel mnd neist kasutada, pange see igaks\n"
-"juhuks tulemri taha. Hiljem on Teil soovi korral vaba voli kike\n"
-"uuesti lubada."
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Kas sellel arvutil hakkab tle veebiserver, mida klastatakse kogu\n"
-"Internetist? Kui vajate ligipsu vaid samast arvutist, vastake\n"
-"siin EI.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Kas sellel arvutil hakkab tle nimeserver? Kui Te seda ei soovi\n"
-"siis vastake palun ei.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Kas soovite sisenevaid SSH hendusi? SSH on turvaline asendus telnetile.\n"
-"Telneti kaudu le vrgu masinasse sisenemine on rmisel ebaturvaline\n"
-"kuna sel teel on lihtsate vahenditega vimalik vrgus paroole varastada.\n"
-"SSH korral on hendus krptitud ja pealtkuulamine praktiliselt vlistatud."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Kas soovite lubada sisenevaid telneti hendusi?\n"
-"See on teliselt ebaturvaline, vastake siin palun Ei ja kasutage\n"
-"telneti asemel SSH-d.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Kas soovite sellel arvuti kivitada avaliku FTP serveri? Kui see on\n"
-"testi Teie soov, siis lubage palun ainult anonmne ligips, sest\n"
-"muul juhul tekib jlle paroolide varastamise oht, sest FTP ei tunne\n"
-"krptimist.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Kas Teil on jooksmas avalik meiliserver? Vastasel juhul on\n"
-"palju turvalisem siia tulem ette panna.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Kas vajate sellel masinal POP vi IMAP serverit?\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Teil on kasutusel 2.2 kernel. Kui IP aadress antakse Teie arvutile\n"
-"dnaamiliselt, siis peaks seda siinkohal lubama.\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Kas see arvuti kuulub vrku, millest masinad snkroniseerivad\n"
-"omavahel kellaaega? Tenoliselt vite selle rahulikult keelata."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Seadistused tehtud. Kas salvestada stted kettale?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, fuzzy, c-format
-msgid "Can't open %s: %s\n"
-msgstr "Vrgukaart %s: %s"
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Seadme %s avamine kirjutamiseks ebannestus: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Mitmete protokollide, sealhulgas ssh kliendid"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Arendus"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Tjaam"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Tulemr/marsruuter"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Isikliku info haldamine"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimeedia - Graafika"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Vrguarvuti (klient)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Audio-vrgid: mp3 ja midi, mikserid jms"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Interneti tjaam"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Kontor"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimeedia tjaam"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr "Komplekt programme meili ja uudiste lugemiseks ning veebi brausimiseks"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "C ja C++ arendusteegid, programmid ja pisefailid"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Isiklike finantside haldusvahendid"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS, SMB, SSH server, vahendaja (proxy)"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentatsioon"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm jt"
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Utiliidid"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS"
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Graafiline keskkond"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimeedia - Heli"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Meelelahutus: arcade, boards, strategy jne"
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Video esitamine ja redigeerimine"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Konsooliprogrammid"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Heli ja video esitamine ja redigeerimine"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Teadustjaam"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editorid, shellid, terminalid, failihaldus"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Raamatud ja Howto-d Linux ja vabavara kohta"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr "Graafiline tkeskkond koos kasutajasbralike rakendustega"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Mngud"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimeedia - Video"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Failiserver"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Graafikaprogrammid nagu Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Kontori tjaam"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"K Desktop Environment, graafiline tkeskkond ja rida seonduvaid rakendusi"
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Veel graafilisi tlaudu (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Vahendid CD-de kirjutamiseks"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimeedia - CD kirjutamine"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Arhiveerimine, emuleerimine, monitoorimine"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Server, Andmebaasid"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Kontoriprogrammid: tekstittlus (kword, abiword), tabelarvutus (kspread, "
-"gnumeric), PDF eelvaade jne"
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Server, Veeb/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Server"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Isiklikud finantsid"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Seadistused"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE tjaam"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Muud graafilised tlauad"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache ja Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Server, Meil/grupit/uudised"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome tjaam"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Internetihendus"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Suhtlus Palmi vi Visoriga"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Mnguvahend"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm jne"
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Vahendid lihtsamaks ssteemi administreerimiseks"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr "Meili, uudiste, veebi, jututamise ja faililekande programmid"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "KB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minutit"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minut"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d sekundit"
-
-#~ msgid "Configure..."
-#~ msgstr "Seadista..."
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "LAN stted"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "Valitud suurus %d%s"
-
-#~ msgid "Opening your connection..."
-#~ msgstr "Testime Teie hendust..."
-
-#~ msgid "Standard tools"
-#~ msgstr "Standardtriistad"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Seadistused: Lisa asukoht"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr "See skript proovib seadistada USB hiirt"
-
-#~ msgid "Boot style configuration"
-#~ msgstr "Alglaadimise stiil"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Nd on internetihendus seadistatud aga Teie arvutit\n"
-#~ "saab panna ka seda jagama teistele arvutitele kohtvrgus.\n"
-#~ "Mrkus: kohtvrgu jaoks on vajalik eraldi vrgukaardi olemasolu\n"
-#~ "\n"
-#~ "Kas soovite internetihendust jagada?\n"
-
-#~ msgid "Welcome to the Internet Connection Sharing utility!"
-#~ msgstr "Internetihenduse jagamine"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Automaatsed sltuvused"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "LILO/GRUB seadistamine"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Loo alglaadimisflopi"
-
-#~ msgid "Format floppy"
-#~ msgstr "Vorminda flopi"
-
-#~ msgid "Choice"
-#~ msgstr "Valik"
-
-#~ msgid "horizontal nice looking aurora"
-#~ msgstr "horisontaalne kena aurora"
-
-#~ msgid "vertical traditional aurora"
-#~ msgstr "vertikaalne tavaline aurora"
-
-#~ msgid "gMonitor"
-#~ msgstr "gMonitor"
-
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Nd saate valida mitmesuguseid ssteemi kitumise vimalusi.\n"
-#~ "\n"
-#~ "* Optimiseeri kvaketast: selle variandi puhul saate kiirendada\n"
-#~ " kvaketta poole prdumist, kuid teatud vigaste emaplaatide puhul \n"
-#~ " vite kvaketta rikkuda. Valige, kui olete endas kindel.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Valige turvatase: saate valida oma ssteemi turvalisuse taseme.\n"
-#~ " Palun vaadake manuaali, et saada turvatasemetest tielik levaade.\n"
-#~ " Kui kahtlete, valige \"Keskmine\", et saada testi turvalist ssteemi,\n"
-#~ " valige \"Paranoiline\" aga olge ettevaatlik, niteks EI SAA SELLEL "
-#~ "TASEMEL\n"
-#~ " JUURKASUTAJA SISSE LOGIDA! Peate kasutama ksku 'su'. Mida "
-#~ "turvalisem, \n"
-#~ " seda keerulisem kasutada!\n"
-#~ "\n"
-#~ "* Tpsusta operatiivmlu mahtu: vib esineda olukord, kus GNU/Linux ei\n"
-#~ " ole suuteline detekteerima tpselt operatiivmlu suurust. Kui see on\n"
-#~ " nii juhtunud, saate elda ette tegeliku mluhulga. Paneme thele, et\n"
-#~ " erinevus 2-4MB tuvastatud ja tegeliku mlu hulga vahel on normaalne.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Irdandmekandjate automaatne hendamine (supermount): Teie flopid, CD-d\n"
-#~ " ja Zip-kettad hendatakse automaatselt (ilma mount/umount kasutamata)\n"
-#~ "\n"
-#~ "\n"
-#~ "* Puhasta \"/tmp\" alglaadimisel: ssteemi laadimisel kustutatakse kik "
-#~ "failid \"/tmp\" kataloogist.\n"
-#~ "\n"
-#~ "* Vimalda NumLock alglaadimisel: ssteemi laadimisel muudetakse\n"
-#~ " konsoolimoodis NumLock aktiivseks"
-
-#~ msgid "Sorry, the mail configuration is not yet implemented. Be patient."
-#~ msgstr "Vabandan, aga meili seadistamine ei ole praegu veel vimalik."
-
-#~ msgid ""
-#~ "Welcome to The Network Configuration Wizard.\n"
-#~ "Which components do you want to configure?\n"
-#~ msgstr ""
-#~ "See siin on vrguhenduse abimees.\n"
-#~ "Mis komponente soovite seadistada?\n"
-
-#~ msgid "Internet/Network access"
-#~ msgstr "Internetihendus"
-
-#~ msgid "Mail information"
-#~ msgstr "Meili informatsioon"
-
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr "Vrgu stete abimees"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Muud stted"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Muud ksimused"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "Krgel turvatasemel ei saa supermount-i kasutada"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "SELLEL TURVATASEMEL EI OLE VIMALIK SSTEEMI SISENEDA JUURKASUTAJANA!\n"
-#~ "Juurkasutaja iguste saamiseks tuleb siseneda tavakasutajana ja siis \n"
-#~ "kasutada \"su\"-d.\n"
-#~ "Serveri puhul on selline piirang tiesti mistlik.\n"
-#~ "Teid on igal juhul hoiatatud."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Olge ettevaatlik, NumLock-i kasutamine vib phjustada (eriti kantavatel\n"
-#~ "arvutitel) probleeme."
-
-#~ msgid "not connected"
-#~ msgstr "ei ole hendatud"
-
-#~ msgid "Actions"
-#~ msgstr "Tegevused"
-
-#~ msgid "Scientific applications"
-#~ msgstr "Teadusrakendused"
-
-#~ msgid "toot"
-#~ msgstr "tuut"
-
-#~ msgid "File/Print/Samba"
-#~ msgstr "Server, Faili/prindi/samba"
-
-#~ msgid "DNS/DHCP "
-#~ msgstr "Server, DNS/DHCP"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Esimene nimeserver:"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Teine nimeserver:"
-
-#~ msgid "using module"
-#~ msgstr "kasutades moodulit"
-
-#~ msgid "Development, Database"
-#~ msgstr "Arendus, Andmebaasid"
-
-#~ msgid "Development, Integrated Environment"
-#~ msgstr "Arendus, Graafilised keskkonnad"
-
-#~ msgid "Development, Standard tools"
-#~ msgstr "Arendus, standardvahendid"
-
-#~ msgid ""
-#~ "\n"
-#~ "Warning:\n"
-#~ "Applying the changes while running may crash your X environnement."
-#~ msgstr ""
-#~ "\n"
-#~ "Hoiatus:\n"
-#~ "Muudatuste rakendamine vib X keskkonna endast vlja viia."
-
-#~ msgid ""
-#~ "\n"
-#~ "If you continue, I will shut down your %s environnement"
-#~ msgstr ""
-#~ "\n"
-#~ "Jtkamisel olen sunnitud Teie %s keskkonna seiskama"
-
-#~ msgid "eth$_"
-#~ msgstr "eth$_"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr "Ei soovi"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Millist alglaadurit soovite kasutada?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Kiirpaigaldusflopi"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Kas otsida modemit?"
-
-#~ msgid "Configure an ISDN connection"
-#~ msgstr "Seadista ISDN hendus"
-
-#~ msgid "Configure a cable connection"
-#~ msgstr "Seadista TV-kaabli hendus"
-
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Keela hendus Internetti"
-
-#~ msgid "Configure local network"
-#~ msgstr "Kohtvrgu seadistamine"
-
-#~ msgid "Disable networking"
-#~ msgstr "Keela vrguhendus"
-
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Seadista internetihendus / Seadista kohtvrk"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "Kohtvrk on juba seadistatud.\n"
-#~ "Kas soovite:"
-
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr "Seadistan uuesti abimehega..."
-
-#~ msgid "Graphics Manipulation"
-#~ msgstr "Graafikaprogrammid"
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimeedia"
-
-#~ msgid "Sciences"
-#~ msgstr "Teadused"
-
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ "Jututamise (IRC vi IM) programmid xchat, licq, gaim ja faililekande "
-#~ "vahendid"
-
-#~ msgid "Communication facilities"
-#~ msgstr "Suhtlemisvahendid"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Internet Tools"
-#~ msgstr "Interneti vrgid"
-
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr "Andmebaasiserveri ja -kliendid (mysql ja postgresql)"
-
-#~ msgid "Development C/C++"
-#~ msgstr "C/C++ arendus"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Ajavtme mramine"
-
-#~ msgid "Configure printer"
-#~ msgstr "Printeri stted"
-
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr "Esimene vrguliides (eth0)"
-
-#~ msgid "isdn_internal"
-#~ msgstr "isdn_internal"
-
-#~ msgid "ippp0"
-#~ msgstr "ippp0"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(vib tekitada andmete hvimist)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Kas optimiseerime kvaketast?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Llita Num Lock kivitamisel sisse"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Salasna uuesti"
-
-#~ msgid "default"
-#~ msgstr "tavaline"
-
-#~ msgid "Type :"
-#~ msgstr "Tp: "
-
-#~ msgid "What is your system used for?"
-#~ msgstr "Milline on Teie ssteemi kasutusala?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr "Valige paigalduse maht"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Kasuta diskdrake-i"
-
-#~ msgid "Customized"
-#~ msgstr "Isetehtud"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "Olete ikka kindlasti ekspert? \n"
-#~ "Hei, ilma naljata, eksperdi valikud on laiemad kuid sellevrra "
-#~ "ohtlikumad.\n"
-#~ "\n"
-#~ "Teilt ksitakse ksimusi niteks 'paroolifaili varjutamise' jms kohta,\n"
-#~ "olete Te selleks valmis?"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Kasuta varjutatud paroolifaili"
-
-#~ msgid "shadow"
-#~ msgstr "varjutatud"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Kasuta parooli kaitsmiseks MD5 algoritmi"
-
-#~ msgid "Search"
-#~ msgstr "Otsi"
-
-#~ msgid "Package"
-#~ msgstr "Pakett"
-
-#~ msgid "Text"
-#~ msgstr "Tekst"
-
-#~ msgid "Tree"
-#~ msgstr "Puu"
-
-#~ msgid "Sort by"
-#~ msgstr "Sortimine"
-
-#~ msgid "Category"
-#~ msgstr "Kategoori"
-
-#~ msgid "See"
-#~ msgstr "Vaata"
-
-#~ msgid "Installed packages"
-#~ msgstr "Installitud paketid"
-
-#~ msgid "Available packages"
-#~ msgstr "Kttesaadavad paketid"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Nita ainult ksikuid"
-
-#~ msgid "Expand all"
-#~ msgstr "Ava kik"
-
-#~ msgid "Collapse all"
-#~ msgstr "Sule kik"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Lisa pakettide asukoht"
-
-#~ msgid "Update location"
-#~ msgstr "Uuenda asukoht"
-
-#~ msgid "Remove"
-#~ msgstr "Eemalda"
-
-#~ msgid "Find Package"
-#~ msgstr "Leia pakett"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Leia pakett faili jrgi"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Installitud/Saadaval"
-
-#~ msgid "Uninstall"
-#~ msgstr "Eemaldamine"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Valige pakett installimiseks"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Kontrollin sltuvusi"
-
-#~ msgid "Wait"
-#~ msgstr "Oodake"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Eemaldatakse jrgmised paketid"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "RPM-ide eemaldamine"
-
-#~ msgid "Regexp"
-#~ msgstr "Regulaaravaldis"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Milline pakett vajab ressurssi"
-
-#~ msgid "%s not found"
-#~ msgstr "%s ei leitud"
-
-#~ msgid "No match"
-#~ msgstr "Ei leitud sobivat"
-
-#~ msgid "No more match"
-#~ msgstr "Ei leitud enam sobivaid"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake on hetkel \"ssturesiimil\".\n"
-#~ "Failide otsimiseks kivitan rpmdrake uuesti"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Millist faili Te otsite?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Mida Te otsite?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Andke nimi (nagu: 'extra, 'commercial')"
-
-#~ msgid "Directory"
-#~ msgstr "Kataloog"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "CD-d ei leitud (vhemalt mitte /mnt/cdrom all)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL kataloogile, kus paiknevad RPM-id"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "FTP ja HTTP jaoks on vaja ka hdlist-i asukohta\n"
-#~ "See peab olema antud eelmise URLi suhtes"
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Palun jrgmist informatsiooni"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s on juba kasutusel"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "Uuendan RPM andmebaasi"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "Eemaldan kirje %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Leian lejgid"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "lejkide leidmine vtab veidi aega"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "Leitud ISDN kaart:\n"
-
-#~ msgid "France"
-#~ msgstr "Prantsusmaa"
-
-#~ msgid "Other countries"
-#~ msgstr "Muud maad"
-
-#~ msgid "In which country are you located ?"
-#~ msgstr "Millisel maal Te praegu olete ?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Alcatel modem"
-
-#~ msgid "ECI modem"
-#~ msgstr "ECI modem"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr "Kui teil on Alcatel-i modem, valige Alcatel. Muidu aga ECI"
-
-#~ msgid "don't use pppoe"
-#~ msgstr "ra kasuta pppoe-d"
-
-#~ msgid "mandatory"
-#~ msgstr "kohustuslik"
-
-#~ msgid "interesting"
-#~ msgstr "huvitav"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (thtis)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (vga kena)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (kena)"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Millisesse seerialporti on Teie hiir hendatud?"
-
-#~ msgid "Czech"
-#~ msgstr "Tehhi"
-
-#~ msgid "Slovakian"
-#~ msgstr "Slovaki"
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr "Ei saa installida 'ipchains' paketti urpmi abil."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr "Ei saa installida DHCP paketti urpmi abil."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr "Ei saa installida linuxconf-i urpmi abil."
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr "Ei saa installida 'bind' paketti urpmi abil."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr "Ei saa installida nimeserveri vahendajat urpmi abil."
-
-#~ msgid "Reconfigure local network"
-#~ msgstr "Seadista kohtvrk uuesti"
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Teie arvutit saab seadistada internetihenduse jagajana.\n"
-#~ "\n"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr "Kik sai seadistatud.\n"
-
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Kasuta Interneti jaoks tavamodemit"
-
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Kasuta Interneti jaoks ISDN modemit"
-
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Kasuta Interneti jaoks DSL (vi ADSL) modemit"
-
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Kasuta Interneti jaoks DOC kaablimodemit"
-
-#~ msgid ""
-#~ "Time (secs) of inactivity after which\n"
-#~ "it hangs up. (leave blank to disable it)"
-#~ msgstr ""
-#~ "Mittekasutamise aeg, mille jooksul hendus\n"
-#~ "katkestatakse. (vaikimisi ei katkestata)"
-
-#~ msgid "Germany"
-#~ msgstr "Saksa"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "Saksa (1TR6)"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr "Mida Te soovite teha?"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "Installi/Taasta"
-
-#~ msgid "Rescue"
-#~ msgstr "Taasta"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Mis tpi partitsiooni soovite?"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Valige \"Installimine\" kui varem sellele masinale GNU/Linuxit ei ole "
-#~ "pandud\n"
-#~ "vi soovite kasutada mitut distributsiooni\n"
-#~ "\n"
-#~ "Valige \"Taastamine\" kui soovite taastada mnd eelmist Mandrake "
-#~ "Linuxit:\n"
-#~ "%s vi %s.\n"
-#~ "\n"
-#~ "\n"
-#~ "Valige:\n"
-#~ "\n"
-#~ " - Soovitatav: Te pole kunagi varem GNU/Linuxit installinud. \n"
-#~ "\n"
-#~ " - Isetehtud: Olete Linuxiga tuttav ja soovite ssteemi kohandada "
-#~ "vastavalt\n"
-#~ " Teie vajadustele. Jrgmisena saate teha valikud sltuvalt Teie "
-#~ "arvuti\n"
-#~ " edaspidisest kasutusalast.\n"
-#~ "\n"
-#~ " - Ekspert: Te tunnete end GNU/Linux keskkonnas vabalt ja soovite\n"
-#~ " ssteemi, mis sobiks nagu valatult Teie tpsete ootustega.\n"
-#~ " Aga palun, palun: RGE VALIGE SEDA, KUI TE TPSELT EI TEA, MIDA "
-#~ "TEETE!\n"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "SEAL\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ "Nd peaksite valima partitsioon(id) Linux-Mandrake installimiseks\n"
-#~ "kui need on juba varem kettale defineeritud. Kui Te varem ei ole oma\n"
-#~ "kvaketast Linuxi jaoks partitsioneerinud, saate seda jrgmises etapis\n"
-#~ "teha. Partitsioneerimine thendab fsilise ketta jaotamist loogiliselt\n"
-#~ "eraldatud osadeks.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui ei tunne ennast sel alal kindlalt, valige \"Paiguta ise\", et\n"
-#~ "automaatselt luua Linuxile vajalikud partitsioonid.\n"
-#~ "Linuxi maailmas thendab \"hda\" esimest, \"hdb\" teist IDE kvaketast,\n"
-#~ "\"sda\" esimest. \"sdb\" teist SCSI kvaketast jne. Partitsioneerimiseks\n"
-#~ "valige kettaseade lihtsalt sellel klikkides.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kaks tavalist partitsiooni on juurpartitsioon (/), kus asub "
-#~ "failissteemi\n"
-#~ "hierarhia algus ja /boot, mis sisaldab arvuti alglaadimiseks vajalikke "
-#~ "faile, sealhulgas Linuxi kernelit.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kuna partitsioneerimine ei ole pratav protsess, vib see tekitada\n"
-#~ "algajas kerget khedust. DiskDrake on selle teinud kll lihtsamaks,\n"
-#~ "aga kindlasti tuleks enne iga liigutust sgavalt jrele mtelda ja\n"
-#~ "soovitavalt ka dokumentatsiooniga tutvuda.\n"
-#~ "\n"
-#~ "Kiki tegevusi saate teha ka ainult klaviatuuri kasutades: liikuge\n"
-#~ "partitsioonidel <TAB> ja les-alla noolte abil. Partitsiooni valikul\n"
-#~ "\n"
-#~ "- Ctrl-C loob uue partitsiooni (valige selleks vaba kettaala)\n"
-#~ "- Ctrl-D kustutab partitsiooni\n"
-#~ "\n"
-#~ "- Ctrl-M seab henduspunkti\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Kik Teie poolt vrskelt loodud partitsioonid tuleb kasutamiseks "
-#~ "vormindada\n"
-#~ "(luua failissteemid). Partitsiooni vormindamisel hvitatakse kik "
-#~ "andmed,\n"
-#~ "mis seal iganes leiduvad. Pange thele, et varem vormindatud ja "
-#~ "vajalikke\n"
-#~ "andmeid sisaldavaid partitsioone, tpiliselt /home ja /usr/local, ei "
-#~ "ole\n"
-#~ "mistlik le vormindada, vaid need vib jtta nii nagu on."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "Nd hakkan Teie valitud pakette installima. Selleks peaks kuluma\n"
-#~ "mnikmmend minutit. Ssteemi uuendamisel kulub aega kll veidi rohkem,\n"
-#~ "sest siis tuleb enne olemasolevaid pakette analsida."
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "Kui DrakX ei suutnud Teie hiirt tuvastada, vi soovite vaadata, mida\n"
-#~ "leiti, kuvatakse Teile lalpool \"hiiretugude\" nimekiri.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui olete valikuga nus, minge lihtsalt vasakpoolses mens edasi.\n"
-#~ "Vastasel juhul valige hiire tp, mis Teie arvates kige paremini Teie\n"
-#~ "hiirt iseloomustab\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui tegemist on seerialpordi hiirega, peate tlema ka, mis porti ta on\n"
-#~ "hendatud."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "See sektsioon on phendatud kohtvrgu (LAN) vi sissehelistamisteenuse\n"
-#~ "(DialUp) stete paikapanemisele.\n"
-#~ "\n"
-#~ "Kui vastate \"LAN\", siis proovitakse Teie arvutist leida vrgukaarti.\n"
-#~ "Kui Teie vrgukaart ttab PCI siinil, peaks ta olema leitav ja "
-#~ "kasutatav\n"
-#~ "automaatselt. ISA kaardi puhul, vib automaatne otsing alt vedada ja Te\n"
-#~ "peate juhtprogrammi ise nimekirjast valima.\n"
-#~ "\n"
-#~ "\n"
-#~ "SCSI kaartide puhul peab juhtprogramm esmalt leidma SCSI liidese, "
-#~ "vastasel\n"
-#~ "juhul peate prduma kaardi mja poole.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui installite Linux-Mandrake ssteemi masinale, mis on osake juba "
-#~ "ttavast\n"
-#~ "kohtvrgust, annab vrgu haldaja Teile kogu vajaliku informatsiooni (IP-\n"
-#~ "aadressi, alamvrgu maski ja masina nime). Kui seate les oma privaatset\n"
-#~ "vrku, peaksite ise valima aadressid \n"
-#~ "\n"
-#~ "Kui soovite Internetti kasutada modemi ja sissehelistamisteenuse kaudu,\n"
-#~ "valige \"DialUp\" ja DrakX proovib otsida Teie arvutist modemit. Kui\n"
-#~ "modemit ei leita, peate sisestama seerialpordi, kuhu kavatsete modemi\n"
-#~ "hendada."
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "Linuxi all saate kasutada mitmesuguseid printereid. Igaks neist nuab\n"
-#~ "erinevaid stteid ttamiseks. Siiski tasub thele panna, et ssteem\n"
-#~ "kasutab nime 'lp' vaikimisi printeri jaoks; seega peab Teil ks \n"
-#~ "selliselt thistatud, kuigi printeri(te)le vib panna '|' mrgiga "
-#~ "eraldatult\n"
-#~ "mitu nime. Kui eelistate \"thendusega\" nimesid, pange nimeks\n"
-#~ "niteks \"Minu printer|lp\" ja see saab olema Teie vaikimisi printer.\n"
-#~ "\n"
-#~ "Kui Teie printer on otse arvuti klge hendatud, valige \"Kohalik printer"
-#~ "\".\n"
-#~ "Siis saate valida pordi kuhu see on hendatud ja printerile vastava "
-#~ "filtri.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui soovite kasutada printerit, mis on hendatud Un*x serveriga, peate\n"
-#~ "Valima \"lpd vrguprinter\". Niisugusel juhul ei vaja Te kasutajatunnust\n"
-#~ "ega salasna, vaid ainult serveri nime ja printimisjrje nime serveril.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui soovite kasutada SMB printserverit (st. printerit, mida jagab vlja\n"
-#~ "Windows 9x/NT, peate ra nitama serveri SMB nime (mis ei pea olema sama\n"
-#~ "TCP/IP nimega) ja kindluse mttes ka IP-aadressi. Loomulikult on vaja "
-#~ "teada\n"
-#~ "ka serveri poolt jagatava printeri nime ning kasutajatunnust, salasna "
-#~ "ja\n"
-#~ "tgrupi nime. Sama, vlja arvatud tgrupp, on vaja teada ka NetWare\n"
-#~ "printserveri kasutamise korral."
-
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "On rmiselt soovitatav vastata siin \"Jah\"! Niteks, kui installite\n"
-#~ "samasse masinasse hiljem MS Windowsi, kirjutab see le bootsektori.\n"
-#~ "Ilma alglaadimisflopita ei ole Teil siis enam vimalik GNU/Linuxit\n"
-#~ "laadida."
-
-#~ msgid "Move your wheel!"
-#~ msgstr "Liigutage ratast!"
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Muutusi ei teinudki?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Mis tpi hiirt kasutate?"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Vljapakutavad kuvatihedused"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "Et leida vimalikke kuvatihedusi, testin erinevaid variante.\n"
-#~ "Ekraan Teie ees hakkab vilkuma...\n"
-#~ "Kui soovite, llitage monitor vlja. Kui valmis saan, kostab piiks"
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "Me vime proovida leida kuvatihedust, niteks 800x600.\n"
-#~ "Siiski, vahel ajab see arvuti segadusse.\n"
-#~ "Soovite proovida?"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "Sobivat olekut ei leitud\n"
-#~ "Proovige palun muud graafikakaarti vi monitori"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Automaatne kuvatiheduste otsing"
-
-#~ msgid "pump"
-#~ msgstr "pump"
-
-#~ msgid "dhcpxd"
-#~ msgstr "dhcpxd"
-
-#~ msgid "dhcp-client"
-#~ msgstr "dhcp-client"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Apple ADB hiir"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Apple ADB hiir (2 nuppu)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Apple ADB hiir (3+ nuppu)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Apple USB hiir"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Apple USB hiir (2 nuppu)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Apple USB hiir (3+ nuppu)"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI Bus hiir"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft Bus hiir"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech Bus hiir"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB hiir (3 vi enam nuppu)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Rev 2.1A vi krgem (seerial)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (seerial)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (seerial)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (seerial)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "Lihtsalt hiir (seerial)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Microsofti hilduv (seerial)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "Lihtsalt 3-nupuline hiir (seerial)"
-
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse (seerial)"
-
-#~ msgid ""
-#~ "I need to configure your network adapter to be able to connect to "
-#~ "internet."
-#~ msgstr "Internetihenduse jaoks on vaja seadistada vrguliides."
-
-#~ msgid ""
-#~ "Please choose which network adapter do you want to use to connect to "
-#~ "internet.\n"
-#~ "If you don't know, choose eth0.\n"
-#~ msgstr ""
-#~ "Palun valige millist vrguliidest soovite kasutada kohtvrgu\n"
-#~ "jaoks.\n"
-#~ "Kui Te ei tea, valige eth0.\n"
-
-#~ msgid "nfs mount failed"
-#~ msgstr "NFS hendamine ebannestus"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Socket"
-#~ msgstr "Pistik"
-
-#~ msgid ""
-#~ "DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
-#~ "By default, the 4.0 server is used unless your card is not supported.\n"
-#~ "\n"
-#~ "Do you want to keep XFree 3.3?"
-#~ msgstr ""
-#~ "DrakX saab luua sttefailid nii XFree 3.3 kui ka XFree 4.0. \n"
-#~ "Vaikimisi kasutatakse 4.0, kui see toetab Teie riistvara\n"
-#~ "\n"
-#~ "Kas soovite jda XFree versiooni 3.3 juurde?"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Krpto"
-
-#~ msgid "Configure LAN"
-#~ msgstr "Seadista X"
-
-#~ msgid "End configuration"
-#~ msgstr "ISDN stted"
-
-#~ msgid "Do not set up networking"
-#~ msgstr "Ei seadista vrku"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "Kas soovite kasutada kohtvrku?"
-
-#~ msgid "Show less"
-#~ msgstr "Nita vhem"
-
-#~ msgid "Show more"
-#~ msgstr "Nita rohkem"
-
-#~ msgid "Take over the hard drive"
-#~ msgstr "Kasuta kogu ketast"
-
-#~ msgid "URI for Local printer"
-#~ msgstr "Kohalik printer"
-
-#~ msgid "URI for Network printer"
-#~ msgstr "Vrguliides"
-
-#~ msgid "Local Printer Device (URI)"
-#~ msgstr "Otse hendatud printer"
-
-#~ msgid ""
-#~ "What URI device is your printer connected to\n"
-#~ "(nte that parallel:/dev/lp0 is equivalent to LPT1:)?"
-#~ msgstr ""
-#~ "Mis porti on Teie printer hendatud? \n"
-#~ "(paneme thele, et /dev/lp0 on sama mis LPT1:)?"
-
-#~ msgid "tie"
-#~ msgstr "pintsaklips"
-
-#~ msgid "brunette"
-#~ msgstr "brnett"
-
-#~ msgid "girl"
-#~ msgstr "neiu"
-
-#~ msgid "woman-blond"
-#~ msgstr "blondiin"
-
-#~ msgid "automagic"
-#~ msgstr "automaagiline"
-
-#~ msgid "Have you been provided with a hostname?"
-#~ msgstr "Anti Teile masinanimi"
-
-#~ msgid "Local Area Network specification"
-#~ msgstr "Kohtvrgu seaded"
-
-#~ msgid "You may now decide which class C network to use.\n"
-#~ msgstr "Millist C-klassi vrku soovite kasutada.\n"
-
-#~ msgid "Network:"
-#~ msgstr "Vrgu mask:"
-
-#~ msgid "Internet Connection Sharing - setup of $device"
-#~ msgstr "Internetihenduse jagamine - liides $device"
-
-#~ msgid ""
-#~ "The following interface is about to be configured:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Seatakse stted jrgmisele vrguliidesele:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-
-#
-#~ msgid "Everything configured!"
-#~ msgstr "Kik seadistatud!"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Milline on Teie klaviatuuriasetus"
-
-#~ msgid ""
-#~ "\n"
-#~ "I recommend that you abort, and then launch this internet wizard after "
-#~ "installation.It will then be able to setup ISA or PCMCIA cards easier.\n"
-#~ "\n"
-#~ "But, if you know the irq, dma, io of your card, you can still configure "
-#~ "your card."
-#~ msgstr ""
-#~ "\n"
-#~ "Soovitan teil praegu katkestada ja kivitada vrguhenduse abimees prast "
-#~ "installimist uuesti. Siis on vimalik Teie ISA vi PCMCIA kaarte lihtsam\n"
-#~ "seadistada\n"
-#~ "Muidugi, kui teil on teada oma kaardi IRQ, DMA ja IO, ei ole probleemi."
-
-#~ msgid "pptp alcatel"
-#~ msgstr "Paiguta ise"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Kas otsida PCMCIA kaarte?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "Kas otsida %s seadmeid?"
-
-#~ msgid "Small(%dMB)"
-#~ msgstr "Vike (%d MB)"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr "Kas soovite kasutada DialUp hendust modemi kaudu?"
-
-#~ msgid "Do you want to configure a ISDN connection for your system?"
-#~ msgstr "Kas soovite kasutada ISDN hendust?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "Kas otsida PCI seadmeid?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "Otsin juurpartitsiooni.."
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s: See ei ole juurpartitsioon, palun valige mni muu."
-
-#~ msgid "No root partition found"
-#~ msgstr "Juurpartitsiooni ei leitud"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr "Millist partitsiooni soovite kasutada juurkataloogi jaoks?"
-
-#~ msgid "Autologin at startup"
-#~ msgstr "X stardib nd"
-
-#~ msgid "Autologin - Choose default user"
-#~ msgstr "Valige uus suurus"
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr "Teil ei ole htki Windowsi partitsiooni!"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "Teil ei ole piisavalt ruumi Lnx4win jaoks"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Tere tulemast! Laadimisel aitab Teid LILO!\n"
-#~ "\n"
-#~ "Valikud kuvab <Tab>.\n"
-#~ "\n"
-#~ "Valimiseks sisestage eelistatava nimi ja vajutage <Enter>\n"
-#~ "vaikimisi oodake %d sekundit.\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Tere tulemast! Laadimisel aitab Teid SILO!\n"
-#~ "\n"
-#~ "Valikud kuvab <Tab>.\n"
-#~ "\n"
-#~ "Valimiseks sisestage eelistatava nimi ja vajutage <Enter>\n"
-#~ "vaikimisi oodake %d sekundit.\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "SILO peastted"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Praegu on SILO jaoks kirjeldatud alltoodud kirjed.\n"
-#~ "Te vite neid lisada ning olemasolevaid muuta."
-
-#~ msgid "This label is already in use"
-#~ msgstr "Selline this on juba kasutusel"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "SILO installimine ebannestus. Tekkis jrgnev viga:"
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ "DrakX proovib esmalt leida Teie ssteemist SCSI liideseid PCI siinil.\n"
-#~ "Kui neid leitakse, ja vastav juhtprogramm on teada, siis laetakse\n"
-#~ "see mllu automaatselt.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui Teie SCSI liides kasutab ISA siini vi kui DrakX ei tea,\n"
-#~ "millist juhtprogrammi kasutada vi Teil ei ole ldse SCSI liidest,\n"
-#~ "siis ksitakse Teilt selle kohta.\n"
-#~ "Kui Teil SCSI liidest testi ei ole, vastake \"Ei\". Kui Teil aga siiski\n"
-#~ "on, siis vastake \"Jah\". Seejrel lastakse Teil nimekirjast sobiv\n"
-#~ "juhtprogramm valida.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui olete juhtprogrammi vlja valinud, on Teil vimalus anda sellele\n"
-#~ "ka parameetreid. Siiski, enamasti lheb kik kenasti ka ilma neid\n"
-#~ "sisestamata: vastavad andmed leiab juhtprogramm ise.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui automaatne parameetrite otsimine ei tta, prduge palun\n"
-#~ "oma SCSI liidese dokumentatsiooni poole. Ka samas masinas olev Windows\n"
-#~ "oskab vahel SCSI kohta vajalikku informatsiooni anda."
-
-#~ msgid "Shutting down"
-#~ msgstr "Sulgemine"
-
-#~ msgid "useless"
-#~ msgstr "kasutu"
-
-#~ msgid "garbage"
-#~ msgstr "rmps"
-
-#~ msgid ""
-#~ "Some true type fonts from windows have been found on your computer.\n"
-#~ "Do you want to use them? Be sure you have the right to use them under "
-#~ "Linux."
-#~ msgstr ""
-#~ "Teie arvutist mned hulk Windowsi TrueType fondid.\n"
-#~ "Soovite Te neid ka Linuxis kasutada (eeldusel, et Teil on need legaalsed)?"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "or 7.0 (Air)."
-#~ msgstr ""
-#~ "Valige \"Installimine\" kui varem sellele masinale Linuxit ei ole pandud\n"
-#~ "vi soovite kasutada mitut distributsiooni\n"
-#~ "\n"
-#~ "\n"
-#~ "Valige \"Uuendamine\" kui soovite uuendada mnd eelmist Mandrake "
-#~ "Linuxit:\n"
-#~ "5.1 (Venice), 5.2 (Leeloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios),\n"
-#~ "Gold 2000 vi 7.0 (Air)."
-
-#~ msgid "Creating and formatting loopback file %s"
-#~ msgstr "Loon ja vormindan loopback faili %s"
-
-#~ msgid "Do you want to use LILO?"
-#~ msgstr "Soovite LILO-t kasutada?"
-
-#~ msgid ""
-#~ "You may now select the packages you wish to install.\n"
-#~ "\n"
-#~ "\n"
-#~ "First you can select group of package to install or upgrade. After that\n"
-#~ "you can select more packages according to the total size you wish to\n"
-#~ "select.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you are in expert mode, you can select packages individually.\n"
-#~ "Please note that some packages require the installation of others.\n"
-#~ "These are referred to as package dependencies. The packages you select,\n"
-#~ "and the packages they require will be automatically selected for\n"
-#~ "install. It is impossible to install a package without installing all\n"
-#~ "of its dependencies."
-#~ msgstr ""
-#~ "Nd vite valida paketigrupi, mida soovite installida vi uuendada.\n"
-#~ "Soovi korral saate valida pakette ka lisaks vastavalt oma rangemisele\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui olete valinud paigaldusviisi \"Ekspert\", saate pakette kshaaval\n"
-#~ "Thelepanu! Mned paketid vivad nuda, et oleks installitud ka mned\n"
-#~ "teised. Neid nimetatakse paketi sltuvusteks. Paketi valimisel valitakse\n"
-#~ "automaatselt ka kik tema sltuvused. Paketi installimine ilma kiki\n"
-#~ "sltuvusi rahuldamata, on vimatu."
-
-#~ msgid ""
-#~ "LILO (the LInux LOader) can boot Linux and other operating systems.\n"
-#~ "Normally they are correctly detected during installation. If you don't\n"
-#~ "see yours detected, you can add one or more now.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you don't want that everybody could access at one of them, you can "
-#~ "remove\n"
-#~ "it now (a boot disk will be needed to boot it)."
-#~ msgstr ""
-#~ "LILO (LInux LOader) oskab laadida erinevaid Teie arvuti leiduvaid\n"
-#~ "operatsioonissteeme. Tavaliselt tuvastatakse need installimise kigus.\n"
-#~ "Kui Te ei ne neid tuvastatuna, saate need nd lisada.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kui Te ei soovi mnd neist laadida, vite selle kohe eemaldada. Sellisel\n"
-#~ "juhul vajate selle laadimiseks vastavat alglaadimisflopit."
-
-#~ msgid "Choose other CD to install"
-#~ msgstr "Pakettide valik"
-
-#~ msgid ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed Linux before.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Customized: If you are familiar with Linux, you will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\"."
-#~ msgstr ""
-#~ "Valige:\n"
-#~ "\n"
-#~ " - Soovitatav: Te pole kunagi varem Linuxit installinud.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Oma segu: Olete Linuxiga tuttav ja soovite ssteemi kohandada "
-#~ "vastavalt\n"
-#~ "Teie vajadustele. Jrgmisena saate teha valikud \"Tjaam\", \"Arendus\"\n"
-#~ "ja \"Server\", sltuvalt Teie arvuti edaspidisest kasutusalast.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Ekspert: Te tunnete end GNU/Linux keskkonnas vabalt ja soovite\n"
-#~ "ssteemi, mis sobiks nagu valatult Teie tpsete ootustege."
-
-#~ msgid "Downloading cryptographic packages"
-#~ msgstr "Laadime krptopakette"
-
-#~ msgid "Setup SCSI"
-#~ msgstr "SCSI seadistamine"
-
-#~ msgid "Which packages do you want to install"
-#~ msgstr "Valige paketid mida soovite installida"
-
-#~ msgid "Local LAN"
-#~ msgstr "LAN"
-
-#~ msgid "expert"
-#~ msgstr "ekspert"
-
-#~ msgid "developer"
-#~ msgstr "arendaja"
-
-#~ msgid "beginner"
-#~ msgstr "algaja"
-
-#~ msgid "Linear (needed for some SCSI drives)"
-#~ msgstr "lineaarne (vajalik mnedel SCSI ketastel)"
-
-#~ msgid "linear"
-#~ msgstr "linearne"
-
-#~ msgid "After %s partition %s,"
-#~ msgstr "Prast %s partitsioneeri %s,"
-
-#~ msgid "changing type of"
-#~ msgstr "tbi muutmine"
-
-#~ msgid "formatting"
-#~ msgstr "vormindatakse"
-
-#~ msgid "resizing"
-#~ msgstr "suuruse muutumine"
-
-#~ msgid "Size: %s MB"
-#~ msgstr "Suurus: %s MB"
-
-#~ msgid "Bad kickstart file %s (failed %s)"
-#~ msgstr "Loetamatu kickstart fail %s (%s viga)"
-
-#~ msgid "Too many packages chosen: %dMB doesn't fit in %dMB"
-#~ msgstr "Valitud on liiga palju pakette: %dMB ei mahu %dMB-le"
-
-#~ msgid "Going to install %d MB. You can choose to install more programs"
-#~ msgstr "Paigalduseks valitud %d MB. Vite veel programme juurde valida"
-
-#~ msgid "Enter a floppy (all data will be lost)"
-#~ msgstr "Pange thi flopi masinasse (andmed sellel hvivad)"
-
-#~ msgid "Password:"
-#~ msgstr "Salasna:"
-
-#~ msgid "User name:"
-#~ msgstr "Kasutajatunnus:"
-
-#~ msgid ""
-#~ "Failed to create an HTP boot floppy.\n"
-#~ "You may have to restart installation and give ``%s'' at the prompt"
-#~ msgstr ""
-#~ "HTP alglaadimisketta loomine ebannestus.\n"
-#~ "Taasalustage installimist, andes parameetriks ``%s''"
-
-#~ msgid "It is necessary to restart installation with the new parameters"
-#~ msgstr "Peate taasalustama installimist uute parameetritega"
-
-#~ msgid "It is necessary to restart installation booting on the floppy"
-#~ msgstr "Peate taasalustama installimist, laadides flopikettalt"
-
-#~ msgid ""
-#~ "Enter a floppy to create an HTP enabled boot\n"
-#~ "(all data on floppy will be lost)"
-#~ msgstr ""
-#~ "Sisesta flopi HTP alglaadimisketta loomiseks\n"
-#~ "(kik andmed flopil hvivad)"
-
-#~ msgid "A entry %s already exists"
-#~ msgstr "Kirje %s on juba olemas"
-
-#~ msgid "Choose install or upgrade"
-#~ msgstr "Paigaldus vi uuendamine"
-
-#~ msgid "What usage do you want?"
-#~ msgstr "Mis kasutusala soovite?"
diff --git a/perl-install/share/po/eu.po b/perl-install/share/po/eu.po
deleted file mode 100644
index 44df115da..000000000
--- a/perl-install/share/po/eu.po
+++ /dev/null
@@ -1,9012 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Copyright (c) 1999 MandrakeSoft
-# Joseba Bidaurrazaga van Dierdonck <jepibi-san@ej-gv.es>, 1999-2000.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 1999-12-20 11:28+0100\n"
-"Last-Translator: Joseba Bidaurrazaga van Dierdonck <jepibi-san@ej-gv.es>\n"
-"Language-Team: Euskara <linux-eu@chanae.alphanet.ch>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Konfiguratu buru guztiak banan-banan"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Erabili Xinerama estentsioa"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Konfiguratu bakarrik \"%s\" (%s) txartela"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Buru-anitz konfigurazioa"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Zure sistemak buru anitzezko konfigurazioaz balia daiteke.\n"
-"Zer egin nahi duzu?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Grafikoen txartela"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Hautatu grafikoen txartela"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Hautatu X zerbitzaria"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X zerbitzaria"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "XFree-ren zein konfigurazio izan nahi duzu?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Zure txartelak 3D azelerazioa izan lezake, baina soilik XFree %s-z.\n"
-"XFree %s-ek zure txartela onar lezake, honek dena den, 2D-tan hobeto lan "
-"egin lezake."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Zure txartelak harware bidezko 3D azelerazioa onar lezake XFree %s-z"
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s hardwarearen 3D azelerazioaz"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Zure txartelak 3D azelerazioa izan lezake XFree %s-z.\n"
-"KASU: EXPERIMENTAZIOAN DAGOEN ONARPENA DA ETA KONPUTAGAILUA IZOZTU LEZAKE."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s harware bidezko 3D azelerazioaz; EXPERIMENTALA"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Zure txartelak harware bidezko 3D azelerazioa onar lezake baina soilik XFree "
-"%s-z.KASU: EXPERIMENTAZIOAN DAGOEN ONARPENA DA ETA KONPUTAGAILUA IZOZTU "
-"LEZAKE.\n"
-"XFree %s-ek zure txartela onar lezake, honek dena den, 2D-tan hobeto lan "
-"egin lezake."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree-ren konfigurazioa"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Hatatu zure grafikoen txartelerako memoriaren tamaina"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Hautatu zerbitzariarentzako aukerak"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Hautatu monitorea"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitorea"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Parametro kritiko dira freskatze maiztasun bertikala, pantailaren "
-"freskatzemaiztasuna\n"
-"ematen duena, eta garrantzitzuagoa daitekeen horizontal sync maiztasuna,\n"
-"eskaneatutako lerroak erakusteko maiztasuna.\n"
-"\n"
-"Monitorearen ahalmenaren gainetik dagoen sync maiztasuna gainditzen duen "
-"espezifikaziorikez ematea\n"
-"OSO GARRANTZITSUA da: monitorea kaltetudezakezu.\n"
-" Dudatan bazaude izan kontserbakorra."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Freskatze horizontalaren maiztasuna"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Freskatze bertikalaren maiztasuna"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Monitorea konfiguratu gabe"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Grafikoen txartela konfiguratu gabe oraindik"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Oraindik erresoluzioak hautatu gabe"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Konfigurazioa frogatu nahi duzu?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Kasu: txartel grafiko honen saiakerak konputagailua izoztu lezake"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Frogatu konfigurazioa"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"saia zaitez beste parametruez"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Errorea gertatu da:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "%d segundu barru irtengo naiz"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Zuzenak dira hautuak?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Errorea gertatu da, saia zaitez zenbait parametro aldatuz"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Erresoluzioa"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Hautatu erresoluzioa eta kolore sakontasuna"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Grafikoen txartela: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 zerbitzaria: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Aditu Modua"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Erakutsi dena"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Erresoluzioak"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Teklatuaren itxura: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Sagu mota: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Saguaren tresna (device): %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitorea: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Monitorearen HorizSync: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Monitorearen VertRefresh: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Grafikoen txartela: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Memoria grafikoa: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Kolore sakontasuna: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Erresoluzioa: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 zerbitzaria: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 gidaria: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "X-Windows-en konfigurazioa prestatzen"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Zer egin nahi duzu?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Aldatu monitorea"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Aldatu grafikoen txartela"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Aldatu zerbitzariaren aukerak"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Aldatu erresoluzioa"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Erakutsi informazioa"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Saia zaitez berriro"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Irten"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Aldaketak mantendu?\n"
-"Oraingo konfigurazioa:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Mesedez, log egin berriro %s-n aldaketak indarrean sartzeko"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Mesedez log out egin eta gero Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X abiatzerakoan"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Zure konputagailua abiatzerakoan X-en sartzeko egokitu dezaket.\n"
-"X-en sartu nahi al duzu abiatzerakoan?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 kolore (8 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 milaka kolore (15 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 milaka kolore (16 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 miloi kolore (24 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 biloi kolore (32 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB edo gehiago"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "VGA standarra, 640x480 60 Hz-tan"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 56 Hz-tan"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr ""
-"8514arekin bat datorrena, 1024x768 87 Hz-tan txirikordatuak (ez 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 87 Hz-tan txirikordatua, 800x600 56 Hz-tan"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Extended Super VGA, 800x600 60 Hz-tan, 640x480 72 Hz-tan"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Non-Interlaced SVGA, 1024x768 60 Hz-tan, 800x600 72 Hz-tan"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Frekuentzia handiko SVGA, 1024x768 70 Hz-tan"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "1280x1024 60 Hz-tan egin lezakeen frekuentzia anitzekoa"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "1280x1024 74 Hz-tan egin lezakeen frekuentzia anitzekoa"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "1280x1024 76 Hz-tan egin lezakeen frekuentzia anitzekoa"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "1600x1200 70 Hz-tan egin lezakeen pantaila"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "1600x1200 76 Hz-tan egin lezakeen pantaila"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Boot partizioaren lehenengo sektorea"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Diskoaren lehenengo sektorea (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILOren instalazioa"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Non instalatu nahi duzu abiarazlea?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub Instalazioa"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Abiarazlearen aukera nagusiak"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Erabiltzeko abiarazlea"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Abiarazlearen instalazioa"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Abiarzsteko unitatea"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (ez dabil BIOS zaharretan"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Trinkoa"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "trinkoa"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Bideo modua"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Imagina arrunta abiarazteko itxaron denbora"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Pasahitza"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Pasahitza (berriz)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Komando lerroaren aukerak murriztu"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "murriztu"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Abiarazte bakoitzean /tmp garbitu"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Behar izanez gero RAM tamaina zehatza(%d MB aurkituta)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Gaitu multi profilak"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Ram tamaina Mb-etan"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Aukera ``Komando lerroaren aukerak murriztu'' ezin erabili pasahitz gabe"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Mesedez saia zaitez berriro"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Pasahitza ez dator bat"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Init mezua"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Open Firmwarearen atzerapena"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Kernelaren abiaratzea denboraz landa"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "CDtik abiarazgai?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "OFz abiarazgai?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Jatorrizko SEa?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Hemen daude sarrera desberdinak.\n"
-"Zenbait gehitu edo daudenak aldatu ditzakezu."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Gehitu"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Eginda"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Aldatu"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Zelako sarrera mota gehitu nahi duzu"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Beste OS (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Beste OS (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Beste OS (windows..."
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Imagina"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Jarraitu (Append)"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Irakur-idatz"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Taula"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Unsafe"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Etiketa"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Jatorrizkoa"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd-tamaina"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "VideorikEZ"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Ezabatu sarrera"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Etiketa kentzea ez dau onartzen"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Etiketa hau dagoeneko erabilia"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Zein partizio mota?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "%s %s inteface-ak aurkituta"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Besterik daukazu?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "%s interface-rik duzu?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Ez"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Bai"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Ikus harwarearen informazioa"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "%s-ko %s txartelen driver-ak instalatzen"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(%s modulua)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Zein %s driver-an saia naiteke?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Zenbaitetan, %s driver-ak egokiro lan egiteko informazio gehigarria behar "
-"du\n"
-",naiz eta gehienetan ondo ibili hau gabe. Aukera extra hauek espezifikatuko "
-"zenuke\n"
-"edo utziko zenuke driver-ari lortzen saiatzen? Batzutan saiaketak "
-"konputagailua\n"
-"eskegi lezake, honek ez du kalterik eragin beharrik."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Autofroga"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Aukerak espezifikatu"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Orain %s moduluari bere aukerak ezarri diezaiokezu."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"%s moduluari bere aukerak ezardiezaiokezu.\n"
-"Aukeren formatua: ``izena=balioa izena2=balioa2 ...''.\n"
-"Adibidez, ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Muduluaren aukerak:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"%s moduluare kargak porrot egin du.\n"
-"Beste parametro batuzuez saiatu nahi al duzu?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s dagoeneko gehitua)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Pasahitza sinpleegia da"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Mesedez erabiltzaile izena eman"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "Erabiltzailearen izenean soilik hizki txikiak, zenbakiak, `-' eta `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Erabiltzaile izen hau dagoeneko gehituta dago"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Gehitu erabiltzailea"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Erabiltzailea sartu\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Onartu erabiltzailea"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Benetako izena"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Erabiltzailearen izena"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Maskorra"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Ikonoa"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Autologin"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Zure konputagailua abiatzerakoan erabiltzailea log on egiteko egokitu "
-"dezaket.\n"
-"Ez baduzu aukera hau erabili, etsi botoia klikatu"
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Hautatu jatorrizko erabiltzailea:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Hauta abiarazterakoan nahi duzun lehio kudeatzailea:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Ongi etorria %sra, sistema eragilearen hautatzailera!\n"
-"\n"
-"Hauta aukeren zerrendan sistema eragilea edo\n"
-"edo itxaron %d segundu jatorriz hautatutakoa abiatzeko.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Ongi etorri GRUBera, sistema eragilearen hautatzailea!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "%c eta %c tekla erabili hautatutakoa aukeratzeko"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Hautatutako OSa abiarazteko enter sakatu, 'e' editatzeko"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "abiatze aurretiko komandoak, edo 'c' komando-lerroa izateko"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Hautatutakoa abiaraziko da %d segundu barru."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "ez dago leku nahikorik /boot-en"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Idazmahaia"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Abiatze Menua"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Abiaratze konfigurazioa"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Fitxategiak"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Fitxategi/_Barria"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>B"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Fitxategi/_Ireki"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>I"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Fitxategi/_Gorde"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>G"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Fitxategi/Gorde _Horrela"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Fitxategi/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Fitxategi/_Irten"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>I"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Aukerak"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Aukerak/Saioa"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Laguntza"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Laguntza/_Zerari buruz"
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Konfiguratu"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Internet konexio banatua!\n"
-"\n"
-"%s\n"
-"\n"
-"Konfiguratun saka egokitzapenak egiteko."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Lilo/grub modua"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "NewStyle monitore-sailkatzea"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "NewStyle Monitorea"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Ohiko monitorea"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Ohiko Gtk+ Monitorea"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Aurora piztu abiaratzerakoan"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Abiarazteko modua"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "X-Windows ezarri sistema abiaratzerakoan"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Ez, autologinik ez"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Bai, autologina nahi dut horrela (erabiltzaile, idazmahai)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Sistema modua"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Jatorrizkoa"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "Ados"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Etsi"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "ezin ireki /etc/inittab hau irakurtzeko: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "ezin ireki etc/sysconfig/autologin irakurtzeko: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "LILOren instalazioak porrot egin du. Errore hau izan da:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Eratu"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Desmuntatu"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Ezabatu"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatua"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Berregokitu"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Mota"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Muntatze puntua"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Idatzi /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Zoaz aditu modura"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Zoaz ohiko modura"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Fitxategitik berreskuratu"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Fitxategian gorde"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Gidaria"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Floppy-tik berreskuratu"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Floppy-an gorde"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Garbitu dena"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Dena formateatu"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Berez egokitu"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Partizio primario guztiak erabiltzen"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Ezin dut partizio gehiagorik gehitu"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Partizio gehiago edukitzeko, mesedez ezabatu bat hedatutako partizioa eratu "
-"ahalizateko"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Ez dago lekurik berezko egokitzapenerako"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Ez egin"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Partizio taula idatzi"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Gehiago"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Hutsik"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Bestelakoa"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Fitxategi-sistemen motak:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Ezaugarriak"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Fat partizio handi bakarra duzu\n"
-"(MicroSoft Dos/Windows-k erabilia gehienetan).\n"
-"Beharrezko zenuke partizio hau egokitzea\n"
-"(gainean klikatu, eta gero \"Egokitu\"-n)"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Mesedez, aurretik datuen backup-a egin"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Arretaz irakur"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"aboot erabiliko baduza, tokia utzi (diskoaren hasierako 2048 sektore\n"
-"nahikoak dira)"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Kontuz: arrizkutsua izan daiteke."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Errorea"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Muntatze puntua: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Device-a: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS unitatearen hizkia: %s (iragarpena basterik)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Mota: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Izena: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Hasi: %s sektorea\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Tamaina: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektore"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "%d zilindrotik %d zilindrora arte\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formateatuta\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Formateatu gabe\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Muntatua\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback fitxategia(k): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Jatorrizko partizioa abiaraztua\n"
-" (MS-DOS abiarazteko, ez lilo-rako)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Maila %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Xerraren tamaina %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-diska %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Loopback fitxategiaren izena: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Partizio baten gainean klikatu"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Tamaina: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometria: %s zilindro, %s buru, %s sektore\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-diska %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Partizio taularen mota: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "on bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Muntatu"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktibatu"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Gehitu RAIDi"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "RAIDtik ken"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Aldatu RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Gehitu LVMi"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "LVMtik ken"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Loopback erabili"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Hautatu akzioa"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Parkatu baina ezin dut onartu /boot unitatean hain urruti ( zilindroa > "
-"1024).\n"
-"LILO erabiliz gero ez du funtzionatuko, edo LILO erabili ezean ez duzu /boot-"
-"en beharrik"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Root (/)modura hautatutako partizioa disko zurrunaren 1024. zilindrotik "
-"goradago\n"
-"eta ez duzu /boot partiziorik.\n"
-"LILO abiarazle modura erabiliko baduzu, /boot partizioa gehitu"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"RAID partizioa zuztar(root) bezala hautatu duzu (/).\n"
-"Abiarazleak ezin du hau kudeatu /boot partiziorik gabe.\n"
-"Beraz habil kontuz eta gehitu /boot partizioa"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Bestela ``%s'' erabili"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Lehenengo ``Unmount'' erabili"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"%s partizio mota aldatzerakoan, partizio honetako datu guztiak galduko dira"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Jarraitu dena den?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Irten gorde gabe"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Irten partizio taula idatzi gabe?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Aldatu partizio mota"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Zein fitxategi sistema nahi duzu?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Ez erabili ReiserFS 32MB baino gutxiagoko partizioak eratzeko"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "%s loopback fitxategia non eraiki nahi duzu?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "%s tresna non instalatu nahi duzu?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Ezin kendu muntai puntua hemendik, loop back-ek erabiltzen du.\n"
-"Aurretik loopback kendu"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"%s partizioa formateatuz gero, partizio honetako datu guztiak galduko dira"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formateatzen"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "%s loopback fitxategia formateatzen"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "%s partizioa formateatzen"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Partizio guztiak formateatu ondoren,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "partizio hoietako datu guztiak galduko dira"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Mugitu"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Zein diskotara mugitu nahi duzu?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektore"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Zein sektore mugitu nahi duzu?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Mugituz"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Partizioa mugitzen..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "%s unitatearen partizio taula diskoan idatziko da!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Aldaketak indarrean jar daitezen breabiatu behar duzu ordenadorea"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "fat-aren fitxategi-sistemen loturak zenbatzen"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Egokitzen"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Ezinezko da partizio hau berregokitzea."
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Partizio honetako datu guztien backup-a beharrezkoa litzateke"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"%s partizioa egokitzerakoan, partizio honetako datu guztiak galduko dira"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Hautatu tamaina berria"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Eratu partizio berriak"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Haste sektorea: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Tamaina MBetan: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Fitxategi-sistema mota: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Hobespena: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Partizio hau ezin du loopback-ek erabili"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Loopback-en fitxategi izena: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Beste loopback batek erabilitako fitxategia, hauta besteren bat"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "%s fitxategia esistitzen da. Erabili?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Hautatu fitxategia"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Backup-aren partizio taulak ez du neurri berdina\n"
-"Jarraituko dut?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Kontuz"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Disketea sartu unitatean\n"
-"Disketeko datu guztiak galduko dira"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Partizio taula berreskuratzeko saioan"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "tresna (device)"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "maila"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "xerraren tamaina"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Hautatu esistitzen den RAIDa hona gehitzeko"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "berria"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Hautatu esistitzen den LVMa hona gehitzeko"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Medio eramangarrien automuntaia"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Partizio taula berreskuratu"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Berkargatu"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s-ren %s formateatzeak porrot egin du"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "ez dakit nola formateatu %s %s motan"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "muntaketak porrot egin du: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "%s desmuntatzen errorea: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "erraza"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "zerbitzaria"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Muntaia puntuak /-z hasi behar dira"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Jadanik esistitzen da %s muntaketa puntua duen partizioa\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Muntai zirkularrak %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Benetako fitxategi sistema behar duzu (ext2, reiserfs) muntai puntu "
-"honetarako\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "%s irekitzerakoan errorea: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Errorea gertatu da - sistemaren fitxategiak eraikitzeko unitate "
-"baliogarririkez da aurkitu. Hardwarea aztertu mesedez."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Partiziorik ez duzu!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Mesedez hauta hobestutako hizkuntza instalaziorako eta sistemaren erabilerako"
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Hautatu zureari dagokion teklatuaren itxura goiko listan"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Hauta:\n"
-"\n"
-" - Norberarena: GNU/Linux ezagutzen baduzu. Gero, makinaren erabiera "
-"nagusia hautatzeko aukera izango duzu. Beherago ikus azalpenak.\n"
-"\n"
-"\n"
-" - Aditua: GNU/Linux sakonki ezagutuz gero, eta oso instalazio berezia\n"
-"egin nahi baduzu,instalazio modu hau zuretzako da. Zure sistemaren\n"
-"erabilera honela egin beharko duzu \"Norberarena\".\n"
-" Baina mesedez, EGITEN ZABILTZANA ZERTAN DATZAN EZ BADAKIZU, EZ HAUTA "
-"AUKERA HAU!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Makinaren erabilera desberdinak hauta zenezake. Aukerak:\n"
-"\n"
-"\t* Arrunta: egunerako erabilerarako (bulego lana, irudiketa, eta abar). Ez\n"
-"\t duzu konplikaziorik edo garatzale lanerako tresnarik edukiko.\n"
-"\n"
-"\n"
-"\t* Garatzaile: sofwarearen garapenerako erabiliko baduzu makina. Orduan "
-"software\n"
-"\t bilduma osoa izango duzu konpilatu, debug eta jatorrizko\n"
-"kodearen formateaoa, edo software paketeak eratzeko.\n"
-"\n"
-"\n"
-"\t* Zerbitzari: hauta hau zure Linux-Mandrake instalazioa zerbitzari modura "
-"erabiltzeko. Hau da fitxategi zerbitzari \t (NFS edo SMB), irarkola "
-"zerbitzari (Unix edo Microsoft bezalako inpresioa), egiaztatze zerbitzari "
-"(NIS), datubase zerbitzari eta abar. \t Hemen, ez duzu gimmicks-k izango "
-"(KDE, GNOME...)."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX-ek PCI SCSI egokitzaileak bilatuko ditu. \n"
-"DrakX-ek SCSI egokitzailerik aurkitzekoatan, driver-a ezagutuz gero\n"
-"automatikoki instalatuko d(it)u.\n"
-"\n"
-"Ez baduzu SCSI egokitzailerik, ISA SCSI egokitzaile, edo \n"
-"PCI SCSI egokitzailerik galdetuko zaizu ia\n"
-"SCSI egokitzailerik baduzu zure sisteman. Ez baduzu\n"
-"'Ez' klikatu. 'Bai' klikatuz gero, driver zerrenda\n"
-"erakutziko zaizi, eta bertatik hautatu beharko duzu zure egokitzailea.\n"
-"\n"
-"\n"
-"Eskuz egokitu behar baduzu zure egokitzailea, DrakX-ek\n"
-"harren aukerak galdetuko dizu. DrakX-i frogatzeko aukera\n"
-"eman beharko diozu. Gehienetan ongi doa.\n"
-"\n"
-"Horrela ez bada, driver-aren aukerak eman beharko duzu.\n"
-"Berrikuzi Instalazio Gida, eta Windows-en arakatu informazioa\n"
-"(windows baduzu noski),\n"
-"hardwarearen dokumentaziorako, edo fabrikatzailearen webgunera\n"
-"jo (Internet baduzu)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Orain instalatu edo eguneratu nahi duzun paketa taldea\n"
-"hauta dezakezu.\n"
-"\n"
-"DrakX-ek instalaziorako tokirik baduzu begiratuko du. Ez baduzu,\n"
-"ohartuko dizu. Aurrera jarraitu nahi baduzu, hautatutakoen artean "
-"instalazioak\n"
-"garrantzi handiagoko paketeak hobestuko ditu eta leku faltan garrantzi\n"
-"gutxiagokoak bastertuko ditu.Zerrendaren behealdeko\n"
-"\"Banan banako pakete hautaketa\" erabil zenezake; kasu honetan\n"
-"1000 baino gehiagoko pakete zerrendan murgildu beharko zara..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Goiko zerrendako CD guztiak badituzu, Ados klikatu.\n"
-"Batere ez baduzu, Etsi klikatu.\n"
-"Baten bat faltatuz gero, hautatuetatik atera eta ondoren,\n"
-"Ados klikatu."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Mesedez kai zuzena hautatu. Adibidez, MS Windows-eko COM1 kaia\n"
-"ttyS0 izendatzen da GNU/Linux-en."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"markatze aukerak sar zenezake. ez badakizu\n"
-"edo ez bazaude zihur zer sartuz, informazio uzena zure Internet "
-"ornitzailearieskatu\n"
-"Ornitzailea, indarrean dagoen konexioarena."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr "Modema kanpokoa baduzu, piztu egizu DrakX-ek automatikoki ezar dezan"
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Piztu modem-a eta hauta zuzena."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Goiko informazioa ez baduzu, edo honetaz zihur ez bazaude\n"
-"eska egiozu Internet ornitzaileari. Ez baduzu DNSren informaziorik\n"
-"hori berori ere Internet ornitzaileak eman diezazuke."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Ostalari izena ezar zenezake behar izanez gero. Ez baduzu\n"
-"ezagutzen, edo ez badakizu zer sartu, Internet Zerbitzu emaleari galdeiozu."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Orain sarerako tresna egokitu zenezake:\n"
-"\n"
-" * IP helbidea: ez badakizu, sare administrariari edo Internet Zerbitzu \n"
-" emaleari galdeiozu.\n"
-" Behean \"IP Automatikoa\" hautatuko baduzu, ez duzu IPrik ezarri behar\n"
-" * Netmask: \"255.255.255.0\" ohikoena da. Ziur ez bazaude\n"
-"administratzaileari edo Internet Zerbitzu emaleari galdetu.\n"
-"\n"
-" * Automatic IP: Sareak BOOTP edo DHCP protokoloak erabiliz gero, hautatu \n"
-"aukera hau. Hautatuz gero, \"IP helbidea\"-rako ez de baliorik eman behar.\n"
-"Ziur ez bazaude, galdetu administrariari edo ISP-ari."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Orain, behar izanez gero, ostalari izena ezar zenezake.\n"
-"Ez badakizu zer jarri administrariari edo Internet Zerbitzu emaleari "
-"galdeiozu."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Orain, behar izanez gero, ostalari izena ezar zenezake.\n"
-"Ez badakizu zer jarri, hutsik laga."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Markatze opziotan sar zintezke. Sartu beharreko informazioa\n"
-"zure ISP-tik lor dezakezu."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Proxy-rik erabiliz gero, mesedez orain konfiguratu. Ez badakizu\n"
-"ISP-ari edo sareko administrariari galdetu."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Pakete kriptografikoa instalatu dezakezu zure interneteko konexioa zuzen\n"
-"badabil. Lehenengo hautatu zein mirror-etik jaitsi nahi dituzu paketeak eta "
-"gero\n"
-"instalatu beharreko paketeak hautatu.\n"
-"\n"
-"\n"
-"Mirror ete pakete kriptografikoak zure tokiko legeen arabera hautatu\n"
-"behar dituzu."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Bizitokira egokitu zenezake orain ordu eremua."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU/Linux-ek GMT edo \"Greenwich Mean Time\" erabiltzen du eta hau\n"
-"zure bizitokira egokitzen du.\n"
-"\n"
-"Konputagailuan Microsoft Windows erabiliz gero hauta \"Ez\"."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Abiatzerakoan zein zerbitzu nahi duzun hauta zenezake orain.\n"
-"\n"
-"\n"
-"Sagua item baten gainetik pasatzerakoan, globo txiki batek zerbitzuaren\n"
-"zeregina aipatuko dizu.\n"
-"\n"
-"\n"
-"Makina zerbitzari modura erabiliko baduzu, kontu handiz ibili:\n"
-"erabiliko ez dudun zerbitzuak ez abiarazi."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Bertako irarkola (konputagailuari konektatua) edo urrutikoa\n"
-"(Unix, Netware edo Microsoft Windows sareetakoa) egokitu zenezake orain."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Goiko zerrendakoetatik, irarkola hauta zenezake."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Irarkolari dagozkion aukerak hauta.\n"
-"Haren dokumentazioa aztertu, aukerak ez badituzu ezagutzen.\n"
-"\n"
-"\n"
-"Konfigurazioa saia zenezake hurrengo hurratsean, eta adatu erebehar den "
-"modura ez badabil"
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Orain zure Linux-Mandrake sistemarako pasahitza sar dezakezu.\n"
-"Pasahitza birritan tekleatu beharko duzu, bigarrenean\n"
-"lehena baieztatzeko.\n"
-"\n"
-"\n"
-"Root sistemaren administratzailea da eta sistemaren konfigurazioa\n"
-"aldatu dezakeen bakarra. Beraz, kontuz hautatu\n"
-"pasahitz hau! root kontuaren erabilpen maltzurrak\n"
-"zure sistema eta datuentzako arriskutsua izan daiteke,\n"
-"eta baita bertara konetatuta egon litezkeentzako.\n"
-"Pasahitza gutxienez 8 hizkien luzera duen hitz eta zenbaki nahastea izan "
-"beharko\n"
-"litzateke. Inoiz ez idatzi inon.\n"
-"\n"
-"\n"
-"Luzeegia edo konplikatuegia ere ez du izan behar, hau da: neke handiegirik "
-"gabe gogora dezakezuna\n"
-"behar du izan."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Sistema seguruago izan daitean, hautatu \"Fitxategi itzaldua erabili\" eta\n"
-"\"MD5 pasahitzak erabili\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Sareak NIS erabiliz gero, hautatu \"Erabil NIS\". Ez badakizu, sarearen "
-"administrariari\n"
-"galde egiozu."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Orain \"ohiko\" erabiltzaile kontua(k) egin dezakezu,\n"
-"\"pribilegiatua\" root da. Pertsona bakoitzeko\n"
-"kontu bat baino gehiago egin dezakezu, konputagailuaren erabileraren\n"
-"arabera. Kontuan izan kontu bakoitzak bere aukerak erabiliko dituela\n"
-"(entorno grafikoa, programen aukerak, etab.)\n"
-"eta berezkoa den \"home direktorioa\", non hobespenak gordeko\n"
-"diren.\n"
-"\n"
-"\n"
-"Lehenengo eta behi, zurea den kontua egizu! Nahiz eta makinaren erabiltzaile "
-"bakarraizan\n"
-", eguneroko erabileran ezin zintezke root modura konektatu: Oso a\n"
-"arriskutsua izan daitekelako. Sistema izorratudezakezu.\n"
-"\n"
-"\n"
-"Beraz, sistemara ezarritako erabiltzaile kontuaz konektatuko zara\n"
-", eta root login-a bakarrik administraziorako eta mantenurako\n"
-"erabiliko duzu."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"GNU/Linux abiarazteko beharrezkoa den informazioa\n"
-"non kokatu nahi duzun galdetuko zaizu.\n"
-"\n"
-"\n"
-"Ziur ez bazaude, hautatu \"Honen lehenengo sektorea\n"
-"unitatez (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Bestelakorik ez badakizu, ohikoena \"/dev/hda\" da\n"
-" (IDE disko nagusia) edo \"/dev/sda\" (lehen SCSI diskoa)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (the LInux LOader) eta Grub abiarazleak dira: biek\n"
-"GNU/Linux edo bestelako sistema eragileak abiarazteko gai dira.\n"
-"Normalean, bestelako sistema eragileak zuzen detektatu eta instalatzen "
-"dituzte.\n"
-"Horrela ez bada, pantaila honetan sarrera eskuz gehitu zenezake.\n"
-"Kontuz ibili eta parametro egokiak hautatu.\n"
-"\n"
-"\n"
-"Beste sistema eragile batzuetarako sarrera kendu nahiko duzu,\n"
-" orduan dagokion sarrerak ezabatu. Hau egitekotan, \n"
-"diskete abiarazlea beharko duzu, bestelako sistema eragilerik erabili nahiez "
-"gero!"
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILO eta grub-en aukera nagusiak dira:\n"
-" - Abiarazteko unitatea: boot sektorea non (e.g. disko zurruna edo\n"
-"non partizioadagoen esaten du). Bestera ez bada,\n"
-"hauta \"/dev/hda\" .\n"
-"\n"
-"\n"
-" - Atzerapena, jatorrizko imagina abiarazi aurretik: segunduen \n"
-"hamarrekotan imagina abiarazi aurretik behar den itxaron denbora.\n"
-"Erabilgarria teklatua ezagutu eta gero abiarazten diren sistemetan.\n"
-"Abiarazlea ez du itzarongo ez baduzu \"atzerapen\"-en ezer edo zero jarriz "
-"gero.\n"
-"\n"
-"\n"
-" - Video modua: Hau abiatzerakoan zein VGA testu modua hautatzeko da\n"
-"Hurrengo balioak izan dezake: \n"
-" * arrunta: hauta 80x25 testu modua.\n"
-"\n"
-" * <zenbakia>: erabili dagokion testu modua.\n"
-"\n"
-" - Garbitu \"/tmp\" abialdi bakoitzeko: \"/tmp\"en direktorio eta fitxategi "
-"guztiak\n"
-"ezabatu nahi baduzu, boot-ean gordeta dudenak, hauta auketra hau.\n"
-"\n"
-"\n"
-" - Zehaztu RAM beharrezko bada: zoritxarrez, BIOSek ez dute ematen modu "
-"standarrean RAMaz\n"
-"duten informazioa ematen. Beraz, Linux-ek akatsak egin ditzake RAMa "
-"zenbatzerakoan.\n"
-"Hala bada, duzun RAMaren tamaina hemen zehaztu zenezake. Kasu, 2-4 Mb-en "
-"gorabeherak\n"
-"normaltzat hartu behar dira."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO SPARC-en abiarazlea da: GNU/Linux eta bestelako\n"
-"sistema eragileak abiarazi dezake.\n"
-"Normalean, bestelako sistema eragileak zuzen detektatu eta instalatzen "
-"dituzte.\n"
-"Horrela ez bada, pantaila honetan sarrera eskuz gehitu zenezake.\n"
-"Kontuz ibili eta parametro egokiak hautatu.\n"
-"\n"
-"\n"
-"Beste sistema eragile batzuetarako sarrera kendu nahiko duzu,\n"
-" orduan dagokion sarrerak ezabatu. Hau egitekotan, \n"
-"diskete abiarazlea beharko duzu, bestelako sistema eragilerik erabili nahiez "
-"gero!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"SILOren aukera nagusiak dira:\n"
-" - Abiarazlearen instalazioa: Hauta GNU/Linux abiarazteko informazioa non\n"
-"ezarri nahi duzun. Egiten duzuna zehatz ez badakizu,\n"
-"hauta \"diskoaren lehen sektorea (MBR)\"\n"
-"\n"
-"\n"
-" - Atzerapena, jatorrizko imagina abiarazi aurretik: segunduen "
-"hamarrekotan\n"
-"imagina abiarazi aurretik behar den itxaron denbora.\n"
-"Erabilgarria teklatua ezagutu eta gero abiarazten diren sistemetan.\n"
-"Abiarazlea ez du itzarongo ez baduzu \"atzerapen\"-en ezer edo zero jarriz "
-"gero."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Orain X Window Sistem konfiguratu behar duzu, hau\n"
-"GNU/Linux GUIren (Graphical User Interface) muina da. Honetarako,\n"
-"monitorea eta bideo txartela konfiguratu behar dituzu. Hurrats\n"
-"gehienak automatikoak dira, beraz, zure lana hautatutakoa\n"
-"baieztatzea eta onartzearena izango da :)\n"
-"\n"
-"\n"
-"Konfigurazioa bukatzerakoan, X abiaraziko da(kontrakoa\n"
-"DrakX-i eskatzen ez badiozu) eta horrela frogatu dezakezu\n"
-"aukeren egokiera. Ez bazaude konforme atzera jo dezakezu,\n"
-"aukerak aldatu eta berriz frogatu."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"X konfigurazioan zerbait gaizki izanez gero, aukera hauek erabili\n"
-"X Window Sistema konfiguratzeko."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Login grafikoa nahi baduzu \"Bai\" hautatu. Bestela, hautatu\n"
-"\"Ez\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Zure sistema berabiaraziko da.\n"
-"\n"
-"Berabiarazi ondoren, Linux Mandrake sistema automatikoki kargatuko da.\n"
-"Bestelako sistema eragilerik erabili nahi izanez gero mesedez irakurri\n"
-"instrukzio gehigarriak."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Hautatu hizkuntza"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Hautatu instalazio mota"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Disko zurrunaren detekzioa"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Konfiguratu sagua"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Aukeratu teklatua"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Segurtasuna"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Fitxategi sistemak egokitu"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Partizioak formateatu"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Aukeratu instalatu beharreko paketeak"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Instalatu sitema"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "root-aren pasahitza ezarri"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Gehitu erabiltzailea"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Konfiguratu sare lana"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Konfiguratu zerbitzuak"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Bootdisk-a eraiki"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Instalatu bootloader-ra"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Konfiguratu X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Instalaziotik irten"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "NIS domeinurik gabe ezin erabili broadcast"
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "%s-n diskoa sartu, FAT formatuduna"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Gordetako paketeen aukera erabiltzeko,``linux defcfg=floppy'' "
-"instalazioaabiarazi"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "$f fitxategia irakurtzean errorea"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ados"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Mesedez testatu sagua"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Sagua pizteko,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "GURPILA BIRA ARAZI!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Zure konputagailuaren harwareren baten batek lanerako ``proprietary'' "
-"gidariak behar ditu.\n"
-"Horri buruzko informazioa hemen duzu: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"root partizioa behar duzu izan.\n"
-"Honetarako, partizioa eratu (edo existitzen deneko batean klikatu).\n"
-"Geru hauta ``Muntai puntua'' eta `/' ezarri"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "swap partizioa beharrezko duzu"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Ez duzu swap partiziorik\n"
-"\n"
-"Jarraitu?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Erabili toki librea"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Ez dago lekurik partizio berririk ezartzeko"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Erabili dauden partizioak"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Ez dago partizio erabilgarririk"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Loopback-erako erabili Windows partizioa"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Zein partizio erabili nahi duzu Linux4Win ezartzeko?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Hautatu tamainak"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Root partizioaren tamaina MBetan: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Swap partizzioaren tamaina MBetan: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Erabili Windows partizioako toki librea"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Zein partizio berregokitu nahi duzu?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Windows-aren fitxategi-sistemen loturak zenbatzen"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"FATaren berregokitzaileak ezin du zure partizioan eragin, \n"
-"hurrengo errorea gertatu da: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr "Zure windows partizioa oso zatikatua, mesedez ``defrag'' egin"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"KASU!\n"
-"\n"
-"DrakX-ek zure Windows partizioa egokitu behar du. Kontuz: operazio hau\n"
-"arriskutsua da. Ez baduzu oraindik egin, aurretik scandisk abiarazi (eta\n"
-"aukeran defrag) partizio honetan eta egizu backupa.\n"
-"Ziur bazaude, sakatu Ok."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Zein tamaina gorde nahi duzu windowserako?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "partizioa %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "FAT tamaina egokierak huts egin du: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Ez dao FAT partiziorik berregokitzeko edo loopback bezala erabiltzeko (edo "
-"ez da lekurik geratzen)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Ezabatu Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-"Disko zurrun bat baino gehiago duzu, zeinetan instalatu nahi duzu linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "Dauden partizio GUZTIAK eta hauetako datuak galduko dira %s-n"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Norberaren araberako partizioak"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Erabili fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"%s partizioa egin dezakezu orain\n"
-"Eginda dagoenean, ez ahaztu, gorde `w' erabiliz"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Ez duzu Windows partizioan toki libre nahikorik"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Ezin dut intalaziorako lekurik aurkitu"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "DraX-en partiziorako tresnak hurrengo soluzioak aurkitu ditu:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Partizioak huts egin du: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Sarea eraikitzen"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Sarea beheratzen"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Errorea eman da eta ezin dezaket egokiro kudeatu.\n"
-"Jarraitu zure kabuz."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "%s muntaia puntua bikoiztu"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Zenbait pakete garrantzitsu ez dira ongi instalatu.\n"
-"Cdrom tresna edo cd-a gaizki leudeke.\n"
-"Saiatu cd-a instalatutako konputagailuren batean \"rpm -qpl Mandrake/RPMS/*."
-"rpm\" erabiliaz\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Ongi etorri %s-ra"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Ez dago disketerik"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "`%s' urratsean sartzen\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Instalatu nahi duzunaren tamaina hautatu"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Tamaina guztira: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Bertsioa: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Tamaina: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Instalatu nahi dituzun paketeak hautatu"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Instalatu"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Instalatzen"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Mesedez itxaron, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Falta den denbora "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Denbora guztira"
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Instalazioa prestatzen"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "%s paketea instalatzen"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Jarraitu dena den?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Paketeak antolatzerakoan errorea izan da:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "X11-rako dagoen konfigurazioa erabili?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Zure sistemak ahalmen gutxi du. Linux-Mandrakeren instalazioak arazoak eman\n"
-" ditzazke. Horrela bada, Testu bidezko instalazioe egin zenezake. Hartarako, "
-"sakatu,\n"
-"`F1' CDROMa abiatzerakoan, eta gero sartu `text'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Mesedez, hurrengoetatik instalazio mota hautatu"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Hautatutako taldeen tamaina gutxigorabehera %d MBekoa da.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Tamaina hau baino txikiagoa nahi baduzu,\n"
-"hauta instalatu nahi duzun paketeen ehunekoa.\n"
-"100%%ekoak pakete guztiak instalatuko du."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Zure diskoan, paketeen %d%%rako tokia duzu.\n"
-"\n"
-"Gutxiago nahi baduzu,\n"
-"hauta instalatu nahi duzun paketeen ehunekoa.\n"
-"Ehuneko txikiak pakete nagusiak instalatuko ditu;\n"
-"%d%% ehunekoak ahal bezain besteko paketeak instalatuko ditu."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Hurrengo hurratsean zehatzago hauta dezakezu"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Instalatu beharreko paketeen ehunekoa"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Pakete Taldearen aukeraketa"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Banan-banako pakete hautapena"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Zabaldu adarrak"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Batu adarrak"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Toggle between flat and group sorted"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Pakete okerra"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Izena: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Garrantzia: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Tamaina guztira: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr "Ez dago lekurik pakete honetarako"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Hurrengo paketeak instalatuko dira"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Hurrengo paketeak ezabatuko dira"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Ezin hauta/kendu pakete hau"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Ezinbesteko paketea da, ezin zaio huatapena kendu"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Ezin duzu hautatutako hau kendu. Dagoeneko instalatua"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Pakete hau eguneratu behar da\n"
-"Aukera kendu nahi?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Ezin duzu hautatutakoa kendu. Eguneratu behar da"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Neurtzen"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Instalazioa prestatzen, itzaron mesedez"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d pakete"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Onartu"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Ez onartu"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Aldatu Cd-Rom-a!\n"
-"\n"
-"Mesedez, \"%s\" izena duen Cd-Rom-a sartu unitatean eta gero Ok sakaegizu.\n"
-"Ez baldin baduzu Etsi sakatu Cd-Rom-etiko instalazioa ezeztatzeko."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Paketeak instalatzerakoan errorea izan da:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Errorea gertatu da"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Mesedez, hauta hizkuntza."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-"Instalazioaren ondoren erabilgarriak izan daitezkeen beste hizkuntzak hauta "
-"dezakezu"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Denak"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Teklatua"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Mesedez, hauta zure teklatuaren itxura."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Instalazio mota"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Zein instalazio mota nahi duzu?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Instalatu/Eguneratu"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Instalazioa edo eguneraketa da?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Gomendatua"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Aditua"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Eguneratu"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Mesedez, hauta da zure sagu mota."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Saguaren kaia(port)"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Mesedez, hauta zure sagua serieko zein kaietara konektatua dagoen."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "PCMCIA txartelak konfiguratzen..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "IDE Konfiguratzen"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "ez dago partizio erabilgarririk"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Muntai puntuak hautatu"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Partizio taula ezin irakurri, zeharo galduta:(\n"
-"Partizio txarrak hustutzen saiatuko naiz eta DATU GUZTIAK galduko dira\n"
-"(Akatsa: %s)\n"
-"\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake-k ezin izan du partizio taula irakurrri.\n"
-"Zure kontura jarraitu!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Root partizioa"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Zure sisteman zein da root (/) partizioa?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Aldaketak indarrean jar daitezen breabiatu behar duzu ordenadorea"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Hautatu formateatu nahi duzun partizioak"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Bloke txarrak txekeatu?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Partizioak formateatzen"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "%s fitxategia eratzen eta formateatzen"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Instalazioa burutzeko swap nahikorik ez, mesedez gehitu pixka bat"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Erabilgarri dauden paketeak bilatzen"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Eguneratu beharreko paketeak bilatzen"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Zure sistemak ez du leku nahikorik instalaziorako edo eguneratzerako (%d > %"
-"d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Osoa (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimoa (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Gomendatua (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Norberarena"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Beheko zerrendako CD guztiak badituzu, Ados klikatu.\n"
-"Ez badituzu, Etsi klikatu.\n"
-"Ez duzuna ezaba dezakezu, eta gero Ados klikatu."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom etiketan %s"
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"%s paketea instalatzen\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Postinstalazioaren konfigurazioa"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Enkriptaziorako softwarea lor dezakezu.\n"
-"\n"
-"KASU:\n"
-"\n"
-"Soft hau erabiltzeko eskakizun desberdinak indarrean daudenez,legedi\n"
-"ezberdinak, beseroak edo/eta sofwarearen erabiltzaileakbere jurizdikzioko\n"
-"legedian oinarritutako erabilpenaz jabetubehar\n"
-"da, eta horren arabera erabili.\n"
-"\n"
-"Honezgain bezeroak edo/eta erabiltzaileak bere jurizdikzioaren legeaez "
-"urratzearekin\n"
-"kontua izan behar du. Lege hauek urratuz gero\n"
-"larriki zigortua izan\n"
-"zaitezke.\n"
-"\n"
-"Inolaz ere, Mandrakesoft ez eta bere langileak eta/edo hornitzaileak, "
-"ezdute\n"
-"inolako erantzunkizunik onartuko edozen dela kaltea (mozkinen galera,\n"
-"enpresaren etetea,datu komertzialen galeraeta\n"
-"bestelako diru galerak, eta egon daitezkeen indemnizazio ordain enerantzuna "
-"epaiek\n"
-"erabakiz gero) software hau eduki edo erabiltzeagaitik\n"
-"edo soilik kargatzeagatik. Bezeroak edo/eta langileak akordio\n"
-"honen berri izan dutela onartzen dute.\n"
-"\n"
-"\n"
-"Akordio honetaz galderarik izanez gero jo honengana:\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Hautatu paketeak lortzeko erabiliko duzun mirror-a"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Mirror-arekin kontaktazen eskuragai dauden pakete zerrenda lortzeko"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Mesedea hauta instalatu nahi dituzun paketeak."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Zein da zure ordu eremua?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Zure hardwareko erlojua GTMari egokitua dago?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Urrutiko CUPS zerbitzaria"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Irarkolarik ez"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Sagua"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Ordu-eremua"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Irarkola"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "ISDAN txarela"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Soinu txartela"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TB txartela"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Zein inprimaketa sistema erabili nahi duzu?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Pasahitzik ez"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "Pasahitza sinpleegia da (gutxienez %d karaktere izan behar ditu)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "NIS erabili"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "orri horiak"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "NIS egiaztapena"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS domeinua"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS Zerbitzaria:"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Norberaren disko abiarazleaz (bootdisk) Linux-an sar zintezke abiarazle\n"
-"arrunta erabili ordez. Hau batez ere balio du zure sisteman SILOrik ezarri\n"
-"nahi ez duzunerako edo beste sistema batek SILOa ezabatzen duenerako edo "
-"zure\n"
-"hardware konfigurazioarekin SILO bat ez daterrenerako. Disko abiarazleak "
-"ere\n"
-"Mandrakeren erreskate imaginaren ordezkoarena egin lezake, eta horrela "
-"sistema\n"
-"porrotetatik berreskura dezake. Zure sistemarako disko abiarazlerik egin "
-"nahi baduzu \"Ados\" klikatu."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Lehenengo diskete unitatea"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Bigarren diskete unitatea"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Ahaztu"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Norberaren disko abiarazleaz (bootdisk) Linux-an sar zintezke abiarazle\n"
-"arrunta erabili ordez. Hau batez ere balio du zure sisteman LILOrik ezarri\n"
-"nahi ez duzunerako edo beste sistema batek LILOa (edo grub) ezabatzen "
-"duenerako edo zure\n"
-"hardware konfigurazioarekin LILO bat ez daterrenerako. Disko abiarazleak "
-"ere\n"
-"Mandrakeren erreskate imaginaren ordezkoarena egin lezake, eta horrela "
-"sistema\n"
-"porrotetatik berreskura dezake. Zure sistemarako disko abiarazlerik egin "
-"nahi duzu?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Parkatu, ez dago disko unitate erabilgarririk"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Hautatu disko abiarazlea egiteko erabiliko den unitatea"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "%s-n diskoa sartu"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Disko abiarazlea eraikitzen"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Abiarazlea prestatzen"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "aboot erabili nahi duzu?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"aboot instalatzerakoan errorea, \n"
-"indarrez ezarri instalazioa nahiz eta lehen partizioa urratzeko arriskua "
-"egon?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "abiarazlearen instalazioak porrot egin du. Errore hau izan da:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Gutxi"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Ertaina"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Handia"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Hautatu segurtasun neurria"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "Linuxaren replikazioarako auto install floppya egin nahi duzu?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "%s-n disko hutsa sartu"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Berez instalatzeko disketea prestatzen"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Zenbait hurrats ez dira burutu.\n"
-"\n"
-"Benetan irten nahi duzu?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Zorionak, instalazioa osotu duzu.\n"
-"Abiarazlea (boot media) kendu eta return sakatu berrabiatzeko.\n"
-"\n"
-"Linux-Mandrake honentzako beharrezko litzatezken konpoketetaz jabetzeko,\n"
-"http://www.linux-mandrake.com/-n dauden Erratak begiratu.\n"
-"\n"
-"Systemaren post instalaziozko konfiguraziorako beharrezkoa den informazioa\n"
-"Linux-Mandrake Erabiltzailearen Gida Ofizialean dagoen instalazio kapitulura "
-"jo."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Berez instalatzeko disketea prestatu"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Nahi izanez gero autoinstall guztiz automatikoa izan daiteke.\n"
-"Horrela izatekotan disko zurruna bere gain hartudo du!!\n"
-"(beste kutxa bateko instalazioaz ari gara).\n"
-"\n"
-"Instalazioa berriz abiariazi nahi zenezake.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automatikoa"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Berabiatu"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Pakete hautapena gorde"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux-Mandrake-ren %s instalazioa"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> elementuen artean | <Space> hautatzeko | <F12> hurrengo "
-"pantaila "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "kdesu galduta"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Aurreratua"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Mesedez itxaron"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Anbiguitatea (%s), zehatzago izan\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Aukera okerra, saia zaitez berriro\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (jatorrizkoa %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Zure aukera? (jatorrizkoa %s"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Zure aukera? (jatorrizko % sar `none' ezer denean"
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Txekoa (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Germaniarra"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Hegoko Euskalduna edo Espaniarra"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finlandarra"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Iparreko Euskalduna edo Frantziarra"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norbegiarra"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polonesa"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Errusiarra"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Erresuma Batukoa"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Estatu Batuetakoa"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armeniarra (zaharra)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armeniarra (teklatuzkoa)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armeniarra (fonetikoa)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaidjan-era (latinoa)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbaidjan-era (zirilikoa)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgikarra"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgariarra"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brazildarra"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Bielorrusiarra"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Suitzarra (Germaniarra)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Suitzarra (Frantseza)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Txekoa (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Alemana (alferrikako teklarik ez)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Daniarra"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norbegiarra)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estoniarra"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgiarra (\"Errusiarra\")"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgiarra (\"Latindarra\")"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "grekoa"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hungariarra"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroata"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israeldarra"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israeldarra (fonetikoa)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iraniarra"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islandiarra"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italiarra"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japoniarra 106 tekla"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Korearra"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Amerika latindarra"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Holandarra"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lituaniako AZERTY (zaharra)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lituaniako AZERTY (berria)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lituaniako \"lerro zenbakia\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lituaniako \"fonetikoa\"QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Poloniarra (QWERTY)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Poloniarra (QWERTZ)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugaldarra"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanadakoa (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Errusiarra (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Suediarra"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Eslobeniarra"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Eslobakiarra (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Eslobakiarra (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Tailandarra"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turkiarra (ohiko \"F\" modeloa"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turkiarra (modernoa \"Q\" modeloa"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukraniarra"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Estatu Batuetakoa (nazioartekoa)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnameko \"lerro zenbakia\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Iugoslabiarra (latinoa/kyrilikoa)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Lehenengo bolumen logikoak ezabatu\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - Sagua"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standard"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Ohiko sagua, PS2 pilotaduna"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "botoi 1"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Generikoa"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Pilotatxoa"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "seriekoa"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Ohiko sagua, 2 botoiduna"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Ohiko sagua, 3 botoiduna"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Segidakoa"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (serial, zaharra C7 motakoa)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "bus sagua"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 botoi"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 botoi"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "batez"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Sagurik ez"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Finlandiarra"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Hurrengoa ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Aurrekoa"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Zuzena da?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Interneten konfigurazioa"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Internetera konektatze saiorik egin nahi orain?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Konexioa frogatzen..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Internetera konektatuta zaude."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Internetera konektatu ezinik.\n"
-"Egokitu konexioa."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Sare Konfigurazioa"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN Konfigurazioa"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Ornitzailea hautatu.\n"
-"Zerrendan ezbalego, hauta Unlisted"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Konexioaren Konfigurazioa"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Mesedez beheko eremua bete edo berrikusi"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Txartelaren IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Txartelaren memoria (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Txartelaren IO"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Txartelaren IO_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Txartelaren IO_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Zure telefono zenbakia"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Ornitzailearen izena (adb: ornitzaile.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Ornitzailearen telefono zenbakia"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Ornitzailearen dns 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Ornitzailearen dns 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Markatze modua"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Kontuaren login-a (erabiltzailearen izena)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Kontuaren Pasahitza"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Munduko beste guztia"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Eropatik at \n"
-" ez D-Channel-ik (leased lines)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Zein protokolo erabili nahi duzu?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Zein da zure txartel mota?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Ez dakit"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"ISA txartel baduzu, hurrengo pantailan agertzen diren balioak egokiak izan "
-"beharko liratekez.\n"
-"\n"
-"PCMCIA txartela baduzu, txartelaren irq eta io-a jakin behar duzu.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Eten"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Jarraitu"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Zein da zure ISDN txartela?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"ISDN PCI txartela aurkitu dut, baina ez dakit zein motakoa. Mesedez hauta "
-"PCI txartel mota hurrengo pantailan."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Ez dut ISDN PCI txartelik aurkitu. Mesedez hauta hurrengo pantailakoren bat."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Ez duzu Ethernet egokitzailerik zure sisteman.Ezin dut konexioa egokitu."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Hautatu sareko interfacea"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr "Mesedez hauta interneterako erabili nahi duzun sare-egokitzailea."
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Sarearen interfazea"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Sarerako tresna berabiaraziko dut:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL konfigurazioa"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Abiatzerakoan zure konexioa abiarazi nahi duzu?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Mesedez hauta serieko zein kaira dago zure modema konektatua."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Markatze aukerak"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Konexioaren izena"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefono zenbakia"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Login ID"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Egiaztapena"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Scipt-ean oinarritua"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminalean oinarritua"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Domeinuaren izena"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Lehenengo DNS zerbitzaria (aukerakoa)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Bigarren DNS zerbitzaria (aukerakoa)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr "$netc->{NET_DEVICE} abiaraziko dut. Ados?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Deskonektatu edo konexioa berkonfiguratu zenzake."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Internet konexioa berregokitu zenezake."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Interneten zaude."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Internetera konektatu edo konexioa berregokitu zenezake."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Internetera konektatu gabe zabiltza."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Internetera konektatu"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Irteneteko konexioa eten"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Konfiguratu sare konexioa (Bertoko sarea edo Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Internet konexioa & konfigurazioa"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Sare Konfiguraziorako Aztia"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Kanpoko ISDN modema"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Barneko ISDAN txarela"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Zure ISDN konexioa zein motatakoa da?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Internetera konektatu"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Gehienetan adsl konektatzeko pppoe da.\n"
-"Zenbaitzuk pptp erabiltzen dute, eta gutxi batzuk dhcp.\n"
-"Ez badakizu, hauta 'pppoe erabili'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "dhcp erabili"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "pppoe erabili"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "pptp erabili"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Zure %s sare tresna berrabiaraziko dut. Ados?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Zein dhcp bezero erabili nahi duzu?\n"
-"Jatorrizkoa dhcpcd da"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Sare Konfigurazioa"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Sarea berrabiarazi nahi duzu?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"Arazoa sarea abiaraztean: \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Sare instalazioa egiten ari zarenez, zure sarea dagoeneko konfiguraturik "
-"da.\n"
-"OK sakatu konfigurazioa mantentzeko, edo etsi Internet eta sarerako konexioa "
-"ezagutarazteko.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Ongi etorri sare konfiguraziorako aztira\n"
-"\n"
-"Zure Internet/Sare lotura konfiguratzen ari zara.\n"
-"Autodetekziorik erabili nahi ez baduzu, hautua ezaba egizu.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Hautatu konfiguratu beharreko profila"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Erabili autodetekzioa"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Unitateak ezabatzen..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Modem konexio arrunta"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "%s-n kaia kausitua"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN konexioa"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "kausitua %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL (edo ADSL) konexioa"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "kausitua: %s interfazea"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Kable konexioa"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "LAN konexioa"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "ethernet txartela(k) kausituak"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Zelan nahi duzu interneten sartu?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Zorionak. interneten zaude.\n"
-"\n"
-"Konfigurazioa zure sisteman egokituko da."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr "Ondoren, X berrabiarazi, problemarik egon ez daitean."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "ez da sare txartelik aurkitu"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Sarea konfiguratzen"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Ostalariaren izena sartu mesedez.\n"
-"Zenbait DHCP zerbitzariek ostalariaren izena behar dute.\n"
-"Ostalariaren izena guztiz osatutakoa behar du izan,\n"
-"hnakoa bezala ``nirekutxa.niregela.nirelantegia.com''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Ostalariaren izena"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"KASU: Tresna hau aurretik Interneten erabiltzeko egokita duzu.\n"
-"OK sakatu tresna dagoen moduan mantentzeko.\n"
-"Aldaketak eginez gero konfigurazioa aldatuko da."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Makina honetarako IP konfigurazioa ezarri mesedez.\n"
-"Item bakoitze zenbaki eta puntuz sartu behar da IPan bezala\n"
-"(adibidez, 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "% sarerako tresna konfiguratzen"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP helbidea"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Maskara (Netmask)"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "IP automatikoa"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP helbidea hurrengo formatuan 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Ostalariaren izena sartu mesedez.\n"
-"Zure ostalariaren izena guztiz gaitua behar du izan,\n"
-"honakoa bezala ``nirekutxa.niregela.nirelantegia.com''.\n"
-"Atariaren (gateway) IP helbidea sar dezakezu horrelakorik baduzu"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS zerbitzaria"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Ataria (gateway)"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Atariko tresna (gateway device)"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Proxien konfigurazioa"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP proxy"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Proxy-a honelakoa http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Proxy-a honelakoa ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Plataforma honek ez du onartzen hedatutako(extended) partiziorik"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Partizio taulan erabil ez dezakedan zuloa duzu.\n"
-"Soluzio bakarra da lehen mailako partizioak mugitzea eta zuloa hedatutako"
-"(extended) partizioen parean uztea"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Errorea %s fitxategia irakurtzerakoan"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "%s fitxategitik berreskuratzen: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Backup fitxategi kaxkarra"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "%s fitxategia idazterakoan errorea"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "beharrezko"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "garrantzitzu"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "oso ederra"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "ederra"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "litekeena"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Bertoko irarkola"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Urrutiko irarkola"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Urrutiko lpd zerbitzaria"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Sareko irarkola (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Irarkolaren Tresna URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Kaiak saiatzen"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Irarkola, \"%s\" modelokoa, hurrengo tokian aurkitua:"
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Bertoko Irarkolaren Tresna"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Zein tresnetara konektatzen da zure irarkola \n"
-"(kasu! /dev/lp0 eta LPT1 gauza bera dira:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Irarkolaren Tresna"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Urrutiko lpd Irarkolaren Aukerak"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Urritiko lpt irarkola isatsa erabiltzeko, irarkola zerbitzariaren ostalari "
-"izena\n"
-"eta isatsaren izena eman behar duzu.\n"
-"Lanak bertatik inprimatu daitezen."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Urrutiko ostalari izena"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Urrutiko isatsa"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) Irarkolaren Aukerak"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"SMB irarkola batean inprimatzekotan SMB ostalari izena\n"
-"eman behar duzu (Kasu! TCP/IP ostalari izenaren ezberdina izan daiteke!) \n"
-"eta agian inprimatze zerbitzariaren IP helbidea, honezgain erabili nahi "
-"duzun\n"
-"irarkolaren banatze izena, erabiltzailearen izena,\n"
-"pasahitza eta lantaldearen informazioa."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB zerbitzariaren ostalaria"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "SMB zerbitzariaren IP"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Banatze izena"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Lantaldea"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "NetWare Irarkolen Aukerak"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"NetWare irarkola batean inprimatzeko, honako datu hauek behar dituzu:\n"
-"NetWare inprimatze zerbitzariaren izena (Kasu! TCI/IParen bestelakoa izan "
-"daiteke!)\n"
-", erabili nahi duzun irarkolaren izena eta beharrezko daitezken\n"
-"erabiltzaile izena eta pasahitza."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Inprimatze zerbitzaria"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Inprimatze isatsaren izena"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Socket-eko irarkolaren aukerak"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Socket irarkolan inprimitzeko, irarkolaren ostalari izena\n"
-"eta aukeran, kaiaren zenbakia."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Irarkolaren ostalari izena"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Kaia"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Zuzenean URI eman dezakezu, CUPS duen irarkola erabiltzeko."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Zein da zure irarkola mota?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Inprimaketaren testa egin nahi duzu?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Test orria(k) inprimatzen ..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Inprimatze deabrura bialdu da/dira test orria/k.\n"
-"Irarkola lanean hasteko denboratxoa behar lezake.\n"
-"Inprimatze egoera:\n"
-"%s\n"
-"\n"
-"Egokiro dabil?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Inprimatze deabrura bialdu da/dira test orria/k.\n"
-"Irarkola lanean hasteko denboratxoa behar lezake.\n"
-"Egokiro dabil?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Bai, ASCII orria inprimatu test modura"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Bai, PostScript orria inprimatu test modura"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Bai, orri biak inprimatu"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Konfiguratu irarkola"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Irarkolaren aukerak"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Paperaren tamaina"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Lana bukatzerakoan papera kanporatu?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Uniprint driver-aren aukerak"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Kolore sakontzsunaren aukerak"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Testua PostScript bezala inprimatu?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Mailada-hurrats testu finkoa?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Orrialdeen kopurua, irtendako orrialdeen arabera"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Eskubi/Ezker marginak puntuetan (erpuruaren 1/72)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Goi/Beheko marginak puntutan (erpuruaren 1/72)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "GostScript aukera estrak"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Testu aukera estrak"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Orriak atzetik aurrerako ordenean"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Irarkolarik konfiguratu nahi duzu?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Hemen daude hurrengo irarkola isatsak.\n"
-"Zenbait gehitu edo daudenak aldatu dezakezu."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS abiarazten"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "CUPSen gidari databasea irakurtzen..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Irarkolaren konexioa hautatu"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Zelan dago irarkola konektatua?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Irarkolaren urrutiko konexioa hautatu"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Urrutiko CUPS zerbitzariaz, ez duzu hemen inolako irarkola konfiguraziorik\n"
-"egin behar; irarkolak automatikoki detektatuko dira.\n"
-"Dudan bazaude, hauta \"Urrutiko CUPS zerbitzaria\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Urrutiko CUPS zerbitzariaz, ez duzu hemen inolako irarkola konfiguraziorik\n"
-"egin behar; irarkolak automatikoki detektatuko dira.\n"
-"Bestelako zerbitzarikik baduzu beste sare batetan, CUPS zerbitzariaren\n"
-"IP helbidea eman beharko duzu, eta aukeran, kai zenbakia."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "CUPS zerbitzariaren IP"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Kai zenbakia, zenbaki behar du izan."
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Kendu isatsa"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Irarkola oro izena behar du( lp adibidez).\n"
-"Betelako parametroak, kokapena, deskripzioa eman daitezke.\n"
-"Zein izen du eta nola dago konektatua irarkola?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Irarkolaren izena"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Deskripzioa"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Kokapena"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Irarkolen isats (inprimaketa lanak bideratzen diren tokia) oro izena\n"
-"(maiz lp) eta honeri dagokion metaketa direktorioa behar du. Zein\n"
-"izen eta direktorio erabili behar dira isats honetarako?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Isatsaren izena"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Metaketa direktorioa"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Irarkolaren konexioa"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Formateatutako RAID md%d-i ezin partiziorik gehitu"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Fitxategia ezin idatz: $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid-ek huts egin du"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid-ek huts egin du (agian raidtools-ak galdu egin dira?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Ez dago partizio nahikorik %d RAID mailarako\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, aldiroko komando programatzailea"
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd bateriaren egoera aztertzeko da eta syslog-en bitartez lortzeko.\n"
-"Bateria gutxi dagoenean makina itzaltzeko erabil daiteke ere."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"atindarrean dagoenean at komandoan esan bezala, komandoak abiarazten ditu,\n"
-"eta batch komandoak abiarazten ditu karga gutxi dagoenean."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron, erabiltzaileak hautatutako programak, finkatutako orduan abiarazten "
-"duen \n"
-"UNIX programa standarra da. vixie cron ezaugarriak gehitzen dituoinarriko\n"
-"UNIX cron-era, segurtasun hobea eta konfigurazio tresna ahalmentsuak."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM-k sagua gehitzen du testuan oinarritutako Linux aplikazioae, bide\n"
-"Midnight Commander. Honezgain saguan oinarritutako konsola eta ebaki-eta-"
-"itsatsi operazioak,\n"
-"eta konsolako pop-up menuentzako soportea ematen du."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache World Wide Web zerbitzaria da. HTML eta CGI fitxategiak "
-"zerbitzatzeko\n"
-"erabilgarri."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Internet superzerbitzariaren deabrua (inetd deitua) behar izanez gero\n"
-"bestelako internet zerbitzuak abiaraz lezake. Zerbitzuak "
-"abiaratzearenerantzule\n"
-"hoien artean telnet, ftp, rsh, eta rlogin. inetd itzaltzeakbere "
-"erantzunkizun\n"
-"diren zerbitzu guztiak etetzen ditu."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Pakete hau teklatuaren mapa kargatzen du \n"
-"/etc/sysconfig/keyboard helbidean azaltzen den arabera. kbdconfig utilitatea "
-"erabiliaz hauta genezake.\n"
-"Makina gehienentzako ezinbestekoa da."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd irarkolaren deabrua da, beharrezko lpr-ek egokiro lan egin dezan. "
-"Irarkolara\n"
-"doazen lanak kudeatzen duen zerbitzaria da."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) Domain Name Server-a (DNS) da, honek ostalarien izenak\n"
-"IP helbidetan bihurtzen ditu."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Network File System-ak (NFS) muntatu eta desmontatzen ditu, SMB (Lan\n"
-"Manager/Windows), eta NCP (NetWare) muntai puntuak."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Abiaratzekoan hasteko dauden sare interfazeak aktibatu/desaktibatu\n"
-"egiten ditu."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS, TCP/IP sareetan fitxategiak banatzeko protokoloa da.\n"
-"Zerbitzu honek, NFS zerbitzariaren funtzioa ematen du,\n"
-"/etc/exports fitxategiak konfiguratua."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS, TCP/IP sareetan fitxategiak banatzeko protokoloa da.\n"
-"Zerbitzu honek, NFS fitxategi-giltza funtzioa ematen du."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA soportea, ethernet eta modemak erabiltzeko izan ohi\n"
-"da. Ez da hasiko ez badago konfiguratua, beraz gomendagarria da\n"
-"beharrezko ez duten maniketan instalatzea."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Portmapper-ek RPC konekzioak kudeatzen ditu, NFS eta NIS protokoloak\n"
-"erabiltzen dutena. Portmap zerbitzaria erabili beharda\n"
-"RPC mekanismoa erabiltzen duten zerbitzarietan."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix Mail Transport Agentea da, makinen arteko postari\n"
-"lana egiten duen porgrama da."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Sistemaren entropia putzua gorde eta berreaikitzen du, kalitatezko zorizko "
-"zenbakien\n"
-"sorrerarako."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"Routed deabruak IP router-aren IP taula eguneratzen du\n"
-"RIP protokoloa erabiliaz. RIP sare txikietan erabili ohi da, sare "
-"handientzako\n"
-"routing protokolo konplexuagoak behar dira."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Rstat protokoloak sareko edozein makinaren\n"
-"funtzionamendua neur lezake."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Rusers protokoloak sareko edozein makina darabilen\n"
-"erabiltzaileak identifikatu lezake."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Rwho protokoloak kanpoko erabiltzaileei, rwho deabrua erabiltzen dutenen\n"
-"zerrenda lortzen du (finger-en antzekoa)."
-
-#: ../../services.pm_.c:85
-#, fuzzy
-msgid "Launch the sound system on your machine"
-msgstr "X-Windows ezarri sistema abiaratzerakoan"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog-a deabruek erabiltzen dute sistemen log fitxategietan\n"
-"log mezuak uzteko. Komenigarria da beti indarrean izatea."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-"X Font Zerbitzaria piztu eta itzali egiten du, pizterakoan eta itzaltzerakoan"
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Hautatu zein zerbitzu hasiko den automatikoki abiatzerakoan"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "abian"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "etanda"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr ""
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Partizio taula ezin irakurri, zeharo galduta:(\n"
-"Partizio txarrak hustutzen saiatuko naiz"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Internet konexio banatua"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Internet konexioare banaketa gaitua"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Internet konexiaren banaketaren egokierak eginda.\n"
-"Erabilgarri dago.\n"
-"\n"
-"Zer egin nahi duzu?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "ezgaitu"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "etsi"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "berregokitu"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Zerbitzariak ezereztatzen..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Internet konexioaren banaketa ezgaitua."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Internet konexioaren banaketa ezgaitua"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Internet konexiaren banaketaren egokierak eginda.\n"
-"Orain ez dabil.\n"
-"\n"
-"Zer egin nahi duzu?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "gaitu"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Zerbitzariak gaitzen..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Internet konexioaren banaketa gaitua."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Config fitxategia ezin ulertu."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Internet konexioa banatzekotan zara.\n"
-"Konputagailuak Internet konexioa banatu dezake, horrela beste "
-"batzuekkonputagailu honen konexioa erabil dezakete.\n"
-"\n"
-"Oharra: Sare Egokitzaile berezia beharko duzu bertako sarea eraikitzeko."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Interface %s (using module %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Interface %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Ez duzu sare-egokitzailerik zure sisteman!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Ez duzu konfiguratutako Ethernet egokitzailerik zure sisteman. Mesedez "
-"harwarearen konfigurazio tresna erabili."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Konfiguratutako sare-egokitzaile bakarra duzu:\n"
-"\n"
-"%s\n"
-"\n"
-"Zure LANa egokitzaile horrekin konfiguratuko dut."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr "Mesedez hauta zein sare-egokitzaile izango duzuzure LANerako."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr "Adi, sare egokitzailea dagoeneko konfiguratua. Berkonfiguratuko dut."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr "Litekeen LAN helbidearen konfliktoa oraingo $_-ren konfigurazioan!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Firewall konfigurazioa aurkitua!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Kasu! Esistitzen den firewall konfigurazioa aurkitu da. Agian\n"
-"eskuzko finkapena egin beharko duzu instalazioa eta gero."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Konfiguratzen..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-"Konfigurazioko script-ak, softwarea instalatzen, zerbitzariak abiarazten..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Arazoa $_ instalatzean"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Zorionak!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Dena egokiturik.\n"
-"Internet konexioa banatu zenezake, DHCP erabiliaz."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-"Internet konexiaren banaketaren egokierak eginda, baina orain ez dabil."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Internet konexiaren banaketaren egokierak eginda. Erabilgarri dago."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Internet konexioaren banaketa ez da inoiz konfiguratu."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Internet konexioaren banaketaren konfigurazioa"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Internet konexio banatua!\n"
-"\n"
-"%s\n"
-"\n"
-"Konfiguratun saka egokitzapenak egiteko."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Sare Konfigurazioa (%d egokitzaileak)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profila: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Ezaba profila..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Ezabatzeko profila:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Profil berria..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Eratu beharreko profilaren izena:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Ostalari-izena:"
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Internet lotura"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Mota:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Ataria (gateway):"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Interface:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Konektaturik"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Konektatu gabe"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Konektatu..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Eten..."
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Konexioa frogatzen..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Konexioa ixten..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Konexioa itxita.\n"
-"Eskuz ireki root-en:\n"
-"/etc/sysconfig/network-scripts/net_cnx_down"
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Sistema deskonektatuta."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Konfiguratu Internet Lotura..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "LAN konfigurazioa"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Egokitzailea"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Gidaria"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Interface"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokolo"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Konfiguratu bertoko sarea LAN..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Arrunta"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Ezarri"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Zain egon...konfigurazioa ezartzen"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "LAN konfigurazioa"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Egokitzaile %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Abiatze Protokoloa"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Abiatzerakoan hasia"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP bezeroa"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Ezgaitu"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Gaitu"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Internet konexioaren konfigurazioa"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Internet konexioaren konfigurazioa"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Konexioaren mota: "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parametroak"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "Ornitzailearen dns 1 (aukerakoa)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "Ornitzailearen dns 2 (aukerakoa)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Ethernet txartela"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP bezeroa"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Ongi etorri Crackers-era"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Txiroa"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoidea"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Kontuz erabili beharreko maila. Sistema erabilterraza egiten du,\n"
-"baina oso sentsiblea: internetez lotutako makinetan ez da erabili behar.\n"
-"Pasahitz bidezko sarrerarik ez baitauka."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Pasahitzak indarrean, baina sarean sartutako konputagailu bezala ez "
-"erabiltzea gomendatzen da."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Hobekuntza gutxi segurtasun maila honetarako, batez ere segurtasun\n"
-"mezu eta saio gehiago."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Internetera kliente modura lotutako makinentzeko gomendatutako segurtasun "
-"maila\n"
-"estandarra. Ez du segurtasun saiorik egiten. "
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Segurtasun maila honekin, sistema zerbitzari modura erabilzenezake.\n"
-"Hanbat klienteen loturak onartzeko moduan den\n"
-"segurtasun maila. "
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"4. mailaren ezaugarriak, baina orain sistema guztiz hertsia.\n"
-"Segurtasun maila maximoa."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Hautatu segurtasun neurria"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Kontrol Zentroa"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Instalatu nahi duzun tresna hautatu"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "erabilera: keyboarddrake [--expert] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "BackSpace eta Delete bat bera console-n?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Aldatu Cd-Rom-a"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Mesedez, \"%s\" izena duen Cd-Rom-a sartu unitatean eta gero Ok sakaegizu.\n"
-"Ez baldin baduzu Etsi sakatu Cd-Rom-etiko instalazioa ezeztatzeko."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "ez dut aurkitu serieko_usb-rik\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emulatu hirugarren botoia?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Mesedez testatu sagua"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Sare Ikuskapena"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Estatistikak"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Bidaltze abiadura: "
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Jasotze abiadaura: "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Itxi"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "Internetera konektatzen"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "Irteneteko konexioa etetzen"
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "Irteneteko konexioa ezin eten"
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "Irteneteko konexioa etenda."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Konexio osoa."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"Konexioaren akatsa.\n"
-"Mandrake Control Center-en konfigurazioa begiratu."
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "bidali: "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "jasota: "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Konektatu"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Eten konexioa"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Firewall konfigurazioa"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Firewall konfigurazioa"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Firewalling\n"
-"\n"
-"Dagoeneko firewall ezarria duzu.\n"
-"Konfiguratun saka aldaketarik egin nahi baduzu."
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Firewalling\n"
-"\n"
-"Konfiguratun saka standarra nahi baduzu."
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"tinyfirewall configurator\n"
-"\n"
-"Linux Mandrake makinarako norberarentzako firewalla ezartzen du.\n"
-"Segurtasun handiago nahi baduzu: MandrakeSecurity Firewall distribution;\n"
-"banaketa berezikoa."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Zein zerbitzubaimendu nahi duzun galdetuko zaizu.\n"
-"Ganoraz erantzun.\n"
-"\n"
-"Behar izanez gero edozein momentutan berkonfiguratu zenezake\n"
-"zerbitzuok."
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Internet osorako Web zerbitzari legez ari zara?\n"
-"Zure Web zerbitzaria makina honetarako soilik bada, ezeztz\n"
-"erantzeun zenezake.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Izen zerbitzari legez ari zara?\n"
-"Ezetz erantzun IP informazioa gorde nahi izanez gero.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "Ezin ireki %s: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Ezin ireki %s idazteko: %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Protokolo desberdinetareko bezeroak, ssh barne"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Garatzaile"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Lan estazioa"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Zerbitzari, Firewall/Router"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Norberaren Informazioaren Kudeatzeileak"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedia - Grafikoak"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Sareko Konputagailu (bezeroa)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Audio tresnak: mp3 edo midi jotzeko, nahasleak, eta abar"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Interneten estazioa"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Office"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimedia estazioa"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"posta eta berriak irakurtzeko eta bialtzeko tresnak: pine, mutt, tin... eta "
-"Amarauna arakatzeko"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "C eta C++ garatzeko liburutegiak, programak eta abar"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Finantzetarakoak: gnucash..."
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentazioa"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Laguntzaileak"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedia - Soinua"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Denborapasa: arcade, taulakoak, estrategia..."
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Videoa editatu eta ikusteko"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Consola tresnak"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Saoinua eta bideoa"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Zientzirako lanestazioa"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editoreak, maskorrak, fitxategi tresnak, terminalak"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Liburuak eta Linux laguntza"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr "Giro grafikoa"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Jokuak"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedia - Video"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Sare Zerbitzaria"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Grafikoentzako programak, Gimp barne."
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Office estazioa"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr "KDE idazmahi giroa"
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Idazmahi grafikoak (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "CDak erreteko"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedia - CD erretzaileak"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Gordailuak, emuladoreak, monitoreak"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Zerbitzari, Datubase"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr "Bulego programak"
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Zerbitzaria, Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Zerbitzari"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Norberaren Finantzak"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Konfigurazioa"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE Lan estazioa"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Bestelako idazmahi grafikoak"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache eta Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Zerbitzari, Posta/Taldeware/Berriak"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome Lan estazioa"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Internet lotura"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Palm edo Visor-entzako tresnak"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Joku estazio"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Konfigurazioa errazteko tresnak"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr "Trenak posta, berri, web, fitxategi igorrtze eta txaterako"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "KB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minutu"
-
-#~ msgid "1 minute"
-#~ msgstr "minutu 1"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d segundu"
-
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Kanfigurazioa, Lilo/Grub-ena"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "Hautatutako tamaina %d%s"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr ""
-#~ "Abiatzeko script honek zure usb saguarentzako moduluak kargatzen saiatuko "
-#~ "da."
-
-#~ msgid "Opening your connection..."
-#~ msgstr "Konexioa irekitzen..."
-
-#~ msgid "Configure..."
-#~ msgstr "Konfiguratu..."
-
-#~ msgid "cannot fork: "
-#~ msgstr "ezin sardexkatu: "
-
-#~ msgid "Standard tools"
-#~ msgstr "Tresna Standard-ak"
-
-#~ msgid "Boot style configuration"
-#~ msgstr "Abiatzeearen konfigurazioa"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Interneterako konexioa egokitua duzu, \n"
-#~ "konputagailua konexioa banatu dezake beste batzuekin.\n"
-#~ "Oharra: Sare Egokitzailea beharrezko duzu, bertako sarea egokitzeko.\n"
-#~ "\n"
-#~ "Banatu nahi al duzu zure konexioa?\n"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Dependentzia automatikoak"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Konfiguratu LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Abiaratze flppy-a eraiki"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formateatu floppy-a"
-
-#~ msgid "Choice"
-#~ msgstr "Aukera"
-
-#~ msgid "horizontal nice looking aurora"
-#~ msgstr "aurora zeharkako ikuspegi dotorean"
-
-#~ msgid "vertical traditional aurora"
-#~ msgstr "ohiko aurora bertikala"
-
-#~ msgid "gMonitor"
-#~ msgstr "gMonitorea"
-
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Zure sistemaren zenbait aukera gehigarri hauta dezakezu orain.\n"
-#~ "\n"
-#~ " * disko zurrunaren optimizatzaileak erabili: Aukera hau\n"
-#~ "erabiltzaile adituentzat bakarrik, gaizki erabili izanez gero\n"
-#~ "disko zurruna urratu lezake. Ezagutuz gero bakarrik erabili.\n"
-#~ "\n"
-#~ "\n"
-#~ " * Hautatu segurtasun maila: Zure sistemarako segurtasun maila hauta\n"
-#~ "dezakezu. Ez badakizu \"Ertaina\" hautatu.\n"
-#~ " Informazio gehiagorako gidaliburua aztertu.\n"
-#~ "\n"
-#~ "\n"
-#~ " * RAM tamaina zehatza: Zenbaitetan, GNU/Linux-ek ez du ongi "
-#~ "detektatzen\n"
-#~ "sisteman dagoen RAM guztia. Hau gertatuz gero,\n"
-#~ "adierazi tamaina zehatza. Oharra: 2 edo 4 Mb arteko diferentzia\n"
-#~ "normala da.\n"
-#~ "\n"
-#~ "\n"
-#~ " * Removable media automounting: Unitate eramangarriak (CD-ROM, Floppy, "
-#~ "Zip)\n"
-#~ "eskuz muntatu nahi ez baduzu, hau da, \"mount\" eta \"umount\",\n"
-#~ "tekleatu nahi ez baduzu hautatu atal hau. \n"
-#~ "\n"
-#~ "\n"
-#~ " * Num Lock abiatzerakoan: Number Lock abiatzerakoan ezarrita\n"
-#~ "nahi izanez gero, hautatu hau (Oharra: Num Lock ez dabil X-en)."
-
-#~ msgid "Internet/Network access"
-#~ msgstr "Internet/Sare sarrera"
-
-#~ msgid "Mail information"
-#~ msgstr "Posta informazioa"
-
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr "Firewall Konfiguraziorako Aztia"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Denetarik"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Denetariko galderak"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "Segurtasun neurri altuetan ezin da supermount erabili"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "kasu: SEGURTASUN MAILA HONETAN, KONSOLAN EZIN DUZU ROOT LOGIN-IK EGIN!\n"
-#~ "Root izan nahi baduzu, erabiltzaile bezala login egin behar duzu eta gero "
-#~ "\"s\" erabili.\n"
-#~ "Orokorrero, zure makina zerbitzari bezala lan egingo du.\n"
-#~ "Abisatuta zaude."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Kasu, numlock-a piztuta izatean zenbait tekla zenbaikak ematen\n"
-#~ "dituzte, hizkien ordez (ad: sakatu `p' eta lortu `6')"
-
-#~ msgid "not connected"
-#~ msgstr "konektatu gabe"
-
-#~ msgid "Actions"
-#~ msgstr "Ekimenak"
-
-#~ msgid "Scientific applications"
-#~ msgstr "Zientziako aplikazioak"
-
-#~ msgid "toot"
-#~ msgstr "toot"
-
-#~ msgid "File/Print/Samba"
-#~ msgstr "Zerbitzari, Fitxategi/Irarkola/Samba"
-
-#~ msgid "DNS/DHCP "
-#~ msgstr "Zerbitzaria, DNS/DHCP"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Lehenengo DNS zerbitzaria"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Bigarren DNS zerbitzaria"
-
-#~ msgid "using module"
-#~ msgstr "modulua erabiltzen"
-
-#~ msgid "Development, Database"
-#~ msgstr "Garatzea, Datubasea"
-
-#~ msgid "Development, Integrated Environment"
-#~ msgstr "Garatzaile, Integratutako ingurua"
-
-#~ msgid "Development, Standard tools"
-#~ msgstr "Garatzeile, ohiko tresnak"
-
-#~ msgid ""
-#~ "\n"
-#~ "Warning:\n"
-#~ "Applying the changes while running may crash your X environnement."
-#~ msgstr ""
-#~ "\n"
-#~ "Kasu:\n"
-#~ "Aldaketak ezartzeak X izorra lezake."
-
-#~ msgid ""
-#~ "\n"
-#~ "If you continue, I will shut down your %s environnement"
-#~ msgstr ""
-#~ "\n"
-#~ "Jarraitzekotan, %s ingurua itzaliko dut"
-
-#~ msgid "eth$_"
-#~ msgstr "eth$_"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr "Batez"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Zein abiarazle erabili nahi duzu?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Auto instalatu disketea"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Aurkitu modema?"
-
-#~ msgid "Configure an ISDN connection"
-#~ msgstr "ISDN konexioa egokitu"
-
-#~ msgid "Configure a cable connection"
-#~ msgstr "Konfiguratu kable bidezko konexioa"
-
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Internet konexioa ezgaitu"
-
-#~ msgid "Configure local network"
-#~ msgstr "Konfiguratu bertoko sarea"
-
-#~ msgid "Disable networking"
-#~ msgstr "Sarea ezgaitu"
-
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Interneterako konexioa egokitu / Bertoko sarea egokitu"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "Bertoko sarea konfiguratua dago.\n"
-#~ "Nahi al duzu:"
-
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr "Aztiaz berkonfiguratu..."
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimedia"
-
-#~ msgid "Sciences"
-#~ msgstr "Zientzia"
-
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ "Chat (IRC edo berehalako mezuak) programak: xchat,licq, gaim eta FTP "
-#~ "tresnak"
-
-#~ msgid "Communication facilities"
-#~ msgstr "Komunikatzeko errazgarriak"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Internet Tools"
-#~ msgstr "Internet tresnak"
-
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr "Datubaseen bezero eta zerbitzariak(mysql eta postgresql)"
-
-#~ msgid "Development C/C++"
-#~ msgstr "Garatzailearena C/C++"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Konfiguratu ordu eremua"
-
-#~ msgid "Configure printer"
-#~ msgstr "Konfiguratu irarkola"
-
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr "Sare egokitzailea 1 (eth0)"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(datuak galaraz lezake)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Disko zurrunaren optimizatzaileak erabili nahi?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Hasterakoan zenbakien finkaketa (num lock) baimendu"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Biaeztatu Pasahitza"
-
-#~ msgid "default"
-#~ msgstr "Jatorrizkoa"
-
-#~ msgid "What is your system used for?"
-#~ msgstr "Zein da zure sistemaren erabilera?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr "Hauta instalatu nahi duzun tamaina"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Erabili diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr "Norberarena"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "Ziur zaude aditua zarela? \n"
-#~ "Txantxarik ez, arriskutsuak izan daitezkeenak egin ditzakezu hemen.\n"
-#~ "Honako galderei aurre eginbeharko duzu: ``Erabili fitxategi itzalduak "
-#~ "pasahitzentzako?'',\n"
-#~ "Horrelakoak erantzuteko prest?"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Itzalpeko fitxategia erabili"
-
-#~ msgid "shadow"
-#~ msgstr "itzalpea"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "MD5 pasahitzak erabili"
-
-#~ msgid "Search"
-#~ msgstr "Bilatu"
-
-#~ msgid "Package"
-#~ msgstr "Paketea"
-
-#~ msgid "Text"
-#~ msgstr "Testua"
-
-#~ msgid "Tree"
-#~ msgstr "Zuhaitza"
-
-#~ msgid "Sort by"
-#~ msgstr "Honen arabera ordenatu"
-
-#~ msgid "Category"
-#~ msgstr "Kategoria"
-
-#~ msgid "See"
-#~ msgstr "Begiratu"
-
-#~ msgid "Installed packages"
-#~ msgstr "Instalatutako paketeak"
-
-#~ msgid "Available packages"
-#~ msgstr "Erabilgarri dauden paketeak"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Oztoak bakarrik erakutsi"
-
-#~ msgid "Expand all"
-#~ msgstr "Dena zabaldu"
-
-#~ msgid "Collapse all"
-#~ msgstr "Batu dena"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Paketeen kokapena gehitu"
-
-#~ msgid "Update location"
-#~ msgstr "Eguneratu kokapena"
-
-#~ msgid "Remove"
-#~ msgstr "Ezabatu"
-
-#~ msgid "Find Package"
-#~ msgstr "Bilatu paketea"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Fitxategia duen paketea bilatu"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Aldatu instalatu eta aukeran daudenen artean"
-
-#~ msgid "Uninstall"
-#~ msgstr "Desinstalatu"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Aukeratu instalatu beharreko paketea"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Dependentziak saiatzen"
-
-#~ msgid "Wait"
-#~ msgstr "Itxaron"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Hurrengo paketeak desinstalatuko dira"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "RPMak desinstalatzen"
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Zein paketeaz ari zara"
-
-#~ msgid "%s not found"
-#~ msgstr "%s ezin aurkitu"
-
-#~ msgid "No match"
-#~ msgstr "Ez dago"
-
-#~ msgid "No more match"
-#~ msgstr "Ez dago gahiagorik"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake ``memoria gutxi''-ko moduan dago.\n"
-#~ "rpmdrake berabiaraziko dut fitxategiak bilatzeko aukera izan dezan"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Zein fitxategi bilatu nahi duzu?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Zer ari zara bilatzen?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Eman izena (ad: `extra', `commercial')"
-
-#~ msgid "Directory"
-#~ msgstr "Direktorioa"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "Ez dago cdrom-ik (/mnt/cdrom hutsik)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "RPMak duen direktorioaren URLa"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "FTP eta HTTP-rako, hdlist-erako kokapena eman behar duzu\n"
-#~ "Gaineko URL-arekin lotua izan behar du"
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Mesedez hurrengo informazioa igorri"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s dagoeneko erabiltzen"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "RPMn basea eguneratzen"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "%s sarrera ezabatuko dut"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Oztoak bilatzen"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "Oztoen bilaketak denbora hartzen du"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "ISDAN txartela aurkitu dut:\n"
-
-#~ msgid "France"
-#~ msgstr "Frantzia"
-
-#~ msgid "Other countries"
-#~ msgstr "Beste herrialdeak"
-
-#~ msgid "In which country are you located ?"
-#~ msgstr "Zein herrialdetan zaude?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Alcatel modema"
-
-#~ msgid "ECI modem"
-#~ msgstr "ECI modema"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr "Zure adsl modem-a alcatel-ekoa bada, hauta Alcatel. Bestela, ECI."
-
-#~ msgid "mandatory"
-#~ msgstr "ezinbesteko"
-
-#~ msgid "interesting"
-#~ msgstr "interesgarria"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (garrantzitsua)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (oso ederra)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (ederra)"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Zure sagua serieko zein kaietara dago konektatua?"
-
-#~ msgid "Czech"
-#~ msgstr "Txekoa"
-
-#~ msgid "Slovakian"
-#~ msgstr "Eslobakiarra"
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr "Ezin instalatu ipchains RPM urpmi-z."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr "Ezin instalatu dhcp RPM urpmi-z."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr "Ezin instalatu linuxconf RPM urpmi-z."
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr "Ezin instalatu bind RPM urpmi-z."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr "Ezin instalatu caching-nameserver RPM urpmi-z"
-
-#~ msgid "Reconfigure local network"
-#~ msgstr "Berkonfiguratu bertoko sarea"
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Zure konputagailuaren Internet konexioa banatu dezakezu.\n"
-#~ "\n"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr "Dana konfiguratua izan da.\n"
-
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Internetera konektatu modem arruntaz"
-
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Interentera konektatu ISDN-z"
-
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Internetera konektatu DSL-z (edo ADSL-z)"
-
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Internetera konektatu kablez"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Zein partizio mota nahi duzu?"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Hautatu \"Instalatu\" GNU/Linux-en aurretiko bertsiorik ez badago "
-#~ "instalatuta,\n"
-#~ "edo distribuzio edo bertsio bat baino gehiago erabili nahi baduzu.\n"
-#~ "\n"
-#~ "Hautatu \"Eguneratu\" Mandrake-ren aurretiko bertsioren bat eguneratu "
-#~ "nahi izanez gero.\n"
-#~ "\n"
-#~ "\n"
-#~ "Hauta:\n"
-#~ "\n"
-#~ " - Gomendatua: inoiz ez baduzu Linux-ik instalatu.\n"
-#~ "\n"
-#~ " - Norberarena: GNU/Linux ezagutzen baduzu, gero makinaren erabilera "
-#~ "nagusia hauta\n"
-#~ " dezakezu. behean ikus.\n"
-#~ "\n"
-#~ " - Aditua: GNU/Linux menperatzen duzula suposatzen da eta\n"
-#~ " oso berezitua de instalazioa egin nahi duzula. \"Norberarena\"\n"
-#~ " instalazio motan bezala, zure makinaren erabilera hautatu ahal izango "
-#~ "duzu zure sistemarako.\n"
-#~ " Baina mesedez, EZ HAUTA HAU ZERTAN ZABIZENEN EZ BADAKIZU!\n"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ "Orain, Linux-Mandrake sistema zein partiziotan instalatu nahi duzun\n"
-#~ "hauta dezakezu, aldez aurretik partizioak eginak badituzu (aurretikfrom "
-#~ "a\n"
-#~ "instalatutako GNU/Linux-an edo bestelako partizio tresna batek "
-#~ "egindakoak).\n"
-#~ "Bestera, disko zurrunaren partizioak definitu behar dira. Hau "
-#~ "egoterakoan\n"
-#~ "konputagailuaren disko zurruna erabilera desberdinetarako area "
-#~ "desberdinetan\n"
-#~ "zatitzen da.\n"
-#~ "\n"
-#~ "\n"
-#~ "Partizio berriak egin nahi izanez gero, erabili \"Auto allocate\" "
-#~ "etahorrela\n"
-#~ "Linux-ek partizio berriak egingo ditu automatikoki. Zatitu beharreko "
-#~ "diskoa\n"
-#~ "hautatzuko \"hda\" kliklatu lehenengo IDE diskorako,\n"
-#~ "\"hdb\" bigarrenerako edo \"sda\" lehenengo SCSI diskorako eta horrela "
-#~ "ere urrengokoak.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ohiko partizioak dira: root (/), direktorioen ierarkian sistemaren "
-#~ "fitxategien hasiera\n"
-#~ "puntua dena, eta /boot,konputagailua pizterakoan\n"
-#~ "sistema eragilea abiarazteko beharrezko diren\n"
-#~ "fitxategiak duena.\n"
-#~ "\n"
-#~ "\n"
-#~ "Partizio prozeduraren ekintzak atzerako biderik izan ohi ez dutenez,\n"
-#~ "esperientziarik ez duenarengan beldurra eta larritasuna eragin diezaioke. "
-#~ "DiskDrake-k\n"
-#~ "prozedura errazten du izua uxatzeko. Dokumentazioa kontsultatu eta\n"
-#~ "har ezazu behar duzun denbora hasi aurretik.\n"
-#~ "Teklatua erabiliz edozien aukeraz baliatu zaitezke: "
-#~ "partizioetatiknabigatu\n"
-#~ "Tab eta Gora/Bera geziez. Behin partizioa hautatua, zera erabil "
-#~ "zenezake:\n"
-#~ "\n"
-#~ "- Ctrl-c partizio berria eraikitzeko (partizio hutsa hautatzekotan)\n"
-#~ "\n"
-#~ "- Ctrl-d partizioa ezabatzeko\n"
-#~ "\n"
-#~ "- Ctrl-m muntai puntua ezartzeko\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Berriki ezarritako edozein partizio formateatu beharko da erabilgarria\n"
-#~ "izateko (formateatu esan nahi du sistemen fitxategiak ezartzea). Orain, "
-#~ "agian\n"
-#~ "esistitzen direnetako zenbait partizio formateatu nahiko duzu, bertako "
-#~ "datuak\n"
-#~ "ezabatzeko. Oharra: aurretik zeuden partizioak formateatzea ez da "
-#~ "beharrezkoa\n"
-#~ "batez ere, mantendu nahi dituzun fitxategi eta datuak gordetzen baditu.\n"
-#~ "Normalean /home eta /usr/local dira gordetzen direnak."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "Hautatutako paketeak instalatzen ari dira. Operazio honek\n"
-#~ "minutu gutxi batzuk iraun lezake, baina sistema eguneratzea hautatu\n"
-#~ "baduzu are gehiago iraun lezake operazioak eguneratzea egin beharko\n"
-#~ "delako."
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "DrakX-ek ez du sagurik aurkitzen ez badu, edo egindakoa\n"
-#~ "aztertu nahi baduzu, gainean duzun saguen zerrenda duzu\n"
-#~ "eskura.\n"
-#~ "\n"
-#~ "\n"
-#~ "DrakX'-en aukerekin ados bazaude settings, 'Ados' sakatu.\n"
-#~ "Bestela, zure saguarekin antza handiena zukeen sagua hautatu\n"
-#~ "menuan.\n"
-#~ "\n"
-#~ "\n"
-#~ "Seriean konektatutako sagua izanez gero, DrakX-i\n"
-#~ "serie-kaia adierazi beharko diozu."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "Atal hau bertoko sarea (LAN) edo modem-a konfiguratzeko\n"
-#~ "da\n"
-#~ "\n"
-#~ "Hautatu \"Bertoko LAN\" eta DrakX-ek\n"
-#~ "zure makinako Ethernet egokitzailea bilatzen saiatuko da. PCI "
-#~ "egokitzaileak\n"
-#~ "automatikoki bilatu eta abiarazten dira.\n"
-#~ "Dena den, zure periferikoa ISA bada, autodetekzioak huts egingo du,\n"
-#~ "eta orduan agertuko zaizun zerrendatik hautatu beharko duzu driver-a.\n"
-#~ "\n"
-#~ "\n"
-#~ "SCSI egokitzaileentzat gertatzen den moduan, lehen aldian driverrak\n"
-#~ "egokitzailea frogatu lezake bere kabuz, bestela aukerak adierazi\n"
-#~ "beharko dizkiozu driver-ari, aukerak dokumentazioan edo harwarean\n"
-#~ "aurki ditzakezu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Linux-Mandrake sistema sare batean dagoen konputagailuan\n"
-#~ "instalatuz gero, sare administrariak beharrezko duzun informazioa eman "
-#~ "beharko dizu\n"
-#~ "(IP helbidea, sareko submaskara\n"
-#~ "edo netmask, eta ostalariaren izena). Zure sare pribatua\n"
-#~ "instalatzen ari bazara helbidea hautatu beharko\n"
-#~ "duzu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Hautatu \"Deitu modem-ez\" eta modem bitarteko internet\n"
-#~ "konexioa konfiguratuko da. DrakX-ek, zure modem-a bilatzen saiatuko da\n"
-#~ "hau huts eginez gero aukeratu beharko duzu modem-aren serieko kaia\n"
-#~ "zein den."
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "GNU/Linux-ek irarkola mota ugari erabil ditzake. Bakoitzak\n"
-#~ "bere egokiera behar du. Dena den kontuan izan irarkolaren isatsak\n"
-#~ " 'lp' izena jatorriz ezartzen duela; beraz izen hau duen irarkola\n"
-#~ "beharko duzu; baina zenbait izen eman ditzakezu irarkola berari\n"
-#~ "izenok '|' karaktereaz banatuz gero.\n"
-#~ "Beraz esanguratsua egingo zaizun izena eman nahi badiozu irarkolari "
-#~ "aurretik\n"
-#~ "jarri, adibidea: \"Nire irarkola|lp\".\n"
-#~ "Izenean \"lp\" duen irarkola jatorrizkoa izanen da.\n"
-#~ "\n"
-#~ "\n"
-#~ "Irarkola zuzenean konputagailuari lotuta egonez gero hautatu\n"
-#~ "\"Bertoko irarkola\". Gero zein kaietara lotuta dagoen adierazi\n"
-#~ "beharko duzu, eta iragazki egokia hautatu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Urruneko Unix makinari lotutako irarkola erabili nahi izanez gero,\n"
-#~ "hautatu \"Urruneko lpd\". Indarrean sartzeko\n"
-#~ ", ez da beharrezko erabiltzaile izena ez eta pasahitzik, baina\n"
-#~ "zerbitzariaren inprimitze isatsaren izena jakin beharko duzu.\n"
-#~ "\n"
-#~ "\n"
-#~ "SMB irarkola erabili nahi izanez gero (hau da,\n"
-#~ "urruneko Windows 9x/NT makinan kokatutakoa),\n"
-#~ "SMB izena (ez TCP/IP izena)eman beharko duzu, eta agian IP helbidea ere,\n"
-#~ "gehi erabiltzaile izena, lantaldea eta irakola erabiltzeko beharrezkoa\n"
-#~ "den pasahitza, eta, nola ez, irarkolaren izena. Bardin\n"
-#~ "NetWare irarkolentzako, baina kasu honetan ez duzu lantalde izenik eman "
-#~ "beharrik."
-
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "Oso gomendatua da hemen \"Bai\" erantzutea. Microsoft Windows\n"
-#~ "gerorago instalatzekotan boot sektorea ezabatuko dizu.\n"
-#~ "Esan zaizun bezala boot diskorik egin ez baduzu ezin izango duzu\n"
-#~ "GNU/Linux abiatu."
-
-#~ msgid "Move your wheel!"
-#~ msgstr "Higiarazi pilotatxoa!"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "Instalatu/Berreskuratu"
-
-#~ msgid "Rescue"
-#~ msgstr "Berreskuratu"
-
-#~ msgid "Germany"
-#~ msgstr "Germaniarra"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "Germaniarra (1TR6)"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr "Zer egin nahiko zenuke?"
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Aldaketak ahaztu?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Zein da zure sagu mota?"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Erresoluzio automatikoak"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "Eskuragarri dauden erresoluzioak bilatzearren, zenbaitzuk frogatuko "
-#~ "ditut.\n"
-#~ "Pantailak kliskatuko du...\n"
-#~ "Irten zaitezke nahi baduzu, bukatzerakoan beep-a entzengo duzu"
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "Eskuragarri dauden erresoluzioak aurkitzen saia naiteke (eg: 800x600).\n"
-#~ "Batzutan honen ondorioz makina eskegi daiteke.\n"
-#~ "Saiatuko naiz??"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "Modu egokirik ezin aurkitu\n"
-#~ "Bestelako txartel edo monitoreaz saia zaitez"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Bilatu erresoluzio automatikoak"
-
-#~ msgid "tie"
-#~ msgstr "gorbata"
-
-#~ msgid "brunette"
-#~ msgstr "brunette"
-
-#~ msgid "girl"
-#~ msgstr "neska"
-
-#~ msgid "woman-blond"
-#~ msgstr "ile-horia"
-
-#~ msgid "automagic"
-#~ msgstr "automagikoa"
-
-#~ msgid "nfs mount failed"
-#~ msgstr "nfs-aren muntaiak porrot egin du"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Enkriptatua"
-
-#~ msgid "Take over the hard drive"
-#~ msgstr "Hartu disko zurrun osoa"
-
-#~ msgid "Do not set up networking"
-#~ msgstr "Sare lana ez egokitu"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "Zure sistemarako bertoko LAN sarea konfiguratu nahi duzu?"
-
-#~ msgid ""
-#~ "DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
-#~ "By default, the 4.0 server is used unless your card is not supported.\n"
-#~ "\n"
-#~ "Do you want to keep XFree 3.3?"
-#~ msgstr ""
-#~ "DrakX-ek, XFree 3.3 eta XFree 4.0.-rako konfigurazio fitxategiak eratuko "
-#~ "ditu.\n"
-#~ "Jatorriz, 4.0 zerbitzaria erabiltzen da zure txartelak berau jasanez "
-#~ "gero.\n"
-#~ "\n"
-#~ "XFree 3.3 mantendu nahi?"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Apple ADB Sagua"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Apple ADB sagua (2 botoi)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Apple ADB sagua(3 botoi edo gehiago)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Apple USB sagua"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "USB sagua (2 botoi)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Apple USB sagua (3 botoi edo gehiago)"
-
-#~ msgid "Logitech MouseMan/FirstMouse"
-#~ msgstr "Logitech MouseMan/FirstMouse"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI Bus Mouse"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft Bus Mouse"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech Bus Mouse"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB Mouse (3 botoi edo gehiago)"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Have you been provided with a hostname?"
-#~ msgstr "Ostalari izenik baduzu?"
-
-#~ msgid "Show less"
-#~ msgstr "Gutxiago erakutsi"
-
-#~ msgid "Show more"
-#~ msgstr "Gehiago erakutsi"
-
-#~ msgid "Local Area Network specification"
-#~ msgstr "LANen espezifikazioak"
-
-#~ msgid "You may now decide which class C network to use.\n"
-#~ msgstr "Orain erabaki dezakezu zein C motako sarea erabili.\n"
-
-#~ msgid "Network:"
-#~ msgstr "Sarea:"
-
-#~ msgid "Internet Connection Sharing - setup of $device"
-#~ msgstr "Internet konexioaren banaketa - $tresnaren egokiera"
-
-#~ msgid ""
-#~ "The following interface is about to be configured:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Hurrengo interfacea konfiguratuko da:\n"
-#~ "\n"
-#~ "$interface\n"
-#~ "\n"
-
-#~ msgid "Everything configured!"
-#~ msgstr "Dana konfiguratua!"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Zein da zure teklatuaren itxura?"
-
-#~ msgid "pptp alcatel"
-#~ msgstr "pptp alcatel"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Saiatuko naiz PCMCIA txartelak bilatzen?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "Saiatuko naiz %s unitateen bilaketan?"
-
-#~ msgid "Small(%dMB)"
-#~ msgstr "Txikia (%dMB)"
-
-#~ msgid "Modem Configuration"
-#~ msgstr "Modem-aren konfigurazioa"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr ""
-#~ "Zure sistemarako modem-markazioaren bitartezko sare-lana konfiguratu nahi "
-#~ "duzu?"
-
-#~ msgid "Do you want to configure a ISDN connection for your system?"
-#~ msgstr "Zure sistemarako bertoko ISDN konexioa konfiguratu nahi duzu?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "Saiatuko naiz PCI unitateen bilaketan?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "root partizioaren bila."
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s: hau ez da root partizioa, mesedez aukeratu besteren bat."
-
-#~ msgid "No root partition found"
-#~ msgstr "Ez dut aurkitu root partiziorik"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr "Mesedez hauta zein partizio erabili nahi duzu root partizio modura."
-
-#~ msgid "Autologin at startup"
-#~ msgstr "Autologin abiatzerakoan"
-
-#~ msgid "Autologin - Choose default user"
-#~ msgstr "Autologin - Hauta jatorrizko erabiltzailea"
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr "Windows partiziorik ez duzu!"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "Linux4win-erako leku nahikorik ez duzu"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Ongi etorria LILOra, sistema eragilearen hautatzailera!\n"
-#~ "\n"
-#~ "Aukeren zerrenda ikusteko <TAB> sakatu.\n"
-#~ "\n"
-#~ "Kargatzeko, izena idatzi eta <ENTER> sakatu <ENTER> edo itxaron %d "
-#~ "segundu jatorriz hautatutakoa abiatzeko.\n"
-#~ "\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Ongi etorria SILOra, sistema eragilearen hautatzailera!\n"
-#~ "\n"
-#~ "Aukeren zerrenda ikusteko <TAB> sakatu.\n"
-#~ "\n"
-#~ "Kargatzeko, izena idatzi eta <ENTER> sakatu <ENTER> edo itxaron %d "
-#~ "segundu jatorriz hautatutakoa abiatzeko.\n"
-#~ "\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "SILOren aukera nagusiak"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Hemen daude SILOko hurrengo sarrerak.\n"
-#~ "Zenbait gehitu edo daudenak aldatu dezakezu."
-
-#~ msgid "This label is already in use"
-#~ msgstr "Etiketa hau dagoeneko erabiltzen da"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "SILOren instalazioak porrot egin du. Errore hau izan da:"
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ "DrakX-ek PCI edo SCSI egokitzaileak bilatzen saiatuko da aldez aurretik.\n"
-#~ "Aurkitzekotan eta drivera(k) ezagutz geronautomatikoki ezarriko ditu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Zure SCSI egokitzailea ISA bada, edo DrakX-ek ezagutzen ez duen\n"
-#~ "PCIa bada, edo SCSI egokitzailerik ez baduzu, orduan zera galdetuko "
-#~ "zaizu;\n"
-#~ "ia SCSI egokitzailerik duzun ala ez.\n"
-#~ "Ez badaukazu \"Ez\" erantzun. Bat edo gehiago baduzu,\n"
-#~ "erantzun \"Bai\". driver zerrenda agertuko zaizu, eta bertatik bat "
-#~ "hautatu\n"
-#~ "beharko duzu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Driver-a hautatu ondoren, DrakX-ek aukerak eman nahi badiozu\n"
-#~ "galdetuko dizu. Lehenengo, utzi driver-ari harwarea frogatzen:\n"
-#~ "gehienetan ongi dabil.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ez badabil, zure Windows-aren (hau bada zure sistema) harwarearen "
-#~ "informazioa\n"
-#~ "dokumentaziotik lor dezakezu, instalazio gidan iradokitzen denez.\n"
-#~ "Hor izango dira driver-ari eman beharreko\n"
-#~ "aukerak."
-
-#~ msgid "Shutting down"
-#~ msgstr "Itzaltzen"
-
-#~ msgid "useless"
-#~ msgstr "erabileza"
-
-#~ msgid "garbage"
-#~ msgstr "zarama"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "or 7.0 (Air)."
-#~ msgstr ""
-#~ "Hautatu \"Instalatu\" Linux-en aurretiko bertsiorik ez badago "
-#~ "instalatuta,\n"
-#~ "edo distribuzio edo bertsio bat baino gehiago erabili nahi baduzu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Hautatu \"Eguneratu\" Mandrake-ren aurretiko bertsioren bat eguneratu "
-#~ "nahi izanez gero.\n"
-#~ "Linux: 5.1 (Venice), 5.2 (Leeloo), 5.3 (Festen), 6.0 (Venus),\n"
-#~ "6.1 (Helios), Gold 2000 edo 7.0 (Air)."
-
-#~ msgid "Do you want to use LILO?"
-#~ msgstr "LILO erabili nahi duzu?"
-
-#~ msgid ""
-#~ "You may now select the packages you wish to install.\n"
-#~ "\n"
-#~ "\n"
-#~ "First you can select group of package to install or upgrade. After that\n"
-#~ "you can select more packages according to the total size you wish to\n"
-#~ "select.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you are in expert mode, you can select packages individually.\n"
-#~ "Please note that some packages require the installation of others.\n"
-#~ "These are referred to as package dependencies. The packages you select,\n"
-#~ "and the packages they require will be automatically selected for\n"
-#~ "install. It is impossible to install a package without installing all\n"
-#~ "of its dependencies."
-#~ msgstr ""
-#~ "Orain, instalatu nahi dituzun paketeak hautatu ditzakezu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Lehenengo instalatu edo eguneratu nahi duzun pakete taldea hauta "
-#~ "dezakezu.\n"
-#~ "Hau eta gero, aukeratu nahi duzun tamainerako egokitutako pakete "
-#~ "gehigarriak hauta\n"
-#~ "dezakezu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Aditu moduan bazabiltza, paketeak banan-banan hauta ditzakezu.\n"
-#~ "Kontuan izan zenbait paketeen instalaziorako beste batzuen instalazioa "
-#~ "eskatzen dutela.\n"
-#~ "Hauek paketeen arteko dependentziak dira. Hautatzen duzun paketeak,\n"
-#~ "eta hauek eskatzen dituztenak automatikoki hautatuko dira\n"
-#~ "instalatzerakoan. Ezinezkoa da paketea instalatzea bere dependientzia "
-#~ "guztiak instalatu gabe."
-
-#~ msgid ""
-#~ "LILO (the LInux LOader) can boot Linux and other operating systems.\n"
-#~ "Normally they are correctly detected during installation. If you don't\n"
-#~ "see yours detected, you can add one or more now.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you don't want that everybody could access at one of them, you can "
-#~ "remove\n"
-#~ "it now (a boot disk will be needed to boot it)."
-#~ msgstr ""
-#~ "LILO (Linux kargatzailea) Linux eta bestelako sistema eragileak abiaraz "
-#~ "lezake.\n"
-#~ "Gehienetan instalazioak detektatzen ditu. Zureak aurkitutakoen artean\n"
-#~ "ikusten ez badituzu, orain gehitu ditzakezu.\n"
-#~ "\n"
-#~ "\n"
-#~ "Eskuragai izan nahi ez badituzu ere, orain ezabatu ditzakezu\n"
-#~ "(boot disketea beharko duzu orduan)."
-
-#~ msgid ""
-#~ "Now that you've selected desired groups, please choose \n"
-#~ "how many packages you want, ranging from minimal to full \n"
-#~ "installation of each selected groups."
-#~ msgstr ""
-#~ "Behin taldeak aukeratuta, mesedez hauta \n"
-#~ "zenbat pakete nahi duzun, talde bakoitzeko minimotik \n"
-#~ "guztirarte."
-
-#~ msgid ""
-#~ "You need %dMB for a full install of the groups you selected.\n"
-#~ "You can go on anyway, but be warned that you won't get all packages"
-#~ msgstr ""
-#~ "%dMB beharko duzu hautatutako taldeak instalatzeko.\n"
-#~ "Aurrera jarrai dezakezu, baina pakete guztiak ez dituzu lortuko"
-
-#~ msgid "Choose other CD to install"
-#~ msgstr "Instalatzeko aukeratu beste CDa"
-
-#~ msgid ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed Linux before.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Customized: If you are familiar with Linux, you will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\"."
-#~ msgstr ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Gomendatua: inoiz ez baduzu Linux-ik instalatu.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Norberarena: Linux ezagutzen baduzu, normal, garatzaile edo aditu\n"
-#~ "moduko instalazioak hauta dezakezu. Hautatu \"Arrunta\" ohiko "
-#~ "instalazioa\n"
-#~ "egitekotan. Hauta dezakezu \"Garatzailearena\" modua konputagailua "
-#~ "softwarea\n"
-#~ "garatzeko erabiliko baduzu batez ere, edo hautatu \"Zerbitzariarena\" "
-#~ "ohiko\n"
-#~ "zerbitzari (posta, inprimaketa,...) instalazioa egin nahi baduzu.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Aditua: GNU/Linux sakonki ezagutuz gero eta oso instalazio berezia\n"
-#~ "egin nahi baduzu,instalazio modu hau zuretzako da. Zure sistemaren\n"
-#~ "erabilera honela egin beharko duzu \"Norberarena\"."
-
-#~ msgid "Downloading cryptographic packages"
-#~ msgstr "Pakete kriptografikoak behera kargatzen"
-
-#~ msgid "Setup SCSI"
-#~ msgstr "SCSI-ren egokiera"
-
-#~ msgid "Installation CD Nr %s"
-#~ msgstr "Instalazioko CD Nr %s"
-
-#~ msgid ""
-#~ "Update installation image!\n"
-#~ "\n"
-#~ "Ask your system administrator or reboot to update your installation image "
-#~ "to include\n"
-#~ "the Cd-Rom image labelled \"%s\". Press Ok if image has been updated or "
-#~ "press Cancel\n"
-#~ "to avoid installation from this Cd-Rom image."
-#~ msgstr ""
-#~ "Instalazioaren imagina eguneratu!\n"
-#~ "\n"
-#~ "Administratzileari eskatu edo berabiatu instalazioaren imagina "
-#~ "eguneratzeko.\n"
-#~ "Horrela, \"%s\" izena duen Cd-Rom-a lortuko duzu. Ok sakatu imagina "
-#~ "eguneratu\n"
-#~ "bada edo Etsi sakatu Cd-Rom imagina honetatik instalazioa ezeztatzeko."
-
-#~ msgid "Which language do you want?"
-#~ msgstr "Zein hizkuntz nahi duzu?"
-
-#~ msgid "Hurt me plenty"
-#~ msgstr "Dena niretzat"
-
-#~ msgid "Which packages do you want to install"
-#~ msgstr "Zeintzuk pakete instalatu nahi duzu"
-
-#~ msgid "Local LAN"
-#~ msgstr "Bertoko LAN"
-
-#~ msgid "Installation CD Nr 1"
-#~ msgstr "Instalazioko CD Nr 1"
-
-#~ msgid "Password:"
-#~ msgstr "Pasahitza"
-
-#~ msgid "User name:"
-#~ msgstr "Erabiltzailearen izena"
-
-#~ msgid "Going to install %d MB. You can choose to install more programs"
-#~ msgstr ""
-#~ "%d MB instalatzera noa. Programa gehiago instalatzea hautatu dezakezu"
-
-#~ msgid "Bad kickstart file %s (failed %s)"
-#~ msgstr "%s kickstart fitxategi txarra (%s-ren porrota)"
-
-#~ msgid "Size: %s MB"
-#~ msgstr "Tamaina: %s MB"
-
-#~ msgid "US Keyboard"
-#~ msgstr "Estatu Batuetako teklatua"
-
-#~ msgid "resizing"
-#~ msgstr "egokitzen"
-
-#~ msgid "formatting"
-#~ msgstr "formateatzen"
-
-#~ msgid "changing type of"
-#~ msgstr "honen mota aldatuz"
-
-#~ msgid "After %s partition %s,"
-#~ msgstr "%s partizioaren ondoren %s,"
-
-#~ msgid "linear"
-#~ msgstr "lineala"
-
-#~ msgid "Linear (needed for some SCSI drives)"
-#~ msgstr "Lineala (zenbait SCSIk horrelakoa behar dute)"
-
-#~ msgid "beginner"
-#~ msgstr "hasberria"
-
-#~ msgid "developer"
-#~ msgstr "garatzailea"
-
-#~ msgid "expert"
-#~ msgstr "aditua"
-
-#~ msgid ""
-#~ "Failed to create an HTP boot floppy.\n"
-#~ "You may have to restart installation and give ``%s'' at the prompt"
-#~ msgstr ""
-#~ "HTP boot disketea ezin eraiki.\n"
-#~ "Instalazioa berabiarazi eta idatzi ``%s'' prompt-ean"
-
-#~ msgid "It is necessary to restart installation with the new parameters"
-#~ msgstr "Instalazioa berabiarazi behar duzu parametro berriekin"
-
-#~ msgid "It is necessary to restart installation booting on the floppy"
-#~ msgstr "Instalazioa berabiarazi behar duzu, disketea erabiliaz"
-
-#~ msgid ""
-#~ "Enter a floppy to create an HTP enabled boot\n"
-#~ "(all data on floppy will be lost)"
-#~ msgstr ""
-#~ "Disketea sartu unitatean HTP boot-a eratzeko\n"
-#~ "(Disketeko datu guztiak galduko dira)"
-
-#~ msgid ""
-#~ "Linux does not yet fully support ultra dma 66.\n"
-#~ "As a work-around i can make a custom floppy giving access the hard drive "
-#~ "on ide2 and ide3"
-#~ msgstr ""
-#~ "Linux-ek oraindik ez du ultra dma 66 jasatzen.\n"
-#~ "Konponbide modura disketea egin diezaizuket ide2 eta ide3 disko "
-#~ "zurrunerakosarbidea emanez"
-
-#~ msgid "A entry %s already exists"
-#~ msgstr "%s sarrera esistitzen da"
-
-#~ msgid "Choose install or upgrade"
-#~ msgstr "Aukeratu instalatu edo "
-
-#~ msgid "What usage do you want?"
-#~ msgstr "Zein erabilera nahi duzu?"
diff --git a/perl-install/share/po/fi.po b/perl-install/share/po/fi.po
deleted file mode 100644
index 96c838029..000000000
--- a/perl-install/share/po/fi.po
+++ /dev/null
@@ -1,8161 +0,0 @@
-# Translation file of Mandrake graphic install
-# Copyright (C) 1999, 2001 Mandrakesoft
-# Kim Enkovaara <kim.enkovaara@iki.fi>, 1999, 2000
-# Matias Griese <mahagr@utu.fi>, 2001
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2001-04-24 17:52+0200\n"
-"Last-Translator: Matias Griese <mahagr@utu.fi>\n"
-"Language-Team: Finnish\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-15\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.6\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Aseta kaikki nytt erikseen"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Kyt Xinerama-laajennusta"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Mrittele vain kortin \"%s\" (%s) asetukset"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Monen nytn asettaminen"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Jrjestelmsi tukee monen nytn laitteistokokoonpanoa.\n"
-"Mit haluat tehd?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Nytnohjain"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Valitse nytnohjain"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Valitse X-palvelin"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X-palvelin"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Mit versiota XFree-serverist haluat kytt?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Nytnohjaimelle on olemassa laitteistokiihdytetyt 3D-ajurit vain XFree %s:"
-"ssa.\n"
-"Korttisi on tuettu mys XFree %s:ssa, jossa on mahdollisesti parempi 2D-tuki."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-"Nytnohjaimelle on olemassa laitteistokiihdytetyt 3D-ajurit XFree %s:ssa."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s laitteistokiihdytetyll 3D-tuella"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Nytnohjaimelle on olemassa laitteistokiihdytetyt 3D-ajurit XFree %s:ssa.\n"
-"HUOMAA, ETT TUKI ON KOKEELLINEN JA VOI JUMITTAA TIETOKONEESI."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s KOKEELLISELLA laitteistokiihdytetyll 3D-tuella"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Nytnohjaimelle on olemassa laitteistokiihdytetyt 3D-ajurit vain XFree %s:"
-"ssa.\n"
-"HUOMAA, ETT TUKI ON KOKEELLINEN JA VOI JUMITTAA TIETOKONEESI.Korttisi on "
-"tuettu mys XFree %s:ssa, jossa on mahdollisesti parempi 2D-tuki."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFreen asentaminen"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Valitse nytnohjaimen muistin mr"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Valitse optioita palvelimelle"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Valitse monitori"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Nytt"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Sinun tulee valita vaakavirkistystaajuus nytllesi. Voit joko valita "
-"jonkin\n"
-"allaolevista alueista, jotka vastaavat teollisuusstandardityyppej tai "
-"sytt\n"
-"jonkin muun alueen.\n"
-"\n"
-"On HYVIN TRKE, ett et valitse nytttyyppi, jonka "
-"vaakavirkistystaajuus\n"
-"on suurempi kuin oman nyttsi. Jos eprit, valitse pienempi taajuus."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Vaakavirkistystaajuus"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Pystyvirkistystaajuus"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Nytt ei ole asetettu"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Nytnohjainta ei ole viel asetettu"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Nytn resoluutiota ei ole viel valittu"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Haluatko kokeilla asetuksia?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Varoitus: nytnohjaimesi testaaminen voi jumittaa tietokoneen"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Kokeile asetuksia"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"kokeile joidenkin parametrien muuttamista"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Tapahtui virhe:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Lopetan %d sekunnissa"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Onko tm oikea asetus?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Tapahtui virhe, kokeile joidenkin parametrien vaihtamista"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Resoluutio"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Valitse resoluutio ja vrisyvyys"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Nytnohjain: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 palvelin: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Asiantuntijatila"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Nyt kaikki"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Resoluutiot"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Nppinasettelu: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Hiiren tyyppi: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Hiiren laite: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Nytt: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Nytn vaakajuovataajuus: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Nytn virkistystaajuus: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Nytnohjain: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Grafiikkamuisti: %s kt\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Vrisyvyys: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Resoluutio: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 palvelin: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 ajurit: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Valmistelen X-Windowin asetuksia"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Mit haluat tehd?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Vaihda nytt"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Vaihda nytnohjainta"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Vaihda palvelimen optioita"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Vaihda resoluutiota"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Nyt tiedot"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Kokeile uudelleen"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Lopeta"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Silyt muutokset?\n"
-"Nykyiset asetukset ovat:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Kirjaudu uudelleen %s:een aktivoidaksesi muutokset"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Kirjaudu ulos ja kirjoita sitten Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "Kynnistettess X:"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"X voidaan laittaa kynnistymn automaattisesti kynnistyksen yhteydess.\n"
-"Haluatko kynnist X:n automaattisesti?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 vri (8 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 tuhatta vri (15 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 tuhatta vri (16 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 miljoonaa vri (24 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 miljardia vri (32 bitti)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kt"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kt"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 Mt"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 Mt"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 Mt"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 Mt"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 Mt tai enemmn"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Perus-VGA, 640x480 @ 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "SVGA, 800x600 @ 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514-yhteensopiva, 1024x768 @ 87 Hz lomitettu (ei 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "SVGA, 1024x768 @ 87 Hz lomitettu, 800x600 @ 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Laajennettu SVGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Lomittamaton SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Korkeataajuuksinen SVGA, 1024x768 @ 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Nytt, joka pystyy 1280x1024 @ 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Nytt, joka pystyy 1280x1024 @ 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Nytt, joka pystyy 1280x1024 @ 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Nytt, joka pystyy 1600x1200 @ 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Nytt, joka pystyy 1600x1200 @ 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Ensimminen sektori kynnistysosiolla"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Levyn ensimminen sektori (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILOn asennus"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Minne haluat asentaa kyttjrjestelmn lataajan?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub asennus"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO tekstipohjaisella valikolla"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO graafisella valikolla"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Kynnist DOSista/Windowsista (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Kyttjrjestelmn lataajan pasetukset"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Kytettv kyttjrjestelmn lataaja"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Kyttjrjestelmn lataajan asennus"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Kynnistyslaite"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (ei toimi vanhoissa BIOSeissa)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Tiivis"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "tiivis"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Nytttila"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Tauko ennen oletusjrjestelmn kynnistyst"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Salasana"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Salasana (uudelleen)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Rajoita komentorivioptioita"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "rajoita"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Tyhjenn /tmp jokaisella kynnistyskerralla"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Tarkka muistin koko, jos tarpeen (lydettiin %d Mt)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Kyt montaa profiilia"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Anna muistin koko megatavuina"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Asetus ``Rajoita komentorivioptioita'' ei ole hydyllinen ilman salasanaa"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Yrit uudelleen"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Salasanat poikkeavat toisistaan"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Kynnistysviesti"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Vapaa Firmware-viive"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Timeout ytimen kynnistyksess"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Mahdollista kynnistys CD:lt"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Mahdollista kynnistys OFilta"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Oletuskyttjrjestelm?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Tss ovat asetustietueet.\n"
-"Voit list uusia tai muuttaa olemassaolevia."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Lis"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Valmis"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Muokkaa"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Mink tyyppisen tietueen haluat list"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Muu kyttjrjestelm (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Muu kyttjrjestelm (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Muu kyttjrjestelm (Windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Kuva"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Juuri"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Liit"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Luku-kirjoitus"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Taulukko"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Turvaton"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Otsikko"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Oletus"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd:n koko"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "Ei Nytt"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Poista tietue"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Tyhj otsikkoa ei sallita"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Otsikko on jo kytss"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Mink tyyppinen osiointi?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Lysin %s %s liitnt"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Onko sinulla muita?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Onko koneessa %s liitynt?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Ei"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Kyll"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Katso laitteistotietoja"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Asetan ajuria %s ohjaimelle %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(moduli %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Mit %s-ajuria kokeillaan?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Joissakin tapauksissa %s-ajuri tarvitsee listietoja toimiakseen kunnolla,\n"
-"joskin tavallisesti se toimii hyvin ilmankin. Haluaisitko antaa ajurille\n"
-"lismreit vai annatko sen itse etsi tarvitsemansa tiedot? Joskus haku\n"
-"voi jumittaa tietokoneen, mutta se ei aiheuta vahinkoa."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Automaattihaku"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Lisasetukset"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Voit antaa lisasetuksia modulille %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Voit antaa lisasetuksia modulille %s.\n"
-"Asetukset ovat muotoa ``nimi=arvo nimi2=arvo2 ...''.\n"
-"Esimerkiksi, ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Moduulin optiot:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Modulin %s lataaminen eponnistui.\n"
-"Haluatko yritt muilla asetuksilla?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(jo listty %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Salasana on liian yksinkertainen"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Anna kyttjtunnus"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"Kyttjtunnus saa sislt vain pieni kirjaimia, numeroita, `-' ja `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Kyttjtunnus on jo listty"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Lis kyttj"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Aseta kyttj\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Hyvksy kyttj"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Oikea nimi"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Kyttjtunnus"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Komentotulkki"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Kuvake"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Automaattinen kirjautuminen"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Tietokoneen saa automaattisesti kirjoittautumaan sisn oletuskyttjn.\n"
-"Jos et halua kytt tt ominaisuutta, paina peruuta-nappia."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Valitse oletuskyttj:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Valitse kytettv ikkunointijrjestelm:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Tervetuloa %s kayttojarjestelmanvalitsijaan!\n"
-"\n"
-"Valitse k~^Dytt~^Tj~^Drjestelm~^D yll~^D olevasta listasta tai\n"
-"odota %d sekuntia oletusk~^Dynnistyst~^D.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Tervetuloa GRUB k~^Dytt~^Tj~^Drjestelm~^Dnvalitsijaan!"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Kayt~^D %c- ja %c-napp~^Dimi~^D valitaksesi korostetun tietueen"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-"Paina enter kaynnist~^D~^Dksesi valitun kayttjrjestelmn, 'e' muokataksesi"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "komennot ennen kynnistyst, tai 'c' komentoriville"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Korostettu tietue kynnistetn automaattisesti %d sekunnissa."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "ei tarpeeksi tilaa /boot-hakemistossa"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Typyt"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Kynnistysvalikko"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "ohjeita ei ole viel olemassa.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Kynnistyksen tavan asetus"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Tiedosto"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Tiedosto/_Uusi"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Tiedosto/_Avaa"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Tiedosto/_Tallenna"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Tiedosto/Tallenna _Nimell"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Tiedosto/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Tiedosto/_Poistu"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Optiot"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Optiot/Testi"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Apua"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Apua/_Tietoja..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Mrittele"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Tll hetkell kytss oleva jrjestelmlataaja on %s.\n"
-"Valitse Aseta kynnistksesi asennusohjelman."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Lilo/grub-tila"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Uuden tyylin kategoroiva tarkkailija"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Uuden tyylin tarkkailija"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Perinteinen tarkkailija"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Perinteinen Gtk+ tarkkailija"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Kyt Auroraa kynnistyksen aikana"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Kynnistila"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Kyt X-Window-jrjestelm"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Ei, en halua autologinia"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Kyll, haluan autologinin (kyttj, ymprist)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Jrjestelmn tila"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Oletus"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Peruuta"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "ei voi lukea tiedostoa /etc/inittab: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "ei voi lukea tiedostoa /etc/sysconfig/autologin: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "LILO:n asennus eponnistu. Seuraava virhe tapahtui:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Luo"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Irroita"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Poista"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Alusta"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Uusi koko"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tyyppi"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Liitospaikka"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Kirjoita /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Vaihda asiantuntijatilaan"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Vaihda normaalitilaan"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Palauta tiedostosta"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Tallenna tiedostoon"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Velho"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Palauta levykkeelt"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Tallenna levykkeelle"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Tyhjenn kaikki"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Alusta kaikki"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Automaattinen varaus"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Kaikki primriosiot kytetty"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Uusia osioita ei voida list"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Voidaksesi luoda lis osioita tuhoa yksi olemassaoleva osio jotta voisit "
-"luoda laajennetun osion"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Ei tarpeeksi tilaa automaattiseen tilanvaraukseen"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Peruuta"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Kirjoita osiotaulu"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Lisasetukset"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Tyhj"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Muu"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Tiedostojrjestelmien tyypit:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Yksityiskohdat"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Sinulla on yksi suuri FAT-osio.\n"
-"(Yleens Microsoft DOS/Windowsin kytss).\n"
-"Ehdotus: muuta ensimmiseksi osion kokoa\n"
-"(klikkaa osiota ja valitse sitten \"Uusi koko\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Tee ensin varmuuskopio tiedoistasi"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lue tarkkaan!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Jos aiot kytt aboot:ia, varmista ett jtt vapaata tilaa levyn alkuun\n"
-"(2048 sektoria on tarpeeksi)"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Varo: tm on vaarallinen toiminto"
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Virhe"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Liitospaikka: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Laite: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS-asema: %s (vain arvaus)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tyyppi: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nimi: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Alkaa: sektori %s\n"
-
-# mat
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Koko: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektoria"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Sylinterist %d sylinteriin %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Alustettu\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Ei alustettu\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Liitetty\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback tiedostot: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Osiolta kynnistetn oletuksena\n"
-" (MS-DOS kynnistys, ei lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Taso %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Palan koko %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-levyt %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Loopback-tiedoston nimi: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"On mahdollista, ett tm osio on\n"
-"ajuriosio. Sinun olisi kaiketi\n"
-"parasta jtt se rauhaan.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Tm erityinen Bootsrap-\n"
-"osio on jrjestelmsi\n"
-"kaksoiskynnistmiseksi.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Klikkaa osiota"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Koko: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometria: %s sylinteri, %s lukupt, %s sektoria\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-levyt %s\n"
-
-# mat
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Osion tyyppi: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "vylss %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Liit"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktiivinen"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Lis RAIDiin"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Poista RAIDista"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Muokkaa RAIDia"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Lis LVM:iin"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Poista LVM:st"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Kyt loopback-tiedostoa"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Valitse toiminta"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"/boot hakemistoa ei voida luoda nin kauas levyn alusta (sylinterille joka "
-"on > 1024).\n"
-"Joko kytt LILOa ja se ei toimi, tai et kyt LILOa, jolloin et tarvitse /"
-"boot -hakemistoa"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Osio jolle valitsit juuren (/) on fyysisesti yli 1024 sylinterin levyll,\n"
-"eik sinulla ole /boot osiota.\n"
-"Jos haluat kytt LILO-kynnistyksenhallintaa, lis Linuxille /boot osio."
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Olet valinnut ohjelmallisen RAID-osion juuriosioksi (/).\n"
-"Mikn kynnistyslataaja ei osaa ksitell tt ilman /boot -osiota.\n"
-"Lis /boot -osio, jos haluat kytt liloa tai grubia"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Kyt sen sijaan ``%s'':"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Kyt ensin komentoa ``Irroita''"
-
-# mat
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr "Vaihdettuasi osion %s tyyppi kaikki sill olevat tiedot hvivt"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Jatka joka tapauksessa?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Lopeta tallentamatta"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Lopeta kirjoittamatta osiotalua?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Muuta osiotyyppi"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Mink tiedostojrjestelmn haluat?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Et voi kytt ReiserFS: alle 32 Mt osioilla"
-
-# mat
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Minne haluat liitt loopback-tiedoston %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Minne haluat liitt laitteen %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Ei voida poistaa liitospaikkaa koska osiota kytetn loopback-tilassa.\n"
-"Poista loopback-tiedosto ensin"
-
-# mat
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "Kaikki osiolla %s olevat tiedot hvivt osion alustuksen yhteydess"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Alustan"
-
-# mat
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Alustan loopback-osiota %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Alustan osiota %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Osioiden alustuksen jlkeen,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "kaikki tieto nill osioilla on hvinnyt"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Siirr"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Mille levylle haluat siirt?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektori"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Mille sektorille haluat siirt?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Siirrn"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Siirrn osiota..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Levyn %s osiotaulu kirjotetaan levylle!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Sinun tytyy kynnist kone uudelleen ennen kuin muutos tulee voimaan"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Lasken FAT-tiedostojrjestelmn rajoja"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Muutan kokoa"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Tmn osion kokoa ei voi muuttaa"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Kaikki osion tiedot tulee varmuuskopioida"
-
-# mat
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "Osion %s koon muuttamisen jlkeen kaikki osion tiedot tuhoutuvat"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Valitse uusi koko"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "Mt"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Luo uusi osio"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Aloitussektori: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Koko Mt: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Tiedostojrjestelm: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Etuoikeus: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Osiota ei voida kytt loopback-osiona"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Loopback tiedostonimi: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Tiedosto on jo kytss toiselle loopbackille, valitse toinen"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Tiedosto on jo olemassa. Kyt sit?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Valitse tiedosto"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Osiotaulun varmuuskopio ei ole saman kokoinen\n"
-"Jatka silti?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Varoitus"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Aseta levyke asemaan\n"
-"Kaikki levykkeen tiedot hvivt"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Yritn osiotalulun palautusta"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "laite"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "taso"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "palan koko"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Valitse olemassaoleva RAID johon listn"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "uusi"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Valitse olemassaoleva LVM johon listn"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "LVM:n nimi?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Vaihdettavien medioiden automaattinen liittminen"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Pelasta osiotaulu"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Uudelleenlataa"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s:n alustus %s:ta eponnistui"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "en osaa alustaa %s: tyyppi %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "liittminen eponnistui: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "virhe irroitettaessa %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "yksinkertainen"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "palvelin"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Liitospaikan pit alkaa /-merkill."
-
-# mat
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "On jo olemassa osio, jonka liitospaikka on %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Rengasmaisia liitoksia %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "Et voi kytt LVM loogista taltiota liitekohtana %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Tmn hakemiston pitisi olla juuritiedostojrjestelmss"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Tarvitset thn liitoskohtaan oikean tiedostojrjestelmn (ext2, reiserfs)\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Virhe kirjoitettaessa tiedostoon %s: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"On tapahtunut virhe - ei lytynyt ainuttakaan laitetta, joille voi luoda "
-"uuden tiedostojrjestelmn. Tarkista laitteistosi korjataksesi ongelman"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Sinulla ei ole yhtn osiota!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Valitse haluttu kieli asennukseen ja jrjestelmn kyttn."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Jatkaaksesi asennusta sinun tytyy hyvksy yll olevan lisenssin ehdot.\n"
-"\n"
-"\n"
-"Valitse \"Hyvksy\", jos hyvksyt ehdot.\n"
-"\n"
-"\n"
-"Valitse \"Kieltydy\", jos et hyvksy ehtoja. Tllin asennus pttyy "
-"muuttamatta nykyisi asetuksia."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Valitse nppinasettelu allaolevasta listasta"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Jos haluat asennuksen jlkeen vaihtaa jrjestelmn kyttm kielt\n"
-"(asennuksen alussa valitsemiesi lisksi), valitse ne yllolevasta listasta.\n"
-"Jos haluat valita kaikki, sinun ei tarvitse valita muita kuin \"Kaikki\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Valitse \"Asenna\", jos sinulla ei ole aikaisempaa versiota Linux-"
-"Mandrakesta\n"
-"asennettuna tai haluat kytt useaa kyttjrjestelm.\n"
-"\n"
-"\n"
-"Valitse \"Pivit\", jos haluat pivitt olemassaolevan version Linux-"
-"Mandrakesta.\n"
-"\n"
-"\n"
-"Riippuen osaamisestasi GNU/Linux-jrjestelmiss, voit valita jonkin "
-"seuraavista tasoista Linux-Mandrake -kyttjrjestelmn asentamiseen tai "
-"pivittmiseen:\n"
-"\n"
-"\n"
-"\t* Suositeltu: jos et ole ikin asentanut GNU/Linux-kyttjrjestelm, "
-"valitse tm vaihtoehto.\n"
-"\t Asennus tulee olemaan helppo ja sinulta tullaan kysymn vain muutama "
-"kysymys.\n"
-"\n"
-"\n"
-"\t* Mukautettu: jos tunnet GNU/Linuxin tarpeeksi hyvin, voit valita "
-"jrjestelmn tyypin kytn mukaan\n"
-"\t (tyasema, palvelin, kehitys). Sinun tarvitsee vastata useampaan "
-"kysymykseen, kuin \"Suositellussa\" asennuksessa,\n"
-"\t joten sinun tytyy tiet miten GNU/Linux toimii, jos haluat valita "
-"tmn asennusluokan.\n"
-"\n"
-"\n"
-"\t* Asiantuntija: jos tunnet GNU/Linux-jrjestelmn hyvin, voit valita tmn "
-"asennusluokan. Kuten\n"
-"\t \"Mukautetussa\" asennuksessa, sinun tytyy valita ensisijainen "
-"kyttkohde (tyasema,\n"
-"\t palvelin, kehitys). Tm asennusluokka tarjoaa joustavimman asennuksen, "
-"mutta jotkin kysymykset\n"
-"\t voivat osoittautua erittin vaikeiksi niille, jotka eivt tunne GNU/"
-"Linuxia riittvn hyvin.\n"
-"\t l valitse tt asennusluokkaa, ellet ole aivan varma, mit olet "
-"tekemss."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Valitse:\n"
-"\n"
-" - Mukautettu: Jos tunnet GNU/Linuxin ennestn, voit valita erikseen "
-"koneen kytttarkoituksen.\n"
-" Katso alta listietoja.\n"
-"\n"
-"\n"
-" - Asiantuntija: Valinta edellytt, ett tunnet GNU/Linuxin ennestn "
-"hyvin ja haluat tehd\n"
-" erittin mukautetun asennuksen. Mys tss luokassa voit valita koneesi "
-"kytttarkoituksen.\n"
-" Mutta l valitse tt, JOS ET TODELLA TIED MIT OLET TEKEMSS!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Sinun tulee nyt valita koneesi ensisijainen kytttarkoitus. Valinnat ovat:\n"
-"\n"
-"\t* Tyasema: ideaali valinta, jos aiot kytt tietokonettasi "
-"jokapivisiss tehtviss, joko typaikalla\n"
-"\t tai kotona.\n"
-"\n"
-"\n"
-"\t* Kehitysymprist: hyv valinta, jos aiot kytt tietokonettasi "
-"ensisijaisesti ohjelmistokehitykseen.\n"
-"\t Tmn asennuksen myt sinulla on tydellinen valikoima tykaluja niin "
-"kntmiseen, debuggaamiseen,\n"
-"lhdekoodin muotoiluun kuin ohjelmistopakettien tekoon.\n"
-"\n"
-"\n"
-"\t* Palvelin: jos aiot kytt tt tietokonetta internet-palvelimena, tm "
-"valinta on paras mahdollinen.\n"
-"Vaihtoehtoja ovat mm: tiedostopalvelin (NFS, SBM), tulostuspalvelin (Unix- "
-"tai Microsoft Windows -tyyppinen),\n"
-"autentikointipalvelin (NIS), tietokantapalvelin ja niin edelleen. "
-"Graafisiakyttliittymi ei asenneta oletuksena."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX hakee koneeseen asennettuja PCI-vylisi SCSI-laitteita. \n"
-"Jos SCSI-laite lytyy ja DrakX tiet mit ajuria kytt, laite otetaan \n"
-"automaattisesti kyttn.\n"
-"\n"
-"\n"
-"Jos tietokoneessasi ei ole SCSI-laitetta tai DrakX ei tunnista sinulla \n"
-"olevaa ISA- tai PCI-vylist SCSI-laitetta, DrakX kysyy onko koneessasi\n"
-"SCSI-liitynt. Jos ei, voit vallita \"Ei\". Jos valitset \"Kyll\", tulee \n"
-"nkyviin lista ajureista, josta voit valita sinulla olevan laitteen.\n"
-"\n"
-"\n"
-"Jos sinun tytyy valita ajuri manuaalisesti, DrakX kysyy, haluaisitko "
-"mritt\n"
-"sille lisoptioita. Sinun kannattaa antaa DrakX:n tutkia laitteistosi "
-"optioiden\n"
-"lytmiseksi, sill yleens kyseinen toiminto toimii hyvin.\n"
-"\n"
-"\n"
-"Jos ei, sinun pit itse antaa optiot kyseiselle ajurille. Katso listietoja "
-"kyttohjeesta\n"
-"(luku 3, osa \"Collective informations on your hardware\"), jossa on "
-"vinkkej\n"
-"miten nm tiedot lytyvt laitteiston ohjekirjoista, "
-"laittteistovalmistajan\n"
-"webbisivuilta (jos sinulla on internetyhteys) tai Microsoft Windowsista "
-"(jos\n"
-"se on asennettu tietokoneeseesi)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Tss vaiheessa sinun pit valita mihin haluat asentaa Linux-Mandrake\n"
-"-kyttjrjestelmn. Jos kiintolevysi on tyhj tai olemassaoleva "
-"kyttjrjestelm\n"
-"kytt kaiken siin olevan tilan, sinun pit osioida kiintolevysi. "
-"Pohjimmiltaan\n"
-"kiintolevyn osiointi koostuu levytilan jakamisesta loogisiin osiin tilan "
-"saamiseksi\n"
-"Linux-Mandrake -jrjestelmlle.\n"
-"\n"
-"\n"
-"Koska osiointiprosessin vaikutukset ovat tavallisesti peruuttamattomia, voi\n"
-"osiointi olla pelottavaa ja stressaavaa kokemattomalle kyttjlle. Tm "
-"velho\n"
-"helpottaa prosessia. Ennen kuin aloitat, kyt riittvsti aikaa ohjekirjan\n"
-"osiointia koskevien kohtien lukemiseen.\n"
-"\n"
-"\n"
-"Tarvitset vhintn kaksi osiota. Toinen on kyttjrjestelm itsen,\n"
-"toinen virtuaalimuisia varten.\n"
-"\n"
-"\n"
-"Jos osiot on jo mritelty (edellisess asennuksessa tai jonkin toisen\n"
-"osiointiohjelman toimesta), sinun tarvitsee vain valita ne kytettvksi\n"
-"asentaaksesi Linux-jrjestelmn koneeseesi.\n"
-"\n"
-"\n"
-"Jos osioita ei ole viel mritelty, sinun pit luoda ne. Kyt siihen "
-"tt\n"
-"velhoa. Riippuen kiintolevysi asetuksista, sinulla voi olla useitakin "
-"vaihtoehtoja:\n"
-"\n"
-"\n"
-"\t* Tyhjenn koko lavy: jos haluat tuhota kaikki levyll olevan tiedon sek "
-"sill olevat osiot ja asentaa Linux-Mandrake -jrjestelmn\n"
-"\t niden tilalle, voit valita tnn option. Ole varovainen tmn "
-"vaihtoehdon kanssa, sill et pysty en palauttamaan levyn sislt\n"
-"\t ennalleen sen jlkeen, kun olet hyvksynyt toiminnon.\n"
-"\n"
-"\n"
-"\t* Kyt tyhj tilaa Windows-osiossa: Jos Microsoft Windows on asennettuna "
-"kiintolevyllesi ja se kytt kaiken levyll\n"
-"\t olevan tilan, sinun tytyy tehd vapaata tilaa asentaaksesi Linuxin. "
-"Tehdksesi sen, voit tuhota Microsoft Windowsin\n"
-"\t kyttmn osion ja tiedot (katso kohta \"Tyhjenn koko lavy\" tai "
-"\"Asiantuntijatila\") tai voit muuttaa Microsoft Windowsin\n"
-"\t kyttmn osion kokoa. Koon muuttaminen voidaan tehd hvittmtt "
-"mitn levyll olevista tiedoista.\n"
-"\t Tm vaihtoehto on suositeltu, mikli haluat kytt sek Linux-"
-"Mandrakea ett Microsoft Windowsia samalla tietokoneella.\n"
-"\n"
-"\n"
-"\t* Ennen kuin valitset edellisen vaihtoehdon, sinun tulee tiet, ett "
-"Microsoft Windowsin kyttmn osion\n"
-"\t koko tulee olemaan pienempi kuin nykyn. Sinulla tulee siis olemaan "
-"vhemmn tilaa uusien ohjelmien\n"
-"\t asentamiseen ja tietojen tallentamiseen Microsoft Windowsin alla.\n"
-"\n"
-"\n"
-"\t* Asiantuntijatila: jos haluat osioida kiintolevysi itse, voit valita "
-"tmn vaihtoehdon. l valitse tt ratkaisua,\n"
-"\t ellet tied, mit olet tekemss. Tehokkuutensa lisksi vaihtoehto on "
-"mys vaarallinen: voit helposti\n"
-"\t menett kaiken levyllsi olevan tiedon."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Tss vaiheessa sinun pit valita mille osioille haluat asentaa Linux-"
-"Mandrake\n"
-"-kyttjrjestelmn. Jos osiot on jo mritelty (edellisess asennuksessa \n"
-"tai jonkin toisen osiointiohjelman toimesta), voit kytt olemassaolevia "
-"osioita.\n"
-"Muuten kiintolevyosiot tytyy mritt.\n"
-"\n"
-"\n"
-"Luodaksesi osioita, sinun tytyy ensiksi valita kiintolevy. Voit valita \n"
-"levyn osioitavaksi painamalla \"hda\" ensimmille IDE-asemalle, \"hdb\"\n"
-"toiselle tai \"sda\" ensimmiselle SCSI-levylle ja niin edelleen.\n"
-"\n"
-"\n"
-"Osioidaksesi valitun kiintolevyn, voit kytt seuraavia vaihtoehtoja:\n"
-"\n"
-"\n"
-" * Tyhjenn kaikki: tm valinta tuhoaa kaikki osiot valitulla "
-"kiintolevyll.\n"
-"\n"
-"\n"
-" * Automaattinen varaus: Tm valinta luo automaattisesti Ext2- ja "
-"virtuaalimuistiosiot kiintolevysi kyttmttmst osasta.\n"
-"\n"
-"\n"
-" * Pelasta osiointitaulu: jos osiointitaulu on vaurioitunut, voit yritt "
-"toipua vaurioista kyttmll tt valintaa.\n"
-" Muista, ett tm toimenpide voi mys eponnistua.\n"
-"\n"
-"\n"
-" * Peruuta: voit kytt tt valintaa peruaksesi tehdyt muutokset.\n"
-"\n"
-"\n"
-" * Palauta: voit kytt tt valintaa, jos haluat perua kaikki muutokset "
-"ja palauttaa alkuperisen osiointitaulun.\n"
-"\n"
-"\n"
-" * Velho: jos haluat kytt velhoa kiintolevysi osiointiin, voit kytt "
-"tt valintaa. Tm on \n"
-" suositeltu valinta, jos sinulla ei ole paljoa kokemusta osioinnista.\n"
-"\n"
-"\n"
-" * Palauta levykkeelt: jos olet tallentanut osiointitaulun levykkeelle, "
-"voit palauttaa tallennushetkell \n"
-" voimassa olleet asetukset.\n"
-"\n"
-"\n"
-" * Tallenna levykkeelle: jos haluat tallentaa osiointitaulun levylle "
-"pystyksesi palauttamaan sen,\n"
-" voit kytt tt valintaa. Suosittelen, ett teet tmn ennen kuin "
-"muutat osiointitietoja.\n"
-"\n"
-"\n"
-" * Valmis: kun olet osioinut kiintolevysi, kyt tt valintaa "
-"tallentaaksesi muutokset levylle.\n"
-"\n"
-"\n"
-"Kun osio on valittuna voit kytt:\n"
-"\n"
-"\n"
-" * Ctrl-c luodaksesi uuden osion (kun tyhj osio on valittuna)\n"
-"\n"
-" * Ctrl-d tuhotaksesi osion\n"
-"\n"
-" * Ctrl-m asettaaksesi osion liitoskohdan tiedostojrjestelmss\n"
-"\n"
-"\n"
-"Mikli asennat jrjestelm PPC-koneelta, haluat luoda pienen HFS "
-"'bootstrap'-osion, jonka koko on vhintn \n"
-"1 Mt yaboot-jrjestelmnlataajan kyttn. Jos haluat, voit tehd "
-"tuostaosiosta mys suuremman, sanotaan 50 Mt, \n"
-"kyttksesi sit varaytimen ja ramdisk-imagen tallentamiseksi jrjestelmn "
-"latauksen httilanteita varten."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Yll on lueteltu kiintolevyill olevat Linux-osiot. Voit pit velhon "
-"tekemt\n"
-"valinnat, jotka ovat sopivat tavalliseen kyttn. Jos muutat nit "
-"valintoja,\n"
-"sinun tytyy mritell vhintn juuriosio (\"/\"). l valitse liian "
-"pient osiota\n"
-"sill silloin kaikkia ohjelmia ei voida asentaa. Jos haluat tallettaa "
-"tietosi erilliselle\n"
-"osiolle, sinun tytyy valita mys \"/home\" (mik on mahdollista vain, jos \n"
-"sinulla on enemmn kuin yksi Linux-osio).\n"
-"\n"
-"\n"
-"Tiedoksi: jokaisesta osiosta on listattu seuraavat tiedot: \"Nimi\", "
-"\"Kapasiteetti\".\n"
-"\n"
-"\n"
-"\"Nimi\" on koodattu seuraavalla tavalla: \"Kiintolevyn tyyppi\", "
-"\"Kiintolevyn numero\",\n"
-"\"Osion numero\" (esimerkiksi \"hda1\").\n"
-"\n"
-"\n"
-"\"Kiintolevyn tyyppi\" on \"hd\" jos kiintolevysi on IDE-levy ja \"sd\" jos "
-"se on\n"
-"SCSI-levy.\n"
-"\n"
-"\n"
-"\"Kiintolevyn kirjain\" on aina kirjain heti \"hd\":n tai \"sd\":n jlkeen. "
-"IDE-asemilla:\n"
-"\n"
-" * \"a\" tarkoittaa \"herraksi mritelty kiintolevy ensisijaisella IDE-"
-"laitteella\",\n"
-"\n"
-" * \"b\" tarkoittaa \"orjaksi mritelty kiintolevy ensisijaisella IDE-"
-"laitteella\",\n"
-"\n"
-" * \"c\" tarkoittaa \"herraksi mritelty kiintolevy toissijaisella IDE-"
-"laitteella\",\n"
-"\n"
-" * \"d\" tarkoittaa \"orjaksi mritelty kiintolevy toissijaisella IDE-"
-"laitteella\",\n"
-"\n"
-"\n"
-"SCSI-levyill \"a\" tarkoittaa \"ensisijainen kiintolevy\", \"b\" "
-"puolestaan\n"
-"\"toissijainen kiintolevy\", jne..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Valitse levyasema, jolle haluat asentaa uuden Linux-Mandrake -osion.\n"
-"Ole varovainen, sill kaikki tieto tll asemalla tuhoutuu,\n"
-"eik ole en palautettavissa."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Paina \"OK\", jos haluat tuhota kaiken tiedon ja osiot tlt\n"
-"kiintolevylt. Mys levyll olleet Windowsin tiedostot tuhoutuvat.\n"
-"Valittuasi \"OK\" et voi en palauttaa nit tietoja ennalleen,\n"
-"joten ole varovainen.\n"
-"\n"
-"\n"
-"Paina \"Peruuta\" peruuttaaksesi tmn toiminnon. Peruuttamalla\n"
-"toiminnon et menet mitn levyll olevia tietoja tai osioita."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Kiintolevylt on lytynyt useampia kuin yksi Microsoft Windows -osio.\n"
-"Valitse niist se, jonka kokoa haluat muuttaa pystyksesi asentamaan\n"
-"Linux-Mandraken tietokoneeseesi.\n"
-"\n"
-"\n"
-"Tiedoksi: jokaisesta osiosta on listattu seuraavat tiedot: \"Nimi Linuxissa"
-"\", \n"
-"\"Nimi Windowsissa\", \"Kapasiteetti\".\n"
-"\n"
-"\n"
-"\"Nimi Linuxissa\" on koodattu seuraavalla tavalla: \"Kiintolevyn tyyppi"
-"\", \n"
-"\"Kiintolevyn numero\", \"Osion numero\" (esimerkiksi \"hda1\").\n"
-"\n"
-"\n"
-"\"Kiintolevyn tyyppi\" on \"hd\" jos kiintolevysi on IDE-levy ja \"sd\" jos "
-"se on\n"
-"SCSI-levy.\n"
-"\n"
-"\n"
-"\"Kiintolevyn kirjain\" on aina kirjain heti \"hd\":n tai \"sd\":n jlkeen. "
-"IDE-asemilla:\n"
-"\n"
-" * \"a\" tarkoittaa \"herraksi mritelty kiintolevy ensisijaisella IDE-"
-"laitteella\",\n"
-"\n"
-" * \"b\" tarkoittaa \"orjaksi mritelty kiintolevy ensisijaisella IDE-"
-"laitteella\",\n"
-"\n"
-" * \"c\" tarkoittaa \"herraksi mritelty kiintolevy toissijaisella IDE-"
-"laitteella\",\n"
-"\n"
-" * \"d\" tarkoittaa \"orjaksi mritelty kiintolevy toissijaisella IDE-"
-"laitteella\",\n"
-"\n"
-"\n"
-"SCSI-levyill \"a\" tarkoittaa \"ensisijainen kiintolevy\", \"b\" "
-"puolestaan\n"
-"\"toissijainen kiintolevy\", jne...\n"
-"\n"
-"\"Nimi Windowsissa\" on kiintolevysi kirjain Windowsin alla ( ensimminen "
-"levy\n"
-"tai osio on nimetty \"C:\":ksi)."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Krsivllisyytt. Tm toiminto voi kest useita minuutteja."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Kaikki uudet osiot tytyy alustaa kytt varten (jossa alustaminen \n"
-"tarkoittaa tiedostojrjestelmn luontia).\n"
-"\n"
-"\n"
-"Samalla voit haluta alustaa uudelleen mys olemassaolevia osioita\n"
-"poistaaksesi niiss jo olevat tiedot. Jos haluat haluat tehd niin,\n"
-"valitse ne osiot, jotka haluat alustaa.\n"
-"\n"
-"\n"
-"Huomaa, ett sinun ei ole pakko alustaa kaikkia jo olemassa olevia \n"
-"osioita. Mutta sinun olisi syyt alustaa ne osiot, joilla "
-"kyttjrjestelm \n"
-"sijaitsee (kuten \"/\", \"/usr\" ja \"/var\"). Voit silytt ne osiot, \n"
-"joilla henkilkohtaiset tiedostosi sijaitsevat (tavallisesti /home).\n"
-"\n"
-"\n"
-"Ole huolellinen, mitk osiot valitset alustettavaksi, sill alustamisen\n"
-"jlkeen kaikki niill oleva tieto on poissa etk voi en palauttaa niit.\n"
-"\n"
-"\n"
-"Valitse \"Ok\", kun olet valmis alustamaan osiot.\n"
-"\n"
-"\n"
-"Valitse \"Peruuta\", jos haluat valita eri osiot Linux-Mandraken\n"
-"asentamiseen."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Voit nyt valita ne ohjelmistoryhmt, jotka haluat asentaa tai pivitt.\n"
-"\n"
-"\n"
-"Tmn vaiheen jlkeen DrakX tarkistaa, onko sinulla tarpeeksi vapaata tilaa\n"
-"niiden kaikkien asentamiseksi. Jos ei, niin ohjelma varoittaa sinua siit. "
-"Jos\n"
-"haluat siit huolimatta jatkaa, DrakX jatkaa asennusvaiheeseen, mutta "
-"jtt\n"
-"asentamatta joitakin vhemmn trkeit paketteja. Listan lopusta voit "
-"valita\n"
-"mys vaihtoehdon \"Yksittisten pakettien valinta\", mink jlkeen voit\n"
-"asentaa haluamasi yksittiset ohjelmistopaketit yli tuhannesta vaihtoehdosta."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Voit nyt valita yksittin kaikki ne paketit, jotka haluat asentaa.\n"
-"\n"
-"\n"
-"Voit laajentaa tai pienent puuta painamalla valintanappia paketti-"
-"ikkunan \n"
-"vasemmasta kulmasta.\n"
-"\n"
-"\n"
-"Jos haluat mieluummin valita paketit aakkosjrjestyksess olevasta \n"
-"listasta, paina ikonia \"Vaihda tasaisen ja ryhmjrjestyksen vlill\".\n"
-"\n"
-"\n"
-"Jos et halua, ett sinua varoitetaan pakettien riippuvuussuhteista, "
-"valitse \n"
-"\"Nyt automaattisesti valitut paketit\". Huomaa, ett tllin poistamalla "
-"yhden \n"
-"paketin voit huomaamattasi poistaa useita muitakin paketteja, jotka \n"
-"ovat riippuvaisia poistetusta paketista."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Jos sinulla on kaikki yllolevan listan CD:t, paina Ok.\n"
-"Jos sinulla ei ole yhtn em. levyist, paina Peruuta.\n"
-"Jos vain jotkin levyist puuttuvat, poista niiden valinnat, ja paina Ok"
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Uutta Linux-Mandrake -kyttjrjestelmsi asennetaan parasta aikaa.\n"
-"Tm vaihe vie kymmeni minuutteja (riippuen asennuksesi koosta\n"
-"ja tietokoneesi nopeudesta).\n"
-"\n"
-"\n"
-"Krsivllisyytt."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Voit nyt testata hiirtsi. Kyt hiiren painikkeita ja rullaa "
-"varmistaaksesi\n"
-"ett asetukset ovat kunnossa. Jos eivt ole, voit painaa \"Peruuta\"\n"
-"valitaksesi toisen ajurin."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Valitse oikea portti. Esimerkiksi MS Windowsin portti COM1\n"
-"on nimetty ttyS0:ksi GNU/Linuxissa."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Jos haluat yhdist tietokoneesi internettiin tai paikalliseen "
-"lhiverkkoon,\n"
-"valitse haluamasi optio. Kytke kuitenkin kyseinen laite plle, ennen kuin\n"
-"valitset, sill tllin DrakX voi tunnistaa laitteen automaattisesti.\n"
-"\n"
-"\n"
-"Jos sinulla ei ole internetliittym tai lhiverkkoa, valitse \"Kytke pois\n"
-"verkkoyhteydet\".\n"
-"\n"
-"\n"
-"Jos haluat asettaa verkkoyhteydet myhemmin tai olet jo asettanut\n"
-"koneesi verkkoasetukset, valitse \"Valmis\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Modeemia ei lydetty. Valitse sarjaportti, johon modeemi on kytketty.\n"
-"\n"
-"\n"
-"Tiedoksi: ensimminen sarjaportti (\"COM1\" Microsoft Windowsissa)\n"
-"on \"ttyS0\" Linuxissa."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Voit nyt antaa soiton asetukset. Jos et tied tai et ole varma, mit\n"
-"sinun pitisi kirjoittaa thn, saat oikeat tiedot internetyhteyden\n"
-"palveluntarjoajaltasi. Jos et anna DNS (nimipalvelu) -tiedoja,\n"
-"ne haetaan internetyhteyden tarjoajaltasi yhteytt muodostettaessa."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Jos modeemisi on ulkoinen, kytke se plle nyt, jotta DrakX tunnistaisisen "
-"automaattisesti."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Kytke modeemisi plle ja valitse oikea vaihtoehto."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Jos et ole varma, ett yll olevat tiedot ovat\n"
-"oikeita tai jos et ole varma, mit sinun pitisi kirjoittaa,\n"
-"saat oikeat tiedot omalta internet-palveluntarjoajaltasi.\n"
-"Jos et syt DNS-tietoja (nimipalvelin) tnne, tuo tieto\n"
-"saadaan palveluntarjoajalta yhteydenoton aikana."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Voit antaa nyt koneesi nimen, jos haluat. Jos et ole\n"
-"varma, mit sinun pitisi kirjoittaa thn, oikeat tiedot saat\n"
-"omalta internet-palveluntarjoajaltasi."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Voit nyt asettaa verkkokorttisi.\n"
-"\n"
-" - IP-osoite: jos et tied osoitetta, voit kysy sit "
-"verkkoyllpitjltsi.\n"
-" Sinun ei pid sytt IP-osoitetta, jos valitset \"Automaattinen IP\" "
-"alta.\n"
-"\n"
-" - Verkkopeite: \"255.255.255.0\" on yleens hyv valinta. Jos et ole "
-"tysin\n"
-" varma verkkopeitteest, voit kysy sit verkkoyllpitjltsi.\n"
-"\n"
-" - Automaattinen IP: Jos verkkosi kytt BOOTP- tai DHCP-protokollaa,\n"
-" valitse tm optio. Jos valitset tmn, kohtaa \"IP-osoite\" ei "
-"tarvitse tytt.\n"
-" Jos et ole varma, pitisik sinun valita tm vaihtoehto, kysy "
-"verkkoyllpitjltsi."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Voit nyt kirjoittaa koneesi nimen. Jos et tied, mit\n"
-"sinun pitisi kirjoittaa, kysy lis verkkoyllpitjltsi."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Voit nyt kirjoittaa koneesi nimen. Jos et ole varma,\n"
-"mit sinun pitisi kirjoittaa, jt tm kohta tyhjksi."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Voit antaa nyt soittoyhteyden asetukset. Jos et ole varma mit kenttiin\n"
-"kirjotetaan oikeat tiedot saat Internet palveluntarjoajaltasi."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Jos kytt vlityspalvelimia aseta ne nyt. Jos et tied kyttk\n"
-"vlityspalvelimia kysy verkkoyllpitjltsi tai Internet\n"
-"palveluntarjoajaltasi."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Voit asentaa kryptograafiset ohjelmistot jos internetyhteytesi on luotu\n"
-"oikein. Valitse ensiksi peilijrjestelm, jota haluat kytt ja valitse "
-"sitten\n"
-"ne paketit, jotka haluat asentaa.\n"
-"\n"
-"\n"
-"Huomaa ett sinun tulee valita peilijrjestelm ja paketit oman maasi\n"
-"lainsdnnn mukaan."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Voit nyt asentaa aikavyhykkeen sen mukaan, miss pin asut."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU/Linux hallitsee aikaa GMT:n (Greenwich Meridian Time) mukaan\n"
-"ja muuttaa sen paikalliseen aikaan valitsemasi aikavyhykkeen mukaan.\n"
-"\n"
-"\n"
-"Jos koneellasi on mys Microsoft Windows, valitse \"Ei\"."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Voit nyt valita mit palveluita haluat kynnist koneen kynnistyess.\n"
-"\n"
-"\n"
-"Kun siirrt hiiren osoittimen palvelun plle, pieni ohje tulee esiin\n"
-"ja kertoo palvelun tarkoituksen.\n"
-"0\n"
-"Ole varovainen niss asetuksissa, jos aiot kytt konettasi palvelimena: "
-"et\n"
-"varmaankaan halua kynnist niit palveluita, joita et tarvitse. Muista "
-"mys,\n"
-"ett jotkin palvelut voivat olla vaarallisia, jos ne ovat kytss "
-"palvelimessa.\n"
-"Yleens kannattaa valita vain ne palvelut, joita todella tarvitset."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Voit asettaa paikallisen kirjoittimen (liitetty omaan koneeseesi) tai "
-"ulkoisen\n"
-"kirjoittimen (kytettviss Unix-, Netware- tai MS Windows -verkon yli)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Jos haluat mahdollistaa paperille tulostamisen, valitse toinen seuraavista \n"
-"tulostusjrjestelmist: CUPS tai LPR.\n"
-"\n"
-"\n"
-"CUPS on uusi, tehokas ja joustava tulostusjrjestelm Unix-koneissa \n"
-"(CUPS tulee sanoista: \"Common Unix Printing System\"). Se on Linux-\n"
-"Mandraken kyttm oletusjrjestelm.\n"
-"\n"
-"\n"
-"LPR on Linux-Mandraken aikaisempien versioiden kyttm vanha \n"
-"tulostusjrjestelm.\n"
-"\n"
-"\n"
-"Jos sinulla ei ole kirjoitinta, valitse \"Ei kumpaakaan\"."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux voi kytt useaa eri tyyppist kirjoitinta. Jokainen nist \n"
-"tarvitsee erilaiset asetukset.\n"
-"\n"
-"\n"
-"Jos kirjoittimesi on fyysisesti kiinni tietokoneessasi, valitse "
-"\"Paikallinen \n"
-"kirjoitin\".\n"
-"\n"
-"\n"
-"Jos haluat kytt kirjoitinta, joka on toisella Unix-koneella, valitse\n"
-"\"Ulkoinen kirjoitin\".\n"
-"\n"
-"\n"
-"Jos haluat kytt kirjoitinta, joka sijaitsee ulkoisella Microsoft Windows\n"
-"-koneella, (tai Unix-koneessa, joka kytt SMB-protokollaa),\n"
-"valitse \"SMB/Windows 95/98/NT\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Kytke kirjoittimesi plle ennen kuin jatkat seuraavaan vaiheeseen.\n"
-"Tm antaa DrakX:lle mahdollisuuden havaita sen.\n"
-"\n"
-"Sinun tytyy antaa joitakin tietoja thn.\n"
-"\n"
-"\n"
-" * Kirjoittimen nimi: tulostusjono kytt \"lp\":t kirjoittimen "
-"oletusnimen, joten sinulla tytyy olla kirjoitin, jonka nimi on \"lp\".\n"
-" Jos sinulla on vain yksi kirjoitin, voit nimet sen useaan kertaan. "
-"Sinun tytyy vain erottaa nimet putki-merkill (\"|\"). \n"
-" Joten jos pidt enemmn merkityksellisemmst nimest, sinun tytyy "
-"laittaa se ensimmiseksi, esim: \"Minun kirjoitin|lp\".\n"
-" Kirjoitin, jonka jokin nimi on \"lp\" toimii oletuskirjoittimena.\n"
-"\n"
-"\n"
-" * Kuvaus: tm on vapaaehtoinen, mutta kyttkelpoinen, jos tiekoneellasi "
-"on useampia kirjoittimia tai \n"
-" jos haluat jakaa kirjoittimen muille tietokoneille.\n"
-"\n"
-"\n"
-" * Sijainti: Jos haluat antaa tietoa kirjoittimesi sijainnista, \n"
-" kirjoita se thn (voit kirjoittaa thn mit tahansa, kuten \n"
-" esimerkiksi \"2. kerros\").\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Sinun tytyy antaa joitakin tietoja thn.\n"
-"\n"
-"\n"
-" * Kirjoittimen nimi: tulostusjono kytt \"lp\":t kirjoittimen "
-"oletusnimen, joten sinulla tytyy olla kirjoitin, jonka nimi on \"lp\".\n"
-" Jos sinulla on vain yksi kirjoitin, voit nimet sen useaan kertaan. "
-"Sinun tytyy vain erottaa nimet putki-merkill (\"|\"). \n"
-" Joten jos pidt enemmn merkityksellisemmst nimest, sinun tytyy "
-"laittaa se ensimmiseksi, esim: \"Minun kirjoitin|lp\".\n"
-" Kirjoitin, jonka jokin nimi on \"lp\" toimii oletuskirjoittimena.\n"
-"\n"
-"\n"
-" * Kirjoittimen yhteystapa: jos kirjoittimesi on fyysisesti liitetty "
-"tietokoneeseesi, valitse \"Paikallinen kirjoitin\".\n"
-" Jos haluat kytt kirjoitinta, joka on kiinni toisessa Unix-koneessa, "
-"valitse \"Ulkoinen lpd-kirjoitin\".\n"
-"\n"
-"\n"
-" Jos haluat kytt kirjoitinta, joka sijaitsee ulkoisella Microsoft "
-"Windows -koneella, (tai Unix-koneessa, \n"
-"joka kytt SMB-protokollaa), valitse \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" Jos haluat kytt kirjoitinta, joka sijaitsee NetWare-verkossa, "
-"valitse \"NetWare\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Kirjoitintasi ei voitu tunnistaa. Valitse mihin laitteeseen kirjoitin on "
-"kytketty.\n"
-"\n"
-"\n"
-"Listietoja: suurin osa kirjoittimista on kytketty tietokoneen ensimmiseen\n"
-"rinnakkaisporttiin. Sen nimi Linuxissa on \"/dev/lp0\" ja \"LPT1\" "
-"Microsoft\n"
-"Windowsissa."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Valitse kirjoitin yll olevasta listasta."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Valitse oikeat optiot kirjoittimellesi.\n"
-"Lue kirjoittimesi dokumentaatio, jos haluat tiet, mit valita tll.\n"
-"\n"
-"\n"
-"Sinulla on mahdollisuus testata asetuksia seuraavassa vaiheessa ja korjata "
-"niit, jos kirjoitin ei toimi haluamallasi tavalla."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Voit antaa nyt yllpitjn (root) salasanan Linux-Mandrake "
-"jrjestelmllesi. \n"
-"Kirjoitusvirheiden estmiseksi salasana tulee antaa kaksi kertaa. \n"
-"\n"
-"\n"
-"Root on jrjestelmn yllpitj ja samalla ainoa kyttj, jolla on "
-"oikeudet \n"
-"muuttaa jrjestelmn asetuksia. Tmn vuoksi valitse salasana "
-"huolellisesti! \n"
-"Root-tunnuksen huolimaton kytt voi olla hyvin vaarallista "
-"jrjestelmlle, \n"
-"sille tallennetuille tiedoille sek muille siihen kytketyille "
-"jrjestelmille. \n"
-"Salasanan tulee olla sekoitus kirjaimia ja numeroita sek vhintn 8 "
-"merkki pitk. \n"
-"Salasanaa ei saa koskaan kirjoittaa paperille. \n"
-"\n"
-"\n"
-"l tee salasanastasi liian pitk tai monimutkaista, sill sinun tytyy "
-"muistaa \n"
-"se ilman turhia ponnistuksia."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Tehdksesi jrjestelmstsi turvallisemman valitse \"Kyt shadow-tiedostoa"
-"\" ja\n"
-"\"Kyt MD5-salasanoja\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Jos verkkosi kytt NIS:, valita \"Kyt NIS:i\". Jos et ole varma "
-"asiasta\n"
-"kysy verkkoyllpitjltsi."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Voit nyt luoda yhden tai useamman \"tavallisen\" kyttjtunnuksen,\n"
-"joiden vastakohtana on \"pkyttj\" kyttjtunnus, root. Voit\n"
-"luoda yhden tai useampia tunnuksia jokaiselle henkillle jolle annat\n"
-"oikeuden kytt jrjestelm. Huomaa ett jokaisella kyttjtunnuksella\n"
-"on omat asetuksensa (graafinen kyttliittym, ohjelmien asetukset jne.)\n"
-"ja oma \"kotihakemisto\" jonne asetukset talletetaan.\n"
-"\n"
-"\n"
-"Luo ensin tunnus itsellesi! Vaikka olisit ainoa kyttj sinun ei tule\n"
-"kytt root tunnusta pivittin, se on erittin suuri tietoturvariski.\n"
-"Pkyttj voi sekoittaa jrjestelmn erittin helpolla.\n"
-"\n"
-"\n"
-"Eli sinun tulee kirjautua jrjestelmn tunnuksella jonka luot tll ja\n"
-"kytt root tunnusta vain jrjestelmn yllpitoon."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Kynnistyslevykkeen luominen on suositeltavaa. Jos kone ei jostain\n"
-"syyst kynnistykn, tm on ainoa keino pelastaa jrjestelm\n"
-"ilman hankalaa uudelleenasennusta."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Sinun tulee kertoa minne haluat\n"
-"sijoittaa tarvittavat tiedot GNU/Linuxin kynnistmiseksi.\n"
-"\n"
-"\n"
-"Jos et todella tied mit teet, valitse \"Levyn ensimminen\n"
-"sektori (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Jos et tied tarkemmin, niin yleinen valinta on \"/dev/hda\"\n"
-"(primrinen master IDE-levyn ).tai \"/dev/sda\" (ensimminen SCSI-levy)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (the Linux LOader) ja Grup ovat jrjestelmlataajia: niiden avulla voit "
-"kynnist\n"
-"joko GNU/Linuxin tai mik tahansa kyttjrjestelmn, joka on "
-"tietokoneellasi.\n"
-"Tavallisesti kaikki kyttjrjestelmt tunnistuvat ja asentuvat oikein. Jos "
-"jokin\n"
-"kyttjrjestelmist j kuitenkin asentamatta, voit list kyseisen "
-"jrjestelmn itse.\n"
-"Ole kuitenkin huolellinen, ett tulet valinneeksi oikeat parametrit.\n"
-"\n"
-"\n"
-"Jos et halua kenenkn saavan oikeuksia johonkin kyttjrjestelmist,\n"
-"tuhoa kyseinen kohta. Mutta huomaa, ett siin tapauksessa tarvitset itse\n"
-"kynnistyslevykett pstksesi kyseiseen kyttjrjestelmn!"
-
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILOn ja grubin pasetukset ovat:\n"
-" - Kynnistyslaite: Asettaa laitteen (esim. kiintolevyn osion)\n"
-"joka sislt kynnistyslohkon. Ellet aivan erityisesti halua jotakin\n"
-"muuta, valitse \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Viive ennen oletusjrjestelmn kynnistmist: Mrittelee sekunnin\n"
-"kymmenyksin ajan, jonka jrjestelmnlataaja odottaa ennen "
-"oletusjrjestelmn\n"
-"kynnistmist. Tm on hydyllinen niiss jrjestelmiss, joissa "
-"kynnistyksen\n"
-"halutaan tapahtuvan heti, kun nppimist on kytettviss. Lataaja ei "
-"odota,\n"
-"jos \"viive\" puuttuu tai on nolla.\n"
-"\n"
-" - Nytttila: Tm mritt VGA-tekstitilan, joka valitaan koneen\n"
-"kynnistmisen yhteydess. Seuraavat arvot ovat mahdollisia:\n"
-" * normaali: valitse normaali 80x25 tekstitila.\n"
-"\n"
-" * <numero>: kyt numeroa vastaavaa tekstitilaa."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO on SPARCin jrjestelmlataaja: se pystyy kynnistmn jokoGNU/Linuxin\n"
-"taimiktahansakyttjrjestelmn,jokaontietokoneellasi. "
-"Tavallisestikaikki\n"
-"kyttjrjestelmttunnistuvatjaasentuvatoikein.Josjokin "
-"kyttjrjestelmist\n"
-"jkuitenkinasentamatta,voitlistkyseisenjrjestelmnitse. "
-"Olekuitenkinnhuolellinen,etttuletvalinneeksioikeatparametrit.\n"
-"\n"
-"\n"
-"Josethaluakenenknsaavanoikeuksiajohonkinkyttjrjestelmist,\n"
-"tuhoakyseinenkohta.Muttahuomaa,ettsiintapauksessatarvitsetitse\n"
-"kynnistyslevykettpstksesikyseiseenkyttjrjestelmn!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"SILOn pasetukset ovat:\n"
-" - Jrjestelmlataajan asennus: Osoita, minne haluat tallentaa tiedot\n"
-"GNU/Linuxin kynnistmiseksi. Jos et ole varma, mit teet, valitse:\n"
-"\"Levyn ensimminen sektori (MBR)\"\n"
-"\n"
-"\n"
-" - Viive ennen oletusjrjestelmn kynnistmist: Mrittelee sekunnin\n"
-" kymmenyksin ajan, jonka jrjestelmnlataaja odottaa ennen "
-"oletusjrjestelmn\n"
-"kynnistmist. Tm on hydyllinen niiss jrjestelmiss, joissa "
-"kynnistyksen\n"
-"halutaan tapahtuvan heti, kun nppimist on kytettviss. Lataaja ei "
-"odota,\n"
-"jos \"viive\" puuttuu tai on nolla."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Nyt on X Window -jrjestelmn asetusten vuoro. X Window on Linuxin\n"
-"graafisen kyttliittymn ydin. Tmn vuoksi sinun tulee asettaa sek\n"
-"nytnohjain ett nytt. Suurin osa vaiheista on automatisoituja\n"
-"ja sinun tulee lhinn varmistaa mit on tehty ja hyvksy valmiit\n"
-"asetukset. :)\n"
-"\n"
-"\n"
-"Kun asetukset on tehty, X kynnistetn (ellet kskenyt\n"
-"DrakX: tekemn toisin), jotta voit tarkistaa ett asetukset\n"
-"ovat kunnossa. Jos ne eivt ole, voit palata takaisin ja muuttaa\n"
-"niit niin monta kertaa kuin on tarpeen."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Jos jotain meni vikaan X:n asetuksissa, kyt nit valintoja X:n "
-"asettamiseksi\n"
-"oikein."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Jos haluat kytt graafista sisnkirjoittautumista valitse \"Kyll\".\n"
-"Muuten valitse \"Ei\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Voit valita jrjestelmsi turvatason. Katso ohjekirjasta "
-"yksityiskohtaisempia \n"
-"tietoja turvatasojen vaikutuksesta. Tavallisesti jos et tied, mit valita, "
-"kyt \n"
-"oletusvalintaa.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Jrjestelmsi kynnistetn nyt uudelleen.\n"
-"\n"
-"\n"
-"Koneen pllekytkemisen jlkeen Linux-Mandrake kynnistetn "
-"automaattisesti.\n"
-"Jos haluat kytt mys muita koneessa olevia kyttjrjestelmi, katso "
-"asianomaisia\n"
-"lisohjeita."
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Kieliasetukset"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Asennuksen luokka"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Kiintolevyjen tunnistus"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Hiiren mrittely"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Nppimistn valinta"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Tietoturva"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Tiedostojrjestelmt"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Levyjen osiointi"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Asennettavat paketit"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Asenna jrjestelm"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Yllpitjn salasana"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Kyttjien lisminen"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Verkkoasetukset"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Johtopts"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Palvelujen asettaminen"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Kynnistyslevyke"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Lataajan asetus"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "X:n asentaminen"
-
-# Asennuksen sivuvalikko
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Lopeta asennus"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"Olet valinnut seuraavat palvelimet: %s\n"
-"\n"
-"\n"
-"Nm palvelimet otetaan oletuksena kyttn. Niiss ei ole tunnettuja \n"
-"turvallisuusaukkoja, mutta sellaisia voi lyty ajan mittaan. Mikli niin \n"
-"tapahtuu, pitisi sinun pivitt kyseiset palvelimet niin nopeasti kuin \n"
-"suinkin mahdollista.\n"
-"\n"
-"\n"
-"Haluatko todella asentaa nm palvelimet?\n"
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Aseta tyhj FAT-alustettu levyke levyasemaan %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Tm levyke ei ole FAT-alustettu"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Kyttksesi tt \"tallennetut paketit\" valintaa, kynnist asennus "
-"optiolla \"linux defcfg=floppy\""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "virhe luettaessa tiedostoa $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Testaa hiiri"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Aktivoidaksesi hiiren,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "PYRIT HIIREN RULLAA!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Jokin osa laitteistoasi tarvitsee laitteistovalmistajan ajurit toimiakseen "
-"kunnolla.\n"
-"Voit lyt listietoja edellmainituista tlt: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Sinulla tulee olla juuriosio.\n"
-"Tt varten luo osio (tai klikkaa olemassaolevaa).\n"
-"Valitse sitten toiminto ``Liitospaikka'' ja aseta se arvoon `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Sinulla tulee olla heittovaihtotiedosto"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Sinulla ei ole heittovaihto-osiota\n"
-"\n"
-"Jatka kuitenkin?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Kyt tyhj tilaa"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Ei tarpeeksi tilaa uusien osioiden luomiseksi"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Kyt olemassa olevia osioita"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Ei ole olemassa olevaa osiota kytettvksi"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Kyt Windows-osiota loopback-tiedostona"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Mille osiolle haluat laittaa Linux4Win:in?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Valitse koot"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Juuriosion koko Mt: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Sivutusosion koko Mt: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Kyt tyhj tilaa Windows-osiolla"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Mink osion kokoa haluat muuttaa?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Lasken Windows-tiedostojrjestelmn rajoja"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"FAT-jrjestelmn koon muuttaja ei osaa ksitell osiotasi,\n"
-"saatiin seuraava virhe: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Windows-osiosi on liian pirstoutunut, mene Windowsiin ja aja \"defrag\" ensin"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"VAROITUS!\n"
-"\n"
-"DrakX aikoo muuttaa Windows-osiosi kokoa. Ole varovainen: tm toimenpide\n"
-"on vaarallinen. Ellet ole viel tarkistanut ja eheyttnyt Windows-osioitasi, "
-"poistu\n"
-"asennuksesta Windowsiin ja eheyt asema (scandisk ja defrag). Sinun olisi "
-"syyt\n"
-"samalla ottaa varmuuskopio tiedostoistasi. Kun olet tehnyt tmn, voit "
-"kynnist\n"
-"asennusohjelman uudelleen, edet thn kohtaan ja painaa Ok."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Kuinka paljon tilaa haluat silytt Windowsilla"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "osio %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "FAT-tiedostojrjestelmn koon muuttaminen eponnistui: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Ei ole FAT-osioita, joiden kokoa voisi muuttaa tai kytt loopback-"
-"tiedostoina (tai osiot ovat tynn)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Tyhjenn koko levy"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Poista Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Sinulla on enemmn kuin yksi kiintolevy. Mille haluat asentaa Linuxin?"
-
-# mat
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "KAIKKI olemassaolevat osiot ja niiss oleva tieto tuhoutuu asemalta %s"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Mukautettu levyn osiointi"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Kyt fdiski"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Voit nyt osioda kiintolevysi %s\n"
-"Kun olet valmis, l unohda tallettaa asetuksia komennolla `w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Sinulla ei ole tarpeeksi tilaa Windows-osiollasi"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Ei ole tarpeeksi tilaa asentamiseen"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "DrakX-Osiointivelho lysi seuraavat ratkaisut:"
-
-# mat
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Osiointi eponnistui: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Kynnistn verkkoa"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Ajan alas verkkoa"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Tapahtui virhe, sit ei voida ksitell kunnolla.\n"
-"Jatka omalla riskillsi."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Kahdentunut liitospaikka %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Osa trkeist paketeista ji asentamatta loppuun asti.\n"
-"Joko cdrom-asemasi tai levy on viallinen.\n"
-"Tarkista cdrom Linux-koneessa kyttmll \"rpm -qpl Mandrake/RPMS/*.rpm\"\n"
-
-# mat
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Tervetuloa %s:n"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Ei levykeasemaa kytettviss"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Siirryn vaiheeseen `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Valitse asennuksen koko"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Kokonaiskoko: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Versio: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Koko: %d Kt\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Valitse asennettavat paketit"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Tietoja"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Asenna"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Asennan"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Odota hetki, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Jljell "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Kokonaisaika "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Valmistelen asennusta"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Asennan pakettia %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Jatka kuitenkin?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Tapahtu virhe jrjestettess paketteja:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Kyt olemassaolevia asetuksia X11:ta?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Jrjestelmsi resurssit ovat lopussa. Voit kohdata ongelmia Linux-Mandrakea "
-"asentaessasi.\n"
-"Jos nin tapahtuu, voit kokeilla tekstipohjaista asennusta. Tehdksesi niin "
-"paina `F1' kun\n"
-"kynnistt asennusohjelmaa CDROM-asemasta. Tmn jlkeen kirjoita `text'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Valitse yksi seuraavista asennusluokista:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Valitsemiesi ryhmien kokonaiskoko on suunnilleen %d Mt.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Jos haluat asentaa vhemmn kuin tm koko,\n"
-"valitse prosenttiosuus paketeista jonka haluat asentaa.\n"
-"\n"
-"Pieni prosenttiosuus asentaa vain trkeimmt paketit,\n"
-"100%% osuus asentaa kaikki paketit."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Sinulla on levyll tilaa vain %d%% paketeista\n"
-".Jos haulat asentaa vhemmn kuin tmn osan,\n"
-"valitse prosenttiosuus paketeista jotka haluat asentaa.\n"
-"Pieni prosentti asentaa vain trkeimmt paketit, %d%%\n"
-" prosenttiosuus asentaa niin monta pakettia kuin on mahdollista."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Voit valita paketit tarkemmin seuraavassa vaiheessa"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Prosenttiosuus asennettavista paketeista"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Pakettiryhmien valinta"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Yksittisten pakettien valinta"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Nyt automaattisesti valitut paketit"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Laajenna puu"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Sulje puu"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Vaihda tasaisen ja ryhmjrjestyksen vlill"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Viallinen paketti"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nimi: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Trkeys: %s\n"
-
-# mat
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Koko yhteens: %d / %d Mt"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Et voi asentaa tt pakettia, koska levyll ei ole tarpeeksi tilaa sen "
-"asentamiseksi"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Seuraavat paketit asennetaan"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Seuraavat paketit poistetaan"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Et voi valita/poistaa tt pakettia"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Tm on pakollinen paketti, sit ei voida poistaa valinnoista"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Et voi poistaa tmn paketin valintaa. Se on jo asennettu"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Tm paketti tulee pivitt\n"
-"Oletko varma ett haluat poistaa valinnan?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Et voi poistaa tmn paketin valintaa. Paketti pit pivitt."
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Arvioin aikaa"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Valmistelen asennusta"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d pakettia"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Varoitus\n"
-"\n"
-"Lue huolellisesti alla olevat ehdot. Jos et ole samaa mielt kaikkien\n"
-"ehtojen kanssa, sinulla ei ole oikeuksia asentaa seuraavaa CD-levy.\n"
-"Paina 'Kieltydyn' jos haluat jatkaa asennusta kyttmtt nit osia.\n"
-"\n"
-"\n"
-"Jotkin seuraavalla CD-levyll olevat komponentit eivt ole GPL:n tai \n"
-"vastaavanlaisen lisenssin alaisia. Jokaisen tllaisen komponentin ehdot \n"
-"on mritelty erikseen niiden omien lisenssien mukaan. Tutustu nihin \n"
-"lisensseihin huolellisesti ennen kuin kytt tai levitt nit "
-"komponentteja \n"
-"eteenpin. Tllaiset lisenssit kieltvt tavallisesti siirtmisen, "
-"kopioimisen\n"
-"(lukuunottamatta varmuuskopioita), uudelleenlevityksen, "
-"knteissuunnittelun \n"
-"binrikoodin kntmisen tai muokkaamisen. Jokainen rike sopimusta \n"
-"vastaan ptt oikeutesi kyseiseen lisenssiin. Ellei ole olemassa "
-"erityisi \n"
-"ehtoja, jotka sallivat ohjelmiston asentamisen useaan koneeseen tai \n"
-"niiden kyttmist verkon yli, et saa myskn tehd niin. Jos et ole \n"
-"varma kaikista ehdoista, ota yhteys suoraan kyseisen komponentin \n"
-"tekijn tai jakelijaan. Yll mainittujen komponenttien tai niiden \n"
-"dokumentaation saattaminen kolmannen osapuolen ksiin on tavallisesti \n"
-"kieletty.\n"
-"\n"
-"\n"
-"Kaikki oikeudet seuraavan levyn komponentteihin kuuluvat niiden \n"
-"asianomaisille tekijille ja ne on suojattu yksityisen omaisuuden ja \n"
-"ohjelmiston tekijnoikeuslakien avulla.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Hyvksy"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Hylk"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Vaihda CD-levy!\n"
-"\n"
-"Aseta CD-levy nimeltn \"%s\" CD-asemaan ja paina Ok kun olet valmis.\n"
-"Jos sinulla ei ole levy, paina Peruuta vlttksesi asennukset tlt "
-"levylt."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Tapahtu virhe asennettaessa paketteja:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Tapahtui virhe"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Valitse kytettv kieli."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "Voit valita kielet jotka ovat kytettviss asennuksen jlkeen"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Kaikki"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Lisenssin hyvksyminen"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Nppimist"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Valitse nppimistsi asettelu."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Tss on koko lista olemassa olevista nppimistist"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Asennusluokka"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Valitse asennuksen luokka?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Asenna/Pivit"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Onko tm asennus vai pivitys?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Suositeltu"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Asiantuntija"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Pivit"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Valitse hiiren tyyppi."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Hiiren portti"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Mihin sarjaporttiin hiiresi on liitetty."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Nppinemulaatio"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "2. nppimen emulaatio"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "3. nppimen emulaatio"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Asetan PCMCIA kortteja...."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Asetan IDE-levy"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "ei vapaita osioita"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Tarkistan osioita lytkseni liitoskohdat"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Valitse liitospaikat"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Osiotaulua ei voida lukea, siin on liikaa virheit :(\n"
-"Asennusta voidaan jatkaa yrittmll tyhjent virheelliset osiot\n"
-"(KAIKKI TIETO tuhoutuu!). Toinen vaihtoehto on kielt DrakX:\n"
-"muokkaamasta osiointitaulua. (virhe on: %s)\n"
-"\n"
-"Hyvksytk kaikkien osioiden menettmisen?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake ei pystynyt lukemaan osiotaulua oikein.\n"
-"Jatka omalla vastuullasi!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Juuriosio"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Mik on jrjestelmsi juuriosio (/) ?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"Sinun tulee kynnist jrjestelm uudelleen jotta muutokset tulevat voimaan"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Valitse alustettavat osiot"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Tarkista vialliset lohkot?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Alustan osioita"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Luon ja alustan tiedostoa %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Heittovaihtotiedosto ei ole riittvn suuri, suurenna sit"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Etsin saatavilla olevia paketteja"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Etsin pivitettvi paketteja"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Jrjestelmsssi ei ole riittvsti tilaa asennukseen tai pivitykseen (%d > "
-"%d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Tydellinen (%dMt)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimi (%dMt)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Suositeltu (%dMt)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Mukautettu"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr "Valittu koko on suurempi kuin olemassa oleva levytila"
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Jos sinulla on kaikki CD.levyt allaolevalta listalta, paina OK.\n"
-"Jos sinulla ei ole mitn levyist, paina Peruuta.\n"
-"Jos jotkut levyist puuttuvat, poista niiden valinnat, ja paina OK."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom nimeltn \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Asennan pakettia %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Asennuksen jlkeiset toiminnot"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Sinulla on nyt mahdollisuus hakea internetist ne ohjelmistot, jotka on \n"
-"suunnattu tiedon salakirjoittamiseen.\n"
-"\n"
-"VAROITUS:\n"
-"\n"
-"Nit ohjelmistoja koskevien eri tasoisten vaatimusten ja eri "
-"lainsdntjen \n"
-"mrysten vuoksi niden ohjelmistojen asiakkaan ja/tai loppukyttjn \n"
-"pit varmistaa, ett hnen maansa lainsdnt sallii hnen hakea, "
-"tallentaa \n"
-"ja kytt nit ohjelmistoja.\n"
-"\n"
-"Lisksi asiakkaan ja/tai loppukyttjn tulee olla erityisen varmoja siit, "
-"etteivt \n"
-"he riko maansa lainsdnt vastaan.Mikli asiakas ja/tai loppukyttj "
-"ei \n"
-"noudata niden lakien mryksi, heille voidaan langettaa vakaviakin \n"
-"rangaistuksia.\n"
-"\n"
-"Missn tilanteissa ei Mandrakesoft tai sen valmistajat ja/tai "
-"jlleenmyyjt \n"
-"ole vastuuvelvollisia erityisiin, epsuoriin tai satunnaisiin vahinkoihin, "
-"jotka\n"
-"voivat aiheutua (mukaan lukien, mutta ei rajoittuen: tulonmenetykset, \n"
-"yritystoiminnan katkeaminen, kaupallisten tietojen menetys ja muut \n"
-"rahalliset menetykset, sek mahdolliset vahingonkorvaukset, jotka oikeus \n"
-"ptt langettaa). ohjelmiston kyttmisest, hallussapidosta, tai "
-"pelkst \n"
-"internetist hakemisesta, jossa asiakas ja/tai loppukyttj voi saada \n"
-"haltuunsa nm ohjelmistot hyvksyttyn tmn sopimuksen.\n"
-"\n"
-"\n"
-"Mihin tahansa tt sopimusta koskeviin tiedusteluihin, ota yhteys:"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Valitse peilijrjestelm josta paketit haetaan"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Yhdistn peilijrjestelmn hakeakseni uusimman pakettilistan"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Valitse asennettavat paketit."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Mik on jrjestelmsi aikavyhyke?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Onko koneen kello asetettu GMT aikaan?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Ulkoinen CUPS-palvelin"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Ei kirjoitinta"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Hiiri"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Aikavyhyke"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Kirjoitin"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "ISDN-kortti"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "nikortti"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV-kortti"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Mit tulostusjrjestelm haluat kytt?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Ei salasanaa"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"Salasana on liian yksinkertainen (sen tulee olla ainakin %d merkki pitk)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Kyt NIS:i"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "keltaiset sivut"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Tunnistus NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS-alue"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS-palvelin"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Mukautetulla kynnistyslevykkeell voit kynnist jrjestelmn ilman\n"
-"tavanomaisen kyttjrjestelmlataajan apua. Tst on hyty, jos et halua\n"
-"asentaa SILOa jrjestelmsi, toinen kyttjrjestelm poistaa SILOn,\n"
-"tai SILO ei toimi laitteistossasi. Mukautettua kynnistyslevykett voidaan\n"
-"kytt mys Mandraken vikasietolevykkeen kanssa, jolloin vakavista\n"
-"jrjestelmn virhetilanteista on helpompi toipua.\n"
-"\n"
-"Jos haluat luoda kynnistyslevykkeen jrjestelmsi, aseta levyke\n"
-"ensimmiseen asemaan ja paina \"Ok\","
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Ensimminen levyasema"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Toinen levyasema"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Ohita"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Mukautetulla kynnistyslevykkeell voit kynnist jrjestelmn ilman\n"
-"tavanomaisen kyttjrjestelmlataajan apua. Tst on hyty, jos et halua\n"
-"asentaa LILOa (tai grubia) jrjestelmsi, toinen kyttjrjestelm poistaa\n"
-"LILOn, tai LILO ei toimi laitteistossasi. Mukautettua kynnistyslevykett "
-"voidaan\n"
-"kytt mys Mandraken vikasietolevykkeen kanssa, jolloin vakavista\n"
-"jrjestelmn virhetilanteista on helpompi toipua.\n"
-"Haluatko luoda kynnistyslevykkeen jrjestelmsi?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Levyajuria ei ole saatavilla"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Valitse levyasema jolla luot kynnistyslevykkeen"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Aseta tyhj levyke levyasemaan %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Luon kynnistyslevykett"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Valmistelen kyttjrjestelmn lataajaa"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Haluatko kytt aboot:ia?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Virhe asennettaessa aboot:a,\n"
-"yrit pakkoasennusta vaikka se tuhoaa ensimmisen osion?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Jrjestelmlataajan asennus eponnistu. Seuraava virhe tapahtui:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Sinun tytyy muuttaa Open Firmware -kynnistyslaitetta\n"
-"saadaksesi jrjeslelmlataajan plle. Paina Command-Option-O-F\n"
-"uudelleenkynnistyksen yhteydess ja kirjoita:\n"
-"setenv boot-device $of_boot,\\\\:tbxi\n"
-"sitten kirjoita: shut-down\n"
-"Seuraavalla kynnistyskerralla sinun pitisi nhd kynnistyslataajan\n"
-"komentokehoite."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Matala"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Keski"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Korkea"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Valitse turvataso"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "Haluatko luoda automaattisen asennuslevyn linuxin monistamiseksi?"
-
-# mat
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Aseta tyhj levyke levyasemaan %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Valmistelen automaattiasennuslevykett"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Joitain vaiheita ei ole saatettu loppuun.\n"
-"\n"
-"Haluatko todella lopettaa?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Onnittelut, asennus on valmis.\n"
-"Poista levyke asemasta ja paina Enter kynnistksesi koneen uudelleen.\n"
-"\n"
-"Lydt thn Linux-Mandraken versioon olemassaolevat korjaukset ja\n"
-"korjattujen virheiden listan osoitteesta http://www.linux-mandrake.com.\n"
-"\n"
-"Jrjestelmn asetusten muuttamisesta saat tietoja virallisen Linux-"
-"Mandraken \n"
-"oppaan luvusta \"Asennuksen jlkeinen konfigurointi\""
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Valmistelen automaattista asennuslevykett"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Automaattinen asennus voi olla tysin automatisoitu,\n"
-"jos niin halutaan. Siin tapauksessa asennus tytt\n"
-"koko kiintolevyn! (tarkoitettu toisen koneen asentamiseksi),\n"
-"\n"
-"Ehk haluat mieluummin toistaa asennuksen.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automaattinen"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Toista"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Yksittisten pakettien valinta"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux-Mandrake Asennus %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> vaihtaa elementti | <Space> valitsee | <F12> seuraava "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "kdesu puuttuu"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Lisasetukset"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Odota hetki"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Eptarkka (%s), ole tarkempi\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Huono valinta, yrit uudelleen\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (oletus %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Valintasi? (oletus %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Valintasi? (oletus %s anna `ei mikn' jos et halua mitn) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Tsekki (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Saksa"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Espanja"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Suomi"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Ranska"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norja"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Puola"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Venj"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "UK nppimist"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "US nppimist"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armeenia (vanha)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armeenia (kirjoituskone)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armeenia (foneettinen)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgia"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgaria"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasilia"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Valkovenj"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Sveitsi (Saksalainen jrjestys)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Sveitsi (Ranskalainen jrjestys)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Tsekki (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Tsekki (ohjelmoijat)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Saksa (ei kuolleita nppimi)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Tanska"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Norja (Dvorak)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Eesti"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgia (\"Venlinen\"-jrjestys)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgia (\"Latin\"-jrjestys)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Kreikka"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Unkari"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroatia"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israeli"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israeli (Foneettinen)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iran"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islanti"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italia"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japani 106-nppiminen"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Korealainen nppimist"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latinalainen amerikka"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Makedonia"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Hollanti"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Liettua AZERTY (vanha)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Liettua AZERTY (uusi)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Liettua \"numerorivi\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Liettua \"foneettinen\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Puola (qwerty jrjestys)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Puola (qwertz jrjestys)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugali"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanada (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Venj (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Ruotsi"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovenia"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovakia (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovakia (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slovakia (Ohjelmoijat)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thai-nppimist"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turkki (perinteinen \"F\"-malli)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turkki (perinteinen \"Q\"-malli)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukraina"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "US nppimist (kansainvlinen)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnamilainen \"numerorivi\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoslavia (latin/cyrillic)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Poista loogiset osiot ensin\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - Hiiri"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standardi"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Yleinen PS2 rullahiiri"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 nppin"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Yleinen"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Rulla"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "sarja"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Yleinen 2-nappinen hiiri"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Yleinen 3-nappinen hiiri"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (sarja, vanha C7 tyyppi)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "vylhiiri"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 nppint"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 nppint"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "ei mikn"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Ei hiirt"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Loppu"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Seuraava ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Edellinen"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Onko tm oikein?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Internetin asetukset"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Haluatko kokeilla internetyhteytt nyt?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Testaan yhteyttsi..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Jrjestelm on nyt internetiss."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Turvallisuussyist yhteys suljetaan nyt."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Jrjestelm ei nyt olevan internetiss.\n"
-"Yrit muuttaa internet-asetuksia."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Verkon asetukset"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN:n asetus"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Valitse palveluntarjoajasi.\n"
-" Jos se ei ole listassa, valitse `Ei listattu'"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Yhteyden asetus"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Valitse alla olevista kohdista"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Kortin IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Kortin muisti (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Kortin IO"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Kortin IO_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Kortin IO_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Henkilkohtainen puhelinnumerosi"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Palveluntarjoajan nimi (esim: tarjoaja.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Palveluntarjoajan puhelinnumero"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Palveluntarjoajan dns 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Palveluntarjoajan dns 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Soittotila"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Kyttjtunnus (kyttjn nimi)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Salasana"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Eurooppa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Eurooppa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Muu maailma"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Muu maailma \n"
-" ei D-kanavaa (leased lines)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Mit protokollaa haluat kytt?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Millainen kortti sinulla on?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "En tied"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Jos sinulla on ISA-kortti, seuraavien arvojen pitisi olla oikeat.\n"
-"\n"
-"Jos sinulla on PCMIA-kortti sinun tytyy tiet korttisi IRQ ja IO.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Hylk"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Jatka"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Mik ISDN-kortti sinulla on?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Olen havainnut ISDN PCI-kortin, mutta en tunnista tyyppi. Valitseyksi "
-"seuraavassa ruudussa olevista korteista."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr "ISDN PCI-korttia ei lydetty. Valitse yksi seuraavasta ruudusta."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Ethernet-verkkokorttia ei lytynyt jrjestelmst.\n"
-"Ei voida asentaa tmn tyyppist yhteytt."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Valitse verkkoliittym"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr "Valitse mit verkkokorteista haluat kytt internetiin liittymiseen"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Verkkoliittym"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Hyvksytk?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Uudelleenkynnistetn verkkokorttia:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ASDL-asetukset"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Haluatko ottaa yhteyden koneen kynnistyksen yhteydess?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Valitse sarjaportti, johon modeemisi on kytketty."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Soittoasetukset"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Yhteyden nimi"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Puhelinnumero"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Kyttj ID"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Tunnistustapa"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Script-pohjainen"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminaalipohjainen"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Verkkoalueen nimi"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Ensimminen nimipalvelin (ei pakollinen)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Toinen nimipalvelin (ei pakollinen)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr "Uudelleenkynnistetn verkkokortti $netc->{NET_DEVICE}. Hyvksytk?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Voit joko katkaista yhteyden tai asettaa sen uudelleen."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Voit asettaa yhteytesi uudelleen."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Olet parasta aikaa yhteydess internettiin."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Voit joko ottaa yhteyden internettiin tai asettaa yhteyden uudelleen."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Et ole juuri nyt yhteydess internettiin."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Ota yhteys internettiin"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Katkaise internetyhteys"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Aseta verkkoasetukset (lhiverkko tai internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Internetyhteyden muodostus ja asetukset"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Verkkoasetusten velho"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Ulkoinen ISDN-modeemi"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Sisinen ISDN-kortti"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Minklainen ISND-yhteytesi on?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Ota yhteys internettiin"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Yleisin tapa liitty asdl-verkkoon on kytt pppoe:a.\n"
-"Jotkin yhteydet kyttvt pptp:t, muutamat dhcp:t.\n"
-"Jos et tied, mit valita, valitse 'kyt pppoe:a'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "kyt dhpc:t"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "kyt pppoe:a"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "kyt pptp:t"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Kynnistn verkkolaitteen %s uudelleen. Haluatko jatkaa?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Mit dhcp-asiakasohjelmaa haluat kytt?\n"
-"Oletus on dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Verkon asetukset"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Haluatko kynnist verkon uudelleen"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"Ongelma kynnistettess verkkoa uudelleen: \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Koska asennat kyttjrjestelm verkon yli, verkkon asetukset ovat jo "
-"tehty.\n"
-"Paina Ok silyttksesi nykyiset asetukset tai peruuta asettaaksesi "
-"internet- ja verkkoasetukset uudelleen.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Tervetuloa verkon asettamisvelhoon\n"
-"\n"
-"Seuraavassa vaiheessa mritelln sinun internet- / verkkoasetukset.\n"
-"Jos et halua kytt automaattista tunnistusta, poista kyseinen valinta.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Valitse uusi asetusprofiili"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Kyt automaattista tunnistusta"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Etsin laitteita...."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Tavallinen modeemiyhteys"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "lydetty portista %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN-yhteys"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "lydetty %s:sta"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL (tai ASDL) -yhteys"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "lydetty seuraavasta liitnnst: %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Kaapeliyhteys"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "Lhiverkko"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "seuraavat ethernet-verkkokortit lydetty"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Miten haluat liitty internettiin?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Onnittelut, verkko- ja internetyhteyksien asetus valmis.\n"
-"\n"
-"Asetukset tulevat kyttn mys itse jrjestelmss."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Kun tm on tehty, suosittelemme kynnistmn X-ympristn\n"
-"uudelleen vlttksesi jrjestelmn nimen vaihdoksesta tulevat ongelmat."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "verkkokorttia ei lytynyt"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Asetan verkkoa"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Syt koneesi nimi, jos tiedt sen.\n"
-"Jotkin DHCP-palvelimet tarvitsevat koneen nimen toimiakseen.\n"
-"Koneesi nimen pitisi olla tysin laillinen nimi, kuten\n"
-"\" minunkone.omapaikka.net\"."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Koneen nimi"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"VAROITUS: Tm laite on aikaisemmin mritelty internetyhteyden ottoon.\n"
-"Hyvksy, jos haluat pit laitteen asetukset sellaisina, kun ne olivat.\n"
-"Alla olevien kohtien muokkaaminen korvaa voimassa olevat asetukset."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Anna koneen IP-asetukset. Kukin kohta tulee sytt IP-osoitteena,\n"
-"pisteill eroteltuna nelinumeroisena lukuna (esim. 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Asetan verkkolaitetta %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (ajuri $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP-osoite"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Verkkopeite"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Automaattinen IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP-osoitteen tullee olla muotoa 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Syt koneesi nimi.\n"
-"Koneesi nimen pitisi olla tydellinen, kuten ``minunkone.yritys.fi''.\n"
-"Voit antaa mys yhdyskytvn IP.osoitten jos sinulla on sellainen."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "Nimipalvelin"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Yhdyskytv"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Yhdyskytvn laite"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Proxyjen asettaminen"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP-vlityspalvelin:"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP-vlityspalvelin:"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Vlityspalvelimen tulee olla muotoa http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Vlityspalvelimen tulee olla muotoa ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Laajennettua osiotyyppi ei ole tuettu tss ympristss"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Sinulla on reik osiotaulussasi eik sit voida kytt.\n"
-"Ainoa ratkaisu on siirt primriosioita siten ett reik on ennen "
-"laajennettuja osioita"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Virhe lukiessa tiedostoa %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Palautus tiedostosta %s eponnistui: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Huono varmuuskopiotiedosto"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Virhe kirjoitettaessa tiedostoon %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Jotakin kamalaa on tapahtunut kiintolevyllesi.\n"
-"Tiedon oikeellisuuden tarkistus eponnistui.\n"
-"Kaikki asemalle kirjoitettu tieto muuttuu tunnistamattomaksi"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "pakollinen"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "trke"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "erittin hyv"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "hyv"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "ehk"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Paikallinen kirjoitin"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Ulkoinen kirjoitin"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Ulkoinen lpd-palvelin"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Verkkokirjoitin (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Kirjoitinlaitteen osoite (URI)"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Kokeile portteja"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Mallia \"%s\" oleva kirjoitin lydettiin "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Paikallinen kirjoitin"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Mihin laitteeseen kirjoitin on kytketty \n"
-"(huomaa, ett /dev/lp0 vastaa LPT1:t)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Kirjoitinlaite"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Ulkoisen lpd-palvelimen kirjoittimen parametrit"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Jotta voisit kytt palvelimen lpd-tulostusjonoja, sinun\n"
-"tulee sytt tulostuspalvelimen ja jonon nimi jolle tyt\n"
-"siirretn."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Palvelimen nimi"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Etjonon nimi:"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) -kirjoittimen parametrit"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"SMB-palvelimen kirjoittimelle tulostaaksesi sinun pit sytt\n"
-"SMB-koneen nimi (joka ei aina ole sama kuin koneen TCP/IP nimi)\n"
-"ja mahdollisesti tulostuspalvelimen IP-osoite, kirjoittimen jakonimi\n"
-"sek soveltuva kyttjtunnus, salasana ja tyryhm-tieto."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB-palvelimen nimi"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "SMB-palvelimen IP"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Jakonimi"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Tyryhm"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "NetWare-palvelimen kirjoittimen parametrit"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"NetWare-palvelimen kirjoittimelle tulostaaksesi sinun pit sytt\n"
-"NetWare-palvelinkoneen nimi (joka ei aina ole sama kuin koneen TCP/IP nimi)\n"
-"ja mahdollisesti tulostusjonon nimi sille kirjoittimelle, jota haluat\n"
-"kytt, sek soveltuva kyttjtunnus ja salasana."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Tulostuspalvelin"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Tulostusjonon nimi"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Verkkokirjoittimen optiot (socket)"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Tulostaaksesi verkkokirjoittimella (socket), sinun tytyy\n"
-"antaa kirjoittimen verkkonimi ja mahdollisesti portin numero."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Kirjoitinlaitteen verkkonimi"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Portti"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Voit antaa suoraan URIn kyttksesi kirjoitinta CUPS:in kanssa."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Mik kirjoitin sinulla on?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Haluatko kokeilla tulostusta?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Tulostan testisivua..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Testisivu on lhetetty tulostuspalvelimelle.\n"
-"Voi kest hetken ennenkuin tulostus alkaa.\n"
-"Tulostuksen tila:\n"
-"%s\n"
-"\n"
-"Toimiko tulostus oikein?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Testisivu on lhetetty tulostuspalvelimelle.\n"
-"Voi kest hetken ennenkuin tulostus alkaa.\n"
-"Toimiko tulostus oikein?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Kyll, tulosta ASCII-testisivu"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Kyll, tulosta PostScript-testisivu"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Kyll, tulosta molemmat sivut"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Aseta kirjoitin"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Kirjoittimen asetukset"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Paperikoko"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Poista sivu tyn jlkeen?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Uniprint ajurin asetukset"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Vrisyvyysasetukset"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Tulosta teksti postscript muodossa?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Korjaa askelmainen rivinvaihto?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Sivujen mr tulostettavalla sivulla"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Vasen/Oikea mariginaali pistein (1/72 tuuma)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Yl/Ala-mariginaalit pistein (1/72 tuumina)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Lisasetukset GhostScriptille"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Listekstiasetukset"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Knteinen sivujrjestys"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Haluatko asettaa kirjoittimen?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Tss ovat tulostusjonot.\n"
-"Voit list uusia tai muuttaa olemassaolevia."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS kynnistyy"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Luetaan CUPS-ajurien tietokantaa..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Valitse kirjoitinyhteys"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Miten kirjoitin on liitetty?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Valitse ulkoinen kirjoitinyhteys"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Ulkoisella CUPS-palvelimella sinun ei tarvitse mritt\n"
-"kirjoittimen tyyppi; kaikki kirjoittimet tunnistuvat automaattisesti.\n"
-"Jos epilet, valitse \"Ulkoinen CUPS-palvelin\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"UlkoisellaCUPS-palvelimellasinuneitarvitsemritt\n"
-"kirjoittimentyyppi;kaikkikirjoittimettunnistuvatautomaattisesti\n"
-"paitsi jos tulostusserveri sijaitsee eri verkossa. Jlkimmisess\n"
-"tapauksessa sinun tytyy antaa CUPS-palvelimen IP-osoite\n"
-"ja mahdollisesti portin numero."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "CUPS-palvelimen IP"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Portin numeron pitisi olla numeerinen"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Poista jono"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr "Tulostimen nimi saa sislt vain kirjaimia, numeroita ja alaviivan"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Jokainen kirjoitin tarvitsee nimen (usein lp). Mys muita parametreja,\n"
-"kuten kirjoittimen kuvaus tai sen sijainti, voidaan mritt.\n"
-"Mit nime haluat kytt tlle kirjoittimelle ja miten se on liitetty\n"
-"koneeseen?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Kirjoittimen nimi"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Kuvaus"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Paikka"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Jokainen tulostusjono (johon tulostustit ohjataan) tarvitsee\n"
-"nimen (usein lp) ja jonohakemiston joka liittyy nimeen. Mit\n"
-"nime ja hakemistoa kytetn tlle jonolle ja miten kirjoitin\n"
-"on liitetty?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Jonon nimi"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Jonohakemisto"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Kirjoitinyhteys"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "En voi list osiota _alustetulle_ RAID:lle md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "En voi kirjoittaa tiedostoa $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid eponnistui"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid eponnistui (ehk raid-tykalut puuttuvat?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Ei riittvsti osioita RAID tasolle %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "Kynnist ALSA (Advanced Linux Sound Architecture) nijrjestelm"
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron on jaksottainen komentojen ajastaja."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd:ta kytetn valvomaan paristojen tilaa ja raportoimaan siit syslogin\n"
-"kautta. apmd:t voidaan mys kytt sulkemaan kone patterien ollessa tyhji."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Ajaa komentoja mrtyill ajanhetkill, jotka on mritelty at-komennolla.\n"
-"Ajaa mys erajoja, kun jrjestelmn kuormitus on riittvn matala."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron on UNIX:n perusohjelma joka ajaa mriteltyj ohjelmia mrtyill\n"
-"ajanhetkill. vixie cron lis monia omianisuuksia verrattuna normaaliin\n"
-"UNIX:n cron ohjelmaan, kuten paremman turvallisuuden ja laajemmat asetukset."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM lis hiirituen tekstipohjaisiin Linux-sovelluksiin kuten Midnight\n"
-"Commander. GPM mahdollistaa mys leikkaa/liimaa toiminnot hiirell,\n"
-"ja sislt tuen valikoille konsolissa."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache on WWW-palvelin. Palvelinta kytetn jakamaan HTML-\n"
-"tiedostoja ja ajamaan CGI-ohjelmia."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Internet ppalvelin (yleens inetd) kynnist useita eri\n"
-"internet palveluita tarpeen mukaan. Palvelin kynnist useita\n"
-"palveluita, kuten telnet, ftp, rsh ja rlogin. inetd:n poistaminen\n"
-"poistaa mys nm palvelut kytst."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Paketti lataa valitun nppinkartan /etc/sysconfig/keyboard\n"
-"tiedoston asetusten mukaisesti. Asetukset voidaan valita kbdconfig "
-"tykalulla.\n"
-"Tm tulisi ottaa kyttn lhes kaikissa jrjestelmiss."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd on tulostuspalvelin, jonka lpr ohjelma vaatii toimiakseen.\n"
-"lpd on palvelin joka jakaa tulostustit kirjoittimille."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) on nimipalvelin (DNS) jota kytetn selvittmn\n"
-"koneen nimi sek IP-osoitteita."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Liitt ja irroittaa NFS (Network File System), SMB (Lan\n"
-"Manager/Windows) ja NCP (NetWare) liitospaikat."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Aktivoi/Poistaa kaikki verkkoliittymt jotka on asetettu\n"
-"kynnistyksess."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS on yleinen protokolla tiedostojen jakoon TCP/IP-\n"
-"verkoissa. Tm palvelu mahdollistaa NFS-palvelimen\n"
-"kynnistyksen, jakoa ohjataan tiedostosta /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS on yleinen protokolla tiedostojen jakoon TCP/IP-\n"
-"verkoissa. Tm palvelu mahdollistaa NSF-tiedostolukot."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMIA tukea kytetn yleens kannettavissa ethernet- ja modeemi-\n"
-"korttien tukemiseen. Palvelu ei kynnisty ellei sit ole asetettu, joten\n"
-"sen voi asentaa mys koneisiin jotka eivt sit tarvitse."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"portmapper hallitsee RPC-yhteyksi, joita kyttvt esimerkiksi\n"
-"NFS ja NIS-protokollat. portmap-palvelin on oltava kynniss\n"
-"jrjestelmiss jotka haluavat tarjota nit protokollia."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix on shkpostinvlitysohjelma, eli ohjelma joka\n"
-"vlitt postia koneelta toiselle."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Tallentaa ja palauttaa jrjestelmn satunnaislukualtaan, tm parantaa\n"
-"satunnaislukujen laatua."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"routed-palvelin mahdollistaa automaattiset IP-reititystaulun pivitykset\n"
-"RIP-protokollalla. Vaikka RIP-protokolla on paljon kytetty pieniss "
-"verkoissa,\n"
-"monimutkaisemmat verkot vaativat parempia reititysprotokollia."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"rstart-protokolla mahdollistaa verkkokyttjille\n"
-"eri koneiden tilatietojen haun."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"rusers-protokolla verkon kyttjille mahdollisuuden tunnistaa, ketk\n"
-"ovat sisll eri koneissa."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"rwho-protokollalla etkyttjt voivat listata kaikki koneella\n"
-"olevat kyttjt (vastaa fingeri)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr "Kynnist nijrjestelm tietokoneessasi"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog on tapa jolla monet palvelimet kirjottavat viestins talteen\n"
-"useisiin lokitiedostoihin. On jrkev kytt syslog-ohjelmaa."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-"Kynnist ja pysytt X kirjasinpalvelimen kynnistyksess ja lopetuksessa"
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Valitse mitk palvelut kynnistetn automaattisesti"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "kynniss"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "pyshtynyt"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Palvelut ja demonit"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Ei listietoja\n"
-"tlle palvelulle."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Kynnistyksen yhteydess"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Osiotaulua ei voida lukea, siin on liikaa virheit :(\n"
-"Taulu yritetn korjata nollaamalla se"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Internetyhteyden jakaminen"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Internetyhteyden jakaminen on kytss"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Internetyhteyden jakaminen on jo asetettu.\n"
-"Sen nykyinen tila on: kytss.\n"
-"\n"
-"Mit haluat tehd?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "poista kytst"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "lopeta"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "aseta uudelleen"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Poistan palvelut kytst..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Internetyhteyden jakaminen ei ole en kytss."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Internetyhteyden jakaminen ei ole kytss"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Internetyhteyden jakaminen on jo asetettu.\n"
-"Sen nykyinen tila on .ei kytss\n"
-"\n"
-"Mit haluat tehd?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "ota kyttn"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Otan palvelut kyttn.."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Internetyhteyden jakaminen on nyt kytss."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Asetustiedoston sislt ei voida tulkita."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Tunnistamaton asetustiedosto"
-
-#: ../../standalone/drakgw_.c:181
-#, fuzzy
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Valmistellaan internetyhteyden jakamista.\n"
-"\n"
-"Huomaa: tarvitset verkkokortin asettaaksesi paikallisverkon."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Liittym %s (kytten moduulia %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Liittym %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Koneessasi ei ole verkkokorttia!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Koneestasi ei lytynyt yhtn verkkokorttia. Aja laitteistonhakutykalu."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Tietokoneessasi on vain yksi verkkokortti:\n"
-"\n"
-"%s\n"
-"\n"
-"Valmistaudun asettamaan lhiverkkosi asetukset kyseiselle laitteelle."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr "Valitse verkkokortti, joka on kytketty paikallisverkkoon."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Varoitus. Verkkokortti on jo asetettu. Uudet asetukset korvaavat vanhat."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-"Mahdollinen lhiverkon osoitetrmys lydetty nykyisill asetuksilla $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Palomuuri lydetty!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Varoitus! Olemassaoleva palomuuri lydetty. Tarvitset mahdollisesti ksin "
-"tehtvikorjauksia asennuksen jlkeen."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Mrittelen..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-"Mrittelen komentotiedostot, asennan ohjelmistot, kynnistn palvelimet..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Asennan pakettia $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Onnittelut!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Kaikki asetettu.\n"
-"Voit nyt jakaa internetyhteyden muiden lhiverkon koneiden kanssakyttmll "
-"automaattista lhiverkon mrittely (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-"Asetukset on jo tehty, mutta ne ovat tll hetkell poistettu kytst."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Asetukset on jo tehty ja ne ovat kytss."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Internetyhteyden jakamista ei ole koskaan asetettu."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Internetyhteyden jakamisen asetukset"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Tervetuloa internetyhteyden jakamisen apuohjelmaan!\n"
-"\n"
-"%s\n"
-"\n"
-"Paina \"Ok\", jos haluat kynnist asennusohjelman."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Verkon asetukset (%d-laitteille)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profiili: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Poista profiili..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Valitse poistettava profiili:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Uusi profiili..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Luotavan profiilin nimi:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Koneen nimi:"
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Internetyhteys"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Tyyppi:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Yhdyskytv:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Liitnt:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Tila:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Yhteys muodostettu"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Ei yhteytt"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Yhdist..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Katkaise yhteys..."
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr "Kynnistn yhteytt..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Katkaisen yhteyden..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Yhteytt ei olla katkaistu.\n"
-"Voit yritt katkaista yhteyden ksin kirjoittamalla:\n"
-"etc/sysconfig/network-scripts/net_cnx_down\n"
-"ollessasi roottina."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Yhteys internettiin on nyt katkaistu."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Mrittele internetyhteys..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "Lhiverkon asetukset"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Laite"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Ajurit"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Liitnt"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokolla"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Aseta paikallisverkko..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Perustila"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Odota hetki... Otetaan asetukset kyttn"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "Lhiverkon asetukset"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Laite %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Kynnistysprotokolla"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Kynnistetty koneen kynnistmisen yhteydess"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP-asiakas"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Poista kytst"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Ota kyttn"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Internetyhteyden asetus"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Internetyhteyden asetus"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Yhteyden nimi: "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parametrit"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "Yhteydentarjoajan dns 1 (vapaaehtoinen)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "Yhteydentarjoajandns2(vapaaehtoinen)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Verkkokortti"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP-asiakas"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Tervetuloa murtautujat"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Huono"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoidi"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Tt tasoa tulee kytt varoen. Se tekee jrjestelmstsi helpomman "
-"kytt,\n"
-"mutta hyvin herkn: sit ei tule kytt koneessa joka on kytketty muihin "
-"koneisiin\n"
-"tai Internettiin. Koneessa ei ole salasanoja."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Salasanat ovat nyt kytss mutta koneen kytt verkossa ei ole suositeltua."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Muutamia parannuksia tll turvaasolla, suurimpana se ett jrjestelmss\n"
-"on enemmn turvallisuusvaroituksia ja tarkistuksia."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Tm on normaaliturvallisuustaso jota suositellaan tietokoneelle jota\n"
-"kytetn Internettiin liitettyn. Jrjestelmss on "
-"turvallisuustarkastuksia."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Tll turvallisuustasolla jrjestelmn kytt palvelimena on mahdollista.\n"
-"Jrjestelm voidaan kytt palvelimena joka hyvksyy yhteyksi monilta\n"
-"asiakkailta. "
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Systeemi on nyt tysin suljettu.\n"
-"Turvallisuusasetukset ovat tiukimmillaan."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Asetan turvatasoa"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Kontrollipaneeli"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Valitse haluamasi tykalu"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "kytt: keyboarddrake [--expert] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Haluatko BackSpace-nppimen toimivan kuten Delete konsolissa?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Vaihda CD-levy"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Aseta asennuslevy CD-asemaan ja paina Ok.\n"
-"Jos sinulla ei ole levy, paina Peruuta estksesi jrjestelmn pivityksen."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Jrjestelmn pivityst ei voida aloittaa!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "serial_usb:ta ei lytynyt\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emuloi kolmatta nppint?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Testaa hiiri"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Verkon monitorointi"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Statistiikka"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Lhetysnopeus: "
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Vastaanottonopeus: "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Sulje"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "Otan yhteyden internettiin "
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "Katkaisen internetyhteyden"
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "Internetyhteyden katkaiseminen eponnistui."
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "Internetyhteys katkaistu."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Yhteys muodostettu."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "lhetetty: "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "vastaanotettu: "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Yhdist"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Katkaise yhteys"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Palomuurin asetukset"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Palomuurin asetukset"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Palomuurin asettaminen\n"
-"\n"
-"Olet jo mritellyt palomuurin. Paina \"Mrittele\" \n"
-"poistaaksesi palomuurin tai muuttaaksesi sen asetuksia"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Palomuurin asettaminen\n"
-"\n"
-"Paina \"Mrittele\" pystyyttksesi palomuurin"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"tinyfirewallin asettaminen\n"
-"\n"
-"Tm vaihe asettaa henkilkohtaisen palomuurin Linux Mandrake\n"
-"-jrjestelmsi. Mikli haluat tehokkaan palomuuriratkaisun, hae\n"
-"listietoja MandrakeSecurity Firewall distribuutiosta."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Tss vaiheessa kysytn mit palveluita haluat haluat sallia muille\n"
-"internetin kyttjille siksi aikaa kun tietokoneesi on internetiss. \n"
-"Harkitse huolellisesti, ennen kuin vastaat nihin kysymyksiin,\n"
-"sill nm vaikuttavat tietokoneesi tietoturvaan.\n"
-"\n"
-"Jos et kyt tll hetkell ainoatakaan seuraavista palveluista,\n"
-"suojaa tietokoneesi palomuurilla. Voit muuttaa nit asetuksia milloin \n"
-"haluat vain kynnistmll tmn ohjelman uudelleen."
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Onko tietokoneessasi webbisivuja, joiden haluat nkyvn kaikkialle\n"
-"internettiin? Jos ajat webbipalvelinta, jonka tarvitsee nky vin\n"
-"omalle tietokoneellesi, voit turvallisesti vastata EI thn kysymykseen.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Haluatko koneesi toimivan nimipalvelimena? Jos et halua pystytt \n"
-"nimipalvelinta jakamaan IP- ja vyhyketietoja internettiin, vastaa ei.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Haluatko sallia koneellesi tulevat Secure Shell (ssh) -yhteydet? Tm\n"
-"on telnetin korvaava palvelu, jota voit kytt kirjoittautuaksesi sisn\n"
-"internetin kautta. Jos kytt viel telneti, sinun pitisi vaihtaa se \n"
-"ssh:iin. Telnet-yhteydet eivt ole suojattuja -- hykkj voi varastaa\n"
-"salasanasi, jos kytt sit. Ssh-yhteys on sitvastoin suojattu, joten\n"
-"kukaan ei pysty salakuuntelemaan sit."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Haluatko sallia sisn tulevat telnet-yhteydet?\n"
-"Tm on hirvittvn vaarallista, kuten edellinen kohta osoitti.\n"
-"Suosittelemme ett vastaisit Ei thn kohtaan ja kyttisit\n"
-"telnetin sijaan ssh:ta.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Ajatko tietokoneellasi FTP-palvelinta, jonka haluat nkyvn mys\n"
-"internettiin? Jos vastasit kyll, suosittelemme, ett kyttisit sit\n"
-"vain anonyymeihin siirtoihin. Mik tahansa salasana voidaan varastaa,\n"
-"mikli se siirretn FTP-protokollan kautta, sill FTP ei suojaa\n"
-"siirrettvi salasanoja.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Toimiiko tietokoneesi postipalvelimena? Jos lhett shkpostiviestisi\n"
-"pinen, muttin tai mink tahansa tekstipohjaisen postinlukuohjelmiston\n"
-"avulla, se on todennkist. Muussa tapauksessa sinun pitisi suojata\n"
-"ominaisuus pois palomuurin avulla.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Ajatko POP- tai IMAP-palvelinta koneellasi? Nit palvelimia\n"
-"kytetn yllpitmn ei-webbipohjaisia shkpostitunnuksia\n"
-"ihmisille, jotka haluavat hakea postinsa tlt koneelta omillensa.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Kytt 2.2-sarjan Linuxin ydint. Jos internetosoite (IP),\n"
-"jota tietokoneesi kytt, asetetaan automaattisesti\n"
-"toisesta kotonasi tai typaikallasi olevasta tietokoneesta\n"
-"(eli se on dynaamisesti mrtty), ominaisuuden kytt \n"
-"pit sallia. Pitk paikkaansa?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Onko tietokoneesi kello synkronoitu toisen tietokoneen kanssa?\n"
-"Useimmiten tt ominaisuutta kytetn keskisuurissa Unix/Linux\n"
-"-organisaatioissa esimerkiksi lokin synkronointiin. Jos tietokoneesi\n"
-"ei ole osa suurempaa toimistoa tai et ole kuullut tllaisesta, \n"
-"jrjestelm ei luultavasti ole synkronoitu."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Asetukset tehty. Kirjoitetaanko muutokset levylle?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "En voi avata %s: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Tiedostoa %s ei voi avata kirjoittamista varten: %s\n"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Asiakasohjelmat eri protokollille (ssh jne)"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Kehitysymprist"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Tyasema"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Palomuuri / Reititys"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Henkilkohteisen tiedon hallinta"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedia - Grafiikka"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Verkkopte (asiakas)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "nenksittely: mp3, midi, mikserit, jne"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Internet-asema"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Toimistosovellukset"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimedia-asema"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Valikoima tykaluja shkpostin ja nyytisten lukemiseen (pine, mutt, tin...) "
-"sek internetiss surffailuun"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "C ja C++ ohjelmointitykalut, kirjastot ja include-tiedostot"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Nimipalvelin ja tietoverkon informaatiopalvelin"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Tilinpito-ohjelmia, kuten gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "PostgreSQL tai MySQL tietokantapalvelin"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS-, SMB-, SSH- ja vlipalvelin"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentaatio"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, jne"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Apuohjelmat"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Graafinen ymprist"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedia - ni"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Pelit: tasohyppely, korttipelit, strategia, jne"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Videon katselu ja editointi"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Komentorivitykalut"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "nen sek videon soitto- ja editointiohjelmat"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Tieteelliinen tyasema"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editorit, komentotulkit, tiedostotykalut, terminaalit"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Kirjoja ja ohjeita Linuxista sek vapaan lhdekoodin ohjelmista"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Graafinen ymprist kyttjystvllisell ohjelmistolla ja tykaluilla."
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr "Postfix-postipalvelin, Inn-nyytispalvelin"
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Pelit"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedia - Video"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Verkkotietokone (palvelin)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Grafiikkaohjelmistot, kuten Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Toimistotyasema"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"K-typytymprist. Graafinen perusymprist ja sen mukana tulevat tykalut"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Lis graafisia typyti (Gnome, IceWM)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Tykalut CD:iden luomiseen ja polttamiseen"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedia - CD:n poltto"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Varmuuskopiointi, emulaattorit, jrjestelmn tarkkailu"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Tietokanta"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Office-ohjelmistot: tekstinksittely (kword, abiword), taulukkolaskenta "
-"(kspread,gnumeric), pdf-lukijat jne"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Palvelin"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Henkilkohtainen kirjanpito"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Asetusten muokkaus"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE-tyasema"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Muut graafiset kyttympristt"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache WWW-palvelin ja Pro-ftpd FTP-palvelin"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Shkposti/Groupware/Nyytiset"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome-tyasema"
-
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr "Internetyhdyskytv"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Tykalut Palm Pilotin tai Visorin liittmiseksi"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Pelikone"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, jne"
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Tykalut, jotka helpottavat tietokoneesi asetusten muokkaamista"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-"Kokoelma tykaluja shkpostiin, nyytisiin, webiin, tiedostonsiirtoon ja "
-"jutusteluun"
-
-#~ msgid "GB"
-#~ msgstr "Gt"
-
-#~ msgid "KB"
-#~ msgstr "Kt"
-
-#~ msgid "TB"
-#~ msgstr "Tt"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minuuttia"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minuutti"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d sekuntia"
diff --git a/perl-install/share/po/fr.po b/perl-install/share/po/fr.po
deleted file mode 100644
index 79c43fa1d..000000000
--- a/perl-install/share/po/fr.po
+++ /dev/null
@@ -1,9493 +0,0 @@
-# Translatrion file of Mandrake graphic install
-# Copyright (C) 1999 Mandrakesoft
-# David BAUDENS <baudens@mandrakesoft.com>, 1999-2001
-# David ODIN <odin@mandrakesoft.com>, 2000
-# Pablo Saratxaga <pablomandrakesoft.com>, 2001
-#
-# Veuillez ne pas mettre jour ce fichier moins d'tre
-# certain tant de vos traductions que de votre grammaire et
-# de votre orthographe. Ces dernires sont trop souvents
-# approximatives. Elles ncessitent alors des relectures et
-# des corrections qui n'ont d'autre consquence que de faire
-# perdre du temps tout le monde ( vous si votre travail est
-# imparfait et aux relecteurs qui doivent rechercher puis corriger
-# vos ventuelles fautes).
-#
-# VEUILLEZ RESPECTER LA TYPHOGRAPHIE FRANAISE!
-# Les majuscules doivent tre accentues si besoin est. Respectez
-# les espaces ncessaires pour la ponctuation (espace aprs la virgule et
-# le point, espace avant les points d'interrogation et d'exclamation,
-# espace avant et aprs le point virgule).
-#
-# Les guillemets franaises sont et et non ". La guillemet ouvrante
-# est suivie d'un espace inscable et la guillemet fermante est
-# prcde du mme type d'espace.
-#
-# Enfin, traduisez INTELLIGEMMENT et non mot mot. Certaines traductions
-# n'ont aucun sens en franais.
-#
-# Nous vous remercions de votre comprhension.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX for MDK 7.0\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-09-28 12:34+0200\n"
-"Last-Translator: David BAUDENS <baudens@mandrakesoft.com>\n"
-"Language-Team: french\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-15\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Configurer toutes les ttes indpendamment"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Utiliser l'extension Xinerama"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Configurer seulement la carte \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Configuration multi-ttes"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Votre systme supporte la configuration de plusieurs ttes.\n"
-"Que souhaitez-vous faire ?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Carte graphique"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Choisissez une carte graphique"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Choisissez un serveur X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "serveur X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Quelle configuration d'XFree dsirez-vous utiliser?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Votre carte vido peut utiliser l'acclration 3D matrielle mais "
-"uniquement\n"
-"en utilisant XFree %s.\n"
-"Votre carte vido est supporte par XFree %s. Ce dernier peut tre plus\n"
-"performant en 2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-"Votre carte vido peut utiliser l'acclration 3D matrielle avec XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s avec acclration 3D matrielle"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Votre carte vido peut utiliser l'acclration 3D matrielle en utilisant\n"
-"XFree %s.\n"
-"Veuillez noter que ce support est EXPRIMENTAL et qu'il peut FIGER VOTRE\n"
-"ORDINATEUR."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s avec support EXPRIMENTAL de l'acclration 3D matrielle"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Votre carte vido peut utiliser l'acclration 3D matrielle mais "
-"uniquement\n"
-"en utilisant XFree %s.\n"
-"Attention, veuillez noter que ce support est EXPRIMENTAL et peut FIGER "
-"VOTRE\n"
-"ORDINATEUR.\n"
-"\n"
-"Votre carte vido est supporte par XFree %s. Ce dernier peut tre plus\n"
-"performant en 2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "Configuration d'XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr ""
-"Veuillez prciser la quantit de mmoire vido de votre carte graphique"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Choisissez les options du serveur"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Choisissez un moniteur"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Moniteur"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Les deux paramtres importants sont la frquence de rafrachissement\n"
-"verticale (qui dtermine la vitesse laquelle l'cran est rafrachi)\n"
-"et, surtout, la frquence de synchronisation horizontale (qui dtermine\n"
-"la vitesse laquelle les lignes sont traces).\n"
-"\n"
-"Il est important que vous ne spcifiez pas un type de moniteur pouvant\n"
-"utiliser une frquence de rafrachissement excdant les capacits de votre\n"
-"moniteur. Vous risqueriez de l'endommager.\n"
-"En cas de doute, choisissez un rglage peu performant mais sans risque pour\n"
-"votre matriel."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Frquence horizontale"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Frquence verticale"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Le moniteur n'est pas configur"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "La carte graphique n'est pas encore configure"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "La rsolution n'a pas encore t choisie"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Dsirez-vous tester la configuration?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Attention: le test de cette carte vido peut geler votre ordinateur"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Test de la configuration"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"essayez de modifier quelques paramtres"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Une erreur est survenue:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Fin du test dans %d secondes"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "tes-vous satisfait?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr ""
-"Une erreur est survenue, essayez de modifier\n"
-"quelques paramtres"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Rsolution"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Choix de la rsolution et du nombre de couleurs"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Carte graphique: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Serveur XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Mode expert"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Tout montrer"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Rsolutions"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Disposition du clavier: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Type de souris: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Priphrique: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Moniteur: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Frquence horizontale: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Frquence verticale: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Carte graphique: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Mmoire vido: %s ko\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Nombre de couleurs: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Rsolution: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Serveur XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Pilote XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Prparation de la configuration de X Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Que dsirez-vous faire?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Changer le moniteur"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Changer la carte graphique"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Changer les options du serveur"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Changer la rsolution"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Afficher les informations"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Tester nouveau"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Quitter"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Dsirez-vous conserver les changements?\n"
-"La configuration actuelle est:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Veuillez relancer %s pour activer les changements"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr ""
-"Veuillez vous dconnecter puis presser simultanment les touches Ctrl-Alt-"
-"BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "Interface graphique lors du dmarrage"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Le systme peut tre configur pour que l'interface graphique soit\n"
-"automatiquement active lors du dmarrage.\n"
-"Le souhaitez-vous?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 couleurs (8 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mille couleurs (15 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mille couleurs (16 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 millions de couleurs (24 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 milliards de couleurs (32 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 ko"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 ko"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 Mo"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 Mo"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 Mo"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 Mo"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 Mo ou plus"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standard VGA, 640x480 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "Compatible 8514, 1024x768 87 Hz entrelacs (sans 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 87 Hz entrelacs, 800x600 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Super VGA tendu, 800x600 60 Hz, 640x480 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "SVGA non entrelac, 1024x768 60 Hz, 800x600 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "SVGA haute frquence, 1024x768 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multi-frquences supportant le 1280x1024 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multi-frquences supportant le 1280x1024 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multi-frquences supportant le 1280x1024 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Moniteur supportant le 1600x1200 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Moniteur supportant le 1600x1200 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Premier secteur de la partition de dmarrage"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Premier secteur du disque (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "Installation de SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "O dsirez-vous installer le chargeur de dmarrage?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Installation de LILO/Grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO avec menu texte"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO avec menu graphique"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Dmarrer partir de DOS/Windows (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Principales options du chargeur de dmarrage"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Chargeur de dmarrage utiliser"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Installation du chargeur de dmarrage"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Priphrique de dmarrage"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (ne fonctionne pas avec des BIOS anciens)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Compact"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "compact"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Mode vido"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Dlai avant l'activation du choix par dfaut"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Mot de passe"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Confirmation"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Directive restrict"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "restrict"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Purger /tmp chaque dmarrage"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Prcisez la taille mmoire si ncessaire (%d Mo trouvs)"
-
-# ???
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Autoriser les profiles multiples"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Indiquez la quantit de mmoire en Mo"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"La directive restrict est inutile si vous ne spcifiez pas un mot de "
-"passe"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Veuillez ressayer"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Les mots de passe ne correspondent pas"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Message de dmarrage"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Dlai de l'Open Firmware"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Timeout du boot Kernel"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Activer le boot sur CD ?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Activer le boot sur l'OF?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "OS par dfaut?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Les entres suivantes sont celles dj prsentes.\n"
-"Vous pouvez les modifier ou en ajouter."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Ajouter"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Terminer"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Modifier"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Quel type d'entre voulez-vous ajouter?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Autres systmes (SunOS, etc.)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Autres systmes (MacOS, etc.)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Autres systmes (Windows, etc.)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Image"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Append"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lecture/criture"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Table"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Peu sr"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Label"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Dfaut"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd-size"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "NoVideo"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Supprimer l'entre"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Un label vide n'est pas autoris"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Ce label est dj utilis"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Quel type de partitionnement?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Interface %s %s dtecte(s)"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "En possdez-vous d'autres?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Possdez-vous des interfaces %s?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Non"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Oui"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Voir les informations sur le matriel"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Installation du pilote pour la carte %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(module %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Quel pilote %s faut-il essayer?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Dans certains cas, le pilote %s a besoin\n"
-"d'informations supplmentaires pour trouver son matriel, bien qu'il\n"
-"n'en ait pas besoin dans la plupart des cas. Il peut arriver que la\n"
-"recherche automatique gle la machine, sans dommage cependant pour\n"
-"l'ordinateur. Dsirez-vous lui passer ces informations?"
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Dtection automatique"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Spcifier les options"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Vous pouvez maintenant prciser les options du module %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Vous devez maintenant prciser les options pour le module %s.\n"
-"Les options sont de la forme nom=valeur nom2=valeur2 ...\n"
-"Par exemple, io=0x300 irq=7"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Options du module:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Le chargement du module %s a chou.\n"
-"Dsirez-vous ressayer avec d'autres paramtres?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "Utilisateur(s) existant(s): %s"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Ce mot de passe est trop simple"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Un nom d'utilisateur est requis"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"Le nom de login ne peut contenir que des lettres minuscules,\n"
-"des nombres, ainsi que les caractres - et _"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Ce nom d'utilisateur est dj utilis"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Ajouter un utilisateur"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Crer un compte utilisateur\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Accepter"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Nom et prnom"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Nom de login"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Icne"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Connexion automatique"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Le systme peut tre configur de tel faon que vous n'ayez pas\n"
-" vous identifer (un utilisateur par dfaut sera utilis). Si vous\n"
-"ne dsirez pas utiliser cette fonctionnalit, cliquez sur Annuler."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Choisissez l'utilisateur par dfaut:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Choisissez le gestionnaire de fentres utiliser:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Bienvenue dans %s, le chargeur de systemes d'exploitation.\n"
-"\n"
-"Choisissez un systemes d'exploitation dans la \n"
-"liste ci-dessus ou attendez %d secondes pour \n"
-"le demarrage par defaut.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Bienvenue dans GRUB, le chargeur de systmes d'exploitation"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-"Utilisez les touches %c et %c pour slectionner l'entre en surbrillance."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-"Appuyez sur Entre pour dmarrer le SE selectionn, sur e pour modifier les"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-"commandes avant de dmarrer ou sur c pour utiliser la ligne de commande."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Le SE en surbrillance sera automatiquement demarr dans %d secondes."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "il n'y a pas assez de place dans /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Bureau"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Menu Dmarrer"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "pas d'aide disponible pour l'instant.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Configuration du style de dmarrage"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Fichier"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Fichier/_Nouveau"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Fichier/_Ouvrir"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Fichier/_Sauvegarder"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Fichier/Sauvegarder Sous"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Fichier/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Fichier/_Quitter"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Options"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Options/Test"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/Aide"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Aide/_A propos..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Configurer"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Vous utilisez actuellement %s comme gestionnaire de dmarrage.\n"
-"Cliquez sur Configurer pour lancer l'assistant de configuration."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Mode de lilo/grub"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Moniteur nouveau style avec catgorisation"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Moniteur nouveau style"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Moniteur traditionnel"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Moniteur traditionnel Gtk+"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Utiliser Aurora au dmarrage"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Mode de dmarrage"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Lancer X-Window au dmarrage"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Non, je ne souhaite pas autologin"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Oui, je veux autologin avec cela (utilisateur, bureau)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Mode systme"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Dfaut"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Annuler"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "chec de l'ouverture de /etc/inittab en lecture : $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "chec de l'ouverture de /etc/sysconfig/autologin en lecture : $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "L'installation de LILO a chou pour la raison suivante:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Crer"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Dmonter"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Supprimer"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formater"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Redimensionner"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Type"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Point de montage"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "crire /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Passer en mode expert"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Passer en mode normal"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Restaurer partir d'un fichier"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Sauvegarder dans un fichier"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Assistant"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Restaurer partir d'une disquette"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Sauvegarder sur disquette"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Tout supprimer"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Tout formater"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Partitionnement automatique"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Toutes les partitions primaires sont utilises"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Impossible d'ajouter une partition"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Pour pouvoir utiliser plus de partitions, vous devez d'abord en supprimer "
-"une pour la remplacer par une partition tendue."
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Pas assez d'espace libre pour l'allocation automatique"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Dfaire"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "crire la table des partitions"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Davantage"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Vide"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Autre"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Types des systmes de fichiers:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Dtails"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Vous possdez une seule partition. Cette dernire est de type FAT (format\n"
-"gnralement utilis par Microsoft DOS ou Windows) et est de grande taille.\n"
-"Il vous est suggr de la redimensionner dans un premier temps (cliquez\n"
-"dessus puis sur Redimensionner)."
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Veuillez effectuer une copie de sauvegarde de vos donnes avant tout"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lisez attentivement!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Si vous avez l'intention d'utiliser aboot, veuillez laisser\n"
-"un espace libre au dbut du disque (2048 secteurs sont suffisants)."
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Soyez prudent: cette opration est dangeureuse"
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Erreur"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Point de montage: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Priphrique: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Identifiant DOS suppos: %s\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Type: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nom: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Dbut: secteur %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Taille: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s secteurs"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Cylindre %d cylindre %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formate\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Non formate\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Monte\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Fichier(s) loopback: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Partition de dmarrage par dfaut\n"
-"(pour DOS/Windows, pas pour LILO)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Niveau %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Taille des blocs %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "disques RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Nom du fichier loopback: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Il y a des chances que cette partition\n"
-"soit une partition contenant des pilotes\n"
-"systmes, vous devriez la laisser de ct.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Cette partition spciale de Bootstrap\n"
-"est utile pour le multi-boot.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Veuillez cliquer sur une partition"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Taille: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Gomtrie: %s cylindres, %s ttes, %s secteurs\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "disques LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Table des partitions de type: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "sur bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Monter"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Activer"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Ajouter au RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Supprimer du RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Modifier le RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Ajouter au LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Supprimer du LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Utiliser pour loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Choisissez une action"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Dsol, mais il est impossible de placer le rpertoire /boot si loin sur\n"
-"le disque: le numro du dernier cylindre est suprieur 1024.\n"
-"Si vous utilisez LILO, il ne fonctionnera pas, et si vous ne l'utilisez pas, "
-"vous n'avez pas besoin de partition /boot."
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"La partition que vous avez choisie pour tre la partition racine se\n"
-"situe au-del du 1024 cylindre du disque, et vous n'avez pas de\n"
-"partition /boot. Si vous comptez utiliser LILO, n'oubliez pas de crer\n"
-"une partition /boot."
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Vous avez choisi une partition RAID logicielle en tant que partition\n"
-"racine (/). Aucun chargeur de dmarrage n'est capable de grer une telle\n"
-"situation si une partition /boot n'existe pas. Veillez donc ajouter une\n"
-"telle partition."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Utilisez plutt %s"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Utilisez Dmonter d'abord"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Aprs avoir modifi le type de la partition %s, toutes les donnes\n"
-"prsentes sur cette partition seront perdues."
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Dsirez-vous tout de mme continuer?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Quitter sans sauvegarder"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Dsirez-vous rellement quitter sans crire la table des partitions?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Changement du type de la partition"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Quel systme de fichiers dsirez-vous utiliser?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Vous ne pouvez utiliser ReiserFS pour des partitions de moins de 32 Mo"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "O dsirez-vous monter le fichier loopback %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "O dsirez-vous monter la partition %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Il est impossible de dslectionner ce point de montage parce qu'il est\n"
-"utilis pour le loopback. Veuillez supprimer ce dernier d'abord."
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"Aprs avoir format la partition %s, toutes les donnes prsentes\n"
-"sur cette partition seront perdues"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formatage"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formatage du fichier loopback %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formatage de la partition %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Aprs avoir format toutes les partitions,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "toutes les donnes prsentes sur ces partitions seront perdues"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Dplacer"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Sur quel disque voulez-vous la dplacer?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Secteur"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Sur quel secteur voulez-vous la dplacer?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Dplacement"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Dplacement de la partition en cours"
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "La table de partitions de %s va maintenant tre crite sur le disque!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr ""
-"Vous devez redmarrer pour que les modifications soient prises en compte"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Calcul des limites du systme de fichiers FAT en cours"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Redimensionnement"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Cette partition ne peut pas tre redimensionner"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr ""
-"Toutes les donnes prsentes sur cette partition\n"
-"devraient avoir t sauvegardes."
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"Aprs avoir redimensionn la partition %s, toutes les donnes prsentes\n"
-"sur cette partition seront perdues"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Choisissez la nouvelle taille"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "Mo"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Cration d'une nouvelle partition"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Secteur de dbut: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Taille en Mo: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Type du systme de fichiers: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Prfrence: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Cette partition ne peut tre utilise pour du loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Nom du fichier loopback:"
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-"Ce fichier est dj utilis par un autre loopback.\n"
-"Veuillez en choisir un autre."
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Le fichier existe dj. Faut-il l'utiliser?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Slectionnez un fichier"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"La table de partitions contenue sur la sauvegarde\n"
-"n'a pas la mme taille que le disque.\n"
-"Dsirez-vous tout de mme continuer?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Attention"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Insrez une disquette dans le lecteur.\n"
-"Toutes les donnes prsentes sur cette disquette seront perdues."
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Tentative de restauration de la table des partitions"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "Priphrique"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "Niveau"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "Taille des blocs"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Choisissez un RAID existant pour l'ajout"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "Nouveau"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Choisissez un LVM existant pour l'ajout"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "Nom LVM ?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Montage automatique des priphriques amovibles"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Restaurer la table des partitions"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Recharger"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "le formatage au format %s de %s a chou"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "Impossible de formater %s au format %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "Le montage a chou: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "Le dmontage de %s a chou: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "simple"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "serveur"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Les points de montage doivent commencer par /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Le point de montage %s est dj utilis par une partition\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Points de montage circulaires %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-"Vous ne pouvez pas utiliser une partition logique LVM pour le point de "
-"montage %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Ce rpertoire devrait rester dans le systme de fichiers racine"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Vous avez besoin d'un vrai systme de fichiers (ext2, reiserfs) pour ce "
-"point de montage\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Erreur lors de l'ouverture de %s en criture: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Une erreur est survenue: aucun priphrique valide n'a t trouv pour\n"
-"crer de nouvelles partitions. Veuillez vrifier votre matriel."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Vous n'avez dfini aucune partition"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Choisissez votre langue prfre pour l'installation et l'utilisation du "
-"systme."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Vous devez accepter les termes de la licence ci-dessus pour continuer "
-"l'installation.\n"
-"\n"
-"\n"
-"Veuillez cliquer sur Accepter si vous tre d'accord avec ses termes.\n"
-"\n"
-"\n"
-"Veuillez cliquer sur Refuser si vous n'acceptez pas ses termes. "
-"L'installation\n"
-"prendra fin sans modifier votre configuration actuelle."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Choisissez la disposition de votre clavier dans la liste ci-dessus."
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Si vous dsirez que d'autres langues que celle que vous avez choisie au\n"
-"dbut de l'installation soient disponibles aprs l'installtion, veuillez\n"
-"les choisir dans la liste ci-dessus."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Veuillez choisir Installation si aucune autre version de Linux-Mandrake\n"
-"n'est installe sur cette machine ou si vous dsirez utiliser plusieurs\n"
-"systmes d'exploitation.\n"
-"\n"
-"\n"
-"Veuillez choisir Mise jour si vous dsirez mettre niveau une\n"
-"version prcdemment installe de Linux-Mandrake.\n"
-"\n"
-"\n"
-"En fonction de votre connaissance de GNU-Linux vous pouvez choisir une des\n"
-"des classes d'installation suivantes pour l'installation ou la mise "
-"niveau\n"
-"de votre systme d'exploitation Linux-Mandrake.\n"
-"\n"
-"\n"
-" * Recommande: si vous n'avez jamais install de systme d'exploitation\n"
-"GNU-Linux, choisissez cette option. L'installation sera trs aise et "
-"seules\n"
-"quelques questions vous seront poses.\n"
-"\n"
-"\n"
-" * Personnalise: si vous connaissez suffisamment GNU-Linux, vous pouvez\n"
-"choisir l'usage principal (station de travail, serveur ou dveloppement) de\n"
-"votre systme. Vous aurez rpondre de plus nombreuses questions qu'en\n"
-"mode Recommand頻. Vous devez par consquent savoir comment fonctionne\n"
-"GNU-Linux pour choisir cette option.\n"
-"\n"
-"\n"
-" * Expert: si vous avez une bonne connaissance de GNU-Linux, vous pouvez "
-"alors\n"
-"choisir cette option. De faon similaire l'option Personnalise, vous\n"
-"pourrez choisir l'usage principal de votre systme (station de travail, "
-"serveur\n"
-"ou dveloppement). Soyez trs prudent avant de slectionner cette option.\n"
-"Vous aurez la possibilit de procder une installation hautement\n"
-"personnalise. Rpondre certaines questions peut tre trs difficile si "
-"vous\n"
-"ne possdez pas une connaissance approfondie de GNU-Linux. Par consquent,\n"
-"veuillez ne pas choisir cette option moins que vous ne sachiez exactement\n"
-"ce que vous faites."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Choisissez:\n"
-"\n"
-" - Personnalise: si vous connaissez dja GNU-Linux, vous pouvez choisir "
-"quelle sera l'utilisation principale de cette machine. Voyez ci-aprs pour "
-"plus de dtails.\n"
-"\n"
-"\n"
-" - Expert: si vous connaissez dja tout de GNU-Linux et que vous voulez "
-"conserver l'entire matrise de l'installation, cette classe est faite pour "
-"vous. Vous pourrez slectionner le type d'utilisation du systme de la mme "
-"manire que pour l'installation personnalise.\n"
-"\n"
-"Attention: l'utilisation de cette classe d'installation ncessite une bonne "
-"connaissance de GNU-Linux. NE L'UTILISEZ DONC PAS MOINS DE SAVOIR CE QUE "
-"VOUS FATES."
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Les diffrents choix quant l'utilisation de votre machine (si vous avez\n"
-"choisi Personnalis頻 ou Expert) sont les suivants:\n"
-"\n"
-" - Normal: choisissez cette option si cet ordinateur est principalement\n"
-" destin un travail quotidien (travail de bureau, manipulation "
-"d'images\n"
-" et autres). Aucun outil de dveloppement ou compilateur ne sera "
-"install.\n"
-"\n"
-"\n"
-" - Dveloppement: comme son nom l'indique, cette option configure cet\n"
-" ordinateur pour le dveloppement logiciel. Une collection complte de\n"
-" logiciels destins la compilation, au dverminage, au formatage du\n"
-" code source et la cration de paquetages logiciels seront installs.\n"
-"\n"
-" - Serveur: choisissez cette option si vous souhaitez utiliser cet "
-"ordinateur\n"
-" en tant que serveur. Ce dernier peut tre un serveur de fichiers (NFS "
-"ou\n"
-" SMB), un serveur d'impression (protocole lp d'Unix ou impression "
-"SMB\n"
-" (principalement utilis avec Microsoft Windows)), d'authentification "
-"(NIS),\n"
-" de bases de donnes ou tout autre chose pouvant tre utilis en mode\n"
-" serveur. En raison de la destination de cette machine, aucun logiciel "
-"non\n"
-" indispensable (tels KDE ou GNOME) ne seront installs."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX va rechercher des cartes SCSI PCI.\n"
-"Si DrakX identifie une carte SCSI et sait quel pilote utiliser, ce dernier\n"
-"sera automatiquement charg.\n"
-"\n"
-"\n"
-"Si vous ne possdez pas de carte SCSI ou si vous possdez une carte SCSI au\n"
-"format ISA ou s'il s'agit d'une carte SCSI PCI que DrakX ne peut "
-"identifier,\n"
-"vous serez questionn afin de savoir si une carte SCSI est prsente sur "
-"votre\n"
-"systme. Si vous n'en possdez pas, cliquez sur Non. Dans le cas "
-"contraire,\n"
-"cliquez sur Oui. Une liste de pilotes vous sera alors prsente. Vous\n"
-"devrez choisir le pilote appropri votre carte.\n"
-"\n"
-"\n"
-"Si vous devez choisir manuellement votre pilote, DrakX vous demandera si "
-"vous\n"
-"dsirez utiliser des options spcifiques ce dernier. Vous pourrez "
-"demander\n"
-" DrakX d'interroger votre matriel pour connatre les options. Cela "
-"fonctionne\n"
-"gnralement correctement.\n"
-"\n"
-"\n"
-"Si cette interrogation choue, vous devrez indiquer les options utiliser "
-"au\n"
-"pilote. Veuillez vous reporter le guide d'installation pour savoir comment\n"
-"obtenir ces informations depuis Microsoft Windows (si ce dernier est "
-"install\n"
-"sur votre systme, dans la documentation de votre matriel ou depuis le "
-"site\n"
-"Web du constructeur (si vous avez accs Internet.)"
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Vous devez maintenant choisir o vous dsirez installer votre systme\n"
-"d'exploitation Linux-Mandrake sur votre disque dur.\n"
-"\n"
-"\n"
-"Si ce dernier est vide ou si un systme d'exploitation dj install "
-"utilise\n"
-"toute la place disponible, vous devez le partitionner.\n"
-"\n"
-"\n"
-"Shmatiquement, partitionner un disque dur consiste le diviser en "
-"plusieurs\n"
-"parties, chacune pouvant contenir un systme d'exploitation et/ou des "
-"donnes.\n"
-"Les effets du partitionnement tant gnralement irrversibles, il peut "
-"tre\n"
-"intimidant et stressant si vous tes un utilisateur inexpriment. Cet\n"
-"assistant va vous aider et simplifier cette tape. Avant de commencer,\n"
-"veuillez consulter la documentation et prendre votre temps.\n"
-"\n"
-"\n"
-"Vous avez au moins besoin de deux partitions. L'une sera utilise par le\n"
-"systme d'exploitation lui mme, l'autre sera utilise par la mmoire\n"
-"virtuelle (galement appele Swap).\n"
-"\n"
-"\n"
-"Si des partitions ont dj t dfinies (lors d'une prcdente installation "
-"ou\n"
-" l'aide d'un autre outil de partitionnement), vous pouvez les utiliser "
-"pour\n"
-"installer votre systme Linux.\n"
-"\n"
-"\n"
-"Si les partitions n'ont jamais t cres, vous devez le faire maintenant.\n"
-"Pour ce, veuillez utiliser l'assistant ci-dessus. En fonction de\n"
-"la configuration de votre disque dur, plusieurs solutions sont "
-"disponibles :\n"
-"\n"
-"\n"
-" * Utiliser une partition existante: l'assistant a dtect une ou\n"
-"plusieurs partitions Linux existantes. Si vous dsirez les utiliser, "
-"choisissez\n"
-"cette option.\n"
-"\n"
-"\n"
-" * Effacer tout le disque: si vous dsirez supprimer toutes les donnes "
-"et\n"
-"partitions prsentes sur votre disque dur et les remplacer par votre "
-"nouveau\n"
-"systme Linux-Mandrake, vous pouvez choisir cette option. Soyez trs "
-"prudent\n"
-"si vous dsirez utiliser cette solution. Vous ne pourrez annuler votre "
-"choix\n"
-"lorsque vous l'aurez confirm.\n"
-"\n"
-"\n"
-" * Utiliser l'espace disque disponible sur la partition Windows: si\n"
-"Microsoft Windows est install sur votre disque dur est utilise toute "
-"l'espace\n"
-"disponible, vous avez la possibilit de crer de l'espace pour les donnes\n"
-"Linux. Pour ce, vous pouvez supprimer votre partition Microsoft Windows, et\n"
-"ainsi perdre toutes les donnes qu'elle contient (voir Effacer tout le\n"
-"disque) ou redimensionner votre partition. Cette dernire solution peut\n"
-"tre effectue sans perte de donnes. Elle est recommande si vous dsirez\n"
-"utiliser Linux-Mandrake et Microsoft Windows sur le mme ordinteur.\n"
-"\n"
-"\n"
-"Avant de choisir cette solution, veuillez comprendre que la taille de votre\n"
-"partition Microsoft Windows sera plus petite qu'elle ne l'est actuellement.\n"
-"Cela signifie que vous disposerez de moins de place sous Microsoft Windows\n"
-"pour stocker vos donnes ou installer de nouveaux logiciels.\n"
-"\n"
-"\n"
-" * Mode expert: si vous dsirez partitionner manuellement votre disque "
-"dur,\n"
-"vous pouvez choisir cette option. Soyez trs prudent avant de faire ce "
-"choix.\n"
-"Il est trs souple et puissant mais il est trs dangereux. Vous pouvez "
-"perdre\n"
-"toutes vous donnes trs facilement. Par consquent, ne choisissez pas "
-"cette\n"
-"solution moins de savoir exactement ce que vous faites."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Vous devez maintenant choisir sur quelle(s) partition(s) vous dsirez "
-"installer\n"
-"votre nouveau systme Linux-Mandrake. Si des partitions ont t "
-"prcdemment\n"
-"cres (lors de l'installation d'un systme GNU-Linux ou l'aide d'un "
-"autre\n"
-"outil de partitionnement), vous pouvez utiliser ces partitions. Si aucune\n"
-"partition n'a t cre, vous devez le faire maintenant.\n"
-"\n"
-"\n"
-"Si vous possdez plus d'un disque dur, vous devez tout d'abord en "
-"slectionner\n"
-"un. Pour ce, cliquez sur hda pour le disque matre sur la premire "
-"nappe\n"
-"IDE, hdb pour le disque esclave sur la seconde nappe IDE, sda pour "
-"le\n"
-"premier disque SCSI, etc.\n"
-"\n"
-"\n"
-"Pour partitionner le disque slectionner, vous pouvez utiliser les options\n"
-"suivantes:\n"
-"\n"
-" * Tout supprimer: pour supprimer toutes les partitions prsentes\n"
-"sur votre disque dur.\n"
-"\n"
-"\n"
-" * Partitionnement automatique: pour crer automatiquement des "
-"partitions\n"
-"Ext2 et swap dans l'espace libre de votre disque dur.\n"
-"\n"
-"\n"
-" * Restaurer la table des partitions: si votre table des partitions est\n"
-"endommage, vous pouvez essayer de la restaurer en utilisant cette option.\n"
-"Soyez trs prudent en l'utilisant et ayez l'esprit que la restauratioon "
-"peut\n"
-"chouer.\n"
-"\n"
-"\n"
-" * Dfaire: vous pouvez utiliser cette option pour annuler vos "
-"modifications.\n"
-"\n"
-"\n"
-" * Recharger: vous pouvez utiliser cette option si vous dsirez annuler\n"
-"tous vos modifications en rechargeant votre table des partitions initiale.\n"
-"\n"
-"\n"
-" * Assistant: si vous dsirez utiliser un assistant pour partitionner "
-"votre\n"
-"disque dur, vous pouvez utiliser cette option. Cette dernire est "
-"recommande\n"
-"si vous n'avez pas une grande exprience en partitionnement.\n"
-"\n"
-"\n"
-" * Restaurer partir d'une disquette: si vous avez sauvegard votre "
-"table\n"
-"des partitions sur une disquette lors d'une prcdente installation, vous\n"
-"pouvez la restaurer en utilisant cette option.\n"
-"\n"
-"\n"
-" * Sauvegarder sur une disquette: si vous dsirez enregistrer votre "
-"table\n"
-"des partitions sur une disque afin d'avoir la possibilit de la restaurer, "
-"vous\n"
-"pouvez utiliser cette option. Il vous est fortement recommand de procder "
-"\n"
-"une telle sauvegarde.\n"
-"\n"
-"\n"
-" * Terminer: lorsque vous aurez fini de partitionner votre disque dur,\n"
-"utilisez cette option pour enregistrer vos modifications.\n"
-"\n"
-"\n"
-"Pour information, vous pouvez accder toutes ces options en utilisant le\n"
-"clavier. Pour passer d'une partition une autre, vous pouvez utiliser les\n"
-"touches ainsi que les touches haut et bas.\n"
-"\n"
-"\n"
-"Lorsqu'une partition est slectionne, vous pouvez utiliser les "
-"combinaisons\n"
-"de touches suivantes:\n"
-"\n"
-"\n"
-" * Ctrl-c pour crer une nouvelle partition (lorqu'une partition vide est\n"
-" slectionne.\n"
-" * Ctrl-d pour supprimer une partition\n"
-" * Ctrl-m pour lui attribuer un point de montage. \n"
-"\n"
-" \n"
-"Si vous installez sur une machine PowerPC, vous voudrez crer une petite "
-"partition HFS de 'bootstrap' d'au moins 1 Mo pour le chargeur de dmarrage "
-"yaboot. Si vous choisissez de crer la partition avec une taille un peu plus "
-"importante, par exemple 50 Mo, vous pourrez trouver cet endroit pratique "
-"pour stocker un autre kernel et une image ramdisk de secours, par exemple."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Les partitions ci-dessus listes sont les partitions Linux existantes "
-"dtectes\n"
-"sur votre disque dur. Vous pouvez conserver les choix effectus par "
-"l'assistant,\n"
-"ils sont adapts un usage courant. Si vous dsirez modifier ces choix, "
-"sachez\n"
-"que vous devez au moins dfinir une partition comme partition racine (/ "
-").\n"
-"Ne choisissez pas une partition trop petite car vous ne pourrez alors pas\n"
-"installer suffisament de logiciels. Si vous dsirez stocker vos partitions\n"
-"sur une partition diffrente, vous devez galement dfinir une partition\n"
-"/home (ce n'est possible que si vous possdez plus d'une partition "
-"Linux\n"
-"sur votre systme.\n"
-"\n"
-"\n"
-"Pour information, chaque partition est dcrite comme suit: Nom,\n"
-"Capacit頻.\n"
-"\n"
-"\n"
-"Le champ Nom est cod comme suit: type du disque dur, numro du\n"
-"disque dur, numro de la partition (par exemple, hda1).\n"
-"\n"
-"\n"
-"Le champ type du disque dur correspond hd si voutre disque dur est "
-"un\n"
-"disque dur IDE ou sd s'il s'agit d'un disque SCSI.\n"
-"\n"
-"\n"
-"Avec un disque dur IDE,\n"
-" * a signifie disque matre sur la premire nappe IDE,\n"
-" * b signifie disque esclave sur la premire nappe IDE,\n"
-" * c signifie disque matre sur la seconde nappe IDE,\n"
-" * d signifie disque esclave sur la seconde nappe IDE.\n"
-"\n"
-"\n"
-"Avec un disque dur SCSI, un a signifie premier disque dur, b\n"
-"signfie second disque dur, etc."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Choisissez le disque dur que vous souhaitez effacer pour installer votre\n"
-"nouvelle partition Linux-Mandrake. Soyez prudent, toutes les donnes "
-"prsentes\n"
-"sur ce disque seront perdues et ne seront pas restaurables."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Cilquez sur OK si vous dsirez supprimer toutes les donnes et "
-"partitions\n"
-"prsentes sur ce disque dur. Soyez prudent. Aprs avoir cliqu sur OK, "
-"vous\n"
-"n'aurez pas la possibilit de restaurer les donnes et partitions prsentes\n"
-"sur ce disque. Cet avertissement concerne galement les donnes de "
-"Microsoft\n"
-"Windows."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Plus d'une partition Microsoft Windows a t dtecte sur votre disque dur.\n"
-"Veuillez choisir celle que vous dsirez redimensionner pour installer votre\n"
-"nouveau systme d'exploitation Linux-Mandrake.\n"
-"\n"
-"\n"
-"Pour information, chaque partition est dcrite comme suit: Nom,\n"
-"Capacit頻.\n"
-"\n"
-"\n"
-"Le champ Nom est cod comme suit: type du disque dur, numro du\n"
-"disque dur, numro de la partition (par exemple, hda1).\n"
-"\n"
-"\n"
-"Le champ type du disque dur correspond hd si voutre disque dur est "
-"un\n"
-"disque dur IDE ou sd s'il s'agit d'un disque SCSI.\n"
-"\n"
-"\n"
-"Avec un disque dur IDE,\n"
-" * a signifie disque matre sur la premire nappe IDE,\n"
-" * b signifie disque esclave sur la premire nappe IDE,\n"
-" * c signifie disque matre sur la seconde nappe IDE,\n"
-" * d signifie disque esclave sur la seconde nappe IDE.\n"
-"\n"
-"\n"
-"Avec un disque dur SCSI, un a signifie premier disque dur, b\n"
-"signfie second disque dur, etc.\n"
-"\n"
-"\n"
-"Le champ Nom Windows correspond la lettre identifiant votre disque\n"
-"dur sous Microsoft Windows (le premier disque (ou la premire partition)\n"
-"est appel C:)."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Veuillez patienter. Cette opration peut prendre plusieurs minutes."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Les partitions nouvellements dfinies doivent tre formates pour pouvoir\n"
-"tre utilises (formater signifie crer un systme de fichiers).\n"
-"\n"
-"\n"
-"Vous pouvez souhaiter reformater certaines partitions dj existantes pour\n"
-"supprimer les donnes qu'elles contiennent. Si vous dsirez faire ceci,\n"
-"veuillez slectionner les partitions que vous dsirez formater.\n"
-"\n"
-"\n"
-"Veuillez noter qu'il n'est pas ncessaire de reformater toutes les "
-"partitions\n"
-"dj existantes. Vous devez formater les partitions contenant le systme\n"
-"d'exploitation (telles /, /usr ou /var), mais il n'est pas\n"
-"ncessaire de formater des partitions contenant des donnes que vous "
-"dsirez\n"
-"conserver (typiquement /home).\n"
-"\n"
-"\n"
-"Veuillez tre prudent lors de la slection des partitions. Aprs formatage,\n"
-"toutes les donnes seront supprimes et vous ne pourrez pas les restaurer.\n"
-"\n"
-"\n"
-"Cliquez sur OK lorsque vous serez prt formater vos partitions.\n"
-"\n"
-"\n"
-"Cliquez sur Annuler si vous dsirez choisir d'autres partitions o\n"
-"installer votre nouveau systme d'exploitation Linux-Mandrake."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Vous pouvez slectionner les groupes de paquetages que vous voulez\n"
-"installer ou mettre jour.\n"
-"\n"
-"\n"
-"DrakX vrifiera que vous avez assez de place pour tous les installer. Si tel "
-"n'est pas le cas, il vous prviendra. Si vous ne tenez pas compte de cet "
-"avertissement, il installera les paquetages slectionns mais supprimera "
-"quelques paquetages de moindre intrt. Une option situe en bas de la liste "
-"vous permet de choisir de slectionner les paquetages individuellement. "
-"Si vous fates ce choix une liste de plus de mille (1000) paquetages vous "
-"sera prsente."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Vous pouvez maintenant choisir individuellement chaque paquetage que vous\n"
-"dsirez installer.\n"
-"\n"
-"\n"
-"Vous pouvez tendre ou refermer l'arbre en cliquant sur les icnes "
-"disponibles\n"
-"en bas gauche de la fentre des paquetages.\n"
-"\n"
-"\n"
-"Si vous prfrez afficher la liste des paquetages en la triant par ordre\n"
-"alphabtique, cliquez sur l'icne Basculer d'un affichage alphabtique "
-"un\n"
-"tri par groupes.\n"
-"\n"
-"\n"
-"Si vous ne dsirez pas tre averti sur les dpendances, cliquez sur "
-"Gestion\n"
-"automatique des dpendances. Si vous activez cette option, veuillez noter "
-"que\n"
-"la dslection d'un paquetage peut en dslectionner plusieurs autres "
-"(dpendants\n"
-"de celui-ci) sans que vous en soyez avertis."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Si vous possdez tous les CD mentionns dans la liste ci-dessus, cliquez sur "
-"OK. Dans le cas contraire, cliquez sur sur Annuler. Si seuls "
-"quelques CD manquent, dslectionnez les puis cliquez sur OK."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Votre nouveau systme d'exploitation Linux-Mandrake est en cours\n"
-"d'installation. Cette opration prendra plusieurs minutes (la dure exacte\n"
-"dpend du nombre de paquetages que vous avez choisi d'installer et de la\n"
-"vitesse de votre ordinateur).\n"
-"\n"
-"\n"
-"Merci d'tre patient."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Vous pouvez maintenant tester votre souris. Utilisez les boutons et la "
-"molette\n"
-"pour vrifier qu'elle est correctement paramtre. Si tel n'est pas le cas,\n"
-"vous pouvez cliquer (ou actionner l'aide du clavier) le bouton Annuler "
-"\n"
-"pour choisir un autre pilote."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Veuillez slectionner le bon port. Par exemple, le port COM1 sous\n"
-"Microsoft Windows se nomme ttyS0 sous GNU-Linux."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Si vous dsirez connecter votre ordinateur Internet ou un rseau local,\n"
-"veuillez choisir l'option approprie. Veuillez mettre sous tension le\n"
-"priphrique avant de choisir l'option approprie si vous dsirez que DrakX\n"
-"le dtecte automatiquement.\n"
-"\n"
-"\n"
-"Si vous ne possdez pas d'accs Internet ou un rseau local, choisissez\n"
-"\"dsactiver le rseau\".\n"
-"\n"
-"\n"
-"Si vous dsirez configurer le rseau aprs avoir install votre nouveau "
-"systme,\n"
-"ou si vous avez fini de configurer le rseau, choisissez Terminer."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Aucun modem n'a t dtect. Veuillez slectionner le port srie sur lequel\n"
-"il est branch.\n"
-"\n"
-"\n"
-"Pour information, le premier port srie (appel COM1 sous Microsoft\n"
-"Windows) est appel ttyS0 sous Linux."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Vous pouvez maintenant indiquer les options de connexion. Si vous ne savez\n"
-"pas quoi indiquer ou n'tes pas certain de l'exactitude des donnes en "
-"votre\n"
-"possession, vous pouvez obtenir les informations correctes\n"
-"auprs de votre fournisseur d'accs. Si vous n'entrez pas le DNS (serveur "
-"denoms), cette information sera obtenue au moment de la connexion."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Si votre modem est un modem externe, veuillez le mettre sous tension "
-"maintenant\n"
-"si vous dsirez que DrakX essaye de le dtecter automatiquement."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Veuillez allumer votre modem et choisir le modle appropri."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Si vous n'tes pas certain de l'exactitude des informations ci-dessus\n"
-"ou si vous ne savez pas quoi indiquer, veuillez noter que les\n"
-"informations appropries peuvent tre obtenues auprs de votre fourniseur\n"
-"d'accs. De plus, si vous n'indiquez pas les informations\n"
-"relatives aux DNS (serveurs de noms), ces dernires seront obtenues auprs\n"
-"de votre fournisseur d'accs lors de la connexion."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Vous pouvez maintenant configurer votre accs Internet. Si vous ne savez\n"
-"pas quoi indiquer ou n'tes pas certain de vos choix, veuillez contacter\n"
-"votre fournisseur d'accs Internet."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Veuillez indiquer:\n"
-"\n"
-" * L'adresse IP: si vous ne la connaissez pas, contactez votre "
-"administrateur\n"
-"rseau ou votre fournisseur d'accs Internet.\n"
-"\n"
-"\n"
-" * Netmask: 255.255.255.0 est gnrallement un bon choix. Si vous "
-"n'en\n"
-"tes pas certain(e), contactez votre administrateur rseau ou fournisseur \n"
-"Internet.\n"
-"\n"
-"\n"
-" * Attribution automatique de l'adresse IP: Si votre rseau vous permet\n"
-"d'utiliser les protocoles bootp ou dhcp, activez cette option. Si\n"
-"vous l'activez, aucune valeur n'est requise dans la rubrique Adresse IP "
-".\n"
-"Si vous n'tes pas certain de pouvoir l'utiliser, contactez votre\n"
-"administrateur rseau ou votre fournisseur d'accs Internet."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Vous pouvez maintenant indiquer votre nom d'hte si ce dernier est "
-"ncessaire.\n"
-"Si vous ne savez pas quoi indiquer ou n'tes pas certain des paramtres \n"
-"indiquer, veuillez contacter votre administrateur rseau."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Vous pouvez maintenant indiquer votre nom d'hte si ce dernier est "
-"ncessaire.\n"
-"Si vous ne savez pas quoi indiquer ou n'tes pas certain du nom indiquer,\n"
-"veuillez contacter votre administrateur rseau."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Vous pouvez maintenant configurer votre accs Internet. Si vous ne savez\n"
-"pas quoi indiquer, contacter votre fournisseur d'accs Internet."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Si vous dsirez utiliser des serveurs mandataires (proxy), vous pouvez\n"
-"les configurer maintenant. Si vous ignorez si vous pouvez en utiliser un,\n"
-"contactez votre administrateur rseau ou votre fournisseur d'accs "
-"Internet."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Si votre connexion Internet a t correctement configure, vous pouvez\n"
-"maintenant installer des logiciels relatifs la cryptographie. La premire\n"
-"tape sera de choisir un serveur depuis lequel tlcharger les logiciels\n"
-"que vous voulez installer. Il vous faudra ensuite choisir les paquetages \n"
-"installer.\n"
-"\n"
-"\n"
-"VEUILLEZ NOTER QUE VOUS NE POUVEZ INSTALLER DE LOGICIELS RELATIFS LA\n"
-"CRYPTOGRAPHIE QUE SI LA LGISLATION LAQUELLE VOUS TES SOUMIS(E) VOUS L'Y\n"
-"AUTORISE."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-"Vous pouvez maintenant slectionner votre zone horaire, en fonction de "
-"celle\n"
-"dans laquelle vous vivez."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU-Linux gre l'heure en temps GMT (Greenwich Mean Time) et la "
-"convertit dans\n"
-"l'heure locale partir du fuseau horaire slectionn.\n"
-"\n"
-"Si vous utilisez Microsoft Windows sur cet ordinateur, slectionnez Non."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Vous pouvez maintenant choisir quels services seront activs au dmarrage.\n"
-"\n"
-"\n"
-"Quand votre souris passe au-dessus d'un choix, une bulle d'aide contenant\n"
-"une description du rle de ce service apparat.\n"
-"\n"
-"Soyez particulirement attentif cette tape si vous voulez utiliser votre\n"
-"ordinateur en tant que serveur: vous ne souhaitez probablement pas activer\n"
-"des services dont vous ne voulez pas."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Vous pouvez configurer une imprimante locale (connecte votre ordinateur)\n"
-"ou distante (accessible via un rseau Unix, NetWare ou Microsoft Windows)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Si vous souhaitez pouvoir imprimer, veuillez choisir un systme "
-"d'impression.\n"
-"Vous avez le choix entre LPR et CUPS.\n"
-"\n"
-"CUPS est un nouveau systme d'impression, souple et puissant pour les\n"
-"systmes Unix (CUPS signifie Common Unix Printing System). Il est le\n"
-"systme d'impression par dfaut de Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR est l'ancien systme d'impression disponible dans les prcdentes "
-"versions\n"
-"de Linux-Mandrake."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU-Linux peut manipuler plusieurs types d'imprimantes. Chacune d'entre "
-"elles\n"
-"requiert une configuration diffrente.\n"
-"\n"
-"\n"
-"Si votre imprimante est physiquement connecte votre ordinateur, "
-"slectionnez\n"
-"Imprimante locale.\n"
-"\n"
-"\n"
-"Si vous dsirez accder une imprimante accessible via un serveur Unix,\n"
-"slectionnez Imprimante distante.\n"
-"\n"
-"\n"
-"Si vous dsirez accder une imprimante accessible via un serveur "
-"Microsoft\n"
-"Windows (ou via une machine Unix utilisant le protocole SMB), slectionnez\n"
-"SMB/Windows 95/98/NT."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Veuillez mettre votre imprimante sous tension si vous dsirez que DrakX la\n"
-"dtecte.\n"
-"\n"
-"\n"
-" * Nom de l'imprimante: la file d'impression utilise lp comme nom\n"
-"d'imprimante par dfaut.\n"
-" Si vous possdez une seule imprimante, vous pouvez lui attribuer "
-"plusieurs\n"
-"noms. Vous devez nanmoins les sparer par un |. Si vous dsirez "
-"utiliser\n"
-"un nom plus significatif, vous devez le mettre en premier (comme ceci mon\n"
-"imprimante|lp, par exemple).\n"
-"L'imprimante ayant lp dans son/ses nom(s) sera l'imprimante par dfaut.\n"
-"\n"
-"\n"
-" * Description: ce champ est optionnel mais il peut tre utile si "
-"plusieurs\n"
-"imprimantes sont connectes votre ordinateur ou si vous dsirez autoriser\n"
-"d'autres ordinateurs accder votre imprimante.\n"
-"\n"
-"\n"
-" * Localisation: si vous dsirez indiquer des informations sur l'endroit "
-"o\n"
-"votre imprimante est situe, entrez les ici (vous tes libre d'crire ce "
-"que\n"
-"vous dsirez (2 tage, par exemple).\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Vous devez indiquer quelques informations ici.\n"
-"\n"
-"\n"
-" * Nom de la file d'impression: la file d'impression utilise lp "
-"comme\n"
-"nom d'imprimante par dfaut. Par consquent, si vous avez besoin d'une\n"
-"ainsi dnomme. Si vous possdez une seule imprimante, vous pouvez lui\n"
-"attribuer plusieurs noms. Vous devez nanmoins les sparer par un |.\n"
-"Si vous prfrez utiliser un nom plus significatif vous devez le mettre en\n"
-"premier (par exemple, comme ceci: Mon imprimante|lp. L'imprimante "
-"ayant\n"
-"lp dans son nom sera l'imprimante par dfaut.\n"
-"\n"
-"\n"
-" * Rpertoire de la file d'impression: les impressions en attente sont\n"
-"stockes dans ce rpertoire. Conservez le choix par dfaut si vous ne savez\n"
-"pas ce que vous devez utiliser.\n"
-"\n"
-"\n"
-" * Connexion de l'imprimante: si votre imprimante est physiquement "
-"connecte\n"
-" votre ordinateur, slectionnez Imprimante locale. Si vous dsirez "
-"utiliser\n"
-"une imprimante connecte une machine Unix distante, slectionnez "
-"Imprimante\n"
-"lpd distante.\n"
-"\n"
-"\n"
-" Si vous dsirez imprimer sur une imprimante connecte une machine "
-"distante\n"
-"utilisant Microsoft Windows (ou une machine Unix utilisant le protocol "
-"SMB,\n"
-"slectionnez SMB/Windows 95/98/NT.\n"
-"\n"
-"\n"
-" Si vuos dsirez accder une imprimante accessible via un rseau "
-"NetWare,\n"
-"slectionnez NetWare.\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Votre imprimante n'a pas t dtecte. Veuillez entrer le nom du "
-"priphrique\n"
-"sur lequel elle est branche.\n"
-"\n"
-"\n"
-"Pour information, la plupart des imprimantes sont connectes sur le premier\n"
-"port parallle. Ce dernier est appel /dev/lp0 sous GNU-Linux et LPT 1 "
-"\n"
-"sous Microsoft Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-"Vous pouvez maintenant slectionner votre imprimante dans la liste ci-dessus."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Veuillez slectionner les options appropries votre imprimante.\n"
-"Veuillez vous rfrer sa documentation si vous ne savez pas quoi choisir "
-"ici.\n"
-"\n"
-"\n"
-"Vous aurez la possibilit de tester votre configuration dans la prochaine "
-"tape et vous pourrez la modifier si vous n'tes pas satisfait du rsultat."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Vous devez maintenant choisir le mot de passe root de votre systme\n"
-"Linux-Mandrake. Le mot de passe doit tre entr deux fois afin d'tre\n"
-"certain qu'aucune faute de frappe ne vous empchera de l'utiliser.\n"
-"\n"
-"\n"
-"L'utilisateur root est l'administrateur du systme. Il est le seul\n"
-"autoris modifier la configuration du systme. Par consquent, choisissez\n"
-"ce mot de passe avec soin. Une utilisation non autorise du compte root "
-"peut\n"
-"tre trs dangereuse pour l'intgrit du systme et des donnes qu'il "
-"hberge,\n"
-"ainsi que pour les autres machines qui sont connectes au systme. Dans "
-"l'idal,\n"
-"le mot de passe devrait tre un mlange de majuscules, de minuscules et de\n"
-"chiffres. Le tout devrait avoir au moins huit (8) caractres de long. Il ne\n"
-"doit JAMAIS tre crit sur un quelconque bout de papier. Pour autant, ne le\n"
-"choisissez pas trop long ou trop compliqu: vous devez tre capable de "
-"vous\n"
-"en souvenir sans trop d'effort."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Pour pouvoir bnficier d'un systme plus scuris, activez les options\n"
-"Utiliser les shadows passwords et Utiliser les mots de passe MD5."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Si le rseau auquel vous tes raccord utilise le protocole NIS, "
-"slectionnez\n"
-"Utiliser NIS. Si vous ne savez pas si vous devez utiliser ce protocole,\n"
-"consultez votre administrateur rseau."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Vous avez maintenant la possibilit de crer un ou plusieurs comptes\n"
-"utilisateurs non privilgis ( opposer l'utilisateur privilgi頻,\n"
-"root). Vous pouvez crer un ou plusieurs comptes pour chaque personne que\n"
-"vous dsirez autoriser utiliser le systme. Veuillez noter que chaque\n"
-"compte aura ses propres prfrences (environnement graphique, prfrences\n"
-"des applications, etc.) ainsi que son rpertoire personnel (home), dans\n"
-"lequel seront stockes ces prfrences.\n"
-"\n"
-"\n"
-"Avant tout, crez un compte pour vous-mme. Mme si vous tes le seul\n"
-"utilisateur de cet ordinateur, vous NE DEVEZ PAS vous connecter en tant\n"
-"que root pour une utilisation du systme au quotidien. Cela reprsente un\n"
-"gros risque pour la scurit. Rendre le systme inutilisable tient aussi\n"
-"peu de choses qu'une faute de frappe. Par consquent, vous devriez toujours\n"
-"vous connecter au systme en utilisant le compte que vous aurez cr ici et\n"
-"n'utiliser le compte de l'administrateur systme que pour effectuer des "
-"tches\n"
-"d'administration et de maintenance du systme."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Il vous est fortement recommand de crer une disquette de dmarrage. Si "
-"vous\n"
-"ne pouvez pas dmarrer votre ordinateur, il s'agit du seul moyen votre\n"
-"disposition pour rparer votre systme sans avoir le rinstaller."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Vous devez maintenant indiquer o vous dsirez placer l'information\n"
-"requise au dmarrage de GNU-Linux.\n"
-"\n"
-"\n"
-" moins que vous ne sachiez exactement ce que vous faites, choisissez\n"
-"toujours Premier secteur du disque (MBR)."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-" moins de savoir exactement ce que vous faites, choisissez toujours\n"
-"/dev/hda (premier disque dur situ sur la premire nappe IDE) ou\n"
-"/dev/sda (premier disque SCSI)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (LInux LOader) et Grub sont des chargeurs de dmarrage: ils sont\n"
-"capables de dmarrer GNU-Linux ou tout autre systme d'exploitation prsent\n"
-"sur votre ordinateur. La plupart du temps, ces autres systmes\n"
-"d'exploitation sont correctement dtects et installs. Si tel n'est pas\n"
-"le cas, vous avez maintenant la possibilit d'indiquer les paramtres\n"
-"requis. Fates attention l'exactitude des paramtres.\n"
-"\n"
-"\n"
-"Vous pouvez galement souhaiter que tout un chacun ne puisse pas dmarrer\n"
-"ces systmes d'exploitation. Si tel est le cas vous pouvez supprimer les\n"
-"entres correspondantes. Veuillez noter que vous aurez alors besoin d'une\n"
-"disquette de dmmarage approprie pour dmarrer les systmes d'exploitation\n"
-"dont vous aurez supprim les entres."
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"Les principales options de LILO et Grub sont:\n"
-"\n"
-" - Boot device: indique le nom du priphrique (ex: une partition de\n"
-"disque dur) qui contient le secteur de dmarrage. moins que vous ne\n"
-"sachiez ce que vous faites, choisissez /dev/hda.\n"
-"\n"
-"\n"
-" - Dlai avant le dmarrage de l'image par dfaut: indique la dure\n"
-"(en diximes de secondes) pendant laquelle le chargeur de dmarrage attend\n"
-"avant de dmarrer le systme d'exploitation par dfaut. Ceci est utilis "
-"sur\n"
-"les systmes qui dmarrent immdiatement sur le disque dur aprs avoir "
-"activ\n"
-"le clavier. Si delay est absent, ou si sa valeur est nulle, le chargeur\n"
-"de dmarrage n'attend pas.\n"
-"\n"
-"\n"
-" - Mode vido: ceci prcise le mode texte VGA utiliser pendant le\n"
-"dmarrage. Les valeurs suivantes sont disponibles:\n"
-" * normal : utilise le mode texte normal de 80x25.\n"
-" * <nombre>: utilise le mode texte correspondant.\n"
-"\n"
-"\n"
-" - Purger /tmp chaque dmarrage : choisissez cette option si vous "
-"dsirez\n"
-"ffacer tous les fichiers et rpertoires sous /tmp chaque dmarrage du "
-"systme.\n"
-"\n"
-"\n"
-" - Prciser la quantit de RAM si ncessaire: il n'existe pas "
-"actuellement\n"
-"pas de mthode standard pour dtecter la quantit de mmoire prsente dans\n"
-"les ordinateurs de type PC. Par consquent, il se peut que GNU-Linux ne "
-"dtecte\n"
-"pas correctement la quantit prsente dans votre machine. Si tel est le "
-"cas,\n"
-"vous pouvez spcifier la quantit correcte de RAM ici. Veuillez noter "
-"qu'une\n"
-"diffrence de 2 4 Mo est normale."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot est un chargeur de dmarrage pour les machines de type NewWorld\n"
-"MacIntosh. Il est capable to dmarrer GNU/Linux, MacOS, ou MacOSX, si\n"
-"ces systmes sont prsents sur votre ordinateur. Normalement, ces autres\n"
-"systmes d'exploitation sont correctement dtects et installs. Si ce\n"
-"n'est pas le cas, vous pouvez ajouter l'entre correspondante la main\n"
-"sur cet cran. Veuillez faire attention de choisir les bons paramtres.\n"
-"\n"
-"\n"
-"Les principales options de Yaboot sont :\n"
-"\n"
-"\n"
-" - Message d'Init : un simple message texte, affich avant l'invite\n"
-"de dmarrage.\n"
-"\n"
-"\n"
-" - Priphrique de dmarrage : indique o vous souhaitez mettre les\n"
-"informations ncessaires au dmarrage de GNU/Linux. Gnralement, vous\n"
-"aurez configur auparavant une partition de 'bootstrap' pour contenir\n"
-"ces informations.\n"
-"\n"
-"\n"
-" - Dlai de l'Open Firmware : la diffrence de LILO, il y a deux\n"
-"dlais disponibles avec Yaboot. Le premier est mesur en secondes,\n"
-"et ce moment-l vous pouvez choisir parmi CD, OF, MacOS, ou Linux.\n"
-"\n"
-"\n"
-" - Dlai du dmarrage du noyau : ce dlai est similaire celui de\n"
-"LILO. Aprs avoir slectionn Linux, vous aurez ce dlai (en diximes\n"
-"de seconde) avant d'accepter les paramtres noyau par dfaut.\n"
-"\n"
-"\n"
-" - Autoriser le dmarrage CD ? : si vous activez cette option, vous\n"
-"pourrez choisir 'C', pour le CD, la premire invite de dmarrage.\n"
-"\n"
-"\n"
-" - Autoriser le dmarrage OF ? : si vous activez cette option, vous\n"
-"pourrez choisir 'N' pour l'Open Firmware la premire invite de\n"
-"dmarrage.\n"
-"\n"
-"\n"
-" - OS par dfaut : vous pouvez slectionner quel OS dmarrera par\n"
-"dfaut lorsque le dlai de l'Open Firmware expirera."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO est un chargeur de dmarrage pour SPARC: il est\n"
-"capables de dmarrer GNU-Linux ou tout autre systme d'exploitation prsent\n"
-"sur votre ordinateur. La plupart du temps, ces autres systmes\n"
-"d'exploitation sont correctement dtects et installs. Si tel n'est pas\n"
-"le cas, vous avez maintenant la possibilit d'indiquer les paramtres\n"
-"requis. Fates attention l'exactitude des paramtres.\n"
-"\n"
-"\n"
-"Vous pouvez galement souhaiter que tout un chacun ne puisse pas dmarrer\n"
-"ces systmes d'exploitation. Si tel est le cas vous pouvez supprimer les\n"
-"entres correspondantes. Veuillez noter que vous aurez alors besoin d'une\n"
-"disquette de dmmarage approprie pour dmarrer les systmes d'exploitation\n"
-"dont vous aurez supprim les entres."
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"Les principales options de SILO sont:\n"
-"\n"
-" - Installation du chargeur de dmarrage: Indique o vous dsirez\n"
-"placer l'information requise au dmarrage de GNU-Linux. moins que vous\n"
-"ne sachiez exactement ce que vous faites, choisissez toujours\n"
-"Premier secteur du disque (MBR).\n"
-"\n"
-"\n"
-" - Dlai avant le dmarrage de l'image par dfaut: indique la dure (en\n"
-"diximes de secondes) pendant laquelle le chargeur de dmarrage attend "
-"avant\n"
-"de dmarrer le systme d'exploitation par dfaut. Ceci est utilis sur les\n"
-"systmes qui dmarrent immdiatement sur le disque dur aprs avoir activ "
-"le\n"
-"clavier. Si delay est absent, ou si sa valeur est nulle, le chargeur de\n"
-"dmarrage n'attend pas."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Il est maintenant temps de configurer X, le coeur de l'interface graphique "
-"de\n"
-"GNU-Linux. Pour ce, vous devez configurer votre carte vido et votre "
-"moniteur.\n"
-"La plupart de ces tapes tant automatises, votre travail pourrait donc se\n"
-"limiter vrifier ce qui a t fait et accepter les rglages.\n"
-"\n"
-"\n"
-"Une fois la configuration acheve, X sera dmarr (sauf si vous demandez \n"
-"DrakX de ne pas le faire) afin que vous puissiez vrifier si les rglages\n"
-"sont corrects. Si ce n'est pas le cas, vous aurez la possibilit de les\n"
-"modifier, ce autant de fois qu'il vous le dsirerez."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Si vous n'tes pas satisfait par la configuration de X, vous pouvez "
-"utiliser\n"
-"ces options pour configurer correctement le systme X Window."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Si vous dsirez pouvoir vous connecter en mode graphique, slectionnez Oui "
-".\n"
-"Dans le cas contraire, slectionnez Non."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Vous pouvez choisir un niveau de scurit pour votre systme. Veuillez vous "
-"rferer au\n"
-"manuel pour de plus amples informations. En rsum, si vous ne savez pas "
-"quoi choisir,\n"
-"gardez le choix par dfaut.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Votre systme va maintenant redmarrer.\n"
-"\n"
-"Aprs le redmarrage, votre nouveau systme Linux Mandrake sera\n"
-"automatiquement activ. Si vous souhaitez dmarrer un autre systme\n"
-"d'exploitation, veuillez lire les informations qui s'afficheront \n"
-"l'cran."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Choix de la langue"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Classe d'installation"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Dtection des disques durs"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Configuration de la souris"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Choix du clavier"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Scurit"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Systmes de fichiers"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formatage des partitions"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Choix des paquetages"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Installation du systme"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Mot de passe root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Ajout des utilisateurs"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Configuration du rseau"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Rsum"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Configuration des services"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Disquette de dmarrage"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Chargeur de dmarrage"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Configuration de X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Fin de l'installation"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"Vous avez slectionn le(s) serveur(s) suivant(s) : %s\n"
-"\n"
-"\n"
-"Ces serveurs sont activs par dfaut. Ils n'ont pas de trou\n"
-"de scurit connu, mais de nouveaux problmes peuvent\n"
-"apparatre. Dans ce cas, vous devez vous assurer de mettre\n"
-" jour vos serveurs le plus rapidement possible.\n"
-"\n"
-"\n"
-"Voulez-vous vraiment installer ces serveurs ?\n"
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "On ne peut pas utiliser l'option broadcast sans domaine NIS"
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Insrez une disquette formatte en FAT dans le lecteur %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Cette disquette n'est pas formatte en FAT"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Pour utiliser cette sauvegarde de la slection des paquetages, veuillez "
-"dmarrer l'installation avec ``linux defcfg=floppy''"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Erreur lors de la lecture du fichier $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Veuillez tester votre souris"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Pour activer la souris,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "veuillez faire tourner la molette"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Certains priphriques prsents sur votre systme ncessitent des pilotes\n"
-"propritaires pour pouvoir fonctionner. Vous pouvez trouver plus\n"
-"d'informations les concernant ici: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Vous devez avoir une partition racine.\n"
-"Pour la dfinir, crez une partition (ou choisissez-en une dj\n"
-"existante) puis, dans la rubrique Choisissez une action, cliquez\n"
-"sur Point de montage et choisissez /."
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Vous devez crer une partition de swap"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Vous n'avez pas de partition de swap.\n"
-"\n"
-"Dsirez-vous tout de mme continuer?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Utiliser l'espace disque"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Pas assez d'espace libre pour crer de nouvelles partitions"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Utiliser les partitions existantes"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Pas de partitions existantes utiliser"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Utiliser la partition Windows pour le loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Quelle partition dsirez-vous utiliser pour Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Choix des tailles"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Taille de la partition racine en Mo: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Taille de la partition de swap en Mo: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Utiliser l'espace libre sur la partition de Microsoft Windows"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Quelle partition dsirez-vous redimmensionner?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr ""
-"Calcul des limites du systme de fichiers de Microsoft Windows en cours"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"Le programme de redimmensionnement des partitions FAT ne peut manipuler "
-"votre\n"
-"partition. L'erreur suivante est survenue: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Votre partition Microsoft Windows est trop fragmente. Veuillez excuter\n"
-"defrag avant."
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"ATTENTION!\n"
-"\n"
-"DrakX va maintenant rduire la taille de votre partition Windows.\n"
-"\n"
-"Soyez prudent: cette opration est dangereuse. Si vous ne l'avez pas dj\n"
-"fait, vous devez tout d'abord sauvegarder vos donnes et excuter le\n"
-"programme scandisk (et ventuellement defrag) fourni avec Microsoft Windows\n"
-"sur cette partition.\n"
-"\n"
-"Si vous tes sr de vous, cliquez sur OK."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Quelle taille dsirez-vous allouer Microsoft Windows?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "partition %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Le redimensionnement de la partition FAT a chou: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Il n'y a aucune partition FAT redimensionner ou utiliser en tant que "
-"loopback (ou trop peu d'espace est disponible)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Effacer tout le disque"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Supprimer Microsoft Windows"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-"Vous possdez plus d'un disque dur.\n"
-"Sur lequel dsirez vous installer Linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-"TOUTES les partitions et les donnes prsentes sur le disque %s seront "
-"perdues"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Partitionnement personnalis"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Utiliser Fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Vous pouvez maintenant partitionner %s.\n"
-"\n"
-"Lorsque vous aurez termin, n'oubliez pas d'enregistrer vos\n"
-"modifications en appuyant sur la touche w."
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Utiliser l'espace libre sur la partition de Microsoft Windows"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Pas de place disponible pour l'installation"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-"L'assistant de partitionnement de DrakX\n"
-"a trouv les solutions suivantes:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Le partitionnement a chou %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Dmarrage de l'interface rseau"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Arrt de l'interface rseau"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Une erreur est survenue et il est impossible de la grer de faon fiable.\n"
-"Vous pouvez continuer, mais vos risques et prils."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Point de montage dupliqu: %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Quelques paquetages importants n'ont pas t correctement installs. Il se\n"
-"peut que le lecteur de CD-ROM ou le CD-ROM lui-mme soit dfectueux. Vous\n"
-"pouvez vous assurer du bon tat de ce dernier en excutant la commande "
-"suivante\n"
-"sur un ordinateur fonctionnant correctement: rmp -qpl Mandrake/RPMS/*.rpm "
-"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Bienvenue sur %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Aucun lecteur de disquettes disponible"
-
-#
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Dmarrage de l'tape `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Choisissez l'espace que vous voulez utiliser"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Taille totale: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Version: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Taille: %d Ko\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Choisissez les paquetages que vous souhaitez installer"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Information"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Installation"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Installation"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Veuillez patienter, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Temps restant "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Temps total "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Prparation de l'installation"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Installation du paquetage %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Souhaitez-vous tout de mme continuer?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Une erreur est survenue lors du tri des paquetages:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Utiliser la configuration de X existante?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Votre ordinateur possde peu de mmoire. Vous aurez peut-tre quelques\n"
-"problmes pour installer Linux-Mandrake. Si cela se produit, vous pouvez\n"
-"essayer de procder une installation en mode texte. Pour cela, appuyez\n"
-"sur la touche F1 lors du dmarrage du CD-ROM puis entrez text."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Veuillez choisir une des classes d'installation ci-dessous:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr ""
-"La taille totale pour les groupes slectionns est approximativement de %d "
-"Mo.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Si vous voulez installer moins que cette taille,\n"
-"choisissez le pourcentage de paquetages que vous souhaitez installer.\n"
-"\n"
-"Un faible pourcentage ne permet l'installation que des paquetages les plus "
-"importants.\n"
-"Un pourcentage de 100%% permet l'installation de tous les paquetages "
-"slectionns."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Vous avez de l'espace sur votre disque pour seulement %d%% de ces "
-"paquetages.\n"
-"\n"
-"Si vous souhaitez en installer moins que ce cela,\n"
-"choisissez le pourcentage de paquetages que vous voulez installer.\n"
-"\n"
-"Un faible pourcentage ne permet l'installation que des paquetages les plus "
-"importants.\n"
-"Un pourcentage de %d%% permet l'installation de tous les paquetages "
-"slectionns."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr ""
-"Vous pourrez afiner la slection des paquetages lors de la prochaine tape."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Pourcentage des paquetages installer"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Slection des groupes de paquetages"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Slection individuelle des paquetages"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Montrer les paquetages slectionns automatiquement"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Dvelopper l'arborescence"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Rduire l'arborescence"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Basculer d'un affichage alphabtique un tri par groupes"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Mauvais paquetage"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nom: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Importance: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Taille totale: %d / %d Mo"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Vous ne pouvez pas slectionner ce paquetage car il ne reste pas assez de "
-"place pour l'installer"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Les paquetages suivants vont tre installs"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Les paquetages suivants vont tre dsinstalls"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Vous ne pouvez pas slectionner/dslectionner ce paquetage"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Ce paquetage est requis, vous ne pouvez pas le dslectionner."
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Vous ne pouvez pas dslectionner ce paquetage. Il est dja install."
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Ce paquetage doit tre mis jour.\n"
-"tes-vous certain de vouloir le dslectionner?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-"Vous ne pouvez pas dslectionner ce paquetage, il doit tre mis jour."
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Estimation en cours"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Veuillez patienter, prparation de l'installation"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d paquetages"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Important\n"
-"\n"
-"Veuillez lire attentivement le prsent document. En cas de dsaccord \n"
-"avec le prsent document vous n'tes pas autoris installer les \n"
-"medias suivants. Dans ce cas, slectionnez 'Refuser' pour continuer \n"
-"l'installation sans ces medias.\n"
-"\n"
-"Certains composants logiciels contenus dans les medias suivants ne \n"
-"sont pas soumis aux licences GPL ou similaires permettant la copie, \n"
-"l'adaptation ou la redistribution. Chacun de ces composants logiciels \n"
-"est distribu sous les termes et conditions d'un accord de licence \n"
-"lui tant propre. Veuillez vous y rfrer et y agrer avant de les \n"
-"installer, utiliser ou redistribuer. Gnralement, sauf dans la mesure \n"
-"et pour les besoins autoriss par les lois en vigueur, ces licences \n"
-"n'autorisent pas la copie (autre qu' titre de sauvegarde), la \n"
-"distribution, la dcompilation, le dsassemblage, l'ingnierie \n"
-"rebours, la reconstitution de la logique du logiciel et/ou leur \n"
-"modification. Toute violation de la licence applicable entrane \n"
-"gnralement la rsiliation de la licence qui vous est accorde, sans \n"
-"prjudice de tous autres droits ou actions votre encontre. moins \n"
-"que l'accord de licence ne vous l'y autorise, vous ne pouvez pas \n"
-"installer ces Logiciels sur plus d'une machine ni adapter les Logiciels \n"
-"pour une utilisation en rseau. Le cas chant, veuillez contacter le \n"
-"distributeur de chaque programme pour acqurir des licences \n"
-"additionnelles. La distribution des tiers de copies des Logiciels ou \n"
-"de la documentation qui les accompagne est gnralement interdite.\n"
-"\n"
-"Tous les droits, titres et intrt de cess logiciels sont la proprit \n"
-"exclusive de leurs auteurs respectifs et sont protgs au titre des \n"
-"droits de proprit intellectuelle et autres lois rgissant le droit \n"
-"des Logiciels.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Accepter"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Refuser"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Changement de CD-ROM\n"
-"\n"
-"Veuillez insrer le CD-ROM nomm %s dans votre lecteur.\n"
-"Ceci fait, cliquez sur OK.\n"
-"\n"
-"Si vous ne le possdez pas, cliquez sur Annuler."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Une erreur est survenue lors de l'installation du paquetage:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Une erreur est survenue"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Veuillez choisir la langue utiliser."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-"Vous pouvez choisir d'autres langues.\n"
-"Elles seront disponibles aprs l'installation."
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Tout"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Licence"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Introduction\n"
-"\n"
-"Le systme d'exploitation et les divers composants disponibles dans la \n"
-"distribution Linux-Mandrake sont ci-aprs dnomms ensemble les \n"
-"\"Logiciels\". Les Logiciels comprennent notamment, mais de faon non \n"
-"limitative, l'ensemble des programmes, procds, rgles et documentations \n"
-"relatifs au systme d'exploitation et aux divers composants de la \n"
-"distribution Linux-Mandrake.\n"
-"\n"
-"\n"
-"1. Licence\n"
-"\n"
-"Veuillez lire attentivement le prsent document. Ce document constitue \n"
-"un contrat de licence entre vous (personne physique ou personne morale) et \n"
-"MandrakeSoft S.A. portant sur les Logiciels.\n"
-"Le fait d'installer, de reproduire ou d'utiliser les Logiciels de quelque \n"
-"manire que ce soit indique que vous reconnaissez avoir pralablement eu \n"
-"connaissance et que vous acceptez de vous conformer aux termes et "
-"conditions \n"
-"du prsent contrat de licence. En cas de dsaccord avec le prsent "
-"document \n"
-"vous n'tes pas autoris installer, reproduire et utiliser de quelque \n"
-"manire que ce soit ce produit.\n"
-"Le contrat de licence sera rsili automatiquement et sans pravis dans le \n"
-"cas o vous ne vous conformeriez pas aux dispositions du prsent document. \n"
-"En cas de rsiliation vous devrez immdiatement dtruire tout exemplaire "
-"et \n"
-"toute copie de tous programmes et de toutes documentations qui constituent \n"
-"le systme d'exploitation et les divers composants disponibles dans la \n"
-"distribution Linux-Mandrake.\n"
-"\n"
-"\n"
-"2. Garantie et limitations de garantie\n"
-"\n"
-"Les Logiciels et la documentation qui les accompagne sont fournis en "
-"l'tat \n"
-"et sans aucune garantie. MandrakeSoft S.A. dcline toute responsabilit \n"
-"dcoulant d'un dommage direct, spcial, indirect ou accessoire, de quelque \n"
-"nature que ce soit, en relation avec l'utilisation des Logiciels, "
-"notamment \n"
-"et de faon non limitative, tout dommage entran par les pertes de \n"
-"bnfices, interruptions d'activit, pertes d'informations commerciales ou \n"
-"autres pertes pcuniaires, ainsi que des ventuelles condamnations et \n"
-"indemnits devant tre verses par suite d'une dcision de justice, et ce \n"
-"mme si MandrakeSoft S.A. a t informe de la survenue ou de \n"
-"l'ventualit de tels dommages.\n"
-"\n"
-"AVERTISSEMENT QUANT A LA DETENTION OU L'UTILISATION DE LOGICIELS \n"
-"PROHIBES DANS CERTAINS PAYS \n"
-"\n"
-"En aucun cas, ni MandrakeSoft S.A. ni ses fournisseurs ne pourront tre \n"
-"tenus responsable raison d'un prjudice spcial, direct, indirect ou \n"
-"accessoire, de quelque nature que ce soit (notamment et de faon non \n"
-"limitative les pertes de bnfices, interruptions d'activit, pertes \n"
-"d'informations commerciales ou autres pertes pcuniaires, ainsi que \n"
-"des ventuelles condamnations et indemnits devant tre verses par suite \n"
-"d'une dcision de justice) qui ferait suite l'utilisation, la dtention \n"
-"ou au simple tlchargement depuis l'un des sites de tlchargement de \n"
-"Linux-Mandrake de logiciels prohibs par la lgislation laquelle vous \n"
-"tes soumis. Cet avertissement concerne notamment certains logiciels de \n"
-"cryptographie fournis avec les Logiciels.\n"
-"\n"
-"\n"
-"3. Licence GPL et autres licences\n"
-"\n"
-"Les Logiciels sont constitus de modules logiciels crs par diverses \n"
-"personnes (physiques ou morales). Nombre d'entre eux sont distribus sous \n"
-"les termes de la GNU General Public Licence (ci-aprs dnomme \"GPL\") ou \n"
-"d'autres licences similaires. La plupart de ces licences vous permettent \n"
-"de copier, d'adapter ou de redistribuer les modules logiciels qu'elles \n"
-"rgissent. Veuillez lire et agrer les termes et conditions des licences \n"
-"accompagnant chacun d'entre eux avant de les utiliser. Toute question \n"
-"concernant la licence de chaque Logiciel est soumettre l'auteur (ou \n"
-"ses reprsentants) du Logiciel et non MandrakeSoft. \n"
-"Les programmes conus par MandrakeSoft sont rgis par la licence GPL. \n"
-"La documentation rdige par MandrakeSoft fait l'objet d'une licence \n"
-"spcifique. Veuillez vous rfrez la documentation pour obtenir plus \n"
-"de prcisions.\n"
-"\n"
-"\n"
-"4. Proprit intellectuelle\n"
-"\n"
-"Tous les droits, titres et intrts des diffrents Logiciels sont la \n"
-"proprit exclusive de leurs auteurs respectifs et sont protgs au titre \n"
-"des droits de proprit intellectuelle et autres lois rgissant le droit \n"
-"des Logiciels. Les marques \"Mandrake\" et \"Linux-Mandrake\" ainsi que "
-"les \n"
-"logotypes associs sont dposs par MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Dispositions diverses\n"
-"\n"
-"Si une disposition de ce contrat de licence devait tre dclare nulle, \n"
-"illgale ou inapplicable par un tribunal comptent, cette disposition sera \n"
-"exclue du prsent contrat. Vous continuerez tre lis aux autres \n"
-"dispositions, qui recevront leurs pleins effets. Le contrat de licence \n"
-"est soumis la Loi franaise. Toute contestation relative aux prsentes \n"
-"sera rgle pralablement par voie amiable. A dfaut d'accord avec \n"
-"MandrakeSoft S.A., les tribunaux comptents de Paris seront saisis du \n"
-"litige. Pour toute question relative au prsent document, veuillez \n"
-"contacter MandrakeSoft S.A.\n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Clavier"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Veuillez choisir la disposition de votre clavier."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Voici la liste complte des claviers disponibles"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Classe d'installation"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Quelle classe d'installation dsirez-vous utiliser?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Installation/Mise jour"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Dsirez-vous faire une installation ou mise jour?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Recommande"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Expert"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Mise jour"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Veuillez choisir le type de votre souris."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Port souris"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Veuillez choisir le port srie sur lequel votre souris est connecte."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "mulation des boutons"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "mulation du bouton 2"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "mulation du bouton 3"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Configuration des cartes PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Configuration IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "Aucune partition disponible"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Examen des partitions afin d'identifier les points de montage"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Choix des points de montage"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"La table des partitions ne peut tre lue car elle est trop endommage.\n"
-"Il est possible de rinitialiser les partitions endommages (TOUTES LES\n"
-"DONNES seront perdues). Une autre solution consiste a ne pas autoriser "
-"DrakX modifier la table\n"
-"des partitions (l'erreur est %s)\n"
-"\n"
-"tes-vous d'accord pour perdre toutes les partitions?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake ne peut lire la table des partitions de faon satisfaisante.\n"
-"Vous pouvez continuer, mais vos risques et prils."
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Partition racine"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Quelle est la partition racine (/) de votre systme?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"Vous devez redmarrer pour que les modifications apportes la\n"
-"table des partitions soient prises en compte"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Slectionnez les partitions que vous souhaitez formater"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Vrifier la prsence de blocs endommags?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Formatage des partitions"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Cration et formatage du fichier %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-"Le swap est insuffisant pour achever l'installation, veuillez en ajouter"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Recherche des paquetages disponibles en cours"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Recherche des paquetages mettre jour"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Votre systme ne dispose pas d'assez d'espace libre pour l'installation ou "
-"la mise jour (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Complte (%d Mo)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimum (%d Mo)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Recommande (%d Mo)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Personnalise"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr "La taille slectionne est plus importante que la place disponible"
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Si vous possdez tous les CD mentionns dans la liste ci-dessous, cliquez "
-"sur OK. Si vous n'en possdez aucun, cliquez sur Annuler. S'il ne "
-"vous en manque que quelques un, dselectionnez les, puis cliquez sur OK."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CD-ROM %s"
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Installation du paquetage %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Configuration post-installation"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Vous avez maintenant la possibilit de tlcharger des paquetages contenant "
-"des logiciels faisant usage de cryptographie si votre connexion Internet "
-"es correctement configure.\n"
-"\n"
-"\n"
-"ATTENTION: EN RAISON DE LA DIVERSIT DES RGLEMENTATIONS CONCERNANT CES "
-"LOGICIELS, VOUS DEVEZ VOUS ASSURER QUE LES LOIS ET RGLEMENTS AUXQUELS VOUS "
-"TES SOUMIS VOUS AUTORISENT LES TLCHARGER, LES STOCKER ET/OU LES "
-"UTILISER.\n"
-"\n"
-"\n"
-"NOUS ATTIRONS TOUT PARTICULIREMENT VOTRE ATTENTION SUR LE RESPECT DE LA "
-"RGLEMENTATION EN VIGUEUR DANS VOTRE PAYS. VOUS VOUS EXPOSEZ DE GRAVES "
-"SANCTIONS EN CAS DE VIOLATION DESDITES RGLES.\n"
-"\n"
-"\n"
-"EN AUCUN CAS, NI MANDRAKESOFT NI SES FOURNISSEURS NE POURRONT TRE TENUS "
-"RESPONSABLES RAISON D'UN PRJUDICE SPCIAL, INDIRECT OU ACCESSOIRE, DE "
-"QUELQUE NATURE QUE CE SOIT (NOTAMMENT LES PERTES DE BNFICES, INTERRUPTIONS "
-"D'ACTIVIT, PERTES D'INFORMATIONS COMMERCIALES OU AUTRES PERTES PCUNIAIRES, "
-"AINSI QUE DES VENTUELLES CONDAMNATIONS ET INDEMNITS DEVANT TRE VERSES "
-"PAR SUITE D'UNE DCISION DE JUSTICE) QUI FERAIT SUITE L'UTILISATION, LA "
-"DTENTION OU AU SIMPLE TLCHARGEMENT DES LOGICIELS CRYPTOGRAPHIQUES "
-"AUXQUELS VOUS POURREZ VENTUELLEMENT ACCDER APRS AVOIR VALID LE PRSENT "
-"ACCORD.\n"
-"\n"
-"\n"
-"Si vous rsidez en France, le prsent accord est soumis loi franaise. Si "
-"vous rsidez hors de France, le droit local pourra, le cas chant, "
-"s'appliquer.\n"
-"\n"
-"\n"
-"Au cas vous auriez des questions concernant cet accord, veuillez vous mettre "
-"en rapport avec:\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Choisissez un miroir o tlcharger les paquetages"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Tlchargement de la liste des paquetages disponibles en cours"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Veuillez choisir les paquetages que vous souhaitez installer"
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Quelle est votre zone horaire?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Votre horloge systme est-elle rgle sur GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Serveur CUPS distant"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Pas d'imprimante"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Souris"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Zone horaire"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Imprimante"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "Carte ISDN/RNIS"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Carte son"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "Carte TV"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Quel systme d'impression dsirez-vous utiliser?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Pas de mot de passe"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"Ce mot de passe est trop court (il doit comprendre au moins %d caractres)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Utiliser NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "Yellow Pages"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Authentification NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "Domaine NIS"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "Serveur NIS"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Une disquette de dmarrage fournit un moyen de dmarrer votre systme Linux\n"
-"indpendamment du chargeur de dmarrage habituel.\n"
-"\n"
-"C'est utile si vous ne voulez pas installer SILO sur votre systme,\n"
-"si un autre systme d'exploitation supprime le chargeur de dmarrage, ou "
-"encore\n"
-"si ce dernier ne peut tre install sur votre machine.\n"
-"\n"
-"Vous pouvez galement utiliser cette disquette avec l'image de secours "
-"Mandrake\n"
-"Cela permet une rcupration plus aise du systme en cas de problmes "
-"majeurs.\n"
-"\n"
-"Si vous voulez crer une disquette de dmarrage pour votre systme, insrer "
-"une disquette dans le premier lecteur et appuyer sur \"Ok\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Premier lecteur de disquettes"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Second lecteur de disquettes"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Abandonner"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Une disquette de dmarrage fournit un moyen de dmarrer votre systme Linux\n"
-"indpendamment du chargeur de dmarrage habituel.\n"
-"\n"
-"C'est utile si vous ne voulez pas installer LILO (ou Grub) sur votre "
-"systme,\n"
-"si un autre systme d'exploitation supprime le chargeur de dmarrage, ou "
-"encore\n"
-"si ce dernier ne peut tre install sur votre machine.\n"
-"\n"
-"Vous pouvez galement utiliser cette disquette avec l'image de secours "
-"Mandrake\n"
-"Cela permet une rcupration plus aise du systme en cas de problmes "
-"majeurs.\n"
-"\n"
-"Dsirez-vous crer une disquette de dmarrage pour votre systme?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Dsol, aucun lecteur de disquettes ne semble disponible"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr ""
-"Choisissez le lecteur de disquettes que vous voulez utiliser pour\n"
-"crer votre disquette de dmarrage."
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Insrez une disquette dans le lecteur %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Cration de la disquette de dmarrage en cours"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Prparation du chargeur de dmarrage"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Dsirez-vous utiliser aboot?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Une erreur est survenue lors de l'installation de aboot.\n"
-"Dsirez-vous forcer l'installation au risque de dtruire la\n"
-"premire partition du disque?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-"L'installation du chargeur de dmarrage a chou pour la raison suivante:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Vous aurez peut-tre besoin de changer le priphrique de dmarrage\n"
-" de l'Open Firmware, pour activer le chargeur de dmarrage. Si vous\n"
-" ne voyez pas apparatre l'invite du chargeur de dmarrage, lorsque\n"
-" vous redmarrerez, appuyez sur Command-Option-O-F au dmarrage et\n"
-" entrez :\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Puis tappez : shut-down\n"
-"Au prochain dmarrage vous devriez voir apparatre l'invite du\n"
-" chargeur de dmarrage."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Faible"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Moyenne"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "leve"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Choisissez le niveau de scurit"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-"Dsirez-vous crer une disquette vous permettant d'installer "
-"automatiquement\n"
-"une rplication de cette installation?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Insrez une disquette formate dans le lecteur %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Cration de la disquette d'auto-installation"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Certaines tapes ne sont pas termines.\n"
-"\n"
-"Voulez-vous vraiment quitter maintenant?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Flicitations, l'installation est termine.\n"
-"Enlever le medium de boot et appuyer sur Entre pour redmarrer.\n"
-"\n"
-"Pour toutes informations sur les corrections disponibles pour cette version "
-"de Linux-Mandrake, consulter les Errata disponibles depuis http://www.linux-"
-"mandrake.com/.\n"
-"\n"
-"Des informations sur la configuration de votre systme sont \n"
-"disponibles dans le Guide de l'Utilisateur de Linux-Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Crer une disquette d'auto-installation"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"L'auto-installation peut tre compltement automatique si ncessaire,\n"
-"dans ce cas-l elle prend le contrle du disque dur !!\n"
-"(prvu pour l'installation d'une autre machine).\n"
-"\n"
-"Vous pouvez prferer rejouer l'installation.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automatique"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Rejouer"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Sauvegarder la slection des paquetages"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Installation de Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> lment suivant | <Espace> Slectionner | <F12> cran "
-"suivant "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "kdesu est introuvable"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Avanc"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Veuillez patienter"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Ambigut (%s), soyez plus prcis\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Choix erron. Veuillez recommencer\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr "? (%s par dfaut) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Que choisissez-vous? (%s par dfaut) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Que choisissez-vous? (%s par dfaut, entrez none si rien) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Tchque (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Allemand"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Espagnol"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finlandais"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Franais"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norvgien"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polonais"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Russe"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Anglais"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Amricain (tats-Unis)"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armnien (ancien)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armnien (machine crire)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armnien (phontique)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaidjan (latin)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbaidjan (cyrillique)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belge"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgare"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brsilien"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Bielorusse"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Suisse (allemand)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Suisse (franais)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Tchque (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Tchque (programmeurs)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Allemand (sans touches mortes)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Danois"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norvgien)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estonien"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Gorgien (disposition russe)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Gorgien (disposition latine)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Grec"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hongrois"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Croate"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Isralien"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Isralien (phontique)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iranien"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islandais"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italien"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Clavier japonais 106 touches"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Clavier coren"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Amrique latine"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Macdonien"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Hollandais"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lithuanien (AZERTY, ancien modle)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lithuanien (AZERTY, nouveau modle)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lithuanien Ligne de nombres QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lithuanien phontique QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polonais (QWERTY)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polonais (QWERTZ)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugais"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Canadien (Qubec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Russe (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Sudois"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovnien"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovaque (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovaque (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slovaque (programmeurs)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Tha"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turque (modle traditionnel F)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turque (modle moderne Q)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrainien"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Amricain (international)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnamien colone numrique QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Yougoslave (latin/cyrillique)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Enlever les volumes logiques tout d'abord\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Souris SUN"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standard"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Souris standard PS2 mollette"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 bouton"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Gnrique"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Roulette"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "srie"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Souris standard 2 boutons"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Souris standard 3 boutons"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Souris Logitech (srie, ancien modle C7)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "souris bus"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 boutons"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 boutons"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "aucun"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Pas de souris"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Terminer"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Suivant ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Prcedent"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "tes-vous satisfait?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Configuration de l'accs Internet"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Dsirez-vous vous connecter Internet maintenant?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Je teste votre connexion..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Le systme est prsent connect Internet."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Pour des raisons de Scurit, elle va tre dconnecte maintenant."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Le systme ne parat pas connect Internet.\n"
-"Essayez de reconfigurer votre connection."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Configuration du rseau"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "Configuration RNIS/ISDN"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Veuillez choisir votre fournisseur d'accs.\n"
-"S'il ne figure pas dans la liste, choisissez Non list頻."
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Configuration de la connexion"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Veuillez complter ou vrifier les champs ci-dessous"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ de la carte"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Plage mmoire (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "E/S de la carte"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "E/S_O de la carte"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "E/S_1 de la carte"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Votre numro de tlphone personnel"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Nom du fournisseur d'accs (ex. provider.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Numro de tlphone du fournisseur d'accs"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "DNS 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "DNS 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Numrotation"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Identifiant du compte (nom d'utilisateur)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Mot de passe du compte"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europe"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europe (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Reste du monde"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Reste du monde \n"
-" Pas de D-Channel (lignes loues)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Quel protocole dsirez-vous utiliser?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Quel type de carte possdez-vous?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Je ne sais pas"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Si vous possdez une carte ISA, les donnes du prochain cran devraient\n"
-"tre correctes.\n"
-"\n"
-"Si vous possdez une carte PCMCIA, vous devez connatre l'IRQ de votre "
-"carte.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Arrter"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Continuer"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Quel est le modle de votre carte RNIS/ISDN?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Une carte RNIS/ISDN a t dtecte mais son type est inconnu. Veuillez "
-"slectionner une carte PCI dans le prochain cran."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Aucune carte RNIS/ISDN identifie. Veuillez en slectionner une dans le\n"
-"prochain cran."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Aucune carte rseau n'a t dtecte sur votre systme.\n"
-"La connexion ne peut tre configure."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Choisissez la carte rseau"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Veuillez choisir la carte rseau que vous dsirez utiliser pour vous "
-"connecter Internet"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Carte rseau"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"tes vous d'accord?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Je vais redmarrer le priphrique rseau:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "Configuration ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Dsirez-vous activer la connexion lors du dmarrage?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Veuillez choisir le port srie sur lequel votre modem est connect."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Options d'appel"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Nom de la connexion"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Numro de tlphone"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Identifiant de connexion"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Authentification"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Base sur un script"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Base sur un terminal"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Nom de domaine"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Premier serveur de noms (DNS) (optionnel)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Deuxime serveur de noms (DNS) (optionnel)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-"Le priphrique rseau $netc->{NET_DEVICE} doit tre redmarr. tes-vous "
-"d'accord?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Vous pouvez vous dconnecter ou reconfigurer votre connexion."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Vous pouvez reconfigurer votre connexion."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Vous tes actuellement connect Internet."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Vous pouvez vous connecter Internet ou reconfigurer votre connexion."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Vous n'tes pas actuellement connect Internet."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Connexion Internet"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Dconnexion d'Internet"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Configurer la connexion rseaux (Rseau local ou Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Connexion Internet et configuration"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Assistant de configuration rseau"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Modem ISDN/RNIS externe"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Carte ISDN/RNIS interne"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Quel est le type do votre connexion ISDN/RNIS?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Connexion Internet"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"La faon la plus courante de se connecter Internet en utilisant\n"
-"ADSL est d'utiliser pppoe.\n"
-"\n"
-"Certaines connexions utilisent pptp, et d'autres, uniquement DHCP.\n"
-"\n"
-"Si vous ne savez pas quoi choisir, utilisez pppoe."
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "utiliser dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "utiliser pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "utiliser pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Le priphrique rseau %s doit tre redmarr. tes-vous d'accord?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Quel client DHCP dsirez-vous utiliser?\n"
-"\n"
-"Le client par dfaut est dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Configuration du rseau"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Dsirez-vous relancer la configuration du rseaux?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"Un problme est survenu pendant le redmarrage du rseau : \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Parce que vous faites une installation rseau, votre rseau est dj "
-"configur.\n"
-"Cliquez sur Ok pour conserver la configuration, ou Annuler pour reconfigurer "
-"votre connexion Internet et rseau.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Bienvenue dans l'assistant de configuration rseau\n"
-"\n"
-"Nous sommes sur le point de configurer votre connexion Internet et rseau.\n"
-"Si vous ne souhaitez pas utiliser la dtection automatique, dselectionnez "
-"la case correspondante.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Choisissez le profil configurer"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Utiliser la dtection automatique"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Dtection des priphriques en cours"
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Configurer traditionnelle par modem"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "dtect sur le port %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "Connexion par ISDN"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "dtect %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "Connexion par ADSL"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "dtect sur l'interface %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Connexion par cable"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "Connection par LAN (rseau local)"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "cartes ethernet dtectes"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Comment dsirez-vous vous connecter Internet?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Flicitations, votre configurartion Internet et rseau est termine.\n"
-"\n"
-"La configuration va maintenant tre applique sur votre systme."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Aprs, nous vous recommendons de redmarrer votre environnement X,\n"
-"afin d'viter les problmes lis au changement de nom de machine."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "Aucune carte rseau n'a t identifie"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Configuration du rseau"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Veuillez indiquer le nom de votre machine si vous le connaissez.\n"
-"Certains serveurs DHCP ont besoin d'un nom d'e machine pour fonctionner.\n"
-"Votre nom d'hte doit tre pleinenement qualifi, de faon similaire\n"
-" mamachine.monlabo.masociete.com."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Nom de machine:"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"Attention! Ce priphrique a t prcdemment configur pour la connexion "
-"Internet.\n"
-"\n"
-"Cliquez sur OK pour conserver la configuration de ce priphrique.\n"
-"La configuration actuelle sera supprime si vous modifiez les champs\n"
-"ci-dessous disponibles."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Veuillez indiquer la configuration IP de cette machine.\n"
-"Chaque champ doit tre complt avec une adresse IP en notation\n"
-"dcimale pointe (par exemple, 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Configuration du priphrique rseau %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (pilote $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "Adresse IP"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Masque de sous-rseau"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(BOOTP/DHCP)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Attribution automatique de l'adresse IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "L'adresse IP doit tre au format 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Veuillez indiquer le nom de la machine.\n"
-"Celui-ci doit tre un nom de machine pleinement qualifi, par exemple\n"
-"mamachine.monlabo.masociete.com.\n"
-"Vous pouvez galement indiquer l'adresse IP de la passerelle si vous en\n"
-"avez une."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "Serveur DNS"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Passerelle"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Priphrique d'accs la passerelle"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Configuration des serveurs mandataires"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "Serveur mandataire HTTP (proxy)"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "Serveur mandataire FTP (proxy)"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "La syntaxe doit tre http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "La syntaxe doit tre ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Les partitions tendues ne sont pas supporte par cette plateforme"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Il existe un espace vide dans la table des partitions mais il est "
-"inutilisable.\n"
-"La seule solution disponible est de dplacer vos partitions de telle faon "
-"que\n"
-"cet espace se situe au-del des partitions tendues."
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Erreur lors de la lecture du fichier %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "chec lors de la restauration depuis le fichier %s: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Mauvais fichier de sauvegarde"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Erreur lors de l'criture dans le fichier %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Quelque chose de mauvais se passe sur votre disque dur. \n"
-"Le test pour vrifier l'intgrit des donnes a chou. \n"
-"Cela veut dire qu'crire sur le disque finira par des pertes de donnes au "
-"hasard"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "devrait avoir"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "important"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "trs utile"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "utile"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "ventuellement"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Imprimante locale"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Imprimante distante"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Serveur lpd distant"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Imprimante rseau (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Priphrique d'impression URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Test des ports"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Une imprimante de modle %s a t dtecte sur "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Priphrique de l'imprimante locale"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Sur quel priphrique votre imprimante est-elle connecte \n"
-"(veuillez noter que /dev/lp0 est quivalent LPT1)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Port imprimante: "
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Configuration d'une imprimante Unix (lpd) distante"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Pour pouvoir utiliser une imprimante Unix distante, vous\n"
-"devez indiquer les noms du serveur et de la file d'impression\n"
-"sur lesquels les travaux d'impression seront traits."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Nom du serveur"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Nom de la file distante"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Configuration d'une imprimante SMB (Windows 9x/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Pour pouvoir accder une imprimante connecte un serveur SMB, vous\n"
-"devez indiquer le nom SMB du serveur (attention, ce dernier peut tre\n"
-"diffrent de son nom TCP/IP) et, ventuellement, son adresse IP ainsi\n"
-"que le nom de l'imprimante et toute information applicable quant au nom\n"
-"d'utilisateur, mot de passe et groupe de travail ncessaires pour pouvoir\n"
-"accder l'imprimante."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Nom du serveur SMB"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "Adresse IP du serveur SMB"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Nom de partage"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Groupe de travail"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Options de l'imprimante NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Pour accder une imprimante connecte un serveur NetWare, vous aurez\n"
-"besoin d'indiquer le nom NetWare du serveur (attention, ce dernier peut\n"
-"tre un nom diffrent de son nom TCP/IP), le nom de la file d'impression,\n"
-"ainsi que les nom d'utilisateur et mot de passe ncessaires pour accder \n"
-"cette file d'impression."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Serveur d'impression"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Nom de la file d'impression"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Options de l'imprimante socket"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Pour imprimer sur une imprimante socket, vous devez indiquer le\n"
-"nom d'hte de l'imprimante et, optionellement, le numro du port."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Nom d'hte de l'imprimante"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-"Vous pouvez indiquer directement l'URI pour accder l'imprimante avec CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Quel type d'imprimante possdez-vous?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Dsirez-vous tester l'impression?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Impression des pages de test en cours"
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Les pages de test ont t envoyes au gestionnaire d'impression.\n"
-"Il peut y avoir un dlai avant que l'imprimante commence l'impression.\n"
-"Statut de l'impression:\n"
-"%s\n"
-"\n"
-"tes-vous satisfait du rsultat?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Les pages de test ont t envoyes au gestionnaire d'impression.\n"
-"Il peut y avoir un dlai avant que l'imprimante commence l'impression.\n"
-"tes-vous satisfait du rsultat?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Oui, imprimer la page de test ASCII"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Oui, imprimer la page de test PostScript"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Oui, imprimer les deux pages de test"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Configuration de l'imprimante"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Options de l'imprimante"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Taille du papier"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "jecter la page aprs chaque impression?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Options pour le pilote Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Nombre de couleurs"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Imprimer le texte en tant que PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Corriger l'effet d'escalier?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Nombre de pages par feuille"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Taille des marges gauche et droite (en 1/72e de pouce)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Taille des marges haut et bas (en 1/72e de pouce)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Options supplmentaires pour GhostScript"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Options supplmentaires pour le mode texte"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Inverser l'odre des pages"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Dsirez-vous configurer une imprimante?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Les files d'impression suivantes existent dj.\n"
-"Vous pouvez les modifier ou en ajouter."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "Dmarrage de CUPS"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr ""
-"Lecture de la base de donnes\n"
-"des pilotes CUPS en cours"
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Type de connexion de l'imprimante"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Quel est le type de connexion de l'imprimante?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Slectionnez la connexion de l'imprimante distante"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Si vous utilisez un serveur CUPS distant, vous n'avez pas besoin\n"
-"de configurer d'imprimante ici. Elles seront automatiquement\n"
-"dtectes. Si vous hsitez, slectionnez Serveur CUPS distant."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Si vous utilisez un serveur CUPS distant, vous n'avez pas besoin\n"
-"de configurer d'imprimante ici. Elles seront automatiquement\n"
-"dtectes moins que le serveur soit sur un rseau diffrent;\n"
-"dans ce dernier cas, vous devez indiquer l'adresse IP du serveur\n"
-"CUPS et ventuellement le numro de port."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "Adresse IP du serveur CUPS"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Le numro de port doit tre numrique"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Supprimer cette file"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-"Le nom de l'imprimante ne devrait contenir que des lettres, des nombres et "
-"des tirets bas (_)"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Chaque file d'impression (file laquelle sont envoys les travaux \n"
-"d'impression) a besoin d'un nom associ (en gnral, lp).\n"
-"D'autres paramtres tels la description de l'imprimante ou sa localisation\n"
-"peuvent tre dfinis.\n"
-"\n"
-"Quel nom doit tre utilis pour cette imprimante et comment est-ell "
-"connecte?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Nom de l'imprimante"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Description"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Localisation"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Chaque file d'impression (file laquelle sont envoys les travaux \n"
-"d'impression) a besoin d'un nom associ (en gnral, lp) ainsi\n"
-"qu'un rpertoire de spool associ. Veuillez indiquer les nom et\n"
-"rpertoire de spool que vous souhaitez utiliser pour cette file,\n"
-"ainsi que le type de connexion de votre imprimante."
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Nom de la file"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Rpertoire de spool"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Connexion de l'imprimante"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr ""
-"Impossible d'ajouter une partition au RAID md%d car\n"
-"celui-ci est dj format"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Impossible d'crire le fichier $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid a chou"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid a chou (les raidtools sont-ils installs?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Trop peu de partitions pour du RAID niveau %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "Dmarrer le systme sonore ALSA (Advanced Linux Sound Architecture)"
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, un gestionnaire de commandes priodiques."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"Apmd est utilis pour surveiller et journaliser (via syslog) l'tat de la\n"
-"batterie. Il peut galement tre utilis pour arrter la machine lorsque\n"
-"la batterie est trs faible."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Excute des commandes planifies par la commande at l'heure spcifie\n"
-"lorsque cette commande active. Permet galement d'excuter des commandes\n"
-"de traitement par lots lorsque la charge du systme est basse."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"Cron est un programme UNIX standard permettant d'xcuter des programmes\n"
-" des heures planifies. Vixie cron ajoute des fonctionnalits au cron UNIX\n"
-"de base (notamment une meilleure scurit et des options de configuration\n"
-"plus compltes."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM permet d'utiliser la souris dans des applications (telles Midnight\n"
-"Commander) fonctionnant en mode console. Il permet galement d'utiliser le\n"
-"copier-coller et inclut le support des menus contextuels sur la console."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-"HardDrake effecture une dtection matrielle, et configure\n"
-"ventuellement le nouveau matriel."
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache est un serveur World Wide Web. Il est utilis pour fournir des\n"
-"fichiers HTML et excuter des CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Le super serveur Internet (habituellement appel inetd) dmarre d'autres\n"
-"services Internet lorsque cela est ncessaire. Il est responsable du\n"
-"dmarrage de nombreux services (parmis lesquels telnet, ftp, rsh et "
-"rlogin).\n"
-"Le dsactiver revient dsactiver tous les services qu'il gre."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-"Dmarrer le filtrage des paquets pour la srie 2.2 des noyaux Linux,\n"
-"afin de mettre en place un pare-feu (firewall) pour protger votre\n"
-"machine des attaques en provenance du rseau. "
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Ce paquetage charge la table de clavier dfinie dans le fichier\n"
-"/etc/sysconfig/keyboard. Cette table peut tre modifie en utilisant\n"
-"l'outil kbdconfig. Ce service devrait tre activ sur la plupart des\n"
-"machines."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-"Re-gnration automatique des en-ttes noyau dans /boot pour\n"
-"/usr/include/linux/{autoconf,version}.h"
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr "Dtection automatique et configuration du matriel au dmarrage."
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-"Linuxconf effectuera certaines tches au dmarrage afin\n"
-"de maintenir la configuration du systme."
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"Lpd est le serveur d'impression. Il est ncessaire au bon fonctionnement\n"
-"de lpr. Shmatiquement, il permet d'attribuer les travaux d'impression\n"
-" (ou aux) l'imprimante."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-"Le Linux Virtual Server, utilis pour crer un rseau haute-performance\n"
-"et haute disponibilit."
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"Named (BIND) est un Domain Name Server (DNS - un serveur de noms) utilis\n"
-"pour rsoudre les noms d'htes en adresses IP."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Monte et dmonte les points de montage de type Network File System (NFS),\n"
-"SMB (couramment appel LanManager sous Windows) et NCP (NetWare)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Active / dsactive les interfaces rseaux configures pour dmarrer lors\n"
-"de l'initialisation du systme."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS est un protocole trs utilis pour partager des fichiers sur des\n"
-"rseaux TCP/IP. Ce service fournit les fonctionnalits serveur de NFS,\n"
-"telles qu'elles sont configures dans le fichier /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS est un protocole trs utilis pour partager des fichiers sur des\n"
-"rseaux TCP/IP. Ce service permet l'utilisation des fonctionnalits de\n"
-"verrouillage des fichiers."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"Activation de la touche numlock du pav numrique, pour\n"
-"la console et XFree, au dmarrage."
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "Support des imprimantes winprinter OKI 4w et compatibles."
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA permet d'utiliser des priphriques tels des cartes Ethernet ou des\n"
-"modems avec des ordinateurs portables. Ce service ne sera pas dmarr "
-"moins\n"
-"qu'il soit correctement configur. Il peut donc tre activ sans danger sur "
-"des\n"
-"machines ne possdant pas ce type de priphriques."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Le portmapper gre les connexions RPC. Ces dernires sont utilises\n"
-"par des protocoles tels NFS et NIS. Le serveur portmap doit tre activ\n"
-"sur des machines jouant le rle de serveur pour des protocoles utilisant\n"
-"le mcanisme RPC."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix est un agent de transport du courrier (Mail Transport Agent - MTA)\n"
-"permettant l'change de courriers lectroniques entre machines."
-
-# ???
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Sauvegarde et restore l'entropie du systme pour une meilleure\n"
-"gnration de nombres alatoires."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-"Assigner des priphriques accs direct (raw devices) aux\n"
-"priphriques bloc (comme des partitions de disque dur), pour\n"
-"les applications comme Oracle."
-
-# ???
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"Le dmon routed autorise la mise jour automatique des tables de\n"
-"routage IP grce au protocole RIP. Bien que RIP soit trs utilis\n"
-"sur les petits rseaux, des protocoles de routage plus complets sont\n"
-"ncessaires pour les rseaux de plus grande taille."
-
-# ???
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Le protocole rstat permet aux utilisateurs sur un mme rseau\n"
-"d'obtenir des mesures de la performance de n'importe quelle\n"
-"machine sur ce rseau."
-
-# ???
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Le protocole rusers permet aux utilisateurs de connatre tous\n"
-"les utilisateurs connects aux machines supportant ce protocole."
-
-# ???
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Le protocole rwho permet aux utilisateurs distants d'obtenir une\n"
-"liste des utilisateurs connects une machine qui fait tourner\n"
-"le dmon rwho (similaire finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr "Dmarrer le systme de gestion du son sur votre machine"
-
-# ???
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog est un service utilis par beaucoup de dmons pour enregistrer\n"
-"des messages dans diffrents fichiers de journalisation. C'est une\n"
-"trs bonne ide de toujours l'activer."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr "Charger les pilotes de priphriques usb."
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-"Dmarre le serveur de polices de X (c'est indispensable au fonctionnement de "
-"XFree)."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ""
-"Choisissez les services dmarrer automatiquement lors du dmarrage du "
-"systme"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "actif"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "arrt"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Services et dmons"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Pas d'autre information\n"
-"au sujet de ce service, dsol."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Au dmarrage"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"La table des partitions ne peut tre lue car elle est trop endommage.\n"
-"Une rinitialisation des partitions endommages va tre tente."
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Partage de la connexion Internet"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Le partage de la connexion Internet est activ"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"La configuration du partage de la connexion Internet a dj t "
-"effectue.\n"
-"Elle est actuellement active.\n"
-"\n"
-"Que voulez-vous faire?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "dsactiver"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "ne rien faire"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "reconfigurer"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Dsactivation des serveurs..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Le partage de la connexion Internet est maintenant dsactiv."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Le partage de la connexion Internet est dsactiv"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"La configuration du partage de la connexion Internet a dj t "
-"effectue.\n"
-"Elle est actuellement dsactive.\n"
-"\n"
-"Que voulez-vous faire?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "activer"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Activation des serveurs..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Le partage de la connexion Internet est maintenant activ."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Le contenu du fichier de configuration ne peut tre compris"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Fichier de configuration non reconnu"
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Votre ordinateur peut tre paramtr afin de partager sa connexion "
-"Internet.\n"
-"Avec cette fonctionnalit, d'autres ordinateurs sur votre rseau local "
-"pourront utiliser la connexion Internet de cet ordinateur.\n"
-"\n"
-"Veuillez noter que vous avez besoin d'une carte rseau ddie votre rseau "
-"local."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Interface %s (utilisant le module %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Interface %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Aucune carte rseau n'est prsente dans votre systme"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Aucune carte rseau n'a t dtecte sur votre systme. Veuillez utiliser "
-"l'outil de configuration du matriel."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Une seule carte rseau est configure sur votre systme:\n"
-"\n"
-"%s\n"
-"\n"
-"Je vais configurer votre rseau local avec cette carte rseau."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Veuillez choisir quelle carte rseau sera connecte votre rseau local"
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Attention, la carte rseau est dj configure. Je vais la reconfigurer."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-"Conflit potentiel d'adresses du rseau local trouv dans la configuration de "
-"$_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Configuration du Firewall dtecte"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Attention! Une configuration existante du Firewall a t dtecte. Vous "
-"devrez peut-tre modifier la configuration manuellement aprs l'installation."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Configuration en cours..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-"Configuration des scripts, installation des logiciels, dmarrage des "
-"serveurs..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Des problmes sotn apparus en installant le paquetage $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Flicitations!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Tout a t configur.\n"
-"Vous pouvez maintenant partager votre connexion Internet avec d'autres "
-"ordinateurs sur votre rseau local, en utilisant la configuration rseau "
-"automatique (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-"La configuration a dj t effectue, mais elle est actuellement dsactive."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-"La configuration a dj t effectue, et elle est actuellement active."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Le partage de la connexion Internet n'a encore jamais t configur."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Configuration du partage de la connexion Internet"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Bienvenue dans l'utilitaire de partage de connexion Internet !\n"
-"\n"
-"%s\n"
-"\n"
-"Cliquez sur Configurer pour lancer l'assistant de configuration."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Configuration du rseau (%d cartes rseaux)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profil :"
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Effacer le profil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Profil effacer :"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Nouveau profil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Nom du profil crer"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Nom de machine: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Accs Internet"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Type:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Passerelle:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Interface :"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "tat :"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Connect"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Non connect"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Se connecter..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Se dconnecter..."
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr "Dmarrage de votre connexion..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Arrt de votre connexion..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"La connexion n'est pas arrte.\n"
-"Essayez de le faire manuellement en excutant\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"en tant que root."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Le systme est prsent dconnect."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Configurer l'accs Internet..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "Configuration LAN (rseau local)"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Carte rseau"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Pilote"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Interface"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protocole"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Configurer le rseau local..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Mode normal"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Appliquer"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Veuillez patienter... mise en place de la configuration"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "Configuration du LAN (rseau local)"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Carte rseau %s : %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Protocole de dmarrage"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Lancer au dmarrage"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "Client DHCP"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Dsactiver"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Activer"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Configuration de la connexion Internet"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Configuration de la connexion Internet"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Type de connexion :"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Paramtres"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "DNS 1 du provider (optionnel)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "DNS 2 du provider (optionnel)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Carte ethernet"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "Client DHCP"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Bienvenue aux pirates"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Trs faible"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoaque"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Ce niveau de scurit doit tre utilis avec prcaution. Il rend votre\n"
-"systme plus facile utiliser, aux dpens de la scurit. Il ne devrait "
-"donc\n"
-"pas tre utilis sur une machine connecte un rseau ou Internet. Aucun\n"
-"mot de passe n'est requis."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Les mots de passe sont maintenant requis. Pour autant, il n'est pas\n"
-"recommand d'utiliser cette machine sur un rseau."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Ce niveau de scurit contient quelques amliorations. La principale est\n"
-"qu'il y a plus d'avertissements et de vrifications quant la scurit."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Ceci est le niveau de scurit recommand pour un ordinateur devant tre\n"
-"utilis pour se connecter Internet en tant que client. Les vrifications\n"
-"de scurit sont maintenant actives."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Avec ce niveau de scurit, l'utilisation de cette machine en tant que\n"
-"serveur devient envisageable. La scurisation est suffisament forte pour\n"
-"accepter les connexions de nombreux clients."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Avec ce niveau, la scurit est maximale, mais le systme est entirement "
-"clos."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Mise en place du niveau de scurit"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Centre de contrle"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Choisissez l'outil que vous voulez utiliser"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "utilisation: keyboarddrake [--expert] [clavier]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Voulez-vous que la touche BackSpace retourne Delete en console?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Changer de Cd-Rom"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Changement de CD-ROM\n"
-"\n"
-"Veuillez insrer le CD-ROM d'Installation dans votre lecteur.\n"
-"Ceci fait, cliquez sur OK.\n"
-"\n"
-"Si vous ne le possdez pas, cliquez sur Annuler pour annuler la mise "
-"jour."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Impossible de dmarrer la mise jour!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "aucun priphrique USB srie trouv\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "muler le troisime bouton?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Veuillez tester votre souris"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Surveillance du rseau"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Statistiques"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Vitesse d'envoi :"
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Vitesse de rception :"
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Fermer"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "Connexion Internet..."
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "Dconnexion d'Internet..."
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "La dconnexion d'Internet a chou."
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "Dconnexion d'Internet effectue."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Connexion effectue."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"La connexion a chou.\n"
-"Veuillez vrifier votre configuration dans le Centre de Contrle Mandrake."
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "envoy :"
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "reu :"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Se connecter"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Se dconnecter"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Configuration du Firewall"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Configuration du Firewall"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Firewall (pare-feu)\n"
-"\n"
-"Vous avez dj configur un firewall.\n"
-"Cliquez sur Configurer pour changer ou supprimer le firewall"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Pare-feu (Firewall)\n"
-"\n"
-"Cliquez sur Configurer pour mettre en place un pare-feu standard"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"Configuration d'un mini-firewall\n"
-"\n"
-"Cela configure un firewall (pare-feu) personnel pour votre machine Linux-"
-"Mandrake.\n"
-"Si vous souhaitez un firewall plus puissant ou ddi, veuillez plutt "
-"utiliser\n"
-"la distribution spcialise ``MandrakeSecurity''."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Nous allons maintenant vous poser des questions sur quels services vous\n"
-"souhaitez pouvoir connecter Internet. Veuillez rflchir avec soin sur\n"
-"chacune de ces questions, car la scurit de votre ordinateur est\n"
-"importante.\n"
-"\n"
-"S'il vous plat, si vous n'utilisez par l'un de ces services,\n"
-"dsactivez-le. Vous pouvez changer cette configuration n'importe quand, en\n"
-"redmarrant cette application !"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Utilisez-vous un serveur web sur cette machine, que vous avez besoin de\n"
-"rendre visible depuis tout Internet ? Si vous utilisez un serveur web\n"
-"pour seulement cette machine, vous pouvez rpondre NON ici.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Utilisez-vous un serveur de nom sur cette machine ? Si vous n'avez pas\n"
-"configur un tel serveur pour donner des informations d'IP et de zone\n"
-"pour tout Internet, veuillez rpondre NON.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Voulez-vous permettre les connexions scurises entrantes (par le\n"
-"protocole ssh) ? C'est un remplacement de telnet que vous pouvez utiliser\n"
-"pour vous connecter sur une machine distante. Si vous utilisez telnet en\n"
-"ce moment, vous devriez vraiment passer ssh. telnet n'est pas encrypt\n"
-"-- par exemple des pirates peuvent voler votre mot de passe. ssh est\n"
-"encrypt et interdit les coutes clandestines (eavesdropping)."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Voulez-vous permettre les connexions entrantes en telnet ?\n"
-"C'est trs dangereux, comme nous l'avons expliqu dans l'cran prcdent.\n"
-"Nous recommendons fortement de rpondre NON ici et d'utiliser ssh \n"
-"la place de telnet.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Utilisez-vous un serveur FTP, que vous voulez visible depuis Internet ?\n"
-"Si c'est le cas, nous recommendons fortement de ne l'utiliser que\n"
-"pour les transferts en mode anonyme. Tous les mots de passe envoys\n"
-"par FTP peuvent tre vols par des pirates, car FTP n'utilise pas\n"
-"non plus d'encryption pour transfrer les mots de passe.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Utilisez-vous un serveur de mail (courrier lectronique) ? Si vous\n"
-"envoyez des messages avec pine, mutt ou d'autres clients mail texte,\n"
-"vous en utilisez probablement un. Sinon, vous devriez rpondre NON.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Utilisez-vous un serveur POP ou IMAP ? C'est utilis pour\n"
-"hberger des comptes mail qui ne sont pas bass sur des interfaces\n"
-"web.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Vous utilisez un noyau en version 2.2. Si votre adresse IP rseau est\n"
-"attribue automatiquement par un ordinateur sur votre rseau (adresse\n"
-"dynamique), nous avons besoin d'autoriser cela. Est-ce la cas ?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Est-ce que l'heure de votre ordinateur est synchronise avec un\n"
-"autre ordinateur ? La plupart du temps, c'est utilis par des\n"
-"socits de taille moyenne ou grande, bases sur Unix/Linux,\n"
-"pour synchroniser les heures de connexion, etc. Si vous ne\n"
-"faites pas partie d'une telle socit et n'avez pas entendu\n"
-"parler de ce problme, vous n'avez probablement pas besoin\n"
-"de ce service."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"La configuration est termine. Devons-nous crire ces changements sur "
-"disque ?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "chec de l'ouverture de %s : %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Echec de l'ouverture de %s en criture : %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Clients pour diffrents protocoles dont ssh"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Dveloppement"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Station de travail"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Firewall/Routeur"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Gestionnaire d'Information Personnellle"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimdia - Graphisme"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Ordinateur rseau (client)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Outils audio: lecteurs mp3 ou midi, mixeurs, etc"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Bureautique"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimdia"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Ensemble d'outils pour lire ou envoyer des courriers lectronique (pine, "
-"mutt), des news (tin), et pour naviguer sur le Web"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-"Bibliothques de dveloppement C et C++, programmes et fichiers d'entte"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Serveur de Nom et serveur d'Information Rseau"
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Programmes pour grer votre finance, comme gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "Serveurs de bases de donnes PostgreSQL ou MySQL"
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "Serveur NFS, serveur SMB, serveur Proxy (mandataire), serveur SSH"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Documentation"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Utilitaires"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS"
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Environnement graphique"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimdia - Son"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-"Programmes de divertissement: jeux d'arcade, de plateaux, de stratgie, etc"
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Lecteurs et diteurs vido"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Utilitaires console"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Programmes pour jouer/diter du son et de la vido"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Applications scientifiques"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "diteurs, interprteurs, utilitaires fichiers, terminaux"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Livres et Howto's sur Linux et le Logiciel Libre"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Un environnement de bureau avec un ensemble d'applications et d'outils "
-"intuitifs"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr "Serveur de courrier Postfix, serveur de news Inn"
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Jeux"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimdia - Vido"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Serveur rseau"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Programmes de graphisme comme The gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Station de travail bureautique"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"Le K Desktop Environement, l'environnement de bureau de base avec sa "
-"collection d'outils"
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Plus d'Environnements de Bureau (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Outils pour crer et graver des CD's"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimdia - Gravage de CD"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Archivage, mulateurs, surveillance"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Base de Donnes"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Programmes bureautiques: traitements de texte (kword, abiword), tableurs "
-"(kspread, gnumeric), visualiseur pdf, etc"
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "serveur"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Gestion Financire"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Configuration"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "Station de travail KDE"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Autres Environnements de Bureau"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache et Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "E-mail/Groupware/News"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Station de travail Gnome"
-
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr "Passerelle Internet"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Outils pour votre Palm Pilot ou votre Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Jeux"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Outils pour faciliter la configuration de votre ordinateur"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-"Utilitaires pour le courrier lectronique, les news, le web, le transfert de "
-"fichiers, les discussions en ligne"
-
-#~ msgid "GB"
-#~ msgstr "Go"
-
-#~ msgid "KB"
-#~ msgstr "Ko"
-
-#~ msgid "TB"
-#~ msgstr "To"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minutes"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minute"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d secondes"
-
-#~ msgid "cannot fork: "
-#~ msgstr "fork a chou :"
-
-#~ msgid "Configure..."
-#~ msgstr "Configurer..."
-
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "Configuration de Lilo/Grub"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "Taille slectionne %d%s"
-
-#~ msgid "Opening your connection..."
-#~ msgstr "Dmarrage de votre connexion..."
-
-#~ msgid "Standard tools"
-#~ msgstr "Outils standard"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr ""
-#~ "Ce script tente de charger les modules utiliss par votre souris USB."
-
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Configurationde Lilo/Grub: ajouter un emplacement"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Maintenant que votre connextion Internet est configure, votre "
-#~ "ordinateur\n"
-#~ "peut tre paramtr afin de partager cette dernire.\n"
-#~ "\n"
-#~ "Veuillez noter que vous avez besoin d'une carte rseau pour paramtrer "
-#~ "votre\n"
-#~ "rseau local.\n"
-#~ "\n"
-#~ "Dsirez-vous configurer le partage de la connexion Internet?\n"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Gestion automatique des dpendances"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Configuration de LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Crer une disquette de dmarrage"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formater la disquette"
-
-#~ msgid "Choice"
-#~ msgstr "Choix"
-
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Vous pouvez maintenant slectionner diverses options:\n"
-#~ "\n"
-#~ " - Utiliser les optimisations pour les disques durs: cette option peut\n"
-#~ " amliorer les performances de votre disque dur, mais elle est "
-#~ "rserve\n"
-#~ " aux utilisateurs confirms. Quelques circuits de cartes mres bogus\n"
-#~ " peuvent dtruire vos donnes. Par consquent, n'activez cette option "
-#~ "que\n"
-#~ " si vous tes certain qu'il n'y aura pas de problmes avec votre "
-#~ "matriel.\n"
-#~ " Veuillez noter que bien que le noyau possde une liste noire des "
-#~ "disques\n"
-#~ " durs et circuits problmes, il est prudent de laisser cette option\n"
-#~ " dsactive si vous dsirez viter les mauvaises surprises.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Niveau de scurit: vous pouvez choisir le niveau de scurit pour\n"
-#~ " votre systme. Veuillez vous rfrer au manuel d'utilisation pour "
-#~ "des\n"
-#~ " explications compltes. Pour un bon compromis entre scurit et "
-#~ "confort\n"
-#~ " d'utilisation, choisissez Moyen. Si vous dsirez une machine "
-#~ "vraiment\n"
-#~ " scurise, choisissez Paranoaque. Veuillez noter que ce niveau "
-#~ "de\n"
-#~ " scurit interdit toute connexion la console en tant "
-#~ "qu'administrateur\n"
-#~ " systme (root). Si vous dsirez utiliser ce compte, vous devrez vous\n"
-#~ " connecter en tant qu'utilisateur puis utiliser la commande su. "
-#~ "Cette\n"
-#~ " option ne devrait tre slectionne que si vous destinez cette "
-#~ "machine \n"
-#~ " une utilisation de type serveur.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Prciser la quantit de RAM si ncessaire: il n'existe pas "
-#~ "actuellement\n"
-#~ " pas de mthode standard pour dtecter la quantit de mmoire prsente "
-#~ "dans\n"
-#~ " les ordinateurs de type PC. Par consquent, il se peut que GNU-Linux "
-#~ "ne dtecte\n"
-#~ " pas correctement la quantit prsente dans votre machine. Si tel est "
-#~ "le cas,\n"
-#~ " vous pouvez spcifier la quantit correcte de RAM ici. Veuillez noter "
-#~ "qu'une\n"
-#~ " diffrence de 2 4 Mo est normale.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Montage automatique des priphriques amovibles: si vous dsirez ne "
-#~ "pas\n"
-#~ " avoir monter manuellement les priphriques amovibles (CD-ROM, "
-#~ "ZIP,\n"
-#~ " disquettes) en utilisant les commandes mount et umount, "
-#~ "activez\n"
-#~ " cette option.\n"
-#~ "\n"
-#~ "\n"
-#~ " - NumLock au dmarrage: si vous souhaitez que le pav numrique soit "
-#~ "activ\n"
-#~ " au moment du dmarrage, slectionnez cette option. Veuillez noter que "
-#~ "cela\n"
-#~ " peut ne pas fonctionner avec le systme X Window."
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Divers"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Questions diverses"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "Supermount n'est pas compatible avec un haut niveau de scurit"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "Attention! DANS CE NIVEAU DE SCURIT, LA CONNEXION EN TANT QUE ROOT SUR "
-#~ "LA\n"
-#~ "CONSOLE N'EST PAS AUTORISE. Si vous dsirez tre root, vous devrez vous\n"
-#~ "connecter en tant que simple utilisateur puis utiliser la commande "
-#~ "su.\n"
-#~ "\n"
-#~ "D'une faon plus gnrale, n'esprez pas pouvoir utiliser votre machine "
-#~ "pour\n"
-#~ "autre chose qu'un serveur.\n"
-#~ "Vous aurez t prvenu."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Soyez prudent. Avoir la touche NumLock active peut causer de nombreux\n"
-#~ "problmes: des chiffres peuvent tre affichs la place de lettres "
-#~ "normales\n"
-#~ "(appuyer sur la touche p peut provoquer l'affichage d'un 6."
-
-#~ msgid "Scientific applications"
-#~ msgstr "Applications scientifiques"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Premier serveur de noms (DNS)"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Deuxime serveur de noms (DNS)"
-
-#~ msgid "using module"
-#~ msgstr "module noyau"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr "Aucun"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Quel chargeur de dmarrage voulez-vous utiliser?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Disquette auto-installation"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Essayer d'identifier un modem?"
-
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Dsactiver la connexion Internet"
-
-#~ msgid "Configure local network"
-#~ msgstr "Configurer le rseau local"
-
-#~ msgid "Disable networking"
-#~ msgstr "Dsactiver le rseau"
-
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Configurer la connexion Internet / Configurer le rseau local"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "Le rseau local a dj t configur.\n"
-#~ "\n"
-#~ "Dsirez-vous:"
-
-#~ msgid "Graphics Manipulation"
-#~ msgstr "Graphisme"
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimdia"
-
-#~ msgid "Sciences"
-#~ msgstr "Sciences"
-
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ "Programmes de discussion en ligne (IRC ou messagerie instantane) comme "
-#~ "xchat, licq, gaim, et outils de transfert de fichiers"
-
-#~ msgid "Communication facilities"
-#~ msgstr "Outils de Communication"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Internet Tools"
-#~ msgstr "Outils pour utiliser Internet"
-
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr "Clients et serveurs de bases de donnes"
-
-#~ msgid "Development C/C++"
-#~ msgstr "Dveloppement - C/C++"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Configuration de l'horloge"
-
-# Attention la largeur autorise (colone de gauche dans DrakX). Ajout
-# du des interdit pour cause de manque de place
-#~ msgid "Configure printer"
-#~ msgstr "Configuration imprimantes"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(peut provoquer des pertes de donnes)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Utiliser les optimisations pour le disque dur?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Activer le pav numrique au dmarrage"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Confirmation du mot de passe"
-
-#~ msgid "default"
-#~ msgstr "dfaut"
-
-#~ msgid "What is your system used for?"
-#~ msgstr " quel usage destinez-vous votre ordinateur?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr "Choisissez la taille que vous dsirez installer"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Utiliser DiskDrake"
-
-#~ msgid "Customized"
-#~ msgstr "Personnalise"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "tes-vous certain d'tre un expert?\n"
-#~ "Vous serez autoris faire des choses puissantes mais dangeureuses.\n"
-#~ "\n"
-#~ "Des questions telles Utiliser les fichiers shadow pour les mots de "
-#~ "passe? \n"
-#~ "vous seront poses. tes-vous prts rpondre ce genre de questions?"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Utiliser un fichier shadow"
-
-#~ msgid "shadow"
-#~ msgstr "shadow"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Utiliser les mots de passe MD5"
-
-#~ msgid "Search"
-#~ msgstr "Rechercher"
-
-#~ msgid "Package"
-#~ msgstr "Paquetage"
-
-#~ msgid "Text"
-#~ msgstr "Texte"
-
-#~ msgid "Tree"
-#~ msgstr "Arborescence"
-
-#~ msgid "Sort by"
-#~ msgstr "Trier par"
-
-#~ msgid "Category"
-#~ msgstr "Catgorie"
-
-#~ msgid "See"
-#~ msgstr "Visualiser"
-
-#~ msgid "Installed packages"
-#~ msgstr "Paquetages installs"
-
-#~ msgid "Available packages"
-#~ msgstr "Paquetages disponibles"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Afficher uniquement les feuilles"
-
-#~ msgid "Expand all"
-#~ msgstr "Tout dvelopper"
-
-#~ msgid "Collapse all"
-#~ msgstr "Tout rduire"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Ajouter un emplacement de paquetages"
-
-#~ msgid "Update location"
-#~ msgstr "Mettre jour l'emplacement"
-
-#~ msgid "Remove"
-#~ msgstr "Supprimer"
-
-#~ msgid "Find Package"
-#~ msgstr "Rechercher un paquetage"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Rechercher les paquetages contenant le fichier"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Basculer d'Installs vers Disponibles"
-
-#~ msgid "Uninstall"
-#~ msgstr "Dsinstaller"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Choix du paquetage installer"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Vrification des dpendances"
-
-#~ msgid "Wait"
-#~ msgstr "Patientez"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Les paquetages suivants seront dsinstalls"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "Dsinstallation des paquetages"
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Quels paquetages rechercher"
-
-#~ msgid "%s not found"
-#~ msgstr "%s non trouv(s)."
-
-#~ msgid "No match"
-#~ msgstr "Pas d'occurence correspondante"
-
-#~ msgid "No more match"
-#~ msgstr "Plus d'occurence correspondante"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "Rpmdrake fonctionne en mode Faible utilisation de la mmoire.\n"
-#~ "Il va tre redmarr pour pouvoir rechercher les fichiers."
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Quel fichier recherchez-vous?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Que recherchez-vous?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Veuillez donner un nom (tel extra, commercial)"
-
-#~ msgid "Directory"
-#~ msgstr "Rpertoire"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "Aucun CDROM n'est disponible (rien dans /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "L'URL du rpertoire contient les RPM"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Pour les protocoles FTP et HTTP, vous devez indiquer l'endroit o se "
-#~ "trouve\n"
-#~ "hdlist. Cette localisation doit correspondre l'URL"
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Veuillez prciser l'information suivante"
-
-# c-format
-#~ msgid "%s is already in use"
-#~ msgstr "%s est dj utilis"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "Mise jour de la base des RPM"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "%s va tre supprim"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Recherche des dpendances non satisfaites"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr ""
-#~ "La recherche des dpendances non satisfaites peut prendre un certain temps"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "Une carte RNIS/ISDN a t identifie:\n"
-
-#~ msgid "France"
-#~ msgstr "France"
-
-#~ msgid "Other countries"
-#~ msgstr "Autres pays"
-
-#~ msgid "In which country are you located?"
-#~ msgstr "Dans quel pays rsidez-vous?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Modem Alcatel"
-
-#~ msgid "ECI modem"
-#~ msgstr "Modem ECI"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr ""
-#~ "Si votre modem est un modem Alcatel, choisissez Alcatel. Dans le cas "
-#~ "contraire, choisissez ECI."
-
-#~ msgid "don't use pppoe"
-#~ msgstr "ne pas utiliser pppoe"
-
-#~ msgid "mandatory"
-#~ msgstr "obligatoire"
-
-#~ msgid "interesting"
-#~ msgstr "intressant"
-
-#~ msgid "i18n (important)"
-#~ msgstr "internationalisation (important)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "internationalisation (trs utile)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "internationalisation (utile)"
-
-#~ msgid "KDE, QT, Gnome, GTK+"
-#~ msgstr "KDE, QT, Gnome, GTK+"
-
-#~ msgid "Python, Perl, libraries, tools"
-#~ msgstr "Python, Perl, bibliothques, outils"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Sur quel port srie votre souris est-elle connecte?"
-
-#~ msgid "Czech"
-#~ msgstr "Tchque"
-
-#~ msgid "Slovakian"
-#~ msgstr "Slovaque"
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr "Impossible d'installe le RPM d'ipchains en utilisant urpmi"
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr "Impossible d'installer le RPM de dhcp en utilisant urpmi"
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr "Impossible d'installer le RPM de linuxconf en utilisant urpmi"
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr "Impossible d'installer le RPM de bind en utilitsant urpmi"
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr ""
-#~ "Impossible d'installer le RPM de caching-namerserver en utilisant urpmi"
-
-#~ msgid "Reconfigure local network"
-#~ msgstr "Reconfigurer le rseau local"
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Votre ordinateur peut tre configur afin de partager la connexion "
-#~ "Internet.\n"
-#~ "\n"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr "Tout a t install.\n"
-
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Connexion Internet en utilisant un modem normal"
-
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Connexion Internet en utilisant ISDN/RNIS"
-
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Se connecter Internet en utilisant le protocole DSL (ou ADSL)"
-
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Se connecter Internet en utilisant le cable"
-
-#~ msgid ""
-#~ "Time (secs) of inactivity after which\n"
-#~ "it hangs up. (leave blank to disable it)"
-#~ msgstr ""
-#~ "Temps (en secondes) d'inactivit aprs\n"
-#~ "lequel la connexion sera interrompue\n"
-#~ "(ne rien indiquer pour dsactiver cette\n"
-#~ "fonctionnalit)"
-
-#~ msgid "Germany"
-#~ msgstr "Allemangne"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "Allemangne (1TR6)"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr "Que dsirez-vous faire?"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "Installation/Mise jour"
-
-#~ msgid "Rescue"
-#~ msgstr "Mise jour"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Quel type de systme de fichiers dsirez-vous utiliser?"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Choisissez Installation si vous n'avez jamais install de systme GNU/"
-#~ "Linux sur cet ordinateur ou si vous voulez en installer plusieurs sur "
-#~ "cette machine.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choisissez Mise jour si vous souhaitez mettre jour un systme "
-#~ "Linux-Mandrake prcdemment installe.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choisissez:\n"
-#~ "\n"
-#~ " - Recommande: si vous n'avez jamais install de systme GNU-Linux, "
-#~ "choisissez cette option.\n"
-#~ "\n"
-#~ " - Personnalise: si vous connaissez dja GNU-Linux, vous pouvez "
-#~ "choisir quelle sera l'utilisation principale de cette machine. Voyez ci-"
-#~ "aprs pour plus de dtails.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: si vous connaissez dja tout de GNU-Linux et que vous voulez "
-#~ "conserver l'entire matrise de l'installation, cette classe est faite "
-#~ "pour vous. Vous pourrez slectionner le type d'utilisation du systme de "
-#~ "la mme manire que pour l'installation personnalise.\n"
-#~ "Attention: l'utilisation de cette classe d'installation ncessite une "
-#~ "bonne connaissance de GNU-Linux. Ne l'utilisez donc pas moins de savoir "
-#~ "ce que vous fates.\n"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ "Vous pouvez maintenant choisir sur quelle(s) partition(s) vous dsirez\n"
-#~ "installer votre systme Linux-Mandrake. Si vous aviez auparavant cr "
-#~ "des\n"
-#~ "partitions (lors d'une prcdente installation ou l'aide d'un autre "
-#~ "outil\n"
-#~ "de partionnement), vous pouvez les utiliser. Dans le cas contraire, vous\n"
-#~ "devez partitionner votre (vos) disque(s) dur(s). Cette tape revient \n"
-#~ "dcouper votre disque en plusieurs zones distinctes.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si vous devez crer de nouvelles partitions, utilisez Partitionnement\n"
-#~ "automatique. Vous pouvez slectionner le disque partitionner en "
-#~ "cliquant\n"
-#~ "sur hda pour le premier disque IDE, hdb pour le deuxime ou "
-#~ "sda\n"
-#~ "pour le premier disque SCSI (et ainsi de suite).\n"
-#~ "\n"
-#~ "\n"
-#~ "Deux partitions courantes sont: la partition racine (/), qui est le\n"
-#~ "point de dpart de toute l'arborescence du systme de fichiers, et aussi\n"
-#~ "/boot, qui contient tous les fichiers ncessaires au dmarrage du\n"
-#~ "systme d'exploitation.\n"
-#~ "\n"
-#~ "\n"
-#~ "Le partitionnement tant un processus irrversible, partitionner peut "
-#~ "s'avrer\n"
-#~ "intimidant et stressant aux yeux d'un utilisateur non expriment. "
-#~ "DiskDrake\n"
-#~ "simplifie ce processus pour que cela ne soit pas le cas. Consultez la\n"
-#~ "documentation et prenez votre temps avant de commencer.\n"
-#~ "\n"
-#~ "\n"
-#~ "Vous pouvez utiliser des raccourcis clavier: slectionner les "
-#~ "partitions\n"
-#~ "peut se faire avec la touche TAB ou les flches haut et bas. Quand une\n"
-#~ "partition est slectionne, vous pouvez utiliser:\n"
-#~ "\n"
-#~ " - Ctrl-c pour crer une nouvelle partition (quand une zone vide est\n"
-#~ " slectionne),\n"
-#~ "\n"
-#~ " - Ctrl-d pour effacer une partition,\n"
-#~ "\n"
-#~ " - Ctrl-m pour slectionner le point de montage.\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Les partitions nouvellement cres doivent tre maintenant formates "
-#~ "pour\n"
-#~ "que le systme puisse les utiliser. Outre les nouvelles partitions, vous\n"
-#~ "pouvez galement formater des partitions pralablement cres et "
-#~ "utilises\n"
-#~ "si vous dsirez supprimer toutes les donnes qu'elles contiennent.\n"
-#~ "\n"
-#~ "\n"
-#~ "Veuillez noter qu'il n'est pas ncessaire de formater les partitions\n"
-#~ "pralablement cres et utilises si elles contiennent des donnes\n"
-#~ "auxquelles vous tenez (cas typiques: /home et /usr/local)."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "Les paquetages slectionns sont prsent installs sur votre systme.\n"
-#~ "Cette opration ne devrait prendre que quelques minutes moins que vous\n"
-#~ "n'ayez choisi de mettre jour un systme existant. Dans ce cas, cela "
-#~ "peut\n"
-#~ "prendre plus de temps avant mme que la mise jour ne commence vraiment."
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "Si DrakX n'a pas pu trouver votre souris, ou si vous voulez vrifier ce "
-#~ "qu'il\n"
-#~ "a fait, une liste de souris vous sera prsente.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si vous tes d'accord avec DrakX, vous pouvez vous rendre l'tape que "
-#~ "vous\n"
-#~ "souhaitez en la slectionnant dans la liste situ sur la gauche de votre "
-#~ "cran.\n"
-#~ "Dans le cas contraire, choisissez le modle de souris que vous pensez "
-#~ "tre le\n"
-#~ "plus proche de celle que vous possdez.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si votre souris est connect un port srie, vous devrez galement "
-#~ "indiquer\n"
-#~ "sur quel port srie elle est connecte."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "Cette section est ddie la configuration d'un rseau local, LAN\n"
-#~ "(Local Area Network) en anglais, ou d'une connexion par modem.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si vous choisissez Rseau local, DrakX essaiera de trouver une\n"
-#~ "carte Ethernet sur votre machine. Les cartes PCI sont en principe\n"
-#~ "reconnues et installes automatiquement. Toutefois, si votre\n"
-#~ "priphrique est une carte ISA, l'autodtection ne fonctionnera pas.\n"
-#~ "Vous devrez alors choisir un pilote dans la liste qui apparatra.\n"
-#~ "\n"
-#~ "\n"
-#~ "De mme que pour les adaptateurs SCSI, vous pouvez laissez le pilote\n"
-#~ "chercher son matriel. S'il choue vous devrez lui spcifier les options\n"
-#~ "adquates (options que vous aurez obtenues dans la documentation de "
-#~ "votre\n"
-#~ "matriel).\n"
-#~ "\n"
-#~ "\n"
-#~ "Si vous installez Linux-Mandrake sur une machine faisant partie d'un "
-#~ "rseau\n"
-#~ "existant, l'administrateur rseau est en mesure de vous fournir les\n"
-#~ "informations ncessaires (adresse IP, masque de rseau et nom d'hte).\n"
-#~ "Si vous mettez en place un rseau priv (par exemple la maison), vous\n"
-#~ "devrez choisir ces adresses vous-mme.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si vous n'avez besoin que d'une connexion par modem (par exemple pour "
-#~ "Internet),\n"
-#~ "choisissez Connexion par modem. DrakX essayera alors de dtecter "
-#~ "votre modem. S'il choue, vous devrez indiquer sur quel port il est "
-#~ "connect."
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "GNU/Linux peut manipuler plusieurs types d'imprimantes. Chacune d'entre "
-#~ "elles\n"
-#~ "requiert une configuration diffrente. Fates attention au fait que le\n"
-#~ "programme de gestion des imprimantes utilise lp comme nom "
-#~ "d'imprimante\n"
-#~ "par dfaut. Par consquent, aucune imprimante ne doit porter ce nom. "
-#~ "Vous\n"
-#~ "pouvez donner plusieurs noms une mme imprimante. Ils doivent tre "
-#~ "spars\n"
-#~ "par le caractre |. Ainsi, si vous dsirez donner un nom plus parlant "
-#~ " une\n"
-#~ "imprimante, vous devez le mettre en premire position. Par exemple: \n"
-#~ "Mon imprimante|lp.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si votre imprimante est physiquement connecte votre machine, "
-#~ "slectionnez\n"
-#~ "Imprimante locale. Vous devrez alors indiquer sur quel port elle est\n"
-#~ "connecte et slectionner le filtre appropri.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si vous souhaitez accder une imprimante connecte une machine Unix\n"
-#~ "distante, slectionnez Imprimante lpd distante. Bien qu'aucun nom\n"
-#~ "d'utilisateur ou mot de passe ne soit requis, vous devez connatre le\n"
-#~ "de la file d'impression distante.\n"
-#~ "\n"
-#~ "\n"
-#~ "Si vous souhaitez utiliser une imprimante SMB (i.e. une imprimante "
-#~ "desservie\n"
-#~ "par une machine distante fonctionnant avec Microsoft Windows 9x/NT) vous "
-#~ "devrez\n"
-#~ "spcifier le nom SMB de cette machine (qui n'est pas son nom TCP/IP) et, "
-#~ "si\n"
-#~ "possible, son adresse IP ainsi que les nom d'utilisateur, du groupe de "
-#~ "travail\n"
-#~ "et le mot de passe requis pour utiliser l'imprimante. Le nom de "
-#~ "l'imprimante\n"
-#~ "est galement requis. Il en est de mme pour une imprimante Netware, "
-#~ "la\n"
-#~ "diffrence prs que le nom du groupe de travail n'est pas ncessaire."
-
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "Il vous est fortement recommand de rpondre Oui. Si vous installez\n"
-#~ "Microsoft Windows aprs avoir install Linux-Mandrake, ce dernier\n"
-#~ "effacera le secteur de dmarage. Si vous n'avez pas cr de disquette de\n"
-#~ "dmarrage, vous ne pourrez plus dmarrez GNU/Linux sans le rinstaller."
-
-#~ msgid "Move your wheel!"
-#~ msgstr "Veuillez utiliser votre roulette"
diff --git a/perl-install/share/po/ga.po b/perl-install/share/po/ga.po
deleted file mode 100644
index f7ffe8d86..000000000
--- a/perl-install/share/po/ga.po
+++ /dev/null
@@ -1,7367 +0,0 @@
-# Irish translations for DrakX, the Mandrake Installer.
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Irish Linux Users Group <ilug@linux.ie>, 1999
-#
-# Credits where due:
-# Proinnsias Breathnach <breatpro@dublin.ml.com-nospam>
-# Donncha 'Caoimh <donncha.ocaoimh@tradesignals.com-nospam>
-# Barra 'Caoimh <Care of donncha.ocaoimh@tradesignals.com-nospam>
-# John McDonnell <johnmc@student.nuigalway.ie-nospam>
-# Alastair McKinstry <mckinstry@computer.org>
-# Who've all contributed so far.
-# Proinnsias 16-Dec-1999
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 1999-12-16 10:33+0100\n"
-"Last-Translator: Proinnsias Breathnach <breatpro@dublin.ml.com>\n"
-"Language-Team: Gaeilge <ga@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr "ag lemh cumraocht"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Carta Grafach"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Roghnaigh carta grafachach"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Roghnaigh freastala X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X freastala"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree86 %s"
-
-#: ../../Xconfigurator.pm_.c:312
-#, fuzzy
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Cn sort iontril a suimigh do"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "Cumraocht XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Roghnaigh an mid cuimhne at id' charta grafachach"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Roghnaigh cumraocht an freastala"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Roghnaigh scilen"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Scilen"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Rta athnuachana cothromnach"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Rta athnuachana ingearach"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Nl aon scilen cumraithe"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Nl aon carta grafachach cumraithe"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Nl aoin riteach cumraithe"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Trialaigh an cumraocht"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"bain trial as roinnt paraimadair a athr"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Tharla Earrid:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Ag al i %d siocand"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "An bhfuil seo ceart?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Tharla earrid, bain trial as roinnt paraimadair a athr"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Riteach"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Carta Grafach: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Freastala XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr "Md Saineola"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Taispan gach ceann"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Riteacha"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Leagan amach eocharchlra: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Cinel luchg: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Gaireas luchige: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Scilen: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Scilen HorizSync: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Scilen VertRefresh: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Carta Grafach: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Cuimhne grafach: %s kb\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, fuzzy, c-format
-msgid "Color depth: %s\n"
-msgstr "Scilen VertRefresh: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, fuzzy, c-format
-msgid "Resolution: %s\n"
-msgstr "Riteacha"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Freastala XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, fuzzy, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Freastala XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Ag ullmh cumraocht X-Windows"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Card a theastaonn uait a dhanamh?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Athraigh Scilen"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Athraigh carta grafach"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Athraigh cumraocht an freastala"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Athraigh Riteach"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Taispen Eolas"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Bain trial as ars"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "alaigh"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, fuzzy, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr "Coimead an cumraocht IP at ann"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X ag ts"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Is fidir linn do romhaire a shocr le X a thosn i ndhiadh bootil.\n"
-"An dteastaonn uait go dtosnfar X nuair a aththosntear an romhaire?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 dath (8 giotin)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mle dath (15 giotin)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mle dath (16 giotin)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 millin dath (24 giotin)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 billin dath (32 giotin)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB n nos m"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Gnth VGA, 640x480 ag 60Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 ag 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "Cinal 8514, 1024x768 ag 87 Hz Idirdhuillith (gan 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 ag 87 Hz Idirdhuillithe, 800x600 ag 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "SVGA Leathnaithe, 800x600 ag 60 Hz, 640x480 ag 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "SVGA Neamh-idirdhuillithe, 1024x768 ag 60 Hz, 800x600 ag 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "SVGA d'rd minicocht, 1024x768 ag 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Scilen ilmhinicocht a bhfuil in ann do 1280x1024 ag 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Scilen ilmhinicocht a bhfuil in ann do 1280x1024 ag 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Scilen ilmhinicocht a bhfuil in ann do 1280x1024 ag 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Scilen a bhfuil in ann do 1600x1200 ag 70Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Scilen a bhfuil in ann do 1600x1200 ag 76Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr ""
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr ""
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "Roghnaigh rang feisti"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr ""
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Feisti LILO/grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-#, fuzzy
-msgid "Yaboot"
-msgstr "Root"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Promhroghanna bootil"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-#, fuzzy
-msgid "Bootloader to use"
-msgstr "Promhroghanna bootil"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Feisti cd tosnaithe"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Gaireas bootil"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Compact"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "compact"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Md fs"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr ""
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Pasfhocal"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Pasfhocal (ars)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr ""
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "teorannaigh"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Glan /tmp nuair a thosnaigh an coris"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr ""
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr ""
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr ""
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Aththrialaigh"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "N mar a chile na pasfhocail"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-#, fuzzy
-msgid "Default OS?"
-msgstr "Gnth"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Suim"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Crochnithe"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "Athraigh RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Cn sort iontril a suimigh do?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "CO Eile (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "CO Eile (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "CO Eile (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Iomha"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Append"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lamh-Scrobh"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Table"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Baolach"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Lipad"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Gnth"
-
-#: ../../any.pm_.c:284
-#, fuzzy
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Scrios iontril"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Nl ceadaigh an lipad folamh ann"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Is ann cheana don ainm sideora seo"
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr "Cn sort printir at ort?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Fuair %s %s comhadan"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "An bhfuil ceann eile agat?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "An bhfuil comhadan %s agat?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Nl"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "T"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Lemh an t-eolais crua-earra"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Ag feistil tiomana do %s, carta %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(modl %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr ""
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr ""
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Cumraigh roghanna"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr ""
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Roghachais modil:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr ""
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "T an pasfhocal seo ro-shimpl"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr ""
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Is ann cheana don ainm sideora seo"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Suimigh sideoir"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr ""
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "For ainm"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Ainm sideora"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Blaosc"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Dealbh"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Uath-Logann"
-
-#: ../../any.pm_.c:767
-#, fuzzy
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Is fidir linn do romhaire a shocr le X a thosn i ndhiadh bootil.\n"
-"An dteastaonn uait go dtosnfar X nuair a aththosntear an romhaire?"
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Roghnagih an sidoer gnes:"
-
-#: ../../any.pm_.c:770
-#, fuzzy
-msgid "Choose the window manager to run:"
-msgstr "Roghnaigh an Bainistoir Fhuinneoga a ssd:"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr ""
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Clr Tosn"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr "Trialaigh an cumraocht"
-
-#: ../../bootlook.pm_.c:79
-#, fuzzy
-msgid "/_File"
-msgstr "Comhaid:\n"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr ""
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr "Cumraigh X"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "Scilen"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "Athraigh Scilen"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr "Gaireas bootil"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Gnth"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Cealaigh"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Cruthaigh"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Dealaigh"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formidigh"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Athmidigh"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Cinel"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Scrobh /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Aisig comhad"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Sabhil i gcomhad"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Aisig dhiosca flapach"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Sabhil ar dhiosca flapach"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Glan gach ceann"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formidigh gach ceann"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "T na ranna profa uilig sidthe"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "N fidir liom rann eile a cur isteach"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Le breis ranna a bheith agat, dealaigh ceann amhin le bheith in ann "
-"rannsnithe a cruth"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Cealaigh"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Scriobh clr-ranna"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr "Bog"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Malairte"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Folamh"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Eile"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Cinel crais-comhadlanna"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Sonra"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"T rann mr FAT amhin agat.\n"
-"Molaim dhuit an rann sin a athmhad ar dts\n"
-"(roghnaigh an rann agus br ar \"Athmidigh\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Ligh go curamach"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr ""
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Earrid"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Gaireas: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Litir Dioscthiomnt DOS: %s (buile faoi thuraim)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Cinel: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Ainm: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Ts: teascn %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Mid: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s teascin"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Sorcir %d go sorcir %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formidithe\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Neamhformidithe\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Rann tosaithe de ghnth\n"
-" (do thosn MS-DOS, n lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Leibhal %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Mid smutn %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "Diosca RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Mid: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Cimseasamh: %s sorcir, %s ceann, %s teascn\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "Diosca LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Cinal tabla rann: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "ar bhs %d, id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Gnomhach"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Cur le RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Bain RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Athraigh RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Cur le LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Bain LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Roghnaigh gnomh"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Nl m sasta /boot a cruth comh fada sin isteach sa diosca, (ar sorcir > "
-"1024).\n"
-"M t t ag sid LILO n oibridh s, n nl /boot uait muna n-sideann t "
-"LILO"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"T an rann at roghnaithe agat don framh (/) suitithe i ndhiadh an 1024\n"
-"sorcir ar an dhiosca, agus nl aon rann /boot agat.\n"
-"M t t chun LILO a sid, beidh ort rann /boot a cruth ar ball."
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Lean ar aghaidh ar aon ns?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "alaigh gan sabhil"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "alaigh gan an clr-ranna a scrobh?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Athraigh cinel ranna"
-
-#: ../../diskdrake.pm_.c:517
-#, fuzzy
-msgid "Which filesystem do you want?"
-msgstr "Cn rann at uait?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Ag formidi"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Ag formidi rann %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "I ndhiadh na rann ar fad formidi,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "caillfear gach sonra ar na ranna"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Bog"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Cn diosca ag a dteastaonn uait a bhogadh?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Teascn"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Cn tescn ag a dteastaonn uait a bhogadh?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Ag bogadh"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Ag bogadh rann..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Scrobhfar clr diosca %s go dhiosca!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Beidh ort an romhaire a aththosn sula ndanfar an athr"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Ag romhadh teorainn na crais-comhadlanna FAT"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Ag athmad"
-
-#: ../../diskdrake.pm_.c:643
-#, fuzzy
-msgid "This partition is not resizeable"
-msgstr "Scriobh clr-ranna"
-
-#: ../../diskdrake.pm_.c:648
-#, fuzzy
-msgid "All data on this partition should be backed-up"
-msgstr "caillfear gach sonra ar an rann seo"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Roghnaigh an mid nua"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Cruthaigh rann nua"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Teascn tosasch: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Mid i MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Cinel cras-comhadlanna"
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Tosaocht: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Roghnaigh Comhad"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Nl an mid canna ar an rann cltaca\n"
-"Lean ar aghaidh ar aon ns?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Rabhadh"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Cur diosca flapach sa dioscthiomant\n"
-"Caillfear gach sonra ar an dhiosca seo"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Ag iarraidh an clr-ranna a tarrthil"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "gaireas"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "leibhal"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "mid smutn"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Roghnaigh RAID at ann le mad"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "nua"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Roghnaigh LVM at ann le mad"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Athldaigh"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "Formidi %s de %s teipithe"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "nl a fhios agam conas %s a formidi go %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr ""
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:21
-#, fuzzy
-msgid "simple"
-msgstr "Comhad"
-
-#: ../../fsedit.pm_.c:30
-#, fuzzy
-msgid "server"
-msgstr "X freastala"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr ""
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Earrid ag oscailt %s do scrobh: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Tharla earrid - n fhuaireadh aon gaireas ar a bhfadfa crais-comhadlanna "
-"nua a cruthu. Ba chir duit do chuid crua-earra a seiceil le cis an fadhb "
-"a aimsi"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Nl aon ranna agat!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr ""
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Roghnaigh do theanga"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Roghnaigh rang feisti"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr ""
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Cumraigh luchg"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Roghnaigh mharchlr"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Socraigh cras chomhad"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formidigh ranna"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Roghnaigh pacist ..."
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Feistigh cras"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Socraigh pasfhocal root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Suimigh sideoir"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Cumraigh grasn"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Cumraigh seirbhis"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Cruthaigh an diosca "
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Feistigh cd tosnaithe"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Cumraigh X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Eirigh as Feisti"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Cur isteach diosca sa dioscthiomant %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Earrid ag lamh comhad $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr ""
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Nl aon ranna malairte agat\n"
-"\n"
-"x1Lean ar aghaidh ar aon ns?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "sid sps saor"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:80
-#, fuzzy
-msgid "There is no existing partition to use"
-msgstr "Ag iarraidh an clr-ranna a tarrthil"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:90
-#, fuzzy
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Cn rann a bhfuil t ag iarraidh sid mar rann framhach"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Roghnaigh an mid nua"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Mid i MB do Rhann Framhach:"
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Mid i MB do rhann malairte:"
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:107
-#, fuzzy
-msgid "Computing Windows filesystem bounds"
-msgstr "Ag romhadh teorainn na crais-comhadlanna FAT"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "rann %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Theip ar uathathmhad FAT: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Dealaigh Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "sid fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:201
-#, fuzzy
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Nl aon ranna agat!"
-
-#: ../../install_interactive.pm_.c:217
-#, fuzzy
-msgid "I can't find any room for installing"
-msgstr "N fidir liom rann eile a cur isteach"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Theip ar rann: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Ag tosn suas an ghrasn"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Ag dnadh sos an ghreasn"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Ta earraid ann, nl a fhios agam conas a cheart.\n"
-"Lean ort, ar do phriacal fin."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Pointe taca dublach %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Filte go %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Nl dioscthiomnt flapach ar fil"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Ag tosn ar cim `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-#, fuzzy
-msgid "Choose the size you want to install"
-msgstr "Roghnaigh na ranna at le formidi"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Mid iomln: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Leagan: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Mid: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Eolas"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Feisti"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Ag Feisti"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Fan tamall, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Am fagtha "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Am iomln "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Ag feistil paciste %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Lean ar aghaidh ar aon ns?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr ""
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Bain sid as an cumraocht X11 at ann?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Roghn Grpa Pacist"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-#, fuzzy
-msgid "Individual package selection"
-msgstr "Roghn Grpa Pacist"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Paciste mcheart"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Ainm: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Tbhacht: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Mid iomln: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:471
-#, fuzzy
-msgid "The following packages are going to be installed"
-msgstr "Roghnaigh pacist ..."
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Ag meast"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d pacist"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-#, fuzzy
-msgid "Refuse"
-msgstr "Athmidigh"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Tharla earrid"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Eocharclr"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Cn leagan amach at ar d'eocharchlrsa"
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Rann Feisti"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Cn rann feisti at uait?"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Install/Update"
-msgstr "Feisti"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Is this an install or an update?"
-msgstr "Is iad an Feistigh n tarrthil ?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Molta"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Saineola"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Cn cinal luchg at agat?"
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Gaireas luchige"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Cumraigh Crta PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Ag cumraigh IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "nl aon ranna saora ann"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:323
-#, fuzzy, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Ni fidir liom an tbla rainn a lamh, t mchaill ann :(\n"
-"Leanfaidh m orm ag ceal droch rainn"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"Theip ar DiskDrake an tabla rainn a lamh i gceart.\n"
-"Lean ort, ar do phriacal fin!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Rann Framhach"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Card an rann framhach (/) ded' chras?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Beidh ort an romhaire a aththosn sula ndanfar an athr"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Roghnaigh na ranna at le formidi"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Ag formidi ranna"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Nil dothain spas malartu chun insealbhu, chuir leis an spas"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Ag curdach do na pacist at ar fil"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Ag crdach pacist le hasgrd"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Crochnaithe (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "osta (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Molta (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-#, fuzzy
-msgid "Custom"
-msgstr "Socraithe"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Ag feisteil paciste %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Cn ceann do chrois ama"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "An bhfuil an clog cruaearrach ar GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:807
-#, fuzzy
-msgid "No printer"
-msgstr "Ainm Printir"
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr "Luchg USB"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Printir"
-
-#: ../../install_steps_interactive.pm_.c:826
-#, fuzzy
-msgid "ISDN card"
-msgstr "Carta ISDN inmhenamach"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Gan pasfhocal"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Bain sid as NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "leathanaigh bu"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "Fearannas NIS"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "Freastala NIS"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:968
-#, fuzzy
-msgid "Second floppy drive"
-msgstr "Cur isteach diosca sa dioscthiomant %s"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Scipeil"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Brn orm, nl aon dioscthiomnt flapach ar fil"
-
-#: ../../install_steps_interactive.pm_.c:987
-#, fuzzy
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Roghnaigh na ranna at le formidi"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Cur isteach diosca sa dioscthiomant %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1001
-#, fuzzy
-msgid "Preparing bootloader"
-msgstr "Feistigh cras"
-
-#: ../../install_steps_interactive.pm_.c:1010
-#, fuzzy
-msgid "Do you want to use aboot?"
-msgstr "Card a theastaonn uait a dhanamh?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Bun"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Gnth"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "rd"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Cur isteach diosca folamh sa dioscthiomant %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr "Cruthaigh flapach bootil"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Automated"
-msgstr "Uath-IP"
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr "Athldaigh"
-
-#: ../../install_steps_interactive.pm_.c:1189
-#, fuzzy
-msgid "Save packages selection"
-msgstr "Roghn Grpa Pacist"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Feisti Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Fan tamall"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Dbhroch (%s), b nos cruinn\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Droch rogha, aththrialaigh\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (gns %s)"
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Do rogha? (gns %s)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Do rogha? (gns %s sid `none' do ceann ar bith) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Ceichs (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Gearminis"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Spinnis"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Fionnlainnis"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Francais"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Ioruais"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polainnis"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Ruisls"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Marchlr UK"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Merchlr US"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Airminis (sean)"
-
-#: ../../keyboard.pm_.c:142
-#, fuzzy
-msgid "Armenian (typewriter)"
-msgstr "Airminis (typewriter)"
-
-#: ../../keyboard.pm_.c:143
-#, fuzzy
-msgid "Armenian (phonetic)"
-msgstr "Airminis (phonetic)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Asarbaidsenais (laidin)"
-
-#: ../../keyboard.pm_.c:148
-#, fuzzy
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Asarbaidsenais (cyrillic)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Beilgeach"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgiris"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Bealarisis"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Ceichs (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr ""
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (Meirice)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Greics"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Ungiris"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Critis"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr ""
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Peirsis"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "oslainnis"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Iodilis"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Seapinis (106 eochair)"
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr "Marchlr UK"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr ""
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "siltris"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Liotuinis AZERTY (nua)"
-
-#: ../../keyboard.pm_.c:185
-#, fuzzy
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Liotuinis \"number row\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Liotuinis \"phonetic\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polainnis (qwerty)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polainnis (qwertz)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portaingilis"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Risis (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Sualainnis"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slbhinis"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slbaicis (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slbaicis (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Talainnis"
-
-#: ../../keyboard.pm_.c:200
-#, fuzzy
-msgid "Turkish (traditional \"F\" model)"
-msgstr "TUircis (traditional \"F\" model)"
-
-#: ../../keyboard.pm_.c:201
-#, fuzzy
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Tuircis (modern \"Q\" model)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "crinis"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Mearchlr US (idirnaisinta)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Bhtneamis"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr ""
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Luchg - Sun"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-#, fuzzy
-msgid "Logitech MouseMan+"
-msgstr "Luchg Bus Logitech"
-
-#: ../../mouse.pm_.c:33
-#, fuzzy
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Luchg 3-cnaipe (PS/2)"
-
-#: ../../mouse.pm_.c:34
-#, fuzzy
-msgid "GlidePoint"
-msgstr "ALPS GlidePoint (PS/2)"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-#, fuzzy
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse (PS/2)"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-#, fuzzy
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse (PS/2)"
-
-#: ../../mouse.pm_.c:38
-#, fuzzy
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll (PS/2)"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr ""
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Gnth"
-
-#: ../../mouse.pm_.c:45
-#, fuzzy
-msgid "Wheel"
-msgstr "leibhal"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr ""
-
-#: ../../mouse.pm_.c:50
-#, fuzzy
-msgid "Generic 2 Button Mouse"
-msgstr "Luchg 3-cnaipe (PS/2)"
-
-#: ../../mouse.pm_.c:51
-#, fuzzy
-msgid "Generic 3 Button Mouse"
-msgstr "Luchg 3-cnaipe (PS/2)"
-
-#: ../../mouse.pm_.c:52
-#, fuzzy
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse (PS/2)"
-
-#: ../../mouse.pm_.c:53
-#, fuzzy
-msgid "Logitech MouseMan"
-msgstr "Luchg Bus Logitech"
-
-#: ../../mouse.pm_.c:54
-#, fuzzy
-msgid "Mouse Systems"
-msgstr "Mouse Systems (srathach)"
-
-#: ../../mouse.pm_.c:56
-#, fuzzy
-msgid "Logitech CC Series"
-msgstr "Luchg Logitech CC (srathach)"
-
-#: ../../mouse.pm_.c:57
-#, fuzzy
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+ (PS/2)"
-
-#: ../../mouse.pm_.c:59
-#, fuzzy
-msgid "MM Series"
-msgstr "MM Series (srathach)"
-
-#: ../../mouse.pm_.c:60
-#, fuzzy
-msgid "MM HitTablet"
-msgstr "MM HitTablet (srathach)"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Luchg Logitech (srathach, san cinal C7)"
-
-#: ../../mouse.pm_.c:65
-#, fuzzy
-msgid "busmouse"
-msgstr "Luchg ar bith"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "ar bith"
-
-#: ../../mouse.pm_.c:74
-#, fuzzy
-msgid "No mouse"
-msgstr "Luchg ar bith"
-
-#: ../../my_gtk.pm_.c:356
-#, fuzzy
-msgid "Finish"
-msgstr "Fionnlainnis"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "An bhfuil seo ceart?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Cumraigh Idirlon"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:148
-#, fuzzy
-msgid "Testing your connection..."
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid "The system is now connected to Internet."
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Cumraocht Grasn"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "Cumraigh ISDN"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-
-#: ../../netconnect.pm_.c:236
-#, fuzzy
-msgid "Connection Configuration"
-msgstr "Cumraocht Idirlon."
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr ""
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ na Carta"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Cuimhne Charta (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "I/A Carta"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "I/A_0 Carta"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "I/A_1 Carta"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Uimhir fn"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr ""
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr ""
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Pasfhocal"
-
-#: ../../netconnect.pm_.c:261
-#, fuzzy
-msgid "Europe"
-msgstr "Eorap (EDS11)"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Eorap (EDS11)"
-
-#: ../../netconnect.pm_.c:263
-#, fuzzy
-msgid "Rest of the world"
-msgstr "Trialaigh an cumraocht"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Cn cinal c at uait?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Nl fhos agam"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Tobscoir"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Lean"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Cn sort carta ISDN at uait?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Roghnaigh an clradan ghrasn"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Clradan Grasn"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-#, fuzzy
-msgid "I'm about to restart the network device:\n"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "Cumraigh ADSL"
-
-#: ../../netconnect.pm_.c:485
-#, fuzzy
-msgid "Do you want to start your connection at boot?"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr ""
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Roghanna 'Dialup'"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Ainm Nasc"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Uimhir fn"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Ainm Login:"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Deimni"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Script-bhunaithe"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Teirminal-bhunaithe"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Ainm Fearannas"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr "Cead Freastala DNS"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr "Dara Freastala DNS"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../netconnect.pm_.c:745
-#, fuzzy
-msgid "You are currently connected to internet."
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid "You are not currently connected to Internet."
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-#, fuzzy
-msgid "Connect to Internet"
-msgstr "Bainteach le hIdirlon"
-
-#: ../../netconnect.pm_.c:754
-#, fuzzy
-msgid "Disconnect from Internet"
-msgstr "Bainteach le hIdirlon"
-
-#: ../../netconnect.pm_.c:756
-#, fuzzy
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Nasc na hIdirlon agus cumraocht"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr "Cumraocht Grasn"
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "External ISDN modem"
-msgstr "Mideam seantrach"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Carta ISDN inmhenamach"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr ""
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-#, fuzzy
-msgid "use dhcp"
-msgstr "dhcpd"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "sid pppoe"
-
-#: ../../netconnect.pm_.c:836
-#, fuzzy
-msgid "use pptp"
-msgstr "sid pppoe"
-
-#: ../../netconnect.pm_.c:846
-#, fuzzy, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:883
-#, fuzzy
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr "Cn sort iontril a suimigh do?"
-
-#: ../../netconnect.pm_.c:900
-#, fuzzy
-msgid "Network configuration"
-msgstr "Cumraocht Grasn"
-
-#: ../../netconnect.pm_.c:901
-#, fuzzy
-msgid "Do you want to restart the network"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr "Roghnagih an sidoer gnes:"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr ""
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy
-msgid "Normal modem connection"
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr "Pointe taca dublach %s"
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy
-msgid "DSL (or ADSL) connection"
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy, c-format
-msgid "detected on interface %s"
-msgstr "Clradan Grasn"
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr "Cumraigh ADSL"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "n fuaireathas crta grasn"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Cumraigh grasn"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "stainm"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Ag cumr glas grasn %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "Seoladh IP"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr ""
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Uath-IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr ""
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "freastala DNS"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Inneal Geata"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Gaireas na hInneal Geata"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Cumraigh seach-freastala"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "Seach-HTTP"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "Seach-FTP"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr ""
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr ""
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr ""
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Earrid ag lamh comhad %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr ""
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Droch comhad chltaca"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Earridh ag scrobh comhad %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "riachtanas"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "tbhachtach"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "an-dheas"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "deas"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "b'fhidir"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Printir itil"
-
-#: ../../printer.pm_.c:21
-#, fuzzy
-msgid "Remote printer"
-msgstr "Scrios iontril"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr ""
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Printir Grasn (soicad)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "URI Gaireas Printir"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr ""
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Gaireas na Printir itil"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Gaireas Printir"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Scrios ci"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Roghanna Printir SMB (Fuinneoga 9x/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "freastala stann SMB"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP freastala SMP"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Comh. ainm"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Grupa na hOibre"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Roghanna Printir NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Freastala Printir"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "stainm Printir"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Poirt"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Cn sort printir at ort?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-#, fuzzy
-msgid "Do you want to test printing?"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Cumraigh Printir"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Roghanna Printir"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Mid Pipir"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Roghanna tiomna Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "An dteastaonn uait printir a chumr?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:370
-#, fuzzy
-msgid "CUPS starting"
-msgstr "Ag meast"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:392
-#, fuzzy
-msgid "Select Remote Printer Connection"
-msgstr "Nasc Printir"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr "IP freastala SMP"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Scrios ci"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Ainm Printir"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Cuntas"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "it"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Ainm ci"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Nasc Printir"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr ""
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "teip ar 'mkraid'"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr ""
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr ""
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr ""
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ""
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr "Rabhadh"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "stopped"
-msgstr "Append"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-#, fuzzy
-msgid "On boot"
-msgstr "Root"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Ni fidir liom an tbla rainn a lamh, t mchaill ann :(\n"
-"Leanfaidh m orm ag ceal droch rainn"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123
-#, fuzzy
-msgid "disable"
-msgstr "Table"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "reconfigure"
-msgstr "Cumraigh X"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr "Nasc na hIdirlon agus cumraocht"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "enable"
-msgstr "Table"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr "Nasc na hIdirlon agus cumraocht"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "suimiil"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Nl aon gaireas ghreasn san do chors!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:276
-#, fuzzy
-msgid "Configuring..."
-msgstr "Ag cumraigh IDE"
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:307
-#, fuzzy
-msgid "Problems installing package $_"
-msgstr "Ag feistil paciste %s"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Comhghairdeas!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Nasc na hIdirlon agus cumraocht"
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "Nasc na hIdirlon agus cumraocht"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Cumraocht Grasn"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr ""
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-#, fuzzy
-msgid "Hostname: "
-msgstr "Ainm sideora"
-
-#: ../../standalone/draknet_.c:147
-#, fuzzy
-msgid "Internet access"
-msgstr "suimiil"
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr "Cinel: "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Inneal Geata:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-#, fuzzy
-msgid "Interface:"
-msgstr "suimiil"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "Ainm Nasc"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr "Cumraigh ADSL"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr "Cumraigh seirbhis"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr "Cumraigh ADSL"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr ""
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr "Freastala"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr "suimiil"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-#, fuzzy
-msgid "Configure Local Area Network..."
-msgstr "Cumraigh grasn itil"
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr ""
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr "Trialaigh an cumraocht"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr "Cumraigh ADSL"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Disable"
-msgstr "Table"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Enable"
-msgstr "Table"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr "Nasc na hIdirlon agus cumraocht"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr "Nasc na hIdirlon agus cumraocht"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr "Ainm Nasc"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-#, fuzzy
-msgid "Provider dns 1 (optional)"
-msgstr "Roghanna Printir"
-
-#: ../../standalone/draknet_.c:561
-#, fuzzy
-msgid "Provider dns 2 (optional)"
-msgstr "Roghanna Printir"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr ""
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Bocht"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranid"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr ""
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr "Bainteach le hIdirlon"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-#, fuzzy
-msgid "Change Cd-Rom"
-msgstr "Athraigh Riteach"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:131
-msgid "Test the mouse here."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Cumraocht Grasn"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "Luchg USB"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Bainteach le hIdirlon"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Bainteach le hIdirlon"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Bainteach le hIdirlon"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Bainteach le hIdirlon"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Ainm Nasc"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "Ainm Nasc"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Cumraigh nasc ghrasn"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr "Cumraocht Grasn"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr "Cumraocht Grasn"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Earrid ag oscailt %s do scrobh: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Development"
-msgstr "Forbairt"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr "Stisin Oibre"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Graphics"
-msgstr "Ilmhenach"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet"
-msgstr "suimiil"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Printir Grasn (soicad)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr "Cumraigh Idirlon"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Oifig"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr "Ilmhenach"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Doicimid KDE agus Mandrake"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Sound"
-msgstr "Ilmhenach"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Scientific Workstation"
-msgstr "Stisin Oibre"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Games"
-msgstr "Gnome"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Video"
-msgstr "Ilmhenach"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Printir Grasn (soicad)"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office Workstation"
-msgstr "Stisin Oibre"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - CD Burning"
-msgstr "Ilmhenach"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr "X freastala"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "cumraocht"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "KDE Workstation"
-msgstr "Stisin Oibre"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Gnome Workstation"
-msgstr "Stisin Oibre"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "suimiil"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr "Doicimid KDE agus Mandrake"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "An bhfuil t ag iarraidh an cumraocht a thrial?"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-
-#~ msgid "%d minutes"
-#~ msgstr "%d noimaid"
-
-#~ msgid "1 minute"
-#~ msgstr "1 noimad"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d soicnd"
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "Cumraigh ADSL"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr "Roghnaigh Comhad"
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr "Cumraigh nasc ghrasn"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr "Ag cumraigh IDE"
-
-#, fuzzy
-#~ msgid "Standard tools"
-#~ msgstr "Forbairt"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "cumraocht"
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr "Trialaigh an cumraocht"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Cumraigh LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Cruthaigh flapach bootil"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formadaigh flapach"
-
-#~ msgid "Choice"
-#~ msgstr "Rogha"
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr "Scilen"
-
-#, fuzzy
-#~ msgid "Internet/Network access"
-#~ msgstr "suimiil"
-
-#, fuzzy
-#~ msgid "Mail information"
-#~ msgstr "Taispen Eolas"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Eile"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Ceisteanna eile"
-
-#, fuzzy
-#~ msgid "Actions"
-#~ msgstr "it"
-
-#, fuzzy
-#~ msgid "toot"
-#~ msgstr "Root"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Cead Freastala DNS"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Dara Freastala DNS"
-
-#, fuzzy
-#~ msgid "using module"
-#~ msgstr "Luchg ar bith"
-
-#, fuzzy
-#~ msgid "Development, Database"
-#~ msgstr "Forbairt"
-
-#~ msgid "None"
-#~ msgstr "Ar bith"
-
-#, fuzzy
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Cn tescn ag a dteastaonn uait a bhogadh?"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Dan iarracht mideam a aimsi?"
-
-#, fuzzy
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Cumraigh nasc ghrasn"
-
-#~ msgid "Configure local network"
-#~ msgstr "Cumraigh grasn itil"
-
-#, fuzzy
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Nasc na hIdirlon agus cumraocht"
-
-#, fuzzy
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr "T grasn lganta cumraithe cheana fin. An dteastaonn uait:"
-
-#, fuzzy
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr "Ag cumraigh IDE"
-
-#~ msgid "Multimedia"
-#~ msgstr "Ilmhenach"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#, fuzzy
-#~ msgid "Internet Tools"
-#~ msgstr "Cumraigh Idirlon"
-
-#, fuzzy
-#~ msgid "Development C/C++"
-#~ msgstr "Forbairt"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Cumraigh crios ama"
-
-#~ msgid "Configure printer"
-#~ msgstr "Cumraigh printir"
-
-#, fuzzy
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr "Printir Grasn (soicad)"
-
-#, fuzzy
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Athraigh cumraocht an freastala"
-
-#, fuzzy
-#~ msgid "Enable num lock at startup"
-#~ msgstr "X ag ts"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Pasfhocal (ars)"
-
-#~ msgid "Gateway device:"
-#~ msgstr "Gaireas na hInneal Geata:"
-
-#, fuzzy
-#~ msgid "default"
-#~ msgstr "Gnth"
-
-#, fuzzy
-#~ msgid "What is your system used for?"
-#~ msgstr "Cn ceann do chrois ama"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "sid diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr "Socraithe"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Bain sid as scilcomhad"
-
-#~ msgid "shadow"
-#~ msgstr "scil"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Bain sid as pasfhocail MD5"
-
-#~ msgid "Search"
-#~ msgstr "Cuardaigh"
-
-#~ msgid "Package"
-#~ msgstr "Paciste"
-
-#~ msgid "Text"
-#~ msgstr "Teacs"
-
-#~ msgid "Tree"
-#~ msgstr "Crann"
-
-#~ msgid "Category"
-#~ msgstr "Saghas"
-
-#~ msgid "See"
-#~ msgstr "Amharc"
-
-#~ msgid "Installed packages"
-#~ msgstr "Pacist feisti"
-
-#~ msgid "Available packages"
-#~ msgstr "Pacist le fil"
-
-#~ msgid "Remove"
-#~ msgstr "Scros"
-
-#~ msgid "Find Package"
-#~ msgstr "Cuardaigh Paciste"
-
-#~ msgid "Uninstall"
-#~ msgstr "Eirigh as Feisti"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Roghnaigh pacist a feisti ..."
-
-#~ msgid "Wait"
-#~ msgstr "Fan tamall"
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "%s not found"
-#~ msgstr "Teip ag cuardach %s"
-
-#~ msgid "Directory"
-#~ msgstr "Fillten"
-
-#~ msgid "France"
-#~ msgstr "Fraince"
-
-#~ msgid "Other countries"
-#~ msgstr "Tr Eile"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "mideim alcatel"
-
-#~ msgid "ECI modem"
-#~ msgstr "mideim ECI"
-
-#~ msgid "don't use pppoe"
-#~ msgstr "n sid pppoe"
-
-#~ msgid "mandatory"
-#~ msgstr "sainordaitheach"
-
-#~ msgid "interesting"
-#~ msgstr "suimiil"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (tbhachtach)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (an-dheas)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (deas)"
-
-#~ msgid "Czech"
-#~ msgstr "Ceichs"
-
-#~ msgid "Slovakian"
-#~ msgstr "Slbaicis"
-
-#~ msgid "Reconfigure local network"
-#~ msgstr "Athchumraigh an grasn anois"
-
-#, fuzzy
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Bainteach le hIdirlon"
-
-#, fuzzy
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Bainteach le hIdirlon"
-
-#, fuzzy
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Bainteach le hIdirlon"
-
-#, fuzzy
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Bainteach le hIdirlon"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Uath-Riteach"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Uath-cuardaigh riteach"
-
-#~ msgid "Install/Rescue"
-#~ msgstr "Feisti/Tarrthil"
-
-#~ msgid "Rescue"
-#~ msgstr "Tarrthil"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Luchg ADB Apple"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Luchg ADB Apple (2 Cnaip)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Luchg Apple ADB (3+ Cnaip)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Luchg USB Apple"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Luchg USB Apple (2 Cnaip)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Luchg USB Apple (3+ Cnaip)"
-
-#~ msgid "Generic Mouse (PS/2)"
-#~ msgstr "Mouse Gnth (PS/2)"
-
-#~ msgid "Logitech MouseMan/FirstMouse (ps/2)"
-#~ msgstr "Logitech MouseMan/FirstMouse (ps/2)"
-
-#~ msgid "ASCII MieMouse (PS/2)"
-#~ msgstr "ASCII MieMouse (PS/2)"
-
-#~ msgid "Genius NetMouse Pro (PS/2)"
-#~ msgstr "Genius NetMouse Pro (PS/2)"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "Luchg Bus ATI"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Luchg Bus Microsoft"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "Luchg USB (3 cnaip n nos m)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Rev 2.1A n barr (srathach)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (srathach)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (srathach)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (srathach)"
-
-#~ msgid "Microsoft IntelliMouse (serial)"
-#~ msgstr "Microsoft IntelliMouse (srathach)"
-
-#~ msgid "Logitech MouseMan/FirstMouse (serial)"
-#~ msgstr "Logitech MouseMan/FirstMouse (srathach)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "Luchg de gnth (srathach)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Microsoft n comhorinach (srathach)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "Luchg 3-cnaipe de gnth (srathach)"
-
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse (srathach)"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr "Card a theastaonn uait a dhanamh?"
-
-#~ msgid "pump"
-#~ msgstr "pump"
-
-#~ msgid "dhcpxd"
-#~ msgstr "dhcpxd"
-
-#~ msgid "dhcp-client"
-#~ msgstr "dhcp-client"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Cn cinal luchg at agat?"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Rnscrobhach"
-
-#~ msgid "Configure LAN"
-#~ msgstr "Cumraigh LAN"
-
-#~ msgid "End configuration"
-#~ msgstr "irigh as cumraocht"
-
-#, fuzzy
-#~ msgid "Do not set up networking"
-#~ msgstr "Cumraigh grasn"
-
-#, fuzzy
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "An dteastaonn uait grasn a chumr ded' chras?"
-
-#~ msgid "Show less"
-#~ msgstr "Taispan nos l"
-
-#~ msgid "Show more"
-#~ msgstr "Taispen nos mo"
diff --git a/perl-install/share/po/gl.po b/perl-install/share/po/gl.po
deleted file mode 100644
index 323eb0b1e..000000000
--- a/perl-install/share/po/gl.po
+++ /dev/null
@@ -1,8156 +0,0 @@
-# Translation file of Mandrake graphic install
-# Copyright (C) 1999, 2000 Mandrakesoft.
-# Copyright (C) 2000 Jess Bravo lvarez.
-# Jos Manuel Cambre <asforber@asforber.com>, 1999
-# Jess Bravo lvarez <jba@pobox.com>, 2000
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-06-08 18:14+0200\n"
-"Last-Translator: Jess Bravo lvarez (mdk) <jba@pobox.com>\n"
-"Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-#, fuzzy
-msgid "Use Xinerama extension"
-msgstr "Usar deteccin automtica"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr "lendo a configuracin"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Tarxeta grfica"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Seleccione unha tarxeta grfica"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Escolla un servidor X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "Servidor X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Que configuracin de XFree quere usar?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"A sa tarxeta pode ter soporte de aceleracin 3D por hardware, pero s con\n"
-"XFree %s. A tarxeta est soportada por XFree %s, que pode ter un mellor\n"
-"soporte en 2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-"A sa tarxeta pode ter soporte de aceleracin 3D por hardware con XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s con aceleracin 3D por hardware"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"A sa tarxeta pode ter soporte de aceleracin 3D por hardware, pero s con\n"
-"XFree %s, ADVIRTA QUE ESTE SOPORTE EXPERIMENTAL E PODE COLGAR O SISTEMA."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s con aceleracin 3D por hardware EXPERIMENTAL"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"A sa tarxeta pode ter soporte de aceleracin 3D por hardware, pero s con\n"
-"XFree %s, ADVIRTA QUE ESTE SOPORTE EXPERIMENTAL E PODE COLGAR O SISTEMA.\n"
-"A sa tarxeta est soportada por XFree %s, que pode ter un mellor soporte en "
-"2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "Configuracin de XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Seleccione a cantidade de memoria da tarxeta grfica"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Escolla as opcins para o servidor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Escolla o monitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Os dous parmetros crticos son a taxa de actualizacin vertical, que\n"
-"indica a frecuencia coa que a pantalla completa actualizada, e mis\n"
-"importante anda a taxa de sincronismo horizontal, que a\n"
-"frecuencia coa que se mostran as lias de barrido horizontal.\n"
-"\n"
-" MOI IMPORTANTE que non especifique un tipo de monitor cun intervalo\n"
-"de frecuencias de sincronismo superior capacidade real do seu monitor,\n"
-"xa que pode danalo.\n"
-"No caso de dbida, escolla unha configuracin conservadora."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Frecuencia de actualizacin horizontal"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Frecuencia de actualizacin vertical"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "O monitor non est configurado"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "A tarxeta grfica anda non est configurada"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Resolucins anda non escollidas"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Desexa probar a configuracin?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Aviso: probar esta tarxeta grfica pode colgar o ordenador"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Proba da configuracin"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"probe a cambiar algns parmetros"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Ocorreu un erro:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Sando en %d segundos"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr " esta a configuracin correcta?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Ocorreu un erro, probe a cambiar algns parmetros"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Resolucin"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Escolla a resolucin e a profundidade de cor"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Tarxeta grfica: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Servidor XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Modo experto"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Ver todo"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Resolucins"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Disposicin do teclado: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Tipo de rato: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Dispositivo do rato: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Frecuencia horizontal do monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Frecuencia vertical do monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Tarxeta grfica: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Memoria da tarxeta grfica: %s KB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Profundidade de cor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Resolucin: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Servidor XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Controlador de XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Preparando a configuracin de X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Qu desexa facer?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Mudar o monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Mudar a tarxeta grfica"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Mudar as opcins do servidor"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Mudar a resolucin"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Mostrar informacin"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Probar de novo"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Sar"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Manter os cambios?\n"
-"A configuracin actual :\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Entre de novo en %s para activar os cambios"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Saia da sesin e use Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "Lanzar X11 arrincar"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Pdese configurar o seu ordenador para que entre automaticamente\n"
-"en X arrincar. Desexa que se execute X reiniciar?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 cores (8 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mil cores (15 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mil cores (16 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 millns de cores (24 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 mil millns de cores (32 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 KB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 KB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB ou mis"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "VGA estndar, 640x480 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 a 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "Compatible 8514, 1024x768 a 87 Hz entrelazado (no 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 a 87 Hz entrelazado, 800x600 a 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Super VGA estendido, 800x600 a 60 Hz, 640x480 a 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "SVGA non-entrelazado, 1024x768 a 60 Hz, 800x600 a 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "SVGA alta-frecuencia, 1024x768 a 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Monitor multi-frecuencia soportando 1280x1024 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Monitor multi-frecuencia soportando 1280x1024 a 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Monitor multi-frecuencia soportando 1280x1024 a 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor soportando 1600x1200 a 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor soportando 1600x1200 a 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Primeiro sector da particin de arranque"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Primeiro sector do disco (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "Instalacin do SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Onde quere instalar o cargador de arrinque?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Instalacin do LILO/grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO con men de texto"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO con men grfico"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Arrincar dende DOS/Windows (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Opcins principais do cargador de arrinque"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Cargador de arrinque que usar"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Instalacin do cargador de arrinque"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Dispositivo de arrinque"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (non funciona en BIOS antigas)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Compacto"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "compacto"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Modo de vdeo"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Retardo antes de arrincar a imaxe por omisin"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Contrasinal"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Contrasinal (de novo)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Restrinxir opcins da lia de comandos"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "restrinxir"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Baleirar /tmp en cada arrinque"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Tamao exacto de memoria se for necesario (atopronse %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Activar perfs mltiples"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Indicar o tamao da memoria en MB"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"A opcin ``restrinxir opcins da lia de comandos'' non ten sentido sen "
-"contrasinal"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Tente de novo"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Os contrasinais non coinciden"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Mensaxe inicial"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Permitir o arrinque de CD?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "SO por omisin?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Estas son as diferentes entradas.\n"
-"Pode engadir algunhas mis ou cambiar as que xa existen."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Engadir"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Feito"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Modificar"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Que tipo de entrada desexa engadir?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Outros SO (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Outros SO (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Outros SO (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Imaxe"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Raz"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Agregar"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lectura-escritura"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tboa"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Inseguro"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Etiqueta"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Por omisin"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr ""
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Quitar entrada"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Etiqueta baleira non permitida"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Esta etiqueta xa se est a usar"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Qu tipo de particionamento quere?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "%s interfaces %s atopadas"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Ten algunha outra?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Ten algunha interface %s?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Non"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Si"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Mire a informacin sobre o hardware"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Instalando o controlador para a tarxeta %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(mdulo %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Que controlador de %s desexa probar?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Nalgns casos, o controlador de %s necesita informacin extra\n"
-"para funcionar correctamente, anda que normalmente funcione sen ela.\n"
-"Desexa especificar informacin extra para o controlador ou deixar que el\n"
-"analice o seu equipo e atope a informacin que necesita? s veces,\n"
-"analizar o equipo pode provocar que se pare, pero non debera\n"
-"causar ningn dano."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Autodeteccin"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Especificar as opcins"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Agora pode indicar as opcins para o mdulo %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Aqu deben ir as diferentes opcins para o mdulo %s.\n"
-"As opcins son da forma nome=valor nome2=valor2 ....\n"
-"Por exemplo pode ter io=0x300 irq=7"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Opcins do mdulo:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Fallo o cargar o mdulo %s\n"
-"Desexa retentalo con outros parmetros?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s xa foi engadido)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Este contrasinal demasiado simple"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Indique o nome de usuario"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "O nome de usuario (login) s debe conter letras, nmeros, '-' e '_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Este nome de usuario xa est engadido"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Engadir usuario"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Introduza un usuario\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Aceptar usuario"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Nome real"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Nome de usuario"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Icona"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Login automtico"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Pdese configurar o ordenador para que se autentique automaticamente\n"
-"como un usuario. Se non quere usar esta caracterstica, prema o botn\n"
-"cancelar."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Escolla o usuario por defecto:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Escolla o xestor de fiestras para executar:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Benvido ao %s, o selector de sistema operativo!\n"
-"\n"
-"Escolla un sistema operativo na lista de enriba, ou\n"
-"agarde %d segundos para que se arrinque o sistema por defecto.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Benvido ao GRUB, o selector de sistemas operativos!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Use as teclas %c e %c para seleccionar a entrada marcada."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Prema enter para arrincar o SO seleccionado, 'e' para editar os"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "comandos antes de arrincar, ou 'c' para a lia de comandos."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "A entrada marcada arrincarase automaticamente en %d segundos."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "non hai espacio dabondo en /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Escritorio"
-
-# Manter o '' en iso-8859-1
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Men Inicio"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "axuda anda non implementada.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Configuracin do estilo de arrinque"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Ficheiro"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Ficheiro/_Novo"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Ficheiro/_Abrir"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>A"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Ficheiro/_Gardar"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>G"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Ficheiro/Gardar _como"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "Ficheiro/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Ficheiro/_Sar"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Opcins"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Opcins/Proba"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/A_xuda"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Axuda/_Acerca..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr "Configurar as X"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr "Modo de marcacin"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "Monitor"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "Mudar o monitor"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Modo de arrinque"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Lanzar o sistema X-Window iniciar"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Non, non quero login automtico"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Si, quero login automtico con este (usuario, escritorio)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Por omisin"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "Aceptar"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Cancelar"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "non se pode abrir /etc/inittab para lectura: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "non se pode abrir /etc/sysconfig/autologin para lectura: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Fallou a instalacin do LILO. Ocorreu o erro seguinte:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Crear"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Desmontar"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Borrar"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatar"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Redimensionar"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tipo"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Punto de montaxe"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Escribir /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Mudar a modo experto"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Mudar a modo normal"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Restaurar a partir dun ficheiro"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Gardar nun ficheiro"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Axudante"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Restaurar a partir dun disquete"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Gardar nun disquete"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Borrar todas"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formatar todas"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Asignacin automtica"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Tdalas particins primarias estn usadas"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Non posible engadir mis particins"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Para ter mis particins, borre unha para poder crear unha particin "
-"estendida"
-
-#: ../../diskdrake.pm_.c:61
-#, fuzzy
-msgid "Not enough space for auto-allocating"
-msgstr "Non hai espacio libre dabondo para asignar novas particins"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Refacer"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Escribir tboa de particins"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Mis"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Intercambio"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Baleiro"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Outros"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Tipos de sist. de ficheiros:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detalles"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Ten unha particin FAT grande\n"
-"(xeralmente usada por Microsoft Dos/Windows).\n"
-"Aconsllase que primeiro a redimensione\n"
-"(prema nela, e logo en \"Redimensionar\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Faga primeiro unha copia de seguridade dos seus datos"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lea coidadosamente!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Se ten pensado usar aboot, tea coidado de deixar un espacio libre (2048\n"
-"sectores abondan) no inicio do disco"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Tea coidado: esta operacin perigosa."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Erro"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Punto de montaxe: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Dispositivo: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Letra de unidade DOS: %s (aproximacin)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tipo: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nome: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Inicio: sector %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Tamao: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sectores"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Cilindro %d a cilindro %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formatado\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Non formatado\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Montado\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Ficheiro(s) loopback: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Particin de arrinque por omisin\n"
-" (para arrincar en MS-DOS, non para lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Nivel %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Tamao do bloque de datos %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "Discos RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Nome do ficheiro loopback: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Prema nunha particin"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Tamao: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Xeometra: %s cilindros, %s cabezas, %s sectores\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "Discos LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Tipo de tboa de particins: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "no bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Montar"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Activar"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Engadir RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Quitar do RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Modificar o RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Engadir LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Quitar do LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Usar para loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Escolla a accin"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Desculpe, mais non se pode crear o directorio /boot tan lonxe no disco\n"
-"(nun cilindro > 1024). Se usa o LILO, non funcionar, e se non o\n"
-"usa, non necesita /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"A particin que escolleu para usar como raz (/) est fisicamente ubicada\n"
-"despois do cilindro 1024 do disco duro, e non ten particin /boot.\n"
-"Se pensa usar o selector de SO de arrinque LILO, lembre engadir unha\n"
-"particin /boot"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Seleccionou unha particin RAID software como raz (/).\n"
-"Non hai ningn cargador de arrinque que funcione deste xeito sen unha\n"
-"particin /boot.\n"
-"Lembre polo tanto engadir unha particin /boot"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Use ``%s'' no seu lugar"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Use ``Desmontar'' primeiro"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-" mudar o tipo da particin %s, perderanse tdolos datos desta particin"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Continuar de calquera xeito?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Sar sen gardar"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Sar do programa sen gardar a tboa de particins?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Mudar o tipo de particin"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Qu sistema de ficheiros desexa?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Non pode usar ReiserFS para particins mis pequenas que 32MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Onde desexa montar o ficheiro loopback %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Onde desexa montar o dispositivo %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Non se pode quitar o punto de montaxe porque esta particin estase a\n"
-"usar de loopback.\n"
-"Quite primeiro o loopback"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr " formatar a particin %s, perderanse tdolos datos desta particin"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formatando"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formatando o ficheiro loopback %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formatando a particin %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Logo de formatar tdalas particins,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "perderanse os datos nesas particins"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Desprazar"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "A que disco desexa desprazala?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sector"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "A que sector desexa desprazala?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Desprazando"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Desprazando particin..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Escribirase disco a tboa de particins da unidade %s!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr ""
-"Necesitar reiniciar o equipo para que a modificacin sexa tomada en conta"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Calculando os lmites do sistema de ficheiros FAT"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Redimensionando"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Esta particin non se pode redimensionar"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Debera facer unha copia de seguridade dos datos desta particin"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-" redimensionar a particin %s, perderanse tdolos datos desta particin"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Escoller o novo tamao"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Crear unha nova particin"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Sector inicial: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Tamao en MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Tipo de sist. de ficheiros: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Preferencia: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Esta particin non pode usarse para loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Nome do ficheiro loopback: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "O ficheiro xa est a ser usado por outro loopback, escolla outro"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "O ficheiro xa existe. Usalo?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Seleccione un ficheiro"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"A tboa de particins de rescate non ten\n"
-"o mesmo tamao. Continuar de calquera xeito?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Advertencia"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Insira un disquete na unidade\n"
-"Perderanse tdolos datos no disquete"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Tentando recuperar a tboa de particins de rescate"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "dispositivo"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "nivel"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "tamao do bloque de datos"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Escolla un dos RAID para engadirlle"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "novo"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Escolla un dos LVM para engadirlle"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "Nome do LVM?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Automonta-las unidades extrables"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Tboa de particins de rescate"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Recargar"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "O formato %s de %s fallou"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "Descocese o xeito de formatar %s de tipo %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "mount fallou: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "erro desmontando %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "simple"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "servidor"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Os puntos de montaxe deben empezar por /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Xa existe unha particin co punto de montaxe %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Puntos de montaxe circulares %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "Non pode usar un volume lxico LVM para o punto de montaxe %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Este directorio debera permanecer dentro do sistema de ficheiros raz"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Necesita un sistema de ficheiros real (ext2, reiserfs) para este punto de "
-"montaxe\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Erro abrir %s para escritura: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Ocorreu un erro - non se atopou ningn dispositivo vlido para crear novos "
-"sistemas de ficheiros. Verifique o seu equipo para ver a razn deste problema"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Non ten ningunha particin!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Escolla a lingua que prefira para a instalacin e para o sistema."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Ten que aceptar os termos da licencia de enriba para continuar coa "
-"instalacin.\n"
-"\n"
-"\n"
-"Por favor, prema \"Aceptar\" se concorda con eses termos.\n"
-"\n"
-"\n"
-"Por favor, prema \"Rexeitar\" se non concorda con eses termos. A instalacin "
-"rematar sen modificar a sa configuracin actual."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Escolla a disposicin do teclado que corresponda seu na lista"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Se desexa ter outras linguas ( parte da que escolleu principio da\n"
-"instalacin) dispoibles trala instalacin, escllaas na lista de enriba.\n"
-"Se quere seleccionar todas, s ten que usar \"Todas\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Escolla \"Instalar\" se non hai ningunha versin previa de Linux-Mandrake\n"
-"instalada ou se quere usar varios sistemas operativos.\n"
-"\n"
-"\n"
-"Escolla \"Actualizar\" se quere actualizar unha versin xa instalada de\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"Dependendo do seu coecemento de GNU/Linux, pode escoller un dos seguintes\n"
-"niveis para instalar ou actualizar o seu sistema operativo Linux-Mandrake:\n"
-"\n"
-"\t* Recomendada: se nunca instalou un sistema operativo GNU/Linux, escolla\n"
-"isto. A instalacin ser moi\n"
-"\t sinxela e apenas se lle preguntarn unhas poucas cuestins.\n"
-"\n"
-"\n"
-"\t* Personalizada: se ten familiaridade dabondo con GNU/Linux, pode escoller "
-"o uso principal (estacin de traballo,\n"
-"\t servidor, desenvolvemento) do seu sistema. Ter que responder a mis "
-"cuestins que na clase de instalacin\n"
-"\t \"Recomendada\", polo que necesitar saber como funciona GNU/Linux para "
-"escoller esta opcin.\n"
-"\n"
-"\n"
-"\t* Experto: se ten un bo coecemento de GNU/Linux, pode escoller esta clase "
-"de instalacin. Do mesmo xeito que en\n"
-"\t \"Personalizada\", poder escoller o uso principal (estacin de "
-"traballo, servidor, desenvolvemento). Tea\n"
-"\t moito coidado escoller este nivel. Vaille permitir facer unha "
-"instalacin altamente personalizada.\n"
-"\t Responder algunhas cuestins pode ser moi difcil se non ten un bo "
-"coecemento de GNU/Linux. Polo tanto, non\n"
-"\t escolla esta clase de instalacin a menos que saiba o que est a facer."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Seleccione:\n"
-"\n"
-" - Personalizada: Se xa est familiarizado con GNU/Linux, pode entn "
-"escoller\n"
-" o uso principal da sa mquina. Mire embaixo para os detalles.\n"
-"\n"
-"\n"
-" - Experto: Isto supn que vostede manexa ben GNU/Linux e quere facer\n"
-" unha instalacin altamente personalizada. Do mesmo xeito que coa\n"
-" clase de instalacin \"Personalizada\", poder escoller o uso do seu\n"
-" sistema. Pero, por favor, NON ESCOLLA ISTO A MENOS QUE SAIBA O QUE\n"
-" EST A FACER!"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Agora ten que definir o uso da sa mquina. As escollas son:\n"
-"\n"
-"\t* Estacin de traballo: esta a escolla ideal se pretende usar a sa "
-"mquina principalmente para o uso cotin,\n"
-"\t na oficina ou na casa.\n"
-"\n"
-"\n"
-"\t* Desenvolvemento: se pretende usar a sa mquina principalmente para o "
-"desenvolvemento de software, esta unha boa escolla.\n"
-"\t Ter unha completa coleccin de software instalado para compilar, "
-"depurar e formatar cdigo fonte, ou\n"
-"\t para crear paquetes de software.\n"
-"\n"
-"\n"
-"\t* Servidor: se pretende usar esta mquina coma servidor, a escolla "
-"correcta. Sexa un servidor de ficheiros (NFS\n"
-"\t ou SMB), un servidor de impresin (estilo Unix ou Microsoft Windows), un "
-"servidor de autenticacin (NIS), un servidor\n"
-"\t de bases de datos, etc... Como tal, non espere que haxa cousas como KDE, "
-"GNOME, etc. instaladas."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Neste punto, ten que escoller onde quere instalar o sistema operativo\n"
-"Linux-Mandrake no disco duro. Se est baleiro, ou se hai outro sistema\n"
-"ocupando todo o espacio dispoible, ter que particionalo. Basicamente,\n"
-"particionar un disco duro consiste en dividilo loxicamente para crear o\n"
-"espacio para instalar o seu novo sistema Linux-Mandrake.\n"
-"\n"
-"\n"
-"Como os efectos do proceso de particionamento son normalmente "
-"irreversibles,\n"
-"o particionamento pode intimidar e resultar estresante para un usuario\n"
-"non experimentado.\n"
-"Este axudante simplifica o proceso. Antes de continuar, consulte o\n"
-"manual e tome o seu tempo.\n"
-"\n"
-"\n"
-"Necesita polo menos das particins. Unha para o propio sistema operativo\n"
-"e a outra para a memoria virtual (tamn chamada Intercambio ou Swap).\n"
-"\n"
-"\n"
-"Se as particins xa foron definidas (nunha instalacin previa ou con outra\n"
-"ferramenta de particionamento), simplemente ter que escoller cales delas\n"
-"usar no seu sistema Linux.\n"
-"\n"
-"\n"
-"Se as particins anda non foron definidas, ter que crealas. Para facelo,\n"
-"use o axudante dispoible enriba. Dependendo da configuracin do seu disco\n"
-"duro, hai varias solucins dispoibles:\n"
-"\n"
-"\t* Usar a particin existente: o axudante detectou unha ou mis particins "
-"de Linux existentes no seu disco duro. Se\n"
-"\t quere mantelas, escolla esta opcin.\n"
-"\n"
-"\n"
-"\t* Borrar o disco completo: Se quere borrar tdolos datos e tdalas "
-"particins existentes no disco duro e substitulas\n"
-"\t polo seu novo sistema Linux-Mandrake, pode escoller esta opcin. Tea "
-"coidado con esta solucin, xa que non poder\n"
-"\t reverter o proceso despois de confirmar.\n"
-"\n"
-"\n"
-"\t* Usar o espacio libre na particin de Windows: se Microsoft Windows est "
-"instalado no seu disco duro e ocupa todo o espacio\n"
-"\t dispoible, ten que crear espacio libre para o Linux. Para facelo, pode "
-"borrar a particin de\n"
-"\t Microsoft Windows e os datos (mire \"Borrar o disco completo\" ou as "
-"solucins do \"Modo experto\"), ou redimensionar\n"
-"\t a particin de Microsoft Windows. O redimensionamento pdese realizar "
-"sen perda de datos. Esta solucin \n"
-"\t a recomendada se quere usar Linux-Mandrake e Microsoft Windows no mesmo "
-"ordenador.\n"
-"\n"
-"\n"
-"\t Antes de escoller esta solucin, advirta que o tamao da sa particin "
-"de Microsoft Windows\n"
-"\t ser mis pequeno do que agora. Isto significa que ter menos espacio "
-"libre en Microsoft Windows para\n"
-"\t almacenar os seus datos ou instalar novo software.\n"
-"\n"
-"\n"
-"\t* Modo experto: se quere particionar manualmente o seu disco duro, pode "
-"escoller esta opcin. Tea coidado\n"
-"\t escoller esta solucin. potente pero moi perigosa. Pode perder os "
-"seus datos moi facilmente. Polo tanto,\n"
-"\t non a escolla a menos que saiba o que est a facer."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Por favor, sexa paciente. Esta operacin pode levar varios minutos."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-#, fuzzy
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Agora pode selecciona-lo grupo de paquetes que desexa instalar\n"
-"ou actualizar.\n"
-"\n"
-"DrakX comprobar se ten espacio dabondo para instalalos todos. Se non,\n"
-"avisaralle diso. Se quere seguir anda as, proceder coa instalacin\n"
-"de tdolos grupos seleccionados, pero deixar algn de menor interese.\n"
-" final da lista pode marca-la opcin \"Seleccin individual de paquetes\";\n"
-"neste caso ter que percorrer mis de 1000 paquetes..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Se ten tdolos CDs da lista superior, prema Aceptar. Se non ten\n"
-"ningn deses CDs, prema Cancelar. Se s faltan algns dos CDs,\n"
-"desmrqueos, e prema Aceptar."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Seleccione o porto correcto. Por exemplo, o porto\n"
-"COM1 en MS Windows chmase ttyS0 en GNU/Linux."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Acenda o seu mdem e escolla o correcto."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Vostede pode agora introduci-las opcins de chamada. Se non est seguro de\n"
-"que escribir, a informacin correcta pode obtela do seu ISP."
-
-#: ../../help.pm_.c:431
-#, fuzzy
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Introduza:\n"
-"\n"
-" - Direccin IP: se non a coece, pregntelle seu administrador de rede\n"
-"ou ISP.\n"
-"\n"
-"\n"
-" - Mscara de Rede: \"255.255.255.0\" normalmente unha boa eleccin. Se\n"
-"non est seguro, pregunte seu administrador de rede ou ISP.\n"
-"\n"
-"\n"
-" - IP automtica: Se a sa rede usa o protocolo bootp ou dhcp, escolla\n"
-"esta opcin. Neste caso, non necesario ningn valor en \"Direccin IP\".\n"
-"Se non est seguro, pregunte seu administrador de rede ou ISP.\n"
-
-#: ../../help.pm_.c:443
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Se a sa rede usa NIS, escolla \"Usar NIS\". Se non o sabe, pregntelle \n"
-"seu administrador de rede."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Agora pode introducir as opcins de marcado. Se non est seguro do\n"
-"que escribir, a informacin correcta pode obtela do seu ISP."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Se vai usar proxys, configreos agora. Se non sabe se vai usar proxys,\n"
-"pregunte seu administrador de rede ou seu ISP."
-
-#: ../../help.pm_.c:459
-#, fuzzy
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Pode instalar paquetes de criptografa se xa configurou a sa conexin a\n"
-"internet correctamente. Primeiro escolla un espello do que quere baixa-los\n"
-"paquetes, e entn escolla os paquetes que desexa instalar.\n"
-"\n"
-"Perctese de que ten que escolle-lo espello e os paquetes criptogrficos\n"
-"de acordo coa sa lexislacin."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Agora pode seleccionar a zona horaria dependendo do lugar onde viva."
-
-#: ../../help.pm_.c:471
-#, fuzzy
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"Agora pode escolle-la sa zona horaria dependendo de onde viva.\n"
-"\n"
-"\n"
-"Linux xestiona a hora en GMT ou \"Hora do Meridiano de Greenwich\", e a\n"
-"traslada hora local dependendo da zona que vostede escolla."
-
-#: ../../help.pm_.c:479
-#, fuzzy
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Agora poder escoller que servicios quere que sexan arrincados inicio.\n"
-"Cando o seu rato pasa por riba dun elemento, unha pequena axuda aparecer\n"
-"describindo o cometido do servicio.\n"
-"\n"
-"Sexa especialmente coidadoso neste paso se pretende utiliza-la sa mquina\n"
-"coma un servidor: probablemente non querer iniciar servicios que non "
-"precisa."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-#, fuzzy
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Agora pode introduci-lo contrasinal do superusuario para o seu sistema\n"
-"Linux Mandrake. O contrasinal deber ser tecleado das veces para\n"
-"comprobar que mbolos dous son idnticos.\n"
-"\n"
-"\n"
-"O superusuario (root) o administrador do sistema, e o nico usuario\n"
-" que se lle permete modifica-la configuracin do sistema. Por tanto,\n"
-"escolla o contrasinal con coidado! O uso non autorizado da conta de root\n"
-"pode ser extremadamente perigoso para a integridade do sistema e os seus\n"
-"datos, e para os outros sistemas conectados a el. O contrasinal debera\n"
-"ser unha mestura de caracteres alfanumricos e de 8 caracteres de longo,\n"
-"polo menos. NUNCA debe ser anotado. Non escolla un contrasinal longo\n"
-"de mis ou complicado: ten que ser capaz de lembralo sen moito esforzo."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Para ter un sistema mis seguro, debera seleccionar \"Usar ficheiro shadow"
-"\"\n"
-"e \"Usar contrasinais MD5\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Se a sa rede usa NIS, escolla \"Usar NIS\". Se non o sabe, pregntelle \n"
-"seu administrador de rede."
-
-# Non realmente fuzzy, s para revisala. :)
-#: ../../help.pm_.c:617
-#, fuzzy
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Pode agora crear unha ou varias contas de usuarios normais, como\n"
-"contraposicin conta de usuario privilexiado, root. Vostede\n"
-"pode crear unha ou mis contas para cada persoa que vostede queira\n"
-"permitirlle o uso do ordenador. Note que cada conta de usuario ter\n"
-"as sas preferencias (ambiente grfico, configuracin dos programas, etc.)\n"
-"e o seu propio directorio (chamado \"home\"), no que se almacenan esas\n"
-"preferencias.\n"
-"\n"
-"\n"
-"Antes que nada, cree unha conta para vostede mesmo! Anda se a nica\n"
-"persoa que vai usa-la mquina, NON debe entrar como root para o uso\n"
-"diario do sistema: un risco de seguridade elevado. Facer que o\n"
-"sistema fique totalmente inoperante, pode ser moitas veces causa dun\n"
-"simple erro teclear.\n"
-"\n"
-"\n"
-"Polo tanto, debe entrar no sistema usando a conta de usuario normal que\n"
-"vai crear aqu, e entrar como root s para as tarefas de administracin\n"
-"que o precisen."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-#, fuzzy
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Debe indicar onde desexa poer a informacin\n"
-"necesaria para arrincar Linux.\n"
-"\n"
-"\n"
-"A menos que sepa exactamente o que fai, elixa sempre\n"
-"\"Primeiro sector do disco (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"A menos que vostede saiba que outra especificamente, a escolla habitual \n"
-"\"/dev/hda\" (a unidade mestra da canle primaria) ou \"/dev/sda\" (primeiro\n"
-"disco SCSI)."
-
-#: ../../help.pm_.c:653
-#, fuzzy
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (O LInux LOader) e Grub son cargadores de arrinque: poden arrincar\n"
-"Linux ou outro sistema operativo presente no seu ordenador.\n"
-"Normalmente, estes outros sitemas son detectados correctamente e "
-"instalados.\n"
-"Se non o caso, pode engadir unha entrada a man nesta pantalla. Sexa\n"
-"coidadoso na escolla dos parmetros correctos.\n"
-"\n"
-"\n"
-"Tamn pode non querer dar acceso a eses outros sitemas operativos a "
-"calquera,\n"
-"poidendo borrar as entradas correspondentes. Pero neste caso, precisar\n"
-"un disquete de arrinque para poder usalos."
-
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"As opcins principais do LILO e do grub son:\n"
-" - Dispositivo de arrinque: Establece o nome do dispositivo (p.ex unha\n"
-"particin dun disco duro) que contn o sector de arrinque. A menos que\n"
-"saiba especficamente que outro, escolla \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Retardo antes de arrinca-la imaxe por omisin: Indica o nmero de\n"
-"dcimas de segundo que agardar o cargador de inicio antes de arrincar a\n"
-"primeira imaxe. Isto til nos sistemas que arrincan inmediatamente do\n"
-"disco duro tras activa-lo teclado. O boot loader non agarda se o \"retardo"
-"\"\n"
-" cero ou non se indica.\n"
-"\n"
-"\n"
-" - Modo de vdeo: Indica o modo de texto VGA que ser utilizado \n"
-"arrincar. Os seguintes valores estn dispoibles:\n"
-" * normal: escoller modo de texto normal 80x25.\n"
-" * <nmero>: usa-lo modo de texto correspondente."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-#, fuzzy
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (O LInux LOader) e Grub son cargadores de arrinque: poden arrincar\n"
-"Linux ou outro sistema operativo presente no seu ordenador.\n"
-"Normalmente, estes outros sitemas son detectados correctamente e "
-"instalados.\n"
-"Se non o caso, pode engadir unha entrada a man nesta pantalla. Sexa\n"
-"coidadoso na escolla dos parmetros correctos.\n"
-"\n"
-"\n"
-"Tamn pode non querer dar acceso a eses outros sitemas operativos a "
-"calquera,\n"
-"poidendo borrar as entradas correspondentes. Pero neste caso, precisar\n"
-"un disquete de arrinque para poder usalos."
-
-#: ../../help.pm_.c:805
-#, fuzzy
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"As opcins principais do LILO e do grub son:\n"
-" - Dispositivo de arrinque: Establece o nome do dispositivo (p.ex unha\n"
-"particin dun disco duro) que contn o sector de arrinque. A menos que\n"
-"saiba especficamente que outro, escolla \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Retardo antes de arrinca-la imaxe por omisin: Indica o nmero de\n"
-"dcimas de segundo que agardar o cargador de inicio antes de arrincar a\n"
-"primeira imaxe. Isto til nos sistemas que arrincan inmediatamente do\n"
-"disco duro tras activa-lo teclado. O boot loader non agarda se o \"retardo"
-"\"\n"
-" cero ou non se indica.\n"
-"\n"
-"\n"
-" - Modo de vdeo: Indica o modo de texto VGA que ser utilizado \n"
-"arrincar. Os seguintes valores estn dispoibles:\n"
-" * normal: escoller modo de texto normal 80x25.\n"
-" * <nmero>: usa-lo modo de texto correspondente."
-
-#: ../../help.pm_.c:818
-#, fuzzy
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Agora o momento de configura-lo sistema de fiestras X, que \n"
-"o centro da interface grfica de Linux. Para iso necesita configura-\n"
-"-la sa tarxeta de vdeo e o seu monitor. A maiora deses pasos estn\n"
-"automatizados, as que probablemente a sa tarea limitarase a verificar\n"
-"o que se fixo e aceptar a configuracin proposta :-)\n"
-"\n"
-"\n"
-"Cando a configuracin estea rematada, lanzarase o servidor X\n"
-"(a menos que vostede lle pida a DrakX que non), de xeito que\n"
-"poida comprobar se todo est ben e corresponde que desexa.\n"
-"Se non, pode voltar atrs e troca-la configuracin; tantas\n"
-"veces como sexa necesario."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Se algo vai mal coa configuracin de X, use estas opcins para configurar\n"
-"correctamente o sistema X Window."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Se prefire usar un login grfico, escolla \"Si\". Doutro xeito,\n"
-"seleccione \"Non\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"O sistema vaise reiniciar.\n"
-"\n"
-"Despois de reiniciar, o seu novo sistema Linux Mandrake cargarase\n"
-"automaticamente. Se vostede quere iniciar outro sistema operativo que xa\n"
-"exista, lea as instruccins adicionais."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Escoller a lingua"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Clase de instalacin"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Detectar discos duros"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Configurar o rato"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Escoller teclado"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Sistemas de ficheiros"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formatar particins"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Seleccionar paquetes"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Instalar sistema"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Contrasinal de root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Engadir usuario"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Configurar a rede"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Resume"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Configurar servicios"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Crear disquete de arrinque"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Cargador de arrinque"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Configurar as X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Sar da instalacin"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Insira un disquete formatado con FAT na unidade %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Para usar esta seleccin de paquetes gardada, arrinque a instalacin con "
-"``linux defcfg=floppy''"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Erro lendo o ficheiro $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Aceptar"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Probe o seu rato"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Para activar o rato,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "MOVA A RODA!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Algn hardware do seu ordenador necesita controladores ``propietarios''\n"
-"para funcionar. Pode atopar mis informacin sobre eles en: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Ten que ter unha particin raz.\n"
-"Para iso, faga unha particin (ou prema nunha que xa exista).\n"
-"Entn escolla a accin ``Punto de montaxe'', e ascieo a `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Debe ter unha particin de intercambio"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Non dispn de particin de intercambio\n"
-"\n"
-"Desexa continuar de calquera xeito?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Usar espacio libre"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Non hai espacio libre dabondo para asignar novas particins"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Usar particin existente"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Non hai ningunha particin existente para usar"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Usar a particin de Windows para loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Que particin desexa usar para Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Escolla os tamaos"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Tamao da particin raz en MB: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Tamao da particin de intercambio en MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Usar o espacio libre da particin de Windows"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Que particin desexa redimensionar?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Calculando os lmites do sistema de ficheiros de Windows"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"O redimensionador de FAT non capaz de manexar a sa particin,\n"
-"ocorreu o seguinte erro: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"A particin de Windows est demasiado fragmentada, execute primeiro o "
-"``defrag''"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"AVISO!\n"
-"\n"
-"O DrakX vai agora redimensionar a particin de Windows. Tea coidado:\n"
-"esta operacin perigosa. Se anda non o fixo, debera executar primeiro\n"
-"o scandisk no Windows (e opcionalmente o defrag), e reiniciar a "
-"instalacin.\n"
-"Tamn aconsellable facer unha copia de seguridade dos seus datos.\n"
-"Cando estea seguro, prema Aceptar."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Que tamao desexa manter para o Windows en"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "particin %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "O redimensionamento da FAT fallou: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Non hai particins FAT para redimensionar ou para usar como loopback (ou non "
-"hai espacio libre dabondo)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Borrar o disco completo"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Borrar Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-"Ten mis dunha unidade de disco duro, en cal delas desexa instalar linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr ""
-"Perderanse TODAS as particins existentes e os seus datos na unidade %s"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Particionamento de disco personalizado"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Usar fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Pode agora particionar %s.\n"
-"Cando remate, non esqueza gravar usando `w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Non ten espacio libre dabondo na particin de Windows"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Non se pode atopar espacio para a instalacin"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "O axudante de particionamento do DrakX atopou as seguintes solucins:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "O particionamento fallou: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Activando a rede"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Desactivando a rede"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Ocorreu un erro, e o programa non sabe como manexalo de\n"
-"maneira limpa. Contine seu propio risco."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Punto de montaxe %s duplicado"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Algns paquetes importantes non se instalaron correctamente.\n"
-"A unidade de cdrom ou o cdrom estn defectuosos.\n"
-"Comprobe o cdrom nun ordenador xa instalado usando \"rpm -qpl Mandrake/RPMS/"
-"*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Benvido a %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Ningunha disqueteira dispoible"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Entrando na etapa '%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Escolla o tamao que quere instalar"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Tamao total: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Versin: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Tamao: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Escolla os paquetes que desexa instalar"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Instalar"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Instalando"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Agarde, por favor, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Tempo restante "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Tempo total "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Preparando a instalacin"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Instalando o paquete %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Seguir adiante?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Houbo un erro ordenar os paquetes:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Usar a configuracin existente para X11?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"O seu sistema ten poucos recursos. Pode que tea algn problema\n"
-"instalando Linux-Mandrake. Se iso acontece, pode tentar unha instalacin\n"
-"en modo texto. Para iso, prema 'F1' cando arrinque o CDROM, e escriba\n"
-"'text'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Escolla unha das seguintes clases de instalacin:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "O tamao total dos grupos que seleccionou aproximadamente %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Se quere instalar menos deste tamao,\n"
-"seleccione a porcentaxe de paquetes que desexe.\n"
-"\n"
-"Unha porcentaxe baixa instalar s os paquetes mis importantes;\n"
-"unha porcentaxe dun 100%% instalar tdolos paquetes seleccionados."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Ten espacio no seu disco para unicamente o %d%% destes paquetes.\n"
-"\n"
-"Se desexa instalar menos ca isto,\n"
-"seleccione a porcentaxe de paquetes que quere instalar.\n"
-"Unha porcentaxe baixa instalar s os paquetes mis importantes;\n"
-"unha porcentaxe de %d%% instalar tdolos paquetes posibles."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Vostede poder escollelos mis especificamente na seguinte etapa."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Porcentaxe de paquetes a instalar"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Seleccin dos grupos de paquetes"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Seleccin individual de paquetes"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Expandir rbore"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Pechar rbore"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Mudar entre lista completa e ordenada por grupos"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Paquete errneo"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nome: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Importancia: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Tamao total: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Non pode seleccionar este paquete xa que non hai espacio dabondo para "
-"instalalo"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Vanse instalar os seguintes paquetes"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Vanse eliminar os seguintes paquetes"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Non pode seleccionar/deseleccionar este paquete"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Este un paquete obrigatorio, non se pode deseleccionar"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Non pode deseleccionar este paquete. Xa est instalado"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Este paquete ten que ser actualizado\n"
-"Est seguro de que quere deseleccionalo?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Non pode deseleccionar este paquete. Ten que ser actualizado"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Estimando"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Por favor, agarde, preparando a instalacin"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d paquetes"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Aceptar"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Rexeitar"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Mude o Cd-Rom!\n"
-"\n"
-"Por favor, insira o Cd-Rom etiquetado \"%s\" na unidade e prema Aceptar. Se "
-"non o ten, prema Cancelar para omitir a instalacin deste Cd-Rom."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Houbo un erro instalar os paquetes:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Ocorreu un erro"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Escolla a lingua que desexe usar."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "Pode escoller outras linguas que estarn dispoibles trala instalacin"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Todas"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Acordo da licencia"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Teclado"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Escolla a disposicin do seu teclado."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Esta a lista completa de teclados dispoibles"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Clase de instalacin"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Qu clase de instalacin desexa?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Instalar/Actualizar"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr " isto unha instalacin ou unha actualizacin?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Recomendada"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Experto"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Actualizacin"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Escolla o seu tipo de rato."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Porto do rato"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Escolla o porto serie onde est conectado o seu rato."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Configurando tarxetas PCMCIA..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Configurando o IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "ningunha particin dispoible"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Examinando as particins para atopar os puntos de montaxe"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Seleccione os puntos de montaxe"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Non se pode ler a tboa de particins, est demasiado deteriorada :(\n"
-"Pdese probar baleirando as particins errneas (Perderanse TODOS os "
-"datos!).\n"
-"A outra solucin impedir que o DrakX modifique a tboa de particins.\n"
-"(o erro %s)\n"
-"\n"
-"Concorda coa perda de tdalas particins?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"O DiskDrake non puido ler correctamente a tboa de particins.\n"
-"Contine seu propio risco!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Particin raz"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Cal a particin raz (/) do seu sistema?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"Necesita reiniciar o equipo para que a modificacin da tboa\n"
-"de particins se tome en conta"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Elixa as particins que desexa formatar"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Comprobar os bloques errneos?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Formatando as particins"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Creando e formatando o ficheiro %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr ""
-"Non hai espacio de intercambio dabondo para finalizar a instalacin,\n"
-"por favor, engada algn"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Buscando os paquetes dispoibles"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Atopando os paquetes para actualizar"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"O seu sistema non ten espacio libre dabondo para a instalacin ou "
-"actualizacin (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Completo (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Mnimo (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Recomendado (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Personalizado"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Se ten tdolos CDs na lista inferior, prema Aceptar.\n"
-"Se non ten ningn deses CDs, prema Cancelar.\n"
-"Se s faltan algns dos CDs, desmrqueos, e prema Aceptar."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom etiquetado \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Instalando o paquete %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Configuracin trala instalacin"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Vostede ter agora a posibilidade baixar programas de criptografa.\n"
-"\n"
-"AVISO:\n"
-"\n"
-"Por mor de requirimentos xerais aplicables a estes programas, e impostos\n"
-"por varias xurisdiccins, o cliente e/ou o usuario final destes programas "
-"ten\n"
-"que se asegurar de que as leis da sa xurisdiccin lle permiten baixar,\n"
-"almacenar e/ou usar estes programas.\n"
-"\n"
-"Ademais, o cliente e/ou o usuario final ten que ter especial coidado en non\n"
-"infrinxi-las leis da sa xurisdiccin. Se o cliente e/ou o usuario final "
-"non\n"
-"respeta estas leis aplicables, incorrer en sancins graves.\n"
-"\n"
-"De ningn xeito Mandrakesoft nin os seus fabricantes e/ou provedores sern\n"
-"responsables de danos especiais, indirectos ou incidentais, sexan o que "
-"foren\n"
-"(incluindo, pero non limitando a, perda de beneficios, interrupcin dos\n"
-"negocios, perda de datos comerciais e outras perdas pecuniarias, e nas\n"
-"eventuais responsabilidades e indemnizacins a seren pagadas por decisin\n"
-"dun tribunal) procedentes do uso, posesin, ou simplemente o feito de "
-"baixar\n"
-"este software, cal o cliente e/ou o usuario final tivese eventualmente\n"
-"acceso despois de asinar este acordo.\n"
-"\n"
-"Para calquera pregunta acerca de este acordo, por favor pase en contacto "
-"con\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Escoller un espello do que coller os paquetes"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Contactando co espello para obter a lista dos paquetes dispoibles"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Escolla os paquetes que desexa instalar."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Cal a sa zona horaria?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "O reloxo interno do seu ordenador usa a hora GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Servidor CUPS remoto"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Sen impresora"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Rato"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Zona horaria"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Impresora"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "Tarxeta RDSI"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Tarxeta de son"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "Tarxeta de TV"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Que sistema de impresin desexa usar?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Sen contrasinal"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"Este contrasinal demasiado simple (ten que ter polo menos %d caracteres)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Usar NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "pxinas amarelas (yp)"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Autenticacin NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "Dominio NIS"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "Servidor NIS"
-
-#: ../../install_steps_interactive.pm_.c:951
-#, fuzzy
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Un disco de arrinque personalizado dlle a posibilidade de arrincar o seu\n"
-"equipo baixo Linux sen depender do cargador de arrinque normal. Isto pode "
-"ser\n"
-"til se non desexa instalar LILO (ou grub) no seu sistema, ou se outro "
-"sistema\n"
-"operativo o borra ou se LILO non funciona coa configuracin do seu equipo.\n"
-"Un disco de arrinque personalizado tamn pode ser usado coa imaxe de "
-"rescate\n"
-"de Mandrake, facendo as moito mis fcil a recuperacin no caso de fallo\n"
-"grave do sistema. Desexa crear un disco de arrinque para o seu sistema?"
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Primeira unidade de disquete"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Segunda unidade de disquete"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Omitir"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Un disco de arrinque personalizado dlle a posibilidade de arrincar o seu\n"
-"equipo baixo Linux sen depender do cargador de arrinque normal. Isto pode "
-"ser\n"
-"til se non desexa instalar LILO (ou grub) no seu sistema, ou se outro "
-"sistema\n"
-"operativo o borra ou se LILO non funciona coa configuracin do seu equipo.\n"
-"Un disco de arrinque personalizado tamn pode ser usado coa imaxe de "
-"rescate\n"
-"de Mandrake, facendo as moito mis fcil a recuperacin no caso de fallo\n"
-"grave do sistema. Desexa crear un disco de arrinque para o seu sistema?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Desculpe, pero non hai ningunha disqueteira dispoible"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Escolla a disqueteira que quere usar para crear o disco de arranque"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Insira un disquete na unidade %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Creando o disco de arrinque"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Preparando o cargador de arrinque"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Desexa usar aboot?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Erro instalando aboot, \n"
-"probar a forzar a instalacin mesmo se iso destre a primeira particin?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "A instalacin do xestor de arrinque fallou. Ocorreu o seguinte erro:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Baixo"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Medio"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Alto"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Escola o nivel de seguridade"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "Quere realmente xerar un disquete de instalacin para replicar linux?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Insira un disquete baleiro na unidade %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Creando un disquete de auto-instalacin"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Algunhas das etapas non foron completadas.\n"
-"\n"
-"Desexa realmente sar agora?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Noraboa, a instalacin rematou.\n"
-"Quite o disco de arrinque da unidade e prema [enter] para reiniciar.\n"
-"\n"
-"Para informacin sobre parches dispoibles para esta versin\n"
-"de Linux Mandrake, consulte o ficheiro de erratas dispoibles en\n"
-"http://www.linux-mandrake.com.\n"
-"\n"
-"Para informacin sobre a configuracin do seu sistema, despois\n"
-"da instalacin, hai un captulo na Gua do Usuario Oficial\n"
-"de Linux Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Xerar disquete de auto-instalacin"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"A auto-instalacin pode ser moi automatizada se as\n"
-"se desexa, nese caso adquirir o control do disco duro\n"
-"(isto vale para a instalacin noutro equipo).\n"
-"\n"
-"Pode preferir realizar novamente a instalacin.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automatizada"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Reproducir"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Gardar a seleccin de paquetes"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Instalacin de Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> entre elementos | <Space> escoller | <F12> seguinte "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "falla o kdesu"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Avanzado"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Agarde, por favor"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Ambigidade (%s), sexa mis preciso\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Eleccin incorrecta, tente de novo\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (por omisin %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "A sa escolla? (por omisin %s)"
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "A sa escolla? (por omisin %s, escriba 'none' para ningunha)"
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Checo (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Alemn"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Teclado dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Espaol"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finlands"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Francs"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Noruegus"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polaco"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Ruso"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Britnico"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Estadounidense"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armenio (antigo)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armenio (mquina de escribir)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armenio (fontico)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaian (latn)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbaian (cirlico)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belga"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Blgaro"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasileiro (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Bielorruso"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Suzo (alemn)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Suzo (francs)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Checo (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Checo (Programadores)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Alemn (sen teclas acentuadas)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Dinamarqus"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (EUA)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Noruegus)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estonio"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Xeorxiano (\"ruso\")"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Xeorxiano (\"latino\")"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Grego"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hngaro"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Croata"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Israel"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Israel (Fontico)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iraniano"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islands"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Italiano"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Xapons de 106 teclas"
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr "Britnico"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latinoamericano"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Macedonio"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Holands"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lituano AZERTY (antigo)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lituano AZERTY (novo)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lituano \"ringleira de nmeros\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lituano \"fontico\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polaco (disposicin qwerty)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polaco (disposicin qwertz)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugus"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Canadiano (Qubec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Ruso (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Sueco"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Esloveno"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Eslovaco (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Eslovaco (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Eslovaco (Programadores)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Teclado Thai"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turco (tradicional modelo \"F\")"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turco (moderno modelo \"Q\")"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ucrano"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Estadounidense (internacional)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnamita \"ringleira de nmeros\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Iugoslavo (latn/cirlico)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Quitar primeiro os volumes lxicos\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Rato Sun"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Estndar"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Rato de roda PS2 xenrico"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 botn"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Xenrico"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Roda"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "serie"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Rato de 2 botns xenrico"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Rato de 3 botns xenrico"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Rato Logitech (serie, antigo tipo C7)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "busmouse"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 botns"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 botns"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "ningn"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Ningn rato"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Finalizar"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Seguinte ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Anterior"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr " isto correcto?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Configuracin de Internet"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Quere probar agora a conexin Internet?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Probando a conexin..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "O sistema est conectado Internet."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Semella que o sistema non est conectado internet.\n"
-"Probe reconfigurando a conexin."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Configuracin da rede"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "Configuracin da RDSI"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Seleccione o seu provedor.\n"
-" Se non est na lista, escolla 'Unlisted'"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Configuracin da conexin"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Encha ou marque os campos de embaixo"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ da tarxeta"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Memoria da tarxeta (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "E/S da tarxeta"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "E/S_0 da tarxeta"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "E/S_1 da tarxeta"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "O seu nmero de telfono persoal"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Nome do provedor (p.ex provider.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Nmero de telfono do provedor"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Dns 1 do provedor"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Dns 2 do provedor"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Modo de marcacin"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Login da conta (nome de usuario)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Contrasinal da conta"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Resto do mundo"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Resto do mundo \n"
-" sen canle-D (lias dedicadas)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Qu protocolo desexa usar?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Qu tipo de tarxeta ten?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Non sei"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Se ten unha tarxeta ISA, os valores na seguinte pantalla deberan ser os "
-"correctos.\n"
-"\n"
-"Se ten unha tarxeta PCMCIA, ten que coecer a irq e a e/s da tarxeta.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Abortar"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Continuar"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Cal a sua tarxeta RDSI?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Detectouse unha Tarxeta RDSI PCI, pero se descoece o tipo. Seleccione unha "
-"tarxeta PCI na seguinte pantalla."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Non se atopou ningunha tarxeta RDSI PCI. Seleccione unha na prxima pantalla."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Non se detectou ningn adaptador de rede ethernet no seu sistema.\n"
-"Non se pode configurar este tipo de conexin."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Escolla a interface de rede"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr "Escolla o adaptador de rede que desexa usar para conectar Internet"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Interface de rede"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Concorda?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Est a piques de se reiniciar o dispositivo de rede:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "Configuracin de ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Desexa que a conexin se inicie arrincar?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Escolla o porto serie onde est conectado o seu mdem."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Opcins de chamada"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Nome da conexin"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Nmero de telfono"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "ID do login"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Autenticacin"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Baseado nun script"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Baseado nun terminal"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Nome de dominio"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Primeiro Servidor DNS (opcional)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Segundo Servidor DNS (opcional)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-"Est a piques de se reiniciar o dispositivo de rede $netc->{NET_DEVICE}. "
-"Concorda?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Pode desconectar ou reconfigurar a sa conexin."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Pode reconfigurar a sa conexin."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Est neste intre conectado internet."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Pode conectar Internet ou reconfigurar a sa conexin."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Non est neste intre conectado Internet."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Conectar Internet"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Desconectar de Internet"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Configurar a conexin de rede (LAN ou Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Conexin e configuracin de Internet"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Axudante da configuracin de rede"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Mdem RDSI externo"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Tarxeta RDSI interna"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Que tipo de conexin RDSI ten?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Conectar Internet"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"O xeito mis habitual de conectar con adsl con pppoe.\n"
-"Algunhas conexins usan pptp, e algunhas usan dhcp.\n"
-"Se non o sabe con certeza, escolla 'usar pppoe'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "usar dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "usar pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "usar pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Est a piques de se reiniciar o dispositivo de rede %s. Concorda?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Que cliente dhcp desexa usar?\n"
-"Por omisin o dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Configuracin da rede"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Desexa reiniciar a rede?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Desexa reiniciar a rede?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Como est a facer unha instalacin de rede, esta xa est configurada.\n"
-"Prema Aceptar para manter a configuracin, ou Cancelar para reconfigurar a "
-"conexin de rede e Internet.\n"
-
-#: ../../netconnect.pm_.c:962
-#, fuzzy
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Conexin Internet\n"
-"\n"
-"Vaise configurar a sa conexin internet/rede.\n"
-"Se non quere usar a deteccin automtica, desmarque a caixa.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Escolla o perfil para configurar"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Usar deteccin automtica"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Detectando os dispositivos..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Conexin normal por mdem"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "detectado no porto %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "conexin por RDSI"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "detectouse %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "Conexin DSL (ou ADSL)"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "detectouse na interface %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Conexin por cable"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "Conexin LAN"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "tarxeta(s) ethernet detectada(s)"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Como quere conectar Internet?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Noraboa. A configuracin da rede e de internet est rematada.\n"
-"\n"
-"Agora vai ser aplicada seu sistema."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Tras facer iso, aconsllase reiniciar o sistema X para\n"
-"evitar os problemas de mudar o nome de mquina."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "non se atopou ningunha tarxeta de rede"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Configurando a rede"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Introduza o nome da sa mquina se o coece.\n"
-"Algns servidores DHCP precisan o nome da mquina para funcionar.\n"
-"Este nome debe ser completamente cualificado,\n"
-"como ``miamaquina.meulab.miacomp.es''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Nome de mquina"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"AVISO: Este dispositivo foi configurado previamente para conectar "
-"Internet.\n"
-"Simplemente acepte para manter o dispositivo configurado.\n"
-"Se modifica os campos de embaixo, subsituir esta configuracin."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Introduza o enderezo IP desta mquina, por favor.\n"
-"Cada valor ten que ser introducido coma un enderezo IP en\n"
-"notacin decimal con puntos (por exemplo: 1.2.3.4)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Configurar o dispositivo de rede %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (controlador $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "Enderezo IP"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Mscara de rede"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "IP automtico"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "Os enderezos IP deben estar no formato 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Introduza o nome da sa mquina.\n"
-"Ese nome debe ser un nome completamente cualificado,\n"
-"como ``miamaquina.meulab.miacomp.es''.\n"
-"Pode tamn introducir o enderezo IP da pasarela se usa unha"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "Servidor DNS"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Pasarela"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Dispositivo de pasarela"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Configuracin dos proxys"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "Proxy HTTP"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "Proxy FTP"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "O proxy debera ser http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "O proxy debera ser ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "As particins estendidas non estn soportadas nesta plataforma"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Ten un burato na tboa de particins, pero non se pode usar.\n"
-"A nica solucin desprazar as particins primarias para que\n"
-"o burato est despois das particins estendidas"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Erro lendo o ficheiro %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Fallou a restauracin a partir do ficheiro %s: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Ficheiro de backup incorrecto"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Erro escribindo ficheiro %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Est a acontecer algo grave coa sa unidade.\n"
-"A proba para verificar a integridade dos datos fallou.\n"
-"Isto significa que calquera escritura no disco producir lixo aleatorio"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "debe telo"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "importante"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "moi bo"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "bo"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "indiferente"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Impresora local"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Impresora remota"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Servidor lpd remoto"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Impresora de rede (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "Impresora SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "Impresora Netware"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "URI do dispositivo de impresin"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Probar portos"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Unha impresora, de modelo \"%s\", foi detectada en "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Dispositivo de impresin local"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"A que dispositivo est conectada a sa impresora?\n"
-"(advirta que /dev/lp0 equivalente a LPT1:)\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Dispositivo da impresora"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Opcins da impresora remota lpd"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Para utilizar unha fila de impresin remota lpd, necesario\n"
-"que indique o nome do servidor de impresin e o nome da fila\n"
-"nese servidor, onde se deben colocar os traballos de impresin."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Nome do servidor"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Fila de impresin remota"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Opcins de impresora SMB (Windows 9x/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Para imprimir nunha impresora SMB, necesario escribir o\n"
-"nome do servidor SMB (que non sempre o mesmo que o nome de\n"
-"mquina TCP/IP) e posiblemente o enderezo IP do servidor de\n"
-"impresoras, ademais necesario o nome do recurso compartido\n"
-"da impresora que quere usar, as como calquera nome de usuario,\n"
-"grupo de traballo ou contrasinal que for necesario."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Servidor de SMB"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP do servidor SMB"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Nome de recurso compartido"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Grupo de traballo"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Opcins de impresora NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Para imprimir nunha impresora NetWare, necesario escribir o nome\n"
-"do servidor de impresin NetWare (que non sempre o mesmo que\n"
-"o nome de mquina TCP/IP), ademais do nome da fila de impresin\n"
-"que desexa usar, as como calquera nome de usuario ou contrasinal\n"
-"que for necesario."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Servidor de impresin"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Nome da fila de impresin"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Opcins da impresora de socket"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Para imprimir nunha impresora de socket, ten que fornecer\n"
-"o nome do servidor da impresora, e opcionalmente o nmero do porto."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Servidor de impresin"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Porto"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Pode especificar directamente o URI para acceder impresora co CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Qu tipo de impresora ten?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Desexa probar a impresin?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Imprimindo pxina(s) de proba..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"A(s) pxina(s) de proba environse servidor de impresin.\n"
-"Pode que lle leve un pouco ata que a impresora comece.\n"
-"Estado da impresin:\n"
-"%s\n"
-"\n"
-"Funciona correctamente?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"A(s) pxina(s) de proba environse servidor de impresin.\n"
-"Pode que lle leve un pouco ata que a impresora comece.\n"
-"Funciona correctamente?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Si, imprimir unha pxina ASCII de proba"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Si, imprimir unha pxina PostScript de proba"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Si, imprimir ambas pxinas de proba"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Configurar a impresora"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Opcins da impresora"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Tamao do papel"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Extraer a pxina trala impresin?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Opcins do controlador Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Opcins da profundidade de cor"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Imprimir texto como PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Corrixir o efecto escaleira?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Nmero de pxinas por pxina de sada"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Marxes dereita/esquerda en puntos (1/72 dunha polgada)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Marxes superior/inferior en puntos (1/72 dunha polgada)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Opcins extra do Ghostscript"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Opcins extra para texto"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Inverter a orde das pxinas"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Desexa configurar unha impresora?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Estas son as filas de impresin.\n"
-"Pode engadir unha nova ou cambiar as que xa existen."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS iniciando"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Lendo a base de datos de controladores de CUPS..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Seleccin da conexin da impresora"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Como est conectada a impresora?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Seleccionar a conexin impresora remota"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Cun servidor CUPS remoto, non ter que configurar aqu\n"
-"ningunha impresora, xa que sern detectadas automaticamente.\n"
-"No caso de dbida, seleccione \"Servidor CUPS remoto\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Cun servidor CUPS remoto, non ter que configurar aqu\n"
-"ningunha impresora, xa que sern detectadas automaticamente,\n"
-"a menos que tea un servidor nunha rede diferente. Neste\n"
-"caso, ter que indicar o enderezo IP do servidor de CUPS\n"
-"e opcionalmente o nmero de porto."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "IP do servidor CUPS"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "O nmero de porto debe ser numrico"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Eliminar fila"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Cada impresora necesita un nome (por exemplo lp).\n"
-"Pdense definir outros parmetros como a descricin da\n"
-"impresora ou a sa localizacin. Que nome quere usar para\n"
-"esta impresora e como est conectada?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Nome da impresora"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Descricin"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Localizacin"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Cada fila de impresin ( que se dirixen os traballos de impresin)\n"
-"necesita un nome (frecuentemente lp) e un directorio spool asociado\n"
-"a el. Qu nome e directorio quere que se utilicen para esta fila e como\n"
-"est conectada a impresora?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Nome da fila"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Directorio spool"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Conexin da impresora"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Non se pode engadir unha particin RAID _formatado_ md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Non se pode escribir o ficheiro $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid fallou"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid fallou (pode que non estean as raidtools?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Non hai particins dabondo para o nivel RAID %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, un xestor de comandos peridicos."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd sase para monitorizar o estado da batera e rexistralo a travs do\n"
-"syslog. Tamn pode usarse para apagar a mquina cando a batera est baixa."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Executa os comandos programados polo comando at hora indicada cando\n"
-"se executou at, e lanza comandos de lotes cando a carga media baixa\n"
-"dabondo."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"O cron un programa estndar de UNIX que executa programas especificados\n"
-"polo usuario en datas peridicas programadas. O vixie cron engade algunhas\n"
-"caractersticas cron bsico de UNIX, incluindo mellor seguridade e\n"
-"opcins de configuracin mis potentes."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM engade soporte para o rato s aplicacins de texto de Linux, como\n"
-"o Midnight Commander. Tamn permite operacins de cortar e pegar co rato\n"
-"na consola, as como incle soporte para mens."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache un servidor de World Wide Web. sase para servir ficheiros HTML\n"
-"e CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"O daemon superservidor de internet (usualmente chamado inetd) lanza varios\n"
-"outros servicios de internet cando se precisan. o responsable de iniciar\n"
-"moitos servicios, inclundo telnet, ftp, rsh, e rlogin. Desactivando inetd\n"
-"desactvanse tdolos servicios de internet dos que responsable."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Este paquete carga o mapa de teclado seleccionado en /etc/sysconfig/"
-"keyboard.\n"
-"Este pode escollerse usando a utilidade kbdconfig. Debera deixar isto\n"
-"activado para a maiora dos sistemas."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd o daemon de impresin requirido para que o lpr funcione\n"
-"correctamente. basicamente un servidor que distribe os traballos de\n"
-"impresin (s) impresora(s)."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) un servidor de nomes de dominio (DNS), que se emprega\n"
-"para converter os nomes de mquinas a enderezos IP."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Monta e desmonta tdolos puntos de montaxe de sistemas de\n"
-"ficheiros de Rede (NFS), SMB (Lan Manager/Windows) e NCP (NetWare)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Activa/desactiva tdalas interfaces de rede configuradas para\n"
-"seren activadas no arrinque."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS un protocolo popular para compartir ficheiros a travs de redes TCP/"
-"IP.\n"
-"Este servicio fornece funcionalidade de servidor NFS, que se configura co\n"
-"ficheiro /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS un protocolo popular para compartir ficheiros a travs de\n"
-"redes TCP/IP. Este servicio fornece funcionalidade de bloqueo de ficheiros."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"O soporte PCMCIA normalmente para cousas como ethernet e mdems en\n"
-"porttiles. Non ser arrincado ata que non estea configurado de xeito\n"
-"que non haxa problemas telo instalado en mquinas que non o precisan."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"O portmapper xestiona as conexins RPC, que son usadas por protocolos\n"
-"como NFS e NIS. O servidor portmap ten que estar a se executar en mquinas\n"
-"que actan de servidores de protocolos que usan o mecanismo RPC."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix un axente de transporte de correo (MTA), que o programa\n"
-"que move o correo dunha mquina a outra."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Garda e restaura o estado da entropa do sistema para unha xeracin\n"
-"de nmeros aleatorios de calidade."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"O daemon routed permite actualizacins automticas da tboa de\n"
-"encamiamento IP mediante o protocolo RIP. Mentres RIP se usa amplamente\n"
-"en redes pequenas, outros protocolos mis complexos de encamiamento\n"
-"precsanse para redes mis complexas."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"O protocolo rstat permite s usuarios dunha rede obter\n"
-"mtricas de rendemento de calquera mquina desa rede."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"O protocolo rusers permite s usuarios dunha rede identificar quen\n"
-"est conectado noutras mquinas activas."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"O protocolo rwho permite que os usuarios remotos obtean unha lista de\n"
-"tdolos usuarios conectados a unha mquina que est a executar o daemon\n"
-"rwho (similar finger)."
-
-#: ../../services.pm_.c:85
-#, fuzzy
-msgid "Launch the sound system on your machine"
-msgstr "Lanzar o sistema X-Window iniciar"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"O syslog o mtodo que usan moitos daemons para rexistrar mensaxes\n"
-"nos diversos ficheiros de rexistro do sistema. unha boa idea executar\n"
-"sempre o syslog."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Executa e para o Servidor de Fontes X arrincar e apagar."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Escolla os servicios que deben ser lanzados no arrinque do sistema"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "a se executar"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "parado"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Servicios e daemons"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Non hai informacin adicional\n"
-"sobre este servicio, desculpe."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr " arrincar"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Non se pode ler a tboa de particins, est demasiado deteriorada :-(\n"
-"Probarase a ir poendo en branco as particins errneas"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Comparticin da conexin Internet"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "A comparticin da conexin Internet est activada"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"A configuracin da comparticin da conexin Internet xa foi feita.\n"
-"Actualmente est activada.\n"
-"\n"
-"Que desexa facer?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "desactivar"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "reconfigurar"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Desactivando os servidores..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "A comparticin da conexin Internet est agora desactivada."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "A comparticin da conexin Internet est desactivada"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"A configuracin da comparticin da conexin Internet xa foi feita.\n"
-"Actualmente est desactivada.\n"
-"\n"
-"Que desexa facer?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "activar"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Activando os servidores..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "A comparticin da conexin Internet est agora activada."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Non foi posible interpretar o contido do ficheiro de configuracin."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Ficheiro de configuracin non recoecido"
-
-#: ../../standalone/drakgw_.c:181
-#, fuzzy
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Est a piques de configurar o seu ordenador para que comparta a conexin "
-"Internet.\n"
-"\n"
-"Nota: necesita un adaptador de rede dedicado para configurar unha rede de "
-"rea local (LAN)."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Interface %s (usando o mdulo %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Interface %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Non hai ningn adaptador de rede no seu sistema!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Non se detectou ningn adaptador de rede ethernet no seu sistema. Execute a "
-"ferramenta de configuracin de hardware."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"S hai un adaptador de rede configurado no seu sistema:\n"
-"\n"
-"%s\n"
-"\n"
-"Vaise configurar a rede de rea local usando ese adaptador."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Escolla o adaptador de rede que vai estar conectado rede de rea local."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Atencin, o adaptador de rede xa est configurado. Vai ser reconfigurado."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-"Atopouse un conflicto potencial de enderezos da LAN na configuracin actual "
-"de %_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Detectouse unha configuracin de firewall!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Atencin! Detectouse unha configuracin de firewall existente. Pode que "
-"tea que facer algn arranxo manual trala instalacin."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Configurando..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-"Configurando os scripts, instalando o software, iniciando os servidores..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Problemas instalando o paquete $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Noraboa!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Xa est todo configurado.\n"
-"Agora pode compartir a conexin Internet con outros ordenadores da rede de "
-"rea local, usando a configuracin automtica de rede (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-#, fuzzy
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-"A configuracin da comparticin da conexin Internet xa foi feita.\n"
-"Actualmente est desactivada.\n"
-"\n"
-"Que desexa facer?"
-
-#: ../../standalone/drakgw_.c:609
-#, fuzzy
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-"A configuracin da comparticin da conexin Internet xa foi feita.\n"
-"Actualmente est activada.\n"
-"\n"
-"Que desexa facer?"
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "A comparticin da conexin Internet est activada"
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "Conexin e configuracin de Internet"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Configuracin de rede (%d adaptadores)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Perfil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Borrar perfil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Perfil para borrar:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Novo perfil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Nome do perfil para crear:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Nome de mquina: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Acceso Internet"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Tipo:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Pasarela:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Interface:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Estado:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "Conectar..."
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Non conectado"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Conectar..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-#, fuzzy
-msgid "Disconnect..."
-msgstr "Conectar..."
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Probando a conexin..."
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "Probando a conexin..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr "O sistema est conectado Internet."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Configurar o acceso Internet..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "Configuracin da LAN"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adaptador"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Controlador"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Interface"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protocolo"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Configurar a rede de rea local..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr ""
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Por favor, agarde... Aplicando a configuracin"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "Configuracin da LAN"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Adaptador %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Protocolo de arrinque"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Iniciado o arrincar"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "Cliente DHCP"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Desactivar"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Activar"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Configuracin da conexin Internet"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Configuracin da conexin Internet"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Tipo de conexin: "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parmetros"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "Dns 1 do provedor (opcional)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "Dns 2 do provedor (opcional)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Tarxeta Ethernet"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "Cliente DHCP"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Benvida s crackers"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Pobre"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoico"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Este nivel hai que usalo con coidado. Fai que o seu sistema sexa mis\n"
-"sinxelo de utilizar, pero moi sensible: non debe usarse nunha mquina\n"
-"conectada a outras ou Internet. Non hai contrasinais de acceso."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Os contrasinais estn activados, pero o uso como ordenador de rede anda\n"
-"non se recomenda."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Poucas melloras neste nivel de seguridade, a principal que hai mis\n"
-"avisos e comprobacins de seguridade."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Esta a seguridade recomendada para un ordenador usado para conectar\n"
-" Internet como cliente. Agora hai ms comprobacins de seguridade."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Con este nivel de seguridade, posible usar este sistema coma servidor.\n"
-"A seguridade agora alta dabondo para usar o sistema coma un servidor\n"
-"que acepta conexins de mltiples clientes."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Tmanse caractersticas do nivel 4, pero agora o sistema est completamente\n"
-"pechado. As caractersticas de seguridade estn mximo nivel."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Establecendo o nivel de seguridade"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Centro de control"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Elixa a ferramenta que queira usar"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "uso: keyboarddrake [--expert] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Quere que a tecla de Borrar devolva Suprimir na consola?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Mude o Cd-Rom"
-
-#: ../../standalone/livedrake_.c:24
-#, fuzzy
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Por favor, insira o Cd-Rom de instalacin na unidade e prema Aceptar.\n"
-"Se non o ten, prema Cancelar para evitar a actualizacin "
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "non se atopou ningn serial_usb\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emular o terceiro botn?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Probe o seu rato"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Configuracin da rede"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "Rato"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Conectar Internet"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Desconectar de Internet"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Desconectar de Internet"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Desconectar de Internet"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Nome da conexin"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Conectar"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "conexin por RDSI"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr "lendo a configuracin"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr "lendo a configuracin"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, fuzzy, c-format
-msgid "Can't open %s: %s\n"
-msgstr "Adaptador %s: %s"
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Erro abrir %s para escritura: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Desenvolvemento"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Estacin de traballo"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Firewall/Encamiador"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Xestin de informacin persoal"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedia - Grficos"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Ordenador de rede (cliente)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Ferramentas de audio: reproductores de mp3 ou midi, mesturadores, etc"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Estacin Internet"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Office"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Estacin multimedia"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Conxunto de ferramentas para ler e enviar correo e novas (pine, mutt, tin..) "
-"e para navegar na Web"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-"Bibliotecas de desenvolvemento en C e C++, programas e ficheiros include"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Programas para xestionar as sas finanzas, como o gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Documentacin"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Utilidades"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedia - Son"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Programas de divertimentos: arcade, taboleiros, estratexia, etc"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Reproductores e editores de vdeo"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Ferramentas de consola"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Programas de reproduccin/edicin de son e vdeo"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Estacin de traballo cientfica"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editores, shells, ferramentas de ficheiro, terminais"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Libros e howtos sobre Linux e o software libre"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Un ambiente grfico cun conxunto de aplicacins amigables e ferramentas de "
-"escritorio"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Xogos"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedia - Vdeo"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Servidor de ordenadores de rede"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Programas grficos como o Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Estacin de traballo de oficina"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"O ambiente de escritorio KDE, o ambiente grfico bsico cunha coleccin de "
-"ferramentas que o acompaan"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Mis escritorios grficos (Gnome, IceWM)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Ferramentas para crear e gravar CDs"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedia - Gravacin de CD"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Arquivado, emuladores, monitorizaxe"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Bases de datos"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Programas de oficina: procesadores de texto (kword, abiword), follas de "
-"clculo (kspread, gnumeric), visualizadores de pdf, etc"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Servidor"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Finanzas persoais"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Configuracin"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "Estacin de traballo KDE"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Outros escritorios grficos"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Correo/Groupware/Novas"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Estacin de traballo Gnome"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Acceso Internet"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Ferramentas para o seu Palm Pilot ou o seu Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Estacin de xogos"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "Desexa probar a configuracin?"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-"Conxunto de ferramentas para correo, novas, web, transferencia de ficheiros "
-"e chat"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "KB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minutos"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minuto"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d segundos"
-
-#~ msgid "Boot style configuration"
-#~ msgstr "Configuracin do estilo de arrinque"
-
-#~ msgid "gMonitor"
-#~ msgstr "gMonitor"
-
-#, fuzzy
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Vostede pode agora escoller algunhas opcins diversas para o sistema.\n"
-#~ "\n"
-#~ " - Usar optimizacins de disco duro: esta opcin pode mellora-lo "
-#~ "rendemento\n"
-#~ " do disco duro, pero s para usuarios avanzados: algns chipsets que "
-#~ "non\n"
-#~ " funcionan ben poden estraga-los seus datos. O kernel ten unha lista "
-#~ "negra\n"
-#~ " de unidades e chipsets, pero se quere evitar sorpresas "
-#~ "desagradables,\n"
-#~ " deixe esta opcin desactivada.\n"
-#~ "\n"
-#~ " - Escoller un nivel de seguridade: pode escoller un nivel de "
-#~ "seguridade\n"
-#~ " para o seu sistema. Vaia manual para informacin completa. "
-#~ "Basicamente:\n"
-#~ " se non sabe cal, escolla \"Medio\"; se quere realmente ter unha "
-#~ "mquina\n"
-#~ " segura, escolla \"Paranoico\", pero tea coidado: NESTE NIVEL, ROOT "
-#~ "NON\n"
-#~ " PODE FACER LOGIN NA CONSOLA! Se quere ser root, ter que facer login "
-#~ "como\n"
-#~ " usuario e entn usar \"su\". Mis xeralmente, non agarde usa-la sa\n"
-#~ " mquina para outra cousa que non sexa un servidor. Xa foi avisado.\n"
-#~ "\n"
-#~ " - Tamao exacto da memoria se se necesita: por desgracia, no mundo "
-#~ "actual\n"
-#~ " de PCs, non hai un mtodo estndar para preguntarlle BIOS acerca "
-#~ "da\n"
-#~ " cantidade de RAM no seu ordenador. Por iso, Linux pode non ser capaz "
-#~ "de\n"
-#~ " detectar correctamente a cantidade de RAM. Se o caso, indique a\n"
-#~ " cantidade correcta. Nota: unha diferencia de 2 ou 4 MB normal.\n"
-#~ "\n"
-#~ " - Automonta-las unidades extrables: Se vostede prefere non montar\n"
-#~ " manualmente as unidades extrables (CD-ROM, disquete, Zip), "
-#~ "escribindo\n"
-#~ " \"mount\" e \"umount\", escolla esta opcin.\n"
-#~ "\n"
-#~ " - Activar Bloq Num iniciar: Se quere que Bloq Num estea activado\n"
-#~ " tralo arrinque, escolla esta opcin (Nota: Bloq Num pode ou non pode\n"
-#~ " funcionar nas X)."
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Varios"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Dependencias automticas"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "Tamao seleccionado %d%s"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Preguntas varias"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "Non se pode usar o supermount no nivel de seguridade alto"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "atencin: NESTE NIVEL DE SEGURIDADE, A AUTENTICACIN DO ROOT NA CONSOLA\n"
-#~ "NON EST PERMITIDA! Se quere ser root, ter que conectar coma\n"
-#~ "usuario e logo usar o \"su\". De xeito mis xeral, non agarde que a\n"
-#~ "mquina acte doutro modo distinto a un servidor.\n"
-#~ "Xa foi avisado."
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Tea coidado, ter o bloqueo numrico activado causa que moitas teclas\n"
-#~ "dean dxitos en vez de letras normais (p.ex: premer `p' d un `6')"
-
-#~ msgid "Sorry, the mail configuration is not yet implemented. Be patient."
-#~ msgstr ""
-#~ "Desculpe, a configuracin do correo anda non est implementada. Sexa "
-#~ "paciente."
-
-#~ msgid ""
-#~ "Welcome to The Network Configuration Wizard.\n"
-#~ "Which components do you want to configure?\n"
-#~ msgstr ""
-#~ "Benvido axudante da configuracin de rede.\n"
-#~ "Que compoentes desexa configurar?\n"
-
-#~ msgid "Internet/Network access"
-#~ msgstr "Acceso a Internet/Rede"
-
-#~ msgid "Mail information"
-#~ msgstr "Informacin do correo"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Agora que a conexin Internet est configurada,\n"
-#~ "o seu ordenador pode ser configurado para compartila.\n"
-#~ "Nota: Necesita un adaptador de rede dedicado para configurar unha rede de "
-#~ "rea local (LAN).\n"
-#~ "\n"
-#~ "Desexa configurar a comparticin da conexin Internet?\n"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr ""
-#~ "Este script de inicializacin tenta cargar os mdulos para o rato usb."
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Configuracin do LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Creacin dun disquete de arrinque"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formatar disquete"
-
-#~ msgid "Choice"
-#~ msgstr "Escolla"
-
-#~ msgid "Actions"
-#~ msgstr "Accins"
-
-# ../../share/compssUsers
-#~ msgid "Scientific applications"
-#~ msgstr "Aplicacins cientficas"
-
-#~ msgid "Standard tools"
-#~ msgstr "Ferramentas estndar"
-
-# ../../share/compssUsers
-#~ msgid "File/Print/Samba"
-#~ msgstr "Ficheiro/Impresin/Samba"
-
-# ../../share/compssUsers
-#~ msgid "DNS/DHCP "
-#~ msgstr "DNS/DHCP "
-
-#~ msgid "None"
-#~ msgstr "Ningn"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Que cargador(es) de arrinque quere usar?"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Zona horaria"
-
-#~ msgid "Configure printer"
-#~ msgstr "Configurar impresora"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Disquete de auto-instalacin"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Usar diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr "Personalizada"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "Est seguro de que un experto? \n"
-#~ "Permitirselle facer cousas mis potentes pero perigosas.\n"
-#~ "Vnselle preguntar cuestins como: ``Usar ficheiro shadow para os "
-#~ "contrasinais?'', est preparado para responder a este tipo de cuestins?"
-
-#~ msgid "What is your system used for?"
-#~ msgstr "Cal o uso do seu sistema?"
-
-#~ msgid "Select the size you want to install"
-#~ msgstr "Escolla o tamao que quere instalar"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Usar ficheiro shadow"
-
-#~ msgid "shadow"
-#~ msgstr "shadow"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Usar contrasinais MD5"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(pode provocar corrupcin dos datos)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Usar optimizacins de disco duro"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Activar Bloq Num iniciar"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Confirmar Contrasinal"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "Atopouse unha tarxeta RDSI:\n"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Desexa que se tente atopar un mdem?"
-
-#~ msgid "France"
-#~ msgstr "Francia"
-
-#~ msgid "Other countries"
-#~ msgstr "Outros pases"
-
-#~ msgid "In which country are you located ?"
-#~ msgstr "En que pas se atopa vostede?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Mdem alcatel"
-
-#~ msgid "ECI modem"
-#~ msgstr "Mdem ECI"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr "Se o seu mdem adsl Alcatel, escolla Alcatel. Doutro xeito, ECI."
-
-#~ msgid "don't use pppoe"
-#~ msgstr "non usar pppoe"
-
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Desactivar a Conexin a Internet"
-
-#~ msgid "Disable networking"
-#~ msgstr "Desactivar a rede"
-
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Configurar a conexin a Internet / Configurar a Rede local"
-
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "A rede local xa foi configurada.\n"
-#~ "Desexa:"
-
-#~ msgid "mandatory"
-#~ msgstr "obrigatorio"
-
-#~ msgid "interesting"
-#~ msgstr "interesante"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (importante)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (moi bo)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (bo)"
-
-#~ msgid "using module"
-#~ msgstr "usando un mdulo"
-
-#~ msgid "Search"
-#~ msgstr "Buscar"
-
-#~ msgid "Package"
-#~ msgstr "Paquete"
-
-#~ msgid "Text"
-#~ msgstr "Texto"
-
-#~ msgid "Tree"
-#~ msgstr "rbore"
-
-#~ msgid "Sort by"
-#~ msgstr "Ordenar por"
-
-#~ msgid "Category"
-#~ msgstr "Categora"
-
-#~ msgid "See"
-#~ msgstr "Mirar"
-
-#~ msgid "Installed packages"
-#~ msgstr "Paquetes instalados"
-
-#~ msgid "Available packages"
-#~ msgstr "Paquetes dispoibles"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Amosar s as plas"
-
-#~ msgid "Expand all"
-#~ msgstr "Expandir todos"
-
-#~ msgid "Collapse all"
-#~ msgstr "Pechar todos"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Engadir localizacin dos paquetes"
-
-#~ msgid "Update location"
-#~ msgstr "Actualizar lugar"
-
-#~ msgid "Remove"
-#~ msgstr "Quitar"
-
-#~ msgid "Configuration: Add Location"
-#~ msgstr "Configuracin: Engadir Lugar"
-
-#~ msgid "Find Package"
-#~ msgstr "Buscar Paquete"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Buscar paquete que contea un ficheiro"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Trocar entre Instalado e Dispoible"
-
-#~ msgid "Files:\n"
-#~ msgstr "Ficheiros:\n"
-
-#~ msgid "Uninstall"
-#~ msgstr "Desinstalar"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Elixa o paquete a instalar"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Comprobando dependencias"
-
-#~ msgid "Wait"
-#~ msgstr "Agarde"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Os seguintes paquetes van ser desinstalados"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "Desinstalando os RPMs"
-
-#~ msgid "Regexp"
-#~ msgstr "Expr.Reg"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Que paquetes buscar"
-
-#~ msgid "%s not found"
-#~ msgstr "%s non atopado"
-
-#~ msgid "No match"
-#~ msgstr "Sen coincidencias"
-
-#~ msgid "No more match"
-#~ msgstr "Non hai mis coincidencias"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake est en modo ``baixa memoria''.\n"
-#~ "Vaise reiniciar rpmdrake para permitir a busca de ficheiros"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Que ficheiro est a buscar?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Que est a buscar?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Dea un nome (ex: `extra', `commercial')"
-
-#~ msgid "Directory"
-#~ msgstr "Directorio"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "Non hai cdrom dispoible (nada en /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL do directorio que contn os RPMs"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Para FTP e HTTP, ten que indicar o lugar de hdlist\n"
-#~ "Ten que ser relativo URL anterior"
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Por favor, enve a seguinte informacin"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s xa est en uso"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "Actualizando a base de RPMs"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "Vaise borra-la entrada %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Buscando as plas"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "A busca das plas leva un tempo"
-
-# ../../share/compssUsers
-#~ msgid "Graphics Manipulation"
-#~ msgstr "Manipulacin de Grficos"
-
-# ../../share/compssUsers
-#~ msgid "KDE, QT, Gnome, GTK+"
-#~ msgstr "KDE, QT, Gnome, GTK+"
-
-# ../../share/compssUsers
-#~ msgid "Python, Perl, libraries, tools"
-#~ msgstr "Python, Perl, bibliotecas, ferramentas"
-
-#~ msgid "Development applications"
-#~ msgstr "Aplicacins de desenvolvemento"
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimedia"
-
-# ../../share/compssUsers
-#~ msgid "Sciences"
-#~ msgstr "Ciencias"
-
-# ../../share/compssUsers
-#~ msgid ""
-#~ "Chat (IRC or instant messaging) programs such as xchat, licq, gaim, and "
-#~ "file transfer tools"
-#~ msgstr ""
-#~ "Programas de Chat (IRC ou mensaxera instantnea) como o xchat, licq, "
-#~ "gaim e ferramentas de transferencia de ficheiros"
-
-# ../../share/compssUsers
-#~ msgid "Communication facilities"
-#~ msgstr "Facilidades de Comunicacin"
-
-#~ msgid "KDE"
-#~ msgstr "KDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Development other"
-#~ msgstr "Outros de desenvolvemento"
-
-# ../../share/compssUsers
-#~ msgid "Databases clients and servers (mysql and postgresql)"
-#~ msgstr "Clientes e servidores de Bases de Datos (mysql e postgresql)"
-
-#~ msgid "Development C/C++"
-#~ msgstr "Desenvolvemento en C/C++"
-
-#~ msgid "Czech"
-#~ msgstr "Checo"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "A qu porto serie est conectado o rato?"
diff --git a/perl-install/share/po/hr.po b/perl-install/share/po/hr.po
deleted file mode 100644
index 2e0baed47..000000000
--- a/perl-install/share/po/hr.po
+++ /dev/null
@@ -1,9160 +0,0 @@
-# KTranslator Generated File
-# Copyright (c) 1999 MandrakeSoft
-# Vladimir Vuksan <vuksan@veus.hr>, 1999.
-# Vlatko Kosturjak <kost@iname.com>, 2001.
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: Sun Jan 21 2001 12:52:56+0200\n"
-"Last-Translator: Vlatko Kosturjak <kost@iname.com>\n"
-"Language-Team: Croatian <lokalizacija@linux.hr>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KTranslator v 0.6.0\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Podesi sve zaslone nezavisno"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Koristi Xinerama proirenje"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Podesi samo karticu \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Vie-zaslonska postava"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Va sustav podrava postavu sa vie zaslona.\n"
-"to elite napraviti?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Grafika kartica"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Odaberite grafiku karticu"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Odaberite X posluitelj"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X posluitelj"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Koju konfiguraciju XFree-a elite imati?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Vaa video kartica moe imati 3D ubrzanje samo sa XFree %s.\n"
-"Vaa kartica je podrana od XFree %s koji moda ima bolju podrku u 2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Vaa kartica moe imati 3D hardware-sku akceleraciju sa XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s sa 3D hardware akceleracijom"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Vaa kartica moe imati 3D hadware akceleraciju podranu od XFree %s,\n"
-"UPOZORAVAMO VAS DA JE OVO EKSPERIMENTALNA PODRKA I MOE ZAMRZNUTI VAE "
-"RAUNALO."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s sa EXPERIMENTALNOM 3D hardware akceleracijom"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Vaa video kartica moe imati 3D ubrzanje samo sa XFree %s,\n"
-"UPOZORAVAMO VAS DA JE OVO EKSPERIMENTALNA PODRKA I MOE ZAMRZNUTI VAE "
-"RAUNALO.Vaa kartica je podrana od XFree %s koja moe imati bolju podrku "
-"u 2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree postavke"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Odaberite koliinu memorije na grafikoj kartici"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Postavke posluitelja"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Odaberite monitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Dva kritina parametra su vertikalna vrijednost osvjeavanja, koja je "
-"vrijednost\n"
-"u kojoj se cijeli zaslon osvjeava, i najvanije horizontalna\n"
-"vrijednost osvjeavanja koja ja vrijednost u kojoj se svaka linija "
-"prikazuje.\n"
-"\n"
-"JAKO JE VANO da ne specifirate tip monitora kod kojega je raspon "
-"osvjeavanja\n"
-"vei od mogunosti vaeg monitora jer moete otetiti va monitor.\n"
-" Ukoliko ste u nedoumici, izaberite konzervativne postavke."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Horizontalna vrijednost osvjeavanja"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Vertikalna vrijednost osvjeavanja"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Niste podesili monitor"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Niste podesili grafiku karticu"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Niste podesili rezoluciju"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Da li elite iskuati postavu ?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Upozorenje: testiranje grafike kartice moe zamrzunti vae raunalo"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Iskuaj postavu"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"provjerite parametre koje ste unjeli"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Pojavila se greka:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Zatvaram nakon %d sekundi"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Da li je ovo ispravno?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Pojavila se greka, provjerite parametre koje ste unjeli"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Rezolucija"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Odaberite rezoluciju i color depth"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Grafika kartica: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 posluitelj: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Ekspertni mod"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Pokai sve"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Rezolucije"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Raspored tipkovnice: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Vrsta mia: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Ureaj mia: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Horizontalna Sinkronizacija Monitora: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Vertikalno Osvjeenje Monitora: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Grafika kartica: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Grafika memorija: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Dubina boje: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Rezolucija: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 posluitelj: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 upravljaki program: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Pripremam X-Window postavu"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "to elite napraviti?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Promijeni monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Promijeni grafiku karticu"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Promijeni postavke posluitelja"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Promijeni rezoluciju"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Prikai informacije"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Iskuaj ponovo"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Zavri"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Zadri promjene?\n"
-"Trenutna postava je:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Molim ponovo se logirajte u %s kako bi aktivirali promjenjeno"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Molim prvo se odjavite te pritisnite Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X kod pokretanja sustava"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Mogu podesiti da se X podigne automatski kod podizanja sustava.\n"
-"Da li elite da se X automatski pokree?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 boja (8 bita)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 tisua boja (15 bita)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 tisua boja (16 bita)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 milijuna boja (24 bita)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 milijarde boja (32 bita)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB ili vie"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standardni VGA, 640x480 na 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 na 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514 kompatibilan, 1024x768 na 87 Hz s preplitanjem (bez 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 na 87 Hz s preplitanjem, 800x600 na 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Proireni Super VGA, 800x600 na 60 Hz, 640x480 na 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Bez preplitanja SVGA, 1024x768 na 60 Hz, 800x600 na 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Visoko frekvencijski SVGA, 1024x768 na 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multi-frekvencijski koji ide do 1280x1024 na 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multi-frekvencijski koji ide do 1280x1024 na 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multi-frekvencijski koji ide do 1280x1024 na 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor koji ide do 1600x1200 na 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor koji ide do 1600x1200 na 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Prvi sektor boot particije"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Prvi sektor pogona (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO instalacija"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Gdje elite instalirati bootloader?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub instalacija"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO sa tekstualnim menijem"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO sa grafikim menijem"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Podizanje sa DOS/Windows-a (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Glavne postavke bootloadera"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Koristiti Bootloader"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Bootloader instalacija"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Boot ureaj"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (ne radi na starim BIOSima)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Zbijeno"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "zbijeno"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Video mod"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Odgoda prije bootiranja uobiajenog imagea"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Lozinka"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Lozinka (provjera)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Ograniene opcije na komandnoj liniji"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "ogranii"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Oisti /tmp na svakom podizanju"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Precizna veliina RAMa (pronaeno %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Omogui vie obrazaca"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Upiite veliinu RAM u Mb"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Postavka ``Ograniene opcije na komandnoj liniji'' nema svrhe ako ne unesete "
-"lozinku"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Molim pokuajte ponovo"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Lozinke se ne podudaraju"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Init poruka"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Pauza Otvorenog Firmware-a"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Vrijeme ekanja podizanja kernela"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Omogui CD podizanje?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Omogui podizanje?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Uobiajeni OS?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Ovo su trenutni zapisi.\n"
-"Moete dodati jo koji ili urediti postojei."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Dodaj"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Gotov"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Promjeni"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Kakvu vrstu zapisa elite dodati"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Drugi OS (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Drugi OS (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Drugi OS (Windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Slika (image)"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Dodaj na kraj"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "itaj-pii"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tablica"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Nesigurno"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Oznaka"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Uobiajeno"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd-veliina"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "NemaVidea"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Ukloni zapis"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Prazna oznaka nije dozvoljena"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Ova oznaka ve postoji"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Kakav tip particioniranja?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Pronaao sam %s %s meusklopova"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Da li imate jo koji?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Da li imate %s meusklopova?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Ne"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Da"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Pokai info o hardveru"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Instaliram upravljaki program %s za karticu %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(modul %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Koji %s upravljaki program elite isprobati?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"U nekim sluajevima, %s upravljaki program treba dodatne informacije da bi "
-"radio\n"
-"ispravno, iako normalno radi i bez toga. Da li elite specifirati te "
-"dodatne\n"
-"opcije za njega ili elite dozvoliti upravljakom programu da isproba vae\n"
-"raunalo za informacije koje treba? Ponekad, isprobavanje moe zamrznuti\n"
-"vae raunlo, ali ne bi trebalo izazvati nikakvu tetu."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Auto. ispitaj"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Odredi postavke"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Sada moete unijeti postavke za modul %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Sada moete unijeti postavke za modul %s.\n"
-"Postavke su formata ``ime=vrijednost ime2=vrijednost2...''.\n"
-"Na primjer, ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Postavke modula:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Uitavanje modula %s nije uspjelo.\n"
-"Da li elite pokuati ponovo sa drugim parametrima?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(ve postoji %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Lozinka je prejednostavna"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Molim dajte korisniku korisniko ime"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "Korisniko ime moe sadravati samo mala slova, brojeve, `-' i `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Ovaj korisnik ve postoji"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Dodaj korisnika"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Unesite korisnika\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Prihvati korisnika"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Puno ime"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Korisniko ime"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Ljuska"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Ikona"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Auto-prijava"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Raunalo se moe podesiti da se automatski prijavi kod podizanja sustava "
-"npr. nee biti potrebno unositi nikakvu korisniko ime ili lozinku.\n"
-"Pritisnite Odustani ako ne elite aktivirati automatsku prijavu ?"
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Izaberite uobiajenog korisnika:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Izaberite prozorski upravitelj koji elite pokrenuti:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Dobro dosli u %s izbornik operativnih sustava!\n"
-"\n"
-"Izaberite operativni sustav u popisu iznad ili\n"
-"priekajte %d sekundi za uobiajeno podizanje.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Dobro dosli u GRUB izbornik operativnih sustava!"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Za mijenjanje izabranog sustava pritisnite tipke %c i %c."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Pritisnite ENTER za bootiranje izabranog OS, 'e' za promjenu"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "naredbe prije bootiranja ili 'c' za komandnu liniju."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Osvjetljeni zapis biti e bootiran automatski za %d sekundi."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "nema dovoljno mjesta u /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Radna povrina"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Start Menu"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "nema jo implementirane pomoi.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Postava Stila Podizanja"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_Datoteka"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/Datoteka/_Nova"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/Datoteka/_Otvori"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/Datoteka/_Spremi"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/Datoteka/Spremi K_ao"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/Datoteka/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/Datoteka/_Izlaz"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Opcije"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Opcije/Test"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Pomo"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/_Pomo/_O programu..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Podesi"
-
-#: ../../bootlook.pm_.c:114
-#, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Trenutno koristite %s kao Upravitelj Boot-a.\n"
-"Pritisnite na Podesi za pokretanje arobnjaka za postavljanje."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Lilo/grub mod"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Novi stil kategoriziranja Monitora"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "NoviStil Monitora"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Tradicionalni Monitor"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Tradicionalni Gtk+ Monitor"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Pokreni Auroru pri podizanju"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Boot mod"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Pokreni X-Window sustav pri podizanju"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Ne, ne elim automatsko prijavljivanje"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Da, elim automatsko prijavljivanje sa ovim korisnikom i okrujem"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Sistemski mod"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Uobiajeno"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "U redu"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Odustani"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "ne mogu otvoriti /etc/inittab za itanje: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "ne mogu otvoriti /etc/sysconfig/autologin za itanje: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Instalacija LILO-a nije uspjela. Prijavljena je slijedea greska:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Napravi"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Demontiraj"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Obrii"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatiraj"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Promijeni veliinu"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Vrsta"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Toka montiranja"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Zapii u /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Normalno > Ekspert"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Prebaci u normalni mod"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Vrati postavke iz datoteke"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Spremi u datoteku"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "arobnjak"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Vrati postavke sa diskete"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Spremi na disketu"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Oisti sve"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formatiraj sve"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Raspodijeli automatski"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Sve primarne particije su iskoritene"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Ne mogu dodati niti jednu dodatnu particiju"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Ako elite dodati jo koju particiju molim obriite jednu od particija kako "
-"bi\n"
-"mogli stvoriti jednu extended particiju."
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Nema dovoljno prostora za auto-alokaciju"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Vrati"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Zapii particijsku tabelu"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Vie"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Prazno"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Ostali"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Vrste datotenih sustava:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detalji"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Va sustav sadri samo jednu veliku particiju.\n"
-"(Microsoft DOS/Windows obino koristi jednu particiju).\n"
-"Preporuam da promijenite veliinu particije\n"
-"(kliknite prvo na particiju te onda na \"Promijeni veliinu\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Prvo napravite backup podataka"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Proitajte paljivo!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Ukoliko elite koristiti aboot morate ostaviti dovoljno mjesta (npr. 2048 "
-"sektora) na\n"
-"poetku diska"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Budite oprezni: ova operacija je opasna"
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Greka"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Mjesto montiranja:"
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Ureaj:"
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS ureaj slovo: %s (nagaanje)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Vrsta: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Ime: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Poetak: sektor %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Veliina: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektora"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Cilindar %d do cilindra %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formatiran\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Nije formatiran\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Montiran\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback datoteka(e): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Podrazumijevana boot particija\n"
-" (za MS-DOS boot, ne za LILO)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Razina %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Chunk veliina %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-diskovi %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Ime loopback datoteke: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"anse su, da je ova particija\n"
-"ustvari particija upravljakog programa, vjerojatno\n"
-"biste ju trebali ostaviti.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Ova specijalna bootstrap\n"
-"particija je za\n"
-"dvostruko-podizanje (dual-boot) vaeg sustava.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Molim kliknite na particiju"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Veliina: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometrija: %s cilindara, %s glava, %s sektora\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-diskovi %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Vrsta particijske tabele: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "na sabirnici %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Montiraj"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktivno"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Dodaj RAID-u"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Ukloni sa RAID-a"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Promijeni RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Dodaj LVM-u"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Ukloni sa LVM-a"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Koristi za loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Izaberite akciju"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"alim meutim ne mogu napraviti /boot toliko daleko na disku\n"
-"(cilindar > 1024).\n"
-"Imate dvije opcije ili ete koristiti LILO pa nee raditi ili neete\n"
-"koristiti LILO pa vam /boot nee ni trebati."
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Particiju koju ste odabrali kao root (/) je fiziki locirana poslije 1024-"
-"tog cilindra vaeg hard diska, a nemate /boot particiju.\n"
-"Ukoliko planirate koristiti LILO boot menader, budite paljivi da dodate/"
-"boot particiju"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Izabrali ste softwaresku RAID particiju kao root (/).\n"
-"Nema bootloader-a koji je u mogunosti to podrati bez /boot particije.\n"
-"Zato budite paljivi da dodate /boot particiju"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Umjesto toga koristi ``%s''"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Prvo pritisnite ``Demontiraj''"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Nakon mijenjanja tipa particije %s svi podaci na ovoj particiji biti e "
-"obrisani"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Da ipak nastavim?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Da zavrim bez spremanja"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Da zavrim bez zapisivanje particijske tablice?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Mijenjam tip particije"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Koji datoteni sustav elite?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "ReiserFS se ne moe koristiti na particijama koje su manje od 32 MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Gdje elite montirati loopback datoteku %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Gdje elite montirati ureaj %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Ne mogu maknuti toku za montiranje zato to se ova particija koristi za "
-"loop back.\n"
-"Uklonite loopback prvo"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"Nakon formatiranja particije %s svi podaci na ovoj particiji biti e obrisani"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formatiram"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formatiram loopback datoteku %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formatiram particiju %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Poslije formatiranja svih particija,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "svi podaci na ovim particijama biti e izgubljeni"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Premjesti"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Na koji disk se elite premjestiti?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Na koji se sektor elite premjestiti?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Premjetam"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Premjetam particiju..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Particijska tablica pogona %s e sada biti zapisana na disk!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Trebate ponovo pokrenuti sustav prije nego promjene postanu aktivne"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Izraunavam granice fat datotenog sustava"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Mijenjam veliinu"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Ova particija nije promjenjiva u veliini"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Preporuam da prvo backupirate sve podatke s ove particije"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"Nakon mijenjanja veliine particije %s svi podaci na ovoj particiji biti e "
-"izgubljeni"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Odaberite novu veliinu"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Stvori novu particiju"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Poetni sektor:"
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Veliina u MB:"
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Vrsta datotenog sustava:"
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Postavke:"
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Ova particija se ne moe koristiti za loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Ime loopback datoteke:"
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-"Datoteku koristi neki drugi loopback. Molim izaberite neku drugu datoteku"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Datoteka ve postoji. Da li da nju upotrijebim?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Odaberite datoteku"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Backup particijske tablice nema istu veliinu\n"
-"Da ipak nastavim?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Upozorenje"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Umetnite disketu u pogon\n"
-"Svi podaci na disketi biti e izbrisani"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Pokuavam spasiti particijsku tablicu"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "ureaj"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "razina"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "chunk veliina"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Izaberite postojei RAID na koji elite dodati "
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "novi"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Izaberite postojei LVM na koji elite dodati "
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "LVM ime?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Automatsko montiranje uklonjivog (removable) medija"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Vrati particijsku tabelu"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Ponovo uitaj"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formatiranje %s nije uspjelo"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "ne znam kako formatirati %s kao vrstu %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "montiranje nije uspjelo:"
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "greka kod demontiranja %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "jednostavno"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "posluitelj"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Mjesto montiranja mora poeti sa /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Ve postoji particija sa mjestom montiranja %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Kruno montiranje %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "Ne moete koristiti LVM logiki prostor za mjesto montiranja %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Ovaj direktorij bi trebao ostati unutar root datotenog sustava"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Treba vam istinski datoteni sustav (ex2, reiserfs) za ovo mjesto "
-"montiranja\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Greka prilikom otvaranja %s za pisanje: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Pojavila se greka - ne mogu pronai niti jedan valjani ureaj na kojem\n"
-"bih mogao instalirati datoteni sustav. Provjerite da li je sa vaim "
-"hardverom sve u redu."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Nemate niti jednu particiju!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Molimo, izaberite preferirani jezik za instalaciju i koritenje sustava."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Trebate prihvatiti stavke gorenje licence da bi nastavili instalaciju.\n"
-"\n"
-"\n"
-"Molimo kliknite na \"Prihvati\" ukoliko se slaete sa njezinim stavkama.\n"
-"\n"
-"\n"
-"Molimo kliknite na \"Odbij\" ukoliko se ne slaete sa njezinim stavkama.\n"
-"Instalacija e zavriti bez ikakvih promjena na vaoj trenutnoj postavi."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr ""
-"Izaberite raspored tipkovnice koji se podudara sa vaom na gornjem popisu"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Ukoliko elite drugi jezik (od onoga kojega ste odabrali\n"
-"na poetku instalacije) da bude raspoloiv poslije instalacije, molimo "
-"odaberite ga u popisu gore. Ako elite odabrati sve, izaberite samo \"Sve\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Molimo izaberite \"Instalacija\" ukoliko nemate prethodne verzijeLinux-"
-"Mandrake-a\n"
-"instalirano ili ako elite koristiti nekoliko operativnih sustava.\n"
-"\n"
-"\n"
-"Molimo izaberite \"Dogradnja\" ukoliko elite dograditi ve postojeu "
-"verzijuLinux-Mandrake-a.\n"
-"\n"
-"\n"
-"U zavisnosti od znanja u GNU/Linux, moete izabrati jednu od slijedeih "
-"razina za instalaciju ili dogradnju\n"
-"vaeg Linux-Mandrake operativnog sustava:\n"
-"\n"
-"\t* Preporueno: ukoliko nikad niste instalirali GNU/Linux operativni sustav "
-"izaberite ovo. Instalacija e biti\n"
-"\t vrlo laka i pitati e vas samo nekoliko pitanja.\n"
-"\n"
-"\n"
-"\t* Prilagoeno: ukoliko ste ve upoznati sa GNU/Linux, moete izabrati "
-"primarnu upotrebu (radna stanica, posluitelj,\n"
-"\t razvoj) za va sustav. Trebati ete odgovoriti na vie pitanja nego u "
-"\"Preporuenoj\" instalacijskoj\n"
-"\t klasi, zato trebate znati vie o tome kako GNU/Linux radi kako bi "
-"izabrali ovu instalacijsku klasu.\n"
-"\n"
-"\n"
-"\t* Strunjak: ukoliko imate dobro znanje o GNU/Linux-u, moete izabrati ovu "
-"instalacijsku klasu. Kao u \"Prilagoenoj\"\n"
-"\t instalacijskoj klasi, moi ete izabrati primarnu upotrebu za va sustav "
-"(radna stanica, posluitelj, razvoj). Budite jako\n"
-"\t paljivi prije nego to odaberete ovu instalacijsku klasu. Moi ete "
-"izvriti visoko prilagoenu instalaciju.\n"
-"\t Odgovori na neka pitanja mogu biti jako teki ukoliko nemate dobro "
-"znanje GNU/Linux. Dakle, nemojte izabrati\n"
-"\t ovu instalacijsku klasu ukoliko ne znate to radite."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Odaberite:\n"
-"\n"
-" - Prilagoeno: Ukoliko ste upoznati s Linuxom koritenjem ove\n"
-"opcije moi e te odabrati kakvu instalaciju elite npr. normalna, "
-"programer\n"
-"ili posluitelj. Odaberite \"Normalna\" za sustav ope namjene.\n"
-"Odaberite \"Programer\" ako elite koristiti raunalo primarno za razvoj\n"
-"softvera ili odaberite \"Posluitelj\" ako elite koristiti raunalo kao\n"
-"posluitelj ope namjene npr. za mail, web, ispisivanje itd.\n"
-"\n"
-"\n"
-" - Strunjak: Ukoliko ste vrlo dobro upoznati sa Linuxom i elite\n"
-"imati potpunu kontrolu nad instalacijom Linuxa odaberite opciju\n"
-"\"Strunjak\". Slino kao i sa \"Prilagoeno-m\" instalacijom moi\n"
-"e te odabrati kako e se sustav upotrebljavati meutim sa dodatnim opcijama."
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Sada morate definirati upotrebu vaeg raunala. Izbori su:\n"
-"\n"
-"\t* Radna stanica: ovo je idealan izbor ukoliko planirate koristiti vae "
-"raunalo primarno za svakodnevno koritenje, u uredu ili\n"
-"\t kod kue.\n"
-"\n"
-"\n"
-"\t* Razvoj: ukoliko planirate koristiti vae raunalo primarno za razvoj "
-"software-a, to je dobar izbor. Tada\n"
-"\t ete imati kompletnu kolekciju instaliranog software-a u pravilu da "
-"kompajlirate, uklanjate greke, i formatirate izvorni kod,\n"
-"\t ili za pravljenje softwareskih paketa.\n"
-"\n"
-"\n"
-"\t* Posluitelj: ukoliko planirate koristiti ovo raunalo kao posluitelj, "
-"ovo je dobar izbor. Ili kao datoteni posluitelj (NFS ili\n"
-"\t SMB), posluitelj pisaa (Unix stil ili Microsoft Windows stil), "
-"autentifikacijski posluitelj (NIS), posluitelj\n"
-"\t baze podataka i tako dalje. Kao takav, ne oekujte da e biti ljepote "
-"(KDE, GNOME, itd.) instalirane."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX e pokuati pronai PCI SCSI adapter(e). Ukoliko DrakX\n"
-"pronae SCSI adapter i zna koji upravljaki program da koristi, on e "
-"automatski biti\n"
-"instaliran.\n"
-"\n"
-"\n"
-"Ukoliko nemate SCSI adapter, ISA SCSI adapter ili PCI SCSI adapter koji\n"
-"DrakX ne moe prepoznati, biti ete pitani da li imate SCSI adapter u vaem\n"
-"sustavu. Ukoliko nemate adapter, moete kliknuti na \"Ne\". Ukoliko kliknete "
-"na\n"
-"\"Da\", dobiti ete popis upravljakih programa odakle moete izabrati va\n"
-"specifian adapter.\n"
-"\n"
-"\n"
-"Ako trebate runo specifirati va adapter, DrakX e pitati da li elite \n"
-"specifirati opcije za njega. Trebali biste dozvoliti DrakX-u da isproba "
-"opcije za\n"
-"hardware. Ovo obino radi dobro.\n"
-"\n"
-"\n"
-"Ako ne, trebati ete navesti opcije za upravljaki program. Molimo "
-"pregledajte User\n"
-"Guide (poglavlje 3, sekciju \"Collective informations on your hardware) za "
-"preporuke\n"
-"o pribavljanju ovih informacija iz dokumentacije hardware-a, sa \n"
-"proizvoaevog Web site-a (ukoliko imate Internet pristup) ili iz Microsoft "
-"Windows-a\n"
-"(ukoliko ga imate na vaem sustavu)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"U ovom trenutku, trebate izabrati gdje ete instalirati va\n"
-"Linux-Mandrake operativni sustav na va hard disk. Ukoliko je prazan ili "
-"ako\n"
-"postojei operativni sustav koristi itav prostor na disku, trebate ga\n"
-"particionirati. Jednostavno, particioniranje hard diska sastoji se od "
-"logikog\n"
-"dijeljenja kako bi napravili prostor za instalaciju vaeg novog Linux-"
-"Mandrake sustava.\n"
-"\n"
-"\n"
-"Zato to su posljedice procesa particioniranja obino ireverzibilne,\n"
-"particioniranje moe biti strano i stresno ukoliko ste korisnik bez "
-"iskustva.\n"
-"Ovaj arobnjak pojednostavljuje proces. Prije poetka, molimo konzultirajte "
-"upute\n"
-"i uzmite vremena koliko vam je potrebno.\n"
-"\n"
-"\n"
-"Trebate najmanje dvije particije. Jedna je za sam operativni sustav, a\n"
-"druga je za virtualnu memoriju (takoer zvanu Swap).\n"
-"\n"
-"\n"
-"Ukoliko su particije ve definirane (iz prijanje instalacije iliiz\n"
-"drugih particijskih alata), trebate samo izbarati te particije za "
-"instalaciju vaeg\n"
-"Linux sustava.\n"
-"\n"
-"\n"
-"Ukoliko particije nisu ve definirane, trebate ih napraviti. \n"
-"Da biste to napravili, koristite arobnjak gore raspoloiv. U zavisnosti od "
-"vaih hard disk\n"
-"postavki, nekoliko rjeenja je raspoloivo:\n"
-"\n"
-"\t* Koritenje postojee particije: arobnjak je detektirao jednu ili vie "
-"postojeih Linux particija na vaem hard disku. Ukoliko\n"
-"\t ih elite zadrati, izaberite ovu opciju.\n"
-"\n"
-"\n"
-"\t* Obrii cijeli disk: ukoliko elite obrisati sve podatke i sve particije "
-"koje postoje na vaem hard disku i zamjeniti ih sa\n"
-"\t vaim novim Linux-Mandrake sustavom, moete izabrati ovu opciju. Budite "
-"paljivi sa ovim rjeenjem, neete moi\n"
-"\t povratiti va izbor nakon potvrde.\n"
-"\n"
-"\n"
-"\t* Koristiti slobodan prostor na Windows particiji: ukoliko je Microsoft "
-"Windows instaliran na vaem hard disku i zauzima\n"
-"\t cjeli raspoloiv prostor na njemu, trebate napraviti slobodan prostor za "
-"Linux podatke. Da biste to napravili moete obrisati vau\n"
-"\t Microsoft Windows particiju i podatke (pogledajte \"Brisanje cijelog "
-"diska\" ili \"Ekspert mod\" rjeenja) ili mjenjati veliinu vae\n"
-"\t Microsoft Windows particije. Mjenjanje veliine moe se obaviti bez "
-"gubitka bilo kakvih podataka. Ovo rjeenje je\n"
-"\t preporueno ukoliko elite koristiti zajedno Linux-Mandrake i Microsoft "
-"Windows-e na istom raunalu.\n"
-"\n"
-"\n"
-"\t Prije izabiranja ovog rjeenja, molimo razumite da e veliina vae "
-"Microsoft\n"
-"\t Windows partiticije biti manja nego to je sada. To znai da ete imati "
-"manje slobodnog prostora pod\n"
-"\t Microsoft Windows-ima za spremanje vaih podataka ili instaliranje novog "
-"software-a.\n"
-"\n"
-"\n"
-"\t* Ekspertni mod: Ukoliko elite particionirati runo va hard disk, moete "
-"izabrati ovu opciju. Budite paljivi prije\n"
-"\t izabiranja ovog rjeenja. Vrlo je mono, ali i vrlo opasno. Moete "
-"izgubiti sve vae podatke vrlo lako. Zato,\n"
-"\t nemojte izabrati ovo rjeenje ukoliko ne znate to radite."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"U ovoj toki instalacije, trebate izabrati koje\n"
-"partiticije ete koristiti za instalaciju vaeg novog Linux-Mandrake "
-"sustava. Ukoliko su\n"
-"particije ve definirane (iz prethodne instalacije GNU/Linux-a ili iz\n"
-"drugih particijskih alata), moete koristiti postojee particije. U drugim "
-"sluajevima,\n"
-"hard disk particije moraju biti definirane.\n"
-"\n"
-"\n"
-"Za pravljenje particija, morate prvo izabrati hard disk. Moete izabrati \n"
-"disk za particioniranje klikanjem na \"hda\" za prvi IDE disk, \"hdb\" za\n"
-"drugi ili \"sda\" za prvi SCSI disk i tako dalje.\n"
-"\n"
-"\n"
-"Za particioniranje izabranog hard diska, moete izabrati ove opcije:\n"
-"\n"
-" * Obrii sve: ova opcija e obrisati sve raspoloive particije na "
-"odabranom hard disku.\n"
-"\n"
-"\n"
-" * Auto alokacija: ova opcija vam dozvoljava da automatski napravite Ext2 "
-"i swap particije u slobodnom prostoru vaeg\n"
-" hard diska.\n"
-"\n"
-"\n"
-" * Spasi particijsku tablicu: ukoliko je vaa particijska tablica "
-"oteena, moete probati spasiti ju koristei ovu opciju. Molimo\n"
-" budite paljivi i zapamtite da ne mora biti uspjena.\n"
-"\n"
-"\n"
-" * Povrati: moete koristiti ovu opciju za odustajanje od vaih promjena.\n"
-"\n"
-"\n"
-" * Ponovno uitaj: moete koristiti ovu opciju ukoliko elite vratiti "
-"unazad sve promjene i uitati vau inicijalnu particijsku tablicu\n"
-"\n"
-"\n"
-" * arobnjak: ukoliko elite koristiti arobnjak za particioniranje vaeg "
-"hard diska, moete koristiti ovu opciju. Preporueno je ukoliko \n"
-" nemate dovoljno znanja oko particioniranja.\n"
-"\n"
-"\n"
-" * Vrati sa diskete: ukoliko ste spremili vau particijsku tablicu na "
-"disketu tijekom prijanje instalacije, moete\n"
-" ju vratiti koristei ovu opciju.\n"
-"\n"
-"\n"
-" * Spremi na disketu: ukoliko elite spremiti vau particijsku tablicu na "
-"disketu kako biste ju mogli kasnije vratiti, moete koristiti ovu\n"
-" opciju. Jako je preporuljivo koristiti ovu opciju\n"
-"\n"
-"\n"
-" * Zavri: kada ste zavrili s particioniranjem vaeg hard diska, "
-"koristite ovu opciju za spremanje vaih promjena.\n"
-"\n"
-"\n"
-"Za informaciju, moete dohvatiti bilo koju opciju koristei tastaturu: "
-"navigiranje kroz particije se obavlja koristei Tab i Up/Down strelice.\n"
-"\n"
-"\n"
-"Kada je particija odabrana, moete koristiti:\n"
-"\n"
-" * Ctrl-c za pravljenje novih particija (kada je prazna particija "
-"izabrana)\n"
-"\n"
-" * Ctrl-d za brisanje particije\n"
-"\n"
-" * Ctrl-m za postavljanje toke montiranja\n"
-" \n"
-"\n"
-" \n"
-"Ukoliko instalirate na PPC raunalo, eliti e te napraviti malu HFS "
-"'bootstrap' particiju od najmanje 1MB za koritenje\n"
-"od strane yaboot bootloader-a. Ukoliko se odluite za pravljenje malo vee "
-"particije, recimo 50MB, moete ju pronai korisnom za stavljanje\n"
-"dodatnog kernela i ramdisk slike u sluaju nude."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Gore su popisane postojee Linux particije pronaene na\n"
-"vaem hard disku. Moete zadrati izbore napravljene od strane arobnjaka, "
-"one su dobre za\n"
-"uobiajenu upotrebu. Ukoliko promjenite izbore, morate barem definirati "
-"root\n"
-"particiju (\"/\"). Nemojte izabrati premalu particiju jer neete moi \n"
-"instalirati dovoljno software-a. Ako elite spremati vae podatke na "
-"posebnoj particiji,\n"
-"trebate takoer izabrati \"/home\" (jedino mogue ako imate vie od jedne\n"
-"raspoloive Linux particije).\n"
-"\n"
-"\n"
-"Za informaciju, svaka particija je popisana kako slijedi: \"Ime\", "
-"\"Kapacitet\".\n"
-"\n"
-"\n"
-"\"Ime\" je kodirano kako slijedi: \"tip hard diska\", \"broj hard diska\",\n"
-"\"broj particije\" (naprimjer, \"hda1\").\n"
-"\n"
-"\n"
-"\"Tip hard diska\" je \"hd\" ukoliko je hard disk - IDE hard disk i \"sd\"\n"
-"ukoliko je on SCSI hard disk.\n"
-"\n"
-"\n"
-"\"Broj hard diska\" je uvijek slovo poslije \"hd\" ili \"sd\". Sa IDE hard "
-"diskovima:\n"
-"\n"
-" * \"a\" znai \"master hard disk na primarnom IDE kontroleru\",\n"
-"\n"
-" * \"b\" znai \"slave hard disk na primarnom IDE kontroleru\",\n"
-"\n"
-" * \"c\" znai \"master hard disk na sekundarnom IDE kontroleru\",\n"
-"\n"
-" * \"d\" znai \"slave hard disk na sekundarnom IDE kontroleru\".\n"
-"\n"
-"\n"
-"Sa SCSI hard diskovima, \"a\" znai \"primarni hard disk\", \"b\" znai "
-"\"sekundarni hard disk\", itd..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Izaberite hard disk kojeg elite obrisati kako bi instalirali vau\n"
-"novu Linux-Mandrake particiju. Budite paljivi, svi postojei podaci biti e "
-"izgubljeni\n"
-"i nee se moi povratiti."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Izaberite \"U redu\" ukoliko elite obrisati sve podatke i\n"
-"postojee particije na navedenom hard disku. Budite paljivi, nakon "
-"klikanja\n"
-"na \"U redu\", neete moi povratiti bilo kakve postojee podatke ili "
-"particije\n"
-"na ovom hard disku, ukljuujui Windows podatke.\n"
-"\n"
-"\n"
-"Pritisnite na \"Odustani\" za prekidanje ove operacije bez gubljenja bilo\n"
-"kakvih postojeih podataka i particija na ovom hard disku."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Vie od jedne Microsoft Windows particije su pronaene\n"
-"na vaem hard disku. Molimo izaberite jednu kojoj elite promjeniti veliinu "
-"kako bi instalirali\n"
-"va novi Linux-Mandrake operativni sustav.\n"
-"\n"
-"\n"
-"Za informaciju, svaka particija je popisana kako slijedi; \"Linux ime\", "
-"\"Windows\n"
-"ime\" \"Kapacitet\".\n"
-"\n"
-"\"Linux ime\" je kodirano kako slijedi: \"tip hard diska\", \"broj hard diska"
-"\",\n"
-"\"broj particije\" (naprimjer, \"hda1\").\n"
-"\n"
-"\n"
-"\"Tip hard diska\" je \"hd\" ukoliko je hard disk - IDE hard disk i \"sd\"\n"
-"ukoliko je on SCSI hard disk.\n"
-"\n"
-"\n"
-"\"Broj hard diska\" je uvijek slovo poslije \"hd\" ili \"sd\". Sa IDE hard "
-"diskovima:\n"
-"\n"
-" * \"a\" znai \"master hard disk na primarnom IDE kontroleru\",\n"
-"\n"
-" * \"b\" znai \"slave hard disk na primarnom IDE kontroleru\",\n"
-"\n"
-" * \"c\" znai \"master hard disk na sekundarnom IDE kontroleru\",\n"
-"\n"
-" * \"d\" znai \"slave hard disk na sekundarnom IDE kontroleru\".\n"
-"\n"
-"\n"
-"Sa SCSI hard diskovima, \"a\" znai \"primarni hard disk\", \"b\" znai "
-"\"sekundarni hard disk\", itd...\n"
-"\n"
-"\"Windows ime\" je slovo vaeg hard diska pod Windows-ima (prvi disk\n"
-"ili particija se zove \"C:\")."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Molimo budite strpljivi. Ova operacija moe potrajati nekoliko minuta."
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Svaka particija koja je novo definirana mora biti\n"
-"formatirana za koritenje (formatiranje znai pravljenje datotenog "
-"sustava).\n"
-"\n"
-"\n"
-"Trenutno, moete htjeti ponovno formatirati neke ve postojee particije "
-"kako bi obrisali\n"
-"podatke koje one posjeduju. Ukoliko elite to napraviti, molimo takoer "
-"izaberite particije\n"
-"koje elite formatirati.\n"
-"\n"
-"\n"
-"Molimo primjetite da nije nuno ponovno formatirati sve ve postojee "
-"particije.\n"
-"Morate ponovno formatirati particije koje sadre operativni sustav (poput \"/"
-"\",\n"
-"\"/usr\" ili \"/var\") ali ne morate ponovno formatirati particije koje "
-"sadre podatke\n"
-"koje elite zadrati (tipino /home).\n"
-"\n"
-"\n"
-"Molimo budite paljivi odabirom particija, poslije formatiranja, svi podaci "
-"e biti\n"
-"obrisani i neete ih moi povratiti.\n"
-"\n"
-"\n"
-"Pritisnite na \"U redu\" kada ste spremni za formatiranje particije.\n"
-"\n"
-"\n"
-"Pritisnite na \"Odustani\" kada elite izabrati druge particije za "
-"instalaciju vaeg novog\n"
-"Linux-Mandrake operativnog sustava."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Sada moete odabrati grupu paketa koje elite\n"
-"instalirati ili nadograditi.\n"
-"\n"
-"\n"
-"DrakX e tada provjeriti da li imate dovoljno mjesta za instalaciju svih "
-"odabranih. Ako ne,\n"
-"upozoriti e vas o tome. Ukoliko elite nastaviti svejedno, on e nastaviti "
-"sa\n"
-"instalacijom svih odabranih grupa, ali nee instalirati neke pakete od "
-"manjeg\n"
-"interesa. Na kraju popisa moete izabrati opciju \n"
-"\"Individualan izbor paketa\"; u tom sluaju morati ete pregledati \n"
-"vie od 1000 paketa..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Sada moete izabrati individualno sve pakete koje\n"
-"elite instalirati.\n"
-"\n"
-"\n"
-"Moete proiriti ili skupiti drvo klikajui na opcije u lijevom kutu\n"
-"prozora od paketa.\n"
-"\n"
-"\n"
-"Ukoliko preferirate da vidite pakete sortirane po abecednom redu, pritisnite "
-"na ikonu\n"
-"\"Promjeni ravno i grupno sortirano\".\n"
-"\n"
-"\n"
-"Ukoliko ne elite biti upozoreni o ovisnosti, pritisnite na \"Automatsku\n"
-"ovisnost\". Ako elite to, primjetite da odznaivanje jednog paketa moe "
-"tiho\n"
-"odznaiti nekoliko drugih paketa koji ovise o njemu."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Ako imate sve gore navedene CDove kliknite U redu.\n"
-"Ako nemate niti jedan od tih navedenih CDa kliknite Odustani.\n"
-"Ako imate samo neke od navedenih CDa odznaite one koje nemate i kliknite U "
-"redu."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Va novi Linux-Mandrake operativni sustav se trenutno instalira.\n"
-"Ova operacija bi trebala trajati nekoliko minuta (ovisi o veliini\n"
-"instalacije koju ste odabrali i brzini vaeg raunala).\n"
-"\n"
-"\n"
-"Molimo budite strpljivi."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Sada moete istestirati vaeg mia. Koristite tipke i kotai kako bi\n"
-"provjerili da li su postavke dobre. Ukoliko nisu, kliknite na \"Odustani\"\n"
-"za odabir nekih drugih upravljakih programa."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Molim odaberite ispravni port. Npr. COM1 port pod MS Windows-ima\n"
-"je imenovan ttyS0 pod GNU/Linux-om."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Ukoliko elite spojiti vae raunalo na Internet ili\n"
-"na lokalnu mreu molimo izaberite ispravnu opciju. Molimo ukljuite va "
-"ureaj\n"
-"prije nego izaberete ispravnu opciju kako bi ga DrakX automatski prepoznao.\n"
-"\n"
-"\n"
-"Ako nemate niti jednu vezu na Internet ili na lokalnu mreu, izaberite\n"
-"\"Onemogui umreavanje\".\n"
-"\n"
-"\n"
-"Ukoliko elite konfigurirati mreu kasnije poslije instalacije ili ako ste \n"
-"zavrili sa konfiguriranjem vae mrene veze, izaberite \"Zavri\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Nije pronaen modem. Molimo izaberite serijski port na kojem je prikljuen.\n"
-"\n"
-"\n"
-"Za informaciju. prvi serijski port (nazvan \"COM1\" pod Microsoft\n"
-"Windows-ima) se zove \"ttyS0\" pod Linux-om."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Sada moete unijeti opcije za pozivanje ISP-a. Ukoliko neznate\n"
-"ili niste sigurni to unijeti, ispravne informacije mogu se dobiti od vaeg\n"
-"pruatelja Internet usluga. Ukoliko ne unesete DNS (imenski posluitelj)\n"
-"informacije ovdje, te informacije e biti dobivene od vaeg pruatelja "
-"Internet\n"
-"usluga pri samom spajanju."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Ukoliko je va modem vanjski modem, molimo ukljuite ga sada kako bi ga "
-"DrakX pronaao automatski."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Molimo ukljuite va modem i izaberite ispravan model."
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Ukoliko niste sigurni da li su podaci gore\n"
-"toni ili neznate to treba unijeti, ispravne informacije\n"
-"moete dobiti od vaeg pruatelja internet usluga. Ukoliko ne unesete\n"
-"DNS (imenski posluitelj) informacije ovdje, ta e informacije biti "
-"dobivena\n"
-"od vaeg pruatelja Internet usluga pri samom spajanju."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Sada moete unijeti ime vaeg raunala ukoliko je potrebno. Ukoliko ne\n"
-"znate ili niste sigurni to trebate unijeti, ispravne informacije mogu\n"
-"biti dobivene od vaeg pruatelja Internet usluga."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Sada moete konfigurirati va mreni ureaj.\n"
-"\n"
-" * IP adresu: ukoliko ne znate adresu pitajte svojeg mrenog administratora "
-"ili ISP-a.\n"
-" Ne biste trebali unijeti IP adresu ukoliko ste izabrali opciju "
-"\"Automatskog IP-a\" ispod.\n"
-"\n"
-" * Mrena maska: Obino je maska \"255.255.255.0\" dobar izbor. Ako niste "
-"sigurni \n"
-"raspitajte se kod mrenog administratora.\n"
-"\n"
-" * Automatski IP: Ukoliko vaa mrea koristi BOOTP ili DHCP protokol, "
-"odaberite ovu\n"
-"opciju. U ovom sluaju ne morate unijeti nita pod \"IP adresa\". Ako niste "
-"sigurni\n"
-"raspitajte se kod mrenog administratora."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Sada moete unijeti ime vaeg raunala ukoliko je potrebno. Ukoliko\n"
-"ne znate ili niste sigurni to unijeti, pitajte vaeg mrenog administratora."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Sada moete unijeti ime vaeg raunala ukoliko je potrebno. Ukoliko\n"
-"ne znate ili niste sigurni to unijeti, ostavite prazno."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Sada moete podesiti dial-up postavke. Ako niste sigurni to treba\n"
-"unijeti, raspitajte se kod svog ISP-a."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Ako elite koristiti proxye unesite ih sada. Ako niste sigurni\n"
-"da li imate proxye raspitajte se kod mrenog administratora ili ISP-a."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Sada moete instalirati kriptografske pakete ukoliko imate dobro podeenu "
-"internetu vezu.\n"
-"Prvo morate odabrati mirror sa kojeg e te skinuti pakete i\n"
-"nakon toga izabrati pakete koje elite izabrati.\n"
-"\n"
-"\n"
-"Primjetite da morate izabrati mirror i kriptografske pakete prema vaem\n"
-"zakonodavstvu."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Sada moete izabrati vau vremensku zonu po tome gdje ivite."
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"Linux koristi GMT (Srednje vrijeme po Greenwichu) koje onda preraunava\n"
-"u lokalno vrijeme u vaoj vremenskoj zoni koje ste odabrali.\n"
-"\n"
-"\n"
-"Ukoliko koristite Microsoft Windows na ovom raunalu, izaberite \"Ne\"."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Sada moete izabrati servise koje elite pokreniti pri podizanju.\n"
-"\n"
-"\n"
-"Kada va mi pree preko jedinke, mala balonska pomo e se pojaviti koja "
-"e\n"
-"opisati ulogu tog servisa.\n"
-"\n"
-"\n"
-"Budite vrlo paljivi u ovom koraku ako planirate koristiti ovo raunalo kao "
-"posluitelj: vjerojatno\n"
-"neete eliti pokrenuti neke servise koje ne trebate. Molimo\n"
-"zapamtite da neki servisi mogu biti opasni ukoliko su omogueni na "
-"posluitelju.\n"
-"Openito, izaberite samo one servise koje e te zaista trebati."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Moete podesiti lokalni pisa (spojen na vae raunalo) ili udaljeni\n"
-"pisa (dostupan preko Unix, Netware ili Microsoft Windows mree)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Ukoliko elite biti u mogunosti ispisivati, molimo izaberite jedan od "
-"ispisnih sustava izmeu\n"
-"CUPS i LPR-a.\n"
-"\n"
-"\n"
-"CUPS je novi, moan i fleksibilan ispisni sustav za Unix sustave (CUPS\n"
-"znai \"Common Unix Printing System\"). On je podrazumijevani ispisni sustav "
-"u\n"
-"Linux-Mandrake-u.\n"
-"\n"
-"\n"
-"LPR je stari ispisni sustav koriten u prijanjim Linux-Mandrake "
-"distribucijama.\n"
-"\n"
-"\n"
-"Ukoliko nemate pisa, izaberite \"Niti jedan\"."
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux moe raditi sa mnogim tipovima pisaa. Svaki od njih zahtjeva\n"
-"razliito postavljanje.\n"
-"\n"
-"\n"
-"Ako je va pisa fiziki povezan na vae raunalo, izaberite \"Lokalni\n"
-"pisa\".\n"
-"\n"
-"\n"
-"Ukoliko prisitupate pisau koji se nalazi na udaljenom Unix raunalu, "
-"izaberite\n"
-"\"Udaljeni pisa\".\n"
-"\n"
-"\n"
-"Ako elite pristupiti pisau koji se nalazi na udaljenom Microsoft Windows "
-"raunalu\n"
-"(ili na Unix raunalu koje koristi SMB protokol), izaberite \"SMB/Windows "
-"95/98/NT\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Molimo ukljuite va pisa prije nego nastaviti kako bi dopustili DrakX-u da "
-"ga pronae.\n"
-"\n"
-"Trebate unijeti neke informacije ovdje.\n"
-"\n"
-"\n"
-" * Ime pisaa: ispisni red koristi \"lp\" kao podrazumijevano ime pisaa. "
-"Zato, morate imati pisa imenovan \"lp\".\n"
-" Ukoliko imate samo jedan pisa, moete mu dati nekoliko imena. Samo ih "
-"trebate odvojiti sa cijev\n"
-" karakterom (\"|\"). Zato, ako preferirate neko bolje ime, morate ga "
-"staviti prije, primjer: \"Moj printer|lp\".\n"
-" Pisa koji ima \"lp\" u svom imenu biti e podrazumijevani pisa.\n"
-"\n"
-"\n"
-" * Opis: Ovo je opcionalno, ali moe biti korisno ukoliko imate nekoliko "
-"pisaa spojenih na vae raunalo ili ako dozvoljavate\n"
-" drugim raunalim da pristupe ovom pisau.\n"
-"\n"
-"\n"
-" * Lokacija: ako elite staviti neke informacije o vaem\n"
-" poloaju pisaa, stavite ju ovdje (slobodni ste napisati to\n"
-" elite. naprimjer \"2 kat\").\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Trebate unijeti neke informacije ovdje.\n"
-"\n"
-"\n"
-" * Ime reda: ispisni red koristi \"lp\" kao podrazumijevano ime pisaa. "
-"Zato, trebate imati pisa imenom \"lp\".\n"
-" Ako imate samo jedan pisa, moete koristiti nekoliko imena za njega. "
-"Samo ih trebate odvojiti cijev\n"
-" karakterom (\"|\"). Zato, ako preferirate da imate neko bolje ime, "
-"morate ga staviti prije, primjer: \"Moj printer|lp\".\n"
-" Pisa koji ima \"lp\" u svom imenu e biti podrazumijevani pisa.\n"
-"\n"
-"\n"
-" * Veza pisaa: Ukoliko je va pisa fiziki spojen na vae raunalo, "
-"izaberite \"Lokalni pisa\".\n"
-" Ukoliko elite pristupiti pisau koji se nalazi na udaljenom Unix "
-"raunalu, izaberite \"Udaljeni lpd pisa\".\n"
-"\n"
-"\n"
-" Ako elite pristupiti pisau koji se nalazi na udaljenom Microsoft "
-"Windows ralunalo (ili na Unix raunalu koji koristi SMB\n"
-" protokol), izaberite \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" Ukoliko elite pristupiti pisau koji se nalazi na NetWare mrei, "
-"izaberite \"NetWare\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Va pisa nije pronaen. Molimo unesite ime ureaja na\n"
-"koji je spojen.\n"
-"\n"
-"\n"
-"Za informaciju, veina pisaa je spojena na prvi paralelni port. On\n"
-"se zove \"/dev/lp0\" pod GNU/Linux-om i \"LPT1\" pod Microsoft Windows-ima."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Sada morate izabrati va pisa u gornjem popisu."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Molimo izaberite pravu opciju prema vaem pisau.\n"
-"Molimo pogledajte njegovu dokumentaciju ako neznate to izabrati ovdje.\n"
-"\n"
-"\n"
-"Moi ete testirati vau konfiguraciju u slijedeem koraku i moi ete ju "
-"promjeniti ako ne radi kako elite."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Sada moete unijeti root lozinku za va Linux-Mandrake sustav.\n"
-"Lozinka mora biti unijeta dva puta kako bi provjerili da su obje unijete "
-"lozinke identine.\n"
-"\n"
-"\n"
-"Root je sustavski administrator i jedini je korisnik kojemu je dozvoljeno "
-"mjenjanje \n"
-"sustavske konfiguracije. Dakle, izaberite lozinku paljivo. \n"
-"Neautorizirano koritenje root rauna moe biti jako opasno za integritet\n"
-"sustava, za njegove podatke i druge sustave koji su povezani s njim.\n"
-"\n"
-"\n"
-"Lozinka bi trebala biti pomjeana od alfanumerikih karaktera i mora biti\n"
-"najmanje 8 karaktera dugaka. Nikada ne smije biti zapisana.\n"
-"\n"
-"\n"
-"Nemojte postaviti lozinku previe dugaku ili kompliciranu, jer je se morate "
-"moi \n"
-"sjetiti bez previe napora."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Ako elite dodatnu sigurnost na sustavu odaberite \"Koristi shadow datoteku"
-"\" i\n"
-"\"Koristi MD5 lozinke\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Ukoliko vaa mrea koristi NIS odaberite \"Koristi NIS\". Ako niste sigurni\n"
-"raspitajte se kod svog mrenog administratora."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Sada moete napraviri jedan ili vie \"regularnog\" korisnikog rauna, \n"
-"suprotno od \"privilegiranog\" korisnikog rauna, root. Moete napraviti\n"
-"jedan ili vie rauna za svaku osobu kojoj elite dozvoliti koritenje\n"
-"raunala. Primjetite da e svaki korisniki rauna imati svoje vlastite\n"
-"postavke (grafiko okruje, postavke programa, itd.)\n"
-"i svoj vlastiti \"kuni direktorij\", u kojem su te postavke\n"
-"pohranjene.\n"
-"\n"
-"\n"
-"Prije svega, napravite raun za sebe! Iako ete biti samo jedan korisnik\n"
-"raunala, ne smijete se prijavljivati kao root za dnevno koritenje sustava: "
-"to je\n"
-"jako velik sigurnosni rizik. Napraviti sustav nekorisnim je obino samo "
-"tipku daleko.\n"
-"\n"
-"\n"
-"Dakle, trebali biste se prijaviti na sustav koristei korisniki raun\n"
-"i kojega ste ovdje napravili, i prijaviti se kao root samo za "
-"administriranje\n"
-"i namjene odravanja."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Pravljenje boot diskete je visoko preporueno. Ako ne moete\n"
-"podii vae raunalo, to je jedini nain za spaavanje vaeg sustava bez\n"
-"ponovnog instaliranja."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Sada moete odabrati gdje elite\n"
-"staviti informacije potrebne za bootiranje Linuxa.\n"
-"\n"
-"\n"
-"Ako ne znate to odabrati odaberite \"Prvi sektor \n"
-"diska (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Ako niste sigurni uobiajeni izbor je \"/dev/hda\" (primarni \n"
-"master IDE disk) ili \"/dev/sda\" (prvi SCSI disk)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (the LInux LOader) i Grub su bootloaderi: oni su u mogunosti podii\n"
-"ili GNU/Linux ili bilo koji drugi postojei operativni sustav na vaem "
-"raunalu.\n"
-"Normalno, ti drugi operativni sustavi su ispravno pronaeni i\n"
-"instalirani. Ako to nije sluaj, moete ga dodati runo na ovom\n"
-"zaslonu. Budite paljivi da izaberete ispravne parametre.\n"
-"\n"
-"\n"
-"Takoer ete poeliti ne dati pristup tim drugim operativnim sustavima\n"
-"drugima, u tom sluaju moete obrisati odgovarajue unose. Ali\n"
-"u tom sluaju, trebati ete boot disketu kako bi ih mogli podii!"
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILO i grub glavne opcije su:\n"
-" - Boot ureaj: postavlja se ime ureaja (npr. hard disk\n"
-"particija) koja sadri boot sektor. Ukoliko neznate specifino,\n"
-"izaberite \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Pauza prije podizanja podrazumijevane slike: Specifira broj destinke\n"
-"sekunde koliko e boot loader ekati prije podizanja prve slike.\n"
-"Ovo je korisno na sustavima na kojima se odmah podie sa hard diska poslije\n"
-"omoguavanje tastature. Boot loader ne eka ukoliko je \"pauza\" "
-"izostavljena\n"
-"ili postavljena na nulu.\n"
-"\n"
-"\n"
-" - Video mod: ovo specifira VGA tekst mod koji e biti odabran\n"
-"prilikom podizanja. Slijedee vrijednosti su raspoloive: \n"
-"\n"
-" * normalno: izabire normalan 80x25 tekst mod.\n"
-"\n"
-" * <broj>: koristi odgovarajui tekst mod. - Obrii \"/tmp\" prvi "
-"svakom podizanju: ukoliko elite obrisati sve datoteke i direktorije\n"
-"spremljene u \"/tmp\" kada podiete va sustav, izaberite ovu opciju.\n"
-"\n"
-"\n"
-" - Precizan RAM ako je potrebno: na nesreu, nema standardne metode za "
-"pitati \n"
-"BIOS o veliini RAM-a koji se nalazi u vaem raunalu. Kao posljedica, Linux "
-"moe\n"
-"pogreno pronai ispravnu veliinu RAM-a. Ukoliko je to sluaj, moete\n"
-"specifirati ispravnu veliinu RAM-a ovdje.Molimo primjetite da je razlika od "
-"2 ili 4\n"
-"MB izmeu pronaene memorije i memorije koja se nalazi u vaem sustavu je "
-"normalna."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot je bootloader za NewWorld MacIntosh hardware. U mogunosti je\n"
-"podii ili GNU/Linux, MacOS, ili MacOSX, ukoliko postoje na vaem raunalu.\n"
-"Normalno, ti drugi operativni sustavi su ispravno pronaeni i\n"
-"instalirani. Ukoliko to nije sluaj, moete dodati unos runo na ovom\n"
-"zaslonu. Budite paljivi da izaberete ispravne parametre.\n"
-"\n"
-"\n"
-"Yaboot glavne opcije su:\n"
-"\n"
-"\n"
-" - Init Poruka: Jednostavna tekst poruka koja se prikae prije pitanja o\n"
-"podizanju.\n"
-"\n"
-"\n"
-" - Boot Ureaj: Oznaava gdje elite staviti informaciju potrebnu za \n"
-"podizanje GNU/Linux-a. Openito, morati ete imati postavljenu bootstrap "
-"particiju prije, \n"
-"da moe drati ovu informaciju.\n"
-"\n"
-"\n"
-" - Otvorena Firmware Pauza: Za razliku od LILO-a, postoje dvije raspoloive "
-"pauze sa\n"
-"yaboot-om. Prva pauza se mjeru sekundama i na tom mjestu moete \n"
-"birati izmeu CD-a, OF boot-a, MacOS-a ili Linux-a.\n"
-"\n"
-"\n"
-" - Kernel Boot ekanje: Ovo ekanje je slino LILO boot ekanju. Poslije \n"
-"izabiranja Linux-a, imati ete pauzu od 0.1 sekunde prije nego "
-"podrazumijevani\n"
-"kernel opis bude odabran.\n"
-"\n"
-"\n"
-" - Omogui CD Boot?: Postavljanje ove opcije e vam dozvoliti da moete "
-"izabrati 'C' za CD na\n"
-"prvom pitanju pri podizanju.\n"
-"\n"
-"\n"
-" - Omogui OF Boot?: Postavljanje ove opcije e vam dozvoliti da moete "
-"izabrati 'N' za Open\n"
-"Firmware prvi prvom pitanju pri podizanju.\n"
-"\n"
-"\n"
-" - Podrazumijevani OS: Moete izabrati koji OS ete podii podrazumijevano "
-"kada Open Firmware \n"
-"pauza istekne."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"Moete dodati dodatne unose za yaboot, ili za drugi operativni sustav,\n"
-"alternativne kernele, ili za spasonosnu boot sliku.\n"
-"\n"
-"\n"
-"Za druge OS-ove - unos se sastoji samo od labele i root particije.\n"
-"\n"
-"\n"
-"Za Linux, postoji nekoliko moguih opcija: \n"
-"\n"
-"\n"
-" - Labela: Ovo je jednostavno ime koje ete napisati u yaboot promptu za "
-"odabir ove \n"
-"boot opcije.\n"
-"\n"
-"\n"
-" - Slika: Ovo e biti ime kernela pri podizanju. Tipino vmlinux ili\n"
-"varijacija vmlinux-a sa ekstenzijom.\n"
-"\n"
-"\n"
-" - Root: root ureaj ili '/' za vau Linux instalaciju.\n"
-"\n"
-"\n"
-" \n"
-" - Dodatak: Na Apple hardware-u, kernel dodatak opcija se koristi vrlo "
-"esto za\n"
-"pomo pri inicijaliziranju video hardware-a, ili za omoguavanje emulacije "
-"tastaturnih mijih gumba\n"
-"zbog estog nedostatka 2-og ili 3-eg mijeg gumba na Apple mievima. "
-"Slijedee \n"
-"su neki primjeri:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: Ova opcija se moe koristiti ili za uitavanje inicijalnih "
-"modula, prijenego to je boot\n"
-"ureaj raspoloiv, ili za uitavanje ramdisk slike za spasonosne boot "
-"situacije.\n"
-"\n"
-"\n"
-" - Initrd-veliina: Podrazumijevana veliina ramdisk-a je openito 4096 "
-"byte-ova. Ukoliko trebate\n"
-"alocirati vei ramdisk, ova opcija moe biti koritena.\n"
-"\n"
-"\n"
-" - itaj-Pii: Normalno je 'root' particija inicijalno podignuta u itaj-"
-"samo, za mogunost\n"
-"provjere datotenog sustava prije nego sustav postane 'iv'. Moete "
-"nadjaati ovu opciju ovdje.\n"
-"\n"
-"\n"
-" - NoVideo: Ako se Apple hardware pokae kao iznimno problematian, moete\n"
-"izabrati ovu opciju za podizanje u 'novideo' modu, sa native framebuffer "
-"podrkom.\n"
-"\n"
-"\n"
-" - Podrazumijevano: Izabire ovaj unos kao podrazumijevani Linux izbor, "
-"mogue izbirati sa samo\n"
-"pritiskom ENTER-a na yaboot pitanju. Ovaj unos e takoer biti oznaen sa "
-"'*', ukoliko\n"
-"koristite TAB za pregledavanje boot izbora."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO je bootloader za SPARC: on je u mogunosti podignuti\n"
-"ili GNU/Linux ili bilo koji drugi postojei operativni sustav na vaem "
-"raunalu.\n"
-"Normalno, ti drugi operativni sustavi su ispravno detektirani i\n"
-"instalirani. Ukoliko to nije sluaj, moete dodati unos runo na ovom\n"
-"zaslonu. Budite paljivi da izaberete ispravne parametre.\n"
-"\n"
-"\n"
-"Takoer ete moda poeljeti nedati pristup tim drugim operativnim "
-"sustavima\n"
-"nikome, u tom sluaju moete obrisati odgovarajue unose. Ali\n"
-"u tom sluaju, trebati ete boot disketu da bi ih podigli!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"SILO glavne opcije su:\n"
-" - Bootloader instalacija: Oznaava gdje elite postaviti\n"
-"zahtjevane informacije za podizanje GNU/Linux-a. Ukoliko ne znate tono\n"
-"to radite, izaberite \"Prvi sektor diska (MBR)\".\n"
-"\n"
-"\n"
-" - Pauza prije bootiranja podrazumijevane slike: Specifira broj u "
-"desetinkama\n"
-"sekunde koliko e boot loader ekati prije nego podigne prvu sliku.\n"
-"Ovo je korisno na sustavima na kojima se sustav podie odmah sa hard diska "
-"poslije\n"
-"omoguivanja tastature. Boot loader ne eka ukoliko je \"pauza\"\n"
-"izostavljena ili postavljena na nulu."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Sada je vrijeme za konfiguriranje X Window Sustava, to je\n"
-"jezgra GNU/Linux GUI-a (Grafikog Korisnikog Suelja). Za ovu namjenu,\n"
-"morate konfigurirati vau video karticu i monitor. Veina tih\n"
-"koraka je automatizirano, dakle, va rad se moe sastojati\n"
-"od samog provjeravanja to je uraeno i prihvaanja postavki :)\n"
-"\n"
-"\n"
-"Kada je konfiguracija zavrena, X-i e biti pokrenuti (ako DrakX-u\n"
-"niste rekli suprotno) tako da moete provjeriti i vidjeti da li\n"
-"vam postavke odgovaraju. Ukoliko ne, moete doi kasnije i\n"
-"promjeniti ih, koliko god puta je potrebno."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Ukoliko je X pogreno podeen koritenjem ovih opcija moete\n"
-"ispravno podesiti X Window sustav."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Ukoliko preferirate grafiku prijavu odaberite \"Da\". U protivnom, "
-"odaberite \"Ne\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Moete izabrati sigurnosnu razinu za va sustav. Molimo pogledajte upute za "
-"kompletnu\n"
-" informaciju. Jednostavno, ako ne znate to izabrati, zadrite postavljenu "
-"opciju.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Va sustav e sada rebootirati.\n"
-"\n"
-"Nakon reboot-a va novi Linux Mandrake sustav e se automatski uitati.\n"
-"Ukoliko elite bootirati neki drugi postojei operativni sustav molim "
-"proitajte\n"
-"dodatne upute."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Odaberite jezik"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Odaberite razred instalacije"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Otkrivanje hard diskova"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Podesi mi"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Odaberite tipkovnicu"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Sigurnost"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Podesi datotene sustave"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Formatiraj particije"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Izabir instaliranih paketa"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Instaliraj sustav"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Podeavanje root lozinke"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Dodaj korisnika"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Podesi mreu"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Sumarno"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Podeavanje servisa"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Napravi boot disketu"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Instaliraj bootloader"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Podesi X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Izlaz iz instalacije"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"Izabrali ste slijedee posluitelje: %s\n"
-"\n"
-"\n"
-"Ti posluitelji biti e postavljeno aktivirani. Oni nemaju poznatih "
-"sigurnosnih\n"
-"propusta, ali neki novi mogu biti pronaeni. U tom sluaju, morate ga "
-"nadograditi\n"
-"to prije mogue.\n"
-"\n"
-"\n"
-"Da li zaista elite instalirati te posluitelje?\n"
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "Ne mogu koristiti broadcast bez NIS domene"
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Umetnite FAT formatiranu disketu u pogon %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Ova disketa nije FAT formatirana"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Za koritenje spremljenog odabira paketa, podignite instalaciju sa ``linux "
-"defcfg=floppy''"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Greka prilikom itanja datoteke $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "U redu"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Molimo istestirajte mia."
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Za aktiviranje mia,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "POMAKNITE VA KOTAI!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Neki hardware na vaem raunalu treba ``vlasnike'' upravljake programe\n"
-"kako bi proradio. Moete nai vie informaciju o tome na: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Morate imati root particiju.\n"
-"Prvo napravite particiju (ili kliknite na postojeu) te\n"
-"odaberite akciju ``Mjesto monitranja'' te odaberite `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Morate imati swap particiju"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Swap particija ne postoji\n"
-"\n"
-"Da ipak nastavim?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Koristi slobodan prostor"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Nema dovoljno slobodnog prostora za pravljenje novih particija"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Koristi postojee particije"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Nema postojeih particija koje bih mogao upotrijebiti"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Koristi Windows particiju za loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Koju particiju elite koristiti za Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Odaberite veliinu"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Veliina korijenske particije u MB: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Veliina swap particiju u MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Iskoristi slobodan prostor na Windows particiji"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Kojoj particiji elite promijeniti veliinu?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Izraunavam granice Windows datotenog sustava"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"Program koji mjenja veliinu FAT-a ne moe rukovati vaom particijom, \n"
-"slijedea greka se dogodila: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Vaa Windows particija je prefragmentirana, molim pokrenite ``defrag'' prvo."
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"UPOZORENJE!\n"
-"\n"
-"DrakX sada mora promijeniti veliinu vae Windows particije\n"
-"Budite vrlo oprezni budui da je ova operacija\n"
-"izuzetno opasna. Ukoliko jo niste mijenjali veliinu particije molim\n"
-"pokrenite scandisk (a preporuamo i defrag) i provjerite particiju koju\n"
-"elite mijenjati. Takoer preporuljivo je da backupirati sve podatke sa "
-"Windows particije.\n"
-"Kada ste sigurni da elite nastaviti, pritisnite U redu."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Koliku veliinu elite zadrati za windowse"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "particija %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Mijenjanje FAT veliine nije uspjelo: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Nema FAT particije za mjenjanje veliine ili za koritenje loopback-a (ili "
-"nema dovoljno prostora)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Obrii cijeli disk"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Ukloni Windowse(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Imate vie od jednog hard diska, na koji elite instalirati Linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "SVE postojee particije i podaci biti e izgubljeni na disku %s"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Proizvoljno particioniranje diska"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "Koristi fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Sada moete razdijeliti %s.\n"
-"Kada ste gotovi ne zaboravite spremiti postavu sa `w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Nemate dovoljno slobodnog prostora na vaoj Windows particiji"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Ne mogu pronai bilo kakvo mjesto za instaliranje"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "DrakX arobnjak za particioniranje je pronaao slijedea rjeenja:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Particioniranje neuspjelo: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Podiem mreu"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Onemoguujem mreu"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Dogodila se greka, ali neznam kako s njom lijepo rukovati.\n"
-"Nastavite dalje na vlastiti rizik."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Dupliciraj mjesto monitranja %s"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Neki vani paketi nisu se instalirali pravilno.\n"
-"Ili je va cdrom pogon ili cd medij u defektu.\n"
-"Provjerite cdrom na instaliranom raunalu koristei \"rpm -qpl Mandrake/RPMS/"
-"*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Dobrodoli u %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Disketni pogon nije dostupan"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Pokreem korak `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Izaberite veliinu koji elite instalirati"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Ukupna veliina:"
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Inaica: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Veliina: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Odaberite pakete koje elite instalirati"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Instaliraj"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Instaliram"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Molim priekajte, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Preostalo vrijeme"
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Ukupno vrijeme"
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Pripremam instalaciju"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Instaliram paket %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Da ipak nastavim?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Javila se greka prilikom sortiranja paketa:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Da koristim postojeu postavu X11?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Va sustav je slab na resursima. Moete imati nekih problem prilikom\n"
-"instalacije Linux-Mandrake-a. Ukoliko se to desi, moete probati tekstualnu\n"
-"instalaciju. Za to, pritisnite `F1' kada podiete CDROM, i unesite `text'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Molim izaberite jedan od slijedeih razreda instalacije:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Ukupna veliina izabranih grupa je otprilike %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Ukoliko elite instalirati manje od ove veliine,\n"
-"izaberite postotak paketa koliko elite instalirati.\n"
-"\n"
-"Mali postotak e instalirati samo najvanije pakete;\n"
-"dok postotak od 100%% e instalirati sve odabrane pakete."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Imate mjesta na vaem disku za samo %d%% paketa.\n"
-"\n"
-"Ukoliko elite instalirati manje od ovoga,\n"
-"izaberite postotak paketa koliko elite instalirati.\n"
-"Mali postotak e instalirati samo najvanije pakete;\n"
-"dok postotak od %d%% e instalirati koliko god je paketa mogue."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Detaljniji izbor nalazi se u slijedeem koraku."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Odaberite postotak paketa koje elite instalirati"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Odabir grupe paketa"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Individualan odabir paketa"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Prikai automatski odabrane pakete"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Proiri stablo"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Sami stablo"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Prebaci izmeu ravno i grupno sortiranog"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Lo paket"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Ime: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Znaaj: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Ukupna veliina: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Ne moete oznaiti ovaj paket budui da nema dovoljno mjesta gdje ga se moe "
-"instalirati"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Slijedei paketi e biti instalirani"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Slijedei paketi e biti uklonjeni"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Ne moete oznaiti/odznaiti ovaj paket"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Budui da je ovo obvezni paket ne moete ga odznaiti"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Ne moete odznaiti ovaj paket budui da je ve instaliran"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Ovaj paket treba nadograditi\n"
-"Da li ste sigurni da ga elite odznaiti?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Ne moete odznaiti ovaj paket budui da ga treba nadograditi"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Procjenjujem"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Molimo priekajte, Pripremam instalaciju"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d paketa"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Upozorenje\n"
-"\n"
-"Molimo proitajte paljivo injenice nie. Ukoliko se ne slaete sa bilo\n"
-"kojim dijelom, nemate dozvolu instalirati slijedei CD medij. Pritisnite "
-"'Odbij' \n"
-"za nastavak instalacije bez koritenja ovog medija.\n"
-"\n"
-"\n"
-"Neke komponente sadrane u slijedeem CD mediju nisu pokrivene\n"
-"GPL licencom ili slinim ugovorom. Svaka takva komponenta je tada\n"
-"pokrivena stavkama i uvjetima svojim vlastitim specifinim licencama. \n"
-"Molimo proitajte paljivo i sloite se specifinim licencama prije \n"
-"vaeg koritenja ili redistribuiranja navedenih komponenti. \n"
-"Takve licence openito zabranjuju prijenos, dupliciranje \n"
-"(osim za spasonosne kopije), redistribuciju, reverzno inenjerstvo, \n"
-"disasembliranje, dekompilaciju ili promjenu komponente. \n"
-"Svako krenje ugovora e odmah prekinuti vaa prava kod\n"
-"specifine licence. Ako vam stavke specifine licence ne odobre takva\n"
-"prava, obino ne moete instalirati programe na vie od jednog\n"
-"sustava, ili prilagoditi ga za koritenje na mrei. Ako ste u nedoumici,\n"
-"kontaktirajte direktno distributera ili urednika komponente. \n"
-"Prijenos treim osobama ili kopiranje takvih komponenti ukljuujui \n"
-"dokumentaciju je obino zabranjeno.\n"
-"\n"
-"\n"
-"Sva prava na komponente slijedeeg CD medija pripadaju njihovim \n"
-"uvaenim autorima i zatieni su intelektualnim vlasnitvom i \n"
-"autorskim zakonima primjenjivim na software-ske programe.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Prihvati"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Odbij"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Promjenite va Cd-Rom!\n"
-"\n"
-"Ubacite Cd-Rom oznaen \"%s\" u va pogon i pritisnite U redu kada "
-"zavrite.\n"
-"Ukoliko ga nemate, pritisnite Odustani kako bi izbjegli instalaciju sa ovog "
-"Cd-Rom-a."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Pojavila se greka kod instalacije paketa:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Pojavila se greka"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Molim izaberite jezik koji elite koristiti."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "Moete izabrati druge jezike koji e biti dostupni nakon instalacije"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Sve"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Licencni dogovor"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Uvod\n"
-"\n"
-"Operativni sustav i njegove razliite komponente raspoloive u Linux-"
-"Mandrake distribuciji \n"
-"e se zvati \"Software-ski Produkti\" daljnje u tekstu. Software-ski "
-"Produkti ukljuuju, ali nisu \n"
-"ogranieni na, skup programa, metoda, zakona i dokumentacija vezanih uz "
-"operativni\n"
-"sustav i razliite komponente Linux-Mandrake distribucije.\n"
-"\n"
-"\n"
-"1. Licencni Dogovor\n"
-"\n"
-"Molimo paljivo proitajte ovaj dokument. Ovaj dokument je licenci dogovor "
-"izmeu vas i \n"
-"MandrakeSoft S.A. koji se primjenjuje na Software-ske produkte.\n"
-"Instaliranjem, dupliciranjem ili koritenjem Software-skih Produkata u bilo "
-"kojem obliku,eksplicitno \n"
-"prihvaate i potpuno se slaete da ete prihvatiti stavke i uvjete ove "
-"Licence. \n"
-"Ukoliko se ne slaete sa bilo kojim dijelom licence, nije vam dozvoljeno "
-"instalirati, duplicirati ili koristiti \n"
-"Software-ski produkt. \n"
-"Svaki pokuaj instalacije, dupliciranja ili koritenja Software-skog "
-"Produkta u obliku kojem ne prilii \n"
-"sa stavkama i uvjetima ove licence je prazno i unititi e vaa prava pod "
-"ovom\n"
-"Licencom. Uslijed unitenja licence, morate odmah uniititi sve kopije \n"
-"Software-skog Produkta.\n"
-"\n"
-"\n"
-"2. Ogranieno Jamstvo\n"
-"\n"
-"Software-ski Produkt i pripadajua dokumentacija je pruena \"kako je\", bez "
-"jamstva, do \n"
-"mjere dozvoljene zakonom.\n"
-"MandrakeSoft S.A. nee, u bilo kojim sluajevima i do te mjere dozvoljene "
-"zakonom, biti odgovaran za bilo kakvu specijalnu,\n"
-"nesretnu, direktnu ili indirektnu tetu bilo kakvu (ukljuujui granice "
-"tete od gubitka\n"
-"posla, prestanka posla, financijskih gubitaka, legalnih plaanja i kazni "
-"posljedica sudskih \n"
-"presuda, ili bilo kakvih drugih posljedica gubitka) to je posljedica "
-"koritenja ili nemogunosti koritenja Software-skog \n"
-"Produkta, iako je MandrakeSoft S.A. bio upozoren od mogunosti takve \n"
-"tete.\n"
-"\n"
-"OGRANIENA ODGOVORNOST POVEZANA SA POSJEDOVANJEM ILI KORITENJEM ZABRANJENOG "
-"SOFTWARE-A U NEKIM ZEMLJAMA\n"
-"\n"
-"Do granice dozvoljene zakonom, MandrakeSoft S.A. ili njegovi distributori "
-"nee, u bilo kakvim sluajevima, biti \n"
-"odgovaran za bilo kakvu specijalnu, nesretnu, direktnu ili indirektnu tetu "
-"bilo kako (ukljuujui \n"
-"ograniene tete zbog gubitka posla, prekida posla, financijskog gubitka, "
-"legalnih plaanja \n"
-"i kazni posljedica sudskih presuda, ili bilo kakvih drugih "
-"posljedicagubitka) to je posljedica \n"
-"posjedovanja ili koritenja software-skih komponenti ili kao posljedica "
-"skidanja (download-a) software-skih komponenti \n"
-"sa jednog od Linux-Mandrake site-ova koja su zabranjena ili ograniena u "
-"nekim zemljama po lokalnim zakonima.\n"
-"Ova ograniena odgovornost se primjenjuje na, ali nije ograniena, jake "
-"kriptografske komponente \n"
-"ukljuene u Software-ski Produkt.\n"
-"\n"
-"\n"
-"3. GPL Licenca i sline licence\n"
-"\n"
-"Software-ski Prodkt se sastoji od komponenti napravljenih od raznih ljudi "
-"ili entiteta. Veliki \n"
-"broj tih komponenti je pokriveno pod stavkama i uvjetima GNU Ope Javne \n"
-"Licence, u daljnjem tekstu zvana \"GPL\", ili slinih licenci. Veliki broj "
-"tih licenci dozvoljava vam koritenje, \n"
-"dupliciranje, prilagoavanje ili redistribuciju komponenti koju ona pokriva. "
-"Molimo proitajte paljivo stavke \n"
-"i uvjete licencnog dogovora svake komponente prije koritenja bilo koje "
-"komponente. Bilo koje pitanje \n"
-"o licenci komponente trebao bi biti adresiran autoru komponente a ne "
-"MandrakeSoft-u.\n"
-"Programe razvijeni od strane MandrakeSoft S.A. su pokriveni GPL licencom. "
-"Dokumentacija napisana \n"
-"od strane MandrakeSoft S.A. je pokrivena specifinom licencom. Molimo "
-"pogledajte dokumentaciju za \n"
-"vie detalja.\n"
-"\n"
-"\n"
-"4. Prava na intelektualno vlasnitvo\n"
-"\n"
-"Sva prava komponenti Software-skog Produkta pripada njihovim uvaenim "
-"autorima i \n"
-"zatieni su intelektualnim vlasnitvom i autorskim zakonima primjenjivim na "
-"software-ske programe.\n"
-"MandrakeSoft S.A. zadrava svoje pravo za izmjenu ili prilagoavanje "
-"Software-skog Produkta, kao cijelinu ili u\n"
-"dijelovima, u svim sluajevima za sve namjene.\n"
-"\"Mandrake\", \"Linux-Mandrake\" i pripadajui logoi su zatieni prodajni "
-"znaci MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Dravni zakoni \n"
-"\n"
-"Ukoliko neki dio ovog dogovora govori nita, ilegalan ili neprikladan "
-"sudstvu, taj \n"
-"dio moe se iskljuiti iz ovog ugovora. Ali ostajete obveznu drugim "
-"primjenjivim sekcijama\n"
-"ugovora.\n"
-"Za stavke i uvjete ove Licence je nadlean zakon Francuske.\n"
-"Sve sporove oko stavaka licence e preferirano biti ureeno sudom. Kao "
-"zadnji \n"
-"izlaz, spor e biti predan odgovarajuem Sudu u Parizu - Francuska.\n"
-"Za bilo kakva pitanja o ovom dokumentu, molimo kontaktirajte MandrakeSoft S."
-"A. \n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Tipkovnica"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Molim izaberite raspored tipkovnice."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Ovdje je cijeli popis raspoloivih tipkovnica"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Instalacijski razred"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Koji instalacijski razred elite?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Instaliraj/Nadogradi"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Da li je ovo instalacija ili nadogradnja?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Preporueno"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Ekspert"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Dogradnja"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Molim izaberite koju vrstu mia koristite."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Port mia"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Izaberite na kojem serijskom portu je mi prikljuen."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Emulacija gumbova"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Emulacija 2 gumba"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Emulacija 3 gumba"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Podeavam PCMCIA kartice..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "Podeavam IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "nema dostupnih particija"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Traim particije kako bi pronaao mjesta montiranja"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Odaberite mjesta montiranja"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Ne mogu proitati particijsku tablicu, previe je koruptirana za mene :(\n"
-"Mogu pokuati sa brisanjem loih particija (SVI PODACI e biti "
-"izgubljeni!).\n"
-"Drugo rjeenje je onemoguiti DrakX-u da mjenja particijsku tablicu.\n"
-"(greka je %s)\n"
-"\n"
-"Da li se slaete da izgubite sve particije?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake nije uspio proitati vau particijsku tablice.\n"
-"Nastavite o vlastitoj odgovornosti."
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Korijenska particija"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Koja je korijenska particija (/) vaeg sustava?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"Morate ponovo pokrenuti sustav kako bi se aktivirala promjena particijske "
-"tablice"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Izaberite particije koje elite formatirati"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Provjeri za loe blokove?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Formatiram particije"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Stvaram i formatiram datoteku %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Nema dovoljno swapa za zavretak instalacije, molim dodajte jo"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Traim dostupne pakete"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Traim pakete koje mogu nadograditi"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Va sustav nema dovoljno prostora za instalaciju ili dogradnju (%d > %d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Kompletno (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimum (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Preporueno (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Prilagoeno"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr "Izabrana veliina je vea nego raspoloiv prostor"
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Ako imate sve dolje navedene CDove kliknite U redu.\n"
-"Ako nemate niti jedan od navedenih CD kliknite Odustani.\n"
-"Ako imate samo neke od dolje navedenih CDa odznaite one koje nemate i "
-"kliknite U redu."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom naslovljen \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Instaliram paket %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Postava nakon instalacije"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Sada imate mogunost za skidanje software-a za enkripciju.\n"
-"\n"
-"UPOZORENJE:\n"
-"\n"
-"Zbog razliitih opih zahtjeva primjenjivih na ovaj software i presuda\n"
-"raznih sudova, kupac i/ili krajnji korisnik ovog software-a treba se\n"
-"uvjeriti da zakoni njegovog/e sudstva dozvoljava mu/joj da skine, spremi\n"
-"i/ili koristi ovaj software.\n"
-"\n"
-"U dodatku kupac i/ili krajnji korisnik mora dijelom biti svjestan da ne "
-"prekri\n"
-"zakon svoga sudstva. Ukoliko kupac i/ili krajnji korisnik ne \n"
-"potuje stavke tih primjenjivih zakona, moe ga dovesti do ozbiljnih\n"
-"sankcija.\n"
-"\n"
-"U bilo kojem sluaju Mandrakesoft ili njegovi proizvoai i/ili nabavljaine "
-"mogu biti odgovorni\n"
-"za specijalne, indirektne ili sluajne tete bilo kako (ukljuujui, ali ne\n"
-"ograniana na gubitak profita, prekid posla, gubitak komercijalnih podataka\n"
-"i\n"
-"drugih novanih gubitaka, i eventualne odgovornosti i isplate naknade to "
-"treba biti plaeno\n"
-"odlukom suda) to je posljedica koritenja, posjedovanja ili samog\n"
-"skidanja ovog software-a, kojemu e kupac i/ili krajnji korisnik moe\n"
-"eventualno imati pristup poslije potpisivanja postojeeg ugovora/dogovora.\n"
-"\n"
-"\n"
-"Za bilo kakve upite u svezi ovog ugovora, molimo kontaktirajte \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Izaberite mirror sa kojeg elite skinuti pakete"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Spajam se na mirror kako bih pribavio popis dostupnih paketa"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Odaberite pakete za instalaciju."
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Koja je vaa vremenska zona?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Da li je va hardverski sat namjeten na GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "Udaljeni CUPS posluitelj"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Nema pisaa"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Mi"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Vremenska zona"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Pisa"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "ISDN kartica"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Zvuna kartica"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV kartica"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Koji ispisni sustav elite koristiti?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Bez lozinke"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr ""
-"Ova lozinka je prejednostavna (lozinka mora sadravati barem %d znakova)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Koristi NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "ute stranice"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Provjera autentinosti NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS domena"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS Posluitelj"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Proizvoljna boot disketa omoguava nain podizanja vaeg Linux sustava bez\n"
-"ovisnosti o normalnom bootloader-u. Ovo je korisno ukoliko ne elite "
-"instalirati\n"
-"SILO na va sustav, ili je drugi operativni sustav uklonio SILO, ili SILO "
-"ne\n"
-"eli raditi sa vaom konfiguracijom hardware-a. Proizvoljna boot disketa "
-"takoer moe biti koritena sa\n"
-"Mandrake spasonosnom slikom, omoguavajui tako lake spaavanje od raznih "
-"sustavskih\n"
-"greaka.\n"
-"\n"
-"Ako elite napraviti boot disketu za va sustav, ubacite disketu u prvi\n"
-" pogon i pritisnite \"U redu\"."
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Prvi disketni pogon"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Drugi disketni pogon"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Preskoi"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Proizvoljna boot disketa omoguava nain podizanja vaeg Linux sustava bez\n"
-"ovisnosti o normalnom bootloader-u. Ovo je korisno ukoliko ne elite "
-"instalirati\n"
-"LILO (ili grub) na va sustav, ili je drugi operativni sustav uklonio LILO, "
-"ili LILO ne\n"
-"eli raditi sa vaom konfiguracijom hardware-a. Proizvoljna boot disketa "
-"takoer moe biti koritena sa\n"
-"Mandrake spasonosnom slikom, omoguavajui tako lake spaavanje od raznih\n"
-" sustavskih greaka.\n"
-"Da li elite napraviti proizvoljnu boot disketu za va sustav?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "alim, meutim disketni pogon nije dostupan"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Izaberite disketni pogon koji elite koristiti za izradu boot diskete"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Umetnite disketu u pogon %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Stvaram boot disketu"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Pripremam bootloader"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Da li elite koristiti aboot?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Greka prilikom instalacije aboot-a, \n"
-"probati nasilno instalirati iako to moe unititi prvu particiju?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr ""
-"Instalacija bootloader-a nije uspjela. Prijavljena je slijedea greska:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Trebati ete promjeniti Otvoreni Firmware boot-ureaj kako bi\n"
-" omoguili bootloader. Ukoliko ne elite vidjeti bootloader prompt pri\n"
-" podizanju, pritisnite Command-Option-O-F pri podizanju i unesite:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Tada napiite: shut-down\n"
-"Pri slijedeem podizanju trebali biste vidjeti prompt bootloader-a."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Nizak"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Srednji"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Visok"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Izaberite sigurnosni nivo"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-"Da li elite generirati auto instalacijsku disketu za replikaciju linux-a?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Umetnite praznu disketu u pogon %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Pravim auto instalacijsku disketu"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Niste zavrili sve korake.\n"
-"\n"
-"elite li zbilja zavriti?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"estitam, instalacija je kompletna.\n"
-"Uklonite boot medij i pritisnite return za ponovno podizanje.\n"
-"\n"
-"Za informacije o popravcima koji su raspoloivi za ovo izdanje Linux-"
-"Mandrake-a,\n"
-"konzultirajte Eratu raspoloivu na http://www.linux-mandrake.com/.\n"
-"\n"
-"Informacije o konfiguriranju vaeg sustava je raspoloivo u poslije\n"
-"instalacijskom poglavlju od Official Linux-Mandrake User's Guide."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Napravi auto instalacijsku disketu"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Auto instalacija moe biti potpuno automatska ukoliko elite,\n"
-"u tom sluaju e preuzeti hard disk!!\n"
-"(ovo znai za instalaciju na drugo raunalo).\n"
-"\n"
-"Moete preferirati da ponovite instalaciju.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automatski"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Ponovno prikai"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Spremi odabir paketa"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux-Mandrake instalacija %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> izmeu elemenata | <Space> bira | <F12> slijedei zaslon"
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "kdesu nedostaje"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Napredno"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Molim priekajte"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Dvosmislenost (%s), budite precizniji\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Krivi izbor, pokuajte ponovo\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (uobiajeno %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Va izbor? (uobiajeno %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Va izbor? (uobiajeno %s unesite `none' za nijedan)"
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "eka (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Njemaka"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "panjolska"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finska"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Francuska"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norveka"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Poljska"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Ruska"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "UK tipkovnica"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "US tipkovnica"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armenska (stara)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armenska (pisaa maina)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armenska (fonetska)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbejdanska (latinica)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbejdanska (irilica)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgijska"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bugarska"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brazilska (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Bjeloruska"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "vicarska (Njemaki raspored)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "vicarska (francuski raspored)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "eka (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "eka (Programerska)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Njemaka (bez mrtvih tipaka)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Danska"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (USA)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norveka)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estonska"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Gruzijska (\"Ruski\" raspored)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Gruzijska (\"Latin\" raspored)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Grka"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Maarska"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Hrvatska"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Izraelska"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Izraelska (fonetska)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iranska"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islandska"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Talijanska"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japanska (106 tipaka)"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Korejska tipkovnica"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latino amerika"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Makedonska"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Nizozemska"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lituanska AZERTY (stara)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lituanska AZERTY (nova)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lituanska \"number row\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lituanska \"fonetska\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Poljska (qwerty raspored)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Poljska (qwertz raspored)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugalska"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanadska (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Ruska (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "vedska"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovenska"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovaka (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovaka (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slovaka (Programerska)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Tajlandska tipkovnica"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turska (tradicionalni \"F\" model)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turska (moderna \"Q\" model)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrajinska"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "US keyboard (internacionalna)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vijetnamska \"numeric row\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoslavenska (latinino/irilino)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Ukloni logiki volumen prvo\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun - mi"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standardno"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Generiki PS2 mi s kotaiem"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 gumb"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Generiki"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Kotai"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "serijski"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Generiki mi s 2 gumba"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Generiki mi s 3 gumba"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC serije"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Serije"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mi (serijski, stari C7 tip)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "busmi"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 gumba"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 gumba"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "niti jedan"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Nema mia"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Zavri"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Slijedee ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Prijanje"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Da li je ovo ispravno?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Postava Interneta"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Da li elite pokuati spajanje na Internet ?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Testiram vau vezu..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Sustav je sada spojen na Internet."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Zbog sigurnosnih razloga, biti e sada odspojen."
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"ini se kako sustav nije spojen na internet.\n"
-"Probajte ponovno podesiti vau vezu."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Mrene postavke"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN postavke"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Izaberite vaeg pruatelja Internet usluga.\n"
-" Ako nije na popisu odaberite Drugi"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Postava Veze"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Molim ispunite ili provjerite vrijednost doljnjeg polja"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ kartice"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Memorija kartice (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "IO kartice"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "IO_0 kartice"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "IO_1 kartice"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Va osobni telefonski broj"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Ime ISP pruatelja (npr. provider.hr)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Telef. broj pruatelja"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Pruateljev DNS 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Pruateljev DNS 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Nain biranja"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Korisniko ime"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Korisnika Lozinka"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Europa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Europa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Ostatak svijeta"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Ostatak svijeta \n"
-" bez D-kanala (za iznajmljene linije)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Koji protokol elite koristiti ?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Kakvu karticu posjedujete?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Ne znam"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Ukoliko imate ISA karticu, vrijednosti na slijedeem zaslonu trebale bi biti "
-"dobre.\n"
-"\n"
-"Ukoliko imate PCMCIA karticu, morate znati irq i io vae kartice.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Prekini"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Nastavi"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "Kakvu ISDN karticu imate?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Pronaao sam ISDN PCI karticu meutim ne znam kojeg je tipa. Molim izaberite "
-"vau PCI karticu na slijedeem ekranu."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Nisam naao niti jednu ISDN PCI karticu. Molim izaberite vau PCI karticu na "
-"slijedeem ekranu."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Nije pronaen niti jedan mreni adapter na vaem sustavu.\n"
-"Ne mogu postaviti ovu vrstu veze."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Odaberite mreni meusklop"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr ""
-"Molimo izaberite sa kojim mrenim adapterom se elite prikljuiti na Internet"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Mreni meusklop"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Da li se slaete?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Pokuavam ponovno pokrenuti mreni ureaj:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL postavke"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Da li elite pokreniti vau vezu kod svakog podizanja (boot) sustava ?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Izaberite serijski port na kojemu se nalazi modem."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Podesi dialup"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Ime veze"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefonski broj"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Prijavno ime"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Provjera autentinosti"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Temeljem skripta"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminal-zasnovano"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Ime domene"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Prvi DNS posluitelj (opciono)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Drugi DNS posluitelj (opciono)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-"Pokuavam ponovno pokrenuti mreni ureaj $netc->{NET_DEVICE}. Da li se "
-"slaete?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Moete iskljuiti ili ponovno konfigurirati vau vezu."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Moete ponovno konfigurirati vau vezu."
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Trenutno ste spojeni na internet."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Moete se spojiti na Internet ili ponovno konfigurirati vau vezu."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Niste trenutno spojeni na Internet."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Spoji se na Internet"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Prekini vezu na Internet"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Postavke mrenih veza (LAN ili Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Internet veza i postava"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "arobnjak mrenih postavki"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Vanjski ISDN modem"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Interna ISDN kartica"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Kakav tip ISDN veze koristite ?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Spoji se na Internet"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Najei nain da se poveete sa adsl-om je pppoe.\n"
-"Neke veze koriste pptp, a nekoliko koriste dhcp.\n"
-"Ukoliko neznate, izaberite 'koristi pppoe'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "koristi dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "koristi pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "koristi pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Pokuavam ponovno pokrenuti mreni ureaj %s. Da li se slaete?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Koji dhcp klijent elite koristiti?\n"
-"Pretpostavljeni je dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Mrene postavke"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Da li elite ponovno pokrenuti mreu?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"Problem se pojavio prilikom ponovnog pokretanja mree: \n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Poto radite mrenu instalaciju, vaa mrea je ve konfigurirana.\n"
-"Pritisnite U redu da zadrite postojee postavke, ili Odustani za ponovno "
-"konfiguriranje vae mrene/Internet veze.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Dobro Doli u arobnjak za podeavanje mree\n"
-"\n"
-"Sada emo konfigurirati vau internet/mrenu vezu.\n"
-"Ukoliko ne elite koristiti auto detekciju, odselektirajte kvadrati s "
-"potvrdom.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Izaberite profil za konfiguriranje"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Koristi auto detekciju"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Otkrivanje ureaja..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Normalna modemska veza"
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "detektiran na portu %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "ISDN veza"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "detektirano %s"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "DSL (ili ADSL) veza"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "detektirano na meusklopu %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Kablovska veza"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "LAN veza"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "ethernet kartica(e) pronaene"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Kako se elite spojiti na Internet?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"estitam, mrena i internet konfiguracija je zavrena.\n"
-"\n"
-"Konfiguracija e sada biti primjenjena na vaem sustavu."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Nakon to je to napravljeno, preporuamo da ponovno pokrenete vae X\n"
-"okruje kako bi izbjegli probleme prilikom promjene imena raunala."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "ne mogu pronai niti jednu mrenu karticu"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Podeavam mreu"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Molim unesite ime raunala ukoliko ga znate.\n"
-"Neki DHCP serveri zahtjevaju specifiranje imena raunala da bi radili.\n"
-"Vae ime raunala bi trebalo biti potpuno-kvalificirano ime raunala,\n"
-"kao to je ``mybox.mylab.myco.com''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Ime raunala"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"UPOZORENJE: Ovaj ureaj je bio prethodno konfiguriran za spajanje na "
-"Internet.\n"
-"Jednostavno prihvatite ovaj ureaj konfiguriran.\n"
-"Promjena polja nie e prepisati ovu konfiguraciju."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Molim unesite IP postavke za ovaj stroj.\n"
-"Svaka stavka treba biti unesena kao IP adresa odvojena\n"
-"tokama (npr. 1.2.3.4)"
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Podeavam mreni ureaj %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (upravljaki program $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "IP adresa"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Netmaska"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Automatski IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP adresa treba biti oblika 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Molim unesite ime raunala.\n"
-"Ime raunala treba biti puno ime raunala,\n"
-"primjerice mojeracunalo.odjel.domena.hr.\n"
-"Takoer unesite IP adresu gateway raunala ako gateway postoji"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS posluitelj"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Gateway"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Gateway ureaj"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Postava proxy-a"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP proxy"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Proxy treba biti http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Proxy treba biti ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Proirene particije nisu podrane na ovoj platformi"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Imate rupu u svojoj particijskoj tablici meutim ja je ne mogu iskoristiti.\n"
-"Jedino rjeenje je da pomaknete vau primarnu particiju kako bi rupa bila\n"
-"odmah do proirenih particija."
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Greka prilikom itanja datoteke %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Vraanje iz datoteke %s nije uspjelo: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Loa backup datoteka"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Greka prilikom pisanja u datoteku %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Neto loe se deava sa vaim pogonom. \n"
-"Test za provjeru integriteta podataka je neuspjean. \n"
-"To znai da pisanje bilo ega na va disk rezultira sluajnim smeem"
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "potrebno"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "vano"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "vrlo lijepo"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "lijepo"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "moda"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Lokalni pisa"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Postavke udaljenog pisaa"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Udaljeni lpd posluitelj"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Mreni pisa (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "URI Ureaja pisaa"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Iskuaj portove"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Pisa, model \"%s\", je otkriven na "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Ureaj lokalnog pisaa"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Na koji ureaj je va pisa spojen \n"
-"(napomena: /dev/lp0 je jednak LPT1:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Ureaj pisaa"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Postavke udaljenog lpd pisaa"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Ukoliko elite koristiti udaljeni lpd red morate unijeti\n"
-"ime ispisnog posluitelja te ime reda na posluitelju\n"
-"na koji elite ispisivati."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Udaljeno raunalo"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Udaljeni red"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Postavke SMB (Windows 9x/NT) pisaa"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Za ispis na SMB pisa, trebate navesti\n"
-"ime SMB domaina (Primjetite da moe biti razliit od TCP/IP imena "
-"raunala)\n"
-"i vjerojatno IP adresu posluitelja pisaa, kao i\n"
-"ime dijeljenog resursa za pisa kojem elite pristupiti i bilo koje\n"
-"primjenjivo korisniko ime, lozinku ili informacije o radnoj grupi."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB posluitelj"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP SMB posluitelja"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Ime sharea"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Radna grupa"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Postavke NetWare pisaa"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Za ispis na NetWare pisa, trebate navesti\n"
-"NetWare ime posluitelja pisaa (Primjetite da moe biti razliit od\n"
-"njegovog TCP/IP imena raunala!) kao i ime ispisnog reda za pia koji\n"
-"elite pristupiti kao i primjenjivo korisniko ime i lozinku."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Ispisni posluitelj"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Ime reda pisaa"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Opcije socket pisaa"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Za ispis na socket pisa, trebate navesti \n"
-"ime posluitelja od printera te opciono broj porta."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Ime posluitelja printera"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Moete specifirati direktno URI za pristup pisau sa CUPS-om."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Kakav tip pisaa posjedujete?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Da li elite iskuati pisa?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Ispisujem probnu stranicu(e)..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Probna stranica(e) poslana je na pisa.\n"
-"Ponekad je potrebno par sekundi prije nego pisa pone s ispisom.\n"
-"Stanje ispisa:\n"
-"%s\n"
-"\n"
-"Da li sve radi kako treba?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Probna stranica(e) poslana je na pisa.\n"
-"Ponekad je potrebno par sekundi prije nego pisa pone s ispisom.\n"
-"Da li sve radi kako treba?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Da, ispii ASCII probnu stranicu"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Da, ispii PostScript probnu stranicu"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Da, ispii obje probne stranice"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Postavke pisaa"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Postavke pisaa"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Veliina papira"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Izbaci stranu poslije posla?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Postavke uniprinter pokretakog programa"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Opcije dubine boje"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Ispii tekst kao PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Popravi stepenasti tekst?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Broj stranica po izlaznim stranicama"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Desna/lijeva margina u tokama (1/72 ina)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Gornja/donja margina u tokama (1/72 ina)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Dodatne GhostScript opcije"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Dodatne Tekst opcije"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Obrni redoslijed stranica"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Da li elite podesiti pisa?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Slijedee su redovi pisaa.\n"
-"Moete dodati jo koji ili urediti postojei."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS pokretanje"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "itam CUPS bazu upravljakih programa..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Odaberite vezu pisaa"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Kako je pisa povezan?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Odaberite vezu udaljenog pisaa"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Sa udaljenim CUPS posluiteljem, ne morate konfigurirati\n"
-"nijedan pisa ovdje; pisai e biti automatski detektirani.\n"
-"U sluaju nedoumice. izaberite \"Udaljeni CUPS posluitelj\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Sa udaljenim CUPS posluiteljem, ne morate konfigurirati\n"
-"nijedan pisa ovdje; pisai e biti automatski detektirani\n"
-"ukoliko nemate posluitelj na drugoj mrei; u tom sluaju,\n"
-"morate dati IP adresu CUPS posluitelja i opciono broj porta."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "IP CUPS posluitelja"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Broj porta bi trebao biti numeriki"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Ukloni red"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr "Ime pisaa moe sadravati samo slova, brojeve i podvlaku"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Svaki pisa treba ime (naprimjer lp).\n"
-"Drugi parametri kao opis pisaa ili njegova lokacija\n"
-"moe biti definirana. Koje ime e biti koriteno za ovaj pisa i\n"
-"kako je pisa povezan?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Ime pisaa"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Opis"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Lokacija"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Svaki ispisni red (gdje se alju poslovi ispisa) treba\n"
-"ime (esto lp) i posredniki direktorij vezan uz njega. Koje\n"
-"ime i direktorij e se koristiti za ovaj red i kako je pisa povezan?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Ime reda"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Posredniki direktorij"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Veza pisaa"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Ne mogu dodati particiju na _formatirani_ RAID md%d"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Ne mogu pisati u datoteku $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid nije uspio"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid nije uspio (moda niste instalirali raidtools alate?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Nema dovoljno particija za RAID nivo %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "Pokreni ALSA (Naprednu Linux Zvunu Arhitekturu) zvuni sustav"
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron periodno zakazivanje komandi"
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd slui za monitoriranje statusa i baterije i njegovo logiranje putem "
-"syslog-a.\n"
-"Takoer moe biti koriten za gaenje raunala kada je baterija slaba."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Pokree komande zakazane sa at komandom u specifirano vrijeme kada\n"
-"je at pokrenut, i pokree batch komande kada je prosjena zauzetost dovoljno "
-"niska."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"cron je standardan UNIX program koji pokree korisniki definirane programe\n"
-"u periodino zakazana vremena. vixie cron dodaje veliki broj korisnih "
-"funkcija obinom UNIX cron-u, ukljuujui bolju sigurnost i veu snagu "
-"konfiguracijskih opcija."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM dodaje podrku za miu tekst baziranim Linux aplikacijama kao to je\n"
-"Midnight Commander. Takoer prua mi baziranim konzolama odrei-i-zalijepi "
-"operacije,\n"
-"i ukljuuje podrku za iskoive menije u konzoli."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-"HardDrake pokree isprobavanje hardware-a, i opciono konfigurira\n"
-"novi/promjenjeni hardware."
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache je World Wide Web posluitelj. Koristi se za posluivanje HTML\n"
-"dokumenata i CGI skripti."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Internet superserver demon (najee zvan inetd) pokree \n"
-"razne druge internet servise po potrebi. Odgovoran je za pokretanje \n"
-"mnogo servisa, ukljuujui telnet, ftp, rsh, i rlogin. Iskljuivanje inetd-"
-"a\n"
-"onemoguuje sve servise za koje je zaduen."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-"Pokree paketno filtriranje za Linux kernel 2.2 serije, za postavljanje\n"
-"vatrozida za zatitu vaeg raunala od mrenih napada."
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Ovaj paket uitava odabranu tastaturnu mapu kao to je postavljenu u\n"
-"/etc/sysconfig/keyboard. Ona se moe odabrati koristei kbdconfig alat.\n"
-"Trebali biste ostaviti ovo ukljueno za veinu raunala."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-"Automatsko regeneriranje kernel header-a u /boot za\n"
-"/usr/include/linux/{autoconf,version}.h"
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr "Automatska detekcija i konfiguracija hardware-a pri podizanju."
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-"Linuxconf e ponekada urediti izvravanje raznih radnji\n"
-"pri samom podizanju kako bi odrao sustavsku konfiguraciju."
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd je daemon za ispis koji je potreban od lpr-a kako bi radio ispravno.\n"
-"On je pojednostavljeno posluitelj koji alje ispisne poslove pisau(ima)."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-"Linux Virtualni Posluitelj, koristi se za pravljenje visoko raspoloivog\n"
-"posluitelja visokih performansi."
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) je Domain Name Server (DNS) posluitelj koji se upotrebljava\n"
-"za razluivanje imena raunala u IP adrese."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Montira i Demontira sve Mrene datotene sustave (NFS), SMB (Lan\n"
-"Manager/Windows), i NCP (NetWare) toke montiranja."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Aktivira/Deaktivira sva podeena mrena suelja prilikom pokretanja\n"
-"sustava."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS je popularan protokol za dijeljenje datoteka putem TCP/IP mrea.\n"
-"Ovaj servis prua NFS posluiteljsku funkcionalnost, koji se konfigurira\n"
-"putem /etc/exports datoteke."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS je popularan protokol za dijeljenje datoteka putem TCP/IP mrea.\n"
-"Ovaj servis prua funkcionalnost NFS datotenog zakljuavanja."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"Automatski ukljuuje numlock tipku u konzoli i\n"
-"XFree-u pri podizanju."
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "Podrava OKI 4w i kompaktibilne win pisae."
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA podrka je obino za podravanje stvari poput ethernet i\n"
-"modema u laptopima. Ona nee biti pokrenuta ukoliko nije tako\n"
-" konfigurirana zato je sigurno pokrenuti ju iako na instaliranom\n"
-" raunalu ne treba."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Portmapper ureuje RPC vezama, koje su koritene u protokolima\n"
-"poput NFS-a ili NIS-a. Portmap posluitelj mora biti pokrenut na raunalima\n"
-"koji su posluitelji za protokole koji se slue RPC mehanizmima."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix je Mail Transport Agent, koji je program koji\n"
-"alje mail-ove sa jedne maine na drugu."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Sprema i vraa sustavsku entropiju za veu kvalitetu generiranja\n"
-"sluajnih brojeva."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-"Dodjeljuje raw ureaje (kao to su hard disk\n"
-"particije), za uporabu u aplikacijama kao to su Oracle"
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"Routed daemon omoguava automatsku IP ruter tablicu koja se obnavlja\n"
-"putem RIP protokola. Dok se RIP najire koristi na malim mreama, vie "
-"kompleksniji\n"
-"ruting protokoli su potrebni za kompleksnije mree."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Rstat protokol omoguava korisnicima na mrei da dohvate\n"
-"mjerljive performanse za svako raunalo koje je na mrei."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Rusers protokol omoguava korisnicima na mrei da identificira tko je\n"
-"prijavljen na drugim raunalima koja odgovaraju."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Rwho protokol omoguava udaljenim korisnicima da dobiju popis svih\n"
-"korisnika prijavljenih na raunalo na kojima je pokrenut rwho (slino finger-"
-"u)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr "Pokreni zvuni sustav na vaem raunalu"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog je resurs kojega koriste mnogi demoni kako bi logirali poruke\n"
-"u razliite sustavske log datoteke. Dobra je ideja uvijek imati pokrenuti "
-"syslog."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr "Uitava upravljake programe za vae usb ureaje."
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Pokree X Pismovni Posluitelj (ovo je nuno za XFree da se pokrene)."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Izaberite koji servisi trebaju biti startani automatski kod boot-a"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "pokreem"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "zaustavljen"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Servisi i daemoni"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Nema dodatnih informacija\n"
-"o ovom servisu, alim."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Pri pokretanju"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Ne mogu proitati vau particijsku tablicu, previe je unitena za mene :(\n"
-"Pokuati u sa brisanjem loih particija"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Dijeljenje Internet Veze"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Dijeljenje veze prema internetu je trenutno omogueno"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Postavljanje dijeljenja veze prema internetu je ve napravljeno.\n"
-"Trenutno je omogueno.\n"
-"\n"
-"to elite napraviti?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "onemogui"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "odustani"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "ponovno postavi"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Onemoguujem posluitelje..."
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Dijeljenje veze prema Internetu je trenutno onemogueno."
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Dijeljenje veze prema Internetu je trenutno onemogueno"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Postavljanje dijeljenja veze prema Internetu je ve napravljeno.\n"
-"Trenutno je onemogueno.\n"
-"\n"
-"to elite napraviti?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "omogui"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Omoguujem posluitelje..."
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Dijeljenje veze prema internetu je trenutno omogueno."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Sadraj konfiguracijske datoteke ne moe biti interpretiran."
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Neprepoznata konfiguracijska datoteka"
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Vae raunalo moe biti konfigurirano da dijeli vlastitu Internet vezu.\n"
-"Sa tom znaajkom, druga raunala na vaoj lokalnoj mrei mogu koristiti "
-"Internet vezu ovog raunala.\n"
-"\n"
-"Upozorenje: trebati ete primjenjeni Mreni Ureaj za postavljanje lokalne "
-"mree (LAN)."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Meusklop %s (koristi modul %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Meusklop %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Nema mrenog adaptera na vaem sustavu!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Nije pronaen niti jedan mreni adapter na vaem sustavu. Molimo pokrenite "
-"hardware-ski konfiguracijski alat."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Postoji samo jedan konfigurirani mreni adapter na vaem sustavu:\n"
-"\n"
-"%s\n"
-"\n"
-"Postaviti u lokalnu mreu (LAN) sa tim adapterom."
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Molimo odaberite koji mreni adapter e biti povezan na vau lokalnu mreu."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Upozorenje, va mreni adapter je ve konfiguriran. Ponovno u ga "
-"konfigurirati."
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-"Potencijalni LAN adresni konflikt je pronaen u trenutnoj konfiguraciji $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Detektirana je vatrozidna konfiguracija!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Upozorenje! Postojea vatrozidna konfiguracija je pronaena. Morati ete "
-"runo popraviti neke dijelove nakon instalacije."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Podeavam..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Podeavam skriptove, instaliram softver, pokreem posluitelje..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Problem prilikom instaliranja paketa $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "estitke!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Sve je konfigurirano.\n"
-"Sada moete dijeliti vau internet vezu sa drugim raunalima na vaoj "
-"lokalnoj mrei, koristei automatsku mrenu konfiguraciju (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "Postavljanje je ve uraeno, ali je trenutno onemogueno."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Postavljanje je ve uraeno, ali je trenutno omogueno."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Dijeljenje veze prema internetu nije bilo konfigurirano."
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Postavke dijeljenja internet veze"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Dobro doli u alat za konfiguriranje dijeljenja Internet veze!\n"
-"\n"
-"%s\n"
-"\n"
-"Kliknite na Postavke ukoliko elite pokreniti arobnjak za postavljanja."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Mrene postavke (%d adaptera)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Obrii profil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Profil za obrisati:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Novi profil..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Ime profila za napraviti:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Ime raunala: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Internet pristup"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Tip:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Gateway:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Meusklop:"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Povezan"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Nije povezan"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Povei..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Odspoji..."
-
-#: ../../standalone/draknet_.c:191
-msgid "Starting your connection..."
-msgstr "Pokreem vau vezu..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Zatvaram vau vezu..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Veza nije zatvorena.\n"
-"Da li da ju pokuam runo pokretanjem\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"u root-u."
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Sustav je sada odspojen sa Interneta."
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Podeavanje Internet Pristupa..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "LAN postavke"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adapter"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Upravljaki program"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Meusklop"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokol"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Podesi lokalnu mreu..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Normalni mod"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Primjeni"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Molimo priekajte... Primjenjujem konfiguraciju"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-"Nemate niti jedan konfigurirani meusklop.\n"
-"Konfigurirajte ga prvo klikanjem na 'Postavljanje'"
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "LAN postavke"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Adapter %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Boot protokol"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Pokrenuto pri podizanju"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "DHCP klijent"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Onemogui"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Omogui"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-"Nemate niti jednu internet vezu.\n"
-"Napravite jednu klikanjem na 'Podesi'"
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "Postava Internet veze"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "Postava Internet veze"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Tip veze: "
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parametri"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "Pruateljev DNS 1 (opciono)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "Pruateljev DNS 2 (opciono)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Ethernet kartica"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "DHCP klijent"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Dobrodoli Crackeri"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Slab"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranoidan"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Ova razina se treba koristiti sa panjom. Ona ini va sustav mnogo lakim "
-"za koritenje,\n"
-"ali vrlo osjetljiv: ne smije biti koriten za raunala koja su povezana u "
-"mrei ili na Internet. Naime, nema lozinke za pristup."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Lozinke su sada ukljuene meutim jo ne preporuam koritenje ovog raunala "
-"u mrenom okoliu."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Nekoliko poboljanja za ovu sigurnosnu razinu, glavno poboljanje je \n"
-"da postoji vie sigurnosnih upozorenja i provjera."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Ovo je standardna sigurnosna razina preporuena za raunala koja e biti "
-"koritena\n"
-"za spajanje na Internet kao klijent. Sada postoje sigurnosne provjere. "
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Sa ovom sigurnosnom razinom, koritenje ovog sustava kao posluitelj postaje "
-"mogue.\n"
-"Sigurnost je sada toliko visoka da se sustav moe koristiti kao posluitelj\n"
-"koji prima konekcije od mnogo klijenta. "
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Uzimamo znaajke 4 razine, ali sada je sustav potpuno zatvoren.\n"
-"Sigurnosne znaajke su na njihovim maksimumima."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Podeavam sigurnosni nivo"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Kontrolni Centar"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Izaberite alat koje elite koristiti"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "uporaba: keyboarddrake [--exper] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Da li elite da BackSpace vrati Delete u konzoli?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Promjeni Cd-Rom"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Molimo ubacite Instalacijski Cd-Rom u va pogon i pritisnite U redu kada ste "
-"zavrili.\n"
-"Ukoliko ga nemate, pritisnite Odustani kako bi izbjegli ivu nadogradnju."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Ne mogu pokrenuti ivu nadogradnju !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "niti jedan serial_usb nije pronaen\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emuliranje tree tipke?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Molimo istestirajte mia."
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Praenje mree"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Statistike"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Brzina Slanja: "
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Brzina Primanja: "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Zatvori"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "Spajam se na Internet "
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "Prekidam vezu na Internet "
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "Prekidanje veze prema Internetu neuspjeno."
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "Prekidanje veze prema Internetu zavreno."
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Veza uspostavljena."
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"Veza neuspjeno uspostavljena.\n"
-"Provjerite vae postavke u Mandrake kontrolnom centru."
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "poslano: "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "primljeno: "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Povei"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Odspoji"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "Vatrozidne postave"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "Vatrozidne postave"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Vatrozidi\n"
-"\n"
-"Ve ste postavili vatrozid.\n"
-"Kliknite na Podesi za promjenu ili brisanje vatrozida"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Vatrozidi\n"
-"\n"
-"Kliknite na Podesi za postavljanje standardnog vatrozida"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"tinyfirewall podeavanje\n"
-"\n"
-"Ovo podeava osobni vatrozid za ovo Linux Mandrake raunalo.\n"
-"Za snano primjenjena vatrozidna rjeenja, molimo pogledajte\n"
-"specijaliziranu MandrakeSecurity Firewall distribuciju."
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Sada emo vas pitati nekoliko pitanja o servisima koje elite dozvoliti\n"
-"Internetu da se spoji. Molimo razmislite paljivo o tim\n"
-"pitanjima, jer sigurnost vaeg raunala je vana.\n"
-"\n"
-"Molimo, ukoliko ne koristite trenutno jedan od tih servisa, postavite\n"
-"vatrozid. Moete promjeniti ovu konfiguraciju bilo kad zaelite\n"
-"pokretanjem ponovno ove aplikacije!"
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Da li imate pokrenut web posluitelj na ovom raunalu kojeg treba cijeli\n"
-"Internet vidjeti? Ukoliko trebate web posluitelj kojemu e biti pristupan\n"
-"samo sa ovog raunala, moete sigurno odgovoriti NE ovdje.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Da li imate pokrenut imenski posluitelj na ovom raunalu? Ukoliko niste "
-"postavili jedan\n"
-"da daje IP i informacije o zoni cijelom Internet-u, molimo\n"
-"odgovorite ne.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Da li elite omoguiti dolazee Secure Shell (ssh) veze? To je\n"
-"je telnet zamjena to moete koristiti za prijavljivanje. Ako sada "
-"koristite\n"
-"telnet, trebali biste definitivno se prebaciti na ssh. telnet nije\n"
-"enkriptiran -- tako da neki napadai mogu ukrasti vae lozinke ako ga "
-"koristite\n"
-"ssh je enkriptiran i nedozvoljava prislukivanje (sniffanje)."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Da li elite dopustiti dolazee telnet veze?\n"
-"Ovo je uasno nesigurno, kao to smo objasnili na prethodnom zaslonu. Mi\n"
-"jako preporuamo odgovaranjem Ne ovdje i koritenjem ssh-a umjesto\n"
-"telnet-a.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Da li imate pokrenut FTP posluitelj ovdje koji treba biti dostupan\n"
-"Internet-u? Ukoliko da, jako preporuamo da ga koristite samo za\n"
-"anonimni prijenos. Svaka lozinka prenesena FTP-om moe biti ukradena od\n"
-"nekih napadaa, jer FTP takoer ne koristi enkripciju za prijenos lozinki.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Da li imate pokrenut mail posluitelj ovdje? Ako aljete vae \n"
-"poruke kroz pine, mutt ili neki drugi tekst-bazirani mail klijent,\n"
-"vjerojatno ga koristite. Ako ne, trebali biste ga odijeliti vatrozidom.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Da li imate pokrenut POP ili IMAP posluitelj ovdje? Ovo moe\n"
-"koristiti za posluivanje ne-web-baziranih mail rauna za osobe preko\n"
-"ovog raunala.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"ini se da imate pokrenut 2.2 kernel. Ukoliko je vaa IP\n"
-"adresa automatski postavljena u vaem domu ili uredu\n"
-"(dinamiki dodjeljenja), moramo to dozvoliti. Da\n"
-"li je to sluaj?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Da li se vae raunalo vremenski sinkronizira sa drugim raunalom?\n"
-"Veinom, ovo se koristi kod srednje-velikih Unix/Linux organizacija\n"
-"za sinkronizaciju vremena za zapisivanje/logiranje i slino. Ukoliko\n"
-"niste dio veeg ureda ili niste uli za ovo, vjerojatno\n"
-"ne."
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Podeavanje zavreno. Moemo li zapisati ove promjene na disk?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "Ne mogu otvoriti %s: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Ne mogu otvoriti %s za pisanje: %s\n"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Klijenti za razne protokole ukljuujui ssh"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Razvoj"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Radna stanica"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Vatrozid/Ruter"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Osobni informacijski menadment"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedija - Grafika"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Mreno raunalo (klijent)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Audio-namjenjeni alati: mp3 ili midi svirai, mikseri, itd"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Internet stanica"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Ured"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimedijska stanica"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Pribor alata za itanje i slanje mail-a i news-a (pine, mutt, tin..) i za "
-"pregled Web-a"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "C i C++ razvojne biblioteke, programi i ukljuujue datoteke"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Ime Domene i Mreni Informacijki Posluitelj (NIS)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Programi za ureivanje vaih financija, poput gnucash-a"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "PostgreSQL ili MySQL posluitelj baza"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS posluitelj, SMB posluitelj, Proxy posluitelj, SSH posluitelj"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentacija"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, itd"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Pomoni programi"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Grafiko Okruje"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedija - Zvuk"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Zabavni programi: arkade, ploe, strategije, itd"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Video playeri i ureivai"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Konzolni Alati"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Zvuni i video sviraki/ureivaki programi"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Znanstvena radna stanica"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Ureivai, ljuske, datoteni alati, terminali"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Knjige i Howto-i o Linux-u i slobodnom software-u"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Grafika okruja sa korisniki prijateljskim skupom aplikacija i alatima za "
-"radno okruje"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr "Postfix mail posluitelj, Inn news posluitelj"
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Igre"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedija - Video"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Mreni raunalni posluitelj"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Grafiki programi poput Gimp-a"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Uredska radna stanica"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"K Radno Okruje, osnovno grafiko okruje sa kolekcijom pripadajuih alata"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Vie grafikih radnih okruja (Gnome, IceWM)"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Alati za pravljenje i prenje CD-a"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedija - CD prenje"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Arhiviranje, emulatori, praenje"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Baze"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Uredski programi: tekst procesori (kword, abiword), tablini kalkulatori "
-"(kspread, gnumeric), pdf preglednici, itd"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Posluitelj"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Osobne financije"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Postavke"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE radna stanica"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Druga grafika radna okruja"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache i Pro-ftpd"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Mail/Groupware/News"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome radna stanica"
-
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr "Internet gateway"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Alati za va Palm Pilot ili va Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Igraka radna stanica"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, itd"
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Alati za lako podeavanje vaeg raunala"
-
-# ../../share/compssUsers
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr "Skup alata za mail, news, web, datoteni prijenos, i razgovor"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "KB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d minuta"
-
-#~ msgid "1 minute"
-#~ msgstr "1 minuta"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d sekundi"
-
-#~ msgid "cannot fork: "
-#~ msgstr "ne mogu napraviti fork: "
-
-#~ msgid "Configure..."
-#~ msgstr "Podeavanje..."
-
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Postavke Lilo-a/Grub-a"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "Odabrana veliina %d%s"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr "Ova startup skripta pokuava uitati module za va usb mi."
-
-#~ msgid "Opening your connection..."
-#~ msgstr "Otvaram vau vezu..."
-
-#~ msgid "Standard tools"
-#~ msgstr "Standardni alati"
-
-#~ msgid "Boot style configuration"
-#~ msgstr "Postava stila podizanja"
-
-#~ msgid ""
-#~ "Now that your Internet connection is configured,\n"
-#~ "your computer can be configured to share its Internet connection.\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN).\n"
-#~ "\n"
-#~ "Would you like to setup the Internet Connection Sharing?\n"
-#~ msgstr ""
-#~ "Sada kada je vaa Internet veza konfigurirana,\n"
-#~ "vae raunalo moe biti konfigurirano da dijeli vlastitu Internet vezu s "
-#~ "drugim raunalima.\n"
-#~ "Panja: trebate imati primjenjiv mreni adapter za postavljanje lokalne "
-#~ "mree (LAN).\n"
-#~ "\n"
-#~ "elite li postaviti dijeljenje internet veze?\n"
-
-#~ msgid "Welcome to the Internet Connection Sharing utility!"
-#~ msgstr "Dobro doli u alat za Dijeljenje Internet Veze"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Automatski odabir ovisnosti"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Podesi LILO/GRUB"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Napravi boot disketu"
-
-#~ msgid "Format floppy"
-#~ msgstr "Formatiraj disketu"
-
-#~ msgid "Choice"
-#~ msgstr "Izbor"
-
-#~ msgid "horizontal nice looking aurora"
-#~ msgstr "horizontalna lijepog izgleda aurora"
-
-#~ msgid "vertical traditional aurora"
-#~ msgstr "vertikalna tradicionalna aurora"
-
-#~ msgid "gMonitor"
-#~ msgstr "gMonitor"
-
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Sada moete izabrati neke razne opcije za va sustav.\n"
-#~ "\n"
-#~ "* Koristi hard disk optimizacije: ova opcija moe poboljati hard disk "
-#~ "performanse, ali samo za napredne korisnike. Neki chipseti\n"
-#~ " s grekom mogu unititi vae podatke, zato pazite. Upamtite da kernel "
-#~ "ima ugraeni crni popis pogona i chipseta, ali ako\n"
-#~ " elite izbjei loa iznenaenja, ostavite ovu opciju nepostavljenu.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Izabir sigurnosne razine: moete izabrati sigurnosnu razinu za va "
-#~ "sustav. Molimo pogledajte upute za kompletnu\n"
-#~ " informaciju. Jednostavno, ako ne znate to izabrati, zadrite ve "
-#~ "postavljenu opciju.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precizan RAM ako je potrebno: na nesreu, nema standardne metode za "
-#~ "pitanje BIOS-a oko veliine RAM-a koji se nalazi u\n"
-#~ " vaem raunalu. Kao posljedica, Linux moe neuspjelo detektirati "
-#~ "veliinu vaeg RAM-a ispravno. Ukoliko je to sluaj, moete\n"
-#~ " specifirati tonu veliinu RAM-a ovdje. Molimo primjetite da je razlika "
-#~ "od 2 ili 4 MB izmeu pronaene memroije i stvarne\n"
-#~ " memorije u vaem sustavu normalna.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Montiranje prenosivih medija: ukoliko preferirate da runo ne montirate "
-#~ "prijenosne medije (CD-Rom, floppy, Zip, itd.) \n"
-#~ " tipkajui \"mount\" ili \"umount\", izaberite ovu opciju.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Oisti \"/tmp\" prvi svakom podizanju: ukoliko elite obrisati sve "
-#~ "datoteke i direktorije sadrane u \"/tmp\" kada podiete va sustav,\n"
-#~ " izaberite ovu opciju.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Omogui num lock pri podizanju: ako elite ukljuiti va NumLock "
-#~ "poslije podizanja, izaberite ovu opciju. Molimo primjetite da \n"
-#~ " ne biste trebali omoguiti ovu opciju na laptopima jer NumLock moe ili "
-#~ "ne mora raditi pod X-ima."
-
-#~ msgid "Sorry, the mail configuration is not yet implemented. Be patient."
-#~ msgstr ""
-#~ "alim, postavljanje mail-a jo nije implementirano. Budite strpljivi."
-
-#~ msgid ""
-#~ "Welcome to The Network Configuration Wizard.\n"
-#~ "Which components do you want to configure?\n"
-#~ msgstr ""
-#~ "Dobro doli u arobnjak za mrenu konfiguraciju.\n"
-#~ "Koje komponente elite konfigurirati?\n"
-
-#~ msgid "Internet/Network access"
-#~ msgstr "Internet/Mreni pristup"
-
-#~ msgid "Mail information"
-#~ msgstr "Mail informacije"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Razna pitanja"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "Ne moete koristiti supermount u najviem sigurnosnom nivou"
-
-#~ msgid ""
-#~ "Be carefull, having numlock enabled causes a lot of keystrokes to\n"
-#~ "give digits instead of normal letters (eg: pressing `p' gives `6')"
-#~ msgstr ""
-#~ "Budite oprezni, imajui numlock omoguen uzrokuje mnogo tipaka da\n"
-#~ "daje brojeve umjesto normalnih slova (eg: pritiskajui `p' daje `6')"
-
-#~ msgid "using module"
-#~ msgstr "koristei modul"
-
-#~ msgid "not connected"
-#~ msgstr "nije povezan"
-
-#~ msgid ""
-#~ "\n"
-#~ "Warning:\n"
-#~ "Applying the changes while running may crash your X environnement."
-#~ msgstr ""
-#~ "\n"
-#~ "Upozorenje:\n"
-#~ "Primjenjivanjem promjena dok je pokrenuto moe sruiti vae X okruje."
-
-#~ msgid ""
-#~ "\n"
-#~ "If you continue, I will shut down your %s environnement"
-#~ msgstr ""
-#~ "\n"
-#~ "Ukoliko elite nastaviti, ugasiti u vae %s okruje"
-
-#~ msgid "eth$_"
-#~ msgstr "eth$_"
-
-#~ msgid "Development, Database"
-#~ msgstr "Razvoj, Baze"
-
-# ../../share/compssUsers
-#~ msgid "Scientific applications"
-#~ msgstr "Znanstvene aplikacije"
-
-# ../../share/compssUsers
-#~ msgid "Server, DNS/DHCP "
-#~ msgstr "Posluitelj, DNS/DHCP"
-
-#~ msgid "toot"
-#~ msgstr "trubiti"
-
-# ../../share/compssUsers
-#~ msgid "Development, Integrated Environment"
-#~ msgstr "Razvoj, Integrirana Okruja"
-
-#~ msgid "Development, Standard tools"
-#~ msgstr "Razvoj, Standardni alati"
-
-# ../../share/compssUsers
-#~ msgid "Server, File/Print/Samba"
-#~ msgstr "Posluitelj, Datoteni/Ispisni/Samba"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr "Niti jedan"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Koji bootloader(e) elite koristiti?"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Da pokuam pronai modem?"
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimedija"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Podesi vremensku zonu"
-
-#~ msgid "Configure printer"
-#~ msgstr "Podesi pisa"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Razno"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(moe uzrokovati oteenje podataka)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Koristi optimizacije hard diska?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Ukljui NumLock kod pokretanja"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Potvrda lozinke"
-
-#~ msgid "DNS server:"
-#~ msgstr "DNS posluitelj:"
-
-#~ msgid "Gateway device:"
-#~ msgstr "Gateway ureaj:"
-
-#~ msgid "default"
-#~ msgstr "uobiajeno"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "Koristi diskdrake"
-
-#~ msgid "Customized"
-#~ msgstr "Prilagoeno"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Koristi shadow datoteku"
-
-#~ msgid "shadow"
-#~ msgstr "shadow"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Koristi MD5 lozinke"
-
-#~ msgid "Search"
-#~ msgstr "Trai"
-
-#~ msgid "Package"
-#~ msgstr "Paket"
-
-#~ msgid "Text"
-#~ msgstr "Tekst"
-
-#~ msgid "Tree"
-#~ msgstr "Stablo"
-
-#~ msgid "Sort by"
-#~ msgstr "Sortiraj"
-
-#~ msgid "Category"
-#~ msgstr "Kategorija"
-
-#~ msgid "Installed packages"
-#~ msgstr "Instalirani paketi"
-
-#~ msgid "Available packages"
-#~ msgstr "Dostupni paketi"
-
-#~ msgid "Expand all"
-#~ msgstr "Proiri sve"
-
-#~ msgid "Collapse all"
-#~ msgstr "Sami sve"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Dodaj lokaciju paketa"
-
-#~ msgid "Update location"
-#~ msgstr "Osvjei lokaciju"
-
-#~ msgid "Remove"
-#~ msgstr "Ukloni"
-
-#~ msgid "Find Package"
-#~ msgstr "Pronai paket"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Pronai paket koji sadri datoteku"
-
-#~ msgid "Uninstall"
-#~ msgstr "Deinstaliraj"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Odaberite pakete za instaliranje"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Provjeravam ovisnosti"
-
-#~ msgid "Wait"
-#~ msgstr "Priekaj"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Slijedei paketi e biti deinstalirani"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "Deinstalacija RPMova u toku"
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Koje pakete traite"
-
-#~ msgid "%s not found"
-#~ msgstr "%s nije naen"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Koje datoteke traite?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "to traite?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Pridjelite ime (npr. `dodatno', `komercijalno')"
-
-#~ msgid "Directory"
-#~ msgstr "Direktorij"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "cdrom nije dostupan (nema niega u /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "URL direktorija koji sadri RPMove"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s se ve koristi"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "Uklanjam zapis %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Traim listove"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "Pronaao sam ISDN karticu:\n"
-
-#~ msgid "France"
-#~ msgstr "Francuska"
-
-#~ msgid "Other countries"
-#~ msgstr "Ostale zemlje"
-
-#~ msgid "mandatory"
-#~ msgstr "obvezno"
-
-#~ msgid "interesting"
-#~ msgstr "interesantno"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (vano)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (vrlo lijepo)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (lijepo)"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Na koji serijski port je mi prikljuen?"
-
-#~ msgid "Czech"
-#~ msgstr "eka"
-
-#~ msgid "Slovakian"
-#~ msgstr "Slovaka"
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr "Ne mogu instalirati ipchains RPM s urpmi-em."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr "Ne mogu instalirati dhcp RPM s urpmi-em."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr "Ne mogu instalirati linuxconf RPM s urpmi-em."
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr "Ne mogu instalirati bind RPM s urpmi-em."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr "Ne mogu instalirati caching-nameserver RPM s urpmi-em"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "Njemaka (1TR6)"
-
-#~ msgid "What do you wish to do?"
-#~ msgstr "to elite napraviti?"
-
-#, fuzzy
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Odaberite \"Instaliraj\" ukoliko nemate Linux instaliran ili ako\n"
-#~ "elite imati vie razliitih distribucija ili inaica Linux na sustavu.\n"
-#~ "\n"
-#~ "Odaberite \"Dogradnja\" ako elite nadograditi postojeu inaicu Mandrake "
-#~ "Linuxa:\n"
-#~ "%s ili %s.\n"
-#~ "\n"
-#~ "\n"
-#~ "Odaberite:\n"
-#~ "\n"
-#~ " - Automatski: Ukoliko nikada niste instalirali Linux.\n"
-#~ "\n"
-#~ " - Prilagoeno: Ukoliko ste upoznati sa Linuxom koritenjem ove\n"
-#~ "opcije moi e te odabrati kakvu instalaciju elite npr. normalna, "
-#~ "programer\n"
-#~ "ili posluitelj. Odaberite \"Normalna\" za sustav ope namjene.\n"
-#~ "Odaberite \"Programer\" ako elite koristiti raunalo primarno za razvoj\n"
-#~ "softvera ili odaberite \"Posluitelj\" ako elite koristiti raunalo kao\n"
-#~ "posluitelj npr. za mail, web, fileserver, ispis itd.\n"
-#~ "\n"
-#~ " - Strunjak: Ukoliko ste vrlo dobro upoznati sa Linuxom i elite\n"
-#~ "imati potpunu kontrolu nad instalacijom Linuxa odaberite opciju\n"
-#~ "\"Strunjak\".\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Sve novo definirane particije moraju biti formatirane za\n"
-#~ "uporabu tj. moraju imati ispravni datoteni sustav. Takoer ukoliko\n"
-#~ "elite obrisati podatke s odreene particije odaberite reformatiranje.\n"
-#~ "Opaska: nije potrebno reformatirati postojee particije osobito\n"
-#~ "ako sadre datoteke ili podatke koje elite sauvati.\n"
-#~ "Na primjer obino /home i /usr/local sadre podatke koje treba sauvati."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "Poela je instalacija paketa koje ste odabrali. Ova\n"
-#~ "operacija e potrajati par minuta osim ako ste odabrali\n"
-#~ "nadogradnju postojeeg sustava. U tom sluaju instalacija\n"
-#~ "e izvriti odreene provjere prije same nadogradnje."
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Odbaci promjene?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Koja je vrsta vaeg mia?"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Automatski odabir rezolucije"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "Kako bih pronaao dostupne rezolucije moram pokuati par razliitih.\n"
-#~ "Monitor e tokom pretrage treptati...\n"
-#~ "Ukoliko elite slobodno iskljuite monitor. Nakon to je sve gotovo uti "
-#~ "e te pip."
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "Mogu pokuati pronai dostupnu rezoluciju (npr. 800x600).\n"
-#~ "Meutim ponekad takva pretraga moe zamrznuti raunalo.\n"
-#~ "Da li ste sigurni da elite nastaviti?"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "Niti jedan valjan mode nije naen\n"
-#~ "Probajte sa drugom grafikom karticom ili monitorom"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Automatski trai rezoluciju"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Apple ADB mi"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Apple ADB mi (2 gumba)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Apple ADB mi (3 gumba i vie)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Apple USB mi"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Apple USB mi (2 gumba)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Apple USB mi (3 gumba i vie)"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI Bus mi"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft Bus mi"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech Bus mi"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB mi (3 gumba i vie)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Rev 2.1A ili vie (serijski)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (serijski)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (serijski)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (serijski)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "Generiki Mi (serijski)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Microsoft compatible (serial)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "Generic 3 Button Mouse (serial)"
-
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse (serijski)"
-
-#~ msgid "nfs mount failed"
-#~ msgstr "nfs montiranje nije uspjelo"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Kriptografski"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "Da li elite podesiti mrene postavke sustava?"
-
-#~ msgid "Show less"
-#~ msgstr "Prikai manje"
-
-#~ msgid "Show more"
-#~ msgstr "Prikai vie"
-
-#~ msgid "Take over the hard drive"
-#~ msgstr "Preuzmi cijeli hard disk"
-
-#~ msgid "tie"
-#~ msgstr "tie"
-
-#~ msgid "brunette"
-#~ msgstr "crnka"
-
-#~ msgid "girl"
-#~ msgstr "djevojka"
-
-#~ msgid "woman-blond"
-#~ msgstr "plavua"
-
-#~ msgid "automagic"
-#~ msgstr "automagijski"
-
-#~ msgid "Have you been provided with a hostname?"
-#~ msgstr "Da li imate ime raunala ?"
-
-#~ msgid "Network:"
-#~ msgstr "Network:"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Koji raspored tipkovnice imate?"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Da li da traim PCMCIA kartice?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "Da li traim %s ureaje?"
-
-#~ msgid "Modem Configuration"
-#~ msgstr "Postavke modema"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "Da li traim PCI ureaje?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "Traim root particiju."
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s: Ovo nije root particija, molim odaberite drugu."
-
-#~ msgid "No root partition found"
-#~ msgstr "Niti jedna root particija nije pronaena"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr ""
-#~ "Izaberite particiju koju elite koristiti kao korijensku particiju (/)."
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr "Nemate niti jednu Windows particiju!"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "Nemate dovoljno mjesta za Lnx4win"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Dobrodosli u LILO izbornik operativnih sustava!\n"
-#~ "\n"
-#~ "Za popis dostupnih sustava pritisnite <TAB>.\n"
-#~ "\n"
-#~ "Ako zelite ucitati neki od operativnih sustava upisite njegovo ime\n"
-#~ "i pritisnite <ENTER> oili pricekajte %d sekundi za podrazumijevani\n"
-#~ "operativni sustav.\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Dobrodosli u SILO izbornik operativnih sustava!\n"
-#~ "\n"
-#~ "Za popis dostupnih sustava pritisnite <TAB>.\n"
-#~ "\n"
-#~ "Ako zelite ucitati neki od operativnih sustava upisite njegovo ime\n"
-#~ "i pritisnite <ENTER> oili pricekajte %d sekundi za podrazumijevani\n"
-#~ "operativni sustav.\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "SILO glavne postavke"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Ovo su trenutni zapisi u SILO-u.\n"
-#~ "Moete dodati jo koji ili urediti postojei."
-
-#~ msgid "This label is already in use"
-#~ msgstr "Ova oznaka ve postoji"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "Instalacija SILO-a nije uspjela. Prijavljena je slijedea greska:"
-
-#~ msgid "Shutting down"
-#~ msgstr "Gaenje sustava"
-
-#~ msgid "useless"
-#~ msgstr "beskorisno"
-
-#~ msgid "garbage"
-#~ msgstr "smee"
diff --git a/perl-install/share/po/hu.po b/perl-install/share/po/hu.po
deleted file mode 100644
index aedce90fb..000000000
--- a/perl-install/share/po/hu.po
+++ /dev/null
@@ -1,9118 +0,0 @@
-# Translation file of Mandrake graphic install
-# Copyright (C) 2000 Mandrakesoft
-# KOVACS Emese Alexandra <emese@itp.hu>, 2000
-# Kultsar Kadosa Atilla <kadi@kadi.emg.hu>, 2000
-# Takacs Sandor <taki@dfmk.hu>, 2000
-# Timar Andras <atimar@itp.hu>, 2000
-# Sari Gabor <saga@tux.hu>, 2000
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-09-01 12:56+0200\n"
-"Last-Translator: KOVACS Emese Alexandra <emese@itp.hu>\n"
-"Language-Team: hungarian\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, fuzzy, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Az X belltsa"
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr "belltsok beolvassa"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Videokrtya"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Vlassz videkrtyt"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Vlassz X szervert"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X szerver"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"A krtydhoz nincs 3D hardver gyorsts az XFree %s verziban.\n"
-"A krtyd az XFree %s verziban csak 2D tren tmogatott."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "A krtydhoz van hardveres 3D gyorsts az XFree %s verzival."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s hardveres 3D gyorstssal"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"A krtydhoz nincs 3D hardver gyorsts az XFree %s verziban.\n"
-"EZ EGY KSRLETI OPCI, ESETLEG LEFAGYASZTHATJA A SZMTGPEDET."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s KSRLETI 3D hardver gyorstssal"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"A krtydhoz nincs 3D hardver gyorsts az XFree %s verziban.\n"
-"EZ EGY KSRLETI OPCI, ESETLEG LEFAGYASZTHATJA A SZMTGPEDET.\n"
-"A krtyd az XFree %s verziban csak 2D tren tmogatott."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "XFree belltsok"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Vlaszd ki a grafikus krtya memriamrett"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Vlassz a kvetkez lehetsgek kzl"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Vlassz monitort"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"A kt kritikus paramter a fggleges frissts, ez az a frekvencia, amivel "
-"a\n"
-"teljes kperny frissl s a mg fontosabb vzszintes frissts, ez az a\n"
-"frekvencia, amivel a monitor a vzszintes vonalakat rajzolja, amikbl a\n"
-"kpet vgl sszelltja.\n"
-"\n"
-"NAGYON FONTOS, hogy ne adj meg olyan frisstst, ami meghaladja a monitorod "
-"kpessgeit.\n"
-"Ha ktsgeid vannak, vlaszd inkbb az alacsonyabb rtket."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Vzszintes frissts"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Fggleges frissts"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "A monitor nincs belltva"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "A grafikus krtya nincs belltva"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Nem vlasztottl mg felbontst"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Leteszteled a belltsokat?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
-"Figyelmeztets: a videokrtya tesztelse lefagyaszthatja a szmtgped"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Belltsok tesztelse"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"vltoztass meg pr paramtert"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Hiba trtnt:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Kilps %d msodpercen bell"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "J lesz ez a bellts?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Hiba lpett fel, vltoztass meg pr paramtert"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Felbonts"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Vlassz felbontst s sznmlysget"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Videkrtya: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 szerver: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr "Halad md"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Mindent mutat"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Felbontsok"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Billentyzetkioszts: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Egr tpusa: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Egrhez rendelt eszkz: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Monitor sorfrekvencija: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Monitor kpfrekvencija: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Videkrtya: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Grafikus memria: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Sznmlysg: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Felbonts: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 szerver: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 driver: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "X-Window belltsnak elksztse"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Mit szeretnl tenni?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Monitor megvltoztatsa"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Videokrtya megvltoztatsa"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Szerver belltsainak megvltoztatsa"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Felbonts megvltoztatsa"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Adatok megjelentse"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "jra tesztel"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Kilps"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Megtartod a jelenlegi belltsokat?\n"
-"A jelenlegi belltsok:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr ""
-"Krlek jelentkezz be jra a(z) %s -be, hogy a vltozsok rvnyre jussanak"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr ""
-"Krlek lpj ki, majd hasznld a Ctrl-Alt-BackSpace billentykombincit"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "Grafikus bejelentkezs"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Be tudom lltani, hogy rendszerindtskor az X automatikusan elinduljon.\n"
-"Belltsam?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 szn (8 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 ezer szn (15 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 ezer szn (16 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 milli szn (24 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 millird szn (32 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB vagy tbb"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Standard VGA, 640x480 60 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 56 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514-kompatibilis, 1024x768 87 Hz vltottsoros (nincs 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 87 Hz vltottsoros, 800x600 56 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Extended Super VGA, 800x600 60 Hz-en, 640x480 72 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Nem-vltottsoros SVGA, 1024x768 60 Hz-en, 800x600 72 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Magas frekvencij SVGA, 1024x768 70 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multisync monitor, amely tud 1280x1024-et 60 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multisync monitor, amely tud 1280x1024-et 74 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multisync monitor, amely tud 1280x1024-et 76 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Olyan monitor, amely tud 1600x1200-at 70 Hz-en"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Olyan monitor, amely tud 1600x1200-at 76 Hz-en"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "A boot partci els szektora"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "A lemez els szektora (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "SILO teleptse"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Hova szeretnd telepteni a bootloader-t?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "LILO/grub teleptse"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-#, fuzzy
-msgid "Yaboot"
-msgstr "Root"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "A bootloader fbb opcii"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-#, fuzzy
-msgid "Bootloader to use"
-msgstr "A bootloader fbb opcii"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Bootloader telepts"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Boot eszkz"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (nem mkdik rgi BIOS-okkal)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Compact"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "compact"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Videmd"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Ksleltets az alaprtelmezett image betltse eltt"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Jelsz"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Jelsz (jra)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Parancssorban tadhat paramterek korltozsa"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "korltozott"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "/tmp trlse minden jraindulskor"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Fizikai RAM mrete (jelenleg %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Multi profile-ok engedlyezse"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Add meg a fizikai memria mrett MB-ban"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"A \"Parancssorban tadhat paramterek korltozsa\" belltsnak jelsz "
-"nlkl\n"
-"nincs rtelme"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Prblkozz jra"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "A jelszavak nem egyeznek"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-#, fuzzy
-msgid "Default OS?"
-msgstr "Alaprtelmezett (default)"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Itt vannak a jelenlegi bejegyzsek.\n"
-"Adhatsz a meglvkhz jakat, vagy mdosthatod a rgieket."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Hozzad"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Ksz"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "RAID mdostsa"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Milyen bejegyzst szeretnl hozzadni?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Egyb op. rendszer (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Egyb op. rendszer (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Egyb op. rendszer (Windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Image"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Append"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "rs-olvass (read-write)"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tbla (table)"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Nem biztonsgos (unsafe)"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Cmke (label)"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Alaprtelmezett (default)"
-
-#: ../../any.pm_.c:284
-#, fuzzy
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Bejegyzs eltvoltsa"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "res cmke nem engedlyezett"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Mr van ilyen nev cmke"
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr "Milyen tpus nyomtatd van?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Talltam %s %s csatolt"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Van msik is?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Van valamilyen %s csatold?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Nem"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Igen"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Hardver inf megjelentse"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Driver teleptse a(z) %s krtyhoz (%s)"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(%s modul)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Melyik %s driver-t prbljam meg?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Egyes esetekben a %s driver-nek tovbbi paramterekre van szksge a helyes\n"
-"mkdshez, br ez nem jellemz. Szeretnl tovbbi paramtereket megadni a\n"
-"driver-nek, vagy hagyod, hogy az magtl krdezze le a hardvertl a "
-"szksges\n"
-"informcit? Esetenknt az automatikus keress lefagyaszthatja a\n"
-"szmtgpet, de ez semmilyen krosodssal nem jr."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Automatikus keress"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Rszletes belltsok"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Most megadhatod a %s modul paramtereit."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"A %s modulnak tadhatsz paramtereket.\n"
-"A paramterek szintaktikja: `nv=rtk nv2=rtk2 ...'.\n"
-"Pldul: `io=0x300 irq=7'"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Modul belltsok:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"A %s modul betltse sikertelen.\n"
-"Megprblod ms paramterekkel?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(mr hozzadtam %s -t)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Ez a jelsz tl egyszer"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Krlek rj be egy felhasznlnevet"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"A felhasznlnv a kvetkezket tartalmazhatja: kisbetk, szmok, \"-\" s\"_"
-"\""
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Mr van ilyen felhasznlnv"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Felhasznl hozzadsa"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Adj meg egy felhasznlt\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Felhasznl elfogadsa"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Valdi nv"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Felhasznlnv"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Ikon"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Automatikus belps"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Be tudom lltani, hogy indtskor egy felhasznl "
-"automatikusanbejelentkezzen.\n"
-"Ha nem akarod ezt a lehetsget kihasznlni, kattints a CANCEL gombra."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Add meg az alaprtelmezett felhasznlt:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Vlaszd ki az ablakkezelt, amit hasznlni szeretnl:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, fuzzy, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Koszontelek %s az operacios rendszer valasztoban!\n"
-"\n"
-"Az opciok megjelentesehez nyomd meg a <TAB>-ot.\n"
-"\n"
-"Betolteshez rd be a kivant nevet es uss <ENTER>-t,\n"
-"vagy varj %d mp-et az alapertelmezett opcio betoltesehez.\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Lgy dvzlve! Ez a GRUB, az opercis rendszer vlaszt."
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Hasznld a(z) %c s %c gombokat a bejegyzs kijellsre."
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Az \"ENTER\" a kivlasztott Op. rendszert inditja, \"E\" gombbal"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-"szerkesztheted a bootols elo\"tt a parancsokat, a C gombbal parancssort "
-"kapsz"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr ""
-"A kijellt opercis rendszer %d msodpercen bell automatikusan elindul."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "nincs elg hely a /boot partcin"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Munkaasztal"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Start Men"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr "Telepts utni belltsok"
-
-#: ../../bootlook.pm_.c:79
-#, fuzzy
-msgid "/_File"
-msgstr "Fjlok:\n"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-#, fuzzy
-msgid "/_Help"
-msgstr "Segtsg"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr "Az X belltsa"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Internet Kapcsolat Megosztsa"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr "Trcszsi md"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "Monitor"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "Monitor megvltoztatsa"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr "Boot eszkz"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Alaprtelmezett (default)"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Mgsem"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "A LILO teleptse nem sikerlt. A hiba a kvetkez:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Ltrehoz"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Lecsatol"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Trl"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formz"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "tmretez"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tpus"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Csatolsi pont"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "/etc/fstab rsa"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Halad md"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Norml md"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Visszallts fjlbl"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Ments fjlba"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Varzsl"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Visszallts lemezrl"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Ments lemezre"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Mindet trlni"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "sszes partci formzsa"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Automatikus helyfoglals"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Minden elsdleges partci hasznlva van"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Nem hozhat ltre tbb partci"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Tovbbi partcik ltrehozshoz trlj egyet, hogy kiterjesztett partcit\n"
-"hozhass ltre"
-
-#: ../../diskdrake.pm_.c:61
-#, fuzzy
-msgid "Not enough space for auto-allocating"
-msgstr "Nincs elg szabad terlet j partci ltrehozshoz"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Visszavon"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Partcis tbla rsa"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr "thelyez"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Lapozterlet (swap)"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "res"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Egyb"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Fjlrendszer tpusok:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Rszletek"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Egy nagy FAT partcid van\n"
-"(ez ltalban egy Microsoft DOS/Windows partci).\n"
-"Azt ajnlom, hogy mretezd t ezt a partcit\n"
-"(kattints r, majd kattints az \"tmretez\" gombra)"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Krlek elszr mentsd le az adatokat"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Figyelmesen olvasd el!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Ha az aboot-ot szeretnd hasznlni, bizonyosodj meg rla, hogy hagytl elg "
-"helyet\n"
-" a lemez elejn (2048 szektor elg lesz)"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Vigyzz! Ez a mvelet veszlyes."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Hiba"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Csatolsi pont: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Eszkz: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS meghajt betjele: %s (Ez csak egy tipp)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tpus: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nv: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Kezdszektor: %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Mret: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s szektor"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "%d. cilindertl a %d. cilinderig\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formzva\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Nincs formzva\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Felcsatolva\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "Loopback fjl(ok): %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Alaprtelmezett indtsi partci\n"
-" (a DOS-nak, nem a lilo-nak)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Level %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Szelet mrete %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-diszkek %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Loopback fjl neve: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Kattints egy partcira"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Mret: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometria: %s cilinder, %s fej, %s szektor\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-diszkek %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Partcis tbla tpusa: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "%d buszon, %d id-vel\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Felcsatol"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktv"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "RAID-hez hozzad"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "RAID-bl eltvolt"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "RAID mdostsa"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "LVM-hez hozzad"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "LVM-bl eltvolt"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Loopback-hez hasznlva"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Vlassz"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Sajnlom, de nem hozhatom ltre a /boot-ot ennyire tvol a merevlemez "
-"elejtl (cilinder > 1024).\n"
-"Vagy hasznlod a LILO-t, s nem fog mkdni, vagy nem hasznlod a LILO-t, de "
-"akkor nem kell a /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Az a partci, amit root partcinak sznsz (/) fizikailag az 1024. cilinder "
-"utn tallhat, mikzben nincs /boot partcid.\n"
-"Ha a LILO -t szeretnd hasznlni, kszts egy /boot partcit"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Szoftveres RAID partcit vlasztottl root (/) partcinak.\n"
-"Egyik rendszerbetlt sem tudja ezt kezelni /boot partci nlkl.\n"
-"Ezrt ltre kell hoznod egy /boot partcit."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Hasznld inkbb a(z) \"%s\"-t"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Hasznld elszr a \"Lecsatol\"-t"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"A(z) %s partci tpusnak megvltoztatsa utn a partcin minden adat "
-"elvsz"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Ettl fggetlenl folytassam?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Kilps ments nlkl"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Kilpsz a programbl a partcis tbla elmentse nlkl?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Partci tpusnak vltoztatsa"
-
-#: ../../diskdrake.pm_.c:517
-#, fuzzy
-msgid "Which filesystem do you want?"
-msgstr "Melyiket vlasztod?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Nem lehet ReiserFS-t hasznlni 32 MB-nl kisebb partcin"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Hov akarod felcsatolni a(z) %s loopback fjlt?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Hov akarod felcsatolni a(z) %s eszkzt?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Nem tudom megszntetni a csatolsi pontot, mert a partcit loopback fogja.\n"
-"Szntesd meg elszr a loopback-et."
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "A(z) %s partci formzsa utn a partcin minden adat elvsz"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formzs"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "A(z) %s loopback fjl formzsa"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "A(z) %s partci formzsa"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Az sszes partci formzsa utn "
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "minden adat elvsz a partcikrl"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "thelyez"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Melyik diszkre akarod thelyezni?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Szektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Melyik szektorra akarod thelyezni?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "thelyezem"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Partci thelyezse..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "A(z) %s meghajt partcis tbljt menteni fogom!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "jra kell indtanod a rendszert, hogy a vltozsok rvnyesljenek"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Fjlrendszer-jellemzk kiszmtsa"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "tmretezem"
-
-#: ../../diskdrake.pm_.c:643
-#, fuzzy
-msgid "This partition is not resizeable"
-msgstr "Melyik partcit szeretnd tmretezni?"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Errl a partcirl minden adatot le kellene menteni"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "A(z) %s partci tmretezse utn a partcin minden adat elvsz"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Add meg az j mretet"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "j partci ltrehozsa"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Kezdszektor: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Mret MB-ban: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Fjlrendszer tpusa: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Belltsok: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Ezt a partcit nem hasznlhatod loopback-hez"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Loopback fjl neve: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "Ez a fjl msik loopback-hez van rendelve, vlassz msikat"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "A fjl mr ltezik. Hasznljam?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Fjl kivlasztsa"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"A partcis tbla biztonsgi msolatnak a mrete eltr!\n"
-"Biztos, hogy folytassam?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Figyelmeztets"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Helyezz be egy lemezt a meghajtba!\n"
-"A lemezen minden adat elvsz"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Megprblom visszalltani a partcis tblt"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "eszkz"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "level"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "szelet mret"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Vlassz ki egy mr ltez RAID-et, ehhez adom a diszket"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "j"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Vlassz ki egy mr ltez LVM-et, ehhez adom a diszket"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Eltvolthat mdia automatikus felcsatolsa"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Partcis tbla helyrelltsa"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "jratlts"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s fjlrendszer %s eszkzn val ltrehozsa sikertelen"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "Nem tudom, hogyan formzzam meg %s-t %s tpusra"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "felcsatols sikertelen: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "hiba %s lecsatolsakor: %s"
-
-#: ../../fsedit.pm_.c:21
-#, fuzzy
-msgid "simple"
-msgstr "Fjl"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "szerver"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "A csatolsi pontnak /-rel kell kezddnie"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Mr van egy partci %s csatolsi ponttal\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Krkrs mount-ols %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Ennek a knyvtrnak a root fjlrendszeren kellene maradnia"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Igazi fjlrendszerre (ext2, ReiserFS) van szksg ehhez a csatolsi ponthoz\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Hiba %s rsra val megnyitsakor: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Hiba trtnt - nincs rvnyes meghajt, amelyen fjlrendszereket lehetne "
-"ltrehozni. Ellenrizd a hardvert s prbld megtallni a hibt"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Nincs egyetlen partcid sem!"
-
-#: ../../help.pm_.c:9
-#, fuzzy
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Vlaszd ki a nyelvet, amin a teleptst szeretnd lefolytatni, majd ksbb a "
-"rendszert hasznlni."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Vlaszd ki a billentyzeted kiosztst a fenti listbl"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Vlassz:\n"
-"\n"
-" - Egyedi: Ha mr jl ismered a GNU/Linuxot, kivlaszthatod, \n"
-" hogy milyen clra sznod a rendszert. A rszleteket lsd lentebb.\n"
-"\n"
-"\n"
-" - Halad: Ez azt felttelezi, hogy szakrtje vagy a GNU/Linux\n"
-" rendszereknek, s teljesen egyedi teleptst szeretnl vgezni.\n"
-" Hasonlan, mint az \"Egyedi\" opcinl, megadhatod, hogy milyen clra\n"
-" sznod a rendszert, de krlek CSAK AKKOR VLASZD EZT, HA TUDOD, HOGY\n"
-" MIT TESZEL!"
-
-#: ../../help.pm_.c:68
-#, fuzzy
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"A klnbz, elre elksztett konfigurcik (feltve, hogy \"Egyedi\" vagy\n"
-"\"Halad\" mdot vlasztottl) a kvetkezk:\n"
-"\n"
-" - Norml: Vlaszd ezt, ha a gpedet elsdlegesen mindennapi\n"
-" hasznlatra sznod (irodai munka, szmtgpes grafika, stb.).\n"
-" Ne szmts fordtra, vagy ms szoftverfejleszt eszkzre.\n"
-"\n"
-" - Fejleszti: Amint az a nevbl is kiderl, akkor clszer ezt az\n"
-" opcit vlasztani, ha szoftverfejlesztsre hasznlod a gpedet. A\n"
-" konfigurciban megtallhat egy egsz sor fordt, hibakeres s\n"
-" szoftverfejleszt eszkz, valamint a szoftvercsomagok ksztshez\n"
-" szksges csomagok is.\n"
-"\n"
-" - Kiszolgl: vlaszd ezt, ha a gpet, amire a Linux-Mandrake-et\n"
-" telepted, kiszolglnak sznod. Ez lehet fjlkiszolgl (NFS vagy\n"
-" SMB), nyomtat-kiszolgl (Unix \"lp\" protokollal vagy Windows-os SMB-\n"
-" vel), autentikcis kiszolgl (NIS), adatbzis-kiszolgl, stb.\n"
-" Ne szmts arra, hogy a konfigurci tartalmazni fogja pl. a KDE-t\n"
-" vagy a Gnome-ot.\n"
-
-#: ../../help.pm_.c:84
-#, fuzzy
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"A DrakX megprblja a PCI SCSI krtyidat felismerni.\n"
-"\n"
-"Ha a DrakX megtallja a SCSI csatol(i)dat, s tall hozz(juk) driver-t,\n"
-"akkor automatikusan installlja azokat.\n"
-"\n"
-"\n"
-"Ha nincs ilyen krtyd, akkor kattints a \"Nem\" gombra.\n"
-"Ha esetleg ISA buszos csatold van, vagy a DrakX nem ismerte\n"
-"fel a csatolt, akkor kattints az \"Igen\" gombra, s a megjelen\n"
-"listbl vlaszd ki a megfelel csatol tpust.\n"
-"\n"
-"Amennyiben kzzel adod meg a csatol tpust, a DrakX megkrdezi a\n"
-"csatol paramtereit. A megadott opcikkal a DrakX megksrli a\n"
-"csatolt felleszteni. Rendszerint ez sikerl is.\n"
-"\n"
-"Ha mgsem sikerlne, akkor valsznleg nem megfelel paramtereket\n"
-"adtl meg. Ilyenkor nzz utna a csatol \"Teleptsi kziknyv\"-ben,\n"
-"esetleg a csatol Gyrtjnak weboldaln a megfelel informciknak."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-#, fuzzy
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Itt vlaszthatod ki a teleptend vagy frisstend csomagcsoportokat.\n"
-"\n"
-"A DrakX ellenrzi, hogy elg hely ll-e rendelkezsre a teleptshez. Ha "
-"nem,\n"
-"akkor figyelmeztet. Ha mgis folytatni akarod a teleptst, semmi akadlya,\n"
-"de a telept ki fogja hagyni az ltala kevsb fontosnak tlt csomagokat!\n"
-"A lista aljn vlaszthatod az \"Csomagok egyedi kivlasztsa\" lehetsget, "
-"de ebben\n"
-"az esetben tbb mint 1000 csomagot kell tbngszned..."
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-#, fuzzy
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Ha megvan minden felsorolt CD, kattints az OK-ra.\n"
-"Ha a felsoroltak kzl egy CD sem ll rendelkezsedre, kattints a \"Mgsem\" "
-"gombra.\n"
-"Ha a felsoroltak kzl egyes CD-k hinyoznak, trld a kijellsket, majd\n"
-"kattints az OK-ra."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-#, fuzzy
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Krlek vlaszd ki a megfelel portot. Pldul a Windows-os COM1-et Linux "
-"alatt ttyS0-nak hvjk."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Most megadhatod a telefonos Internet csatlakozssal kapcsolatos adatokat.\n"
-"Ha nem vagy benne biztos, hogy mit kell itt megadni, az Internet "
-"szolgltatd\n"
-"valsznleg tud segteni."
-
-#: ../../help.pm_.c:431
-#, fuzzy
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Add meg:\n"
-"\n"
-" - az IP-cmet: ha nem tudod, mi az IP-cmed, krdezd meg a hlzat\n"
-"adminisztrtort vagy a szolgltatt.\n"
-"\n"
-"\n"
-" - a hlzati maszkot: ltalban a \"255.255.255.0\" j vlaszts. Ha nem "
-"vagy\n"
-"benne biztos, krdezd meg a hlzat adminisztrtort vagy a szolgltatt.\n"
-"\n"
-"\n"
-" - automatikus IP-cm megllapts: vlaszd ezt, ha a hlzaton bootp vagy\n"
-"dhcp segtsgvel kapjk a gpek az IP-cmket. Ha ez a helyzet, az \"IP-cm"
-"\"\n"
-"rszt resen hagyhatod. Ha ktsgeid vannak, krdezd meg a hlzat \n"
-"adminisztrtort vagy a szolgltatt.\n"
-
-#: ../../help.pm_.c:443
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Ha a hlzatod hasznl \"NIS\"-t, vlaszd ki a \"NIS hasznlata\" opcit.\n"
-"Ha nem tudod, hogy a hlzaton van-e NIS szolgltats, krdezd meg a\n"
-"hlzati adminisztrtort."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Most megadhatod a telefonos Internet csatlakozssal kapcsolatos adatokat.\n"
-"Ha nem vagy benne biztos, hogy mit kell itt megadni, az Internet "
-"szolgltatd\n"
-"valsznleg tud segteni."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Ha proxy-(ka)t fogsz hasznlni, itt az id, hogy belltsd ket. Ha nem\n"
-"tudod, hogy kellene-e proxy-(ka)t hasznlnod, krdezd meg a hlzat\n"
-"adminisztrtort vagy az Internet szolgltatt."
-
-#: ../../help.pm_.c:459
-#, fuzzy
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"A titkostssal kapcsolatos csomagokat csak akkor tudod feltelepteni, ha "
-"az\n"
-"Internet kapcsolatod mr rendesen be van lltva. Elszr vlaszd ki,\n"
-"hogy melyik tkrkiszolglrl szeretnd letlteni a csomagokat, majd\n"
-"jelld ki magukat a csomagokat.\n"
-"\n"
-"\n"
-"Figyelj arra, hogy a helyi trvnyeknek megfelelen vlaszd meg a\n"
-"tkrkiszolglt s a titkostssal kapcsolatos csomagokat."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-#, fuzzy
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"Kivlaszthatod az idznt, aszerint, hogy hol lsz.\n"
-"\n"
-"\n"
-"A Linux a GMT, azaz a \"Greenwich Mean Time\" szerint kezeli az idt, majd\n"
-"az itt megadott idzna alapjn szmtja azt t helyi idre."
-
-#: ../../help.pm_.c:479
-#, fuzzy
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Itt vlaszthatod ki, hogy a gp indulsakor milyen szolgltatsok induljanak "
-"el automatikusan.\n"
-"\n"
-"Amikor az egr mutatjt valamelyik szolgltats nevre helyezed,elbukkan\n"
-"bubork, amelyben rvid ismertett olvashatsz rla.\n"
-"\n"
-"\n"
-"vatosan bnj ezzel az opcival, klnsen ha kiszolglt teleptesz.\n"
-"Fordts klns figyelmet arra, hogy ne fusson felesleges szolgltats a "
-"gpen."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-#, fuzzy
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Most kell megadnod a Linux-Mandrake-ed root jelszavt. Ugyanazt a\n"
-"jelszt kell ktszer megadnod, ezzel ellenrizve, hogy nem gpeled el.\n"
-"\n"
-"A root felhasznl a rendszer adminisztrtora. az egyetlen, aki a\n"
-"rendszer belltsait megvltoztathatja, ezrt jl vlaszd meg a\n"
-"jelszavt.\n"
-"\n"
-"A root felhasznl-azonost jogosulatlan hasznlata nagyon kros\n"
-"lehet a rendszer psge szempontjbl, valamint ms, a hlzaton\n"
-"keresztl csatlakoz rendszereket is veszlyeztethet. A jelsznak\n"
-"alfanumerikus karakterek keverkt kell tartalmaznia s legalbb\n"
-"8 karakter hossz kell legyen.\n"
-"Ezt a jelszt SOHA ne rd le. Ne legyen a jelsz tl hossz vagy tl\n"
-"bonyolult, hiszen emlkezned kell r!"
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"A rendszer biztonsgnak nvelse rdekben vlaszd ki a \"Shadow fjl\n"
-"alkalmazsa\" s az \"MD5 jelszavak alkalmazsa\" opcikat."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Ha a hlzatod hasznl \"NIS\"-t, vlaszd ki a \"NIS hasznlata\" opcit.\n"
-"Ha nem tudod, hogy a hlzaton van-e NIS szolgltats, krdezd meg a\n"
-"hlzati adminisztrtort."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Most ltrehozhatsz egy vagy tbb \"mezei\" felhasznlt (azaz olyan\n"
-"felhasznlt, aki a root felhasznlval ellenttben nem \"privilegizlt\").\n"
-"Ltrehozhatsz egy vagy tbb felhasznli azonostt mindenkinek, aki\n"
-"hasznlni szeretn a gpet.\n"
-"\n"
-"Megjegyzs: minden felhasznli azonosthoz\n"
-"sajt belltsok fognak tartozni (grafikus krnyezet, program-belltsok,\n"
-"stb.) s egy sajt \"home knyvtr\", ahol ezek a belltsok el lesznek\n"
-"trolva.\n"
-"\n"
-"Elszr is hozz ltre egy felhasznli azonostt sajt magadnak! Akkor is,\n"
-"ha Te leszel az egyetlen felhasznl a gpen.\n"
-"\n"
-"NE hasznld a root azonostt a mindennapi teendidhez!\n"
-"Ez nagyon veszlyes, a teljes rendszer hasznlhatatlann ttele sokszor\n"
-"csak egy apr elgpelsen mlik.\n"
-"\n"
-"Ezrt alapesetben a most ltrehozand azonostval lpj be, s a root\n"
-"felhasznl-azonostt csak adminisztrcis clokra illetve a rendszer\n"
-"karbantartsra hasznld."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Itt meg kell adnod, hogy hova kerljn a Linux boot-olshoz szksges\n"
-"informci.\n"
-"\n"
-"\n"
-"Hacsak nem tudod nagyon pontosan, hogy mit teszel, vlaszd a\n"
-"\"Lemez els szektora (MBR)\"-t."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Ha nincs kimondott ok az ellenkezjre, vlaszd a \"/dev/hda\" -t\n"
-"(ez a \"master\" meghajt az els IDE csatornn) vagy a \"/dev/sda\" -t\n"
-"(els SCSI diszk)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"A LILO (LInux LOader) s a Grub opercisrendszer-betltk: be tudnak\n"
-"tlteni Linuxot vagy brmely ms opercis rendszert, ami teleptve van\n"
-"a gpedre. J esetben a telept megtallja s belltja ezeket az\n"
-"opercis rendszereket. Ha mgsem ez a helyzet, kzzel kell megadnod\n"
-"nhny paramtert a kvetkez kpernyn. Figyelj arra, hogy j adatokat\n"
-"adj meg.\n"
-"\n"
-"Az is elfordulhat, hogy nem akarsz hozzfrst biztostani a tbbi\n"
-"opercis rendszerhez brki szmra, ekkor trld a megfelel bejegyzst\n"
-"a listbl.\n"
-"\n"
-"Ebben az esetben csak indtlemezzel indthatod a krdses op. rendszereket!"
-
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"A LILO s a grub fbb opcii:\n"
-" - Boot eszkz: belltja annak az eszkznek (pldul lemez-partci)\n"
-"a nevt, amin a boot szektor tallhat. ltalban ez a \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Ksleltets az alaprtelmezett image betltse eltt: megadja\n"
-"(tizedmsodpercben), hogy a boot loader mennyi idt vrjon, mieltt\n"
-"betlti az alaprtelmezett image-et. Ez azoknl a rendszereknl hasznos,\n"
-"amelyek a billentyzet bekapcsolsa utn azonnal a merevlemezrl boot-"
-"olnak.\n"
-"A boot loader nem vr, ha a ksleltetsi opci nincs megadva vagy az rtke "
-"0.\n"
-"\n"
-"\n"
-" - Videomd: azt lltja be, hogy milyen VGA szveges zemmdban induljon\n"
-"el a rendszer. A kvetkez rtkek lehetsgesek:\n"
-" * norml: norml 80x25-s szveges md\n"
-" * <szm>: a megfelel szveges mdot hasznlja"
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"A SILO opercisrendszer-betlt SPARC-hoz:\n"
-"Be tud tlteni Linuxot vagy brmely ms opercis rendszert, ami teleptve\n"
-"van a gpedre. J esetben a telept megtallja s belltja ezeket az\n"
-"opercis rendszereket. Ha mgsem ez a helyzet, kzzel kell megadnod\n"
-"nhny paramtert a kvetkez kpernyn. Figyelj arra, hogy j adatokat\n"
-"adj meg.\n"
-"\n"
-"\n"
-"Az is elfordulhat, hogy nem akarsz hozzfrst biztostani a tbbi\n"
-"opercis rendszerhez brki szmra, ekkor trld a megfelel bejegyzst\n"
-"a listbl.\n"
-"Ebben az esetben csak indtlemezzel indthatod a krdses op. rendszereket!"
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"A SILO fbb opcii:\n"
-"\n"
-" - Rendszerbetlt telepts: Jelzi, hov akarod elhelyezni a Linux\n"
-"indulshoz szksges informcikat. Hacsak nem tudod nagyon pontosan,\n"
-"hogy mit teszel, vlaszd a \"Lemez els szektora (MBR)\"-t.\n"
-"\n"
-" - Ksleltets az alaprtelmezett image betltse eltt: megadja\n"
-"(tizedmsodpercben), hogy a boot loader mennyi idt vrjon, mieltt\n"
-"betlti az alaprtelmezett image-et. Ez azoknl a rendszereknl hasznos,\n"
-"amelyek a billentyzet bekapcsolsa utn azonnal a merevlemezrl boot-"
-"olnak.\n"
-"A boot loader nem vr, ha a ksleltetsi opci nincs megadva vagy az rtke "
-"0."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Elrkezett az ideje, hogy belltsd a Linuxos grafikus krnyezet\n"
-"magjt, az X Window Rendszert. Ehhez be kell lltanod a videokrtydat\n"
-"s a monitorodat. Ez tbbnyire automatikusan zajlik, ezrt Neked\n"
-"ltalban csak el kell fogadnod a felajnlott belltsokat. :-)\n"
-"\n"
-"\n"
-"Amikor befejezed a belltst, a DrakX elindtja az X-et (hacsak nem kred,\n"
-"hogy hagyja ki ezt a lpst), gy ellenrizni tudod, hogy jl mkdik-e.\n"
-"Ha valami gond lenne a belltssal, mindg vissza tudsz lpni ebbe a\n"
-"menbe s kiprblhatsz ms rtkeket is, ahnyszor csak akarsz."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Ha valami nem j az X konfigurcijban, hasznld ezeket az opcikat s\n"
-"javtsd ki a hibt."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Ha grafikus felleten szeretnl bejelentkezni, vlaszd az \"Igen\"-t, "
-"egybknt meg\n"
-"vlaszd a \"Nem\"-et."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"A rendszer most jraindul.\n"
-"\n"
-"Boot-ols utn automatikusan az j Mandrake rendszered fog elindulni.\n"
-"Ha inkbb egy msik, korbban teleptett opercis rendszert szeretnl\n"
-"indtani, olvasd el a tovbbi utastsokat is."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Vlassz nyelvet"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Vlassz teleptsi mdot"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Merevlemez keresse"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Egr belltsa"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Billentyzet kivlasztsa"
-
-#: ../../install2.pm_.c:42
-#, fuzzy
-msgid "Security"
-msgstr "gndr"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Fjlrendszerek belltsa"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Partcik formzsa"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Csomagok kivlasztsa"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Rendszer teleptse"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Root jelsz belltsa"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Felhasznl hozzadsa"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Hlzat belltsa"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Szolgltatsok belltsa"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Indtlemez ksztse"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Bootmanager teleptse"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Az X belltsa"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Kilps a teleptbl"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "Nem lehet broadcast-ot hasznlni NIS tartomny nlkl"
-
-#: ../../install_any.pm_.c:676
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Tegyl egy floppy-t a(z) %s meghajtba"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Olvassi hiba a $f fjlnl"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Teszteld le az egeret"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-#, fuzzy
-msgid "To activate the mouse,"
-msgstr "Teszteld le az egeret"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Nmelyik harver a rendszereden specilis driver-t ignyel mkdshez.\n"
-"Informcik : %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Felttlen kell, hogy legyen root partcid.\n"
-"Hozz ltre egy partcit (vagy kattints egy meglvre).\n"
-"Utna add meg mount-olsi pontnak a `/'-t."
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Kell egy swap partci a mkdshez"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Nincs swap partcid.\n"
-"\n"
-"Ettl fggetlenl folytassam?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Szabad terlet hasznlata"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Nincs elg szabad terlet j partci ltrehozshoz"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Mr ltez partci hasznlata"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Nincs olyan mr ltez partci, amit hasznlhatnk"
-
-#: ../../install_interactive.pm_.c:87
-#, fuzzy
-msgid "Use the Windows partition for loopback"
-msgstr "A loopbackhez A FAT partci hasznlata"
-
-#: ../../install_interactive.pm_.c:90
-#, fuzzy
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Melyik partcira szeretnd a Linux4Win-t telepteni?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Add meg a mreteket"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "A root partci mrete MB-ban: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Swap partci (lapoz terlet) mrete MB-ban: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "A Windows partcin lv szabad hely hasznlata"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "Melyik partcit szeretnd tmretezni?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr ""
-
-# msgstr "A Windows fjlrendszer bounds kiszmtsa"
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"A FAT tmretez nem tudja kezelni a partcit.\n"
-"A kvetkez hiba keletkezett : %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr "A FAT partci tlzottan tredezett. Hasznld a `defrag'-ot elbb"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"FIGYELEM!\n"
-"\n"
-"A DrakX most tmretezi a Windows-os partcit. Vigyzz, ez a mvelet\n"
-"veszlyes. Ha mg nem tetted meg, futtasd le a scandisk-et a Windows-os\n"
-"partcin (esetleg a defrag-ot is). Ehhez ki kell lpned a teleptbl.\n"
-"Mentsd le az adatokat, majd indtsd jra a teleptt.\n"
-"Ha tudod, hogy mit teszel, nyomd meg az \"OK\"-ot."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Mekkora helyet akarsz a Windows-nak fenntartani?"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "%s partci"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "A FAT tmretezs sikertelen: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Az tmretezni kvnt partci nem FAT tpus, esetleg egy loopback "
-"hasznlja (vagy nincs elg hely)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Teljes lemez trlse"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "A Windows eltvoltsa"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "Tbb merevlemezed van! Melyikre teleptsem a Linux-ot?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "MINDEN ltez partci s rajtuk minden adat elvsz a %s meghajtn"
-
-#: ../../install_interactive.pm_.c:165
-#, fuzzy
-msgid "Custom disk partitioning"
-msgstr "Mr ltez partci hasznlata"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "fdisk hasznlata"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Most a %s partcionlsa folyik.\n"
-"Ha ksz, ne felejtsd el elmenteni a vltozsokat a \"w\"-vel"
-
-#: ../../install_interactive.pm_.c:201
-#, fuzzy
-msgid "You don't have enough free space on your Windows partition"
-msgstr "A Windows partcin lv szabad hely hasznlata"
-
-#: ../../install_interactive.pm_.c:217
-#, fuzzy
-msgid "I can't find any room for installing"
-msgstr "Nem hozhat ltre tbb partci"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "A DrakX Partcionl varzslja a kvetkezkppen dnttt:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Hiba a partcionlsban: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Hlzat indtsa"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Hlzat lelltsa"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Hiba trtnt, de nem tudom normlisan lekezelni :-(\n"
-"Folytats csak sajt felelssgedre!"
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "A %s mount pont ktszer van megadva"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Nhny fontos csomagot nem tudtam telepteni.\n"
-"Ez azt jelenti, hogy vagy a CD-ROM meghajtd, vagy a CD lemez\n"
-"hibs. A CD lemezt egy, mr felteleptett gpen a kvetkez\n"
-"parancs segtsgvel tesztelheted:\n"
-"\"rpm -qpl Mandrake/RPMS/*.rpm\"\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "dv, itt a(z) %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Nincs elrhet floppy-meghajt"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "A kvetkez lps: `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-#, fuzzy
-msgid "Choose the size you want to install"
-msgstr "Vlaszd ki a teleptend csomagokat"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "sszmret: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Verzi: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Mret: %d kB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Vlaszd ki a teleptend csomagokat"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Telepts"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Telepts"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Krem vrjon, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Htralv id "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "sszid "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Telepts elksztse"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "A %s csomag teleptse"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Ettl fggetlenl folytassam?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Hiba trtnt a csomagok rendezsekor:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Hasznljam a mr meglv X11 belltsokat?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"A rendszer gyenge erforrrsokkal rendelkezik. Valsznleg problmid\n"
-"lesznek a Linux-Mandrake teleptsvel. Prblkozz a \"Szveges md\n"
-"telepts\"-el. Nyomj \"F1\"-et bootolskor, majd add meg: \"text\"."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Vlassz a kvetkez teleptsi mdok kzl:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Az ltalad kivlasztott csomagcsoportok sszmrete kb. %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Ha ennl kevesebb helyet sznsz a rendszernek,\n"
-"adj meg egy szzalkos rtket.\n"
-"\n"
-"Ha alacsony rtket adsz meg, akkor a kivlasztott csomagok kzl\n"
-"csak a fontosabbak kerlnek teleptsre; ha 100%%-ot adsz meg,\n"
-"a DrakX minden kijellt csomagot telept."
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"A merevlemezeden csak a csomagok %d%%-nak van hely.\n"
-"\n"
-"Ha ennl kevesebbet akarsz telepteni,\n"
-"vltoztasd meg a kijelzett szzalk rtkt.\n"
-"Ha alacsony szzalk-rtket adsz meg, a telept csak a\n"
-"legfontosabb csomagokat telepti; ha hagyod a %d%%-ot,\n"
-"a lehet legtbb csomag teleptsre kerl."
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Rszletesebben vlogathatsz a kvetkez lps rszeknt."
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Teleptend csomagok szzalka"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Csomag-csoportok kivlasztsa"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Csomagok egyedi kivlasztsa"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Fa kibontsa"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Fa bezrsa"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Vlts sima s csoportok szerint rendezett nzet kztt"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Rossz csomag"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nv: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Fontossg: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "sszmret: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Nem vlaszthatod ki ezt a csomagot, mert nincs elg hely a merevlemezen."
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "A telept a kvetkez csomagokat fogja telepteni"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "A telept a kvetkez csomagokat tvoltja el"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Ez a csomag nem jellhet ki illetve nem trlhet a kijellse"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Ez egy ktelezen teleptend csomag, nem lehet eltvoltani"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr ""
-"Nem tudod trlni ennek a csomagnak a kijellst, mert mr teleptve van"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Ezt a csomagot frissteni kell!\n"
-"Biztos, hogy trlni akarod a kijellst?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-"Nem trlheted ennek a csomagnak a kijellst. Ez a csomag frisstend!"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Megsaccolom..."
-
-#: ../../install_steps_gtk.pm_.c:582
-#, fuzzy
-msgid "Please wait, preparing installation"
-msgstr "Telepts elksztse"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d csomag"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Elfogad"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Elutast"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Cserld ki a CD-t a meghajtban!\n"
-"\n"
-"Tedd be a(z) \"%s\" felirat lemezt, s nyomd meg az \"Ok\" gombot.\n"
-"Ha nincs ilyen lemezed, nyomd meg a \"Mgsem\" gombot, gy errl a CD-rl\n"
-"nem trtnik telepts."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Hiba trtnt a csomagok teleptsekor:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Hiba lpett fel"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Vlassz nyelvet."
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr "Vlaszthatsz ms nyelvet is, ez a telepts utn lesz elrhet."
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Mind"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Billentyzet"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Vlassz billentyzetkiosztst."
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Teleptsi md"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Melyik teleptsi mdot vlasztod?"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Install/Update"
-msgstr "Telepts/Frissts"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Is this an install or an update?"
-msgstr "Telepts vagy Helyrellts?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Javasolt"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Halad"
-
-#: ../../install_steps_interactive.pm_.c:226
-#, fuzzy
-msgid "Update"
-msgstr "Frissts"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Jelld meg az egered tpust."
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Egr port"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Vlaszd ki, hogy melyik soros porthoz csatlakozik az egered."
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "PCMCIA krtyk belltsa..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "IDE belltsok"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "nincs elrhet partci"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Vlaszd ki a mount pontokat"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Nem tudom olvasni a partcis tblt, vagy tl rossz szmomra :-(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Beleegyezel hogy elvesszen az sszes partci?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"A DiskDrake nem tudta rendesen beolvasni a partcis tblt.\n"
-"Folytats csak sajt felelssgedre!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Root partci"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Melyik a root partci (/) a rendszereden?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-"jra kell indtanod a gpet, hogy a partcis tbla vltozsai rvnyre\n"
-"jussanak"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Vlaszd ki a formzand partcikat"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Ellenrizzem a rossz blokkokat?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "A partcik formzsa"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "%s fjl ltrehozsa s formzsa"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Elfogyott a swap terlet, nveld meg a telepts befejezshez"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "A rendelkezsre ll csomagok keresse"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "A frisstend csomagok keresse"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"A rendszereden nem maradt elg hely a teleptshez vagy frisstshez (%d > %"
-"d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Teljes (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimlis (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Javasolt (%d MB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Egyedi"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Ha megvan minden felsorolt CD, kattints az Ok-ra.\n"
-"Ha a felsoroltak kzl egy CD sem ll rendelkezsedre, kattints a Mgsem "
-"gombra.\n"
-"Ha a felsoroltak kzl egyes CD-k hinyoznak, trld a kijellsket, majd\n"
-"kattints az Ok-ra."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "A \"%s\" cmkj CD-ROM"
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"A %s csomag teleptse\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Telepts utni belltsok"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Most lehetsg nylik arra, hogy titkostssal foglalkoz szoftverrszeket\n"
-"tlts le.\n"
-"\n"
-"FIGYELEM:\n"
-"\n"
-"Mivel a titkostssal foglalkoz szoftvermodulok hasznlatt klnbz\n"
-"trvnyek szablyozzk, kizrlag a fogyaszt s/vagy felhasznl\n"
-"felelssge eldnteni, hogy jogosult-e letlteni, trolni s/vagy hasznlni\n"
-"a krdses szoftvert.\n"
-"\n"
-"Tovbb, a fogyaszt s/vagy felhasznl klns figyelmet kell fordtson a\n"
-"helyi trvnyek s rendeletek betartsra. Amennyiben a fogyaszt s/vagy\n"
-"felhasznl nem tartja be ezeket a trvnyeket, slyos bntets szabhat ki "
-"r.\n"
-"\n"
-"A Mandrakesoft, a gyrtk, vagy a szlltk semmilyen krlmnyek kztt "
-"sem\n"
-"tehetk felelss azon specilis, kzvetett vagy jrulkos krok "
-"keletkezsrt\n"
-"(belertve, de nem kizrlagosan, a kvetkezket: profitvesztesg, "
-"zletmenetben\n"
-"bekvetkezett zavarok, kereskedelmi adatok vesztse, valamint brmilyen ms\n"
-"anyagi kr s esetleges brsg ltal megtlt krtrts), amik azon\n"
-"szoftverek hasznlatbl, birtoklsbl vagy csak a letltsbl erednek,\n"
-"amelyekhez a felhasznl s/vagy fogyaszt ezen megllapods alrsa utn\n"
-"hozzfrhet.\n"
-"\n"
-"\n"
-"Ha brmilyen krdse van a fenti szerzdssel kapcsolatban, vegye fel\n"
-"a kapcsolatot a Mandrakesoft irodjval:\n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Vlassz tkrkiszolglt, ahonnan letltd a csomagokat"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr ""
-"Kapcsolatfelvtel a tkrkiszolglval, elrhet csomagok listjnak "
-"letltse"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Vlaszd ki a teleptend csomagokat."
-
-#: ../../install_steps_interactive.pm_.c:776
-#, fuzzy
-msgid "Which is your timezone?"
-msgstr "Milyen clra szeretnd hasznlni a gpet?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "A hardver-rd GMT idt mutat?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-#, fuzzy
-msgid "Remote CUPS server"
-msgstr "Tvoli CUPS szerver"
-
-#: ../../install_steps_interactive.pm_.c:807
-#, fuzzy
-msgid "No printer"
-msgstr "Helyi nyomtat"
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr "USB egr"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Nyomtat"
-
-#: ../../install_steps_interactive.pm_.c:826
-#, fuzzy
-msgid "ISDN card"
-msgstr "Bels ISDN krtya"
-
-#: ../../install_steps_interactive.pm_.c:829
-#, fuzzy
-msgid "Sound card"
-msgstr "Szabvnyos"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-#, fuzzy
-msgid "Which printing system do you want to use?"
-msgstr "Milyen partci-tpust szeretnl?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Nincs jelsz"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "Ez a jelsz tl egyszer (legalbb %d karaktert adj meg)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "NIS hasznlata"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "yellow pages"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "NIS azonosts"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS tartomny"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS szerver"
-
-#: ../../install_steps_interactive.pm_.c:951
-#, fuzzy
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Az indtlemez lehetv teszi, hogy elindtsd a Linux opercis rendszert\n"
-"a bootmanager nlkl. Ez akkor hasznos, ha nem akarsz LILO-t (vagy grub-ot)\n"
-"telepteni a gpre, vagy egy msik opercis rendszer letrli a LILO-t,\n"
-"vagy a LILO nem mkdik az adott hardver-konfigurciddal. Az indtlemezt\n"
-"hasznlhatod a \"Mandrake rescue image\"-el egytt, gy sokkal knnyebb\n"
-"kijavtani a rendszer slyos belltsi hibit. Szeretnl most indtlemezt\n"
-"kszteni a rendszeredhez?"
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Els floppy-meghajt"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Msodik floppy-meghajt"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "tlp"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Az indtlemez lehetv teszi, hogy elindtsd a Linux opercis rendszert\n"
-"a bootmanager nlkl. Ez akkor hasznos, ha nem akarsz LILO-t (vagy grub-ot)\n"
-"telepteni a gpre, vagy egy msik opercis rendszer letrli a LILO-t,\n"
-"vagy a LILO nem mkdik az adott hardver-konfigurciddal. Az indtlemezt\n"
-"hasznlhatod a \"Mandrake rescue image\"-el egytt, gy sokkal knnyebb\n"
-"kijavtani a rendszer slyos belltsi hibit. Szeretnl most indtlemezt\n"
-"kszteni a rendszeredhez?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Sajnos nincs elrhet floppy-meghajt"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr ""
-"Vlaszd ki azt a floppy-meghajtt, amelyiket hasznlni akarod a boot-diszk "
-"ksztshez"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Tegyl egy floppy-t a(z) %s meghajtba"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Boot-diszk kszl"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Rendszerbetlt elksztse"
-
-#: ../../install_steps_interactive.pm_.c:1010
-#, fuzzy
-msgid "Do you want to use aboot?"
-msgstr "Szeretnd az aboot-ot hasznlni?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Hiba az aboot teleptsekor,\n"
-"prbljam jra a teleptst akkor is, ha ez esetleg tnkreteszi az els "
-"partcit?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "A rendszerbetlt teleptse nem sikerlt. A hiba a kvetkez:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Alacsony"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Kzepes"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Magas"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Vlaszd ki a biztonsgi szintet"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "Szeretnl automatikus teleptshez teleptlemezt kszteni?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Tegyl egy res floppy-t a(z) %s meghajtba"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Automatikus telept floppy ksztse"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"A telepts nem teljes, egyes lpsek kimaradtak.\n"
-"\n"
-"Biztos, hogy ki akarsz lpni?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Gratullok, a telepts sikeresen befejezdtt. Vedd ki a mdit, amirl\n"
-"boot-oltl (CD, floppy lemez), s nyomj Enter-t a rendszer jraindtshoz.\n"
-"\n"
-"Az ehhez a Linux-Mandrake verzihoz elrhet javtsokrl a \n"
-"http://www.linux-mandrake.com/ cmen olvashatsz.\n"
-"\n"
-"Tovbbi informcikat a rendszer belltshoz a Hivatalos \n"
-"Linux-Mandrake Felhasznli Kziknyvben tallsz."
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr "Automatikus telept floppy ksztse"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Automatikus"
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr "jratlts"
-
-#: ../../install_steps_interactive.pm_.c:1189
-#, fuzzy
-msgid "Save packages selection"
-msgstr "Csomagok egyedi kivlasztsa"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux-Mandrake Telepts %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> elemek kztt | <Space> kivlaszt | <F12> kvetkez kperny"
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Krlek vrj"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Flrerthet (%s), lgy pontosabb\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Rossz vlaszts, prblkozz jra\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (alaprtelmezs: %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Mit vlasztasz? (alaprtelmezs: %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Mit vlasztasz? (alaprtelmezs: %s, rd `none' a semmihez) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Cseh (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Nmet"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Spanyol"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finn"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Francia"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norvg"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Lengyel"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Orosz"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Angol (UK) billentyzet"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "USA-billentyzet"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "rmny (rgi)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "rmny (rgp)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "rmny (fonetikus)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbajdzsn (latin)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbajdzsn (cirill)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belga"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bolgr"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brazil (ABNT-2)"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Fehrorosz"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Svjci (nmet kioszts)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Svjci (francia kioszts)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Cseh (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Nmet (\"dead key\" nlkl)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Dn"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (Amerikai)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norvg)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "szt"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Grz (\"Orosz\" kioszts)"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Grz (\"Latin\" kioszts)"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Grg"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Magyar"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Horvt"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Izraeli"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Izraeli (Fonetikus)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Irni"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Izlandi"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Olasz"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Japn 106 billentys"
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr "Angol (UK) billentyzet"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Latin-amerikai"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Holland"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Litvn AZERTY (rgi)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Litvn AZERTY (j)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Litvn \"szmsor\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Litvn \"fonetikus\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Lengyel (qwerty kioszts)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Lengyel (qwertz kioszts)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugl"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanadai (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Orosz (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Svd"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Szlovn"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Szlovk (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Szlovk (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thai billentyzet"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Trk (hagyomnyos \"F\" modell)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Trk (modern \"Q\" modell)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrn"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "USA-billentyzet (nemzetkzi)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnmi \"szmsor\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-#, fuzzy
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jugoszlv (latin kioszts)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Sun egr"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Szabvnyos"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+ egr"
-
-#: ../../mouse.pm_.c:33
-#, fuzzy
-msgid "Generic PS2 Wheel Mouse"
-msgstr "ltalnos egr (PS/2)"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-#, fuzzy
-msgid "1 button"
-msgstr "2 gombos"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "ltalnos"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "Grgs"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "soros"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "ltalnos 2 gombos egr"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "ltalnos 3 gombos egr"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan egr"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (soros, rgi C7 tpus)"
-
-#: ../../mouse.pm_.c:65
-#, fuzzy
-msgid "busmouse"
-msgstr "Nincs egr"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 gombos"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 gombos"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "egyiket sem"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Nincs egr"
-
-#: ../../my_gtk.pm_.c:356
-#, fuzzy
-msgid "Finish"
-msgstr "Finn"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Kvetkez ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Rendben?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Internet belltsok"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Kiprbljuk az Internet kapcsolatot most?"
-
-#: ../../netconnect.pm_.c:148
-#, fuzzy
-msgid "Testing your connection..."
-msgstr "Internet kapcsolat belltsa"
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid "The system is now connected to Internet."
-msgstr "Ne lltsd be a hlzatot"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr "Internet kapcsolat / Helyi hlzat belltsa"
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Hlzati bellts"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "ISDN Belltsok"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Add meg a Szolgltatd nevt!\n"
-"Ha nincs az albbi listban, vlaszd az \"Unlisted\"-et"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Kapcsolat belltsa"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Tltsd ki vagy ellenrizd le az albbi mezket"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "Krtya IRQ"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Krtya DMA"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "Krtya IO"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "Krtya IO_0"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "Krtya IO_1"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Sajt telefonszmod"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Szolgltat neve (provider.net)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Szolgltat telefonszma"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "Elsdleges nvkiszolgl"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "Msodlagos nvkiszolgl"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "Trcszsi md"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Felhasznl nv"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Jelsz"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Eurpa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Eurpa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Milyen protokoll-t szeretnl hasznlni?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Milyen tpus krtyd van?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Nem tudom"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Amennyiben ISA krtyd van, a kvetkez kpernyn lthat rtkek fontosak.\n"
-"Ha PCMCIA krtyd van, tudnod kell a krtya IRQ s IO rtkeit.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Megszakts"
-
-#: ../../netconnect.pm_.c:288
-#, fuzzy
-msgid "Continue"
-msgstr "Ettl fggetlenl folytassam?"
-
-#: ../../netconnect.pm_.c:294
-#, fuzzy
-msgid "Which is your ISDN card ?"
-msgstr "Milyen ISDN krtyd van?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"rzkeltem egy ISDN PCI krtyt, de nem ismertem fel a tpust. Krem "
-"vlassz ki egy PCI krtyt a kvetkez kpernyn."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr "Nem talltam ISDN PCI krtyt. Vlassz ki egyet a kvetkez kpernyn"
-
-#: ../../netconnect.pm_.c:371
-#, fuzzy
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Nem tatlhat Ethernet hlzati adapter a rendszerben. Futtasd a \"Hadver "
-"konfigurcis eszkz\"-t."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-#, fuzzy
-msgid "Choose the network interface"
-msgstr "Hlzati interfsz kivlasztsa"
-
-#: ../../netconnect.pm_.c:376
-#, fuzzy
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr "Vlaszd ki, hogy melyik interfszt hasznlod az Internet kapcsolathoz"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Hlzati interfsz"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-#, fuzzy
-msgid "I'm about to restart the network device:\n"
-msgstr "jra kell indtani a hlzati interfszt. Mehet?"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "ADSL belltsok"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Az Internet kapcsolat elinduljon a rendszer indulsakor?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Vlaszd ki, hogy melyik soros portra csatlakozik a modemed."
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Modemes csatlakozs belltsai"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Csatlakozs neve"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Telefonszm"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Felhasznli nv"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Autentikci"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Szkript alap"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminlon keresztli"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Tartomnynv"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr "Elsdleges nvkiszolgl"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr "Msodlagos nvkiszolgl"
-
-#: ../../netconnect.pm_.c:701
-#, fuzzy
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr "jra kell indtani a hlzati interfszt. Mehet?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr "Internet kapcsolat belltsa"
-
-#: ../../netconnect.pm_.c:745
-#, fuzzy
-msgid "You are currently connected to internet."
-msgstr "Ne lltsd be a hlzatot"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr "Internet kapcsolat / Helyi hlzat belltsa"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid "You are not currently connected to Internet."
-msgstr "Ne lltsd be a hlzatot"
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-#, fuzzy
-msgid "Connect to Internet"
-msgstr "Csatlakozs az Internethez"
-
-#: ../../netconnect.pm_.c:754
-#, fuzzy
-msgid "Disconnect from Internet"
-msgstr "Internet kapcsolat megszaktsa"
-
-#: ../../netconnect.pm_.c:756
-#, fuzzy
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Internet kapcsolat belltsa"
-
-#: ../../netconnect.pm_.c:759
-#, fuzzy
-msgid "Internet connection & configuration"
-msgstr "Internet kapcsolat & bellts"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr "Hlzati bellts"
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "External ISDN modem"
-msgstr "Kls modem"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "Bels ISDN krtya"
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "What kind is your ISDN connection?"
-msgstr "Milyen fajta az ISDN kapcsolatod?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Kapcsolat az Internethez"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "pppoe hasznlata"
-
-#: ../../netconnect.pm_.c:836
-#, fuzzy
-msgid "use pptp"
-msgstr "pppoe hasznlata"
-
-#: ../../netconnect.pm_.c:846
-#, fuzzy, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "jra kell indtani a hlzati interfszt. Mehet?"
-
-#: ../../netconnect.pm_.c:883
-#, fuzzy
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr "Milyen protokoll-t szeretnl hasznlni?"
-
-#: ../../netconnect.pm_.c:900
-#, fuzzy
-msgid "Network configuration"
-msgstr "Hlzati bellts"
-
-#: ../../netconnect.pm_.c:901
-#, fuzzy
-msgid "Do you want to restart the network"
-msgstr "Leteszteled a belltsokat?"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Leteszteled a belltsokat?"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr "Add meg az alaprtelmezett felhasznlt:"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Eszkzk keresse..."
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy
-msgid "Normal modem connection"
-msgstr "Internet kapcsolat belltsa"
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr "A %s mount pont ktszer van megadva"
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr "Nyomtat-kapcsolat"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy
-msgid "DSL (or ADSL) connection"
-msgstr "Internet kapcsolat belltsa"
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy, c-format
-msgid "detected on interface %s"
-msgstr "Hlzati interfsz"
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr "Nyomtat-kapcsolat"
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr "Nyomtat-kapcsolat"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-#, fuzzy
-msgid "How do you want to connect to the Internet?"
-msgstr "Hogyan akarsz kapcsoldni az Internet-re?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "nem talltam hlzati krtyt"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Hlzat belltsa"
-
-#: ../../network.pm_.c:278
-#, fuzzy
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"rd be a gped nevt.\n"
-"Nmely DHCP szerver megkveteli a gpnevet.\n"
-"A teljes nevet kell bernod, pl.: \"mybox.mylab.myco.com\".\n"
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-#, fuzzy
-msgid "Host name"
-msgstr "Gpnv:"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Krlek add meg a gp IP belltsait.\n"
-"Minden mezbe IP-cmet rj pontozott decimlis formtumban\n"
-"(pl.: 192.169.10.11)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "%s hlzati csatol belltsa"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-#, fuzzy
-msgid "IP address"
-msgstr "IP-cm"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-#, fuzzy
-msgid "Netmask"
-msgstr "Hlzati maszk"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Automatikus IP-cm"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP-cm, a formtuma 192.168.10.11"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"rd be a gped nevt.\n"
-"Nmely DHCP szerver megkveteli a gpnevet.\n"
-"\n"
-"A teljes nevet kell bernod, pl.: \"mybox.mylab.myco.com\"."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "DNS szerver"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "tjr (gateway)"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "tjr-eszkz"
-
-#: ../../network.pm_.c:407
-#, fuzzy
-msgid "Proxies configuration"
-msgstr "Proxy belltsok"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP proxy"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "A proxy valami ilyen kell, hogy legyen: http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "A proxy valami ilyen kell, hogy legyen: ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "A kiterjesztett (extended) partci nem tmogatott ezen a platformon"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"A partcis tblban van egy res hely, de nem tudom hasznlni.\n"
-"Az egyetlen megolds az elsdleges partci thelyezse gy, hogy a\n"
-"kiterjesztett partcik mell kerljn az res hely."
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Hiba a %s fjl olvassa kzben"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "A %s fjlbl val visszallts sikertelen: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Hibs ments fjl"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Hiba a %s fjl rsa kzben"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "ersen ajnlott"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "fontos"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "nagyon szp"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "szp"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "esetleg"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Helyi nyomtat"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "Tvoli nyomtat"
-
-#: ../../printer.pm_.c:23
-#, fuzzy
-msgid "Remote lpd server"
-msgstr "Tvoli lpd szerver"
-
-#: ../../printer.pm_.c:24
-#, fuzzy
-msgid "Network printer (socket)"
-msgstr "Network nyomtat (socket) belltsai"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-#, fuzzy
-msgid "Printer Device URI"
-msgstr "Nyomtat eszkz URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Portok tesztelse"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "\"%s\" tpus nyomtatt talltam "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Helyi nyomtat eszkz"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Melyik eszkzre van a nyomtatd csatlakoztatva\n"
-"(megjegyzs: /dev/lp0 megfelel az LPT1:-nek)?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Nyomtat eszkz"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Tvoli nyomtat-dmon belltsai"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Tvoli lpd nyomtatsor hasznlathoz meg kell adnod a tvoli\n"
-"nyomtat-kiszolgl nevt, valamint annak a nyomtatsornak a nevt\n"
-"amelyikre a nyomtatsokat kldeni szeretnd."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Tvoli host neve"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Tvoli nyomtatsor neve"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) nyomtatsi belltsok"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Ahhoz, hogy SMB nyomtatra tudj nyomtatni, meg kell adnod a nyomtat-\n"
-"kiszolgl SMB nevt (Megjegyzs: nem biztos, hogy ugyanaz, mint a TCP/IP\n"
-"gpnv!) s az IP-cmt, a megosztott nyomtat nevt s egy megfelel\n"
-"jogosultsgokkal rendelkez felhasznl nevt, munkacsoportjt s jelszavt."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "SMB szerver gpneve"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "SMB szerver IP cme"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Megosztott knyvtr neve"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Munkacsoport"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "NetWare nyomtat belltsai"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Ahhoz, hogy NetWare nyomtatra tudj nyomtatni, meg kell adnod a NetWare\n"
-"nyomtat-kiszolgl nevt (Vigyzz! Ez nem biztos, hogy megegyezik a TCP/IP\n"
-"gpnvvel!), a nyomtatsor nevt, s egy megfelel jogosultsgokkal\n"
-"rendelkez felhasznli nevet s jelszt."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Nyomtat szerver"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Nyomtatsi sor neve"
-
-#: ../../printerdrake.pm_.c:142
-#, fuzzy
-msgid "Socket Printer Options"
-msgstr "Socket nyomtat belltsai"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Ahhoz, hogy egy socket printerre nyomtathassz, meg kell adnod a nyomtat\n"
-"gpnevt s opcionlisan a nyomtat portszmt."
-
-#: ../../printerdrake.pm_.c:145
-#, fuzzy
-msgid "Printer Hostname"
-msgstr "Nyomtat gpneve"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-#, fuzzy
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Milyen tpus nyomtatd van?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Ki akarod prblni a nyomtatst?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Teszt oldal(ak) kinyomtatsa..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"A teszt oldalt/oldalakat elkldtem a nyomtat-dmonnak.\n"
-"Eltarthat egy kis ideig, amg a nyomtats elindul.\n"
-"Nyomtatsi llapot:\n"
-"%s\n"
-"\n"
-"Megfelelen mkdik?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"A teszt oldalt/oldalakat elkldtem a nyomtat-dmonnak.\n"
-"Eltarthat egy kis ideig, amg a nyomtats elindul.\n"
-"Megfelelen mkdik?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Igen, nyomtass ASCII prba oldalt"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Igen, nyomtass PostScript prba oldalt"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Igen, nyomtasd ki mind a kt prba oldalt"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Nyomtat belltsa"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Nyomtat-belltsok"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Paprmret"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Lapdobs nyomtats utn?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Uniprint driver belltsai"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Sznmlysg belltsai"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "PostScript-knt nyomtassam a szveget?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Javtsam a lpcszetes nyomtatst?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Oldalak szma laponknt"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Jobb/bal marg pontokban (1/72 inch)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Als/fels marg pontokban (1/72 inch)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Tovbbi GhostScript opcik"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Tovbbi Text opcik"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Oldalak sorrendjnek megfordtsa"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Szeretnd a nyomtatt belltani?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Itt vannak a jelenleg belltott nyomtatsorok.\n"
-"Adhatsz a meglvkhz jakat, vagy mdosthatod a rgieket."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Vlassz nyomtat-kapcsolatot"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Hogyan van a nyomtat csatlakoztatva?"
-
-#: ../../printerdrake.pm_.c:392
-#, fuzzy
-msgid "Select Remote Printer Connection"
-msgstr "Vlassz tvoli nyomtat-kapcsolatot"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr "SMB szerver IP cme"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Nyomtatsor trlse"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-#, fuzzy
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Minden nyomtatsornak (itt llnak sorban a nyomtatsok) kell adni egy nevet\n"
-"(ami gyakran lp) s hozz kell rendelni egy spool knyvtrat. Milyen sor- "
-"s\n"
-"knyvtrnevet lltsak be ehhez a nyomtatsorhoz?"
-
-#: ../../printerdrake.pm_.c:465
-#, fuzzy
-msgid "Name of printer"
-msgstr "Helyi nyomtat"
-
-#: ../../printerdrake.pm_.c:466
-#, fuzzy
-msgid "Description"
-msgstr "Rszletes belltsok"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Minden nyomtatsornak (itt llnak sorban a nyomtatsok) kell adni egy nevet\n"
-"(ami gyakran lp) s hozz kell rendelni egy spool knyvtrat. Milyen sor- "
-"s\n"
-"knyvtrnevet lltsak be ehhez a nyomtatsorhoz?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Nyomtatsor neve"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Spool knyvtr"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Nyomtat-kapcsolat"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Nem tudok partcit hozzadni a _formzott_ RAID md%d-hez"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Nem tudom rni a $file fjlt"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid sikertelen"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid sikertelen (lehet, hogy hinyzik a raidtools?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Nincs elg partci a RAID level %d -hez/-hoz/-hz\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Anacron, a peridikus parancstemez."
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"Az apmd monitorozza a telepek llapott s naplz a syslog-ba.\n"
-"Segtsgvel lellthatod a gpet, mieltt a telep lemerl."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Az at parancs ltal temezett utastsokat hajtja vgre a megadott "
-"idpontban, \n"
-"valamint ktegelt (batch-elt) parancsokat futtat, amikor a gp terhelse\n"
-"alacsony."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"A cron a szabvnyos parancstemez program a UNIX opercis rendszereken.\n"
-"Segtsgvel a felhasznlk ltal megadott programok futtathatk "
-"periodikusan.\n"
-"A vixie cron kicsit tbbet tud az alap cron-nl, biztonsgosabb s\n"
-"knnyebb konfigurlni."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"A GPM egr-tmogatst ad a szveg-alap (konzolos) Linux alkalmazsoknak,\n"
-"mint pl. a Midnight Commander. Segtsgvel lehet kivgni s beilleszteni,\n"
-"valamint felbukkan menket hasznlni a konzolon."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Az Apache egy WWW szerver. HTML fjlokat s CGI-t tesz elrhetv\n"
-"a hlzaton keresztl."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"Az \"internet szuperszerver dmon\" (inetd) felels sok hlzati\n"
-"szolgltats indtsrt, mint pl. telnet, ftp, rsh s rlogin. Az inetd\n"
-"lelltsval minden ltala irnytott szolgltats lell."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Ez a csomag tlti be a billentyzetkiosztst, amit a\n"
-"/etc/sysconfig/keyboard -ban llthatsz be. A belltst megvltoztathatod\n"
-"a kbdconfig programmal. Ezt bekapcsolva kell hagyni a legtbb rendszeren."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"Az lpd a nyomtat-dmon, ez kell az lpr rendes mkdshez. Az lpd\n"
-"alapjban vve egy nyomtatszerver, elrendezi a nyomtatsokat a klnbz\n"
-"nyomtatk kztt."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"A named (BIND) egy DNS, azaz Tartomnynv-kiszolgl, ennek segtsgvel\n"
-"feleltetik meg a gpek az IP-cmeket s a host neveket."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Fel- s lecsatolja (mount-olja) a klnbz hlzati fjlrendszereket,\n"
-"mint pl. az NFS, az SMB (LAN Manager/Windows) s az NCP (NetWare)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Aktivlja vagy deaktivlja a boot-olsnl automatikusan indul hlzati\n"
-"interfszeket."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"Az NFS egy npszer, TCP/IP hlzaton hasznlatos fjlmegosztsi protokoll.\n"
-"Ez a szolgltats egy NFS kiszolgl, konfigurlsa a /etc/exports\n"
-"fjlon t trtnik."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"Az NFS egy npszer, TCP/IP hlzaton hasznlatos fjlmegosztsi protokoll.\n"
-"Ez a szolgltats az NFS lock-olst oldja meg."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"A PCMCIA-tmogatsra ltalban azoknak a laptop felhasznlknak van "
-"szksgk,\n"
-"akik PCMCIA modemet vagy hlzati krtyt hasznlnak a gpkben.\n"
-"A szolgltats nem indul el, ha nincs belltva, teht nyugodtan fel lehet\n"
-"telepteni olyan gpre is, ahol nincs r szksg."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"A portmapper kezeli az RPC kapcsolatokat, ezekre tbbek kztt a NIS-nek s\n"
-"az NFS-nek van szksge. A portmap szerverre csak a (NIS vagy NFS) szerver\n"
-"gpeken van szksg."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"A Postfix egy Levl Tovbbt (MTA) Program. mozgatja a leveleket egyik\n"
-"gprl a msikra."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Elmenti s visszalltja a rendszer entrpia troljt, gy jobb\n"
-"vletlenszmokat lehet generlni."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"A routed dmon lehetv teszi, hogy a RIP protokoll segtsgvel "
-"automatikusan\n"
-"frissljn az IP protokoll ltal hasznlt tvlaszt tbla (IP routing "
-"table).\n"
-"A RIP elterjedt a kis hlzatokon, a nagyobb, bonyolultabb hlzatok ms\n"
-"tvlaszt protokollokat ignyelnek."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Az rstat protokoll segtsgvel a felhasznlk informcit kaphatnak a\n"
-"(loklis) hlzaton mkd gpekrl."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Az rusers protokoll segtsgvel a felhasznlk lekrdezhetik, hogy melyik\n"
-"gpre ki van bejelentkezve."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Az rwho protokoll segtsgvel tvoli felhasznlk kaphatnak egy listt az\n"
-"rwho dmont futtat gp aktulis felhasznlirl (olyan, mint a finger)."
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"A syslog-on keresztl naplznak a dmonok, klnbz naplfjlokba.\n"
-"A syslog hasznlata mindg ajnlott."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-"Elindtja s lelltja az X Font Szervert a gp indulsakor s\n"
-"lellsakor."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr ""
-"Vlaszd ki, hogy boot-olskor milyen szolgltatsok induljanak automatikusan "
-"el"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr "Figyelmeztets"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "stopped"
-msgstr "Append"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-#, fuzzy
-msgid "On boot"
-msgstr "Root"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Nem tudom beolvasni a partcis tblt, tlsgosan el van rontva :-(\n"
-"Megprblom trlni a rossz partcikat"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-#, fuzzy
-msgid "Internet Connection Sharing"
-msgstr "Internet Kapcsolat Megosztsa"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Az Internet Kapcsolat Megosztsa engedlyezett"
-
-#: ../../standalone/drakgw_.c:119
-#, fuzzy
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr "Az Internet Kapcsolat Megoszts mr ltezik.\n"
-
-#: ../../standalone/drakgw_.c:123
-#, fuzzy
-msgid "disable"
-msgstr "Tbla (table)"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "reconfigure"
-msgstr "Az X belltsa"
-
-#: ../../standalone/drakgw_.c:126
-#, fuzzy
-msgid "Disabling servers..."
-msgstr "Eszkzk keresse..."
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr "Az Internet Kapcsolat Megoszts nem engedlyezett"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Az Internet Kapcsolat Megoszts nem engedlyezett"
-
-#: ../../standalone/drakgw_.c:144
-#, fuzzy
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr "Az Internet Kapcsolat Megoszts mr ltezik.\n"
-
-#: ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "enable"
-msgstr "Tbla (table)"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr "Az Internet Kapcsolat Megosztsa engedlyezett"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "A konfigurcis fjl tartalma nem rtelmezhet"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "Internet"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Nincs hlzati adapter a szmtgpben!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Nem tatlhat Ethernet hlzati adapter a rendszerben. Futtasd a \"Hadver "
-"konfigurcis eszkz\"-t."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:233
-#, fuzzy
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Vlaszd ki, hogy melyik hlzati adapterrel csatlakozol a Helyi hlzatra."
-
-#: ../../standalone/drakgw_.c:242
-#, fuzzy
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Figyelem! A hlzati adaptere mr be van lltva.\n"
-"jbl be kvnja lltani?"
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr "Hlzati cmhibt szleltem az aktulis konfigurciban $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-#, fuzzy
-msgid "Firewalling configuration detected!"
-msgstr "Tzfal belltsokat rzkeltem!"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Figyelem! Lzet Tzfal belltsokat rzkeltem. Kzileg lehetsges a "
-"belltsok mdostsa telepts utn."
-
-#: ../../standalone/drakgw_.c:276
-#, fuzzy
-msgid "Configuring..."
-msgstr "IDE belltsok"
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Bellt szkriptek, szoftver telepts, szerverek indtsa..."
-
-#: ../../standalone/drakgw_.c:307
-#, fuzzy
-msgid "Problems installing package $_"
-msgstr "A %s csomag teleptse"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Gratullok!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-#, fuzzy
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "Az Internet Kapcsolat Megoszts mr ltezik.\n"
-
-#: ../../standalone/drakgw_.c:609
-#, fuzzy
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Az Internet Kapcsolat Megoszts mr ltezik.\n"
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Az Internet Kapcsolat Megosztsa engedlyezett"
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "Internet kapcsolat & bellts"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Internet Kapcsolat Megosztsa"
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Hlzati bellts"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-#, fuzzy
-msgid "Profile: "
-msgstr "felcsatols sikertelen: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-#, fuzzy
-msgid "Hostname: "
-msgstr "Gpnv:"
-
-#: ../../standalone/draknet_.c:147
-#, fuzzy
-msgid "Internet access"
-msgstr "Internet"
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr "Tpus: "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "tjr (gateway):"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-#, fuzzy
-msgid "Interface:"
-msgstr "Internet"
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "Csatlakozs neve"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr "Nyomtat-kapcsolat"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Internet kapcsolat belltsa"
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "Internet kapcsolat belltsa"
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr "Ne lltsd be a hlzatot"
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr "Szolgltatsok belltsa"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr "ADSL belltsok"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Adapter"
-msgstr "Frissts"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr "Szerver"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr "Internet"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-#, fuzzy
-msgid "Configure Local Area Network..."
-msgstr "Helyi hlzat belltsa"
-
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Normal Mode"
-msgstr "Szoksos"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr "Belltsok tesztelse"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr "ADSL belltsok"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Disable"
-msgstr "Tbla (table)"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Enable"
-msgstr "Tbla (table)"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr "Internet kapcsolat & bellts"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr "Internet kapcsolat & bellts"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr "Csatlakozs neve"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-#, fuzzy
-msgid "Provider dns 1 (optional)"
-msgstr "Elsdleges nvkiszolgl"
-
-#: ../../standalone/draknet_.c:561
-#, fuzzy
-msgid "Provider dns 2 (optional)"
-msgstr "Msodlagos nvkiszolgl"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Cracker Paradicsom!"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Silny"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Paranois vagy..."
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Ezt a szintet csak krltekintssel hasznld. Egyszerbben tudod ltala a\n"
-"rendszert hasznlni, de gy az sebezhetbb is lesz: ne vlaszd ezt a "
-"szintet,\n"
-"ha a gp hlzatba van ktve, vagy az Internethez csatlakozik. A hozzfrs\n"
-"nem jelsz ltal vdett."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"A jelszavakat bekapcsoltam, de ez a konfigurci mg mindg nem ajnlott\n"
-"hlzatra kapcsold gp esetn."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Nhny biztonsgi kiegszts lp letbe ezen a szinten, tbb a biztonsgi\n"
-"ellenrzs s figyelmeztets."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Ezt a biztonsgi szintet javasoljuk, ha a gped kliensknt csatlakozik az\n"
-"Internethez. A biztonsgi ellenrzsek letbe lpnek."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Ezzel a biztonsgi szinttel hasznlhatod a gpedet kiszolglknt.\n"
-"Ez a biztonsgi szint elg magas ahhoz, hogy a rendszer sok, hlzaton\n"
-"keresztl csatlakoz klienst szolgljon ki."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Megtartjuk a 4. szint belltsait, de most a rendszer teljesen zrt.\n"
-"Ez a legbiztonsgosabb szint."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Biztonsgi szint belltsa"
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr "Csatlakozs az Internethez"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Vlaszd ki az eszkzt, amit hasznlni szeretnl"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-#, fuzzy
-msgid "Change Cd-Rom"
-msgstr "Felbonts megvltoztatsa"
-
-#: ../../standalone/livedrake_.c:24
-#, fuzzy
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Cserld ki a CD-t a meghajtban!\n"
-"\n"
-"Tedd be a(z) \"%s\" felirat lemezt, s nyomd meg az \"Ok\" gombot.\n"
-"Ha nincs ilyen lemezed, nyomd meg a \"Mgsem\" gombot, gy errl a CD-rl\n"
-"nem trtnik telepts."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "nem talltam serial_usb -t\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emulljam a harmadik gombot?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Teszteld le az egeret"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Hlzati bellts"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "USB egr"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Csatlakozs az Internethez"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Internet kapcsolat megszaktsa"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Internet kapcsolat megszaktsa"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Internet kapcsolat megszaktsa"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Csatlakozs neve"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "Csatlakozs neve"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Nyomtat-kapcsolat"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr "Tzfal belltsokat rzkeltem!"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr "Tzfal belltsokat rzkeltem!"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Hiba %s rsra val megnyitsakor: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Development"
-msgstr "Fejleszt"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr "Munkalloms"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Graphics"
-msgstr "Multimdia"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Network nyomtat (socket) belltsai"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr "Internet belltsok"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Iroda"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr "Multimdia"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentci"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Sound"
-msgstr "Multimdia"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Scientific Workstation"
-msgstr "Munkalloms"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Games"
-msgstr "Gnome"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Video"
-msgstr "Multimdia"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Network nyomtat (socket) belltsai"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office Workstation"
-msgstr "Munkalloms"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - CD Burning"
-msgstr "Multimdia"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr "szerver"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Belltsok"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "KDE Workstation"
-msgstr "Munkalloms"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Gnome Workstation"
-msgstr "Munkalloms"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr "Dokumentci"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "Leteszteled a belltsokat?"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-
-#~ msgid "%d minutes"
-#~ msgstr "%d perc"
-
-#~ msgid "1 minute"
-#~ msgstr "1 perc"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d msodperc"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr "IDE belltsok"
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "ADSL belltsok"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr "Fjl kivlasztsa"
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr "Internet kapcsolat belltsa"
-
-#, fuzzy
-#~ msgid "Standard tools"
-#~ msgstr "Szabvnyos"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Bellts: elrhetsg hozzadsa"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr ""
-#~ "Ez az indulsnl vgrehajtott szkript megprblja betlteni a modulokat "
-#~ "az\n"
-#~ "USB egrhez."
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr "Telepts utni belltsok"
-
-#~ msgid "Automatic dependencies"
-#~ msgstr "Automatikus fggsgek"
-
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "A LILO/GRUB belltsa"
-
-#~ msgid "Create a boot floppy"
-#~ msgstr "Indtlemez ksztse"
-
-#~ msgid "Format floppy"
-#~ msgstr "Floppy formzsa"
-
-#~ msgid "Choice"
-#~ msgstr "Vlaszts"
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr "Monitor"
-
-#, fuzzy
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "Most a rendszered tovbbi opciit llthatod be.\n"
-#~ "\n"
-#~ " - Merevlemez-meghajt optimalizlsa: Ez az opci nvelheti a "
-#~ "merevlemez\n"
-#~ " teljestmnyt, de csak halad felhasznlknak ajnlott:\n"
-#~ " ha hibs a chipset-ed, adatveszts lphet fel.\n"
-#~ " Megjegyzs: a kernelben van egy lista ezekrl a hibs chipset-ekrl\n"
-#~ " s lemezekrl, de ha el akarod kerlni a rossz meglepetseket,\n"
-#~ " inkbb ne kapcsold be ezt az opcit.\n"
-#~ "\n"
-#~ " - Biztonsgi szint kivlasztsa: Itt vlaszthatod ki a rendszered\n"
-#~ " biztonsgi szintjt.\n"
-#~ " Tovbbi informcikat a kziknyvben tallsz.\n"
-#~ " Ha nem tudod, hogy mit szeretnl, vlaszd a \"Kzepes\" szintet.\n"
-#~ " Ha igazn biztonsgot szeretnl, vlaszd a \"Paranois\" szintet,\n"
-#~ " de vigyzz: EZEN A SZINTEN A ROOT FELHASZNL NEM LPHET BE "
-#~ "KONZOLRL!\n"
-#~ " Ha root akarsz lenni, be kell lpned egy mezei felhasznlknt, majd\n"
-#~ " kiadni a \"su\" parancsot. Lnyegben, ha ezt az opcit vlasztod,\n"
-#~ " kszlj fel r, hogy csak kiszolglnak lesz j a Linuxod.\n"
-#~ " n figyelmeztettelek!\n"
-#~ "\n"
-#~ " - Fizikai RAM mrete: sajnos a mai PC-s vilgban nincs egysges "
-#~ "mdszer\n"
-#~ " a RAM mennyisgnek lekrdezsre. Ezrt a Linux nem mindg tudja\n"
-#~ " megllaptani, hogy mennyi memria van a gpben. Ha ez a helyzet,\n"
-#~ " add meg a helyes mretet. Megjegyzs: ha az eltrs csak 2 vagy 4 MB\n"
-#~ " (a valdi s az automatikusan belltott mennyisg kztt), az\n"
-#~ " mg normlisnak tekinthet.\n"
-#~ "\n"
-#~ " - Eltvolthat mdia automatikus mount-olsa: ha nem szeretnd minden\n"
-#~ " esetben kzzel mount-olni a cserlhet mdikat (floppy, CD, Zip), "
-#~ "ezt\n"
-#~ " az opcit Neked talltk ki.\n"
-#~ "\n"
-#~ " - Num Lock bekapcsolsa boot-olskor: Ha azt szeretnd, hogy a Num "
-#~ "Lock\n"
-#~ " bekapcsolt llapotban legyen boot-ols utn, vlaszd ezt az opcit.\n"
-#~ " (Megjegyzs: A \"Num Lock\" vagy mkdik X alatt, vagy nem.)"
-
-#, fuzzy
-#~ msgid "Internet/Network access"
-#~ msgstr "Internet"
-
-#, fuzzy
-#~ msgid "Mail information"
-#~ msgstr "Adatok megjelentse"
-
-#, fuzzy
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr "Hlzati bellts"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Egyebek"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "Egyb krdsek"
-
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "Nem lehet a supermount-ot hasznlni ilyen magas biztonsgi szinten"
-
-#~ msgid ""
-#~ "beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
-#~ "If you want to be root, you have to login as a user and then use \"su\".\n"
-#~ "More generally, do not expect to use your machine for anything but as a "
-#~ "server.\n"
-#~ "You have been warned."
-#~ msgstr ""
-#~ "Figyelem: E BIZTONSGI SZINTEN, A ROOT BEJELENTKEZS KONZOLON NEM "
-#~ "MEGENGEDETT!\n"
-#~ "Amennyiben root jogosultsg szksges, jelentkezz be felhasznlknt,\n"
-#~ "s hasznld a \"su\" parancsot. More generally, do not expect to use\n"
-#~ "your machine for anything but as a server.\n"
-#~ "You have been warned."
-
-#, fuzzy
-#~ msgid "Actions"
-#~ msgstr "Aktv"
-
-#, fuzzy
-#~ msgid "toot"
-#~ msgstr "Root"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Elsdleges nvkiszolgl"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Msodlagos nvkiszolgl"
-
-#, fuzzy
-#~ msgid "using module"
-#~ msgstr "Trcszsi md"
-
-#, fuzzy
-#~ msgid "Development, Database"
-#~ msgstr "Fejleszt"
-
-#, fuzzy
-#~ msgid "Development, Standard tools"
-#~ msgstr "Fejleszt"
-
-#~ msgid "loopback"
-#~ msgstr "loopback"
-
-#~ msgid "None"
-#~ msgstr "Egyiket sem"
-
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Melyik bootloader-t szeretnd hasznlni?"
-
-#~ msgid "Auto install floppy"
-#~ msgstr "Automatikus teleptlemez"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Megkeressem a modemet?"
-
-#, fuzzy
-#~ msgid "Configure an ISDN connection"
-#~ msgstr "Internet kapcsolat belltsa"
-
-#, fuzzy
-#~ msgid "Configure a cable connection"
-#~ msgstr "Internet kapcsolat belltsa"
-
-#, fuzzy
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Internet kapcsolat belltsa"
-
-#, fuzzy
-#~ msgid "Configure local network"
-#~ msgstr "Helyi hlzat belltsa"
-
-#, fuzzy
-#~ msgid "Disable networking"
-#~ msgstr "Hlzat kikapcsolsa"
-
-#, fuzzy
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Internet kapcsolat / Helyi hlzat belltsa"
-
-#, fuzzy
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr ""
-#~ "A loklis hlzat mr be van lltva.\n"
-#~ "Szeretnd:"
-
-#, fuzzy
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr "IDE belltsok"
-
-#~ msgid "Multimedia"
-#~ msgstr "Multimdia"
-
-#, fuzzy
-#~ msgid "KDE"
-#~ msgstr "IDE"
-
-#~ msgid "Gnome"
-#~ msgstr "Gnome"
-
-#, fuzzy
-#~ msgid "Internet Tools"
-#~ msgstr "Internet"
-
-#, fuzzy
-#~ msgid "Development C/C++"
-#~ msgstr "Fejleszt"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Idzna belltsa"
-
-#~ msgid "Configure printer"
-#~ msgstr "Nyomtat belltsa"
-
-#, fuzzy
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr "Network nyomtat (socket) belltsai"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(adatvesztst okozhat)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Hasznljak merevlemez-optimalizlst?"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Num Lock bekapcsolsa boot-olskor"
-
-#~ msgid "Confirm Password"
-#~ msgstr "Jelsz (mgegyszer)"
-
-#~ msgid "Gateway device:"
-#~ msgstr "tjr-eszkz:"
-
-#~ msgid "default"
-#~ msgstr "alaprtelmezett (default)"
-
-#, fuzzy
-#~ msgid "What is your system used for?"
-#~ msgstr "Milyen clra szeretnd hasznlni a gpet?"
-
-#, fuzzy
-#~ msgid "Select the size you want to install"
-#~ msgstr "Add meg a rendszer mrett"
-
-#~ msgid "Use diskdrake"
-#~ msgstr "diskdrake hasznlata"
-
-#~ msgid "Customized"
-#~ msgstr "Egyedi"
-
-#~ msgid ""
-#~ "Are you sure you are an expert? \n"
-#~ "You will be allowed to make powerful but dangerous things here.\n"
-#~ "\n"
-#~ "You will be asked questions such as: ``Use shadow file for passwords?'',\n"
-#~ "are you ready to answer that kind of questions?"
-#~ msgstr ""
-#~ "Biztos hogy \"Profi\" vagy?\n"
-#~ "Amennyiben Igen a vlaszod, komoly s esetleg veszlyes krdsek vrnak "
-#~ "rd.\n"
-#~ "Ilyen krdseket fogsz kapni, hogy: \"Shadow fjl alkalmazsa "
-#~ "ajelszavakhoz?\"\n"
-#~ "Akarsz (s tudsz) ilyen krdsekre vlaszolni?"
-
-#~ msgid "Use shadow file"
-#~ msgstr "\"Shadow\" fjl alkalmazsa"
-
-#~ msgid "shadow"
-#~ msgstr "shadow"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "MD5 jelszavak alkalmazsa"
-
-#~ msgid "Search"
-#~ msgstr "Keress"
-
-#~ msgid "Package"
-#~ msgstr "Csomag"
-
-#~ msgid "Text"
-#~ msgstr "Szveges"
-
-#~ msgid "Tree"
-#~ msgstr "Fa"
-
-#~ msgid "Sort by"
-#~ msgstr "Rendezs"
-
-#~ msgid "Category"
-#~ msgstr "Kategria"
-
-#~ msgid "See"
-#~ msgstr "Lsd"
-
-#~ msgid "Installed packages"
-#~ msgstr "Teleptett csomagok"
-
-#~ msgid "Available packages"
-#~ msgstr "Hozzfrhet csomagok"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Csak leveleket(?) mutat"
-
-#~ msgid "Expand all"
-#~ msgstr "Mindent kinyit"
-
-#~ msgid "Collapse all"
-#~ msgstr "Mindent felcsuk"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Add meg a csomagok helyt"
-
-#~ msgid "Update location"
-#~ msgstr "Elrhetsg frisstse"
-
-#~ msgid "Remove"
-#~ msgstr "Eltvolt"
-
-#~ msgid "Find Package"
-#~ msgstr "Csomag keresse"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Adott fjlt tartalmaz csomagok keresse"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Vlts Teleptett s Elrhet kztt"
-
-#~ msgid "Uninstall"
-#~ msgstr "Eltvolts"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Teleptend csomag kivlasztsa"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Fggsgek ellenrzse"
-
-#~ msgid "Wait"
-#~ msgstr "Vrj"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "A telept a kvetkez csomagokat tvoltja el"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "RPM-ek eltvoltsa"
-
-#~ msgid "Regexp"
-#~ msgstr "Regulris kifejezs (Regexp)"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Melyik csomagokat keresed?"
-
-#~ msgid "%s not found"
-#~ msgstr "%s nem tallhat"
-
-#~ msgid "No match"
-#~ msgstr "Nincs tallat"
-
-#~ msgid "No more match"
-#~ msgstr "Nincs tbb tallat"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "Az rpmdrake jelenleg \"kevs memria\" zemmdban mkdik.\n"
-#~ "jraindtom, hogy a keress mkdjn"
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Melyik fjlt keresed?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Mit keresel?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Adj meg egy nevet (pl.: \"extra\", \"commercial\")"
-
-#~ msgid "Directory"
-#~ msgstr "Knyvtr"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "A CD-ROM nem elrhet (nincs semmi a /mnt/cdrom -ban)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "Az RPM-eket tartalmaz knyvtr URL-je"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Az FTP-hez s a HTTP-hez meg kell adnod a hdlist helyt\n"
-#~ "Az tvonal relatv kell legyen a fenti URL-hez kpest"
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Krlek add meg a kvetkez informcit"
-
-#~ msgid "%s is already in use"
-#~ msgstr "A %s mr hasznlatban van"
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "RPM adatbzis frisstse"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "%s bejegyzs eltvoltsa"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Levelek(?) keresse"
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "A levelek(?) keresse egy kis idbe telik"
-
-#~ msgid "I have found an ISDN Card:\n"
-#~ msgstr "Talltam egy ISDN krtyt:\n"
-
-#, fuzzy
-#~ msgid "France"
-#~ msgstr "Francia"
-
-#~ msgid "Other countries"
-#~ msgstr "Egyb nemzetek"
-
-#~ msgid "In which country are you located ?"
-#~ msgstr "Melyik orszgban lsz?"
-
-#~ msgid "Alcatel modem"
-#~ msgstr "Alcatel modem"
-
-#~ msgid "ECI modem"
-#~ msgstr "ECI modem"
-
-#~ msgid ""
-#~ "If your adsl modem is an Alcatel one, choose Alcatel. Otherwise, ECI."
-#~ msgstr ""
-#~ "Ha az DSL modemed Alcatel one, vlaszd az Alcatel-t. Egybknt az ECI-t."
-
-#~ msgid "don't use pppoe"
-#~ msgstr "ne hasznlja a pppoe-t"
-
-#~ msgid "mandatory"
-#~ msgstr "ktelez"
-
-#~ msgid "interesting"
-#~ msgstr "rdekes"
-
-#~ msgid "i18n (important)"
-#~ msgstr "i18n (fontos)"
-
-#~ msgid "i18n (very nice)"
-#~ msgstr "i18n (nagyon szp)"
-
-#~ msgid "i18n (nice)"
-#~ msgstr "i18n (szp)"
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Melyik soros porthoz csatlakozik az egered?"
-
-#~ msgid "Czech"
-#~ msgstr "Cseh"
-
-#~ msgid "Slovakian"
-#~ msgstr "Szlovk"
-
-#~ msgid "Could not install ipchains RPM with urpmi."
-#~ msgstr "Nem tudom telepteni az ipcahains RPM-et az urpmi-vel."
-
-#~ msgid "Could not install dhcp RPM with urpmi."
-#~ msgstr "Nem tudom telepteni a dhcp RPM-et az urpmi.vel."
-
-#~ msgid "Could not install linuxconf RPM with urpmi."
-#~ msgstr "Nem tudom telepteni a linuxconf RPM-et az urpmi-vel."
-
-#~ msgid "Could not install bind RPM with urpmi."
-#~ msgstr "Nem tudom telepteni a bind RPM-et az urpmi-vel."
-
-#~ msgid "Could not install caching-nameserver RPM with urpmi."
-#~ msgstr "Nem tudom telepteni a caching-nameserver RPM-et az urpmi-vel."
-
-#, fuzzy
-#~ msgid "Reconfigure local network"
-#~ msgstr "A hlzat jrakonfigurlsa"
-
-#~ msgid ""
-#~ "Your computer can be configured to share its Internet connection.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "A szmtgp nem llthat be Internet Kapcsolat Megosztsra.\n"
-#~ "\n"
-
-#~ msgid "Everything has been configured.\n"
-#~ msgstr "Minden be lett lltva!\n"
-
-#, fuzzy
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Kapcsolat az Internethez norml modemmel"
-
-#, fuzzy
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Internet kapcsolat ISDN hasznlatval"
-
-#, fuzzy
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Kapcsolat az Internethez DSL (ADSL)"
-
-#, fuzzy
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Internet kapcsolat kbelen keresztl"
-
-#~ msgid "Germany"
-#~ msgstr "Nmet"
-
-#~ msgid "Germany (1TR6)"
-#~ msgstr "Nmet (1TR6)"
-
-#, fuzzy
-#~ msgid "What do you wish to do?"
-#~ msgstr "Mit szeretnl tenni?"
-
-#, fuzzy
-#~ msgid "Install/Rescue"
-#~ msgstr "Telepts/Helyrellts"
-
-#, fuzzy
-#~ msgid "Rescue"
-#~ msgstr "Helyrellts"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Milyen partci tpust szeretnl?"
-
-#, fuzzy
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Vlaszd a \"Telepts\"-t, ha nincs korbbi Linux verzi installlva,\n"
-#~ "vagy ha tbb klnbz disztribcit vagy verzit szeretnl hasznlni.\n"
-#~ "\n"
-#~ "\n"
-#~ "Vlaszd a \"Helyrellts\"-t, ha van mr egy Mandrake Linux rendszered\n"
-#~ "teleptve, s azt kvnod valami hiba utn rendbehozni.\n"
-#~ "\n"
-#~ "\n"
-#~ "Vlassz:\n"
-#~ "\n"
-#~ " - Ajnlott: Ha mg sohasem teleptettl Linuxot, vlaszd ezt az "
-#~ "opcit.\n"
-#~ "\n"
-#~ " - Egyedi: Ha mr jl ismered a GNU/Linuxot, kivlaszthatod, \n"
-#~ " hogy milyen clra sznod a rendszert. A rszleteket lsd lentebb.\n"
-#~ "\n"
-#~ " - Halad: Ez azt felttelezi, hogy szakrtje vagy a GNU/Linux\n"
-#~ " rendszereknek, s teljesen egyedi teleptst szeretnl vgezni.\n"
-#~ " Hasonlan, mint az \"Egyedi\" opcinl, megadhatod, hogy milyen "
-#~ "clra\n"
-#~ " sznod a rendszert, de krlek CSAK AKKOR VLASZD EZT, HA TUDOD, HOGY\n"
-#~ " MIT TESZEL!\n"
-
-#~ msgid ""
-#~ "At this point, you may choose what partition(s) to use to install\n"
-#~ "your Linux-Mandrake system if they have been already defined (from a\n"
-#~ "previous install of GNU/Linux or from another partitioning tool). In "
-#~ "other\n"
-#~ "cases, hard drive partitions must be defined. This operation consists of\n"
-#~ "logically dividing the computer's hard drive capacity into separate\n"
-#~ "areas for use.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you have to create new partitions, use \"Auto allocate\" to "
-#~ "automatically\n"
-#~ "create partitions for GNU/Linux. You can select the disk for partitioning "
-#~ "by\n"
-#~ "clicking on \"hda\" for the first IDE drive,\n"
-#~ "\"hdb\" for the second or \"sda\" for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Two common partition are: the root partition (/), which is the starting\n"
-#~ "point of the filesystem's directory hierarchy, and /boot, which contains\n"
-#~ "all files necessary to start the operating system when the\n"
-#~ "computer is first turned on.\n"
-#~ "\n"
-#~ "\n"
-#~ "Because the effects of this process are usually irreversible, "
-#~ "partitioning\n"
-#~ "can be intimidating and stressful to the unexperienced user. DiskDrake\n"
-#~ "simplifies the process so that it must not be. Consult the documentation\n"
-#~ "and take your time before proceeding.\n"
-#~ "\n"
-#~ "\n"
-#~ "You can reach any option using the keyboard: navigate through the "
-#~ "partitions\n"
-#~ "using Tab and Up/Down arrows. When a partition is selected, you can use:\n"
-#~ "\n"
-#~ "- Ctrl-c to create a new partition (when an empty partition is "
-#~ "selected)\n"
-#~ "\n"
-#~ "- Ctrl-d to delete a partition\n"
-#~ "\n"
-#~ "- Ctrl-m to set the mount point\n"
-#~ msgstr ""
-#~ "Most megadhatod, hogy melyik partcikra telepljn a Linux-Mandrake,\n"
-#~ "ha mr lteznek a partcik (egy rgebbi Linuxbl, vagy ha mr "
-#~ "ltrehoztad\n"
-#~ "ket valamilyen msik partcionl programmal). Ha mg nincsenek\n"
-#~ "partciid, itt az ideje, hogy ltrehozd ket. Ez azt jelenti, hogy a\n"
-#~ "fizikai merevlemezt kisebb logikai rszekre kell osztanod.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha j partcikat kell ltrehoznod, hasznld az \"Automatikus allokls\"-"
-#~ "t\n"
-#~ "s a DrakX ltrehozza majd ket. A megfelel merevlemez kivlasztsa a\n"
-#~ "kvetkezk valamelyikre val kattintssal lehetsges: \"hda\" (els IDE\n"
-#~ "lemez), \"hdb\" (msodik IDE lemez), \"sda\" (els SCSI lemez), stb.\n"
-#~ "\n"
-#~ "\n"
-#~ "Kt lnyeges partci a root partci (/), ami a fjlrendszer knyvtr-\n"
-#~ "hierarchijnak kiindulpontja, s a /boot, ami a rendszer indulshoz\n"
-#~ "(boot-olshoz) szksges fjlokat tartalmazza.\n"
-#~ "\n"
-#~ "\n"
-#~ "Mivel a partcionls hatsai maradandak s visszafordthatatlanok, "
-#~ "ezrt\n"
-#~ "a kevsb tapasztalt felhasznlk ltalban tartanak ettl a mvelettl.\n"
-#~ "A DiskDrake egyszersti a mveletet annak rdekben, hogy ez ne legyen\n"
-#~ "gy. Sznj r egy kis idt s olvasd el a dokumentcit, mieltt\n"
-#~ "hozzfognl.\n"
-#~ "\n"
-#~ "\n"
-#~ "Elrhetsz minden opcit a billentyzet segtsgvel is: a <TAB> s a\n"
-#~ "Fel/Le billentykkel vlthatsz a partcik kztt. Ha kivlasztottl egy\n"
-#~ "partcit, a kvetkez kombincikat hasznlhatod:\n"
-#~ "\n"
-#~ "- Ctrl-C: j partci ltrehozsa (amikor res partci van kivlasztva)\n"
-#~ "\n"
-#~ "- Ctrl-D: ltez partci trlse\n"
-#~ "\n"
-#~ "- Ctrl-M: csatolsi pont belltsa\n"
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for\n"
-#~ "use (formatting meaning creating a filesystem). At this time, you may\n"
-#~ "wish to re-format some already existing partitions to erase the data\n"
-#~ "they contain. Note: it is not necessary to re-format pre-existing\n"
-#~ "partitions, particularly if they contain files or data you wish to keep.\n"
-#~ "Typically retained are /home and /usr/local."
-#~ msgstr ""
-#~ "Minden jonnan ltrehozott partcit formzni kell (a formzs azt\n"
-#~ "jelenti, hogy egy fjlrendszert kell r ltrehozni). Itt az alkalom,\n"
-#~ "hogy esetleg jraformzz egyes, korbbrl megmaradt partcikat, hogy\n"
-#~ "a rajtuk lev adatok trldjenek.\n"
-#~ "Megjegyzs: nem szksges jraformzni a mr ltez partcikat, fleg\n"
-#~ "abban az esetben, ha szksged van a rgi adatokra. Tipikusan ilyenek a\n"
-#~ "/home s a /usr/local fjlrendszerek."
-
-#~ msgid ""
-#~ "The packages selected are now being installed. This operation\n"
-#~ "should take a few minutes unless you have chosen to upgrade an\n"
-#~ "existing system, in that case it can take more time even before\n"
-#~ "upgrade starts."
-#~ msgstr ""
-#~ "A kivlasztott csomagokat most telepti a Telept. Ez a mvelet nhny\n"
-#~ "percig eltarthat.\n"
-#~ "\n"
-#~ "Ha egy ltez rendszert frisstesz, a folyamat hosszabb idt is ignybe "
-#~ "vehet!"
-
-#~ msgid ""
-#~ "If DrakX failed to find your mouse, or if you want to\n"
-#~ "check what it has done, you will be presented the list of mice\n"
-#~ "above.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you agree with DrakX's settings, just click 'Ok'.\n"
-#~ "Otherwise you may choose the mouse that more closely matches your own\n"
-#~ "from the menu above.\n"
-#~ "\n"
-#~ "\n"
-#~ "In case of a serial mouse, you will also have to tell DrakX\n"
-#~ "which serial port it is connected to."
-#~ msgstr ""
-#~ "Ha a DrakX nem tudta meghatrozni az egered tpust, vagy csak "
-#~ "ellenrizni\n"
-#~ "szeretnd a belltst, felajnl egy listt az ismert egrtpusokkal.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha egyetrtesz a DrakX belltsaival, csak vlaszd az 'Ok' gombot.\n"
-#~ "Ha nem, akkor vlassz egy egeret a listbl, lehetleg egy olyat, ami\n"
-#~ "kzel ll az egered tpushoz.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha az egered soros portra csatlakozik, meg kell mondanod, hogy melyikre."
-
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "Ez a rsz arra hivatott, hogy segtsen belltani a loklis hlzatot\n"
-#~ "(LAN) vagy a modemet.\n"
-#~ "\n"
-#~ "Vlaszd a \"Loklis hlzat (LAN)\"-t s a DrakX megprblja megkeresni "
-#~ "a\n"
-#~ "hlzati krtyt a gpedben. A PCI-os krtykat tbbnyire megtallja s\n"
-#~ "belltja automatikusan. Ezzel ellenttben, ha ISA-s krtyd van, az\n"
-#~ "automatikus felismers nem fog mkdni.\n"
-#~ "Ekkor kzzel kell kivlasztanod a megfelel driver-t\n"
-#~ "a megjelen listbl.\n"
-#~ "\n"
-#~ "Mint a SCSI krtynl, hagyhatod, hogy a driver ismerje fel a hardvert,\n"
-#~ "de ha ez nem mkdik, kzzel kell opcikat megadnod, amiket megtallsz\n"
-#~ "a hardver dokumentcijban.\n"
-#~ "\n"
-#~ "Ha a Linux-Mandrake-et egy mr hlzathoz kttt gpre telepted, a\n"
-#~ "hlzat rendszergazdja lt el a szksges informcikkal\n"
-#~ "(IP-cm, hlzati maszk s gpnv).\n"
-#~ "\n"
-#~ "Ha otthon hozol ltre egy sajt hlzatot, Neked kell a cmeket\n"
-#~ "kivlasztanod.\n"
-#~ "\n"
-#~ "Vlaszd a \"Csatlakozs modemmel\"-t s a DrakX megprblja felismerni a\n"
-#~ "modemedet. Ha nem sikerlne neki, add meg a soros portot, amihez a\n"
-#~ "modem csatlakozik."
-
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "A Linux sokfle nyomtatt tud kezelni. A tpustl fggen ms s ms a\n"
-#~ "bellts menete. Nem szabad figyelmen kvl hagyni, hogy a print "
-#~ "spooler\n"
-#~ "az \"lp\" nevet hasznlja az alaprtelmezett nyomtat neveknt, gy "
-#~ "ltezni\n"
-#~ "kell egy ilyen nev nyomtatnak. Adhatsz viszont tbb nevet is egy\n"
-#~ "nyomtatnak, ezeket a \"|\" jellel kell elvlasztani egymstl. Teht ha\n"
-#~ "valami rtelmesebb nevet szeretnl adni a nyomtatdnak, egyszeren rd\n"
-#~ "azt az els helyre, pldul: \"Az n nyomtatm|lp\".\n"
-#~ "Az a nyomtat lesz az alaprtelmezett, amelyiknek a nevei kzt szerepel\n"
-#~ "az \"lp\".\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha a nyomtatd a gphez van ktve (a nyomtat-porton), vlaszd a\n"
-#~ "\"Loklis nyomtat\"-t. Ekkor meg kell mondanod a teleptnek, hogy\n"
-#~ "melyik porton van a nyomtat, valamint ki kell vlasztanod a megfelel\n"
-#~ "filtert (szrt).\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha egy tvoli UNIX gpre csatlakoztatott nyomtatt szeretnl elrni,\n"
-#~ "vlaszd a \"Tvoli lpd\"-t. Ahhoz, hogy ez mkdjn, nem kell\n"
-#~ "felhasznli nevet vagy jelszt megadni, de ismerni kell a tvoli\n"
-#~ "gpen lv nyomtatsor pontos nevt.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha egy SMB nyomtatt kvnsz elrni (ez azt jelenti, hogy a nyomtat egy\n"
-#~ "tvoli Windows 9x/NT gphez van ktve), meg kell adnod a tvoli gp SMB\n"
-#~ "nevt (ami nem biztos hogy megegyezik a TCP/IP-n hasznlt gpnvvel),\n"
-#~ "tovbb valsznleg az IP-cmt, valamint egy felhasznli nevet, a\n"
-#~ "munkacsoport nevt s egy jelszt, illetve termszetesen a nyomtat\n"
-#~ "nevt is. Ugyanez igaz NetWare nyomtat esetn is, azzal a kivtellel,\n"
-#~ "hogy nem kell munkacsoportot megadni."
-
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "Krlek vlaszolj \"Igen\"-el! Ha pldul ksbb telepted a Microsoft\n"
-#~ "Windows-t, az fellrja a boot szektort. Ha ilyen esetben nincs boot\n"
-#~ "floppy-d, csak nehezen tudod ezutn elindtani a Linuxot!"
-
-#~ msgid "Move your wheel!"
-#~ msgstr "Mozgasd a grgdet!"
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Vltoztatsok elvetse?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Milyen tpus egered van?"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Automatikus felbontsok"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "Megkeresem a mkdkpes felbontsokat. Ezalatt a monitor villogni "
-#~ "fog...\n"
-#~ "Ha ez zavar, nyugodtan kikapcsolhatod, csipogssal jelzem, amikor "
-#~ "befejeztem."
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "Megprblhatom megkeresni az elrhet felbontsokat (pl. 800x600).\n"
-#~ "Ez rossz esetben lefagyaszthatja a szmtgpet.\n"
-#~ "Megprbljam?"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "Nem talltam rvnyes videomdot.\n"
-#~ "Prbld meg egy msik videokrtya vagy monitor belltssal"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Felbonts automatikus keresse"
-
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "Apple ADB egr"
-
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "Apple ADB egr (2 gomb)"
-
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "Apple ADB egr (3 vagy tbb gomb)"
-
-#~ msgid "Apple USB Mouse"
-#~ msgstr "Apple USB egr"
-
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "Apple USB egr (2 gomb)"
-
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "Apple USB egr (3 vagy tbb gomb)"
-
-#, fuzzy
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse (PS/2)"
-
-#, fuzzy
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI Bus egr"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft Bus egr"
-
-#, fuzzy
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech MouseMan egr"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB egr (3 vagy tbb gomb)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft Rev 2.1A vagy magasabb (soros)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (soros)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (soros)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (soros)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "ltalnos egr (soros)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Microsoft-kompatbilis (soros)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "ltalnos 3 gombos egr (soros)"
-
-#, fuzzy
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse (PS/2)"
-
-#~ msgid "nfs mount failed"
-#~ msgstr "NFS felcsatols sikertelen"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Titkosts"
-
-#~ msgid "Do you want to configure a local network for your system?"
-#~ msgstr "Szeretnd belltani a loklis hlzatot a rendszeren?"
-
-#~ msgid "Show less"
-#~ msgstr "Mutass kevesebbet"
-
-#~ msgid "Show more"
-#~ msgstr "Mutass tbbet"
-
-#~ msgid "tie"
-#~ msgstr "nyakkends"
-
-#~ msgid "brunette"
-#~ msgstr "barna"
-
-#~ msgid "girl"
-#~ msgstr "lny"
-
-#~ msgid "woman-blond"
-#~ msgstr "szke n"
-
-#~ msgid "automagic"
-#~ msgstr "automatikus"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Milyen billentyzetkiosztst hasznlsz?"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Prbljam megkeresni a PCMCIA krtykat?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "%s eszkzk keresse?"
-
-#~ msgid "Modem Configuration"
-#~ msgstr "A modem belltsai"
-
-#~ msgid ""
-#~ "Do you want to configure a dialup connection with modem for your system?"
-#~ msgstr "Szeretnl belltani modemes csatlakozst a rendszeren?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "PCI eszkzk keresse?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "Root partci keresse."
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s: Ez nem egy root partci, vlassz msikat."
-
-#~ msgid "No root partition found"
-#~ msgstr "Root partci nem tallhat"
-
-#~ msgid "Please choose a partition to use as your root partition."
-#~ msgstr "Vlaszd ki a root partcit."
-
-#~ msgid "You don't have any windows partitions!"
-#~ msgstr "Nincs egyetlen Windows-os partcid sem!"
-
-#~ msgid "You don't have any enough room for Lnx4win"
-#~ msgstr "Nincs elg hely az Lnx4win szmra"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# '\202' is '' (eacute) in cp437 encoding
-# '\242' is '' (oacute) in cp437 encoding
-# '\224' is '' (odiaeresis) in cp437 encoding.
-# '\201' is '' (udiaeresis) in cp437 encoding
-# '\240' is '' (aacute) in cp437 encoding
-# '\241' is '' (iacute) in cp437 encoding
-# there is no '' (odoubleacute) in cp437 using o" ...
-#
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Lgy dvzlve a LILO bootmanager-ben!\n"
-#~ "\n"
-#~ "A lehetsges alternatvk megtekintshez nyomj egy <TAB>-ot.\n"
-#~ "\n"
-#~ "Egy adott opercis rendszer betltshez rd be a megfelelo\" image nevt s\n"
-#~ "nyomj egy <ENTER>-t, vagy vrj %d msodpercet s az alaprtelmezett "
-#~ "elindul.\n"
-#~ "\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "A SILO fbb opcii"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Itt vannak a SILO jelenlegi bejegyzsei.\n"
-#~ "Adhatsz a meglvkhz jakat, vagy mdosthatod a meglvket."
-
-#~ msgid "This label is already in use"
-#~ msgstr "Mr van ilyen cmke"
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "A SILO teleptse nem sikerlt. A hiba a kvetkez:"
-
-#~ msgid ""
-#~ "DrakX will attempt at first to look for one or more PCI\n"
-#~ "SCSI adapter(s). If it finds it (or them) and knows which driver(s)\n"
-#~ "to use, it will insert it (them) automatically.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your SCSI adapter is an ISA board, or is a PCI board but DrakX\n"
-#~ "doesn't know which driver to use for this card, or if you have no\n"
-#~ "SCSI adapters at all, you will then be prompted on whether you have\n"
-#~ "one or not. If you have none, answer \"No\". If you have one or more,\n"
-#~ "answer \"Yes\". A list of drivers will then pop up, from which you\n"
-#~ "will have to select one.\n"
-#~ "\n"
-#~ "\n"
-#~ "After you have selected the driver, DrakX will ask if you\n"
-#~ "want to specify options for it. First, try and let the driver\n"
-#~ "probe for the hardware: it usually works fine.\n"
-#~ "\n"
-#~ "\n"
-#~ "If not, do not forget the information on your hardware that you\n"
-#~ "could get from your documentation or from Windows (if you have it\n"
-#~ "on your system), as suggested by the installation guide. These\n"
-#~ "are the options you will need to provide to the driver."
-#~ msgstr ""
-#~ "A DrakX elszr ellenrzi, hogy tall-e egy vagy tbb PCI-os SCSI "
-#~ "vezrlt.\n"
-#~ "Ha tall ilyet (ilyeneket) s megtallja a hozz (hozzjuk) tartoz\n"
-#~ "driver-t (driver-eket), automatikusan beilleszti azt (azokat).\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha a SCSI vezrl krtyd ISA-s, vagy olyan PCI-os, amelyrl a DrakX nem\n"
-#~ "tudja eldnteni, hogy melyik driver-t hasznlja hozz, vagy ha nincs is\n"
-#~ "SCSI krtyd, a DrakX megkrdi, hogy van-e krtyd. Ha nincsen, "
-#~ "vlaszolj\n"
-#~ "\"Nem\"-mel. Ha van egy vagy tbb SCSI krtyd, vlaszolj \"Igen\"-nel.\n"
-#~ "Ez esetben megjelenik egy lista a driver-ekkel, ebbl vlaszthatod ki\n"
-#~ "a megfelelt.\n"
-#~ "\n"
-#~ "\n"
-#~ "A driver kivlasztsa utn a DrakX megkrdezi, szeretnl-e opcikat "
-#~ "megadni\n"
-#~ "hozz. Els krben clszer a driver-re hagyni a hardver meghatrozst,\n"
-#~ "ltalban mkdni szokott.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha mgse mkdik, akkor hasznld a hardverrel jr dokumentcit, \n"
-#~ "vagy nzd meg, hogy a Windows milyennek ismeri fel a krtyt (persze, "
-#~ "ha \n"
-#~ "van Windows a gpeden), ahogyan ezt a Teleptsi tmutat rja. Ezeket "
-#~ "az \n"
-#~ "opcikat kell megadnod a driver-nek."
-
-#~ msgid "Shutting down"
-#~ msgstr "Rendszer lelltsa"
-
-#~ msgid "useless"
-#~ msgstr "haszontalan"
-
-#~ msgid "garbage"
-#~ msgstr "szemt"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "or 7.0 (Air)."
-#~ msgstr ""
-#~ "Vlaszd a \"Teleptst\", ha nincs korbbi Linux verzi installlva,\n"
-#~ "vagy ha tbb klnbz disztribcit vagy verzit hasznlsz.\n"
-#~ "\n"
-#~ "\n"
-#~ "Vlaszd a \"Frisstst\", ha frissteni szeretnd a Mandrake Linux\n"
-#~ "valamelyik korbbi vltozatt: 5.1 (Venice), 5.2 (Leeloo), 5.3 (Festen),\n"
-#~ "6.0 (Venus), 6.1 (Helios), Gold 2000 vagy 7.0 (Air)."
-
-#~ msgid "Do you want to use LILO?"
-#~ msgstr "Szeretnd a LILO-t hasznlni?"
-
-#~ msgid ""
-#~ "You may now select the packages you wish to install.\n"
-#~ "\n"
-#~ "\n"
-#~ "First you can select group of package to install or upgrade. After that\n"
-#~ "you can select more packages according to the total size you wish to\n"
-#~ "select.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you are in expert mode, you can select packages individually.\n"
-#~ "Please note that some packages require the installation of others.\n"
-#~ "These are referred to as package dependencies. The packages you select,\n"
-#~ "and the packages they require will be automatically selected for\n"
-#~ "install. It is impossible to install a package without installing all\n"
-#~ "of its dependencies."
-#~ msgstr ""
-#~ "Itt vlaszthatod ki, hogy milyen csomagokat szeretnl telepteni.\n"
-#~ "\n"
-#~ "\n"
-#~ "Elszr kivlaszthatsz egy csomag csoportot teleptsre vagy frisstsre, "
-#~ "majd a kijellt csomagokhoz hozzadhatsz egyenknt is csomagokat az "
-#~ "ignyeidnek s a rendelkezsedre ll helynek a fggvnyben.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha \"Halad\" mdban teleptesz, kivlaszthatod a csomagokat egyesvel "
-#~ "is.\n"
-#~ "Ne felejtsd el, hogy egyes csomagoknak ms csomagokra is szksgk van,\n"
-#~ "ezt hvjuk fggsgi viszonynak (egyik csomag a msik elfelttele). \n"
-#~ "A telept automatikusan telepti az sszes kivlasztott csomagot s "
-#~ "azok \n"
-#~ "elfeltteleit. Nem teleptheted fel a csomagokat az elfelttelek "
-#~ "kielgtse nlkl."
-
-#~ msgid ""
-#~ "LILO (the LInux LOader) can boot Linux and other operating systems.\n"
-#~ "Normally they are correctly detected during installation. If you don't\n"
-#~ "see yours detected, you can add one or more now.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you don't want that everybody could access at one of them, you can "
-#~ "remove\n"
-#~ "it now (a boot disk will be needed to boot it)."
-#~ msgstr ""
-#~ "A LILO (a LInux LOader) be tudja tlteni a Linuxot vagy ms opercis \n"
-#~ "rendszereket is. Optimlis esetben ezeket az egyb opercis "
-#~ "rendszereket\n"
-#~ "a telepts sorn a LILO szreveszi. Ha a rendszer mgse tallja meg \n"
-#~ "valamelyik korbban felteleptett opercis rendszert, akkor azt most \n"
-#~ "megadhatod kzzel.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ha nem akarod, hogy valamelyik opercis rendszerhez brki hozzfrjen, "
-#~ "vedd\n"
-#~ "ki a listbl (ezek utn csak boot floppyrl tudod majd indtani!!)."
-
-#~ msgid "Setup SCSI"
-#~ msgstr "SCSI belltsa"
-
-#~ msgid ""
-#~ "Now that you've selected desired groups, please choose \n"
-#~ "how many packages you want, ranging from minimal to full \n"
-#~ "installation of each selected groups."
-#~ msgstr ""
-#~ "Most hogy kivlasztottad a csoportokat, vlaszd ki a csomagokat "
-#~ "(minimlistl\n"
-#~ "a teljes teleptsig) minden csoporton bell."
-
-#~ msgid "Installation CD Nr %s"
-#~ msgstr "Telept CD Nr %s"
-
-#~ msgid ""
-#~ "Update installation image!\n"
-#~ "\n"
-#~ "Ask your system administrator or reboot to update your installation image "
-#~ "to include\n"
-#~ "the Cd-Rom image labelled \"%s\". Press Ok if image has been updated or "
-#~ "press Cancel\n"
-#~ "to avoid installation from this Cd-Rom image."
-#~ msgstr ""
-#~ "Frisstsd a telept image-et!\n"
-#~ "Krd meg a rendszeradminisztrtort vagy indtsd jra a gpet s frisstsd "
-#~ "a\n"
-#~ "telept image-et, hogy az tartalmazza a \"%s\" CD-ROM image-et. Nyomd "
-#~ "meg\n"
-#~ "az OK-t ha frisstetted az image-et, vagy a Mgsem gombot, ha nem akarsz "
-#~ "errl\n"
-#~ "a CD image-rl telepteni."
-
-#~ msgid "Which language do you want?"
-#~ msgstr "Melyik nyelvet vlasztod?"
-
-#~ msgid ""
-#~ "You need %dMB for a full install of the groups you selected.\n"
-#~ "You can go on anyway, but be warned that you won't get all packages"
-#~ msgstr ""
-#~ "%d MB kellene az sszes kivlasztott csoport teleptshez.\n"
-#~ "Folytathatod, de figyelmeztetlek, hogy nem tudom az sszes csomagot "
-#~ "telepteni."
-
-#~ msgid "Choose other CD to install"
-#~ msgstr "Vlassz egy msik CD-t a teleptshez"
-
-#~ msgid "Which packages do you want to install"
-#~ msgstr "Mely csomagokat teleptsem?"
-
-#~ msgid "Downloading cryptographic packages"
-#~ msgstr "A titkost csomagok letltse"
-
-#~ msgid "expert"
-#~ msgstr "halad"
-
-#~ msgid "developer"
-#~ msgstr "fejleszt"
-
-#~ msgid "beginner"
-#~ msgstr "kezd"
-
-#~ msgid "Linear (needed for some SCSI drives)"
-#~ msgstr "Linear (ez egyes SCSI merevlemezeknek kell)"
-
-#~ msgid "linear"
-#~ msgstr "linear"
-
-#~ msgid "After %s partition %s,"
-#~ msgstr "%s utn %s partci,"
-
-#~ msgid "changing type of"
-#~ msgstr "tpus vltoztatsa"
-
-#~ msgid "formatting"
-#~ msgstr "formzs"
-
-#~ msgid "resizing"
-#~ msgstr "tmretezs"
-
-#~ msgid "US Keyboard"
-#~ msgstr "USA-billentyzet"
-
-#~ msgid "Size: %s MB"
-#~ msgstr "Mret: %s MB"
-
-#~ msgid "Bad kickstart file %s (failed %s)"
-#~ msgstr "Hibs kickstart fjl %s (hiba %s)"
-
-#~ msgid "Going to install %d MB. You can choose to install more programs"
-#~ msgstr "%d MB-ot fogok telepteni. Telepthetsz mg ms programokat is"
-
-#~ msgid "Too many packages chosen: %dMB doesn't fit in %dMB"
-#~ msgstr "Tl sok csomagot vlasztottl ki: %dMB nem fr el %dMB-on"
-
-#~ msgid ""
-#~ "Linux does not yet fully support ultra dma 66.\n"
-#~ "As a work-around i can make a custom floppy giving access the hard drive "
-#~ "on ide2 and ide3"
-#~ msgstr ""
-#~ "A Linux jelenleg nem tmogatja maradktalanul az Ultra DMA 66-ot\n"
-#~ "A problma elkerlsre tudok kszteni egy testreszabott floppy-t, "
-#~ "amivel\n"
-#~ "elrheted az ide2 s ide3 csatornkon lv merevlemezeket"
-
-#~ msgid ""
-#~ "Enter a floppy to create an HTP enabled boot\n"
-#~ "(all data on floppy will be lost)"
-#~ msgstr ""
-#~ "A HTP-t tmogat indtlemez ksztshez helyezz be egy lemezt a "
-#~ "meghajtba\n"
-#~ "(a lemezen minden adat elvsz)"
-
-#~ msgid "It is necessary to restart installation booting on the floppy"
-#~ msgstr "jra kell kezdened a teleptst, indtsd a gpet az indtlemezzel"
-
-#~ msgid "It is necessary to restart installation with the new parameters"
-#~ msgstr "jra kell kezdened a teleptst az j paramterekkel"
-
-#~ msgid ""
-#~ "Failed to create an HTP boot floppy.\n"
-#~ "You may have to restart installation and give ``%s'' at the prompt"
-#~ msgstr ""
-#~ "A HTP indtlemez ksztse nem sikerlt.\n"
-#~ "Lehet, hogy jra kell kezdened a teleptst s meg kell adnod a ``%s'' -t "
-#~ "a\n"
-#~ "promptnl"
-
-#~ msgid "Installation CD Nr 1"
-#~ msgstr "Telept CD Nr 1"
-
-#~ msgid "Local LAN"
-#~ msgstr "Loklis hlzat (LAN)"
-
-#~ msgid "User name:"
-#~ msgstr "Felhasznlnv:"
-
-#~ msgid "Password:"
-#~ msgstr "Jelsz:"
-
-#~ msgid "Choose install or upgrade"
-#~ msgstr "Telepts vagy frissts"
-
-#~ msgid "What usage do you want?"
-#~ msgstr "Mire szeretnd hasznlni?"
-
-#~ msgid "Logitech MouseMan/FirstMouse (ps/2)"
-#~ msgstr "Logitech MouseMan/FirstMouse (PS/2)"
-
-#~ msgid "Genius NetMouse Pro (PS/2)"
-#~ msgstr "Genius NetMouse Pro (PS/2)"
-
-#~ msgid "Microsoft IntelliMouse (serial)"
-#~ msgstr "Microsoft IntelliMouse (soros)"
-
-#~ msgid "Logitech MouseMan/FirstMouse (serial)"
-#~ msgstr "Logitech MouseMan/FirstMouse (soros)"
-
-#, fuzzy
-#~ msgid ""
-#~ "DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
-#~ "By default, the 4.0 server is used unless your card is not supported.\n"
-#~ "\n"
-#~ "Do you want to keep XFree 3.3?"
-#~ msgstr ""
-#~ "A DrakX ltrehozza az X konfigurcis fjlt az XFree 3.3-as s 4.0-s\n"
-#~ "verzijhoz is. Alaprtelmezsben a 3.3-as szervert hasznljuk, mert "
-#~ "tbb\n"
-#~ "videokrtyt tmogat.\n"
-#~ "\n"
-#~ "Ki akarod prblni a 4-es XFree-t?"
-
-#, fuzzy
-#~ msgid "Configure LAN"
-#~ msgstr "Az X belltsa"
-
-#, fuzzy
-#~ msgid "End configuration"
-#~ msgstr "Belltsok"
-
-#, fuzzy
-#~ msgid "Do not set up networking"
-#~ msgstr "Hlzat belltsa"
-
-#, fuzzy
-#~ msgid "URI for Local printer"
-#~ msgstr "Helyi nyomtat"
-
-#, fuzzy
-#~ msgid "Local Printer Device (URI)"
-#~ msgstr "Helyi nyomtat eszkz"
-
-#, fuzzy
-#~ msgid ""
-#~ "What URI device is your printer connected to\n"
-#~ "(note that parallel:/dev/lp0 is equivalent to LPT1:)?\n"
-#~ msgstr ""
-#~ "Melyik eszkzre van a nyomtatd csatlakoztatva\n"
-#~ "(megjegyzs: /dev/lp0 megfelel az LPT1:-nek)?\n"
-
-#, fuzzy
-#~ msgid "Network:"
-#~ msgstr "Hlzati maszk:"
-
-#, fuzzy
-#~ msgid "Everything configured!"
-#~ msgstr "belltsok beolvassa"
-
-#, fuzzy
-#~ msgid "pptp alcatel"
-#~ msgstr "Automatikus helyfoglals"
-
-#, fuzzy
-#~ msgid "Small(%dMB)"
-#~ msgstr "(%d MB)"
-
-#, fuzzy
-#~ msgid "Do you want to configure a ISDN connection for your system?"
-#~ msgstr "Szeretnd belltani a loklis hlzatot a rendszeren?"
-
-#, fuzzy
-#~ msgid "Autologin at startup"
-#~ msgstr "Grafikus bejelentkezs"
-
-#, fuzzy
-#~ msgid "Autologin - Choose default user"
-#~ msgstr "Add meg az j mretet"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#
-#, fuzzy
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Lgy dvzlve a SILO bootmanager-ben!\n"
-#~ "\n"
-#~ "A lehetsges alternatvk megtekintshez nyomj egy <TAB>-ot.\n"
-#~ "\n"
-#~ "Egy adott opercis rendszer betltshez rd be a megfelel image nevt\n"
-#~ "s nyomj egy <ENTER>-t, vagy vrj %d msodpercet s az alaprtelmezett "
-#~ "elindul.\n"
-#~ "\n"
diff --git a/perl-install/share/po/i18n_compssUsers b/perl-install/share/po/i18n_compssUsers
deleted file mode 100644
index 49ca5d6f4..000000000
--- a/perl-install/share/po/i18n_compssUsers
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/perl
-
-use lib "../..";
-use common ":common";
-
-sub get {
- my ($meta_class) = @_;
- my @l;
-
- local *F;
- open F, "../compssUsers$meta_class" or return; #die "can't open file ../compssUsers$meta_class";
- foreach (<F>) {
- /^\s*$/ || /^#/ and next;
-
- if (/^(\S.*)/) {
- my ($icon, $path, $descr);
- /^(.*?)\s*\[icon=(.*?)\](.*)/ and $_ = "$1$3", $icon = $2;
- /^(.*?)\s*\[path=(.*?)\](.*)/ and $_ = "$1$3", $path = $2;
- /^(.*?)\s*\[descr=(.*?)\](.*)/ and $_ = "$1$3", $descr = $2;
- push @l, $_, $descr, $path;
- }
- }
- close F;
-
- @l;
-}
-
-foreach (uniq(get(''), get('.desktop'))) {
- if ($_) {
- s/"/\"/g;
- s/\n//g;
- print qq(
-#: ../../share/compssUsers:999
-msgid "$_"
-msgstr ""
-);
- }
-}
diff --git a/perl-install/share/po/id.po b/perl-install/share/po/id.po
deleted file mode 100644
index da9406094..000000000
--- a/perl-install/share/po/id.po
+++ /dev/null
@@ -1,8367 +0,0 @@
-# Translation file of Mandrake graphic install
-# Copyright (C) 1999 Mandrakesoft
-# Linux Indonesia <http://www.linux.or.id>, 1999-2001
-# Mohammad DAMT <mdamt@cdl2000.com>, 1999-2001
-# Andy <chandy@indo.net.id>, 1999
-# Kelana <nk@telkom.net>, 1999
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2001-04-10 21:55+07:00\n"
-"Last-Translator: Mohammad DAMT <mdamt@mdamt.net>\n"
-"Language-Team: Bahasa Indonesia <id@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.6\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Konfigurasikan semua monitor secara terpisah"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Gunakan ekstensi Xinerama"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Konfigurasikan kard ini sja \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Konfigurasi monitor lebih dari satu"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Sistem Anda mendukung penggunaan monitor lebih dari satu.\n"
-"Silakan pilih"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Card Grafik"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Pilih kartu grafis"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Pilih server X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "Server X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Konfigurasi XFree mana yang Anda inginkan?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Card Anda memiliki akselerasi hardware 3D, namun hanya bisa digunakan pada "
-"XFree %s.\n"
-"Card Anda ini bisa digunakan pada XFree %s yang memiliki dukungan baik dalam "
-"2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Card Anda dapat menggunakan akselerasi hardware 3D pada XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s dengan akselerasi hardware 3D"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"Card Anda dapat menggunakan akselerasi hardware 3D pada XFree %s,\n"
-"NAMUN INI BARU DALAM TAHAP PERCOBAAN DAN DAPAT MEMBUAT KOMPUTER ANDA HANG."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s dengan akselerasi hardware 3D PERCOBAAN"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"Card Anda dapat menggunakan akselerasi hardware 3D pada XFree %s,\n"
-"NAMUN INI BARU DALAM TAHAP PERCOBAAN DAN DAPAT MEMBUAT KOMPUTER ANDA HANG.\n"
-"Card Anda ini dapat digunakan XFree %s yang lebih baik dalam 2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "Konfigurasi XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Pilih memori kartu grafis Anda"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Pilih opsi untk server"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Pilih jenis monitor anda"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Ada dua parameter penting, yaitu laju refresh vertikal, yaitu laju\n"
-"kecepatan saat seluruh layar direfresh, dan yang lebih penting lagi adalah\n"
-"laju sync horisontal, yaitu laju kecepatan saat menanyangkan scan line.\n"
-"\n"
-"Anda TIDAK BOLEH mengisi parameter tadi yang tidak dapat\n"
-"diimbangi dengan kemampuan monitor Anda, karena monitor\n"
-"Anda akan rusak berat.\n"
-"Kalau Anda ragu, gunakan setting yang umum saja."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Laju refresh horisontal"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Laju refresh vertikal"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Monitor tidak dikonfigurasi"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Kartu grafis belum dikonfigurasi"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Resolusi belum ditentukan"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Anda ingin test konfigurasi ini?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Awas: testing ini bisa membuat card komputer Anda hang"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Test konfigurasi"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"coba ubah beberapa parameter"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Ada error nih:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Cabut dalam %d detik"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr "Apa sudah sesuai settingnya?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Ada kesalahan, coba ubah beberapa parameter"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Resolusi"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Pilih resolusi dan kedalaman warna"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Card Grafik: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Server XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Mode Pakar"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Tunjukan seluruhnya"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Resolusi"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Layout Keyboard: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Jenis Mouse: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Device Mouse: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "HorizSync Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "VertRefresh Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Card Grafik: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Memori Grafik: %s KB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Pilihan kedalaman warna: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Resolusi: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Server XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Driver XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Siap-siap konfigurasikan X "
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Apa yang akan anda mau?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Ubah Monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Ubah kartu grafis"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Ubah Parameter Server"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Ubah Resolusi"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Lihat info"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Test lagi"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Keluar"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Lakukan perubahan?\n"
-"Konfigurasi sekarang adalah:\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Silahkan masuk lagi ke %s untuk mengaktifkan perubahan"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Silahkan log out dan tekan Ctrl-Alt-BackSpace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X saat startup"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Saya bisa bikin komputermu akan menjalankan X saat booting.\n"
-"Kamu mau fasilitas ini ?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 warna (8 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 ribu warna (15 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 ribu warna (16 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 juta warna (24 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 milyar warna (32 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kb"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kb"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 mb atau lebih"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "standard VGA, 640x480 pada 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 pada 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514 Kompatibel, 1024x768 pada 87 Hz interlaced (no 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 pada 87 Hz interlaced, 800x600 pada 56 hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Extended Super VGA, 800x600 pada 60 Hz, 640x480 pada 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "Non-Interlaced SVGA, 1024x768 pada 60 Hz, 800x600 pada 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "High Frequency SVGA, 1024x768 pada 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multi-frequency yang dapat mencapai 1280x1024 pada 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multi-frequency yang dapat mencapai 1280x1024 pada 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multi-frequency yang dapat mencapai 1280x1024 pada 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor yang dapat mencapai 1600x1200 pada 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor yang dapat mencapai 1600x1200 pada 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Sektor pertama di partisi boot"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Sektor pertama di drive (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "Instalasi SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Bootloader akan diinstall di mana?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Instalasi LILO/grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO dengan menu teks"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO dengan menu grafik"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Boot dari DOS/Windows (loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Parameter Bootloader utama"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Bootloader yang hendak digunakan"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Instalasi Bootloader"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Device boot"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (tidak bisa dipakai pada BIOS kuno)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Compact"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "compact"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Mode video"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Delay sebelum boot ke image default"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Password"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Password (lagi)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Batasi parameter command line"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "batasi"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Hapus /tmp saat boot"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Ukuram RAM yg tepat (saya nemu %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Buat multi profil"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Berikan jumlah RAM dalam satuan MB"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Pilihan ``Batasi parameter command line'' tidak ada gunanya tanpa password"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Silahkan ulangi"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Password tidak sama"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Pesan Init"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Delay Open Firmware"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Timeout Kernel Boot"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Aktifkan boot dari CD?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Aktifkan boot dari OF?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Default OS?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Ini adalah entri yang lain lagi.\n"
-"Anda boleh tambahkan atau mengubah yang sudah ada."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Tambah"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Selesai"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "Ganti RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Tipe entri mana yang hendak ditambahkan"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "OS Lain (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "OS Lain (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "OS Lain (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Image"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Sambung"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Read-write"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Table"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Tidak aman"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Label"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Default"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Initrd-size"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "NoVideo"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Hapus entri"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Label tidak boleh kosong"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Label ini sudah dipakai"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Tipe partisi apa yang hendak digunakan?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Ketemu interface %s %s"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Anda punya lagi?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Punya %s interface?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Tidak"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "Ya"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Lihat info hardware"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Menginstall driver untuk card %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(module %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Driver %s mana yang hendak saya coba?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"Kadangkala, driver %s butuh informasi tambahan agar dapat bekerja normal\n"
-"walaupun kadangkala juga ini tidak perlu. Nah, apakah Anda ingin untuk\n"
-"memberikan parameter tambahan tadi atau biarkan saja drivernya melakukan\n"
-"deteksi sendiri parameternya? Biasanya, autodetek akan membuat kompputer\n"
-"jadi hengki (baca: hang), tapi biasanya sih nggak ngerusak hardwarenya."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Probe otomatis"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Tuliskan optionnya"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Sekarang Anda boleh berikan parameter untuk module %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Silahkan berikan parameter untuk modul %s ini.\n"
-"Parameter biasanya dalam format ``nama=nilai nama2=nilai2...''.\n"
-"Misalnya, ``io=0x300 irq=8''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Pilihan Module:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Module %s gagal diload.\n"
-"Mau coba lagi dengan parameter yang lain?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(Sudah ditambahkan %s)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Password ini terlalu sederhana"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Silahkan tuliskan nama user"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "Nama user hanya boleh terdiri dari huruf, angka, `-' dan `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "User ini sudah ada sebelumnya"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Tambah user"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Masukkan user\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Buat user"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Nama Lengkap"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Nama user"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Ikon"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Autologin"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Saya bisa bikin komputermu akan langsung login dengan suatu user.\n"
-"Kalau tidak ingin pakai fasilitas ini, tekan tombol Batal"
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Pilih user default:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Pilih window manager yang hendak digunakan"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Selamat datang di Sang Pemilih Sistem Operasi, %s!\n"
-"\n"
-"pilih sistem operasi pada daftar di atas atau tunggu %d detik untuk boot ke "
-"default.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Selamat datang di sang pemilih sistem operasi, GRUB"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Gunakan tombol %c dan %c untuk memilih entri yang disorot"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Tekan enter untuk memboot OS yang terpilih, atau tekan 'e' untuk edit"
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "perintah sebelum booting, atau 'c' untuk command line."
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Entri yang dipilih akan diboot secara otomatis dalam %d detik."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "Waah /boot nggak cukup spacenya nih"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Desktop"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Start Menu"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "wah belom ada help-nya nih.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Konfigurasi Tipe Boot"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_File"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/File/_Baru"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/File/_Buka"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/File/_Simpan"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/File/Simpan _Dengan nama lain"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/File/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/File/_Keluar"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Pilihan"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Pilihan/Test"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Help"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Help/_About..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Konfigurasikan"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Selamat datang di utiliti Internet Connection Sharing!\n"
-"\n"
-"%s\n"
-"\n"
-"Silakan pencet Konfigurasikan untuk mulai."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "mode Lilo/Grub"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr "Kategori Monitor Gaya Baru"
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Monitor GayaBaru"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Monitor Biasa"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Monitor Biasa Gtk+"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Jalankan aurora saat boot"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Mode boot"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Jalankan X-Window saat sistem dimulai"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "Tidak jack, saya tidak mau autologin"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Iya dong, saya mau pakai autologin (user,desktop)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "mode sistem"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Default"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Batalkan"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "aduh, Ik ngga bisa baca file /etc/inittab nih: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "aduh, saya ngga bisa baca file /etc/sysconfig/autologin: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Instalasi LILO gagal. Ada kesalahan berikut:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Buat"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Unmount"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Hapus"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Format"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Ubah ukuran"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tipe"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Posisi mount"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Tulis /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Berubah ke modus ahli"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Berubah ke modus normal"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Baca dari file"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Simpan di file"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Wizard"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Pulihkan dari floppy"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Simpan di floppy"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Hapus semua"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Format semua"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Pengalokasian otomatis"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Semua partisi primary telah digunakan"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Aku tak bisa menambah partisi lagi"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Untuk menambahkan partisi lagi, hapus satu agar dapat membuat partisiextended"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Tidak ada cukup ruangan untuk mengalokasikan partisi otomatis"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Nggak Jadi (undo)"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Tulis tabel partisi"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Lagi"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Kosong"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Lainnya"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Tipe filesystem:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Detil"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Anda punya satu partisi fat yang besar.\n"
-"(dipakai oleh Microsoft Dos/Windows yah ?).\n"
-"Saya sarankan untuk meresize partisi ini\n"
-"(click di situ, dan pilih \"Ubah ukuran\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Mohon untuk membackup data Anda dulu"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Baca dengan seksama!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Kalau Anda mau pakai aboot, sisakan free space dulu (2048 sektor sih cukup "
-"deh)\n"
-"di awal disk"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Hati-hati nih: operasi ini sangat berbuahayyya"
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Ada Kesalahan"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Posisi mount: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Device: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS letter: %s (hanya tebakan)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tipe: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nama: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Mulai: sektor %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Ukuran: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektor"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Dari silinder %d sampai silinder %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Telah diformat\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Belum diformat\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Telah di-mount\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "File loopback: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Partisi di-boot secara default\n"
-" (untuk MS-DOS boot, bukan untuk lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Level %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Ukuran chunk %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "Disk RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Nama file loopback: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Mungkin partisi ini adalah \n"
-"partisi driver, jadi sebaiknya\n"
-"jangan diapa-apain deh.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"partisi ini adalah partisi bootstrap\n"
-"yang khusus digunakan \n"
-"oleh sistem dual boot.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Silahkan pilih partisinya"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Ukuran: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Ukuran: %s silinber, %s head, %s sektor\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "Disk LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Partisi tipe: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "pada bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Mount"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Aktif"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Tambahkan ke RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Hapus dari RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Ganti RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Tambahkan ke LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Hapus dari LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "digunakan untuk loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Pilih maunya apa"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Maaf, Saya tidak mau membuat /boot di drive ini (silindernya > 1024).\n"
-"Kalau Anda pakai LILO dan nggak jalan, atau Anda nggak mau LILO dan nggak "
-"mau /boot juga"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Anda menambahkan partisi root diluar silinder 1024,\n"
-"dan anda tidak memiliki partisi /boot. Apabila anda akan menggunakan lilo\n"
-"(boot manager), hati-hati dalam menambahkan partisi /boot"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Anda memilih partisi RAID software sebagai root (/).\n"
-"Sekarang bootloader nggak ada yang bisa handel tanpa partisi /boot.\n"
-"Jadi hati-hati yah untuk tambahkan partisi /boot"
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Gunakan ``%s'' saja"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Gunakan ``unmount'' terlebih dahulu"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Setelah mengganti tipe partisi %s, semua data pada partisi ini akan hilang"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Cuek aja?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Keluar tanpa menyimpan"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Keluar dari program tanpa menyimpan dalam tabel partisi?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Merubah tipe partisi"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Filesystem apa yang anda inginkan"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-"Nggak bisa pakai ReiserFS buat partisi yang ukurannya lebih kecil dari 32 MB "
-"nih"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Device loopback %s akan di mount ke mana?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Mount device %s akan di mount ke mana?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Nggak bisa unset mount point karena partisi ini sudah digunakan untuk\n"
-"loopback. Hapus dulu loopbacknya kalau mau begitu."
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "Sehabis memformat partisi %s semua data pada partisi ini akan hilang"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "sedang memformat"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Sekarang sedang memformat file loopback %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Melakukan format partisi %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Setelah melakukan format semua partisi,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "seluruh data dalam partisi-partisi ini akan hilang"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Pindah"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Disk mana yang hendak dipindah?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Sektor"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Sektor mana yang hendak dipindah"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Pindah"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Memindahkan partisi..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Tabel partisi pada drive %s akan ditulis ke disk!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Anda harus reboot agar perubahan table partisi dapat berlaku"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Sedang menghitung bound filesystem fat"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Sedang merubah ukuran"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Partisi ini tidak dapat dirubah ukurannya"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "semua data pada partisi ini sebaiknya dibackup dulu"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "Sehabis meresize partisi %s, semua data pada partisi ini akan hilang"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Pilih ukuran baru"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Membuat partisi baru"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Sektor awal: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Ukuran dalam MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Tipe filesystem: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Seting:"
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Partisi ini nggak bisa dipakai sebagai loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Nama file loopback: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "File sudah digunakan loopback yang lain, pilih yang lainnya dong"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "File sudah ada. Gunakan file ini ?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Pilih file"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Backup tabel partisi tidak memiliki ukuran yg sama\n"
-"Cuek saja?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Awas"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Maukkan disket di drive\n"
-"semua data pada disket ini akan hilang"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Sedang mencoba menyelamatkan tabel partisi"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "device"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "level"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "ukuran chunk"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Pilih RAID yang ada untuk ditambahkan ke"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "baru"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Pilih LVM yang ada untuk ditambahkan ke"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "nama LVM?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "automounting media removable"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Selamatkan dulu tabel partisi"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Reload"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s proses format dari %s gagal"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "tidak bisa melakukan format %s dengan tipe %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "gagal melakukan mount: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "error melakukan unmount %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "simple"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "server"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Mount point harus diawali dengan /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Partisi dengan mount poin %s sudah ada\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Mount melingkar %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "Anda tidak bisa menggunakan LVM Logical Volume untuk titik mount %s."
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Direktori ini harus ada di filesystem root"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-"Kamu harus punya filesystem sungguhan (ext2 atau reiserfs) untuk memount "
-"ini\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "error membuka file %s untuk ditulisi: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Error - tidak ada device yang valid untuk membuat filesystem baru.Periksa "
-"kembali hardware untuk mencari penyebabnya"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Kok belum punya partisi ?"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Pilihlan bahasa yang ingin Anda gunakan untuk instalasi dan sistem."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Anda harus menerima ketentuan dalam lisensi di atas untuk melanjutkan proses "
-"instalasi.\n"
-"\n"
-"\n"
-"Silahkan tekan \"Baiklah\" bila Anda setuju dengan persyaratan di atas.\n"
-"\n"
-"\n"
-"dan silakan tekan \"Tidak Mau\" bila Anda tidak setuju. Proses instalasi "
-"akan dihentikan tanpa merubah konfigurasi yang sudah ada."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Pilih layout keyboard yg dipakai dari daftar di atas"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Bila Anda menginginkan bahasa-bahasa lain selain bahasa yang Anda tadi pilih "
-"pada saat setelah instalasi, silahkan pilih pada daftar di atas. Bila Anda "
-"mau semuanya, pilih saja \"Semuanya\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Silakan pilih \"Install\" bila sekarang Anda belum pernah menginstall Linux "
-"Mandrake di komputer ini\n"
-"atau bila Anda ingin menginstall banyak sistem operasi.\n"
-"\n"
-"\n"
-"Silakan pilih \"Update\" bila Anda ingin melakukan update pada sistem Linux "
-"Mandrake yang sudah ada\n"
-"\n"
-"\n"
-"Silakan Anda pilih tingkatan install atau update bergantung dengan "
-"pengetahuan Anda di bidang GNU/Linux:\n"
-"\n"
-"\t* Disarankan: pilih ini bila Anda belum pernah menginstall sistem operasi "
-"GNU/Linux\n"
-".\t proses instalasi akan sangat mudah dan Anda hanya ditanya beberapa "
-"pertanyaan saja.\n"
-"\n"
-"\n"
-"\t* Custom: pilih ini bila Anda cukup familiar dengan GNU/Linux, dan Anda "
-"bisa membuat sistem Anda\n"
-"\tmenjadi sesuai kebutuhan Anda (workstation, server, atau development). "
-"Anda akan ditanyakan pertanyaan\n"
-"\tyang lebih banyak lagi dari instalasi \"Disarankan\". Jadi Anda perlu "
-"lebih jauh lagi mengenal dunia\n"
-"GNU/Linux bila memilih kelas instalasi ini\n"
-"\n"
-"\n"
-"\t* Pakar: pilih ini bila Anda memiliki pengetahuan yang luas di bidang GNU/"
-"Linux,\n"
-"\t sebagaimana di kelas \"Custom\", Anda akan dapat menentukan penggunaan "
-"utama\n"
-"\t sistem ini (workstation, server, atau development). Hati-hatilah bila "
-"memilih kelas ini\n"
-"\t karena Anda akan dapat melakukan instalasi yang bebas\n"
-"\t Anda akan kesulitan menjawab pertanyaan yang diajukan bila Anda tidak "
-"memiliki\n"
-"\t pengetahuan GNU/Linux yang kuat. Jadi jangan pilih kelas ini kecuali "
-"Anda\n"
-"\t tahu apa yang Anda lakukan."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Pilih:\n"
-"\n"
-" - Customized: Bila Anda familiar dengan Linux, Anda akan dapat\n"
-" memilih penggunaan sistem ini, yaitu normal, development, atau server.\n"
-" Pilih \"Normal\" untuk instalasi secara umum yang biasanya. Atau pilih\n"
-" \"Development\" untuk membuat software dengan Linux Anda, atau pilih\n"
-" \"Server\" bila hendak menginstall server serbaguna (mail, print, dsb)\n"
-"\n"
-"\n"
-" - Pakar : Bila Anda sangat dekat dengan GNU/Linux dan ingin\n"
-" menginstall Linux sesuka hati, ini adalah kelas instalasi yang pas\n"
-" untuk kamu, dan kamu bisa memilih penggunaan sistem ini sebagaimana\n"
-" pada kelas \"Customized\". JANGAN COBA-COBA PAKAI MODUS INI KALAO\n"
-" belom cukup makan asam garam di dunia PERLINUXAN"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Berikut adalah pilihan penggunaan mesin Anda :\n"
-"\n"
-"\t*Workstation: pilih ini kalau Anda hendak menggunakan mesin Anda untuk "
-"mengerjakan\n"
-"\t pekerjaan sehari-hari di kantor atau di rumah\n"
-"\n"
-"\n"
-"\t* Development: pilih ini bila Anda hendak menggunakan mesin ini untuk "
-"pembuatan software.\n"
-"\t Anda akan saya kasih kumpulan software yang berguna untuk melakukan "
-"kompilasi,\n"
-"\t debug, dan format source code, atau untuk membuat paket software\n"
-"\n"
-"\n"
-"\t* Server : Pilih ini bila Anda hendak menggunakan mesin ini sebagai\n"
-"\t server. Entah itu file server (NFS ataw SMB), print server\n"
-"\t (pakai protokol Unix lp (Line Printer) atau model Windows SMB)\n"
-"\t authentication server (NIS), database server dsb dsb.\n"
-"\t Karena itu jangan mengharapken saya menyediakan rupa-rupa\n"
-"\t software yang ngejreng (KDE,GNOME...) di sini."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX akan coba cari adapter SCSI PCI.\n"
-"Kalau DrakX menemukan adapter SCSI dan punya drivernya, maka\n"
-"drivernya akan secara otomatis diinstalkan.\n"
-"\n"
-"Bila Anda tidak punya adapter SCSI, SCSI ISA, atau SCSI PCI yang\n"
-"DrakX nggak punya drivernya, maka DrakX akan konfirmasi lagi.\n"
-"Bila memang nggak ada adapternya, klik aja 'Nggak'. Bila klik 'Ya'\n"
-"maka daftar driver akan ditampilkan, dan ente silahkan pilih.\n"
-"\n"
-"\n"
-"Kalau Anda ingin menentukan sendiri adapternya, DrakX akan \n"
-"menanyakan apakah ada option lagi. Anda harus perbolehkan DrakX\n"
-"mendeteksi hardwarenya. Biasanya sih bisa kalau begini.\n"
-"\n"
-"Kalau Anda tidak mau, Anda bisa coba kasih optionnya\n"
-"Coba baca Buku Petunjuk (bab 3, bagian: \"Collective Informations on your "
-"hardware\") untuk trik mendapatkan informasi\n"
-"ini dari Windows (itu juga kalau Anda install yaaa),\n"
-"dari dokumentasi hardware, atau dari website pabriknya\n"
-"(kalau ada akses ke Internet)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"Pada tahap ini, silakan pilih tempat di mana Linux Mandrake akan "
-"diinstallkan pada hard drive Anda.\n"
-"Bila hard drivenya masih kosong atau ada sistem operasi lain yang mengisi "
-"seluruhnya, Anda perlu\n"
-"melakukan proses partisi. Pada dasarnya, proses partisi hard drive adalah "
-"membagi-bagi hard drive\n"
-"secara logika untuk membuat ruangan kosong untuk diinstallkan sistem Linux "
-"Mandrake.\n"
-"\n"
-"\n"
-"Karena proses ini bersifat satu arah (tidak dapat dikembalikan ke partisi "
-"semula), proses partisi dapat \n"
-"membuat stress dan pusing kepala, apalagi bila Anda adalah user yang belum "
-"berpengalaman.\n"
-"Sekarang saya akan mempermudah proses ini. Sebelum kita mulai, silakan baca-"
-"baca dulu buku\n"
-"manual dan pelajari dulu dengan baik.\n"
-"\n"
-"\n"
-"Anda membutuhkan sedikitnya dua buah partisi. Satu digunakan untuk sistem "
-"operasi itu sendiri dan\n"
-"satu lagi digunakan untuk virtual memory (juga dikenal dengan istilah "
-"Swap).\n"
-"\n"
-"\n"
-"Bila partisi-partisi tersebut sudah ada sebelumnya (dari hasil install "
-"sebelumnya atau dibuat oleh\n"
-"program partisi lain), Anda dapat memilih partisi-partisi tersebut untuk "
-"digunakan sebagai tempat\n"
-"menginstall sistem Linux ini.\n"
-"\n"
-"\n"
-"Bila ternyata belum ada, Anda harus membuatnya dong. Caranya, gunakan "
-"program wizard di atas\n"
-"Ada beberapa cara yang dapat Anda gunakan yang bergantung pada konfigurasi "
-"hard drive yang\n"
-"Anda gunakan:\n"
-"\n"
-"\t* Gunakan partisi yang ada: wizard mendeteksi satu atau lebih partisi "
-"Linux di hard drive ini. Bila\n"
-"Anda ingin tetap menggunakannya, pilihlah pilihan ini.\n"
-"\n"
-"\n"
-"\t* Hapus seluruh disk: Pilihlah ini bila Anda ingin menghapus seluruh data "
-"dan partisi yang ada\n"
-"di hard drive Anda untuk kemudian digantikan semuanya dengan sistem Linux "
-"Mandrake. Namun\n"
-"berhati-hatilah karena Anda tidak dapat mengembalikan semuanya ke dalam "
-"kondisi semula.\n"
-"\n"
-"\n"
-"\t* Gunakan ruangan kosong di partisi Windows: Pilih ini bila Anda memiliki "
-"Microsoft Windows\n"
-"yang juga diinstall di hard drive ini yang menggunakan seluruh kapasitas "
-"drive. Caranya\n"
-"Anda perlu membuat ruangan kosong untuk data Linux dengan menghapus partisi "
-"dan data\n"
-"Microsoft Windows (silakan baca: \"Hapus seluruh disk\" atau solusi mode "
-"\"Pakar\") atau\n"
-"bisa juga merubah ukuran partisi Microsoft Windowsnya. Cara ini dapat "
-"digunakan tanpa harus\n"
-"kehilangan data. Cara ini disarankan bila Anda ingin menggunakan Linux "
-"Mandrake dan \n"
-"Microsoft Windows dalam satu komputer.\n"
-"\n"
-"\n"
-"\t* Sebelum memilih cara ini, mohon agar diketahui bahwa partisi Microsoft "
-"Windows yang Anda lihat\n"
-"sekarang ukurannya lebih kecil. Artinya, Anda akan memiliki ruangan yang "
-"lebih kecil dalam\n"
-"Microsoft Windows untuk menyimpan data atau untuk menginstall software "
-"baru.\n"
-"\n"
-"\n"
-"\t* Mode pakar: pilih ini bila Anda ingin secara manual mempartisi hard "
-"drive Anda. Hati-hati\n"
-"dalam memilih mode ini. Cara ini sangat powerful namun juga berbahaya. Anda "
-"bisa kehilangan\n"
-"data dengan mudah. Jadi jangan main-main dengan pilihan ini."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"Pada tahap ini, Anda harus memilih partisi mana yang hendak digunakan untuk "
-"menginstall sistem Linux\n"
-"Mandrake. Bila partisinya sudah dibuat (dengan menggunakan instalasi GNU/"
-"Linux sebelumnya atau dengan\n"
-"program partisi lain), Anda dapat menggunakan partisi-partisi tersebut, bila "
-"belum Anda maka kita perlu buat\n"
-"terlebih dahulu.\n"
-"\n"
-"\n"
-"Untuk membuat partisi, pertama kali Anda perlu memilih hard drive dulu. Anda "
-"kemudian dapat memilih disk\n"
-"untuk dipartisi dengan mengklik \"hda\" bila hard drivenya adalah drive IDE "
-"pertama, \"hdb\" bila drive itu adalah\n"
-"drive IDE kedua, atau \"sda\" bila drive itu adalah drive SCSI pertama dan "
-"seterusnya.\n"
-"\n"
-"\n"
-"Untuk mempartisi hard drive, Anda bisa gunakan pilihan berikut:\n"
-"\n"
-" * Hapus semua: pilihan ini menghgapus semua partisi yang ada pada hard "
-"drive yang dipilih.\n"
-"\n"
-"\n"
-" * Alokasi otomatis: pilihan ini untuk mengkonfigurasi otomatis dalam "
-"pembuatan partisi swap dan Ext2\n"
-"pada ruangan kosong di hard drive.\n"
-"\n"
-"\n"
-" * Selamatkan tabel partisi: Bila tabel partisi Anda rusak, Anda bisa "
-"mencoba mengembalikannya\n"
-"dengan cara ini. Hati-hatilah dan ingat lah akan resiko kegagalan.\n"
-"\n"
-"\n"
-" * Nggak jadi: Anda bisa gunakan ini untuk membatalkan aksi ini\n"
-"\n"
-"\n"
-" * Reload: Anda bisa gunakan pilihan ini untuk membatalkan partisi dan "
-"mengembalikan\n"
-"tabel partisi semula.\n"
-"\n"
-"\n"
-" * Wizard: Bila Anda ingin menggunakan wizard untuk mempartisi hard drive, "
-"pilih ini saja.\n"
-"Cara ini disarankan bila Anda tidak mengetahui tentang partisi.\n"
-"\n"
-"\n"
-" * Restore dari Disket: Bila Anda pernah menyimpan partisi ke disket, Anda "
-"bisa kembalikan\n"
-"menjadi semula dengan cara ini.\n"
-"\n"
-"\n"
-" * Simpan ke disket: Pilih ini bila Anda hendak menyimpan tabel partisi "
-"pada disket untuk\n"
-"dijadikan simpanan untuk di kemudian hari. Saya sangat menyarankan Anda "
-"untuk melakukan hal ini.\n"
-"\n"
-"\n"
-" * Selesai: pilih ini bila Anda sudah selesai mempartisi hard drive dan "
-"ingin menyimpannya.\n"
-"\n"
-"\n"
-"Sebagai informasi, Anda bisa mengakses pilihan-pilihan di atas dengan "
-"menggunakan keyboard saja,\n"
-"piihlah partisi dengan tombol Tab dan panah Atas/Bawah.\n"
-"\n"
-"\n"
-"Saat partisi dipilih, Anda bisa gunakan:\n"
-"\n"
-" * Ctrl C untuk membuat partisi baru pada partiisi yang masih "
-"kosong\n"
-" * Ctrl D untuk menghapus partisi\n"
-" * Ctrl M untuk menset titik mount\n"
-" \n"
-"\n"
-"\n"
-"Bila Anda menginstall pada komputer PPC, Anda perlu membuat partisi "
-"bootstrap HFS kecilsebesar paling tidak 1 MB untuk\n"
-"digunakan oleh bootloader yaboot. Bila Anda ingin membuat partisi itu lebih "
-"besar lagi,misalnya 50 MB, Anda bisa menggunakannya untuk menyimpan\n"
-"kernel cadangan dan image ramdisk untuk situasi boot darurat."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-"Di atas telah terdaftar partisi Linux yang sudah ada yang saya deteksi pada "
-"hard drive Anda. Anda dapat tetapmenggunakannya nanti. Bila Anda merubah "
-"pilihan ini, Anda paling tidak perlu memberikan lokasi partisi root\n"
-"(\"/\"). Jangan pilih partisi yang terlalu kecil agar bisa menginstall "
-"software dengan leluasa. Bila Anda ingin\n"
-"menyimpan data pada partisi lain, Anda perlu memilih partisi \"/home"
-"\" (Hanya bisa dibuat bila punya lebih\n"
-"dari satu partisi Linux.)\n"
-"\n"
-"\n"
-"Sebagai Informasi, tiap-tiap partisi terdaftar dengan cara berikut: \"Nama"
-"\", \"Kapasitas\".\n"
-"\n"
-"\n"
-"\"Nama\" dituliskan dalam bentuk kode sebagai berikut: \"tipe hard drive\","
-"\"nomor hard drive\",\n"
-"\"nomor partisi\" (misalnya \"hda1\").\n"
-"\n"
-"\n"
-"\"Tipe hard drive\" adalah \"hd\" bila drive tersebut bertipe IDE dan "
-"bernilai \"sd\"\n"
-"bila berupa drive SCSI.\n"
-"\n"
-"\n"
-"\"Nomor Hard Drive\", selalu berupa huruf setelah \"hd\" atau \"sd\". Bila "
-"berupa IDE,\n"
-"maka:\n"
-"\n"
-" *\"a\" berarti \"hard drive master pada kontroller IDE primer\",\n"
-"\n"
-" *\"b\" berarti \"hard drive slave pada kontroler IDE primer\",\n"
-"\n"
-" *\"c\" berarti \"hard drive master pada kontroler IDE sekunder\",\n"
-"\n"
-" *\"d\" berarti \"hard drive slave pada kontroler IDE sekunder\",\n"
-"\n"
-"\n"
-"Pada drive SCSI, \"a\" berarti \"hard drive utama, \"b\" berarti \"hard "
-"drive kedua\", dsb..."
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-"Pilih hard drive yang hendak dihapus untuk disediakan bagi partisi Linux "
-"Mandrake.\n"
-"Hati-hati, semua data di situ akan hilang dan tidak dapat dikembalikan "
-"seperti semula."
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Pilih \"OK\" bila Anda ingin menghapus semua data dan partisi yang ada di "
-"hard drive ini. Hati\n"
-"hati setelah mengklik \"OK\" Anda tidak dapat mengembalikan data dan partisi "
-"yang ada di drive\n"
-"ini termasuk data Windows.\n"
-"\n"
-"\n"
-"Pilih \"Batal\" untuk membatalkan aksi ini tanpa kehilangan data dan partisi "
-"yang ada dalam\n"
-"hard drive ini."
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-"Ada lebih dari satu partisi Microsoft Windows yang saya deteksi pada hard "
-"drive ini. \n"
-"Silakan pilih partisi yang hendak Anda rubah ukurannya untuk diinstallkan "
-"sistem operasi\n"
-"Linux Mandrake.\n"
-"\n"
-"\n"
-"Sebagai Informasi, tiap-tiap partisi terdaftar dengan cara berikut: \"Nama "
-"di Linux\",\"Nama di Windows\", \"Kapasitas\".\n"
-"\n"
-"\n"
-"\"Nama di Linux\" dituliskan dalam bentuk kode sebagai berikut: \"tipe hard "
-"drive\",\"nomor hard drive\",\n"
-"\"nomor partisi\" (misalnya \"hda1\").\n"
-"\n"
-"\n"
-"\"Tipe hard drive\" adalah \"hd\" bila drive tersebut bertipe IDE dan "
-"bernilai \"sd\"\n"
-"bila berupa drive SCSI.\n"
-"\n"
-"\n"
-"\"Nomor Hard Drive\", selalu berupa huruf setelah \"hd\" atau \"sd\". Bila "
-"berupa IDE,\n"
-"maka:\n"
-"\n"
-" *\"a\" berarti \"hard drive master pada kontroller IDE primer\",\n"
-"\n"
-" *\"b\" berarti \"hard drive slave pada kontroler IDE primer\",\n"
-"\n"
-" *\"c\" berarti \"hard drive master pada kontroler IDE sekunder\",\n"
-"\n"
-" *\"d\" berarti \"hard drive slave pada kontroler IDE sekunder\",\n"
-"\n"
-"\n"
-"Pada drive SCSI, \"a\" berarti \"hard drive utama, \"b\" berarti \"hard "
-"drive kedua\", dsb...\n"
-"\n"
-"\n"
-"\"Nama pada WIndows\" adalah huruf hard drive Anda pada WIndows (disk "
-"pertamapada partisi disebut \"C:\")."
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr "Mohon sabar sebentar yaa... Proses ini akan makan waktu beberapa menit"
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-"Tiap-tiap partisi yang telah dibuat perlu diformat agar dapat digunakan "
-"(format berarti membuat\n"
-"filesystem).\n"
-"\n"
-"\n"
-"Saat ini, Anda bisa melakukan format ulang pada partisi yang sudah ada untuk "
-"menghapus datanya.\n"
-"BIla ini hendak Anda lakukan, pilih dulu partisi yang hendak diformat.\n"
-"\n"
-"\n"
-"Perhatikan bahwa Anda tidak perlu melakukan format ulang ini pada semua "
-"partisi yang sudah ada.\n"
-"Namun Anda perlu melakukan format ulang pada partisi yang akan diisi sistem "
-"operasi (misalnya pada\n"
-"partisi \"/\", \"./usr\", atau \"/var\"), tapi Anda tidak perlu melakukan "
-"format ulang pada partisi yang\n"
-"berisi data yang hendak masih digunakan (misalnya \"/home\").\n"
-"\n"
-"\n"
-"Mohon hati-hati dalam meilih partisi karena setelah diformat, semua data "
-"akan hilang dan tidak\n"
-"dapat dikembalikan ke kondisi semula.\n"
-"\n"
-"\n"
-"Silakan pilih \"OK\" untuk melakukan format partisi\n"
-"\n"
-"\n"
-"Silakan pilih \"Batal\" untuk memilih partisi lain untuk diinstallkan Linux "
-"Mandrake."
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-"Sekarang kamu pilih dulu grup paket yang mau kamu install\n"
-"atau yang mau diupgrade.\n"
-"\n"
-"DrakX sekarang akan cek apakah kamu masih punya sisa space kosong untuk\n"
-"menginstall ini semua, kalau nggak nanti kamu akan diberitahu kok.\n"
-"Tapi kalau kamu mau cuek aja mau install walaupun spacenya nggak cukup\n"
-"gua akan menginstall semua paketnya, tapi ada beberapa paket yang aku rasa\n"
-"kurang penting akan nggak diinstall. Pada daftar di bawah ini kamu bisa\n"
-"pilih \"Pilih paket sendiri\"; kalau-kalau kamu pingin melihat \n"
-"paket-paket yang ada (ada 1000an lebih lho...)"
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-"Anda dapat memilih tiap-tiap paket yang hendak Anda install\n"
-"\n"
-"\n"
-"Anda dapat membuka atau menutup tree dengan mengklik pada pilihan di sudut "
-"kiri pada\n"
-"windows paket\n"
-"\n"
-"\n"
-"Bila Anda hendak melihat daftar paket yang diurut secara alfabet, pilih ikon "
-"\"Togel flat dan urut grup\".\n"
-"\n"
-"\n"
-"Bila Anda tidak hendak diberitahu tentang dependensi paket, pilih "
-"\"Dependensi otomatis\"\n"
-"Dengan cara ini bila Anda membuang suatu paket, maka paket-paket terkait "
-"lainnya akan dibuang\n"
-"juga secara otomatis tanpa pemberitahuan."
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-"Kalau kamu punya semua CD pada daftar di atas, tekan OK.\n"
-"Kalau nggak punya sama sekali, click Baal.\n"
-"Kalau cuma punya beberapa aja, pilih aja, trus klik Ok."
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-"Sistem operasi Linux Mandrake Anda yang baru sedang saya installkan.\n"
-"Proses ini akan memakan waktu beberapa menit (bergantung pada ukuran yang "
-"Anda install\n"
-"dan kecepatan komputer Anda.)\n"
-"\n"
-"\n"
-"Sabar ya..."
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-"Sekarang Anda bisa test mousenya. Tekan tombol mousenya dan gerakan mousenya "
-"juga\n"
-"untuk mencoba apakah sudah bisa atau belum. Bila belum, silahkan pilih "
-"\"Batal\" untuk kembali\n"
-"memilih driver yang lain."
-
-#: ../../help.pm_.c:382
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Pilih port yang betul. Misalnya COM1 di Windows sama dengan ttyS0 di \n"
-"GNU/Linux."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-"Bila Anda hendak menghubungkan komputer ini ke Internet atau ke jaringan\n"
-"lokal, silakan pilih konfigurasi yang benar. Nyalakan perangkat terkait "
-"sebelum\n"
-"memilih konfigurasi agar dapat dideteksi oleh DrakX secara otomatis.\n"
-"\n"
-"\n"
-"BIla anda tidak memiliki koneksi ke Internet atau jaringan lokal, pilih "
-"saja\n"
-"\"Matikan Jaringan\".\n"
-"\n"
-"\n"
-"Bila Anda hendak mengkonfigurasikan jaringan nanti setelah proses instalasi "
-"selesai,atau bila Anda sudah selesai mengkonfigurasikan koneksi jaringan, "
-"pilih \"Selesai\"."
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-"Saya tidak dapat menemukan modem di komputer ini. Silakan pilih port serial "
-"mana\n"
-"modem Anda dicolokkan.\n"
-"\n"
-"\n"
-"sebagai misal, port serial pertama (pada Microsoft Windows dikenal dengan "
-"\"COM1\")\n"
-"adalah \"ttyS0\" di GNU/Linux."
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-"Sekarang Anda bisa memasukan pilihan dialup. Bila Anda tidak tahu\n"
-"atau ragu-ragu, informasi yang benar bisa Anda tanyakan kepada\n"
-"Internet Service Provider tempat Anda berlangganan. Bila Anda tidak\n"
-"memasukan DNS (name server) di sini, informasi tersebut akan\n"
-"saya cari sendiri pada Internet Service Provider Anda saat melakukan koneksi "
-"nanti."
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-"Bila modem yang Anda punya adalah modem eksternal, maka tolong dong "
-"dinyalakan supaya DrakXbisa mendeteksinya secara otomatis."
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr "Silakan nyalakan modemnya dan pilih mana modem yang Anda punya"
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-"Bila Anda tidak yakin dengan informasi di atas apakah benar atau tidak\n"
-"atau bahkan bila Anda sangat tidak tahu atau ragu mau isi apa, tenang saja\n"
-"informasi di atas bisa Anda tanyakan kepada Internet Service Provider Anda.\n"
-"Bila Anda tidak mengisi DNS (name server) di sini, nanti akan saya cari "
-"sendiri\n"
-"dari Internet Service Provider saat melakukan koneksi ke Internet."
-
-#: ../../help.pm_.c:426
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Anda bisa masukkan nama host Anda sekarang. Bila Anda nggak yakin apa yang "
-"harus dimasukkan,\n"
-"informasi ini bisa diperoleh dari ISP."
-
-#: ../../help.pm_.c:431
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Silakan konfigurasikan device jaringan Anda:\n"
-"\n"
-" * Alamat IP: Kalau Anda nggak tahu, tanyakan sana pada network "
-"administratornya.\n"
-" Jangan masukkan alamat IP kalau Anda pilih \"IP Otomatis\" di bawah.\n"
-"\n"
-"\n"
-" - Netmask: Pilih aja \"255.255.255.0\", kecuali kalau ragu tanya juga ke\n"
-" network administratornya.\n"
-"\n"
-"\n"
-" - IP otomatis: Bila network Anda menggunakan bootp atau protokol dhcp, "
-"pilih\n"
-" ini. Bila Anda pilih ini, nggak usah masukkan alamat IP di \"Alamat IP\". "
-"Bila\n"
-" Anda ragu juga, tanya lagi ke network administrator."
-
-#: ../../help.pm_.c:443
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Anda sekarang bisa memasukan nama host. Bila Anda tidak tahu atau ragu\n"
-"silakan kontak network administrator Anda saja."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-"Sekarang Anda boleh memasukan nama host. Bila tidak tahu\n"
-"atau tidak pasti, kosongkan saja deh."
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Anda bisa masukkan dialup sekarang. Bila Anda nggak yakin apa yang harus "
-"dimasukkan,\n"
-"informasi ini bisa diperoleh dari ISP."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Bila Anda mau pakai proxy, sekarang saatnya untuk mengkonfigurasi. Bila "
-"Anda\n"
-"nggak tahu pakai proxy apa nggak, tanya gih ke network administratornya atau "
-"ISP."
-
-#: ../../help.pm_.c:459
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-"Anda bisa install paket kriptografi bila koneksi Internet Anda telah\n"
-"dikonfig dengan benar. Sekarang pilih mirror tempat Anda ingin download\n"
-"paket kriptografinya dan kemudian pilih paketnya.\n"
-"\n"
-"Perhatikan bahwa Anda harus pilih mirror dan kriptografi sesuai ketentuan\n"
-"yang berlaku di daerah Anda."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr "Sekarang pilih zonawaktu tempat Anda tinggal"
-
-#: ../../help.pm_.c:471
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"GNU/Linux mengatur jam dengan GMT atawa \"Greenwich Mean Time\" dan \n"
-"menterjemahkannya ke waktu lokal sesuai dengan timezone yang Anda pilih.\n"
-"\n"
-"\n"
-"Bila Anda punya Microsoft Windows di komputer ini, pilih \"Tidak\""
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-"Kamu boleh pilih service mana aja yang mau dijalankan saat boot.\n"
-"Kamu bisa lihat keterangan servicenya pada baloon help kecil yang akan "
-"muncul\n"
-"kalau kamu geserkan mousenya ke atas nama servicenya.\n"
-"\n"
-"Hati-hati pilihnya ya, apalagi kalau mau pakai sistem ini sebagai server\n"
-"jangan sembarang nyalakan service yang nggak perlu. Mohon diingat\n"
-"bahwa ada service yang berbahaya bila dinyalakan pada server\n"
-"Pokoknya, pilih saja service yang Anda anggap penting."
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-"Sekarang Anda bisa mengkonfigurasikan printer lokal (terhubung ke komputer "
-"Anda) atau\n"
-"printer remote (yang diakses via jaringan Unix, Netware, atau Microsoft "
-"Windows)."
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-"Bila Anda hendak mencetak dari sistem ini, silakan pilih sistem pencetakan "
-"antara CUPS dan LPR\n"
-"\n"
-"\n"
-"CUPS adalah sistem cetak yang baru dan powerfull di Unix (CUPS adalah "
-"singkatan dari\n"
-"\"Common Unix Printing System\"). Sistem ini adalah sistem pencetakan "
-"default di Linux Mandrake.\n"
-"\n"
-"\n"
-"LPR adalah sistem cetak kuno yang masih digunakan pada versi-versi lama "
-"Linux Mandrake.\n"
-"\n"
-"\n"
-"Bila Anda tidak memiliki printer, pilih \"Tidak Ada\""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-"GNU/Linux dapat menggunakan berbagai jenis printer. Tiap-tiap tipe "
-"memerlukan setup\n"
-"yang berbeda\n"
-"\n"
-"\n"
-"Bila printer tersambung secara fisik dalam komputer ini, pilih\n"
-"\"Printer Lokal\". \n"
-"\n"
-"Bila Anda menggunakan printer Unix jarak jauh, pilih\n"
-"\"Printer remote\".\n"
-"\n"
-"\n"
-"Bila Anda hendak menggunakan printer pada mesin Microsoft Windows (atau\n"
-"pada mesin Unix dengan SMB), maka pilih \"SMB/WIndows 95/98/NT\"."
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-"Silakan nyalakan printer sebelum DrakX mendeteksinya.\n"
-"\n"
-"Anda perlu mengisi beberapa informasi di sini.\n"
-"\n"
-"\n"
-" * Nama printer: spooler cetak menggunakan nama \"lp\" sebagai nama "
-"printer default\n"
-"Jadi Anda pelru punya sebuah printer dengan nama \"lp\". Bila Anda memiliki "
-"cuma \n"
-"satu buah printer saja, Anda bisa menggunakan beberapa nama. Tuliskan saja "
-"nama\n"
-"itu dan pisahkan dengan karakter pipe \"|\". Jadi untuk memberi nama printer "
-"dengan\n"
-"nama yang mudah dimengerti, Anda bisa tuliskan: \"Printer saya|lp\".\n"
-" Printer yang memiliki \"lp\" pada namanya akan menjadi printer default.\n"
-"\n"
-"\n"
-" * Deskripsi: ini boleh diisi boleh tidak, tapi bila diisi akan lebih "
-"memudahkan Anda\n"
-"untuk membedakan antara printer bila Anda memiliki printer lebih dari satu "
-"buah atau bila\n"
-"printer ini akan diakses oleh banyak orang.\n"
-"\n"
-"\n"
-" * Lokasi: Anda bisa menuliskan informasi lebih detil tentang lokasi "
-"printer ini.\n"
-"(misalnya \"Printer yang ada di lantai 2\").\n"
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-"Anda perlu memasukkan beberapa informasi di sini.\n"
-"\n"
-"\n"
-" * Nama antrian: spooler cetak menggunakan nama \"lp\" sebagai nama "
-"printer default\n"
-"Jadi Anda pelru punya sebuah printer dengan nama \"lp\". Bila Anda memiliki "
-"cuma \n"
-"satu buah printer saja, Anda bisa menggunakan beberapa nama. Tuliskan saja "
-"nama\n"
-"itu dan pisahkan dengan karakter pipe \"|\". Jadi untuk memberi nama printer "
-"dengan\n"
-"nama yang mudah dimengerti, Anda bisa tuliskan: \"Printer saya|lp\".\n"
-" Printer yang memiliki \"lp\" pada namanya akan menjadi printer default.\n"
-"\n"
-"\n"
-" * Direktori Spool: Dalam direktori ini semua job printer akan disimpan. "
-"BIla Anda tidak\n"
-"mengerti biarkan saja terisi dalam nilai defaultnya.\n"
-"\n"
-"\n"
-" * Koneksi Printer: Bila printer tersambung secara fisik dalam komputer "
-"ini, pilih\n"
-"\"Printer Lokal\". Namun bila Anda menggunakan printer Unix jarak jauh, "
-"pilih\n"
-"\"Printer lpd remote\".\n"
-"\n"
-"\n"
-" Bila Anda hendak menggunakan printer pada mesin Microsoft Windows (atau\n"
-"pada mesin Unix dengan SMB), maka pilih \"SMB/WIndows 95/98/NT\".\n"
-"\n"
-"\n"
-" Bila Anda hendak mengakses printer pada jaringan Netware, pilih \"Netware"
-"\".\n"
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-"Printer Anda tidak dapat dideteksi. Silakan tuliskan nama device atau di "
-"mana printer Anda\n"
-"tersambung.\n"
-"\n"
-"\n"
-"Sebagai contoh, printer yang disambung ke port parallel pertma komputer "
-"disebut\n"
-"\"/dev/lp0\" pada GNU/Linux, dan disebut \"LPT1\" pada Microsoft Windows."
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr "Anda harus pilih printer yang Anda punya pada daftar di atas."
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-"Silakan pilih konfigurasi yang tepat bergantung tipe printer yang Anda "
-"punya.\n"
-"Silakan baca dokumentasinya bila Anda tidak tahu harus pilih apa di sini.\n"
-"\n"
-"\n"
-"Anda akan dapat melakukan test pada konfigurasi ini nanti dan bisa juga\n"
-"merubah konfigurasi ini bila tidak berjalan sebagaimana mestinya."
-
-#: ../../help.pm_.c:591
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Sekarang Anda mesti berikan password untuk root untuk\n"
-"sistem Linux-Mandrake ini. Passwordnya harus diketikkan dua kali untuk\n"
-"verifikasi bahwa Anda tidak salah ketik.\n"
-"\n"
-"\n"
-"Root adalah sistem administrator. Hanya orang yang punya akses ke\n"
-"acount administrator saja yang dapat mengatur dan mengelola sistem.\n"
-"Awas, account administrator yang disalah gunakan atau dipakai\n"
-"tanpa izin akan sangat membahayakan integritas sistem, data,\n"
-"dan sistem lain yang terhubung. \n"
-"\n"
-"\n"
-"Password haruslah campuran dari\n"
-"karakter alfanumerik dan panjangnya minimal 8 karakter. Jangan\n"
-"pernah menuliskan password Anda di kertas atau dimana saja. \n"
-"\n"
-"Jangan\n"
-"buat password Anda terlalu panjang atau rumit, ntar bisa lupa."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Agar sistem Anda lebih secure, silahkan pilih \"Gunakan file shadow\" dan \n"
-"\"Password Pakai MD5\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Bila network Anda menggunakan NIS, pilih \"Gunakan NIS\". Kalau nggak tahu, "
-"tanya\n"
-"network admin Anda dong."
-
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"Silahkan Anda buat satu atau lebih user \"biasa\", setelah Anda\n"
-"membuat user \"pihak berwenang\", yaitu root. Anda bisa buat\n"
-"user untuk tiap orang yang Anda perbolehkan untuk mengakses komputer\n"
-"ini. Perhatikan bahwa tiap account user akan memiliki preferesi\n"
-"sendiri-sendiri (environment grafis, seting program dsb)\n"
-"dan juga punya \"direktori home\" sendiri, tempat preferensi tadi\n"
-"disimpan\n"
-"\n"
-"\n"
-"Pertama-tama, buatlah account untuk Anda sendiri! Buatlah walau Anda\n"
-"adalah satu-satunya orang yang mengakses mesin ini. Anda nanti tidak\n"
-"BOLEH mengakses mesin ini untuk keperluan sehari-hari, karena merupakan\n"
-"resiko besar bila Anda sering login sebagai root. Biasanya ini disebabkan\n"
-"karena salah ketik, dsb.\n"
-"\n"
-"\n"
-"Karena itu, biasakan untuk konek ke msein ini dengan menggunakan account\n"
-"yang telah Anda buat disini, dan login sebagai root, hanya untuk \n"
-"keperluan administratif dan maintenance saja yah."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-"Saya sangat menyarankan Anda untuk membuat boot disk. Bila Anda tidak\n"
-"dapat memboot komputer Anda, boot disk adalah satu-satunya cara untuk "
-"menyelamatkan sistem\n"
-"tanpa menginstall ulang."
-
-#: ../../help.pm_.c:641
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Sekarang saya ingin tanya kepada Anda\n"
-"tempat saya bisa meletakkan informasi yang akan dipakai GNU/Linux saat "
-"boot.\n"
-"\n"
-"\n"
-"Kalau Anda kurang tahu, yah pilih saja \"Sektor pertama di \n"
-"drive (MBR)\"."
-
-#: ../../help.pm_.c:649
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Biasanya orang pilih \"/dev/hda\", kecuali kalau Anda pilih yang lain (yaitu "
-"drive master IDE) atau \"/dev/sda\" (disk SCSI utama)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"LILO (LInux LOader) dan Grub adalah bootloader. Dua-duanya akan memboot\n"
-"GNU/Linux atau sistem operasi lain yang ada di komputer ini.\n"
-"Biasanya, sistem operasi yang sudah ada akan secara normal di deteksi dan\n"
-"diinstallkan. Bila ternyata nanti nggak bisa, Anda bisa tambahkan sendiri\n"
-"secara manual di sini. Hati-hati yah nanti waktu kasih parameternya.\n"
-"\n"
-"\n"
-"Kamu juga bisa menutup akses ke sistem operasi tertentu. Caranya gampang "
-"aja\n"
-"kamu bisa hapus entrinya disini. Tapi untuk bisa masuk ke sistem operasi "
-"itu\n"
-"kamu perlu bootdisk nantinya."
-
-#: ../../help.pm_.c:665
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"Pilihan LILO dan grub adalah:\n"
-" - Boot device: Set nama devicenya (misalnya hard disk partisi) yang berisi "
-"boot sector\n"
-" pilih \"/dev/hda\", kecuali kalau Anda tahu yang pastinya.\n"
-"\n"
-"\n"
-" - Delay sebelum boot ke image default: Menentukan waktu dalam sepersepuluh "
-"detik\n"
-" sebelum boot loader akan meload image yang default (pertama). Ini berguna\n"
-" pada sistem yang boot dari hard disk dan keyboardnya dinyalakan. Boot "
-"loader\n"
-" tidak menunggu bila \"delay\" dihilangkan atau diset ke nol.\n"
-"\n"
-"\n"
-" - Video mode: Menentukan mode text VGA yang dipilih saat booting. \n"
-" Setting yang bisa dipakai: \n"
-" * normal: pilih mode text 80x25\n"
-" * <angka>: gunakan mode text.\n"
-"\n"
-"\n"
-" - Hapus \"/tmp\" saat boot bila Anda ingin menghapus semua file-file di "
-"dalam direktori\n"
-"\"/tmp\" saat boot sistem dimulai.\n"
-"\n"
-"\n"
-" - Ukuran RAM yang tepat. Duh, ngga ada metode standar untuk mendapatkan \n"
-"angka jumlah RAM yang tepat di komputer tertentu. Jadi, Linux mungkin akan\n"
-"salah mendeteksi jumlah RAM yang Anda punya sekarang. Bila benar, saya "
-"salah\n"
-"tebak angka RAMnya di sini, silakan masukkan angka yang benar. Oh ya,\n"
-"beda 2 atau 4 MB sih ngga masalah loh."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-"Yaboot adalah bootloader untuk hardware Macintosh NewWorld. Yaboot\n"
-"dapat memboot GNU/Linux, MacOS, atau MacOSX bila ada di dalam komputer ini.\n"
-"Biasanya yaboot dapat mendeteksi keberadaan sistem operasi tersebut di dalam "
-"komputer\n"
-"dengan tepat dan langsung menginstallnya. Bila ternyata hal ini tidak "
-"berlaku di komputer Anda\n"
-"silakan tambahkan saja entri sistem operasi yang Anda miliki itu secara "
-"manual pada layar ini.\n"
-"Mohon hati-hati dalam menambahkan parameter-parameter dengan benar.\n"
-"\n"
-"\n"
-"Pilihan utama Yaboot adalah:\n"
-"\n"
-"\n"
-" - Pesan Init: pesan teks yang akan ditampilkan sebelum boot prompt.\n"
-"\n"
-"\n"
-" - Device boot: Ini adalah tempat Anda hendak memboot GNU/LInux Anda. "
-"Biasanya Anda sudahmemilki\n"
-"partisi bootstrap yang sudah disiapkan untuk keperluan ini.\n"
-"\n"
-"\n"
-" - Delay Open Firmware: Tidak seperti LILO, ada dua macam delay yang "
-"tersedia untuk yaboot.\n"
-"delay pertama diukur dalam detik dan di sini Anda bissa memilih CD, boot OF, "
-"MacOS, atau Linux\n"
-"\n"
-"\n"
-" - Timeout boot kernel: Timeout ini mirip dengan delay boot pada LILO.\n"
-"Setelah memilih Linux, Anda akan disuguhkan pada delay ini yang diukur dalam "
-"0.1 detik sebelum\n"
-"kernel default akan dipilih secara otomatis.\n"
-"\n"
-"\n"
-" - Aktifkan boot CD?: Bila Anda memilih ini, Anda akan diperkenankan untuk "
-"memilih 'C' (singkatan dari CD)\n"
-"saat prompt boot pertama.\n"
-"\n"
-"\n"
-" - Aktifkan boot OF?: Bila Anda memilih ini, Anda bisa memilih 'N' untuk "
-"memilih Open Firmware saat \n"
-"boot pertama\n"
-"\n"
-"\n"
-" - OS Default: Anda dapat memilih OS yang akan diboot secara default bila "
-"delay Open Firmware telah\n"
-"terlampaui."
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-"Anda bisa menambahkan entri tambahan untuk yaboot, baik untuk sistem operasi "
-"yang\n"
-"lain, atau kernel yang berbeda, atau untuk image boot darurat.\n"
-"\n"
-"\n"
-"Untuk sistem operasi lain, entri ini berisi label dan partisi root saja.\n"
-"\n"
-"\n"
-"untuk sistem Linux, ada beberapa pilihan:\n"
-"\n"
-"\n"
-" - Label: ini adalah nama yang bisa dipilih saat prompt yaboot.\n"
-"\n"
-"\n"
-" - image: ini adalah nama kernel untuk diboot. Biasanya bernama vmlinux "
-"atau\n"
-"nama lain yang mirip dengan vmlinux atau ditambahkan ekstensi lain.\n"
-"\n"
-"\n"
-" - root: device root atau / pada instalasi LInux di sistem \n"
-"\n"
-"\n"
-"\n"
-" - append: pada hardware Apple, pilihan kernel append sering digunakan\n"
-"untuk membantu inisialisasi hardware video, atau untuk mengaktifkan emulasi "
-"tombol mouse pada keyboard\n"
-"ini berguna untuk mouse Apple yang tidak memiliki tombol kedua dan ketiga.\n"
-"Ini ada beberapa contohnya:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103.111 "
-"hda=autotone\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-"\n"
-" - initrd: pilihan ini untuk meload module pada saat boot pertama, sesaat "
-"sebelum\n"
-"device boot aktif, atau untuk meload image ramdisk untuk situasi boot "
-"darurat.\n"
-"\n"
-"\n"
-" - initrd-size: ukuran ramdisk default biasanya adalah 4096 byte. bila Anda "
-"ingin\n"
-"mengalokasikan ramdisk dengan nilai yang lebih besar, maka gunakanlah "
-"pilihan ini.\n"
-"\n"
-"\n"
-" - read-write: biasanya partisi 'root' dimount secara read-only agar bisa "
-"mengecek filesystem\n"
-"sebelum dimount. Anda bisa mengganti kelakuan aslinya di sini.\n"
-"\n"
-"\n"
-" - NoVideo: Bila hardware video Apple bertingkah aneh, Anda bisa "
-"menggunakan\n"
-"pilihan ini, dengan dukungan native framebuffer.\n"
-"\n"
-"\n"
-" - Default: Pilihan ini adalah untuk menjadikan entri ini dapat terpilih "
-"pada yaboot\n"
-"hanya dengan menekan tombol ENTER pada prompt. Entri yang dijadikan default\n"
-"juga akan diberi tanda dengan tanda '*' pada saat Anda menekan tombol TAB "
-"untuk\n"
-"memilih pilihan boot."
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-"SILO adalah bootloader untuk SPARC: Dianya akan memboot\n"
-"GNU/Linux atau sistem operasi lain yang ada di komputer ini.\n"
-"Biasanya, sistem operasi yang sudah ada akan secara normal di deteksi dan\n"
-"diinstallkan. Bila ternyata nanti nggak bisa, Anda bisa tambahkan sendiri\n"
-"secara manual di sini. Hati-hati yah nanti waktu kasih parameternya.\n"
-"\n"
-"\n"
-"Kamu juga bisa menutup akses ke sistem operasi tertentu. Caranya gampang "
-"aja\n"
-"kamu bisa hapus entrinya disini. Tapi untuk bisa masuk ke sistem operasi "
-"itu\n"
-"kamu perlu bootdisk nantinya."
-
-#: ../../help.pm_.c:805
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"Pilihan SILO dan grub adalah:\n"
-" - Instalasi Bootloader: Tempat Anda hendak meletakkan informasi boot\n"
-" ke GNU/Linux. Pilih aja \"Sektor pertama di drive (MBR)\", kecuali\n"
-" elu udah tau tempatnya\n"
-"\n"
-"\n"
-" - Delay sebelum boot ke image default: Menentukan waktu dalam sepersepuluh "
-"detik\n"
-" sebelum boot loader akan meload image yang default (pertama). Ini berguna\n"
-" pada sistem yang boot dari hard disk dan keyboardnya dinyalakan. Boot "
-"loader\n"
-" tidak menunggu bila \"delay\" dihilangkan atau diset ke nol."
-
-#: ../../help.pm_.c:818
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"Sekarang Anda akan mengkonfigurasikan X Window System, yang merupakan\n"
-"inti GUI (Graphical User Interface) bagi GNU/Linux. Sekarang,\n"
-"Anda harus konfigurasikan video card dan monitor. Biasanya\n"
-"tahapan ini akan otomatis, tapi Anda perlu verifikasi\n"
-"hasil deteksi dan memeriksanya, bener apa nggak :)\n"
-"\n"
-"\n"
-"Setelah itu, X akan dijalankan (kecuali kalau Anda bilang jangan)\n"
-"dan periksa apakah settingnya sudah cocok atau belum.\n"
-"Kalau tidak cocok, Anda bisa kembali lagi dan merubah konfigurasi\n"
-"lalu coba lagi."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Bila ada yang ngaco pada konfigurasi Xnya, silahken pakai pilihan ini untuk\n"
-"membuat X Window System lebih bagus."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Bila Anda ingin menggunakan login grafik, pilih aje \"Ya\". Kalau nggak,\n"
-"pilih aje \"Tidak\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-"Silakan pilih tingkat keamanan sistem ini. Baca dulu manualnya untuk info "
-"lebihlengkap\n"
-"Kalau Anda ngga tau, ya pilih aja pilihan defaultnya ya.\n"
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Sistem Anda akan direboot.\n"
-"\n"
-"Habis reboot, Linux Mandrake Anda akan diload otomatis.\n"
-"Bila Anda ingin boot ke sistem operasi lain, silahkan baca instruksi\n"
-"tambahan."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Pilih Bahasamu"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Pilih kelas instalasi"
-
-#: ../../install2.pm_.c:39
-msgid "Hard drive detection"
-msgstr "Deteksi hard disk"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Konfigurasi mouse"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Pilih Keyboardmu"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr "Sekuriti"
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Setup filesystem"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Melakukan format partisi"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Paket yang akan diinstall"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Instal system"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "Set password root"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Tambahkan user"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Konfigurasi jaringan"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr "Ringkasan"
-
-#: ../../install2.pm_.c:52
-msgid "Configure services"
-msgstr "Konfigurasi service"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Membuat bootdisk"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Install bootloader"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Konfigurasi X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Keluar dari proses instal"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../install_any.pm_.c:676
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Masukkan disket yang sudah diformat dengan tipe FAT di drive %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr "Disketnya belum diformat dengan sistem FAT"
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Untuk menggunakan pilihan paket yang sudah disimpan sebelumnya, bootlah "
-"instalasi dengan pilihan ''linux defcfg=floppy''"
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Error saat membaca file $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../install_gtk.pm_.c:423
-msgid "Please test the mouse"
-msgstr "Silakan di test mousenya"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-msgid "To activate the mouse,"
-msgstr "Untuk mengaktifkan mouse,"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr "gerakan rodanya!"
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-"Ada hardwaare di komputer ini yang membutuhkan driver ``proprietary''.\n"
-"Anda bisa mencari informasinya di: %s"
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-"Pilih dulu partisi rootnya.\n"
-"Caranya, buatlah partisi (atau pilih di yang sudah ada).\n"
-"Lalu pilih ``Mount point'' dan set ke `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr "Anda harus buat partisi swap"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-"Anda belum punya partisi swap\n"
-"\n"
-"Cuek aja?"
-
-#: ../../install_interactive.pm_.c:68
-msgid "Use free space"
-msgstr "Gunakan space bebas"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr "Tidak ada cukup ruangan untuk mengalokasikan partisi baru"
-
-#: ../../install_interactive.pm_.c:78
-msgid "Use existing partition"
-msgstr "Gunakan partisi yang sudah ada"
-
-#: ../../install_interactive.pm_.c:80
-msgid "There is no existing partition to use"
-msgstr "Tidak ada partisi yang bisa digunakan"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr "Gunakan partisi Windows untuk loopback"
-
-#: ../../install_interactive.pm_.c:90
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Partisi mana yang hendak dipakai oleh Linux4Win?"
-
-#: ../../install_interactive.pm_.c:92
-msgid "Choose the sizes"
-msgstr "Pilih ukurannya"
-
-#: ../../install_interactive.pm_.c:93
-msgid "Root partition size in MB: "
-msgstr "Ukuran partisi root dalam MB: "
-
-#: ../../install_interactive.pm_.c:94
-msgid "Swap partition size in MB: "
-msgstr "Ukuran partisi swap dalam MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr "Gunakan space bebas pada partisi Windows"
-
-#: ../../install_interactive.pm_.c:105
-msgid "Which partition do you want to resize?"
-msgstr "partisi mana yang mau Anda rubah ukurannya?"
-
-#: ../../install_interactive.pm_.c:107
-msgid "Computing Windows filesystem bounds"
-msgstr "Sedang menghitung bound filesystem Windows"
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-"Saya tidak dapat merubah ukuran partisi FAT ini,\n"
-"Ada error ini yang terjadi: %s"
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-"Partisi Windows Anda terlalu terfragmen, silakan jalankan ``defrag'' dulu"
-
-#: ../../install_interactive.pm_.c:114
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"AWAS!\n"
-"\n"
-"DrakX sekarang hendak merubah ukuran partisi Windows Anda. Hati-hati:\n"
-"prosesnya ini suanguat berbuahaya. Bila Anda belum melakukannya, silahkan\n"
-"keluar dari proses instalasi ini, lalu reboot ke Windows\n"
-"untuk scandisk dulu (dan defrag juga) di partisi ini lalu backup datanya.\n"
-"Habis itu yakin dulu, baru tekan Ok."
-
-#: ../../install_interactive.pm_.c:123
-msgid "Which size do you want to keep for windows on"
-msgstr "Tentukan ukuran untuk menyimpan Windows"
-
-#: ../../install_interactive.pm_.c:124
-#, c-format
-msgid "partition %s"
-msgstr "Partisi %s"
-
-#: ../../install_interactive.pm_.c:130
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Resize FAT gagal: %s"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-"Tidak ada partisi FAT untuk dirubah ukurannya atau untuk digunakan sebagai "
-"loopback (atau tidak ada cukup ruangan)"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr "Hapus semua disk"
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr "Buang Windows(TM)"
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-"Anda punya lebih dari satu hard drive, di hard disk mana yang ingin "
-"diinstallkan linux?"
-
-#: ../../install_interactive.pm_.c:157
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "SEMUA partisi yang ada beserta data pada drive %s akan hilang"
-
-#: ../../install_interactive.pm_.c:165
-msgid "Custom disk partitioning"
-msgstr "Lakukan partisi disk secara custom"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr "gunakan fdisk"
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-"Anda bisa buat partisi %s \n"
-"Habis itu, jangan lupa simpan dengan menekan tombol `w'"
-
-#: ../../install_interactive.pm_.c:201
-msgid "You don't have enough free space on your Windows partition"
-msgstr "Eh, kamu nggak punya cukup ruangan pada partisi windows!"
-
-#: ../../install_interactive.pm_.c:217
-msgid "I can't find any room for installing"
-msgstr "Aduh, ruangannya nggak cukup nih untuk menginstall"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "Wizard partisi DrakX menemukan solusi berikut:"
-
-#: ../../install_interactive.pm_.c:226
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Proses partisi gagal: %s"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Up-kan Jaringan"
-
-#: ../../install_interactive.pm_.c:237
-msgid "Bringing down the network"
-msgstr "Matikan Jaringan"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"Ada error nih, tapi aku nggak tahu cara mengatasinya.\n"
-"Lanjutkan saja, tapi resiko tanggung sendiri yah."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Lokasi mount %s ada dua"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-"Ada paket yang penting nggak benar diinstalnya.\n"
-"Mungkin saja drive cdrom atau cdromnya yang rusak.\n"
-"Cek dulu cdromnya di komputer yang sudah terinstall Linux dengan\n"
-"perintah \"rpm -qpl Mandrake/RPMS/*.rpm\" dulu gih\n"
-
-#: ../../install_steps.pm_.c:451
-#, c-format
-msgid "Welcome to %s"
-msgstr "Selamat Datang di %s"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Wah maaf nih, nggak ada floppy drive yah ?"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Memulai langkah `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Pilih ukuran yang akan diinstal"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Ukuran total: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "Versi: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Ukuran: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Pilih paket yang akan diinstal"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Info"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Instal"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Sedang melakukan instal"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Silahkan tunggu, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Sisa waktu "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Total waktu"
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Sedang menyiapkan instalasi"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Sedang instal paket %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Cuek aja?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "Ada error mengurutkan paket"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Gunakan konfigurasi X11 yang ada?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-"Sistem Anda memiliki resource yang terlalu rendah. Nantinya Anda akan\n"
-"mengalami kesulitan dalam menginstall Linux-Mandrake. Bila demikian halnya, "
-"Anda bias mencoba instalasi text saja. Untuk hal ini silakan\n"
-"tekan `F1' saat booting pada CDROm, lalu ketikkan `tet'."
-
-#: ../../install_steps_gtk.pm_.c:156
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Ehm, silahkan pilih kelas instalasi di bawah:"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr "Ukuran total grup yang dipilih kira-kira %d MB.\n"
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-"Kalau kamu mau nginstall dengan ukuran yang lebih kecil dari ini,\n"
-"pilih dulu persentase paket yang hendak diinstall.\n"
-"\n"
-"Persentasi kecil berarti akan install paket yang penting-penting saja;\n"
-"dan sebaliknya persentase 100%% akan install semua paket yang tadi sudah\n"
-"dipilih"
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-"Kamu punya hard disk cuma cukup untuk sekitar %d%% dari seluruh paketini.\n"
-"\n"
-"Kalau kamu mau nginstall dengan ukuran yang lebih kecil dari ini,\n"
-"pilih dulu persentase paket yang hendak diinstall.\n"
-"Persentasi kecil berarti akan install paket yang penting-penting saja;\n"
-"dan sebaliknya persentase %d%% akan install paket yang tadi sudah\n"
-"dipilih sebanyak-banyaknya"
-
-#: ../../install_steps_gtk.pm_.c:235
-msgid "You will be able to choose them more specifically in the next step."
-msgstr "Anda akan bisa memilih dengan lebih lengkap nanti"
-
-#: ../../install_steps_gtk.pm_.c:237
-msgid "Percentage of packages to install"
-msgstr "Persentase paket yang akan diinstall"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Pilihan Grup Paket"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-msgid "Individual package selection"
-msgstr "Pilih paket sendiri"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr "Tunjukkan paket yang sudah dipilih secara otomatis"
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Buka Tree"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Tutup Tree"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr "Togel tampilan rata dan terurut grupnya"
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Paket Error"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr "Nama: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr "Derajat: %s\n"
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Ukuran total: %d / %d MB"
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Kamu nggak bisa pilih paket ini sebab nggak ada ruang kosong untuk "
-"menginstallnya"
-
-#: ../../install_steps_gtk.pm_.c:471
-msgid "The following packages are going to be installed"
-msgstr "Paket ini yang akan diinstall"
-
-#: ../../install_steps_gtk.pm_.c:472
-msgid "The following packages are going to be removed"
-msgstr "Paket berikut adalah yang akan dihapus"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr "Anda nggak bisa pilih/buang paket ini"
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Paket ini harus diinstall, nggak bisa dibuang"
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr "Anda nggak bisa buang paket ini, sebab dia sudah diinstall"
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Paket ini mesti diupgrade\n"
-"Bener nggak mau dipilih?"
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Kamu nggak bisa buang paket ini. dia mesti diupgrade"
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "Perkiraan"
-
-#: ../../install_steps_gtk.pm_.c:582
-msgid "Please wait, preparing installation"
-msgstr "Tunggu ya, saya sedang menyiapkan instalasi"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d paket"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-"\n"
-"Peringatan\n"
-"\n"
-"Mohon dibaca dulu semua ketentuan di bawah. Bila Anda tidak setuju dengan "
-"salah satu bagiannya\n"
-"Anda tidak dapat menginstal media CD berikutnya. Silakan tekan 'Tolak' untuk "
-"melanjutkan instalasi\n"
-"tanpa menggunakan media ini.\n"
-"\n"
-"\n"
-"Ada beberapa komponen yang ada di media CD berikutnya tidak dilepas dalam "
-"lisensi GPL atau perjanjian\n"
-"sejenis. Komponen-komponen itu diatur dalam ketentuan dan kondisi dalam "
-"lisensi yang bersangkutan.\n"
-"Baca dengan hati-hati dan penuhi setiap lisensi sebelum Anda menyebarkan "
-"komponen tersebut.\n"
-"Model lisensi tersebut akan melarang proses transfer, duplikasi (kecuali "
-"untuk alasan backup), penyebaran\n"
-"kembali, rekayasa ulang, de-assembly, de-kompilasi, atau modifikasi pada "
-"komponen tersebut.\n"
-"Tiap pelanggaran pada perjanjian akan segera mengakhiri hak-hak Anda dalam "
-"lisensi tersebut.\n"
-"Kecuali bila dibolehkan, Anda tidak dapat menginstall program ini dalam "
-"lebih dari satu sistem\n"
-"atau menggunakannya di jaringan. Bila Anda masih ragu, silakan huibungi "
-"langsung distributor\n"
-"atau editor komponen ini. Anda dilarang mentransfer komponen ini ke pihak "
-"ketiga atau mengkopinya.\n"
-"\n"
-"\n"
-"Semua hak pada komponen di media CD berikutnya dimiliki oleh pembuatnya "
-"masing-masing\n"
-"dan dilindungi oleh hukum hak cipta dan hak intelektual khusus untuk program "
-"komputer.\n"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Accept"
-msgstr "Baiklah"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-msgid "Refuse"
-msgstr "Tolak"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-"Ganti CDROMnya!\n"
-"\n"
-"Silahkan masukkan CDROM berlabel \"%s\" di drive Anda dan tekan OK\n"
-"Kalau Anda nggak punya CDROM ini, teken Batal aja untuk membatalkan "
-"instalasidari CD ini."
-
-#: ../../install_steps_gtk.pm_.c:699
-msgid "There was an error installing packages:"
-msgstr "Ada error saat menginstall paket"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Ada error"
-
-#: ../../install_steps_interactive.pm_.c:55
-msgid "Please, choose a language to use."
-msgstr "Pilih dulu bahasanya dong bow"
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-"Anda bisa pilih bahasa lain yang akan disediakan setelah install selesai"
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr "Semuanya"
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr "Persetujuan Lisensi"
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Keyboard"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-msgid "Please, choose your keyboard layout."
-msgstr "Pilih Keyboardmu"
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr "Ini adalah daftar keyboard yang tersedia"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Kelas Instal"
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Which installation class do you want?"
-msgstr "Kelas instalasi yang anda diinginkan?"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Install/Update"
-msgstr "Instal/Update"
-
-#: ../../install_steps_interactive.pm_.c:203
-msgid "Is this an install or an update?"
-msgstr "Akan instal atau update?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Disarankan"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "Pakar"
-
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Update"
-msgstr "Update"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-msgid "Please, choose the type of your mouse."
-msgstr "Tipe mouse yang anda punya?"
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Port Mouse"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Di serial port mana mouse Anda dicolokkan ?"
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr "Emulasi tombol"
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr "Emulasi 2 tombol"
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr "Emulasi tombol 3"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Konfigurasikan card PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "Configuring IDE"
-msgstr "konfigurasi IDE"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "Tidak ada partisi"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr "Mendeteksi partisi untuk mencari lokasi mount"
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Pilih lokasi mount"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"Saya nggak bisa baca tabel partisi, udah hancur lebur nih :(\n"
-"Aku akan coba hapus partisi yg jeleknya (SEMUA DATA akan HILANG).\n"
-"Solusi lainnya adalah jangan biarkan saya memodifikasi tabel partisi.\n"
-"(pesan errornya adalah %s)\n"
-"\n"
-"Anda setuju untuk menghapus semua partisi?\n"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake gagal membaca tabel partisi Anda.\n"
-"Lanjutkan tapi resiko tanggung kendiri!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Partisi root"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Apa sih partisi root (/) di sistem ini?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Anda harus reboot agar perubahan table partisi dapat berlaku"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Pilih partisi yang akan diformat"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Periksa bad block ?"
-
-#: ../../install_steps_interactive.pm_.c:427
-msgid "Formatting partitions"
-msgstr "Melakukan format partisi"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Membuat dan memformat file %s"
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Instalasi tidak bisa diteruskan karena swap kurang, tambahin dong"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Sedang mencari paket yang tersedia"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Mencari paket untuk diupgrade"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-"Waduh, sistem ini nggak punya cukup space untuk install atawa upgrade (%d > %"
-"d)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Complete (%dMB)"
-msgstr "Lengkap (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Minimum (%dMB)"
-msgstr "Minimum (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, c-format
-msgid "Recommended (%dMB)"
-msgstr "Disarankan (%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:486
-msgid "Custom"
-msgstr "Customized"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-"Kalau kamu punya semua CD pada daftar di bawah, tekan OK.\n"
-"Kalau nggak punya sama sekali, click Cancel.\n"
-"Kalau cuma punya beberapa aja, pilih aja, trus klik Ok."
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Label CD-ROM \"%s\""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Sedang instal paket %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Konfigurasi Instalasi akhir"
-
-#: ../../install_steps_interactive.pm_.c:718
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"Anda sekarang bisa mendownload software khusus untuk enkripsi.\n"
-"\n"
-"PERHATIAN:\n"
-"\n"
-"Berhubung adanya peraturan yang berbeda di berbagai lokasi berkenaan\n"
-"dengan penggunaan software ini, Anda dan/atau end user yang akan\n"
-"menggunakan software ini harus memastikan bahwa dirinya boleh untuk\n"
-"mendownload dan/atau menggunakan software ini sesuai dengan hukum\n"
-"yang berlaku di lokasinya.\n"
-"\n"
-"Juga ditekankan bahwa Anda dan/atau end user harus sadar bahwa dirinya\n"
-"tidak diperkenankan untuk melanggar hukum tersebut. Apabila melanggar\n"
-"akan dikenakan sangsi yang berat.\n"
-"\n"
-"Mandrakesoft dan para pembuat software dan/atau penyedianya sama sekali "
-"tidak\n"
-"bertanggung jawab baik untuk segala kerusakan khusus, tidak langsung, dan\n"
-"insidentil apapun (termasuk namun tidak terbatas pada kehilangan keuntungan\n"
-"gangguan bisnis, kehilangan data komersial dan kerugian lain dan \n"
-"segala kewajiban yang harus dibayarkan sesuai hukum) yang disebabkan\n"
-"oleh penggunaan, kepemilikan, atau penjualan dari software yang\n"
-"didownload ini, setelah Anda dan/atau end user memiliki akses\n"
-"ke software tersebut setelah menandatangani perjanjian yang ada.\n"
-"\n"
-"Apabila ada pertanyaan mengenai perjanjian ini, silahkan hubungi\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Pilih mirror tempat Anda ingin mengambil paket program"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Saya sedang mencek mirror untuk mengambil daftar paket yang tersedia"
-
-#: ../../install_steps_interactive.pm_.c:764
-msgid "Please choose the packages you want to install."
-msgstr "Pilih paket yang akan diinstal"
-
-#: ../../install_steps_interactive.pm_.c:776
-msgid "Which is your timezone?"
-msgstr "Pilih timezone Anda"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Apakah jam hardwarenya di set ke GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-msgid "Remote CUPS server"
-msgstr "server CUPS remote"
-
-#: ../../install_steps_interactive.pm_.c:807
-msgid "No printer"
-msgstr "Tidak ada printer"
-
-#: ../../install_steps_interactive.pm_.c:821
-msgid "Mouse"
-msgstr "Mouse"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr "Timezone"
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Printer"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr "card ISDN"
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr "Sound Card"
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr "TV Card"
-
-#: ../../install_steps_interactive.pm_.c:862
-msgid "Which printing system do you want to use?"
-msgstr "Sistem printer mana yang ingin digunakan?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Tak berpassword"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "Passwordnya terlalu mudah (harus paling tidak %d karakter)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Gunakan NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "yellow pages"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Autentikasi NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "Domain NIS"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "Server NIS"
-
-#: ../../install_steps_interactive.pm_.c:951
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Bootdisk baru membantu Anda untuk melakukan boot sistem Linux tanpa\n"
-"tergantung pada bootloader. Kadang ini berguna bila Anda tidak mau install\n"
-"SILO di sistem Anda, atau saat sistem operasi lain menghapus SILO, atau "
-"SILO\n"
-"tidak bisa digunakan pada konfigurasi hardware Anda. Bootdisk ini juga bisa "
-"digunakan\n"
-"dengan image rescue Mandrake, yang memudahkan kita untuk merecover sistem\n"
-"dari kegagalan. Sekarang, saya mau tanya nih... mau bikin bootdisk nggak ?"
-
-#: ../../install_steps_interactive.pm_.c:967
-msgid "First floppy drive"
-msgstr "Drive Disket Pertama"
-
-#: ../../install_steps_interactive.pm_.c:968
-msgid "Second floppy drive"
-msgstr "Drive disket kedua"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Lewatkan"
-
-#: ../../install_steps_interactive.pm_.c:974
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Bootdisk baru membantu Anda untuk melakukan boot sistem Linux tanpa\n"
-"tergantung pada bootloader. Kadang ini berguna bila Anda tidak mau install\n"
-"lilo (ataw grub) di sistem Anda, atau saat sistem operasi lain menghapus "
-"lilo, atau lilo\n"
-"tidak bisa digunakan pada konfigurasi hardware Anda. Bootdisk ini juga bisa "
-"digunakan\n"
-"dengan image rescue Mandrake, yang memudahkan kita untuk merecover sistem\n"
-"dari kegagalan. Sekarang, saya mau tanya nih... mau bikin bootdisk nggak ?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Wah maaf nih, nggak ada floppy drive yah ?"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Pilih drive floppy untuk membuat bootdisk"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Masukkan disket di drive %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "Membuat bootdisk"
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Membuat bootloader"
-
-#: ../../install_steps_interactive.pm_.c:1010
-msgid "Do you want to use aboot?"
-msgstr "Mau pakai aboot saja?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-"Wah ada error saat install aboot,\n"
-"Paksakan instalasi nggak walaupun nanti bisa merusak partisi awal?"
-
-#: ../../install_steps_interactive.pm_.c:1022
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Instalasi bootloader gagal. Ada kesalahan berikut:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-"Ganti dulu bootdevice Open Firmware untuk mengaktifkan bootloader.\n"
-"Jika Anda ngga ngeliat prompt bootloadernya waktu reboot,tekan Command-"
-"Option-O-F saat reboot lalu tekan Enter\n"
-"setenv boot-device $of_boot,\\\\:tbxi\n"
-"lalu ketikkan: shut-down\n"
-"Pada boot selanjutnya prompt bootloader akan ditampilkan deh."
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Lemah"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Sedang"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Kuat"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Pilih Tingkat Security"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr "Mau buat disket auto install untuk replikasi linux?"
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Masukkan disket kosong di drive %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-msgid "Creating auto install floppy"
-msgstr "Lagi buat disket auto install"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Ada tahapan yang tidak diselesaikan.\n"
-"\n"
-"Anda ingin keluar sekarang?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Wah Selamat nih, instalasinya sudah komplit.\n"
-"Sekarang cabut media boot dan pencet tombol untuk reboot.\n"
-"Untuk informasi update program untuk rilis Linux Mandrake ini,\n"
-"silahkan lihat Errata di http://www.linux-mandrake.com/.\n"
-"Informasi untuk konfigurasi sistem juga tersedia di \n"
-"bab Instalasi di Buku Petunjuk Resmi Linux Mandrake."
-
-#: ../../install_steps_interactive.pm_.c:1179
-msgid "Generate auto install floppy"
-msgstr "Buat floppy instalasi otomatis"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-"Bila Anda mau, auto install bisa dilakukan secara otomatis penuh,\n"
-"jadi instalasinya akan mengusai hard drive!\n"
-"(ini dimaksudkan untuk menginstall pada komputer lain)\n"
-"\n"
-"Mungkin Anda perlu mengulangi instalasinya.\n"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Automated"
-msgstr "Otomatis"
-
-#: ../../install_steps_interactive.pm_.c:1186
-msgid "Replay"
-msgstr "Ulangi"
-
-#: ../../install_steps_interactive.pm_.c:1189
-msgid "Save packages selection"
-msgstr "Simpan paket yang sudah dipilih"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Instalasi Linux-Mandrake %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> untuk pindah | <Spasi> untuk pilih | <F12> Layar berikut"
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr "kdesu hilang nih"
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr "Advanced"
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Silahkan tunggu sebentar"
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "Tidak jelas (%s), coba yang lebih tepat\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Pilihan salah, silahkan ulangi\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (default %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Pilihan anda? (default %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "Pilihan anda? (default %s pilih 'none' untuk tidak ada) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Ceko (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "Jerman"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Spanyol"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finland"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Perancis"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norwegia"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Polandia"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Rusia"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Keyboard UK"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Keyboard US"
-
-#: ../../keyboard.pm_.c:141
-msgid "Armenian (old)"
-msgstr "Armenia (lama)"
-
-#: ../../keyboard.pm_.c:142
-msgid "Armenian (typewriter)"
-msgstr "Armenia (mesintik)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armenia (phonetic)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaijan (latin)"
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr "Azerbaijan (cyrillic)"
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgia"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Bulgaria"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brazilia"
-
-#: ../../keyboard.pm_.c:152
-msgid "Belarusian"
-msgstr "Belarusia"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Swiss (layout Jerman)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Swiss (layout Perancis)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Ceko (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr "Ceko (Programmer)"
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr "Jerman (tanpa dead key)"
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Denmark"
-
-#: ../../keyboard.pm_.c:161
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
-
-#: ../../keyboard.pm_.c:162
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norwegia)"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Estonia"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgia (layout \"Rusia\")"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgia (layout \"Latin\")"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Yunani"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Hungaria"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr "Kroasia"
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "Ibrani"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "Ibrani (Phonetic)"
-
-#: ../../keyboard.pm_.c:174
-msgid "Iranian"
-msgstr "Iran"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "Islandia"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "Itali"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr "Jepang 106 tombol"
-
-#: ../../keyboard.pm_.c:178
-msgid "Korean keyboard"
-msgstr "Keyboard Korea"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Amerika Latin"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr "Macedonia"
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Belanda"
-
-#: ../../keyboard.pm_.c:182
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lithuania AZERTY (lama)"
-
-#: ../../keyboard.pm_.c:184
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lithuania AZERTY (baru)"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lithuania \"number row\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lithuania \"phonetic\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-msgid "Polish (qwerty layout)"
-msgstr "Polandia (layout qwerty)"
-
-#: ../../keyboard.pm_.c:189
-msgid "Polish (qwertz layout)"
-msgstr "Polandia (layout qwertz)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portugis"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanada (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Rusia (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Swedia"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slovenia"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovakia (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slovakia (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr "Slovakia (Programmer)"
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Keyboard Thailand"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turki (model \"F\" tradisional)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turki (model \"Q\" modern)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "Ukrania"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Keyboard US (internasional)"
-
-#: ../../keyboard.pm_.c:206
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vietnam \"numeric row\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Yugoslavia (latin/cyrillic)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr "Hapus dulu volume logiknya\n"
-
-#: ../../mouse.pm_.c:25
-msgid "Sun - Mouse"
-msgstr "Mouse Sun"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr "Standard"
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Mouse PS2 wheel generik"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr "1 tombol"
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr "Generik"
-
-#: ../../mouse.pm_.c:45
-msgid "Wheel"
-msgstr "wheel"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "serial"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr "Mouse Generik 2 Tombol"
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Mouse Generik 3 Tombol"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Sistem Mouse (serial)"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (serial, old C7 type)"
-
-#: ../../mouse.pm_.c:65
-msgid "busmouse"
-msgstr "busmouse"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr "2 tombol"
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr "3 tombol"
-
-#: ../../mouse.pm_.c:72
-msgid "none"
-msgstr "tidak ada"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Tidak pakai mouse"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Finish"
-msgstr "Selesai"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr "Lanjutkan ->"
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr "<- Tahap sebelumnya"
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Apa sudah sesuai?"
-
-#: ../../netconnect.pm_.c:143
-msgid "Internet configuration"
-msgstr "Konfigurasi Internet"
-
-#: ../../netconnect.pm_.c:144
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Anda ingin test koneksi Internetnya sekarang?"
-
-#: ../../netconnect.pm_.c:148
-msgid "Testing your connection..."
-msgstr "Testing koneksi ini..."
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-msgid "The system is now connected to Internet."
-msgstr "Sistem ini sekarang terhubung ke Internet."
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr "Untuk alasan keamanan, sekarang akan diputus koneksinya"
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Sistem ini sepertinya tidak terhubung ke Internet deh.\n"
-"Cobalah konfigurasikan ulang koneksinya."
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Konfigurasi Jaringan"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-msgid "ISDN Configuration"
-msgstr "konfigurasi ISDN"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-"Pilih provider Anda.\n"
-"Bila tidak ada dalam daftar, pilih Tidak Terdaftar"
-
-#: ../../netconnect.pm_.c:236
-msgid "Connection Configuration"
-msgstr "Konfigurasi Koneksi"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr "Silakan isi atau cek kolom berikut"
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr "IRQ card"
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr "Mem card (DMA)"
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr "IO Card"
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr "IO_0 card"
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr "IO_1 card"
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr "Nomor telepon Anda"
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr "Nama provider (misalnya provider.net.id)"
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-msgid "Provider phone number"
-msgstr "Nomor telepon provider"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr "DNS Provider 1"
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr "DNS Provider 2"
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-msgid "Dialing mode"
-msgstr "mode dial"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-msgid "Account Login (user name)"
-msgstr "Login Account (username)"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-msgid "Account Password"
-msgstr "Password Account"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr "Eropa"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr "Eropa (EDSS1)"
-
-#: ../../netconnect.pm_.c:263
-msgid "Rest of the world"
-msgstr "Tempat-tempat lain"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-"Tempat-tempat lain \n"
-" tidak pakai D-Channel (leased lines)"
-
-#: ../../netconnect.pm_.c:267
-msgid "Which protocol do you want to use ?"
-msgstr "Protokol apa yang ingin Anda gunakan?"
-
-#: ../../netconnect.pm_.c:277
-msgid "What kind of card do you have?"
-msgstr "Tipe card mana yang anda punya?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr "Duh, saya tidak tahu"
-
-#: ../../netconnect.pm_.c:278
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-"\n"
-"Bila Anda punya card ISA, konfigurasi pada layar berikut nanti harusnya "
-"sudah benar.\n"
-"\n"
-"Bila Anda punya card PCMCIA, Anda harus mengetahui irq dan io card Anda "
-"itu.\n"
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr "Batalkan"
-
-#: ../../netconnect.pm_.c:288
-msgid "Continue"
-msgstr "Lanjutkan"
-
-#: ../../netconnect.pm_.c:294
-msgid "Which is your ISDN card ?"
-msgstr "manakah card ISDN yang Anda punya?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-"Saya mendeteksi adanya sebuah card ISDN PCI, tapi saya tidak tahu tipenya. "
-"Silakan pilih card PCI tersebut pada layar berikutnya."
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Saya tidak menemukan card ISDN PCI. Silakan pilih satu pada layar berikutnya."
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Tidak ada adapter jaringan ethernet yang terdeteksi di sistem ini.\n"
-"Saya jadinya tidak dapat mengkonfigurasikan tipe koneksi ini deh."
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-msgid "Choose the network interface"
-msgstr "Pilih interface jaringan"
-
-#: ../../netconnect.pm_.c:376
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr "Pilih adapter jaringan yang akan digunakan untuk terhubung ke Internet"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr "Interface jaringan"
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-"\n"
-"Setuju?"
-
-#: ../../netconnect.pm_.c:386
-msgid "I'm about to restart the network device:\n"
-msgstr "Saya akan merestart device jaringan ini:\n"
-
-#: ../../netconnect.pm_.c:484
-msgid "ADSL configuration"
-msgstr "konfigurasi ADSL"
-
-#: ../../netconnect.pm_.c:485
-msgid "Do you want to start your connection at boot?"
-msgstr "Anda mau jalankan koneksi ini saat boot?"
-
-#: ../../netconnect.pm_.c:620
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Di serial port mana modem Anda disambungkan?"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Parameter Dialup"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Nama koneksi"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-msgid "Phone number"
-msgstr "Nomor telepon"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Login ID"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Autentikasi"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Script-based"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Terminal-based"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Nama domain"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-msgid "First DNS Server (optional)"
-msgstr "Server DNS Primary (boleh diisi/tidak)"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-msgid "Second DNS Server (optional)"
-msgstr "Server DNS Sekondari (boleh tidak diisi)"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr "Saya akan merestart device jaringan $netc->{NET_DEVICE}. Setuu?"
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-"\n"
-"Anda bisa putuskan atau konfigurasi koneksi yang ada sekarang."
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr ""
-"\n"
-"Anda bisa mengkonfigurasikan ulang koneksi ini"
-
-#: ../../netconnect.pm_.c:745
-msgid "You are currently connected to internet."
-msgstr "Sekarang Anda sedang terhubung ke Internet."
-
-#: ../../netconnect.pm_.c:748
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr ""
-"\n"
-"Anda bisa sambungkan koneksi ke Internet atau mengkonfigurasikan ulang."
-
-#: ../../netconnect.pm_.c:748
-msgid "You are not currently connected to Internet."
-msgstr "Anda sedang tidak terhubung ke Internet."
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-msgid "Connect to Internet"
-msgstr "Sambungkan koneksi Internet"
-
-#: ../../netconnect.pm_.c:754
-msgid "Disconnect from Internet"
-msgstr "Putuskan koneksi Internet"
-
-#: ../../netconnect.pm_.c:756
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Konfigureasikan koneksi jaringan (LAN atau Internet)"
-
-#: ../../netconnect.pm_.c:759
-msgid "Internet connection & configuration"
-msgstr "Koneksi dan konfigurasi Internet"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-msgid "Network Configuration Wizard"
-msgstr "Wizard Konfigurasi Jaringan"
-
-#: ../../netconnect.pm_.c:812
-msgid "External ISDN modem"
-msgstr "Modem ISDN external"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr "card ISDN Internal"
-
-#: ../../netconnect.pm_.c:812
-msgid "What kind is your ISDN connection?"
-msgstr "Tipe koneksi ISDN apa yang Anda miliki?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-msgid "Connect to the Internet"
-msgstr "Hubungan ke Internet"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-"Cara yang umum untuk terkoneksi ke adsl adalah dengan menggunakan pppoe.\n"
-"Namun ada juga yang menggunakan pptp, dan ada yang pakai dhcp saja.\n"
-"Bila ragu, pilih saja 'gunakan pppoe'"
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr "gunakan dhcp"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr "gunakan pppoe"
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr "gunakan pptp"
-
-#: ../../netconnect.pm_.c:846
-#, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Sekarang saya mau restart device jaringan %s. Setuju ?"
-
-#: ../../netconnect.pm_.c:883
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr ""
-"Klien dhcp mana yang ingin Anda pakai?\n"
-"defaultnya adalah dhcpcd"
-
-#: ../../netconnect.pm_.c:900
-msgid "Network configuration"
-msgstr "Konfigurasi Jaringan"
-
-#: ../../netconnect.pm_.c:901
-msgid "Do you want to restart the network"
-msgstr "Anda ingin restart konfigurasi ini?"
-
-#: ../../netconnect.pm_.c:904
-#, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr ""
-"Problem terjadi saat restart netword:\n"
-"\n"
-"%s"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-"Jaringan Anda sudah terkonfigurasi lho\n"
-"Silakan klik OK untuk rekonfigurasi ulang koneksi jaringan/internet ini, "
-"atau batal bilaAnda berubah pikiran.\n"
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-"Selamat Datang di Wizard Koneksi Jaringan\n"
-"\n"
-"Sekarang kita akan mengkonfigurasikan internet/jaringan.\n"
-"Bila Anda tidak mau menggunakan deteksi otomatis, mohon untuk tidak memilih "
-"pada checkboxnya.\n"
-
-#: ../../netconnect.pm_.c:964
-msgid "Choose the profile to configure"
-msgstr "Pilih profil yang hendak Anda konfigurasikan"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr "Gunakan auto detek"
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Mendeteksi alat..."
-
-#: ../../netconnect.pm_.c:978
-msgid "Normal modem connection"
-msgstr "Konfigurasi koneksi modem biasa "
-
-#: ../../netconnect.pm_.c:978
-#, c-format
-msgid "detected on port %s"
-msgstr "dideteksi pada port %s"
-
-#: ../../netconnect.pm_.c:979
-msgid "ISDN connection"
-msgstr "Konfigurasi koneksi ISDN"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr "%s telah terdeteksi"
-
-#: ../../netconnect.pm_.c:980
-msgid "DSL (or ADSL) connection"
-msgstr "Konfigurasi koneksi DSL (atau ADSL)"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr "telah dideteksi ada pada interface %s"
-
-#: ../../netconnect.pm_.c:981
-msgid "Cable connection"
-msgstr "Konfigurasi jaringan kabel"
-
-#: ../../netconnect.pm_.c:982
-msgid "LAN connection"
-msgstr "konfigurasi LAN"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr "ada ethernet card yang terdeteksi"
-
-#: ../../netconnect.pm_.c:987
-msgid "How do you want to connect to the Internet?"
-msgstr "Pilih cara yang Anda inginkan untuk terhubung ke Internet"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-"Selamat deh., jaringan dan internet telah dikonfigurasikan.\n"
-"\n"
-"Konfigurasi yang tadi telah dilakukan sekarang akan dijalankan di sistem ini."
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-"Setelah itu, silakan restart X Anda agar bebas dari masalah pergantian\n"
-"nama host."
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "Tidak ada card network ya?"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Konfigureasi jaringan"
-
-#: ../../network.pm_.c:278
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Masukkan nama komputernya karena ada server DHCP yang mengharuskan adanya "
-"hostname ini.\n"
-"Hostname (nama komputer) sebaiknya merupakan nama host yg fully-qualified\n"
-"misalnya ``samson.ciawi.mdamt.net''."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-msgid "Host name"
-msgstr "Nama Host"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-"AWAS: device ini sebelumnya telah dikonfigurasikan untuk terhubung ke "
-"Internet.\n"
-"Tekan OK untuk tetap menggunakan konfigurasi lama.\n"
-"Bila ingin menggantinya, silakan ganti isi pada kolom-kolom di konfigurasi "
-"ini."
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Masukkan konfigurasi IP untuk mesin ini.\n"
-"Tiap item harus diberikan sebagai alamat IP dalam notasi decimal\n"
-"bertitik (misalnya 202.159.35.32)."
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Konfigurasi perangkat jaringan %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr " (driver $module)"
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-msgid "IP address"
-msgstr "Alamat IP"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-msgid "Netmask"
-msgstr "Netmask"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "IP otomatis"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "Alamat IP harus dalam format 1.2.3.4"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Masukkan nama komputernya.\n"
-"Hostname (nama komputer) sebaiknya merupakan nama host yg fully-qualified\n"
-"misalnya ``mdamt.fdns.net''.\n"
-"Anda juga bisa masukkan alamat IP gatewaynya kalau ada"
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "Server DNS"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Gateway"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Device Gateway"
-
-#: ../../network.pm_.c:407
-msgid "Proxies configuration"
-msgstr "Konfigurasi proxy"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "Proxy HTTP"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "Proxy FTP"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Proxy biasanya http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Proxy biasanya ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr "Partisi extended nggak bisa dipakai di platform ini"
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"Anda punya tabel partisi tapi tidak bisa saya gunakan.\n"
-"Satu-satunya cara adalah memindahkan partisi primary Anda ke partisi\n"
-"extended selanjutnya"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "Error saat membaca file %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Proses restore dari file %s gagal: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "File backup rusak"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Error pada saat menulis file %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-"Ada sesuatu yang buruk terjadi pada drive Anda,\n"
-"hal ini saya ketahui saat gagal mengecek integritas data di situ.\n"
-"Artinya, data apapun yang ditulis ke situ akan gagal."
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr "harus ada"
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr "penting"
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr "bagus deh"
-
-#: ../../pkgs.pm_.c:27
-msgid "nice"
-msgstr "bagus"
-
-#: ../../pkgs.pm_.c:28
-msgid "maybe"
-msgstr "yaah..gimana yaa"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Printer lokal"
-
-#: ../../printer.pm_.c:21
-msgid "Remote printer"
-msgstr "printer remote"
-
-#: ../../printer.pm_.c:23
-msgid "Remote lpd server"
-msgstr "Server lpd remote"
-
-#: ../../printer.pm_.c:24
-msgid "Network printer (socket)"
-msgstr "Printer jaringan (socket)"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-msgid "Printer Device URI"
-msgstr "Device Printer URI"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Test port"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Printer dengan tipe \"%s\" telah terdeteksi di "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Alat printer lokal"
-
-#: ../../printerdrake.pm_.c:53
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Device mana yang terhubung ke printer\n"
-"(ingat, /dev/lp0 = LPT1:) ?\n"
-
-#: ../../printerdrake.pm_.c:55
-msgid "Printer Device"
-msgstr "Device Printer"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Pilihan printer lpd remote"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Untuk dapat mencetak ke antrian lpd remote, Anda perlu\n"
-"tuliskan nama host server printer dan nama antrian\n"
-"yang digunakan untuk mencetak di server itu."
-
-#: ../../printerdrake.pm_.c:78
-msgid "Remote hostname"
-msgstr "Nama Host Remote"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Antrian remote"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Pilihan printer SMB (Windows 95/NT)"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Untuk dapat mencetak ke Printer SMB, Anda perlu \n"
-"memberitahu saya nama host SMB (biasanya tidak selalu\n"
-"sama dengan nama host TCP/IPnya) dan juga alamat IP server printer,\n"
-"dan juga nama share printer tersebut, oh iya...\n"
-"nama user, password, dan info workgroupnya juga."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Host server SMB"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "IP server SMB"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Nama share"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Workgroup"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Pilihan printer NetWare"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Kalau ingin mencetak pakai printer NetWare, sekarang coba\n"
-"beritahu saya nama server printer NetWarenya (tidak selalu sama \n"
-"dengan nama TCP/IPnya lho) juga nama antrian printer yang \n"
-"Anda ingin gunakan beserta nama user dan passwordnya."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Server Printer"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Nama antrian printer"
-
-#: ../../printerdrake.pm_.c:142
-msgid "Socket Printer Options"
-msgstr "Pilihan printer socket"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-"Untuk mencetak ke printer soket, Anda perlu menuliskan\n"
-"hostname printer itu dan juga nomor portnya."
-
-#: ../../printerdrake.pm_.c:145
-msgid "Printer Hostname"
-msgstr "Hostname Printer"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-msgid "Port"
-msgstr "Port"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr "Anda bisa memasukan URI untuk mengakses printer dengan CUPS."
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Tipe printer yang anda inginkan?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Anda ingin test cetak?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Saya sedang test cetak..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-"Halaman test telah dikirim ke daemon printer.\n"
-"Akan butuh waktu sebentar untuk mulai mencetak.\n"
-"Status cetak:\n"
-"%s\n"
-"\n"
-"Bisa tercetak nggak?"
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-"Halaman test telah dikirim ke daemon printer.\n"
-"Akan butuh waktu sebentar untuk mulai mencetak.\n"
-"Bisa tercetak nggak?"
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "Ya, Test cetak ascii"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "Ya, Test cetak postscript"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "Ya, Test cetak postscript dan text ascii"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Konfigurasi Printer"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Parameter printer"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Ukuran Kertas"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Kertas di eject habis ngeprint?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Parameter driver Uniprint"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Pilihan kedalaman warna"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr "Cetak text dalam PostScript?"
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Betulkan efek tangga pada teks ?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr "Jumlah halaman per output"
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr "Margin Kiri/Kanan dalam point (1/72 inci)"
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr "Margin Atas/Bawah dalam point (1/72 inci)"
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr "Extra option pada GhostScript"
-
-#: ../../printerdrake.pm_.c:293
-msgid "Extra Text options"
-msgstr "Pilihan text extra"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr "Balikkan urutan halaman"
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Anda ingin konfigurasikan printer?"
-
-#: ../../printerdrake.pm_.c:351
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Ini adalah antrian print\n"
-"Anda boleh tambahkan atau mengubah yang sudah ada."
-
-#: ../../printerdrake.pm_.c:370
-msgid "CUPS starting"
-msgstr "CUPS dijalankan"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr "Saya sedang membaca database driver CUPS..."
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Pilih koneksi Printer"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Bagaimana printer ini disambung ke komputer?"
-
-#: ../../printerdrake.pm_.c:392
-msgid "Select Remote Printer Connection"
-msgstr "Pilih koneksi Printer remote"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-"Dengan server CUPS remote, Anda tidak perlu mengkonfigurasikan\n"
-"printer di sini; printer akan secara otomatis dideteksi.\n"
-"Bila ragu, pilih saja \"server CUPS Remote\"."
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-"Dengan server CUPS remote, Anda tidak perlu mengkonfigurasikan\n"
-"printer di sini; printer nantinya akan secara otomatis dideteksi\n"
-"kecuali servernya ada di jaringan lain; dalam hal ini, Anda perlu\n"
-"memasukan alamat IP server CUPS itu dan nomor portnya kalau ada."
-
-#: ../../printerdrake.pm_.c:421
-msgid "CUPS server IP"
-msgstr "IP server CUPS"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr "Nomor port harus berupa angka"
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-msgid "Remove queue"
-msgstr "Hapus Antrian"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr "Nama printer haruslah berupa huruf, angka, dan underscore"
-
-#: ../../printerdrake.pm_.c:461
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Tiap antrian cetak harus punya nama (biasanya lp).\n"
-"Parameter lain seperti keterangan dan lokasi printer bisa ditambahkan.\n"
-"Sekarang saya mau tanya,\n"
-"nama printer yang digunakan ini apa yah ?\n"
-"Juga saya mau tanya bagaimana printernya disambungkan ke situ?"
-
-#: ../../printerdrake.pm_.c:465
-msgid "Name of printer"
-msgstr "Nama Printer"
-
-#: ../../printerdrake.pm_.c:466
-msgid "Description"
-msgstr "Keterangan"
-
-#: ../../printerdrake.pm_.c:467
-msgid "Location"
-msgstr "Lokasi"
-
-#: ../../printerdrake.pm_.c:482
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Tiap antrian cetak harus punya nama (biasanya lp) dan direktori spool\n"
-"yang dialokasikan untuknya. Sekarang saya mau tanya,\n"
-"nama antrian dan direktori yang digunakan apa yah ?\n"
-"Juga saya mau tanya bagaimana printernya disambungkan ke situ?"
-
-#: ../../printerdrake.pm_.c:489
-msgid "Name of queue"
-msgstr "Nama Antrian"
-
-#: ../../printerdrake.pm_.c:490
-msgid "Spool directory"
-msgstr "Direktori spool"
-
-#: ../../printerdrake.pm_.c:491
-msgid "Printer Connection"
-msgstr "Koneksi Printer"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Tidak dapat menambah partisi ke RAID md%d yang terformat"
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr "Tidak bisa menulis ke file $file"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr "mkraid gagal"
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid gagal (mungkin raidtoolsnya nggak ada?)"
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Partisi tidak cukup untuk level RAID %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr "Skeduler command periodik, Anacron"
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"apmd digunakan untuk monitoring status batere dan mencatatnya di syslog.\n"
-"apmd juga bisa untuk mematikan mesin waktu baterenya habis."
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-"Menjalankan perintah terjadwal dengan perintah at pada waktu tertentu\n"
-"saat at dijalankan, dan memulai perintah secara batch waktu rata-rata load\n"
-"sedang rendah."
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-"Cron adalah program UNIX standar yang menjalankan program user\n"
-"pada waktu yang terjadwal. vixie cron memiliki fitur yang lebih lengkap\n"
-"dari cron UNIX biasa, termasuk pembenahan sekuriti yang lebih baik dan\n"
-"lebih mantapnya option pada konfigurasinya."
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-"GPM memberikan akses ke mouse pada aplikasi Linux yang text based semacam\n"
-"Midnight Commander. Dia juga bisa bikin cut-and-paste dengan mouse pada "
-"konsol\n"
-"dan juga bikin menu pop-up di konsol."
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-"Apache adalah server World Wide Web. Dia dipakai untuk menyediakan file\n"
-"HTML dan CGI."
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-"daemon superserver internet (biasa dipanggil inetd) bertugas untuk\n"
-"menjalankan servis-servis internet yang dibutuhkan. Dia bertanggung jawab\n"
-"atas banyak server, misalnya telnet, ftp, rsh, dan rlogin. Menonaktifkan\n"
-"inetd berarti menonaktifkan semua servis-servis tadi."
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-"Paket ini akan meload map keyboard yang dipilih di file\n"
-"/etc/sysconfig/keyboard. Mapnya bisa dipilih dari utility kbdconfig.\n"
-"Mending Anda aktifkan aja deh ini."
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-"lpd adalah daemon printer yang jadi tulang punggung lpr. Dia\n"
-"bertugas sebagai server yang memberi perintah kepada printer untuk mencetak."
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-"named (BIND) adalah Domain Name Server (DNS) yang digunakan untuk\n"
-"menterjemahkan nama host ke IP address."
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Mount dan unmount semua Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), dan NCP (Netware)."
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"Aktif/nonaktifkan semua interface network yang terkonfigurasi nyala\n"
-"pada saat boot."
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-"NFS adalah protokol populer untuk file sharing lewat network TCP/IP.\n"
-"Servis ini dinyalakan untuk membuat NFS server bisa jalan dengan "
-"menggunakan\n"
-"konfigurasi pada file /etc/exports."
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-"NFS adalah protokol populer untuk file sharing di TCP/IP\n"
-"Servis ini memberikan fungsi file lock pada NFS."
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-"PCMCIA digunakan untuk menjalankan perangkat semacam ethernet atau modem "
-"pada laptop.\n"
-"Dia nggak bisa jalan kecuali dikonfigurasikan di sini, jadi nggak apa-apa\n"
-"kalau nggak diinstall di mesin yang nggak perlu PCMCIA."
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-"Portmapper mengelola koneksi RPC, yang digunakan oleh protokol seperti\n"
-"NFS dan NIS. Server portmap harus jalan di mesin yang bertindak sebagai\n"
-"server untuk protokol yang menggunakan mekanisme RPC."
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-"Postfix adalah Mail Transport Agent yang berupa program yang bertugas\n"
-"mengantarkan surat dari suatu mesin ke mesin yang lain."
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Menyimpan dan mengembalikan pool entropi sistem untuk membuat\n"
-"angka acak dengan kualitas sangat acak."
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-"Daemon routed digunakan untuk update tabel routing IP otomatis liwat\n"
-"protokol RIP. RIP dipakai di jaringan kecil, dan semakin besar jaringannya\n"
-"maka protokol routing yang canggih pun semakin dibutuhkan."
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"Protokol rstat digunakan pada jaringan untuk mengambil\n"
-"ukuran kinerja sistem di network."
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"Protokol ruser digunakan di jaringan untuk mengidentifikasi siapa\n"
-"yang lagi login di jaringan."
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-"Protokol rwho digunakan untuk melihat daftar user yang sedang login\n"
-"di suatu sistem yang juga menjalankan daemon rwho (mirip dengan finger)."
-
-#: ../../services.pm_.c:85
-#, fuzzy
-msgid "Launch the sound system on your machine"
-msgstr "Jalankan X-Window saat sistem dimulai"
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-"Syslog adalah fasilitas yang digunakan para daemon untuk mencatat\n"
-"pesan log sistem di file. Hidupkan aja deh syslognya."
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-#, fuzzy
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Menghidupkan dan mematikan Server Font X saat boot dan mati."
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Pilih service mana yang hendak dijalankan saat boot scr otomatis"
-
-#: ../../services.pm_.c:137
-msgid "running"
-msgstr "sedang jalan"
-
-#: ../../services.pm_.c:137
-msgid "stopped"
-msgstr "dihentikan"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr "Services dan daemon"
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-"Mohon maaf, informasi lengkap\n"
-"tentang layanan ini tidak tersedia."
-
-#: ../../services.pm_.c:163
-msgid "On boot"
-msgstr "Saat boot"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"Saya nggak bisa baca tabel partisi, udah hancur lebur nih :(\n"
-"Aku akan coba hapus partisi yg jeleknya"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-msgid "Internet Connection Sharing"
-msgstr "Internet Connection Sharing"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Internet Connection Sharing sudah aktif"
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Konfigurasi Internet Connection Sharing telah seleasi.\n"
-"Namun sekarang sudah aktif.\n"
-"\n"
-"Apa yang ingin Anda lakukan?"
-
-#: ../../standalone/drakgw_.c:123
-msgid "disable"
-msgstr "Matikan"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr "Selesai"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "reconfigure"
-msgstr "Konfigurasi ulang"
-
-#: ../../standalone/drakgw_.c:126
-msgid "Disabling servers..."
-msgstr "Server-server sedang dimatikan"
-
-#: ../../standalone/drakgw_.c:134
-msgid "Internet connection sharing is now disabled."
-msgstr "Internet Connection Sharing telah dimatikan"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Internet Connection Sharing masih dimatikan"
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-"Konfigurasi Internet Connection Sharing telah seleasi.\n"
-"Namun sekarang masih dimatikan.\n"
-"\n"
-"Apa yang ingin Anda lakukan?"
-
-#: ../../standalone/drakgw_.c:148
-msgid "enable"
-msgstr "Aktifkan"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr "Server-server akan dinyalakan"
-
-#: ../../standalone/drakgw_.c:160
-msgid "Internet connection sharing is now enabled."
-msgstr "Internet Connection Sharing sudah aktif"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr "Isi file konfigurasi tidak dapat dibaca"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr "Config file tidak dikenal"
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Komputer ini bisa dikonfigurasikan agar bisa membagi koneksi Internetnya.\n"
-"Dengan cara ini, komputer lain di jaringan lokal bisa menggunakn koneksi\n"
-"Internet milik komputer ini.\n"
-"\n"
-"Perhatikan: Anda mesti punya adapter jaringan untuk mensetup Local Area "
-"Network (LAN)."
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Interface %s (pakai module %s)"
-
-#: ../../standalone/drakgw_.c:208
-#, c-format
-msgid "Interface %s"
-msgstr "Interface %s"
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr "Tidak ada adapter jaringan di sistem ini!"
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-"Aduh, tiada adapter jaringan ethernet yang berhasil saya cari di sistem ini. "
-"Silakan jalankan tool konfigurasi hardware deh."
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-"Hanya ada satu adapter jaringan yang dikonfigurasikan di sistem ini:\n"
-"\n"
-"%s\n"
-"\n"
-"Apakah Anda mau melakukan setup Local Area Network untuk adapter itu?"
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-"Silahkan pilih adapter jaringan yang hendak disambung ke Local Area Network "
-"Anda."
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-"Awas, adapter jaringannya sudah dikonfigurasikan nih. Mau dikonfigurasikan "
-"ulang?"
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-"Ada konflik alamat yang potensial pada LAN yang ada pada konfigurasi "
-"sekarang di $_!\n"
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-msgid "Firewalling configuration detected!"
-msgstr "Saya mendeteksi adanya konfigurasi firewall"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-"Awas! Ada konfigurasi firewall yang sudah ada nih. Anda nanti perlu mengecek "
-"dan membetulkan dengan cara manual setelah instalasi."
-
-#: ../../standalone/drakgw_.c:276
-msgid "Configuring..."
-msgstr "Sedang membuat konfigurasi..."
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Mengkonfigurasikan skrip, menginstall software, menjalankan server..."
-
-#: ../../standalone/drakgw_.c:307
-msgid "Problems installing package $_"
-msgstr "Aduh, saya ada masalah saat menginstall paket $_"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Wah Selamat nih!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-"Semuanya sudah dikonfigurasikan.\n"
-"Anda sekarang bisa membagi koneksi Internet dengan komputer-komputer lain "
-"pada Local Area Network di tempat Anda, dengan menggunakan konfigurasi "
-"jaringan otomatis (DHCP)."
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr "Konfigurasi telah seleasi.Namun sekarang masih dimatikan."
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr "Konfigurasi telah selesai.Namun sekarang sudah aktif."
-
-#: ../../standalone/drakgw_.c:610
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Internet Connection Sharing belum pernah dikonfigurasikan"
-
-#: ../../standalone/drakgw_.c:615
-msgid "Internet connection sharing configuration"
-msgstr "Koneksi dan konfigurasi sharing Internet"
-
-#: ../../standalone/drakgw_.c:622
-#, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Selamat datang di utiliti Internet Connection Sharing!\n"
-"\n"
-"%s\n"
-"\n"
-"Silakan pencet Konfigurasikan untuk mulai."
-
-#: ../../standalone/draknet_.c:59
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Konfigurasi Jaringan (adapter %d)"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-msgid "Profile: "
-msgstr "Profil: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr "Hapus profil..."
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr "Profil yang hendak dihapus:"
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr "Buat profil baru..."
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr "Beri nama profil yang hendak dibuat:"
-
-#: ../../standalone/draknet_.c:140
-msgid "Hostname: "
-msgstr "Nama Host: "
-
-#: ../../standalone/draknet_.c:147
-msgid "Internet access"
-msgstr "Akses Internet"
-
-#: ../../standalone/draknet_.c:160
-msgid "Type:"
-msgstr "Tipe: "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Gateway:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Interface:"
-msgstr "Interface: "
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr "Status: "
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-msgid "Connected"
-msgstr "Tersambung"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-msgid "Not connected"
-msgstr "Belum tersambung"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr "Sambungkan..."
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr "Koneksi diputus"
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Testing koneksi ini..."
-
-#: ../../standalone/draknet_.c:199
-msgid "Closing your connection..."
-msgstr "Tutup koneksi ini..."
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-"Koneksi belum ditutup.\n"
-"Cobalah lakukan secara manual sebagai root lalu ketikkan\n"
-"/etc/sysconfig/network-scripts/net_cnx_down"
-
-#: ../../standalone/draknet_.c:207
-msgid "The system is now disconnected."
-msgstr "Sistem ini sekarang diputus koneksinya"
-
-#: ../../standalone/draknet_.c:219
-msgid "Configure Internet Access..."
-msgstr "Konfigurasi Akses Internet..."
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-msgid "LAN configuration"
-msgstr "konfigurasi LAN"
-
-#: ../../standalone/draknet_.c:231
-msgid "Adapter"
-msgstr "Adapter"
-
-#: ../../standalone/draknet_.c:231
-msgid "Driver"
-msgstr "Driver"
-
-#: ../../standalone/draknet_.c:231
-msgid "Interface"
-msgstr "Interface"
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr "Protokol"
-
-#: ../../standalone/draknet_.c:250
-msgid "Configure Local Area Network..."
-msgstr "Konfigurasi Local Area Network..."
-
-#: ../../standalone/draknet_.c:283
-msgid "Normal Mode"
-msgstr "Modus normal"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr "Pasang"
-
-#: ../../standalone/draknet_.c:307
-msgid "Please Wait... Applying the configuration"
-msgstr "Tunggu ya, sedang mengaktifkan konfigurasi"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-msgid "LAN Configuration"
-msgstr "konfigurasi LAN"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Adapeer %s: %s"
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr "Protokol Boot"
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr "Dijalankan saat boot"
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr "Klien DHCP"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Disable"
-msgstr "Matikan"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-msgid "Enable"
-msgstr "Aktifkan"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-msgid "Internet connection configuration"
-msgstr "konfigurasi koneksi Internet"
-
-#: ../../standalone/draknet_.c:532
-msgid "Internet Connection Configuration"
-msgstr "konfigurasi koneksi Internet"
-
-#: ../../standalone/draknet_.c:541
-msgid "Connection type: "
-msgstr "Tipe koneksi"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr "Parameter"
-
-#: ../../standalone/draknet_.c:560
-msgid "Provider dns 1 (optional)"
-msgstr "DNS Provider 1 (boleh diisi boleh tidak)"
-
-#: ../../standalone/draknet_.c:561
-msgid "Provider dns 2 (optional)"
-msgstr "DNS Provider 2 (boleh diisi boleh tidak)"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr "Card Ethernet"
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr "Klien DHCP"
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Selamat Datang di Crackers"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Lemah Buanget"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Wah Sinting nih"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-"Level ini harus hati-hati. Level ini akan membuat sistem Anda akan mudah\n"
-"digunakan, tapi sangat sensitif: mesin ini tidak boleh digunakan untuk\n"
-"mesin yang terhubung ke mesin lain atau ke ke Internet. Tidak akan ada\n"
-"akses password."
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr "Password akan diaktifkan, tapi mohon jangan disambungkan ke jaringan."
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Ada beberapa peningkatan level security, yang utama adalah ada lebih banyak\n"
-"peringatan dan cek sekuriti yang lebih ketat."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"Ini adalah standard sekuriti yang dianjurkan untuk komputer yang akan\n"
-"digunakan untuk terkoneksi ke Internet sebagai klien. Akan ada cek sekuriti\n"
-"dulu nih."
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-"Dengan level sekuriti ini, sistem akan dapat digunakan sebagai server.\n"
-"Sekuritinya akan lebih tinggi lagi untuk dapat melayani koneksi klien\n"
-"dengan lebih aman."
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Kita akan pakai fitur 4 level, tapi sekarang sistem akan sepenuhnya "
-"ditutup.\n"
-"Fitur sekuriti sekarang sudah maksimum."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Pilih Tingkat Security"
-
-#: ../../standalone/drakxconf_.c:44
-msgid "Control Center"
-msgstr "Pusat Kontrol"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Pilih tool yang hendak digunakan"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr "cara pakai: keyboarddrake [--expert] [keyboard]\n"
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-"Apakah Anda ingin membuat tombol BackSpace menjadi Delete di dalam konsol?"
-
-#: ../../standalone/livedrake_.c:23
-msgid "Change Cd-Rom"
-msgstr "Ganti CDROMnya"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-"Ganti CDROMnya!\n"
-"\n"
-"Silahkan masukkan CDROM Instalasi di drive Anda dan tekan OK\n"
-"Kalau Anda nggak punya CDROM ini, teken Batal aja untuk membatalkan "
-"instalasidari CD ini."
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Aduh, saya tidak bisa menjalankan upgrade live nih !!!\n"
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "tidak ada serial_usb\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Emulasikan tombol ketiga?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Silakan di test mousenya"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-msgid "Network Monitoring"
-msgstr "Monitoring Jaringan"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr "Statistik"
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr "Kecepatan Kirim"
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr "Kecepatan Terima: "
-
-#: ../../standalone/net_monitor_.c:66
-msgid "Close"
-msgstr "Tutup"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Connecting to Internet "
-msgstr "Sambung koneksi Internet"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-msgid "Disconnecting from Internet "
-msgstr "Putuskan koneksi Internet"
-
-#: ../../standalone/net_monitor_.c:114
-msgid "Disconnection from Internet failed."
-msgstr "koneksi Internet gagal diputus"
-
-#: ../../standalone/net_monitor_.c:115
-msgid "Disconnection from Internet complete."
-msgstr "koneksi Internet selesai diputus"
-
-#: ../../standalone/net_monitor_.c:117
-msgid "Connection complete."
-msgstr "Koneksi selesai"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"Koneksi gagal\n"
-"Silakan periksa konfigurasinya di Mandrake Control Center"
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr "terkirim: "
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr "diterima: "
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Connect"
-msgstr "Tersambung"
-
-#: ../../standalone/net_monitor_.c:222
-msgid "Disconnect"
-msgstr "Putus"
-
-#: ../../standalone/tinyfirewall_.c:29
-msgid "Firewalling Configuration"
-msgstr "konfigurasi firewall"
-
-#: ../../standalone/tinyfirewall_.c:42
-msgid "Firewalling configuration"
-msgstr "konfigurasi firewall"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-"Firewall\n"
-"\n"
-"Anda sudah ada firewall.\n"
-"Silakan tekan Konfigurasikan untuk mengganti atau menghapus firewall"
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-"Firewall\n"
-"\n"
-"Silakan tekan Konfigurasikan untuk mensetup firewall standar"
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"konfigurator tinyfirewall\n"
-"\n"
-"Program ini mengkonfigurasikan firewall pribadi untuk sistem Linux Mandrake "
-"ini.\n"
-"Untuk membuat solusi firewall yang lebih bagus lagi, silakan coba\n"
-"distribusi Mandrake Security Firewall"
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-"Sekarang saya akan tanyakan layanan mana saja yang hendak Anda bolehkan\n"
-"untuk dapat diakses dari Internet. Silakan fikirkan dulu masak-masak akan\n"
-"hal ini, karena keamanan komputer Anda sangat penting kan.\n"
-"\n"
-"Ayo, bila Anda tidak pakai layanan-layanan ini, matikan saja lewat "
-"firewall.\n"
-"Anda bisa ubah konfigurasikan lagi kapan-kapan dengan menjalankan\n"
-"aplikasi ini lagi nantinya."
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-"Apakah Anda ingin webserver Anda juga dapat diakses dari Internet ??\n"
-"Bila Anda ingin webserver Anda HANYA ingin diakses dari KOMPUTER INI SAJA\n"
-"maka jawab saja TIDAK di sini\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-"Apakah Anda menjalankan Name server di komputer ini? Bila Anda\n"
-"tidak menjalankan nameserver untuk menjawab informasi IP dan zone untuk "
-"Internet\n"
-"silakan jawab TIDAK.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-"Apakah Anda ingin membuka koneksi Secure Shell (ssh) ?\n"
-"SSH adalah pengganti telnet yang mungkin hendak Anda gunakan.\n"
-"Bila Anda hanya menggunakan telnet sekarang, silakan ganti ke ssh.\n"
-"telnet tidak dienkripsi loh -- jadi orang lain bisa mencuri password Anda\n"
-"saat telnet. SSH dienkripsi dan tidak bisa disadap."
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-"Apakah Anda ingin membuka koneksi telnet?\n"
-"Tapi ini sangatlah tidak aman sebagaimana dijelaskan pada layar sebelumnya.\n"
-"Ayo deh jawab TIDAK dan gunakan SSH saja.\n"
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-"Apakah Anda hendak membuka koneksi FTP yang ingin diakses dari Internet?\n"
-"Bila ya, silakan gunakan saja untuk transfer anonimous. Password yang "
-"dikirimkan\n"
-"oleh FTP bisa dicuri oleh cracker, karena FTP tidak diacak saat pertukaran "
-"password terjadi.\n"
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-"Apakah Anda menjalankan server mail ? Bila Anda mengirimkan email\n"
-"dengan menggunakan pine, mutt, atau klien mail teks, maka sebaiknya iya.\n"
-"Selainnya, matikan saja deh.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-"Apakah Anda menjalankan server POP atau IMAP ?\n"
-"Fasilitas ini bisa digunakan untuk menampung account email non web untuk\n"
-"umum.\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-"Wah, Anda pakai kernel 2.2 yah... Bila IP jaringan Anda diset sendiri\n"
-"oleh komputer di kantor atau rumah (secara dinamis)\n"
-"maka kita harus jawab YA di sini. Benar nggak demikian?\n"
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-"Apakah komputer Anda mendapatkan informasi jam dari komputer lain?\n"
-"Biasanya, fasilitas ini digunakan oleh organisasi sedang/besar Unix/Linux\n"
-"untuk sinkronisasi waktu untuk logging dan sebagainya. Bila Anda\n"
-"tidak tergabung dari kantor yang besar atau belum pernah dengar ini "
-"sebelumnya.\n"
-"jawab TIDAK deh"
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-"Konfigurasi selesai. Kita simpan ya?\n"
-"\n"
-"\n"
-"\n"
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr "Tidak bisa buka %s: %s\n"
-
-#: ../../tinyfirewall.pm_.c:85
-#, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "error membuka file %s untuk ditulisi: %s\n"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Klien untuk berbagai protokol, termasuk ssh"
-
-#: ../../share/compssUsers:999
-msgid "Development"
-msgstr "Development"
-
-#: ../../share/compssUsers:999
-msgid "Workstation"
-msgstr "Workstation"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Server, Firewall/Router"
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr "Pengelolaan Informasi Pribadi"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Graphics"
-msgstr "Multimedia - Grafik"
-
-#: ../../share/compssUsers:999
-msgid "Internet"
-msgstr "Internet"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Komputer Jaringan (klien)"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr "Tool untuk audio: player mp3 atau midi, mixer, dsb"
-
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Komputer Internet"
-
-#: ../../share/compssUsers:999
-msgid "Office"
-msgstr "Aplikasi Perkantoran"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Komputer Multimedia"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-"Kumpulan tool untuk membaca dan mengirimkan email dan news (pine, mutt, "
-"tin..) dan untuk membrowse Web"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "Librari, program, dan file include untuk pemrograman C dan C++"
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr "Program untuk mengelola keuangan, misalnya gnucash"
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS server, SMB server, Proxy server, SSH server"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentasi"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, dsb"
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr "Utiliti"
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr "Mode Grafis"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Sound"
-msgstr "Multimedia - Sound"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Program permainan: arcade, board, strategi, dsb"
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr "Editor dan Player Video"
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Tool untuk konsol"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Program untuk memainkan/mengedit suara dan video"
-
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Aplikasi untuk Ilmu pengetahuan"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editor, shell, tool untuk file, terminal"
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Buku dan Howto untuk Linux dan Free Software"
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"Environment grafis dengan kumpulan aplikasi dan tool desktop yang mudah "
-"digunakan"
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr "Game"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - Video"
-msgstr "Multimedia - Video"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Komputer Server Jaringan"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr "Program Grafis, misalnya The Gimp"
-
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Komputer kantoran"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"The K Desktop Environment, environment grafis dasar dengan kumpulan tool-"
-"tool yang menyertainya"
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr "Desktop Grafis tambahan (Gnome, IceWM)"
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr "Tool untuk membuat dan memburn CD"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia - CD Burning"
-msgstr "Multimedia - CD Burning"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr "Archive, emulator, monitoring"
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Server, Database"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-"Program office: pengolah kata (kword, abiword), spreadsheet (kspread, "
-"gnumeric), viewer pdf,dsb"
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Server, Web/FTP"
-
-#: ../../share/compssUsers:999
-msgid "Server"
-msgstr "Server"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr "Keuangan Pribadi"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "konfigurasi"
-
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "Workstation KDE"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Desktop Grafis lainnya"
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache dan Pro-ftpd"
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr "Server, Mail/Groupware/News"
-
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Workstation Gnome"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Akses Internet"
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr "Tool untuk Palm Pilot ataupun Visor"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Game"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, dsb"
-
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "Tools untuk memudahkan konfigurasi komputer."
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr "Kumpulan tool untuk mail, news, web, transfer file, dan chat"
-
-#~ msgid "GB"
-#~ msgstr "GB"
-
-#~ msgid "KB"
-#~ msgstr "KB"
-
-#~ msgid "TB"
-#~ msgstr "TB"
-
-#~ msgid "%d minutes"
-#~ msgstr "%d menit"
-
-#~ msgid "1 minute"
-#~ msgstr "1 menit"
-
-#~ msgid "%d seconds"
-#~ msgstr "%d detik"
-
-#~ msgid "cannot fork: "
-#~ msgstr "tidak bisa fork: "
-
-#~ msgid "Configure..."
-#~ msgstr "Konfigurasikan ..."
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "konfigurasi LAN"
-
-#~ msgid "Selected size %d%s"
-#~ msgstr "Ukuran yang dipilih %d%s"
-
-#~ msgid "Opening your connection..."
-#~ msgstr "Buka koneksi ini..."
-
-#~ msgid "Standard tools"
-#~ msgstr "Tool Standard"
-
-#~ msgid "This startup script try to load your modules for your usb mouse."
-#~ msgstr "Skrip ini akan meload modul untuk mouse usb"
-
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "konfigurasi Lilo/Grub"
diff --git a/perl-install/share/po/is.po b/perl-install/share/po/is.po
deleted file mode 100644
index 596de7017..000000000
--- a/perl-install/share/po/is.po
+++ /dev/null
@@ -1,8476 +0,0 @@
-# Translation file for Mandrake graphic install, DrakX
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Copyright (C) 1999 Mandrakesoft
-# Jhann orvararson <johann.torvardarson@lais.is>, 1999-2000
-# rarinn (Tony) R. Einarsson <thori@mindspring.com>, 1999-2000
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 2000-01-05 18:53-0500\n"
-"Last-Translator: Thorarinn Einarsson <thori@mindspring.com>\n"
-"Language-Team: Icelandic\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:239
-#, fuzzy
-msgid "Multi-head configuration"
-msgstr "Les uppsetningarskr"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Skjkort"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Veldu skjkort"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Veldu X jn"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "X jnn"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-#, fuzzy
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Hverju viltu bta vi?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-
-#: ../../Xconfigurator.pm_.c:371
-#, fuzzy
-msgid "XFree configuration"
-msgstr "Lokauppsetning"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Veldu minnisstr skjkortsins"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Veldu valmguleika fyrir jn"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Veldu skj"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Skjr"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"Hr arf a gefa upp 'horizontal sync' tni skjsins ns. getur\n"
-"vali tnisvi a nean sem passar vi stalaa skji ea gefi upp\n"
-"eitthva anna.\n"
-"\n"
-"a er MJG MIKILVGT a velja ekki of htt tnisvi fyrir skjinn. Hafir\n"
-" einhverjar efasemdir, veldu lgri stillingar."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Lrtt tni"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Lrtt tni"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Skjr ekki skilgreindur"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Skjkort ekki skilgreint enn"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Upplausn ekki valin enn"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Viltu prfa skilgreininguna"
-
-#: ../../Xconfigurator.pm_.c:555
-#, fuzzy
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Avrun: Prfanir eru varasamar me etta skjkort"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Prfunar skilgreining"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"prfau a breyta stillingum"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Villa tti sr sta"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Htti eftir %d sekndur"
-
-#: ../../Xconfigurator.pm_.c:630
-#, fuzzy
-msgid "Is this the correct setting?"
-msgstr "Er etta rtt?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Villa kom upp, reyndu a breyta fribreytum"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Upplausn"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Veldu upplausn og fjlda lita"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Skjkort: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "XFree86 jnn: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Expert Mode"
-msgstr "F. snillinga"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Sna alla"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Upplausnir"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Tegund lyklabors: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Tegund msar: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Ms: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Skjr: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Lrtt tni skjs: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Lrtt tni skjs: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Skjkort: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Skjkortsminni: %s kB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, fuzzy, c-format
-msgid "Color depth: %s\n"
-msgstr "Stillingar litadpt"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, fuzzy, c-format
-msgid "Resolution: %s\n"
-msgstr "Upplausnir"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 jnn: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, fuzzy, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 jnn: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Undirb X-Window skilgreiningu"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Hva viltu gera?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Skipta um skj"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Skipta um skjkort"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Breyta jns mguleikum"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Breyta upplausn"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Sna upplsingar"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Prfa aftur"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Htta"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, fuzzy, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr "Halda nverandi IP stillingum"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Stimplau ig aftur inn %s til a virkja breytingarnar"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Stimplau ig t og slu Ctrl-Alt-Backspace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X rsingu"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"g get stillt tlvuna na til a kveikja sjlfvirkt X vi rsingu\n"
-"Vilt kveikja X vi endurrsingu?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 litir (8 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 sund litir (15 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 sund litir (16 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 miljn litir (24 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 miljarar lita (32 bits)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 kB"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 MB"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 MB ea meira"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "Stala VGA, 640x480 @ 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 @ 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "8514 Samhft, 1024x768 @ 87 Hz samtvinna (ekkert 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 @ 87 Hz samtvinna, 800x600 @ 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "samtvinna SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "Htni SVGA, 1024x768 @ 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Skjr sem rur vi 1280x1024 @ 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Skjr sem rur vi 1280x1024 @ 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Skjr sem rur vi 1280x1024 @ 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Skjr sem rur vi 1600x1200 @ 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Skjr sem rur vi 1600x1200 @ 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr " fyrsta geira rsidisksneiar"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr " rsifrsluna (MBR)"
-
-#: ../../any.pm_.c:103
-#, fuzzy
-msgid "SILO Installation"
-msgstr "Uppsetning LILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Hvert viltu setja rsistjrann?"
-
-#: ../../any.pm_.c:116
-#, fuzzy
-msgid "LILO/grub Installation"
-msgstr "Uppsetning LILO"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr ""
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr ""
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr ""
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr ""
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr ""
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-#, fuzzy
-msgid "Yaboot"
-msgstr "Rt"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-#, fuzzy
-msgid "Bootloader main options"
-msgstr "Stillingar LILO"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-#, fuzzy
-msgid "Bootloader to use"
-msgstr "Stillingar LILO"
-
-#: ../../any.pm_.c:151
-#, fuzzy
-msgid "Bootloader installation"
-msgstr "Stillingar LILO"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Rsitki"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr ""
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Samjappa"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "samjappa"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Skjhamur"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Tf ur en sjlfgefin rsing byrjar"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Lykilor"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Lykilor (aftur)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Takmarka alla rofa skipanlnu"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "takmarka"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr ""
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Nkvm str vinnsluminnis (fann %d MB)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr ""
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Slu inn vinnsluminni MB"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"Valkosturinn ``Takmarka alla rofa skipanalnu'' gerir ekkert n lykilors"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Reyndu aftur"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Mismunandi lykilor"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr ""
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr ""
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr ""
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr ""
-
-#: ../../any.pm_.c:188
-#, fuzzy
-msgid "Default OS?"
-msgstr "Sjlfgefi"
-
-#: ../../any.pm_.c:210
-#, fuzzy
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Hrna eru nverandi stillingar LILO .\n"
-" getur btt vi fleirum ea breytt essum."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Bta vi"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Bi"
-
-#: ../../any.pm_.c:220
-#, fuzzy
-msgid "Modify"
-msgstr "Breyta RAID"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Hverju viltu bta vi?"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "ru strikerfi (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "ru strikerfi (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "ru strikerfi (Windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Rsikjarna"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Rt"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Bta aftan vi"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Les-skrif"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tafla"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "ruggt"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Nafn"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Sjlfgefi"
-
-#: ../../any.pm_.c:284
-#, fuzzy
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr ""
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Fjarlgja"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Autt er ekki leyft"
-
-#: ../../any.pm_.c:298
-#, fuzzy
-msgid "This label is already used"
-msgstr "etta nafn er n egar notkun."
-
-#: ../../any.pm_.c:317
-#, fuzzy
-msgid "What type of partitioning?"
-msgstr "Hvernig prentara ertu me?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Fann %s %s tengi"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Er kannski eitt enn vlinni?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Eru einhver %s tengi tlvunni?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "Nei"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "J"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Skoau vlbnaarupplsingar"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Set inn rekil fyrir %s korti %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(eining %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Hvaa %s rekil viltu prfa?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-" sumum tilfellum arf rekillinn %s auka vifng svo hann virki rtt,\n"
-" hann virki vel flestum tilfellum n eirra. Viltu setja inn auka\n"
-" vifng ea leyfa reklinum sjlfum a leita a eim upplsingum sem\n"
-" hann arf? Stundum frystir sjlfvirk stilling vlina en a tti ekki\n"
-"a skemma neitt."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Stilla sjlfvirkt"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Stilla handvirkt"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr " getur nna gefi upp vifng fyrir %s eininguna."
-
-# ## skrytid
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-" getur nna gefi upp vifng fyrir eininguna %s.\n"
-"Vifng eru gefin upp sem ``vifang=gildi vifang2=gildi2 ...''.\n"
-"Til dmis: ``io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Stillingar kjarnaeininga:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Innsetning einingu %s mistkst.\n"
-"Viltu prfa aftur me lk vifng?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s er n egar til)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "etta lykilor er of einfalt"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Vinsamlega slu inn notandanafn"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "Notandanafni m bara innihalda litla stafi, tlustafi, `-' og `_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "etta notandanafn er n egar til"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Bta vi notanda"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Slu inn notanda\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Samykkja notanda"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Nafn notanda"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Notandanafn:"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Skel"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr ""
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr ""
-
-#: ../../any.pm_.c:767
-#, fuzzy
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"g get stillt tlvuna na til a kveikja sjlfvirkt X vi rsingu\n"
-"Vilt kveikja X vi endurrsingu?"
-
-#: ../../any.pm_.c:769
-#, fuzzy
-msgid "Choose the default user:"
-msgstr "Veldu nja str"
-
-#: ../../any.pm_.c:770
-#, fuzzy
-msgid "Choose the window manager to run:"
-msgstr "Veldu forriti sem vilt nota"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, fuzzy, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Velkomin(n) i %s styrikerfisraesistjorann!\n"
-"\n"
-"Sladu a <TAB> til ad fa lista yfir moegulega valkosti.\n"
-"\n"
-"Til raesa einn af theim, sldu inn nafnid og sidan a <ENTER>\n"
-"eda biddu i %d sekundur thar til sjalfgefin raesing hefst.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr ""
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr ""
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr ""
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr ""
-
-#: ../../bootlook.pm_.c:62
-#, fuzzy
-msgid "Boot Style Configuration"
-msgstr "Lokauppsetning"
-
-#: ../../bootlook.pm_.c:79
-#, fuzzy
-msgid "/_File"
-msgstr "Skrr:\n"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr ""
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr ""
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr ""
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr ""
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr ""
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr ""
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr ""
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr ""
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr ""
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../bootlook.pm_.c:99
-#, fuzzy
-msgid "/_Help"
-msgstr "Hjlp"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr ""
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-#, fuzzy
-msgid "Configure"
-msgstr "Stilla X"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Veldu prenttengingu"
-
-#: ../../bootlook.pm_.c:121
-#, fuzzy
-msgid "Lilo/grub mode"
-msgstr "Hringja inn me mtaldi"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-#, fuzzy
-msgid "NewStyle Monitor"
-msgstr "Skjr"
-
-#: ../../bootlook.pm_.c:137
-#, fuzzy
-msgid "Traditional Monitor"
-msgstr "Skipta um skj"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr ""
-
-#: ../../bootlook.pm_.c:169
-#, fuzzy
-msgid "Boot mode"
-msgstr "Rsitki"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr ""
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ""
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr ""
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Sjlfgefi"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr ""
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Htta vi"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr ""
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Innsetning LILO brst skum eftirfarandi villu:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Ba til"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Aftengja"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Eya"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Forsna"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Endurstkka"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tegund"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Tengipunktur"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Skrifa /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Fra snillingsham"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Fara venjulegan ham"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Endurheimta fr skr"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Vista skr"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Endurheimta fr diskling"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Vista diskling"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Hreinsa allt"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Forsn"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Rstafa skjlfkrafa"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "ll aal skrarsni eru notkun"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Get ekki btt vi disksneium"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Til a f fleiri disksneiar, vinsamlega eyddu einni til a ba til "
-"vibtarsnei"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Endurheimta"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Skrifa sneiatflu"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-#, fuzzy
-msgid "More"
-msgstr "Fra"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Diskminni"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Tm"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Anna"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Tegundir skrakerfa:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "tarleg atrii"
-
-#: ../../diskdrake.pm_.c:147
-#, fuzzy
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-" hefur eina stra FAT disksnei.\n"
-"(venjulega notu af Microsoft DOS/Windows).\n"
-"g legg til a endursnir hana\n"
-"(smelltu hana, san \"Endursna\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Vinsamlega taktu fyrst afrit af llum ggnum"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Lestu vandlega!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr ""
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Villa"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Tengipunktur: "
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Tki: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS drifstafur: %s (bara giskun)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tegund: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Byrja: geiri %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Str: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s geirar"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Svalningur %d til %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Forsniinn\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Ekki forsniinn\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "Tengdur\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Sjlfgefin disksnei rst\n"
-" (fyrir MS-DOS rsingu, ekki fyrir LILO)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Stig %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Hlunkastr %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-diskar %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Smelltu disksnei"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Str: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Skilgreining: %s svalningar, %s hausar, %s geirar\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-diskar %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, fuzzy, c-format
-msgid "Partition table type: %s\n"
-msgstr "Rtardisksnei"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr " gagnabraut %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Tengipunktur"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Virk"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Bta vi RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Taka r RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Breyta RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Bta vi LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Taka r LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Veldu ager"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"v miur get g ekki sett /boot svona innarlega drifi ( svalning > "
-"1024).\n"
-"Annahvort notar LILO og a mun ekki virka, ea notar ekki LILO og "
-"sleppir v a hafa /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"Disksneiin sem hefur vali til a nota sem rt (/) er utan\n"
-"1024. svalnings hara disknum og hefur enga /boot snei.\n"
-"Ef tlar a nota LILO rsistjrann skaltu muna a bta vi /boot snei"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Nota ``%s'' stainn"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Nota ``Aftengja'' fyrst"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, fuzzy, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr "ll ggn essari disksnei tapast"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Halda samt fram?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Htta n ess a vista"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Htta n ess a skrifa sneiatfluna?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Breyta tegund sneiar"
-
-#: ../../diskdrake.pm_.c:517
-#, fuzzy
-msgid "Which filesystem do you want?"
-msgstr "Hvaa sneitegund viltu?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:537
-#, fuzzy, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Hvar viltu tengja tki %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Hvar viltu tengja tki %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:561
-#, fuzzy, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "ll ggn essari disksnei tapast"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Forsning"
-
-#: ../../diskdrake.pm_.c:564
-#, fuzzy, c-format
-msgid "Formatting loopback file %s"
-msgstr "Forsn disksnei %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Forsn disksnei %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Eftir forsningu allra sneia"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "munu ll ggn essum disksneium tapast"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Fra"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Hvaa disk viltu fra til?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Geiri"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Hvaa geira viltu fra ggn til?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Fri"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Fri disksnei..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Disksneiatafla drifs %s mun vera skrifu disk!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr " arft a endurrsa ur en breytingar taka gildi"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Reikna takmarkanir FAT skrarkerfis..."
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Endursn"
-
-#: ../../diskdrake.pm_.c:643
-#, fuzzy
-msgid "This partition is not resizeable"
-msgstr "Hvaa sneitegund viltu?"
-
-#: ../../diskdrake.pm_.c:648
-#, fuzzy
-msgid "All data on this partition should be backed-up"
-msgstr "ll ggn essari disksnei tapast"
-
-#: ../../diskdrake.pm_.c:650
-#, fuzzy, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "ll ggn essari disksnei tapast"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Veldu nja str"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "MB"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Ba til nja disksnei"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Byrjunar geiri"
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Str MB: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Tegund skrakerfis:"
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Valkostur:"
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr ""
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr ""
-
-#: ../../diskdrake.pm_.c:845
-#, fuzzy
-msgid "File already exists. Use it?"
-msgstr "Nafni %s er egar notkun"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Velji skr"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Disksneiin sem var tekin sem afrit er ekki af smu str\n"
-"Halda fram?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Avrun"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Settu diskling drifi\n"
-"ll ggn essum diskling tapast"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Reyni a endurheimta disksneiatfluna"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "tki"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "stig"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "str hlutar"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Veldu RAID sem til er fyrir til a bta vi"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "n"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Veldu LVM sem til er fyrir til a bta vi"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr ""
-
-# ## skrytid
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Sjlfvirk tenging aukatkja"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Bjarga sneiatflunni"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Endurhlaa"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, fuzzy, c-format
-msgid "%s formatting of %s failed"
-msgstr "gat ekki forsnii %s"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "kann ekki a forsna %s af tegundinni %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "tkst ekki a tengja: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "villa vi a aftengja %s: %s"
-
-#: ../../fsedit.pm_.c:21
-#, fuzzy
-msgid "simple"
-msgstr "Skr"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "netjnn"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "Heiti tengipunkta vera a byrja /."
-
-#: ../../fsedit.pm_.c:265
-#, fuzzy, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "a er egar disksnei me tengipunktinn %s"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr ""
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr ""
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr ""
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Villa vi a opna %s til skriftar: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"a kom upp villa. Engin tki fundust sem unnt er a ba til n skrakerfi "
-". Vinsamlegast athugau vlbnainn leit a orsk vandamlsins."
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr " hefur ekki neinar disksneiar"
-
-#: ../../help.pm_.c:9
-#, fuzzy
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr "Veldu tunguml til a nota vi innsetningu og kerfisnotkun."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Veldu sni sem passar vi lyklabori itt fr listanum a ofan"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:56
-#, fuzzy
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Select:\n"
-"\n"
-" - Eftir skum: Ef hefur nokkra reynslu meiar with Linux, you will "
-"be able to \n"
-"select the usage for the installed system between normal, development or\n"
-"server. Choose \"Normal\" for a general purpose installation of your\n"
-"computer. You may choose \"Development\" if you will be using the computer\n"
-"primarily for software development, or choose \"Server\" if you wish to\n"
-"install a general purpose server (for mail, printing...).\n"
-"\n"
-"\n"
-" - Expert: If you are fluent with GNU/Linux and want to perform\n"
-"a highly customized installation, this Install Class is for you. You will\n"
-"be able to select the usage of your installed system as for \"Customized\".\n"
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc..."
-msgstr ""
-
-#: ../../help.pm_.c:258
-msgid ""
-"Choose the hard drive you want to erase to install your\n"
-"new Linux-Mandrake partition. Be careful, all data present on it will be "
-"lost\n"
-"and will not be recoverable."
-msgstr ""
-
-#: ../../help.pm_.c:263
-msgid ""
-"Click on \"OK\" if you want to delete all data and\n"
-"partitions present on this hard drive. Be careful, after clicking on \"OK\", "
-"you\n"
-"will not be able to recover any data and partitions present on this hard "
-"drive,\n"
-"including any Windows data.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" to cancel this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../help.pm_.c:273
-msgid ""
-"More than one Microsoft Windows partition have been\n"
-"detected on your hard drive. Please choose the one you want resize to "
-"install\n"
-"your new Linux-Mandrake operating system.\n"
-"\n"
-"\n"
-"For information, each partition is listed as follow; \"Linux name\", "
-"\"Windows\n"
-"name\" \"Capacity\".\n"
-"\n"
-"\"Linux name\" is coded as follow: \"hard drive type\", \"hard drive number"
-"\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and \"sd"
-"\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter putted after \"hd\" or \"sd\". With "
-"IDE hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\",\n"
-"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\",\n"
-"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
-"\n"
-"With SCSI hard drives, a \"a\" means \"primary hard drive\", a \"b\" means "
-"\"secondary hard drive\", etc.\n"
-"\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first "
-"disk\n"
-"or partition is called \"C:\")."
-msgstr ""
-
-#: ../../help.pm_.c:306
-msgid "Please be patient. This operation can take several minutes."
-msgstr ""
-
-#: ../../help.pm_.c:309
-msgid ""
-"Any partitions that have been newly defined must be\n"
-"formatted for use (formatting meaning creating a filesystem).\n"
-"\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to "
-"erase\n"
-"the data they contain. If you wish do that, please also select the "
-"partitions\n"
-"you want to format.\n"
-"\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing "
-"partitions.\n"
-"You must reformat the partitions containing the operating system (such as \"/"
-"\",\n"
-"\"/usr\" or \"/var\") but do you no have to reformat partitions containing "
-"data\n"
-"that you wish to keep (typically /home).\n"
-"\n"
-"\n"
-"Please be careful selecting partitions, after formatting, all data will be\n"
-"deleted and you will not be able to recover any of them.\n"
-"\n"
-"\n"
-"Click on \"OK\" when you are ready to format partitions.\n"
-"\n"
-"\n"
-"Click on \"Cancel\" if you want to choose other partitions to install your "
-"new\n"
-"Linux-Mandrake operating system."
-msgstr ""
-
-#: ../../help.pm_.c:335
-msgid ""
-"You may now select the group of packages you wish to\n"
-"install or upgrade.\n"
-"\n"
-"\n"
-"DrakX will then check whether you have enough room to install them all. If "
-"not,\n"
-"it will warn you about it. If you want to go on anyway, it will proceed onto "
-"the\n"
-"installation of all selected groups but will drop some packages of lesser\n"
-"interest. At the bottom of the list you can select the option \n"
-"\"Individual package selection\"; in this case you will have to browse "
-"through\n"
-"more than 1000 packages..."
-msgstr ""
-
-#: ../../help.pm_.c:347
-msgid ""
-"You can now choose individually all the packages you\n"
-"wish to install.\n"
-"\n"
-"\n"
-"You can expand or collapse the tree by clicking on options in the left "
-"corner of\n"
-"the packages window.\n"
-"\n"
-"\n"
-"If you prefer to see packages sorted in alphabetic order, click on the icon\n"
-"\"Toggle flat and group sorted\".\n"
-"\n"
-"\n"
-"If you want not to be warned on dependencies, click on \"Automatic\n"
-"dependencies\". If you do this, note that unselecting one package may "
-"silently\n"
-"unselect several other packages which depend on it."
-msgstr ""
-
-#: ../../help.pm_.c:364
-msgid ""
-"If you have all the CDs in the list above, click Ok. If you have\n"
-"none of those CDs, click Cancel. If only some CDs are missing, unselect "
-"them,\n"
-"then click Ok."
-msgstr ""
-
-#: ../../help.pm_.c:369
-msgid ""
-"Your new Linux-Mandrake operating system is currently being\n"
-"installed. This operation should take a few minutes (it depends on size you\n"
-"choose to install and the speed of your computer).\n"
-"\n"
-"\n"
-"Please be patient."
-msgstr ""
-
-#: ../../help.pm_.c:377
-msgid ""
-"You can now test your mouse. Use buttons and wheel to verify\n"
-"if settings are good. If not, you can click on \"Cancel\" to choose another\n"
-"driver."
-msgstr ""
-
-#: ../../help.pm_.c:382
-#, fuzzy
-msgid ""
-"Please select the correct port. For example, the COM1\n"
-"port under MS Windows is named ttyS0 under GNU/Linux."
-msgstr ""
-"Veldu tengi sem vilt nota. Tengi COM1 MS Windows er kalla\n"
-"ttyS0 Linux, COM2 er ttyS1, o.s.frv."
-
-#: ../../help.pm_.c:386
-msgid ""
-"If you wish to connect your computer to the Internet or\n"
-"to a local network please choose the correct option. Please turn on your "
-"device\n"
-"before choosing the correct option to let DrakX detect it automatically.\n"
-"\n"
-"\n"
-"If you do not have any connection to the Internet or a local network, "
-"choose\n"
-"\"Disable networking\".\n"
-"\n"
-"\n"
-"If you wish to configure the network later after installation or if you "
-"have\n"
-"finished to configure your network connection, choose \"Done\"."
-msgstr ""
-
-#: ../../help.pm_.c:399
-msgid ""
-"No modem has been detected. Please select the serial port on which it is "
-"plugged.\n"
-"\n"
-"\n"
-"For information, the first serial port (called \"COM1\" under Microsoft\n"
-"Windows) is called \"ttyS0\" under Linux."
-msgstr ""
-
-#: ../../help.pm_.c:406
-msgid ""
-"You may now enter dialup options. If you don't know\n"
-"or are not sure what to enter, the correct informations can be obtained "
-"from\n"
-"your Internet Service Provider. If you do not enter the DNS (name server)\n"
-"information here, this information will be obtained from your Internet "
-"Service\n"
-"Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:413
-msgid ""
-"If your modem is an external modem, please turn on it now to let DrakX "
-"detect it automatically."
-msgstr ""
-
-#: ../../help.pm_.c:416
-msgid "Please turn on your modem and choose the correct one."
-msgstr ""
-
-#: ../../help.pm_.c:419
-msgid ""
-"If you are not sure if informations above are\n"
-"correct or if you don't know or are not sure what to enter, the correct\n"
-"informations can be obtained from your Internet Service Provider. If you do "
-"not\n"
-"enter the DNS (name server) information here, this information will be "
-"obtained\n"
-"from your Internet Service Provider at connection time."
-msgstr ""
-
-#: ../../help.pm_.c:426
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, the correct informations can be\n"
-"obtained from your Internet Service Provider."
-msgstr ""
-"Hrna geturu stillt innhringitengingu. Ef ert ekki viss um hva "
-"arft,\n"
-"hafu samband vi jnustuveituna til a f r upplsingar."
-
-#: ../../help.pm_.c:431
-#, fuzzy
-msgid ""
-"You may now configure your network device.\n"
-"\n"
-" * IP address: if you don't know or are not sure what to enter, ask your "
-"network administrator.\n"
-" You should not enter an IP address if you select the option \"Automatic "
-"IP\" below.\n"
-"\n"
-" * Netmask: \"255.255.255.0\" is generally a good choice. If you don't "
-"know or are not sure what to enter,\n"
-" ask your network administrator.\n"
-"\n"
-" * Automatic IP: if your network uses BOOTP or DHCP protocol, select this "
-"option. If selected, no value is needed in\n"
-" \"IP address\". If you don't know or are not sure if you need to select "
-"this option, ask your network administrator."
-msgstr ""
-"Slu inn:\n"
-"\n"
-" - IP vistfang: Ef veist ekki hva a er, spuru kerfisstjra ea "
-"fulltra hj jnustuveitu.\n"
-"\n"
-"\n"
-" - Netsa: \"255.255.255.0\" er mjg algeng sa. Ef ert ekki viss hvaa\n"
-"su skal nota, spuru kerfisstjra ea fulltra jnustuveitu.\n"
-"\n"
-"\n"
-" - Sjlfvirkt vistfang: Ef ert neti sem notar bootp ea dhcp "
-"reglurnar, veldu \n"
-" ennan kost. slkum tilfellum arf ekki a gefa upp neitt \"IP vistfang"
-"\". Eins \n"
-"og me arar stillingar, vri ekki slm hugmynd a hafa samband vi "
-"kerfisstjra.\n"
-
-#: ../../help.pm_.c:443
-#, fuzzy
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, ask your network administrator."
-msgstr ""
-"Ef NIS er nota netinu sem ert , veldu \"Nota NIS\". Ef ert "
-"ekki\n"
-"viss hvort a s nota, spuru kerfisstjra netsins."
-
-#: ../../help.pm_.c:447
-msgid ""
-"You may now enter your host name if needed. If you\n"
-"don't know or are not sure what to enter, leave blank."
-msgstr ""
-
-#: ../../help.pm_.c:451
-msgid ""
-"You may now enter dialup options. If you're not sure what to enter, the\n"
-"correct information can be obtained from your ISP."
-msgstr ""
-"Hrna geturu stillt innhringitengingu. Ef ert ekki viss um hva "
-"arft,\n"
-"hafu samband vi jnustuveituna til a f r upplsingar."
-
-#: ../../help.pm_.c:455
-msgid ""
-"If you will use proxies, please configure them now. If you don't know if\n"
-"you should use proxies, ask your network administrator or your ISP."
-msgstr ""
-"Ef notar einhverskonar sel (e. proxy), stilltu au nna. Ef veist "
-"ekki\n"
-"hvort arft a still au, hafu samband vi kerfisstjra ea "
-"jnustuveitu."
-
-#: ../../help.pm_.c:459
-#, fuzzy
-msgid ""
-"You can install cryptographic package if your internet connection has been\n"
-"set up correctly. First choose a mirror where you wish to download packages "
-"and\n"
-"after that select the packages to install.\n"
-"\n"
-"\n"
-"Note you have to select mirror and cryptographic packages according\n"
-"to your legislation."
-msgstr ""
-" getur nna n dulritunarhugbna ef Internet tengingin n er rtt\n"
-"upp sett. Fyrst velur spegilvl aan sem vilt skja hugbnainn\n"
-"og san velur pakka sem vilt skja og setja inn.\n"
-"\n"
-"Athugau a velja spegilvl og dulritunarhugbna samkvmt v sem lg "
-"leyfa\n"
-" slandi ea hvar sem ert nna a nota tlvuna."
-
-#: ../../help.pm_.c:468
-msgid "You can now select your timezone according to where you live."
-msgstr ""
-
-#: ../../help.pm_.c:471
-#, fuzzy
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Manage\n"
-"Time) and translates it in local time according to the time zone you have\n"
-"selected.\n"
-"\n"
-"\n"
-"If you use Microsoft Windows on this computer, choose \"No\"."
-msgstr ""
-"Hrna velur tmasvi sem gildir ar sem br.\n"
-"\n"
-"\n"
-"Linux notar GMT ea \"Greenwich Mean Time\" og breytir eim tma\n"
-"san staartma samkvmt v tmasvi sem velur."
-
-#: ../../help.pm_.c:479
-msgid ""
-"You may now choose which services you want to start at boot time.\n"
-"\n"
-"\n"
-"When your mouse comes over an item, a small balloon help will popup which\n"
-"describes the role of the service.\n"
-"\n"
-"\n"
-"Be very careful in this step if you intend to use your machine as a server: "
-"you\n"
-"will probably want not to start any services that you don't need. Please\n"
-"remember that several services can be dangerous if they are enable on a "
-"server.\n"
-"In general, select only the services that you really need."
-msgstr ""
-
-#: ../../help.pm_.c:492
-msgid ""
-"You can configure a local printer (connected to your computer) or remote\n"
-"printer (accessible via a Unix, Netware or Microsoft Windows network)."
-msgstr ""
-
-#: ../../help.pm_.c:496
-msgid ""
-"If you wish to be able to print, please choose one printing system between\n"
-"CUPS and LPR.\n"
-"\n"
-"\n"
-"CUPS is a new, powerful and flexible printing system for Unix systems (CUPS\n"
-"means \"Common Unix Printing System\"). It is the default printing system "
-"in\n"
-"Linux-Mandrake.\n"
-"\n"
-"\n"
-"LPR is the old printing system used in previous Linux-Mandrake "
-"distributions.\n"
-"\n"
-"\n"
-"If you don't have printer, click on \"None\"."
-msgstr ""
-
-#: ../../help.pm_.c:511
-msgid ""
-"GNU/Linux can deal with many types of printer. Each of these types requires\n"
-"a different setup.\n"
-"\n"
-"\n"
-"If your printer is physically connected to your computer, select \"Local\n"
-"printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Unix machine, select\n"
-"\"Remote printer\".\n"
-"\n"
-"\n"
-"If you want to access a printer located on a remote Microsoft Windows "
-"machine\n"
-"(or on Unix machine using SMB protocol), select \"SMB/Windows 95/98/NT\"."
-msgstr ""
-
-#: ../../help.pm_.c:527
-msgid ""
-"Please turn on your printer before continuing to let DrakX detect it.\n"
-"\n"
-"You have to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of printer: the print spooler uses \"lp\" as default printer name. "
-"So, you must have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You "
-"just need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer a more meaningful name, you have "
-"to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-"\n"
-" * Description: this is optional but can be useful if several printers are "
-"connected to your computer or if you allow\n"
-" other computers to access to this printer.\n"
-"\n"
-"\n"
-" * Location: if you want to put some information on your\n"
-" printer location, put it here (you are free to write what\n"
-" you want, for example \"2nd floor\").\n"
-msgstr ""
-
-#: ../../help.pm_.c:548
-msgid ""
-"You need to enter some informations here.\n"
-"\n"
-"\n"
-" * Name of queue: the print spooler uses \"lp\" as default printer name. "
-"So, you need have a printer named \"lp\".\n"
-" If you have only one printer, you can use several names for it. You just "
-"need to separate them by a pipe\n"
-" character (a \"|\"). So, if you prefer to have a more meaningful name, "
-"you have to put it first, eg: \"My printer|lp\".\n"
-" The printer having \"lp\" in its name(s) will be the default printer.\n"
-"\n"
-" \n"
-" * Spool directory: it is in this directory that printing jobs are stored. "
-"Keep the default choice\n"
-" if you don't know what to use\n"
-"\n"
-"\n"
-" * Printer Connection: If your printer is physically connected to your "
-"computer, select \"Local printer\".\n"
-" If you want to access a printer located on a remote Unix machine, "
-"select \"Remote lpd printer\".\n"
-"\n"
-"\n"
-" If you want to access a printer located on a remote Microsoft Windows "
-"machine (or on Unix machine using SMB\n"
-" protocol), select \"SMB/Windows 95/98/NT\".\n"
-"\n"
-"\n"
-" If you want to acces a printer located on NetWare network, select "
-"\"NetWare\".\n"
-msgstr ""
-
-#: ../../help.pm_.c:573
-msgid ""
-"Your printer has not been detected. Please enter the name of the device on\n"
-"which it is connected.\n"
-"\n"
-"\n"
-"For information, most printers are connected on the first parallel port. "
-"This\n"
-"one is called \"/dev/lp0\" under GNU/Linux and \"LPT1\" under Microsoft "
-"Windows."
-msgstr ""
-
-#: ../../help.pm_.c:581
-msgid "You must now select your printer in the above list."
-msgstr ""
-
-#: ../../help.pm_.c:584
-msgid ""
-"Please select the right options according to your printer.\n"
-"Please see its documentation if you don't know what choose here.\n"
-"\n"
-"\n"
-"You will be able to test your configuration in next step and you will be "
-"able to modify it if it doesn't work as you want."
-msgstr ""
-
-#: ../../help.pm_.c:591
-#, fuzzy
-msgid ""
-"You can now enter the root password for your Linux-Mandrake system.\n"
-"The password must be entered twice to verify that both password entries are "
-"identical.\n"
-"\n"
-"\n"
-"Root is the system's administrator and is the only user allowed to modify "
-"the\n"
-"system configuration. Therefore, choose this password carefully. \n"
-"Unauthorized use of the root account can be extemely dangerous to the "
-"integrity\n"
-"of the system, its data and other system connected to it.\n"
-"\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. It should never be written down.\n"
-"\n"
-"\n"
-"Do not make the password too long or complicated, though: you must be able "
-"to\n"
-"remember it without too much effort."
-msgstr ""
-"Hrna bru til rtarlykilor fyrir Linux Mandrake kerfi (lykilor\n"
-"ofurpaursins :-). verur a sl lykilori inn tvisvar til a \n"
-"stafesta a (svo a veri rugglega a lykilor sem tlast til).\n"
-"\n"
-"\n"
-"Rtin (root) er stjrnandi kerfisins (kerfisstjri) og eini notandinn\n"
-"sem breytt getur striskrm. Veldu lykilori v vandlega. heimil\n"
-"notkun rtaragangi a kerfinu getur ori mjg skaleg uppsetningu\n"
-"og ggnum kerfinu samt rum tlvum sem eru tengdar vi essa.\n"
-"Lykilori tti a vera hfileg blanda af bkstfum og tlustfum og\n"
-"minnst 8 stafa langt. ttir *ekki* a skrifa a niur og ttir\n"
-"v ekki a hafa a of langt ea of flki v eykst httan \n"
-" v a gleymir v. arft a geta muna hvaa lykilor\n"
-"gefur rtaragang til a geta breytt uppsetningu og stillingum."
-
-#: ../../help.pm_.c:609
-msgid ""
-"To enable a more secure system, you should select \"Use shadow file\" and\n"
-"\"Use MD5 passwords\"."
-msgstr ""
-"Ef vilt gera kerfi ruggara ttir a velja \"Nota skuggaskr\" og\n"
-"\"Nota MD5 lykilor\"."
-
-#: ../../help.pm_.c:613
-msgid ""
-"If your network uses NIS, select \"Use NIS\". If you don't know, ask your\n"
-"network administrator."
-msgstr ""
-"Ef NIS er nota netinu sem ert , veldu \"Nota NIS\". Ef ert "
-"ekki\n"
-"viss hvort a s nota, spuru kerfisstjra netsins."
-
-# ## skrytid
-#: ../../help.pm_.c:617
-msgid ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-msgstr ""
-"You may now create one or more \"regular\" user account(s), as\n"
-"opposed to the \"privileged\" user account, root. You can create\n"
-"one or more account(s) for each person you want to allow to use\n"
-"the computer. Note that each user account will have its own\n"
-"preferences (graphical environment, program settings, etc.)\n"
-"and its own \"home directory\", in which these preferences are\n"
-"stored.\n"
-"\n"
-"\n"
-"First of all, create an account for yourself! Even if you will be the only "
-"user\n"
-"of the machine, you may NOT connect as root for daily use of the system: "
-"it's a\n"
-"very high security risk. Making the system unusable is very often a typo "
-"away.\n"
-"\n"
-"\n"
-"Therefore, you should connect to the system using the user account\n"
-"you will have created here, and login as root only for administration\n"
-"and maintenance purposes."
-
-#: ../../help.pm_.c:636
-msgid ""
-"Creating a boot disk is strongly recommended. If you can't\n"
-"boot your computer, it's the only way to rescue your system without\n"
-"reinstalling it."
-msgstr ""
-
-#: ../../help.pm_.c:641
-#, fuzzy
-msgid ""
-"You need to indicate where you wish\n"
-"to place the information required to boot to GNU/Linux.\n"
-"\n"
-"\n"
-"Unless you know exactly what you are doing, choose \"First sector of\n"
-"drive (MBR)\"."
-msgstr ""
-"Hr gefur upp hvar vilt lta r upplsingar sem\n"
-"arf til a rsa Linux.\n"
-"\n"
-"\n"
-"Veldu \" rsifrsluna (MBR)\" nema vitir nkvmlega\n"
-"hva ert a gera."
-
-#: ../../help.pm_.c:649
-#, fuzzy
-msgid ""
-"Unless you know specifically otherwise, the usual choice is \"/dev/hda\"\n"
-" (primary master IDE disk) or \"/dev/sda\" (first SCSI disk)."
-msgstr ""
-"Ef um algengar astur er a ra er rtt svar \"/dev/hda\"\n"
-"(aal diskurinn aal IDE rsinni)."
-
-#: ../../help.pm_.c:653
-msgid ""
-"LILO (the LInux LOader) and Grub are bootloaders: they are able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-# ## skrytid
-#: ../../help.pm_.c:665
-#, fuzzy
-msgid ""
-"LILO and grub main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-"\n"
-" * normal: select normal 80x25 text mode.\n"
-"\n"
-" * <number>: use the corresponding text mode.\n"
-"\n"
-"\n"
-" - Clean \"/tmp\" at each boot: if you want delete all files and "
-"directories\n"
-"stored in \"/tmp\" when you boot your system, select this option.\n"
-"\n"
-"\n"
-" - Precise RAM if needed: unfortunately, there is no standard method to ask "
-"the\n"
-"BIOS about the amount of RAM present in your computer. As consequence, Linux "
-"may\n"
-"fail to detect your amount of RAM correctly. If this is the case, you can\n"
-"specify the correct amount or RAM here. Please note that a difference of 2 "
-"or 4\n"
-"MB between detected memory and memory present in your system is normal."
-msgstr ""
-"LILO main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Linear: Generate linear sector addresses instead of\n"
-"sector/head/cylinder addresses. Linear addresses are translated at run\n"
-"time and do not depend on disk geometry. Note that boot disks may not be\n"
-"portable if \"linear\" is used, because the BIOS service to determine the\n"
-"disk geometry does not work reliably for floppy disks. When using\n"
-"\"linear\" with large disks, /sbin/lilo may generate references to\n"
-"inaccessible disk areas, because 3D sector addresses are not known\n"
-"before boot time.\n"
-"\n"
-"\n"
-" - Compact: Tries to merge read requests for adjacent sectors into a\n"
-"single read request. This drastically reduces load time and keeps the\n"
-"map smaller. Using \"compact\" is especially recommended when booting from\n"
-"a floppy disk.\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-" * normal: select normal 80x25 text mode.\n"
-" * <number>: use the corresponding text mode."
-
-#: ../../help.pm_.c:697
-msgid ""
-"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able\n"
-"to boot either GNU/Linux, MacOS, or MacOSX, if present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"Yaboot main options are:\n"
-"\n"
-"\n"
-" - Init Message: A simple text message that is displayed before the boot\n"
-"prompt.\n"
-"\n"
-"\n"
-" - Boot Device: Indicate where you want to place the information required "
-"to \n"
-"boot to GNU/Linux. Generally, you will have setup a bootstrap partition "
-"earlier \n"
-"to hold this information.\n"
-"\n"
-"\n"
-" - Open Firmware Delay: Unlike LILO, there are two delays available with \n"
-"yaboot. The first delay is measured in seconds and at this point you can \n"
-"choose between CD, OF boot, MacOS, or Linux.\n"
-"\n"
-"\n"
-" - Kernel Boot Timeout: This timeout is similar to the LILO boot delay. "
-"After \n"
-"selecting Linux, you will have this delay in 0.1 seconds before your "
-"default\n"
-"kernel description is selected.\n"
-"\n"
-"\n"
-" - Enable CD Boot?: Checking this option will allow you to choose 'C' for "
-"CD at\n"
-"the first boot prompt.\n"
-"\n"
-"\n"
-" - Enable OF Boot?: Checking this option will allow you to choose 'N' for "
-"Open\n"
-"Firmware at the first boot prompt.\n"
-"\n"
-"\n"
-" - Default OS: You can select which OS will boot by default when the Open "
-"Firmware \n"
-"Delay expires."
-msgstr ""
-
-#: ../../help.pm_.c:738
-msgid ""
-"You can add additional entries for yaboot, either for other operating "
-"systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"\n"
-"For other OS's - the entry consists only of a label and the root partition.\n"
-"\n"
-"\n"
-"For Linux, there are a few possible options: \n"
-"\n"
-"\n"
-" - Label: This is simply the name will type at the yaboot prompt to select "
-"this \n"
-"boot option.\n"
-"\n"
-"\n"
-" - Image: This would be the name of the kernel to boot. Typically vmlinux "
-"or\n"
-"a variation of vmlinux with an extension.\n"
-"\n"
-"\n"
-" - Root: The root device or '/' for your Linux installation.\n"
-"\n"
-"\n"
-" \n"
-" - Append: On Apple hardware, the kernel append option is used quite often "
-"to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button "
-"emulation\n"
-"for the often lacking 2nd and 3rd mouse buttons on a stock Apple mouse. The "
-"following \n"
-"are some examples:\n"
-"\n"
-"\n"
-"\t\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
-"hda=autotune\n"
-"\n"
-"\t\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
-"\n"
-"\n"
-" \n"
-" - Initrd: This option can be used either to load initial modules, before "
-"the boot \n"
-"device is available, or to load a ramdisk image for an emergency boot "
-"situation.\n"
-"\n"
-"\n"
-" - Initrd-size: The default ramdisk size is generally 4096 bytes. If you "
-"should need\n"
-"to allocate a large ramdisk, this option can be used.\n"
-"\n"
-"\n"
-" - Read-write: Normally the 'root' partition is initially brought up read-"
-"only, to allow\n"
-"a filesystem check before the system becomes 'live'. You can override this "
-"option here.\n"
-"\n"
-"\n"
-" - NoVideo: Should the Apple video hardware prove to be exceptionally "
-"problematic, you can\n"
-"select this option to boot in 'novideo' mode, with native framebuffer "
-"support.\n"
-"\n"
-"\n"
-" - Default: Selects this entry as being the default Linux selection, "
-"selectable by just\n"
-"pressing ENTER at the yaboot prompt. This entry will also be highlighted "
-"with a '*', if you\n"
-"press TAB to see the boot selections."
-msgstr ""
-
-#: ../../help.pm_.c:793
-msgid ""
-"SILO is a bootloader for SPARC: it is able to boot\n"
-"either GNU/Linux or any other operating system present on your computer.\n"
-"Normally, these other operating systems are correctly detected and\n"
-"installed. If this is not the case, you can add an entry by hand in this\n"
-"screen. Be careful as to choose the correct parameters.\n"
-"\n"
-"\n"
-"You may also want not to give access to these other operating systems to\n"
-"anyone, in which case you can delete the corresponding entries. But\n"
-"in this case, you will need a boot disk in order to boot them!"
-msgstr ""
-
-# ## skrytid
-#: ../../help.pm_.c:805
-#, fuzzy
-msgid ""
-"SILO main options are:\n"
-" - Bootloader installation: Indicate where you want to place the\n"
-"information required to boot to GNU/Linux. Unless you know exactly\n"
-"what you are doing, choose \"First sector of drive (MBR)\".\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero."
-msgstr ""
-"LILO main options are:\n"
-" - Boot device: Sets the name of the device (e.g. a hard disk\n"
-"partition) that contains the boot sector. Unless you know specifically\n"
-"otherwise, choose \"/dev/hda\".\n"
-"\n"
-"\n"
-" - Linear: Generate linear sector addresses instead of\n"
-"sector/head/cylinder addresses. Linear addresses are translated at run\n"
-"time and do not depend on disk geometry. Note that boot disks may not be\n"
-"portable if \"linear\" is used, because the BIOS service to determine the\n"
-"disk geometry does not work reliably for floppy disks. When using\n"
-"\"linear\" with large disks, /sbin/lilo may generate references to\n"
-"inaccessible disk areas, because 3D sector addresses are not known\n"
-"before boot time.\n"
-"\n"
-"\n"
-" - Compact: Tries to merge read requests for adjacent sectors into a\n"
-"single read request. This drastically reduces load time and keeps the\n"
-"map smaller. Using \"compact\" is especially recommended when booting from\n"
-"a floppy disk.\n"
-"\n"
-"\n"
-" - Delay before booting default image: Specifies the number in tenths\n"
-"of a second the boot loader should wait before booting the first image.\n"
-"This is useful on systems that immediately boot from the hard disk after\n"
-"enabling the keyboard. The boot loader doesn't wait if \"delay\" is\n"
-"omitted or is set to zero.\n"
-"\n"
-"\n"
-" - Video mode: This specifies the VGA text mode that should be selected\n"
-"when booting. The following values are available: \n"
-" * normal: select normal 80x25 text mode.\n"
-" * <number>: use the corresponding text mode."
-
-#: ../../help.pm_.c:818
-#, fuzzy
-msgid ""
-"Now it's time to configure the X Window System, which is the\n"
-"core of the GNU/Linux GUI (Graphical User Interface). For this purpose,\n"
-"you must configure your video card and monitor. Most of these\n"
-"steps are automated, though, therefore your work may only consist\n"
-"of verifying what has been done and accept the settings :)\n"
-"\n"
-"\n"
-"When the configuration is over, X will be started (unless you\n"
-"ask DrakX not to) so that you can check and see if the\n"
-"settings suit you. If they don't, you can come back and\n"
-"change them, as many times as necessary."
-msgstr ""
-"N er kominn tmi til a stilla X, sem er undirstaa Linux notenda- \n"
-"vimtsins (GUI). Til a X virki, arf a stilla skjkorti\n"
-"og velja vikomandi skj. essi atrii er oftast stillt\n"
-"sjlfkrafa annig a gtir aeins urft a stafesta a\n"
-"sem Linux Mandrake vill gera :)\n"
-"\n"
-"\n"
-"egar uppsetningu X er loki verur X jnninn rstur (nema\n"
-" bijir DrakX a gera a ekki) svo getir stafest a\n"
-"stillingarnar su viunnandi. Ef ert ekki stt(ur) vi r X\n"
-"stillingar sem eru valdar, getur breytt eim a eigin vild."
-
-#: ../../help.pm_.c:831
-msgid ""
-"If something is wrong in X configuration, use these options to correctly\n"
-"configure the X Window System."
-msgstr ""
-"Ef eitthva kemur upp X, notau essar stillingar til a stilla\n"
-"a aftur."
-
-#: ../../help.pm_.c:835
-msgid ""
-"If you prefer to use a graphical login, select \"Yes\". Otherwise, select\n"
-"\"No\"."
-msgstr ""
-"Ef vilt myndrnt innstimplunarvimt, veldu \"J\". Ef ekki, veldu\n"
-" \"Nei\"."
-
-#: ../../help.pm_.c:839
-msgid ""
-"You can choose a security level for your system. Please refer to the manual "
-"for complete\n"
-" information. Basically, if you don't know what to choose, keep the default "
-"option.\n"
-msgstr ""
-
-#: ../../help.pm_.c:844
-msgid ""
-"Your system is going to reboot.\n"
-"\n"
-"After rebooting, your new Linux Mandrake system will load automatically.\n"
-"If you want to boot into another existing operating system, please read\n"
-"the additional instructions."
-msgstr ""
-"Tlvan verur nna endurrst.\n"
-"\n"
-"Linux Mandrake verur sjlfkrafa keyrt upp. Ef vilt hinsvegar\n"
-"keyra upp eitthva anna strikerfi, lestu leibeiningarnar\n"
-"sem fylgja."
-
-#: ../../install2.pm_.c:37
-msgid "Choose your language"
-msgstr "Veldu tunguml"
-
-#: ../../install2.pm_.c:38
-msgid "Select installation class"
-msgstr "Veldu innsetningarflokk"
-
-#: ../../install2.pm_.c:39
-#, fuzzy
-msgid "Hard drive detection"
-msgstr "Nota fnstillingar hrum disk(um)"
-
-#: ../../install2.pm_.c:40
-msgid "Configure mouse"
-msgstr "Tilgreindu ms"
-
-#: ../../install2.pm_.c:41
-msgid "Choose your keyboard"
-msgstr "Veldu lyklabor"
-
-#: ../../install2.pm_.c:42
-msgid "Security"
-msgstr ""
-
-#: ../../install2.pm_.c:43
-msgid "Setup filesystems"
-msgstr "Setja upp skrarkerfi"
-
-#: ../../install2.pm_.c:44
-msgid "Format partitions"
-msgstr "Forsna disksneiar"
-
-#: ../../install2.pm_.c:45
-msgid "Choose packages to install"
-msgstr "Veldu pakka til a setja inn"
-
-#: ../../install2.pm_.c:46
-msgid "Install system"
-msgstr "Setja kerfi inn"
-
-#: ../../install2.pm_.c:47 ../../install_steps_interactive.pm_.c:894
-#: ../../install_steps_interactive.pm_.c:895
-msgid "Set root password"
-msgstr "kvea rtarlykilor"
-
-#: ../../install2.pm_.c:48
-msgid "Add a user"
-msgstr "Bta vi notanda"
-
-#: ../../install2.pm_.c:49
-msgid "Configure networking"
-msgstr "Stilla nettengingu"
-
-#: ../../install2.pm_.c:51 ../../install_steps_interactive.pm_.c:818
-msgid "Summary"
-msgstr ""
-
-#: ../../install2.pm_.c:52
-#, fuzzy
-msgid "Configure services"
-msgstr "Setja upp prentara"
-
-#: ../../install2.pm_.c:54
-msgid "Create a bootdisk"
-msgstr "Ba til rsidiskling"
-
-#: ../../install2.pm_.c:56
-msgid "Install bootloader"
-msgstr "Setja inn rsihlaara"
-
-#: ../../install2.pm_.c:57
-msgid "Configure X"
-msgstr "Stilla X"
-
-#: ../../install2.pm_.c:58
-msgid "Exit install"
-msgstr "Htta innsetningu"
-
-#: ../../install_any.pm_.c:402
-#, c-format
-msgid ""
-"You have selected the following server(s): %s\n"
-"\n"
-"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new could be found. In that case, you must make sure to "
-"upgrade\n"
-"as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-
-#: ../../install_any.pm_.c:433
-msgid "Can't use broadcast with no NIS domain"
-msgstr "Get ekki nota tsendingu n NIS lns"
-
-#: ../../install_any.pm_.c:676
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Settu tman diskling drif %s"
-
-#: ../../install_any.pm_.c:680
-msgid "This floppy is not FAT formatted"
-msgstr ""
-
-#: ../../install_any.pm_.c:690
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-
-#: ../../install_any.pm_.c:712
-msgid "Error reading file $f"
-msgstr "Villa vi lestur skrarinnar $f"
-
-#: ../../install_gtk.pm_.c:84 ../../install_steps_gtk.pm_.c:310
-#: ../../interactive.pm_.c:99 ../../interactive.pm_.c:114
-#: ../../interactive.pm_.c:269 ../../interactive_newt.pm_.c:166
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:356
-#: ../../my_gtk.pm_.c:617 ../../my_gtk.pm_.c:640
-msgid "Ok"
-msgstr " lagi"
-
-#: ../../install_gtk.pm_.c:423
-#, fuzzy
-msgid "Please test the mouse"
-msgstr "Hvernig ms ertu me?"
-
-#: ../../install_gtk.pm_.c:424 ../../standalone/mousedrake_.c:132
-#, fuzzy
-msgid "To activate the mouse,"
-msgstr "Hvernig ms ertu me?"
-
-#: ../../install_gtk.pm_.c:425 ../../standalone/mousedrake_.c:133
-msgid "MOVE YOUR WHEEL!"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:23
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:41
-msgid ""
-"You must have a root partition.\n"
-"For this, create a partition (or click on an existing one).\n"
-"Then choose action ``Mount point'' and set it to `/'"
-msgstr ""
-" verur a hafa rtarsnei fyrir Linux. Bu v annahvort\n"
-"til rtarsnei ea veldu snei sem n egar er til disknum.\n"
-"Veldu san ``Tengipunktur'' og slu inn `/'"
-
-#: ../../install_interactive.pm_.c:46 ../../install_steps_graphical.pm_.c:259
-msgid "You must have a swap partition"
-msgstr " verur a hafa diskminni"
-
-#: ../../install_interactive.pm_.c:47 ../../install_steps_graphical.pm_.c:261
-msgid ""
-"You don't have a swap partition\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-" hefur ekkert diskminni\n"
-"\n"
-"Halda samt fram?"
-
-#: ../../install_interactive.pm_.c:68
-#, fuzzy
-msgid "Use free space"
-msgstr "Notandanafn:"
-
-#: ../../install_interactive.pm_.c:70
-msgid "Not enough free space to allocate new partitions"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:78
-#, fuzzy
-msgid "Use existing partition"
-msgstr "Forsn disksnei %s"
-
-#: ../../install_interactive.pm_.c:80
-#, fuzzy
-msgid "There is no existing partition to use"
-msgstr "Reyni a endurheimta disksneiatfluna"
-
-#: ../../install_interactive.pm_.c:87
-msgid "Use the Windows partition for loopback"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:90
-#, fuzzy
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Hvaa disksnei vilt nota sem rtardisksnei"
-
-#: ../../install_interactive.pm_.c:92
-#, fuzzy
-msgid "Choose the sizes"
-msgstr "Veldu nja str"
-
-#: ../../install_interactive.pm_.c:93
-#, fuzzy
-msgid "Root partition size in MB: "
-msgstr "Rtardisksnei"
-
-#: ../../install_interactive.pm_.c:94
-#, fuzzy
-msgid "Swap partition size in MB: "
-msgstr "Str MB: "
-
-#: ../../install_interactive.pm_.c:102
-msgid "Use the free space on the Windows partition"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:105
-#, fuzzy
-msgid "Which partition do you want to resize?"
-msgstr "Hvaa sneitegund viltu?"
-
-#: ../../install_interactive.pm_.c:107
-#, fuzzy
-msgid "Computing Windows filesystem bounds"
-msgstr "Reikna takmarkanir FAT skrarkerfis..."
-
-#: ../../install_interactive.pm_.c:110
-#, c-format
-msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:113
-msgid "Your Windows partition is too fragmented, please run ``defrag'' first"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:114
-#, fuzzy
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this operation is\n"
-"dangerous. If you have not already done so, you should first exit the\n"
-"installation, run scandisk under Windows (and optionally run defrag), then\n"
-"restart the installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"AVRUN\n"
-"\n"
-"DrakX arf nna a endurgera Windows sneiina. Athugi: etta getur haft "
-"alvarlegar\n"
-"afleiingar fr me sr. Ef ert ekki bin(n) a v, ttir fyrst "
-"a\n"
-"keyra scandisk (og jafnvel lka defrag) essa snei og taka san afrit "
-"af\n"
-"ggnunum num.\n"
-"Slu ' lagi' til a halda fram."
-
-#: ../../install_interactive.pm_.c:123
-#, fuzzy
-msgid "Which size do you want to keep for windows on"
-msgstr "Hvaa geira viltu fra ggn til?"
-
-#: ../../install_interactive.pm_.c:124
-#, fuzzy, c-format
-msgid "partition %s"
-msgstr "Rtardisksnei"
-
-# ******************************************
-# ***** Byrjai hrna 4. jan 2000 *******
-# *** ATH: a er sumt eftir fyrir ofan ***
-# ******************************************
-#
-#: ../../install_interactive.pm_.c:130
-#, fuzzy, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Sjlfvirk endurstkkun brst"
-
-#: ../../install_interactive.pm_.c:145
-msgid ""
-"There is no FAT partitions to resize or to use as loopback (or not enough "
-"space left)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Erase entire disk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:151
-msgid "Remove Windows(TM)"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:154
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:157
-#, fuzzy, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "ll ggn essari disksnei tapast"
-
-#: ../../install_interactive.pm_.c:165
-#, fuzzy
-msgid "Custom disk partitioning"
-msgstr "Forsn disksnei %s"
-
-#: ../../install_interactive.pm_.c:169
-msgid "Use fdisk"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:172
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:201
-#, fuzzy
-msgid "You don't have enough free space on your Windows partition"
-msgstr " hefur ekki neinar disksneiar"
-
-#: ../../install_interactive.pm_.c:217
-#, fuzzy
-msgid "I can't find any room for installing"
-msgstr "Get ekki btt vi disksneium"
-
-#: ../../install_interactive.pm_.c:221
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr ""
-
-#: ../../install_interactive.pm_.c:226
-#, fuzzy, c-format
-msgid "Partitioning failed: %s"
-msgstr "Rtardisksnei"
-
-#: ../../install_interactive.pm_.c:232
-msgid "Bringing up the network"
-msgstr "Keyri upp neti"
-
-#: ../../install_interactive.pm_.c:237
-#, fuzzy
-msgid "Bringing down the network"
-msgstr "Keyri upp neti"
-
-#: ../../install_steps.pm_.c:73
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-"ekkt villa kom upp sem ekki er hgt a mehndla.\n"
-"Haltu fram eigin byrg."
-
-#: ../../install_steps.pm_.c:203
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "%s tengipunktur er n egar til"
-
-#: ../../install_steps.pm_.c:385
-msgid ""
-"Some important packages didn't get installed properly.\n"
-"Either your cdrom drive or your cdrom is defective.\n"
-"Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm"
-"\"\n"
-msgstr ""
-
-#: ../../install_steps.pm_.c:451
-#, fuzzy, c-format
-msgid "Welcome to %s"
-msgstr "Velkomin(n) tlvurjtinn"
-
-#: ../../install_steps.pm_.c:634
-msgid "No floppy drive available"
-msgstr "Ekkert disklingadrif agengilegt"
-
-#: ../../install_steps_auto_install.pm_.c:51
-#: ../../install_steps_stdio.pm_.c:23
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Hef skref `%s'\n"
-
-#: ../../install_steps_graphical.pm_.c:287
-msgid "Choose the size you want to install"
-msgstr "Veldu str sem vilt setja inn"
-
-#: ../../install_steps_graphical.pm_.c:334
-msgid "Total size: "
-msgstr "Heildarstr: "
-
-#: ../../install_steps_graphical.pm_.c:346 ../../install_steps_gtk.pm_.c:437
-#, c-format
-msgid "Version: %s\n"
-msgstr "tgfa: %s\n"
-
-#: ../../install_steps_graphical.pm_.c:347 ../../install_steps_gtk.pm_.c:438
-#, c-format
-msgid "Size: %d KB\n"
-msgstr "Str: %d KB\n"
-
-#: ../../install_steps_graphical.pm_.c:462 ../../install_steps_gtk.pm_.c:337
-#: ../../install_steps_interactive.pm_.c:520
-msgid "Choose the packages you want to install"
-msgstr "Veldu pakkana sem vilt setja inn"
-
-#: ../../install_steps_graphical.pm_.c:465 ../../install_steps_gtk.pm_.c:340
-msgid "Info"
-msgstr "Upplsingar"
-
-#: ../../install_steps_graphical.pm_.c:473 ../../install_steps_gtk.pm_.c:345
-#: ../../install_steps_interactive.pm_.c:226
-msgid "Install"
-msgstr "Innsetning"
-
-#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:558
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Installing"
-msgstr "Set inn"
-
-#: ../../install_steps_graphical.pm_.c:499
-msgid "Please wait, "
-msgstr "Vinsamlegast hinkri, "
-
-#: ../../install_steps_graphical.pm_.c:501 ../../install_steps_gtk.pm_.c:570
-msgid "Time remaining "
-msgstr "Tmi eftir "
-
-#: ../../install_steps_graphical.pm_.c:502
-msgid "Total time "
-msgstr "Heildar tmi "
-
-#: ../../install_steps_graphical.pm_.c:507
-#: ../../install_steps_interactive.pm_.c:675
-msgid "Preparing installation"
-msgstr "Undirb innsetningu"
-
-#: ../../install_steps_graphical.pm_.c:528 ../../install_steps_gtk.pm_.c:618
-#, c-format
-msgid "Installing package %s"
-msgstr "Set inn pakka %s"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-#: ../../install_steps_gtk.pm_.c:699
-msgid "Go on anyway?"
-msgstr "Viltu samt halda fram?"
-
-#: ../../install_steps_graphical.pm_.c:553 ../../install_steps_gtk.pm_.c:695
-msgid "There was an error ordering packages:"
-msgstr "a kom upp villa vi a raa pkkum:"
-
-#: ../../install_steps_graphical.pm_.c:577
-msgid "Use existing configuration for X11?"
-msgstr "Nota X uppsetningu sem er til?"
-
-#: ../../install_steps_gtk.pm_.c:142
-msgid ""
-"Your system is low on resource. You may have some problem installing\n"
-"Linux-Mandrake. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:156
-#, fuzzy
-msgid "Please, choose one of the following classes of installation:"
-msgstr "Vinsamlega tilgreindu eftirfarandi"
-
-#: ../../install_steps_gtk.pm_.c:222
-#, c-format
-msgid ""
-"The total size for the groups you have selected is approximately %d MB.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:224
-#, c-format
-msgid ""
-"If you wish to install less than this size,\n"
-"select the percentage of packages that you want to install.\n"
-"\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of 100%% will install all selected packages."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:229
-#, c-format
-msgid ""
-"You have space on your disk for only %d%% of these packages.\n"
-"\n"
-"If you wish to install less than this,\n"
-"select the percentage of packages that you want to install.\n"
-"A low percentage will install only the most important packages;\n"
-"a percentage of %d%% will install as many packages as possible."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:235
-#, fuzzy
-msgid "You will be able to choose them more specifically in the next step."
-msgstr " munt geta vali af meiri nkvmni nsta skrefi"
-
-#: ../../install_steps_gtk.pm_.c:237
-#, fuzzy
-msgid "Percentage of packages to install"
-msgstr "Veldu pakka til a setja inn"
-
-#: ../../install_steps_gtk.pm_.c:285 ../../install_steps_interactive.pm_.c:599
-msgid "Package Group Selection"
-msgstr "Val pakkahp"
-
-#: ../../install_steps_gtk.pm_.c:305 ../../install_steps_interactive.pm_.c:614
-#, fuzzy
-msgid "Individual package selection"
-msgstr "Val pakkahp"
-
-#: ../../install_steps_gtk.pm_.c:349
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:416
-msgid "Expand Tree"
-msgstr "Opna tr"
-
-#: ../../install_steps_gtk.pm_.c:417
-msgid "Collapse Tree"
-msgstr "Loka tr"
-
-#: ../../install_steps_gtk.pm_.c:418
-msgid "Toggle between flat and group sorted"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:435
-msgid "Bad package"
-msgstr "Skemmdur pakki"
-
-#: ../../install_steps_gtk.pm_.c:436
-#, c-format
-msgid "Name: %s\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:439
-#, c-format
-msgid "Importance: %s\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:448 ../../install_steps_interactive.pm_.c:578
-#, fuzzy, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Heildarstr: "
-
-#: ../../install_steps_gtk.pm_.c:467
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:471
-#, fuzzy
-msgid "The following packages are going to be installed"
-msgstr "Eftirfarandi pakkar vera fjarlgir"
-
-#: ../../install_steps_gtk.pm_.c:472
-#, fuzzy
-msgid "The following packages are going to be removed"
-msgstr "Eftirfarandi pakkar vera fjarlgir"
-
-#: ../../install_steps_gtk.pm_.c:482
-msgid "You can't select/unselect this package"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:501
-msgid "This is a mandatory package, it can't be unselected"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:503
-msgid "You can't unselect this package. It is already installed"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:507
-msgid ""
-"This package must be upgraded\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:510
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:563
-msgid "Estimating"
-msgstr "tla"
-
-#: ../../install_steps_gtk.pm_.c:582
-#, fuzzy
-msgid "Please wait, preparing installation"
-msgstr "Undirb innsetningu"
-
-#: ../../install_steps_gtk.pm_.c:613
-#, c-format
-msgid "%d packages"
-msgstr "%d pakkar"
-
-#: ../../install_steps_gtk.pm_.c:652
-msgid ""
-"\n"
-"Warning\n"
-"\n"
-"Please read carefully the terms below. If you disagree with any\n"
-"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
-"to continue the installation without using these media.\n"
-"\n"
-"\n"
-"Some components contained in the next CD media are not governed\n"
-"by the GPL License or similar agreements. Each such component is then\n"
-"governed by the terms and conditions of its own specific license. \n"
-"Please read carefully and comply with such specific licenses before \n"
-"you use or redistribute the said components. \n"
-"Such licenses will in general prevent the transfer, duplication \n"
-"(except for backup purposes), redistribution, reverse engineering, \n"
-"de-assembly, de-compilation or modification of the component. \n"
-"Any breach of agreement will immediately terminate your rights under \n"
-"the specific license. Unless the specific license terms grant you such\n"
-"rights, you usually cannot install the programs on more than one\n"
-"system, or adapt it to be used on a network. In doubt, please contact \n"
-"directly the distributor or editor of the component. \n"
-"Transfer to third parties or copying of such components including the \n"
-"documentation is usually forbidden.\n"
-"\n"
-"\n"
-"All rights to the components of the next CD media belong to their \n"
-"respective authors and are protected by intellectual property and \n"
-"copyright laws applicable to software programs.\n"
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-#, fuzzy
-msgid "Accept"
-msgstr "Samykkja notanda"
-
-#: ../../install_steps_gtk.pm_.c:680 ../../install_steps_interactive.pm_.c:163
-#, fuzzy
-msgid "Refuse"
-msgstr "Endurstkka"
-
-#: ../../install_steps_gtk.pm_.c:681
-#, c-format
-msgid ""
-"Change your Cd-Rom!\n"
-"\n"
-"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
-"done.\n"
-"If you don't have it, press Cancel to avoid installation from this Cd-Rom."
-msgstr ""
-
-#: ../../install_steps_gtk.pm_.c:699
-#, fuzzy
-msgid "There was an error installing packages:"
-msgstr "a kom upp villa vi a raa pkkum:"
-
-#: ../../install_steps_interactive.pm_.c:37
-msgid "An error occurred"
-msgstr "Villa kom upp"
-
-#: ../../install_steps_interactive.pm_.c:55
-#, fuzzy
-msgid "Please, choose a language to use."
-msgstr "Hvernig ms ertu me?"
-
-#: ../../install_steps_interactive.pm_.c:56
-msgid "You can choose other languages that will be available after install"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:68
-#: ../../install_steps_interactive.pm_.c:613
-msgid "All"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:86
-msgid "License agreement"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:87
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Linux-"
-"Mandrake distribution \n"
-"shall be called the \"Software Products\" hereafter. The Software Products "
-"include, but are not \n"
-"restricted to, the set of programs, methods, rules and documentation related "
-"to the operating \n"
-"system and the different components of the Linux-Mandrake distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read carefully this document. This document is a license agreement "
-"between you and \n"
-"MandrakeSoft S.A. which applies to the Software Products.\n"
-"By installing, duplicating or using the Software Products in any manner, you "
-"explicitly \n"
-"accept and fully agree to conform to the terms and conditions of this "
-"License. \n"
-"If you disagree with any portion of the License, you are not allowed to "
-"install, duplicate or use \n"
-"the Software Products. \n"
-"Any attempt to install, duplicate or use the Software Products in a manner "
-"which does not comply \n"
-"with the terms and conditions of this License is void and will terminate "
-"your rights under this \n"
-"License. Upon termination of the License, you must immediately destroy all "
-"copies of the \n"
-"Software Products.\n"
-"\n"
-"\n"
-"2. Limited Warranty\n"
-"\n"
-"The Software Products and attached documentation are provided \"as is\", "
-"with no warranty, to the \n"
-"extent permitted by law.\n"
-"MandrakeSoft S.A. will, in no circumstances and to the extent permitted by "
-"law, be liable for any special,\n"
-"incidental, direct or indirect damages whatsoever (including without "
-"limitation damages for loss of \n"
-"business, interruption of business, financial loss, legal fees and penalties "
-"resulting from a court \n"
-"judgment, or any other consequential loss) arising out of the use or "
-"inability to use the Software \n"
-"Products, even if MandrakeSoft S.A. has been advised of the possibility or "
-"occurance of such \n"
-"damages.\n"
-"\n"
-"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
-"COUNTRIES\n"
-"\n"
-"To the extent permitted by law, MandrakeSoft S.A. or its distributors will, "
-"in no circumstances, be \n"
-"liable for any special, incidental, direct or indirect damages whatsoever "
-"(including without \n"
-"limitation damages for loss of business, interruption of business, financial "
-"loss, legal fees \n"
-"and penalties resulting from a court judgment, or any other consequential "
-"loss) arising out \n"
-"of the possession and use of software components or arising out of "
-"downloading software components \n"
-"from one of Linux-Mandrake sites which are prohibited or restricted in some "
-"countries by local laws.\n"
-"This limited liability applies to, but is not restricted to, the strong "
-"cryptography components \n"
-"included in the Software Products.\n"
-"\n"
-"\n"
-"3. The GPL License and Related Licenses\n"
-"\n"
-"The Software Products consist of components created by different persons or "
-"entities. Most \n"
-"of these components are governed under the terms and conditions of the GNU "
-"General Public \n"
-"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
-"licenses allow you to use, \n"
-"duplicate, adapt or redistribute the components which they cover. Please "
-"read carefully the terms \n"
-"and conditions of the license agreement for each component before using any "
-"component. Any question \n"
-"on a component license should be addressed to the component author and not "
-"to MandrakeSoft.\n"
-"The programs developed by MandrakeSoft S.A. are governed by the GPL License. "
-"Documentation written \n"
-"by MandrakeSoft S.A. is governed by a specific license. Please refer to the "
-"documentation for \n"
-"further details.\n"
-"\n"
-"\n"
-"4. Intellectual Property Rights\n"
-"\n"
-"All rights to the components of the Software Products belong to their "
-"respective authors and are \n"
-"protected by intellectual property and copyright laws applicable to software "
-"programs.\n"
-"MandrakeSoft S.A. reserves its rights to modify or adapt the Software "
-"Products, as a whole or in \n"
-"parts, by all means and for all purposes.\n"
-"\"Mandrake\", \"Linux-Mandrake\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Governing Laws \n"
-"\n"
-"If any portion of this agreement is held void, illegal or inapplicable by a "
-"court judgment, this \n"
-"portion is excluded from this contract. You remain bound by the other "
-"applicable sections of the \n"
-"agreement.\n"
-"The terms and conditions of this License are governed by the Laws of "
-"France.\n"
-"All disputes on the terms of this license will preferably be settled out of "
-"court. As a last \n"
-"resort, the dispute will be referred to the appropriate Courts of Law of "
-"Paris - France.\n"
-"For any question on this document, please contact MandrakeSoft S.A. \n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:182
-#: ../../install_steps_interactive.pm_.c:822
-#: ../../standalone/keyboarddrake_.c:28
-msgid "Keyboard"
-msgstr "Lyklabor"
-
-#: ../../install_steps_interactive.pm_.c:183
-#: ../../standalone/keyboarddrake_.c:29
-#, fuzzy
-msgid "Please, choose your keyboard layout."
-msgstr "Hvaa lyklaborsuppsetningu viltu?"
-
-#: ../../install_steps_interactive.pm_.c:184
-msgid "Here is the full list of keyboards available"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:201
-msgid "Install Class"
-msgstr "Innsetningarafer"
-
-#: ../../install_steps_interactive.pm_.c:201
-#, fuzzy
-msgid "Which installation class do you want?"
-msgstr "Hverskonar innsetningarafer viltu?"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Install/Update"
-msgstr "Innsetning/Uppfrsla"
-
-#: ../../install_steps_interactive.pm_.c:203
-#, fuzzy
-msgid "Is this an install or an update?"
-msgstr "Er etta innsetning ea uppfrsla?"
-
-#: ../../install_steps_interactive.pm_.c:212
-msgid "Recommended"
-msgstr "Auvelda"
-
-#: ../../install_steps_interactive.pm_.c:215
-#: ../../install_steps_interactive.pm_.c:218
-msgid "Expert"
-msgstr "F. snillinga"
-
-#: ../../install_steps_interactive.pm_.c:226
-#, fuzzy
-msgid "Update"
-msgstr "Uppfrsla"
-
-#: ../../install_steps_interactive.pm_.c:238 ../../standalone/mousedrake_.c:41
-#, fuzzy
-msgid "Please, choose the type of your mouse."
-msgstr "Hvernig ms ertu me?"
-
-#: ../../install_steps_interactive.pm_.c:244 ../../standalone/mousedrake_.c:57
-msgid "Mouse Port"
-msgstr "Msartengi"
-
-#: ../../install_steps_interactive.pm_.c:245 ../../standalone/mousedrake_.c:58
-#, fuzzy
-msgid "Please choose on which serial port your mouse is connected to."
-msgstr "Vi hvaa ratengi er msin n tengd?"
-
-#: ../../install_steps_interactive.pm_.c:253
-msgid "Buttons emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:255
-msgid "Button 2 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:256
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "Configuring PCMCIA cards..."
-msgstr "Stilli PCMCIA kort..."
-
-#: ../../install_steps_interactive.pm_.c:275
-msgid "PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../install_steps_interactive.pm_.c:280
-#, fuzzy
-msgid "Configuring IDE"
-msgstr "Uppsetning"
-
-#: ../../install_steps_interactive.pm_.c:280
-msgid "IDE"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:295
-msgid "no available partitions"
-msgstr "engar reiubnar disksneiar"
-
-#: ../../install_steps_interactive.pm_.c:298
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:306
-msgid "Choose the mount points"
-msgstr "Veldu tengipunktana"
-
-#: ../../install_steps_interactive.pm_.c:323
-#, fuzzy, c-format
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I can try to go on blanking bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to disallow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
-msgstr ""
-"g get ekki lesi disksneiatflu na, hn er of skemmd fyrir mig :-(\n"
-"g mun reyna a halda fram me v a hreinsa skemmdar disksneiar"
-
-#: ../../install_steps_interactive.pm_.c:336
-msgid ""
-"DiskDrake failed to read correctly the partition table.\n"
-"Continue at your own risk!"
-msgstr ""
-"DiskDrake gat ekki lesi sneiatfluna.\n"
-"Haltu fram eigin byrg!"
-
-#: ../../install_steps_interactive.pm_.c:361
-msgid "Root Partition"
-msgstr "Rtardisksnei"
-
-#: ../../install_steps_interactive.pm_.c:362
-msgid "What is the root partition (/) of your system?"
-msgstr "Hver er rtardisksnei (/) kerfisins?"
-
-#: ../../install_steps_interactive.pm_.c:376
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr ""
-" verur a rsa tlvuna aftur svo breytingar sneiatflunni taki gildi"
-
-#: ../../install_steps_interactive.pm_.c:403
-msgid "Choose the partitions you want to format"
-msgstr "Veldu r disksneiar sem a forsna"
-
-#: ../../install_steps_interactive.pm_.c:404
-msgid "Check bad blocks?"
-msgstr "Athuga skemmdar blokkir?"
-
-#: ../../install_steps_interactive.pm_.c:427
-#, fuzzy
-msgid "Formatting partitions"
-msgstr "Forsn disksnei %s"
-
-#: ../../install_steps_interactive.pm_.c:429
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:432
-msgid "Not enough swap to fulfill installation, please add some"
-msgstr "Ekki ngjanlegt diskminni fyrir innsetningu. Bttu vi a"
-
-#: ../../install_steps_interactive.pm_.c:438
-msgid "Looking for available packages"
-msgstr "Leita a fanlegum pkkum"
-
-#: ../../install_steps_interactive.pm_.c:444
-msgid "Finding packages to upgrade"
-msgstr "Leita a pkkum til a uppfra"
-
-#: ../../install_steps_interactive.pm_.c:461
-#, c-format
-msgid ""
-"Your system has not enough space left for installation or upgrade (%d > %d)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:480
-#, fuzzy, c-format
-msgid "Complete (%dMB)"
-msgstr "Venjulega"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, fuzzy, c-format
-msgid "Minimum (%dMB)"
-msgstr "(%dMB)"
-
-#: ../../install_steps_interactive.pm_.c:480
-#, fuzzy, c-format
-msgid "Recommended (%dMB)"
-msgstr "Auvelda"
-
-#: ../../install_steps_interactive.pm_.c:486
-#, fuzzy
-msgid "Custom"
-msgstr "Srlagaa"
-
-#: ../../install_steps_interactive.pm_.c:585
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:650
-msgid ""
-"If you have all the CDs in the list below, click Ok.\n"
-"If you have none of those CDs, click Cancel.\n"
-"If only some CDs are missing, unselect them, then click Ok."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:655
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:684
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-"Set inn pakka %s\n"
-"%d%%"
-
-#: ../../install_steps_interactive.pm_.c:693
-msgid "Post-install configuration"
-msgstr "Lokauppsetning"
-
-#: ../../install_steps_interactive.pm_.c:718
-#, fuzzy
-msgid ""
-"You have now the possibility to download software aimed for encryption.\n"
-"\n"
-"WARNING:\n"
-"\n"
-"Due to different general requirements applicable to these software and "
-"imposed\n"
-"by various jurisdictions, customer and/or end user of theses software "
-"should\n"
-"ensure that the laws of his/their jurisdiction allow him/them to download, "
-"stock\n"
-"and/or use these software.\n"
-"\n"
-"In addition customer and/or end user shall particularly be aware to not "
-"infringe\n"
-"the laws of his/their jurisdiction. Should customer and/or end user not\n"
-"respect the provision of these applicable laws, he/they will incure serious\n"
-"sanctions.\n"
-"\n"
-"In no event shall Mandrakesoft nor its manufacturers and/or suppliers be "
-"liable\n"
-"for special, indirect or incidental damages whatsoever (including, but not\n"
-"limited to loss of profits, business interruption, loss of commercial data "
-"and\n"
-"other pecuniary losses, and eventual liabilities and indemnification to be "
-"paid\n"
-"pursuant to a court decision) arising out of use, possession, or the sole\n"
-"downloading of these software, to which customer and/or end user could\n"
-"eventually have access after having sign up the present agreement.\n"
-"\n"
-"\n"
-"For any queries relating to these agreement, please contact \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena California 91001\n"
-"USA"
-msgstr ""
-"N gefst r tkifri til a skja hugbna sem tlaur er til dulritunar.\n"
-"\n"
-"AVRUN:\n"
-"\n"
-"ar sem lg um dulritunarhugbna eru mjg mismunandi eftir lndum og reglur "
-"sem settar\n"
-"eru af yfirvldum oft strangar, arf notandi slks hugbnaar a ganga r "
-"skugga\n"
-"um a vikomandi lgsagnarumdmi leyfi essa gagnaflutninga, samt "
-"varveislu og\n"
-"notkun slkum hugbnai.\n"
-"\n"
-"Viskiptavinir Mandrake og/notendur Linux Mandrake skulu v sj til ess a "
-"eir brjti ekki\n"
-"au lg sem sett hafa veri landi vikomandi. Ef vikiptavinir og/ea "
-"notendur\n"
-"vira ekki essi lg mega eir bast vi eim refsiagerum sem slkar "
-"athafnir\n"
-"hafa fr me sr.\n"
-"\n"
-"Hvorki Mandrakesoft n framleisluailar ea dreifingarailar eirra bera "
-"byrg \n"
-"srstkum, beinum ea beinum, skaa (.m.t. en ekki takmarka af,\n"
-"hagnaartapi, viskiptabanni ea truflun, gagnatapi og\n"
-"ru fjrhagslegu tapi, skaabtum ea rum btum sem fyrirskipa er af "
-"dmstli\n"
-"a skuli borgast) skum notkunar, varveislu, ea flutnings\n"
-"af slkum hugbnai, sem viskiptavinur og/ea notandi hafi agang a "
-"eftir\n"
-"a hafa samykkt ennan samning..\n"
-"\n"
-"essi samningur fellur undir og skal vera tlkaur af lgum Frakklands nema\n"
-"ar sem krafist er notkun laga vikomandi yfirvalda. \n"
-"essi samningur inniheldur hinsvegar ekki hverskonar lg sem bja upp "
-"rekstra, \n"
-"undirstuatrii ea lagakvi sem mla mti. Frnsk lg\n"
-"skulu eim tilfellum gilda fram yfir lg vikomandi lands.\n"
-"\n"
-"Frekari upplsingar um ennan samning fst hj \n"
-"Mandrakesoft, Inc.\n"
-"2400 N. Lincoln Avenue Suite 243\n"
-"Altadena, California, 91001\n"
-"USA"
-
-#: ../../install_steps_interactive.pm_.c:750
-msgid "Choose a mirror from which to get the packages"
-msgstr "Veldu spegilvlina aan sem a skja pakkanna"
-
-#: ../../install_steps_interactive.pm_.c:761
-msgid "Contacting the mirror to get the list of available packages"
-msgstr "Hef samband vi vlina til a skja lista yfir fanlega pakka"
-
-#: ../../install_steps_interactive.pm_.c:764
-#, fuzzy
-msgid "Please choose the packages you want to install."
-msgstr "Veldu pakkana sem vilt setja inn"
-
-#: ../../install_steps_interactive.pm_.c:776
-#, fuzzy
-msgid "Which is your timezone?"
-msgstr " hvaa tmasvi ertu?"
-
-#: ../../install_steps_interactive.pm_.c:778
-msgid "Is your hardware clock set to GMT?"
-msgstr "Veltu stilla tlvuklukkuna GMT?"
-
-#: ../../install_steps_interactive.pm_.c:806 ../../printer.pm_.c:22
-#: ../../printerdrake.pm_.c:415
-#, fuzzy
-msgid "Remote CUPS server"
-msgstr "Fjartengd prentr"
-
-#: ../../install_steps_interactive.pm_.c:807
-#, fuzzy
-msgid "No printer"
-msgstr "Stabundinn prentari"
-
-#: ../../install_steps_interactive.pm_.c:821
-#, fuzzy
-msgid "Mouse"
-msgstr "USB ms"
-
-#: ../../install_steps_interactive.pm_.c:823
-msgid "Timezone"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:824 ../../printerdrake.pm_.c:344
-msgid "Printer"
-msgstr "Prentari"
-
-#: ../../install_steps_interactive.pm_.c:826
-msgid "ISDN card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:829
-msgid "Sound card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:832
-msgid "TV card"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:862
-#, fuzzy
-msgid "Which printing system do you want to use?"
-msgstr "Hvaa sneitegund viltu?"
-
-#: ../../install_steps_interactive.pm_.c:896
-msgid "No password"
-msgstr "Ekkert lykilor"
-
-#: ../../install_steps_interactive.pm_.c:901
-#, c-format
-msgid "This password is too simple (must be at least %d characters long)"
-msgstr "etta lykilor er of einfalt (verur a vera minnst %d stafa langt)"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "Use NIS"
-msgstr "Nota NIS"
-
-#: ../../install_steps_interactive.pm_.c:907
-msgid "yellow pages"
-msgstr "Gular sur (yp)"
-
-#: ../../install_steps_interactive.pm_.c:914
-msgid "Authentification NIS"
-msgstr "Aukenning NIS"
-
-#: ../../install_steps_interactive.pm_.c:915
-msgid "NIS Domain"
-msgstr "NIS ln"
-
-#: ../../install_steps_interactive.pm_.c:916
-msgid "NIS Server"
-msgstr "NIS jnn"
-
-#: ../../install_steps_interactive.pm_.c:951
-#, fuzzy
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"SILO on your system, or another operating system removes SILO, or SILO "
-"doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures.\n"
-"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
-msgstr ""
-"Srsmaur rsidisklingur gerir r kleyft a rsa Linux n ess a nota "
-"rsistjra\n"
-" eins og LILO. etta kemur a gagni ef vilt ekki setja upp LILO vlinni "
-"ea ef\n"
-" anna strikerfi hefur fjarlgt LILO ea LILO virkar ekki me num "
-"vlbnaarstillingum.\n"
-" Rsidiskling m einnig nota me Linux Mandrake 'rescue' disklingnum svo "
-"hgt s a bjarja\n"
-" vlinni ef alvarleg vandaml koma upp.\n"
-"Viltu ba til rsidiskling fyrir vlina na?"
-
-#: ../../install_steps_interactive.pm_.c:967
-#, fuzzy
-msgid "First floppy drive"
-msgstr "Fyrsta drif"
-
-#: ../../install_steps_interactive.pm_.c:968
-#, fuzzy
-msgid "Second floppy drive"
-msgstr "Anna drif"
-
-#: ../../install_steps_interactive.pm_.c:969
-msgid "Skip"
-msgstr "Sleppa"
-
-#: ../../install_steps_interactive.pm_.c:974
-#, fuzzy
-msgid ""
-"A custom bootdisk provides a way of booting into your Linux system without\n"
-"depending on the normal bootloader. This is useful if you don't want to "
-"install\n"
-"LILO (or grub) on your system, or another operating system removes LILO, or "
-"LILO doesn't\n"
-"work with your hardware configuration. A custom bootdisk can also be used "
-"with\n"
-"the Mandrake rescue image, making it much easier to recover from severe "
-"system\n"
-"failures. Would you like to create a bootdisk for your system?"
-msgstr ""
-"Srsmaur rsidisklingur gerir r kleyft a rsa Linux n ess a nota "
-"rsistjra\n"
-" eins og LILO. etta kemur a gagni ef vilt ekki setja upp LILO vlinni "
-"ea ef\n"
-" anna strikerfi hefur fjarlgt LILO ea LILO virkar ekki me num "
-"vlbnaarstillingum.\n"
-" Rsidiskling m einnig nota me Linux Mandrake 'rescue' disklingnum svo "
-"hgt s a bjarja\n"
-" vlinni ef alvarleg vandaml koma upp.\n"
-"Viltu ba til rsidiskling fyrir vlina na?"
-
-#: ../../install_steps_interactive.pm_.c:983
-msgid "Sorry, no floppy drive available"
-msgstr "Ekkert disklingadrif til staar"
-
-#: ../../install_steps_interactive.pm_.c:987
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Veldu disklingadrifi sem vilt nota til a gera rsidisk"
-
-#: ../../install_steps_interactive.pm_.c:991
-#, c-format
-msgid "Insert a floppy in drive %s"
-msgstr "Settu tman diskling drif %s"
-
-#: ../../install_steps_interactive.pm_.c:994
-msgid "Creating bootdisk"
-msgstr "B til rsidiskling..."
-
-#: ../../install_steps_interactive.pm_.c:1001
-msgid "Preparing bootloader"
-msgstr "Set upp rsistjrann..."
-
-#: ../../install_steps_interactive.pm_.c:1010
-#, fuzzy
-msgid "Do you want to use aboot?"
-msgstr "Viltu nota SILO?"
-
-#: ../../install_steps_interactive.pm_.c:1013
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1022
-#, fuzzy
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Innsetning LILO brst skum eftirfarandi villu:"
-
-#: ../../install_steps_interactive.pm_.c:1030
-msgid ""
-"You may need to change your Open Firmware boot-device to\n"
-" enable the bootloader. If you don't see the bootloader prompt at\n"
-" reboot, hold down Command-Option-O-F at reboot and enter:\n"
-" setenv boot-device $of_boot,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1038 ../../standalone/draksec_.c:23
-msgid "Low"
-msgstr "Lgt"
-
-#: ../../install_steps_interactive.pm_.c:1039 ../../standalone/draksec_.c:24
-msgid "Medium"
-msgstr "Milungs"
-
-#: ../../install_steps_interactive.pm_.c:1040 ../../standalone/draksec_.c:25
-msgid "High"
-msgstr "Htt"
-
-#: ../../install_steps_interactive.pm_.c:1044 ../../standalone/draksec_.c:49
-msgid "Choose security level"
-msgstr "Veldu ryggisstig"
-
-#: ../../install_steps_interactive.pm_.c:1080
-msgid "Do you want to generate an auto install floppy for linux replication?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1082
-#, fuzzy, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Settu tman diskling drif %s"
-
-#: ../../install_steps_interactive.pm_.c:1096
-#: ../../install_steps_interactive.pm_.c:1128
-#, fuzzy
-msgid "Creating auto install floppy"
-msgstr "Undirb innsetningu"
-
-#: ../../install_steps_interactive.pm_.c:1156
-msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
-msgstr ""
-"Sum skref eru enn eftir.\n"
-"\n"
-"Viltu virkilega htta nna?"
-
-#: ../../install_steps_interactive.pm_.c:1167
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"For information on fixes which are available for this release of Linux-"
-"Mandrake,\n"
-"consult the Errata available from http://www.linux-mandrake.com/.\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Linux-Mandrake User's Guide."
-msgstr ""
-"Til hamingju! Innsetningu er loki.\n"
-"Taktu disklinginn ea geisladiskinn r drifinu og slu ENTER.\n"
-"\n"
-" http://www.linux-mandrake.com m finna vibtur og/ea lagfringar\n"
-" gllum sem gtu veri til staar essari tgfu af Linux Mandrake\n"
-" \n"
-"Frekari upplsingar um hvernig a stilla vlina eftir innsetninguna er a\n"
-"finna vieigandi kafla Official Linux Mandrake User's Guide bkinni."
-
-#: ../../install_steps_interactive.pm_.c:1179
-#, fuzzy
-msgid "Generate auto install floppy"
-msgstr "Undirb innsetningu"
-
-#: ../../install_steps_interactive.pm_.c:1181
-msgid ""
-"The auto install can be fully automated if wanted,\n"
-"in that case it will take over the hard drive!!\n"
-"(this is meant for installing on another box).\n"
-"\n"
-"You may prefer to replay the installation.\n"
-msgstr ""
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Automated"
-msgstr "Sjlfvirkt IP"
-
-#: ../../install_steps_interactive.pm_.c:1186
-#, fuzzy
-msgid "Replay"
-msgstr "Endurhlaa"
-
-#: ../../install_steps_interactive.pm_.c:1189
-#, fuzzy
-msgid "Save packages selection"
-msgstr "Val pakkahp"
-
-#: ../../install_steps_newt.pm_.c:22
-#, c-format
-msgid "Linux-Mandrake Installation %s"
-msgstr "Linux Mandrake innsetning %s"
-
-#: ../../install_steps_newt.pm_.c:33
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-" <Tab>/<Alt-Tab> milli hluta | <Bilsl> velur | <F12> nsti skjr "
-
-#: ../../interactive.pm_.c:65
-msgid "kdesu missing"
-msgstr ""
-
-#: ../../interactive.pm_.c:267
-msgid "Advanced"
-msgstr ""
-
-#: ../../interactive.pm_.c:290
-msgid "Please wait"
-msgstr "Augnablik..."
-
-#: ../../interactive_stdio.pm_.c:35
-#, c-format
-msgid "Ambiguity (%s), be more precise\n"
-msgstr "ljst (%s), vertu nkvmari\n"
-
-#: ../../interactive_stdio.pm_.c:36 ../../interactive_stdio.pm_.c:51
-#: ../../interactive_stdio.pm_.c:71
-msgid "Bad choice, try again\n"
-msgstr "Slm hugmynd, reyndu aftur\n"
-
-#: ../../interactive_stdio.pm_.c:39
-#, c-format
-msgid " ? (default %s) "
-msgstr " ? (sjlfgefi %s) "
-
-#: ../../interactive_stdio.pm_.c:52
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "itt val? (sjlfgefi %s) "
-
-#: ../../interactive_stdio.pm_.c:72
-#, c-format
-msgid "Your choice? (default %s enter `none' for none) "
-msgstr "itt val? (sjlfgefi %s slu inn `none' fyrir engan) "
-
-#: ../../keyboard.pm_.c:124 ../../keyboard.pm_.c:155
-msgid "Czech (QWERTZ)"
-msgstr "Tkkneskt (QWERTZ)"
-
-#: ../../keyboard.pm_.c:125 ../../keyboard.pm_.c:138 ../../keyboard.pm_.c:158
-msgid "German"
-msgstr "skt"
-
-#: ../../keyboard.pm_.c:126
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:127 ../../keyboard.pm_.c:164
-msgid "Spanish"
-msgstr "Spnskt"
-
-#: ../../keyboard.pm_.c:128 ../../keyboard.pm_.c:165
-msgid "Finnish"
-msgstr "Finnskt"
-
-#: ../../keyboard.pm_.c:129 ../../keyboard.pm_.c:139 ../../keyboard.pm_.c:166
-msgid "French"
-msgstr "Franskt"
-
-#: ../../keyboard.pm_.c:130 ../../keyboard.pm_.c:187
-msgid "Norwegian"
-msgstr "Norkst"
-
-#: ../../keyboard.pm_.c:131
-msgid "Polish"
-msgstr "Plskt"
-
-#: ../../keyboard.pm_.c:132 ../../keyboard.pm_.c:192
-msgid "Russian"
-msgstr "Rssneskt"
-
-#: ../../keyboard.pm_.c:133 ../../keyboard.pm_.c:203
-msgid "UK keyboard"
-msgstr "Breskt lyklabor"
-
-#: ../../keyboard.pm_.c:134 ../../keyboard.pm_.c:137 ../../keyboard.pm_.c:204
-msgid "US keyboard"
-msgstr "Bandarskt lyklabor"
-
-#: ../../keyboard.pm_.c:141
-#, fuzzy
-msgid "Armenian (old)"
-msgstr "Armenskt"
-
-#: ../../keyboard.pm_.c:142
-#, fuzzy
-msgid "Armenian (typewriter)"
-msgstr "Armenskt (hljfrilegt)"
-
-#: ../../keyboard.pm_.c:143
-msgid "Armenian (phonetic)"
-msgstr "Armenskt (hljfrilegt)"
-
-#: ../../keyboard.pm_.c:147
-msgid "Azerbaidjani (latin)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:148
-msgid "Azerbaidjani (cyrillic)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:149
-msgid "Belgian"
-msgstr "Belgskt"
-
-#: ../../keyboard.pm_.c:150
-msgid "Bulgarian"
-msgstr "Blgarskt"
-
-#: ../../keyboard.pm_.c:151
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasilskt"
-
-#: ../../keyboard.pm_.c:152
-#, fuzzy
-msgid "Belarusian"
-msgstr "Blgarskt"
-
-#: ../../keyboard.pm_.c:153
-msgid "Swiss (German layout)"
-msgstr "Svissneskt (sk uppsetn.)"
-
-#: ../../keyboard.pm_.c:154
-msgid "Swiss (French layout)"
-msgstr "Svissneskt (frnsk uppsetn.)"
-
-#: ../../keyboard.pm_.c:156
-msgid "Czech (QWERTY)"
-msgstr "Tkkneskt (QWERTY)"
-
-#: ../../keyboard.pm_.c:157
-msgid "Czech (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:159
-msgid "German (no dead keys)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:160
-msgid "Danish"
-msgstr "Danskt"
-
-#: ../../keyboard.pm_.c:161
-#, fuzzy
-msgid "Dvorak (US)"
-msgstr "Dvorak"
-
-#: ../../keyboard.pm_.c:162
-#, fuzzy
-msgid "Dvorak (Norwegian)"
-msgstr "Norkst"
-
-#: ../../keyboard.pm_.c:163
-msgid "Estonian"
-msgstr "Eistlenskt"
-
-#: ../../keyboard.pm_.c:167
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgskt (\"Rssneskt\")"
-
-#: ../../keyboard.pm_.c:168
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgskt (\"Latnu\")"
-
-#: ../../keyboard.pm_.c:169
-msgid "Greek"
-msgstr "Grskt"
-
-#: ../../keyboard.pm_.c:170
-msgid "Hungarian"
-msgstr "Ungverskt"
-
-#: ../../keyboard.pm_.c:171
-msgid "Croatian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:172
-msgid "Israeli"
-msgstr "sraelskt"
-
-#: ../../keyboard.pm_.c:173
-msgid "Israeli (Phonetic)"
-msgstr "sraelskt (hljfr.)"
-
-#: ../../keyboard.pm_.c:174
-#, fuzzy
-msgid "Iranian"
-msgstr "krankst"
-
-#: ../../keyboard.pm_.c:175
-msgid "Icelandic"
-msgstr "slenskt"
-
-#: ../../keyboard.pm_.c:176
-msgid "Italian"
-msgstr "talskt"
-
-#: ../../keyboard.pm_.c:177
-msgid "Japanese 106 keys"
-msgstr ""
-
-#: ../../keyboard.pm_.c:178
-#, fuzzy
-msgid "Korean keyboard"
-msgstr "Breskt lyklabor"
-
-#: ../../keyboard.pm_.c:179
-msgid "Latin American"
-msgstr "Suur amerskt"
-
-#: ../../keyboard.pm_.c:180
-msgid "Macedonian"
-msgstr ""
-
-#: ../../keyboard.pm_.c:181
-msgid "Dutch"
-msgstr "Hollenskt"
-
-#: ../../keyboard.pm_.c:182
-#, fuzzy
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lithenskt AZERTY"
-
-#: ../../keyboard.pm_.c:184
-#, fuzzy
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lithenskt AZERTY"
-
-#: ../../keyboard.pm_.c:185
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lithenskt \"tlur\" QWERTY"
-
-#: ../../keyboard.pm_.c:186
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lithenskt \"hljfrilegt\" QWERTY"
-
-#: ../../keyboard.pm_.c:188
-#, fuzzy
-msgid "Polish (qwerty layout)"
-msgstr "Svissneskt (sk uppsetn.)"
-
-#: ../../keyboard.pm_.c:189
-#, fuzzy
-msgid "Polish (qwertz layout)"
-msgstr "Svissneskt (sk uppsetn.)"
-
-#: ../../keyboard.pm_.c:190
-msgid "Portuguese"
-msgstr "Portgskt"
-
-#: ../../keyboard.pm_.c:191
-msgid "Canadian (Quebec)"
-msgstr "Kanadskt (Quebec)"
-
-#: ../../keyboard.pm_.c:193
-msgid "Russian (Yawerty)"
-msgstr "Rssneskt (Yawerty)"
-
-#: ../../keyboard.pm_.c:194
-msgid "Swedish"
-msgstr "Snskt"
-
-#: ../../keyboard.pm_.c:195
-msgid "Slovenian"
-msgstr "Slvenskt"
-
-#: ../../keyboard.pm_.c:196
-msgid "Slovakian (QWERTZ)"
-msgstr "Slvakskt (QWERTZ)"
-
-#: ../../keyboard.pm_.c:197
-msgid "Slovakian (QWERTY)"
-msgstr "Slvakskt (QWERTY)"
-
-#: ../../keyboard.pm_.c:198
-msgid "Slovakian (Programmers)"
-msgstr ""
-
-#: ../../keyboard.pm_.c:199
-msgid "Thai keyboard"
-msgstr "Thlenskt lyklabor"
-
-#: ../../keyboard.pm_.c:200
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Tyrkneskt (hefbundi \"F\" mdel)"
-
-#: ../../keyboard.pm_.c:201
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Tyrkneskt (ntma \"Q\" mdel)"
-
-#: ../../keyboard.pm_.c:202
-msgid "Ukrainian"
-msgstr "krankst"
-
-#: ../../keyboard.pm_.c:205
-msgid "US keyboard (international)"
-msgstr "Bandarskt (aljlegt)"
-
-#: ../../keyboard.pm_.c:206
-#, fuzzy
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Lithenskt \"tlur\" QWERTY"
-
-#: ../../keyboard.pm_.c:207
-#, fuzzy
-msgid "Yugoslavian (latin/cyrillic)"
-msgstr "Jgoslavneskt (Latnu upps.)"
-
-#: ../../lvm.pm_.c:70
-msgid "Remove the logical volumes first\n"
-msgstr ""
-
-#: ../../mouse.pm_.c:25
-#, fuzzy
-msgid "Sun - Mouse"
-msgstr "USB ms"
-
-#: ../../mouse.pm_.c:31
-msgid "Standard"
-msgstr ""
-
-#: ../../mouse.pm_.c:32
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../mouse.pm_.c:33
-#, fuzzy
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Almenn ms"
-
-#: ../../mouse.pm_.c:34
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:62
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:58
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../mouse.pm_.c:38
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../mouse.pm_.c:43 ../../mouse.pm_.c:67
-msgid "1 button"
-msgstr ""
-
-#: ../../mouse.pm_.c:44
-msgid "Generic"
-msgstr ""
-
-#: ../../mouse.pm_.c:45
-#, fuzzy
-msgid "Wheel"
-msgstr "stig"
-
-#: ../../mouse.pm_.c:48
-msgid "serial"
-msgstr "ratengd"
-
-#: ../../mouse.pm_.c:50
-msgid "Generic 2 Button Mouse"
-msgstr ""
-
-#: ../../mouse.pm_.c:51
-msgid "Generic 3 Button Mouse"
-msgstr "Almenn riggja hnappa ms"
-
-#: ../../mouse.pm_.c:52
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../mouse.pm_.c:53
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../mouse.pm_.c:54
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../mouse.pm_.c:56
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../mouse.pm_.c:57
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../mouse.pm_.c:59
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../mouse.pm_.c:60
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../mouse.pm_.c:61
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech ms (ratengd, gmul C7 tegund)"
-
-#: ../../mouse.pm_.c:65
-#, fuzzy
-msgid "busmouse"
-msgstr "Engin ms"
-
-#: ../../mouse.pm_.c:68
-msgid "2 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:69
-msgid "3 buttons"
-msgstr ""
-
-#: ../../mouse.pm_.c:72
-#, fuzzy
-msgid "none"
-msgstr "Bi"
-
-#: ../../mouse.pm_.c:74
-msgid "No mouse"
-msgstr "Engin ms"
-
-#: ../../my_gtk.pm_.c:356
-#, fuzzy
-msgid "Finish"
-msgstr "Finnskt"
-
-#: ../../my_gtk.pm_.c:356
-msgid "Next ->"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:357
-msgid "<- Previous"
-msgstr ""
-
-#: ../../my_gtk.pm_.c:617
-msgid "Is this correct?"
-msgstr "Er etta rtt?"
-
-#: ../../netconnect.pm_.c:143
-#, fuzzy
-msgid "Internet configuration"
-msgstr "Sel stillingar"
-
-#: ../../netconnect.pm_.c:144
-#, fuzzy
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Viltu prfa skilgreininguna"
-
-#: ../../netconnect.pm_.c:148
-#, fuzzy
-msgid "Testing your connection..."
-msgstr "Stilla nettengingu"
-
-#: ../../netconnect.pm_.c:154 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid "The system is now connected to Internet."
-msgstr "Hvaa disk viltu fra til?"
-
-#: ../../netconnect.pm_.c:155
-msgid "For Security reason, it will be disconnected now."
-msgstr ""
-
-#: ../../netconnect.pm_.c:156 ../../standalone/draknet_.c:196
-#, fuzzy
-msgid ""
-"The system doesn't seem to be connected to internet.\n"
-"Try to reconfigure your connection."
-msgstr "Nafn tengingar"
-
-#: ../../netconnect.pm_.c:161 ../../netconnect.pm_.c:904
-#: ../../netconnect.pm_.c:934 ../../netconnect.pm_.c:1012
-msgid "Network Configuration"
-msgstr "Netstillingar"
-
-#: ../../netconnect.pm_.c:222 ../../netconnect.pm_.c:266
-#: ../../netconnect.pm_.c:276 ../../netconnect.pm_.c:283
-#: ../../netconnect.pm_.c:293
-#, fuzzy
-msgid "ISDN Configuration"
-msgstr "Uppsetning"
-
-#: ../../netconnect.pm_.c:222
-msgid ""
-"Select your provider.\n"
-" If it's not in the list, choose Unlisted"
-msgstr ""
-
-#: ../../netconnect.pm_.c:236
-#, fuzzy
-msgid "Connection Configuration"
-msgstr "Sel stillingar"
-
-#: ../../netconnect.pm_.c:237
-msgid "Please fill or check the field below"
-msgstr ""
-
-#: ../../netconnect.pm_.c:239 ../../standalone/draknet_.c:552
-msgid "Card IRQ"
-msgstr ""
-
-#: ../../netconnect.pm_.c:240 ../../standalone/draknet_.c:553
-msgid "Card mem (DMA)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:241 ../../standalone/draknet_.c:554
-msgid "Card IO"
-msgstr ""
-
-#: ../../netconnect.pm_.c:242 ../../standalone/draknet_.c:555
-msgid "Card IO_0"
-msgstr ""
-
-#: ../../netconnect.pm_.c:243 ../../standalone/draknet_.c:556
-msgid "Card IO_1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:244 ../../standalone/draknet_.c:557
-msgid "Your personal phone number"
-msgstr ""
-
-#: ../../netconnect.pm_.c:245 ../../standalone/draknet_.c:558
-msgid "Provider name (ex provider.net)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:246 ../../standalone/draknet_.c:559
-#, fuzzy
-msgid "Provider phone number"
-msgstr "Smanmer"
-
-#: ../../netconnect.pm_.c:247
-msgid "Provider dns 1"
-msgstr ""
-
-#: ../../netconnect.pm_.c:248
-msgid "Provider dns 2"
-msgstr ""
-
-#: ../../netconnect.pm_.c:249 ../../standalone/draknet_.c:564
-#, fuzzy
-msgid "Dialing mode"
-msgstr "Hringja inn me mtaldi"
-
-#: ../../netconnect.pm_.c:250 ../../standalone/draknet_.c:562
-#, fuzzy
-msgid "Account Login (user name)"
-msgstr "Tengipunktur"
-
-#: ../../netconnect.pm_.c:251 ../../standalone/draknet_.c:563
-#, fuzzy
-msgid "Account Password"
-msgstr "Lykilor"
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:261
-msgid "Europe (EDSS1)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:263
-#, fuzzy
-msgid "Rest of the world"
-msgstr "Prfunar skilgreining"
-
-#: ../../netconnect.pm_.c:263
-msgid ""
-"Rest of the world \n"
-" no D-Channel (leased lines)"
-msgstr ""
-
-#: ../../netconnect.pm_.c:267
-#, fuzzy
-msgid "Which protocol do you want to use ?"
-msgstr "Hvaa sneitegund viltu?"
-
-#: ../../netconnect.pm_.c:277
-#, fuzzy
-msgid "What kind of card do you have?"
-msgstr "Hvernig prentara ertu me?"
-
-#: ../../netconnect.pm_.c:278
-msgid "I don't know"
-msgstr ""
-
-#: ../../netconnect.pm_.c:278
-#, fuzzy
-msgid "ISA / PCMCIA"
-msgstr "PCMCIA"
-
-#: ../../netconnect.pm_.c:278
-#, fuzzy
-msgid "PCI"
-msgstr "PCMCIA"
-
-#: ../../netconnect.pm_.c:284
-msgid ""
-"\n"
-"If you have an ISA card, the values on the next screen should be right.\n"
-"\n"
-"If you have a PCMCIA card, you have to know the irq and io of your card.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-msgid "Abort"
-msgstr ""
-
-#: ../../netconnect.pm_.c:288
-#, fuzzy
-msgid "Continue"
-msgstr "Halda samt fram?"
-
-#: ../../netconnect.pm_.c:294
-#, fuzzy
-msgid "Which is your ISDN card ?"
-msgstr " hvaa tmasvi ertu?"
-
-#: ../../netconnect.pm_.c:314
-msgid ""
-"I have detected an ISDN PCI Card, but I don't know the type. Please select "
-"one PCI card on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:323
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-
-#: ../../netconnect.pm_.c:371
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-
-#: ../../netconnect.pm_.c:375 ../../standalone/drakgw_.c:232
-#, fuzzy
-msgid "Choose the network interface"
-msgstr "Veldu nja str"
-
-#: ../../netconnect.pm_.c:376
-#, fuzzy
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet"
-msgstr "Vi hvaa ratengi er msin n tengd?"
-
-#: ../../netconnect.pm_.c:385 ../../netconnect.pm_.c:700
-#: ../../netconnect.pm_.c:845 ../../standalone/drakgw_.c:223
-msgid "Network interface"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-msgid ""
-"\n"
-"Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:386
-#, fuzzy
-msgid "I'm about to restart the network device:\n"
-msgstr "Viltu prfa skilgreininguna"
-
-#: ../../netconnect.pm_.c:484
-#, fuzzy
-msgid "ADSL configuration"
-msgstr "Uppsetning"
-
-#: ../../netconnect.pm_.c:485
-#, fuzzy
-msgid "Do you want to start your connection at boot?"
-msgstr "Viltu nota aboot?"
-
-#: ../../netconnect.pm_.c:620
-#, fuzzy
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Hvaa ratengi er mtaldi tengt vi?"
-
-#: ../../netconnect.pm_.c:625
-msgid "Dialup options"
-msgstr "Innhringistillingar"
-
-#: ../../netconnect.pm_.c:626 ../../standalone/draknet_.c:566
-msgid "Connection name"
-msgstr "Nafn tengingar"
-
-#: ../../netconnect.pm_.c:627 ../../standalone/draknet_.c:567
-#, fuzzy
-msgid "Phone number"
-msgstr "Smanmer"
-
-#: ../../netconnect.pm_.c:628 ../../standalone/draknet_.c:568
-msgid "Login ID"
-msgstr "Notendanafn"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Authentication"
-msgstr "Aukenning"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "PAP"
-msgstr "PAP"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Script-based"
-msgstr "Me skriftu"
-
-#: ../../netconnect.pm_.c:630 ../../standalone/draknet_.c:570
-msgid "Terminal-based"
-msgstr "Me skjhermi"
-
-#: ../../netconnect.pm_.c:631 ../../standalone/draknet_.c:571
-msgid "Domain name"
-msgstr "Nafn lns"
-
-#: ../../netconnect.pm_.c:632 ../../standalone/draknet_.c:572
-#, fuzzy
-msgid "First DNS Server (optional)"
-msgstr "Aal nafnamilari"
-
-#: ../../netconnect.pm_.c:633 ../../standalone/draknet_.c:573
-#, fuzzy
-msgid "Second DNS Server (optional)"
-msgstr "Vara nafnamilari"
-
-#: ../../netconnect.pm_.c:701
-msgid ""
-"I'm about to restart the network device $netc->{NET_DEVICE}. Do you agree?"
-msgstr ""
-
-#: ../../netconnect.pm_.c:745
-msgid ""
-"\n"
-"You can disconnect or reconfigure your connection."
-msgstr ""
-
-#: ../../netconnect.pm_.c:745 ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can reconfigure your connection."
-msgstr "Stilla nettengingu"
-
-#: ../../netconnect.pm_.c:745
-#, fuzzy
-msgid "You are currently connected to internet."
-msgstr "Hvaa disk viltu fra til?"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid ""
-"\n"
-"You can connect to Internet or reconfigure your connection."
-msgstr "Nafn tengingar"
-
-#: ../../netconnect.pm_.c:748
-#, fuzzy
-msgid "You are not currently connected to Internet."
-msgstr "Hvaa disk viltu fra til?"
-
-#: ../../netconnect.pm_.c:752 ../../standalone/net_monitor_.c:81
-#, fuzzy
-msgid "Connect to Internet"
-msgstr "Nafn tengingar"
-
-#: ../../netconnect.pm_.c:754
-#, fuzzy
-msgid "Disconnect from Internet"
-msgstr "Nafn tengingar"
-
-#: ../../netconnect.pm_.c:756
-#, fuzzy
-msgid "Configure network connection (LAN or Internet)"
-msgstr "Stilla nettengingu"
-
-#: ../../netconnect.pm_.c:759
-#, fuzzy
-msgid "Internet connection & configuration"
-msgstr "Veldu prenttengingu"
-
-#: ../../netconnect.pm_.c:811 ../../netconnect.pm_.c:961
-#: ../../netconnect.pm_.c:971 ../../netconnect.pm_.c:986
-#, fuzzy
-msgid "Network Configuration Wizard"
-msgstr "Netstillingar"
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "External ISDN modem"
-msgstr "F. snillinga"
-
-#: ../../netconnect.pm_.c:812
-msgid "Internal ISDN card"
-msgstr ""
-
-#: ../../netconnect.pm_.c:812
-#, fuzzy
-msgid "What kind is your ISDN connection?"
-msgstr "Vi hvaa ratengi er msin n tengd?"
-
-#: ../../netconnect.pm_.c:833 ../../netconnect.pm_.c:882
-#, fuzzy
-msgid "Connect to the Internet"
-msgstr "Nafn tengingar"
-
-#: ../../netconnect.pm_.c:834
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few ones use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use dhcp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pppoe"
-msgstr ""
-
-#: ../../netconnect.pm_.c:836
-msgid "use pptp"
-msgstr ""
-
-#: ../../netconnect.pm_.c:846
-#, fuzzy, c-format
-msgid "I'm about to restart the network device %s. Do you agree?"
-msgstr "Viltu prfa skilgreininguna"
-
-#: ../../netconnect.pm_.c:883
-#, fuzzy
-msgid ""
-"Which dhcp client do you want to use?\n"
-"Default is dhcpcd"
-msgstr "Hvaa sneitegund viltu?"
-
-#: ../../netconnect.pm_.c:900
-#, fuzzy
-msgid "Network configuration"
-msgstr "Netstillingar"
-
-#: ../../netconnect.pm_.c:901
-#, fuzzy
-msgid "Do you want to restart the network"
-msgstr "Viltu prfa skilgreininguna"
-
-#: ../../netconnect.pm_.c:904
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Viltu prfa skilgreininguna"
-
-#: ../../netconnect.pm_.c:935
-msgid ""
-"Because you are doing a network installation, your network is already "
-"configured.\n"
-"Click on Ok to keep your configuration, or cancel to reconfigure your "
-"Internet & Network connection.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:962
-msgid ""
-"Welcome to The Network Configuration Wizard\n"
-"\n"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\n"
-msgstr ""
-
-#: ../../netconnect.pm_.c:964
-#, fuzzy
-msgid "Choose the profile to configure"
-msgstr "Veldu nja str"
-
-#: ../../netconnect.pm_.c:965
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../netconnect.pm_.c:971 ../../printerdrake.pm_.c:19
-msgid "Detecting devices..."
-msgstr "Leita a tkjum..."
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy
-msgid "Normal modem connection"
-msgstr "Stilla nettengingu"
-
-#: ../../netconnect.pm_.c:978
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr "%s tengipunktur er n egar til"
-
-#: ../../netconnect.pm_.c:979
-#, fuzzy
-msgid "ISDN connection"
-msgstr "Veldu prenttengingu"
-
-#: ../../netconnect.pm_.c:979
-#, c-format
-msgid "detected %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:980
-#, fuzzy
-msgid "DSL (or ADSL) connection"
-msgstr "Stilla nettengingu"
-
-#: ../../netconnect.pm_.c:980
-#, c-format
-msgid "detected on interface %s"
-msgstr ""
-
-#: ../../netconnect.pm_.c:981
-#, fuzzy
-msgid "Cable connection"
-msgstr "Veldu prenttengingu"
-
-#: ../../netconnect.pm_.c:982
-#, fuzzy
-msgid "LAN connection"
-msgstr "Veldu prenttengingu"
-
-#: ../../netconnect.pm_.c:982
-msgid "ethernet card(s) detected"
-msgstr ""
-
-#: ../../netconnect.pm_.c:987
-#, fuzzy
-msgid "How do you want to connect to the Internet?"
-msgstr "Hvaa disk viltu fra til?"
-
-#: ../../netconnect.pm_.c:1004
-msgid ""
-"Congratulation, The network and internet configuration is finished.\n"
-"\n"
-"The configuration will now be applied to your system."
-msgstr ""
-
-#: ../../netconnect.pm_.c:1007
-msgid ""
-"After that is done, we recommend you to restart your X\n"
-"environnement to avoid hostname changing problem."
-msgstr ""
-
-#: ../../network.pm_.c:253
-msgid "no network card found"
-msgstr "ekkert netkort fannst"
-
-#: ../../network.pm_.c:277 ../../network.pm_.c:387
-msgid "Configuring network"
-msgstr "Stilli staarnetstenginu"
-
-#: ../../network.pm_.c:278
-#, fuzzy
-msgid ""
-"Please enter your host name if you know it.\n"
-"Some DHCP servers require the hostname to work.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''."
-msgstr ""
-"Slu inn heiti vlarinnar. Vlarheiti arf a vera fullt \n"
-"heiti, t.d. odinn.grimsey.is mtt lka sl inn IP \n"
-"vistfang gttarinnar ef veist hva a vistfang er.\n"
-"Gttin gefur r agang t r staarnetinu (t.d. Interneti)."
-
-#: ../../network.pm_.c:282 ../../network.pm_.c:392
-#, fuzzy
-msgid "Host name"
-msgstr "Vlarheiti:"
-
-#: ../../network.pm_.c:319
-msgid ""
-"WARNING: This device has been previously configured to connect to the "
-"Internet.\n"
-"Simply accept to keep this device configured.\n"
-"Modifying the fields below will override this configuration."
-msgstr ""
-
-#: ../../network.pm_.c:324
-msgid ""
-"Please enter the IP configuration for this machine.\n"
-"Each item should be entered as an IP address in dotted-decimal\n"
-"notation (for example, 1.2.3.4)."
-msgstr ""
-"Slu inn IP uppsetningu essarar vlar. Hver frsla\n"
-" a vera IP tala ritu me punkt milli.\n"
-"(dmi 192.168.1.13)"
-
-#: ../../network.pm_.c:333 ../../network.pm_.c:334
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Stilli nettki %s"
-
-#: ../../network.pm_.c:334
-msgid " (driver $module)"
-msgstr ""
-
-#: ../../network.pm_.c:336 ../../standalone/draknet_.c:231
-#: ../../standalone/draknet_.c:427
-#, fuzzy
-msgid "IP address"
-msgstr "IP vistfang:"
-
-#: ../../network.pm_.c:337 ../../standalone/draknet_.c:428
-#, fuzzy
-msgid "Netmask"
-msgstr "Netsa:"
-
-#: ../../network.pm_.c:338
-msgid "(bootp/dhcp)"
-msgstr "(bootp/dhcp)"
-
-#: ../../network.pm_.c:338
-msgid "Automatic IP"
-msgstr "Sjlfvirkt IP"
-
-#: ../../network.pm_.c:359 ../../printerdrake.pm_.c:102
-#: ../../printerdrake.pm_.c:425
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP vistfang a vera sniinu 192.168.1.10"
-
-#: ../../network.pm_.c:388
-msgid ""
-"Please enter your host name.\n"
-"Your host name should be a fully-qualified host name,\n"
-"such as ``mybox.mylab.myco.com''.\n"
-"You may also enter the IP address of the gateway if you have one"
-msgstr ""
-"Slu inn heiti vlarinnar. Vlarheiti arf a vera fullt \n"
-"heiti, t.d. odinn.grimsey.is mtt lka sl inn IP \n"
-"vistfang gttarinnar ef veist hva a vistfang er.\n"
-"Gttin gefur r agang t r staarnetinu (t.d. Interneti)."
-
-#: ../../network.pm_.c:393
-msgid "DNS server"
-msgstr "Nafnamilari"
-
-#: ../../network.pm_.c:394 ../../standalone/draknet_.c:565
-msgid "Gateway"
-msgstr "Gtt"
-
-#: ../../network.pm_.c:396
-msgid "Gateway device"
-msgstr "Gtt (tki)"
-
-#: ../../network.pm_.c:407
-#, fuzzy
-msgid "Proxies configuration"
-msgstr "Lokauppsetning"
-
-#: ../../network.pm_.c:408
-msgid "HTTP proxy"
-msgstr "HTTP sel:"
-
-#: ../../network.pm_.c:409
-msgid "FTP proxy"
-msgstr "FTP Sel:"
-
-#: ../../network.pm_.c:412
-msgid "Proxy should be http://..."
-msgstr "Sel a vera http://..."
-
-#: ../../network.pm_.c:413
-msgid "Proxy should be ftp://..."
-msgstr "Sel a vera ftp://..."
-
-#: ../../partition_table.pm_.c:563
-msgid "Extended partition not supported on this platform"
-msgstr ""
-
-#: ../../partition_table.pm_.c:581
-msgid ""
-"You have a hole in your partition table but I can't use it.\n"
-"The only solution is to move your primary partitions to have the hole next "
-"to the extended partitions"
-msgstr ""
-"a er gat sneiatflunni inni sem ekki er hgt a nota.\n"
-"Eina lausnins er a fra aalsneiar svo a gati veri vi hliina "
-"vibtasnei"
-
-#: ../../partition_table.pm_.c:675
-#, c-format
-msgid "Error reading file %s"
-msgstr "villa vi lestur r skrnni %s"
-
-#: ../../partition_table.pm_.c:682
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Villa vi lestur r skrnni %s: %s"
-
-#: ../../partition_table.pm_.c:684
-msgid "Bad backup file"
-msgstr "Skemmd afritsskr"
-
-#: ../../partition_table.pm_.c:706
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Villa vi a skrifa skrna %s"
-
-#: ../../partition_table_raw.pm_.c:161
-msgid ""
-"Something bad is happening on your drive. \n"
-"A test to check the integrity of data has failed. \n"
-"It means writing anything on the disk will end up with random trash"
-msgstr ""
-
-#: ../../pkgs.pm_.c:24
-msgid "must have"
-msgstr ""
-
-#: ../../pkgs.pm_.c:25
-msgid "important"
-msgstr ""
-
-#: ../../pkgs.pm_.c:26
-msgid "very nice"
-msgstr ""
-
-#: ../../pkgs.pm_.c:27
-#, fuzzy
-msgid "nice"
-msgstr "tki"
-
-#: ../../pkgs.pm_.c:28
-#, fuzzy
-msgid "maybe"
-msgstr "Rsikjarna"
-
-#: ../../printer.pm_.c:20
-msgid "Local printer"
-msgstr "Stabundinn prentari"
-
-#: ../../printer.pm_.c:21
-#, fuzzy
-msgid "Remote printer"
-msgstr "Vifng fyrir fjartengda lpd prentara"
-
-#: ../../printer.pm_.c:23
-#, fuzzy
-msgid "Remote lpd server"
-msgstr "Fjartengdur"
-
-#: ../../printer.pm_.c:24
-#, fuzzy
-msgid "Network printer (socket)"
-msgstr "Vifng NetWare prentara"
-
-#: ../../printer.pm_.c:25
-msgid "SMB/Windows 95/98/NT"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../printer.pm_.c:26
-msgid "NetWare"
-msgstr "NetWare"
-
-#: ../../printer.pm_.c:27 ../../printerdrake.pm_.c:158
-#: ../../printerdrake.pm_.c:160
-#, fuzzy
-msgid "Printer Device URI"
-msgstr "Prenttki:"
-
-#: ../../printerdrake.pm_.c:19
-msgid "Test ports"
-msgstr "Prfa tengi"
-
-#: ../../printerdrake.pm_.c:40
-#, c-format
-msgid "A printer, model \"%s\", has been detected on "
-msgstr "Prentari af gerinni \"%s\" fannst "
-
-#: ../../printerdrake.pm_.c:52
-msgid "Local Printer Device"
-msgstr "Stabundi prenttki"
-
-#: ../../printerdrake.pm_.c:53
-#, fuzzy
-msgid ""
-"What device is your printer connected to \n"
-"(note that /dev/lp0 is equivalent to LPT1:)?\n"
-msgstr ""
-"Vi hvaa tki er prentarinn inn tengdur\n"
-" (Athugau a /dev/lp0 er a sama og LPT1:)?\n"
-
-#: ../../printerdrake.pm_.c:55
-#, fuzzy
-msgid "Printer Device"
-msgstr "Prenttki:"
-
-#: ../../printerdrake.pm_.c:74
-msgid "Remote lpd Printer Options"
-msgstr "Vifng fyrir fjartengda lpd prentara"
-
-#: ../../printerdrake.pm_.c:75
-msgid ""
-"To use a remote lpd print queue, you need to supply\n"
-"the hostname of the printer server and the queue name\n"
-"on that server which jobs should be placed in."
-msgstr ""
-"Til ess a nota fjartengda lpd prentr arftu a gefa\n"
-"upp vlarheiti prentjnsins og prentrina eim sem\n"
-" vilt senda prentverkin ."
-
-#: ../../printerdrake.pm_.c:78
-#, fuzzy
-msgid "Remote hostname"
-msgstr "Prentjnn:"
-
-#: ../../printerdrake.pm_.c:79
-msgid "Remote queue"
-msgstr "Fjartengd prentr"
-
-#: ../../printerdrake.pm_.c:88
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB/Windows 9x/NT prentvifng"
-
-#: ../../printerdrake.pm_.c:89
-msgid ""
-"To print to a SMB printer, you need to provide the\n"
-"SMB host name (Note! It may be different from its\n"
-"TCP/IP hostname!) and possibly the IP address of the print server, as\n"
-"well as the share name for the printer you wish to access and any\n"
-"applicable user name, password, and workgroup information."
-msgstr ""
-"Til ess a geta prenta SMB prentara arftu a gefa\n"
-"upp SMB vlarheiti jnsins (sem er ekki endilega a\n"
-"sama og TCP/IP vlarheiti en oftast) og jafnvel IP vistfang prentjnsins\n"
-"samt samntingarheiti prentarans, notandaheiti, lykilori og\n"
-"vinnuhpsupplsingum fyrir prentarann."
-
-#: ../../printerdrake.pm_.c:94
-msgid "SMB server host"
-msgstr "Heiti SMB jns"
-
-#: ../../printerdrake.pm_.c:95
-msgid "SMB server IP"
-msgstr "Vistfang SMB jns"
-
-#: ../../printerdrake.pm_.c:96
-msgid "Share name"
-msgstr "Samntingarheiti"
-
-#: ../../printerdrake.pm_.c:99
-msgid "Workgroup"
-msgstr "Vinnuhpur"
-
-#: ../../printerdrake.pm_.c:124
-msgid "NetWare Printer Options"
-msgstr "Vifng NetWare prentara"
-
-#: ../../printerdrake.pm_.c:125
-msgid ""
-"To print to a NetWare printer, you need to provide the\n"
-"NetWare print server name (Note! it may be different from its\n"
-"TCP/IP hostname!) as well as the print queue name for the printer you\n"
-"wish to access and any applicable user name and password."
-msgstr ""
-"Til ess a geta prenta NetWare prentara arftu a gefa upp NetWare\n"
-"vlarheiti jnsins (sem er ekki endilega a sama og TCP/IP vlarheiti)\n"
-"samt heiti prentaraar, notandaheiti og lykilori fyrir\n"
-"prentarann."
-
-#: ../../printerdrake.pm_.c:129
-msgid "Printer Server"
-msgstr "Prentjnn"
-
-#: ../../printerdrake.pm_.c:130
-msgid "Print Queue Name"
-msgstr "Heiti prentraar"
-
-#: ../../printerdrake.pm_.c:142
-#, fuzzy
-msgid "Socket Printer Options"
-msgstr "Vifng stabundinna prentara"
-
-#: ../../printerdrake.pm_.c:143
-msgid ""
-"To print to a socket printer, you need to provide the\n"
-"hostname of the printer and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:145
-#, fuzzy
-msgid "Printer Hostname"
-msgstr "Stillingar prentara"
-
-#: ../../printerdrake.pm_.c:146 ../../printerdrake.pm_.c:422
-#, fuzzy
-msgid "Port"
-msgstr "Llegt"
-
-#: ../../printerdrake.pm_.c:159
-msgid "You can specify directly the URI to access the printer with CUPS."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:192 ../../printerdrake.pm_.c:244
-msgid "What type of printer do you have?"
-msgstr "Hvernig prentara ertu me?"
-
-#: ../../printerdrake.pm_.c:204 ../../printerdrake.pm_.c:305
-msgid "Do you want to test printing?"
-msgstr "Viltu prenta t prufublasu?"
-
-#: ../../printerdrake.pm_.c:207 ../../printerdrake.pm_.c:316
-msgid "Printing test page(s)..."
-msgstr "Prenta t prufublasu(r)..."
-
-#: ../../printerdrake.pm_.c:214 ../../printerdrake.pm_.c:324
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:218 ../../printerdrake.pm_.c:328
-msgid ""
-"Test page(s) have been sent to the printer daemon.\n"
-"This may take a little time before printer start.\n"
-"Does it work properly?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:234
-msgid "Yes, print ASCII test page"
-msgstr "J, prenta ASCII prufusu"
-
-#: ../../printerdrake.pm_.c:235
-msgid "Yes, print PostScript test page"
-msgstr "J, prenta PostScript prufusu"
-
-#: ../../printerdrake.pm_.c:236
-msgid "Yes, print both test pages"
-msgstr "J, prenta bar prufusur"
-
-#: ../../printerdrake.pm_.c:243
-msgid "Configure Printer"
-msgstr "Stilla prentara"
-
-#: ../../printerdrake.pm_.c:273
-msgid "Printer options"
-msgstr "Stillingar prentara"
-
-#: ../../printerdrake.pm_.c:274
-msgid "Paper Size"
-msgstr "Papprsstr"
-
-#: ../../printerdrake.pm_.c:275
-msgid "Eject page after job?"
-msgstr "Koma blasu t eftir?"
-
-#: ../../printerdrake.pm_.c:280
-msgid "Uniprint driver options"
-msgstr "Uniprint rekilvalkostir"
-
-#: ../../printerdrake.pm_.c:281
-msgid "Color depth options"
-msgstr "Stillingar litadpt"
-
-#: ../../printerdrake.pm_.c:283
-msgid "Print text as PostScript?"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:285
-msgid "Fix stair-stepping text?"
-msgstr "Afstalla texta (trppurnar)?"
-
-#: ../../printerdrake.pm_.c:287
-msgid "Number of pages per output pages"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:288
-msgid "Right/Left margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:289
-msgid "Top/Bottom margins in points (1/72 of inch)"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:291
-msgid "Extra GhostScript options"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:293
-#, fuzzy
-msgid "Extra Text options"
-msgstr "Stillingar litadpt"
-
-#: ../../printerdrake.pm_.c:295
-msgid "Reverse page order"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:345
-msgid "Would you like to configure a printer?"
-msgstr "Viltu setja upp prentara?"
-
-#: ../../printerdrake.pm_.c:351
-#, fuzzy
-msgid ""
-"Here are the following print queues.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Hrna eru nverandi stillingar LILO .\n"
-" getur btt vi fleirum ea breytt essum."
-
-#: ../../printerdrake.pm_.c:370
-#, fuzzy
-msgid "CUPS starting"
-msgstr "tla"
-
-#: ../../printerdrake.pm_.c:370
-msgid "Reading CUPS drivers database..."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:384 ../../printerdrake.pm_.c:450
-#: ../../printerdrake.pm_.c:471 ../../printerdrake.pm_.c:479
-msgid "Select Printer Connection"
-msgstr "Veldu prenttengingu"
-
-#: ../../printerdrake.pm_.c:385 ../../printerdrake.pm_.c:472
-msgid "How is the printer connected?"
-msgstr "Hvernig er essi prentari tengdur?"
-
-#: ../../printerdrake.pm_.c:392
-#, fuzzy
-msgid "Select Remote Printer Connection"
-msgstr "Veldu prenttengingu"
-
-#: ../../printerdrake.pm_.c:393
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected.\n"
-"In case of doubt, select \"Remote CUPS server\"."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:416
-msgid ""
-"With a remote CUPS server, you do not have to configure\n"
-"any printer here; printers will be automatically detected\n"
-"unless you have a server on a different network; in the\n"
-"latter case, you have to give the CUPS server IP address\n"
-"and optionally the port number."
-msgstr ""
-
-#: ../../printerdrake.pm_.c:421
-#, fuzzy
-msgid "CUPS server IP"
-msgstr "Vistfang SMB jns"
-
-#: ../../printerdrake.pm_.c:429
-msgid "Port number should be numeric"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:451 ../../printerdrake.pm_.c:480
-#, fuzzy
-msgid "Remove queue"
-msgstr "Fjartengd prentr"
-
-#: ../../printerdrake.pm_.c:454
-msgid ""
-"Name of printer should contains only letters, numbers and the underscore"
-msgstr ""
-
-#: ../../printerdrake.pm_.c:461
-#, fuzzy
-msgid ""
-"Every printer need a name (for example lp).\n"
-"Other parameters such as the description of the printer or its location\n"
-"can be defined. What name should be used for this printer and\n"
-"how is the printer connected?"
-msgstr ""
-"Allar prentrair (sem taka vi prentverkum) urfa heiti\n"
-"(oft bara lp) og mppu. Hvaa heiti og mppu viltu nota fyrir\n"
-"essa prentr?"
-
-#: ../../printerdrake.pm_.c:465
-#, fuzzy
-msgid "Name of printer"
-msgstr "Stabundinn prentari"
-
-#: ../../printerdrake.pm_.c:466
-#, fuzzy
-msgid "Description"
-msgstr "Stilla handvirkt"
-
-#: ../../printerdrake.pm_.c:467
-#, fuzzy
-msgid "Location"
-msgstr "Upplsingar"
-
-#: ../../printerdrake.pm_.c:482
-#, fuzzy
-msgid ""
-"Every print queue (which print jobs are directed to) needs a\n"
-"name (often lp) and a spool directory associated with it. What\n"
-"name and directory should be used for this queue and how is the printer "
-"connected?"
-msgstr ""
-"Allar prentrair (sem taka vi prentverkum) urfa heiti\n"
-"(oft bara lp) og mppu. Hvaa heiti og mppu viltu nota fyrir\n"
-"essa prentr?"
-
-#: ../../printerdrake.pm_.c:489
-#, fuzzy
-msgid "Name of queue"
-msgstr "Heiti prentraar:"
-
-#: ../../printerdrake.pm_.c:490
-#, fuzzy
-msgid "Spool directory"
-msgstr "Mappa prentraar:"
-
-#: ../../printerdrake.pm_.c:491
-#, fuzzy
-msgid "Printer Connection"
-msgstr "Veldu prenttengingu"
-
-#: ../../raid.pm_.c:33
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr ""
-
-#: ../../raid.pm_.c:103
-msgid "Can't write file $file"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed"
-msgstr ""
-
-#: ../../raid.pm_.c:128
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr ""
-
-#: ../../raid.pm_.c:144
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Ekki ngu margar disksneiar fyrir RAID %d\n"
-
-#: ../../services.pm_.c:16
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
-
-#: ../../services.pm_.c:17
-msgid "Anacron a periodic command scheduler."
-msgstr ""
-
-#: ../../services.pm_.c:18
-msgid ""
-"apmd is used for monitoring batery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-
-#: ../../services.pm_.c:20
-msgid ""
-"Runs commands scheduled by the at command at the time specified when\n"
-"at was run, and runs batch commands when the load average is low enough."
-msgstr ""
-
-#: ../../services.pm_.c:22
-msgid ""
-"cron is a standard UNIX program that runs user-specified programs\n"
-"at periodic scheduled times. vixie cron adds a number of features to the "
-"basic\n"
-"UNIX cron, including better security and more powerful configuration options."
-msgstr ""
-
-#: ../../services.pm_.c:25
-msgid ""
-"GPM adds mouse support to text-based Linux applications such the\n"
-"Midnight Commander. It also allows mouse-based console cut-and-paste "
-"operations,\n"
-"and includes support for pop-up menus on the console."
-msgstr ""
-
-#: ../../services.pm_.c:28
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
-msgstr ""
-
-#: ../../services.pm_.c:30
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files\n"
-"and CGI."
-msgstr ""
-
-#: ../../services.pm_.c:32
-msgid ""
-"The internet superserver daemon (commonly called inetd) starts a\n"
-"variety of other internet services as needed. It is responsible for "
-"starting\n"
-"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
-"disables\n"
-"all of the services it is responsible for."
-msgstr ""
-
-#: ../../services.pm_.c:36
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
-
-#: ../../services.pm_.c:38
-msgid ""
-"This package loads the selected keyboard map as set in\n"
-"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
-"You should leave this enabled for most machines."
-msgstr ""
-
-#: ../../services.pm_.c:41
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../services.pm_.c:43
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../services.pm_.c:44
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
-msgstr ""
-
-#: ../../services.pm_.c:46
-msgid ""
-"lpd is the print daemon required for lpr to work properly. It is\n"
-"basically a server that arbitrates print jobs to printer(s)."
-msgstr ""
-
-#: ../../services.pm_.c:48
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../services.pm_.c:50
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve\n"
-"host names to IP addresses."
-msgstr ""
-
-#: ../../services.pm_.c:52
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-
-#: ../../services.pm_.c:54
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-
-#: ../../services.pm_.c:56
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
-"This service provides NFS server functionality, which is configured via the\n"
-"/etc/exports file."
-msgstr ""
-
-#: ../../services.pm_.c:59
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
-msgstr ""
-
-#: ../../services.pm_.c:61
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-
-#: ../../services.pm_.c:63
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr ""
-
-#: ../../services.pm_.c:64
-msgid ""
-"PCMCIA support is usually to support things like ethernet and\n"
-"modems in laptops. It won't get started unless configured so it is safe to "
-"have\n"
-"it installed on machines that don't need it."
-msgstr ""
-
-#: ../../services.pm_.c:67
-msgid ""
-"The portmapper manages RPC connections, which are used by\n"
-"protocols such as NFS and NIS. The portmap server must be running on "
-"machines\n"
-"which act as servers for protocols which make use of the RPC mechanism."
-msgstr ""
-
-#: ../../services.pm_.c:70
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that\n"
-"moves mail from one machine to another."
-msgstr ""
-
-#: ../../services.pm_.c:72
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-
-#: ../../services.pm_.c:74
-msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle"
-msgstr ""
-
-#: ../../services.pm_.c:76
-msgid ""
-"The routed daemon allows for automatic IP router table updated via\n"
-"the RIP protocol. While RIP is widely used on small networks, more complex\n"
-"routing protocols are needed for complex networks."
-msgstr ""
-
-#: ../../services.pm_.c:79
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-
-#: ../../services.pm_.c:81
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-
-#: ../../services.pm_.c:83
-msgid ""
-"The rwho protocol lets remote users get a list of all of the users\n"
-"logged into a machine running the rwho daemon (similiar to finger)."
-msgstr ""
-
-#: ../../services.pm_.c:85
-msgid "Launch the sound system on your machine"
-msgstr ""
-
-#: ../../services.pm_.c:86
-msgid ""
-"Syslog is the facility by which many daemons use to log messages\n"
-"to various system log files. It is a good idea to always run syslog."
-msgstr ""
-
-#: ../../services.pm_.c:88
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../services.pm_.c:89
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr ""
-
-#: ../../services.pm_.c:118
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Veldu r jnustur sem skal sjlfkrafa keyra vi rsingu"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "running"
-msgstr "Avrun"
-
-#: ../../services.pm_.c:137
-#, fuzzy
-msgid "stopped"
-msgstr "Bta aftan vi"
-
-#: ../../services.pm_.c:151
-msgid "Services and deamons"
-msgstr ""
-
-#: ../../services.pm_.c:156
-msgid ""
-"No additionnal information\n"
-"about this service, sorry."
-msgstr ""
-
-#: ../../services.pm_.c:163
-#, fuzzy
-msgid "On boot"
-msgstr "Rt"
-
-#: ../../standalone/diskdrake_.c:67
-msgid ""
-"I can't read your partition table, it's too corrupted for me :(\n"
-"I'll try to go on blanking bad partitions"
-msgstr ""
-"g get ekki lesi disksneiatflu na, hn er of skemmd fyrir mig :-(\n"
-"g mun reyna a halda fram me v a hreinsa skemmdar disksneiar"
-
-#: ../../standalone/drakgw_.c:37 ../../standalone/drakgw_.c:180
-#, fuzzy
-msgid "Internet Connection Sharing"
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/drakgw_.c:118
-msgid "Internet Connection Sharing currently enabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:119
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123
-#, fuzzy
-msgid "disable"
-msgstr "Tafla"
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-msgid "dismiss"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:123 ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "reconfigure"
-msgstr "Stilla X"
-
-#: ../../standalone/drakgw_.c:126
-#, fuzzy
-msgid "Disabling servers..."
-msgstr "Leita a tkjum..."
-
-#: ../../standalone/drakgw_.c:134
-#, fuzzy
-msgid "Internet connection sharing is now disabled."
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/drakgw_.c:143
-msgid "Internet Connection Sharing currently disabled"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:144
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:148
-#, fuzzy
-msgid "enable"
-msgstr "Tafla"
-
-#: ../../standalone/drakgw_.c:155
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:160
-#, fuzzy
-msgid "Internet connection sharing is now enabled."
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/drakgw_.c:168
-msgid "Config file content could not be interpreted."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:168
-msgid "Unrecognized config file"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:181
-msgid ""
-"You are about to configure your computer to share its Internet connection.\n"
-"With that feature, other computers on your local network will be able to use "
-"this computer's Internet connection.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:207
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:208
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "Endursn..."
-
-#: ../../standalone/drakgw_.c:216
-msgid "No network adapter on your system!"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:217
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:224
-#, c-format
-msgid ""
-"There is only one configured network adapter on your system:\n"
-"\n"
-"%s\n"
-"\n"
-"I am about to setup your Local Area Network with that adapter."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:233
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:242
-msgid ""
-"Warning, the network adapter is already configured. I will reconfigure it."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:253
-msgid "Potential LAN address conflict found in current config of $_!\n"
-msgstr ""
-
-#: ../../standalone/drakgw_.c:261 ../../standalone/drakgw_.c:267
-#, fuzzy
-msgid "Firewalling configuration detected!"
-msgstr "Les uppsetningarskr"
-
-#: ../../standalone/drakgw_.c:262 ../../standalone/drakgw_.c:268
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fix after installation."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:276
-#, fuzzy
-msgid "Configuring..."
-msgstr "Uppsetning"
-
-#: ../../standalone/drakgw_.c:277
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:307
-#, fuzzy
-msgid "Problems installing package $_"
-msgstr "Set inn pakka %s"
-
-#: ../../standalone/drakgw_.c:590
-msgid "Congratulations!"
-msgstr "Til hamingju!"
-
-#: ../../standalone/drakgw_.c:591
-msgid ""
-"Everything has been configured.\n"
-"You may now share Internet connection with other computers on your Local "
-"Area Network, using automatic network configuration (DHCP)."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:608
-msgid "The setup has already been done, but it's currently disabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:609
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
-
-#: ../../standalone/drakgw_.c:610
-#, fuzzy
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/drakgw_.c:615
-#, fuzzy
-msgid "Internet connection sharing configuration"
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/drakgw_.c:622
-#, fuzzy, c-format
-msgid ""
-"Welcome to the Internet Connection Sharing utility!\n"
-"\n"
-"%s\n"
-"\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/draknet_.c:59
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Netstillingar"
-
-#: ../../standalone/draknet_.c:66 ../../standalone/draknet_.c:539
-#, fuzzy
-msgid "Profile: "
-msgstr "tkst ekki a tengja: "
-
-#: ../../standalone/draknet_.c:74
-msgid "Del profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:80
-msgid "Profile to delete:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:108
-msgid "New profile..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:114
-msgid "Name of the profile to create:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:140
-#, fuzzy
-msgid "Hostname: "
-msgstr "Vlarheiti:"
-
-#: ../../standalone/draknet_.c:147
-#, fuzzy
-msgid "Internet access"
-msgstr "Endursn..."
-
-#: ../../standalone/draknet_.c:160
-#, fuzzy
-msgid "Type:"
-msgstr "Tegund: "
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-msgid "Gateway:"
-msgstr "Gtt:"
-
-#: ../../standalone/draknet_.c:163 ../../standalone/draknet_.c:354
-#, fuzzy
-msgid "Interface:"
-msgstr "Endursn..."
-
-#: ../../standalone/draknet_.c:168
-msgid "Status:"
-msgstr ""
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:122 ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Connected"
-msgstr "Nafn tengingar"
-
-#: ../../standalone/draknet_.c:170 ../../standalone/draknet_.c:357
-#: ../../standalone/net_monitor_.c:83 ../../standalone/net_monitor_.c:122
-#: ../../standalone/net_monitor_.c:224
-#, fuzzy
-msgid "Not connected"
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Connect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:173 ../../standalone/draknet_.c:358
-msgid "Disconnect..."
-msgstr ""
-
-#: ../../standalone/draknet_.c:191
-#, fuzzy
-msgid "Starting your connection..."
-msgstr "Stilla nettengingu"
-
-#: ../../standalone/draknet_.c:199
-#, fuzzy
-msgid "Closing your connection..."
-msgstr "Stilla nettengingu"
-
-#: ../../standalone/draknet_.c:204
-msgid ""
-"The connection is not closed.\n"
-"Try to do it manually by running\n"
-"/etc/sysconfig/network-scripts/net_cnx_down\n"
-"in root."
-msgstr ""
-
-#: ../../standalone/draknet_.c:207
-#, fuzzy
-msgid "The system is now disconnected."
-msgstr "Hvaa disk viltu fra til?"
-
-#: ../../standalone/draknet_.c:219
-#, fuzzy
-msgid "Configure Internet Access..."
-msgstr "Setja upp prentara"
-
-#: ../../standalone/draknet_.c:226 ../../standalone/draknet_.c:411
-#, fuzzy
-msgid "LAN configuration"
-msgstr "Uppsetning"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Adapter"
-msgstr "Uppfrsla"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Driver"
-msgstr "Sem jn"
-
-#: ../../standalone/draknet_.c:231
-#, fuzzy
-msgid "Interface"
-msgstr "Endursn..."
-
-#: ../../standalone/draknet_.c:231
-msgid "Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:250
-#, fuzzy
-msgid "Configure Local Area Network..."
-msgstr "Stilla nettengingu"
-
-#: ../../standalone/draknet_.c:283
-#, fuzzy
-msgid "Normal Mode"
-msgstr "Venjulega"
-
-#: ../../standalone/draknet_.c:288
-msgid "Apply"
-msgstr ""
-
-#: ../../standalone/draknet_.c:307
-#, fuzzy
-msgid "Please Wait... Applying the configuration"
-msgstr "Prfunar skilgreining"
-
-#: ../../standalone/draknet_.c:391
-msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:415
-#, fuzzy
-msgid "LAN Configuration"
-msgstr "Uppsetning"
-
-#: ../../standalone/draknet_.c:423
-#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/draknet_.c:429
-msgid "Boot Protocol"
-msgstr ""
-
-#: ../../standalone/draknet_.c:430
-msgid "Started on boot"
-msgstr ""
-
-#: ../../standalone/draknet_.c:431
-msgid "DHCP client"
-msgstr ""
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Disable"
-msgstr "Tafla"
-
-#: ../../standalone/draknet_.c:466 ../../standalone/draknet_.c:470
-#, fuzzy
-msgid "Enable"
-msgstr "Tafla"
-
-#: ../../standalone/draknet_.c:504
-msgid ""
-"You don't have any internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/draknet_.c:528
-#, fuzzy
-msgid "Internet connection configuration"
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/draknet_.c:532
-#, fuzzy
-msgid "Internet Connection Configuration"
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/draknet_.c:541
-#, fuzzy
-msgid "Connection type: "
-msgstr "Nafn tengingar"
-
-#: ../../standalone/draknet_.c:547
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draknet_.c:560
-#, fuzzy
-msgid "Provider dns 1 (optional)"
-msgstr "Stillingar prentara"
-
-#: ../../standalone/draknet_.c:561
-#, fuzzy
-msgid "Provider dns 2 (optional)"
-msgstr "Stillingar prentara"
-
-#: ../../standalone/draknet_.c:574
-msgid "Ethernet Card"
-msgstr ""
-
-#: ../../standalone/draknet_.c:575
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/draksec_.c:21
-msgid "Welcome To Crackers"
-msgstr "Velkomin(n) tlvurjtinn"
-
-#: ../../standalone/draksec_.c:22
-msgid "Poor"
-msgstr "Llegt"
-
-#: ../../standalone/draksec_.c:26
-msgid "Paranoid"
-msgstr "Taugaveikla"
-
-#: ../../standalone/draksec_.c:29
-msgid ""
-"This level is to be used with care. It makes your system more easy to use,\n"
-"but very sensitive: it must not be used for a machine connected to others\n"
-"or to the Internet. There is no password access."
-msgstr ""
-
-#: ../../standalone/draksec_.c:32
-msgid ""
-"Password are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-
-#: ../../standalone/draksec_.c:33
-msgid ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-msgstr ""
-"Few improvements for this security level, the main one is that there are\n"
-"more security warnings and checks."
-
-#: ../../standalone/draksec_.c:35
-msgid ""
-"This is the standard security recommended for a computer that will be used\n"
-"to connect to the Internet as a client. There are now security checks. "
-msgstr ""
-"etta er hi hefbundna ryggi sem mlt er me fyrir tlvu sem verur notu\n"
-"til a tengja vi neti sem biill. ryggisathuganir eru nna gangi. "
-
-#: ../../standalone/draksec_.c:37
-msgid ""
-"With this security level, the use of this system as a server becomes "
-"possible.\n"
-"The security is now high enough to use the system as a server which accept\n"
-"connections from many clients. "
-msgstr ""
-" essu ryggisstigi er ori mgulegt a nota tlvuna sem jn.\n"
-"ryggi er ngu ngu miki til a taka vi fyrirspurnum fr\n"
-"mrgum bilum. "
-
-#: ../../standalone/draksec_.c:40
-msgid ""
-"We take level 4 features, but now the system is entirely closed.\n"
-"Security features are at their maximum."
-msgstr ""
-"Kerfi er komi 4. stig og er n alveg loka.\n"
-"ryggi er hsta stigi."
-
-#: ../../standalone/draksec_.c:52
-msgid "Setting security level"
-msgstr "Stilli ryggisrep"
-
-#: ../../standalone/drakxconf_.c:44
-#, fuzzy
-msgid "Control Center"
-msgstr "Nafn tengingar"
-
-#: ../../standalone/drakxconf_.c:45
-msgid "Choose the tool you want to use"
-msgstr "Veldu forriti sem vilt nota"
-
-#: ../../standalone/keyboarddrake_.c:16
-msgid "usage: keyboarddrake [--expert] [keyboard]\n"
-msgstr ""
-
-#: ../../standalone/keyboarddrake_.c:36
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../standalone/livedrake_.c:23
-#, fuzzy
-msgid "Change Cd-Rom"
-msgstr "Breyta upplausn"
-
-#: ../../standalone/livedrake_.c:24
-msgid ""
-"Please insert the Installation Cd-Rom in your drive and press Ok when done.\n"
-"If you don't have it, press Cancel to avoid live upgrade."
-msgstr ""
-
-#: ../../standalone/livedrake_.c:34
-msgid "Unable to start live upgrade !!!\n"
-msgstr ""
-
-#: ../../standalone/mousedrake_.c:50
-msgid "no serial_usb found\n"
-msgstr "ekkert serial_usb fannst\n"
-
-#: ../../standalone/mousedrake_.c:54
-msgid "Emulate third button?"
-msgstr "Herma eftir rija hnapp?"
-
-#: ../../standalone/mousedrake_.c:131
-#, fuzzy
-msgid "Test the mouse here."
-msgstr "Hvernig ms ertu me?"
-
-#: ../../standalone/net_monitor_.c:40 ../../standalone/net_monitor_.c:52
-#, fuzzy
-msgid "Network Monitoring"
-msgstr "Netstillingar"
-
-#: ../../standalone/net_monitor_.c:56
-msgid "Statistics"
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:59
-msgid "Sending Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:61
-msgid "Receiving Speed: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:66
-#, fuzzy
-msgid "Close"
-msgstr "USB ms"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Connecting to Internet "
-msgstr "Nafn tengingar"
-
-#: ../../standalone/net_monitor_.c:100 ../../standalone/net_monitor_.c:104
-#, fuzzy
-msgid "Disconnecting from Internet "
-msgstr "Nafn tengingar"
-
-#: ../../standalone/net_monitor_.c:114
-#, fuzzy
-msgid "Disconnection from Internet failed."
-msgstr "Nafn tengingar"
-
-#: ../../standalone/net_monitor_.c:115
-#, fuzzy
-msgid "Disconnection from Internet complete."
-msgstr "Nafn tengingar"
-
-#: ../../standalone/net_monitor_.c:117
-#, fuzzy
-msgid "Connection complete."
-msgstr "Nafn tengingar"
-
-#: ../../standalone/net_monitor_.c:118
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:188
-msgid "sent: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:191
-msgid "received: "
-msgstr ""
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Connect"
-msgstr "Nafn tengingar"
-
-#: ../../standalone/net_monitor_.c:222
-#, fuzzy
-msgid "Disconnect"
-msgstr "Veldu prenttengingu"
-
-#: ../../standalone/tinyfirewall_.c:29
-#, fuzzy
-msgid "Firewalling Configuration"
-msgstr "Les uppsetningarskr"
-
-#: ../../standalone/tinyfirewall_.c:42
-#, fuzzy
-msgid "Firewalling configuration"
-msgstr "Les uppsetningarskr"
-
-#: ../../standalone/tinyfirewall_.c:77
-msgid ""
-"Firewalling\n"
-"\n"
-"You already have set up a firewall.\n"
-"Click on Configure to change or remove the firewall"
-msgstr ""
-
-#: ../../standalone/tinyfirewall_.c:81
-msgid ""
-"Firewalling\n"
-"\n"
-"Click on Configure to set up a standard firewall"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:10
-msgid ""
-"tinyfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Linux Mandrake machine.\n"
-"For a powerful dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:15
-msgid ""
-"We'll now ask you questions about which services you'd like to allow\n"
-"the Internet to connect to. Please think carefully about these\n"
-"questions, as your computer's security is important.\n"
-"\n"
-"Please, if you're not currently using one of these services, firewall\n"
-"it off. You can change this configuration anytime you like by\n"
-"re-running this application!"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:22
-msgid ""
-"Are you running a web server on this machine that you need the whole\n"
-"Internet to see? If you are running a webserver that only needs to be\n"
-"accessed by this machine, you can safely answer NO here.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:27
-msgid ""
-"Are you running a name server on this machine? If you didn't set one\n"
-"up to give away IP and zone information to the whole Internet, please\n"
-"answer no.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:32
-msgid ""
-"Do you want to allow incoming Secure Shell (ssh) connections? This\n"
-"is a telnet-replacement that you might use to login. If you're using\n"
-"telnet now, you should definitely switch to ssh. telnet is not\n"
-"encrypted -- so some attackers can steal your password if you use\n"
-"it. ssh is encrypted and doesn't allow for this eavesdropping."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:37
-msgid ""
-"Do you want to allow incoming telnet connections?\n"
-"This is horribly unsafe, as we explained in the previous screen. We\n"
-"strongly recommend answering No here and using ssh in place of\n"
-"telnet.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:42
-msgid ""
-"Are you running an FTP server here that you need accessible to the\n"
-"Internet? If you are, we strongly recommend that you only use it for\n"
-"Anonymous transfers. Any passwords sent by FTP can be stolen by some\n"
-"attackers, since FTP also uses no encryption for transferring passwords.\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:47
-msgid ""
-"Are you running a mail server here? If you're sending you \n"
-"messages through pine, mutt or any other text-based mail client,\n"
-"you probably are. Otherwise, you should firewall this off.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:52
-msgid ""
-"Are you running a POP or IMAP server here? This would\n"
-"be used to host non-web-based mail accounts for people via \n"
-"this machine.\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:57
-msgid ""
-"You appear to be running a 2.2 kernel. If your network IP\n"
-"is automatically set by a computer in your home or office \n"
-"(dynamically assigned), we need to allow for this. Is\n"
-"this the case?\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:62
-msgid ""
-"Is your computer getting time syncronized to another computer?\n"
-"Mostly, this is used by medium-large Unix/Linux organizations\n"
-"to synchronize time for logging and such. If you're not part\n"
-"of a larger office and haven't heard of this, you probably \n"
-"aren't."
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:67
-msgid ""
-"Configuration complete. May we write these changes to disk?\n"
-"\n"
-"\n"
-"\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:83
-#, c-format
-msgid "Can't open %s: %s\n"
-msgstr ""
-
-#: ../../tinyfirewall.pm_.c:85
-#, fuzzy, c-format
-msgid "Can't open %s for writing: %s\n"
-msgstr "Villa vi a opna %s til skriftar: %s"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Development"
-msgstr "Forritun"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Workstation"
-msgstr "Upplsingar"
-
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Personal Information Management"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Graphics"
-msgstr "Margmilun"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet"
-msgstr "Endursn..."
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Vifng NetWare prentara"
-
-#: ../../share/compssUsers:999
-msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet station"
-msgstr "Sel stillingar"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office"
-msgstr "tki"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr "Margmilun"
-
-#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Programs to manage your finance, such as gnucash"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Leibeiningar"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Utilities"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Graphical Environment"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Sound"
-msgstr "Margmilun"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Video players and editors"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Scientific Workstation"
-msgstr "Upplsingar"
-
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Postfix mail server, Inn news server"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Games"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - Video"
-msgstr "Margmilun"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Vifng NetWare prentara"
-
-#: ../../share/compssUsers:999
-msgid "Graphics programs such as The Gimp"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Office Workstation"
-msgstr "Upplsingar"
-
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "More Graphical Desktops (Gnome, IceWM)"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Tools to create and burn CD's"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia - CD Burning"
-msgstr "Margmilun"
-
-#: ../../share/compssUsers:999
-msgid "Archiving, emulators, monitoring"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Server"
-msgstr "netjnn"
-
-#: ../../share/compssUsers:999
-msgid "Personal Finance"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Uppsetning"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "KDE Workstation"
-msgstr "Upplsingar"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
-
-#: ../../share/compssUsers:999
-msgid "Mail/Groupware/News"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Gnome Workstation"
-msgstr "Upplsingar"
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Internet gateway"
-msgstr "Endursn..."
-
-#: ../../share/compssUsers:999
-msgid "Tools for your Palm Pilot or your Visor"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr "Leibeiningar"
-
-#: ../../share/compssUsers:999
-msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
-
-#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "Viltu prfa skilgreininguna"
-
-#: ../../share/compssUsers:999
-msgid "Set of tools for mail, news, web, file transfer, and chat"
-msgstr ""
-
-#, fuzzy
-#~ msgid "%d seconds"
-#~ msgstr "Htti eftir %d sekndur"
-
-#, fuzzy
-#~ msgid "Configure..."
-#~ msgstr "Uppsetning"
-
-#, fuzzy
-#~ msgid "Lilo/Grub configuration"
-#~ msgstr "Uppsetning"
-
-#, fuzzy
-#~ msgid "Selected size %d%s"
-#~ msgstr "Velji skr"
-
-#, fuzzy
-#~ msgid "Opening your connection..."
-#~ msgstr "Stilla nettengingu"
-
-#, fuzzy
-#~ msgid "Standard tools"
-#~ msgstr "Forritun"
-
-#, fuzzy
-#~ msgid "Configuration de Lilo/Grub"
-#~ msgstr "Uppsetning: Bta sl vi"
-
-#, fuzzy
-#~ msgid "Boot style configuration"
-#~ msgstr "Lokauppsetning"
-
-#, fuzzy
-#~ msgid "Automatic dependencies"
-#~ msgstr "Athuga tengsli milli pakka"
-
-#, fuzzy
-#~ msgid "Configure LILO/GRUB"
-#~ msgstr "Stilla X"
-
-#, fuzzy
-#~ msgid "Create a boot floppy"
-#~ msgstr "Ba til rsidiskling"
-
-#, fuzzy
-#~ msgid "Format floppy"
-#~ msgstr "Forsn"
-
-#, fuzzy
-#~ msgid "Choice"
-#~ msgstr "tki"
-
-#, fuzzy
-#~ msgid "gMonitor"
-#~ msgstr "Skjr"
-
-# ## skrytid
-#, fuzzy
-#~ msgid ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ "* Use hard drive optimizations: this option can improve hard disk "
-#~ "performance but is only for advanced users. Some buggy\n"
-#~ " chipsets can ruin your data, so beware. Note that the kernel has a "
-#~ "builtin blacklist of drives and chipsets, but if\n"
-#~ " you want to avoid bad surprises, leave this option unset.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Choose security level: you can choose a security level for your system. "
-#~ "Please refer to the manual for complete\n"
-#~ " information. Basically, if you don't know what to choose, keep the "
-#~ "default option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Precise RAM if needed: unfortunately, there is no standard method to "
-#~ "ask the BIOS about the amount of RAM present in\n"
-#~ " your computer. As consequence, Linux may fail to detect your amount of "
-#~ "RAM correctly. If this is the case, you can\n"
-#~ " specify the correct amount or RAM here. Please note that a difference "
-#~ "of 2 or 4 MB between detected memory and memory\n"
-#~ " present in your system is normal.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Removable media automounting: if you would prefer not to manually mount "
-#~ "removable media (CD-Rom, floppy, Zip, etc.) by\n"
-#~ " typing \"mount\" and \"umount\", select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Clean \"/tmp\" at each boot: if you want delete all files and "
-#~ "directories stored in \"/tmp\" when you boot your system,\n"
-#~ " select this option.\n"
-#~ "\n"
-#~ "\n"
-#~ "* Enable num lock at startup: if you want NumLock key enabled after "
-#~ "booting, select this option. Please note that you\n"
-#~ " should not enable this option on laptops and that NumLock may or may "
-#~ "not work under X."
-#~ msgstr ""
-#~ "You can now select some miscellaneous options for your system.\n"
-#~ "\n"
-#~ " - Use hard drive optimizations: This option can improve hard disk\n"
-#~ "accesses but is only for advanced users, it can ruin your hard drive if\n"
-#~ "used incorrectly. Use it only if you know how.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Choose security level: You can choose a security level for your\n"
-#~ "system.\n"
-#~ " Please refer to the manual for more information.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Precise RAM size if needed: In some cases, Linux is unable to\n"
-#~ "correctly detect all the installed RAM on some systems. If this is the\n"
-#~ "case, specify the correct quantity. Note: a difference of 2 or 4 Mb is\n"
-#~ "normal.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Removable media automounting: If you would prefer not to manually\n"
-#~ "mount removable drives (CD-ROM, Floppy, Zip) by typing \"mount\" and\n"
-#~ "\"umount\", select this option. \n"
-#~ "\n"
-#~ "\n"
-#~ " - Enable Num Lock at startup: If you want Number Lock enabled after\n"
-#~ "booting, select this option (Note: Num Lock will still not work under\n"
-#~ "X)."
-
-#, fuzzy
-#~ msgid "Internet/Network access"
-#~ msgstr "Endursn..."
-
-#, fuzzy
-#~ msgid "Mail information"
-#~ msgstr "Sna upplsingar"
-
-#, fuzzy
-#~ msgid "Firewall Configuration Wizard"
-#~ msgstr "Netstillingar"
-
-#~ msgid "Miscellaneous"
-#~ msgstr "mislegt"
-
-#~ msgid "Miscellaneous questions"
-#~ msgstr "msar spurningar:"
-
-#, fuzzy
-#~ msgid "Can't use supermount in high security level"
-#~ msgstr "Stilli ryggisrep"
-
-#, fuzzy
-#~ msgid "Actions"
-#~ msgstr "Upplsingar"
-
-#, fuzzy
-#~ msgid "toot"
-#~ msgstr "Rt"
-
-#~ msgid "First DNS Server"
-#~ msgstr "Aal nafnamilari"
-
-#~ msgid "Second DNS Server"
-#~ msgstr "Vara nafnamilari"
-
-#, fuzzy
-#~ msgid "using module"
-#~ msgstr "Hringja inn me mtaldi"
-
-#, fuzzy
-#~ msgid "Development, Database"
-#~ msgstr "Forritun"
-
-#, fuzzy
-#~ msgid "None"
-#~ msgstr "Bi"
-
-#, fuzzy
-#~ msgid "Which bootloader(s) do you want to use?"
-#~ msgstr "Hverju viltu bta vi?"
-
-#~ msgid "Try to find a modem?"
-#~ msgstr "Reyna a finna mtald?"
-
-#, fuzzy
-#~ msgid "Configure an ISDN connection"
-#~ msgstr "Stilla nettengingu"
-
-#, fuzzy
-#~ msgid "Configure a cable connection"
-#~ msgstr "Stilla nettengingu"
-
-#, fuzzy
-#~ msgid "Disable Internet Connection"
-#~ msgstr "Stilla nettengingu"
-
-#, fuzzy
-#~ msgid "Configure local network"
-#~ msgstr "Stilla nettengingu"
-
-#, fuzzy
-#~ msgid "Disable networking"
-#~ msgstr "Stilla nettengingu"
-
-#, fuzzy
-#~ msgid "Configure the Internet connection / Configure local Network"
-#~ msgstr "Nafn tengingar"
-
-#, fuzzy
-#~ msgid ""
-#~ "Local networking has already been configured.\n"
-#~ "Do you want to:"
-#~ msgstr "LAN netuppsetning er egar til staar. Hva viltu gera?"
-
-#, fuzzy
-#~ msgid "Reconfigure using wizard..."
-#~ msgstr "Uppsetning"
-
-#~ msgid "Multimedia"
-#~ msgstr "Margmilun"
-
-#, fuzzy
-#~ msgid "Gnome"
-#~ msgstr "Bi"
-
-#, fuzzy
-#~ msgid "Internet Tools"
-#~ msgstr "Sel stillingar"
-
-#, fuzzy
-#~ msgid "Development C/C++"
-#~ msgstr "Forritun"
-
-#~ msgid "Configure timezone"
-#~ msgstr "Tilgreina tmasvi"
-
-#~ msgid "Configure printer"
-#~ msgstr "Setja upp prentara"
-
-#, fuzzy
-#~ msgid "Network adaptater 1 (eth0):"
-#~ msgstr "Vifng NetWare prentara"
-
-#~ msgid "(may cause data corruption)"
-#~ msgstr "(getur skaa vistu ggn)"
-
-#~ msgid "Use hard drive optimisations?"
-#~ msgstr "Nota fnstillingar hrum disk(um)"
-
-#~ msgid "Enable num lock at startup"
-#~ msgstr "Kveikja NUMLOCK vi eftir rsingu"
-
-#, fuzzy
-#~ msgid "Confirm Password"
-#~ msgstr "Lykilor"
-
-#~ msgid "DNS server:"
-#~ msgstr "Nafnamilari:"
-
-#~ msgid "Gateway device:"
-#~ msgstr "Gtt (tki):"
-
-#, fuzzy
-#~ msgid "default"
-#~ msgstr "Sjlfgefi"
-
-#, fuzzy
-#~ msgid "What is your system used for?"
-#~ msgstr " hvaa tmasvi ertu?"
-
-#, fuzzy
-#~ msgid "Select the size you want to install"
-#~ msgstr "Veldu str sem vilt setja inn"
-
-#~ msgid "Customized"
-#~ msgstr "Srlagaa"
-
-#~ msgid "Use shadow file"
-#~ msgstr "Nota skuggaskr"
-
-#~ msgid "shadow"
-#~ msgstr "skuggi"
-
-#~ msgid "MD5"
-#~ msgstr "MD5"
-
-#~ msgid "Use MD5 passwords"
-#~ msgstr "Nota MD5 lykilor"
-
-#~ msgid "Search"
-#~ msgstr "Leita"
-
-#~ msgid "Package"
-#~ msgstr "Pakka"
-
-#~ msgid "Text"
-#~ msgstr "Texta"
-
-#~ msgid "Tree"
-#~ msgstr "Tr"
-
-#~ msgid "Sort by"
-#~ msgstr "Raa eftir"
-
-#~ msgid "Category"
-#~ msgstr "Flokk"
-
-#~ msgid "See"
-#~ msgstr "Skoa"
-
-#~ msgid "Installed packages"
-#~ msgstr "Pakkar sem eru inni"
-
-#~ msgid "Available packages"
-#~ msgstr "Tiltkir pakkar"
-
-#~ msgid "Show only leaves"
-#~ msgstr "Sna aeins laufbl"
-
-#~ msgid "Expand all"
-#~ msgstr "Opna allt"
-
-#~ msgid "Collapse all"
-#~ msgstr "Loka llu"
-
-#~ msgid "Add location of packages"
-#~ msgstr "Bta sl pakkanna vi"
-
-#~ msgid "Update location"
-#~ msgstr "Uppfrslusl"
-
-#~ msgid "Remove"
-#~ msgstr "Fjarlgja"
-
-#~ msgid "Find Package"
-#~ msgstr "Finna pakka"
-
-#~ msgid "Find Package containing file"
-#~ msgstr "Finna pakka sem inniheldur skr"
-
-#~ msgid "Toggle between Installed and Available"
-#~ msgstr "Skipta milli innsettra og tiltkra"
-
-#~ msgid "Uninstall"
-#~ msgstr "Fjarlgja"
-
-#~ msgid "Choose package to install"
-#~ msgstr "Veldu pakka til a setja inn"
-
-#~ msgid "Checking dependencies"
-#~ msgstr "Athuga tengsli milli pakka"
-
-#~ msgid "Wait"
-#~ msgstr "Augnablik"
-
-#~ msgid "The following packages are going to be uninstalled"
-#~ msgstr "Eftirfarandi pakkar vera fjarlgir"
-
-#~ msgid "Uninstalling the RPMs"
-#~ msgstr "Fjarlgji RPM pakkana"
-
-#~ msgid "Regexp"
-#~ msgstr "Regexp"
-
-#~ msgid "Which package are looking for"
-#~ msgstr "Hvaa pakka ertu a leita a?"
-
-#~ msgid "%s not found"
-#~ msgstr "%s fannst ekki"
-
-#~ msgid "No match"
-#~ msgstr "Ekkert fannst"
-
-#~ msgid "No more match"
-#~ msgstr "Fleira fannst ekki"
-
-#~ msgid ""
-#~ "rpmdrake is currently in ``low memory'' mode.\n"
-#~ "I'm going to relaunch rpmdrake to allow searching files"
-#~ msgstr ""
-#~ "rpmdrake er nna ``lgminnis'' ham.\n"
-#~ "a verur eyrt aftur til a leyfa skrarleit."
-
-#~ msgid "Which file are you looking for?"
-#~ msgstr "Hvaa skr ertu a leita a?"
-
-#~ msgid "What are looking for?"
-#~ msgstr "Hverju ertu a leita a?"
-
-#~ msgid "Give a name (eg: `extra', `commercial')"
-#~ msgstr "Gefu upp nafn (t.d. `extra', `commercial')"
-
-#~ msgid "Directory"
-#~ msgstr "Mappa"
-
-#~ msgid "No cdrom available (nothing in /mnt/cdrom)"
-#~ msgstr "Ekkert geisladrif til staar (ekkert /mnt/cdrom)"
-
-#~ msgid "URL of the directory containing the RPMs"
-#~ msgstr "Sl mppu sem inniheldur RPM pakka"
-
-#~ msgid ""
-#~ "For FTP and HTTP, you need to give the location for hdlist\n"
-#~ "It must be relative to the URL above"
-#~ msgstr ""
-#~ "Fyrir FTP og HTTP, arftu a gefa upp stasetningu hdlist.\n"
-#~ "Stasetningin verur a vera miu vi slina hr a ofan."
-
-#~ msgid "Please submit the following information"
-#~ msgstr "Vinsamlega tilgreindu eftirfarandi"
-
-#~ msgid "%s is already in use"
-#~ msgstr "%s er n egar notkun."
-
-#~ msgid "Updating the RPMs base"
-#~ msgstr "Uppfri RPM gagnaskrna"
-
-#~ msgid "Going to remove entry %s"
-#~ msgstr "Fjarlgji nafni %s"
-
-#~ msgid "Finding leaves"
-#~ msgstr "Leita a \"laufblum\"."
-
-#~ msgid "Finding leaves takes some time"
-#~ msgstr "essi leit mun taka dltinn tma"
-
-#, fuzzy
-#~ msgid "France"
-#~ msgstr "Htta vi"
-
-#, fuzzy
-#~ msgid "ECI modem"
-#~ msgstr "F. snillinga"
-
-#, fuzzy
-#~ msgid "interesting"
-#~ msgstr "Endursn..."
-
-#~ msgid "Which serial port is your mouse connected to?"
-#~ msgstr "Vi hvaa ratengi er msin n tengd?"
-
-#~ msgid "Czech"
-#~ msgstr "Tkkneskt"
-
-#~ msgid "Slovakian"
-#~ msgstr "Slvakskt"
-
-#, fuzzy
-#~ msgid "Reconfigure local network"
-#~ msgstr "Endurstilla netstillingar nna"
-
-#, fuzzy
-#~ msgid "Connect to Internet with a normal modem"
-#~ msgstr "Nafn tengingar"
-
-#, fuzzy
-#~ msgid "Connect to Internet using ISDN"
-#~ msgstr "Nafn tengingar"
-
-#, fuzzy
-#~ msgid "Connect to Internet using DSL (or ADSL)"
-#~ msgstr "Nafn tengingar"
-
-#, fuzzy
-#~ msgid "Connect to Internet using Cable"
-#~ msgstr "Nafn tengingar"
-
-#, fuzzy
-#~ msgid "Germany"
-#~ msgstr "skt"
-
-#, fuzzy
-#~ msgid "Germany (1TR6)"
-#~ msgstr "skt"
-
-#, fuzzy
-#~ msgid "What do you wish to do?"
-#~ msgstr "Hva viltu gera?"
-
-#, fuzzy
-#~ msgid "Install/Rescue"
-#~ msgstr "Innsetning"
-
-#, fuzzy
-#~ msgid "Rescue"
-#~ msgstr "Endurstkka"
-
-#~ msgid "Which partition type do you want?"
-#~ msgstr "Hvaa sneitegund viltu?"
-
-#, fuzzy
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of GNU/Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "Choose \"Rescue\" if you wish to rescue a version of Linux-Mandrake "
-#~ "already installed.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed GNU/Linux before, choose "
-#~ "this.\n"
-#~ "\n"
-#~ " - Customized: If you are familiar enough with GNU/Linux, you may then "
-#~ "choose\n"
-#~ " the primary usage for your machine. See below for details.\n"
-#~ "\n"
-#~ " - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-#~ " perform a highly customized installation. As for a \"Customized\"\n"
-#~ " installation class, you will be able to select the usage for your "
-#~ "system.\n"
-#~ " But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-#~ "DOING!\n"
-#~ msgstr ""
-#~ "Veldu \"Innsetning\" ef a eru engar fyrri tgfur af Linux tlvunni\n"
-#~ "ea ef vilt nota fleiri en eina dreifingu af Linux.\n"
-#~ "\n"
-#~ "Veldu \"Uppfrsla\" ef vilt uppfra fyrri innsetningu af Linux "
-#~ "Mandrake:\n"
-#~ "%s ea %s.\n"
-#~ "\n"
-#~ "\n"
-#~ "Select:\n"
-#~ "\n"
-#~ " - Rlagt: Ef hefur aldrei sett Linux inn ur.\n"
-#~ "\n"
-#~ " - Eftir skum: Ef hefur nokkra reynslu meiar with Linux, you "
-#~ "will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\".\n"
-
-# ***********************************************
-# *** Hr fyrir nean er ingin mn, en ***
-# *********** g fr lka aeins yfir a sem var ************
-# *** tt fyrir ofan. :-) - rarinn ***
-# *** (g klra etta seinnipartinn morgun) ***
-# ***********************************************
-#~ msgid ""
-#~ "This section is dedicated to configuring a local area\n"
-#~ "network (LAN) or a modem.\n"
-#~ "\n"
-#~ "Choose \"Local LAN\" and DrakX will\n"
-#~ "try to find an Ethernet adapter on your machine. PCI adapters\n"
-#~ "should be found and initialized automatically.\n"
-#~ "However, if your peripheral is ISA, autodetection will not work,\n"
-#~ "and you will have to choose a driver from the list that will appear "
-#~ "then.\n"
-#~ "\n"
-#~ "\n"
-#~ "As for SCSI adapters, you can let the driver probe for the adapter\n"
-#~ "in the first time, otherwise you will have to specify the options\n"
-#~ "to the driver that you will have fetched from documentation of your\n"
-#~ "hardware.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you install a Linux-Mandrake system on a machine which is part\n"
-#~ "of an already existing network, the network administrator will\n"
-#~ "have given you all necessary information (IP address, network\n"
-#~ "submask or netmask for short, and hostname). If you're setting\n"
-#~ "up a private network at home for example, you should choose\n"
-#~ "addresses.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Dialup with modem\" and the Internet connection with\n"
-#~ "a modem will be configured. DrakX will try to find your modem,\n"
-#~ "if it fails you will have to select the right serial port where\n"
-#~ "your modem is connected to."
-#~ msgstr ""
-#~ "essi hluti hefur a geyma uppsetningu staarnetstengingu\n"
-#~ "(LAN) ea mtaldstengingu.\n"
-#~ "\n"
-#~ "Ef velur \"Staarnetstenging\" mun DrakX\n"
-#~ "reyna a finna Ethernet netkorti vlinni. flestum tilvikum\n"
-#~ "finnast PCI netkort og er korti strax tilbi fyrir netuppsetningu.\n"
-#~ "Ef netkorti itt er hinsvegar ISA kort er sjlfvirk uppsetning v\n"
-#~ "ekki mguleg og arft v a velja rekil af listanum sem birtist.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ef ert me SCSI kort getur lti leita a v fyrst en san\n"
-#~ "gefi upp vifng ef a finnst ekki. Vifngin sem arft a nota\n"
-#~ "ttir a finna leibeiningunum sem komu me kortinu.\n"
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "Ef ert a setja Linux Mandrake tlvu sem er hluti af staarneti\n"
-#~ " ttir a f nausynlegar upplsingar fyrir tengingu hj "
-#~ "kerfisstjra.\n"
-#~ "Upplsingarnar sem arft til a tengjast staarneti me TCP/IP eru:\n"
-#~ "IP vistfang, undirnetssa (netsa) og tlvunafn. Ef ert a\n"
-#~ "setja upp einkanet getur sjlf(ur) kvei hvaa vistfang,\n"
-#~ "netsu og nafn notar tlvuna.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ef velur \"Mtaldstenging\" verur mtaldstengingin ger klr.\n"
-#~ "DrakX mun reyna a finna mtaldi itt en ef s leit ber ekki rangur\n"
-#~ " verur sjlf(ur) a velja ratengi (COM port) sem mtaldi er\n"
-#~ "tengt vi."
-
-#, fuzzy
-#~ msgid ""
-#~ "GNU/Linux can deal with many types of printer. Each of these\n"
-#~ "types require a different setup. Note however that the print\n"
-#~ "spooler uses 'lp' as the default printer name; so you\n"
-#~ "must have one printer with such a name; but you can give\n"
-#~ "several names, separated by '|' characters, to a printer.\n"
-#~ "So, if you prefer to have a more meaningful name you just have\n"
-#~ "to put it first, eg: \"My Printer|lp\".\n"
-#~ "The printer having \"lp\" in its name(s) will be the default printer.\n"
-#~ "\n"
-#~ "\n"
-#~ "If your printer is physically connected to your computer, select\n"
-#~ "\"Local printer\". You will then have to tell which port your\n"
-#~ "printer is connected to, and select the appropriate filter.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a printer located on a remote Unix machine,\n"
-#~ "you will have to select \"Remote lpd\". In order to make\n"
-#~ "it work, no username or password is required, but you will need\n"
-#~ "to know the name of the printing queue on this server.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you want to access a SMB printer (which means, a printer located\n"
-#~ "on a remote Windows 9x/NT machine), you will have to specify its\n"
-#~ "SMB name (which is not its TCP/IP name), and possibly its IP address,\n"
-#~ "plus the username, workgroup and password required in order to\n"
-#~ "access the printer, and of course the name of the printer. The same goes\n"
-#~ "for a NetWare printer, except that you need no workgroup information."
-#~ msgstr ""
-#~ "Linux getur nota margar gerir prentara. Prentararnir krefjast\n"
-#~ "mismunandi uppsetninga.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ef prentarinn inn er tengdur beint vi tlvuna veldu \n"
-#~ "\"Stabundinn prentari\". arft san a tilgreina vi\n"
-#~ "hvaa tengi prentarinn er tengdur og velja vieigandi su.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ef vilt hafa agang a prentara sem tengdur er vi fjarlga UNIX vl\n"
-#~ "(ea Windows NT me LPD) verur a velja \"Fjartengdur prentari\".\n"
-#~ " arft ekki a gefa upp notandanafn ea lykilor en arft a vita \n"
-#~ "nafni prentrinni eim jn.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ef vilt hafa agang a SMB prentara (prentara sem er tengdur vi\n"
-#~ "fjarlga Windows 9x/NT vl), arftu a gefa upp SMB nafn jnsins\n"
-#~ "sem oftast er sama og TCP/IP nafn (en arf ekki a vera). Einnig arftu\n"
-#~ "IP vistfang, notandanafn, lykilor, nafn vinnuhps og auvita sjlft\n"
-#~ "nafn prentarans. Sama gildir um NetWare prentara, nema arft\n"
-#~ "ekkert vinnuhpsnafn."
-
-#, fuzzy
-#~ msgid ""
-#~ "It is strongly recommended that you answer \"Yes\" here. If you install\n"
-#~ "Microsoft Windows at a later date it will overwrite the boot sector.\n"
-#~ "Unless you have made a bootdisk as suggested, you will not be able to\n"
-#~ "boot into GNU/Linux any more."
-#~ msgstr ""
-#~ "a er stranglega mlt me v a svarir \"J\" hrna. Ef setur\n"
-#~ "Microsoft Windows inn sar skrifar a yfir rsihluta disksins og\n"
-#~ "gerir r ar me kleyft a rsa Linux nema hafir veri bin(n)\n"
-#~ "a tba rsidiskling."
-
-#~ msgid "Forget the changes?"
-#~ msgstr "Eya breytingum?"
-
-#~ msgid "What is the type of your mouse?"
-#~ msgstr "Hvernig ms ertu me?"
-
-#~ msgid "Automatic resolutions"
-#~ msgstr "Sjlfvirk upplausn"
-
-#~ msgid ""
-#~ "To find the available resolutions I will try different ones.\n"
-#~ "Your screen will blink...\n"
-#~ "You can switch if off if you want, you'll hear a beep when it's over"
-#~ msgstr ""
-#~ "Til a finna mgulegar upplausnir munu nokkrar vera prfaar.\n"
-#~ "Skjrinn inn mun blikka...\n"
-#~ " getur slkkt honum ef vilt, tlvan flautar egar v er loki"
-
-#~ msgid ""
-#~ "I can try to find the available resolutions (eg: 800x600).\n"
-#~ "Sometimes, though, it may hang the machine.\n"
-#~ "Do you want to try?"
-#~ msgstr ""
-#~ "g get reynt a finna mgulegar upplausnir (t.d: 800x600).\n"
-#~ "Stundum getur tlvan frosi vi a.\n"
-#~ "Viltu prfa?"
-
-#~ msgid ""
-#~ "No valid modes found\n"
-#~ "Try with another video card or monitor"
-#~ msgstr ""
-#~ "Engar leyfilegar upplausnir fundust\n"
-#~ "Prfau a velja anna skjkort ea skj"
-
-#~ msgid "Automatical resolutions search"
-#~ msgstr "Sjlfvirk leit upplausna"
-
-#, fuzzy
-#~ msgid "Apple ADB Mouse"
-#~ msgstr "ATI brautarms"
-
-#, fuzzy
-#~ msgid "Apple ADB Mouse (2 Buttons)"
-#~ msgstr "USB ms (3 ea fleiri takkar)"
-
-#, fuzzy
-#~ msgid "Apple ADB Mouse (3+ Buttons)"
-#~ msgstr "USB ms (3 ea fleiri takkar)"
-
-#, fuzzy
-#~ msgid "Apple USB Mouse"
-#~ msgstr "USB ms"
-
-#, fuzzy
-#~ msgid "Apple USB Mouse (2 Buttons)"
-#~ msgstr "USB ms (3 ea fleiri takkar)"
-
-#, fuzzy
-#~ msgid "Apple USB Mouse (3+ Buttons)"
-#~ msgstr "USB ms (3 ea fleiri takkar)"
-
-#~ msgid "ASCII MieMouse"
-#~ msgstr "ASCII MieMouse"
-
-#~ msgid "Genius NetMouse Pro"
-#~ msgstr "Genius NetMouse Pro"
-
-#~ msgid "ATI Bus Mouse"
-#~ msgstr "ATI brautarms"
-
-#~ msgid "Microsoft Bus Mouse"
-#~ msgstr "Microsoft brautarms"
-
-#~ msgid "Logitech Bus Mouse"
-#~ msgstr "Logitech brautarms"
-
-#~ msgid "USB Mouse (3 buttons or more)"
-#~ msgstr "USB ms (3 ea fleiri takkar)"
-
-#~ msgid "Microsoft Rev 2.1A or higher (serial)"
-#~ msgstr "Microsoft tgfa 2.1A ea nrri (ratengd)"
-
-#~ msgid "Logitech MouseMan+/FirstMouse+ (serial)"
-#~ msgstr "Logitech MouseMan+/FirstMouse+ (ratengd)"
-
-#~ msgid "ASCII MieMouse (serial)"
-#~ msgstr "ASCII MieMouse (ratengd)"
-
-#~ msgid "Genius NetMouse (serial)"
-#~ msgstr "Genius NetMouse (ratengd)"
-
-#~ msgid "Generic Mouse (serial)"
-#~ msgstr "Almenn ms (ratengd)"
-
-#~ msgid "Microsoft compatible (serial)"
-#~ msgstr "Microsoft samhf (ratengd)"
-
-#~ msgid "Generic 3 Button Mouse (serial)"
-#~ msgstr "Almenn riggja hnappa ms (ratengd)"
-
-#, fuzzy
-#~ msgid "Kensington Thinking Mouse (serial)"
-#~ msgstr "Kensington Thinking Mouse"
-
-#~ msgid "nfs mount failed"
-#~ msgstr "tkst ekki a tengja nfs"
-
-#~ msgid "CHAP"
-#~ msgstr "CHAP"
-
-#~ msgid "Cryptographic"
-#~ msgstr "Dulkun"
-
-#~ msgid "Show less"
-#~ msgstr "Sna frri"
-
-#~ msgid "Show more"
-#~ msgstr "Sna fleiri"
-
-#~ msgid "What is your keyboard layout?"
-#~ msgstr "Hvaa lyklaborsuppsetningu viltu?"
-
-#~ msgid "Try to find PCMCIA cards?"
-#~ msgstr "Viltu leita a PCMCIA kortun?"
-
-#~ msgid "Try to find %s devices?"
-#~ msgstr "Leita a %s kortum?"
-
-#~ msgid "Try to find PCI devices?"
-#~ msgstr "Leita a PCI kortum?"
-
-#~ msgid "Searching root partition."
-#~ msgstr "Leita a rtardisksnei"
-
-#~ msgid "%s: This is not a root partition, please select another one."
-#~ msgstr "%s: etta er ekki rtardisksnei. Veldu ara."
-
-#~ msgid "No root partition found"
-#~ msgstr "Engin rtarsnei fannst"
-
-#~ msgid ", %U MB"
-#~ msgstr ", %U MB"
-
-# NOTE: this message will be displayed by lilo at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is then suggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-# When possible cp437 accentuated letters can be used too.
-#
-# '\240' is '' (aacute) in cp437 encoding
-# '\224' is '' (odiaeresis) in cp437 encoding.
-# '\221' is '' (ae) in cp437 encoding
-# '\241' is '' (iacute) in cp437 encoding
-# '\242' is '' (oacute) in cp437 encoding
-# '\230' is '' (yacute) in cp437 encoding
-# '\243' is '' (oacute) in cp437 encoding
-# there is no '' nor '' in cp437; changed respectively to 'th' and 'd'
-#
-#~ msgid ""
-#~ "Welcome to LILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or wait %d seconds "
-#~ "for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Velkomin(n) LILO strikerfisrsistjrann!\n"
-#~ "\n"
-#~ "Sldu <TAB> til ad f lista yfir mgulega valkosti.\n"
-#~ "\n"
-#~ "Til rsa einn af theim, sldu inn nafnid og sdan <ENTER>\n"
-#~ "eda bddu %d sekndur thar til sjlfgefin rsing hefst.\n"
-#~ "\n"
-
-# NOTE: this message will be displayed by SILO at boot time; that is
-# only the ascii charset will be available
-# so use only 7bit for this message
-#
-#~ msgid ""
-#~ "Welcome to SILO the operating system chooser!\n"
-#~ "\n"
-#~ "To list the possible choices, press <TAB>.\n"
-#~ "\n"
-#~ "To load one of them, write its name and press <ENTER> or\n"
-#~ "wait %d seconds for default boot.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Velkomin(n) i SILO styrikerfisraesistjorann!\n"
-#~ "\n"
-#~ "Sladu a <TAB> til ad fa lista yfir moegulega valkosti.\n"
-#~ "\n"
-#~ "Til raesa einn af theim, sldu inn nafnid og sidan a <ENTER>\n"
-#~ "eda biddu i %d sekundur thar til sjalfgefin raesing hefst.\n"
-#~ "\n"
-
-#~ msgid "SILO main options"
-#~ msgstr "Stillingar SILO"
-
-#~ msgid ""
-#~ "Here are the following entries in SILO.\n"
-#~ "You can add some more or change the existing ones."
-#~ msgstr ""
-#~ "Hrna eru nverandi stillingar SILO .\n"
-#~ " getur btt vi fleirum ea breytt essum."
-
-#~ msgid "This label is already in use"
-#~ msgstr "etta nafn er n egar notkun."
-
-#~ msgid "Installation of SILO failed. The following error occured:"
-#~ msgstr "Innsetning SILO brst skum eftirfarandi villu:"
-
-#~ msgid "Shutting down"
-#~ msgstr "Slekk tlvunni"
-
-#~ msgid ""
-#~ "Choose \"Install\" if there are no previous versions of Linux\n"
-#~ "installed, or if you wish to use multiple distributions or versions.\n"
-#~ "\n"
-#~ "\n"
-#~ "Choose \"Upgrade\" if you wish to update a previous version of Mandrake "
-#~ "Linux:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios), Gold "
-#~ "2000\n"
-#~ "or 7.0 (Air)."
-#~ msgstr ""
-#~ "Veldu \"Innsetning\" ef a eru engar fyrri tgfur af Linux tlvunni\n"
-#~ "ea ef vilt nota fleiri en eina dreifingu af Linux.\n"
-#~ "\n"
-#~ "\n"
-#~ "Veldu \"Uppfrsla\" ef vilt uppfra fyrri innsetningu af Linux "
-#~ "Mandrake:\n"
-#~ "5.1 (Venice), 5.2 (Leloo), 5.3 (Festen), 6.0 (Venus), 6.1 (Helios),\n"
-#~ "Gold 2000 ea 7.0 (Air)."
-
-#~ msgid "Do you want to use LILO?"
-#~ msgstr "Viltu nota LILO?"
-
-#~ msgid ""
-#~ "LILO (the LInux LOader) can boot Linux and other operating systems.\n"
-#~ "Normally they are correctly detected during installation. If you don't\n"
-#~ "see yours detected, you can add one or more now.\n"
-#~ "\n"
-#~ "\n"
-#~ "If you don't want that everybody could access at one of them, you can "
-#~ "remove\n"
-#~ "it now (a boot disk will be needed to boot it)."
-#~ msgstr ""
-#~ "LILO (LInux LOader) getur rst Linux og nnur strikerfi.\n"
-#~ "Venjulega finnast au vi innsetningu Linux. Ef sr\n"
-#~ "ekki itt kerfi getur btt v vi nna samt rum.\n"
-#~ "\n"
-#~ "\n"
-#~ "Ef vilt ekki a arir hafi agang a einhverju kerfanna getur\n"
-#~ " einfaldlega fjarlgt a nna (en arf rsidiskling til a rsa "
-#~ "a)."
-
-#~ msgid ""
-#~ "Now that you've selected desired groups, please choose \n"
-#~ "how many packages you want, ranging from minimal to full \n"
-#~ "installation of each selected groups."
-#~ msgstr ""
-#~ "N egar flokkar hafa veri valdir skaltu velja hve marga \n"
-#~ " vilt sitja inn. getur tilgreint litla ea fulla \n"
-#~ "innsetningu af pkkum r eim flokkum sem valdir."
-
-#~ msgid ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Recommended: If you have never installed Linux before.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Customized: If you are familiar with Linux, you will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\"."
-#~ msgstr ""
-#~ "Select:\n"
-#~ "\n"
-#~ " - Rlagt: Ef hefur aldrei sett Linux inn ur.\n"
-#~ "\n"
-#~ "\n"
-#~ " - Eftir skum: Ef hefur nokkra reynslu meiar with Linux, you "
-#~ "will be able to \n"
-#~ "select the usage for the installed system between normal, development or\n"
-#~ "server. Choose \"Normal\" for a general purpose installation of your\n"
-#~ "computer. You may choose \"Development\" if you will be using the "
-#~ "computer\n"
-#~ "primarily for software development, or choose \"Server\" if you wish to\n"
-#~ "install a general purpose server (for mail, printing...).\n"
-#~ "\n"
-#~ "\n"
-#~ " - Expert: If you are fluent with GNU/Linux and want to perform\n"
-#~ "a highly customized installation, this Install Class is for you. You "
-#~ "will\n"
-#~ "be able to select the usage of your installed system as for \"Customized"
-#~ "\"."
-
-#~ msgid "Downloading cryptographic packages"
-#~ msgstr "Ski dulritunarpakkana"
-
-#~ msgid "Setup SCSI"
-#~ msgstr "Setja upp SCSI"
-
-#~ msgid "Which packages do you want to install"
-#~ msgstr "Hvaa pakka viltu setja inn"
-
-#~ msgid "Local LAN"
-#~ msgstr "Staarnet(LAN)"
-
-#~ msgid "Size: %s MB"
-#~ msgstr "Str: %s MB"
-
-#~ msgid "formatting"
-#~ msgstr "forsn"
-
-#~ msgid "changing type of"
-#~ msgstr "breyti tegund"
-
-#~ msgid "After %s partition %s,"
-#~ msgstr "Eftir %s disksneiar %s,"
-
-#~ msgid "linear"
-#~ msgstr "lnulegan"
-
-#~ msgid "Linear (needed for some SCSI drives)"
-#~ msgstr "Nota lnulegan ham (nausynlegt fyrir sum SCSI drif)"
-
-#~ msgid "User name:"
-#~ msgstr "Notandaheiti:"
-
-#~ msgid "Password:"
-#~ msgstr "Lykilor:"
-
-#~ msgid "expert"
-#~ msgstr "snillingur"
-
-#~ msgid "developer"
-#~ msgstr "forritari"
-
-#~ msgid "beginner"
-#~ msgstr "byrjandi"
-
-#~ msgid ""
-#~ "Failed to create an HTP boot floppy.\n"
-#~ "You may have to restart installation and give ``%s'' at the prompt"
-#~ msgstr ""
-#~ "Smi HTP rsidisks mistkst.\n"
-#~ " gtir urft a endurrsa og sl inn ``%s'' skipanalnuna"
-
-#~ msgid "It is necessary to restart installation with the new parameters"
-#~ msgstr "a arf a byrja innsetningu upp ntt me nju vifngunum"
-
-#~ msgid "It is necessary to restart installation booting on the floppy"
-#~ msgstr "a arf a byrja innsetninguna upp ntt og rsa me diskling"
-
-#~ msgid ""
-#~ "Enter a floppy to create an HTP enabled boot\n"
-#~ "(all data on floppy will be lost)"
-#~ msgstr ""
-#~ "Settu diskling drifi til a ba til HTP rsingu\n"
-#~ "(ll ggn essum diskling tapast)"
-
-#~ msgid "A entry %s already exists"
-#~ msgstr "Nafni %s er egar notkun"
-
-#~ msgid "Choose install or upgrade"
-#~ msgstr "Veldu innsetningu ea uppfrslu"
-
-#~ msgid "What usage do you want?"
-#~ msgstr "Hverskyns notkun viltu?"
diff --git a/perl-install/share/po/it.po b/perl-install/share/po/it.po
deleted file mode 100644
index d7f0f78fb..000000000
--- a/perl-install/share/po/it.po
+++ /dev/null
@@ -1,8809 +0,0 @@
-# Italian Translation of DrakX
-# Copyright (C) 1999 Mandrakesoft
-# Paolo Lorenzin <pasusu@tin.it>, 1999-2000.
-# Roberto Rosselli Del Turco <rosselli@ling.unipi.it>, 2000-2001
-# 8.0 Tech/Lang proofreading by Roberto Rosselli Del Turco
-# <rosselli@ling.unipi.it>
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DrakX 0.1\n"
-"POT-Creation-Date: 2001-06-02 17:16+0200\n"
-"PO-Revision-Date: 1999-09-12 05:33+0200\n"
-"Last-Translator: Roberto Rosselli Del Turco <rosselli@ling.unipi.it>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../../Xconfigurator.pm_.c:232
-msgid "Configure all heads independantly"
-msgstr "Configura tutte le testine indipendentemente"
-
-#: ../../Xconfigurator.pm_.c:233
-msgid "Use Xinerama extension"
-msgstr "Usa l'estensione Xinerama"
-
-#: ../../Xconfigurator.pm_.c:236
-#, c-format
-msgid "Configure only card \"%s\" (%s)"
-msgstr "Configura solo la scheda \"%s\" (%s)"
-
-#: ../../Xconfigurator.pm_.c:239
-msgid "Multi-head configuration"
-msgstr "Configurazione multi-testine"
-
-#: ../../Xconfigurator.pm_.c:240
-msgid ""
-"Your system support multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-"Il tuo sistema supporta la configurazione di pi testine.\n"
-"Cosa vuoi fare?"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Graphic card"
-msgstr "Scheda grafica"
-
-#: ../../Xconfigurator.pm_.c:249
-msgid "Select a graphic card"
-msgstr "Scegli una scheda grafica"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "Choose a X server"
-msgstr "Scegli un server X"
-
-#: ../../Xconfigurator.pm_.c:250
-msgid "X server"
-msgstr "Server X"
-
-#: ../../Xconfigurator.pm_.c:309 ../../Xconfigurator.pm_.c:316
-#: ../../Xconfigurator.pm_.c:366
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../Xconfigurator.pm_.c:312
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Che configurazione di XFree vuoi avere?"
-
-#: ../../Xconfigurator.pm_.c:324
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"La tua scheda pu avere accelerazione 3D hardware, ma solo con XFree %s.\n"
-"La tua scheda supportata da XFree %s che potrebbe avere un miglior "
-"supporto in 2D."
-
-#: ../../Xconfigurator.pm_.c:326 ../../Xconfigurator.pm_.c:359
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-"La tua scheda pu avere il supporto per l'accelerazione 3D hardware con "
-"XFree %s."
-
-#: ../../Xconfigurator.pm_.c:328 ../../Xconfigurator.pm_.c:361
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s con accelerazione 3D hardware"
-
-#: ../../Xconfigurator.pm_.c:336 ../../Xconfigurator.pm_.c:350
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
-msgstr ""
-"La tua scheda pu avere l'accelerazione 3D hardware con XFree %s,\n"
-"NOTA CHE UN SUPPORTO SPERIMENTALE E POTREBBE BLOCCARE IL TUO COMPUTER."
-
-#: ../../Xconfigurator.pm_.c:338 ../../Xconfigurator.pm_.c:352
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s con accelerazione 3D hardware SPERIMENTALE"
-
-#: ../../Xconfigurator.pm_.c:347
-#, c-format
-msgid ""
-"Your card can have 3D hardware acceleration support but only with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.\n"
-"Your card is supported by XFree %s which may have a better support in 2D."
-msgstr ""
-"La tua scheda pu avere accelerazione 3D hardware, ma solo con XFree %s,\n"
-"NOTA CHE UN SUPPORTO SPERIMENTALE E POTREBBE BLOCCARE IL TUO COMPUTER.\n"
-"La tua scheda supportata da XFree %s che potrebbe avere un miglior "
-"supporto in 2D."
-
-#: ../../Xconfigurator.pm_.c:371
-msgid "XFree configuration"
-msgstr "Configurazione di XFree"
-
-#: ../../Xconfigurator.pm_.c:416
-msgid "Select the memory size of your graphic card"
-msgstr "Scegli la quantit di memoria della tua scheda grafica"
-
-#: ../../Xconfigurator.pm_.c:463
-msgid "Choose options for server"
-msgstr "Scegli le opzioni per il server"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Choose a monitor"
-msgstr "Scegli un monitor"
-
-#: ../../Xconfigurator.pm_.c:480
-msgid "Monitor"
-msgstr "Monitor"
-
-#: ../../Xconfigurator.pm_.c:483
-msgid ""
-"The two critical parameters are the vertical refresh rate, which is the "
-"rate\n"
-"at which the whole screen is refreshed, and most importantly the horizontal\n"
-"sync rate, which is the rate at which scanlines are displayed.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a sync "
-"range\n"
-"that is beyond the capabilities of your monitor: you may damage your "
-"monitor.\n"
-" If in doubt, choose a conservative setting."
-msgstr ""
-"I due parametri critici sono la frequenza di refresh verticale, che la "
-"frequenza\n"
-"con cui l'intero schermo aggiornato, e ancora pi importante la frequenza\n"
-"di sincronia orizzontale, che la frequenza con cui le line di scansione "
-"sono mostrate. \n"
-"\n"
-" MOLTO IMPORTANTE che tu non specifichi un tipo di monitor con una gamma di "
-"sincronia che vada oltre le capacit del tuo monitor: potresti "
-"danneggiarlo.\n"
-"Se hai dubbi, scegli un settaggio prudente."
-
-#: ../../Xconfigurator.pm_.c:490
-msgid "Horizontal refresh rate"
-msgstr "Frequenza di refresh orizzontale"
-
-#: ../../Xconfigurator.pm_.c:491
-msgid "Vertical refresh rate"
-msgstr "Frequenza di refresh verticale"
-
-#: ../../Xconfigurator.pm_.c:528
-msgid "Monitor not configured"
-msgstr "Monitor non configurato"
-
-#: ../../Xconfigurator.pm_.c:531
-msgid "Graphic card not configured yet"
-msgstr "Scheda grafica non ancora configurata"
-
-#: ../../Xconfigurator.pm_.c:534
-msgid "Resolutions not chosen yet"
-msgstr "Risoluzioni non ancora selezionate"
-
-#: ../../Xconfigurator.pm_.c:551
-msgid "Do you want to test the configuration?"
-msgstr "Vuoi provare la configurazione ?"
-
-#: ../../Xconfigurator.pm_.c:555
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Attenzione: il test di questa scheda video pu bloccare il computer"
-
-#: ../../Xconfigurator.pm_.c:558
-msgid "Test of the configuration"
-msgstr "Test della configurazione"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid ""
-"\n"
-"try to change some parameters"
-msgstr ""
-"\n"
-"prova a modificare alcuni parametri"
-
-#: ../../Xconfigurator.pm_.c:597
-msgid "An error has occurred:"
-msgstr "Si verificato un errore:"
-
-#: ../../Xconfigurator.pm_.c:619
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Uscita in %d secondi"
-
-#: ../../Xconfigurator.pm_.c:630
-msgid "Is this the correct setting?"
-msgstr " il settaggio corretto?"
-
-#: ../../Xconfigurator.pm_.c:638
-msgid "An error has occurred, try to change some parameters"
-msgstr "Si verificato un errore, prova a modificare alcuni parametri"
-
-#: ../../Xconfigurator.pm_.c:684 ../../printerdrake.pm_.c:277
-#: ../../services.pm_.c:125
-msgid "Resolution"
-msgstr "Risoluzione"
-
-#: ../../Xconfigurator.pm_.c:731
-msgid "Choose the resolution and the color depth"
-msgstr "Seleziona risoluzione e profondit di colore"
-
-#: ../../Xconfigurator.pm_.c:733
-#, c-format
-msgid "Graphic card: %s"
-msgstr "Scheda grafica: %s"
-
-#: ../../Xconfigurator.pm_.c:734
-#, c-format
-msgid "XFree86 server: %s"
-msgstr "Server XFree86: %s"
-
-#: ../../Xconfigurator.pm_.c:750 ../../standalone/draknet_.c:280
-#: ../../standalone/draknet_.c:283
-msgid "Expert Mode"
-msgstr "Modo Esperto"
-
-#: ../../Xconfigurator.pm_.c:751
-msgid "Show all"
-msgstr "Mostra tutto"
-
-#: ../../Xconfigurator.pm_.c:794
-msgid "Resolutions"
-msgstr "Risoluzioni"
-
-#: ../../Xconfigurator.pm_.c:1330
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Tipo di tastiera: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1331
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Tipo di mouse: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1332
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Dispositivo del mouse: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1333
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1334
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Frequenza orizzontale del monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1335
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Refresh verticale del monitor: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1336
-#, c-format
-msgid "Graphic card: %s\n"
-msgstr "Scheda grafica: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1337
-#, c-format
-msgid "Graphic memory: %s kB\n"
-msgstr "Memoria scheda grafica: %s KB\n"
-
-#: ../../Xconfigurator.pm_.c:1339
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Profondit di colore: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1340
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Risoluzione: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1342
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Server XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1343
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Driver XFree86: %s\n"
-
-#: ../../Xconfigurator.pm_.c:1362
-msgid "Preparing X-Window configuration"
-msgstr "Sto preparando la configurazione di X-Window"
-
-#: ../../Xconfigurator.pm_.c:1382
-msgid "What do you want to do?"
-msgstr "Cosa vuoi fare?"
-
-#: ../../Xconfigurator.pm_.c:1387
-msgid "Change Monitor"
-msgstr "Cambia monitor"
-
-#: ../../Xconfigurator.pm_.c:1388
-msgid "Change Graphic card"
-msgstr "Cambia scheda grafica"
-
-#: ../../Xconfigurator.pm_.c:1390
-msgid "Change Server options"
-msgstr "Cambia opzioni server"
-
-#: ../../Xconfigurator.pm_.c:1391
-msgid "Change Resolution"
-msgstr "Cambia risoluzione"
-
-#: ../../Xconfigurator.pm_.c:1392
-msgid "Show information"
-msgstr "Mostra informazioni"
-
-#: ../../Xconfigurator.pm_.c:1393
-msgid "Test again"
-msgstr "Nuovo test"
-
-#: ../../Xconfigurator.pm_.c:1394 ../../bootlook.pm_.c:238
-msgid "Quit"
-msgstr "Esci"
-
-#: ../../Xconfigurator.pm_.c:1402
-#, c-format
-msgid ""
-"Keep the changes?\n"
-"Current configuration is:\n"
-"\n"
-"%s"
-msgstr ""
-"Mantieni le modifiche?\n"
-"La configurazione corrente :\n"
-"\n"
-"%s"
-
-#: ../../Xconfigurator.pm_.c:1423
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Per favore rientra come %s per attivare le modifiche"
-
-#: ../../Xconfigurator.pm_.c:1443
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Per favore esci e usa Ctrl-Alt-Backspace"
-
-#: ../../Xconfigurator.pm_.c:1446
-msgid "X at startup"
-msgstr "X all'avvio"
-
-#: ../../Xconfigurator.pm_.c:1447
-msgid ""
-"I can set up your computer to automatically start X upon booting.\n"
-"Would you like X to start when you reboot?"
-msgstr ""
-"Posso configurare il tuo computer per eseguire X automaticamente all'avvio.\n"
-"Vuoi che X venga eseguito quando riavvierai?"
-
-#: ../../Xconfigurator_consts.pm_.c:6
-msgid "256 colors (8 bits)"
-msgstr "256 colori (8 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:7
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mila colori (15 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:8
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mila colori (16 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:9
-msgid "16 million colors (24 bits)"
-msgstr "16 milioni di colori (24 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:10
-msgid "4 billion colors (32 bits)"
-msgstr "4 miliardi di colori (32 bit)"
-
-#: ../../Xconfigurator_consts.pm_.c:106
-msgid "256 kB"
-msgstr "256 Kb"
-
-#: ../../Xconfigurator_consts.pm_.c:107
-msgid "512 kB"
-msgstr "512 Kb"
-
-#: ../../Xconfigurator_consts.pm_.c:108
-msgid "1 MB"
-msgstr "1 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:109
-msgid "2 MB"
-msgstr "2 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:110
-msgid "4 MB"
-msgstr "4 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:111
-msgid "8 MB"
-msgstr "8 Mb"
-
-#: ../../Xconfigurator_consts.pm_.c:112
-msgid "16 MB or more"
-msgstr "16 Mb o superiore"
-
-#: ../../Xconfigurator_consts.pm_.c:120
-msgid "Standard VGA, 640x480 at 60 Hz"
-msgstr "VGA standard, 640x480 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:121
-msgid "Super VGA, 800x600 at 56 Hz"
-msgstr "Super VGA, 800x600 a 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:122
-msgid "8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)"
-msgstr "Compatibile 8514, 1024x768 a 87 Hz interlacciato (no 800x600)"
-
-#: ../../Xconfigurator_consts.pm_.c:123
-msgid "Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz"
-msgstr "Super VGA, 1024x768 a 87 Hz interlacciato, 800x600 a 56 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:124
-msgid "Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz"
-msgstr "Super VGA estesa, 800x600 a 60 Hz, 640x480 a 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:125
-msgid "Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz"
-msgstr "SVGA non-interlacciato, 1024x768 a 60 Hz, 800x600 a 72 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:126
-msgid "High Frequency SVGA, 1024x768 at 70 Hz"
-msgstr "SVGA alta frequenza, 1024x768 a 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:127
-msgid "Multi-frequency that can do 1280x1024 at 60 Hz"
-msgstr "Multi-frequenza che raggiunge 1280x1024 a 60 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:128
-msgid "Multi-frequency that can do 1280x1024 at 74 Hz"
-msgstr "Multi-frequenza che raggiunge 1280x1024 a 74 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:129
-msgid "Multi-frequency that can do 1280x1024 at 76 Hz"
-msgstr "Multi-frequenza che raggiunge 1280x1024 a 76 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:130
-msgid "Monitor that can do 1600x1200 at 70 Hz"
-msgstr "Monitor che raggiunge 1600x1200 a 70 Hz"
-
-#: ../../Xconfigurator_consts.pm_.c:131
-msgid "Monitor that can do 1600x1200 at 76 Hz"
-msgstr "Monitor che raggiunge 1600x1200 a 76 Hz"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124
-msgid "First sector of boot partition"
-msgstr "Primo settore della partizione di boot"
-
-#: ../../any.pm_.c:99 ../../any.pm_.c:124 ../../any.pm_.c:197
-msgid "First sector of drive (MBR)"
-msgstr "Primo settore del disco rigido (MBR)"
-
-#: ../../any.pm_.c:103
-msgid "SILO Installation"
-msgstr "Installazione di SILO"
-
-#: ../../any.pm_.c:104 ../../any.pm_.c:117
-msgid "Where do you want to install the bootloader?"
-msgstr "Dove vuoi installare il bootloader?"
-
-#: ../../any.pm_.c:116
-msgid "LILO/grub Installation"
-msgstr "Installazione di LILO/grub"
-
-#: ../../any.pm_.c:128 ../../any.pm_.c:142
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../any.pm_.c:130
-msgid "LILO with text menu"
-msgstr "LILO con menu in modo testo"
-
-#: ../../any.pm_.c:131 ../../any.pm_.c:142
-msgid "LILO with graphical menu"
-msgstr "LILO con menu grafico"
-
-#: ../../any.pm_.c:134
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../any.pm_.c:138
-msgid "Boot from DOS/Windows (loadlin)"
-msgstr "Avvia da DOS/Windows (usando loadlin)"
-
-#: ../../any.pm_.c:140 ../../any.pm_.c:142
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../any.pm_.c:148 ../../any.pm_.c:180
-msgid "Bootloader main options"
-msgstr "Opzioni principali del bootloader"
-
-#: ../../any.pm_.c:149 ../../any.pm_.c:181
-msgid "Bootloader to use"
-msgstr "Bootloader da usare"
-
-#: ../../any.pm_.c:151
-msgid "Bootloader installation"
-msgstr "Installazione del bootloader"
-
-#: ../../any.pm_.c:153 ../../any.pm_.c:183
-msgid "Boot device"
-msgstr "Dispositivo di boot"
-
-#: ../../any.pm_.c:154
-msgid "LBA (doesn't work on old BIOSes)"
-msgstr "LBA (non funziona con vecchi BIOS)"
-
-#: ../../any.pm_.c:155
-msgid "Compact"
-msgstr "Compatta"
-
-#: ../../any.pm_.c:155
-msgid "compact"
-msgstr "compatta"
-
-#: ../../any.pm_.c:156 ../../any.pm_.c:256
-msgid "Video mode"
-msgstr "Modo video"
-
-#: ../../any.pm_.c:158
-msgid "Delay before booting default image"
-msgstr "Ritardo prima di avviare con l'immagine predefinita"
-
-#: ../../any.pm_.c:160 ../../any.pm_.c:741
-#: ../../install_steps_interactive.pm_.c:904 ../../netconnect.pm_.c:629
-#: ../../printerdrake.pm_.c:98 ../../printerdrake.pm_.c:132
-#: ../../standalone/draknet_.c:569
-msgid "Password"
-msgstr "Password"
-
-#: ../../any.pm_.c:161 ../../any.pm_.c:742
-#: ../../install_steps_interactive.pm_.c:905
-msgid "Password (again)"
-msgstr "Password (ripeti)"
-
-#: ../../any.pm_.c:162
-msgid "Restrict command line options"
-msgstr "Limita opzioni della linea di comando"
-
-#: ../../any.pm_.c:162
-msgid "restrict"
-msgstr "limita"
-
-#: ../../any.pm_.c:164
-msgid "Clean /tmp at each boot"
-msgstr "Pulisci /tmp ad ogni avvio"
-
-#: ../../any.pm_.c:165
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Precisa la dimensione RAM se necessario (trovati %d Mb)"
-
-#: ../../any.pm_.c:167
-msgid "Enable multi profiles"
-msgstr "Abilita profili multipli"
-
-#: ../../any.pm_.c:171
-msgid "Give the ram size in MB"
-msgstr "Specifica dimensione RAM in Mb"
-
-#: ../../any.pm_.c:173
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-"L'opzione ''Limita opzioni della linea di comando'' inutile\n"
-"senza una password"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "Please try again"
-msgstr "Per favore prova di nuovo"
-
-#: ../../any.pm_.c:174 ../../any.pm_.c:718
-#: ../../install_steps_interactive.pm_.c:899
-msgid "The passwords do not match"
-msgstr "Le password non corrispondono"
-
-#: ../../any.pm_.c:182
-msgid "Init Message"
-msgstr "Messaggio di init"
-
-#: ../../any.pm_.c:184
-msgid "Open Firmware Delay"
-msgstr "Attesa dell'Open Firmware"
-
-#: ../../any.pm_.c:185
-msgid "Kernel Boot Timeout"
-msgstr "Attesa per il boot del kernel"
-
-#: ../../any.pm_.c:186
-msgid "Enable CD Boot?"
-msgstr "Abilita l'avvio da CD-ROM?"
-
-#: ../../any.pm_.c:187
-msgid "Enable OF Boot?"
-msgstr "Abilita boot OF?"
-
-#: ../../any.pm_.c:188
-msgid "Default OS?"
-msgstr "Sistema operativo predefinito?"
-
-#: ../../any.pm_.c:210
-msgid ""
-"Here are the different entries.\n"
-"You can add some more or change the existing ones."
-msgstr ""
-"Queste sono le voci attuali.\n"
-"Puoi aggiungerne altre o cambiare quelle esistenti."
-
-#: ../../any.pm_.c:220 ../../printerdrake.pm_.c:356
-msgid "Add"
-msgstr "Aggiungi"
-
-#: ../../any.pm_.c:220 ../../any.pm_.c:729 ../../diskdrake.pm_.c:46
-#: ../../printerdrake.pm_.c:356
-msgid "Done"
-msgstr "Fatto"
-
-#: ../../any.pm_.c:220
-msgid "Modify"
-msgstr "Modifica"
-
-#: ../../any.pm_.c:228
-msgid "Which type of entry do you want to add?"
-msgstr "Che tipo di voce vuoi aggiungere"
-
-#: ../../any.pm_.c:229
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../any.pm_.c:229
-msgid "Other OS (SunOS...)"
-msgstr "Altro OS (SunOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (MacOS...)"
-msgstr "Altro OS (MacOS...)"
-
-#: ../../any.pm_.c:230
-msgid "Other OS (windows...)"
-msgstr "Altro OS (windows...)"
-
-#: ../../any.pm_.c:250 ../../any.pm_.c:252
-msgid "Image"
-msgstr "Immagine"
-
-#: ../../any.pm_.c:253 ../../any.pm_.c:264
-msgid "Root"
-msgstr "Root"
-
-#: ../../any.pm_.c:254 ../../any.pm_.c:283
-msgid "Append"
-msgstr "Aggiungi"
-
-#: ../../any.pm_.c:258
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../any.pm_.c:259
-msgid "Read-write"
-msgstr "Lettura-scrittura"
-
-#: ../../any.pm_.c:266
-msgid "Table"
-msgstr "Tabella"
-
-#: ../../any.pm_.c:267
-msgid "Unsafe"
-msgstr "Non sicuro"
-
-#: ../../any.pm_.c:274 ../../any.pm_.c:279 ../../any.pm_.c:282
-msgid "Label"
-msgstr "Etichetta"
-
-#: ../../any.pm_.c:276 ../../any.pm_.c:287
-msgid "Default"
-msgstr "Predefinito"
-
-#: ../../any.pm_.c:284
-msgid "Initrd-size"
-msgstr "Dimensioni Initrd"
-
-#: ../../any.pm_.c:286
-msgid "NoVideo"
-msgstr "No Video"
-
-#: ../../any.pm_.c:294
-msgid "Remove entry"
-msgstr "Rimuovi voce"
-
-#: ../../any.pm_.c:297
-msgid "Empty label not allowed"
-msgstr "Etichetta vuota non ammessa"
-
-#: ../../any.pm_.c:298
-msgid "This label is already used"
-msgstr "Questa etichetta gi stata usata"
-
-#: ../../any.pm_.c:317
-msgid "What type of partitioning?"
-msgstr "Che tipo di partizionamento?"
-
-#: ../../any.pm_.c:608
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Trovate %s interfacce %s"
-
-#: ../../any.pm_.c:609
-msgid "Do you have another one?"
-msgstr "Ne hai un'altra?"
-
-#: ../../any.pm_.c:610
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Hai una qualsiasi interfaccia %s?"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-#: ../../printerdrake.pm_.c:237
-msgid "No"
-msgstr "No"
-
-#: ../../any.pm_.c:612 ../../interactive.pm_.c:104 ../../my_gtk.pm_.c:616
-msgid "Yes"
-msgstr "S"
-
-#: ../../any.pm_.c:613
-msgid "See hardware info"
-msgstr "Vedi informazioni hardware"
-
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../any.pm_.c:648
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Installazione driver per scheda %s %s"
-
-#: ../../any.pm_.c:649
-#, c-format
-msgid "(module %s)"
-msgstr "(modulo %s)"
-
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../any.pm_.c:660
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Quale driver %s dovrei provare?"
-
-#: ../../any.pm_.c:668
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without. Would you like to "
-"specify\n"
-"extra options for it or allow the driver to probe your machine for the\n"
-"information it needs? Occasionally, probing will hang a computer, but it "
-"should\n"
-"not cause any damage."
-msgstr ""
-"in alcuni casi, il driver %s ha bisogno di informazioni extra per "
-"funzionare\n"
-"correttamente, anche se normalmente pu farne a meno. Vorresti specificare\n"
-"opzioni extra o lasciare che il driver cerchi sulla tua macchina le\n"
-"informazioni di cui ha bisogno? Occasionalmente, la ricerca bloccher il\n"
-"computer, ma non dovrebbe causare alcun danno."
-
-#: ../../any.pm_.c:673
-msgid "Autoprobe"
-msgstr "Investgazione automatica"
-
-#: ../../any.pm_.c:673
-msgid "Specify options"
-msgstr "Specifica opzioni"
-
-#: ../../any.pm_.c:677
-#, c-format
-msgid "You may now provide its options to module %s."
-msgstr "Adesso puoi passare le sue opzioni al modulo %s."
-
-#: ../../any.pm_.c:683
-#, c-format
-msgid ""
-"You may now provide its options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-"Adesso puoi passare le sue opzioni al modulo %s.\n"
-"Le opzioni sono in formato ''nome=valore nome2=valore2 ...''.\n"
-"Per esempio, ''io=0x300 irq=7''"
-
-#: ../../any.pm_.c:686
-msgid "Module options:"
-msgstr "Opzioni del modulo:"
-
-#: ../../any.pm_.c:697
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Caricamento del modulo %s fallito.\n"
-"Vuoi riprovare con altri parametri?"
-
-#: ../../any.pm_.c:715
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s gi aggiunto)"
-
-#: ../../any.pm_.c:719
-msgid "This password is too simple"
-msgstr "Questa password troppo semplice"
-
-#: ../../any.pm_.c:720
-msgid "Please give a user name"
-msgstr "Per favore fornisci un nome utente"
-
-#: ../../any.pm_.c:721
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"Il nome utente deve contenere solo lettere minuscole, numeri, '-' e '_'"
-
-#: ../../any.pm_.c:722
-msgid "This user name is already added"
-msgstr "Questo nome utente gi stato aggiunto"
-
-#: ../../any.pm_.c:726
-msgid "Add user"
-msgstr "Aggiungi utente"
-
-#: ../../any.pm_.c:727
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
-msgstr ""
-"Inserisci un utente\n"
-"%s"
-
-#: ../../any.pm_.c:728
-msgid "Accept user"
-msgstr "Accetta utente"
-
-#: ../../any.pm_.c:739
-msgid "Real name"
-msgstr "Vero nome"
-
-#: ../../any.pm_.c:740 ../../printerdrake.pm_.c:97
-#: ../../printerdrake.pm_.c:131
-msgid "User name"
-msgstr "Nome utente"
-
-#: ../../any.pm_.c:743
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../any.pm_.c:745
-msgid "Icon"
-msgstr "Icona"
-
-#: ../../any.pm_.c:766
-msgid "Autologin"
-msgstr "Autologin"
-
-#: ../../any.pm_.c:767
-msgid ""
-"I can set up your computer to automatically log on one user.\n"
-"If you don't want to use this feature, click on the cancel button."
-msgstr ""
-"Posso configurare il tuo computer per effettuare automaticamente il login di "
-"un utente.\n"
-"Se non vuoi usare questa funzione, clicca sul tasto cancel."
-
-#: ../../any.pm_.c:769
-msgid "Choose the default user:"
-msgstr "Scegli l'utente predefinito:"
-
-#: ../../any.pm_.c:770
-msgid "Choose the window manager to run:"
-msgstr "Scegli il window manager da lanciare:"
-
-# NOTE: this message will be displayed at boot time; that is
-# only the ascii charset will be available on most machines
-# so use only 7bit for this message (and do transliteration or
-# leave it in English, as it is the best for your language)
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm_.c:262 ../../bootloader.pm_.c:608
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system in the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-msgstr ""
-"Benvenuto in %s, il selezionatore di sistema operativo!\n"
-"\n"
-"Scegli un sistema operativo dalla lista qui sopra o\n"
-"aspetta %d secondi per l'avvio predefinito.\n"
-"\n"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:809
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Benvenuto in GRUB, il selettore di sistema operativo!"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:812
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Usa i tasti %c e %c per selezionare quale voce e` evidenziata."
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:815
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Premi Invio per caricare l'OS scelto, 'e' per modificare i"
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:818
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "comandi prima di avviare il sistema, o 'c' per una riga di comando."
-
-# NOTE: this message will be displayed by grub at boot time; that is
-# using the BIOS font; that means cp437 charset on 99.99% of PC computers
-# out there. It is the nsuggested that for non latin languages an ascii
-# transliteration be used; or maybe the english text be used; as it is best
-#
-# The lines must fit on screen, aka length < 80
-# and only one line per string for the GRUB messages
-#
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#. -PO: and keep them smaller than 79 chars long
-#: ../../bootloader.pm_.c:821
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "La voce evidenziata sar avviata automaticamente fra %d secondi."
-
-#: ../../bootloader.pm_.c:825
-msgid "not enough room in /boot"
-msgstr "non c' abbastanza spazio in /boot"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#. -PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
-#: ../../bootloader.pm_.c:918
-msgid "Desktop"
-msgstr "Scrivania"
-
-#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#: ../../bootloader.pm_.c:920
-msgid "Start Menu"
-msgstr "Menu di partenza"
-
-#: ../../bootlook.pm_.c:46
-msgid "no help implemented yet.\n"
-msgstr "nessun aiuto disponibile al momento.\n"
-
-#: ../../bootlook.pm_.c:62
-msgid "Boot Style Configuration"
-msgstr "Configurazione metodo di avvio"
-
-#: ../../bootlook.pm_.c:79
-msgid "/_File"
-msgstr "/_File"
-
-#: ../../bootlook.pm_.c:81
-msgid "/File/_New"
-msgstr "/File/_Nuovo"
-
-#: ../../bootlook.pm_.c:82
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../bootlook.pm_.c:84
-msgid "/File/_Open"
-msgstr "/File/_Apri"
-
-#: ../../bootlook.pm_.c:85
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../bootlook.pm_.c:87
-msgid "/File/_Save"
-msgstr "/File/_Salva"
-
-#: ../../bootlook.pm_.c:88
-msgid "<control>S"
-msgstr "<control>S"
-
-#: ../../bootlook.pm_.c:90
-msgid "/File/Save _As"
-msgstr "/File/Save _come"
-
-#: ../../bootlook.pm_.c:91
-msgid "/File/-"
-msgstr "/File/-"
-
-#: ../../bootlook.pm_.c:93
-msgid "/File/_Quit"
-msgstr "/File/_Esci"
-
-#: ../../bootlook.pm_.c:94
-msgid "<control>Q"
-msgstr "<control>Q"
-
-#: ../../bootlook.pm_.c:96
-msgid "/_Options"
-msgstr "/_Opzioni"
-
-#: ../../bootlook.pm_.c:98
-msgid "/Options/Test"
-msgstr "/Opzioni/Test"
-
-#: ../../bootlook.pm_.c:99
-msgid "/_Help"
-msgstr "/_Aiuto"
-
-#: ../../bootlook.pm_.c:101
-msgid "/Help/_About..."
-msgstr "/Aiuto/_Riguardo..."
-
-#: ../../bootlook.pm_.c:111 ../../standalone/drakgw_.c:634
-#: ../../standalone/draknet_.c:262 ../../standalone/tinyfirewall_.c:57
-msgid "Configure"
-msgstr "Configura"
-
-#: ../../bootlook.pm_.c:114
-#, fuzzy, c-format
-msgid ""
-"You are currently using %s as Boot Manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr ""
-"Benvenuti nell'utilit di condivisione della connessione a Internet!\n"
-"\n"
-"%s\n"
-"\n"
-"Cliccate su ``Configura'' se volete lanciare il Wizard di configurazione."
-
-#: ../../bootlook.pm_.c:121
-msgid "Lilo/grub mode"
-msgstr "Modalit Lilo/Grub"
-
-#: ../../bootlook.pm_.c:131
-msgid "NewStyle Categorizing Monitor"
-msgstr ""
-
-#: ../../bootlook.pm_.c:134
-msgid "NewStyle Monitor"
-msgstr "Monitor NewStyle"
-
-#: ../../bootlook.pm_.c:137
-msgid "Traditional Monitor"
-msgstr "Monitor tradizionale"
-
-#: ../../bootlook.pm_.c:140
-msgid "Traditional Gtk+ Monitor"
-msgstr "Monitor tradizionale Gtk+"
-
-#: ../../bootlook.pm_.c:144
-msgid "Launch Aurora at boot time"
-msgstr "Lancia Aurora al momento del boot"
-
-#: ../../bootlook.pm_.c:169
-msgid "Boot mode"
-msgstr "Modalit di boot"
-
-#: ../../bootlook.pm_.c:179
-msgid "Launch the X-Window system at start"
-msgstr "Lancia il sistema X-Window all'avvio"
-
-#: ../../bootlook.pm_.c:187
-msgid "No, I don't want autologin"
-msgstr "No, non voglio effettuare l'autologin"
-
-#: ../../bootlook.pm_.c:193
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "S, voglio l'autologin per questo (utente, desktop)"
-
-#: ../../bootlook.pm_.c:210
-msgid "System mode"
-msgstr "Modalit di sistema"
-
-#: ../../bootlook.pm_.c:228
-#, fuzzy
-msgid "Default Runlevel"
-msgstr "Predefinito"
-
-#: ../../bootlook.pm_.c:236 ../../standalone/draknet_.c:88
-#: ../../standalone/draknet_.c:120 ../../standalone/draknet_.c:184
-#: ../../standalone/draknet_.c:302 ../../standalone/draknet_.c:396
-#: ../../standalone/draknet_.c:473 ../../standalone/draknet_.c:509
-#: ../../standalone/draknet_.c:617
-msgid "OK"
-msgstr "OK"
-
-#: ../../bootlook.pm_.c:238 ../../install_steps_gtk.pm_.c:576
-#: ../../interactive.pm_.c:114 ../../interactive.pm_.c:269
-#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:357
-#: ../../my_gtk.pm_.c:360 ../../my_gtk.pm_.c:617
-#: ../../standalone/drakgw_.c:639 ../../standalone/draknet_.c:95
-#: ../../standalone/draknet_.c:127 ../../standalone/draknet_.c:295
-#: ../../standalone/draknet_.c:485 ../../standalone/draknet_.c:631
-#: ../../standalone/tinyfirewall_.c:63
-msgid "Cancel"
-msgstr "Annulla"
-
-#: ../../bootlook.pm_.c:315
-msgid "can not open /etc/inittab for reading: $!"
-msgstr "non ho potuto aprire /etc/inittab per leggere: $!"
-
-#: ../../bootlook.pm_.c:369
-msgid "can not open /etc/sysconfig/autologin for reading: $!"
-msgstr "non ho potuto aprire /etc/sysconfig/autologin per leggere: $!"
-
-#: ../../bootlook.pm_.c:435 ../../standalone/drakboot_.c:47
-msgid "Installation of LILO failed. The following error occured:"
-msgstr "Installazione di LILO fallita. C' stato il seguente errore:"
-
-#: ../../diskdrake.pm_.c:21 ../../diskdrake.pm_.c:462
-msgid "Create"
-msgstr "Crea"
-
-#: ../../diskdrake.pm_.c:22
-msgid "Unmount"
-msgstr "Esegui unmount"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:464
-msgid "Delete"
-msgstr "Cancella"
-
-#: ../../diskdrake.pm_.c:23
-msgid "Format"
-msgstr "Formatta"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:653
-msgid "Resize"
-msgstr "Ridimensiona"
-
-#: ../../diskdrake.pm_.c:23 ../../diskdrake.pm_.c:462
-#: ../../diskdrake.pm_.c:518
-msgid "Type"
-msgstr "Tipo"
-
-#: ../../diskdrake.pm_.c:24 ../../diskdrake.pm_.c:539
-msgid "Mount point"
-msgstr "Punto di mount"
-
-#: ../../diskdrake.pm_.c:38
-msgid "Write /etc/fstab"
-msgstr "Scrivi /etc/fstab"
-
-#: ../../diskdrake.pm_.c:39
-msgid "Toggle to expert mode"
-msgstr "Passa a modo Esperto"
-
-#: ../../diskdrake.pm_.c:40
-msgid "Toggle to normal mode"
-msgstr "Passa a modo Normale"
-
-#: ../../diskdrake.pm_.c:41
-msgid "Restore from file"
-msgstr "Ripristina da file"
-
-#: ../../diskdrake.pm_.c:42
-msgid "Save in file"
-msgstr "Salva su file"
-
-#: ../../diskdrake.pm_.c:43
-msgid "Wizard"
-msgstr "Wizard"
-
-#: ../../diskdrake.pm_.c:44
-msgid "Restore from floppy"
-msgstr "Ripristina da floppy"
-
-#: ../../diskdrake.pm_.c:45
-msgid "Save on floppy"
-msgstr "Salva su floppy"
-
-#: ../../diskdrake.pm_.c:49
-msgid "Clear all"
-msgstr "Azzera tutto"
-
-#: ../../diskdrake.pm_.c:54
-msgid "Format all"
-msgstr "Formatta tutto"
-
-#: ../../diskdrake.pm_.c:55
-msgid "Auto allocate"
-msgstr "Alloca automaticamente"
-
-#: ../../diskdrake.pm_.c:59
-msgid "All primary partitions are used"
-msgstr "Tutte le partizioni primarie sono usate"
-
-#: ../../diskdrake.pm_.c:59
-msgid "I can't add any more partition"
-msgstr "Non posso aggiungere altre partizioni"
-
-#: ../../diskdrake.pm_.c:59
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-"Per avere pi partizioni, per favore eliminarne una per essere in grado di "
-"crearne una estesa"
-
-#: ../../diskdrake.pm_.c:61
-msgid "Not enough space for auto-allocating"
-msgstr "Non c' abbastanza spazio libero per l'allocazione automatica"
-
-#: ../../diskdrake.pm_.c:63
-msgid "Undo"
-msgstr "Un passo indietro"
-
-#: ../../diskdrake.pm_.c:64
-msgid "Write partition table"
-msgstr "Scrivi la tabella delle partizioni"
-
-#: ../../diskdrake.pm_.c:65 ../../install_steps_interactive.pm_.c:185
-msgid "More"
-msgstr "Ancora"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../diskdrake.pm_.c:116
-msgid "FAT"
-msgstr "FAT"
-
-#: ../../diskdrake.pm_.c:116
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "SunOS"
-msgstr "SunOS"
-
-#: ../../diskdrake.pm_.c:116
-msgid "Swap"
-msgstr "Swap"
-
-#: ../../diskdrake.pm_.c:117
-msgid "Empty"
-msgstr "Vuoto"
-
-#: ../../diskdrake.pm_.c:117 ../../install_steps_gtk.pm_.c:407
-#: ../../mouse.pm_.c:145
-msgid "Other"
-msgstr "Altro"
-
-#: ../../diskdrake.pm_.c:123
-msgid "Filesystem types:"
-msgstr "Tipo di filesystem:"
-
-#: ../../diskdrake.pm_.c:132 ../../install_steps_gtk.pm_.c:577
-msgid "Details"
-msgstr "Dettagli"
-
-#: ../../diskdrake.pm_.c:147
-msgid ""
-"You have one big FAT partition\n"
-"(generally used by MicroSoft Dos/Windows).\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Hai una grossa partizione\n"
-"(generalmente usata da Microsoft Dos/Windows).\n"
-"Per prima cosa suggerisco di ridimensionare quella partizione\n"
-"(clicca su di essa, poi clicca su \"Ridimensiona\")"
-
-#: ../../diskdrake.pm_.c:152
-msgid "Please make a backup of your data first"
-msgstr "Per favore prima fai un backup dei tuoi dati"
-
-#: ../../diskdrake.pm_.c:152 ../../diskdrake.pm_.c:170
-#: ../../diskdrake.pm_.c:179 ../../diskdrake.pm_.c:570
-#: ../../diskdrake.pm_.c:592
-msgid "Read carefully!"
-msgstr "Leggere attentamente!"
-
-#: ../../diskdrake.pm_.c:155
-msgid ""
-"If you plan to use aboot, be carefull to leave a free space (2048 sectors is "
-"enough)\n"
-"at the beginning of the disk"
-msgstr ""
-"Se pensi di usare aboot, fai attenzione a lasciare abbastanza spazio libero "
-"(2048 settori sono sufficienti)\n"
-"all'inizio del disco"
-
-#: ../../diskdrake.pm_.c:170
-msgid "Be careful: this operation is dangerous."
-msgstr "Fai attenzione: questa operazione pericolosa."
-
-#: ../../diskdrake.pm_.c:214 ../../install_steps.pm_.c:72
-#: ../../install_steps_interactive.pm_.c:37
-#: ../../install_steps_interactive.pm_.c:322 ../../standalone/diskdrake_.c:66
-msgid "Error"
-msgstr "Errore"
-
-#: ../../diskdrake.pm_.c:238 ../../diskdrake.pm_.c:748
-msgid "Mount point: "
-msgstr "Punto di mount:"
-
-#: ../../diskdrake.pm_.c:239 ../../diskdrake.pm_.c:298
-msgid "Device: "
-msgstr "Dispositivo: "
-
-#: ../../diskdrake.pm_.c:240
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Lettera di drive DOS: %s (solo una supposizione)\n"
-
-#: ../../diskdrake.pm_.c:244 ../../diskdrake.pm_.c:251
-#: ../../diskdrake.pm_.c:301
-msgid "Type: "
-msgstr "Tipo: "
-
-#: ../../diskdrake.pm_.c:248
-msgid "Name: "
-msgstr "Nome: "
-
-#: ../../diskdrake.pm_.c:253
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Inizia: settore %s\n"
-
-#: ../../diskdrake.pm_.c:254
-#, c-format
-msgid "Size: %s"
-msgstr "Dimensione: %s"
-
-#: ../../diskdrake.pm_.c:256
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s settori"
-
-#: ../../diskdrake.pm_.c:258
-#, c-format
-msgid "Cylinder %d to cylinder %d\n"
-msgstr "Da cilindro %d a cilindro %d\n"
-
-#: ../../diskdrake.pm_.c:259
-msgid "Formatted\n"
-msgstr "Formattato\n"
-
-#: ../../diskdrake.pm_.c:260
-msgid "Not formatted\n"
-msgstr "Non formattato\n"
-
-#: ../../diskdrake.pm_.c:261
-msgid "Mounted\n"
-msgstr "In linea\n"
-
-#: ../../diskdrake.pm_.c:262
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
-
-#: ../../diskdrake.pm_.c:264
-#, c-format
-msgid "Loopback file(s): %s\n"
-msgstr "File di loopback: %s\n"
-
-#: ../../diskdrake.pm_.c:265
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Partizione di boot predefinita\n"
-" (per boot MS-DOS, non per lilo)\n"
-
-#: ../../diskdrake.pm_.c:267
-#, c-format
-msgid "Level %s\n"
-msgstr "Livello %s\n"
-
-#: ../../diskdrake.pm_.c:268
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Dimensione del blocco %s\n"
-
-#: ../../diskdrake.pm_.c:269
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "Dischi RAID %s\n"
-
-#: ../../diskdrake.pm_.c:271
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Nome file di loopback: %s"
-
-#: ../../diskdrake.pm_.c:274
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition, you should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Molto probabilmente questa partizione \n"
-"una partizione Driver, meglio\n"
-"non toccarla.\n"
-
-#: ../../diskdrake.pm_.c:277
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-msgstr ""
-"\n"
-"Questa speciale partizione di boot\n"
-"viene utilizzata per effettuare\n"
-"il dual-boot del tuo sistema.\n"
-
-#: ../../diskdrake.pm_.c:294
-msgid "Please click on a partition"
-msgstr "Per favore clicca su una partizione"
-
-#: ../../diskdrake.pm_.c:299
-#, c-format
-msgid "Size: %s\n"
-msgstr "Dimensione: %s\n"
-
-#: ../../diskdrake.pm_.c:300
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometria: %s cilindri, %s testine, %s settori\n"
-
-#: ../../diskdrake.pm_.c:302
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "Dischi LVM %s\n"
-
-#: ../../diskdrake.pm_.c:303
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Tipo tabella delle partizioni: %s\n"
-
-#: ../../diskdrake.pm_.c:304
-#, c-format
-msgid "on bus %d id %d\n"
-msgstr "su bus %d id %d\n"
-
-#: ../../diskdrake.pm_.c:320
-msgid "Mount"
-msgstr "Esegui mount"
-
-#: ../../diskdrake.pm_.c:322
-msgid "Active"
-msgstr "Attivo"
-
-#: ../../diskdrake.pm_.c:324
-msgid "Add to RAID"
-msgstr "Aggiungi a RAID"
-
-#: ../../diskdrake.pm_.c:326
-msgid "Remove from RAID"
-msgstr "Rimuovi da RAID"
-
-#: ../../diskdrake.pm_.c:328
-msgid "Modify RAID"
-msgstr "Modifica RAID"
-
-#: ../../diskdrake.pm_.c:330
-msgid "Add to LVM"
-msgstr "Aggiungi a LVM"
-
-#: ../../diskdrake.pm_.c:332
-msgid "Remove from LVM"
-msgstr "Rimuovi da LVM"
-
-#: ../../diskdrake.pm_.c:334
-msgid "Use for loopback"
-msgstr "Usa per loopback"
-
-#: ../../diskdrake.pm_.c:341
-msgid "Choose action"
-msgstr "Scegli un'azione"
-
-#: ../../diskdrake.pm_.c:435
-msgid ""
-"Sorry I won't accept to create /boot so far onto the drive (on a cylinder > "
-"1024).\n"
-"Either you use LILO and it won't work, or you don't use LILO and you don't "
-"need /boot"
-msgstr ""
-"Spiacente ma non accetter di creare /boot cos avanti sul drive (su un "
-"cilindro > 1024).\n"
-"Nel caso tu usassi LILO non funzionerebbe, o se non usassi LILO non ti "
-"servirebbe /boot"
-
-#: ../../diskdrake.pm_.c:439
-msgid ""
-"The partition you've selected to add as root (/) is physically located "
-"beyond\n"
-"the 1024th cylinder of the hard drive, and you have no /boot partition.\n"
-"If you plan to use the LILO boot manager, be careful to add a /boot partition"
-msgstr ""
-"La partizione che hai scelto di aggiungere come root (/) si trova\n"
-"fisicamente oltre il 1024esimo cilindro del disco fisso, e non hai una\n"
-"partizione /boot. Se hai intenzione di usare LILO come boot manager, "
-"accertati di creare una partizione /boot"
-
-#: ../../diskdrake.pm_.c:445
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"So be careful to add a /boot partition"
-msgstr ""
-"Hai selezionato una partizione RAID software come root (/).\n"
-"Nessun bootloader pu gestirla senza una partizione /boot.\n"
-"Perci accertati di aggiungere una partizione /boot."
-
-#: ../../diskdrake.pm_.c:462 ../../diskdrake.pm_.c:464
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Usa ''%s'' invece"
-
-#: ../../diskdrake.pm_.c:468
-msgid "Use ``Unmount'' first"
-msgstr "Prima usa ''Unmount''"
-
-#: ../../diskdrake.pm_.c:469 ../../diskdrake.pm_.c:513
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr ""
-"Dopo aver cambiato tipo di partizione %s, tutti i dati su questa partizione "
-"saranno persi"
-
-#: ../../diskdrake.pm_.c:481
-msgid "Continue anyway?"
-msgstr "Continuo comunque?"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without saving"
-msgstr "Esci senza salvare"
-
-#: ../../diskdrake.pm_.c:486
-msgid "Quit without writing the partition table?"
-msgstr "Esci senza scrivere la tabella delle partizioni?"
-
-#: ../../diskdrake.pm_.c:516
-msgid "Change partition type"
-msgstr "Cambia il tipo di partizione"
-
-#: ../../diskdrake.pm_.c:517
-msgid "Which filesystem do you want?"
-msgstr "Quale filesystem vuoi?"
-
-#: ../../diskdrake.pm_.c:520 ../../diskdrake.pm_.c:780
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Non puoi usare ReiserFS per partizioni pi piccole di 32MB"
-
-#: ../../diskdrake.pm_.c:537
-#, c-format
-msgid "Where do you want to mount loopback file %s?"
-msgstr "Dove vuoi fare il mount del file loopback %s?"
-
-#: ../../diskdrake.pm_.c:538
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Dove vuoi fare il mount del dispositivo %s?"
-
-#: ../../diskdrake.pm_.c:542
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
-msgstr ""
-"Non puoi deselezionare punti di mount perch questa partizione usata\n"
-"per il loopback. Prima rimuovi il loopback"
-
-#: ../../diskdrake.pm_.c:561
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"Dopo aver formattato la partizione %s, tutti i dati su questa partizione "
-"saranno persi"
-
-#: ../../diskdrake.pm_.c:563
-msgid "Formatting"
-msgstr "Formattazione"
-
-#: ../../diskdrake.pm_.c:564
-#, c-format
-msgid "Formatting loopback file %s"
-msgstr "Formattazione file di loopback %s"
-
-#: ../../diskdrake.pm_.c:565 ../../install_steps_interactive.pm_.c:430
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Formattazione partizione %s"
-
-#: ../../diskdrake.pm_.c:570
-msgid "After formatting all partitions,"
-msgstr "Dopo la formattazione di tutte le partizioni,"
-
-#: ../../diskdrake.pm_.c:570
-msgid "all data on these partitions will be lost"
-msgstr "tutti i dati su queste partizioni saranna persi"
-
-#: ../../diskdrake.pm_.c:576
-msgid "Move"
-msgstr "Sposta"
-
-#: ../../diskdrake.pm_.c:577
-msgid "Which disk do you want to move it to?"
-msgstr "Su quale disco vuoi spostarlo?"
-
-#: ../../diskdrake.pm_.c:578
-msgid "Sector"
-msgstr "Settore"
-
-#: ../../diskdrake.pm_.c:579
-msgid "Which sector do you want to move it to?"
-msgstr "Su che settore vuoi spostarlo?"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving"
-msgstr "Spostamento"
-
-#: ../../diskdrake.pm_.c:582
-msgid "Moving partition..."
-msgstr "Spostamento partizione..."
-
-#: ../../diskdrake.pm_.c:592
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr ""
-"La tabella delle partizioni del disco %s sta per essere scritta su disco!"
-
-#: ../../diskdrake.pm_.c:594
-msgid "You'll need to reboot before the modification can take place"
-msgstr ""
-"Sar necessario riavviare il sistema prima che le modifiche diventino "
-"effettive!"
-
-#: ../../diskdrake.pm_.c:615
-msgid "Computing FAT filesystem bounds"
-msgstr "Calcolo dei vincoli del filesystem FAT"
-
-#: ../../diskdrake.pm_.c:615 ../../diskdrake.pm_.c:680
-#: ../../install_interactive.pm_.c:107
-msgid "Resizing"
-msgstr "Ridimensionamento"
-
-#: ../../diskdrake.pm_.c:643
-msgid "This partition is not resizeable"
-msgstr "Questa partizione non ridimensionabile"
-
-#: ../../diskdrake.pm_.c:648
-msgid "All data on this partition should be backed-up"
-msgstr "Dovresti eseguire il backup di tutti i dati su questa partizione"
-
-#: ../../diskdrake.pm_.c:650
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr ""
-"Dopo aver ridimensionato la partizione %s, tutti i dati su questa partizione "
-"saranno persi"
-
-#: ../../diskdrake.pm_.c:660
-msgid "Choose the new size"
-msgstr "Scegli la nuova dimensione"
-
-#: ../../diskdrake.pm_.c:660 ../../install_steps_graphical.pm_.c:287
-#: ../../install_steps_graphical.pm_.c:334
-msgid "MB"
-msgstr "Mb"
-
-#: ../../diskdrake.pm_.c:714
-msgid "Create a new partition"
-msgstr "Crea una nuova partizione"
-
-#: ../../diskdrake.pm_.c:740
-msgid "Start sector: "
-msgstr "Settore iniziale: "
-
-#: ../../diskdrake.pm_.c:744 ../../diskdrake.pm_.c:819
-msgid "Size in MB: "
-msgstr "Dimensione in Mb: "
-
-#: ../../diskdrake.pm_.c:747 ../../diskdrake.pm_.c:822
-msgid "Filesystem type: "
-msgstr "Tipo di filesystem: "
-
-#: ../../diskdrake.pm_.c:750
-msgid "Preference: "
-msgstr "Preferenza: "
-
-#: ../../diskdrake.pm_.c:798
-msgid "This partition can't be used for loopback"
-msgstr "Questa partizione non pu essere usata per il loopback"
-
-#: ../../diskdrake.pm_.c:808
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../diskdrake.pm_.c:818
-msgid "Loopback file name: "
-msgstr "Nome file loopback: "
-
-#: ../../diskdrake.pm_.c:844
-msgid "File already used by another loopback, choose another one"
-msgstr "File gi usato da un altro loopback, selezionane uno diverso"
-
-#: ../../diskdrake.pm_.c:845
-msgid "File already exists. Use it?"
-msgstr "Il file esiste gi. Lo uso?"
-
-#: ../../diskdrake.pm_.c:867 ../../diskdrake.pm_.c:883
-msgid "Select file"
-msgstr "Scegli file"
-
-#: ../../diskdrake.pm_.c:876
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"La copia di sicurezza della tabella delle partizioni non ha la stessa\n"
-"dimensione. Continuo comunque?"
-
-#: ../../diskdrake.pm_.c:884
-msgid "Warning"
-msgstr "Attenzione"
-
-#: ../../diskdrake.pm_.c:885
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Inserisci un floppy nel drive\n"
-"Tutti i dati su questo floppy saranno persi"
-
-#: ../../diskdrake.pm_.c:896
-msgid "Trying to rescue partition table"
-msgstr "Provo a recuperare la tabella delle partizioni"
-
-#: ../../diskdrake.pm_.c:905
-msgid "device"
-msgstr "dispositivo"
-
-#: ../../diskdrake.pm_.c:906
-msgid "level"
-msgstr "livello"
-
-#: ../../diskdrake.pm_.c:907
-msgid "chunk size"
-msgstr "dimensione del blocco"
-
-#: ../../diskdrake.pm_.c:919
-msgid "Choose an existing RAID to add to"
-msgstr "Scegli un RAID esistente a cui effettuare l'aggiunta"
-
-#: ../../diskdrake.pm_.c:920 ../../diskdrake.pm_.c:946
-msgid "new"
-msgstr "nuovo"
-
-#: ../../diskdrake.pm_.c:944
-msgid "Choose an existing LVM to add to"
-msgstr "Scegli un LVM esistente a cui effettuare l'aggiunta"
-
-#: ../../diskdrake.pm_.c:949
-msgid "LVM name?"
-msgstr "Nome LVM?"
-
-#: ../../diskdrake.pm_.c:976
-msgid "Removable media automounting"
-msgstr "Automounting di media rimovibili"
-
-#: ../../diskdrake.pm_.c:977
-msgid "Rescue partition table"
-msgstr "Recupera tabella delle partizioni"
-
-#: ../../diskdrake.pm_.c:979
-msgid "Reload"
-msgstr "Ricarica"
-
-#: ../../fs.pm_.c:88 ../../fs.pm_.c:95 ../../fs.pm_.c:101 ../../fs.pm_.c:107
-#: ../../fs.pm_.c:113
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formattazione di %s fallita"
-
-#: ../../fs.pm_.c:143
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "Non so come formattare %s in tipo %s"
-
-#: ../../fs.pm_.c:230
-msgid "mount failed: "
-msgstr "mount fallito: "
-
-#: ../../fs.pm_.c:242
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "errore in fase di unmount di %s: %s"
-
-#: ../../fsedit.pm_.c:21
-msgid "simple"
-msgstr "semplice"
-
-#: ../../fsedit.pm_.c:30
-msgid "server"
-msgstr "server"
-
-#: ../../fsedit.pm_.c:262
-msgid "Mount points must begin with a leading /"
-msgstr "I punti di mount devono iniziare con /"
-
-#: ../../fsedit.pm_.c:265
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "C' gi una partizione con il punto di mount %s\n"
-
-#: ../../fsedit.pm_.c:273
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Mount circolari %s\n"
-
-#: ../../fsedit.pm_.c:285
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "Non puoi usare un Volume Logico LVM per il punto di mount %s"
-
-#: ../../fsedit.pm_.c:286
-msgid "This directory should remain within the root filesystem"
-msgstr "Questa directory dovrebbe rimanere all'interno del filesystem root"
-
-#: ../../fsedit.pm_.c:287
-msgid "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-msgstr " un vero filesystem (ext2, reiserfs) per questa punto di mount\n"
-
-#: ../../fsedit.pm_.c:369
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Errore aprendo %s in scrittura: %s"
-
-#: ../../fsedit.pm_.c:453
-msgid ""
-"An error has occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Si verificato un errore - non stato trovata alcuna unit valida su cui "
-"creare nuovi filesystem. Per favore controlla il tuo hardware per stabilire "
-"la causa di questo problema"
-
-#: ../../fsedit.pm_.c:467
-msgid "You don't have any partitions!"
-msgstr "Non hai alcuna partizione!"
-
-#: ../../help.pm_.c:9
-msgid ""
-"Please choose your preferred language for installation and system usage."
-msgstr ""
-"Seleziona la lingua desiderata per l'installazione e l'uso del sistema."
-
-#: ../../help.pm_.c:12
-msgid ""
-"You need to accept the terms of the above license to continue installation.\n"
-"\n"
-"\n"
-"Please click on \"Accept\" if you agree with its terms.\n"
-"\n"
-"\n"
-"Please click on \"Refuse\" if you disagree with its terms. Installation will "
-"end without modifying your current\n"
-"configuration."
-msgstr ""
-"Devi accettare i termini della licenza qui sopra per continuare "
-"l'installazione.\n"
-"\n"
-"\n"
-"Per favore clicca su \"Accetta\" se sei d'accordo con i suoi termini.\n"
-"\n"
-"\n"
-"Per favore clicca su \"Rifiuta\" se non sei d'accordo con i suoi termini.\n"
-"L'installazione finir senza modificare la configurazione corrente."
-
-#: ../../help.pm_.c:22
-msgid "Choose the layout corresponding to your keyboard from the list above"
-msgstr "Scegli l'impostazione della tua tastiera dalla lista qui sopra"
-
-#: ../../help.pm_.c:25
-msgid ""
-"If you wish other languages (than the one you choose at\n"
-"beginning of installation) will be available after installation, please "
-"chose\n"
-"them in list above. If you want select all, you just need to select \"All\"."
-msgstr ""
-"Se lo desideri, altre lingue (oltre a quella da te scelto all'inizio\n"
-"dell'installazione) saranno disponibili dopo l'installazione, per favore\n"
-"sceglile dalla lista qui sopra. Se vuoi sceglierle tutte, devi solo\n"
-"selezionare \"Tutte\"."
-
-#: ../../help.pm_.c:30
-msgid ""
-"Please choose \"Install\" if there are no previous version of Linux-"
-"Mandrake\n"
-"installed or if you wish to use several operating systems.\n"
-"\n"
-"\n"
-"Please choose \"Update\" if you wish to update an already installed version "
-"of Linux-Mandrake.\n"
-"\n"
-"\n"
-"Depend of your knowledge in GNU/Linux, you can choose one of the following "
-"levels to install or update your\n"
-"Linux-Mandrake operating system:\n"
-"\n"
-"\t* Recommended: if you have never installed a GNU/Linux operating system "
-"choose this. Installation will be\n"
-"\t be very easy and you will be asked only on few questions.\n"
-"\n"
-"\n"
-"\t* Customized: if you are familiar enough with GNU/Linux, you may choose "
-"the primary usage (workstation, server,\n"
-"\t development) of your system. You will need to answer to more questions "
-"than in \"Recommended\" installation\n"
-"\t class, so you need to know how GNU/Linux works to choose this "
-"installation class.\n"
-"\n"
-"\n"
-"\t* Expert: if you have a good knowledge in GNU/Linux, you can choose this "
-"installation class. As in \"Customized\"\n"
-"\t installation class, you will be able to choose the primary usage "
-"(workstation, server, development). Be very\n"
-"\t careful before choose this installation class. You will be able to "
-"perform a higly customized installation.\n"
-"\t Answer to some questions can be very difficult if you haven't a good "
-"knowledge in GNU/Linux. So, don't choose\n"
-"\t this installation class unless you know what you are doing."
-msgstr ""
-"Per favore scegli \"Installa\" se non hai una precedente versione di Linux-"
-"Mandrake\n"
-"installata o se vuoi usare pi sistemi operativi.\n"
-"\n"
-"\n"
-"Per favore scegli \"Aggiorna\" se desideri aggiornare una versione di Linux-"
-"Mandrake gi installata.\n"
-"\n"
-"\n"
-"In base alla tua conoscenza di GNU/Linux, puoi scegliere uno dei seguenti "
-"livelli per installare o aggiornare\n"
-"il tuo sistema operativo Linux-Mandrake:\n"
-"\t* Raccomandata: se non hai mai installato il sitema operativo GNU/Linux "
-"scegli questa. L'installazione\n"
-"\t sar molto semplice e ti verranno poste solo poche domande.\n"
-"\n"
-"\n"
-"\t* Personalizzata: se hai abbastanza familiarit con GNU/Linux, puoi "
-"scegliere l'uso primario (workstation, server,\n"
-"\t sviluppo) del tuo sistema. Dovrai rispondere a pi domande che nella "
-"classe d'installazione \"Raccomandata\",\n"
-"\t perci devi sapere come funziona GNU/linux per scegliere questa classe "
-"d'installazione.\n"
-"\n"
-"\n"
-"\t* Esperto: se hai una buona conoscenza di GNU/Linux, puoi scegliere questa "
-"classe d'installazione. Come nella classe d'installazione\n"
-"\t \"Personalizzata\", potrai scegliere l'uso primario (workstation, "
-"server, sviluppo). Stai molto attento prima di selezionare questa classe\n"
-"\t d'installazione. Sarai in grado di effettuare una installazione "
-"altamente personalizzata.\n"
-"\t Rispondere ad alcune domande pu essere molto difficile se non hai una "
-"buona conoscenza di GNU/Linux. Quindi non scegliere questa classe\n"
-"\t d'installazione se non sai cosa stai facendo."
-
-#: ../../help.pm_.c:56
-msgid ""
-"Select:\n"
-"\n"
-" - Customized: If you are familiar enough with GNU/Linux, you may then "
-"choose\n"
-" the primary usage for your machine. See below for details.\n"
-"\n"
-"\n"
-" - Expert: This supposes that you are fluent with GNU/Linux and want to\n"
-" perform a highly customized installation. As for a \"Customized\"\n"
-" installation class, you will be able to select the usage for your "
-"system.\n"
-" But please, please, DO NOT CHOOSE THIS UNLESS YOU KNOW WHAT YOU ARE "
-"DOING!"
-msgstr ""
-"Seleziona:\n"
-"\n"
-"\n"
-" - Personalizzata: sei hai familiarit con GNU/Linux, sarai in grado di \n"
-"scegliere l'utilizzo normale del tuo computer. Vedi pi avanti per \n"
-"ulteriori dettagli.\n"
-"\n"
-"\n"
-" - Esperto: se conosci bene GNU/Linux e vuoi effettuare una installazione\n"
-"altamente personalizzata, questa classe d'installazione per te. Sarai in\n"
-"grado di scegliere l'utilizzo del tuo sistema installato come per \n"
-"\"Personalizzata\"."
-
-#: ../../help.pm_.c:68
-msgid ""
-"You must now define your machine usage. Choices are:\n"
-"\n"
-"\t* Workstation: this the ideal choice if you intend to use your machine "
-"primarily for everyday use, at office or\n"
-"\t at home.\n"
-"\n"
-"\n"
-"\t* Development: if you intend to use your machine primarily for software "
-"development, it is the good choice. You\n"
-"\t will then have a complete collection of software installed in order to "
-"compile, debug and format source code,\n"
-"\t or create software packages.\n"
-"\n"
-"\n"
-"\t* Server: if you intend to use this machine as a server, it is the good "
-"choice. Either a file server (NFS or\n"
-"\t SMB), a print server (Unix style or Microsoft Windows style), an "
-"authentication server (NIS), a database\n"
-"\t server and so on. As such, do not expect any gimmicks (KDE, GNOME, etc.) "
-"to be installed."
-msgstr ""
-"Adesso devi indicare l'uso principale per questa macchina. Puoi scegliere "
-"tra:\n"
-"\n"
-"\t* Workstation: la scelta ideale se intendi usare questo computer "
-"principalmente per\n"
-"\t l'uso di ogni giorno, in ufficio o a casa.\n"
-"\n"
-"\n"
-"\t* Sviluppatore: se intendi usare la tua macchina soprattutto per lo "
-"sviluppo di software, questa \n"
-"\t una buona scelta. Verr installata una raccolta completa del software "
-"necessario a formattare, compilare ed effettuare\n"
-"\t il debug del tuo codice sorgente, come pure per creare pacchetti "
-"software.\n"
-"\n"
-"\n"
-"\t* Server: la scelta migliore se intendi usare questa macchina come server. "
-"Pu trattarsi di un server\n"
-"\t di file (NFS o SMB), un server di stampa (in stile Unix o Windows),\n"
-"\t un server di autentificazione (NIS), un server di database, e cos via.\n"
-"\t Trattandosi di un server, non aspettarti che vengano installati fronzoli "
-"di vario tipo (KDE, GNOME, etc.)."
-
-#: ../../help.pm_.c:84
-msgid ""
-"DrakX will attempt to look for PCI SCSI adapter(s). If DrakX\n"
-"finds an SCSI adapter and knows which driver to use, it will be "
-"automatically\n"
-"installed.\n"
-"\n"
-"\n"
-"If you have no SCSI adapter, an ISA SCSI adapter or a PCI SCSI adapter that\n"
-"DrakX doesn't recognize, you will be asked if a SCSI adapter is present in "
-"your\n"
-"system. If there is no adapter present, you can click on \"No\". If you "
-"click on\n"
-"\"Yes\", a list of drivers will be presented from which you can select your\n"
-"specific adapter.\n"
-"\n"
-"\n"
-"If you have to manually specify your adapter, DrakX will ask if you want to\n"
-"specify options for it. You should allow DrakX to probe the hardware for "
-"the\n"
-"options. This usually works well.\n"
-"\n"
-"\n"
-"If not, you will need to provide options to the driver. Please review the "
-"User\n"
-"Guide (chapter 3, section \"Collective informations on your hardware) for "
-"hints\n"
-"on retrieving this information from hardware documentation, from the\n"
-"manufacturer's Web site (if you have Internet access) or from Microsoft "
-"Windows\n"
-"(if you have it on your system)."
-msgstr ""
-"DrakX prover a cercare adattatori SCSI su schede PCI. \n"
-"Se DrakX trova un adattatore SCSI e sa quale driver usare, lo \n"
-"installer automaticamente.\n"
-"\n"
-"Se non hai adattatori SCSI, hai un adattatore SCSI su scheda ISA, o un "
-"adattatore SCSI\n"
-" su scheda PCI che DrakX non riconosce, ti verr chiesto se nel tuo sistema "
-" presente un\n"
-"adattatore SCSI. Se non ne hai, clicca su \"No\". Se clicchi su \"S\", ti\n"
-"verr proposta una lista di driver tra cui scegliere quello adatto al tuo "
-"adattatore.\n"
-"\n"
-"\n"
-"Se devi specificare manualmente il tuo adattatore, DrakX ti chieder se "
-"vuoi\n"
-"specificare delle opzioni. Dovresti lasciare che sia DrakX a ispezionare\n"
-"l'hardware per le opzioni. Di solito funziona bene.\n"
-"\n"
-"In caso contrario, dovrai fornire le opzioni per il driver.\n"
-"Consulta la Guida all'Installazione (capitolo 3., sezione \"Raccolta di "
-"informazioni sul vostro hardware\") per suggerimenti su come recuperare\n"
-"queste informazioni da Windows (se installato sul tuo sistema), dalla\n"
-"documentazione dell'hardware, o dal sito web del costruttore (se hai\n"
-"accesso a internet)."
-
-#: ../../help.pm_.c:108
-msgid ""
-"At this point, you need to choose where to install your\n"
-"Linux-Mandrake operating system on your hard drive. If it is empty or if an\n"
-"existing operating system uses all the space available on it, you need to\n"
-"partition it. Basically, partitioning a hard drive consists of logically\n"
-"dividing it to create space to install your new Linux-Mandrake system.\n"
-"\n"
-"\n"
-"Because the effects of the partitioning process are usually irreversible,\n"
-"partitioning can be intimidating and stressful if you are an inexperienced "
-"user.\n"
-"This wizard simplifies this process. Before beginning, please consult the "
-"manual\n"
-"and take your time.\n"
-"\n"
-"\n"
-"You need at least two partitions. One is for the operating system itself and "
-"the\n"
-"other is for the virtual memory (also called Swap).\n"
-"\n"
-"\n"
-"If partitions have been already defined (from a previous installation or "
-"from\n"
-"another partitioning tool), you just need choose those to use to install "
-"your\n"
-"Linux system.\n"
-"\n"
-"\n"
-"If partitions haven't been already defined, you need to create them. \n"
-"To do that, use the wizard available above. Depending of your hard drive\n"
-"configuration, several solutions can be available:\n"
-"\n"
-"\t* Use existing partition: the wizard has detected one or more existing "
-"Linux partitions on your hard drive. If\n"
-"\t you want to keep them, choose this option. \n"
-"\n"
-"\n"
-"\t* Erase entire disk: if you want delete all data and all partitions "
-"present on your hard drive and replace them by\n"
-"\t your new Linux-Mandrake system, you can choose this option. Be careful "
-"with this solution, you will not be\n"
-"\t able to revert your choice after confirmation.\n"
-"\n"
-"\n"
-"\t* Use the free space on the Windows partition: if Microsoft Windows is "
-"installed on your hard drive and takes\n"
-"\t all space available on it, you have to create free space for Linux data. "
-"To do that you can delete your\n"
-"\t Microsoft Windows partition and data (see \"Erase entire disk\" or "
-"\"Expert mode\" solutions) or resize your\n"
-"\t Microsoft Windows partition. Resizing can be performed without loss of "
-"any data. This solution is\n"
-"\t recommended if you want use both Linux-Mandrake and Microsoft Windows on "
-"same computer.\n"
-"\n"
-"\n"
-"\t Before choosing this solution, please understand that the size of your "
-"Microsoft\n"
-"\t Windows partition will be smaller than at present time. It means that "
-"you will have less free space under\n"
-"\t Microsoft Windows to store your data or install new software.\n"
-"\n"
-"\n"
-"\t* Expert mode: if you want to partition manually your hard drive, you can "
-"choose this option. Be careful before\n"
-"\t choosing this solution. It is powerful but it is very dangerous. You can "
-"lose all your data very easily. So,\n"
-"\t don't choose this solution unless you know what you are doing."
-msgstr ""
-"A questo punto devi scegliere dove installare il sistema operativo\n"
-"Linux-Mandrake sul tuo disco fisso. Se vuoto o se un sistema operativo\n"
-"preesistente usa tutto lo spazio disponibile, devi partizionarlo. \n"
-"Fondamentalmente, partizionare un disco fisso consiste nel suddividerlo\n"
-"logicamente per creare spazio per installare il tuo sistema Linux-Mandrake.\n"
-"\n"
-"\n"
-"Poich gli effetti del partizionamento sono di solito irreversibili, tale\n"
-"operazione pu intimidire ed essere stressante se sei un utente\n"
-"inesperto. Questo wizard semplifica il processo. Prima di iniziare, per\n"
-"favore consulta il manuale e prendi tutto il tempo che ti serve.\n"
-"\n"
-"\n"
-"Hai bisogno di almeno due partizioni. Una per il sistema operativo "
-"stesso,\n"
-"e l'altra per la memoria virtuale (detta anche Swap).\n"
-"\n"
-"\n"
-"Se le partizioni sono gi stata definite (per una precedente installazione\n"
-"o da un'altra utilit di partizionamento), hai solo bisogno di scegliere \n"
-"quelle da usare per installare il tuo sistema Linux.\n"
-"\n"
-"\n"
-"Se le partizioni non sono ancora state definite, devi crearle. Per farlo,\n"
-"usa il wizard disponibile sopra. Secondo la configurazione del tuo disco\n"
-"fisso, saranno disponibili diverse soluzioni:\n"
-"\n"
-"\t* Usa partizioni esistenti: il wizard ha trovato una o pi partizioni "
-"Linux esistenti sul tuo disco rigido.\n"
-"\t Se vuoi mantenerle, scegli questa opzione. \n"
-"\n"
-"\n"
-"\t* Cancella l'intero disco: se vuoi cancellare tutti i dati e tutte le "
-"partizioni presenti sul tuo disco fisso e\n"
-"\t rimpiazzarli con il tuo nuovo sistema Linux-Mandrake, puoi scegliere "
-"questa opzione. Fai attenzione nello scegliere questa\n"
-"\t soluzione, dopo la conferma non potrai tornare indietro.\n"
-"\n"
-"\n"
-"\t* Usa lo spazio libero nella partizione Windows: se Microsoft Windows "
-"installato sul tuo disco rigido e occupa\n"
-"\t tutto lo spazio disponibile, devi creare spazio libero per i dati Linux. "
-"Per farlo puoi cancellare la tua\n"
-"\t partizione Microsoft Windows e i dati (vedi \"Cancella l'intero disco\" "
-"o \"Modo Esperto\"), oppure ridimensionare\n"
-"\t la tua partizione Microsoft Windows. Il ridimensionamento pu essere "
-"effettuato evitando la perdita di dati.\n"
-"\t Questa soluzione raccomandata se vuoi usare sia Linu-Mandrake che "
-"Microsoft Windows sullo stesso computer.\n"
-"\n"
-"\n"
-"\t Prima di scegliere questa soluzione, per favore renditi conto che la "
-"dimensione della partizione Microsoft\n"
-"\t Windows sar inferiore a quella corrente. Significa che avrai meno "
-"spazio libero sotto Microsoft Windows per\n"
-"archiviare i tuoi dati o installare nuovo software.\n"
-"\n"
-"\n"
-"\t* Modo Esperto: se vuoi partizionare manualmente il tuo disco fisso, puoi "
-"scegliere questa opzione. Fai\n"
-"\t attenzione prima di scegliere questa soluzione. potente, ma molto "
-"pericolosa. puoi perdere molto\n"
-"\t facilmente tutti i tuoi dati. Quindi, non scegliere questa soluzione se "
-"non sai cosa stai facendo."
-
-#: ../../help.pm_.c:160
-msgid ""
-"At this point, you need to choose what\n"
-"partition(s) to use to install your new Linux-Mandrake system. If "
-"partitions\n"
-"have been already defined (from a previous installation of GNU/Linux or "
-"from\n"
-"another partitioning tool), you can use existing partitions. In other "
-"cases,\n"
-"hard drive partitions must be defined.\n"
-"\n"
-"\n"
-"To create partitions, you must first select a hard drive. You can select "
-"the\n"
-"disk for partitioning by clicking on \"hda\" for the first IDE drive, \"hdb"
-"\" for\n"
-"the second or \"sda\" for the first SCSI drive and so on.\n"
-"\n"
-"\n"
-"To partition the selected hard drive, you can use these options:\n"
-"\n"
-" * Clear all: this option deletes all partitions available on the selected "
-"hard drive.\n"
-"\n"
-"\n"
-" * Auto allocate: this option allows you to automatically create Ext2 and "
-"swap partitions in free space of your\n"
-" hard drive.\n"
-"\n"
-"\n"
-" * Rescue partition table: if your partition table is damaged, you can try "
-"to recover it using this option. Please\n"
-" be careful and remember that it can fail.\n"
-"\n"
-"\n"
-" * Undo: you can use this option to cancel your changes.\n"
-"\n"
-"\n"
-" * Reload: you can use this option if you wish to undo all changes and "
-"load your initial partitions table\n"
-"\n"
-"\n"
-" * Wizard: If you wish to use a wizard to partition your hard drive, you "
-"can use this option. It is recommended if\n"
-" you do not have a good knowledge in partitioning.\n"
-"\n"
-"\n"
-" * Restore from floppy: if you have saved your partition table on a floppy "
-"during a previous installation, you can\n"
-" recover it using this option.\n"
-"\n"
-"\n"
-" * Save on floppy: if you wish to save your partition table on a floppy to "
-"be able to recover it, you can use this\n"
-" option. It is strongly recommended to use this option\n"
-"\n"
-"\n"
-" * Done: when you have finished partitioning your hard drive, use this "
-"option to save your changes.\n"
-"\n"
-"\n"
-"For information, you can reach any option using the keyboard: navigate "
-"trough the partitions using Tab and Up/Down arrows.\n"
-"\n"
-"\n"
-"When a partition is selected, you can use:\n"
-"\n"
-" * Ctrl-c to create a new partition (when a empty partition is "
-"selected)\n"
-"\n"
-" * Ctrl-d to delete a partition\n"
-"\n"
-" * Ctrl-m to set the mount point\n"
-" \n"
-"\n"
-" \n"
-"If you are installing on a PPC Machine, you will want to create a small HFS "
-"'bootstrap' partition of at least 1MB for use\n"
-"by the yaboot bootloader. If you opt to make the partition a bit larger, say "
-"50MB, you may find it a useful place to store \n"
-"a spare kernel and ramdisk image for emergency boot situations."
-msgstr ""
-"A questo punto, devi scegliere quale(i) partizione(i) usare per installare\n"
-"il tuo nuovo sistema Linux-Mandrake. Se hai gi definito delle partizioni\n"
-"(per una precedente installazione di GNU/Linux o con un'altra utilit di\n"
-"partizionamento), puoi usare le partizioni esistenti. In altri casi, devono\n"
-"essere definite alcune partizioni sul disco rigido.\n"
-"\n"
-"\n"
-"Per creare partizioni, devi prima selezionare un disco fisso. Puoi "
-"selezionare\n"
-"il disco da partizionare cliccando su \"hda\" per il primo disco IDE, \"hdb"
-"\" \n"
-"per il secondo o \"sda\" per il primo disco SCSI, e cos via.\n"
-"\n"
-"\n"
-"Per partizionare il disco selezionato, puoi usare queste opzioni:\n"
-"\n"
-" * Pulisci tutto: questa opzione cancella tutte le partizioni presenti\n"
-"sul disco fisso selezionato.\n"
-"\n"
-"\n"
-" * Assegnazione automatica: questa opzione ti permette di creare in "
-"maniera automatica delle\n"
-"partizioni Ext2 e swap nello spazio libero del tuo disco rigido.\n"
-"\n"
-"\n"
-" * Recupera tabella partizioni: se la tua tabella delle partizioni "
-"danneggiata, puoi provare a recuperarla usando\n"
-" questa opzione. Fai attenzione, e ricorda che pu non funzionare.\n"
-"\n"
-"\n"
-" * Annulla: puoi usare questa opzione per cancellare le tue modifiche.\n"
-"\n"
-"\n"
-" * Ricarica: puoi usare questa opzione se desideri annullare tutte le "
-"modifiche e caricare la tabella delle partizioni iniziale\n"
-"\n"
-"\n"
-" * Wizard: se desideri usare un wizard per partizionare il tuo disco "
-"fisso, puoi utilizzare questa opzione. raccomandata se\n"
-" non sei un esperto nel partizionamento.\n"
-"\n"
-"\n"
-" * Ripristina da floppy: se hai salvato la tua tabella delle partizioni su "
-"un floppy durante una precedente installazione,\n"
-" puoi ripristinarla usando questa opzione.\n"
-"\n"
-"\n"
-" * Salva su floppy: se desideri salvare la tua tabella della partizioni su "
-"un floppy per poterla rispristinare in seguito, puoi usare\n"
-" questa opzione. fortemente raccomandato utilizzare questa opzione.\n"
-"\n"
-"\n"
-" * Fatto: quando hai finito di partizionare il tuo disco fisso, usa questa "
-"opzione per salvare le modifiche.\n"
-"\n"
-"\n"
-"Un'informazione utile, puoi raggiungere qualsiasi opzione usando la "
-"tastiera: naviga tra le partizioni utilizzando Tab e le frecce Su/Gi.\n"
-"\n"
-"\n"
-"Quando hai selezionato una partizione, puoi usare:\n"
-"\n"
-" * Ctrl-c per creare una nuova partizione (quando hai "
-"selezionato una partizione vuota)\n"
-"\n"
-" * Ctrl-d per cancellare una partizione\n"
-"\n"
-" * Ctrl-m per assegnare il punto di mount \n"
-"\n"
-" \n"
-"Se stai installando Linux su una macchina PPC, opportuno creare una "
-"piccola partizione 'bootstrap' HFS di almeno 1 Mb che verr usata\n"
-"dal bootloader yaboot. Se decidete di farla pi grande, diciamo 50 Mb, "
-"potrebbe rappresentare un utile magazzino dove stivare \n"
-"un kernel di riserva e un'immagine ramdisk per situazioni di emergenza."
-
-#: ../../help.pm_.c:224
-msgid ""
-"Above are listed the existing Linux partitions detected on\n"
-"your hard drive. You can keep choices make by the wizard, they are good for "
-"a\n"
-"common usage. If you change these choices, you must at least define a root\n"
-"partition (\"/\"). Don't choose a too little partition or you will not be "
-"able\n"
-"to install enough software. If you want store your data on a separate "
-"partition,\n"
-"you need also to choose a \"/home\" (only possible if you have more than "
-"one\n"
-"Linux partition available).\n"
-"\n"
-"\n"
-"For information, each partition is listed as follows: \"Name\", \"Capacity"
-"\".\n"
-"\n"
-"\n"
-"\"Name\" is coded as follow: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and "
-"\"sd\"\n"
-"if it is an SCSI hard drive.\n"
-"\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE "
-"hard drives:\n"
-"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\",\n"
-"\n"